The Big Picture: A Shared Water Tank
Imagine several water tanks in your garden. Instead of using each tank separately, you connect them with pipes into one big pool. Then you fill smaller bottles from the pool as you need them. If one tank leaks, some bottles can be kept safe by having water stored in two tanks at once.
Storage Spaces works the same way for disks. Windows takes several physical disks, joins them into a pool, and lets you carve out virtual disks (called spaces) from the pool. Each virtual disk can have protection against a disk failing. It is built into Windows 10 and 11, with no extra hardware needed.
Physical disks Storage pool Virtual disks (spaces) Volumes
┌──────────┐
│ Disk A │──┐
│ 1 TB │ │
└──────────┘ │ ┌───────────────┐ ┌───────────────────┐
┌──────────┐ │ │ │ ──────► │ Space "Docs" │ ──► D: (NTFS)
│ Disk B │──┼───────► │ POOL │ │ two-way mirror │
│ 1 TB │ │ │ about 3 TB │ └───────────────────┘
└──────────┘ │ │ raw space │ ┌───────────────────┐
┌──────────┐ │ │ │ ──────► │ Space "Videos" │ ──► E: (NTFS)
│ Disk C │──┘ └───────────────┘ │ simple (no copy) │
│ 1 TB │ └───────────────────┘
└──────────┘
5.1 Software-Defined Storage Pooling
What it is: "Software-defined" means the software, not a special hardware card, decides how data is spread over the disks. This is different from a hardware RAID card, which does the same job inside a separate chip. (RAID, "Redundant Array of Independent Disks", is the general idea of combining disks for speed or safety. Storage Spaces gives you RAID-like choices.)
Three building blocks:
| Block | What it is | Windows name |
|---|---|---|
| Storage pool | A group of physical disks managed together | Get-StoragePool |
| Storage space (virtual disk) | A virtual disk carved from the pool. It appears in Disk Management as an ordinary disk | Get-VirtualDisk |
| Volume | A file system on that virtual disk, with a drive letter | Get-Volume |
Steps to build one (reference only; the lab does not do this):
- Add two or more unused physical disks. They can be different sizes and types (an SSD and a hard drive, SATA and USB). (Disks added to a pool lose their old contents, so use empty ones.)
- Open Settings → System → Storage → Advanced storage settings → Storage Spaces (the menu path moves between Windows versions), or search "Storage Spaces" in Control Panel.
- Create a pool, then a space with a name, size and resiliency type (5.2).
- Windows initializes the virtual disk and offers to format it.
Two clever features:
- Thin provisioning. You can create a space larger than the real space in the pool. For example, a 10 TB space on 3 TB of disks. Real space is only used as you write data. "Thin" means the space is promised, not yet taken. When the pool runs low, Windows warns you, and you add another disk. This is handy, but if you ignore the warnings the space can run out and go offline.
- Easy growth. Add a disk to the pool, and the pool gets bigger. The virtual disk can use it.
Where does the pool live in the storage stack? A space is a virtual disk. The storage stack from Section 1 appears twice: once below the pool (for each real disk) and once above it (the file system sees one big disk). Windows' own Storage Spaces driver sits in between and does the spreading.
File system sees: "one disk" ────────────┐
▼
┌───────────────────────┐
│ Storage Spaces driver │
└─────┬─────┬─────┬─────┘
▼ ▼ ▼
Normal stack per real disk: Disk A Disk B Disk C
5.2 Resiliency Options (Mirror, Parity)
What it is: Resiliency means "how well your data survives when a disk dies." You choose it per space. The more protection, the more raw disk space you spend.
| Type | How it works | Minimum disks | Survives | Usable space (rough) |
|---|---|---|---|---|
| Simple | Data is spread (striped) over disks. No copy | 1 | Nothing: one dead disk loses data | 100 % |
| Two-way mirror | Every piece of data is written twice, on different disks | 2 | One disk failure | About 50 % |
| Three-way mirror | Written three times | 5 (as Microsoft documents it) | Two disk failures | About 33 % |
| Parity | Data plus a calculated "check" value, like a sum, so a lost piece can be recomputed | 3 | One disk failure | About 67 % or more (grows with more disks) |
(Minimums and exact numbers depend on the Windows version and the edition. For example, newer versions and Windows Server can offer dual parity. Treat the table as a guide.)
TWO-WAY MIRROR PARITY (single) SIMPLE
Disk A: [1][2][3] Disk A: [1][3][P] Disk A: [1][4]
Disk B: [1][2][3] copy Disk B: [2][P][5] P = check Disk B: [2][5]
Disk C: [P][4][6] Disk C: [3][6]
Lose A → B has all Lose any one → rebuild Lose any one → lost
Simple analogy for parity: If three numbers add up to a stored total, and you lose one number, you can subtract the other two from the total and get it back. Parity does something like that with bits, so you lose less space than a mirror.
Which one should I pick?
| Goal | Good choice |
|---|---|
| Fast scratch space, you have backups | Simple |
| Important files, small setup | Two-way mirror |
| Large archive, mostly read, not much writing | Parity (writing is slower because checks must be recalculated) |
Warning: Storage Spaces protects against a disk dying. It does not protect against deleting a file by accident, ransomware or a fire. Mirrors are not backups. Keep a separate backup.
5.3 Looking at Storage Spaces (Read-Only)
In PowerShell (normal window is enough for most of these):
Get-StoragePool # lists pools (the "Primordial" pool is always there)
Get-PhysicalDisk # real disks, health, media type (SSD/HDD)
Get-VirtualDisk # your spaces (empty if you have none)If you have never made a pool, you will see only the Primordial pool. That is a built-in pool that simply lists every disk that is eligible to join a pool. It is not a real pool you created, and you cannot store anything in it.
Summary
| Term | Plain meaning |
|---|---|
| Storage Spaces | Windows feature that pools disks and makes virtual disks |
| Storage pool | A group of physical disks managed as one |
| Space / virtual disk | A disk carved from the pool, with a chosen resiliency |
| Thin provisioning | A space bigger than real space; real space is used only as written |
| Simple | Striped, no protection |
| Two-way / three-way mirror | Data written 2 / 3 times |
| Parity | Data plus check values; saves space, slower writes |
| Primordial pool | Built-in list of disks eligible to be pooled |
Get-StoragePool | PowerShell command to list pools |