Redundant bit steering mechanism with delayed switchover of fetch operations during redundant device initialization
First Claim
Patent Images
1. An apparatus, comprising:
- (a) a memory array including a plurality of memory devices; and
(b) a memory controller coupled to the memory array, the memory controller configured to initialize a redundant memory device from the plurality of memory devices with data stored in a failed memory device from the plurality of memory devices by directing any non-initialization fetch operations associated with the failed memory device to the failed memory device, directing any non-initialization store operations associated with the failed memory device to the redundant memory device, and processing an initialization operation by copying data from the failed memory device to the redundant memory device.
1 Assignment
0 Petitions
Accused Products
Abstract
An apparatus, program product and method initialize a redundant memory device by delaying the switchover of non-initialization fetch operations from a failed memory device to the redundant memory device until after initialization of the redundant memory device is complete. Consequently, during initialization, the non-initialization fetch operations are directed to the failed memory device, while non-initialization store operations are directed to the redundant device.
38 Citations
21 Claims
-
1. An apparatus, comprising:
-
(a) a memory array including a plurality of memory devices; and
(b) a memory controller coupled to the memory array, the memory controller configured to initialize a redundant memory device from the plurality of memory devices with data stored in a failed memory device from the plurality of memory devices by directing any non-initialization fetch operations associated with the failed memory device to the failed memory device, directing any non-initialization store operations associated with the failed memory device to the redundant memory device, and processing an initialization operation by copying data from the failed memory device to the redundant memory device. - View Dependent Claims (2, 8)
-
-
3. An apparatus, comprising:
-
(a) a memory array including a plurality of memory devices; and
(b) a memory controller coupled to the memory array, the memory controller configured to initialize a redundant memory device from the plurality of memory devices with data stored in a failed memory device from the plurality of memory devices by directing any non-initialization fetch operations associated with the failed memory device to the failed memory device non-initialization store operations associated with the failed memory device to the redundant memory device, and processing an initialization operation by copying data from the failed memory device to the redundant memory device, wherein the plurality of memory devices include a plurality of primary memory devices that include the failed memory device, each primary memory device including at least one data line configured to supply a primary data bit, wherein the redundant data bit, and wherein the memory controller includes;
(i) a plurality of fetch multiplexers, each fetch multiplexer including first and second data inputs, a select input and an output, the first input coupled to receive the primary data bit from an associated primary memory device, the second input coupled to receive the redundant data bit from the redundant memory device, and the output configured to output either the primary data bit from the associated primary memory device or the redundant data bit responsive to a select signal provided to the select input;
(ii) a store multiplexer including a plurality of data inputs, a select input and an output, the output coupled to the data line from the redundant memory device, and the plurality of data inputs configured to receive a plurality of primary data bits forming a data word to be stored in the memory array; and
(iii) selection logic coupled to the select inputs of the fetch and store multiplexers, the selection logic responsive to redundant bit steering information to drive the select input of the store multiplexer to control the store multiplexer to output the primary data bit associated with the failed memory device to the redundant memory device. - View Dependent Claims (4, 5, 6, 7)
(a) error correction logic coupled to the outputs of the fetch multiplexers, the error correction logic configured to generate a corrected fetch data word from the data bits output from the fetch multiplexers; and
(b) error recovery code generation logic configured to receive a store data word and generate therefrom an error recovery code, the error recovery code generation logic configured to output the store data word and the error recovery code to both the memory array and the store multiplexer.
-
-
7. The apparatus of claim 6, wherein the memory controller further includes initialization logic coupled to the selection logic and the memory array, the initialization logic configured to, responsive to detection of a failure in a primary memory device, generate redundant bit steering information identifying the failed memory device, assert the initialization indicator, initiate a plurality of fetch and store operations associated with the failed memory device to copy data from the failed memory device to the redundant memory device, and thereafter deassert the initialization indicator.
- 9. A circuit arrangement for use in controlling a memory array including a plurality of memory devices, the circuit arrangement configured to initialize a redundant memory device from the plurality of memory devices with data stored in a failed memory device from the plurality of memory devices by directing any non-initialization fetch operations associated with the failed memory device to the failed memory device, directing any non-initialization store operations associated with the failed memory device to the redundant memory device, and processing an initialization operation by copying data from the failed memory device to the redundant memory device.
-
13. A method of initializing a redundant memory device in a memory array, the method comprising:
-
(a) processing an initialization operation for a redundant memory device by copying data from a failed memory device to the redundant memory device;
(b) directing any non-initialization fetch operations associated with the failed memory device to the failed memory device; and
(c) directing any non-initialization store operations associated with the failed memory device to the redundant memory device. - View Dependent Claims (14, 15)
-
-
16. A method of initializing a redundant memory device in a memory array, the method comprising:
-
(a) processing an initialization operation for a device by copying data from a failed memory device to the redundant memory device;
(b) directing any non-initialization fetch operations associated with the failed memory device to the failed memory device;
(c) directing any non-initialization store operations associated with the failed memory device to the redundant memory device; and
(d) directing any non-initialization fetch operations associated with the failed memory device to the redundant memory device after processing of the initialization operation, and wherein;
(i) the memory array includes a plurality of primary memory devices that include the failed memory device, each primary memory device including at least one data line configured to supply a primary data bit, wherein the redundant memory device includes at least one data line configured to supply a redundant data bit;
(ii) directing any non-initialization fetch operations associated with the failed memory device to the redundant memory device after processing of the initialization operation includes controlling the select inputs of a plurality of fetch multiplexers, each fetch multiplexer including the select input, first and second data inputs, and an output, the first data input coupled to receive the primary data bit from an associated primary memory device, the second data input coupled to receive the redundant data bit from the redundant memory device; and
(iii) directing any non-initialization store operations associated with the failed memory device to the redundant memory device includes controlling the select input of a store multiplexer including the select input, a plurality of data inputs, and an output, the output coupled to the data line from the redundant memory device, and the plurality of data inputs configured to receive a plurality of primary data bits forming data word to be stored in the memory array. - View Dependent Claims (17, 18, 19)
(a) directing any non-initialization fetch operations associated with the failed memory device to the failed memory device includes driving the select input of each of the fetch multiplexers to control each fetch multiplexer to output the primary data bit from the associated primary memory device; and
(b) directing any non-initialization fetch operations associated with the failed memory device to the redundant memory device after processing of the initialization operation includes driving the select input of the fetch multiplexer associated with the failed memory device to control such fetch multiplexer to output the redundant data bit in lieu of the primary data bit associated with the failed memory device.
-
-
18. The method of claim 17, further comprising determining whether processing of the initialization operation is complete by polling an initialization indicator.
-
19. The method of claim 17, wherein copying data from the failed memory device to the redundant memory device includes:
-
(a) fetching data from the memory array;
(b) processing the fetched data using error correction code (ECC) logic to generate error corrected data; and
(c) storing the error corrected data back into the memory array.
-
-
20. A method of initializing a redundant memory device in a memory array, the method comprising:
-
(a) copying data from a failed memory device to a redundant memory device;
(b) receiving non-initialization store and fetch operations during the copying of data from the failed memory device to the redundant memory device;
(c) prior to completing the copying of data from the failed memory device to the redundant memory device, redirecting each received non-initialization store operation associated with the failed memory device from the failed memory device to the redundant memory device; and
(d) after completing the copying of data from the failed memory device to the redundant memory device, redirecting each received non-initialization fetch operation associated with the failed memory device from the failed memory device to the redundant memory device. - View Dependent Claims (21)
-
Specification