JPH1049447A - Semiconductor memory device - Google Patents

Semiconductor memory device

Info

Publication number
JPH1049447A
JPH1049447A JP8220403A JP22040396A JPH1049447A JP H1049447 A JPH1049447 A JP H1049447A JP 8220403 A JP8220403 A JP 8220403A JP 22040396 A JP22040396 A JP 22040396A JP H1049447 A JPH1049447 A JP H1049447A
Authority
JP
Japan
Prior art keywords
physical
physical block
logical address
block
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.)
Granted
Application number
JP8220403A
Other languages
Japanese (ja)
Other versions
JP3303011B2 (en
Inventor
Shuichi Kikuchi
修一 菊地
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.)
Tokyo Electron Ltd
Original Assignee
Tokyo Electron 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 Tokyo Electron Ltd filed Critical Tokyo Electron Ltd
Priority to JP22040396A priority Critical patent/JP3303011B2/en
Publication of JPH1049447A publication Critical patent/JPH1049447A/en
Application granted granted Critical
Publication of JP3303011B2 publication Critical patent/JP3303011B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To reduce the size of a memory that is necessary for conversion of both addresses and also to shorten the longest access time in a semiconductor memory device which is unable to secure the 1:1 correspondence between the logical addresses and the physical addresses of a memory since the presence of a faulty block is allowed. SOLUTION: For instance, good blocks of a flash memory are divided every 1,000 pieces into 16 blocks, and the logical addresses 0 to 999 and 1,000 to 1,999 are allocated in the 1st and 2nd groups respectively. Then 0, 1,000, 2,000... are defined as a system with 1, 1,001 and 2,001... defined as another system and so on, and the logical addresses are divided into 1,000 systems. The logical address allocated to the relevant blocke and the position information on the next block are written into the physical blocks corresponding to the same system, so that the chain groups are formed. The blocks can be successively retrieved at and after the head one of them when a specific chain group where the relevant logic address belongs is known.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、メモリ領域を複数
の物理ブロックに分割してなる半導体メモリ、例えばフ
ラッシュメモリと、主制御部で管理している論理アドレ
スに基づいて物理アドレスを検索するメモリ制御部とを
備えた半導体メモリ装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a semiconductor memory in which a memory area is divided into a plurality of physical blocks, for example, a flash memory, and a memory for retrieving a physical address based on a logical address managed by a main controller. The present invention relates to a semiconductor memory device having a control unit.

【0002】[0002]

【従来の技術】メカニカルハードディスクに代えて半導
体ハードディスクを使用する試みがなされている。価格
及び容量の点ではメカニカルハードディスクの方に分が
あるが、スピード、消費電力、耐衝撃性、耐震動性、重
量、サイズ及び騒音の点では半導体ハードディスクの方
に分がある。半導体ハードディスクとしては、DRAM
やSRAMを使用することも検討されているが、最近に
おいてフラッシュメモリ(EEPROM:Electr
ically Erasable Programab
le ROM)が注目されている。その理由はフラッシ
ュメモリはバッテリーバックアップが不要であり、また
素子構造が簡単であるので集積度を上げやすく、安価に
量産できるなどの利点を持っているからである。
2. Description of the Related Art Attempts have been made to use a semiconductor hard disk instead of a mechanical hard disk. The mechanical hard disk has more in terms of price and capacity, but the semiconductor hard disk has more in terms of speed, power consumption, shock resistance, vibration resistance, weight, size and noise. DRAM as a semiconductor hard disk
Although the use of a flash memory or an SRAM has been considered, recently, a flash memory (EEPROM: Electr
ially Erasable Programmab
le ROM) is attracting attention. The reason is that the flash memory does not require a battery backup, and has the advantages that the element structure is simple, the degree of integration can be easily increased, and mass production can be performed at low cost.

【0003】フラッシュメモリはメモリ領域を複数のブ
ロック(エリア)に分割し、各ブロックにはデータ領域
と冗長領域とが含まれる。データ領域はデータが書き込
まれる領域であり、冗長領域は、ブロックの良否を示す
情報やデータに発生したエラーを検出、修正するための
ECCコードなどの管理情報が書き込まれる領域であ
る。またフラッシュメモリは一括消去型電気的書き換え
可能素子であるため、上書きができず、消去済みのブロ
ックでなければ書き込むことができない。例えば書き込
み単位は264バイト〜528バイトであり、消去単位
は528バイト〜64kバイトである。
A flash memory divides a memory area into a plurality of blocks (areas), and each block includes a data area and a redundant area. The data area is an area in which data is written, and the redundant area is an area in which management information such as ECC code for detecting and correcting an error occurring in the data and an error occurring in the data is written. Further, since the flash memory is a batch erasure type electrically rewritable element, overwriting cannot be performed, and writing cannot be performed unless the block has been erased. For example, the write unit is 264 bytes to 528 bytes, and the erase unit is 528 bytes to 64 kbytes.

【0004】更にブロック群の中には製造時から不良で
あるものが含まれている他、消去、書き込む回数が有限
であることから後天不良になることもあり、そのため各
ブロックの冗長領域に既述のように良、否の情報が格納
される。ブロック群の中には予備ブロックが用意されて
いて、あるブロックが不良になると、今までそのブロッ
クに割り当てられていた論理アドレスが予備ブロックに
振り替えられることになる。このようにフラッシュメモ
リは不良ブロックを許容しているため、ホストコンピュ
ータ例えばパーソナルコンピュータ側で管理している論
理アドレスの数の方が、フラッシュメモリの物理アドレ
ス(物理ブロックの位置情報)の数よりも少ない関係に
あること、及び寿命となったブロックの代替え機能を持
っていることが必要である。
[0004] In addition, some of the blocks are defective from the time of manufacture. In addition, since the number of times of erasing and writing is finite, acquired failures may occur. As described above, information on good or bad is stored. A spare block is prepared in the block group, and when a certain block becomes defective, the logical address assigned to that block is transferred to the spare block. As described above, since the flash memory allows a bad block, the number of logical addresses managed by the host computer, for example, the personal computer, is larger than the number of physical addresses (positional information of the physical blocks) of the flash memory. It is necessary to have a small relationship and to have a function of substituting a block whose life has expired.

