The Blind SSD

Modern OSes talk to hard drives using logical block addressing. While hard drives are rotational media, logical block addressing organizes sectors on a hard drive linearly. When you go to save a file, Windows simply issues a write command for your file at a specific logical block address, say LBA 15 for example.

Your OS knows what LBAs are available and which ones are occupied. When you delete a file, the LBAs that point to that file on your hard disk are listed as available. The data you’ve deleted hasn’t actually been removed and it doesn’t get wiped until those sectors on the drive are actually overwritten.

Believe it or not, SSDs actually work the same way.

The flash translation layer in a SSD controller maps LBAs to pages on the drive. The table below explains what happens to the data on the SSD depending on the action in the OS:

Action in the OS Reaction on a HDD Reaction on an SSD
File Create Write to a Sector Write to a Page
File Overwrite Write new data to the same Sector Write to a Different Page if possible, else Erase Block and Write to the Same Page
File Delete Nothing Nothing

 

When you delete a file in your OS, there is no reaction from either a hard drive or SSD. It isn’t until you overwrite the sector (on a hard drive) or page (on a SSD) that you actually lose the data. File recovery programs use this property to their advantage and that’s how they help you recover deleted files.

The key distinction between HDDs and SSDs however is what happens when you overwrite a file. While a HDD can simply write the new data to the same sector, a SSD will allocate a new (or previously used) page for the overwritten data. The page that contains the now invalid data will simply be marked as invalid and at some point it’ll get erased.

Strength in Numbers, What makes SSDs Fast Understanding the SSD Performance Degradation Problem
Comments Locked

250 Comments

View All Comments

Log in

Don't have an account? Sign up now