Browse Prior Art Database

Read Ahead After Write

IP.com Disclosure Number: IPCOM000109211D
Original Publication Date: 1992-Aug-01
Included in the Prior Art Database: 2005-Mar-23
Document File: 2 page(s) / 76K

Publishing Venue

IBM

Related People

Inoue, K: AUTHOR [+3]

Abstract

Disclosed is an algorithm for read ahead (pre-fetching data) function of a hard disk drive. This algorithm is to read ahead after write operation and make the performance higher especially in sequential read/write mixed case.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Read Ahead After Write

       Disclosed is an algorithm for read ahead (pre-fetching
data) function of a hard disk drive.  This algorithm is to read ahead
after write operation and make the performance higher especially in
sequential read/write mixed case.

      This is the algorithm to read ahead data which will be
requested for the next request after write operation.  It is not rare
to read ahead after read operation for the next read request and high
performance is expected for sequential read requests, but it will not
be expected to be an advantage when write operation is requested
after read request for drives which do not have segmented buffering
function.  The following is a detailed explanation.
Case 1. Sequential Read requests
-  Minimum media access is needed after second read request.
   It does not need to access media but just send data to host from
buffer after second request.
READ SECTOR #0 with LENGTH 1  : Read Sector #0 to buffer and
                                 Send to host
                               : Read Ahead #1, #2 ...
READ SECTOR #1 with LENGTH 1  : Send #1 to host (Requested data is
already in buffer)
READ SECTOR #2 with LENGTH 1  : Send #1 to host (Requested data is
already in buffer)
                    .
                    .
Case 2. Write request in Sequential Read requests
-  Media access is needed on every read requests (marked x) because
write operation breaks data in the buffer which are pre-fetched for
the next read request.
READ SECTOR #0 with LENGTH 1  : Read Sector #0 to buffer and
                                 Send to host
                               : Read Ahead #1, #2 ...
WRITE SECTOR #0 with LENGTH 1 : Write Sector #0 and Destroy Read
Ahead data in buffer
READ SECTOR #1 with LENGTH 1  : Read Sector #1 to buffer and
                                 (x)
                                 Se...