JPH0728690A - Flash memory system - Google Patents

Flash memory system

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
Application number
JP5174372A
Other languages
Japanese (ja)
Inventor
Kunihiro Katayama
国弘 片山
Yoshio Takatani
佳夫 高谷
Manabu Saito
学 齊藤
Kenichi Kaki
健一 柿
Takashi Totsuka
隆 戸塚
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.)
Hitachi Ltd
Hitachi Keiyo Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Keiyo Engineering 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 Hitachi Ltd, Hitachi Keiyo Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP5174372A priority Critical patent/JPH0728690A/en
Priority to KR1019940007261A priority patent/KR970008188B1/en
Priority to DE69432878T priority patent/DE69432878T2/en
Priority to EP94105467A priority patent/EP0619541B1/en
Priority to US08/225,313 priority patent/US5530673A/en
Priority to TW083103109A priority patent/TW403871B/en
Publication of JPH0728690A publication Critical patent/JPH0728690A/en
Priority to US08/640,998 priority patent/US5862083A/en
Priority to US09/182,630 priority patent/US5973964A/en
Priority to US09/357,931 priority patent/US6078520A/en
Priority to US09/577,371 priority patent/US6275436B1/en
Priority to US09/927,493 priority patent/US6421279B1/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To provide the flash memory system which speeds up the writing of data to a flash memory. CONSTITUTION:At an access request from a host bus 2, a controller 4 stores data in a write buffer 6 by write access, and reads data, which are stored in the flash memory 1, out of the flash memory 1 or data, which are not stored in the flash memory 1, out of the write buffer 6 by read access. Consequently, the write buffer 6 is provided to apparently speed up the operation; when an access request to read the same data is made right after the write access, a read from the data in the write buffer 6 is enabled.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はフラッシュメモリシステ
ムに係り、特にフラッシュメモリを処理プログラムやデ
ータの記憶媒体とした際の高速化に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a flash memory system, and more particularly to speeding up when a flash memory is used as a storage medium for processing programs and data.

【0002】[0002]

【従来の技術】フラッシュメモリは電気的に書き替え可
能なROMであり、不揮発性メモリでありながらファイ
ル記憶装置の記憶媒体として期待されるメモリ素子であ
る。一種のEEPROMと捉えることもできるが、一般
的なEEPROMとの決定的な違いはデータの消去単位
が大きいことにより集積度を高くできることである。従
って大容量のファイル記憶装置を比較的安価に構築でき
る。このフラッシュメモリを使用したファイル記憶装置
の従来技術としては特開平2−292798号公報に記
載のフラッシュEEPROMシステムが挙げられる。こ
れはフラッシュメモリの素子的な欠点である書き替え回
数に制限があるということに対して、フラッシュメモリ
への実際の書き込み回数を減らす方式についての発明で
あり、そのためにキャッシュメモリを用いてファイル書
き換えの時間監視制御を行うことを提案した発明であ
る。この方式を採用することによりフラッシュメモリを
使用した記憶装置として実用的な寿命を確保することを
目的としている。それと同時にフラッシュメモリのもう
一つの欠点である書換えの遅さをカバーすることも目的
としている記述もある。フラッシュメモリはDRAMや
SRAMなどの揮発性メモリと比較して書換え速度が数
値にして1桁以上遅く、処理データ格納媒体として性能
ネックとなってしまうが、先述のキャッシュメモリとし
てフラッシュメモリよりも高速なアクセスが可能な記憶
素子を用いることを提案している。これによりキャッシ
ュメモリにデータを書き込むのであればシステム全体と
してのフラッシュメモリによる性能ネックは回避でき
る。
2. Description of the Related Art A flash memory is an electrically rewritable ROM, which is a non-volatile memory and is a memory element expected as a storage medium of a file storage device. Although it can be regarded as a kind of EEPROM, the decisive difference from a general EEPROM is that the integration degree can be increased due to the large data erasing unit. Therefore, a large-capacity file storage device can be constructed relatively inexpensively. As a conventional technique of a file storage device using this flash memory, there is a flash EEPROM system described in Japanese Patent Laid-Open No. 2-292798. This is an invention of a method of reducing the actual number of times of writing to the flash memory, in contrast to the limitation of the number of times of rewriting that is a device defect of the flash memory. It is an invention that proposes to perform the time monitoring control. The purpose of this method is to secure a practical life as a storage device using a flash memory. At the same time, there is also a description aimed at covering another drawback of the flash memory, that is, the slowness of rewriting. The flash memory has a numerical rewriting speed that is one digit or more slower than a volatile memory such as a DRAM or an SRAM, which is a performance bottleneck as a processing data storage medium, but is faster than the flash memory as the cache memory described above. It is proposed to use an accessible storage element. As a result, if data is written to the cache memory, the performance bottleneck of the flash memory in the entire system can be avoided.

【0003】[0003]

【発明が解決しようとする課題】上記従来技術はフラッ
シュメモリの書換え回数の制限による寿命を延長するこ
とを重視しておりフラッシュメモリの書換え速度の遅さ
を補うことを重視していない。というのはまずキャッシ
ュメモリからフラッシュメモリへのデータの転送の条件
としてキャッシュメモリに余分な空間を必要としたとき
とあるが、余分な空間を必要とするときはすなわちシス
テムとしてデータの格納要求があるときであると考えら
れるため、このときに書換えの遅いフラッシュメモリへ
の書き込みを行っていたのではシステムのパフォーマン
スを落すことになり得る。
The above-mentioned prior art attaches importance to extending the life of the flash memory by limiting the number of times of rewriting, and does not attach importance to supplementing the slow rewriting speed of the flash memory. First of all, there is a case where extra space is required in the cache memory as a condition for data transfer from the cache memory to the flash memory, but when extra space is required, there is a data storage request as the system. Since it is considered that it is time, writing to the flash memory which is slow to be rewritten at this time may reduce the system performance.

【0004】またキャッシュメモリへの書き込みを行う
ときの条件としても書き込みが頻繁に起こるデータにお
いてのみキャッシュメモリへの書き込みを行うような制
御を目指しているため、書き込みの高速化を全ての書き
込みデータに対して図ることができない。以上のように
上記従来例は、書き換え回数の低減に対する配慮はされ
ているが、書き換え時間の高速化に対する考慮がなされ
ていないといえる。
Also, as a condition for writing to the cache memory, the aim is to control to write to the cache memory only for the data that is frequently written. I can't do it. As described above, in the above-mentioned conventional example, although consideration is given to the reduction of the number of rewritings, it can be said that the consideration of speeding up the rewriting time is not given.

【0005】本発明の目的は、書き換え時間の高速化を
図ったフラッシュメモリシステムを提供することであ
る。
An object of the present invention is to provide a flash memory system with a faster rewriting time.

【0006】[0006]

【課題を解決するための手段】上記の問題点を解決する
ために、外部からのデータを記憶するフラッシュメモリ
を有するフラッシュメモリシステムにおいて、前記デー
タの前記フラッシュメモリへの書き込み要求時に、外部
からの前記データを一時的に記憶するためのデータ記憶
手段と、前記データの書き込み要求時に、前記データを
前記データ記憶手段に格納後、前記フラッシュメモリに
転送する制御部とを有し、前記制御部は、前記データの
前記フラッシュメモリへの転送が終了する前に、外部か
らデータの読み出し要求または書き込み要求を受けた場
合、前記フラッシュメモリへの転送を中断し、外部から
のデータの読み出し要求または書き込み要求を優先して
処理することとしたものである。
In order to solve the above problems, in a flash memory system having a flash memory for storing data from the outside, when a request to write the data to the flash memory is issued from the outside, The data storage means for temporarily storing the data, and a control part for storing the data in the data storage means and then transferring the data to the flash memory at the time of writing request of the data, the control part. If a data read request or write request is received from outside before the transfer of the data to the flash memory is completed, the transfer to the flash memory is interrupted and a data read request or write request from the outside is received. Is prioritized for processing.

