Solid State Drives pose a variety of interesting challenges for computer forensics. Most SSD devices are based on flash memory. Flash has two properties that complicate its use in computer storage systems:

Most SSD devices are based on flash memory; some have battery backed SRAM or DRAM with a flash backing store.

−

# Each page can be erased and rewritten a limited number of times---typically 1000 to 10,000. (Hard drive sectors, in contrast, can be rewritten millions of times or more.)

+

+

Flash has a number of key properties that complicate its use in computer storage systems and subsequent forensic analysis:

+

# Internally, flash memory is not divided into the traditional 512 byte blocks, but instead is in pages of 2KiB, 4KiB, or larger, although it is still presented to the host computer in blocks

+

# Whilst hard drives can be written in a single pass, flash memory pages must be erased (in whole) before they can be rewritten.

+

# Rewriting a block at the operating system level does not necessarily rewrite the same page in the flash memory due to the controller remapping data to spread wear or avoid failing pages

+

# Each page can be erased and rewritten a limited number of times – typically 1000 to 10,000. (Hard drive sectors, in contrast, can be rewritten millions of times or more.)

+

# Flash data is often encrypted on the drive, and can be "erased" by telling the controller to forget the old key and generate a new one, as well as marking all blocks as unused

+

+

The controller in a flash SSD is significantly more complex in the number of tasks it has to perform in comparison to a magnetic rotating drive, with the following features:

+

# ''wear leveling'' – that is, spreading the writes to flash out among different sectors. Wear leveling is typically done with a ''flash translation layer'' that maps ''logical sectors'' (or LBAs) to ''physical pages''. Most FTLs are contained within the SSD device and are not accessible to end users.

+

# ''read/modify/relocate+write'' - if the controller allows rewriting of a partial flash page, it must read the entire page, modify the sector that is being written, and write the new flash page in a new/fresh location which has been previously erased. the old pre-modification data's page is then queued for erase.

+

−

To overcome these problems, SSD manufacturers have created a system for ''wear leveling''---that is, spreading the writes to flash out among different sectors. Wear leveling is typically done with a ''flash translation layer'' that maps ''logical sectors'' (or LBAs) to ''physical pages.'' Most FTLs are contained within the SSD device and are not accessible to end users.

==Bibliography==

==Bibliography==

+

<bibtex>

+

@inproceedings{wei2011,

+

author = {Yuri Gubanov, Oleg Afonin},

+

title = {Why SSD Drives Destroy Court Evidence, and What Can Be Done About It},

Revision as of 13:59, 28 March 2013

Most SSD devices are based on flash memory; some have battery backed SRAM or DRAM with a flash backing store.

Flash has a number of key properties that complicate its use in computer storage systems and subsequent forensic analysis:

Internally, flash memory is not divided into the traditional 512 byte blocks, but instead is in pages of 2KiB, 4KiB, or larger, although it is still presented to the host computer in blocks

Whilst hard drives can be written in a single pass, flash memory pages must be erased (in whole) before they can be rewritten.

Rewriting a block at the operating system level does not necessarily rewrite the same page in the flash memory due to the controller remapping data to spread wear or avoid failing pages

Each page can be erased and rewritten a limited number of times – typically 1000 to 10,000. (Hard drive sectors, in contrast, can be rewritten millions of times or more.)

Flash data is often encrypted on the drive, and can be "erased" by telling the controller to forget the old key and generate a new one, as well as marking all blocks as unused

The controller in a flash SSD is significantly more complex in the number of tasks it has to perform in comparison to a magnetic rotating drive, with the following features:

wear leveling – that is, spreading the writes to flash out among different sectors. Wear leveling is typically done with a flash translation layer that maps logical sectors (or LBAs) to physical pages. Most FTLs are contained within the SSD device and are not accessible to end users.

read/modify/relocate+write - if the controller allows rewriting of a partial flash page, it must read the entire page, modify the sector that is being written, and write the new flash page in a new/fresh location which has been previously erased. the old pre-modification data's page is then queued for erase.

Bibliography

Yuri Gubanov, Oleg Afonin - Why SSD Drives Destroy Court Evidence, and What Can Be Done About It

Proceedings of the 1st international conference on Forensic applications and techniques in telecommunications, information, and multimedia and workshop pp. 19:1--19:6, ICST, Brussels, Belgium, Belgium,2008