System and method for copy on write on an SSD

US10540106B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10540106-B2
Application numberUS-201815876245-A
CountryUS
Kind codeB2
Filing dateJan 22, 2018
Priority dateFeb 25, 2015
Publication dateJan 21, 2020
Grant dateJan 21, 2020

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.

Techniques for improved copy on write functionality within an SSD are disclosed. In some embodiments, the techniques may be realized as a method for providing improved copy on write functionality within an SSD including providing, in memory of a device, an indirection data structure. The data structure may include a master entry for cloned data, the master entry having a reference to one or more indexes and a clone entry for the cloned data, the cloned entry having at least one of: a reference to a master index, a reference to a next index, and a value indicating an end of a data structure. The techniques may include traversing, using a computer processor, one or more copies of the cloned data using one or more of the references.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for improved copy on write functionality within an solid state drive comprising: determining that a clone entry for a cloned data is an only clone entry, wherein the determination comprises: determining that a reference to a next index of a cloned entry matches a reference to a master index of the cloned entry; determining that a reference to a next index of a master entry points to the clone entry; uncloning the clone entry of the cloned data by replacing the reference to the next index located in a first sub-entry with a packed logical block, and replacing the reference to the master index located in a second sub-entry with a packed logical block; and uncloning the master entry of the cloned data by replacing the reference to the next index located in a third sub-entry with a packed logical block, and replacing the reference to the master index located in a fourth sub-entry with a packed logical block, wherein each packed logical block comprises a map of logical block addresses (LBAs) to a physical address. 2. The method of claim 1 , wherein the references comprise entries in a flat indirection table for logical block addressing. 3. The method of claim 1 , wherein the references comprise entries in a tree data structure for logical block addressing. 4. The method of claim 1 , further comprising setting an indicator for one or more of the packed logical blocks located in the master entry and the cloned entry to indicate that the one or more packed logical blocks are cloned. 5. The method of claim 1 , wherein the reference to the master index of the master entry points to the master entry. 6. The method of claim 1 , wherein the reference to the master index of the cloned entry points to the master entry. 7. The method of claim 1 , wherein a reference to the next index of a last cloned entry in a data structure points to the master entry. 8. The method of claim 1 , further comprising: determining that the clone entry for the cloned data is one of a plurality of clone entries, wherein the determination comprises determining at least one of: that the reference to the next index of the cloned entry does not match the reference to the master index of the cloned entry; and that the reference to the next index of the master entry does not point to the clone entry for the cloned data; and uncloning the clone entry for the cloned data by setting a reference to a next index of a prior clone entry of the plurality of clone entries equal to the reference to the next index of the cloned entry for the cloned data. 9. The method of claim 1 , further comprising: reviewing a fifth sub-entry of the indirection data structure during a garbage collection process; determining that the fifth sub-entry contains a cloned indicator; and determining that the fifth sub-entry in the garbage collection process is a valid sub-entry not to be deleted based upon the determination that the fifth sub-entry contains the cloned indicator. 10. A computer program product embodied on a non-transitory computer readable medium, comprised of a series of instructions executable on a computer, the computer program product performing a process for providing improved copy on write functionality within an solid state drive; the computer program implementing the steps of: determining that a clone entry for a cloned data is an only clone entry, wherein the determination comprises: determining that a reference to a next index of the cloned entry matches a reference to a master index of the cloned entry; determining that a reference to a next index of a master entry points to the clone entry; uncloning the clone entry of the cloned data by replacing the reference to the next index located in a first sub-entry with a packed logical block, and replacing the reference to the master index located in a second sub-entry with a packed logical block; and uncloning the master entry of the cloned data by replacing the reference to the next index located in a third sub-entry with a packed logical block, and replacing the reference to the master index located in a fourth sub-entry with a packed logical block, wherein each packed logical block comprises a map of logical block addresses (LBAs) to a physical address. 11. A system for providing improved copy on write functionality within an solid state drive, the system comprising: a first device; wherein the first device includes stored instructions stored in memory, the instructions comprising: determining that a clone entry for a cloned data is an only clone entry, wherein the determination comprises: determining that a reference to a next index of the cloned entry matches a reference to a master index of the cloned entry; determining that a reference to a next index of a master entry points to the clone entry; uncloning the clone entry of the cloned data by replacing the reference to the next index located in a first sub-entry with a packed logical block, and replacing the reference to the master index located in a second sub-entry with a packed logical block; and uncloning the master entry of the cloned data by replacing the reference to the next index located in a third sub-entry with a packed logical block, and replacing the reference to the master index located in a fourth sub-entry with a packed logical block, wherein each packed logical block comprises a map of logical block addresses (LBAs) to a physical address. 12. The system of claim 11 , wherein the references comprise entries in a flat indirection table for logical block addressing. 13. The system of claim 11 , wherein the first device comprises a Peripheral Component Interconnect Express (PCIe) device. 14. The system of claim 11 , further comprising an instruction to set an indicator for one or more of the packed logical blocks located in the master entry and the cloned entry to indicate that the one or more packed logical blocks are cloned.

Assignees

Inventors

Classifications

  • Networked environment · CPC title

  • Performance improvement · CPC title

  • Reliability improvement, data loss prevention, degraded operation etc · CPC title

  • Replication mechanisms · CPC title

  • Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · 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 US10540106B2 cover?
Techniques for improved copy on write functionality within an SSD are disclosed. In some embodiments, the techniques may be realized as a method for providing improved copy on write functionality within an SSD including providing, in memory of a device, an indirection data structure. The data structure may include a master entry for cloned data, the master entry having a reference to one or mor…
Who is the assignee on this patent?
Western Digital Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0261. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 21 2020 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).