Posted 28 July 2006 - 12:05 PM
LED ZEPPELIN, isn't the OS caching that works that way? What is read, is stored to RAM for some time (in case it's read again).
Drives cache has two funtions:
read-ahead cache and write cache.
Read-ahead means that while reading sectors, the HDD controller decides to read more sectors than what host asked so that they will be ready on the HDDs internal cache if they are requested. Sectors read are next to the sectors asked.
When doing fast sequential reading (like file copying), cache doesn't matter, as new IO requests arrive so fast the HDD will be the bottle neck and never manages to read-ahead (i.e being faster than the host requesting the files).
In slow sequential reading (like playing an MP3 or video), cache doesn't matter, as the software (probably) has some read-ahead function as well and uses system RAM (much bigger than 16MB) to cache it.
In perfectly random sector accesses, read-ahead doesn't matter as read-ahead read the next sectors from accessed ones. In random access environment the cache hit ratio is incredibly low (16MB cache but up to 750GB of data. Cache is 46875 times smaller).
What cache helps is launching applications and handling several transfers at a time. When sector X is asked, the drive starts to seek that sector. Sector Y (of different data stream) is asked before X is retrieved. HDD reads sector X and notices that to access sector Y there's noticeable rotational latency and HDD controller therefore decides it has spare time to read sectors X+1, X+2, ..., X+N. Then it seeks to sector Y. If sector X+1 is requested (possibly even before sector Y is retrieved), the data is returned from cache memory with no seeking.
Obviously, HDDs (even 15krpm SCSI ones) would be extremely sluggish in multistreaming without the read-ahead caching function. The question of whether 8MB and 16MB have a big difference, is another question. Increasing from 2MB to 8MB did have significant advantage, but that was 4 times the original. 8MB -> 16MB is just 100% increase. Also, the HDDs internal transfer rate defines how much cache is really useful, and firmware has to be optimized.
It's impossible to compare effect of 8MB and 16MB cache unless the drives are otherwise identical. No comparing 7K400 to 7K500 for example. WDxxxxJS versus WDxxxxKS (same manufacturer, same base model, same capacity points, same interface) could be a good comparison to find the answer.
Antec 1200 | HX520W | Commando | Q6600 G0 @ 3.15GHz | Noctua NH-U12F | 8GB of RAM | HD 4670 (passive)
7 TB of storage: 1x 1TB 1st gen GP, 1x 1TB 2nd gen GP, 1x 2TB 3rd gen GP, 1x 7200rpm F1, 2x 5400rpm F2 EcoGreen