JP3550293B2 - 不揮発性メモリを用いた高速書換可能な記憶装置および該記憶装置のデータ書換方法 - Google Patents
不揮発性メモリを用いた高速書換可能な記憶装置および該記憶装置のデータ書換方法 Download PDFInfo
- Publication number
- JP3550293B2 JP3550293B2 JP35984097A JP35984097A JP3550293B2 JP 3550293 B2 JP3550293 B2 JP 3550293B2 JP 35984097 A JP35984097 A JP 35984097A JP 35984097 A JP35984097 A JP 35984097A JP 3550293 B2 JP3550293 B2 JP 3550293B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- rewritable nonvolatile
- nonvolatile memory
- writing
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Description
【発明の属する技術分野】
本発明は、格納データの書換時に消去動作を必要とする書換可能な不揮発性メモリを有する記憶装置およびそのデータ書換方法に係り、特に、記憶装置へのデータ書換速度の向上を実現する記憶装置およびそのデータ書換方法に関する。
【0002】
【従来の技術】
記憶内容を電気的に書き換えること可能でかつ電源を切っても記憶内容が消滅しない電気的書換可能不揮発性メモリは、主に情報処理装置の記憶装置として広く利用されている。
書換可能不揮発性メモリの中には、一旦データを消去してから新たなデータを書き込む処理を行うことによって、データの書換えを行うものがある。このような手順でデータの書換えを行う場合、データの消去とデータの書込みの2段階の動作が必要であり、完全に書換えが終了するまでに多くの時間がかかるという問題がある。
【0003】
このような問題を解決するため、従来より様々な技術が提案されている。
例えば、特開平5−27924号公報に開示された技術では、書換可能不揮発性メモリにデータを書き込む前に一時的にデータを記憶するバッファメモリを設けることにより見かけの書換速度を向上している。
【0004】
【発明が解決しようとする課題】
上記従来技術のように一時的にデータを記憶するバッファメモリを備えることにより書換速度を向上させる場合、一度に複数の書換可能不揮発性メモリチップに書換えを行うことが可能となる。つまり、一時的にバッファメモリに記憶したデータを複数のチップに送り込み、同時に書込処理を実行することによって、理論的には書込みに費やす時間をチップ数分の1に短縮することができる。
【0005】
しかし、多くの書換可能不揮発性メモリを並列に動作させバッファメモリに記憶したデータを複数のメモリチップに同時に書き込むには、その分多くのバッファメモリが必要となる。なぜなら、メモリチップに書き込んだデータは書込みが正常に終了するまでバッファメモリに残しておかないと、万が一書込みが失敗した場合、書込データが失われてしまうこととなる。このような書込データの消失を無くすためには、結局書込処理を行っているチップ数分のバッファメモリが必要になる。
【0006】
以上の手法によれば、メモリチップへの書込時間を短縮するためには、バッファメモリの増加に伴い、装置のコストが上昇したり、装置の大きさや重量の増大、消費電力の増加などの様々な弊害が生まれる。
【0007】
このような問題点に鑑み、本発明の目的は、上記弊害がないよう、バッファメモリを増加させることなく、メモリチップの特性に合わせた高効率の書換処理を行うことによって、書換時間の短縮を図ることにある。
【0008】
【課題を解決するための手段】
本発明は、上記目的を達成するために、データ書換時に消去動作が必要な書換可能不揮発性メモリを有し、前記書換可能不揮発性メモリに格納されたデータを書き換える処理をブロック単位で扱う記憶装置において、連続した複数のデータブロックを書き換えるときに、あるメモリブロックへの書込動作と並行して、次に書換えを行う他のメモリブロックの消去動作を実行するようにした。
【0009】
本発明は、データ書換時に消去動作が必要な書換可能不揮発性メモリを有し、前記書換可能不揮発性メモリに格納されたデータを書き換える処理をブロック単位で扱う記憶装置において、前記書換可能不揮発性メモリにデータを書き込む前に一時的に書込データを記憶するデータ格納手段と、連続した複数ブロックの書換時に、前記データ格納手段に格納されたデータの一部または全てを前記書換可能不揮発性メモリに転送することにより、あるブロックの書込動作を実行し、それと並行して、次に書換えを行う他のブロックの消去を実行するデータ書換制御手段とを備えた。
【0010】
さらに、本発明は、上記記憶装置において、書込みを行ったメモリブロックが不良であり、書込みが正常に終了しなかった場合には、データ格納手段の格納データを別のブロックへ転送して書込処理を実行するようにした。
【0011】
本発明は、データ書換時に消去動作が必要な書換可能不揮発性メモリを有し、前記書換可能不揮発性メモリに格納されたデータを書き換える処理をブロック単位で扱う記憶装置において、前記書換可能不揮発性メモリにデータを書き込む前に一時的に書込データを記憶するデータ格納手段と、書換可能不揮発性メモリの特定のチップの特定のメモリブロックを消去する書換可能不揮発性メモリ消去手段と、前記データ格納手段に格納されたデータを書換可能不揮発性メモリの特定のチップの特定のメモリブロックに転送して書込みを行うデータ書込手段と、前記メモリ記消去手段と前記データ書込手段を制御して1以上のメモリブロックのデータを書換可能不揮発性メモリに格納する書換制御手段とを有し、連続した複数のデータブロックで前記メモリブロックを書き換えるときに、前記書換制御手段が、
(1)書換えを行うデータをデータ格納手段に格納すると同時に、書換えを行う対象となる書換可能不揮発性メモリのメモリブロックの内容を消去する制御
(2)消去が完了した書換可能不揮発性メモリのメモリブロックにデータ格納手段に格納されたデータを転送して書込みを行うと同時に、書込みを行っていない別のチップ内の次に書換えを行う対象となるメモリブロックの消去を行う制御
(3)書込みが正常に終了したら次に書き込むデータをデータ格納手段に格納する制御
(4)以下、連続した複数のメモリブロックの書換えが全て終了するまで前記(2)および(3)の処理を繰り返し実行する制御
を実行するようにした。
【0012】
また、上記課題を解決するために、本発明は、データ書換時に消去動作が必要な書換可能不揮発性メモリを有し、前記書換可能不揮発性メモリに格納されたデータを書き換える処理をブロック単位で扱う記憶装置のデータ書換方法において、連続した複数のデータブロックを書き換えるときに、あるメモリブロックへの書込動作と並行して、次に書換えを行う他のメモリブロックの消去動作を実行する。
【0013】
本発明は、データ書換時に消去動作が必要な書換可能不揮発性メモリと、データ格納手段と、データ書換制御手段を有し、前記書換可能不揮発性メモリに格納されたデータを書き換える処理をブロック単位で扱う記憶装置のデータ書換方法において、前記書換可能不揮発性メモリにデータを書き込む前にデータ格納手段に一時的に書込データを記憶し、連続した複数ブロックの書換時に、データ格納手段に格納されたデータの一部または全てを前記書換可能不揮発性メモリに転送して、あるメモリブロックの書込動作を実行するとともに、この書込動作と並行して、次に書換えを行う他のブロックの消去を実行する。
【0014】
本発明は、上記記憶装置のデータ書換方法において、書込みを行ったメモリブロックが不良であり、書込みが正常に終了しなかった場合に、データ格納手段の格納データを別のブロックへ転送して書込処理を実行する。
【0015】
本発明は、データ書き換え時に消去動作が必要な書換可能不揮発性メモリと、データ格納手段と、書換可能不揮発性メモリ消去手段と、データ書込手段と、書換制御手段とを有し、前記書換可能不揮発性メモリに格納されたデータを書き換える処理をブロック単位で扱う記憶装置のデータ書換方法において、前記書換可能不揮発性メモリにデータを書き込む前に前記データ格納手段に一時的に書込データを記憶し、書換えを行うデータを前記データ格納手段に格納すると同時に、書換えを行う対象となる書換可能不揮発性メモリのメモリブロックを消去し、消去が完了した書換可能不揮発性メモリのメモリブロックに前記データ格納手段に格納されたデータを転送して書込みを行うと同時に、書込みを行っていない別のチップ内の次に書換えを行う対象となるメモリブロックの内容を消去し、書込みが正常に終了したら次に書き込むデータを前記データ格納手段に格納する。
【0016】
【発明の実施の形態】
以下、本発明にかかる記憶装置の実施形態を図面を参照して説明する。
図1に、本発明を実現する記憶装置の一構成例を示す。図中、書換可能な不揮発性メモリを有する記憶装置1は、記憶装置1の各部及びホストシステムとのインターフェイスを制御する制御手段10と、複数の書換可能不揮発性メモリ30と、一時的にデータを格納するバッファメモリ20とを有して構成され、システムバス2を介して図示を省略したホストシステムに接続されている。
さらに制御手段10は、書換制御手段11と、不揮発性メモリ消去手段12と、データ書込手段13とを有して構成される。
【0017】
制御手段10は、記憶装置1の各部およびホストシステムとのインターフェイスを制御する。
バッファメモリ20は、ホストシステムが書換可能不揮発性メモリ30に対する書換えをはじめとする、ホストシステムと書換可能不揮発性メモリとの間のデータのやりとりや、書換可能不揮発性メモリ30の格納データを移動したりする際に、一時的にデータを格納するデータ格納手段として働く。
書換可能不揮発性メモリ30は、例えば、電気的に書換可能なROMからなる書換可能な不揮発性メモリを用いて構成される。
システムバス2は、図示を省略したホストシステムとデータや制御信号をやりとりする際に使用する。
【0018】
書換御手段11は、書換可能不揮発性メモリ消去手段12とデータ書込手段13を制御して1以上のブロックのデータを書換可能不揮発性メモリ30に格納する書換制御機能を達成する。
書換可能不揮発性メモリ消去手段12は、書換可能不揮発性メモリ30の特定のチップの特定のメモリブロックを消去する書換可能不揮発性メモリ消去機能を達成する。
データ書込手段13は、バッファメモリ20に格納されたデータを書換可能不揮発性メモリ30の特定のチップの特定のメモリブロックに転送して書込みを行うデータ書込機能を達成する。
【0019】
システムバス2は、ホストシステム側に布設されている。ホストシステムがシステムバス2を通してデータのアクセス要求を記憶装置1に送ると、これを受けた記憶装置1内の制御手段10は、アクセス要求の内容と対応するデータが格納されている書換可能不揮発性メモリ30上の物理的な位置(メモリブロック)を割り出し、バッファメモリ20を適宜利用してホストのアクセス要求に応えていく。
【0020】
図2を用いて、図1に示した記憶装置1内において、書換可能不揮発性メモリ30に書き込まれるデータの経路を特に取り出して説明する。
それぞれの書換可能不揮発性メモリ内のメモリブロックに格納されたデータを書換える際には、一群のデータの単位で一度に書換えを行う。以下、この書換単位毎に書き換えられる書換可能不揮発性メモリ内の記憶領域の単位をメモリブロックと呼ぶ。
書換可能不揮発性メモリ30は、複数の書換可能不揮発性メモリ31,32から構成される。それぞれの書換可能不揮発性メモリ31,32には、複数のメモリブロック310,311〜、320,321〜がそれぞれ順序よく配列される。
【0021】
バッファメモリ20は、図1に示したバッファメモリ20と同一のものであるが、ここでは特にデータ転送に用いるデータバッファとして機能する転送バッファメモリとする。
転送バッファメモリ20と書換可能不揮発性メモリ31,32とは、データバス14を介して結ばれている。このデータバス14を通して、バッファメモリ20から書換可能不揮発性メモリ31,32へデータの転送を行う。
システムバス2は、制御手段10を通したシステムのデータバスとしても働き、記憶装置1のローカルバスといえる。
【0022】
なお、図2では、制御手段10が2つの書換可能不揮発性メモリ31,32を制御する例を示しているが、一般的には制御手段10が制御する書換可能不揮発性メモリは2つである必要はなく、さらに増加しても構わない。
【0023】
例えば、図3に示すように、内部データバス14を通して3つの書換可能不揮発性メモリ31,32,33を並列に接続することができる。このようにして、並列処理する書換可能不揮発性メモリの数を増やすことによって、メモリチップへの書込処理をより多く並列に実行することが可能となるので、書込性能を向上させることができる。
【0024】
図1および図2に示した記憶装置1による、書換可能不揮発性メモリ内のデータ書換処理の順序を、図4を用いて説明する。
図において、上段は書換可能不揮発性メモリ31に対する処理を示し、下段は書換可能不揮発性メモリ32に対する処理を示している。
それぞれの処理は、システムバス2から転送バッファメモリ20へ1ブロック分のデータ(以下、データブロックという)を転送する転送処理41と、書換可能不揮発性メモリ31,32内のメモリブロックに既に書き込まれているデータを消去する消去処理42と、バッファメモリ20からデータバス14を通して書換可能不揮発性メモリ31,32へ1データブロック分のデータを転送する転送処理43と、書換可能不揮発性メモリ31,32へ転送されたデータを各メモリブロックに書き込む書込処理44とがあり、それぞれの処理に要する時間がその長さで示されている。
なお、転送処理41〜書換処理44の時間の幅は実際に要する時間に比例して示されているわけではない。また、転送処理41〜書換処理44の処理時間はそれぞれ常に一定であるとは限らない。
さらに、「書き込み」とは消去されたブロックに新しいデータを格納することを意味し、「書き換え」は「消去」を実行した後に「書き込み」を実行して完了するものとする。
【0025】
まず、ホストシステムから、記憶装置1に対して連続した2データブロック以上のデータD1〜Dnの書換要求が発生した場合を考える。
1ブロック目のデータD1をシステムバス2を介して転送バッファメモリ20に格納する転送処理41が実行される(処理1)。
制御手段10は、現在バッファメモリ20に格納されているデータと置き変えられるメモリブロックの物理的な位置(メモリブロック)を割り出す。この実施の形態では、この置き変えられるメモリブロック310が第1の書換可能不揮発性メモリ31内にあるとする。
制御手段10は、第1の書換可能不揮発性メモリ31に命令を出して、このブロック310に既に格納されているデータD00−1を消去する消去処理42を実行する(処理2)。
【0026】
処理2によるデータの消去が終了したことを確認すると、制御手段10はバッファメモリ20内のデータD1を書換可能不揮発性メモリ31へ転送する転送処理43を実行し(処理3)、それに引き続いてデータD1をメモリブロック310へ書き込む書込処理44を実行する(処理4)。
制御手段10は、処理4が完全に終了したことを確認するまでバッファ20内のデータD1を消去せずに保持しておく。こうすることによって、処理3の転送処理43または処理4の書込処理44の実行中に、記憶装置1内で何らかのエラーが発生して書換動作が中断しても、データD1がバッファ20内に保存されているので書換可能不揮発性メモリを再び書き直すことが可能となる。
【0027】
制御手段10は、最初のデータブロックD1のメモリブロック310への書込処理44(処理4)が終了するまでに、2番目に書換えを行うメモリブロック320の物理的な位置を割り出し、このメモリブロックに既に格納されているデータD00−2を消去する処理42を実行しておく(処理5)。
ここで、連続したメモリブロックを、予め第1の書換可能不揮発性メモリ31と第2の書換可能不揮発性メモリ32に交互に割り当てておく。こうすることによって、一方のメモリブロックへの書込処理と並行して、次に書き換えるメモリブロックの消去を行うことができる。
【0028】
最初のメモリブロック310へのデータブロックD1の書込みが正常に終了すると、2番目のメモリブロック320へのデータD2をシステムバス2を通じてバッファメモリ20へ転送する転送処理41を実行する(処理6)。
最初のブロック310への書込みと違い、今回は書き込むメモリブロック320に既に格納されているデータD00−2の消去を既に完了しているので、即座にバッファメモリ20の内容D2を第2の書換可能不揮発性メモリ32のメモリブロック320へ転送する転送処理43を実行することができ(処理7)、引き続いて該メモリブロック320へデータD2を書き込む書込処理44を実行する(処理8)。
処理8における書込処理44が完全に終了するまで、バッファメモリ20内のデータD2は消去せずに保持しておく。
【0029】
制御手段10は、メモリブロック320の書込処理44(処理8)が終了するまでに、3番目に書替えを行うメモリブロック311の物理的な位置を割り出し、このブロックに既に格納されているデータD01−1を消去する消去処理42を実行しておく(処理9)。
メモリブロック320へのデータブロックD2の書込みが正常に終了したことを確認すると、バッファメモリ20へデータブロックD3を転送する転送処理41を実行し(処理10)、データD3を第1の書換可能不揮発性メモリ31のメモリブロック311へ転送する転送処理41(処理11)と、引き続き該データD3をメモリブロック311へ書き込む書込処理43(処理12)を順次実行する。
4番目のデータブロックD4をメモリブロック321へ書き換える処理についても同様の処理(処理13〜)が行われる。以下、順次メモリブロック322〜の内容が書き換えられる。
【0030】
以上の処理によって、通常の単純な書換処理においては、図4に示した4ブロック分のデータD1〜D4を書き込む場合には、書換可能不揮発性メモリ30の消去処理42が4回、書換可能不揮発性メモリ30への書込処理44が4回、そして、バッファメモリ20へのデータ転送処理41および不揮発性メモリ30へのデータ転送処理43が合計8回実行されることが必要であるが、図4より明らかなように、書込処理44時に並行して消去処理42を実行することができるので、書換可能不揮発性メモリ30の消去処理42を4回、書換可能不揮発性メモリ30への書込処理44を1回、データ転送処理41,43を合計8回をそれぞれ実行する時間で一連のデータの書換処理を実行することが可能となる。そして、この処理を実行するために必要な転送バッファメモリ20は1データブロック分の容量しか必要としていない。
【0031】
図5を用いて、本発明にかかる記憶装置1の別の実施の形態を説明する。
この実施の形態にかかる記憶装置1は、複数の群に分けられた第1の書換可能不揮発性メモリ31,第3の書換可能不揮発性メモリ33、および第2の書換可能不揮発性メモリ32,第4の書換可能不揮発性メモリ34と、1データブロックの容量のデータを記憶することができる格納手段である第1のバッファメモリ201および第2のバッファメモリ202から構成されるバッファメモリ20と、第1のバッファメモリ201と第1の書換可能不揮発性メモリ31および第3の書換可能不揮発性メモリ33を結ぶデータバス141と、第2のバッファメモリ202と第2の書換可能不揮発性メモリ32および第4の書換可能不揮発性メモリ34を結ぶデータバス142とから構成され、システムバス2を介して図示を省略したホストシステムに接続される。
【0032】
各書換可能不揮発性メモリ31〜34には、それぞれ複数のメモリブロック310,311〜、320,321〜、330,331〜、340,341〜が設けられる。
【0033】
図6は、図5に示した構成の記憶装置1内で、書換動作が行われるときの処理の順序を示す。図5に示した記憶装置1は、図3に示した記憶装置1に比べバッファメモリを1つ加えて、同時に2メモリブロックを並行して書換動作することを可能とした点に特徴を有している。
図において、上段は第1の書換可能不揮発性メモリ31および第2の書換可能不揮発性メモリ32に対する処理を示し、下段は第3の書換可能不揮発性メモリ33および第4の書換可能不揮発性メモリ34に対する処理を示している。
【0034】
それぞれの処理は、システムバス2から転送バッファメモリ20の第1のバッファメモリ201と第2のバッファメモリ202へそれぞれ1データブロック分のデータを転送する転送処理41と、書換可能不揮発性メモリ31,32または書換可能不揮発性メモリ33,34内の各メモリブロックに書き込まれているデータを消去する消去処理42と、バッファメモリ20の第1のバッファメモリ201からデータバス141を通して第1の書換可能不揮発性メモリ31または第3の書換可能不揮発性メモリ33のメモリブロックへ、第2のバッファメモリ202からデータバス142を通して第2の書換可能不揮発性メモリ32または第4の書換可能不揮発性メモリ34のメモリブロックへそれぞれ1データブロック分のデータを転送する転送処理43と、書換可能不揮発性メモリ31〜34へ転送されたデータを各メモリブロックに書き込む書込処理44とがあり、それぞれの処理に要する時間がその長さで示されている。
【0035】
なお、転送処理41〜書換処理44の処理時間の幅は実際に要する時間に比例して示されているわけではない。また、転送処理41〜書換処理44の処理時間は常に一定であるとは限らない。さらに、「書き込み」とは消去されたブロックに新しいデータを格納することを意味し、「書き換え」は「消去」を実行した後に「書き込み」を実行して完了するものとする。
【0036】
ホストシステムから、この記憶装置1に対して連続した4ブロック以上のデータD1〜Dnの書換要求が発生した場合を考える。
まず、1ブロック目のデータD1と2ブロック目のデータD2を、システムバス2を通ってバッファメモリ20の第1のバッファメモリ201と第2のバッファメモリ202に格納する転送処理41を実行する(処理1)。
このとき1データブロック目のデータD1は第1のバッファメモリ201に、2データブロック目のデータD2は第2のバッファメモリ202に格納されるとする。
【0037】
制御手段10は、現在バッファメモリ20に格納されているデータと置き換えられるメモリブロックの物理的な位置を割り出す。ここでは、この置き換えられるメモリブロックは第1の書換可能不揮発性メモリ31内のメモリブロック310と第2の書換可能不揮発性メモリ32内のメモリブロック320であるとする。制御手段10は、第1の書換可能不揮発性メモリ31と第2の書換可能不揮発性メモリ32に命令を出して、このメモリブロック310,320に既に格納されているデータ(D00−1,D00−2)を消去する消去処理42を実行する(処理2)。
【0038】
書き換えられるメモリブロックのデータ消去が終了したことを確認すると、制御手段10は、バッファメモリ20の第1のバッファメモリ201内のデータD1をデータバス141を介して第1の書換可能不揮発性メモリ31のメモリブロック310へ、バッファメモリ20の第2のバッファメモリ202内のデータD2をデータバス142を介して第2の書換可能不揮発性メモリ32のメモリブロック320へ転送する転送処理43を実行し(処理3)、引き続いてそれぞれのデータD1,D2をそれぞれのメモリブロックへ書き込む書込処理44を実行する(処理4)。
【0039】
制御手段10は、データD1,D2をそれぞれメモリブロック310,320へ書き込む処理(処理4)が完全に終了したことを確認するまでバッファ20の第1のバッファメモリ201および第2のバッファメモリ202内のデータD1,D2を消去せずに保持しておく。こうすることによって、転送処理43(処理3)または書込処理44(処理4)の実行中に、記憶装置1内で何らかのエラーが発生して書換動作が中断しても、再び書き直しが可能になる。
【0040】
制御手段10は、最初の2データブロックのデータD1,D2の書込処理44(処理4)が終了するまでに、次に書替えを行う第3の書換可能不揮発性メモリ33および第4の書換可能不揮発性メモリ34のメモリブロック330,340の物理的な位置を割り出し、このメモリブロックに既に格納されているデータ(D00−3,D00−4)を消去する消去処理42を実行しておく(処理5)。
ここで、連続したメモリブロックは、必ず第1の書換可能不揮発性メモリ31から第4の書換可能不揮発性メモリ34へ順番に割り当てておく。こうすることによって、書込処理と並行して、次に書き換えるブロックの消去を行うことができる。
【0041】
最初の2メモリブロック310,320へのデータD1,D2の書込みが正常に終了すると、次に書替えを行う2メモリブロック330,340を書き換えるデータD3,D4をシステムバス2を通じてバッファメモリ20の第1のバッファメモリ201および第2のバッファメモリ202へ転送する転送処理41を実行する(処理6)。
最初の、メモリブロック310,320と違い、今回は書き込むメモリブロック330,340のデータの消去を既に完了しているので、即座にバッファメモリ20の第1のバッファメモリ201および第2のバッファメモリ202に一時蓄積されたデータD3,D4を、第3の書換可能不揮発性メモリ33のメモリブロック330および第4の書換可能不揮発性メモリ34のメモリブロック340へ転送する転送処理43を実行し(処理7)、引き続いてこのデータD3,D4をメモリブロック330,340へそれぞれ書き込む書込処理44を実行する(処理8)。
書込処理44(処理8)が完全に終了するまで、バッファメモリ20の第1のバッファメモリメモリ201および第2のバッファメモリ202内に一時格納されたデータD3,D4は消去せずに保持しておく。
【0042】
制御手段10は、上記書換処理44(処理8)が完了するまでに、その次に書換えを行うメモリブロック311,321に既に格納されているデータ(D01−1,D01−2)を消去する消去処理42を実行する(処理9)。
【0043】
メモリブロック330,340に対する書換処理44(処理8)が正常に終了したことを確認すると、バッファメモリ20の第1のバッファメモリ201および第2のバッファメモリ202へそれぞれデータD5,D6を転送する転送処理41を実行し(処理10)、第1の書換可能不揮発性メモリ31のメモリブロック311と第2の書換可能不揮発性メモリ32のメモリブロック321へデータD5,D6を転送する転送処理43(処理11)および各メモリブロック311,321へのデータD5,D6を書き込む書込処理44(処理12)を順次実行する。
以後のブロック331,341の書換えについても同様の処理が行われる。
【0044】
図5の例では、バッファメモリが増加したことによって書換動作の並列処理が可能となるだけではなく、2つの書換可能不揮発性メモリへの書込動作時に残りの2つの書換可能不揮発性メモリの消去を並行して実行することによって、データの書換速度をさらに向上させることができる。
【0045】
図7を用いて、消去処理42に要する時間が書込処理44に要する時間より大きい場合の実施の形態を説明する。この実施の形態では、書換可能不揮発性メモリを第1から第8の8個のメモリチップを備え、バッファメモリが2データブロック分の記憶容量を有し、消去処理42に要する時間が書込処理44に要する時間の約4倍必要であるものとする。
まず、バッファメモリへ2データブロック分のデータD1,D2を転送する転送処理41を実行する(処理1)。次いで、全ての書換可能不揮発性メモリチップの内容を消去する消去処理42を実行しておく(処理2)。
次に、第1の書換可能不揮発性メモリ31のデータブロック310へデータD1を転送する転送処理43を実行し(処理3)、引き続きデータD1をメモリブロック310へ書き込む書込処理44を実行する(処理4)。
続いて、第2の書換可能不揮発性メモリ32のメモリブロック320へデータD2を転送する転送処理43を実行する(処理5)とともに、第2の書換可能不揮発性メモリ32のメモリブロック320へデータD2を書き込む書込処理44を実行する(処理6)。
【0046】
処理4の書込処理および処理6の書込処理が正常に終了したのを確認した後、第3の書換可能不揮発性メモリ33および第4の書換可能不揮発性メモリ34へのデータD3,D4の書込みを実行するため、ホストシステムからデータD3,D4の転送を受ける転送処理41を実行する(処理7、処理8)。
【0047】
このとき、第1の書換可能不揮発性メモリ31および第2の書換可能不揮発性メモリ32は、次に書き込む予定であるメモリブロック311,321を消去する消去処理42を実行する(処理9、処理10)。
【0048】
第3の書換可能不揮発性メモリ33および第4の書換可能不揮発性メモリ34に対しては、処理5、処理6が完了し次第、メモリブロック330,340へデータD3,D4を転送する転送処理43を実行し(処理11、処理12)、引き続いてデータD3,D4をメモリブロックへ書き込む書込処理44を実行する(処理13、処理14)。
そして、さらに第3の書換可能不揮発性メモリ33、第4の書換可能不揮発性メモリ34に、次に書き込むデータブロックがあればメモリブロック331,341のデータを消去する消去処理42を実行する(処理15、処理16)。
【0049】
以下、第5の書換可能不揮発性メモリ35以降にも同様の処理を施す。
このとき、第1の書換可能不揮発性メモリ31のメモリブロック311、第2の書換可能不揮発性メモリ32のメモリブロック321を消去する消去処理42である処理9および処理10は、書込処理と比較して約4倍長い時間を要することから、第7および第8の書換可能不揮発性メモリ37,38へのデータD7,D8の書込みが終了する頃に消去が終了し、すぐに書込処理を実行することができる。
以下、他の書換可能不揮発性メモリ36〜38のメモリブロック360,361〜380,381〜38nについても同様の処理が行われ、非常に効率の高い書換処理を実現することができる。
【0050】
なお、上記実施の形態では全て書込処理が成功して次の処理に移ることができるようになっているが、もし、書込処理が失敗に終わった場合には、バッファメモリに格納されているデータを一旦別のメモリブロックに転送してこのメモリブロックから再度書込処理を実行することによって、書込みが成功するまで何度でも書込処理を実行することができる。
【0051】
【発明の効果】
本発明によれば、ブロック単位で消去処理を必要とする電気的に書換可能な不揮発性メモリを記憶媒体とする記憶装置において、書換えを高速に行うことを要求される場合に、搭載するチップ数より少ないブロック数の格納バッファを用いて、搭載するチップ数と等しいブロック数のバッファを備える場合と比較してほとんど遜色ない書換性能を実現することができる。
しかも、このとき、書込みが失敗しても、書込データを失うことなく、書込みが成功するまで何度でも書込処理を実行することができる。
また、消去に必要とされる時間が同じ領域にデータを書き込むための時間と比較して長いような不揮発性メモリを使用する場合において、書込処理と消去処理を効率良く実行することができ、書換処理を少ないバッファメモリで高速に実現することができる。
【図面の簡単な説明】
【図1】本発明を実現する記憶装置の構成の一例を示すブロック図。
【図2】図1に示した記憶装置内のデータの経路の第1の例を示すブロック図。
【図3】図1に示した記憶装置内のデータの経路の第2の例を示すブロック図。
【図4】図1および図2に示した記憶装置により、データの書換えが並列して実行されるときの処理の順序を示す図(1)。
【図5】図1に示した記憶装置内のデータの経路の第3の例を示すブロック図。
【図6】図1および図5に示した記憶装置により、データの書換えが並列して実行されるときの処理の順序を示す図(2)。
【図7】消去時間が書込時間と比較して長いメモリを用いた場合のデータの書換えを高速に行う処理の順序を示す図。
【符号の説明】
1 記憶装置
2 システムバス
10 データ書換制御回路
11 書換制御手段
12 メモリ消去手段
13 データ書込手段
14,141,142 データバス
20 バッファメモリ
30 書換可能不揮発性メモリ
31 第1の書換可能不揮発性メモリ
32 第2の書換可能不揮発性メモリ
33 第3の書換可能不揮発性メモリ
34 第4の書換可能不揮発性メモリ
41 システムバス‐バッファメモリ間データ転送処理
42 書換可能不揮発性メモリのデータ消去処理
43 バッファメモリ‐書換可能不揮発性メモリ間データ転送処理
44 書換可能不揮発性メモリのデータ書込処理
201 第1のバッファメモリ
202 第2のバッファメモリ
310,311,320,321,330,331 メモリブロック
Claims (6)
- データ書換時に消去動作が必要な書換可能不揮発性メモリと、前記書換可能不揮発性メモリにデータを書き込む前に一時的に2データブロック分の書込データを記憶するデータ格納手段を有し、前記書換可能不揮発性メモリに格納されたデータを書き換える処理をブロック単位で扱う記憶装置において、
前記書換可能不揮発性メモリは、データブロック単位でメモリブロックへのデータの消去と書込みがなされ、メモリブロック単位のデータ消去処理に要する時間がメモリブロック単位のデータ書込処理に要する時間より長い時間を必要とする書換可能不揮発性メモリであり、
連続した複数のデータブロックを書き換えるときに、
(1)前記データ格納手段に最初の2データブロック分のデータが転送されると、全ての書換可能不揮発性メモリの最初のメモリブロックのデータ消去処理を実行し、
(2)最初の二つの書換可能不揮発性メモリのデータ消去処理が終了すると前記データ格納手段から二つの書換可能不揮発性メモリのデータ消去されたメモリブロックへ二つのデータブロックをそれぞれ転送した後データ書込処理を実行し、
(3)前記各書換可能不揮発性メモリのメモリブロックへデータ書込処理が正常に終了したのを確認した後当該書換可能不揮発性メモリの次ぎのメモリブロックの消去処理を開始し、
(4)前記メモリブロックへの2データブロック分の書込処理が正常に終了したのを確認すると前記データ格納手段に次ぎの2データブロック分のデータを転送し、
(5)前記データ格納手段に転送された2データブロック分のデータを次ぎの二つの書換可能不揮発性メモリのメモリブロックにそれぞれ転送した後データ書込処理を実行し、
(6)以下、前記(3)〜(5)の処理を繰り返す
ことを特徴とする記憶装置。 - データ書換時に消去動作が必要な書換可能不揮発性メモリと、前記書換可能不揮発性メモリにデータを書き込む前に一時的に2データブロック分の書込データを記憶するデータ格納手段を有し、前記書換可能不揮発性メモリに格納されたデータを書き換える処理をブロック単位で扱う記憶装置において、
前記書換可能不揮発性メモリは、データブロック単位でメモリブロックへのデータの消去と書込みがなされ、メモリブロック単位のデータ消去処理に要する時間がメモリブロック単位のデータ書込処理に要する時間より長い時間を必要とする書換可能不揮発性メモリであり、
連続した複数のデータブロックの書換時に、前記データ格納手段に格納された2データブロック分のデータを前記書換可能不揮発性メモリに転送することにより、あるメモリブロックの書込動作を実行し、メモリブロックへの1データブロック分のデータの書込みが正常に終了すると、当該書換可能不揮発性メモリの次に書換えを行うメモリブロックの消去を実行するデータ書換制御手段と
を備えたことを特徴とする記憶装置。 - 請求項2に記載された記憶装置において、書込みを行ったメモリブロックが不良であり、書込みが正常に終了しなかった場合には、データ格納手段の格納データを別のブロックへ転送して書込処理を実行することを特徴とする記憶装置。
- データ書換時に消去動作が必要な書換可能不揮発性メモリと、前記書換可能不揮発性メモリにデータを書き込む前に一時的に書込データの2データブロック分を記憶するデータ格納手段を有し、前記書換可能不揮発性メモリに格納されたデータを書き換える処理をブロック単位で扱う記憶装置において、
前記書換可能不揮発性メモリは、データブロック単位でメモリブロックへのデータの消去と書込みがなされ、メモリブロック単位のデータ消去処理に要する時間がメモリブロック単位のデータ書込処理に要する時間より長い時間を必要とする書換可能不揮発性メモリであり、
書換可能不揮発性メモリの特定のチップの特定のメモリブロックを消去する書換可能不揮発性メモリ消去手段と、
前記データ格納手段に格納されたデータを書換可能不揮発性メモリの特定のチップの特定のメモリブロックに転送して書込みを行うデータ書込手段と、
前記メモリ記消去手段と前記データ書込手段を制御して1以上のメモリブロックのデータを書換可能不揮発性メモリに格納する書換制御手段とを有し、
連続した複数のデータブロックで前記メモリブロックを書き換えるときに、前記書換制御手段が、
(1)最初に書換えを行う2データブロック分のデータをデータ格納手段に格納すると同時に、書換えを行う対象となる全ての書換可能不揮発性メモリのメモリブロックの内容を消去する制御
(2)消去が完了した最初の二つの書換可能不揮発性メモリのメモリブロックにデータ格納手段に格納された最初の2データブロック分のデータを順次転送した後それぞれ書込処理を行い、書込処理が正常に終了したときに当該書換可能不揮発性メモリの書込処理が終了したメモリブロックの次ぎのメモリブロックの消去を行う制御
(3)前記書込みが正常に終了したら次に書き込む2データブロック分のデータをデータ格納手段に格納する制御
(4)次ぎの二つの書換可能不揮発性メモリのメモリブロックにデータ格納手段に格納された次ぎの2データブロック分のデータを順次転送した後それぞれ書込処理を行い、書込処理が正常に終了したときに当該書換可能不揮発性メモリの書込処理が終了したメモリブロックの次ぎのメモリブロックの消去を行う制御
(5)前記(3)および(4)の制御を繰り返す制御
を実行することを特徴とする記憶装置。 - データ書換時に消去動作が必要な書換可能不揮発性メモリと、書換可能不揮発性メモリにデータを書き込む前に一時的に2データブロック分の書込データを記憶するデータ格納手段を有し、前記書換可能不揮発性メモリに格納されたデータを書き換える処理をブロック単位で扱う記憶装置であって、前記書換可能不揮発性メモリは、データブロック単位でメモリブロックへのデータの消去と書込みがなされ、メモリブロック単位のデータ消去処理に要する時間がメモリブロック単位のデータ書込処理に要する時間より長い時間を必要とする書換可能不揮発性メモリである記憶装置のデータ書換方法において、
連続した複数のデータブロックを書き換えるときに、
(1)2データブロック分の書込データがデータ格納手段に転送されると全ての書換可能不揮発性メモリの最初のメモリブロックのデータ消去処理を実行し、
(2)メモリブロックのデータ消去処理が終了すると、転送された2データブロック分の書込データを最初の二つの書換可能不揮発性メモリの最初のメモリブロックへ転送した後書込処理を実行し、
(3)書込処理が正常に終了すると、当該書換可能不揮発性メモリの次ぎのメモリブロックのデータ消去処理を実行するとともに、次ぎの2データブロック分の書込データを前記データ格納手段へ転送し、
(4)転送された次ぎの2データブロック分の書込データを二つの書換可能不揮発性メモリの最初のメモリブロックへ転送した後書込処理を実行し、
(5)前記(3)および(4)の処理を繰り返す
ことを特徴とする記憶装置のデータ書換方法。 - 請求項5に記載された記憶装置のデータ書換方法において、書込みを行ったメモリブロックが不良であり、書込みが正常に終了しなかった場合に、データ格納手段の格納データを別のブロックへ転送して書込処理を実行することを特徴とする記憶装置のデータ書換方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35984097A JP3550293B2 (ja) | 1997-12-26 | 1997-12-26 | 不揮発性メモリを用いた高速書換可能な記憶装置および該記憶装置のデータ書換方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35984097A JP3550293B2 (ja) | 1997-12-26 | 1997-12-26 | 不揮発性メモリを用いた高速書換可能な記憶装置および該記憶装置のデータ書換方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11191297A JPH11191297A (ja) | 1999-07-13 |
JP3550293B2 true JP3550293B2 (ja) | 2004-08-04 |
Family
ID=18466573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35984097A Expired - Fee Related JP3550293B2 (ja) | 1997-12-26 | 1997-12-26 | 不揮発性メモリを用いた高速書換可能な記憶装置および該記憶装置のデータ書換方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3550293B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10466908B2 (en) | 2015-08-25 | 2019-11-05 | Toshiba Memory Corporation | Memory system that buffers data before writing to nonvolatile memory |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141249A (en) * | 1999-04-01 | 2000-10-31 | Lexar Media, Inc. | Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time |
JP4082913B2 (ja) | 2002-02-07 | 2008-04-30 | 株式会社ルネサステクノロジ | メモリシステム |
JP2003233993A (ja) | 2002-02-08 | 2003-08-22 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置の書き換え方法 |
CN100371873C (zh) | 2003-09-18 | 2008-02-27 | 松下电器产业株式会社 | 半导体存储卡、半导体存储器控制装置以及半导体存储器控制方法 |
CN100433195C (zh) * | 2003-12-31 | 2008-11-12 | 深圳市朗科科技股份有限公司 | 闪存介质数据写入方法 |
JP2007199905A (ja) * | 2006-01-25 | 2007-08-09 | Toshiba Corp | 半導体記憶装置の制御方法 |
JP2008047244A (ja) * | 2006-08-18 | 2008-02-28 | Toshiba Corp | 半導体記憶装置、半導体装置、及びデータ書き込み方法 |
JP5095649B2 (ja) * | 2009-02-26 | 2012-12-12 | ソリッド ステート ストレージ ソリューションズ エルエルシー | メモリシステム |
JP5607118B2 (ja) * | 2012-07-30 | 2014-10-15 | ソリッド ステート ストレージ ソリューションズ インク | メモリシステム |
JP6323393B2 (ja) * | 2015-05-28 | 2018-05-16 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2971302B2 (ja) * | 1993-06-30 | 1999-11-02 | シャープ株式会社 | Eepromを使用した記録装置 |
JP3308684B2 (ja) * | 1993-11-15 | 2002-07-29 | 株式会社日立国際電気 | ボイスフライトデータレコーダ |
JPH07160569A (ja) * | 1993-12-09 | 1995-06-23 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
JPH07201190A (ja) * | 1993-12-28 | 1995-08-04 | Mitsubishi Electric Corp | 不揮発性メモリファイルシステム |
-
1997
- 1997-12-26 JP JP35984097A patent/JP3550293B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10466908B2 (en) | 2015-08-25 | 2019-11-05 | Toshiba Memory Corporation | Memory system that buffers data before writing to nonvolatile memory |
Also Published As
Publication number | Publication date |
---|---|
JPH11191297A (ja) | 1999-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4711531B2 (ja) | 半導体記憶装置 | |
US6898662B2 (en) | Memory system sectors | |
USRE46154E1 (en) | Page buffer program command and methods to reprogram pages without re-inputting data to a memory device | |
JP3944496B2 (ja) | 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能 | |
US7944762B2 (en) | Non-volatile memory control | |
EP0675502B1 (en) | Multiple sector erase flash EEPROM system | |
US8310896B2 (en) | Memory system and method of writing into nonvolatile semiconductor memory | |
US5937427A (en) | Information recording apparatus and method capable of efficient erase, write and verify processes | |
US5611067A (en) | Nonvolatile semiconductor memory device having means for selective transfer of memory block contents and for chaining together unused memory blocks | |
US7890732B2 (en) | Memory card and semiconductor device | |
US20010023472A1 (en) | Data storage control method and apparatus for external storage device using a plurality of flash memories | |
JP3550293B2 (ja) | 不揮発性メモリを用いた高速書換可能な記憶装置および該記憶装置のデータ書換方法 | |
JP2000067574A (ja) | 半導体記憶装置 | |
JPH08124393A (ja) | データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置 | |
KR19990029196A (ko) | 반도체 기억 장치 및 그 데이터 관리 방법 | |
US7657697B2 (en) | Method of controlling a semiconductor memory device applied to a memory card | |
US20120151166A1 (en) | Nonvolatile storage device and memory controller | |
JP2008251056A (ja) | 半導体記憶装置及び半導体記憶装置の書き換え制御方法 | |
JP2000285017A (ja) | 記憶装置 | |
US8180951B2 (en) | Memory system and method of controlling the memory system | |
JP3845239B2 (ja) | ディスクアレイ装置及びディスクアレイ装置における障害復旧方法 | |
JPH04111113A (ja) | ハードディスクエミュレータ | |
TW201721639A (zh) | 記憶體儲存裝置及其操作方法 | |
JPH10198568A (ja) | フラッシュメモリ書き込み装置及びその方法 | |
JP3884722B2 (ja) | データ管理方法、プログラム及び半導体装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040420 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040423 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080430 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090430 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090430 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100430 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100430 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110430 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110430 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110430 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120430 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120430 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130430 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140430 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |