JP3412839B2 - Non-volatile semiconductor memory device - Google Patents

Non-volatile semiconductor memory device

Info

Publication number
JP3412839B2
JP3412839B2 JP17423292A JP17423292A JP3412839B2 JP 3412839 B2 JP3412839 B2 JP 3412839B2 JP 17423292 A JP17423292 A JP 17423292A JP 17423292 A JP17423292 A JP 17423292A JP 3412839 B2 JP3412839 B2 JP 3412839B2
Authority
JP
Japan
Prior art keywords
data
block
writing
written
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP17423292A
Other languages
Japanese (ja)
Other versions
JPH0619778A (en
Inventor
豊 岡本
義幸 田中
Original Assignee
株式会社東芝
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 株式会社東芝 filed Critical 株式会社東芝
Priority to JP17423292A priority Critical patent/JP3412839B2/en
Publication of JPH0619778A publication Critical patent/JPH0619778A/en
Application granted granted Critical
Publication of JP3412839B2 publication Critical patent/JP3412839B2/en
Anticipated expiration legal-status Critical
Application status is Expired - Fee Related legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F2003/0694Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers emulating arrangements, e.g. RAM-disc

Description

【発明の詳細な説明】 【0001】 【産業上の利用分野】本発明は、電気的に書き換え可能な不揮発性半導体メモリ素子(EEPROM)のうちのNAND型EEPROMを用いた不揮発性半導体メモリ装置に関する。 BACKGROUND OF THE INVENTION [0001] Field of the Invention The present invention relates to a nonvolatile semiconductor memory device using a NAND-type EEPROM of the electrically rewritable nonvolatile semiconductor memory device (EEPROM) . 【0002】 【従来の技術】コンピュータの2次記憶装置には、現在磁気ディスク装置が広く用いられているが、近年、電気的に書き換え可能な不揮発性半導体メモリ(EEPRO [0002] The secondary storage device of a computer, but the current magnetic disk apparatus has been widely used in recent years, an electrically rewritable nonvolatile semiconductor memory (EEPRO
M)が、その機械的強度に対する信頼性、低消費電力、 M) is, reliability of the mechanical strength, low power consumption,
可搬性の良さ、高速アクセスといった特徴を生かして、 Portability of goodness, taking advantage of features such as high-speed access,
磁気ディスクを置き換えるような用途に使われだした。 It was Tsukawaredashi applications such as replacing the magnetic disk.
しかし、磁気ディスク装置とEEPROMには機能的な相違点があるため、従来の磁気ディスク装置をそのまま置き換えるためには、これを埋めるための制御が必要となる。 However, because of the functional differences between the magnetic disk device and EEPROM, to replace the conventional magnetic disk device it is, it is necessary to control to fill this. 【0003】EEPROMの一つとして、高集積化が可能なNAND型EEPROMが知られている。 As one of the EEPROM, high integration can NAND type EEPROM is known. これは、 this is,
複数のメモリセルをそれらのソース、ドレインを隣接するもの同士で共有する形で直列接続して一単位とし、ビット線に接続するものである。 As one unit in series connection in the form of sharing a plurality of memory cells in adjacent ones their source, a drain, and connects to the bit line. メモリセルは通常、電荷蓄積層と制御ゲートが積層されたFETMOS構造を有する。 The memory cell generally has a FETMOS structure in which the control gate are laminated with the charge storage layer. メモリセルアレイは、p型基板、又はn型基板に形成されたp型ウェル内に集積形成される。 Memory cell array, a p-type substrate, or is integrally formed on the n-type substrate which is formed on the p-type well. NANDセルのドレイン側は選択ゲートを介してビット線に接続され、ソース側はやはり選択ゲートを介して、ソース線(基準電位配線に接続される(図21))。 The drain side of the NAND cell is connected to a bit line via a select gate, source side again via the selection gate, a source line (connected to a reference potential wiring (Fig. 21)). メモリセルの制御ゲートは、行方向に連続的に接続されてワード線となる。 The control gate of the memory cell is a word line is continuously connected to the row direction. 通常同一ワード線につながるメモリセルの集合を1ページと呼び、一組のドレイン側及びソース側の選択ゲートに挟まれたページの集合を1NANDブロック又は単に1ブロックと呼ぶ(図22)。 A set of memory cells connected to the normal same word line is called one page, referred to as 1NAND block or simply one block a set of pages sandwiched between a pair of drain-side and source-side select gate (Figure 22). 通常1ブロックは独立に消去可能な最小単位となる。 Usually one block is minimized erasable independently units. 【0004】NAND型EEPROMの動作は次の通りである。 [0004] The operation of the NAND type EEPROM is as follows. データの消去は1NANDブロック内のメモリセルに対して同時に行われる。 Data is erased simultaneously on the memory cells in the 1NAND block. 即ち選択されたNAND That is selected NAND
ブロックの全ての制御ゲートを基準電位VSSとし、p All of the control gates of the block as a reference potential VSS, p
型ウェル及びn型基板に高電圧VPP(例えば20V) Type well and n-type substrate to a high voltage VPP (e.g., 20V)
を印加する。 It is applied to. これにより、全てのメモリセルにおいて浮遊ゲートから基板に電子が放出され、しきい値は負の方向にシフトする。 Thus, electrons are emitted to the substrate from the floating gate in all the memory cells, the threshold is shifted in the negative direction. 通常この状態を”1”状態と定義する。 Normal is defined as "1" state of this state. またチップ消去は全NANDブロックを選択状態にすることによりなされる。 The chip erase is done by the selected state all NAND blocks. 【0005】データの書き込み動作は、ビット線から最も離れた位置のメモリセルから順に行われる。 [0005] Data write operation is performed from the memory cell farthest from the bit line in order. NAND NAND
ブロック内の選択された制御ゲートには高電圧VPP The selected control gate in the block high voltage VPP
(例えば20V)を印加し、他の非選択ゲートには中間電位VM(例えば10V)を与える。 (E.g., 20V) is applied to, the other unselected gates provide an intermediate potential VM (e.g., 10V). またビット線にはデータに応じて、VSS又はVMを与える。 Further in accordance with the data to the bit line, giving the VSS or VM. ビット線にVSSが与えられたとき(”0”書き込み)、その電位は選択メモリセルに伝達され、浮遊ゲートに電子注入が生ずる。 When VSS is applied to the bit line ( "0" write), the potential is transmitted to the selected memory cell, the electron injection occurs in the floating gate. これによりその選択メモリセルのしきい値は正方向にシフトする。 Thus the threshold of the selected memory cell is shifted in the positive direction. 通常この状態を”0”状態と定義する。 Normal is defined as a "0" state of this state. ビット線にVMが与えられた(”1”書き込み)メモリセルには電子注入は起らず、従ってしきい値は変化せず負に留まる。 VM is applied to the bit line ( "1" is written) electrons injected into the memory cell will not Okoshira, therefore the threshold remains negative unchanged. データの読み出し動作はNANDブロック内の選択されたメモリセルの制御ゲートをVSSとして、それ以外の制御ゲート及び選択ゲートをVCCとし選択メモリセルで電流が流れるか否かを検出することにより行われる。 As the control gate of a selected memory cell in the data read operation in the NAND block VSS, it is the other control gates and select gates by detecting whether a current flows in the selected memory cell is VCC. 【0006】NAND型EEPROMではデータの書き込みはソース線に近いページからドレイン側のページに順に行なわれる必要がある。 [0006] Writing of the NAND type EEPROM the data needs to be performed in order from page closer to the source line on the drain side of the page. その必要性を図23を参照して以下に説明する。 The necessity with reference to FIG. 23 will be described below. ”1”書き込みは中間電位VM "1" write the intermediate potential VM
(10V程度)を選択メモリセルのドレインに転送し、 And transfer (about 10V) to the drain of the selected memory cell,
電子の注入を起こさせず消去状態(即ち負のしきい値) Erased state without causing the injection of electrons (i.e., negative threshold)
を保つ。 The keep. 図23は制御ゲート1が選択状態(VPP)のときを示している。 Figure 23 is a control gate 1 is shown when the selected state (VPP). よって制御ゲート2は非選択でVM Thus the control gate 2 VM unselected
が与えられている。 It has been given. またドレインにもVM(”1”書き込み)が与えられている。 The VM also to drain ( "1" writing) is given. 図23(a)はソース側から書き込みを行なったときの図、図23(b)はドレイン側から書き込みを行なった場合のものである。 Figure 23 (a) is diagram when performing writing from the source side, FIG. 23 (b) is of the case of performing the writing from the drain side. 図23 Figure 23
(a)の場合ドレイン側のセルMa2のしきい値は負であるので、ドレインの電位VMは確実にソース側セルM The threshold of the cell Ma2 when the drain side of the (a) is negative, the drain potential VM is reliably source cell M
a1に転送される。 a1 is transferred to. しかしながら、図23(b)の場合ドレイン側セルMb2にすでに”0”書き込み動作がなされ、正のしきい値(たとえば3.5V)を持っていたとすると、ソース側セルMb1に”1”を書き込む際、 However, already "0" write operation is performed when the drain-side cell Mb2 in FIG. 23 (b), the When had a positive threshold (e.g. 3.5 V), "1" is written to the source-side cell Mb1 when,
セルMb1にはVMからセルMb2のしきい値電圧分差し引いた電圧しか転送されてこない。 Voltage only come been transferred which is obtained by subtracting the threshold voltage of the cell Mb2 from the VM in the cell Mb1. よってセルMb1 Therefore, cell Mb1
では制御ゲートと基板間の電位差が大きくなって誤書き込みが起こる可能性がある。 In there is a possibility that erroneous writing occurs increases the potential difference between the control gate and the substrate. 以上のようにソース側から順に書き込む手段は誤書き込みを防ぐ意味で重要である。 The means for writing in order from the source side as described above is important in the sense of preventing erroneous writing. 【0007】従来の磁気ディスク装置では、データの読み出しや書き込みといったアクセスは、セクタを単位として行われている。 [0007] In the conventional magnetic disk drive, access such data reading and writing is performed on a sector basis. 磁気記録媒体上に同心円状に形成される記憶領域の1本1本はトラックと呼ばれているが、 One single storage area formed concentrically on the magnetic recording medium is called a track but,
このトラックがさらに数十個の領域に分割されてセクタと呼ばれる記憶単位が形成されている。 Storage unit is formed of this track is further divided into dozens of areas called by sector. パーソナルユースの携帯型コンピュータに使用されている典型的磁気ディスク装置の1セクタの容量は512バイトである。 Capacity of one sector of a typical magnetic disk device used in personal use of the portable computer is 512 bytes. 【0008】また、コンピュータが磁気ディスク装置にデータを記憶させる場合の一塊のデータをファイルと呼んでいるが、このファイルが記憶装置上のどの場所に記憶されているのかを管理するのが、オペレーティングシステム(以下OS)の重要な機能の一つである。 Further, although the computer is calling data of lump when storing data on a magnetic disk device and the file, that manages whether this file is stored in any location on the storage device, the operating it is one of the important functions of the system (hereinafter referred to as OS). 【0009】図24は、パーソナルユースの携帯型コンピュータに使用されている典型的なOSの一つであるM [0009] Figure 24 is one of the typical OS used in personal use of the portable computer M
S−DOSがファイル管理をするために磁気ディスク装置の記憶領域をどの様に使用しているかを示す図である。 It shows whether the use to which such a storage area of ​​the magnetic disk device to S-DOS is the file management. 61のブート領域はコンピュータが起動するときに必要な情報が納められている領域で、ユーザファイルの管理には関わらない領域である。 In region boot area of ​​61 which is housed the information needed when the computer is started, it is a region not involved in the management of the user file. 64のルートディレクトリ領域には、ファイルの名前とそれに付随する情報を記録したファイル管理用テーブルが納められている。 To 64 root directory area of ​​the name and the file management table which records the information associated with that of the file has been paid. ルートディレクトリにより他のデータファイルと同様な扱いで管理されるが、その内容はルートディレクトリと同一の、サブディレクトリと呼ばれるものがデータ領域に階層的に存在し得る。 Is managed in the same treatment with other data files to the root directory, the contents of the same root directory, what is called a subdirectory may hierarchically exist in the data area. これらは、存在する領域と階層中での順位を除いて機能的には同じものであるので総称して単にディレクトリと呼ばれる。 These are the functions except for the position on the presence areas and hierarchical called simply a directory generically since the same. ディレクトリ中の1つのファイルに関する情報は32バイトの領域を占めていてその内容は図25に示すようになっている。 Information about a file in the directory, the contents occupy an area of ​​32 bytes is as shown in FIG. 25. 磁気ディスク装置のデータ記録がセクタを単位としていることは先に述べたが、ファイルに対してディスク上の領域を割り当てるにはクラスタという論理的単位を用いる。 It was mentioned earlier that the data recorded in the magnetic disk device is in units of sectors, using a logical unit called a cluster to allocate space on the disk for the file. 1クラスタは、2のべき乗倍個のセクタで構成されるようにディスクの種類によって決められている。 1 cluster is determined by the type of disk to consist of two exponentiation number of sectors. 図25の66 Figure 25 of 66
のスタートクラスタ番号とはファイルの先頭に割り当てられたクラスタの番号である。 And of the start cluster number is the number of clusters that are assigned at the beginning of the file. 図24の62のFAT領域には、65のデータ領域中のクラスタがどの様な順につながって、1つのファイルを構成しているのかを表すデータ領域へのファイル割当情報が納められている。 The FAT area 62 in FIG. 24, connected to any kind of order of clusters in the data area 65, the file allocation information of the data area indicating whether constituting one file is housed. 6
3はFAT領域62のバックアップである。 3 is a backup of the FAT area 62. 以上のように、MS−DOSのファイル管理は、FAT領域とルートディレクトリ領域の情報をもとに行われるが、これらの領域の位置と大きさは、ディスクの種類ごとに決められていて固定である。 As described above, the file management for MS-DOS is carried out based on the information of FAT area and a root directory area, the position and size of these regions is a fixed have determined for each type of disk is there. 【0010】NAND型EEPROMのアクセスの単位は前述の通りページである。 [0010] The unit of access of the NAND-type EEPROM is as described above page. 4MビットのNAND型E 4M-bit NAND type E
EPROMを例に取ると、1ページは512バイトで、 Taking the EPROM as an example, one page is 512 bytes,
1ブロックは8ページで構成されている。 1 block is composed of eight pages. よって、磁気ディスク装置をNAND型EEPROMで置き換えるような応用においては、ディスクの1セクタをNAND型EEPROMの1ページに対応させると変換が容易である。 Therefore, in applications such as replacing the magnetic disk device in a NAND type EEPROM it is easy converted to correspond to one sector of the disk on one page of the NAND type EEPROM. しかしながら磁気ディスク装置をEEPROMで置き換えようとする場合に問題となる大きな相違点の一つに、データの書き換え可能回数がある。 However the magnetic disk device to one major difference, which is a problem when you try to replace in EEPROM, there is rewritable number data. 磁気ディスク装置の場合、媒体上に記録されるデータの書き換え回数には制限がなく、その寿命はヘッドと磁気記録媒体が接触することによる損傷といった機械的な要因に支配されている。 If the magnetic disk device, there is no limit on the number of times of rewriting data recorded on the medium, its life is governed by mechanical factors such as damage caused by head and the magnetic recording medium are in contact. 一方EEPROMの場合は、データの書き換え可能回数が現状の技術では10 4ないし10 5回程度しかない。 On the other hand, in the case of EEPROM, rewritable number of times data is only about 10 4 to 10 5 times in the state of the art. 【0011】また、前述のように、磁気ディスク装置の1セクタに記録される”データ”量は512バイトであるが、このデータ量とはユーザが記録再生する情報の量で、セクタ内にはこの他にも、記録再生制御に必要な情報が追加して書き込まれてある。 [0011] As described above, the "data" amount is recorded in one sector of the magnetic disk device is 512 bytes, with the amount of information that the user is the data amount recorded and reproduced, in the sector in addition to this, information required for recording and reproduction control are written in addition. そういった情報の一つに誤り訂正コード(以下ECCコード)がある。 One of such information is error-correction code (hereinafter ECC code). これは、媒体の欠陥やノイズの影響等で、ユーザのデータが正しく読み取れなかった場合に、読み取りデータに誤りがあることを検出したり、さらにその誤りを訂正したりするための情報で、セクタにデータを書き込むときに、 This is the effect such media defects and noise, when the data of the user has not read correctly, and detect that there is an error in the read data, further information for or to correct the error, sector when writing data to,
ECC発生回路が記録されるデータをもとに計算し、データとともに媒体上に書き込まれる。 Computed based on the data ECC generation circuit is recorded, is written on a medium along with the data. 【0012】NAND型EEPROMのアクセス単位はページであり、多少の相違はあるものの、これを磁気ディスク装置のセクタに相当するものと見なすことができる。 [0012] Access Unit of the NAND type EEPROM is page, although there are some differences, can be regarded as equivalent to this sector of the magnetic disk device. 信頼性を向上させるため、磁気ディスク装置のように、1ページの物理的な容量をユーザデータが記録再生される情報量より多くして、その冗長分をECCに割り当てることは有効な施策の一つである。 To improve the reliability, as in the magnetic disk apparatus, 1 the physical volume of pages more than the amount of information the user data is recorded and reproduced, of effective measures to allocate the redundant component to the ECC one One is is. 【0013】従来の磁気ディスク装置では、これを記憶装置として使用するために、フォーマットと呼ばれる初期化が必要とされる。 [0013] In the conventional magnetic disk device, in order to use it as a storage device, the initialization called format is required. フォーマットにより、磁気記録媒体上には一連の複数セクタが円周上に並んだトラックが形成され、さらにこのトラックが同心円状に複数(通常数百〜千数百)本形成される。 The format, a series of multiple sectors on a magnetic recording medium is formed tracks arranged in a circle, still this track is the formed plurality (usually several hundred to one thousand and several hundred) concentrically. このとき、各セクタは、 In this case, each sector,
ユーザデータ領域に特定の初期化パターンが書き込まれるとともに、記録再生制御に必要な情報が書き込まれる。 With the particular initialization pattern in the user data area is written, the information necessary for the recording and reproduction control is written. ECCも初期化パターンから計算されたものが書き込まれる。 ECC but also was calculated from the initial pattern is written. 一方、NAND型EEPROMは、先の説明からわかるように、一度書き込みを行ったページに対しては、磁気ディスク装置で行われるような重ね書きをすることは出来ない。 On the other hand, NAND type EEPROM, as can be seen from the foregoing description, for once page has been written, can not be overwriting the same way that the magnetic disk device. 例え1ページでもデータを書き換えるためには、複数のページからなるブロックを単位として消去を行う必要があるから、消去されるブロックの他のページは、必要によって待避させて消去後に書き戻すこともしなければならない。 To rewrite the data in one page for example, since it is necessary to erase a block of a plurality of pages as a unit, other pages of the block to be erased, it is also be written back after erasing is retracted by the need shall. よって、消去後のページは、有効なユーザデータを書き込むときまで消去状態に保っていた方が好都合の場合が多い。 Thus, the page after the erasing is often convenient is better to have kept in the erased state until the time to write a valid user data. 【0014】 【発明が解決しようとする課題】磁気ディスク装置の場合、装置に保証された寿命時間を20000動作時間、 [0014] SUMMARY OF THE INVENTION] When the magnetic disk device, 20000 operating time guaranteed lifetime in the apparatus,
この内の数分の1がデータの書き換えに費やされる時間であるとすると、ファイル管理領域等の特定の記憶領域に対して最悪で10 9回程度の書き換えが行われると見積もることができる。 When fraction 1 of this is that the time spent in rewriting data, it is possible to estimate the worst of about 10 9 times of rewriting for a particular storage area such as the file management area is carried out. これに対してNAND型EEPR NAND type EEPR contrast
OMは、前述の通り、書き換え可能回数は10 5回程度であるから、磁気ディスク装置と同様の使い方をすると、1ブロックのみに書き込みが集中するという最悪の場合に、1万分の1の回数しか書き込みを行うことが出来ない。 OM, as described above, since the number of rewritable times of the order of 10 5 times, when the same way as the magnetic disk device, in the worst case of writing only one block concentrate, 10,000 fraction of only the number of times It can not be written. 実際のデータの書き込み位置は記憶領域内に分散するので、その分、見かけの書換回数はこれよりは増加する。 Since the actual writing position of the data is distributed to the storage area, correspondingly, the number of times of rewriting of the apparent increases than this. ところが、1度書き込まれた後に長期間消去されないデータが存在すると、書き込み可能領域が狭くなったのと等価であるから、それだけ書き換えできる回数が減少する。 However, if not erased long time after being written once data is present, since it is equivalent to writable region is narrowed, reducing the number of times that can be much rewriting. 【0015】また、OSによるファイル管理のように、 [0015] In addition, as the file management by the OS,
一般に、ファイルはデータ領域の空いた領域であればどこに記録されてもよく、その場所はディレクトリとFA In general, the file may be recorded anywhere if the area was empty data area, its location directory and FA
Tのようなテーブルで管理されている。 It is managed by the table, such as T. よって、書き換え可能回数に制限があるEEPROMにこのようなファイル管理を適用しても、ファイルに関しては、同一場所への書き換えが集中しないように書き込み位置を分散させるのは容易である。 Therefore, applying such a file management in the EEPROM that is rewritable number of times limitation with respect to the file, it is easy to rewrite to the same place to distribute the write position so as not to concentrate. ところが、ファイルを書き込んだり書き換えたりした場合には必ずファイル管理テーブルの内容の書き換えが発生するので、これらのテーブルデータが書き換えられる頻度は、個々のデータファイルが書き込まれる頻度に比べてかなり多い。 However, since the rewriting of always the contents of the file management table is if you or rewrite write the file is generated, the frequency of these table data is rewritten is considerably larger than that of the frequency with which individual data files are written. しかも、このテーブルはファイルの記録場所を検索するおおもとの情報であるから、いつも決まった位置に記録されている必要がある。 In addition, since this table is the information of the Omoto to search the record location of the file, there is a need to be recorded in the always fixed position. よって、EEPROMをファイル記憶装置に応用した場合、この管理テーブル領域に集中した書き換えによって、短時間で寿命に至ってしまうおそれがあるという問題があった。 Therefore, when applied to EEPROM in the file storage device, by rewriting focused on the management table area, there is a problem that a short time there is a possibility that leading to life. 【0016】さらに、前述の説明から分るように、磁気ディスク装置では、有効なユーザデータが書き込まれる前のセクタも、ユーザデータの書き込まれたセクタと同様にECCによるチェックを行って何等差し支えない。 Furthermore, as can be seen from the foregoing description, in the magnetic disk apparatus, also the sector before the valid user data is written, what such no problem checking is performed by the ECC as with sectors written by the user data .
これに対して、消去後のページが有効なユーザデータを書き込むときまで消去状態に保たれるように制御されたNAND型EEPROMでは、有効なユーザデータが書き込まれる前のページを読み出すと、ECCを含めたページ内の情報は全て”1”になっているから、ECC検査回路は誤りがあるという判定を下してしまう。 In contrast, in the NAND type EEPROM is controlled so as to maintain the erased state until the time of writing the user data page is valid after erase, reading the previous page valid user data is written, the ECC since the information in the included pages have become all "1", ECC check circuit is thus made a determination that there is an error. 【0017】通常、ホストコンピュータのオペレーティングシステムは、有効なデータの書かれていないページのみを読み出そうとすることはないが、複数のページをファイル管理の単位としている場合に、既に有効なデータの書かれたページと一緒に読み込もうとすることは有り得る。 [0017] Normally, when the operating system of the host computer, but is not to be read only a page that has not been written with valid data, that is a multiple of the page as the unit of file management, already valid data it to be read in conjunction with the written page is likely. また、ページの書き換えにともなってブロック消去をするときに、消去されるブロック内の他のページに、既に書き込みがされているのか否かを、データの待避を制御する手段が知り得ないような制御装置の場合には、消去状態のページもバッファに読み込まなくてはならない。 Also, when the block erase with the rewriting of the page, the other pages in the block to be erased, whether or not being already written, such that not know means for controlling the retraction of the data in the case of the control device, it must also be read into the buffer page of the erased state. こうした場合に、消去状態のページのデータに対してECC検査回路が働いてしまうと、上述のように、本来は正常なページであるにもかかわらず、誤りが発生したと誤認され、エラー処理に制御が移ってしまい、処理を正常に進めることが出来なくなってしまう。 In such a case, the thus worked ECC check circuit for the data pages in the erased state, as described above, even though the original is a normal page, misidentified an error has occurred, the error processing control will be moved, making it difficult to advances the process successfully. 【0018】本発明は、上述のような問題に鑑みなされたもので、磁気ディスク装置と同等の寿命を実現することができ、また高信頼性を確保することができる不揮発性半導体メモリ装置を提供することを目的とする。 [0018] The present invention has been made in view of the problems described above, it is possible to realize a magnetic disk device equivalent lifetime, also provide a nonvolatile semiconductor memory device which can ensure high reliability an object of the present invention is to. 【0019】 【課題を解決するための手段】上記課題を解決するために、本発明は、第1に、管理の単位となる容量で区切られた複数の記憶領域を備えたメモリ手段と、複数の前記記憶領域に対するデータの書き込みに際し当該複数の記憶領域が物理的或いは論理的な配置にしたがって一方向に循環して使用されるように管理する第1の管理手段と、複数の前記記憶領域に記録されたデータが所定の時点から後に変更されたか否かを管理する第2の管理手段と、データの書き込みにより予め定められた条件が成立した時点で前記第2の管理手段が初期化された時点より後にはデータが変更されていない前記記憶領域を選択しこの選択した記憶領域のデータを他の記憶領域に移動させるとともに全ての記憶領域のデータが変更されたと見なされ [0019] In order to solve the above object, according to an aspect of the present invention, the first, the memory means having a plurality of storage areas separated by capacitance as a unit of management, multiple a first management means for managing to be used in circulation in one direction the plurality of storage areas upon writing data to the storage area according to the physical or logical arrangement of, a plurality of the storage area a second managing means recording data to manage whether or not changed after a predetermined time, the when the predetermined condition by the write data is satisfied second management means is initialized considered in the later than the time which is data of all the storage areas to change moves the data in the storage area selecting the storage area that has not been changed data the selected other storage area る場合には当該第2の管理手段を初期化する制御手段とを有することを要旨とする。 And summarized in that a control means for initializing the second management means when that. 【0020】第2に、上記第1の構成において、前記予め定められた条件が成立した時点とは、前記第1の管理手段で管理される循環の1周期をもってその時点とすることを要旨とする。 [0020] Second, in the first configuration, said the time the defined condition is satisfied in advance, and summarized in that the that time with one cycle of circulation which is managed by the first management means to. 【0021】第3に、ファイル、該ファイルの記録された位置を管理する管理テーブル及び該管理テーブルの記録された位置を複数階に階層的に示すように構成されたポインタが記録されるメモリ手段と、該メモリ手段内において前記管理テーブルの記録される位置は固定されず前記複数階のポインタのうち根源となるルートポインタの記録される位置のみが固定されるように制御する制御手段とを有することを要旨とする。 [0021] Third, memory means for the file, the recorded position management to the management table and recorded configured pointer as shown hierarchically in multiple floor position of the management table of the file is recorded When, and a control means for controlling so that only position the position to be recorded in the management table in the memory means is recorded in the root pointer to be the source of the pointer of the multi-storey not fixed is fixed it is the gist of. 【0022】第4に、データ及び該データに対応した誤り検出コードが記録される記憶領域を備えたメモリ手段と、該メモリ手段から読み出された前記データ及び誤り検出コードから当該データに誤りがあるか否かを検出する誤り検出手段と、前記メモリ手段から読み出されたデータから該データの記録された前記記憶領域が消去状態であるか否かを検出する消去検出手段と、前記誤り検出手段で読み出したデータに誤りが検出された場合でも前記消去検出手段が同時に消去状態を検出した場合には当該読み出しデータには誤りが無いものとして処理する制御手段とを有することを要旨とする。 [0022] Fourthly, the memory means having a storage area which error detection code corresponding to the data and the data is recorded, an error in the data from the data and the error detection code read from said memory means an error detection means for detecting whether the erasure detecting means recording said stored regions of the data from the data read out from said memory means to detect whether the erased state, the error detection when the erasure detection means in the read data by a means, even if an error is detected detects an erased state at the same time in the read data is summarized in that and a control means for processing as error-free. 【0023】 【作用】上記構成において、第1に、データの書き込みが複数の記憶領域に対し一方向に循環して行われるので書き込みが特定の記憶領域に集中することなく、複数の記憶領域全体に均一に行われる。 [0023] [action] In the above structure, the first, since writing of data is performed by circulating in one direction for a plurality of storage areas without writing is concentrated in a specific storage area, all of the plurality of storage areas performed uniformly on. また、書き込まれた後、長期間変更を受けることなく同じ場所に留まっているデータは複数の記憶領域全体と比較した書き込み回数に不均衡が生じないように移動させられるので、見かけの書き込み領域が狭まって寿命を縮めてしまうことが防止される。 Further, after being written, because the data remains in the same place without undergoing long-term changes are moved so as not to cause an imbalance in the write count compared to the entire plurality of storage areas, the write area of ​​the apparent It is prevented from resulting in shortened life narrowed. 【0024】第2に、書き込まれたデータが変更されていない記憶領域の選択が、書き込みの1循環周期を以って行われることにより、見かけの書き込み領域を狭めることが一層適切に防止される。 [0024] Second, selection of the written memory area where data has not been changed was that, by being made one circulation cycle of the write I hereinafter, are more properly prevented from narrowing the write area of ​​the apparent . 【0025】第3に、書き換え頻度の高い管理テーブルのメモリ手段上での記録位置が固定されず、またこの管理テーブルの位置を示すポインタを複数階に階層化して記録することにより、検索のため固定した位置に記録されなければならないポインタの書き換え回数が他の領域と同等に抑えられて特定の記憶領域に書き込みが集中して短時間で寿命に至ってしまうことが防止される。 [0025] Third, not fixed recording position in the memory means a high rewriting frequency management table and by recording by layering the pointer to the location of the management table to multiple floors, for search rewrite count of pointers that must be recorded in a fixed position is prevented from writing to a specific storage area suppressed to be equal to the other regions will come to life in a short time to concentrate. 【0026】第4に、読み出されたデータからその記憶領域であるページ等が消去状態であるかどうかが検出されて誤り検出手段の検出結果に誤りがでることが防止される。 [0026] Fourth, the error in the detection result of whether such a page is the storage area from the read data is in the erased state is detected the error detection means out is prevented. これにより、消去状態のページ等がデータの書き込まれたページ等と区別無く読み出されるような制御が行われる場合にも、読み出しデータの正確な誤り検出が行われて高い信頼性が確保される。 Thus, the page or the like in the erased state even when the control as read interchangeably and like pages written with data is performed, a high reliability is performed accurately error detection of the read data is ensured. 【0027】 【実施例】以下、本発明の実施例を図面を参照して説明する。 [0027] [Example] Hereinafter, an embodiment of the present invention with reference to the drawings. 本実施例は、NAND型EEPROMを用いた不揮発性半導体メモリ装置に適用されている。 This embodiment is applied to a nonvolatile semiconductor memory device using a NAND-type EEPROM. 【0028】図1ないし図9は、本発明の第1実施例を示す図である。 [0028] FIGS. 1 to 9 are views showing a first embodiment of the present invention. まず、図2は、メモリ手段であるEEP First, FIG. 2 is a memory means EEP
ROMにおける記憶領域の構成を示している。 It shows a configuration of a storage area in the ROM. 同図の3 3 of FIG.
1〜36は、管理の単位となる容量で区切られた複数の記憶領域であり、消去単位と同一或いはその整数倍とすると扱いが簡単になるが、それに限定されるものではない。 1-36 are a plurality of storage areas separated by capacitance as a unit of management, but handling is simplified to the same or an integral multiple thereof and erasing unit, is not limited thereto. また、本実施例では以下この単位記憶領域を単にブロックと称するが、これはNAND型EEPROMの消去単位であるブロックと解釈しても構わないがそれに限定されるものでもない。 Although simply referred to as a block the unit storage area following the present embodiment, which is not intended but may be interpreted as an erase unit of the NAND type EEPROM block as being limited thereto. 各ブロックに付けられた番号は、各ブロックを順位付けするためのもので、物理的なアドレス順とするのが分りやすいが、特定の規則に従った論理的な順位であっても構わない。 Number assigned to each block is for ranking the respective blocks, is straightforward to the physical address order, but may be a logical order in accordance with certain rules. 以後簡単のために、ここで説明に使用するメモリ手段は6個のブロックで構成されていることにする。 For further simplicity, where the memory means used in the description is to be composed of six blocks. 【0029】図1は、上記ブロック31〜36への書き込みを管理するためのテーブルである。 [0029] Figure 1 is a table for managing the writing into the block 31-36. 11〜16の各項目は、ブロック31〜36の状態を示すもので、21 Each item of 11 to 16, shows the state of the block 31 to 36, 21
〜23に図示されるように3つのフラグで構成されている。 It is composed of three flags, as illustrated in ~ 23. 即ち、ブロックに有意なデータが記録されているか否かを管理する第3の管理手段としてのフラグ(以下、 That is, the flag as a third managing means for managing whether significant data in the block is recorded (hereinafter,
有効フラグ又はVフラグ)23と、有効フラグとともに参照することで、データの書き込みをブロックの順位にしたがって1方向に向かって、かつ循環して使用されるように管理するための第1の管理手段としてのフラグ(以下、消去フラグ又はEフラグ)21と、ブロックに記録されたデータが或る時点から後に変更されたか否かを管理する第2の管理手段としてのフラグ(以下、変更フラグ又はCフラグ)22である。 A valid flag or V flag) 23, by referring with the valid flag, the first management means for managing the writing of data as toward the one direction according to order of the blocks, and is circulated and used as a flag (hereinafter, erase flag or E flag) and 21, the flag of the second management means for managing whether or not changed since data recorded in the block is from a certain point (hereinafter, the change flag or C flag) is 22. 【0030】次に、図面とフローチャートを使用して、 [0030] Next, using the drawing and flow chart,
本実施例の書き込み方式を説明する。 Describing the writing method of the present embodiment. なお、書き込まれたデータを読み出すためには、書き込んだデータのタグ(例えばファイル名)と書き込んだ位置の対応を管理する手段が必要であるが、これは通常のファイルシステム(OS)で行われている方法を適用可能なので本実施例では説明を省略する。 In order to read out the written data, it is necessary means for managing the corresponding location written to the tag of the data written (e.g., file name), which takes place in normal file system (OS) because of applicability of the method is omitted in this embodiment. 【0031】図3及び図4はデータ書き込みの手順を示すフローチャート、図5はデータ消去の手順を示すフローチャート、図6はデータの書き換え手順を示すフローチャート、図7は書き込み手順中で使用されるサブルーチンのフローチャートである。 The flowchart 3 and 4 showing a procedure of data writing, the subroutine 5 is a flowchart showing a procedure of data erasure, 6 used in the flow chart, FIG. 7 is a write procedure shown rewriting procedure of data it is a flow chart of. 図8及び図9はデータの書き込みによって、図2で示した記憶領域と図1で示したそれを管理するテーブルの状態の変化を同時に説明するための図である。 8 and 9 by writing data diagrams for simultaneously describing a change in state of the table for managing that shown in the storage area and 1 shown in FIG. 図8及び図9の記憶領域を示す図中の斜線のブロックは有効なデータが書き込まれている領域を示すものとする。 Shaded blocks in the drawing illustrating the storage area of ​​FIG. 8 and FIG. 9 denote the area where valid data is written. 【0032】まずメモリ装置が使用される前には、図8 [0032] First, before the memory device is used, FIG. 8
(a)に示されるように全てのフラグが”0”に初期化されるものとする。 All flags as shown in (a) is assumed to be initialized to "0". この状態で第1ブロックの書き込みを行うことを考える。 Considering that for writing of the first block in this state. 図3のステップ201で必要な容量が空いていることをチェックする。 Check that the vacant capacity required in step 201 of FIG. 3. 次に、この方式では有意なデータが記録されているか否かを管理するVフラグと一方向に向っての循環使用を管理するEフラグの両方が”0”のブロックにしか書き込みを行わないので、この条件に合うブロック検索を行う(図3ステップ202,203、図7ステップ301〜304)。 Then, since both of the E flag manages the recycling of toward V flag and unidirectional significant data to manage whether it is recorded in the method is not written only into blocks of "0" performs block search that meet this condition (FIG. 3 step 202 and 203, FIG. 7 step 301 to 304). 条件に合うことが確認された後、第1ブロックにデータを書き込んで(図3ステップ204〜206)、CフラグとVフラグを”1”にする(図3ステップ207、図8 After the qualifying was confirmed, it writes the data to the first block (Fig. 3 step 204 to 206), to "1" to C and V flags (FIG. 3 step 207, FIG. 8
(b))。 (B)). 今書き込んだデータを即書き換えると、図5 When rewriting the written data immediately now, as shown in FIG. 5
の手順に従って、第1ブロックのVフラグ”0”に、E According to the procedure, the V flag "0" of the first block, E
フラグを”1”に変更し、初回の書き込みと同じ手順で検索される第2ブロックにデータを書き込む(図8 A flag "1" is changed to write data to the second block to be searched in the same procedure as the writing of the first (FIG. 8
(c))。 (C)). これで第1ブロックは論理的な消去状態になるが、電気的な消去は別に行わなければならない。 This first block becomes a logical erased condition, electrical erasure must be performed separately. バックグラウンドで行われるのが処理速度の面で好ましいが、その方法は本実施例の本質から外れるので説明は省略する。 Is preferred from the viewpoint of processing speed from being performed in the background, description is omitted because the method deviates from the essence of this embodiment. 以下の説明ではデータが書き込まれる前にこれらのブロックに電気的な消去は何らかの方法で済んでいることと仮定する。 The electrical erase these blocks before the following description where data is written assumed that been finished in some way. 【0033】こうした書き込み処理が続くと、データは、ブロック番号順にメモリ全体に一様に書き込まれ、 [0033] When such write process continues, data is written to uniformly across the memory in the order of block numbers,
例えば図8(d)に示すような状態になる。 For example, the state shown in FIG. 8 (d). ここで例えば1ブロック分のデータの書き込みをしようとすると、 If you try to write data in this case for example, one block,
空き領域はあるが、図3のステップ203の検索で失敗する。 There free space, but fails in search of step 203 of FIG. 検索に失敗したという状態は、ブロックの空き領域に対する一様な書き込みが一巡したことを示している。 State that search fails, indicating that uniform writing to the free space of the block is cycled. よって、次の一巡の単一方向書き込みを制御するために全てのブロックに対するEフラグを”0”にクリアする(図3ステップ209、図8(e))。 Therefore, cleared to "0" to E flag for all blocks for controlling the unidirectional writing of the next round (FIG. 3 step 209, FIG. 8 (e)). 【0034】単一方向循環による一様書き込みとともに本実施例を特徴づけるのは長期間同じ場所に留まるデータを移動させる点である。 [0034] characterize the present embodiment with uniform writing by unidirectional circulation is the point to move the data for a long period of time remain in the same place. これを実現するためには、移動を行うのに適当な、書き込み回数に関連したタイミングが必要となるが、その一つとしてEフラグが全てクリアされる時点を利用する。 To achieve this, adequate to carry out the movement, it is necessary timing associated with the write count is utilized when the E flag is cleared all as one. 図3では、この時点におけるステップ210〜213の処理でCフラグを検査することにより、移動対象のデータを選択している。 In Figure 3, by examining the C flag in the processing at step 210-213 in this point, you select the data to be moved. 図8 Figure 8
(e)では、全てのブロックのCフラグが”1”になっているが、これは、Cフラグが初期化された時点から図8(e)の状態になるまでに、全てのブロックが最低1 And in the step (e), but the C flag of all the blocks is "1", which is from the time the C flag is initialized to a state of FIG. 8 (e), the all blocks minimum 1
回は書き換えられていることを示している。 Times shows that have been rewritten. この場合は、どのデータがより長く同じブロックを占有しているのか判断できないのでステップ214で初期化し直す(図8(f))。 In this case, re-initialized at step 214 since any data is not to determine occupying the longer the same block (FIG. 8 (f)). その後、この一連の処理を起動させた第1ブロックのデータ書き込みを行う(図4ステップ2 Thereafter, the data writing of the first block starts a series of processes (FIGS. 4 Step 2
24〜228,206、図9(a))。 24~228,206, Figure 9 (a)). 【0035】さらに、第5ブロックのデータが消去されて図9(b)の状態になり、第2ブロックの書き込みと第1ブロックの消去があって図9(c)の状態になったとする。 Furthermore, erased data of the fifth block is in the state of FIG. 9 (b), as it becomes the state shown in FIG. 9 (c) if there is erasure of writing a first block of the second block. 書き込みパターンの最後として、この時点で第1ブロックの書き込みを行う場合を考える。 As a final write pattern, a case of writing of the first block at this point. 書き換えはもう一巡したので書き込み可能領域の検索には失敗し、 Rewrite failed to search for a writable area since the round anymore,
Eフラグが全てクリアされる(図9(d))。 E flag is cleared all (FIG. 9 (d)). 続いてC Then C
フラグの検査が行われるが、今度は、第2ブロックのC While the flag of the inspection is carried out, this time, C of the second block
フラグが”0”であるので、このブロックのデータは比較的長期間書き換えが行われていないと判断し移動の対象にする。 Since the flag is "0", the data of this block is determined that a relatively long period of time rewriting is not performed for the target mobile. 移動先の書き込み可能ブロックは、図3のステップ215〜220の手順に従って、移動対象データの入ったブロックを起点に書き込みが進行する方向へ循環して検索される。 Writable blocks of the destination according to the procedure of Step 215 to 220 in FIG. 3, writes the entered block the migration target data as a starting point is retrieved by circulating the traveling direction. この例では、第4ブロックが該当するので、第2ブロックはここにデータがコピーされた後消去される(図4ステップ221〜223、図9 In this example, the fourth block is the case, the data the second block here is erased after being copied (FIG. 4 step 221 to 223, FIG. 9
(e))。 (E)). これにより、図8(c)の時点からずっと第2ブロックを占有していたデータが移動され、このブロックが書き換え可能になる。 Thus, the data that occupies much of the second blocks from a time point shown in FIG. 8 (c) are moved, this block is rewritten. 【0036】あとは図9(c)の時点で要求された1ブロック分のデータを空きブロックに書き込めばよいのであるが、通常の書き込みと同様に書き込み可能ブロックを検索しても失敗してしまう場合が有り得る。 [0036] After that although the one block of data requested at shown in FIG. 9 (c) may be written to the empty block, will fail be retrieved similarly writable block and normal write If there is likely. 即ち図9 That is, FIG. 9
(c)の時点で空きブロックが丁度1個しかなかった場合で、このときは、この空きブロックに移動対象データが入り、移動対象データが元々入っていたブロックのE If the free block was only just one at the time of (c), this time, contains the moving object data to the free block, E of the block which the mobile object data was originally entered
フラグが”1”となっているので検索に引っかからない。 Flag is not caught in the search because it is "1". よって図4のステップ227で示したようにEフラグをクリアする処理が必要である。 Therefore it is necessary process to clear the E flag as indicated at step 227 of FIG. 4. 移動対象のデータが元々入っていたブロックのEフラグを”0”のままにしておくような制御を行えばこの様なことはなくなるが、 By performing the leave to keep such control of the E flag of the block in which the data of the moving target had originally entered "0" it is no longer such a thing,
そのかわりに、他に空きブロックが有るにもかかわらず、移動直後のブロックが書き換え可能ブロックとして検索され、バックグラウンドの電気的消去が間に合わないという様なことが起り得る。 Instead, other despite empty block is present, is retrieved as a block can be rewritten block immediately after moving, electrically erasable background that can occur, such as that it in time. 【0037】次いで、図10ないし図14には、本発明の第2実施例を示す。 [0037] Then, in FIGS. 10 to 14 show a second embodiment of the present invention. 本実施例では、不揮発性半導体メモリとして4MビットNAND型EEPROMを用いることを仮定する。 In this embodiment, assume that the use of 4M bit NAND type EEPROM as a nonvolatile semiconductor memory. また、実施例の要点を簡略に説明するため、MS−DOSのクラスタに相当する記憶領域の論理的な管理の単位をNAND型EEPROMの消去単位であるブロックと一致させるものとする。 Also, for explaining the gist of Example briefly, it is assumed to match the units of logical management of the storage area corresponding to a cluster of MS-DOS to be erase unit block of the NAND type EEPROM. また、本実施例ではユーザファイル、ファイルの記録位置を管理するテーブル及びそのテーブルへの階層化されたポインタのうちその位置が固定されないものは、記憶領域中の特定の領域に記録される必要がないので、出来得る限り書き込みが記憶領域全体に分散されるように制御されるべきである。 Also, what the user file, the position of the hierarchical pointer to the management tables and the table recorded position of the file is not fixed in the present embodiment, it needs to be recorded in a specific area in the storage area not so long as it can be writing it should be controlled so as to be dispersed throughout the storage area. しかしながら、本実施例は、ファイルの位置を管理するテーブルが記憶領域中の特定の領域に固定されずに済む手法を説明するためのものなので、分散書き込み制御がされることを前提とするが、その詳細については触れない。 However, this embodiment, because they are for illustrating the method of table need not be fixed in a specific area in the storage area for managing the location of the file, but it is assumed to be distributed write control, its not touch for more information. 【0038】図11は、ファイルの記録された位置を管理するためのテーブルの一つを構成するブロックの1例であり、ここでは仮にルート管理テーブルと呼ぶことにする。 [0038] FIG. 11 is an example of a block constituting one table for managing the recorded position of the file, here assumed to be called a route management table. 図11の38はMS−DOSのFATと同様な構成で記憶領域全体のブロック割当状況を管理するためのテーブルであるが、本実施例では、ユーザーファイルのみならず、ファイル管理テーブル自身やそのポインタといった管理情報の記録されたブロックの位置も動くので、それらの割当も併せて管理されるものとする。 While 38 of FIG. 11 is a table for managing blocks allocated status of the entire storage area in the same configuration as the FAT of MS-DOS, in the present embodiment, not user files only, the file management table itself and the pointer since such moving the position of the recorded management information block, and shall be managed also to their assignment. 図1 Figure 1
1の39はブロックの割当情報がこのブロック内に納まらなかった場合に使用される追加ブロックの位置や、M One of the 39 allocation information block position and the additional block used when no fit within the block, M
S−DOSのディレクトリに相当するファイル名とそれに付随する情報に関する管理テーブル等の位置を示すポインタであるとする。 Assumed to be a pointer to the location, such as a management table for the file name and its accompanying information corresponding to the directory of S-DOS. 即ち、図11に示す管理テーブルをアクセスできれば、ファイル管理に関する情報は全てアクセス可能になるものとする。 That is, if the access management table shown in FIG. 11, information about the file management shall all become accessible. 【0039】図12は、ルート管理テーブルの記録された位置を示すために、記録された位置を階層的に示すように構成されたポインタが記録されるブロックの1例である。 [0039] Figure 12, to indicate the recorded position of the route management table is an example of a block configuration pointers are recorded to indicate the recorded position hierarchically. 図12(a)の41〜48はNAND型EEPR 41 to 48 in FIG. 12 (a) NAND type EEPR
OMのページを表していて、48がソース側、41がドレイン側である。 It represents a page of OM, 48 is the source side, 41 is the drain side. ポインタは1ページに納まる情報量とし、NAND型EEPROMの書き込みルールに従ってソース側から順に書き込まれてゆくものとする。 Pointer is set to the amount of information to fit on one page, it is assumed that Yuku written from the source side in this order in accordance with the NAND type EEPROM write rules. 図12 Figure 12
(a)の46〜48の斜線のページは、更新されたポインタが書き込まれていたことを示し、41〜44の”N Hatched pages of 46 to 48 in (a) indicates that the updated pointer is written, the 41 to 44 "N
ULL”は消去されたままのページであることを示す。 ULL "indicates that it is a page of the remains that have been erased.
同図(a)の第1のポインタを納めたブロックは、45 Block pay first pointer in FIG (a) is 45
のページの情報がルート管理テーブルの位置を示している。 Information of the page indicates the position of the route management table. 同図(b)の第mのポインタを納めたブロックは、 Block pay pointer of the m of the (b) shows,
同様の構成で、第(m−1)のポインタの位置を示すものとする。 In a similar configuration, and it indicates the position of the pointer of the (m-1). ポインタの数(階層数)をnとした場合、第1〜第(n−1)のポインタは、記憶可能な領域のどこに記録されてもよく、複数階のポインタを順に手繰ることでアクセスされる。 If several of the pointer (number of layers) and n, the pointer of the first to (n-1) may be anywhere in the recording of storable area is accessed by pull in a multi-storey pointers sequentially that. 第nのポインタ(以下、ルートポインタ)だけは、記憶領域の固定の位置に記録される。 Pointer of the n (hereinafter, the route pointer) only, is recorded in a fixed position of the storage area.
図10は、この複数階に設定されたポインタのつながりを示している。 Figure 10 shows the connection of the set pointer to the multi-storey. 【0040】図13は、本実施例に係るファイル管理方式に必要なルート管理テーブルの更新に伴なって発生する処理の手順を示したフローチャートである。 [0040] Figure 13 is a flowchart showing a procedure of processing for generating been accompanied to update the route management table necessary for file management method according to the present embodiment. ルート管理テーブルの内容は、予めRAMに読み込まれて展開されており、更新はRAM上で行われた後に書き戻されるものとする。 The contents of the route management table is expanded loaded in advance RAM, updates shall be written back after being performed on RAM. まず、ファイルの書き込み等でブロック割当に変更が生じると、変更されたルート管理テーブルを書き戻すブロックの位置を自身のブロック割当テーブルを参照して決定する(ステップ401)。 First, when the change to block allocation in writing or the like of the file occurs, it is determined with reference to its block allocation table the position of the block to be written back the modified route management table (step 401). 次に、この位置をポインタに設定し、割当テーブルを更新してから書き込みを行う(ステップ402〜405)。 Then, set the position pointer writes after updating the allocation table (step 402 to 405). 図14のフローチャートのステップ501〜510は、階層化されたポインタにブロック位置を設定する手順を示している。 Flow chart of the steps 501 to 510 in FIG. 14 shows the procedure for setting the block position in hierarchical pointer. この手順は、階層化されたポインタの設定を変更するために再帰的に呼び出される。 This procedure is recursively called to change the setting of the hierarchical pointer. 【0041】次に、ポインタの階層数nの大きさの決め方を具体的に説明する。 Next, specifically described the size method of determining the number n of the pointer. ファイルの書き込みによりブロックの割当に変更が起きると、その都度、ルート管理テーブルの内容が更新される。 When a change in the allocation of the block occurs by writing a file, each time the contents of the route management table is updated. 書き込みが特定ブロックに集中しないように、更新されたテーブル自体も別のブロックに書き込まれる。 As writing is not concentrated on a specific block, updated table itself is also written to another block. ルート管理テーブルの位置が変わったので第1のポインタの記録位置も更新される。 Recording position of the first pointer the position of the route management table has changed is also updated. ポインタの更新は同一ブロック内で8回(8ページ分)可能であるから、第1ポインタを納めたブロックは、ファイルの書き込みによるブロックの変更8回で一通りの書き込みが行われ、9回目の更新で位置が変わる。 Since the update of the pointer is the same block in the eight (8 pages) can, block pay first pointer, the one way block changes eight times by writing file writing is performed, the ninth position in the update is changed. 第2のポインタを納めたブロックは同様に、ファイルの書き込み64回に1回の割で書き換えが起きると見積もることが出来る。 Similarly, block pay second pointer can be estimated if the rewriting by a single split into the writing 64 times of the file occurs. ここで仮に、不揮発性半導体メモリ装置の総容量を20Mバイトとすると、総ブロック数は1ブロックの容量が4kバイトであるから5120ブロックになる。 Here Assuming that the total capacity of the non-volatile semiconductor memory device and 20M bytes, the total number of blocks is 5120 blocks the capacity of one block is 4k bytes. EEPROMの書き換え可能回数をC回とし、これらのブロックに均一に書き込みが行われたとすると、延べ5120×Cブロックの書き換えが発生し得る。 When the number of rewritable times of the EEPROM is C times, and uniformly written into these blocks were made, rewriting of total 5120 × C block may occur. ファイル1ブロック分の書き換えに対して管理テーブル1ブロックの書き換えが発生するとすると、1回に付き2ブロックの書き換えが起きるからブロック割当の変更の発生回数は最高で5120×C÷2=2560×C回である。 When rewriting of the management tables 1 blocked for rewriting the file one block occurs once 5120 × 2 occurrences of Changing from rewriting occurs block allocation blocks at the highest per C ÷ 2 = 2560 × C a times. 【0042】第nポインタを記録した固定ブロックの書き換えは、ブロック割当の変更8 n回に1回の割合で起きる。 The rewriting of the fixed block recording the first n pointers, occurs once every block allocation changes 8 n times. また、このブロックも最高C回の書き換えが可能であるから、 8 n ×C=2 3n ×C回までのブロック割当の変更なら、この固定ブロックの書き換え回数が他のブロックより先に限界に達することはない。 Further, since the blocks can also be the best C times rewriting, if 8 n × C = 2 3n × block allocation changes up C times, the number of times of rewriting of the fixed block reaches the limit before other blocks it is not. よって、必要な階層数nは、 2 3n ×C=2560×C n=log 2 2560÷3 ≒4 となる。 Therefore, number n required becomes 2 3n × C = 2560 × C n = log 2 2560 ÷ 3 ≒ 4. 【0043】図15ないし図20には、本発明の第3実施例を示す。 [0043] FIGS. 15 through 20 show a third embodiment of the present invention. 図15は本実施例に係る不揮発性半導体メモリ装置の全体構成を示すブロック図である。 Figure 15 is a block diagram showing the overall configuration of a nonvolatile semiconductor memory device according to the present embodiment. 同図において115はメモリ手段としてのNAND型EEPRO NAND type EEPRO as 115 memory means in FIG.
Mモジュールであり、複数個のページからなるブロックに分割されたメモリセルアレイで構成されている。 An M module, and a memory cell array divided into blocks comprising a plurality of pages. EE EE
PROMモジュール115はデータ線で結ばれたホストインターフェイス101を介して図示省略のホストシステムに接続されている。 PROM module 115 is connected to a host system (not shown) via the host interface 101 connected by the data line. データ線上には、マルチプレクサ113及びデータバッファ107が設けられている。 On the data lines, the multiplexer 113 and the data buffer 107 is provided.
また、ホストインターフェイス101内には、データレジスタ102、アドレスレジスタ103、カウントレジスタ104、コマンドレジスタ105、ステータレジスタ106及びエラーレジスタ116が設けられている。 Also within the host interface 101, the data register 102, address register 103, the count register 104, command register 105, the stator register 106 and error register 116 is provided.
108はコントロールロジック、109は誤り制御ロジック、114はアドレスジェネレータ、110は制御手段としての機能を有するCPU、111は作業用RA 108 control logic 109 is error control logic, the address generator 114, CPU 110 may have a function as a control unit, 111 working RA
M、112は制御プログラムROMである。 M, 112 is a control program ROM. 制御プログラムROM112には、データ書き込み等のための一連の制御プログラムが格納されている。 The control program ROM 112, a series of control programs for such data writing is stored. 【0044】図16は、誤り制御ロジック109の内部構成を示す図である。 [0044] Figure 16 is a diagram showing the internal configuration of an error control logic 109. 誤り検出手段としてのECC検査回路150、誤り検出/訂正コード発生手段としてのE ECC check circuit 150 as an error detection means, E as error detection / correction code generating means
CC発生回路151及び消去検出手段としての消去検出回路152が備えられている。 Erasure detection circuit 152 as a CC generating circuit 151 and the erasure detecting means is provided. 【0045】本実施例のメモリ装置は、不揮発性メモリ領域であるEEPROMモジュール115に記録されるデータに関し、必要に応じてメモリ領域の使用状況を管理するテーブルを使用する。 The memory device of this embodiment relates to a data recorded in the EEPROM module 115 is a nonvolatile memory area, using a table for managing the memory usage area if necessary. このテーブルは、他のユーザ・データとともにEEPROMモジュール115に記録されるが、この装置が起動するときに自動的に作業用RAM111に読み込まれる。 This table is recorded in the EEPROM module 115 along with other user data is automatically read into the working RAM111 when this device is activated. また、このテーブルは、 In addition, this table,
更新される都度、或いは装置の使用が終了する時点でE Each time is updated, or E when the use of the device is completed
EPROMモジュール115に書き戻されることとする。 And written back to the EPROM module 115. 【0046】次に、この装置の動作をフローチャートを用いて説明する。 Next, it will be described with reference to the flowchart of operation of the device. ホストシステムは、図15のホストインターフェイス101内のアドレスレジスタ103にアクセス開始アドレスを、カウントレジスタ104にアクセスしたいデータのセクタ長をセットし、最後にコマンドレジスタ105に読み出し/書き込み等の命令をセットする。 Host system, an access start address in the address register 103 in the host interface 101 in FIG. 15, sets the sector length of the data to be accessed in the count register 104, and finally to set instructions such as read / write to the command register 105 . ホストインターフェイス101のコマンドレジスタ105にアクセス命令が書き込まれると、コントローラ内のCPU110は、コマンドレジスタ105内の命令を読み込み、制御プログラムROM112に納められたコマンド実行のための一連の制御プログラムを実行する。 When an access instruction to the command register 105 of the host interface 101 is written, CPU 110 in the controller reads the command in the command register 105, executes a series of control programs for command execution paid to a control program ROM 112. 【0047】図17は、EEPROMモジュール115 [0047] FIG. 17, EEPROM module 115
からデータを読み出す手順を示すフローチャートである。 It is a flowchart showing a procedure for reading data from. まず、図15のCPU110は、ホストインターフェイス101にセットされた開始アドレスから、読み出しを行うべきEEPROMモジュール115の物理的なアドレスを決定する(ステップ601)。 First, CPU 110 of FIG. 15, the start address set in the host interface 101 to determine the physical address of the EEPROM module 115 to perform a read (step 601). 次に、EEP Then, EEP
ROMモジュール115からデータバッファ107にデータを読み出す(ステップ602)。 Reading data in the data buffer 107 from the ROM module 115 (step 602). 次いで、エラー処理及びデータバッファ107からホストシステムへのデータ転送等を実行する(ステップ603〜605)。 Then executes data transfer, etc. from the error processing and the data buffer 107 to the host system (step 603 to 605). 【0048】図18及び図19は、EEPROMモジュール115からデータバッファ107にデータを読み出す手順を示すフローチャートである。 [0048] FIGS. 18 and 19 are flowcharts showing a procedure for reading data from EEPROM module 115 in the data buffer 107. CPU110は、 CPU110 is,
EEPROMモジュール115をマルチプレクサ113 The EEPROM module 115 multiplexer 113
を通してアクセスし読み出しモードに設定し、データバッファ107を読み出しモードに設定する(ステップ7 Accessed through set to read mode is set to read mode data buffer 107 (step 7
01,702)。 01,702). アドレスジェネレータ114には、読み出しを行うべきEEPROMモジュール115の物理的なアドレスを設定する(ステップ703)。 The address generator 114, and sets the physical address of the EEPROM module 115 to perform a read (step 703). そして、 And,
データバッファ107に、読み出したデータを蓄えるべき領域を決定してその先頭番地をデータバッファ107 The data buffer 107, data that start address to determine the area to store the read data buffer 107
への書き込みアドレスとして設定する(ステップ70 It is set as a write address to (step 70
4)。 4). その後、コントロールロジック108に対してデータ読み出しのための定められたシーケンスを実行するように指令を送る。 Then sends a command to perform a defined sequence for data reading from the control logic 108. 【0049】コントロールロジック108は、マルチプレクサ113をEEPROMモジュール115からの読み出しデータがデータバッファ107に流れるように設定し、アドレスジェネレータ114の内容をインクリメントしながら、1セクタ分のデータを読み出す(ステップ705)。 [0049] Control logic 108 is set to flow through multiplexer 113 to read data the data buffer 107 from the EEPROM module 115, while incrementing the contents of the address generator 114 reads data for one sector (step 705) . また、図16のECC検査回路150をこれらのデータ及びこれに付随して読み出されるECCコードを使って誤りを検出するように制御すると同時に、 Further, the ECC check circuit 150 of FIG. 16 with the ECC codes read Concomitantly and these data is controlled so as to detect an error at the same time,
読み出されたデータが消去状態であるかどうかを検出するように消去検出回路152を制御する。 Read data to control the erasure detection circuit 152 to detect whether the erased state. 消去検出回路152は、1セクタ分のデータ及びECCコードが全て消去後の状態である”1”であった場合に、CPU11 When the erase detection circuit 152 were data and ECC code for one sector is the state of all after erasing "1", CPU 11
0からアクセス可能なレジスタに、消去状態を検出したことを示すコードをセットする。 From 0 to accessible registers, it sets a code indicating the detection of the erased state. 1セクタ分のデータが読み出されると、CPU110は、ECC検査回路15 If one sector of data is read, the CPU 110, ECC check circuit 15
0をチェックしデータの誤りを検査する(ステップ70 0 check to check the error of the data (step 70
6)。 6). 誤りが検出されなかった場合は、データバッファからホストシステムにデータを転送する。 If no error is detected, it transfers the data from the data buffer to the host system. 誤りが検出されると、CPU110は次に消去検出回路152をアクセスし、消去状態が検出されていたならば、ECC検査回路150の結果を誤検出とみなしバッファ内のデータをホストシステムに転送する。 When an error is detected, CPU 110 then accesses the erasure detection circuit 152, if the erase state has been detected, and transfers the data in the buffer regarded as false detection results of the ECC check circuit 150 to the host system . ECC検査回路150が誤りを検出し、消去検出回路152も消去状態を検出しなかった場合で、検出された誤りが訂正可能な場合は、 Detecting an error ECC check circuit 150, in the case where not detected even erased state erasure detection circuit 152, if the detected error is correctable,
データバッファ107をアクセスして誤ったデータを訂正してからホストシステムにデータを転送する。 Transferring data to the host system erroneous data by accessing the data buffer 107 after correction. 【0050】もし、訂正不可能な誤りが検出された場合には、ホストシステムに対するデータ転送は行わずに、 [0050] If the uncorrectable error is detected, without performing the data transfer to the host system,
CPU110は、ホストインターフェイス101内のステータスレジスタ106にエラーが起きたことを示すコードを、エラーレジスタ116にエラーの内容を示すコードを設定し、ホストシステムに命令の実行が異常終了したことを通知して処理を終了する(ステップ707〜 CPU110 is a code indicating that an error has occurred in the status register 106 in the host interface 101, sets a code indicating the contents of the error in the error register 116, execution of instructions in the host system is notified of the abnormal termination Te the process is ended (step 707~
712)。 712). 【0051】図20は、データバッファからホストシステムにデータを転送する手順を示すフローチャートである。 [0051] Figure 20 is a flowchart showing a procedure for transferring data from the data buffer to the host system. CPU110は、データバッファ107に読み出したデータが蓄えられた領域の先頭番地を同バッファからの読み出しアドレスとして設定し(ステップ801,8 CPU110 sets the starting address of the area data read into the data buffer 107 is stored as a read address from the buffer (step 801,8
02)、コントロールロジック108に対して、ホストシステムに1セクタ分のデータの転送を行うように指令する。 02), to the control logic 108, commands the transfers of data for one sector to the host system. コントロールロジック108は、データバッファ107とホストインターフェイス101を制御してホストシステムに対して1セクタ分のデータを転送し(ステップ803)、これが終了するとアドレスレジスタ10 Control logic 108 controls the data buffer 107 and the host interface 101 transfers data of one sector to the host system (step 803), the address register 10 when it is finished
3を1セクタ分進め、カウントレジスタ104から1を減じ、CPU108に転送が終了したことを通知する。 3 advances one sector, the count register 104 subtracting 1, notifying that the transfer to the CPU108 ended.
ホストシステムに転送すべきデータが残っている限り、 As long as data remains to be transferred to the host system,
CPU110はこの制御を繰り返す。 CPU110 repeats this control. 読み出しデータが全て転送されたら、CPU110は、ホストインターフェイス101内のステータスレジスタ106にエラーの無かったことを示すコードを設定し、ホストシステムに命令の実行が終了したことを通知して処理を終了する。 Once transferred read data all, CPU 110 sets a code indicating that none of the error in a status register 106 in the host interface 101, the execution of instructions in the host system, thereby terminating the process notifies the completion . 【0052】 【発明の効果】以上説明したように、本発明によれば、 [0052] As has been described in the foregoing, according to the present invention,
第1に、データの書き込みを複数の記憶領域に対して単一方向に循環して行うようにしたため、特定の記憶領域に集中することなく、書き込みを複数の記憶領域全体に均一に行うことができる。 First, because it to perform circulates in a single direction to write data to a plurality of storage areas, instead of being concentrated in a specific storage area, it is carried out uniformly written across multiple storage areas it can. また、書き込まれた後、長期間変更を受けることなく同じ場所に留まっているデータは複数の記憶領域全体と比較した書きかえ回数に不均衡が生じないように移動させるようにしたため、見かけの書き込み領域が狭まって寿命を縮めてしまうことを防止することができる。 Further, after being written, because that as the data remains in the same place without undergoing long-term changes are moved so as not to cause an imbalance in the number of rewritten as compared to all of the plurality of storage areas, the apparent writing it can be prevented from being shortened the life narrowed region. したがって同一記憶場所の書き換え回数に制限があるにもかかわらず、磁気ディスク装置と同等の寿命を実現することができて用途を拡大することができる。 Thus despite the limited number of times of rewrite of the same memory locations, it is possible to expand the applications to be able to realize a magnetic disk device equivalent life. 【0053】第2に、書き込まれたデータが変更されていない記憶領域の選択を、書き込みの1循環周期を以って行うようにしたため、見かけの書き込み領域を狭めてしまうことを一層適切に防止することができる。 [0053] Prevention Second, the selection of the storage area written data has not changed, because you to perform a circulation cycle of the write I hereinafter, that would narrow the writing area apparent to more appropriate can do. 【0054】第3に、書き換え頻度の高い管理テーブルの記憶領域上での配置は固定されず、またこの管理テーブルの位置を示すポインタは複数階に階層化して記録するようにしたため、検索のため固定した位置に記録されなければならないポインタの書き換え回数が他の領域と同等に抑えられて特定の記憶領域に書き込みが集中して短時間で寿命に至ってしまうことを防ぐことができる。 [0054] Thirdly, rewriting placement on a storage area of ​​frequent management table is not fixed, and because that as the pointer to the location of the management table and records the layering multiple floors, for search it is possible to prevent the number of rewrites a pointer which must be recorded in a fixed position is suppressed to equal to the other regions write to a specific memory area will reached the lifetime in a short period of time to concentrate.
したがって、上記第1の発明と同様に、同一記憶場所の書き換え回数に制限があるにもかかわらず、磁気ディスク装置と同等の寿命を実現することができる。 Therefore, as in the first invention, despite the limited number of times of rewrite of the same memory locations, it is possible to realize a magnetic disk device equivalent life. 【0055】第4に、読み出されたデータからその記憶領域であるページ等が消去状態であるか否かを検出し、 [0055] Fourth, such a page is the storage area from the read data to detect whether the erased state,
読み出しデータに誤りが検出された場合でも同時に消去状態が検出されたときには、その読み出しデータには誤りが無いものとして処理するようにしたため、消去状態のページ等がデータの書き込まれたページ等と区別無く読み出されるような制御が行われる場合にも、読み出しデータの正確な誤り検出を行うことができて高い信頼性を確保することができる。 When the erased state at the same time is detected even if an error is detected in the read data, distinguishable from the order to the read data was set to be treated as error-free, pages, etc. Page like in the erased state is written with data even if the control as read without takes place, it is possible to ensure high reliability can be performed accurately error detection of the read data.

【図面の簡単な説明】 【図1】本発明に係る不揮発性半導体メモリ装置の第1 First BRIEF DESCRIPTION OF THE DRAWINGS [Figure 1] a non-volatile semiconductor memory device according to the present invention
実施例においてブロックへの書き込みを管理するためのテーブルの構成を示す図である。 It is a diagram showing a configuration of a table for managing the writing into the block in the embodiment. 【図2】第1実施例においてEEPROMにおける記憶領域の構成を示す図である。 2 is a diagram showing a configuration of a storage area in the EEPROM in the first embodiment. 【図3】第1実施例において記憶領域へのデータの書き込みの手順を示すフローチャートである。 3 is a flowchart showing a procedure of writing data to the storage area in the first embodiment. 【図4】第1実施例において記憶領域へのデータの書き込みの手順を示すフローチャートである。 Is a flowchart showing a procedure of writing data to the storage area in FIG. 4 the first embodiment. 【図5】第1実施例においてデータ消去の手順を示すフローチャートである。 5 is a flowchart showing the procedure of a data erasure in the first embodiment. 【図6】第1実施例においてデータの書き換えの手順を示すフローチャートである。 6 is a flowchart showing the procedure of rewriting data in the first embodiment. 【図7】図4のデータの書き込みの手順中で使用されるサブルーチンのフローチャートである。 7 is a flowchart of a subroutine used in the procedure of writing the data of FIG. 【図8】第1実施例においてデータの書き込みによる記憶領域及びこれを管理するテーブルの状態の変化を説明するための図である。 8 is a diagram for explaining a change in state of the table for managing storage area and this by writing the data in the first embodiment. 【図9】第1実施例においてデータの書き込みによる記憶領域及びこれを管理するテーブルの状態の変化を説明するための図である。 9 is a diagram for explaining a change in state of the table for managing storage area and this by writing the data in the first embodiment. 【図10】本発明の第2実施例においてポインタとルート管理テーブルのつながり関係を示す図である。 10 is a diagram showing the connection relationship between the pointer and the route management table in the second embodiment of the present invention. 【図11】第2実施例におけるルート管理テーブルの構成を示す図である。 11 is a diagram showing the configuration of a route management table in the second embodiment. 【図12】第2実施例においてポインタが記録されたブロックを示す図である。 12 is a diagram showing a block pointer is recorded in the second embodiment. 【図13】第2実施例においてルート管理テーブルの更新に伴なって発生する処理の手順を示すフローチャートである。 13 is a flowchart showing a processing procedure for generating been accompanied to update the route management table in the second embodiment. 【図14】第2実施例においてポインタにブロック位置を設定する手順を示すフローチャートである。 14 is a flowchart showing a procedure of setting the block position to the pointer in the second embodiment. 【図15】本発明の第3実施例に係る不揮発性半導体メモリ装置の構成を示すブロック図である。 15 is a block diagram showing a configuration of a nonvolatile semiconductor memory device according to a third embodiment of the present invention. 【図16】図15における誤り制御ロジックの内部構成を示す図である。 16 is a diagram showing the internal configuration of the error control logic in FIG. 15. 【図17】第3実施例においてEEPROMモジュールからデータの読み出しの手順を示すフローチャートである。 17 is a flowchart showing a procedure of reading data from EEPROM module in the third embodiment. 【図18】第3実施例においてEEPROMモジュールからデータバッファにデータを読み出す手順を示すフローチャートである。 18 is a flowchart showing a procedure of reading data in the data buffer from the EEPROM module in the third embodiment. 【図19】第3実施例においてEEPROMモジュールからデータバッファにデータを読み出す手順を示すフローチャートである。 19 is a flowchart showing a procedure of reading data in the data buffer from the EEPROM module in the third embodiment. 【図20】図17におけるデータバッファからホストシステムに読み出したデータを転送する手順を示すフローチャートである。 20 is a flowchart showing a procedure for transferring the data read from the data buffer to the host system in FIG. 17. 【図21】EEPROMの一つのNANDセルを示す等価回路図である。 Figure 21 is an equivalent circuit diagram showing one NAND cell EEPROM. 【図22】EEPROMのメモリセルアレイを示す等価回路図である。 Figure 22 is an equivalent circuit diagram showing a memory cell array of EEPROM. 【図23】NAND型EEPROMの書き込み動作を説明するための図である。 23 is a diagram for explaining a write operation of the NAND type EEPROM. 【図24】オペレーティングシステムの一つであるMS FIG. 24 is one of the operating system MS
−DOSのファイル管理方法を説明するための図である。 It is a diagram for explaining a file management method -DOS. 【図25】ディレクトリの構成例を説明するための図である。 25 is a diagram for explaining a configuration example of a directory. 【符号の説明】 21 第1の管理手段となるもので、有効フラグとともに参照しデータの書き込みをブロックの順位にしたがって1方向に向かって、かつ循環して使用されるように制御するためのフラグ22 第2の管理手段となるもので、ブロックに記録されたデータが或る時点から後に変更されたか否かを管理するフラグ23 ブロックに有意なデータが記録されているか否かを管理するフラグ31〜36 管理単位となる容量で区切られた複数の記憶領域38 ブロックの割当を管理するテーブル41〜48,51〜58 ポインタ情報が記録されるページ109 誤り制御ロジック110 CPU(制御手段) 115 EEPROMモジュール(メモリ手段) 150 ECC検査回路(誤り検出手段) 151 ECC発生回路152 消去検出回路 [EXPLANATION OF SYMBOLS] made of a 21 first management means, the valid flag reference toward the one direction to write data in accordance with order of blocks with, and circulating flags for controlling to be used made of a 22 second management means, flag 31 for managing whether or not significant data in the flag 23 blocks for managing whether or not changed since data recorded in the block is from a certain point is recorded to 36 page 109 error control logic 110 CPU (control means) for table 41~48,51~58 pointer information for managing the allocation of a plurality of storage areas 38 blocks delimited by the management unit to become capacity is recorded 115 EEPROM module (memory means) 0.99 ECC check circuit (error detection means) 151 ECC generation circuit 152 erasure detection circuit (消去検出手段) (Erasure detection means)

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−283496(JP,A) 特開 平4−165547(JP,A) 特開 昭52−22834(JP,A) 特開 昭56−29899(JP,A) 特開 平4−163966(JP,A) (58)調査した分野(Int.Cl. 7 ,DB名) G06F 12/00 - 12/06 G06F 12/16 G11C 16/02 ────────────────────────────────────────────────── ─── of the front page continued (56) reference Patent Sho 62-283496 (JP, a) JP flat 4-165547 (JP, a) JP Akira 52-22834 (JP, a) JP Akira 56 - 29899 (JP, a) JP flat 4-163966 (JP, a) (58 ) investigated the field (Int.Cl. 7, DB name) G06F 12/00 - 12/06 G06F 12/16 G11C 16/02

