JPH06222985A - メモリ制御装置 - Google Patents

メモリ制御装置

Info

Publication number
JPH06222985A
JPH06222985A JP5029937A JP2993793A JPH06222985A JP H06222985 A JPH06222985 A JP H06222985A JP 5029937 A JP5029937 A JP 5029937A JP 2993793 A JP2993793 A JP 2993793A JP H06222985 A JPH06222985 A JP H06222985A
Authority
JP
Japan
Prior art keywords
memory
unit
data
host
blocks
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
Application number
JP5029937A
Other languages
English (en)
Inventor
Yusaku Unno
雄策 海野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP5029937A priority Critical patent/JPH06222985A/ja
Publication of JPH06222985A publication Critical patent/JPH06222985A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Abstract

(57)【要約】 【構成】 テーブル部19は、ホストからの指示アドレ
スとメモリ部16における各メモリブロックの論理アド
レスとの関係を示すと共に、各メモリブロックにデータ
が書き込まれているか否かを識別するためのバリットビ
ット部192を備えている。アクセス制御手段14a
は、ホストからメモリ部16に対してアクセス要求があ
った場合、テーブル部19を参照して、ホストからの指
示アドレスをメモリ部の論理アドレスに変換し、ホスト
からメモリ部16へのアクセス制御を行う。 【効果】 ホストからメモリ部へのアクセスを短時間で
行うことができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、フラッシュメモリを用
いたメモリ制御装置に関し、特にその書換え制御とガー
ベジコレクション制御に関するものである。
【0002】
【従来の技術】半導体ディスク装置とは、ホストから見
て磁気ディスク装置等と同様に制御が可能で、かつ機械
的な動作部分がないため、高速アクセスが可能な装置で
ある。従来、このような半導体ディスク装置は、揮発性
メモリチップと、それをバックアップするための電池と
で構成されていた。しかしながら、このような構成は完
全な不揮発性ではないため、長期の電源オフ時等にデー
タの内容を保証することができなかった。
【0003】ところが、近年、不揮発性メモリチップと
して、フラッシュメモリ、即ちフラッシュEEPROM
(以下、FEEPROMと称す)が実用化されるように
なり、このチップを使用した半導体ディスク装置の開発
が盛んに行われている。このFEEPROMとは、EE
PROM(電気的消去、再書込み可能リード・オンリ・
メモリ)の一種であり、電気的に消去ができ、かつ、バ
イト毎にプログラム書込みができ、また電源を必要とせ
ず、メモリの内容が保証できるという特長を持つ。
【0004】一方、上記の長所とは逆に、次のような短
所を有している。即ち、メモリへの書込みの際に、上書
きができないため、一旦消去してからバイト毎に書込み
(データを書換える)を行う必要がある。なお、ここで
消去する単位は、チップによって異なるが、チップ単位
に消去を行うものが主流である。
【0005】次に、FEEPROMを使用した従来の不
揮発性記憶装置を説明する。図9は、従来のメモリ制御
装置としての不揮発性半導体ディスク装置の構成を示す
ブロック図である。この図9において、1は不揮発性記
憶装置(不揮発性半導体ディスク装置)、2はこの不揮
発性記憶装置1が図示しないホストと接続されるための
システムバスである。不揮発性記憶装置1は、ホストイ
ンタフェース部3、プロセッサ部4、プロセッサメモリ
部5、メモリ部6、バッファ部7、内部バス8から構成
されている。尚、ここで不揮発性記憶装置1に対するホ
ストとは、マイクロコンピュータ等の上位装置を指して
いる。
【0006】ホストインタフェース部3は、ホストとの
インタフェース制御を行う部分であり、プロセッサ部4
は、ホストからのコマンドを解釈し、不揮発性記憶装置
1をディスク装置に見せるよう制御等を行う部分であ
る。また、プロセッサメモリ部5はプロセッサ部4の動
作を制御するプログラムが格納されているメモリであ
る。メモリ部6は、FEEPROMで構成され、データ
等を格納するフラッシュメモリである。バッファ部7
は、メモリ部6に対し、データの上書きを行う際、メモ
リ部6を消去する前にメモリ部6の内容を一旦待避させ
ておくためのメモリである。また、内部バス8は不揮発
性記憶装置1内の構成要素を接続するためのバスであ
る。
【0007】図10は、メモリ部6に格納しているデー
タのフォーマットを論理的に示す説明図である。即ち、
メモリ部6のフォーマットは、バリットビット91、ポ
インタ部92、データ部93からなり、これらを合わせ
て1フレームと称する。バリットビット91は、本フレ
ームにデータが書かれているか否かを示すビットであ
り、例えば、バリットビット91が“1”の場合はデー
タ書込み有り、“0”の場合はデータ書込みなしとして
いる。
【0008】また、ポインタ部92は、本フレームに書
かれているデータの新しいバージョンが書かれているフ
レームの先頭アドレスを格納するポインタである。即
ち、ポインタ部92に、他のフレームの先頭アドレスが
書かれている場合は、本フレームに書込まれているデー
タは旧バージョンであり、新しいバージョンはポインタ
部92の示すアドレスに書込まれていることになる。更
に、データ部93は、ホストからの書込みデータが格納
されているデータ部である。
【0009】次に、ホストからのライト要求により不揮
発性記憶装置1が上書き処理を実行する動作を説明す
る。図11は、従来の書換え時のメモリ構成例を示す説
明図である。先ず、図中(a)に示すように、メモリ部
6のアドレス(A,a)(B,a)〜(A,m)にデー
タが書込まれていたとする。そして、この状態におい
て、ホストから(A,a)上のデータを書換えるための
ライト要求がきたとする。この場合、(A,a)に対し
て上書きができないため(上述したように、FEEPR
OMに対して上書きする場合、一旦FEEPROM内の
データを消去する必要がある)、データが書込まれてい
ないフレームをバリットビット91に基づき探す。
【0010】図示例では、アドレス(B,m)以降にデ
ータが書込まれていないため、アドレス(B,m)にデ
ータを書込む。即ち、アドレス(B,m)のフレームの
バリットビット91に“1”をセットし、データ部93
にデータを書込む。また、これと同時に、アドレス
(A,a)のポインタ部92に“m”を書込む。これ
が、図中、(b)の状態である。
【0011】次に、不揮発性記憶装置1のメモリ部6の
全てにデータが格納された場合に実行するガーベジコレ
クションの動作を説明する。図12は、その説明図であ
る。今、メモリ部6の全てにデータが格納されるまでの
経過として、図示(a)のようなリンク関係を考える。
先ず、メモリ部6のアドレス(A,a)にホストからの
ライト要求に基づき、データDが書込まれる。その後、
再度ホストからアドレス(A,a)のフレームにライト
要求があり、この場合は上述したように、そのバリット
ビット91が“1”であるため、データが書込まれてい
ないフレームを探し、これがアドレス(B,m)である
とする。従って、アドレス(B,m)のフレームは、そ
のバリットビットが“1”となって、データDの新しい
バージョンであるデータD−1がデータ部93に書込ま
れる。また、アドレス(A,a)のポインタ部92に
は、リンク先のアドレスとして“B,m”が書込まれ
る。
【0012】その後、更にホストからアドレス(A,
a)にライト要求があると、上記の場合と同様に、デー
タが書込まれていないフレームを探し、これを(C,
n)とする。従って、アドレス(C,n)のバリットビ
ット91は“1”、データ部93にはデータD−2が書
込まれ、同時に、アドレス(B,m)のポインタ部92
は、そのリンク先として“C,n”が書込まれる。
【0013】このような状態で、ガーベジコレクション
を行う場合、アドレス(B,m)のフレームは、単にリ
ンク関係を示しているだけであって、データとしては意
味を持たないものである。従って、ガーベジコレクショ
ンは、この(B,m)のフレームを消去する。
【0014】この処理としては、先ず、アドレス(A,
a)のフレームのデータを、バッファ部7に退避させ、
バッファ部7上で、そのポインタ部92を“C,n”と
書換える。これと共に、メモリ部6のアドレス(B,
m)のフレームおよびアドレス(A,a)のフレームの
データを消去する。その後、ポインタ部92を書換えた
アドレス(A,a)のフレームのデータを、メモリ部6
の同一アドレスに書込む。これによって、図示(b)に
示すように、アドレス(A,a)のフレームのリンク先
は直接アドレス(C,n)となり、アドレス(B,m)
のフレームは、データが書込み可能なフレームとなる
(バリットビット91が何も書かれていない“0”とな
る)。
【0015】
【発明が解決しようとする課題】しかしながら、上記従
来のメモリ制御装置は、以下のような問題点を有してい
た。 書換え制御を、メモリ部6内のポインタ部92に従っ
て実行するため、ホストからのライト要求やリード要求
に対して、そのリンク先をたどっていく必要があり、従
って、その要求に対するメモリ部6のデータにたどりつ
くまでに時間がかかってしまっていた。 ガーベジコレクションを行う際、メモリ部6の全ての
フレーム(領域)にデータが書込まれてから実行してい
たため、ホストからのライト要求を実行している最中に
ガーベジコレクションを実施する必要が生じた場合、ホ
ストへの終了通知が遅くなってしまっていた。
【0016】本発明は、上記従来の問題点を解決するた
めになされたもので、メモリ部へのデータ書換え時間を
短縮すると共に、ホストからのライト要求に対する終了
通知を速やかに行うことのできるメモリ制御装置を提供
することを目的とする。
【0017】
【課題を解決するための手段】本発明における第1発明
のメモリ制御装置は、複数のメモリブロックからなるフ
ラッシュメモリで構成されたメモリ部と、前記メモリ部
に対してアクセス要求を行うホストからの指示アドレス
と、前記各メモリブロックの論理アドレスとの関係を示
すと共に、当該メモリブロックにデータが書込まれてい
るか否かを識別するバリットビット部を備えたテーブル
部と、前記ホストから前記メモリ部に対してアクセス要
求があった場合、前記テーブル部を参照し、前記ホスト
からの指示アドレスを、前記メモリ部の論理アドレスに
変換して当該メモリ部へのアクセス制御を行うアクセス
制御手段とを備えたことを特徴とするものである。
【0018】第2発明のメモリ制御装置は、複数のメモ
リブロックからなるフラッシュメモリで構成されたメモ
リ部と、前記メモリ部における各メモリブロックのデー
タ書込みの有無を示すテーブル部と、予め設定したしき
い値を有し、前記テーブル部を参照して、各メモリブロ
ックのデータ書込み状態を監視し、当該メモリブロック
のデータ書込み済みブロック数が前記しきい値を超えた
場合は、前記メモリ部のガーベジコレクションを行うガ
ーベジコレクション制御手段を備えたことを特徴とする
ものである。
【0019】第3発明のメモリ制御装置は、複数のメモ
リブロックからなるフラッシュメモリで構成されたメモ
リ部と、前記メモリ部に対してアクセス要求を行うホス
トに設けられ、前記メモリ部における各メモリブロック
のデータ書込みの有無を示すテーブル部と、前記ホスト
に設けられ、前記テーブル部を参照し、当該ホストのラ
イト要求を実行するためのメモリブロック数と、前記メ
モリ部のデータが書込まれていない残りのメモリブロッ
ク数とを比較し、前記ライト要求を実行するためのメモ
リブロック数が、前記残りメモリブロック数を超えてい
た場合は、ガーベジコレクションを行った後にライト処
理を行い、前記ライト要求を実行するためのメモリブロ
ック数が前記残りメモリブロック数を超えておらず、か
つ、前記メモリ部のデータ書込み済みブロック数と前記
ライト要求を実行するためのメモリブロック数との加算
値が、予め設定したしきい値を超えていた場合は、ライ
ト処理を行った後にガーベジコレクションを行う書込み
制御手段を備えたことを特徴とするものである。
【0020】第4発明のメモリ制御装置は、複数のメモ
リブロックからなるフラッシュメモリで構成されたメモ
リ部と、前記メモリ部における各メモリブロックのデー
タ書込みの有無を示すテーブル部と、予め設定したしき
い値とタイマとを有し、前記テーブル部を参照して前記
複数のメモリブロックのデータ書込み状態を監視し、当
該メモリブロックのデータ書込み数が前記しきい値を超
えていない場合は、前記複数のメモリブロックに書込み
を行うと共に、タイマをセット状態とし、前記複数のメ
モリブロックのデータ書込み数が前記しきい値を超えて
いる場合は、前記メモリ部のガーベジコレクションを行
うと共に、前記タイマをリセットし、前記タイマがセッ
ト状態でかつ、前記タイマによる所定時間経過後は、ガ
ーベジコレクションを実行するガーベジコレクション制
御手段を備えたことを特徴とするものである。
【0021】
【作用】本発明における第1発明のメモリ制御装置にお
いては、ホストからメモリ部に対してリードあるいはラ
イト要求があった場合、アクセス制御手段は、テーブル
部を参照し、ホストからの指示アドレスに対応するメモ
リブロックの論理アドレスを取出す。そして、この論理
アドレスのメモリブロックに対してホストからのアクセ
ス要求処理を行う。
【0022】第2発明のメモリ制御装置においては、ホ
ストからライト要求があった場合、ガーベジコレクショ
ン制御手段は、テーブル部を参照して、メモリブロック
のデータ書込み済みブロック数と、ライト要求を実行す
るためのメモリブロック数との加算値がしきい値を超え
るか否かを判定し、その加算値がしきい値を超えた場合
は、メモリ部のガーベジコレクションを行う。
【0023】第3発明のメモリ制御装置においては、ホ
ストの書込み制御手段は、一定周期あるいはライト要求
発生時に、テーブル部を参照する。そして、ホストのラ
イト要求を実行するためのメモリブロック数と、メモリ
部のデータが書込まれていない残りのメモリブロック数
とを比較し、ライト要求を実行するためのメモリブロッ
ク数が、残りメモリブロック数を超えていた場合は、ガ
ーベジコレクションを行った後にライト処理を行う。ま
た、ライト要求を実行するためのメモリブロック数が、
残りメモリブロック数を超えておらず、かつ、メモリ部
のデータ書込み済みブロック数とライト要求を実行する
ためのメモリブロック数との加算値が、予め設定したし
きい値を超えていた場合は、ライト処理を行った後にガ
ーベジコレクションを行う。
【0024】第4発明のメモリ制御装置においては、ホ
ストからライト要求があった場合、ガーベジコレクショ
ン制御手段は、テーブル部を参照して、各メモリブロッ
クのデータ書込み状態を調べる。そして、メモリブロッ
クのデータ書込み済みブロック数と、ホストからのライ
ト要求を実行するためのメモリブロック数との加算値が
しきい値を超えていない場合は、該当するメモリブロッ
クに書込みを行うと共に、タイマをセット状態とする。
一方、加算値がしきい値を超えている場合は、メモリ部
のガーベジコレクションを行うと共に、前記タイマをリ
セットする。また、タイマがセット状態でかつ、タイマ
による所定時間経過後は、ガーベジコレクションを実行
する。
【0025】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。図1は本発明のメモリ制御装置の第1実施例
を示すブロック図である。図において、11は不揮発性
記憶装置(不揮発性半導体ディスク装置)、12はこの
不揮発性記憶装置11が図示しないホストと接続される
ためのシステムバスである。不揮発性記憶装置11は、
ホストインタフェース部13、プロセッサ部14、プロ
セッサメモリ部15、メモリ部16、バッファ部17、
内部バス18、テーブル部19から構成されている。
尚、本実施例においても、ホストとはマイクロコンピュ
ータ等の上位装置を指している。
【0026】ここで、ホストインタフェース部13は、
従来と同様にホストとのインタフェース制御を行う部分
である。また、プロセッサ部14は、ホストからのコマ
ンドを解釈し、不揮発性記憶装置11をディスク装置に
見せるような制御等を行う部分であり、アクセス制御手
段14aを備えている。尚、このアクセス制御手段14
aに関しては後述する。
【0027】また、プロセッサメモリ部15はプロセッ
サ部14の動作を制御するプログラムを格納するメモリ
である。メモリ部16は、FEEPROMで構成され、
従来と同様、データを格納するためのものである。ま
た、バッファ部17は、その機能として、メモリ部16
に対してデータの上書きを行う際、メモリ部16を消去
する前にその内容を一旦待避させておくためのものであ
り、RAM等の揮発性のメモリチップで構成されてい
る。尚、内部バス18は従来と同様、不揮発性記憶装置
11内の構成要素を接続するためのバスである。
【0028】テーブル部19は、EEPROMやNVR
AM等の書換え可能な不揮発性メモリで構成され、指示
アドレス部191、バリットビット部192、論理アド
レス部193から構成されている。指示アドレス部19
1は、ホストから不揮発性記憶装置11に対してデータ
をアクセスする際に、ホストから指示されるアドレスを
示す部分である。また、バリットビット部192は、従
来のバリットビット部と同様に、該当するメモリ部16
のメモリブロックにデータが格納されているか否かを示
す部分であり、バリットビット部192が“1”である
場合にデータが書込まれており、“0”の場合にデータ
が書込まれていないことを示している。論理アドレス部
193は、ホストから指示されたアドレスを論理的に変
換し、メモリ部16のメモリブロックのアドレスを決定
する部分である。
【0029】また、メモリ部16は、ホストからのアク
セスサイズ(例えば、セクタ単位)を1ブロックとし、
テーブル部19は、メモリ部16の1ブロックに対して
1ワードを有している。そして、メモリ部16は、ホス
トから見える領域であるアクセス可能領域と、ホストか
らは直接アクセスできない代替領域で構成されている。
【0030】図2に、メモリ部16の構成とテーブル部
19の関係を示す。即ち、メモリ部16のブロックは、
アクセス可能領域と代替領域とで構成され、ここでは、
アドレス“0”〜“m−1”がアクセス可能領域、アド
レス“m”〜“n”が代替領域に設定されている。そし
て、テーブル部19も、メモリ部16のメモリブロック
数に対応してテーブル項目が設定されている。
【0031】次にホストからのライト要求により、不揮
発性記憶装置11が書換え処理を実行する動作を説明す
る。図3は、メモリ部16における書換え動作の説明図
である。図示の例は、ホストから不揮発性記憶装置11
のアドレス=0の領域に対して複数回ライトアクセスし
た場合の動作説明を示している。先ず、ホストは不揮発
性記憶装置11に対してアドレス=0を指定する。これ
により、プロセッサ部14のアクセス制御手段14a
は、テーブル部19を参照し、指示アドレス部191が
“0”の1ワードをアクセスし、該当するバリットビッ
ト部192を検査する。ここでは、バリットビットは
“0”であったとし、そのため、論理アドレス部193
のアドレス“0”に従って、メモリ部16のアドレス
“0”のブロックにデータを書込む(図中、斜線部で示
す)。そして、テーブル部19のバリットビット部19
2を“1”とする。この状態が図中に示す状態であ
る。
【0032】次に、ホストから不揮発性記憶装置11の
アドレス=0に2度目のライトアクセス要求があった場
合、アクセス制御手段14aは上記ライトアクセス時と
同様にテーブル部19を参照する。そして、指示アドレ
ス部191が“0”の1ワードをアクセスし、そのバリ
ットビット部192を検査する。この場合は、最初のラ
イトアクセスによって、そのバリットビットは“1”と
なっているため、代替領域中のデータが書込まれていな
いブロックを探す。即ち、テーブル部19において、指
示アドレス部191が“m”以降のバリットビットが
“0”であるブロックを検索する。
【0033】今、指示アドレス部191が“m”のバリ
ットビットが“0”であったとすると、プロセッサ部1
4は、その論理アドレス部193のアドレス(この場合
“m”とする)に従い、新たなデータを、メモリ部16
の代替領域のアドレス“m”のブロック(図中、二重斜
線部)にライトする。そして、アクセス制御手段14a
は、テーブル部19における論理アドレス部193の値
を、リンク先であるアドレス“m”と書換える。この状
態が図示のの状態である。
【0034】更に、ホストから不揮発性記憶装置11の
アドレス=0に3度目のライトアクセス要求があった場
合、アクセス制御手段14aは、同様にテーブル部19
を参照し、先ず、指示アドレス部191が“0”の1ワ
ードをアクセスする。このブロックは上述したように、
そのバリットビットが“1”であるため、2度目のライ
トアクセス時と同様に、代替領域中のデータが書込まれ
ていないブロックを探す。今、指示アドレス部191が
“m+1”のバリットビットが“0”であったとする
と、アクセス制御手段14aは、その論理アドレス部1
93のアドレス(この場合“m+2”とする)に従い、
新たなデータを、メモリ部16の代替領域のアドレス
“m+2”のブロック(図中、二重斜線部)にライトす
る。
【0035】そして、アクセス制御手段14aは、テー
ブル部19における論理アドレス部193の値を、リン
ク先であるアドレス“m+2”と書換える。この状態が
図示のの状態である。
【0036】また、ホストから不揮発性記憶装置11の
アドレス=0にリードアクセス要求があった場合は、ア
クセス制御手段14aがテーブル部19を参照し、その
論理アドレス部193のアドレスに対してアクセスを行
う。例えば、上述した図3におけるの状態を例にとっ
て説明すると、指示アドレス部191のアドレス=0の
論理アドレスは“m+2”であるため、アクセス制御手
段14aは、メモリ部16のアドレス“m+2”のデー
タをリードアクセスする。従って、従来のようにリンク
先のチェーンをたどっていく必要がなく、ホストへの応
答時間を短縮することができる。
【0037】次に、ガーベジコレクションの動作を図3
を用いて説明する。先ず、図3のの状態を考えると、
メモリ部16におけるアドレス“0”、“m”のデータ
は意味を持たないデータである。即ち、アドレス
“0”、“m”のデータは旧データであり、ホストから
の指示アドレス=0のデータとしては、メモリ部16の
アドレス“m+2”のデータだけが必要だからである。
【0038】従って、ガーベジコレクションを行う場
合、先ず、メモリ部16のアドレス“0”、“m”、
“m+2”のデータを、一旦バッファ部17に退避させ
る。そして、メモリ部16におけるこれらのアドレスの
データを消去すると共に、バッファ部17に退避させた
データのうち、アドレス“0”、“m”のデータを消去
し、“m+2”のデータをメモリ部16におけるアドレ
ス“0”のブロックにライトする。これと同時に、テー
ブル部19における指示アドレス部191のアドレス=
0の論理アドレスを“0”と書換え、かつ、指示アドレ
ス部191のアドレス=m,m+2のそれぞれのバリッ
トビットを“0”にする。これによって、メモリ部16
における代替領域のデータは、消去され、代替領域のメ
モリブロックが使用可能となる。
【0039】次に、ガーベジコレクション制御を行う第
2〜4実施例を説明する。図4は、第2実施例の構成を
示す図である。図の装置は、プロセッサ部14に、ガー
ベジコレクション制御手段14bを備えたものである。
このガーベジコレクション制御手段14bは、予め設定
したしきい値を有し、ホストからライト要求があった場
合、テーブル部19を参照して、データ書込み済みブロ
ック数と、ライト要求を実行するためのメモリブロック
数の加算値がしきい値を超えているか否かを判定し、そ
の加算値がしきい値を超えている場合は、メモリ部16
のガーベジコレクションを実行する機能を有している。
尚、このしきい値は、例えば、メモリ部16の代替領域
の90%を示す値等、適宜の値が設定されている。
【0040】また、上記ガーベジコレクション制御手段
14bは、プロセッサメモリ部15に格納されているプ
ログラムからなり、プロセッサ部14が、これらをプロ
セッサメモリ部15から読込んで実行するものである。
【0041】次に、第2実施例によるガーベジコレクシ
ョンの動作を説明する。図5は、第2実施例によるガー
ベジコレクション制御手段14bの制御動作を示すフロ
ーチャートである。今、ホストからライト要求が発生
し、不揮発性記憶装置11がライト要求処理を行うとす
る。この場合、先ず、ガーベジコレクション制御手段1
4bは、テーブル部19を参照し、メモリ部16の代替
領域における書込み済みブロック数と、ホストからのラ
イト要求のブロック数(上書き要求のブロック、即ち代
替領域に書込まれるデータのブロック数)とを加算し、
その値がしきい値以上か否かを判断する(ステップS
1)。尚、メモリ部16における書込み済みブロック数
とは、テーブル部19におけるバリットビット部192
の値が“1”のブロックを指している。
【0042】ステップS1において、その加算値がしき
い値より小さい場合は、代替領域へのライト要求のブロ
ックに対して書込みを行い(ステップS2)、加算値が
しきい値より大きい場合は、書込み可能なブロック数
(残りブロック数)とライト要求ブロック数を比較する
(ステップS3)。ステップS3において、書込み可能
なブロック数の方が大きかった場合は、書込み処理を行
い(ステップS4)、その後、ガーベジコレクション処
理を行う(ステップS5)。一方、ステップS3におい
て、書込み可能なブロック数の方が小さかった場合は、
先ず、ガーベジコレクション処理を行い(ステップS
6)、その後、書込み処理を行う(ステップS7)。
【0043】このように、第2実施例では、ガーベジコ
レクション制御手段14bが、しきい値を基にガーベジ
コレクション処理を行うため、ホストからのライト要求
を実行している最中にガーベジコレクション処理を実行
しなければならないといったことを防止することができ
る。
【0044】次に、ホスト側が不揮発性記憶装置11に
対してガーベジコレクションを指示する第3実施例を説
明する。図6に、その構成を示す。図において、不揮発
性記憶装置11およびシステムバス12の構成は、不揮
発性記憶装置11のプロセッサ部14がガーベジコレク
ション制御手段14bを備えていない点以外は、上記第
2実施例と同様であるため、その説明は省略する。
【0045】図中、20はシステムバス12を介して不
揮発性記憶装置11にリード/ライト要求を行うホスト
であり、書込み制御手段21、テーブル部22、ライト
要求キュー23を有している。書込み制御手段21は、
専用のプロセッサあるいはプログラム等で構成され、所
定のしきい値を有すると共に、テーブル部22とライト
要求キュー23を管理し、ホスト20からライト要求が
発生した場合、これらテーブル部22とライト要求キュ
ー23に格納されているライト要求数に基づき、ガーベ
ジコレクション指示等の制御を行う機能を有している。
テーブル部22は、第1、2実施例で説明した不揮発性
記憶装置11のテーブル部19と同様の構成であり、不
揮発性記憶装置11におけるメモリ部16の格納状態を
示すテーブルである。また、ライト要求キュー23は、
不揮発性記憶装置11へのライト要求が発生した場合
は、そのライト要求を格納するための機能を有してい
る。
【0046】次に、上記第3実施例の動作を説明する。
図7に、ホスト20のライト要求処理のフローチャート
を示す。先ず、書込み制御手段21は、一定周期あるい
はライト要求の発生により、ライト要求キュー23に格
納されているライト要求の総ブロック数を検査する。ま
た、テーブル部22を参照し、メモリ部16における代
替領域の書込みブロック状態を調べる。そして、これら
ライト要求の総ブロック数と書込み済みブロック数との
和を求め、その和がしきい値を超えているか否かを判定
する(ステップS1)。
【0047】このステップS1において、ライト要求を
実行するための総ブロック数と書込み済みブロック数と
の和がしきい値より小さい場合は、そのまま不揮発性記
憶装置11に対して書込み処理を行い(ステップS
2)、その和がしきい値より大きい場合は、書込み可能
ブロック数(残りブロック数)とライト要求の総ブロッ
ク数とを比較する(ステップS3)。
【0048】ステップS3において、ライト要求を実行
するための総ブロック数が書込み可能ブロック数より小
さい場合、書込み制御手段21は、最初に書込み処理を
行い(ステップS4)、不揮発性記憶装置11側から書
込み終了通知を受け取ると(ステップS5)、次に、ガ
ーベジコレクション処理の指示を行う(ステップS
6)。一方、ステップS3において、ライト要求のため
の総ブロック数が書込み可能ブロック数より大きい場合
は、最初にガーベジコレクション処理の指示を行い(ス
テップS7)、不揮発性記憶装置11側からガーベジコ
レクションの終了通知を受け取った後(ステップS
8)、書込み処理を行う(ステップS9)。
【0049】このように、上記第3実施例では、ホスト
20側で、メモリ部16のガーベジコレクションの指示
を行うようにしたため、予め、メモリ部16に対してラ
イト要求を出す前に、そのライト要求をメモリ部16が
実行できるか否かを知ることができる。このため、その
ライト要求が多くのメモリブロックに対するものであっ
た場合でも、メモリ部16が、ホスト20からのライト
要求を実行している最中にガーベジコレクションを行わ
なくてはならないといった事態を防止することができ
る。
【0050】次に、不揮発性記憶装置11が定期的にガ
ーベジコレクションを実施する第4実施例を説明する。
尚、この第4実施例において、図面上の構成は、図4に
示した第2実施例と同様であるためその図示は省略する
が、ガーベジコレクション制御手段14bの機能が異な
っている。即ち、本実施例のガーベジコレクション制御
手段14bは、上述した第2、3実施例と同様のしきい
値とを備えていると共に、タイマ機能を備えている。ま
た、メモリ部16におけるメモリブロックの使用状況を
テーブル部19を参照して監視し、当該メモリブロック
の使用状況がしきい値を超えていない場合は、メモリブ
ロックに書込みを行うと共に、タイマをセットし、メモ
リブロックの使用状況がしきい値を超えている場合は、
メモリ部16のガーベジコレクションを行うと共に、タ
イマをリセットする。そして、タイマがセット状態でか
つ、その所定時間経過後は、ガーベジコレクションを実
行するといった機能を有しているものである。
【0051】次に、第4実施例の動作について説明す
る。図8に、第4実施例におけるライト要求処理のフロ
ーチャートを示す。先ず、ホストからライト要求がくる
と、プロセッサ部14は、メモリ部16に書込み可能な
ブロック数と、ライト要求のブロック数とを加算し、こ
の和がしきい値以上か否かを判断する(ステップS
1)。このステップS1において、和がしきい値より小
さい場合は、ライト要求のブロックに対して書込み処理
を行い(ステップS2)、その後、ガーベジコレクショ
ン処理の起動となるタイマをセット状態とする(ステッ
プS3)。尚、ここで、既にタイマがセット状態であっ
た場合は、再セット(初期値から計測開始)を行う。
【0052】一方、ステップS1において、和がしきい
値以上であった場合は、ライト要求のブロック数を全て
メモリ部16に書込みができるか否かを判断する(ステ
ップS4)。ここで、メモリ部16に対して全てのブロ
ックを書込みできる場合は、書込み処理を行った(ステ
ップS5)後、ガーベジコレクションを行い(ステップ
S6)、その後、タイマをリセットする(ステップS
7)。また、ステップS4において、メモリ部16に対
して全てのブロックの書込みができない場合は、最初に
ガーベジコレクションを行って(ステップS8)、次
に、書込み処理を行い(ステップS9)、その後、タイ
マをリセットする(ステップS10)。
【0053】更に、ガーベジコレクション制御手段14
bは、上述したようにタイマの監視を行っており、タイ
マが規定値をカウントした場合は、図示しない割込みが
発生し、ガーベジコレクション制御手段14bは、ガー
ベジコレクションを実行する。
【0054】このように、上記第4実施例では、メモリ
部16のガーベジコレクションを定期的に行うため、ホ
ストからのライト要求に対する終了通知を上記第3実施
例と同程度の性能で行うことができる。
【0055】尚、上記各実施例では、しきい値によるガ
ーベジコレクションの実行を、メモリ部16の代替領域
に関して行ったが、これに限定されるものではなく、メ
モリ部16のアクセス領域に関して行うよう構成しても
よい。
【0056】
【発明の効果】以上説明したように、第1発明のメモリ
制御装置によれば、ホストからの指示アドレスと、メモ
リブロックの論理アドレスとの関係を示すテーブル部を
設け、ホストからメモリ部に対してアクセス要求があっ
た場合は、テーブル部を参照して、ホストからの指示ア
ドレスをメモリ部の論理アドレスに変換し、メモリ部へ
のアクセス制御を行うようにしたので、ホストからメモ
リ部へのアクセス要求に対して速やかに応答することが
できる。
【0057】第2発明のメモリ制御装置によれば、メモ
リ部における各メモリブロックのデータ書込みの有無を
示すテーブル部を設けると共に、予め所定のしきい値を
設定し、メモリブロックのデータ書込み済みブロック数
が、このしきい値を超えた場合は、メモリ部のガーベジ
コレクションを行うようにしたので、ホストからのライ
ト要求を実行している最中にガーベジコレクションを行
わなくてはならないといったことを防止することができ
る。
【0058】第3発明のメモリ制御装置によれば、ホス
ト側がメモリ部における各メモリブロックのデータ書込
みの有無を示すテーブル部を備え、ホスト側がこのテー
ブル部を参照してメモリ部へのガーベジコレクションを
指示するようにしたので、ホストからメモリ部に対して
ライト要求を出す前に、そのライト要求をメモリ部が実
行できるか否かを知ることができ、従って、メモリ部
が、ホストからのライト要求を実行している最中にガー
ベジコレクションを行わなくてはならないといったこと
をより一層防止することができる。
【0059】第4発明のメモリ制御装置によれば、メモ
リ部のガーベジコレクションを定期的に行うようにした
ので、上記第3発明と同程度に、メモリ部が、ホストか
らのライト要求を実行している最中にガーベジコレクシ
ョンを行わなくてはならないといったことを防止するこ
とができる。
【図面の簡単な説明】
【図1】本発明のメモリ制御装置の第1実施例を示すブ
ロック図である。
【図2】本発明のメモリ制御装置におけるメモリ部とテ
ーブル部の関係を示す説明図である。
【図3】本発明のメモリ制御装置の第1実施例における
データ書換え動作の説明図である。
【図4】本発明のメモリ制御装置の第2実施例を示すブ
ロック図である。
【図5】本発明のメモリ制御装置の第2実施例の動作を
示すフローチャートである。
【図6】本発明のメモリ制御装置の第3実施例を示すブ
ロック図である。
【図7】本発明のメモリ制御装置の第3実施例の動作を
示すフローチャートである。
【図8】本発明のメモリ制御装置の第4実施例の動作を
示すフローチャートである。
【図9】従来のメモリ制御装置のブロック図である。
【図10】従来のメモリ制御装置におけるメモリ部のフ
ォーマットの説明図である。
【図11】従来のメモリ制御装置におけるデータ書換え
時の説明図である。
【図12】従来のメモリ制御装置におけるガーベジコレ
クションの動作説明図である。
【符号の説明】
11 不揮発性記憶装置 14a アクセス制御手段 14b ガーベジコレクション制御手段 16 メモリ部 19 テーブル部 20 ホスト 21 書込み制御手段 22 テーブル部

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のメモリブロックからなるフラッシ
    ュメモリで構成されたメモリ部と、 前記メモリ部に対してアクセス要求を行うホストからの
    指示アドレスと、前記各メモリブロックの論理アドレス
    との関係を示すと共に、当該メモリブロックにデータが
    書込まれているか否かを識別するバリットビット部を備
    えたテーブル部と、 前記ホストから前記メモリ部に対してアクセス要求があ
    った場合、前記テーブル部を参照し、前記ホストからの
    指示アドレスを、前記メモリ部の論理アドレスに変換し
    て当該メモリ部へのアクセス制御を行うアクセス制御手
    段とを備えたことを特徴とするメモリ制御装置。
  2. 【請求項2】 複数のメモリブロックからなるフラッシ
    ュメモリで構成されたメモリ部と、 前記メモリ部における各メモリブロックのデータ書込み
    の有無を示すテーブル部と、 予め設定したしきい値を有し、前記テーブル部を参照し
    て、各メモリブロックのデータ書込み状態を監視し、当
    該メモリブロックのデータ書込み済みブロック数が前記
    しきい値を超えた場合は、前記メモリ部のガーベジコレ
    クションを行うガーベジコレクション制御手段を備えた
    ことを特徴とするメモリ制御装置。
  3. 【請求項3】 複数のメモリブロックからなるフラッシ
    ュメモリで構成されたメモリ部と、 前記メモリ部に対してアクセス要求を行うホストに設け
    られ、前記メモリ部における各メモリブロックのデータ
    書込みの有無を示すテーブル部と、 前記ホストに設けられ、前記テーブル部を参照し、当該
    ホストのライト要求を実行するためのメモリブロック数
    と、前記メモリ部のデータが書込まれていない残りのメ
    モリブロック数とを比較し、前記ライト要求を実行する
    ためのメモリブロック数が、前記残りメモリブロック数
    を超えていた場合は、ガーベジコレクションを行った後
    にライト処理を行い、前記ライト要求を実行するための
    メモリブロック数が前記残りメモリブロック数を超えて
    おらず、かつ、前記メモリ部のデータ書込み済みブロッ
    ク数と前記ライト要求を実行するためのメモリブロック
    数との加算値が、予め設定したしきい値を超えていた場
    合は、ライト処理を行った後にガーベジコレクションを
    行う書込み制御手段を備えたことを特徴とするメモリ制
    御装置。
  4. 【請求項4】 複数のメモリブロックからなるフラッシ
    ュメモリで構成されたメモリ部と、 前記メモリ部における各メモリブロックのデータ書込み
    の有無を示すテーブル部と、 予め設定したしきい値とタイマとを有し、前記テーブル
    部を参照して前記複数のメモリブロックのデータ書込み
    状態を監視し、当該メモリブロックのデータ書込み数が
    前記しきい値を超えていない場合は、前記複数のメモリ
    ブロックに書込みを行うと共に、タイマをセット状態と
    し、前記複数のメモリブロックのデータ書込み数が前記
    しきい値を超えている場合は、前記メモリ部のガーベジ
    コレクションを行うと共に、前記タイマをリセットし、
    前記タイマがセット状態でかつ、前記タイマによる所定
    時間経過後は、ガーベジコレクションを実行するガーベ
    ジコレクション制御手段を備えたことを特徴とするメモ
    リ制御装置。
