JPH1091490A - Storage device using flash memory - Google Patents

Storage device using flash memory

Info

Publication number
JPH1091490A
JPH1091490A JP24212496A JP24212496A JPH1091490A JP H1091490 A JPH1091490 A JP H1091490A JP 24212496 A JP24212496 A JP 24212496A JP 24212496 A JP24212496 A JP 24212496A JP H1091490 A JPH1091490 A JP H1091490A
Authority
JP
Japan
Prior art keywords
data
area
flash memory
history information
storing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP24212496A
Other languages
Japanese (ja)
Inventor
Haruaki Kanbara
春明 神原
Shigemi Kahara
成美 花原
Takahiro Yamashita
隆弘 山下
Masaya Amisaki
真哉 網崎
Isao Umezawa
功 梅沢
Fumitaka Urakawa
文隆 浦川
Koji Maeda
浩司 前田
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 Sanyo Electric Co Ltd
Sanyo Electric Co Ltd
Original Assignee
Tokyo Sanyo Electric Co Ltd
Tottori Sanyo Electric Co Ltd
Sanyo Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Sanyo Electric Co Ltd, Tottori Sanyo Electric Co Ltd, Sanyo Electric Co Ltd filed Critical Tokyo Sanyo Electric Co Ltd
Priority to JP24212496A priority Critical patent/JPH1091490A/en
Publication of JPH1091490A publication Critical patent/JPH1091490A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve data updating speed by forming plural history information areas for storing history information storing a logical address which is permitted to correspond to respective data areas and also is stored in an allocation area corresponding to the respective data areas inside a flash memory. SOLUTION: The respective blocks of the flash memory 3 are divided into a data area 5 storing 512 byte data, an allocation area 6 storing a two-byte logical address and a history information area 7 storing information which indicates times for storing the same two-byte logical address and remaining 12 bytes are used as the storing area 8 of the ECC data, etc., as shown in terms of a type. Then, a flash memory control part reads and writes data in the flash memory 3 based on address data supplied under the control of a main control part and new data so as to be constituted by exclusive gate array and a one-chip microcomputer. Thus, data is change without requiring removal.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明はフラッシュメモリを
利用した記憶装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a storage device using a flash memory.

【0002】[0002]

【従来の技術】フラッシュメモリはバッテリバックアッ
プなしに半永久的にメモリ内容を保持可能であり、か
つ、アクセスに関しては半導体メモリと同様に電気的に
行なえるため、FD(フロッピィディスク)やHD(ハ
ードディスク)等のディスク型の記憶装置に換わる記憶
装置として期待されている。
2. Description of the Related Art A flash memory can semi-permanently retain the memory contents without a battery backup, and can be electrically accessed similarly to a semiconductor memory. Therefore, a flash memory (FD) or a hard disk (HD) It is expected as a storage device that replaces a disk-type storage device such as the above.

【0003】しかし、フラッシュメモリのデータ消去は
最低でも数Kバイト単位で行わなければならず、1バイ
トのデータを消去又は変更する際には、まず変更対象と
なる1バイトを含む数Kバイトのデータを半導体RAM
等の別のメモリに待避した後、上記数Kバイトの領域を
消去し、その後待避した数Kバイトのデータをフラッシ
ュメモリ上に書込まなければならず、時間がかかるとい
う問題があった。
However, data erasing of the flash memory must be performed at least in units of several kilobytes, and when erasing or changing one byte of data, first, several kilobytes of data including one byte to be changed are erased. Data to semiconductor RAM
After evacuating to another memory, the area of several Kbytes must be erased and then the saved several Kbytes of data must be written to the flash memory, which takes time.

【0004】そこで、米国特許第5,404,485号
明細書には、フラッシュメモリ中のデータを格納すべき
データエリア毎に対応するアロケーションエリアを設
け、このアロケーションエリアに対応するデータエリア
の論理アドレス又は更新済であることを示すデータを格
納可能としておき、データエリア中の既格納データに対
する書替は、この既格納データエリアに対して書替処理
を行なうのではなく、空きのデータエリアに新規データ
を書込み、このデータエリアと対応するアロケーション
エリアに上記既格納データの論理アドレスを書込むと共
に既格納データに対応したアロケーションエリアのデー
タを更新済であることを示すデータに書替えることによ
りデータエリアの書替処理を省略することによりデータ
更新速度を向上する方法が開示されている。
In US Pat. No. 5,404,485, an allocation area corresponding to each data area in the flash memory where data is to be stored is provided, and a logical address of the data area corresponding to the allocation area is provided. Alternatively, data indicating that the data has been updated can be stored, and the rewriting of the stored data in the data area is not performed by rewriting the stored data area, but is performed by newly writing in the empty data area. The data area is written by writing the data, writing the logical address of the stored data into the allocation area corresponding to the data area, and rewriting the data in the allocation area corresponding to the stored data with data indicating that the data has been updated. Data update speed by omitting the rewriting process of The law has been disclosed.

