| CPC G06F 11/1435 (2013.01) [G06F 2201/805 (2013.01)] | 19 Claims | 

| 
               1. A system comprising a storage device controller, the storage device controller including: 
            a first controller to: 
                read commands from a submission queue stored in a shared memory; 
                  provide the commands to a second controller; and 
                  write completion notices received from the second controller to a completion queue in the shared memory; and 
                the second controller to: 
              receive the commands from the first controller; 
                  perform storage operations with a non-volatile memory responsively to receiving the commands; 
                  generate the completion notices responsively to performing the storage operations, 
                  provide the completion notices to the first controller; 
                  write recovery data about the commands and the completion notices to a persistent memory; and 
                  recover from a failure responsively to retrieving the recovery data from the persistent memory. 
                 |