説明

メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法

【課題】実装するフラッシュメモリの種類に対応して書き込み速度とピーク電流抑制とを最適化することのできるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システムを提供すること。
【解決手段】論物変換モード決定手段125が、実装された不揮発性メモリ130や140の種類に応じて論物変換手段126の論物変換モードを決定する。これにより、不揮発性メモリ130や140に対してデータを並列的に書き込むか、あるいは、いずれか一方の不揮発性メモリに直列的に書き込むかを選択する。不揮発性メモリ130、140が低速タイプの場合には不揮発性メモリ130と140に同時に書き込み、高速タイプの場合にはいずれかの不揮発性メモリに直列的に書き込むようにしたので、目標書き込み速度を維持しつつピーク電流を抑制することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不揮発性メモリを備えた半導体メモリカード等の不揮発性記憶装置、及びそれに内蔵されるメモリコントローラ、さらに、前記不揮発性記憶装置にアクセス装置を構成要件として加えた不揮発性記憶システム、ならびにデータ書き込み方法に関するものである。
【背景技術】
【0002】
書き換え可能な不揮発性の主記憶メモリを備えた不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。この不揮発性記憶装置は、不揮発性メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラやパーソナルコンピュータ本体等のアクセス装置からの読み書き指示と論理アドレスの指定に応じて、画像などのファイルデータをフラッシュメモリに対して読み書き制御するものとなっている。
【0003】
アクセス装置から1つのファイルデータをフラッシュメモリに書き込む際、通常1回、場合によっては複数回の書き込み指示によって書き込むものであり、1回の書き込み指示では連続する論理アドレス順に書き込まれる。
【0004】
フラッシュメモリにはさまざまな品種がある。2値NANDフラッシュメモリや多値NANDフラッシュメモリ、ANDフラッシュメモリといったメモリセルのタイプ違いや、容量の違い、あるいはメーカの違いによって性能が異なる。例えば、書き込みに関しては2値NANDフラッシュメモリの方が多値NANDフラッシュメモリよりも書き込み時間が速い。なお書き込み時間とは、メモリコントローラから受信したデータをフラッシュメモリのメモリセルに書き込む(プログラムする)際に要する時間のことをいう。
【0005】
近年、不揮発性記憶装置に対して、動画など大容量のファイルをリアルタイムすなわち高速に書き込む用途が増加している。そのため複数チップのフラッシュメモリを内蔵し、複数のメモリバスでフラッシュメモリとメモリコントローラを接続して並列に書き込みを行う等の工夫がなされている(例えば、特許文献1参照)。しかし複数のフラッシュメモリに対して並列に書き込みを行うと、書き込み速度は向上するが、ピーク電流も併せて増加することとなる。
【特許文献1】特開平6−119128号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、前述した従来の不揮発性記憶装置にあっては、フラッシュメモリの種類に関わらず、通常の書き込みすなわち連続した論理アドレスに対する書き込みにおいて常に複数のフラッシュメモリに並列に書き込まれる。そのため、書き込み時間が非常に速いフラッシュメモリを搭載した不揮発性記憶装置においては、不揮発性記憶装置として目標としている書き込み速度をはるかに上回る書き込み速度が出てしまい、オーバースペックとなってしまう。並列書き込みの場合は通常書き込みよりもピーク電流が多いので、書き込み速度とピーク電流の抑制の両立ができない。言い換えれば書き込み速度とピーク電流の抑制の両者を最適化することができないといった問題点を有していた。ここで最適化とは、書き込み速度が目標値以上であれば、その条件で最小のピーク電流で足りるものとする。
【0007】
通常の不揮発性記憶装置の用途では、動画データをリアルタイムで記録できる書き込み速度が出せれば十分であり、使用するフラッシュメモリの品種によっては、並列書き込みしなくとも必要な書き込み速度を実現できる場合もある。その場合は複数のフラッシュメモリに並列書き込みせずに、1つのフラッシュメモリのみ書き込むようにすることで、目標速度を確保しつつ、ピーク電流を抑制することができる。
【0008】
そこで、本発明は上記問題点に鑑み、実装するフラッシュメモリの種類に対応して書き込み速度とピーク電流の抑制の両者を最適化することのできるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システムと、データ書き込み方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
この課題を解決するために、本発明のメモリコントローラは、複数の不揮発性メモリに接続され、外部から指定された論理アドレスに従いデータを書き込み、前記不揮発性メモリからデータを読み出すメモリコントローラであって、前記不揮発性メモリの種類に応じて複数の前記不揮発性メモリにデータを同時に書き込むメモリ数を決定する同時書き込みメモリ数決定手段と、前記同時書き込みメモリ数決定手段で決定された数の不揮発性メモリに、同時にデータを書き込み、前記不揮発性メモリのデータを読み出す読み書き制御部と、を備えるものである。
【0010】
ここで前記同時書き込みメモリ数決定手段は、前記不揮発性メモリの書き込み性能が高速タイプの場合に同時に書き込む前記メモリ数を小さくし、前記不揮発性メモリの書き込み性能が低速タイプの場合に同時に書き込む前記メモリ数を大きくしてもよい。
【0011】
ここで前記同時書き込みメモリ数決定手段は、前記不揮発性メモリの種類に応じて同時に書き込むメモリ数を決定し、このメモリ数に対応した論物変換モードを決定する論物変換モード決定手段と、前記論物変換モード決定手段で決定された論物変換モードに応じて、前記論理アドレスを前記不揮発性メモリの物理アドレスに対応づける論物変換手段と、を備えるようにしてもよい。
【0012】
ここで前記不揮発性メモリは、その種類を識別するIDコードを保持するものであり、前記同時書き込みメモリ数決定手段は、前記不揮発性メモリのIDコードにより認識されるデータの書き込み速度に応じて前記論物変換手段の論物変換モードを決定するようにしてもよい。
【0013】
ここで前記不揮発性メモリは、不揮発性メモリを識別するIDコードと論物変換モードとを対応づけるモードテーブルを保持するものであり、前記論物変換モード決定手段は、前記モードテーブルを参照することにより前記論物変換モードを決定するようにしてもよい。
【0014】
ここで前記メモリコントローラは、複数のコントローラチップから構成され、前記コントローラチップと1以上の前記不揮発性メモリが1つのバスで接続されているようにしてもよい。
【0015】
この課題を解決するために、本発明の不揮発性記憶装置は、複数の不揮発性メモリと、外部から指定された論理アドレスに従い前記不揮発性メモリにデータを書き込み、前記不揮発性メモリからデータを読み出すメモリコントローラとを備えた不揮発性記憶装置であって、前記メモリコントローラは、前記不揮発性メモリの種類に応じて複数の前記不揮発性メモリにデータを同時に書き込むメモリ数を決定する同時書き込みメモリ数決定手段と、前記同時書き込みメモリ数決定手段で決定された数の不揮発性メモリに、同時にデータを書き込み、前記不揮発性メモリのデータを読み出す読み書き制御部と、を備えるものである。
【0016】
ここで前記同時書き込みメモリ数決定手段は、前記不揮発性メモリの書き込み性能が高速タイプの場合に同時に書き込む前記メモリ数を小さくし、前記不揮発性メモリの書き込み性能が低速タイプの場合に同時に書き込む前記メモリ数を大きくしてもよい。
【0017】
ここで前記同時書き込みメモリ数決定手段は、前記不揮発性メモリの種類に応じて同時に書き込むメモリ数を決定し、このメモリ数に対応した論物変換モードを決定する論物変換モード決定手段と、前記論物変換モード決定手段で決定された論物変換モードに応じて、前記論理アドレスを前記不揮発性メモリの物理アドレスに対応づける論物変換手段と、を備えるようにしてもよい。
【0018】
ここで前記不揮発性メモリは、その種類を識別するIDコードを保持するものであり、前記同時書き込みメモリ数決定手段は、前記不揮発性メモリのIDコードにより認識されるデータの書き込み速度に応じて前記論物変換手段の論物変換モードを決定するようにしてもよい。
【0019】
ここで前記不揮発性メモリは、不揮発性メモリを識別するIDコードと論物変換モードとを対応づけるモードテーブルを保持するものであり、前記論物変換モード決定手段は、前記モードテーブルを参照することにより前記論物変換モードを決定するようにしてもよい。
【0020】
ここで前記メモリコントローラは、2つ以上のコントローラチップから構成され、各々の前記コントローラチップと1以上の前記不揮発性メモリが1つのバスで接続されているようにしてもよい。
【0021】
この課題を解決するために、本発明の不揮発性記憶システムは、上記の不揮発性記憶装置と、前記不揮発性記憶装置にデータを書き込み、及び前記不揮発性記憶装置からデータを読み出すアクセス装置とを備えることを特徴とするものである。
【0022】
この課題を解決するために、本発明のデータ書き込み方法は、複数の不揮発性メモリに接続され、外部から指定された論理アドレスに従いデータを書き込み、前記不揮発性メモリからデータを読み出すデータ書き込み方法であって、前記不揮発性メモリの種類に応じて複数の前記不揮発性メモリにデータを同時に書き込むメモリ数を決定し、決定された数の不揮発性メモリに、同時にデータを書き込むものである。
【0023】
ここで前記同時書き込みメモリ数の決定は、前記不揮発性メモリの書き込み性能が高速タイプの場合に同時に書き込む前記メモリ数を小さくし、前記不揮発性メモリの書き込み性能が低速タイプの場合に該メモリ数を大きくするようにしてもよい。
【0024】
ここで前記同時書き込みメモリ数の決定は、前記不揮発性メモリの種類に応じて同時に書き込むメモリ数を決定し、このメモリ数に対応した論物変換モードを決定し、決定された論物変換モードに応じて、前記論理アドレスを前記不揮発性メモリの物理アドレスに対応づけるようにしてもよい。
【0025】
ここで前記不揮発性メモリは、その種類を識別するIDコードを保持するものであり、前記同時書き込みメモリ数の決定は、前記不揮発性メモリのIDコードにより認識されるデータの書き込み速度に応じて前記論物変換手段の論物変換モードを決定するようにしてもよい。
【0026】
ここで前記不揮発性メモリは、不揮発性メモリを識別するIDコードと論物変換モードとを対応づけるモードテーブルを保持するものであり、前記論物変換モードの決定は、前記モードテーブルを参照することにより前記論物変換モードを決定するようにしてもよい。
【発明の効果】
【0027】
本発明によれば、論物変換モード決定手段が、実装された不揮発性メモリの種類に応じて論物変換手段の論物変換モードを決定することにより、複数の前記不揮発性メモリに対してデータを並列的に書き込むか、あるいは、1つの不揮発性メモリに直列的に書き込むかの選択を行うことが可能となる。具体的には、不揮発性メモリが低速タイプの場合には同時に書き込む不揮発性メモリの数を多くし、高速タイプの場合には同時に書き込む不揮発性メモリの数を少なくしたので、目標となる書き込み速度を維持しつつピーク電流を抑制することができる。
【発明を実施するための最良の形態】
【0028】
(第1の実施の形態)
以下、本発明の第1の実施の形態による不揮発性記憶システムについて説明する。図1は、第1の実施の形態における不揮発性記憶システムを示すブロック図である。図1において、不揮発性記憶システムは、アクセス装置100と不揮発性記憶装置110を含んで構成される。不揮発性記憶装置110は、メモリコントローラ120と不揮発性メモリ130および140を含む。メモリコントローラ120はホストインターフェース121、バッファ122、読み書き制御部123、CPU部124、論物変換モード決定部125、論物変換部126を含む。なお、論物変換モード決定部125と論物変換部126をまとめたブロックを、同時書き込みメモリ数決定部127とする。
【0029】
ホストインターフェース121はデータの書き込み時にはアクセス装置100から論理アドレスと書き込むべきデータとを受信すると共に、データをバッファ122に保持し、論理アドレスをCPU部及び論物変換部に与えるものである。
【0030】
バッファ122は、アクセス装置100から不揮発性メモリ130や140にデータを書き込んだり読み出したりする際にデータを一時保持するものであり、不揮発性メモリ130や140の書き込み単位であるページサイズ(例えば2kバイト)より大きいサイズのバッファである。
【0031】
読み書き制御部123は、バッファ122に一時記憶されたデータを不揮発性メモリ130や140に書き込んだり、不揮発性メモリ110に記憶されたデータをバッファ122に読み出すためのブロックである。その際、CPU部124から不揮発性メモリ130や140の物理アドレスを受信する。
【0032】
CPU部124は、メモリコントローラ120全体を制御したり、アクセス装置100から受信した論理アドレスに基づいて不揮発性メモリ130や140の物理アドレスを論物変換部126の変換処理に基づいて生成するものである。なお、ホストインターフェース121、バッファ122、読み書き制御部123およびCPU部124は一般的に公知の技術を用いて実現できるので、詳細説明は省略する。
【0033】
論物変換モード決定部125は、不揮発性メモリ130もしくは140から読み出したIDコードに基づき、後述するモードテーブルを参照することによってモードを決定するものである。ここではモードA,モードBの2つの論物変換モードがある。
【0034】
論物変換部126は、論物変換モード決定部125が指定したモードに応じて、アクセス装置100が指定した論理アドレスを物理アドレスに変換するブロックである。モードAは高速のフラッシュメモリに対して用いる直列書き込みモードであり、同時に書き込むメモリ数は1である。一方モードBは低速の不揮発性メモリに対して用いる並列の書き込みモードであり、同時に書き込むメモリ数はここでは2とする。これらのモードによって対象とする論理アドレスの変換の対象となるビットを後述するように異ならせている。
【0035】
この実施の形態では複数、ここでは2つの不揮発性メモリ130,140を有している。これらの不揮発性メモリ130、140とし、これらは同じ種類のフラッシュメモリであり、同じIDコードを有する。以下ではそれぞれメモリ0、メモリ1とする。それぞれのフラッシュメモリのサイズは例えば1Gバイトとする。
【0036】
図2は、物理ブロックのメモリマップである。各物理ブロックは書き込み単位である複数のページから構成される。ここでは各物理ブロックはページ番号PN0〜PN127までの128ページから構成される。各ページは4セクター分のデータが記憶できるようになっている。1ページのサイズは2kバイト、1物理ブロックのサイズは256kバイトである。
【0037】
図3は、論物変換モード決定部125が参照するモードテーブルを示す説明図である。論物変換モード決定部121内に不揮発性メモリやROMを設け、ここでモードテーブルを保持しておいてもよく、又モードテーブルを不揮発性メモリ130又は140に保持しておき、初期化時にこのモードテーブルを論物変換モード決定部125のRAM内に読出してもよい。さてモードテーブルは図3に示すように、フラッシュメモリメーカや2値NANDフラッシュメモリか多値NANDフラッシュメモリかのタイプ、および容量毎にIDコードが記録されており、さらにIDコードに対応して論物変換モード、すなわちどの論物変換モードを使用するかを示す情報が記憶されている。なお、通常2値NANDフラッシュメモリの方が多値NANDフラッシュメモリのよりも高速である。同じタイプのフラッシュメモリであっても、フラッシュメモリメーカや品種、容量の相違によって速度は若干異なる。そこで図3に示すようにフラッシュメモリの種類に応じてモードA又はモードBのいずれかに設定されている。フラッシュメモリが更に多数ある場合には、4個のフラッシュメモリに同時に書き込む変換モード、例えばモードC等を設けることができる。
【0038】
次に本実施の形態の動作、特にアクセス装置100から書き込み命令が発せられた場合、不揮発性記憶装置110の動作について説明する。
[電源立ち上げ時の初期化処理]
まず、アクセス装置100が不揮発性記憶装置110に電源を供給した後、メモリコントローラ120は読み書き制御部123を介して、いずれかの不揮発性メモリ、例えば130からIDコードを読み込む。
【0039】
CPU部124は読み込まれたIDコードを論物変換モード決定部125に転送し、論物変換モード決定部125は、内部のROMに記憶されたモードテーブル(図3)に基づいて論物変換モードを決定する。本実施の形態においては、不揮発性メモリ130と140が共にA社製2値フラッシュメモリ(1Gバイト品)であってIDコードが「0」の場合と、A社製多値フラッシュメモリ(1Gバイト品)であってIDコードが「1」の場合に分けて説明する。前者はモードA、後者はモードBとなる。これらのモード情報は論物変換部126に転送され、論物変換部126における論物変換モードをモードA又はBのいずれかに決定し、アクセス装置100からのアクセス待ち状態(通常動作)に遷移する。
[通常動作時の処理]
まず、電源立ち上げ時の初期化処理において、モードAに設定された場合について説明する。例えばA社製2値フラッシュメモリ(1Gバイト品)を使用した場合はモードAとなる。
【0040】
図4はモードAの場合の論理アドレス空間と物理アドレス空間を示す図である。なお、ここでは簡単のため、FATなどの管理情報領域などについては省略し、全論理アドレス空間はデータが書き込まれる領域(通常領域)として考える。本図において、論理アドレスの0〜2GB分(論理ブロックアドレスLBA0〜8191)のうち前半のLBA0〜4095はメモリ番号0の不揮発性メモリすなわち不揮発性メモリ130に割付けられ、後半のLBA4096〜8191はメモリ番号1の不揮発性メモリすなわち不揮発性メモリ140に割付けられる。不揮発性メモリ側では130、140毎に夫々物理ブロックアドレス(PBA)0〜4095を有しており、メモリ番号によって区別されている。物理ブロックアドレスと論理ブロックアドレスとはウェアレベリングによって変換される。
【0041】
アクセス装置100は、論理アドレス0から連続する論理アドレスに対して1Mバイト分のデータの書き込み命令を転送したものとする。ホストインターフェース121は書き込み命令や論理アドレス及びデータを受信し、バッファ122にデータを一時記憶する。一方論理アドレスを論物変換部126に転送し、論物変換部126は図5に基づいて論物変換処理を行う。
【0042】
論物変換処理において、論理アドレスフォーマットのb20とb8〜b0は、そのまま物理アドレスフォーマットの対応するビットにコピーするが、論理アドレスフォーマットのb19〜b9(論理ブロックアドレス)はそのまま物理アドレスフォーマットのb19〜b9(物理ブロックアドレス)にコピーせず、物理ブロックアドレスPBA0〜PBA4095の間を満遍なく使用するようにウェアレベリング処理を行う。なおウェアレベリングについては一般的な公知技術であるので説明を省略する。
【0043】
書き込まれるデータは論理アドレス0からの1Mバイト分であるので、セクターサイズを512バイトとすると、式(1)により2048のセクターにデータが書き込まれる。即ち図5の論理アドレスフォーマットにおいてb10〜b0の11ビット分が論理アドレスに応じて変化するビットとなり、b20〜b11は常に値0となる。従って、この場合には不揮発性メモリ130側のみの4つの物理ブロックにデータが書かれることとなる。
1Mバイト/512バイト=2048=211 ・・・(1)
【0044】
上記の通り決定した物理アドレスは読み書き制御部123に転送される。読み書き制御部123は該物理アドレスと、バッファ122に一時記憶されたデータを不揮発性メモリ130に転送する(図6A)。
【0045】
図6A,6Bは、高速の不揮発性メモリの書き込みを表すタイムチャートである。なお、転送期間TTとはメモリコントローラ120からメモリバスを介して不揮発性メモリ130や140にデータを転送する期間であり、書き込み時間WTとは不揮発性メモリ130や140がデータを受信した後にメモリアレイにデータを書き込む期間である。目標時間とは、不揮発性記憶装置110が目標とする書き込み速度に対応した時間である。
【0046】
図6Aにおいて、転送期間TTには書き込み単位であるページサイズ毎に物理アドレスとデータが転送される。その直後の書き込み期間WTにおいて不揮発性メモリ130のメモリセルに対して書き込みがなされる。図6Aにおいて目標時間とは、不揮発性記憶装置110が目標とする書き込み完了までの時間であり、例えばMPEG2の動画記録に対応する場合は、2Mバイト/秒乃至は4Mバイト/秒の書き込み速度が必要である。これ以降の説明では、簡単のため、4Mバイト/秒を目標書き込み速度とする。これを以下の式(2)に従って4kバイトあたりの書き込みの目標時間に換算すると、1m秒となる。
4kバイト/4Mバイト秒=1m秒 ・・・(2)
【0047】
次に、不揮発性メモリ130への書き込み時間について説明する。2値NANDフラッシュメモリは多値NANDと比較すると書き込み速度が速く、例えば、A社製2値フラッシュメモリ(1Gバイト品)の書き込み時間(WT)を300μ秒とする。また転送に要する時間(TT)は、設計によって異なるが100μ秒確保しておければ十分である。
【0048】
従って、図6A及び以下の式(3)に示すように、2kバイト(1ページ)分のデータを続けて2回書き込む場合に要する時間は、800μ秒であることがわかる。
(300μ秒+100μ秒)×2=800μ秒 ・・・(3)
つまり目標時間である1m秒以内に4kバイト分のデータを書き込むことが可能となる。言い換えれば、書き込み時間と転送時間を合わせた時間が500μ秒以下となるフラッシュメモリであれば、図6Aに示す直列書き込み(モードA)でも目標速度を満足することができる。なお、書き換え等で不要となる物理ブロック(256kバイト分)を、あるタイミングで消去する必要があるが、ここでは簡単のため消去については省略する。
【0049】
このフラッシュメモリのように比較的高速のフラッシュメモリにおいて、図6Bに示すように並列書き込みを行った場合、目標時間の1/2以下で書き込みが完了する。しかし書き込み期間に発生するピーク電流が2倍となり、アクセス装置100に実装された電池寿命が早くなってしまう。つまり、目標速度を満足しつつ寿命が長くなるように最適化するのであれば、図6Aに示すような直列書き込みになるようにした方が合理的であると言える。
【0050】
次に、電源立ち上げ時の初期化処理において、モードBに設定された場合について説明する。例えばA社製多値フラッシュメモリ(1Gバイト品)を使用した場合はモードBとなる。
【0051】
図7はモードBの場合の論理アドレス空間とこれに対応する物理アドレス空間を示す図である。この場合に論理ブロックアドレス0〜4095には1つの論理ブロックアドレスは512kBの容量を持っており、1つの論理ブロックアドレスに対して2つの不揮発性メモリの物理ブロックが割当てられることとなる。各物理ブロックは256kBである。
【0052】
図8はモードBでの論理アドレスと物理アドレスの論物変換方法を示す説明図である。論理アドレスのフォーマットのb2にメモリ番号が割り付けられているので、連続する論理アドレスに対して2kバイト単位毎に不揮発性メモリ130と140が交互に指定されることとなる。
【0053】
前述したモードAの場合と同様に、論理アドレス0から連続する論理アドレスに対して1Mバイト分のデータの書き込み命令がアクセス装置100より転送された場合について相違点のみについて説明する。
【0054】
論物変換部126は論物変換処理において、論理アドレスフォーマットのb9〜b0は、そのまま物理アドレスフォーマットの対応するビットにコピーするが、論理アドレスフォーマットのb20〜b10(論理ブロックアドレス)はそのまま物理アドレスフォーマットのb19〜b9(物理ブロックアドレス)にコピーせず、物理ブロックアドレスPBA0〜PBA4095の間を満遍なく使用するようなウェアレベリング処理を行う。
【0055】
書き込まれるデータの論理アドレスは0から1Mバイト分であるので、式(1)により図8の論理アドレスフォーマットにおいてb10〜b0の11ビット分が論理アドレスに応じて変化するビットとなり、b20〜b11は常に値0となる。メモリ番号が割り付けられたビットはb2であるので、図7に示すように2kバイト単位毎に不揮発性メモリ130と140に交互にデータが書かれることとなる。
【0056】
上記の通り決定した物理アドレスは読み書き制御部123に転送され、読み書き制御部123は該物理アドレスと、バッファ122に一時記憶されたデータを不揮発性メモリ130と140に転送する。
【0057】
図9Bにおいて、転送時間や目標時間は前述した図6Bのそれと同様であるので説明を省略する。書き込み時間は、多値NANDフラッシュメモリを使用しているため、図6Aよりも長くなる。例えば、A社製多値フラッシュメモリ(1Gバイト品)の書き込み時間WTを800μ秒とする。従って、図9Bに示すように2kバイト分のデータを並列に書き込む場合に要する時間は、転送時間TT(100μ秒)を加えて次式(4)により900μ秒であることがわかる。
800μ秒+100μ秒=900μ秒 ・・・(4)
つまり目標時間である1m秒以内で4kバイト分のデータを書き込むことが可能である。言い換えれば、書き込み時間と転送時間を合わせた時間が1000μ秒以下となるフラッシュメモリであれば、図9Bに示す並列書き込み(モードB)であれば目標速度を満足することが可能となる。この場合に、図9Aのような直列書き込みした場合は目標時間を満足できないことがわかる。
【0058】
即ち直列書き込みモードAでは図5に示すように、メモリ番号を物理ブロックアドレスの上位とすることによって図6Aに示すようにいずれか一方の不揮発性メモリにデータを書き込むことができ、直列書き込みが実現できる。又モードBの並列書き込み処理では、図8に示すようにメモリ番号として用いるアドレスを最小書き込み単位であるページ単位以下とすることによって、図9Bに示すように最小書き込み単位で複数の不揮発性メモリに対して並列にデータを書き込むことができる。
【0059】
以上のように、使用する不揮発性メモリの書き込み速度に応じて論物変換モードを切り替えることにより、目標速度を維持しつつ、ピーク電流での合理化を図ることができる。なお、図3に示したモードテーブルの内容は、不揮発性記憶装置110の設計段階で決めればよい。但し、将来の不揮発性メモリに対応できるようにするために、モードテーブルを簡単に変更できるようにしておくことが望ましい。そのためには、例えば不揮発性メモリ130や140の一部の領域にモードテーブルを記憶しておき、電源立ち上げ時の初期化処理において論物変換モード決定部125内部に設けたRAMに読み出すようにすればよい。そして、モードテーブルの変更が生じた場合は、不揮発性記憶装置の製造工程の中で、モードテーブルを書き替えれば良い。
【0060】
(第2の実施の形態)
以下、本発明の第2の実施の形態による不揮発性記憶システムについて説明する。図10は、第2の実施の形態における不揮発性記憶システムのブロック図である。基本的な構成は、図10に示した第1の実施の形態による不揮発性記憶システムと同様である。本実施の形態の不揮発性記憶装置810は、メモリコントローラ820と、不揮発性メモリ130や140を有しているが、これらのメモリに接続するメモリバスの本数を1本にした点である。読み書き制御部823は、不揮発性メモリ130と140を切り替えるためのチップイネーブル信号CE0とCE1を出力するようになっている。
【0061】
次に本実施の形態の動作について説明する。尚、電源立ち上げ時の初期化処理については第1の実施の形態と同様であるので説明を省略する。
[通常動作時の処理]
選択されている不揮発性メモリが高速不揮発性メモリの場合には、図11Aに示すようにデータ伝送と書き込みとを直列で行う。こうすれば前述した場合と同様の二値NAND型フラッシュメモリの場合には2回の書き込み時間が目標時間内に入り、この時間内で書き込みを終了することができる。又この場合に並列書き込み処理とすれば、図11Bに示すように転送時間のみがずれ、書き込み時間が重なる並列書き込みとなる。この場合には目標時間の約1/2となり、オーバースペックとなる。
【0062】
又選択されている不揮発性メモリが低速の場合にはAモードで直列書き込みとすると図12Aに示すように、目標時間を超えてしまうこととなる。この場合には図12Bに示すようにモードBによって並列の書き込み処理を行う。こうすれば目標時間内に書き込み処理を終えることができる。
【0063】
第1の実施の形態による不揮発性記憶システムと異なり、メモリバスを共通化したので、メモリバス競合が生じないように、不揮発性メモリ130に対するデータ転送期間と不揮発性メモリ140に対するデータ転送期間を時間的にずらす必要がある。その為に、読み書き制御部823は2kバイト単位でデータ転送とチップイネーブル信号を切り替える。その他の動作は、第1の実施の形態による不揮発性記憶システムと同様である。
【0064】
以上、第1の実施の形態および第2の実施の形態で説明した通り、使用する不揮発性メモリの種類に応じて、論物変換モード決定部125がモードテーブルに応じて論物変換部126の論物変換モードを図4もしくは図7のように切り替えるようにしたので、目標パフォーマンスを維持しつつ、電力面で合理化することが可能となる。なお、第1の実施の形態においても、図11や図12に示すように転送期間をずらしても構わない。
【0065】
また第1,第2の実施の形態では、読み書き制御部123あるいは823が、不揮発性メモリ130と140の両者に対して書き込み制御を行うようにした。これに代えてメモリコントローラ120あるいは820を2セット設け、一方のメモリコントローラが不揮発性メモリ130を、他方のメモリコントローラが不揮発性メモリ140の読み書き制御を行うようにしても構わない。より一般的にはメモリコントローラを複数のコントローラチップから構成し、各コントローラチップと1以上の不揮発性メモリとを1つのバスで接続する。但し、その場合は、一方のメモリコントローラをマスターコントローラとして、マスターコントローラがデータの振り分けを行う必要がある。また、本発明は、上記実施の形態に限定されるものではない。
【産業上の利用可能性】
【0066】
本発明にかかるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びデータ書き込み方法は、フラッシュメモリなどの不揮発性メモリを使用した装置において、書き込み速度とピーク電流とを最適化することができる。本発明にかかる装置は、静止画記録再生装置や動画記録再生装置等のポータブルAV機器、あるいは携帯電話等のポータブル通信機器の記録媒体として利用可能である。
【図面の簡単な説明】
【0067】
【図1】本発明の第1の実施の形態における不揮発性記憶システムのブロック図である。
【図2】本実施の形態における物理ブロックのメモリマップである。
【図3】本実施の形態におけるモードテーブルの一例を示す説明図である。
【図4】モードAによる論理アドレスと物理アドレスの関係を示す図である。
【図5】高速の不揮発性メモリを使用した場合の論物変換方法を示す説明図である。
【図6A】高速の不揮発性メモリに対してモードAでの書き込みを表すタイムチャートである。
【図6B】高速の不揮発性メモリに対してモードBでの書き込みを表すタイムチャートである。
【図7】モードBによる論理アドレスと物理アドレスの関係を示す図である。
【図8】低速の不揮発性メモリを使用した場合の論物変換方法を示す説明図である。
【図9A】低速の不揮発性メモリに対してモードAでの書き込みを表すタイムチャートである。
【図9B】低速の不揮発性メモリに対してモードBでの書き込みを表すタイムチャートである。
【図10】第2の実施の形態における不揮発性記憶システムのブロック図である。
【図11A】高速の不揮発性メモリに対してモードAでの書き込みを表すタイムチャートである。
【図11B】高速の不揮発性メモリに対してモードBでの書き込みを表すタイムチャートである。
【図12A】低速の不揮発性メモリに対してモードAの書き込みを表すタイムチャートである。
【図12B】低速の不揮発性メモリに対してモードBの書き込みを表すタイムチャートである。
【符号の説明】
【0068】
100 アクセス装置
110、810 不揮発性記憶装置
120、820 メモリコントローラ
121 ホストインターフェース
122 バッファ
123、823 読み書き制御部
124 CPU部
125 論物変換モード決定部
126 論物変換部
130 不揮発性メモリ(フラッシュメモリ0)
140 不揮発性メモリ(フラッシュメモリ1)

【特許請求の範囲】
【請求項1】
複数の不揮発性メモリに接続され、外部から指定された論理アドレスに従いデータを書き込み、前記不揮発性メモリからデータを読み出すメモリコントローラであって、
前記不揮発性メモリの種類に応じて複数の前記不揮発性メモリにデータを同時に書き込むメモリ数を決定する同時書き込みメモリ数決定手段と、
前記同時書き込みメモリ数決定手段で決定された数の不揮発性メモリに、同時にデータを書き込み、前記不揮発性メモリのデータを読み出す読み書き制御部と、を備えるメモリコントローラ。
【請求項2】
前記同時書き込みメモリ数決定手段は、
前記不揮発性メモリの書き込み性能が高速タイプの場合に同時に書き込む前記メモリ数を小さくし、前記不揮発性メモリの書き込み性能が低速タイプの場合に同時に書き込む前記メモリ数を大きくした請求項1に記載のメモリコントローラ。
【請求項3】
前記同時書き込みメモリ数決定手段は、
前記不揮発性メモリの種類に応じて同時に書き込むメモリ数を決定し、このメモリ数に対応した論物変換モードを決定する論物変換モード決定手段と、
前記論物変換モード決定手段で決定された論物変換モードに応じて、前記論理アドレスを前記不揮発性メモリの物理アドレスに対応づける論物変換手段と、を備えた請求項1又は2に記載のメモリコントローラ。
【請求項4】
前記不揮発性メモリは、その種類を識別するIDコードを保持するものであり、
前記同時書き込みメモリ数決定手段は、前記不揮発性メモリのIDコードにより認識されるデータの書き込み速度に応じて前記論物変換手段の論物変換モードを決定する請求項1〜3のいずれかに記載のメモリコントローラ。
【請求項5】
前記不揮発性メモリは、不揮発性メモリを識別するIDコードと論物変換モードとを対応づけるモードテーブルを保持するものであり、
前記論物変換モード決定手段は、前記モードテーブルを参照することにより前記論物変換モードを決定する請求項3又は4に記載のメモリコントローラ。
【請求項6】
前記メモリコントローラは、複数のコントローラチップから構成され、前記コントローラチップと1以上の前記不揮発性メモリが1つのバスで接続されている請求項1〜5のいずれかに記載のメモリコントローラ。
【請求項7】
複数の不揮発性メモリと、
外部から指定された論理アドレスに従い前記不揮発性メモリにデータを書き込み、前記不揮発性メモリからデータを読み出すメモリコントローラとを備えた不揮発性記憶装置であって、
前記メモリコントローラは、
前記不揮発性メモリの種類に応じて複数の前記不揮発性メモリにデータを同時に書き込むメモリ数を決定する同時書き込みメモリ数決定手段と、
前記同時書き込みメモリ数決定手段で決定された数の不揮発性メモリに、同時にデータを書き込み、前記不揮発性メモリのデータを読み出す読み書き制御部と、を備える不揮発性記憶装置。
【請求項8】
前記同時書き込みメモリ数決定手段は、
前記不揮発性メモリの書き込み性能が高速タイプの場合に同時に書き込む前記メモリ数を小さくし、前記不揮発性メモリの書き込み性能が低速タイプの場合に同時に書き込む前記メモリ数を大きくした請求項7に記載の不揮発性記憶装置。
【請求項9】
前記同時書き込みメモリ数決定手段は、
前記不揮発性メモリの種類に応じて同時に書き込むメモリ数を決定し、このメモリ数に対応した論物変換モードを決定する論物変換モード決定手段と、
前記論物変換モード決定手段で決定された論物変換モードに応じて、前記論理アドレスを前記不揮発性メモリの物理アドレスに対応づける論物変換手段と、を備えた請求項7又は8に記載の不揮発性記憶装置。
【請求項10】
前記不揮発性メモリは、その種類を識別するIDコードを保持するものであり、
前記同時書き込みメモリ数決定手段は、前記不揮発性メモリのIDコードにより認識されるデータの書き込み速度に応じて前記論物変換手段の論物変換モードを決定する請求項7〜9のいずれかに記載の不揮発性記憶装置。
【請求項11】
前記不揮発性メモリは、不揮発性メモリを識別するIDコードと論物変換モードとを対応づけるモードテーブルを保持するものであり、
前記論物変換モード決定手段は、前記モードテーブルを参照することにより前記論物変換モードを決定する請求項9又は10に記載の不揮発性記憶装置。
【請求項12】
前記メモリコントローラは、2つ以上のコントローラチップから構成され、各々の前記コントローラチップと1以上の前記不揮発性メモリが1つのバスで接続されている請求項7〜11のいずれかに記載の不揮発性記憶装置。
【請求項13】
請求項7〜12のいずれかに記載の不揮発性記憶装置と、
前記不揮発性記憶装置にデータを書き込み、及び前記不揮発性記憶装置からデータを読み出すアクセス装置とを備える不揮発性記憶システム。
【請求項14】
複数の不揮発性メモリに接続され、外部から指定された論理アドレスに従いデータを書き込み、前記不揮発性メモリからデータを読み出すデータ書き込み方法であって、
前記不揮発性メモリの種類に応じて複数の前記不揮発性メモリにデータを同時に書き込むメモリ数を決定し、
決定された数の不揮発性メモリに、同時にデータを書き込むデータ書き込み方法。
【請求項15】
前記同時書き込みメモリ数の決定は、
前記不揮発性メモリの書き込み性能が高速タイプの場合に同時に書き込む前記メモリ数を小さくし、前記不揮発性メモリの書き込み性能が低速タイプの場合に該メモリ数を大きくする請求項14に記載のデータ書き込み方法。
【請求項16】
前記同時書き込みメモリ数の決定は、
前記不揮発性メモリの種類に応じて同時に書き込むメモリ数を決定し、
このメモリ数に対応した論物変換モードを決定し、
決定された論物変換モードに応じて、前記論理アドレスを前記不揮発性メモリの物理アドレスに対応づける請求項14又は15に記載のデータ書き込み方法。
【請求項17】
前記不揮発性メモリは、その種類を識別するIDコードを保持するものであり、
前記同時書き込みメモリ数の決定は、前記不揮発性メモリのIDコードにより認識されるデータの書き込み速度に応じて前記論物変換手段の論物変換モードを決定する請求項14〜16のいずれかに記載のデータ書き込み方法。
【請求項18】
前記不揮発性メモリは、不揮発性メモリを識別するIDコードと論物変換モードとを対応づけるモードテーブルを保持するものであり、
前記論物変換モードの決定は、前記モードテーブルを参照することにより前記論物変換モードを決定する請求項16又は17に記載のデータ書き込み方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図10】
image rotate

【図11A】
image rotate

【図11B】
image rotate

【図12A】
image rotate

【図12B】
image rotate