【0005】[0005]

【発明が解決しようとする課題】しかし、この米国特許
に開示された方法は、消去単位は数Kバイトであるが、
データの書き込みは1バイト毎に行なえる所謂NOR型
と称されるフラッシュメモリを対象としているものであ
り、書込み単位が数百バイトとなるNAND型のフラッ
シュメモリには適用できないのである。
However, according to the method disclosed in this U.S. Patent, although the erasure unit is several kilobytes,
The data writing is intended for a so-called NOR type flash memory which can be performed for each byte, and cannot be applied to a NAND type flash memory having a writing unit of several hundred bytes.

【0006】即ち、フラッシュメモリでは、NOR型、
NAND型共に電気的に無チャージ状態の論理「1」か
らチャージ状態の論理「0」への変更は、チャージ状態
から無チャージ状態にする所謂「データ消去」に比して
容易に行なえるという特徴があり、従って、上記更新済
を示すデータを例えばオール「0」のデータとして規定
しておけば、NOR型ではアロケーションエリアの論理
アドレスデータをオール「0」の更新済データに変更す
ることは容易に行なえる。しかし、NAND型では、1
バイト単位での書込みが行なえないため、上記米国特許
に記載の発明は採用できないのである。
That is, in a flash memory, a NOR type,
The change from logic "1" in the electrically uncharged state to logic "0" in the charged state in both the NAND type can be easily performed as compared to the so-called "data erase" in which the charge state is changed to the uncharged state. Therefore, if the data indicating the update is defined as, for example, data of all “0”, it is easy to change the logical address data of the allocation area to the updated data of all “0” in the NOR type. Can be done. However, in the NAND type, 1
Since writing in byte units cannot be performed, the invention described in the above U.S. Patent cannot be adopted.

【0007】[0007]

【課題を解決するための手段】本発明は上述の課題に鑑
みてなされたもので、その基本的な特徴は、データを格
納するための複数のデータエリアと、該データエリアの
各々に対応付けられ、上記データエリア個々の論理アド
レスを格納するための複数のアロケーションエリアと、
上記各データエリアに対応付けられ、各データエリアと
対応する上記アロケーションエリアに格納された論理ア
ドレスの格納履歴情報を格納するため複数の履歴情報エ
リアとをフラッシュメモリ内に形成したことにある。
SUMMARY OF THE INVENTION The present invention has been made in view of the above-mentioned problems, and has a basic feature that a plurality of data areas for storing data and a plurality of data areas corresponding to each of the data areas are provided. A plurality of allocation areas for storing respective logical addresses of the data area;
A plurality of history information areas for storing storage history information of logical addresses stored in the allocation area corresponding to each data area and corresponding to each data area are formed in the flash memory.

【0008】[0008]

【発明の実施の形態】図1は、本発明を適用したシステ
ムの主要回路構成を示すブロック図であり、マイクロコ
ンピュータからなる主制御部1は内蔵の制御プログラム
に基づいて例えば半導体ランダムアクセスメモリRAM
2に対するアクセスを行なったり、フラッシュメモリ3
を制御するフラッシュメモリ制御部4をコントロールす
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram showing a main circuit configuration of a system to which the present invention is applied. A main control unit 1 comprising a microcomputer, for example, a semiconductor random access memory RAM based on a built-in control program
Access to the flash memory 3
Is controlled by the flash memory control unit 4 which controls the flash memory.

【0009】本実施例が対象とするフラッシュメモリ3
は、例えば図2に示す如く(512+16)バイトから
なるブロック単位での書込み及び8ブロック(4.12
5Kバイト)を1単位とする単位毎の消去しか行なえな
いNAND型である。また、上記各ブロックには図3に
模式的に示す如く512バイトのデータが格納されるデ
ータエリア5、2バイトの論理アドレスを格納するアロ
ケーションエリア6、2バイトの同一の論理アドレスが
格納された回数を示す情報が格納される履歴情報エリア
7に分割され、残りの12バイトはこのECCデータ等
の格納エリア8として利用される。
The flash memory 3 to which the present embodiment is applied
For example, as shown in FIG. 2, writing in block units of (512 + 16) bytes and 8 blocks (4.12)
This is a NAND type that can only erase data in units of 5 Kbytes. Further, in each of the above blocks, as schematically shown in FIG. 3, a data area 5 for storing 512-byte data, an allocation area 6 for storing a 2-byte logical address, and the same 2-byte logical address are stored. It is divided into a history information area 7 in which information indicating the number of times is stored, and the remaining 12 bytes are used as a storage area 8 for the ECC data and the like.

【0010】フラッシュメモリ制御部4は、主制御部1
の制御の下で供給されたアドレスデータや新規データに
基づいて上記フラッシュメモリ3へのデータ読出・書込
を行なうもので、専用のゲートアレイやワンチップマイ
コンで構成される。
The flash memory control unit 4 includes a main control unit 1
Data read / write to / from the flash memory 3 is performed based on the address data and new data supplied under the control described above, and is constituted by a dedicated gate array and a one-chip microcomputer.

【0011】次に本実施例の動作について説明する。図
4はフラッシュメモリ制御部4のフラッシュメモリ3へ
のデータ書込時の制御動作を示すフローチャートであ
る。
Next, the operation of this embodiment will be described. FIG. 4 is a flowchart showing a control operation of the flash memory control unit 4 when writing data to the flash memory 3.

【0012】フラッシュメモリ制御部4は、主制御部1
より論理アドレスaに新規データDNを書込むように指
令を受けると、S1ステップにおいて新規データ書込み
(含:更新)のための初期化を行なう。
The flash memory control unit 4 includes a main control unit 1
Upon receiving a command to write new data DN to logical address a, initialization for writing new data (including updating) is performed in step S1.

【0013】具体的には、フラッシュメモリ3中の各ブ
ロックを特定するための変数iに先頭ブロック番号であ
る「0」をセットし、また、履歴情報エリア8中のデー
タを格納するための変数cntに「−1」をセットし、
更にブロック番号を格納するための変数blkに「−
1」をセットする。尚、上記各変数i、cnt及びbl
kは、フラッシュメモリ制御部4中のRAM(図示せ
ず)に保持される。
Specifically, a variable i for specifying each block in the flash memory 3 is set to “0” which is a head block number, and a variable for storing data in the history information area 8 is set. Set "-1" to cnt,
Further, “−” is set to a variable blk for storing a block number.
1 ”is set. The variables i, cnt and bl
k is stored in a RAM (not shown) in the flash memory control unit 4.

【0014】続くS2ステップでは、フラッシュメモリ
3中のブロックiのアロケーションエリア(以下、al
loc[i]と称す)中に格納されている論理アドレス
が論理アドレスaと一致するか否かを判定する。
In the following S2 step, an allocation area (hereinafter referred to as al
loc [i]) is determined whether or not the logical address stored in the loc [i] matches the logical address a.

【0015】一致した場合には、S3ステップにおい
て、フラッシュメモリ3中のブロックiの履歴情報エリ
ア(以下、count[i]と称す)中のデータと変数
cntとを比較し、「count[i]>cnt」の際
にはS4ステップにおいて変数blkの値を変数iの値
に置換すると共に、変数cntの値をcount[i]
の値に置換し、処理をS5ステップに進める。
If they match, in step S3, the data in the history information area of block i in the flash memory 3 (hereinafter referred to as count [i]) is compared with the variable cnt, and "count [i] > Cnt ”, the value of the variable blk is replaced with the value of the variable i in step S4, and the value of the variable cnt is changed to count [i].
And the process proceeds to step S5.

【0016】一方、S2ステップにおいて不一致と判定
された場合、及び、S3ステップにおいて「count
[i]>cnt」と判定されなかった場合には、直ちに
処理をS5ステップに進める。
On the other hand, if it is determined in step S2 that they do not match, and in step S3, "count"
If [i]> cnt "is not determined, the process immediately proceeds to step S5.

