【FileSystem】車載外部ストレージ その66【SD応答向上仕様⑮】

【FileSystem】車載外部ストレージ その66【SD応答向上仕様⑮】 車載外部ストレージ

バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/

はじめに

SDカードのPERFORMANCE_ENHANCEの話。
Host-initiated maintenanceについて。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラスト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の仕様としては規定はされてない

太郎くん
太郎くん

ということは最適化の内容自体はここでは触れないって感じか。

フクさん
フクさん

まぁ推測レベルだと、
物理ブロックと論理ブロックの並びを見て、
連続している方が良い所を連続配置にするってくらいかな。
まさにデフラグってやつだ。

太郎くん
太郎くん

それ以上はわからんよねー。

Host-initiated maintenance

フクさん
フクさん

まずはホスト主導の
Host-initiated maintenanceから。

フクさん
フクさん

実は、再びPerformance Enhancement Registerが絡んでくる。

太郎くん
太郎くん

あー、ここでやったやつか。

太郎くん
太郎くん

これだったね。

Byte OffsetBitsNameDescription
0Performance Enhancement Function Revision00h:Revison 1
1[0]FX_EVENT Support0:Not support,1:Supported
2[0]Card Initiated Maintenance Support0:Not support,1:Supported
2[1]Host Initiated maintenance Support0:Not support,1:Supported
3[1:0]Card maintenance Urgency 00b:None, 01b:Mild, 10b:Middle, 11b:Urgent
4[0]Cache Support0:Not support,1:Supported
5Reserved
6CQ Support and Depth00h:CA is not supported,01h:depth=2(ID=0,1),…,1Fh:depth=32(ID 0~31)
7Reserved
8月15日Task Error Status00h:No Error,01h:Error,Other:Reserved
16-256Reserved
2570FX_EVENT Enable0:Disable,1Enable
2580Card Initiated maintenance Enable0:Disable,1Enable
2581Host Initiated maintenance Enable0:Disable,1Enable
2590Start Host-Initiated Maintenance1:Starts host-initiated maintenance.0:By card indicates the break of maintenance.(break within 1 secomd.)
2600Flush Cache1:Start Cache flush.0:By card indicates the end of Cache flush.(flush within 1 second.)
2620Enable CQ0:Disable,1Enable
2621CQ Mode0:Voluntary mode, 1:Sequential Mode
263-511Reserved
フクさん
フクさん

このレジスタの
Host Initiated maintenance Enable
1にして有効化
そして、
Start Host-Initiated Maintenance
1すればカード側でセルフメンテナンスが開始される。

太郎くん
太郎くん

以外とシンプル。

フクさん
フクさん

あと、
Card maintenance Urgency
ってところで、緊急度ってのが設定できる。

太郎くん
太郎くん

緊急度?

フクさん
フクさん

これもメーカ依存だけど、ガッツリ最適化するか、ゆるーく最適化するかってところだろう。
具体的なところはなんもわからん。

太郎くん
太郎くん

うーん、そういう指示ができるってのだけ覚えておこう。

フクさん
フクさん

次に、Card-initiated maintenanceだが、
これは次回に回そう。

太郎くん
太郎くん

そこそこ情報量があるってことだな・・・。

まとめ

フクさん
フクさん

まとめだよ。

  • Host-initiated maintenanceについて説明。
  • Performance Enhancement Registerで制御。
    • Start Host-Initiated Maintenanceで開始。
    • Card maintenance Urgencyで緊急度設定。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました