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 ++
