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

System for scheduling read ahead operations if new request is sequential of last n last read requests wherein n is different on independent activities

Assignee: Dell USA Corp
•
Filing: 1995-11-21
•
Granted: 1997-04-08
•
Expires: 2015-11-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A disk drive array with a controller which provides: dynamic remapping for grown defects in the disk drives, multi-thread request processing with a variable number of forkings, defect tracking with both logical and physical lists, guarded writes of less than a full stripe optimized by selectably using the redundancy to limit the number of sectors involved, association of multiple operations with a single disk request in order to facilitate error handling, use of an access hiatus as indication of further opportunity to rebuild data in background, and scatter/scatter (bidirectional scatter/gather) operations.

Inventors

  • 👤 Craig S. Jones
  • 👤 Kenneth L. Jeffries
  • 👤 Terry J. Parks

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 18:37
CPC Classifications
G; G06; G06F; G06F3/00; G06F3/06; G06F3/0601; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0862; G06F3/0602; G06F3/0614; G06F3/0619; G06F3/0628; G06F3/0653; G06F3/0655; G06F3/0659; G06F3/0668; G06F3/0671; G06F3/0683; G06F3/0689; G11; G11B; G11B20/00; G11B20/10; G11B20/18; G11B20/1833; G11B20/1883; G06F12/0866; G06F2212/00; G06F2212/60; G06F2212/6026; G11B2220/00; G11B2220/20

Claims Analysis

Total Claims: 10
Claim 1
Independent Claim 175 words
A method of operating one or more disk drives through a disk drive controller which is interfaced through a bus to a host computer, wherein the disk drive controller receives read requests from the host computer, each read request specifying one or more data read addresses, the method comprising the controller-executed steps of: monitoring the read addresses of the last plurality n disk read requests, where n is a programmable parameter having a value of n set as a function of the number of independent activities executing within the host computer; determining whether the address of a disk read request sequentially follows any of the addresses of the last plurality n disk read requests; scheduling a readahead operation when the disk read request sequentially follows an address of the last plurality n disk read requests; determining a data read length specified by the disk read request; deriving a readahead length which is a multiple of the determined data read length; and performing the readahead operation by reading a block of data having the readahead length.
Claim 2
Independent Claim 175 words
A method of operating one or more disk drives through a disk drive controller which is interfaced through a bus to a host computer, wherein the disk drive controller receives read requests from the host computer, each read request specifying one or more data read addresses, the method comprising the controller-executed steps of: monitoring the read addresses of the last plurality n disk read requests, where n is a programmable parameter having a value of n set as a function of the number of independent activities executing within the host computer; determining whether the address of a disk read request sequentially follows any of the addresses of the last plurality n disk read requests; scheduling a readahead operation when the disk read request sequentially follows an address of the last plurality n disk read requests; determining a data read length specified by the disk read request; deriving a readahead length which is a multiple of the determined data read length; and performing the readahead operation by reading a block of data having the readahead length.
Claim 3
Independent Claim 191 words
A method of operating one or more disk drives through a disk drive controller which is interfaced through a bus to a host computer, wherein the disk drive controller receives read requests from the host computer, each read request specifying one or more data read addresses, the method comprising the controller-executed steps of: monitoring the read addresses of the last plurality of n disk read requests, where n is a programmable parameter having a value of n set as a function of the number of independent activities executing within the host computer; determining whether the address of a disk read request sequentially follows any of the addresses of the last plurality of n disk read requests; and performing a readahead operation operable for a disk read request sequentially following an address of the last plurality of n disk read requests, the readahead operation including the steps of: determining a data read length specified by the disk read request; deriving a readahead length which is a multiple of the determined data read length; and reading a block of data specified by the address of the disk read request and the readahead length.
Claim 4
Independent Claim 191 words
A method of operating one or more disk drives through a disk drive controller which is interfaced through a bus to a host computer, wherein the disk drive controller receives read requests from the host computer, each read request specifying one or more data read addresses, the method comprising the controller-executed steps of: monitoring the read addresses of the last plurality of n disk read requests, where n is a programmable parameter having a value of n set as a function of the number of independent activities executing within the host computer; determining whether the address of a disk read request sequentially follows any of the addresses of the last plurality of n disk read requests; and performing a readahead operation operable for a disk read request sequentially following an address of the last plurality of n disk read requests, the readahead operation including the steps of: determining a data read length specified by the disk read request; deriving a readahead length which is a multiple of the determined data read length; and reading a block of data specified by the address of the disk read request and the readahead length.
Claim 5
Independent Claim 198 words
A method of operating one or more disk drives through a disk drive controller which is interfaced through a bus to a host computer, wherein the disk drive controller receives read requests from the host computer, each read request specifying one or more data read addresses, the method comprising the controller-executed steps of: monitoring the read addresses of the last plurality of n disk read requests, where n is a programmable parameter having a value of n set as a function of the number of independent activities executing within the host computer; determining whether the address of a disk read request follows in a pattern with respect to addresses of the last plurality of n disk read requests; and performing a readahead operation operable for a disk read request following in a pattern with respect to an address of the last plurality of n disk read requests, the readahead operation including the steps of: determining a data read length specified by the disk read request; deriving a readahead length which is a multiple of the determined data read length; and reading a block of data specified by the address of the disk read request and the readahead length.
Claim 6
Independent Claim 198 words
A method of operating one or more disk drives through a disk drive controller which is interfaced through a bus to a host computer, wherein the disk drive controller receives read requests from the host computer, each read request specifying one or more data read addresses, the method comprising the controller-executed steps of: monitoring the read addresses of the last plurality of n disk read requests, where n is a programmable parameter having a value of n set as a function of the number of independent activities executing within the host computer; determining whether the address of a disk read request follows in a pattern with respect to addresses of the last plurality of n disk read requests; and performing a readahead operation operable for a disk read request following in a pattern with respect to an address of the last plurality of n disk read requests, the readahead operation including the steps of: determining a data read length specified by the disk read request; deriving a readahead length which is a multiple of the determined data read length; and reading a block of data specified by the address of the disk read request and the readahead length.
Claim 7
Independent Claim 198 words
A method of operating one or more disk drives through a disk drive controller which is interfaced through a bus to a host computer, wherein the disk drive controller receives read requests from the host computer, each read request specifying one or more data read addresses, the method comprising the controller-executed steps of: tracking the read addresses of the last plurality of n disk read requests, where n is a programmable parameter having a value of n set as a function of the number of independent activities executing within the host computer; determining whether the address of a disk read request is adjacent to any address of the addresses of the last plurality of n disk read requests; and performing a readahead operation operable for a disk read request that is adjacent to an address of the addresses of the last plurality of n disk read requests, the readahead operation including the steps of: determining a data read length specified by the disk read request; deriving a readahead length which is a multiple of the determined data read length; and reading a block of data specified by the address of the disk read request and the readahead length.
Claim 8
Independent Claim 198 words
A method of operating one or more disk drives through a disk drive controller which is interfaced through a bus to a host computer, wherein the disk drive controller receives read requests from the host computer, each read request specifying one or more data read addresses, the method comprising the controller-executed steps of: tracking the read addresses of the last plurality of n disk read requests, where n is a programmable parameter having a value of n set as a function of the number of independent activities executing within the host computer; determining whether the address of a disk read request is adjacent to any address of the addresses of the last plurality of n disk read requests; and performing a readahead operation operable for a disk read request that is adjacent to an address of the addresses of the last plurality of n disk read requests, the readahead operation including the steps of: determining a data read length specified by the disk read request; deriving a readahead length which is a multiple of the determined data read length; and reading a block of data specified by the address of the disk read request and the readahead length.
Claim 9
Independent Claim 194 words
A method of operating one or more disk drives through a disk drive controller which is interfaced through a bus to a host computer, wherein the disk drive controller receives read requests from the host computer, each read request specifying one or more data read addresses, the method comprising the controller-executed steps of: monitoring the read addresses of the last plurality of n disk read requests, where n is a programmable parameter having a value of n set as a function of the number of independent activities executing within the host computer; determining whether the address of a disk read request is in proximity to any of the addresses of the last plurality of n disk read requests; and performing a readahead operation operable for a disk read request in proximity to an address of the last plurality of n disk read requests, the readahead operation including the steps of: determining a data read length specified by the disk read request; deriving a readahead length which is a multiple of the determined data read length; and reading a block of data specified by the address of the disk read request and the readahead length.
Claim 10
Independent Claim 194 words
A method of operating one or more disk drives through a disk drive controller which is interfaced through a bus to a host computer, wherein the disk drive controller receives read requests from the host computer, each read request specifying one or more data read addresses, the method comprising the controller-executed steps of: monitoring the read addresses of the last plurality of n disk read requests, where n is a programmable parameter having a value of n set as a function of the number of independent activities executing within the host computer; determining whether the address of a disk read request is in proximity to any of the addresses of the last plurality of n disk read requests; and performing a readahead operation operable for a disk read request in proximity to an address of the last plurality of n disk read requests, the readahead operation including the steps of: determining a data read length specified by the disk read request; deriving a readahead length which is a multiple of the determined data read length; and reading a block of data specified by the address of the disk read request and the readahead length.

References Cited (Backward Citations)

US3350694A Cited
US3593314A Cited
US4347567A Cited
US4371929A Cited
US4618897A Cited
US5150465A Cited
US5140683A Cited
US5146578A Cited
US5133060A Cited
US5140592A Cited
US5325509A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-04-07 2000-10-07 2001-04-08 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-04-07 2004-10-07 2005-04-08 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-04-07 2008-10-07 2009-04-08 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag