Drives, Partitions, Volumes
Windows storage explained

A quick primer on what is what in the Windows storage framework.

The elements

When it comes to storing data, Windows operates with several elements of the storage "stack": At the hardware level there are physical drives that provide a pool of raw storage space, which can be read and written in fixed-sized chunks called sectors. Drives can be sliced into partitions.

Partitions then can be formatted to host a file system, which enables reading and writing data as arbitrary-sized files, grouping them into directories and generally managing them in various ways.

Formatted partitions are called volumes.

The list of partitions is stored in a partition table at the beginning of a drive. There are several table formats and Windows natively supports two of them - MBR and GPT.

There's nearly a hundred types of file systems in existence. About a dozen of them is in a wide-spread use, including Windows' own NTFS and a beautifully comprehensive ZFS.

RAID

As you may know, physical drives may be bunched together to form a single storage facility called RAID.

RAID looks like just another drive to its host computer, but on the inside it routes read/write requests to one or more drives to provide for extra speed or to ensure data redundancy (or both). RAID is a very broad and interesting topic worthy of its own post, but the key takeaway is that RAID is a hardware abstraction - it talks and works like a single drive. However, there exists one case where we want to actually ignore this abstraction and talk to each of the RAID drives directly.

That would be the case of assessing health status of the array by analyzing individual drive's S.M.A.R.T. data.

Mounting

Volumes do not have drive letters attached to them by default as they are merely partitions that were marked up for storing files.

To make volumes actually accessible from Windows, they need to be mounted, which is a process of either assigning a drive letter to the volume or "pinning" it to a directory on another, already mounted, volume.

The latter might sound like an oddity in the Windows world, but this is how a vast majority of all other operating systems work, including OS X and Linux.

On Windows, when a new volume is created, the OS will mount it automatically to the one of available drive letters. It will also do the same when a removable drive is plugged into the system.

In other words, the mounting step is present on Windows, but it's conveniently obscured by the OS.

Volume types

One aspect of the storage layering that commands a closer look is the relationship between partitions and volumes.

In the simplest (and most common) case, this relationship is 1:1 - each partition is formatted to yield a volume. However, it's possible to combine multiple partitions of the same drive into a single volume, called a simple dynamic volume on Windows: It's also possible to build a volume out of several partitions on different drives, creating a so-called spanned dynamic volume: These types of volumes are populated sequentially, one partition at a time. Their purpose is to allow growing / shrinking volumes as your data storage needs change. Furthermore, Windows also supports a so-called Software RAID, which is an arrangement of partitions that mimics the semantics of levels 0, 1 and 5 of conventional (hardware) RAID.

Striped dynamic volumes distribute read/write requests between several equally-sized partitions on different drives, improving the overall throughput rate. Mirrored dynamic volumes provide data redundancy by writing same chunk of data to all partitions in the volume in parallel. Windows also supports a software equivalent of RAID 5, however a thing to note here is that the prevailing professional opinion is to use any software RAID only as an option a last resort.

The one true RAID is the hardware one.

References




Made by Pipemetrics in Switzerland
Support


Follow
Twitter
Dev blog
Miscellanea Press resources
Testimonials
On robocopy
Company
Imprint

Legal Terms
Privacy