• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Failsafe IDE hard drive caches

MadRat

Lifer
The reason that hard drives don't use larger caches is because of the risk of losing data if power suddenly shuts down. We all remember the fiasco when Windows OS's powered off the machines before cache dumps; alot of data was being lost and OS's corrupted. The newer ATA133 standard has alot of headroom for huge data caches since the mechanical speeds of the hard drives are so far behind the capabilities of the median. What would it take to make a cache on an IDE hard drive that would be safe from sudden powerloss?

I'm thinking a solid state media solution would be efficient, although transfer rates lag behind hard drive performance.

Trying to use a battery to power the drive until cache has been dumped would be a tricky solution.

Trying to use a battery to power the cache until power is restored is a risky solution.

What ideas do you have?
 
Turn a small area of hard driver space into sram, then it wouldn't lose the data when it powers down. But that will expensive though. OR make sure you save the data before it powers off.
 
... or put large capacitors on the drive so it can writeback on surprise poweroff.

The only true solution: Use an operating system that doesn't do that. On a surprise mains power loss you're screwed anyway since any OS does its own buffering in main system RAM as well.

regards, Peter
 
I suspect the best solution would be to use solid state media, e.g. Flash - with a back up capacitor which will keep the cache RAM and the flash energized for long enough to transfer the contents of the cache into the flash RAM.

This really is only a quick fix rather than a true solution - what IDE really needs to support is an option to disable write-behind cache strategies, such as is found as standard on SCSI drives. Many SCSI drives are shipped with this function disabled so that writes go straight to the media before the drive confirms the write. However, in terms of building a reliable system this is only one part of the problem.

The same problem occurs in the OS and some high reliability OSs therefore allow the user to disable software based write-behind caching.

Some server grade SCSI cards contain battery backed cache RAM, to allow the OS to commit data to 'disk' as quickly as possible, while still protecting the data in the event of unexpected power failure
 
Back
Top