(57)【要約】【課題】信頼性の異なる様々な種類のフラッシュメモリに対し、１種類のメモリコントローラで誤り訂正を行うことが可能な不揮発性記憶装置を提供する。【解決手段】メモリコントローラ１０４は、誤り訂正能力の異なる複数のＥＣＣ回路１０５および１０６と、フラッシュメモリ１０３の種類と複数のＥＣＣ回路との対応関係を示す情報を格納したＥＣＣテーブル１０７とを備えている。  メモリコントローラ１０４は、ＥＣＣテーブル１０７によってフラッシュメモリ１０３の種類に対応したＥＣＣ回路１０５か１０６を選択し、（ａ）フラッシュメモリ１０３にデータを書き込む際には、前記選択したＥＣＣ回路を用いて、単位サイズのデータにＥＣＣ符号を付加し、（ｂ）フラッシュメモリ１０３からデータを読み出す際には、前記選択したＥＣＣ回路を用いて、ＥＣＣ符号が付加された単位サイズのデータの誤り訂正を行う。【選択図】図１
2007207376.tif 000002
【特許請求の範囲】
【請求項１】
データを格納する不揮発性メモリと、データを前記不揮発性メモリに書き込み、または前記不揮発性メモリに格納されたデータを読み出すメモリコントローラとを備えた不揮発性記憶装置であって、
前記メモリコントローラは、
誤り訂正能力の異なる複数のＥＣＣ回路と、
前記不揮発性メモリの種類と前記複数のＥＣＣ回路との対応関係を示す情報を格納したＥＣＣテーブルとを備え、
前記メモリコントローラは、前記ＥＣＣテーブルによって前記不揮発性メモリの種類に対応したＥＣＣ回路を選択し、
（ａ）前記不揮発性メモリにデータを書き込む際には、前記選択したＥＣＣ回路を用いて、単位サイズのデータにＥＣＣ符号を付加し、
（ｂ）前記不揮発性メモリからデータを読み出す際には、前記選択したＥＣＣ回路を用いて、ＥＣＣ符号が付加された単位サイズのデータの誤り訂正を行う
ことを特徴とする不揮発性記憶装置。
【請求項２】
前記不揮発性メモリとしてフラッシュメモリを用いたことを特徴とする請求項１に記載の不揮発性記憶装置。
【請求項３】
データを格納する不揮発性メモリと、データを前記不揮発性メモリに書き込み、または前記不揮発性メモリに格納されたデータを読み出すメモリコントローラとを備えた不揮発性記憶装置であって、
前記メモリコントローラは、
誤り訂正を行うＥＣＣ回路と、
前記不揮発性メモリの種類とＥＣＣ符号を付加するデータサイズとの対応関係を示す情報を格納したＥＣＣテーブルとを備え、
前記メモリコントローラは、前記ＥＣＣテーブルによって前記不揮発性メモリの種類に対応したデータのサイズを選択し、
（ａ）前記不揮発性メモリにデータを書き込む際には、前記ＥＣＣ回路を用いて、前記選択したサイズのデータにＥＣＣ符号を付加し、
（ｂ）前記不揮発性メモリからデータを読み出す際には、前記ＥＣＣ回路を用いて、前記選択したサイズのデータにＥＣＣ符号が付加されたデータの誤り訂正を行う
ことを特徴とする不揮発性記憶装置。
【請求項４】
前記不揮発性メモリとしてフラッシュメモリを用いたことを特徴とする請求項３に記載の不揮発性記憶装置。
【請求項５】
データを格納する不揮発性メモリと、データを前記不揮発性メモリに書き込み、または前記不揮発性メモリに格納されたデータを読み出すメモリコントローラとを備えた不揮発性記憶装置であって、
前記メモリコントローラは、
誤り訂正能力の異なる複数のＥＣＣ回路と、
前記不揮発性メモリの種類と前記複数のＥＣＣ回路との対応関係を示す第１の情報および、前記不揮発性メモリの種類とＥＣＣ符号を付加するデータサイズとの対応関係を示す第２の情報を格納したＥＣＣテーブルとを備え、
前記メモリコントローラは、前記第１の情報によって前記不揮発性メモリの種類に対応したＥＣＣ回路を選択し、さらに前記第２の情報によって前記不揮発性メモリの種類に対応したデータのサイズを選択し、
（ａ）前記不揮発性メモリにデータを書き込む際には、前記選択したＥＣＣ回路を用いて、前記選択したサイズのデータにＥＣＣ符号を付加し、
（ｂ）前記不揮発性メモリからデータを読み出す際には、前記選択したＥＣＣ回路を用いて、ＥＣＣ符号が付加された前記選択したサイズのデータの誤り訂正を行う
ことを特徴とする不揮発性記憶装置。
【請求項６】
前記不揮発性メモリとしてフラッシュメモリを用いたことを特徴とする請求項５に記載の不揮発性記憶装置。
【請求項７】
データを不揮発性メモリに書き込み、または前記不揮発性メモリに格納されたデータを読み出すメモリコントローラであって、
誤り訂正能力の異なる複数のＥＣＣ回路と、
前記不揮発性メモリの種類と前記複数のＥＣＣ回路との対応関係を示す情報を格納したＥＣＣテーブルとを備え、
前記ＥＣＣテーブルによって前記不揮発性メモリの種類に対応したＥＣＣ回路を選択し、
（ａ）前記不揮発性メモリにデータを書き込む際には、前記選択したＥＣＣ回路を用いて、単位サイズのデータにＥＣＣ符号を付加し、
（ｂ）前記不揮発性メモリからデータを読み出す際には、前記選択したＥＣＣ回路を用いて、ＥＣＣ符号が付加された単位サイズのデータの誤り訂正を行う
ことを特徴とするメモリコントローラ。
【請求項８】
データを不揮発性メモリに書き込み、または前記不揮発性メモリに格納されたデータを読み出すメモリコントローラであって、
誤り訂正を行うＥＣＣ回路と、
前記不揮発性メモリの種類と前記ＥＣＣ回路のＥＣＣ符号を付加するデータのサイズとの対応関係を示す情報を格納したＥＣＣテーブルとを備え、
前記ＥＣＣテーブルによって前記不揮発性メモリの種類に対応したデータのサイズを選択し、
（ａ）前記不揮発性メモリにデータを書き込む際には、前記ＥＣＣ回路を用いて、前記選択したサイズのデータにＥＣＣ符号を付加し、
（ｂ）前記不揮発性メモリからデータを読み出す際には、前記ＥＣＣ回路を用いて、前記選択したサイズのデータにＥＣＣ符号が付加されたデータの誤り訂正を行う
ことを特徴とするメモリコントローラ。
【請求項９】
データを不揮発性メモリに書き込み、または前記不揮発性メモリに格納されたデータを読み出すメモリコントローラであって、
誤り訂正能力の異なる複数のＥＣＣ回路と、
前記不揮発性メモリの種類と前記複数のＥＣＣ回路との対応関係を示す第１の情報および、前記不揮発性メモリの種類とＥＣＣ符号を付加するデータサイズとの対応関係を示す第２の情報を格納したＥＣＣテーブルとを備え、
前記第１の情報によって前記不揮発性メモリの種類に対応したＥＣＣ回路を選択し、さらに、前記第２の情報によって前記不揮発性メモリの種類に対応したデータのサイズを選択し、
（ａ）前記不揮発性メモリにデータを書き込む際には、前記選択したＥＣＣ回路を用いて、前記選択したサイズのデータにＥＣＣ符号を付加し、
（ｂ）前記不揮発性メモリからデータを読み出す際には、前記選択したＥＣＣ回路を用いて、ＥＣＣ符号が付加された前記選択したサイズのデータの誤り訂正を行う
ことを特徴とするメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ等の不揮発性メモリを搭載した不揮発性記憶装置および、その不揮発性記憶装置に用いるメモリコントローラに関する。
【背景技術】
【０００２】
近年、不揮発性メモリを搭載した不揮発性記憶装置であるメモリーカードは、デジタルカメラや携帯電話の記憶媒体として市場を拡大している。このメモリーカードは、デジタルカメラの高画素化や携帯電話での動画記録等の用途へ向け、さらなる大容量化の拡がりを見せている。
【０００３】
不揮発性メモリを大容量化するための手段としてプロセスルールのシュリンクがある。これは、プロセスルールをシュリンクすることでメモリ容量を増加するものであるが、その際に、以前のプロセスと同等の信頼性を保つことが難しい。また別の手段としてメモリセルの多値化がある。メモリセルを多値化することで記憶できる情報量は増えるが、一つのメモリセルの状態をより細かく制御する必要があるため、やはり信頼性を保つことが難しい。
【０００４】
一方、不揮発性記憶装置のメモリコントローラには、誤り訂正を行うＥＣＣ回路が内蔵されており、不揮発性メモリの大容量化に対し、ＥＣＣ回路の誤り訂正機能を強化することで、信頼性の低下に対応している（特許文献１参照）。
【特許文献１】特開平６−１１０７９３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、上記のような従来の対応方法では、不揮発性記憶装置に搭載される不揮発性メモリの種類に応じてＥＣＣ回路の誤り訂正機能を変更する必要があるため、不揮発性メモリの種類が増えた場合に、搭載する不揮発性メモリの信頼性の程度に応じて異なるコントローラが必要となり、設計コストや生産コストが増大するという課題があった。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の第１の不揮発性記憶装置は、
データを格納する不揮発性メモリと、データを前記不揮発性メモリに書き込み、または前記不揮発性メモリに格納されたデータを読み出すメモリコントローラとを備えた不揮発性記憶装置であって、
前記メモリコントローラは、
誤り訂正能力の異なる複数のＥＣＣ回路と、
前記不揮発性メモリの種類と前記複数のＥＣＣ回路との対応関係を示す情報を格納したＥＣＣテーブルとを備え、
前記メモリコントローラは、前記ＥＣＣテーブルによって前記不揮発性メモリの種類に対応したＥＣＣ回路を選択し、
（ａ）前記不揮発性メモリにデータを書き込む際には、前記選択したＥＣＣ回路を用いて、単位サイズのデータにＥＣＣ符号を付加し、
（ｂ）前記不揮発性メモリからデータを読み出す際には、前記選択したＥＣＣ回路を用いて、ＥＣＣ符号が付加された単位サイズのデータの誤り訂正を行う
ことを特徴とする。
【０００７】
また本発明の第２の不揮発性記憶装置は、
データを格納する不揮発性メモリと、データを前記不揮発性メモリに書き込み、または前記不揮発性メモリに格納されたデータを読み出すメモリコントローラとを備えた不揮発性記憶装置であって、
前記メモリコントローラは、
誤り訂正を行うＥＣＣ回路と、
前記不揮発性メモリの種類とＥＣＣ符号を付加するデータサイズとの対応関係を示す情報を格納したＥＣＣテーブルとを備え、
前記メモリコントローラは、前記ＥＣＣテーブルによって前記不揮発性メモリの種類に対応したデータのサイズを選択し、
（ａ）前記不揮発性メモリにデータを書き込む際には、前記ＥＣＣ回路を用いて、前記選択したサイズのデータにＥＣＣ符号を付加し、
（ｂ）前記不揮発性メモリからデータを読み出す際には、前記ＥＣＣ回路を用いて、前記選択したサイズのデータにＥＣＣ符号が付加されたデータの誤り訂正を行う
ことを特徴とする。
【０００８】
また本発明の第３の不揮発性記憶装置は、
データを格納する不揮発性メモリと、データを前記不揮発性メモリに書き込み、または前記不揮発性メモリに格納されたデータを読み出すメモリコントローラとを備えた不揮発性記憶装置であって、
前記メモリコントローラは、
誤り訂正能力の異なる複数のＥＣＣ回路と、
前記不揮発性メモリの種類と前記複数のＥＣＣ回路との対応関係を示す第１の情報および、前記不揮発性メモリの種類とＥＣＣ符号を付加するデータサイズとの対応関係を示す第２の情報を格納したＥＣＣテーブルとを備え、
前記メモリコントローラは、前記第１の情報によって前記不揮発性メモリの種類に対応したＥＣＣ回路を選択し、さらに、前記第２の情報によって前記不揮発性メモリの種類に対応したデータのサイズを選択し、
（ａ）前記不揮発性メモリにデータを書き込む際には、前記選択したＥＣＣ回路を用いて、前記選択したサイズのデータにＥＣＣ符号を付加し、
（ｂ）前記不揮発性メモリからデータを読み出す際には、前記選択したＥＣＣ回路を用いて、ＥＣＣ符号が付加された前記選択したサイズのデータの誤り訂正を行うことを特徴とする。
【０００９】
本発明の第１、第２または第３の不揮発性記憶装置において、前記不揮発性メモリとしてフラッシュメモリを用いることが好ましい。
【００１０】
また本発明は、上記第１、第２または第３の不揮発性記憶装置の構成要素であるメモリコントローラも含む。
【発明の効果】
【００１１】
本発明によれば、設計コストや生産コストを増大させることなく、信頼性レベルの異なる様々な種類の不揮発性メモリに対応可能な不揮発性記憶装置を提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の不揮発性記憶装置について図面を参照して説明する。
【００１３】
（実施の形態１）
図１は本発明の実施の形態１における不揮発性記憶装置のブロック図である。
図１において、１０１は不揮発性記憶装置であるメモリーカード、１０２はメモリーカード１０１に対してデータの読み書きを行うホスト、１０３は、メモリーカード１０１に内蔵され、ホスト１０２から転送されたデータを格納するフラッシュメモリ、１０４は、メモリーカード１０１に内蔵され、ホスト１０２から転送されたデータをフラッシュメモリ１０３に書き込み、またフラッシュメモリ１０３に格納されたデータを読み出してホスト１０２に転送するメモリコントローラであり、フラッシュメモリ１０３の制御と共にホスト１０２との間のインターフェースを行う。
【００１４】
１０５および１０６は、フラッシュメモリ１０３に読み書きするデータの誤り訂正を行う３ビットＥＣＣ回路および６ビットＥＣＣ回路、１０７はＥＣＣテーブルである。
【００１５】
ＥＣＣテーブル１０７には、フラッシュメモリ１０３の種類と誤り訂正能力の異なる複数のＥＣＣ回路との対応関係を示す情報、具体的には、メモリコントローラ１０４が制御することが可能な、信頼性の異なる複数種類のフラッシュメモリ１０３に対し、ＥＣＣ回路１０５および１０６のうちいずれのＥＣＣ回路を用いて誤り訂正を行うかを示す情報が格納されている。
【００１６】
以下、メモリーカード１０１の動作について説明する。
メモリコントローラ１０４は、メモリーカード１０１に電源が投入された後、最初に、フラッシュメモリ１０３にアクセスしてフラッシュメモリの種類に関する情報を読み出し、フラッシュメモリの種類を判別する。
【００１７】
次に、この判別結果に基づき、ＥＣＣテーブル１０７に格納された情報から、フラッシュメモリ１０３に対応したＥＣＣ回路として、３ビットＥＣＣ回路１０５および６ビットＥＣＣ回路１０６のいずれかを選択する。メモリコントローラ１０４は、電源投入後に一度この処理によってＥＣＣ回路を選択した後、電源が印加され続けている期間は、同じＥＣＣ回路を使用し続ける。
【００１８】
図２（Ａ）と（Ｂ）は、それぞれ３ビットＥＣＣ回路１０５と６ビットＥＣＣ回路１０６を使用したときのフラッシュメモリ１０３における、データと対応するＥＣＣ符号の構成を示した図である。
【００１９】
ホスト１０２は、メモリーカード１０１に対しセクターと呼ばれる５１２Ｂの単位でデータを読み書きするが、メモリコントローラ１０４は、セクター単位でＥＣＣ符号を付加した後に、フラッシュメモリ１０３へのデータの読み書きを行っている。
【００２０】
図２（Ａ）では、セクターに対して３ビット訂正ＥＣＣ符号を付加している。メモリメモリコントローラ１０４が、ＥＣＣテーブル１０７に格納された情報から、フラッシュメモリ１０３の種別に適したＥＣＣ回路が３ビット訂正であると判断したときに、このような構成をとる。
【００２１】
一方、図２（Ｂ）では、ホスト１０２の読み書きするセクターに対して６ビット訂正ＥＣＣ符号を付加している。メモリコントローラ１０４が、ＥＣＣテーブル１０７に格納された情報から、フラッシュメモリ１０３の種別に適したＥＣＣ回路が６ビット訂正であると判断したときに、このような構成をとる。
【００２２】
以上のように本実施の形態では、メモリコントローラ１０４に誤り訂正能力の異なる複数のＥＣＣ回路１０５と１０６を内蔵し、フラッシュメモリ１０３の種別に応じて、３ビットＥＣＣ回路１０５と６ビットＥＣＣ回路１０６とを使い分けることで、信頼性レベルの異なる様々な種類のフラッシュメモリに対応できるメモリーカードを実現している。
【００２３】
なお、本実施の形態では、誤り訂正能力の異なるＥＣＣ回路として、３ビットＥＣＣ回路と６ビットＥＣＣ回路を用いたが、これに限定されるものではなく、フラッシュメモリの種類に応じて、これらのＥＣＣ回路とは誤り訂正能力の異なるＥＣＣ回路を用いたり、より多くの種類のフラッシュメモリに対応するため、誤り訂正能力の異なる３つ以上のＥＣＣ回路を用いてもよいことは言うまでもない。
【００２４】
（実施の形態２）
図３は、本発明の実施の形態２における不揮発性記憶装置のブロック図である。
実施の形態１と同様、本実施の形態のメモリコントローラもＥＣＣ回路とＥＣＣテーブルを内蔵しているが、本実施の形態ではＥＣＣ回路は１つであり、またＥＣＣテーブルに格納された情報が実施の形態１とは異なっている。以下、実施の形態１と異なる点を中心に説明する。
【００２５】
図３において、メモリコントローラ１０４には３ビットＥＣＣ回路３０１とＥＣＣテーブル３０２が内蔵されている。なお、その他の構成は図１のメモリーカード１０１と同じであるため、同一機能を有する部分には同一符号を付して説明を省略する。
【００２６】
３ビットＥＣＣ回路３０１は、図１の３ビットＥＣＣ回路１０５と同一の働きをするものである。一方、ＥＣＣテーブル３０２には、フラッシュメモリ１０３の種類とＥＣＣ符号を付加するデータのサイズとの対応関係を示す情報すなわち、それぞれ何ワードのデータに対してＥＣＣ符号を付加すべきかの情報が格納されている。
【００２７】
以下、メモリーカード１０１の動作を説明する。実施の形態１と同様、メモリコントローラ１０４は、メモリーカード１０１に電源が投入された後に、フラッシュメモリ１０３にアクセスして、フラッシュメモリの種類に関する情報を読み出し、フラッシュメモリの種類を判別する。次に、この判別結果に基づき、ＥＣＣテーブル３０２に格納された情報から、フラッシュメモリ１０３の種類に適したＥＣＣ訂正能力を選択する。
【００２８】
ＥＣＣ訂正能力は、ＥＣＣの演算を行うデータのサイズをＥＣＣテーブル３０２の情報によって変化させるだけなので、３ビットＥＣＣ回路３０１の１種類のみで対応することが可能である。メモリコントローラ１０４は、電源投入後に一度この処理によってＥＣＣの演算を行うデータのサイズを選択した後、電源が印加され続けている期間は、同じデータサイズを使用し続ける。
【００２９】
図４（Ａ）、（Ｂ）、（Ｃ）は、それぞれ様々な信頼性のフラッシュメモリを使用した際のフラッシュメモリ１０３におけるデータと対応するＥＣＣ符号の構成を示した図である。
【００３０】
図４（Ａ）に示す一般的なケースにおいては、ホスト１０２の読み書きの単位であるセクター（５１２Ｂ）に対して３ビット訂正ＥＣＣ符号を付加している。これは、メモリーカード１０１に最初に電源が投入された時に、メモリコントローラ１０４が、ＥＣＣテーブル３０２に格納された情報から、フラッシュメモリ１０３の種別が、セクター当り３ビットのＥＣＣ符号を付加することが適切であると判断したためである。
【００３１】
図４（Ａ）で想定した場合よりも信頼性が低く、より高機能なＥＣＣ符号を付加する必要があるフラッシュメモリ１０３においては、図４（Ｂ）に示すように、セクターの半分である２５６Ｂに対して３ビット訂正ＥＣＣ符号を付加している。これは、メモリコントローラ１０４が、ＥＣＣテーブル１０６に格納された情報から、フラッシュメモリ１０３の種別が、セクター半分当り３ビットのＥＣＣ符号を付加することが適切であると判断したためである。セクター半分当り３ビットのＥＣＣ符号は、セクター当り６ビットのＥＣＣ符号を付加すべきフラッシュメモリに対して、同等レベルの誤り訂正ということで適用できる。
【００３２】
図４（Ａ）で想定した場合よりも信頼性が高く、より低機能なＥＣＣ符号を付加すればよいフラッシュメモリ１０３においては、図４（Ｃ）に示すように、セクターの倍の２セクターの１０２４Ｂに対して３ビット訂正ＥＣＣ符号を付加している。これは、メモリコントローラ１０４が、ＥＣＣテーブル１０６に格納された情報から、フラッシュメモリ１０３の種別が、２セクター当り３ビットのＥＣＣ符号を付加することが適切であると判断したためである。２セクター当り３ビットのＥＣＣ符号は、セクター当り１ビットのＥＣＣを付加すべきフラッシュメモリに対して、同等レベルの誤り訂正ということで適用できる。
【００３３】
以上のように本実施の形態では、フラッシュメモリの種類に対応して、ＥＣＣ符号を付加するデータのワード数を変えることにより、１種類のＥＣＣ回路を備えるだけで、信頼性レベルの異なる様々なフラッシュメモリに対応可能なメモリーカードを実現している。
【００３４】
（実施の形態３）
上述した実施の形態１では誤り訂正能力の異なる複数のＥＣＣ回路を使い分けることで、また実施の形態２ではＥＣＣ符号を付加するデータのワード数を変えることで、異なる信頼性レベルのフラッシュメモリに対応しているが、本実施の形態では、実施の形態１の構成と実施の形態２の構成を組み合わせることによって、より広範囲の信頼性レベルのフラッシュメモリに対応している。
【００３５】
具体的には、図１のメモリコントローラ１０４を用い、ＥＣＣテーブル１０７に、フラッシュメモリ１０３の種類と誤り訂正能力の異なる複数のＥＣＣ回路との対応関係を示す第１の情報と、３ビットＥＣＣ回路１０５および６ビットＥＣＣ回路１０６のそれぞれについて、フラッシュメモリ１０３の種類とＥＣＣ符号を付加するデータのサイズとの対応関係を示す第２の情報を格納し、搭載するフラッシュメモリの種類に応じて第１および第２の情報を組み合わせて使用することにより、信頼性レベルの異なる様々な種類のフラッシュメモリに対応できるメモリーカードを実現している。
【００３６】
従って、本実施の形態のメモリコントローラを用いれば、図２（Ａ）、（Ｂ）および図４（Ａ）、（Ｂ）、（Ｃ）に示す形態の誤り訂正のみならず、それを超えた、例えばセクターの半分（２５６Ｂ）に対して６ビットのＥＣＣ符号を付加するような形態の誤り訂正も可能となる。
【産業上の利用可能性】
【００３７】
本発明にかかる不揮発性記憶装置およびメモリメモリコントローラは、信頼性レベルの異なる様々な種類の不揮発性メモリに対応することが可能であり、大容量化に伴って今後増えるであろう不揮発性メモリの多値化にも対応することができるため、メモリーカードの適用可能な分野の拡大につながるものである。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施の形態１における不揮発性記憶装置の構成を示すブロック図
【図２】実施の形態１におけるセクターデータとＥＣＣの関係を示す図
【図３】本発明の実施の形態２における不揮発性記憶装置の構成を示すブロック図
【図４】実施の形態２におけるセクターデータとＥＣＣの関係を示す図
【符号の説明】
【００３９】
１０１  メモリーカード
１０２  ホスト
１０３  フラッシュメモリ
１０４  メモリコントローラ
１０５  ３ビットＥＣＣ回路
１０６  ６ビットＥＣＣ回路
１０７  ＥＣＣテーブル
３０１  ３ビットＥＣＣ回路
３０２  ＥＣＣテーブル
【図１】
2007207376.tif 000003
【図２】
2007207376.tif 000004
【図３】
2007207376.tif 000005
【図４】
2007207376.tif 000006