Floppy disks don’t have a partition table, hard drives do. What about SD cards? USB sticks? Raw NAND flash media? For that matter, what is a partition table? I aim to deliver an explanation and answer those questions, as well as offer some other angles on the topic, too. Along the way, we cover updates to Tuxera software to handle all partition table options. The result, as always, is fully tested software you can trust to meet your needs.

What is a partition table?

Simply put, disk partitions are divisions of a hard drive’s storage space into distinct sections; the partition table is a map to those sections. Each partition can be managed separately and can even have entirely different file systems. Partitioning offers a lot of flexibility into how you want to organize a drive and how to manage the data on the drive.

In the early days of computers, four primary partition table entries were stored in the Master Boot Record (MBR), which was located in the first sector of the disk. Additional partitions could be stored in an Extended location. These partitions were each known as logical drives, subsets of a physical drive.

Early BIOS implementations were limited to 28 bits to keep track of sectors, resulting in a maximum drive size of 137 gigabytes. Newer MBR implementations allowed the use of the full 32-bit value for the starting location and total count of sectors, which resulted in a maximum drive size of 2 terabytes.

Improvements with GPT

UEFI BIOS introduced the GUID Partition Table (GPT), which greatly increased addressable size. GUID here stands for a Globally Unique IDentifier. This new design allows up to 128 partitions with a maximum drive size of 18 exabytes. Other improvements include safety and reliability features, including a backup in case of corruption and CRC protection of the stored data.

Curated content: “How modern file systems detect & respond to SD and SSD media failures”

The GPT has a legacy reserved section in the MBR table location. This means that older devices could read this table and see it as an unknown partition type with no empty space available on the disk.

Are partition tables required?

A partition table is not required on the media. As mentioned earlier, a floppy disk did not contain a partition table. This was also true of most removable media early on. Today’s modern removable media (SD and CF cards, USB external drives, and more) can make a choice – though that can have consequences. As an example, earlier Windows desktops would only show the first partition of an SD card, leaving the rest unavailable. External tools today help users understand how to partition an SD card for Windows or Linux desktops, though this will require erasing all the data on the card.

From the perspective of an operating system, each partition is mapped to a unique disk or “drive” identifier. Media without a partition is mapped to a single disk or drive. Perhaps more importantly, embedded system designers must know how their target environment will handle the media. This includes whether partitions are recognized, and whether GPT will be supported.

In the introduction, I also mentioned NAND flash media. Tuxera provides flash translation layer (FTL) software that allows raw flash media to appear as a block device. This block device could be formatted with any file system format, and could optionally include either type of partition table. In practice, most customers define the disk partition options in the flash media configuration settings. The result for the target environment is multiple flash disks, each of which can be formatted with a file system of choice.

Adaptations to Tuxera software to handle all table options

Tuxera has provided file systems and other software that interact with partition tables since before GUID partition tables were introduced. The boot loaders of embedded target environments vary, and some of the newer designs recognize GPT. This means Tuxera software must handle multiple options in addition to multiple environments.

Designs without a partition table are the simplest. The entire available media acts as a single drive space, essentially a single partition. This matches how floppy disks and removable media operated in the past.

As more target environments supporting GUID partition tables became available, our software has been adapted to handle both MBR and GPT options. This is especially relevant for standard file system formats, including Microsoft exFAT by Tuxera and other components of our GravityCS by Tuxera suite. Desktop environments can recognize Tuxera proprietary file systems this way as well, launching a FUSE driver for each drive in the appropriate partition table.

Supporting multiple operating systems, desktop environments and now partition types is an example of the broad support available in our fully tested Tuxera file systems. Our experts handle the file system specifics, allowing your design experts to focus on what you know best – your embedded software design.

Conclusion

Partition tables allow large disks to be broken into distinct sections, referred to as disks or drives. Newer GUID Partition Tables allow larger partitions on drives up to 18 exabytes in size. They also provide safety and reliability features. Embedded designs may work with either partition table type, or no partitions. Tuxera file system software is fully tested to work in each of these design environments.


As a personal aside

This article is an example of many provided by Tuxera. We know our readers are interested in technology topics and the impact on their embedded designs, and as a writer, I work hard to research and fulfil this interest. When I write for this audience, accuracy is my number one requirement. I cannot write stories or make up facts, like certain large language models. In short, the GUID Partition Table is the only sort of GPT that I will ever utilize on our editorials, tech notes, and whitepapers.