IP Library Granted Patent US 10,776,201
Granted Patent B2
US 10,776,201 · App. 16/236,094 · Granted Sep 15, 2020

Extended error correction in storage device

Inventor: David Aaron Palmer (Boise, ID)
Assignee: Micron Technology, Inc.
G06F11/1068G06F12/10G11C29/52H03M13/2906G06F2212/1044
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,776,201
App. No.
16/236,094
Granted
Sep 15, 2020
Kind
B2
Abstract

Devices and techniques for extended error correction in a storage device are described herein. A first set of data, that has a corresponding logical address and physical address, is received. A second set of data can be selected based on the logical address. Secondary error correction data can be computed from the first set of data and the second set of data. Primary error correction data can be differentiated from the secondary error correction data by being computed from the first set of data and a third set of data. The third set of data can be selected based on the physical address of the first set of data. The secondary error correction data can be written to the storage device based on the logical address.

Claims (38)

1. A memory controller for extended error correction in a storage device, the memory controller comprising:

an interface to communicate with the storage device; and

processing circuitry to:

receive a first set of data, the first set of data having a corresponding logical address and a corresponding physical address;

select a second set of data based on the logical address;

compute secondary error correction data from the first set of data and the second set of data, primary error correction data differentiated from the secondary error correction data by being computed from the first set of data and a third set of data, the third set of data selected based on the physical address; and

write, via the interface, the secondary error correction data to the storage device based on the logical address.

2. The memory controller of claim 1 , wherein the logical address has resolution of a block, the logical address being a logical block address (LBA).

3. The memory controller of claim 1 , wherein, to select the second set of data based on the logical address, the processing circuitry is arranged to randomly select a second logical address of the storage device that is not the logical address.

4. The memory controller of claim 1 , wherein, to select the second set of data based on the logical address, the processing circuitry is arranged to select an even logical address of the storage device when the logical address is even and selecting an odd logical address otherwise.

5. The memory controller of claim 1 , wherein, to select the second set of data based on the logical address, the processing circuitry is arranged to select a second logical address of the storage device that is a modulo of a write width of the storage device.

6. The memory controller of claim 1 , wherein a single parameterized formula is used for both the secondary error correction code computation and the primary error correction code computation formula.

7. The memory controller of claim 6 , wherein a parameter of the single parameterized formula specifies a density of error correction data.

8. The memory controller of claim 7 , wherein the parameter specifies a lower density of error correction data for the secondary error correction data than for the primary error correction data.

9. A method for extended error correction in a storage device, the method comprising:

receiving a first set of data, the first set of data having a corresponding logical address and a corresponding physical address;

selecting a second set of data based on the logical address;

computing secondary error correction data from the first set of data and the second set of data, primary error correction data differentiated from the secondary error correction data by being computed from the first set of data and a third set of data, the third set of data selected based on the physical address; and

writing the secondary error correction data to the storage device based on the logical address.

10. The method of claim 9 , wherein the logical address has resolution of a block, the logical address being a logical block address (LBA).

11. The method of claim 9 , wherein selecting the second set of data based on the logical address includes randomly selecting a second logical address of the storage device that is not the logical address.

12. The method of claim 9 , wherein selecting the second set of data based on the logical address includes selecting an even logical address of the storage device when the logical address is even and selecting an odd logical address otherwise.

13. The method of claim 9 , wherein selecting the second set of data based on the logical address includes selecting a second logical address of the storage device that is a modulo of a write width of the storage device.

14. The method of claim 9 , wherein a single parameterized formula is used for both the secondary error correction code computation and the primary error correction code computation formula.

15. The method of claim 14 , wherein a parameter of the single parameterized formula specifies a density of error correction data.

16. The method of claim 15 , wherein the parameter specifies a lower density of error correction data for the secondary error correction data than for the primary error correction data.

17. A machine readable medium including instructions for extended error correction in a storage device, the instructions, when executed by processing circuitry, cause the processing circuitry to perform operations comprising:

receiving a first set of data, the first set of data having a corresponding logical address and a corresponding physical address;

selecting a second set of data based on the logical address;

computing secondary error correction data from the first set of data and the second set of data, primary error correction data differentiated from the secondary error correction data by being computed from the first set of data and a third set of data, the third set of data selected based on the physical address; and

writing the secondary error correction data to the storage device based on the logical address.

18. The machine readable medium of claim 17 , wherein the logical address has resolution of a block, the logical address being a logical block address (LBA).

19. The machine readable medium of claim 17 , wherein selecting the second set of data based on the logical address includes randomly selecting a second logical address of the storage device that is not the logical address.

20. The machine readable medium of claim 17 , wherein selecting the second set of data based on the logical address includes selecting an even logical address of the storage device when the logical address is even and selecting an odd logical address otherwise.

21. The machine readable medium of claim 17 , wherein selecting the second set of data based on the logical address includes selecting a second logical address of the storage device that is a modulo of a write width of the storage device.

22. The machine readable medium of claim 17 , wherein a single parameterized formula is used for both the secondary error correction code computation and the primary error correction code computation formula.

23. The machine readable medium of claim 22 , wherein a parameter of the single parameterized formula specifies a density of error correction data.

24. The machine readable medium of claim 23 , wherein the parameter specifies a lower density of error correction data for the secondary error correction data than for the primary error correction data.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051041/0317 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050724/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2019
From: PALMER, DAVID AARON
To: MICRON TECHNOLOGY, INC.
Reel/Frame 049382/0659 →
SUPPLEMENT NO. 12 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048948/0677 →
SUPPLEMENT NO. 3 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048951/0902 →