Metspitzer said:
I feel like Penny on the Big Bang Theory.
I know you think you are explaining this to me, but you are really
not.
Data coming off the platter, inside the drive. We could represent
a transferred sector like this. The disk is relatively slow, compared
to the cabling.
__ __ __ __ __
__| |__| |__| |__| |__| |__
The transfer on the cable goes faster. The transfer takes less
time. Both diagrams are carrying the same amount of data.
_ _ _ _ _
_| |_| |_| |_| |_| |_
When you're reading data off the disk, the cable is so much
faster, the transfers are not continuous. This is what
happens on a read operation on a hard drive. The hard drive
cannot "keep the cable full", and the cable gets to "rest"
between bursts. The cable only transmits data, when enough
to "fill a packet" is available. SATA uses packets to transfer
data. The disk has sectors. The SATA cable has packets.
_ _ _ _ _ _ _ _ _ _
_| |_| |_| |_| |_| |_ _| |_| |_| |_| |_| |_
On a write, the host can send to the disk drive in a
continuous burst, at the high speed of the cable.
The drive cannot keep up. Eventually, the disk drive
RAM cache fills up. The cache is a temporary storage
area, meant to "take up the slack" between the fast
cable, and the slow hard drive.
_ _ _ _ _ _ _ _ _ _
_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_ . . .
When the cache is full on a write, the host can only send
new data when there is space in the cache. The transfer pattern
on the cable settles down, until it looks like the read
transfer diagram. Like this. The hard drive platter and
heads are pretty well running continuously while this
write operation is taking place (lower trace in the graph).
Notice that again, the 6Gbit/sec SATA cable gets to "rest"
between burst. And the bursts exist, because the cable
protocol is packet based, and not byte based.
_ _ _ _ _ _ _ _ _ _
_| |_| |_| |_| |_| |_ _| |_| |_| |_| |_| |_
__ __ __ __ __ __ __ __ __ __
__| |__| |__| |__| |__| |__| |__| |__| |__| |__| |__
Did I mention, I love ASCII art diagrams ?
HTH,
Paul