データ復旧:トップ > メディア解説 > SSDの構造と動作
SSD(Solid State Drive)は、大きく以下の4つのパーツで構成されています。
IDE、SATA、microSATA、ZIF、LIF、USB、PC Expressなどの接続タイプがあります。
メモリの読み書きや、データのやり取りを行います。 SSDの性能はメモリコントローラによって、読込、書込速度や寿命といったパフォーマンスが大きく左右されます。コントローラが行う処理には、以下のようなものが上げられます。
●ウェアレベリング
●不良フロックの管理
●エラー訂正
●ガベージコレクション
メモリコントローラを開発している主なメーカを以下に上げておきます。
●Intel
●東芝
●Indilinx
●JMicron
●Marvell
●Samsung
●SandForce
NAND型フラッシュメモリは1984年に東芝が開発したメモリのことです。通常は複数のフラッシュメモリが基盤に搭載されており、ここにデータが保存されます。記録方式の違いで、SLC型、MLC型、TLC型に分かれています。
●SLC(Single Level Cell)
1つのセルに1ビットの情報を記録する方式を「SLC」(Single Level Cell)と呼びます。
SLCのSSDでは、1つのセルにOn/Offの情報のみ記録するため信頼性が高く、SSD寿命もMLC/TLCに比べて長く、また読込/書込の速度も速くなります。 MLC/TLCよりも耐久性、書込み速度で優れるかわりに大容量化しにくく高価格になりますが、耐久性、信頼性が重視されるサーバー用途に向いています。
●MLC(Multi Level Cell)
1つのセルに2ビット以上の情報を記録する方式を「MLC」(Multi Level Cell)と呼びますが、一般的には2ビット記録のタイプをMLCと呼びます
MLCのSSDでは、1セルあたりの保存可能なビット数がSLCと比べて2倍になるため、読込/書込の速度もSLCより遅くなり、寿命も短くなりますが、その反面、容量はSLCタイプのものよりも大容量化しやすいという利点もあります。
●TLC(Triple Level Cell)
1つのセルに3ビットの情報を記録する方式は、MLCの一部に含まれますが2ビットタイプと区別するために一般的には「TLC」(Triple Level Cell)と呼びます。
MLCよりも多くのデータを1セルに保存するため、MLCよりもさらに速度や信頼性で劣りますが、大容量化・低価格化には有利です。
データの書き込みを制御するコントローラの技術進歩により、初期のSLCよりも高速に動作する製品もあります。
管理情報の保管や一時的なデータキャッシュを行います。
初期のSSDでは外部キャッシュがついておらず、プチフリーズする現象も起こっていました。
現在では、メモリコントローラの改善により、キャッシュメモリがないタイプもあります。
磁性体を帯びたプラッタを搭載したハードディスクとは異なり、SSDは記憶領域としてNAND型フラッシュメモリを搭載しています。「USBメモリの構造と動作(https://www.rescue-center.jp/explanation/usb/type.html)」にも記載しておりますが、ハードディスクとは異なり、データを書き換える際に、別のデータを直接上書きできない特徴があります。また、消去もブロックと呼ばれる数百KB〜数MBの大きな単位でしか行えません。
そのため、ごくわずかでもデータを書き換えるときにブロック単位での操作が必要で、空きブロックが不足している場合は具体的には以下のような手順が発生します。
この(3)の完全削除の作業がそれなりの時間がかかるため、データの書き換えを行う量が少なくても、SSD上で行われる作業量が多く、急激な速度低下を起こし、深刻なエラーに繋がる場合があります。
その対策としてTrimコマンドがあります。TrimコマンドとはSSDの長所であるアクセス速度を低下させないようにするために、あらかじめ空きブロックを作りだすことを目的として開発された命令コマンドの1つです。
Trim という単語は、「刈り込んで整える」・「手入れする」・「つみ取る」という意味です。ペットの毛刈りをする職業をトリマーと呼ぶのと同じ語源です。
Trimコマンドは、SSDが搭載されたPCでOS側が対応していれば有効となっており、ユーザー側が意図しない場合でも自動的に動作し、ファイルを削除した際には、元のブロックデータを完全に削除しあらかじめ空きブロックを確保します。空きブロックをあらかじめ確保することで、データの書込みとブロック消去が同時発生する可能性が低くなり、速度低下を防ぐことが可能となります。
Trimコマンドが実装されている場合のデータの書き換えは以下の手順で行われます。
不要になったデータが書き込まれたブロックの完全削除は後で行われるため、時間のかかる消去の工程を経ずに、書き換えが完了することになり、書き換えは非常に高速になります。データを削除した際も、不要になったデータ領域と同様、自動で完全削除が行われます。
ただし、これらの動作はSSDのコントローラーチップが自動的に行うので、誤ってデータを削除し後から気付いたときには、データの痕跡が残っておらず復旧不可能な状態となってしまいます。SSDが標準搭載されているPCは増加傾向にあるため、データを削除する前にはバックアップがきちんと行われているかなどよくご確認されることをお勧めいたします。