当前位置:网站首页>【NVMe2.0b 11】NVMe Reset
【NVMe2.0b 11】NVMe Reset
2022-06-22 03:19:00 【BGONE】
NVMe Reset
3.7Resets
3.7.1NVM Subsystem Reset
3.7.1.1Single Domain NVM Subsystems
NVM Subsystem Reset The scope of depends on NVM Whether the subsystem supports multiple domains . Where multiple domains are not supported NVM In the subsystem ,NVM Subsystem Reset The scope of is the whole NVM Subsystem .
NVM Subsystem Reset Start... Under the following conditions :
- Main power supply NVM Subsystem ;
- take 4E564D65h(“NVMe”) Write the value of NSSR.NSSRC Field ;
- Use NVMe Management Interface Method requests defined in the specification ; or
- Supplier specific events occur .
When NVM Subsystem Reset occurs , Whole NVM The subsystem will be reset . This is included in the composition NVM Start on all controllers of the subsystem Controller Level Reset, Disable and constitute NVM Associated with all controllers of the subsystem Persistent Memory Region, And where applicable NVMe Any transport specific operation defined in the transport specification .
NVM Occurs when the subsystem is powered on NVM Subsystem Reset from NVM Subsystem Reset After CSTS.NSSRO Initial value report for field . The host software can use this field to determine whether the sudden loss of communication with the controller is due to NVM Subsystem Reset Or some other situation .
The host software writes NSSR.NSSRC Field to start NVM Subsystem Reset Is an optional function of the controller , from CAP.NSSRS The status of the field indicates . By not forming NVM One or more controllers of the subsystem provide this capability, Implementation can protect NVM Subsystems are protected from unintentional NVM Subsystem Reset.
Lead to NVM Subsystem Reset The occurrence of a supplier specific event is intended to allow the realization of a serious NVM Recover from subsystem internal errors , This error will prevent normal operation from continuing ( for example , Fatal hardware or firmware error ).
3.7.1.2Multiple Domain NVM Subsystems
NVM Subsystem Reset The scope of depends on NVM Whether the subsystem supports multiple domains . In support of multiple domains NVM In the subsystem ,NVM Subsystem Reset The scope of is the controller in the domain or the whole NVM Subsystem .
Start... On the domain under the following conditions NVM Subsystem Reset:
- To the domain Power supply ;
- value 4E564D65h( namely “NVMe”) Is written to one of the controllers in the domain NSSR.NSSRC Field ; or
- A vendor specific event has occurred in this domain .
When NVM Subsystem Reset occurs , The entire domain is reset . This includes starting on all controllers in the domain Controller Level Reset, Disable the Persistent Memory Region, And where applicable NVMe Any transport specific operation defined in the transport specification .
perhaps , Support for multiple domains NVM In the subsystem NVM Subsystem Reset The entire... May be reset NVM Subsystem . NVM Subsystem Reset By NVM Subsystem Reset After CSTS.NSSRO Initial value report for field . The host software can use this field to determine whether the sudden loss of communication with the controller is due to NVM Subsystem Reset Or some other situation .
The host software writes NSSR.NSSRC Field to start NVM Subsystem Reset Is an optional function of the controller , from CAP.NSSRS The status of the field indicates . Implementations can protect the domain from unintentional... By not providing this functionality to one or more controllers in the domain NVM Subsystem Reset.
3.7.2Controller Level Reset
The following method starts Controller Level Reset:
- NVM Subsystem Reset;
- Controller Reset (i.e., CC.EN from ‘1’ To ‘0’); and
- Transfer specific reset type ( Refer to the applicable NVMe Transport binding standard ), If any .
Controller Level Reset Including the following operations :
- The controller stops processing any unfinished Admin or I/O command ;
- all I/O Submission Queues Be deleted ;
- all I/O Completion Queues Be deleted ;
- The controller enters Idle state . After completion ,CSTS.RDY clear 0;
- All in the first 3.1.3 Both the controller register and the internal controller state defined in section are reset , Except for :
o For controllers that use memory based transfers :
- Admin Queue register (AQA、ASQ or ACQ) Not as Controller Reset Part of the ;
- Controller Memory Buffer Memory Space Control register (CMBMSC) Reset , But it is neither Controller Reset Neither Function Level Reset Part of ; and
- Persistent Memory Region Memory Space Control Upper register (PMRMSCU) and Persistent Memory Region Memory Space Control Lower register (PMRMSCL) Not as Controller Reset Part of the .
o For controllers that use message based transport :
No exceptions
In addition Controller Reset All but Controller Level Reset Under the circumstances ,controller The register will follow the applicable NVMe Transport binding The definition of the specification is reset .
To be in Controller Level Reset Then go on , Host should :
- Update transfer specific status and controller register status as appropriate ;
- take CC.EN Set to “1”;
- wait for CSTS.RDY Set to “1”;
- Use... As needed Admin commands Configure the controller ;
- Create... As needed I/O Completion Queues and I/O Submission Queues;
- Continue normal I/O operation .
Be careful , except Controller Reset All but Controller Level Reset Will cause the controller to lose communication with the host immediately . In these cases , The controller cannot instruct any abort or update any completion queue entries .
3.7.3Queue Level Reset
The host can be reset I/O Submission and I/O Completion Queues To reset and / Or reconfigure them . Execute by deleting and then re creating the queue queue level reset. In the process , The host should wait for all the corresponding unhandled Submission Queue(s) Completion .
To execute on a controller that uses a memory based transport model queue level reset, The host will Delete I/O Submission Queue or Delete I/O Completion Queue Submit the command to Admin Queue, Specifies the identifier of the queue to delete . After the queue delete command operation completes successfully , The host submits Create I/O Submission Queue or Create I/O Completion Queue Command to recreate the queue . As part of the create operation , The host can modify the properties of the queue . Be careful , If the I/O Completion Queue perform queue level reset, Then I/O Completion Queue Delete in use... Before resetting I/O Completion Queue Of I/O Submission Queue, And rebuilding I/O Completion Queue Then recreate I/O Submission Queue. No corresponding I/O Completion Queue Of I/O Submission Queue The behavior of is undefined . To execute on the controller using a message based transport model queue level reset, The host will Disconnect The command is sent to the... To be deleted I/O Queue. stay Disconnect After the command completes successfully , The host submits QID No 00h Of Connect Command to recreate I/O Submission Queue and I/O Completion Queue. As Connect Part of the order , The host can modify I/O Properties of the queue .
The host shall ensure the corresponding I/O Submission Queue or I/O Completion Queue Idle before deleting the queue . Submit queue deletion Command causes the controller to abort any pending commands ; This may ( May not be ) Causes completion queue entries to be issued for aborted commands .
边栏推荐
- JS special effects in the construction of animated web pages
- 【NVMe2.0b 10】Controller Shutdown 与 NVM Subsystem Shutdown
- Force buckle 142 Circular linked list II
- Redis6.0 new features (Part 2)
- Sword finger offer 58 Symmetric binary tree
- Day14QProgressBar2021-10-17
- Figure data platform solution: cluster deployment
- Operating instructions for tcp202 current probe of Tektronix oscilloscope
- 从根儿上理解虚拟内存
- 使用开源软件攒一个企业级图数据平台解决方案
猜你喜欢
随机推荐
Tag dynamic programming - preliminary knowledge for question brushing -1 Dynamic programming five part problem solving method + lt.509 Fibonacci number / Sword finger offer 10 I + lt.70. Climbing stai
libuv异步任务逻辑和uv_queue_work()
自适应批作业调度器:为 Flink 批作业自动推导并行度
背光模组的基本结构与应用
Figure data platform solution: cluster deployment
Figure database ongdb release v-1.0.2
银联支付 返回商户 Nignx post请求405
web框架概述与程序开发
Irregular layout of table label
Configuration and optimization of redis cache database
【NVMe2.0b 5】NVM Subsystem
Common string operations in day15qt 2021-10-20
【NVMe2.0b 11】NVMe Reset
[9. submatrix sum]
[microservices | Nacos] quickly realize the configuration center function of Nacos, and complete configuration update and version iteration
[5. high precision subtraction]
Use the serialize common command
Day13QMainWindow2021-09-28
你是一名技术管理者还是项目管理者?
【NVMe2.0b 8】NVMe 队列仲裁机制


![[2. merge sort]](/img/60/5e87cffabd91af0155ae681f5bf0ba.png)





