Memory system and method for delta writes

US9904472B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9904472-B2
Application numberUS-201514664127-A
CountryUS
Kind codeB2
Filing dateMar 20, 2015
Priority dateJan 30, 2015
Publication dateFeb 27, 2018
Grant dateFeb 27, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A memory system and method for delta writes are provided. In one embodiment, a memory system receives a request to store data in the memory and determines whether the data requested to be stored in the memory is a modified version of data already stored in the memory. If it is, the memory system compares the data requested to be stored in the memory with the data already stored in the memory to identify differences between the data to be stored and the data already stored. The memory system then stores the identified differences in the memory, along with a table that maps the stored identified differences to corresponding locations in the data already stored in the memory. Other embodiments are provided.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for storing a modified version of data in a memory system, the method comprising: performing the following in a processor of a memory system, wherein the memory system comprises a memory: receiving a request to store data in the memory; determining whether the data requested to be stored in the memory is a modified version of data already stored in the memory, wherein the determining is performed by comparing only a part of the data requested to be stored with a corresponding part of data already stored in the memory; and only after determining that there is a match between the compared parts: comparing all of the data requested to be stored in the memory with the data already stored in the memory to identify differences between the data to be stored and the data already stored; and storing the identified differences in the memory. 2. The method of claim 1 , wherein the corresponding part is read and pre-stored in the memory before the request is received. 3. The method of claim 1 , wherein the corresponding part is read on-the-fly when the request is received. 4. The method of claim 1 further comprising: determining whether to store only the identified differences or to store all the data requested to be stored. 5. The method of claim 4 , wherein the determining whether to store only the identified differences is based on one or more of the following: a size of the identified differences, a number of times identified differences have been stored for the data already stored in the memory, age of the data already stored in the memory, and whether a rollback feature is implemented. 6. The method of claim 1 further comprising: collecting a set of identified differences for a plurality of sets of data already stored in the memory before storing the set of identified differences in the memory. 7. The method of claim 1 further comprising storing a time stamp with the identified differences. 8. The method of claim 1 , wherein the memory is a three-dimensional memory. 9. The method of claim 1 , wherein the memory system is embedded in a host. 10. The method of claim 1 , wherein the memory system is removably connected to a host. 11. The method of claim 1 further comprising storing a table in the memory that maps the stored identified differences to corresponding locations in the data already stored in the memory. 12. The method of claim 11 further comprising: in response a request to read the data already stored in the memory, using the table to integrate the stored identified differences with the rest of the data to return the modified version of the data. 13. The method of claim 1 , wherein all of the data requested to be stored is compared to identify the differences, whereas only part of the data requested to be stored is compared to determine whether the data requested to be stored is a modified version of data already stored. 14. A memory system comprising: a memory: and a controller in communication with the memory, wherein the controller is configured to: detect a delta write triggering event, wherein the delta write trigger event is detected by comparing only a part of data requested to be stored in the memory with a corresponding part of data previously stored in the memory; and in response to detecting the delta write triggering event: compare all of the data requested to be stored in the memory with the data previously stored in the memory to identify delta data between the data requested to be stored in the memory and the previously-stored data; and store the delta data in the memory. 15. The memory system of claim 14 , wherein the corresponding part is read and pre-stored in the memory. 16. The memory system of claim 14 , wherein the corresponding part is read on-the-fly. 17. The memory system of claim 14 , wherein the controller is further configured to determine to store only the delta data instead of all the data. 18. The memory system of claim 17 , wherein the controller is configured to determine to store the delta data instead of all the data based on one or more of the following: a size of the delta data, a number of times delta data has been stored for the previously-store data, age of the previously-stored data, and whether a rollback feature is implemented. 19. The memory system of claim 14 , wherein the controller is further configured to collect a set of delta data before storing the set in the memory. 20. The memory system of claim 14 , wherein the controller is further configured to store a time stamp with the identified differences. 21. The memory system of claim 14 , wherein the memory is a three-dimensional memory. 22. The memory system of claim 14 , wherein the memory system is embedded in a host. 23. The memory system of claim 14 , wherein the memory system is removably connected to a host. 24. The memory system of claim 14 , wherein the controller is further configured to store an entry in a delta table in the memory that integrates the delta data with the previously-stored data. 25. The memory system of claim 14 , wherein all of the data requested to be stored is compared to identify delta data, whereas only part of the data requested to be stored is compared to detect a delta write triggering event. 26. A memory system comprising: a memory; means for determining whether data to be stored in the memory is a modified version of data already stored in the memory by comparing only a part of the data to be stored in the memory with a corresponding part of data already stored in the memory; and means for, in response to determining that there is a match between the compared parts, comparing all of the data to be stored in the memory with the data already stored in the memory to identify differences between the data to be stored and the data already stored and storing the differences in the memory. 27. The memory system of claim 26 , wherein the corresponding part is read and pre-stored in the memory. 28. The memory system of claim 26 , wherein the corresponding part is read on-the-fly. 29. The memory system of claim 26 , wherein the modification storing module is further configured to determine whether to store only the differences or to store all the data requested to be stored. 30. The memory system of claim 29 , wherein the determining whether to store only the differences is based on one or more of the following: a size of the differences, a number of times differences has been stored for the data already stored in the memory, age of the data already stored in the memory, and whether a rollback feature is implemented. 31. The memory system of claim 26 , wherein the modification storing module is further configured to collect a set of differences for a plurality of sets of data already stored in the memory before storing the set in the memory. 32. The memory system of claim 26 , wherein the modification storing module is further configured to store a time stamp with the identified differences. 33. The memory system of claim 26 , wherein the memory is a three-dimensional memory. 34. The memory system of claim 26 , wherein the memory system is embedded in a host. 35. The memory system of claim 26 , wherein the memory system is removabl

Assignees

Inventors

Classifications

  • Non-volatile semiconductor memory arrays · CPC title

  • Management of files · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title

  • De-duplication techniques · CPC title

  • G06F3/0608Primary

    Saving storage space on storage systems · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9904472B2 cover?
A memory system and method for delta writes are provided. In one embodiment, a memory system receives a request to store data in the memory and determines whether the data requested to be stored in the memory is a modified version of data already stored in the memory. If it is, the memory system compares the data requested to be stored in the memory with the data already stored in the memory to…
Who is the assignee on this patent?
Sandisk Technologies Inc, Sandisk Technologies Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0608. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 27 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).