中級ではHDDとSSDの記録方式とインターフェースを見ました。上級では、物理機構の内訳・NANDの扱いの特殊さ・RAIDによる冗長化へ。
上級の解説は準備中のため、上級の内容を表示しています。
概要 — まず全体をつかむ
詳細 — 1段階ずつ追う
記録の物理を掘る
同じ「不揮発の保管庫」でも、記録の物理はまったく別です。
HDD(機械式)。磁性体を塗った円盤(※1 プラッタ)を毎分数千〜1万回転させ、微小な磁気ヘッドで各点の磁化の向きを読み書きします。目的の位置に届くには、ヘッドを狙いのトラックへ動かすシーク時間(※2 シーク時間)と、目的セクタが回ってくる回転待ち(※3 回転待ち)が要ります。
SSD(電気式)。NANDフラッシュのセルに電荷を閉じ込めて記録します。可動部が無く、位置決めの待ちがありません。1セルに複数ビットを詰める方式(SLC/MLC/TLC/QLC)ほど大容量・安価ですが、状態の刻みが細かくなり耐久性は下がります。
登場人物メモ:
- ※1 プラッタ — 磁気を塗った円盤。複数枚を重ねて回す
- ※2 シーク時間 — ヘッドが目的トラックへ移動する時間
- ※3 回転待ち — 目的セクタがヘッドの下に来るまで待つ時間
アニメーション『ストレージ(HDDとSSD)』を開く
ストレージは記憶階層の最下層
ストレージは、記憶階層のいちばん下——主記憶より桁違いに遅い層です。目安で主記憶が約100ns、SSDが数十μs、HDDが約10ms。だからCPUはストレージへ直接演算せず、いったんメモリへ読み出して処理します。
アニメーション『記憶の階層(速さと容量)』を開く
この桁差を埋めるため、OSは頻繁に使うデータを主記憶にキャッシュし、書き込みはいったんためて後でまとめる(書き込みバッファ)などして、遅いアクセスの回数そのものを減らします。大量転送はCPUを介さずDMAで運ぶのも定石です。階層全体の距離感は computer-overview を参照してください。
SSDの扱いはなぜ特殊か
SSDが速い一方で扱いが独特なのは、NANDの書き込みと消去の粒度が違うことに尽きます。
- 書き込みはページ単位・消去はブロック単位 — ページはブロックより小さい。しかも上書きができないので、既存データのあるブロックへ書くには「有効ページを別へ退避 → ブロック消去 → 書き戻し」が要る
- 書き込み増幅 — 上の退避のせいで、要求した量より多くの実書き込みが発生する。寿命を削る
- ウェアレベリング — 特定セルへの書き込み集中を避け、全体へ均して寿命を平準化する
- ガベージコレクション — 無効ページの散らばったブロックを裏でまとめ、空きブロックを用意する
- TRIM — OSが「もう不要」と伝えた領域をSSDが先に無効化し、消去を前倒しして書き込みを軽くする
- 耐久性(TBW) — NANDは書き換え回数に上限があり、総書き込み量の目安(TBW)で寿命を示す
だから空き容量が減ると、書き込み前の消去や整理が増えて速度が落ちます。SSDは少し余裕を残して使うのがコツです。
RAIDで冗長性と速度を得る
複数の物理ドライブを1つに束ね、速度・冗長性・容量のバランスを変える技術がRAIDです。
- RAID 0(ストライピング) — データを分散して並列に読み書き。速いが冗長性なし(1台壊れると全滅)
- RAID 1(ミラーリング) — 同じ内容を2台に複製。1台壊れても読める。容量効率は半分
- RAID 5 — データ+パリティを分散。1台故障まで許容し、容量効率も良い
- RAID 6 — パリティを2重に持ち、2台同時故障まで許容
- RAID 10 — RAID 1で守った組をRAID 0でまとめ、冗長性と速度を両取り(容量効率は半分)
要は「速さ・壊れにくさ・容量」のどれを取るかの設計です。なおRAIDは冗長化であってバックアップではありません。誤削除やランサムウェアは全台に伝わるため、別のバックアップが必要です。
⚠️ 深部の落とし穴
- 空き容量不足でSSDが失速 — 書き込み前の消去・整理が増える。余裕を残す
- 書き換え寿命の消耗 — 書き込み増幅で見えない実書き込みが積もる。大事なものはバックアップ
- HDDの物理故障 — 可動部・ヘッドの損傷でデータ消失。衝撃に弱い
- RAIDを過信 — 冗長化はバックアップの代わりにならない。誤操作やウイルスには別の備えを
理解度チェック
そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。
問1. 「2台に同じ内容を書き、片方が壊れても読み出せる」冗長化の方式は?
問2. HDDでランダムアクセスが特に遅くなる主因は?
問3. データにパリティを分散して持たせ、ドライブ1台の故障までデータを失わずに済み、容量効率も比較的良いRAIDレベルはどれ?
問4. NANDフラッシュで1セルに詰めるビット数がSLCからQLCへ増えるほど、一般に何が起きる?
問5. OSが「この領域はもう不要」とSSDへ事前に伝え、消去を前倒しして後の書き込みを軽くする仕組みはどれ?
問6. 「RAIDを組んでいるからバックアップは不要」という考えが危ういのはなぜ?
問7. SSD(NAND)の寿命の目安として使われる、総書き込み量を表す指標を英字3文字で答えてください。
問8. SSDで上書きができず、有効ページの退避などのために「要求した量より多くの実書き込み」が発生する現象を、漢字で何と呼ぶ?