My understanding was that hard drive manufacturers had announced the move to 4K sectors back in 2010, and 4K sector support has been present in operating systems since Windows Vista. Yet I just checked my brand new Samsung 980 PRO 2TB SSD and it reports 4K physical sectors but an emulated 512 byte interface. Same with my 8TB Seagate. I find it odd that its been more than 10 years and drives are still presenting themselves to the OS as if they are 512 byte sectors.
Why do hard drives still use 512 bytes emulated sectors
hard drivestorage
Related Solutions
Bar none, this is the best article I have read on the topic:
http://www.anandtech.com/show/2888
In a nutshell, to answer your questions:
- What's the big deal with 4K sectors?
The primary advantage is more efficient use of the raw storage space. The necessary ECC calculations were starting to provide diminishing returns using 512 byte sectors, but they can be done much more efficiently on larger sector sizes.
- Is it marketing hype, or a real advantage?
The real advantage is that drives larger than 2TB will be more affordable and reliable sooner than without the transition. The same idea holds for smaller drives too, but the returns aren't as dramatic. There are some theoretical advantages to having the sector size map to the common allocation size in a volume (4K for NTFS is about as common as dirt) and memory pages are generally 4K in size as well (makes the pagefile/swap happy).
- Why should somebody building a new PC care, or not, about 4K sectors?
Today - the only thing you should care about it is probably not getting one. There are still a few kinks that are being worked out that if you aren't aware of might cause you grief. Windows XP support is one, the drives lying about their geometry is another.
- Why is this transition taking place now? Why didn't it happen sooner?
It has been in transition for many years already, but consumer drives are just starting to appear on the market.
- Are there things to look out for when buying a 4K sector hard drive? e.g. incompatibility?
You probably won't experience a problem with Windows 7 or Vista, but any of the older Microsoft OS's might cause you grief. There is compatibility built in, but because of sector alignment issues it might cause performance degradation.
- Anything else we should know about 4K sectors?
Read the article, brush up on your math, and then read it again. Really it is a good thing and will enable the storage industry to continue forward more rapidly.
I think this is correct behavior. 4k disks still report 512-Byte sectors at interface side. Although they internally address the sectors in 4k blocks.
The jumper is in most drives just enabling a sector-shift. On most drives it shifts the sector addressing by 1. The reason are non-4k aware OS like Winodws XP. In order to understand you need to know that Windows XP does create the first partition to start at sector 63 (yes, this is no typo).
In most cases Windows will use a file system with 4k allocation units (NTFS clusters). So you would assume that when you read an NTFS cluster from a traditional drive it just has to read 8 physical blocks. Quite simple.
Now the drive is going to use 4k sector size as well. This is entirely fine as the OS will never read smaller clusters than 4k since this is the smallest allocation unit (assuming you did not force smaller FS-clusters during format). As I wrote the drives still expose 512-Byte sectors at interface level for compatibility reason. But if you read just one single 512-Byte block, then the drive internally anyway reads a 4k-sector and then splits it to send only 512-Bytes through the cable interface.
So where is the problem now? ###
The problem with Windows XP is that as the the partition is aligned to block 63 by default. This results in a mis-alignment of NTSF clusters to physical blocks. I've created a small picture to illustrate this:
As you can see on the picture on Windows XP the logical cluster are not aligned to physical 4k-blocks. As a result if Windows reads a logical NTFS cluster it requires the drive to read two blocks, and not just one. Even worse if you just need one single NTFS cluster it reads two sectors and has to merge them in order to return only the requested data to the OS.
For write operations it's even worse. In this case the drive has to read two physical 4k sectors and then merge their contents with the contents of the new NTFS cluster before it can save back both sectors to the disk. This means instead of just replacing the sector on the HDD by overwriting it the drive has to read 8k, merge in a buffer and write 8k. This slows down write operations a lot.
In order to prevent unnecessary merging HDD manufacturers added a "compatibility" hack which can be enabled via Jumper. It's simply incrementing each 512-bytes sector address by 1. As a result the first partition created by Windows will start at sector 64 and the mapping looks as follows:
Now any read/write of a logical 4k NTFS block results in exactly reading/writing one physical sector.
Of course this work-around is not required at all if you create your partitions aligned to 4k-sector boundaries already. For example on Linux you can simply use fdisk
to define at which block your partition starts. So it's a good idea to use a multiply of 8 here.
Windows is starting the first partition at sector 2048 AFAIR since Vista. So this problem does not occur here any more.
WARNING: If you still use the jumper work-around on 4k-ready OS like Vista, Win7 or Win2k8 R2 then this might actually BREAK sector alignment. The reason is that the drive will then again increment sector addresses by 1 resulting in the first partition being aligned to sector 2049 which again causes major performance drop.
So make sure if you're using a 4k-aware OS that you remove the jumper before partitioning the drive. In your specific case I think everything should be fine as long as you did re-partition the drive with the jumper removed. Formatting the drive does not have anything to do with sector alignment and 4k-addressing. The only thing you should make sure during format is that you don't use cluster sizes smaller than 4k since 2k NTFS-clusters would simply result in the requirement to still read a full 4k sector for each HDD access from the OS. By the way: Using 8k NTFS clusters is still entirely OK as the disk would simply read 2 sectors for each NTFS read/write operation.
Best Answer
The reason hard drive manufacturers emulate a sector with a length of 512 byte is to increase compatibility - especially for the use as a boot drive.
Loads of software products and even operating systems have hardcoded 512 as a sector and do not query the drive.
They fail when handling drives with a sector size different from 512 bytes.
Misalignment - as others pretend - only results in performance degradation and additional hard drive wear but is no reason for a harddrive to show virtual sectors with a size of 512 bytes. It is rather the opposite: The effort to maintain compatibility by showing sectors of 512 bytes to the world outside of the hard drive which then have to assigned to internal sectors of 4096 byte by the firmware of the hardware causes alignment problems.