Is the new 4k sector hard drives a blessing or is it going to be the next best thing after Internet?


I read on lots of websites that the new hard drives will be moving to 4K sectors instead of the 512 byte sector size. They are going in this direction so as to increase the storage for the usable data. Currently they have started shipping the 512e transitional technology drives. The interface for the new drive 512e looks like the existing 512 byte to the OS and the controller. But the drive internally uses 4k sectors.

From reading different articles and blogs regarding the new drives I think that this could probably cause some issues for writes to disk. The main issue that has been noted so far is the performance impact. The current OS will keep on writing 512 byte sector since that is what the interface shows. But the disk has to read the 4K sector and update the 512 bytes that the OS sends and then write the 4K out to the disk. This is more work.

But in the case reads, it could be a performance gain. The OS will read the 512 byte logical sector, but the hard disk has to read the 4K physical sector. When the OS is trying to read the next 512 byte logical sector, the chances are it is already in the disk controller cache thus giving a small performance gain.

The things you have to watch out for is

1. Replacing one drive of an existing RAID array. The existing disks might have the normal 512 byte disk sector and the new disk that you are going to use to replace a bad disk might be the new 512e (Emulation) 4K sector types. You do not want to mix two types of disks in a raid array.
2. Even if you are going build a new array, all with 512e, it is always better to check with the RAID manufactures before doing it.

What is the impact on SQL Server?

Data integrity could be an issue. As far as the SQL Server is concerned, the 512e acts exactly like a normal 512 byte disk. Therefore a partial 4k write could happen in the drive. If a crash occurs (disk cache not battery backed), you might have missing data since cache might not have time to flush.

This might help with read performance but write might be slow causing IO bottlenecks on high volume OLTP database. Also, keep in mind that SQL Server stores the initial sector size in the database metadata. How would the SQL Server react if we try to attach a database that was in 512 byte drive to a 4 K drive? What would be the impact on SAN?

If anyone has more information regarding this, please do let me know.