【0005】こうしたことから論理アドレスに基づいて
物理ブロックをアクセスする手法として次のような手法
が知られている。
From the above, the following method is known as a method of accessing a physical block based on a logical address.

【0006】(1)一つの方法として、図8に示すよう
に、論理アドレスを、不良ブロックを避けて使用可能な
ブロックに係る物理アドレスに変換するためのテーブル
11を用いる。即ちメモリディスク1に設けられたメモ
リコントローラ12は、フラッシュメモリ13内の物理
ブロックにデータを書き込むときにその物理ブロックの
冗長領域に、当該物理ブロックに割り当てられた論理ア
ドレスを書き込み、このメモリディスク1が適用される
コンピュータを立上げるときに、各物理ブロックの冗長
領域を参照してその物理ブロックがいずれの論理アドレ
スと対応しているのかを把握して物理アドレスと論理ア
ドレスとの対応関係を示すテーブル11を作成する。従
ってある物理ブロックが不良となってその物理ブロック
の代替えの物理ブロックが使用されていてもこのテーブ
ル11を参照すれば、論理アドレスに対応する物理アド
レスが直ちに分かるので論理アドレスと物理アドレスと
の変換を高速に行うことができる。
(1) As one method, as shown in FIG. 8, a table 11 for converting a logical address into a physical address related to a usable block while avoiding a bad block is used. That is, when writing data to a physical block in the flash memory 13, the memory controller 12 provided in the memory disk 1 writes the logical address assigned to the physical block in a redundant area of the physical block, When starting a computer to which is applied, referring to the redundant area of each physical block, grasping which logical address the physical block corresponds to, and indicating the correspondence between the physical address and the logical address The table 11 is created. Therefore, even if a certain physical block is defective and a substitute physical block is used for the physical block, the physical address corresponding to the logical address can be immediately known by referring to this table 11, so that the conversion between the logical address and the physical address is performed. Can be performed at high speed.

【0007】(2)他の方法として、図9の概念図に示
すように論理アドレスと物理アドレスとを1対1で対応
させる。先天不良及び後天不良のいずれの不良物理ブロ
ックについても代替えの物理ブロックを使用し、論理ア
ドレスに対応する物理ブロックに一旦アクセスし、不良
である場合には、代替えの物理ブロックを順次検索す
る。
(2) As another method, as shown in the conceptual diagram of FIG. 9, a logical address is associated with a physical address on a one-to-one basis. The replacement physical block is used for any of the defective physical blocks of the congenital failure and the acquired failure, and the physical block corresponding to the logical address is accessed once. If the physical block is defective, the replacement physical block is sequentially searched.

【0008】[0008]

【発明が解決しようとする課題】アドレスの大容量化に
よりブロック数が増大する傾向にあるため、上記(1)
に記載した変換テーブル方式の場合、変換テーブルを格
納するための大容量のRAMを必要とし、またコンピュ
ータを立ち上げる度毎に変換テーブルの書き込みを行わ
なければならず、テーブルサイズが大型化するとその書
き込みに長い時間を要するので待ち時間が長くなってし
まう。
Since the number of blocks tends to increase due to an increase in the address capacity, the above (1)
The conversion table method described in (1) requires a large-capacity RAM for storing the conversion table, and the conversion table must be written each time the computer is started up. Since a long time is required for writing, the waiting time becomes long.

【0009】また上記(2)に記載したいわばリニアア
ドレス方式は、ブロックが多くても大容量のRAMを用
いなくて済むという利点はあるが、割り当てられた物理
ブロックが不良のときには予備ブロックを逐次検索して
代替えブロックを探さなければならず、アクセス時間が
極端に長くなる場合があり、例えばカメラの連写時のデ
ータ転送スピードに追いつかない場合が発生し得る。
The linear address method described in the above (2) has an advantage that a large-capacity RAM does not have to be used even if the number of blocks is large. However, when the allocated physical block is defective, the spare block is sequentially replaced. It is necessary to search for a substitute block, and the access time may be extremely long. For example, there may be a case where the data transfer speed cannot be kept up with the continuous data transfer speed of the camera.

【0010】本発明は、このような事情の下になされた
ものであり、その目的は論理アドレスと物理アドレスと
の変換に必要なメモリが小型なもので済み、また最長ア
クセス時間が短い半導体メモリ装置を提供することを目
的とする。
The present invention has been made under such circumstances, and has as its object to reduce the size of a memory required for conversion between a logical address and a physical address, and to provide a semiconductor memory having a shortest access time. It is intended to provide a device.

【0011】[0011]

