(57)【要約】      （修正有）【課題】複数のNANDメモリの複数のメモリブロックに対して並列にアクセスする機能を有するメモリシステムにおいて、複数のメモリブロックに対して並列にアクセスする際、複数のメモリブロックのうち１つでも不良ブロックがある場合でも、単独にアクセスすることにより、NANDメモリの性能の低下を最小限に抑制し、かつ、無駄なメモリブロックが発生しないように管理する。【解決手段】NANDフラッシュメモリのアクセス管理に使用する管理テーブルを有するメモリシステムにおいて、管理テーブルを、並列にアクセスする場合にメモリブロックの並列度に応じた管理をする領域空間に対応する並列管理テーブルと単独にアクセスする場合に管理をする領域空間に対応する単独管理テーブルとに分離し、並列にアクセスするメモリブロックのうち１つでも不良ブロックがあれば単独管理テーブルにエントリして単独にアクセスするように切り換える機能とを具備する。【選択図】図２
2009266125.tif 000002
【特許請求の範囲】
【請求項１】
NANDフラッシュメモリのアクセス管理に使用する管理テーブルを有するメモリシステムにおいて、
前記NANDフラッシュメモリの複数のメモリブロックに対して並列にアクセスする並列ブロックアクセス機能および前記複数のメモリブロックのうちの特定のメモリブロックに単独にアクセスする単独ブロックアクセス機能と、
前記管理テーブルを、前記並列にアクセスする場合にメモリブロックの並列度に応じた管理をする領域空間に対応する並列管理テーブルと単独にアクセスする場合に管理をする領域空間に対応する単独管理テーブルとに分離し、並列にアクセスするメモリブロックのうち１つでも不良ブロックがあれば単独管理テーブルにエントリして単独にアクセスするように切り換える機能
を具備することを特徴とするメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュEEPROM（Flash-EEPROM）型の不揮発性メモリを用いたメモリシステムに係り、特に複数のNANDフラッシュメモリ（以下、NANDメモリ）のメモリブロックに対して並列にアクセスする機能を有するメモリシステムに関するもので、例えばハードディスク装置の代替としてメインストレージに使用されるものである。
【背景技術】
【０００２】
現在、半導体メモリは大型コンピュータの主記憶から、パーソナルコンピュータ、家電製品、携帯電話等、至る所で利用されている。市場が大きく伸びているものは、NAND-Flash Memoryに代表されるフラッシュEEPROM型の不揮発性メモリである。これは、電源を切ってもデータが消えない、高集積化に適した構造になっている、などといったことから、今では携帯電話やデジタルカメラ等、多くの情報機器に利用されている。すなわち、デジタルカメラ、デジタルビデオ、MP3 等の音楽機器、モバイル用パソコン等の記憶媒体、デジタルテレビ等において、画像、動画、音声、ゲーム等の情報を記憶する媒体として、各種メモリカード（SDカード、MMC カード、MSカード、CFカード等）、パソコンの記憶媒体としてUSB 対応のメモリ（USB メモリ）、携帯電話のメモリ等にも用いられている。
【０００３】
フラッシュEEPROM型の不揮発性メモリは主にNOR 型のメモリ（NOR メモリ）とNAND型のメモリ（NANDメモリ）が有る。NOR メモリは、高速読み出し、読み出し回数が1013程度の特性を有し、携帯機器の命令コード記憶として使われているが、書き込みの実効バンド幅が小さいので、ファイル記録には適していない。
【０００４】
これに対して、NANDメモリは、NOR メモリに比べて高集積化が可能であり、読み出し特性に関しては、アクセス時間は25μs程度と遅いが、バースト読み出しが可能であって実効バンド幅が高い。また、書き込み特性に関しては、プログラム時間が200μs 、消去時間が1ms 程度と遅いが、一度にプログラム、消去可能なビット数が多く、バースト動作で書き込みデータを取り込み、一度に多数のビットをページ単位でプログラムできるので、実効バンド幅が高い。
【０００５】
また、NANDメモリは、高集積化による大容量化が可能であるので、最近ではハードディスクの置き換えとしても考えられているが、使用上の幾つかの制約がある。まず、読み書き（＆消去）回数によるデータ劣化があるので、書き込み回数制限（プログラム・消去回数制限）がある。すなわち、NANDメモリのプログラムは、基板に対してメモリセルトランジスタのゲートに高電圧をかけることによってフローティングゲートに電子を注入させる。この動作を何回も行うと、メモリセルトランジスタのフローティングゲート周りの酸化膜が劣化し、データを破壊してしまう。現在、NANDメモリの読み書き（＆消去）可能な回数は、105 回程度であり、他の不揮発メモリと比べて非常に少なく、今後のプロセスの微細化やセルの多値化に伴い、書き込み回数がさらに少なくなっていく見込みである。NANDメモリをメモリカードやUSB メモリなどで用いる場合は、105 回程度アクセスするには相当な時間がかかるので、NANDメモリを現実的に使用可能である。しかし、NANDメモリをハードディスクの置き換え用のシステムに載せることを考えると、短期間で105 回程度のアクセス回数に達してしまう。
【０００６】
また、NANDメモリには、書き込む前に消去を伴う二度書き禁止の制約もある。NANDメモリのプログラムはフローティングゲートに電子を注入する方向（データ"1" →データ"0"の方向：0 書き）でしか制御できず、電子を引き抜く（データ"0" →データ"1" の方向：1 書き）際には、消去をしなければならない。この際、一般に、プログラムはページ単位であるのに対して、消去は数ページから構成されるブロック単位でしかできない。そこで、プログラム済みのページのデータを変更したい場合には、同じブロックにあるデータを別の領域に一時退避させ、消去を行ってから再度プログラムする必要がある。実際は、前記した書き換え回数制限があるので、書き換えたいページを別の消去済み領域に書き込み、論理−物理変換テーブルなどを用いて管理することにより、プログラム／消去の過度な動作を回避している。
【０００７】
NANDメモリのさらなる制約条件として、NANDメモリではページ逆順プログラムが禁止されている。例えば、あるブロック内でプログラムする際には、ページアドレス0 から昇順に実行しなければならない制約がある。
【０００８】
以上のようなNANDメモリを用いてメモリシステムを構築する場合、特にハードディスクの代替に使用するメインストレージをソリッドステートドライブ（SSD ）として構築する場合を考える。この場合、高速／性能が要求され、複数のメモリブロックに対して並列にアクセスし、かつ、アクセスの並列度を例えば４並列（８ビット×４チャネル）以上に増やすことが必要となる。しかし、欠陥セルを多数抱える不良メモリブロック数のバラツキが大きいと、並列にアクセスすると、使用可能なチャネルのメモリブロックが無駄にされるという問題が生じる。
【０００９】
なお、特許文献１には、論理ブロックと、論理ブロックのアドレスを記憶する冗長部を有する物理ブロックと、論理ブロックと物理ブロックとの対応関係を管理する論理番地／物理番地変換テーブルを作成する方法が開示されている。
【特許文献１】特開平１１−１１０２８３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は前記した従来の問題点を解決すべくなされたもので、NANDメモリの複数のメモリブロックに対して並列にアクセスする場合でも、NANDメモリの性能の低下を最小限に抑制し、かつ、無駄なメモリブロックが発生しないように管理し得るメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、NANDフラッシュメモリのアクセス管理に使用する管理テーブルを有するメモリシステムにおいて、前記NANDフラッシュメモリの複数のメモリブロックに対して並列にアクセスする並列ブロックアクセス機能および前記複数のメモリブロックのうちの特定のメモリブロックに単独にアクセスする単独ブロックアクセス機能と、前記管理テーブルを、前記並列にアクセスする場合にメモリブロックの並列度に応じた管理をする領域空間に対応する並列管理テーブルと単独にアクセスする場合に管理をする領域空間に対応する単独管理テーブルとに分離し、並列にアクセスするメモリブロックのうち１つでも不良ブロックがあれば単独管理テーブルにエントリして単独にアクセスするように切り換える機能を具備することを特徴とする。
【発明の効果】
【００１２】
本発明のメモリシステムによれば、NANDメモリの複数のメモリブロックに対して並列にアクセスする際、複数のメモリブロックのうち１つでも不良ブロックがある場合でも、NANDメモリの性能の低下を最小限に抑制し、かつ、無駄なメモリブロックが発生しないように管理することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施形態を説明する。この説明に際して、全図にわたり共通する部分には共通する参照符号を付す。
【００１４】
＜第１の実施形態＞
図１は、本発明のメモリシステムの第１の実施形態に係る並列アクセスが可能なSSD のハードウェア構成の一例を概略的に示すブロック図である。本例では、４チャネル並列アクセスが可能な構成を示している。図２は、図１のSSD におけるファームウェア（FW）層とハードウェア（HW）層との関係の一例を詳細に示すブロック図である。
【００１５】
図１及び図２において、111 〜114 はフローティングゲートを有する電気的にデータの消去、書き込みが可能なメモリセルのアレイを有する複数フラッシュ型のEEPROMメモリ（本例ではNANDメモリ）である。SSD コントローラ（SSD Controller）10は、NANDメモリコントローラ（NANDC）12と、DMAC（ダイレクトメモリアクセスコントローラ）13と、NANDメモリ111 〜114 のデータを一時記憶するためのキャッシュメモリ、MeP 、Boot ROM、PIO 、SIO 、ATA-C 、DRAM-C等の各種コントローラ、外部のホストコンピュータ（PC）41や通信ターミナル（Terminal）42との通信を行う各種のインターフェース回路（I/F）等を有する。なお、キャッシュメモリとしては、DRAM、SRAMなどの揮発性メモリまたはFeRAM 、MRAM、PRAM、RRAMなどの不揮発性メモリを用いることができる。
【００１６】
FW層20には、ブートローダ（Boot Loader）21、ATAマネージャ（ATA Manager）22、セキュリティマネージャ（Security Manager）23、データマネージャ（Data Manager）24、デバッグマネージャ（Debug Manager）25、各種ドライバ(Driver)等が含まれ、これらのうち、特にデータマネージャ24が本発明に関係する。
【００１７】
データマネージャ24は、NANDメモリ111 〜114 のアクセス管理およびブロック領域のデータ管理に使用するための管理テーブル（NANDメモリ111 〜114 における不良ブロック領域のアドレスを登録した不良ブロックアドレス管理テーブルも含む）を有する。
【００１８】
NANDメモリコントローラ12は、NANDメモリ111 〜114 の各メモリブロック（複数のメモリブロック）に対して並列にアクセス（４チャネル並列ブロックアクセス）する並列ブロックアクセス機能と、複数のメモリブロックのうちの特定のメモリブロックに単独にアクセスする単独ブロックアクセス機能を有する。さらに、管理テーブルを、並列ブロックアクセスする場合にメモリブロックの並列度に応じた管理をする領域空間に対応する並列管理テーブルと、単独ブロックアクセスする場合に管理をする領域空間に対応する単独管理テーブルとに分離する機能を有する。さらに、並列にアクセスするメモリブロックのうち１つでも不良ブロック（Bad Block）があれば単独管理テーブルにエントリして単独にアクセスするように切り換える機能を有する。
【００１９】
そして、NANDメモリコントローラ12は、NANDメモリ111 〜114 におけるアクセス対象としてそれぞれのメモリブロックを並列にアクセスしようとする場合に、データマネージャ24により管理されている不良ブロックアドレス管理テーブルに基づき、アクセス対象に不良ブロック領域が存在しないことを判定した場合には、並列管理テーブルに基づいて並列ブロックアクセス処理を行う機能を有する。さらに、NANDメモリコントローラ12は、アクセス対象のうちに１つでも不良ブロック領域が存在する場合には、単独管理テーブルにエントリして単独ブロックアクセスに切り換え処理を行う機能を有する。
【００２０】
上記処理は、NANDメモリに接続されているMPU でも実施することは可能であるが、データの比較に要する時間が長くなり、他の処理へのオーバーヘッドになるので、本発明ではNANDメモリコントローラ12に上記処理の機能を持たせている。
【００２１】
図３は、図１中の４個のNANDメモリ111 〜114 に対して並列ブロックアクセスを行う場合の物理構成および論理アドレス／物理アドレスの変換を行って単独ブロックアクセスを行う場合の様子を示す。図３中、30は正常ブロック領域、31は不良ブロック領域、30a は単独ブロックアクセスによって救済される正常ブロック領域、30b は並列ブロックアクセスされる正常ブロック領域である。ここでは、４個のNANDメモリ111 〜114 にそれぞれ不良ブロック領域31が存在する場合を想定している。
【００２２】
図３によれば、NANDメモリ111 〜114 に対して並列ブロックアクセスを行う際、複数のメモリブロックのうち１つでも不良ブロック領域がある場合には単独にアクセスすることにより、不良ブロック領域以外の正常ブロックが救済されることが分かる。
【００２３】
なお、例えば16ＭビットのNANDメモリにおいて、物理ブロックの各ページは、256 バイトのデータ領域と、8 バイトの冗長領域とを有する。また、例えば64ＭビットのNANDメモリにおいて、物理ブロックの各ページは、512 バイトのデータ領域と、16バイトの冗長領域とを有する。このような構成により、NANDメモリの実際の物理的なビット数は、公称のビット数よりも大きく、両者のビット数差に相当するメモリ領域を利用して所要のデータ（格納データの正否フラグ、Block Address データ、ECC データ等）を記憶している。
【００２４】
上記したように本実施形態のメモリシステムによれば、NANDメモリの複数のメモリブロックに対して並列にアクセスする際、複数のメモリブロックのうち１つでも不良ブロックがある場合でも、単独にアクセスすることにより、NANDメモリの性能の低下を最小限に抑制し、かつ、無駄なメモリブロックが発生しないように管理することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明のメモリシステムの第１の実施形態に係る並列アクセスが可能なＳＳＤのハードウェア構成の一例を概略的に示すブロック図。
【図２】図１のＳＳＤにおけるファームウェア層とハードウェア層との関係の一例を詳細に示すブロック図。
【図３】図１中の４個のNANDメモリに対して並列アクセスを行う場合の物理構成および論理アドレス／物理アドレスの変換を行って単独ブロックアクセスを行う場合の様子を示す図。
【符号の説明】
【００２６】
10…SSD コントローラ、111 〜114 …NANDメモリ、12…NANDメモリコントローラ、20…FW層、24…データマネージャ。
【図１】
2009266125.tif 000003
【図２】
2009266125.tif 000004
【図３】
2009266125.tif 000005