(57)【要約】【課題】ホスト機器がアクセスするアドレスによるアクセス速度の低下を抑制可能なメモリカード及びメモリカードの制御方法を提供する。【解決手段】  ホスト機器２０との間でデータ転送が可能なメモリカード１０であって、ホスト機器２０からアクセスされる半導体メモリ１１と、メモリカード１０の動作情報に基づきアクセスにおける推奨アドレスを決定し、その推奨アドレスをホスト機器２０に出力するアクセス制御部１２とを備え、半導体メモリ１１は推奨アドレスが割り振られたデータの読み出し処理又は書き込み処理を行う。【選択図】図１
2007249662.tif 000002
【特許請求の範囲】
【請求項１】
ホスト機器との間でデータ転送が可能なメモリカードであって、
前記ホスト機器からアクセスされる半導体メモリと、
前記メモリカードの動作情報に基づき前記アクセスにおける推奨アドレスを決定し、該推奨アドレスを前記ホスト機器に出力するアクセス制御部
とを備え、前記半導体メモリは前記推奨アドレスが割り振られたデータの読み出し処理又は書き込み処理を行うことを特徴とするメモリカード。
【請求項２】
前記アクセス制御部は、前記半導体メモリの書き込み処理の良否を確認するステータスリードの直後に、前記推奨アドレスを前記ホスト機器に出力することを特徴とする請求項１に記載のメモリカード。  
【請求項３】
前記アクセス制御部は、前記半導体メモリのデータ格納状態に基づき決定される前記半導体メモリに追記可能なアドレスを前記推奨アドレスとして決定することを特徴とする請求項１又は２に記載のメモリカード。
【請求項４】
ホスト機器との間でデータ転送が可能なメモリカードの制御方法であって、
前記メモリカードに搭載された半導体メモリにアクセスする際に、前記メモリカードの動作情報に基づき決定された前記アクセスにおける推奨アドレスを前記メモリカードから読み出すステップと、
前記読み出された推奨アドレスに基づいて、前記半導体メモリに対して前記推奨アドレスが割り振られたデータの読み出し処理又は書き込み処理を行うステップ
とを含むことを特徴とするメモリカードの制御方法。
【請求項５】
前記半導体メモリの書き込み処理の良否を確認するステータスリードの直後に、前記推奨アドレスを読み出すステップを行うことを特徴とする請求項４に記載のメモリカードの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト機器との間でデータ転送を行うメモリカード及びメモリカードの制御方法に関する。
【背景技術】
【０００２】
ホスト機器に接続されたメモリカードに搭載される半導体メモリとして、例えばＮＡＮＤ型フラッシュメモリのように、ある程度の数のデータをまとめて読み出し処理及び書き込み処理を行う半導体メモリが採用される場合がある（例えば、特許文献１参照。）。上記半導体メモリでは、ホスト機器がアクセスする半導体メモリのアドレスにより、アクセスに対する半導体メモリの処理時間が変動する場合がある。ここで、アクセスに対する「処理時間」とは、書き込み処理或いは読み出し処理に要する時間である。
【０００３】
例えば、ＮＡＮＤ型フラッシュメモリは、ブロック単位でしかデータ消去を行えない。１つのブロックは、複数の、書き込み単位であるページを含んでいる。このため、ブロックに記憶されたデータの一部のみを書き換える場合は、書き換える新データを新ブロックに書き込む。更に、旧データ（新データに書き換えられるデータ）を含む旧ブロックから、書き換えられないデータを新ブロックにコピーする。書き換えられないデータのコピー動作が多発すると、データの書き換えにおけるオーバーヘッドが非常に増大することになる。つまり、アクセスがあった場合の半導体メモリの処理速度（アクセス速度）が低下する。
【０００４】
一方、ブロックに記憶されたデータをすべて書き換える場合は、書き換えられないデータを旧ブロックから新ブロックにコピーする必要がなく、ブロックに記憶されたデータの一部のみを書き換える場合に比べてアクセス速度が速い。
【０００５】
以上に述べたように、アクセスされるアドレスによりアクセス速度が異なり、そのアクセスに対するメモリの処理時間が変動する場合がある。その結果、ホスト機器がアクセスするアドレスに起因してメモリカードの性能が低下するという問題があった。
【特許文献１】特開平７−１２２０８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は、ホスト機器がアクセスするアドレスによるアクセス速度の低下を抑制可能なメモリカード及びメモリカードの制御方法を提供する。
【課題を解決するための手段】
【０００７】
本発明の第１の特徴は、ホスト機器との間でデータ転送が可能なメモリカードであって、（イ）ホスト機器からアクセスされる半導体メモリと、（ロ）メモリカードの動作情報に基づきアクセスにおける推奨アドレスを決定し、その推奨アドレスをホスト機器に出力するアクセス制御部とを備え、半導体メモリは推奨アドレスが割り振られたデータの読み出し処理又は書き込み処理を行うメモリカードであることを要旨とする。
【０００８】
本発明の第２の特徴は、ホスト機器との間でデータ転送が可能なメモリカードの制御方法であって、（イ）メモリカードに搭載された半導体メモリにアクセスする際に、メモリカードの動作情報に基づき決定されたアクセスにおける推奨アドレスをメモリカードから読み出すステップと、（ロ）読み出された推奨アドレスに基づいて、半導体メモリに対して推奨アドレスが割り振られたデータの読み出し処理又は書き込み処理を行うステップとを含むメモリカードの制御方法であることを要旨とする。
【発明の効果】
【０００９】
本発明によれば、ホスト機器がアクセスするアドレスによるアクセス速度の低下を抑制可能なメモリカード及びメモリカードの制御方法を提供できる。
【発明を実施するための最良の形態】
【００１０】
次に、図面を参照して、本発明の第１及び第２の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。又、以下に示す第１及び第２の実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【００１１】
（第１の実施の形態）
本発明の第１の実施の形態に係るメモリカードは、図１に示すように、ホスト機器２０との間でデータ転送が可能なメモリカード１０であって、ホスト機器２０からアクセスされる半導体メモリ１１と、メモリカード１０の動作情報に基づきアクセスにおける推奨アドレスを決定し、その推奨アドレスをホスト機器２０に出力するアクセス制御部１２とを備え、半導体メモリ１１は推奨アドレスが割り振られたデータの読み出し処理又は書き込み処理を行う。「推奨アドレス」とは、例えば、ある書き込み処理が完了した時点における、次の書き込み処理に要する時間が最も短いアドレスである。又、「動作情報」とは、例えばデータ格納状態或いは半導体メモリ１１の機能等の、半導体メモリ１１のアクセスに対する処理時間に影響を与える情報である。
【００１２】
アクセス制御部１２は、アドレス決定部１２１、及びアドレス出力部１２２を備える。アドレス決定部１２１は、半導体メモリ１１の状態を監視し、ホスト機器２０からのアクセスにおける推奨アドレスを決定する。アドレス出力部１２２は、推奨アドレスをホスト機器２０に出力する。更に、メモリカード１０は、複数の推奨アドレスを格納する推奨アドレス格納部１３を備える。
【００１３】
複数のデータからなるブロック（以下において、「小ブロック」という。）にそれぞれ論理ブロックアドレス（ＬＢＡ）が割り当てられ、メモリカード１０は、ＬＢＡ順にブロック単位で半導体メモリ１１の書き込み処理又は読み出し処理を行う。半導体メモリ１１の書き込み処理において、半導体メモリ１１に設定された格納用のブロック（以下において、「大ブロック」という。）に小ブロックは格納される。そして、ＬＢＡ順に大ブロックに小ブロックが格納される仕様の場合には、半導体メモリ１１にＬＢＡが不連続な書き込みがあったとき、大ブロックに格納済みの小ブロックを移動させながら、小ブロックをＬＢＡ順に大ブロックに格納する。小ブロック及び大ブロックの例を、図２に示す。図２に示す小ブロックは、１ページを５２８バイトとした４×８ページ分のデータである。このとき、図２に示すように、２１１２バイト×１２８ページからなる大ブロックは、２１１２バイト（４ページ）×８ページの小ブロックを１６個格納できる。
【００１４】
大ブロックにＬＢＡ順に小ブロックが格納されるように小ブロックを移動することを、以下において「再格納」という。再格納を行った場合、書き込み処理に要する時間が増大する。つまり、アクセスがあった場合のメモリの処理速度（アクセス速度）が低下する。
【００１５】
一方、ＬＢＡが連続する書き込みの場合は、大ブロックに格納された小ブロックの再格納を行う必要がなく、大ブロックの空き領域に小ブロックを追記すればよい。したがって、ＬＢＡが連続する書き込みの場合は、ＬＢＡが不連続な書き込みの場合に比べてアクセス速度が早い。ここで、「追記」とは、小ブロックの再格納をすることなく、大ブロックに小ブロックを書き込む処理をいう。
【００１６】
尚、半導体メモリ１１の消去単位のブロックサイズ（以下において「消去ブロックサイズ」という。）は大ブロックである。半導体メモリ１１に、例えばＮＡＮＤ型フラッシュメモリ等が採用可能である。
【００１７】
図１に示した半導体メモリ１１の書き込み処理の例を、図３〜図６を用いて説明する。図３〜図６において、例えば小ブロックＬＢＡ００ｈはＬＢＡ「００ｈ」が割り当てられた小ブロックを示す。
【００１８】
図３に示すように、大ブロックＢ１に小ブロックＬＢＡ００ｈ〜ＬＢＡ０Ｆｈが格納されている。又、大ブロックＢ２に小ブロックＬＢＡ１０ｈ〜ＬＢＡ１Ｆｈが格納されている。ハッチングされた小ブロックＬＢＡ０７ｈ、ＬＢＡ０８ｈ、ＬＢＡ１４ｈ〜ＬＢＡ１８ｈは、これらの小ブロックと同一のＬＢＡが割り当てられた小ブロックが、半導体メモリ１１に新たに書き込まれたことを示す。即ち、大ブロックＢ３に小ブロックＬＢＡ０７ｈ〜ＬＢＡ０８ｈが新たに格納され、大ブロックＢ４に小ブロックＬＢＡ１４ｈ〜ＬＢＡ１８ｈが新たに格納されている。大ブロックＢ１に格納された小ブロックＬＢＡ０７ｈ〜ＬＢＡ０８ｈ、及び大ブロックＢ２に格納された小ブロックＬＢＡ１４ｈ〜ＬＢＡ１８ｈは使用されないため消去可能である。しかし、半導体メモリ１１は大ブロック単位にデータ消去を行うため、大ブロックＢ１に格納された小ブロックＬＢＡ０７ｈ〜ＬＢＡ０８ｈ、及び大ブロックＢ２に格納された小ブロックＬＢＡ１４ｈ〜ＬＢＡ１８ｈは消去されずに半導体メモリ１１に格納されている。以下において、大ブロックＢ１、Ｂ２等の、新たに書き込まれる小ブロックを格納できない大ブロックを「旧アサインブロック」という。一方、大ブロックＢ３、Ｂ４等の、新たに書き込まれる小ブロックを格納可能な大ブロックを「新アサインブロック」という。
【００１９】
図４は、図３に示した状態の半導体メモリ１１に小ブロックＬＢＡ０９ｈが新たに書き込まれた状態を示す。大ブロック内にＬＢＡ順に小ブロックが格納されるため、新たに書き込まれた小ブロックＬＢＡ０９ｈは、大ブロックＢ３に格納された小ブロックＬＢＡ０８ｈの次に格納される。
【００２０】
図５は、図３に示した状態の半導体メモリ１１に小ブロックＬＢＡ１９ｈが新たに書き込まれた状態を示す。新たに書き込まれた小ブロックＬＢＡ１９ｈは、大ブロックＢ４に格納された小ブロックＬＢＡ１８ｈの次に格納される。
【００２１】
図６は、図３に示した状態の半導体メモリ１１の大ブロックＢ５に小ブロックＬＢＡ０Ａｈが新たに書き込まれた状態を示す。小ブロックＬＢＡ０Ａｈは、大ブロックＢ３に格納された小ブロックＬＢＡ０８ｈ、及び大ブロックＢ４に格納された小ブロックＬＢＡ１８ｈのいずれにも連続しない。そのため、図６に示すように、新アサインブロックとして大ブロックＢ５が設定され、新たに書き込まれた小ブロックＬＢＡ０Ａｈは大ブロックＢ５の先頭に格納される。
【００２２】
ところで、新たな大ブロックを無制限に設定すると、半導体メモリ１１におけるメモリ領域の無駄が多くなる。そのため、一般に、大ブロックが無制限に設定されないような制約が設けられる。例えば新アサインブロックの数は旧アサインブロックの数以下にするという制約が設定される。その場合、図６に示すように再格納が行われる。具体的には、大ブロックＢ１に格納された小ブロックＬＢＡ０９ｈが大ブロックＢ３に格納された小ブロックＬＢＡ０８ｈの次に格納される。次に、大ブロックＢ１に格納された小ブロックＬＢＡ０Ｂｈ〜ＬＢＡ０Ｆｈが大ブロックＢ３に格納される。そして、大ブロックＢ１に格納された小ブロックＬＢＡ００ｈ〜ＬＢＡ０６ｈが大ブロックＢ３に格納される。新たな小ブロックＬＢＡ０Ａｈが大ブロックＢ５に格納されたため、大ブロックＢ１に格納された小ブロックＬＢＡ０Ａｈは再格納されない。その後、大ブロックＢ１は消去される。その結果、新アサインブロックの数と旧アサインブロックの数は同数になる。上記の小ブロックの再格納を行うことにより、半導体メモリ１１におけるメモリ領域の無駄を削減することができる。
【００２３】
ＬＢＡが連続しない小ブロックの書き込みの場合は、上記に説明した小ブロックの再格納が行われるため、ＬＢＡが連続する小ブロックの書き込みの場合に比べて書き込み処理に要する時間が増大する。つまり、半導体メモリ１１における書き込み処理に要する時間は、半導体メモリ１１のデータ格納状態及び書き込まれた小ブロックのＬＢＡによって変動する。
【００２４】
図１に示したホスト機器２０は、例えばパーソナルコンピュータやデジタルカメラ等であり、メモリカード１０に接続可能である。
【００２５】
既に述べたように、半導体メモリ１１の消去ブロックサイズは大ブロックであるが、ホスト機器２０は、半導体メモリ１１の消去ブロックサイズが小ブロックであると想定して、メモリカード１０にアクセスする。例えば、小ブロックのサイズが１６ｋバイトの場合、ホスト機器２０は、１６ｋバイト単位で論理アドレス及び物理アドレスの割り当てを行う。論理ブロックアドレス（ＬＢＡ）は、小ブロックのサイズ単位で割り当てられた論理アドレスであり、物理ブロックアドレスは、小ブロックのサイズ単位で割り当てられた物理アドレスである。
【００２６】
ホスト機器２０が、例えば小ブロックの物理ブロックアドレスによるランダムな書き込みコマンドをメモリカード１０に出力すると、メモリカード１０は、物理ブロックアドレスやデータのほか、データに付随する小ブロックの論理ブロックアドレスを取得する。そして、メモリカード１０は、既に説明したように、小ブロックの論理ブロックアドレスが連続するように、小ブロックを大ブロックに格納する。その結果、大ブロックに格納されたデータの一部のみを書き換える処理が少なくなる。
【００２７】
ホスト機器２０は、カード制御装置２１、入力装置２２及び出力装置２３を備える。又、カード制御装置２１は、バッファ部２１１、入力制御部２１２及び出力制御部２１３を備える。入力制御部２１２に制御されて、デジタルカメラ等に搭載された電荷結合素子（ＣＣＤ）やマイク等の入力装置２２から転送されたデータが、バッファ部２１１に格納される。又、出力装置２３を介して、バッファ部２１１から読み出されたデータが図示を省略するコンピュータ等に転送される。
【００２８】
バッファ部２１１は、小ブロック単位でデータを格納する。バッファ部２１１に格納された複数の小ブロックに、半導体メモリ１１にアクセスするためのＬＢＡがそれぞれ割り当てられる。
【００２９】
出力制御部２１３によって、バッファ部２１１とメモリカード１０間のデータ転送が制御される。具体的には、出力制御部２１３は、アドレス出力部１２２から入力された推奨アドレスに基づき、バッファ部２１１に格納された複数の小ブロックのうち推奨アドレスが割り当てられた小ブロックを、半導体メモリ１１にアクセスする小ブロックに決定する。そして、出力制御部２１３は、決定した小ブロックをバッファ部２１１から読み出し、メモリカード１０に転送する。又、出力制御部２１３は、メモリカード１０から読み出された小ブロックをバッファ部２１１に格納する。
【００３０】
図１に示したメモリカード１０及びホスト機器２０からなるメモリカードシステムの動作例を、図７に示すタイミングチャートを用いて説明する。図７に示したタイミングチャートは、メモリカード１０がＮＡＮＤ型フラッシュメモリと同一のインタフェースを有している場合のタイミングチャートの例である。したがって、図７のタイミングチャートに示された信号は、図８に示されるＮＡＮＤ型フラッシュメモリの制御信号等である。図８に示した信号「ＤＡＴＡ」は、メモリカード１０とホスト機器２０間で転送されるコマンド、アドレス及びデータを示す。信号「ＣＬＥ」、「−ＷＥ」、「ＡＬＥ」及び「−ＲＥ」の組み合わせで、コマンド、アドレス及びデータが区別される。信号「−ＣＥ」は、メモリカード１０へのアクセスを明示する。又、信号「Ｒ／−Ｂ」は、メモリカード１０の内部状態を示す。信号「−ＷＰ」はメモリカード１０への書き込みを禁止する。尚、信号名の最初に符号「−」が付されている信号は、ローレベルの場合に有効になる。信号名の最初に符号「−」が付されていない信号は、ハイレベルの場合に有効になる。
【００３１】
図７に示したタイミングチャートの時刻ｔ０に、信号「ＤＡＴＡ」としてデータ入力コマンド「８０ｈ」がメモリカード１０に入力される。次いで１ページ分のデータがバッファ部２１１からメモリカード１０に転送される。転送されたデータがメモリカード１０内部に格納された後、時刻ｔ１において、信号「ＤＡＴＡ」として書き込みコマンド「１０ｈ」がメモリカード１０に入力される。そして、メモリカード１０内部に格納されたデータが半導体メモリ１１の大ブロックに書き込まれる。アクセス制御部１２は、半導体メモリ１１のデータ格納状態を監視し、推奨アドレスを推奨アドレス格納部１３に格納する。例えば、時刻ｔ２おける半導体メモリ１１のデータ格納状態が図３に示す状態であったとする。その場合、アクセス制御部１２は、追記可能なＬＢＡ「０９ｈ」及びＬＢＡ「１９ｈ」を推奨アドレスとする。
【００３２】
時刻ｔ２において、信号「ＤＡＴＡ」としてステータスリードコマンド「７０ｈ」がメモリカード１０に入力され、ステータスリードが行われる。「ステータスリード」は、メモリカード１０での書き込み処理の良否を確認するために行われる。ステータスリードコマンドが入力されたメモリカード１０は、時刻ｔ３において、読み込み処理が正常に行われたか否かを示すステータス信号ＳＴを出力する。
【００３３】
その後、時刻ｔ４以降に、信号「ＤＡＴＡ」として推奨アドレスがメモリカード１０からホスト機器２０に出力される。推奨アドレス格納部１３にＬＢＡ「０９ｈ」及びＬＢＡ「１９ｈ」が格納されている場合、アドレス出力部１２２は、例えば、時刻ｔ４にＬＢＡ「０９ｈ」を、時刻ｔ５にＬＢＡ「１９ｈ」を出力制御部２１３に出力する。
【００３４】
出力制御部２１３は、メモリカード１０に転送する小ブロックのＬＢＡをＬＢＡ「０９ｈ」或いはＬＢＡ「１９ｈ」に決定する。そして、出力制御部２１３は、バッファ部２１１に格納された小ブロックから、ＬＢＡ「０９ｈ」或いはＬＢＡ「１９ｈ」が割り振られた小ブロックをメモリカード１０に転送する。そして、半導体メモリ１１は推奨アドレスが割り振られた小ブロックＬＢＡ０９ｈ或いはＬＢＡ１９ｈの書き込み処理を行う。その結果、半導体メモリ１１での再格納が行われず、再格納による書き込み処理時間の増大を抑制することができる。ただし、バッファ部２１１に推奨アドレスを割り振られた小ブロックが無い場合には、次の書き込み処理において再格納が必要になるときがある。
【００３５】
ステータス信号ＳＴが出力された時刻ｔ３では、図１に示した半導体メモリ１１はデータを出力する状態に設定されており、ホスト機器２０はメモリカード１０から転送されるデータを受け取る状態である。したがって、時刻ｔ３の直後においては、半導体メモリ１１及びホスト機器２０の状態を変更せずに、メモリカード１０からホスト機器２０に推奨アドレスを出力できる。つまり、ステータスリードの直後にメモリカード１０からホスト機器２０に推奨アドレスを出力することにより、全体の処理時間の増大を抑制できる。
【００３６】
以上の説明においては、推奨アドレスが半導体メモリ１１の大ブロックに追記可能なＬＢＡである例を示した。つまり、半導体メモリ１１のデータ格納状態に基づき決定される、半導体メモリ１１に追記可能なＬＢＡを半導体メモリ１１の動作情報として、アクセス制御部１２が推奨アドレスを決定する例を示した。他に、半導体メモリ１１に書き込みを行った後に続けて半導体メモリ１１に書き込む場合に、書き込み速度の低下を抑制する半導体メモリ１１の物理アドレス（ＰＢＡ）を推奨アドレスにすることができる。又、信頼性の高い書き込み処理を行えるＰＢＡを推奨アドレスにすることができる。ここで、「ＰＢＡ」は、メモリや入出力ポート等に実際に割り振られたアドレスである。以下に、推奨アドレスとして採用可能なＰＢＡの例を示す。
【００３７】
図９は、半導体メモリ１１が複数のＮＡＮＤ型フラッシュメモリチップによって構成された例を示す。以下において、メモリチップに含まれる１つのページバッファ及びそのページバッファを共有するメモリセルを「ディストリクト」という。即ち、図９は、半導体メモリ１１がディストリクトＤ１及びディストリクトＤ２によって構成された例を示す。ディストリクトＤ１は、メモリセル部Ｄ１１及びページバッファＤ１２を備える。ページバッファＤ１２に１ページ分のデータが格納される。そして、書き込み処理時には、ページバッファＤ１２からデータが一括してメモリセル部Ｄ１１に転送される。一方、読み出し処理時には、メモリセル部Ｄ１１の１ページ分のデータがページバッファＤ１２に一括して格納される。ディストリクトＤ１と同様に、ディストリクトＤ２はメモリセル部Ｄ２１及びページバッファＤ２２を備える。メモリセル部Ｄ１１及びＤ２１のハッチングされたページＰ１及びＰ２は、データの読み出し或いは書き込みが行われたページを示す。
【００３８】
ディストリクトＤ１及びディストリクトＤ２によって半導体メモリ１１が構成されていることを半導体メモリ１１の動作情報として、アクセス制御部１２は推奨アドレスを決定する。つまり、互いに異なるディストリクトＤ１のＰＢＡとディストリクトＤ２のＰＢＡを推奨アドレスとしてメモリカード１０から出力制御部２１３に出力することにより、ディストリクトＤ１及びディストリクトＤ２に同時にアクセス可能となる。その結果、半導体メモリ１１へのアクセス速度を向上することができる。
【００３９】
次に、推奨アドレスとして採用可能なＰＢＡの他の例を示す。図１０（ａ）〜図１０（ｄ）は、半導体メモリ１１を構成するディストリクトＤ３が、メモリセル部Ｄ３１、ページバッファＤ３２及びデータキャッシュＤ３３を備える例を示す。ディストリクトＤ３は、ページバッファＤ３２及びデータキャッシュＤ３３の２つの一時記憶領域を有するため、以下に説明するページコピー動作が可能である。即ち、ディストリクトＤ３は、データキャッシュＤ３３に格納されたデータをホスト機器２０に読み出す処理と、ページバッファＤ３２に格納されたデータをメモリセル部Ｄ３１に書き込む処理を同時に行うことができる。或いは、ホスト機器２０からデータキャッシュＤ３３にデータを書き込む処理と、ページバッファＤ３２に格納されたデータをメモリセル部Ｄ３１に書き込む処理を、ディストリクトＤ３は同時に行うことができる。そのため、ディストリクトＤ３によれば、ページコピー動作を高速に行うことが可能である。
【００４０】
例えば、図１０（ａ）に示すように、ページバッファＤ３２に格納されたデータＤ（Ｍ）をページＭに書き込みながら、ページＭ＋Ｒに書き込むデータＤ（Ｍ＋Ｒ）がデータキャッシュＤ３３に格納される。次いで、図１０（ｂ）に示すように、データキャッシュＤ３３に格納されたデータＤ（Ｍ＋Ｒ）がページバッファＤ３２に移動される。そして、図１０（ｃ）に示すように、ページＮに格納されていたデータＤ（Ｎ）がデータキャッシュＤ３３に格納される。その後、図１０（Ｄ）に示すように、ページバッファＤ３２に格納されたデータＤ（Ｍ＋Ｒ）をページＭ＋Ｒに書き込みながら、データキャッシュＤ３３に格納されたデータＤ（Ｎ）がディストリクトＤ３から読み出される。そのため、ディストリクトＤ３に対するアクセス速度を向上することができる。
【００４１】
一般に、図１０（ａ）〜図１０（ｄ）に示したデータキャッシュＤ３３を利用してディストリクトＤ３にアクセス可能なアドレスは、半導体メモリ１１に採用されるディストリクトの種類によって異なる。そのため、データキャッシュＤ３３を有することを半導体メモリ１１の動作情報として、アクセス制御部１２は推奨アドレスを決定する。つまり、データキャッシュＤ３３を利用してアクセス可能なアドレスを推奨アドレスとしてメモリカード１０から出力制御部２１３に出力することにより、メモリカード１０に対するアクセス速度を向上することができる。
【００４２】
次に、図１に示した半導体メモリ１１に多値ＮＡＮＤ型フラッシュメモリを採用した場合に、推奨アドレスを使用することによって高速且つ信頼性の高い書き込み処理を行う例を示す。多値ＮＡＮＤ型フラッシュメモリは、複数のページで同一のメモリセル部を共有する。図１に示した半導体メモリ１１に多値ＮＡＮＤ型フラッシュメモリを採用した場合に、同一のメモリセルを共有している複数のページのうち、１つのページのみを書き込み処理に使用することによって、アクセス速度及び書き込まれたデータの信頼性を向上することができる。
【００４３】
例えば、図１１に示すように、ページ０〜１２７を有するメモリセル部が、ロワーページＡとアッパーページＢによって共有されている場合を考える。ここで、ロワーページＡのみに書き込みを行うために、例えばページ３にデータが書き込まれた直後に、推奨アドレスとしてページ６のアドレスをメモリカード１０から出力制御部２１３に出力する。図１１に示すように、ページ３及びページ６はロワーページＡ上の連続したページである。したがって、ロワーページＡのみに書き込みが行われる。一方、アッパーページＢのみに書き込みを行うために、例えばページ９にデータが書き込まれた直後に、推奨アドレスとしてページ１２のアドレスをメモリカード１０から出力制御部２１３に出力する。
【００４４】
以上に説明したように、メモリセル部がロワーページＡとアッパーページＢによって共有されていることを半導体メモリ１１の動作情報として、アクセス制御部１２はロワーページＡ或いはアッパーページＢに割り振られたページのみを推奨アドレスに決定する。そして、ロワーページＡとアッパーページＢのうちの一方のページのみに書き込むことにより、高速且つ信頼性の高い書き込み処理が行われる。
【００４５】
本発明の第１の実施の形態に係るメモリカード１０は、アクセス時において最も処理時間が短いアドレス又は信頼性の高いアクセスが可能な半導体メモリ１１のアドレスを推奨アドレスとしてホスト機器２０に出力する。そして、ホスト機器２０が推奨アドレスを参照して半導体メモリ１１にアクセスするデータを決定する。その結果、ホスト機器２０によるメモリカード１０へのアクセスの高速化及び高信頼性化を実現することができる。つまり、本発明の第１の実施の形態に係るメモリカード１０によれば、メモリカードシステム全体の性能を向上することができる。又、上記では半導体メモリ１１の書き込み処理の場合について説明したが、読み出し処理の場合も同様にメモリカード１０からホスト機器２０に推奨アドレスを出力することにより、メモリカードシステム全体の性能を向上できる。
【００４６】
（第２の実施の形態）
本発明の第２の実施の形態に係わるメモリカード１００は、図１２に示すように、半導体メモリ１１０及びメモリコントローラ１２０を備える。メモリカード１００は、ホスト機器２０と接続可能である。図１２に示したホスト機器２０は、図１で説明したホスト機器２０と同様の構成である。
【００４７】
半導体メモリ１１０は、第１の実施の形態で説明した半導体メモリ１１と同様に、アクセスされるアドレスによって、そのアクセスに対する処理時間が変動する。半導体メモリ１１０は、メモリコア１１１、アクセス制御回路１１２及び推奨アドレス格納回路１１３を備える。メモリコア１１１は、例えば図９や図１０（ａ）〜図１０（ｄ）に示したディストリクトＤ１〜Ｄ３等によって構成される。アクセス制御回路１１２は、メモリコア１１１の動作情報に基づき推奨アドレスを決定する。アクセス制御回路１１２は、アドレス決定回路１１２１及びアドレス出力回路部１１２２を備える。アドレス決定回路１１２１は、メモリコア１１１の状態を監視し、ホスト機器２０のアクセスにおける推奨アドレスを決定する。アドレス出力回路部１１２２は、推奨アドレスをメモリコントローラ１２０に出力する。推奨アドレス格納回路１１３は、アクセス制御回路１１２が決定した推奨アドレスを格納する。
【００４８】
メモリコントローラ１２０は、バッファ回路１２０１、入力制御回路１２０２及び出力制御回路１２０３を備える。バッファ回路１２０１は、ホスト機器２０からメモリカード１００に転送されたデータ、及び半導体メモリ１１０から読み出されたデータを格納する。入力制御回路１２０２によって、ホスト機器２０とバッファ回路１２０１間のデータ転送が制御される。出力制御回路１２０３によって、半導体メモリ１１０とバッファ回路１２０１間のデータ転送が制御される。更に、出力制御回路１２０３は、アクセス制御回路１１２から転送された推奨アドレスに基づき、バッファ回路１２０１に格納されたデータから半導体メモリ１１０にアクセスするデータを決定する。
【００４９】
以上に説明したように、図１２に示した半導体メモリ１１０は、第１の実施の形態におけるメモリカード１０と同様に、推奨アドレスを決定して出力する機能を有する。そして、図１２に示したメモリコントローラ１２０は、ホスト機器２０と同様に、推奨アドレスに基づき半導体メモリ１１０に書き込むデータのアドレスを決定する機能を有する。即ち、図１２に示した半導体メモリ１１０は、推奨アドレス決定時において最も高速或いは信頼性の高いアクセスが可能なアドレスを推奨アドレスとしてメモリコントローラ１２０に出力する。そしてメモリカード１００は、推奨アドレスを参照して、ホスト機器２０から転送されてバッファ回路１２０１に格納されたデータのうちから、半導体メモリ１１０に書き込むデータを決定する。その結果、ホスト機器２０によるメモリカード１００へのアクセスの高速化及び高信頼性を実現することができる。
【００５０】
又、図１２に示したメモリカード１００によれば、ホスト機器２０が図１２に示したカード制御装置２１を有さない場合でも、推奨アドレスを利用したアクセスが可能である。他は、第１の実施の形態と実質的に同様であり、重複した記載を省略する。
【００５１】
上記のように、本発明は第１及び第２の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。つまり、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００５２】
【図１】本発明の第１の実施の形態に係るメモリカードの構成を示す模式図である。
【図２】本発明の第１の実施の形態に係る半導体メモリの構造の例を示す模式図である。
【図３】本発明の第１の実施の形態に係る半導体メモリのデータ格納方法を説明するための模式図である（その１）。
【図４】本発明の第１の実施の形態に係るメモリのデータ格納方法を説明するための模式図である（その２）。
【図５】本発明の第１の実施の形態に係る半導体メモリのデータ格納方法を説明するための模式図である（その３）。
【図６】本発明の第１の実施の形態に係る半導体メモリのデータ格納方法を説明するための模式図である（その４）。
【図７】本発明の第１の実施の形態に係るメモリカードの動作例を説明するためのタイミングチャートである。
【図８】本発明の第１の実施の形態に係る半導体メモリの信号を説明するための表である。
【図９】本発明の第１の実施の形態に係る半導体メモリの構造の他の例を示す模式図である。
【図１０】本発明の第１の実施の形態に係るメモリカードによるページコピー動作を説明するための半導体メモリの状態を示す模式図であり、図１０（ａ）は書き込み処理時の半導体メモリの状態を示し、図１０（ｂ）はページバッファへのデータ転送時の半導体メモリの状態を示し、図１０（ｃ）はデータキャッシャへのデータ転送時の半導体メモリの状態を示し、図１０（ｄ）は読み出し処理時の半導体メモリの状態を示す。
【図１１】本発明の第１の実施の形態に係る半導体メモリの構造の更に他の例を示す模式図である。
【図１２】本発明の第２の実施の形態に係るメモリカードの構成を示す模式図である。
【符号の説明】
【００５３】
１０、１００…メモリカード
１１、１１０…半導体メモリ
１２…アクセス制御部
１３…推奨アドレス格納部
２０…ホスト機器
２１…カード制御装置
１２０…メモリコントローラ
１２１…アドレス決定部
１２２…アドレス出力部
２１１…バッファ部
２１２…入力制御部
２１３…出力制御部
１１２１…アドレス決定回路
１１２２…アドレス出力回路部
１２０１…バッファ回路
１２０２…入力制御回路
１２０３…出力制御回路
【図１】
2007249662.tif 000003
【図２】
2007249662.tif 000004
【図３】
2007249662.tif 000005
【図４】
2007249662.tif 000006
【図５】
2007249662.tif 000007
【図６】
2007249662.tif 000008
【図７】
2007249662.tif 000009
【図８】
2007249662.tif 000010
【図９】
2007249662.tif 000011
【図１０】
2007249662.tif 000012
【図１１】
2007249662.tif 000013
【図１２】
2007249662.tif 000014