Data Parking for SSDs with Streams
US-2021333996-A1 · Oct 28, 2021 · US
US11409459B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11409459-B2 |
| Application number | US-202016858345-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 24, 2020 |
| Priority date | Apr 24, 2020 |
| Publication date | Aug 9, 2022 |
| Grant date | Aug 9, 2022 |
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; 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 a first write command to write data to a first zone of the plurality of zones; copy first XOR or parity data associated with the first zone from a first data parking section in the non-volatile storage unit to the first volatile memory unit; update the first XOR or parity data associated with the first zone with new XOR or parity data associated with the first write command in the first volatile memory unit; and copy the updated first XOR or parity data associated with the first zone from the first volatile memory unit to the first data parking section in the non-volatile storage unit. 2. The storage device of claim 1 , wherein the first data parking section in 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 updated 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 from a first erase block in the second zone to a second erase block in the second zone, wherein a second data parking section in the non-volatile storage unit comprises the first erase block and the second erase block of the second zone. 5. The storage device of claim 4 , wherein the controller is further configured to erase the first erase block of the second zone upon re-writing the second XOR or parity data from the first erase block to the 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 the second erase block of the second zone. 7. The storage device of claim 4 , wherein the first XOR or parity data associated with the first zone is stored in a first location of the first data parking section, and the updated first XOR or parity data is copied to a second location in the first data parking section, 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; copy the XOR or parity data to a first location in the one or more dedicated data parking sections; 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; generate XOR or parity data associated with the one or more zones for each of the one or more write commands in the first volatile memory unit; copy the XOR or parity data associated with the one or more zones from the first volatile memory unit to the one or more dedicated data parking sections sequentially; copy previously generated XOR or parity data associated with the one or more zones from the one or more dedicated data parking sections to the first volatile memory unit when one or more additional write commands are received to write data to the one or more zones; update the previously generated XOR or parity data for each of the one or more additional write commands in the first volatile memory unit; and copy the updated previously generated XOR or parity data for each of the one or more additional 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 , further comprising a second volatile memory unit, wherein the first volatile memory unit is an SRAM unit, and wherein the second volatile memory unit is a DRAM unit. 19. The storage device of claim 14 , wherein the controller is further configured to generate 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.
Parity data distribution in semiconductor storages, e.g. in SSD · CPC title
Improving the reliability of storage systems · CPC title
Logical and Boolean instructions, e.g. XOR, NOT · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Management of blocks · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.