Difference between revisions of "Advanced Format"

From ArchWiki
Jump to: navigation, search
(Current HDD Models that Employ a 4k Sectors)
 
(75 intermediate revisions by 47 users not shown)
Line 1: Line 1:
[[Category:Storage (English)]]
+
[[Category:Storage]]
{{i18n|Advanced Format}}
+
[[ja:Advanced Format]]
==Introduction==
+
[[ru:Advanced Format]]
The 'advanced format' feature reduces overhead by using 4 kilobyte sectors instead of the traditional 512 byte sectors. The old format gave a format efficiency of 87%. Advanced Format results in a format efficiency of 96% which increases space by up to 11%.  The 4k sector is slated to become the next standard for HDDs by 2014.
+
The [[wikipedia:Advanced Format|Advanced Format]] is a generic term pertaining to any disk sector format used to store data on magnetic disks in [[w:hard disk drives|hard disk drives]] (HDDs) that uses 4 kilobyte sectors instead of the traditional 512 byte sectors. The main idea behind using 4096-byte sectors is to increase the bit density on each track by reducing the number of gaps which hold Sync/DAM and ECC (Error Correction Code) information between data sectors. The old format gave a format efficiency of 88.7%, whereas Advanced Format results in a format efficiency of 97.3%.
  
===More Detailed Explanation===
+
There are two types of AF drives:
The main idea behind using 4096-byte sectors is to increase the bit density on each track by reducing the number of gaps which hold Sync/DAM and ECC (Error Correction Code) information between data sectors. For eight 512-byte sectors, the track also holds eight sector gaps.
+
*Advanced Format drives, marked with an orange "AF" logo: internally, they use 4k sectors, but provide an emulation layer for compatibility with OSes which lack support for them.
 +
*Advanced Format 4k native drives, marked with a blue "4Kn" logo: they require OS support (Windows 8+, or Linux 2.6.31+). Because they do not need a translation layer, they are cheaper, however they might be incompatible with old tools.
  
By having one single sector of size 4096-byte (8 x 512-byte), the track holds only 1 sector gap for each data sector thus reducing an overhead for a need to support multiple Sync/DAM and ECC blocks and at the same time increasing bit density.
+
== How to determine if HDD employ a 4k sector ==
  
Linux partitioning tools by default start each partition on sector 63 which leads to a bad performance in HDDs that use this 4K sector size due to misalignment to 4K sector from the beginning of the track.
+
The physical and logical sector size of hard disk {{ic|/dev/sd''X''}} can be determined by reading the following sysfs entries:
  
