The SSD Anthology: Understanding SSDs and New Drives from OCZby Anand Lal Shimpi on March 18, 2009 12:00 AM EST
- Posted in
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|
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.