In my opinion, extra 8 bytes on these disks are used for not only CRC
but also application specific tag(checksum).
Application specific tags are often useful in detecting lost write
issues where you a give a buffer to disk to write, disk acknowledges the
write but data never makes it to stable medium or the entire blk gets
overwritten(crc check will still pass when data is read!) erroneously.
The original writer (maybe FS!) reads the data but also gets back its
own tag as part of read. This allows for detection of lost write issues.
Full benefit can only be realized when entire stack(FS-LDM-DISK-HBA) has
the infrastructure for writing, reading and checking this 8 byte data.
Harish
-----Original Message-----
From: xxxxx@osr.com [mailto:xxxxx@osr.com]
Sent: Monday, August 09, 2010 9:13 AM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] 520 Byte Sector Harddisk problem
It’s not nearly as cut-and-dried as you might think, really. The only
way everything can be made to work is by having the adapter/miniport
surface a LOGICAL sector size of 512 (and probably also a physical
sector size of 512, incidentally), and just “handle it” internally…
but that’s quite a big problem unless the drives themselves allow 512
byte aligned transfers. Otherwise, there’d be a lot of
read-modify-write cycles needed (or lots of data recopying).
By your definition, there are a LOT – like I would guess the majority
– of very stupid apps and drivers. Including, as Mr. Edwards pointed
out, the BIOS.
That 512 number has been a constant for a LONG time. And there’s LOTs
of software that uses the equivalent of
#define SECTOR_SIZE 512
Yeah… except for all those SCSI passthrough users and users of IOCTLs
that contain information about sectors.
I’m not saying it’s impossible, I’m just saying that when you lift this
rock, it’s pretty astonishing what you find crawling out.
Peter
OSR
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer