G06F3/00—Input 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/06—Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers

G06F3/0601—Dedicated interfaces to storage systems

G06F3/0628—Dedicated interfaces to storage systems making use of a particular technique

G06F3/0638—Organizing or formatting or addressing of data

G06F3/064—Management of blocks

G06F3/0641—De-duplication techniques

G—PHYSICS

G11—INFORMATION STORAGE

G11C—STATIC STORES

G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor

G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements

G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements

G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures

G06F2212/72—Details relating to flash memory management

G06F2212/7201—Logical to physical mapping or translation of blocks or pages

Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE

Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THIR OWN ENERGY USE

Y02D10/00—Energy efficient computing

Y02D10/10—Reducing energy consumption at the single machine level, e.g. processors, personal computers, peripherals or power supply

Y02D10/13—Access, addressing or allocation within memory systems or architectures, e.g. to reduce power consumption or heat production or to increase battery life

Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE

Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THIR OWN ENERGY USE

Y02D10/00—Energy efficient computing

Y02D10/10—Reducing energy consumption at the single machine level, e.g. processors, personal computers, peripherals or power supply

Y02D10/14—Interconnection, or transfer of information or other signals between, memories, peripherals or central processing units

Abstract

A storage device (50) able to make a redundant write operation of unselected data unnecessary and able to optimize an arrangement of pages to a state having a high efficiency for rewriting, wherein the storage device (50) has a first memory unit (51), a second memory unit (52) having a different access speed from the first memory (51), and a control circuit (54), wherein the control circuit (54) has a function of timely moving the stored data in two ways between the first memory unit (51) and the second memory unit (52) having different access speeds in reading or rewriting.

Description

Translated from Japanese

本発明は、不揮発性メモリを含む記憶装置および情報処理システムに関するものであり、特にフラッシュメモリを含む記憶装置におけるデータ転送の高速化に関わるものである。 The present invention relates to a storage device and an information processing system including a nonvolatile memory, in particular those involved in high speed data transfer in storage devices including a flash memory.

近年、デジタルスチルカメラやモバイルコンピュータ機器の記憶媒体として、フラッシュメモリが注目されている。 Recently, as a storage medium of a digital still camera or mobile computer device, a flash memory is attracting attention.

フラッシュメモリは、トンネリングやホットエレクトロン加速を用いて、電子にゲート絶縁膜を通過させ、それらを浮遊ゲートやトラップ層に注入し、セルトランジスタの閾値を変化させることでデータを記憶させる半導体メモリである。 Flash memory using tunneling or hot electron acceleration, electrons passed through a gate insulating film, by injecting them into a floating gate or trap layer is a semiconductor memory storing data by varying the threshold of the cell transistor .積層ゲート構造やＭＮＯＳ構造等を用いたトランジスタ１つのみでメモリセルを構成できるため、安価かつ大容量のメモリを実現できる。 Since a transistor only one using the stacked gate structure and MNOS structure, etc. can be configured memory cell can be realized at low cost and large capacity memory.その代表例として、ＮＡＮＤ型フラッシュメモリが挙げられる。 As a typical example, NAND type flash memory.

図１は、ＮＡＮＤ型フラッシュメモリの内部構成例を示す図である。 Figure 1 is a diagram illustrating an internal configuration of the NAND type flash memory.図１のＮＡＮＤ型フラッシュメモリは、ビット線ＢＬ１〜ＢＬｎに接続された複数のメモリユニット１−１〜１−ｎがアレイ状に（縦横）に配列されている。 NAND-type flash memory of FIG. 1, a plurality of memory units 1-1 to 1-n connected to the bit line BL1~BLn are arranged (vertically and horizontally) in an array.たとえば、選択用トランジスタ２のゲートが選択ゲート線ＳＬ１に接続され、偶数列の選択用トランジスタ３のゲートが選択ゲート線ＳＬ２に接続されている。 For example, the gate of the selection transistor 2 is connected to a selection gate line SL1, the gate of the selection transistor 3 in the even-numbered columns is connected to a selection gate line SL2.また、各メモリセルＮ０〜Ｎ１５のゲートがワード線ＷＬ０〜ＷＬ１５に接続されている。 The gate of each memory cell N0~N15 is connected to the word line WL0 to WL15.

各メモリセルＮ０〜Ｎ１５は積層ゲート構造を持ち、浮遊ゲートへの電荷蓄積量に従ってデータを記憶する。 Each memory cell N0~N15 has a stacked gate structures and store data according to charge accumulation in the floating gate.すなわち、浮遊ゲートに多くの電子が蓄積されていると、トランジスタの閾値が上昇するので、チャージされたビット線ＢＬ１〜ＢＬｎからのメモリユニット１（−１〜−ｎ）への電流貫通の有無を、センスアンプ等を含むアクセス回路４で検出してデータ判定を行う。 That is, when the number of electrons in the floating gate are accumulated, the threshold of the transistor is increased, the presence or absence of a current through the memory unit 1 (-1~-n) from the charged bit lines BL1~BLn performs data determination is detected by the access circuit 4 including a sense amplifier.

このようなＮＡＮＤ型フラッシュメモリは、メモリセル毎にビット線へのコンタクト領域を設ける必要もないので、特に大容量で安価な記憶装置の媒体に適している。 Such NAND type flash memory, there is no need to provide a contact region to the bit line for each memory cell, it is suitable for medium inexpensive storage device, especially a large capacity.

ところで、一般にフラッシュメモリのプログラム速度は非常に遅く、セルあたり数百μ秒を必要とする。 By the way, in general program speed of flash memory is very slow, and requires hundreds of μ seconds per cell.またデータの上書きはできないので、プログラムに先立って消去を行う必要があり、これには数ｍ秒もの時間がかかる。 Since also can not be overwritten data, it is necessary to erase before program takes several m seconds also time to.このような問題に対しては、多くのメモリセルを並列処理することで対処している。 For such problems, it is addressed by parallel processing of many memory cells.

すなわち、たとえば同一ワード線ＷＬ０に接続され、ページ単位を成すメモリセル群５を、同時一括に書き込み、さらに互いにメモリユニットを共有するページ群で構成されるセルブロック６を全て一括で消去することにより、プログラムの転送速度を向上させている。 Thus, for example connected to the same word line WL0, memory cell group 5 forming a page unit, writing simultaneously collectively by erasing further cell block 6 is composed of the page that share the memory unit at every batch together , and the transfer speed of the program is improved.

具体的には、たとえば非特許文献１には１ＧｂのＮＡＮＤ型フラッシュメモリが掲載されており、ページサイズを２ｋバイト、消去ブロックサイズを１２８ｋＢとしている。 Specifically, for example, in Non-Patent Document 1 and the web NAND type flash memory of 1Gb, it has a page size 2k bytes, and 128kB erase block size.すなわち、一つのメモリアレイ内で１２８ｋバイトのメモリセル群を並列消去し、そこにメモリセルを２ｋバイト毎に並列でプログラムしていくことによって、１０ＭＢ／ｓのプログラム転送速度を実現している。 That is, one parallel erasing the memory cell group of 128k bytes in memory array by going to program in parallel the memory cells for each 2k bytes therein realizes a program transfer speed of 10MB / s.

一方近年、フラッシュメモリ以外の高速な不揮発性メモリも提案されている。 On the other hand in recent years, it has also been proposed a high-speed non-volatile memory other than the flash memory.その代表的な例としては、強誘電体メモリが挙げられる。 Nonlimiting examples include a ferroelectric memory.現在主流となっている強誘電体メモリのセル構造と動作は非特許文献１においてＳ． Cell structure and operation of the ferroelectric memory currently mainstream S. Non-Patent Document 1Ｓｈｅｆｆｅｉｅｌｄらが提案したものである。 One in which Sheffeield proposed by.

図２は、特許文献１等に記載された強誘電体メモリの構成例を示す回路図である。 Figure 2 is a circuit diagram showing a configuration example of a ferroelectric memory described in Patent Document 1 or the like.

この強誘電体メモリ１０は、メモリセルを一つのアクセストランジスタ１１と一つの強誘電体キャパシタ１２で構成するものであり、強誘電体キャパシタ１２の分極方向に従って２値、すなわち１ビットを記憶する。 The ferroelectric memory 10 constitutes a memory cell by one access transistor 11 and one ferroelectric capacitor 12, binary accordance polarization direction of the ferroelectric capacitor 12, i.e., storing one bit.また、図２において、ＢＬ１１，ＢＬ１２はビット線を、ＷＬ１１はワード線を、ＰＬ１１はプレート線を、１３はワード線デコーダおよびドライバ、１４はプレート線デコーダおよびドライバを、１５はセンスアンプをそれぞれ示している。 Further, in FIG. 2, BL11, BL12 are bit lines, WL11 is a word line, PL11 is a plate line, 13 a word line decoder and driver, 14 a plate line decoder and driver, 15 respectively sense amplifier ing.

たとえば、強誘電体メモリ１０において、ワード線ＷＬ１１を選択し、さらにプレート線ＰＬ１１にパルスを印加すると、メモリセルの強誘電体キャパシタ１２の対向電極に接続されたビット線ＢＬ１１には読み出し信号が現れる。 For example, in the ferroelectric memory 10, selects the word line WL11, further applying a pulse to the plate line PL11, a read signal appears in the bit line BL11 connected to a counter electrode of the ferroelectric capacitor 12 of the memory cell .

また、強誘電体メモリには幾つか形態のバリエーションがあり、特許文献２にも他の一例が提案されている。 Also, there are variations of several forms a ferroelectric memory, another example in Patent Document 2 has been proposed.

強誘電体メモリの分極反転は、キャパシタ電極間に２〜３Ｖを印加するだけで、数ナノ秒で実現する。 The ferroelectric polarization reversal of the memory, only by applying the 2~3V between the capacitor electrodes is realized in a few nanoseconds.したがって、セルレベルで高速書き込みが可能である上、消費電力も小さい。 Therefore, on a cell level which enables high-speed writing, the power consumption is also small.さらに書き換え可能回数も１Ｅ１０を超え、フラッシュメモリより数桁多い。 Furthermore, the number of times data can be rewritten even beyond the 1E10, several orders of magnitude greater than the flash memory.

さらに、高速の不揮発性メモリとしては、強誘電体メモリ以外にも強磁性体を用いたＭＲＡＭ（Ｍａｇｎｅｔｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）や、相変化材料を用いたＯＵＭ（Ｏｖｏｎｉｃ Ｕｎｉｆｉｅｄ Ｍｅｍｏｒｙ）、ＲＲＡＭ等が提案されている。 Further, as the high-speed non-volatile memory, strong MRAM (Magnetic Random Access Memory) and that also a ferromagnetic material other than dielectric memory, using a phase change material OUM (Ovonic Unified Memory), RRAM and the like have been proposed ing.

ＭＲＡＭは強磁性膜のスピン方向の違いでデータを記憶する半導体メモリであり、たとえば非特許文献２にＲ． MRAM is a semiconductor memory that stores data in difference in spin direction of the ferromagnetic film, for example, R. Non-Patent Document 2Ｓｃｈｅｕｅｒｌｅｉｎらが論文を掲載している。 Scheuerlein et al have posted the paper.ＯＵＭは、たとえばカルコゲナイド膜の相転移でデータを記憶する半導体メモリであり、たとえば非特許文献３に、Ｓ． OUM is, for example, a semiconductor memory storing data in the phase transition of the chalcogenide film, for example, in Non-Patent Document 3, S.Ｌａｉらが論文を掲載している。 Lai et al has posted a paper.ＲＲＡＭは磁気抵抗効果材料の抵抗ヒステリシスでデータを記憶する半導体メモリであり、たとえば非特許文献４に、Ｗ． RRAM is a semiconductor memory storing data by resistance hysteresis of a magnetoresistance effect material, for example, in Non-Patent Document 4, W.Ｗ． W.Ｚｈｕａｎｇらが論文を掲載している。 Zhuang et al have posted the paper.それらの不揮発性メモリは、いずれもセルレベルのアクセス速度や書き換え回数において、フラッシュメモリより数桁性能が高い。 These non-volatile memory, the access speed and the number of times of rewriting of either cell level, several orders of magnitude performance is higher than the flash memory.ＵＳＰ４８７３６６４号 USP4873664 No.特開平０９−１１６１０７号公報 JP 09-116107 discloses

近年、ハードディスクの消費電力の大きさや、シーク時間の長さ、耐衝撃性や携帯性等の問題を解消すべく、フラッシュメモリにその代替が期待されている。 Recently, size and power consumption of the hard disk, the length of the seek time, in order to solve the problem of impact resistance and portability like, an alternative to the flash memory is expected.しかし上述の如く、フラッシュメモリにはアクセス単位を大きくしないと高速化できないという欠点がある。 But as described above, the flash memory has a disadvantage that it can not speed up unless a larger access units.また、データの上書きができないので、書き換えには必ず消去が必要であり、その際の消去ブロックはさらに大きい。 Further, since it can not overwrite the data, it is necessary to always erased for rewriting, erase block at that time larger.このようにアクセス単位に対して消去単位が数十倍大きいのは、消去時間が長く、かつ書き込み時に非選択セルにディスターブが生じるフラッシュメモリには一般的な仕様である。 Erase unit is tens of times larger than for such access unit, the flash memory long erase time and is disturbance to unselected cells at the time of writing occurs is a general specification.しかしこれによりその書き込み効率は著しく悪化する。 But thereby the write efficiency is remarkably deteriorated.

たとえば上記２ｋＢ単位のページ書き込み、１２８ｋＢ単位のブロック消去による、転送速度１０ＭＢ／ｓフラッシュメモリを用いて、ハードディスク代替用の記憶装置を構成するとする。 For example page write the 2kB units, according to the block erase 128kB units, using the transfer rate 10MB / s flash memory, and constituting the storage device for a hard disk alternatives.その転送速度を、シリアルＡＴＡ接続の高速ストレージで目標とされる１６０ＭＢ／ｓにまで高めようとした場合、マルチバンクやマルチチップの構成を取りながら、たとえば１６個のメモリアレイを並列動作させる必要がある。 The transfer rate, when trying to increase at high-speed storage of the serial ATA connection to a 160MB / s which is a target, while taking the configuration of the multi-bank or multi-chip, have to operate in parallel sixteen memory arrays e.g. is there.

図３は、そのような記憶装置を構成するフラッシュメモリの概念図を示す図である。 Figure 3 is a diagram showing a conceptual view of a flash memory configuring such a storage device.図３において、高速転送を実現するため、１６個のアレイＡＲ０〜ＡＲ１５を同時動作させる。 3, in order to realize high speed transfer, thereby simultaneously operated 16 array AR0～AR15.この場合データ書き込み時は、たとえばページＰ０〜Ｐ１を同時書き込みし、消去時はブロックＢ０〜Ｂ１５を同時消去する。 In this case the time of writing data, for example, co-writing the page P0~P1, erasing simultaneously erases the block B0~B15.この時一括書き込み単位となる実ページ領域２４は３２ｋＢ、一括消去単位となる実消去ブロック領域２１は２ＭＢに達することになる。 Real page region 24 of this case batch writing unit 32 kB, actual erase block region 21 forming one erase unit will reach the 2MB.

一方、通常のファイルシステムでは、最小の書き込み単位を成すクラスタサイズは４ｋＢ程度であり、この単位でランダムなアクセスがなされる。 On the other hand, in the conventional file system, the cluster size forming the minimum write unit is about 4 kB, random access is performed in this unit.その場合、たとえばページＰ０とＰ１のみを書き換える要求が発生する。 In that case, the request is generated to rewrite the example page P0 and P1 only.しかし、上述のような装置でそのようなアクセスを行うと、結局実消去ブロック領域２１全体を消去せねばならない。 However, when such an access device as described above, must be eventually erase the entire actual erase block region 21.かつその中の非選択領域に有効ファイルがあれば、それを消失から保護する必要がある。 And if there is valid file in the unselected region in that, it is necessary to protect it from erasure.その典型的な対処例は次のようになる。 A typical deal example is as follows.

１． 1.まずフラッシュメモリから、別途設けられたバッファーメモリ２３のメモリ領域２２に、実消去ブロック領域２１全体のデータを読み出す。 First from the flash memory, the memory area 22 of the buffer memory 23 separately provided, it reads the actual erase block region 21 overall data.２． 2.次にメモリ領域２２内で、ページＰ０とＰ１に相当するデータを更新する。 Then in the memory area 22 and updates the data corresponding to the page P0 and P1.３． 3.次にフラッシュメモリ上のブロック領域２１の消去を実行する。 Then performing an erase block region 21 in the flash memory.４． 4.最後に上記消去済の領域２１に、更新後のメモリ領域２２のブロックデータを全て書き戻す。 Finally the above erased areas 21, writes back all block data in the memory area 22 of the updated.

すなわち、４ｋバイトの書き込みのために、実際には消去と、２ＭＢのデータの読み出し及び書き込みが必要となる。 Namely, for writing 4k bytes, and erasure, reading and writing of data 2MB required in practice.従って現実の転送性能は著しく低いものになってしまう。 Therefore the actual transfer performance becomes remarkably low.このような事情から、フラッシュメモリを用いた現在の記憶装置は、特に書き込み時においては、ハードディスクをはるかに下回る転送性能しか得られていない。 Under such circumstances, the current storage device using a flash memory, especially in the time of writing, no transfer performance obtained only well below the hard disk.

なお、上記バリエーションとして、別途フラッシュメモリ内に予備の消去済ブロック領域２７を用意して、４の書き戻しをそこに行うことで、３の消去時間を見かけ上見えなくすることもできる。 Incidentally, as the variation, and a spare erased block region 27 in the flash memory separately by performing there written back 4, can also be invisible apparently 3 erase time.しかし、実消去領域を共有する２ＭＢの非選択データの読み出しと書き込みが必要であることは変わらない。 However, it does not change that reading and writing of unselected data 2MB sharing the actual erase region is required.

一方、強誘電体メモリをはじめ、ＭＲＡＭ、ＯＵＭ、ＲＲＡＭ等の高速不揮発性メモリは、それぞれ独自の記憶物質や電極用金属を使用するため、フラッシュメモリに対して高価であり、かつ加工上の諸制約から集積度も低い。 On the other hand, including the ferroelectric memory, MRAM, OUM, fast non-volatile memory such as a RRAM, for each use their own memory material and electrode metal, is expensive to the flash memory, and the processing on the various the degree of integration from the constraint is also low.従ってそれらをそのまま大容量の記憶媒体に用いるのは、コスト面で難しい。 Therefore use them directly mass storage media, hard in cost.

また、近年、携帯電話等のモバイルコンピュータ機器には、上記フラッシュメモリの他、多くの半導体メモリが搭載されている。 In recent years, the mobile computer device such as a mobile phone, in addition to the above flash memory, many semiconductor memories are mounted.また、特にこのようなバッテリー駆動の機器では、待機時の消費電力削減が重要な課題となっている。 Further, particularly in equipment such battery-powered, power reduction during standby has become an important issue.

元来このような用途においては、半導体メモリは不揮発で、ランダムアクセスが可能で、かつ大容量で安価であることが理想である。 Originally In such applications, the semiconductor memory is nonvolatile, it is possible to random access, and inexpensive large capacity is ideal.しかし、現実にはそのようなメモリは存在しないので、多種の異なるメモリを用途ごとに使い分けざるを得ない。 However, in reality because such memory is not present, inevitably selectively using variety of different memory for each use.

図４は、多種の異なるメモリを用途ごとに使い分けた情報処理システム（コンピュータシステム）の構成例を示すブロック図である。 Figure 4 is a block diagram showing a configuration example of an information processing system which selectively using varying memory wide for each use (computer system).

図４のシステム３０において、ＣＰＵ３１にはシステムバス３２を介してＮＯＲ型フラッシュメモリ３３と、ＤＲＡＭ３４が接続されている。 In the system 30 of FIG. 4, a NOR type flash memory 33 via the system bus 32 to the CPU 31, DRAM 34 are connected.両メモリ３３，３４はシステムメモリ中にその領域がマッピングされており、ＮＯＲ型フラッシュメモリ３３にはブートコードやＯＳ、アプリケーションが格納されている。 Both memories 33 and 34 that region are mapped in the system memory, the NOR flash memory 33 boot code and OS, applications are stored.またＤＲＡＭ３４にはアプリケーションの一部がロードされて実行されたり、ＯＳのワークエリアが構築される。 In addition or in the DRAM34 are executed part of the application is loaded, work area of ​​the OS is built.

システムバス３２には、さらに外部周辺装置にアクセスするためのインタフェース回路群３５が接続されており、そのインタフェース回路群３５にはＮＡＮＤ型フラッシュメモリモジュール３６や、その他複数の周辺機器３７−１〜３７−３が接続されている。 The system bus 32 is further connected to the interface circuit group 35 for accessing external peripheral devices, and NAND type flash memory module 36 to the interface circuit group 35, a plurality of other peripheral devices 37-1 to 37 -3 it is connected.

ここで、ＮＡＮＤ型フラッシュモジュール３６は、一つまたは複数のフラッシュメモリと制御回路で構成されており、この制御回路は欠陥ブロックへのアクセスを回避する機能や、ＥＣＣ回路を用いて符号化エラー訂正を施す機能等を有している。 Here, NAND type flash module 36 is configured by the control circuit and one or more flash memories, the control circuit or function to avoid an access to the defective block, the coding error correction using the ECC circuit and it has a function for performing.ＮＡＮＤ型フラッシュモジュールは、たとえばハードディスクの接続に使用されるＡＴＡインタフェース等に仕様をあわせ、周辺記憶装置としてブロック単位でアクセスされる。 NAND type flash module, for example, move the specification ATA interface etc. used to connect the hard disk is accessed in units of blocks as a peripheral storage device.その中には画像等のユーザーデータやアプリケーションの一部が格納されている。 Some of the user data and applications, such as image is stored therein.

これらの各種メモリのうち、ＮＯＲ型フラッシュメモリ３３はワード単位のランダムな読み出しが可能でシステムメモリとして扱えるが、高価である。 Among these various types of memory, but NOR type flash memory 33 is treated as a system memory allows random reading of the word unit, which is expensive.さらに通常はＲＯＭとしてのアクセスしかできず、ＲＡＭとしては扱えない。 More usually can only access as a ROM, can not be handled as a RAM.書き換えには通常アクセスとは異なる例外的操作が必要で、しかも非常に時間がかかる。 The rewriting the normal access require different exceptional operation, yet very time-consuming.一方、ＤＲＡＭ３４はランダムアクセスができるが、揮発性であり、データを保持するだけで電力を消費する。 Meanwhile, DRAM 34 is can the random access, is volatile, consumes power just by holding data.したがって、不使用時でもバッテリーが消耗し、最悪の場合必要なユーザーデータが失われてしまう。 Therefore, the battery is consumed even when not in use, the worst case required user data is lost.

これに対して、ＮＡＮＤ型フラッシュメモリモジュール３６は最もビット単価が安くかつ不揮発だが、ランダムアクセスができない上、書き換えには制約がある。 In contrast, NAND type flash memory module 36 but and non cheap most cost per bit, on can not be random access, the rewrite is limited.すなわち、フラッシュメモリの場合、前述したように、書き換えには必ず消去が必要であり、その際の消去ブロックは通常のアクセス単位であるページよりさらに大きい。 That is, in the case of flash memory, as described above, it is necessary always erased for rewriting, larger than the page erase block at that time is the normal access unit.このようにアクセス単位に対して消去単位が数十倍大きいのは、消去時間が長く、かつ書き込み時に非選択セルにディスターブが生じるフラッシュメモリには一般的な仕様だが、書き換えが小単位でランダムに行われた場合には極端に処理効率が悪化する。 The reason why the erase unit to the access units of several tens times larger, long erase time, and the flash memory disturbance to unselected cells during writing occurs but general specifications randomly rewrite small units extreme processing efficiency is deteriorated when done.

上記問題について図５に関連付けて説明する。 It is described with reference to FIG. 5 for the above problems.図５は、ＮＡＮＤ型フラッシュメモリの書き換え動作を概念的に示す図である。 Figure 5 is a diagram conceptually showing a rewrite operation of the NAND type flash memory.図５において、Ｐ０〜Ｐ１５はページを、Ｂ０〜Ｂ１５はブロックを、４１は実消去ブロック領域を、４２はメモリ領域を、４３はバッファメモリを、４４は実ページ領域をそれぞれ示している。 In FIG. 5, P0 to P15 of the page, B0 to B15 is a block, 41 a actual erase block region, 42 a memory area, 43 a buffer memory, 44 denotes respectively the actual page region.

たとえば２ｋＢ単位のページ書き込み、１２８ｋＢ単位のブロック消去による、転送速度１０ＭＢ／ｓフラッシュメモリを用いて、転送速度を一般ＤＲＡＭ並の１６０ＭＢ／ｓにまで高めようとした場合、マルチバンクやマルチチップの構成を取りながら、たとえば１６個のメモリアレイを並列動作させる必要がある。 For example page write 2kB units, according to the block erase 128kB units, using the transfer rate 10MB / s flash memory, when trying to increase the transfer speed to a general DRAM moderate 160MB / s, arrangement of a multi-bank or multi-chip while taking, for example 16 memory arrays is required to operate in parallel.ここでは１６個のアレイＡＲ０〜ＡＲ１５を同時動作させたとする。 Here, it is assumed that by simultaneous operation 16 array AR0～AR15.

この場合、データ書き込み時は、たとえばページＰ０〜Ｐ１５を同時書き込みし、消去時はブロックＢ０〜Ｂ１５を同時消去する。 In this case, at the time of writing data, for example, co-writing the page P0~P15, erasing simultaneously erases the block B0~B15.このとき、一括書き込み単位となる実ページ領域４４は３２ｋＢ、一括消去単位となる実消去ブロック領域４１は２ＭＢに達することになる。 At this time, the real page region 44 of the batch writing unit 32 kB, actual erase block region 41 forming one erase unit will reach the 2MB.

このようなメモリに対して、たとえばページ単位でランダムな書き換えが要求された場合、結局実消去ブロック領域４１全体を消去しなければならない。 For such memories, random rewriting if requested, after all have to erase the entire actual erase block region 41 in the example pages.かつその中の非選択領域に有効なデータがあれば、それを消失から保護する必要がある。 And if there is valid data in the unselected region in that, it is necessary to protect it from erasure.その典型的な対処例は次のようになる。 A typical deal example is as follows.

１． 1.まずフラッシュメモリから、別途設けられたバッファメモリ４３のメモリ領域４２に、実消去ブロック領域４１全体のデータを読み出す。 First from the flash memory, the memory area 42 of the buffer memory 43 separately provided, it reads the actual erase block region 41 overall data.２． 2.次にメモリ領域４２内で、所望のデータを更新する。 Then in the memory area 42 and updates the desired data.３． 3.次にフラッシュメモリ上のブロック領域４１の消去を実行する。 Then performing an erase block region 41 in the flash memory.４． 4.最後に上記消去済の領域４１に、更新後のメモリ領域４２のブロックデータを全て書き戻す。 Finally the region 41 of the erased, rewritten all block data in the memory area 42 of the updated.

すなわち、ごく僅かなデータの書き換えのために、実際には消去と、２ＭＢのデータの読み出しおよび書き込みが必要となる。 That is, for the rewriting of negligible data, and erasing, reading and writing of data 2MB required in practice.具体的には、１ページ分のデータの読み出しおよび書き込みにはそれぞれ２００μｓを要し、ブロックの消去には２ｍｓを要するので、３０ｍｓ近くを必要とする。 Specifically, it requires each of the reading and writing of data of one page 200 [mu] s, it takes a 2ms to erase the block, requiring near 30 ms.したがって、現実の転送性能は著しく低いものになってしまう。 Accordingly, the actual transfer performance becomes remarkably low.このような事情から、フラッシュメモリを用いた現在の記憶装置は、特に書き込み時においては、一般的なＤＲＡＭをはるかに下回る転送性能しか得られていない。 Under such circumstances, the current storage device using a flash memory, especially in the time of writing, transfer performance is not obtained only well below typical DRAM.

このような問題に対して、たとえば特許文献３（特開平０５−２１６７７５号公報）、特許文献４（特開平０６−３４９２８６号公報）等ではキャッシュメモリの使用が提案されている。 To solve this problem, for example, Patent Document 3 (JP-A-05-216775), the patent document 4 (JP-A-06-349286), etc. have been proposed for use of the cache memory.この場合、更新しようとするページがキャッシュに格納されているページにヒットすれば、キャッシュ内のページのみが更新されるので、上述のような冗長な動作は直ちには発生しない。 In this case, if a hit in the page the page to be updated is stored in the cache, only the pages in the cache is updated, redundant operation as described above is not immediately occur.

しかしいずれにしても、これらのデータ更新はどこかでフラッシュメモリに反映させる必要があり、そのためにデータを書き戻す際には従来と同様の作業が必要である。 But in any event, these data updates must be reflected in the flash memory somewhere, to write the data back This requires a similar work as before.すなわち、図５に示したように、記憶装置内にバッファメモリ４３を設け、更新ページに相当する元ページＰ０〜Ｐ１５を含む実消去ブロック領域４１のデータ全てをバッファメモリ４３に読み出して、実消去ブロック領域４１を消去する。 That is, as shown in FIG. 5, the buffer memory 43 provided in the storage device, all data of the actual erase block region 41 including the source page P0~P15 corresponding to updated pages is read out to the buffer memory 43, the actual erasure to erase the block area 41.しかる後にキャッシュからの更新ページをバッファ上に上書きして、最後にバッファ内の全データを元のブロック領域４１に書き戻す。 By overwriting the updated pages from the cache to the buffer and thereafter, back finally written to the original block region 41 all the data in the buffer.仮にキャッシュがミスヒットを続ければ、結局ページ更新するごとに上記動作を行わねばならなくなる。 If Continuing a cache miss-hit, no longer must perform the above operation each time you eventually page update.

本発明の目的は、非選択データの冗長な書き込み操作を不要とでき、ページの配列を書き換えに効率の良い状態に最適化することが可能な記憶装置を提供することにある。 An object of the present invention, a redundant write operation of unselected data can not necessary to provide a memory device capable of optimizing in good condition efficiency for rewriting the sequence of pages.

また、本発明の目的は、見かけ上ランダムアクセスが可能で、かつ高速、大容量な半導体記憶装置および情報処理システムを提供することにある。 Another object of the present invention is capable of apparently random access and high speed, to provide a large-capacity semiconductor memory device and information processing system.

本発明の第１の観点の記憶装置は、第１の不揮発性メモリ部と、上記第１の不揮発性メモリ部よりアクセス速度が高速で記憶容量が小さい第２の不揮発性メモリ部と、記憶装置の仮想アドレスに対応して、データが上記第１の不揮発性メモリ部および上記第２の不揮発性メモリ部のうちのいずれの不揮発性メモリに記憶されるかを管理するためのアドレス変換テーブルと、読み出しまたは書き換えにおいて、互いにアクセス速度の異なる上記第１の不揮発性メモリ部と上記第２の不揮発性メモリ部間で、適時双方向に記憶データを移動させる機能を含み、当該記憶データの移動に応じて上記アドレス変換テーブルのデータの保存先のアドレスを書き換える制御回路と、を有し、上記第１の不揮発性メモリ部は書き換えに事前消去を必要とする The first aspect of the memory device of the present invention, the first non-volatile memory unit, and the second non-volatile memory unit storage capacity smaller access speed than the first non-volatile memory unit is a high speed, the storage device corresponding to the virtual address, the address conversion table for managing whether the data is stored in any of the non-volatile memory of said first non-volatile memory unit and the second non-volatile memory unit, in reading or rewriting, between different said first non-volatile memory portion and the second non-volatile memory unit access speed to each other, includes a function of moving the stored data in a timely manner bidirectionally, depending on the movement of the memory data and a control circuit for rewriting the destination address of the data of the address conversion table Te, the first non-volatile memory unit requires precancelation rewriting導体メモリであって、消去単位であるブロック領域はアクセス単位であるページ領域を複数含み、上記第２の不揮発性メモリ部は上記第１の不揮発性メモリ部より書き換え速度が速い半導体メモリであって、上記制御回路は、外部から読み出しのために上記第１の不揮発性メモリ部にアクセスされたデータ、または外部から書き換えのために上記第１の不揮発性メモリ部にアクセスされたデータを、アクセス速度が速い側の上記第２の不揮発性メモリ部に移動させるとともに、上記アドレス変換テーブルのデータの保存先のアドレスを書き換え、上記第２の不揮発性メモリ部に保存されたページデータを上記第１の不揮発性メモリ部に書き戻す際、上記ページデータを、上記第１の不揮発性メモリ部上の消去済み領域に移動させるとともにA conductor memory, block area is erase unit includes a plurality of page areas is accessed unit, said second non-volatile memory portion is the above first fast semiconductor memory rewriting speed than the non-volatile memory unit , the control circuit, the data accessed in the first nonvolatile memory unit for rewriting data is accessed in the first nonvolatile memory portion for reading from the outside or from the outside, the access speed is moved within the second nonvolatile memory portion of the quick side, the address conversion table rewriting the destination address of the data, the has been a page data in the first storage to the second non-volatile memory unit when written back into the nonvolatile memory unit, the page data, is moved to the erased area on the first non-volatile memory unit上記アドレス変換テーブルのデータの保存先のアドレスを書き換える 。It rewrites the destination address of the data of the address conversion table.

好適には、 上記第２の不揮発性メモリ部は強誘電体材料、相変化材料、強磁性材料または磁気抵抗効果材料を記憶素子に用いた不揮発性メモリを含む。 Preferably includes a second non-volatile memory unit on SL ferroelectric material, phase change material, a non-volatile memory using a ferromagnetic material, or magnetoresistance effect material for the memory element.

好適には、上記第１のメモリ部はハードディスク装置であり、上記第２のメモリ部は半導体メモリであって、上記制御回路は、外部から読み出しまたは書き換えのためにアクセスされた上記第１のメモリ部上のデータを第２のメモリ部に移動させる。 Preferably, the first memory unit is a hard disk device, the second memory unit includes a semiconductor memory, the control circuit, the first memory that is accessed for reading or rewriting from the outside the data on parts moving into the second memory unit.

好適には、上記第２のメモリ部は、強誘電体材料、相変化材料、強磁性材料または磁気抵抗効果材料を記憶素子に用いた不揮発性メモリを含む。 Preferably, the second memory unit includes a non-volatile memory using a ferroelectric material, phase change material, ferromagnetic material, or magnetoresistance effect material for the memory element.

好適には、装置内には特定のデータグループをページ単位として、外部から入力されるページアドレスと上記第１または第２のメモリ部内のページデータの実所在位置との対照を示す、アドレス変換テーブルが構築され、上記制御回路は、上記ページ単位で上記第１のメモリ部から上記第２のメモリ部へデータを移動させて、上記アドレステーブルを更新し、上記第１のメモリ部上の元のページ領域を無効化する機能、および上記ページ単位で上記第２のメモリ部から上記第１のメモリ部へデータを移動させて、上記アドレステーブルを更新し、上記第２のメモリ部上の元のページ領域を無効化する機能を有する。 Preferably, the page unit specific data group in the apparatus, showing the control of the actual location of the page data of the page address and the first or the second memory unit which is input from outside, the address conversion table There is built, the control circuit, in the page unit from the first memory unit by moving the data to the second memory unit, it updates the address table, the original in the first memory unit ability to disable the page area, and above in a page unit from the second memory unit to move the data into the first memory unit, updating the address table, the original on the second memory unit It has a function to disable the page area.

好適には、上記変換テーブルは、上記第２のメモリ部内に保管されている。 Preferably, the conversion table is stored in the second memory unit.

本発明の第２の観点の記憶装置は、第１のメモリ部と、第２部のメモリ部と、制御回路と、を有し、上記第１のメモリ部は不揮発性メモリであって、データのアクセス単位であるページ領域と、消去単位であるブロック領域を複数有し、該ブロック領域は複数のページ領域を含み、上記第２のメモリ部は上記第１のメモリ部のキャッシュメモリであり、上記第１のメモリ部内の任意の消去ブロックから互いに独立して読み出された、複数のページ領域のデータを保存し、上記制御回路は、上記第２のメモリに保存されたページデータを上記第１のメモリ部に書き戻す際、上記ページデータを、上記第１のメモリ部上の元のページ領域とは異なる消去済のページ領域に、ページ単位で独立に移動させる機能を有する。 Storage device of the second aspect of the present invention includes a first memory portion has a memory portion of the second part, and a control circuit, wherein the first memory unit includes a non-volatile memory, data a page area which is the access unit has a plurality of block regions is erase unit, the block region includes a plurality of page areas, the second memory unit is a cache memory of the first memory unit, read independently of each other from any erase block in the inner first memory unit stores the data of a plurality of page areas, the control circuit, the first page data stored in said second memory when writing back to one of the memory unit, the page data, the page areas of different erased from the original page region in the first memory unit, has a function of moving independently in units of pages.

好適には、上記記憶装置内には、外部から入力されるページアドレスと上記第１または第２のメモリ部内のページデータの所在位置との対照を示す、アドレス変換テーブルが構築されており、上記制御回路は、上記書き戻しの際、書き込み位置に応じて上記変換テーブルを更新する。 Preferably, in the above memory device, showing the control of the location of the page data of the page address and the first or the second memory unit which is input from outside, the address conversion table is built, the control circuitry, when the write back, updates the conversion table in accordance with the writing position.

好適には、上記制御回路は、外部からデータをアクセスがなされた際は、装置内で上記アドレス変換テーブルが参照され、所望のデータがキャッシュである上記第２のメモリ部内に保存されているか否かを判定する。 Preferably, the control circuit, or when the access data is made from the outside, is referred to the address conversion table in the device, the desired data is stored in the second memory unit is a cache whether determines whether or not.

好適には、上記第１のメモリ内に保存されたページデータを更新する際には、上記制御回路は上記ページデータを上記第２のメモリ部内に移動し、当該移動位置に応じて上記変換テーブルを更新し、上記第１のメモリ部上のページデータの元領域を無効化する。 Preferably, the when updating page data stored in the first memory, said control circuit moves the page data into the second memory unit, the conversion table in accordance with the movement position update the invalidates the original region of the page data in the first memory unit.

本発明によれば、たとえば、記憶装置では、低性能なメインメモリに付帯する高性能な補助メモリを、従来のキャッシュメモリの如くメインメモリの一時記憶媒体として扱うのではなく、メインメモリと等価な媒体として扱う。 According to the present invention, for example, a storage device, a high-performance auxiliary memory incidental to the low performance main memory, rather than treated as a temporary storage medium of the main memory as in the conventional cache memory, equivalent to the main memory treated as a medium.より具体的には本発明の記憶装置は、アクセス特性が異なる二種のメモリを同階層で扱い、その特性に応じてデータを両者の間で柔軟に振り分ける。 More specifically the storage device of the present invention treats two types of memory access characteristics are different at the same hierarchy, flexibly distribute the data between them according to their characteristics.したがって、高性能な補助メモリ側に保存されるのは、メインメモリのデータの一時記憶としてのコピーではなく、メインメモリから移されたデータの実体である。 Therefore, what is stored in the high performance auxiliary memory side is not a copy of a temporary storage of the data in the main memory, it is an entity of data transferred from the main memory.このような記憶装置においては、もはや補助メモリに行われたデータ更新を、必ずしもメインメモリに反映させる必要は無い。 In such a storage device, the longer the data updates made in the auxiliary memory, need not necessarily be reflected in the main memory.補助メモリが満杯になった際には、適時メインメモリの適当な消去済領域に記憶データを移動させるだけで良い。 When the auxiliary memory becomes full, it is sufficient to move the stored data to the appropriate erased region of timely main memory.その移動場所は、システムの効率を考慮して柔軟に選択することが可能である。 The movement location can be selected flexibly in consideration of the efficiency of the system.

本発明の第３の観点の記憶装置は、第１のメモリ部と、上記第１のメモリ部より高速で小容量な第２のメモリ部と、を含み、アドレス変換テーブルを有し、当該アドレス変換テーブルは外部からのアクセスに伴って入力された論理アドレスを、上記第１のメモリ部または第２のメモリ部上の記憶領域を規定する物理アドレスに変換し、当該アクセスを第１または第２のメモリ部へのアクセスに振り分け、上記第２のメモリ部に格納されるデータは、上記物理アドレスをインデックスとする配列として管理されており、必要に応じて先に格納されたデータから順次破棄されて、上記第１のメモリ部に移動される。 A third aspect of the memory device of the present invention includes a first memory unit, a second memory unit of small capacity at a higher speed than the first memory unit, an address translation table, the address the conversion table is a logical address that is input with the external access, into a physical address defining the first memory unit or storage area on the second memory portion, the access first or second distribution of the access to the memory unit, the data stored in the second memory unit is managed as an array, indexed by the physical addresses, it is sequentially discarded from previously stored data as needed Te, it is moved to the first memory unit.

好適には、上記第２のメモリ部に構築されるデータ配列には、各インデックスごとに予備フィールドが設けられており、各データに対応する上記論理アドレスが格納されている。 Preferably, the data array constructed in the second memory unit has reserved field is provided for each index, the logical address is stored for each data.

本発明の第４の観点の記憶装置は、第１のメモリ部と、上記第１のメモリ部より高速で小容量な第２のメモリ部と、を含み、アドレス変換テーブルを有し、当該アドレス変換テーブルは外部からのアクセスに伴って入力された論理アドレスを、第１のメモリ部または第２のメモリ部上の記憶領域を規定する物理アドレスに変換し、当該アクセスを第１または第２のメモリ部へのアクセスに振り分け、上記第２のメモリ部に格納されるデータは、上記物理アドレスをインデックスとするリンクリストで管理されており、新規に格納されたデータはリンクの一端に追加され、必要に応じてリンクの反対端のデータが破棄されて、上記第１のメモリ部に移動される。 A fourth aspect of the memory device of the present invention includes a first memory unit, a second memory unit of small capacity at a higher speed than the first memory unit, an address translation table, the address the conversion table is a logical address that is input with the external access, is converted into a physical address that defines the first memory unit or storage area on the second memory portion, the access first or second sorting the access to the memory unit, data stored in the second memory unit is managed by a link list indexed by the physical address, the data stored newly is added to one end of a link, optionally be revocation opposite end of the link is moved to the first memory unit.

好適には、上記リンクリストの管理テーブルには、各インデックスごとに予備フィールドが設けられており、各データに対応する上記論理アドレスが格納されている。 Preferably, the management table of the link list, and reserved field is provided for each index, the logical address is stored for each data.

本発明の第５の観点の記憶装置は、第１のメモリと、上記第１のメモリのキャッシュメモリである第２のメモリと、制御回路と、を有し、上記第１のメモリは不揮発性メモリであって、データのアクセス単位であるページ領域と、消去単位であるブロック領域を複数有し、当該ブロック領域は複数のページ領域を含み、上記制御回路は、複数のページ領域のデータを、それぞれ異なるブロック領域から読み出して上記第２のメモリに保存し、保存したデータを上記第１のメモリ内の同一のブロックに再配置して書き込む機能を有する。 A fifth aspect of the memory device of the present invention includes a first memory, and a second memory is a cache memory of the first memory, and a control circuit, wherein the first memory is nonvolatile a memory, and page regions serving as access units of the data has a plurality of block regions is erase unit, the block region includes a plurality of page areas, the control circuit, the data of a plurality of page areas, each reading from different block regions stored in said second memory, the stored data has a function of writing and re-arranged in the same block in the first memory.

好適には、上記第２のメモリは、上記ページ領域かそれ以下の単位で書き換えが可能な不揮発性メモリを含む。 Preferably, the second memory includes a nonvolatile memory capable of rewriting the above page area or below the unit.好適には、上記第２のメモリは、強誘電体材料、相変化材料、強磁性材料または磁気抵抗効果材料を用いた不揮発性メモリを含む。 Preferably, the second memory comprises a ferroelectric material, phase change material, a non-volatile memory using a ferromagnetic material, or magnetoresistance effect material.

好適には、上記制御回路は、上記第１のメモリ上のページデータを更新する際は、当該第１のメモリから読み出されて更新されたページデータは上記第２のメモリ内に保管し、さらに上記第１のメモリ上の元のページ領域は無効化させる。 Preferably, the control circuit, the first when updating the page data in the memory, the first page data was updated is read from the memory is stored in the second memory, Furthermore the original page region in the first memory is to be invalidated.

好適には、上記制御回路は、データアクセスにおけるアドレスの少なくとも一部を構成する各ページごとの論理アドレスと、該ページの上記第１または第２メモリ内における所在位置を示す物理アドレスの対照情報を、内部に保存している。 Preferably, the control circuit includes a logical address of each page constituting at least a part of the address in the data access, the control information of the physical address indicating the location in the first or second memory of said page , it is stored in the internal.

本発明によれば、たとえば、制御回路によって、複数のページ領域のデータが、それぞれ異なるブロック領域から読み出されて第２のメモリに保存される。 According to the present invention, for example, by the control circuit, data of a plurality of page areas is stored in the second memory is read out from different block regions.そして、保存されたデータが第１のメモリ内の同一のブロックに再配置されて書き込まれる。 Then, the stored data is written are rearranged in the same block in the first memory.

本発明の第６の観点の半導体記憶装置は、第１のメモリと、上記第１のメモリよりアクセス速度が低速な第２のメモリと、論理アドレスに対する物理アドレスを含むアドレス変換テーブルと、制御回路と、を有し、上記制御回路は、外部からアクセスが成されると上記アドレス変換テーブルを参照して、入力論理アドレスに対応する物理アドレスを取得し、取得した上記物理アドレスが第１のメモリ内を指す場合には、第１のメモリをアクセスし、上記物理アドレスが第２のメモリ内を指す場合には、必要に応じて第２のメモリ内のデータを第１のメモリ内に転送する。 The semiconductor memory device of the sixth aspect of the present invention includes a first memory, and the first second memory access speed is slower than memory, an address conversion table including physical addresses for the logical address, the control circuit If has, the control circuit, when the access from the outside is made with reference to the address conversion table, and acquires a physical address corresponding to the input logical address, acquired the physical address is the first memory when referring to internal accesses the first memory, the physical address to refer to the second memory transfers the data in the second memory as needed in the first memory .

好適には、上記制御回路は、上記物理アドレスが第２のメモリ内を指し、かつ所望のデータのコピーが第１のメモリ内に無い場合は、少なくとも当該データを第２のメモリから第１のメモリ内に転送する。 Preferably, the control circuit refers to the physical address in the second memory, and when the copy of the desired data is not in the first memory is at least the data from the second memory first It is transferred to the memory.

好適には、上記アクセスが読み出しの場合、上記データ転送はデータのコピーを含み、上記アクセスが書き込みの場合、上記データ転送はアドレス変換テーブルの更新を伴うデータの移動を含む。 Preferably, if the access is a read, the data transfer includes a copy of the data, if the access is for writing, the data transfer includes movement of the data with the updating of the address conversion table.

好適には、上記制御回路は、上記物理アドレスが第２のメモリ内を指し、かつ所望のデータのコピーが第１のメモリ内に存在し、かつアクセスが書き込みの場合は、上記コピー部を更新し、かつ上記アドレス変換テーブルを更新して、該当データに対応する物理アドレスは該コピー領域を指すように変更する。 Preferably, the control circuit refers to the physical address in the second memory, and if a copy of the desired data is present in the first memory, and the access is a write, update the copy unit and, and it updates the address conversion table, a physical address corresponding to the data is modified to point to the copy area.

好適には、状態通知ピンをさらに有し、上記データ転送がなされた場合、通知ピンにビジー状態が通知される。 Preferably, the device further comprises a status notification pin, when the data transfer is made, a busy state is notified to the notification pin.

好適には、上記第１のメモリはランダムアクセスメモリを含み、上記第２のメモリはフラッシュメモリを含む。 Preferably, the first memory includes a random access memory, the second memory comprises a flash memory.

好適には、上記第１のメモリは不揮発のランダムアクセスメモリであって、強誘電体材料、相変化材料、強磁性材料または磁気抵抗効果材料を記憶素子に用いた不揮発性半導体メモリを含む。 Preferably, the first memory is a random access memory of the nonvolatile includes ferroelectric material, phase change material, a non-volatile semiconductor memory using a ferromagnetic material, or magnetoresistance effect material for the memory element.

本発明の第７の観点の半導体記憶装置は、第１のメモリ部と、上記第１のメモリ部より記憶容量が大きい第２のメモリ部と、制御回路と、状態通知ピンと、を有し、上記第１のメモリ部は、不揮発のランダムアクセスメモリであって、強誘電体材料、相変化材料、強磁性材料または磁気抵抗効果材料を記憶素子に用いた不揮発性半導体メモリを含み、上記第２のメモリ部はフラッシュメモリを含み、上記制御回路は、外部からメモリアクセスがなされた際、所望のデータまたは当該データのコピーが第１のメモリ部にある場合は第１のメモリ部をアクセスし、無い場合は上記第２のメモリ部から第１のメモリ部に所望データを転送し、上記データ転送が発生した場合には、上記通知ピンにビジー状態が通知される。 The semiconductor memory device of the seventh aspect of the present invention includes a first memory unit, the first memory unit from the storage capacity is large second memory unit, a control circuit, a notification status pin, the first memory unit is a random access memory of the nonvolatile includes ferroelectric material, phase change material, a non-volatile semiconductor memory using a ferromagnetic material, or magnetoresistance effect material for the memory element, the second the memory unit includes a flash memory, the control circuit, when the memory access is made from outside, when the desired data or a copy of the data is in the first memory unit accesses a first memory unit, If no transfers desired data to the first memory portion from said second memory unit, when the data transfer has occurred, the busy state is notified to the notification pin.

