JPH06222986A - メモリ制御装置 - Google Patents
メモリ制御装置Info
- Publication number
- JPH06222986A JPH06222986A JP5029938A JP2993893A JPH06222986A JP H06222986 A JPH06222986 A JP H06222986A JP 5029938 A JP5029938 A JP 5029938A JP 2993893 A JP2993893 A JP 2993893A JP H06222986 A JPH06222986 A JP H06222986A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- block
- memory block
- exchange
- rewrites
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 60
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 239000006185 dispersion Substances 0.000 abstract 1
- 239000004065 semiconductor Substances 0.000 description 24
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
(57)【要約】
【構成】 メモリ部102は、複数のメモリブロックか
らなるフラッシュメモリで構成されている。テーブル1
21には、ホストからの指示アドレスとメモリブロック
の論理アドレスとの関係が示され、かつ、各メモリブロ
ックの書換え回数が示されている。交換制御手段111
は、ホストからあるメモリブロックに対してライト要求
があると、テーブル121を参照してそのメモリブロッ
クの書換え回数を調べ、これが所定値以上あるいは書換
え回数が最小のメモリブロックの書換え回数との差が所
定値以上であった場合は、そのメモリブロックのデータ
を他のメモリブロックあるいは書換え回数が最小のメモ
リブロックのデータと交換する。 【効果】 ブロック間の書換え回数のばらつきを低く抑
えることができる。
らなるフラッシュメモリで構成されている。テーブル1
21には、ホストからの指示アドレスとメモリブロック
の論理アドレスとの関係が示され、かつ、各メモリブロ
ックの書換え回数が示されている。交換制御手段111
は、ホストからあるメモリブロックに対してライト要求
があると、テーブル121を参照してそのメモリブロッ
クの書換え回数を調べ、これが所定値以上あるいは書換
え回数が最小のメモリブロックの書換え回数との差が所
定値以上であった場合は、そのメモリブロックのデータ
を他のメモリブロックあるいは書換え回数が最小のメモ
リブロックのデータと交換する。 【効果】 ブロック間の書換え回数のばらつきを低く抑
えることができる。
Description
【0001】
【産業上の利用分野】本発明は、フラッシュメモリを用
いたメモリ制御装置に関し、更に詳しくは、メモリ素子
の書換え回数の制御に関するものである。
いたメモリ制御装置に関し、更に詳しくは、メモリ素子
の書換え回数の制御に関するものである。
【0002】
【従来の技術】磁気ディスク装置の高速化代替手段とし
て、半導体ディスク装置が一般的によく知られている。
従来、不揮発性半導体ディスク装置は、揮発性メモリ素
子とそのバックアップ用の電池とで構成されていた。し
かしながら、このような構成では、電池を使用してバッ
クアップするために長期の電源断時等にバックアップを
保証することができず、完全な不揮発性を保証できなか
った。しかし、近年、不揮発性メモリ素子としてフラッ
シュメモリ(FEEPROM:フラッシュEEPRO
M)が開発され、新たに、同メモリ素子を用いた不揮発
性半導体ディスク装置が開発されている。
て、半導体ディスク装置が一般的によく知られている。
従来、不揮発性半導体ディスク装置は、揮発性メモリ素
子とそのバックアップ用の電池とで構成されていた。し
かしながら、このような構成では、電池を使用してバッ
クアップするために長期の電源断時等にバックアップを
保証することができず、完全な不揮発性を保証できなか
った。しかし、近年、不揮発性メモリ素子としてフラッ
シュメモリ(FEEPROM:フラッシュEEPRO
M)が開発され、新たに、同メモリ素子を用いた不揮発
性半導体ディスク装置が開発されている。
【0003】図14は、従来のメモリ制御装置として、
FEEPROMを用いた不揮発性半導体ディスク装置の
構成図である。図14において、1は不揮発性半導体デ
ィスク装置であり、この不揮発性半導体ディスク装置1
は、不揮発性半導体ディスク装置1の全体を制御する主
制御部101と、FEEPROMで構成され、データを
保持するメモリ部102と、データ書込み時に使用し、
メモリ部102の内容コピーを保持するための揮発性メ
モリ素子からなるバッファ部103と、メモリ部102
に関する制御情報を保持するための制御情報記憶部10
4と、ホストとのインターフェースを制御するためのホ
ストインタフェース部105とからなる。また、図中、
2は不揮発性半導体ディスク装置1にデータのリード/
ライト要求を行うホストの計算機である。
FEEPROMを用いた不揮発性半導体ディスク装置の
構成図である。図14において、1は不揮発性半導体デ
ィスク装置であり、この不揮発性半導体ディスク装置1
は、不揮発性半導体ディスク装置1の全体を制御する主
制御部101と、FEEPROMで構成され、データを
保持するメモリ部102と、データ書込み時に使用し、
メモリ部102の内容コピーを保持するための揮発性メ
モリ素子からなるバッファ部103と、メモリ部102
に関する制御情報を保持するための制御情報記憶部10
4と、ホストとのインターフェースを制御するためのホ
ストインタフェース部105とからなる。また、図中、
2は不揮発性半導体ディスク装置1にデータのリード/
ライト要求を行うホストの計算機である。
【0004】ところで、メモリ部102を構成するFE
EPROMは、その全体がある一定の大きさの単位(以
下ブロックと称す)に区分され、そのブロック毎、もし
くは素子全体でのみ一括消去可能という特性を有する。
更に、素子の特性上、消去回数(以下、書換え回数とし
て説明する)にはある一定の制限があり、それを超えた
消去はできない。尚、バッファ部103の容量は上記ブ
ロックの1ブロック分以上の大きさを有している。
EPROMは、その全体がある一定の大きさの単位(以
下ブロックと称す)に区分され、そのブロック毎、もし
くは素子全体でのみ一括消去可能という特性を有する。
更に、素子の特性上、消去回数(以下、書換え回数とし
て説明する)にはある一定の制限があり、それを超えた
消去はできない。尚、バッファ部103の容量は上記ブ
ロックの1ブロック分以上の大きさを有している。
【0005】図15は、制御情報記憶部104の内部構
成および制御情報記憶部104とメモリ部102の内部
アドレスの対応を示した図である。メモリ部102は、
全体がmブロック102−1〜102−mに区分されて
おり、1ブロックをkワードとして0,k,2k,…,
(m−1)kとアドレス付けされ、各ブロック単位に消
去可能となっている。
成および制御情報記憶部104とメモリ部102の内部
アドレスの対応を示した図である。メモリ部102は、
全体がmブロック102−1〜102−mに区分されて
おり、1ブロックをkワードとして0,k,2k,…,
(m−1)kとアドレス付けされ、各ブロック単位に消
去可能となっている。
【0006】制御情報記憶部104は、メモリ部102
のブロック102−1〜102−mに一対一に対応する
m個の制御情報104−1〜104−mに区分され、
0,1,2,…,(m−1)とアドレス付けされてい
る。そして、個々の制御情報104−1〜104−m
は、対応するメモリ部102のブロックが書換えられた
回数(書換え回数)と、対応するブロックが消去済みか
否かを示すフラグ(以下消去フラグと称す)を記憶する
ものである。また、制御情報記憶部104は、小容量の
不揮発性メモリ素子(例えばNVRAMやEEPRO
M)で構成されている。
のブロック102−1〜102−mに一対一に対応する
m個の制御情報104−1〜104−mに区分され、
0,1,2,…,(m−1)とアドレス付けされてい
る。そして、個々の制御情報104−1〜104−m
は、対応するメモリ部102のブロックが書換えられた
回数(書換え回数)と、対応するブロックが消去済みか
否かを示すフラグ(以下消去フラグと称す)を記憶する
ものである。また、制御情報記憶部104は、小容量の
不揮発性メモリ素子(例えばNVRAMやEEPRO
M)で構成されている。
【0007】図16は、従来の不揮発性半導体ディスク
装置1において、主制御部101が行うライト/リード
コマンド処理のフローチャートである。この図16およ
び上述した図14、15を用いて、ホスト2が不揮発性
半導体ディスク装置1に対してライトもしくはリードコ
マンドを発行した場合のコマンド処理の動作を説明す
る。
装置1において、主制御部101が行うライト/リード
コマンド処理のフローチャートである。この図16およ
び上述した図14、15を用いて、ホスト2が不揮発性
半導体ディスク装置1に対してライトもしくはリードコ
マンドを発行した場合のコマンド処理の動作を説明す
る。
【0008】ホスト2からホストインタフェース部10
5を通してコマンドが受け付けられると、主制御部10
1は、そのコマンドを、ホスト2からホストインタフェ
ース部105を通してリードし(ステップS1)、リー
ドコマンドであるかライトコマンドであるかを判断する
(ステップS2)。コマンドがライトであった場合は、
先ず、ライトする先頭のディスクアドレスとライトデー
タ数を、ホスト2からホストインタフェース部105を
通してリードし(ステップS3)、次に、上記ディスク
アドレスとライトデータ数を用いて、メモリ部102中
の、ライトデータを格納するアドレス、および対応する
制御情報記憶部104のアドレスを算出する(ステップ
S4)。そして、算出したアドレスを基に制御情報記憶
部104中の消去フラグをチェックし(ステップS
5)、メモリ部102中の該当ブロックが消去済みか否
かの判定を行う(ステップS6)。
5を通してコマンドが受け付けられると、主制御部10
1は、そのコマンドを、ホスト2からホストインタフェ
ース部105を通してリードし(ステップS1)、リー
ドコマンドであるかライトコマンドであるかを判断する
(ステップS2)。コマンドがライトであった場合は、
先ず、ライトする先頭のディスクアドレスとライトデー
タ数を、ホスト2からホストインタフェース部105を
通してリードし(ステップS3)、次に、上記ディスク
アドレスとライトデータ数を用いて、メモリ部102中
の、ライトデータを格納するアドレス、および対応する
制御情報記憶部104のアドレスを算出する(ステップ
S4)。そして、算出したアドレスを基に制御情報記憶
部104中の消去フラグをチェックし(ステップS
5)、メモリ部102中の該当ブロックが消去済みか否
かの判定を行う(ステップS6)。
【0009】ステップS6において、該当ブロックが消
去済みであれば、ホスト2からホストインタフェース部
105を通して、ライトデータを直接メモリ部102の
算出済みアドレスにライトする(ステップS7)。そし
て、ライト終了後、制御情報記憶部104中の消去フラ
グを更新し(ステップS8)、ホスト2に対してホスト
インタフェース部105を通して動作終了を通知し(ス
テップS9)、処理を終了する。
去済みであれば、ホスト2からホストインタフェース部
105を通して、ライトデータを直接メモリ部102の
算出済みアドレスにライトする(ステップS7)。そし
て、ライト終了後、制御情報記憶部104中の消去フラ
グを更新し(ステップS8)、ホスト2に対してホスト
インタフェース部105を通して動作終了を通知し(ス
テップS9)、処理を終了する。
【0010】一方、上記ステップS6において、該当ブ
ロックが消去済みでない場合は、先ず、算出済みアドレ
スを基に制御情報記憶部104中の書換え回数をチェッ
クし(ステップS10)、該当ブロックが書換え可能か
否かを判定する(ステップS11)。即ち、書換え回数
がメモリ素子で規定されている書換え最大回数未満か否
かを判定する。ステップS11において、書換えが可能
であった場合は、制御情報記憶部104中の該当書換え
回数に1を加算し(ステップS12)、メモリ部102
中の該当するアドレスが含まれるブロック全体の内容を
バッファ部103にコピーする(ステップS13)。次
に、そのブロックをブロック消去する(ステップS1
4)。
ロックが消去済みでない場合は、先ず、算出済みアドレ
スを基に制御情報記憶部104中の書換え回数をチェッ
クし(ステップS10)、該当ブロックが書換え可能か
否かを判定する(ステップS11)。即ち、書換え回数
がメモリ素子で規定されている書換え最大回数未満か否
かを判定する。ステップS11において、書換えが可能
であった場合は、制御情報記憶部104中の該当書換え
回数に1を加算し(ステップS12)、メモリ部102
中の該当するアドレスが含まれるブロック全体の内容を
バッファ部103にコピーする(ステップS13)。次
に、そのブロックをブロック消去する(ステップS1
4)。
【0011】その後、ホスト2からホストインタフェー
ス部105を通してのライトデータを、バッファ部10
3へ該当アドレスからライトする(ステップS15)。
ライト終了後、バッファ部103中のデータをメモリ部
102中の同一ブロックへ戻し(ステップS16)、ホ
スト2に対してホストインタフェース部105を通して
動作終了を通知し(ステップS9)、処理を終了する。
ス部105を通してのライトデータを、バッファ部10
3へ該当アドレスからライトする(ステップS15)。
ライト終了後、バッファ部103中のデータをメモリ部
102中の同一ブロックへ戻し(ステップS16)、ホ
スト2に対してホストインタフェース部105を通して
動作終了を通知し(ステップS9)、処理を終了する。
【0012】また、ステップS11で書換えが不可能、
即ち、書換え回数がメモリ素子で規定されている書換え
最大回数以上のときは、ホスト2に対してホストインタ
フェース部105を通してコマンドの異常終了を通知し
(ステップS17)、処理を終了する。これによりFE
EPROMの書換え回数制限を超えた書換えが生じるの
を防止している。
即ち、書換え回数がメモリ素子で規定されている書換え
最大回数以上のときは、ホスト2に対してホストインタ
フェース部105を通してコマンドの異常終了を通知し
(ステップS17)、処理を終了する。これによりFE
EPROMの書換え回数制限を超えた書換えが生じるの
を防止している。
【0013】一方、ステップS2において、コマンドが
リードであった場合は、先ず、リードする先頭のディス
クアドレスとリードデータ数をホスト2からホストイン
タフェース部105を通してリードし(ステップS1
8)、次に、上記ディスクアドレスとリードデータ数を
用いて、メモリ部102中の、リードデータの格納され
ているアドレスを算出する(ステップS19)。そし
て、ホスト2へ、リードデータを、直接メモリ部102
の算出済みアドレスからリードする(ステップS2
0)。リード終了後、ホスト2に対してホストインタフ
ェース部105を通して動作終了を通知し(ステップS
21)、処理を終了する。
リードであった場合は、先ず、リードする先頭のディス
クアドレスとリードデータ数をホスト2からホストイン
タフェース部105を通してリードし(ステップS1
8)、次に、上記ディスクアドレスとリードデータ数を
用いて、メモリ部102中の、リードデータの格納され
ているアドレスを算出する(ステップS19)。そし
て、ホスト2へ、リードデータを、直接メモリ部102
の算出済みアドレスからリードする(ステップS2
0)。リード終了後、ホスト2に対してホストインタフ
ェース部105を通して動作終了を通知し(ステップS
21)、処理を終了する。
【0014】
【発明が解決しようとする課題】しかしながら、上記従
来のメモリ制御装置では、以下に示す問題点があった。
即ち、半導体ディスク装置中のメモリは、その全てのブ
ロックが均等に使用されるわけではなく、頻繁に使われ
るブロックと、あまり使われないブロックとが生じるの
が一般的である。その結果、ブロックにより書換え回数
にばらつきが生じる。一方、不揮発性半導体ディスク装
置1のメモリを構成しているFEEPROMは、上述し
たように、その書換え可能回数に制限があるため、一つ
のブロックでもその制限に達すれば、他のブロックはま
だ使用できるのにもかかわらず、不揮発性半導体ディス
ク装置としては使用できなくなってしまうという問題点
があった。
来のメモリ制御装置では、以下に示す問題点があった。
即ち、半導体ディスク装置中のメモリは、その全てのブ
ロックが均等に使用されるわけではなく、頻繁に使われ
るブロックと、あまり使われないブロックとが生じるの
が一般的である。その結果、ブロックにより書換え回数
にばらつきが生じる。一方、不揮発性半導体ディスク装
置1のメモリを構成しているFEEPROMは、上述し
たように、その書換え可能回数に制限があるため、一つ
のブロックでもその制限に達すれば、他のブロックはま
だ使用できるのにもかかわらず、不揮発性半導体ディス
ク装置としては使用できなくなってしまうという問題点
があった。
【0015】本発明は、前記問題点を解決し、ブロック
毎の書換え回数のばらつきをおさえ、書換え回数の制限
から来る装置全体としての寿命を著しく延ばすことがで
きるメモリ制御装置を提供することを目的とする。
毎の書換え回数のばらつきをおさえ、書換え回数の制限
から来る装置全体としての寿命を著しく延ばすことがで
きるメモリ制御装置を提供することを目的とする。
【0016】
【課題を解決するための手段】第1発明のメモリ制御装
置は、複数のメモリブロックからなるフラッシュメモリ
で構成されたメモリ部と、前記メモリ部に対してアクセ
ス要求を行うホストからの指示アドレスと、前記メモリ
ブロックの論理アドレスとの関係を示すと共に、前記複
数のメモリブロックの各々の書換え回数を示すテーブル
と、前記ホストから前記メモリ部の任意のメモリブロッ
クに対してライト要求があった場合、前記テーブルを参
照して前記任意のメモリブロックの書換え回数を調べ、
当該メモリブロックの書換え回数が所定値以上であった
場合は、当該メモリブロックのデータを他のメモリブロ
ックのデータと交換し、かつ、前記テーブル中の指示ア
ドレスに対する論理アドレスを、交換したメモリブロッ
クの論理アドレスに更新する交換制御手段を備えたこと
を特徴とするものである。
置は、複数のメモリブロックからなるフラッシュメモリ
で構成されたメモリ部と、前記メモリ部に対してアクセ
ス要求を行うホストからの指示アドレスと、前記メモリ
ブロックの論理アドレスとの関係を示すと共に、前記複
数のメモリブロックの各々の書換え回数を示すテーブル
と、前記ホストから前記メモリ部の任意のメモリブロッ
クに対してライト要求があった場合、前記テーブルを参
照して前記任意のメモリブロックの書換え回数を調べ、
当該メモリブロックの書換え回数が所定値以上であった
場合は、当該メモリブロックのデータを他のメモリブロ
ックのデータと交換し、かつ、前記テーブル中の指示ア
ドレスに対する論理アドレスを、交換したメモリブロッ
クの論理アドレスに更新する交換制御手段を備えたこと
を特徴とするものである。
【0017】第2発明のメモリ制御装置は、複数のメモ
リブロックからなるフラッシュメモリで構成されたメモ
リ部と、前記メモリ部に対してアクセス要求を行うホス
トからの指示アドレスと、前記メモリブロックの論理ア
ドレスとの関係を示すと共に、前記複数のメモリブロッ
クの各々の書換え回数とを示すテーブルと、前記ホスト
から前記メモリ部の任意のメモリブロックに対してライ
ト要求があった場合、前記テーブルを参照して前記任意
のメモリブロックの書換え回数を調べ、当該メモリブロ
ックの書換え回数と、書換え回数が最小のメモリブロッ
クの書換え回数との差が所定値以上であった場合は、当
該メモリブロックのデータを前記書換え回数が最小のメ
モリブロックのデータと交換し、かつ、前記テーブル中
の指示アドレスに対する論理アドレスを、交換したメモ
リブロックの論理アドレスに更新する交換制御手段を備
えたことを特徴とするものである。
リブロックからなるフラッシュメモリで構成されたメモ
リ部と、前記メモリ部に対してアクセス要求を行うホス
トからの指示アドレスと、前記メモリブロックの論理ア
ドレスとの関係を示すと共に、前記複数のメモリブロッ
クの各々の書換え回数とを示すテーブルと、前記ホスト
から前記メモリ部の任意のメモリブロックに対してライ
ト要求があった場合、前記テーブルを参照して前記任意
のメモリブロックの書換え回数を調べ、当該メモリブロ
ックの書換え回数と、書換え回数が最小のメモリブロッ
クの書換え回数との差が所定値以上であった場合は、当
該メモリブロックのデータを前記書換え回数が最小のメ
モリブロックのデータと交換し、かつ、前記テーブル中
の指示アドレスに対する論理アドレスを、交換したメモ
リブロックの論理アドレスに更新する交換制御手段を備
えたことを特徴とするものである。
【0018】第3発明のメモリ制御装置は、複数のメモ
リブロックからなるフラッシュメモリで構成されたメモ
リ部と、前記メモリ部に対してアクセス要求を行うホス
トからの指示アドレスと、前記メモリブロックの論理ア
ドレスとの関係を示すと共に、前記複数のメモリブロッ
クの各々の書換え回数とを示すテーブルと、一定周期で
実行し、前記テーブルを参照し、前記複数のメモリブロ
ックのそれぞれの書換え回数を調べ、書換え回数が最大
のメモリブロックの書換え回数と、書換え回数が最小の
メモリブロックの書換え回数との差が所定値以上であっ
た場合、これらメモリブロックのデータを交換し、か
つ、前記テーブル中の最大値のメモリブロックの論理ア
ドレスを最小値のメモリブロックの論理アドレスと交換
する交換制御手段を備えたことを特徴とするものであ
る。
リブロックからなるフラッシュメモリで構成されたメモ
リ部と、前記メモリ部に対してアクセス要求を行うホス
トからの指示アドレスと、前記メモリブロックの論理ア
ドレスとの関係を示すと共に、前記複数のメモリブロッ
クの各々の書換え回数とを示すテーブルと、一定周期で
実行し、前記テーブルを参照し、前記複数のメモリブロ
ックのそれぞれの書換え回数を調べ、書換え回数が最大
のメモリブロックの書換え回数と、書換え回数が最小の
メモリブロックの書換え回数との差が所定値以上であっ
た場合、これらメモリブロックのデータを交換し、か
つ、前記テーブル中の最大値のメモリブロックの論理ア
ドレスを最小値のメモリブロックの論理アドレスと交換
する交換制御手段を備えたことを特徴とするものであ
る。
【0019】第4発明のメモリ制御装置は、上記第1〜
第3発明のいずれかの発明において、交換制御手段が実
行するメモリブロックの交換処理における現在の処理進
行段階を保持する進行段階記憶部と、電源投入時に、前
記進行段階記憶部の情報を読込み、前記交換処理が未終
了であった場合、当該進行段階記憶部で記憶されている
進行段階に基づき、前記変換処理を再開させる進行段階
管理手段とを備えたことを特徴とするものである。
第3発明のいずれかの発明において、交換制御手段が実
行するメモリブロックの交換処理における現在の処理進
行段階を保持する進行段階記憶部と、電源投入時に、前
記進行段階記憶部の情報を読込み、前記交換処理が未終
了であった場合、当該進行段階記憶部で記憶されている
進行段階に基づき、前記変換処理を再開させる進行段階
管理手段とを備えたことを特徴とするものである。
【0020】
【作用】第1発明のメモリ制御装置においては、ホスト
からメモリ部のあるメモリブロックに対してライト要求
があった場合、交換制御手段は、先ずテーブルを参照し
て、そのメモリブロックの書換え回数を調べる。その結
果、書換え回数が所定値以上であった場合は、そのメモ
リブロックのデータを他のメモリブロックのデータと交
換する。また、テーブルにおいても、ホストからの指示
アドレスに対するメモリ部の論理アドレスを、それぞ
れ、交換後の論理アドレスとする。
からメモリ部のあるメモリブロックに対してライト要求
があった場合、交換制御手段は、先ずテーブルを参照し
て、そのメモリブロックの書換え回数を調べる。その結
果、書換え回数が所定値以上であった場合は、そのメモ
リブロックのデータを他のメモリブロックのデータと交
換する。また、テーブルにおいても、ホストからの指示
アドレスに対するメモリ部の論理アドレスを、それぞ
れ、交換後の論理アドレスとする。
【0021】第2発明のメモリ制御装置においては、上
記第1発明と同様に、ホストからメモリ部のあるメモリ
ブロックに対してライト要求があった場合、交換制御手
段は、先ずテーブルを参照して、そのメモリブロックの
書換え回数を調べる。その結果、当該メモリブロックの
書換え回数と、書換え回数が最小のメモリブロックの書
換え回数との差が所定値以上であった場合は、そのメモ
リブロックのデータを、書換え回数が最小のメモリブロ
ックのデータと交換する。また、テーブルにおいても、
ホストからの指示アドレスに対するメモリ部の論理アド
レスを、それぞれ、交換後の論理アドレスとする。
記第1発明と同様に、ホストからメモリ部のあるメモリ
ブロックに対してライト要求があった場合、交換制御手
段は、先ずテーブルを参照して、そのメモリブロックの
書換え回数を調べる。その結果、当該メモリブロックの
書換え回数と、書換え回数が最小のメモリブロックの書
換え回数との差が所定値以上であった場合は、そのメモ
リブロックのデータを、書換え回数が最小のメモリブロ
ックのデータと交換する。また、テーブルにおいても、
ホストからの指示アドレスに対するメモリ部の論理アド
レスを、それぞれ、交換後の論理アドレスとする。
【0022】第3発明のメモリ制御装置においては、交
換制御手段が、一定周期でテーブルを参照し、メモリブ
ロックのそれぞれの書換え回数を調べる。その結果、書
換え回数が最大のメモリブロックの書換え回数と、書換
え回数が最小のメモリブロックの書換え回数との差が所
定値以上であった場合は、これらメモリブロックのデー
タを交換し、かつ、テーブル中の最大値のメモリブロッ
クの論理アドレスを最小値のメモリブロックの論理アド
レスと交換する。
換制御手段が、一定周期でテーブルを参照し、メモリブ
ロックのそれぞれの書換え回数を調べる。その結果、書
換え回数が最大のメモリブロックの書換え回数と、書換
え回数が最小のメモリブロックの書換え回数との差が所
定値以上であった場合は、これらメモリブロックのデー
タを交換し、かつ、テーブル中の最大値のメモリブロッ
クの論理アドレスを最小値のメモリブロックの論理アド
レスと交換する。
【0023】第4発明のメモリ制御装置においては、上
記第1〜第3発明で交換制御手段がメモリブロックの交
換処理を行う場合、進行段階管理手段は、現在の処理進
行段階を進行段階記憶部に記憶させる。また、進行段階
管理手段は、電源投入時には、進行段階記憶部の情報を
読込み、先ずメモリブロックの交換処理が終了している
か否かを調べる。その結果、交換処理が未終了であった
場合は、進行段階記憶部で記憶されている進行段階の情
報に基づき、実行されていない処理からその交換処理を
再開する。
記第1〜第3発明で交換制御手段がメモリブロックの交
換処理を行う場合、進行段階管理手段は、現在の処理進
行段階を進行段階記憶部に記憶させる。また、進行段階
管理手段は、電源投入時には、進行段階記憶部の情報を
読込み、先ずメモリブロックの交換処理が終了している
か否かを調べる。その結果、交換処理が未終了であった
場合は、進行段階記憶部で記憶されている進行段階の情
報に基づき、実行されていない処理からその交換処理を
再開する。
【0024】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。 《第1実施例》図1は、本発明のメモリ制御装置として
の不揮発性半導体ディスク装置の第1実施例の構成図で
ある。図の装置は、不揮発性半導体ディスク装置1と、
ホスト2からなり、不揮発性半導体ディスク装置1は、
主制御部110、メモリ部102、バッファ部103、
ホストインタフェース部105、制御情報記憶部120
からなる。また、ホスト2は、従来と同様に、不揮発性
半導体ディスク装置1に対してデータのリード/ライト
要求を行うホスト計算機である。
説明する。 《第1実施例》図1は、本発明のメモリ制御装置として
の不揮発性半導体ディスク装置の第1実施例の構成図で
ある。図の装置は、不揮発性半導体ディスク装置1と、
ホスト2からなり、不揮発性半導体ディスク装置1は、
主制御部110、メモリ部102、バッファ部103、
ホストインタフェース部105、制御情報記憶部120
からなる。また、ホスト2は、従来と同様に、不揮発性
半導体ディスク装置1に対してデータのリード/ライト
要求を行うホスト計算機である。
【0025】不揮発性半導体ディスク装置1におけるメ
モリ部102、バッファ部103およびホストインタフ
ェース部105は、従来と同等の機能を有しているた
め、ここでの説明は省略する。また、主制御部110
は、不揮発性半導体ディスク装置1全体を制御するプロ
セッサであり、交換制御手段111を備えている。この
交換制御手段111は、ホスト2から不揮発性半導体デ
ィスク装置1に対してライト要求があった場合、後述す
るテーブル121を参照して、ホスト2からの指示アド
レスをメモリ部102の内部アドレス(以下、論理アド
レスという)に変換すると共に、その論理アドレスのメ
モリブロックの書換え回数に基づき、メモリブロックの
交換を行うか否かの判定を行い、交換が必要であった場
合は、その交換処理およびテーブル121の更新処理を
行う機能を有している。
モリ部102、バッファ部103およびホストインタフ
ェース部105は、従来と同等の機能を有しているた
め、ここでの説明は省略する。また、主制御部110
は、不揮発性半導体ディスク装置1全体を制御するプロ
セッサであり、交換制御手段111を備えている。この
交換制御手段111は、ホスト2から不揮発性半導体デ
ィスク装置1に対してライト要求があった場合、後述す
るテーブル121を参照して、ホスト2からの指示アド
レスをメモリ部102の内部アドレス(以下、論理アド
レスという)に変換すると共に、その論理アドレスのメ
モリブロックの書換え回数に基づき、メモリブロックの
交換を行うか否かの判定を行い、交換が必要であった場
合は、その交換処理およびテーブル121の更新処理を
行う機能を有している。
【0026】また、制御情報記憶部120は、小容量の
書換え可能な不揮発メモリ(例えば、NVRAMやEE
PROM)からなり、テーブル121を備えている。図
2に、制御情報記憶部120中のテーブル121の構成
と、メモリ部102の論理アドレスの対応を示す。
書換え可能な不揮発メモリ(例えば、NVRAMやEE
PROM)からなり、テーブル121を備えている。図
2に、制御情報記憶部120中のテーブル121の構成
と、メモリ部102の論理アドレスの対応を示す。
【0027】メモリ部102は、従来と同様に、全体が
mブロック102−1〜102−mに区分されており、
1ブロックをkワードとして0,k,2k,…,(m−
1)kとアドレス付けされ、ブロック単位に消去可能で
ある。テーブル121は、m個の制御情報121−1〜
121−mに区分され、0,1,2,…,(m−1)と
アドレス付けされている。個々の制御情報121−1〜
121−mは、ブロック毎にディスクアドレス(ホスト
からの指示アドレス)順に格納されており、そのディス
クアドレスに対応したデータを格納するメモリ部102
のブロックアドレス(論理アドレス)、およびメモリ部
102の対応するブロックが書換えられた回数、更に、
対応するブロックの消去フラグを記憶している。
mブロック102−1〜102−mに区分されており、
1ブロックをkワードとして0,k,2k,…,(m−
1)kとアドレス付けされ、ブロック単位に消去可能で
ある。テーブル121は、m個の制御情報121−1〜
121−mに区分され、0,1,2,…,(m−1)と
アドレス付けされている。個々の制御情報121−1〜
121−mは、ブロック毎にディスクアドレス(ホスト
からの指示アドレス)順に格納されており、そのディス
クアドレスに対応したデータを格納するメモリ部102
のブロックアドレス(論理アドレス)、およびメモリ部
102の対応するブロックが書換えられた回数、更に、
対応するブロックの消去フラグを記憶している。
【0028】次に、本実施例のメモリ制御装置の動作を
説明する。図3、図4は、本実施例のメモリ制御装置に
おいて、主制御部110が行うライト/リードコマンド
処理のフローチャートである。この図3、図4および上
述した図1、図2を用いて、ホスト2が不揮発性半導体
ディスク装置1に対してライトもしくはリードコマンド
を発行してきた場合のコマンド処理の動作を説明する。
説明する。図3、図4は、本実施例のメモリ制御装置に
おいて、主制御部110が行うライト/リードコマンド
処理のフローチャートである。この図3、図4および上
述した図1、図2を用いて、ホスト2が不揮発性半導体
ディスク装置1に対してライトもしくはリードコマンド
を発行してきた場合のコマンド処理の動作を説明する。
【0029】ホスト2からホストインタフェース部10
5を通してコマンドが受け付けられると、主制御部11
0は、そのコマンドを、ホスト2からホストインタフェ
ース部105を通してリードし(ステップS1)、リー
ドコマンドであるかライトコマンドであるかを判断する
(ステップS2)。コマンドがライトであった場合は、
先ず、ライトする先頭のディスクアドレスとライトデー
タ数を、ホスト2からホストインタフェース部105を
通してリードし(ステップS3)、次に、主制御部11
0の交換制御手段111は、上記ディスクアドレスとラ
イトデータ数を用いて、テーブル121の対応するアド
レスを算出する(ステップS4a)。尚、従来と異なる
ステップには、ステップ番号に“a”を付してその相違
を明確にする。
5を通してコマンドが受け付けられると、主制御部11
0は、そのコマンドを、ホスト2からホストインタフェ
ース部105を通してリードし(ステップS1)、リー
ドコマンドであるかライトコマンドであるかを判断する
(ステップS2)。コマンドがライトであった場合は、
先ず、ライトする先頭のディスクアドレスとライトデー
タ数を、ホスト2からホストインタフェース部105を
通してリードし(ステップS3)、次に、主制御部11
0の交換制御手段111は、上記ディスクアドレスとラ
イトデータ数を用いて、テーブル121の対応するアド
レスを算出する(ステップS4a)。尚、従来と異なる
ステップには、ステップ番号に“a”を付してその相違
を明確にする。
【0030】そして、算出したアドレスを基にテーブル
121中の消去フラグをチェックし(ステップS5)、
メモリ部102中の該当ブロックが消去済みか否かの判
定を行う(ステップS6)。該当ブロックが消去済みで
あれば、ホスト2からホストインタフェース部105を
通して、ライトデータを直接メモリ部102の算出済み
アドレスにライトする(ステップS7)。ライト終了
後、テーブル121中の消去フラグを更新し(ステップ
S8)、ホスト2に対しホストインタフェース部105
を通して動作終了を通知し(ステップS9)、処理を終
了する。
121中の消去フラグをチェックし(ステップS5)、
メモリ部102中の該当ブロックが消去済みか否かの判
定を行う(ステップS6)。該当ブロックが消去済みで
あれば、ホスト2からホストインタフェース部105を
通して、ライトデータを直接メモリ部102の算出済み
アドレスにライトする(ステップS7)。ライト終了
後、テーブル121中の消去フラグを更新し(ステップ
S8)、ホスト2に対しホストインタフェース部105
を通して動作終了を通知し(ステップS9)、処理を終
了する。
【0031】一方、上記ステップS6において、該当ブ
ロックが消去済みでない場合、交換制御手段111は、
先ず、算出済みアドレスを基にテーブル121中の書換
え回数をチェックし(ステップS10a)、該当ブロッ
クが書換え可能か否かを判定する(ステップS11
a)。即ち、書換え回数が、メモリ素子で規定されてい
る書換え最大回数以上でかつ、他の何れのブロックの書
換え回数も[メモリ素子で規定されている書換え最大回
数−1]以上のときは、書換えができないので、ホスト
2に対して、ホストインタフェース部105を通してコ
マンドの異常終了を通知し(ステップS12)、処理を
終了する。これによりFEEPROMの書換え回数制限
を超えた書換えが生じるのを防いでいる。
ロックが消去済みでない場合、交換制御手段111は、
先ず、算出済みアドレスを基にテーブル121中の書換
え回数をチェックし(ステップS10a)、該当ブロッ
クが書換え可能か否かを判定する(ステップS11
a)。即ち、書換え回数が、メモリ素子で規定されてい
る書換え最大回数以上でかつ、他の何れのブロックの書
換え回数も[メモリ素子で規定されている書換え最大回
数−1]以上のときは、書換えができないので、ホスト
2に対して、ホストインタフェース部105を通してコ
マンドの異常終了を通知し(ステップS12)、処理を
終了する。これによりFEEPROMの書換え回数制限
を超えた書換えが生じるのを防いでいる。
【0032】また、上記ステップS11aにおいて、該
当ブロックの書換え回数がメモリ素子で規定されている
書換え最大回数未満か、あるいは、他の何れかのブロッ
クの書換え回数が[メモリ素子で規定されている書換え
最大回数−1]未満である場合は、次にブロック間交換
が必要であるか否か判定する(ステップS13a)。
当ブロックの書換え回数がメモリ素子で規定されている
書換え最大回数未満か、あるいは、他の何れかのブロッ
クの書換え回数が[メモリ素子で規定されている書換え
最大回数−1]未満である場合は、次にブロック間交換
が必要であるか否か判定する(ステップS13a)。
【0033】ブロック交換は、判定基準値として該当ブ
ロックの書換え回数が[メモリ素子で規定されている書
換え最大回数−1]以上である場合と、該当するブロッ
クと、書換え回数が最小のブロックとの間の書換え回数
の差がある一定数以上のとき行う。尚、ここで、一定数
とは、ホスト2からのライト要求への応答を考慮し、予
め実験的に求めた最適値である。即ち、この値が小さい
場合は、頻繁に書換え処理が行われるため、ホスト2へ
の応答が遅くなってしまう等の問題が発生してしまうこ
とから、ブロック間の書換え回数の均一化とホスト2へ
の応答速度を考慮した値を設定している。
ロックの書換え回数が[メモリ素子で規定されている書
換え最大回数−1]以上である場合と、該当するブロッ
クと、書換え回数が最小のブロックとの間の書換え回数
の差がある一定数以上のとき行う。尚、ここで、一定数
とは、ホスト2からのライト要求への応答を考慮し、予
め実験的に求めた最適値である。即ち、この値が小さい
場合は、頻繁に書換え処理が行われるため、ホスト2へ
の応答が遅くなってしまう等の問題が発生してしまうこ
とから、ブロック間の書換え回数の均一化とホスト2へ
の応答速度を考慮した値を設定している。
【0034】上記書換え処理は、先ず、テーブル121
中の該当ブロックに関する、消去フラグ、書換え回数、
メモリブロックの論理アドレスを交換対象のブロックの
ものと交換し、更に双方の書換え回数を“1”加算す
る。(ステップS14a)。ここで、該当ブロックをデ
ィスクアドレス“0”、交換対象ブロックをディスクア
ドレス“1”とすると、ステップS14a後のテーブル
121は図2中の内容となる。
中の該当ブロックに関する、消去フラグ、書換え回数、
メモリブロックの論理アドレスを交換対象のブロックの
ものと交換し、更に双方の書換え回数を“1”加算す
る。(ステップS14a)。ここで、該当ブロックをデ
ィスクアドレス“0”、交換対象ブロックをディスクア
ドレス“1”とすると、ステップS14a後のテーブル
121は図2中の内容となる。
【0035】次に、メモリ部102中の該当ブロック
(図2中のブロック1)のデータをバッファ部103に
転送し(ステップS15a)、更に、該当ブロックを消
去する(ステップS16a)。そして、交換対象のブロ
ック(図2中のブロック2)から該当ブロックへのデー
タ転送を行い(ステップS17a)、交換対象のブロッ
クを消去し(ステップS18a)、バッファ部103か
ら交換対象ブロックへのデータ転送を行う(ステップS
19a)。従って、メモリ部102において、論理アド
レス“0”のデータと、論理アドレス“k”のデータと
が交換されたことになる。
(図2中のブロック1)のデータをバッファ部103に
転送し(ステップS15a)、更に、該当ブロックを消
去する(ステップS16a)。そして、交換対象のブロ
ック(図2中のブロック2)から該当ブロックへのデー
タ転送を行い(ステップS17a)、交換対象のブロッ
クを消去し(ステップS18a)、バッファ部103か
ら交換対象ブロックへのデータ転送を行う(ステップS
19a)。従って、メモリ部102において、論理アド
レス“0”のデータと、論理アドレス“k”のデータと
が交換されたことになる。
【0036】その後、テーブル121中の該当アドレス
(ディスクアドレス“0”)の書換え回数に1加算し
(ステップS20)、メモリ部102中の該当するアド
レスが含まれるブロック全体の内容(即ち、ブロック交
換した論理アドレス“k”の内容)をバッファ部103
にコピーする(ステップS21)。次に、そのブロック
をブロック消去し(ステップS22)、その後、ホスト
2からホストインタフェース部105を通してそのライ
トデータをバッファ部103へ該当アドレスからライト
する(ステップS23)。ライト終了後、バッファ部1
03中のデータをメモリ部102中の同一ブロックへ戻
し(ステップS24)、ホスト2に対してホストインタ
フェース部105を通して動作終了を通知し(ステップ
S9)、処理を終了する。尚、上記ステップS20〜ス
テップS25の内容は、図16に示した従来のステップ
S12〜ステップS16の内容と同様である。
(ディスクアドレス“0”)の書換え回数に1加算し
(ステップS20)、メモリ部102中の該当するアド
レスが含まれるブロック全体の内容(即ち、ブロック交
換した論理アドレス“k”の内容)をバッファ部103
にコピーする(ステップS21)。次に、そのブロック
をブロック消去し(ステップS22)、その後、ホスト
2からホストインタフェース部105を通してそのライ
トデータをバッファ部103へ該当アドレスからライト
する(ステップS23)。ライト終了後、バッファ部1
03中のデータをメモリ部102中の同一ブロックへ戻
し(ステップS24)、ホスト2に対してホストインタ
フェース部105を通して動作終了を通知し(ステップ
S9)、処理を終了する。尚、上記ステップS20〜ス
テップS25の内容は、図16に示した従来のステップ
S12〜ステップS16の内容と同様である。
【0037】また、ステップS13aでブロック間交換
が必要でない場合は、ステップS20に移行し、従来と
同様の書換え処理を行う。
が必要でない場合は、ステップS20に移行し、従来と
同様の書換え処理を行う。
【0038】一方、ステップS2において、コマンドが
リードであった場合は、先ず、リードする先頭のディス
クアドレスとリードデータ数をホスト2からホストイン
タフェース部105を通してリードする(ステップS2
5a)。次に、上記ディスクアドレスとリードデータ数
を用いて、テーブル121の対応するアドレスを算出
し、そのアドレスから、メモリ部102中のリードデー
タの格納されているアドレスを算出する(ステップS2
6a)。そして、ホスト2へ、そのリードデータを直接
メモリ部102の算出済みアドレスからリードする(ス
テップS27)。リード終了後、ホスト2に対してホス
トインタフェース部105を通して動作終了を通知し
(ステップS28)、処理を終了する。尚、ステップS
27およびS28の処理は、従来のステップS20およ
びS21の処理に対応するものである。
リードであった場合は、先ず、リードする先頭のディス
クアドレスとリードデータ数をホスト2からホストイン
タフェース部105を通してリードする(ステップS2
5a)。次に、上記ディスクアドレスとリードデータ数
を用いて、テーブル121の対応するアドレスを算出
し、そのアドレスから、メモリ部102中のリードデー
タの格納されているアドレスを算出する(ステップS2
6a)。そして、ホスト2へ、そのリードデータを直接
メモリ部102の算出済みアドレスからリードする(ス
テップS27)。リード終了後、ホスト2に対してホス
トインタフェース部105を通して動作終了を通知し
(ステップS28)、処理を終了する。尚、ステップS
27およびS28の処理は、従来のステップS20およ
びS21の処理に対応するものである。
【0039】以上のように第1実施例では、各々のメモ
リブロックの書換え回数を示すテーブル121を設け、
ホスト2からのライト要求があった場合は、このテーブ
ル121を参照して、メモリ部102における書換え回
数の多いブロックと少ないブロックとを交換するように
したので、ブロック間の書換え回数のばらつきを低く抑
えることができ、書換え回数の制限から来る装置全体と
しての寿命を著しく延ばすことができる。
リブロックの書換え回数を示すテーブル121を設け、
ホスト2からのライト要求があった場合は、このテーブ
ル121を参照して、メモリ部102における書換え回
数の多いブロックと少ないブロックとを交換するように
したので、ブロック間の書換え回数のばらつきを低く抑
えることができ、書換え回数の制限から来る装置全体と
しての寿命を著しく延ばすことができる。
【0040】《第2実施例》図5は、第2実施例による
メモリ制御装置のブロック図である。図5において、交
換制御手段112は、専用のプロセッサあるいはプログ
ラムからなり、ホスト2からのライトコマンドによっ
て、上記第1実施例と同様のブロック交換処理を行うと
共に、主制御部110の動作中は、一定周期で次のブロ
ック交換処理を実行する機能を有している。
メモリ制御装置のブロック図である。図5において、交
換制御手段112は、専用のプロセッサあるいはプログ
ラムからなり、ホスト2からのライトコマンドによっ
て、上記第1実施例と同様のブロック交換処理を行うと
共に、主制御部110の動作中は、一定周期で次のブロ
ック交換処理を実行する機能を有している。
【0041】即ち、一定周期でテーブル121を参照
し、メモリ部102における各メモリブロックのそれぞ
れの書換え回数を調べ、メモリブロックの書換え回数の
最大値と最小値との差が所定値以上であった場合、これ
らメモリブロックのデータを交換すると共に、テーブル
121中の最大値のメモリブロックの論理アドレスを最
小値のメモリブロックの論理アドレスと交換する機能を
有している。
し、メモリ部102における各メモリブロックのそれぞ
れの書換え回数を調べ、メモリブロックの書換え回数の
最大値と最小値との差が所定値以上であった場合、これ
らメモリブロックのデータを交換すると共に、テーブル
121中の最大値のメモリブロックの論理アドレスを最
小値のメモリブロックの論理アドレスと交換する機能を
有している。
【0042】また、130は小容量の書換え可能な不揮
発メモリ(例えばNVRAMやEEPROM)からなる
交換用データ領域であり、上記最大値のメモリブロック
と最小値のメモリブロックの交換処理において一時的に
そのデータを格納するものである。そして、交換用デー
タ領域130の容量は、メモリ部102における1ブロ
ック分以上の大きさを有している。尚、この交換用デー
タ領域130と制御情報記憶部120とを単一の不揮発
メモリで構成することも可能である。また、図5中、他
の構成は上記第1実施例と同様であるため、対応する部
分に同一符号を付してその説明を省略する。
発メモリ(例えばNVRAMやEEPROM)からなる
交換用データ領域であり、上記最大値のメモリブロック
と最小値のメモリブロックの交換処理において一時的に
そのデータを格納するものである。そして、交換用デー
タ領域130の容量は、メモリ部102における1ブロ
ック分以上の大きさを有している。尚、この交換用デー
タ領域130と制御情報記憶部120とを単一の不揮発
メモリで構成することも可能である。また、図5中、他
の構成は上記第1実施例と同様であるため、対応する部
分に同一符号を付してその説明を省略する。
【0043】次に、上記第2実施例の動作について説明
する。先ず、主制御部110が行うライト/リードコマ
ンド処理において、そのフローチャートは上記第1実施
例と同様であるが、そのブロック交換処理が以下の点で
異なっている。
する。先ず、主制御部110が行うライト/リードコマ
ンド処理において、そのフローチャートは上記第1実施
例と同様であるが、そのブロック交換処理が以下の点で
異なっている。
【0044】即ち、第1実施例では、ステップS13a
のブロック交換が必要であるか否かの判定基準が、該当
ブロックの書換え回数が[メモリ素子で規定されている
書換え最大回数−1]以上である場合と、該当するブロ
ックと、書換え回数が最小のブロックとの間の書換え回
数の差がある一定数以上のときであったのに対し、第2
実施例では、該当ブロックの書換え回数が[メモリ素子
で規定されている書換え最大回数−1]以上である場合
のみ行う点である。これ以外の動作は、第1実施例と同
様であり、重複を避けるため、他の処理の説明は省略す
る。
のブロック交換が必要であるか否かの判定基準が、該当
ブロックの書換え回数が[メモリ素子で規定されている
書換え最大回数−1]以上である場合と、該当するブロ
ックと、書換え回数が最小のブロックとの間の書換え回
数の差がある一定数以上のときであったのに対し、第2
実施例では、該当ブロックの書換え回数が[メモリ素子
で規定されている書換え最大回数−1]以上である場合
のみ行う点である。これ以外の動作は、第1実施例と同
様であり、重複を避けるため、他の処理の説明は省略す
る。
【0045】また、メモリ部102のブロック間のばら
つきを抑えるためのブロック交換は、以下に述べるブロ
ック交換処理で行うものであり、これが第2実施例にお
ける特徴点をなすものである。
つきを抑えるためのブロック交換は、以下に述べるブロ
ック交換処理で行うものであり、これが第2実施例にお
ける特徴点をなすものである。
【0046】図6は、そのブロック交換処理動作を示す
フローチャートである。交換制御手段112は、本処理
をある一定周期で起動、実行するものとする。本処理が
起動されると、テーブル121中の各メモリブロックの
書換え回数をチェックし(ステップS1)、ブロック間
の交換が必要であるか否か判定する(ステップS2)。
即ち、この判定は、任意の二つのブロック間の書換え回
数の差における最大値を検出し、この値がある一定値以
上である場合に、書換え回数が最大のメモリブロック
(以下、最大ブロックと称す)と最小のメモリブロック
(以下、最小ブロックと称す)との間でブロック間交換
を行うものである。
フローチャートである。交換制御手段112は、本処理
をある一定周期で起動、実行するものとする。本処理が
起動されると、テーブル121中の各メモリブロックの
書換え回数をチェックし(ステップS1)、ブロック間
の交換が必要であるか否か判定する(ステップS2)。
即ち、この判定は、任意の二つのブロック間の書換え回
数の差における最大値を検出し、この値がある一定値以
上である場合に、書換え回数が最大のメモリブロック
(以下、最大ブロックと称す)と最小のメモリブロック
(以下、最小ブロックと称す)との間でブロック間交換
を行うものである。
【0047】このブロック間交換においては、先ず、テ
ーブル121中の最大ブロックに関する消去フラグ、書
換え回数、メモリブロックの論理アドレスを、最小ブロ
ックのものと交換し、更に、双方の書換え回数を1加算
する(ステップS3)。次に、メモリ部102中の最大
ブロックのデータを、交換用データ領域130に転送し
(ステップS4)、更に、最大ブロックの消去(ステッ
プS5)、最小ブロックから最大ブロックへのデータ転
送(ステップS6)、最小ブロックの消去(ステップS
7)、交換用データ領域130から最小ブロックへのデ
ータ転送(ステップS8)を行い、処理を終了する。ま
た、上記ステップS2において、ブロック間交換が必要
でない場合は、直ちに処理を終了する。
ーブル121中の最大ブロックに関する消去フラグ、書
換え回数、メモリブロックの論理アドレスを、最小ブロ
ックのものと交換し、更に、双方の書換え回数を1加算
する(ステップS3)。次に、メモリ部102中の最大
ブロックのデータを、交換用データ領域130に転送し
(ステップS4)、更に、最大ブロックの消去(ステッ
プS5)、最小ブロックから最大ブロックへのデータ転
送(ステップS6)、最小ブロックの消去(ステップS
7)、交換用データ領域130から最小ブロックへのデ
ータ転送(ステップS8)を行い、処理を終了する。ま
た、上記ステップS2において、ブロック間交換が必要
でない場合は、直ちに処理を終了する。
【0048】以上のように第2実施例では、ある一定周
期で、テーブル121を参照し、メモリ部102におけ
る書換え回数の多いブロックと少ないブロックとを交換
するようにしたので、上記第1実施例の効果に加えて、
ホスト2からのライト要求に対する応答を速やかに行う
ことができる。
期で、テーブル121を参照し、メモリ部102におけ
る書換え回数の多いブロックと少ないブロックとを交換
するようにしたので、上記第1実施例の効果に加えて、
ホスト2からのライト要求に対する応答を速やかに行う
ことができる。
【0049】《第3実施例》次に、交換制御手段がメモ
リブロック交換処理を実行する場合、その進行段階を保
持し、交換処理が未終了のまま不揮発性半導体ディスク
装置1の電源がオフされた場合は、次の電源オンによっ
て交換処理を再開する第3実施例を説明する。
リブロック交換処理を実行する場合、その進行段階を保
持し、交換処理が未終了のまま不揮発性半導体ディスク
装置1の電源がオフされた場合は、次の電源オンによっ
て交換処理を再開する第3実施例を説明する。
【0050】図7は、第3実施例によるメモリ制御装置
のブロック図である。図7において、140は、進行段
階記憶部であり、この進行段階記憶部140は、小容量
の書換え可能な不揮発性メモリ(例えば、NVRAMや
EEPROM等)で構成され、後述する交換制御手段1
13が実行するメモリブロックの交換処理における現在
の処理進行段階を保持するためのものである。図8に、
進行段階記憶部140の内部構成を示す。即ち、進行段
階記憶部140は、交換中であるか否かを示す交換中フ
ラグ141、交換を行う二つのメモリブロックの論理ア
ドレスを示す交換アドレスA142、および交換アドレ
スB143、どの段階まで交換処理が進行しているかを
示す交換進行フラグ144とで構成されている。
のブロック図である。図7において、140は、進行段
階記憶部であり、この進行段階記憶部140は、小容量
の書換え可能な不揮発性メモリ(例えば、NVRAMや
EEPROM等)で構成され、後述する交換制御手段1
13が実行するメモリブロックの交換処理における現在
の処理進行段階を保持するためのものである。図8に、
進行段階記憶部140の内部構成を示す。即ち、進行段
階記憶部140は、交換中であるか否かを示す交換中フ
ラグ141、交換を行う二つのメモリブロックの論理ア
ドレスを示す交換アドレスA142、および交換アドレ
スB143、どの段階まで交換処理が進行しているかを
示す交換進行フラグ144とで構成されている。
【0051】また、交換制御手段113は、上記第1ま
たは第2実施例の交換制御手段111(または112)
と同様のメモリブロック交換処理を行うものである。そ
して、主制御部110には、進行段階管理手段114が
備えられている。この進行段階管理手段114は、交換
制御手段113が実行するブロック交換処理の進行段階
に関する情報を進行段階記憶部140に格納すると共
に、不揮発性半導体ディスク装置1への電源投入時に、
進行段階記憶部140の情報を読込み、交換処理が未終
了であった場合は、進行段階記憶部140で記憶されて
いる進行段階の情報に基づき、その変換処理を再開させ
る機能を有している。尚、この進行段階管理手段114
は、交換制御手段113と同様に、専用のプロセッサあ
るいはプログラム等から構成されている。尚、図7にお
いて、上記構成以外の構成は、上記第1、第2実施例と
同様であるため、対応する部分に同一符号を付してその
説明を省略する。
たは第2実施例の交換制御手段111(または112)
と同様のメモリブロック交換処理を行うものである。そ
して、主制御部110には、進行段階管理手段114が
備えられている。この進行段階管理手段114は、交換
制御手段113が実行するブロック交換処理の進行段階
に関する情報を進行段階記憶部140に格納すると共
に、不揮発性半導体ディスク装置1への電源投入時に、
進行段階記憶部140の情報を読込み、交換処理が未終
了であった場合は、進行段階記憶部140で記憶されて
いる進行段階の情報に基づき、その変換処理を再開させ
る機能を有している。尚、この進行段階管理手段114
は、交換制御手段113と同様に、専用のプロセッサあ
るいはプログラム等から構成されている。尚、図7にお
いて、上記構成以外の構成は、上記第1、第2実施例と
同様であるため、対応する部分に同一符号を付してその
説明を省略する。
【0052】次に、上記第3実施例の動作について説明
する。図9、図10、図11は、第3実施例のメモリ制
御装置において、主制御部110が行うライト/リード
コマンド処理のフローチャートである。この図9〜図1
1および上述した図7、図8を用いて、ホスト2が不揮
発性半導体ディスク装置1に対してライトもしくはリー
ドコマンドを発行してきた場合のコマンド処理の動作を
説明する。
する。図9、図10、図11は、第3実施例のメモリ制
御装置において、主制御部110が行うライト/リード
コマンド処理のフローチャートである。この図9〜図1
1および上述した図7、図8を用いて、ホスト2が不揮
発性半導体ディスク装置1に対してライトもしくはリー
ドコマンドを発行してきた場合のコマンド処理の動作を
説明する。
【0053】ホスト2からホストインタフェース部10
5を通してのコマンドが受け付けられると、コマンド処
理が開始される。そしてこのコマンド処理において、ス
テップS1〜ステップS13aまでは、上記第1実施例
または第2実施例と同様であるため、その説明は省略す
る。
5を通してのコマンドが受け付けられると、コマンド処
理が開始される。そしてこのコマンド処理において、ス
テップS1〜ステップS13aまでは、上記第1実施例
または第2実施例と同様であるため、その説明は省略す
る。
【0054】ステップS13aにおいて、ブロック交換
が必要であった場合は、次のような処理を行う。先ず、
進行段階管理手段114は、交換制御手段113による
ブロック交換処理の開始に基づき、交換中フラグ141
をセットし、かつ交換アドレスA142に該当ブロック
の論理アドレスを、また交換アドレスB142に交換対
象ブロックの論理アドレスを、更に交換進行フラグ14
4を1にセットする(ステップS14b)。尚、以下、
上記第1、第2実施例と同様の処理についてはステップ
番号に“a”、異なる処理については、ステップ番号に
“b”を付してその相違を明確にする。
が必要であった場合は、次のような処理を行う。先ず、
進行段階管理手段114は、交換制御手段113による
ブロック交換処理の開始に基づき、交換中フラグ141
をセットし、かつ交換アドレスA142に該当ブロック
の論理アドレスを、また交換アドレスB142に交換対
象ブロックの論理アドレスを、更に交換進行フラグ14
4を1にセットする(ステップS14b)。尚、以下、
上記第1、第2実施例と同様の処理についてはステップ
番号に“a”、異なる処理については、ステップ番号に
“b”を付してその相違を明確にする。
【0055】次に、テーブル121中の該当ブロックに
関する、消去フラグ、書換え回数、メモリブロックの論
理アドレスを、交換対象のブロックのものと交換し、更
に双方の書換え回数を1加算する(ステップS15
a)。その後、交換進行フラグ144を2にセットする
(ステップS16b)。そして、メモリ部102中の該
当ブロックのデータをバッファ部103に転送し(ステ
ップS17a)、交換進行フラグ144を3にセットす
る(ステップS18b)。更に、該当ブロックの消去
(ステップS19a)、交換進行フラグ144へ4をセ
ット(ステップS20b)、交換対象のブロックから該
当ブロックへのデータ転送(ステップS21a)、交換
進行フラグ144へ5をセット(ステップS22b)、
交換対象のブロックの消去(ステップS23a)、交換
進行フラグ144へ6をセット(ステップS24b)、
バッファ部103から交換対象ブロックへのデータ転送
(ステップS25a)、交換中フラグ141のリセット
(ステップS26b)を行う。
関する、消去フラグ、書換え回数、メモリブロックの論
理アドレスを、交換対象のブロックのものと交換し、更
に双方の書換え回数を1加算する(ステップS15
a)。その後、交換進行フラグ144を2にセットする
(ステップS16b)。そして、メモリ部102中の該
当ブロックのデータをバッファ部103に転送し(ステ
ップS17a)、交換進行フラグ144を3にセットす
る(ステップS18b)。更に、該当ブロックの消去
(ステップS19a)、交換進行フラグ144へ4をセ
ット(ステップS20b)、交換対象のブロックから該
当ブロックへのデータ転送(ステップS21a)、交換
進行フラグ144へ5をセット(ステップS22b)、
交換対象のブロックの消去(ステップS23a)、交換
進行フラグ144へ6をセット(ステップS24b)、
バッファ部103から交換対象ブロックへのデータ転送
(ステップS25a)、交換中フラグ141のリセット
(ステップS26b)を行う。
【0056】尚、上記ステップS15a、S17a、S
19a、S21a、S23a、S25aの処理は、それ
ぞれ上記第1、第2実施例におけるステップS14a〜
S19aの処理と同様である。そして、その後のステッ
プS27〜S31の処理は、上記第1または第2実施例
におけるステップS20〜S24の処理と同様であるた
め、ここでの説明は省略する。また、ステップS2にお
いて、コマンドがリードであった場合のステップS32
a〜S35の処理は、上記第1または第2実施例におけ
るステップS25a〜S28の処理と同様である。
19a、S21a、S23a、S25aの処理は、それ
ぞれ上記第1、第2実施例におけるステップS14a〜
S19aの処理と同様である。そして、その後のステッ
プS27〜S31の処理は、上記第1または第2実施例
におけるステップS20〜S24の処理と同様であるた
め、ここでの説明は省略する。また、ステップS2にお
いて、コマンドがリードであった場合のステップS32
a〜S35の処理は、上記第1または第2実施例におけ
るステップS25a〜S28の処理と同様である。
【0057】次に、交換制御手段113が、主制御部1
10の動作中に、ブロック交換処理をある一定周期で行
う場合の動作を説明する。即ち、これは、上記第2実施
例において、図6に示したブロック交換処理に対応する
ものである。図12に、そのブロック交換処理のフロー
チャートを示す。尚、このフローチャートにおいても、
第2実施例と異なる処理についてはステップ番号に
“a”を付している。
10の動作中に、ブロック交換処理をある一定周期で行
う場合の動作を説明する。即ち、これは、上記第2実施
例において、図6に示したブロック交換処理に対応する
ものである。図12に、そのブロック交換処理のフロー
チャートを示す。尚、このフローチャートにおいても、
第2実施例と異なる処理についてはステップ番号に
“a”を付している。
【0058】先ず、本処理を起動すると、第2実施例と
同様に、テーブル121中の書換え回数をチェックし
(ステップS1)、ブロック間の交換が必要か否か判定
する(ステップS2)。即ち、各ブロック間の書換え回
数の差のうち、最大の値が、ある一定値以上であった場
合は、書換え回数が最大のブロックと最小のブロックと
の間でブロック間交換を行う。
同様に、テーブル121中の書換え回数をチェックし
(ステップS1)、ブロック間の交換が必要か否か判定
する(ステップS2)。即ち、各ブロック間の書換え回
数の差のうち、最大の値が、ある一定値以上であった場
合は、書換え回数が最大のブロックと最小のブロックと
の間でブロック間交換を行う。
【0059】このブロック間交換においては、進行段階
管理手段114は、先ず、進行段階記憶部140におけ
る交換中フラグ141をセットし、交換アドレスA14
2に最大ブロックの論理アドレスを、交換アドレスB1
42に最小ブロックの論理アドレスを、更に、交換進行
フラグ144を1にセットにする(ステップS3a)。
そして、テーブル中の最大ブロックに関する、消去フラ
グ、書換え回数、メモリブロックの論理アドレスを、最
小ブロックのものと交換し、更に双方の書換え回数を1
加算する(ステップS4)。その後、交換進行フラグ1
44を2にセットする(ステップS5a)。
管理手段114は、先ず、進行段階記憶部140におけ
る交換中フラグ141をセットし、交換アドレスA14
2に最大ブロックの論理アドレスを、交換アドレスB1
42に最小ブロックの論理アドレスを、更に、交換進行
フラグ144を1にセットにする(ステップS3a)。
そして、テーブル中の最大ブロックに関する、消去フラ
グ、書換え回数、メモリブロックの論理アドレスを、最
小ブロックのものと交換し、更に双方の書換え回数を1
加算する(ステップS4)。その後、交換進行フラグ1
44を2にセットする(ステップS5a)。
【0060】次に、メモリ部102中の最大ブロックの
データを、交換用データ領域130に転送し(ステップ
S6)、交換進行フラグ144を3にセットする(ステ
ップS7a)。更に、最大ブロックの消去(ステップS
8)、交換進行フラグ144へ4をセット(ステップS
9a)、最小ブロックから最大ブロックへのデータ転送
(ステップS10)、交換進行フラグ144へ5をセッ
ト(ステップS11a)、最小ブロックの消去(ステッ
プS12)、交換進行フラグ144へ6をセット(ステ
ップS13a)、交換用データ領域130から最小ブロ
ックへのデータ転送(ステップS14)、交換中フラグ
141のリセット(ステップS15a)を行い、処理を
終了する。
データを、交換用データ領域130に転送し(ステップ
S6)、交換進行フラグ144を3にセットする(ステ
ップS7a)。更に、最大ブロックの消去(ステップS
8)、交換進行フラグ144へ4をセット(ステップS
9a)、最小ブロックから最大ブロックへのデータ転送
(ステップS10)、交換進行フラグ144へ5をセッ
ト(ステップS11a)、最小ブロックの消去(ステッ
プS12)、交換進行フラグ144へ6をセット(ステ
ップS13a)、交換用データ領域130から最小ブロ
ックへのデータ転送(ステップS14)、交換中フラグ
141のリセット(ステップS15a)を行い、処理を
終了する。
【0061】一方、ステップS2において、ブロック間
交換が必要でない場合は、直ちに処理を終了する。尚、
上記処理において、ステップS4、S6、S8、S1
0、S12、S14は、図6のステップS3〜S8の処
理と同様である。即ち、本実施例では、ブロック交換処
理の各段階に対応させて交換進行フラグの数値を増加さ
せたものである。
交換が必要でない場合は、直ちに処理を終了する。尚、
上記処理において、ステップS4、S6、S8、S1
0、S12、S14は、図6のステップS3〜S8の処
理と同様である。即ち、本実施例では、ブロック交換処
理の各段階に対応させて交換進行フラグの数値を増加さ
せたものである。
【0062】次に、進行段階管理手段114が、電源投
入時に行うブロック交換再開処理を説明する。図13
は、そのフローチャートである。不揮発性半導体ディス
ク装置1への電源投入によって、本処理が起動される
と、進行段階管理手段114は、先ず、交換中フラグ1
41をチェックする(ステップS1、S2)。ここで、
交換中フラグ141がセットされていれば、電源投入以
前に行っていたブロック交換処理が中断したままになっ
ているので、次に交換進行フラグ144をチェックし
(ステップS3、S4)、交換進行フラグ144の値に
応じたステップから、中断中のブロック交換処理を再開
する(ステップS5〜ステップS16)。
入時に行うブロック交換再開処理を説明する。図13
は、そのフローチャートである。不揮発性半導体ディス
ク装置1への電源投入によって、本処理が起動される
と、進行段階管理手段114は、先ず、交換中フラグ1
41をチェックする(ステップS1、S2)。ここで、
交換中フラグ141がセットされていれば、電源投入以
前に行っていたブロック交換処理が中断したままになっ
ているので、次に交換進行フラグ144をチェックし
(ステップS3、S4)、交換進行フラグ144の値に
応じたステップから、中断中のブロック交換処理を再開
する(ステップS5〜ステップS16)。
【0063】即ち、交換進行フラグ144が1ならば、
ステップS5のテーブル121中のブロック交換処理か
ら、また、2ならば、ステップS7の最大ブロックを交
換用データ領域130に転送する処理から再開する。以
下、同様に、交換進行フラグ144が3ならば、ステッ
プS9の最大ブロックの消去処理、4ならばステップS
11の最小ブロックから最大ブロックへのデータ転送処
理、5ならばステップS13の最小ブロックの消去処
理、6ならばステップS15の交換用データ領域130
から最小ブロックへのデータ転送処理といったように処
理を再開する。尚、ステップS2において、交換中フラ
グ141がセットされていなければ、直ちに処理を終了
する。
ステップS5のテーブル121中のブロック交換処理か
ら、また、2ならば、ステップS7の最大ブロックを交
換用データ領域130に転送する処理から再開する。以
下、同様に、交換進行フラグ144が3ならば、ステッ
プS9の最大ブロックの消去処理、4ならばステップS
11の最小ブロックから最大ブロックへのデータ転送処
理、5ならばステップS13の最小ブロックの消去処
理、6ならばステップS15の交換用データ領域130
から最小ブロックへのデータ転送処理といったように処
理を再開する。尚、ステップS2において、交換中フラ
グ141がセットされていなければ、直ちに処理を終了
する。
【0064】以上のように第3実施例では、メモリブロ
ック間の交換に関する情報を進行段階記憶部140に保
持させ、かつ装置の電源投入時には、保持した情報に基
づき、中断中のブロック間交換を再開できるようにした
ので、ブロック間交換中の、電源断等の不意の処理中断
に対してもデータを正しく保持することができる。
ック間の交換に関する情報を進行段階記憶部140に保
持させ、かつ装置の電源投入時には、保持した情報に基
づき、中断中のブロック間交換を再開できるようにした
ので、ブロック間交換中の、電源断等の不意の処理中断
に対してもデータを正しく保持することができる。
【0065】
【発明の効果】以上詳細に説明したように、第1および
第2発明のメモリ制御装置によれば、ホストからの指示
アドレスとメモリ部におけるメモリブロックの論理アド
レスの関係を示すと共に、各々のメモリブロックの書換
え回数を示すテーブルを設け、ホストからのライト要求
があった場合は、このテーブルを参照して、メモリ部に
おける書換え回数の多いブロックと少ないブロックとを
交換するようにしたので、ブロック間の書換え回数のば
らつきを低く抑えることができ、書換え回数の制限から
来る装置全体としての寿命を著しく延ばすことができ
る。
第2発明のメモリ制御装置によれば、ホストからの指示
アドレスとメモリ部におけるメモリブロックの論理アド
レスの関係を示すと共に、各々のメモリブロックの書換
え回数を示すテーブルを設け、ホストからのライト要求
があった場合は、このテーブルを参照して、メモリ部に
おける書換え回数の多いブロックと少ないブロックとを
交換するようにしたので、ブロック間の書換え回数のば
らつきを低く抑えることができ、書換え回数の制限から
来る装置全体としての寿命を著しく延ばすことができ
る。
【0066】また、第3発明のメモリ制御装置によれ
ば、第1、第2発明と同様のテーブルを設けると共に、
装置の動作中、ある一定周期で、このテーブルを参照
し、メモリ部における書換え回数の多いブロックと少な
いブロックとを交換するようにしたので、上記第1、第
2発明の効果に加えて、ホストからのライト要求に対す
る応答を速やかに行うことができる。
ば、第1、第2発明と同様のテーブルを設けると共に、
装置の動作中、ある一定周期で、このテーブルを参照
し、メモリ部における書換え回数の多いブロックと少な
いブロックとを交換するようにしたので、上記第1、第
2発明の効果に加えて、ホストからのライト要求に対す
る応答を速やかに行うことができる。
【0067】更に、第4発明のメモリ制御装置によれ
ば、上記第1〜第3発明に加えて、メモリブロック間の
交換に関する情報を保持し、かつ装置の電源投入時に
は、上記情報に基づき、中断中のブロック間交換を再開
できるようにしたので、ブロック間交換中の、電源断等
の不意の処理中断に対してもデータを正しく保持するこ
とができる。
ば、上記第1〜第3発明に加えて、メモリブロック間の
交換に関する情報を保持し、かつ装置の電源投入時に
は、上記情報に基づき、中断中のブロック間交換を再開
できるようにしたので、ブロック間交換中の、電源断等
の不意の処理中断に対してもデータを正しく保持するこ
とができる。
【図1】本発明のメモリ制御装置における第1実施例の
ブロック図である。
ブロック図である。
【図2】本発明のメモリ制御装置におけるテーブルとメ
モリ部との関係を示す説明図である。
モリ部との関係を示す説明図である。
【図3】本発明のメモリ制御装置における第1実施例の
動作を示すフローチャート(その1)である。
動作を示すフローチャート(その1)である。
【図4】本発明のメモリ制御装置における第1実施例の
動作を示すフローチャート(その2)である。
動作を示すフローチャート(その2)である。
【図5】本発明のメモリ制御装置における第2実施例の
ブロック図である。
ブロック図である。
【図6】本発明のメモリ制御装置における第2実施例の
ブロック交換処理のフローチャートである。
ブロック交換処理のフローチャートである。
【図7】本発明のメモリ制御装置における第3実施例の
ブロック図である。
ブロック図である。
【図8】本発明のメモリ制御装置における第3実施例の
進行段階記憶部の内部構成図である。
進行段階記憶部の内部構成図である。
【図9】本発明のメモリ制御装置における第3実施例の
動作を示すフローチャート(その1)である。
動作を示すフローチャート(その1)である。
【図10】本発明のメモリ制御装置における第3実施例
の動作を示すフローチャート(その2)である。
の動作を示すフローチャート(その2)である。
【図11】本発明のメモリ制御装置における第3実施例
の動作を示すフローチャート(その3)である。
の動作を示すフローチャート(その3)である。
【図12】本発明のメモリ制御装置における第3実施例
のブロック交換処理のフローチャートである。
のブロック交換処理のフローチャートである。
【図13】本発明のメモリ制御装置における第3実施例
のブロック交換再開処理のフローチャートである。
のブロック交換再開処理のフローチャートである。
【図14】従来のメモリ制御装置のブロック図である。
【図15】従来のメモリ制御装置における制御情報記憶
部の内部構成の説明図である。
部の内部構成の説明図である。
【図16】従来のメモリ制御装置の動作を示すフローチ
ャートである。
ャートである。
2 ホスト 102 メモリ部 111、112、113 交換制御手段 114 進行段階管理手段 121 テーブル 140 進行段階記憶部
Claims (4)
- 【請求項1】 複数のメモリブロックからなるフラッシ
ュメモリで構成されたメモリ部と、 前記メモリ部に対してアクセス要求を行うホストからの
指示アドレスと、前記メモリブロックの論理アドレスと
の関係を示すと共に、前記複数のメモリブロックの各々
の書換え回数を示すテーブルと、 前記ホストから前記メモリ部の任意のメモリブロックに
対してライト要求があった場合、前記テーブルを参照し
て前記任意のメモリブロックの書換え回数を調べ、当該
メモリブロックの書換え回数が所定値以上であった場合
は、当該メモリブロックのデータを他のメモリブロック
のデータと交換し、かつ、前記テーブル中の指示アドレ
スに対する論理アドレスを、交換したメモリブロックの
論理アドレスに更新する交換制御手段を備えたことを特
徴とするメモリ制御装置。 - 【請求項2】 複数のメモリブロックからなるフラッシ
ュメモリで構成されたメモリ部と、 前記メモリ部に対してアクセス要求を行うホストからの
指示アドレスと、前記メモリブロックの論理アドレスと
の関係を示すと共に、前記複数のメモリブロックの各々
の書換え回数とを示すテーブルと、 前記ホストから前記メモリ部の任意のメモリブロックに
対してライト要求があった場合、前記テーブルを参照し
て前記任意のメモリブロックの書換え回数を調べ、当該
メモリブロックの書換え回数と、書換え回数が最小のメ
モリブロックの書換え回数との差が所定値以上であった
場合は、当該メモリブロックのデータを前記書換え回数
が最小のメモリブロックのデータと交換し、かつ、前記
テーブル中の指示アドレスに対する論理アドレスを、交
換したメモリブロックの論理アドレスに更新する交換制
御手段を備えたことを特徴とするメモリ制御装置。 - 【請求項3】 複数のメモリブロックからなるフラッシ
ュメモリで構成されたメモリ部と、 前記メモリ部に対してアクセス要求を行うホストからの
指示アドレスと、前記メモリブロックの論理アドレスと
の関係を示すと共に、前記複数のメモリブロックの各々
の書換え回数とを示すテーブルと、 一定周期で実行し、前記テーブルを参照し、前記複数の
メモリブロックのそれぞれの書換え回数を調べ、書換え
回数が最大のメモリブロックの書換え回数と、書換え回
数が最小のメモリブロックの書換え回数との差が所定値
以上であった場合、これらメモリブロックのデータを交
換し、かつ、前記テーブル中の最大値のメモリブロック
の論理アドレスを最小値のメモリブロックの論理アドレ
スと交換する交換制御手段を備えたことを特徴とするメ
モリ制御装置。 - 【請求項4】 交換制御手段が実行するメモリブロック
の交換処理における現在の処理進行段階を保持する進行
段階記憶部と、 電源投入時に、前記進行段階記憶部の情報を読込み、前
記交換処理が未終了であった場合、当該進行段階記憶部
で記憶されている進行段階に基づき、前記変換処理を再
開させる進行段階管理手段とを備えたことを特徴とする
請求項1〜3のいずれかに記載のメモリ制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5029938A JPH06222986A (ja) | 1993-01-26 | 1993-01-26 | メモリ制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5029938A JPH06222986A (ja) | 1993-01-26 | 1993-01-26 | メモリ制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06222986A true JPH06222986A (ja) | 1994-08-12 |
Family
ID=12289938
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5029938A Pending JPH06222986A (ja) | 1993-01-26 | 1993-01-26 | メモリ制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06222986A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
| US7529879B2 (en) | 2004-06-30 | 2009-05-05 | Samsung Electronics Co., Ltd. | Incremental merge methods and memory systems using the same |
| JP2009211550A (ja) * | 2008-03-05 | 2009-09-17 | Ricoh Co Ltd | 不揮発性メモリ制御装置及びこれを備えた画像処理装置、不揮発性メモリ制御方法。 |
| JP2019164508A (ja) * | 2018-03-19 | 2019-09-26 | 株式会社東芝 | 管理装置、情報処理装置およびメモリ制御方法 |
| WO2023218967A1 (ja) * | 2022-05-11 | 2023-11-16 | パナソニックIpマネジメント株式会社 | ストレージ、映像記録システム、及び、ストレージの制御方法 |
-
1993
- 1993-01-26 JP JP5029938A patent/JPH06222986A/ja active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
| US7529879B2 (en) | 2004-06-30 | 2009-05-05 | Samsung Electronics Co., Ltd. | Incremental merge methods and memory systems using the same |
| JP2009211550A (ja) * | 2008-03-05 | 2009-09-17 | Ricoh Co Ltd | 不揮発性メモリ制御装置及びこれを備えた画像処理装置、不揮発性メモリ制御方法。 |
| JP2019164508A (ja) * | 2018-03-19 | 2019-09-26 | 株式会社東芝 | 管理装置、情報処理装置およびメモリ制御方法 |
| WO2023218967A1 (ja) * | 2022-05-11 | 2023-11-16 | パナソニックIpマネジメント株式会社 | ストレージ、映像記録システム、及び、ストレージの制御方法 |
| JPWO2023218967A1 (ja) * | 2022-05-11 | 2023-11-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4822440B2 (ja) | 不揮発性メモリシステムのための内部メンテナンススケジュール要求 | |
| JP4536785B2 (ja) | 情報処理装置、該情報処理装置で行われるデータ記憶を制御する制御部およびデータ記憶の制御方法 | |
| JP3544610B2 (ja) | メモリ装置 | |
| US11853769B2 (en) | Determination of power-off duration of NVME SSD | |
| US8751766B2 (en) | Storage system having volatile memory and non-volatile memory | |
| JP6753257B2 (ja) | 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム | |
| TWI902853B (zh) | 於斷電保護備份失敗後支援唯讀模式之固態硬碟 | |
| JPH06111588A (ja) | 一括消去型不揮発性メモリ | |
| JPH10133940A (ja) | メモリ装置 | |
| JPH07146820A (ja) | フラッシュメモリの制御方法及び、それを用いた情報処理装置 | |
| JPH10124401A (ja) | メモリ装置 | |
| JPH0291749A (ja) | 不揮発型半導体メモリ装置 | |
| JPH0528039A (ja) | 記憶装置 | |
| JPH06222986A (ja) | メモリ制御装置 | |
| JP2002099390A (ja) | ディスク制御装置 | |
| CN112947971B (zh) | 一种fpga远程更新装置及方法 | |
| JP5521477B2 (ja) | メモリ制御装置 | |
| CN113918001B (zh) | 一种嵌入式网络设备系统升级数据保护装置和方法 | |
| TW202013183A (zh) | 高效能垃圾收集方法以及資料儲存裝置及其控制器 | |
| JPWO2012077604A1 (ja) | 処理装置、プログラム更新方法、およびプログラム | |
| JP2002334586A (ja) | フラッシュメモリを用いた情報記憶方法および情報記憶プログラム | |
| JP3313576B2 (ja) | メモリアクセス制御方法及び装置 | |
| JP2003122644A (ja) | 計算機及びその記憶装置 | |
| CN115202579A (zh) | 一种存储器数据保存方法和系统 | |
| JPH05158815A (ja) | 記憶装置 |