Claims (1)

  1. (57)【特許請求の範囲】 【請求項1】 管理の単位となる容量で区切られた複数の記憶領域を備えたメモリ手段と、 複数の記憶領域に対するデータの書き込みに際し当該複 (57) and memory means having a plurality of storage areas separated by [Claims 1] a management unit of volume, the multi upon writing of data to a plurality of storage areas
    数の記憶領域が物理的或いは論理的な配置にしたがって一方向に循環して使用されるように管理する第1の管理手段と、 複数の前記記憶領域に記録された前記データが所定の時 When the data number storage area and a first management means for managing to be used in circulation in one direction according to the physical or logical arrangement, recorded on a plurality of the storage area of predetermined
    点から後に 変更されたか否かを管理する第2の管理手段と、 データの書き込みにより予め定められた条件が成立した And second management means for managing whether or not changed since from the point, the predetermined condition by the write data is satisfied
    時点で前記第2の管理手段が初期化された時点より後に After the time when the second management means is initialized when
    はデータが変更されていない前記記憶領域を選択し、こ Select the storage area where the data has not changed, this
    の選択した記憶領域のデータを他の記憶領域に移動させ Moving the selected data in the storage area to another storage area
    るとともに全ての記憶領域のデータが変更されたと見な While looking at the Rutotomoni data of all the memory area is changed
    される場合には当該 第2の管理手段を初期化する制御手段とを有することを特徴とする不揮発性半導体メモリ装置。 The nonvolatile semiconductor memory device characterized by a control means for initializing the second management means when it is. 【請求項2】 前記予め定められた条件が成立した時点 When the wherein said predetermined condition is satisfied
    は、前記第1の管理手段で管理される循環の周期をもってその時点とすることを特徴とする請求項1に記載の不揮発性半導体メモリ装置。 The non-volatile semiconductor memory device according to claim 1, characterized in that its time with the period of circulation is managed by the first management unit. 【請求項3】 前記メモリ手段は、ファイル、該ファイ Wherein said memory means is a file, the file
    ルの記録された位置を管理する管理テーブル及び該管理テーブルの記録された位置を複数階に階層的に示すよう As hierarchically showing a recorded position of the management table and the management table for managing the recorded position Le multiple floors
    に構成されたポインタが記録され前記管理テーブルの Configured pointer is recorded on, the management table
    記録される位置は固定されず前記複数のポインタのうち根源となるルートポインタの記録される位置のみが固定されるように制御されることを特徴とする請求項1に記載の不揮発性半導体メモリ装置。 The nonvolatile semiconductor memory according to claim 1, the position to be recorded, characterized in that only recorded the position of the root pointer to be the source of the pointer of the multi-storey not fixed is controlled to be secured apparatus. 【請求項4】 前記メモリ手段は、データ及び該データ Wherein said memory means includes data and the data
    に対応した誤り検出コードが記録される記憶領域を備 Bei storage area recorded error detection code corresponding to the
    え、 前記メモリ手段から読み出された前記データ及び誤り検 For example, the data and the error detection is read out from said memory means
    出コードから当該 データに誤りがあるか否かを検出する誤り検出手段と、 前記メモリ手段から読み出されたデータから該データの An error detection means for detecting whether or not in the data has an error from the code output from the data read out from said memory means of the data
    記録された前記記憶領域 が消去状態であるか否かを検出する消去検出手段とを更に備え 、 前記誤り検出手段で読み出したデータに誤りが検出された場合でも前記消去検出手段が同時に消去状態を検出した場合には当該読み出しデータには誤りが無いものとして処理することを特徴とする請求項1に記載の不揮発性半導体メモリ装置。 Further comprising an erasing detecting means recording said stored regions is detected whether the erased state, wherein the erasure detection means even if an error is detected in the read data by the error detection means erasing state at the same time the nonvolatile semiconductor memory device according to claim 1 in the read data, characterized in that the processing as there is no error when it detects.