本発明の第８の観点は、半導体記憶装置を有する情報処理システムであって、上記半導体記憶装置は、第１のメモリ部と、上記第１のメモリ部より記憶容量が大きい第２のメモリ部と、制御回路と、状態通知ピンと、を有し、上記第１のメモリ部は、不揮発のランダムアクセスメモリであって、強誘電体材料、相変化材料、強磁性材料または磁気抵抗効果材料を記憶素子に用いた不揮発性半導体メモリを含み、上記第２のメモリ部はフラッシュメモリを含み、上記制御回路は、外部からメモリアクセスがなされた際、所望のデータまたは当該データのコピーが第１のメモリ部にある場合は第１のメモリ部をアクセスし、無い場合は上記第２のメモリ部から第１のメモリ部に所望データを転送し、上記データ転送が発生した場合には、上記通知 Eighth aspect of the present invention is an information processing system having a semiconductor memory device, the semiconductor memory device includes a first memory unit, the memory capacity than the first memory unit is larger second memory section When having a control circuit, a notification status pin, the first memory unit is a random access memory nonvolatile, ferroelectric material, phase change material, ferromagnetic material, or magnetoresistance effect material storage includes a non-volatile semiconductor memory using the element, the second memory unit includes a flash memory, the control circuit, when the memory access is made from outside, a copy of the desired data or the data is the first memory when in section accesses the first memory portion, if not transfers the desired data to the first memory portion from said second memory unit, when the data transfer has occurred, the notificationンにビジー状態が通知され、上記ビジー状態の通知に伴って、システムに割り込みが発生し、システムはメモリアクセスを中断して、上記転送の完了まで待機する。 Down a busy state is notified to, along with the notification of the busy state, an interrupt occurs in the system, the system interrupts the memory access and stands by until completion of the transfer.

本発明によれば、たとえば記憶装置が、強誘電体メモリ等の高速不揮発性メモリ（以下ＮＶＲＡＭと呼ぶ）と、たとえばＮＡＮＤ型フラッシュメモリに代表される安価な大容量不揮発性メモリを組み合わせ、見かけ上ランダムアクセスが可能で、かつ高速、大容量な不揮発性メモリとして構成される。 According to the present invention, for example, storage devices, strong and fast nonvolatile memory a dielectric memory or the like (hereinafter referred to as NVRAM), combine the inexpensive mass storage nonvolatile memory typified for example in the NAND-type flash memory, the apparent random access is possible, and high-speed, configured as a large-capacity nonvolatile memory.両メモリはともにデータの記憶装置として作用し、所望のデータまたはデータのコピーがＮＶＲＡＭにある場合、外部からは通常のランダムアクセスメモリに対するのと同様にＮＶＲＡＭにアクセスできる。 Both memories together act as a storage device for data, when the desired data or a copy of the data is in the NVRAM, can access the NVRAM in the same way as for a normal random access memory from the outside.一方、それらがＮＶＲＡＭにない場合は、通知ピンによりその旨がシステムに通知され、大容量フラッシュメモリからＮＶＲＡＭへ所望のデータの転送が行われる。 On the other hand, if they are not in NVRAM, the effect by the notification pin is notified to the system, the transfer of the desired data from the large capacity flash memory to the NVRAM is performed.システムはその間、メモリアクセスを停止して待機する。 System the meantime, to wait to stop the memory access.

また、本発明では、ＮＶＲＡＭに所望のデータがあるか否かの判定を、アドレス変換テーブルを用いて実施する。 In the present invention, the determination of whether there is desired data in NVRAM, performed using the address translation table.これは判定にキャッシュタグを用いる一般的なキャッシュシステムに対して、次のような柔軟性を提供する。 This for general cache system using cache tags determines, provides flexibility as follows.通常のキャッシュシステムでは、キャッシュにはメインメモリに格納されたデータのコピーのみが格納される。 In a typical cache system, only a copy of the data stored in the main memory is stored in the cache.したがって、キャッシュ内のデータが外部から更新された場合、必ずメインメモリの元の場所に書き戻す必要がある、前述したように、メインメモリにフラッシュメモリを用いた場合、この制約は大きなオーバーヘッドを生ずる。 Therefore, if the data in the cache is updated from the outside, it is necessary to always write back to the original location of the main memory, as described above, when using a flash memory to main memory, this restriction results in a large overhead .これに対して、本システムにおいては、アドレス変換テーブルを更新することで、ＮＶＲＡＭ側にデータの本体を移動させることができる。 In contrast, in the present system, by updating the address conversion table, it is possible to move the body of the data in the NVRAM side.したがって、たとえばコピーをデータ本体と差し替えて元のデータは無効化することで、もはや書き戻しは不要となり、オーバーヘッドも解消できる。 Thus, for example, by disabling the original data replaced with the data body of the copying, longer write back is not required, the overhead can be eliminated.また、ＮＶＲＡＭ側に十分な空きが無くなった場合は、それらをフラッシュメモリ内の好適な空き場所に自由に移動させることができる。 Also, if enough free runs out NVRAM side, it is possible to cause them to move freely to a suitable empty location in the flash memory.

本発明によれば、従来のキャッシュシステムと同等な効果を得つつも、キャッシュメモリの更新をメインメモリに反映させる必要がなくなり、より柔軟で効率的なメモリシステムを構築することが可能になる。 According to the present invention, even while obtaining the same effect as the conventional cache system, it is not necessary to reflect the updating of the cache memory to the main memory, it is possible to construct a more flexible and efficient memory system.たとえば、低価格大容量のフラッシュメモリをメインメモリとして使用しつつ、高速な転送能力を確保でき、かつ微小領域の更新にも無駄なく対応可能な、柔軟な半導体ストレージを実現できる。 For example, the flash memory of low cost high capacity while using as a main memory, can be secured fast transfer capability, and that no waste can correspond to updates of minute area, it can be realized flexible semiconductor storage.また、ハードディスクシステムにおいても、シーク回数の少ない、高速な記憶装置を実現できる。 Also in a hard disk system, less the number of seeks, a fast storage device can be realized.一般に領域に依存してアクセス性能を劣化させる制約を持ったメモリをメインメモリとした記憶装置では、本発明の効果は顕著であり、従来のキャッシュシステムに比較してアクセス性能を大幅に改善することが可能である。 A storage device having a main memory a memory having a constraint degrading generally depending on the area access performance, the effect of the present invention is remarkable, greatly improve the access performance compared with the conventional cache system it is possible.

本発明によれば、見かけ上ランダムアクセスが可能で、かつ高速、大容量な不揮発性メモリを実現することができる。 According to the present invention, can be apparently random access, high speed, it is possible to realize a high capacity non-volatile memory.また、所望のデータがＮＶＲＡＭにあるか否かの判定にアドレス変換テーブルを用いることで、両メモリ間で必要に応じてデータの移動を可能にし、これによってフラッシュメモリの書き換えに伴うオーバーヘッドを最小化し、高速な動作を実現することが可能である。 Further, by using the address conversion table to determine whether the desired data is in NVRAM, to allow movement of the data as required between both memory, thereby minimizing the overhead associated with rewriting of the flash memory , it is possible to achieve high-speed operation.また、本発明によるメモリをバッテリーバックアップのモバイル機器に採用すれば、待機時のデータ保持に電力消費を必要としないので、バッテリー寿命を大幅に延ばすことができる。 Further, the memory according to the present invention by adopting the mobile device battery backup does not require a power consumption in the data holding standby, it can extend the battery life significantly.またシステム構成が単純になる上、殆どのメモリ部は安価なＮＡＮＤ型フラッシュメモリで置き換えることができるので、総合的なメモリコストも低減できる。 Also on the system configuration becomes simple, since most of the memory unit can be replaced by cheap NAND type flash memory, the overall memory cost can be reduced.

以下、本発明の実施形態を図面に関連付けて説明する。 Hereinafter, an embodiment of the present invention with reference to the drawings.

第１実施形態First Embodiment図６は、本発明に係る記憶装置の第１の実施形態を示す構成図である。 Figure 6 is a block diagram showing a first embodiment of a storage device according to the present invention.

記憶装置５０において、外部との入出力インターフェース回路５３には内部バスＢＳ５０を介してＮＡＮＤ型フラッシュメモリよりなる大容量のメインメモリ５１と、強誘電体メモリよりなる比較的小容量の補助メモリ５２が接続されており、さらに転送制御回路５４を有している。 The storage device 50, a main memory 51 of large capacity composed of NAND-type flash memory via the internal bus BS50 is the input-output interface circuit 53 with the outside, the auxiliary memory 52 of relatively small capacity made of a ferroelectric memory It is connected, and further has a transfer control circuit 54.メインメモリ５１は内部が高並列化されており、３２ｋＢのデータ群が単位ページとして同時にアクセスされ、内部バスＢＳ５０に入出力転送される。 The main memory 51 is internally is high parallelism, data group 32kB is simultaneously accessed as a unit page is output transferred to the internal bus BS 50.

また、装置内部には左記ページを管理単位としたアドレステーブル６０が構築されている。 The address table 60 in which the left page and the management unit is constructed inside the device.これはたとえば、図７に示すように、転送制御回路５４に内蔵されたＲＡＭの中に構築される。 This example, as shown in FIG. 7, is built into the RAM built in the transfer control circuit 54.インターフェース回路５３は内部に３２ｋＢのページバッファーを備え、内部バスＢＳ５０から一旦ページ単位でデータを取得し、それを介して５１２Ｂのファイルセクター単位でデータを入出力する。 The interface circuit 53 is internally provided with a page buffer of 32 kB, acquires data at once a page unit from the internal bus BS 50, inputs and outputs data in a file sector units 512B through it.

外部からアクセスしたい所望のセクターアドレスが指定されると、転送制御回路５４はその上位ビットから対応する論理ページアドレスを抽出し、アドレステーブル６０を参照する。 When the desired sector address to be accessed is designated from the outside, the transfer control circuit 54 extracts the corresponding logic page address from its higher bits and refers to the address table 60.アドレステーブル６０は、図７に示すように、各論理アドレス６１と物理アドレス６２の照応から成っており、テーブルを格納したＲＡＭ上では、そのメモリアドレスと格納データに対応させることができる。 Address table 60, as shown in FIG. 7, which consists of anaphoric of each logical address 61 and the physical address 62, in the RAM storing the table can correspond to its memory address storage data.すなわち、所望の論理アドレスに対応するＲＡＭ上のアドレスにアクセスすることで、照応する物理アドレスが取得できる。 That is, by accessing the address on the RAM corresponding to the desired logical address, physical address anaphoric can be obtained.物理アドレス領域００００〜７ＦＦＦはメインメモリ５１内のページアドレスを示す。 Physical address area 0000~7FFF indicates the page address in the main memory 51.一方、８０００以上の領域は補助メモリ５２を示しており、たとえば物理アドレス８００１は補助メモリ５２のアドレス０００１に所望のページが存在することを示している。 On the other hand, 8000 or more regions indicates the auxiliary memory 52, for example, the physical address 8001 indicates that the desired page is present at the address 0001 of the auxiliary memory 52.転送制御回路５４はこのテーブルを用いて所望のページの所在を判定し、メインメモリ５１または補助メモリ５２からそれを読み出してインターフェース回路５３のページバッファーに転送する。 Transfer control circuit 54 uses this table to determine the location of the desired page is transferred to the page buffer of the interface circuit 53 reads it from the main memory 51 or the auxiliary memory 52.

本記憶装置５０においては、メインメモリ５１から読み出されて更新されたページデータは、補助メモリ５２に移動する。 In this memory device 50, the page data that has been updated is read from the main memory 51 is moved to the auxiliary memory 52.すなわち、転送制御回路５４は更新されたページを補助メモリ５２に保存し、アドレステーブル６０内の対応論理アドレスに照応する物理アドレスを、補助メモリ５２の保存先に書き換える。 That is, the transfer control circuit 54 stores the updated page in the auxiliary memory 52, a physical address anaphoric to the corresponding logical address in the address table 60, rewrites the destination of the auxiliary memory 52.これによって、メインメモリ５１内の読み出し元領域は無効化される。 Thus, reading the original area in the main memory 51 is invalidated.すなわち、ページデータは補助メモリ５２に一時記憶としてコピーされたのではなく、実体が移動している。 Namely, the page data is not copied as temporarily stored in the auxiliary memory 52, but is moved.

それ以降、同じ論理アドレスがアクセスされると、更新されたアドレステーブルに従って、補助メモリ５２がアクセスされる。 Later, when the same logic address is accessed, according to the updated address table, the auxiliary memory 52 is accessed.ＦｅＲＡＭの書き換えはフラッシュメモリに比較してはるかに高速なので、補助メモリ５２へのデータアクセスは極めて高速に実施することができる。 Since rewriting of the FeRAM is much faster compared to the flash memory, data access to the auxiliary memory 52 can be carried out very fast.この点において、補助メモリ３２の役割は通常のキャッシュメモリと同じである。 In this regard, the role of the auxiliary memory 32 is the same as a normal cache memory.

このようにして互いに異なる消去ブロックから読み出されたページ５ ５〜 ５ ７が次々に更新され、補助メモリ５２に移動したとする。 Such page 5 5-5 7 read out from erase blocks different from each other in the updated one after another, and moved to the auxiliary memory 52.こうして補助メモリ５２内の空きが無くなってくると、転送制御回路５４は、今度はこれらのページをメインメモリ５１に再度移動させる必要が生ずる。 Thus when there is no longer any empty region in the auxiliary memory 52, transfer control circuit 54, in turn need arises to move again these pages in the main memory 51.この際の移動は従来のキャッシュメモリからの書き戻しと異なり、メインメモリ上の任意の消去済み領域に行うことが可能である。 The movement at this time is different from the writing back from a conventional cache memory, it is possible to carried out to any erased region on the main memory.たとえば、消去済の空きブロック５９にまとめて移動させればよく、従来のようにそれぞれのページに対して読み出し元のブロック消去やブロック全体のデータ退避、再書き込み等を行う必要が無い。 For example, it is sufficient to move together to a free block 59 of the erased, as in the prior art read source of the block erase and block the entire data saving for each page, there is no need to re-write and the like.すなわち、補助メモリ５２からページ群５８のみをメインメモリ５１のブロック５９に順次転送し、アドレステーブル６０をそれに応じて書き換えるのみで良い。 That is, only the group of pages 58 from the auxiliary memory 52 sequentially transfers to the block 59 of the main memory 51, it is only rewritten in accordance with the address table 60 with it.

なお、本発明を用いた記憶装置では、補助メモリ５２にはメインメモリ５１の任意の箇所からランダムにページが移動せしめられ、蓄積されるので、ヒット率の高いフルアソシエーティブのキャッシュメモリと等価な効力を発揮させることができる。 Incidentally, a storage device using the present invention, auxiliary in the memory 52 random pages are moved from any point of the main memory 51, because it is accumulated, equivalent to a cache memory having a high hit rate full-associative it is possible to take effect.しかもデータの探査や移動に用いるアドレステーブル６０の照合や更新はいずれも一回のＲＡＭアクセスで良く、たとえばキャッシュＴＡＧをスキャンして入力アドレスと比較する従来のキャッシュシステムのヒットの検出よりはるかに簡便かつ高速である。 Moreover may either verification and updating of the address table 60 for use in the exploration and data movement in one RAM access, for example, much simpler than the detection of a hit of a conventional cache system to be compared with the input address to scan the cache TAG and a high speed.

ところで、本実施形態における補助メモリ５２には揮発性メモリを使うことも可能であるが、データの消失は許されない。 By the way, the auxiliary memory 52 in this embodiment it is also possible to use a volatile memory, loss of data is not permitted.したがって、たとえばメインメモリ５１内に特定の領域を設けて、電源オフ時にそこに内容を退避する必要がある。 Thus, for example, by providing a specific area in the main memory 51, it is necessary to save the therein contents when the power is turned off.さらに、電源オン時には退避したデータを復元させねばならず、起動や終了に余分な時間がかかる上、電源瞬断にも脆弱である。 Further, at the time of power-on without must to restore the saved data, it takes extra time to start and end, which is vulnerable to a power interruption.したがって、補助メモリ５２はフラッシュメモリよりアクセスが高性能な不揮発性メモリであることが望ましく、具体的には強誘電体材料、相変化材料、強磁性材料または磁気抵抗効果材料を用いたメモリであることが望ましい。 Accordingly, the auxiliary memory 52 is desirably, in particular is a memory using a ferroelectric material, phase change material, ferromagnetic material, or magnetoresistance effect material that the access from the flash memory is a high-performance non-volatile memory it is desirable.

さらに、アドレステーブル６０も消滅は許されない。 In addition, the address table 60 also is not allowed to disappear.たとえば各ページの論理アドレスをページ毎の予備領域に保存しておけば再構築は可能だが、全ページのスキャンには長時間を要する。 For example, re-build's possible if you save the logical address of each page in the spare area of ​​each page, the scan of all the pages take a long time.したがって、テーブルデータは不揮発性の補助メモリ５２にバックアップ保存されるか、もしくはメモリ５２の中に直接構築されることが望ましい。 Thus, table data is either stored back up in the auxiliary memory 52 of the nonvolatile, or desired to be constructed directly in the memory 52.

ところで、上記補助メモリ５２にメインメモリ５１からデータを移動させる際、どのアドレスに格納するかを決定するための仕様が必要である。 Meanwhile, when moving the data from the main memory 51 to the auxiliary memory 52 is required specifications for determining whether to store any address.また、補助メモリ５２に空き領域が無くなってきた場合、どのデータからメインメモリ５１に移動させるかを決定するための仕様も必要である。 Further, if the free space has been lost in the auxiliary memory 52, specifications for determining whether to move from which data in the main memory 51 is also required.

このような補助メモリ５２の管理手法の具体例を図８に示す。 A specific example of such a management technique of an auxiliary memory 52 in FIG. 8.アドレス変換テーブル６０ ｄには記憶装置５０に入力される各論理ページアドレスに応じた物理ページアドレスが記載されており、”０ｘ８０００”以上は補助メモリ５２ ｄ内のデータ領域を指している。 The address conversion table 60 d are described physical page address depending on the logical page address input to the storage device 50 is, "0x8000" or more points to the data area of the auxiliary memory 52 in the d.その下位８ビットが、補助メモリ５２ ｄ内に構築されたページデータの配列におけるインデックスとなる。 Its lower 8 bits, the index in the array of the page data constructed in the auxiliary memory 52 in the d.

補助メモリ５２ ｄ内にはたとえば１１２のエントリ領域があり、各ページデータは上記物理アドレスをインデックスとした配列で管理されている。 Auxiliary in the memory 52 in the d has an entry area, for example 112, each page data is managed by the sequences indexed by the physical address.すなわち、図８の状態では、インデックス”０ｘ１ｅ”を先頭として、”０ｘ０２”までの連続した領域にページデータが格納されている。 That is, in the state of FIG. 8, a top index "0x1e", "0x02" continuous area in the page data up is stored.”０ｘ０３”〜”０ｘ１ｄ”に到る領域６６ ｄには現在データは格納されておらず、空き領域となっている。 "0x03" ~ the region 66 d leading to "0x1d" does not currently data stored, and has a free area.

ページデータ格納領域における先頭インデックス”０ｘ１ｅ”及び末尾インデックス”０ｘ０２”は、それぞれキャッシュコントローラ（図６の符号（５４）に相当）内のレジスタ６７ ｄおよび６８ ｄに格納されて管理されている。 Header index "0x1e" and ending index "0x02" in the page data storage area is managed by being stored in the register 67 d and 68 d in the (corresponding to reference numeral 6 (54)) the cache controller respectively.また補助メモリ５２ ｄ内には各インデックスごとにページデータ用のフィールド６４ ｄに対応した予備フィールド６５ ｄが設けられており、そこには各ページデータの論理アドレスが格納されている。 The auxiliary in the memory 52 in the d and reserved field 65 d is provided corresponding to the field 64 d for page data for each index, there is stored a logical address of each page data.

補助メモリ５２ ｄに新しいページデータを格納する場合、以下のような操作が行われる。 When storing new page data in the auxiliary memory 52 d, the following operation is carried out.まず先頭インデックスレジスタ６７ ｄの値が一つデクリメントされ、”０ｘ１ｄ”になる。 First the value of the header index register 67 d is one decrement becomes "0x1d".そして補助メモリ５２ ｄ内のインデックス”０ｘ１ｄ”に相当するページフィールドにページデータが、予備フィールドに対応する論理アドレスが格納される。 The page data in the page field corresponding to the index "0x1d" of the auxiliary memory 52 in the d is, the logical address corresponding to the spare field are stored.

一方、補助メモリ５２ ｄの空き領域が無くなるか残り少なくなって、新規空き領域確保のため既存のページデータを補助メモリから削除してメインメモリに移動する場合、以下のような操作が行われる。 The auxiliary memory 52 d is either running low free space is eliminated, and when moving into the main memory by deleting the existing page data from the auxiliary memory for a new free area secured, the following operation is carried out.まず末尾インデックスレジスタ６８ ｄの値が参照され、インデックス値”０ｘ０２”が取得される。 Is first referenced, the value of the tail index register 68 d, the index value "0x02" is acquired.これをもとに補助メモリ５２ ｄ内のインデックス”０ｘ０２”に相当するページフィールドに格納されたページデータと予備フィールドに格納された論理アドレス値”０ｘ０００５”が取得される。 This is obtained logical address value "0x0005" stored in the stored page data and a spare field to the corresponding page field in the index "0x02" of the original in the auxiliary memory 52 in the d.ページデータはメインメモリ内の適当な物理アドレス、例えば”０ｘ００ＦＦ”に転送、格納されるとともに、変換テーブル６０ ｄがアクセスされ、論理アドレス”０ｘ０００５”に対応するフィールドが、”０ｘ８００２”から”０ｘ００ＦＦ”に書き換えられる。 Page data suitable physical address in the main memory, for example, transferred to "0x00FF", together with the stored conversion table 60 d is accessed, the field corresponding to the logical address "0x0005" is, "0x8002" from "0x00FF" It is rewritten to.さらに末尾インデックスレジスタ６８ ｄの値はデクリメントされ、”０ｘ０１”に変わる。 Further, the value of the tail index register 68 d is decremented, changes to "0x01".

すなわち、補助メモリ５２ ｄ内の各ページデータは対応する論理アドレスと対になって配列として管理される。 That is, each page data of the auxiliary memory 52 in d are managed as an array made to the corresponding logical address pair.この論理アドレスを参照することで、補助メモリ５２ ｄからメインメモリにデータを移動する際、変換テーブル６０ ｄの対応箇所に適切かつ迅速にアクセスし、それを書き換えることが可能になる。 By referring to this logical address, when moving the data into the main memory from the auxiliary memory 52 d, appropriately and quickly access the corresponding position of the conversion table 60 d, it is possible to rewrite it.また上記配列への新規ページデータの格納インデックスや、旧ページデータを移動させる場合の移動元インデックスは、先入れ先出しのアルゴリズムで一意的に決定されることになる。 Further and storing an index of new page data into the array, movement source index when moving the old page data will be uniquely determined by the first-in-first-out algorithm.

なお、上記ページデータの配列は、たとえば１ワードが１６ビットの３２Ｍｂメモリ上においては、以下の如く構築される。 The arrangement of the page data, for example, one word in the 16 bit 32Mb memory, is constructed as follows.左記メモリは２Ｍワードを有しており、各ワードの選択は２１ビットのメモリアドレスを用いて行われる。 Left memory has a 2M words, the selection of each word is performed by using the memory address of 21 bits.ここで各ページデータ用フィールド６４ ｄには１６ｋワードの連続領域がそれぞれ使用され、それら全体は、 Here each page data field 64 d are used respectively continuous regions of 16k words, their entirety,”０＿００００＿００００＿００００＿００００＿００００” "0_0000_0000_0000_0000_0000"〜 ~”１＿１０１１＿１１１１＿１１１１＿１１１１＿１１１１” "1_1011_1111_1111_1111_1111"のメモリアドレス領域内に格納される。 It is stored in the memory address space.このうち上位７ビットがページ選択のためのインデックスに対応し、 Among the top seven bit corresponds to the index for the selected page,”０＿００００＿００” "0_0000_00"〜 ~”１＿１０１１＿１１” "1_1011_11"の範囲の値である。 A value in the range of.その１６進数値は”０ｘ００”〜”０ｘ６ｆ”に相当する。 The hexadecimal value is equivalent to the "0x00" ~ "0x6f".下位１４ビットは同一ページからワード単位でデータを取り出す際のアドレスとなる。 Lower 14 bits become addresses when extracting the data in word units from the same page.

一方各予備フィールド６５ ｄにはそれぞれ１ワードずつが使用される。 Meanwhile Each One not a one word in each reserved field 65 d are used.それら全体は”１＿１１００＿００００＿００００＿００００＿００００” Whole they are "1_1100_0000_0000_0000_0000"〜 ~”１＿１１００＿００００＿００００＿０１１０＿１１１１” "1_1100_0000_0000_0110_1111"のメモリアドレス領域内に格納される。 It is stored in the memory address space.ここでは下位７ビットがそのままページインデックスに対応している。 Here, the lower 7 bits correspond directly to the page index.

すなわち、任意のページインデックスが与えられた場合、それをメモリアドレスの上位７ビットにあて、下位１４ビットを”００＿００００＿００００＿００００”〜”１１＿１１１１＿１１１１＿１１１１”とスキャンすることで所望のページデータ用フィールド６４ｃにアクセスできる。 That is, when any page index is given, it addressed to the upper 7 bits of the memory address, access to the desired page data field 64c by scanning the lower 14 bits "00_0000_0000_0000" ~ "11_1111_1111_1111".またそれを下位７ビットにあて、上位１４ビットに”１＿１１００＿００００＿００００＿０”を付加することで、予備フィールド６５ ｄにアクセスできる。 Also addressed to it to the lower 7 bits, by adding the "1_1100_0000_0000_0" to the upper 14 bits, you can access the reserved field 65 d.なお、これは一例であって、具体的にメモリ上にページデータの配列を構成する手法としては、さまざまなバリエーションが存在し得る。 Incidentally, this is an example, as a method of constituting the specific arrangement of the page data in the memory, there may be various variations.

