Cache while doing hard disk refresh?
Posted: 2016.05.17. 19:44
Hello,
I have a question about Hard Disk Sentinel Professional (which I didn't use yet), more precisely about the “refresh” feature: “Read+write+read test (refresh data area)”.
I am aware that when writing data to an hard disk, the data is temporarily held into a cache (even after the write is completed). If there is then a read operation of the same data, then the data is read from that cache (to make things quicker). The problem with this is when the user wants to (immediately) verify the integrity of the written data: the read operation will be performed from the data inside the cache, not from the actual hard disk surface, thus a write error will not be detected.
I think that there is more than one cache working when writing to hard disk: the cache on the actual hard disk (disk buffer), a cache from Windows (page cache), and perhaps even more.
How does Hard Disk Sentinel handle this when doing a refresh of an hard disk? Will the read-after-write operation read the actual sector on the hard disk surface, or will it read the sector data from cache? Should Hard Disk Sentinel detect a write error? Did you (or your customers) actually experience detection of a write error when doing an hard disk refresh?
I know there is an option in Windows to disable write caching on a device, but I'm not sure which cache gets disabled (disk buffer or page cache), and if it will actually solve the problem (since there would be still other caches working). But perhaps with Hard Disk Sentinel there is no problem in any case, when doing an hard disk refresh?
I suppose that if Hard Disk Sentinel unmounts the volume while doing the refresh operation, then the Windows page cache should be disabled for that volume.
Regarding the disk buffer, I read on Wikipedia that “the data in the disk buffer is rarely reused” and thus isn't really a cache (https://en.wikipedia.org/wiki/Disk_buffer), but that “rarely” makes me doubtful.
And I'm not sure if there are other caches at work.
I'm not sure if all what I have written is correct. Please let me know if there is something which I didn't understand.
I hope that there is no issue with caches, and that Hard Disk Sentinel will be able to detect a write error if it (rarely) happens during hard disk refresh.
Thanks.
I have a question about Hard Disk Sentinel Professional (which I didn't use yet), more precisely about the “refresh” feature: “Read+write+read test (refresh data area)”.
I am aware that when writing data to an hard disk, the data is temporarily held into a cache (even after the write is completed). If there is then a read operation of the same data, then the data is read from that cache (to make things quicker). The problem with this is when the user wants to (immediately) verify the integrity of the written data: the read operation will be performed from the data inside the cache, not from the actual hard disk surface, thus a write error will not be detected.
I think that there is more than one cache working when writing to hard disk: the cache on the actual hard disk (disk buffer), a cache from Windows (page cache), and perhaps even more.
How does Hard Disk Sentinel handle this when doing a refresh of an hard disk? Will the read-after-write operation read the actual sector on the hard disk surface, or will it read the sector data from cache? Should Hard Disk Sentinel detect a write error? Did you (or your customers) actually experience detection of a write error when doing an hard disk refresh?
I know there is an option in Windows to disable write caching on a device, but I'm not sure which cache gets disabled (disk buffer or page cache), and if it will actually solve the problem (since there would be still other caches working). But perhaps with Hard Disk Sentinel there is no problem in any case, when doing an hard disk refresh?
I suppose that if Hard Disk Sentinel unmounts the volume while doing the refresh operation, then the Windows page cache should be disabled for that volume.
Regarding the disk buffer, I read on Wikipedia that “the data in the disk buffer is rarely reused” and thus isn't really a cache (https://en.wikipedia.org/wiki/Disk_buffer), but that “rarely” makes me doubtful.
And I'm not sure if there are other caches at work.
I'm not sure if all what I have written is correct. Please let me know if there is something which I didn't understand.
I hope that there is no issue with caches, and that Hard Disk Sentinel will be able to detect a write error if it (rarely) happens during hard disk refresh.
Thanks.