Browse Prior Art Database

Automatic Look Ahead Extention

IP.com Disclosure Number: IPCOM000013672D
Original Publication Date: 2001-Feb-01
Included in the Prior Art Database: 2003-Jun-18
Document File: 1 page(s) / 26K

Publishing Venue

IBM

Abstract

Disclosed is a method to improve the hard disk (HDD) performance by extending lookahead regardless of firmware. This function is actualized by the LSI logic changes. If the such as following read commands are issued Read LBA 1 Length 1 1.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 100% of the total text.

Page 1 of 1

Automatic Look Ahead Extention

Disclosed is a method to improve the hard disk (HDD) performance by extending
lookahead regardless of firmware. This function is actualized by the LSI logic
changes.

If the such as following read commands are issued

Read LBA 1 Length 1


1.


2.

In traditionnal way, "Read LBA 4 Length 1" command is necessary to extend lookahead
by firmware. It takes not a few time to do.

In new method, LSI caluculate the paramters instead of firmware, therefore firmware
have a spare time for another functions. Consequently HDD performance is improved.

LSI's additional function to updates the internal registers are as below

Read 1 |@@@@@@@@|----------->...........................|

                                                   LLBA,LPAGE
Read 2 |@@@@@@|.......................................|

|<-------------- LA_LEN --------------->|
ELBA LLBA

            + LA_LEN
|<--- WORK -->|

ex:

@@@@ : Host Requested Sectors (on the sector buffer)
---> : Lookaheaded Sector (on the sector buffer)
.... : Lookaheading Sector (on the sector buffer)

New Registers to support this function:

SGMDOE.AUTO_LA : Enable/Disable Flag
LA_LEN : Look Ahead Length

LSI Register:

LLBA : Cached Last LBA
LPAGE : Cached Last PAGE
VLEN : Valid Cache Length
ELBA : Command End LBA
CPLBA : Lookahead Complete LBA

if Cache Hit && SGMODE.AUTO_LA == 1

WORK = ELBA + LA_LEN - LLBA
if WORK > 0
{

   DISCARD_PAGE(LPAGE, WORK)
LLBA = LLBA + WORK
LPAGE = LPAGE + WORK
VLEN = VLEN + WORK
CPLBA = CPLBA + WORK
}

Read LBA 4 Length 1

1