• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

The effects of using improperly aligned disks with XP?

A while ago I put a new disk in a machine running XP, and while I didn't feel that the machine's performance generally was lacklustre, there was one symptom at the time that I worried about, namely that the 500GB disk in question (SATA 3Gbps, nforce chipset capable of SATA 3 Gbps) took something like 3 hours or something unusual to do a full disk check (chkdsk /f /v /r). I asked on a forum about it at the time but since no-one said "there's no way it should take that long" and the disk check didn't turn up any issues, and the Windows boot time was acceptable (within a minute) I didn't think any more about it.

I got to take a look at the machine again recently and remembered this problem, so I tried running an ATTO disk benchmark on it, and sure enough the write performance was absolute rubbish (talking bytes per second rather than megabytes/sec), while the read performance was fine. The machine was being used for basic office apps type stuff which I guess is why the issue went unnoticed, but it still surprises me.

I ran this tool on it:
http://www.partitionwizard.com/help/align-partition.html

The friend that the computer belongs to says that it is running much better than ever before now (though I had removed malware that had slowed the machine to a crawl, so their opinion probably isn't worth a great deal), and I didn't get to stick around for the alignment to complete (it estimated more than 3 hours to do the work). I'll run ATTO on it the next time I see it to see whether the write performance has improved.

The documentation for that model and capacity disk is pretty poor so I wasn't able to determine for definite that the disk's alignment wasn't correct, but that tool reported that the disk was set up with a 512 byte alignment.
 
Last edited:
I'm not sure why the alignment would have been an issue. The only time in recent years I've heard of a misalignment was specifically with SSDs on XP. 512 is correct for HDDs, with the exception perhaps if you got one of the newer 4K drives which might need to be aligned.
 
Pretty much everything requires alignment. Striping RAIDs, Modern 4K advanced format harddrives and virtually all SSDs. Pretty much everything, except older harddrives (<1TB in size).

Misalignment hurts random I/O performance, causes much more wear on the drive (Write amplification) and is just so damn ugly to force your SSD to operate that way. If you insist on using an obsolete operating system, please let another OS create the partitions for you before you install XP then you won't have a misalignment issue.
 
Pretty much everything requires alignment. Striping RAIDs, Modern 4K advanced format harddrives and virtually all SSDs. Pretty much everything, except older harddrives (<1TB in size).

Misalignment hurts random I/O performance, causes much more wear on the drive (Write amplification) and is just so damn ugly to force your SSD to operate that way. If you insist on using an obsolete operating system, please let another OS create the partitions for you before you install XP then you won't have a misalignment issue.

I realise all of this, but the problem originally was that the hard disk wasn't labelled or documented as having 4KB sectors, and I only realised the possibility after the initial setup. I also haven't found anything that says "this is how to tell if a disk is improperly aligned", hence the reason why I started this thread.

I imagine that this type of scenario won't be the last people ever experience and such experience will very likely have a useful application in the future.

One thing I find especially surprising is how unbelievably poor write performance doesn't have such a noticeable effect even with average uses of a computer.
 
AS SSD will tell you straight away if your alignment is good. It says either BAD or OK in the top left corner. Try it.

There is no reason to misalign; even for 512-byte sector harddrives, the operating system should align properly. At least to 4KiB boundaries, but preferably to 1MiB boundaries. Win7 and up do all this; either 1MiB or 100MiB offset which is perfect.

SSDs are very fast. You will not really notice it if your SSD was capped at 20MB/s other than loading times for games and other stuff. It would still feel snappy. This has all to do with latency, which is about a hundred to thousand times less than mechanical harddrives.
 
I auto-align to 4k for everything unless it is a server because 512 and 4k is covered by those. Servers are move convoluted, I will align to a strip set of a DAS. IE if it is a 64k stripe size I align to 64k. If the NTFS cluster size is going to 64KB, I try to align on 64KB and get the strip size to be a multiple of 64KB.

In the server arena this greatly reduces IO loads when compared to a misaligned drive or array.
 
Please do note however that current generation SSDs often have 8K page size, and 128KiB erase block size or above. Aligning to 1MiB offset is really the best thing to do IMO. Partition alignment and filesystem frag size is something different, though related.
 
Please do note however that current generation SSDs often have 8K page size, and 128KiB erase block size or above. Aligning to 1MiB offset is really the best thing to do IMO. Partition alignment and filesystem frag size is something different, though related.

Heh geeze. Might be time to just start aligning to like 16MB. Some of my SANs have 8MB stripe sets.
 
You don't really need to align at same boundary as the stripesize. Especially if you have really large stripesizes (which I also use). So aligning to 1MiB on a 16MiB stripesize is okay. Good RAID0-engines will do partial I/O on stripe blocks; only the bad windows crap uses the stripesize as the sector size. The sector size should be the smallest unit of block-level I/O; so even with 16MiB stripe you can do partial 512B writes within stripe blocks.

As far as I can see, only when using oldschool RAID5 and RAID6 it might be necessary to use a different alignment.
 
Please do note however that current generation SSDs often have 8K page size, and 128KiB erase block size or above. Aligning to 1MiB offset is really the best thing to do IMO. Partition alignment and filesystem frag size is something different, though related.
An M500 or Neutron might very well have 8MB erase blocks (high-density 20nm IMFT). Samsung's are now 2MB.

Realistically, there should be no need to worry about it, though, as if you'd need to align to that. 1MB should still be fine. It's not going to be crossing a page boundary that way, and SSDs are made to be able to handle filesystems that do no kind of alignment for files at all.
 
With regard to the situation described in the OP, I took another look at it today. Even though they said the alignment had helped in their opinion, the ATTO benchmark showed no improvement.

As the computer has a second disk in (an old SATA one), I ran the same benchmark on it and it showed the same problem, so it can't be an alignment issue.

I guessed it was the NVIDIA SATA driver, so I rolled the driver back to the standard XP IDE driver, and read/write performance is exactly what I would expect it to be (ie. absolutely fine, starting at about 10MB/sec and topping out at ~120MB/sec read/write throughput).

I also checked with the software I used to perform the alignment, and apparently it spent 3.5 hours "aligning" the drive without actually changing anything... great stuff.
 
It is actually pretty rare for an application to wait for writes to be flushed to disk, especially with small random writes -- usually stuff will be written to memory cache, and the cache will get gradually flushed to disk by the OS LazyWriter in the background. So yeah, a typical user would not notice.

Also, I would bet the impact of unalignment on most current gen SSDs, at least with a default 4KB cluster size, is going to be much less than you expect, since the SSD page size is already in the 8KB-16KB range and it is having to do a read modify write for all the 4KB page writes that are really partial pages anyways even if you are aligned, unless you formatted for larger clusters. (I formatted my Neutron with 16KB clusters).

If it wasn't for the drive being only 512GB, I would expect it to be from the SMR recording on some of the latest Seagate drives. Maybe it still could be.... there have been many drives that use only 1 side of the platter because the other side didn't pass QA, so 500GB could be 1 side of a 1TB platter if it is pretty new. BTW, this new recording mechanism means the drive will benefit greatly from TRIM (probably even more so than an SSD!), even though it is mechanical.
 
Back
Top