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

Method and apparatus for efficient management of non-aligned I/O write request in high bandwidth raid applications

Assignee: Avago Technologies International Sales Pte Ltd
•
Filing: 1996-06-28
•
Granted: 1999-01-12
•
Expires: 2016-06-28
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract Methods and associated apparatus in a RAID storage subsystem to enhance the performance of write operations for sequences of large buffers generally non-aligned with stripe boundaries in the RAID storage subsystem. In particular, the methods identify a starting non-aligned portion of each large buffer to be written to the RAID storage subsystem, an ending non-aligned portion of each large buffer to be written to the RAID subsystem, and a larger middle portion of the large buffer to be written to the RAID subsystem which is aligned with stripe boundaries of the RAID storage subsystem. The stripe-aligned middle portion is written to the RAID storage devices in a cache write through mode using stripe write operations to maximize data throughput. The starting and ending portions identified by the methods of the present invention are written to the cache memory in a write back mode such that they will eventually be posted to the RAID storage devices in due course through normal RAID processing. Special case processing of the methods of the present invention note the absence of a starting or ending non-aligned portions (e.g., a buffer having no non-aligned starting portion, or no non-aligned ending portion, or neither starting nor ending non-aligned portions).

Inventors

  • 👤 Rodney A. DeKoning
  • 👤 Gerald J. Fredin

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-07 05:00
CPC Classifications
G; G06; G06F; G06F12/00; G06F3/00; G06F3/06; G06F3/0601; G06F3/0602; G06F3/0626; G06F12/02; G06F12/08; G06F12/0802; G06F12/0866; G06F3/0628; G06F3/0655; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 165 words
A method for storing data in a RAID storage subsystem having a plurality of disk drives and a cache memory, said method comprising the steps of: identifying a middle portion of said data which begins and ends aligned with a stripe of said RAID storage subsystem, wherein said data comprises a data portion of a single I/O write request and is substantially larger than the size of a stripe in said RAID storage subsystem; identifying a non-aligned starting portion of said data, wherein said non-aligned starting portion includes the start of said data and wherein said non-aligned starting portion ends at the start of said middle portion; identifying a non-aligned ending portion of said data, wherein said non-aligned ending portion includes the end of said data and wherein said non-aligned ending portion starts at the end of said middle portion; and writing said middle portion to said plurality of disk drives using at least one stripe write operation in a cache memory write through mode.
Claim 2
Independent Claim 165 words
A method for storing data in a RAID storage subsystem having a plurality of disk drives and a cache memory, said method comprising the steps of: identifying a middle portion of said data which begins and ends aligned with a stripe of said RAID storage subsystem, wherein said data comprises a data portion of a single I/O write request and is substantially larger than the size of a stripe in said RAID storage subsystem; identifying a non-aligned starting portion of said data, wherein said non-aligned starting portion includes the start of said data and wherein said non-aligned starting portion ends at the start of said middle portion; identifying a non-aligned ending portion of said data, wherein said non-aligned ending portion includes the end of said data and wherein said non-aligned ending portion starts at the end of said middle portion; and writing said middle portion to said plurality of disk drives using at least one stripe write operation in a cache memory write through mode.
Claim 3
Dependent Claim 39 words
The method of claim 1 wherein the middle portion comprises the largest contiguous portion of said data which begins aligned with a stripe of said RAID storage subsystem and ends aligned with a stripe of said RAID storage subsystem.
Claim 4
Dependent Claim 29 words
The method of claim 1 further comprising the steps of: writing said non-aligned starting portion to said cache memory; and writing said non-aligned ending portion to said cache memory.
Claim 5
Dependent Claim 58 words
The method of claim 3 further comprising the steps of: identifying a particular non-aligned ending portion of a data written in said cache memory at a location adjacent to the identified non-aligned starting portion; and writing said particular non-aligned ending portion and said identified non-aligned starting portion to said plurality of disk drives using a stripe write operation.
Claim 6
Dependent Claim 167 words
Associated with a RAID storage subsystem having a plurality of disk drives and a cache memory, a RAID controller comprising: means for identifying a middle Portion of said data which begins and ends aligned with a stripe of said RAID storage subsystem, wherein said data comprises a data portion of a single I/O write request and is substantially larger than the size of a stripe in said RAID storage subsystem; means for identifying a non-aligned starting portion of said data, wherein said non-aligned starting portion includes the start of said data and wherein said non-aligned starting portion ends at the start of said middle portion: means for identifying a non-aligned ending portion of said data, wherein said non-aligned ending portion includes the end of said data and wherein said non-aligned ending portion starts at the end of said middle portion; and means for writing said middle portion to said plurality of disk drives using at least one stripe write operation in a cache memory write through mode.
Claim 7
Dependent Claim 167 words
Associated with a RAID storage subsystem having a plurality of disk drives and a cache memory, a RAID controller comprising: means for identifying a middle Portion of said data which begins and ends aligned with a stripe of said RAID storage subsystem, wherein said data comprises a data portion of a single I/O write request and is substantially larger than the size of a stripe in said RAID storage subsystem; means for identifying a non-aligned starting portion of said data, wherein said non-aligned starting portion includes the start of said data and wherein said non-aligned starting portion ends at the start of said middle portion: means for identifying a non-aligned ending portion of said data, wherein said non-aligned ending portion includes the end of said data and wherein said non-aligned ending portion starts at the end of said middle portion; and means for writing said middle portion to said plurality of disk drives using at least one stripe write operation in a cache memory write through mode.
Claim 8
Dependent Claim 39 words
The controller of claim 5 wherein the middle portion comprises the largest contiguous portion of said data which begins aligned with a stripe of said RAID storage subsystem and ends aligned with a stripe of said RAID storage subsystem.
Claim 9
Dependent Claim 30 words
The controller of claim 5 further comprising: means for writing said non-aligned starting portion to said cache memory; and means for writing said non-aligned ending portion to said cache memory.
Claim 10
Dependent Claim 59 words
The controller of claim 7 further comprising: means for identifying a particular non-aligned ending portion of a data written in said cache memory at a location adjacent to the identified non-aligned starting portion; and means for writing said particular non-aligned ending portion and said identified non-aligned starting portion to said plurality of disk drives using a stripe write operation.
Claim 11
Independent Claim 211 words
A method for storing data in a RAID storage subsystem having a plurality of disk drives and a cache memory, said method comprising the steps of: identifying a middle portion of said data which begins and ends aligned with a stripe of said RAID storage subsystem, wherein said data comprises a data portion of a single I/O write request and is substantially larger than the size of a stripe in said RAID storage subsystem; identifying a non-aligned starting portion of said data, wherein said non-aligned starting portion includes the start of said data and wherein said non-aligned starting portion ends at the start of said middle portion; identifying a non-aligned ending portion of said data, wherein said non-aligned ending portion includes the end of said data and wherein said non-aligned ending portion starts at the end of said middle portion; writing said middle portion to said cache memory with indicia of a high priority; and writing said middle portion from said cache memory to said plurality of disk drives using at least one stripe write operation, wherein said writing of said middle portion occurs prior to writing of other information from said cache memory having indicia of lower priority relative to said indicia of high priority associated with said middle portion.
Claim 12
Independent Claim 211 words
A method for storing data in a RAID storage subsystem having a plurality of disk drives and a cache memory, said method comprising the steps of: identifying a middle portion of said data which begins and ends aligned with a stripe of said RAID storage subsystem, wherein said data comprises a data portion of a single I/O write request and is substantially larger than the size of a stripe in said RAID storage subsystem; identifying a non-aligned starting portion of said data, wherein said non-aligned starting portion includes the start of said data and wherein said non-aligned starting portion ends at the start of said middle portion; identifying a non-aligned ending portion of said data, wherein said non-aligned ending portion includes the end of said data and wherein said non-aligned ending portion starts at the end of said middle portion; writing said middle portion to said cache memory with indicia of a high priority; and writing said middle portion from said cache memory to said plurality of disk drives using at least one stripe write operation, wherein said writing of said middle portion occurs prior to writing of other information from said cache memory having indicia of lower priority relative to said indicia of high priority associated with said middle portion.
Claim 13
Dependent Claim 39 words
The method of claim 9 wherein the middle portion comprises the largest contiguous portion of said data which begins aligned with a stripe of said RAID storage subsystem and ends aligned with a stripe of said RAID storage subsystem.
Claim 14
Dependent Claim 19 words
The method of claim 9 further comprising the step of: writing said non-aligned ending portion to said cache memory.
Claim 15
Dependent Claim 58 words
The method of claim 11 further comprising the steps of: identifying a particular non-aligned ending portion of a data written in said cache memory at a location adjacent to the identified non-aligned starting portion; and writing said particular non-aligned ending portion and said identified non-aligned starting portion to said plurality of disk drives using a stripe write operation.
Claim 16
Dependent Claim 215 words
Associated with a RAID storage subsystem having a plurality of disk drives and a cache memory, a RAID controller comprising: means for identifying a middle portion of said data which begins and ends aligned with a stripe of said RAID storage subsystem, wherein said data comprises a data portion of a single I/O write request and is substantially larger than the size of a stripe in said RAID storage subsystem; means for identifying a non-aligned starting portion of said data, wherein said non-aligned starting portion includes the start of said data and wherein said non-aligned starting portion ends at the start of said middle portion; means for identifying a non-aligned ending portion of said data, wherein said non-aligned ending portion includes the end of said data and wherein said non-aligned ending portion starts at the end of said middle portion; means for writing said middle portion to said cache memory with indicia of a high priority; and means for writing said middle portion from said cache memory to said plurality of disk drives using at least one stripe write operation, wherein said writing of said middle portion occurs prior to writing of other information from said cache memory having indicia of lower priority relative to said indicia of high priority associated with said middle portion.
Claim 17
Dependent Claim 215 words
Associated with a RAID storage subsystem having a plurality of disk drives and a cache memory, a RAID controller comprising: means for identifying a middle portion of said data which begins and ends aligned with a stripe of said RAID storage subsystem, wherein said data comprises a data portion of a single I/O write request and is substantially larger than the size of a stripe in said RAID storage subsystem; means for identifying a non-aligned starting portion of said data, wherein said non-aligned starting portion includes the start of said data and wherein said non-aligned starting portion ends at the start of said middle portion; means for identifying a non-aligned ending portion of said data, wherein said non-aligned ending portion includes the end of said data and wherein said non-aligned ending portion starts at the end of said middle portion; means for writing said middle portion to said cache memory with indicia of a high priority; and means for writing said middle portion from said cache memory to said plurality of disk drives using at least one stripe write operation, wherein said writing of said middle portion occurs prior to writing of other information from said cache memory having indicia of lower priority relative to said indicia of high priority associated with said middle portion.
Claim 18
Dependent Claim 39 words
The controller of claim 13 wherein the middle portion comprises the largest contiguous portion of said data which begins aligned with a stripe of said RAID storage subsystem and ends aligned with a stripe of said RAID storage subsystem.
Claim 19
Dependent Claim 18 words
The controller of claim 13 further comprising: means for writing said non-aligned ending portion to said cache memory.
Claim 20
Dependent Claim 59 words
The controller of claim 15 further comprising: means for identifying a particular non-aligned ending portion of a data written in said cache memory at a location adjacent to the identified non-aligned starting portion; and means for writing said particular non-aligned ending portion and said identified non-aligned starting portion to said plurality of disk drives using a stripe write operation.

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag