(57)【要約】【課題】利便性を向上できる記憶装置およびその接続方法を提供する。【解決手段】記憶装置１１は、インターフェイス２０とＭＰＵ２１とを備え、前記インターフェイスを介して第１アクセスモード２６−１により外部と接続する際に、前記第１アクセスモードと別定義である第２アクセスモード２６−２を起動するデバイスドライバ１７−２を前記インターフェイスを介して転送可能に構成されたコントローラ１６と、前記デバイスドライバを格納した半導体メモリ１５とを具備する。【選択図】      図１
2008033648.tif 000002
【特許請求の範囲】
【請求項１】
インターフェイスとＭＰＵとを備え、前記インターフェイスを介して第１アクセスモードにより外部と接続する際に、前記第１アクセスモードと別定義である第２アクセスモードを起動するデバイスドライバを前記インターフェイスを介して転送可能に構成されたコントローラと、
前記デバイスドライバを格納した半導体メモリとを具備すること
を特徴とする記憶装置。
【請求項２】
前記第２アクセスモードは、前記第１アクセスモードと電気インターフェイスを準拠していること
を特徴とする請求項１に記載の記憶装置。
【請求項３】
前記インターフェイスは、外部にとって前記記憶装置が既知のデバイスであることを識別するデバイスＩＤを外部に出力すること
を特徴とする請求項１または２に記載の記憶装置。
【請求項４】
インターフェイスとＭＰＵとを備えたコントローラと、第１アクセスモードと別定義である第２アクセスモードを起動するデバイスドライバとを格納した半導体メモリとを具備し、
前記コントローラは、前記インターフェイスを介して前記第１アクセスモードにより外部と接続し、
前記インターフェイスを介して前記デバイスドライバを転送すること
を特徴とする記憶装置の接続方法。
【請求項５】
前記第１アクセスモードは、物理的なアドレスを使用してアクセスされる外部にとって既知なアクセスモードであり、
前記コントローラは、前記１アクセスモードにより外部と接続する際に、デバイスＩＤを外部に送信すること
を特徴とする請求項４に記載の記憶装置の接続方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記憶装置およびその接続方法に関し、例えば、ＮＡＮＤ型フラッシュメモリを記憶デバイスとして搭載した記憶装置等に適用される。
【背景技術】
【０００２】
従来、別定義のアクセスモード（新たなインターフェイス（Ｉ／Ｆ）プロトコル）を有する記憶装置が、ホスト装置に接続をしようとすると、アクセスモードを駆動するデバイスドライバが異なるため、ホスト装置に接続することができない。さらに、別定義のアクセスモードで接続する場合には、ホスト装置のデバイスドライバを入れ替える必要がある。それは、デバイスドライバは、ホスト装置のＲＯＭ（Read-only memory）のファームウェア中に設けられており、上記ＲＯＭは書き換えられないからである。
【０００３】
一方、ホスト装置のファームウェアの入替をしてしまうと、例えば、ＮＡＮＤ型フラッシュメモリ等の記憶デバイスのＩ／Ｆも入れ替えることが必要となる。そのため、それまで接続していたＮＡＮＤ型フラッシュメモリと接続することができなくなる。
【０００４】
そのため、このような場合、ホスト装置は、ＮＡＮＤ型フラッシュメモリのアクセスモード用のデバイスドライバと、上記別定義のアクセスモード（新たなＩ／Ｆプロトコル）用のデバイスドライバとの２種類のアクセスモードに対応できるファームウェアを備える必要がある。或いは、ホスト装置は、２種類以上のデバイスドライバを備えた上で、接続された記憶装置よって、複数のデバイスドライバから、いずれかのデバイスドライバを選択する必要があった。
【０００５】
結果、別定義（新たなＩ／Ｆプロトコル）のアクセスモードを有する記憶装置に接続する場合には、ホスト装置のデバイスドライバを入れ替える必要があるため、記憶装置の利便性が低減するという問題があった。
【０００６】
上記のように、従来の記憶装置は、利便性が低減するという事情があった。
【０００７】
本願の文献公知発明としては、例えば、以下のようなものがある。
【特許文献１】特開２００１−２６６５８０号公報  明細書
【発明の開示】
【発明が解決しようとする課題】
【０００８】
この発明は、利便性を向上できる記憶装置およびその接続方法を提供する。
【課題を解決するための手段】
【０００９】
この発明の一態様によれば、インターフェイスとＭＰＵとを備え、前記インターフェイスを介して第１アクセスモードにより外部と接続する際に、前記第１アクセスモードと別定義である第２アクセスモードを起動するデバイスドライバを前記インターフェイスを介して転送可能に構成されたコントローラと、前記デバイスドライバを格納した半導体メモリとを具備する記憶装置を提供できる。
【００１０】
この発明の一態様によれば、インターフェイスとＭＰＵとを備えたコントローラと、第１アクセスモードと別定義である第２アクセスモードを起動するデバイスドライバとを格納した半導体メモリとを具備し、前記コントローラは、前記インターフェイスを介して前記第１アクセスモードにより外部と接続し、前記インターフェイスを介して前記デバイスドライバを転送する記憶装置の接続方法を提供できる。
【発明の効果】
【００１１】
この発明によれば、利便性を向上できる記憶装置およびその接続方法が得られる。
【発明を実施するための最良の形態】
【００１２】
以下、この発明の実施形態について図面を参照して説明する。尚、この説明においては、全図にわたり共通の部分には共通の参照符号を付す。
【００１３】
[第１の実施形態]
この発明の第１の実施形態に係る記憶装置について図１乃至図３を説明する。図１は、この実施形態に係る記憶装置を説明するための平面図である。この実施形態に係る記憶装置１１の利用環境は、ホスト装置１２が、ホスト装置のドライバ（LBA ＮＡＮＤデバイスドライバ）１７−２を記憶装置１１のＮＡＮＤ型フラッシュメモリ１５からロードするタイプのものである。
【００１４】
図示するように、記憶装置１１およびホスト装置１２が配置されている。
【００１５】
ホスト装置１２は、バス（図示せず）を介して接続される記憶装置１１に対しアクセスを行うためのハードウェア及びソフトウェアを備えている。
【００１６】
記憶装置１１は、ホスト装置１２に接続された際に電源供給を受けて駆動し、ホスト装置１２からのアクセスに応じた処理を行う。上記記憶装置１１は、いわゆるセクタ単位もしくは所定データサイズ単位の読み出し/書き込み（Read/Write）を行う。以下、本例の記憶装置１１は、後述するＴＳＯＰパッケージ等のようにプリント基板に半田実装されているものを一例として説明する。
【００１７】
記憶装置１１は、記憶デバイスであるＮＡＮＤ型フラッシュメモリ１５と、上記ＮＡＮＤ型フラッシュメモリを制御するコントローラ１６とを備えている。
【００１８】
ＮＡＮＤ型フラッシュメモリ１５は、LBA ＮＡＮＤアクセスモード（第２アクセスモード）２６−２を駆動するLBA ＮＡＮＤデバイスドライバ１７−２を格納している。上記LBA ＮＡＮＤアクセスモード２６−２は、ＮＡＮＤ型フラッシュメモリ１５にアクセス（接続）するためのPure ＮＡＮＤアクセスモード（第１アクセスモード）２６−１とは別定義（新たなＩ／Ｆプロトコル）のアクセスモードである。
【００１９】
後述するように、LBA ＮＡＮＤアクセスモード（以下、LBA ＮＡＮＤモード）２６−２は、Pure ＮＡＮＤアクセスモード（以下、Pure ＮＡＮＤモード）２６−１と同一の信号ピンが使用され、LBA ＮＡＮＤモード２６−２のコマンドシーケンスはPure ＮＡＮＤモード２６−１に準じた同一のＮＡＮＤＩ／Ｆ２０、３１を介して通信されるものである。ここで、コマンドシーケンスとは、コマンド、アドレスおよびデータが入力される一連の順序（入力タイミング）をいう。
【００２０】
上記のように、LBA ＮＡＮＤモード２６−２のアドレスの定義はPure ＮＡＮＤモード２６−１と異なっている。即ち、Pure ＮＡＮＤモード２６−１では物理アドレス（カラムアドレスやページアドレスなど）を使用してアクセスが行われるのに対し、LBA ＮＡＮＤモード２６−２では論理セクタアドレスを使用してアクセスが行われる点でアドレスの定義が異なっている。
【００２１】
上記LBA ＮＡＮＤモード２６−２は、論理セクタアクセス階層でのアクセスを受け付け、消去ブロックサイズを意識する必要は無く、エラーフリー（ＥＣＣ（誤り訂正符号）訂正済みのデータが出力される）のアクセスモードである。
【００２２】
図２は、ＮＡＮＤ型フラッシュメモリ１５におけるデータ配置を示している。図示するように、フラッシュメモリ１５の各ページは、２１１２Ｂ（２ｋByte分のデータ記憶部＋６４Byte分の冗長部（ここで、kは１０２４）＋２４Ｂ分の管理データ記憶部）を有しており、例えば１２８ページ分が１つの消去単位（２５６ｋＢ＋８ｋＢ（ここで、ｋは１０２４））である。なお、以下の説明においては、便宜上、このフラッシュメモリ１５の消去単位を２５６ｋＢとする。
【００２３】
また、フラッシュメモリ１５は、フラッシュメモリ１５へのデータ入出力を行うためのページバッファ４１Ａを備えている。ページバッファ４１Ａの記憶容量は、２１１２Ｂ（２０４８Ｂ＋６４Ｂ）である。データ書き込みなどの際、ページバッファ４１Ａは、フラッシュメモリ１５に対するデータ入出力処理を、自身の記憶容量に相当する１ページ分の単位で実行する。
【００２４】
フラッシュメモリ１５の記憶容量が、例えば、１Ｇビットである場合、２５６ｋＢブロック（消去単位）の数は、５１２個となる。
【００２５】
尚、図５においては消去単位が２５６ｋＢブロックである場合を例示しているが、消去単位が例えば１６ｋＢブロックとなるように構築することも実用上有効である。この場合、各ページは５２８Ｂ（５１２Ｂ分のデータ記憶部＋１６Ｂ分の冗長部）を有しており、３２ページ分が１つの消去単位（１６ｋＢ＋０．５ｋＢ）である。
【００２６】
コントローラ１６は、ＮＡＮＤ型フラッシュメモリ１５内部の物理状態（例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、あるいは、何処のブロックが消去状態であるか）を管理する。コントローラ１６は、ＮＡＮＤ型フラッシュメモリインターフェイス（以下、ＮＡＮＤＩ／Ｆ）２０、２２、ＭＰＵ（micro processing unit）２１、およびバッファＲＡＭ（random access memory）２３を備えている。
【００２７】
ＭＰＵ２１は、プログラムＲＯＭ（read only memory）１７を備え、記憶装置１１全体の動作を制御するように構成されている。例えば、記憶装置１１が電源供給を受けたときに、ＮＡＮＤ型フラッシュメモリ１５に格納されているファームウェア（制御プログラム）をバッファＲＡＭ２３上に読み出して所定の処理を実行することにより、各種のテーブルをバッファＲＡＭ２３上に作成する。また、ＭＰＵ２１は、ホスト装置１２から書き込みコマンド、読み出しコマンド、消去コマンドを受け取り、ＮＡＮＤ型フラッシュメモリ１５に対して所定の処理を実行したり、バッファＲＡＭ２３を通じたデータ転送処理を制御するように構成される。
【００２８】
プログラムＲＯＭ１７は、記憶装置１１がLBA ＮＡＮＤモード２６−２で動作するためのプログラム（図示せず）を格納している。このプログラムＲＯＭ１７は、ＭＰＵ２１がホスト装置１２から送信されたコマンドを受け取り所定のレスポンスするために設けられるものである。
【００２９】
バッファＲＡＭ２３は、例えば、ホスト装置１２から送られてくるデータをＮＡＮＤ型フラッシュメモリ１５へ書き込む際に、一定量のデータ（例えば、１ページ分）を一時的に記憶したり、ＮＡＮＤ型フラッシュメモリ１５から読み出されるデータをホスト装置１２へ送り出す際に、一定量のデータを一時的に記憶するように構成される。
【００３０】
ＮＡＮＤＩ／Ｆ２０には、デバイスＩＤ（identification）２５が設定されている。このデバイスＩＤ２５は、後述するアクセスモード遷移動作においてホスト装置１２が記憶装置１１に接続する際に、ホスト装置１２にとって記憶装置１１が既知のデバイスであることを識別するために所定のプロトコルによって記憶装置１１が出力するデータである。さらに、デバイスＩＤ２５は、例えば、記憶装置１１のデバイスの容量，消去ブロックサイズ，ページ長等を判断することができる。なお、デバイスＩＤで判断できる記憶装置１１のデバイスの容量，消去ブロックサイズ，ページ長等は、記憶装置１１内に搭載されているフラッシュメモリ１５の容量，消去ブロックサイズ，ページ長等と必ずしも等しい必要はない。
【００３１】
ホスト装置１２は、ＣＰＵ３０、ＮＡＮＤＩ／Ｆ３１、ＲＯＭ３２、およびＲＡＭ３３を備えている。
【００３２】
ＣＰＵ３０は、ホスト装置１２全体の動作を制御するように構成されている。例えば、記憶装置１２から受け取った所定のコマンドに対して、所定の処理を実行するように動作する。
【００３３】
ＲＯＭ３２は、Pure ＮＡＮＤモード２６−１を駆動させるPure ＮＡＮＤデバイスドライバ１７−１を格納している。そのため、ホスト装置１２は、デバイスＩＤ２５を読み出すことにより、Pure ＮＡＮＤモード２６−１（第１アクセスモード）を既知なアクセスモードとしてこのモード２６−１により記憶装置１１と接続可能である。
【００３４】
ＲＡＭ３３は、LBA ＮＡＮＤモード２６−２を駆動させるLBA ＮＡＮＤデバイスドライバ１７−２を格納している。上記LBA ＮＡＮＤデバイスドライバ１７−２は、後述するアクセスモード遷移動作により記憶装置１１からロードし、ＲＡＭ３３に組み込まれるものである。
【００３５】
ＮＡＮＤＩ／Ｆ３１を介して記憶装置１１にアクセスし、書き込み及び読み出しなどの動作を行う。
【００３６】
また、この説明において、記憶装置１１とホスト装置１２との間でやりとりされる信号は以下の通りである。
【００３７】
Ｉ／Ｏ信号は、アドレス、データ、および所定のコマンドの信号である。
【００３８】
コマンドラッチイネーブル（ＣＬＥ）信号は、動作コマンドの記憶装置１１内部への取り込みをコントロールするための信号で、ライトイネーブル（ＷＥ）信号の立ち上がり、立ち下がり時にＨレベルにすることにより、Ｉ／Ｏ端子上のデータがコマンドとしてコマンドレジスタに取り込まれる。
【００３９】
アドレスラッチイネーブル（ＡＬＥ）信号は、アドレスデータのデバイス内部のアドレスレジスタへの取り込みをコントロールするための信号で、ＷＥ信号の立ち上がり、立下り時にＨレベルにすることで、Ｉ／Ｏ端子上のデータがアドレスデータとして対応するレジスタに取り込まれる。
【００４０】
チップイネーブル（−ＣＥ）信号は、デバイス選択信号で、Ready状態ではＨレベルにするとローパワーのスタンバイモードになる。また、プログラム、消去、リード動作の実行中のBusy状態（ＲＹ／−ＢＹ＝“Ｌ”）のとき、“Ｈ”、“Ｌ”のいずれの状態も許容される。
【００４１】
ライトイネーブル（−ＷＥ）信号は、Ｉ／Ｏ端子から各データをデバイス内部に取り込むための信号である。
【００４２】
リードイネーブル（−ＲＥ）信号は、Ｉ／Ｏ端子からデータをシリアル出力させる信号である。
【００４３】
ライトプロテクト（ＷＰ）信号は、書き込み、消去動作を強制的に禁止させるための信号で、ＷＰ＝“Ｌ”では内部高電圧発生回路の動作がリセットされる。ＷＰ＝“Ｈ”で使用するが電源投入遮断時等入力信号が不確定なとき、ＷＰ＝“Ｌ”にコントロールし期待しない動作から保存データを保護するために用いる信号である。
【００４４】
レディ／ビジー（ＲＹ／−ＢＹ）信号は、記憶装置１１の内部動作状態を外部に知らせるための出力信号である。プログラム・消去・リード時、内部で実行動作中はビジーを出力（ＲＹ／ＢＹ＝“Ｌ”）、完了するとレディ（ＲＹ／ＢＹ＝“Ｈ”）を自動的に出力する。
【００４５】
また、上記記憶装置１１は、図４に示すようなパッケージ（ＴＳＯＰ（Thin Small Outline Package）パッケージ）に封止して使用することも可能である。図４は、上記に説明した各信号が入力されるピン名称を示す図である。ここで、図４中の信号ピンＮＣは、非使用の信号ピンである。
【００４６】
＜アクセスモード遷移動作＞
次に、この実施形態に係る記憶装置のアクセスモード遷移動作について、図５乃至図１０を用いて説明する。図５は、この実施形態に係るアクセスモード遷移動作を説明するためのタイミングチャート図である。図６は、アクセスモード遷移動作前の記憶装置１１およびホスト装置１２を示す平面図である。以下、図５のタイミングチャート図に即して説明する。
【００４７】
まず、図６に示すように、時刻ｔ０の前（電源がＯＮとされる前）では、LBA ＮＡＮＤデバイスドライバ１７−２は、ホスト装置１２のＲＡＭ３３内に未だ格納されていない。
【００４８】
（ステップＳＭ１、ＳＨ１）
続いて、時刻ｔ１の際に、ホスト装置１２の電源がＯＮされると、記憶装置１１は、ホスト装置１２から供給される電源電圧Ｖｃｃによって起動する。
【００４９】
（ステップＳＭ２（Pure ＮＡＮＤモード））
続いて、時刻ｔ２の際に、記憶装置１１は、ホスト装置１１にとって既知であるPure ＮＡＮＤモード２６−１（第１アクセスモード）でアクセス可能なデバイスＩＤ２５をホスト装置１１に出力する。
【００５０】
この際、本例に係るデバイスＩＤ２５の読み出しシーケンスは、図７に示すように表される。
【００５１】
まず、ホスト装置１２は、コマンドラッチイネーブル信号ＣＬＥが“High（以下、Ｈと記す）”、チップイネーブル信号−ＣＥが“Low（以下、Ｌと記す）”、アドレスラッチイネーブル信号−ＡＬＥが“Ｌ”、およびリードイネーブル信号−ＲＥが“Ｈ”の際、ライトイネーブル信号−ＷＥの立ち上がりエッジにて、信号ピンＩ／Ｏ１〜Ｉ／Ｏ８から記憶装置１１から送信されたＩＤリードコマンドＣＯＭ３４を取り込む。
【００５２】
続いて、ホスト装置１２は、コマンドラッチイネーブル信号ＣＬＥが“Ｌ”で、チップイネーブル信号−ＣＥが“Ｌ”、アドレスラッチイネーブル信号−ＡＬＥが“Ｈ”、およびリードイネーブル信号−ＲＥが“Ｈ”の際、ライトイネーブル信号−ＷＥの立ち上がりエッジにて、信号ピンＩ／Ｏ１〜Ｉ／Ｏ８からアドレスａｄｒ０３５を取り込む。
【００５３】
続いて、ホスト装置１２は、コマンドラッチイネーブル信号ＣＬＥが“Ｌ”で、チップイネーブル信号−ＣＥが“Ｌ”、アドレスラッチイネーブル信号−ＡＬＥが“Ｌ”、およびライトイネーブル信号−ＷＥが“Ｈ”の際、リードイネーブル信号−ＲＥの立ち上がりエッジにて、信号ピンＩ／Ｏ１〜Ｉ／Ｏ８からコード３６を取り込む。この際から、実働の読み出し動作を開始する。
【００５４】
続いて、ホスト装置１２は、コマンドラッチイネーブル信号ＣＬＥが“Ｌ”で、チップイネーブル信号−ＣＥが“Ｌ”、アドレスラッチイネーブル信号−ＡＬＥが“Ｌ”、およびライトイネーブル信号−ＷＥが“Ｈ”の際、リードイネーブル信号−ＲＥの立ち上がりエッジにて、信号ピンＩ／Ｏ１〜Ｉ／Ｏ８からデバイスＩＤ２５を取り込む。
【００５５】
そのため、以後においてホスト装置１２は、デバイスドライバ１７−１により駆動されるPure ＮＡＮＤモード２６−１により、読み出し動作（Read）行を行うことができる。また、図６に示すように、この際、本例では、ＭＰＵ２１を経由しないで読み出し動作を行う。
【００５６】
この際、Pure ＮＡＮＤモード２６−１の読み出しシーケンスは、図９に示すように表される。
【００５７】
まず、記憶装置１１は、チップイネーブル信号−ＣＥが“ロウレベル（以下、Ｌと記す）”、およびリードイネーブル信号−ＲＥが“ハイレベル（以下、Ｈと記す）”の際、信号ピンＩ／Ｏ１〜Ｉ／Ｏ８からホスト装置１２より送信されたリードコマンドＣＯＭ４６−１をコントローラ１６に取り込む。
【００５８】
続いて、記憶装置１１は、チップイネーブル信号−ＣＥが“Ｌ”の際、リードイネーブル信号−ＲＥの立ち下がりエッジにて、信号ピンＩ／Ｏ１〜Ｉ／Ｏ８からデータ（Data０）４３−０をコントローラ１６に取り込む。そして、リードイネーブル信号−ＲＥの立ち上がりエッジにて、データ４３−０をホスト装置１２に出力する。
【００５９】
続いて、記憶装置１１は、チップイネーブル信号−ＣＥが“Ｌ”の際、リードイネーブル信号−ＲＥの立ち下がりエッジにて、信号ピンＩ／Ｏ１〜Ｉ／Ｏ８からデータ（Data１）４３−１をコントローラ１６に取り込む。そして、リードイネーブル信号−ＲＥの立ち上がりエッジにて、データ４３−１をホスト装置１２に出力する。
【００６０】
以後、上記と同様の動作を繰り返し、Pure ＮＡＮＤモード２６−１により読み出し動作を行う。
【００６１】
尚、ここではPure ＮＡＮＤモード２６−１の読み出し動作を詳細に説明した。しかし、Pure ＮＡＮＤモード２６−１は、上記読み出し動作に限らず、同様に書き込み、消去動作等も行うことが可能である。
【００６２】
（ステップＳＨ２（LBA ＮＡＮＤデバイスドライバ転送））
時刻ｔ２の際に、ホスト装置１２は、ＲＯＭ３２中に格納され読み出し動作等を行うためのブートコード（Boot code）（図示せず）をロード（load）する。
【００６３】
さらに、この際、ホスト装置１２は、メモリ３２に格納されデバイスドライバ１７−１により駆動されるPure ＮＡＮＤモード２６−１により記憶装置１１にアクセスする。そして、ホスト装置１２は、LBA ＮＡＮＤデバイスドライバ１７−２を自身のＲＡＭ３２に格納する。
【００６４】
ここで、LBA ＮＡＮＤモード２６−２の読み出しシーケンスは、図１０に示すように表される。
【００６５】
まず、記憶装置１１は、コマンドラッチイネーブル信号ＣＬＥが“Ｈ”、チップイネーブル信号−ＣＥが“Ｌ”、およびアドレスラッチイネーブル信号−ＡＬＥが“Ｌ”の際、ライトイネーブル信号−ＷＥの立ち上がりエッジにて、信号ピンＩ／Ｏ１〜Ｉ／Ｏ８からホスト装置１２から送信されたＩＤリードコマンドＣＯＭ４６−２をコントローラ１６に取り込む。
【００６６】
続いて、記憶装置１１は、コマンドラッチイネーブル信号ＣＬＥが“Ｌ”で、チップイネーブル信号−ＣＥが“Ｌ”、およびアドレスラッチイネーブル信号−ＡＬＥが“Ｈ”の際、ライトイネーブル信号−ＷＥの立ち上がりエッジにて、信号ピンＩ／Ｏ１〜Ｉ／Ｏ８からアドレスａｄｒ０〜ａｄｒ４のパケット４５をコントローラ１６に取り込む。このパケット４５のうち、アドレスａｄｒ０〜ａｄｒ１はセクタカウント（Sector count）Ｍを構成し、アドレスａｄｒ２〜ａｄｒ４はセクタアドレス（Sector address）Ｎを構成している。
【００６７】
このように、本例では、アドレスの定義をセクタアドレス（Sector address）Ｎ（本例では、512Byte程度を最小単位としたアドレス）とする転送を行う。一方、従来はアドレスを5Byte程度に分けて転送していた。また、セクタカウント（Sector count）Ｍは、これから何セクタ転送するとの予告である。
【００６８】
続いて、記憶装置１１は、コマンドラッチイネーブル信号ＣＬＥが“Ｈ”、チップイネーブル信号−ＣＥが“Ｌ”、およびアドレスラッチイネーブル信号−ＡＬＥが“Ｌ”の際、ライトイネーブル信号−ＷＥの立ち上がりエッジにて、信号ピンＩ／Ｏ１〜Ｉ／Ｏ８からホスト装置１２から送信された終了コマンドＣＯＭ４６−２をコントローラ１６に取り込む。
【００６９】
続いて、記憶回路１１は、上記パケット４５を取り込んでいる間、“Ｌ”状態（Busy状態）のレディ／ビジーＲＹ／−ＢＹ信号を出力する。
【００７０】
続いて、記憶装置１１は、チップイネーブル信号−ＣＥが“Ｌ”、レディ／ビジーＲＹ／−ＢＹ信号が“Ｈ”の際、リードイネーブル信号−ＲＥの立ち下がりエッジから時刻tＲ後に、信号ピンＩ／Ｏ１〜Ｉ／Ｏ８からホスト装置１２に、複数のデータ（Data０、Data１、…）から構成される転送ユニット４７を転送する。
【００７１】
この転送ユニット４７の転送パケットサイズは、従来の転送パケットサイズ（例えば、528Byte(512+16)程度を一単位）に合わして送信する。
【００７２】
このように、本例では、Pure ＮＡＮＤモード２６−１およびLBA ＮＡＮＤモード２６−２のいずれのアクセスモードにおいても、図３および図４に示す同一の信号ピンＩ／Ｏ１等が使用され、電気インターフェイス（信号線定義）が準拠されている。
【００７３】
尚、LBA ＮＡＮＤモード２６−２については、読み出し動作のみを詳細に説明した。しかし、LBA ＮＡＮＤモード２６−２は、上記読み出し動作に限らず、同様に書き込み、消去動作等も行うことが可能である。
【００７４】
（ステップＳＨ３）
続いて、ホスト装置１２は、システムブート（System boot）環境および先にロードしたLBA ＮＡＮＤアクセスモード２６−２環境を構築する。上記システムブート環境は、例えば、ユニバーサルシリアルバス（ＵＳＢ：Universal Serial Bus）メモリシステム，ＭＰ３システム等がある。
【００７５】
（ステップＳＭ３）
続いて、時刻ｔ３の際に、ホスト装置１２は、LBA ＮＡＮＤモード環境の構築が完成すると、記憶装置１１にモードチェンジコマンドＦＥｈ（ｈは１６進数を示す）を発行する。
【００７６】
（ステップＳＭ４）
続いて、時刻ｔ４の際に、記憶装置１１は、上記モードチェンジコマンドＦＥｈを受信すると、LBA ＮＡＮＤデバイスドライバ１７−２を駆動し、LBA ＮＡＮＤモード２６−２に遷移する。以後、記憶装置１１は、この遷移したLBA ＮＡＮＤモード２６−２により、書き込み/読み出し（Read/Program）動作等を行う。
【００７７】
（ステップＳＨ４）
上記時刻t４の際より、ホスト装置１２は、構築されたLBA ＮＡＮＤモード２６−２に遷移し、遷移したLBA ＮＡＮＤモード２６−２により読み出し動作等のオペレーションモードを開始する。
【００７８】
（ステップＳＭ５）
また、以後の時刻において、図６に示すように、ホスト装置１２は、記憶装置１１のアクセスエリアを変更する場合には、モードチェンジコマンドＦＡｈ（ｈは１６進数を示す）発行する。
【００７９】
（ステップＳＭ６）
続いて、記憶装置１１は、上記モードチェンジコマンドＦＡｈを受信すると、ＰＮＲ（Pure ＮＡＮＤ read ）エリアおよびＶＦＡ（Vender Firmware store area）エリアから、ＭＤＳ（Music data store）エリアへアクセスエリア変更する。このように、アクセスエリアを変更することにより、ホスト装置１２から送信される音楽等のアプリケーションデータを所定のエリアに格納することが可能である。
【００８０】
ここで、上記ＰＮＲエリアとは、ホスト装置１２が記憶装置１１をデバイスＩＤ２５に基づいてPure ＮＡＮＤモード２６−１で読み出すエリアで、LBA ＮＡＮＤデバイスドライバ１７−２が格納されているエリアである。上記ＶＦＡエリアとは、LBA ＮＡＮＤモード２６−２でアクセスされ、ホスト装置１２のファームウェアが格納されているエリアである。上記ＭＤＳエリアとは、LBA ＮＡＮＤモード２６−２でアクセスされ、ホスト装置１２が、例えば、オーディオプレイヤー（Audio Player）等の場合、音楽データが格納されているエリアである。
【００８１】
さらに、上記アクセスモード遷移動作は、以下のように変形して行うことも可能である。
【００８２】
例えば、記憶装置１１がPure ＮＡＮＤモード２６−１によりデータ出力が可能になった際（時刻ｔ２の際）に、ホスト装置１２に対してデバイスとしてレディ（Ready）状態に見せる。そして、その際には、記憶装置１１のLBA ＮＡＮＤモード２６−２のデータ出力が可能になっていなくても構わない様にする。
【００８３】
この場合、記憶装置１１は、時刻ｔ２以降に、LBA ＮＡＮＤアクセスモード２６−２のデータ出力を可能にするための初期化処理を行う。例えば、ＭＰＵ２１は、システムデータを作成し、これをバッファＲＡＭ２３上に保存する。ここで、システムデータの例として、アドレス変換テーブルなどが挙げられる。アドレス変換テーブルとは、論理アドレスとＮＡＮＤ型フラッシュメモリ１５の物理アドレスとを変換するためのテーブルである。
【００８４】
この様に変形することで、ホスト装置１２のファームロード時間を短時間で開始することができ、起動時間を短縮することができる。また、ホスト装置１２側が有するＮＡＮＤフラッシュメモリのアクセス開始までのタイムアウト設定が比較的短い場合であっても、LBA ＮＡＮＤアクセスモード２６−２へ遷移することができる。
【００８５】
ここで、記憶装置１１が、LBA ＮＡＮＤモード２６−２のアクセス環境が構築されているか否かの確認は、例えば、以下のように行う。
【００８６】
まず、ホスト装置１２が、Pure ＮＡＮＤモード２６−１実行後、リセットコマンドを記憶装置１１に発行する。そして、そのコマンドレスポンスのビジィ（Busy）状態が、レディ（Ready）状態になるまで待機することにより行うことができる。或いは、LBA ＮＡＮＤアクセスモード専用のリセットコマンドを設定し、その専用のリセットコマンドレスポンスのビジィ（Busy）状態が、レディ（Ready）状態になるまで待機することにより行うことができる。
【００８７】
また、Pure ＮＡＮＤモード２６−１の場合に、ホスト装置１２が発行してくるＮＡＮＤフラッシュメモリのアドレスに関係なく、所定の順番で予め決められたデータを読み出すことを実行してもよい。
【００８８】
ホスト装置１２の既存のＮＡＮＤ型フラッシュメモリ（ファームウェア）３２の更新機能（ページコピー機能）が使えるように、Pure ＮＡＮＤモード２６−１のアクセスデータを記録するようにしてもよい。勿論、LBA ＮＡＮＤモード２６−２を使用した場合でも、ホスト装置１２のＮＡＮＤ型フラッシュメモリ３２の更新機能を付加しても良い。そして、これらのホスト装置１２のＮＡＮＤ型フラッシュメモリ３２の更新書込操作時には、ホスト装置１２が発行してくるＮＡＮＤ型フラッシュメモリのアドレスに関係なく、所定の順番で読み出されるべく、データ順でデータを格納しても良い。
【００８９】
また、Pure ＮＡＮＤアクセスモード２６−２の場合には、ＮＡＮＤ型フラッシュメモリのPage長にも、例えば、(2k+64)Byte等の値がある。そして、その中にはホスト装置１２が生成しているＥＣＣデータ等が含まれる場合がある。この場合には、ホスト装置１２が生成してくるＥＣＣデータの生成定義式を知った上で、記憶装置１１内でＥＣＣデータを生成しても良いし、ホスト装置１２が生成してくるＥＣＣデータを含めてＮＡＮＤ型フラッシュメモリ１５内にそのまま記録しておいても良い。上記のようなホスト装置１２が生成しているＥＣＣデータ等が含まれる場合は、以下のような３つの態様が考えられる。
【００９０】
まず、ホスト装置１２が生成してくるＥＣＣデータの生成定義式を記憶装置１１が知っている場合。この場合には、データの書き込み動作において、ホスト装置１２から受信したＥＣＣデータを外して、ＮＡＮＤ型フラッシュメモリにデータを格納する。データの読み出し動作においては、記憶装置１１内でＥＣＣデータを生成して、ＥＣＣデータを含むデータをホスト装置１２に送信する。
【００９１】
また、データの書き込み動作において、ホスト装置１２から受信したＥＣＣデータを含むデータをＮＡＮＤ型フラッシュメモリにそのまま書き込む場合もある。
【００９２】
さらに、データの書き込み動作において、ホスト装置１２から受信した第１のＥＣＣデータを含むデータに対して第２のＥＣＣデータを記憶装置１１内で更に生成し、その第１のＥＣＣデータを含むデータと第２のＥＣＣデータをＮＡＮＤ型フラッシュメモリに書き込む場合。上記のような2Pageを使用して記録するのは、この態様である。
【００９３】
ここで、一般には、記憶装置１１内では独自のＥＣＣ定義を持つので、ホスト装置１２側からのアクセスが、例えば、(2k+64)Byteであり、記憶装置１１内に搭載しているＮＡＮＤ型フラッシュメモリ１５のPage長が(2k+64)Byte等である場合には、ホスト装置１２からのアクセス1Page分のデータを記憶装置１１内部では搭載ＮＡＮＤ型フラッシュメモリ１５に対して2Pageを使用して記録するPure ＮＡＮＤアクセスモード２６−１の書き込み動作を行う。
【００９４】
上記のように、この実施形態に係る記憶装置およびその使用方法によれば、下記（１）乃至（４）の効果が得られる。
【００９５】
（１）利便性を向上できる。
【００９６】
上記のように、記憶装置１１は、デバイスＩＤ２５を送信し、記憶装置１１がホスト装置１２にとって接続可能なデバイス（既知であるデバイス）であると認識させる。続いて、記憶装置１１は、ホスト装置１２の具備するPure ＮＡＮＤモード２６−１によりホスト装置１２に接続する（ステップＳＭ２）。さらに、記憶装置１１は、ＮＡＮＤＩ／Ｆ２０を介して、上記LBA ＮＡＮＤモード２６−２を駆動するLBA ＮＡＮＤデバイスドライバ１７−２を転送することができる（ステップＳＨ２）。これは、Pure ＮＡＮＤモードおよびLBA ＮＡＮＤモードは、図３および図４に示す同一の信号ピンが使用され電気インターフェイス（信号線定義）が準拠されているためである。その後、ホスト装置１２は、LBA ＮＡＮＤデバイスドライバ１７−２を自身のメモリ３２に格納し（ステップＳＨ３）、LBA ＮＡＮＤモードに遷移して、LBA ＮＡＮＤモードによって読み出し動作等を開始することができる（ステップＳＭ４）。
【００９７】
そのため、記憶装置１１は、デバイスＩＤ２５を送信し、ホスト装置１２がPure ＮＡＮＤモード２６−１を具備していれば、別定義（新たなＩ／Ｆプロトコル）のLBA ＮＡＮＤモード２６−２として接続しようとする場合であっても、上記別定義のアクセスモードによりホスト装置１２と接続することができる。この際、記憶装置１１が別定義のLBA ＮＡＮＤモード２６−２を駆動するLBA ＮＡＮＤデバイスドライバ１７−２を転送できるため、ホスト装置１２は、自身のファームウェアを変更する必要がない。このように、本例の記憶装置１１は、ホスト装置１２のファームウェアを変更せずに、所望の別定義のアクセスモードに接続でき、利便性を向上できる。
【００９８】
（２）最適なデバイスドライバ１７−２を転送することができる。
【００９９】
一般に、記憶装置とホスト装置の最適な組み合わせのデバイスドライバは、記憶装置の特性により決定される。上記のように、本例に係る記憶装置１１は、記憶装置１１が選択するデバイスドライバ１７−２をホスト装置１２に転送することができる（ステップＳＨ２）。そのため、ホスト装置１２においては、記憶装置１１の特性により選択された最適なデバイスドライバ１７−２をロードすることができることとなる。
【０１００】
このように、記憶装置１１は、記憶装置１１とホスト装置１２のデバイスドライバ１７−２の最適な組合せを選択して転送することにより、最適なデバイスドライバ１７−２の組み合わせを構成できる点で有利である。
【０１０１】
（３）想定していなかった別定義のアクセスモードに対しても接続することができる。
【０１０２】
本例のように、ホスト装置１２が、ＮＡＮＤフラッシュメモリ１５のアクセスモードとして、Pure ＮＡＮＤモード２６−１しか元々想定していなかった設計仕様のものである場合であっても、上記アクセスモード遷移動作により、その他のアクセスモード（例えば、LBA ＮＡＮＤモード２６−２）にモード遷移を行うことができる。
【０１０３】
そのため、記憶装置１１は、ホスト装置１２が想定していなかった別定義のアクセスモードに対しても接続し、実駆動を行うことができる。
【０１０４】
（４）コントローラ１６の構成を簡易にできる。
【０１０５】
上記のように、本例ではPure ＮＡＮＤモード２６−１の読み出し動作（ステップＳＭ２）の際には、ホスト装置１２が発行したアドレスを参照せずに、所定の順番で予め決められたデータ（Data0,…）を読み出すようにコントローラ１６が構成されている。
【０１０６】
このように、ホスト装置１２により、あらかじめ順番が決まったデータをアドレスを参照してまで忠実に読み出すことをしない。そのため、アドレスを参照せずに所定の順番で予め決められたデータ読み出しをすることでコントローラ１６の構成を簡易にできる点で有利である。尚、Pure ＮＡＮＤモード２６−１の書き込み動作であっても、アドレスを参照せず行う限り、上記同様の効果が得られる。
【０１０７】
［変形例］
さらに、以下（１）乃至（６）のような変形を加えた実施態様を取ることも可能である。
【０１０８】
（１）複数のアクセスモードを備え、そのうち一のアクセスモードがＮＡＮＤ型フラッシュメモリのアクセスモードで、その他のアクセスモードは、電気的インターフェイスを準拠しているが、別定義のアクセスモードである記憶装置。
【０１０９】
例えば、図１１に示すように、Pure ＮＡＮＤアクセスモード２６−１を有し、そのPure ＮＡＮＤアクセスモード２６−１と電気的インターフェイスに準拠したその他複数のアクセスモードを備えた記憶装置１１が考えられる。このような場合には、別定義のアクセスモード（アクセスモード２、アクセスモード３、…）となった場合であっても、記憶装置１１は、ホスト装置１２のファームウェアの変更無しに、ホスト装置１２に接続することができる。
【０１１０】
このように、上記実施形態では、アクセスモードは、Pure ＮＡＮＤモード２６−１およびLBA ＮＡＮＤモード２６−２を一例として説明したが、アクセスモードはこれらに限られず、さらに複数のアクセスモードを有する記憶装置に適用することが可能である。つまり、ある記憶デバイスにアクセスする第１アクセスモードと、その第１アクセスモードと電気的インターフェイスに準拠したその他複数のアクセスモードを備えた記憶装置に適用することが可能である。
【０１１１】
上記構成によれば、その他複数のアクセスモードの利用が、ホスト装置１２のハードウェアＣＰＵ３０の変更が無しに可能となる点で有利である。
【０１１２】
（２）LBA ＮＡＮＤモード２６−２を、論理セクタアクセスの階層でのアクセスを受け付け可能とする。
【０１１３】
LBA ＮＡＮＤモード２６−２を論理セクタアクセスの階層でのアクセスを受け付け可能とすることにより、ホスト装置１２のファームウェアの中に組み込むLBA ＮＡＮＤアクセスモード２６−２を駆動するデバイスドライバ１７−２の構成を簡易とできる点で有利である。
【０１１４】
さらに、記憶装置１１に搭載される記憶デバイスの特性にかかわらず抽象化された階層でアクセスが可能となるため、例えば、ＮＡＮＤ型フラッシュメモリ１５等の記憶デバイスの特性にかかわらず同一のデバイスドライバ１７−２でアクセスすることができるメリットもある。
【０１１５】
（３）LBA ＮＡＮＤモード２６−２を、ファイルシステム（ファイル名）の階層でのアクセスを受け付け可能とする。
【０１１６】
上記のように変形することにより、LBA ＮＡＮＤモード２６−２を駆動するデバイスドライバ１７−２の構成を簡易にすることができる。さらに、上記変形例（２）と同様の理由から、記憶装置１１の記憶デバイスの特性にかかわらず同一のデバイスドライバ１７−２でアクセスすることができるメリットもある。
【０１１７】
（４）複数のアクセスモードを備え、そのうちの一のアクセスモードがＮＡＮＤ型フラッシュメモリのアクセスモードで、その他のアクセスモードは、別定義のアクセスモードであるが電気的インターフェイスを準拠していない記憶装置。
【０１１８】
これは、記憶装置１１がＮＡＮＤＩ／Ｆ２０以外に、ホスト装置１２に接続するＣＰＵバス等を新たに配線することにより行うことが可能である。必要に応じて、このような構成を適用することが可能である。
【０１１９】
（５）Pure ＮＡＮＤモード２６−１の読み出し動作（ステップＳＭ２）の際に、ホスト装置１２が発行したアドレスを参照して読み出し/書き込みを行う。
【０１２０】
図８に示したように、第１の実施形態において、Pure ＮＡＮＤモード２６−１の読み出し動作（ステップＳＭ２）の際には、ホスト装置１２が発行したアドレスを参照して読み出しを行っていない。しかし、ホスト装置１２が発行したアドレスを参照して読み出しを行うことにより、より忠実にＮＡＮＤ型フラッシュメモリのアクセスモードに合わせることができ、ホスト装置１２との適合性を拡大できる点で有利である。
【０１２１】
さらに、書き込み動作の際に、ホスト装置１２が発行したアドレスを参照して書込を行う場合であっても同様の効果が得られる。それは、より忠実にＮＡＮＤ型フラッシュメモリのアクセスモードに合わせることにより、より広い範囲のホスト機器との適合性を書き込み特性を含めて実現できるからである。
【０１２２】
（６）Pure ＮＡＮＤモード２６−１で読み出し可能なデータ４３−０等のデータ量を、記憶装置１１のデータ量のごく一部に限定する。
【０１２３】
ファームウェアデータ量は、多くの場合、ごく限定された記憶容量しか必要としない。そのため、限定された記憶容量しか必要としない場合には、図８中の読み出しデータ４３−０等のデータ量を限定をすることにより、記憶装置１１の構成を簡単にすることができる点で有利である。
【０１２４】
尚、上記説明において、記憶装置１１は、上記ＴＳＯＰパッケージ等の半導体パッケージを一例に挙げて説明したが、これに限らず、例えば、メモリカード等にも同様に適用することが可能である。
【０１２５】
また、記憶装置１１に搭載される記憶デバイスは、本例のＮＡＮＤ型フラッシュメモリに限らず、例えば、ＦｅＲＡＭ（Ferroelectric Random Access Memory）、ＭＲＡＭ（Magnetic Random Access Memory）等のその他の記憶デバイスあっても同様に適用可能である。
【０１２６】
さらに、上記実施形態中では、ホスト装置１２のデバイスドライバを記憶装置１１の記憶デバイスからロードする場合を一例に挙げて説明したが、本発明は、この場合に限定されない。
【０１２７】
以上、第１の実施形態および変形例を用いて本発明の説明を行ったが、この発明は上記実施形態および変形例に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施形態および変形例には種々の段階の発明が含まれており、開示される複数の構成要件の適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態および変形例に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題の少なくとも１つが解決でき、発明の効果の欄で述べられている効果の少なくとも１つが得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【図面の簡単な説明】
【０１２８】
【図１】この発明の第１の実施形態に係る記憶装置を示す平面図。
【図２】ＮＡＮＤ型フラッシュメモリのデータ配置を示す平面図。
【図３】半導体パッケージに封止された図１中の記憶装置を示す平面図。
【図４】図３に示す半導体パッケージのピン名称を示す図。
【図５】第１の実施形態に係る記憶装置のアクセスモード遷移動作を示すタイミングチャート図。
【図６】第１の実施形態に係る記憶装置の一アクセスモード遷移動作を示す平面図。
【図７】第１の実施形態に係るデバイスＩＤ読み出しシーケンスを示すタイミングチャート図。
【図８】第１の実施形態に係る記憶装置のアクセスモード遷移動作を説明するためのフローチャート図。
【図９】第１の実施形態に係る記憶装置のPure ＮＡＮＤモードの読み出しシーケンスを示すタイミングチャート図。
【図１０】第１の実施形態に係る記憶装置のLBA ＮＡＮＤモードの読み出しシーケンスを示すタイミングチャート図。
【図１１】この発明の一変形例に係る記憶装置を示す平面図。
【符号の説明】
【０１２９】
１１…記憶装置、１２…ホスト装置、１５…ＮＡＮＤ型フラッシュメモリ、１６…コントローラ、２０、２２、３１…ＮＡＮＤＩ／Ｆ、２１…ＭＰＵ、２３…バッファＲＡＭ、１７−１…Pure ＮＡＮＤデバイスドライバ、１７−２…LBA ＮＡＮＤデバイスドライバ、３０…ＣＰＵ、３２…ＲＯＭ、３３…ＲＡＭ、２５…デバイスＩＤ、２６−１…Pure ＮＡＮＤアクセスモード、２６−２…LBA ＮＡＮＤアクセスモード。
【図１】
2008033648.tif 000003
【図２】
2008033648.tif 000004
【図３】
2008033648.tif 000005
【図４】
2008033648.tif 000006
【図５】
2008033648.tif 000007
【図６】
2008033648.tif 000008
【図７】
2008033648.tif 000009
【図８】
2008033648.tif 000010
【図９】
2008033648.tif 000011
【図１０】
2008033648.tif 000012
【図１１】
2008033648.tif 000013