Information processing system
US-2024248797-A1 · Jul 25, 2024 · US
US2020218605A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2020218605-A1 |
| Application number | US-201916243070-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jan 8, 2019 |
| Priority date | Jan 8, 2019 |
| Publication date | Jul 9, 2020 |
| Grant date | — |
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.
A storage device includes a storage controller, non-volatile memory, volatile memory and a communication interface configured to connect to external volatile memory of a host system. The storage controller is configured to receive data from the host system for storing in the non-volatile memory, buffer the data in the volatile memory, obtain parity data corresponding to the buffered data from an external volatile memory within the host system, compute XOR parity data for the buffered data based on the parity data and the buffered data, store the computed XOR parity data on the external volatile memory, and write the data from the host to the non-volatile memory.
Opening claim text (preview).
What is claimed is: 1 . A storage device comprising: a communication interface configured to connect to a host system; non-volatile memory; volatile memory; and a storage controller associated with the non-volatile memory, the storage controller configured to: receive data from the host system for storing in the non-volatile memory; buffer the data in the volatile memory; obtain parity data corresponding to the buffered data from an external volatile memory within the host system; compute XOR parity data for the buffered data based on the parity data and the buffered data; store the computed XOR parity data on the external volatile memory; and write the data from the host to the non-volatile memory. 2 . The storage device of claim 1 , wherein the storage device caches the computed XOR parity data only in the external volatile memory and not in internal XOR random access memory (XRAM). 3 . The storage device of claim 2 , wherein the storage device does not comprise XRAM. 4 . The storage device of claim 1 , wherein the storage device is a solid state drive. 5 . The storage device of claim 1 , wherein computing the XOR parity data comprises: computing a first set of XOR parity data for each same numbered plane page of each plane and die; and computing a second set of XOR parity data for all pages from a particular plane. 6 . The storage device of claim 1 , wherein the storage controller comprises: a first XOR engine configured to cache parity data on the external volatile memory; and a second XOR engine configured to cache parity data on the external volatile memory. 7 . The storage device of claim 6 , wherein the first XOR engine and the second XOR engine are configured to operate in parallel. 8 . The storage device of claim 7 , wherein the first XOR engine and the second XOR engine obtain parity data from the external volatile memory in parallel. 9 . The storage device of claim 8 , wherein: the first XOR engine performs an XOR calculation in a first dimension; and a second XOR engine performs an XOR calculation in a second dimension. 10 . The storage device of claim 1 , wherein the storage controller is further configured to: determine a firmware tag, a cyclic redundancy check (CRC), and an error correction code (ECC) for the computed XOR parity data stored in the external volatile memory; and store the firmware tag, CRC, and ECC in the external volatile memory in a separate buffer from the computed XOR parity data. 11 . A method of storing parity data on volatile memory external to a storage device, the method comprising: receiving data from a host system for storing in non-volatile memory of the storage device; buffering the data in internal volatile memory of the storage device; obtaining parity data corresponding to the buffered data from an external volatile memory within the host system; computing XOR parity data for the buffered data based on the parity data and the buffered data; storing the computed XOR parity data on the external volatile memory; and writing the data from the host to the non-volatile memory. 12 . The method of claim 11 , wherein the storage device caches the computed XOR parity data only in the external volatile memory and not in internal XOR random access memory (XRAM). 13 . The method of claim 12 , wherein the storage device does not comprise XRAM. 14 . The method of claim 11 , wherein the storage device is a solid state drive. 15 . The method of claim 11 , wherein computing the XOR parity data comprises: computing a first set of XOR parity data for each same numbered plane page of each plane and die; and computing a second set of XOR parity data for all pages from a particular plane. 16 . The method of claim 11 , further comprising: performing a first XOR calculation with a first XOR engine of the storage device in a first dimension; and performing a second XOR calculation with a second XOR engine of the storage device in a second dimension. 17 . The method of claim 16 , wherein the first XOR calculation and the second XOR calculation are performed in parallel. 18 . The method of claim 17 , wherein the first XOR engine and the second XOR engine are configured to obtain parity data from the external volatile memory in parallel. 19 . The method of claim 11 , further comprising: determining a firmware tag, a cyclic redundancy check (CRC), and an error correction code (ECC) for the computed XOR parity data stored in the external volatile memory; and storing the firmware tag, CRC, and ECC in the external volatile memory in a separate buffer from the computed XOR parity data. 20 . A storage device comprising: a communication means configured to connect to a host system; non-volatile memory means; volatile memory means; and processing means associated with the non-volatile memory, the processing means configured to: receive data from the host system for storing in the non-volatile memory means; buffer the data in the volatile memory means; obtain parity data corresponding to the buffered data from an external volatile memory within the host system; compute XOR parity data for the buffered data based on the parity data and the buffered data; store the computed XOR parity data on the external volatile memory; and write the data from the host to the external non-volatile memory.
Parity data distribution in semiconductor storages, e.g. in SSD · CPC title
Protection of memory contents; Detection of errors in memory contents · CPC title
Online error correction · CPC title
in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence) · CPC title
to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.