Partitioning GPT Disks on UEFI systems

Tom’s Hardware (December 30, 2009 by Patrick Schmid and Achim Roos)

“You need a 64-bit version of Windows XP Professional (with the same core operating system version as Windows Server 2003 SP1), Vista, or Windows 7, to get full GPT support for drives that offer more than 2TB capacity. GPT offers the following features:

  • Maximum raw partition capacity of 18 exabytes
  • The Windows NTFS file system is limited to 256TB each: with up to 2^64 logical blocks in length and a physical cluster size of 65536-bytes (formatting with an allocation unit of 64 KiB sector groups required!)
  • Implementation restriction of 128 partitions per disk (limited by the amount of space reserved for partition entries in the GPT)
  • Primary and backup partition tables available for redundancy
  • Well-defined and self-identifying partition format
  • Each partition has a unique ID to avoid identifier collisions (“GUID” partition table)

Here is an overview of your possible partitioning options and actions on GPT and MBR:

32-bit Windows 64-bit Windows
GPT MBR GPT MBR
Boot No Yes Yes No
Read No Yes Yes Yes
Write No Yes Yes Yes

UEFI support becomes relevant for drives >2TB. It must be present to enable booting from such large partitions provided the other prerequisites (64-bit Windows and GPT) are met.

GPT Details on Windows x64
GPT will automatically install the EFI System Partition (ESP), which contains the boot loader, EFI drivers, and all other necessary files for booting the system (such as boot.ini, HAL, and NT Loader). It utilizes the GUID Partition Table rather than the master boot record. The ESP is 1% of the drive capacity, or a minimum size of 100MB and a maximum size of 1,000MB.

GPT systems will also be equipped with an MSR partition, which stands for Microsoft Reserved. Since GPT partitions don’t allow hidden sectors, Windows utilizes this reserved space for operating system use. If you decide to convert a basic disk into a dynamic disk, Windows will use the MSR partition, shrink its size, and create the dynamic disk database using available space. On drives smaller than 16GB, the MSR partition will be only 32MB. For larger disks, it will consume 128MB.”

Chatwin says: Even if your system is GPT-compliant and created using the necessary partition, you will still need UEFI support to be able to boot from a large volume (UEFI = Unified Extensible Firmware Interface).

In the second place support for 48bit LBA also requires Advanced Format CDB block re-alignment, enabled with an internal PCI-E Host Bus Adapter Card (by using the native Windows AHCI drivers only), your RAID controller and/or HDD device drivers. Here is where Long LBA addressing comes in…

