Claims
- 1. A method, for a mass storage device on a bus shared by a plurality of contending data handling devices, of responding to a request for a specified number of fixed length data blocks from another device on the bus, the mass storage device including a buffer which can accumulate and transmit requested data blocks stored within the mass storage device, the method comprising the steps of:
- (a) acquiring control of the bus to receive the request for the specified number of data blocks;
- (b) releasing control of the bus;
- (c) initiating accumulation of a first available one of the specified number of data blocks in the buffer;
- (d) determining a bus reconnect time for transfer of the specified number of data blocks as a single burst, the bus reconnect time being based upon the number of data blocks requested, a bus data transfer rate, and an internal data transfer rate within the mass storage device, such that the mass storage device will release the bus immediately following transmission over the bus of a last one of the specified number of data blocks,
- (e) re-acquiring control of the bus by the mass storage device at approximately the determined reconnect time and before all of the requested data blocks are accumulated in the buffer;
- (f) transmitting in a single burst all of the requested data blocks accumulated in the buffer over the bus to the other device and
- (g) releasing the bus following transmission of the last one of the specified number of data blocks.
- 2. The method of claim 1, wherein the determining step determines a block transmission time period t.sub.burst, wherein the transmitting step is completed in a determined time period t.sub.burst, and wherein the beginning of transmitting occurs within a determined t.sub.burst period before the time at which the buffer completes accumulating the specified number of data blocks.
- 3. The method of claim 1 wherein the bus comprises a SCSI bus, wherein the mass storage device is a target mass storage device on the SCSI bus and responds to a request for the specified number of data blocks from an initiator on the SCSI bus as the other device.
- 4. The method of claim 3 wherein the target mass storage device comprises a hard disk drive, and further including the step of positioning a data transducer at a destination track following the step of connecting to the SCSI bus in response to the request for the specified number of data blocks and prior to the step of initiating accumulation of a first one of the specified number of data blocks into the buffer.
- 5. The method of claim 4 wherein the hard disk drive includes at least one data storage disk rotating at a predetermined fixed rotational rate, wherein the fixed length data blocks are stored in sectors of tracks arranged within concentric data zones on a storage surface of the disk, a number of sectors per track varying as a function of disk radius of a particular data zone, and wherein the step of determining bus reconnect time and bus release time includes a step of determining internal data transfer rate as a function of the particular data zone.
- 6. The method of claim 5 wherein the step of determining internal data transfer rate as a function of the particular data zone is carried out by a further step of looking up data including internal data transfer rate as a function of concentric data zone in a table maintained within a memory of the hard disk drive.
- 7. The method of claim 6 wherein the data including internal data transfer rate maintained in the table is expressed as a ratio of internal data transfer rate to bus data transfer rate as a function of concentric data zone and the predetermined disk rotational rate.
- 8. The method of claim 5 wherein the step of determining a reconnect time is carried out by the step of calculating in accordance with the expression: ##EQU6## where: T.sub.0 represents a time when a first one of the requested data blocks is transferred into the buffer,
- xfer.sub.-- len represents the specified number of data blocks being requested,
- channel.sub.-- rate represents the internal data transfer rate within the hard disk drive,
- host.sub.-- rate represents bus data transfer rate over the SCSI bus, and
- T.sub.host represents a predetermined additional time sufficient to enable the initiator to respond to reselection of the SCSI bus by the hard disk drive and ensure that data block transfer can begin at the reconnect time.
Parent Case Info
This Application is a continuation of Ser. No. 08/164,899, filed Dec. 9, 1993, now abandoned.
US Referenced Citations (11)
Continuations (1)
|
Number |
Date |
Country |
Parent |
164899 |
Dec 1993 |
|