【課題を解決するための手段】本発明は、メモリ領域を
複数の物理ブロックに分割し、各物理ブロックにはデ−
タ領域と冗長領域とが含まれる半導体メモリと、主制御
部で管理される論理アドレスに対応する物理ブロックを
前記冗長領域を参照して検索するメモリ制御部と、を有
する半導体メモリ装置において、以下のように構成され
たことを特徴とするものである。 a.物理ブロックの冗長領域には当該物理ブロックに割
り当てられる論理アドレスが書き込まれる第1領域と後
述の位置情報が書き込まれる第2領域とが含まれる。 b.論理アドレスを複数の系統に分け、同じ系統に属す
る論理アドレスが割り当てられる物理ブロックの集団を
連鎖集団として形成する。 c.物理ブロックの各連鎖集団においてはk(kは1以
上の整数)番目の物理ブロックの前記第2領域に、(k
+1)番目の物理ブロックの位置情報が書き込まれる。 d.メモリ制御部は検索対象となっている論理アドレス
がどの系統に属するのかを求め、その系統に対応する物
理ブロックの連鎖集団の1番目の物理ブロックから順に
論理アドレスを検索し、k番目の物理ブロックに当該論
理アドレスが割り当てられていればその物理ブロックに
対してアクセスを行い、割り当てられていなければ当該
k番目の物理ブロックの第2領域を参照して(k+1)
番目の物理ブロックを検索する機能を有する。
According to the present invention, a memory area is divided into a plurality of physical blocks, and each physical block has a data block.
A semiconductor memory including a data area and a redundant area, and a memory control unit that searches for a physical block corresponding to a logical address managed by the main control unit with reference to the redundant area. It is characterized by being constituted as follows. a. The redundant area of the physical block includes a first area in which a logical address assigned to the physical block is written and a second area in which position information described later is written. b. A logical address is divided into a plurality of systems, and a group of physical blocks to which logical addresses belonging to the same system are assigned is formed as a chain group. c. In each concatenated group of physical blocks, (k
The position information of the (+1) -th physical block is written. d. The memory control unit determines to which system the logical address to be searched belongs, and searches the logical address in order from the first physical block of the chain group of the physical blocks corresponding to the system, and finds the k-th physical block. If the logical address is assigned to the physical block, the physical block is accessed, and if not, the second area of the k-th physical block is referred to (k + 1).
It has a function of searching for the physical block of the number.

【0012】[0012]

【発明の実施の形態】本発明の実施の形態に係る半導体
メモリ装置は、主制御部例えばホストコンピュータで管
理している論理アドレスを複数の系統に分け、各系統の
論理アドレスを半導体メモリ例えばフラッシュメモリの
良品ブロック(良品の物理ブロック)に割り当てると共
に、同じ系統に属する論理アドレスが割り当てられる物
理ブロックの集団を連鎖集団として形成する点に特徴が
ある。例えばm個の論理アドレスを一つの系統にまと
め、第1系統、第2系統…第n系統に分けたとすると、
各系統に対応するフラッシュメモリのm個の物理ブロッ
クにおいて、1番目のブロックには2番目のブロックの
位置情報が書かれ、2番目のブロックには3番目のブロ
ックの位置情報が書かれ、…m−1番目のブロックには
m番目のブロックの位置情報が書かれ、こうして1番目
のブロックの位置情報が分かれば、順次ブロックをたど
っていくことができるように連鎖している。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In a semiconductor memory device according to an embodiment of the present invention, a logical address managed by a main control unit such as a host computer is divided into a plurality of systems, and a logical address of each system is divided into a semiconductor memory such as a flash memory. It is characterized in that a group of physical blocks to which logical addresses belonging to the same system are allocated is formed as a chained group, while being allocated to non-defective blocks (non-defective physical blocks) of the memory. For example, if m logical addresses are grouped into one system and divided into a first system, a second system,.
Of the m physical blocks of the flash memory corresponding to each system, the first block describes the position information of the second block, the second block describes the position information of the third block, and so on. The position information of the m-th block is written in the (m-1) -th block. If the position information of the first block is known in this way, the blocks are linked so that the blocks can be sequentially traced.

【0013】以下に全ブロック数が例えば16384、
最大不良ブロック数が例えば327であるフラッシュメ
モリを用い、論理アドレス数を例えば16000とした
半導体メモリ装置を例にとって説明する。フラッシュメ
モリにおいては、フラッシュメモリの良品ブロックを、
1000個を1グループとして16グループに分け、残
った良品ブロックは代替えのための予備ブロックとして
残しておく。図1はフラッシュメモリの各ブロックに論
理アドレスが割り当てられた状態を概念的に示す説明図
であり、論理アドレスの0〜999を第1グループに割
り当て、論理アドレスの1000から1999を第2グ
ループに割り当て、論理アドレスの2000から299
9を第3グループに割り当て、…論理アドレスの150
00から15999を第16グループに割り当てる。図
1において実線の枠は物理ブロック、枠内の数字は論理
アドレスを夫々示す。
The total number of blocks is, for example, 16384,
A description will be given of a semiconductor memory device using a flash memory having a maximum number of defective blocks of, for example, 327 and a logical address number of, for example, 16,000. In flash memory, good blocks of flash memory are
The 1000 blocks are divided into 16 groups as one group, and the remaining good blocks are left as spare blocks for replacement. FIG. 1 is an explanatory view conceptually showing a state in which logical addresses are allocated to each block of the flash memory. Logical addresses 0 to 999 are allocated to a first group, and logical addresses 1000 to 1999 are allocated to a second group. Assigned, logical address 2000 to 299
9 to the third group,... 150 logical addresses
00 to 15999 are assigned to the 16th group. In FIG. 1, a solid line frame indicates a physical block, and a number in the frame indicates a logical address.

【0014】この例においては論理アドレスの横の並び
が同一系統の論理アドレスに相当する。即ち0、100
0、2000、3000、…15000の論理アドレス
は第1系統に属し、1、1001、2001、3001
…15001の論理アドレスは第2系統に属し、…99
9、1999、2999、…15999は第1000系
統に属する。そして同じ系統に属する論理アドレスが割
り当てられた物理ブロック群、例えば第1系統の論理ア
ドレスが割り当てられた16個の物理ブロックにおいて
は、1グループの物理ブロックには2グループの物理ブ
ロックの位置を示す位置情報(物理アドレス)が予め書
き込まれ、2グループの物理ブロックには3グループの
物理アドレスが予め書き込まれ、…15グループの物理
ブロックには16グループの物理アドレスが予め書き込
まれている。これは他の系統についても同様である。
In this example, the horizontal arrangement of logical addresses corresponds to logical addresses of the same system. That is, 0, 100
The logical addresses 0, 2000, 3000,... 15000 belong to the first system, and 1, 1001, 2001, 3001
The logical address of 15001 belongs to the second system, and 99
9, 1999, 2999,... 15999 belong to the 1000th system. In a group of physical blocks to which logical addresses belonging to the same system are allocated, for example, in 16 physical blocks to which logical addresses of the first system are allocated, one group of physical blocks indicates the positions of two groups of physical blocks. Position information (physical addresses) is written in advance, three groups of physical addresses are written in two groups of physical blocks, and 16 groups of physical addresses are written in 15 groups of physical blocks. This is the same for other systems.

【0015】このような物理ブロックの連鎖について、
図2に示すようにフラッシュメモリの構成と共に説明す
ると、フラッシュメモリの各物理ブロックは、データを
書き込むためのデータ領域とその物理ブロックの管理情
報を書き込むための冗長領域とを備えている。冗長領域
は、その物理ブロックに割り当てられた論理アドレスを
書き込むための第1領域と、当該物理ブロックに係るグ
ループの次のグループに属する物理ブロックの位置情報
(物理アドレス)を書き込むための第2領域とを備え、
更にデータ読み出し時のエラー検出のためのECCなど
を書き込む領域や物理ブロックの良否の情報を書き込む
領域などを含んでいる。
For such a chain of physical blocks,
2, the physical block of the flash memory includes a data area for writing data and a redundant area for writing management information of the physical block. The redundant area includes a first area for writing a logical address assigned to the physical block and a second area for writing position information (physical address) of a physical block belonging to a group next to a group related to the physical block. With
Further, it includes an area for writing ECC and the like for error detection at the time of data reading, an area for writing information on the quality of a physical block, and the like.

【0016】図2において便宜上先頭に「A」を付した
符号を物理アドレスとすると、良品の物理ブロックの冗
長領域の第1領域には、予めその物理ブロックに割り当
てられた論理アドレスが書き込まれている。この例では
物理アドレスがA0から始まってA15999までの物
理ブロックを主メモリ領域とし、A0には論理アドレス
0を、A1には論理アドレス1を、…A15999には
論理アドレス15999を夫々割り当てると共に、A1
6000以降の物理ブロックを予備ブロックとしてい
る。
In FIG. 2, for convenience, if a code preceded by "A" is a physical address, a logical address previously assigned to the physical block is written in a first area of a redundant area of a non-defective physical block. I have. In this example, a physical block whose physical address starts from A0 and extends to A15999 is used as a main memory area. A0 is assigned a logical address 0, A1 is assigned a logical address 1,... A15999 is assigned a logical address 15999, and A1999 is assigned a logical address 15999.
The physical blocks after 6000 are set as spare blocks.

【0017】そして論理アドレス0が割り当てられた第
1グループの物理ブロック(A0)の冗長領域の第2領
域には、第2グループの論理アドレス1000が割り当
てられた物理アドレスつまりA1000が書き込まれて
おり、論理アドレス1000が割り当てられた第2グル
ープの物理ブロック(A1000)の冗長領域の第2領
域には、論理アドレス2000が割り当てられた第3グ
ループの物理アドレスつまりA2000が書き込まれて
いる。即ち論理アドレス0、1000、2000…15
000は第1系統に属するので、この第1系統の論理ア
ドレスが割り当てられた物理ブロックA0、A100
0、A2000…A15000の冗長領域の第2領域に
は、各物理ブロックの次の物理ブロックのアドレスが書
き込まれる。
In the second area of the redundant area of the physical block (A0) of the first group to which the logical address 0 is allocated, the physical address to which the logical address 1000 of the second group is allocated, that is, A1000 is written. In the second area of the redundant area of the physical block (A1000) of the second group to which the logical address 1000 is assigned, the physical address of the third group to which the logical address 2000 is assigned, that is, A2000 is written. That is, logical addresses 0, 1000, 2000... 15
000 belongs to the first system, the physical blocks A0 and A100 to which the logical addresses of the first system are assigned.
In the second area of the redundant area of 0, A2000... A15000, the address of the next physical block of each physical block is written.

【0018】ここで、後述のメモリコントローラ側で
は、第1系統に係る物理アドレスは把握していないが、
先頭の物理ブロックのアドレスがA0であることが分か
れば、後は第2領域を順次たどっていくことにより連鎖
集団をなす16個の物理ブロックの位置を把握すること
ができる。第1系統を例にとって述べたが、第2系統以
降の各系統についても同様である。
Here, the memory controller described later does not know the physical address relating to the first system,
If it is known that the address of the first physical block is A0, the position of the 16 physical blocks forming the chained group can be grasped by sequentially following the second area. Although the first system has been described as an example, the same applies to each system after the second system.

【0019】次に本実施の形態に係る半導体メモリ装置
のハード構成について図3を参照しながら説明すると、
2は半導体メモリ装置に相当するメモリディスクであ
り、このメモリディスク2は、上述のように構成された
複数のフラッシュメモリ3、メモリ制御部であるメモリ
コントローラ4及びアドレステーブル5を備えている。
メモリコントローラ4はインターフェイス21を介して
主制御部であるホストコンピュータ6に接続されてお
り、ホストコンピュータ6から送られたデータを、その
データに係る論理アドレスに対応するフラッシュメモリ
3の物理ブロックに書き込み、またホストコンピュータ
6にて指定された論理アドレスに対応するフラッシュメ
モリ3内のデータを読み出してホストコンピュータ6に
送る機能を有している。
Next, the hardware configuration of the semiconductor memory device according to the present embodiment will be described with reference to FIG.
Reference numeral 2 denotes a memory disk corresponding to a semiconductor memory device. The memory disk 2 includes a plurality of flash memories 3 configured as described above, a memory controller 4 as a memory control unit, and an address table 5.
The memory controller 4 is connected to the host computer 6 as a main control unit via the interface 21, and writes data sent from the host computer 6 to a physical block of the flash memory 3 corresponding to a logical address related to the data. The host computer 6 has a function of reading data in the flash memory 3 corresponding to the logical address specified by the host computer 6 and sending the data to the host computer 6.

【0020】メモリコントローラ4は、機能的なブロッ
クとして捉えると演算部41、検索部42及び処理部4
3を備えている。演算部41は、ホストコンピュータ6
側から指定された論理アドレスがいずれの系統に属する
のかを演算により求める機能を有し、図1及び図2に示
した例でいえば、論理アドレス番号を系統数で割り算
し、その余りを求めることにより系統番号が得られるよ
うに構成されている。例えば論理アドレス番号が500
9であれば、系統数1000で割り算することによりそ
の余りが9であるから、系統番号は9となる。
The memory controller 4 includes an arithmetic unit 41, a search unit 42, and a processing unit 4 as functional blocks.
3 is provided. The arithmetic unit 41 is a host computer 6
Has a function of calculating which system the logical address specified by the side belongs to. In the example shown in FIGS. 1 and 2, the logical address number is divided by the number of systems and the remainder is obtained. Thus, the system number is obtained. For example, if the logical address number is 500
If it is 9, the remainder is 9 by dividing by the number of systems of 1000, so the system number is 9.

【0021】アドレステーブル5は論理アドレスの系統
番号がいずれのフラッシュメモリ3の1グループのいず
れの物理ブロックのアドレスに対応するのかを示すテー
ブルであり、例えばRAM内に格納されている。ただし
前記検索部42は、演算部41で求めた系統番号に対応
するフラッシュメモリ3の1グループの物理ブロックの
アドレスをアドレステーブル5を参照して求め、その物
理ブロックのアドレスから順に論理アドレスを検索する
機能を有する。この検索は、既述したように1グループ
の物理ブロックから順に第2領域の位置情報をたどって
いくことにより、論理アドレスに割り当てられた物理ブ
ロックを見つける処理である。
The address table 5 is a table indicating which physical block address of one group of the flash memory 3 corresponds to the system number of the logical address, and is stored in, for example, a RAM. However, the search unit 42 obtains the address of one group of physical blocks of the flash memory 3 corresponding to the system number obtained by the arithmetic unit 41 with reference to the address table 5, and searches the logical addresses in order from the address of the physical block. It has a function to do. This search is processing for finding a physical block assigned to a logical address by following the position information of the second area sequentially from one group of physical blocks as described above.

【0022】また前記処理部43は、検索部42により
論理アドレスに対応する物理ブロックが探し当てられた
後、その物理ブロックのデータ領域に、ホストコンピュ
ータ6から送られてきたデータを書き込んだりあるいは
物理ブロックのデータ領域からデータを読み出したりす
る機能を有する。
After the search unit 42 finds a physical block corresponding to the logical address, the processing unit 43 writes the data sent from the host computer 6 into the data area of the physical block, And has a function of reading data from the data area.

【0023】このような半導体メモリ装置の動作につい
て述べる。フラッシュメモリ3の良品の物理ブロックの
第1領域にはそのブロックに割り当てられる論理アドレ
スを、第2領域には次の物理ブロックの位置情報(物理
アドレス)を夫々予め書き込んでおく。コンピュータを
用いて制御を行う場合、データの書き込み速度よりも読
み出し速度が問題であり、本実施の形態では読み出しの
高速化を図れる点が一つの利点であるが、読み出し動作
についてふれる前に、データの書き込み動作について図
4及び図5を参照しながら述べておく。
The operation of such a semiconductor memory device will be described. The logical address assigned to the non-defective physical block of the flash memory 3 is written in the first area, and the position information (physical address) of the next physical block is written in the second area in advance. When control is performed using a computer, the reading speed is more problematic than the data writing speed, and one advantage of this embodiment is that the reading speed can be increased. Will be described with reference to FIGS. 4 and 5. FIG.

【0024】今図4のステップS1で示すようにホスト
コンピュータ6からある論理アドレスnに対してデータ
の書き込み命令がメモリディスク2に送られたとする
と、ステップS2にて演算部41により論理アドレスn
がどの系統に属するのかを演算により求める。例えば図
1の例でnが2002であれば、2002を系統数10
00で割った余りは2であり、この論理アドレスnは系
統番号2に属していることが分かる。
Assuming that a command to write data to a certain logical address n is sent from the host computer 6 to the memory disk 2 as shown in step S1 in FIG.
To which system belongs to by calculation. For example, if n is 2002 in the example of FIG.
The remainder obtained by dividing by 00 is 2, which indicates that the logical address n belongs to the system number 2.

【0025】そして検索部42によりアドレステーブル
5を参照して系統番号に対応するフラッシュメモリ3の
第1グループの物理ブロックのアドレスを求める(ステ
ップS3)。なお実際にはフラッシュメモリ3は複数設
けられているので、論理アドレスの系統番号に対応する
フラッシュメモリとそのフラッシュメモリ内の物理ブロ
ックのアドレスとが求まるのであるが、この動作説明で
は便宜上フラッシュメモリが1個であるとして取り扱
う。そして前記系統番号に対応する物理ブロックの連鎖
集団の1番目の物理ブロックから順に冗長領域の第1領
域を参照して、論理アドレスnが割り当てられている物
理ブロックを検索する。この検索は、ステップS4〜S
7に相当する。
The address of the physical block of the first group of the flash memory 3 corresponding to the system number is obtained by the search unit 42 with reference to the address table 5 (step S3). Since a plurality of flash memories 3 are actually provided, a flash memory corresponding to a system number of a logical address and an address of a physical block in the flash memory are obtained. Handle as one. Then, referring to the first area of the redundant area in order from the first physical block of the chain group of the physical blocks corresponding to the system number, the physical block to which the logical address n is assigned is searched. This search is performed in steps S4 to S
Equivalent to 7.

【0026】図2に示すように例えばnが2002であ
れば、対応する物理ブロックの連鎖集団の1番目の物理
ブロックの位置(アドレス)はA2であり、先ずA2の
第1領域を参照する。ここに書かれている論理アドレス
は2であるから、A2の第2領域を参照して2番目の物
理ブロックの位置を把握する。次に2番目の物理ブロッ
クA1002に対しても同様の検索を行い、連鎖してい
る物理ブロックを順次たどっていくと、この例では3番
目のA2002の物理ブロックにて論理アドレス200
2が割り当てられており、この物理ブロックにデータを
書き込む(ステップS8)。
As shown in FIG. 2, for example, if n is 2002, the position (address) of the first physical block in the chain of corresponding physical blocks is A2, and the first area of A2 is referred to first. Since the logical address written here is 2, the position of the second physical block is ascertained by referring to the second area of A2. Next, the same search is performed on the second physical block A1002, and the physical blocks in the chain are sequentially traced. In this example, the logical address 200 in the third physical block A2002 is obtained.
2 is assigned, and data is written to this physical block (step S8).

【0027】そしてデータが書き込めたか否かを判断し
て(図5に示すステップS9)、書き込めればフローを
終了し、書き込めなければその物理ブロックは不良であ
るから「書き込み」のフラグを立てず、予備ブロックの
空きブロックに代替させて当該空きブロックのデータ領
域にデータを書き込むと共に、割り当てられている論理
アドレスを第1領域に書き込み、更に第2領域に次の
(k+1番目の)物理ブロックのアドレスを書き込む
(ステップS10)。
Then, it is determined whether or not the data has been written (step S9 shown in FIG. 5). If the data can be written, the flow is terminated. If the data cannot be written, the physical block is defective and the "write" flag is not set. The data is written in the data area of the empty block in place of the empty block of the spare block, the assigned logical address is written in the first area, and the next (k + 1) th physical block is written in the second area. The address is written (step S10).

【0028】ただしこのままでは次の検索のときに、こ
の空きブロックの位置を見つけることができないので、
kが1であるか否か(物理ブロックが先頭であるか否
か)を判断し(ステップS11)、kが1でなければ、
一つ前の(k−1番目の)物理ブロックの第2領域に、
当該空きブロックの位置を書き込み、連鎖が途切れない
ようにしておく(ステップS12)。kが1であればア
ドレステーブル5における、対応する物理ブロックの位
置情報を予備ブロックの位置情報に書き換える(ステッ
プS13)。
However, as it is, the position of the empty block cannot be found in the next search.
It is determined whether or not k is 1 (whether or not the physical block is the head) (step S11).
In the second area of the previous (k-1) th physical block,
The position of the empty block is written so that the chain is not interrupted (step S12). If k is 1, the position information of the corresponding physical block in the address table 5 is rewritten to the position information of the spare block (step S13).

【0029】図6は、論理アドレス2002を物理ブロ
ックA2002に書き込もうとしたところ、不良になっ
ていた場合を示し、予備ブロックの例えばA16000
のブロックが代替使用されている。この場合には不良ブ
ロックA2002の1つ前の物理ブロックA1002の
第2領域に書かれている位置情報がA2002からA1
6000に書き換えられる。
FIG. 6 shows a case where an attempt was made to write the logical address 2002 into the physical block A2002 and it was found to be defective.
Blocks are being used instead. In this case, the position information written in the second area of the physical block A1002 immediately before the bad block A2002 is changed from A2002 to A1.
Rewritten to 6000.

【0030】またフラッシュメモリ3からデータを読み
出す場合にも図4のステップS1〜S8と同様にしてメ
モリコントローラ4が論理アドレスに対応する物理ブロ
ックを検索し、対応する物理ブロックからデータを読み
出す。例えば図5に示したように予備メモリ領域のA1
6000に割り当てられた論理アドレスのデータを読み
出す場合、1グループのA2の物理ブロックから順にた
どっていき、第2グループのA1002の物理ブロック
の第2領域には、A16000が既に書き込まれている
ので(図6の状態はA16000に書き換えられる前で
ある)、A16000の物理ブロックにたどり着くこと
ができる。なお上述の説明では便宜上物理ブロックのア
ドレスは連続番号としてあるが、先天不良の物理ブロッ
クが含まれている場合には、そのブロックは使用されな
いので欠番とされる。
When reading data from the flash memory 3, the memory controller 4 searches for a physical block corresponding to a logical address and reads data from the corresponding physical block in the same manner as in steps S1 to S8 in FIG. For example, as shown in FIG.
When reading the data of the logical address assigned to 6000, the data is sequentially traced from the A2 physical block of one group, and A16000 has already been written to the second area of the A1002 physical block of the second group ( Before the state of FIG. 6 is rewritten to A16000), the physical block of A16000 can be reached. In the above description, the addresses of the physical blocks are represented by serial numbers for convenience. However, if a physical block with a congenital failure is included, the block is not used and is therefore omitted.

【0031】上述実施の形態によれば、論理アドレスと
物理アドレスとの変換にテーブルを必要とするが、従来
の変換テーブル法(図8の方法)のようにすべての論理
アドレスと物理アドレスとの対応付けを行うのではな
く、論理アドレスが属する系統番号と物理ブロックの連
鎖集団の先頭の物理アドレスとの対応付けを行うもので
あるから、RAMのサイズが変換テーブル法に比べて例
えば約1/17程度で済む。変換テーブル法のメモリ
は、例えば16個のフラッシュメモリを管理するだけで
3,670,016ビット必要となる。これは4Mビッ
トSRAM1個に相当する。
According to the above-described embodiment, a table is required for conversion between a logical address and a physical address. However, as in the conventional conversion table method (method of FIG. 8), all logical addresses and physical addresses are converted. Rather than performing the association, the system number to which the logical address belongs and the physical address at the head of the concatenated group of physical blocks are associated with each other. Only about 17 is needed. The memory of the conversion table method requires 3,670,016 bits only for managing, for example, 16 flash memories. This corresponds to one 4 Mbit SRAM.

【0032】これに比べ、連鎖法では256,000ビ
ットで済み、256kビットSRAM1個で足りる。そ
してアクセスについては、予備ブロック領域を使用して
いるか否かにかかわらず、最大でも16回、平均で8回
であり、変換テーブル法よりは長いが、十分な高速性を
確保できる。従来のリニアアドレス法(図8の方法)で
は確率的には少ないが、既述のように非常に長い場合が
起こり得る。本実施の形態では最低転送スピードが保証
されているので、カメラの転写時のデータ転送スピード
に追いつかなくなるといったおそれもない。
On the other hand, the chain method requires only 256,000 bits, and one 256 kbit SRAM is sufficient. Regarding access, regardless of whether the spare block area is used or not, the maximum is 16 times and the average is 8 times, which is longer than the conversion table method, but sufficient speed can be secured. Although the conventional linear address method (the method of FIG. 8) has a small probability, a very long case may occur as described above. In the present embodiment, since the minimum transfer speed is guaranteed, there is no possibility that the data transfer speed at the time of transfer by the camera cannot be caught.

【0033】本実施の形態(連鎖法)と従来方法とにつ
いて、上述の例に基づき、性能比較を行うと次のように
表わせる。
The performance comparison between the present embodiment (chain method) and the conventional method can be expressed as follows based on the above-described example.

【0034】 変換テーブル法 リニアアドレス法 連鎖法 最大読出回数 1 384 16 RAMサイズ 16384w/14bit 0 1000w/10bit 以上において上述の実施の形態では、連鎖集団の先頭の
物理ブロックから一つ一つ論理アドレスが割り当てられ
ている物理ブロックであるか否かを検索しているが、メ
モリコントローラ4にて、ホストコンピュータ6から指
定された論理アドレスがどの系統に属するかのみなら
ず、連鎖集団の何番目の物理ブロックに対応するのかを
も求め、一つ一つの物理ブロックに対して論理アドレス
のマッチングを判定することなく、その順番位置の物理
ブロックまで一気にたどっていって当該物理ブロックの
データを読み出す、あるいは当該物理ブロックにデータ
を書き込むようにしてもよい。
Conversion Table Method Linear Address Method Chain Method Maximum Number of Reads 1 384 16 RAM Size 16384w / 14bit 0 1000w / 10bit In the above-described embodiment, in the above-described embodiment, logical addresses are read one by one from the first physical block of the chain group. Although the search is performed to determine whether the block is an assigned physical block, the memory controller 4 determines not only which system the logical address specified by the host computer 6 belongs to, but also which physical block in the chain group. It also asks whether it corresponds to a block, without determining logical address matching for each physical block, traces the physical block at that order position at a stretch and reads the data of the physical block, or Data may be written to a physical block.

【0035】上述の例でいえば、演算部41にて論理ア
ドレスの番号を系統数で割った商に1を加えた値が順番
位置となる。例えば論理アドレスが2002であれば系
統数1000で割った商は2であるから、物理ブロック
の順番位置は3番となる。このような手法でデータを読
み出す場合のフローチャートを図6に示す。即ち論理ア
ドレスnの読み出し命令に基づき(ステップS1)、そ
の論理アドレスnの連鎖集団の順番位置を求める(ステ
ップS2)と共に、アドレステーブルを参照して第1グ
ループの物理ブロックアドレスを求め(ステップS
3)、連鎖集団の物理ブロックを前記順番位置までたど
っていって(ステップS4)、その物理ブロックのデー
タを読み出す(ステップS5)。
In the example described above, the value obtained by adding 1 to the quotient obtained by dividing the logical address number by the number of systems in the arithmetic unit 41 is the order position. For example, if the logical address is 2002, the quotient obtained by dividing the number of systems by 1000 is 2, so the physical block is in the third position. FIG. 6 shows a flowchart when data is read by such a method. That is, based on the read instruction of the logical address n (step S1), the order position of the chain group of the logical address n is obtained (step S2), and the physical block address of the first group is obtained by referring to the address table (step S1).
3) The physical blocks of the linked group are traced to the order position (step S4), and the data of the physical blocks is read (step S5).

