IP Library Granted Patent US 7,870,471
Granted Patent B2
US 7,870,471 · App. 11/669,917 · Granted Jan 11, 2011

Methods and apparatus for employing redundant arrays to configure non-volatile memory

Assignee: SanDisk 3D LLC
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 7,870,471
App. No.
11/669,917
Granted
Jan 11, 2011
Kind
B2
Abstract

Systems, methods and apparatus are disclosed for employing redundant arrays to configure non-volatile memory. The present invention may include a substrate including a plurality of memory arrays, wherein the memory arrays include a data array and at least three redundant configuration arrays. The configuration arrays may each be adapted to be programmed with identical configuration information associated with operation of the data array. Majority voting logic with an output coupled to configuration inputs of the data array and inputs coupled to each of the redundant configuration arrays may be employed. The majority voting logic may be adapted to determine a configuration for the data array based upon an outcome of a majority vote function applied to the configuration information stored in the configuration arrays. Numerous other aspects are disclosed.

Claims (45)

1. A method of configuring a memory device that includes a substrate, a plurality of latches disposed on the substrate, at least three redundant configuration arrays disposed on different substrates, and a data array disposed on the substrate, the method comprising:

loading configuration information into the plurality of latches;

programming the at least three redundant configuration arrays on the different substrates using the configuration information in the latches;

reading the programmed configuration information from each of the at least three redundant configuration arrays; and

using dissent detection logic to identify an inconsistency between the programmed configuration information,

wherein the data array is adapted to be configured in accordance with the configuration information programmed into the configuration arrays.

2. The method of claim 1 wherein the data array includes support logic and the method includes configuring the support logic based on the configuration information in the configuration arrays.

3. The method of claim 1 wherein the data array is further adapted to be configured in accordance with an outcome of a function applied to each instance of the configuration information programmed into the configuration arrays.

4. The method of claim 3 wherein the function applied to each instance of the configuration information is a majority vote function.

5. The method of claim 1 , wherein programming comprises programming the at least three redundant configuration arrays identically using the configuration information in the latches.

6. The method of claim 1 , further comprising using majority voting logic to select a value of the programmed configuration information based on a most frequently occurring value of the programmed configuration information.

7. A method of configuring a memory device that includes a substrate, a plurality of latches disposed on the substrate, a plurality of configuration arrays disposed on different substrates, and a data array disposed on the substrate, the method comprising:

reading nominally redundant configuration information from each of the plurality of configuration arrays on the different substrates;

selecting configuration information from among the nominally redundant configuration information based upon a selection function;

using dissent detection logic to identify an inconsistency between the configuration information in the configuration arrays; and

configuring the data array associated with the nominally redundant configuration information using the selected configuration information.

8. The method of claim 7 wherein the selection function includes a majority vote function.

9. The method of claim 7 wherein the selection function is expressed as F(A,B,C)=A·B+B·C+A·C wherein A represents nominally redundant configuration information from a first configuration array, B represents nominally redundant configuration information from a second configuration array, and C represents nominally redundant configuration information from a third configuration array.

10. The method of claim 7 wherein the selection function is expressed as F(A,B,C, D, E)=A·B+B·C+C·D+D·E+A·C+A·D+A·E+B·D+B·E+C·E wherein A represents nominally redundant configuration information from a first configuration array, B represents nominally redundant configuration information from a second configuration array, C represents nominally redundant configuration information from a third configuration array, D represents nominally redundant configuration information from a fourth configuration array, and E represents nominally redundant configuration information from a fifth configuration array.

11. A method of configuring a memory device that includes a substrate, a plurality of latches disposed on the substrate, at least three redundant configuration arrays disposed on different substrates, and a data array disposed on the substrate, the method comprising:

programming the at least three redundant configuration arrays on the different substrates based on configuration information;

using dissent detection logic to identify an inconsistency between the programmed configuration information in the configuration arrays; and

associating the data array with each of the configuration arrays wherein the data array is adapted to be configured in accordance with the configuration information programmed into the configuration arrays.

12. The method of claim 11 further comprising selecting configuration information for configuring the data array based on the logic function F(A,B,C)=A·B+B·C+A·C wherein A represents configuration information from a first configuration array, B represents configuration information from a second configuration array, and C represents configuration information from a third configuration array.

13. A method of manufacturing a memory device that includes a substrate, a plurality of latches disposed on the substrate, at least three redundant configuration arrays disposed on different substrates, and a data array disposed on the substrate, the method comprising:

determining a number of configuration arrays;

determining a distribution of the number of configuration arrays on the different substrates;

programming each of the configuration arrays with redundant configuration information; and

providing dissent detection logic to identify an inconsistency between the programmed redundant configuration information in the configuration arrays.

14. The method of claim 13 wherein determining a number of configuration arrays includes determining a number of configuration arrays based upon a desired reliability level.

15. The method of claim 13 wherein determining a number of configuration arrays includes determining a number of configuration arrays based upon a desired yield level.

16. The method of claim 13 wherein determining a distribution of the number of configuration arrays includes determining a distribution of the number of configuration arrays based upon avoiding stress points on the different substrates.

17. The method of claim 13 wherein determining a distribution of the number of configuration arrays includes determining a distribution of the number of configuration arrays based upon at least one of:

avoiding stress points on the different substrates,

maximizing a distance between the configuration arrays,

complying with signal timing requirements,

improving reliability, and

improving yield.

18. A non-transitory computer readable medium storing computer readable instructions, the medium disposed on a memory device that includes a substrate, a plurality of latches disposed on the substrate, a plurality of configuration arrays disposed on different substrates, and a data array disposed on the substrate, the instructions comprising:

read nominally redundant configuration information from each of the plurality of configuration arrays on the different substrates;

select configuration information from among the nominally redundant configuration information based upon a selection function;

using dissent detection logic to identify an inconsistency between the configuration information in the configuration arrays; and

configure the data array associated with the nominally redundant configuration information using the selected configuration information.

19. The medium of claim 18 wherein the selection function includes a majority vote function.

20. The medium of claim 18 wherein the selection function is expressed as F(A,B,C)=A·B+B·C+A·C wherein A represents nominally redundant configuration information from a first configuration array, B represents nominally redundant configuration information from a second configuration array, and C represents nominally redundant configuration information from a third configuration array.

Assignments (4)
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038809/0472 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT LISTED PATENT NUMBER 8853569 TO THE CORRECT PATENT NUMBER 8883569 PREVIOUSLY RECORDED ON REEL 038300 FRAME 0665. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 25, 2016
From: SANDISK 3D LLC
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 038520/0552 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2016
From: SANDISK 3D LLC.
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 038300/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2007
From: THORP, TYLER; HAUKNESS, BRENT
To: SANDISK CORPORATION
Reel/Frame 018919/0752 →
Continuity (1)
Related Publication 20080184057A1 · Jul 31, 2008