Identification of data committed to non-volatile memory by use of notification commands
First Claim
1. A physical data storage device comprising:
- a non-volatile memory;
a volatile memory comprising a data cache configured to store a plurality of data items awaiting commitment to the non-volatile memory; and
a processor configured with specific computer-executable instructions that, when executed by the processor, cause the processor to;
receive, from a host system, a notification command identifying one or more data items within the data cache;
determine whether the one or more data items identified by the notification command have been committed to the non-volatile memory; and
upon determining that the one or more data items identified by the notification command have been committed to the non-volatile memory, transmit a notification to the host system that the one or more data items identified by the notification command have been committed to the non-volatile memory.
8 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for utilization of notification or ordering commands are disclosed that can enable more efficient processing of flush requests from software programs and increase data consistency in storage devices. A storage device can obtain a notification command from a host system identifying one or more data items in a cache of the storage device, determine whether the one or more data items have been committed to non-volatile memory of the storage device, and transmit a notification to the host system upon determining that the one or more data items have been committed. The host system may utilize these commands to process flush requests, such that upon receiving a flush request, a notification command may be issued requesting a notification from the storage device that the relevant data has been committed. Notification commands can target or limit the scope of a flush request, such that the speed and efficiency of the flush request processed using notification commands is increased relative to a non-specific full-cache flush. Such increases in efficiency of flush requests may greatly increase the speed and efficiency of storage devices, and consequently the performance of programs utilizing such storage devices.
488 Citations
22 Claims
-
1. A physical data storage device comprising:
-
a non-volatile memory; a volatile memory comprising a data cache configured to store a plurality of data items awaiting commitment to the non-volatile memory; and a processor configured with specific computer-executable instructions that, when executed by the processor, cause the processor to; receive, from a host system, a notification command identifying one or more data items within the data cache; determine whether the one or more data items identified by the notification command have been committed to the non-volatile memory; and upon determining that the one or more data items identified by the notification command have been committed to the non-volatile memory, transmit a notification to the host system that the one or more data items identified by the notification command have been committed to the non-volatile memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer-implemented method comprising:
-
receiving, at a storage system and from a host system, a notification command identifying one or more data items within a data cache of the storage system, wherein the data cache is implemented within volatile memory; determining, at the storage system, whether the one or more data items identified by the notification command have been committed to a non-volatile memory of the storage system; and on determining that the one or more data items identified by the notification command have been committed to the non-volatile memory, transmitting a notification from the storage system to the host system that the one or more data items identified by the notification command have been committed to the non-volatile memory. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-readable medium including computer-executable instructions that, when implemented by a controller of a storage system, cause the controller to:
-
receive, from a host system, a notification command identifying one or more data items within a data cache of the storage system, wherein the data cache is implemented within volatile memory; determine whether the one or more data items identified by the notification command have been committed to a non-volatile memory of the storage system; and on determining that the one or more data items identified by the notification command have been committed to the non-volatile memory, transmit a notification to the host system that the one or more data items identified by the notification command have been committed to the non-volatile memory. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
Specification