【0036】以上において論理アドレスは主制御部例え
ばホストコンピュータで管理されるものであるが、メモ
リディスク装置に対するデータのアクセスは、CPUを
介在させることに限られるものではなく、例えばダイレ
クトアクセスメモリ(DMA)との間で行う場合も本発
明に含まれる。なお半導体メモリとしては不良ブロック
を許容するものであればフラッシュメモリに限られな
い。
In the above description, the logical address is managed by the main control unit, for example, the host computer. However, the access of data to the memory disk device is not limited to the intervention of the CPU, but may be, for example, a direct access memory (DMA). ) Is included in the present invention. Note that the semiconductor memory is not limited to a flash memory as long as it allows a defective block.

【0037】[0037]

【発明の効果】以上のように本発明の半導体メモリ装置
は、論理アドレスと物理アドレスとの交換に必要なメモ
リが小型なもので済み、また最長アクセス時間が短いと
いう効果がある。
As described above, the semiconductor memory device of the present invention has the effects that the memory required for exchanging the logical address and the physical address is small and the longest access time is short.

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

【図1】本発明の実施の形態に係るフラッシュメモリの
各物理ブロックに論理アドレスが割り当てられた状態を
概念的に示す説明図である。
FIG. 1 is an explanatory diagram conceptually showing a state in which a logical address is assigned to each physical block of a flash memory according to an embodiment of the present invention.

