Open Source Authors: Ali Hussain, Liz McMillan, Kevin Benedict, David Smith, Lori MacVittie

Blog Feed Post

Partition Alignment: The Key to SSD Performance

Another Reason Why SSDs Are Not HDDs
It is fairly common knowledge that SSDs differ from HDDs in many ways.  SSDs have faster IO, have no moving parts, use less power and cost more money per gigabyte.  There are other, more subtle differences between the two storage devices and in this tech note I will focus on one of those.

What Is A Disk Drive Partition?
First, let me introduce the concept of a disk drive partition.  A ‘partition’ of a disk drive (either SSD or HDD) refers to a logical storage unit of a physical disk drive.  This allows a single physical drive to be treated as multiple drives when viewed by the operating system.  For example, on a PC, a single hard drive with formatted with two partitions can be referenced as both the C: drive and D: drive.  There are many benefits to partitioning including keeping the machine operating system separate from the user data or even using one drive to have two different boot operating systems (e.g. Linux and Windows).

SSD Partition Alignment Matters
While partitioning is a relatively simple process, there are dramatic differences on exactly how it should be done when doing it on an HDD vs. an SSD. Partitioning on an HDD is often done without much regard for partition size or alignment or sometimes alignment is done with a specific application in mind like SQL Server.  However, if this approach is taken when using SSDs, overall performance can be impacted.

In SSDs, reads and writes happen in 4KB page increments because most SSDs have 4KB page sizes.  If a partition on an SSD is not aligned with a 4 KB page, then IO performance will be poor because writes will overlap multiple pages. If an application partitions an SSD knowing about the optimal 4KB page restriction, its performance will be greatly improved over an application that is not cognizant of the 4KB page size restriction.  

How To Use Existing Applications With SSDs
In many enterprise environments, applications were developed before SSDs became available.  IT managers are using SSDs today to try and improve overall system performance but cannot have the application developers re-write their application specifically to use SSDs.  Therefore, in order to get maximum performance when existing applications are paired with SSDs, an application translation layer like Velobit HyperCache SSD caching software should be used.  HyperCache will automatically implement proper data alignment within the SSD to provide maximum IO performance.

Read the original blog entry...

More Stories By Peter Velikin

Peter Velikin has 12 years of experience creating new markets and commercializing products in multiple high tech industries. Prior to VeloBit, he was VP Marketing at Zmags, a SaaS-based digital content platform for e-commerce and mobile devices, where he managed all aspects of marketing, product management, and business development. Prior to that, Peter was Director of Product and Market Strategy at PTC, responsible for PTC’s publishing, content management, and services solutions. Prior to PTC, Peter was at EMC Corporation, where he held roles in product management, business development, and engineering program management.

Peter has an MS in Electrical Engineering from Boston University and an MBA from Harvard Business School.