バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
SDカードの応答向上仕様の話。
登場人物
博識フクロウのフクさん
イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん
イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
SDカードの応答向上仕様
じゃ、今回からSDカードの応答向上仕様の話だ。
ちなみに、ここらへんの話って特に知らなくてもSDカードは使えるんだよね?
そうだね。
そもそもSDカード側がサポートしている保証もないんで、
不特定多数のSDカードを使う場合は、応答向上は使えない前提にしちゃうってパターンは多いかも。
とすると、
使うSDカードはある程度決まっていて、
それが応答向上仕様に対応していて、
そして、それを利用して性能を最大化させたいときに使う仕様。
ってイメージか。
正解。
まぁこういうのがあるってのを知っておくだけでも良いと思うよ。
CQ(Command Queue) Mode
そして、応答向上仕様の根幹となるのが、CQ Mode。
CQ?
CQはCommand Queueの略だねー。
ほー。
語感から受けるイメージとしては、
ホストからのリクエストをQueueで受けて、非同期でいい感じで処理してくれるって感じかな?
結果として読み書きのスループットが上がる。
って感じ。
まさにその通りだね。
まぁ、このCQ Modeも2種類あるんだけど。
(魔境の入り口感が半端ないな・・・。)
CQ(Command Queue) Modeの種類
CQ Modeは以下2種類。
- Voluntary CQ mode
- Sequential CQ Mode
Sequentialは・・・。
シーケンシャルだから「連続的な」とかの意味だと思うけど・・・。
Voluntaryって?
Voluntaryは自発的って意味だね。
自発的なCommand Queueu?
って何をしてくれるかわからん・・・。
まぁ簡単に説明すると
Voluntary CQ modeは、SDカード側で処理順序を決定するモードで、
Sequential CQ Modeはホスト側で処理順序を指定するモード。
って思っておけばOKだ。
なるほど。
処理順序を決定する主導権を持ってるのがカード側かホスト側かの違いなのね。
次回は、この2つのCQ Modeの詳細を説明しよう。
まとめ
まとめだよ。
- SDカードには応答向上仕様というものがある。
- すべてのSDカードに搭載されてる保証はないため、利用シーンは限られる。
- 使用SDカードが決定しており読み書きスループットを最大化させたい場合。
- 応答向上はCQ(Command Queue)Modeがキモ。
- Voluntary CQ modeとSequential CQ Modeの2種類がある。
バックナンバーはこちら。
コメント