JPH0728690A - フラッシュメモリシステム - Google Patents
フラッシュメモリシステムInfo
- Publication number
- JPH0728690A JPH0728690A JP5174372A JP17437293A JPH0728690A JP H0728690 A JPH0728690 A JP H0728690A JP 5174372 A JP5174372 A JP 5174372A JP 17437293 A JP17437293 A JP 17437293A JP H0728690 A JPH0728690 A JP H0728690A
- Authority
- JP
- Japan
- Prior art keywords
- data
- flash memory
- storage means
- memory system
- outside
- 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
Landscapes
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 フラッシュメモリのデータの書き込みを高速
化したフラッシュメモリシステムを提供する。 【構成】 ホストバス2からのアクセス要求に対し、コ
ントローラ4はライトアクセスに対してはライトバッフ
ァ6にデータを格納し、リードアクセスに対してはフラ
ッシュメモリ1に格納されているデータであればフラッ
シュメモリ1から、まだフラッシュメモリ1に格納され
ていないデータであればライトバッファ6から読み出
す。 【効果】 ライトバッファを設けて見かけ上の高速化を
図り、その際にライトアクセスの直後に同一データのリ
ードアクセス要求があると、ライトバッファのデータか
ら読み出しを可能とした。
化したフラッシュメモリシステムを提供する。 【構成】 ホストバス2からのアクセス要求に対し、コ
ントローラ4はライトアクセスに対してはライトバッフ
ァ6にデータを格納し、リードアクセスに対してはフラ
ッシュメモリ1に格納されているデータであればフラッ
シュメモリ1から、まだフラッシュメモリ1に格納され
ていないデータであればライトバッファ6から読み出
す。 【効果】 ライトバッファを設けて見かけ上の高速化を
図り、その際にライトアクセスの直後に同一データのリ
ードアクセス要求があると、ライトバッファのデータか
ら読み出しを可能とした。
Description
【0001】
【産業上の利用分野】本発明はフラッシュメモリシステ
ムに係り、特にフラッシュメモリを処理プログラムやデ
ータの記憶媒体とした際の高速化に関する。
ムに係り、特にフラッシュメモリを処理プログラムやデ
ータの記憶媒体とした際の高速化に関する。
【0002】
【従来の技術】フラッシュメモリは電気的に書き替え可
能なROMであり、不揮発性メモリでありながらファイ
ル記憶装置の記憶媒体として期待されるメモリ素子であ
る。一種のEEPROMと捉えることもできるが、一般
的なEEPROMとの決定的な違いはデータの消去単位
が大きいことにより集積度を高くできることである。従
って大容量のファイル記憶装置を比較的安価に構築でき
る。このフラッシュメモリを使用したファイル記憶装置
の従来技術としては特開平2−292798号公報に記
載のフラッシュEEPROMシステムが挙げられる。こ
れはフラッシュメモリの素子的な欠点である書き替え回
数に制限があるということに対して、フラッシュメモリ
への実際の書き込み回数を減らす方式についての発明で
あり、そのためにキャッシュメモリを用いてファイル書
き換えの時間監視制御を行うことを提案した発明であ
る。この方式を採用することによりフラッシュメモリを
使用した記憶装置として実用的な寿命を確保することを
目的としている。それと同時にフラッシュメモリのもう
一つの欠点である書換えの遅さをカバーすることも目的
としている記述もある。フラッシュメモリはDRAMや
SRAMなどの揮発性メモリと比較して書換え速度が数
値にして1桁以上遅く、処理データ格納媒体として性能
ネックとなってしまうが、先述のキャッシュメモリとし
てフラッシュメモリよりも高速なアクセスが可能な記憶
素子を用いることを提案している。これによりキャッシ
ュメモリにデータを書き込むのであればシステム全体と
してのフラッシュメモリによる性能ネックは回避でき
る。
能なROMであり、不揮発性メモリでありながらファイ
ル記憶装置の記憶媒体として期待されるメモリ素子であ
る。一種のEEPROMと捉えることもできるが、一般
的なEEPROMとの決定的な違いはデータの消去単位
が大きいことにより集積度を高くできることである。従
って大容量のファイル記憶装置を比較的安価に構築でき
る。このフラッシュメモリを使用したファイル記憶装置
の従来技術としては特開平2−292798号公報に記
載のフラッシュEEPROMシステムが挙げられる。こ
れはフラッシュメモリの素子的な欠点である書き替え回
数に制限があるということに対して、フラッシュメモリ
への実際の書き込み回数を減らす方式についての発明で
あり、そのためにキャッシュメモリを用いてファイル書
き換えの時間監視制御を行うことを提案した発明であ
る。この方式を採用することによりフラッシュメモリを
使用した記憶装置として実用的な寿命を確保することを
目的としている。それと同時にフラッシュメモリのもう
一つの欠点である書換えの遅さをカバーすることも目的
としている記述もある。フラッシュメモリはDRAMや
SRAMなどの揮発性メモリと比較して書換え速度が数
値にして1桁以上遅く、処理データ格納媒体として性能
ネックとなってしまうが、先述のキャッシュメモリとし
てフラッシュメモリよりも高速なアクセスが可能な記憶
素子を用いることを提案している。これによりキャッシ
ュメモリにデータを書き込むのであればシステム全体と
してのフラッシュメモリによる性能ネックは回避でき
る。
【0003】
【発明が解決しようとする課題】上記従来技術はフラッ
シュメモリの書換え回数の制限による寿命を延長するこ
とを重視しておりフラッシュメモリの書換え速度の遅さ
を補うことを重視していない。というのはまずキャッシ
ュメモリからフラッシュメモリへのデータの転送の条件
としてキャッシュメモリに余分な空間を必要としたとき
とあるが、余分な空間を必要とするときはすなわちシス
テムとしてデータの格納要求があるときであると考えら
れるため、このときに書換えの遅いフラッシュメモリへ
の書き込みを行っていたのではシステムのパフォーマン
スを落すことになり得る。
シュメモリの書換え回数の制限による寿命を延長するこ
とを重視しておりフラッシュメモリの書換え速度の遅さ
を補うことを重視していない。というのはまずキャッシ
ュメモリからフラッシュメモリへのデータの転送の条件
としてキャッシュメモリに余分な空間を必要としたとき
とあるが、余分な空間を必要とするときはすなわちシス
テムとしてデータの格納要求があるときであると考えら
れるため、このときに書換えの遅いフラッシュメモリへ
の書き込みを行っていたのではシステムのパフォーマン
スを落すことになり得る。
【0004】またキャッシュメモリへの書き込みを行う
ときの条件としても書き込みが頻繁に起こるデータにお
いてのみキャッシュメモリへの書き込みを行うような制
御を目指しているため、書き込みの高速化を全ての書き
込みデータに対して図ることができない。以上のように
上記従来例は、書き換え回数の低減に対する配慮はされ
ているが、書き換え時間の高速化に対する考慮がなされ
ていないといえる。
ときの条件としても書き込みが頻繁に起こるデータにお
いてのみキャッシュメモリへの書き込みを行うような制
御を目指しているため、書き込みの高速化を全ての書き
込みデータに対して図ることができない。以上のように
上記従来例は、書き換え回数の低減に対する配慮はされ
ているが、書き換え時間の高速化に対する考慮がなされ
ていないといえる。
【0005】本発明の目的は、書き換え時間の高速化を
図ったフラッシュメモリシステムを提供することであ
る。
図ったフラッシュメモリシステムを提供することであ
る。
【0006】
【課題を解決するための手段】上記の問題点を解決する
ために、外部からのデータを記憶するフラッシュメモリ
を有するフラッシュメモリシステムにおいて、前記デー
タの前記フラッシュメモリへの書き込み要求時に、外部
からの前記データを一時的に記憶するためのデータ記憶
手段と、前記データの書き込み要求時に、前記データを
前記データ記憶手段に格納後、前記フラッシュメモリに
転送する制御部とを有し、前記制御部は、前記データの
前記フラッシュメモリへの転送が終了する前に、外部か
らデータの読み出し要求または書き込み要求を受けた場
合、前記フラッシュメモリへの転送を中断し、外部から
のデータの読み出し要求または書き込み要求を優先して
処理することとしたものである。
ために、外部からのデータを記憶するフラッシュメモリ
を有するフラッシュメモリシステムにおいて、前記デー
タの前記フラッシュメモリへの書き込み要求時に、外部
からの前記データを一時的に記憶するためのデータ記憶
手段と、前記データの書き込み要求時に、前記データを
前記データ記憶手段に格納後、前記フラッシュメモリに
転送する制御部とを有し、前記制御部は、前記データの
前記フラッシュメモリへの転送が終了する前に、外部か
らデータの読み出し要求または書き込み要求を受けた場
合、前記フラッシュメモリへの転送を中断し、外部から
のデータの読み出し要求または書き込み要求を優先して
処理することとしたものである。
【0007】また、外部からのデータを記憶するフラッ
シュメモリを有するフラッシュメモリシステムにおい
て、前記データの前記フラッシュメモリへの書き込み要
求時に、外部からの前記データを一時的に記憶するため
のデータ記憶手段と、前記データの書き込み要求時に、
前記データを前記データ記憶手段に格納後、前記フラッ
シュメモリに転送する制御部とを有し、前記制御部は、
前記データの前記フラッシュメモリへの転送が終了する
前に、外部から同一アドレスへのデータの新たな書き込
み要求を受けた場合、前記フラッシュメモリへの転送を
中断し、外部からの新たなデータを前記データ記憶手段
に格納し、前のデータは無効とすることとしたものであ
る。
シュメモリを有するフラッシュメモリシステムにおい
て、前記データの前記フラッシュメモリへの書き込み要
求時に、外部からの前記データを一時的に記憶するため
のデータ記憶手段と、前記データの書き込み要求時に、
前記データを前記データ記憶手段に格納後、前記フラッ
シュメモリに転送する制御部とを有し、前記制御部は、
前記データの前記フラッシュメモリへの転送が終了する
前に、外部から同一アドレスへのデータの新たな書き込
み要求を受けた場合、前記フラッシュメモリへの転送を
中断し、外部からの新たなデータを前記データ記憶手段
に格納し、前のデータは無効とすることとしたものであ
る。
【0008】また、外部からのデータを記憶するフラッ
シュメモリを有するフラッシュメモリシステムにおい
て、前記フラッシュメモリへ前記データを書き込むのに
要した時間を測定する書き込み時間測定手段と、前記書
き込み時間測定手段の測定結果により、フラッシュメモ
リの劣化度を診断する劣化度診断手段と、前記劣化度診
断手段による診断結果を記憶する劣化度記憶手段と、前
記診断結果により、前記データのフラッシュメモリ上の
格納場所を決定して、格納する制御手段とを有すること
としたものである。
シュメモリを有するフラッシュメモリシステムにおい
て、前記フラッシュメモリへ前記データを書き込むのに
要した時間を測定する書き込み時間測定手段と、前記書
き込み時間測定手段の測定結果により、フラッシュメモ
リの劣化度を診断する劣化度診断手段と、前記劣化度診
断手段による診断結果を記憶する劣化度記憶手段と、前
記診断結果により、前記データのフラッシュメモリ上の
格納場所を決定して、格納する制御手段とを有すること
としたものである。
【0009】
【作用】上記のように、書き込み回数を少なくして読み
出しを頻繁に行うことを目的としたキャッシュメモリで
はなく、書き込みの高速化のために一時的にデータを格
納するライトバッファメモリ(データ記憶手段)を設
け、このバッファメモリに格納されたデータのフラッシ
ュメモリへの転送を外部(例えば、ホストシステム)か
らのアクセス要求がないときすなわちアクセス要求待ち
の時に行い、システム全体としては実質上転送時間が隠
されるよう工夫する。またホストシステムからの書き込
み要求データは全て必ずバッファメモリに取り込むこと
とし、書き込み速度が遅いフラッシュメモリはホストシ
ステムから直接書き込まれることがないようにする。そ
してバッファメモリからフラッシュメモリへのデータ転
送はホストシステムからのデータ書き込みが終了しだい
開始され、ホストシステムから当該データあるいは別の
データをアクセスする要求があるまでの期間つまりアク
セス要求待機期間に行われ、ホストシステムからのアク
セス要求が起きたらただちにバッファメモリからフラッ
シュメモリへのデータ転送を中断し、ホストシステムの
要求に対応する。そして再びアクセス要求待機状態にな
ったらキャッシュメモリからフラッシュメモリへのデー
タ転送を先の中断時点から再開する。この結果、バッフ
ァメモリはホストシステムからの格納データの書き込み
を素速く終了し、その結果ホストシステムは格納データ
の転送を終わらせて次の処理を行うことができシステム
全体のパフォーマンスが向上する。つまりホストシステ
ムからはフラッシュメモリの書き込み速度が見えず、フ
ラッシュメモリの書き込み速度の遅さを隠すことができ
る。そしてバッファメモリ上のデータはホストシステム
からのアクセス要求が終了し次第フラッシュメモリに転
送され、ホストシステムからの次のアクセス要求がある
まで続けられる。従ってホストシステムはバッファメモ
リからフラッシュメモリへの転送途中でも転送要求を割
り込ませることができ、ホストシステムの待機時間はな
いこととなる。
出しを頻繁に行うことを目的としたキャッシュメモリで
はなく、書き込みの高速化のために一時的にデータを格
納するライトバッファメモリ(データ記憶手段)を設
け、このバッファメモリに格納されたデータのフラッシ
ュメモリへの転送を外部(例えば、ホストシステム)か
らのアクセス要求がないときすなわちアクセス要求待ち
の時に行い、システム全体としては実質上転送時間が隠
されるよう工夫する。またホストシステムからの書き込
み要求データは全て必ずバッファメモリに取り込むこと
とし、書き込み速度が遅いフラッシュメモリはホストシ
ステムから直接書き込まれることがないようにする。そ
してバッファメモリからフラッシュメモリへのデータ転
送はホストシステムからのデータ書き込みが終了しだい
開始され、ホストシステムから当該データあるいは別の
データをアクセスする要求があるまでの期間つまりアク
セス要求待機期間に行われ、ホストシステムからのアク
セス要求が起きたらただちにバッファメモリからフラッ
シュメモリへのデータ転送を中断し、ホストシステムの
要求に対応する。そして再びアクセス要求待機状態にな
ったらキャッシュメモリからフラッシュメモリへのデー
タ転送を先の中断時点から再開する。この結果、バッフ
ァメモリはホストシステムからの格納データの書き込み
を素速く終了し、その結果ホストシステムは格納データ
の転送を終わらせて次の処理を行うことができシステム
全体のパフォーマンスが向上する。つまりホストシステ
ムからはフラッシュメモリの書き込み速度が見えず、フ
ラッシュメモリの書き込み速度の遅さを隠すことができ
る。そしてバッファメモリ上のデータはホストシステム
からのアクセス要求が終了し次第フラッシュメモリに転
送され、ホストシステムからの次のアクセス要求がある
まで続けられる。従ってホストシステムはバッファメモ
リからフラッシュメモリへの転送途中でも転送要求を割
り込ませることができ、ホストシステムの待機時間はな
いこととなる。
【0010】またバッファメモリの容量はホストシステ
ムからのデータが通常の使用状態においてバッファメモ
リに格納しきれる程度以上の十分な容量を確保する。バ
ッファメモリを十分な容量確保することにより、ホスト
システムからのデータ格納ができなくなってホストシス
テムに待機時間を持たせることがないようにする。
ムからのデータが通常の使用状態においてバッファメモ
リに格納しきれる程度以上の十分な容量を確保する。バ
ッファメモリを十分な容量確保することにより、ホスト
システムからのデータ格納ができなくなってホストシス
テムに待機時間を持たせることがないようにする。
【0011】またバッファメモリからフラッシュメモリ
へのデータ転送時間をできるかぎり減ずるために、まだ
フラッシュメモリへの転送が行われておらず、バッファ
メモリに残されているデータと同一データ(例えば、同
一ファイル)のホストからの再転送においては、先に格
納されているデータを無効化してつねに最新のものをフ
ラッシュメモリに転送することとする。同一ファイルの
再転送において、古いデータは不要であるため無効化し
て構わず、余分なデータ転送を行う必要がなくなり、ま
たフラッシュメモリの書換え回数を減らすことにもな
る。
へのデータ転送時間をできるかぎり減ずるために、まだ
フラッシュメモリへの転送が行われておらず、バッファ
メモリに残されているデータと同一データ(例えば、同
一ファイル)のホストからの再転送においては、先に格
納されているデータを無効化してつねに最新のものをフ
ラッシュメモリに転送することとする。同一ファイルの
再転送において、古いデータは不要であるため無効化し
て構わず、余分なデータ転送を行う必要がなくなり、ま
たフラッシュメモリの書換え回数を減らすことにもな
る。
【0012】またホストからの連続的な大容量の書き込
みに対応するためにフラッシュメモリに対する書き込み
をできるだけ速くする必要もある。しかしフラッシュメ
モリは劣化すると書き込みや消去に要する時間が長くな
り、書換えが遅くなってしまうためこれを回避すべきで
ある。そのため書き込みや消去に要する時間を計測して
フラッシュメモリの劣化度を常に把握して劣化度の低い
ところを選んで書き込むよう制御する。書換え時間を短
縮すればホストからの連続的な大容量の書換えにおける
バッファメモリ不足を防ぐことができる。
みに対応するためにフラッシュメモリに対する書き込み
をできるだけ速くする必要もある。しかしフラッシュメ
モリは劣化すると書き込みや消去に要する時間が長くな
り、書換えが遅くなってしまうためこれを回避すべきで
ある。そのため書き込みや消去に要する時間を計測して
フラッシュメモリの劣化度を常に把握して劣化度の低い
ところを選んで書き込むよう制御する。書換え時間を短
縮すればホストからの連続的な大容量の書換えにおける
バッファメモリ不足を防ぐことができる。
【0013】
【実施例】次に本発明の実施例を説明する。図1は本発
明の構成図を示す図である。本発明に係るフラッシュメ
モリシステムは、記憶媒体であるフラッシュメモリ1
と、記憶装置(フラッシュメモリシステム)のホストと
なる情報機器のバス2と、ホストバス2をインタフェー
スするレジスタやバス類からなるインタフェース回路3
と、記憶装置全体を統括制御するコントローラ(制御
部)4と、ホストがファイルデータを管理するための論
理アドレスと物理的な記憶位置を示す物理アドレスの変
換を行うためのアドレス変換テーブル(情報記憶手段)
5と、ホストから送られるファイルデータを高速に格納
して見かけ上の処理速度を上げるためのライトバッファ
6(従って高速な書き込みが要求されるためSRAMや
DRAMなどの揮発性メモリである必要がある)と、コ
ントローラ4の動作速度がホストバス2の動作速度より
劣るのをカバーし高速にデータを転送するためのDMA
コントローラ7と、ライトバッファ6内のデータをフラ
ッシュメモリ1に転送している最中にホストからアクセ
ス要求があったときに処理を中断し、後で再開するため
に中断したときの動作状態を記憶するための中断時レジ
スタ(中断情報記憶手段)8とを有する。
明の構成図を示す図である。本発明に係るフラッシュメ
モリシステムは、記憶媒体であるフラッシュメモリ1
と、記憶装置(フラッシュメモリシステム)のホストと
なる情報機器のバス2と、ホストバス2をインタフェー
スするレジスタやバス類からなるインタフェース回路3
と、記憶装置全体を統括制御するコントローラ(制御
部)4と、ホストがファイルデータを管理するための論
理アドレスと物理的な記憶位置を示す物理アドレスの変
換を行うためのアドレス変換テーブル(情報記憶手段)
5と、ホストから送られるファイルデータを高速に格納
して見かけ上の処理速度を上げるためのライトバッファ
6(従って高速な書き込みが要求されるためSRAMや
DRAMなどの揮発性メモリである必要がある)と、コ
ントローラ4の動作速度がホストバス2の動作速度より
劣るのをカバーし高速にデータを転送するためのDMA
コントローラ7と、ライトバッファ6内のデータをフラ
ッシュメモリ1に転送している最中にホストからアクセ
ス要求があったときに処理を中断し、後で再開するため
に中断したときの動作状態を記憶するための中断時レジ
スタ(中断情報記憶手段)8とを有する。
【0014】図11に変換テーブル5の一例を示す。図
11では、ホストバス1から転送されてくる3セクタ分
のデータをライトバッファ6のブロック1からブロック
3に保持し、それぞれのブロックの1セクタのデータを
それぞれフラッシュメモリ1のチップ0のセクタ3、チ
ップ1のセクタ2、チップ2のセクタ7へ書き込むこと
を示している。フラグは、ホストからのデータがフラッ
シュメモリに転送されておらず、まだフラッシュメモリ
にあることを示す。
11では、ホストバス1から転送されてくる3セクタ分
のデータをライトバッファ6のブロック1からブロック
3に保持し、それぞれのブロックの1セクタのデータを
それぞれフラッシュメモリ1のチップ0のセクタ3、チ
ップ1のセクタ2、チップ2のセクタ7へ書き込むこと
を示している。フラグは、ホストからのデータがフラッ
シュメモリに転送されておらず、まだフラッシュメモリ
にあることを示す。
【0015】なお、変換テーブルは図11の例に限ら
ず、フラグを有さないこととしてもよい。その時はフラ
ッシュメモリに転送されたものはフラッシュメモリの物
理アドレスの欄のみに数字を書くこととしても良い。そ
の時にライトバッファとフラッシュメモリの物理アドレ
スは連続させることとすると変換テーブルをそれぞれの
メモリに対応させる必要がなくなり、テーブル容量を縮
小できる。
ず、フラグを有さないこととしてもよい。その時はフラ
ッシュメモリに転送されたものはフラッシュメモリの物
理アドレスの欄のみに数字を書くこととしても良い。そ
の時にライトバッファとフラッシュメモリの物理アドレ
スは連続させることとすると変換テーブルをそれぞれの
メモリに対応させる必要がなくなり、テーブル容量を縮
小できる。
【0016】次に動作を説明する。ホストの情報機器は
ファイルデータの格納や読み出しが必要になるとホスト
バス2を通してアクセス要求をするとともに、ファイル
データ格納時は格納するための論理アドレスを指定して
データを転送し、ファイルデータの読み出し時は管理上
の論理アドレスを指定してそこに格納してあるファイル
データの転送を要求する。これらの要求はインタフェー
ス回路3に備えられるレジスタに設定することにより行
われる。コントローラ4はインタフェース回路に設定さ
れた処理要求の内容を理解すると変換テーブル5を参照
し、あるいは変換テーブル5の内容を書換えてホストが
指定する論理アドレスと実際のデータの格納位置を示す
物理アドレスが誤りなく対応するように処理する。もし
ファイルデータの格納の要求であった場合には、コント
ローラ4はホストが指定する論理アドレスと格納するラ
イトバッファ6の物理アドレスを変換テーブル5に書き
込む。既に過去に格納してあったファイルデータの更新
であった場合には過去のデータは不必要となるため、過
去のデータが格納されている物理アドレスが有効である
かどうかを示す情報(同一の論理アドレスのデータがフ
ラッシュメモリ上で別の物理アドレスに格納されるため
に本情報が必要になる)を変換テーブル4内に記録する
処理も加えられる。
ファイルデータの格納や読み出しが必要になるとホスト
バス2を通してアクセス要求をするとともに、ファイル
データ格納時は格納するための論理アドレスを指定して
データを転送し、ファイルデータの読み出し時は管理上
の論理アドレスを指定してそこに格納してあるファイル
データの転送を要求する。これらの要求はインタフェー
ス回路3に備えられるレジスタに設定することにより行
われる。コントローラ4はインタフェース回路に設定さ
れた処理要求の内容を理解すると変換テーブル5を参照
し、あるいは変換テーブル5の内容を書換えてホストが
指定する論理アドレスと実際のデータの格納位置を示す
物理アドレスが誤りなく対応するように処理する。もし
ファイルデータの格納の要求であった場合には、コント
ローラ4はホストが指定する論理アドレスと格納するラ
イトバッファ6の物理アドレスを変換テーブル5に書き
込む。既に過去に格納してあったファイルデータの更新
であった場合には過去のデータは不必要となるため、過
去のデータが格納されている物理アドレスが有効である
かどうかを示す情報(同一の論理アドレスのデータがフ
ラッシュメモリ上で別の物理アドレスに格納されるため
に本情報が必要になる)を変換テーブル4内に記録する
処理も加えられる。
【0017】そしてホストバスから転送されて来るライ
トデータを受け入れるためにDMAC7を起動し、ライ
トバッファ6に格納する。この時同時にフラッシュメモ
リ1に格納されている不要データの消去を行うと処理時
間を有効活用できることになる。一方もしファイルデー
タの読み出し要求であった場合には、コントローラ4は
ホストが指定する論理アドレスから変換テーブル5を参
照してホストが要求するファイルデータが物理的にどこ
に格納されているかを割り出し、これをDMAC7に設
定して起動し、ホストバス2に高速にデータを転送して
ホストの要求に応じる。
トデータを受け入れるためにDMAC7を起動し、ライ
トバッファ6に格納する。この時同時にフラッシュメモ
リ1に格納されている不要データの消去を行うと処理時
間を有効活用できることになる。一方もしファイルデー
タの読み出し要求であった場合には、コントローラ4は
ホストが指定する論理アドレスから変換テーブル5を参
照してホストが要求するファイルデータが物理的にどこ
に格納されているかを割り出し、これをDMAC7に設
定して起動し、ホストバス2に高速にデータを転送して
ホストの要求に応じる。
【0018】ファイルデータの格納場所としてはフラッ
シュメモリ1かあるいはライトバッファ6に格納されて
いることが考えられる。これは変換テーブル5の参照に
より明らかになるはずである。従ってコントローラ4は
参照した変換テーブル5の内容によってDMACにアク
セスさせるメモリを選択して設定する必要がある。
シュメモリ1かあるいはライトバッファ6に格納されて
いることが考えられる。これは変換テーブル5の参照に
より明らかになるはずである。従ってコントローラ4は
参照した変換テーブル5の内容によってDMACにアク
セスさせるメモリを選択して設定する必要がある。
【0019】以上がホストからのアクセス要求に対応し
た記憶装置の動作概要であるが、ホストからのアクセス
要求に対する処理が終了し、次にホストからアクセスが
要求されるまでの間はコントローラは内部で別の処理を
行う。それはライトバッファに格納されているデータを
フラッシュメモリ1に転送する処理である。ただしライ
トバッファ内のデータが全てフラッシュメモリに転送さ
れてしまえば記憶装置は完全にホストからの待機状態と
なる。このライトバッファからフラッシュメモリへのデ
ータ転送を行わないと電源が遮断された場合に揮発性メ
モリであるライトバッファ内のデータが揮発して最新の
格納ファイルデータが失われてしまうからである。また
ライトバッファに格納することができるデータ量には限
りがあるため、できるだけフラッシュメモリへの未格納
データが残存するかぎりは常にフラッシュメモリへの転
送を行うべきである。
た記憶装置の動作概要であるが、ホストからのアクセス
要求に対する処理が終了し、次にホストからアクセスが
要求されるまでの間はコントローラは内部で別の処理を
行う。それはライトバッファに格納されているデータを
フラッシュメモリ1に転送する処理である。ただしライ
トバッファ内のデータが全てフラッシュメモリに転送さ
れてしまえば記憶装置は完全にホストからの待機状態と
なる。このライトバッファからフラッシュメモリへのデ
ータ転送を行わないと電源が遮断された場合に揮発性メ
モリであるライトバッファ内のデータが揮発して最新の
格納ファイルデータが失われてしまうからである。また
ライトバッファに格納することができるデータ量には限
りがあるため、できるだけフラッシュメモリへの未格納
データが残存するかぎりは常にフラッシュメモリへの転
送を行うべきである。
【0020】ここでホストからのアクセス要求がなくラ
イトバッファからフラッシュメモリへのデータ転送を行
っている最中に、ホストからアクセス要求があった場合
には、動作中の転送処理を一時中断し、ホストからの要
求に応じる。なお中断した処理はホストからのアクセス
要求に対応する処理が終了した時点で再開できるように
必要なステータスデータを中断時レジスタ8に記録す
る。この中断時レジスタ8はコントローラ4内部のレジ
スタやメモリを用いても良い。
イトバッファからフラッシュメモリへのデータ転送を行
っている最中に、ホストからアクセス要求があった場合
には、動作中の転送処理を一時中断し、ホストからの要
求に応じる。なお中断した処理はホストからのアクセス
要求に対応する処理が終了した時点で再開できるように
必要なステータスデータを中断時レジスタ8に記録す
る。この中断時レジスタ8はコントローラ4内部のレジ
スタやメモリを用いても良い。
【0021】以上のようなコントローラ4が行う動作を
図2以降のフローチャートに記述した。図2はコントロ
ーラ4のメインルーチンのフローチャートであり、基本
的な動作の流れは、まずホストからアクセス要求がある
かを確認し、あればアクセスルーチンにジャンプし、な
ければ次に進む(2a)。ライトバッファ内にフラッシ
ュメモリに未格納のデータが存在するかを確認し(2
b)、存在すればこれをフラッシュメモリに転送格納す
る(2c)。全て格納済みであればホストからのアクセ
ス待ちとなる。なお2aでアクセスルーチンにジャンプ
し、アクセスが終了して復帰したときには記録した状態
に戻して(2d)再開する。メインルーチンではこの流
れを繰り返す。
図2以降のフローチャートに記述した。図2はコントロ
ーラ4のメインルーチンのフローチャートであり、基本
的な動作の流れは、まずホストからアクセス要求がある
かを確認し、あればアクセスルーチンにジャンプし、な
ければ次に進む(2a)。ライトバッファ内にフラッシ
ュメモリに未格納のデータが存在するかを確認し(2
b)、存在すればこれをフラッシュメモリに転送格納す
る(2c)。全て格納済みであればホストからのアクセ
ス待ちとなる。なお2aでアクセスルーチンにジャンプ
し、アクセスが終了して復帰したときには記録した状態
に戻して(2d)再開する。メインルーチンではこの流
れを繰り返す。
【0022】図3および図4はアクセスルーチンのフロ
ーチャートであり、図3より説明すると、まずアクセス
ルーチンにジャンプしたときのメインルーチンにおける
状態を図1の中断時レジスタ8に記憶し(3a)、復帰
したときに動作が再開できるようにする。記憶内容とし
ては書き込みセクタの論理アドレスと物理アドレスなど
が挙げられる。次にホストからのアクセスを区別し各々
の処理に分岐する(3b)。図3は引き続きリードアク
セス処理を示している。リードアクセスではまずアドレ
ス変換を行う。これはホストからは論理アドレスにより
所望のファイルを指定してくるが、論理アドレスでは実
際のメモリ上の格納位置を示していないため、アドレス
変換テーブルにより論理アドレスから物理アドレスに変
換して実際のメモリ上の格納位置を把握して読み出しを
行うことになる(3c)。このアドレス変換を行った
ら、次にDMACにアクセスするアドレスを設定し、起
動する(3d)。そしてリードデータをホストバスに流
してアクセスを完了し(3e)、メインルーチンに復帰
する。
ーチャートであり、図3より説明すると、まずアクセス
ルーチンにジャンプしたときのメインルーチンにおける
状態を図1の中断時レジスタ8に記憶し(3a)、復帰
したときに動作が再開できるようにする。記憶内容とし
ては書き込みセクタの論理アドレスと物理アドレスなど
が挙げられる。次にホストからのアクセスを区別し各々
の処理に分岐する(3b)。図3は引き続きリードアク
セス処理を示している。リードアクセスではまずアドレ
ス変換を行う。これはホストからは論理アドレスにより
所望のファイルを指定してくるが、論理アドレスでは実
際のメモリ上の格納位置を示していないため、アドレス
変換テーブルにより論理アドレスから物理アドレスに変
換して実際のメモリ上の格納位置を把握して読み出しを
行うことになる(3c)。このアドレス変換を行った
ら、次にDMACにアクセスするアドレスを設定し、起
動する(3d)。そしてリードデータをホストバスに流
してアクセスを完了し(3e)、メインルーチンに復帰
する。
【0023】一方ライトアクセスは図4に示す。まず過
去に格納されたことのあるファイルかをチェックする
(4a)。格納されたことがあるかどうかは、テーブル
に物理アドレスがあるかどうかで判断できる。過去に格
納したファイルであれば変換テーブルを参照してその物
理的位置を把握して変換テーブルを更新し(同じ論理ア
ドレスであっても、書換え寿命を伸ばすために、別の物
理アドレスに格納するため、物理アドレスを更新する必
要がある)、フラッシュメモリへ消去動作をかけ(4
b)、それと同時に更新ファイルの書き込み動作を行
う。消去動作はフラッシュメモリ内部で自動的に行われ
るため、書き込みを行うチップと異なれば並行して同時
に処理が行える。新しいファイルの格納であればそのま
ま書き込み動作に入る。まず格納場所を決定して変換テ
ーブルに物理アドレスと論理アドレスの対応を記録し
(4c)、次にDMACにアクセスするアドレスを設定
して起動する(4d)。そしてホストからのデータをラ
イトバッファに格納したら書き込み終了であり(4
e)、メインルーチンに復帰する。なおフローチャート
上の流れの順番は適宜入れ替えることも可能である。ま
た図3、図4にあるDMAC設定、起動後の実際のホス
トとのデータの授受はDMACが行うことになるためコ
ントローラは待機状態にあることになる。また消去動作
を図4の書き込みのルーチン内で行わず、メインルーチ
ンのフラッシュメモリへのデータ書き込み時に行った
り、ファイルを整理するルーチンを別に設定して消去を
行うことも考えられる。特にフラッシュメモリの消去単
位がファイル管理の単位よりも大きく、一つの消去単位
に複数のファイルが存在せざるを得ない場合には、ガー
ベージコレクションを行うルーチンを設定し、ここで消
去動作を行うのが最も効率的となる。
去に格納されたことのあるファイルかをチェックする
(4a)。格納されたことがあるかどうかは、テーブル
に物理アドレスがあるかどうかで判断できる。過去に格
納したファイルであれば変換テーブルを参照してその物
理的位置を把握して変換テーブルを更新し(同じ論理ア
ドレスであっても、書換え寿命を伸ばすために、別の物
理アドレスに格納するため、物理アドレスを更新する必
要がある)、フラッシュメモリへ消去動作をかけ(4
b)、それと同時に更新ファイルの書き込み動作を行
う。消去動作はフラッシュメモリ内部で自動的に行われ
るため、書き込みを行うチップと異なれば並行して同時
に処理が行える。新しいファイルの格納であればそのま
ま書き込み動作に入る。まず格納場所を決定して変換テ
ーブルに物理アドレスと論理アドレスの対応を記録し
(4c)、次にDMACにアクセスするアドレスを設定
して起動する(4d)。そしてホストからのデータをラ
イトバッファに格納したら書き込み終了であり(4
e)、メインルーチンに復帰する。なおフローチャート
上の流れの順番は適宜入れ替えることも可能である。ま
た図3、図4にあるDMAC設定、起動後の実際のホス
トとのデータの授受はDMACが行うことになるためコ
ントローラは待機状態にあることになる。また消去動作
を図4の書き込みのルーチン内で行わず、メインルーチ
ンのフラッシュメモリへのデータ書き込み時に行った
り、ファイルを整理するルーチンを別に設定して消去を
行うことも考えられる。特にフラッシュメモリの消去単
位がファイル管理の単位よりも大きく、一つの消去単位
に複数のファイルが存在せざるを得ない場合には、ガー
ベージコレクションを行うルーチンを設定し、ここで消
去動作を行うのが最も効率的となる。
【0024】この図4からの応用として図10を説明す
ると、ホストからのデータをライトバッファに格納する
際に、フラッシュメモリへの転送がまだなされずにライ
トバッファに残存しているデータの、更新などによる再
転送であった場合には先に格納されているデータは不要
であるため消去するかあるいは無効化するフラグなどを
立て、フラッシュメモリへの転送をすることがないよう
にする(10a)。
ると、ホストからのデータをライトバッファに格納する
際に、フラッシュメモリへの転送がまだなされずにライ
トバッファに残存しているデータの、更新などによる再
転送であった場合には先に格納されているデータは不要
であるため消去するかあるいは無効化するフラグなどを
立て、フラッシュメモリへの転送をすることがないよう
にする(10a)。
【0025】ところで図2のメインルーチンにおいて別
の例を示すと、図2はホストからのアクセス要求をソフ
トウェア上で受ける例であるが、ハードウェア割込みに
より強制的にアクセスルーチンに遷移することも考えら
れる。この場合はメインルーチンは図5のように単純化
し、ソフトウェア的にはアクセスルーチンに遷移する処
理はない。この方法ではホストからのアクセス要求に素
速く対応できるようになるが、割込みによりアクセスル
ーチンに遷移したときと、終了してメインルーチンに復
帰するときの処理を問題なくするためのソフト処理が多
少複雑になる。つまり中断の状態を詳細に記録しなけれ
ば、正常な復帰ができないことになる。
の例を示すと、図2はホストからのアクセス要求をソフ
トウェア上で受ける例であるが、ハードウェア割込みに
より強制的にアクセスルーチンに遷移することも考えら
れる。この場合はメインルーチンは図5のように単純化
し、ソフトウェア的にはアクセスルーチンに遷移する処
理はない。この方法ではホストからのアクセス要求に素
速く対応できるようになるが、割込みによりアクセスル
ーチンに遷移したときと、終了してメインルーチンに復
帰するときの処理を問題なくするためのソフト処理が多
少複雑になる。つまり中断の状態を詳細に記録しなけれ
ば、正常な復帰ができないことになる。
【0026】この他にリセット及び電源遮断処理を含ん
だメインルーチンを図6に示した。これは変換テーブル
が揮発性メモリにより構成されている場合に特に重要と
なる処理であり、変換テーブルのデータが失われるとフ
ァイル全体のデータが失われたことと等しくなるため、
リセット時や電源遮断時には不揮発性メモリに退避する
必要がある。これには専用の書き込み可能な不揮発性メ
モリを備えても良いが、データ格納用のフラッシュメモ
リの一部を使用するのが部品点数の削減から有効と思わ
れる。
だメインルーチンを図6に示した。これは変換テーブル
が揮発性メモリにより構成されている場合に特に重要と
なる処理であり、変換テーブルのデータが失われるとフ
ァイル全体のデータが失われたことと等しくなるため、
リセット時や電源遮断時には不揮発性メモリに退避する
必要がある。これには専用の書き込み可能な不揮発性メ
モリを備えても良いが、データ格納用のフラッシュメモ
リの一部を使用するのが部品点数の削減から有効と思わ
れる。
【0027】なおこの退避処理を避ける方法としてメイ
ンルーチンを図7のルーチンとする方法が考えられる。
すなわちライトバッファからフラッシュメモリへのデー
タ転送、格納が終了し、ホストからのコマンド待ち状態
になったときに退避を行うようにすることにより、リセ
ットや電源遮断時に特別な処理を行う必要がなくなる。
ただしリセットや電源遮断は書き込みや退避の処理中に
行うことがないように注意する必要がある。また退避す
る領域は頻繁に書換えが行われるため、書換え回数に制
限がある不揮発性メモリに退避する場合には、寿命を検
討する必要がある。先述のようにフラッシュメモリの一
部を使用する場合には、退避領域を一個所に特定せず
に、移動する方法が良い。この場合には退避領域となっ
た記憶領域の一部に退避領域であることを明らかにする
コードを記録するなどにより容易に実現できる。揮発性
メモリ上の変換テーブルが電源遮断により失われたとき
には、全記憶領域から退避領域コードを検索し、退避領
域の位置を把握することができる。あるいは最終的な退
避領域の物理位置だけを不揮発性メモリの一部に電源遮
断時に書き込む方法をとれば時間的無駄が省ける。
ンルーチンを図7のルーチンとする方法が考えられる。
すなわちライトバッファからフラッシュメモリへのデー
タ転送、格納が終了し、ホストからのコマンド待ち状態
になったときに退避を行うようにすることにより、リセ
ットや電源遮断時に特別な処理を行う必要がなくなる。
ただしリセットや電源遮断は書き込みや退避の処理中に
行うことがないように注意する必要がある。また退避す
る領域は頻繁に書換えが行われるため、書換え回数に制
限がある不揮発性メモリに退避する場合には、寿命を検
討する必要がある。先述のようにフラッシュメモリの一
部を使用する場合には、退避領域を一個所に特定せず
に、移動する方法が良い。この場合には退避領域となっ
た記憶領域の一部に退避領域であることを明らかにする
コードを記録するなどにより容易に実現できる。揮発性
メモリ上の変換テーブルが電源遮断により失われたとき
には、全記憶領域から退避領域コードを検索し、退避領
域の位置を把握することができる。あるいは最終的な退
避領域の物理位置だけを不揮発性メモリの一部に電源遮
断時に書き込む方法をとれば時間的無駄が省ける。
【0028】次にフラッシュメモリの劣化によるアクセ
ス性能の低下を避ける実施例について図8により説明す
る。図8はフラッシュメモリの劣化を把握する手段の実
施例であり、図中101はフラッシュメモリ書き込み制
御回路、102は書き込み時間測定回路、103は変換
テーブル内に設置した劣化度情報テーブル(劣化度記憶
手段)であり、フラッシュメモリの消去ブロック毎に対
応している。他の既出の番号は先述の説明と同様であ
る。コントローラ4(劣化度診断手段)はフラッシュメ
モリ1への書き込みを行う際には書き込み制御回路10
1を起動するとともに、書き込み時間測定回路102も
起動し、書き込みにかかった時間を把握する。そしてそ
の時間によりフラッシュメモリの劣化の程度を判断して
これを変換テーブル内の劣化度情報テーブルに書き込
む。劣化度は、書き込み時間を例えば、8レベルに分け
る。例えば、レベル1は、10から100μsの場合、
レベル2の場合は、100から1000μsの場合と
し、レベル8は、許容される書き込み時間を超えた場
合、すなわち使用不能状態に陥ったものとすると不良セ
クタの記録も兼ねることができるようになる。
ス性能の低下を避ける実施例について図8により説明す
る。図8はフラッシュメモリの劣化を把握する手段の実
施例であり、図中101はフラッシュメモリ書き込み制
御回路、102は書き込み時間測定回路、103は変換
テーブル内に設置した劣化度情報テーブル(劣化度記憶
手段)であり、フラッシュメモリの消去ブロック毎に対
応している。他の既出の番号は先述の説明と同様であ
る。コントローラ4(劣化度診断手段)はフラッシュメ
モリ1への書き込みを行う際には書き込み制御回路10
1を起動するとともに、書き込み時間測定回路102も
起動し、書き込みにかかった時間を把握する。そしてそ
の時間によりフラッシュメモリの劣化の程度を判断して
これを変換テーブル内の劣化度情報テーブルに書き込
む。劣化度は、書き込み時間を例えば、8レベルに分け
る。例えば、レベル1は、10から100μsの場合、
レベル2の場合は、100から1000μsの場合と
し、レベル8は、許容される書き込み時間を超えた場
合、すなわち使用不能状態に陥ったものとすると不良セ
クタの記録も兼ねることができるようになる。
【0029】コントローラ4はこの劣化度をデータ格納
時の物理アドレスの決定時に使用する。つまり劣化度が
大きいと判断されたブロックには書き込みを極力行わな
いようにすることにより、劣化による性能低下を避ける
ことができるようになる。この制御を示すフローチャー
トを図9で説明する。図9は書き込み時間を測定して劣
化度を診断するフラッシュメモリへの書き込み動作にお
けるフローチャートであり、一つの消去ブロックへの書
き込みを示している。本ルーチンはホストからライトア
クセスがあり、書き込みデータがライトバッファに格納
されている状態から実行されるものである。まず劣化度
情報テーブルを参照してこれから格納するフラッシュメ
モリのブロックが、劣化度が進んでいないブロックかを
確認する。もし劣化度が進んでいるブロックであれば別
のブロックを確認し劣化度が最も進んでいないブロック
を探し出す(9a)。こうして、全てのブロックの劣化
度が同じレベルになったら任意のブロックを選択するよ
うにする。この結果全てのブロックが均一に劣化するこ
とになる。そして探し出したら書き込み単位ごとに書き
込み時間測定回路を起動し、書き込み時間の測定を開始
すると同時に実際のフラッシュメモリへの書き込みを開
始する(9b)。そしてメモリの書き込み終了まで待機
する(9c)。書き込みが終了したら書き込みに要した
時間を書き込み時間測定回路より参照し、その値から劣
化度を診断する(9d)。つまりフラッシュメモリには
劣化が進むと書き込みに要する時間が長大するという特
徴があるためこれを利用するものである。そして劣化度
の診断結果が同一ブロック内でこれまでに書き込んだ書
き込み単位の中で最も劣化していれば、結果を劣化度情
報テーブルに格納する(9e)。というのは劣化度情報
は一つの消去ブロックに一つとするため、複数の書き込
みにより一つの消去ブロックを構成するフラッシュメモ
リにおいては各書き込み単位における劣化度を診断し、
同一ブロック内の最悪値をそのブロックの劣化度と判断
すべきである。つまりビットごとに劣化度は異なると考
えられ、1ビットでも劣化すればそのブロック内全域の
信頼度が下がることになる。
時の物理アドレスの決定時に使用する。つまり劣化度が
大きいと判断されたブロックには書き込みを極力行わな
いようにすることにより、劣化による性能低下を避ける
ことができるようになる。この制御を示すフローチャー
トを図9で説明する。図9は書き込み時間を測定して劣
化度を診断するフラッシュメモリへの書き込み動作にお
けるフローチャートであり、一つの消去ブロックへの書
き込みを示している。本ルーチンはホストからライトア
クセスがあり、書き込みデータがライトバッファに格納
されている状態から実行されるものである。まず劣化度
情報テーブルを参照してこれから格納するフラッシュメ
モリのブロックが、劣化度が進んでいないブロックかを
確認する。もし劣化度が進んでいるブロックであれば別
のブロックを確認し劣化度が最も進んでいないブロック
を探し出す(9a)。こうして、全てのブロックの劣化
度が同じレベルになったら任意のブロックを選択するよ
うにする。この結果全てのブロックが均一に劣化するこ
とになる。そして探し出したら書き込み単位ごとに書き
込み時間測定回路を起動し、書き込み時間の測定を開始
すると同時に実際のフラッシュメモリへの書き込みを開
始する(9b)。そしてメモリの書き込み終了まで待機
する(9c)。書き込みが終了したら書き込みに要した
時間を書き込み時間測定回路より参照し、その値から劣
化度を診断する(9d)。つまりフラッシュメモリには
劣化が進むと書き込みに要する時間が長大するという特
徴があるためこれを利用するものである。そして劣化度
の診断結果が同一ブロック内でこれまでに書き込んだ書
き込み単位の中で最も劣化していれば、結果を劣化度情
報テーブルに格納する(9e)。というのは劣化度情報
は一つの消去ブロックに一つとするため、複数の書き込
みにより一つの消去ブロックを構成するフラッシュメモ
リにおいては各書き込み単位における劣化度を診断し、
同一ブロック内の最悪値をそのブロックの劣化度と判断
すべきである。つまりビットごとに劣化度は異なると考
えられ、1ビットでも劣化すればそのブロック内全域の
信頼度が下がることになる。
【0030】ただし制御プログラムの簡略化などを目的
としてブロック内の特定の個所の時間だけを測定して全
体の劣化度を判断する方法も考えられる。そして所望の
全データの書き込みが終了したら書き込みルーチンを終
了し、まだデータがあれば9bに戻る(9f)。
としてブロック内の特定の個所の時間だけを測定して全
体の劣化度を判断する方法も考えられる。そして所望の
全データの書き込みが終了したら書き込みルーチンを終
了し、まだデータがあれば9bに戻る(9f)。
【0031】以上の制御をすることによりフラッシュメ
モリの劣化を全領域にわたって平均化することも可能と
なる効果がある。なお本実施例では書き込み時間を劣化
の評価対象としたが、消去時間を測定してこれを劣化の
評価対象としても良い。
モリの劣化を全領域にわたって平均化することも可能と
なる効果がある。なお本実施例では書き込み時間を劣化
の評価対象としたが、消去時間を測定してこれを劣化の
評価対象としても良い。
【0032】また時間の測定を回路的に行っているが、
コントローラのソフトウェアで行えばハードウェアの削
減に寄与する。
コントローラのソフトウェアで行えばハードウェアの削
減に寄与する。
【0033】
【発明の効果】本発明の効果は、フラッシュメモリの書
き込みの遅さが記憶装置としての性能低下にならないこ
とである。フラッシュメモリは読み出しアクセスについ
てはDRAMと比較して遜色ない速度を持つが、書き込
みアクセスは一桁以上の違いがある。しかも消去動作も
必要となり、単純にフラッシュメモリに書き込みを行う
と記憶装置としての性能低下を招く。そしてこれを解決
するために単純なライトバッファを設けても、ライトバ
ッファからフラッシュメモリへの転送が遅くなるため、
この時にホストからアクセスがあると結局ホストを待た
すことになり性能低下となる。本発明によればライトバ
ッファ内のデータがあふれるまではホストを待たせるこ
となくアクセス要求に対応できるようになる。そしてラ
イトバッファ内のデータがあふれないように、適宜ライ
トバッファからフラッシュメモリへの転送を行える。
き込みの遅さが記憶装置としての性能低下にならないこ
とである。フラッシュメモリは読み出しアクセスについ
てはDRAMと比較して遜色ない速度を持つが、書き込
みアクセスは一桁以上の違いがある。しかも消去動作も
必要となり、単純にフラッシュメモリに書き込みを行う
と記憶装置としての性能低下を招く。そしてこれを解決
するために単純なライトバッファを設けても、ライトバ
ッファからフラッシュメモリへの転送が遅くなるため、
この時にホストからアクセスがあると結局ホストを待た
すことになり性能低下となる。本発明によればライトバ
ッファ内のデータがあふれるまではホストを待たせるこ
となくアクセス要求に対応できるようになる。そしてラ
イトバッファ内のデータがあふれないように、適宜ライ
トバッファからフラッシュメモリへの転送を行える。
【0034】また電源遮断時に対応する処理手段を持
ち、本発明の記憶装置の使用者の待ち時間が極力少なく
なる効果がある。またフラッシュメモリの特徴である劣
化による消去時間あるいは書き込み時間の増大を考慮し
てフラッシュメモリの劣化による使用者の待ち時間の増
加を抑える効果がある。
ち、本発明の記憶装置の使用者の待ち時間が極力少なく
なる効果がある。またフラッシュメモリの特徴である劣
化による消去時間あるいは書き込み時間の増大を考慮し
てフラッシュメモリの劣化による使用者の待ち時間の増
加を抑える効果がある。
【図1】本発明に係るフラッシュメモリのブロック図で
ある。
ある。
【図2】本発明の実施例における制御プログラムのメイ
ンルーチンのフローチャートである。
ンルーチンのフローチャートである。
【図3】本発明の実施例における制御プログラムのアク
セスルーチンのフローチャートである。
セスルーチンのフローチャートである。
【図4】既存ファイルの更新を高速化する実施例のフロ
ーチャートである。
ーチャートである。
【図5】ハードウェア割込み対応のメインルーチンのフ
ローチャートである。
ローチャートである。
【図6】電源遮断対応のメインルーチンのフローチャー
トである。
トである。
【図7】変換テーブルの退避を行う実施例のフローチャ
ートである。
ートである。
【図8】書き込み時間による劣化診断を行うフラッシュ
メモリシステムのブロック図である。
メモリシステムのブロック図である。
【図9】書き込み時間による劣化診断を行う実施例のラ
イトアクセスのフローチャートである。
イトアクセスのフローチャートである。
【図10】未転送ファイル更新の際の処理を示すフロー
チャートである。
チャートである。
【図11】変換テーブルの説明図である。
1…フラッシュメモリ、4…コントローラ、5…変換テ
ーブル、6…ライトバッファ、7…DMAC、8…中断
時レジスタ、101…書き込み制御回路、102…書き
込み時間測定回路、103…劣化度情報テーブル
ーブル、6…ライトバッファ、7…DMAC、8…中断
時レジスタ、101…書き込み制御回路、102…書き
込み時間測定回路、103…劣化度情報テーブル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 高谷 佳夫 千葉県習志野市東習志野七丁目1番1号 日立京葉エンジニアリング株式会社内 (72)発明者 齊藤 学 千葉県習志野市東習志野七丁目1番1号 日立京葉エンジニアリング株式会社内 (72)発明者 柿 健一 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 戸塚 隆 千葉県茂原市早野3300番地 株式会社日立 製作所電子デバイス事業部内
Claims (11)
- 【請求項1】外部からのデータを記憶するフラッシュメ
モリを有するフラッシュメモリシステムにおいて、 前記データの前記フラッシュメモリへの書き込み要求時
に、外部からの前記データを一時的に記憶するためのデ
ータ記憶手段と、 前記データの書き込み要求時に、前記データを前記デー
タ記憶手段に格納後、前記フラッシュメモリに転送する
制御部とを有し、 前記制御部は、前記データの前記フラッシュメモリへの
転送が終了する前に、外部からデータの読み出し要求ま
たは書き込み要求を受けた場合、前記フラッシュメモリ
への転送を中断し、外部からのデータの読み出し要求ま
たは書き込み要求を優先して処理することを特徴とする
フラッシュメモリシステム。 - 【請求項2】請求項1記載のフラッシュメモリシステム
において、 前記データが前記データ記憶手段に格納されているかど
うかを示す情報を記憶する情報記憶手段を有し、 前記制御部は、前記情報により、外部から読みだしが要
求された前記データが、前記データ記憶手段に格納され
ているか否かの判断を行い、前記データ記憶手段に格納
されていることが判明した場合には前記データ記憶手段
から読み出しを行うことを特徴とするフラッシュメモリ
システム。 - 【請求項3】請求項1記載のフラッシュメモリシステム
において、 外部から前記データへのアクセス時に外部から指定され
る論理アドレスと、これに対応する前記データ記憶手段
の物理アドレスとの対応情報を記憶する情報記憶手段を
有し、 前記制御部は、前記情報により、外部から読みだしが要
求された前記データが、前記データ記憶手段に格納され
ていることが判明した場合には、前記データ記憶手段か
ら読み出しを行うことを特徴とするフラッシュメモリシ
ステム。 - 【請求項4】請求項1、2または3記載のフラッシュメ
モリシステムにおいて、 前記制御部は、前記データ記憶手段から前記フラッシュ
メモリへデータを転送中に、外部からのデータの読み出
し要求または書き込み要求が有った場合、前記データの
転送を中断し、 中断が終了後に転送を再開するために必要な情報を記憶
する中断情報記憶手段を有し、 前記制御部は、前記中断情報記憶手段に前記情報を格納
後、前記読み出し要求または書き込み要求を処理し、処
理が終了後、中断したデータの転送を前記中断情報記憶
手段の記憶内容により、再開することを特徴とするフラ
ッシュメモリシステム。 - 【請求項5】請求項1、2、3または4記載のフラッシ
ュメモリシステムにおいて、 前記制御部は、外部から、前記フラッシュメモリの特定
領域へのデータの書き込み要求があった場合、前記デー
タ記憶手段への書き込みデータを格納する処理と、前記
フラッシュメモリ上にある、前記特定の領域に過去に格
納され不要となったデータを消去する処理とを並行して
行うことを特徴とするフラッシュメモリシステム。 - 【請求項6】請求項2または3記載のフラッシュメモリ
システムにおいて、 前記制御部は、前記データ記憶手段から前記フラッシュ
メモリへの転送が完了後、前記情報記憶手段に格納され
ている情報を前記フラッシュメモリに転送することを特
徴とするフラッシュメモリシステム。 - 【請求項7】請求項2または3記載のフラッシュメモリ
システムにおいて、 前記制御部は、前記情報記憶手段の内容を電源遮断直前
に前記フラッシュメモリに転送することを特徴とするフ
ラッシュメモリシステム。 - 【請求項8】請求項6または7記載のフラッシュメモリ
システムにおいて、 前記情報記憶手段の内容を前記フラッシュメモリに転送
する際に、前記フラッシュメモリへの転送場所を可変と
し、転送場所を示す情報を前記フラッシュメモリ上のあ
らかじめ定められた場所へ転送することを特徴とするフ
ラッシュメモリシステム。 - 【請求項9】外部からのデータを記憶するフラッシュメ
モリを有するフラッシュメモリシステムにおいて、 前記データの前記フラッシュメモリへの書き込み要求時
に、外部からの前記データを一時的に記憶するためのデ
ータ記憶手段と、 前記データの書き込み要求時に、前記データを前記デー
タ記憶手段に格納後、前記フラッシュメモリに転送する
制御部とを有し、 前記制御部は、前記データの前記フラッシュメモリへの
転送が終了する前に、外部から同一アドレスへのデータ
の新たな書き込み要求を受けた場合、前記フラッシュメ
モリへの転送を中断し、外部からの新たなデータを前記
データ記憶手段に格納し、前のデータは無効とすること
を特徴とするフラッシュメモリシステム。 - 【請求項10】外部からのデータを記憶するフラッシュ
メモリを有するフラッシュメモリシステムにおいて、 前記フラッシュメモリへ前記データを書き込むのに要し
た時間を測定する書き込み時間測定手段と、 前記書き込み時間測定手段の測定結果により、フラッシ
ュメモリの劣化度を診断する劣化度診断手段と、 前記劣化度診断手段による診断結果を記憶する劣化度記
憶手段と、 前記診断結果により、前記データのフラッシュメモリ上
の格納場所を決定して、格納する制御手段とを有するこ
とを特徴とするフラッシュメモリシステム。 - 【請求項11】請求項10記載のフラッシュメモリシス
テムにおいて、 前記制御手段は、前記フラッシュメモリへの格納場所の
決定に際して、診断結果を参照して劣化度が最大でない
場所を選択することを特徴とするフラッシュメモリシス
テム。
Priority Applications (11)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5174372A JPH0728690A (ja) | 1993-07-14 | 1993-07-14 | フラッシュメモリシステム |
| KR1019940007261A KR970008188B1 (ko) | 1993-04-08 | 1994-04-07 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
| DE69432878T DE69432878T2 (de) | 1993-04-08 | 1994-04-08 | Informationsverarbeitungssystem mit Flash-Speicher und Cache-Speicher |
| US08/225,313 US5530673A (en) | 1993-04-08 | 1994-04-08 | Flash memory control method and information processing system therewith |
| EP94105467A EP0619541B1 (en) | 1993-04-08 | 1994-04-08 | Information processing system with cached flash memory |
| TW083103109A TW403871B (en) | 1993-04-08 | 1994-04-09 | Control method of flash memory and its application on data process device |
| US08/640,998 US5862083A (en) | 1993-04-08 | 1996-04-30 | Information processing system |
| US09/182,630 US5973964A (en) | 1993-04-08 | 1998-10-30 | Flash memory control method and information processing system therewith |
| US09/357,931 US6078520A (en) | 1993-04-08 | 1999-07-21 | Flash memory control method and information processing system therewith |
| US09/577,371 US6275436B1 (en) | 1993-04-08 | 2000-05-23 | Flash memory control method and apparatus processing system therewith |
| US09/927,493 US6421279B1 (en) | 1993-04-08 | 2001-08-13 | Flash memory control method and apparatus processing system therewith |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5174372A JPH0728690A (ja) | 1993-07-14 | 1993-07-14 | フラッシュメモリシステム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0728690A true JPH0728690A (ja) | 1995-01-31 |
Family
ID=15977467
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5174372A Pending JPH0728690A (ja) | 1993-04-08 | 1993-07-14 | フラッシュメモリシステム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0728690A (ja) |
Cited By (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11259360A (ja) * | 1998-03-09 | 1999-09-24 | Seiko Epson Corp | 半導体集積装置及び不揮発性メモリ書き込み方式 |
| JP2003234000A (ja) * | 2002-02-08 | 2003-08-22 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置、icカードおよび検査装置 |
| JP2004318933A (ja) * | 2003-04-11 | 2004-11-11 | Renesas Technology Corp | 半導体記憶装置 |
| WO2005076203A1 (ja) * | 2004-02-03 | 2005-08-18 | Matsushita Electric Industrial Co., Ltd. | メモリカード及びデータ処理装置並びにメモリカードの制御方法及び設定方法 |
| JP2006059287A (ja) * | 2004-08-24 | 2006-03-02 | Sony Corp | メモリ管理方法および装置 |
| JP2007156862A (ja) * | 2005-12-06 | 2007-06-21 | Fujitsu Ltd | フラッシュメモリの管理方法及び装置 |
| JP2008506178A (ja) * | 2004-07-07 | 2008-02-28 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データファイル分配方法及びデータファイル記憶メモリシステム |
| JP2011070346A (ja) * | 2009-09-25 | 2011-04-07 | Toshiba Corp | メモリシステム |
| JP2013200839A (ja) * | 2012-03-26 | 2013-10-03 | Toshiba Corp | 半導体記憶装置、情報処理システムおよび制御方法 |
| JP2014182792A (ja) * | 2013-03-15 | 2014-09-29 | Samsung Electronics Co Ltd | メモリシステムの動作方法、メモリシステム、及びメモリコントローラ |
| JP2016021264A (ja) * | 2015-10-23 | 2016-02-04 | 株式会社東芝 | メモリシステムのデータ管理方法 |
| JPWO2014024350A1 (ja) * | 2012-08-07 | 2016-07-25 | パナソニックIpマネジメント株式会社 | 記録装置、アクセス装置、記録システム、及び記録方法 |
| JP2018060321A (ja) * | 2016-10-04 | 2018-04-12 | 富士通株式会社 | メモリ制御装置、情報処理装置、およびメモリ制御方法 |
| US10585820B2 (en) | 2015-09-18 | 2020-03-10 | Hitachi, Ltd. | Memory controller, memory control method and semiconductor storage apparatus |
| JP2020149151A (ja) * | 2019-03-11 | 2020-09-17 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
| JP2025522175A (ja) * | 2023-06-09 | 2025-07-11 | 長江存儲科技有限責任公司 | データ検索を実行するメモリコントローラおよびメモリシステム |
-
1993
- 1993-07-14 JP JP5174372A patent/JPH0728690A/ja active Pending
Cited By (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11259360A (ja) * | 1998-03-09 | 1999-09-24 | Seiko Epson Corp | 半導体集積装置及び不揮発性メモリ書き込み方式 |
| JP2003234000A (ja) * | 2002-02-08 | 2003-08-22 | Matsushita Electric Ind Co Ltd | 半導体集積回路装置、icカードおよび検査装置 |
| JP2004318933A (ja) * | 2003-04-11 | 2004-11-11 | Renesas Technology Corp | 半導体記憶装置 |
| WO2005076203A1 (ja) * | 2004-02-03 | 2005-08-18 | Matsushita Electric Industrial Co., Ltd. | メモリカード及びデータ処理装置並びにメモリカードの制御方法及び設定方法 |
| JPWO2005076203A1 (ja) * | 2004-02-03 | 2007-10-18 | 松下電器産業株式会社 | メモリカード及びデータ処理装置並びにメモリカードの制御方法及び設定方法 |
| US7624298B2 (en) | 2004-02-03 | 2009-11-24 | Panasonic Corporation | Memory card, data processor, memory card control method and memory card setting |
| JP2011108252A (ja) * | 2004-02-03 | 2011-06-02 | Panasonic Corp | メモリカード及びデータ処理装置並びにメモリカードの制御方法及び設定方法 |
| JP2008506178A (ja) * | 2004-07-07 | 2008-02-28 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データファイル分配方法及びデータファイル記憶メモリシステム |
| JP2006059287A (ja) * | 2004-08-24 | 2006-03-02 | Sony Corp | メモリ管理方法および装置 |
| JP2007156862A (ja) * | 2005-12-06 | 2007-06-21 | Fujitsu Ltd | フラッシュメモリの管理方法及び装置 |
| JP2011070346A (ja) * | 2009-09-25 | 2011-04-07 | Toshiba Corp | メモリシステム |
| US8347024B2 (en) | 2009-09-25 | 2013-01-01 | Kabushiki Kaisha Toshiba | Memory system monitoring data erasing time or writing time |
| JP2013200839A (ja) * | 2012-03-26 | 2013-10-03 | Toshiba Corp | 半導体記憶装置、情報処理システムおよび制御方法 |
| JPWO2014024350A1 (ja) * | 2012-08-07 | 2016-07-25 | パナソニックIpマネジメント株式会社 | 記録装置、アクセス装置、記録システム、及び記録方法 |
| US9778857B2 (en) | 2012-08-07 | 2017-10-03 | Panasonic intellectual property Management co., Ltd | Recording device, access device, recording system, and recording method |
| JP2014182792A (ja) * | 2013-03-15 | 2014-09-29 | Samsung Electronics Co Ltd | メモリシステムの動作方法、メモリシステム、及びメモリコントローラ |
| US10318339B2 (en) | 2013-03-15 | 2019-06-11 | Samsung Electronics Co., Ltd. | Method of operating a memory system, the memory system, and a memory controller |
| US10585820B2 (en) | 2015-09-18 | 2020-03-10 | Hitachi, Ltd. | Memory controller, memory control method and semiconductor storage apparatus |
| JP2016021264A (ja) * | 2015-10-23 | 2016-02-04 | 株式会社東芝 | メモリシステムのデータ管理方法 |
| JP2018060321A (ja) * | 2016-10-04 | 2018-04-12 | 富士通株式会社 | メモリ制御装置、情報処理装置、およびメモリ制御方法 |
| JP2020149151A (ja) * | 2019-03-11 | 2020-09-17 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置 |
| KR20200109238A (ko) * | 2019-03-11 | 2020-09-22 | 윈본드 일렉트로닉스 코포레이션 | 반도체 기억장치 |
| US10937492B2 (en) | 2019-03-11 | 2021-03-02 | Winbond Electronics Corp. | Semiconductor storage apparatus |
| JP2025522175A (ja) * | 2023-06-09 | 2025-07-11 | 長江存儲科技有限責任公司 | データ検索を実行するメモリコントローラおよびメモリシステム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7613870B2 (en) | Efficient memory usage in systems including volatile and high-density memories | |
| JP3407317B2 (ja) | フラッシュメモリを使用した記憶装置 | |
| US9785564B2 (en) | Hybrid memory with associative cache | |
| KR101300657B1 (ko) | 비휘발성 메모리 및 버퍼 메모리를 포함하는 메모리 시스템및 그것의 데이터 읽기 방법 | |
| JPH0728690A (ja) | フラッシュメモリシステム | |
| EP0077453A2 (en) | Storage subsystems with arrangements for limiting data occupancy in caches thereof | |
| JPH023215B2 (ja) | ||
| JP2005301591A (ja) | 不揮発性メモリを備えた装置及びメモリコントロ−ラ | |
| US20090257284A1 (en) | Method and apparatus for improving storage performance using a background erase | |
| JP3421581B2 (ja) | 不揮発性半導体メモリを用いた記憶装置 | |
| JP4182993B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
| US20180210675A1 (en) | Hybrid drive garbage collection | |
| JP4242245B2 (ja) | フラッシュrom制御装置 | |
| CN116893986B (zh) | 一种通过模拟通用存储器实现flash均匀磨损的方法 | |
| CN119046186B (zh) | 一种存储器及缓存块的优化方法 | |
| JP2003323352A (ja) | メモリ装置 | |
| JPH0115903B2 (ja) | ||
| US20250013570A1 (en) | Performance Optimization for Loading Data in Memory Services Configured on Storage Capacity of a Data Storage Device | |
| JP2003203016A (ja) | 記憶装置 | |
| JP2005115562A (ja) | フラッシュrom制御装置 | |
| JPH08190510A (ja) | 不良部分を含む半導体メモリを搭載可能な情報処理装置 | |
| JPH07281842A (ja) | 半導体記憶装置 | |
| JPH0519981A (ja) | 光デイスク装置のデータ書込み正常終了判定方法 | |
| JPH06348600A (ja) | ディスクキャッシュ装置 | |
| US12235766B2 (en) | CXL memory module, memory data swap method and computer system |