Write command reporting
First Claim
1. A Data Storage Device (DSD), comprising:
- at least one Non-Volatile Memory (NVM) for storing data;
a volatile memory; and
a controller configured to;
receive a write command from a host to store data in the at least one NVM;
buffer the data for the write command in the volatile memory for storage in the at least one NVM;
update a reported write command log to account for the write command as a pending write command reported as completed;
send an indication to the host reporting completion of the write command before completing storage of the data in the at least one NVM; and
wherein after power-up of the DSD, the controller is further configured to;
use the reported write command log to determine whether there are any pending write commands reported as completed before power-up of the DSD but whose data is not yet stored in the at least one NVM; and
if it is determined that there are one or more pending write commands reported as completed before power-up of the DSD but whose data is not yet stored in the at least one NVM, send a notification to the host indicating at least one pending write command reported as completed.
7 Assignments
0 Petitions
Accused Products
Abstract
In operating a Data Storage Device (DSD) in communication with a host, a reported write command log is maintained that includes entries identifying pending write commands reported as completed to the host but whose data is not yet stored in at least one Non-Volatile Memory (NVM) of the DSD. The reported write command log is maintained to persist over power cycles. A write command is received from the host to store data in the at least one NVM and the data for the write command is buffered in a volatile memory of the DSD for storage in the at least one NVM. The reported write command log is updated to account for the write command as a pending write command reported as completed, and an indication is sent to the host reporting completion of the write command before completing storage of the data in the at least one NVM.
465 Citations
29 Claims
-
1. A Data Storage Device (DSD), comprising:
-
at least one Non-Volatile Memory (NVM) for storing data; a volatile memory; and a controller configured to; receive a write command from a host to store data in the at least one NVM; buffer the data for the write command in the volatile memory for storage in the at least one NVM; update a reported write command log to account for the write command as a pending write command reported as completed; send an indication to the host reporting completion of the write command before completing storage of the data in the at least one NVM; and wherein after power-up of the DSD, the controller is further configured to; use the reported write command log to determine whether there are any pending write commands reported as completed before power-up of the DSD but whose data is not yet stored in the at least one NVM; and if it is determined that there are one or more pending write commands reported as completed before power-up of the DSD but whose data is not yet stored in the at least one NVM, send a notification to the host indicating at least one pending write command reported as completed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for operating a Data Storage Device (DSD), the method comprising:
-
receiving a write command from a host to store data in at least one Non-Volatile Memory (NVM) of the DSD; buffering the data for the write command in a volatile memory of the DSD for storage in the at least one NVM; updating a reported write command log to account for the write command as a pending write command reported as completed; sending an indication to the host reporting completion of the write command before completing storage of the data in the at least one NVM; and wherein after power-up of the DSD, the method further comprises; using the reported write command log to determine whether there are any pending write commands reported as completed before power-up of the DSD but whose data is not yet stored in the at least one NVM; and if it is determined that there are one or more pending write commands reported as completed before power-up of the DSD but whose data is not yet stored in the at least one NVM, sending a notification to the host indicating at least one pending write command reported as completed. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A non-transitory computer readable medium storing computer executable instructions for operating a Data Storage Device (DSD), wherein when the computer executable instructions are executed by a controller of the DSD, the computer executable instructions cause the controller to:
-
receive a write command from a host to store data in at least one Non-Volatile Memory (NVM) of the DSD; buffer the data for the write command in a volatile memory of the DSD for storage in the at least one NVM; update a reported write command log to account for the write command as a pending write command reported as completed; send an indication to the host reporting completion of the write command before completing storage of the data in the at least one NVM; and wherein after power-up of the DSD, the controller is further configured to; use the reported write command log to determine whether there are any pending write commands reported as completed before power-up of the DSD but whose data is not yet stored in the at least one NVM; and if it is determined that there are one or more pending write commands reported as completed before power-up of the DSD but whose data is not yet stored in the at least one NVM, send a notification to the host indicating at least one pending write command reported as completed.
-
Specification