説明

記録媒体及びメモリアクセス可能な電子機器

【課題】ファイルアクセス処理に必要なファイルアクセスライブラリを記録媒体内に内蔵した構成とすることにより、ホスト機器にファイルアクセスライブラリを実装することなくファイルアクセス機能を実現する、記録媒体及びメモリアクセス可能な電子機器を提供することである。
【解決手段】記録媒体1Aは、メモリアクセス可能な電子機器2Aからのファイルを記憶するメモリ部11と、電子機器2Aからのファイルアクセス機能コマンドを実行可能なコマンドに変換する変換部41-1と、変換部41-1のコマンド変換を行うための対応テーブルを記憶した記憶部41-2と、変換部41-1で変換した実行可能なコマンドに従ってメモリ部11に対するファイルの読み書きを含むファイルアクセス処理を実行するコントローラ12aとを備える。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、電子機器からのアクセスによりメモリに対するファイルの読み書きを含むファイルアクセス処理を行う記録媒体及びメモリアクセス可能な電子機器に関するものである。
【背景技術】
【0002】
近年、パーソナルコンピュータ、PDA、カメラ、携帯電話等の様々な携帯用電子機器においては、記録媒体の1つである不揮発性メモリカードが多く用いられている。不揮発性メモリカードとしては、PCカード、及び小型のSDTMカードが注目されている。SDTMカードは、フラッシュメモリを内蔵したメモリカードであり、特に小型化、大容量化、及び高速化の要求に見合うように設計されている。
【0003】
SDTM(Secure Digital)メモリカードでは、SDTMメモリカード内に保存するデータのファイルシステム形式が定義および実装されている。
SDTMメモリカードにファイルを書き込む場合或いはSDTMメモリカードからファイルを読み出す場合、SDTMメモリカードを収納した電子機器(以下、メモリアクセス可能な電子機器又はホスト機器という)ではファイルオープン、ファイルライト、ファイルリード、ファイルクローズ等のファイルアクセス処理を実行する。以下、ホスト機器側のアプリケーションで生成され、ファイルアクセス処理を実行するためのコマンドをファイルアクセス機能コマンドと呼ぶ。実際にSDTMメモリカードのメモリ部に対してファイルアクセス処理を実行するためには、ファイルアクセス機能コマンドをSDTMメモリカードに特化した実行可能なコマンドに変換する必要がある。
【0004】
ファイルアクセス機能コマンドに対応するファイルアクセス処理は、SDTMメモリカードで直接実行されるのではなく、ホスト機器に実装されるファイルアクセスライブラリによって提供される。ファイルアクセスライブラリとは、ファイルアクセス機能コマンドをSDTMメモリカードが認識および実行できるように解読するものであって、下位のSDTMメモリカードドライバと連携して、ファイルアクセス機能コマンドをSDTMメモリカードが認識および実行できるSDTMメモリカードコマンドに変換するものである。
【0005】
ホスト機器は、変換したSDTMメモリカードコマンドをSDTMメモリカードに送信し、SDTMメモリカードは送信されたSDTMメモリカードコマンドを実行し、実行結果をホスト機器へ返却する。
【0006】
ところで、上記した従来技術においては、SDTMメモリカードが装着されるホスト機器にファイルアクセスライブラリを必要とするため、デジタルカメラ、携帯電話、PDA(個人携帯情報端末)、携帯音楽プレイヤーなどの様々なホスト機器仕様に合わせてファイルアクセスライブラリを設計および実装する必要があった。従って、ホスト機器にファイルアクセスライブラリを実装することなくファイルアクセス機能を実現することが要望される。
【0007】
一方、関連する先行技術としては、外部の本体システムの制御により、動作状態制御手段を通じてアトリビュート記憶手段をアクセスして複数の記憶素子の少なくとも種類及び割り付けアドレス情報を識別し、外部の本体システムの上位アプリケーションプログラムによって、複数の記憶素子のいずれか一方を選択してデータ書き込み及び書き込まれたデータの読み出しのプログラム実行領域を制御するICカードメモリを開示しているものがある(例えば、特許文献1参照)。
【0008】
しかしながら、特許文献1は、読み出し処理方式及び記憶容量が異なる複数のICメモリを実行処理する際に、複数のICメモリカードの少なくとも種類及び割り付けアドレス情報を識別して、その使い分けを容易にするものであって、ホスト機器ごとにファイルアクセス処理に必要とされるファイルアクセスライブラリをホスト機器から削除するものではない。
【特許文献1】特開平5−334506号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
そこで、本発明は上記の問題を解決するためになされたものであり、ファイルアクセス処理に必要なファイルアクセスライブラリを記録媒体内に内蔵した構成とすることにより、ホスト機器にファイルアクセスライブラリを実装することなくファイルアクセス機能を実現する、記録媒体及びメモリアクセス可能な電子機器を提供することを目的とするものである。
【課題を解決するための手段】
【0010】
本願発明の一態様によれば、ホスト機器からのファイルを記憶するメモリ部と、前記ホスト機器からのファイルアクセス機能コマンドを実行可能なコマンドに変換する変換部と、前記変換部のコマンド変換を行うための対応テーブルを記憶した記憶部と、前記変換部で変換した実行可能なコマンドに従って前記メモリ部に対するファイルの読み書きを含むファイルアクセス処理を実行するコントローラとを具備した記録媒体が提供される。
【0011】
本願発明の他の態様によれば、ホスト機器からのファイルを記憶するメモリ部と、前記ホスト機器で生成したファイルアクセスコマンド、および、ファイルアクセス機能コマンドを有したファイルアクセスデータブロックを受信する通信インタフェースドライバと、前記ファイルアクセスデータブロックのファイルアクセス機能コマンドを対応テーブルを参照して解読するファイルアクセスライブラリと、前記ファイルアクセス機能コマンドに対応するファイルアクセス処理を、前記メモリ部に記憶したファイルに対して実行するコントローラとを具備した記録媒体が提供される。
【0012】
本願発明の他の態様によれば、プログラムに従って所定の動作を行い、アクセスすべき記録媒体に対してファイルアクセス機能コマンドを、記録媒体に転送可能なデータブロック形式で発行するアプリケーションを具備したメモリアクセス可能な電子機器が提供される。
【発明の効果】
【0013】
本発明によれば、ファイルアクセス処理に必要なファイルアクセスライブラリを記録媒体内に内蔵した構成とすることにより、ホスト機器にファイルアクセスライブラリを実装することなくファイルアクセス機能を実現する、記録媒体及びメモリアクセス可能な電子機器を提供することができる。
【発明を実施するための最良の形態】
【0014】
発明の実施の形態について図面を参照して説明する。
図1乃至図10を参照して本発明の実施形態を説明する前に、図11乃至図16を参照して記録媒体としてのSDTMメモリカードの一般的な構成について説明する。
【0015】
図11は、一般的なSDTMメモリカードの構成を示す概略図である。SDTMメモリカード1は、ホスト機器2とバスインタフェース3を介して情報の授受を行う。SDTMメモリカード1は、チップ状のNAND型フラッシュメモリ11、このNAND型フラッシュメモリ11を制御するカードコントローラ12、及び複数の信号ピン(ピン1乃至ピン9)10を備えている。
【0016】
これら複数の信号ピン10は、カードコントローラ12と電気的に接続されている。複数の信号ピン10におけるピン1乃至ピン9に対する信号の割り当ては、例えば図12に示すようになっている。データ0乃至データ3は、ピン7、ピン8、ピン9、及びピン1にそれぞれ割り当てられている。ピン1は、またカード検出信号に対しても割り当てられている。さらに、ピン2はコマンドに割り当てられ、ピン3及びピン6は接地電位Vssに、ピン4は電源電圧Vddに、ピン5はクロック信号に割り当てられている。
【0017】
また、SDTMメモリカード1は、ホスト機器2に設けられたスロットに対して挿抜可能なように形成されている。ホスト機器2に設けられたホストコントローラ(図示せず)は、これらピン1乃至ピン9を介してSDTMメモリカード1内のカードコントローラ12と各種信号及びデータを通信する。例えば、SDTMメモリカード1にデータが書き込まれる際には、ホストコントローラは書き込みコマンドを、ピン2を介してカードコントローラ12にシリアルな信号として送出する。このとき、カードコントローラ12は、ピン5に供給されているクロック信号に応答して、ピン2に与えられる書き込みコマンドを取り込む。ここで、前述したように、書き込みコマンドは、ピン2のみを利用してカードコントローラ12にシリアルに入力される。コマンドの入力に割り当てられているピン2は、図12に示すように、データ3用のピン1と接地電位Vss用のピン3との間に配置されている。前記複数の信号ピン10とそれに対するバスインタフェース3は、ホスト機器2内のホストコントローラとSDTMメモリカード1とが通信するのに使用される。
【0018】
これに対し、NAND型フラッシュメモリ11とカードコントローラ12との間の通信は、NAND型フラッシュメモリ用のインタフェースを採用する。したがって、ここでは図示しないが、NAND型フラッシュメモリ11とカードコントローラ12とは8ビットの入出力(I/O)線により接続されている。
【0019】
例えば、カードコントローラ12がNAND型フラッシュメモリ11にデータを書き込む際には、カードコントローラ12は、これらI/O線を介してデータ入力コマンド80H、カラムアドレス、ページアドレス、データ、及びプログラムコマンド10HをNAND型フラッシュメモリ11に順次入力する。ここで、コマンド80Hの“H”は16進数を示すものであり、実際には“10000000”という8ビットの信号が、8ビットのI/O線にパラレルに与えられる。つまり、このNAND型フラッシュメモリ用のインタフェースは、複数ビットのコマンドがパラレルに与えられるものである。また、NAND型フラッシュメモリ用のインタフェースでは、NAND型フラッシュメモリ11に対するコマンドとデータが同じI/O線を共用して通信されている。このように、ホスト機器2内のホストコントローラとSDTMメモリカード1とが通信するインタフェースと、NAND型フラッシュメモリ11とカードコントローラ12とが通信するインタフェースとは異なるものとなっている。
【0020】
図13は、一般的なSDTMメモリカードのハード構成を示すブロック図である。
ホスト機器2は、バスインタフェース3を介して接続されるSDTMメモリカード1に対しアクセスを行うためのハードウェア及びソフトウェアを備えている。SDTMメモリカード1は、ホスト機器2に接続された時に電源供給を受けて動作し、ホスト機器2からのアクセスに応じた処理を行う。
【0021】
SDTMメモリカード1は、前述したように、NAND型フラッシュメモリ11及びカードコントローラ12を含む。NAND型フラッシュメモリ11は、消去時の消去ブロックサイズ(消去単位のブロックサイズ)が所定サイズ(例えば、256kByte)に定められている。また、このNAND型フラッシュメモリ11は、ページと称する単位(例えば、2kByte)でデータの書き込みおよび読み出しが行われるようになっている。カードコントローラ12は、NAND型フラッシュメモリ11内部の物理状態(例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、あるいは、何処のブロックが消去状態であるか)を管理する。このカードコントローラ12は、通信インタフェースドライバとして機能するホストインタフェースモジュール13、MPU(Micro processing unit)14、フラッシュコントローラ15、ROM(Read-only memory)16、RAM(Random access memory)17、及びバッファ18を有している。
【0022】
ホストインタフェースモジュール13は、カードコントローラ12とホスト機器2との間のインタフェース処理を行うものであり、レジスタ部19を含む。図14に、レジスタ部19の詳細な構成を示す。レジスタ部19は、カードステータスレジスタ、及びCID、RCA、DSR、CSD、SCR、OCRの各種レジスタを有する。
【0023】
これらレジスタは、以下のように定義されている。カードステータスレジスタは、通常動作において使用され、例えば後述するエラー情報が記憶される。CID、RCA、DSR、CSD、SCR、及びOCRは、主にSDTMメモリカードの初期化時に使用される。CID(Card identification number)には、SDTMメモリカードの個体番号が記憶される。RCA(Relative card address)には、相対カードアドレス(初期化時にSDTMメモリカードが動的に決める)が記憶される。DSR(Driver stage register)には、SDTMメモリカードのバス駆動力等が記憶される。CSD(Card specific data)には、SDTMメモリカードの特性パラメータ値が記憶される。SCR(SD configuration data register)には、SDTMメモリカードのデータ配置が記憶される。さらに、OCR(Operation condition resister)には、動作範囲電圧に制限のあるSDTMメモリカードの場合の動作電圧が記憶される。
【0024】
MPU14は、SDTMメモリカード1全体の動作を制御するものである。MPU14は、例えばSDTMメモリカード1が電源供給を受けたときに、ROM16に格納されているファームウェア(制御プログラム)をRAM17上に読み出して所定の処理を実行することにより、各種のテーブルをRAM17上に作成する。MPU14は、またホスト機器2から書き込みコマンド、読み出しコマンド、消去コマンドを受け取り、NAND型フラッシュメモリ11に対して所定の処理を実行したり、バッファ18を通じたデータ転送処理を制御したりする。
【0025】
ROM16は、MPU14により制御される制御プログラムなどを格納するメモリである。RAM17は、MPU14の作業エリアとして使用され、制御プログラムや各種のテーブルを記憶するメモリである。さらに、フラッシュコントローラ15は、カードコントローラ12とNAND型フラッシュメモリ11との間のインタフェース処理を行うものである。
【0026】
バッファ18は、ホスト機器2から送られてくるデータをNAND型フラッシュメモリ11へ書き込む際に、一定量のデータ(例えば、1ページ分)を一時的に記憶したり、NAND型フラッシュメモリ11から読み出されるデータをホスト機器2へ送り出す際に、一定量のデータを一時的に記憶したりするものである。
【0027】
図15は、SDTMメモリカード内のNAND型フラッシュメモリ11におけるデータ配置を示している。NAND型フラッシュメモリ11の各ページは、2112Byte((512Byte分のデータ記憶部+10Byte分の冗長部)×4+24Byte分の管理データ記憶部)を有しており、128ページ分が1つの消去単位(256kByte+8kByte(ここで、kは1024))となる。なお、以下の説明においては、便宜上、このNAND型フラッシュメモリ11の消去単位を256kByteと呼ぶ。
【0028】
また、NAND型フラッシュメモリ11は、フラッシュメモリへのデータ入出力を行うためのページバッファ11Aを備えている。このページバッファ11Aの記憶容量は、2112Byte(2048Byte+64Byte)である。データ書き込みなどの際には、ページバッファ11Aは、フラッシュメモリに対するデータ入出力処理を自身の記憶容量に相当する1ページ分の単位で実行する。
【0029】
NAND型フラッシュメモリ11の記憶容量が例えば1Gビットである場合、256kByteブロック(消去単位)の数は、512個となる。
また、図15においては消去単位が256kByteブロックである場合を例示しているが、消去単位が例えば16kByteブロックとなるように構築することも実用上有効である。この場合、各ページは528Byte(512Byte分のデータ記憶部+16Byte分の冗長部)を有しており、32ページ分が1つの消去単位(16kByte+0.5kByte(ここで、kは1024))となる。
【0030】
NAND型フラッシュメモリ11のデータが書き込まれる領域(データ記憶領域)は、図13に示すように、保存されるデータに応じて複数の領域に区分けされている。NAND型フラッシュメモリ11は、データ記憶領域として、ユーザデータを格納するユーザデータ領域34と、主にSDTMメモリカードに関する管理情報を格納するための管理データ領域31と、機密データを格納する機密データ領域32と、重要なデータを格納するための保護データ領域33とを備えている。
【0031】
ユーザデータ領域34は、SDTMメモリカード1を使用するユーザが自由にアクセス及び使用することが可能な領域である。保護データ領域33は、SDTMメモリカード1に接続されたホスト機器2との相互認証によりホスト機器2の正当性が証明された場合にのみアクセスが可能となる領域である。
管理データ領域31は、SDTMメモリカード1のセキュリティ情報やメディアIDなどのカード情報が格納されている領域である。機密データ領域32は、暗号化に用いる鍵情報や認証時に使用する機密データが保存されており、ホスト機器2からはアクセス不可能な領域である。
【0032】
また、図16に、SDTMメモリカード1の動作モードがSDTM4bitモード、SDTM1bitモード、及びSPIモードにおける信号ピンに対する信号割り当てを示す。
SDTMメモリカードの動作モードは、SDTMモードとSPIモードに大別される。SDTMモードにおいては、SDTMメモリカード1はホスト機器2からのバス幅変更コマンドによって、SDTM4bitモードまたはSDTM1bitモードに設定される。
【0033】
ここで、4つのデータ0ピン(DAT0)乃至データ3ピン(DAT3)に着目すると、4ビット幅単位でデータ転送を行うSDTM4bitモードでは、4つのデータ0ピン乃至データ3ピンが全てデータ転送に用いられるが、1ビット幅単位でデータ転送を行うSDTM1bitモードでは、データ0ピン(DAT0)のみがデータ転送に使用され、データ1ピン(DAT1)、データ2ピン(DAT2)は全く使用されない。また、データ3ピン(DAT3)は例えばSDTMメモリカードからホスト機器への非同期割り込み等のために使用される。SPIモードでは、データ0ピン(DAT0)がSDTMメモリカードからホスト機器へのデータ信号線(DATA OUT)に用いられる。コマンドピン(CMD)はホスト機器からSDTMメモリカードへのデータ信号線(DATA IN)に用いられる。データ1ピン(DAT1)、データ2ピン(DAT2)は全く使用されない。また、SPIモードでは、データ3ピン(DAT3)は、ホスト機器からSDTMメモリカードへのチップセレクト信号CSの送信に用いられる。
【0034】
以下、図1〜図10を参照してこの発明の実施形態の記録媒体及びメモリアクセス可能な電子機器について説明する。ここでは、記録媒体としては、SDTMメモリカードを例にとり、メモリアクセス可能な電子機器としては、SDTMメモリカードを着脱可能に装着できる電子機器を例として説明する。
【0035】
[第1の実施形態]
図1は本発明の第1の実施形態の記録媒体及びメモリアクセス可能な電子機器のブロック図を示している。記録媒体(以下、SDTMメモリカード)1A及びこのSDTMメモリカードが装着される電子機器(以下、ホスト機器)2Aは記録システムを構成している。
【0036】
図1において、SDTMメモリカード1Aは、ホスト機器2Aとの通信制御を行なう通信インタフェースドライバ13aと、SDTMメモリカード1Aの制御を行なうコントローラとしてのカードコントローラ12aと、ホスト機器2Aから指示されたファイルアクセス機能コマンドを解読するファイルアクセスライブラリとしてのSDTMメモリカード側ファイルアクセスライブラリ41と、ファイルを記憶するメモリ部としてのNAND型フラッシュメモリ11とを備えている。
【0037】
ここで、ファイルアクセス機能コマンドは、ホスト機器側のアプリケーションで生成され、SDTMメモリカードの仕様に特化されず各種のホスト機器間で統一化(共通化)された、ファイルアクセス処理を実行するためのコマンドである。実際にSDTMメモリカードのメモリ部に対してファイルアクセス処理を実行するためには、ファイルアクセス機能コマンドをSDTMメモリカードに特化した実行可能なコマンドに変換する必要がある。
【0038】
SDTMメモリカード側ファイルアクセスライブラリ41は、ホスト機器2Aからのファイルアクセス機能コマンドを実行可能なコマンドに変換する変換部41-1と、この変換部41-1のコマンド変換を行うための対応テーブルを記憶した記憶部41-2とを備える。
【0039】
ホスト機器2Aは、プログラムに従って所定の動作を行い、アクセスすべきSDTMメモリカード1Aに対してファイルアクセス機能コマンドを、SDTMメモリカード1Aに転送可能なデータブロック形式(後述する)で発行するアプリケーション21と、SDTMメモリカード1Aとの通信制御を行なう通信インタフェースドライバ22とを備えている。
【0040】
次に、SDTMメモリカード側ファイルアクセスライブラリ41について説明する。
SDTMメモリカード側ファイルアクセスライブラリ41は、SDTMメモリカード1Aに記憶されるファイルを操作する機能を提供する。提供するファイルアクセス機能には、例えば、図2に示すようなファイルオープン、ファイル読み出し、ファイル書き込み、ファイル削除等がある。
【0041】
図2は、ファイルアクセス機能コマンドの例を示している。本発明の実施形態では、ホスト機器2Aのアプリケーション21で生成するファイルアクセス機能コマンドは、そのコマンド識別子が各種のホスト機器2A間で統一化(共通化)されているものとする。ファイルアクセス機能コマンドのコマンド識別子を統一化することによって、SDTMメモリカード側ファイルアクセスライブラリ41は、その統一化されたファイルアクセス機能コマンド識別子をカードコントローラ12aで認識可能なSDTMメモリカードコマンド(図3参照)に変換する機能を備えればよい。図4は、ファイルアクセス機能コマンドをカードコントローラ12aで認識可能なSDTMメモリカードコマンド識別子に変換するコマンド変換例を示している。
【0042】
SDTMメモリカード側ファイルアクセスライブラリ41は、図4のコマンド変換例に従い、アプリケーション21から指示されたファイルアクセス機能コマンドをSDTMメモリカードコマンドに変換することによってカードコントローラ12aで実行する。
【0043】
次に、カードコントローラ12aについて説明する。
カードコントローラ12aは、通信インタフェースドライバ13aあるいはSDTMメモリカード側ファイルアクセスライブラリ41から送信されたSDTMメモリカードコマンドを解釈し、NAND型フラッシュメモリ11に記憶されるファイルにアクセスする機能を有する。
【0044】
次に、SDTMメモリカードコマンドについて説明する。
SDTMメモリカードコマンドは、SDTMメモリカード1Aの制御やNAND型フラッシュメモリに記憶されるデータを操作するためのコマンドであり、例えば、図3に示すようなカードコントローラ初期化、データ書き込み、データ読み出し等のコマンドがある。SDTMメモリカードコマンドはカードコントローラ12aにより実行される。
【0045】
図3に示すSDTMメモリカードコマンドは、SDTMメモリカード仕様のコマンドであるが、本発明の実施形態では、図3の表の最下段に示すように、コマンド機能として「ファイルアクセス機能コマンド使用」を設け、そのコマンド識別子として「FILE ACCESS ENABLE」を設けている。この新たなSDTMメモリカードコマンドについては、後に説明する。
【0046】
次に、ファイルアクセスコマンドとファイルアクセスデータブロックの形式を図5および図6に基づいて説明する。
アプリケーション21は実行するファイルアクセス機能コマンドを図5および図6で示す形式でSDTMメモリカード1Aへ送信する。ファイルアクセスコマンドはSDTM(Secure Digital)仕様で予め規定されるコマンドフォーマットに相当し、ファイルアクセスデータブロックはSDTM仕様で予め規定されるデータブロックに相当する。ただし、このデータブロックは512Byteのデータ長が規定されているのみである。ファイルアクセスコマンドおよびファイルアクセスデータブロックには、SDTM仕様に準拠するために図5、図6に示した要素以外にスタートビット、ストップビット、CRC(巡回冗長検査)などの要素が付加されてもよい。
【0047】
ファイルアクセスコマンド形式は、ファイルI/Oコマンド識別子とアーギュメントから構成されている。ファイルI/Oコマンド識別子は、ファイルアクセスコマンド形式であることを示す識別子であり、SDTM仕様で規定されるコマンドと共用できる仕様であってもよい。本発明の実施形態では、ファイルI/Oコマンド識別子として、SDTM仕様として規定されている図3のSDTMメモリカードコマンドのコマンド識別子を用いる。より具体的には、ファイルI/Oコマンド識別子として、「FILE ACCESS ENABLE」を用いる。アーギュメントには次に述べるファイルアクセスデータブロックのサイズを与える。
【0048】
なお、SDTMメモリカード1A及びホスト機器2Aは、それぞれの通信インタフェースドライバ13a,22に1つコマンドピンと4つのデータピンが設けられている。SDTMメモリカード1Aの通信インタフェースドライバ13aには、図11に示した信号ピン10のうち、ピン2がファイルアクセスコマンドを転送するコマンドピン、ピン1,7,8,9がファイルアクセスデータブロックを4つに分けて転送するデータピンとなっている。
【0049】
SDTMメモリカード側ファイルアクセスライブラリ41は、通信インタフェースドライバ13aのコマンドピンを通して図5のようなファイルアクセスコマンドを受信した後、図6に示すようなファイルアクセスデータブロックを受信する。この場合、先ずファイルアクセスコマンドの先頭のファイルI/Oコマンド識別子(図3のSDTMメモリカードコマンドとして記述されている「FILE ACCESS ENABLE」)を参照し、その内容に基づいてファイルアクセスデータブロックを参照する。つまり、コマンド識別子「FILE ACCESS ENABLE」は、ファイルアクセス機能コマンドを使用(利用)せよという意味のコマンドであって、このコマンドに従ってファイルアクセスデータブロックの先頭に記述されていたファイルアクセス機能コマンド識別子を参照して、図7のコマンド変換例に従いファイルアクセス機能コマンドをSDTMメモリカードコマンドに変換して、カードコントローラ12へ出力する。カードコントローラ12aでは、ファイルアクセス機能コマンドに対応したファイルアクセス処理をNAND型フラッシュメモリ11に対して実行する。
【0050】
また、ファイルアクセスデータブロック形式は、ファイルアクセス機能コマンド識別子と転送データから構成されている。ファイルアクセス機能コマンド識別子には、図2で示されるファイルアクセス機能コマンドのコマンド識別子を与え、転送データには図2で示される転送データを与える。
【0051】
転送データに与えるデータは図2に示されるようにコマンド機能毎に異なる。例えばファイルオープンでは、ホスト機器2AからSDTMメモリカード1Aへ送信する転送データにはファイル名を与え、ホスト機器2AがSDTMメモリカード1Aから受信する転送データにはファイルハンドルが与えられる。また、ファイル読み出しでは、ホスト機器2AからSDTMメモリカード1Aへ送信する転送データにはファイルハンドルを与え、ホスト機器2AがSDTMメモリカード1Aから受信する転送データには読み出しファイルデータが与えられる。
【0052】
図2に示されるファイルアクセス機能コマンドの転送方向は、ホスト機器2AとSDTMメモリカード1Aの間で転送されるファイルアクセスデータブロックの方向を示す。ホスト機器2AからSDTMメモリカード1Aへの片方向のコマンドの場合は、ファイルアクセスコマンドをホスト機器2AからSDTMメモリカード1Aへ送信した後、ファイルアクセスデータブロックを送信する。また双方向のコマンドの場合は、ファイルアクセスコマンドをホスト機器2AからSDTMメモリカード1Aへ送信した後、ファイルアクセスデータブロックをホスト機器2AからSDTMメモリカード1Aへ送信し、SDTMメモリカード1Aで当該ファイルアクセスコマンドが実行されたのち、ホスト機器2AはSDTMメモリカード1Aからファイルアクセスデータブロックを受信する。
【0053】
次に、本発明の第1の実施形態による処理手順を説明する。
ステップS1において、ホスト機器2AはSDTMメモリカード1Aに実行させたいファイルアクセス機能コマンド(図2参照)を選択する。ステップS2において選択されたファイルアクセス機能コマンドに対するファイルアクセスコマンドおよびファイルアクセスデータブロックを生成する。ステップS3において通信インタフェースドライバ22により、生成したファイルアクセスコマンドおよびファイルアクセスデータブロックをSDTMメモリカード1Aへ送信する。ステップS4において通信インタフェースドライバ13aにより、ホスト機器2Aから当該ファイルアクセスコマンドおよびファイルアクセスデータブロックを受信する。ステップS5においてSDTMメモリカード側ファイルアクセスライブラリ41により、当該ファイルアクセスデータブロックのファイルアクセス機能コマンド識別子を解読し、これに基づいてカードコントローラ12aで実行する。このとき、図4のコマンド変換に従い、ファイルアクセス機能コマンド識別子に対応するSDTMメモリカードコマンドへの変換処理を行い、カードコントローラ12aで実行する。
【0054】
カードコントローラ12aは、データ読み出し、データ書き込み、データ消去等のNAND型フラッシュメモリ11にアクセスが必要なSDTMメモリカードコマンドの場合は、NAND型フラッシュメモリ11に対してアクセスする。
ホスト機器2Aは、ファイルアクセス機能コマンドの実行順序として、先ず「ファイルオープン」を実行する。次に、ファイルオープンで取得したファイルハンドルを用いて「ファイル読み出し」や「ファイル書き込み」等のコマンドを実行する。ファイルへのアクセスが完了したのち「ファイルクローズ」を実行する。
【0055】
また、SDTMメモリカード側ファイルアクセスライブラリ41は変更(又は更新)することも可能である。
ファイルアクセスライブラリ41の変更は、変更するためのファイルアクセス機能コマンドを用いる。例えば、図3に示す「ファイルアクセスライブラリ変更」のコマンド識別子「changelib」を用いる。アプリケーション21は、コマンド識別子「changelib」の発行とともに、ファイルアクセスライブラリ処理コード(プログラム)をSDTMメモリカード1Aに送信し、SDTMメモリカード1Aは送信された処理コードにSDTMメモリカード側ファイルアクセスライブラリ41を置き換えて変更する。
【0056】
本発明第1の実施形態によれば、ファイルアクセス処理に必要なファイルアクセスライブラリをSDTMメモリカード内に内蔵した構成とすることにより、ホスト機器にファイルアクセスライブラリを実装することなくファイルアクセス機能を実現することができる。
【0057】
[第2の実施形態]
図8は本発明の第2の実施形態の記録媒体及びメモリアクセス可能な電子機器のブロック図を示している。記録媒体(以下、SDTMメモリカード)1B及びこのSDTMメモリカードが装着される電子機器(以下、ホスト機器)2Bは記録システムを構成している。
【0058】
この第2の実施形態は、第1の実施形態のようにSDTMメモリカード側ファイルアクセスライブラリ41のほかに、現行のSDTMメモリカードが使用可能なようにホスト機器2Bにホスト機器側ファイルアクセスライブラリ24を配設し、SDTMメモリカード側ファイルアクセスライブラリ41を使用しない動作モードをサポートする構成とすることにより、ホスト機器2Bにファイルアクセスライブラリ24を実装する一般的な記録システムとの互換性を備えた構成とするものである。
【0059】
図8において、記録媒体としてのSDTMメモリカード1Bは、ホスト機器2Bとの通信制御を行なう通信インタフェースドライバ13aと、SDTMメモリカード1Bの制御を行なうコントローラとしてのカードコントローラ12aと、SDTMメモリカード1Bの動作モードの選択に伴う伝送路(パス)の制御を行うファイルアクセス機能制御装置42と、ホスト機器2Bから指示されたファイルアクセス機能コマンドを解読するSDTMメモリカード側ファイルアクセスライブラリ41と、ファイルを記憶するメモリ部としてのNAND型フラッシュメモリ11とを備えている。
【0060】
ここで、ファイルアクセス機能コマンドは、ホスト機器側のアプリケーションで生成され、SDTMメモリカードの仕様に特化されず各種のホスト機器間で統一化(共通化)された、ファイルアクセス処理を実行するためのコマンドである。実際にSDTMメモリカードのメモリ部に対してファイルアクセス処理を実行するためには、ファイルアクセス機能コマンドをSDTMメモリカードに特化した実行可能なコマンドに変換する必要がある。
【0061】
SDTMメモリカード側ファイルアクセスライブラリ41は、ホスト機器2Bからのファイルアクセス機能コマンドを実行可能なコマンドに変換する変換部41-1と、この変換部41-1のコマンド変換を行うための対応テーブルを記憶した記憶部41-2とを備える。
【0062】
SDTMメモリカード1Bに接続されるホスト機器2Bは、プログラムに従って所定の動作を行い、アクセスすべきSDTMメモリカード1Bに対してファイルアクセス機能コマンドを、SDTMメモリカード1Bに転送可能なデータブロック形式(後述する)で発行するアプリケーション21と、SDTMメモリカード1Bの動作モードの選択に伴う伝送路(パス)の制御を行う動作モード制御装置23と、アプリケーション21から提供されるファイルアクセス機能コマンドをSDTMメモリカードコマンドに変換するホスト機器側ファイルアクセスライブラリ24と、SDTMメモリカード1Bとの通信制御を行なう通信インタフェースドライバ22とを備えている。
【0063】
ユーザ指示等に基づき動作モード制御装置23によって制御される動作モードに応じて、動作モード制御装置23からカードコントローラ12aまでの伝送路(パス)の切り換えが行われる。動作モードは、後述するよう、SDTMメモリカード側ファイルアクセスライブラリ41を使用するか或いは使用しないかを示すモードである。
【0064】
SDTMメモリカード側ファイルアクセスライブラリ41を使用しない動作モードでは、アプリケーション21から提供されるファイルアクセス機能コマンドはホスト機器側ファイルアクセスライブラリ24でのコマンド変換を受けてSDTMメモリカード1Bに提供され、SDTMメモリカード側ファイルアクセスライブラリ41を使用する動作モードでは、ファイルアクセス機能コマンドはホスト機器側ファイルアクセスライブラリ24でのコマンド変換を受けない状態でSDTMメモリカード1Bに提供され、SDTMメモリカード1B内のSDTMメモリカード側ファイルアクセスライブラリ41でコマンド変換を受けることになる。
【0065】
次に、動作モード制御装置23およびファイルアクセス機能制御装置42について説明する。
本システムは、SDTMメモリカード1Bのファイルにアクセスする方法として、SDTMメモリカード側ファイルアクセスライブラリ41を使用する方法および使用しない方法の2通りを選択できる。前者をファイルアクセスライブラリ使用モード、後者をファイルアクセスライブラリ非使用モードとする。
【0066】
ファイルアクセスライブラリ使用モードでは、ホスト機器側ファイルアクセスライブラリ24を使用せずSDTMメモリカード側ファイルアクセスライブラリ41を使用する。一方、ファイルアクセスライブラリ非使用モードでは、ホスト機器側ファイルアクセスライブラリ24を使用しSDTMメモリカード側ファイルアクセスライブラリ41を使用しない。
【0067】
アプリケーション21は、図示しない操作手段によるユーザ指示に基づいてファイルにアクセスする前にいずれかの動作モードを選択する。動作モード制御装置23およびファイルアクセス機能制御装置42は、選択された動作モードにしたがってホスト機器側ファイルアクセスライブラリ24或いはSDTMメモリカード側ファイルアクセスライブラリ41を使用するか否かを切り換えることになる。つまり、動作モード制御装置23およびファイルアクセス機能制御装置42は、SDTMメモリカード1Bに設けたファイルアクセスライブラリ41を使用するか否かに応じて、動作モードを切り換える機能を備えている。
【0068】
SDTMメモリカード1Bに設けたファイルアクセスライブラリ41を使用する動作モードでは、コマンド及び転送データの伝送路(パス)は、動作モード制御装置23およびファイルアクセス機能制御装置42による切換え制御によって、1本のラインで表した信号径路以外では図8の符号e1及び符号f1,f1’に示す信号径路が選択され、SDTMメモリカード1Bに設けたファイルアクセスライブラリ41を使用しない動作モードでは、図8の符号e2,e2’及び符号f2に示す信号径路が選択される。
【0069】
次に、ホスト機器側ファイルアクセスライブラリ24およびSDTMメモリカード側ファイルアクセスライブラリ41について説明する。
ホスト機器側ファイルアクセスライブラリ24およびSDTMメモリカード側ファイルアクセスライブラリ41は、SDTMメモリカード1Bに記憶されるファイルを操作するファイルアクセス機能を提供する。提供するファイルアクセス機能には、例えば、図2に示すようなファイルオープン、ファイル読み出し、ファイル書き込み、ファイル削除等がある。
【0070】
ホスト機器側ファイルアクセスライブラリ24は、アプリケーション21から指示されたファイルアクセス機能コマンドをカードコントローラ12aが実行できるSDTMメモリカードコマンドに変換し、通信インタフェースドライバ22に送信する。また、SDTMメモリカード側ファイルアクセスライブラリ41は、アプリケーション21から指示されたファイルアクセス機能コマンドをSDメTMモリカードコマンドに変換してカードコントローラ12aで実行させる。
【0071】
ホスト機器側ファイルアクセスライブラリ24およびSDTMメモリカード側ファイルアクセスライブラリ41は、図4に示すコマンド変換にしたがい、ファイルアクセス機能コマンドをSDTMメモリカードコマンドに変換する。対応するSDTMメモリカードコマンドが存在しないファイルアクセス機能コマンドは変換しない。例えば、ファイル読み出しコマンドはREAD_MULTIPLE_BLOCKに変換され、ファイル削除コマンドはERASE_WR_BLK_START,ERASE_WR_BLK_ENDおよびERASEの3つのコマンドに変換される。ファイルオープンコマンド,ファイル名変更コマンド,及びファイルアクセスライブラリ変更コマンドは変換されない。変換されるSDTMメモリカードコマンドはSDTM仕様で規定される1つ以上のコマンドで構成されてもよい。変換されたSDTMメモリカードコマンドはカードコントローラ12aに送信される。SDTMメモリカードコマンドに変換しないファイルアクセス機能コマンドはホスト機器側ファイルアクセスライブラリ24あるいはSDTMメモリカード側ファイルアクセスライブラリ41で実行される。
【0072】
次にカードコントローラ12aについて説明する。
カードコントローラ12aは、通信インタフェースドライバ13aあるいはSDTMメモリカード側ファイルアクセスライブラリ41から送信されたSDTMメモリカードコマンドを解釈し、NAND型フラッシュメモリ11に記憶されるファイルにアクセスする機能を有する。
【0073】
次にSDTMメモリカードコマンドについて説明する。
SDTMメモリカードコマンドは、SDTMメモリカード1Bの制御やNAND型フラッシュメモリ11に記憶されるデータを操作するためのコマンドであり、例えば、図3に示すようなカードコントローラ初期化、データ書き込み、データ読み出し等のコマンドがある。SDTMメモリカードコマンドはカードコントローラ12aにより実行される。
【0074】
次にファイルアクセスコマンドとファイルアクセスデータブロックの形式を図5および図6に基づいて説明する。
ファイルアクセスライブラリ使用モードでは、アプリケーション21は実行するファイルアクセス機能コマンドを図5および図6で示す形式でSDTMメモリカード1Bへ送信する。ファイルアクセスコマンドとファイルアクセスデータブロックの形式については、第1の実施形態で説明したものと同様である。
【0075】
本発明の第2の実施形態による作用を説明する。
ホスト機器2BがSDTMメモリカード1Bに対してファイルアクセス機能を実行する前に、動作モードの設定を行なう。動作モードの設定手順を図9に基づいて説明する。
動作モードには、ファイルアクセスライブラリ使用モードあるいはファイルアクセスライブラリ非使用モードのいずれかを設定できる。
【0076】
ステップS21においてホスト機器2Bはファイルアクセスライブラリ使用モードあるいはファイルアクセス非使用モードのいずれかを選択する。ステップS22において選択された使用モードを判定し、使用モードがファイルアクセスライブラリ非使用モードならば、ステップS23において動作モード制御装置23をライブラリアクセスモードに設定し、ステップS24においてファイルアクセス機能制御装置42をライブラリ非アクセスモードに設定する。一方、ステップS22において選択された使用モードがファイルアクセスライブラリ使用モードならば、ステップS25において動作モード制御装置23をライブラリ非アクセスモードに設定し、ステップS26においてファイルアクセス機能制御装置42をライブラリアクセスモードに設定する。
【0077】
動作モード制御装置23およびファイルアクセス機能制御装置42は、設定されたライブラリアクセスモードがライブラリアクセス使用モードならばホスト機器側ファイルアクセスライブラリ24を利用せず、SDTMメモリカード側ファイルアクセスライブラリ41を利用する。また、ライブラリアクセス非使用モードならばホスト機器側ファイルアクセスライブラリ24を利用し、SDTMメモリカード側ファイルアクセスライブラリ41を利用しない。
【0078】
次にファイルアクセスライブラリ非使用モードでの処理手順を図10に基づいて説明する。
ステップS31において、ホスト機器2BはSDTMメモリカード1Bに実行させたいファイルアクセス機能コマンド(図2)を選択する。ステップS32においてホスト機器側ファイルアクセスライブラリ24により、選択されたファイルアクセス機能コマンドをSDTMメモリカードコマンドに変換する。ステップS33において通信インタフェースドライバ22により、SDTMメモリカード1Bに当該SDTMメモリカードコマンドを送信する。ステップS34において通信インタフェースドライバ13aにより、ホスト機器2Bから当該SDTMメモリカードコマンドを受信する。ステップS35において受信した当該SDTMメモリカードコマンドをカードコントローラ12aにより実行する。
【0079】
カードコントローラ12aはNAND型フラッシュメモリ11にアクセスし、ファイルを構成するデータの書き込み、読み出しおよび消去等を実行する。カードコントローラ12aはNAND型フラッシュメモリ11に対してアクセスが必要な場合、当該SDTMメモリカードコマンドに対応した処理を実行する。
【0080】
次にファイルアクセスライブラリ使用モードでの処理手順第1の実施形態での図7の説明と同様であるので説明を省略する。
ホスト機器2Bはファイルアクセス機能コマンドの実行順序として、はじめに「動作モード設定」を行ない、次に「ファイルオープン」を実行する。次に、ファイルオープンで取得したファイルハンドルを用いて「ファイル読み出し」や「ファイル書き込み」等のコマンドを実行する。ファイルへのアクセスが完了したのち「ファイルクローズ」を実行する。
【0081】
また、SDTMメモリカード側ファイルアクセスライブラリ41は変更あるいは更新できてもよいことは第1の実施形態と同様である。
なお、図8の第2の実施形態では、動作モードの切り換えはユーザ指示に基づくように説明したが、本発明によるSDTMメモリカード及びこれを装着するホスト機器からなる記録システムにおいては、SDTMメモリカードとして図1及び図8に示した本発明に係るSDTMメモリカードに代わりに、従来用いられているSDTMメモリカード(図8から符号42及び41を削除した構成のSDTMメモリカード、或いは、図1から符号41を削除した構成のSDTMメモリカード)をホスト機器2Bに装着した場合には、ホスト機器2Bがこれを検出して、自動的にホスト機器2Bがホスト機器側ファイルアクセスライブラリ24を選択するようにし、またSDTMメモリカードとして図1及び図8に示した本発明に係るSDTMメモリカードをホスト機器2Bに装着した場合には、ホスト機器2Bがこれを検出して、自動的にホスト機器2BがSDTMメモリカード側ファイルアクセスライブラリ42を選択するように、動作モード切り換えが行われるようにしてもよい。
【0082】
本発明の第2の実施形態によれば、ホスト機器にファイルアクセスライブラリを実装する従来方式の一般的な記録システムとの互換性を備えた構成とすることができる。
尚、本発明は、SDTMメモリカード及びそれを装着するホスト機器に限定されることなく、不揮発性メモリカード、及び回路基板に半田等で固定するタイプの不揮発性メモリ等を含む記録媒体、及び、その記録媒体に接続するメモリアクセス可能な電子機器に広く応用することが可能である。
【図面の簡単な説明】
【0083】
【図1】本発明の第1の実施形態の記録媒体及びメモリアクセス可能な電子機器のブロック図。
【図2】ファイルアクセス機能コマンドのコマンド識別子、転送データ及び転送方向を示す図。
【図3】SDTMメモリカードコマンドのコントローラ識別子を示す図。
【図4】ファイルアクセス機能コマンドをSDTMメモリカードコマンドに変換するコマンド変換例を示す図。
【図5】ファイルアクセスコマンドの形式を示す図。
【図6】ファイルアクセスデータブロックの形式を示す図。
【図7】第1の実施形態による処理手順を示すフローチャート。
【図8】本発明の第2の実施形態の記録媒体及びメモリアクセス可能な電子機器のブロック図。
【図9】第2の実施形態による動作モードの設定手順を示すフローチャート。
【図10】第2の実施形態による処理手順を示すフローチャート。
【図11】SDTMメモリカードの構成を示す概略図。
【図12】SDTMメモリカードにおける信号ピンに対する信号割り当てを示す図。
【図13】SDTMメモリカードのハード構成を示すブロック図。
【図14】SDTMメモリカードにおけるレジスタ部の詳細な構成を示す図。
【図15】SDTMメモリカード内のNAND型フラッシュメモリにおけるデータ配置を示す図。
【図16】SDTMメモリカードの複数の動作モードそれぞれにおける信号ピンに対する信号割り当てを示す図。
【符号の説明】
【0084】
1A,1B…SDTMメモリカード(記録媒体)
2A,2B…ホスト機器(メモリアクセス可能な電子機器)
11…NAND型フラッシュメモリ(メモリ部)
12a…カードコントローラ(コントローラ)
21…アプリケーション
41…SDTMメモリカード側ファイルアクセスライブラリ(ファイルアクセスライブラリ)
41-1…変換部
41-2…記憶部