【0007】また、外部からのデータを記憶するフラッ
シュメモリを有するフラッシュメモリシステムにおい
て、前記データの前記フラッシュメモリへの書き込み要
求時に、外部からの前記データを一時的に記憶するため
のデータ記憶手段と、前記データの書き込み要求時に、
前記データを前記データ記憶手段に格納後、前記フラッ
シュメモリに転送する制御部とを有し、前記制御部は、
前記データの前記フラッシュメモリへの転送が終了する
前に、外部から同一アドレスへのデータの新たな書き込
み要求を受けた場合、前記フラッシュメモリへの転送を
中断し、外部からの新たなデータを前記データ記憶手段
に格納し、前のデータは無効とすることとしたものであ
る。
Further, in a flash memory system having a flash memory for storing data from the outside, a data storage means for temporarily storing the data from the outside when a request to write the data to the flash memory is made. , When writing the data,
A control unit that transfers the data to the flash memory after storing the data in the data storage unit, wherein the control unit is
If a new write request for data to the same address is received from the outside before the transfer of the data to the flash memory is completed, the transfer to the flash memory is interrupted and the new data from the outside is transferred. The data is stored in the data storage means and the previous data is invalidated.

【0008】また、外部からのデータを記憶するフラッ
シュメモリを有するフラッシュメモリシステムにおい
て、前記フラッシュメモリへ前記データを書き込むのに
要した時間を測定する書き込み時間測定手段と、前記書
き込み時間測定手段の測定結果により、フラッシュメモ
リの劣化度を診断する劣化度診断手段と、前記劣化度診
断手段による診断結果を記憶する劣化度記憶手段と、前
記診断結果により、前記データのフラッシュメモリ上の
格納場所を決定して、格納する制御手段とを有すること
としたものである。
Further, in a flash memory system having a flash memory for storing data from the outside, write time measuring means for measuring a time required for writing the data to the flash memory, and measurement of the write time measuring means. A deterioration degree diagnosing means for diagnosing the deterioration degree of the flash memory based on the result, a deterioration degree storing means for storing the diagnosis result by the deterioration degree diagnosing means, and a storage location of the data on the flash memory is determined by the diagnosis result. Then, it has a control means for storing.

【0009】[0009]

【作用】上記のように、書き込み回数を少なくして読み
出しを頻繁に行うことを目的としたキャッシュメモリで
はなく、書き込みの高速化のために一時的にデータを格
納するライトバッファメモリ(データ記憶手段)を設
け、このバッファメモリに格納されたデータのフラッシ
ュメモリへの転送を外部(例えば、ホストシステム)か
らのアクセス要求がないときすなわちアクセス要求待ち
の時に行い、システム全体としては実質上転送時間が隠
されるよう工夫する。またホストシステムからの書き込
み要求データは全て必ずバッファメモリに取り込むこと
とし、書き込み速度が遅いフラッシュメモリはホストシ
ステムから直接書き込まれることがないようにする。そ
してバッファメモリからフラッシュメモリへのデータ転
送はホストシステムからのデータ書き込みが終了しだい
開始され、ホストシステムから当該データあるいは別の
データをアクセスする要求があるまでの期間つまりアク
セス要求待機期間に行われ、ホストシステムからのアク
セス要求が起きたらただちにバッファメモリからフラッ
シュメモリへのデータ転送を中断し、ホストシステムの
要求に対応する。そして再びアクセス要求待機状態にな
ったらキャッシュメモリからフラッシュメモリへのデー
タ転送を先の中断時点から再開する。この結果、バッフ
ァメモリはホストシステムからの格納データの書き込み
を素速く終了し、その結果ホストシステムは格納データ
の転送を終わらせて次の処理を行うことができシステム
全体のパフォーマンスが向上する。つまりホストシステ
ムからはフラッシュメモリの書き込み速度が見えず、フ
ラッシュメモリの書き込み速度の遅さを隠すことができ
る。そしてバッファメモリ上のデータはホストシステム
からのアクセス要求が終了し次第フラッシュメモリに転
送され、ホストシステムからの次のアクセス要求がある
まで続けられる。従ってホストシステムはバッファメモ
リからフラッシュメモリへの転送途中でも転送要求を割
り込ませることができ、ホストシステムの待機時間はな
いこととなる。
As described above, a write buffer memory (data storage means) for temporarily storing data for speeding up writing is not a cache memory for the purpose of reducing the number of times of writing and reading frequently. ) Is provided, the data stored in the buffer memory is transferred to the flash memory when there is no access request from the outside (for example, the host system), that is, when waiting for the access request, and the transfer time of the entire system is substantially reduced. Try to be hidden. In addition, all write request data from the host system must be fetched into the buffer memory without fail so that a flash memory with a slow writing speed is not directly written by the host system. Then, the data transfer from the buffer memory to the flash memory is started as soon as the data writing from the host system is completed, and is performed during the period from the host system to the request to access the data or another data, that is, the access request waiting period, Immediately after the access request from the host system occurs, the data transfer from the buffer memory to the flash memory is interrupted to meet the host system request. When the access request standby state is resumed, the data transfer from the cache memory to the flash memory is resumed from the previous interruption point. As a result, the buffer memory quickly ends the writing of the stored data from the host system, and as a result, the host system can finish the transfer of the stored data and perform the next processing, improving the performance of the entire system. That is, the host system cannot see the writing speed of the flash memory and can hide the slow writing speed of the flash memory. Then, the data on the buffer memory is transferred to the flash memory as soon as the access request from the host system is completed, and is continued until the next access request from the host system. Therefore, the host system can interrupt the transfer request even during the transfer from the buffer memory to the flash memory, and the host system has no waiting time.

【0010】またバッファメモリの容量はホストシステ
ムからのデータが通常の使用状態においてバッファメモ
リに格納しきれる程度以上の十分な容量を確保する。バ
ッファメモリを十分な容量確保することにより、ホスト
システムからのデータ格納ができなくなってホストシス
テムに待機時間を持たせることがないようにする。
Further, the buffer memory has a sufficient capacity enough to store the data from the host system in the buffer memory in a normal use state. By ensuring a sufficient capacity of the buffer memory, it is possible to prevent the host system from having a waiting time by being unable to store data from the host system.

【0011】またバッファメモリからフラッシュメモリ
へのデータ転送時間をできるかぎり減ずるために、まだ
フラッシュメモリへの転送が行われておらず、バッファ
メモリに残されているデータと同一データ(例えば、同
一ファイル)のホストからの再転送においては、先に格
納されているデータを無効化してつねに最新のものをフ
ラッシュメモリに転送することとする。同一ファイルの
再転送において、古いデータは不要であるため無効化し
て構わず、余分なデータ転送を行う必要がなくなり、ま
たフラッシュメモリの書換え回数を減らすことにもな
る。
Further, in order to reduce the data transfer time from the buffer memory to the flash memory as much as possible, the transfer to the flash memory has not been performed yet, and the same data as the data remaining in the buffer memory (for example, the same file). In the re-transfer from the host of (1), the previously stored data is invalidated and the latest one is always transferred to the flash memory. When re-transferring the same file, old data is unnecessary, so it may be invalidated, there is no need to transfer extra data, and the number of times of rewriting the flash memory is reduced.

【0012】またホストからの連続的な大容量の書き込
みに対応するためにフラッシュメモリに対する書き込み
をできるだけ速くする必要もある。しかしフラッシュメ
モリは劣化すると書き込みや消去に要する時間が長くな
り、書換えが遅くなってしまうためこれを回避すべきで
ある。そのため書き込みや消去に要する時間を計測して
フラッシュメモリの劣化度を常に把握して劣化度の低い
ところを選んで書き込むよう制御する。書換え時間を短
縮すればホストからの連続的な大容量の書換えにおける
バッファメモリ不足を防ぐことができる。
It is also necessary to write data to the flash memory as fast as possible in order to cope with continuous large-capacity writing from the host. However, if the flash memory deteriorates, the time required for writing and erasing becomes long and rewriting becomes slow, so this should be avoided. Therefore, the time required for writing and erasing is measured to constantly grasp the degree of deterioration of the flash memory, and control is performed so that the portion with the lower degree of deterioration is selected for writing. If the rewriting time is shortened, it is possible to prevent the buffer memory shortage in the continuous large capacity rewriting from the host.

【0013】[0013]

【実施例】次に本発明の実施例を説明する。図1は本発
明の構成図を示す図である。本発明に係るフラッシュメ
モリシステムは、記憶媒体であるフラッシュメモリ1
と、記憶装置(フラッシュメモリシステム)のホストと
なる情報機器のバス2と、ホストバス2をインタフェー
スするレジスタやバス類からなるインタフェース回路3
と、記憶装置全体を統括制御するコントローラ(制御
部)4と、ホストがファイルデータを管理するための論
理アドレスと物理的な記憶位置を示す物理アドレスの変
換を行うためのアドレス変換テーブル(情報記憶手段)
5と、ホストから送られるファイルデータを高速に格納
して見かけ上の処理速度を上げるためのライトバッファ
6(従って高速な書き込みが要求されるためSRAMや
DRAMなどの揮発性メモリである必要がある)と、コ
ントローラ4の動作速度がホストバス2の動作速度より
劣るのをカバーし高速にデータを転送するためのDMA
コントローラ7と、ライトバッファ6内のデータをフラ
ッシュメモリ1に転送している最中にホストからアクセ
ス要求があったときに処理を中断し、後で再開するため
に中断したときの動作状態を記憶するための中断時レジ
スタ(中断情報記憶手段)8とを有する。
EXAMPLES Examples of the present invention will be described below. FIG. 1 is a diagram showing a configuration diagram of the present invention. A flash memory system according to the present invention is a flash memory 1 which is a storage medium.
And a bus 2 of an information device that serves as a host of a storage device (flash memory system), and an interface circuit 3 including registers and buses that interface with the host bus 2.
And a controller (control unit) 4 that controls the entire storage device, and an address conversion table (information storage) for converting a logical address for the host to manage file data and a physical address indicating a physical storage position. means)
5 and a write buffer 6 for storing file data sent from the host at high speed to increase the apparent processing speed (thus, since high-speed writing is required, it is necessary to be a volatile memory such as SRAM or DRAM). ) And a DMA for high-speed data transfer, which covers that the operation speed of the controller 4 is lower than that of the host bus 2.
The controller 7 and the write buffer 6 store the operation state when the host makes an access request during the transfer of the data to the flash memory 1 and the process is interrupted for restarting later. And an interruption register (interruption information storage means) 8 for performing the operation.

【0014】図11に変換テーブル5の一例を示す。図
11では、ホストバス1から転送されてくる3セクタ分
のデータをライトバッファ6のブロック1からブロック
3に保持し、それぞれのブロックの1セクタのデータを
それぞれフラッシュメモリ1のチップ0のセクタ3、チ
ップ1のセクタ2、チップ2のセクタ7へ書き込むこと
を示している。フラグは、ホストからのデータがフラッ
シュメモリに転送されておらず、まだフラッシュメモリ
にあることを示す。
FIG. 11 shows an example of the conversion table 5. In FIG. 11, data for 3 sectors transferred from the host bus 1 is held in blocks 1 to 3 of the write buffer 6, and data of 1 sector in each block is stored in the sector 3 of chip 0 of the flash memory 1 respectively. , Sector 2 of chip 1 and sector 7 of chip 2 are written. The flag indicates that the data from the host has not been transferred to the flash memory and is still in the flash memory.

【0015】なお、変換テーブルは図11の例に限ら
ず、フラグを有さないこととしてもよい。その時はフラ
ッシュメモリに転送されたものはフラッシュメモリの物
理アドレスの欄のみに数字を書くこととしても良い。そ
の時にライトバッファとフラッシュメモリの物理アドレ
スは連続させることとすると変換テーブルをそれぞれの
メモリに対応させる必要がなくなり、テーブル容量を縮
小できる。
The conversion table is not limited to the example shown in FIG. 11, and may have no flag. At that time, the number transferred to the flash memory may be written only in the physical address column of the flash memory. At that time, if the physical addresses of the write buffer and the flash memory are made continuous, the conversion table does not need to correspond to each memory, and the table capacity can be reduced.

【0016】次に動作を説明する。ホストの情報機器は
ファイルデータの格納や読み出しが必要になるとホスト
バス2を通してアクセス要求をするとともに、ファイル
データ格納時は格納するための論理アドレスを指定して
データを転送し、ファイルデータの読み出し時は管理上
の論理アドレスを指定してそこに格納してあるファイル
データの転送を要求する。これらの要求はインタフェー
ス回路3に備えられるレジスタに設定することにより行
われる。コントローラ4はインタフェース回路に設定さ
れた処理要求の内容を理解すると変換テーブル5を参照
し、あるいは変換テーブル5の内容を書換えてホストが
指定する論理アドレスと実際のデータの格納位置を示す
物理アドレスが誤りなく対応するように処理する。もし
ファイルデータの格納の要求であった場合には、コント
ローラ4はホストが指定する論理アドレスと格納するラ
イトバッファ6の物理アドレスを変換テーブル5に書き
込む。既に過去に格納してあったファイルデータの更新
であった場合には過去のデータは不必要となるため、過
去のデータが格納されている物理アドレスが有効である
かどうかを示す情報(同一の論理アドレスのデータがフ
ラッシュメモリ上で別の物理アドレスに格納されるため
に本情報が必要になる)を変換テーブル4内に記録する
処理も加えられる。
Next, the operation will be described. When the host information device needs to store or read file data, it makes an access request through the host bus 2, and at the time of storing the file data, specifies the logical address for storing and transfers the data, and at the time of reading the file data. Specifies a management logical address and requests transfer of the file data stored therein. These requests are made by setting the registers provided in the interface circuit 3. When the controller 4 understands the contents of the processing request set in the interface circuit, it refers to the conversion table 5 or rewrites the contents of the conversion table 5 so that the logical address designated by the host and the physical address indicating the actual data storage position are stored. Handle so that there is no error. If the request is to store file data, the controller 4 writes the logical address designated by the host and the physical address of the write buffer 6 to be stored in the conversion table 5. If the file data that has already been stored in the past is updated, the past data is unnecessary, so information indicating whether the physical address where the past data is stored is valid (same This information is required because the data of the logical address is stored in another physical address on the flash memory), and a process of recording it in the conversion table 4 is also added.

【0017】そしてホストバスから転送されて来るライ
トデータを受け入れるためにDMAC7を起動し、ライ
トバッファ6に格納する。この時同時にフラッシュメモ
リ1に格納されている不要データの消去を行うと処理時
間を有効活用できることになる。一方もしファイルデー
タの読み出し要求であった場合には、コントローラ4は
ホストが指定する論理アドレスから変換テーブル5を参
照してホストが要求するファイルデータが物理的にどこ
に格納されているかを割り出し、これをDMAC7に設
定して起動し、ホストバス2に高速にデータを転送して
ホストの要求に応じる。
Then, the DMAC 7 is activated to receive the write data transferred from the host bus and stored in the write buffer 6. At this time, if unnecessary data stored in the flash memory 1 is erased at the same time, the processing time can be effectively utilized. On the other hand, if the read request is for file data, the controller 4 refers to the conversion table 5 from the logical address specified by the host to determine where the file data requested by the host is physically stored, and Is set in the DMAC 7 and activated to transfer data at high speed to the host bus 2 to meet the host request.

【0018】ファイルデータの格納場所としてはフラッ
シュメモリ1かあるいはライトバッファ6に格納されて
いることが考えられる。これは変換テーブル5の参照に
より明らかになるはずである。従ってコントローラ4は
参照した変換テーブル5の内容によってDMACにアク
セスさせるメモリを選択して設定する必要がある。
The file data may be stored in the flash memory 1 or the write buffer 6. This should become clear by referring to the conversion table 5. Therefore, the controller 4 needs to select and set the memory to be accessed by the DMAC according to the contents of the referred conversion table 5.

【0019】以上がホストからのアクセス要求に対応し
た記憶装置の動作概要であるが、ホストからのアクセス
要求に対する処理が終了し、次にホストからアクセスが
要求されるまでの間はコントローラは内部で別の処理を
行う。それはライトバッファに格納されているデータを
フラッシュメモリ1に転送する処理である。ただしライ
トバッファ内のデータが全てフラッシュメモリに転送さ
れてしまえば記憶装置は完全にホストからの待機状態と
なる。このライトバッファからフラッシュメモリへのデ
ータ転送を行わないと電源が遮断された場合に揮発性メ
モリであるライトバッファ内のデータが揮発して最新の
格納ファイルデータが失われてしまうからである。また
ライトバッファに格納することができるデータ量には限
りがあるため、できるだけフラッシュメモリへの未格納
データが残存するかぎりは常にフラッシュメモリへの転
送を行うべきである。
The above is the outline of the operation of the storage device in response to the access request from the host. The controller internally operates until the processing for the access request from the host is completed and the next access is requested from the host. Do another process. It is a process of transferring the data stored in the write buffer to the flash memory 1. However, if all the data in the write buffer is transferred to the flash memory, the storage device is completely in a standby state from the host. This is because unless the data is transferred from the write buffer to the flash memory, the data in the write buffer, which is a volatile memory, is volatilized and the latest stored file data is lost when the power is cut off. Since the amount of data that can be stored in the write buffer is limited, transfer to the flash memory should always be performed as long as there is unstored data in the flash memory.

