JP2005301591A - 不揮発性メモリを備えた装置及びメモリコントロ−ラ - Google Patents
不揮発性メモリを備えた装置及びメモリコントロ−ラ Download PDFInfo
- Publication number
- JP2005301591A JP2005301591A JP2004115701A JP2004115701A JP2005301591A JP 2005301591 A JP2005301591 A JP 2005301591A JP 2004115701 A JP2004115701 A JP 2004115701A JP 2004115701 A JP2004115701 A JP 2004115701A JP 2005301591 A JP2005301591 A JP 2005301591A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- block
- volatile memory
- nand flash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
Abstract
【課題】 高速でかつ安全なデ−タアクセス性能、シンプルなインタフェ−スを実現でき、さらに、メインメモリとして用いられる不揮発性メモリの長寿命化を実現できるメモリカ−ド、不揮発性メモリを備えた装置及びメモリコントロ−ラを提供する。
【解決手段】 NAND flash ROM18とFeRAM20とを備えるメモリモジュ−ルを具備するメモリカ−ドであって、NAND flash ROM18をメインメモリとして用い、当該メインメモリのキャッシュメモリとしてFeRAM20を用いる。
【選択図】 図1
【解決手段】 NAND flash ROM18とFeRAM20とを備えるメモリモジュ−ルを具備するメモリカ−ドであって、NAND flash ROM18をメインメモリとして用い、当該メインメモリのキャッシュメモリとしてFeRAM20を用いる。
【選択図】 図1
Description
本発明は、メモリコントロ−ラ、および不揮発性メモリとフラッシュメモリの混載メモリシステムに関し、特に高速にフラッシュメモリのデ−タアクセスが行え、かつデ−タ保全性を向上する不揮発性メモリを備えた装置及びメモリコントロ−ラに関する。
従来、フラッシュメモリ、例えば、NAND flash ROM等における問題点としては、デ−タ書き込み時のオ−バヘッドの問題が挙げられる。NAND flash ROMへのデ−タ書き込みは、新たな書き込みを消去済みの新たなブロックに対して行い、その後、古いブロックを消去状態にする方法が一般的に使用される。この際に、新しい書き込みによって上書きされない領域のデ−タについては、新たなブロックにコピ−する必要がある。このように、巻き添えで移動するデ−タのコピ−処理がオ−バヘッドとなる。また、このようにブロック書き込みは、NAND flash ROM内に有効な空きブロックが存在することを前提としており、この空きブロックを確保しておくために、実際のメモリ容量を全て使うことはできない。
また、不揮発性メモリであるフラッシュメモリにおける問題としては、フラッシュメモリ寿命の問題が挙げられる。フラッシュメモリには書き換え回数の制限があり、頻繁なデ−タ書き込みがあると、すぐに寿命がきてしまう。特に、NAND flash ROMの消去単位はブロック単位であることと、デ−タの書き込み前には書き込む領域を消去しなくてはならないことより、NAND flash ROMのデ−タ書き込みの単位もブロック単位となっている。このことはブロックサイズより小さいサイズのデ−タを書き込むたびに、ブロックの消去と書き込みが発生し、必要以上の領域に対して書き込みが行われることを意味し、書き換え回数の制限があるflashタイプのメモリにとっては問題である。
これらの問題に対応するために、メインメモリとして使用するNAND flash ROMとともにデータバッファとして揮発性のメモリを備える技術が開示されている(例えば、特許文献1)。
しかし、当該技術では、揮発性メモリを使用しているため、電源が切断された場合のデ−タ保全性の問題が挙げられる。すなわち、NAND flash ROMのデ−タ書き込み時に行われる古いブロックから新しいブロックヘの書き込みは、ブロック書き込みが完了し、古いブロックを消去し終えることで完了することになる。この処理の間に、電源切断などにより処理が意図せずに停止した場合、処理停止のタイミングによっては論理的に同じアドレスを持つブロックが2つ存在することになり、その後のデ−タアクセスのためにどちらかのブロックを削除する等のリカバリ処理が必要となる。この時、新しく書き込まれたブロックを削除すると新規書き込み分のデ−タは失われることとなり、古いブロックを削除するとなると新しく書き込まれたブロックのデ−タが不完全である可能性があることになる。このように、突然の書き込み処理停止に対するデ−タ保全性に問題がある。なお、他のフラッシュメモリにおいて同様の処理が必要となる場合には、NAND flash ROMに限った問題ではない。さらに、デ−タ書き込み時には、結局メインメモリのほうにも書き込みを行っており、通常はソフトウェアで対応している処理をハ−ドウェアで実現しただけのものである。
また、インタフェ−スの問題が挙げられる。すなわち、NAND flash ROMは不良ブロックの存在を許す仕様であることより、デ−タアクセスの際に不良ブロックを管理する必要がある。不良ブロックを管理する方法として、アクセスするアドレスとしての論理アドレス、実際のアドレスである物理アドレスとの対応関係の情報として論理・物理変換テ−ブルを生成・更新し、それを利用することで不良ブロックを避けながら正常ブロックヘのアクセスを実現している。このことは、物理アドレスを論理的に連続したアドレスとして利用できないことを意味しており、NAND flash ROMに対するデ−タアクセスを複雑なものにしている。なお、他のフラッシュメモリにおいて同様の処理が必要となる場合には、NAND flash ROMに限った問題ではない。
特開2003−242788号公報。
本発明の目的は、高速でかつ安全なデータアクセス性能、シンプルなインタフェースを実現でき、さらに、メインメモリとして用いられる不揮発性メモリの長寿命化を実現できる不揮発性メモリを備えた装置及びメモリコントロ−ラを提供することである。
本発明の一態様は、メインメモリとして用いられる第1の不揮発性メモリと、前記第1の不揮発性メモリのキャッシュメモリとして用いられる第2の不揮発性メモリとを備えたことを特徴とする、不揮発性メモリを備えた装置である。
また、本発明の一態様は、メインメモリとして用いられる第1の不揮発性メモリと、前記第1の不揮発性メモリよりも小容量でかつ前記第1の不揮発性メモリの書き込み回数の制限より制限回数が大きく、書き込み単位がより小さい前記メインメモリのキャッシュメモリとして用いられる第2の不揮発性メモリとを備えたことを特徴とする、不揮発性メモリを備えた装置である。
また、本発明の一態様は、メインメモリとして用いる第1の不揮発性メモリと、前記メインメモリよりも小容量でかつ前記メインメモリの書き込み回数の制限より制限回数が大きく、書き込み単位がより小さい前記メインメモリのキャッシュメモリとして用いる第2の不揮発性メモリと、これらのメモリを制御するメモリコントロ−ラとを備えた装置であって、前記メモリコントロ−ラは、前記第2の不揮発性メモリに記憶されている情報テ−ブルにアクセスし、当該情報テ−ブルに基づいて、前記第1の不揮発性メモリに記憶されているデ−タを前記第2の不揮発性メモリにロ−ドし、前記第2の不揮発性メモリを介して求めるデ−タを得ることを特徴とする、不揮発性メモリを備えた装置である。
また、本発明の一態様は、第1の不揮発性メモリをメインメモリとし、前記メインメモリよりも小容量でかつ前記メインメモリの書き込み回数の制限より制限回数が大きく、書き込み単位がより小さい第2の不揮発性メモリを前記メインメモリのキャッシュメモリとして用いるメモリ構成を制御するメモリコントロ−ラであって、前記第2の不揮発性メモリに記憶されている情報テ−ブルにアクセスし、当該情報テ−ブルに基づいて、前記第1の不揮発性メモリに記憶されているデ−タを前記第2の不揮発性メモリにロ−ドし、前記第2の不揮発性メモリを介して求めるデ−タを得ることを特徴とするメモリコントロ−ラである。
高速でかつ安全なデ−タアクセス性能、シンプルなインタフェ−スを実現でき、さらに、メインメモリとして用いられる不揮発性メモリの長寿命化を実現できる不揮発性メモリを備えた装置及びメモリコントロ−ラを提供することができる。
(第1の実施形態)
以下図面を参照して、本発明の実施形態について説明する。
以下図面を参照して、本発明の実施形態について説明する。
図1は、本発明の第1の実施形態に係る不揮発性メモリを備えた装置として、例えばメモリカ−ドの構成を示したブロック図である。なお、不揮発性メモリを備えた装置としては、図1に示したメモリカードの実施形態に限らず、携帯用の情報機器端末や固定用のコンピュータ装置など、不揮発性メモリを備えた装置であれば何であってもよいものである。なお、以降の説明においては、キャッシュメモリとしてFeRAM(不揮発性メモリ)を、メインメモリとしての位置付けとなるフラッシュメモリとしてNAND flash ROMを用いた場合の混載メモリシステムとして説明を行う。
メモリカ−ド10は、プラスチック等のカ−ド型のケ−スにメモリモジュ−ルを収納して搭載している。
メモリモジュ−ル11は、インタフェ−ス部12、ライトバック機能15を備えたキャッシュ制御部14、ECC計算機能17を備えたNAND flash ROMアクセス制御部16、デ−タ記憶のためのブロックエントリ領域21とキャッシュ制御のための情報テ−ブル領域22を備えたFeRAM20、及びNAND flash ROM18を有する。なお、NAND flash ROM18は、例えば、1ペ−ジ512バイトの容量を持つNAND flash ROMであり、この構成に限ったものではない。
インタフェ−ス部12は、例えば、非同期SRAMと同等のインタフェ−スを持つ構成とすることができ、簡便なインタフェ−スを用いることができる。
FeRAM20は、NAND flash ROM18が備える物理ブロックのサイズ単位に対応する複数のエントリを持つブロックエントリ領域21と、論理ブロック番号と対応するNAND flash ROM18の物理ブロックアドレスやFeRAMのアドレス、そしてキャッシュ管理情報が記憶される情報テ−ブル領域22を有する。
キャッシュ制御部14は、インタフェ−ス部12からのデ−タアクセス要求に対して、FeRAM20内に存在する情報テ−ブル領域22を参照しながらFeRAM20内のブロックエントリ領域21のデ−タにアクセスを行う。詳細は後述する。
ライトバック機能15は、キャッシュ制御部14の補助的な役割を持つ部である。詳細は後述する。
NAND flash ROMアクセス制御部16は、NAND flash ROM18のアクセスを実現する一般的なNAND flash ROMコントロ−ラを指す。NAND flash ROMアクセス制御部16は、キャッシュ制御部14よりアクセス要求があるNAND flash ROM18の物理アドレスと、デ−タアクセスの種別(ペ−ジデ−タ読み出し/ブロックデ−タ書き込み)が渡され、NAND flash ROM18に該当するデ−タアクセスを行う。このデ−タアクセスの際には、ECC計算機能17を介して、アクセスデ−タのECC計算値を利用する。また、デ−タ書き込み時には、書き込みデ−タのECC計算値をNAND flash ROM18のペ−ジ毎に備える冗長部デ−タ領域に書き込む。さらに、デ−タ読み出し時には、冗長部にあるECC計算値と、読み出しデ−タのECC計算値とを比較し、必要があれば1ビットエラ−修正を行ってからデ−タを読み出す。なお、1ビットエラ−修正を行ったデ−タをNAND flash ROM18側には書き戻しは行わない。2ビット以上のエラ−を含む修正不能なビットエラ−を検出した場合の処理方法としては、キャッシュ制御部14に該当デ−タを返すのと同時に修正不能エラ−が検出されたことを通知し、キャッシュ制御部14は、該当する論理ブロックのNAND flash ROM18の物理アドレスやFeRAM20のブロックエントリ領域21に記憶されているブロックエントリ情報を"未割り当て"にする。なお、不良が検出されたNAND flash ROM18の物理ブロックは、不良ブロックのマ−キングを施す、等があるが、特に限定するものではない。
ECC計算機能17は、NAND flash ROMアクセス制御部16の補助的な役割を持つ部である。ECC計算機能17は、NAND flash ROM18のデ−タ信頼性を上げるために、例えば、256バイト毎に22ビットのECCを計算を行う(なお、この構成に限らないことはいうまでもない)。
次に、FeRAM20のメモリマップと情報テ−ブルの一例を図2に示す。なお、情報テ−ブルはキャッシュ制御部14の処理アルゴリズムによって必要十分な情報を提供するものであり、必ずしも図2に示す情報テ−ブルの形態を取るとは限らない。
まず、図2(a)に示すように、ブロックエントリ領域21に記憶されている各ブロックエントリ21a〜21nは、さらにNAND flash ROM18の1ペ−ジ単位(512バイト)のペ−ジ区画で区切られている(図2では、0〜31の32個のペ−ジ区画)。
FeRAM20は、図2(b)に示すように、複数のブロックエントリが記憶されているブロックエントリ領域21と、情報テ−ブルを記憶している情報テ−ブル領域22から構成されている。
情報テ−ブル領域22に記憶されている情報テ−ブルは、図2(c)に示すように、実現するメモリの全論理ブロック分(0〜n)のステ−タス情報を保持する。ある論理ブロックにNAND flash ROM18の物理ブロックが割り当てられている場合には、情報テ−ブルの該当部分に対応する物理ブロックアドレスが記憶される。あるブロックエントリにNAND flash ROM18の物理ブロックが割り当てられている場合には、情報テ−ブルの該当部分に対応するFeRAM20内のアドレスが記憶され、さらに、ブロックエントリ内の各ペ−ジ区画のデ−タの有効性を示す属性情報(バリッドビット)が、FeRAM20内の情報テ−ブルの所定の場所(バリッドビットフィ−ルド)に記憶される。FeRAM20内の割り当て済みのブロックエントリ内のデ−タが書き込まれ、対応するNAND flash ROM18内の物理ブロックのデ−タと差違が生じた場合には、ブロックエントリ毎にあるダ−ティ情報(ダ−ティビット)が更新される。FeRAM20とNAND flash ROM18とのデ−タのやり取りは、キャッシュ制御部14を介して行われ、NAND flash ROM18からの読み出しはペ−ジ単位(一般のキャッシュで言うところのライン)、NAND flash ROM18への書き込みはブロック単位である。
次に、キャッシュ制御部14の基本的な処理を図3のフロ−チャ−トを参照して説明する。本発明の実施形態に係るメモリモジュ−ル11を制御している図示しないCPU等の制御部は、ステップS1で、インタフェ−ス部12にビジ−を通知する。
次に、キャッシュ制御部14は、ステップS2で、アクセス対象の論理ブロックがFeRAM20内のブロックエントリに登録されているか否かを判別する。ステップS2で、アクセス対象の論理ブロックがFeRAM20内のブロックエントリに登録されていると判別された場合は、ステップS3で、キャッシュ制御部14は、ブロックエントリ内のアクセス対象のペ−ジ区画のデ−タが有効であるか否かを判別する。
ステップS3で、キャッシュ制御部14によって、ブロックエントリ内のアクセス対象のペ−ジ区画のデ−タが有効でないと判別された場合は、ステップS4で、NAND flash ROM18から該当ペ−ジをフェッチする(FeRAM20内の該当位置にデ−タを記憶した後、該当するバリッドビットを更新する)。即ち、デ−タが無効であれば、NAND flash ROM18から対象のデ−タが存在するペ−ジデ−タをフェッチして、適切なペ−ジ区画に記憶し、そのペ−ジ区画に対応するバリッドビットを更新してからデ−タアクセスをFeRAM20に対して行う。
一方、ステップS3で、キャッシュ制御部14によって、ブロックエントリ内のアクセス対象のペ−ジ区画のデ−タが有効であると判別された場合は、ステップS5で、FeRAM20内の該当アドレスに対してアクセスを行う(アクセス先アドレスがあるFeRAM20内のペ−ジ区画に対応するバリッド情報を、情報テ−ブル内の該当する論理ブロックが持つバリッドフィ−ルドから取得し、デ−タが有効であればデ−タアクセスをFeRAMに対して行う)。
キャッシュ制御部14によって、FeRAM20内の該当アドレスに対してアクセスされた場合、ステップS6で、当該アクセスは、読み出しのためのアクセスでない場合(書き換え等の場合)は、ステップS7で、該当するブロックエントリに書き換えが行われたことを示すダ−ティビットを設定する。即ち、デ−タアクセスが書き込みの場合には、対応するダ−ティビットを更新し、ブロックエントリに書き込みが行われたことを示す情報を付加する。アクセス処理中は、インタフェ−ス部にビジ−であることを通知し、インタフェ−ス部はそれに応じてレディ/ビジ−出力を行う。
一方、当該アクセスは、読み出しのためのアクセスである場合は、ステップS8で、FeRAM20は、インタフェ−ス部12に読み出すデ−タを出力する。続いて、ステップS9で、FeRAM20は、インタフェ−ス部12にレディを通知する。
次に、ステップS2で、キャッシュ制御部14によって、アクセス対象の論理ブロックがFeRAM20内のブロックエントリに登録されていないと判別された場合は、ステップS10で、キャッシュ制御部14は、空きブロックエントリがあるか否かを判別する。ステップS10で、キャッシュ制御部14により、空きブロックエントリがない(登録されていない)と判別された場合は、ステップS11で、キャッシュ制御部14のライトバック機能15によって、適切な既存のブロックエントリのデ−タをNAND flash ROM18の該当ブロックに書き戻し処理であるライトバック処理(後述、詳細に説明する)が行われ、空き状態になったブロックエントリを新規割り当て用として使用する。なお、ライトバック処理は、ライトバック機能15部に委譲し、ブロックエントリの割り当て後の処理については前述の通りである。
一方、ステップS10で、キャッシュ制御部14により、空きブロックエントリがあると判別された場合は、ステップS12で、NAND flash ROM18アクセス制御部16により、アクセス対象の論理ブロックに対してNAND flash ROMの物理ブロックが割り当たっているか否かを判別する。ステップS12で、NAND flash ROM18アクセス制御部16により、アクセス対象の論理ブロックに対してNAND flash ROMの物理ブロックが割り当たっていないと判別された場合は、ステップS13で、空いている物理ブロックを割り当てる。この際、空いている物理ブロックの割り当て方法としては、「NAND flash ROM18の各物理ブロックの書き込み頻度に関する情報テ−ブルをFeRAM20内に用意し、最も書き込み回数が少ない物理ブロックを選択する」などがあるが、特に限定するものではない。
一方、ステップS12で、NAND flash ROM18アクセス制御部16により、アクセス対象の論理ブロックに対してNAND flash ROMの物理ブロックが割り当たっていると判別された場合は、ステップS14で、キャッシュ制御部14により、該当するブロックエントリの割り当てが行われる。
次に、上述したライトバック処理について、詳細に説明する。キャッシュ制御部14のライトバック機能15は、キャッシュ制御部14の補助的な役割を持っている。基本的な処理フロ−を図4に示す。
ステップS20で、ライトバック機能15は、割り当てられているブロックエントリを1つ選択し、ステップS22で、当該ブロックエントリのダ−ティビットが設定されているか否かを判別する。ステップS22で、当該ブロックエントリのダ−ティビットが設定されている(書き換えが行われている)と判別された場合、ステップS24で、ライトバック機能15は、FeRAM20に記憶されているデ−タをNAND flash ROM18の空き物理ブロックを選択し、ステップS26で、選択されたNAND flash ROM18の空き物理ブロックに書き込み(FeRAM20からNAND flash ROM18への書き戻し処理:ライトバック処理)を行う。続いて、ステップS28で、ライトバック機能15は、FeRAM20の情報テ−ブル領域22に記憶されている情報テ−ブルを更新し(ライトバック対象の物理ブロックアドレスを、実際の書き込んだ物理ブロックアドレスで上書きし、対応する論理ブロックのブロックエントリ情報を"未割り当て"とする)、空きブロックエントリを作成する。なお、ライトバック処理中の意図しない処理の中断については、次回のアクセス時に再度ライトバックが発生した時に正しく処理されることが保証される。
また、書き戻すブロックエントリの選択方法としては、「各ブロックエントリのアクセス頻度に関する情報テ−ブルやリストなどをFeRAM20内に用意し、最近のアクセスの中で最もアクセスが少ないブロックエントリを選択する。」などがあるが、特に限定するものではない。また、空き物理ブロックの選択方法としては、「NAND flash ROM18の空き物理ブロックに関する情報テ−ブルやリストなどをFeRAM20内に用意し、最も書き込み回数が少ない物理ブロックを選択する。」などがあるが、特に限定するものではない。
以上の構成により、耐障害性の向上電源切断などによりデ−タ書き込み処理が意図せずに停止したとしても、直接のデ−タアクセスはキャッシュメモリに対して行われるため、このキャッシュメモリに対して行われたデ−タ書き込みは、電源が供給されなくなっても保持される。また、ライトバック処理中の意図しない処理の中断が発生したとしても、キャッシュメモリ内に保持される情報テ−ブルの更新は、メインメモリとしてのフラッシュメモリの空きブロックヘの書き込み完了後に行われる。このため、情報テ−ブルの更新前にメインメモリ(フラッシュメモリ)には元のブロックのデ−タがそのまま残っており、デ−タが破壊されることがない。このように耐障害性の向上が期待できる。
また、デ−タ書き込み先をキャッシュメモリとすることにより、メインメモリ(フラッシュメモリ)の特性によっては発生する、巻き添えで移動するデ−タコピ−処理によるオ−バヘッドがなくなり、デ−タ書き込み速度の向上が期待できる。特に、頻繁に発生するブロックサイズ以下のデ−タ書き込みにおいては、非常に高いキャッシュ効果が期待できる。例えば、異なる複数ブロックへのブロックサイズより小さなサイズの書き込みが頻繁に行われる場合には、直接メインメモリ(フラッシュメモリ)にアクセスする際に小さなサイズの書き込み毎に一連のNAND flash ROMのブロック書き込み処理が発生するが、本発明の場合にはキャッシュヒット(キャッシュメモリ側に登録されているブロックエントリがアクセス対象である)する分だけ、メインメモリ(フラッシュメモリ)へのアクセスが減らされる。さらに具体例を挙げると、10ブロックに対してアクセスするブロックを変えながら、それぞれブロックに対して10000回書き込んだとする(その間は他のアクセス処理はないものとする)と、前者では10000回メインメモリ(フラッシュメモリ)への書き込みが発生するが、後者では(10ブロック分位ははキャッシュに含まれるという前提で)一度も書き込みが発生しないことになる。つまり、キャッシュメモリのアクセス性能でアクセス出来るとともに、メインメモリ(フラッシュメモリ)には書き込み処理がないので混載メモリシステムのほうがNAND flash ROM単体と比べると寿命が延びる。即ち、メインメモリとしてのフラッシュメモリヘの書き込みは、不揮発性メモリ内のブロックエントリのデ−タが書き戻される場合のみとなり、デ−タアクセスの時間的局所性と空間的局所性により、キャッシュヒットをすればするほどフラッシュメモリヘの書き込み頻度が低減し、書き込み回数に制限があるフラッシュメモリをより有効に使用できる。このように、必要があるまでメインメモリとしてのフラッシュメモリには書き込みが行われないため、従来技術(デ−タ書き込み時には、メインメモリ(フラッシュメモリ)のほうにも書き込みを行う技術)と異なる。
また、メインメモリとしてのフラッシュメモリのアクセスは、キャッシュ制御部が不揮発性メモリ内に保持される論理/物理アドレス変換テ−ブルを用いて制御するため、複雑なメインメモリ(フラッシュメモリ)のデ−タアクセスのインタフェ−スを隠し、他のよりシンプルなインタフェ−スに変換することができる。
(第2の実施形態)
次に、本発明に係る第2の実施形態について、図5を参照して説明する。なお、第1の実施形態と同様の構成は、同符号で示すことにより詳しい説明を前述に譲る。第1の実施形態との相違点は、キャッシュ制御部14がライトバック機能15に加え、プリフェッチ機能13を備えている点である。以下、このプリフェッチ機能13が行うプリフェッチ処理を中心に説明を行う。
次に、本発明に係る第2の実施形態について、図5を参照して説明する。なお、第1の実施形態と同様の構成は、同符号で示すことにより詳しい説明を前述に譲る。第1の実施形態との相違点は、キャッシュ制御部14がライトバック機能15に加え、プリフェッチ機能13を備えている点である。以下、このプリフェッチ機能13が行うプリフェッチ処理を中心に説明を行う。
図5は、本発明の第2の実施形態に係る不揮発性メモリを備えた装置として、例えばメモリカ−ドの構成を示したブロック図である。キャッシュ制御部14にプリフェッチ機能13をさらに備えている構成となっており、その他の構成は、第1の実施形態と同様である。このプリフェッチ機能13は、FeRAM20へのデ−タアクセスない空き時間を利用して、NAND flash ROM18からFeRAM20にキャッシュデ−タを効率的にファイルすることにより、キャッシュ効率を高めるものであり、キャッシュ制御部14の補助的な役割を持っている。
このプリフェッチ機能13が行うプリフェッチ処理について、図6のフロ−チャ−トを用いて説明する。
プリフェッチ機能13は、ステップS30で、インタフェ−ス部12からのデ−タアクセス要求(チップセレクトも含む)がキャッシュ制御部14に対して行われているか否かを判別する。ステップS30で、インタフェ−ス部12により、インタフェ−ス部12からのデ−タアクセス要求がキャッシュ制御部14に対して行われていないと判別された場合は、ステップS32で、プリフェッチ機能13は、FeRAM20のブロックエントリ領域21に記憶されているブロックエントリの無効属性が付いたペ−ジ区画があるか否かを判別する。ステップS32で、プリフェッチ機能13により、該当するペ−ジ区画があると判別された場合は、プリフェッチ機能13は、ステップS34で、FeRAM20のブロックエントリ領域21に記憶されているブロックエントリの無効属性が付いたペ−ジ区画を選択する。続いて、プリフェッチ機能13は、ステップS36で、選択されたペ−ジ区画に対して、NAND flash ROM18から該当するペ−ジデ−タを読み出して、ステップS38で、有効なデ−タを記憶し、ステップS40で、該当ペ−ジ区画のバリッドビットをセットする。
なお、バリッドビッドは、各ペ−ジ区画にデ−タを記憶する毎に、対応するバリッドビッドを更新する。また、有効デ−タを埋め込むペ−ジ区画の選択方法としては、「各ブロックエントリのアクセス頻度に関する情報テ−ブルやリストなどをFeRAM20内に用意し、最も最近アクセスがあったブロックエントリの順に、それぞれ若いアドレス順にペ−ジ区画を選択する。」などがあるが、特に限定するものではない。
以上の構成により、第1の実施形態の効果に加え、FeRAMのキャッシュ効率を高めることができ、アクセス速度をさらに向上させることができる。
なお、本発明は、NAND flash ROMとFeRAMの組み合わせに限定されることなく、特許請求の範囲に記載された発明の範囲内で、他の不揮発性メモリ等を用いるなど、他の種々の変更が可能であり、それらも本発明の範囲内に含有されるものであることは言うまでもない。さらに、メモリモジュ−ルやメモリコントロ−ラをメモリカ−ドに組み込んで使用するため、一般的なメモリカ−ドが有する特長や利点(扱い安さ、耐久性向上等)を有することはもちろんである。
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
10…メモリカ−ド、11…メモリモジュ−ル、12…インタフェ−ス部、13…プリフェッチ機能、14…キャッシュ制御部、15…ライトバック機能、16…NAND flash ROMアクセス制御部、17…ECC計算機能、18…NAND flash ROM、20…FeRAM、21…ブロックエントリ領域、22…情報テ−ブル領域
Claims (5)
- メインメモリとして用いられる第1の不揮発性メモリと、前記第1の不揮発性メモリのキャッシュメモリとして用いられる第2の不揮発性メモリとを備えたことを特徴とする、不揮発性メモリを備えた装置。
- メインメモリとして用いられる第1の不揮発性メモリと、前記第1の不揮発性メモリよりも小容量でかつ前記第1の不揮発性メモリの書き込み回数の制限より制限回数が大きく、書き込み単位がより小さい前記メインメモリのキャッシュメモリとして用いられる第2の不揮発性メモリとを備えたことを特徴とする、不揮発性メモリを備えた装置。
- メインメモリとして用いる第1の不揮発性メモリと、前記メインメモリよりも小容量でかつ前記メインメモリの書き込み回数の制限より制限回数が大きく、書き込み単位がより小さい前記メインメモリのキャッシュメモリとして用いる第2の不揮発性メモリと、これらのメモリを制御するメモリコントロ−ラとを備えた装置であって、
前記メモリコントロ−ラは、前記第2の不揮発性メモリに記憶されている情報テ−ブルにアクセスし、当該情報テ−ブルに基づいて、前記第1の不揮発性メモリに記憶されているデ−タを前記第2の不揮発性メモリにロ−ドし、前記第2の不揮発性メモリを介して求めるデ−タを得ることを特徴とする、不揮発性メモリを備えた装置。 - 第1の不揮発性メモリをメインメモリとし、前記メインメモリよりも小容量でかつ前記メインメモリの書き込み回数の制限より制限回数が大きく、書き込み単位がより小さい第2の不揮発性メモリを前記メインメモリのキャッシュメモリとして用いるメモリ構成を制御するメモリコントロ−ラであって、
前記第2の不揮発性メモリに記憶されている情報テ−ブルにアクセスし、当該情報テ−ブルに基づいて、前記第1の不揮発性メモリに記憶されているデ−タを前記第2の不揮発性メモリにロ−ドし、前記第2の不揮発性メモリを介して求めるデ−タを得ることを特徴とするメモリコントロ−ラ。 - 前記第2の不揮発性メモリにアクセスがない空き時間に、前記第1の不揮発性メモリに記憶されているデ−タを前記第2の不揮発性メモリにロ−ドすることを特徴とする請求項4に記載のメモリコントロ−ラ。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004115701A JP2005301591A (ja) | 2004-04-09 | 2004-04-09 | 不揮発性メモリを備えた装置及びメモリコントロ−ラ |
US11/101,440 US20070016719A1 (en) | 2004-04-09 | 2005-04-08 | Memory device including nonvolatile memory and memory controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004115701A JP2005301591A (ja) | 2004-04-09 | 2004-04-09 | 不揮発性メモリを備えた装置及びメモリコントロ−ラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005301591A true JP2005301591A (ja) | 2005-10-27 |
Family
ID=35333058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004115701A Abandoned JP2005301591A (ja) | 2004-04-09 | 2004-04-09 | 不揮発性メモリを備えた装置及びメモリコントロ−ラ |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070016719A1 (ja) |
JP (1) | JP2005301591A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006236304A (ja) * | 2004-10-27 | 2006-09-07 | Sony Corp | 記憶装置および情報処理システム |
JP2008134685A (ja) * | 2006-11-27 | 2008-06-12 | Konica Minolta Business Technologies Inc | 不揮発メモリシステム及び不揮発メモリ制御方法 |
KR100881823B1 (ko) | 2007-08-31 | 2009-02-03 | 주식회사 하이닉스반도체 | 불휘발성 강유전체 메모리를 포함하는 rfid 장치 |
JP2009026062A (ja) * | 2007-07-19 | 2009-02-05 | Tdk Corp | メモリコントローラ、メモリシステム及びメモリ制御方法 |
JP2009211217A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP2009537921A (ja) * | 2006-05-22 | 2009-10-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | リモート・プリフェッチ・バッファを提供するためのシステム及び方法 |
US7787297B2 (en) | 2007-04-27 | 2010-08-31 | Samsung Electronics Co., Ltd. | Flash memory device and flash memory system |
JP2011159267A (ja) * | 2010-02-03 | 2011-08-18 | Agile Patch Solutions Inc | 取替え可能な複数の不揮発メモリを装着したメモリ・システム |
JP2014021752A (ja) * | 2012-07-19 | 2014-02-03 | Toshiba Corp | 半導体記憶装置 |
JP2014154168A (ja) * | 2013-02-07 | 2014-08-25 | Seagate Technology Llc | データ記憶装置およびデータを記憶するための方法 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006338370A (ja) * | 2005-06-02 | 2006-12-14 | Toshiba Corp | メモリシステム |
US8171192B2 (en) * | 2005-09-20 | 2012-05-01 | Qualcomm Incorporated | Hardware-assisted device configuration detection |
JP4356686B2 (ja) * | 2005-12-01 | 2009-11-04 | ソニー株式会社 | メモリ装置及びメモリ制御方法 |
US7406560B2 (en) * | 2006-06-21 | 2008-07-29 | Intel Corporation | Using multiple non-volatile memory devices to store data in a computer system |
US7865761B1 (en) * | 2007-06-28 | 2011-01-04 | Emc Corporation | Accessing multiple non-volatile semiconductor memory modules in an uneven manner |
TWI344085B (en) * | 2007-11-15 | 2011-06-21 | Genesys Logic Inc | Storage system for improving efficiency in accessing flash memory and method for the same |
US8285940B2 (en) * | 2008-02-29 | 2012-10-09 | Cadence Design Systems, Inc. | Method and apparatus for high speed cache flushing in a non-volatile memory |
WO2009107393A1 (ja) * | 2008-02-29 | 2009-09-03 | パナソニック株式会社 | アクセス装置、情報記録装置、コントローラ、及び情報記録システム |
US8966155B1 (en) * | 2008-04-01 | 2015-02-24 | Daniel P. Mulligan | System and method for implementing a high performance data storage system |
JP5189887B2 (ja) * | 2008-04-28 | 2013-04-24 | ローム株式会社 | 強誘電体メモリ装置およびその動作方法 |
US20090290458A1 (en) * | 2008-05-23 | 2009-11-26 | Tai-Liang Lin | Method of updating disc information of optical disc |
CN101334758B (zh) * | 2008-07-03 | 2011-09-07 | 国民技术股份有限公司 | 用于嵌入式系统扩展存储空间的装置和方法 |
KR20100016987A (ko) * | 2008-08-05 | 2010-02-16 | 삼성전자주식회사 | 상 변화 메모리를 포함하는 컴퓨팅 시스템 |
JP2010097633A (ja) * | 2008-10-14 | 2010-04-30 | Toshiba Corp | 半導体記憶装置 |
JP2010157130A (ja) * | 2008-12-27 | 2010-07-15 | Toshiba Corp | メモリシステム |
JP5002629B2 (ja) * | 2009-08-28 | 2012-08-15 | 株式会社東芝 | メモリシステム |
US8259745B2 (en) | 2010-03-29 | 2012-09-04 | Intel Corporation | Enhanced carrier sensing for multi-channel operation |
JP2012128643A (ja) | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
JP2013097416A (ja) * | 2011-10-28 | 2013-05-20 | Hitachi Ltd | 記憶装置および計算機 |
US9251055B2 (en) | 2012-02-23 | 2016-02-02 | Kabushiki Kaisha Toshiba | Memory system and control method of memory system |
US10296468B2 (en) * | 2014-02-05 | 2019-05-21 | Hitachi, Ltd. | Storage system and cache control apparatus for storage system |
US9946471B1 (en) * | 2015-03-31 | 2018-04-17 | EMC IP Holding Company LLC | RAID groups based on endurance sets |
TWI639917B (zh) * | 2017-04-25 | 2018-11-01 | 慧榮科技股份有限公司 | 資料儲存裝置及映射表重建方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5535328A (en) * | 1989-04-13 | 1996-07-09 | Sandisk Corporation | Non-volatile memory system card with flash erasable sectors of EEprom cells including a mechanism for substituting defective cells |
US5930167A (en) * | 1997-07-30 | 1999-07-27 | Sandisk Corporation | Multi-state non-volatile flash memory capable of being its own two state write cache |
US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
US6263398B1 (en) * | 1998-02-10 | 2001-07-17 | Ramtron International Corporation | Integrated circuit memory device incorporating a non-volatile memory array and a relatively faster access time memory cache |
US7275135B2 (en) * | 2001-08-31 | 2007-09-25 | Intel Corporation | Hardware updated metadata for non-volatile mass storage cache |
US20050251617A1 (en) * | 2004-05-07 | 2005-11-10 | Sinclair Alan W | Hybrid non-volatile memory system |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
-
2004
- 2004-04-09 JP JP2004115701A patent/JP2005301591A/ja not_active Abandoned
-
2005
- 2005-04-08 US US11/101,440 patent/US20070016719A1/en not_active Abandoned
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006236304A (ja) * | 2004-10-27 | 2006-09-07 | Sony Corp | 記憶装置および情報処理システム |
US9317424B2 (en) | 2004-10-27 | 2016-04-19 | Sony Corporation | Storage device and information processing system |
US8904096B2 (en) | 2004-10-27 | 2014-12-02 | Sony Corporation | Storage device and information processing system |
US8554982B2 (en) | 2004-10-27 | 2013-10-08 | Sony Corporation | Storage device and information processing system |
JP2009537921A (ja) * | 2006-05-22 | 2009-10-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | リモート・プリフェッチ・バッファを提供するためのシステム及び方法 |
JP2008134685A (ja) * | 2006-11-27 | 2008-06-12 | Konica Minolta Business Technologies Inc | 不揮発メモリシステム及び不揮発メモリ制御方法 |
US7787297B2 (en) | 2007-04-27 | 2010-08-31 | Samsung Electronics Co., Ltd. | Flash memory device and flash memory system |
US8300465B2 (en) | 2007-04-27 | 2012-10-30 | Samsung Electronics Co., Ltd. | Semiconductor and flash memory systems |
JP2009026062A (ja) * | 2007-07-19 | 2009-02-05 | Tdk Corp | メモリコントローラ、メモリシステム及びメモリ制御方法 |
US8319642B2 (en) | 2007-08-31 | 2012-11-27 | Hynix Semiconductor Inc. | Radio frequency identification device having nonvolatile ferroelectric memory |
KR100881823B1 (ko) | 2007-08-31 | 2009-02-03 | 주식회사 하이닉스반도체 | 불휘발성 강유전체 메모리를 포함하는 rfid 장치 |
JP2009211217A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
US8225047B2 (en) | 2008-03-01 | 2012-07-17 | Kabushiki Kaisha Toshiba | Memory system with pre-fetch operation |
JP4643667B2 (ja) * | 2008-03-01 | 2011-03-02 | 株式会社東芝 | メモリシステム |
JP2011159267A (ja) * | 2010-02-03 | 2011-08-18 | Agile Patch Solutions Inc | 取替え可能な複数の不揮発メモリを装着したメモリ・システム |
JP2014021752A (ja) * | 2012-07-19 | 2014-02-03 | Toshiba Corp | 半導体記憶装置 |
JP2014154168A (ja) * | 2013-02-07 | 2014-08-25 | Seagate Technology Llc | データ記憶装置およびデータを記憶するための方法 |
US9076530B2 (en) | 2013-02-07 | 2015-07-07 | Seagate Technology Llc | Non-volatile write buffer data retention pending scheduled verification |
KR101563482B1 (ko) | 2013-02-07 | 2015-10-27 | 시게이트 테크놀로지 엘엘씨 | 스케줄링된 검증을 보류하는 비휘발성 기록 버퍼 데이터 유지 |
Also Published As
Publication number | Publication date |
---|---|
US20070016719A1 (en) | 2007-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005301591A (ja) | 不揮発性メモリを備えた装置及びメモリコントロ−ラ | |
US9189325B2 (en) | Memory system and operation method thereof | |
JP4844639B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8180955B2 (en) | Computing systems and methods for managing flash memory device | |
JP4524309B2 (ja) | フラッシュメモリ用のメモリコントローラ | |
US8316257B2 (en) | NAND power fail recovery | |
KR101121698B1 (ko) | 반도체 기억 장치 및 기억 제어 방법 | |
JP5336060B2 (ja) | 不揮発性メモリ装置およびそれを動作させる方法 | |
JP4871260B2 (ja) | メモリモジュール、メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリの読み書き方法 | |
JP2012203443A (ja) | メモリシステムおよびメモリシステムの制御方法 | |
JP2007199905A (ja) | 半導体記憶装置の制御方法 | |
TWI473100B (zh) | Flash memory system and its operation method | |
US20130013885A1 (en) | Memory storage device, memory controller, and method for identifying valid data | |
JP2011242833A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8527733B2 (en) | Memory system | |
JP2009116465A (ja) | 記憶装置及びメモリ制御方法 | |
JP4621749B2 (ja) | メモリシステム | |
JP2006099802A (ja) | 記憶制御装置およびキャッシュメモリの制御方法 | |
JP2008197981A (ja) | 半導体記憶装置 | |
JP2010152778A (ja) | 半導体記憶装置 | |
JP2007233838A (ja) | メモリシステムの制御方法 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4710918B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4703673B2 (ja) | メモリシステム | |
JP2013196155A (ja) | メモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060704 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20071221 |