アカウント名:
パスワード:
簡略版物理層仕様書 [sdcard.org]を見る限り、SD Card Association は物理層とファイルシステム層を規定しているようです。 多分通常の SD Card では、ファイルシステム層に FAT16 を使用することになっているのでしょう。 SDHC では 1) 物理層の制御コマンドで32bit以上のアドレスが指定できるようになる、2) ファイルシステム層で FAT32 もサポートする、の二つが規定されているのではないかと思います。
また、MMC と SD Card のバスプロトコルではコマンドの長さが 48bit に制限されていて、スタートビットに 2bit、ストップビットに 1bit、CRC に 7bit 使っているので、32ビットより大きなアドレスを一つのコマンドで送ることは規格上無理だということがわかります。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
物事のやり方は一つではない -- Perlな人
32ビットのアドレス指定 (スコア:4, 参考になる)
指定するので2^32バイトに制限されます。
2^32なので厳密には4GBなのですが、FAT16の制限や
unsigned long / longの計算混在により上位2GBはアクセスできない可能性があります。
ということで2GBをMAXとしているようです。
基本的にHDDと同じなのでフォーマットはなんであっても
動作します。FAT12.FAT16,FAT32
ただフォーマットするPC・機器によって微妙にブートセクタなどが変わるのでそこが難しいのです。
メディアの外形が同じようなのでちょっと安心しました。
Re:32ビットのアドレス指定 (スコア:2, 参考になる)
簡略版物理層仕様書 [sdcard.org]を見る限り、SD Card Association は物理層とファイルシステム層を規定しているようです。
多分通常の SD Card では、ファイルシステム層に FAT16 を使用することになっているのでしょう。
SDHC では 1) 物理層の制御コマンドで32bit以上のアドレスが指定できるようになる、2) ファイルシステム層で FAT32 もサポートする、の二つが規定されているのではないかと思います。
Re:32ビットのアドレス指定 (スコア:2, 参考になる)
MultiMediaCard が規定しているファイルシステムについても調べてみました。
3.1版仕様書抄録 [mmca.org]を見る限り、ファイルシステムは FAT12 と FAT16 が使えるようです。
たぶん、SD Card もファイルシステムに関して同じ仕様だと思います。
また、MMC と SD Card のバスプロトコルではコマンドの長さが 48bit に制限されていて、スタートビットに 2bit、ストップビットに 1bit、CRC に 7bit 使っているので、32ビットより大きなアドレスを一つのコマンドで送ることは規格上無理だということがわかります。
Re:32ビットのアドレス指定 (スコア:1)
>規格上無理だということがわかります。
あれ? SDHCでもコマンドの引き数は4バイトで代りが無かったような…??
現状のSD/MMCのアドレス指定は、LBA単位ではなく、ほんとにアドレスなので
LBA=1にアクセスするときは、アドレス 00000200h を指定する必要がありました。
つまり、実質的に下位9ビットが常にゼロなので、SDHCでは、
アドレスを9ビットシフトしてLBAをそのまま指定できるようになった…
っと聞いたんだけど…
本物仕様書見れる人、回答お願い!
Re:32ビットのアドレス指定 (スコア:0)