【0017】S5ステップで変数iをインクリメント
し、続くS6ステップでは変数iの値がフラッシュメモ
リ3中のブロック数(max blk)を超えたか否か
を判定し、超えていないと判定すると処理をS2ステッ
プに戻す。
In step S5, the variable i is incremented. In step S6, it is determined whether or not the value of the variable i has exceeded the number of blocks (max blk) in the flash memory 3. If not, the process proceeds to step S2. Return to step.

【0018】一方、超えたと判定した場合、即ちフラッ
シュメモリ3の全てのブロックのアロケーションエリア
6に格納されている論理アドレスと論理アドレスaとの
比較が終了しているので、最終的な処理を行なうためS
7ステップに進む。
On the other hand, if it is determined that the number has exceeded the value, that is, since the comparison between the logical address stored in the allocation area 6 of all the blocks of the flash memory 3 and the logical address a has been completed, the final processing is performed. For S
Proceed to step 7.

【0019】S7ステップでは、変数blkの値が「−
1」であるか否かを判定する。変数blkの値が「−
1」である場合、S8ステップにおいて変数cntに
「0」をセットし、一方、変数blkの値が「−1」で
ない場合、S9ステップにおいて変数cntの値をイン
クリメントした後、処理をS10ステップに進める。
In step S7, the value of the variable blk is changed to "-
1 "is determined. If the value of the variable blk is "-
If “1”, the variable cnt is set to “0” in step S8, while if the value of the variable blk is not “−1”, the value of the variable cnt is incremented in step S9, and then the process proceeds to step S10. Proceed.

【0020】S10ステップでは、フラッシュメモリ3
中の空きブロックを検出し、そのブロックのデータエリ
ア5、アロケーションエリア6及び履歴情報エリア8に
夫々新規データDN、論理アドレスa及び変数cntの
値を書込み、処理を終了する。
In step S10, the flash memory 3
An empty block in the middle is detected, new data DN, a logical address a, and a value of a variable cnt are written in the data area 5, the allocation area 6, and the history information area 8 of the block, respectively, and the process ends.

【0021】尚、上記空きブロックの検出は、上記フラ
ッシュメモリ3のブロックのデータが消去された状態で
は全エリアとも無チャージ状態の論理「1」となってい
るので、これを検出することにより行なえる。また、書
込対象となる全エリアは同一ブロック上にあるため、N
AND型のものであっても書込は簡単に行なえる。
Incidentally, the detection of the free block can be performed by detecting the logic "1" of the uncharged state in all areas when the data of the block of the flash memory 3 is erased. You. Since all areas to be written are on the same block,
Writing can be easily performed even with an AND type.

【0022】次に、図4のフローチャートの制御動作を
より理解し易くするために一具体例を使って説明する。
Next, in order to make the control operation of the flowchart of FIG. 4 easier to understand, a description will be given using a specific example.

【0023】今、図5に示す如くフラッシュメモリ3に
はブロック0〜7までの8個のブロックが存在し、か
つ、全ブロックのエリアは全て消去されオール「1」と
なっているものとする。
Now, as shown in FIG. 5, it is assumed that the flash memory 3 has eight blocks from block 0 to block 7, and all the blocks are all erased and all "1" are set. .

【0024】この状態において、主制御部1より論理ア
ドレスa1に新規データd1を書込むように指示がある
と、フラッシュメモリ制御部4は、図4のフローを実行
するが、この時点ではいずれのブロックも空きであるた
めS2、S5、S6ステップを8回繰返し実行した後、
S7ステップに処理を進める。また、この時点では変数
blkは「−1」のままであるため、S8、S10ステ
ップが順次処理され、図6に示す如く空きブロックであ
るブロック0のデータエリア5、アロケーションエリア
6及び履歴情報エリア7に夫々データd1、論理アドレ
スa1及び変数cntの値である数値「0」が格納され
る。
In this state, when there is an instruction from the main control unit 1 to write the new data d1 to the logical address a1, the flash memory control unit 4 executes the flow shown in FIG. Since the blocks are also empty, the steps S2, S5 and S6 are repeated eight times,
The process proceeds to step S7. At this point, since the variable blk remains "-1", steps S8 and S10 are sequentially processed, and as shown in FIG. 6, the data area 5, the allocation area 6, and the history information area of the block 0 which is an empty block. 7 stores the data d1, the logical address a1, and the numerical value “0” which is the value of the variable cnt.

