IP Library Granted Patent US 10,691,532
Granted Patent B2
US 10,691,532 · App. 16/024,372 · Granted Jun 23, 2020

Storage drive error-correcting code-assisted scrubbing for dynamic random-access memory retention time handling

Inventor: Shu Li (Santa Clara, CA)
Assignee: ALIBABA GROUP HOLDING LIMITED
G06F11/106G06F11/1068G11C29/52H03M13/1174H03M13/152
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,691,532
App. No.
16/024,372
Granted
Jun 23, 2020
Kind
B2
Abstract

Systems, devices, and methods for providing ECC-assisted scrubbing of memory devices and error correction of memory devices. In one embodiment, a method is disclosed comprising obtaining, at a storage device, data and a first parity portion to write to a memory device, the first parity portion generated via a first encoding; encoding, at the storage device, the data with a second encoding to generate a second parity portion; aligning, by the storage device, the data, the first parity portion, and the second parity portion according to a predefined alignment scheme, the aligning generating aligned data; and writing, by the storage device, the aligned data to the memory device.

Claims (38)

1. A method comprising:

obtaining, at a storage device, data and a first parity portion to write to a memory device, the first parity portion generated via a first encoding;

encoding, at the storage device, the data with a second encoding to generate a second parity portion;

aligning, by the storage device, the data, the first parity portion, and the second parity portion according to a predefined alignment scheme, the aligning generating aligned data, the alignment scheme aligning the data into a first and second row, the first row including the first parity portion and a first segment of the data and the second row including the second parity portion and a second segment of the data; and

writing, by the storage device, the aligned data to the memory device.

2. The method of claim 1 , further comprising encoding, at the storage device, raw data using the first encoding to generate the first parity portion.

3. The method of claim 2 , the encoding the data using a first encoding comprising encoding the data using a Hamming code.

4. The method of claim 1 , the aligning the data, the first parity portion, and the second parity portion further comprising prepending the first parity portion to the first segment and prepending the second parity portion to the second segment.

5. A method comprising:

decoding, by a storage device from a memory, a memory region using a first decoding in response to a read command, the memory region comprising at least two rows of memory, the first decoding comprising using a first parity portion stored in a first row of the memory region to decode the memory region;

detecting, by the storage device, that the decoding using the first decoding failed;

decoding, by the storage device, the memory region using a second decoding to generate a codeword, the second decoding comprising using a second parity portion stored in a second row of the memory region to decode the memory region;

writing, by the storage device, the codeword to the memory; and

returning, by the storage device, the codeword to a device that issued the read command.

6. The method of claim 5 , further comprising bypassing, by the storage device, the decoding of the memory region using the first decoding if a scrubbing mode is enabled.

7. The method of claim 5 , further comprising bypassing, by the storage device, the decoding using the second decoding and the writing the codeword to memory if the decoding using the first decoding does not fail.

8. The method of claim 5 , further comprising dynamically calibrating, by the storage device, a time interval to trigger a scrubbing mode after returning the codeword.

9. A device comprising:

a processor; and

a storage medium for tangibly storing thereon program logic for execution by the processor, the stored program logic comprising:

logic, executed by the processor, for obtaining data and a first parity portion to write to a memory device, the first parity portion generated via a first encoding,

encoding the data with a second encoding to generate a second parity portion,

aligning the data, the first parity portion, and the second parity portion according to a predefined alignment scheme, the aligning generating aligned data, the alignment scheme aligning the data into a first and second row, the first row including the first parity portion and a first segment of the data and the second row including the second parity portion and a second segment of the data, and

writing the aligned data to the memory device.

10. The device of claim 9 , the stored program logic further comprising logic, executed by the processor, for encoding, at the storage device, raw data using the first encoding to generate the first parity portion.

11. The device of claim 10 , the logic for encoding the data using a first encoding comprising logic, executed by the processor, for encoding the data using a Hamming code.

12. The device of claim 9 , the logic for aligning the data, the first parity portion, and the second parity portion further comprising logic, executed by the processor, for prepending the first parity portion to the first segment and prepending the second parity portion to the second segment.

13. A device comprising:

a processor; and

a storage medium for tangibly storing thereon program logic for execution by the processor, the stored program logic comprising:

logic, executed by the processor, for decoding, from a memory, a memory region using a first decoding in response to a read command, the memory region comprising at least two rows of memory, the first decoding comprising using a first parity portion stored in a first row of the memory region to decode the memory region,

logic, executed by the processor, for detecting that the decoding using the first decoding failed,

logic, executed by the processor, for decoding the memory region using a second decoding to generate a codeword, the second decoding comprising using a second parity portion stored in a second row of the memory region to decode the memory region,

logic, executed by the processor, for writing the codeword to the memory, and

logic, executed by the processor, for returning the codeword to a device that issued the read command.

14. The device of claim 13 , the stored program logic further comprising logic, executed by the processor, for bypassing, by the storage device, the decoding of the memory region using the first decoding if a scrubbing mode is enabled.

15. The device of claim 13 , the stored program logic further comprising logic, executed by the processor, for bypassing, by the storage device, the decoding using the second decoding and the writing the codeword to memory if the decoding using the first decoding does not fail.

16. The device of claim 13 , the stored program logic further comprising logic, executed by the processor, for dynamically calibrating, by the storage device, a time interval to trigger a scrubbing mode after returning the codeword.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2018
From: LI, SHU
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 046357/0972 →
Continuity (1)
Related Publication 20200004624A1 · Jan 2, 2020