← Back to Patent Explorer
US5862313A Expired / Lapsed US ⏱️ 0.0 years remaining

Raid system using I/O buffer segment to temporary store striped and parity data and connecting all disk drives via a single time multiplexed network

Assignee: Morgan Stanley and Co LLC
•
Filing: 1996-05-20
•
Granted: 1999-01-19
•
Expires: 2016-05-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for implementing a serial RAID system. Data is striped for the array of disk drives and parity for the striped data is calculated and the resulting data and is written serially to a RAID system over a Fibre Channel or other type of network. The system also allows reading of the striped data and parity serially from the disk array.

Inventors

  • 👤 Timothy J. Johnson
  • 👤 Alan R. Rivers

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 19:33
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/08; G06F11/10; G06F11/1076; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/0614; G06F3/0628; G06F3/0655; G06F3/0656; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 183 words
A method for transferring data between a processor and a plurality of disk drives, comprising the steps of: providing an I/O buffer, wherein the I/O buffer includes a plurality of I/O buffer segments, including a parity I/O buffer segment and a plurality of data I/O buffer segments, wherein each I/O buffer segment is assigned to a disk drive from the plurality of disk drives; providing a channel controller connected to the I/O buffer; providing a time multiplexed network connected to the channel controller; connecting the plurality of disk drives over the time multiplexed network to the channel controller; striping data received from the processor; generating parity data for the striped data; storing the striped data and the parity data to the I/O buffer, wherein the step of storing includes the steps of: writing the parity data to said parity I/O buffer segment; and writing a portion of said striped data to each of said plurality of data I/O buffer segments; and writing the striped data and parity data stored to the I/O buffer from the I/O buffer to the plurality of disk drives.
Claim 2
Independent Claim 183 words
A method for transferring data between a processor and a plurality of disk drives, comprising the steps of: providing an I/O buffer, wherein the I/O buffer includes a plurality of I/O buffer segments, including a parity I/O buffer segment and a plurality of data I/O buffer segments, wherein each I/O buffer segment is assigned to a disk drive from the plurality of disk drives; providing a channel controller connected to the I/O buffer; providing a time multiplexed network connected to the channel controller; connecting the plurality of disk drives over the time multiplexed network to the channel controller; striping data received from the processor; generating parity data for the striped data; storing the striped data and the parity data to the I/O buffer, wherein the step of storing includes the steps of: writing the parity data to said parity I/O buffer segment; and writing a portion of said striped data to each of said plurality of data I/O buffer segments; and writing the striped data and parity data stored to the I/O buffer from the I/O buffer to the plurality of disk drives.
Claim 3
Dependent Claim 51 words
A method for storing data as recited in claim 1 wherein the step of writing the stored striped data and parity data comprises the step of accumulating a sector of parity data within the I/O buffer before writing the stored striped data and parity data to the plurality of disk drives.
Claim 4
Independent Claim 398 words
A method for transferring data between a processor and a plurality of disk drives, wherein the plurality of disk drives includes a first drive, a second drive, a third drive, and a fourth drive, the method comprising the steps of: providing an I/O buffer, wherein the I/O buffer includes a plurality of I/O buffer segments, including a parity I/O buffer segment and a plurality of data I/O buffer segments wherein each I/O buffer segment is assigned to a disk drive from the plurality of disk drives, wherein the plurality of data I/O buffer segments includes a first data I/O buffer segment, a second data I/O buffer segment, a third data I/O buffer segment, and a fourth data I/O buffer segment, wherein the first data I/O buffer segment, the second data I/O buffer segment, the third data I/O buffer segment, and the fourth data I/O buffer segment are assigned to the first, second, third and fourth drives respectively; providing a channel controller connected to the I/O buffer; providing a time multiplexed network connected to the channel controller; connecting the plurality of disk drives over the time multiplexed network to the channel controller; striping data received from the processor, wherein the step of striping the data comprises the steps of: interleaving bits 4n within a first group of bits; interleaving bits 4n+1 within a second group of bits; interleaving bits 4n+2 within a third group of bits; and interleaving bits 4n+3 within a fourth group of bits, wherein n is an integer from 0 to 15; generating parity data for the striped data; storing the striped data and the parity data to the I/O buffer, wherein the step of storing includes the steps of: writing the parity data to said parity I/O buffer segment; and writing a portion of said striped data to each of said plurality of data I/O buffer segments, wherein the step of writing a portion of said striped data includes the step of storing the first group of bits to said first data I/O buffer segment, the second group of bits to said second data I/O buffer segment, the third group of bits to said third data I/O buffer segment and the fourth group of bits to said fourth data I/O buffer segment; and writing the striped data and parity data stored to the I/O buffer from the I/O buffer to the plurality of disk drives.
Claim 5
Independent Claim 398 words
A method for transferring data between a processor and a plurality of disk drives, wherein the plurality of disk drives includes a first drive, a second drive, a third drive, and a fourth drive, the method comprising the steps of: providing an I/O buffer, wherein the I/O buffer includes a plurality of I/O buffer segments, including a parity I/O buffer segment and a plurality of data I/O buffer segments wherein each I/O buffer segment is assigned to a disk drive from the plurality of disk drives, wherein the plurality of data I/O buffer segments includes a first data I/O buffer segment, a second data I/O buffer segment, a third data I/O buffer segment, and a fourth data I/O buffer segment, wherein the first data I/O buffer segment, the second data I/O buffer segment, the third data I/O buffer segment, and the fourth data I/O buffer segment are assigned to the first, second, third and fourth drives respectively; providing a channel controller connected to the I/O buffer; providing a time multiplexed network connected to the channel controller; connecting the plurality of disk drives over the time multiplexed network to the channel controller; striping data received from the processor, wherein the step of striping the data comprises the steps of: interleaving bits 4n within a first group of bits; interleaving bits 4n+1 within a second group of bits; interleaving bits 4n+2 within a third group of bits; and interleaving bits 4n+3 within a fourth group of bits, wherein n is an integer from 0 to 15; generating parity data for the striped data; storing the striped data and the parity data to the I/O buffer, wherein the step of storing includes the steps of: writing the parity data to said parity I/O buffer segment; and writing a portion of said striped data to each of said plurality of data I/O buffer segments, wherein the step of writing a portion of said striped data includes the step of storing the first group of bits to said first data I/O buffer segment, the second group of bits to said second data I/O buffer segment, the third group of bits to said third data I/O buffer segment and the fourth group of bits to said fourth data I/O buffer segment; and writing the striped data and parity data stored to the I/O buffer from the I/O buffer to the plurality of disk drives.
Claim 6
Dependent Claim 188 words
A serial RAID system, comprising: an I/O interface system; and a disk array having a plurality of disk drives and a time multiplexed network, wherein the plurality of disk drives are connected to the I/O interface system by the time multiplexed network; wherein, the I/O interface system comprises: an I/O buffer memory, wherein the I/O buffer memory includes a plurality of I/O buffer segments, including a parity I/O buffer segment and a plurality of data I/O buffer segments, wherein each I/O buffer segment is assigned to a disk drive from the plurality of disk drives; a RAID processor, connected to the I/O buffer memory, wherein the RAID processor stripes data, calculates parity data, saves a portion of the striped data to each data I/O buffer segment and saves the parity data to the parity I/O buffer segment; and a channel controller, connected to the I/O buffer memory and to the disk array, wherein the channel controller transfers striped data stored in the plurality of I/O buffer segments and parity data stored in the parity I/O buffer segment over the time multiplexed network to the plurality of disk drives.
Claim 7
Dependent Claim 188 words
A serial RAID system, comprising: an I/O interface system; and a disk array having a plurality of disk drives and a time multiplexed network, wherein the plurality of disk drives are connected to the I/O interface system by the time multiplexed network; wherein, the I/O interface system comprises: an I/O buffer memory, wherein the I/O buffer memory includes a plurality of I/O buffer segments, including a parity I/O buffer segment and a plurality of data I/O buffer segments, wherein each I/O buffer segment is assigned to a disk drive from the plurality of disk drives; a RAID processor, connected to the I/O buffer memory, wherein the RAID processor stripes data, calculates parity data, saves a portion of the striped data to each data I/O buffer segment and saves the parity data to the parity I/O buffer segment; and a channel controller, connected to the I/O buffer memory and to the disk array, wherein the channel controller transfers striped data stored in the plurality of I/O buffer segments and parity data stored in the parity I/O buffer segment over the time multiplexed network to the plurality of disk drives.
Claim 8
Dependent Claim 40 words
The serial RAID system, as recited in claim 4 wherein the I/O interface system further comprises a microprocessor, connected to the channel controller, which controls transfer of the striped data and the parity data to the plurality of disk drives.
Claim 9
Dependent Claim 32 words
The serial RAID system, as recited in claim 4, wherein the time multiplexed network comprises a serial channel having sufficient bandwidth to supply data to each of the plurality of disk drives.
Claim 10
Independent Claim 141 words
A method for transferring data between a processor and a plurality of disk drives, comprising the steps of: providing an I/O buffer, wherein the I/O buffer includes a plurality of I/O buffer segments, including a parity I/O buffer segment and a plurality of data I/O buffer segments, wherein each I/O buffer segment is assigned to a disk drive from the plurality of disk drives; providing a channel controller connected to the I/O buffer; providing a time multiplexed network connected to the channel controller; connecting the plurality of disk drives over the time multiplexed network to the channel controller; receiving striped data from the I/O buffer; generating parity data for the striped data; writing the parity data to the parity I/O buffer segment; and writing the striped data and parity data stored to the I/O buffer to the plurality of disk drives.
Claim 11
Independent Claim 141 words
A method for transferring data between a processor and a plurality of disk drives, comprising the steps of: providing an I/O buffer, wherein the I/O buffer includes a plurality of I/O buffer segments, including a parity I/O buffer segment and a plurality of data I/O buffer segments, wherein each I/O buffer segment is assigned to a disk drive from the plurality of disk drives; providing a channel controller connected to the I/O buffer; providing a time multiplexed network connected to the channel controller; connecting the plurality of disk drives over the time multiplexed network to the channel controller; receiving striped data from the I/O buffer; generating parity data for the striped data; writing the parity data to the parity I/O buffer segment; and writing the striped data and parity data stored to the I/O buffer to the plurality of disk drives.
Claim 12
Dependent Claim 59 words
The method for storing data, as recited in claim 7, wherein the step of receiving striped data from the I/O buffer comprises receiving a plurality of sectors of striped data from the I/O buffer; and wherein the step of generating parity data for the striped data comprises generating a plurality of sectors of parity data for the striped data.
Claim 13
Dependent Claim 186 words
A serial RAID system, comprising: an I/O interface system; and a disk array having a plurality of disk drive and a time multiplexed network, wherein the plurality of disk drives are connected to the I/O interface system by the time multiplexed network; wherein, the I/O interface system comprises: an I/O buffer memory, wherein the I/O buffer memory includes a plurality of I/O buffer segments, including a parity I/O buffer segment and a plurality of data I/O buffer segments, wherein each I/O buffer segment is assigned to a disk drive from the plurality of disk drives and wherein each data I/O buffer segment stores striped data; a RAID processor, connected to the I/O buffer memory, wherein the RAID processor reads striped data from the plurality of data I/O buffer segments, calculates parity data and saves the calculated parity data to the parity I/O buffer segment; and a channel controller, connected to the I/O buffer memory and to the disk array, wherein the channel controller transfers striped data and parity data stored in the I/O buffer memory over the time multiplexed network to the plurality of disk drives.
Claim 14
Dependent Claim 186 words
A serial RAID system, comprising: an I/O interface system; and a disk array having a plurality of disk drive and a time multiplexed network, wherein the plurality of disk drives are connected to the I/O interface system by the time multiplexed network; wherein, the I/O interface system comprises: an I/O buffer memory, wherein the I/O buffer memory includes a plurality of I/O buffer segments, including a parity I/O buffer segment and a plurality of data I/O buffer segments, wherein each I/O buffer segment is assigned to a disk drive from the plurality of disk drives and wherein each data I/O buffer segment stores striped data; a RAID processor, connected to the I/O buffer memory, wherein the RAID processor reads striped data from the plurality of data I/O buffer segments, calculates parity data and saves the calculated parity data to the parity I/O buffer segment; and a channel controller, connected to the I/O buffer memory and to the disk array, wherein the channel controller transfers striped data and parity data stored in the I/O buffer memory over the time multiplexed network to the plurality of disk drives.
Claim 15
Dependent Claim 40 words
The serial RAID system, as recited in claim 9 wherein the I/O interface system further comprises a microprocessor connected to the channel controller, which controls transfer of the striped data and the parity data to the plurality of disk drives.
Claim 16
Dependent Claim 32 words
The serial RAID system, as recited in claim 9, wherein the time multiplexed network comprises a serial channel having sufficient bandwidth to supply data to each of the plurality of disk drives.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-01-18 2002-07-20 2003-01-19 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-01-18 2006-07-20 2007-01-19 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-01-18 2010-07-20 2011-01-19 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag