(57)【要約】【課題】不揮発性メモリのブロックの有効利用と高速アクセス。【解決手段】複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられている。これに対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第１の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第２の組み合わせ処理とを行う。そして、第１，第２の組み合わせ処理で設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行う。【選択図】図５
2012216122.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられた記憶装置に対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第１の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第２の組み合わせ処理とを行うブロック組み合わせ処理部と、
上記記憶装置に対し、上記ブロック組み合わせ処理部により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行うアクセス制御部と、
を備えた制御装置。
【請求項２】
上記ブロック組み合わせ処理部は、上記第１の組み合わせ処理によって論理ブロックを形成するとともに、この第１の組み合わせ処理で組み合わせ不能な物理ブロックについて、上記第２の組み合わせ処理で他の不揮発性メモリの物理ブロックと組み合わせて論理ブロックを形成する請求項１に記載の制御装置。
【請求項３】
上記不揮発性メモリ内は、複数のエリアに分割され、それぞれのエリアから選択された複数の物理ブロックで同時アクセス対象となる論理ブロックを形成することが可能とされており、
上記ブロック組み合わせ処理部は、上記第１の組み合わせ処理として、一の不揮発性メモリ内の上記各エリアから選択した物理ブロックを組み合わせて論理ブロックを形成するとともに、この第１の組み合わせ処理で組み合わせ不能な物理ブロックについて、上記第２の組み合わせ処理で他の不揮発性メモリの物理ブロックと組み合わせて論理ブロックを形成する請求項１に記載の制御装置。
【請求項４】
上記第１，第２の組み合わせ処理では、不良ブロックを除外して物理ブロックの組み合わせを行って論理ブロックを形成する請求項１に記載の制御装置。
【請求項５】
それぞれが複数の物理ブロックへの同時アクセス可能な不揮発性メモリであって、同時アクセス可能な複数の不揮発性メモリと、
一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第１の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第２の組み合わせ処理とを行うブロック組み合わせ処理部と、
上記不揮発性メモリに対し、上記ブロック組み合わせ処理部により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行うアクセス制御部と、
を備えた記憶装置。
【請求項６】
複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられた記憶装置に対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第１の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第２の組み合わせ処理とを行い、
上記記憶装置に対し、上記第１，第２の組み合わせ処理で設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行うアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御装置、記憶装置、アクセス制御方法に関し、特に複数の物理ブロックへの同時アクセス可能な不揮発性メモリが、同時アクセス可能に複数個設けられた記憶装置及びその制御技術に関する。
【先行技術文献】
【特許文献】
【０００２】
【特許文献１】特開２００９−７００９８号公報
【特許文献２】特開２００７−３３４８５２号公報
【特許文献３】特開２００７−１９３８３８号公報
【特許文献４】特開２００７−５８８４０号公報
【背景技術】
【０００３】
例えばＮＡＮＤ型フラッシュメモリなどの不揮発性メモリを用いた記憶装置が普及している。不揮発性メモリは、例えば各種電子機器、情報処理装置などで使用されるメモリカード、ＳＳＤ（Solid State Drive）、ｅＭＭＣ（Embedded MultiMedia Card）などで利用されている。
上記特許文献１〜４にはフラッシュメモリを用いた記憶装置が開示されている。
【０００４】
不揮発性メモリでは、物理的な記憶領域のアドレスとして物理アドレスが使用される。これにより物理ブロック、物理ページ、物理セクタが設定されている。複数の物理セクタで物理ページが構成され、また複数の物理ページで物理ブロックが構成される。
消去（イレーズ）は物理ブロック単位で行われ、書込（プログラム）及び読出（リード）は物理ページ単位で可能とされる。
ホスト側やメモリ制御部側からのアドレス指定は、論理アドレスが用いられる。論理アドレスによる論理ブロック、論理ページ、論理セクタが、上記の物理アドレスに対応づけられる。これによりアクセス要求時には論理アドレスが物理アドレスに変換されて、実際のフラッシュメモリへのアクセスが実行される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＮＡＮＤ型フラッシュメモリの中には、高速アクセスのために同一チップ内で複数の物理ブロックに同時にアクセスできるようになっているものがある。
これらのＮＡＮＤフラッシュメモリでは同時アクセスする物理ブロックの選択には制限があることが多く、一般的にはチップの中が複数のエリアに分割されており、それぞれのエリアから１物理ブロックずつ選択し組み合わせるようになっている。
各エリアから１つづつ選択して組み合わせた物理ブロックの組の単位が論理ブロックとされる。従って論理ブロックとは、同時にアクセスされる物理ブロックの組の単位となる。
なお、エリアごとに自由に物理ブロックを選択することができず、物理ブロックの組み合わせが一意に決まっているＮＡＮＤフラッシュメモリも多い。
【０００６】
一方でＮＡＮＤフラッシュメモリでは、データの書き込みができなかったり、または正しいデータが読みだせない不良ブロックが発生することが許容されているのが一般的である。したがって、ＮＡＮＤフラッシュメモリを使うシステムでは不良ブロックの情報を管理し、不良ブロックとなった物理ブロックを使わないように管理する必要がある。
【０００７】
上記のエリアごとに発生する不良ブロック数はほとんどの場合同一ではない。すると、不良ブロックを除いた、各エリアの物理ブロック数が同一でなくなり、不良ブロックが少ないエリアにおける物理ブロックの中には、他のエリアのブロックと組み合わせることができないものが発生する。
【０００８】
組み合わせができない物理ブロックについては、高速アクセスをせずにパフォーマンスが低下するのを許容しているか、或いは使用できなくするかのいずれかとなる。つまり正常な物理ブロックであるにもかかわらず有効利用ができない事態が生ずる。
本開示では、このような組み合わせができない物理ブロックを最小限とし、高速アクセスを最大限可能としたり、無駄な領域が生じてしまわないようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本開示の制御装置は、複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられた記憶装置に対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第１の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第２の組み合わせ処理とを行うブロック組み合わせ処理部と、上記記憶装置に対し、上記ブロック組み合わせ処理部により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行うアクセス制御部とを備える。
【００１０】
本開示の記憶装置は、それぞれが複数の物理ブロックへの同時アクセス可能な不揮発性メモリであって、同時アクセス可能な複数の不揮発性メモリと、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第１の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第２の組み合わせ処理とを行うブロック組み合わせ処理部と、上記不揮発性メモリに対し、上記ブロック組み合わせ処理部により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行うアクセス制御部とを備える。
【００１１】
本開示のアクセス制御方法は、複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられた記憶装置に対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第１の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第２の組み合わせ処理とを行い、上記記憶装置に対し、上記第１，第２の組み合わせ処理で設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行う。
【００１２】
このような本開示の技術では、まず記憶装置において複数の不揮発性メモリが同時アクセス可能であることを前提とする。
同時アクセス可能な複数の不揮発性メモリとは、それぞれが異なるアクセスチャンネルに接続された場合だけではなく、１つのアクセスチャンネルに複数の不揮発性メモリが接続され、これらのうち１つまたは複数の不揮発性メモリの内部処理中にその他の不揮発性メモリにアクセスできる場合も含む。
また各不揮発性メモリでは、複数の物理ブロックへの同時アクセスが可能とされる。
アクセス高速化のために、１つの不揮発性メモリ内では複数の物理ブロックの組で論理ブロックを形成し、同時アクセス可能とする（第１の組み合わせ処理）。さらに異なる不揮発性メモリの間でも複数の物理ブロックの組で論理ブロックを形成し、同時アクセス可能とする（第２の組み合わせ処理）
例えば第１の組み合わせ処理のみであると、不良ブロックの影響等により論理ブロックを形成できない、余った正常な物理ブロックが発生する。例えばこのような場合にさらに第２の組み合わせ処理を行えば、他の不揮発性メモリとの間で、余った物理ブロックの組み合わせ相手となる物理ブロックを探し、論理ブロックを形成することができる。
【発明の効果】
【００１３】
本開示の技術によれば、複数の不揮発性メモリ間での物理ブロックの組み合わせ（論理ブロック形成）を可能とすることで、論理ブロックが形成できない物理ブロックを最小限とすることができる。これにより、高速アクセス不能を許容するような事態を最小限としたり、或いは正常な物理ブロックをできる限り使用可能とするということができ、不揮発性メモリを用いた記憶装置の性能を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】本開示の実施の形態のメモリカードのブロック図である。
【図２】実施の形態の不揮発性メモリの物理ブロックと論理ブロックの説明図である。
【図３】論理ブロック単位での高速アクセスの説明図である。
【図４】不良ブロックによる組み合わせ不能の物理ブロックが生じる場合の説明図である。
【図５】実施の形態の異なる不揮発性メモリ間での組み合わせを行った例の説明図である。
【図６】実施の形態の異なる不揮発性メモリ間での組み合わせを行った例の説明図である。
【図７】実施の形態のブロック組み合わせ状態の説明図である。
【図８】実施の形態の後発不良ブロック発生時のブロック組み合わせの説明図である。
【図９】実施の形態の制御機能の構成の説明図である。
【図１０】実施の形態のブロック組み合わせ処理のフローチャートである。
【発明を実施するための形態】
【００１５】
以下、実施の形態について次の順序で説明する。なお、実施の形態で示すメモリカード１が請求項でいう記憶装置の実施の形態となる。またメモリカード１内のＣＰＵ１１が、請求項でいう制御装置の実施の形態であり、ＣＰＵ１１によるアクセス制御処理が請求項でいうアクセス制御方法の実施の形態となる。
＜１．メモリカード構成＞
＜２．物理ブロック及び論理ブロック＞
＜３．実施の形態の論理ブロック形成＞
＜４．ブロック組み合わせ処理＞
＜５．変形例＞
【００１６】
＜１．メモリカード構成＞
図１に実施の形態のメモリカード１の構成例を示す。
メモリカード１はホスト機器２に接続され、記憶装置として用いられる。ホスト機器２とは、例えばパーソナルコンピュータ、デジタルスチルカメラ、ビデオカメラ、オーディオプレーヤ、ビデオプレーヤ、ゲーム機器、携帯電話機、ＰＤＡ（Personal Digital Assistant）等の情報端末など、各種の電子機器、情報処理装置が想定される。
【００１７】
メモリカード１は、ＣＰＵ（Central Processing Unit）１１、ＳＲＡＭ（Static Random Access Memory）１２、デバイスインターフェース１３、バッファＲＡＭ１４、メモリコントローラ１５、及び２つの不揮発性メモリ（Non-Volatile Memory）１６（１６ａ、１６ｂ）を備える。
【００１８】
ＣＰＵ１１はメモリカード１の全体を制御する。このためＣＰＵ１１はＳＲＡＭ１２に置かれた命令コードを逐次実行する。ＳＲＡＭ１２は、ＣＰＵ１１が実行するプログラム（ファームウェア）の記憶や、ワーク領域として使用される。
デバイスインターフェース１３はホスト機器２との間の通信を行う。
バッファＲＡＭ１４はホスト機器２との間の転送データ（書込データや読出データ）のバッファリングに用いられる。例えばＤＰＳＲＡＭ（Dual Port SRAM）などが用いられる。
メモリコントローラ１５は、ＣＰＵ１１の指示に基づいて各不揮発性メモリ１６ａ、１６ｂに対する書込／読出のアクセスを行う。
ＣＰＵ１１は、デバイスインターフェース１３のホスト機器２とのデータ送受信動作制御、バッファＲＡＭ１４の書込／読出動作の制御、メモリコントローラ１５によるアクセス動作の制御を行う。
【００１９】
メモリカード１の基本的な動作としては、データ書込時には、ホスト機器２から書込要求とともに、書込アドレス、データサイズ、さらに書き込むべきデータが送られてくる。
ホスト機器２から送られてくる書き込むデータは、デバイスインターフェース１３で受信されてバッファＲＡＭ１４にバッファリングされ、メモリコントローラ１５に転送される。そしてメモリコントローラ１５はＣＰＵ１１の制御のもとで、データを不揮発性メモリ１６ａ又は１６ｂに書き込む。ＣＰＵ１１は書込要求、書込アドレス、データサイズに応じてこれらの動作を制御する。
データ読出時にはホスト機器２から読出要求とともに、読出アドレス、データサイズが送られてくる。ＣＰＵ１１は、読出アドレス、データサイズに基づいてメモリコントローラ１５に読出アクセスを実行させる。メモリコントローラ１５は不揮発性メモリ１６ａ、１６ｂから指示されたデータの読出を行い、バッファＲＡＭ１４にバッファリングする。またメモリコントローラ１５はバッファリングされた読出データに対してエラー訂正処理等を行う。そして読出データはバッファＲＡＭ１４からデバイスインターフェース１３に転送され、ホスト機器２に送信される。
【００２０】
ここで図１のメモリカード１では、メモリコントローラ１５は複数の不揮発性メモリ１６を接続することができる。この例のメモリコントローラ１５では、２つのアクセスチャンネルを用いて２つの不揮発性メモリ１６ａ、１６ｂが接続されている。不揮発性メモリ１６ａ、１６ｂは例えばＮＡＮＤ型フラッシュメモリである。
メモリコントローラ１５は、各不揮発性メモリ１６ａ、１６ｂについて同時的にリード（読出）／プログラム（書込）／イレーズ（消去）を実行することができる。
つまりメモリコントローラ１５は各不揮発性メモリ１６ａ、１６ｂに対し同時並列的に各種のアクセスを行うことができるメモリアクセス部として機能する。
なお、２つの不揮発性メモリを有するとしているのは一例であり、本実施の形態に関しては、同時アクセス可能な２つ以上の不揮発性メモリが設けられていれば良い。
【００２１】
不揮発性メモリ１６ａ、１６ｂは、それぞれ複数（この例では２つ）のエリアを有する。ここでいうエリアとは、一般に「プレーン」と呼ばれる領域などとして考えて良い。
不揮発性メモリ１６ａにはエリアＡＲａ１、ＡＲａ２が形成されている。
不揮発性メモリ１６ｂにはエリアＡＲｂ１、ＡＲｂ２が形成されている。
ここでは２つのエリアとしたが、１つの不揮発性メモリ内に３以上のエリアが形成される場合もある。
【００２２】
ところで不揮発性メモリ１６は、物理ブロック（Physical Block）と呼ばれる消去単位と、物理ページ（Physical Page）と呼ばれる書込単位を持つ。各物理ブロックは複数の物理ページによって構成されている。
消去については物理ブロック単位で消去が実行される。即ち物理ブロックはデータを書き換えるときに一度に消去する単位である。一方、書込については物理ページの単位で書込が実行される。
ＣＰＵ１１は、不揮発性メモリ１６ａ、１６ｂに対し、物理ブロックを組み合わせて論理ブロック（Logical Block）を形成し、デバイスインターフェース１３を通して送られてくるデータの書き込みを同時に行うユニットとする。
【００２３】
＜２．物理ブロック及び論理ブロック＞
図１のように、不揮発性メモリ１６ａ、１６ｂのそれぞれは、複数のエリア、たとえば２つに分割され、それぞれのエリアの各１ブロックに同時に書込（プログラム）、または読出（リード）ができる。
例えば不揮発性メモリ１６ａの場合、エリアＡＲａ１内の１つの物理ブロックと、エリアＡＲａ２内の１つの物理ブロックに対し、同時に書込／読出ができる。
なおここでいう、書込（プログラム）とは、ＣＰＵ１１が、バッファＲＡＭ１４に一時記憶されているデータについて、メモリコントローラ１５に指示して不揮発性メモリ１６に記憶させることを言い、読出（リード）とは、ＣＰＵ１１の指示によりメモリコントローラ１５が不揮発性メモリ１６に対して読出アクセスを行ってデータを読み出し、バッファＲＡＭ１４に転送することを言う。
【００２４】
図２に不揮発性メモリ１６ａ側を例にしてブロック構造を示す。以下説明することは、不揮発性メモリ１６ｂ側でも同様である。
図２Ａは、不揮発性メモリ１６ａのエリアＡＲａ１、ＡＲａ２における物理ブロックを示している。図示及び説明の簡略化のため、不揮発性メモリ１６ａには物理ブロックＰＢ０〜ＰＢ１５の１６ブロックがあるとする。（実際にはより多数の物理ブロックが設けられることが多い）。
この物理ブロックＰＢ０〜ＰＢ１５がエリアＡＲａ１、ＡＲａ２に分けられる。この例の場合、物理ブロックＰＢ０，ＰＢ２，ＰＢ４，ＰＢ６・・・ＰＢ１４がエリアＡＲａ１とされ、物理ブロックＰＢ１，ＰＢ３，ＰＢ５，ＰＢ７・・・ＰＢ１５がエリアＡＲａ２とされている。
【００２５】
各エリアＡＲａ１、ＡＲａ２からそれぞれ１つの物理ブロックを選択して組み合わせ、それを論理ブロックとする。
最も簡単には、図２Ａで隣り合った物理ブロックをペアとして組み合わせることが考えられる。例えば図３Ａで直線で結んで示すように、物理ブロックＰＢ０とＰＢ１、物理ブロックＰＢ２とＰＢ３、物理ブロックＰＢ４とＰＢ５・・・物理ブロックＰＢ１４とＰＢ１５のように組み合わせる。２つの物理ブロックの組が論理ブロックＬＢとなる。
本例の場合、このような組み合わせはＣＰＵ１１が自由に設定できる。このため例えば図２Ｂのような組み合わせも可能である。図２Ｂでも直線で結んだ物理ブロックを組み合わせたものとして示している。
例えば図示のように、物理ブロックＰＢ０とＰＢ１で論理ブロックＬＢを形成したり、物理ブロックＰＢ２とＰＢ５で論理ブロックＬＢを形成したり、物理ブロックＰＢ１０とＰＢ７で論理ブロックＬＢを形成したりすることができる。
【００２６】
２つの物理ブロックの組で形成される論理ブロックＬＢが、同時アクセスの単位となる。
但し、同じエリア内での複数の物理ブロックによる論理ブロック、つまり同時アクセスの単位を形成することはせず、異なるエリアから選択した物理ブロックの組とされる。エリアＡＲａ１、ＡＲａ２のそれぞれが同時にアクセスできる領域とされているためである。
【００２７】
ペアとされた複数の物理ブロックにプログラムをする時間は、通常は１物理ブロックにプログラムする時間と同等か、わずかに長い程度である。このとき不揮発性メモリ１６の消費電流もほぼ同等かわずかに上昇する程度である。
複数ブロックへの同時プログラム機能を用いることにより、ホスト機器２からのデータを図３Ｂに示すような順番で書くことにより、消費電流をあまり上昇させることなく書き込み速度を大幅に改善させることができる。図３Ｂでは、論理ブロックを構成するように組とされたエリアＡＲａ１内の１つの物理ブロックと、エリアＡＲａ２内の１つの物理ブロックを示している。各物理ブロックは物理ページＰＰ０からＰＰ１２７を有する。各物理ページＰＰに付した数字が、データ書き込みの順番である。即ち、「エリアＡＲａ１の物理ブロックの物理ページＰＰ０」→「エリアＡＲａ２の物理ブロックの物理ページＰＰ０」→「エリアＡＲａ１の物理ブロックの物理ページＰＰ１」→「エリアＡＲａ２の物理ブロックの物理ページＰＰ１」→・・・という順番で書き込む。
エリアＡＲａ１、ＡＲａ２が同時アクセスできるため、このような順番でデータ書き込みを行うと、書き込み速度を大幅に改善させることができる。
したがって、各エリアＡＲａ１、ＡＲａ２から１つずつ選択した物理ブロックを組み合わせて、１つの大きなブロック（論理ブロック）として扱い、アクセス速度を向上させる。
【００２８】
一方で不揮発性メモリ１６では、一部の物理ページで正常に書き込みができなくなったり、書き込み済みのデータが正常に読み出せなくなったりすることがある。
この正常に読み書きができなくなった物理ページを含む物理ブロックは不良ブロックとして管理し、使わないようにする必要がある。
一般に、半導体不揮発性メモリを主たる記憶媒体とする記憶装置では、この不良ブロック数がある程度発生することを前提に作る必要がある。すなわち、不良ブロック数がある程度増加しても動作するようなシステムとする必要がある。
【００２９】
不良ブロックはどのエリアに発生するかは不揮発性メモリ１６の個体ごとに異なり、１つのエリアに集中することもある。
不良ブロックが少ないエリア内の一部の物理ブロックは他のエリアに正常な物理ブロックがないため論理ブロックを構成することができず、同時プログラム機能が使えない場合も生ずる。
従来では、先に述べたように、それらのブロックに対してはパフォーマンスが低下するのを許容するか、システム全体としては正常なブロックがあるにも関わらず、書き込み禁止または使用不可にする必要があった。
【００３０】
図４で具体的に説明する。
図４Ａは、エリアＡＲａ１、ＡＲａ２において、１つづつ不良ブロックが生じている場合の論理ブロックの組み合わせ例を示している（図４において直線で結んだ物理ブロックが組み合わせのペアのブロックとする。図５〜図８も同様）。
基本的には隣り合う物理ブロックを組み合わせるとすると、物理ブロックＰＢ０とＰＢ１、ＰＢ２とＰＢ３、ＰＢ４とＰＢ５、ＰＢ６とＰＢ７・・・ＰＢ１４とＰＢ１５のような組で、それぞれ論理ブロックを形成する。
ここで、物理ブロックＰＢ３とＰＢ６が不良ブロックである場合、物理ブロックＰＢ２とＰＢ７は、上記の「ＰＢ２とＰＢ３」「ＰＢ６とＰＢ７」という組み合わせができない。そこで図示のように正常な物理ブロックＰＢ２とＰＢ７を組とする。このようにすると、基本的な組み合わせでペアとなる相手が不良ブロックであっても、他の同様の境遇の物理ブロックと組み合わせることで、同時プログラム機能を実行できる論理ブロックを形成でき、問題は無い。
【００３１】
ところが一方のエリアに不良ブロックが集中した場合、好ましくない状態となる。
図４Ｂでは、物理ブロックＰＢ３、ＰＢ６，ＰＢ１０，ＰＢ１２が不良ブロックと成っている場合を示している。つまりエリアＡＲａ１側に３つ、エリアＡＲａ２側に１つの不良ブロックがある場合である。
例えば図４Ａの場合と同様に、不良ブロックによってペアが組めなくなった同士の物理ブロックＰＢ２とＰＢ７を組み合わせることはできる。
しかし、物理ブロックＰＢ１１，ＰＢ１３については、エリアＡＲａ１側に組み合わせることのできる物理ブロックが存在しないこととなる。結局、このような物理ブロックＰＢ１１，ＰＢ１３は、正常な物理ブロックであるにもかかわらず論理ブロックを形成できない。
この物理ブロックＰＢ１１，ＰＢ１３については、同時プログラム機能を用いずに書込速度の低下を許容して用いるか、或いはそれを避けるために使用禁止として管理することとなる。
各エリアＡＲａ１、ＡＲａ２において不良ブロック数の差が大きくなると、このような物理ブロックが多くなり、不揮発性メモリ１６の書込速度の低下や、使用不可ブロックの増加、ひいては使用可能ブロックが減ることでメモリ寿命が短かくなるといったことが生ずる。
【００３２】
＜３．実施の形態の論理ブロック形成＞
そこで本実施の形態では、同時アクセス可能な２つの不揮発性メモリ１６ａ、１６ｂを有することを利用し、不揮発性メモリ１６ａ、１６ｂにわたっての物理ブロックの組を形成できるようにする。
即ち、ＣＰＵ１１は、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第１の組み合わせ処理を行うが、これに加えて、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第２の組み合わせ処理も行うようにする。
【００３３】
第１の組み合わせ処理は、上記図２〜図４で説明したように不揮発性メモリ１６ａ内で、エリアＡＲａ１とＡＲａ２の間で物理ブロックの組（論理ブロック）を設定する処理である。図示による説明を省略したが、もう一つの不揮発性メモリ１６ｂ内で、エリアＡＲｂ１とＡＲｂ２の間で物理ブロックの組を設定する処理も、第１の組み合わせ処理となる。
【００３４】
第２の組み合わせ処理は、例えば不揮発性メモリ１６ａにおいて組み合わせができなかった物理ブロックの組み合わせ相手を、不揮発性メモリ１６ｂ内の物理ブロックから探して、それらを論理ブロックとして組み合わせるような処理となる。
【００３５】
図５で具体例を示す。
図５における不揮発性メモリ１６ａでは、上記図４Ｂのように、物理ブロックＰＢ１１，ＰＢ１３が不揮発性メモリ１６ａ内で論理ブロックを形成できなかった場合と同様の状況を示している。
一方、不揮発性メモリ１６ｂ側では、基本的には物理ブロックＰＢ０とＰＢ１、ＰＢ２とＰＢ３、ＰＢ４とＰＢ５、ＰＢ６とＰＢ７・・・ＰＢ１４とＰＢ１５のような組で、それぞれ論理ブロックを形成するが、物理ブロックＰＢ７，ＰＢ９が不良ブロックであり、これらが不揮発性メモリ１６ｂ内で論理ブロックを形成できない状況である。
ここで図示するように、例えば不揮発性メモリ１６ａの物理ブロックＰＢ１１と不揮発性メモリ１６ｂの物理ブロックＰＢ６を組にして論理ブロックとする。
また不揮発性メモリ１６ａの物理ブロックＰＢ１３と不揮発性メモリ１６ｂの物理ブロックＰＢ８を組にして論理ブロックとする。
【００３６】
このようにすることで、従来では高速アクセスブロックとして利用できなかった（或いは使用不可とされた）、不揮発性メモリ１６ａの物理ブロックＰＢ１１，ＰＢ１３と不揮発性メモリ１６ｂの物理ブロックＰＢ６、ＰＢ８についても、高速アクセスが可能となる。
例えば不揮発性メモリ１６ａの物理ブロックＰＢ１１と不揮発性メモリ１６ｂの物理ブロックＰＢ６への同時アクセスは、ＣＰＵ１１がメモリコントローラ１５に対し、不揮発性メモリ１６ａの物理ブロックＰＢ１１に対するアクセス指示と、不揮発性メモリ１６ｂの物理ブロックＰＢ６に対するアクセス指示を同時並列的に行うことで実行される。
この場合のプログラム時間は、１ブロックに対してプログラムする場合と同等であるため、１つの不揮発性メモリ内での同時プログラム機能を用いる場合と同等か、わずかに速くなり、パフォーマンスは低下しない。消費電流は増加するが、一部のブロックにのみこのような方法を用いるためメモリカード１全体の平均消費電流はほとんど増加しない。
【００３７】
このような実施の形態の手法を採ることで、データ書込時のスループットはどの物理ブロックへ書き込んでも大幅に低下することはなく、また正常なブロックをできる限り利用することでメモリカード１が使用不可になるまでの期間を延ばすことができる。
【００３８】
なお、この図５の例では、不揮発性メモリ１６ａのエリアＡＲａ２の物理ブロックＰＢ１１，ＰＢ１３のそれぞれを、不揮発性メモリ１６ｂのエリアＡＲｂ１の物理ブロックＰＢ６、ＰＢ８のそれぞれと組にした。しかし、組み合わせる他方の不揮発性メモリ１６ｂ側から選択する物理ブロックについてはエリアＡＲｂ１内に限られない。
例えば不揮発性メモリ１６ａのエリアＡＲａ２内の物理ブロックＰＢ１１と、同時にアクセス可能な物理ブロックが選択されれば良いためであり、他方の不揮発性メモリ１６ｂでは、エリアＡＲｂ１、ＡＲｂ２ａのいずれの物理ブロックでも同時アクセス可能なためである。これは、そもそも不揮発性メモリ１６ａ、１６ｂが同時アクセス可能なメモリチップとして構成されていることによる。
【００３９】
従って、例えば図６のような組み合わせ例も考えられる。
図６では、不揮発性メモリ１６ｂでは、エリアＡＲｂ１側の物理ブロックＰＢ６，ＰＢ１４が不良ブロックであり、エリアＡＲｂ２側の物理ブロックＰＢ７、ＰＢ１５が不揮発性メモリ１６ｂ内で組み合わせができなかった場合である。
このときは、図示するように、例えば不揮発性メモリ１６ａの物理ブロックＰＢ１１と不揮発性メモリ１６ｂの物理ブロックＰＢ７を組にして論理ブロックとし、また不揮発性メモリ１６ａの物理ブロックＰＢ１３と不揮発性メモリ１６ｂの物理ブロックＰＢ１５を組にして論理ブロックとすればよい。
【００４０】
以上のような論理ブロック形成のための組み合わせは、ＣＰＵ１１が初期設定時に行い、また、後発的に不良ブロックが発生したときなどに組み合わせを変更していくようにすれば良い。
【００４１】
例えば図７は、初期設定時（或いはその後の或る時点）において、不揮発性メモリ１６ａ側で物理ブロックＰＢ５，ＰＢ１０，ＰＢ１２が不良ブロックであり、不揮発性メモリ１６ｂ側で物理ブロックＰＢ７，ＰＢ９が不良ブロックである場合の論理ブロックの組み合わせの例を示している。
この場合、不揮発性メモリ１６ａ側で物理ブロックＰＢ５，ＰＢ１０が不良ブロックであることから、物理ブロックＰＢ４とＰＢ１１がペアとされている。そして物理ブロックＰＢ１３については、エリアＡＲａ１内でペアに選択できる物理ブロックが存在しないため、不揮発性メモリ１６ｂの物理ブロックＰＢ６と組み合わせられている。
この場合、不揮発性メモリ１６ｂ側の物理ブロックＰＢ８は、エリアＡＲｂ２内にも、また不揮発性メモリ１６ａ側にも、ペアにできる物理ブロックが存在しない状態なので、未使用ブロックとされている。
【００４２】
その後、図８に示すように、不揮発性メモリ１６ａの物理ブロックＰＢ２が後発的に不良ブロックになったとする。この場合、物理ブロックＰＢ３のペアの相手が使用不能となったことになる。
そこで組み合わせを更新する。図の例の場合、エリアＡＲａ１内には物理ブロックＰＢ３のペアとできる物理ブロックは存在しないが、不揮発性メモリ１６ｂ側では、未使用ブロックＰＢ８がある。そこで物理ブロックＰＢ３について、不揮発性メモリ１６ｂの物理ブロックＰＢ８と組み合わせるようにする。
【００４３】
このように組み合わせを更新していけば、各時点で論理ブロック単位でのアクセスを最大限活用できる状態を維持できる。また或る時点で組み合わせができなかった物理ブロックがあったとしても、後発的に不良ブロックの発生に応じて、他の物理ブロックと組み合わせることで、必ずしも無駄とならない。特に他方の不揮発性メモリ１６の物理ブロックを用いることで組み合わせ可能性を高めることができる。
【００４４】
＜４．ブロック組み合わせ処理＞
以上の実施の形態におけるＣＰＵ１１のブロック組み合わせ処理について説明する。
ＣＰＵ１１（及びＳＲＡＭ１２）によっては、実施の形態のブロック組み合わせ処理及び論理ブロック単位でのアクセス動作を実現するための機能として、図９に示すようにブロック組み合わせ処理部３１と、アクセス制御部３２がソフトウエアにより設けられる。また、これらブロック組み合わせ処理部３１とアクセス制御部３２が処理過程で用いるテーブルとして、未リンクテーブル３３、論理ブロック管理テーブル３４が用いられ、例えばＳＲＡＭ１２で保持される。なお未リンクテーブル３３、論理ブロック管理テーブル３４としてのテーブルデータは、不揮発性メモリ１６の一部の領域に記憶され、起動中にＳＲＡＭ１２に展開されてもよい。
なお、ここではこれらの機能部位がＣＰＵ１１の処理として発現するソフトウエア機能として設けられているとするが、これらがハードウエアにより形成されてもかまわない。
【００４５】
ブロック組み合わせ処理部３１は、一の不揮発性メモリ１６内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第１の組み合わせ処理と、異なる不揮発性メモリ１６ａ，１６ｂのそれぞれからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第２の組み合わせ処理とを行う。
アクセス制御部３２は、不揮発性メモリ１６ａ、１６ｂに対し、ブロック組み合わせ処理部３１により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行う。即ち論理ブロック単位でのアクセスをメモリコントローラ１５に指示する。
【００４６】
未リンクテーブル３３は、ブロック組み合わせ処理部３１が第１，第２の組み合わせ処理を行う際に、不良ブロックの影響等で組み合わせができなくなる物理ブロック（未リンクブロック）を登録するデータテーブルである。テーブルとして、不揮発性メモリ１６ａの未リンクブロックを登録する第１不揮発性メモリ用テーブル３３ａと、不揮発性メモリ１６ｂの未リンクブロックを登録する第２不揮発性メモリ用テーブル３３ｂが形成される。
論理ブロック管理テーブルは、論理ブロックとした複数の物理ブロックを管理するデータである。アクセス制御部３２は、この論理ブロック管理テーブルから、目的とする論理ブロックのアクセスの際に、その論理ブロックを構成する実際の物理ブロックを認識し、アクセス指示を行う。
【００４７】
図１０に、ブロック組み合わせ処理としてのＣＰＵ１１（ブロック組み合わせ処理部３１）の制御動作を示す。
なお、ここで述べる例では、ブロック組み合わせは、基本的には図３Ａで説明したように、隣り合う（物理ブロック番号が連続する）物理ブロックを組み合わせて論理ブロックとすることを前提とする。但し不良ブロックを避けることにより、そのような組み合わせができない物理ブロックも発生する。そこで、この図１０の処理は、隣り合ったブロック同士では組み合わせができない物理ブロックについて、組み合わせを探して論理ブロックを形成する処理としている。
【００４８】
図１０のブロック組み合わせ処理は、大きく分けて破線で囲った３つの処理から成る。未リンクテーブル登録処理Ｓ１、チップ内ブロック組み合わせ処理Ｓ２、別チップブロック組み合わせ処理Ｓ３である。
未リンクテーブル登録処理Ｓ１は、不良ブロックの存在により通常の隣り合った物理ブロックでの組み合わせができない物理ブロックを抽出して未リンクテーブル３３に登録する処理である。
チップ内ブロック組み合わせ処理Ｓ２は、未リンクテーブル３３に登録された物理ブロックについて、チップ内（ここで「チップ」とは１つの不揮発性メモリを指す）、即ち不揮発性メモリ１６ａ内、及び不揮発性メモリ１６ｂ内で、組み合わせを試行する処理である。上述した第１の組み合わせ処理に相当する。
別チップブロック組み合わせ処理Ｓ３は、不揮発性メモリ（１６ａ又は１６ｂ）における未リンクテーブル３３に登録された物理ブロックについて、異なる他方の不揮発性メモリ（１６ｂ又は１６ａ）の物理ブロックとの組み合わせを試行する処理である。上述した第２の組み合わせ処理に相当する。
そしてこの図１０の処理は、第１の組み合わせ処理として、一の不揮発性メモリ内の各エリアから選択した物理ブロックを組み合わせて論理ブロックを形成するとともに、この第１の組み合わせ処理で組み合わせ不能な物理ブロックについて、第２の組み合わせ処理で他の不揮発性メモリの物理ブロックと組み合わせて論理ブロックを形成する処理としている。
【００４９】
未リンクテーブル登録処理Ｓ１は次のように行われる。ＣＰＵ１１は、エリア内全ブロックを対象としたループ処理ＬＰ１、不揮発性メモリ内全エリアを対象としたループ処理ＬＰ２、全不揮発性メモリを対象としたループ処理ＬＰ３を行う。
【００５０】
まずエリア内全ブロックを対象としたループ処理ＬＰ１では、ＣＰＵ１１は不揮発性メモリ１６ａのエリアＡＲａ１内の全物理ブロックについて順次、ステップＦ１０１で不良ブロックであるか否かを判定し、不良ブロックであった場合は、ステップＦ１０２で反対側のエリアの対応する（隣り合う）物理ブロックを未リンクテーブル３３に登録する処理を行う。
図７の例を用いていえば、エリアＡＲａ１の物理ブロックＰＢ０、ＰＢ２・・・ＰＢ１４について、順次ステップＦ１０１で不良ブロック判断を行う。そして図７の場合、物理ブロックＰＢ１０，ＰＢ１２が不良ブロックであるが、このため、反対側のエリアＡＲａ２でこれらの不良ブロックに対応する物理ブロックＰＢ１１，ＰＢ１３を未リンクテーブル３３（第１不揮発性メモリ用テーブル３３ａ）に登録することになる。
【００５１】
このループ処理ＬＰ１が、ループ処理ＬＰ２によりエリアＡＲａ２についても行われる。即ち、ＣＰＵ１１は不揮発性メモリ１６ａのエリアＡＲａ２内の全物理ブロックについて順次、ステップＦ１０１で不良ブロックであるか否かを判定し、不良ブロックであった場合は、ステップＦ１０２で反対側のエリアの対応する（隣り合う）物理ブロックを未リンクテーブル３３に登録する処理を行う。
図７の例を用いていえば、エリアＡＲａ２の物理ブロックＰＢ１、ＰＢ３・・・ＰＢ１５について、順次ステップＦ１０１で不良ブロック判断を行う。そして図７の場合、物理ブロックＰＢ５が不良ブロックであるが、このため、反対側のエリアＡＲａ１でこの不良ブロックに対応する物理ブロックＰＢ４を未リンクテーブル３３（第１不揮発性メモリ用テーブル３３ａ）に登録することになる。
【００５２】
以上の処理が、ループ処理ＬＰ３によって、さらに不揮発性メモリ１６ｂに対しても行われる。即ちＣＰＵ１１は不揮発性メモリ１６ｂのエリアＡＲｂ１の全物理ブロックについてループ処理ＬＰ１（ステップＦ１０１，Ｆ１０２）を行い、またループ処理ＬＰ２により、不揮発性メモリ１６ｂのエリアＡＲｂ２の全物理ブロックについてもループ処理ＬＰ１（ステップＦ１０１，Ｆ１０２）を行う。
図７の例でいえば、物理ブロックＰＢ７，ＰＢ９が不良ブロックであるため、物理ブロックＰＢ６，ＰＢ８が、未リンクテーブル３３（第２不揮発性メモリ用テーブル３３ｂ）に登録される。
【００５３】
以上の未リンクテーブル登録処理Ｓ１で、エリア間で隣り合った物理ブロック同士で組み合わせができない物理ブロックが、未リンクテーブル３３に登録されたことになる。
続いてＣＰＵ１１はチップ内ブロック組み合わせ処理Ｓ２を行う。ＣＰＵ１１は、未リンクテーブル３３に登録されている第１エリアの物理ブロックを対象としたループ処理ＬＰ１１と、全不揮発性メモリを対象としたループ処理ＬＰ１２を行う。
なお、ここでの第１エリアとは、不揮発性メモリ１６ａのエリアＡＲａ１、不揮発性メモリ１６ｂのエリアＡＲｂ１を指し、第２エリアとは、不揮発性メモリ１６ａのエリアＡＲａ２、不揮発性メモリ１６ｂのエリアＡＲｂ２を指す。
【００５４】
まずＣＰＵ１１はループ処理ＬＰ１１として、不揮発性メモリ１６ａのエリアＡＲａ１内の物理ブロックとして未リンクテーブル３３に登録されている各物理ブロックについてステップＦ１１１〜Ｆ１１３の処理を行う。
ステップＦ１１１では、反対側の第２エリア（エリアＡＲａ２）の物理ブロックとして未リンクテーブル３３に登録されているものが存在するか否かを判別する。
そして存在する場合は、ステップＦ１１２に進んで、第１エリア（エリアＡＲａ１）の物理ブロックと第２エリア（エリアＡＲａ２）の物理ブロックを組み合わせて論理ブロックを形成する。このときＣＰＵ１１は、形成した論理ブロックを論理ブロック管理テーブル３４に登録する。
さらにステップＦ１１３でＣＰＵ１１は、今回ステップＦ１１２で組み合わせた２つの物理ブロックを、未リンクテーブル３３から削除する。
【００５５】
なお、ステップＦ１１１で、第２エリア（エリアＡＲａ２）の物理ブロックとして未リンクテーブル３３に登録されているものが存在しないと判別された場合は、処理対象となっている第１エリア（エリアＡＲａ１）の物理ブロックは、不揮発性メモリ１６ａ内では組み合わせができないものとなる。
【００５６】
図７の例でいえば、以上の処理で、未リンクテーブル３３に登録されているエリアＡＲａ１の物理ブロックＰＢ４が対象として処理され、ステップＦ１１１でエリアＡＲａ２の物理ブロックＰＢ１１，ＰＢ１３が未リンクテーブル３３に登録されていると判断される。そのためステップＦ１１２で物理ブロックＰＢ４とＰＢ１１が組み合わされ、論理ブロック管理テーブルに登録される。さらにステップＦ１１３で、物理ブロックＰＢ４とＰＢ１１が未リンクテーブル３３から削除されることとなる。
なお、その場合、物理ブロックＰＢ１３は未リンクテーブル３３に登録された状態のままである。
【００５７】
ＣＰＵ１１は、以上のループ処理ＬＰ１１を、ループ処理ＬＰ１２として、不揮発性メモリ１６ｂについても同様に行う。
図７の例の場合は、第１エリア（エリアＡＲｂ１）の物理ブロックＰＢ６，ＰＢ８が処理対象となるが、第２エリア（エリアＡＲｂ２）の物理ブロックとして未リンクテーブル３３に登録されているものがないため、物理ブロックＰＢ６，ＰＢ８は不揮発性メモリ１６ｂ内では組み合わせができず、未リンクテーブル３３に登録されたままとなる。
【００５８】
続いてＣＰＵ１１は別チップブロック組み合わせ処理Ｓ３を行う。ここでは未リンクテーブル３３（第１不揮発性メモリ用テーブル３３ａ）に登録された物理ブロックのそれぞれについて、ステップＦ１２１〜Ｆ１２３の処理を、ループ処理ＬＰ２１として実行する。
【００５９】
ステップＦ１２１でＣＰＵ１１は、不揮発性メモリ１６ｂの物理ブロックとして未リンクテーブル３３（第２不揮発性メモリ用テーブル３３ｂ）に登録されているものが存在するか否かを判別する。
そして存在する場合は、ステップＦ１２２に進んで、不揮発性メモリ１６ａ、１６ｂの各物理ブロックを組み合わせて論理ブロックを形成する。このときＣＰＵ１１は、形成した論理ブロックを論理ブロック管理テーブル３４に登録する。
さらにステップＦ１２３でＣＰＵ１１は、今回ステップＦ１２２で組み合わせた２つの物理ブロックを、未リンクテーブル３３から削除する。
【００６０】
なお、ステップＦ１２１で、不揮発性メモリ１６ｂの物理ブロックとして未リンクテーブル３３に登録されているものが存在しないと判別された場合は、処理対象となっている不揮発性メモリ１６ａの物理ブロックは、不揮発性メモリ１６ａ、１６ｂ間でも組み合わせができないものとなる。
【００６１】
図７の例でいえば、以上の処理で、未リンクテーブル３３に登録されている不揮発性メモリ１６ａの物理ブロックＰＢ１３が対象として処理され、ステップＦ１２１で不揮発性メモリ１６ｂの物理ブロックＰＢ６，ＰＢ８が未リンクテーブル３３に登録されていると判断される。そのためステップＦ１２２で不揮発性メモリ１６ａの物理ブロックＰＢ１３と不揮発性メモリ１６ｂの物理ブロックＰＢ６が組み合わされ、論理ブロック管理テーブルに登録される。さらにステップＦ１２３で、その物理ブロックＰＢ１３とＰＢ６が未リンクテーブル３３から削除される。
なお、不揮発性メモリ１６ｂの物理ブロックＰＢ８は未リンクテーブル３３に登録された状態のままとなる。
【００６２】
以上の図１０の処理をＣＰＵ１１（ブロック組み合わせ処理部３１）が実行することで、例えば図７の例のような組み合わせが実現される。図７のような組み合わせ状態は、論理ブロック管理テーブル３４で管理される。
従ってＣＰＵ１１（アクセス制御部３２）は、データの書き込みアクセス等の際には、論理ブロック管理テーブル３４を参照して論理ブロックとされた物理ブロックを把握し、２つの物理ブロックの同時アクセスをメモリコントローラ１５に指示することで、高速アクセスが実現される。
【００６３】
なお、図８では、その後に後発不良ブロックが発生した場合について述べた。その際もＣＰＵ１１は図１０の処理を行うことで、物理ブロックの組み合わせを更新し、図８に示したような組み合わせ状態とすることができる。
具体的には、図８の不揮発性メモリ１６ａの物理ブロックＰＢ２が不良ブロックであることから物理ブロックＰＢ３を未リンクテーブル３３に登録する。その状態で図１０のチップ内ブロック組み合わせ処理Ｓ２、別チップブロック組み合わせ処理Ｓ３を行えば良い。図８の例の場合、別チップブロック組み合わせ処理Ｓ３によって物理ブロックＰＢ３が不揮発性メモリ１６ｂの物理ブロックＰＢ８と組み合わせられることとなる。
【００６４】
＜５．変形例＞
以上、実施の形態について説明してきたが、変形例は多様に考えられる。
まずブロック組み合わせ処理については、図１０の処理に限らず多様な例が想定される。例えば、図１０の別チップブロック組み合わせ処理Ｓ３（第２の組み合わせ処理）を行った後に、チップ内ブロック組み合わせ処理Ｓ２（第１の組み合わせ処理）を行うようにしてもよい。
【００６５】
また、不揮発性メモリ１６ａ、１６ｂは、それぞれエリアの異なる複数の物理ブロックを同時アクセス可能としているが、エリア（プレーン）としての形式でなくとも、複数の物理ブロックの同時アクセスが可能な構造であれば、その同時アクセス可能な物理ブロックの組み合わせを第１の組み合わせ処理として実行できる。
【００６６】
不揮発性メモリ１６ａ、１６ｂのそれぞれにおけるエリアについても２つではなく、３つ以上設定される場合もあり、それに応じて多様な組み合わせも考えられる。一の不揮発性メモリ内で３以上の物理ブロックが同時アクセス可能の場合は、３以上の物理ブロックで論理ブロックを形成する場合もある。
【００６７】
また不揮発性メモリ１６ａ、１６ｂと、同時アクセス可能な２つの不揮発性メモリを有するメモリカード１の例を述べたが、同時並列的なアクセスを実行可能な３以上の不揮発性メモリが設けられる場合もある。その場合、或る不揮発性メモリの物理ブロックと組み合わせられる物理ブロックを、どの不揮発性メモリから選択してもよく、具体的な処理は多様に考えられる。
また同時アクセス可能な複数の不揮発性メモリとしては、図１の例では、不揮発性メモリ１６ａ、１６ｂが、メモリコントローラ１５の異なるアクセスチャンネルに接続された例を示したが、このような場合だけではない。例えば１つのアクセスチャンネルに複数の不揮発性メモリが接続される構成において、これらのうち１つまたは複数の不揮発性メモリの内部処理中にその他の不揮発性メモリにアクセスできる場合も、同時アクセス可能な複数の不揮発性メモリを有するものとなる。
【００６８】
また実施の形態ではメモリカード１の例を挙げたが、不揮発性メモリ１６と、ＣＰＵ１１（及びＳＲＡＭ１２）が別体の構成の場合でも本開示の技術は適用可能である。例えば複数の不揮発性メモリに対してのブロック組み合わせ処理や組み合わせた論理ブロックによるアクセスを指示する制御装置としても実現できる。
本開示の技術は、各種メモリカード、ＳＳＤ、ｅＭＭＣなどに適用できる。
【００６９】
なお本技術は以下のような構成を採ることもできる。
（１）複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられた記憶装置に対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第１の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第２の組み合わせ処理とを行うブロック組み合わせ処理部と、
上記記憶装置に対し、上記ブロック組み合わせ処理部により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行うアクセス制御部と、
を備えた制御装置。
（２）上記ブロック組み合わせ処理部は、上記第１の組み合わせ処理によって論理ブロックを形成するとともに、この第１の組み合わせ処理で組み合わせ不能な物理ブロックについて、上記第２の組み合わせ処理で他の不揮発性メモリの物理ブロックと組み合わせて論理ブロックを形成する上記（１）に記載の制御装置。
（３）上記不揮発性メモリ内は、複数のエリアに分割され、それぞれのエリアから選択された複数の物理ブロックで同時アクセス対象となる論理ブロックを形成することが可能とされており、
上記ブロック組み合わせ処理部は、上記第１の組み合わせ処理として、一の不揮発性メモリ内の上記各エリアから選択した物理ブロックを組み合わせて論理ブロックを形成するとともに、この第１の組み合わせ処理で組み合わせ不能な物理ブロックについて、上記第２の組み合わせ処理で他の不揮発性メモリの物理ブロックと組み合わせて論理ブロックを形成する上記（１）又は（２）に記載の制御装置。
（４）上記第１，第２の組み合わせ処理では、不良ブロックを除外して物理ブロックの組み合わせを行って論理ブロックを形成する上記（１）乃至（３）のいずれかに記載の制御装置。
【符号の説明】
【００７０】
１  メモリカード、２  ホスト機器、１１  ＣＰＵ、１２  ＳＲＡＭ、１３  デバイスインターフェース、１４  バッファＲＡＭ、１５  メモリコントローラ、１６（１６ａ，１６ｂ）  不揮発性メモリ、３１  ブロック組み合わせ処理部、３２  アクセス制御部、３３  未リンクテーブル、３４  論理ブロック管理テーブル
【図１】
2012216122.tif 000003
【図２】
2012216122.tif 000004
【図３】
2012216122.tif 000005
【図４】
2012216122.tif 000006
【図５】
2012216122.tif 000007
【図６】
2012216122.tif 000008
【図７】
2012216122.tif 000009
【図８】
2012216122.tif 000010
【図９】
2012216122.tif 000011
【図１０】
2012216122.tif 000012