【0025】また、続いて異なる論理アドレスa2、a
3に夫々新規データd2、d3(d1=d2=d3であ
っても良い)を書込むよう指示があると、フラッシュメ
モリ3のアロケーションエリア6には同一のアドレスが
存在しないので、上述のケースと同様にS1、S2、S
5、S6、S7、S8、S10ステップのみが処理さ
れ、図7に示す如くデータd2、d3及びアドレスa
2、a3が空き領域であったブロック1及び2に格納さ
れる。
Subsequently, different logical addresses a2, a2
3 is instructed to write new data d2 and d3 (d1 = d2 = d3 may be satisfied), the same address does not exist in the allocation area 6 of the flash memory 3; Similarly, S1, S2, S
Only steps S5, S6, S7, S8 and S10 are processed, and data d2 and d3 and an address a as shown in FIG.
2 and a3 are stored in blocks 1 and 2 which were free areas.

【0026】次に、主制御部1より論理アドレスa1に
新規データd4を書込むように指令を受けると、ブロッ
ク0のアロケーションエリア中の論理アドレス(all
oc[0])のみが「a1」となっているため、S2ス
テップでこれを判定した際、S3及びS4ステップでの
処理により変数blkにはブロック0のブロック番号を
示す数値「0」がセットされ、変数cntにはブロック
0の履歴情報エリアの値「0」がセットされる。従っ
て、S2〜S6ステップにおける全ブロックに対する判
定を行なった後、S7、S9、S10ステップが順次処
理されることとなるので、図8に示す如くブロック3の
データエリア5、アロケーションエリア6及び履歴情報
エリア7に夫々データd4、論理アドレスa1及び数値
「1」が書込まれることとなる。
Next, when receiving a command from the main control unit 1 to write the new data d4 to the logical address a1, the logical address (all) in the allocation area of the block 0 is received.
oc [0]) is “a1”, so when this is determined in step S2, the numerical value “0” indicating the block number of block 0 is set in the variable blk by the processing in steps S3 and S4. Then, the value “0” of the history information area of the block 0 is set to the variable cnt. Therefore, after all blocks in steps S2 to S6 are determined, steps S7, S9, and S10 are sequentially processed. Therefore, as shown in FIG. 8, the data area 5, the allocation area 6, and the history information of the block 3 are processed. Data d4, logical address a1, and numerical value "1" are written in area 7, respectively.

【0027】更に、再々度論理アドレスa1に新規デー
タd5を書込むように主制御部1より指令を受けると、
変数iが「0」及び「3」となった際にS2ステップで
一致と判定され、変数iが「0」の時に変数blk及び
cntに夫々数値「0」がセットされ、変数iが「0」
の時には変数blk及びcntに夫々数値「3」及び
「1」がセットされることとなる。従って、S7ステッ
プ以下を処理した結果、図9に示す如くブロック4のデ
ータエリア5、アロケーションエリア6及び履歴情報エ
リア7には、夫々データd5、論理アドレスa1及び数
値「2」が書込まれることとなる。
Further, when receiving a command from the main control unit 1 to write new data d5 to the logical address a1 again,
When the variable i becomes "0" and "3", it is determined that they match in step S2. When the variable i is "0", the numerical values "0" are set in the variables blk and cnt, respectively, and the variable i becomes "0". "
In the case of, the values "3" and "1" are set to the variables blk and cnt, respectively. Therefore, as a result of the processing after step S7, as shown in FIG. 9, data d5, logical address a1 and numerical value "2" are written in data area 5, allocation area 6 and history information area 7 of block 4, respectively. Becomes

【0028】このように、本実施例装置では、新規及び
更新データは空きブロックに論理アドレスと共に順次書
込まれ、また更新データの新旧は各ブロックの履歴情報
エリア7の数値で判定できる。
As described above, in the apparatus according to the present embodiment, new and updated data are sequentially written into the empty block together with the logical address, and the new and old of the updated data can be determined by the numerical value of the history information area 7 of each block.

【0029】図10は、フラッシュメモリ制御部4のフ
ラッシュメモリ3に対するデータ読出制御動作を示すフ
ローチャートである。
FIG. 10 is a flowchart showing a data read control operation for the flash memory 3 by the flash memory control unit 4.

