Q: Host protected area (HPA), hdparm, and 4 KB sectors
I have a couple of questions concerning the host protected area (HPA)
on SATA disks. All the following is no problem with my Linux system,
I just want to understand things:
1. My two Seagate Barracuda 2 TB disks were not bought as part of a
completely installed computer but separately as single parts.
I.e. there should be no recovery or installation software or
similar in the HPA. However, both drives have a HPA of about 1 MB.
What could be the reason for Seagate to do that?
# hdparm -N /dev/sda
/dev/sda:
max sectors = 3907027055/3907029168, HPA is enabled
2. The man page of hdparm warns about changing the HPA using hdparm -N,
because data loss is extremely likely. Is that only because of the
possibility of using the command incorrectly or are there other
risks, too? Otherwise, I'd like to disable the HPA and see what's
in that ~1 MB space.
3. Does the kernel or hdparm have a problem with HPA and disks that
use 4 KB sectors? I have an external 4 TB USB hard disk that is
shown like this:
# fdisk -l /dev/sdc
Disk /dev/sdc: 3.7 TiB, 4000787030016 bytes, 976754646 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xb6217b1c
Device Boot Start End Sectors Size Id Type
/dev/sdc1 256 976754645 976754390 3.7T 8e Linux LVM
# hdparm -I /dev/sdc | sed /^Cap/q
/dev/sdc:
ATA device, with non-removable media
Model Number: ST4000DM000-1F2168
Serial Number: S301JQ3M
Firmware Revision: CC54
Transport: Serial, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
Used: unknown (minor revision code 0x001f)
Supported: 9 8 7 6 5
Likely used: 9
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 268435455
LBA48 user addressable sectors: 7814037168
Logical Sector size: 512 bytes
Physical Sector size: 4096 bytes
Logical Sector-0 offset: 0 bytes
device size with M = 1024*1024: 3815447 MBytes
device size with M = 1000*1000: 4000787 MBytes (4000 GB)
cache/buffer size = unknown
Form Factor: 3.5 inch
Nominal Media Rotation Rate: 5900
Capabilities:
Interestingly, fdisk shows 976754646 logical sectors of size 4096
bytes while hdparm reports 7814037168 sectors of 512 bytes.
But when showing the HPA of that disk I get
# hdparm -N /dev/sdc
/dev/sdc:
max sectors = 7814037168/7801454256(18446744072933654192?), HPA setting seems invalid
The native max address is 12582912 sectors (exactly 6 GiB) smaller
than the end of the accessible disk, i.e beginning of HPA.
Nevertheless, I can dd up to the end of the disk without any
problem.
So what is wrong with this disk?
Steve
Reply to: