3.1 Data Buffer
C141-C013 129
5) If the number of blocks specified in the command to be transferred is
larger than the capacity of a cache segment and if the data transfer speed
of the INIT is lower than the data transfer speed of the disk drive, the
empty space in the data buffer disappears from step 3) and the HDD may
soon not be able to read data from the disk media (data overrun). In this
case, the HDD relocates the block that caused the data overrun after
waiting one disk revolution, and continues the reading process.
When transfer of all the specified data is completed, the HDD reports the status
and terminates the command.
(2) Write operation
After data transferred from the INIT are stored temporarily in the data buffer, they
are written to the disk media. The basic write operation procedure is as shown
below.
1) When the HDD receives a command, it transfers the XFER_RDY flame to
INIT. Later it stores data transferred from the INIT to the data buffer (data
pre-fetch). At this time, the HDD locates the position of the data block on the
disk media specified by the command in parallel.
When storing of all the size of data specified in the XFER_RDY flame in the
data buffer is completed, the HDD performs CLOSE processing.
2) When locating of the target data block on the disk media is completed, the
HDD writes the data in the data buffer to the disk media. If the target data
block location operation is completed during the data pre-fetch processing in
1), writing of data to the disk media is performed in parallel with the data pre-
fetch to the data buffer.
3) If the data transfer speed of the INIT is lower than the data transfer speed of the
disk drive, since the data pre-fetch of data that are to be written to that data block
is not completed, it may not be possible to write the data continuously to the disk
(data underrun). In this case, the HDD waits one disk revolution while continuing
to pre-fetch data from the INIT, then repositions the block that caused the data
underrun and continues the writing of data to the disk.
4) If all the blocks of data specified in the command have not yet been
transferred from the INIT, as writing of data to the disk media progresses, at
the point when the empty space in the data buffer reaches the amount
specified by the HDD, the HDD performs OPEN processing and begins
transferring the succeeding data (data pre-fetch) after it transfers the
XFER_RDY frame.
Writing of data to the disk media is performed in parallel and data transfer
with the INIT continues until the empty space in the data buffer is full or until
transfer of all the data specified in the command is completed. From then on,
the XFER_RDY data receiving are repeated until transfer of all the blocks of
data specified in the command is completed.
5) When writing of all the specified data is completed, the HDD reports the
status and terminates the command.