
SSDでは、シーケンシャルのほうが、ランダムよりもRead/Writeともに高速ですが、これはどうしてなのでしょうか??
物理的には、ばらばらの位置にあるページにデータが記録されているのに、シーケンシャルのほうが著しく高速になる理由がいまひとつ理解できないです。
(SSDの基本的な仕組みは知っています。)
以下の3つの原因を推測したのですが、合ってますでしょうか?
でも、これらの理由だけではせいぜい数倍の差しかつかなくて、ベンチマーク上での大きな速度差を説明できないような気がします。。。
1.物理ページの大きさ
物理ページを8Kとする。
8MBのデータを読み出すとき、シーケンシャルなら1000ページ読み出せばよいが、4Kランダムなら2000ページ読み出す必要がある。
書き込みの場合は、さらにread-modify-writeのオーバヘッドも発生する。
2.同時処理できるコマンド数
コントローラが同時処理できるコマンド数が4つで、メモリチップから8並列で読み出せるとする。
シーケンシャルなら8並列でアクセスできるが、4Kランダムでは4並列のアクセスしかできず、最大スループットを達成できない。
3.コマンド受付自体のオーバヘッド
コマンドの受付・終了処理などで、オーバヘッドが発生し、その間アクセスが止まる。
もしよろしければ、近年の高速化のための技術などもご教授いただければ幸いです。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
Crystal Disk Markあたりのベンチマークテストの結果だろうと思いますが、こちらも専門家ではないので、解る範囲で答えさせてもらいます。
なお、間違った解釈等がありましたらご容赦下さい。その場合は、もっと詳しい方の解答にお任せします。シーケンシャルアクセスの場合、CPUはコマンドを発行するだけで実際の転送は、大きなブロック単位でDMA(Direct Memory Accesse)転送されます。
DMA転送は極めて効率が良く、転送にCPUが介在しないのでオーバーヘッドも殆どありません。従って、HDDの持っている転送能力ギリギリまで転送可能なのです。
これに対し、ランダムアクセスは、比較的小さいブロック毎の転送となり、DMA転送の利点が生かされません。転送毎にCPUが介在するので効率が低下します。
それでも、512KBブロックあたりは、シーケンシャルアクセスに迫る転送レートを出すケースもあると思います。
これが、4KBくらいになると、がっくり転送レートが落ちてきます。
まあ、こう言った仕掛けではないかと思っているのですが、如何でしょうか。
回答ありがとうございます。
なるほど。
単純なコマンドの個数の差だけでなく、DMAがうまく効いているかどうかでも結構差が出そうですね。
これも考えると、なんとなく、大きな差も生じそうな気がしてきました。
No.1
- 回答日時:
あまりくわしかないですけど、DRAM的なアクセス高速化手法が使えるならバーストモードでアドレス指定してるとかないんですかね?
それだけでコマンドオーバーヘッドが劇的に減る気がします。
あと、最近のNCQ対応SSDだとQD32が有効なら「せいぜい数倍」の差に収まってしまう気も。
http://www.cfd.co.jp/ssd/sns1q.html
とか見るとランダムデータの書き込みではまったく変わりませんし。(まあこれはデータ圧縮で書き込み速度を稼ぐSandForceコントローラの特性もありますけど)
他にはサムスンの470シリーズSSDで「Toggle DDR FlashROM」を使ったという話がありましたが…
対応コントローラが少ないからなのか、あまり手広く使われてるという感じはありませんね。(逆に新型では使われてて当たり前で特別にはアピールされてないという可能性もありますが、ちょっと考えにくいかなと)
回答ありがとうございます。
URLの参照先のベンチ結果拝見させていただきました。
>コマンドオーバーヘッドが劇的に減る気がします。
僕もランダムだとコマンドを多数受け付けるから、多少差がでるのかと思ってましたが、
Writeの結果見る限りでは、コマンドオーバヘッドは小さいようですね。
NCQ使うとずいぶんと、性能が上がりますね。
並列度の高いSSDとは特に相性がよさそうですね。
きっとこのSSDのコントローラはかなり頭よくて、並列実行できるコマンドを的確に選んでるんでしょう。
圧縮して書き込むコントローラや、Toggle DDR というのも初耳です。
参考になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ CrystalDiskmarkの測定結果の判定をお願いします 1 2023/02/11 17:42
- 大学受験 国立受験 11月からの大逆転劇を起こすには 7 2022/11/14 19:24
- 発達障害・ダウン症・自閉症 中学の時にIQ82の境界知能と診断されました。 今の私も、やはり境界知能でしょうか? そしてこれは、 3 2023/02/19 00:37
- JavaScript Q&Aの掲示板を作成していてヤフー知恵袋やgoo質問のように質問ごとにURLを生成したい 5 2023/08/04 01:22
- BTOパソコン PCの選び方 6 2022/09/11 00:16
- その他(データベース) 業務用のデータベースサーバーの選び方について 4 2022/11/22 10:22
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- 大学受験 3浪しようと思うので、アドバイスお願いします。 自分としては結構メンタルきつくて後期でいいから、東京 3 2023/02/13 21:47
- Visual Basic(VBA) エクセルVBA コードが同じでもファイルによって処理速度が大きく変わるのはなぜ 5 2022/11/06 21:34
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
録音アプリのPCM録音で4時間録...
-
ファイルをコピーしてる時にス...
-
サーバーに転送したファイルが0...
-
裁判所から届く「訴状」は転送...
-
コピーのスピードについて
-
動画をPC本体内蔵HDDから外付け...
-
スマホ(Pixel 5a)とPCをUSBで...
-
クロスケーブルを使った共有に...
-
クラウドサービスの転送容量
-
TCP環境下でのファイル破損は起...
-
911T BeatJamをVistaで
-
ホームページビルダー13でH...
-
大きい動画ファイルをアップロ...
-
Hulft(6.0) for Linux の ...
-
HPビルダーで作成したHPを...
-
FC2から移転後の「見つかりませ...
-
200ギガのデータをUSB2...
-
HTTPのファイル転送について
-
Music Center for PCの楽曲をiT...
-
ルーターを流れるデータ量を計...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
クラウドサービスの転送容量
-
裁判所から届く「訴状」は転送...
-
サーバーに転送したファイルが0...
-
録音アプリのPCM録音で4時間録...
-
iPadでこれできますか? その1 ...
-
FTP転送中断について
-
ファイルをコピーしてる時にス...
-
転送と回送の違い
-
TCP環境下でのファイル破損は起...
-
Music Center for PCの楽曲をiT...
-
大きい動画ファイルをアップロ...
-
外付けHDDの80GBのデータを内蔵...
-
AccessからExcelのシートを削除
-
messengerに投稿したwordファイ...
-
filezillaの転送
-
画像がアップロードできません。
-
Beckyで手を加えずに転送の送信...
-
アンドロイドスマホに4GB以上の...
-
FTP(Filezilla)で「上書きしま...
-
あるHPに自分のHPのバナーを表...
おすすめ情報