Shingled magnetic recording

From LinuxReviews
Jump to navigationJump to search

Shingled magnetic recording (SMR) is a cheap trick used by harddisk manufacturers, specially Seagate, to increase storage capacity by writing overlapping tracks on the harddrive platters.

Rationale

It is possible to make reading heads on drives narrower than writing heads. The SMR trick makes it possible to have reading heads that are narrower than the writing heads. The "benefit" is that more data can be stored on the same platters. A 4 GB drive can "magically" be turned into a 5 GB drive using this trick.

Performance

Regular harddrives write non-overlapping magnetic tracks on the platters. SMR differs, the tracks on the platters do overlap on SMR drives. Writing to one track on a SMR drive will in many cases cause the nearby tracks to be overwritten. This is triggered by the drives firmware. This takes time. HDD manufacturers use some tricks to hide that a SMR HDD is busy overwriting nearby tracks. SMR drives will typically have a rather large buffer, typically 256 MB or larger. This buffer stores data which needs to be written to the drive - making it appear that writes done while they in reality are not.

SMR drives may function alright if you only copy small files to them now and then. If you on the other hand copy 200 GB to a 4 TB SMR drive at once you'll find that it will copy quite a lot of data at the speed you expect and then it will grind to a halt and just stall for a very long time. This happens because the drive's firmware has decided that it needs to re-write some of the tracks that are near the last written tracks. The drive will then write more data at regular HDD speeds and inevitably crawl to a halt again - and again and again.

SMR drives are also prone to grinding to a halt if there is a large sustained amount of small random writes to a drive. It may decide that it needs to fully rewrite many tracks even though there was little data written to each track.

The performance-difference between SMR drives and regular HDDs can't be accurately described by benchmarks. The write speed of just 1 GB of data could be equal yet the difference could be huge: A regular 3 TB HDD will let you write 3 TB to it at a predictable rate. A 3 TB SMR drive could let you write 10 GB before it's firmware decides that it needs to rewrite some tracks - leaving the OS sitting there waiting for I/O.

Recommendations

You should absolutely avoid all SMR HDDs like a plague. They may be a bit cheaper per GB than real HDDs but they are nevertheless not worth it.

You definitively do not want a SMR drive in any kind of RAID setup. You also do not want it in any kind of server with high or just moderate I/O load.

You don't want it in a desktop either. This is likely why Seagate does not advertise many of it's SMR consumer-drives like the Seagate Barracuda 4 TB (ST4000DM004-2CV104) as SMR drives even though that is exactly what they are.

Telling if a drive is a SMR drive could be difficult. There are two common indicators: It has a unusually large cache and a low RPM, if it is a 3.5" drive and it runs at 5400 RPM instead of the typical 7200 then it is possible that it is a SMR drive.


Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.