JP5029937A 1993-01-26 1993-01-26 メモリ制御装置 Pending JPH06222985A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5029937A JPH06222985A (ja) 1993-01-26 1993-01-26 メモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5029937A JPH06222985A (ja) 1993-01-26 1993-01-26 メモリ制御装置

Publications (1)

Publication Number Publication Date
JPH06222985A true JPH06222985A (ja) 1994-08-12

Family

ID=12289910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5029937A Pending JPH06222985A (ja) 1993-01-26 1993-01-26 メモリ制御装置

Country Status (1)

Country Link
JP (1) JPH06222985A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11126488A (ja) * 1997-10-21 1999-05-11 Hitachi Ltd フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
WO2003012647A1 (fr) * 2001-07-27 2003-02-13 Matsushita Electric Industrial Co., Ltd. Appareil a memoire flash et procede de fusion de donnees stockees dans celle-ci
WO2004077447A1 (ja) * 2003-02-28 2004-09-10 Fujitsu Limited フラッシュメモリ及びメモリ制御方法
JP2007094571A (ja) * 2005-09-27 2007-04-12 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US8140741B2 (en) 2010-01-29 2012-03-20 Kabushiki Kaisha Toshiba Semiconductor storage device and control method thereof
JP2018156600A (ja) * 2017-03-21 2018-10-04 東芝メモリ株式会社 メモリシステムおよび制御方法
JP2020177415A (ja) * 2019-04-17 2020-10-29 キヤノン株式会社 情報処理装置及びその制御方法並びにプログラム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11126488A (ja) * 1997-10-21 1999-05-11 Hitachi Ltd フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
WO2003012647A1 (fr) * 2001-07-27 2003-02-13 Matsushita Electric Industrial Co., Ltd. Appareil a memoire flash et procede de fusion de donnees stockees dans celle-ci
JP2003044351A (ja) * 2001-07-27 2003-02-14 Matsushita Electric Ind Co Ltd フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法
US7039781B2 (en) 2001-07-27 2006-05-02 Matsushtia Electric Industrial Co., Ltd. Flash memory apparatus and method for merging stored data items
WO2004077447A1 (ja) * 2003-02-28 2004-09-10 Fujitsu Limited フラッシュメモリ及びメモリ制御方法
US7487286B2 (en) 2003-02-28 2009-02-03 Spansion Llc Flash memory and method for controlling the memory
JP2007094571A (ja) * 2005-09-27 2007-04-12 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US8140741B2 (en) 2010-01-29 2012-03-20 Kabushiki Kaisha Toshiba Semiconductor storage device and control method thereof
US8275935B2 (en) 2010-01-29 2012-09-25 Kabushiki Kaisha Toshiba Semiconductor storage device and control method thereof
JP2018156600A (ja) * 2017-03-21 2018-10-04 東芝メモリ株式会社 メモリシステムおよび制御方法
JP2020177415A (ja) * 2019-04-17 2020-10-29 キヤノン株式会社 情報処理装置及びその制御方法並びにプログラム

