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

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

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

はじめに

SDカードのVIDEO_SPEED_CLASSの話。
VSC_AU_SIZEについて。

登場人物

博識フクロウのフクさん

指差しフクロウ

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

フクさん
フクさん

今回はVIDEO_SPEED_CLASSの話の中のVSC_AU_SIZEについて。

  • PERFORMANCE_MOVE
  • VIDEO_SPEED_CLASS ← これの第2回/全2回
  • 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アプリケーションパフォーマンスクラス

VSC_AU_SIZEとは

太郎くん
太郎くん

今回はVSC_AU_SIZEの話ということだったけど、
SD_STATUSの表の説明を見た感じだと、ビデオスピードクラスで使われるなんかのサイズみたいだね?

フクさん
フクさん

うん。
AUサイズだね。
AUはAllocation Unitの略だ。

太郎くん
太郎くん

AUサイズって具体的にどういうパラメータになるの?

フクさん
フクさん

簡単に言うと書き込み単位だねー。

太郎くん
太郎くん

あれ?
SDカードの書き込み単位って512byteじゃなかったっけ?

フクさん
フクさん

普通にランダムアクセスをする場合は512byteなんだけど、
内部がNAND-FlashRomである都合上、可能な限り大きなサイズを1単位とした方が書き込みスループットが上げやすいんだ。

太郎くん
太郎くん

あー。それはなんとなくわかる気がする。

VSC_AU_SIZEの内訳

太郎くん
太郎くん

で、具体的にはどの程度のサイズになるの?

フクさん
フクさん

VSC_AU_SIZEの内訳の表を出そう。

VSC_AU_SIZEAU SizeSU Size
008h8MB8MB
010h16MB8MB
015h21MB7MB
018h24MB8MB
01Bh27MB9MB
01Ch28MB7MB
01Eh30MB10MB
020h32MB8MB
024h36MB9MB
028h40MB8MB
02Ah42MB7MB
02Dh45MB9MB
030h48MB8MB
036h54MB9MB
038h56MB8MB
03Ch60MB10MB
040h64MB8MB
048h72MB8MB
050h80MB8MB
060h96MB8MB
070h112MB8MB
078h120MB8MB
080h128MB8MB
090h144MB8MB
0A0h160MB8MB
0C0h192MB8MB
0D8h216MB8MB
0E0h224MB8MB
0F0H240MB8MB
100h256MB8MB
120h288MB8MB
140h320MB8MB
180h384MB8MB
1B0h432MB8MB
1C0h448MB8MB
1E0h480MB8MB
200h512MB8MB
太郎くん
太郎くん

これは・・・また随分長細い表だな・・・。

太郎くん
太郎くん

AUサイズは最小で8MB、最大で512MBかー。
結構バリエーションがあるんだねー。

フクさん
フクさん

まぁどの程度の映像を取り込むかで最適値が違うらしいからねー。
ガッツリと高画質で記録するなら最大の方が良いだろうが、
そこそこの画質とかだと、少し小さめのAUサイズでも良いかもしれない。

太郎くん
太郎くん

そういえば、表の一番右のSU Sizeってなに?

SU(Sub Unit)

フクさん
フクさん

SUはSub Unitの略で、
転送最小単位みたいだね。
一気にAUサイズ分送るのではなく、SUサイズで細かく送るという使い方をする。
例えば、AUサイズ512MB、SUサイズ8MBならば、
512/8=64
64回の8MB転送をするってことになる。

太郎くん
太郎くん

8MBも十分大きなサイズな気がするけど、
64回も送るのか―。

フクさん
フクさん

スループットを引き上げるための仕掛けなのだろう。
CMD20(SPEED_CLASS_CONTROL)を駆使していろいろやってるんで、
興味があれば、SDAの仕様書を見ると良いだろう。

SD仕様書

太郎くん
太郎くん

(うーん、さらっと見たけどチンプンカンプンだ)

まとめ

フクさん
フクさん

まとめだよ。

  • VIDEO_SPEED_CLASSの話の中のVSC_AU_SIZEについて説明。
  • NAND-FlashRomの性質上、書き込み単位は大きい方がスループット上有利。
    • よって、書き込み性能が高いSDカードほどVSC_AU_SIZEが大き目な傾向にある。
    • AUサイズは8MB~512MB。
  • 一回の転送でAUサイズ分を送っているわけでは無く、SUサイズ単位で送っている。
    • SUサイズは大体8MB近辺。

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

コメント

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