【0020】ここでホストからのアクセス要求がなくラ
イトバッファからフラッシュメモリへのデータ転送を行
っている最中に、ホストからアクセス要求があった場合
には、動作中の転送処理を一時中断し、ホストからの要
求に応じる。なお中断した処理はホストからのアクセス
要求に対応する処理が終了した時点で再開できるように
必要なステータスデータを中断時レジスタ8に記録す
る。この中断時レジスタ8はコントローラ4内部のレジ
スタやメモリを用いても良い。
If there is an access request from the host while data is being transferred from the write buffer to the flash memory without an access request from the host, the transfer process in operation is temporarily suspended, Respond to requests from the host. It should be noted that necessary status data is recorded in the interruption register 8 so that the interrupted processing can be restarted when the processing corresponding to the access request from the host is completed. The interrupt register 8 may be a register or memory inside the controller 4.

【0021】以上のようなコントローラ4が行う動作を
図2以降のフローチャートに記述した。図2はコントロ
ーラ4のメインルーチンのフローチャートであり、基本
的な動作の流れは、まずホストからアクセス要求がある
かを確認し、あればアクセスルーチンにジャンプし、な
ければ次に進む(2a)。ライトバッファ内にフラッシ
ュメモリに未格納のデータが存在するかを確認し(2
b)、存在すればこれをフラッシュメモリに転送格納す
る(2c)。全て格納済みであればホストからのアクセ
ス待ちとなる。なお2aでアクセスルーチンにジャンプ
し、アクセスが終了して復帰したときには記録した状態
に戻して(2d)再開する。メインルーチンではこの流
れを繰り返す。
The operation performed by the controller 4 as described above is described in the flow charts of FIG. 2 and subsequent figures. FIG. 2 is a flow chart of the main routine of the controller 4, and the basic operation flow is to first confirm whether or not there is an access request from the host, jump to the access routine if there is, and proceed to the next (2a). Check if there is unstored data in the flash memory in the write buffer (2
b) If it exists, it is transferred and stored in the flash memory (2c). If all have been stored, the host waits for access. It should be noted that the operation jumps to the access routine at 2a, and when the access is completed and returned, the recorded state is restored (2d) and the operation is restarted. This flow is repeated in the main routine.

【0022】図3および図4はアクセスルーチンのフロ
ーチャートであり、図3より説明すると、まずアクセス
ルーチンにジャンプしたときのメインルーチンにおける
状態を図1の中断時レジスタ8に記憶し(3a)、復帰
したときに動作が再開できるようにする。記憶内容とし
ては書き込みセクタの論理アドレスと物理アドレスなど
が挙げられる。次にホストからのアクセスを区別し各々
の処理に分岐する(3b)。図3は引き続きリードアク
セス処理を示している。リードアクセスではまずアドレ
ス変換を行う。これはホストからは論理アドレスにより
所望のファイルを指定してくるが、論理アドレスでは実
際のメモリ上の格納位置を示していないため、アドレス
変換テーブルにより論理アドレスから物理アドレスに変
換して実際のメモリ上の格納位置を把握して読み出しを
行うことになる(3c)。このアドレス変換を行った
ら、次にDMACにアクセスするアドレスを設定し、起
動する(3d)。そしてリードデータをホストバスに流
してアクセスを完了し(3e)、メインルーチンに復帰
する。
FIGS. 3 and 4 are flowcharts of the access routine. To explain with reference to FIG. 3, first, the state in the main routine at the time of jumping to the access routine is stored in the interruption register 8 in FIG. When it does, the operation can be resumed. The storage contents include the logical address and physical address of the write sector. Next, the access from the host is distinguished and the processing is branched (3b). FIG. 3 continues to show the read access process. In read access, address conversion is first performed. This is because the host specifies the desired file by the logical address, but the logical address does not indicate the actual storage location in the memory, so the address conversion table translates the logical address to the physical address and the actual memory The upper storage position is grasped and the reading is performed (3c). After this address conversion, the address for accessing the DMAC is set next and activated (3d). Then, the read data is sent to the host bus to complete the access (3e), and the process returns to the main routine.

【0023】一方ライトアクセスは図4に示す。まず過
去に格納されたことのあるファイルかをチェックする
(4a)。格納されたことがあるかどうかは、テーブル
に物理アドレスがあるかどうかで判断できる。過去に格
納したファイルであれば変換テーブルを参照してその物
理的位置を把握して変換テーブルを更新し(同じ論理ア
ドレスであっても、書換え寿命を伸ばすために、別の物
理アドレスに格納するため、物理アドレスを更新する必
要がある)、フラッシュメモリへ消去動作をかけ(4
b)、それと同時に更新ファイルの書き込み動作を行
う。消去動作はフラッシュメモリ内部で自動的に行われ
るため、書き込みを行うチップと異なれば並行して同時
に処理が行える。新しいファイルの格納であればそのま
ま書き込み動作に入る。まず格納場所を決定して変換テ
ーブルに物理アドレスと論理アドレスの対応を記録し
(4c)、次にDMACにアクセスするアドレスを設定
して起動する(4d)。そしてホストからのデータをラ
イトバッファに格納したら書き込み終了であり(4
e)、メインルーチンに復帰する。なおフローチャート
上の流れの順番は適宜入れ替えることも可能である。ま
た図3、図4にあるDMAC設定、起動後の実際のホス
トとのデータの授受はDMACが行うことになるためコ
ントローラは待機状態にあることになる。また消去動作
を図4の書き込みのルーチン内で行わず、メインルーチ
ンのフラッシュメモリへのデータ書き込み時に行った
り、ファイルを整理するルーチンを別に設定して消去を
行うことも考えられる。特にフラッシュメモリの消去単
位がファイル管理の単位よりも大きく、一つの消去単位
に複数のファイルが存在せざるを得ない場合には、ガー
ベージコレクションを行うルーチンを設定し、ここで消
去動作を行うのが最も効率的となる。
On the other hand, write access is shown in FIG. First, it is checked whether the file has been stored in the past (4a). Whether or not it has been stored can be determined by whether or not there is a physical address in the table. If it is a file stored in the past, refer to the conversion table and grasp its physical position to update the conversion table (even if the file has the same logical address, it is stored in another physical address to extend the rewriting life). Therefore, it is necessary to update the physical address), and erase operation is applied to the flash memory (4
b) At the same time, the update file write operation is performed. Since the erasing operation is automatically performed inside the flash memory, the processing can be performed in parallel at the same time if the chip is different from the writing chip. If a new file is stored, the write operation is directly started. First, the storage location is determined, the correspondence between the physical address and the logical address is recorded in the conversion table (4c), and then the address for accessing the DMAC is set and activated (4d). When the data from the host is stored in the write buffer, the writing is completed (4
e) Return to the main routine. Note that the order of the flow on the flowchart can be changed as appropriate. Further, since the DMAC performs the DMAC setting shown in FIGS. 3 and 4 and the exchange of data with the actual host after activation, the controller is in a standby state. It is also conceivable that the erasing operation is not performed in the writing routine of FIG. 4, but is performed at the time of writing data to the flash memory in the main routine, or a routine for organizing files is separately set and erasing is performed. In particular, if the erase unit of the flash memory is larger than the unit of file management and multiple files must exist in one erase unit, a routine for garbage collection is set and the erase operation is performed here. Will be the most efficient.

【0024】この図4からの応用として図10を説明す
ると、ホストからのデータをライトバッファに格納する
際に、フラッシュメモリへの転送がまだなされずにライ
トバッファに残存しているデータの、更新などによる再
転送であった場合には先に格納されているデータは不要
であるため消去するかあるいは無効化するフラグなどを
立て、フラッシュメモリへの転送をすることがないよう
にする(10a)。
Referring to FIG. 10 as an application from FIG. 4, when the data from the host is stored in the write buffer, the data remaining in the write buffer without being transferred to the flash memory is updated. In the case of the re-transfer due to, for example, the previously stored data is unnecessary, so a flag for erasing or invalidating is set so that the data is not transferred to the flash memory (10a). .

