JPH06131891A - Semiconductor file device - Google Patents
Semiconductor file deviceInfo
- Publication number
- JPH06131891A JPH06131891A JP27473992A JP27473992A JPH06131891A JP H06131891 A JPH06131891 A JP H06131891A JP 27473992 A JP27473992 A JP 27473992A JP 27473992 A JP27473992 A JP 27473992A JP H06131891 A JPH06131891 A JP H06131891A
- Authority
- JP
- Japan
- Prior art keywords
- data
- erase block
- rewriting
- memory
- frequency
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明はフラッシュ型EEPRO
Mにデータを読み書きする半導体ファイル装置に係わ
り、特に前記フラッシュ型EEPROMに割り付けられ
た各消去ブロックに対するデータ書き込み回数を均等化
するスワッピング処理に関する。FIELD OF THE INVENTION The present invention relates to a flash type EEPRO.
The present invention relates to a semiconductor file device for reading / writing data from / to M, and more particularly to a swapping process for equalizing the number of data writes to each erase block allocated to the flash type EEPROM.
【0002】[0002]
【従来の技術】従来この種の半導体ファイル装置では、
システム側から指定されたデータ書き込み先の論理ブロ
ック番地を前記フラッシュ型EEPROMに割り付けら
れた消去ブロックを特定する物理ブロック番地に変換し
た後、前記物理ブロック番地の消去ブロックにデータを
書き込む。ところが、前記フラッシュ型EEPROMに
はデータが書き込める回数に制限がある。このため、前
記論理ブロック番地と物理ブロック番地との対応関係が
固定化されていると、ある論理ブロック番地へのデータ
の書き込み回数が前記制限を越えたところで、他の消去
ブロックにはまだデータを書き込めるにも拘らず、前記
論理ブロック番地に対応した物理ブロック番地の消去ブ
ロックが書き込み不能となってしまい、前記フラッシュ
型EEPROMの各消去ブロックに対するデータ書き込
み回数の均等化が行えず、メモリ領域の有効利用ができ
なくなってしまうという欠点があった。2. Description of the Related Art Conventionally, in this type of semiconductor file device,
After converting the logical block address of the data write destination designated by the system side into the physical block address for specifying the erase block assigned to the flash type EEPROM, the data is written to the erase block of the physical block address. However, there is a limit to the number of times data can be written in the flash type EEPROM. Therefore, if the correspondence between the logical block address and the physical block address is fixed, when the number of times of writing data to a certain logical block address exceeds the limit, data is not yet written to other erase blocks. Despite being able to write, the erase block at the physical block address corresponding to the logical block address becomes unwritable, and the number of times of writing data to each erase block of the flash type EEPROM cannot be equalized, and the memory area is effective. It had the drawback that it would not be available.
【0003】そこで、上記欠点を回避するために、従来
からある物理ブロック番地の消去ブロックに対するデー
タの書替回数が所定回数を越え、且つデータの書替回数
が少ない他の消去ブロックがあった場合、前記データの
書替回数が所定回数を越えた消去ブロックに対応する論
理ブロック番地を前記データの書替回数が少ない他の消
去ブロックに対応するようにし、且つ、前記データの書
替回数が少ない他の消去ブロックに対応する論理ブロッ
ク番地を前記データの書替回数が所定回数を越えた消去
ブロックに対応するように、論理ブロック番地と物理ブ
ロック番地との対応関係を取り替えるスワッピングが行
われている。このスワッピングを行う上で、各消去ブロ
ックへのデータ書替回数を管理しなければならないが、
通常、これは前記フラッシュ型EEPROM内に設けら
れた管理テーブルによって行われている。管理テーブル
は自己の管理下にある複数の消去ブロックのデータ書替
回数を管理しており、このような管理テーブルが複数あ
る。Therefore, in order to avoid the above-mentioned drawback, when there is another erase block in which the number of times of rewriting data in the erase block of the conventional physical block address exceeds a predetermined number and the number of times of rewriting data is small. , A logical block address corresponding to an erase block in which the number of data rewrites exceeds a predetermined number corresponds to another erase block in which the number of data rewrites is small, and the number of data rewrites is small. Swapping is performed to change the correspondence between the logical block address and the physical block address so that the logical block address corresponding to another erase block corresponds to the erase block in which the number of times of rewriting of the data exceeds a predetermined number. . In performing this swapping, it is necessary to manage the number of data rewrites to each erase block.
Normally, this is done by a management table provided in the flash type EEPROM. The management table manages the number of times of data rewriting of a plurality of erase blocks under its own control, and there are a plurality of such management tables.
【0004】管理テーブルにより管理されている消去ブ
ロックにはそのブロックに対するデータの書替回数が保
存されているが、前記管理テーブルには管理下の各消去
ブロックのデータ書替回数の粗データが一覧となって保
存されている。スワッピングは前記粗データに所定の差
がある消去ブロック間で行われる。この際、前記スワッ
ピングが行われる頻度は消去ブロックに保存されている
データの詳細書替回数から管理テーブルに保存されてい
る書替回数粗データを抽出する際のルールによって異な
ってくる。例えば前記粗データを前記詳細データの万単
位の情報として収集した場合と、千単位の情報として収
集した場合では、後者の方が各消去ブロック間の書替回
数粗データに差がつきやすく、この分、スワッピングが
生じる頻度が高くなり、前者の場合はその逆でスワッピ
ングが生じる頻度が低くなる。The erase block managed by the management table stores the number of times of rewriting data for the block, but the management table lists rough data of the number of times of rewriting data of each erase block under management. Has been saved. Swapping is performed between erase blocks having a predetermined difference in the rough data. At this time, the frequency of the swapping depends on the rule for extracting the rough rewriting frequency data stored in the management table from the detailed rewriting frequency of the data stored in the erase block. For example, in the case of collecting the rough data as the information of ten thousand units of the detailed data and the case of collecting it as the information of thousand units, the latter is more likely to have a difference in the rewrite frequency rough data between the erase blocks. As a result, the frequency of swapping increases, and in the former case, the frequency of swapping decreases vice versa.
【0005】しかし、従来の管理テーブルではメモリの
使用開始から終了まで、同一のルールで、前記消去ブロ
ックに保存されているデータの詳細書替回数から粗デー
タを収集しているため、上記スワッピングは使用開始か
ら終了まで一定の頻度で行われるようになっていた。と
ころで、前記フラッシュ型EEPROMに割り付けてあ
る消去ブロックに対するスワッピングをデータ書き替え
時に行うと、書き替えられる部分が「書き替え対象とな
った消去ブロック」、「被スワッピング対象となった消
去ブロック」及び「管理テーブル」の3か所になるた
め、この分、スワッピングがない通常のデータ書き替え
処理よりも余計に時間がかかることになる。従って、上
記したスワッピングが生じる頻度をメモリの使用開始か
ら終了まで均等にしておくと、メモリの使用開始から終
了までの平均データ書き込み時間は常に同じになる。し
かし、上記したスワッピングの生じる頻度をメモリの使
用開始初期時では低くし、終了間際にスワッピングが生
じる頻度を高くするように設定すれば、前記メモリの使
用開始からかなりの期間はスワッピングが生じる頻度を
低くして、データの書き込み平均時間を短くすることが
できる。ユーザによってはこのような設定の半導体ファ
イル装置の方が使い勝手が良い場合もあるが、従来は上
記した如くメモリの使用開始から終了まで、同一のデー
タ書き込み平均時間しか得られないのが現状である。However, in the conventional management table, since the rough data is collected from the number of detailed rewrites of the data stored in the erase block according to the same rule from the start to the end of use of the memory, the above-mentioned swapping is performed. It was supposed to be performed at a constant frequency from the start to the end of use. By the way, if swapping is performed on the erase block assigned to the flash EEPROM at the time of data rewriting, the rewritten portion is the “erasure block to be rewritten”, the “erasure block to be swapped”, and Since there are three locations in the “management table”, this takes an extra time than the normal data rewriting process without swapping. Therefore, if the frequency of the above-mentioned swapping is made uniform from the start of use of the memory to the end thereof, the average data write time from the start of use of the memory to the end thereof is always the same. However, if the frequency of the above-described swapping is set low at the beginning of the use of the memory and set so that the frequency of the swapping occurs just before the end of the use of the memory, the frequency of the swapping occurs for a considerable period from the start of the use of the memory. By lowering it, the average time for writing data can be shortened. Depending on the user, the semiconductor file device having such a setting may be more convenient to use, but in the past, as described above, only the same average data writing time can be obtained from the start to the end of use of the memory. .
【0006】[0006]
【発明が解決しようとする課題】従来の半導体ファイル
装置では、管理テーブルが管理している消去ブロックの
書替回数粗データに基づいて、論理ブロック番地と物理
ブロック番地の再配置を行うスワッピングが行われてい
る。しかし、従来の半導体ファイル装置における上記ス
ワッピングはメモリの開始から終了まで、前記スワッピ
ングが生じる頻度が均一であるため、前記メモリの使用
開始から終了までの前記メモリへのデータの書き込み平
均時間が同一で、この書き込み平均時間を前記メモリの
使用時間経過と共に変化させることができず、この分、
半導体ファイル装置の使い勝手が悪いという欠点があっ
た。In the conventional semiconductor file device, swapping for rearranging the logical block address and the physical block address is performed based on the rewriting frequency rough data of the erase block managed by the management table. It is being appreciated. However, in the above-mentioned swapping in the conventional semiconductor file device, since the frequency of occurrence of the swapping is uniform from the start to the end of the memory, the average time of writing data to the memory from the start to the end of use of the memory is the same. , The write average time cannot be changed with the lapse of the use time of the memory.
There is a drawback that the semiconductor file device is not easy to use.
【0007】そこで本発明は上記の欠点を除去し、メモ
リの使用開始からかなりの期間、前記メモリへのデータ
書込み平均時間を短時間化して、前記メモリへのアクセ
スを高速化することができる半導体ファイル装置を提供
することを目的としている。Therefore, the present invention eliminates the above-mentioned drawbacks, shortens the average time for writing data to the memory for a considerable period from the start of use of the memory, and speeds up access to the memory. It is intended to provide a file device.
【0008】[0008]
【課題を解決するための手段】本発明はフラッシュ型E
EPROM内に割り付けてある消去ブロックへのデータ
の書替回数の桁上がりが所定単位で生じると、別途管理
している前記消去ブロックの書替回数粗データの更新を
行い、且つ、データ書き込み対象消去ブロックの前記書
替回数粗データよりも所定数以上小さい書替回数粗デー
タを有する消去ブロックがあった場合に、これら消去ブ
ロック間でのスワッピングを行う半導体ファイル装置に
おいて、前記消去ブロックへのデータの書替回数によっ
て、前記書替回数粗データを更新する際の前記書替回数
の桁上がりの単位を変化させる制御手段を具備した構成
を有する。The present invention is a flash type E
When a carry of the number of times of rewriting data to the erase block allocated in the EPROM occurs in a predetermined unit, the separately managed coarse data of the number of times of rewriting of the erase block is updated, and the data write target erase is performed. In a semiconductor file device that performs swapping between these erase blocks when there is an erase block having a coarse number of rewrite times smaller than the above-mentioned coarse number of rewrite times of the block, in the semiconductor file device, A configuration is provided that includes a control unit that changes a unit of carry of the rewriting frequency when updating the rewriting frequency rough data according to the rewriting frequency.
【0009】[0009]
【作用】本発明の半導体ファイル装置において、制御手
段は消去ブロックへのデータの書替回数によって、前記
書替回数粗データを更新する際の前記書替回数の桁上が
りの単位を変化させる。例えば、前記消去ブロックへの
データの書替回数が10万回未満の場合は前記桁上がり
の単位を万単位とし、10万回以上の場合は前記桁上が
りの単位を百単位とすることにより、メモリの使用開始
初期時には各消去ブロックの書替回数粗データ間に所定
数以上の差をつきにくくして、スワッピングが生じる頻
度を低くすることにより、データの書き込み平均時間を
短時間にしている。In the semiconductor file device of the present invention, the control means changes the carry unit of the number of rewriting when updating the rough rewriting frequency data according to the number of rewriting of data to the erase block. For example, if the number of times data is rewritten to the erase block is less than 100,000, the carry unit is 10,000 units, and if it is 100,000 or more, the carry unit is 100 units. At the beginning of the start of use of the memory, the average number of times of data writing is shortened by making it difficult for a predetermined number of differences or more to be made between the rough rewriting frequency data of each erase block and reducing the frequency of swapping.
【0010】[0010]
【実施例】以下、本発明の一実施例を図面を参照して説
明する。図1は本発明の半導体ファイル装置の一実施例
を示したブロック図である。1はメモリチップ2にデー
タを読み書きする制御を行うコントローラ部で、メモリ
管理コントローラ11、R/W制御部12及びメモリ1
3を有している。2はフラッシュ型EEPROMのメモ
リチップで、管理テーブル21及び消去ブロック22−
1〜22−2等が割り付けられている。尚、管理テーブ
ル21は消去ブロック22−1、22−2のデータ書替
回数を管理している。又、管理テーブル及び各管理テー
ブルが管理している消去ブロックは複数あるが、ここで
は代表して、管理テーブル21及び消去ブロック22−
1〜22−2を示してある。DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing an embodiment of a semiconductor file device of the present invention. Reference numeral 1 denotes a controller unit that controls reading and writing data from and to the memory chip 2, and includes a memory management controller 11, an R / W control unit 12, and a memory 1.
Have three. 2 is a flash-type EEPROM memory chip, which includes a management table 21 and an erase block 22-
1 to 22-2 and the like are assigned. The management table 21 manages the number of times of data rewriting of the erase blocks 22-1 and 22-2. Further, although there are a plurality of management tables and erase blocks managed by each management table, here, as a representative, the management table 21 and the erase blocks 22-
1 to 22-2 are shown.
【0011】次に本実施例の動作について説明する。コ
ントローラ部1のメモリ管理コントローラ11はシステ
ム側から書き込みデータとその書き込み先である論理ブ
ロック番地が送られてくると、前記論理ブロック番地を
物理ブロック番地に変換した後、R/W制御部12を介
してメモリチップ2内の前記データ書き込み先の物理ブ
ロック番地を有する消去ブロックにアクセスして、この
消去ブロック内の詳細書替回数を読み込む。次にメモリ
管理コントローラ11は読み込んだ詳細書替回数に1を
加えた場合、この消去ブロックの書替回数粗データがこ
の消去ブロックを管理している管理テーブルに収集され
ている他の消去ブロックの書替回数粗データに対して2
以上大きいか否かを、R/W制御部12を介して前記管
理テーブル21にアクセスして判断する。その結果、書
替回数粗データが小さく、その差が2以上の消去ブロッ
クがない場合、メモリ管理コントローラ11は、再びR
/W制御部12を介して前記物理ブロック番地の消去ブ
ロックにデータを書き込むと共に、この消去ブロックの
詳細書替回数に1を加えて、処理を終了する。Next, the operation of this embodiment will be described. When the write data and the logical block address that is the write destination are sent from the system side, the memory management controller 11 of the controller unit 1 converts the logical block address into a physical block address and then causes the R / W control unit 12 to operate. The erase block having the physical block address of the data write destination is accessed through the memory chip 2 to read the number of detailed rewrites in the erase block. Next, when the memory management controller 11 adds 1 to the read number of detailed rewrites, rough data of the number of rewrites of this erase block is stored in the management table that manages this erase block. 2 for rewriting frequency rough data
Whether or not it is greater than the above is determined by accessing the management table 21 via the R / W control unit 12. As a result, when the coarse data of the number of times of rewriting is small and there is no erase block having a difference of 2 or more, the memory management controller 11 again performs R
The data is written to the erase block at the physical block address via the / W control unit 12, the number of detailed rewrites of the erase block is incremented by 1, and the process is terminated.
【0012】ところで、メモリ管理コントローラ11は
メモリチップ2内の例えば消去ブロック22−1又は2
2−2のデータ書替回数が更新されると、図2に示した
ルールに従って管理テーブル21内の該当の書替回数粗
データを変更する処理を行う。即ち、メモリ管理コント
ローラ11はメモリ13内に設定されている図2に示し
た消去ブロックのデータ書替回数を示す詳細書替回数
と、この詳細書替回数から抽出される書替回数粗データ
との対応関係を示したテーブルデータを参照して、消去
ブロックへのデータの書き替えが生じる都度、必要があ
れば管理テーブル21内の書替回数粗データの更新を行
う。図2では、消去ブロック側の詳細書替回数が10万
回に達するまでは、この詳細書替回数が万単位で桁上が
りする毎に、書替回数粗データを+1インクリメントす
る方式で前記書替回数粗データが更新される。即ち、図
2の消去ブロック側の詳細書替回数が例えば0〜999
9の間はこれに対応する書替回数粗データは0であり、
前記詳細書替回数が10000〜19999の間は、書
替回数粗データは1となり、以下同様である。しかし、
消去ブロック側の詳細書替回数が10万回以上になる
と、この詳細書替回数が百単位で桁上がりする毎に、書
替回数粗データを+1インクリメントする方式で前記書
替回数粗データが更新される。By the way, the memory management controller 11 uses, for example, the erase block 22-1 or 2 in the memory chip 2.
When the number of data rewrites of 2-2 is updated, a process of changing the corresponding rough data of the number of rewrites in the management table 21 is performed according to the rule shown in FIG. That is, the memory management controller 11 sets the detailed rewrite frequency indicating the data rewrite frequency of the erase block set in the memory 13 shown in FIG. 2, and the rewrite frequency rough data extracted from the detailed rewrite frequency. Whenever it is necessary to refer to the table data indicating the correspondence relation of (3), the rewriting frequency rough data in the management table 21 is updated each time data is rewritten into the erase block. In FIG. 2, until the number of detailed rewrites on the erase block side reaches 100,000, each time the number of detailed rewrites is carried by tens of thousands, the rewrite count rough data is incremented by +1. The coarse frequency data is updated. That is, the number of detailed rewrites on the erase block side in FIG.
During the period 9, the corresponding rewriting frequency rough data is 0,
While the detailed rewriting frequency is from 10,000 to 19999, the rewriting frequency rough data is 1, and so on. But,
When the number of detailed rewritings on the erase block side is 100,000 or more, the rough rewriting frequency data is updated by a method of incrementing the coarse rewriting frequency data by +1 every time the number of detailed rewritings is carried by 100. To be done.
【0013】上記のように、メモリ管理コントローラ1
1が消去ブロックの書替回数粗データを一旦管理テーブ
ル21に書き込んだ後は、管理テーブル21の書替回数
粗データ間に、上記した如く2以上の差ができた場合の
み、上記した消去ブロック間のスワッピングを行い、前
記スワッピングを行う粗データ間の差はメモリチップ2
への使用開始から使用終了まで変更されず、一定であ
る。As described above, the memory management controller 1
After 1 has once written the rough rewrite frequency data of the erase block in the management table 21, only when there is a difference of 2 or more as described above between the rewrite frequency rough data of the management table 21, the erase block And the difference between the rough data on which the swapping is performed is
It is constant from the start of use to the end of use.
【0014】ここで、図1のコントローラ部1にシステ
ムから論理ブロック番地00312へのデータの書き込
み指令がきた場合の動作について説明する。メモリ管理
コントローラ11は前記論理ブロック番地00312を
メモリ13内の論理ブロック番地と物理ブロック番地と
の対応表から、31415の物理ブロック番地に変換し
た後、R/W制御部12を介してこの物理ブロック番地
31415に当たる消去ブロック22−1にアクセスし
て、その詳細書替回数29999を読み込む。メモリ管
理コントローラ11はこの書替回数29999に1を加
えると、30000になるため、管理テーブル21の消
去ブロック22−1に対する書替回数粗データは3にな
る。この時、物理ブロック番地58979の消去ブロッ
クの書替回数粗データは1であるため、前記消去ブロッ
ク22−1の粗データは消去ブロック22−2の粗デー
タに対して2だけ大きくなるため、この両消去ブロック
間でスワッピングを行うことになる。Now, the operation when the controller 1 of FIG. 1 is instructed by the system to write data to the logical block address 3112 will be described. The memory management controller 11 converts the logical block address 3112 from the correspondence table of the logical block address and the physical block address in the memory 13 into the physical block address of 31415, and then, through the R / W control unit 12, the physical block The erase block 22-1 corresponding to the address 31415 is accessed to read the detailed rewrite count 29999. When the memory management controller 11 adds 1 to the number of rewrites 29999, it becomes 30000, so that the rough rewrite count data for the erase block 22-1 of the management table 21 becomes 3. At this time, since the coarse data of the number of times of rewriting of the erase block of the physical block address 58979 is 1, the coarse data of the erase block 22-1 becomes larger than the coarse data of the erase block 22-2 by 2. Swapping will be performed between both erase blocks.
【0015】そこで、メモリ管理コントローラ11はR
/W制御部12を介して被スワッピング対象の消去ブロ
ック22−2に書き込まれているデータを一旦引き上げ
た後、これを、R/W制御部12を介して消去ブロック
22−1に書き込むと共に、この消去ブロック22−1
の詳細書替回数に1を加えた後、今回書き込もうとした
データをR/W制御部12を介して消去ブロック22−
2に書き込むと共に、この消去ブロック22−2の詳細
書替回数に1を加えておく。次にメモリ管理コントロー
ラ11はR/W制御部12を介して管理テーブル21の
論理ブロック番地と物理ブロック番地との対応関係を前
記スワッピングに応じて書き替えた後、書替回数の粗デ
ータを、スワッピング対象となった双方の番地につい
て、元々今回のデータを書き込もうとした消去ブロック
22−1の更新された書込回数の粗データに書き替えた
後、処理を終了する。Therefore, the memory management controller 11 uses the R
After temporarily pulling up the data written in the erase block 22-2 to be swapped via the / W control unit 12, while writing this into the erase block 22-1 via the R / W control unit 12, This erase block 22-1
After adding 1 to the number of detailed rewriting of the data, the data to be written this time is erased via the R / W control unit 12 to the erase block 22-
In addition to writing to 2, the number of detailed rewrites of this erase block 22-2 is incremented by 1. Next, the memory management controller 11 rewrites the correspondence relationship between the logical block address and the physical block address of the management table 21 via the R / W control unit 12 according to the swapping, and then the rough data of the number of rewritings, After rewriting the addresses of both the swapping targets to the rough data of the updated write count of the erase block 22-1 which originally tried to write the current data, the process is ended.
【0016】図3は上記コントローラ部1のメモリ管理
コントローラ11のデータ書き込み時の動作を示したフ
ローチャートである。まず、ステップ301にてメモリ
管理コントローラ11はメモリチップ2内のデータ書替
対象消去ブロックの詳細書替回数を読み込んで、1を加
えた後、ステップ302にて1を加える前の前記詳細書
替回数が10万回以上か否かを判定し、そうであるなら
ばステップ303へ進み、そうでないならばステップ3
04へ進む。ステップ304では、前記詳細書替回数に
1を加えると万単位で桁が上がるか否かを判定し、桁が
上がらない場合はステップ307へ進み、桁が上がる場
合はステップ305へ進む。一方、ステップ303に進
んだ場合、前記詳細書替回数に1を加えると百単位で桁
が上がるか否かを判定し、上がらない場合はステップ3
07へ進み、桁が上がる場合はステップ305へ進む。
ステップ305ではデータ書き込み対象消去ブロックの
書替回数粗データに対してその差が2以下の書替回数粗
データを有する消去ブロックがあるかないかを判定し、
ない場合はステップ307へ進み、ある場合はステップ
306へ進む。ステップ307へ進んだ場合、前記デー
タ書き替え対象の消去ブロックにデータを書き込む通常
の書き込み処理を行って処理を終了する。ステップ30
6へ進んだ場合、前記データ書き替え対象消去ブロック
と該当の消去ブロック間でのスワッピング処理を行いな
がら、データを被スワッピング対象消去ブロックに書き
込むと共に、スワッピングに伴う各部のデータの書き替
えを行った後、処理を終了する。FIG. 3 is a flowchart showing the operation of the memory management controller 11 of the controller unit 1 at the time of writing data. First, in step 301, the memory management controller 11 reads the number of detailed rewrites of the data rewrite target erase block in the memory chip 2, adds 1 and then in step 302, the detailed rewrite before adding 1 It is determined whether the number of times is 100,000 or more, and if so, the process proceeds to step 303, and if not, step 3
Go to 04. In step 304, it is determined whether or not the digit is increased by ten thousand when adding 1 to the number of detailed rewriting. If the digit is not increased, the process proceeds to step 307. If the digit is increased, the process proceeds to step 305. On the other hand, in the case of proceeding to step 303, it is determined whether or not the digit is increased by a unit of 100 by adding 1 to the number of detailed rewriting, and if not, step 3
If the digit goes up, go to step 305.
In step 305, it is determined whether or not there is an erase block having a coarse rewrite count data whose difference is 2 or less with respect to the coarse rewrite count data of the erase block to be written with data.
If not, the process proceeds to step 307, and if there is, the process proceeds to step 306. When the process proceeds to step 307, a normal write process for writing data in the erase block to be rewritten is performed, and the process ends. Step 30
When the process proceeds to 6, the data is written in the swapped target erase block while the swapping process is performed between the data rewrite target erase block and the corresponding erase block, and the data of each part associated with the swapping is rewritten. After that, the process ends.
【0017】本実施例によれば、メモリチップ2内の消
去ブロックの詳細書替回数が10万回未満の場合は、万
単位で前記詳細書替回数が桁上がりする都度、管理テー
ブル21に収集される前記書替回数粗データを+1イン
クリメントし、前記消去ブロックの詳細書替回数が10
万回以上の場合は、百単位で前記詳細書替回数が桁上が
りする都度、管理テーブル21に収集される前記書替回
数粗データを+1インクリメントするため、管理テーブ
ル21内の書替回数粗データ間の差は消去ブロックに対
するデータ書替回数が10万回を越えるまでは緩慢にし
かつかないため、この分、前記メモリチップ2の使用開
始からかなりの期間、スワッピングが生じる頻度が少な
くなり、平均したデータ書替回数を短時間とすることが
でき、コントローラ部1のメモリチップ2に対するアク
セスを速めることができる。しかも、メモリチップ2内
の各消去ブロックに対するスワッピングも行われるた
め、各消去ブロックの書替回数規定寿命はほぼ同時期に
尽き、メモリチップ2内の均等な使用を可能としてい
る。According to this embodiment, when the number of detailed rewritings of the erase block in the memory chip 2 is less than 100,000, the detailed rewritings are collected in the management table 21 every time the number of detailed rewritings is increased by ten thousand. The rough rewriting frequency rough data is incremented by +1 so that the detailed rewriting frequency of the erase block is 10
In the case of ten thousand times or more, each time the detailed rewriting frequency is carried by one hundred, the rewriting frequency rough data collected in the management table 21 is incremented by +1. Therefore, the rewriting frequency rough data in the management table 21 is incremented. The difference between the two is only slow until the number of data rewrites to the erase block exceeds 100,000. Therefore, the frequency of swapping is reduced for a considerable period from the start of use of the memory chip 2, and the average is averaged. The number of times of data rewriting can be shortened, and the access to the memory chip 2 of the controller unit 1 can be speeded up. In addition, since swapping is also performed on each erase block in the memory chip 2, the prescribed number of rewriting times of each erase block expires at about the same time, enabling uniform use in the memory chip 2.
【0018】尚、上記実施例で述べたスワッピング方法
とは別に、管理テーブル21内の書替回数粗データが1
0以下の消去ブロックに対しては、例え書替回数粗デー
タが2以上少ない他の消去ブロックがあっても、スワッ
ピングを行わず、被スワッピング対象となるだけとし
て、更にメモリチップの使用開始初期時におけるスワッ
ピングが生じる頻度を低くすることができる。尚、この
場合、書替回数粗データは被スワッピング対象となった
消去ブロックの優先順位付けのために使用されることに
なる。In addition to the swapping method described in the above embodiment, the rewriting frequency rough data in the management table 21 is 1
For erase blocks of 0 or less, swapping is not performed even if there is another erase block whose rewriting count rough data is 2 or more, and it is only a swapped target. It is possible to reduce the frequency with which swapping occurs. In this case, the rough rewrite frequency data is used for prioritizing the erase blocks that have been swapped.
【0019】[0019]
【発明の効果】以上記述した如く本発明の半導体ファイ
ル装置によれば、メモリの使用開始からかなりの期間、
前記メモリへのデータ書込み平均時間を短時間化して、
前記メモリへのアクセスを高速化することができる。As described above, according to the semiconductor file device of the present invention, the memory is used for a considerable period of time from the start of use.
By shortening the average time to write data to the memory,
It is possible to speed up access to the memory.
【図1】本発明の半導体ファイル装置の一実施例を示し
たブロック図。FIG. 1 is a block diagram showing an embodiment of a semiconductor file device of the present invention.
【図2】消去ブロックに保存されている詳細書替回数か
ら管理テーブルに収集する書替回数粗データを抽出する
際のルール例を示した図。FIG. 2 is a diagram showing an example of a rule for extracting rewriting frequency rough data to be collected in a management table from the detailed rewriting frequency stored in an erase block.
【図3】図1に示したメモリ管理コントローラのデータ
書き込み時の動作を示したフローチャート。FIG. 3 is a flowchart showing an operation of the memory management controller shown in FIG. 1 when writing data.
1…コントローラ部 2…メモリチッ
プ 11…メモリ管理コントローラ 12…R/W制
御部 13…メモリ 21…管理テー
ブル 22−1〜22−2…消去ブロックDESCRIPTION OF SYMBOLS 1 ... Controller part 2 ... Memory chip 11 ... Memory management controller 12 ... R / W control part 13 ... Memory 21 ... Management table 22-1 to 22-2 ... Erase block
Claims (1)
てある消去ブロックへのデータの書替回数の桁上がりが
所定単位で生じると、別途管理している前記消去ブロッ
クの書替回数粗データの更新を行い、且つ、データ書き
込み対象消去ブロックの前記書替回数粗データよりも所
定数以上小さい書替回数粗データを有する消去ブロック
があった場合に、これら消去ブロック間でのスワッピン
グを行う半導体ファイル装置において、前記消去ブロッ
クへのデータの書替回数によって、前記書替回数粗デー
タを更新する際の前記書替回数の桁上がりの単位を変化
させる制御手段を具備したことを特徴とする半導体ファ
イル装置。1. When a carry of the number of times of rewriting data to the erase block allocated in the flash type EEPROM occurs in a predetermined unit, the separately managed coarse data of the number of rewriting of the erase block is updated. In a semiconductor file device that performs swapping between erase blocks when there is an erase block having a coarse rewrite count data that is smaller than the coarse rewrite count data of the data write target erase block by a predetermined number or more, A semiconductor file device comprising: a control unit that changes a unit of carry of the rewrite count when updating the rough rewrite count data according to the data rewrite count in the erase block.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27473992A JPH06131891A (en) | 1992-10-14 | 1992-10-14 | Semiconductor file device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27473992A JPH06131891A (en) | 1992-10-14 | 1992-10-14 | Semiconductor file device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06131891A true JPH06131891A (en) | 1994-05-13 |
Family
ID=17545912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27473992A Pending JPH06131891A (en) | 1992-10-14 | 1992-10-14 | Semiconductor file device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06131891A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146515A (en) * | 2008-12-22 | 2010-07-01 | Tdk Corp | Memory controller, flash memory system equipped with memory controller, and control method of flash memory |
JP2010146512A (en) * | 2008-12-22 | 2010-07-01 | Tdk Corp | Memory controller, flash memory system having memory controller, and control method of flash memory |
JP2010250413A (en) * | 2009-04-13 | 2010-11-04 | Tdk Corp | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD |
US8239612B2 (en) | 2007-09-27 | 2012-08-07 | Tdk Corporation | Memory controller, flash memory system with memory controller, and control method of flash memory |
-
1992
- 1992-10-14 JP JP27473992A patent/JPH06131891A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239612B2 (en) | 2007-09-27 | 2012-08-07 | Tdk Corporation | Memory controller, flash memory system with memory controller, and control method of flash memory |
JP2010146515A (en) * | 2008-12-22 | 2010-07-01 | Tdk Corp | Memory controller, flash memory system equipped with memory controller, and control method of flash memory |
JP2010146512A (en) * | 2008-12-22 | 2010-07-01 | Tdk Corp | Memory controller, flash memory system having memory controller, and control method of flash memory |
JP2010250413A (en) * | 2009-04-13 | 2010-11-04 | Tdk Corp | MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3229345B2 (en) | Non-volatile IC memory | |
KR100871027B1 (en) | Data writing method for data recording device and flash memory | |
US5742934A (en) | Flash solid state disk card with selective use of an address conversion table depending on logical and physical sector numbers | |
US6871259B2 (en) | File system including non-volatile semiconductor memory device having a plurality of banks | |
EP1739683B1 (en) | Space management for managing high capacity nonvolatile memory | |
EP1228510B1 (en) | Space management for managing high capacity nonvolatile memory | |
US5987563A (en) | Flash memory accessed using only the logical address | |
KR100980309B1 (en) | Host Device and Memory System | |
KR100884429B1 (en) | Memory system with nonvolatile semiconductor memory | |
JP3251968B2 (en) | Semiconductor storage device | |
US20060168392A1 (en) | Flash memory file system | |
US20060155917A1 (en) | Optimizing write/erase operations in memory devices | |
JP2734391B2 (en) | File management device for nonvolatile memory | |
US7287117B2 (en) | Flash memory and mapping control apparatus and method for flash memory | |
US20120246399A1 (en) | Storage Device and Memory Controller | |
JP2002508862A (en) | Moving sectors in blocks in flash memory | |
JP3578265B2 (en) | Method of writing data to nonvolatile memory, information processing device, and recording medium | |
US5724544A (en) | IC memory card utilizing dual eeproms for image and management data | |
JP2003058417A (en) | Storage device | |
JPH113287A (en) | Storage device and storage area management method used therein | |
JP2003280979A (en) | Information storage device | |
JPH06131891A (en) | Semiconductor file device | |
JPH11144478A (en) | Information storage method for nonvolatile semiconductor memory and electronic device | |
JPH07153284A (en) | Non-volatile semiconductor memory and its control method | |
JPH10124403A (en) | Writing method for block erase flash memory |