【特許請求の範囲】
【請求項1】
メモリアクセス可能な電子機器からのファイルを記憶するメモリ部と、
前記電子機器からのファイルアクセス機能コマンドを実行可能なコマンドに変換する変換部と、
前記変換部のコマンド変換を行うための対応テーブルを記憶した記憶部と、
前記変換部で変換した実行可能なコマンドに従って前記メモリ部に対するファイルの読み書きを含むファイルアクセス処理を実行するコントローラと、
を具備したことを特徴とする記録媒体。
【請求項2】
メモリアクセス可能な電子機器からのファイルを記憶するメモリ部と、
前記電子機器で生成したファイルアクセスコマンド、および、ファイルアクセス機能コマンドを有したファイルアクセスデータブロックを受信する通信インタフェースドライバと、
前記ファイルアクセスデータブロックのファイルアクセス機能コマンドを対応テーブルを参照して解読するファイルアクセスライブラリと、
前記ファイルアクセス機能コマンドに対応するファイルアクセス処理を、前記メモリ部に記憶したファイルに対して実行するコントローラと、
を具備したことを特徴とする記録媒体。
【請求項3】
前記ファイルアクセスライブラリを変更又は更新可能としたことを特徴とする請求項2に記載の記録媒体。
【請求項4】
プログラムに従って所定の動作を行い、アクセスすべき記録媒体に対してファイルアクセス機能コマンドを、記録媒体に転送可能なデータブロック形式で発行するアプリケーションを
具備したことを特徴とするメモリアクセス可能な電子機器。
【請求項5】
前記ファイルアクセス機能コマンドを前記記録媒体が認識および実行できるように解読するファイルアクセスライブラリを備えている場合に、該ファイルアクセスライブラリを使用するか否かに応じて、動作モードを切り換える機能を
具備したことを特徴とする請求項4に記載のメモリアクセス可能な電子機器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2008−123450(P2008−123450A)
【公開日】平成20年5月29日(2008.5.29)
【国際特許分類】
【出願番号】特願2006−309510(P2006−309510)
【出願日】平成18年11月15日(2006.11.15)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】