補助メモリについて、リンクリストを用いた第２の管理手法の例を図９に示す。 For the auxiliary memory, showing an example of a second management technique using a link list in FIG.アドレス変換テーブル６０ｄには記憶装置に入力される各論理ページアドレスに対応した物理ページアドレスが記載されており、”０ｘ８０００”以上は補助メモリ５２ｄ内のデータ領域を指している。 The address conversion table 60d is described physical page address corresponding to each logical page addresses input to the storage device, "0x8000" or more points to the data area of ​​the auxiliary memory 52 d.その下位８ビットが、補助メモリ５２ｄ内に構築されたページデータのリンクテーブルにおけるインデックスとなる。 Its lower 8 bits, the index in the link table of the page data constructed in the auxiliary memory 52 d.

補助メモリ５２ｄ内には１１２のエントリ領域があり、各ページデータは上記物理アドレスをインデックスとしたリンクリストで管理されている。 Auxiliary in memory 52d has 112 entry regions, each page data is managed by a link list with the index of the physical address.フィールド６９ｄには後方にリンクするノードのインデックス、フィールド７０ｄは前方にリンクするノードのインデックスが格納されている。 Index of the node in the field 69d that links the rear, field 70d are stored an index of the node that links to the front.本図の状態では、インデックス”０ｘ１ｅ”のノードを先頭として、”０ｘ０２”まで連続して順次リンクなされ、ページデータが格納されている。 In the state of the figure, as the top node of the index "0x1e", "0x02" to be done sequentially linked in succession, it is stored the page data.”０ｘ０３”〜”０ｘ１ｄ”に到る領域６６ ｄには現在データは格納されておらず、空き領域となっている。 "0x03" ~ the region 66 d leading to "0x1d" does not currently data stored, and has a free area.但しリンクは全ノードに対し、一周し、循環するように貼られている。 However it links to all the nodes, round, and is affixed to circulate.

リンクリストにおけるページデータが格納されたノードの先頭インデックス”０ｘ１ｅ”および末尾インデックス”０ｘ０２”は、それぞれキャッシュコントローラ（図６（５４）に相当）内のレジスタ６７ｄおよび６８ｄに格納されて管理されている。 Header index "0x1e" and ending index "0x02" of the node page data is stored in the linked list is managed is stored in the register 67d and 68d in the cache controller, respectively (corresponding to Fig. 6 (54)) .また、キャッシュメモリ５２ｄ内には各インデックスごとにページデータ用のフィールド６４ｄに対応した予備フィールド６５ｄが設けられており、そこには各ページデータの論理アドレスが格納されている。 Further, in the cache memory 52d spare field 65d is provided corresponding to the field 64d for the page data for each index, there is stored a logical address of each page data.

補助メモリ５２ｄに新しいページデータを格納する場合、以下のような操作が行われる。 When storing new page data in the auxiliary memory 52 d, the following operation is carried out.まず先頭インデックスレジスタ６７ｄに格納されたインデックス値”０ｘ１ｅ”がアクセスされ、フィールド７０ｄの値から、前方ノードのインデックス”０ｘ１ｄ”が取得される。 First header index register stored index value to 67d "0x1e" is accessed, the value of the field 70d, is obtained index "0x1d" of the forward node.そして補助メモリ５２ｄ内のインデックス”０ｘ１ｄ”に相当するページフィールドにページデータが、予備フィールドに対応する論理アドレスが格納される。 The page data in the page field corresponding to the index "0x1d" in the auxiliary memory 52d is a logical address corresponding to the spare field are stored.さらに先頭インデックスレジスタ６７ｄの値は”０ｘ１ｄ”に書き換えられる。 Furthermore, the value of the first index register 67d is rewritten to "0x1d".

一方、補助メモリ５２ｄの空き領域が無くなるか残り少なくなって、新規空き領域確保のため既存のページデータを補助メモリから削除してメインメモリに移動する場合、以下のような操作が行われる。 The auxiliary is either running out of free space in the memory 52d is eliminated, when moving an existing page data for the new free space reserved in the main memory and deleted from the auxiliary memory, the following operation is carried out.まず末尾インデックスレジスタ６８ｄの値が参照され、インデックス値”０ｘ０２”が取得される。 Is first referenced, the value of the tail index register 68d, the index value "0x02" is acquired.これをもとに補助メモリ５２ｄ内のインデックス値”０ｘ０２”がアクセスされ、ページフィールドに格納されたページデータと予備フィールドに格納された論理アドレス値”０ｘ０００５”、及び前方リンクのインデックス値”０ｘ０１”が取得される。 Index value of the auxiliary memory 52d to which the original "0x02" is accessed, the logical address value stored in the page data and a spare field stored in the page field "0x0005", and the index value of the forward link "0x01" There is obtained.ページデータはメインメモリ内の適当な物理アドレス、たとえば”０ｘ００ＦＦ”に転送、格納されるとともに、変換テーブル６０ｄがアクセスされ、論理アドレス”０ｘ０００５”に対応するフィールドが、”０ｘ８００２”から”０ｘ００ＦＦ”に書き換えられる。 Page data transfer appropriate physical address in the main memory, for example "0x00FF", together with the stored conversion table 60d is accessed, the field corresponding to the logical address "0x0005" is, the "0x8002" from "0x00FF" It is rewritten.さらに末尾インデックスレジスタ６８ｄの値は前方のリンクノードのインデックス値”０ｘ０１”に変わる。 Further, the value of the tail index register 68d changes to the index value "0x01" of the forward link node.

すなわち、補助メモリ５２ｄ内の各ページデータは対応する論理アドレスと対になって配列として管理される。 That is, each page data in the auxiliary memory 52d is managed as an array made to the corresponding logical address pair.この論理アドレスを参照することで、補助メモリ５２ｄからメインメモリにデータを移動する際、変換テーブル６０ｄの対応箇所に適切かつ迅速にアクセスし、それを書き換えることが可能になる。 The logical address by referring to a time of moving the data to main memory from the auxiliary memory 52 d, appropriately and quickly access the corresponding position of the conversion table 60d, it is possible to rewrite it.また、上記配列への新規ページデータの格納インデックスや、旧ページデータを移動させる場合の移動元インデックスは、リンクの先頭ノードからデータを入力し、リンクの末尾ノードからデータを破棄するアルゴリズムによって一意的に決定されることになる。 Moreover, and stores the index of the new page data into the array, movement source index when moving the old page data inputs the data from the head node of the link, uniquely by the algorithm discards the data from the end node of the link It will be determined in.

なお、このようなリンクリスト管理では必ずしも連続したインデックスにリンクしていく必要は無い。 It should be noted, not necessarily need to continue to link to consecutive indexes in such link list management.またフィールド６９ｄ，７０ｄを書き換えることで、リンクを動的に付け替え、破棄するノードの順番を変えることが可能である。 The field 69d, by rewriting the 70d, dynamically replaces the link, it is possible to change the order of the discarded nodes.

具体的には、既に補助メモリ５２ｄ内に既に格納されているデータが再度アクセスされた場合に、それをリンクの先頭につけかえるようにすれば、アクセス頻度の多いデータはいつまでも高速な補助メモリ内に留まることになり、所謂補助メモリへのヒット率が向上する。 Specifically, when the data already previously stored in the auxiliary memory 52d is accessed again, if it so replace the head of the link, frequently accessed many data indefinitely in a high speed auxiliary memory It will be remain, thereby improving the hit rate of the so-called auxiliary memory.

図１０に、図９の状態からインデックス”０ｘ０１”のノードを先頭に付け替えた例を示す。 Figure 10 shows an example in which replaced the top node of the index "0x01" from the state of FIG.ハッチングされたフィールドを書き換えることで、リンクの順番が変わり、”０ｘ０１”のみが従来の位置から外れ、これまでの先頭ノード”０ｘ１ｅ”の前方に付け替えられている。 By rewriting the hatched field, change the order of the link, "0x01" only is replaced in front of off the conventional position, which to the beginning node of "0x1e".それに伴って先頭インデックスレジスタ（ ６ ７ｄ）の値も”０ｘ０１”に書き換えられている。 The value of the header index register (6 7d) with it is also rewritten to "0x01".

第２実施形態Second Embodiment図１１は、本発明に係る記憶装置の第２の実施形態を示す構成図である。 Figure 11 is a block diagram showing a second embodiment of a memory device according to the present invention.第２の実施形態の記憶装置８０は、ハードディスク（ＨＤＤ）をメインメモリとする記憶装置である。 Storage device 80 of the second embodiment is a storage device for a hard disk (HDD) and a main memory.

外部との入出力インターフェース回路８３には内部バスＢＳ８０を介してハードディスクドライブ装置よりなる大容量のメインメモリ８１と、強誘電体メモリよりなる比較的小容量の補助メモリ８２が接続されており、さらに転送制御回路８４を有している。 A main memory 81 of large capacity consisting of a hard disk drive apparatus via the internal bus BS80 is output interface circuit 83 with the outside, are auxiliary memory 82 of relatively small capacity made of a ferroelectric memory is connected, further and a transfer control circuit 84.転送制御回路８４からの制御信号に従って、メインメモリ８１と補助メモリ８２の間では、たとえば３２ｋＢ単位のデータグループ（以降これをページと呼ぶ）で双方向のデータ転送が行われる。 In accordance with a control signal from the transfer control circuit 84, between the main memory 81 and auxiliary memory 82, two-way data transfer is performed, for example data groups 32kB unit (hereinafter referred to as a page).また、インターフェース回路８３と補助メモリ８２との間ではファイルセクターに相当する５１２Ｂ単位でのデータ転送が行われる。 Further, between the interface circuit 83 and the auxiliary memory 82 transfer data 512B units corresponding to the file sector is performed.

図１１の記憶装置８０において、外部からアクセスしたい所望のセクターアドレスが指定されると、転送制御回路８ ４はその上位ビットから対応する論理ページアドレスを抽出し、図１２に示すように、内蔵ＲＡＭ内に構築されたアドレステーブル９０を参照する。 The storage device 80 of FIG. 11, when the desired sector address to be accessed is designated from the outside, the transfer control circuit 8 4 extracts the corresponding logic page address from its higher bits, as shown in FIG. 12, the internal RAM It refers to the address table 90 built within.アドレステーブル９０は各論理アドレス９１と物理アドレス９２の照応から成っている。 Address Table 90 consists anaphoric of each logical address 91 and the physical address 92.図１２の物理アドレス領域００００〜７ＦＦＦはメインメモリ８１内のページアドレスを示す。 Physical address area 0000~7FFF in Figure 12 shows the page address in the main memory 81.一方、８０００以上の領域は補助メモリ８２を示しており、たとえば物理アドレス８００１は補助メモリ８２のアドレス０００１に所望のページが存在することを示している。 On the other hand, 8000 or more regions indicates the auxiliary memory 82, for example, the physical address 8001 indicates that the desired page is present at the address 0001 of the auxiliary memory 82.

転送制御回路８４は、このテーブルを用いて所望のページの所在を判定する。 Transfer control circuit 84 determines the location of the desired page by using this table.補助メモリ８２にデータがある場合は、インターフェース回路８３に補助メモリ８２内の対応アドレスを渡し、アクセスを許可する。 If there is data in the auxiliary memory 82 passes the corresponding address in the auxiliary memory 82 to the interface circuit 83, to allow access.一方、メインメモリ８１にデータがある場合は、一旦メインメモリの該当ページを補助メモリに移動する。 On the other hand, if there is data in the main memory 81 temporarily moves the corresponding page of the main memory to the auxiliary memory.すなわち、転送制御回路８４はメインメモリ８１から補助メモリ８２の空き領域に該当ページを転送し、アドレステーブル９０内の対応論理アドレスに照応する物理アドレスを、補助メモリ８２の保存先に書き換える。 That is, the transfer control circuit 84 transfers the corresponding page to the empty region of the auxiliary memory 82 from the main memory 81, a physical address anaphoric to the corresponding logical address in the address table 90, rewrites the destination of the auxiliary memory 82.これによって、メインメモリ８１内の読み出し元領域は無効化される。 Thus, reading the original area in the main memory 81 is invalidated.すなわち、ページデータは補助メモリ８２に一時記憶としてコピーされたのではなく、実体が移動している。 Namely, the page data is not copied as temporarily stored in the auxiliary memory 82, but is moved.しかる後にインターフェース回路８３に補助メモリ８２内の対応アドレスを渡し、アクセスを許可する。 The interface circuit 83 thereafter passes the corresponding address in the auxiliary memory 82, to allow access.

それ以降、同じ論理アドレスがアクセスされると、更新されたアドレステーブルに従って、補助メモリ８２がアクセスされる。 Later, when the same logic address is accessed, according to the updated address table, the auxiliary memory 82 is accessed.ＦｅＲＡＭの読み出しや書き込みは、ヘッドのシークを必要とするハードディスクドライブに比較してはるかに高速なので、補助メモリ８２へのデータアクセスは極めて高速に実施することができる。 FeRAM read or write, so much faster in comparison with the hard disk drive requiring seeking of the head, the data access to the auxiliary memory 82 can be carried out very fast.

このようにしてメインメモリ８１の互いに異なるトラックから読み出されたページ８５〜８７が次々に補助メモリ８２に移動したとする。 Such pages 85-87 read from different tracks of the main memory 81 and to the moved to the auxiliary memory 82 one after another.こうして補助メモリ内の空きが無くなってくると、転送制御回路８４は、今度はこれらのページをメインメモリ８１に再度移動させる必要が生ずる。 Thus When free in the auxiliary memory is depleted, the transfer control circuit 84, in turn need arises to move again these pages in the main memory 81.この際の移動は従来のキャッシュメモリからの書き戻しと異なり、メインメモリ上の任意のトラックまたは任意の互いに近接したトラック群の空き領域にまとめて行うことができる。 The movement at this time is different from the writing back from a conventional cache memory can be performed together in any track or any free space near the track group with each other on the main memory.たとえば、ページ群８８は同一のトラック８９に移動する。 For example, the page group 88 is moved to the same track 89.したがって、その際のヘッドのシークは最小限に抑えられ、高速にデータを移動させることができる。 Accordingly, the head seek at that time is minimized, it is possible to move the data at high speed.

ところで、補助メモリ８２に保存されるのは、通常互いに関連の深いページデータ群である。 Incidentally, what is stored in the auxiliary memory 82 are usually closely related group of page data each other.たとえば、ＦＡＴ等のファイルシステムでは、メインメモリ８１に保存されていた断片化されたファイルにアクセスすると、複数のファイル断片が、互いに異なるトラックから補助メモリ８２に移動してくる。 For example, the file system such as FAT, accessing files fragmented have been stored in the main memory 81, a plurality of files fragments, come to move to the auxiliary memory 82 from the different tracks with each other.それらは再度メインメモリ８１に移動した際には同一または近接したトラックに書き込まれる。 They are written in tracks identical or close to when moving into the main memory 81 again.したがって、次にこれらをアクセスするときはヘッドのシークは最小限で良い。 Therefore, a seek of the head may be minimal when the next access them.

すなわち、本発明を採用すれば、従来パソコン等でユーザーが長時間をかけて行なう必要があったデフラグ操作と同等の効果が、メモリアクセス中に自動的に得られることになる。 That is, by employing the present invention, defragmentation operation and effect equivalent to that needed to carry out by the user in a conventional personal computer or the like over a long time, it will be automatically obtained during the memory access.しかも単に断片化されたファイルのみでなく、同一のアプリケーションに関連づけられた複数ファイルも近接したトラック内に移動し、次回はヘッドシークの少ない高速なアクセスが可能になる。 Moreover, not merely fragmented files, multiple files associated with the same application is also moved in the track in close proximity, next allowing small high-speed access of head seek.

なお、本第２の実施形態においても、第１の実施形態と同様な理由で、補助メモリ８２はアクセスが高性能な不揮発性メモリであることが望ましく、具体的には強誘電体材料、相変化材料、強磁性材料または磁気抵抗効果材料を用いたメモリであることが望ましい。 The present also in the second embodiment, for the same reason as the first embodiment, the auxiliary memory 82 is desirably access is a high-performance non-volatile memory, a ferroelectric material specifically, phase change material is desirably a memory using a ferromagnetic material, or magnetoresistance effect material.

さらに、アドレステーブル９０についても、データは不揮発性の補助メモリ８２にバックアップ保存されるか、もしくは補助メモリ８２の中に直接構築されるのが望ましい。 Further, the address table 90 also, the data is either stored back up in the auxiliary memory 82 of the nonvolatile, or is desired to be constructed directly in the auxiliary memory 82.

尚、ハードディスク等、メインメモリ８１の容量が巨大になると、保存されるページ数も多くなり、テーブル９０の構築に必要とされるメモリ容量も巨大になってくる。 In addition, a hard disk or the like, the capacity of the main memory 81 is huge, the more even the number of pages to be stored, the memory capacity that is required to build the table 90 also becomes huge.これに対しては論理ページアドレスの上位ビットに対応してテーブルを複数に分割する方法が有効であることが知られている。 It is known to be effective method of dividing into a plurality of tables corresponding to the upper bits of the logical page address for this.まず上位ビットから該当テーブルを選択し、下位ビットに従って該当するテーブルをアクセスすることで、対応する物理ページアドレスを得る。 First select the appropriate table from the higher bits and accessing the table corresponding according lower bits, to obtain the corresponding physical page address.このようにアドレス変換テーブルの形態にもバリエーションが存在するが、本発明はいずれの場合にも適用することが可能である。 Thus there is a variation in the form of the address conversion table, but the present invention can be applied in any case.

第３実施形態Third Embodimentところで、本発明の概念の一部を既存のキャッシュメモリシステムに適用しても、類似した効果を得ることは可能である。 Incidentally, applying some concepts of the present invention to an existing cache memory system, it is possible to obtain a similar effect.図６の実施形態と同様なシステムについて、補助メモリをキャッシュメモリとして管理した記憶装置の構成を第３の実施形態として説明する。 An embodiment similar to the system of Figure 6, illustrating the configuration of the management and storage device an auxiliary memory as a cache memory as a third embodiment.

図１３は、本発明に係る記憶装置の第３の実施形態を示す構成図である。 Figure 13 is a block diagram showing a third embodiment of a memory device according to the present invention.

このようなメモリシステムでは、ページテーブル６０ｂはメインメモリ５１ｂの管理にのみ使用し、物理アドレスはメインメモリ５１ｂ側の領域のみを対象とする。 In such a memory system, a page table 60b is used only for management of the main memory 51b, a physical address is directed to only the region of the main memory 51b side.一方、補助メモリ側の内容は、図１３および図１４に示すように、別途キャッシュのエントリテーブル６３ｂを設けて、それで管理する。 On the other hand, the content of the auxiliary memory side, as shown in FIGS. 13 and 14, provided separately entry table 63b of the cache, so managed.すなわち、補助メモリ５２ｂはキャッシュメモリとして位置付けられる。 That is, the auxiliary memory 52b is positioned as a cache memory.

本記憶装置５０Ｂにおいては、メインメモリ５１ｂから読み出されて更新されたページデータは、キャッシュメモリ５２ｂに一時的にコピーされる。 In this memory device 50B, the page data that has been updated is read from the main memory 51b is temporarily copied to the cache memory 52b.すなわち、本例ではアドレステーブル６０ｂは更新されず、別途テーブル６３ｂにキャッシュへのエントリが追加される。 That is, the address table 60b in this example is not updated, and adds an entry to the cache separately table 63 b.たとえば、テーブル６０ｂは、論理アドレス０ｘ０００２、０ｘ０００３に相当するページデータが、メインメモリ６ １ｂの０ｘ００Ｆ２、０ｘ００Ｆ３のアドレス位置に格納されていることを示している。 For example, the table 60b the page data corresponding to the logical address 0x0002,0x0003 have shown that it is stored into the address position 0x00F2,0x00F3 main memory 6 1b.一方、テーブル６３ｂにはキャッシュ内にコピーされているページの論理アドレス６４ｂと、そのキャッシュ内物理アドレス６５ｂのセットが、エントリとして記載されている。 On the other hand, the logical address 64b of the page being copied into the cache in the table 63 b, the set of cache physical address 65b, is described as an entry.すなわち、上述の論理アドレス０ｘ０００２、０ｘ０００３に相当するページデータのコピーが、キャッシュメモリ５２ｂの０ｘ００、０ｘ０１に格納されていることが解る。 That is, a copy of the page data corresponding to the logical address 0x0002,0x0003 described above, it can be seen that it is stored in 0x00,0x01 the cache memory 52b.

それ以降、同じ論理アドレスがアクセスされると、テーブル６３ｂのエントリのスキャンによってキャッシュのヒットが検出され、キャッシュメモリ５２ｂがアクセスされる。 Later, when the same logic address is accessed, a cache hit is detected by scanning the entries in the table 63 b, the cache memory 52b is accessed.

このようにして互いに異なる消去ブロックから読み出されたページ５５ｂ〜５７ｂが次々に更新され、キャッシュメモリ５２ｂにそのコピーが一時保存されたとする。 In this way, the pages 55b~57b read from erase blocks different from each other are updated one after another, and that copy is temporarily stored in the cache memory 52b.こうしてキャッシュメモリ内の空きが無くなってくると、今度はこれらのページ更新をメインメモリ５１ｂに反映させた上で、キャッシュ上のデータを破棄する必要が生ずる。 Thus, if there is no longer any empty region in the cache memory, on the turn, which reflects these pages updated in the main memory 51b, a need arises to discard the data in the cache.転送制御回路５４ｂはこの時点で、該当するページデータのメインメモリ内の物理位置を、たとえば消去済の空きブロック５９ｂにまとめて移動させる。 At this point the transfer control circuit 54b, a physical location in main memory of the corresponding page data, for example, move together in the empty block 59b of already erased.すなわち、キャッシュメモリ５２ｂからページ群５８ｂをメインメモリ５１ｂのブロック５９ｂに順次転送し、アドレステーブル６０ｂをそれに応じて書き換える。 That is, sequentially transferred from the cache memory 52b of the group of pages 58b to block 59b of the main memory 51b, rewrites in accordance with the address table 60b thereto.また対応するエントリを、テーブル６３ｂから削除する。 In addition the corresponding entry is deleted from the table 63b.

本第３の実施形態では第１の実施形態と管理手法は異なるものの、ページデータの転送手順は同じである。 In the third embodiment although management technique in the first embodiment differs from the procedure of transfer page data is the same.したがって、第１の実施形態と類似した効果を得ることができる。 Therefore, it is possible to obtain a similar effect as the first embodiment.しかしこの場合、キャッシュＴＡＧテーブル６３ｂとページテーブル６０ｂの二重管理は冗長、かつ煩雑である。 However, in this case, dual control of the cache TAG table 63b and the page table 60b is redundant, and is complicated.またＴＡＧをスキャンしてのヒット判定にも余分な時間がかかる。 Also it takes extra time to hit testing by scanning the TAG.したがって、このようなシステムは、最終的には第１実施形態に到るまでの、過渡的な中途段階と解釈することができる。 Therefore, such systems will eventually up to the first embodiment, can be interpreted as a transitional middle stage.

第４実施形態Fourth Embodimentここまで本発明の内容を、一通り概念的に説明してきた。 The contents of the present invention thus far has been described one way conceptual manner.さらに以下には本発明による超高速なシリコンディスクの実現性を具体的に明らかにすべく、第１の実施形態におけるメモリ構成をさらに発展させた第４の実施形態について、機能構成と動作仕様を詳細に説明する。 Further in order to specifically reveal the feasibility of ultrafast silicon disk according to the present invention Hereinafter, the fourth embodiment further development of the memory configuration of the first embodiment, the functional structure and operation specifications It will be described in detail.

図１５は、本発明に係る記憶装置の第４の実施形態を示す構成図である。 Figure 15 is a block diagram showing a fourth embodiment of a memory device according to the present invention.

本記憶装置５０Ｃのメインメモリ５１ｃはフラッシュメモリモジュール５１ｃであり、並列動作が可能な４個の２５６ＭＢフラッシュメモリ５１ｃ＿０〜５１ｃ＿３、フラッシュメモリコントローラ６７ｃ、ページバッファー６６ｃを含んで構成されている。 The main memory 51c of the memory device 50C is a flash memory module 51c, 4 pieces of 256MB flash memory 51c_0~51c_3 capable of parallel operation, and is configured to include a flash memory controller 67c, the page buffer 66c.

各フラッシュメモリ５１ｃ＿０〜５１ｃ＿３は４つの６４ＭＢメモリアレイ、たとえばバンクＢＫ０〜ＢＫ３を有しており、それぞれ独立したバンクとして並列動作が可能である。 Each flash memory 51c_0~51c_3 has four 64MB memory array, for example a bank BK0 to BK3, which can operate in parallel as independent banks.各々のバンクＢＫ０〜ＢＫ３のページサイズは２ｋＢであり、消去ブロックサイズは６４ページをまとめた１２８ｋＢである。 Page size of each of the bank BK0~BK3 is 2kB, erase block size is 128kB a summary of the 64 page.すなわち、各バンクＢＫ０〜ＢＫ３は５１２個の消去ブロックを有している。 That is, each bank BK0~BK3 has 512 erase blocks.さらに各バンクはそれぞれページ格納用のラッチを有している。 And a latch for page storage respectively and each bank.各バンクの書き込み転送速度は１０ＭＢ／ｓ程度である。 Write transfer rate of each bank is about 10MB / s.各バンクＢＫ０〜ＢＫ３にデータを書き込む際は、まずバンク毎のラッチ内に上記ページサイズに相当する２ｋＢずつのデータが転送され、その後所望のページアドレスに一括書き込みされる。 When writing data to the banks BK0~BK3 the data by 2kB corresponding to the page size is transferred first to the latch of each bank, which then collectively write the desired page addresses.各バンクＢＫ０〜ＢＫ３は、各々独立にアクセスするページアドレスを指定でき、片側のバンクが書き込まれている間に反対のバンクのラッチにもデータを転送でき、さらに書き込みを開始できる。 Each bank BK0~BK3 can specify the page address to access each independently, can also transfer the data to the latch in the opposite bank while one bank is being written, can further start writing.すなわち、４つのバンクは並列に動作が可能である。 That is, the four banks can operate in parallel.

さらに４個のフラッシュメモリも各々並列動作が可能であり、フラッシュメモリモジュール全体では１６バンクを並列にアクセスできる。 Further four flash memories also are each capable of parallel operation, the 16 banks accessible in parallel across the flash memory module.たとえば、一つのファイルを１６バンクに分割して並列に書き込めば、実質的には最大１６倍の速度で書き込みが可能である。 For example, written in parallel by dividing one file into 16 banks, in effect it is possible to write up to 16 times faster.それらは一体化して、ページサイズ（２ｋＢｘ１６＝）３２ｋＢ、消去ブロックサイズ（１２８ｋＢｘ１６＝）２ＭＢ、書き込み転送速度（１０ＭＢｘ１６＝）１６０ＭＢ／ｓのフラッシュメモリとみなすことが可能である。 They are integrated, the page size (2kBx16 =) 32kB, erase block size (128kBx16 =) 2MB, can be regarded as a flash memory write transfer rate (10MBx16 =) 160MB / s.

フラッシュメモリコントローラ６７ｃはＥＣＣ符号化によるエラー訂正回路を備えるとともに、内蔵ＲＡＭ内には消去ブロック（ここでは１６バンク分を一体化した２ＭＢブロック）単位のアドレス変換テーブル６８ｃが構築されている。 Flash memory controller 67c is provided with a error correction circuit by ECC encoding, built in RAM address conversion table 68c of the units of erase blocks (2MB block with integrated 16 banks worth in this case) is constructed.

本アドレス変換テーブル６８ｃは、後述する無効ページの回復処理や、最適な書き込み領域の探査、ブロックごとの書き換え回数の平均化処理等を行う際に活用する。 This address conversion table 68c is utilized when performing recovery processing of invalid pages to be described later, exploration optimum write region, the averaging processing of the number of rewrites for each block.

さらに、フラッシュメモリモジュール５１ｃには３２ｋＢのページバッファー６６ｃが設置されており、これを介して内部バスＢＳ５０ｃとデータの授受を行う。 Further, the flash memory module 51c is installed a page buffer 66c of 32 kB, and exchanges internal bus BS50c data through this.データ読み出し時は内部の高並列化されたフラッシュメモリから３２ｋＢ分のページデータがページバッファーに出力される。 When reading data in the page data of 32kB content is output to the page buffer from the flash memory that is highly parallelized internal.また、書き込み時はページバッファーのデータがフラッシュメモリの各バンクに分割して書き込まれる。 Further, when writing data of the page buffer is written by dividing into each bank of the flash memory.

本記憶装置５０Ｃの全体は、外部との入出力インターフェース回路５３ｃに内部バス５０ｃを介して上記大容量フラッシュメモリモジュール５１ｃと、強誘電体メモリよりなる比較的小容量の補助メモリ５２ｃが接続された構成となっている。 Throughout this storage device 50C includes a the large capacity flash memory module 51c via an internal bus 50c to the input-output interface circuit 53c with the outside, the auxiliary memory 52c of relatively small capacity made of a ferroelectric memory is connected and it has a configuration.さらに、転送制御回路５４ｃを有しており、その内蔵ＲＡＭには３２ｋＢのページを管理単位としたアドレステーブル６０ｃが構築されている。 Further comprising a transfer control circuit 54c, on its internal RAM address table 60c which is a management unit page 32kB are built.

外部からアクセスしたい所望のセクターアドレスが指定されると、制御回路５４ｃはその上位ビットから対応する論理ページアドレスを抽出し、アドレステーブル６０ｃを参照する。 When the desired sector address to be accessed is designated from the outside, the control circuit 54c extracts the corresponding logic page address from its higher bits and refers to the address table 60c.アドレステーブル６０ｃは、図１６に示すように、各論理アドレス６１ｃと物理アドレス６２ｃの照応から成っており、テーブルを格納したＲＡＭ上では、そのメモリアドレスと格納データに対応させることができる。 Address table 60c, as shown in FIG. 16, which consists of anaphoric of each logical address 61c and the physical addresses 62c, in the RAM storing the table can correspond to its memory address storage data.すなわち、所望の論理アドレスに対応するＲＡＭ上のアドレスにアクセスすることで、照応する物理アドレスが取得できる。 That is, by accessing the address on the RAM corresponding to the desired logical address, physical address anaphoric can be obtained.物理アドレス領域００００〜７ＦＦＦはメインメモリ５１ｃ内のページアドレスを示す。 Physical address area 0000~7FFF indicates the page address in the main memory 51c.一方、８０００以上の領域は補助メモリ５２ｃを示しており、たとえば物理アドレス８００１は補助メモリ５２ｃのアドレス０００１に所望のページが存在することを示している。 On the other hand, 8000 or more regions auxiliary indicates the memory 52c, for example, the physical address 8001 indicates that the desired page is present at the address 0001 of the auxiliary memory 52c.転送制御回路５４ｃはこのテーブルを用いて所望のページの所在を判定する。 The transfer control circuit 54c judges the location of the desired page by using this table.また下位ビットはそのページ内のセクターの位置を決定する。 The lower bits to determine the position of the sector in the page.

データ読み出しにおいて、所望のページがメインメモリ５１ｃ上にある場合は、ＩＦ回路５３ｃはページバッファー６６ｃに出力された３２ｋＢのデータから任意のファイルセクター（容量は５１２Ｂ）を選択して、装置外部に出力する。 In data reading, when the desired page is present in the main memory 51c is, IF circuit 53c is (the capacity 512B) any file sectors from the data of 32kB output to the page buffer 66c to select the output from the apparatus to.また、所望のページが補助メモリ５２ｃ上にある場合は、変換されたアドレスを用いて補助メモリが直接アクセスされ、ＩＦ回路５３ｃを介して所望のファイルセクターのデータが出力される。 Further, when the desired page is present in the auxiliary memory 52c, the auxiliary memory using the converted address is accessed directly, the data of the desired file sector via the IF circuit 53c is output.

一方、データ書き込みにおいては、所望のページがメインメモリ５１ｃ上にある場合は、転送制御回路５４ｃはまず該当するページを補助メモリ５４ｃ上に移動する。 On the other hand, in the data writing, when the desired page is present in the main memory 51c, the transfer control circuit 54c has a page is first appropriate to move on the auxiliary memory 54c.すなわち、ページデータはページバッファー６６ｃを介して補助メモリ５２ｃに転送され、さらにアドレステーブル６０ｃ内の対応論理アドレスに照応する物理アドレスが、補助メモリ５２ｃの保存先に書き換えられる。 That is, the page data is transferred to the auxiliary memory 52c via the page buffer 66c, further physical address anaphoric to the corresponding logical address in the address table 60c is rewritten to the destination of the auxiliary memory 52c.これによって、メインメモリ５１ｃ内の読み出し元領域は無効化される。 Thus, reading the original area in the main memory 51c is invalidated.すなわち、ページデータは補助メモリ５２ｃに一時記憶としてコピーされたのではなく、実体が移動している。 Namely, the page data is not copied as temporarily stored in the auxiliary memory 52c, but is moved.

次に、補助メモリ５２ｃ上で、ファイルセクター単位のデータ更新が行われる。 Then, on the auxiliary memory 52c, data file updates sector unit is performed.所望のページが補助メモリ５２ｃ上にある場合は、変換されたアドレスを用いて補助メモリが直接アクセスされ、書き込みが実行される。 If the desired page is present in the auxiliary memory 52c, the auxiliary memory using the converted address is accessed directly, writing is performed.

このようにして多くのページが更新に伴って補助メモリ５２ｃに移動したとする。 In this way a number of pages to be that it has moved to the auxiliary memory 52c along with the update.こうして補助メモリ内の空きが無くなってくると、転送制御回路５４ｃは、今度はこれらのページをメインメモリ５１ｃに再度移動させる必要が生ずる。 Thus when there is no longer any empty region in the auxiliary memory, the transfer control circuit 54c, in turn need arises to move again these pages in the main memory 51c.この際の移動は従来のキャッシュメモリからの書き戻しと異なり、メインメモリ上の任意の消去済み領域に行うことが可能である。 The movement at this time is different from the writing back from a conventional cache memory, it is possible to carried out to any erased region on the main memory.

本第４の実施形態では、転送制御回路５４ｃは、移動に先立って、メインメモリ５１ｃに最適転送先の問い合わせコマンドを送り、そこで取得したページアドレスにページデータを順次移動させる。 In this fourth embodiment, the transfer control circuit 54c, prior to moving, sends an optimum destination query command to the main memory 51c, where successively moves page data to the obtained page address.すなわち、補助メモリ５２ｃからページデータをメインメモリ５１ｃに順次転送し、アドレステーブル６０ｃをそれに応じて書き換える。 Namely, the page data from the auxiliary memory 52c sequentially transferred to the main memory 51c, rewrites in accordance with the address table 60c thereto.

ところで、メモリモジュール５１ｃは、通常のフラッシュメモリモジュールとしての機能の他に、本発明に関連して以下のような二つの機能を持っている。 Meanwhile, the memory module 51c, in addition to the function as an ordinary flash memory modules, which in connection with the present invention has two functions as follows.１． 1.ページ移動先となってページ書き込みが行われるに先立ち、最適な空き領域を検索する。 Prior to the page is written in a page destination, it searches the optimum free space.２． 2.ページ移動元となって多くの無効領域が発生した際、それを新たな空き領域に回復させる。 When many of the invalid area become a page movement source has occurred, to restore it to the new free space.

これらの作業のために、前述したブロックアドレステーブル６８ｃが活用される。 For these operations, the block address table 68c is utilized as described above.以下にその詳細について説明する。 As will be described in detail below.テーブル６８ｃはメモリモジュール５１ｃレベルでの各消去ブロックの論理アドレス６９ｃに対応して、ブロックごとの状態をテーブル化したものである。 Table 68c is corresponding to the logical address 69c of each erase block at the memory module 51c level is obtained by a table the state of each block.

たとえば記憶装置５０Ｃからデータを読み出す際、転送制御回路５４ｃは外部からの入力アドレスをページアドレステーブル６０ｃと照応させて、対応するページの物理アドレスを取得する。 For example, when reading data from the storage device 50C, the transfer control circuit 54c is by anaphora the input address from the external and the page address table 60c, acquires the physical address of the corresponding page.所望のページがメモリモジュール５１ｃ上にある場合、それはメモリモジュール５１ｃに入力されるページアドレスとなる。 If the desired page is present in the memory module 51c, it is the page address is input to the memory module 51c.ここでメモリモジュール５１ｃはその上位ビットからブロックアドレスを取得するが、そのアドレスはメモリモジュールレベルでは論理アドレスとなる。 Here the memory module 51c acquires the block address from its higher bits, the address is a logical address is a memory module level.

すなわち、上記ブロックアドレスは、再度ブロックアドレステーブル６８ｃで変換されて、照応する物理ブロックアドレス６９ｃ、その中の各ページの状態フラグ７０ｃ、さらにブロック書き換え回数７１ｃが取得される。 That is, the block address is converted again block address table 68c, anaphoric physical block address 69c, the state flag 70c of the pages therein, further block the number of times of rewriting 71c is obtained.物理ブロックアドレス６９ｃはメモリモジュール５１ｃの内部でブロックを選択するための所在位置を示している。 Physical block address 69c indicates the location for selecting the block inside the memory module 51c.

状態フラグ７０ｃは該当ブロック中の全６４ページについて、それぞれが（０）消去済状態、（１）有効データが記憶されている状態、（２）無効化された状態、のいずれであるかを、各２ビットのフラグで記載している。 State flag 70c is for all 64 pages in the block, respectively (0) erased state, (1) a state where valid data is stored, which one (2) disabled state, the, It is described in the 2-bit flag.状態は（０）→（１）→（２）の順に推移する。 State is to remain in the order of (0) → (1) → (2).（０）→（１）の推移はメモリモジュールに書き込みが成された際に該当ページについて更新される。 (0) Trends in → (1) is updated for the corresponding page when writing to the memory module has been made.（１）→（２）の推移はページが補助メモリ５２ｃに移動した際に発生するが、これは転送制御回路５４ｃから通常の読み出しと区別した移動コマンドが入力されるか、指定ページの無効化コマンドが入力されることに応じて更新される。 (1) → (2) Changes in is generated when the page is moved to the auxiliary memory 52c, is this movement commands distinguished from normal read from the transfer control circuit 54c are input, disabling specified page command is updated in response to being input.状態（２）からは状態（０）への復帰は、後述のメモリモジュール内部での回復処理によって行われる。 Return to state (2) state (0) is carried out by the recovery processing inside the memory module will be described later.

また、ブロック書き換え回数７１ｃには該当ブロックの通算書き換え回数が記録されている。 Moreover, total number of rewrites of the corresponding block is recorded in the block number of rewrites 71c.フラッシュメモリの場合、ブロックの書き換え耐性は１０万回〜１００万回なので、１８ビット程度の数値で示される。 If the flash memory, because the endurance of the blocks of 100,000 to 1,000,000 times, indicated by 18 bits of about numbers.

上記メモリモジュールの付加機能の内、最適な空き領域検索は、たとえば以下のように実施される。 Among the additional functions of the memory modules, the optimum empty region retrieval is, for example, performed as follows.転送制御回路５４ｃは補助メモリ５２ｃからのページの移動に先立って、最適ページの検索コマンドをメモリモジュール５１ｃに入力する。 Transfer control circuit 54c is prior to the movement of the page from the auxiliary memory 52c, and inputs a search command of the optimum page to the memory module 51c.それを受けたメモリモジュールの制御回路６７ｃはブロックアドレステーブル６８ｃを先頭からスキャンしていき、消去済のページ数が最も多く、無効ページ数が少ないブロックを最適ブロックとして選択する。 The control circuit 67c of the memory module that received it block address table 68c continue to scan from the beginning, to select the most number of pages of the erased, the invalid page number is small blocks as the optimum block.そしてその先頭の消去済ページ領域の論理アドレスが、移動先の最適アドレスとして制御回路５４ｃに通知される。 The logical address of the erased page region of the top, is notified to the control circuit 54c as an optimum address of the destination.

また、このように一旦対象ブロックを選択したら、それ以降の領域選択においては、そのブロックの消去済ページが全て有効ページとなるまで同じブロック内の消去済ページが順次選択され続ける。 Moreover, in this way once to select the target block, in the subsequent area selection, erased pages in the same block to the erased pages of the block are all valid pages is continuously sequentially selected.

このようなアルゴリズムに沿って選択したページ領域に、補助メモリ５２ｃからのデータを順次書き込んで行けば、互いに関連の深いページが同一のブロックに集中するようになる。 The page area selected along such an algorithm, If we sequentially writes the data from the auxiliary memory 52c, closely related page is to concentrate on the same block from one another.それらは再度更新される際にも一緒に補助メモリ５２ｃに移動する可能性が高く、その結果同一ブロックには無効ページも集中することになる。 They are likely to move to the auxiliary memory 52c together even when they are updated again, so that also concentrated invalid pages in the result the same block.それによって、次に述べる回復処理も効率良く実施でき、それらは再度消去済ページが集中したブロックを発生させる。 Thereby, described below recovery process can also be efficiently implemented, they generate a block erased pages are concentrated again.

次に、無効ページの回復について説明する。 Next, a description will be given of the recovery of the invalid page.

メモリモジュール５１ｃ上のページが更新され、それに伴って補助メモリ５２ｃにそれらが移動して、元の領域が無効化されるに従って、メモリモジュール５１ｃ内に無効領域が増加してくる。 Is updated pages on the memory module 51c, and they move to the auxiliary memory 52c along with it, according to the original region is disabled, invalid area comes increased in the memory module 51c.その領域には新たにデータを上書きできないので、ある時点でそこにデータ保存が可能になるように、回復処理を行う必要がある。 Can not overwrite new data in that area, so to allow it to store data at a certain time, it is necessary to perform the recovery process.

図１７は、無効領域の回復処理の実行例を説明するための図である。 Figure 17 is a diagram for explaining an example of execution of recovery processing of the invalid region.図１７においては、図１５のメモリアレイ群を、簡略のため一つのフラッシュメモリ１０１と表現している。 17, the memory array group in FIG. 15, is expressed as one flash memory 101 for simplification.さらにメモリモジュール内には、図１５と同様に、内部にブロックアドレステーブル１０４が構築されたフラッシュ制御回路１０３およびページバッファー１０２が設置されている。 More memory module, as in FIG. 15, the flash control circuit 103 and the page buffer 102 to the block address table 104 is constructed is installed inside.

フラッシュメモリ１０１内の消去ブロック１０５では、二つの有効ページ１０７、１０８および一つの消去済ページ１０９を除いた全てのページが無効化されている。 In the erase block 105 in the flash memory 101, all pages except two valid pages 107 and 108 and one of the erased page 109 are invalidated.一方、１０６は全てのページが消去された予備ブロックを示している。 Meanwhile, 106 all pages shows a spare block is erased.すなわち、メモリ１０１内にはブロックアドレステーブル１０４上のどの論理アドレスに照応しておらず、外部からアクセスできない予備ブロックが常に用意されている。 That is, the memory 101 not in anaphoric in which logical addresses on the block address table 104, the spare block is always available inaccessible from the outside.

ここで制御回路１０３は、有効ページ１０７、１０８をページバッファー１０２を介して、予備ブロック１０６の同じページ位置にコピーする。 Here, the control circuit 103, the valid page 107 and 108 via the page buffer 102 is copied to the same page positions of the spare block 106.さらに内部のブロックアドレステーブル１０４を更新し、ブロック１０５にマッピングされていた論理アドレスの照応先をブロック１０６に変更する。 Further updates the internal block address table 104 and changes the anaphoric destination logical address is mapped to a block 105 to block 106.これによって無効ページは全て消去済ページに回復し、新たなデータ書き込みが可能になる。 This restored to all invalid page erased page, it is possible to new data writing.一方、ブロック１０５は消去された後予備ブロックとなる。 On the other hand, the block 105 becomes the spare block after being erased.

このような処理は、無効化されたページが最も多く、かつ有効ページが少ないブロックを検索し、そのブロックに対して施すのが効率が良い。 Such processing searches the invalidated pages most, and the valid page is small blocks, the efficiency is good performed on that block.従ってメモリ内の空き領域が少なくなってきたら、移動先ページの検索時と同様にブロックアドレステーブルをスキャンし、最適ブロックを検出してそこに回復処理を施せば良い。 Thus Once becoming less free space in the memory, it scans the block address table in the same manner as when searching for the destination page, may be subjected to recovery processing thereto to detect the optimum block.

なお、不揮発性の記憶装置の場合、ブロックアドレステーブル１０４の内容も保存される必要がある。 In the case of non-volatile storage device needs to be stored the contents of the block address table 104.これについては、たとえば各々のページデータに予備領域を設け、所属ブロックの論理アドレス、ページの状態、所属ブロックの消去回数をそこに記録しておく。 See, for example the spare area provided in each page data, logical address belongs blocks, page status, is recorded thereto erase count belong block.これにより電源投入時に全ページをスキャンして、テーブルを再構築することが可能になる。 Thus by scanning all pages at the time of power-on, it is possible to reconstruct the table.さらに起動時間を短縮するには、フラッシュメモリ１０１内に特定の領域を設け、電源のオフ時にテーブル内容のバックアップを保存しておくのが望ましい。 To further shorten the start-up time, a specific area in the flash memory 101, it is desirable keep a backup of the table contents when power is off.その場合は通常の起動時にはバックアップからテーブルを再構築し、電源瞬断等でバックアップがない場合や、中途で何らかの不整合が発生した場合には全ページをスキャンして、再度テーブルを構築しなおす。 In that case rebuild the table from a backup to a normal startup, and if there is no backup power supply interruption, etc., in the case of any inconsistency has occurred in the mid to scan the entire page, re-build the table again .

以上データの移動先のページ領域を効率良く選択する方法、および無効ページを効率良く回復させる方法について一例を示した。 It shows an example on how to process, and efficiently recover the invalid pages to select efficiently the destination page area of ​​more data.移動先ページや回復ブロックの選択については、たとえば書き換え回数も考慮し、これを平均化する方向で行う等、様々なアルゴリズムのバリエーションが考えられる。 Selection of the destination page and recovery block, for example, even considering the number of rewrites, and the like performed in the direction of averaging this are conceivable variations of various algorithms.いずれにしてもこのような最適化を可能にする柔軟性は、本発明によって得られる大きな効果の一つである。 Flexibility Anyway to allow such optimization is one of the major advantages obtained by the present invention.

また、図１５、図１７において示されたように、第４の実施形態における記憶装置内部では、 Further, FIG. 15, as shown in FIG. 17, in the internal storage device in the fourth embodiment,（１）ページアドレステ−ブル６０ｃを用いた、制御回路５４ｃによる記憶装置レベルでの転送制御、 (1) page address Te - using Bull 60c, the transfer control at the storage device level by the control circuit 54c,（２）ブロックアドレステーブル６８ｃを用いた、制御回路６７ｃによるメモリモジュール５１ｃレベルでの各種制御、 (2) block address table 68c using various control at the memory module 51c level by the control circuit 67c,の二者が、互いに通信し合いながら各々独立に実行されている。 Two parties has been performed independently with each other communicate with each other.このような構成は各種制御のアルゴリズムを単純化するので、本発明の効果を引き出すのに好適である。 Such a configuration simplifies the algorithm of various control, it is suitable to elicit the effects of the present invention.また、システムの動作自体の効率化にも寄与する。 Also contributes to the efficiency of the operation itself of the system.たとえばメモリモジュール５１ ｃ内で無効ページの回復処理が行われている間でも、補助メモリ５２ｃ上のデータであれば、外部から自由にアクセスすることが可能である。 For example, even while the recovery process of invalid pages in memory module 51 c is being performed, if the data in the auxiliary memory 52c, it is possible to freely accessible from the outside.

なお、機能レベルでは上述のような区分がなされるが、実際にこのような装置を実現する場合には、チップ構成は強誘電体メモリチップ、フラッシュメモリチップ、コントローラチップの三者で構成され、コントローラチップ上にはインターフェース回路５３ｃ、転送制御回路５４ｃ、ページバッファー６６ｃ、制御回路６７ｃが複合的に搭載されるであろう。 Incidentally, the functional level is similar to the above classification is made, in the case of practical implementation of such devices, chip configuration ferroelectric memory chip, a flash memory chip, is composed of three parties of the controller chip, the controller chip to the interface circuit 53c, the transfer control circuit 54c, will the page buffer 66c, the control circuit 67c are mounted in a composite manner.その場合上記（１）、（２）の制御用に各々異なるＣＰＵを用いるか、もしくは一つのＣＰＵをマルチスレッドで使用して、それぞれのスレッドを（１）、（２）の制御に充てれば制御が容易である。 In that case the (1), by using a multi-threaded respectively or using different CPU for controlling, or one of the CPU (2), each thread (1), if Atere the control of (2) it is easy to control.

また、実際のコンピュータや家電機器上で本発明の記憶装置を導入する場合には、さまざまな構成上のバリエーションが考えられる。 Further, when introducing the storage device of the present invention on an actual computer or home electric appliance, variations are conceivable on various configurations.たとえばハードディスク、フラッシュメモリ、強誘電体メモリの三者を用いて本発明を階層的に適用することもでき、その場合、以下のような複数の形態が生じ得る。 For example, a hard disk, a flash memory, can also be hierarchically applying the present invention using a tripartite ferroelectric memory, in which case, may occur several forms as follows.・フラッシュメモリ（メイン）と強誘電体メモリ（補助）で構築された本発明の記憶装置がハードディスクのキャッシュメモリとして用いられる。 Flash memory (main) and a ferroelectric memory storage device of the present invention constructed by (auxiliary) is used as a cache memory of a hard disk.・フラッシュメモリ（メイン）と強誘電体メモリ（補助）で構築された本発明の記憶装置とハードディスクとでさらに相互にページデータを移動しあう「入れ子」型の記憶装置が構成されている。 Flash memory (main) and a ferroelectric memory (auxiliary) mutually move further page data to each other with the storage device and the hard disk of the present invention constructed in the "nested" type of storage device is configured.・一つの記憶装置内に強誘電体メモリ、フラッシュメモリ、ハードディスクの三者を含み、強誘電体メモリとフラッシュメモリ間ではページ単位でデータを移動しあい、フラッシュメモリとハードディスク間では消去ブロック単位でデータを移動しあう。 - one storage device ferroelectric memory in a flash memory, comprising a tripartite hard, mutually moving data in units of pages in between the ferroelectric memory and the flash memory, data erase block unit between the flash memory and a hard disk each other to move.このようにメモリの階層化に伴って多くのバリエーションが生じ得るが、いずれの場合にも本発明は適用される。 This Many variations may occur along with the hierarchical memory as, but the invention in any case will be applied.

