SDカードの容量制限について改めて勉強しました。

最終更新日:2021/8/12

SDメモリーカードは、1999年に東芝、松下電器産業、米サンディスクが共同で開発した小型のメモリーカードと云う事は有名です。年々大容量化が進み、TBオーダに至っています。
創世記は複数のメディアが混沌としていました。SONYのメモリースティックだとか、コンパクトフラッシュ、xDピクチャーカードが主導権争いをしていましたが、20年後にはSDカードに落ち着いてしまいました。

このSDカードですが、容量制限やら仕様制限やらで外形上の問題はクリア出来ているのに認識出来ないという事があります。
今更ですがちょっと調べておこうと思いました。
※上の画は『SDカード講座』で引っかかりました。

当初は16MBカードとかの容量から始まりました。特に容量制限は思い当たらないです。ファイルシステムはFAT16(一部FAT12)で最大2GBと云う制限までは可成り余裕を感じていたかと思っています。
FAT32の場合、計算上2TBの制限がかかりますが、OS側の制限で32GB上限というのが先に掛かる可能性があります。

SDカードで可能なフォーマット及びその制限と云う事で調査をしました。

規格 ファイルサイズ制限 ディスクサイズ制限 その他の制限
FAT16 2GB 2GB 最近は容量が大きいので使わない
FAT32 4GB 2TB 一般的に使える Androidも使える
NTFS なし 256TB Windowsでは一般的だがSDカードで使うには互換性に問題あり。Androidではまず使えません。
HFS+ 8EB(8000PB) 8EB(8000000TB) Macで使うには問題ないが、SDカードで使うには互換性に問題あり。Androidではまず使えません。
exFAT なし 16EB(16000000TB) SDXCという規格のSDカードであれば選択肢となります。互換性も一応あります。
SDHC規格であればFAT32に留めた方が安全です。

ドライブレコーダ等で使用するSDカードは32GB容量制限をよく見かけます。フォーマットとしてFAT32しかサポートして居らず、SDカードの規格としてもSDHCまでなので32GBMAXとなるようです。
32GBMaxの謎ですが、SDHC(仕様2.0)でメモリサイズは22bitで扱うことになっているモノの16bitしか使っていないことが原因のようです。単位は512kByte。512kB×16bit(65536)・・・・32GB
22bit使えば2TBMaxになりますが、互換性を考慮して挑戦するメーカはなさそうです。※SDXCに対応した方がいい

ESP32でSDカードを扱う場合、16GBと云う制限があります。
WindowsVistaまではOSが扱い上32GBMaxと云う制限がありました。ESP32で16GBMaxの制限はどこから来ているのか気になりました。
まず、SDXC規格に対応したモジュールを見かけませんからSDHCまでしかサポートしていないでしょう。で有れば32GBMaxでよいはずです。32GB品の方が入手性がいいので是非確認しておきたいです。

実際にソースコードを紹介している方を調査してゆくと


基本に立ち戻り SDアソシエーション のサイトを覗いてみました。規格についてまとまっていました。

  SD SDHC SDXC SDUC
規格 SD1.0 SD2.0 SD3.0 SD7.0
容量 最大2GB 2GB超 最大32GB 32GB超 最大2TB 2TB超 最大128TB
ファイルシステム FAT 12, 16 FAT 32 exFAT exFAT

仕様バージョン 時期 内容
1.0 1999  
1.0.1 2000 DefaultSpeed
1.10 2004 HighSpeed
1.20 2005 MicroSD
2.00 2006 SDHC Class2/4/6
3.00 2009 SDXC Class10
3.01 2010 UHS-T SpeedClass1
4.00 2011 UHS-U
4.20 2013 SpeedClass3
5.00 2016 VideoSpeedClass
5.10 2016 A1
6.00 2017 UHS-V A2
7.00 2018 SDUC SDExpress
7.10 2019 MicroSDExpress
8.00 2020 SDExpress

明確になった事があります。

マイコンからアクセスする場合、SPIかと思います。そのため1MB/s(10Mbps)が精々なのかと思われますので、現状では書込速度には拘らなくてもいいのかと思います。

フォーマットですが、マイコン用のライブラリでexFATに対応したものは見つかっていません。
また、ラズベリーパイの場合ですが、ラズビアン標準ではexFATは認識しないようです。ただ、インストール処理をすれば使える様になっているみたいですね。その意味では一般には32GB、拡張すれば2TBまでは可能と云う事ですね。既にMicro SD 2TBは市場に出ているモノの1TBとの価格差が大きいですね。


2021年8月26日

モバイルルータ:GL-AR750に使用出来るTFカードですが、Max128GBと云う制限あることが判りました。ただ制限理由が判りません。実際に256GBのカードが使えるかどうか確認すればいいのですが、そのレポートは見つかっていません。

戯言(nonsense)に戻る


免責事項

本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。

本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。

商標・登録商標

Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。