バックナンバーはこちら。
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使用量削減の手法を用いる必要がある。
バックナンバーはこちら。
コメント