===External Links===
+
$ cat /sys/class/block/sd''X''/queue/physical_block_size
*[http://www.anandtech.com/Show/Index/2888?cPage=2&all=False&sort=0&page=1 Western Digital’s Advanced Format: The 4K Sector Transition Begins]
+
$ cat /sys/class/block/sd''X''/queue/logical_block_size
*[http://www.wdc.com/wdproducts/library/WhitePapers/ENG/2579-771430.pdf White paper entitled "Advanced Format Technology."]
 
*Failure to align one's HDD results in poor read/write performance.  See [http://www.linuxconfig.org/linux-wd-ears-advanced-format this article] for specific examples.
 
  
==Current HDD Models that Employ a 4k Sectors==
+
Drives with a translation layer (see above) will usually report a logical block size of 512 (for backwards compatibility) and a physical block size of 4096 (indicating they are AF drives).
As of June 2011, there are a limited number of HDDs that support "Advanced Format" or 4k sectors as shown below.
 
  
All drives in this list have a physical sector size of 4096 bytes, but not all drives correctly report this to the OS.  The actual value reported (via new fields in the ATA-8 spec) is shown in the table as the physical reported sector size.  As this is the value partitioning tools use for alignment, it is important that it should be 4096 to avoid misalignment issues.
+
Tools which will report the physical sector of a drive (provided the drive will report it correctly) includes
  
The logical sector size is the sector size used for data transfer. This value multiplied by the number of LBA sectors on the disk gives the disk capacity. Thus a disk with 4096 byte logical sectors will have a lower maximum LBA for the same capacity compared to a drive with 512 byte sectors. Drives with 512 byte logical sectors offer better compatibility with legacy operating systems (roughly those released before 2009) however drives with 4096 byte logical sectors may offer marginally better performance (e.g. more read/write requests may fit into the NCQ buffer.)
+
* [[S.M.A.R.T.|smartmontools]] (since 5.41 ; {{ic|smartctl -a}}, in information section)
 +
* [[hdparm]] (since 9.12 ; {{ic|hdparm -I}}, in configuration section)
  
{|class="wikitable"
+
Note that both works even for USB-attached discs (if the USB bridge supports SAT aka SCSI/ATA Translation, ANSI INCITS 431-2007).
!rowspan=2| Manufacturer !!rowspan=2| Model !!rowspan=2| Capacity !!colspan=2| Reported sector size (bytes)
 
|-
 
! Logical !! Physical
 
|-
 
|colspan=5| '''3.5"'''
 
|-
 
| Western Digital || WD30EZRX    || 3.0 TB || 512  || 4096
 
|-
 
| Western Digital || WD30EZRSDTL || 3.0 TB
 
|-
 
| Western Digital || WD25EZRSDTL || 2.5 TB
 
|-
 
| Samsung        || HD204UI    || 2.0 TB || 512  || 512
 
|-
 
| Seagate        || ST1000DL002 || 1.0 TB || 512  || 512
 
|-
 
| Seagate        || ST2000DL003 || 2.0 TB || 512  || 512
 
|-
 
| Seagate        || ST3000DM001 || 3.0 TB || 512  || 4096
 
|-
 
| Western Digital || WD20EARS    || 2.0 TB || 512  || [http://community.wdc.com/t5/Desktop/4k-sector-drive-reporting-512-byte-sectors-to-OS-why/td-p/205060 512]
 
|-
 
| Western Digital || WD15EARS    || 1.5 TB || 512  || [http://excess.org/article/2010/11/wd-hdd-lying-about-4k-sectors/ 4096]
 
|-
 
| Western Digital || WD10EARS    || 1.0 TB
 
|-
 
| Western Digital || WD10EURS    || 1.0 TB
 
|-
 
| Western Digital || WD8000AARS  || 800.0 GB
 
|-
 
| Western Digital || WD6400AARS  || 640.0 GB
 
|-
 
|colspan=5| '''2.5"'''
 
|-
 
| Western Digital || WD10TPVT    || 1.0 TB
 
|-
 
| Western Digital || WD7500BPVT || 750.0 GB
 
|-
 
| Western Digital || WD7500KPVT || 750.0 GB
 
|-
 
| Western Digital || WD6400BPVT  || 640.0 GB
 
|-
 
| Western Digital || WD5000BPVT  || 500.0 GB
 
|-
 
| Western Digital || WD3200BPVT  || 320.0 GB
 
|-
 
| Western Digital || WD2500BPVT  || 250.0 GB || 512  || 4096
 
|-
 
| Western Digital || WD1600BPVT  || 160.0 GB
 
|}
 
  
{{Note| Readers are encouraged to add to this table.}}
+
== See also ==
  
==Aligning Partitions==
+
* [http://www.anandtech.com/Show/Index/2888 Western Digital’s Advanced Format: The 4K Sector Transition Begins]
===Check your partitions alignment===
+
* [http://www.wdc.com/wdproducts/library/WhitePapers/ENG/2579-771430.pdf White paper entitled "Advanced Format Technology."]
{{Note|This only works with [[MBR]], not [[GPT]].}}
+
* Failure to align one's HDD results in poor read/write performanceSee [http://www.linuxconfig.org/linux-wd-ears-advanced-format this article] for specific examples.
# fdisk -lu /dev/sda
 
...
 
# Device    Boot      Start  End        Blocks      Id System
 
# /dev/sda1            2048    46876671    23437312    7  HPFS/NTFS
 
 
 
2048 (default since fdisk 2.17.2) means that your HDD is aligned correctly.
 
Any other value divisible by 8 is good as well.
 
 
 
===GPT (Recommended)===
 
When using [[GPT]] partition tables, one need only use gdisk to create partitions which are aligned by default.  For an example, see [[SSD#Detailed_Usage_Example]].
 
 
 
===MBR (Not Recommended)===
 
One can employ fdisk to align partitions to sector 2048 which will ensure that the partitions are aligned to the 4k sector.  Interestingly, in sector mode, the default starting point is not 63 or 64 but 2048 in the current version of fdisk (2.17.2) so it is automatically taking care of the 4k sector size!
 
 
 
# fdisk -c -u /dev/sda
 
 
 
==Special Consideration for WD Green HDDs==
 
 
 
FYI - this section has nothing to do with Advanced Format technology, but this is an appropriate location to share it with users.  The WD20EARS (and other sizes include 1.0 and 1.5 TB driver in the series) will attempt to park the read heads once every 8 seconds FOR THE LIFE OF THE HDD which is just horrible! To see if you are affected use the smartctl command (part of smartmontools). If the last column changes rapidly, this section applies to your drive.
 
# smartctl /dev/sdb -a | grep '^193'
 
193 Load_Cycle_Count        0x0032  001  001  000    Old_age  Always      -      597115
 
 
 
Use hdparm in {{ic|/etc/rc.local}} to disable this 'feature' and likely add life to your hdd:
 
 
 
# echo "hdparm -S 242 /dev/sdX" >> /etc/rc.local
 
 
 
Alternatively, the following shell script can accomplish this automatically:
 
#!/bin/sh
 
for DISK in `fdisk -l | grep [12]000.4 | cut -c13-13`; do
 
    echo hdparm -S 242 /dev/sd$DISK >> /etc/rc.local
 
done
 
 
 
Also be sure to disable atime by adding the "noatime" or "relatime" option to each mount in fstab. Without this flag every file access will force a write to disk waking it up.
 
 
 
=== Western Digital's solution ===
 
 
 
According to Western Digital the solution to this problem is different than the one above, see link for more information. Their solution is instead to disable Advanced power management (Uses more power as turns off all low power modes but results in no load/unload cycles) . Use hdparm in {{ic|/etc/rc.local}} to disable Advanced power management:
 
 
 
  # echo "hdparm -B 255 /dev/sdX" >> /etc/rc.local
 
 
 
====External Links====
 
*[http://wdc.custhelp.com/app/answers/detail/search/1/a_id/5357/c/130/p/227,294 The S.M.A.R.T Attribute 193 Load/Unload counter keeps increasing on a SATA 2 hard drive]
 

Latest revision as of 08:16, 6 September 2018

The Advanced Format is a generic term pertaining to any disk sector format used to store data on magnetic disks in hard disk drives (HDDs) that uses 4 kilobyte sectors instead of the traditional 512 byte sectors. The main idea behind using 4096-byte sectors is to increase the bit density on each track by reducing the number of gaps which hold Sync/DAM and ECC (Error Correction Code) information between data sectors. The old format gave a format efficiency of 88.7%, whereas Advanced Format results in a format efficiency of 97.3%.

There are two types of AF drives:

  • Advanced Format drives, marked with an orange "AF" logo: internally, they use 4k sectors, but provide an emulation layer for compatibility with OSes which lack support for them.
  • Advanced Format 4k native drives, marked with a blue "4Kn" logo: they require OS support (Windows 8+, or Linux 2.6.31+). Because they do not need a translation layer, they are cheaper, however they might be incompatible with old tools.

How to determine if HDD employ a 4k sector

The physical and logical sector size of hard disk /dev/sdX can be determined by reading the following sysfs entries:

$ cat /sys/class/block/sdX/queue/physical_block_size
$ cat /sys/class/block/sdX/queue/logical_block_size

Drives with a translation layer (see above) will usually report a logical block size of 512 (for backwards compatibility) and a physical block size of 4096 (indicating they are AF drives).

Tools which will report the physical sector of a drive (provided the drive will report it correctly) includes

  • smartmontools (since 5.41 ; smartctl -a, in information section)
  • hdparm (since 9.12 ; hdparm -I, in configuration section)

Note that both works even for USB-attached discs (if the USB bridge supports SAT aka SCSI/ATA Translation, ANSI INCITS 431-2007).

See also