【0030】フラッシュメモリ制御部4は、主制御部1
より論理アドレスaと対応するデータを読み出すように
指令を受けると、図10に示すS20ステップ以下を処
理する。
The flash memory control unit 4 includes the main control unit 1
When receiving a command to read data corresponding to the logical address a, the process from step S20 shown in FIG. 10 is performed.

【0031】S20〜S25ステップでは、上述のS1
〜S6ステップと同様にフラッシュメモリ3中の全ての
ブロックを順次サーチし、アロケーションエリア6に上
記論理アドレスaと同一のアドレスが格納されているブ
ロックを検出し、そのブロック番号及び履歴情報エリア
7内のデータ(count[i])を夫々変数blk及
びcntにセットする。尚、検出ブロックが複数ある場
合には、最も履歴情報の数値が大きいもの、即ち最新の
変更データが格納されたブロックのものがセットされ
る。
In steps S20 to S25, the above-described S1
As in steps S6 to S6, all the blocks in the flash memory 3 are sequentially searched, and a block in which the same address as the logical address a is stored in the allocation area 6 is detected. (Count [i]) is set to variables blk and cnt, respectively. If there are a plurality of detected blocks, the block having the largest numerical value of the history information, that is, the block storing the latest change data is set.

【0032】S26ステップでは、S7ステップと同様
に変数blkの値を判定する。このとき、変数blkが
S20ステップで初期化された「−1」のままである場
合、論理アドレスaが格納されたブロックが発見されな
かったことを意味するので、エラーとして処理する。
In step S26, the value of the variable blk is determined as in step S7. At this time, if the variable blk remains "-1" initialized in step S20, it means that the block storing the logical address a has not been found, and is therefore processed as an error.

【0033】一方、変数blkの値が「−1」以外であ
れば、論理アドレスaが格納されたブロックが発見さ
れ、上記S23ステップにおいてそのブロック番号に変
更されたことを意味するため、続くS27ステップにお
いて変数blkの値と同一のブロック番号のブロックの
データエリア5中のデータを読み出し主制御部1に出力
し処理を終了する。
On the other hand, if the value of the variable blk is other than "-1", it means that the block storing the logical address a has been found and it has been changed to that block number in the above-mentioned step S23, and the following S27 In the step, the data in the data area 5 of the block having the same block number as the value of the variable blk is read out and output to the main control unit 1, and the process is terminated.

【0034】[0034]

【発明の効果】本発明によれば、NAND型のフラッシ
ュメモリにおいても消去を必要とすることなくデータ変
更が可能となるので、データ更新速度を向上できる。
According to the present invention, data can be changed without erasing even in a NAND flash memory, so that the data update speed can be improved.

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

【図1】本発明を適用した装置の主要部を示すブロック
回路図である。
FIG. 1 is a block circuit diagram showing a main part of an apparatus to which the present invention is applied.

【図2】本発明が対象とするNAND型フラッシュメモ
リの構成を示す模式図である。
FIG. 2 is a schematic diagram illustrating a configuration of a NAND flash memory to which the present invention is applied.

【図3】本発明の一実施例におけるフラッシュメモリを
示す模式図である。
FIG. 3 is a schematic diagram showing a flash memory according to one embodiment of the present invention.

【図4】本発明の一実施例における動作を説明するため
のフローチャートである。
FIG. 4 is a flowchart for explaining an operation in one embodiment of the present invention.

【図5】本発明の一実施例におけるフラッシュメモリを
示す模式図である。
FIG. 5 is a schematic diagram showing a flash memory according to one embodiment of the present invention.

【図6】本発明の一実施例におけるフラッシュメモリを
示す模式図である。
FIG. 6 is a schematic diagram showing a flash memory according to one embodiment of the present invention.

【図7】本発明の一実施例におけるフラッシュメモリを
示す模式図である。
FIG. 7 is a schematic diagram showing a flash memory according to one embodiment of the present invention.

【図8】本発明の一実施例におけるフラッシュメモリを
示す模式図である。
FIG. 8 is a schematic diagram showing a flash memory according to one embodiment of the present invention.

【図9】本発明の一実施例におけるフラッシュメモリを
示す模式図である。
FIG. 9 is a schematic diagram showing a flash memory according to one embodiment of the present invention.

【図10】本発明の一実施例における動作を説明するた
めのフローチャートである。
FIG. 10 is a flowchart for explaining an operation in one embodiment of the present invention.

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