第５実施形態Fifth Embodiment図１８は、本第５の実施形態に係る記憶装置を概念的に説明するための図である。 Figure 18 is a diagram for conceptually explaining a storage device according to the fifth embodiment.

本第５の実施形態では、記憶装置内に不揮発性のキャッシュメモリ１１１を用意し、フラッシュメモリ１１２から読み出され、更新されたデータは、そこに移動させて保存する。 In the fifth embodiment, providing a non-volatile cache memory 111 in the storage device is read from the flash memory 112, the updated data is stored is moved therein.その際元の消去ブロックにあったデータは無効化され、それ以外の非選択データはそのまま残される。 The data that was in erase block Saimoto is disabled, the unselected data other than that is left as it is.キャッシュメモリ１１１内に既に移動したデータが再度アクセスを要求された場合は、フラッシュメモリ１１２ではなく、キャッシュメモリ１１１がアクセスされる。 If the data has already been moved to the cache memory 111 is requested access again, the flash memory 112 without the cache memory 111 is accessed.

このようにして、記憶装置にページ単位でランダムなアクセスがなされると、互いに異なる複数の消去ブロック１１３、１１４、１１５から、ページデータ１１６、１１７、１１８が順次読み出され、更新されて、メモリ１１１内に蓄積されていく。 In this way, when random access in units of pages in the storage device is made from a plurality of different erase blocks 113, 114, 115 to each other, the page data 116, 117, and 118 are sequentially read out, are updated, the memory It is accumulated in the 111.それらのページデータ群１１９は特定の基準に達した時点で、フラッシュメモリ１１２内の消去済の空きブロック１２０にまとめて書き戻される。 At the time of their page data group 119 reaches a particular reference, it is collectively written back to the free block 120 of erased in the flash memory 112.すなわち、元々異なる消去ブロックに存在していたページデータ１１６、１１７、１１８は、キャッシュメモリ１１１への移動を経て、同一の消去ブロック１２０内に再配置される。 Namely, the page data 116, 117, and 118 that existed originally different erase block, through the transfer to the cache memory 111 are rearranged in the same erase block 120.

従来、各消去ブロック内のページデータを更新する都度に、ブロック内全ての非選択データについても読み出しと再書き込みを行っていたが、本第５の実施形態ではそのような作業は、見かけ上一切不要である。 Conventionally, each time updating the page data in each erase block, had also been re-write and read all of the unselected data blocks, such work in this fifth embodiment, apparently all is not required.フラッシュメモリ１１２にデータが書き込まれるのは、キャッシュメモリ１１１が満杯にならぬように、フラッシュメモリの消去済予備ブロックに、まとめて書き戻しを行う時のみである。 The data in the flash memory 112 is written, as the cache memory 111 is grave full, the erased spare block in the flash memory, it is only when the write back together.全体としては１ページ分の更新に対して１ページ以下の書き戻しで済むことになる。 As a whole it would requires only writeback less one page with respect to updating of one page.

ところで、フラッシュメモリ内の消去済ブロックが全てページデータで埋め尽くされてしまった場合、たとえば図１９のような対処を行うと良い。 By the way, if you've filled in the erased block all the page data in the flash memory, for example, it may be performed to address, such as shown in FIG. 19.ここではページデータ群１１９ｂに蓄積されたページデータ群をフラッシュメモリ５２ｂに書き戻そうとしたが、消去済の空きブロックが無かったものとする。 Here has been an attempt to return to write page data groups stored in the group of page data 119b to the flash memory 52b is assumed free blocks erased was not.

まず、多くのデータが更新、移動、無効化され、有効データの少ないブロックを選択する。 First, a number of data update, move, is disabled, selecting a small effective data block.たとえばそのようにしてブロック１ ２２ ｂを選択した場合、ブロック１ ２２ ｂ内の有効なページデータ１２３ｂを全てキャッシュメモリ１１１ｂ内の空き領域１２１ｂに移動する。 For example, if you select the way the block 1 22 b, to move all the valid page data 123b in the block 1 22 b in the free space 121b in the cache memory 111b.その後、ブロック１ ２２ ｂを消去することで、ブロック１ ２２ ｂが新たな消去済ブロックとなる。 Thereafter, by erasing the block 1 22 b, block 1 22 b becomes the new erased block.これにより、データ群１１９ｂをブロック１ ２２ ｂに移動することが可能になる。 Thus, it is possible to move the group of data 119b to the block 1 22 b.

なお、このような作業を必要に応じて適時行うには、キャッシュメモリ１１１ｂ上には常に１ブロック分の空き領域があるのが望ましい。 Incidentally, in order to perform timely as needed such work, there is always free space for one block in the cache memory 111b desirably.すなわち、データ蓄積領域（データ群の蓄積領域１１９ｂ）と空き領域１２１ｂとを併せて、キャッシュメモリ１１１ｂは、少なくとも２ブロック分のデータ格納が可能な容量を持つことが望ましい。 That is, the data storage area (storage area 119b of the data group) together with free space 121b, the cache memory 111b desirably has a capable data storage for at least two blocks capacity.

ところで、通常フラッシュメモリへの書き込みで最も効率が悪化するのは、ページデータが完全に分散配置されて、各ブロックに対して均一に１ページずつの書き替えが行われる場合である。 Incidentally, most efficient to deteriorate by writing to the normal flash memory, it is a case where page data is completely distributed, rewritten uniformly one page for each block.この際、従来は前述の如く、ブロック内の全データをバッファーに移動し、フラッシュメモリ内に再度書き込みを行うしかなかった。 In this case, conventionally as described above, to move all the data in the block in the buffer, was only performed again written to the flash memory.

これに対して、本実施形態では、消去済の空きブロックが存在する限り、余分な書き込みは必要無い。 In contrast, in the present embodiment, as long as there is free blocks erased extra writing is not necessary.しかし、一旦空きブロックが無くなってしまうと、１ページずつ無効領域を持ったブロックから空きブロックを生成する必要が生じる。 However, once the free blocks disappears, you need to generate a free block from the block having an invalid area, one page at a time occurs.したがって、従来同様多くのデータを余分に読み出して、フラッシュメモリに再書き込みすることになる。 Therefore, the conventional same number of data extra reading, will be re-written to the flash memory.

このようなケースでも、本第５の実施形態を採用すれば、従来より以下の点で有利である。 Even in this case, by adopting the embodiment of the fifth, it is advantageous in the following prior art points.すなわち、当初異なるブロックに分散配置されていたページデータは、キャッシュメモリを介して同一ブロックに再配置されることで、効率の良い集中配置に移行する。 Namely, the page data which has been distributed to the originally different blocks, by being rearranged in the same block via the cache memory, the process proceeds to efficient centralized arrangement.それによって互いに関連の深いページデータが同一ブロックに再配置されるので、それらが再度アクセスされたときには、同一ブロックから多くのページデータがキャッシュメモリに移動することになる。 Since thereby related to each other deep page data is rearranged in the same block, when they are accessed again, much page data from the same block moves to the cache memory.その結果、そのブロックは無効領域を集中的に有した状態となり、そこから効率良く新規空きブロックを生成することができる。 As a result, the block becomes a state of having an invalid area intensive, can be generated efficiently new free block therefrom.

すなわち、本実施形態の記憶装置においては、互いに関連の深いページは、アクセスを経るに従って分散状態から集中状態に変わる。 That is, in the storage device of this embodiment, one another closely related page, change the concentration state from a dispersed state according to undergo access.したがって、アクセス効率の良いページ配置に変化する。 Therefore, changes to access efficient page arrangement.従ってどのようなケースにおいても、従来よりはるかに効率のよいデータ書き込みが成されるようになる。 Thus even in any case, so far conventionally good data writing efficiency is made.

図２０は、図３の従来例に対応させて、本第５の実施形態をマルチバンク型のフラッシュメモリに適用した例を説明するための図である。 Figure 20, corresponding to the conventional example of FIG. 3 is a diagram for explaining an example of applying the embodiment of the fifth to the multi-bank type flash memory.

図２０に示すように、フラッシュメモリ部は１６個のアレイＡＲ０〜ＡＲ１５より構成されており、高速転送を実現するため、それらを同時動作させる。 As shown in FIG. 20, the flash memory unit is composed of 16 arrays AR0～AR15, in order to realize high speed transfer, make them are simultaneously operated.この場合、データ書き込み時は、たとえばページ群２４ｂは実ページ領域として同時書き込みがなされる。 In this case, at the time of data writing, for example, the page group 24b are simultaneously written is performed as an actual page region.さらに、消去時はブロック群２１ｂは実消去ブロックとして同時消去される。 Further, erasing the block group 21b are simultaneously erased as actual erase blocks.

ここで本実施形態においては、フラッシュメモリ上の実ページ領域２４ｂの一部が更新される場合、ページ群２４ｂのみが読み出され、所望箇所が更新されて、キャッシュメモリ２３ｂに格納される。 Here in this embodiment, when a part of the real page region 24b of the flash memory is updated, only the group of pages 24b is read out, the desired portion is updated and stored in the cache memory 23b.すなわち、実消去ブロック（ブロック群）２１ｂ全体のデータが読み出される訳ではなく、またすぐにフラッシュ側に書き戻される訳でもない。 That is, the actual erase block (group of blocks) 21b is not necessarily the entire data is read, nor necessarily be immediately written back to the flash memory side.再度、ページ群２４ｂの一部領域が更新される場合は、キャッシュ領域２２ｂが更新される。 Again, if some areas of the page group 24b is updated, the cache region 22b is updated.しかし、別の実ページ領域２５ｂに更新指示があると、ページ群２５ｂのみが読み出され、所望箇所が更新されて、キャッシュメモリ２３ｂに格納される。 However, if there is an update instruction to another real page region 25b, only the page group 25b is read, a desired portion is updated and stored in the cache memory 23b.

このようにしてキャッシュメモリ２３ｂ内には、ランダムに選択され、更新された、互いに異なる実ページ領域のデータが順次蓄積されていく。 This way, the cache memory 23b, randomly selected, were updated, it is sequentially accumulated data different real page region.そしてたとえば、規定量を超えた実ページデータが格納されると、それらはまとめて、既に消去済の実消去ブロック２７ｂに書き戻される。 And for example, if the actual page data exceeding a prescribed amount is stored, they are collectively are already written back to the actual erase block 27b of already erased.すなわち、キャッシュメモリ２３ｂを介して、実ページ領域の配置換えがなされ、異なる消去ブロックから読み出された複数のページ２４ｂ、２５ｂのデータが同一の消去ブロック２７ｂに再配置される。 That is, via the cache memory 23b, relocation of the real page region is made, a plurality of pages 24b that read out from erase blocks different from, 25b of the data are rearranged in the same erase block 27b.

なお、この際、外から見たアドレスとデータの不整合が生じぬよう、内部でアドレス変換テーブルを用いた実ページ領域レベルでのアドレス変換が行われる。 At this time, in order not to cause misalignment of the address and data seen from the outside, the address conversion in the real page region level using the address conversion table internally performed.これによって元のページ領域２４ｂ、２５ｂのデータは無効化され、外から同じページアドレスにアクセスしても、消去ブロック２７ｂ内に再配置されたページがアクセスされるようになる。 Thus the original page regions 24b, data 25b is disabled, even if access from outside to the same page address, relocated page is to be accessed in the erase block 27b.

図２１は、本発明に係る記憶装置のさらに具体的な構成例を示す図である。 Figure 21 is a diagram showing a more specific configuration example of a memory device according to the present invention.

各フラッシュメモリ１３１〜１３４は、４つの６４ＭＢメモリアレイ、たとえばバンクＢＫ０〜ＢＫ３を有しており、それぞれ独立したバンクとして並列動作が可能である。 Each flash memory 131 to 134, four 64MB memory array, for example, a bank BK0 to BK3, which can operate in parallel as independent banks.各々のバンクＢＫ０〜ＢＫ３のページサイズは２ｋＢであり、消去ブロックサイズは６４ページをまとめた１２８ｋＢである。 Page size of each of the bank BK0~BK3 is 2kB, erase block size is 128kB a summary of the 64 page.すなわち、各バンクＢＫ０〜ＢＫ３は５１２個の消去ブロックを有している。 That is, each bank BK0~BK3 has 512 erase blocks.さらに各バンクＢＫ０〜ＢＫ３はそれぞれページ格納用のラッチを有している。 And a latch for page storage respectively and each bank BK0~BK3 is.各バンクＢＫ０〜ＢＫ３の書き込み転送速度は１０ＭＢ／ｓ程度である。 Write transfer rate of each bank BK0~BK3 is about 10MB / s.

各バンクＢＫ０〜ＢＫ３にデータを書き込む際は、まずラッチ内に上記ページサイズに相当する２ｋＢ ずつのデータが転送され、その後所望のページアドレスに一括書き込みされる。 When writing data to the banks BK0~BK3 the data by 2kB corresponding to the page size is transferred first to the latch and then collectively write the desired page addresses.各バンクＢＫ０〜ＢＫ３は、各々独立にアクセスするページアドレスを指定でき、片側のバンクが書き込まれている間に反対のバンクのラッチにもデータを転送でき、さらに書き込みを開始できる。 Each bank BK0~BK3 can specify the page address to access each independently, can also transfer the data to the latch in the opposite bank while one bank is being written, can further start writing.すなわち、４つのバンクＢＫ０〜ＢＫ３は並列に動作が可能である。 Namely, four banks BK0~BK3 is can operate in parallel.さらに４個のフラッシュメモリ１３１〜１３４も各々並列動作が可能であり、記憶装置全体では１６バンクを並列にアクセスできる。 Further four flash memories 131 to 134 are also each capable of parallel operation, the 16 banks accessible in parallel across the storage devices.たとえば一つのファイルを１６バンクに分割して並列に書き込めば、実質的には最大１６倍の速度で書き込みが可能である。 For example, written in parallel by dividing one file into 16 banks, in effect it is possible to write up to 16 times faster.

フラッシュメモリコントローラ１３５はＥＣＣ符号化によるエラー訂正回路を備えるとともに、不良ブロックへのアクセスを回避するよう４個のフラッシュメモリ１３１〜１３４内の１６個のバンクに対して、独立してブロック単位のアドレス論物変換を行う。 With the flash memory controller 135 includes an error correction circuit by ECC encoding, with respect to 16 banks in four flash memories 131 to 134 to avoid access to a defective block, the address of the block units independently performing a logical-to-physical translation.すなわち、フラッシュメモリコントローラ１３５は、各バンク毎にアクセスするアドレスを変換するためのテーブルを持っており、外部から指定されたアドレス（論理アドレス）を不良ブロックを避ける形で内部アドレス（物理アドレス）に変換し、良品のブロックのみにアクセスさせる。 That is, the flash memory controller 135 has a table for converting the address to be accessed for each bank, the address designated from the outside the internal address in the form of avoiding (logical address) of the defective block (physical address) conversion, is only access block non-defective.

記憶装置１３０内部は、上記３２ｋＢの実ページ単位でデータが各メモリ１３６、１４０、およびページレジスタ１３７間を転送される。 Internal storage device 130, data in the real page units of 32kB is transferred between the memory 136 and 140 and the page register 137,.制御回路１３９はそれらの転送を管理する。 The control circuit 139 manages their transfer.

記憶装置１３０外部とデータのやり取りをする場合には、所望のページデータがページレジスタ１３７に一旦転送され、ＩＦ回路１３８はそれを介して外部とのデータ通信を行う。 When exchanging the storage device 130 external data is desired page data is transferred once to the page register 137, IF circuit 138 performs data communication with the outside through it.通常ファイルは５１２Ｂのセクター単位で通信されるので、本記憶装置外部からみた場合、各セクターアドレスの上位ビットは上記ページデータの論理アドレスであり、下位ビットはページ内３２ｋＢ中の所望セクターの位置を示すアドレスである。 Since regular file is communicated in sectors of 512B, when viewed from the storage device external, upper bits of each sector address is a logical address of the page data, the lower bit position of the desired sector in the page in 32kB is the address shown.

ページデータの転送制御回路１３９の内部には、図２２に示すように、ページ管理用のテーブル１４１が構築されている。 Inside the transfer control circuit 139 of the page data, as shown in FIG. 22, the table 141 for the page management is built.このテーブル１４１は、装置の論理ページアドレスに対応して、各ページデータがフラッシュメモリ１４０または強誘電体キャッシュメモリ１３６のどの場所に格納されているかを管理している。 The table 141, corresponding to the logical page address of the device, each page data is managed or stored in the flash memory 140 or the ferroelectric cache memory 136 throat location.記憶容量が１ＧＢの場合、３２ｋＢのページは約３２ｋ枚格納される。 If the storage capacity of 1GB, the page of 32kB is stored about 32k sheets.したがって、１６ビットのアドレス空間で所在を管理でき、テーブル１４１のメモリ容量は５１２ｋｂｉｔ程度である。 Therefore, to manage the location in the 16-bit address space, the memory capacity of the table 141 is approximately 512 kbit.

なお、本例では消去済の空きブロックを潤沢かつ適切に供給するために、予備のブロックを設けている。 In order to abundant and adequate supply of the free blocks erased in the present example is provided with spare blocks.すなわち、内部記憶容量の八分の一を隠蔽し、ページの論理アドレスを６ＦＦＦまでとしている。 That hides the one eighth of the internal storage capacity, and the logical address of the page to 6FFF.この場合、記憶装置の容量は約７５０ＭＢである。 In this case, the capacity of the storage device is about 750MB.物理アドレスについては００００〜７ＦＦＦの空間をフラッシュメモリ１４０に、８０００〜ＦＦＦＦの空間を強誘電体キャッシュメモリ１３６に割り振っている（無論割り振られたアドレスの全てが使われる訳ではない）。 Physical space 0000~7FFF the flash memory 140 for the address, (not all of course allocated address is used) that space the intensity is allocated to the dielectric cache memory 136 of 8000～FFFF.

このようなテーブルを設ければ、ページデータをフラッシュメモリ１４０または強誘電体キャッシュメモリ１３６のどのような位置に移動させても、テーブルを更新するのみで、ユーザーは所望のデータに的確にアクセスすることができる。 By providing such a table, be moved page data at a position such as flash memory 140 or the ferroelectric cache memory 136 throat, only to update the table, the user accesses appropriately desired data be able to.すなわち、ユーザーが所望のセクターアドレスを指定すれば、その上位ビットに相当する論理ページアドレスがテーブル上でアクセスされ、対応ページの所在位置が特定される。 That is, if the user specifies the desired sector address, the logical page address corresponding to the upper bits are accessed on the table, the location of the corresponding page is specified.該当ページはページレジスタ１３７に転送され、セクターアドレスの下位ビットを元に、レジスタ中の所望のビットがアクセスされる。 Corresponding page is transferred to the page register 137, based on the lower bits of the sector address, the desired bit in the register is accessed.

また、本記憶装置１３０においては、仕様上のメモリ容量（７５０ＭＢ）より、実際の内部記憶容量は大きい。 In the present storage device 130, from the memory capacity in specifications (750MB), the actual internal memory capacity is large.この間にはアドレステーブルが介在し、冗長な記憶領域は、消去済空きブロックの潤沢かつ適切な供給等、アクセスの効率化、高速化のために使用されている。 During this time the interposed address table, the redundant storage area is abundant and appropriate supply of erased empty block, the efficiency of the access, is being used for speed.

なお、転送制御回路１３９とフラッシュメモリコントローラ１３５は同一チップ上に搭載し、一つのＣＰＵで両者を制御することも可能である。 Incidentally, the transfer control circuit 139 and the flash memory controller 135 is mounted on the same chip, it is possible to control both a single CPU.この場合さらにＩ／Ｆ部１３８およびページレジスタ１３７も同一チップ上に搭載されるのが望ましく、これによって記憶装置は左記複合制御チップとＦｅＲＡＭチップおよび４個のフラッシュメモリチップの計６チップで構成されることになる。 It is desirable to be mounted in this case further I / F unit 138 and the page register 137 on the same chip, whereby the storage device is composed of a left multifunction control chip and the FeRAM chip, and four flash memory chips six chips It becomes Rukoto.

以下に、記憶装置１３０へのアクセス時の内部転送制御の例を説明する。 Hereinafter, an example of the internal transfer control at the time of access to the storage device 130.

Ａ．A.クラスターの読み出し；Reading of the cluster;１． 1.ユーザーが４ｋＢのクラスターを読み出すため、その先頭セクターのアドレスとコマンドを入力したとする。 User to read a cluster of 4kB, and enter the address and the command of the first sector.７５０ＭＢのストレージでは、５１２Ｂ単位のセクターのアドレスは２１ビットで指定できる。 The storage of 750MB, the sector address 512B units can be specified by 21 bits.その際上位１５ビットがページアドレスとなり、下位６ビットがページ中のセクターアドレスとなる。 At that time the top 15 bit is a page address, the lower six bits becomes the sector address in the page.

２． 2.まずページアドレスからテーブル１４１がアクセス参照される。 Table 141 is accessed referenced from first page address.その結果、ページの所在が確定され、フラッシュメモリ１４０または強誘電体キャッシュメモリ１３６のいずれかより該当するページデータがページレジスタ１３７に転送される。 As a result, the location of the page is determined, the page data corresponding from any of the flash memory 140 or the ferroelectric cache memory 136 is transferred to the page register 137.

３． 3.次に下位６ビットのアドレスをもとに、ページレジスタ１３７内の該当するセクターデータが選択され、出力される。 Then based on the low-order 6 bits of the address, the corresponding sector data in the page register 137 is selected and output.

４． 4.なお、クラスターを構成する後続の連続セクターは、全てページレジスタ１３７内に存在するので、以降そこから読み出しが行われる。 Note that subsequent consecutive sectors constituting the cluster, so present in all the page register 137, a read therefrom later is performed.

Ｂ．B.クラスターの書き込み；Writing of the cluster;１． 1.ユーザーが４ｋＢのクラスターを書き込むため、その先頭セクターのアドレスとコマンドを入力したとする。 The user to write a cluster of 4kB, and enter the address and the command of the first sector.読み出し時と同様に、そのアドレス２１ビット中上位１５ビットがページアドレスとなり、下位６ビットがページ中のセクターアドレスとなる。 Like the time of reading, the address 21 bits in the upper 15 bits become the page address, the lower 6 bits are sector address in the page.

２． 2.まずページアドレスからテーブル１４１がアクセス参照される。 Table 141 is accessed referenced from first page address.その結果、ページの所在が確定され、フラッシュメモリ１４０または強誘電体キャッシュメモリ１３６のいずれかより該当するページデータがページレジスタ１３７に転送される。 As a result, the location of the page is determined, the page data corresponding from any of the flash memory 140 or the ferroelectric cache memory 136 is transferred to the page register 137.

３． 3.次に下位６ビットのアドレスをもとに、ページレジスタ１３７内の該当するセクターデータが選択され、更新される。 Then based on the low-order 6 bits of the address, the corresponding sector data in the page register 137 is selected and updated.

４． 4.なお、クラスターを構成する後続の連続セクターは、全てページレジスタ１４０内に存在するので、引き続きページレジスタ１３７のデータが更新される。 Note that subsequent consecutive sectors constituting the cluster, so present in all the page register 140, subsequently the data of the page register 137 is updated.

５． 5.更新されたページデータは、それが強誘電体キャッシュメモリ１３６に存在していたものであれば、元の場所に上書きされる。 Page data is updated, as long as it was present in the ferroelectric cache memory 136 is overwritten to the original location.一方、フラッシュメモリ１４０に存在していたものであれば、強誘電体キャッシュメモリ３６の空き領域に書き込まれ、テーブル１４１が更新される。 On the other hand, if it existed in the flash memory 140 is written in an empty area of ​​the ferroelectric cache memory 36, the table 141 is updated.すなわち、更新済ページデータはフラッシュメモリ１４０から強誘電体キャッシュメモリ１３６に移動し、フラッシュメモリ１４０内の元のページ領域は無効となる。 That is, updated page data is moved to the ferroelectric cache memory 136 from the flash memory 140, the original page region in the flash memory 140 becomes invalid.

６． 6.その後他のクラスタ書き込みのため、１〜５の動作が繰り返される。 Then for another cluster write operation of 1-5 is repeated.これによって強誘電体キャッシュメモリ１３６内には更新済ページデータが蓄積されていく。 It accumulates the updated page data to the ferroelectric cache memory 136.

