(57)【要約】【課題】実装するフラッシュメモリの種類に対応して書き込み速度とピーク電流抑制とを最適化することのできるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システムを提供すること。【解決手段】論物変換モード決定手段１２５が、実装された不揮発性メモリ１３０や１４０の種類に応じて論物変換手段１２６の論物変換モードを決定する。これにより、不揮発性メモリ１３０や１４０に対してデータを並列的に書き込むか、あるいは、いずれか一方の不揮発性メモリに直列的に書き込むかを選択する。不揮発性メモリ１３０、１４０が低速タイプの場合には不揮発性メモリ１３０と１４０に同時に書き込み、高速タイプの場合にはいずれかの不揮発性メモリに直列的に書き込むようにしたので、目標書き込み速度を維持しつつピーク電流を抑制することができる。【選択図】図１
2007241619.tif 000002
【特許請求の範囲】
【請求項１】
複数の不揮発性メモリに接続され、外部から指定された論理アドレスに従いデータを書き込み、前記不揮発性メモリからデータを読み出すメモリコントローラであって、
前記不揮発性メモリの種類に応じて複数の前記不揮発性メモリにデータを同時に書き込むメモリ数を決定する同時書き込みメモリ数決定手段と、
前記同時書き込みメモリ数決定手段で決定された数の不揮発性メモリに、同時にデータを書き込み、前記不揮発性メモリのデータを読み出す読み書き制御部と、を備えるメモリコントローラ。
【請求項２】
前記同時書き込みメモリ数決定手段は、
前記不揮発性メモリの書き込み性能が高速タイプの場合に同時に書き込む前記メモリ数を小さくし、前記不揮発性メモリの書き込み性能が低速タイプの場合に同時に書き込む前記メモリ数を大きくした請求項１に記載のメモリコントローラ。
【請求項３】
前記同時書き込みメモリ数決定手段は、
前記不揮発性メモリの種類に応じて同時に書き込むメモリ数を決定し、このメモリ数に対応した論物変換モードを決定する論物変換モード決定手段と、
前記論物変換モード決定手段で決定された論物変換モードに応じて、前記論理アドレスを前記不揮発性メモリの物理アドレスに対応づける論物変換手段と、を備えた請求項１又は２に記載のメモリコントローラ。
【請求項４】
前記不揮発性メモリは、その種類を識別するＩＤコードを保持するものであり、
前記同時書き込みメモリ数決定手段は、前記不揮発性メモリのＩＤコードにより認識されるデータの書き込み速度に応じて前記論物変換手段の論物変換モードを決定する請求項１〜３のいずれかに記載のメモリコントローラ。
【請求項５】
前記不揮発性メモリは、不揮発性メモリを識別するＩＤコードと論物変換モードとを対応づけるモードテーブルを保持するものであり、
前記論物変換モード決定手段は、前記モードテーブルを参照することにより前記論物変換モードを決定する請求項３又は４に記載のメモリコントローラ。
【請求項６】
前記メモリコントローラは、複数のコントローラチップから構成され、前記コントローラチップと１以上の前記不揮発性メモリが1つのバスで接続されている請求項１〜５のいずれかに記載のメモリコントローラ。
【請求項７】
複数の不揮発性メモリと、
外部から指定された論理アドレスに従い前記不揮発性メモリにデータを書き込み、前記不揮発性メモリからデータを読み出すメモリコントローラとを備えた不揮発性記憶装置であって、
前記メモリコントローラは、
前記不揮発性メモリの種類に応じて複数の前記不揮発性メモリにデータを同時に書き込むメモリ数を決定する同時書き込みメモリ数決定手段と、
前記同時書き込みメモリ数決定手段で決定された数の不揮発性メモリに、同時にデータを書き込み、前記不揮発性メモリのデータを読み出す読み書き制御部と、を備える不揮発性記憶装置。
【請求項８】
前記同時書き込みメモリ数決定手段は、
前記不揮発性メモリの書き込み性能が高速タイプの場合に同時に書き込む前記メモリ数を小さくし、前記不揮発性メモリの書き込み性能が低速タイプの場合に同時に書き込む前記メモリ数を大きくした請求項７に記載の不揮発性記憶装置。
【請求項９】
前記同時書き込みメモリ数決定手段は、
前記不揮発性メモリの種類に応じて同時に書き込むメモリ数を決定し、このメモリ数に対応した論物変換モードを決定する論物変換モード決定手段と、
前記論物変換モード決定手段で決定された論物変換モードに応じて、前記論理アドレスを前記不揮発性メモリの物理アドレスに対応づける論物変換手段と、を備えた請求項７又は８に記載の不揮発性記憶装置。
【請求項１０】
前記不揮発性メモリは、その種類を識別するＩＤコードを保持するものであり、
前記同時書き込みメモリ数決定手段は、前記不揮発性メモリのＩＤコードにより認識されるデータの書き込み速度に応じて前記論物変換手段の論物変換モードを決定する請求項７〜９のいずれかに記載の不揮発性記憶装置。
【請求項１１】
前記不揮発性メモリは、不揮発性メモリを識別するＩＤコードと論物変換モードとを対応づけるモードテーブルを保持するものであり、
前記論物変換モード決定手段は、前記モードテーブルを参照することにより前記論物変換モードを決定する請求項９又は１０に記載の不揮発性記憶装置。
【請求項１２】
前記メモリコントローラは、２つ以上のコントローラチップから構成され、各々の前記コントローラチップと１以上の前記不揮発性メモリが1つのバスで接続されている請求項７〜１１のいずれかに記載の不揮発性記憶装置。
【請求項１３】
請求項７〜１２のいずれかに記載の不揮発性記憶装置と、
前記不揮発性記憶装置にデータを書き込み、及び前記不揮発性記憶装置からデータを読み出すアクセス装置とを備える不揮発性記憶システム。
【請求項１４】
複数の不揮発性メモリに接続され、外部から指定された論理アドレスに従いデータを書き込み、前記不揮発性メモリからデータを読み出すデータ書き込み方法であって、
前記不揮発性メモリの種類に応じて複数の前記不揮発性メモリにデータを同時に書き込むメモリ数を決定し、
決定された数の不揮発性メモリに、同時にデータを書き込むデータ書き込み方法。
【請求項１５】
前記同時書き込みメモリ数の決定は、
前記不揮発性メモリの書き込み性能が高速タイプの場合に同時に書き込む前記メモリ数を小さくし、前記不揮発性メモリの書き込み性能が低速タイプの場合に該メモリ数を大きくする請求項１４に記載のデータ書き込み方法。
【請求項１６】
前記同時書き込みメモリ数の決定は、
前記不揮発性メモリの種類に応じて同時に書き込むメモリ数を決定し、
このメモリ数に対応した論物変換モードを決定し、
決定された論物変換モードに応じて、前記論理アドレスを前記不揮発性メモリの物理アドレスに対応づける請求項１４又は１５に記載のデータ書き込み方法。
【請求項１７】
前記不揮発性メモリは、その種類を識別するＩＤコードを保持するものであり、
前記同時書き込みメモリ数の決定は、前記不揮発性メモリのＩＤコードにより認識されるデータの書き込み速度に応じて前記論物変換手段の論物変換モードを決定する請求項１４〜１６のいずれかに記載のデータ書き込み方法。
【請求項１８】
前記不揮発性メモリは、不揮発性メモリを識別するＩＤコードと論物変換モードとを対応づけるモードテーブルを保持するものであり、
前記論物変換モードの決定は、前記モードテーブルを参照することにより前記論物変換モードを決定する請求項１６又は１７に記載のデータ書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを備えた半導体メモリカード等の不揮発性記憶装置、及びそれに内蔵されるメモリコントローラ、さらに、前記不揮発性記憶装置にアクセス装置を構成要件として加えた不揮発性記憶システム、ならびにデータ書き込み方法に関するものである。
【背景技術】
【０００２】
書き換え可能な不揮発性の主記憶メモリを備えた不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。この不揮発性記憶装置は、不揮発性メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラやパーソナルコンピュータ本体等のアクセス装置からの読み書き指示と論理アドレスの指定に応じて、画像などのファイルデータをフラッシュメモリに対して読み書き制御するものとなっている。
【０００３】
アクセス装置から１つのファイルデータをフラッシュメモリに書き込む際、通常１回、場合によっては複数回の書き込み指示によって書き込むものであり、１回の書き込み指示では連続する論理アドレス順に書き込まれる。
【０００４】
フラッシュメモリにはさまざまな品種がある。２値ＮＡＮＤフラッシュメモリや多値ＮＡＮＤフラッシュメモリ、ＡＮＤフラッシュメモリといったメモリセルのタイプ違いや、容量の違い、あるいはメーカの違いによって性能が異なる。例えば、書き込みに関しては２値ＮＡＮＤフラッシュメモリの方が多値ＮＡＮＤフラッシュメモリよりも書き込み時間が速い。なお書き込み時間とは、メモリコントローラから受信したデータをフラッシュメモリのメモリセルに書き込む（プログラムする）際に要する時間のことをいう。
【０００５】
近年、不揮発性記憶装置に対して、動画など大容量のファイルをリアルタイムすなわち高速に書き込む用途が増加している。そのため複数チップのフラッシュメモリを内蔵し、複数のメモリバスでフラッシュメモリとメモリコントローラを接続して並列に書き込みを行う等の工夫がなされている（例えば、特許文献１参照）。しかし複数のフラッシュメモリに対して並列に書き込みを行うと、書き込み速度は向上するが、ピーク電流も併せて増加することとなる。
【特許文献１】特開平６−１１９１２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述した従来の不揮発性記憶装置にあっては、フラッシュメモリの種類に関わらず、通常の書き込みすなわち連続した論理アドレスに対する書き込みにおいて常に複数のフラッシュメモリに並列に書き込まれる。そのため、書き込み時間が非常に速いフラッシュメモリを搭載した不揮発性記憶装置においては、不揮発性記憶装置として目標としている書き込み速度をはるかに上回る書き込み速度が出てしまい、オーバースペックとなってしまう。並列書き込みの場合は通常書き込みよりもピーク電流が多いので、書き込み速度とピーク電流の抑制の両立ができない。言い換えれば書き込み速度とピーク電流の抑制の両者を最適化することができないといった問題点を有していた。ここで最適化とは、書き込み速度が目標値以上であれば、その条件で最小のピーク電流で足りるものとする。
【０００７】
通常の不揮発性記憶装置の用途では、動画データをリアルタイムで記録できる書き込み速度が出せれば十分であり、使用するフラッシュメモリの品種によっては、並列書き込みしなくとも必要な書き込み速度を実現できる場合もある。その場合は複数のフラッシュメモリに並列書き込みせずに、1つのフラッシュメモリのみ書き込むようにすることで、目標速度を確保しつつ、ピーク電流を抑制することができる。
【０００８】
そこで、本発明は上記問題点に鑑み、実装するフラッシュメモリの種類に対応して書き込み速度とピーク電流の抑制の両者を最適化することのできるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システムと、データ書き込み方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
この課題を解決するために、本発明のメモリコントローラは、複数の不揮発性メモリに接続され、外部から指定された論理アドレスに従いデータを書き込み、前記不揮発性メモリからデータを読み出すメモリコントローラであって、前記不揮発性メモリの種類に応じて複数の前記不揮発性メモリにデータを同時に書き込むメモリ数を決定する同時書き込みメモリ数決定手段と、前記同時書き込みメモリ数決定手段で決定された数の不揮発性メモリに、同時にデータを書き込み、前記不揮発性メモリのデータを読み出す読み書き制御部と、を備えるものである。
【００１０】
ここで前記同時書き込みメモリ数決定手段は、前記不揮発性メモリの書き込み性能が高速タイプの場合に同時に書き込む前記メモリ数を小さくし、前記不揮発性メモリの書き込み性能が低速タイプの場合に同時に書き込む前記メモリ数を大きくしてもよい。
【００１１】
ここで前記同時書き込みメモリ数決定手段は、前記不揮発性メモリの種類に応じて同時に書き込むメモリ数を決定し、このメモリ数に対応した論物変換モードを決定する論物変換モード決定手段と、前記論物変換モード決定手段で決定された論物変換モードに応じて、前記論理アドレスを前記不揮発性メモリの物理アドレスに対応づける論物変換手段と、を備えるようにしてもよい。
【００１２】
ここで前記不揮発性メモリは、その種類を識別するＩＤコードを保持するものであり、前記同時書き込みメモリ数決定手段は、前記不揮発性メモリのＩＤコードにより認識されるデータの書き込み速度に応じて前記論物変換手段の論物変換モードを決定するようにしてもよい。
【００１３】
ここで前記不揮発性メモリは、不揮発性メモリを識別するＩＤコードと論物変換モードとを対応づけるモードテーブルを保持するものであり、前記論物変換モード決定手段は、前記モードテーブルを参照することにより前記論物変換モードを決定するようにしてもよい。
【００１４】
ここで前記メモリコントローラは、複数のコントローラチップから構成され、前記コントローラチップと１以上の前記不揮発性メモリが1つのバスで接続されているようにしてもよい。
【００１５】
この課題を解決するために、本発明の不揮発性記憶装置は、複数の不揮発性メモリと、外部から指定された論理アドレスに従い前記不揮発性メモリにデータを書き込み、前記不揮発性メモリからデータを読み出すメモリコントローラとを備えた不揮発性記憶装置であって、前記メモリコントローラは、前記不揮発性メモリの種類に応じて複数の前記不揮発性メモリにデータを同時に書き込むメモリ数を決定する同時書き込みメモリ数決定手段と、前記同時書き込みメモリ数決定手段で決定された数の不揮発性メモリに、同時にデータを書き込み、前記不揮発性メモリのデータを読み出す読み書き制御部と、を備えるものである。
【００１６】
ここで前記同時書き込みメモリ数決定手段は、前記不揮発性メモリの書き込み性能が高速タイプの場合に同時に書き込む前記メモリ数を小さくし、前記不揮発性メモリの書き込み性能が低速タイプの場合に同時に書き込む前記メモリ数を大きくしてもよい。
【００１７】
ここで前記同時書き込みメモリ数決定手段は、前記不揮発性メモリの種類に応じて同時に書き込むメモリ数を決定し、このメモリ数に対応した論物変換モードを決定する論物変換モード決定手段と、前記論物変換モード決定手段で決定された論物変換モードに応じて、前記論理アドレスを前記不揮発性メモリの物理アドレスに対応づける論物変換手段と、を備えるようにしてもよい。
【００１８】
ここで前記不揮発性メモリは、その種類を識別するＩＤコードを保持するものであり、前記同時書き込みメモリ数決定手段は、前記不揮発性メモリのＩＤコードにより認識されるデータの書き込み速度に応じて前記論物変換手段の論物変換モードを決定するようにしてもよい。
【００１９】
ここで前記不揮発性メモリは、不揮発性メモリを識別するＩＤコードと論物変換モードとを対応づけるモードテーブルを保持するものであり、前記論物変換モード決定手段は、前記モードテーブルを参照することにより前記論物変換モードを決定するようにしてもよい。
【００２０】
ここで前記メモリコントローラは、２つ以上のコントローラチップから構成され、各々の前記コントローラチップと１以上の前記不揮発性メモリが1つのバスで接続されているようにしてもよい。
【００２１】
この課題を解決するために、本発明の不揮発性記憶システムは、上記の不揮発性記憶装置と、前記不揮発性記憶装置にデータを書き込み、及び前記不揮発性記憶装置からデータを読み出すアクセス装置とを備えることを特徴とするものである。
【００２２】
この課題を解決するために、本発明のデータ書き込み方法は、複数の不揮発性メモリに接続され、外部から指定された論理アドレスに従いデータを書き込み、前記不揮発性メモリからデータを読み出すデータ書き込み方法であって、前記不揮発性メモリの種類に応じて複数の前記不揮発性メモリにデータを同時に書き込むメモリ数を決定し、決定された数の不揮発性メモリに、同時にデータを書き込むものである。
【００２３】
ここで前記同時書き込みメモリ数の決定は、前記不揮発性メモリの書き込み性能が高速タイプの場合に同時に書き込む前記メモリ数を小さくし、前記不揮発性メモリの書き込み性能が低速タイプの場合に該メモリ数を大きくするようにしてもよい。
【００２４】
ここで前記同時書き込みメモリ数の決定は、前記不揮発性メモリの種類に応じて同時に書き込むメモリ数を決定し、このメモリ数に対応した論物変換モードを決定し、決定された論物変換モードに応じて、前記論理アドレスを前記不揮発性メモリの物理アドレスに対応づけるようにしてもよい。
【００２５】
ここで前記不揮発性メモリは、その種類を識別するＩＤコードを保持するものであり、前記同時書き込みメモリ数の決定は、前記不揮発性メモリのＩＤコードにより認識されるデータの書き込み速度に応じて前記論物変換手段の論物変換モードを決定するようにしてもよい。
【００２６】
ここで前記不揮発性メモリは、不揮発性メモリを識別するＩＤコードと論物変換モードとを対応づけるモードテーブルを保持するものであり、前記論物変換モードの決定は、前記モードテーブルを参照することにより前記論物変換モードを決定するようにしてもよい。
【発明の効果】
【００２７】
本発明によれば、論物変換モード決定手段が、実装された不揮発性メモリの種類に応じて論物変換手段の論物変換モードを決定することにより、複数の前記不揮発性メモリに対してデータを並列的に書き込むか、あるいは、１つの不揮発性メモリに直列的に書き込むかの選択を行うことが可能となる。具体的には、不揮発性メモリが低速タイプの場合には同時に書き込む不揮発性メモリの数を多くし、高速タイプの場合には同時に書き込む不揮発性メモリの数を少なくしたので、目標となる書き込み速度を維持しつつピーク電流を抑制することができる。
【発明を実施するための最良の形態】
【００２８】
（第１の実施の形態）
以下、本発明の第１の実施の形態による不揮発性記憶システムについて説明する。図１は、第１の実施の形態における不揮発性記憶システムを示すブロック図である。図１において、不揮発性記憶システムは、アクセス装置１００と不揮発性記憶装置１１０を含んで構成される。不揮発性記憶装置１１０は、メモリコントローラ１２０と不揮発性メモリ１３０および１４０を含む。メモリコントローラ１２０はホストインターフェース１２１、バッファ１２２、読み書き制御部１２３、ＣＰＵ部１２４、論物変換モード決定部１２５、論物変換部１２６を含む。なお、論物変換モード決定部１２５と論物変換部１２６をまとめたブロックを、同時書き込みメモリ数決定部１２７とする。
【００２９】
ホストインターフェース１２１はデータの書き込み時にはアクセス装置１００から論理アドレスと書き込むべきデータとを受信すると共に、データをバッファ１２２に保持し、論理アドレスをＣＰＵ部及び論物変換部に与えるものである。
【００３０】
バッファ１２２は、アクセス装置１００から不揮発性メモリ１３０や１４０にデータを書き込んだり読み出したりする際にデータを一時保持するものであり、不揮発性メモリ１３０や１４０の書き込み単位であるページサイズ（例えば２ｋバイト）より大きいサイズのバッファである。
【００３１】
読み書き制御部１２３は、バッファ１２２に一時記憶されたデータを不揮発性メモリ１３０や１４０に書き込んだり、不揮発性メモリ１１０に記憶されたデータをバッファ１２２に読み出すためのブロックである。その際、ＣＰＵ部１２４から不揮発性メモリ１３０や１４０の物理アドレスを受信する。
【００３２】
ＣＰＵ部１２４は、メモリコントローラ１２０全体を制御したり、アクセス装置１００から受信した論理アドレスに基づいて不揮発性メモリ１３０や１４０の物理アドレスを論物変換部１２６の変換処理に基づいて生成するものである。なお、ホストインターフェース１２１、バッファ１２２、読み書き制御部１２３およびＣＰＵ部１２４は一般的に公知の技術を用いて実現できるので、詳細説明は省略する。
【００３３】
論物変換モード決定部１２５は、不揮発性メモリ１３０もしくは１４０から読み出したＩＤコードに基づき、後述するモードテーブルを参照することによってモードを決定するものである。ここではモードＡ，モードＢの２つの論物変換モードがある。
【００３４】
論物変換部１２６は、論物変換モード決定部１２５が指定したモードに応じて、アクセス装置１００が指定した論理アドレスを物理アドレスに変換するブロックである。モードＡは高速のフラッシュメモリに対して用いる直列書き込みモードであり、同時に書き込むメモリ数は１である。一方モードＢは低速の不揮発性メモリに対して用いる並列の書き込みモードであり、同時に書き込むメモリ数はここでは２とする。これらのモードによって対象とする論理アドレスの変換の対象となるビットを後述するように異ならせている。
【００３５】
この実施の形態では複数、ここでは２つの不揮発性メモリ１３０，１４０を有している。これらの不揮発性メモリ１３０、１４０とし、これらは同じ種類のフラッシュメモリであり、同じＩＤコードを有する。以下ではそれぞれメモリ０、メモリ１とする。それぞれのフラッシュメモリのサイズは例えば１Ｇバイトとする。
【００３６】
図２は、物理ブロックのメモリマップである。各物理ブロックは書き込み単位である複数のページから構成される。ここでは各物理ブロックはページ番号ＰＮ０〜ＰＮ１２７までの１２８ページから構成される。各ページは４セクター分のデータが記憶できるようになっている。１ページのサイズは２ｋバイト、１物理ブロックのサイズは２５６ｋバイトである。
【００３７】
図３は、論物変換モード決定部１２５が参照するモードテーブルを示す説明図である。論物変換モード決定部１２１内に不揮発性メモリやＲＯＭを設け、ここでモードテーブルを保持しておいてもよく、又モードテーブルを不揮発性メモリ１３０又は１４０に保持しておき、初期化時にこのモードテーブルを論物変換モード決定部１２５のＲＡＭ内に読出してもよい。さてモードテーブルは図３に示すように、フラッシュメモリメーカや２値ＮＡＮＤフラッシュメモリか多値ＮＡＮＤフラッシュメモリかのタイプ、および容量毎にＩＤコードが記録されており、さらにＩＤコードに対応して論物変換モード、すなわちどの論物変換モードを使用するかを示す情報が記憶されている。なお、通常２値ＮＡＮＤフラッシュメモリの方が多値ＮＡＮＤフラッシュメモリのよりも高速である。同じタイプのフラッシュメモリであっても、フラッシュメモリメーカや品種、容量の相違によって速度は若干異なる。そこで図３に示すようにフラッシュメモリの種類に応じてモードＡ又はモードＢのいずれかに設定されている。フラッシュメモリが更に多数ある場合には、４個のフラッシュメモリに同時に書き込む変換モード、例えばモードＣ等を設けることができる。
【００３８】
次に本実施の形態の動作、特にアクセス装置１００から書き込み命令が発せられた場合、不揮発性記憶装置１１０の動作について説明する。
［電源立ち上げ時の初期化処理］
まず、アクセス装置１００が不揮発性記憶装置１１０に電源を供給した後、メモリコントローラ１２０は読み書き制御部１２３を介して、いずれかの不揮発性メモリ、例えば１３０からＩＤコードを読み込む。
【００３９】
ＣＰＵ部１２４は読み込まれたＩＤコードを論物変換モード決定部１２５に転送し、論物変換モード決定部１２５は、内部のＲＯＭに記憶されたモードテーブル（図３）に基づいて論物変換モードを決定する。本実施の形態においては、不揮発性メモリ１３０と１４０が共にＡ社製２値フラッシュメモリ（１Ｇバイト品）であってＩＤコードが「０」の場合と、Ａ社製多値フラッシュメモリ（１Ｇバイト品）であってＩＤコードが「１」の場合に分けて説明する。前者はモードＡ、後者はモードＢとなる。これらのモード情報は論物変換部１２６に転送され、論物変換部１２６における論物変換モードをモードＡ又はＢのいずれかに決定し、アクセス装置１００からのアクセス待ち状態（通常動作）に遷移する。
［通常動作時の処理］
まず、電源立ち上げ時の初期化処理において、モードＡに設定された場合について説明する。例えばＡ社製２値フラッシュメモリ（１Ｇバイト品）を使用した場合はモードＡとなる。
【００４０】
図４はモードＡの場合の論理アドレス空間と物理アドレス空間を示す図である。なお、ここでは簡単のため、ＦＡＴなどの管理情報領域などについては省略し、全論理アドレス空間はデータが書き込まれる領域（通常領域）として考える。本図において、論理アドレスの０〜２ＧＢ分（論理ブロックアドレスＬＢＡ０〜８１９１）のうち前半のＬＢＡ０〜４０９５はメモリ番号０の不揮発性メモリすなわち不揮発性メモリ１３０に割付けられ、後半のＬＢＡ４０９６〜８１９１はメモリ番号１の不揮発性メモリすなわち不揮発性メモリ１４０に割付けられる。不揮発性メモリ側では１３０、１４０毎に夫々物理ブロックアドレス（ＰＢＡ）０〜４０９５を有しており、メモリ番号によって区別されている。物理ブロックアドレスと論理ブロックアドレスとはウェアレベリングによって変換される。
【００４１】
アクセス装置１００は、論理アドレス０から連続する論理アドレスに対して１Ｍバイト分のデータの書き込み命令を転送したものとする。ホストインターフェース１２１は書き込み命令や論理アドレス及びデータを受信し、バッファ１２２にデータを一時記憶する。一方論理アドレスを論物変換部１２６に転送し、論物変換部１２６は図５に基づいて論物変換処理を行う。
【００４２】
論物変換処理において、論理アドレスフォーマットのｂ２０とｂ８〜ｂ０は、そのまま物理アドレスフォーマットの対応するビットにコピーするが、論理アドレスフォーマットのｂ１９〜ｂ９（論理ブロックアドレス）はそのまま物理アドレスフォーマットのｂ１９〜ｂ９（物理ブロックアドレス）にコピーせず、物理ブロックアドレスＰＢＡ０〜ＰＢＡ４０９５の間を満遍なく使用するようにウェアレベリング処理を行う。なおウェアレベリングについては一般的な公知技術であるので説明を省略する。
【００４３】
書き込まれるデータは論理アドレス０からの１Ｍバイト分であるので、セクターサイズを５１２バイトとすると、式（１）により２０４８のセクターにデータが書き込まれる。即ち図５の論理アドレスフォーマットにおいてｂ１０〜ｂ０の１１ビット分が論理アドレスに応じて変化するビットとなり、ｂ２０〜ｂ１１は常に値０となる。従って、この場合には不揮発性メモリ１３０側のみの４つの物理ブロックにデータが書かれることとなる。
１Ｍバイト／５１２バイト＝２０４８＝２１１  ・・・（１）
【００４４】
上記の通り決定した物理アドレスは読み書き制御部１２３に転送される。読み書き制御部１２３は該物理アドレスと、バッファ１２２に一時記憶されたデータを不揮発性メモリ１３０に転送する（図６Ａ）。
【００４５】
図６Ａ，６Ｂは、高速の不揮発性メモリの書き込みを表すタイムチャートである。なお、転送期間ＴＴとはメモリコントローラ１２０からメモリバスを介して不揮発性メモリ１３０や１４０にデータを転送する期間であり、書き込み時間ＷＴとは不揮発性メモリ１３０や１４０がデータを受信した後にメモリアレイにデータを書き込む期間である。目標時間とは、不揮発性記憶装置１１０が目標とする書き込み速度に対応した時間である。
【００４６】
図６Ａにおいて、転送期間ＴＴには書き込み単位であるページサイズ毎に物理アドレスとデータが転送される。その直後の書き込み期間ＷＴにおいて不揮発性メモリ１３０のメモリセルに対して書き込みがなされる。図６Ａにおいて目標時間とは、不揮発性記憶装置１１０が目標とする書き込み完了までの時間であり、例えばＭＰＥＧ２の動画記録に対応する場合は、２Ｍバイト／秒乃至は４Ｍバイト／秒の書き込み速度が必要である。これ以降の説明では、簡単のため、４Ｍバイト／秒を目標書き込み速度とする。これを以下の式（２）に従って４ｋバイトあたりの書き込みの目標時間に換算すると、１ｍ秒となる。
４ｋバイト／４Ｍバイト秒＝１ｍ秒  ・・・（２）
【００４７】
次に、不揮発性メモリ１３０への書き込み時間について説明する。２値ＮＡＮＤフラッシュメモリは多値ＮＡＮＤと比較すると書き込み速度が速く、例えば、Ａ社製２値フラッシュメモリ（１Ｇバイト品）の書き込み時間（ＷＴ）を３００μ秒とする。また転送に要する時間（ＴＴ）は、設計によって異なるが１００μ秒確保しておければ十分である。
【００４８】
従って、図６Ａ及び以下の式（３）に示すように、２ｋバイト（１ページ）分のデータを続けて２回書き込む場合に要する時間は、８００μ秒であることがわかる。
（３００μ秒＋１００μ秒）×２＝８００μ秒  ・・・（３）
つまり目標時間である１ｍ秒以内に４ｋバイト分のデータを書き込むことが可能となる。言い換えれば、書き込み時間と転送時間を合わせた時間が５００μ秒以下となるフラッシュメモリであれば、図６Ａに示す直列書き込み（モードＡ）でも目標速度を満足することができる。なお、書き換え等で不要となる物理ブロック（２５６ｋバイト分）を、あるタイミングで消去する必要があるが、ここでは簡単のため消去については省略する。
【００４９】
このフラッシュメモリのように比較的高速のフラッシュメモリにおいて、図６Ｂに示すように並列書き込みを行った場合、目標時間の１／２以下で書き込みが完了する。しかし書き込み期間に発生するピーク電流が２倍となり、アクセス装置１００に実装された電池寿命が早くなってしまう。つまり、目標速度を満足しつつ寿命が長くなるように最適化するのであれば、図６Ａに示すような直列書き込みになるようにした方が合理的であると言える。
【００５０】
次に、電源立ち上げ時の初期化処理において、モードＢに設定された場合について説明する。例えばＡ社製多値フラッシュメモリ（１Ｇバイト品）を使用した場合はモードＢとなる。
【００５１】
図７はモードＢの場合の論理アドレス空間とこれに対応する物理アドレス空間を示す図である。この場合に論理ブロックアドレス０〜４０９５には１つの論理ブロックアドレスは５１２ｋＢの容量を持っており、１つの論理ブロックアドレスに対して２つの不揮発性メモリの物理ブロックが割当てられることとなる。各物理ブロックは２５６ｋＢである。
【００５２】
図８はモードＢでの論理アドレスと物理アドレスの論物変換方法を示す説明図である。論理アドレスのフォーマットのｂ２にメモリ番号が割り付けられているので、連続する論理アドレスに対して２ｋバイト単位毎に不揮発性メモリ１３０と１４０が交互に指定されることとなる。
【００５３】
前述したモードＡの場合と同様に、論理アドレス０から連続する論理アドレスに対して１Ｍバイト分のデータの書き込み命令がアクセス装置１００より転送された場合について相違点のみについて説明する。
【００５４】
論物変換部１２６は論物変換処理において、論理アドレスフォーマットのｂ９〜ｂ０は、そのまま物理アドレスフォーマットの対応するビットにコピーするが、論理アドレスフォーマットのｂ２０〜ｂ１０（論理ブロックアドレス）はそのまま物理アドレスフォーマットのｂ１９〜ｂ９（物理ブロックアドレス）にコピーせず、物理ブロックアドレスＰＢＡ０〜ＰＢＡ４０９５の間を満遍なく使用するようなウェアレベリング処理を行う。
【００５５】
書き込まれるデータの論理アドレスは０から１Ｍバイト分であるので、式（１）により図８の論理アドレスフォーマットにおいてｂ１０〜ｂ０の１１ビット分が論理アドレスに応じて変化するビットとなり、ｂ２０〜ｂ１１は常に値０となる。メモリ番号が割り付けられたビットはｂ２であるので、図７に示すように２ｋバイト単位毎に不揮発性メモリ１３０と１４０に交互にデータが書かれることとなる。
【００５６】
上記の通り決定した物理アドレスは読み書き制御部１２３に転送され、読み書き制御部１２３は該物理アドレスと、バッファ１２２に一時記憶されたデータを不揮発性メモリ１３０と１４０に転送する。
【００５７】
図９Ｂにおいて、転送時間や目標時間は前述した図６Ｂのそれと同様であるので説明を省略する。書き込み時間は、多値ＮＡＮＤフラッシュメモリを使用しているため、図６Ａよりも長くなる。例えば、Ａ社製多値フラッシュメモリ（１Ｇバイト品）の書き込み時間ＷＴを８００μ秒とする。従って、図９Ｂに示すように２ｋバイト分のデータを並列に書き込む場合に要する時間は、転送時間ＴＴ（１００μ秒）を加えて次式（４）により９００μ秒であることがわかる。
８００μ秒＋１００μ秒＝９００μ秒  ・・・（４）
つまり目標時間である１ｍ秒以内で４ｋバイト分のデータを書き込むことが可能である。言い換えれば、書き込み時間と転送時間を合わせた時間が１０００μ秒以下となるフラッシュメモリであれば、図９Ｂに示す並列書き込み（モードＢ）であれば目標速度を満足することが可能となる。この場合に、図９Ａのような直列書き込みした場合は目標時間を満足できないことがわかる。
【００５８】
即ち直列書き込みモードＡでは図５に示すように、メモリ番号を物理ブロックアドレスの上位とすることによって図６Ａに示すようにいずれか一方の不揮発性メモリにデータを書き込むことができ、直列書き込みが実現できる。又モードＢの並列書き込み処理では、図８に示すようにメモリ番号として用いるアドレスを最小書き込み単位であるページ単位以下とすることによって、図９Ｂに示すように最小書き込み単位で複数の不揮発性メモリに対して並列にデータを書き込むことができる。
【００５９】
以上のように、使用する不揮発性メモリの書き込み速度に応じて論物変換モードを切り替えることにより、目標速度を維持しつつ、ピーク電流での合理化を図ることができる。なお、図３に示したモードテーブルの内容は、不揮発性記憶装置１１０の設計段階で決めればよい。但し、将来の不揮発性メモリに対応できるようにするために、モードテーブルを簡単に変更できるようにしておくことが望ましい。そのためには、例えば不揮発性メモリ１３０や１４０の一部の領域にモードテーブルを記憶しておき、電源立ち上げ時の初期化処理において論物変換モード決定部１２５内部に設けたＲＡＭに読み出すようにすればよい。そして、モードテーブルの変更が生じた場合は、不揮発性記憶装置の製造工程の中で、モードテーブルを書き替えれば良い。
【００６０】
（第２の実施の形態）
以下、本発明の第２の実施の形態による不揮発性記憶システムについて説明する。図１０は、第２の実施の形態における不揮発性記憶システムのブロック図である。基本的な構成は、図１０に示した第１の実施の形態による不揮発性記憶システムと同様である。本実施の形態の不揮発性記憶装置８１０は、メモリコントローラ８２０と、不揮発性メモリ１３０や１４０を有しているが、これらのメモリに接続するメモリバスの本数を１本にした点である。読み書き制御部８２３は、不揮発性メモリ１３０と１４０を切り替えるためのチップイネーブル信号ＣＥ０とＣＥ１を出力するようになっている。
【００６１】
次に本実施の形態の動作について説明する。尚、電源立ち上げ時の初期化処理については第１の実施の形態と同様であるので説明を省略する。
［通常動作時の処理］
選択されている不揮発性メモリが高速不揮発性メモリの場合には、図１１Ａに示すようにデータ伝送と書き込みとを直列で行う。こうすれば前述した場合と同様の二値ＮＡＮＤ型フラッシュメモリの場合には２回の書き込み時間が目標時間内に入り、この時間内で書き込みを終了することができる。又この場合に並列書き込み処理とすれば、図１１Ｂに示すように転送時間のみがずれ、書き込み時間が重なる並列書き込みとなる。この場合には目標時間の約１／２となり、オーバースペックとなる。
【００６２】
又選択されている不揮発性メモリが低速の場合にはＡモードで直列書き込みとすると図１２Ａに示すように、目標時間を超えてしまうこととなる。この場合には図１２Ｂに示すようにモードＢによって並列の書き込み処理を行う。こうすれば目標時間内に書き込み処理を終えることができる。
【００６３】
第１の実施の形態による不揮発性記憶システムと異なり、メモリバスを共通化したので、メモリバス競合が生じないように、不揮発性メモリ１３０に対するデータ転送期間と不揮発性メモリ１４０に対するデータ転送期間を時間的にずらす必要がある。その為に、読み書き制御部８２３は２ｋバイト単位でデータ転送とチップイネーブル信号を切り替える。その他の動作は、第１の実施の形態による不揮発性記憶システムと同様である。
【００６４】
以上、第１の実施の形態および第２の実施の形態で説明した通り、使用する不揮発性メモリの種類に応じて、論物変換モード決定部１２５がモードテーブルに応じて論物変換部１２６の論物変換モードを図４もしくは図７のように切り替えるようにしたので、目標パフォーマンスを維持しつつ、電力面で合理化することが可能となる。なお、第１の実施の形態においても、図１１や図１２に示すように転送期間をずらしても構わない。
【００６５】
また第１，第２の実施の形態では、読み書き制御部１２３あるいは８２３が、不揮発性メモリ１３０と１４０の両者に対して書き込み制御を行うようにした。これに代えてメモリコントローラ１２０あるいは８２０を２セット設け、一方のメモリコントローラが不揮発性メモリ１３０を、他方のメモリコントローラが不揮発性メモリ１４０の読み書き制御を行うようにしても構わない。より一般的にはメモリコントローラを複数のコントローラチップから構成し、各コントローラチップと１以上の不揮発性メモリとを１つのバスで接続する。但し、その場合は、一方のメモリコントローラをマスターコントローラとして、マスターコントローラがデータの振り分けを行う必要がある。また、本発明は、上記実施の形態に限定されるものではない。
【産業上の利用可能性】
【００６６】
本発明にかかるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びデータ書き込み方法は、フラッシュメモリなどの不揮発性メモリを使用した装置において、書き込み速度とピーク電流とを最適化することができる。本発明にかかる装置は、静止画記録再生装置や動画記録再生装置等のポータブルＡＶ機器、あるいは携帯電話等のポータブル通信機器の記録媒体として利用可能である。
【図面の簡単な説明】
【００６７】
【図１】本発明の第１の実施の形態における不揮発性記憶システムのブロック図である。
【図２】本実施の形態における物理ブロックのメモリマップである。
【図３】本実施の形態におけるモードテーブルの一例を示す説明図である。
【図４】モードＡによる論理アドレスと物理アドレスの関係を示す図である。
【図５】高速の不揮発性メモリを使用した場合の論物変換方法を示す説明図である。
【図６Ａ】高速の不揮発性メモリに対してモードＡでの書き込みを表すタイムチャートである。
【図６Ｂ】高速の不揮発性メモリに対してモードＢでの書き込みを表すタイムチャートである。
【図７】モードＢによる論理アドレスと物理アドレスの関係を示す図である。
【図８】低速の不揮発性メモリを使用した場合の論物変換方法を示す説明図である。
【図９Ａ】低速の不揮発性メモリに対してモードＡでの書き込みを表すタイムチャートである。
【図９Ｂ】低速の不揮発性メモリに対してモードＢでの書き込みを表すタイムチャートである。
【図１０】第２の実施の形態における不揮発性記憶システムのブロック図である。
【図１１Ａ】高速の不揮発性メモリに対してモードＡでの書き込みを表すタイムチャートである。
【図１１Ｂ】高速の不揮発性メモリに対してモードＢでの書き込みを表すタイムチャートである。
【図１２Ａ】低速の不揮発性メモリに対してモードＡの書き込みを表すタイムチャートである。
【図１２Ｂ】低速の不揮発性メモリに対してモードＢの書き込みを表すタイムチャートである。
【符号の説明】
【００６８】
１００  アクセス装置
１１０、８１０  不揮発性記憶装置
１２０、８２０  メモリコントローラ
１２１  ホストインターフェース
１２２  バッファ
１２３、８２３  読み書き制御部
１２４  ＣＰＵ部
１２５  論物変換モード決定部
１２６  論物変換部
１３０  不揮発性メモリ（フラッシュメモリ０）
１４０  不揮発性メモリ（フラッシュメモリ1）
【図１】
2007241619.tif 000003
【図２】
2007241619.tif 000004
【図３】
2007241619.tif 000005
【図４】
2007241619.tif 000006
【図５】
2007241619.tif 000007
【図６Ａ】
2007241619.tif 000008
【図６Ｂ】
2007241619.tif 000009
【図７】
2007241619.tif 000010
【図８】
2007241619.tif 000011
【図９Ａ】
2007241619.tif 000012
【図９Ｂ】
2007241619.tif 000013
【図１０】
2007241619.tif 000014
【図１１Ａ】
2007241619.tif 000015
【図１１Ｂ】
2007241619.tif 000016
【図１２Ａ】
2007241619.tif 000017
【図１２Ｂ】
2007241619.tif 000018