ZNS Parity Swapping to DRAM
US-2021374003-A1 · Dec 2, 2021 · US
US11847337B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11847337-B2 |
| Application number | US-202217860369-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 8, 2022 |
| Priority date | Apr 24, 2020 |
| Publication date | Dec 19, 2023 |
| Grant date | Dec 19, 2023 |
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.
The present disclosure generally relates to methods of operating storage devices. The storage device comprises a controller comprising first random access memory (RAM1), second random access memory (RAM2), and a storage unit divided into a plurality of zones. A first command to write data to a first zone is received, first parity data for the first command is generated in the RAM1, and the data of the first command is written to the first zone. When a second command to write data to a second zone is received, the generated first parity data is copied from the RAM1 to a parking section in the storage unit, and second parity data associated with the second zone is copied from the parking section to the RAM1. The second parity data is then updated in the RAM1 with the data of the second command and copied to the parking section.
Opening claim text (preview).
What is claimed is: 1. A storage device, comprising: a non-volatile storage unit, wherein a capacity of the non-volatile storage unit is divided into a plurality of zones, and wherein the non-volatile storage unit comprises a plurality of dies, each of the plurality of dies comprising a plurality of erase blocks; and a controller coupled to the non-volatile storage unit, wherein the controller is configured to: receive a first write command to write data to a first zone of the plurality of zones; write the data to the first zone; generate first XOR or parity data associated with the first zone; write the first XOR or parity data to a first volatile memory; copy the first XOR or parity data to a parking location in the non-volatile storage unit; and copy the first XOR or parity data associated with the first zone to a second volatile memory distinct from the first volatile memory. 2. The storage device of claim 1 , wherein the non-volatile storage unit comprises one or more erase blocks within the first zone. 3. The storage device of claim 1 , wherein the controller is further configured to update a current location of the first XOR or parity data within the first zone in a logical block address table. 4. The storage device of claim 1 , wherein the controller is further configured to copy second XOR or parity data associated with a second zone. 5. The storage device of claim 4 , wherein the controller is further configured to erase a first erase block of the second zone upon re-writing the second XOR or parity data from the first erase block to a second erase block. 6. The storage device of claim 4 , wherein the controller is further configured to update a logical block address table to indicate the second XOR or parity data is currently stored in a second erase block of the second zone. 7. The storage device of claim 4 , wherein first XOR or parity data associated with the first zone is stored in a first location, and updated first XOR or parity data is copied to a second location, and wherein the first location and the second location are sequential. 8. A storage device, comprising: a non-volatile storage unit, wherein a capacity of the non-volatile storage unit is divided into a plurality of zones, and wherein the non-volatile storage unit comprises a plurality of dies, each of the plurality of dies comprising a plurality of erase blocks, and wherein the non-volatile storage unit comprises one or more dedicated data parking sections; a first volatile memory unit; and a controller coupled to the first volatile memory unit and the non-volatile storage unit, the controller comprising a second volatile memory unit, wherein the controller is configured to: receive a first write command corresponding to a first zone within a plurality of zones; generate XOR or parity data associated with the first zone, the XOR or parity data corresponding to the first write command; write data corresponding to the first write command to the first zone; write the XOR or parity data to the first volatile memory unit; copy the XOR or parity data to a parking location in the non-volatile storage unit; and copy the XOR or parity data to a first location in the second volatile memory unit. 9. The storage device of claim 8 , wherein the non-volatile storage unit is a NAND memory unit, wherein the first volatile memory unit is a SRAM unit, and wherein the second volatile memory unit is a DRAM unit. 10. The storage device of claim 8 , wherein the one or more dedicated data parking sections is a plurality of dedicated data parking sections, and wherein each dedicated data parking section is a single-level cell (SLC) die within each zone. 11. The storage device of claim 8 , wherein the one or more dedicated data parking sections is one dedicated data parking section, and wherein the one dedicated data parking section is a first zone that stores all XOR or parity data for each zone storing user data. 12. The storage device of claim 8 , wherein the controller comprises an XOR engine, the XOR engine being configured to generate and update XOR or parity data for the controller. 13. The storage device of claim 8 , wherein the controller is further configured to: simultaneously write second XOR or parity data associated with a second zone sequentially to a second location of the one or more dedicated data parking sections and write the second XOR or parity data associated with the second zone sequentially or randomly to a second location in the second volatile memory unit. 14. A storage device, comprising: a non-volatile storage unit, wherein a capacity of the non-volatile storage unit is divided into a plurality of zones, wherein the non-volatile storage unit comprises a plurality of dies, each of the plurality of dies comprising a plurality of erase blocks, and wherein the non-volatile storage unit comprises one or more dedicated data parking sections; a first volatile memory unit; and a controller coupled to the non-volatile storage unit and the first volatile memory unit, wherein the controller is configured to: receive one or more write commands associated with one or more zones of the plurality of zones; write data associated with the one or more write commands to a first zone of the plurality of zones; generate first XOR or parity data associated with the first zone; write the first XOR or parity data to the first volatile memory unit; copy the first XOR or parity data to a parking section of the one or more dedicated data parking sections in the non-volatile storage unit; copy the first XOR or parity data to a second volatile memory unit distinct from the first volatile memory unit; update previously generated XOR or parity data for each of the one or more write commands; and copy the updated previously generated XOR or parity data for each of the one or more write commands to the one or more dedicated data parking sections sequentially. 15. The storage device of claim 14 , wherein the one or more dedicated data parking sections comprises single-level cell (SLC) parking locations. 16. The storage device of claim 14 , wherein the one or more dedicated data parking sections is a first zone that stores all XOR or parity data for each zone storing user data. 17. The storage device of claim 14 , wherein the one or more dedicated data parking sections is a plurality of dedicated data parking sections, and wherein each dedicated data parking section is one or more SLC erase blocks within each zone. 18. The storage device of claim 14 , wherein the first volatile memory unit is an SRAM unit. 19. The storage device of claim 14 , wherein the controller is further configured to generate the first XOR or parity data associated with a first zone while simultaneously writing second XOR or parity data associated with a second zone to the one or more dedicated data parking sections. 20. The storage device of claim 14 , wherein the controller is further configured to update the first XOR or parity data associated with a first zone when a first command to write data to the first zone is received, and simultaneously, write the data associated with the first command to the first zone.
Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket · CPC title
Management of blocks · CPC title
Improving the reliability of storage systems · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Logical and Boolean instructions, e.g. XOR, NOT · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.