(57)【要約】【課題】多値ＮＡＮＤフラッシュメモリは読み出しデータに誤りが発生するために複数ビットのエラーが訂正できるエラー訂正回路が必要だが、フラッシュメモリ内に格納した起動プログラムを実行するシステム起動の際にはＣＰＵが動作していないため、通常アクセス時とは異なり、全てハードウェアで処理を実行するエラー訂正回路を追加する必要があり、システム全体の規模が増大してしまうという問題が生じる。【解決手段】起動プログラム実行時（システム起動時）のみ、多値ＮＡＮＤフラッシュメモリ３を２値ＮＡＮＤフラッシュメモリと同等の使い方にすることで、エラー訂正回路として２値ＮＡＮＤフラッシュメモリアクセス時に用いる小規模な１ビットエラー訂正回路４を使用することが可能となり、回路規模を削減することが可能になる。【選択図】図１
2006146406.tif 000002
【特許請求の範囲】
【請求項１】
データを入出力する手段と、読み出しデータのエラーを訂正するエラー訂正手段と、データを格納する多値ＮＡＮＤフラッシュメモリとを備え、多値ＮＡＮＤフラッシュメモリにアクセスする状況に応じて多値ＮＡＮＤフラッシュメモリ用アクセスと２値ＮＡＮＤフラッシュメモリ用アクセスとを適応的に切り替えることにより、エラー訂正手手段を簡略化することを特徴とする不揮発性メモリシステム。
【請求項２】
前記２値ＮＡＮＤフラッシュメモリ用アクセスは、多値ＮＡＮＤフラッシュメモリの奇数ページのみにデータを書き込むことを特徴とする請求項１記載の不揮発性メモリシステム。
【請求項３】
前記２値ＮＡＮＤフラッシュメモリ用アクセスは、多値ＮＡＮＤフラッシュメモリの偶数ページのみにデータを書き込むことを特徴とする請求項１に記載の不揮発性メモリシステム。
【請求項４】
前記２値ＮＡＮＤフラッシュメモリ用アクセスは、多値ＮＡＮＤフラッシュメモリの奇数ページおよび偶数ページに同一のデータを書き込むことを特徴とする請求項１に記載の不揮発性メモリシステム。
【請求項５】
前記２値ＮＡＮＤフラッシュメモリ用アクセスでは、２値ＮＡＮＤフラッシュメモリで用いられる１ビットエラー訂正手段を用いて多値ＮＡＮＤフラッシュメモリのエラー訂正処理を行うことを特徴とする請求項１に記載の不揮発性メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多値ＮＡＮＤフラッシュメモリを用いてデータの書き込みおよび読み出しを行う不揮発性メモリシステムに関するものである。
【背景技術】
【０００２】
デジタル制御機器でのデータの格納手段として、従来からＮＯＲフラッシュメモリやＮＡＮＤフラッシュメモリなどの不揮発性メモリが用いられてきた。特にＮＡＮＤフラッシュメモリはＮＯＲフラッシュメモリに比べて容量当たりのコストが安く、使用量が急速に増加している。このＮＡＮＤフラッシュメモリはデータ格納の最小単位である１メモリセルで「０」と「１」の２つのデータを格納することができるため、２値ＮＡＮＤフラッシュメモリとも呼ばれる。
【０００３】
しかし、この２値ＮＡＮＤフラッシュメモリは、読み出し動作を行った際に、読み出したデータにエラーが発生することがあり、読み出しデータに一定以上の品質を確保するために、読み出しデータにエラーがあった場合にはそのエラーを訂正するエラー訂正手段が必要となる。そのため、２値ＮＡＮＤフラッシュメモリを用いたシステムではエラー訂正手段を装備していることが多い。この場合のエラー訂正の方法としては、２値ＮＡＮＤフラッシュメモリのエラー発生頻度を考慮し、１ビットのエラーを訂正することが可能な１ビットエラー訂正手段を用いるのが一般的である。
【０００４】
一方、最近では１メモリセルあたり「０」、「１」、「２」、「３」と４つの値を持つことで、従来の２値ＮＡＮＤフラッシュメモリよりも安価にすることが可能な多値ＮＡＮＤフラッシュメモリが使われるようになった。この多値ＮＡＮＤフラッシュメモリは奇数ページ、偶数ページという連続する２ページの同一アドレスビットで同一の多値メモリセルを共有している（例えば、特許文献１参照）。
【０００５】
以下にこの従来例について、図７を用いて説明する。
【０００６】
図７において、多値ＮＡＮＤフラッシュメモリ３へデータを書き込む場合には、書き込むべきデータをデータ入出力制御手段１に入力し、このデータ入出力制御手段１でデータの入出力極性などを制御し、エラー訂正手段７でエラー訂正のための情報の付加を行い、多値ＮＡＮＤフラッシュメモリ３にデータを格納する。
【０００７】
また逆に多値ＮＡＮＤフラッシュメモリ３からのデータを読み出す場合には、多値ＮＡＮＤフラッシュメモリ３から読み出されたデータに対し、エラー訂正手段７でエラー発生の判定やエラー訂正処理を行い、データ入出力制御手段１を介して外部に出力する。
【０００８】
多値ＮＡＮＤフラッシュメモリ３は２値ＮＡＮＤフラッシュメモリと比較して、同一メモリセル当たりで約２倍の記憶容量を持つが、その原理上、エラー発生比率は２値ＮＡＮＤフラッシュメモリよりも多くなる。そのため、２値ＮＡＮＤフラッシュメモリにおいては他の不揮発性メモリ、例えばＮＯＲフラッシュメモリ、と同等の読み出し品質を確保するために特定の読み出し容量当たり１ビットのエラーを訂正する能力を必要としていた野に対し、多値ＮＡＮＤフラッシュメモリでは、１ビットエラー訂正ではなく２ビット以上の複数ビットエラー訂正能力が必要となる。そのため、この従来例でのエラー訂正手段７は、特定の読み出し容量あたり複数ビットのエラー訂正能力を有している。
【０００９】
また、このエラー訂正処理をハードウェアのみで行うには、多値ＮＡＮＤフラッシュメモリ３から１ページ分のデータを保持しておく必要があり、そのためには大容量のバッファが必要になるので、回路規模やコストが増大してしまう。
【００１０】
そこでこれを回避するための方法として、この多値ＮＡＮＤフラッシュメモリ３からのページデータを一旦ＣＰＵ内部のメモリ、もしくはＣＰＵに接続した外部メモリに蓄えて、ＣＰＵを用いたソフトウェア処理でエラー訂正処理を行うという方法がある。
【特許文献１】特開２０００−２５１４８４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記の従来例では、もしシステム起動用プログラムを多値ＮＡＮＤフラッシュメモリ内部に格納した場合、このシステム起動用プログラムを読み出す段階、すなわちシステム起動時にはＣＰＵはまだ起動しておらず、システム起動用プログラムのデータを多値ＮＡＮＤフラッシュメモリから読み出したとしても、ＣＰＵを用いたエラー訂正処理を行うことができない。そのため、このようにシステム起動用プログラムを多値ＮＡＮＤフラッシュメモリ内に格納して読み出しを行う場合には、図２のように従来のＣＰＵ処理によるエラー訂正手段である複数ビットエラー訂正手段２とは別に、ＣＰＵでの処理を必要とせず、そして全てハードウェアで処理を行うことが可能なエラー訂正手段である複数ビットエラー訂正手段６が別途必要となるため、回路規模やコストが増大してしまい、また処理内容によってはエラー訂正のための付加情報が大きくなり、フラッシュメモリ内部容量の使用効率が低下する場合があるという課題がある。
【００１２】
また回路規模削減のために、多値ＮＡＮＤフラッシュメモリ用複数ビットエラー訂正手段と比較すると小規模回路で済む２値ＮＡＮＤフラッシュメモリ用１ビットエラー訂正手段を用いた場合、エラー訂正能力が不足してしまうために、所定の読み出しデータ品質を確保できないと言う課題も残される。
【課題を解決するための手段】
【００１３】
本発明の不揮発性メモリシステムは、データ入出力制御手段と、ＣＰＵでエラー訂正処理を行う複数ビットエラー訂正手段と、ＣＰＵを用いずにハードウェアでエラー訂正処理を行う複数ビットエラー訂正手段と、多値ＮＡＮＤフラッシュメモリ制御とエラー訂正処理を行うためのＣＰＵと、多値ＮＡＮＤフラッシュメモリとを備え、フラッシュメモリ内に格納したデータやシステムの状態に応じて、エラー訂正処理をＣＰＵ処理かハード処理のどちらを用いるかを切り替えることを特徴とするものである。
【発明の効果】
【００１４】
本発明に係る不揮発性メモリシステムによれば、システム起動時などでＣＰＵが動作していない場合においても複数のエラー訂正手段を適応的に切り替えることにより、最小限の回路規模でエラー訂正処理を行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明に係る不揮発性メモリシステムの実施の形態について、図面に基づき詳細に説明する。
【００１６】
（実施の形態１）
図１は本発明の実施の形態１に係る不揮発性メモリシステムの一例である。以下、本実施の形態１において、本発明の動作を具体的に説明する。図１では、データの入出力を制御するデータ入出力制御手段１と、ＣＰＵでエラー訂正処理を行う複数ビットエラー訂正手段３と、ＣＰＵを用いずにハードウェアでエラー訂正処理を行う２値ＮＡＮＤフラッシュメモリ、本実施例では１ビットエラー訂正手段３と、多値ＮＡＮＤフラッシュメモリ制御とエラー訂正処理を行うためのＣＰＵ５と、多値ＮＡＮＤフラッシュメモリ３と、データ入出力制御手段１からの信号をＣＰＵ５からの信号により１ビットエラー訂正手段３と複数ビットエラー訂正手段４とに切り換えて出力する第１の切換手段と、複数ビットエラー訂正手段３または複数ビットエラー訂正手段４からの信号を多値ＮＡＮＤフラッシュメモリ３に、ＣＰＵ５からの信号によって切り換えて入出力する第２の切換手段である。
【００１７】
図１において、多値ＮＡＮＤフラッシュメモリ３に格納したいデータを書き込む場合、入力データをデータ入出力制御手段１に入力する。データ入出力制御手段１では、データの書き込みの場合と読み出しの場合に応じて、データの入出力の極性を切り替える。また多値ＮＡＮＤフラッシュメモリ３の制御のために必要な処理を行う。
【００１８】
このデータ入出力制御手段１から出力されたデータはスイッチ１（ＳＷ１）に入力され、ＣＰＵ５が起動している場合にはＳＷ１は複数ビットエラー訂正手段２とつながるように切り替えられる。入力データは複数ビットエラー訂正手段２でエラー判定やエラー訂正のために必要な情報を付加されて、スイッチ２（ＳＷ２）を経由して多値ＮＡＮＤフラッシュメモリ３に入力され、格納される。なお、ＳＷ１、ＳＷ２は定常状態として、１ビットエラー訂正手段につながれているものである。
【００１９】
次にデータを多値ＮＡＮＤフラッシュメモリ３から読み出す場合には、多値ＮＡＮＤフラッシュメモリ３からのデータがＳＷ２を経由して複数ビットエラー訂正手段２に入力され、ＣＰＵ処理によってエラー訂正処理を行い、ＳＷ１、データ入出力制御手段１を経由して読み出しデータが出力される。
【００２０】
一方、ＣＰＵ５が起動していないシステム起動時の場合、前述したように多値ＮＡＮＤフラッシュメモリ３に格納しているシステム起動用プログラムを読み出す際には、ＣＰＵ５はまだ起動しておらず、ＣＰＵ処理によってエラー訂正処理を行う複数ビットエラー訂正手段２でのエラー訂正処理はできない。そこで、このようにＣＰＵが起動していない状態での多値ＮＡＮＤフラッシュメモリ３へのデータ書き込みおよび多値ＮＡＮＤフラッシュメモリ３からのデータ読み出しには、ＣＰＵ処理を用いずにハードウェアのみでエラー訂正処理を行い、かつ２値ＮＡＮＤフラッシュメモリと同様のアクセスを行うことが本実施の形態での特徴である。
【００２１】
多値ＮＡＮＤフラッシュメモリ３は、図３に示すように、ページ１とページ２というように連続する奇数ページと偶数ページのデータ同士を同じメモリセルで共有している。つまり、１つのメモリセルの「０」、「１」、「２」、「３」という４つのデータを用いて、奇数ページの「０」と「１」、偶数ページの「０」と「１」を表現している。これにより１つのメモリセルで４つの値を持つことが可能となり、２値ＮＡＮＤフラッシュメモリに比べて２倍の記録容量を得ることが可能となっている。しかし、１つのセルを２値ではなく４値で使用することによって、メモリセル内部の電荷変動に対する耐性が悪化し、２値に比べてデータエラー発生の頻度が増してしまうことになる。
【００２２】
そこで、図４に示すように多値ＮＡＮＤフラッシュメモリの奇数ページだけにデータを書き込み、偶数ページにはデータを書き込まないというアクセス方法を行うと、１つのメモリセルには奇数ページの２値データしか記録されないので、メモリセルの電荷変動に対する耐性は２値ＮＡＮＤフラッシュメモリと極めて近いレベルとなる。
【００２３】
すなわち、このアクセス方法は電荷変動によるエラー発生という観点から見ると、擬似的に２値ＮＡＮＤフラッシュメモリと同等のアクセスであると言える。またその場合のエラー発生頻度は２値ＮＡＮＤフラッシュメモリとほぼ同等であるので、エラー訂正手法としては２値ＮＡＮＤフラッシュメモリで使用する１ビットエラー訂正処理を行えばよいことになり、多値ＮＡＮＤフラッシュメモリに２値ＮＡＮＤフラッシュメモリと同等のアクセス方法、同一のエラー訂正処理を用いることで、２値ＮＡＮＤフラッシュメモリとほぼ同等の読み出しデータ品質を確保することが可能となる。
【００２４】
具体的には、システム起動用プログラムだけは多値ＮＡＮＤフラッシュメモリ３上に前述した２値ＮＡＮＤフラッシュメモリと同じアクセス方法で記録しておき、このシステム起動用プログラムを読み出す時だけＳＷ２を１ビットエラー訂正手段４の方に切り替えて、読み出したシステム起動用プログラムを１ビットエラー訂正手段４に入力する。
【００２５】
次に１ビットエラー訂正手段４で２値ＮＡＮＤフラッシュメモリを使用する際に行うのと同じ１ビットエラー訂正処理を行い、ハードウェア処理だけで１ビットエラーを訂正する。そしてＳＷ１とデータ入出力制御手段１を経由してシステム起動用プログラムを出力する。この後、システムが起動してＣＰＵも使用可能になると、多値ＮＡＮＤフラッシュメモリ３内部のシステム起動用プログラム以外のデータは、複数ビットエラー訂正手段２を用いてエラー訂正処理を行い、ＳＷ１とデータ入出力制御手段１を経由してデータを出力する。
【００２６】
以上のように本実施の形態に係る不揮発性メモリシステムを用いると、ＣＰＵが起動していない状態でシステム起動用プログラムを読み出す場合と、ＣＰＵ起動状態でシステム起動プログラム以外のデータを読み出す場合とでエラー訂正処理の内容を切り替えることで、システム起動も可能な不揮発性メモリシステムを最小限の回路規模で実現することが可能となる。
【００２７】
なお、本実施の形態においては、多値ＮＡＮＤフラッシュメモリとして「０」、「１」、「２」、「３」の４値の場合の例を述べたが、これは４値に限らず８値、１６値等の多値においても同様の効果が得られる。
【００２８】
これに関しては、以下に述べる他の実施の形態においても同様である。
【００２９】
（実施の形態２）
図１は本発明の実施の形態１に係る不揮発性メモリシステムの別の一例である。この構成は本実施の形態においても同一である。以下、本実施の形態において本発明の動作を具体的に説明する。
【００３０】
（実施の形態１）においては、多値ＮＡＮＤフラッシュメモリ３を２値ＮＡＮＤフラッシュメモリとして用いる際に、図４のように奇数ページのみ使用し、偶数ページは使用しないという方法であったが、本実施の形態では、これを図５のように偶数ページのみ使用して、奇数ページは使用しないというデータ書き込み方法である。書き込み、読み出し時の処理、効果などは実施の形態１と同一である。
【００３１】
（実施の形態３）
図１は本発明の実施の形態１に係る不揮発性メモリシステムの一例である。この構成は実施の形態３においても同一である。以下、本実施の形態３において、本発明の動作を具体的に説明する。
【００３２】
多値ＮＡＮＤフラッシュメモリ３を２値ＮＡＮＤフラッシュメモリとして用いる際に、実施の形態１においては図４のように奇数ページのみ使用して、偶数ページは使用しないという方法、実施の形態２においては図５のように偶数ページのみ使用して、奇数ページは使用しないという方法であったが、実施の形態３では、これを図６のように奇数ページと偶数ページに同一データを書き込むという使用方法である。書き込み、読み出し時の処理、効果などは実施の形態１と同一である。
【産業上の利用可能性】
【００３３】
本発明に係る不揮発性メモリシステムは、少ない回路規模での多値ＮＡＮＤフラッシュメモリを用いたデータの書き込みおよび読み出しを行う不揮発性メモリシステムに関するものである。
【図面の簡単な説明】
【００３４】
【図１】本発明に係る不揮発性メモリシステムの一例である構成図
【図２】従来のシステム起動用プログラムを多値ＮＡＮＤフラッシュメモリに格納した場合のシステム構成図
【図３】多値ＮＡＮＤフラッシュメモリのページ構成図
【図４】本発明の一実施の形態の多値ＮＡＮＤフラッシュメモリのページ構成図
【図５】本発明の他の実施の形態の多値ＮＡＮＤフラッシュメモリのページ構成図
【図６】本発明の他の実施の形態の多値ＮＡＮＤフラッシュメモリのページ構成図
【図７】従来例における不揮発性メモリシステムのシステム構成図
【符号の説明】
【００３５】
１    データ入出力制御手段
２    複数ビットエラー訂正手段（ＣＰＵ処理）
３    多値ＮＡＮＤフラッシュメモリ
４    １ビットエラー訂正手段（ハードウェア処理）
５    エラー訂正処理用ＣＰＵ
６    複数ビットエラー訂正手段（ハードウェア処理）
７    エラー訂正手段
【図１】
2006146406.tif 000003
【図２】
2006146406.tif 000004
【図３】
2006146406.tif 000005
【図４】
2006146406.tif 000006
【図５】
2006146406.tif 000007
【図６】
2006146406.tif 000008
【図７】
2006146406.tif 000009