JP17423292A 1992-07-01 1992-07-01 Non-volatile semiconductor memory device Expired - Fee Related JP3412839B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17423292A JP3412839B2 (en) 1992-07-01 1992-07-01 Non-volatile semiconductor memory device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP17423292A JP3412839B2 (en) 1992-07-01 1992-07-01 Non-volatile semiconductor memory device
US08/084,477 US5379262A (en) 1992-07-01 1993-07-01 Nonvolatile semiconductor memory device
KR93012262A KR960005895B1 (en) 1992-07-01 1993-07-01 Non-volatile semiconductor memory device

Publications (2)

Publication Number Publication Date
JPH0619778A JPH0619778A (en) 1994-01-28
JP3412839B2 true JP3412839B2 (en) 2003-06-03

Family

ID=15975035

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17423292A Expired - Fee Related JP3412839B2 (en) 1992-07-01 1992-07-01 Non-volatile semiconductor memory device

Country Status (3)

Country Link
US (1) US5379262A (en)
JP (1) JP3412839B2 (en)
KR (1) KR960005895B1 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3471842B2 (en) * 1993-03-29 2003-12-02 株式会社東芝 Data management apparatus, a data storage device and a data management method
JP3662946B2 (en) * 1993-09-22 2005-06-22 株式会社東芝 File management system and a portable electronic device
US5781756A (en) * 1994-04-01 1998-07-14 Xilinx, Inc. Programmable logic device with partially configurable memory cells and a method for configuration
JP2669365B2 (en) * 1994-11-24 1997-10-27 日本電気株式会社 Rewritable rom file device
IT1278980B1 (en) * 1995-03-07 1997-12-02 Olivetti Canon Ind Spa Printer Color Inkjet
US6551857B2 (en) * 1997-04-04 2003-04-22 Elm Technology Corporation Three dimensional structure integrated circuits
GB9801373D0 (en) * 1998-01-22 1998-03-18 Memory Corp Plc Memory system
MY122279A (en) * 1999-03-03 2006-04-29 Sony Corp Nonvolatile memory and nonvolatile memory reproducing apparatus
JP4016610B2 (en) * 2001-05-11 2007-12-05 ティアック株式会社 Recording medium having a hierarchical directory structure, the search device, a search program, and search method
JP3816788B2 (en) * 2001-11-22 2006-08-30 株式会社東芝 Nonvolatile semiconductor memory device
DE602005003778T2 (en) * 2005-03-08 2008-04-30 Robert Bosch Gmbh Method and apparatus for re-writing a sector with bootloader software in a sector-erasable nonvolatile semiconductor memory
US9286198B2 (en) 2005-04-21 2016-03-15 Violin Memory Method and system for storage of data in non-volatile media
US8452929B2 (en) * 2005-04-21 2013-05-28 Violin Memory Inc. Method and system for storage of data in non-volatile media
US9384818B2 (en) 2005-04-21 2016-07-05 Violin Memory Memory power management
JP4991131B2 (en) * 2005-08-12 2012-08-01 株式会社東芝 A semiconductor memory device
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
US8028186B2 (en) 2006-10-23 2011-09-27 Violin Memory, Inc. Skew management in an interconnection system
US8200887B2 (en) 2007-03-29 2012-06-12 Violin Memory, Inc. Memory management system and method
US9632870B2 (en) * 2007-03-29 2017-04-25 Violin Memory, Inc. Memory system with multiple striping of raid groups and method for performing the same
JP4461170B2 (en) 2007-12-28 2010-05-12 株式会社東芝 Memory system
JP4439569B2 (en) 2008-04-24 2010-03-24 株式会社東芝 Memory system
US20100325351A1 (en) * 2009-06-12 2010-12-23 Bennett Jon C R Memory system having persistent garbage collection
JP6167646B2 (en) * 2013-04-30 2017-07-26 富士通株式会社 The information processing apparatus, a control circuit, a control program, and control method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033438D1 (en) * 1989-04-13 2000-03-02 Sandisk Corp Replacement of faulty memory cells of a EEprommatritze
US5200959A (en) * 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
JPH05109292A (en) * 1991-10-14 1993-04-30 Toshiba Corp Nonvolatile semiconductor memory

Also Published As

Publication number Publication date
JPH0619778A (en) 1994-01-28
KR960005895B1 (en) 1996-05-03
US5379262A (en) 1995-01-03

Similar Documents

Publication Publication Date Title
US8553457B2 (en) Non-volatile memory with dynamic multi-mode operation
US7117332B2 (en) Window-based flash memory storage system and management and access methods thereof
US8122193B2 (en) Storage device and user device including the same
EP0691008B1 (en) Flash memory mass storage architecture
US5715193A (en) Flash memory system and method for monitoring the disturb effect on memory cell blocks due to high voltage conditions of other memory cell blocks
CN101645044B (en) Method for operating erasable and reprogrammable non-volatile memory systems
JP4834676B2 (en) Systems and methods for use on-chip non-volatile memory write cache
US5541886A (en) Method and apparatus for storing control information in multi-bit non-volatile memory arrays
US7979626B2 (en) Flash recovery employing transaction log
EP0686976B1 (en) Data management system for programming-limited type semiconductor memory and IC memory card having the data management system
JP4787266B2 (en) Scratch pad block
JP5728672B2 (en) Hybrid memory management
KR100644602B1 (en) Method for driving remapping for flash memory and flash memory architecture thereto
US5546402A (en) Flash-erase-type nonvolatile semiconductor storage device
US8700840B2 (en) Nonvolatile memory with write cache having flush/eviction methods
US7275140B2 (en) Flash memory management method that is resistant to data corruption by power loss
US8094500B2 (en) Non-volatile memory and method with write cache partitioning
JP5819610B2 (en) Method and apparatus for writing data to a different storage device
US6988175B2 (en) Flash memory management method that is resistant to data corruption by power loss
US8296498B2 (en) Method and system for virtual fast access non-volatile RAM
US8135901B2 (en) Solid state memory (SSM), computer system including an SSM, and method of operating an SSM
US8244960B2 (en) Non-volatile memory and method with write cache partition management methods
KR100502378B1 (en) Non-volatile semiconductor memory
US20060198202A1 (en) Flash memory backup system and method
US8312204B2 (en) System and method for wear leveling in a data storage device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080328

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090328

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees