Redundant memory channel array configuration with data striping and error correction capabilities
First Claim
1. A memory channel array system providing error correction capabilities, comprising:
- a main memory;
a memory channel array controller; and
a first plurality of channels coupled between said memory channel array controller and said memory for transferring data between said memory channel array controller and said memory, said first plurality of channels including at least one redundant channel;
wherein said memory channel array controller includes;
a first plurality of channel controllers corresponding to said first plurality of channels, each of said first plurality of channel controllers being coupled to a corresponding one of said first plurality of channels, wherein each of said first plurality of channel controllers generates a signal indicative of incorrect data transferred on said corresponding channel; and
error correction logic coupled to said first plurality of channel controllers which receives data from each of said channel controllers and said incorrect data indicating signals from said channel controllers and outputs corrected data if one of said incorrect data indicating signals indicates incorrect data.
6 Assignments
0 Petitions
Accused Products
Abstract
A memory channel array configuration wherein two or more memory channels are used for data transfer and data is striped across each of the memory channels. In addition, one or more redundant memory channels, preferably a single dedicated parity channel, are used for error correction. In the preferred embodiment the memory channel configuration utilizes RAMBUS based memory channels, and thus the present invention provides error correction for a RAMBUS based memory system. Also, the use of multiple memory channels in conjunction with data striping across each of the channels allows for much higher data transfer bandwidths than is available using prior art implementations of RAMBUS technology.
-
Citations
11 Claims
-
1. A memory channel array system providing error correction capabilities, comprising:
-
a main memory; a memory channel array controller; and a first plurality of channels coupled between said memory channel array controller and said memory for transferring data between said memory channel array controller and said memory, said first plurality of channels including at least one redundant channel; wherein said memory channel array controller includes; a first plurality of channel controllers corresponding to said first plurality of channels, each of said first plurality of channel controllers being coupled to a corresponding one of said first plurality of channels, wherein each of said first plurality of channel controllers generates a signal indicative of incorrect data transferred on said corresponding channel; and error correction logic coupled to said first plurality of channel controllers which receives data from each of said channel controllers and said incorrect data indicating signals from said channel controllers and outputs corrected data if one of said incorrect data indicating signals indicates incorrect data. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A memory channel array system providing error correction capabilities, comprising:
-
a main memory; a memory channel array controller; a first plurality of channels coupled between said memory channel array controller and said main memory for transferring data between said memory channel array controller and said main memory, said first plurality of channels including at least one redundant channel; wherein said memory channel array controller includes; means for generating a first plurality of signals indicative of incorrect data transferred on said first plurality of channels; error correction logic coupled to said first plurality of channels and said signal generating means which receives data from each of said channels and said incorrect data indicating signals from said signal generating means and outputs corrected data if one of said incorrect data indicating signals indicates incorrect data.
-
-
7. A memory channel array system providing data striping capabilities, comprising:
-
a main memory; a memory channel array controller including a first plurality of channel controllers; a first plurality of channels coupled between said memory channel array controller and said main memory for transferring data between said memory channel array controller and said main memory, said first plurality of channels including at least one redundant channel; wherein said memory channel array controller includes; a buffer for connecting to one or more host devices, wherein said buffer is adapted for transferring and receiving data to and from said one or more host devices; a first plurality of internal buses coupled between said buffer and a first number of said first plurality of channel controllers, wherein said first plurality of internal buses transfer data between said first number of said first plurality of channel controllers and said buffer; a second plurality of internal buses coupled between said buffer and a second number of said first plurality of channel controllers, wherein said second plurality of internal buses transfers data between said buffer and said second number of said first plurality of channel controllers; wherein said buffer stripes data received from said one or more host devices across said second plurality of internal buses to said second number of said fist plurality of channel controllers. - View Dependent Claims (8, 9)
-
-
10. A method of transferring data to and from main memory in a memory channel array system comprising a main memory, a memory channel array controller including a first plurality of channel controllers, and a first plurality of channels coupled between said memory channel array controller and said main memory for transferring data between said memory channel array controller and said main memory, wherein said first plurality of channels includes at least one redundant channel, and wherein the memory channel array controller includes redundant data generation logic, a buffer and a second plurality of internal buses coupled between the buffer and a second number of said first plurality of channel controllers, the method comprising the steps of:
-
the buffer receiving data from a host; the buffer striping said data on the second plurality of internal buses to said second number of said first plurality of channel controllers; the redundant data generation logic generating redundant data based on said received data from said host; the redundant data generation logic providing said redundant data to said at least one redundant channel; and the first plurality of channel controllers transferring said data received from said host and said redundant data to said main memory using said first plurality of channels. - View Dependent Claims (11)
-
Specification