ファイル・システム設計ガイド2010 _記事「ファイル・システム導入についてのポイント」
tag:
キャッチアップ 2010年7月26日
多言語対応
FATファイル・システムでは扱う文字コードについて規定はありませんが,アプリケーションによっては多言語対応が必要になる場合があります.例えば,装置を輸出先の言語に合わせてその都度文字コードを入れ替えて開発するのは一つの方法ですが,開発コストや在庫リスクを考えると得策ではありません.その場合,Unicode対応のファイル・システムを採用することで,多言語の文字コードを一元化して扱うことが可能となります.
デバイス・ドライバ
最近では携帯電話やデジタルカメラなどのモバイル機器が広く普及したこともあって,SDメモリ・カードやCFカードなどの大容量メモリ・カードが低価格で入手できるようになってきました.
また,NANDフラッシュ・メモリをオンボード・メモリとして搭載する場合やRAM 上に簡易的にRAM ディスクを作成する場合などでも,各々のメモリ・デバイス用のデバイス・ドライバを用意すれば,論理的にはどんなメモリ・デバイス上でもFATファイル・システムを構築することが可能です(図1).
図1 ファイル・システムとデバイス・ドライバ
最近,何といっても一番多いメディアがSDメモリ・カードではないでしょうか.書き込み速度はCF カードに及ばないものの,コンパクトな筐体や低価格化で急速に導入が拡がっているリムーバブル・メディアです.
SDメモリ・カードはSD アソシエーション(1)で制定されている規格に準拠したメモリ・デバイスで,現在では携帯電話,デジタルカメラ,ビデオカメラ等に標準的に採用されています.2009 年にはSD アソシエーションからSDXC規格が発表され,最大2TB まで対応できるようになりました.それを受けて各社から48GB 品,64GB 品がリリースされ,今後も大容量品がラインナップされていくでしょう.
組み込み機器でSD メモリ・カードを使う場合2 つの方法があります(表2).
表2 SD カードへのアクセス
方式 | 長所 | 短所 |
SDホスト・コントローラ | SD メモリ・カードとバス接続されるため,高速にアクセスできる. | 別途,SD ホスト・コントローラのレジスタ仕様を入手する必要がある. |
シリアル接続(SPI モード) | SD ホスト・コントローラが不要なため,ハードウェア,ドライバを簡単に構成できる. | SD ホスト・コントローラ使用時に比べパフォーマンスが劣る. |
一つはSD ホスト・コントローラを使ってSDメモリ・カードにアクセスする方法と,もう一つはシリアルポートを使ってアクセスする方法です.前者はSDホスト・コントローラとSD メモリ・カード間が4bitバスで接続されるためデータの読み書きが高速で行えるメリットがありますが,SD アソシエーションに加入してSDホスト・コントローラのレジスタ仕様を入手する必要があります.後者は,シリアルポートを介してSD メモリ・カードをSPI(Serial Parallel Interface)モードで接続するためSDホスト・コントローラを使わずにデータの読み書きができるメリットがありますが,当然ながらシリアルでデータ転送するためSD ホスト・コントローラを使う場合に比べパフォーマンスが劣ってしまうことは否めません.
ある程度SDメモリ・カードへの読み書きにパフォーマンスを求めるアプリケーションではSD メモリ・カード・ドライバを実装し,さほどパフォーマンスを求めないアプリケーションではSPI ドライバを実装する,といったように,使うアプリケーションに合わせて最適なドライバを選択することでコストパフォーマンスの優れた競争力のある製品開発が可能となります.
参考文献
(1) SDアソシエーション http://www.sdcard.org/
データテクノロジー(株)
Cente 事業部 開発部長 阿部 守