Similar Documents

Publication Publication Date Title
US5553261A (en) Method of performing clean-up of a solid state disk while executing a read command
JP3485938B2 (ja) 不揮発性半導体メモリ装置
TWI628542B (zh) 快閃記憶體的垃圾回收斷電回復方法以及使用該方法的裝置
JP4802284B2 (ja) 半導体記憶装置及びその制御方法
JP3544610B2 (ja) メモリ装置
JPH07146820A (ja) フラッシュメモリの制御方法及び、それを用いた情報処理装置
JP2549034B2 (ja) 記憶装置
JP2003015929A (ja) 不揮発性メモリの制御方法
JPH11126488A (ja) フラッシュメモリを複数使用した外部記憶装置のデータ記憶制御方法及び装置
JP3773607B2 (ja) フラッシュeeprom内蔵マイクロコンピュータ
JP2002278781A (ja) 記憶装置、記憶装置制御方法及びプログラム
KR100590150B1 (ko) 메모리 관리 테이블 작성 방법 및 메모리 장치
US5307470A (en) Microcomputer having EEPROM provided with detector for detecting data write request issued before data write operation responsive to preceding data write request is completed
JP3627915B2 (ja) ブートブロックフラッシュメモリ制御回路、およびそれを備えたicメモリカードと半導体記憶装置、並びにブートブロックフラッシュメモリの消去方法
JPH0728690A (ja) フラッシュメモリシステム
JPH06222985A (ja) メモリ制御装置
JP3503448B2 (ja) フラッシュ型メモリ及びその管理装置
JPH0695955A (ja) フラッシュ・ファイル・システム
JP3166659B2 (ja) 記憶装置
JPH07160569A (ja) メモリ制御装置
JP2000276461A (ja) マイクロコンピュータ
JPH10289144A (ja) メモリの制御方法
JPH09259029A (ja) Eepromを用いた記憶装置の制御方式
JP2003242788A (ja) 不揮発性半導体メモリ装置及びその制御方法
JPH11297083A (ja) 不揮発性メモリを利用したバックアップ記憶装置