当前位置:网站首页>[nvme2.0b 10] controller shutdown and NVM subsystem shutdown

[nvme2.0b 10] controller shutdown and NVM subsystem shutdown

2022-06-22 03:19:00 BGONE

3.6Shutdown Handle

This section describes how to proceed before power failure conditions shutdown Recommended steps for handling .

3.6.1 Based on memory transfer Controller Shutdown

It is recommended that the host be powered off or shutdown Follow the steps in this section to perform the orderly operation of the controller shutdown.

The host shall perform the following operations in sequence to control the controller normal shutdown:

  1. If the controller has enable( namely CC.EN Set to “1”):
      a. Stop submitting any new... To the controller I/O Command and allow any incomplete command to complete ;
      b. If the controller implements I/O queue , Then the host should use Delete I/O Submission Queue Command to delete all I/O Submission Queue.Delete I/O Submission Queue The result of successful command completion is that any remaining outstanding commands are aborted ;
      c. If the controller implements I/O queue , Then the host should use Delete I/O Completion Queue Command to delete all I/O Completion Queue;
  2. The main engine should Shutdown Notification(CC.SHN) Field set to 01b To indicate the normal controller shutdown operation . The controller controls the system by transferring Shutdown Status(CSTS.SHST) The field is updated to 10b And will Shutdown Type(CSTS.ST) The field is cleared to “0” To instruct shutdown When the process is complete .

The host should perform the following operations in order to achieve abrupt shutdown:

  1. If the controller has enable( namely CC.EN Set to “1”), Stop submitting any new... To the controller I/O command ;
  2. The main engine should Shutdown Notification(CC.SHN) Field set to 10b To indicate that abrupt shutdown operation . The controller controls the system by transferring Shutdown Status(CSTS.SHST) The field is updated to 10b And will CSTS.ST Clear as “0” To instruct shutdown When the process is complete .

To get into D3 power state, The controller shall be followed normal shutdown Closing steps for .

It is recommended that the host wait at least Identify Controller data structure It's reported in RTD3 Entry Latency To complete the shutdown operation ; If RTD3 Entry Latency The values reported in are 0h, The host should wait at least one second . It is not recommended to pass CC.EN Field disable controller . This can lead to Controller Reset, This may affect the completion of shutdown Processing time . stay shutdown In the process , The controller may abort any command , Status code for Commands Aborted due to Power Loss Notification.