【0025】ところで図2のメインルーチンにおいて別
の例を示すと、図2はホストからのアクセス要求をソフ
トウェア上で受ける例であるが、ハードウェア割込みに
より強制的にアクセスルーチンに遷移することも考えら
れる。この場合はメインルーチンは図5のように単純化
し、ソフトウェア的にはアクセスルーチンに遷移する処
理はない。この方法ではホストからのアクセス要求に素
速く対応できるようになるが、割込みによりアクセスル
ーチンに遷移したときと、終了してメインルーチンに復
帰するときの処理を問題なくするためのソフト処理が多
少複雑になる。つまり中断の状態を詳細に記録しなけれ
ば、正常な復帰ができないことになる。
Another example of the main routine shown in FIG. 2 is shown in FIG. 2 in which an access request from the host is received by software, but it is also possible to forcibly transit to the access routine by a hardware interrupt. To be In this case, the main routine is simplified as shown in FIG. 5, and there is no process for changing to the access routine in terms of software. With this method, access requests from the host can be responded to quickly, but the software processing for eliminating problems when transitioning to the access routine due to an interrupt and when returning to the main routine is somewhat complicated. become. In other words, normal recovery cannot be done unless the interrupted state is recorded in detail.

【0026】この他にリセット及び電源遮断処理を含ん
だメインルーチンを図6に示した。これは変換テーブル
が揮発性メモリにより構成されている場合に特に重要と
なる処理であり、変換テーブルのデータが失われるとフ
ァイル全体のデータが失われたことと等しくなるため、
リセット時や電源遮断時には不揮発性メモリに退避する
必要がある。これには専用の書き込み可能な不揮発性メ
モリを備えても良いが、データ格納用のフラッシュメモ
リの一部を使用するのが部品点数の削減から有効と思わ
れる。
In addition to this, the main routine including reset and power cutoff processing is shown in FIG. This is a particularly important process when the conversion table is configured by volatile memory, and the loss of the conversion table data is equivalent to the loss of the entire file data.
It is necessary to save to the non-volatile memory at the time of reset or power cutoff. A dedicated writable non-volatile memory may be provided for this purpose, but it seems effective to use a part of the flash memory for data storage in order to reduce the number of parts.

【0027】なおこの退避処理を避ける方法としてメイ
ンルーチンを図7のルーチンとする方法が考えられる。
すなわちライトバッファからフラッシュメモリへのデー
タ転送、格納が終了し、ホストからのコマンド待ち状態
になったときに退避を行うようにすることにより、リセ
ットや電源遮断時に特別な処理を行う必要がなくなる。
ただしリセットや電源遮断は書き込みや退避の処理中に
行うことがないように注意する必要がある。また退避す
る領域は頻繁に書換えが行われるため、書換え回数に制
限がある不揮発性メモリに退避する場合には、寿命を検
討する必要がある。先述のようにフラッシュメモリの一
部を使用する場合には、退避領域を一個所に特定せず
に、移動する方法が良い。この場合には退避領域となっ
た記憶領域の一部に退避領域であることを明らかにする
コードを記録するなどにより容易に実現できる。揮発性
メモリ上の変換テーブルが電源遮断により失われたとき
には、全記憶領域から退避領域コードを検索し、退避領
域の位置を把握することができる。あるいは最終的な退
避領域の物理位置だけを不揮発性メモリの一部に電源遮
断時に書き込む方法をとれば時間的無駄が省ける。
As a method of avoiding this save processing, a method of making the main routine the routine of FIG. 7 is conceivable.
That is, by saving the data when the data transfer from the write buffer to the flash memory and the storage are completed and waiting for a command from the host, it is not necessary to perform special processing at the time of reset or power shutdown.
However, it is necessary to be careful not to reset or shut off the power during writing or saving. Further, since the area to be saved is frequently rewritten, it is necessary to consider the life when saving to a nonvolatile memory with a limited number of times of rewriting. When a part of the flash memory is used as described above, it is preferable to move the save area without specifying it in one place. In this case, it can be easily realized by recording a code for clarifying the save area in a part of the storage area that has become the save area. When the conversion table on the volatile memory is lost due to power interruption, the save area code can be searched from all the storage areas to grasp the position of the save area. Alternatively, if only the final physical position of the save area is written in a part of the non-volatile memory when the power is cut off, time can be saved.

【0028】次にフラッシュメモリの劣化によるアクセ
ス性能の低下を避ける実施例について図8により説明す
る。図8はフラッシュメモリの劣化を把握する手段の実
施例であり、図中101はフラッシュメモリ書き込み制
御回路、102は書き込み時間測定回路、103は変換
テーブル内に設置した劣化度情報テーブル(劣化度記憶
手段)であり、フラッシュメモリの消去ブロック毎に対
応している。他の既出の番号は先述の説明と同様であ
る。コントローラ4(劣化度診断手段)はフラッシュメ
モリ1への書き込みを行う際には書き込み制御回路10
1を起動するとともに、書き込み時間測定回路102も
起動し、書き込みにかかった時間を把握する。そしてそ
の時間によりフラッシュメモリの劣化の程度を判断して
これを変換テーブル内の劣化度情報テーブルに書き込
む。劣化度は、書き込み時間を例えば、8レベルに分け
る。例えば、レベル1は、10から100μsの場合、
レベル2の場合は、100から1000μsの場合と
し、レベル8は、許容される書き込み時間を超えた場
合、すなわち使用不能状態に陥ったものとすると不良セ
クタの記録も兼ねることができるようになる。
Next, an embodiment in which the deterioration of the access performance due to the deterioration of the flash memory is avoided will be described with reference to FIG. FIG. 8 shows an embodiment of means for grasping deterioration of the flash memory. In the drawing, 101 is a flash memory write control circuit, 102 is a write time measuring circuit, and 103 is a deterioration degree information table (deterioration degree storage) installed in a conversion table. Means) and corresponds to each erase block of the flash memory. The other numbers already mentioned are the same as those described above. The controller 4 (deterioration degree diagnosing means) uses the write control circuit 10 when writing to the flash memory 1.
1 is started up, the write time measuring circuit 102 is also started up, and the time taken for writing is grasped. Then, the degree of deterioration of the flash memory is judged from the time, and this is written in the deterioration degree information table in the conversion table. The deterioration level divides the writing time into eight levels, for example. For example, if level 1 is 10 to 100 μs,
In the case of level 2, the case is from 100 to 1000 μs, and in the case of level 8, if the allowable write time is exceeded, that is, if it is in an unusable state, it becomes possible to also record a defective sector.

【0029】コントローラ4はこの劣化度をデータ格納
時の物理アドレスの決定時に使用する。つまり劣化度が
大きいと判断されたブロックには書き込みを極力行わな
いようにすることにより、劣化による性能低下を避ける
ことができるようになる。この制御を示すフローチャー
トを図9で説明する。図9は書き込み時間を測定して劣
化度を診断するフラッシュメモリへの書き込み動作にお
けるフローチャートであり、一つの消去ブロックへの書
き込みを示している。本ルーチンはホストからライトア
クセスがあり、書き込みデータがライトバッファに格納
されている状態から実行されるものである。まず劣化度
情報テーブルを参照してこれから格納するフラッシュメ
モリのブロックが、劣化度が進んでいないブロックかを
確認する。もし劣化度が進んでいるブロックであれば別
のブロックを確認し劣化度が最も進んでいないブロック
を探し出す(9a)。こうして、全てのブロックの劣化
度が同じレベルになったら任意のブロックを選択するよ
うにする。この結果全てのブロックが均一に劣化するこ
とになる。そして探し出したら書き込み単位ごとに書き
込み時間測定回路を起動し、書き込み時間の測定を開始
すると同時に実際のフラッシュメモリへの書き込みを開
始する(9b)。そしてメモリの書き込み終了まで待機
する(9c)。書き込みが終了したら書き込みに要した
時間を書き込み時間測定回路より参照し、その値から劣
化度を診断する(9d)。つまりフラッシュメモリには
劣化が進むと書き込みに要する時間が長大するという特
徴があるためこれを利用するものである。そして劣化度
の診断結果が同一ブロック内でこれまでに書き込んだ書
き込み単位の中で最も劣化していれば、結果を劣化度情
報テーブルに格納する(9e)。というのは劣化度情報
は一つの消去ブロックに一つとするため、複数の書き込
みにより一つの消去ブロックを構成するフラッシュメモ
リにおいては各書き込み単位における劣化度を診断し、
同一ブロック内の最悪値をそのブロックの劣化度と判断
すべきである。つまりビットごとに劣化度は異なると考
えられ、1ビットでも劣化すればそのブロック内全域の
信頼度が下がることになる。
The controller 4 uses this degree of deterioration when determining a physical address when storing data. In other words, by not writing as much as possible to a block that has been determined to have a high degree of deterioration, it is possible to avoid performance degradation due to deterioration. A flowchart showing this control will be described with reference to FIG. FIG. 9 is a flowchart of the write operation to the flash memory for measuring the write time and diagnosing the degree of deterioration, and shows the write to one erase block. This routine is executed from the state where the host has write access and the write data is stored in the write buffer. First, referring to the deterioration degree information table, it is confirmed whether the block of the flash memory to be stored from now on is a block whose deterioration degree is not advanced. If the deterioration degree is advanced, another block is confirmed and the block with the lowest deterioration degree is searched (9a). In this way, an arbitrary block is selected when the deterioration levels of all blocks reach the same level. As a result, all blocks are uniformly deteriorated. When found, the write time measurement circuit is activated for each write unit, and the write time measurement is started, and at the same time, the actual write to the flash memory is started (9b). Then, it waits until the writing to the memory is completed (9c). When the writing is completed, the time required for writing is referred from the writing time measuring circuit, and the deterioration degree is diagnosed from the value (9d). In other words, since the flash memory has a characteristic that the time required for writing increases as the deterioration progresses, this is used. Then, if the deterioration degree diagnosis result is the most deteriorated in the writing units written so far in the same block, the result is stored in the deterioration degree information table (9e). Because the deterioration degree information is one for each erase block, the deterioration degree in each write unit is diagnosed in the flash memory that constitutes one erase block by a plurality of writes,
The worst value in the same block should be judged as the deterioration degree of the block. In other words, it is considered that the degree of deterioration is different for each bit, and if one bit is deteriorated, the reliability of the entire area in the block will be lowered.

