メカニカルストレージでは、低レベルのディスク操作seek()
により、ハードドライブヘッドがディスクの所定の領域から読み取る準備ができる場所に移動します。
SDカード、フラッシュドライブ、SSDなどのソリッドステートストレージでは、ハードウェアの可動部分はなく、電気信号のみがあります。
NAND不揮発性RAMテクノロジーがハードウェアの基礎であると仮定すると、seek()
そのようなデバイスのハードウェアレベルで実際に実行される機能は何ですか?
明確にするために、次のことが起こることをすでに知っています。
seek()
ユーザースペースプログラムは、システムコールまたはOS固有の同等なものを呼び出しますカーネルはシステムコールを解釈し、SATAコントローラーにメッセージを送信してシークします
SATAコントローラーはコマンドを解釈し、接続されているディスクデバイス(ソリッドステート)にシークするように指示します(または、ソリッドステートであると認識し、それさえ伝えないほど賢いのでしょうか?)
私が知らないのは、ソリッドステートデバイスがすることです??? 「シーク」コマンドで。
オペレーティングシステムに依存する詳細がある場合は、カーネルバージョン3.2を備えたGNU / Linuxの比較的標準的なデスクトップバージョンを想定します。