When CSTS.ST Clear as “0” when , It can safely power off the controller , also CSTS.SHST Show controller shutdown Processing completed ( No matter what CC.EN What's the value of ). stay CC.EN from “0” Turn into “1” Before , It is still safe to power off the controller . To report the controller on the controller shutdown Processing is complete ( namely CSTS.ST clear 0 And CSTS.SHST Set to 10b) After use CC.EN Start executing commands on the controller :

  • If CC.EN Set to “1”, Then the controller needs to Controller Reset(CC.EN from “1” Clear as “0”); or
  • If CC.EN Be cleared as “0”, You need to enable controller ( namely ,CC.EN from “0” Set to “1”).

The initialization sequence should then be performed on the controller .

In the controller shutdown Whether the host aborts all uncompleted commands to Admin Queue Is an implementation choice . When the controller reports shutdown When processing is complete , The only thing that should be Admin Queue The incomplete command in is Asynchronous Event Request command .

3.6.2 Based on message transmission Controller Shutdown

To start the controller shutdown, The host should use Property Set command ( Please refer to the first 6.6 section ) take Shutdown Notification (CC.SHN) Field set to :

  • 01b start-up normal shutdown operation ; or
  • 10b start-up abrupt shutdown.

Start the controller on the host shutdown after , The host can be in NVMe Transport Level disconnect , Or the host can choose to poll CSTS.SHST To determine when the controller has finished shutting down ( namely , The controller should not be in NVMe Transport Level start disconnect ). Start up shutdown Whether the host aborts all outstanding commands before is an implementation choice .

CC.EN Field is not used to turn off the controller ( namely , It is used for Controller Reset).

From the controller shutdown Start to :

  • happen Controller Level Reset; perhaps
  • If the controller is dynamic , From NVM Remove from the subsystem ,

The controller shall :

  • Only deal with Fabrics command ( See Figure 375); And
  • Ban Keep Alive timer( If the support ).

CC.EN Convert to “0” after ( namely , because Controller Level Reset), The association between host and controller shall be kept at least 2 minute . After this time , If you have not done so yet enable controller , The association may be deleted .

3.6.3NVM Subsystem Shutdown

NVM Subsystem Shutdown It means by a Controller Initiated against a Domain or NVM Subsystem All controllers in shutdown operation .

3.6.3.1 only one Domain Of NVM Subsystem NVM Subsystem Shutdown

NVM Of all controllers in the subsystem normal shutdown( namely normal NVM Subsystem Shutdown) Start by :

  • When CAP.CPS Set to 11b when , Host will value 4E726D6Ch (“Nrml”) write in NSSD.NSSC; or
  • towards Management Endpoint( see also NVM Express Management Interface Specification) issue NVMe-

MI Shutdown command , Appoint normal shutdown.

For this time normal NVM Subsystem Shutdown Of NVM Each controller in the subsystem , If :

  • CSTS.SHST Set to 00b; And
  • There are unfinished Asynchronous Event Request command ,

Then the controller shall send out before the controller is shut down Normal NVM Subsystem Shutdown event .

NVM Of all controllers in the subsystem abrupt shutdown( namely abrupt NVM Subsystem Shutdown) Start by :

  • When CAP.CPS Set to 11b when , Host will value 41627074h(“Abpt”) write in NSSD.NSSC; or
  • towards Management Endpoint( see also NVM Express Management Interface Specification) issue NVMe-MI Shutdown command , Appoint abrupt shutdown.

about normal shutdown or abrupt NVM Subsystem Shutdown, When CSTS.ST Set to “1” also CSTS.SHST instructions shutdown Processing is complete ( namely ,CSTS.SHST Set to 10b) when , stay NVM Shut down on any controller in the subsystem NVM The subsystem is secure . In the event of a NVM Subsystem Reset Before , close NVM The power supply of the subsystem is still safe .

If NVM Processing or completion within the subsystem normal or abrupt NVM Subsystem Shutdown( namely , stay NVM On all controllers in the subsystem ,CSTS.ST Set to “1” also CSTS.SHST Set to 01b or 10b), be :

  • NVM Subsystem Reset take NVM Of all controllers in the subsystem CSTS.SHST Clear to 00b; also
  • Any other type of Controller Level Reset For the NVM Subsystem Shutdown The treatment of has no effect .

3.6.3.2 Have more than one Domain Of NVM Subsystem Domain Shutdown

On this controller and all controllers in the associated domain normal NVM Subsystem Shutdown Start by : - When CAP.CPS Set to 10b when , Host will value 4E726D6Ch ("Nrml") write in NSSD.NSSC; perhaps - towards Management Endpoint( see also NVM Express Management Interface Specification) issue NVMe-MI Shutdown command , Appoint normal shutdown.

For this normal NVM subsystem shutdown Each controller in the domain of , if :

  • CSTS.SHST Clear as 00b; also
  • There are unfinished Asynchronous Event Request command ,

Then the controller shall send out before the controller is shut down Normal NVM Subsystem Shutdown event .

For this controller and all controllers in the associated domain abrupt NVM Subsystem Shutdown Start by :

  • When CAP.CPS Set to 10b when , Host will value 41627074h(“Abpt”) write in NSSD.NSSC; or
  • towards Management Endpoint( see also NVM Express Management Interface Specification) issue NVMe-MI Shutdown command , Appoint abrupt shutdown.

For... On the domain normal or abrupt NVM Subsystem Shutdown, When CSTS.ST Set to “1” also CSTS.SHST instructions shutdown Processing is complete ( namely CSTS.SHST Set to 10b) when , It is safe to power down the domain on any controller in the domain . Occurs on this domain NVM Subsystem Reset Before , Domain power down is still safe .

If you process or complete... In the domain normal or abrupt NVM Subsystem Shutdown( namely , On all controllers in the domain ,CSTS.ST Set to “1” also CSTS.SHST Set to 01b or 10b), be :

  • NVM Subsystem Reset All controllers in the domain CSTS.SHST Clear to 00b; also
  • Any other type of Controller Level Reset For the shutdown The treatment of has no effect .
原网站

版权声明
本文为[BGONE]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/173/202206220300088128.html