バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
SDカードのPERFORMANCE_ENHANCEの話。
登場人物
博識フクロウのフクさん

イラスト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
PERFORMANCE_ENHANCE

で、やっとPERFORMANCE_ENHANCEの話に突入なんだけど・・・。

PERFORMANCE_ENHANCEってなんだったっけ?

まぁここを読み返すのが早いかな。

あー、Command Queueがどーのってやつだ!

あれ?Command Queueって最近見た単語だな?

前回のApplication Performance Classの話の時だな。

お!
ということは、良い感じで話が繋がっていたってことか!

まぁ応答向上仕様と言う意味では
全部話としては繋がってるね。
PERFORMANCE_ENHANCEの内訳

まずはPERFORMANCE_ENHANCEの内訳を書き出してみよう。
PERFORMANCE_ENHANCE | Description |
---|---|
SD_STATUS b[335:331] | Command Queue Support. |
SD_STATUS b[330] | Support for Cache.1:Supported |
SD_STATUS b[329] | Support for Host-initiated maintenance,1:Supported |
SD_STATUS b[328] | Support for Card-initiated maintenance,1:Supported |

キャッシュの話はApplication Performance Classの時にも出てきていたけど、
HostとCardのmaintenanceってなんだろ?
セルフメンテナンス

SDカードにはセルフメンテナンスの機能が入っている場合がある。
Application Performance Class 2としてはmustな要件になる。

セルフメンテナンスって具体的に何してるの?

まぁSDカード内部のデフラグみたいなことやってると思うよ。

思うよって・・・。
はっきりしないなぁ。

正直何をするかについてはSDの仕様としては規定していない。
といっても、目的としては、SDカードのアクセス速度を最大化なんで、
データの整地と考えるのが妥当だろう

あー、それでデフラグってことか。
セルフメンテナンスの種類

セルフメンテナンスも
Host-initiated maintenance
と
Card-initiated maintenance
があるみたいだけど?

名前のまんまだけど、
ホスト側主導のメンテナンス起動
と
カード側主導のメンテナンス起動
の2つがあるってことだね。

もしかして、そこそこ話長い・・・?

まぁそこそこの情報量なんで、次回説明しようか。
まとめ

まとめだよ。
- SDカードのPERFORMANCE_ENHANCEの説明。
- PERFORMANCE_ENHANCEの内訳。
- Command Queue。
- キャッシュ。
- ホスト主導メンテナンス起動。
- カード主導メンテナンス起動。
- メンテナンスはSDカード内のデフラグ。
バックナンバーはこちら。
コメント