【図2】フラッシュメモリの構成と物理ブロックが連鎖
している状態とを示す説明図である。
FIG. 2 is an explanatory diagram showing a configuration of a flash memory and a state in which physical blocks are linked.

【図3】本発明の実施の形態に係る半導体メモリ装置の
ハード構成について示すブロック図である。
FIG. 3 is a block diagram illustrating a hardware configuration of the semiconductor memory device according to the embodiment of the present invention;

【図4】フラッシュメモリにデータを書き込むときの動
作を示すフローチャートである。
FIG. 4 is a flowchart showing an operation when writing data to a flash memory.

【図5】フラッシュメモリにデータを書き込むときの動
作を示すフローチャートである。
FIG. 5 is a flowchart showing an operation when writing data to a flash memory.

【図6】フラッシュメモリの構成と物理ブロックが連鎖
している状態とを示す説明図である。
FIG. 6 is an explanatory diagram showing a configuration of a flash memory and a state in which physical blocks are linked.

【図7】本発明の他の実施の形態においてフラッシュメ
モリからデータを読み出すときの動作を示すフローチャ
ートである。
FIG. 7 is a flowchart showing an operation when reading data from a flash memory in another embodiment of the present invention.

【図8】従来の半導体メモリ装置において物理アドレス
を検索する手法の一例を示す説明図である。
FIG. 8 is an explanatory diagram showing an example of a method of searching for a physical address in a conventional semiconductor memory device.

