> On Sep 28, 2017, at 9:04 AM, Jon Elson via cctalk <cctalk@classiccmp.org> 
> wrote:
> 
> On 09/28/2017 10:31 AM, Chuck Guzis via cctalk wrote:
>> And even the sector size on recent drives is fictitious. Larger drives use 
>> 4K sectors but "translate" them to the 512 byte standard.
> So, for every write, it needs to read the 4K sector, alter the bytes and then 
> rewrite it?  Hmmm, explains why writes are slower than reads even on spinning 
> disks.  Of course, if you write entire tracks, it can just hold the partial 
> data until it has all the data for that track, and write out the buffer in 
> one rotation.

Given that many drives have megabytes of “cache” it’s not really an issue.  
There is *a lot*
of buffering going on in drives.

Generally drives now-a-days will read an entire track at a time.  They don’t 
even wait for
the index (sector 0), they start reading at the first sector and fill in the 
buffer as the sectors
come under the head.  Rotational latency still shows up at the interface if 
you’re wanting a
*specific* sector, you have to wait for it to be read but generally the drive 
will read the entire
track so the next sector will be just uCode latency for the command and the 
transfer time over
the interface.

Writing is a bit more of a challenge (because you *do* want the data to make it 
to the surface)
but in general they are buffered also and there’s some interesting stuff going 
on in the drive to
make sure that all of the data is written properly.

TTFN - Guy

Reply via email to