IP Library Granted Patent US 10,254,982
Granted Patent B2
US 10,254,982 · App. 15/428,745 · Granted Apr 9, 2019

System and methodology for low latency error management within a shared non-volatile memory architecture

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,254,982
App. No.
15/428,745
Granted
Apr 9, 2019
Kind
B2
Abstract

Various aspects directed towards facilitating error management within a shared non-volatile memory (NVM) architecture are disclosed. Data is stored in an NVM array, and error correction vector (ECV) information associated with the NVM array is stored in a content addressable memory (CAM). A parallel query of the NVM array and the CAM is then performed, which includes a query of the NVM array that yields a readout of the NVM array, and a query of the CAM that yields an ECV corresponding to the readout of the NVM array.

Claims (33)

1. A method, comprising:

employing a processor to execute computer executable instructions stored on a computer readable storage medium to implement the following acts:

storing data in a non-volatile memory (NVM) array;

storing error correction vector (ECV) information associated with the NVM array in a content addressable memory (CAM); and

performing a parallel query of the NVM array and the CAM, wherein the parallel query includes a query of the NVM array that yields a readout of the NVM array and a query of the CAM that yields an ECV corresponding to the readout of the NVM array and wherein the parallel query causes latencies from the readout of the NVM array and latencies associated with a construction of the ECV corresponding to the readout of the NVM array to occur in parallel.

2. The method of claim 1 , determining a range of programmability associated with each of a plurality of NVM cells within the NVM array when the plurality of NVM cells are programmed.

3. The method of claim 2 , wherein the storing of the ECV information is limited to storing information corresponding to NVM cells identified as limited-range programmable cells.

4. The method of claim 1 , wherein the CAM stores a plurality of entries respectively corresponding to the ECV information associated with individual errors in the NVM array.

5. The method of claim 4 , wherein each of the plurality of entries includes information corresponding to at least one of an offset, an error position, an error bit, or a usability flag.

6. The method of claim 4 , wherein the CAM further includes at least one entry corresponding to an error associated with the CAM.

7. The method of claim 1 , further comprising:

ascertaining a threshold overhead associated with performing the parallel query of the NVM array and the CAM; and

selecting a page size and readout granularity for the NVM array based on the threshold overhead.

8. The method of claim 7 , wherein the page size is 4000 bytes, and wherein the readout granularity is 32 bytes.

9. A system comprising:

a processing unit comprising at least one processor;

a non-volatile memory (NVM) controlled by the processing unit, the NVM configured to store data in an NVM array;

a content addressable memory (CAM) controlled by the processing unit, the CAM configured to store error correction vector (ECV) information associated with the NVM array; and

a query component controlled by the processing unit, the query component configured to perform a parallel query of the NVM array and the CAM, wherein the parallel query includes a query of the NVM array that yields a readout of the NVM array and a query of the CAM that yields an ECV corresponding to the readout of the NVM array, and wherein the parallel query causes latencies from the readout of the NVM array and latencies associated with a construction of the ECV corresponding to the readout of the NVM array to occur in parallel.

10. The system of claim 9 , wherein the processing unit comprises a plurality of processors, and wherein the NVM is a shared NVM controllable by each of the plurality of processors.

11. The system of claim 10 , wherein the shared NVM is configured to facilitate a global wear leveling across the plurality of processors.

12. The system of claim 9 , wherein the query component is configured to perform the parallel query according to the latencies from the readout of the NVM array and the latencies associated with the construction of the ECV corresponding to the readout of the NVM array.

13. The system of claim 12 , wherein the latencies associated with the construction of the ECV is less than the latencies from the readout of the NVM array, and wherein the query component is configured to schedule the parallel query so that the latencies associated with the construction of the ECV ends before the latencies from the readout of the NVM array.

14. The system of claim 9 , further comprising a cell categorizing component controlled by the processing unit, wherein the cell categorizing component is configured to determine a range of programmability associated with each of a plurality of NVM cells within the NVM array when the plurality of NVM cells are programmed, and wherein the CAM is configured to limit a storage of the ECV information to information corresponding to NVM cells identified as limited-range programmable cells.

15. The system of claim 14 , wherein the cell categorizing component is configured to determine the range of programmability based on a first threshold voltage associated with programming a cell into a high resistance state and on a second threshold voltage associated with programming a cell into a low resistance state.

16. The system of claim 14 , wherein the cell categorizing component is configured to categorize the limited-range programmable cells of the NVM array as usable cells, marginal cells, or unusable cells.

17. An apparatus, comprising:

means for storing data in a non-volatile memory (NVM) array;

means for storing error correction vector (ECV) information associated with the NVM array in a content addressable memory (CAM); and

means for performing a parallel query of the NVM array and the CAM, wherein the parallel query includes a query of the NVM array that yields a readout of the NVM array and a query of the CAM that yields an ECV corresponding to the readout of the NVM array, and wherein the parallel query causes latencies from the readout of the NVM array and latencies associated with a construction of the ECV corresponding to the readout of the NVM array to occur in parallel.

18. The apparatus of claim 17 , wherein the CAM is configured according to a compressed error vector configuration.

19. The apparatus of claim 17 , wherein the CAM is configured according to a step scan driver configuration.

20. The apparatus of claim 17 , wherein the CAM is configured according to a single shot configuration.

Assignments (10)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2017
From: FRANCA-NETO, LUIZ M.; MATEESCU, ROBERT EUGENIU
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 041217/0706 →