【図9】従来の半導体メモリ装置において物理アドレス
を検索する手法の他の例を示す説明図である。
FIG. 9 is an explanatory diagram showing another example of a method of searching for a physical address in a conventional semiconductor memory device.

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

2 メモリディスク 3 フラッシュメモリ 4 メモリコントローラ 41 演算部 42 検索部 43 処理部 5 アドレステーブル 6 ホストコンピュータ 2 Memory Disk 3 Flash Memory 4 Memory Controller 41 Operation Unit 42 Search Unit 43 Processing Unit 5 Address Table 6 Host Computer

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 メモリ領域を複数の物理ブロックに分割
し、各物理ブロックにはデ−タ領域と冗長領域とが含ま
れる半導体メモリと、主制御部で管理される論理アドレ
スに対応する物理ブロックを前記冗長領域を参照して検
索するメモリ制御部と、を有する半導体メモリ装置にお
いて、 以下のように構成されたことを特徴とする半導体メモリ
装置。 a.物理ブロックの冗長領域には当該物理ブロックに割
り当てられる論理アドレスが書き込まれる第1領域と後
述の位置情報が書き込まれる第2領域とが含まれる。 b.論理アドレスを複数の系統に分け、同じ系統に属す
る論理アドレスが割り当てられる物理ブロックの集団を
連鎖集団として形成する。 c.物理ブロックの各連鎖集団においてはk(kは1以
上の整数)番目の物理ブロックの前記第2領域に、(k
+1)番目の物理ブロックの位置情報が書き込まれる。 d.メモリ制御部は検索対象となっている論理アドレス
がどの系統に属するのかを求め、その系統に対応する物
理ブロックの連鎖集団の1番目の物理ブロックから順に
論理アドレスを検索し、k番目の物理ブロックに当該論
理アドレスが割り当てられていればその物理ブロックに
対してアクセスを行い、割り当てられていなければ当該
k番目の物理ブロックの第2領域を参照して(k+1)
番目の物理ブロックを検索する機能を有する。
A memory area is divided into a plurality of physical blocks. Each physical block includes a semiconductor memory including a data area and a redundant area, and a physical block corresponding to a logical address managed by a main control unit. And a memory control unit for searching by referring to the redundant area. A semiconductor memory device having the following configuration. a. The redundant area of the physical block includes a first area in which a logical address assigned to the physical block is written and a second area in which position information described later is written. b. A logical address is divided into a plurality of systems, and a group of physical blocks to which logical addresses belonging to the same system are assigned is formed as a chain group. c. In each concatenated group of physical blocks, (k is an integer equal to or greater than 1) in the second region of the k-th physical block, (k
The position information of the (+1) -th physical block is written. d. The memory control unit determines to which system the logical address to be searched belongs, and searches the logical address in order from the first physical block of the chain group of the physical blocks corresponding to the system, and finds the k-th physical block. If the logical address is assigned to the physical block, the physical block is accessed, and if not, the second area of the k-th physical block is referred to (k + 1).
It has a function of searching for the physical block of the number.
JP22040396A 1996-08-02 1996-08-02 Semiconductor memory device Expired - Fee Related JP3303011B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22040396A JP3303011B2 (en) 1996-08-02 1996-08-02 Semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22040396A JP3303011B2 (en) 1996-08-02 1996-08-02 Semiconductor memory device

Publications (2)

Publication Number Publication Date
JPH1049447A true JPH1049447A (en) 1998-02-20
JP3303011B2 JP3303011B2 (en) 2002-07-15

Family

ID=16750577

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22040396A Expired - Fee Related JP3303011B2 (en) 1996-08-02 1996-08-02 Semiconductor memory device

Country Status (1)

Country Link
JP (1) JP3303011B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004151939A (en) * 2002-10-30 2004-05-27 Matsushita Electric Ind Co Ltd Storage device
JP2007164318A (en) * 2005-12-12 2007-06-28 Renesas Technology Corp Storage system
US7949852B2 (en) 2007-02-20 2011-05-24 Megachips Corporation Memory system, computer system and memory

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004151939A (en) * 2002-10-30 2004-05-27 Matsushita Electric Ind Co Ltd Storage device
JP2007164318A (en) * 2005-12-12 2007-06-28 Renesas Technology Corp Storage system
US7949852B2 (en) 2007-02-20 2011-05-24 Megachips Corporation Memory system, computer system and memory

Also Published As

Publication number Publication date
JP3303011B2 (en) 2002-07-15

Similar Documents

Publication Publication Date Title
KR100457812B1 (en) Flash memory, access apparatus and method using flash memory
US6172906B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6542405B2 (en) Semiconductor memory device having faulty cells
US6865658B2 (en) Nonvolatile data management system using data segments and link information
USRE45222E1 (en) Method of writing of writing to a flash memory including data blocks and log blocks, using a logical address having a block address portion and page identifying portion, a block address table and a page table
US5530673A (en) Flash memory control method and information processing system therewith
US20050055493A1 (en) [method for accessing large block flash memory]
US5651132A (en) Disk array control system
US20080016267A1 (en) Memory controller, flash memory system having memory controller, and method for controlling flash memory
JP2007520842A (en) Adaptive deterministic grouping of blocks into multi-block units
JPH11126488A (en) Method and device for storing and controlling data of external memory using plural flash memories
JPH06250798A (en) Batch erasure type nonvolatile memory and semiconductor disk device using it
CN109952565B (en) Memory access techniques
US6839798B1 (en) Flash memory capable of storing frequently rewritten data
JPH08328762A (en) Semiconductor disk device and memory management method therefor
KR100526178B1 (en) Access apparatus and method using flash memory
JP4460967B2 (en) MEMORY CARD, NONVOLATILE SEMICONDUCTOR MEMORY, AND SEMICONDUCTOR MEMORY CONTROL METHOD
CN113076218B (en) Method for rapidly processing data reading errors of NVM (non-volatile memory) chip and controller thereof
JP3122222B2 (en) Memory card device
JP2012058770A (en) Memory controller, flash memory system equipped with memory controller and control method of flash memory
JP2002109895A (en) Semiconductor storage device
US6772289B1 (en) Methods and apparatus for managing cached CRC values in a storage controller
JP2000285001A (en) Semiconductor flash memory device and its control method
JP3808842B2 (en) Storage device having rewritable nonvolatile memory and control method of nonvolatile memory for storage device
JP3303011B2 (en) Semiconductor memory device

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees