This message is from the T13 list server.

OK, seems ATA could benefit from a switch to enable or disable caching.

And if you want to, you can certainly call read look ahead an element of
an all-inclusive caching algorithm.
But I still maintain from the application perspective, the behavior
desired from a read-cache enable is not the same behavior expected from
a read look ahead algorithm. In enabling a read look ahead algorithm, I
would have no expectation that the device would be attempting to
preserve previously read data in cache based on a pattern exhibiting a
locality of reference. Nor would I expect that by virtue of having a
read cache enabled, that a drive would be detecting sequential patterns
and attempting to avoid unnecessary revolutions of the media by
pre-reading sectors it thinks are going to be accessed in subsequent
read requests.

>From an "implementation" stanpoint, yes, it makes a lot of sense to
combine these functions in a well designed inclusive cache algorithm -
particularly when you consider when to deallocate active cache segments.
I would venture to say that for data fetched in a "read ahead"
algorithm, if the data isn't requested by the host in the next 2 or 3
accesses, it's probably a good candidate to put on the deallocation
list. That's not necessarily true for segments retained in cache because
of a frequent access pattern.

So - in designing such an all-inclusive caching algorithm - wouldn't it
be useful if the host could provide a hint that data access is expected
to be sequential - and take that into account in deciding whether to
pre-fetch data into cache, and to decide how quickly to put that segment
on the deallocation list after it's been requested or of the sequence is
interrupted?

In that respect, I think it's important to distinguish (as a suggestion
to help optimize the caching algorithm) to distinguish between the look
ahead aspects of the algorithm, and the overall enable/disable of read
cache as a whole.

Bob 

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Hale
Landis
Sent: Wednesday, June 29, 2005 10:00 AM
To: [email protected]
Subject: Re: [t13] Read Look Ahead

This message is from the T13 list server.


Sheffield, Robert L wrote:
> This message is from the T13 list server.
> Read cache and read look ahead are decidedly different concepts.

So you are also saying there is no documented way to disable read 
caching in an ATA drive? It is only possible to disable the "read look 
ahead" part of some more complex "read caching" algorithm?

> Both functions consume buffer space in the drive, but the similarity
> ends there.

Maybe it is time for all of us to dust off some of those computer 
journals from the 1950's are read about "computer data caching"?

Having worked on caching algrorithms for various types of storage 
devices for something like 30 years, I find this discussion a little 
strange. I've never heard anyone describe "reading ahead" or "staging" 
data to be something different from data "caching" and/or something that

is not part of a well designed data caching algorithm.

I think if you really intend that a disk drive separate "read ahead" 
from a more robust "read caching" algorithm then you need to have a 
serious conversation with some of the people that design and implement 
these algorithms in disk drives.

Hale

-- 

++ Hale Landis ++ www.ata-atapi.com ++

Reply via email to