3 フラッシュメモリ 4 フラッシュメモリ制御部 5 データエリア 6 アロケーションエリア 7 履歴情報エリア 3 Flash memory 4 Flash memory control unit 5 Data area 6 Allocation area 7 History information area

───────────────────────────────────────────────────── フロントページの続き (72)発明者 山下 隆弘 鳥取県鳥取市南吉方3丁目201番地 鳥取 三洋電機株式会社内 (72)発明者 網崎 真哉 鳥取県鳥取市南吉方3丁目201番地 鳥取 三洋電機株式会社内 (72)発明者 梅沢 功 鳥取県鳥取市南吉方3丁目201番地 鳥取 三洋電機株式会社内 (72)発明者 浦川 文隆 鳥取県鳥取市南吉方3丁目201番地 鳥取 三洋電機株式会社内 (72)発明者 前田 浩司 鳥取県鳥取市南吉方3丁目201番地 鳥取 三洋電機株式会社内 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Takahiro Yamashita 3-201 Minamiyoshikata, Tottori City, Tottori Prefecture Inside Sanyo Tottori Electric Co., Ltd. (72) Inventor Shinya Amizaki 3-201 Minamiyoshikata, Tottori City, Tottori Prefecture Sanyo Tottori Inside Electric Co., Ltd. (72) Inventor Isao Umezawa 3-201 Minamiyoshikata, Tottori-shi, Tottori Sanyo Electric Co., Ltd. (72) Inventor Fumitaka Urakawa 3-201 Minamiyoshikata, Tottori-shi, Tottori Sanyo Electric Tottori (72) Inventor Koji Maeda 3-201 Minamiyoshikata, Tottori City, Tottori Prefecture Tottori Sanyo Electric Co., Ltd.

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 データを格納するための複数のデータエ
リアと、該データエリアの各々に対応付けられ、上記デ
ータエリア個々の論理アドレスを格納するための複数の
アロケーションエリアと、上記各データエリアに対応付
けられ、各データエリアと対応する上記アロケーション
エリアに格納された論理アドレスの格納履歴情報を格納
するための複数の履歴情報エリアとをフラッシュメモリ
内に形成したことを特徴とするフラッシュメモリを利用
した記憶装置。
1. A plurality of data areas for storing data, a plurality of allocation areas associated with each of the data areas and storing respective logical addresses of the data areas, Utilizing a flash memory, wherein a plurality of history information areas for storing storage history information of logical addresses stored in the corresponding allocation areas corresponding to the respective data areas are formed in the flash memory. Storage device.
【請求項2】 データを格納するための複数のデータエ
リアと、該データエリアの各々に対応付けられ、上記デ
ータエリア個々の論理アドレスを格納するための複数の
アロケーションエリアと、上記各データエリアに対応付
けられ、各データエリアと対応する上記アロケーション
エリアに格納された論理アドレスの格納履歴情報を格納
するための複数の履歴情報エリアとを有するフラッシュ
メモリと、該メモリ中の空きデータエリアを検出する空
きエリア検出手段と、入力されたアドレスデータと同一
の論理アドレスデータが格納されている上記アロケーシ
ョンエリアを検索するエリア検索手段と、該検索手段で
検索されたアロケーションエリアと対応する履歴情報エ
リアに格納されている履歴情報に従って新たな履歴情報
を作成する手段と、上記空きデータエリア検出手段で検
出したデータエリアと対応するアロケーションエリア及
び履歴情報エリアに夫々上記アドレスデータ及び上記作
成手段で作成された新たな履歴情報を書込む手段とを備
えたことを特徴とするフラッシュメモリを利用した記憶
装置。
2. A plurality of data areas for storing data, a plurality of allocation areas associated with each of the data areas and storing respective logical addresses of the data areas, A flash memory associated with each data area and having a plurality of history information areas for storing storage history information of logical addresses stored in the allocation area corresponding to each of the data areas; and detecting a free data area in the memory. Free area detection means, area search means for searching for the allocation area storing the same logical address data as the input address data, and storage in the history information area corresponding to the allocation area searched by the search means Means for creating new history information according to the history information being provided, Means for writing the address data and the new history information created by the creation means to an allocation area and a history information area corresponding to the data area detected by the free data area detection means, respectively. Storage device using flash memory.
【請求項3】 請求項2の上記書込手段は、上記アドレ
スデータと共に入力された新規データを上記空きデータ
エリア検出手段で検出したデータエリアに書込むことを
特徴とするフラッシュメモリを利用した記憶装置。
3. The storage using a flash memory according to claim 2, wherein said writing means writes new data inputted together with said address data into a data area detected by said free data area detecting means. apparatus.
【請求項4】 請求項1〜3のフラッシュメモリはNA
ND型であることを特徴とするフラッシュメモリを利用
した記憶装置。
4. The flash memory according to claim 1, wherein
A storage device using a flash memory, which is an ND type.
【請求項5】 請求項4において、対応関係にある上記
データエリア、アロケーションエリア及び履歴情報エリ
アは書込単位となる同一ブロック内に位置することを特
徴とするフラッシュメモリを利用した記憶装置。
5. The storage device according to claim 4, wherein the data area, the allocation area, and the history information area, which are in a corresponding relationship, are located in the same block as a writing unit.
【請求項6】 請求項1〜5において、上記履歴情報は
同一の論理アドレスが格納された回数を示す情報である
ことを特徴とするフラッシュメモリを利用した記憶装
置。
6. A storage device using a flash memory according to claim 1, wherein said history information is information indicating the number of times the same logical address has been stored.
JP24212496A 1996-09-12 1996-09-12 Storage device using flash memory Pending JPH1091490A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24212496A JPH1091490A (en) 1996-09-12 1996-09-12 Storage device using flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24212496A JPH1091490A (en) 1996-09-12 1996-09-12 Storage device using flash memory