【0030】ただし制御プログラムの簡略化などを目的
としてブロック内の特定の個所の時間だけを測定して全
体の劣化度を判断する方法も考えられる。そして所望の
全データの書き込みが終了したら書き込みルーチンを終
了し、まだデータがあれば9bに戻る(9f)。
However, for the purpose of simplifying the control program and the like, a method of measuring only the time at a specific portion in the block to judge the deterioration degree of the whole can be considered. When the writing of all desired data is completed, the write routine is ended, and if there is still data, the process returns to 9b (9f).

【0031】以上の制御をすることによりフラッシュメ
モリの劣化を全領域にわたって平均化することも可能と
なる効果がある。なお本実施例では書き込み時間を劣化
の評価対象としたが、消去時間を測定してこれを劣化の
評価対象としても良い。
By performing the above control, it is possible to average the deterioration of the flash memory over the entire area. In this embodiment, the writing time is the deterioration evaluation target, but the erase time may be measured and used as the deterioration evaluation target.

【0032】また時間の測定を回路的に行っているが、
コントローラのソフトウェアで行えばハードウェアの削
減に寄与する。
Further, although the time is measured in a circuit,
If the software of the controller is used, it will contribute to the reduction of hardware.

【0033】[0033]

【発明の効果】本発明の効果は、フラッシュメモリの書
き込みの遅さが記憶装置としての性能低下にならないこ
とである。フラッシュメモリは読み出しアクセスについ
てはDRAMと比較して遜色ない速度を持つが、書き込
みアクセスは一桁以上の違いがある。しかも消去動作も
必要となり、単純にフラッシュメモリに書き込みを行う
と記憶装置としての性能低下を招く。そしてこれを解決
するために単純なライトバッファを設けても、ライトバ
ッファからフラッシュメモリへの転送が遅くなるため、
この時にホストからアクセスがあると結局ホストを待た
すことになり性能低下となる。本発明によればライトバ
ッファ内のデータがあふれるまではホストを待たせるこ
となくアクセス要求に対応できるようになる。そしてラ
イトバッファ内のデータがあふれないように、適宜ライ
トバッファからフラッシュメモリへの転送を行える。
The advantage of the present invention is that the slow writing of the flash memory does not reduce the performance of the storage device. The flash memory has a speed comparable to that of DRAM for read access, but has a difference of one digit or more for write access. In addition, an erasing operation is also required, and simply writing to the flash memory leads to deterioration in performance as a storage device. And even if a simple write buffer is provided to solve this, the transfer from the write buffer to the flash memory will be slow,
If there is an access from the host at this time, the host will eventually wait and the performance will drop. According to the present invention, access requests can be handled without causing the host to wait until the data in the write buffer overflows. Then, data can be appropriately transferred from the write buffer to the flash memory so that the data in the write buffer does not overflow.

【0034】また電源遮断時に対応する処理手段を持
ち、本発明の記憶装置の使用者の待ち時間が極力少なく
なる効果がある。またフラッシュメモリの特徴である劣
化による消去時間あるいは書き込み時間の増大を考慮し
てフラッシュメモリの劣化による使用者の待ち時間の増
加を抑える効果がある。
Further, since there is a processing means for shutting down the power supply, the waiting time of the user of the storage device of the present invention can be minimized. Further, there is an effect of suppressing an increase in the waiting time of the user due to the deterioration of the flash memory in consideration of the increase of the erasing time or the writing time due to the deterioration of the flash memory.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明に係るフラッシュメモリのブロック図で
ある。
FIG. 1 is a block diagram of a flash memory according to the present invention.

【図2】本発明の実施例における制御プログラムのメイ
ンルーチンのフローチャートである。
FIG. 2 is a flowchart of a main routine of a control program in the embodiment of the present invention.

【図3】本発明の実施例における制御プログラムのアク
セスルーチンのフローチャートである。
FIG. 3 is a flowchart of an access routine of a control program in the embodiment of the present invention.

【図4】既存ファイルの更新を高速化する実施例のフロ
ーチャートである。
FIG. 4 is a flowchart of an embodiment for speeding up updating of an existing file.

【図5】ハードウェア割込み対応のメインルーチンのフ
ローチャートである。
FIG. 5 is a flowchart of a main routine supporting a hardware interrupt.

【図6】電源遮断対応のメインルーチンのフローチャー
トである。
FIG. 6 is a flowchart of a main routine for power shutdown.

【図7】変換テーブルの退避を行う実施例のフローチャ
ートである。
FIG. 7 is a flowchart of an embodiment for saving a conversion table.

【図8】書き込み時間による劣化診断を行うフラッシュ
メモリシステムのブロック図である。
FIG. 8 is a block diagram of a flash memory system that performs deterioration diagnosis according to a writing time.

【図9】書き込み時間による劣化診断を行う実施例のラ
イトアクセスのフローチャートである。
FIG. 9 is a flowchart of write access according to an embodiment for performing deterioration diagnosis according to write time.

【図10】未転送ファイル更新の際の処理を示すフロー
チャートである。
FIG. 10 is a flowchart showing a process when updating an untransferred file.

【図11】変換テーブルの説明図である。FIG. 11 is an explanatory diagram of a conversion table.

【符号の説明】[Explanation of symbols]

1…フラッシュメモリ、4…コントローラ、5…変換テ
ーブル、6…ライトバッファ、7…DMAC、8…中断
時レジスタ、101…書き込み制御回路、102…書き
込み時間測定回路、103…劣化度情報テーブル
1 ... Flash memory, 4 ... Controller, 5 ... Conversion table, 6 ... Write buffer, 7 ... DMAC, 8 ... Interrupt register, 101 ... Write control circuit, 102 ... Write time measuring circuit, 103 ... Degradation degree information table

───────────────────────────────────────────────────── フロントページの続き (72)発明者 高谷 佳夫 千葉県習志野市東習志野七丁目1番1号 日立京葉エンジニアリング株式会社内 (72)発明者 齊藤 学 千葉県習志野市東習志野七丁目1番1号 日立京葉エンジニアリング株式会社内 (72)発明者 柿 健一 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 戸塚 隆 千葉県茂原市早野3300番地 株式会社日立 製作所電子デバイス事業部内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Yoshio Takatani, 7-1, 1-1 Higashi Narashino, Narashino, Narashino, Chiba Prefecture Hitachi Keiyo Engineering Co., Ltd. (72) Manabu Saito 7, 1-1, Higashi Narashino, Narashino, Chiba Hitachi Within Keiyo Engineering Co., Ltd. (72) Kenichi Kaki Kani, 292 Yoshida-cho, Totsuka-ku, Yokohama-shi, Kanagawa Hitachi, Ltd. Microelectronics Equipment Development Laboratory (72) Inventor Takashi Totsuka 3300, Hayano, Mobara-shi, Chiba Shares Hitachi, Ltd. Electronic Device Division

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】外部からのデータを記憶するフラッシュメ
モリを有するフラッシュメモリシステムにおいて、 前記データの前記フラッシュメモリへの書き込み要求時
に、外部からの前記データを一時的に記憶するためのデ
ータ記憶手段と、 前記データの書き込み要求時に、前記データを前記デー
タ記憶手段に格納後、前記フラッシュメモリに転送する
制御部とを有し、 前記制御部は、前記データの前記フラッシュメモリへの
転送が終了する前に、外部からデータの読み出し要求ま
たは書き込み要求を受けた場合、前記フラッシュメモリ
への転送を中断し、外部からのデータの読み出し要求ま
たは書き込み要求を優先して処理することを特徴とする
フラッシュメモリシステム。
1. A flash memory system having a flash memory for storing data from the outside, and a data storage means for temporarily storing the data from the outside when a request to write the data to the flash memory is made. A control unit that transfers the data to the flash memory after storing the data in the data storage unit at the time of requesting the writing of the data, before the control unit completes the transfer of the data to the flash memory. In addition, when a data read request or a write request is received from the outside, the transfer to the flash memory is interrupted, and the data read request or the write request from the outside is preferentially processed. .
【請求項2】請求項1記載のフラッシュメモリシステム
において、 前記データが前記データ記憶手段に格納されているかど
うかを示す情報を記憶する情報記憶手段を有し、 前記制御部は、前記情報により、外部から読みだしが要
求された前記データが、前記データ記憶手段に格納され
ているか否かの判断を行い、前記データ記憶手段に格納
されていることが判明した場合には前記データ記憶手段
から読み出しを行うことを特徴とするフラッシュメモリ
システム。
2. The flash memory system according to claim 1, further comprising: an information storage unit that stores information indicating whether the data is stored in the data storage unit, wherein the control unit uses the information to store the information. It is determined whether or not the data requested to be read from the outside is stored in the data storage means, and if it is found that the data is stored in the data storage means, the data is read from the data storage means. A flash memory system characterized by performing.
【請求項3】請求項1記載のフラッシュメモリシステム
において、 外部から前記データへのアクセス時に外部から指定され
る論理アドレスと、これに対応する前記データ記憶手段
の物理アドレスとの対応情報を記憶する情報記憶手段を
有し、 前記制御部は、前記情報により、外部から読みだしが要
求された前記データが、前記データ記憶手段に格納され
ていることが判明した場合には、前記データ記憶手段か
ら読み出しを行うことを特徴とするフラッシュメモリシ
ステム。
3. The flash memory system according to claim 1, wherein correspondence information between a logical address designated from the outside when the data is accessed from the outside and a corresponding physical address of the data storage means is stored. The information storage means, the control unit, from the information storage means, when it is determined that the data requested to be read from the outside is stored in the data storage means. A flash memory system characterized by reading.
【請求項4】請求項1、2または3記載のフラッシュメ
モリシステムにおいて、 前記制御部は、前記データ記憶手段から前記フラッシュ
メモリへデータを転送中に、外部からのデータの読み出
し要求または書き込み要求が有った場合、前記データの
転送を中断し、 中断が終了後に転送を再開するために必要な情報を記憶
する中断情報記憶手段を有し、 前記制御部は、前記中断情報記憶手段に前記情報を格納
後、前記読み出し要求または書き込み要求を処理し、処
理が終了後、中断したデータの転送を前記中断情報記憶
手段の記憶内容により、再開することを特徴とするフラ
ッシュメモリシステム。
4. The flash memory system according to claim 1, 2 or 3, wherein the control unit receives a data read request or a write request from outside during data transfer from the data storage unit to the flash memory. If there is, it has an interruption information storage means for storing the information necessary for interrupting the transfer of the data and resuming the transfer after the interruption is completed, and the control unit stores the information in the interruption information storage means. And storing the read request or write request, and after the processing is completed, the transfer of the interrupted data is restarted according to the stored contents of the interrupt information storage means.
【請求項5】請求項1、2、3または4記載のフラッシ
ュメモリシステムにおいて、 前記制御部は、外部から、前記フラッシュメモリの特定
領域へのデータの書き込み要求があった場合、前記デー
タ記憶手段への書き込みデータを格納する処理と、前記
フラッシュメモリ上にある、前記特定の領域に過去に格
納され不要となったデータを消去する処理とを並行して
行うことを特徴とするフラッシュメモリシステム。
5. The flash memory system according to claim 1, 2, 3 or 4, wherein the control unit receives the data write request to a specific area of the flash memory from the outside, the data storage unit. A flash memory system, wherein a process of storing write data to the flash memory and a process of erasing unnecessary data stored in the specific area in the flash memory in the past are performed in parallel.
【請求項6】請求項2または3記載のフラッシュメモリ
システムにおいて、 前記制御部は、前記データ記憶手段から前記フラッシュ
メモリへの転送が完了後、前記情報記憶手段に格納され
ている情報を前記フラッシュメモリに転送することを特
徴とするフラッシュメモリシステム。
6. The flash memory system according to claim 2, wherein the controller flashes the information stored in the information storage means after the transfer from the data storage means to the flash memory is completed. Flash memory system characterized by transferring to memory.
【請求項7】請求項2または3記載のフラッシュメモリ
システムにおいて、 前記制御部は、前記情報記憶手段の内容を電源遮断直前
に前記フラッシュメモリに転送することを特徴とするフ
ラッシュメモリシステム。
7. The flash memory system according to claim 2 or 3, wherein the control unit transfers the contents of the information storage means to the flash memory immediately before power-off.
【請求項8】請求項6または7記載のフラッシュメモリ
システムにおいて、 前記情報記憶手段の内容を前記フラッシュメモリに転送
する際に、前記フラッシュメモリへの転送場所を可変と
し、転送場所を示す情報を前記フラッシュメモリ上のあ
らかじめ定められた場所へ転送することを特徴とするフ
ラッシュメモリシステム。
8. The flash memory system according to claim 6 or 7, wherein when transferring the contents of said information storage means to said flash memory, the transfer location to said flash memory is made variable, and information indicating the transfer location is provided. A flash memory system, characterized in that the data is transferred to a predetermined location on the flash memory.
【請求項9】外部からのデータを記憶するフラッシュメ
モリを有するフラッシュメモリシステムにおいて、 前記データの前記フラッシュメモリへの書き込み要求時
に、外部からの前記データを一時的に記憶するためのデ
ータ記憶手段と、 前記データの書き込み要求時に、前記データを前記デー
タ記憶手段に格納後、前記フラッシュメモリに転送する
制御部とを有し、 前記制御部は、前記データの前記フラッシュメモリへの
転送が終了する前に、外部から同一アドレスへのデータ
の新たな書き込み要求を受けた場合、前記フラッシュメ
モリへの転送を中断し、外部からの新たなデータを前記
データ記憶手段に格納し、前のデータは無効とすること
を特徴とするフラッシュメモリシステム。
9. A flash memory system having a flash memory for storing data from the outside, and a data storage means for temporarily storing the data from the outside when a request to write the data to the flash memory is made. A control unit that transfers the data to the flash memory after storing the data in the data storage unit at the time of requesting the writing of the data, before the control unit completes the transfer of the data to the flash memory. When a new write request for data to the same address is received from the outside, the transfer to the flash memory is interrupted, new data from the outside is stored in the data storage means, and the previous data is invalid. A flash memory system characterized by:
【請求項10】外部からのデータを記憶するフラッシュ
メモリを有するフラッシュメモリシステムにおいて、 前記フラッシュメモリへ前記データを書き込むのに要し
た時間を測定する書き込み時間測定手段と、 前記書き込み時間測定手段の測定結果により、フラッシ
ュメモリの劣化度を診断する劣化度診断手段と、 前記劣化度診断手段による診断結果を記憶する劣化度記
憶手段と、 前記診断結果により、前記データのフラッシュメモリ上
の格納場所を決定して、格納する制御手段とを有するこ
とを特徴とするフラッシュメモリシステム。
10. A flash memory system having a flash memory for storing data from the outside, write time measuring means for measuring a time required for writing the data to the flash memory, and measurement of the write time measuring means. Deterioration degree diagnosis means for diagnosing the degree of deterioration of the flash memory based on the result, deterioration degree storage means for storing the diagnosis result by the deterioration degree diagnosis means, and a storage location of the data on the flash memory based on the diagnosis result. And a control means for storing the flash memory.
【請求項11】請求項10記載のフラッシュメモリシス
テムにおいて、 前記制御手段は、前記フラッシュメモリへの格納場所の
決定に際して、診断結果を参照して劣化度が最大でない
場所を選択することを特徴とするフラッシュメモリシス
テム。
11. The flash memory system according to claim 10, wherein the control means selects a location having a maximum deterioration degree with reference to a diagnostic result when determining a storage location in the flash memory. Flash memory system.
JP5174372A 1993-04-08 1993-07-14 Flash memory system Pending JPH0728690A (en)

