SDカード

SD(Secure Digital)カードの基本

SDカードは、MMC(マルチメディア)カードから生成されました。電気的動作とフォームファクタは非常に似ています。 MMCカードは、カード形式で普及しなくなり、SDカードに置き換えられました。 MMCカードには、SDカードに対して1つの大きな利点があります。これは、1フレームあたり8ビットをSDカードに4ビット転送する機能です。 SDには、記録されたコンテンツ保護のためのCPRMセキュアキーがあります。しかし、ロイヤルティーは課金されているので、定期的に使用されていません。

電気的エンティティとしてのMMCは、埋め込まれたMMC(e.MMC)の使用のために保持される。組込みシステム向けに人気があります。



SDには、3つの異なるサイズで利用可能な4つのカードファミリーが含まれています4つの家族は次のとおりです:

標準容量(SDSC)から2GB(4GBまで拡張)

大容量(SDHC)から32GBまで

拡張容量(SDXC)〜2TB-(exFat)

SDIO(I / O機能とデータストレージを組み合わせたもの(SDカード仕様の一部ではない)



SDインタフェースはCF / ATAとはまったく異なります。動作電圧は3.3Vまたは1.8Vで、SDXCは追加されたピンの電圧伝達能力が低くなっています。 SDは、ハイブリッド(パラレル/シリアル)インターフェイスです。

SDカードはSDカードモードまたはSPIモードで動作します。モードは、パワーアップ時にホストデバイスドライバによって決定され、カードに特別なコマンドを送る。 SPIモードは1ビットモードですが、速度は制限されていますが、マイクロコントローラアプリケーションでは一般的です。 SPIインタフェースは、マイクロコントローラでは一般的です。



SDがサポートする3つの基本転送モードがあります。

SPIモード(1ビットのシリアル入力ビットとシリアル出力ビット)

1ビットSDモード双方向(別のコマンド/応答ライン)

4ビットSDモード双方向(別のコマンド/応答ライン)

これに超高速(UHS)モードI、II、IIIを追加します。



低速カードは、0〜400 kbit / sのデータレートとSPIおよび1ビットSD転送モードをサポートします。 SD 2.0カードは、理論上は4ビットモードで12.5 MB / sのデータレートをサポートし、SPIモードおよび1ビットSDモードでは3.125 MB /秒をサポートします。これは25MHzのホストクロックを使用しています。 SD3.0クロック速度を50MHzに上げると、これらの速度が倍増します。 UHSモードでは、DDRクロック、ホストクロック速度がはるかに高速、UHSモードでは低電圧差動信号ピンが追加されてスピードが大幅に向上しました。



SDHC

バージョン2.0ではSDSCカードとSDHCカードの両方に高速バスモードが導入されており、元の標準速度クロックを倍にして25MB /秒を生成します。

SDHCホストデバイスは古いSDカードを受け入れる必要があります。ただし、古いホストデバイスはSDHCまたはSDXCメモリカードを認識しませんが、一部のデバイスではファームウェアをアップグレードすることができます。 Windows 7より前にリリースされた古いWindowsオペレーティングシステムでは、SDHCカードへのアクセスをサポートするためのパッチまたはサービスパックが必要です。


SDXC

2009年1月に発表され、SD仕様のバージョン3.01で定義されているSecure Digital eXtended Capacity(SDXC)フォーマットは、SD 2.0仕様のSDHCカードの場合、最大32TB(2048GB)までのカードをサポートします。 SDXCは、MicrosoftのexFATファイルシステムを必須機能として採用しています。

また、バージョン3.01では、SDHCカードとSDXCカードの両方に超高速(UHS)バスが導入され、4ビットUHS-Iバスのインタフェース速度は50MB /秒から104MB /秒になりました。

2011年6月に導入されたバージョン4.0では、4本のレーン(2つの差動レーン)のUHS-IIバスに対して156MByte / s〜312MByte / sの速度が可能で、

バージョン5.0は、2016年2月にCP + 2016で発表され、8Kなどの高解像度ビデオフォーマットを処理するためのUHSカード用の「ビデオスピードクラス」の評価が追加されました。

exFAT形式のボリュームをマウントできるようにするため、exFATのメイン(FUSEモジュールとして)。ただし、SDXCカードは、ext2、UFS、VFATなどのファイルシステムを使用するように再フォーマットすることができ、exFATの可用性に関連する制限を緩和します。



コマンドインタフェース

SDカードとホストデバイスは、最初は同期1ビットインターフェイスを介して通信します。このインターフェイスでは、ホストデバイスは、SDカードの1ビットを入出力するクロック信号を供給します。これにより、ホスト装置は48ビットのコマンドを送信し、応答を受信する。カードは、応答が遅延することを通知することができるが、ホストデバイスはダイアログを中止することができる。

さまざまなコマンドを発行することによって、ホストデバイスは以下を行うことができます。

SDカードの種類、メモリ容量、および機能を決定します。

カードに異なる電圧、異なるクロック速度、または高度な電気的インタフェースを使用するように命令する

フラッシュメモリに書き込むブロックを受信するか、または指定されたブロックの内容を読み込んで返信するように、カードを準備します。

コマンドインターフェイスは、MultiMediaCard(MMC)インターフェイスの拡張機能です。 SDカードは、MMCプロトコルのコマンドの一部をサポートしなくなりましたが、コピープロテクションに関連するコマンドが追加されました。挿入されたカードのタイプを決定するまで、両方の規格でサポートされているコマンドのみを使用することで、ホストデバイスはSDカードとMMCカードの両方に対応できます。

電気的インターフェース

すべてのSDカードファミリは、最初は3.3Vの電気的インタフェースを使用します。コマンドでは、SDHCおよびSDXCカードは1.8 Vの動作に切り替えることができます。

最初のパワーアップまたはカード挿入時に、ホストデバイスは、ピン1に存在する電圧レベルによって、シリアル周辺インターフェース(SPI)バスまたは1ビットSDバスのいずれかを選択する。その後、ホストデバイスは、 SDカードがサポートしていれば、4ビットSDバスインタフェースです。さまざまなカードタイプに対して、4ビットSDバスのサポートはオプションまたは必須です。

SDカードがそれをサポートしていると判断した後、ホストデバイスはSDカードにより高い転送速度に切り替えるよう命令することもできる。カードの能力を判断するまで、ホストデバイスは400kHzより速いクロック速度を使用すべきではありません。 SDIO以外のSDカードでは、 "Default Speed"クロックレートが25MHzです。ホストデバイスは、カードがサポートする最大クロック速度を使用する必要はありません。電力を節約するために、最大クロック速度よりも低い速度で動作する可能性があります。コマンド間で、ホストデバイスはクロックを完全に停止することができます。



より高いカード速度を達成する

SD仕様では、4ビット幅の転送が定義されています。 (MMC仕様ではこれをサポートしており、8ビット幅のモードを定義しています;拡張ビットのMMCカードは市場で受け入れられませんでした)e.mMCで普及しています。高度なSDファミリは、高速差動インタフェース(UHS-II)でクロック周波数を高速化し、DDRを倍速化することで速度を向上させました。



ファイルシステム

他のタイプのフラッシュメモリカードと同様に、SDファミリのSDカードはブロックアドレス可能な記憶装置であり、ホスト装置はそのブロック番号を指定することによって固定サイズのブロックを読み書きすることができる。 (LBA / SECTOR)



MBRとFAT

ほとんどのSDカードには、1つまたは複数のMBRパーティションがあらかじめフォーマットされて出荷されます。最初または唯一のパーティションにファイルシステムが含まれています。これにより、パーソナルコンピュータのハードディスクのように動作することができます。 SDカードの仕様に従って、SDカードはMBRでフォーマットされ、次のファイルシステムが使用されます。

SDSCカードの場合:

32,680論理セクタ(16 MB未満)未満の容量:パーティションタイプ01hのFAT12。

32,680〜65,535論理セクタの容量(16MB〜32MBの間):パーティションタイプ04hのFAT16。

少なくとも65,536論理セクタ(32MBより大きい)の容量:パーティションタイプ06hのFAT16B。



SDHCカードの場合:

16,450,560未満の論理セクタ(7.8 GB未満)の容量:パーティションタイプ0BhのFAT32。

少なくとも16,450,560論理セクタ(7.8GBより大きい)の容量:パーティションタイプ0ChのFAT32。



SDXCカードの場合:

パーティションタイプが07hのexFAT - Window独自。



SDカードを使用するほとんどの消費者製品は、このようにパーティション化され、フォーマットされていると考えています。 FAT12、FAT16、FAT16B、およびFAT32のユニバーサルサポートにより、互換性のあるSDリーダーを備えたほとんどのホストコンピュータでSDSCおよびSDHCカードを使用できるようになり、ユーザーに親しみやすい名前付きファイルの方法を階層的なディレクトリツリーに表示できます。

このようなSDカードでは、Mac OS Xの「ディスクユーティリティ」やWindowsのSCANDISKなどの標準ユーティリティプログラムを使用して破損したファイリングシステムを修復し、時には削除されたファイルを回復することができます。このようなカードでは、FATファイルシステムのデフラグツールを使用できます。結果としてファイルを統合すると、ファイルを読み書きするのに必要な時間がわずかに改善されますが、ハードドライブのデフラグに匹敵する改善はありません。複数のフラグメントにファイルを格納するには、駆動ヘッドの動き。さらに、デフラグは、カードの定格寿命と比較してSDカードへの書き込みを実行します。

コンシューマデバイス用のカードの場合は、少なくとも32MB(65536論理セクタ以上)の容量を持つSDカードを2GB以下で再フォーマットする場合は、パーティションタイプが06時間のFAT16Bをお勧めします。 (FAT16Bも4GBカードのオプションですが、広くサポートされていない64kクラスタを使用する必要があります)。 FAT16Bは4GB以上のカードをサポートしていません。

SDXCの仕様では、Microsoft独自のexFATファイルシステムの使用が義務付けられています。これは、独自のオペレーティングシステムによってのみサポートされています。

ホストはSDカードをブロックストレージデバイスとして認識するので、カードにはMBRパーティションや特定のファイルシステムは必要ありません。オペレーティングシステムがサポートするファイルシステムを使用するように、カードを再フォーマットすることができます。例えば:

Windowsでは、SDカードはNTFS、それ以降のバージョンではexFATでフォーマットできます。

macOSの下では、SDカードをGUIDデバイスとしてパーティション化し、HFS PlusまたはAPFSファイルシステムでフォーマットしたり、exFATを使用したりすることができます。

LinuxやFreeBSDなどのUnixライクなオペレーティングシステムでは、UFS、Ext2、Ext3、Ext4、btrfs、HFS Plus、Reiser FS、またはF2FSファイルシステムを使用してSDカードをフォーマットすることができます。さらに、Linuxでは、 "hfsplus"パッケージがインストールされていれば、読み書き用にHFS Plusファイルシステムにアクセスし、 "hfsprogs"をインストールするとパーティション化してフォーマットすることができます。 (これらのパッケージ名はDebian、Ubuntuなどのところでは正しいですが、他のLinuxディストリビューションでは異なるかもしれません。)

上記のいずれかの最新バージョンは、UDFファイルシステムを使用してSDカードをフォーマットできます。

さらに、ライブUSBフラッシュドライブと同様に、SDカードにはオペレーティングシステムがインストールされています。ハードディスクドライブの代わりにSDカード(USBアダプタを使用するか、またはコンピュータのフラッシュメディアリーダーに挿入する)から起動できるコンピュータは、破損したハードディスクドライブから回復することができます。このようなSDカードは、システムの完全性を維持するために書き込みロックすることができます。

SD標準では、上記のMicrosoft FATファイルシステムのみを使用することができ、市販されているカードには、市場に出荷される際に、関連する標準ファイルシステムがプリロードされます。アプリケーションやユーザが非標準のファイルシステムを使用してカードを再フォーマットすると、相互運用性を含むカードの適切な動作が保証されません。

消費電力

SDカードの消費電力は、速度モード、製造元、モデルによって異なります。

転写の間、(3.3Vの供給電圧において20〜100mAの)範囲内にあり得る。

現代のUHS-IIカードは、ホストデバイスがバス速度モードSDR104またはUHS-IIをサポートする場合、2.88 Wまで消費することができます。 UHS-IIホストの場合の最小消費電力は0.72Wです。

ほとんどのメモリカードフォーマットと同様に、SDは多数の特許と商標でカバーされています。 SDカードのライセンシーのロイヤリティは、メモリカードとホストアダプタの製造と販売のために課されますが(US $ 1,000 /年、US $ 1,500 /年)、SDIOカードはロイヤルティーなしで製造することができます。

SD仕様の初期のバージョンは、オープンソースドライバの開発を禁止する非公開契約(NDA)に同意した後にのみ利用可能でした。しかし、システムは最終的にリバースエンジニアリングされ、フリーソフトウェアドライバはDRMを使用していないSDカードへのアクセスを提供しました。それ以来、SDAは、より限定的ではないライセンスの下で仕様の簡略版を提供してきました。これまでにほとんどのオープンソースドライバが書かれていましたが、互換性の問題を解決するのに役立っています。

2006年にSDAは、ホストコントローラインタフェース(SDカードの仕様とは対照的)の仕様の簡略版をリリースし、その後、物理層、ASSD拡張、SDIO、およびSDIO Bluetooth Type-Aについても免責条項契約。もう一度、情報の大部分は既に発見されており、Linuxには完全にフリーのドライバがありました。それでも、この仕様に準拠したチップを構築することで、One Laptop per Childプロジェクトは「SDIライセンスを取得する必要はなく、SDドライバやアプリケーションを作成するためにNDAに署名する必要がなく、最初の真のオープンソースSD実装」と主張しました。

完全なSD仕様の独自の性質は、組み込みシステム、ラップトップコンピュータ、および一部のデスクトップコンピュータに影響します。多くのデスクトップコンピュータにはカードスロットがなく、必要に応じてUSBベースのカードリーダーが使用されます。これらのカードリーダは、メモリカードへの標準的なUSBマスストレージインタフェースを提供し、オペレーティングシステムを基礎となるSDインタフェースの詳細から分離する。しかし、組み込みシステム(携帯音楽プレーヤーなど)は、通常、SDカードに直接アクセスするため、完全なプログラミング情報が必要です。デスクトップカードリーダーはそれ自体が組み込みシステムです。彼らの製造業者はSD仕様への完全なアクセスのために通常SDAを支払っている。多くのノートブックコンピュータには、USBに基づいていないSDカードリーダーが搭載されています。これらのデバイスドライバは、組み込みシステムと同様に、基本的にSDカードに直接アクセスします。

SPIバスインタフェースモードは、SDカードにアクセスするためのホストライセンスを必要としない唯一のタイプです。

他のフラッシュメモリフォーマットとの比較

さまざまなフラッシュカードのサイズ比較:SD、コンパクトフラッシュ、MMC、xD

全体として、SDはCompactFlashまたはUSBフラッシュメモリドライブよりもオープンではありません。これらのオープンスタンダードは、ライセンス、ロイヤルティ、または文書を支払うことなく実装できます。 (CompactFlashおよびUSBフラッシュドライブには、SDAの商標登録されたロゴを使用するためのライセンス料が必要な場合があります)。

しかし、SDはメモリスティックよりもはるかにオープンであり、公開されたドキュメンテーションや文書化されたレガシーの実装は利用できません。すべてのSDカードは、十分に文書化されたSPIバスを使用して自由にアクセスできます。



CFカードとSDカードの技術的特徴の比較

上記の情報から、CFカードとSDカードの両方の密度はほぼ同じです。 UDMA 7を使用するCF 6.0のCFカードは、145 MB / Sという非常に高速です。 UHS IIを使用するSDHCカードでは、312MB / Sの速度が得られます。追加されたピンに2つの低電圧差動レーンを使用します。

多くの組込みシステムがSDHC、またはEmbedded MMCとSDに移行しています。 e.MMCは、顧客固有のカスタムモジュールを使用します。ルーター企業が使用しているコネクタがありますが、これが人気を集めています。モジュールは、組み込みプラットフォーム以外でフォーマットすることができるため(生産上重要)、はんだ付けされた部品よりも優先され、より簡単な方法で交換されます。

MarvelのようなSATA to PATAブリッジに接続されたCFが普及していると我々は信じていると言いましたが、 CPUにはすべてSATAポートがあり、デバイスドライバが実証されています。

デルキンデバイスにお問い合わせください。インダストリアルCFまたはインダストリアルSDカードに関する技術的な質問にお答えします。



記事の投稿者:

Carmine C. Cupani、MSEE

CTech Electronics LLC