Long LBA addressing increases the number of bytes used to define the LBA in the Command Descriptor Block (CDB). System must support at least 16-byte Command Descriptor Blocks (CDBs) or 32 bytes (Protection Information commands only) and Dynamic Sense Data to access the LBA counts above 2.1TB. Eight LBA address bytes are provided in 16- and 32-byte CDBs. This is a doubling of the 4 bytes in 10-byte commands (http://www.seagate.com/docs/pdf/whit…_readiness.pdf).

Installation requirements
1. Windows XP Professional with SP2 for Windows Server 2003 64-bit, Vista 64-bit, Windows 7 64-bit for GPT.
2. UEFI booting support since Windows Vista with Service Pack 1 (64-bit only).
3. Motherboard with UEFI 2.x implementation for boot drives on a partition larger than 2.2 TB.
4. Windows 7 (SP1) is supposed to understand AF drives, and correctly aligns partitions. Without the updates in a hotfix, Windows can’t detect the drive’s physical sector size, and Windows Update (and some other features) fail. Microsoft explanation and hotfix link: An update that improves the compatibility of Windows 7 and Windows Server 2008 R2 with Advanced Format Disks is available.
5. SP1 with hotfix aren’t correctly updating the storage driver, so it can’t report sector size to Windows. The clue here is that fsutil still reports “bytes per physical sector” as “<Not Supported>”. You can fix this issue to manually install the latest Intel driver (9.6 or later): Intel® Rapid Storage Technology.
6. Alignment instructions for installing XP64:

  • Use LSoft Active Boot Disk Suite (based on WinPE 3.1) to create a partition with an offset of 2048KB, format with 4K sectors and reboot.
  • Replace with XP64 SP2 installation DVD and install without altering the partition parameters.
  • After final installation reboot and use Paragon Partition Manager Server (WinPE 3.0 recovery environment) to convert cluster size from 4KB to 64KB.
  • Shutdown and start from primary HDD partition.

Paragon just introduces a new solution: Migrate to UEFI.
“It’s a simple four-step Copy Hard Disk Wizard that transfers a 64-bit Windows Vista/7 initially installed on an MBR disk in the BIOS mode to a GPT disk and the UEFI mode, thus opening up all benefits of the GPT+UEFI configuration, including support of a high-capacity 2.2TB+ hard drive for use as the primary system HDD.

Become an early adopter and download this component for free>>

Home and small-office users who try to move their 64-bit Windows Vista or Windows 7 software environments from the dated MBR/BIOS configuration to a modern GPT/UEFI platform find that you can’t just change the partitioning scheme and enable UEFI without reinstalling the operating system from scratch. The problem is that Windows Disk Management supports conversion to GPT for empty drives only, so you’ve got no way of converting the system drive to GPT without losing data. Besides Windows Management tools do not provide an option to adjust boot files for UEFI, making it impossible for users transferring established data or system components within a single computer directly from a BIOS boot mode to a UEFI-based mode.

Paragon Migrate to UEFI can help you tackle both issues with minimal effort. Some important benefits:

  • Automatically adjusts Windows OS to start up in the UEFI mode
  • Automatically creates a GPT partitioning scheme during migration
  • Supports AFD (Advanced Format Drive) disks (mixed 512B/4K sector scheme only, including virtual)
  • The source system remains intact and can be loaded in the BIOS mode at any time
  • Copy operation is run without the system restart by employing Microsoft VSS technology”

Table for Operating System – File Cache Alignment

Geeking Out on SSD Hardware Developments (Linux Magazine, February 9th, 2010)

Intel and Smaller Cells
“According to this link the theoretical lower limit on NAND cells appears to be around 20nm. One of the big reasons for this limitation is that as cells shrink in size they are, naturally, closer together. However, the voltage required to program a cell remains about the same (typically 12V). This means that the power density increases (amount of power in a given area) increasing the probability that the voltage will disturb the neighboring cells causing data corruption. Consequently, increasing the density of cells can be a dicey proposition, hence the lower limit.

Recently, IMFT (Intel-Micron Flash Technologies) LLC announced that it had begun sampling 2 bits per cell (MLC) NAND flash chips that have been manufactured using a 25nm process. This announcement is significant because of the increased density and how close the density is getting to the theoretical limit. Plus the fact that one of the best performing SSD drives is from Intel, one of the participating companies in the LLC, and we can see a fairly significant shift in technology.

IMFT is a joint project by Intel and Micro to develop new technologies around Flash storage (primarily NAND). The project started with production several years ago with a 72nm process. They then moved to a 50nm process in 2008 followed by a further reduction to a 34nm process in 2009. It is the 34nm process that current Intel SSDs utilize (Intel X25-M G2). The 34nm process produces a 4GB MLC NAND chip with a die size of 172 mm2.The new 25nm process is targeted for a first product which is an 8GB MLC NAND flash chip with a die size of 167 mm2. So going from 34nm to 25nm doubles the die density.

In addition to the doubling of die density the new chips will have some other changes. The current 34nm generation of chips have a page size of 4KB and 128 pages per block resulting in a block size of 512KB. The new chip will have a page size of 8KB and 256 pages per block. The means that the new block size is 8KB * 256 = 2,048KB (2MB). This change in block size can have a significant impact on performance.

Recall that a block is the smallest amount of storage that goes through an erase/write cycle when any single bit of the block is changed. For example, if any bit within the block is changed then the entire block has to first have the unchanged data copied from the block to cache and then the block is erased. Finally the updated information is merged with the cache data (unchanged data) and the entire block is written to the erased block. This process can take a great deal of time to complete and also uses a rewrite cycle for all of the cells in the block (remember that NAND cells have a limited number of rewrite cycles before they can no longer hold data).

The new 25nm chip will switch from 512KB blocks to 2MB blocks (2,048KB) increasing the amount of data that has to go through the read/erase/write cycle compared to the 34nm chips. To adjust to this change, Intel will have to make adjustments to the firmware to better handle the larger blocks. In addition, it is likely that Intel will have to at least double the cache size to accommodate the larger block sizes. It may have to increase the number of spare pages as well since a single bit change could cause a greater number of blocks to be tagged for updating. However, on the plus side, with larger pages, the controller can do much more optimization for writes including a much greater amount of write coalescing. But this too could increase the amount of cache needed.”

Chatwin’s Table

Conventional Allocation
4 KiB
Alignment
1 MB

Improved Allocation
64 KiB
Alignment
2 MB

OS – 32bit
File Level Cache

Page – 32 K
Size – 128 MB

Page – 64 K
Size – 256 MB

OS – 64bit
File Level Cache

Page – 64 K
Size – 256 MB

Page – 128 K
Size – 512 MB

OS – 32bit
Storage Level Cache

Page – 64 K
Size – 256 MB

Page – 128 K
Size – 512 MB

OS – 64bit
Storage Level Cache

Page – 128 K
Size – 512 MB

Page – 256 K stripe unit
Size – 1 GB

Cluster Unit Aligned
256 Kibit (32 KB)

Windows XP x32
(8*4)
System RAM: 2 GB

Physical Page Size:
32 Kibit (4 KB)
Logical Block Size:
128 KBytes

Sector Size – 512 bytes

Cluster Unit Aligned
512 Kibit (64 KB)

Windows XP x64
(8*8)
System RAM: 4 GB

Physical Page Size:
64 Kibit (8 KB)
Logical Block Size:
256 KBytes

Sector Size – 1024 bytes

AS SSD Benchmark

Benchmark Reviews (© 2010):

“Solid State Drives have traveled a long winding course to finally get where they are today. Up to this point in technology, there have been several key differences separating Solid State Drives from magnetic rotational Hard Disk Drives. While the DRAM-based buffer size on desktop HDDs has recently reached 32 MB and is ever-increasing, there is still a hefty delay in the initial response time. This is one key area in which flash-based Solid State Drives continually dominates because they lack moving parts to “get up to speed”. However the benefits inherent to SSDs have traditionally fallen off once the throughput begins, even though data reads or writes are executed at a high constant rate whereas the HDD tapers off in performance. This makes the average transaction speed of a SSD comparable to the data burst rate mentioned in HDD tests, albeit usually lower than the HDD’s speed. Comparing a Solid State Disk to a standard Hard Disk Drives is always relative; even if you’re comparing the fastest rotational spindle speeds. One is going to be many times faster in response (SSDs), while the other is usually going to have higher throughput bandwidth (HDDs).”

Patriot Inferno SSD Kit PI100GS25SSDR (24 May 2010)

“The biggest mistake PC hardware enthusiast make with SSDs is grading them by their speed. File transfer speed is important, but only so long as the operational IOPS performance can sustain that bandwidth under load. Benchmark Reviews tests the 100GB Patriot Inferno SSD, model PI100GS25SSDR, against some of the most popular storage devices available and demonstrates that 4K IOPS performance is more important than speed. For decades, the slowest component in any computer system was the hard drive. Most modern processors operate within approximately 1 ns (nanosecond = one billionth of one second) response time, while system memory responds between 30-90 ns. Traditional Hard Disk Drive (HDD) technology utilizes magnetic spinning media, and even the fastest spinning desktop storage products exhibit a 9,000,000 ns – or 9 ms (millisecond = one thousandth of one second) initial response time. In more relevant terms, The processor receives the command and waits for system memory to fetch related data from the storage drive. The difference a SSD makes to operational reaction times and program speeds is dramatic, and takes the storage drive from a slow ‘walking’ speed to a much faster ‘driving’ speed. Solid State Drive technology improves initial response times by more than 450x (45,000%) for applications and Operating System software, when compared to their HDD counterparts. Alex Schepeljanski of Alex Intelligent Software develops the free AS SSD Benchmark utility for testing storage devices. The AS SSD Benchmark tests sequential read and write speeds, input/output operational performance, and response times. Because this software receives frequent updates, Benchmark Reviews recommends that you compare results only within the same version family. Beginning with sequential read and write performance, the Patriot Inferno Solid State Drive produced 207.95 MB/s read speed, and 130.60 MB/s write performance. The sequential file transfer speeds have traditionally been low with this benchmark tool, especially for SandForce controllers, which is why we will concentrate on the operational IOPS performance for this section. Single-threaded 4K IOPS performance delivers 21.54 MB/s read and 61.18 MB/s write, which is among the highest results we’ve recorded. Similarly, the 64-thread 4K reads recorded 124.05 MB/s while write performance was 94.46… both earning the Patriot Inferno SSD a spot at the very top of our charts.”

Chatwin’s opinion: The Patriot Inferno (on the left) has excellent random R/W values, thanks to the SandForce controller, which uses complex algorithms to compress small user-data into 4K flash pages. The manufacturer also implements some kind of data redundancy, to ensure data integrity. All of this increases the IOPS and efficiency of the SSD and reduces the need for high quality (SLC) NAND flash or large DRAM buffers. The Indilinx controller of the Vertex Turbo (on the right) has a straight forward page level mapping (with 64 MB memory cache to combine write requests). In combination with a logical/physical 1:1 mapping (LBA/SSD), the Vertex (RAID 0, specifications: “The Force“) outperforms every other MLC SSD I’ve seen so far in access time (except the Intel X25-M G2 Postville, with a narrowed write bandwidth of 95 MB/s and 32K clustering on-the-fly, these SSD’s are simply unbeatable…). The sequential read/write speed is quite impressive. The two OCZ Vertex Turbo’s score lower IOPS values than the Patriot, but the bandwidth is much higher, even for RAID configurations.

Besides an exceptional response time, the result is better write coalescing when using my workstation for day-to-day stuff: email checking, editing office documents, internet browsing (caching redirected to hard disk of course). An average of 30 MB/hour at the most (zero to 3 when left for idle). I use Diskeeper HyperFast for maintenance, but so far it never initiated an automatic (free space) defragmentation. Even after several months of installing software and restoring system backups.

Note: AS SSD Benchmark was run in 2 sessions (first: Seq./Acc. Time, then 4K (-64) Thrd). No tricks or manipulations involved…
as-ssd-bench_Patriot-Inferno-AHCIas-ssd-bench Vertex0 18-6-2010

My Workstation PC (“The Force”)

PC: Self-concept / Assembled by: Informatique BV / Computer Store: Berkel & Rodenrijs (Rotterdam)

IMAGE_00111

Mobo Gigabyte GA-EP45T-UD3R (Bios: F6)
CPU Intel Core 2 Duo E8400 @ 3.400 MHz, 1.136V (FSB: 400×8.5)
Memory 2 x OCZ Platinum PC3-12800 1600MHz DDR3 (4GB) @ 7-7-7-20, 2T (1N)
Boot Drive 2 x OCZ Vertex Turbo SSD 30GB @ 60GB RAID 0 (128K stripe, 8K sectors [1:1], 2MB offset) – random access time [AS SSD Benchmark R/W]: 0.13/0.20 ms
2nd Drive 2 x Seagate Barracuda 7200.12 HDD 500GB @ 1TB RAID 0 (128K stripe, 8K sectors [16:1], 2MB offset) – average access time [short stroked]: 8 ms
GPU Asus EN9600GT Silent/2D/HTDI 512MB, PCIe
Sound Asus Xonar D1 7.1, LP, PCI
CPU Cooler Arctic Cooling Freezer Xtreme Rev.1
Gamer Case Antec Nine Hundred Two
Power Supply Be Quiet! Dark Power Pro Edition (P7), 450W
Optical Drive Pioneer DVR-117F DVDRW
OS XP Professional x64 Edition SP2 (SXP June 2009)
System Tools LSoft Active Boot Disk Suite v4.1.4
Paragon Partition Manager v10.0 Server
O&O DiskImage 4Professional Edition (x64)
Diskeeper 2010 Home Edition with HyperFast

%d bloggers like this: