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
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 |