My understanding was that Windows can implement something like RAID 0 programmaticaly, that is, if you don't have a physical RAID controller, you can still make two hard drives to appear as one.

How does NTFS address blocks on the other hard drive in this case? Is it a specific driver that does the mapping? Or is there some different way the location of the clusters on the other hard drive are addressed in MFT (master file table)?

link|improve this question
feedback

migrated from stackoverflow.com Feb 4 '10 at 0:53

This question came from our site for professional and enthusiast programmers.

1 Answer

It doesn't.

Software RAID is usually implemented by a file-system filter driver.

If you're just interested more in what NTFS can do, http://www.ntfs.com/ is a nice place to start.

link|improve this answer
Software RAID is usually implemented by a block driver below the filesystem, not a filter driver above it. – David Schwartz Nov 14 '11 at 8:50
Aren't low level filter drivers below the filesystem? – codekaizen Nov 14 '11 at 9:21
A file system filter driver filters filesystem requests (like 'open file', 'remove directory', and so on). The RAID is implemented more like a block device filter, handling the requests issued by the filesystem (like 'read block', 'write block'). When the filesystem goes to write a block, a mirroring RAID driver will write the block to both drives. When the filesystem goes to read a block, the mirroring RAID driver will try to read the block from one drive and if it fails, the other. There are a few reasons you can't do it the other way. (How would 'chkdsk' work?) – David Schwartz Nov 14 '11 at 9:23
Yes, of course it must work this way; I just understood lower-level filter drivers to be under the function driver so it would be talking blocks to the underlying device via block IOCTLs from the filesystem. Is this not the case? – codekaizen Nov 14 '11 at 9:27
Yes, now you've got it. As your link says, "A file system filter driver intercepts requests targeted at a file system or another file system filter driver." That's not how RAID works. It acts on requests targeted at a block device driver, not requests targeted at a file system or file system filter driver. Correct concept, wrong level. (One more down.) – David Schwartz Nov 14 '11 at 9:28
show 1 more comment
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.