Originally posted by: Bozz
How does a brand new controller know an array exists that was created from two HDDs on a different controller altogether?
In general -- it doesn't, unless the array is from the same kind of controller. Each controller manufacturer usually has some way of tracking it, probably by writing some extra data to the boot sector or a hidden partition (if you look at the total available size of a RAID array versus the raw space on the drives added together, usually you'll see it's a tiny bit smaller.)
Some controllers (especially older ones) don't necessarily store much data, and may break if you do things like swapping drives around on the controller ports. Sometimes if you have to replace the controller, you need to specifically tell it what kind of array is supposed to be there, and only then it can correctly access it.
If you created an 'empty' array and then used software to look at the drives in a totally raw format (reading individual blocks rather than going through the filesystem), you could see what the controller wrote.
It would be
really nice if there was an industry-wide standard for this. But there isn't.