(57)【要約】【課題】使用する不揮発性メモリの性能に応じた最適の書き込み性能を提供する。【解決手段】レート３検知部１０３により、不揮発性メモリ１１０が有するＩＤコード１１４に基づきメモリセルアレイ１１２への書き込みレート（レート３）を検知し、レート２調整部１０４により、バッファ１０１に一時記憶されたデータを不揮発性メモリ１１０に転送するレート（レート２）を概ねレート３に調整し、バッファ１０１のデータをレート２で不揮発性メモリ１１０に書き込む。よって、例えばレート３が３０Ｍバイト／秒の不揮発性メモリの場合、レート２を３０Ｍバイト／秒の高レートに引き上げることとなり、レート２に律速しない高速なシステムが実現できる。一方、レート３が１０Ｍバイト／秒の不揮発性メモリの場合、レート２を１０Ｍバイト／秒の低レートに下げることとなり、メモリコントローラ１００のピーク電流の抑制や低ノイズ化を実現することができる。【選択図】図１
2007299141.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリからのデータの読み出し、及び該不揮発性メモリへのデータの書き込みを制御するメモリコントローラであって、
前記メモリコントローラは、
前記不揮発性メモリへ書き込まれる前のデータを一時的に記憶するバッファと、
前記不揮発性メモリが有するＩＤコードに基づき該不揮発性メモリ内のメモリセルアレイへの書き込みレート（レート３）を検知するレート３検知手段と、
前記バッファに一時記憶されたデータを前記不揮発性メモリに転送するレート（レート２）を前記レート３に基づき調整するレート２調整手段と、
前記バッファに一時記憶されたデータをレート２の転送レートにて前記不揮発性メモリに書き込む読み書き手段と、
を有していることを特徴とするメモリコントローラ。
【請求項２】
前記バッファは、リングメモリ形式のバッファであることを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
前記不揮発性メモリは、不揮発性ＲＡＭであり、抵抗変化型メモリ、強誘電体メモリ、磁性記録式随時書き込み読み出しメモリ、オボニックユニファイドメモリのうちのいずれか１つで構成されることを特徴とする請求項１または２に記載のメモリコントローラ。
【請求項４】
不揮発性メモリと、前記不揮発性メモリからのデータの読み出し、及び該不揮発性メモリへのデータの書き込みを制御するメモリコントローラとを有する不揮発性記憶装置であって、
前記メモリコントローラは、
前記不揮発性メモリへ書き込まれる前のデータを一時的に記憶するバッファと、
前記不揮発性メモリが有するＩＤコードに基づき該不揮発性メモリ内のメモリセルアレイへの書き込みレート（レート３）を検知するレート３検知手段と、
前記バッファに一時記憶されたデータを前記不揮発性メモリに転送するレート（レート２）を前記レート３に基づき調整するレート２調整手段と、
前記バッファに一時記憶されたデータをレート２の転送レートにて前記不揮発性メモリに書き込む読み書き手段と、
を有していることを特徴とする不揮発性記憶装置。
【請求項５】
前記バッファは、リングメモリ形式のバッファであることを特徴とする請求項４に記載の不揮発性記憶装置。
【請求項６】
前記不揮発性メモリは、不揮発性ＲＡＭであり、抵抗変化型メモリ、強誘電体メモリ、磁性記録式随時書き込み読み出しメモリ、オボニックユニファイドメモリのうちのいずれか１つで構成されることを特徴とする請求項４または５に記載の不揮発性記憶装置。
【請求項７】
不揮発性メモリと、前記不揮発性メモリからのデータの読み出し、及び該不揮発性メモリへのデータの書き込みを制御するメモリコントローラと、アクセス装置とを有する不揮発性記憶システムであって、
前記アクセス装置は、前記不揮発性メモリにアクセスすべく前記メモリコントローラにデータを付与し、
前記メモリコントローラは、
前記不揮発性メモリへ書き込まれる前のデータを一時的に記憶するバッファと、
前記不揮発性メモリが有するＩＤコードに基づき該不揮発性メモリ内のメモリセルアレイへの書き込みレート（レート３）を検知するレート３検知手段と、
前記バッファに一時記憶されたデータを前記不揮発性メモリに転送するレート（レート２）を前記レート３に基づき調整するレート２調整手段と、
前記バッファに一時記憶されたデータをレート２の転送レートにて前記不揮発性メモリに書き込む読み書き手段と、
を有していることを特徴とする不揮発性記憶システム。
【請求項８】
前記バッファは、リングメモリ形式のバッファであることを特徴とする請求項７に記載の不揮発性記憶システム。
【請求項９】
前記不揮発性メモリは、不揮発性ＲＡＭであり、抵抗変化型メモリ、強誘電体メモリ、磁性記録式随時書き込み読み出しメモリ、オボニックユニファイドメモリのうちのいずれか１つで構成されることを特徴とする請求項７または８に記載の不揮発性記憶システム。
【請求項１０】
不揮発性メモリと、バッファとを備える不揮発性記憶装置へデータを書き込むデータ書き込み方法であって、
前記データを一時的に前記バッファに記憶し、
前記不揮発性メモリが有するＩＤコードに基づき該不揮発性メモリ内のメモリセルアレイへの書き込みレート（レート３）を検知し、
前記バッファに一時記憶されたデータを前記不揮発性メモリに転送するレート（レート２）を前記レート３に基づき調整し、
前記バッファに一時記憶されたデータをレート２の転送レートにて前記不揮発性メモリに書き込むデータ書き込み方法。
【請求項１１】
前記バッファは、リングメモリ形式のバッファであることを特徴とする請求項１０に記載のデータ書き込み方法。
【請求項１２】
前記不揮発性メモリは、不揮発性ＲＡＭであり、抵抗変化型メモリ、強誘電体メモリ、磁性記録式随時書き込み読み出しメモリ、オボニックユニファイドメモリのうちのいずれか１つで構成されることを特徴とする請求項１１または１２に記載のデータ書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを備えた半導体メモリカード等の不揮発性記憶装置、及びそれに内蔵されるメモリコントローラに関するものである。さらに、不揮発性記憶装置にアクセス装置を構成要件として加えた不揮発性記憶システム、ならびにメモリコントローラの動作に関するデータ書き込み方法も含む。
【背景技術】
【０００２】
書き換え可能な不揮発性メモリを備えた不揮発性記憶装置は、半導体メモリカードを中心的な実施形態として、その需要が広まっている。また半導体メモリカードを使った不揮発性記憶システムは、デジタルスチルカメラ等を中心にその需要が広まっている。かかる半導体メモリカードには様々な種類があり、その一つとしてＳＤ（セキュア・デジタル）メモリカードがある。このＳＤメモリカードは、不揮発性の主記憶メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラやパソコン（パーソナルコンピュータ）本体等のアクセス装置からの読み書き指示に応じて、フラッシュメモリに対する読み書き制御を行うものとなっている。
【０００３】
このようなＳＤメモリカードをデジタルスチルカメラ等のアクセス装置に取り付けて、アクセス装置側からリムーバブルディスクと見なしてＦＡＴファイルシステムで管理し、データのアクセスを行うことを考える。ＦＡＴファイルシステムは、記録デバイスへファイルやデータを記録する際にファイル・アローケション・テーブル（以降、ＦＡＴと明記する）を用いてデータの読み書きを指示するシステムである。
【０００４】
ＳＤメモリカードを構成するフラッシュメモリは、記憶単位であるメモリセルへの書き込みや消去に比較的長い時間を必要とするため、複数のメモリセルを一括して消去したり書き込んだりできる構造となっている。具体的には、複数の物理ブロック（消去単位）から構成され、各物理ブロックは複数のページ（書き込み単位）を含み、消去は物理ブロック単位で、書き込みはページ単位で行われる。
【０００５】
近年フラッシュメモリは、大容量化と低コスト化への要望に対応して、多値ＮＡＮＤフラッシュメモリのように1つのメモリセルに２ビットの情報が記憶できる品種が主流となってきている。このような多値ＮＡＮＤフラッシュメモリは、従来の２値ＮＡＮＤフラッシュメモリと比較すると、メモリセルの消去や書き込みに要する時間がより長時間必要となる。そのため、消去単位である物理ブロックのサイズや、書き込み単位であるページのサイズを従来よりも大きくすることにより、単位容量あたりの消去時間（以降、消去レートとする）と単位時間あたりの書き込み時間（以降、書き込みレートとする）を向上させる工夫がなされている。代表的な多値ＮＡＮＤフラッシュメモリの書き込みレートは、次の式により、２ｋバイト（ページサイズ）÷８００μ秒（書き込み時間）＝２．５Ｍバイト／秒、である。
【０００６】
このようなフラッシュメモリを有するメモリカード用いた典型的な不揮発性記憶システムのデータ書き込み方法について、図６を用いて説明する。
【０００７】
図６において、アクセス装置２０００は不揮発性記憶装置５０００にデータを書き込む。
【０００８】
なお、ＳＤメモリカードにおいて、最小書き込み単位は５１２バイトであるが、簡単のため、アクセス装置２０００から１クラスタ分の書き込み指示がなされたものとする。また１クラスタのサイズを１６ｋバイトとする。
【０００９】
アクセス装置２０００から転送された１６ｋバイト分のデータは、まずホストインターフェース２００１で受信される。ホストインターフェース２００１はデータ受信を検知すると、ＣＰＵ部２００７に対して受信を開始したことを通知する。ＣＰＵ部２００７は切り替え回路２００２と切り替え回路２００５に指示を送り、切り替え回路２００２がバッファ２００３にデータを一時記憶できるように切り替えを行わせる。それと同時に、切り替え回路２００５がバッファ２００４に一時記憶されたデータを読み書き制御部２００６を介して不揮発性メモリ４０００に書き込めるように切り替えを行われる。この時バッファ２００４は空き状態であるので、不揮発性メモリ４０００へのデータの書き込みはなされない。
【００１０】
次に、ＣＰＵ部２００７はホストインターフェース２００１が２ｋバイト分のデータを受信し、バッファ２００３に２ｋバイト分のデータを一時記憶したことを検知すると、切り替え回路２００２と切り替え回路２００５に指示を送り、切り替え回路２００２がバッファ２００４にデータを一時記憶できるように切り替えを行わせる。それと同時に、切り替え回路２００５がバッファ２００３に一時記憶されたデータを読み書き制御部２００６を介して不揮発性メモリ４０００に書き込めるように切り替えを行わせる。この時バッファ２００３には２ｋバイト分のデータが一時記憶されているので、読み書き制御部２００６は不揮発性メモリ４０００へのデータの書き込みを行う。
【００１１】
ＣＰＵ部２００７はアクセス装置２０００から受信した論理アドレスに基づいて不揮発性メモリ４０００の書き込み先（物理アドレス）を決定し、該物理アドレスを読み書き制御部２００６に指定する。読み書き制御部２００６は、ＣＰＵ部２００７が指定した物理アドレスと２ｋバイト分のデータをセットとして不揮発性メモリ４０００に転送する。
【００１２】
不揮発性メモリ４０００において、読み書き制御部２００６から転送された物理アドレスを制御回路４００３が受信し、制御回路４００３はメモリセルアレイ４００２内の物理アドレスへの書き込み先を指定する。そして読み書き制御部２００６から転送された２ｋバイト分のデータが全てレジスタ４００１に一時保持された段階で、読み書き制御部２００６は書き込み開始命令を不揮発性メモリ４０００に転送し、それを受けた制御回路４００３は、レジスタ４００１からメモリセルアレイ４００２に書き込みを行う。
【００１３】
以上のように、ＣＰＵ部２００７がバッファ２００３および２００４への一時記憶と読み出しを交互に切り替えることにより、１６ｋバイト分のデータの受信と不揮発性メモリ４０００への書き込みをパイプライン的に行うことができる。
【００１４】
ここで、バス１〜３のレートについて説明する。バス１の書き込みレート（以降レート１とする）は、アクセス装置２０００の性能に依存するものであり、本特許においては特に制約のないものと仮定する。バス２の書き込みレート（以降レート２とする）は設計によって様々であるが、例えば８ビットバスタイプ（１６ビットバスタイプもある）のフラッシュメモリを使用し２０ＭＨｚの周波数で動作させた場合は、２０Ｍバイト／秒となる。バス３の書き込みレート（以降レート３とする）は先の数式で説明した通り、フラッシュメモリの書き込み時間で決まり、例えば２．５Ｍバイト／秒となる。このように、不揮発性記憶システムの書き込みレートはレート３で律速されることとなる。但し、フラッシュメモリには下記制約（Ａ）（Ｂ）があるため、バス３における現実的な書き込みレートは、レート３（２．５Ｍバイト／秒）より遅くなってしまう。
【００１５】
（Ａ）オーバーライトができない
（Ｂ）前述した通り、消去単位と書き込み単位が異なる
アクセス装置からの書き込みにおいては、書き替えも含むものであり、上記制約（Ａ）、（Ｂ）を考慮すると、メモリコントローラは書き込み前に書き込み先の物理ブロックを消去したり、物理ブロックの一部のページの書き替えにおいては有効ページの退避処理を行うなどの、純粋な書き込み以外の処理が発生してしまう。また、これらの処理は、フラッシュメモリの記録状態によって変わるので、バス３における現実的な書き込みレートをレート３として一意に決めることはできない。
【００１６】
いずれにせよ、図６に示した不揮発性記憶システムのレートはレート３未満となってしまうので、レート３を改善して不揮発性記憶システムの書き込みレートを向上させるために、下記の工夫や取組みがなされている。
【００１７】
（１）複数の不揮発性メモリの並列アクセス
（２）レジスタサイズの増加
（３）フラッシュメモリに替わる高速な不揮発性メモリの開発
（１）は、実際の製品で既に対応されている工夫であるが、半導体メモリカードの実装上、不揮発性メモリの実装数に限度があるので、不揮発性記憶システムの書き込みレートをレート１やレート２のレベルまでに向上させることは困難である。また（２）はレジスタが膨大となり、不揮発性メモリのコスト上、あまり好ましくはない。（３）においては、特許文献１に示すような抵抗変化型メモリなどの、いわゆる不揮発性ＲＡＭが開発されており、フラッシュメモリの代替として有望視されている。
【００１８】
抵抗変化型メモリに代表される不揮発性メモリは、オーバーライト可能な不揮発性メモリであり、１バイトあたりの書き込み時間は数十ｎ秒（ｎはナノ）と高速にアクセスできものである。例えば３３ｎ秒とし、書き込み単位を１バイトとすると、レート３に対応するレートは約３０Ｍバイト／秒となり、不揮発性記憶システムのレートを飛躍的に向上させるメモリ素子として期待されている。
【特許文献１】特開２００４−１８５７５４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかしながら、この抵抗変化型メモリなどの高速メモリを適用したとしても、前述した不揮発性記憶システム（図６）においては、レート２を不揮発性メモリの性能に対応して可変できる仕組みにはなっていないので、レート２に律速してしまいレート３の性能を出すことができない。
【００２０】
更に言えば、上述したとおりフラッシュメモリにおいては、制約（Ａ）（Ｂ）があるため、バス３における現実的な書き込みレートをレート３として定義できないので、レート３に応じて不揮発性記憶システムのレートを最適化することにあまり意味がなかった。
【００２１】
そこで、本発明は、上記問題点に鑑み、使用する不揮発性メモリの性能に応じて、レート２に律速しない最高の書き込み性能のだせる、メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法を提供することを目的とする。
【課題を解決するための手段】
【００２２】
上記目的を達成するため、本発明においては以下の技術的手段を講じた。
【００２３】
すなわち、本発明のメモリコントローラは、不揮発性メモリからのデータの読み出し、及び該不揮発性メモリへのデータの書き込みを制御するメモリコントローラであって、前記メモリコントローラは、前記不揮発性メモリへ書き込まれる前のデータを一時的に記憶するバッファと、前記不揮発性メモリが有するＩＤコードに基づき該不揮発性メモリ内のメモリセルへの書き込みレート（レート３）を検知するレート３検知手段と、前記バッファに一時記憶されたデータを前記不揮発性メモリに転送するレート（レート２）を前記レート３に基づき調整するレート２調整手段と、前記バッファに一時記憶されたデータをレート２の転送レートにて前記不揮発性メモリに書き込む読み書き手段と、を有している。
【００２４】
なお、前記バッファは、リングメモリ形式のバッファであることが好ましい。
【００２５】
さらに好ましくは、前記不揮発性メモリは、抵抗変化型メモリ、強誘電体メモリ、磁性記録式随時書き込み読み出しメモリ、オボニックユニファイドメモリに代表される、不揮発性ＲＡＭであるとよい。
【００２６】
また、本発明の不揮発性記憶装置は、不揮発性メモリと、前記不揮発性メモリからのデータの読み出し、及び該不揮発性メモリへのデータの書き込みを制御するメモリコントローラとを有する不揮発性記憶装置であって、前記メモリコントローラは、前記不揮発性メモリへ書き込まれる前のデータを一時的に記憶するバッファと、前記不揮発性メモリが有するＩＤコードに基づき該不揮発性メモリ内のメモリセルへの書き込みレート（レート３）を検知するレート３検知手段と、前記バッファに一時記憶されたデータを前記不揮発性メモリに転送するレート（レート２）を前記レート３に基づき調整するレート２調整手段と、前記バッファに一時記憶されたデータをレート２の転送レートにて前記不揮発性メモリに書き込む読み書き手段と、を有している。
【００２７】
なお、前記バッファは、リングメモリ形式のバッファであることが好ましい。
【００２８】
さらに好ましくは、前記不揮発性メモリは、抵抗変化型メモリ、強誘電体メモリ、磁性記録式随時書き込み読み出しメモリ、オボニックユニファイドメモリに代表される、不揮発性ＲＡＭであるとよい。
【００２９】
また、本発明の不揮発性記憶システムは、不揮発性メモリと、前記不揮発性メモリからのデータの読み出し、及び該不揮発性メモリへのデータの書き込みを制御するメモリコントローラと、アクセス装置とを有する不揮発性記憶システムであって、前記アクセス装置は、前記不揮発性メモリにアクセスすべく前記メモリコントローラにデータを付与し、前記メモリコントローラは、前記不揮発性メモリへ書き込まれる前のデータを一時的に記憶するバッファと、前記不揮発性メモリが有するＩＤコードに基づき該不揮発性メモリ内のメモリセルへの書き込みレート（レート３）を検知するレート３検知手段と、前記バッファに一時記憶されたデータを前記不揮発性メモリに転送するレート（レート２）を前記レート３に基づき調整するレート２調整手段と、前記バッファに一時記憶されたデータをレート２の転送レートにて前記不揮発性メモリに書き込む読み書き手段と、を有している。
【００３０】
なお、前記バッファは、リングメモリ形式のバッファであることが好ましい。
【００３１】
さらに好ましくは、前記不揮発性メモリは、抵抗変化型メモリ、強誘電体メモリ、磁性記録式随時書き込み読み出しメモリ、オボニックユニファイドメモリに代表される、不揮発性ＲＡＭであるとよい。
【００３２】
また、本発明のデータ書き込み方法は、不揮発性メモリと、バッファとを備える不揮発性記憶装置へデータを書き込むデータ書き込み方法であって、前記データを一時的に前記バッファに記憶し、前記不揮発性メモリが有するＩＤコードに基づき該不揮発性メモリ内のメモリセルへの書き込みレート（レート３）を検知し、前記バッファに一時記憶されたデータを前記不揮発性メモリに転送するレート（レート２）を前記レート３に基づき調整し、前記バッファに一時記憶されたデータをレート２の転送レートにて前記不揮発性メモリに書き込む。
【００３３】
なお、前記バッファは、リングメモリ形式のバッファであることが好ましい。
【００３４】
さらに好ましくは、前記不揮発性メモリは、抵抗変化型メモリ、強誘電体メモリ、磁性記録式随時書き込み読み出しメモリ、オボニックユニファイドメモリに代表される、不揮発性ＲＡＭであるとよい。
【００３５】
なお、言うまでもないが、レートとはアクセスタイム（時間）や転送周波数などのいわゆる速度情報ではなく、単位時間あたりの転送情報量を表すパラメータとして定義されるものである。もし、レート１やレート３を速度情報とすると、外部やアクセス装置からデータを受信する経路のビット幅と、不揮発性メモリ内のメモリセルアレイへの書き込み経路のビット幅が異なっていた場合、それぞれの経路における単位時間あたりの転送情報量を概ね等しくなるように調整することができない。
【発明の効果】
【００３６】
本発明によれば、不揮発性メモリが有するＩＤコードに基づき該不揮発性メモリ内のメモリセルアレイへの書き込みレート（レート３）を検知し、前記バッファに一時記憶されたデータを不揮発性メモリに転送するレート（レート２）をレート３に基づき調整し、バッファに一時記憶されたデータをレート２の転送レートにて不揮発性メモリに書き込むようにしたので、高速な不揮発性メモリを使用した場合、すなわちレート２よりレート３が大きい場合は、レート２をレート３に引き上げることとなり、不揮発性記憶システムのレートがレート３となる、言い換えれば調整前のレート２に律速しない高速なシステムが実現できる。また低速な不揮発性メモリを使用した場合、すなわちレート２よりレート３が小さい場合は、レート２をレート３に下げることとなり、メモリコントローラのピーク電流の抑制や低ノイズ化を実現することができる。更に、レート２をレート３に応じて自動的に調整できるようにしたので、使用する不揮発性メモリの種類に応じてメモリコントローラを設計し直す必要がないので、開発コストを合理化することが可能となる。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の実施の形態について、図面を用いて説明する。
【００３８】
（実施の形態）
図１は、本発明の実施の形態に於ける不揮発性記憶システムの実施方法を示したブロック図である。なお、本発明の特徴的なブロックは、レート３検知部１０３、レート２調整部１０４及びＩＤコード１１４である。
【００３９】
図１において、本実施の形態による不揮発性記憶システムは、アクセス装置２０００と不揮発性記憶装置１２０とから構成され、不揮発性記憶装置１２０は、メモリコントローラ１００と不揮発性メモリ１１０を含む。メモリコントローラ１００はホストインターフェース２００１、バッファ１０１、読み書き制御部１０２、レート３検知部１０３、レート２調整部１０４、ＣＰＵ部１０５を含む。
【００４０】
バッファ１０１は、アクセス装置２０００の最小書き込み単位（セクタ）のサイズを有するＲＡＭである。後述するようにリングメモリ形式に構成される。
【００４１】
読み書き制御部１０２はバッファ１０１に一時記憶されたデータを不揮発性メモリ１１０に書き込んだり、不揮発性メモリ１１０に記憶されたデータをバッファ１０１に読み出したりするためのブロックである。
【００４２】
レート３検知部１０３は不揮発性メモリ１１０内に保持されているＩＤコード１１４に基づいてバス３のレートであるレート３を検知するブロック、レート２調整部１０４は、レート３検知部１０３が検知したレート３にレート２が概ね等しくなるように、バッファ１０１のリードポインタ（以降、ＲＰとする）の制御を行うブロックである。
【００４３】
ＣＰＵ部１０５は、従来の不揮発性システムのＣＰＵ２００７と同様に、メモリコントローラ１００全体を制御したり、アクセス装置２０００から受信した論理アドレスに基づいて不揮発性メモリ１１０の物理アドレスを生成したりするものである。なおバッファ１０１のライトポインタ（以降、ＷＰとする）の制御も行う。
【００４４】
不揮発性メモリ１１０は、上述した特許文献１に開示された抵抗変化型メモリのメモリセルアレイを含むものである。なお、強誘電体メモリ、磁性記録式随時書き込み読み出しメモリ、あるいはオボニックユニファイドメモリであっても構わない。これらを総称して不揮発性ＲＡＭとする。
【００４５】
レジスタ１１１は、１バイト分のデータを保持できるレジスタ、メモリセルアレイ１１２は、複数の抵抗変化型のメモリセルから構成されるものであり、制御回路１１３はレジスタ１１１に一時記憶されたデータをメモリセルアレイ１１２に書き込んだり、メモリセルアレイ１１２の物理アドレスを設定したりするための回路である。ＩＤコード１１４は制御回路１１３に内蔵されるＲＯＭ等に記憶されたコードであり、不揮発性メモリ１１０の種類を識別できるコードである。なお、ＩＤコード１１４はメモリセルアレイ１１２内の一部の領域に予め書き込んでおくようにしても構わない。
【００４６】
その他の回路ブロックは従来の不揮発性記憶システムと同様である。
【００４７】
図２は、バッファ１０１の機能を説明するための概念図である。
【００４８】
図３は、レート３検知部１０３に含まれるレートテーブルを示すメモリマップである。
【００４９】
図４は、レート２調整部１０４の構成例を示す回路図である。図４において、４００は周波数可変型発振器、４０１は値０〜値５１１までを巡回的に１ずつインクリメントするカウンタ、４０２はＲＰとＷＰとを比較する比較器、４０３はＡＮＤゲートである。
【００５０】
図５は、ＷＰとＲＰの変化状態を表すタイムチャートである。同図（Ａ）は不揮発性メモリ１１０が高速タイプの場合、（Ｂ）は不揮発性メモリ１１０が低速タイプの場合、（Ｃ）はアクセス装置２０００の転送速度が低速の場合について示したものである。
【００５１】
以上のように構成された、本実施の形態による不揮発性記憶システムについて、初期状態、電源立ち上げ時の初期化処理、通常動作時のデータ書き込み処理に分けて説明する。
【００５２】
［初期状態］
まず、出荷前にメーカ側で設定される情報として、下記の２点がある。
【００５３】
（１）不揮発性メモリ１１０内に設定される情報
不揮発性メモリ１１０を識別するためのＩＤコード１１４が制御回路１１３内のＲＯＭに記憶される。なお、ＩＤコード１１４は、メモリセルアレイ１１２内に記憶されても構わない。また、メモリセルアレイ１１２内には、セキュリティ情報等のシステム情報を記憶したシステム領域と、ユーザがデータを読み書きする通常領域とがあるが、簡単のためシステム情報については説明を省略し、メモリセルアレイ１１２の全領域が通常領域であるとして説明する。
【００５４】
（２）レート３検知部１０３に設定される情報
レート３検知部１０３が含むレートテーブル（図３）には、様々な不揮発性メモリ毎の書き込みレート（レート３）を記憶しておき、ＩＤコード１１４に対応してレート３が参照できるようにしておく。なお、レートテーブルは予めＲＯＭ上に生成しておくことが好ましい。
【００５５】
［電源立ち上げ時の初期化処理］
アクセス装置２０００の電源の立ち上げにより、バス１を通じて不揮発性記憶装置１２０も電源が立ち上がり、不揮発性記憶装置１２０は初期化処理に移行する。初期化処理において、ＣＰＵ部１０５は読み書き制御部１０２を介してＩＤコード１１４を読み込み、レート３検知部１０３に転送する。次にレート３検知部１０３が、内蔵するレートテーブル（図３）を参照し、該ＩＤコードに対応するレート３パラメータを読み出し、それをレート２調整部１０４に転送し、周波数可変型発振器４００がレート３パラメータに対応する周波数で発振を開始する。
【００５６】
また、ＣＰＵ部１０５はレート２調整部１０４にリセット信号を転送し、カウンタ４０１をリセットする。
【００５７】
なお、不揮発性メモリとして、フラッシュメモリを使用した従来の不揮発性記憶システムにおいては、フラッシュメモリの書き替え保証回数が１万回〜１０万回と比較的小さいので、ウェアレベリングを行う為の論理物理アドレス変換テーブル等をメモリコントローラ内のＲＡＭ上に作成する必要があったが、本発明の実施の形態に示すように、抵抗変化型メモリなどの不揮発性ＲＡＭを使用した不揮発性記憶システムにおいては、抵抗変化型メモリの書き替え保証回数が１００億回と非常に大きいので、特にウェアレベルリングする必要がない。従って、従来のような論理物理アドレス変換テーブル等を作成し、論理物理変換処理を行なう必要は特にないが、従来通り論理物理変換処理を行っても構わない。本発明の実施の形態においては簡単のため、アクセス装置２０００が指定した論理アドレスを不揮発性メモリ１１０の物理アドレスとして使用する。
【００５８】
［通常動作時のデータ書き込み処理］
アクセス装置２０００が、最小書き込み単位であるセクタ単位（５１２バイト）で５１２バイト分のデータを書き込む場合について説明する。
【００５９】
バッファ１０１は図２に示すように、リングメモリ形式に構成されており、書き込み開始位置から時計回りにバイト番号０〜５１１の記憶位置を有する。アクセス装置２０００からバッファ１０１へのデータの書き込み先の記憶位置はＷＰによって指示されており、バッファ１０１に一時記憶されたデータを不揮発性メモリ１１０に書き込む為に読み出す記憶位置はＲＰによって指示されている。ＷＰは常にＲＰより先行した記憶位置を指示するものであり、後述するように追い抜きが発生しないように管理される。
【００６０】
まず、図５（Ａ）を用いて、不揮発性メモリ１１０が高速タイプの場合について説明する。不揮発性メモリ１１０として、ＩＤコードが０ｘ８（０ｘは１６進数を表す記号）、すなわちレートが３０Ｍバイト／秒の不揮発性メモリを使用するものとする（図３）。この場合、初期化処理において、ＣＰＵ部１０５が不揮発性メモリ１１０からＩＤコード１１４（値０ｘ８）を読み出し、レート３検知部１０３が、内蔵するレートテーブル（図３）を参照し、該ＩＤコードに対応するレート３パラメータ（値０ｘ１ｅ）を読み出し、それをレート２調整部１０４に転送し、周波数可変型発振器４００がレート３パラメータ（値０ｘ１ｅ）に対応する周波数で発振を開始する。すなわち、周波数可変型発振器４００は３０ＭＨｚのクロックＣＫを生成する。
【００６１】
説明の便宜上、既にバッファ１０１において５１２バイトのデータの一時記憶と読み出しが行われていたものとする。ＣＰＵ部１０５はバッファ入力許可フラグを有しており、バッファ１０１に５１２バイトのデータが全て一時記憶された時点、すなわちＷＰが５１１に達した時点でバッファ入力許可フラグを非アクティブ（値０）にし、それ以上の書き込みを禁止する。その後、バッファ１０１に一時記憶されたデータを不揮発性メモリ１１０に書き込む為に５１２バイトのデータを全て読み出し終えた時点、すなわちＲＰが５１１に達した時点でバッファ入力許可フラグをアクティブ（値１）にし、バッファ１０１への書き込みを許可する。この時、ＷＰ、ＲＰともに値０になっている。
【００６２】
この状態において、新たに５１２バイトのデータをバッファ１０１に書き込む。まず、５１２バイト単位での論理セクタアドレスを引数にもつライトコマンドをホストインターフェース２００１に転送し、続いて５１２バイト分のデータを転送する。ホストインターフェース２００１はＣＰＵ部１０５にライトコマンドを受信したことを通知し、ＣＰＵ部１０５はバッファ１０１へのデータの書き込み処理を開始する。
【００６３】
周波数可変型発振器４００は２０ＭＨｚのクロックＣＫをＡＮＤゲート４０３に転送する。比較器４０２はＷＰとＲＰを、ＷＰ≧｛（ＲＰ＋１）＆０ｘ１ｆｆ｝、の条件を満たせば、バッファ出力許可フラグをアクティブ（値１）にセットする。なお、この数式において、＆は論理積を示す演算子であり、ＲＰが５１１の場合、｛（ＲＰ＋１）＆０ｘ１ｆｆ｝は値０をとる。
【００６４】
ここで、ＷＰ、ＲＰともに値０であるので、上記数式に示した条件を満たさず、バッファ出力許可フラグは値０となる。ＡＮＤゲート４０３においてＣＫは値０にマスクされＲＣＫは値０のままである。
【００６５】
バッファ入力許可フラグは値１、すなわちバッファ１０１への書き込みが許可されているので、ＣＰＵ部１０５はバッファ１０１のバイト番号０の記憶位置に先頭の１バイト分のデータを記憶し、ＷＰを１インクリメントする。なおＣＰＵ部１０５はアクセス装置２０００の転送において使用される転送クロック（レート１に対応するクロックで以降、ＴＣＫとする）を、ホストインターフェース２００１を介して取り込み、ＴＣＫに基づいてＷＰのインクリメントを行う。バス１が８ビットバスの場合は、ＷＰのインクリメントの周波数はＴＣＫの周波数に等しくなり、バス１が４ビットバスの場合は、ＷＰのインクリメントの周波数はＴＣＫの周波数の半分となる。
【００６６】
ＷＰを１インクリメントした時点で、上述の数式に示した条件を満たすことになるので、ＡＮＤゲート４０３でのマスク処理は行われずＣＫはＲＣＫとして読み書き制御部２００６へ読み出しクロックとして転送される。ＲＣＫの立ち上がりエッジによって、バッファ１０１のバイト番号０に一時記憶された１バイト分のデータが読み書き制御部１０２に取り込まれ、バス２を介して不揮発性メモリ１１０内のレジスタ１１１に書き込まれる。それと同時に、ＣＰＵ部１０５はアクセス装置２０００から受信した論理セクタアドレスをバイト単位に分割した論理バイトアドレスを制御回路１１３に転送し、その直後に読み書き制御部１０２が書き込み開始命令を指示することにより、レジスタ１１１からメモリセルアレイ１１２に１バイト分のデータが書き込まれる。
【００６７】
ＲＣＫの立ち下がりエッジによりカウンタ４０１は１インクリメントし、ＲＰは値１となる。以降、前述した動作を繰り返すことにより、バッファ１０１への書き込みと読み出しが順次なされる。なお、ＣＰＵ部１０５によるＷＰのインクリメント周波数はアクセス装置２０００からの転送レート、すなわちレート１に対応するものであり、図５（Ａ）においては、ＣＫ（３０ＭＨｚ）より若干周波数が高いものとする。
【００６８】
次に、図５（Ｂ）を用いて、不揮発性メモリ１１０が低速タイプの場合について説明する。不揮発性メモリ１１０として、ＩＤコードが０ｘ１（０ｘは１６進数を表す記号）、すなわちレートが１０Ｍバイト／秒の不揮発性メモリを使用するものとする（図３）。この場合、初期化処理において、ＣＰＵ部１０５が不揮発性メモリ１１０からＩＤコード１１４（値０ｘ１）を読み出し、レート３検知部１０３が、内蔵するレートテーブル（図３）を参照し、該ＩＤコードに対応するレート３パラメータ（値０ｘ０ａ）を読み出し、それをレート２調整部に転送し、周波数可変型発振器４００がレート３パラメータ（値０ｘ０ａ）に対応する周波数で発振を開始する。すなわち、周波数可変型発振器４００は１０ＭＨｚのクロックＣＫを生成する。
【００６９】
図５（Ａ）との相違点は、ＣＫ及びＲＣＫの周波数が低くなった点であり、その他の処理は同様である。
【００７０】
次に、図５（Ｃ）を用いて、アクセス装置２０００の転送レート、すなわちレート１が低速の場合について説明する。但し、不揮発性メモリのタイプは、図５（Ａ）と同様に、レート３が３０Ｍバイト／秒のタイプとする。
【００７１】
図５（Ａ）との相違点は、ＷＰのインクリメントの周波数が遅いことであり、それに対応させて、ＲＰのインクリメントの周波数も遅くしている点である。上述の数式を用いて説明した通り、比較器４０２によってＲＣＫはＷＰのインクリメント状態に応じてマスク処理される。すなわち図５（Ｃ）に示すとおり、ＲＣＫはＣＫを３分周した周波数となる。
【００７２】
以上のように、本発明の実施形態に示す不揮発性記憶システムは、不揮発性メモリ１１０が有するＩＤコード１１４に基づき不揮発性メモリ１１０内のメモリセルアレイ１１２への書き込みレート（レート３）を検知し、バッファ１０１に一時記憶されたデータを不揮発性メモリ１１０に転送するレート（レート２）が概ね前記レート３になるようにレート２を調整し、バッファ１０１に一時記憶されたデータをレート２の転送レートにて不揮発性メモリ１１０に書き込むようにしたので、例えば３０Ｍバイト／秒のレートを有する高速な不揮発性メモリを使用した場合、レート２を３０Ｍバイト／秒の高レートに引き上げることとなり、不揮発性記憶システムのレートが３０Ｍバイト／秒の高レートとなる、言い換えればレート２に律速しない高速なシステムが実現できる。一方、例えば１０Ｍバイト／秒のレートを有する比較的低速な不揮発性メモリを使用した場合、レート２を１０Ｍバイト／秒の低レートに下げることとなり、メモリコントローラ１００のピーク電流の抑制や低ノイズ化を実現することができる。
【００７３】
なお、本発明の実施の形態において、不揮発性メモリ１１０として抵抗変化型メモリを使用したが、その他の不揮発性メモリを用いても構わない。
【００７４】
また、レジスタ１１１はバイト単位であるが、２バイトや４バイト単位など、不揮発性メモリに都合の良い容量単位であっても構わない。またバッファ１０１もバイト単位である必要はなく、他の容量単位でよい。但し、レジスタのサイズに合わせた方が好ましい。
【００７５】
また、不揮発性メモリとして、フラッシュメモリを使用した場合においても、図２のようなリングメモリ形式のバッファを使用することによって、同様のレート調整を実施することは可能である。但し、フラッシュメモリの場合、レジスタサイズが例えば２ｋバイトのような大規模なサイズなので、バッファサイズも膨大となり、本発明による効果は制限される。またバッファ１０１は、例えばＦＩＦＯなどのリングメモリ形式以外の構成にしても構わない。
【産業上の利用可能性】
【００７６】
本発明にかかる不揮発性記憶システムは、抵抗変化型メモリなどの高速なメモリ装置を用いた不揮発性記憶装置において、高速書き込みのできるシステム及び書き込み方法を提案したものであり、半導体メモリカード等の不揮発性記憶装置を使用した静止画記録再生装置や動画記録再生装置、あるいは携帯電話等において有益である。
【図面の簡単な説明】
【００７７】
【図１】本発明の実施の形態に於ける不揮発性記憶システムの実施方法を示すブロック図
【図２】同不揮発性記憶システムのバッファの機能を説明するための概念図
【図３】同不揮発性記憶システムのレート３検知部に含まれるレートテーブルを示した模式図
【図４】同不揮発性記憶システムのレート２調整部の構成例を示す回路図
【図５】同不揮発性記憶システムのＷＰとＲＰの変化状態を表すタイムチャート
【図６】従来の不揮発性記憶システムの実施方法を示すブロック図
【符号の説明】
【００７８】
１００    メモリコントローラ
１０１    バッファ
１０２    読み書き制御部
１０３    レート３検知部
１０４    レート２調整部
１０５    ＣＰＵ部
１１０    不揮発性メモリ
１１１    レジスタ
１１２    メモリセルアレイ
１１３    制御回路
１１４    ＩＤコード
１２０    不揮発性記憶装置
４００    周波数可変型発振器
４０１    カウンタ
４０２    比較器
４０３    ＡＮＤゲート
２０００    アクセス装置
２００１    ホストインターフェース
２００２、２００５    切り替え回路
２００３、２００４    バッファ
２００６    読み書き制御部
３０００    メモリコントローラ
４０００    不揮発性メモリ
４００１    レジスタ
４００２    メモリセルアレイ
４００３    制御回路
５０００    不揮発性記憶装置
【図１】
2007299141.tif 000003
【図２】
2007299141.tif 000004
【図３】
2007299141.tif 000005
【図４】
2007299141.tif 000006
【図５】
2007299141.tif 000007
【図６】
2007299141.tif 000008