Claims Analysis
Total Claims: 27
Claim 1
Independent Claim
159 words
A method of operating one or more disk drives through a programmable disk drive controller which is interfaced through a bus to a host computer, comprising the steps of: (a) occasionally issuing access requests from said host computer to said disk drive controller; (b) maintaining a queue, in said disk drive controller, for said access requests; (c) analyzing any newly received access requests, in said disk drive controller, to ascertain whether said access request is atomic; and, if said access request is not atomic, then fragmenting said access request into smaller access requests, until no resulting access request is not atomic; (d) enqueuing atomic access requests into said queue, together with execution-control markers which indicate groups of atomic operations which must be executed in strict sequence; (e) executing atomic access requests from said queue in an order which, except as constrained by said execution-control markers, is dynamically optimized in accordance with the instantaneous rotational phase of said disk drives.
Claim 2
Independent Claim
159 words
A method of operating one or more disk drives through a programmable disk drive controller which is interfaced through a bus to a host computer, comprising the steps of: (a) occasionally issuing access requests from said host computer to said disk drive controller; (b) maintaining a queue, in said disk drive controller, for said access requests; (c) analyzing any newly received access requests, in said disk drive controller, to ascertain whether said access request is atomic; and, if said access request is not atomic, then fragmenting said access request into smaller access requests, until no resulting access request is not atomic; (d) enqueuing atomic access requests into said queue, together with execution-control markers which indicate groups of atomic operations which must be executed in strict sequence; (e) executing atomic access requests from said queue in an order which, except as constrained by said execution-control markers, is dynamically optimized in accordance with the instantaneous rotational phase of said disk drives.
Claim 3
Dependent Claim
30 words
The method of claim 1, wherein elements of said queue can include fence markers, and said controller, when processing said queue, accepts said fence markers as processing flow control commands.
Claim 4
Dependent Claim
20 words
The method of claim 1, wherein said controller processes said queue iteratively until all elements of said queue are atomic.
Claim 5
Independent Claim
206 words
A method of operating one or more disk drives through a programmable disk drive controller which is interfaced through a bus to a host computer, comprising the steps of: (a) occasionally issuing access requests from said host computer to said disk drive controller; (b) maintaining a queue, in said disk drive controller, for said access requests; (c) analyzing any newly received access requests, in said disk drive controller, to ascertain whether said access request is atomic; and, if said access request is not atomic, then fragmenting said access request into smaller access requests, until no resulting access request is not atomic; (d) enqueuing atomic access requests into said queue, together with execution-control markers which indicate groups of atomic operations which must be executed in strict sequence; (e) executing atomic access requests from said queue in an order which, except as constrained by said execution-control markers, is dynamically optimized in accordance with the instantaneous rotational phase of said disk drives; (f) when said controller detects an error condition during execution of an access request, then inserting one or more error handling requests into said queue, and servicing said error handling requests before servicing any further access requests; (g) returning said redesignated access request to its original designation.
Claim 6
Independent Claim
206 words
A method of operating one or more disk drives through a programmable disk drive controller which is interfaced through a bus to a host computer, comprising the steps of: (a) occasionally issuing access requests from said host computer to said disk drive controller; (b) maintaining a queue, in said disk drive controller, for said access requests; (c) analyzing any newly received access requests, in said disk drive controller, to ascertain whether said access request is atomic; and, if said access request is not atomic, then fragmenting said access request into smaller access requests, until no resulting access request is not atomic; (d) enqueuing atomic access requests into said queue, together with execution-control markers which indicate groups of atomic operations which must be executed in strict sequence; (e) executing atomic access requests from said queue in an order which, except as constrained by said execution-control markers, is dynamically optimized in accordance with the instantaneous rotational phase of said disk drives; (f) when said controller detects an error condition during execution of an access request, then inserting one or more error handling requests into said queue, and servicing said error handling requests before servicing any further access requests; (g) returning said redesignated access request to its original designation.
Claim 7
Independent Claim
68 words
A method of redundant memory access request execution, comprising the steps of: (a) providing a queue for access requests to a memory; (b) redesignating an access request when said access request detects a defect in said memory; (c) inserting error handling requests in said queue prior to said redesignated access request; (d) executing said error handling requests; and (e) returning said redesignated access request to its original designation.
Claim 8
Independent Claim
68 words
A method of redundant memory access request execution, comprising the steps of: (a) providing a queue for access requests to a memory; (b) redesignating an access request when said access request detects a defect in said memory; (c) inserting error handling requests in said queue prior to said redesignated access request; (d) executing said error handling requests; and (e) returning said redesignated access request to its original designation.
Claim 9
Dependent Claim
168 words
A disk drive controller, comprising, on a common circuit board: a microprocessor; random-access memory which is read/write accessible by said microprocessor; a bus interface circuit, connected to said microprocessor and to a system bus connector; multiple connections for cabling to multiple separate disk drives; wherein said microprocessor comprises: means for maintaining a queue, in said disk drive controller, for access requests received; means for analyzing any newly received access requests, in said disk drive controller, to ascertain whether said access request is atomic; and, if said access request is not atomic, then fragmenting said access request into smaller access requests, until no resulting access request is not atomic; means for enqueuing atomic access requests into said queue, together with execution-control markers which indicate groups of atomic operations which must be executed in strict sequence; means for executing atomic access requests from said queue in an order which, except as constrained by said execution-control markers, is dynamically optimized in accordance with the instantaneous rotational phase of said disk drives.
Claim 10
Dependent Claim
168 words
A disk drive controller, comprising, on a common circuit board: a microprocessor; random-access memory which is read/write accessible by said microprocessor; a bus interface circuit, connected to said microprocessor and to a system bus connector; multiple connections for cabling to multiple separate disk drives; wherein said microprocessor comprises: means for maintaining a queue, in said disk drive controller, for access requests received; means for analyzing any newly received access requests, in said disk drive controller, to ascertain whether said access request is atomic; and, if said access request is not atomic, then fragmenting said access request into smaller access requests, until no resulting access request is not atomic; means for enqueuing atomic access requests into said queue, together with execution-control markers which indicate groups of atomic operations which must be executed in strict sequence; means for executing atomic access requests from said queue in an order which, except as constrained by said execution-control markers, is dynamically optimized in accordance with the instantaneous rotational phase of said disk drives.
Claim 11
Dependent Claim
30 words
The controller of claim 6, wherein elements of said queue can include fence markers, and said controller, when processing said queue, accepts said fence markers as processing flow control commands.
Claim 12
Dependent Claim
20 words
The controller of claim 6, wherein said controller processes said queue iteratively until all elements of said queue are atomic.
Claim 13
Dependent Claim
22 words
The controller of claim 6, wherein each of said disk drives includes multiple rotating platters accessed by multiple respective movable read/write heads.
Claim 14
Dependent Claim
17 words
The controller of claim 6, wherein multiple ones of said disk drives include high-level integrated control electronics.
Claim 15
Dependent Claim
32 words
The controller of claim 6, wherein multiple ones of said disk drives include control electronics which implement a first remapping of defective sectors, and said first remapping is invisible to said controller.
Claim 16
Dependent Claim
15 words
The controller of claim 6, wherein multiple ones of said disk drives are IDE drives.
Claim 17
Dependent Claim
40 words
The controller of claim 6, wherein each of said disk drives includes multiple rotating platters accessed by multiple respective movable read/write heads, and wherein said movable heads of multiple ones of said disk drives move in synchrony to corresponding positions.
Claim 18
Dependent Claim
72 words
The controller of claim 6, wherein each of said disk drives includes multiple rotating platters accessed by multiple respective movable read/write heads, and wherein said movable heads of a first subset of ones of said disk drives move in synchrony to mutually corresponding positions, and said movable heads of a second subset of ones of said disk drives do not move in synchrony with heads of said drives of said first subset.
Claim 19
Dependent Claim
124 words
The controller of claim 6, wherein each of said drives includes multiple rotating platters accessed by multiple respective movable read/write heads, and wherein said controller is connected to access both first and second pluralities of said disk drives, and wherein said movable heads of a first subset of ones of said disk drives move in synchrony to mutually corresponding positions, and said movable heads of a second subset of ones of said disk drives do not move in synchrony with heads of said drives of said first subset, and said controller is connected to a system bus and presents an interface thereto whereby said drives of said first subset, but not said drives of said second subset, appear as a single composite disk drive.
Claim 20
Dependent Claim
71 words
The controller of claim 6, wherein each of said drives includes multiple rotating platters accessed by multiple respective movable read/write heads, and wherein said movable heads of a first subset of ones of said disk drives move in synchrony to mutually corresponding positions, and said movable heads of a second subset of ones of said disk drives do not move in synchrony with heads of said drives of said first subset.
Claim 21
Dependent Claim
20 words
The controller of claim 6, wherein said controller includes a microcontroller and a bus interface chip separate from said microcontroller.
Claim 22
Dependent Claim
13 words
The controller of claim 6, wherein said controller includes a bus-master interface chip.
Claim 23
Dependent Claim
32 words
The controller of claim 6, wherein said controller consists of multiple integrated circuits mounted on a single circuit board, and said controller includes multiple connections for cabling to ones of said drives.
Claim 24
Dependent Claim
28 words
The controller of claim 6, wherein said controller includes one or more connections which can each be connected to multiple ones of said drives in a daisy-chain configuration.
Claim 25
Dependent Claim
20 words
The controller of claim 6, wherein said controller includes analog signal interface connections for cabling to ones of said drives.
Claim 26
Dependent Claim
22 words
The controller of claim 6, wherein said disks each have integrated controllers which remap defective sectors invisibly to said disk drive controller.
Claim 27
Dependent Claim
11 words
The controller of claim 6, wherein said microprocessor is a microcontroller.