What's The Fastest Partition Scheme On Cheap Flash Media? - page 2
What's the Catch?MBR partitioning schemes typically create partitions aligned on sector 63 and may very well arrange the disk to straddle the erase blocks from that point forward. Manufacturers of dedicated Solid State Disks go to a great deal of trouble to make sure everything aligns, regardless of the partition table used. But it's unlikely that kind of sophistication is built into cheap flash controllers.
The good news is, in most cases a GPT setup will automatically align the erase and device blocks, so that problem disappears. If that's the issue, it's easy to see why the write speeds would improve. What's not so easy to figure out is why the VFAT and Reiser read speeds improve, or why the Reiser write speed degrades ... so there's probably more going on here than just block alignment. Plus, there's always the important mantra: Flash Is Weird. To some extent, you never know what it's going to do.
What Is GPT?The GUID Partition Table is part of Intel's EFI spec, a system designed to replace the shockingly outdated PC BIOS that starts most of our computers (very slowly). Current Apple computers already use such a setup, and starting in 2011 you'll probably be seeing a lot of x86 computers getting on board under the name UEFI (Unified Extensible Firmware Interface). Intel, Apple, AMD, Dell, Microsoft and Hewlett-Packard are all on board.
By the way, the GUID part of GPT (an ETLA within a TLA!) stands for Globally Unique I Dentifier. For example, the string of gobbledegook you'll see in a recent /etc/fstab instead of, say, /dev/sda1. Curiously, GUID partition names are not required in a GPT. In this case GUID refers to a unique identifier for each partition type, such as Ext4 or Swap.
Notes About The Comparison TestsWell over 80 tests were run using eight different computers running 12 operating systems. Ten flash units were used, some USB drives and others in one of five card readers. Small, medium and large workloads were tested. The GPT advantage was fairly consistent throughout.
Tests were run from hard disk to flash, from flash to flash, and to get as clean a result as possible, from ramdisk to flash and back. To duplicate these tests, download the linux 2.6.34 beezyball and run "time rsync -rv from -> to && time sync && time umount flash". Best to live on the edge and run as root.