(57)【要約】【課題】不必要にデータ書き込み処理の速度を低下させることなく、簡単な構成（低コスト）で電源遮断対策のできるメモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システムを提供すること。【解決手段】アクセス装置に、ロック機構など、カードが電源遮断対策に対応した機構があるかないかを入力する電源遮断対策情報入力手段３０１を備える。書き込みコマンドに先立ち、アクセス装置から不揮発性記憶装置１００に電源遮断対策の要否を通知する。これにより、電源遮断対策を具備せず高速に記録を行うことが可能な第１の不揮発性メモリ制御手段３０３を用いてデータの書き込みを行うか、電源遮断対策を具備した第２の不揮発性メモリ制御手段３０４を用いてデータの書き込みを行うかを切り替える。【選択図】図４
2008176677.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラであって、
該メモリコントローラと前記不揮発性メモリを含む不揮発性記憶装置のアクセス制御を行うアクセス装置が電源遮断対策のための機構を具備しているかどうかの情報を入力するための電源遮断対策情報入力手段を備えることを特徴とするメモリコントローラ。
【請求項２】
前記メモリコントローラは、
前記電源遮断対策情報入力手段が設定した情報に基づき前記不揮発性メモリの制御方法を選択する不揮発性メモリ制御選択手段をさらに備えたことを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
前記メモリコントローラは、
電源遮断対策を実施しない第１の不揮発性メモリ制御手段と、電源遮断対策を実施する第２の不揮発性メモリ制御手段とをさらに備え、
前記不揮発性メモリ制御選択手段は、
前記電源遮断対策情報入力手段が設定した情報に基づき前記第１の不揮発性メモリ制御手段もしくは前記第２の不揮発性メモリ制御手段を選択することを特徴とする請求項２に記載のメモリコントローラ。
【請求項４】
不揮発性メモリと、請求項１〜３のいずれかに記載のメモリコントローラと、を備えた不揮発性記憶装置。
【請求項５】
不揮発性記憶装置と、該不揮発性記憶装置のアクセス制御を行うアクセス装置とを備えた不揮発性記憶システムであって、
前記アクセス装置は、電源遮断対策のための機構を具備するものであり、
前記不揮発性記憶装置は、
不揮発性メモリと、
前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行い、アクセス装置が電源遮断対策のための機構を具備しているかどうかの情報を入力するための電源遮断対策情報入力手段を備えるメモリコントローラと、を具備することを特徴とする不揮発性記憶システム。
【請求項６】
前記メモリコントローラは、
前記電源遮断対策情報入力手段が設定した情報に基づき前記不揮発性メモリの制御方法を選択する不揮発性メモリ制御選択手段をさらに備えたことを特徴とする請求項５に記載の不揮発性記憶システム。
【請求項７】
前記メモリコントローラは、
電源遮断対策を実施しない第１の不揮発性メモリ制御手段と、電源遮断対策を実施する第２の不揮発性メモリ制御手段とをさらに備え、
前記不揮発性メモリ制御選択手段は、
前記電源遮断対策情報入力手段が設定した情報に基づき前記第１の不揮発性メモリ制御手段もしくは前記第２の不揮発性メモリ制御手段を選択することを特徴とする請求項６に記載の不揮発性記憶システム。
【請求項８】
前記電源遮断対策のための機構は、
前記不揮発性記憶装置を固定するメモリカードロック手段と、
メモリカードロック指示手段と、を備えたことを特徴とする請求項５〜７のいずれか１項に記載の不揮発性記憶装置システム。
【請求項９】
前記メモリカードロック指示手段は、
前記電源遮断対策情報入力手段にロックが有効であるもしくは無効であることを通知することを特徴とする請求項８に記載の不揮発性記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを備えた半導体メモリカード等の不揮発性記憶装置、前記不揮発性メモリを制御するメモリコントローラ、及び前記不揮発性記憶装置にアクセス装置を構成要素として加えた不揮発性記憶システムに関する。
【背景技術】
【０００２】
書き換え可能な不揮発性メモリを備える不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。半導体メモリカードは、光ディスクやテープメディアなどと比較して高価格なものではあるが、小型・軽量・耐震性・取り扱いの簡便さ等のメリットにより、デジタルスチルカメラや携帯電話などのポータブル機器の記録媒体としてその需要が広まり、最近では商用コンテンツを扱う放送局向けのプロ用動画記録機器の記録媒体としても利用されるようになってきた。
【０００３】
この半導体メモリカードは、不揮発性の主記憶メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラ本体等のアクセス装置からの読み書き指示に応じて、フラッシュメモリに対する読み書き制御を行うものとなっている。
【０００４】
このような背景のもと、不揮発性半導体メモリには、高い記録密度及び高速なデータ記録性能が必要とされていると同時に、データの保護が求められている。
【０００５】
フラッシュメモリに関して、記録容量をより向上させるために、１つのメモリセルに複数ビットのデータを記憶可能とするフラッシュメモリ（多値フラッシュメモリ）が開発されている。これによると、記録密度を高くでき、記録容量を高くすることができるだけではなく、同一記録容量におけるメモリセル数も少なくすることができ、低価格化も可能になる。以下、この多値フラッシュメモリの記録方法に関して説明する。
【０００６】
一般にフラッシュメモリ等の不揮発性半導体メモリは、メモリセルのフローティングゲート（またはトラップゲート）に電子を注入してメモリセルの閾値電圧を変えることで、データを記憶する。メモリセルの閾値電圧は、電子がフローティングゲート中に存在すると高くなり、電子がフローティングゲート中に存在しないと低くなる。
【０００７】
図１９は、４値フラッシュメモリにおけるメモリセルの閾値電圧分布を示した図である。メモリセルの閾値電圧はプログラム（データ書き込み）されたデータに応じて、領域Ｌ０、Ｌ１、Ｌ２、Ｌ３のいずれかに分布する。領域Ｌ０、Ｌ１、Ｌ２、Ｌ３は、２ビットデータの"１１"、"１０"、"００"、"０１"にそれぞれ対応している。
【０００８】
データの書き込み（プログラム）は、各メモリセルにおいて、閾値電圧が検証電圧ＶＶ（ＶＶ１，ＶＶ２、ＶＶ３）を超えるまで行われる。例えば、メモリセルに論理"１０"を書き込む場合、そのメモリセルの閾値電圧が検証電圧ＶＶ１を超えるまで、プログラム動作が繰り返される。各メモリセルの閾値電圧は、領域Ｌ０〜Ｌ３のいずれかに設定される。
【０００９】
データの読み出しは、メモリセルの閾値電圧を、参照電圧ＶＲ（ＶＲ１，ＶＲ２、ＶＲ３）と比較することで行われる。メモリセルの閾値電圧が参照電圧ＶＲ１より低いとき、メモリセルに保持されているデータは、"１１"であると判定される。メモリセルの閾値電圧が参照電圧ＶＲ１、ＶＲ２の間にあるとき、メモリセルに保持されているデータは"１０"であると判定される。メモリセルの閾値電圧が参照電圧ＶＲ２、ＶＲ３の間にあるとき、メモリセルに保持されているデータは"００"であると判定される。メモリセルの閾値電圧が参照電圧ＶＲ３より高いとき、メモリセルに保持されているデータは"０１"であると判定される。
【００１０】
メモリセルの消去動作は、消去するメモリセルの制御ゲートに低電圧を供給し、メモリセルのウエル領域に高電圧を供給し、フローティングゲートに蓄積されている電子を放出することで行われる。このとき、消去しないメモリセルの制御ゲートは、例えばフローティング状態に制御される。
【００１１】
一つの不揮発性メモリセルに多値データを記録する場合、不揮発性メモリセルへのデータの書き込みは複数回行われる。例えば、図６に示したように、領域Ｌ０、Ｌ１、Ｌ２、Ｌ３が、２ビットデータの"１１"、"１０"、"００"、"０１"にそれぞれ対応しているときに、下位１ビットデータの書き込み、上位１ビットデータの書き込み、の２段階に分けて書き込みが実施される。（以下、メモリセルに対する２段階目以降の書込みを「追記書込み」とする。）
【００１２】
下位１ビットデータが"１"の場合は領域Ｌ０、下位１ビットデータが"０"の場合は領域Ｌ１に設定される。その後、上位１ビットデータの追記書込みにおいて、上位１ビットデータが"１"の場合は、各領域は変化しない。上位１ビットデータが"０"の場合は、領域Ｌ０から領域Ｌ３もしくは領域Ｌ１から領域Ｌ２に変化する。
【００１３】
ここで領域Ｌ０から領域Ｌ３に変化する過程で電源遮断が発生すると、領域Ｌ１や領域Ｌ２の状態になる場合がある。従って、上位１ビットデータの追記書込み中に電源遮断が発生すると、書込み中の上位１ビットデータに加えて、既に書き込み済の下位１ビットデータが誤ったデータに化ける場合がある。
【００１４】
アクセス装置からの１回の書込みにおいて指定される範囲は、必ずしも下位１ビットデータ及び前記下位１ビットデータに対応する上位１ビットデータの組になっているとは限らない。
【００１５】
従って、上位１ビットデータの追記書込み中の電源遮断によって、アクセス装置が１回の書込みで指定した範囲以外のデータが破壊される可能性がある。すなわち、書き込み済データの内容を保護することができない。
【００１６】
このような、電源遮断による書き込み対象外の領域のデータ破壊を回避する方法として、特許文献１のように不揮発性多値メモリにおいてメモリセルへの書き込み方法を制御することによって、書き込み済データの破壊を防ぐ方法が考えられてきた。
【００１７】
また、特許文献２のように電源が遮断されるとセンサなどを用いて電源遮断を検知する機構により、メモリの破壊を防ぐような方法も考えられてきた。
【特許文献１】特開２００６−１９５５６５号
【特許文献２】特許第１５１７３７９号
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかしながら、上記の従来技術には次のような問題点がある。すなわち、特許文献１に記載の電源遮断対策においては、データの書き込み処理や消去処理に伴って電源遮断対策を行うため、常にデータの書き込みや消去の速度が低下してしまう、また特許文献２に記載の電源遮断対策においては、センサ費用や特殊な金型をおこすための費用が必要となりコストが増大するといった問題点を有していた。
【００１９】
そこで本発明は上記問題点に鑑み、不必要にデータ書き込み処理の速度を低下させることなく、簡単な構成（低コスト）で電源遮断対策のできるメモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
前記目的を達成するため、本発明においては以下の技術的手段を講じた。すなわち、本発明における技術的手段は、不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行うメモリコントローラであって、前記メモリコントローラは、該メモリコントローラと前記不揮発性メモリを含む不揮発性記憶装置のアクセス制御を行うアクセス装置が電源遮断対策のための機構を具備しているかどうかの情報を入力するための電源遮断対策情報入力手段を備えることを特徴とする。
【００２１】
なお、前記メモリコントローラは、前記電源遮断対策情報入力手段が設定した情報に基づき前記不揮発性メモリの制御方法を選択する不揮発性メモリ制御選択手段をさらに備えることが好ましい。
【００２２】
さらに好ましくは、前記メモリコントローラは、電源遮断対策を実施しない第１の不揮発性メモリ制御手段と、電源遮断対策を実施する第２の不揮発性メモリ制御手段とをさらに備え、前記不揮発性メモリ制御選択手段は、前記電源遮断対策情報入力手段が設定した情報に基づき前記第１の不揮発性メモリ制御手段もしくは前記第２の不揮発性メモリ制御手段を選択すれば良い。
【００２３】
また、本発明における技術的手段は、不揮発性メモリとメモリコントローラとを備えた不揮発性記憶装置であって、前記メモリコントローラは、該メモリコントローラと前記不揮発性メモリを含む不揮発性記憶装置のアクセス制御を行うアクセス装置が電源遮断対策のための機構を具備しているかどうかの情報を入力するための電源遮断対策情報入力手段を備えることを特徴とする。
【００２４】
なお、前記メモリコントローラは、前記電源遮断対策情報入力手段が設定した情報に基づき前記不揮発性メモリの制御方法を選択する不揮発性メモリ制御選択手段をさらに備えることが好ましい。
【００２５】
さらに好ましくは、前記メモリコントローラは、電源遮断対策を実施しない第１の不揮発性メモリ制御手段と、電源遮断対策を実施する第２の不揮発性メモリ制御手段とをさらに備え、前記不揮発性メモリ制御選択手段は、前記電源遮断対策情報入力手段が設定した情報に基づき前記第１の不揮発性メモリ制御手段もしくは前記第２の不揮発性メモリ制御手段を選択すれば良い。
【００２６】
また、本発明における技術的手段は、不揮発性記憶装置と、該不揮発性記憶装置のアクセス制御を行うアクセス装置とを備えた不揮発性記憶システムであって、前記アクセス装置は、電源遮断対策のための機構を具備するものであり、前記不揮発性記憶装置は、不揮発性メモリと、前記不揮発性メモリへのデータの書き込み及び前記不揮発性メモリからのデータの読み出しを行い、アクセス装置が電源遮断対策のための機構を具備しているかどうかの情報を入力するための電源遮断対策情報入力手段を備えるメモリコントローラと、を具備することを特徴とする。
【００２７】
なお、前記メモリコントローラは、前記電源遮断対策情報入力手段が設定した情報に基づき前記不揮発性メモリの制御方法を選択する不揮発性メモリ制御選択手段をさらに備えることが好ましい。
【００２８】
また、前記メモリコントローラは、電源遮断対策を実施しない第１の不揮発性メモリ制御手段と、電源遮断対策を実施する第２の不揮発性メモリ制御手段とをさらに備え、前記不揮発性メモリ制御選択手段は、前記電源遮断対策情報入力手段が設定した情報に基づき前記第１の不揮発性メモリ制御手段もしくは前記第２の不揮発性メモリ制御手段を選択することが好ましい。
【００２９】
また、前記電源遮断対策のための機構は、前記不揮発性記憶装置を固定するメモリカードロック手段と、メモリカードロック指示手段と、を備えることが好ましい。
【００３０】
さらに好ましくは、前記メモリカードロック指示手段は、前記電源遮断対策情報入力手段にロックが有効であるもしくは無効であることを通知すれば良い。
【発明の効果】
【００３１】
本発明によれば、アクセス装置に備えられた電源遮断対策のための機構から電源遮断対策情報入力手段に通知された電源遮断対策の要否に基づき、メモリコントローラが電源遮断対策を実施するかしないかを切り替えるようにしたので、電源遮断対策が不要の場合は高速にデータ書き込みができ、また電源遮断対策が必要な場合は電源遮断に対するデータ保護が可能となる。すなわち、不必要にデータ書き込み処理の速度を低下させることなく、簡単な構成で電源遮断対策が可能となる。
【発明を実施するための最良の形態】
【００３２】
以下、本発明の各実施の形態について添付の図面を参照しながら説明する。
（実施の形態１）
図１は、本発明の実施の形態１における不揮発性記憶装置をロックする機構を有した不揮発性記憶システムの外観図である。メモリカードなどのランダムアクセス可能な不揮発性記憶装置１００と不揮発性記憶装置１００に対してデータの書き込み、読み出しを行うホスト装置であるアクセス装置１０１とを含む。不揮発性記憶装置１００は、アクセス装置１０１の中の不揮発性記憶装置１００を格納するためのメモリカードスロット１０２に装着して使用される。また、メモリカードスロット１０２に格納された不揮発性記憶装置１００を物理的にアクセス装置１０１から取り出せなくするための蓋であるメモリカードロック手段１０４によってロックされ、アクセス装置１０１が許可するまで不揮発性記憶装置１００をユーザは取り出すことはできない。そのため、メモリカードロック手段１０４によってロックされている間、不揮発性記憶装置１００は不用意に電源遮断が生じることはない。
【００３３】
図３に、本発明における不揮発性記憶装置及びそれにアクセスするアクセス装置からなる不揮発性記憶システムの構成例を示す。
【００３４】
不揮発性記憶装置１００はメモリコントローラ１１０と不揮発性メモリ１２０とを含む。メモリコントローラ１１０は、アクセス装置１０１との間でコマンドやデータのやりとりを行うホストインターフェース部１１１と、アクセス装置１０１から指定された論理アドレスに指定されたデータを読み出し／書き込みを行う不揮発性メモリ制御部１１５を含む。不揮発性メモリ制御部１１５はアクセス装置１０１が指定する論理アドレスを不揮発性メモリ１２０内の物理アドレスに変換するテーブルである論物変換テーブル１１２と、不揮発性メモリ１２０内の使用状況を管理する空きブロック管理テーブル１１３と、不揮発性メモリ１２０の制御を行う読出し／書込み制御部１１４と、アクセス装置１０１が電源遮断対策のための機構を持っているかどうかを示す電源遮断対策情報フラグ１１６を含む。
【００３５】
不揮発性メモリ１２０はNＡＮＤ型フラッシュメモリである。本実施の形態では、不揮発性メモリ１２０は図６に示す閾値分布により４値データを記録可能なメモリセルを含む。不揮発性メモリ１２０は、図７に示すようにデータ消去の最小単位である所定サイズ（データ格納用途の２５６ＫＢ＋管理情報格納用途の８ＫＢ）の物理ブロックを複数個（１０２４個）含む。各物理ブロック内には、図８に示すようにデータ書き込みの最小単位である所定サイズ（データ格納用途の２ＫＢ+管理情報格納用途の６４B）の物理ページが複数（１２８個）含まれる。
【００３６】
不揮発性メモリ１２０は２ページ構成（第１ページと第２ページ）となっている。第１ページと第２ページはメモリセルを共用した物理ページの組であり、各メモリセルの下位１ビットの集合が第１ページであり各メモリセルの上位１ビットの集合が第２ページであるものとする。従って第１ページへのデータ書込み後の第２ページへのデータ書込み中に電源遮断が発生した場合には第１ページ及び第２ページの両方のデータが破壊される可能性がある。本実施の形態における第１ページ及び第２ページの組合せを図９に示す。第１ページである物理ページ０（ＰＰ０）は、第２ページである物理ページ４（ＰＰ４）と組になっている。同様に、物理ページ１（ＰＰ１）は物理ページ５（ＰＰ５）と、物理ページ２（ＰＰ２）は物理ページ８（ＰＰ８）と組になっている。
【００３７】
不揮発性メモリ１２０は、管理データ格納領域１２１とデータ格納領域１２２とを有する。尚、データ格納領域１２２には、ユーザがアクセスすることができるデータ、すなわち、アクセス装置１０１から論理アドレスを指定して不揮発性メモリ１２０に書き込み、または読み出しを行うことができるデータが記録される。
【００３８】
また、管理データ格納領域１２１には、ユーザが直接アクセスできない情報、つまり、アクセス装置１０１から論理アドレスを指定してアクセスすることができない情報が格納される。ユーザが直接アクセスできない情報には、アドレス管理情報の一部や、システム情報が含まれる。
【００３９】
図１０は、アクセス装置１０１が不揮発性記憶装置１００に対して初期化コマンドを送信した場合の不揮発性記憶装置１００の動作フローである。初期化コマンドはアクセス装置１０１の電源投入時や不揮発性記憶装置１００の装着時などに送信される。
【００４０】
不揮発性記憶装置１００が初期化コマンドを受信すると、メモリコントローラ１１０は論物変換テーブル１１２及び空きブロック管理テーブル１１４などの内部メモリのクリアや、不揮発性メモリ１２０の接続確認などのハードウェアの初期化処理を行う（Ｓ１００１）。その後、読出し／書込み制御部１１４は不揮発性メモリ１２０の管理データ格納領域１２１に格納されているアドレス管理情報等を取得し（Ｓ１００２）、取得した情報を元に論物変換テーブル１１２及び空きブロック管理テーブル１１３を作成（Ｓ１００３）、電源遮断情報フラグ１１６に対して、電源遮断対策がされていない状態に初期設定（Ｓ１００４）して処理を完了させる。
【００４１】
以下、図１で示される不揮発性記憶システムにおいて、本発明における不揮発性記憶装置１００の各部の動作について、図４を用いて説明する。不揮発性メモリ制御部１１５は、アクセス装置１０１に電源遮断対策の機構の有無を入力する電源遮断対策情報入力手段３０１と、電源遮断対策情報フラグ１１６の情報を元に不揮発性メモリ制御方法を選択する不揮発性メモリ制御選択手段３０２と、電源遮断対策を行わず高速にデータを記録する第１の不揮発性メモリ制御手段３０３と、電源遮断対策を行いながらデータを記録する第２の不揮発性メモリ制御手段３０４を含む。アクセス装置１０１のメモリカードスロット１０２に不揮発性記憶装置１００が装着され、アクセス装置１０１から不揮発性記憶装置１００にデータを書き込む必要が生じた場合、メモリカードロック指示手段３０５はメモリカードロック手段１０４に不揮発性記憶装置がユーザ操作によって排出されないようにロックするように指示を出す。同時にホストインターフェース１１１を介して、電源遮断対策情報入力手段３０１に、不揮発性記憶装置１００がロックされアクセス装置１０１の電源遮断対策が有効になっていることを通知する。電源遮断情報入力手段３０１は電源遮断対策情報フラグ１１６を電源遮断対策が有効になっている状態に変更を行う。
【００４２】
アクセス装置１０１の電源遮断対策が有効になった後、データを不揮発性記憶装置１００に書き込むためのデータ書き込み手段３０６はホストインターフェース１１１を介して書き込みコマンドを送信する。
【００４３】
図１３は不揮発性メモリ制御選択手段３０２の動作フローを示した図である。データ書き込み手段３０６より書き込みコマンドを受信すると、電源遮断対策情報フラグ１１６から電源遮断対策が有効かどうかを取得する（Ｓ１３０１）。電源遮断対策情報フラグが有効を指し示しているかどうかを判断し（Ｓ１３０２）、有効な場合は第１の不揮発性メモリ制御手段３０３を使って不揮発性メモリ１２０にデータ書き込み手段３０６から受信した書き込みデータを書き込み（Ｓ１３０３）、無効である場合は、第２の不揮発性メモリ制御手段３０４をつかってデータ書き込み手段３０６から受信した書き込みデータを書き込む（Ｓ１３０４）。図１におけるアクセス装置においては、アクセス装置における電源遮断対策が有効なため、言い換えれば不揮発性記憶装置１００側での電源遮断対策が不要であるため、第１の不揮発性メモリ制御手段を用いて、電源遮断対策を行わずにデータを書き込む。
【００４４】
図１１はアクセス装置１０１のデータ書き込み手段３０６が不揮発性記憶装置１００に対して書込みコマンド及び書込みデータを送信した場合の第１の不揮発性メモリ制御手段３０３の動作フローである。不揮発性記憶装置１００のメモリコントローラ１１０のホストインターフェース部１１１はデータ書き込み手段３０６が指定した書込み開始論理アドレスを取得し（Ｓ１１０１）、読出し／書込み制御部１１４に通知する。
【００４５】
読出し／書込み制御部１１４は書込み開始論理アドレス（セクタ単位、すなわち５１２Ｂ単位）から書込み開始論理ブロック（ブロック単位、すなわち２５６ｋＢ単位）を算出し、論物変換テーブル１１２を利用して前記書込み開始論理ブロックに対応する物理ブロックを決定する。
【００４６】
本実施の形態における論物変換テーブル１１２の例を図１４に示す。本実施の形態において論理ブロックに対応する物理ブロックは書込みが完結したブロック（書込み完結ブロック）１個と書込み途中のブロック（書込み途中ブロック）１個の最大２個である。また、書込み途中ブロックは最大３個の論理ブロックに対して割当てることができる。
【００４７】
図１４において、論理ブロック０（ＬＢ０）に対応する物理ブロックは書込み完結ブロック（ＰＢ２０２）１個である。論理ブロック１（ＬＢ１）に対応する物理ブロックは書込み完結ブロック（ＰＢ３５８）１個と書込み中ブロック（ＰＢ３８）１個の計２個である。論理ブロック２（ＬＢ２）に対応する物理ブロックは未だ割当てられておらず０個である。
【００４８】
読出し／書込み制御部１１４は、前記書込み開始論理ブロックに対応する書込み途中ブロックが存在する場合には、これを書込み用物理ブロックとする。存在しない場合には、空きブロック管理テーブル１１３を利用して空き物理ブロックを取得し、書込み用物理ブロックとする（Ｓ１１０２）。
【００４９】
図１５に本実施の形態における空きブロック管理テーブル１１３を示す。各物理ブロックが「空き」であるか「使用中」であるかという情報を保持している。
【００５０】
空きの物理ブロックを書込み用物理ブロックにした場合には、該書込み用物理ブロックを論物変換テーブル１１２の書込み途中ブロックとして登録する。さらに、前記空きのブロックを書き込み途中ブロックとして割当てたことを不揮発性メモリ１２０に記録するために、管理データ格納領域１２１に格納されているアドレス管理情報を更新する。
【００５１】
次に、読出し／書込み制御部１１４は前記書込み用物理ブロックにデータ書き込み手段３０６から受信した書込みデータを物理ページ番号の小さい順に未書込みの物理ページに書込み（Ｓ１１０３）、前記書込み用物理ブロックの全てのページに書込みが完了した状態になったか否かの判定を行い（Ｓ１１０４）、完了時はＳ１１０２へ、未完了時はＳ１１０３に移行する。このとき、前記書込み用物理ブロックの前記第１ページ・２ページ両方に書込みを行う。（以降、４値モード書込みと呼ぶ）。４値モード書込みは、書込み中に電源遮断が発生した場合、書込み中のページ以外の書込み済みデータが破壊される場合があるが、不揮発性記憶装置１００はアクセス装置１０１に備えられたメモリカードロック手段１０４によってロックされているため、電源遮断がおこることはない。以降、次の書込み用物理ブロックの取得（Ｓ１１０２）から処理を繰り返す。
【００５２】
以上のように、本実施の形態ではアクセス装置１０１からの書込みデータを記録する場合に、「４値モード書込み」による１段階の書込みを行う。不揮発性記憶装置に電源遮断が起こった場合、書込み済みデータが破壊される可能性を持っているが、アクセス装置によって電源遮断から保護されているためデータが破壊されることはない。後述する第２の不揮発性メモリ制御手段３０４に比べて、１段階で書き込み処理が行われているため、高速にメモリに記録することができる。
【００５３】
（実施の形態２）
図２は本発明の実施形態のひとつである不揮発性記憶装置１００をロックする機構を持たないアクセス装置１０１について示したものである。なお、図２において、図１と同じ構成要素については同じ符号を用い、説明を省略する。
【００５４】
メモリカードスロット１０２に格納された不揮発性記憶装置１００を物理的にアクセス装置１０１から取り出せなくするためのメモリカードロック手段等はなく、データ書き込み中にも容易に不揮発性記憶装置１００をアクセス装置１０１から取り出すことができるため、いつ電源遮断が生じるか不揮発性記憶装置１００は知ることができない。
【００５５】
以下、アクセス装置１０１において、本発明における不揮発性記憶装置１００の各部の動作について、図５を用いて説明する。なお、図５において、図４と同じ構成要素については同じ符号を用い、説明を省略する。
【００５６】
アクセス装置１０１のメモリカードスロット１０２に不揮発性記憶装置１００が装着され、アクセス装置１０１から不揮発性記憶装置１００にデータを書き込む必要が生じた場合、データを不揮発性記憶装置１００に書き込むためのデータ書き込み手段３０６はホストインターフェース１１１を介して書き込みコマンドを送信する。不揮発性メモリ制御選択手段３０２は図１３の動作フローにおいて、電源遮断対策情報フラグ１１６読み込み（Ｓ１３０１）では初期状態のままのため、フラグは無効状態となっている。この場合、電源遮断対策があるかないかを判断するＳ１３０２において、第２の不揮発性メモリ制御手段３０４を使って不揮発性メモリ１２０にデータ書き込み手段３０６から受信した書き込みデータを記録するように指示を出す（Ｓ１３０４）。
【００５７】
図１２は、アクセス装置１０１のデータ書き込み手段３０６が不揮発性記憶装置１００に対して書込みコマンド及び書込みデータを送信した場合の第１の不揮発性メモリ制御手段３０３の動作フローである。
【００５８】
不揮発性記憶装置１００のメモリコントローラ１１０のホストインターフェース部１１１はデータ書き込み手段３０６が指定した書込み開始論理アドレスを取得し（Ｓ１２０１）、読出し／書込み制御部１１４に通知する。
【００５９】
読出し／書込み制御部１１４は書込み開始論理アドレス（セクタ単位、すなわち５１２Ｂ単位）から書込み開始論理ブロック（ブロック単位、すなわち２５６ｋＢ単位）を算出し、論物変換テーブル１１２を利用して前記書込み開始論理ブロックに対応する物理ブロックを決定する。
【００６０】
本実施の形態における論物変換テーブル１１２の例を図１４に示す。本実施の形態において論理ブロックに対応する物理ブロックは書込みが完結したブロック（書込み完結ブロック）１個と書込み途中のブロック（書込み途中ブロック）１個の最大２個である。また、書込み途中ブロックは最大３個の論理ブロックに対して割当てることができる。
【００６１】
図１４において、論理ブロック０（ＬＢ０）に対応する物理ブロックは書込み完結ブロック（ＰＢ２０２）１個である。論理ブロック１（ＬＢ１）に対応する物理ブロックは書込み完結ブロック（ＰＢ３５８）１個と書込み中ブロック（ＰＢ３８）１個の計２個である。論理ブロック２（ＬＢ２）に対応する物理ブロックは未だ割当てられておらず０個である。
【００６２】
読出し／書込み制御部１１４は、前記書込み開始論理ブロックに対応する書込み途中ブロックが存在する場合には、これを書込み用物理ブロックとする。存在しない場合には、空きブロック管理テーブル１１３を利用して空き物理ブロックを取得し、書込み用物理ブロックとする（Ｓ１２０２）。図１５に本実施例における空きブロック管理テーブル１１３を示す。各物理ブロックが「空き」であるか「使用中」であるかという情報を保持している。
【００６３】
空きの物理ブロックを書込み用物理ブロックにした場合には、該書込み用物理ブロックを論物変換テーブル１１２の書込み途中ブロックとして登録する。さらに、前記空きのブロックを書き込み途中ブロックとして割当てたことを不揮発性メモリ１２０に記録するために、管理データ格納領域１２１に格納されているアドレス管理情報を更新する。書込み中ブロックが登録可能数（３個）を越える場合には、後述する集約処理を行って任意の書込み途中ブロックの書込みを完結させてから登録する。
【００６４】
次に、読出し／書込み制御部１１４は前記書込み用物理ブロックにデータ書き込み手段３０６から受信した書込みデータを物理ページ番号の小さい順に未書込みの物理ページに書込む（Ｓ１２０３）。このとき、前記書込み用物理ブロックの前記第１ページにのみ書込みを行い、前記第２ページには書込みを行わないものとする（以降、２値モード書込みと呼ぶ）。２値モード書込みは、４値メモリセルを２値メモリセルのように使用する従来の書込み方法である。第１ページにしか書込まないため、書込み中に電源遮断が発生しても、書込み中のページ以外の書込み済みデータが破壊されることはない。
【００６５】
次に、読出し／書込み制御部１１４はデータ書き込み手段３０６から受信した未書込みデータがあるか確認し（Ｓ１２０４）、未書込みデータがなければ書込み処理を終了する。
【００６６】
未書込みデータが残っている場合には、書込み用物理ブロックの全ての第１ページに書込みが完了した状態になったか否かを確認する（Ｓ１２０５）。
【００６７】
図１６に２値モード書込みを行った後の書込み用物理ブロックの状態例を示す。図１６において斜線のページは書込み済みページを表す。本実施の形態においては、各物理ページに格納されたデータの論理ページ（ＬＰ）情報も該物理ページ内に格納されているものとする。なお、図１６（Ａ）は書込み用物理ブロックの全ての第１ページに書込みが完了した状態であり、図１６（Ｂ）は未書込みの第１ページが残っている状態である。
【００６８】
書込み用物理ブロックに未書込みの第１ページが残っている場合は、続けて２値モード書込みを行う（Ｓ１２０３）。
【００６９】
書込み用物理ブロックの全ての第１ページに書込みが完了した場合は、書込みを行った論理ブロックの番号より領域の判定を行ない（Ｓ１２０６）、集約処理の方法を決定する。
【００７０】
集約処理とは、論理ブロックに対応する２つの物理ブロックに格納されたデータのうち有効なデータのみを１つの物理ブロックに集約して書込み、集約前の２つのブロックを空きブロックとする処理である。ここで有効なデータとは、該論理アドレスに対して書込まれた最新データを意味する。
【００７１】
集約前の物理ブロックに同じ論理ページのデータが複数存在する場合、有効なデータは次のルールによって一意に決定することができる。すなわち、（ルール１）書込み完結ブロックよりも書込み用物理ブロックのデータは新しい、（ルール２）書込み用物理ブロック内において物理ページ番号の大きい方のデータが新しい、という２つのルールである。
【００７２】
本実施の形態においては、論理ブロック０（ＬＢ０）であればＦＡＴファイルシステムの管理情報が記録されている領域と判定して以下に示す「２値モード集約」の処理を行う（Ｓ１２０７）。それ以外の論理ブロックならば以下に示す「多値モード集約」の処理を行う（Ｓ１２０８）。
【００７３】
２値モード集約とは、集約先の物理ブロックへの書込みを２値モード書込みによって行う集約方法である。図１７に２値モード集約による集約例を示す。集約元の書込み完結ブロック及び書込み用物理ブロックの有効データは２値モード書込みによって１つの物理ブロックに集約されている。
【００７４】
多値モード集約とは、集約先の物理ブロックへの書込みを多値モード書込みによって行う集約方法である。ここで、多値モード書込みとは全ての物理ページ（第１ページ及び第２ページの両方）に書込みを行う書込み方法である。図１８に多値モード集約による集約例を示す。集約元の書込み完結ブロック及び書込み用物理ブロックの有効データは多値モード書込みによって１つの物理ブロックに集約されている。
【００７５】
各々の集約処理後、集約元の２つの物理ブロックは空きブロック管理テーブル１１３において「使用中」から「空き」に更新され、集約先の物理ブロックは「空き」から「使用中」に更新される。また、論物変換テーブル１１２において、集約元の書込み完結ブロックの物理ブロックは集約先の物理ブロックに更新され、集約元の書込み途中ブロックは「未割当て」に更新される。また、集約処理による物理ブロックの割当ての変更を不揮発性メモリ１２０に記録するために、管理データ格納領域１２１に格納されているアドレス管理情報を更新する（Ｓ１２０９）。以降、次の書込み用物理ブロックの取得（Ｓ１２０２）から処理を繰り返す。
【００７６】
集約処理における書込み中に電源遮断が発生した場合には、次の初期化時のＳ１００２の処理で管理データ格納領域１２１から読み出されるアドレス管理情報が集約処理前の状態のものになり、集約先の物理ブロックは「空き」となる。集約処理は有効データを複製する処理であるため、集約処理前の状態に戻っても書込み済みデータが破壊されることはない。
【００７７】
以上のように、本実施の形態ではアクセス装置１０１からの書込みデータを記録する場合に、「２値モード書込み」及び「集約処理」による２段階の書込みを行う。前者の書込みは常に書込み済みデータが未格納であるメモリセルに対して行われるため電源遮断で書込み済みデータが破壊されることはない。後者の書込みは不揮発性多値メモリ内の書込み済みデータを別の場所に複製する処理なので、不揮発性記憶装置１００がアクセス装置１０１から取り外されるなどによって電源遮断が発生しても複製前の書込み済みデータを有効にすることで書込み済みデータが破壊されることはない。
【００７８】
なお、本発明の趣旨を逸脱しない範囲で実施変更することができる。以下のような場合も本発明に含まれる。
（１）実施の形態１において、図１に示す例では不揮発性記憶装置をアクセス装置から排出されるのを防ぐためにメモリカードロック手段１０４、すなわちメモリカードスロットに蓋をする機構を用いて説明を行ったが、不揮発性記憶装置に切り欠き等を設け、該切り欠きを用いてロックするなどの方法にも適用できる。
（２）図１に示す例では不揮発性記憶装置１００としてメモリカードを例にあげたが、磁気ディスク装置、光磁気ディスク装置、ハードディスク装置等の不揮発性記憶装置においても適用できる。
（３）図３において、アクセス装置１０１の電源遮断対策に関する情報を格納するフラグを不揮発性メモリ制御部１１５内に備えた場合を用いて説明を行ったが、書き込みコマンドの前にアクセス装置１０１に電源遮断対策情報を取得しにいく場合においても適用できる。
【産業上の利用可能性】
【００７９】
本発明にかかるメモリコントローラ、不揮発性記憶装置及び不揮発性記憶システムは、
不必要にデータ書き込み処理の速度を低下させることなく、簡単な構成で電源遮断対策ができるものであり、静止画記録再生装置や動画記録再生装置等のポータブルＡＶ機器、あるいは携帯電話等のポータブル通信機器の記録媒体として広く利用可能である。
【図面の簡単な説明】
【００８０】
【図１】本発明の実施の形態１における不揮発性記憶装置をロックする機構を有した不揮発性記憶システムの外観図
【図２】本発明の実施の形態２における不揮発性記憶装置をロックする機構を持たない不揮発性記憶システムの外観図
【図３】不揮発性記憶システムの構成を示すブロック図
【図４】本発明の実施の形態１における不揮発性記憶装置を示すブロック図
【図５】本発明の実施の形態２における不揮発性記憶装置を示すブロック図
【図６】不揮発性メモリにおけるデータの閾値電圧とセル数の分布を示す図
【図７】不揮発性メモリの物理ブロックによる構成を示す図
【図８】物理ブロックの物理ページによる構成を示す図
【図９】物理ブロックの第１ページと第２ページに割当てられた物理ページの一覧及びその組合せを示す表
【図１０】不揮発性記憶装置１００の初期化コマンド受信後の動作フローを示すフローチャート
【図１１】第１の不揮発性メモリ制御手段３０４の書込みコマンド受信後の動作フローを示すフローチャート
【図１２】第２の不揮発性メモリ制御手段３０４の書込みコマンド受信後の動作フローを示すフローチャート
【図１３】不揮発性メモリ制御選択手段３０２における書込みコマンド受信後の動作フローを示すフローチャート
【図１４】論物変換テーブル１１２の構成を示す図
【図１５】空きブロック管理テーブル１１３の構成を示す図
【図１６】（Ａ）は２値モード書込み後の書込み用物理ブロックの状態例（全ての第１ページに書込み完了）を示す図、（Ｂ）は２値モード書込み後の書込み用物理ブロックの状態例（未書込みの第１ページが存在）を示す図
【図１７】２値モード集約における集約前後の物理ブロックの状態例を示す図
【図１８】多値モード集約における集約前後の物理ブロックの状態例を示す図
【符号の説明】
【００８１】
１００  不揮発性記憶装置
１０１  アクセス装置
１０２  メモリカードスロット
１０４  メモリカードロック手段
１１０  メモリコントローラ
１１１  ホストインターフェース部
１１２  論物変換テーブル
１１３  空きブロック管理テーブル
１１４  読出し／書込み制御部
１１５  不揮発性メモリ制御部
１１６  電源遮断対策情報フラグ
１２０  不揮発性メモリ
１２１  管理データ格納領域
１２２  データ格納領域
３０１  電源遮断対策情報入力手段
３０２  不揮発性メモリ制御選択手段
３０３  第１の不揮発性メモリ制御手段
３０４  第２の不揮発性メモリ制御手段
３０５  メモリカードロック指示手段
３０６  データ書き込み手段
【図１】
2008176677.tif 000003
【図２】
2008176677.tif 000004
【図３】
2008176677.tif 000005
【図４】
2008176677.tif 000006
【図５】
2008176677.tif 000007
【図６】
2008176677.tif 000008
【図７】
2008176677.tif 000009
【図８】
2008176677.tif 000010
【図９】
2008176677.tif 000011
【図１０】
2008176677.tif 000012
【図１１】
2008176677.tif 000013
【図１２】
2008176677.tif 000014
【図１３】
2008176677.tif 000015
【図１４】
2008176677.tif 000016
【図１５】
2008176677.tif 000017
【図１６】
2008176677.tif 000018
【図１７】
2008176677.tif 000019
【図１８】
2008176677.tif 000020