web-dev-qa-db-ja.com

SSDのシーケンシャルvsランダムI / O?

HDDでのシーケンシャルI/OとランダムI/Oの違いを理解していると思います。そのシーケンシャルI/Oははるかに高速です。

私の質問 この記事 は次のように述べています:

ブロックが隣接または連続しているという物理的な概念はありません

フラッシュストレージ上。

それでは、なぜすべてのSSDメーカーが順次読み取り/書き込み速度を通知しているのでしょうか。記事によると、シーケンシャルリード/ライトはフラッシュストレージとは関係がないので、シーケンシャルリード/ライト速度が「500mb/s」であるとメーカーが言及する場合、何を参照していますか?

9
Zhinkk

あなたの前提には欠陥があります。 SSDではシークレイテンシが本質的にゼロであるという事実は、データが線形マッピングとして保存されないという事実はデバイスのパフォーマンスとは無関係であるため、機能的にはブロックの単純な線形マッピングとして扱うことができることを意味します。ただし、引用している記事は完全に正確ではないことにも注意してください。ファイルシステムブロックは通常4kBですが、SSD上のデータの「ブロック」は実際には通常4MBであるため、長さが4MB未満のファイルがSSD上の1つの物理的な場所に完全に含まれる可能性があります。

ただし、シーケンシャルI/Oパフォーマンスが問題になる理由は2つあります。

  • I/O要求をデバイスにディスパッチすることは自由ではなく、OSがそれを準備するのに時間がかかり、データが転送されてからOSがクリーンアップするのに時間がかかります。順次I/Oを実行することで、ディスパッチする必要があるI/O要求の数を減らすことができ、デバイスへのアクセスのオーバーヘッドをさらに最小限に抑えることができます。この場合、シーケンシャルI/Oレーティングは、デバイスへのデータのオン/オフの速度に機能上の上限を与えます(500MB /秒と10000 IOPSのSSDをその10000 IOPSで実行しても、パフォーマンスは得られません。 500MB /秒以上)。
  • 人々は依然としてSSDのオンまたはオフで大量のデータ転送を行うので、SSDの実行速度を知ることは依然として有用です。
9