バックナンバーはこちら。
https://www.simulationroom999.com/blog/In-vehicle-external-storage-backnumber/
はじめに
SDカードのSD_STATUS詳細の話。
登場人物
博識フクロウのフクさん
イラスト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_STATUS詳細
SD_STATUS全部説明すると長いから以下3つに絞って説明する。
- PERFORMANCE_MOVE ← これの第1回/全4回
- VIDEO_SPEED_CLASS
- APP_PERF_CLASS
前回、そんな感じで終わってたね。
一応SD_STATUSの上記に関係するところの明細を書き出しておこう。
Bits | Identifier | Value | Description |
---|---|---|---|
439:432 | PERFORMANCE_MOVE | Performance of move indicated by 1[MB/s] step. | AUのコピー速度 |
391:384 | VIDEO_SPEED_CLASS | Vedeo Speed Class value of the card | ビデオスピードクラス |
377:368 | VSC_AU_SIZE | AU size in MB for Video Speed Class | ビデオスピードクラスに於いてのAUサイズ |
339:336 | APP_PERF_CLASS | Application Performance Class Value of the card | アプリケーションパフォーマンスクラス |
PERFORMANCE_MOVE
最初はPERFORMANCE_MOVEかな?
名前からすると「移動の応答性」ってことな気がするが、
この移動ってなんだろ?
これはSDカード内部のNAND-FlashRomの性質に起因したものだね。
NAND-FlashRomの性質によるデータ書き込み
NAND-FlashRomの性質?
そうそう。
大分前に「NAND-FlashROMの消去単位」の話をしたと思うけど覚えてる?
あー、なんか異様にサイズが大きくて、一般的な組み込み用マイコンのRAMだと扱い難いみたいな話があったのは覚えてる。
確か、ここでやったかな。
この問題はSDカードにすることで、楽になるという理屈ではあったのだけど、
じゃあ、SDカード内部はどうなるのかな?
んー、SDカード内部が結局NAND-FlashRomだから、
扱いづらい問題ってのはSDカード内部でうまくバッファリングするんだろうけど・・・。
よくよく考えると、SDカード内にバッファリングするRAMが用意できるのかって問題がありそうだな。
そうだね。
まぁ頑張ってRAMを持たせれば解決だろうけど、
それをやるとSDカード自体のコストが上がってしまう。
よって、SDカードも結局はあまりRAMを搭載できない。
なるほど!
結局、問題がマイコンの問題からSDカード内部の問題に移っただけで、解決していないってことなのか!
NAND-FlashRom制御のRAM不足問題対策
ということは、RAM不足でもなんとななる仕掛けがあるってことになるのかな?
そうそう。
どういう方式になるの?
簡単に言うと、
「書き戻さずにコピーする」
になるね。
簡単にって言った割には全く話が入ってこないんだけど。
まぁNAND FLashRomの課題が明確になったところで
具体的な処理の話は次回!
まとめ
まとめだよ。
- SDカードのSD_STATUS詳細。
- 今回はPERFORMANCE_MOVEについて。
- SDカード内のNAND-FlashRomは消去単位大きすぎて、普通に使おうとするとRAM不足問題になる。
- SDカード内部に大容量のRAMを持つとコストが上がる。
- よって、RAM使用量削減の手法を用いる必要がある。
バックナンバーはこちら。
コメント