JP3231832B2 - Semiconductor disk using flash memory as storage medium - Google Patents
Semiconductor disk using flash memory as storage mediumInfo
- Publication number
- JP3231832B2 JP3231832B2 JP9989192A JP9989192A JP3231832B2 JP 3231832 B2 JP3231832 B2 JP 3231832B2 JP 9989192 A JP9989192 A JP 9989192A JP 9989192 A JP9989192 A JP 9989192A JP 3231832 B2 JP3231832 B2 JP 3231832B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- memory
- error
- data
- memory area
- 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.)
- Expired - Lifetime
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【0001】[0001]
【産業上の利用分野】フラッシュメモリを記憶媒体とし
た半導体ディスクに係り、特に、長寿命化を図る方法に
関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a semiconductor disk using a flash memory as a storage medium, and more particularly to a method for extending the life of a semiconductor disk.
【0002】[0002]
【従来の技術】従来、半導体ディスクの媒体として、D
RAM、SRAMが用いられている。DRAMまたはS
RAMを用いた半導体ディスクは磁気ディスクに比べて
高速であり、また小型化が容易である。しかしながら、
DRAM、SRAMとも揮発メモリでありバッテリーバ
ックアップが必要であること、DRAMはメモリリフレ
ッシュが必要なため制御が複雑になること、またSRA
Mは低消費電力であるが高価であることから一般には普
及していない。しかしながらフラッシュメモリを半導体
ディスクの記憶媒体に使用した場合、不揮発メモリなの
でバッテリーバックアップが不要であること、また構造
が簡単なのでチップ面積がDRAMよりも小さくできる
ので大量生産に向き安価にできることから半導体ディス
クの記憶媒体として期待されている。2. Description of the Related Art Conventionally, as a medium of a semiconductor disk, D
RAM and SRAM are used. DRAM or S
A semiconductor disk using a RAM is faster than a magnetic disk and can be easily reduced in size. However,
Both DRAM and SRAM are volatile memories and need battery backup. DRAM requires memory refresh, which complicates control.
M has low power consumption but is not popular because it is expensive. However, when a flash memory is used as a storage medium for a semiconductor disk, a battery backup is unnecessary because it is a non-volatile memory, and since the structure is simple and the chip area can be smaller than that of a DRAM, it can be mass-produced and inexpensive. It is expected as a storage medium.
【0003】[0003]
【発明が解決しようとする課題】フラッシュメモリはデ
ータの読み出しはDRAMやSRAMと同様にバイトや
ワード単位のように小さいデータ単位で読み出し可能で
あるが、書き込みは書換え回数に制限があるため、書換
え単位を512バイトのようなブロック単位とし書換え
回数の削減を行なっている。In a flash memory, data can be read in small data units such as bytes or words in the same manner as in a DRAM or SRAM. However, the number of times of rewriting is limited. The unit is a block unit such as 512 bytes, and the number of rewrites is reduced.
【0004】また、構造上書換えの前にデータの消去が
必要である。そのためフラッシュメモリには消去などの
コマンド処理機能を設けているものもある。In addition, data must be erased before rewriting due to its structure. For this reason, some flash memories have a command processing function such as erasing.
【0005】しかし、フラッシュメモリを半導体ディス
クの記憶媒体に用いる場合に最も問題となるのは書換え
回数の制限である。例えば、ディレクトリーやFAT領
域のような領域は他の領域に比べて書換え回数が多いの
で、ディレクトリーやFAT領域に使用されるフラッシ
ュメモリの特定のブロックのみフラッシュメモリの書換
え回数の制限を越える可能性が高い。従って、特定のブ
ロックのみ異常となっただけで、半導体ディスク全てが
使用できなくなり、信頼性が低い。However, when a flash memory is used as a storage medium for a semiconductor disk, the most problematic is the limitation on the number of rewrites. For example, an area such as a directory or a FAT area has a larger number of rewrites than other areas, so that only a specific block of the flash memory used for the directory or the FAT area may exceed the limit of the number of rewrites of the flash memory. high. Therefore, even if only a specific block becomes abnormal, all the semiconductor disks cannot be used, and the reliability is low.
【0006】本発明の目的はフラッシュメモリを記憶媒
体とした半導体ディスクにおいて、半導体ディスクの寿
命をのばすことにある。An object of the present invention is to extend the life of a semiconductor disk using a flash memory as a storage medium.
【0007】[0007]
【課題を解決するための手段】上記目的を達成するため
に、フラッシュメモリを記憶媒体とした半導体ディスク
において、上記フラッシュメモリは、データを記憶する
データメモリ領域と、上記データメモリのエラーとなっ
た領域を代替する代替メモリ領域と、上記データメモリ
のうちエラーとなったデータメモリの代替メモリのアド
レスをエラー情報として有するエラーメモリ領域とを有
し、上記データメモリ領域と代替メモリ領域とエラーメ
モリ領域への読み出し及び書き込みを行なうメモリコン
トローラを有することとしたものである。To achieve the above object, in a semiconductor disk using a flash memory as a storage medium, the flash memory has a data memory area for storing data and an error in the data memory. An alternative memory area for replacing an area, and an error memory area having, as error information, an address of an alternative memory of the data memory in which the error has occurred among the data memories, wherein the data memory area, the alternative memory area, and the error memory area And a memory controller for reading from and writing to the memory.
【0008】[0008]
【作用】フラッシュメモリを記憶媒体とした半導体ディ
スクにおいて、メモリコントローラはエラーメモリ領域
のエラー情報を読み取る。次に、エラー情報により、デ
ータメモリ領域が正常なときはデータメモリ領域、異常
なときは代替メモリ領域へ読みだしまたは書き込みを行
う。書き込み時において、エラーが発生した場合は、代
替メモリ領域の空き領域を捜し、空き領域へデータを書
き込むと共に、エラーの合ったメモリ領域のエラー情報
を更新する。In a semiconductor disk using a flash memory as a storage medium, a memory controller reads error information in an error memory area. Next, according to the error information, reading or writing is performed to the data memory area when the data memory area is normal, and to the alternative memory area when the data memory area is abnormal. If an error occurs at the time of writing, an empty area in the alternative memory area is searched for, data is written to the empty area, and the error information of the memory area where the error matches is updated.
【0009】[0009]
【実施例】図1に本発明の一実施例の構成図を示す。図
1において1は半導体ディスクでホストシステム2のホ
ストバス3に接続する。半導体ディスク1はマイコン
4、メモリコントローラ5、バッファメモリ6、エラー
メモリ7、データメモリ8からなる。バッファメモリ6
はデータメモリ8とエラーメモリ7に書き込むデータ、
または読み出したデータを一時記憶しておくメモリで読
み書きが容易なSRAMを用いる。データメモリ8は2
Mバイトのフラッシュメモリを16個持ちいる。従っ
て、半導体ディスクの記憶容量は32Mバイトである。
エラーメモリ7は512kバイトのフラッシュメモリを
用い、データメモリ8のエラー情報とエラーの発生した
データメモリ8のブロックのデータを記憶する。データ
メモリ8とエラーメモリ7はどちらも512バイト単位
のブロックで書き込みを行なうものとする。マイコン4
はホストバス3からの命令を受け取り、この命令に従っ
てメモリコントローラ5を制御する。メモリコントロー
ラ5はバッファメモリ6、エラーメモリ7、データメモ
リ8の読み出し、書き込みをアドレス9、データ10、
制御信号11を用いて制御する。また、エラーメモリ7
とデータメモリ8は消去も必要なのでこれも制御する。FIG. 1 is a block diagram showing an embodiment of the present invention. In FIG. 1, reference numeral 1 denotes a semiconductor disk which is connected to a host bus 3 of a host system 2. The semiconductor disk 1 includes a microcomputer 4, a memory controller 5, a buffer memory 6, an error memory 7, and a data memory 8. Buffer memory 6
Is the data to be written to the data memory 8 and the error memory 7,
Alternatively, an SRAM that temporarily stores read data and that is easy to read and write is used. Data memory 8 is 2
It has 16 M-byte flash memories. Therefore, the storage capacity of the semiconductor disk is 32 Mbytes.
The error memory 7 uses a 512-kbyte flash memory and stores error information of the data memory 8 and data of a block of the data memory 8 in which an error has occurred. It is assumed that both the data memory 8 and the error memory 7 perform writing in 512-byte blocks. Microcomputer 4
Receives an instruction from the host bus 3 and controls the memory controller 5 according to the instruction. The memory controller 5 reads and writes the buffer memory 6, error memory 7, and data memory 8 at address 9, data 10,
Control is performed using the control signal 11. The error memory 7
Since the data memory 8 also needs to be erased, this is also controlled.
【0010】図2にエラーメモリ7のメモリマップの例
を示す。領域はエラー情報領域71、使用情報領域7
2、代替メモリ領域73の3つの領域からなる。これら
の領域は書き込みのブロック境界に合わせて分ける必要
がある。エラー情報領域71はデータメモリ8の各ブロ
ックに対応するエラー情報を記憶する領域で、エラー情
報はブロックにエラーがない場合はFFFFhで表し、
エラーの場合は代替する代替メモリのブロック番号を表
す。使用情報領域72は代替メモリ領域73の各代替ブ
ロックに対応する使用情報を記憶する領域である。使用
情報は各代替ブロックに対し、1ビット割り当てる。代
替ブロックを代替として使用している場合は1、使用し
ていない場合は0で表す。この領域の0のビットを捜す
ことにより代替メモリ領域73の空きブロックを見つけ
ることができる。代替メモリ領域73はデータメモリ8
のエラーとなったブロックを代替する領域で、データメ
モリ8と同様な512バイトのブロックで構成し、それ
ぞれのブロックに対し20000h番地から順番に代替
ブロックの番号をつけるものとする。FIG. 2 shows an example of a memory map of the error memory 7. The areas are an error information area 71 and a use information area 7
2. It is composed of three areas of the alternative memory area 73. These areas need to be divided according to the write block boundaries. The error information area 71 is an area for storing error information corresponding to each block of the data memory 8, and the error information is represented by FFFFh when there is no error in the block,
In the case of an error, it indicates the block number of the alternative memory to be replaced. The usage information area 72 is an area for storing usage information corresponding to each replacement block of the replacement memory area 73. One bit of usage information is allocated to each substitute block. When the substitute block is used as a substitute, it is represented by 1; when not used, it is represented by 0. An empty block in the alternative memory area 73 can be found by searching for a 0 bit in this area. The replacement memory area 73 is the data memory 8
Is an area for replacing the block in which the error has occurred, and is composed of 512-byte blocks similar to the data memory 8, and each block is sequentially numbered from address 20,000h.
【0011】次に本例の半導体ディスク1の動作につい
て説明する。最初にホストバス3からファイルデータの
読み出し命令を受けたとする。この場合、まずマイコン
4はこの命令を処理するが命令の与えられ方によって制
御内容も異なってくる。例えば、読み出しを行なうファ
イルデータのアロケーション情報を磁気ディスクなどと
同様にセクタ番号やトラック番号で与えられた場合には
これをデータメモリ8の物理アドレスに変換する必要が
ある。本例では簡単化のため、ホストバス3からのアロ
ケーション情報はデータメモリ8のブロック番号とす
る。ブロック番号は物理アドレスの上位ビットに相当す
る。マイコン4の読み出し時の処理手順を図3に示す。
まず100においてホストバス3から与えられたブロッ
ク番号のエラー情報をエラーメモリ7のエラー情報領域
71から読みとる。例えばブロック1を読み出す場合は
エラーメモリ7の00002h番地、ブロック2は00
004h番地のエラー情報を読みとる。次に101にお
いて読みとったエラー情報からブロックが正常かどうか
チェックする。ブロック1の読み出しの場合、エラー情
報はFFFFhなのでブロック1は正常であり、ブロッ
ク2の場合エラー情報は0000hなので異常であるこ
とがわかる。ブロック1のように正常な場合は102に
おいてデータメモリ8のブロック1から512バイトの
データを読みとり、ホストバス3へ転送する。ブロック
2のように異常なブロックの場合は103においてエラ
ー情報の0000hが表す代替メモリ領域73の代替ブ
ロック0から512バイトのデータを読みとり、ホスト
バス3へ転送する。ここでエラーメモリ7とデータメモ
リ8の読み出し及びホストバス3へのデータ転送はメモ
リコントローラ5がマイコンの制御を受けて行なう。こ
のようにファイルデータを読みとる動作は、目的のブロ
ックを読み出す前にエラー情報を読みとり、目的のブロ
ックが正常かどうかチェックする。正常な場合はデータ
メモリ8のブロック、異常な場合は代替メモリ領域73
の代替ブロックを読みとる。Next, the operation of the semiconductor disk 1 of this embodiment will be described. First, it is assumed that a file data read command is received from the host bus 3. In this case, first, the microcomputer 4 processes this command, but the control content differs depending on how the command is given. For example, when the allocation information of the file data to be read is given by a sector number or a track number similarly to a magnetic disk or the like, it needs to be converted into a physical address of the data memory 8. In this example, the allocation information from the host bus 3 is a block number of the data memory 8 for simplification. The block number corresponds to the upper bits of the physical address. FIG. 3 shows a processing procedure at the time of reading by the microcomputer 4.
First, at 100, the error information of the block number given from the host bus 3 is read from the error information area 71 of the error memory 7. For example, when reading block 1, address 00002h of error memory 7 and block 2 are 00
The error information at address 004h is read. Next, whether or not the block is normal is checked from the error information read in 101. In the case of reading the block 1, the error information is FFFFh, so that the block 1 is normal, and in the case of the block 2, the error information is 0000h, which means that the error is abnormal. If the data is normal as in the block 1, in step 102, 512-byte data is read from the block 1 of the data memory 8 and transferred to the host bus 3. In the case of an abnormal block such as the block 2, 512 bytes of data are read from the replacement block 0 of the replacement memory area 73 indicated by 0000h of the error information in 103 and transferred to the host bus 3. Here, the reading of the error memory 7 and the data memory 8 and the data transfer to the host bus 3 are performed by the memory controller 5 under the control of the microcomputer. The operation of reading file data in this way reads error information before reading a target block and checks whether the target block is normal. Block of the data memory 8 if normal, alternative memory area 73 if abnormal
To read the alternative block.
【0012】次にホストバス3からファイルデータの書
き込み命令を受けた場合について説明する。図4に書き
込み時のマイコン4の処理手順を示す。まず、マイコン
4は200においてホストバス3から与えられるファイ
ルデータをバッファメモリ6へ転送する。これはフラッ
シュメモリへの書き込みが読み出しに比べ時間がかかる
ため、ホストシステム2の待ち時間を軽減させるために
行なう。次に201において書き込みを行なうブロック
番号のエラー情報をエラーメモリ7のエラー情報領域7
1から読みとる。読み出し時と同様に202においてエ
ラー情報をチェックする。例えば、ブロック1のエラー
情報はFFFFhなので正常のブロックであり、ブロッ
ク2のエラー情報は0000hなので異常なブロックで
ある。ブロック1へファイルデータを書き込む場合は正
常なブロックへの書き込みなので203においてデータ
メモリ8のブロック1のデータを消去し、204におい
てバッファメモリ6に記憶してあるファイルデータをデ
ータメモリ8のブロック1へ書き込む。ブロック2への
書き込みの場合はデータメモリ8のブロック2が異常な
ので205においてエラー情報の値0000hが表す代
替メモリ領域73の代替ブロック0のデータを消去し、
206においてバッファメモリ6のファイルデータを代
替ブロック0へ書き込む。次に207においてデータメ
モリ8またはエラーメモリ7への書き込みが正常に行な
われたかどうかチェックする。フラッシュメモリにおい
て書き込みのエラーが発生するのは特定のブロックにの
み書き込みが頻発し、フラッシュメモリの書換え回数の
制限を越えた場合である。207のチェックにおいて正
常な書き込みが行なわれていた場合はホストバス3から
のファイルデータ書き込み命令の処理は終了する。一
方、このチェックにおいて書き込みが正常にできなかっ
た場合は208の手順によりエラー情報の更新、代替ブ
ロックの割付けを行なう。Next, a case where a file data write command is received from the host bus 3 will be described. FIG. 4 shows a processing procedure of the microcomputer 4 at the time of writing. First, the microcomputer 4 transfers the file data provided from the host bus 3 to the buffer memory 6 in 200. This is performed to reduce the waiting time of the host system 2 because writing to the flash memory takes longer time than reading. Next, in 201, the error information of the block number to be written is stored in the error information area 7 of the error memory 7.
Read from 1. Error information is checked at 202 as in the case of reading. For example, since the error information of the block 1 is FFFFh, it is a normal block, and the error information of the block 2 is 0000h, which is an abnormal block. When writing the file data to the block 1, since the writing is to a normal block, the data of the block 1 of the data memory 8 is erased at 203 and the file data stored in the buffer memory 6 is written to the block 1 of the data memory 8 at 204. Write. In the case of writing to the block 2, since the block 2 of the data memory 8 is abnormal, the data of the replacement block 0 of the replacement memory area 73 represented by the error information value 0000h is deleted at 205,
At 206, the file data of the buffer memory 6 is written to the substitute block 0. Next, at 207, it is checked whether writing to the data memory 8 or the error memory 7 has been performed normally. A writing error occurs in a flash memory when writing frequently occurs only in a specific block and the number of times of rewriting of the flash memory exceeds a limit. If normal writing has been performed in the check at 207, the processing of the file data write command from the host bus 3 ends. On the other hand, if the writing cannot be performed normally in this check, the error information is updated and a substitute block is allocated according to the procedure of 208.
【0013】図5にエラー処理の手順を示す。まず、2
09においてエラーメモリ7の使用情報領域72の使用
情報を読みとり、210において使用情報から未使用の
代替ブロックを捜す。図2では第0から3ビットが1で
使用中であり、第4ビットすなわち代替ブロック4が未
使用であることがわかる。従って、書き込みエラーの発
生したブロックの代替は代替ブロック4で行なう。よっ
て、211において代替ブロック4のデータを消去し、
212においてバッファメモリ6のファイルデータを代
替ブロック4に書き込む。次に213においてエラー情
報領域71のうち書き込みエラーの発生したブロックの
エラー情報を記憶してあるブロックをバッファメモリ6
に転送する。そして、214においてバッファメモリ6
に記憶したエラー情報を新しいエラー情報に書き換え
る。例えばブロック1の書き込みエラーの場合は000
02h番地のFFFFhを代替ブロック4のブロック番
号0004hに書き換える。そして、215においてエ
ラー情報領域71の書換えが必要なブロックのデータを
消去し、216においてバッファメモリ6のデータを元
のエラー情報領域71のブロックへ書き込む。また、同
様に217において使用情報領域72のブロックをバッ
ファメモリ6に転送し、218において今回新たに代替
として用いる代替ブロックのビットを1に書き換える。
そして219において使用情報領域72のブロックのデ
ータを消去した後、220においてバッファメモリ6の
データを使用情報領域72のブロックへ書き込む。以上
のエラー処理手順でエラーブロックの代替ブロックへの
置き換えと、エラー情報の更新を行なう。FIG. 5 shows the procedure of error processing. First, 2
At 09, the use information in the use information area 72 of the error memory 7 is read, and at 210, an unused substitute block is searched from the use information. In FIG. 2, it can be seen that the 0th to 3rd bits are 1 and are in use, and the 4th bit, that is, the replacement block 4 is not used. Therefore, the replacement of the block in which the write error has occurred is performed in the replacement block 4. Therefore, the data of the substitute block 4 is erased in 211,
At 212, the file data of the buffer memory 6 is written to the substitute block 4. Next, in 213, the block in the error information area 71 in which the error information of the block in which the write error has occurred is stored.
Transfer to Then, at 214, the buffer memory 6
Is rewritten with new error information. For example, in the case of a write error of block 1, 000
FFFFh at the address 02h is rewritten to the block number 0004h of the substitute block 4. Then, at 215, the data of the block requiring rewriting of the error information area 71 is erased, and at 216, the data of the buffer memory 6 is written to the original block of the error information area 71. Similarly, in 217, the block in the use information area 72 is transferred to the buffer memory 6, and in 218, the bit of the substitute block which is newly used as a substitute this time is rewritten to 1.
Then, after erasing the data of the block of the use information area 72 at 219, the data of the buffer memory 6 is written to the block of the use information area 72 at 220. With the above error processing procedure, the error block is replaced with the substitute block and the error information is updated.
【0014】また、本例では207において書き込みの
チェックのみ行なったが203及び205の消去の次の
処理において消去が正常に行なわれたかどうかのチェッ
クを加えてもよい。この場合も208のエラー処理を行
なう。In this embodiment, only the writing check is performed in 207, but it may be added in the processing following the erasing of 203 and 205 whether or not the erasing has been performed normally. Also in this case, the error processing at 208 is performed.
【0015】本例ではエラーメモリ7に代替メモリ領域
73とエラー情報領域71を設けたが個別のメモリチッ
プとしてもよい。またこれとは逆にデータメモリ8の中
にエラー情報領域と代替メモリ領域を設けてもよい。こ
の場合の構成図を図6に示す。図6では図1と異なりエ
ラーメモリ7が不要となるのでチップ数の削減が行え
る。In this embodiment, the error memory 7 is provided with the replacement memory area 73 and the error information area 71, but may be provided as individual memory chips. Conversely, an error information area and an alternative memory area may be provided in the data memory 8. FIG. 6 shows a configuration diagram in this case. In FIG. 6, unlike FIG. 1, the error memory 7 is not required, so that the number of chips can be reduced.
【0016】図6の実施例のデータメモリ8のメモリマ
ップの例を図7に示す。図7に示すようにデータメモリ
8を初期化情報領域81、エラー情報領域82、代替メ
モリ領域83、データ領域84の4つの領域に分ける。
代替メモリ領域83はデータ領域84のエラーとなった
ブロックを代替する領域で、エラー情報領域82はデー
タ領域84の各ブロックのアドレス情報、あるいはデー
タ領域82のブロックがエラーの場合は代替ブロックの
アドレス情報を記憶する。ここでアドレス情報はデータ
メモリ8の物理アドレスの上位ビットまたは物理ブロッ
ク番号を表す。初期化情報領域81は代替メモリ領域8
3、及びエラー情報領域82、データ領域84の開始ア
ドレスと容量を記憶しておく領域で、未使用の代替メモ
リのアドレス情報も記憶しておく。ユーザは半導体ディ
スクを初期化するときにこの初期化情報領域81に設定
することで代替メモリ領域83の大きさを自由に設定で
きる。FIG. 7 shows an example of a memory map of the data memory 8 in the embodiment of FIG. As shown in FIG. 7, the data memory 8 is divided into four areas: an initialization information area 81, an error information area 82, an alternative memory area 83, and a data area 84.
The replacement memory area 83 is an area that replaces an errored block in the data area 84. The error information area 82 is address information of each block in the data area 84, or the address of a replacement block if a block in the data area 82 has an error. Store the information. Here, the address information indicates the upper bits of the physical address of the data memory 8 or the physical block number. The initialization information area 81 is the substitute memory area 8
3, and an area for storing the start address and capacity of the error information area 82 and the data area 84, and also stores the address information of the unused alternative memory. The user can freely set the size of the substitute memory area 83 by setting the initialization information area 81 when the semiconductor disk is initialized.
【0017】次に本例の動作について説明する。まず、
ホストバス3から読みだし命令を受けた場合のマイコン
4の処理手順を図8に示す。ホストバス3からはデータ
領域84のブロック番号を与えるものとする。最初に、
マイコン4は300においてエラー情報領域82からエ
ラー情報を読み取る。エラー情報のアドレスは初期化情
報領域81のエラー情報開始アドレスとホストバス3か
ら与えられるブロック番号から計算して得る。例えば読
みだすブロック番号が0の場合、エラー情報のアドレス
はエラー情報開始アドレス0001を512倍した20
0hの最初のアドレスである。次に301において30
0で読みだしたエラー情報に対応する物理ブロックを読
みだす。読みだすブロック番号が0の場合はエラー情報
が200hなので200hを512倍したデータ領域8
4の4000h番地から読みだす。また読みだすブロッ
ク番号が2の場合エラー情報は100hなので代替メモ
リ領域83の2000h番地から読みだす。このように
本例ではエラー情報がそのままデータメモリの物理アド
レスを表すので、図3の実施例と異なり101のエラー
チェック処理が不要となるという利点がある。Next, the operation of this embodiment will be described. First,
FIG. 8 shows a processing procedure of the microcomputer 4 when a read command is received from the host bus 3. It is assumed that a block number of the data area 84 is given from the host bus 3. At first,
The microcomputer 4 reads the error information from the error information area 82 at 300. The address of the error information is obtained by calculating from the error information start address of the initialization information area 81 and the block number given from the host bus 3. For example, when the block number to be read is 0, the address of the error information is 20 which is 512 times the error information start address 0001.
0h is the first address. Next, in 301, 30
The physical block corresponding to the error information read at 0 is read. If the block number to be read is 0, the error information is 200h, so the data area 8 is obtained by multiplying 200h by 512.
Read from address 4 at 4000h. If the block number to be read is 2, the error information is 100h, so that the error information is read from the address 2000h in the alternative memory area 83. As described above, in this embodiment, the error information directly represents the physical address of the data memory, and therefore, unlike the embodiment of FIG. 3, there is an advantage that the error check process of 101 is not required.
【0018】次にホストバス3から書き込み命令を受け
た場合について説明する。図9に書き込み時の処理手順
を示す。まず400においてバッファメモリ6にホスト
バス3から与えられるデータを書き込む。次に読みだし
時と同様に書き込むブロックのエラー情報をエラー情報
領域82から読みだす。そして402において読みだし
たエラー情報から書き込むブロックの物理アドレスを計
算し、その物理アドレスのブロックのデータを消去す
る。そして403においてバッファメモリ6に記憶した
書き込みデータを402で計算した物理アドレスが表す
データメモリ8のブロックへ書き込む。次に書き込み4
04において403の書き込みが正常に行なわれたかチ
ェックする。正常な書き込みの場合は書き込み処理は終
了するが正常でなかった場合は405のエラー処理を行
なう。エラー処理405では書き込みエラーとなったブ
ロックの代替ブロックを確保し、その代替ブロックへ書
き込みデータを転送すると共にエラー情報と初期化情報
を更新する。まず406において初期化情報領域81か
ら代替メモリ未使用アドレスを読み込む。代替メモリ未
使用アドレスの値が新しい代替ブロックのアドレスを表
す。次に407において代替メモリ未使用アドレスが表
すブロックのデータを消去する。図7の例では104h
を512倍した20800h番地のブロックを消去す
る。次に408においてバッファメモリ6の書き込みデ
ータを208h番地のブロックへ書き込む。次に409
において書き込みエラーとなったエラー情報のブロック
のデータをエラー情報領域82から読み取ってバッファ
メモリ6へ転送する。転送したエラー情報は410にお
いて新しいエラー情報に更新する。更新は例えばブロッ
ク0への書き込みエラーの場合はブロック0のエラー情
報200hを新しい代替ブロックのアドレス情報104
hへ書き替える。次に411において書替えを行なうエ
ラー情報領域82のブロックのデータを消去し、412
においてバッファメモリ6の更新したエラー情報をエラ
ー情報領域82の書換えを行なうブロックへ書き込む。
次に初期化情報領域81の代替ブロック未使用アドレス
の更新を行なうため、まず413において初期化情報領
域81のデータをバッファメモリ6へ転送する。そし
て、414において転送した初期化情報のうち代替メモ
リ未使用アドレスの値を1加算する。この値は次回書き
込みエラーが発生した場合に新しい代替ブロックのアド
レス情報となる。次に415において初期化情報領域8
1のデータを消去し、416においてバッファメモリ6
の更新した初期化情報を初期化情報領域81へ書き込
む。以上の手順で書き込み及びエラー処理を行なう。Next, a case where a write command is received from the host bus 3 will be described. FIG. 9 shows a processing procedure at the time of writing. First, at 400, data provided from the host bus 3 is written to the buffer memory 6. Next, the error information of the block to be written is read from the error information area 82 in the same manner as when reading. Then, at 402, the physical address of the block to be written is calculated from the error information read out, and the data of the block at the physical address is erased. Then, in 403, the write data stored in the buffer memory 6 is written to the block of the data memory 8 indicated by the physical address calculated in 402. Then write 4
At 04, it is checked whether the writing of 403 has been performed normally. If the writing is normal, the writing process ends, but if the writing is not normal, error processing at 405 is performed. In the error processing 405, a substitute block of the block in which the write error has occurred is secured, the write data is transferred to the substitute block, and the error information and the initialization information are updated. First, at 406, an alternative memory unused address is read from the initialization information area 81. The value of the substitute memory unused address indicates the address of the new substitute block. Next, in 407, the data of the block indicated by the substitute memory unused address is erased. 104h in the example of FIG.
Is erased, and the block at address 20800h is erased. Next, at 408, the write data of the buffer memory 6 is written to the block at address 208h. Next, 409
The data of the block of the error information in which the write error has occurred is read from the error information area 82 and transferred to the buffer memory 6. The transferred error information is updated at 410 with new error information. For example, in the case of a write error in block 0, the error information 200h of block 0 is updated to the address information 104 of the new alternative block.
Rewrite to h. Next, at 411, the data of the block of the error information area 82 to be rewritten is erased, and
, The updated error information in the buffer memory 6 is written to a block in which the error information area 82 is rewritten.
Next, in order to update the substitute block unused address in the initialization information area 81, first, in 413, the data in the initialization information area 81 is transferred to the buffer memory 6. Then, the value of the substitute memory unused address in the initialization information transferred in 414 is incremented by one. This value becomes the address information of a new substitute block when a write error occurs next time. Next, at 415, the initialization information area 8
1 is erased, and at 416 the buffer memory 6
Is written in the initialization information area 81. Writing and error processing are performed according to the above procedure.
【0019】また、本例では代替メモリ領域83とデー
タ領域84はそれぞれ1領域のみであるが、初期化情報
領域に新たに他のアドレス情報と容量を加えることで複
数の代替メモリ領域83とデータ領域84を設けても差
し支えない。In this embodiment, only one alternative memory area 83 and one data area 84 are provided. However, by adding new address information and capacity to the initialization information area, a plurality of alternative memory areas 83 and data area 84 are stored. The region 84 may be provided.
【0020】この様に、フラッシュメモリを記憶媒体と
した半導体ディスクにおいて、フラッシュメモリの書替
え回数の制限によるエラーを救済できるので半導体ディ
スクの寿命をのばすことができる。As described above, in a semiconductor disk using a flash memory as a storage medium, an error due to a limitation on the number of rewrites of the flash memory can be relieved, so that the life of the semiconductor disk can be extended.
【0021】次に、図1、2、6、7の実施例における
代替メモリ領域73、83とエラー情報領域71、82
の容量の決定方法について説明する。Next, the alternative memory areas 73 and 83 and the error information areas 71 and 82 in the embodiment of FIGS.
A method for determining the capacity of the storage device will be described.
【0022】まず、代替メモリ領域73、83の容量
は、ホストシステム2がもっとも頻繁に書換えを行う領
域、例えばFATやディレクトリー領域としてデータメ
モリ8のうちいくつのブロック数を用いるかによる。本
例ではデータメモリ8は32MBのうち、FAT及びデ
ィレクトリー領域として128kB用いるとする。この
場合、代替メモリ領域73、83に128kBの3倍、
384kBの容量をとれば、FATとディレクトリー領
域がすべてエラーとなっても3回置き替えが可能になる
ため、半導体ディスク1の寿命は4倍になる。First, the capacity of the alternative memory areas 73 and 83 depends on how many blocks of the data memory 8 are used as areas where the host system 2 rewrites most frequently, for example, FAT and directory areas. In this example, it is assumed that the data memory 8 uses 128 kB as the FAT and directory area out of 32 MB. In this case, the alternative memory areas 73 and 83 have three times 128 kB,
With a capacity of 384 kB, even if all of the FAT and the directory area become erroneous, replacement can be performed three times, so that the life of the semiconductor disk 1 is quadrupled.
【0023】従って、代替メモリ領域73、83はシリ
コンディスク1の寿命をn倍にしたい時、データメモリ
8のうち頻繁に書換えを行う領域の容量のn−1倍の容
量を持てばよい。図7の実施例の場合には代替メモリ領
域83として128kB用いているので寿命は2倍とな
る。一般にはFAT及びディレクトリー領域のすべてに
おいて書換えが頻繁に行われることはないので寿命は更
に伸びると予想されるが、これは代替メモリ領域73、
83の容量の目安と考える。Accordingly, when it is desired to extend the life of the silicon disk 1 by n times, the replacement memory areas 73 and 83 need to have a capacity of n-1 times the capacity of the frequently rewritten area of the data memory 8. In the case of the embodiment shown in FIG. 7, the service life is doubled because 128 kB is used as the substitute memory area 83. Generally, since rewriting is not frequently performed in all of the FAT and the directory area, the life is expected to be further extended.
It is considered as a standard of the capacity of 83.
【0024】次にエラー情報領域71、82の容量につ
いて説明する。図1の実施例の場合は代替メモリ領域7
3の各ブロック番号を記憶する領域をデータメモリ8の
ブロック数分必要である。すなわち、本例では代替メモ
リ領域73が768ブロック(384kB)、データメ
モリ8が64kブロック(32MB)あるので、768
を表す10ビットのアドレス情報を64k個記憶する容
量、80kBは少なくとも必要である。Next, the capacity of the error information areas 71 and 82 will be described. In the case of the embodiment of FIG.
3 is required for the number of blocks in the data memory 8 to store each block number. That is, in this example, the replacement memory area 73 has 768 blocks (384 kB) and the data memory 8 has 64 k blocks (32 MB).
At least 80 kB is required for a capacity for storing 64 k pieces of 10-bit address information representing the following.
【0025】図7の実施例の場合はエラー情報領域82
には代替メモリ領域83またはデータ領域84のブロッ
ク番号を記憶する領域をデータ領域84のブロック数分
必要である。本例では代替メモリ領域83に256ブロ
ック、データ領域84に65024ブロックを与えてい
るので、ブロック番号を表す16ビットの情報を650
24個分記憶する容量が必要である。In the case of the embodiment shown in FIG.
Requires an area for storing the block number of the alternative memory area 83 or the data area 84 by the number of blocks of the data area 84. In this example, 256 blocks are assigned to the substitute memory area 83 and 65024 blocks are assigned to the data area 84, so that 16-bit information indicating the block number is assigned to 650.
A storage capacity for 24 units is required.
【0026】使用情報領域72および初期化情報領域8
1は残りの容量を割り当てる。Use information area 72 and initialization information area 8
1 allocates the remaining capacity.
【0027】これら各領域を分けるときはフラッシュメ
モリの書替え単位であるブロック単位で分けると都合が
よい。When each of these areas is divided, it is convenient to divide it into blocks which are rewriting units of the flash memory.
【0028】このように本発明によれば、フラッシュメ
モリの全容量に対し、2%以下の容量をエラー情報領域
71、82や代替メモリ領域73、83に用いること
で、半導体ディスク1の寿命を2倍以上にすることが可
能である。また、寿命を更に延ばしたいときには代替メ
モリ領域73、83の容量を増やせば、その分だけ寿命
が延びる。As described above, according to the present invention, the life of the semiconductor disk 1 can be extended by using a capacity of 2% or less of the total capacity of the flash memory for the error information areas 71 and 82 and the alternative memory areas 73 and 83. It is possible to make it twice or more. In order to further extend the life, if the capacity of the alternative memory areas 73 and 83 is increased, the life is extended correspondingly.
【0029】次に、ホストシステム2と半導体ディスク
1のインターフェースについて補足説明する。ホストシ
ステム2はパーソナルコンピューターやワードプロセッ
サ等の情報処理装置であり、ホストバス3はこれらのホ
ストシステム2が通常、磁気ディスクなどのファイル装
置を接続するバスである。一般的に、磁気ディスクを接
続するホストバス3にはSCSIやIDEインターフェ
ースがある。本発明の半導体ディスク1も磁気ディスク
と同様にSCSIやIDEインターフェース等のホスト
バス3に接続すると磁気ディスクなどから半導体ディス
ク1への移行が行いやすい。Next, the interface between the host system 2 and the semiconductor disk 1 will be supplementarily described. The host system 2 is an information processing device such as a personal computer or a word processor, and the host bus 3 is a bus for connecting the host system 2 to a file device such as a magnetic disk. Generally, the host bus 3 for connecting a magnetic disk has a SCSI or IDE interface. When the semiconductor disk 1 of the present invention is connected to the host bus 3 such as a SCSI or IDE interface similarly to the magnetic disk, the transfer from the magnetic disk or the like to the semiconductor disk 1 can be easily performed.
【0030】半導体ディスク1をSCSIやIDEイン
ターフェースへ接続するには磁気ディスクのインターフ
ェースと同一にする必要がある。そのためにはまず、フ
ラッシュメモリのブロックの大きさを磁気ディスクのセ
クタに対応させる必要がある。本実施例ではブロックサ
イズを512バイトとしたが、これは磁気ディスクのセ
クタサイズにあわせたものである。ブロックサイズが磁
気ディスクのセクタサイズよりも小さい場合には複数の
ブロックを1セクタとして用いれば問題ないが、大きい
場合にはブロックをいくつかのセクタサイズに分けて使
用する必要がある。また、磁気ディスクのトラックやヘ
ッドに相当するものはフラッシュメモリを論理的にトラ
ックやヘッドに割り振ればよい。また、各制御レジスタ
や割込みなどのインターフェースを同一にし、ホストバ
ス3から与えられる磁気ディスクの入出力命令で半導体
ディスク1の制御を行うようにする。しかし、磁気ディ
スク特有の命令、例えばモーターの制御などの処理を別
の処理に置き換える必要がある。In order to connect the semiconductor disk 1 to a SCSI or IDE interface, it is necessary to use the same interface as a magnetic disk. For that purpose, first, it is necessary to make the block size of the flash memory correspond to the sector of the magnetic disk. In this embodiment, the block size is set to 512 bytes, which is in accordance with the sector size of the magnetic disk. When the block size is smaller than the sector size of the magnetic disk, there is no problem if a plurality of blocks are used as one sector, but when the block size is larger, the blocks need to be divided into several sector sizes and used. In addition, what corresponds to the track or head of the magnetic disk may be obtained by logically allocating the flash memory to the track or head. In addition, the interfaces such as control registers and interrupts are made identical, and the semiconductor disk 1 is controlled by a magnetic disk input / output command given from the host bus 3. However, it is necessary to replace a command unique to a magnetic disk, for example, a process such as control of a motor, with another process.
【0031】下記の表1は磁気ディスクへの命令とその
命令に対する磁気ディスクの処理、及び、磁気ディスク
の命令をそのまま半導体ディスク1へ流用した場合の半
導体ディスク1の処理の例を示したものである。Table 1 below shows an example of a command to the magnetic disk and a process of the magnetic disk for the command, and a process of the semiconductor disk 1 when the command of the magnetic disk is diverted to the semiconductor disk 1 as it is. is there.
【0032】[0032]
【表1】 [Table 1]
【0033】これはIDEインターフェースの例であ
る。表1においてNo.1およびNo.6はヘッドの移
動命令であるが、半導体ディスク1にはヘッドがないの
でこの処理は行わない。また、フラッシュメモリは磁気
ディスクよりもエラー率が格段に低いためECCを設け
る必要がない。そのため、Read Verify S
ector命令は処理を行わない。その他の命令は表1
に示す通りである。This is an example of the IDE interface. In Table 1, No. 1 and No. Reference numeral 6 denotes a head movement command, but since the semiconductor disk 1 has no head, this process is not performed. Further, since the flash memory has a much lower error rate than the magnetic disk, there is no need to provide an ECC. Therefore, Read Verify S
The vector instruction does not perform any processing. Other instructions are shown in Table 1.
It is as shown in FIG.
【0034】また、表1において処理を行わない場合で
も、磁気ディスクで割込みなどを発生する場合は半導体
ディスク1でも同様に割込みを発する。すなわち、ホス
トバス3から見れば磁気ディスクと半導体ディスク1の
区別がないようにインターフェースを取る。Further, even if the processing is not performed in Table 1, when an interruption or the like occurs on the magnetic disk, the interruption is also issued on the semiconductor disk 1 in the same manner. That is, the interface is set so that there is no distinction between the magnetic disk and the semiconductor disk 1 when viewed from the host bus 3.
【0035】以上のように磁気ディスクのインターフェ
ースと半導体ディスク1のインターフェースを同一にす
ることにより、磁気ディスクから半導体ディスク1への
置き換えが容易になる。As described above, by making the interface of the magnetic disk and the interface of the semiconductor disk 1 the same, it is easy to replace the magnetic disk with the semiconductor disk 1.
【0036】SCSIインターフェースについてもID
Eインターフェースと同様に磁気ディスクと同じインタ
ーフェースにすれば置き換えが容易に行える。しかし、
SCSIインターフェースには磁気ディスク以外に光磁
気ディスクなど他の装置の接続が可能なため、ファイル
装置個別の命令体系を持っており、半導体ディスク1も
専用の命令体系を組んだ方がむだな処理もなく、高速化
が行える。但し、基本的には磁気ディスクと同じ命令体
系で、モーター制御コマンドなどがないものである。こ
の場合、フラッシュメモリのブロックサイズは何バイト
でもよく、フラッシュメモリの1ブロックを1セクタと
して処理すればよい。また、図1および図6の実施例で
示したマイコン4の処理、図3、4、5、8、9のフロ
ーチャートの処理はホストシステム2で行ってもよい。ID for SCSI interface
If the same interface as the magnetic disk is used as in the case of the E interface, replacement can be easily performed. But,
Since the SCSI interface can be connected to other devices such as a magneto-optical disk in addition to the magnetic disk, the file system has its own instruction system, and the semiconductor disk 1 also has a dedicated instruction system for useless processing. And speeding up. However, it has basically the same instruction system as a magnetic disk, but does not have a motor control command or the like. In this case, the block size of the flash memory may be any number of bytes, and one block of the flash memory may be processed as one sector. The processing of the microcomputer 4 shown in the embodiment of FIGS. 1 and 6 and the processing of the flowcharts of FIGS. 3, 4, 5, 8, and 9 may be performed by the host system 2.
【0037】また、標準のICカードインターフェース
仕様としてJEIDAやPCMCIAがあるが、本発明
の半導体ディスク1をICカード化し、インターフェー
スをJEIDAまたはPCMCIAに準拠させて半導体
ファイル1を構築してもよい。この場合、半導体ディス
ク1はIO装置として扱う。Although the standard IC card interface specifications include JEIDA and PCMCIA, the semiconductor disk 1 of the present invention may be formed into an IC card, and the semiconductor file 1 may be constructed with the interface conforming to JEIDA or PCMCIA. In this case, the semiconductor disk 1 is handled as an IO device.
【0038】磁気ディスクと比較して半導体ディスク1
の有利な点は、表1に示したように半導体ディスク1の
処理は磁気ディスクよりも少なくてすむため、高速化が
行えること、モーターなどのメカ部分がないため、低消
費電力であること、また、振動などに対する耐衝撃性が
あること、また、信頼性が高いのでECCが必要ないこ
となどがあげられる。The semiconductor disk 1 is compared with the magnetic disk.
Advantageously, as shown in Table 1, the processing of the semiconductor disk 1 requires less processing than that of the magnetic disk, so that high-speed operation can be performed, and since there is no mechanical part such as a motor, power consumption is low. In addition, it has shock resistance against vibrations and the like, and does not require ECC because of high reliability.
【0039】また、記憶媒体としてフラッシュメモリを
用いたのは、不揮発性なので電源オフ時にもデータを保
持し、SRAMやDRAMのようにバッテリーによるバ
ックアップが必要ないこと、EEPROMに比べて構造
が簡単なので大容量化が容易で、大量生産に向き安価に
できることなどの利点があるからである。The flash memory is used as a storage medium because it is non-volatile and retains data even when the power is turned off, does not require a battery backup like an SRAM or a DRAM, and has a simpler structure than an EEPROM. This is because there is an advantage that the capacity can be easily increased, and mass production can be performed at a low cost.
【0040】また、本発明においては、フラッシュメモ
リは、複数の領域に分けられていて、データを記憶し上
記の領域に対応して設けられた複数のデータメモリ領域
と、エラーとなったデータメモリ領域を代替し上記の領
域に対応して設けられた複数の代替メモリ領域と、デー
タメモリ領域のエラー情報を記憶し上記の領域に対応し
て設けられた複数のエラーメモリ領域と、各領域の開始
アドレスと容量とを記憶する初期化情報領域とを有する
こととしても良い。これによれば、あらたにフラッシュ
メモリを増設し記憶容量を拡張する場合、新規に3種の
メモリ領域を増設すれば、今までのエラーメモリ領域や
データメモリ領域の記憶した内容を変更せずに、増設が
できる。初期化情報領域に拡張したメモリの情報を記憶
するようにすれば良い。In the present invention, the flash memory is divided into a plurality of areas, and a plurality of data memory areas for storing data and provided in correspondence with the above-mentioned areas are provided. A plurality of alternative memory areas which are provided in correspondence with the above areas instead of the areas; a plurality of error memory areas which store error information of the data memory areas and are provided in correspondence with the above areas; An initialization information area for storing a start address and a capacity may be provided. According to this, when a new flash memory is added to expand the storage capacity, three new memory areas can be newly added without changing the contents stored in the error memory area and the data memory area. , Can be expanded. What is necessary is just to store the information of the expanded memory in the initialization information area.
【0041】また、本発明においては、エラーメモリ領
域は、エラーの発生した代替メモリ領域のエラー情報を
も有することとしても良い。こうすれば、データメモリ
領域のエラーに限らず、一度データメモリ領域を置き換
えた代替メモリ領域にエラーが発生した場合にもさらに
エラーの救済を行うことができる。代替の仕方は、デー
タメモリ領域にエラーが発生した場合と同じようにすれ
ば良い。代替メモリ領域の代替を行うことで、寿命を伸
ばすことができる。Further, in the present invention, the error memory area may have error information of an alternative memory area where an error has occurred. In this way, the error can be further relieved not only in the data memory area but also in the case where an error occurs in the replacement memory area which has once replaced the data memory area. An alternative method may be the same as when an error occurs in the data memory area. By replacing the alternative memory area, the life can be extended.
【0042】また、本発明においては、代替メモリ領域
の容量は、上記データメモリ領域のうち予め定められた
一部の領域であることとしても良い。領域の選択方法と
しては、最も頻繁に書替が行われる領域を選べば良い。
そうすると、少ない代替領域があれば、寿命を飛躍的に
伸ばすことができる。In the present invention, the capacity of the substitute memory area may be a predetermined part of the data memory area. As a method for selecting an area, an area in which rewriting is most frequently performed may be selected.
Then, if there are few alternative areas, the life can be significantly extended.
【0043】[0043]
【発明の効果】本発明により、フラッシュメモリを記憶
媒体とした半導体ディスクにおいて、半導体ディスクの
寿命をのばすことができる。According to the present invention, in a semiconductor disk using a flash memory as a storage medium, the life of the semiconductor disk can be extended.
【図1】本発明の一実施例の半導体ディスクおよびホス
トシステムの構成図FIG. 1 is a configuration diagram of a semiconductor disk and a host system according to an embodiment of the present invention.
【図2】エラーメモリ7のメモリマップの説明図FIG. 2 is an explanatory diagram of a memory map of an error memory 7;
【図3】読みだし時のマイコン4のフローチャートFIG. 3 is a flowchart of the microcomputer 4 at the time of reading.
【図4】書き込み時のマイコン4のフローチャートFIG. 4 is a flowchart of the microcomputer 4 during writing.
【図5】マイコン4のエラー時のフローチャートFIG. 5 is a flowchart when an error occurs in the microcomputer 4;
【図6】本発明の他の一実施例の半導体ディスクおよび
ホストシステムの構成図FIG. 6 is a configuration diagram of a semiconductor disk and a host system according to another embodiment of the present invention.
【図7】本発明の他の実施例のデータメモリ8のメモリ
マップの説明図FIG. 7 is an explanatory diagram of a memory map of a data memory 8 according to another embodiment of the present invention.
【図8】読みだし時の他の実施例のマイコン4のフロー
チャートFIG. 8 is a flowchart of a microcomputer 4 according to another embodiment at the time of reading.
【図9】書き込み時の他の実施例のマイコン4のフロー
チャートFIG. 9 is a flowchart of the microcomputer 4 according to another embodiment at the time of writing.
1...半導体ディスク 2...ホストシステム 3...ホストバス 4...マイコン 5...メモリコントローラ 6...バッファメモリ 7...エラーメモリ 8...データメモリ 71...エラー情報領域 72...使用情報領域 73...代替メモリ領域 81...初期化情報領域 82...エラー情報領域 83...代替メモリ領域 84...データ領域 1. . . Semiconductor disk 2. . . Host system 3. . . Host bus 4. . . Microcomputer 5. . . Memory controller 6. . . Buffer memory 7. . . Error memory 8. . . Data memory 71. . . Error information area 72. . . Usage information area 73. . . Alternative memory area 81. . . Initialization information area 82. . . Error information area 83. . . Alternative memory area 84. . . Data area
───────────────────────────────────────────────────── フロントページの続き (72)発明者 林 良裕 千葉県習志野市東習志野七丁目1番1号 株式会社 日立製作所 オフィスシス テム設計開発センタ内 (72)発明者 常広 隆司 神奈川県横浜市戸塚区吉田町292番地 株式会社 日立製作所 マイクロエレク トロニクス機器開発研究所内 (72)発明者 古野 毅 東京都千代田区神田駿河台四丁目6番 株式会社 日立製作所内 (56)参考文献 特開 平1−251372(JP,A) 特開 平3−127116(JP,A) 特開 平1−292455(JP,A) 舛岡 富士雄、紫外線消去型EPRO Mの置き換えまでねらう256KビットE EPROM EPROMに消去ゲートを 加えただけ、日経エレクトロニクス、日 経マグロウヒル社、1985、7−29、No 374、195−209 (58)調査した分野(Int.Cl.7,DB名) G06F 3/08 ──────────────────────────────────────────────────続 き Continued on the front page (72) Inventor Yoshihiro Hayashi 7-1-1, Higashi-Narashino, Narashino-shi, Chiba Hitachi, Ltd. Office System Design and Development Center (72) Inventor Takashi Tsunehiro Yoshida, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture 292 Hitachi, Ltd. Microelectronics Equipment Development Laboratory, Hitachi, Ltd. (72) Inventor Takeshi Furuno 4-6 Kanda Surugadai, Chiyoda-ku, Tokyo Hitachi, Ltd. (56) References JP 1-251372 (JP, A) Japanese Patent Laid-Open No. 3-127116 (JP, A) Japanese Patent Laid-Open No. 1-292455 (JP, A) Fujio Masuzoka, 256 Kbit EEPROM aiming at replacement of ultraviolet-erasable EPROM With the addition of an erase gate to the EPROM, Nikkei Electronics, Nikkei McGraw-Hill, 19 85, 7-29, No. 374, 195-209 (58) Field surveyed (Int. Cl. 7 , DB name) G06F 3/08
Claims (10)
体ディスクにおいて、 上記フラッシュメモリは、 データを記憶するための領域として、あらかじめ定めら
れているデータメモリ領域と、 上記データメモリのエラーとなった領域を代替するため
の領域として、あらかじめ定められている代替メモリ領
域と、エラーとなったデータメモリ領域を代替している 代替メ
モリのアドレスを記憶する領域として、あらかじめ定め
られているエラーメモリ領域とを有し、 上記データメモリ領域、代替メモリ領域、およびエラー
メモリ領域への読みだし及び書き込みを行うメモリコン
トローラを有することを特徴とする半導体ディスク。1. A semiconductor disk using a flash memory as a storage medium, wherein the flash memory includes a predetermined data memory area as an area for storing data, and an error area of the data memory. There are a predetermined replacement memory area as a replacement area and a predetermined error memory area as an area for storing an address of a replacement memory replacing the data memory area in which an error has occurred. A semiconductor disk having a memory controller for reading from and writing to the data memory area , the alternative memory area , and the error memory area.
て、 上記エラーメモリ領域は、エラーの発生した代替メモリ
領域のアドレスを、さらに記憶することを特徴とする半
導体ディスク。2. A semiconductor disk of claim 1, wherein the error memory area, a semiconductor disk, characterized in that the address of the alternate memory area generated in error, further stores.
において、 上記エラーメモリ領域は、代替メモリ領域の使用状況を
示す情報を、さらに記憶することを特徴とする半導体デ
ィスク。3. A semiconductor disk according to claim 1 or 2, wherein, the usage of the error memory area, alternate memory area
A semiconductor disk further storing information to be indicated .
と、代替メモリ領域とを有する半導体ディスクのデータ
読みだし及び書き込み方法であって、 エラーメモリ領域から、データメモリ領域が正常である
か異常であるかを示すエラー情報を読み取り、 エラー情報により、データメモリ領域が正常なときはデ
ータメモリ領域、異常なときは代替メモリ領域の読みだ
しまたは書き込みを行い、 書き込み時において、エラーが発生した場合は、代替メ
モリ領域の空き領域を捜し、空き領域へデータを書き込
むと共に、エラーのあったデータメモリ領域のエラー情
報を更新することを特徴とする読みだし及び書き込み方
法。4. An error memory area and a data memory area
And a method for reading and writing data on a semiconductor disk having an alternative memory area , wherein the data memory area is normal from the error memory area.
Or read-error information indicating abnormality and whether, by the error information, the data memory area when the data memory area is normal, when abnormalities have line out or writing reading alternate memory area, in a write operation, error is is generated, the alternative searching an empty area in the memory area, writes the data into the free area, reading out and writing process and updates the error information of the data memory area in error.
体ディスクにおいて、 上記フラッシュメモリへの読みだし及び書き込みを行な
うメモリコントローラを有し、 上記フラッシュメモリは、 データを記憶するための領域として、あらかじめ定めら
れているデータメモリ領域と、 エラーとなったデータメモリ領域を代替するための領域
として、あらかじめ定められている代替メモリ領域と、 データメモリ領域のエラー情報を記憶するための領域と
して、あらかじめ定められているエラーメモリ領域と、 各領域の開始アドレスと容量を記憶する初期化情報領域
とを有することを特徴とする半導体ディスク。5. A semiconductor disk using a flash memory as a storage medium, comprising a memory controller for reading and writing to the flash memory, wherein the flash memory is predetermined as an area for storing data. A predetermined replacement memory area as an area for replacing the data memory area having an error and a data memory area having an error, and a predetermined area as an area for storing error information of the data memory area. 1. A semiconductor disk comprising: an error memory area; and an initialization information area for storing a start address and capacity of each area.
体ディスクにおいて、 上記フラッシュメモリへの読みだし及び書き込みを行な
うメモリコントローラを有し、 上記フラッシュメモリは、複数の領域に分けられてい
て、 データを記憶し、上記の領域に対応して設けられた、複
数のデータメモリ領域と、 エラーとなったデータメモリ領域を代替し、上記の領域
に対応して設けられた、複数の代替メモリ領域と、 データメモリ領域のエラー情報を記憶し、上記の領域に
対応して設けられた、複数のエラーメモリ領域と、 各領域の開始アドレスと容量を記憶する初期化情報領域
とを有することを特徴とする半導体ディスク。6. A semiconductor disk using a flash memory as a storage medium, comprising a memory controller for reading and writing to the flash memory, wherein the flash memory is divided into a plurality of areas and stores data. A plurality of data memory areas provided corresponding to the above-mentioned area, and a plurality of alternative memory areas provided corresponding to the above-mentioned area, which substitute for the data memory area in which an error has occurred; A semiconductor device, comprising: a plurality of error memory regions provided for a plurality of error memory regions provided in correspondence with the above-mentioned regions, and an initialization information region for storing a start address and a capacity of each region; disk.
において、データメモリ領域と代替メモリ領域の容量を
可変としたことを特徴とする半導体ディスク。7. The semiconductor disk according to claim 5, wherein the capacities of the data memory area and the substitute memory area are variable.
スクにおいて、上記エラーメモリ領域は、エラーの発生
した代替メモリ領域のエラー情報をも有することを特徴
とする半導体ディスク。8. The semiconductor disk according to claim 5 , wherein the error memory area also has error information of an alternative memory area in which an error has occurred.
記載の半導体ディスクにおいて、 上記代替メモリ領域は、上記データメモリ領域の一部の
領域であることを特徴とする半導体ディスク。9. The method of claim 1 , 2 , 3 , 5 , 6, 7, or 8.
The semiconductor disk, wherein the alternate memory area, the semiconductor disc, which is a region of part of the data memory area.
導体ディスクにおいて、 コントローラを有し、 上記フラッシュメモリは、第1、第2及び第3の領域に
区分され、 上記コントローラは、上記第1の領域のデータを読み出
すことにより、上記第2の領域または上記第3の領域の
いずれの領域のデータにアクセスするかを決定すること
を特徴とする半導体ディスク。10. A semiconductor disk using a flash memory as a storage medium, comprising: a controller, wherein the flash memory is divided into first, second, and third areas; A semiconductor disk, which determines which of the second area and the third area to access data by reading data.
Priority Applications (24)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9989192A JP3231832B2 (en) | 1991-11-26 | 1992-04-20 | Semiconductor disk using flash memory as storage medium |
TW081109268A TW261687B (en) | 1991-11-26 | 1992-11-19 | |
EP92119968A EP0548564B1 (en) | 1991-11-26 | 1992-11-24 | Storage device employing a flash memory |
DE69227499T DE69227499T2 (en) | 1991-11-26 | 1992-11-24 | Storage device using flash memory |
US07/981,438 US5644539A (en) | 1991-11-26 | 1992-11-25 | Storage device employing a flash memory |
KR1019920022323A KR960012360B1 (en) | 1991-11-26 | 1992-11-25 | Storage device using flash memory |
US08/782,344 US6130837A (en) | 1991-11-26 | 1997-01-13 | Storage device employing a flash memory |
US09/660,648 US6341085B1 (en) | 1991-11-26 | 2000-09-12 | Storage device employing a flash memory |
US09/866,622 US6347051B2 (en) | 1991-11-26 | 2001-05-30 | Storage device employing a flash memory |
US10/046,413 US6567334B2 (en) | 1991-11-26 | 2002-01-16 | Storage device employing a flash memory |
US10/409,080 US6788609B2 (en) | 1991-11-26 | 2003-04-09 | Storage device employing a flash memory |
US10/847,917 US6925012B2 (en) | 1991-11-26 | 2004-05-19 | Storage device employing a flash memory |
US11/085,555 US7123519B2 (en) | 1991-11-26 | 2005-03-22 | Storage device employing a flash memory |
US11/085,561 US7064995B2 (en) | 1991-11-26 | 2005-03-22 | Storage device employing a flash memory |
US11/085,544 US7082510B2 (en) | 1991-11-26 | 2005-03-22 | Storage device employing a flash memory |
US11/085,507 US7154805B2 (en) | 1991-11-26 | 2005-03-22 | Storage device employing a flash memory |
US11/085,560 US7006386B2 (en) | 1991-11-26 | 2005-03-22 | Storage device employing a flash memory |
US11/085,508 US7002851B2 (en) | 1991-11-26 | 2005-03-22 | Storage device employing a flash memory |
US11/167,187 US7184320B2 (en) | 1991-11-26 | 2005-06-28 | Storage device employing a flash memory |
US11/599,325 US7327624B2 (en) | 1991-11-26 | 2006-11-15 | Storage device employing a flash memory |
US11/599,326 US7447072B2 (en) | 1991-11-26 | 2006-11-15 | Storage device employing a flash memory |
US11/599,308 US7379379B2 (en) | 1991-11-26 | 2006-11-15 | Storage device employing a flash memory |
US12/000,696 US7715243B2 (en) | 1991-11-26 | 2007-12-17 | Storage device employing a flash memory |
US12/748,497 US8031536B2 (en) | 1991-11-26 | 2010-03-29 | Storage device employing a flash memory |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3-310848 | 1991-11-26 | ||
JP31084891 | 1991-11-26 | ||
JP9989192A JP3231832B2 (en) | 1991-11-26 | 1992-04-20 | Semiconductor disk using flash memory as storage medium |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001088605A Division JP3609739B2 (en) | 1991-11-26 | 2001-03-26 | Semiconductor memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05204561A JPH05204561A (en) | 1993-08-13 |
JP3231832B2 true JP3231832B2 (en) | 2001-11-26 |
Family
ID=26440985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9989192A Expired - Lifetime JP3231832B2 (en) | 1991-11-26 | 1992-04-20 | Semiconductor disk using flash memory as storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3231832B2 (en) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7190617B1 (en) | 1989-04-13 | 2007-03-13 | Sandisk Corporation | Flash EEprom system |
US6230233B1 (en) | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
TW261687B (en) | 1991-11-26 | 1995-11-01 | Hitachi Seisakusyo Kk | |
US6347051B2 (en) | 1991-11-26 | 2002-02-12 | Hitachi, Ltd. | Storage device employing a flash memory |
JP3328321B2 (en) | 1992-06-22 | 2002-09-24 | 株式会社日立製作所 | Semiconductor storage device |
US6549974B2 (en) | 1992-06-22 | 2003-04-15 | Hitachi, Ltd. | Semiconductor storage apparatus including a controller for sending first and second write commands to different nonvolatile memories in a parallel or time overlapped manner |
US6078520A (en) * | 1993-04-08 | 2000-06-20 | Hitachi, Ltd. | Flash memory control method and information processing system therewith |
KR970008188B1 (en) * | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | Flash memory control method and information processing device using the same |
JP3444988B2 (en) * | 1994-10-18 | 2003-09-08 | 沖電気工業株式会社 | Nonvolatile semiconductor disk device and control method therefor |
JPH08137763A (en) * | 1994-11-04 | 1996-05-31 | Fujitsu Ltd | Flash memory controller |
US6166950A (en) * | 1996-07-10 | 2000-12-26 | Hitachi, Ltd. | Nonvolatile semiconductor storage device |
JP2001025053A (en) | 1999-07-09 | 2001-01-26 | Mitsubishi Electric Corp | Cell phone memory system |
KR100586031B1 (en) * | 1999-12-23 | 2006-06-01 | 브이케이 주식회사 | Real-time database operation method using nonvolatile memory |
JP2001306409A (en) * | 2000-04-21 | 2001-11-02 | Mitsubishi Electric Corp | Portable storage device and information processing system using the same |
CN1996351B (en) | 2000-04-28 | 2010-04-21 | 株式会社日立制作所 | IC card |
US6820148B1 (en) * | 2000-08-17 | 2004-11-16 | Sandisk Corporation | Multiple removable non-volatile memory cards serially communicating with a host |
JP4058322B2 (en) | 2002-10-07 | 2008-03-05 | 株式会社ルネサステクノロジ | Memory card |
JP4518951B2 (en) | 2002-10-28 | 2010-08-04 | サンディスク コーポレイション | Automatic wear leveling in non-volatile storage systems. |
JP2005258851A (en) | 2004-03-12 | 2005-09-22 | Renesas Technology Corp | Memory card |
JP4503500B2 (en) * | 2005-06-29 | 2010-07-14 | シャープ株式会社 | RECORDING DEVICE, PROGRAM THEREOF, AND RECORDING MEDIUM |
JP4487978B2 (en) | 2006-06-28 | 2010-06-23 | セイコーエプソン株式会社 | Semiconductor memory device management system, program, and semiconductor memory device management method |
KR100781976B1 (en) * | 2006-11-02 | 2007-12-06 | 삼성전자주식회사 | Method for Providing Block State Information in Semiconductor Memory Device Having Flash Memory |
US20090271564A1 (en) | 2008-04-25 | 2009-10-29 | Hitachi, Ltd. | Storage system |
JP5075761B2 (en) | 2008-05-14 | 2012-11-21 | 株式会社日立製作所 | Storage device using flash memory |
US8327066B2 (en) | 2008-09-30 | 2012-12-04 | Samsung Electronics Co., Ltd. | Method of managing a solid state drive, associated systems and implementations |
JP5347779B2 (en) * | 2009-07-07 | 2013-11-20 | ソニー株式会社 | MEMORY DEVICE, MEMORY CONTROL METHOD, AND PROGRAM |
US8484414B2 (en) | 2009-08-31 | 2013-07-09 | Hitachi, Ltd. | Storage system having plurality of flash packages |
US8621328B2 (en) | 2011-03-04 | 2013-12-31 | International Business Machines Corporation | Wear-focusing of non-volatile memories for improved endurance |
JPWO2015182439A1 (en) * | 2014-05-26 | 2017-04-20 | ソニー株式会社 | Storage device, storage system, and storage device control method |
CN114138541A (en) * | 2021-10-21 | 2022-03-04 | 威胜集团有限公司 | Data configuration method of electric energy meter, electric energy meter and readable storage medium |
-
1992
- 1992-04-20 JP JP9989192A patent/JP3231832B2/en not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
舛岡 富士雄、紫外線消去型EPROMの置き換えまでねらう256KビットEEPROM EPROMに消去ゲートを加えただけ、日経エレクトロニクス、日経マグロウヒル社、1985、7−29、No374、195−209 |
Also Published As
Publication number | Publication date |
---|---|
JPH05204561A (en) | 1993-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3231832B2 (en) | Semiconductor disk using flash memory as storage medium | |
US8031536B2 (en) | Storage device employing a flash memory | |
KR960012360B1 (en) | Storage device using flash memory | |
US6081878A (en) | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices | |
US5946714A (en) | Semiconductor storage device utilizing address management tables and table state maps for managing data storage and retrieval | |
JPH05314019A (en) | Memory card device | |
JPH05150913A (en) | Silicon disk with flash memory as storage medium | |
JP3609739B2 (en) | Semiconductor memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070914 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080914 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080914 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090914 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090914 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100914 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110914 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120914 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120914 Year of fee payment: 11 |