７． 7.強誘電体キャッシュメモリ１３６内に６４ページ、すなわち１ブロック分のデータが蓄積された時点で、それらのページデータは順次フラッシュメモリ１４０内の消去済の空きブロックに書き込まれる。 Ferroelectric cache memory 136 in the page 64, i.e. when the data is accumulated for one block, the pages data is written sequentially into empty blocks for erased in the flash memory 140.同時にテーブル１４１が更新され、それによってページデータは強誘電体キャッシュメモリ１３６からフラッシュメモリ１４０に移動する。 At the same time the table 141 is updated, thereby moving the page data ferroelectric cache memory 136 to the flash memory 140.

なお、誘電体キャッシュメモリ１３６からフラッシュメモリ１４０にページデータを書き戻す手順には多くのバリエーションが生じ得る。 Note that the procedure for writing back the page data to the flash memory 140 from the dielectric cache memory 136 are a number of variations may occur.それらは１ブロック分一気に連続して行っても良いが、その間記憶装置はアクセス禁止になってしまう。 They may be performed at once continuously one block, but during the storage device becomes inaccessible.したがって、記憶装置１３０へのアクセスと内部の書き戻しを時分割でスケジューリングし、たとえば外部から１ページ分のアクセスがなされるごとに１ページずつ書き戻しても良い。 Thus, scheduling the write back inside and access to the storage device 130 in time division, it may be written back one page every time one page of the access is made for example from the outside.

また、強誘電体キャッシュメモリ１３６にページデータを書き込む際に、各ページごとに予備領域を設け、タイムスタンプ等ページの更新順序を示す記録を残しておくと、さらにアクセスの効率を向上させることができる。 Further, when writing the page data into the ferroelectric cache memory 136, a spare area provided in each page, when leaving a record that indicates the update order of the time stamps page, making it possible to further improve the efficiency of access it can.この場合、フラッシュメモリ１４０への書き戻し時には更新の古いものから書き込んで行けば良い。 In this case, it should I write from the oldest of the update at the time of writing back to the flash memory 140.これによって書き込み時のキャッシュへのヒット率が上昇し、フラッシュメモリへの実際の書き込み回数を減らすことができる。 This increases the hit rate of the write time of the cache, it is possible to reduce the actual number of writes to the flash memory.

ところで、本実施形態では、キャッシュメモリ１３６に強誘電体メモリを使用した。 Incidentally, in the present embodiment, using the ferroelectric memory to the cache memory 136.この部分に不揮発性メモリを使用せず、たとえばＳＲＡＭやＤＲＡＭを使用しても、同様の処理でページデータを一時保存することは可能である。 Without using a nonvolatile memory in this portion, for example it is used SRAM or DRAM, it is possible to temporarily store the page data by the same processing.しかし以下の理由によって不揮発にした方が望ましい。 But is desirable person who was in a non-volatile for the following reasons.

ここが揮発性メモリの場合、それはあくまで一時的記憶にしか過ぎない。 Here is a case of volatile memory, it is only only only temporary storage.したがって、そこにページデータを移動させ、以前のフラッシュメモリ上のデータを無効化しても、それを全く復帰不可能な状態にするのは危険である。 Therefore, there to move the page data, even if invalidate the data on the earlier of flash memory, it is dangerous to completely unrecoverable state it.従ってテーブルには元のアドレスもバックアップとして残しておく必要があり、その管理は非常に複雑になる。 The table therefore it is necessary to keep also the original address as a backup, the management is very complex.

電源を切ると揮発性メモリ内のページデータは消滅するので、その前に内部の有効データは必ずフラッシュメモリ内に書き戻さねばならない。 Since the turn off the power supply and the page data in the volatile memory disappears, the effective data of the internal before that must always be written back into the flash memory.したがって、実際の電源オフまでに時間がかかり、処理も煩雑である。 Therefore, it takes time until actual power-off, the process is complicated.またこれによって、消去したものの一部しか書き込まれない半端なブロックが生じやすくなる。 Further Thus, odd block not only written part of what has been erased is likely to occur.

モバイル機器の電池切れや、据え置き機器の落雷停電等、予想外の要因で電源が瞬断した場合、更新データが失われるのみならず、データ間に不整合が発生する危険がある。 Battery exhaustion or mobile devices, lightning power failure or the like of the stationary device, when the power supply is instantaneously interrupted due to factors unexpected, not only the updated data is lost, inconsistency between data is at risk for developing.

また、アドレステーブル１４１も、電源オフ時に保存される必要がある。 The address table 141 also needs to be saved when the power is turned off.これについてはたとえば以下のような手法が有効である。 Is an effective technique, such as, for example, the following about this.

ページデータを各種メモリに保存する際に予備領域を設けて、各ページごとにその論理アドレスを共に保存する。 Page data by providing a spare area when storing the various memories, and stores the logical address together for each page.これによってメモリ内の各ページをスキャンすることで、いつでもテーブルを再構築できる。 This allows it to scan each page in the memory, you can rebuild the table at any time.強誘電体メモリ１４０の中にテーブルそのものを構築したり、または電源オフ時に強誘電体メモリ内にテーブルを保存する。 Strength or build the table itself in the ferroelectric memory 140 or stores the table in the ferroelectric memory when the power is turned off.

なお、不揮発性のキャッシュメモリとしては、強誘電体メモリ以外にも前述のような強磁性材料や相転移材料、または磁気抵抗効果材料を用いたメモリ等を使用することができる。 As the non-volatile cache memory, it is possible to use a memory or the like using the ferromagnetic material or a phase change material as described above in addition to a ferroelectric memory, or magnetoresistance effect material.また、主媒体についてはフラッシュメモリが現時点で代表的であるが、それ以外にも書き換えに消去が必要で、かつ消去単位が通常のアクセス単位より大きい不揮発性メモリであれば、本発明を適用することができる。 Although for the main medium is typically a flash memory is at present necessary erased even rewrite otherwise, and the erase unit, if large non-volatile memory than normal access unit, to apply the present invention be able to.

第６実施形態Sixth Embodiment図２３は、本第６の実施形態に係る情報処理システム（コンピュータシステム）の一実施形態を示すブロック図である。 Figure 23 is a block diagram illustrating an embodiment of an information processing system according to the sixth embodiment (the computer system).

図２３のシステム１５０において、ＣＰＵ１５１にはシステムバス１５６を介して本発明に係る半導体記憶装置１５２が接続されている。 In the system 150 of FIG. 23, the semiconductor memory device 152 according to the present invention via the system bus 156 is connected to the CPU 151.半導体記憶装置１５２は、状態通知ピン１５２ａの付加された通常のランダムアクセスメモリとして実装されている。 The semiconductor memory device 152 is implemented as the added conventional random access memory status notification pin 152a.ＮＯＲ型フラッシュとピン互換にし、通常のボードにそのまま装着することも可能である。 The NOR flash pin compatible, is it also possible to mount a normal board.

本実施形態の半導体記憶装置１５２は、たとえば高速な第１のメモリとしての３２Ｍｂの強誘電体メモリ１５２１、低速な第２のメモリとしての１ＧＢのＮＡＮＤ型フラッシュメモリモジュール１５２２、および制御回路（ＣＴＬ）１５２３を同一パッケージ内に含んで構成されている。 The semiconductor memory device 152 of this embodiment, for example, fast first ferroelectric memory 1521 of 32Mb as a memory, 1GB of NAND-type flash memory module 1522 as a low-speed second memory, and a control circuit (CTL) It is configured to include in the same package to 1523.

フラッシュメモリモジュール１５２２は、内部のメモリが１６バンクに分割されており、それらを並列動作させることで、ブロックデータの高速な転送が可能である。 Flash memory module 1522 is divided internal memory in 16 banks, that make them operate in parallel, which enables high-speed transfer of the block data.その他モジュール内部には、内部フラッシュメモリのブロック単位の論理アドレスを物理アドレスに変換し、エラーブロックのアクセスを禁止する機能回路や、ＥＣＣ回路で読み出したデータに符号化エラー訂正を施す機能回路が含まれている。 Inside other module, it converts the logical address of the block in the flash memory to a physical address, and the functional circuit to prohibit access error block contains functional circuitry for performing coding error correction on the read data in ECC circuit It has been.

制御回路１５２３は後述するように、半導体記憶装置１５２の内部における強誘電体メモリ１５２１とＮＡＮＤ型フラッシュメモリモジュール１５２２間のデータ転送を実行、制御する。 The control circuit 1523, as will be described later, executes data transfer between the ferroelectric memory 1521 and the NAND type flash memory module 1522 inside the semiconductor storage device 152, and controls.

半導体記憶装置１５２は、たとえば図４におけるＮＯＲ型フラッシュ３３、ＤＲＡＭ３４、およびＮＡＮＤ型フラッシュモジュール３６の三者の機能を統合したものとなっており、ＯＳカーネル、アプリケーションプログラム、ワークエリア、ユーザーデータの殆どはこの中に格納される。 The semiconductor memory device 152, for example, and is obtained by integrating the three-way function of the NOR type flash 33, DRAM 34, and NAND type flash module 36 in FIG. 4, OS kernel, application program, work area, most users data It is stored in this.そのアドレスはシステムメモリ上にマッピングされ、不揮発な大容量ランダムアクセスメモリとして扱われる。 The address is mapped in the system memory is treated as a non-volatile large capacity random access memory.

さらに、本システム１５０においては、システムバス１５６には比較的小容量の強誘電体メモリ１５３が接続されており、またインタフェース回路群１５４を介して各種周辺機器１５５−１〜１５５−３が接続されている。 Further, in the present system 150 is relatively and ferroelectric memory 153 of the small capacity is connected, also various peripheral devices 155-1～155-3 via the interface circuit group 154 ​​is connected to the system bus 156 ing.

本システム１５０におけるホスト装置１５１のメモリアクセス手順は以下の通りである。 Memory access procedure of the host device 151 in the system 150 is as follows.

ホスト装置１５１が半導体記憶装置１５２にアクセスした場合、半導体記憶装置１５２内の制御回路１５２３は強誘電体メモリ１５２１内に所望のデータかそのコピーがあれば、そこにアクセスする。 If the host apparatus 151 accesses the semiconductor memory device 152, the control circuit 1523 of the semiconductor memory device 152 if there is a copy or the desired data in the ferroelectric memory 1521, it accesses thereto.したがって、外部からは通常のランダムアクセスメモリとして使用できる。 Thus, it can be used as an ordinary random access memory from the outside.もし、所望のデータかそのコピーが無ければ、制御回路１５２３は通知ピン１５２ａにビジー信号を送り、必要なデータをフラッシュメモリモジュール１５２２から強誘電体メモリ１５２１に転送する。 If there is no copy or desired data, the control circuit 1523 sends a busy signal to the notification pin 152a, and transfers the necessary data to the ferroelectric memory 1521 from the flash memory module 1522.

ホスト装置１５１は、ビジー信号を受けると割り込みを発生させ、別途設けられた強誘電体メモリ１５３に記載された割り込みハンドラのコードを実行する。 The host device 151 generates an interrupt upon receiving a busy signal and executes the code of the interrupt handler described in the ferroelectric memory 153 separately provided.これによって上記メモリアクセスは中断され、ホスト装置１５１は通知ピン１５２ａの状態を監視しつつ待機状態に入る。 Thus the memory access is interrupted, the host device 151 enters a standby state while monitoring the status of the notification pin 152a.半導体記憶装置１５２内の転送処理が終了すると、通知ピン１５２ａはレディー状態となり、メモリアクセスが再開される。 When the transfer process of the semiconductor memory device 152 is completed, the notification pin 152a becomes ready state, the memory access is restarted.

すなわち、半導体記憶装置１５２は、通常はランダムアクセスメモリとして問題なく使用できるが、所望のデータが強誘電体メモリ１５２１内になければ割り込みと待機を要求する。 That is, the semiconductor memory device 152 is typically can be used without any problem as a random access memory and an interrupt request and wait to be in the desired data ferroelectric memory 1521.その処理のために最低限必要となる割り込みベクター、スタック、割り込みハンドラ−等のためのメモリ領域が、別途設けられた小容量の強誘電体メモリ１５３内に格納されている。 Minimum become interrupt vector for the processing, stack, interruption handler - memory area for the like, are stored in the separately provided small capacity ferroelectric memory 153.これらの総容量は通常数十ｋＢであり、ここでは小容量の強誘電体メモリに格納したが、コード格納にはマスクＲＯＭやＥＰＲＯＭを、スタックにはＳＲＡＭ等を用いてもよく、それらはホスト装置（ＣＰＵ）１５１やインターフェース回路群１５４のＩＦ回路チップの中に内蔵しても良い。 These total volume is usually several tens of kB, here has been stored in the ferroelectric memory of small capacity, a mask ROM or EPROM for the code storage, the stack may be used such as SRAM, they host device may be incorporated into the IF circuit chip (CPU) 151 and the interface circuit group 154.

または、小容量の強誘電体メモリ１５３は半導体記憶装置１５２と同一パッケージ内に一体化させることも可能である。 Or, the ferroelectric memory 153 of the small capacity is also possible to integrate the semiconductor memory device 152 within the same package.図２４は、小容量の強誘電体メモリ１５３は半導体記憶装置１５２と同一パッケージ内に一体化させた構成例を示す図である。 Figure 24 is a ferroelectric memory 153 of the small capacity is a diagram showing a configuration example in which is integrated in the semiconductor memory device 152 within the same package.図２４において、記憶装置１６０は、大容量記憶部１６１、小容量誘電体メモリ１６２、スイッチ１６３，１６４、強誘電体メモリ１６５、制御回路１６６、ＮＡＮＤ型フラッシュメモリ１６７、外部端子１６８，１６９、共用アドレス線１７０、共用バス（ＢＵＳ）１７１を有する。 In Figure 24, the storage device 160, a mass storage unit 161, the small capacity ferroelectric memory 162, switches 163 and 164, a ferroelectric memory 165, control circuit 166, NAND-type flash memory 167, external terminals 168 and 169, a shared an address line 170, a shared bus (bUS) 171.

図２４において、記憶装置１６０は図２３の １５１に相当する大容量記憶部１６１を含み、この記憶部１６１は強誘電体メモリ１６５、制御回路１６６、ＮＡＮＤ型フラッシュモジュール１６７を含んで構成されている。 In Figure 24, the storage device 160 includes a mass storage unit 161 corresponding to 151 of FIG. 23, the storage unit 161 is configured to include a ferroelectric memory 165, control circuit 166, NAND type flash module 167 .さらに、記憶装置１６０は割り込みハンドラやスタックを格納するための小容量強誘電体メモリ１６２を含んで構成されている。 Furthermore, the storage device 160 is configured to include a small capacity ferroelectric memory 162 for storing an interrupt handler and stack.記憶装置１６０においては、アドレス０から上位２５６ｋｂ（３２ｋＢ）分のアドレス領域は小容量強誘電体メモリ１６２にマッピングされ、それ以降は大容量記憶部１６１にマッピングされる。 In the storage device 160, the address area of ​​the upper 256 kb (32 kB) fraction from the address 0 is mapped to a small volume ferroelectric memory 162, and thereafter is mapped in the large capacity storage unit 161.すなわち、記憶装置１６０が１ＧＢの容量を持つとすれば、アドレスＡ１４−Ａ２８の全てが０の場合は強誘電体メモリ１６２がアクセスされ、それ以外は記憶部１６１がアクセスされる。 That is, the storage device 160 if having a capacity of 1GB, if all the addresses A14-A28 is 0 is accessed ferroelectric memory 162, otherwise the storage unit 161 is accessed.ここで記憶部１６１のアドレス端子とＩＯ端子は、外部端子１６８，１６９、および小容量強誘電体メモリ１６２に接続された共用アドレス線１７０、並びに共用ＢＵＳ１７１から、スイッチ１６３および１６４によって適時切断されるようになっている。 Address terminal and an IO terminal of the memory unit 161 here is timely disconnected by external terminals 168 and 169, and the small capacity ferroelectric connected shared address lines 170 to the memory 162, as well as from the shared BUS171, switches 163 and 164 It has become way.すなわち、記憶部１６１内において強誘電体メモリ１６ ５とＮＡＮＤ型フラッシュモジュール１６７との間でデータ転送が行われ、ビジー信号が送出されている間、記憶部１６１内のバスやアドレス線は内部転送回路１６６の制御のもとで内部転送に使用されているので、共用のアドレス線やバスから切断される。 That is, the data transfer is performed between the ferroelectric memory 16 5 and the NAND type flash module 167 in the storage unit 161, while the busy signal is being transmitted, the bus and address lines in the storage unit 161 internal transfer because it is being used in the internal transfer under the control of circuit 166 is disconnected from the shared address line and bus.これによって記憶部１６１内で所望の転送を実行しつつ、外部からは小容量強誘電体メモリ１６２内の割り込みベクターに問題なくアクセスできる。 This while executing the desired transfer in the memory unit 161 can be accessed without problems to the interrupt vector of the small capacity ferroelectric memory 162 from outside.

このような構成を採用すれば、ユーザーは記憶装置１６０のみで全てのメモリを代替することができる。 By adopting such a configuration, the user can replace all of the memory only in storage device 160.またこの場合、小容量強誘電体メモリ１６２は記憶部１６１の強誘電体メモリ１６５と同一のチップに同一プロセスで作り込むことができるので、殆どコストアップなしに搭載することが可能である。 Also in this case, since the small capacity ferroelectric memory 162 can be the same chip as the ferroelectric memory 165 of the storage unit 161 fabricated in the same process, it is possible to almost mounted without increasing the cost.

以下、図２５および図２６（Ａ），（Ｂ）に関連付けて、強誘電体メモリ内のデータ有無の判定手法と、フラッシュメモリモジュールと強誘電体メモリ間のデータ移動手順を説明する。 Hereinafter, FIGS. 25 and 26 (A), in association with (B), the a method of determining the data existence in the ferroelectric memory, the data transfer procedures between the flash memory module and the ferroelectric memory will be described.

外部との入出力インターフェース回路１８３には内部バス１８０を介してＮＡＮＤ型フラッシュメモリモジュールよりなる大容量のメインメモリ１８１と、強誘電体メモリよりなる補助メモリ１８２が接続されており、さらに転送制御回路１８４が設置されている。 The output interface circuit 183 with external large capacity of the main memory 181 consisting of NAND-type flash memory module via the internal bus 180, is connected to an auxiliary memory 182 made of a ferroelectric memory, further transfer control circuit 184 is installed.メインメモリ１８１は内部が１６バンクに高並列化されており、３２ｋＢのデータ群が単位ページとして同時にアクセスされ、内部バス１８０にシリアルに入出力転送される。 The main memory 181 is a highly parallelized therein 16 banks simultaneously accessed as a data group unit page of 32 kB, input and output transferred to the internal bus 180 to the serial.また、装置内部には左記ページを管理単位としたアドレス変換テーブル１９０が構築されている。 The address conversion table 190 in which the left page and the management unit is constructed inside the device.これはたとえば転送制御回路１８４に内蔵されたＳＲＡＭの中に構築される。 This is built into the SRAM, for example incorporated in the transfer control circuit 184.さらに、転送制御回路１８４にはキャッシュテーブル１９１が構築されており、これはたとえば内蔵された連想メモリの中に格納されている。 Further, the transfer control circuit 184 and the cache table 191 is constructed, which is stored in the associative memory, for example built.

転送制御回路１８４は外部から入力された論理アドレスを、アドレス変換テーブル１９０およびキャッシュテーブル１９１に照合し、その結果に従って、補助メモリ１８２のデータをランダムアクセスし、または必要に応じてメインメモリ１８１と補助メモリ１８２の間でページ単位の双方向データ転送を行う。 The transfer control circuit 184 the logical address input from the outside, collates the address conversion table 190 and the cache table 191, according to the result, a main memory 181 the data to the random access, or if necessary in the auxiliary memory 182 auxiliary It performs bi-directional data transfer of page-by-page basis between the memory 182.

外部からアクセスしたい所望のデータのアドレスが指定されると、転送制御回路１８４はその上位ビットから対応する論理ページアドレスを抽出し、アドレス変換テーブル１９０を参照する。 When the address of the desired data to be accessed is designated from the outside, the transfer control circuit 184 extracts the corresponding logic page address from its higher bits and refers to the address conversion table 190.

アドレス変換テーブル１９０は各論理アドレス１９０１と物理アドレス１９０２の照応から構成されており、テーブルを格納したＲＡＭ上では、所望の論理アドレスに対応するＲＡＭ上のアドレスにアクセスすることで、照応する物理アドレスが取得できる。 Address conversion table 190 is constituted of anaphoric of each logical address 1901 and the physical address 1902, in the RAM storing the table, by accessing the address on the RAM corresponding to the desired logical address, physical address anaphoric There can be obtained.物理アドレス空間においては、領域０ｘ００００〜０ｘ７ＦＦＦはメインメモリ１８１内のページアドレスを示す。 In the physical address space, regions 0x0000~0x7FFF indicates the page address in the main memory 181.一方、０ｘ８０００以上の領域は補助メモリ１８２を示しており、たとえば物理アドレス０ｘ８００１は補助メモリ１８２のアドレス０ｘ０００１に所望のページが存在することを示している。 On the other hand, 0x8000 or more regions indicates the auxiliary memory 182, for example, the physical address 0x8001 indicates that the desired page is present at the address 0x0001 of the auxiliary memory 182.

転送制御回路１８４は、アドレス変換テーブル１９０を用いて所望のページの所在を判定し、まず補助メモリ１８２にデータが格納されているか否かを判定する。 The transfer control circuit 184 determines whether to determine the location of the desired page by using the address conversion table 190, first data in the auxiliary memory 182 is stored.もし、データが格納されていない場合は、今度はキャッシュテーブル１９１を参照し、今度は補助メモリ１８２内に所望データのコピーが格納されているか否かを判定する。 If the data is not stored in turn refers to the cache table 191, in turn determines whether copying of desired data in the auxiliary memory 182 is stored.

キャッシュテーブル１９１には、論理アドレスをＴＡＧとして、そのエントリ１９１１に対応する補助メモリ１８２上のページアドレス１９１２の照応が格納されている。 The cache table 191, the logical address as TAG, are stored anaphora page address 1912 of the auxiliary memory 182 corresponding to the entry 1911.たとえば図の例では、論理ページアドレス０ｘ０００１へのアクセス要求があった場合、アドレス変換テーブル１９０において対応する物理アドレスは０ｘ００Ｆ１であり、データ本体はメインメモリ１８１内にあることが解る。 For example, in the illustrated example, when an access request to the logical page address 0x0001, the physical address corresponding the address conversion table 190 is 0x00F1, data body is seen to be within the main memory 181.この場合、今度はキャッシュテーブル１９１において、論理アドレス０ｘ０００１に一致するＴＡＧのエントリが検索される。 In this case, the cache table 191 this time, TAG entry that matches the logical address 0x0001 is retrieved.ここにおいて強誘電体補助メモリ１８２のアドレス０ｘ０００２に所望のデータを含むページのコピーが格納されていることが判明する。 It is found a copy of the page containing the desired data to the address 0x0002 of the ferroelectric auxiliary memory 182 wherein are stored.

これらの判定は、外部から半導体記憶装置１５２を見たときに、そのアクセス速度を極力阻害せぬよう高速に行われるのが望ましい。 These determination, when viewed semiconductor memory device 152 from the outside, it is desirable is performed at a high speed so as not minimize not inhibit the access speed.したがって、たとえばアドレス変換テーブル１９０にはＳＲＡＭを、キャッシュテーブル１９１には連想メモリを使用する。 Thus, for example, an SRAM for the address conversion table 190, the cache table 191 using the associative memory.必要があればアドレス変換テーブル１９０とキャッシュテーブル１９１の参照は同時並行して実施しても良い。 See the address conversion table 190 and the cache table 191, if necessary may be carried out concurrently.これによって、補助メモリ１８２にデータかそのコピーがある限りは、本記憶装置は通常のランダムアクセスメモリと全く同様に扱える。 Thus, as long as there is data or a copy in the auxiliary memory 182, the storage device at all treated in the same manner as conventional random access memory.

上述の如き半導体記憶装置における顕著な特徴は、高速メモリである強誘電体補助メモリ１８２内に、メインメモリ１８１におけるデータのコピーのみならず、データの実体が存在していることである。 Hallmark in the above-described semiconductor memory device, the ferroelectric auxiliary memory 182 is a high speed memory not only copies of the data in the main memory 181, is that the entity of data is present.その管理はアドレス変換テーブル１９０によって行われている。 Its management is performed by the address conversion table 190.

たとえば、上記論理アドレス０ｘ０００１のデータについて、アドレス変換テーブル１９０を更新し、対応する物理アドレスを強誘電体補助メモリ１８２上のそのコピーの格納箇所に相当する０ｘ８００２に書き換え、キャッシュテーブル１９１上のエントリを削除したとする。 For example, the data of the logical address 0x0001, updates the address conversion table 190, rewrites the corresponding physical address corresponding to the storage location of the ferroelectric its copy on auxiliary memory 182 0x8002, the entry on the cache table 191 deleted to.これによって、コピー元であるメインメモリ１８１上の０ｘ００Ｆ１のページデータは無効化され、以降はコピーデータの側がアクセスされるようになる。 Thus, the page data 0x00F1 on the main memory 181 is a copy source is disabled, since the side of the copy data is to be accessed.すなわち、データの実体となる。 In other words, the substance of the data.すなわちメインメモリ１８１から補助メモリ１８２にデータの実体が移動したことになる。 That is, the entity of data in the auxiliary memory 182 from the main memory 181 has moved.

一旦補助メモリ１８２に実体の移動したデータは、その値を更新しても、もはやその結果をメインメモリ１８１側に反映させる必要は無い。 Once the mobile data entity in the auxiliary memory 182, also updates its value need not be longer reflect the result in the main memory 181 side.したがって、特に書き込みアクセスの場合には、データを移動することで従来のキャッシュに必須だった書き戻しが不要になり、それに伴うオーバーヘッドを大幅に削減できる。 Therefore, particularly in the case of write access, write-back was essential to the conventional cache by moving the data becomes unnecessary, thereby significantly reducing the overhead associated therewith.

また、このようにして互いに異なる消去ブロックから読み出されたページ１８５〜１８７が次々に更新され、補助メモリ１８２に移動したとする。 Also, such a page 185-187 read from erase blocks different from each other in the updated one after another, and moved to the auxiliary memory 182.こうして補助メモリ内の空きが無くなってくると、転送制御回路１８４は、今度はこれらのページをメインメモリ１８１に再度移動させる必要が生ずる。 Thus When free in the auxiliary memory is depleted, the transfer control circuit 184, in turn need arises to move again these pages in the main memory 181.この際の移動は、通常のキャッシュメモリからの書き戻しと異なり、メインメモリ上の任意の消去済み領域に行うことが可能である。 The movement at this time, unlike the writing back from an ordinary cache memory, it is possible to carried out to any erased region on the main memory.たとえば、消去済の空きブロック１８９にまとめて移動させればよく、通常のようにそれぞれのページに対して読み出し元のブロック消去やブロック全体のデータ退避、再書き込み等を行う必要が無い。 For example, it is sufficient to move together to a free block 189 of erased, read source block erase or block the entire data saving with respect to the normal of each page so there is no need to re-write and the like.すなわち、補助メモリ１８２からページ群１８８のみをメインメモリ１８１のブロック１８９に順次転送し、アドレス変換テーブル１９０をそれに応じて書き換えるのみで良い。 That is, only the group of pages 188 from the auxiliary memory 182 sequentially transfers to the block 189 of the main memory 181, the address conversion table 190 may only rewritten accordingly.

ところで、本実施形態における補助メモリ１８２には揮発性メモリを使うことも可能であるが、データの消失は許されない。 By the way, the auxiliary memory 182 in this embodiment it is also possible to use a volatile memory, loss of data is not permitted.したがって、たとえばメインメモリ１８１内に特定の領域を設けて、電源オフ時にそこに内容を退避する必要がある。 Thus, for example, by providing a specific area in the main memory 181, it is necessary to save the therein contents when the power is turned off.さらに電源オン時には退避したデータを復元させなければならず、起動や終了に余分な時間がかかる上、電源瞬断にも脆弱である。 Must to restore the saved data is further at power-on, it takes extra time to start and end, which is vulnerable to a power interruption.したがって、補助メモリ１８２はフラッシュメモリよりアクセスが高性能な不揮発性メモリであることが望ましく、具体的には強誘電体材料、相変化材料、強磁性材料または磁気抵抗効果材料を用いたメモリであることが望ましい。 Accordingly, the auxiliary memory 182 is desirably, in particular is a memory using a ferroelectric material, phase change material, ferromagnetic material, or magnetoresistance effect material that the access from the flash memory is a high-performance non-volatile memory it is desirable.

さらに、アドレス変換テーブル１９０も消滅は許されない。 Further, annihilation address conversion table 190 is not permitted.たとえば、各ページの論理アドレスをページ毎の予備領域に保存しておけば再構築は可能だが、記憶装置内の全ページのスキャンには長時間を要する。 For example, but can rebuild If you save the logical address of each page in the spare area of ​​each page, the scanning of all the pages in the storage device takes a long time.したがって、アドレス変換テーブル１９０のデータは不揮発性の補助メモリ１８２にバックアップ保存されるのが望ましい。 Therefore, the data of the address conversion table 190 is desirably stored backup in the auxiliary memory 182 of the nonvolatile.

また、補助メモリ１８２に移動したデータは、その後補助メモリ側の空きがなくなると、上述したように、再度メインメモリ１８１側に移動させる必要が生ずる。 Also, data moved to the auxiliary memory 182, then the empty auxiliary memory side is eliminated, as described above, need arises to move back to the main memory 181 side.一方、補助メモリ１８２にコピーされたデータは、それが更新されていなければ破棄するのみで良い。 On the other hand, the data copied to the auxiliary memory 182, it may only discarded if it is not updated.したがって、ボトルネックとなるメインメモリ（特にフラッシュメモリ）への書き込みを最小限に抑えるためには以下のように移動とコピーを使い分けるのが望ましい。 Therefore, in order to minimize write to main memory (particularly the flash memory) which is a bottleneck that selectively moving and copying as follows desirable.

すなわち、読み出しにおいてデータ転送の必要が生じた場合は、通常のキャッシュと同様にメインメモリから補助メモリにコピーを転送し、元のデータは残しておく。 That is, when the required data transfer has occurred in the read, forward a copy similar to the normal cache from the main memory to the auxiliary memory, the original data is left.一方、書き込みにおいてデータ転送の必要が生じた場合は、データの実体を移動する。 On the other hand, if the required data transfer has occurred in the writing, to move the actual data.また、読み出し用に転送されたコピーでも、それが後に書き換えられれば書き戻しが必要になる。 Further, even copy forwarded to the read back is required to write as long rewriting it later.この場合は実体を移動させて書き戻しを不要にする。 In this case moves the entity to eliminate the need for write-back to.この操作は前述したように、アドレス変換テーブルの書き換えとキャッシュエントリの削除のみで実施することができる。 This operation, as described above, can be carried out only by deletion of rewriting the cache entry of the address translation table.

次に、本実施形態の読み出しおよび書き込みアクセスの場合における半導体記憶装置内でのデータ操作手順について説明する。 Next, a description will be given of the data manipulation procedures in the semiconductor storage device in the case of read and write accesses of the present embodiment.

まず、読み出しアクセスの場合を説明する。 First, the case of the read access.図２７は、読み出しアクセスの場合における半導体記憶装置内でのデータ操作を説明するためのフローチャートである。 Figure 27 is a flowchart for explaining the data operation in the semiconductor storage device in the case of a read access.

（Ｒ１）：外部からアクセスコマンドとアドレスが入力されると、そのページアドレスに相当する上位ビットをもとにアドレス変換テーブル１９０が参照される。 (R1): When the outside from the access command and address are input, the address conversion table 190 to upper bits on the basis that corresponds to the page address is referenced.（Ｒ２）：補助メモリ１８２内にデータがあるか否かが判別される。 (R2): whether there is data in the auxiliary memory 182 is determined.（Ｒ３）：変換されたアドレスが補助メモリ１８２上を指していれば、この変換後アドレスと下位ビットから補助メモリ１８２がアクセスされる。 (R3): translated address if designated on the auxiliary memory 182, auxiliary memory 182 is accessed from this address after conversion and the lower bits.（Ｒ４）：変換されたアドレスがメインメモリ１８１上を指していれば、今度はキャッシュテーブルが参照され、ＴＡＧの検索が行われる。 (R4): If the converted address is designated on the main memory 181, now reference is made to the cache table, TAG search is performed.（Ｒ５）：補助メモリ１８２内にコピーがあるか否かが判別される。 (R5): whether a copy is determined in the auxiliary memory 182.（Ｒ３）：キャッシュがヒットし、補助メモリ１８２上のコピーページのアドレスが取得されれば、このアドレスと下位ビットから補助メモリ１８２がアクセスされる。 (R3): the cache is hit, if it is acquired address of the copy page on the auxiliary memory 182, auxiliary memory 182 is accessed from this address and the lower bits.（Ｒ６）キャッシュがミスヒットした場合は、通知ピンがビジー状態となり、外部アクセスを禁止して、メインメモリ１８１から補助メモリ１８２へのページデータ転送が行われる。 (R6) if the cache mishit, the notification pin becomes busy, and prohibits external access, the page data is transferred from main memory 181 to the auxiliary memory 182 is performed.もし補助メモリ１８２に十分な空き領域がなければ、補助メモリ１８２内の既存のコピーページが破棄されるか、もしくは補助メモリ１８２内の既存データがメインメモリ１８１内に移動転送される。 If there is no sufficient free space in the auxiliary memory 182, or an existing copy page in the auxiliary memory 182 is discarded or existing data in the auxiliary memory 182 is moved forward in the main memory 181.（Ｒ７）：データ転送が完了したか否かが判別される。 (R7): whether the data transfer is completed or not.（Ｒ８）：データ転送が完了すれば、キャッシュテーブル１９１が更新されて、新たなＴＡＧエントリが追加される。 (R8): When the data transfer is completed, the cache table 191 is updated, a new TAG entry is added.その後補助メモリ１８２がアクセスされ、通知ピンがレディー状態に変わる。 Subsequently the auxiliary memory 182 is accessed, the notification pin changes to the ready state.

次に、書き込みアクセスの場合を説明する。 Next, the case of a write access.図２８は、書き込みアクセスの場合における半導体記憶装置内でのデータ操作を説明するためのフローチャートである。 Figure 28 is a flowchart for explaining the data operation in the semiconductor storage device in the case of a write access.

（Ｗ１）：外部からアクセスコマンドとアドレスが入力されると、そのページアドレスに相当する上位ビットをもとにアドレス変換テーブル１９０が参照される。 (W1): When an external from the access command and address are input, the address conversion table 190 to upper bits on the basis that corresponds to the page address is referenced.（Ｗ２）：補助メモリ１８２内にデータがあるか否かが判別される。 (W2): whether there is data in the auxiliary memory 182 is determined.（Ｗ３）：変換されたアドレスが補助メモリ１８２上を指していれば、この変換後アドレスと下位ビットから補助メモリ１８２がアクセスされ、所望のデータが更新される。 (W3): When the converted address is if designated on the auxiliary memory 182, auxiliary memory 182 from this address after conversion and the lower bits are accessed, the desired data is updated.（Ｗ４）変換されたアドレスがメインメモリ１８１上を指していれば、今度はキャッシュテーブル１９１が参照され、ＴＡＧの検索が行われる。 (W4) if the converted address is designated on the main memory 181, now referenced cache table 191, TAG search is performed.（Ｗ５）：補助メモリ１８２内にコピーがあるか否かが判別される。 (W5): whether a copy is determined in the auxiliary memory 182.（Ｗ６）：キャッシュがヒットし、補助メモリ１８２上のコピーページのアドレスが取得されれば、アドレス変換テーブル１９０が更新され、所定の論理ページアドレスに対する物理アドレスが上記補助メモリ上のアドレスに変更される。 (W6): cache hit, if the address is acquired copy page on the auxiliary memory 182, the address conversion table 190 is updated, a physical address for a given logical page address is changed to an address on the auxiliary memory that.さらにキャッシュのエントリが削除される。 More entries in the cache is deleted.これによってデータの移動が行われ、補助メモリ上のコピーページが実体になる。 This movement of data is performed, the copy page on the auxiliary memory becomes entity.（Ｗ３）：さらに上記アドレスと下位ビットから補助メモリがアクセスされて、所望のデータが更新される。 (W3): further auxiliary memory is accessed from the address and a lower bit, the desired data is updated.（Ｗ７）：キャッシュがミスヒットした場合は、通知ピンがビジー状態となり、外部アクセスを禁止して、メインメモリ１８１から補助メモリ１８２へページデータの転送が行われる。 (W7): If the cache miss hit, notification pin becomes busy state, prohibits external access, the page data from main memory 181 to the auxiliary memory 182 transfer is performed.もし補助メモリ１８２に十分な空き領域がなければ、補助メモリ１８２内の既存のコピーページが破棄されるか、もしくは補助メモリ１８２内の既存データがメインメモリ１８１内に移動転送される。 If there is no sufficient free space in the auxiliary memory 182, or an existing copy page in the auxiliary memory 182 is discarded or existing data in the auxiliary memory 182 is moved forward in the main memory 181.（Ｗ８）：データ転送が完了したか否かが判別される。 (W8): whether the data transfer is completed or not.（Ｗ９）データ転送が完了すれば、アドレス変換テーブル１９０が更新され、所定の論理ページアドレスに対する物理アドレスが上記補助メモリ上の転送先アドレスに変更される。 (W9) if the data transfer is completed, the address conversion table 190 is updated, a physical address for a given logical page address is changed to the destination address on the auxiliary memory.これによってデータの移動が行われ。 This movement of data is performed.その後補助メモリ１８２がアクセスされ所望のデータが更新される。 Thereafter desired data auxiliary memory 182 is accessed is updated.その後通知ピンがレディー状態に変わる。 After that notification pin changes to the ready state.

以上説明したように、本実施形態によれば、たとえば強誘電体メモリに代表されるＮＶＲＡＭと、ＮＡＮＤ型フラッシュメモリに代表される安価な大容量不揮発性メモリを組み合わせ、見かけ上ランダムアクセスが可能で、かつ高速、大容量な不揮発性メモリを実現することができる。 As described above, according to this embodiment, the combination and NVRAM as represented, for example a ferroelectric memory, an inexpensive large-capacity nonvolatile memory typified by a NAND flash memory, can apparently random access , it is possible to realize high-speed, large-capacity nonvolatile memory.また、所望のデータがＮＶＲＡＭにあるか否かの判定にアドレス変換テーブルを用いることで、両メモリ間で必要に応じてデータの移動を可能にし、これによってフラッシュメモリの書き換えに伴うオーバーヘッドを最小化し、高速な動作を実現することが可能である。 Further, by using the address conversion table to determine whether the desired data is in NVRAM, to allow movement of the data as required between both memory, thereby minimizing the overhead associated with rewriting of the flash memory , it is possible to achieve high-speed operation.また、本発明によるメモリをバッテリーバックアップのモバイル機器に採用すれば、待機時のデータ保持に電力消費を必要としないので、バッテリー寿命を大幅に延ばすことができる。 Further, the memory according to the present invention by adopting the mobile device battery backup does not require a power consumption in the data holding standby, it can extend the battery life significantly.またシステム構成が単純になる上、殆どのメモリ部は安価なＮＡＮＤ型フラッシュメモリで置き換えることができるので、総合的なメモリコストも低減できる。 Also on the system configuration becomes simple, since most of the memory unit can be replaced by cheap NAND type flash memory, the overall memory cost can be reduced.

なお、本実施形態においては、第１のメモリたるＮＶＲＡＭには強誘電体メモリを、第２のメモリたるメインメモリにはＮＡＮＤ型フラッシュメモリを例に説明するが、本発明はそれに限定されるものでは無い。 Incidentally, those in the present embodiment, the first ferroelectric memory to the memory serving NVRAM, the second memory serving main memory will be described a NAND type flash memory as an example, the present invention is to be limited thereto not a.たとえば第１のメモリにはその他のＮＶＲＡＭの他、さらには揮発性メモリも使用できる。 For example, the first memory other other NVRAM, and even be used volatile memory.また、第２のメモリにはＮＡＮＤ型以外の各種フラッシュメモリも使用できる。 Also, the second memory can be used various flash memory other than the NAND type.さらには上記不揮発性メモリ以外でも、一般に領域に依存してアクセス性能を劣化させる制約を持った安価な半導体メモリをメインメモリとした記憶装置であれば、本発明を採用することにより、コストと性能の両立において大きな効果を発揮する。 Further in addition to the above non-volatile memory, if the general memory device having a main memory an inexpensive semiconductor memory having a constraint deteriorating access performance depending on the region, by employing the present invention, cost and performance very effective in the balance.

ＮＡＮＤ型フラッシュメモリの内部構成例を示す図である。 Is a diagram illustrating an internal configuration of the NAND type flash memory.強誘電体メモリの構成例を示す回路図である。 It is a circuit diagram showing a configuration example of a ferroelectric memory.記憶装置を構成するフラッシュメモリの概念図を示す図である。 It is a diagram showing a conceptual view of a flash memory configuring the storage device.多種の異なるメモリを用途ごとに使い分けた情報処理システム（コンピュータシステム）の構成例を示すブロック図である。 It is a block diagram showing a configuration example of an information processing system which selectively using varying memory wide for each use (computer system).ＮＡＮＤ型フラッシュメモリの書き換え動作を概念的に示す図である。 It is a diagram conceptually showing a rewrite operation of the NAND type flash memory.本発明に係る記憶装置の第１の実施形態を示す構成図である。 Is a block diagram showing a first embodiment of a storage device according to the present invention.図６のページデータの転送制御回路の内部構成例を示す図である。 Is a diagram illustrating an internal configuration of the transfer control circuit of page data of FIG.補助メモリの管理手法の具体例を示す図である。 It is a diagram showing a specific example of a management technique of an auxiliary memory.補助メモリの第２の管理手法の具体例を示す図である。 It is a diagram showing a specific example of a second management technique of an auxiliary memory.図９の状態からインデックス”０ｘ０１”のノードを先頭に付け替えた例を示す図である。 Is a diagram showing an example in which replaced the top node of the index "0x01" from the state of FIG.本発明に係る記憶装置を第２の実施形態を示す構成図である。 The memory device according to the present invention is a configuration diagram showing a second embodiment.図１１のページデータの転送制御回路の内部構成例を示す図である。 Is a diagram illustrating an internal configuration of the transfer control circuit of page data of FIG. 11.本発明に係る記憶装置を第３の実施形態を示す構成図である。 The memory device according to the present invention is a configuration diagram showing a third embodiment.図１３のページデータの転送制御回路の内部構成例を示す図である。 Is a diagram illustrating an internal configuration of the transfer control circuit of page data of FIG. 13.本発明に係る記憶装置を第４の実施形態を示す構成図である。 The memory device according to the present invention is a configuration diagram showing a fourth embodiment.図１５のページデータの転送制御回路の内部構成例を示す図である。 Is a diagram illustrating an internal configuration of the transfer control circuit of page data of FIG. 15.第４の実施形態における無効領域の回復処理の実行例を説明するための図である。 It is a diagram for explaining an example of execution of recovery processing of the invalid region in the fourth embodiment.第５の実施形態に係る記憶装置を概念的に説明するための図である。 It is a diagram for explaining a storage device according to a fifth embodiment conceptually.本第５の実施形態に係る予備簿ロックの生成例を説明するための図である。 It is a diagram for explaining a generation example of a pre-book lock according to the fifth embodiment.マルチバンク・フラッシュメモリへの応用例を説明するための図である。 It is a diagram for explaining an application example of the multi-bank flash memory.本第５の実施形態に係る記憶装置のさらに具体的な構成例を示す図である。 Is a diagram further showing a specific configuration example of a memory device according to the fifth embodiment.図２１のページデータの転送制御回路の内部構成例を示す図である。 Is a diagram illustrating an internal configuration of the transfer control circuit of page data of FIG. 21.第６の実施形態に係る情報処理システム（コンピュータシステム）の一実施形態を示すブロック図である。 The information processing system according to the sixth embodiment is a block diagram illustrating an embodiment of a (computer system).小容量の強誘電体メモリと半導体装置とを同一パッケージ内に一体化させた構成例を示す図である。 Is a diagram illustrating an example configuration obtained by integrating the ferroelectric memory and a semiconductor device having a small capacity in the same package.本実施形態の半導体記憶装置の内部構成例をより具体的に示す図である。 Is a diagram more specifically illustrating an internal configuration example of the semiconductor memory device of this embodiment.図２５の転送制御回路におけるアドレス変換テーブルおよびキャッシュテーブルの一例を示す図である。 It is a diagram illustrating an example of the address conversion table and the cache table in the transfer control circuit of FIG. 25.読み出しアクセスの場合における半導体記憶装置内でのデータ操作を説明するためのフローチャートである。 Is a flow chart for explaining the data operation in the semiconductor storage device in the case of a read access.書き込みアクセスの場合における半導体記憶装置内でのデータ操作を説明するためのフローチャートである。 Is a flow chart for explaining the data operation in the semiconductor storage device in the case of a write access.

Claims (5)

Translated from Japanese

第１の不揮発性メモリ部と、 A first non-volatile memory unit,上記第１の不揮発性メモリ部よりアクセス速度が高速で記憶容量が小さい第２の不揮発性メモリ部と、 A second non-volatile memory unit access speed than the first non-volatile memory unit storage capacity at high speed is small,記憶装置の仮想アドレスに対応して、データが上記第１の不揮発性メモリ部および上記第２の不揮発性メモリ部のうちのいずれの不揮発性メモリに記憶されるかを管理するためのアドレス変換テーブルと、 Corresponding to the virtual address of the storage device, the data is the first non-volatile memory unit and the second address conversion table for managing either stored in any of the non-volatile memory of the non-volatile memory unit When,読み出しまたは書き換えにおいて、互いにアクセス速度の異なる上記第１の不揮発性メモリ部と上記第２の不揮発性メモリ部間で、適時双方向に記憶データを移動させる機能を含み、当該記憶データの移動に応じて上記アドレス変換テーブルのデータの保存先のアドレスを書き換える制御回路と、を有し、 In reading or rewriting, between different said first non-volatile memory portion and the second non-volatile memory unit access speed to each other, includes a function of moving the stored data in a timely manner bidirectionally, depending on the movement of the memory data and a control circuit for rewriting the destination address of the data of the address conversion table Te,上記第１の不揮発性メモリ部は書き換えに事前消去を必要とする半導体メモリであって、消去単位であるブロック領域はアクセス単位であるページ領域を複数含み、Said first non-volatile memory unit is a semiconductor memory that requires a pre-erase rewritable, block area is erase unit includes a plurality of page areas is access unit,上記第２の不揮発性メモリ部は上記第１の不揮発性メモリ部より書き換え速度が速い半導体メモリであって、It said second non-volatile memory portion is the above first fast semiconductor memory rewriting speed than the nonvolatile memory unit,上記制御回路は、The control circuit,外部から読み出しのために上記第１の不揮発性メモリ部にアクセスされたデータ、または外部から書き換えのために上記第１の不揮発性メモリ部にアクセスされたデータを、アクセス速度が速い側の上記第２の不揮発性メモリ部に移動させるとともに、上記アドレス変換テーブルのデータの保存先のアドレスを書き換え、From outside was accessed to the first non-volatile memory unit for reading data, or the first non-volatile memory unit to access data for the rewriting from the outside, the access speed is high side the first is moved to the non-volatile memory of 2 rewrites the destination address of the data of the address conversion table,上記第２の不揮発性メモリ部に保存されたページデータを上記第１の不揮発性メモリ部に書き戻す際、上記ページデータを、上記第１の不揮発性メモリ部上の消去済み領域に移動させるとともに、上記アドレス変換テーブルのデータの保存先のアドレスを書き換えるWhen writing back the page data stored in said second non-volatile memory unit to the first non-volatile memory portion described above, the page data, is moved to the erased area on the first non-volatile memory unit rewrites the destination address of the data of the address conversion table記憶装置。 Storage device.

上記制御回路は、 The control circuit,上記第２の不揮発性メモリ部に保存されたページデータを上記第１の不揮発性メモリ部に書き戻す際、上記ページデータを、上記第１の不揮発性メモリ部上の元のページ領域とは異なる消去済のページ領域に、ページ単位で独立に移動させるWhen writing backthe page data stored insaid second non-volatile memory unit to thefirst non-volatile memory portion described above,the page data, different from the first non-volatile memory unit on the original page region to erased the page area, to move independently on a page-by-page basis請求項１記載の記憶装置。 Memory device according to claim 1, wherein.

上記制御回路は、The control circuit,上記第１の不揮発性メモリ部から上記第２の不揮発性メモリ部へデータを移動させて、上記アドレス変換テーブルを更新し、上記第１の不揮発性メモリ部上の元の記憶領域を無効化する機能、および上記第２の不揮発性メモリ部から上記第１の不揮発性メモリ部へデータを移動させて、上記アドレス変換テーブルを更新し、上記第２の不揮発性メモリ部上の元の記憶領域を無効化する機能を有するAbove in the first nonvolatile memory unit to move the data into the second non-volatile memory unit, updates the address conversion table, and invalidating the original storage area on the first non-volatile memory unit function, and the in the second nonvolatile memory unit to move the data to the first nonvolatile memory unit, updates the address conversion table, the original storage area on the second non-volatile memory unit It has a function to disable請求項１または２記載の記憶装置。 Memory device according to claim 1 or 2 wherein.

上記第２の不揮発性メモリ部は、強誘電体材料、相変化材料、強磁性材料または磁気抵抗効果材料を記憶素子に用いた不揮発性メモリを含むIt said second non-volatile memory unit includes a ferroelectric material, phase change material, a non-volatile memory using a ferromagnetic material, or magnetoresistance effect material for the memory element請求項１から３のいずれか一に記載の記憶装置。 Memory device as claimed in any one of claims 1 to 3.

上記アドレス変換テーブルは、上記第２の不揮発性メモリ部内に保管されている 請求項１から４のいずれか一に記載の記憶装置。 The address conversion table, storage device according to any one of the four claims 1 stored in the second nonvolatile memory unit.