Claims Analysis
Total Claims: 26
Claim 1
Independent Claim
218 words
A method of transferring data between a memory and a disk drive in a computer system comprising a memory and a disk subsystem, wherein the disk subsystem comprises a controller and a disk drive coupled to the controller, the method comprising the steps of: the controller occasionally receiving a high-level data transfer request which identifies a data transfer between noncontiguous memory addresses and noncontiguous disk sectors; the controller reading a contiguous block of sectors on said disk drive, wherein said contiguous block of sectors includes said noncontiguous disk sectors and disk sectors not involved in said transfer; the controller generating one or more high-level data transfer requests into two or more atomic transfer requests for said contiguous block of sectors, wherein said controller inserts one or more no-operation requests into said transfer requests corresponding to data read from said disk sectors not involved in said transfer, wherein said no-operation requests are interspersed with said atomic transfer requests so that said two or more atomic transfer requests and said no-operation requests form a contiguous sequence of memory addresses; and the controller executing said atomic transfer requests to transfer data from said noncontiguous disk sectors to said noncontiguous memory addresses, wherein said no-operation requests prevent said data read from said disk sectors not involved in said transfer from being transferred.
Claim 2
Independent Claim
218 words
A method of transferring data between a memory and a disk drive in a computer system comprising a memory and a disk subsystem, wherein the disk subsystem comprises a controller and a disk drive coupled to the controller, the method comprising the steps of: the controller occasionally receiving a high-level data transfer request which identifies a data transfer between noncontiguous memory addresses and noncontiguous disk sectors; the controller reading a contiguous block of sectors on said disk drive, wherein said contiguous block of sectors includes said noncontiguous disk sectors and disk sectors not involved in said transfer; the controller generating one or more high-level data transfer requests into two or more atomic transfer requests for said contiguous block of sectors, wherein said controller inserts one or more no-operation requests into said transfer requests corresponding to data read from said disk sectors not involved in said transfer, wherein said no-operation requests are interspersed with said atomic transfer requests so that said two or more atomic transfer requests and said no-operation requests form a contiguous sequence of memory addresses; and the controller executing said atomic transfer requests to transfer data from said noncontiguous disk sectors to said noncontiguous memory addresses, wherein said no-operation requests prevent said data read from said disk sectors not involved in said transfer from being transferred.
Claim 3
Dependent Claim
12 words
The method of claim 1, wherein said controller includes a DMA controller.
Claim 4
Dependent Claim
19 words
The method of claim 1, wherein said controller limits any disk operation to a maximum number of disk sectors.
Claim 5
Dependent Claim
15 words
The method of claim 1, wherein said computer system implements a virtual memory operating system.
Claim 6
Dependent Claim
219 words
A disk controller which transfers data between a memory and a disk drive in computer system comprising a memory and a disk subsystem, wherein the disk subsystem comprises the controller and a disk drive coupled to the controller, the controller comprising: means for receiving a high-level data transfer request which identifies a data transfer between noncontiguous memory addresses and noncontiguous disk sectors; means for reading a contiguous block of disk sectors on said disk drive, wherein said contiguous block of disk sectors includes said noncontiguous disk sectors and disk sectors not involved in said transfer; means for generating one or more high-level data transfer requests into two or more atomic transfer requests for said contiguous block of sectors, wherein said means for generating includes means for inserting one or more no-operation requests into said transfer requests corresponding to data from said disk sectors not involved in said transfer, wherein said no-operation requests are interspersed with said atomic transfer requests so that said two or more atomic transfer requests and said no-operation requests form a contiguous sequence of memory addresses; and means for executing said atomic transfer requests to transfer data from said noncontiguous disk sectors to said noncontiguous memory addresses, wherein said no-operation requests prevent data corresponding to said disk sectors not included in said transfer from being transferred.
Claim 7
Dependent Claim
219 words
A disk controller which transfers data between a memory and a disk drive in computer system comprising a memory and a disk subsystem, wherein the disk subsystem comprises the controller and a disk drive coupled to the controller, the controller comprising: means for receiving a high-level data transfer request which identifies a data transfer between noncontiguous memory addresses and noncontiguous disk sectors; means for reading a contiguous block of disk sectors on said disk drive, wherein said contiguous block of disk sectors includes said noncontiguous disk sectors and disk sectors not involved in said transfer; means for generating one or more high-level data transfer requests into two or more atomic transfer requests for said contiguous block of sectors, wherein said means for generating includes means for inserting one or more no-operation requests into said transfer requests corresponding to data from said disk sectors not involved in said transfer, wherein said no-operation requests are interspersed with said atomic transfer requests so that said two or more atomic transfer requests and said no-operation requests form a contiguous sequence of memory addresses; and means for executing said atomic transfer requests to transfer data from said noncontiguous disk sectors to said noncontiguous memory addresses, wherein said no-operation requests prevent data corresponding to said disk sectors not included in said transfer from being transferred.
Claim 8
Dependent Claim
14 words
The method of claim 1, wherein said computer system includes a UNIX-compatible operating system.
Claim 9
Dependent Claim
14 words
The controller of claim 5, wherein said disk drive is a composite disk drive.
Claim 10
Dependent Claim
22 words
The controller of claim 5, wherein each of said disk drives includes multiple rotating platters accessed by multiple respective movable read/write heads.
Claim 11
Dependent Claim
32 words
The controller of claim 5, 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 12
Dependent Claim
17 words
The controller of claim 5, wherein multiple ones of said disk drives are Integrated Drive Electronics drives.
Claim 13
Dependent Claim
40 words
The controller of claim 5, 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 14
Dependent Claim
72 words
The controller of claim 5, 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 15
Dependent Claim
80 words
The method of claim 1, wherein the disk subsystem includes a plurality of disk drives and each of said disk drives comprises a plurality of sectors; and wherein said high level data transfer request includes a disk drive designation, information regarding the first sector in said designated disk drive involved in said transfer, and a pointer to a list comprising memory addresses and associated sector counter numbers representing the number of sectors in said disk drive involved in said transfer.
Claim 16
Dependent Claim
17 words
The method of claim 13, wherein said list indicates disk sectors to be skipped in said transfer.
Claim 17
Dependent Claim
26 words
The method of claim 1, wherein said high level data transfer request involves a data transfer from said noncontiguous disk sectors to said noncontiguous memory addresses.
Claim 18
Dependent Claim
50 words
The method of claim 15, wherein said step of reading further comprises: allocating a plurality of read buffers; and generating a disk read request for said contiguous block of disk sectors, including said noncontiguous disk sectors; and transferring data from said contiguous block of disk sectors to said read buffers.
Claim 19
Dependent Claim
64 words
The method of claim 16, wherein the disk subsystem includes controller memory coupled to said controller, said controller memory including a queue for storing transfer requests between the memory and the disk drive, said step of executing further comprising: enqueuing said transfer requests on said queue, wherein said transfer requests include said one or more no-operation requests; executing said transfer requests on said queue.
Claim 20
Dependent Claim
45 words
The method of claim 17, wherein said step of executing comprises transferring certain of said data from said read buffers to said noncontiguous memory addresses, wherein said no-operation requests prevent said data read from said disk sectors not involved in said transfer from being transferred.
Claim 21
Dependent Claim
69 words
The controller of claim 5, wherein said disk drive comprises a plurality of sectors; and wherein said high level data transfer request includes a disk drive designation, information regarding the first sector in said designated disk drive involved in said transfer, and a pointer to a list comprising destination memory addresses and associated sector counter numbers representing the number of sectors in said disk drive involved in said transfer.
Claim 22
Dependent Claim
17 words
The controller of claim 19, wherein said list indicates said disk sectors not included in said transfer.
Claim 23
Dependent Claim
20 words
The controller of claim 5, wherein said means for executing includes means for transferring data to said noncontiguous memory addresses.
Claim 24
Dependent Claim
31 words
The controller of claim 21, further comprising: means for allocating a plurality of read buffers; and means for transferring data from said contiguous block of disk sectors to said read buffers.
Claim 25
Dependent Claim
72 words
The controller of claim 22, wherein the disk subsystem includes controller memory coupled to said controller, said controller memory including a queue for storing transfer requests between the memory and the disk drive, the controller further comprising: means for enqueuing said transfer requests on said queue, wherein said transfer requests include said one or more no-operation requests; wherein said means for executing comprises means for executing said transfer requests on said queue.
Claim 26
Dependent Claim
44 words
The controller of claim 23, wherein said means for executing comprises means for transferring data from said read buffers to said noncontiguous memory addresses, wherein said no-operation requests prevent said data read from said disk sectors not involved in said transfer from being transferred.