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

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

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

はじめに

SDカードのPERFORMANCE_MOVEの話。
NAND-FlashRomの省メモリ制御について続き。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

フクさん
フクさん

PERFORMANCE_MOVEの説明で、
NAND-FlashRomの省メモリ制御についての続きの話だ。

  • PERFORMANCE_MOVE ← これの第3回/全4回
  • VIDEO_SPEED_CLASS
  • APP_PERF_CLASS
フクさん
フクさん

SD_STATUSの上記に関係するところの明細。

BitsIdentifierValueDescription
439:432PERFORMANCE_MOVEPerformance of move indicated by 1[MB/s] step.AUのコピー速度
391:384VIDEO_SPEED_CLASSVedeo Speed Class value of the cardビデオスピードクラス
377:368VSC_AU_SIZEAU size in MB for Vide Speed Classビデオスピードクラスに於いてのAUサイズ
339:336APP_PERF_CLASSApplication Performance Class Value of the cardアプリケーションパフォーマンスクラス

NAND-FlashRomの性質

太郎くん
太郎くん

前回、NAND-FlashRomのBlock管理がリニアなアドレス管理とは違うようなこといってたけど?

フクさん
フクさん

そうだね。
これもNAND-FlashRomの性質に起因している。

太郎くん
太郎くん

(NAND-FlashRom、癖強すぎだろ・・・。)

フクさん
フクさん

NAND-FlashRomは確率的にどこかのBlockが不良Blockになってる。
不良Blockも2種類あって、以下。

  • 初期不良Block
  • 後発不良Block
太郎くん
太郎くん

え?
ちょっと待って初期不良Blockってどういうこと?
そんなの流通してて良いの?

フクさん
フクさん

まぁどうしても構造的に発生するみたいなんだよね。
一応、先頭Blockだけは初期不良ではないことは保証されているようだけど。

太郎くん
太郎くん

しかし、不良ブロックって具体的にどうなるの?
読み書きができなる状態?

フクさん
フクさん

読み書きはできるが、ビット化けし易い状態だね。
というわけで、使用できなくもないが、使用しない。というのが正解。

太郎くん
太郎くん

この不良Blockがあることが、リニアなアドレス管理に向かない理由か。

NAND-FlashRomの管理方法

フクさん
フクさん

で、これを不揮発性メモリとして管理しようとすると、
物理Blockと論理Blockという概念が必要になる。

太郎くん
太郎くん

なんとなく分かってきたぞ。
物理BlockはNAND-FlashRomの本当のBlock番号をさして、
論理Blockは利用側から見たBlock番号を指していて、
一致するの物ではない。
って感じか。

フクさん
フクさん

正解!

フクさん
フクさん

簡単な管理方法としては、変換テーブルだね。
論理block番号を指定したら、対応する物理block番号が取得できる感じ。

太郎くん
太郎くん

前回のまでの
「書き戻さずにコピーする」
って話と組み合わせると、
コピーした段階で論理Blockと物理Blockの紐づけを更新すれば、
外部から見た場合はコピーではなく、更新に見えるってことか。

フクさん
フクさん

それも正解!

太郎くん
太郎くん

そこはなんとなくわかったが、
大元の話のPERFORMANCE_MOVEとはどう繋がるの?

フクさん
フクさん

ま、それは次回説明かな。

まとめ

フクさん
フクさん

まとめだよ。

  • NAND-FlashRomの省メモリ制御についての続きを説明。
  • NAND-FlashRomは確率的にどこかのBlockが不良Blockになってる。
    • 初期不良Block。
    • 後発不良Block。
    • よって、リニアアドレス的なアクセスに向いていない。
  • 物理Block、論理Blockに分けて変換テーブルを挟んで管理することが多い。

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

コメント

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