Memory device with data scrubbing capability and methods
US-2024393961-A1 · Nov 28, 2024 · US
US9645752B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-9645752-B1 |
| Application number | US-201414322594-A |
| Country | US |
| Kind code | B1 |
| Filing date | Jul 2, 2014 |
| Priority date | Apr 7, 2014 |
| Publication date | May 9, 2017 |
| Grant date | May 9, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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. 2. The physical data storage device of claim 1 , wherein the notification is transmitted via a serial ATA (SATA) protocol. 3. The physical data storage device of claim 1 , wherein the notification is transmitted at least in part via a processor interrupt signal. 4. The physical data storage device of claim 1 , wherein the notification command identifies the one or more data items based at least in part on a notification criteria. 5. The physical data storage device of claim 4 , wherein the notification criteria comprises one or more identifiers associated with the one or more data items. 6. The physical data storage device of claim 5 , wherein the specific computer-executable instructions further cause the processor to enqueue the notification command. 7. The physical data storage device of claim 1 , wherein the specific computer-executable instructions further cause the processor to implement native command queuing (NCQ). 8. The physical data storage device of claim 1 , wherein the specific computer-executable instructions further cause the processor to: receive a consolidation request specifying a plurality of source identifiers and a resultant identifier; and identify data items within the data cache associated with at least one source identifier of the plurality of source identifiers and associate the data items, identified as associated with at least one source identifier of the plurality of source identifiers, with the resultant identifier. 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. 10. The computer-implemented method of claim 9 , wherein the notification is transmitted via a serial ATA (SATA) protocol. 11. The computer-implemented method of claim 9 , wherein the notification is transmitted at least in part via a processor interrupt signal. 12. The computer-implemented method of claim 9 , wherein the notification command identifies the one or more data items based at least in part on a notification criteria. 13. The computer-implemented method of claim 12 , wherein the notification criteria comprises one or more identifiers associated with the one or more data items. 14. The computer-implemented method of claim 9 further comprising enqueuing the notification command within a logical work queue of the storage system. 15. The computer-implemented method of claim 9 , wherein the storage system implements native command queuing (NCQ). 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. 17. The non-transitory computer-readable medium of claim 16 , wherein the notification is transmitted via the SATA protocol. 18. The non-transitory computer-readable medium of claim 16 , wherein the notification is transmitted at least in part via a processor interrupt signal. 19. The non-transitory computer-readable medium of claim 16 , wherein the notification command identifies the one or more data items based at least in part on a notification criteria. 20. The non-transitory computer-readable medium of claim 19 , wherein the notification criteria comprises one or more identifiers associated with the one or more data items. 21. The non-transitory computer-readable medium of claim 16 , wherein the specific computer-executable instructions further cause the controller to enqueue the notification command. 22. The non-transitory computer-readable medium of claim 16 , wherein the controller implements native command queuing (NCQ).
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Data transfer between cache memory and other subsystems, e.g. storage devices or host systems · CPC title
using clearing, invalidating or resetting means · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.