(57)【要約】【課題】ＡＧ−ＡＮＤ型フラッシュメモリにおいて、複数のクラスタの管理情報を短時間に読み出す。【解決手段】ＡＧ−ＡＮＤ型フラッシュメモリにおいて、マトリクスの行方向に複数のクラスタ、列方向に複数のバンクを配列し、あるクラスタに属する全ブロックの特定ページに同一の管理情報１００を格納する。例えば、クラスタ０の管理情報１００（内容Ｃ０）を全ブロックの特定ページに格納する。複数のバンクは同時にアクセス可能である。システム起動時に、クラスタ０はバンク０から読み出し、クラスタ１はバンク１から読み出し、クラスタ２はバンク２から読み出し、クラスタ３はバンク３から読み出すように、斜め方向に読み出すことで、１回のアクセスで複数のクラスタの管理情報を読み出す。【選択図】図４
2007095222.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルから構成される半導体メモリであって、
前記半導体メモリは、データの読み出し及び書き込みの実行単位であるページ、複数のページからなるブロック、複数のブロックからなるクラスタ、及び同時にアクセス可能な複数のバンクを有し、
あるクラスタを構成する複数のブロックは複数のバンクにわたって存在し、あるクラスタを構成する全てのブロックの特定ページの特定位置に、そのクラスタの同一の固有情報を重複格納する
ことを特徴とする半導体メモリ。
【請求項２】
請求項１記載の半導体メモリにおいて、
前記固有情報は、あるクラスタを構成する全てのブロックのアドレス情報、及び物理アドレスと論理アドレスの変換テーブルを含むクラスタ管理情報であることを特徴とする半導体メモリ。
【請求項３】
請求項１記載の半導体メモリから固有情報を読み出すメモリコントローラであって、
各クラスタを構成する全てのブロックは互いに異なるバンクに存在し、
上位装置からの読み出し要求に応じて複数のクラスタの固有情報を読み出す際に、複数のバンクからそれぞれ１つの前記特定ページを同時に読み出すことで複数のクラスタの固有情報を同時に読み出す
ことを特徴とする半導体メモリのメモリコントローラ。
【請求項４】
請求項３記載のメモリコントローラにおいて、
前記半導体メモリはマトリクス状に配列し、前記マトリクスの行方向に複数のクラスタｉ（ｉは正の整数）、列方向に複数のバンクｊ（ｊは正の整数）が配列し、
複数のバンクから同時に読み出す際に、ｉ＝ｊとなる対角方向に読み出すことを特徴とする半導体メモリのメモリコントローラ。
【請求項５】
請求項３記載のメモリコントローラにおいて、
前記半導体メモリはマトリクス状に配列し、前記マトリクスの行方向に複数のクラスタ、列方向に複数のバンクが配列し、
複数のバンクから同時に読み出す際に、前記マトリクスを斜め方向に読み出すことを特徴とする半導体メモリのメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体メモリ及びそのメモリコントローラに関し、特にデータの読み出し技術に関する。
【背景技術】
【０００２】
ＮＡＮＤ型やＮＯＲ型の他、フローティングゲートに隣接してアシストゲートを配置したＡＧ−ＡＮＤ型のフラッシュメモリがデジタルカメラ等の携帯機器のメモリとして広く用いられている。
【０００３】
図５に、ＡＧ−ＡＮＤ型フラッシュメモリの概念構成を示す。データの読み出し及び書き込みの単位であるページ（複数のセクタから構成される）が複数個（２ページ）で１つのブロックを構成し、複数個のブロック（４ブロック）で１つのクラスタを構成する。データの読み出し及び書き込みはページ単位で実行でき、データの消去はブロック単位で実行できる。ＡＧ−ＡＮＤフラッシュメモリは複数のバンク（例えば４バンク）を有し、複数のバンクは並列処理可能で同時にアクセスできる。
【０００４】
各ページはデータエリアとコントロールエリアにフォーマットされており、コントロールエリアにはあるクラスタに属する全てのブロックのアドレス情報や物理−論理アドレス対応テーブル、世代情報、無効フラグの有無などの管理情報が格納される。ここに、物理−論理アドレス対応テーブルは、ＡＮＤ型フラッシュでは最大数％の使用できない領域を含んでおり、このため使用できない領域に無効フラグを設定して、これらの領域の物理アドレスを使用しないように論理アドレスを構築する必要があるからである。例えば、物理アドレス０００２ｈが使用不可である場合、その次の物理アドレス０００３ｈアドレスを論理アドレス０００２ｈとするようなテーブルである。
【０００５】
図６に示すように、あるクラスタに属する全ブロックが複数のバンク（バンク０，１，２，３）にわたって存在する場合、そのクラスタの管理情報１００は、先頭バンク（バンク０）の特定ページ（最初のページ）の特定箇所（コントロールエリア）に格納される。あるクラスタのデータを読み出す際には、まずバンク０にアクセスして管理情報を読み出し、そのクラスタに属する全ブロックのアドレス情報を取得する。そして、取得したアドレス情報に基づいて複数のバンクに対して同時に読み出しを行い、データを取得する。
【０００６】
【特許文献１】特開２００５−１００５０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
デジタルカメラ等の携帯機器の起動時には、全クラスタの管理情報を読み出して取得する必要があるが、従来の読み出し方式では全クラスタの管理情報を読み出すまでに時間を要し、システムの初期化時間の増大を招く一因となっていた。
【０００８】
すなわち、従来においては図６に示すようにクラスタの管理情報は先頭バンク（バンク０）の特定ページに格納されており、あるバンクからは同時に１つのページしか読み出すことができないから、第１回目の読み出しでクラスタ０の管理情報を読み出し、第２回目の読み出しでクラスタ１の管理情報を読み出し、第３回目の読み出しでクラスタ２の管理情報を読み出すというように、クラスタ数だけ読み出し回数が必要となってしまうため、クラスタ数の増大に比例して処理時間が増大してしまう問題があった。
【０００９】
本発明は、クラスタの管理情報などのデータを迅速に読み出すことができる装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、複数のメモリセルから構成される半導体メモリであって、前記半導体メモリは、データの読み出し及び書き込みの実行単位であるページ、複数のページからなるブロック、及び同時にアクセス可能な複数のバンクを有し、前記複数のブロックからクラスタが形成され、あるクラスタを構成する複数のブロックは複数のバンクにわたって存在し、あるクラスタを構成する全てのブロックの特定ページの特定位置に、そのクラスタの同一の固有情報を重複格納することを特徴とする。
【００１１】
また、本発明は、上記の半導体メモリから固有情報を読み出すメモリコントローラであって、各クラスタを構成する全てのブロックは互いに異なるバンクに存在し、上位装置からの読み出し要求に応じて複数のクラスタの固有情報を読み出す際に、複数のバンクからそれぞれ１つの前記特定ページを同時に読み出すことで複数のクラスタの固有情報を同時に読み出すことを特徴とする。
【００１２】
本発明の１つの実施形態では、前記半導体メモリはマトリクス状に配列し、前記マトリクスの行方向に複数のクラスタｉ（ｉは正の整数）、列方向に複数のバンクｊ（ｊは正の整数）が配列し、複数のバンクから同時に読み出す際に、ｉ＝ｊとなる対角方向、言い換えればマトリクス状に配列したメモリセルを斜め方向に読み出すことで、１回の読み出しにより複数のクラスタの固有情報を同時に読み出す。
【発明の効果】
【００１３】
本発明によれば、あるクラスタの管理情報等の固有情報を特定ブロックの特定ページのみに格納するのではなく、あるクラスタを構成する（あるいはクラスタに属する）全てのブロックの特定ページに格納し、複数のバンクに同時にアクセスすることにより、１回のアクセスで複数のクラスタの固有情報を取得することができる。したがって、システム起動時など、複数のクラスタの固有情報を取得する際の処理時間を短縮することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面に基づき本発明の実施形態について、ＡＧ−ＡＮＤフラッシュＲＯＭを有する携帯機器としてデジタルカメラを例にとり説明する。
【００１５】
図１に、本実施形態におけるデジタルカメラ１の構成ブロック図を示す。レンズ１０やシャッタ、絞りなどの光学系で結像した被写体光はイメージセンサ１２に導かれる。
【００１６】
イメージセンサ１２はＣＣＤやＣＭＯＳで構成され、入射した被写体光を光電変換し、画像信号としてＣＤＳ（相関２重サンプリング）／ＡＧＣ（オートゲインコントロール）回路１４に出力する。ＣＤＳ／ＡＧＣ回路１４は画像信号をサンプリング及びゲイン調整してＡＤＣ（アナログデジタルコンバータ）１６に出力する。ＡＤＣ１６はアナログ画像信号をデジタル画像信号に変換してＤＳＰ（デジタルシグナルプロセッサ）１８に出力する。ＤＳＰ１８はデジタル画像信号に対してガンマ補正やエッジ強調処理、ホワイトバランス調整処理、圧縮処理等の公知の画像処理を施してＬＣＤドライバ２６やメモリコントローラ２２に出力する。ＬＣＤドライバ２６は、ＤＳＰ１８からの画像信号をＬＣＤ２８に出力して表示する。ＣＰＵ２０は、デジタルカメラ２０の各部の動作を制御する。特に、ユーザからの指示に応じて露光制御や撮影動作制御を実行する。メモリコントローラ２２は、ＣＰＵ２０との協働により、ＡＧ−ＡＮＤフラッシュメモリ２４に対するデータの読み出し及び書き込みを制御する。
【００１７】
ＡＧ−ＡＮＤフラッシュメモリ２４は制御プログラムや画像データを記憶する。ＡＧ−ＡＮＤフラッシュメモリ２４は物理層、ドライバ、ＦＡＴファイルシステムの構造を有する。メモリフォーマット時には物理−論理アドレス対応テーブルを作成し、ドライバに格納する。ドライバ起動時にはアドレス対応テーブルをシステムのＲＡＭにコピーし、アクセスの準備を行う。電源ＯＮに伴うシステム起動時には、メモリコントローラ２２はＡＧ−ＡＮＤフラッシュメモリ２４にアクセスして全クラスタの管理情報を読み出し、ＣＰＵ２０に供給する。
【００１８】
従来においては、図６に示すように、あるクラスタの管理情報は先頭バンク（バンク０）の特定ページのコントロールエリアに格納されているが、本実施形態のメモリコントローラ２２は、クラスタの管理情報を、そのクラスタに属する全ブロックの特定ページのコントロールエリアに書き込む。
【００１９】
図２に、本実施形態のクラスタ管理情報１００の格納領域を示す。クラスタは４つのブロックから構成され、各ブロックはそれぞれ異なるバンクに存在する。４つのブロックをブロック０、ブロック１、ブロック２、ブロック３とすると、ブロック０はバンク０、ブロック１はバンク１、ブロック２はバンク２、ブロック３はバンク３に格納される。クラスタを構成する全ブロックの特定ページのコントロールエリアに管理情報１００が格納される。特定ページは、ブロックを構成する２つのページを第１ページ及び第２ページとした場合の第１ページ（図中上側のページ）である。あるクラスタに属する全ブロックの特定ページに格納される管理情報１００は全て同一の管理情報である。例えば、クラスタ０に関して、バンク０のブロックの特定ページに格納された管理情報１００の内容をＣ０とすると、バンク１、バンク２及びバンク３のブロックの特定ページに格納された管理情報１００の内容も同じＣ０である。Ｃ０には、クラスタ０に属する全ブロックのアドレス情報、物理−論理アドレス対応テーブル、世代情報、無効フラグの有無情報を含む。同様に、クラスタ１に関して、バンク０のブロックの特定ページに格納された管理情報１００の内容をＣ１とすると、バンク１、バンク２及びバンク３のブロックの特定ページに格納された管理情報１００の内容も同じＣ１である。本実施形態のメモリコントローラ２２は、このように、コントロールエリアに管理情報を書き込む際に、あるクラスタに属する全ブロック、つまり、あるクラスタに属するブロックが記憶されている複数バンクにわたって同一の管理情報を格納することで、あるクラスタの管理情報を複数バンクにわたって重複存在せしめる。ＡＧ−ＡＮＤフラッシュメモリ２４においてバンク０、バンク１、バンク２、バンク３には同時にアクセスできるものの、各バンクにおいて１つのページしかアクセスできなくても、クラスタの管理情報が複数バンクにわたって存在しているため、１回のアクセスで複数の管理情報１００を読み出すことが可能となる。
【００２０】
以下、本実施形態におけるデータ読み出し方法について説明する。
【００２１】
図３に、データ読み出し方法の一例を示す。あるクラスタ０の管理情報１００を読み出す際に、バンク０、バンク１、バンク２、及びバンク３に同時にアクセスして読み出す方法である。クラスタ０の管理情報１００は全てのバンク０〜３にわたって重複して存在しているため、従来のようにまず先頭バンク０にアクセスしてその管理情報１００を読み出す必要がなく、どのバンクからでもクラスタ０の管理情報１００を読み出すことが可能である。クラスタ１についても同様であり、バンク０、バンク１、バンク２、バンク３のいずれにアクセスしても管理情報１００を読み出すことができる。
【００２２】
図４に、データ読み出し方法の他の例を示す。システム起動時において、全てのクラスタの管理情報１００を読み出す場合である。図において、行方向にクラスタ０、クラスタ１、クラスタ２、クラスタ３、・・・、クラスタ７（これをクラスタｉ（ｉ＝０，１，２，３・・・）とする）が配列し、列方向にバンク０、バンク１、バンク２、バンク３（これをバンクｊ（ｊ＝０，１，２・・）とする）が配列しているものとする。クラスタ０の管理情報１００はバンク０、バンク１、バンク２、バンク３にわたって存在し、その内容をＣ０とする。バンク０〜３には同時にアクセスすることができるので、メモリコントローラ２２はクラスタ０の管理情報１００を書き込む際に全バンク０〜３に同時に書き込む。すなわち、従来においてバンク０のみに書き込んでいた管理情報１００をさらに他のバンク１、２、３にも書き込む。同様に、クラスタ１の管理情報１００は全バンク０〜３にわたって存在し、その内容をＣ１とする。クラスタ２の管理情報１００も全バンク０〜３にわたって存在し、その内容をＣ２とする。クラスタ３〜７も同様であり、それぞれの管理情報１００の内容をＣ３〜Ｃ７とする。
【００２３】
このようなメモリ構成において、システム起動時にＣＰＵ２０からメモリコントローラ２２に対してクラスタ管理情報の取得要求が送信され、メモリコントローラ２２はこの要求に応じて全クラスタの管理情報１００をＡＧ−ＡＮＤフラッシュメモリ２４から読み出す際に、図に示すように対角方向に同時にデータを読み出す。具体的には、行列の各要素を（ｉ，ｊ）とし、ｉ＝０に対応するクラスタ０についてｊ＝０に対応するバンク０の特定ページを読み出して内容Ｃ０の管理情報１００を読み出し、ｉ＝１に対応するクラスタ１についてｊ＝１に対応するバンク１の特定ページを読み出して内容Ｃ１の管理情報１００を読み出し、ｉ＝２に対応するクラスタ２についてｊ＝２に対応するバンク２の特定ページを読み出して内容Ｃ２の管理情報１００を読み出し、ｉ＝３に対応するクラスタ３についてｊ＝３に対応するバンク３の特定ページを読み出して内容Ｃ３の管理情報１００を読み出す。バンク０〜３は同時にアクセスすることができるから、このように対角方向あるいは斜め方向に読み出すことで１回のアクセスで複数のクラスタ０、クラスタ１、クラスタ２、クラスタ３の管理情報１００を読み出すことができる。
【００２４】
次に、再びクラスタ４〜クラスタ７についても、クラスタ０〜３と同様に対角方向に、あるいは斜めの方向に読み出す。すなわち、クラスタ４についてはバンク０の特定ページを読み出し、クラスタ５についてはバンク１の特定ページを読み出し、クラスタ６についてはバンク２の特定ページを読み出し、クラスタ７についてはバンク３の特定ページを読み出すことで、１回の読み出してクラスタ４〜クラスタ７の管理情報１００（Ｃ４〜Ｃ７）を読み出すことができる。なお、第２回目の読み出しにおいて、クラスタ４はｉ＝４に対応するが、これを第１回目に準じてｉ＝０と置き換えることでｉ＝ｊとなる対角方向の読み出しとなる。
【００２５】
従来においては、クラスタ０〜クラスタ７の管理情報１００を全て読み出す場合、まずバンク０からクラスタ０の管理情報１００を読み出し、次にバンク０からクラスタ１の管理情報１００を読み出し、次にバンク０からクラスタ２の管理情報１００を読み出し、以下、これを繰り返してクラスタ数と同じ数の８回の読み出しが必要であるが、本実施形態では２回の読み出しで済むことになり、処理時間が大幅に短縮される。メモリコントローラ２２は、以上のようにして読み出した管理情報をＣＰＵ２０に出力する。
【００２６】
このように、本実施形態では、あるクラスタを構成する全ブロックに同一の管理情報を格納し、複数のバンクには同時にアクセスできるというＡＧ−ＡＮＤフラッシュメモリ２４の性質を利用することで、１回の読み出しで複数のクラスタの管理情報を取得することができる。本実施形態でも、従来と同様に各バンクからは特定のページのみを読み出しているにすぎないことに着目されたい。すなわち、各バンクからの情報読み出し方法を全く変更することなく、処理時間の短縮を実現している。
【００２７】
なお、本実施形態では、複数のバンクにわたって管理情報が格納されているため、対角方向あるいは斜め方向に読み出す他、ランダムに読み出すことも可能である。例えば、図４の例において、クラスタ０の管理情報１００をバンク１から読み出し、クラスタ１の管理情報１００をバンク０から読み出し、クラスタ２の管理情報１００をバンク３から読み出し、クラスタ３の管理情報１００をバンク２から読み出す等である。また、仮にバンク０のブロックから管理情報を読み出すことができなくても、他のバンクから読み出すことができるので、システムの信頼性が向上する。例えば、上記のランダム読み出しと組み合わせ、デフォルトの読み出しを対角方向とし、かつ読み出しエラー検出手段を設け、該検出手段により読み出しエラーが検出された場合にはランダム読み出しで再試行する等の手法が考えられる。
【００２８】
また、本実施形態では、あるクラスタに属する全てのブロックは同一行に存在し、このために対角方向に読み出すことで１回の読み出しで複数のクラスタの管理情報を取得することが可能となっているが、これを担保するために、仮にあるブロックにエラーが生じた場合、そのブロックの属する行を全て使用不可とすることが好適である。すなわち、あるブロックにエラーが生じた場合、そのブロックのみを使用不可とし、同一行に属する他のブロックはそのまま使用可能とすることも考えられるが、あるクラスタに属するブロックが複数行にわたることになり、アドレス管理が複雑化する。あるブロックがエラーとなった場合、その行を全て使用不可とすることで、アドレス管理を容易なものとするとともに、斜め方向の読み出しによる複数クラスタの管理情報１００の同時取得を維持できる。さらに、行単位で使用不可とすることで行単位でのプログラム管理も可能となり、システム起動時に段階的にプログラムをロードすることも容易となる。
【００２９】
本実施形態では、クラスタに属する全ブロックのアドレス情報や物理−論理アドレス対応テーブルなどの管理情報１００を例示したが、クラスタの固有の情報（固有情報）であれば任意の情報に適用できる。
【図面の簡単な説明】
【００３０】
【図１】実施形態におけるデジタルカメラの構成ブロック図である。
【図２】実施形態の管理情報の格納状態説明図である。
【図３】実施形態の読み出し方法説明図である。
【図４】実施形態の他の読み出し方法説明図である。
【図５】ＡＧ−ＡＮＤフラッシュメモリの概念構成図である。
【図６】従来の管理情報の格納状態説明図である。
【符号の説明】
【００３１】
１０  レンズ、１２  イメージセンサ、１４  ＣＤＳ／ＡＧＣ回路、１６  ＡＤＣ、１８  ＤＳＰ、２０  ＣＰＵ、２２  メモリコントローラ、２４  ＡＧ−ＡＮＧフラッシュメモリ、２６  ＬＣＤドライバ、２８  ＬＣＤ、１００  管理情報。
【図１】
2007095222.tif 000003
【図２】
2007095222.tif 000004
【図３】
2007095222.tif 000005
【図４】
2007095222.tif 000006
【図５】
2007095222.tif 000007
【図６】
2007095222.tif 000008