Speed matching data storage system
First Claim
1. A method for storing data on a plurality of disk drives comprising:
- addressing a plurality of data strips from said data to a chosen disk of said plurality of disk drives;
forming a data stream comprising said data strips, said data stream having a first throughput;
creating a plurality of parallel data streams, each of said plurality of parallel data streams having a second throughput, said second throughput being smaller than said first throughput;
directing said plurality of parallel data streams to a corresponding plurality of said plurality of disk drives such that each data strip in said plurality of data strips is transmitted to said chosen disk of said plurality of disk drives; and
storing each of said data strips on said each of plurality of disk drives.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for storing data wherein an incoming data stream is buffered and split into two or more slower data streams that are switched to two or more data storage devices. A controller, such as a RAID controller, may send stripes of data that are broken into data strips that are written to individual disk drives. The data strips enter a FIFO buffer at a first speed, which creates two or more nearly simultaneous data streams at a second, slower speed, each data stream containing specific strips destined for specific disk drives. The data streams are then switched to the specific disk drives for writing onto the storage media. Embodiments may be adapted for both the storage and retrieval of data.
10 Citations
18 Claims
-
1. A method for storing data on a plurality of disk drives comprising:
-
addressing a plurality of data strips from said data to a chosen disk of said plurality of disk drives;
forming a data stream comprising said data strips, said data stream having a first throughput;
creating a plurality of parallel data streams, each of said plurality of parallel data streams having a second throughput, said second throughput being smaller than said first throughput;
directing said plurality of parallel data streams to a corresponding plurality of said plurality of disk drives such that each data strip in said plurality of data strips is transmitted to said chosen disk of said plurality of disk drives; and
storing each of said data strips on said each of plurality of disk drives. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for storing data comprising:
-
a plurality of disk drives each having a communication channel capable of communicating at a first throughput;
a controller adapted to address a plurality of data strips from said data to a chosen disk of said plurality of disk drives, and form a data stream comprising said data strips, said data stream having a second throughput;
a buffered switch in communication with said controller and adapted to create a plurality of parallel data streams, each of said plurality of parallel data streams having a second throughput, said first throughput being smaller than said second throughput;
a crossbar switch in communication with said buffered switch and adapted to direct said plurality of parallel data streams to a corresponding plurality of said plurality of disk drives such that each of said separate data strips are transmitted to each of said plurality of disk drives to which said separate data strips are addressed; and
wherein said plurality of disk drives are adapted to receive said plurality of parallel data streams and store said data strips on said disk drives. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A system for storing data comprising:
-
a plurality of storage means each having a communication channel capable of communicating at a first throughput;
a controlling means adapted to determine a first data stripe to store onto said plurality of disk drives, said data stripe containing a separate data strip addressed to each of said plurality of disk drives, and adapted to provide a first data stream having a second throughput and containing said data strips;
a buffer means in communication with said controlling means and adapted to receive said first data stream, said buffer means having a first-in-first-out buffer into which said first data stream is received at said second throughput, said buffer means further adapted to remove said data strips from said first-in-first-out buffer to create a plurality of parallel data streams, each of said plurality of parallel data streams having said first throughput, said first throughput being smaller than said first throughput;
a switch means in communication with said buffer means and adapted to direct said plurality of parallel data streams to a corresponding plurality of said plurality of disk drives such that each of said separate data strips are transmitted to each of said plurality of disk drives to which said separate data strips are addressed; and
wherein said storage means are adapted to receive said plurality of data streams and store said data strips on said storage means. - View Dependent Claims (15, 16, 17, 18)
-
Specification