JP2000285688A - Non-volatile semiconductor memory - Google Patents
Non-volatile semiconductor memoryInfo
- Publication number
- JP2000285688A JP2000285688A JP9473899A JP9473899A JP2000285688A JP 2000285688 A JP2000285688 A JP 2000285688A JP 9473899 A JP9473899 A JP 9473899A JP 9473899 A JP9473899 A JP 9473899A JP 2000285688 A JP2000285688 A JP 2000285688A
- Authority
- JP
- Japan
- Prior art keywords
- erase
- erase block
- address conversion
- conversion table
- block
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】この発明は不揮発性半導体記
憶装置に関し、さらに詳しくは、ブロック消去型不揮発
メモリを利用した不揮発性半導体記憶装置に関する。The present invention relates to a nonvolatile semiconductor memory device, and more particularly, to a nonvolatile semiconductor memory device using a block erase type nonvolatile memory.
【0002】[0002]
【従来の技術】フラッシュメモリなどの有限の消去回数
を持つブロック消去型不揮発メモリを利用した不揮発性
半導体記憶装置は、ハードディスクなどの磁気記憶装置
と比べると衝撃に強く、消費電力が小さい反面、ビット
コストが高く、データ書換回数に数十万回程度の上限が
ある、という特徴を持つ。このため、ブロック消去型不
揮発メモリを利用した不揮発性半導体記憶装置は、気軽
に持ち運べる携帯型コンピュータの記憶装置や電子カメ
ラのフィルムとして利用されている。2. Description of the Related Art A nonvolatile semiconductor memory device using a block erase type nonvolatile memory having a finite number of erasures, such as a flash memory, is more resistant to shocks and consumes less power than a magnetic memory device such as a hard disk. It is characterized by high cost and an upper limit of about several hundred thousand data rewrites. For this reason, a nonvolatile semiconductor memory device using a block erase type nonvolatile memory is used as a storage device of a portable computer that can be easily carried around or a film of an electronic camera.
【0003】上述の携帯型コンピュータや電子カメラな
どにおけるホストシステムの多くは、データを高い互換
性の下で保管・管理するためにFAT(File Al
location Table)型のファイルシステム
を利用している。FAT型のファイルシステムでは、記
憶装置の内部を一定の大きさ、たとえば、セクタ、セク
タをいくつか集めたクラスタなどに分割し(以下、分割
された各々を「消去ブロック」という。)、それらの各
々に番号を付けて管理する。番号はFATと呼ばれるテ
ーブルにまとめられ、記憶装置内部の特定領域に保存さ
れる。FATはデータの読み出し・書き込み時に必ず参
照され、データに何らかの変更があった場合はFATも
変更される。FATは記憶装置の特定領域に集中管理さ
れるため、半導体記憶装置全体で見た場合、FATの保
管に利用されている消去ブロックではアプリケーション
などの汎用データを記憶している消去ブロックに比べ消
去・書き込みが頻発する。これをそのままにしておく
と、FAT管理を行なっている消去ブロックだけが消去
回数の上限を超えてしまうため、何らかの形でこの問題
を解消する必要がある。Many of the host systems in the above-mentioned portable computers and electronic cameras have a FAT (File Al) for storing and managing data with high compatibility.
A location table type file system is used. In the FAT type file system, the inside of the storage device is divided into a certain size, for example, a sector, a cluster of several sectors, and the like (hereinafter, each of the divided units is referred to as an “erased block”). Each is numbered and managed. The numbers are put together in a table called FAT and stored in a specific area inside the storage device. The FAT is always referred to when reading / writing data, and if there is any change in the data, the FAT is also changed. Since the FAT is centrally managed in a specific area of the storage device, when viewed from the entire semiconductor storage device, the erase block used for storing the FAT is erased and erased compared to the erase block storing general-purpose data such as an application. Writing frequently occurs. If this is left as it is, only the erasure block for which FAT management is performed will exceed the upper limit of the number of times of erasure, so it is necessary to solve this problem in some way.
【0004】問題解決の一案として、書換えが頻発する
消去ブロックとあまり書換えが発生しない消去ブロック
のデータを、消去回数の上限を超えないある一定の消去
回数ごとに入換えることが挙げられる。米国特許5,3
88,083号には、消去ブロックの消去回数を保存し
ておき、ある消去ブロックが所定の消去回数を超えた場
合、その消去ブロックのデータをその時点で最小の消去
回数を持つ消去ブロックのデータと入換え、これをすべ
ての消去ブロックが同一消去回数になるまで繰返す、と
いう方法が述べられている。この方法を用いて消去回数
の平準化を行なうことで、すべての消去ブロックの消去
回数を均一に保つことができる。[0004] One solution to the problem is to replace the data of an erase block in which rewriting occurs frequently and an erase block in which rewriting does not frequently occur with a certain number of erasures not exceeding the upper limit of the number of erasures. US Patent 5,3
No. 88,083 stores the number of erasures of an erasure block. If a certain erasure block exceeds a predetermined number of erasures, the data of the erasure block is replaced with the data of the erasure block having the minimum number of erasures at that time And repeating this until all erase blocks have the same erase count. By averaging the number of erasures using this method, the number of erasures of all erase blocks can be kept uniform.
【0005】[0005]
【発明が解決しようとする課題】しかし、この平準化方
法では、すべての消去ブロックの中で消去回数が最小
の消去ブロックを把握する必要があり、消去ブロック
間の消去回数の差が数回のレベルであっても同一の消去
回数になるまで平準化処理を行なうことになる。は半
導体記憶装置の処理内容が複雑となり、は半導体記憶
装置の寿命の低下を招くおそれがある。However, in this leveling method, it is necessary to grasp the erase block having the smallest erase count among all erase blocks, and the difference in erase count between erase blocks is several times. Even at the level, leveling processing is performed until the same number of times of erasure is reached. The processing contents of the semiconductor memory device become complicated, and the life of the semiconductor memory device may be shortened.
【0006】この発明は以上のような問題を解決するた
めになされたものであり、その目的は、平易に消去ブロ
ック間の消去回数を平準化することができる不揮発性半
導体記憶装置を提供することである。SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to provide a nonvolatile semiconductor memory device capable of easily leveling the number of erases between erase blocks. It is.
【0007】[0007]
【課題を解決するための手段】この発明の1つの局面に
従った不揮発性半導体記憶装置は、複数の消去ブロック
と、アドレス変換テーブル記憶領域と、第1の選択手段
と、第2の選択手段と、入換手段とを備える。複数の消
去ブロックは、各々がデータ記憶領域と消去回数記憶領
域とを有する。アドレス変換テーブル記憶領域は、複数
の論理アドレスと複数の消去ブロックとを対応づけたア
ドレス変換テーブルを記憶する。第1の選択手段は、ア
ドレス変換テーブルを参照して複数の消去ブロックの中
から、データ書き込み時に外部から与えられる論理アド
レスに対応づけられた第1の消去ブロックを選択する。
第2の選択手段は、第1の消去ブロックに記憶された消
去回数が所定の消去回数を超えているとき、アドレス変
換テーブルを参照して、複数の消去ブロックの中から第
2の消去ブロックを選択する。入換手段は、第2の消去
ブロックに記憶された消去回数が所定の消去回数を超え
ていないとき、第2の消去ブロックに記憶されたデータ
を第1の消去ブロックに書き込み、外部からの書き込み
データを第2の消去ブロックに書き込み、かつ第1の消
去ブロックを第2の消去ブロックが対応づけられていた
論理アドレスに対応づけ、第2の消去ブロックを第1の
消去ブロックが対応づけられていた論理アドレスに対応
づける。A nonvolatile semiconductor memory device according to one aspect of the present invention includes a plurality of erase blocks, an address conversion table storage area, a first selecting means, and a second selecting means. And exchange means. Each of the plurality of erase blocks has a data storage area and an erase count storage area. The address conversion table storage area stores an address conversion table that associates a plurality of logical addresses with a plurality of erase blocks. The first selecting means selects a first erase block associated with a logical address given externally at the time of data writing from a plurality of erase blocks with reference to the address conversion table.
When the number of erasures stored in the first erasure block exceeds a predetermined number of erasures, the second selection unit refers to the address conversion table to select the second erasure block from the plurality of erasure blocks. select. The replacement means writes the data stored in the second erase block to the first erase block when the number of erases stored in the second erase block does not exceed the predetermined number of erases, and writes the data from the outside. The data is written to the second erase block, the first erase block is associated with the logical address associated with the second erase block, and the second erase block is associated with the first erase block. Associated logical address.
【0008】上記不揮発性半導体記憶装置においては、
第2の消去ブロックに記憶された消去回数を判断するだ
けでよく、複数の消去ブロックの全ての消去回数を判断
する必要がない。したがって、複雑な処理を必要とせず
平易に消去ブロック間の消去回数を平準化することがで
きる。In the above nonvolatile semiconductor memory device,
It is only necessary to determine the number of erases stored in the second erase block, and it is not necessary to determine the total number of erases of a plurality of erase blocks. Therefore, the number of erasures between erase blocks can be easily leveled without requiring complicated processing.
【0009】好ましくは、上記アドレス変換テーブル
は、複数のサブアドレス変換テーブルに分割される。上
記第1の選択手段はさらに、第1の消去ブロックを含む
サブアドレス変換テーブルを選択する。上記第2の選択
手段は、第1の消去ブロックに記憶された消去回数が所
定の消去回数を超えているとき、第1の選択手段により
選択されたサブアドレス変換テーブルを参照して第2の
消去ブロックを選択する。[0009] Preferably, the address conversion table is divided into a plurality of sub-address conversion tables. The first selecting means further selects a sub address conversion table including a first erase block. When the number of erasures stored in the first erasure block exceeds a predetermined number of erasures, the second selection unit refers to the sub-address conversion table selected by the first selection unit to perform the second erasure. Select a block.
【0010】上記不揮発性半導体記憶装置においては、
第2の選択手段は、第1の選択手段により選択されたサ
ブアドレス変換テーブルを参照する。したがって、アド
レス変換テーブル全体を参照する場合に比べてより平易
に消去ブロック間の消去回数を平準化することができ
る。In the above nonvolatile semiconductor memory device,
The second selecting means refers to the sub-address conversion table selected by the first selecting means. Therefore, the number of times of erasure between erase blocks can be equalized more easily than when the entire address conversion table is referred to.
【0011】好ましくは、上記サブアドレス変換テーブ
ルの各々に必要な記憶容量の整数倍が複数の消去ブロッ
クの各々の記憶容量に等しい。Preferably, an integral multiple of the storage capacity required for each of the sub-address conversion tables is equal to the storage capacity of each of the plurality of erase blocks.
【0012】この発明のもう1つの局面に従った不揮発
性半導体記憶装置は、複数の消去ブロックと、アドレス
変換テーブル記憶領域と、第1の選択手段と、第2の選
択手段と、入換手段とを備える。複数の消去ブロック
は、各々がデータ記憶領域と消去回数記憶領域とを有す
る。アドレス変換テーブル記憶領域は、複数の論理アド
レスと複数の消去ブロックとを対応づけたアドレス変換
テーブルを記憶する。第1の選択手段は、アドレス変換
テーブルを参照して複数の消去ブロックの中から、デー
タ読み出し時に外部から与えられる論理アドレスに対応
づけられた第1の消去ブロックを選択する。第2の選択
手段は、第1の消去ブロックに記憶された消去回数が所
定の消去回数を超えているとき、アドレス変換テーブル
を参照して、複数の消去ブロックの中から第2の消去ブ
ロックを選択する。入換手段は、第2の消去ブロックに
記憶された消去回数が所定の消去回数を超えていないと
き、第1の消去ブロックに記憶されたデータと第2の消
去ブロックに記憶されたデータとを入換え、かつ第1の
消去ブロックを第2の消去ブロックが対応づけられてい
た論理アドレスに対応づけ、第2の消去ブロックを第1
の消去ブロックが対応づけられていた論理アドレスに対
応づける。A nonvolatile semiconductor memory device according to another aspect of the present invention includes a plurality of erase blocks, an address conversion table storage area, a first selecting means, a second selecting means, and a replacing means. And Each of the plurality of erase blocks has a data storage area and an erase count storage area. The address conversion table storage area stores an address conversion table that associates a plurality of logical addresses with a plurality of erase blocks. The first selecting means selects a first erase block associated with a logical address given externally at the time of data reading from a plurality of erase blocks with reference to the address conversion table. When the number of erasures stored in the first erasure block exceeds a predetermined number of erasures, the second selection unit refers to the address conversion table to select the second erasure block from the plurality of erasure blocks. select. When the number of erasures stored in the second erasure block does not exceed a predetermined number of erasures, the replacement means replaces the data stored in the first erasure block with the data stored in the second erasure block. The first erase block is replaced with the logical address to which the second erase block was associated, and the second erase block is associated with the first erase block.
Is associated with the logical address to which the corresponding erase block is associated.
【0013】上記不揮発性半導体記憶装置においては、
データ読み出し時においても平易に消去ブロック間の消
去回数を平準化することができる。In the above nonvolatile semiconductor memory device,
Even at the time of data reading, the number of erasures between erase blocks can be easily leveled.
【0014】好ましくは、上記アドレス変換テーブル
は、複数のサブアドレス変換テーブルに分割される。上
記第1の選択手段はさらに、第1の消去ブロックを含む
サブアドレス変換テーブルを選択する。上記第2の選択
手段は、第1の消去ブロックに記憶された消去回数が所
定の消去回数を超えているとき、第1の選択手段により
選択されたサブアドレス変換テーブルを参照して第2の
消去ブロックを選択する。[0014] Preferably, the address conversion table is divided into a plurality of sub-address conversion tables. The first selecting means further selects a sub address conversion table including a first erase block. When the number of erasures stored in the first erasure block exceeds a predetermined number of erasures, the second selection unit refers to the sub-address conversion table selected by the first selection unit to perform the second erasure. Select a block.
【0015】好ましくは、上記サブアドレス変換テーブ
ルの各々に必要な記憶容量の整数倍が複数の消去ブロッ
クの各々の記憶容量に等しい。Preferably, an integral multiple of the storage capacity required for each of the sub-address conversion tables is equal to the storage capacity of each of the plurality of erase blocks.
【0016】この発明のさらにもう1つの局面に従った
不揮発性半導体記憶装置は、複数の消去ブロックと、ア
ドレス変換テーブル記憶領域と、第1の選択手段と、第
2の選択手段と、入換手段とを備える。複数の消去ブロ
ックは、各々がデータ記憶領域と消去回数記憶領域とを
有する。アドレス変換テーブル記憶領域は、複数の論理
アドレスと複数の消去ブロックとを対応づけたアドレス
変換テーブルを記憶する。アドレス変換テーブルは複数
のサブアドレス変換テーブルに分割される。第1の選択
手段は、複数の消去ブロックの中からデータ書き込み時
に外部から与えられる論理アドレスに対応づけられた第
1の消去ブロックを選択しかつ第1の消去ブロックを含
む第1のサブアドレス変換テーブルを選択する。第2の
選択手段は、第1の消去ブロックに記憶された消去回数
が所定の消去回数を超えているとき、第2のサブアドレ
ス変換テーブルを選択しかつ第2のアドレス変換テーブ
ルを参照して第2の消去ブロックを選択する。入換手段
は、第2の消去ブロックに記憶された消去回数が所定の
消去回数を超えていないとき、第2の消去ブロックに記
憶されたデータを第1の消去ブロックに書き込み、外部
からの書き込みデータを第2の消去ブロックに書き込
み、かつ第1の消去ブロックを第2の消去ブロックが対
応づけられていた論理アドレスに対応づけ、第2の消去
ブロックを第1の消去ブロックが対応づけられていた論
理アドレスに対応づける。According to still another aspect of the present invention, there is provided a nonvolatile semiconductor memory device comprising: a plurality of erase blocks; an address conversion table storage area; a first selecting means; a second selecting means; Means. Each of the plurality of erase blocks has a data storage area and an erase count storage area. The address conversion table storage area stores an address conversion table that associates a plurality of logical addresses with a plurality of erase blocks. The address conversion table is divided into a plurality of sub address conversion tables. The first selecting means selects a first erase block associated with a logical address given externally at the time of data writing from among a plurality of erase blocks, and a first sub-address conversion table including the first erase block. Select When the number of erasures stored in the first erasure block exceeds a predetermined number of erasures, the second selection means selects the second sub-address conversion table and refers to the second address conversion table to determine the second sub-address conversion table. 2 is selected. The replacement means writes the data stored in the second erase block to the first erase block when the number of erases stored in the second erase block does not exceed the predetermined number of erases, and writes the data from the outside. The data is written to the second erase block, the first erase block is associated with the logical address associated with the second erase block, and the second erase block is associated with the first erase block. Associated logical address.
【0017】上記不揮発性半導体記憶装置においては、
第2の選択手段と、入換手段とを設けたため、第1のサ
ブアドレス変換テーブルで管理される消去ブロックのす
べてが不揮発メモリの消去回数の上限に近づいた場合に
も平準化作業を行うことができる。In the above nonvolatile semiconductor memory device,
Since the second selecting means and the replacing means are provided, the leveling operation can be performed even when all of the erase blocks managed by the first sub-address conversion table approach the upper limit of the number of times of erasing of the nonvolatile memory. it can.
【0018】[0018]
【発明の実施の形態】以下、この発明の実施の形態を図
面を参照して詳しく説明する。なお、図中同一または相
当部分には同一符号を付してその説明を繰返さない。Embodiments of the present invention will be described below in detail with reference to the drawings. In the drawings, the same or corresponding portions have the same reference characters allotted, and description thereof will not be repeated.
【0019】[実施の形態1]図1は、この発明の実施
の形態1による半導体記憶装置の全体構成を示すブロッ
ク図である。図1を参照して、この半導体記憶装置10
は、ホストインターフェース回路11と、CPU回路1
2と、シーケンサ回路13と、ECC回路14と、バッ
ファ15a,15bと、作業用バッファ16と、不揮発
メモリ制御回路17と、不揮発メモリ18とを備える。[First Embodiment] FIG. 1 is a block diagram showing an overall configuration of a semiconductor memory device according to a first embodiment of the present invention. Referring to FIG. 1, this semiconductor storage device 10
Are the host interface circuit 11 and the CPU circuit 1
2, a sequencer circuit 13, an ECC circuit 14, buffers 15a and 15b, a working buffer 16, a nonvolatile memory control circuit 17, and a nonvolatile memory 18.
【0020】ホストインターフェース回路11は、半導
体記憶装置10外部のホストシステム1とアドレス信
号、データ信号、およびコマンド信号の受渡しを行な
う。CPU回路12は、半導体記憶装置10を制御す
る。シーケンサ回路13は、データ転送を管理する。E
CC(Error Checking and Cor
recting)回路14は、データ保持の信頼性を高
めるために設けられる。バッファ15a,15bは、デ
ータ転送時に一時的にデータを保持する。作業用バッフ
ァ16は、後述のアドレス変換テーブルを読み出すため
に設けられる。不揮発メモリ制御回路17は、シーケン
サ回路13とともに、データ転送時に不揮発メモリ18
の制御を行なう。不揮発メモリ18は、フラッシュメモ
リなどのブロック消去型不揮発メモリである。ブロック
消去型不揮発メモリでは、メモリアレイを数個のブロッ
クに分割し、ブロックごとに消去パルス印加/消去ベリ
ファイが行われる。ここでは、(M+1)個のブロック
BK(0)−BK(M)に分割し、分割されたブロック
の各々を消去ブロックと呼ぶ。ここでは、消去ブロック
BK(0)−BK(M)の一部をアドレス変換テーブル
として使用する。バッファ15a,15bのサイズは、
消去ブロックBK(0)−BK(M)と同一サイズであ
る。The host interface circuit 11 exchanges address signals, data signals, and command signals with the host system 1 outside the semiconductor memory device 10. The CPU circuit 12 controls the semiconductor memory device 10. The sequencer circuit 13 manages data transfer. E
CC (Error Checking and Cor)
Recting) circuit 14 is provided to increase the reliability of data retention. The buffers 15a and 15b temporarily hold data during data transfer. The work buffer 16 is provided for reading an address conversion table described later. The nonvolatile memory control circuit 17 operates together with the sequencer circuit 13 when transferring data.
Is controlled. The nonvolatile memory 18 is a block erase type nonvolatile memory such as a flash memory. In a block erase type nonvolatile memory, a memory array is divided into several blocks, and an erase pulse application / erase verify is performed for each block. Here, it is divided into (M + 1) blocks BK (0) -BK (M), and each of the divided blocks is called an erase block. Here, a part of the erase blocks BK (0) -BK (M) is used as an address conversion table. The size of the buffers 15a and 15b is
It has the same size as the erase blocks BK (0) -BK (M).
【0021】図2は、図1に示された消去ブロックBK
(2)−BK(M)の内部構成を示す図である。図2を
参照して、消去ブロックBK(2)−BK(M)は、デ
ータ記憶領域21と、消去回数記憶領域22と、ECC
記憶領域23とを含む。データ記憶領域21には、ホス
トシステム1から送られてくるデータが格納される。消
去回数記憶領域22には、消去ブロックBKi(i=2
−M)の今までの消去回数が格納される。ECC記憶領
域23には、ECC回路14によって付加されるデータ
が格納される。FIG. 2 shows the erase block BK shown in FIG.
It is a figure which shows the internal structure of (2) -BK (M). Referring to FIG. 2, erase blocks BK (2) -BK (M) include a data storage area 21, an erase count storage area 22, an ECC
And a storage area 23. Data sent from the host system 1 is stored in the data storage area 21. Erased blocks BKi (i = 2)
−M) is stored. The ECC storage area 23 stores data added by the ECC circuit 14.
【0022】図1に示された半導体記憶装置10におけ
るすべてのデータ転送動作は、CPU回路12がシーケ
ンサ回路13および不揮発メモリ制御回路17を制御す
ることにより行われる。シーケンサ回路13は、データ
転送時に必要な各種内部波形を生成し、不揮発メモリ制
御回路17は、CPU回路12から与えられる消去ブロ
ック番号をもとにして不揮発メモリ18の制御信号を生
成する。All data transfer operations in the semiconductor memory device 10 shown in FIG. 1 are performed by the CPU circuit 12 controlling the sequencer circuit 13 and the nonvolatile memory control circuit 17. The sequencer circuit 13 generates various internal waveforms necessary for data transfer, and the nonvolatile memory control circuit 17 generates a control signal for the nonvolatile memory 18 based on the erase block number given from the CPU circuit 12.
【0023】次に、不揮発メモリ18からデータを読み
出す動作の概略について説明する。まず、ホストシステ
ム1からホストインターフェース回路11に情報が与え
られる。この情報をもとにCPU回路12は、シーケン
サ回路13と不揮発メモリ制御回路17を制御してデー
タ読み出しに必要な波形を生成する。これにより不揮発
メモリ18からバッファ15aにデータが読み出され
る。その後、シーケンサ回路13が生成する波形に基づ
き、データはバッファ15aからホストインターフェー
ス回路11を通してホストシステム1に転送される。不
揮発メモリ18からバッファ15aへのデータ転送時
に、読み出しデータは同時にECC回路14によって復
号される。データにエラーが発生した場合は、シーケン
サ回路13を通じてエラー情報がCPU回路12に送ら
れバッファ15a内のデータが訂正される。このエラー
訂正は、CPU回路12を利用してソフトウェアで行な
ってもよいし、半導体記憶装置内部にエラー訂正専用の
ハードウェアを搭載しておき、ハードウェアで行なって
もよい。Next, an outline of the operation of reading data from the nonvolatile memory 18 will be described. First, information is provided from the host system 1 to the host interface circuit 11. Based on this information, the CPU circuit 12 controls the sequencer circuit 13 and the non-volatile memory control circuit 17 to generate a waveform necessary for reading data. As a result, data is read from the nonvolatile memory 18 to the buffer 15a. Thereafter, based on the waveform generated by the sequencer circuit 13, the data is transferred from the buffer 15a to the host system 1 through the host interface circuit 11. When data is transferred from the nonvolatile memory 18 to the buffer 15a, the read data is simultaneously decoded by the ECC circuit 14. When an error occurs in the data, the error information is sent to the CPU circuit 12 through the sequencer circuit 13, and the data in the buffer 15a is corrected. This error correction may be performed by software using the CPU circuit 12, or may be performed by hardware with error correction dedicated hardware mounted inside the semiconductor memory device.
【0024】次に、不揮発メモリ18へデータを書き込
む動作の概略について説明する。不揮発メモリ18への
データ書き込みでは、読み出し時と同様にホストインタ
ーフェース回路11に与えられる情報をもとに、CPU
回路12はシーケンサ回路13を制御してデータ書き込
みに必要な波形を生成する。これによりデータはホスト
インターフェース回路11を通してバッファ15aに保
存される。その後、CPU回路12は、シーケンサ回路
13を制御してバッファ15a内のデータをECC回路
14に転送し符号化処理を行なう。処理を終えたバッフ
ァ15内のデータをECC回路14に転送し符号化処理
を行なう。処理を終えたバッファ15a内のデータは、
シーケンサ回路13と不揮発メモリ制御回路17が生成
する波形をもとに不揮発メモリ18の消去ブロックに書
き込まれる。Next, an outline of an operation of writing data to the nonvolatile memory 18 will be described. In writing data to the non-volatile memory 18, as in the case of reading data, the CPU
The circuit 12 controls the sequencer circuit 13 to generate a waveform required for writing data. As a result, the data is stored in the buffer 15a through the host interface circuit 11. Thereafter, the CPU circuit 12 controls the sequencer circuit 13 to transfer the data in the buffer 15a to the ECC circuit 14, and performs an encoding process. The data in the buffer 15 after the processing is transferred to the ECC circuit 14 to perform an encoding process. The data in the buffer 15a after the processing is
Based on the waveforms generated by the sequencer circuit 13 and the nonvolatile memory control circuit 17, the data is written to the erase block of the nonvolatile memory 18.
【0025】データ転送の際には、ホストシステム1か
らデータ転送要求を示すコマンド信号、CHS(Cyl
inder Head Sector)やLBA(Lo
gical Block Address:論理アドレ
ス)などのアドレス信号、および転送されるデータ信号
が記憶装置に与えられる。これらの情報は、ともにホス
トインターフェース回路11に設けられたレジスタに書
き込まれ、CPU回路12が内容を判断する。At the time of data transfer, a command signal indicating a data transfer request from the host system 1, CHS (Cyl)
inner Head Sector) and LBA (Lo
An address signal such as a physical block address (logical block address) and a data signal to be transferred are provided to the storage device. These pieces of information are both written into a register provided in the host interface circuit 11, and the CPU circuit 12 determines the contents.
【0026】この実施の形態1による不揮発性半導体記
憶装置は、消去ブロックBK(0)、BK(1)にアド
レス変換テーブルが記憶されている。アドレス変換テー
ブルにより、データの書き込み/読み出し時などにホス
トシステム1から与えられる論理アドレスと不揮発メモ
リ18の消去ブロックBK(2)−BK(M)とが対応
づけられる。In the nonvolatile semiconductor memory device according to the first embodiment, an address conversion table is stored in erase blocks BK (0) and BK (1). The logical address given from the host system 1 at the time of data writing / reading and the like and the erase blocks BK (2) -BK (M) of the nonvolatile memory 18 are associated with each other by the address conversion table.
【0027】図3は、アドレス変換テーブルの概念図で
ある。図3を参照して、アドレス変換テーブルには、ホ
ストシステムから与えられる論理アドレスに対応する不
揮発メモリの消去ブロック番号が格納される。なお、格
納される情報は、ホストシステム1から与えられる論理
アドレスに対応する消去ブロックの番号を計算すること
ができる情報であればよい。FIG. 3 is a conceptual diagram of the address conversion table. Referring to FIG. 3, the address conversion table stores the erase block number of the nonvolatile memory corresponding to the logical address given from the host system. Note that the information to be stored may be any information that can calculate the number of the erase block corresponding to the logical address given from the host system 1.
【0028】ここでは、読み出し単位を512バイトデ
ータとし、これを1セクタとする。また、連続した4セ
クタのまとまりを1クラスタとし、消去ブロックの記憶
容量を2048バイトとする。さらに、作業用バッファ
16への読み出し単位を512バイト、アドレス変換テ
ーブル内部に格納されている消去ブロック番号のデータ
長を2バイト、消去ブロックの単位を2048バイトと
する。すなわち、アドレス変換テーブルは、作業用バッ
ファ16への読み出し単位である512バイトごとのサ
ブアドレス変換テーブルに分割されている。1つの消去
ブロック内に4つのサブアドレス変換テーブルが格納さ
れる。Here, the read unit is 512-byte data, which is one sector. Also, a group of four consecutive sectors is defined as one cluster, and the storage capacity of the erase block is set to 2048 bytes. Further, the read unit for the work buffer 16 is 512 bytes, the data length of the erase block number stored in the address conversion table is 2 bytes, and the unit of the erase block is 2048 bytes. That is, the address conversion table is divided into sub-address conversion tables for every 512 bytes, which is a unit of reading into the working buffer 16. Four sub-address conversion tables are stored in one erase block.
【0029】格納する情報により、アドレス変換テーブ
ルのサイズは変化する。アドレス変換テーブルは、不揮
発メモリ18内部に格納され、データ転送時に対応する
512バイトのサブアドレス変換テーブルが参照され
る。The size of the address conversion table changes depending on the information to be stored. The address conversion table is stored in the nonvolatile memory 18 and refers to a corresponding 512-byte sub-address conversion table at the time of data transfer.
【0030】例えば、ホストシステム1から論理セクタ
アドレス5002が与えられた場合を例に説明する。For example, a case where a logical sector address 5002 is given from the host system 1 will be described.
【0031】論理セクタアドレスを論理クラスタアド
レスに変換する(5002÷4=1250余り2)。こ
こでの商1250は、論理クラスタアドレスであり、余
りの2は、クラスタ内に含まれるセクタのオフセットで
ある。The logical sector address is converted to a logical cluster address (5002/4 = 1250 remainder 2). Here, the quotient 1250 is the logical cluster address, and the remaining 2 is the offset of the sector included in the cluster.
【0032】対応するサブアドレス変換テーブルがど
の消去ブロックに格納されているかを算出する(125
0÷1024=1余り226)。ここでの商1は、対応
するサブアドレス変換テーブルが格納されている消去ブ
ロック番号であり、余り226は、対応するサブアドレ
ス変換テーブルの消去ブロック内でのオフセットであ
る。It is calculated in which erase block the corresponding sub-address conversion table is stored (125).
0 ÷ 1024 = 1 remainder 226). Here, the quotient 1 is the erase block number in which the corresponding sub address conversion table is stored, and the remainder 226 is the offset in the erase block of the corresponding sub address conversion table.
【0033】上記で算出した消去ブロック内で対応
するサブアドレス変換テーブルを算出する(226÷2
56=0余り226)。商の0は、消去ブロック内で0
〜511バイトの512バイトデータが対応するサブア
ドレス変換テーブルであることを示し、余りの226は
読み出す512バイトのテーブル内のオフセットを表
す。なお、商が1の場合、消去ブロック内で512〜1
023バイトまでの512バイトを対応するサブアドレ
ス変換テーブルをして読み出す。商が2、3の場合も同
様である。The corresponding sub-address conversion table in the erase block calculated above is calculated (226 ÷ 2).
56 = 0 remainder 226). The quotient 0 is 0 in the erase block.
This indicates that 512-byte data of up to 511 bytes is the corresponding sub-address conversion table, and the remaining 226 indicates the offset in the 512-byte table to be read. When the quotient is 1, 512 to 1 in the erase block.
The corresponding sub address conversion table is read out from 512 bytes up to 023 bytes. The same applies when the quotient is a few.
【0034】以上のようにして、ホストシステム1から
の論理アドレスに対応して作業用バッファに読み出され
るサブアドレス変換テーブルが特定される。As described above, the sub-address conversion table read out to the work buffer corresponding to the logical address from the host system 1 is specified.
【0035】次に、実施の形態1による不揮発性半導体
記憶装置による消去回数の平準化について説明する。Next, leveling of the number of erasures by the nonvolatile semiconductor memory device according to the first embodiment will be described.
【0036】図4は、データ書き込み時の消去回数平準
化の手順を示すフローチャートである。図4を参照し
て、ステップS1−S9は、通常の書き込み処理のフロ
ーであり、ステップS10−S19が消去回数平準化の
フローである。FIG. 4 is a flowchart showing the procedure for leveling the number of erasures during data writing. Referring to FIG. 4, steps S1-S9 are a flow of a normal writing process, and steps S10-S19 are a flow of an erasing frequency equalization.
【0037】まず、ステップS1において、ホストシス
テム1からの書き込みコマンド、論理アドレスを受取
る。書き込みコマンド、論理アドレスはホストインター
フェース回路11に準備されているレジスタに書き込ま
れる。First, in step S1, a write command and a logical address from the host system 1 are received. The write command and the logical address are written to a register prepared in the host interface circuit 11.
【0038】次に、ステップS2において、ホストイン
ターフェース回路11を通してホストシステム1からの
書き込みデータを受取る。Next, in step S2, write data from the host system 1 is received through the host interface circuit 11.
【0039】次に、ステップS3において、ステップS
1で受取った論理アドレス(ここでは、Xとする)を不
揮発メモリ18の消去ブロック番号(ここでは、X′と
する)に変換するために必要なサブアドレス変換テーブ
ルを不揮発メモリ18から作業用バッファ16に読み出
す。Next, in step S3, step S
The sub-address conversion table necessary for converting the logical address (here, X) received at 1 into the erase block number (here, X ') of the nonvolatile memory 18 is converted from the nonvolatile memory 18 to the working buffer 16. Read out.
【0040】次に、ステップS4において、ステップS
3で読み出されたサブアドレス変換テーブルを使用し
て、論理アドレスXに対応する消去ブロックX′を求め
る。ここでは、読み出されるサブアドレス変換テーブル
内に保存されている論理アドレスの数をY(0〜Y−
1)とし、サブアドレス変換テーブル内のオフセットx
(xは0〜Y−1)に論理アドレスXに対応する消去ブ
ロック番号X′が格納されているものとする。Next, in step S4, step S
The erase block X 'corresponding to the logical address X is obtained by using the sub address conversion table read in step 3. Here, the number of logical addresses stored in the read sub-address conversion table is represented by Y (0 to Y-
1) and the offset x in the subaddress conversion table
It is assumed that the erase block number X 'corresponding to the logical address X is stored in (x is 0 to Y-1).
【0041】次に、ステップS5において、消去ブロッ
クX′の消去回数を不揮発メモリ18からバッファ15
aに読み出す。Next, in step S5, the number of erases of the erase block X 'is stored in the buffer 15 from the nonvolatile memory 18.
Read to a.
【0042】次に、ステップS6において、消去回数が
一定値(たとえば不揮発メモリ18の消去回数の上限値
など)を下回っているか否かを判断する。下回っている
場合はステップS7へ進み、そうでない場合はステップ
S10へ進む。Next, in step S6, it is determined whether or not the number of erasures is below a certain value (for example, the upper limit of the number of erasures of the nonvolatile memory 18). If it is below, the process proceeds to step S7; otherwise, the process proceeds to step S10.
【0043】消去回数がある一定値を下回っている場合
は書き込み可能とみなし、ステップS9において消去ブ
ロックX′を消去する。If the number of erasures is below a certain value, it is considered that writing is possible, and the erasure block X 'is erased in step S9.
【0044】次に、ステップS7において、ステップS
5でえられた消去回数に1を足した値をバッファ15a
に書き込み、ECC回路14を用いてバッファ15a内
のデータを符号化する。Next, in step S7, step S
The value obtained by adding 1 to the number of erasures obtained in 5 is stored in the buffer 15a.
And the data in the buffer 15a is encoded using the ECC circuit 14.
【0045】次に、ステップS8において、バッファ1
5a内部に保存されているデータを不揮発メモリ18の
消去ブロックX′に書き込み、処理を終了する。Next, in step S8, the buffer 1
The data stored inside 5a is written into the erase block X 'of the nonvolatile memory 18, and the process is terminated.
【0046】ステップS6において、消去回数が一定値
を下回っていない場合、消去回数の平準化が行われる。
すなわち、ステップS5で読み出した消去回数から平準
化の必要ありと判断した場合(たとえば、あと数回の消
去・書き込みで消去ブロックの消去回数の上限値を超え
るなど)に行われる。If it is determined in step S6 that the number of erasures is not less than the predetermined value, the number of erasures is leveled.
That is, when it is determined that leveling is necessary based on the number of erasures read in step S5 (for example, the number of erasures / writes exceeds the upper limit of the number of erasures of the erasure block by several erasures).
【0047】まず、ステップS10において、消去ブロ
ックX′の値が格納されているサブアドレス変換テーブ
ルのオフセットxを用いて、データの入換先の消去ブロ
ックZ′を決定する。入換先の消去ブロックZ′の値が
格納されているサブアドレス変換テーブル内のオフセッ
トzは、f(x,Y)を用いて計算される。たとえば、
z=f(x,Y)=(x+1)%Yである。%は剰余計
算である。First, in step S10, an erase block Z 'to which data is to be exchanged is determined by using the offset x of the sub-address conversion table storing the value of the erase block X'. The offset z in the sub-address conversion table in which the value of the replacement destination erase block Z 'is stored is calculated using f (x, Y). For example,
z = f (x, Y) = (x + 1)% Y. % Is the remainder calculation.
【0048】次に、ステップS11において、消去ブロ
ックZ′に記憶された消去回数をバッファ15bに読み
出す。Next, in step S11, the number of erases stored in the erase block Z 'is read out to the buffer 15b.
【0049】次に、ステップS12において、バッファ
15bに読み出された消去回数が一定値を下回っている
か否かを判断する。下回っている場合はステップS13
に進み、下回っていない場合はステップS10へ戻り、
ステップS10,S11の処理を繰り返す。Next, in step S12, it is determined whether or not the number of erasures read out to the buffer 15b is below a certain value. If less than, step S13
If not, return to step S10,
Steps S10 and S11 are repeated.
【0050】次に、ステップS13において、消去ブロ
ックZ′に記憶されたデータをバッファ15bに読み出
す。Next, in step S13, the data stored in the erase block Z 'is read out to the buffer 15b.
【0051】次に、ステップS14において、消去ブロ
ックX′,Z′を消去する。次に、ステップS15にお
いて、バッファ15a,15b内部のデータを加工す
る。消去回数に1を足した値をバッファ15a,15b
に書き込み、ECC回路14を用いてバッファ15a,
15b内のデータを符号化する。Next, in step S14, erase blocks X 'and Z' are erased. Next, in step S15, data in the buffers 15a and 15b is processed. Buffers 15a, 15b
To the buffer 15a, using the ECC circuit 14.
Encode the data in 15b.
【0052】次に、ステップS16において、作業用バ
ッファ16に読み出したサブアドレス変換テーブルのオ
フセットxに消去ブロックZ′の番号を格納し,オフセ
ットzに消去ブロックX′の番号を格納して消去ブロッ
クX′,Z′のデータを入換える。Next, in step S16, the number of the erase block Z 'is stored in the offset x of the sub-address conversion table read into the working buffer 16, and the number of the erase block X' is stored in the offset z, thereby deleting the erase block X. 'And Z' are exchanged.
【0053】次に、ステップS17において、バッファ
15aに格納されたデータを消去ブロックZ′に書き込
む。Next, in step S17, the data stored in the buffer 15a is written to the erase block Z '.
【0054】次に、ステップS18において、バッファ
15bに格納されたデータを消去ブロックX′に書き込
む。Next, in step S18, the data stored in the buffer 15b is written to the erase block X '.
【0055】次に、作業用バッファ16に読み出された
サブアドレス変換テーブルを不揮発メモリ18に書き込
む。Next, the sub-address conversion table read into the working buffer 16 is written into the nonvolatile memory 18.
【0056】以上のようにして、消去回数の平準化が行
われる。サブアドレス変換テーブルを用いることで、ホ
ストシステム1から与えられる論理アドレス番号に縛ら
れることなく、CPU回路12は不揮発メモリ18内の
望む消去ブロックに自由にデータを書き込むことができ
る。As described above, the number of erasures is leveled. By using the sub-address conversion table, the CPU circuit 12 can freely write data in a desired erase block in the nonvolatile memory 18 without being bound by the logical address number given from the host system 1.
【0057】一般に、データ転送作業の前にアドレス変
換テーブルは必ず作業用バッファ16に読み出される。
例えば、米国特許5388083号に示された実施例で
は、アドレス変換に必要な情報がすべての消去ブロック
に分散・格納されており、一度すべての消去ブロック内
のアドレス変換用データを作業バッファ上に読み出して
アドレス変換テーブルを構築するという方法が述べられ
ている。この場合、アドレス変換テーブルの構築にはか
なりの時間を要するが一度アドレス変換テーブルを作成
してしまえばデータ転送時におけるアドレス変換のパフ
ォーマンスは最速となる。Generally, the address conversion table is always read out to the work buffer 16 before the data transfer work.
For example, in the embodiment shown in U.S. Pat. No. 5,388,083, information necessary for address translation is dispersed and stored in all erase blocks, and the address translation data in all erase blocks is read out to the work buffer once. A method of constructing an address conversion table is described. In this case, it takes a considerable amount of time to construct the address conversion table, but once the address conversion table is created, the performance of the address conversion during data transfer is the fastest.
【0058】この実施の形態1では、アドレス変換テー
ブルを不揮発メモリ内部に集中管理・記憶しておき、デ
ータ転送時にアドレス変換に必要なサブアドレス変換テ
ーブルを作業用バッファ16に読み出すという方法をと
る。読み出しサイズは、不揮発メモリ18の消去ブロッ
クの最小消去サイズとする。これにより、全消去ブロッ
クを検索してアドレス変換テーブルを作成するという作
業が必要でなくなり、また、作業用バッファ16の容量
を減らすことができる。In the first embodiment, the address conversion table is centrally managed and stored in the non-volatile memory, and the sub-address conversion table necessary for the address conversion is read out to the work buffer 16 at the time of data transfer. The read size is the minimum erase size of the erase block in the nonvolatile memory 18. This eliminates the need to search all erased blocks to create an address conversion table, and to reduce the capacity of the work buffer 16.
【0059】一方、アドレス変換時に必ず不揮発メモリ
18から作業用バッファ16へのサブアドレス変換テー
ブルの転送というオーバーヘッドが付加される。しか
し、このオーバーヘッドは、データ書き込み時はホスト
システム1からバッファ15a,15bへのデータ転送
中に行なうことが可能である。さらに、データ読み出し
・書き込みにかかわらず一度アドレス変換テーブルを作
業用バッファ16に読み出してしまえば、読み出したサ
ブアドレス変換テーブルがホストシステム1が要求する
論理アドレスに対応している間は再読み出しをしなくて
すむ。したがってこのオーバーヘッドは非常に小さくす
ることができる。なお、消去の最小サイズだけを読み出
すのは消去ブロック間の消去回数の平準化を行なうのに
都合がよいためである。On the other hand, an overhead of transferring the sub address conversion table from the nonvolatile memory 18 to the work buffer 16 is always added at the time of address conversion. However, this overhead can be performed during data transfer from the host system 1 to the buffers 15a and 15b when writing data. Further, once the address conversion table is read into the work buffer 16 regardless of data read / write, rereading is not performed while the read sub-address conversion table corresponds to the logical address requested by the host system 1. Help me. Therefore, this overhead can be very small. The reason why only the minimum erase size is read out is that it is convenient for leveling the number of erases between erase blocks.
【0060】なお、ステップS10では、消去ブロック
Z′の値が格納されているサブアドレス変換テーブル内
のオフセットzは、z=f(x,Y)=(x+1)%Y
によって計算した。しかし、大規模なFATを利用した
場合、複数の不揮発メモリ消去ブロックがFATにあて
られる。この場合には隣り合う消去ブロックもFATで
ある可能性が非常に高いため、z=(x+1)%Yを用
いて書き込み可能な消去回数を持つ消去ブロックZ′を
検索した場合に、入換可能な消去ブロックを見つけ出す
のにかなりの時間を要することが想像できる。このた
め、適当なオフセットをもって検索するようなf(x,
Y)、たとえば、z=f(x,Y)=(x+Y/2−
1)%Yなどを用いれば検索に要する時間が短縮され、
消去ブロックの消去回数の偏りもz=(X+1)%Y以
上に解消される。In step S10, the offset z in the sub-address conversion table storing the value of the erase block Z 'is z = f (x, Y) = (x + 1)% Y
Calculated by However, when a large-scale FAT is used, a plurality of nonvolatile memory erase blocks are allocated to the FAT. In this case, since there is a very high possibility that an adjacent erase block is also a FAT, when an erase block Z ′ having a writable erase count is searched using z = (x + 1)% Y, replacement is possible. It can be imagined that it takes a considerable amount of time to find a proper erase block. For this reason, f (x,
Y), for example, z = f (x, Y) = (x + Y / 2−
1) Using% Y or the like reduces the time required for searching,
The bias in the number of times of erasure of the erase block is also eliminated to z = (X + 1)% Y or more.
【0061】[実施の形態2]実施の形態1では、デー
タ書き込みのタイミングでの平準化処理を述べたが、デ
ータ読み出し時にも平準化処理を行なうことができる。
図5は、データ読み出し時の消去回数の平準化の手順を
示すフローチャートである。以下、図5を参照しつつ説
明する。[Second Embodiment] In the first embodiment, the leveling process at the timing of data writing has been described. However, the leveling process can also be performed at the time of data reading.
FIG. 5 is a flowchart showing a procedure for leveling the number of erasures during data reading. Hereinafter, description will be made with reference to FIG.
【0062】まず、ステップS21において、ホストシ
ステム1からのデータ読み出しコマンド、論理アドレス
を受取る。読み出しコマンド、論理アドレスはホストイ
ンターフェース回路11に準備されているレジスタに書
き込まれる。First, in step S21, a data read command and a logical address from the host system 1 are received. The read command and the logical address are written to a register prepared in the host interface circuit 11.
【0063】次に、ステップS22において、ステップ
S1で受取った論理アドレスXを不揮発メモリ18の消
去ブロック番号X′に変換するために必要なサブアドレ
ス変換テーブルを不揮発メモリ18から作業用バッファ
16に読み出す。Next, in step S22, a sub-address conversion table necessary for converting the logical address X received in step S1 into the erase block number X 'of the nonvolatile memory 18 is read from the nonvolatile memory 18 to the working buffer 16.
【0064】次に、ステップS23において、読み出さ
れたサブアドレス変換テーブルを使用して、論理アドレ
スXに対応する消去ブロックX′を求める。ここでも実
施の形態1同様、一度に読み出されるサブアドレス変換
テーブル内に保存されている論理アドレスの数をY(0
〜Y−1)とし、サブアドレス変換テーブル内のオフセ
ットx(Xは0〜Y−1)に論理アドレスXに対応する
消去ブロック番号X′が格納されているものとする。Next, in step S23, an erase block X 'corresponding to the logical address X is obtained by using the read sub-address conversion table. Here, as in the first embodiment, the number of logical addresses stored in the sub-address conversion table read at one time is represented by Y (0
To Y-1), and the erase block number X 'corresponding to the logical address X is stored at the offset x (X is 0 to Y-1) in the sub-address conversion table.
【0065】次に、ステップS24において、消去ブロ
ックX′の消去回数を不揮発メモリからバッファ15a
に読み出す。Next, in step S24, the number of erases of the erase block X 'is counted from the nonvolatile memory to the buffer 15a.
Read out.
【0066】次に、ステップS25において、消去回数
がある一定値(たとえば、不揮発メモリ18の消去回数
の上限値など)を下回っている場合は問題なしとし、ス
テップS36に進み、ステップS36において、バッフ
ァ15a内にあるデータをホストシステム1に転送し、
処理を終了する。Next, in step S25, if the number of erasures is below a certain value (for example, the upper limit of the number of erasures of the nonvolatile memory 18), there is no problem, and the process proceeds to step S36. 15a is transferred to the host system 1;
The process ends.
【0067】ステップS25において、消去回数がある
一定値を下回っていない場合、ステップS26−S35
による平準化の処理を行なう。ステップS26−S35
の処理は、図4に示されたステップS10−S19にお
ける処理と同様である。If it is determined in step S25 that the number of erasures does not fall below a certain value, steps S26 to S35 are performed.
Leveling process is performed. Step S26-S35
Is the same as the processing in steps S10 to S19 shown in FIG.
【0068】以上のように、この実施の形態2によれ
ば、データ読み出し時にも平準化処理を行なうことがで
きる。As described above, according to the second embodiment, the leveling process can be performed at the time of data reading.
【0069】なお、ここでは、読み出した消去ブロック
の消去回数で平準化の必要性の有無を判断したが(ステ
ップS25)、データ読み出し時の際にECC回路14
でデータエラーが発見されたときをトリガにしてもよ
い。この場合、前者ほど頻繁な平準化は発生しない。Here, whether or not the leveling is necessary is determined based on the number of erasures of the read erasure block (step S25).
May be used as a trigger when a data error is found. In this case, leveling does not occur as frequently as the former.
【0070】[実施の形態3]実施の形態1、2を用い
ると消去回数の平準化は行なえるが、一度に読み出され
るサブアドレス変換テーブルで管理される消去ブロック
のすべてが不揮発メモリの消去回数の上限に近づいた場
合、平準化作業が行なえなくなる。[Embodiment 3] Although Embodiments 1 and 2 can be used to equalize the number of erasures, all the erasure blocks managed by the sub-address conversion table that are read out at a time can reduce the number of erasures of the nonvolatile memory. When approaching the upper limit, leveling work cannot be performed.
【0071】この実施の形態3は、この問題を回避する
ことを目的とする。この実施の形態3による不揮発性半
導体記憶装置は、図1に示された構成に加えてさらに、
第2の作業用バッファを設ける。第2の作業用バッファ
は、作業用バッファ16と同じ容量を有する。The third embodiment aims to avoid this problem. The nonvolatile semiconductor memory device according to the third embodiment further includes, in addition to the configuration shown in FIG.
A second working buffer is provided. The second working buffer has the same capacity as the working buffer 16.
【0072】図6は、実施の形態3によるデータ書き込
み時の消去回数の平準化の手順を示すフローチャートで
ある。以下、消去回数の平準化の手順を図6を参照して
説明する。FIG. 6 is a flowchart showing a procedure for leveling the number of erasures during data writing according to the third embodiment. Hereinafter, the procedure for leveling the number of erasures will be described with reference to FIG.
【0073】ステップS1−S9において、図4に示さ
れたのと同様の処理を行う。実施の形態1との主な違い
は、ステップS6において平準化が必要であると判断さ
れた場合に、ステップS50において、ホストシステム
1からのデータ書き込みに関係しないサブアドレス変換
テーブルBを第2の作業用バッファへ読み出すことであ
る。サブアドレス変換テーブルBの選択は、消去ブロッ
クの特定方法と同様に、B=(A+1)%Cで計算すれ
ばよい。Cは全アドレス変換テーブルを作業用バッファ
16への読み出しサイズYで割った商である。In steps S1-S9, the same processing as that shown in FIG. 4 is performed. The main difference from the first embodiment is that when it is determined in step S6 that leveling is necessary, in step S50, the sub-address conversion table B not related to data writing from the host system 1 Read out to the buffer for The selection of the sub-address conversion table B may be calculated by B = (A + 1)% C, as in the method of specifying the erase block. C is a quotient obtained by dividing the total address conversion table by the readout size Y to the working buffer 16.
【0074】そして、ステップS51において、サブア
ドレス変換テーブルB内でデータの入換先の消去ブロッ
クZ′を決定する。決定方法は、図4のステップS10
と同様である。Then, in step S51, an erase block Z 'to which data is to be replaced is determined in the sub-address conversion table B. The determination method is the same as in step S10 in FIG.
Is the same as
【0075】以下、ステップS51−S59において、
図4に示されたステップS11−S18におけるのと同
様の処理が行われる。Hereinafter, in steps S51-S59,
The same processing as in steps S11 to S18 shown in FIG. 4 is performed.
【0076】次に、ステップS60、S61において、
作業用バッファ16、第2の作業用バッファに格納され
たサブアドレス変換テーブルA,Bを不揮発メモリ18
に書き込む。Next, in steps S60 and S61,
The work buffer 16 stores the sub-address conversion tables A and B stored in the second work buffer in the nonvolatile memory 18.
Write to.
【0077】以上のように、この実施の形態3によれ
ば、一つのサブアドレス変換テーブルで管理される消去
ブロックのすべてが不揮発メモリの消去回数の上限に近
づいた場合にも平準化作業を行うことができる。As described above, according to the third embodiment, the leveling operation can be performed even when all of the erase blocks managed by one sub-address conversion table approach the upper limit of the number of times of erasing of the nonvolatile memory. Can be.
【0078】また、実施の形態1の平準化を併用するこ
とで、さらに広範囲な消去回数の平準化を行なうことが
可能となる。Further, by using the leveling of the first embodiment together, it is possible to level the erasing frequency in a wider range.
【0079】なお、ここでは、ステップS50におい
て、サブアドレス変換テーブルBの選択は、B=(A+
1)%Cで計算したが、B=(A+C/2−1)%Cで
計算することもできる。Here, in step S50, the selection of the sub-address conversion table B is performed as follows: B = (A +
1) Calculated with% C, but can also be calculated with B = (A + C / 2-1)% C.
【0080】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。The embodiments disclosed this time are to be considered in all respects as illustrative and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
【0081】[0081]
【発明の効果】この発明の1つの局面に従った不揮発性
半導体記憶装置は、複数の消去ブロックと、アドレス変
換テーブル記憶領域と、第1の選択手段と、第2の選択
手段と、入換手段とを設けたため、複雑な処理を必要と
せず平易に消去ブロック間の消去回数を平準化すること
ができる。According to one aspect of the present invention, there is provided a nonvolatile semiconductor memory device including a plurality of erase blocks, an address conversion table storage area, first selection means, second selection means, Since the means is provided, the number of erasures between erase blocks can be easily leveled without requiring complicated processing.
【0082】また、アドレス変換テーブルは、複数のサ
ブアドレス変換テーブルに分割され、第1の選択手段は
さらに、第1の消去ブロックを含むサブアドレス変換テ
ーブルを選択し、第2の選択手段は、第1の消去ブロッ
クに記憶された消去回数が所定の消去回数を超えている
とき、第1の選択手段により選択されたサブアドレス変
換テーブルを参照して第2の消去ブロックを選択するた
め、アドレス変換テーブル全体を参照する場合に比べて
より平易に消去ブロック間の消去回数を平準化すること
ができる。Further, the address conversion table is divided into a plurality of sub address conversion tables, the first selecting means further selects a sub address conversion table including the first erase block, and the second selecting means selects the first sub address conversion table. When the number of erases stored in the erase block exceeds the predetermined number of erases, the second erase block is selected with reference to the sub-address conversion table selected by the first selecting means. , The number of times of erasure between erase blocks can be leveled more easily than in the case of referring to.
【0083】この発明のもう1つの局面に従った不揮発
性半導体記憶装置は、複数の消去ブロックと、アドレス
変換テーブル記憶領域と、第1の選択手段と、第2の選
択手段と、入換手段とを設けたため、データ読み出し時
においても平易に消去ブロック間の消去回数を平準化す
ることができる。A nonvolatile semiconductor memory device according to another aspect of the present invention includes a plurality of erase blocks, an address conversion table storage area, a first selection unit, a second selection unit, and a replacement unit. Is provided, the number of erasures between erase blocks can be easily leveled even during data reading.
【0084】この発明のさらにもう1つの局面に従った
不揮発性半導体記憶装置は、複数の消去ブロックと、ア
ドレス変換テーブル記憶領域と、第1の選択手段と、第
2の選択手段と、入換手段とを設けたため、第1のサブ
アドレス変換テーブルで管理される消去ブロックのすべ
てが不揮発メモリの消去回数の上限に近づいた場合にも
平準化作業を行うことができる。According to still another aspect of the present invention, there is provided a nonvolatile semiconductor memory device comprising: a plurality of erase blocks; an address conversion table storage area; a first selecting means; a second selecting means; Since the means is provided, the leveling operation can be performed even when all of the erase blocks managed by the first sub-address conversion table approach the upper limit of the number of times of erasing of the nonvolatile memory.
【図1】 この発明の実施の形態1による半導体記憶装
置の全体構成を示すブロック図である。FIG. 1 is a block diagram showing an overall configuration of a semiconductor memory device according to a first embodiment of the present invention.
【図2】 図1に示された消去ブロックの内部構成を示
す図である。FIG. 2 is a diagram showing an internal configuration of an erase block shown in FIG.
【図3】 アドレス変換テーブルの概念図である。FIG. 3 is a conceptual diagram of an address conversion table.
【図4】 実施の形態1によるデータ書き込み時の消去
回数の平準化の手順を示すフローチャートである。FIG. 4 is a flowchart showing a procedure for leveling the number of erasures during data writing according to the first embodiment;
【図5】 実施の形態2によるデータ読み出し時の消去
回数の平準化の手順を示すフローチャートである。FIG. 5 is a flowchart showing a procedure for leveling the number of erasures during data reading according to the second embodiment;
【図6】 実施の形態3によるデータ書き込み時の消去
回数の平準化の手順を示すフローチャートである。FIG. 6 is a flowchart showing a procedure for leveling the number of erasures during data writing according to the third embodiment.
11 ホストインターフェース回路、12 CPU回
路、13 シーケンサ回路、14 ECC回路、15
a,15b バッファ、16 作業用バッファ、17
不揮発メモリ制御回路、18 不揮発メモリ、BK
(0)−BK(M) 消去ブロック。11 Host interface circuit, 12 CPU circuit, 13 Sequencer circuit, 14 ECC circuit, 15
a, 15b buffer, 16 working buffer, 17
Non-volatile memory control circuit, 18 Non-volatile memory, BK
(0) -BK (M) Erase block.
Claims (7)
域とを有する複数の消去ブロックと、 複数の論理アドレスと前記複数の消去ブロックとを対応
づけたアドレス変換テーブルを記憶するアドレス変換テ
ーブル記憶領域と、 前記アドレス変換テーブルを参照して前記複数の消去ブ
ロックの中から、データ書き込み時に外部から与えられ
る論理アドレスに対応づけられた第1の消去ブロックを
選択する第1の選択手段と、 前記第1の消去ブロックに記憶された消去回数が所定の
消去回数を超えているとき、前記アドレス変換テーブル
を参照して、前記複数の消去ブロックの中から第2の消
去ブロックを選択する第2の選択手段と、 前記第2の消去ブロックに記憶された消去回数が前記所
定の消去回数を超えていないとき、前記第2の消去ブロ
ックに記憶されたデータを前記第1の消去ブロックに書
き込み、外部からの書き込みデータを前記第2の消去ブ
ロックに書き込み、かつ前記第1の消去ブロックを前記
第2の消去ブロックが対応づけられていた論理アドレス
に対応づけ、前記第2の消去ブロックを前記第1の消去
ブロックが対応づけられていた論理アドレスに対応づけ
る入換手段とを備える、不揮発性半導体記憶装置。1. An address conversion table storage area for storing a plurality of erase blocks each having a data storage area and an erase count storage area, and an address conversion table in which a plurality of logical addresses are associated with the plurality of erase blocks. First selecting means for selecting a first erase block associated with a logical address given externally during data writing from the plurality of erase blocks with reference to the address conversion table; A second selection step of selecting a second erase block from the plurality of erase blocks by referring to the address conversion table when the erase count stored in one erase block exceeds a predetermined erase count; Means, when the erase count stored in the second erase block does not exceed the predetermined erase count, the second erase block. The data stored in the memory is written to the first erase block, externally written data is written to the second erase block, and the first erase block is associated with the second erase block. A non-volatile semiconductor storage device, comprising: a replacement unit that associates the second erase block with the logical address that the first erase block is associated with.
ブアドレス変換テーブルに分割され、 前記第1の選択手段はさらに、前記第1の消去ブロック
を含むサブアドレス変換テーブルを選択し、 前記第2の選択手段は、前記第1の消去ブロックに記憶
された消去回数が所定の消去回数を超えているとき、前
記第1の選択手段により選択されたサブアドレス変換テ
ーブルを参照して前記第2の消去ブロックを選択する、
請求項1に記載の不揮発性半導体記憶装置。2. The address conversion table is divided into a plurality of sub-address conversion tables, the first selection unit further selects a sub-address conversion table including the first erase block, and the second selection unit Selecting the second erase block by referring to a sub-address conversion table selected by the first selecting means when the number of erases stored in the first erase block exceeds a predetermined number of erases Do
The nonvolatile semiconductor memory device according to claim 1.
必要な記憶容量の整数倍が前記複数の消去ブロックの各
々の記憶容量に等しい、請求項2に記載の不揮発性半導
体記憶装置。3. The nonvolatile semiconductor memory device according to claim 2, wherein an integral multiple of a storage capacity required for each of said sub-address conversion tables is equal to a storage capacity of each of said plurality of erase blocks.
域とを有する複数の消去ブロックと、 複数の論理アドレスと前記複数の消去ブロックとを対応
づけたアドレス変換テーブルを記憶するアドレス変換テ
ーブル記憶領域と、 前記アドレス変換テーブルを参照して前記複数の消去ブ
ロックの中から、データ読み出し時に外部から与えられ
る論理アドレスに対応づけられた第1の消去ブロックを
選択する第1の選択手段と、 前記第1の消去ブロックに記憶された消去回数が所定の
消去回数を超えているとき、前記アドレス変換テーブル
を参照して、前記複数の消去ブロックの中から第2の消
去ブロックを選択する第2の選択手段と、 前記第2の消去ブロックに記憶された消去回数が前記所
定の消去回数を超えていないとき、前記第1の消去ブロ
ックに記憶されたデータと前記第2の消去ブロックに記
憶されたデータとを入換え、かつ前記第1の消去ブロッ
クを前記第2の消去ブロックが対応づけられていた論理
アドレスに対応づけ、前記第2の消去ブロックを前記第
1の消去ブロックが対応づけられていた論理アドレスに
対応づける入換手段とを備える、不揮発性半導体記憶装
置。4. An address conversion table storage area for storing a plurality of erase blocks each having a data storage area and an erase count storage area, and an address conversion table in which a plurality of logical addresses are associated with the plurality of erase blocks. First selecting means for selecting a first erase block associated with a logical address given externally when reading data from the plurality of erase blocks by referring to the address conversion table; A second selection step of selecting a second erase block from the plurality of erase blocks by referring to the address conversion table when the erase count stored in one erase block exceeds a predetermined erase count; Means, when the number of erases stored in the second erase block does not exceed the predetermined number of erases, the first erase block. Swapping the data stored in the second erase block with the data stored in the second erase block, and associating the first erase block with a logical address to which the second erase block was associated; A non-volatile semiconductor memory device, comprising: a replacement unit for associating the second erase block with a logical address associated with the first erase block.
ブアドレス変換テーブルに分割され、 前記第1の選択手段はさらに、前記第1の消去ブロック
を含むサブアドレス変換テーブルを選択し、 前記第2の選択手段は、前記第1の消去ブロックに記憶
された消去回数が所定の消去回数を超えているとき、前
記第1の選択手段により選択されたサブアドレス変換テ
ーブルを参照して前記第2の消去ブロックを選択する、
請求項4に記載の不揮発性半導体記憶装置。5. The address conversion table is divided into a plurality of sub-address conversion tables, the first selection unit further selects a sub-address conversion table including the first erase block, and the second selection unit Selecting the second erase block by referring to a sub-address conversion table selected by the first selecting means when the number of erases stored in the first erase block exceeds a predetermined number of erases Do
The nonvolatile semiconductor memory device according to claim 4.
必要な記憶容量の整数倍が前記複数の消去ブロックの各
々の記憶容量に等しい、請求項5に記載の不揮発性半導
体記憶装置。6. The nonvolatile semiconductor memory device according to claim 5, wherein an integral multiple of a storage capacity required for each of said sub-address conversion tables is equal to a storage capacity of each of said plurality of erase blocks.
数の消去ブロックと、 複数の論理アドレスと前記複数の消去ブロックとを対応
づけたアドレス変換テーブルを記憶するアドレス変換テ
ーブル記憶領域とを備え、 前記アドレス変換テーブルは複数のサブアドレス変換テ
ーブルに分割され、 前記不揮発性半導体記憶装置はさらに、 前記複数の消去ブロックの中からデータ書き込み時に外
部から与えられる論理アドレスに対応づけられた第1の
消去ブロックを選択しかつ第1の消去ブロックを含む第
1のサブアドレス変換テーブルを選択する第1の選択手
段と、 前記第1の消去ブロックに記憶された消去回数が所定の
消去回数を超えているとき、第2のサブアドレス変換テ
ーブルを選択しかつ第2のアドレス変換テーブルを参照
して第2の消去ブロックを選択する第2の選択手段と、 前記第2の消去ブロックに記憶された消去回数が前記所
定の消去回数を超えていないとき、前記第2の消去ブロ
ックに記憶されたデータを前記第1の消去ブロックに書
き込み、外部からの書き込みデータを前記第2の消去ブ
ロックに書き込み、かつ前記第1の消去ブロックを前記
第2の消去ブロックが対応づけられていた論理アドレス
に対応づけ、前記第2の消去ブロックを前記第1の消去
ブロックが対応づけられていた論理アドレスに対応づけ
る入換手段とを備える、不揮発性半導体記憶装置。7. A non-volatile semiconductor memory device, comprising: a plurality of erase blocks each having a data storage area and an erase count storage area; and address conversion in which a plurality of logical addresses are associated with the plurality of erase blocks. An address conversion table storage area for storing a table, wherein the address conversion table is divided into a plurality of sub-address conversion tables, and the nonvolatile semiconductor memory device further externally supplies data from among the plurality of erase blocks when writing data. First selecting means for selecting a first erase block associated with a logical address to be selected and selecting a first sub-address conversion table including the first erase block; and a first selection block stored in the first erase block. When the number of erasures exceeds a predetermined number of erasures, the second sub-address conversion table is selected. And second selecting means for selecting a second erase block by referring to a second address conversion table; and when the number of erases stored in the second erase block does not exceed the predetermined number of erases, Writing data stored in the second erase block to the first erase block, writing externally written data to the second erase block, and writing the first erase block to the second erase block. A non-volatile semiconductor storage device, comprising: a replacement unit that associates the second erase block with the logical address associated with the first erase block.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9473899A JP2000285688A (en) | 1999-04-01 | 1999-04-01 | Non-volatile semiconductor memory |
US09/372,589 US6167483A (en) | 1999-04-01 | 1999-08-12 | Block erase type nonvolatile semiconductor memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9473899A JP2000285688A (en) | 1999-04-01 | 1999-04-01 | Non-volatile semiconductor memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000285688A true JP2000285688A (en) | 2000-10-13 |
Family
ID=14118467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9473899A Withdrawn JP2000285688A (en) | 1999-04-01 | 1999-04-01 | Non-volatile semiconductor memory |
Country Status (2)
Country | Link |
---|---|
US (1) | US6167483A (en) |
JP (1) | JP2000285688A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006504201A (en) * | 2002-10-28 | 2006-02-02 | サンディスク コーポレイション | Automatic wear leveling in non-volatile storage systems. |
JP2006513525A (en) * | 2003-01-28 | 2006-04-20 | サンディスク コーポレイション | Nonvolatile semiconductor memory having wide erase block for storing cycle count value |
JP2009020955A (en) * | 2007-07-12 | 2009-01-29 | Hitachi Ltd | Recording device |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2787601A1 (en) * | 1998-12-22 | 2000-06-23 | Gemplus Card Int | Memory system with anti-wear memory management and method of managing an anti-wear memory so as to increase duration life of memory |
KR100550789B1 (en) * | 2002-07-18 | 2006-02-08 | 주식회사 하이닉스반도체 | Circuit for supplying program/erase voltage in a flash memory device |
US20040039871A1 (en) * | 2002-08-26 | 2004-02-26 | Colin Stobbs | Replacement memory device |
EP1713085A1 (en) * | 2002-10-28 | 2006-10-18 | SanDisk Corporation | Automated wear leveling in non-volatile storage systems |
JP4289026B2 (en) * | 2003-05-28 | 2009-07-01 | 日本電気株式会社 | Semiconductor memory device |
US9465351B2 (en) * | 2011-06-23 | 2016-10-11 | Steven Miller | Self-transforming imaging cartridge chip |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5388083A (en) * | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
-
1999
- 1999-04-01 JP JP9473899A patent/JP2000285688A/en not_active Withdrawn
- 1999-08-12 US US09/372,589 patent/US6167483A/en not_active Expired - Lifetime
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006504201A (en) * | 2002-10-28 | 2006-02-02 | サンディスク コーポレイション | Automatic wear leveling in non-volatile storage systems. |
JP2006513525A (en) * | 2003-01-28 | 2006-04-20 | サンディスク コーポレイション | Nonvolatile semiconductor memory having wide erase block for storing cycle count value |
JP4648006B2 (en) * | 2003-01-28 | 2011-03-09 | サンディスク コーポレイション | Nonvolatile semiconductor memory having wide erase block for storing cycle count value |
JP2009020955A (en) * | 2007-07-12 | 2009-01-29 | Hitachi Ltd | Recording device |
Also Published As
Publication number | Publication date |
---|---|
US6167483A (en) | 2000-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8397019B2 (en) | Memory for accessing multiple sectors of information substantially concurrently | |
US6202138B1 (en) | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices | |
EP1189139B1 (en) | Recording system, data recording device, memory device, and data recording method | |
US6757800B1 (en) | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices | |
US9032134B2 (en) | Methods of operating a memory system that include outputting a data pattern from a sector allocation table to a host if a logical sector is indicated as being erased | |
JP5603997B2 (en) | Storage apparatus and data control method | |
JP5480913B2 (en) | Storage device and memory controller | |
US7647470B2 (en) | Memory device and controlling method for elongating the life of nonvolatile memory | |
US6965963B1 (en) | Continuous arrangement of data clusters across multiple storages | |
JP2000067574A (en) | Semiconductor memory | |
WO2009096180A1 (en) | Memory controller, nonvolatile storage device, and nonvolatile storage system | |
WO2006009322A2 (en) | Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory | |
US20100180072A1 (en) | Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program | |
JP2000285688A (en) | Non-volatile semiconductor memory | |
JP2012058770A (en) | Memory controller, flash memory system equipped with memory controller and control method of flash memory | |
JP2012068765A (en) | Memory controller, flash memory system with memory controller, and control method of flash memory | |
JP2003122630A (en) | Memory controller, flash memory system having memory controller, and method for controlling flash memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060606 |