二次記憶装置
二次記憶装置、すなわち磁気ハードディスクとフラッシュベースのソリッドステートドライブは、メインメモリの外部でデータを永続的に保持し、その非常に異なる性能特性が、システムが情報を保存およびアクセスする方法を形成しています。
Definition
二次記憶装置は、不揮発性の記憶媒体であり、主に磁気ハードディスクドライブとフラッシュソリッドステートドライブを指します。これらは電源サイクルをまたいでデータを永続的に保持するために使用され、メインメモリよりも低コストで大容量を提供しますが、速度は劣ります。
Scope
このトピックでは、永続ストレージの技術と性能について扱います。具体的には、磁気ディスクのジオメトリ、シークおよび回転待ち時間、ディスクスケジューリング、NANDフラッシュとソリッドステートドライブ(そのアクセス動作、摩耗、フラッシュ変換層を含む)、およびこれらの特性がシステム設計にどのように影響するかについてです。これはデバイス自体を扱います。冗長性および信頼性アレイ(RAIDおよびストレージの信頼性)と、それらの上位にあるファイルシステムソフトウェア(ファイルシステム)は除外します。
Core questions
- 磁気ハードディスクのレイテンシとスループットは何によって決定されますか?
- フラッシュベースのソリッドステートストレージは、動作と性能において磁気ディスクとどのように異なりますか?
- ソリッドステートドライブはなぜフラッシュ変換層とウェアレベリングを必要とするのですか?
- ストレージデバイスの特性はシステムおよびソフトウェア設計にどのように影響しますか?
Key concepts
- 磁気ディスクのジオメトリ(トラック、セクタ、シリンダ)
- シーク時間と回転待ち時間
- ディスクスケジューリング
- NANDフラッシュとソリッドステートドライブ
- フラッシュ変換層
- ウェアレベリング
- スループットとレイテンシ
- 永続性と不揮発性
Mechanisms
磁気ディスクは回転するプラッタにデータを保存します。アクセスには、ヘッドを正しいトラックに移動させ(シーク)、セクタが下に回転してくるのを待つ(回転待ち時間)必要があるため、ディスクスケジューリングはヘッドの移動を減らすために要求を並べ替えます。ソリッドステートドライブはNANDフラッシュにデータを保存します。これはページ単位で読み書きされますが、より大きなブロック単位で消去され、使用によって摩耗します。フラッシュ変換層は論理アドレスを物理ページにマッピングし、ウェアレベリングとガベージコレクションを実行します。
Clinical relevance
ストレージデバイスの特性は、データ集約型システムの性能をしばしば支配します。機械式ディスクからソリッドステートドライブへの移行は、アクセス遅延を劇的に削減し、データベース、ファイルシステム、およびオペレーティングシステムの設計を再構築しました。一方、フラッシュの独特な動作(書き込み前の消去、摩耗、ガベージコレクション)は、ストレージソフトウェアの構築方法に影響を与え続けています。
History
1956年にIBMによって導入された磁気ハードディスクは、半世紀にわたり二次記憶装置を支配し、密度とコストを着実に向上させました。1980年代後半から商業化されたNANDフラッシュメモリは、2000年代以降、多くの役割でディスクに取って代わるソリッドステートドライブを可能にし、ビットあたりのコストは高いものの、はるかに低い遅延と可動部品がないという利点をもたらしました。
Key figures
- John L. Hennessy
- David A. Patterson
- Bruce Jacob
Related topics
Seminal works
- hennessy2019
- jacob2008
Frequently asked questions
- ソリッドステートドライブがハードディスクよりも高速なのはなぜですか?
- ハードディスクは、ヘッドを機械的に動かし、プラッタが回転するのを待つ必要があり、ミリ秒単位の遅延が発生します。ソリッドステートドライブは、可動部品なしでフラッシュに電子的にアクセスするため、遅延ははるかに低く、ランダムアクセスをはるかにうまく処理できますが、バイトあたりのコストは高くなります。
- ウェアレベリングとは何ですか?
- フラッシュメモリセルは、限られた回数の消去・書き込みサイクルしか耐えられません。ウェアレベリングは、フラッシュ変換層を介して、すべてのセルに書き込みを均等に分散させることで、特定の領域が prematurely に摩耗するのを防ぎ、ソリッドステートドライブの寿命を延ばします。