Priority Applications (11)

Application Number Priority Date Filing Date Title
JP5174372A JPH0728690A (en) 1993-07-14 1993-07-14 Flash memory system
KR1019940007261A KR970008188B1 (en) 1993-04-08 1994-04-07 Control method of flash memory and information processing apparatus using the same
DE69432878T DE69432878T2 (en) 1993-04-08 1994-04-08 Information processing system with flash memory and cache memory
EP94105467A EP0619541B1 (en) 1993-04-08 1994-04-08 Information processing system with cached flash memory
US08/225,313 US5530673A (en) 1993-04-08 1994-04-08 Flash memory control method and information processing system therewith
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 (en) 1993-07-14 1993-07-14 Flash memory system

Publications (1)

Publication Number Publication Date
JPH0728690A true JPH0728690A (en) 1995-01-31

Family

ID=15977467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5174372A Pending JPH0728690A (en) 1993-04-08 1993-07-14 Flash memory system

Country Status (1)

Country Link
JP (1) JPH0728690A (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259360A (en) * 1998-03-09 1999-09-24 Seiko Epson Corp Semiconductor integrated device and nonvolatile memory writing system
JP2003234000A (en) * 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd Semiconductor integrated circuit device, ic card, and test device
JP2004318933A (en) * 2003-04-11 2004-11-11 Renesas Technology Corp Semiconductor storage device
WO2005076203A1 (en) * 2004-02-03 2005-08-18 Matsushita Electric Industrial Co., Ltd. Memory card, data processor, memory card control method and memory card setting method
JP2006059287A (en) * 2004-08-24 2006-03-02 Sony Corp Memory management method and apparatus
JP2007156862A (en) * 2005-12-06 2007-06-21 Fujitsu Ltd Method and apparatus for managing flash memory
JP2008506178A (en) * 2004-07-07 2008-02-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data file distribution method and data file storage memory system
JP2011070346A (en) * 2009-09-25 2011-04-07 Toshiba Corp Memory system
JP2013200839A (en) * 2012-03-26 2013-10-03 Toshiba Corp Semiconductor storage device, information processing system, and control method
JP2014182792A (en) * 2013-03-15 2014-09-29 Samsung Electronics Co Ltd Operation method of memory system, memory system, and memory controller
JP2016021264A (en) * 2015-10-23 2016-02-04 株式会社東芝 Data management method of memory system
JPWO2014024350A1 (en) * 2012-08-07 2016-07-25 パナソニックIpマネジメント株式会社 Recording apparatus, access apparatus, recording system, and recording method
JP2018060321A (en) * 2016-10-04 2018-04-12 富士通株式会社 Memory controller, information processor and memory control method
US10585820B2 (en) 2015-09-18 2020-03-10 Hitachi, Ltd. Memory controller, memory control method and semiconductor storage apparatus
KR20200109238A (en) * 2019-03-11 2020-09-22 윈본드 일렉트로닉스 코포레이션 Semiconductor storage apparatus

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11259360A (en) * 1998-03-09 1999-09-24 Seiko Epson Corp Semiconductor integrated device and nonvolatile memory writing system
JP2003234000A (en) * 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd Semiconductor integrated circuit device, ic card, and test device
JP2004318933A (en) * 2003-04-11 2004-11-11 Renesas Technology Corp Semiconductor storage device
JP4679370B2 (en) * 2004-02-03 2011-04-27 パナソニック株式会社 Data processing apparatus and memory card setting method
WO2005076203A1 (en) * 2004-02-03 2005-08-18 Matsushita Electric Industrial Co., Ltd. Memory card, data processor, memory card control method and memory card setting method
JP2011108252A (en) * 2004-02-03 2011-06-02 Panasonic Corp Memory card, data processor, and control method and setting method for memory card
JPWO2005076203A1 (en) * 2004-02-03 2007-10-18 松下電器産業株式会社 Memory card, data processing device, memory card control method and setting method
US7624298B2 (en) 2004-02-03 2009-11-24 Panasonic Corporation Memory card, data processor, memory card control method and memory card setting
JP2008506178A (en) * 2004-07-07 2008-02-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Data file distribution method and data file storage memory system
JP4696500B2 (en) * 2004-08-24 2011-06-08 ソニー株式会社 Memory management method and apparatus
JP2006059287A (en) * 2004-08-24 2006-03-02 Sony Corp Memory management method and apparatus
JP2007156862A (en) * 2005-12-06 2007-06-21 Fujitsu Ltd Method and apparatus for managing flash memory
US8347024B2 (en) 2009-09-25 2013-01-01 Kabushiki Kaisha Toshiba Memory system monitoring data erasing time or writing time
JP2011070346A (en) * 2009-09-25 2011-04-07 Toshiba Corp Memory system
JP2013200839A (en) * 2012-03-26 2013-10-03 Toshiba Corp Semiconductor storage device, information processing system, and control method
JPWO2014024350A1 (en) * 2012-08-07 2016-07-25 パナソニックIpマネジメント株式会社 Recording apparatus, access apparatus, recording system, and recording method
US9778857B2 (en) 2012-08-07 2017-10-03 Panasonic intellectual property Management co., Ltd Recording device, access device, recording system, and recording method
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
JP2014182792A (en) * 2013-03-15 2014-09-29 Samsung Electronics Co Ltd Operation method of memory system, memory system, and memory controller
US10585820B2 (en) 2015-09-18 2020-03-10 Hitachi, Ltd. Memory controller, memory control method and semiconductor storage apparatus
JP2016021264A (en) * 2015-10-23 2016-02-04 株式会社東芝 Data management method of memory system
JP2018060321A (en) * 2016-10-04 2018-04-12 富士通株式会社 Memory controller, information processor and memory control method
KR20200109238A (en) * 2019-03-11 2020-09-22 윈본드 일렉트로닉스 코포레이션 Semiconductor storage apparatus
US10937492B2 (en) 2019-03-11 2021-03-02 Winbond Electronics Corp. Semiconductor storage apparatus

Similar Documents

Publication Publication Date Title
US7613870B2 (en) Efficient memory usage in systems including volatile and high-density memories
US9785564B2 (en) Hybrid memory with associative cache
JP3407317B2 (en) Storage device using flash memory
KR101612922B1 (en) Memory system and method of managing memory system
EP0077453A2 (en) Storage subsystems with arrangements for limiting data occupancy in caches thereof
US8214578B2 (en) Method of storing data into flash memory according to usage patterns of addresses and data storage system using the same
JPH023215B2 (en)
JPH0728690A (en) Flash memory system
JPS6238731B2 (en)
JP2008009874A (en) Memory controller, flash memory system equipped with memory controller, and method for controlling flash memory
JPH07146820A (en) Control method for flash memory and information processor using the same
JPH11126488A (en) Method and device for storing and controlling data of external memory using plural flash memories
JP3421581B2 (en) Storage device using nonvolatile semiconductor memory
US20090257284A1 (en) Method and apparatus for improving storage performance using a background erase
JP2010211734A (en) Storage device using nonvolatile memory
US20180210675A1 (en) Hybrid drive garbage collection
US20010014933A1 (en) Memory management table producing method and memory device
JP4242245B2 (en) Flash ROM control device
JPH0115903B2 (en)
JP2003203016A (en) Storage device
JPH0519981A (en) Data write normal end judging method for optical disk device
JPH07281842A (en) Semiconductor memory device
JP2004103043A (en) Storage device
JPH06348600A (en) Disk cache device
JP3865530B2 (en) Nonvolatile semiconductor memory and semiconductor memory device