1

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)?

Nick
  • 193
  • 1
  • 1
  • 6

1 Answers1

1

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.

codekaizen
  • 119
  • 3
  • Software RAID is usually implemented by a block driver below the filesystem, not a filter driver above it. – David Schwartz Nov 14 '11 at 08:50
  • Aren't low level filter drivers below the filesystem? – codekaizen Nov 14 '11 at 09: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 09: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 09: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 09:28
  • Ah, I see now - yes, the link only talks about upper level drivers. It seems that the terms upper-level / lower-level might not even be used anymore. – codekaizen Nov 14 '11 at 10:02