Publications (1)

Publication Number Publication Date
JPH1091490A true JPH1091490A (en) 1998-04-10

Family

ID=17084664

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24212496A Pending JPH1091490A (en) 1996-09-12 1996-09-12 Storage device using flash memory

Country Status (1)

Country Link
JP (1) JPH1091490A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048585A (en) * 2004-08-09 2006-02-16 Fujitsu Ltd Access method of flash memory
JP2008108257A (en) * 2006-10-23 2008-05-08 Hewlett-Packard Development Co Lp Non-volatile storage device
US7657702B2 (en) 2001-01-19 2010-02-02 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657702B2 (en) 2001-01-19 2010-02-02 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US7818490B2 (en) 2001-01-19 2010-10-19 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US7970987B2 (en) 2001-01-19 2011-06-28 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US8316177B2 (en) 2001-01-19 2012-11-20 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
JP2006048585A (en) * 2004-08-09 2006-02-16 Fujitsu Ltd Access method of flash memory
JP2008108257A (en) * 2006-10-23 2008-05-08 Hewlett-Packard Development Co Lp Non-volatile storage device

Similar Documents

Publication Publication Date Title
US10078449B2 (en) Flash memory architecture with separate storage of overhead and user data
US6865658B2 (en) Nonvolatile data management system using data segments and link information
US5966720A (en) Flash memory accessed using only the logical address
EP1739683B1 (en) Space management for managing high capacity nonvolatile memory
EP1228510B1 (en) Space management for managing high capacity nonvolatile memory
JP4399029B2 (en) System data control method and architecture with automatic wear leveling in semiconductor non-volatile mass storage memory
EP0686976B1 (en) Data management system for programming-limited type semiconductor memory and IC memory card having the data management system
US6172906B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US7526601B2 (en) Data rewriting method for flash memory using partial erases
KR20030011230A (en) Non-volatile storage device and rewrite control method thereof
JP2006294061A (en) Memory management
JPH07219720A (en) Semiconductor memory device and its control method
US8219739B2 (en) Read-only optimized flash file system architecture
JP3122222B2 (en) Memory card device
KR20020092261A (en) Management Scheme for Flash Memory with the Multi-Plane Architecture
JP2003058417A (en) Storage device
JPH07153284A (en) Non-volatile semiconductor memory and its control method
JP3219699B2 (en) Semiconductor memory device
JPH1091490A (en) Storage device using flash memory
JP4233213B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM PROVIDED WITH MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP2000330850A (en) Control of flash memory
JPH11259357A (en) Semiconductor integrated device and nonvolatile memory writing system
JPH07111092A (en) Control method for non-volatile semiconductor storage device
JP2007272657A (en) Memory controller, flash memory system, and control method of flash memory
JP2001014865A (en) Flash memory, flash memory rewriting frequency storing method and computer readable recording medium recorded with program making computer execute the method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050405