(57)【特許請求の範囲】
【請求項１】
書き込み単位である複数のページを含む、消去単位である複数のブロックから構成される不揮発性メモリと、
前記不揮発性メモリに対してデータの書き込み及び読み出しを行うメモリコントローラとを備え、
前記不揮発性メモリは、各ブロックに対してデータをコピーする方式を決定するためのコピーモードを各ブロックに関連付けて格納可能なコピーモード格納領域を含み、
前記メモリコントローラは、
前記不揮発性メモリに対するデータの書き込み動作及び読み出し動作を制御するアクセス制御部と、
前記不揮発性メモリに記憶されているデータの誤り訂正を行う誤り訂正制御部とを備え、
前記コピーモードは、第１のコピーモードから第ＮのコピーモードまでのＮ種類（Ｎは２以上の自然数）のコピーモードを含み、
前記第１〜第Ｎのコピーモードの各々は、前記誤り訂正制御部による誤り訂正を行った後にデータをコピーする第１のコピー方式と、前記誤り訂正制御部による誤り訂正を行わずにデータをコピーする第２のコピー方式とのいずれか一方をページ毎に規定し、
前記ページの各々は、前記第１〜第Ｎのコピーモードのうち一つ以上のコピーモードにおいて前記第１のコピー方式に対応付けられ、他のコピーモードにおいて前記第２のコピー方式に対応づけられており、
前記アクセス制御部は、コピー元ブロック内のページに格納されるデータをコピー先ブロックのページへコピーする際、前記コピーモード格納領域に格納されているコピーモードに従い、前記第１のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行った後に、前記コピー先ブロックのページへコピーし、前記第２のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行わずに、前記コピー先ブロックのページへコピーし、前記コピー先ブロックに関連付けられたコピーモードを、前記コピー元ブロックのコピーモードと異なるコピーモードに変更することを特徴とする不揮発性記憶装置。
【請求項２】
前記コピーモード格納領域として、前記ブロックの各々は、当該ブロックに含まれる複数のページのうちいずれか１つ以上に当該ブロックに関連するコピーモードを格納可能な領域を含むことを特徴とする請求項１記載の不揮発性記憶装置。
【請求項３】
前記アクセス制御部は、前記第２のコピー方式によるコピー処理を行う際に、前記不揮発性メモリに対して前記第２のコピー方式によるコピー処理を指令するコマンドを送信し、前記不揮発性メモリ内で前記第２のコピー方式によるコピー処理を実行させることを特徴とする請求項１又は２に記載の不揮発性記憶装置。
【請求項４】
前記ページの各々は、前記第１〜第Ｎのコピーモードのいずれか１つのコピーモードのみにおいて前記第１のコピー方式に対応付けられていることを特徴とする請求項１〜３のいずれか１項に記載の不揮発性記憶装置。
【請求項５】
前記ページの各々は、前記第１〜第Ｎのコピーモードにおいて均等に前記第１のコピー方式に対応付けられていることを特徴とする請求項１〜４のいずれか１項に記載の不揮発性記憶装置。
【請求項６】
前記ページの各々は、前記第１のコピー方式によるコピー回数が同一になるように前記第１〜第Ｎのコピーモードにおいて前記第１のコピー方式に対応付けられていることを特徴とする請求項１〜５のいずれか１項に記載の不揮発性記憶装置。
【請求項７】
前記コピーモード格納領域として、前記ブロックの各々は、当該ブロックに含まれる複数のページのうち最初のページに当該ブロックに関連するコピーモードを格納可能な領域を含むことを特徴とする請求項１〜６のいずれか１項に記載の不揮発性記憶装置。
【請求項８】
前記アクセス制御部は、前記不揮発性記憶装置と通信可能に構成されたアクセス装置から書き込みコマンドを受信したとき、書き込みデータが書き込まれるページ以外のページに対して、前記コピーモード格納領域に格納されているコピーモードに従い、前記第１のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行った後に、前記コピー先ブロックのページへコピーし、前記第２のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行わずに、前記コピー先ブロックのページへコピーし、前記コピー先ブロックに関連付けられたコピーモードを、前記コピー元ブロックのコピーモードの次のコピーモードに変更することを特徴とする請求項１〜７のいずれか１項に記載の不揮発性記憶装置。
【請求項９】
不揮発性メモリに対してデータの書き込み及び読み出しを行うメモリコントローラであって、
前記不揮発性メモリは、各ブロックに対してデータをコピーする方式を決定するためのコピーモードを各ブロックに関連付けて格納可能なコピーモード格納領域を含み、
前記メモリコントローラは、
前記不揮発性メモリに対するデータの書き込み動作及び読み出し動作を制御するアクセス制御部と、
前記不揮発性メモリに記憶されているデータの誤り訂正を行う誤り訂正制御部とを備え、
前記コピーモードは、第１のコピーモードから第ＮのコピーモードまでのＮ種類（Ｎは２以上の自然数）のコピーモードを含み、
前記第１〜第Ｎのコピーモードの各々は、前記誤り訂正制御部による誤り訂正を行った後にデータをコピーする第１のコピー方式と、前記誤り訂正制御部による誤り訂正を行わずにデータをコピーする第２のコピー方式とのいずれか一方をページ毎に規定し、
前記ページの各々は、前記第１〜第Ｎのコピーモードのうち一つ以上のコピーモードにおいて前記第１のコピー方式に対応付けられ、他のコピーモードにおいて前記第２のコピー方式に対応づけられており、
前記アクセス制御部は、コピー元ブロック内のページに格納されるデータをコピー先ブロックのページへコピーする際、前記コピーモード格納領域に格納されているコピーモードに従い、前記第１のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行った後に、前記コピー先ブロックのページへコピーし、前記第２のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行わずに、前記コピー先ブロックのページへコピーし、前記コピー先ブロックに関連付けられたコピーモードを、前記コピー元ブロックのコピーモードと異なるコピーモードに変更することを特徴とするメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ等の不揮発性メモリを制御するメモリコントローラ、及び該メモリコントローラを備える不揮発性記憶装置に関し、特に、不揮発性半導体メモリを用いた不揮発性記憶装置のデータの書き込み方法に関する。
【背景技術】
【０００２】
音楽コンテンツや映像コンテンツなどのデジタルデータを記録する媒体の一種である半導体メモリカードは、その記憶素子にフラッシュメモリなどの不揮発性半導体メモリを使用している。【０００３】
電気的に消去可能な不揮発性半導体メモリの一種であるＮＡＮＤ型のフラッシュメモリにおいて、データの書き込みを行う場合に、記録済みの領域に新たなデータの上書きを行うことができず、データが消去済の状態の領域に書き込みを行わなければならない。【０００４】
そのため、ブロック内の途中の一部領域に対して、データの書き換えを行う場合には、消去済みのブロックに対して新たなデータを書き込み、書き換え対象となっているページを除いたブロック内の全データをその消去済みブロックにコピーするブロック書き換え処理が行われる。【０００５】
上記のように不揮発性メモリのブロックの一部に対してデータの書き換えが発生した場合に、高速に書き換え処理を行うとともに、データの信頼性を確保する技術が開示されている（例えば、特許文献１）。【０００６】
具体的には、非書き換えデータの旧ブロックから新ブロックへのコピー処理を、誤り訂正を行わないチップコピーで行い、そのブロックに対してチップコピーが発生した回数を記録しておく。そして、回数がある一定回数に達すると、非書き換えデータの旧ブロックから新ブロックへのコピー処理を、誤り訂正を行う通常コピーで行う。【０００７】
しかしながら、上述のコピー処理に掛かる時間は、通常コピーと、チップコピーとで異なり、データ書き込みの処理時間にばらつきが発生する。このため、不揮発性メモリに対してデータの書き込み及び読み出しを行うアクセス装置において、音声や動画などのコンテンツデータのリアルタイム書き込みを実施するときに、書き込み時間にばらつきが発生する場合や書き込み時間が長い場合でも、リアルタイム書き込みを実施できるように、アクセス装置に搭載するバッファ容量を増加させる必要があり、コストが増大する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００５−７８３７８号公報
【発明の概要】
【０００９】
本発明の目的は、不揮発性記憶装置にデータの書き込みを行う場合に、データの信頼性を保ちつつ、アクセス装置からのデータ書き込みの処理時間を均一にすることにより、アクセス装置に搭載するバッファ容量を削減させてコストを低下させることができる不揮発性記憶装置及びメモリコントローラを提供することである。
【００１０】
本発明の一局面に従う不揮発性記憶装置は、書き込み単位である複数のページを含む、消去単位である複数のブロックから構成される不揮発性メモリと、前記不揮発性メモリに対してデータの書き込み及び読み出しを行うメモリコントローラとを備え、前記不揮発性メモリは、各ブロックに対してデータをコピーする方式を決定するためのコピーモードを各ブロックに関連付けて格納可能なコピーモード格納領域を含み、前記メモリコントローラは、前記不揮発性メモリに対するデータの書き込み動作及び読み出し動作を制御するアクセス制御部と、前記不揮発性メモリに記憶されているデータの誤り訂正を行う誤り訂正制御部とを備え、前記コピーモードは、第１のコピーモードから第ＮのコピーモードまでのＮ種類（Ｎは２以上の自然数）のコピーモードを含み、前記第１〜第Ｎのコピーモードの各々は、前記誤り訂正制御部による誤り訂正を行った後にデータをコピーする第１のコピー方式と、前記誤り訂正制御部による誤り訂正を行わずにデータをコピーする第２のコピー方式とのいずれか一方をページ毎に規定し、前記ページの各々は、前記第１〜第Ｎのコピーモードのうち一つ以上のコピーモードにおいて前記第１のコピー方式に対応付けられ、他のコピーモードにおいて前記第２のコピー方式に対応づけられており、前記アクセス制御部は、コピー元ブロック内のページに格納されるデータをコピー先ブロックのページへコピーする際、前記コピーモード格納領域に格納されているコピーモードに従い、前記第１のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行った後に、前記コピー先ブロックのページへコピーし、前記第２のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行わずに、前記コピー先ブロックのページへコピーし、前記コピー先ブロックに関連付けられたコピーモードを、前記コピー元ブロックのコピーモードと異なるコピーモードに変更する。
【００１１】
上記の構成によって、不揮発性記憶装置にデータの書き込みを行う場合に、データの信頼性を保ちつつ、アクセス装置からのデータ書き込みの処理時間を均一にすることにより、アクセス装置に搭載するバッファ容量を削減させてコストを低下させることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施の形態の不揮発性メモリシステムの構成を示すブロック図である。
【図２】図１に示す不揮発性メモリの内部構造の一例を説明するための模式図である。
【図３】図１に示す不揮発性メモリの物理ブロックの内部構造の一例を説明するための模式図である。
【図４】図１に示す論理／物理変換テーブルの構成の一例を示す図である。
【図５】図１に示す空きブロック管理テーブルの構成の一例を示す図である。
【図６】図１に示す不揮発性メモリの各物理ブロックの物理ページのデータ構造の一例を説明するための模式図である。
【図７】図１に示す不揮発性メモリ装置の書き込み動作の一例を説明するためのフローチャートである。
【図８】図１に示す不揮発性メモリの物理ブロックの先頭物理ページからコピーモードを読み出す処理の一例を説明する模式図である。
【図９】図１に示す不揮発性メモリの物理ブロックの最初の非書き換えデータをコピーする書き込み前物理ページコピー処理の一例を説明する模式図である。
【図１０】図１に示す不揮発性メモリの物理ブロックの新データの書き込み処理の一例を説明する模式図である。
【図１１】図１に示す不揮発性メモリの物理ブロックの次の非書き換えデータをコピーする書き込み後物理ページコピー処理の一例を説明する模式図である。
【図１２】本実施の形態において物理ブロックのコピーモードが「０」の場合のコピー処理の一例を説明する模式図である。
【図１３】本実施の形態において物理ブロックのコピーモードが「１」の場合のコピー処理の一例を説明する模式図である。
【図１４】本実施の形態における物理ブロックの他のコピーモードの一例を説明する模式図である。
【発明を実施するための形態】
【００１３】
以下に、本発明の一実施の形態の不揮発性メモリシステムについて、図面を参照しながら説明する。
【００１４】
図１は、本発明の一実施の形態の不揮発性メモリシステムの構成を示すブロック図である。図１に示す不揮発性メモリシステムは、不揮発性記憶システムの一例であり、アクセス装置１０１と、不揮発性メモリ装置１０２とを有する。不揮発性メモリ装置１０２は、アクセス装置１０１と通信可能であり、アクセス装置１０１からの指示によりデータの書き込み及び読み出しを行う。不揮発性メモリ装置１０２は、例えば、半導体メモリカードであり、不揮発性記憶装置の一例である。アクセス装置１０１は、不揮発性メモリ装置１０２に対してデータの書き込み及び読み出しを行うホスト機器であり、例えば、デジタルカメラ、携帯電話、ビデオレコーダ、コンピュータ等が該当する。
【００１５】
不揮発性メモリ装置１０２は、メモリコントローラ１０３と、不揮発性メモリ１０４とを有する。メモリコントローラ１０３は、アクセス装置１０１からのコマンドを受信して不揮発性メモリ１０４に対するデータの書き込み及び読み出しを制御する半導体回路である。不揮発性メモリ１０４は、電源無しにデータの保持が可能なフラッシュメモリである。
【００１６】
メモリコントローラ１０３は、ホストインターフェース１０５と、論理／物理変換テーブル１０６と、空きブロック管理テーブル１０７と、アクセス制御部１０８と、誤り訂正制御部１０９とを有する。
【００１７】
ホストインターフェース１０５は、アクセス装置１０１との間でコマンドやデータをやりとりする。論理／物理変換テーブル１０６は、アクセス装置１０１が指定する論理アドレスを不揮発性メモリ１０４内の物理アドレスに変換するテーブルであり、不揮発性メモリ１０４の物理ブロックに格納されるデータの論理アドレスと物理アドレスとの対応情報を格納する。空きブロック管理テーブル１０７は、不揮発性メモリ１０４内の物理ブロックの使用状況を管理するテーブルである。
【００１８】
アクセス制御部１０８は、不揮発性メモリ１０４に対するデータの書き込み及び読み出しを制御する半導体回路である。誤り訂正制御部１０９は、不揮発性メモリ１０４のデータの誤り訂正を実施する半導体回路である。なお、アクセス制御部１０８及び誤り訂正制御部１０９の構成は、上記の専用回路に特に限定されず、所定のメモリに記憶される所定のソフトウェアをメモリコントローラ１０３内のＣＰＵ（Central Processing Unit）で実行することにより、アクセス制御部１０８及び誤り訂正制御部１０９の機能を実現するようにしてもよい。
【００１９】
不揮発性メモリ１０４は、データの消去単位となる物理ブロックを複数有する多値ＮＡＮＤ型フラッシュメモリであり、コンテンツデータやファイルシステムデータなどのホストデータが格納される。
【００２０】
図２は、不揮発性メモリ１０４の内部構造の一例を説明するための模式図である。不揮発性メモリ１０４は、例えば、ＰＢ０からＰＢ１０２３までの１０２４個の物理ブロックで構成されている。物理ブロックは、不揮発性メモリ１０４の消去単位であり、例えば、一物理ブロックあたりの容量は５１２ＫＢ（キロバイト）である。
【００２１】
図３は、１つの物理ブロックの内部構造を説明するための模式図である。物理ブロックＰＢは、例えば、ＰＰ０からＰＰ１２７までの１２８個の物理ページから構成されている。物理ページは、不揮発性メモリ１０４における書き込みの最小単位である。書き込みを行う際は、番号の小さい物理ページから順番に書き込む。一物理ページあたりの容量は、例えば、データ格納用の４ＫＢと、管理情報格納用の１２８Ｂとを加算した値である。
【００２２】
図４は、論理／物理変換テーブル１０６の構成の一例を示す図である。論理／物理変換とは、アクセス装置１０１が指定した論理アドレスから得られる論理ブロック（ＬＢ）の論理アドレスを、不揮発性メモリ１０４の物理ブロック（ＰＢ）の物理アドレスに変換する処理である。
【００２３】
論理／物理変換テーブル１０６は、上記の論理／物理変換を行うために、ホストデータが書き込まれている物理ブロックの物理アドレスと、論理ブロックの論理アドレスとを対応づけて記憶するテーブルである。論理ブロックに対して、ホストデータが書き込まれている物理ブロックが存在しない場合は、当該論理ブロックの論理アドレスに対する物理アドレスとして、未割り当てを示す値を設定する。
【００２４】
図５は、空きブロック管理テーブル１０７の構成の一例を示す図である。空きブロック管理テーブル１０７は、各物理ブロックについて、ホストデータが書き込まれているブロックとして使用されている使用中ブロックであるか、もしくは使用されていない空きブロックであるかを示すテーブルである。
【００２５】
図中の「物理ブロック」の欄には、物理ブロックの物理アドレス（ＰＢ０〜ＰＢ１０２３）が格納され、「状態」の欄に、「使用中」、又は、「空き」が格納され、使用中とは、ホストデータが書き込まれているブロックとして使用されていることを示しており、空きとは、使用されていない空きブロックであることを示している。アクセス制御部１０８は、書き込みを行う際は、空きブロック管理テーブル１０７を参照し、空きとなっている物理ブロックの物理アドレスを取得して、該物理ブロックへ書き込みを行う。
【００２６】
図６は、各物理ブロックの物理ページのデータ構造の一例を説明するための模式図である。物理ページＰＰ０は、ホストデータを格納するための４ＫＢのデータ領域と、管理情報を格納するための１２８Ｂの冗長領域とから構成される。冗長領域には、データ領域に対するＥＣＣ（誤り訂正コード）と、ページコピーを行う際のモードを決定するためのコピーモードと、ページアドレス等のその他の情報と、冗長領域に対するＥＣＣ（誤り訂正コード）とが格納され、冗長領域内のコピーモード格納領域ＣＡに、各物理ブロックのデータをコピーする方式を決定するためのコピーモードを格納する。コピーモードとしては例えば、「０」又は「１」が設定される。このように、不揮発性メモリ１０４は、各物理ブロックに対してデータをコピーする方式を決定するためのコピーモードを各ブロックに関連付けて格納可能なコピーモード格納領域ＣＡを含む。
【００２７】
物理ページＰＰ１〜１２７は、ホストデータを格納するための４ＫＢのデータ領域と、管理情報を格納するための１２８Ｂの冗長領域とから構成される。冗長領域には、データ領域に対するＥＣＣ（誤り訂正コード）と、ページアドレス等のその他の情報と、冗長領域に対するＥＣＣ（誤り訂正コード）とが格納される。
【００２８】
なお、コピーモードが格納される物理ページは、上記の例に特に限定されず、他の物理ページにコピーモードを格納するコピーモード格納領域を設けたり、すべての物理ページにコピーモードを格納するコピーモード格納領域を設けたりする等の種々の変更が可能である。
【００２９】
[ホストデータの書き込み処理]
図７は、アクセス装置１０１が不揮発性メモリ装置１０２へ書き込みコマンド、書き込み論理アドレス、及び書き込みデータを送信した時の、不揮発性メモリ装置１０２の書き込み動作の一例を説明するためのフローチャートである。以下、図７に示すフローチャートと、図８〜図１１を用いて、本実施の形態において、コピー元ブロックからコピー先ブロックへデータをコピーすることによって、アクセス装置１０１からのホストデータ（書き込みデータ）を書き込む処理について説明する。
【００３０】
最初に、メモリコントローラ１０３のホストインターフェース１０５は、アクセス装置１０１から書き込みコマンドを受信するとともに、アクセス装置１０１が指定した書き込み論理アドレス及び書き込みデータを取得し、書き込み論理アドレス等をアクセス制御部１０８へ通知する（Ｓ７０１）。
【００３１】
次に、アクセス制御部１０８は、書き込み論理アドレスを論理ブロック単位の論理アドレスに変換して書き込みを開始する論理ブロックの論理アドレスを取得し、論理／物理変換テーブル１０６を参照して、該論理ブロックに対応する物理ブロック（以下、旧ブロック）の物理アドレスを取得するともに、空きブロック管理テーブル１０７を参照して、空きとなっている物理ブロック（以下、新ブロック）の物理アドレスを取得し、書き込み用物理ブロックを取得する（Ｓ７０２）。
【００３２】
次に、アクセス制御部１０８は、コピー先ブロックとなる新ブロックの消去を行う（Ｓ７０３）。次に、アクセス制御部１０８は、コピー元ブロックとなる旧ブロックの物理ページＰＰ０のコピーモード格納領域ＣＡからコピーモードを読み出して取得する（Ｓ７０４）。
【００３３】
図８は、物理ブロックの先頭物理ページからコピーモードを読み出す処理の一例を説明する模式図である。図８に示すように、旧ブロックは、上段の非書き換え物理ページと、中段の書き換え物理ページと、下段の非書き換え物理ページとを含む。ここで、図８〜図１１は、旧ブロックの上段の非書き換え物理ページ及び下段の非書き換え物理ページのデータが、これらの物理ページに対応する新ブロックの物理ページにコピーされ、旧ブロックの中段の書き換え物理ページに対応する新ブロックの物理ページにアクセス装置１０１からのホストデータが書き込まれる書き込み処理を示している。この書き込み処理において、アクセス制御部１０８は、図８に示すように、旧ブロックの先頭物理ページＰＰ０のコピーモード格納領域ＣＡからコピーモード「０」を読み出して取得する。
【００３４】
次に、アクセス制御部１０８は、書き込みデータの直前までの非書き換えデータを、読み出したコピーモードに応じたコピー方式で旧ブロックから新ブロックへコピーする（Ｓ７０５）。
【００３５】
図９は、物理ブロックの最初の非書き換えデータをコピーする書き込み前物理ページコピー処理の一例を説明する模式図である。図９に示すように、アクセス制御部１０８は、読み出したコピーモードに応じたコピー方式で、書き込みデータの直前までの非書き換えデータを、旧ブロックの上段の非書き換え物理ページから新ブロックの上段の物理ページへコピーするとともに、読み出したコピーモードが「０」の場合は、新ブロックの物理ページＰＰ０におけるコピーモード格納領域ＣＡのコピーモードを「１」に更新し、読み出したコピーモードが「１」の場合は、新ブロックの物理ページＰＰ０におけるコピーモード格納領域ＣＡのコピーモードを「０」に更新する。
【００３６】
続いて、アクセス制御部１０８は、書き込みデータを新ブロックのデータ領域へ書き込む（Ｓ７０６）。図１０は、物理ブロックの新データの書き込み処理の一例を説明する模式図である。図１０に示すように、アクセス制御部１０８は、アクセス装置１０１からのホストデータ（書き込みデータ）を、旧ブロックの中段の書き換え物理ページに対応する新ブロックの中段の物理ページへ書き込む。
【００３７】
続いて、アクセス制御部１０８は、図１１に示すように、書き込みデータの直後から物理ブロックの終端までの非書き換えデータを、読み出したコピーモードに応じたコピー方式で旧ブロックから新ブロックへコピーする（Ｓ７０７）。
【００３８】
図１１は、物理ブロックの次の非書き換えデータをコピーする書き込み後物理ページコピー処理の一例を説明する模式図である。図１１に示すように、アクセス制御部１０８は、読み出したコピーモードに応じたコピー方式で、書き込みデータの直後から物理ブロックの終端までの非書き換えデータを、旧ブロックの下段の非書き換え物理ページから新ブロックの下段の物理ページへコピーする。
【００３９】
最後に、アクセス制御部１０８は、書き込み論理アドレスに対応している物理ブロックに新ブロックの物理アドレスを設定することにより論理／物理変換テーブル１０６を更新し、旧ブロックを「空き」とし、新ブロックを「使用中」とすることにより空きブロック管理テーブル１０７を更新し、更新した論理／物理変換テーブル１０６と空きブロック管理テーブル１０７とを不揮発性メモリ１０４の管理データ格納領域へ書き込む（Ｓ７０８）。
【００４０】
以上の処理により、本実施の形態では、コピーモードに応じたコピー方式で旧ブロックから新ブロックへデータをコピーしながら、アクセス装置１０１が送信した書き込みデータを、不揮発性メモリ１０４へ書き込むことができる。
【００４１】
以下、上述した図７に示されるフローチャートにおいて実施される旧ブロックから新ブロックへのコピー処理（Ｓ７０５、Ｓ７０７）について、詳細に記述する。本実施の形態では、上記のコピー処理において、コピーするデータに対して誤り訂正を実施する通常コピーと、コピーするデータに対して誤り訂正を実施しないチップコピーとを、旧ブロックの物理ページＰＰ０から読み出したコピーモードに応じて使い分ける。
【００４２】
[通常コピー]
以下に、通常コピーの手順を説明する。最初に、アクセス制御部１０８は、不揮発性メモリ１０４の旧ブロックから１物理ページ分のデータを読み出し、誤り訂正制御部１０９に出力する。次に、誤り訂正制御部１０９は、読み出した１物理ページ分のデータの冗長領域からデータ領域のＥＣＣ（誤り訂正コード）を取得し、データ領域の誤り訂正を実施し、誤り訂正後のデータをアクセス制御部１０８に出力する。最後に、アクセス制御部１０８は、不揮発性メモリ１０４の新ブロックへ誤り訂正後の１物理ページ分のデータを書き込む。以上の処理が通常コピーである。通常コピーは、誤り訂正が行われるコピー方式であるため、データの信頼性が確保されている。
【００４３】
［チップコピー］
以下、チップコピーの手順を説明する。最初に、アクセス制御部１０８は、チップコピーによるコピー処理を指令するコマンドとして、不揮発性メモリ１０４に１物理ページ分のデータのコピー命令を送信する。最後に、不揮発性メモリ１０４は、その内部で、旧ブロックの物理ページに格納されているデータを、新ブロックの物理ページにコピーする。以上の処理がチップコピーである。チップコピーは、誤り訂正を行わないコピー方式であることに加え、不揮発性メモリ１０４とメモリコントローラ１０３との間のデータ転送が行われないため、通常コピーより高速である。
【００４４】
［コピー方式の使い分け］
以下、コピーモードに応じた通常コピーとチップコピーとの使い分け方法について説明する。図１２は、上述した旧ブロックから新ブロックのコピー処理において、旧ブロックの物理ページＰＰ０から読み出したコピーモードが「０」の場合の、通常コピーを行う物理ページとチップコピーを行う物理ページとの使い分けの一例を示す図である。本図においては、物理ページ番号が偶数の物理ページに対して通常コピーを適用し、物理ページ番号が奇数の物理ページに対してはチップコピーを適用している。
【００４５】
図１３は、上述した旧ブロックから新ブロックのコピー処理において、旧ブロックの物理ページＰＰ０から読み出したコピーモードが「１」の場合の、通常コピーを行う物理ページとチップコピーを行う物理ページとの使い分けの一例を示す図である。本図においては、物理ページ番号が奇数の物理ページに対して通常コピーを適用し、物理ページ番号が偶数の物理ページに対してはチップコピーを適用している。
【００４６】
以上が、コピーモードに応じた通常コピーとチップコピーとの使い分け方法である。このように、本実施の形態では、コピーモードの値がいずれであっても、通常コピーの回数とチップコピーの回数が均等になるため、書き込み時間のばらつきの発生を防止する効果が得られる。また、いずれのデータも、旧ブロックから新ブロックへのコピーを２回実施することにより、１回の誤り訂正が行われるため、データの信頼性も維持されている。
【００４７】
また、本実施の形態において使用している偶数ページと奇数ページとで通常コピーとチップコピーとを使い分ける方式は、物理ブロック内のいずれの物理ページが書き換え物理ページであっても、通常コピーとチップコピーとの回数が均等になるため、データの書き換えを行う場合に、消去済みの物理ブロックに対して新たなデータを書き込み、書き換え対象となっているページを除いた物理ブロック内の全データをその消去済みブロックにコピーするときに、書き込み時間のばらつきを低減することができる。
【００４８】
なお、本実施の形態について、上記のように説明したが、本発明は、本実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の変更を行うことができる。例えば、以下のような場合も、本発明に含まれる。
【００４９】
（１）本実施の形態において、コピーモードは、不揮発性メモリ１０４の各ブロックの物理ページＰＰ０の冗長領域に格納される方式としたが、不揮発性メモリ１０４内の他の領域に格納しても、各ブロックにコピーモードを関連付けることが可能であれば、本実施の形態と同様の構成を実現でき、同様の効果を得ることができる。
【００５０】
（２）本実施の形態において、通常コピーは、不揮発性メモリ１０４の旧ブロックから１物理ページ分のデータを読み出し、誤り訂正を実施した後、不揮発性メモリ１０４の新ブロックへ１物理ページ分のデータを書き込む方式としたが、処理対象が１物理ページではなく、複数物理ページであっても、本実施の形態と同様の構成を実現でき、同様の効果を得ることができる。
【００５１】
（３）本実施の形態において、チップコピーは、不揮発性メモリ１０４にコピー命令を送信しているが、必ずしもコピー命令を使用する必要はなく、誤り訂正を実施せずにコピーする方法であれば、本実施の形態と同様の構成を実現でき、同様の効果を得ることができる。
【００５２】
（４）本実施の形態において、コピーモードは「０」又は「１」の２種類としたが、より多くのコピーモード、例えば、第１のコピーモードから第ＮのコピーモードまでのＮ種類（Ｎは２以上の自然数）のコピーモードを用いてもよい。この場合、第１〜第Ｎのコピーモードの各々は、誤り訂正制御部１０９による誤り訂正を行った後にデータをコピーする第１のコピー方式である通常コピーと、誤り訂正制御部１０９による誤り訂正を行わずにデータをコピーする第２のコピー方式であるチップコピーとのいずれか一方を物理ページ毎に規定し、物理ページの各々は、第１〜第Ｎのコピーモードのうち一つ以上のコピーモードにおいて第１のコピー方式に対応付けられ、他のコピーモードにおいて第２のコピー方式に対応づけられる。
【００５３】
上記のように、第１のコピーモードから第ＮのコピーモードまでのＮ種類のコピーモードを使用する場合であっても、各コピーモードにおける誤り訂正を実施する物理ページ数が均等であれば、本実施の形態と同様の構成を実現でき、同様の効果を得ることができる。
【００５４】
例えば、コピーモードとして、０〜３までの４種類を使用する場合の通常コピーとチップコピーの使い分け方法を図１４に示す。図１４に示す例では、コピーモード０〜コピーモード４の４種類のコピーモードが予め設定され、コピーモードとして、コピーモード格納領域に「０」、「１」、「２」、「３」のうちいずれかのデータが格納される。
【００５５】
まず、コピーモードが「０」の場合、物理ページＰＰ０、ＰＰ４、…に対して通常コピーが実施され、他の物理ページＰＰ１〜ＰＰ３、ＰＰ５〜ＰＰ７、…に対してチップコピーが実施され、これらのコピー処理後、コピーモード格納領域のコピーモードが「１」に変更される。
【００５６】
上記と同様に、コピーモードが「１」の場合、物理ページＰＰ１、ＰＰ５、…に対して通常コピーが実施され、他の物理ページに対してチップコピーが実施され、これらのコピー処理後、コピーモード格納領域のコピーモードが「２」に変更され、コピーモードが「２」の場合、物理ページＰＰ２、ＰＰ６、…に対して通常コピーが実施され、他の物理ページに対してチップコピーが実施され、これらのコピー処理後、コピーモード格納領域のコピーモードが「３」に変更され、コピーモードが「３」の場合、物理ページＰＰ３、ＰＰ７、…に対して通常コピーが実施され、他の物理ページに対してチップコピーが実施され、これらのコピー処理後、コピーモード格納領域のコピーモードが「０」に変更され、以降、上記の処理が繰り返される。
【００５７】
上記の例では、コピーモード０〜コピーモード４が実行されると、各物理ページでは通常コピーが１回、チップコピーが３回行われることとなる。この結果、各物理ページでは、コピーモード０〜コピーモード４を実行することにより、通常コピーによるコピー処理が必ず１回実行され、他のコピー処理は高速なチップコピーによるコピー処理が実行されるので、データの信頼性を保ちながら、各コピーモードの処理時間を短縮することができる。
【００５８】
なお、上記の例では、各コピーモードにおいて、通常コピーを行う物理ページも、上記の例に特に限定されず、各コピーモードにおいて、通常コピーを行う物理ページの数が同数であれば、通常コピーを行う物理ページを変更してもよい。例えば、図１４に示す例において、物理ページＰＰ１に対して、コピーモード０とコピーモード１のコピー方式を入れ替える等の種々の変更が可能である。
【００５９】
また、４種類のコピーモードではなく、８種類又は１６種類のコピーモードを設定し、８回又は１６回のコピー処理のうち通常コピーを１回のみ行ったり、２回以上の複数回の通常コピーを行ったりするようにしてもよい。
【００６０】
また、物理ページの各々を、通常コピーによるコピー回数が同一になるように第１〜第Ｎのコピーモードにおいて通常コピーに対応付けるようにしてもよい。この場合、各コピーモードにおいて通常コピーを行う物理ページの数が同数でない場合でも、各コピーモードにおける最大通常コピー回数と最小通常コピー回数との差が、所定値以下、例えば、最大通常コピー回数の２０％以下、好ましくは１０％以下、より好ましくは５％以下であれば、データ書き込みの処理時間をほぼ均一化することができるので、上記と同様の効果を得ることができる。
【００６１】
（５）本実施の形態において、所定のコピーモードにおいて誤り訂正を実施する物理ページは、他の全てのコピーモードにおいて誤り訂正を実施しない方式としたが、第１〜第Ｎのコピーモードのうちの複数のコピーモードで誤り訂正を実施してもよい。特に、誤り発生率が高い物理ページが存在する場合は、複数のコピーモードで当該物理ページの誤り訂正を実施する方式の方が、データの破損を防ぐことができ、高い信頼性を得られるため、効果的である。
【００６２】
例えば、図１４に示す例では、４種類のコピーモードによる４回のコピー処理のうち通常コピーを１回のみ行ったが、４回のコピー処理のうち通常コピーを２回又は３回行うようにしてもよく、物理ページＰＰ０に対して、コピーモード２を通常コピーに変更する等の種々の変更が可能である。
【００６３】
（６）本実施の形態において、偶数ページと奇数ページとで通常コピーとチップコピーとを使い分ける方式を使用したが、均等に通常コピーとチップコピーとを実施する方式であれば、本実施の形態と同様の構成を実現でき、同様の効果を得ることができる。
【００６４】
上記の実施の形態から本発明について要約すると、以下のようになる。即ち、本発明に係る不揮発性記憶装置は、書き込み単位である複数のページを含む、消去単位である複数のブロックから構成される不揮発性メモリと、前記不揮発性メモリに対してデータの書き込み及び読み出しを行うメモリコントローラとを備え、前記不揮発性メモリは、各ブロックに対してデータをコピーする方式を決定するためのコピーモードを各ブロックに関連付けて格納可能なコピーモード格納領域を含み、前記メモリコントローラは、前記不揮発性メモリに対するデータの書き込み動作及び読み出し動作を制御するアクセス制御部と、前記不揮発性メモリに記憶されているデータの誤り訂正を行う誤り訂正制御部とを備え、前記コピーモードは、第１のコピーモードから第ＮのコピーモードまでのＮ種類（Ｎは２以上の自然数）のコピーモードを含み、前記第１〜第Ｎのコピーモードの各々は、前記誤り訂正制御部による誤り訂正を行った後にデータをコピーする第１のコピー方式と、前記誤り訂正制御部による誤り訂正を行わずにデータをコピーする第２のコピー方式とのいずれか一方をページ毎に規定し、前記ページの各々は、前記第１〜第Ｎのコピーモードのうち一つ以上のコピーモードにおいて前記第１のコピー方式に対応付けられ、他のコピーモードにおいて前記第２のコピー方式に対応づけられており、前記アクセス制御部は、コピー元ブロック内のページに格納されるデータをコピー先ブロックのページへコピーする際、前記コピーモード格納領域に格納されているコピーモードに従い、前記第１のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行った後に、前記コピー先ブロックのページへコピーし、前記第２のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行わずに、前記コピー先ブロックのページへコピーし、前記コピー先ブロックに関連付けられたコピーモードを、前記コピー元ブロックのコピーモードと異なるコピーモードに変更する。
【００６５】
本発明に係るメモリコントローラは、不揮発性メモリに対してデータの書き込み及び読み出しを行うメモリコントローラであって、前記不揮発性メモリは、各ブロックに対してデータをコピーする方式を決定するためのコピーモードを各ブロックに関連付けて格納可能なコピーモード格納領域を含み、前記メモリコントローラは、前記不揮発性メモリに対するデータの書き込み動作及び読み出し動作を制御するアクセス制御部と、前記不揮発性メモリに記憶されているデータの誤り訂正を行う誤り訂正制御部とを備え、前記コピーモードは、第１のコピーモードから第ＮのコピーモードまでのＮ種類（Ｎは２以上の自然数）のコピーモードを含み、前記第１〜第Ｎのコピーモードの各々は、前記誤り訂正制御部による誤り訂正を行った後にデータをコピーする第１のコピー方式と、前記誤り訂正制御部による誤り訂正を行わずにデータをコピーする第２のコピー方式とのいずれか一方をページ毎に規定し、前記ページの各々は、前記第１〜第Ｎのコピーモードのうち一つ以上のコピーモードにおいて前記第１のコピー方式に対応付けられ、他のコピーモードにおいて前記第２のコピー方式に対応づけられており、前記アクセス制御部は、コピー元ブロック内のページに格納されるデータをコピー先ブロックのページへコピーする際、前記コピーモード格納領域に格納されているコピーモードに従い、前記第１のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行った後に、前記コピー先ブロックのページへコピーし、前記第２のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行わずに、前記コピー先ブロックのページへコピーし、前記コピー先ブロックに関連付けられたコピーモードを、前記コピー元ブロックのコピーモードと異なるコピーモードに変更する。
【００６６】
上記の構成により、コピー元ブロック内のページに格納されるデータをコピー先ブロックのページへコピーする際、コピーモード格納領域に格納されているコピーモードに従い、第１のコピー方式に対応付けられているページに格納されるデータを、誤り訂正制御部による誤り訂正を行った後に、コピー先ブロックのページへコピーし、第２のコピー方式に対応付けられているページに格納されるデータを、誤り訂正制御部による誤り訂正を行わずに、コピー先ブロックのページへコピーし、コピー先ブロックに関連付けられたコピーモードを、コピー元ブロックのコピーモードと異なるコピーモードに変更しているので、不揮発性記憶装置へのデータの書き込みにおいて、前回コピー時とは異なるコピーモードに切替え、コピーモードに応じて第１のコピー方式によるコピー処理又は第２のコピー方式によるコピー処理を行うことができる。
【００６７】
このとき、各ページは、第１〜第Ｎのコピーモードのうち一つ以上のコピーモードにおいて誤り訂正を行う第１のコピー方式に対応付けられているので、第１〜第Ｎのコピーモードを順次実行する間に、すべてのページのデータに対して１回以上の誤り訂正が実行されることとなり、不揮発性記憶装置にデータの書き込みを行う場合に、データの信頼性を保つことができる。また、各コピーモードは、誤り訂正を行う第１のコピー方式と、誤り訂正を行わない第２のコピー方式とが組み合わされているので、各コピーモードにおけるデータ書き込みの処理時間を均一化することができる。
【００６８】
この結果、不揮発性記憶装置にデータの書き込みを行う場合に、データの信頼性を保ちつつ、アクセス装置からのデータ書き込みの処理時間を均一にすることにより、アクセス装置に搭載するバッファ容量を削減させてコストを低下させることができる。
【００６９】
前記コピーモード格納領域として、前記ブロックの各々は、当該ブロックに含まれる複数のページのうちいずれか１つ以上に当該ブロックに関連するコピーモードを格納可能な領域を含むことが好ましい。
【００７０】
この場合、各ブロックの複数のページのうちいずれか１つ以上に、当該ブロックに関連するコピーモードを格納可能なコピーモード格納領域が含まれているので、ブロック毎にコピーモード格納領域から当該ブロックのコピーモードを読み出し、このコピーモードに応じて、第１のコピー方式に対応付けられているページに格納されるデータを、誤り訂正制御部による誤り訂正を行った後に、コピー先ブロックのページへコピーし、第２のコピー方式に対応付けられているページに格納されるデータを、誤り訂正制御部による誤り訂正を行わずに、コピー先ブロックのページへコピーすることができる。
【００７１】
前記アクセス制御部は、前記第２のコピー方式によるコピー処理を行う際に、前記不揮発性メモリに対して前記第２のコピー方式によるコピー処理を指令するコマンドを送信し、前記不揮発性メモリ内で前記第２のコピー方式によるコピー処理を実行させることが好ましい。
【００７２】
この場合、アクセス制御部は、不揮発性メモリに対して第２のコピー方式によるコピー処理を指令するコマンドの送信のみを行い、不揮発性メモリ内で第２のコピー方式によるコピー処理を実行させているので、誤り訂正を行わないことに加え、不揮発性メモリとメモリコントローラとの間のデータ転送が行われないため、第２のコピー方式によるコピー処理を高速に実行することができ、各コピーモードの処理時間を短縮することができる。
【００７３】
前記ページの各々は、前記第１〜第Ｎのコピーモードのいずれか１つのコピーモードのみにおいて前記第１のコピー方式に対応付けられていることが好ましい。
【００７４】
この場合、各ページでは、第１〜第Ｎのコピーモードにおいて第１のコピー方式によるコピー処理が１回のみ実行され、他のコピー処理は高速な第２のコピー方式によるコピー処理が実行されるので、データの信頼性を保ちながら、各コピーモードの処理時間を短縮することができる。
【００７５】
前記ページの各々は、前記第１〜第Ｎのコピーモードにおいて均等に前記第１のコピー方式に対応付けられていることが好ましい。
【００７６】
この場合、各ページが、第１〜第Ｎのコピーモードにおいて均等に第１のコピー方式に対応付けられているので、各コピーモードの処理時間を均一化することができる。
【００７７】
前記ページの各々は、前記第１のコピー方式によるコピー回数が同一になるように前記第１〜第Ｎのコピーモードにおいて前記第１のコピー方式に対応付けられていることが好ましい。
【００７８】
この場合、各ページが、第１のコピー方式によるコピー回数が同一になるように第１〜第Ｎのコピーモードにおいて第１のコピー方式に対応付けられているので、各コピーモードの処理時間を同一にすることができる。
【００７９】
前記コピーモード格納領域として、前記ブロックの各々は、当該ブロックに含まれる複数のページのうち最初のページに当該ブロックに関連するコピーモードを格納可能な領域を含むことが好ましい。
【００８０】
この場合、各ブロックの最初のページに当該ブロックに関連するコピーモードを格納可能なコピーモード格納領域が含まれているので、最初のページのコピーモード格納領域から当該ブロックのコピーモードを読み出すだけで、他のページのコピー方式を決定することができ、処理時間を短縮することができる。
【００８１】
前記アクセス制御部は、前記不揮発性記憶装置と通信可能に構成されたアクセス装置から書き込みコマンドを受信したとき、書き込みデータが書き込まれるページ以外のページに対して、前記コピーモード格納領域に格納されているコピーモードに従い、前記第１のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行った後に、前記コピー先ブロックのページへコピーし、前記第２のコピー方式に対応付けられているページに格納されるデータを、前記誤り訂正制御部による誤り訂正を行わずに、前記コピー先ブロックのページへコピーし、前記コピー先ブロックに関連付けられたコピーモードを、前記コピー元ブロックのコピーモードの次のコピーモードに変更することが好ましい。
【００８２】
この場合、アクセス装置から書き込みコマンドを受信したとき、書き込みデータが書き込まれるページ以外のページに対して、コピーモードに応じて第１のコピー方式によるコピー処理又は第２のコピー方式によるコピー処理を実行し、コピー先ブロックに関連付けられたコピーモードを、コピー元ブロックのコピーモードの次のコピーモードに変更しているので、データを書き込むために、ブロック単位でデータを消去した後、書き込みデータが書き込まれるページ以外のページのデータをコピーするときに、データの信頼性を保ちつつ、アクセス装置からのデータ書き込みの処理時間を均一にすることができる。
【産業上の利用可能性】
【００８３】
本発明は、不揮発性記憶装置にデータの書き込みを行う場合に、データの信頼性を保ちつつ、アクセス装置からのデータ書き込みの処理時間を均一にすることにより、アクセス装置に搭載するバッファ容量を削減させてコストを低下させることができるので、不揮発性メモリを用いた不揮発性記憶装置のデータの書き込みに好適に適用可能である。
【図１】
0005592478.tif 000002
【図２】
0005592478.tif 000003
【図３】
0005592478.tif 000004
【図４】
0005592478.tif 000005
【図５】
0005592478.tif 000006
【図６】
0005592478.tif 000007
【図７】
0005592478.tif 000008
【図８】
0005592478.tif 000009
【図９】
0005592478.tif 000010
【図１０】
0005592478.tif 000011
【図１１】
0005592478.tif 000012
【図１２】
0005592478.tif 000013
【図１３】
0005592478.tif 000014
【図１４】
0005592478.tif 000015