(57)【要約】  【課題】  フラッシュメモリのデータアクセス速度を高めるため、パイプライン式のデータアクセス方法及び関連装置を提供する。  【解決手段】  フラッシュメモリ装置１００は、データを記憶するＮＡＮＤ型フラッシュメモリ１０２と、上記ＮＡＮＤ型フラッシュメモリ１０２に記憶されたデータを一時保存するデータバッファ領域２０８と、受信した各読み込み指令において読み込みが要求されているデータのアドレスであるデータ読み込みアドレスとデータバッファ領域２０８において一時保存されているデータのアドレスであるデータ一時保存アドレスとが一致するかを比較して、比較情報を生成するコンパレータ２１０と、上記比較情報に基づいてデータバッファ領域２０８およびＮＡＮＤ型フラッシュメモリ１０２の何れからデータを読み込むかを決めるＮＯＲ型フラッシュメモリインターフェイス２０４とを含む。【選択図】  図１
2009123185.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリ装置であって、
データを記憶するＮＡＮＤ型フラッシュメモリと、
上記ＮＡＮＤ型フラッシュメモリにアクセスされたデータを一時保存するデータバッファ領域と、
データ読み込みアドレスを指令ごとに１つ含んだ複数の読み込み指令を一時保存する指令バッファ領域と、
受信した各読み込み指令において読み込みが要求されているデータのアドレスであるデータ読み込みアドレスと前記データバッファ領域において一時保存されているデータのアドレスであるデータ一時保存アドレスとが一致するかを比較して、比較情報を生成するコンパレータと、
上記比較情報に基づいて前記データバッファ領域および前記ＮＡＮＤ型フラッシュメモリの何れからデータを読み込むかを決めるＮＯＲ型フラッシュメモリインターフェイスとを含むことを特徴とするフラッシュメモリ装置。
【請求項２】
前記データバッファ領域の前記データ一時保存アドレスは、前記ＮＡＮＤ型フラッシュメモリでの物理アドレスに対応すること特徴とする請求項１記載のフラッシュメモリ装置。
【請求項３】
前記指令バッファ領域には複数の指令バッファブロックが含まれ、前記指令バッファブロックごとに１つの前記読み込み指令が一時保存されること特徴とする請求項１記載のフラッシュメモリ装置。
【請求項４】
前記指令バッファブロックは論理ブロックアドレス（ＬＢＡ）フィールドと識別データフィールドを含み、該論理ブロックアドレスは各読み込み指令の前記データ読み込みアドレスを記憶し、該識別データフィールドは各読み込み指令の前記比較情報を記憶すること特徴とする請求項３記載のフラッシュメモリ装置。
【請求項５】
前記指令バッファ領域はＦＩＦＯ（first-in first-out）バッファであること特徴とする請求項３記載のフラッシュメモリ装置。
【請求項６】
前記ＮＯＲ型フラッシュメモリインターフェイスは、パイプライン方式で前記指令バッファ領域に保存された前記比較情報に基づいて、前記データバッファ領域および前記ＮＡＮＤ型フラッシュメモリの何れからデータを読み込むかを決めること特徴とする請求項１記載のフラッシュメモリ装置。
【請求項７】
前記フラッシュメモリ装置は更に、前記ＮＡＮＤ型フラッシュメモリに結合されてその記憶データをアクセスするＮＡＮＤ型フラッシュメモリインターフェイスを含むこと特徴とする請求項１記載のフラッシュメモリ装置。
【請求項８】
前記フラッシュメモリ装置は更に、前記ＮＡＮＤ型フラッシュメモリの保存データの物理アドレス及び対応するＬＢＡを記憶する論理アドレス変換ユニットを含むこと特徴とする請求項１記載のフラッシュメモリ装置。
【請求項９】
フラッシュメモリ装置のアクセス方法であって、前記フラッシュメモリ装置はＮＡＮＤ型フラッシュメモリとデータバッファ領域を含み、前記ＮＡＮＤ型フラッシュメモリはデータを記憶し、前記データバッファ領域は前記ＮＡＮＤ型フラッシュメモリにアクセスされたデータを一時保存し、前記方法は、
読み込みが要求されているデータのアドレスであるデータ読み込みアドレスを指令ごとに１つ含んだ複数の読み込み指令を指令バッファ領域に一時保存する段階と、
受信した各読み込み指令の前記データ読み込みアドレスと前記データバッファ領域において一時保存されているデータのアドレスであるデータ一時保存アドレスとを比較して比較情報を生成する段階と、
上記比較情報に基づいて前記データバッファ領域および前記ＮＡＮＤ型フラッシュメモリの何れからデータを読み込むかを決める段階とを含むことを特徴とするフラッシュメモリ装置のアクセス方法。
【請求項１０】
前記データバッファ領域の前記データ一時保存アドレスは、前記ＮＡＮＤ型フラッシュメモリでの物理アドレスに対応すること特徴とする請求項９記載のフラッシュメモリ装置のアクセス方法。
【請求項１１】
前記方法は更に、パイプライン方式で前記比較情報に基づいて、前記データバッファ領域および前記ＮＡＮＤ型フラッシュメモリの何れからデータを読み込むかを決める段階を含むこと特徴とする請求項９記載のフラッシュメモリ装置のアクセス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はフラッシュメモリ装置及びそのアクセス方法に関し、特にＮＡＮＤ型フラッシュメモリを有するＮＯＲインターフェイスフラッシュメモリ装置及びそのアクセス方法に関する。
【背景技術】
【０００２】
フラッシュメモリは電源を切っても記憶データを保存できる不揮発性メモリである。他の記憶媒体（ＨＤＤ、フレキシブルディスク、磁気テープなど）と比べて、フラッシュメモリはコンパクト化、軽量化、防振、省電力、高速アクセスなどの特長を有するため、民生用電子製品、組み込みシステム、携帯型パソコンなどの記憶媒体として大量に利用されている。
【０００３】
フラッシュメモリにはＮＯＲ型とＮＡＮＤ型など２種類がある。ＮＯＲ型は低電圧、高速アクセスと安定性に優れ、パーソナルコンピュータ、携帯電話、ＰＤＡ、セットアップボックス（ＳＴＢ）などの携帯型電子装置や電子通信装置に多用され、ＮＡＮＤ型はデータ記憶用であって、メモリカード（ＳＤ、ＣＦ、ＭＳなど）に利用されることが多い。
【０００４】
ＮＡＮＤ型はＮＯＲ型より高速に書き込むことができるが、ＸＩＰ（直接実行）機能をサポートしない。ＮＯＲ型は線形的な記憶アドレス領域を備え、データを高速かつランダムに読み込んでコードを直接実行することができるため、携帯電話、携帯型パソコンで制御プログラムやＯＳの記憶媒体として多用される。それに対して、ＮＡＮＤ型は高速に消去・書き込むことができ、ＮＯＲ型よりはるかに安価であるため、大量のデータ記憶に用いられることが多い。しかし、ＮＡＮＤ型はデータアクセスにページを単位とするため、ＮＯＲ型のようにデータをランダムに読み込むことができず、読み込み速度がＮＯＲ型より遅く、ＸＩＰ機能もサポートしない。したがって、携帯型電子製品に制御プログラムやＯＳの記憶媒体としてＮＡＮＤ型フラッシュメモリを用いることは、起動速度が遅く、システムが故障しやすいという欠点がある。
【０００５】
もっとも、ＮＡＮＤ型がＮＯＲ型より大容量化が容易であることに鑑みて、ＮＡＮＤ型の読み込み速度を改善し、大容量で高速読み込みが可能なフラッシュメモリの開発が進められている。
【０００６】
ただし、今までの解決策は、ＣＰＵにキャッシュを設けるようにフラッシュメモリ装置にＳＲＡＭを組み込んで、ＳＲＡＭを利用して読み込み速度を改善するに過ぎない。或いは、この構造に組み込み式制御ソフトウェアを追加し、ＮＡＮＤ型フラッシュメモリの記憶ブロックをソフトウェアでモニターし、不良ブロック検出時にそれを読み出されないように隠すことで、ＮＡＮＤ型フラッシュメモリの物理的な欠陥を解決し、電子製品の起動速度を向上させてシステム故障を回避することも考えられうる。
【０００７】
しかし、以上の解決策はホストコンピュータに組み込み式ソフトウェアと駆動プログラムを設置することが必要であり、フラッシュメモリ装置へのアクセス指令はＮＡＮＤ型のアクセスモードで前述のようなＮＯＲ型アクセスモードではないため、ＳＲＡＭをキャッシュとして利用しても1KBのＸＩＰしかサポートできず、ＮＯＲ型とはまだ格差がある。
【０００８】
また、ホストコンピュータから複数の読み込み指令を発してフラッシュメモリ内のデータを読み込むとき、ＮＡＮＤ型では読み込み指令がフラッシュメモリのブロックから所要のデータを探して、見つけたデータをホストコンピュータに返送する。その後、フラッシュメモリがホストコンピュータに状態メッセージを送信し、その後の読み込み指令が次々と上記プロセスを繰り返してデータを読み込む。各指令の読み込みプロセスでは、ホストコンピュータからフラッシュメモリに指令を送信し、所要のデータをフラッシュメモリのブロックから探し出し、それからフラッシュメモリからホストコンピュータに状態メッセージを返送する総準備時間は、データをフラッシュメモリからホストコンピュータに返送する時間の約３倍である。データ送信時間はデータ量の増加に伴って増加するが、準備時間はそれとともに増加しないため、短時間に複数の読み込み指令を生成した場合は、不必要なデータ送信の待ち時間は免れない。そのため、ＮＯＲ型の高速データアクセスとＮＡＮＤ型の大容量を兼ね備えたフラッシュメモリは、開発の目標である。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明はフラッシュメモリのデータアクセス速度を高めるため、パイプライン式のデータアクセス方法及び関連装置を提供することを課題とする。
【課題を解決するための手段】
【００１０】
そこで、本発明者は従来の技術に見られる欠点に鑑みて鋭意研究を重ねた結果、下記の装置によって、本発明の課題が解決される点に着眼し、かかる知見に基づき本発明を完成させた。
【００１１】
請求項１に記載のフラッシュメモリ装置は、データを記憶するＮＡＮＤ型フラッシュメモリと、上記ＮＡＮＤ型フラッシュメモリにアクセスされたデータを一時保存するデータバッファ領域と、データ読み込みアドレスを指令ごとに１つ含んだ複数の読み込み指令を一時保存する指令バッファ領域と、受信した各読み込み指令において読み込みが要求されているデータのアドレスであるデータ読み込みアドレスと前記データバッファ領域において一時保存されているデータのアドレスであるデータ一時保存アドレスとが一致するかを比較して、比較情報を生成するコンパレータと、上記比較情報に基づいて前記データバッファ領域および前記ＮＡＮＤ型フラッシュメモリの何れからデータを読み込むかを決めるＮＯＲ型フラッシュメモリインターフェイスとを含む。
【００１２】
請求項９に記載のフラッシュメモリ装置のアクセス方法では、前記フラッシュメモリ装置はＮＡＮＤ型フラッシュメモリとデータバッファ領域を含み、前記ＮＡＮＤ型フラッシュメモリはデータを記憶し、前記データバッファ領域は前記ＮＡＮＤ型フラッシュメモリにアクセスされたデータを一時保存する。前記方法は、読み込みが要求されているデータのアドレスであるデータ読み込みアドレスを指令ごとに１つ含んだ複数の読み込み指令を指令バッファ領域に一時保存する段階と、各読み込み指令の前記データ読み込みアドレスと前記データバッファ領域において一時保存されているデータのアドレスであるデータ一時保存アドレスとを比較して比較情報を生成する段階と、上記比較情報に基づいて前記データバッファ領域および前記ＮＡＮＤ型フラッシュメモリの何れからデータを読み込むかを決める段階とを含む。
【発明の効果】
【００１３】
本発明ではＮＯＲ型フラッシュメモリインターフェイスでＮＡＮＤ型フラッシュメモリのデータを迅速かつランダムにアクセスし、指令バッファ領域で複数の読み込み指令を保存し、更にパイプライン方式で読み込み指令のデータ読み込みアドレスとデータバッファ領域のデータ一時保存アドレスとが一致するかを判断し、一致した場合にデータバッファ領域から所要のデータを直接読み出す。したがって、本発明はＮＯＲ型フラッシュメモリインターフェイスでＮＡＮＤ型フラッシュメモリのデータを読み込む時間を大幅に短縮することができる。
【発明を実施するための最良の形態】
【００１４】
図１を参照する。図１は本発明によるフラッシュメモリ装置１００のブロック図である。フラッシュメモリ装置１００は、ＮＡＮＤ型フラッシュメモリ１０２とコントローラ２００を含み、コントローラ２００は論理アドレス変換ユニット２０２と、ＮＯＲ型フラッシュメモリインターフェイス２０４と、ＮＡＮＤ型フラッシュメモリインターフェイス２０６と、データバッファ領域２０８と、指令バッファ領域２１２と、コンパレータ２１０とを含む。フラッシュメモリ装置１００はＮＯＲ型フラッシュメモリインターフェイス２０４を介してホストコンピュータ３００と接続され、ホストコンピュータ３００からの指令を受信する。ホストコンピュータ３００は例えばデスクトップパソコン、ノートブックパソコン、工業用コンピュータまたはＤＶＤ再生装置である。ＮＡＮＤ型フラッシュメモリ１０２は複数のブロックを含み、各ブロックは６４ページからなり、各ページの容量は２キロバイトまたは512ビットである。
【００１５】
ＮＡＮＤ型フラッシュメモリ１０２ではプログラムコード（ブートコード）やデータが記憶されている。ＮＡＮＤ型フラッシュメモリ１０２に結合されたＮＡＮＤ型フラッシュメモリインターフェイス２０６は、ＮＡＮＤ型フラッシュメモリ１０２に記憶されたデータをアクセスする。ＮＯＲ型フラッシュメモリインターフェイス２０４とＮＡＮＤ型フラッシュメモリインターフェイス２０６の間に結合されたデータバッファ領域２０８は、ＮＡＮＤ型フラッシュメモリインターフェイス２０６でアクセスしたデータを一時保存する。論理アドレス変換ユニット２０２は、ＮＡＮＤ型フラッシュメモリ１０２内のＰＢＡ（物理ブロックアドレス）とＮＯＲ型フラッシュメモリインターフェイス２０４のデータアクセス時のＬＢＡ（論理ブロックアドレス）との関係を管理する。言い換えれば、ホストコンピュータ３００はＮＯＲ型フラッシュメモリインターフェイス２０４と論理アドレス変換ユニット２０２を通して、ＮＡＮＤ型フラッシュメモリ１０２をＨＤＤ（ハードディスクドライブ）のようなブロック装置としてシミュレートすることができる。そのため、ホストコンピュータ３００で一般のFAT32やEXT33形式でセクターを単位とした読み込み／書き込みリクエストを発信し、ＮＡＮＤ型フラッシュメモリ１０２のデータをアクセスすることが可能である。
【００１６】
図１と図２を合わせて参照する。図２は本発明によるフラッシュメモリ装置１００のアクセス方法のフローチャートである。
ステップ２１０：複数の読み込み指令を受信する。
ステップ２１２：指令ごとに１個のデータ読み込みアドレスを含んだ複数の読み込み指令を指令バッファ領域２１２に一時保存する。
ステップ２１４：各読み込み指令のデータ読み込みアドレスと、データバッファ領域２０８に一時保存されたデータのアドレスを比較する。一致すればステップ２１６に進み、一致しなければステップ２１８に進む。
ステップ２１６：データバッファ領域２０８からデータを読み込む。
ステップ２１８：ＮＡＮＤ型フラッシュメモリ１０２からデータを読み込む。
【００１７】
ホストコンピュータ３００から複数の読み込み指令を発信してＮＡＮＤ型フラッシュメモリ１０２内のデータを読み込むとき、指令バッファ領域２１２はホストコンピュータ３００からの読み込み指令を一時保存する。注意すべきは、指令バッファ領域２１２は複数の指令バッファブロック２２０を含み、指令バッファブロック２２０ごとに読み込み指令の読み込みデータＬＢＡを保存するＬＢＡフィールド２２２と、識別データフィールド２２１が設けられる。ホストコンピュータ３００からアドレスLBA_1のデータ読み込みを要求する第一読み込み指令と、アドレスLBA_2のデータ読み込みを要求する第二読み込み指令と、アドレスLBA_3のデータ読み込みを要求する第三読み込み指令が発信された場合、ＮＯＲ型フラッシュメモリインターフェイス２０４は論理アドレス変換ユニット２０２を通して、アドレスLBA_1がＮＡＮＤ型フラッシュメモリ１０２のブロック１・ページ１６（Ｂ１・Ｐ１６）に対応し、アドレスLBA_2がＮＡＮＤ型フラッシュメモリ１０２のＢ１・Ｐ３０に対応し、アドレスLBA_3がＮＡＮＤ型フラッシュメモリ１０２のＢ１・Ｐ２０に対応すると判断する。指令バッファ領域２１２の指令バッファブロック２２０１のＬＢＡフィールド２２２はアドレスLBA_1を一時保存し、指令バッファブロック２２０２のＬＢＡフィールド２２２はアドレスLBA_2を一時保存し、指令バッファブロック２２０３のＬＢＡフィールド２２２はアドレスLBA_3を一時保存する。
【００１８】
以前の操作のとき、ホストコンピュータ３００からアドレスLBA_2のデータ読み込みリクエストが発信されたことがある場合、そのとき、ＮＯＲ型フラッシュメモリインターフェイス２０４は既にＢ１・Ｐ３０のデータとアドレスLBA_2を一時保存するようにデータバッファ領域２０８を制御している。今回の操作のとき、コンパレータ２１０は前記第一、第二および第三各読み込み指令のデータ読み込みアドレスとデータバッファ領域２０８のデータ一時保存アドレスを比較する。言い換えれば、コンパレータ２１０は第一読み込み指令のデータ読み込みアドレスLBA_1とデータバッファ領域２０８のデータ一時保存アドレスLBA_2を比較し、両者が一致するかを判断する。両者が一致しないので、コンパレータ２１０は指令バッファブロック２２０１の識別データフィールド２２１を０（比較情報）とし、ＮＯＲ型フラッシュメモリインターフェイス２０４はこの比較情報に基づいて、ＮＡＮＤ型フラッシュメモリインターフェイス２０６を通してＮＡＮＤ型フラッシュメモリ１０２からＢ１・Ｐ１６のデータを読み出す。同データを読み出す間に、コンパレータ２１０は第二読み込み指令のデータ読み込みアドレスLBA_2とデータバッファ領域２０８のデータ一時保存アドレスLBA_2が一致するかを判断し、一致するので、指令バッファブロック２２０２の識別データフィールド２２１を１（比較情報）とする。その後、ＮＯＲ型フラッシュメモリインターフェイス２０４はＮＡＮＤ型フラッシュメモリインターフェイス２０６を通してＮＡＮＤ型フラッシュメモリ１０２からＢ１・Ｐ３０のデータを読み出さずに、この比較情報に基づいてデータバッファ領域２０８からデータを直接読み出す。同データを読み出す間に、コンパレータ２１０は第三読み込み指令のデータ読み込みアドレスLBA_3とデータバッファ領域２０８のデータ一時保存アドレスLBA_2が一致するかを判断する。両者が一致しないので、コンパレータ２１０は指令バッファブロック２２０３の識別データフィールド２２１を０（比較情報）とし、ＮＯＲ型フラッシュメモリインターフェイス２０４はこの比較情報に基づいて、ＮＡＮＤ型フラッシュメモリインターフェイス２０６を通してＮＡＮＤ型フラッシュメモリ１０２からＢ１・Ｐ２０のデータを読み出す。このように、読み込み指令に対する処理を終了する前に次の読み込み指令に対する処理を開始するという動作を、全部の読み込み指令を処理するまで繰り返す。指令バッファ領域２１２は、設定された数量の読み込み指令を格納でき、最大数量の読み込み指令を受信した後、読み込み指令の受信を続ければ、一番早く受信した読み込み指令を新たな読み込み指令に書き換える。言い換えれば、指令バッファ領域２１２はパイプライン方式で複数の読み込み指令を処理するＦＩＦＯ（first-in first-out）バッファとされる。このような方法は、ＮＯＲ型フラッシュメモリインターフェイス２０４のアクセス機能を大幅に改善することができる。なお、データバッファ領域２０８も、設定されたデータ量のデータを格納でき、読み込み指令の受信を続けることに基づいて、最大データ量のデータを保存した後、一番早く保存したデータを新たなデータに書き換える。
【００１９】
以上はこの発明の好ましい実施例であって、この発明の実施の範囲を限定するものではない。よって、当業者のなし得る修正、もしくは変更であって、この発明の精神の下においてなされ、この発明に対して均等の効果を有するものは、いずれも本発明の特許請求の範囲に属するものとする。
【図面の簡単な説明】
【００２０】
【図１】本発明によるフラッシュメモリ装置のブロック図である。
【図２】本発明によるフラッシュメモリ装置のアクセス方法のフローチャートである。
【符号の説明】
【００２１】
１００ フラッシュメモリ装置
１０２ ＮＡＮＤ型フラッシュメモリ
２００ コントローラ
２０２ 論理アドレス変換ユニット
２０４ ＮＯＲ型フラッシュメモリインターフェイス
２０６ ＮＡＮＤ型フラッシュメモリインターフェイス
２０８ データバッファ領域
２１０ コンパレータ
２１２ 指令バッファ領域
２２０ 指令バッファブロック
２２１ 識別データフィールド
２２２ ＬＢＡフィールド
３００ ホストコンピュータ
【図１】
2009123185.tif 000003
【図２】
2009123185.tif 000004