JPH07219720A - Semiconductor memory device and its control method - Google Patents

Semiconductor memory device and its control method

Info

Publication number
JPH07219720A
JPH07219720A JP26180694A JP26180694A JPH07219720A JP H07219720 A JPH07219720 A JP H07219720A JP 26180694 A JP26180694 A JP 26180694A JP 26180694 A JP26180694 A JP 26180694A JP H07219720 A JPH07219720 A JP H07219720A
Authority
JP
Japan
Prior art keywords
block
data
block address
real
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP26180694A
Other languages
Japanese (ja)
Inventor
Shigeru Sakairi
茂 坂入
Kazuo Takasugi
和夫 高杉
Kazuhiko Omichi
和彦 大道
Hiroyuki Mushiaki
弘行 虫明
Masayuki Nagano
昌幸 長野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maxell Holdings Ltd
Original Assignee
Hitachi Maxell Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Maxell Ltd filed Critical Hitachi Maxell Ltd
Priority to JP26180694A priority Critical patent/JPH07219720A/en
Publication of JPH07219720A publication Critical patent/JPH07219720A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)

Abstract

PURPOSE:To provide a semiconductor memory device whose data processing efficiency is satisfactory and which can be compatible with a hard disk device. CONSTITUTION:The semiconductor memory device where a data storage device 5 is constituted by a non-volatile memory such as flash-type EEPROM and data is accessed from a host computer in a prescribed block unit by logical block address designation is provided with a first table 41 converting a logical block address from the host computer into a real block address on the real memory space of the data storage part 5 and a second table 42 managing the state of data in the real block address in accordance with the real block address.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、例えば従来のコンピュ
ータシステムにおけるハード磁気ディスクと互換性のあ
る半導体ディスクなどの半導体メモリ装置とその制御方
法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a semiconductor memory device such as a semiconductor disk compatible with a hard magnetic disk in a conventional computer system and a control method thereof.

【0002】[0002]

【従来の技術】各種のコンピュータシステムでは、大量
のデータを蓄積、処理するために、従来は磁気ディスク
や光ディスクなどのディスク状の記憶媒体が使用されて
いた。しかし、このディスク状記憶媒体を駆動するドラ
イブ装置は大型でしかも高度に精密な機構が必要であ
り、しかも信頼性に欠けるものである。
2. Description of the Related Art In various computer systems, disk-shaped storage media such as magnetic disks and optical disks have been conventionally used to store and process a large amount of data. However, the drive device for driving this disk-shaped storage medium is large in size, requires a highly precise mechanism, and lacks reliability.

【0003】これに代わるものとして、例えばDRAM
やSRAMなどの半導体メモリを持ちいた固体記憶装置
が検討されている。しかしこれらは高価であり、記憶し
たデータを保持するためには常に電力が必要でそのため
にランニングコストが高くつくという欠点を有してい
る。
As an alternative to this, for example, a DRAM
Solid-state storage devices having a semiconductor memory such as an SRAM and SRAM have been studied. However, they have the drawback that they are expensive, and that they always require electric power to retain the stored data, which results in high running costs.

【0004】この欠点を解消するため、特開平2−29
2798号に記載されているようなフラッシュEEPR
OMシステムが提案されている。
In order to solve this drawback, JP-A-2-29
Flash EEPR as described in 2798
An OM system has been proposed.

【0005】[0005]

【発明が解決しようとする課題】ところがこの提案され
たシステムでは、記憶部のデータエリアに対して先のデ
ータを消去しながら新たにデータを書き込む方法が採用
されているため、データの書き込みが終了するまでに時
間が掛かり、処理効率がよくない。
However, in the proposed system, the method of writing new data while erasing the previous data in the data area of the storage unit is adopted, so that the writing of data is completed. It takes time to do so, and the processing efficiency is not good.

【0006】またデータエリア内には、欠陥データを格
納するための代替エリアと、欠陥データを管理するため
に欠陥マップエリアなどが設けられているため、実質的
に使用できる記憶エリアが制限されることや、データ記
憶部にフラッシュEEPROMを利用していることから
書き込み回数に制限があり外部記憶装置としての寿命に
限界があるなどの欠点を有している。
Further, since the data area is provided with an alternative area for storing defect data and a defect map area for managing the defect data, the usable storage area is substantially limited. In addition, since the flash EEPROM is used for the data storage unit, the number of times of writing is limited and the service life of the external storage device is limited.

【0007】本発明の目的は、このような従来技術の欠
点を解消し、データ処理の効率がよく、しかも書き込み
制限を意識する必要がないため従来のハードディスクと
同様に扱うことが可能な半導体メモリ装置ならびにその
制御方法を提供することにある。
The object of the present invention is to eliminate the drawbacks of the prior art, to improve the efficiency of data processing, and since it is not necessary to be aware of write restrictions, a semiconductor memory that can be handled in the same manner as a conventional hard disk. An object is to provide an apparatus and a control method thereof.

【0008】[0008]

【課題を解決するための手段】前記目的を達成するため
に、第1の発明は、電気的に書き込みが可能で、かつ所
定の単位で電気的に消去が可能な不揮発性メモリからな
るデータ記憶部と、前記データ記憶部に対する制御を行
う制御手段と、接続される上位計算機とデータの入出力
を行う入出力手段とで構成され、一定のブロック単位で
上位計算機から論理ブロックアドレス指定でデータアク
セスが実行される半導体メモリ装置において、前記上位
計算機からアクセス時に指定される論理ブロックアドレ
スを前記データ記憶部の実メモリ空間上の実ブロックア
ドレスに変換する第1のテーブルと、前記実ブロックア
ドレスに対応して、その実ブロックアドレス内のデータ
の状態を管理する第2のテーブルとを備えることを特徴
とするものである。
In order to achieve the above object, the first invention is a data storage comprising a non-volatile memory which is electrically writable and electrically erasable in a predetermined unit. Unit, a control unit for controlling the data storage unit, and an input / output unit for inputting / outputting data to / from a connected host computer. In a semiconductor memory device in which is executed, a first table for converting a logical block address designated at the time of access from the higher-level computer into a real block address in a real memory space of the data storage unit, and the first table corresponding to the real block address And a second table for managing the state of the data in the real block address.

【0009】前記目的を達成するために、第2の発明
は、電気的に書き込みが可能で、かつ所定の単位で電気
的に消去が可能な不揮発性メモリからなるデータ記憶部
と、前記データ記憶部に対する制御を行う制御手段と、
接続される上位計算機とデータの入出力を行う入出力手
段と前記上位計算機からアクセス時に指定される論理ブ
ロックアドレスを前記データ記憶部の実メモリ空間上の
実ブロックアドレスに変換する第1のテーブルと、前記
実ブロックアドレスに対応して、その実ブロックアドレ
ス内のデータの状態を管理する第2のテーブルとから構
成され、一定のブロック単位で上位計算機から論理ブロ
ックアドレス指定でデータアクセスを実行する半導体メ
モリ装置の制御方法において、前記上位計算機によるデ
ータ読み出し処理時には、前記第1のテーブルにより論
理ブロックアドレスを実ブロックアドレスに変換し、変
換した実ブロックから読み出したデータを上位計算機に
転送し、前記上位計算機からのデータ書き込み処理時に
は、前記第2のテーブルよりデータの書き込み可能な空
きブロックを検索し、その空きブロックへデータを書き
込むと共に、データを書き込んだブロックの実ブロック
アドレスを第1のテーブルに書き込むことにより実ブロ
ックアドレスと論理ブロックアドレスの対応ずけを行
い、上記一連のデータ書き込み処理とは独立してデータ
を消去する処理を有することを特徴とするものである。
In order to achieve the above-mentioned object, a second invention is a data storage section comprising a non-volatile memory which is electrically writable and can be electrically erased in a predetermined unit, and the data storage. Control means for controlling the parts,
An input / output unit for inputting / outputting data to / from a connected host computer; and a first table for converting a logical block address designated by the host computer at the time of access to a real block address in a real memory space of the data storage unit. And a second table that manages the state of data in the real block address corresponding to the real block address, and a semiconductor memory that executes data access by specifying a logical block address from a high-order computer in fixed block units. In the control method of the apparatus, during the data read processing by the host computer, the logical block address is converted into a real block address by the first table, the data read from the converted real block is transferred to the host computer, and the host computer is During the data writing process from the By searching for an empty block in which data can be written from the block, writing the data to the empty block, and writing the real block address of the block in which the data is written to the first table, the real block address does not correspond to the logical block address. And a process of erasing data independently of the series of data writing processes described above.

【0010】前記目的を達成するために、第3の発明
は、電気的に書き込みが可能で、かつ所定の単位で電気
的に消去が可能な不揮発性メモリからなるデータ記憶部
と、前記データ記憶部に対する制御を行う制御手段と、
接続される上位計算機とデータの入出力を行う入出力手
段とで構成され、一定のブロック単位で上位計算機から
論理ブロックアドレス指定でデータアクセスが実行され
る半導体メモリ装置において、前記データ記憶部へのデ
ータ書込み時における書込み可能な実ブロックアドレス
を格納しているポインタレジスタと、前記ポインタレジ
スタに対しデータ書込み時における書込み先実ブロック
アドレスを設定するレジスタ操作部とを備えていること
を特徴とするものである。
In order to achieve the above object, a third aspect of the present invention is a data storage unit comprising a non-volatile memory which is electrically writable and electrically erasable in a predetermined unit, and the data storage. Control means for controlling the parts,
In a semiconductor memory device configured by a host computer connected thereto and an input / output unit for inputting / outputting data, the data access is executed from the host computer in a fixed block unit by designating a logical block address. A pointer register that stores a writable real block address at the time of writing data, and a register operation unit that sets a write destination real block address at the time of writing data to the pointer register. Is.

【0011】前記目的を達成するために、第4の発明
は、電気的に書き込みが可能で、かつ所定の単位で電気
的に消去が可能な不揮発性メモリからなるデータ記憶部
と、前記データ記憶部に対する制御を行う制御手段と、
接続される上位計算機とデータの入出力を行う入出力手
段とで構成され、一定のブロック単位で上位計算機から
論理ブロックアドレス指定でデータアクセスが実行され
る半導体メモリ装置において、前記上位計算機からアク
セス時に指定される論理ブロックアドレスを前記データ
記憶部の実メモリ空間上の実ブロックアドレスに変換す
る第1のテーブルと、前記実ブロックアドレスに対応し
て、その実ブロックアドレス内のデータの状態を管理す
る第2のテーブルとを備える半導体メモリ装置におい
て、前記データ記憶部が少なくとも1つのアクセスブロ
ックを含む消去ブロック単位で消去ができる第1の不揮
発性メモリと、書き込み可能回数が前記第1の不揮発性
メモリより大で、アクセスブロックもしくはアクセスブ
ロック以下のバイト単位で書き込み、又は消去可能な第
2の不揮発性メモリで構成され、オペレーティングシス
テムの管理するデータ領域を第1の不揮発性メモリに格
納し、FAT,ディレクトリ等のファイル管理領域を第
2の不揮発性メモリに格納することを特徴とするもので
ある。
In order to achieve the above object, a fourth aspect of the present invention is a data storage unit comprising a non-volatile memory which is electrically writable and electrically erasable in a predetermined unit, and the data storage. Control means for controlling the parts,
In a semiconductor memory device configured by a connected high-order computer and input / output means for inputting / outputting data, in which data access is executed by logical block address designation from the high-order computer in a fixed block unit, when accessing from the high-order computer A first table for converting a designated logical block address into a real block address in the real memory space of the data storage unit; and a first table for managing the state of data in the real block address in correspondence with the real block address. In the semiconductor memory device including the table of No. 2, a first non-volatile memory in which the data storage unit can be erased in erase block units including at least one access block, and the number of writable times is greater than that of the first non-volatile memory. Large, access block or bytes below access block It is composed of a second non-volatile memory that is writable or erasable by a unit, stores the data area managed by the operating system in the first non-volatile memory, and stores the file management area such as FAT and directory in the second non-volatile memory. It is characterized by being stored in a memory.

【0012】前記目的を達成するために、第5の発明
は、電気的に書き込みが可能で、かつ所定の単位で電気
的に消去が可能な不揮発性メモリからなるデータ記憶部
と、前記データ記憶部に対する制御を行う制御手段と、
接続される上位計算機とデータの入出力を行う入出力手
段とで構成され、一定のブロック単位で上位計算機から
論理ブロックアドレス指定でデータアクセスが実行され
る半導体メモリ装置において、前記上位計算機からアク
セス時に指定される論理ブロックアドレスを前記データ
記憶部の実メモリ空間上の実ブロックアドレスに変換す
る第1のテーブルと、前記実ブロックアドレスに対応し
て、その実ブロックアドレス内のデータの状態を管理す
る第2のテーブルと、前記論理ブロックへの書き込み回
数を格納する第3のテーブルを備える半導体メモリ装置
において、前記データ記憶部が少なくとも1つのアクセ
スブロックを含む消去ブロック単位で消去ができる第1
の不揮発性メモリと、書き込み可能回数が前記第1の不
揮発性メモリより大で、アクセスブロックもしくはアク
セスブロック以下のバイト単位で書き込み、又は消去可
能な第2の不揮発性メモリで構成され、前記第3のテー
ブルに格納される論理ブロックアドレスへの書き込み回
数の多いブロックから前記第2の不揮発性メモリに格納
し、前記第2の不揮発性メモリに格納できない残りのブ
ロックを第1不揮発性メモリに格納することを特徴とす
るものである。
In order to achieve the above object, a fifth aspect of the present invention is a data storage section comprising a non-volatile memory which is electrically writable and electrically erasable in a predetermined unit, and the data storage. Control means for controlling the parts,
In a semiconductor memory device configured by a connected high-order computer and input / output means for inputting / outputting data, in which data access is executed by logical block address designation from the high-order computer in a fixed block unit, when accessing from the high-order computer A first table for converting a designated logical block address into a real block address in the real memory space of the data storage unit; and a first table for managing the state of data in the real block address in correspondence with the real block address. In the semiconductor memory device including the table No. 2 and the third table storing the number of times of writing to the logical block, the data storage unit can erase in units of erase blocks including at least one access block.
And a second non-volatile memory having a writable count larger than that of the first non-volatile memory and capable of writing or erasing in an access block or in byte units less than or equal to the access block. Of the logical block addresses stored in the table are stored in the second non-volatile memory from the block having the largest number of writings, and the remaining blocks that cannot be stored in the second non-volatile memory are stored in the first non-volatile memory. It is characterized by that.

【0013】[0013]

【作用】上記態様により本発明の作用を説明すると、第
1のテーブルと第2のテーブルとを設けることにより、
消去された所を検索して直ちにデータを書き込むことが
でき、そのため従来提案されたものよりも迅速にデータ
の書き込みが可能で効率の向上を図かることができ、さ
らに、ポインタレジスタを設け、あらかじめデータ書込
み先の実ブロックアドレスを設定しておくことにより、
より迅速にデータを書込むことも可能となる。
The operation of the present invention will be described with reference to the above-mentioned aspect. By providing the first table and the second table,
The erased area can be searched and the data can be written immediately, so that it is possible to write the data faster than previously proposed and it is possible to improve the efficiency. By setting the real block address of the data write destination,
It is also possible to write data more quickly.

【0014】また、データ記憶部を書き込み可能回数の
異なる2つの不揮発性メモリで構成し、書き込み頻度の
多いセクタを書き込み可能回数が大である不揮発性メモ
リへ格納するといった構成により、フラッシュメモリ等
の書き換え回数の制限のあるメモリ素子を用いても大容
量で、しかも装置寿命の長いファイル装置を実現可能と
なるといった利点を有している。
Further, the data storage unit is composed of two non-volatile memories having different writable times, and a sector having a high writing frequency is stored in the non-volatile memory having a large writable number. It has an advantage that a file device having a large capacity and a long device life can be realized even if a memory element having a limited number of times of rewriting is used.

【0015】また、ポインタレジスタに設定されるデー
タ書込み先の実ブロックアドレスを任意に設定可能な構
成にすることにより、特定の実ブロックアドレスに対す
る書込みの集中を避けることができ装置寿命を延ばすこ
とが可能となるといった利点を有している。
Further, by making it possible to arbitrarily set the real block address of the data write destination set in the pointer register, it is possible to avoid concentration of writing to a specific real block address and prolong the life of the device. It has the advantage of being possible.

【0016】[0016]

【実施例】つぎに本発明の実施例を図とともに説明す
る。図1は第1実施例を説明するための図である。
Embodiments of the present invention will now be described with reference to the drawings. FIG. 1 is a diagram for explaining the first embodiment.

【0017】半導体ディスク1は、フラッシュメモリへ
のリード/ライトおよび全体の制御を行うマイコン2、
上位計算機とのインターフェースプロトコルを実現する
I/Fコントローラ3、作業用のワークメモリ4、複数
のフラッシュメモリ(フラッシュメモリアレイ)からな
るデータ記憶部5、データ記憶部5とのインターフェー
スを実行するメモリコントローラ6、上位計算機とのア
クセスデータを一時記憶するバッファメモリ7、前記各
部を接続するアドレスバス111、データバス112、
制御信号バス113で主に構成されている。
The semiconductor disk 1 is a microcomputer 2 for controlling read / write to the flash memory and overall control.
An I / F controller 3 that realizes an interface protocol with a host computer, a work memory 4 for work, a data storage unit 5 including a plurality of flash memories (flash memory arrays), and a memory controller that executes an interface with the data storage unit 5. 6, a buffer memory 7 for temporarily storing access data with the host computer, an address bus 111 for connecting the above-mentioned units, a data bus 112,
The control signal bus 113 is mainly configured.

【0018】そして前記マイコン2、I/Fコントロー
ラ3、ワークメモリ4、メモリコントローラ6、バッフ
ァメモリ7はアドレスバス111、データバス112、
制御信号バス113で接続されている。データ記憶部5
とメモリコントローラ6はアドレスバス121、データ
バス122、制御信号バス123で接続されている。そ
してアドレスバス101、データバス102、制御信号
バス103により上位計算機(図示せず)と接続されて
いる。
The microcomputer 2, the I / F controller 3, the work memory 4, the memory controller 6, and the buffer memory 7 include an address bus 111, a data bus 112,
They are connected by the control signal bus 113. Data storage unit 5
The memory controller 6 is connected to the memory controller 6 via an address bus 121, a data bus 122, and a control signal bus 123. An address bus 101, a data bus 102, and a control signal bus 103 are connected to a host computer (not shown).

【0019】ここで、アドレスバス101と111およ
び121、データバス102と112および122、制
御信号バス103と113および123とは、必ずしも
対応するものではない。また、図には示されていないが
本半導体ディスク1を動作させるための電力は、上位計
算機から半導体ディスク1の前記各構成部へ供給される
ものである。
Here, the address buses 101 and 111 and 121, the data buses 102 and 112 and 122, and the control signal buses 103, 113 and 123 do not necessarily correspond. Although not shown in the figure, electric power for operating the semiconductor disk 1 is supplied from the host computer to each of the components of the semiconductor disk 1.

【0020】前記ワークメモリ4は上位計算機からアク
セス時に指定される論理ブロックアドレスをデータ記憶
部5のフラッシュメモリ群におけるメモリ空間上の実際
のアドレスである実ブロックアドレスに変換する第1の
テーブル41と、その実ブロックアドレスに対応するフ
ラッシュメモリのデータ領域を管理する第2のテーブル
42とを有している。
The work memory 4 has a first table 41 for converting a logical block address designated by the host computer at the time of access into a real block address which is an actual address in the memory space in the flash memory group of the data storage unit 5. , And a second table 42 for managing the data area of the flash memory corresponding to the real block address.

【0021】I/Fコントローラ3は上位計算機とのア
クセスを実現するために、実行する処理を指定するため
のコマンドレジスタ31、データアクセスするための論
理アドレスを設定するアドレスレジスタ32、データの
書込み/読出しを行うためのデータレジスタ33、処理
の実行結果を上位計算機へ知らせるためのステータスレ
ジスタ34を備え、上位計算機と半導体ディスクはこれ
らレジスタ群を介して情報の入出力を実行する。
The I / F controller 3 has a command register 31 for designating a process to be executed, an address register 32 for setting a logical address for data access, and a data write / write function for realizing access to a host computer. A data register 33 for reading data and a status register 34 for notifying the execution result of the processing to the host computer are provided. The host computer and the semiconductor disk execute input / output of information via these register groups.

【0022】前記第1のテーブル41と第2のテーブル
42の構成について説明する。半導体ディスク1はハー
ドティスクと同様に、ある一定のブロック単位でデータ
アクセスされるものであり、上位計算機から論理ブロッ
クアドレスとして任意のデータ領域が指定される。この
とき1ブロックのバイト単位は任意であるが、2nバイ
トが望ましく、ここでは1ブロックが512バイトで構
成されている場合として説明する。
The structure of the first table 41 and the second table 42 will be described. Like the hard disk, the semiconductor disk 1 is accessed in a certain fixed block unit, and an arbitrary data area is designated as a logical block address by the host computer. At this time, the byte unit of one block is arbitrary, but 2 n bytes are desirable. Here, a case where one block is composed of 512 bytes will be described.

【0023】第1のテーブル41の構成を図2とともに
説明する。第1のテーブル41は前述のように、上位計
算機からデータアクセスのために指定される論理ブロッ
クアドレスを、複数のフラッシュメモリから構成される
データ記憶部5のメモリ空間上の実際のアドレスである
実ブロックアドレスに変換するためのものである。同図
において、論理ブロックアドレス空間は、論理ブロック
アドレス0001h〜FFFFhにマッピングされてい
るとする。また同様に、実ブロックアドレス空間も実ブ
ロックアドレス0001h〜FFFFhにマッピングさ
れているとする。ここで例えば、上位計算機からデータ
読出し先として論理ブロックアドレス0030hが指定
された場合、第1のテーブル41により論理ブロックア
ドレス0030hに対応する実ブロックアドレス008
8hが参照される。これは、第1のテーブル41のアド
レス0030hを読み出し、このアドレスに格納されて
いるデータが論理ブロックアドレス0030hに対応す
る実ブロックアドレス0088hを示すデータであるこ
とから、対応するデータAが実ブロックアドレス008
8hから読出される。このように、第1のテーブル41
は論理ブロックアドレスと実際の物理アドレスである実
ブロックアドレスとの対応を示すものであり、両アドレ
スは第1のテーブル41により1対1に対応ずけられ
る。
The structure of the first table 41 will be described with reference to FIG. In the first table 41, as described above, the logical block address designated by the host computer for data access is the actual address in the memory space of the data storage unit 5 composed of a plurality of flash memories. It is for converting to a block address. In the figure, it is assumed that the logical block address space is mapped to the logical block addresses 0001h to FFFFh. Similarly, it is assumed that the real block address space is also mapped to the real block addresses 0001h to FFFFh. Here, for example, when the logical block address 0030h is designated as the data read destination from the host computer, the real block address 008 corresponding to the logical block address 0030h is specified by the first table 41.
8h is referred to. This is because the address 0030h of the first table 41 is read and the data stored at this address is the data indicating the real block address 0088h corresponding to the logical block address 0030h. Therefore, the corresponding data A is the real block address. 008
It is read from 8h. Thus, the first table 41
Shows the correspondence between the logical block address and the real block address which is the actual physical address, and both addresses are made to correspond one-to-one by the first table 41.

【0024】このように第1のテーブル41を介するこ
とにより、論理ブロックアドレスと実ブロックアドレス
のアドレス値が常に一致している必要がなくなるので、
データ記憶部5のメモリ空間を有効に使用することが可
能となる。
By thus passing through the first table 41, it is not necessary that the address values of the logical block address and the real block address always match.
It is possible to effectively use the memory space of the data storage unit 5.

【0025】また、第1のテーブル41のデータは半導
体ディスク1への書き込み時に生成されアドレスの対応
づけが行なわれるため、データの書込みのない論理ブロ
ックアドレスについては、例えば論理ブロックアドレス
FFFFhのように、第1のテーブル41の所定の領域
の値が0000hとなり、実ブロックアドレス空間上に
対応するデータが無いことを示している。このような論
理ブロックアドレスへの読出しにつていは、ALL0を
読出しデータとして上位計算機に転送すればよい。
Further, since the data of the first table 41 is generated at the time of writing to the semiconductor disk 1 and the addresses are associated with each other, a logical block address in which no data is written is, for example, the logical block address FFFFh. , The value of the predetermined area of the first table 41 becomes 0000h, indicating that there is no corresponding data in the real block address space. For reading to such a logical block address, ALL0 may be transferred to the host computer as read data.

【0026】図2の例では、論理ブロックアドレス空間
の大きさと実ブロックアドレス空間の大きさが同じであ
る場合について説明したが、論理ブロックアドレス空間
の大きさと実ブロックアドレス空間の大きさは全く同じ
である必要はなく、実ブロックアドレス空間の方が大き
ければ問題はない。
In the example of FIG. 2, the size of the logical block address space and the size of the real block address space are the same, but the size of the logical block address space and the size of the real block address space are exactly the same. Need not be, and there is no problem if the real block address space is larger.

【0027】第2のテーブル42は、実ブロックアドレ
ス空間上の実ブロックアドレス内のデータの状態を管理
するフラグ情報を格納するためのものである。図3にお
いて、実ブロックアドレス0088hに対応する第2の
テーブル42の領域であるアドレス0088hには、こ
の実ブロックアドレス内のデータが有効であることを示
す「有効ブロック」フラグ01hが格納されている。さ
らに、実ブロックアドレス0043hのように実ブロッ
クアドレス内のデータが無効である場合は、「無効ブロ
ック」を示すフラグ02hが格納されている。これは、
以前はこのブロック内のデータが有効であったが、書換
えが行われ、ある論理ブロックアドレスに対応するデー
タが他の実ブロックアドレスにセットされたためこの実
ブロック内のデータは意味を持たないことを示してい
る。また、「無効ブロック」フラグはフラッシュメモリ
における対応ブロックが消去処理の必要性も示してい
る。
The second table 42 is for storing flag information for managing the state of data in the real block address in the real block address space. In FIG. 3, an “effective block” flag 01h indicating that the data in this real block address is valid is stored in an address 0088h, which is an area of the second table 42 corresponding to the real block address 0088h. . Further, when the data in the real block address is invalid like the real block address 0043h, a flag 02h indicating "invalid block" is stored. this is,
Previously, the data in this block was valid, but since it was rewritten and the data corresponding to one logical block address was set to another real block address, the data in this real block has no meaning. Shows. The "invalid block" flag also indicates that the corresponding block in the flash memory needs to be erased.

【0028】データの書込が可能な実ブロックアドレス
については、実ブロックアドレス0007hのように
「空きブロック」であることを示すフラグ00hが格納
されている。また、データの書込が正常にできない実ブ
ロックアドレスについては、実ブロックアドレス012
3hのように「欠陥ブロック」であることを示すフラグ
FFhが格納されている。これらのフラグ情報により、
実ブロックアドレス空間を構成するフラッシュメモリの
状態を管理することができ、フラッシュメモリに対して
データの書込み、消去などの処理を有効に行うことがで
きる。これらのフラグの値は一例であり、フラッシュメ
モリの状態を管理できるように識別されていれば、任意
に設定してもよい。
As for the real block address to which data can be written, a flag 00h indicating that it is an "empty block" like the real block address 0007h is stored. For the real block address where data cannot be written normally, the real block address 012
A flag FFh indicating a “defective block” such as 3h is stored. With these flag information,
It is possible to manage the state of the flash memory that constitutes the real block address space, and it is possible to effectively perform processing such as writing and erasing data in the flash memory. The values of these flags are examples, and may be arbitrarily set as long as they are identified so that the state of the flash memory can be managed.

【0029】前記第1のテーブル41と第2のテーブル
42はデータ記憶部5内のフラッシュメモリをアクセス
するのに必要な情報であるので、不揮発メモリに格納さ
れる。そのメモリとしては、EEPROMやフラッシュ
メモリでもよいが、アクセスがEEPROMやフラッシ
ュメモリに比べて高速であり、バイト単位でデータの書
換えが可能なFRAMが最適である。また、メモリとし
てDRAMまたはSRAMを使用し、電源オフ時に不揮
発メモリへテーブル情報を格納する方法でもよい。ある
いは、電池等でDRAMまたはSRAMをバックアップ
する方法でもよい。
Since the first table 41 and the second table 42 are information necessary for accessing the flash memory in the data storage unit 5, they are stored in the non-volatile memory. As the memory, an EEPROM or a flash memory may be used, but an FRAM is most suitable because the access speed is higher than that of the EEPROM or the flash memory and data can be rewritten in byte units. Alternatively, DRAM or SRAM may be used as the memory and the table information may be stored in the nonvolatile memory when the power is turned off. Alternatively, a method of backing up DRAM or SRAM with a battery or the like may be used.

【0030】次に前記第1実施例(図1)における上位
計算機とのデータアクセス方法の一例を説明する。
Next, an example of a data access method with the host computer in the first embodiment (FIG. 1) will be described.

【0031】まず、データの読出しの場合を説明する。
上位計算機は、アドレスバス101でレジスタを指定
し、データバス102、制御信号バス103により、実
行するデータの読出し処理を示すコマンドコードをコマ
ンドレジスタ31に、読み出すデータが格納される論理
ブロツクアドレスをアドレスレジスタ32に設定する。
そこで、半導体ディスク1内のマイコン2はコマンドレ
ジスタ31内のコマンドコードを判定し、データの読出
しであることを確認して、データの読出し処理を実行す
る。その後、ステータスレジスタ34を介して、実行結
果を上位計算機に報告する。
First, the case of reading data will be described.
The host computer designates a register by the address bus 101, and the data bus 102 and the control signal bus 103 address the command code indicating the read processing of the data to be executed in the command register 31 and the logical block address where the data to be read is stored. Set in register 32.
Therefore, the microcomputer 2 in the semiconductor disk 1 determines the command code in the command register 31, confirms that the data is read, and executes the data read process. After that, the execution result is reported to the host computer via the status register 34.

【0032】これらのデータの読出し処理の一例を示す
のが図4で、同図において、まず、アドレスレジスタ3
2に設定された論理ブロツクアドレスを、第1のテーブ
ル41により、複数のフラッシュメモリで構成されるデ
ータ記憶部5のメモリ空間上の対応する実ブロツクアド
レスに変換する(S1)。
FIG. 4 shows an example of the read processing of these data. In FIG. 4, first, the address register 3
The logical block address set to 2 is converted by the first table 41 into a corresponding real block address in the memory space of the data storage unit 5 composed of a plurality of flash memories (S1).

【0033】次にこの実ブロツクアドレスより、データ
記憶部5内の対応するデータをバッファメモリ7に読み
出し(S2)、データレジスタ33を介して上位計算機
へバッファメモリ7内のデータを転送する(S3)。こ
のような手順でデータの読出しが実行され、読出すブロ
ツクが複数ある場合はこれらの処理が所定回数だけ繰り
返されて読出し処理を終了する(S4)。
Next, the corresponding data in the data storage unit 5 is read from the real block address to the buffer memory 7 (S2), and the data in the buffer memory 7 is transferred to the host computer via the data register 33 (S3). ). When the data is read in this manner and there are a plurality of blocks to be read, these processes are repeated a predetermined number of times to end the read process (S4).

【0034】次にデータの書込みの場合を説明する。上
位計算機は、アドレスバス101でレジスタを指定し、
データバス102、制御信号バス103により、実行す
る書込み処理を示すコマンドコードをコマンドレジスタ
31に、データを書込む論理ブロツクアドレスをアドレ
スレジスタ32に設定する。そこで、マイコン2はコマ
ンドレジスタ31内のコマンドコードを判定し、データ
の書込みであることを確認して、データの書込み処理を
実行する。その後、ステータスレジスタ34を介して、
実行結果を上位計算機に報告する。
Next, the case of writing data will be described. The host computer specifies the register with the address bus 101,
The data bus 102 and the control signal bus 103 set the command code indicating the write processing to be executed in the command register 31 and the logical block address for writing the data in the address register 32. Therefore, the microcomputer 2 determines the command code in the command register 31, confirms that the data is written, and executes the data writing process. After that, via the status register 34,
Report the execution result to the host computer.

【0035】これらの処理の一例を示すのが図5で、同
図において、まず、アドレスレジスタ32に指定された
論理ブロツクアドレスに対して、第1のテーブル41か
ら、データ記憶部5のメモリ空間上の対応する実ブロツ
クアドレスが設定されているかどうかを検索する(S1
1)。第1のテーブル41に実ブロツクアドレスが存在
しない場合は(その論理アドレスには初めての書き込み
である場合)、S14の処理へ移る。
FIG. 5 shows an example of these processes. In FIG. 5, for the logical block address specified in the address register 32, the memory space of the data storage unit 5 is read from the first table 41. Search whether the corresponding real block address above is set (S1)
1). If the actual block address does not exist in the first table 41 (when the logical address is the first write), the process proceeds to S14.

【0036】もしS12で実ブロツクアドレスが存在す
ると判断された場合は、その実ブロツクアドレスに対応
する第2のテーブルの領域に「無効ブロック」のフラグ
を設定する。次にS14で上位計算機からデータレジス
タ33を介して、バッファメモリ7内へデータを転送す
る。
If it is determined in S12 that the real block address exists, the "invalid block" flag is set in the area of the second table corresponding to the real block address. Next, in S14, the data is transferred from the host computer to the buffer memory 7 via the data register 33.

【0037】その後、第2のテーブル42を検索し、デ
ータ記憶部5内で「空きブロック」フラグが設定されて
いる実ブロックアドレスを検索し(S15)、その実ブ
ロックアドレスの示す領域にバッファメモリ内のデータ
を書込み(S16)、データの書込みが正常に実行され
たかどうかを調べる(S17)。
After that, the second table 42 is searched to find the real block address in which the "empty block" flag is set in the data storage unit 5 (S15), and the area indicated by the real block address is stored in the buffer memory. Data is written (S16), and it is checked whether the data writing has been normally executed (S17).

【0038】もし、書込み時に異常が発生し、正常に書
込めなかった場合は、S18でその実ブロックアドレス
に対応する第2のテーブル42の領域に「欠陥ブロッ
ク」のフラグを設定し、今後、その実ブロックアドレス
にアクセスできないようにする。それからまた、第2の
テーブル42を検索し、「空きブロック」である実ブロ
ックアドレスを捜し、データの書込を再実行する。
If an error occurs during writing and normal writing cannot be performed, a flag of "defective block" is set in the area of the second table 42 corresponding to the actual block address in S18, and the actual block address will be changed in the future. Prevent access to block addresses. Then, again, the second table 42 is searched for a real block address that is an "empty block", and data writing is re-executed.

【0039】データの書込みが正常に行われたときは、
S19で書込んだ実ブロックアドレスに対応する第2の
テーブル42の領域に「有効ブロック」のフラグを設定
する。そして、指定された論理ブロックアドレスに対応
する第1のテーブル41の領域にこの実ブロックアドレ
スの値を設定することにより、論理ブロックアドレスと
実ブロックアドレスの対応づけが行われる。このような
手順でデータの書込みが実行され、書込むブロックが複
数ある場合は、これらの処理を所定回数繰り返し実行し
て書込み処理を終了する(S21)。
When the data is normally written,
The "valid block" flag is set in the area of the second table 42 corresponding to the real block address written in S19. Then, by setting the value of the real block address in the area of the first table 41 corresponding to the designated logical block address, the correspondence between the logical block address and the real block address is performed. When the data writing is executed in such a procedure and there are a plurality of blocks to be written, these processes are repeatedly executed a predetermined number of times to end the writing process (S21).

【0040】以上のようにフラッシュメモリに対しての
データの読出し、書込みが実施される。それから、フラ
ッシュメモリの場合は、別に消去処理が必要である。フ
ラッシュメモリでは、ある一定の単位(通常、2nバイ
トであり、書込みできる単位より大きい場合が普通であ
る。)で消去が行われる。この消去単位が書込みブロツ
クより大きい場合の(例えば、消去サイズが4Kバイト
に対して書込みサイズが512バイトの場合)、フラッ
シュメモリのデータ消去手順の一例を図6に示す。
As described above, reading and writing of data with respect to the flash memory is performed. Then, in the case of a flash memory, a separate erasing process is necessary. In a flash memory, erasing is performed in a certain unit (usually 2 n bytes, which is usually larger than the writable unit). When this erase unit is larger than the write block (for example, when the erase size is 4 Kbytes and the write size is 512 bytes), an example of the data erase procedure of the flash memory is shown in FIG.

【0041】消去処理を実行する場合、まず、S31で
第2のテーブル42を検索し、「無効ブロック」フラグ
の領域を捜し、この「無効ブロック」フラグを含む消去
ブロック単位内に「有効ブロック」フラグを持つ領域が
ないかを検索する(S32)。S33の判定において
「有効ブロック」フラグが存在しない場合は、消去ブロ
ックの内容を消去する(S34)。
When executing the erasing process, first, in S31, the second table 42 is searched for the area of the "invalid block" flag, and the "valid block" is included in the erase block unit including the "invalid block" flag. It is searched for an area having a flag (S32). If the "valid block" flag does not exist in the determination of S33, the contents of the erase block are erased (S34).

【0042】S33の判定において「有効ブロック」フ
ラグが存在する場合、S35で「有効ブロック」フラグ
をもつ実ブロックアドレス内のデータをワークメモリ7
に退避させる。この実ブロックアドレスは複数存在する
場合があるので、十分なワークメモリサイズが必要であ
る。それからS36で、対応する消去ブロックの内容を
消去する。その後、ワークメモリ7に退避したデータを
元の対応する実ブロックアドレスに書込み、「有効ブロ
ック」フラグであるデータを元の状態に戻す(S3
7)。この消去操作の実行後、消去処理の対象である
「無効ブロック」フラグであった実ブロックアドレスに
対応する第2のテーブル42の領域に「空きブロック」
フラグを設定する(S38)。このような手順で消去処
理が実行される。
If the "valid block" flag is present in the determination in S33, the data in the real block address having the "valid block" flag in S35 is stored in the work memory 7.
Evacuate to. Since there may be a plurality of real block addresses, a sufficient work memory size is required. Then, in S36, the contents of the corresponding erase block are erased. After that, the data saved in the work memory 7 is written to the original corresponding real block address, and the data which is the "valid block" flag is returned to the original state (S3).
7). After execution of this erase operation, an "empty block" is set in the area of the second table 42 corresponding to the real block address that was the "invalid block" flag that is the target of the erase process.
A flag is set (S38). The erasing process is executed in such a procedure.

【0043】この消去処理の場合、ワークメモリ7に退
避したデータを元の実ブロックアドレスに戻さず、他の
実ブロックアドレスに書込んでもよい。この処理の一例
を図7に示す。
In the case of this erasing process, the data saved in the work memory 7 may be written in another real block address instead of being returned to the original real block address. An example of this processing is shown in FIG.

【0044】同図においてS41〜S45の処理は、前
記図6のS31〜S35と同一の内容であるため、説明
を省略する。S46において、第2のテーブル42より
消去操作対象のブロック以外のところから「空きブロッ
ク」フラグである実ブロックアドレスを検索し、その実
ブロックアドレスの領域へワークメモリ7に退避したデ
ータを書込む(S47)。それから、データ退避を行っ
た実ブロックアドレスを第1のテーブル41より検索
し、その値を退避データの書込みを行った実ブロックア
ドレス値に変更する(S48)。
In the figure, the processes of S41 to S45 have the same contents as S31 to S35 of FIG. In S46, the real table address that is the "empty block" flag is searched from the second table 42 other than the erase operation target block, and the data saved in the work memory 7 is written in the area of the real block address (S47). ). Then, the real block address for which the data has been saved is retrieved from the first table 41, and that value is changed to the real block address value for which the saved data has been written (S48).

【0045】そして書込んだ実ブロックアドレスに対応
する第2のテーブル42の領域に「有効ブロック」フラ
グを設定して(S49)、「有効ブロック」フラグであ
るデータを保存する。次に消去ブロック単位で消去操作
を行い(S50)、S51で消去ブロック範囲内の全て
の実ブロックアドレスに対応する第2のテーブル42の
領域に「空きブロック」フラグを設定する。このような
手順で、消去処理が実行される。
Then, the "valid block" flag is set in the area of the second table 42 corresponding to the written real block address (S49), and the data which is the "valid block" flag is stored. Next, an erase operation is performed in erase block units (S50), and in S51, an "empty block" flag is set in the area of the second table 42 corresponding to all real block addresses in the erase block range. The erasing process is executed in such a procedure.

【0046】図7における消去処理の方法は、図6と比
較し「有効ブロック」であるデータを他の「空きブロッ
ク」へ移動することから、処理の効率化が図られ高速に
消去処理を実行可能であるといった効果がある。
In the erasing processing method in FIG. 7, the data which is the “valid block” is moved to another “empty block” as compared with FIG. 6, so that the processing efficiency is improved and the erasing processing is executed at high speed. There is an effect that it is possible.

【0047】次に消去単位が書込みブロック単位と等し
い場合(例えば、消去サイズ512バイトで、書込みサ
イズも512バイトの場合)での、フラッシュメモリの
データ消去手順を図8とともに説明する。
Next, the data erasing procedure of the flash memory when the erase unit is equal to the write block unit (for example, the erase size is 512 bytes and the write size is 512 bytes) will be described with reference to FIG.

【0048】この場合は、他のブロックの状態を気にす
る必要がないので、消去処理を実行するには、まず、S
61で第2のテーブル42を検索し、「無効ブロック」
フラグの領域を捜す。そしてS62でこの「無効ブロッ
ク」フラグに対応する実ブロックアドレスの内容を消去
する。その後、S63でこの消去した実ブロックアドレ
スに対応する第2のテーブル42の領域に「空きブロッ
ク」フラグを設定する。このような手順で、消去処理が
実行される。
In this case, since it is not necessary to care about the states of other blocks, first, to execute the erasing process, S
The second table 42 is searched with 61, and “invalid block” is searched.
Search for flag areas. Then, in S62, the contents of the real block address corresponding to the "invalid block" flag are erased. Then, in S63, the "empty block" flag is set in the area of the second table 42 corresponding to the erased real block address. The erasing process is executed in such a procedure.

【0049】消去単位が書込みブロック単位より小さい
場合、(例えば、消去サイズ512バイトで、書込みサ
イズが1024バイトの場合)は、前述の消去単位が書
込みブロック単位と等しい場合と同じ処理手順でよく
(図8参照)、書込みサイズに相当する複数の消去ブロ
ックに対してそれぞれ消去処理を行えばよい。
When the erase unit is smaller than the write block unit (for example, the erase size is 512 bytes and the write size is 1024 bytes), the same processing procedure as that when the erase unit is equal to the write block unit may be used ( (See FIG. 8), erasing processing may be performed on each of a plurality of erase blocks corresponding to the write size.

【0050】これら図6〜図8のような消去処理は、デ
ータの書込みに呼応させて実行してもよいが、データの
書込み処理を速く実行するため、データの書込み処理と
は切り放して行い上位計算機からのアクセスに対する処
理が発生しないコマンド待ちの状態の時に実行するのが
よい。
The erasing process as shown in FIGS. 6 to 8 may be executed in response to the writing of data. However, in order to execute the writing process of the data quickly, it is separated from the writing process of the data. It is better to execute it while waiting for a command where processing for access from the computer does not occur.

【0051】また、消去処理をデータの書込みや読出し
と平行して実行できるのであれば、通常のアクセス処理
の裏作業として消去処理を実行できるため、装置内部で
の消去処理が書込みや読出しの処理時間に影響を与える
ことはない。
Further, if the erasing process can be executed in parallel with the writing and reading of data, the erasing process can be executed as a work behind the normal access process, so that the erasing process inside the device is the writing and reading process. It does not affect time.

【0052】次に本発明の第2実施例について図9とと
もに説明する。本実施例の場合、フラッシュメモリに対
するアクセス制御を行うメモリコントローラ6の内部に
ポインタレジスタ9とポインタレジスタ9を制御するた
めのレジスタ操作部8が設けられている例であり、レジ
スタ操作部8は、ハードウェアもしくはソフトウェアの
どちらかにより実現するものとする。
Next, a second embodiment of the present invention will be described with reference to FIG. The present embodiment is an example in which the pointer register 9 and the register operating unit 8 for controlling the pointer register 9 are provided inside the memory controller 6 that controls access to the flash memory. It shall be realized by either hardware or software.

【0053】ポインタレジスタ9は、上位計算機からの
データ書込み命令時において、上位計算機から転送され
たデータを格納するためにフラッシュメモリ内の書込み
可能な状態にある実アドレスを常にポイントものであ
る。レジスタ操作部8は、データの書込みが実行される
毎に次のデータの書込みに対してのポインタレジスタ9
に対しての更新操作を実行する。
The pointer register 9 always points to a writable real address in the flash memory in order to store the data transferred from the host computer when a data write command is issued from the host computer. The register operating unit 8 is a pointer register 9 for writing the next data every time data writing is executed.
Perform an update operation for.

【0054】なお、上記説明ではフラッシュメモリに対
するアクセス制御を行うメモリコントローラ6の内部に
ポインタレジスタ9とレジスタ操作部8が設けられてい
る場合について説明したが、ポインタレジスタ9をワー
クメモリ4に設定し、レジスタ操作部8をマイコン2に
てソフトウェアにて実現する等が考えられ、上記の実施
例に限られるものではない。
In the above description, the case where the pointer register 9 and the register operating unit 8 are provided inside the memory controller 6 for controlling access to the flash memory has been described. However, the pointer register 9 is set in the work memory 4. It is conceivable that the register operating unit 8 is realized by software in the microcomputer 2, and the present invention is not limited to the above embodiment.

【0055】図16は、フラッシュメモリのブロック構
成例を示す図である。フラッシュメモリは、消去単位と
なる幾つかの消去ブロックに分割され、各消去ブロック
は幾つかの読出し/書込みの単位となるアクセスブロッ
クに分割される。フラッシュメモリでは、読出しと書込
みはアクセスブロックを1単位として実行することがで
きるが、消去処理は消去ブロックを1単位として消去す
るか、あるいはチップ全体を一括消去しなければならな
い。また、一度書込んだアクセスブロックは、そのブロ
ックを消去しない限り新たな書込みはできない。この例
では、フラッシュメモリを10の消去ブロックに分割
し、さらに各消去ブロックを8のアクセスブロックに分
割している。
FIG. 16 is a diagram showing a block configuration example of a flash memory. The flash memory is divided into some erase blocks as erase units, and each erase block is divided into some access blocks as read / write units. In the flash memory, reading and writing can be executed in units of access blocks, but in erasing processing, erasing must be performed in units of erase blocks, or the entire chip must be erased at once. Further, an access block once written cannot be newly written unless the block is erased. In this example, the flash memory is divided into 10 erase blocks, and each erase block is further divided into 8 access blocks.

【0056】図10に本実施例の半導体ディスク装置に
対するデータ書込み処理手順を示す。半導体ディスク装
置は、S71で上位計算機からの受信データをバッファ
メモリに転送した後、S72でバッファメモリに格納さ
れている受信データをポインタレジスタが示す実ブロッ
クアドレスへブロック単位での書込みを実行する。S7
3でこの書込み処理が正常に終了したかどうか判断さ
れ、処理が正常に終了しなかった場合、S74で書込み
対象となったブロックは欠陥ブロックと判断し、ブロッ
ク情報が格納されている第2のテーブル内の指定ブロッ
クに対応するデータを欠陥領域を示すコードに書換え
る。これにより、以後このブロックは欠陥領域とされア
クセス対象から除外される。この操作後、ポインタレジ
スタの更新処理を行い(S75)、再びS72に戻り他
のブロックに対しての書込み処理を実行する。尚、S7
5におけるポインタレジスタの更新処理については後述
する。一方、S73でブロックに対する書込み処理が正
常に終了したと判定された場合、S76でデータの書込
みを実行したフラッシュメモリアレイ内の実ブロックア
ドレスと上位計算機から書込み指定された論理ブロック
アドレスとをリンクさせるために、第1のテーブルに対
して指定された論理ブロックアドレスに対応する領域に
実ブロックアドレス値の書込みを行う。
FIG. 10 shows a data write processing procedure for the semiconductor disk device of this embodiment. The semiconductor disk device transfers the received data from the host computer to the buffer memory in S71, and then writes the received data stored in the buffer memory to the real block address indicated by the pointer register in block units in S72. S7
It is determined in 3 whether or not this writing process is completed normally, and if the process is not completed normally, it is determined in S74 that the block to be written is a defective block and the block information is stored in the second block. The data corresponding to the designated block in the table is rewritten to the code indicating the defective area. As a result, this block is subsequently regarded as a defective area and excluded from access targets. After this operation, the pointer register is updated (S75), and the process returns to S72 to execute the write process to another block. Incidentally, S7
The updating process of the pointer register in 5 will be described later. On the other hand, if it is determined in S73 that the writing process to the block has been completed normally, the actual block address in the flash memory array in which the data writing was executed and the logical block address designated to be written by the host computer are linked in S76. Therefore, the actual block address value is written in the area corresponding to the logical block address specified in the first table.

【0057】次にS77で、書込みを行ったブロックに
対応する第2のテーブル情報を消去済み「空きブロッ
ク」から「有効ブロック」を示すコードに更新し、S7
8にて書換え以前のデータが格納されたブロツクアドレ
スに対応する第2のテーブル情報を「有効ブロック」か
ら「無効ブロック」(消去要求)を示すコードに更新す
る。次にS79で、ポインタレジスタの更新処理を行
い、アクセスの最小単位である1ブロックの書込み処理
を終了する。
Next, in S77, the second table information corresponding to the written block is updated from the erased "empty block" to a code indicating "valid block", and S7
In step 8, the second table information corresponding to the block address in which the data before rewriting is stored is updated from "valid block" to a code indicating "invalid block" (erase request). Next, in S79, the pointer register is updated, and the write processing for one block, which is the minimum unit of access, is completed.

【0058】以上の処理を上位計算機から指定された書
込みブロック回数分だけ繰り返して実行することによ
り、データ書込み処理を終了する(S80)。書込み処
理にて設定されたデータ無効ブロック領域は、消去処理
中に第2のテーブルを参照することにより摘出され、消
去を実行することにより書込み可能な空きブロックとな
る。
By repeating the above processing for the number of write blocks designated by the host computer, the data write processing is completed (S80). The data invalid block area set in the writing process is extracted by referring to the second table during the erasing process, and becomes a writable empty block by executing the erasing.

【0059】この図10に示す処理手順は、ポインタレ
ジスタの更新処理を一連の処理中にて実行しているが、
流れと平行して処理することも可能である。また、ポイ
ンタレジスタを複数用意し、そのときのデータ書込み先
のアドレスだけでなく次のデータ書込み先アドレスを設
定することもできる。
In the processing procedure shown in FIG. 10, the pointer register update processing is executed during a series of processing.
It is also possible to process in parallel with the flow. It is also possible to prepare a plurality of pointer registers and set not only the data write destination address at that time but also the next data write destination address.

【0060】図11にポインタレジスタ更新処理の詳細
フローを示す。最初にS81でポインタレジスタをイン
クリメントし、1ブロックアドレス分だけポインタを移
動させる。S82で、この移動によりポインタ値がフラ
ッシュメモリアレイがマッピングされた実メモリ空間の
範囲内かどうか判断され、ポインタ値が範囲外であれば
S83でポインタ値を実メモリ空間の先頭アドレスにす
ることにより、サイクリックにポインタが実メモリ空間
を指し示すものとする。
FIG. 11 shows a detailed flow of the pointer register updating process. First, in S81, the pointer register is incremented to move the pointer by one block address. In S82, it is determined whether the pointer value is within the range of the real memory space to which the flash memory array is mapped by this movement. If the pointer value is out of the range, the pointer value is set to the start address of the real memory space in S83. , It is assumed that the pointer cyclically points to the real memory space.

【0061】次にS84で、ポインタレジスタの示すブ
ロックの状態を第2のテーブルから読出し、S85でそ
のブロックが消去済みでデータ書込み可能な領域である
かどうかを判断する。データ書込み可能な領域以外であ
った場合、この動作を繰り返し実行することで、ポイン
タレジスタに以前指し示していたブロックアドレスの次
の空きブロックアドレスをセットすることを可能とす
る。上記S81〜S85のポインタレジスタ更新処理
は、レジスタ操作部8にてソフトウェアまたはハードウ
ェアにて実行されるものである。
Next, in step S84, the state of the block indicated by the pointer register is read from the second table, and in step S85, it is determined whether the block is an erased data writable area. If the area is other than the data writable area, this operation is repeatedly executed to set the empty block address next to the previously specified block address in the pointer register. The pointer register updating process of S81 to S85 is executed by the register operating unit 8 by software or hardware.

【0062】上記のようにデータの書込み先を示すポイ
ンタレジスタ9をレジスタ操作部8にてデータ記憶部5
全体に対して均等に書込みが実行されるよう操作するこ
とにより、データ記憶部5であるフラッシュメモリアレ
イの特定領域(FATやディレクトリなどのディスク管
理情報が格納された領域)に対してアクセスが集中的に
起こることを防止し、実メモリ空間全体に対して均一に
データの書込みを実行することが可能となることから、
半導体ディスク装置の寿命を延ばすことができる。
As described above, the pointer register 9 indicating the data write destination is used by the register operating unit 8 in the data storage unit 5.
By operating so that writing is executed evenly to the entire area, access is concentrated on a specific area (area where disk management information such as FAT and directory is stored) of the flash memory array that is the data storage unit 5. Since it is possible to write data uniformly to the entire real memory space,
The life of the semiconductor disk device can be extended.

【0063】図12にデータ読出し時の処理手順を示
す。ポインタレジスタはデータの書込みのみに利用され
るため、データ読出し処理内ではポインタレジスタに対
しての操作は実行されない。S91で読出し処理では上
位計算機から指定された論理ブロックアドレスに対応す
る実ブロックアドレスを第1のテーブルより読出し、S
92でこの実ブロックアドレスのフラッシュメモリアレ
イよりデータブロックをバッファメモリへ読出し、それ
を上位計算機へ転送する(S93)。この処理を上位計
算機から指定されたブロック回数分だけ繰り返すことに
より、データの読出し処理を終了する(S94)。
FIG. 12 shows a processing procedure for reading data. Since the pointer register is used only for writing data, the operation for the pointer register is not executed in the data reading process. In the read processing in S91, the real block address corresponding to the logical block address designated by the host computer is read from the first table, and S
At 92, the data block is read from the flash memory array of this real block address to the buffer memory and transferred to the host computer (S93). By repeating this process for the number of blocks designated by the host computer, the data reading process is completed (S94).

【0064】次に、本実施例の半導体デイスクにおける
データ消去処理方法のタイミングについて説明する。具
体的な消去処理の内容は、第1実施例の場合と同様であ
る。まず、半導体デイスクからのデータ読出し時におけ
る消去処理手順を図13とともに説明する。S101に
おいて上位計算機から送られてきた論理ブロックアドレ
スを、ワークメモリの第1のテーブルにおいてデータ記
憶部の実ブロックアドレスに変換する。
Next, the timing of the data erasing processing method in the semiconductor disk of this embodiment will be described. The specific contents of the erasing process are the same as in the case of the first embodiment. First, the erasing processing procedure at the time of reading data from the semiconductor disk will be described with reference to FIG. In S101, the logical block address sent from the host computer is converted into the real block address of the data storage unit in the first table of the work memory.

【0065】次いでS102、103において、読出し
処理において読出し対象となる実ブロックが格納されて
いるチップ以外の、アクセスを実行しないチップにおい
て消去すべき消去ブロックが存在するかどうかを判断す
る。消去ブロックが存在する場合は、そのブロックに対
して消去処理の起動を行う(S104)。存在しない場
合には消去処理をしないで、S105において実ブロッ
クアドレス内のデータを上位計算機に転送する。
Next, in steps S102 and 103, it is determined whether or not there is an erase block to be erased in a chip that does not execute access, other than the chip in which the real block to be read in the read process is stored. If there is an erase block, the erase process is activated for that block (S104). If it does not exist, the erasing process is not performed and the data in the real block address is transferred to the host computer in S105.

【0066】そしてS106において読出し処理毎の消
去処理の実行/未実行を判定し、S104にて消去処理
を起動していたならばS107で消去処理の検証を行っ
て、読出し処理を終了する。未実行の場合は、そのまま
読出し処理を終了する。
Then, in S106, it is determined whether or not the erase process has been executed for each read process, and if the erase process has been activated in S104, the erase process is verified in S107, and the read process is terminated. If it has not been executed, the read process is terminated as it is.

【0067】このように、実ブロックアドレスからのデ
ータ読出し前に消去処理を起動し、データ読出しと平行
して消去処理を行い、データの読出し終了後に消去処理
が正常に終了したかの検証を行うことで、データ読出し
処理の裏作業として消去処理を実行するとこができる。
In this way, the erasing process is started before reading the data from the real block address, the erasing process is performed in parallel with the data reading, and it is verified whether the erasing process is normally completed after the data reading is completed. Therefore, it is possible to execute the erasing process as the back work of the data reading process.

【0068】次に図14を用いて図13のS107の消
去検証処理の手順を説明する。S111において実行さ
れていた消去処理の終了を待つ。消去処理終了後、S1
12で処理が正常に終了したかどうかを調べ、正常終
了、つまり実ブロックが完全に消去された場合はS11
3において第2のテーブルの消去した実ブロック情報を
「空きブロック」(消去済)に設定する。次に異常終
了、つまり実ブロックが完全に消去されなかった場合は
S114において第2のテーブルの実ブロック情報を
「欠陥ブロック」にし、以後この実ブロックへのアクセ
スを禁止する。
Next, the procedure of the erase verification process in S107 of FIG. 13 will be described with reference to FIG. It waits for the end of the erasing process executed in S111. After the erasing process, S1
In step 12, it is checked whether the processing has ended normally.
In 3, the erased real block information of the second table is set to “empty block” (erased). Next, if the processing ends abnormally, that is, if the real block is not completely erased, the real block information in the second table is set to "defective block" in S114, and access to this real block is prohibited thereafter.

【0069】次に半導体ディスクへのデータの書込み時
における消去処理手順を図15とともに説明する。まず
S131において、上位計算機がアクセスする論理ブロ
ックアドレスが以前にアクセスされたかどうか、つまり
始めて書込み処理を行う論理ブロックアドレスかもしく
は2回目以上の書込み処理かどうかを、ワークメモリの
第1のテーブルでチェックする。具体的には、第1のテ
ーブル内に実ブロックアドレス値が存在するかどうかを
チェックする。実ブロックアドレス値が存在すれば、前
回アクセスされた実ブロックアドレス内のデータは無効
となり、実ブロック消去可能となるため、S132にお
いて第2のテーブルの実ブロック情報を「無効ブロッ
ク」とする。
Next, the erasing processing procedure when writing data to the semiconductor disk will be described with reference to FIG. First, in S131, it is checked in the first table of the work memory whether the logical block address accessed by the host computer has been previously accessed, that is, whether it is the logical block address for the first write processing or the second or more write processing. To do. Specifically, it is checked whether or not the real block address value exists in the first table. If the real block address value exists, the data in the real block address accessed last time becomes invalid and the real block can be erased. Therefore, in S132, the real block information of the second table is set to “invalid block”.

【0070】ついでS133において、上位計算機から
送られてくるデータをまずバッファメモリに転送する。
次にS134で消去を要求している実ブロックの調査を
行い、S135でアクセスしないチップの中で消去すべ
き実ブロックが存在するかどうかをチェックする。消去
すべき実ブロックが存在する場合、S136で消去処理
を行う。存在しない場合、消去処理は必要でない。
Next, in S133, the data sent from the host computer is first transferred to the buffer memory.
Next, in S134, the real block which is requested to be erased is investigated, and in S135, it is checked whether or not there is a real block to be erased among the chips which are not accessed. If there is a real block to be erased, erase processing is performed in S136. If not present, no erasing process is needed.

【0071】ついでS137において、ポインタレジス
タが示す実ブロックアドレスへバッファメモリのデータ
を転送する。そしてS138で実ブロックの書込が正常
に終了したかどうかをチェックする。ここで書込みエラ
ーが発生した場合にはS139でエラー処理を行い、書
込みをリトライする。尚、このエラー処理の内容は、図
10におけるS74,S75に対応するものである。
Then, in S137, the data in the buffer memory is transferred to the real block address indicated by the pointer register. Then, in S138, it is checked whether or not the writing of the actual block has been completed normally. If a write error occurs here, error processing is performed in S139 and writing is retried. The contents of this error processing correspond to S74 and S75 in FIG.

【0072】書込が正常に終了した場合は、S140に
おいて書込んだ実ブロックの情報を第2のテーブルにお
いて「有効ブロック」とする。つぎにS141でポイン
タレジスタ内の値をインクリメントし、S142で次の
実ブロックの情報が「空きブロック」であるかどうか第
2のテーブルでチェックする。
When the writing is completed normally, the information of the real block written in S140 is set as the "valid block" in the second table. Next, in S141, the value in the pointer register is incremented, and in S142, it is checked in the second table whether or not the information of the next real block is "empty block".

【0073】次の実ブロックの情報が「空きブロック」
であれば、S143でポインタレジスタの値をその位置
に更新する。「空きブロック」でなれればそのブロック
にはアクセスできないため、S141のポインタインク
リメントへ戻り、消去済みの実ブロックが見つかるまで
ポインタレジスタの更新は行わない。次にS144にお
いて書込み処理毎の消去処理の実行/未実行の判定を行
い、実行していたならばS145で消去処理の検証をお
こなった後、書込み処理を終了する。未実行の場合は、
そのまま書込み処理を終了する。
Information of the next real block is "empty block"
If so, the value of the pointer register is updated to that position in S143. If the block is an "empty block", that block cannot be accessed, so the procedure returns to the pointer increment of S141, and the pointer register is not updated until an erased real block is found. Next, in S144, it is determined whether or not the erase process is executed for each write process, and if it is executed, the erase process is verified in S145, and then the write process is ended. If it has not been executed,
The writing process is finished as it is.

【0074】次にデータ消去方法のもう1つ別の方法に
ついて図16及び図17を用いて説明する。
Next, another method of erasing data will be described with reference to FIGS. 16 and 17.

【0075】図16に示された例では、アクセスブロッ
クは消去ブロック1内に無効アクセスブロック1〜6、
有効アクセスブロック1〜2が存在するものとする。ま
た消去ブロック2内は全て空きアクセスブロック1〜8
となっている。
In the example shown in FIG. 16, the access blocks are invalid access blocks 1 to 6 in the erase block 1.
It is assumed that valid access blocks 1 and 2 exist. In the erase block 2, all empty access blocks 1 to 8
Has become.

【0076】ここで空きアクセスブロックとは、そのブ
ロックは消去処理を行った直後の状態にあり、ブロック
内にデータは存在せず、書込みを行うことが可能なブロ
ックであることを示している。有効アクセスブロックと
は、空きアクセスブロックに一度書込を行った状態で、
そのブロック内のデータは読出し可能であることを示し
ている。そして無効アクセスブロックとは、そのブロッ
ク内にデータは存在するが、その論理アドレスに対する
再書込みが実行され実際のデータは他のブロックに書込
まれているため、そのブロックは消去可能であることを
示している。
Here, the empty access block means that the block is in a state immediately after the erase processing, there is no data in the block, and the block can be written. An effective access block is a state in which data has been written once to an empty access block.
It indicates that the data in the block can be read. An invalid access block is a block that can be erased because data exists in that block, but rewriting is executed for that logical address and the actual data is written in another block. Shows.

【0077】このような状態にあるフラッシュメモリを
消去するための前処理手順を図17を用いて説明する。
この消去準備処理は、上位計算機からのアクセスが行わ
れないコマンド待ちの間に行うか、または消去処理と連
動して実行される。まずS161で消去ブロック内のア
クセスブロック(1〜8)に1対1に対応し、実アドレ
スに対する有効/無効などの情報を管理する第2のテー
ブルをサーチする。
A preprocessing procedure for erasing the flash memory in such a state will be described with reference to FIG.
This erase preparation process is performed while waiting for a command that is not accessed from the host computer, or is executed in conjunction with the erase process. First, in step S161, a second table that corresponds to the access blocks (1 to 8) in the erase block on a one-to-one basis and manages information such as valid / invalid for the real address is searched.

【0078】次にS162において、消去ブロック1内
のアクセスブロックの総数8のうち、無効アクセスブロ
ックが幾つあるかカウントする。その無効アクセスブロ
ックの数が消去ブロック総数のx%を超えた場合は、次
のS163でブロックの移動処理を行う。
Next, in S162, how many invalid access blocks are included in the total number of 8 access blocks in the erase block 1 is counted. If the number of invalid access blocks exceeds x% of the total number of erase blocks, the block moving process is performed in the next S163.

【0079】超えなかった場合は、ブロックの移動処理
を行わずS166に進む。ブロックの移動処理判定のた
めの割合xは、任意に設定できる。例えばxの値を70
に設定した場合、本例では、消去ブロック1中の総ブロ
ック数8のうちの70%、つまり無効アクセスブロック
が6以上の場合、ブロックの移し変えを行うことにな
る。本例では無効アクセスブロックは6であり該当する
ためブロックの移し変えが実行される。80%に設定し
た場合は、移し変えは7以上となり、本例では当てはま
らない。つまりxの値を可変にすることにより、ブロッ
クの移動処理判定の基準を変えることができる。
If it does not exceed the threshold, the process of moving the block is not performed and the process proceeds to S166. The ratio x for the block movement processing determination can be set arbitrarily. For example, the value of x is 70
In this example, if 70% of the total number of blocks 8 in the erase block 1, that is, the number of invalid access blocks is 6 or more, in this example, the blocks are relocated. In this example, the invalid access block is 6, which corresponds to the block transfer. When set to 80%, the transfer is 7 or more, which is not the case in this example. That is, by making the value of x variable, it is possible to change the criteria for block movement processing determination.

【0080】S162で無効アクセスブロックがx%を
超えた場合、S163において、消去ブロック1内にあ
る有効アクセスブロックを別の消去ブロック単位である
消去ブロック2に移し変える。移し変える先のアクセス
ブロックは空きアクセスブロックでなければならない。
ポインタレジスタは、データの書き込み先である実ブロ
ックアドレスを示しており、そのポインタは空きアクセ
スブロックを指しているのでそのポインタの指すブロッ
クへ消去ブロック1内にある有効アクセスブロックを移
し変えればよい。
If the invalid access block exceeds x% in S162, the valid access block in the erase block 1 is transferred to another erase block 2 which is another erase block unit in S163. The access block to be transferred must be an empty access block.
The pointer register indicates a real block address to which data is written, and since the pointer points to an empty access block, the effective access block in the erase block 1 may be moved to the block pointed to by the pointer.

【0081】有効アクセスブロック1,2を消去ブロッ
ク2の空きアクセスブロック1,2に移し変えた後、S
164にて消去ブロック2の空きアクセスブロック1,
2の実ブロックアドレスを第1のテーブルに登録する。
After transferring the valid access blocks 1 and 2 to the empty access blocks 1 and 2 of the erase block 2, S
At 164, empty access block 1 of erase block 2
Register the real block address of 2 in the first table.

【0082】次にS165において消去ブロック1内の
有効アクセスブロックがあった所のデータは意味を持た
ないものとなるので、そのブロックに対応する第2のテ
ーブルの情報を「有効ブロック」から「無効ブロック」
に変える。また、移し変えた先の消去ブロック2内のア
クセスブロック1,2に対応する第2のテーブルの情報
を「空きブロック」から「有効ブロック」に変える。こ
の処理の結果、消去ブロック1内の全てのアクセスブロ
ックはデータ自体は存在するが読み出し/書き込みの状
態は無効となり、消去ブロック1は一括消去を実行する
ことが可能となる。
Then, in S165, the data in the erase block 1 where there is a valid access block becomes meaningless, so the information of the second table corresponding to that block is changed from "valid block" to "invalid". block"
Change to. Further, the information in the second table corresponding to the access blocks 1 and 2 in the erase block 2 that has been transferred is changed from the "empty block" to the "valid block". As a result of this processing, the data itself exists in all the access blocks in the erase block 1, but the read / write state becomes invalid, and the erase block 1 can execute batch erase.

【0083】消去ブロック1について処理を終了した
後、S166において、全ての消去ブロックに対して処
理を行ったかどうか判断する。まだ処理していない消去
ブロックが存在する場合はS167において次の消去ブ
ロックを選択し、再度S161でサーチを行う。全ての
消去ブロックについて処理を行い、消去準備処理を終了
する。
After the processing is completed for the erase block 1, it is determined in S166 whether or not the processing is performed for all the erase blocks. If there is an erase block that has not been processed, the next erase block is selected in S167, and the search is performed again in S161. The process is executed for all erase blocks, and the erase preparation process is ended.

【0084】この後、消去処理動作において、消去ブロ
ック単位内のアクセスブロックが全て「無効ブロック」
である消去ブロックを一括消去すればよい。
After that, in the erase processing operation, all the access blocks in the erase block unit are "invalid blocks".
It is sufficient to erase all the erase blocks.

【0085】本実施例では、消去ブロックを単位として
無効アクセスブロック(消去可能ブロック)の数が消去
ブロック総数のx%(しきい値)を超えた場合にブロッ
クの移動処理を行う場合について説明したが、データ記
憶部5の全アクセスブロックを単位として、全アクセス
ブロック総和に対する無効アクセスブロックのx%(し
きい値)を超えた場合にブロックの移動処理を行う場合
もある。
In the present embodiment, the case where the block moving process is performed when the number of invalid access blocks (erasable blocks) exceeds x% (threshold value) of the total number of erase blocks in units of erase blocks has been described. However, there is a case where the block moving process is performed when all access blocks of the data storage unit 5 are used as a unit and x% (threshold value) of invalid access blocks with respect to the sum of all access blocks exceeds.

【0086】本発明における第3実施例の半導体ディス
クの構成を図18に示す。
The structure of the semiconductor disk of the third embodiment of the present invention is shown in FIG.

【0087】本実施例は、特定のシステムにおいてはフ
ァイルの読み出し/書き込みごとに必ずアクセスされる
論理ブロックアドレス(例えば、DOSのFATやディ
レクトリ領域)が存在し、これらは当然その書き換え回
数も多いことを鑑み、この領域をフラッシュメモリに比
べてアクセスが高速で、書き換え回数による寿命が遙に
長いFRAM51で構成するようにしたものである。こ
れにより、データアクセスを高速化でき、同時にフラッ
シュメモリの書き換え回数の制限による半導体ディスク
の寿命を長くすることができる。
In this embodiment, there is a logical block address (for example, DOS FAT or directory area) that is always accessed every time a file is read / written in a specific system, and these are naturally rewritten many times. In view of this, the FRAM 51 is configured to access this area faster than the flash memory and has a much longer life depending on the number of times of rewriting. This makes it possible to speed up data access and, at the same time, prolong the life of the semiconductor disk due to the limitation of the number of times of rewriting of the flash memory.

【0088】データ記憶部5内はFRAM51とフラッ
シュメモリ52から構成される。ワークメモリ4内の第
3のテーブル43は上位計算機がアクセスする論理アド
レスブロックの書き換え回数を格納するものである。
The data storage unit 5 comprises an FRAM 51 and a flash memory 52. The third table 43 in the work memory 4 stores the number of rewrites of the logical address block accessed by the host computer.

【0089】図19に第2のテーブル42の構成例を示
す。データ記憶部5の実ブロックアドレス空間内のy%
をFRAM領域とし、第2のテーブル内の情報は実ブロ
ックアドレス内のデータの有/無を表す。
FIG. 19 shows a configuration example of the second table 42. Y% in the real block address space of the data storage unit 5
As the FRAM area, and the information in the second table indicates the presence / absence of data in the real block address.

【0090】次に、図20に第3のテーブル43の構成
を示す。上位計算機がアクセスする論理ブロックアドレ
スに対応し、各々の論理ブロックアドレスの書き換え回
数を格納する。本例では、0001番地はまだアクセス
がなく、0030番地は既に1024回書き込みアクセ
スが実行されていることを表している。
Next, FIG. 20 shows the configuration of the third table 43. The number of rewrites of each logical block address is stored in correspondence with the logical block address accessed by the host computer. In this example, the address 0001 has not been accessed yet, and the address 0030 has already been written 1024 times.

【0091】次に本実施例での具体的な書き込み処理に
ついて説明する。図21に書き込み時の処理手順を示
す。まず、S171において上位計算機から送られてき
たデータをバッファメモリ7に転送する。次にS172
において上位計算機がアクセスする論理ブロックアドレ
スが第1のテーブル41に存在するかどうかをチェック
する。
Next, a specific writing process in this embodiment will be described. FIG. 21 shows a processing procedure at the time of writing. First, in S171, the data sent from the host computer is transferred to the buffer memory 7. Then S172
In step 1, it is checked whether the logical block address accessed by the host computer exists in the first table 41.

【0092】存在している場合、データの書き換えとい
う形になるため、前回書かれたデータがFRAM領域5
1とフラッシュメモリ領域52のどちらに存在している
かをS173において調べる。FRAM領域51にデー
タが存在した場合は、S178でFRAM実ブロックア
ドレスへバッファメモリ7のデータを書き込む(消去は
必要ない)。フラッシュメモリ領域52に存在した場合
はポインタレジスタ9が示す実ブロックアドレスへの書
き込み処理を行う。
If it exists, the data is rewritten. Therefore, the previously written data is the FRAM area 5.
In S173, it is checked which of the memory area 1 and the flash memory area 52 exists. If the data exists in the FRAM area 51, the data in the buffer memory 7 is written to the FRAM real block address in S178 (erasing is not necessary). If it exists in the flash memory area 52, the writing process to the real block address indicated by the pointer register 9 is performed.

【0093】次に上位計算機がアクセスする論理ブロッ
クアドレスが第1のテーブル41に存在しなかった場合
は、その論理ブロックアドレスへの初回アクセスとなる
ため、まずS174においてFRAM領域52に空きエ
リアがあるかどうかを調べる。具体的には、図19のよ
うな構成の第2のテーブル42においてFRAM領域で
“データ無し”の情報を持つ実ブロックをサーチする。
FRAM領域51が全て使用中の場合はS175におい
てフラッシュメモリへのアクセスとなる。FRAM領域
51の中で空きブロックが存在すればS176におい
て、その実ブロックアドレスへバッファメモリ7のデー
タを書き込む。次にS177においては、その書き込ま
れたFRAMのブロック情報を第2のテーブル42にお
いて“データ有り”とする。
Next, when the logical block address accessed by the host computer does not exist in the first table 41, the logical block address is accessed for the first time, so that there is an empty area in the FRAM area 52 in S174. Find out if Specifically, in the second table 42 having the configuration as shown in FIG. 19, the FRAM area is searched for a real block having information of “no data”.
When all the FRAM areas 51 are in use, the flash memory is accessed in S175. If an empty block exists in the FRAM area 51, the data in the buffer memory 7 is written to the real block address in S176. Next, in S177, the written block information of the FRAM is set to "data exists" in the second table 42.

【0094】次にS179においては、上記いずれかの
書き込みが終了した後に、図20に示すような第3のテ
ーブル43における上位計算機がアクセスした論理ブロ
ックアドレスに対応する領域の書き換え回数をインクリ
メントする。ここで、書き換え回数が多い論理ブロック
アドレスというのはアクセスする回数が多いということ
である。よって書き換え回数が多い論理ブロックアドレ
スはフラッシュメモリ領域52に置いておくよりもFR
AM領域51に置いておく方がよい。これは、書き換え
回数によるメモリチップの寿命がフラッシュメモリより
もFRAMの方が遙に長く、アクセスが高速であるから
である。
Next, in S179, after one of the above-described writings is completed, the number of times of rewriting of the area corresponding to the logical block address accessed by the host computer in the third table 43 as shown in FIG. 20 is incremented. Here, a logical block address that is rewritten many times means that it is accessed many times. Therefore, the logical block address, which is rewritten many times, is more FR than the flash memory area 52.
It is better to place it in the AM area 51. This is because the life of the memory chip due to the number of times of rewriting is much longer in the FRAM than in the flash memory, and the access speed is higher.

【0095】そこでS180とS181において書き込
み処理ごとにそれぞれフラッシュメモリ領域の中で最も
書き換え回数の多い論理ブロックアドレスとFRAM領
域の中で最も書き換え回数の少ない論理ブロックアドレ
スをサーチし、S182においてFRAM領域の最小書
き換え回数の論理ブロックアドレスよりもフラッシュメ
モリ領域の最大書き換え回数の論理ブロックアドレスの
方が書き換え回数が大きい場合は、S183においてお
互いの実ブロック内のデータを入れ替える。さらに入れ
替えを行った場合、第1のテーブル41の内容を更新し
ておく。入れ替えが必要ない場合は、何もせず書き込み
処理を終了する。
Therefore, in S180 and S181, the logical block address with the largest number of rewrites in the flash memory area and the logical block address with the smallest number of rewrites in the FRAM area are searched for each writing process, and the logical block address in the FRAM area is searched in S182. If the number of rewrites of the logical block address of the maximum number of rewrites of the flash memory area is larger than that of the logical block address of the minimum number of rewrites, the data in the actual blocks are exchanged in S183. When the replacement is further performed, the contents of the first table 41 are updated. If the replacement is not necessary, the writing process ends without doing anything.

【0096】このような処理を実行することにより、常
にFRAM領域に書き換え回数の多い論理ブロックアド
レスが格納され、これにより半導体ディスクの装置寿命
を延ばすことが可能になるとともに、アクセスの平均速
度を高速にすることができる。
By executing such processing, the logical block address that is frequently rewritten is stored in the FRAM area, which makes it possible to extend the device life of the semiconductor disk and increase the average access speed. Can be

【0097】また、上記の実施例では、第3のテーブル
にて書き換え回数の管理を行った例であるが、ほとんど
のシステムにおいてディスクの管理エリア(DOSのF
AT領域等)に対応する領域への書き換え頻度が多いこ
とから、第3のテーブルを用いずにディスクの管理エリ
アに対応する領域がFRAM領域にマッピングされるよ
うにメモリを構成することで上記の実施例と同様の効果
を得ることが可能となる。
In the above embodiment, the number of times of rewriting is managed by the third table. However, in most systems, the management area of the disk (F of DOS).
Since the frequency of rewriting to the area corresponding to the AT area etc.) is high, the memory is configured so that the area corresponding to the management area of the disk is mapped to the FRAM area without using the third table. It is possible to obtain the same effect as that of the embodiment.

【0098】[0098]

【発明の効果】本発明は前述のように、第1のテーブル
と第2のテーブルとを設けることにより、消去された所
を検索して直ちにデータを書き込むことができ、そのた
め従来提案されたものよりも迅速にデータの書き込みが
可能で効率の向上を図かることができ、さらに、ポイン
タレジスタを設け、あらかじめデータ書込み先の実ブロ
ックアドレスを設定しておくことにより、より迅速にデ
ータを書込むことも可能となる。
As described above, according to the present invention, by providing the first table and the second table, the erased portion can be searched and the data can be immediately written. Data can be written more quickly than the above, and efficiency can be improved. Furthermore, by providing a pointer register and setting the actual block address of the data write destination in advance, data can be written more quickly. It is also possible.

【0099】また、データ記憶部を書き込み可能回数の
異なる2つの不揮発性メモリで構成し、書き込み頻度の
多いセクタを書き込み可能回数が大である不揮発性メモ
リへ格納するといった構成により、フラッシュメモリ等
の書き換え回数の制限のあるメモリ素子を用いても大容
量で、しかも装置寿命の長いファイル装置を実現可能と
なるといった利点を有している。
Further, the data storage unit is composed of two non-volatile memories having different writable times, and the sector having a high writing frequency is stored in the non-volatile memory having a large writable number. It has an advantage that a file device having a large capacity and a long device life can be realized even if a memory element having a limited number of times of rewriting is used.

【0100】また、ポインタレジスタに設定されるデー
タ書込み先の実ブロックアドレスを任意に設定可能な構
成にすることにより、特定の実ブロックアドレスに対す
る書込みの集中を避けることができ装置寿命を延ばすこ
とが可能となるといった利点を有している。
Further, by arranging the real block address of the data write destination set in the pointer register to be arbitrarily settable, the concentration of writing to a specific real block address can be avoided and the device life can be extended. It has the advantage of being possible.

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

【図1】本発明の第1実施例に係る半導体ディスクの構
成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a semiconductor disk according to a first embodiment of the present invention.

【図2】第1テーブルの構成図である。FIG. 2 is a configuration diagram of a first table.

【図3】第2テーブルの構成図である。FIG. 3 is a configuration diagram of a second table.

【図4】データ読み出し処理を示すフローチャートであ
る。
FIG. 4 is a flowchart showing a data reading process.

【図5】データ書き込み処理を示すフローチャートであ
る。
FIG. 5 is a flowchart showing a data writing process.

【図6】データ消去処理を示すフローチャートである。FIG. 6 is a flowchart showing a data erasing process.

【図7】データ消去処理を示すフローチャートである。FIG. 7 is a flowchart showing a data erasing process.

【図8】データ消去処理を示すフローチャートである。FIG. 8 is a flowchart showing a data erasing process.

【図9】本発明の第2実施例に係る半導体ディスクの構
成を示すブロック図である。
FIG. 9 is a block diagram showing a configuration of a semiconductor disk according to a second embodiment of the present invention.

【図10】データ書き込み処理を示すフローチャートで
ある。
FIG. 10 is a flowchart showing a data writing process.

【図11】ポインタレジスタの更新処理を示すフローチ
ャートである。
FIG. 11 is a flowchart showing a pointer register update process.

【図12】データ読み出し処理を示すフローチャートで
ある。
FIG. 12 is a flowchart showing a data reading process.

【図13】データ読み出し処理を示すフローチャートで
ある。
FIG. 13 is a flowchart showing a data reading process.

【図14】データ消去の検証処理を示すフローチャート
である。
FIG. 14 is a flowchart showing a verification process for erasing data.

【図15】データ書き込み処理を示すフローチャートで
ある。
FIG. 15 is a flowchart showing a data writing process.

【図16】フラッシュメモリのブロック構成を示す図で
ある。
FIG. 16 is a diagram showing a block configuration of a flash memory.

【図17】消去準備処理を示すフローチャートである。FIG. 17 is a flowchart showing an erase preparation process.

【図18】本発明の第3実施例に係る半導体ディスクの
構成を示すブロック図である。
FIG. 18 is a block diagram showing a configuration of a semiconductor disk according to a third embodiment of the present invention.

【図19】第2のテーブルの構成図である。FIG. 19 is a configuration diagram of a second table.

【図20】第3のテーブルの構成図である。FIG. 20 is a configuration diagram of a third table.

【図21】データ書き込み処理を示すフローチャートで
ある。
FIG. 21 is a flowchart showing a data writing process.

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

1 半導体ディスク 2 マイコン 3 I/Fコントローラ 4 ワークメモリ 5 データ記憶部 6 メモリコントローラ 7 バッファメモリ 8 レジスタ操作部 9 ポインタレジスタ 41 第1のテーブル 42 第2のテーブル 43 第3のテーブル 51 FRAM 52 フラッシュメモリ 101,111 アドレスバス 102,112 データバス 103,113 制御信号バス 1 semiconductor disk 2 microcomputer 3 I / F controller 4 work memory 5 data storage unit 6 memory controller 7 buffer memory 8 register operating unit 9 pointer register 41 first table 42 second table 43 third table 51 FRAM 52 flash memory 101,111 Address bus 102,112 Data bus 103,113 Control signal bus

───────────────────────────────────────────────────── フロントページの続き (72)発明者 虫明 弘行 大阪府茨木市丑寅一丁目1番88号 日立マ クセル株式会社内 (72)発明者 長野 昌幸 大阪府茨木市丑寅一丁目1番88号 日立マ クセル株式会社内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Hiroyuki Mushiaki 1-88, Tora-Tora, Ibaraki City, Osaka Prefecture Hitachi Maxell Co., Ltd. (72) Inventor Masayuki Nagano 1-88-Tora, Ibaraki City, Osaka Maxel Co., Ltd.

Claims (18)

【特許請求の範囲】[Claims] 【請求項1】 電気的に書き込みが可能な不揮発性メモ
リからなるデータ記憶部と、 前記データ記憶部に対する制御を行う制御手段と、 接続される上位計算機とデータの入出力を行う入出力手
段とで構成され、一定のブロック単位で上位計算機から
論理ブロックアドレス指定でデータアクセスが実行され
る半導体メモリ装置において、 前記上位計算機からアクセス時に指定される論理ブロッ
クアドレスを前記データ記憶部の実メモリ空間上の実ブ
ロックアドレスに変換する第1のテーブルと、 前記実ブロックアドレスに対応してその実ブロックアド
レス内のデータの状態を管理する第2のテーブルとを備
えることを特徴とする半導体メモリ装置。
1. A data storage unit comprising an electrically writable non-volatile memory, a control unit for controlling the data storage unit, and an input / output unit for inputting / outputting data to / from a host computer connected thereto. In a semiconductor memory device in which data access is executed from a higher-level computer by specifying a logical block address in a fixed block unit, the logical block address designated at the time of access from the higher-level computer is stored in the real memory space of the data storage unit. Of the real block address, and a second table for managing the state of data in the real block address corresponding to the real block address.
【請求項2】 請求項1記載において、前記データ記憶
部へのデータ書込み時における書込み可能な実ブロック
アドレスを格納しているポインタレジスタと、 前記ポインタレジスタに対しデータ書込み時における書
込み先実ブロックアドレスを設定するレジスタ操作部と
を備えていることを特徴とする半導体メモリ装置。
2. The pointer register according to claim 1, which stores a writable real block address when writing data to the data storage unit, and a write destination real block address when writing data to the pointer register. A semiconductor memory device, comprising: a register operating unit for setting the.
【請求項3】 請求項1記載において、前記論理ブロッ
クへの書き込み回数を格納する第3のテーブルを備えた
ことを特徴とする半導体メモリ装置。
3. The semiconductor memory device according to claim 1, further comprising a third table that stores the number of times of writing to the logical block.
【請求項4】 請求項1記載において、論理ブロックア
ドレスが示すアドレス空間より実ブロックアドレスが示
すアドレス空間のほうが大きいことを特徴とする半導体
メモリ装置。
4. The semiconductor memory device according to claim 1, wherein the address space indicated by the real block address is larger than the address space indicated by the logical block address.
【請求項5】 請求項1記載において、第2のテーブル
の内容が対応する実ブロックの状態である、空きブロッ
ク,データ格納済みブロック,消去可能ブロックの少な
くとも3つの状態を表すコードを格納していることを特
徴とする半導体メモリ装置。
5. The code according to claim 1, wherein the contents of the second table are states of corresponding real blocks, and stores codes representing at least three states of a free block, a data stored block, and an erasable block. A semiconductor memory device characterized in that
【請求項6】 請求項1記載において、前記データ記憶
部が少なくとも1つのアクセスブロックを含む消去ブロ
ック単位で消去ができる不揮発性メモリで構成されてい
ることを特徴とする半導体メモリ装置。
6. The semiconductor memory device according to claim 1, wherein the data storage unit is composed of a nonvolatile memory capable of erasing in erase block units including at least one access block.
【請求項7】 請求項6記載において、前記データ記憶
部を構成する不揮発性メモリがフラッシュ型EEPRO
Mであることを特徴とする半導体メモリ装置。
7. The nonvolatile memory according to claim 6, wherein the nonvolatile memory forming the data storage unit is a flash type EEPRO.
A semiconductor memory device characterized by being M.
【請求項8】 請求項3記載において、前記第1のテー
ブル、第2のテーブルならびに第3のテーブルの少なく
ともいずれか1つのテーブルが、データ記憶部の不揮発
性メモリより書き換え可能回数が大で、バイト単位で書
き込み、又は消去可能な不揮発性メモリに格納されてい
ることを特徴とする半導体メモリ装置。
8. The rewritable number according to claim 3, wherein at least one of the first table, the second table, and the third table has a larger number of rewritable times than the nonvolatile memory of the data storage unit. A semiconductor memory device characterized by being stored in a non-volatile memory that can be written or erased in byte units.
【請求項9】 請求項8記載において、前記テーブルを
格納する不揮発性メモリがFRAMであることを特徴と
する半導体メモリ装置。
9. The semiconductor memory device according to claim 8, wherein the non-volatile memory storing the table is an FRAM.
【請求項10】 請求項1記載において、前記データ記
憶部が少なくとも1つのアクセスブロックを含む消去ブ
ロック単位で消去ができる第1の不揮発性メモリと、書
き換え可能回数が前記第1の不揮発性メモリより大で、
アクセスブロックもしくはアクセスブロック以下のバイ
ト単位で書き込み、又は消去可能な第2の不揮発性メモ
リで構成され、 オペレーティングシステムの管理するデータ領域を第1
の不揮発性メモリに格納し、FAT,ディレクトリ等の
ファイル管理領域を第2の不揮発性メモリに格納するこ
とを特徴とする半導体メモリ装置。
10. The first non-volatile memory according to claim 1, wherein the data storage section is capable of erasing in erase block units including at least one access block, and the number of rewritable times is greater than that of the first non-volatile memory. Large,
The access block or a second non-volatile memory that can be written or erased in byte units below the access block is used as the first data area managed by the operating system.
And a file management area such as a FAT or a directory is stored in the second non-volatile memory.
【請求項11】 請求項3記載において、前記データ記
憶部が少なくとも1つのアクセスブロックを含む消去ブ
ロック単位で消去ができる第1の不揮発性メモリと、書
き換え可能回数が前記第1の不揮発性メモリより大で、
アクセスブロックもしくはアクセスブロック以下のバイ
ト単位で書き込み、又は消去可能な第2の不揮発性メモ
リで構成され、 前記第3のテーブルに格納される論理ブロックアドレス
への書き込み回数の多いブロックから前記第2の不揮発
性メモリに格納し、前記第2の不揮発性メモリに格納で
きない残りのブロックを第1不揮発性メモリに格納する
ことを特徴とする半導体メモリ装置。
11. The first non-volatile memory according to claim 3, wherein the data storage section is capable of erasing in erase block units including at least one access block, and the number of rewritable times is greater than that of the first non-volatile memory. Large,
An access block or a second non-volatile memory that is writable or erasable in byte units below the access block, and is written from the block having a large number of writes to the logical block address stored in the third table to the second block. A semiconductor memory device, comprising: storing in a non-volatile memory the remaining blocks that cannot be stored in the second non-volatile memory in a first non-volatile memory.
【請求項12】 請求項10または請求項11記載にお
いて、前記第1の不揮発性メモリがフラッシュ型EEP
ROMで、第2の不揮発性メモリがFRAMであること
を特徴とする半導体メモリ装置。
12. The EEP according to claim 10, wherein the first nonvolatile memory is a flash type EEP.
A semiconductor memory device comprising a ROM and a second non-volatile memory being an FRAM.
【請求項13】 電気的に書き込みが可能で、かつ所定
の単位で電気的に消去が可能な不揮発性メモリからなる
データ記憶部と、 前記データ記憶部に対する制御を行う制御手段と、 接続される上位計算機とデータの入出力を行う入出力手
段と前記上位計算機からアクセス時に指定される論理ブ
ロックアドレスを前記データ記憶部の実メモリ空間上の
実ブロックアドレスに変換する第1のテーブルと、 前記実ブロックアドレスに対応して、その実ブロックア
ドレス内のデータの状態を管理する第2のテーブルとか
ら構成され、一定のブロック単位で上位計算機から論理
ブロックアドレス指定でデータアクセスを実行する半導
体メモリ装置の制御方法において、 前記上位計算機によるデータ読み出し処理時には、前記
第1のテーブルにより論理ブロックアドレスを実ブロッ
クアドレスに変換するステップと、変換した実ブロック
から読み出したデータを上位計算機に転送するステップ
を有し、 前記上位計算機からのデータ書き込み処理時には、前記
第2のテーブルよりデータの書き込み可能な空きブロッ
クを検索するステップと、その空きブロックへデータを
書き込むステップと、データを書き込んだブロックの実
ブロックアドレスを第1のテーブルに書き込むことによ
り実ブロックアドレスと論理ブロックアドレスの対応ず
けを行うステップと、上記一連のデータ書き込み処理と
は独立してデータを消去するステップを有していること
を特徴とする半導体メモリ装置の制御方法。
13. A data storage unit, which comprises an electrically writable and electrically erasable non-volatile memory in a predetermined unit, and a control means for controlling the data storage unit are connected. Input / output means for inputting / outputting data to / from a host computer; a first table for converting a logical block address designated by the host computer at the time of access into a real block address in a real memory space of the data storage unit; Control of a semiconductor memory device configured to include a second table that manages the state of data in the real block address corresponding to the block address and execute data access by specifying a logical block address from a host computer in a fixed block unit In the method, during the data read processing by the host computer, the logical table is read by the first table. It has a step of converting the lock address into a real block address, and a step of transferring the data read from the converted real block to a host computer, and when writing data from the host computer, writes data from the second table. A step of searching for a possible free block, a step of writing data to the free block, and a step of writing the real block address of the block in which the data is written to the first table are used to determine the correspondence between the real block address and the logical block address. A method of controlling a semiconductor memory device, comprising: a step of erasing and a step of erasing data independently of the series of data writing processing.
【請求項14】 電気的に書き込みが可能で、かつ所定
の単位で電気的に消去が可能な不揮発性メモリからなる
データ記憶部と、 前記データ記憶部に対する制御を行う制御手段と、 接続される上位計算機とデータの入出力を行う入出力手
段と前記上位計算機からアクセス時に指定される論理ブ
ロックアドレスを前記データ記憶部の実メモリ空間上の
実ブロックアドレスに変換する第1のテーブルと、 前記実ブロックアドレスに対応して、その実ブロックア
ドレス内のデータの状態を管理する第2のテーブルと前
記データ記憶部上の書き込み可能な実ブロックアドレス
を格納しているポインタレジスタとを備える半導体メモ
リ装置の制御方法において、 前記上位計算機からのデータ書き込み処理時に、前記デ
ータ記憶部の特定の実ブロックアドレスに書き込みが集
中しないように前記ポインタレジスタに対して設定する
実ブロックアドレスをデータ書き込み毎に順次変えてい
くステップを有することを特徴とする半導体メモリ装置
の制御方法。
14. A data storage unit comprising a non-volatile memory that is electrically writable and electrically erasable in a predetermined unit, and a control means for controlling the data storage unit are connected. Input / output means for inputting / outputting data to / from a host computer; a first table for converting a logical block address designated by the host computer at the time of access into a real block address in a real memory space of the data storage unit; Control of a semiconductor memory device including a second table that manages a state of data in a real block address corresponding to a block address, and a pointer register that stores a writable real block address in the data storage unit In the method, during a data write process from the host computer, a specific real block address in the data storage unit is Control method of a semiconductor memory device characterized by comprising the step of sequentially changing the actual block address in each data writing write the less is set for the pointer register so as not to concentrate.
【請求項15】 電気的に書き込みが可能で、かつ所定
の単位で電気的に消去が可能な不揮発性メモリでデータ
記憶部が構成され、一定のブロック単位で上位計算機か
ら論理ブロックアドレス指定でデータアクセスがされる
半導体メモリ装置の制御方法において、 前記データ記憶部が複数のメモリで構成され、前記上位
計算機からのデータアクセスに対して所望のデータが格
納されているメモリについてのデータアクセス処理と、
それとは別のメモリに対する消去対象ブロックの消去処
理とが同時に行えることを特徴とする半導体メモリ装置
の制御方法。
15. A data storage unit is composed of a non-volatile memory that is electrically writable and electrically erasable in a predetermined unit, and data is specified by a logical block address from a host computer in fixed block units. In a method of controlling a semiconductor memory device to be accessed, the data storage unit is composed of a plurality of memories, data access processing for a memory in which desired data is stored for data access from the host computer,
A method for controlling a semiconductor memory device, characterized in that erasing processing of an erasing target block for another memory can be performed at the same time.
【請求項16】 電気的に書き込みが可能で、かつ所定
の単位で電気的に消去が可能な不揮発性メモリでデータ
記憶部が構成され、一定のブロック単位で上位計算機か
ら論理ブロックアドレス指定でデータアクセスがされる
半導体メモリ装置の制御方法において、 前記データ記憶部の消去ブロック単位が読み出しおよび
書き込みが可能なアクセスブロック単位よりも大きく、
その消去ブロックサイズ内に複数の前記アクセスブロッ
クが存在し、 無効なアクセスブロックの数が消去ブロックサイズ内の
予め定められたしきい値以上になった場合に、その消去
ブロック内に存在する有効なアクセスブロックを他のブ
ロックへ移動させた後、前記消去ブロックの消去処理を
行うことを特徴とする半導体メモリ装置の制御方法。
16. A data storage unit is composed of a non-volatile memory that is electrically writable and electrically erasable in a predetermined unit, and data is specified by a logical block address from a host computer in fixed block units. In a method of controlling a semiconductor memory device to be accessed, an erase block unit of the data storage unit is larger than a readable and writable access block unit,
If there are a plurality of access blocks in the erase block size and the number of invalid access blocks exceeds a predetermined threshold value in the erase block size, the valid block existing in the erase block is valid. A method of controlling a semiconductor memory device, comprising: erasing an erase block after moving an access block to another block.
【請求項17】 請求項16記載において、前記しきい
値が前記データ記憶部における空きブロックの総数に応
じて変更可能であることを特徴とする半導体メモリ装置
の制御方法。
17. The method of controlling a semiconductor memory device according to claim 16, wherein the threshold value can be changed according to the total number of empty blocks in the data storage unit.
【請求項18】 電気的に書き込みが可能で、かつ少な
くとも1つのアクセスブロックを含む消去ブロック単位
で消去ができる第1の不揮発性メモリと、書き換え可能
回数が前記第1の不揮発性メモリより大で、アクセスブ
ロックもしくはアクセスブロック以下のバイト単位で書
き込み、又は消去可能な第2の不揮発性メモリとからな
るデータ記憶部と、 前記データ記憶部に対する制御を行う制御手段と、 接続される上位計算機とデータの入出力を行う入出力手
段と、 前記上位計算機からアクセス時に指定される論理ブロッ
クアドレスを前記データ記憶部の実メモリ空間上の実ブ
ロックアドレスに変換する第1のテーブルと、 前記実ブロックアドレスに対応して、その実ブロックア
ドレス内のデータの状態を管理する第2のテーブルと、 前記論理アドレス単位の書き込み回数を格納する第3の
テーブルとで構成される半導体メモリ装置の制御方法に
おいて、 前記第3のテーブルに格納される論理ブロックアドレス
に対する書き換え回数の多いブロックから前記第2の不
揮発性メモリに格納し、前記第2の不揮発性メモリに格
納できない残りブロックを第1の不揮発性メモリに格納
するステップを有することを特徴とする半導体メモリ装
置の制御方法。
18. A first non-volatile memory which is electrically writable and can be erased in erase block units including at least one access block, and the number of rewritable times is greater than that of the first non-volatile memory. , A data storage unit consisting of an access block or a second non-volatile memory that can be written or erased in byte units below the access block, control means for controlling the data storage unit, and a host computer and data to be connected. An input / output unit for inputting and outputting the data, a first table for converting a logical block address designated at the time of access from the host computer into a real block address in the real memory space of the data storage unit, and the real block address Correspondingly, a second table that manages the state of the data within that real block address, and A method of controlling a semiconductor memory device comprising a third table for storing the number of times of writing in logical address units, wherein a block having a large number of times of rewriting with respect to a logical block address stored in the third table is stored in the second nonvolatile memory. A non-volatile memory and a remaining block that cannot be stored in the second non-volatile memory is stored in the first non-volatile memory.
JP26180694A 1993-10-01 1994-09-30 Semiconductor memory device and its control method Pending JPH07219720A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26180694A JPH07219720A (en) 1993-10-01 1994-09-30 Semiconductor memory device and its control method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-247021 1993-10-01
JP24702193 1993-10-01
JP26180694A JPH07219720A (en) 1993-10-01 1994-09-30 Semiconductor memory device and its control method

Publications (1)

Publication Number Publication Date
JPH07219720A true JPH07219720A (en) 1995-08-18

Family

ID=26538022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26180694A Pending JPH07219720A (en) 1993-10-01 1994-09-30 Semiconductor memory device and its control method

Country Status (1)

Country Link
JP (1) JPH07219720A (en)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281842A (en) * 1994-04-11 1995-10-27 Hitachi Ltd Semiconductor memory device
JPH0997218A (en) * 1995-09-28 1997-04-08 Canon Inc Method and device for managing flash rom and computer control equipment
JPH10320296A (en) * 1997-05-16 1998-12-04 Nec Corp Storage device
JP2000020252A (en) * 1998-06-29 2000-01-21 Hitachi Ltd Storage device using nonvolatile semiconductor memory
US6189081B1 (en) 1996-05-24 2001-02-13 Nec Corporation Non-volatile semiconductor storage with memory requirement and availability comparison means and method
JP2003044351A (en) * 2001-07-27 2003-02-14 Matsushita Electric Ind Co Ltd Flash memory device and method for merging data stored in the same
WO2003067605A1 (en) * 2002-02-08 2003-08-14 Matsushita Electric Industrial Co., Ltd. Non-volatile storage device and control method thereof
US6611907B1 (en) 1999-10-21 2003-08-26 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
JP2006301993A (en) * 2005-04-21 2006-11-02 Matsushita Electric Ind Co Ltd Memory controller, non-volatile storage device, and non-volatile storage system
JP2006302255A (en) * 2005-04-15 2006-11-02 Samsung Electronics Co Ltd Data storage device with nonvolatile memory of different kind and method for driving thereof
JP2008033911A (en) * 2006-07-27 2008-02-14 Hitachi Ltd Method and device for migrating data between storage volumes
JP2008097107A (en) * 2006-10-06 2008-04-24 Seiko Epson Corp Data recording device and its control method
JP2008108257A (en) * 2006-10-23 2008-05-08 Hewlett-Packard Development Co Lp Non-volatile storage device
JP2008217527A (en) * 2007-03-06 2008-09-18 Hitachi Ltd Storage system and data control method
US7516344B2 (en) 2005-01-28 2009-04-07 Panasonic Corporation Memory system
JP2009176155A (en) * 2008-01-25 2009-08-06 Kyocera Corp Portable communication terminal
JP2010198219A (en) * 2009-02-24 2010-09-09 Toshiba Corp Memory controller and semiconductor memory device
JP2010218290A (en) * 2009-03-17 2010-09-30 Toshiba Corp Controller, and memory system
JP2011053863A (en) * 2009-09-01 2011-03-17 Nec Corp Storage device, storage system, and erasure processing method
US7958288B2 (en) 2003-09-29 2011-06-07 Kabushiki Kaisha Toshiba Semiconductor storage device and method of controlling the same
KR101128255B1 (en) * 2006-03-21 2012-03-23 엘지전자 주식회사 Storage controller for computer system
US8327068B2 (en) 2005-03-03 2012-12-04 Panasonic Corporation Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
JP2012243098A (en) * 2011-05-19 2012-12-10 Sharp Corp Storage device
JP2013196164A (en) * 2012-03-16 2013-09-30 Toshiba Corp Nonvolatile storage device, control method for information processing device, and information processing device
JP2013235531A (en) * 2012-05-11 2013-11-21 Sony Corp Control device, storage device, and storage control method
JP2013235358A (en) * 2012-05-08 2013-11-21 Hitachi Ulsi Systems Co Ltd Storage device
US11573912B2 (en) 2019-11-07 2023-02-07 Nec Corporation Memory device management system, memory device management method, and non-transitory computer-readable recording medium erasing data stored in memory device if a value of a first key and second key are different

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0349075A (en) * 1989-07-18 1991-03-01 Oki Electric Ind Co Ltd Information terminal equipment
JPH04263198A (en) * 1991-02-18 1992-09-18 Fujitsu Ltd Memory device
JPH04313882A (en) * 1991-04-12 1992-11-05 Fuji Photo Film Co Ltd Record control system for memory card
JPH04351795A (en) * 1991-05-30 1992-12-07 Toshiba Corp Half fixed data re-write device
JPH0527924A (en) * 1991-07-12 1993-02-05 Internatl Business Mach Corp <Ibm> External storage system using semiconductor memory and control method thereof
JPH0581148A (en) * 1991-09-20 1993-04-02 Fujitsu Ltd Nonvolatile memory device
JPH05151097A (en) * 1991-11-28 1993-06-18 Fujitsu Ltd Data control system for rewriting frequency limited type memory
JPH05158806A (en) * 1991-12-06 1993-06-25 Ricoh Co Ltd Flash memory card erasing method
JPH05198198A (en) * 1992-01-20 1993-08-06 Fujitsu Ltd Semiconductor storage device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0349075A (en) * 1989-07-18 1991-03-01 Oki Electric Ind Co Ltd Information terminal equipment
JPH04263198A (en) * 1991-02-18 1992-09-18 Fujitsu Ltd Memory device
JPH04313882A (en) * 1991-04-12 1992-11-05 Fuji Photo Film Co Ltd Record control system for memory card
JPH04351795A (en) * 1991-05-30 1992-12-07 Toshiba Corp Half fixed data re-write device
JPH0527924A (en) * 1991-07-12 1993-02-05 Internatl Business Mach Corp <Ibm> External storage system using semiconductor memory and control method thereof
JPH0581148A (en) * 1991-09-20 1993-04-02 Fujitsu Ltd Nonvolatile memory device
JPH05151097A (en) * 1991-11-28 1993-06-18 Fujitsu Ltd Data control system for rewriting frequency limited type memory
JPH05158806A (en) * 1991-12-06 1993-06-25 Ricoh Co Ltd Flash memory card erasing method
JPH05198198A (en) * 1992-01-20 1993-08-06 Fujitsu Ltd Semiconductor storage device

Cited By (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281842A (en) * 1994-04-11 1995-10-27 Hitachi Ltd Semiconductor memory device
JPH0997218A (en) * 1995-09-28 1997-04-08 Canon Inc Method and device for managing flash rom and computer control equipment
US6189081B1 (en) 1996-05-24 2001-02-13 Nec Corporation Non-volatile semiconductor storage with memory requirement and availability comparison means and method
JPH10320296A (en) * 1997-05-16 1998-12-04 Nec Corp Storage device
JP2000020252A (en) * 1998-06-29 2000-01-21 Hitachi Ltd Storage device using nonvolatile semiconductor memory
US7143261B2 (en) 1999-10-21 2006-11-28 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US7899982B2 (en) 1999-10-21 2011-03-01 Panasonic Corporation Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US6611907B1 (en) 1999-10-21 2003-08-26 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US6823422B2 (en) 1999-10-21 2004-11-23 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US6829675B2 (en) 1999-10-21 2004-12-07 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US6829674B2 (en) 1999-10-21 2004-12-07 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US6829676B2 (en) 1999-10-21 2004-12-07 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US7734864B2 (en) 1999-10-21 2010-06-08 Panasonic Corporation Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US8990487B2 (en) 1999-10-21 2015-03-24 Panasonic Corporation Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US8176239B2 (en) 1999-10-21 2012-05-08 Panasonic Corporation Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US7398353B2 (en) 1999-10-21 2008-07-08 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US8751734B2 (en) 1999-10-21 2014-06-10 Panasonic Corporation Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US8015349B2 (en) 1999-10-21 2011-09-06 Panasonic Corporation Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US8473671B2 (en) 1999-10-21 2013-06-25 Panasonic Corporation Semiconductor memory card access apparatus, a computer-readable medium, an initialization method, and a semiconductor memory card
JP2003044351A (en) * 2001-07-27 2003-02-14 Matsushita Electric Ind Co Ltd Flash memory device and method for merging data stored in the same
WO2003067605A1 (en) * 2002-02-08 2003-08-14 Matsushita Electric Industrial Co., Ltd. Non-volatile storage device and control method thereof
US6944060B2 (en) 2002-02-08 2005-09-13 Matsushita Electric Industrial Co., Ltd. Non-volatile storage device and control method thereof
US8904142B2 (en) 2003-09-23 2014-12-02 Kabushiki Kaisha Toshiba Semiconductor memory system controlling writing of data to nonvolatile memories using consecutive logical addresses
US8397035B2 (en) 2003-09-29 2013-03-12 Kabushiki Kaisha Toshiba Semiconductor memory system with first and second nonvolatile memories storing user and management data and a controller controlling read/write of the memories and having simultaneous data transfer in and out of one of the memories
US8706978B2 (en) 2003-09-29 2014-04-22 Kabushiki Kaisha Toshiba Semiconductor storage device having nonvolatile flash and ram with simultaneous data copy and data receive
US7996634B2 (en) 2003-09-29 2011-08-09 Kabushiki Kaisha Toshiba Memory system with controller for managing management data and reverse flag for reversing write data
US8001337B2 (en) 2003-09-29 2011-08-16 Kabushiki Kaisha Toshiba Memory system with controller for managing management data and reverse flag for reversing write data
US7958288B2 (en) 2003-09-29 2011-06-07 Kabushiki Kaisha Toshiba Semiconductor storage device and method of controlling the same
US7958287B2 (en) 2003-09-29 2011-06-07 Kabushiki Kaisha Toshiba Semiconductor storage device and method of controlling the same
US7516344B2 (en) 2005-01-28 2009-04-07 Panasonic Corporation Memory system
US8327068B2 (en) 2005-03-03 2012-12-04 Panasonic Corporation Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
JP2006302255A (en) * 2005-04-15 2006-11-02 Samsung Electronics Co Ltd Data storage device with nonvolatile memory of different kind and method for driving thereof
JP2006301993A (en) * 2005-04-21 2006-11-02 Matsushita Electric Ind Co Ltd Memory controller, non-volatile storage device, and non-volatile storage system
JP4701807B2 (en) * 2005-04-21 2011-06-15 パナソニック株式会社 MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, AND NONVOLATILE STORAGE SYSTEM
KR101128255B1 (en) * 2006-03-21 2012-03-23 엘지전자 주식회사 Storage controller for computer system
JP2008033911A (en) * 2006-07-27 2008-02-14 Hitachi Ltd Method and device for migrating data between storage volumes
JP2008097107A (en) * 2006-10-06 2008-04-24 Seiko Epson Corp Data recording device and its control method
JP2008108257A (en) * 2006-10-23 2008-05-08 Hewlett-Packard Development Co Lp Non-volatile storage device
US8200897B2 (en) 2007-03-06 2012-06-12 Hitachi, Ltd. Storage system and data management method
JP2008217527A (en) * 2007-03-06 2008-09-18 Hitachi Ltd Storage system and data control method
JP2009176155A (en) * 2008-01-25 2009-08-06 Kyocera Corp Portable communication terminal
JP2010198219A (en) * 2009-02-24 2010-09-09 Toshiba Corp Memory controller and semiconductor memory device
US8516182B2 (en) 2009-03-17 2013-08-20 Kabushiki Kaisha Toshiba Controller and memory system for managing data
JP2010218290A (en) * 2009-03-17 2010-09-30 Toshiba Corp Controller, and memory system
JP2011053863A (en) * 2009-09-01 2011-03-17 Nec Corp Storage device, storage system, and erasure processing method
JP2012243098A (en) * 2011-05-19 2012-12-10 Sharp Corp Storage device
JP2013196164A (en) * 2012-03-16 2013-09-30 Toshiba Corp Nonvolatile storage device, control method for information processing device, and information processing device
JP2013235358A (en) * 2012-05-08 2013-11-21 Hitachi Ulsi Systems Co Ltd Storage device
JP2013235531A (en) * 2012-05-11 2013-11-21 Sony Corp Control device, storage device, and storage control method
US11573912B2 (en) 2019-11-07 2023-02-07 Nec Corporation Memory device management system, memory device management method, and non-transitory computer-readable recording medium erasing data stored in memory device if a value of a first key and second key are different

Similar Documents

Publication Publication Date Title
JPH07219720A (en) Semiconductor memory device and its control method
US10078449B2 (en) Flash memory architecture with separate storage of overhead and user data
EP0686976B1 (en) Data management system for programming-limited type semiconductor memory and IC memory card having the data management system
US5890188A (en) Nonvolatile semiconductor memory device having means for selective transfer of memory block contents and for chaining together unused memory blocks
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
KR100531192B1 (en) Non-volatile memory control method
EP2306321B1 (en) Increasing memory performance in flash memory devices by performing simultaneous write operation to multiple devices
US6076137A (en) Method and apparatus for storing location identification information within non-volatile memory devices
US8171203B2 (en) Faster write operations to nonvolatile memory using FSInfo sector manipulation
US6678785B2 (en) Flash management system using only sequential write
JP3827736B2 (en) Flash memory leveling architecture without external latch
JP4268396B2 (en) Non-volatile memory device file management that can be programmed once
JP2007280428A (en) Memory management
CN113342707A (en) Data storage device and operation method thereof
JP2008537192A (en) How to manage copy operations in flash memory
GB2297637A (en) Semiconductor disk device
JPH10124384A (en) Method for controlling non-volatile semiconductor memory
EP1659497A1 (en) Non-volatile storage device and write method thereof
JPH0695955A (en) Flash file system
US6898680B2 (en) Minimization of overhead of non-volatile memory operation
JPH1091490A (en) Storage device using flash memory
US20220164135A1 (en) Apparatus, method and computer program for managing memory page updates within non-volatile memory
CN117555478A (en) Flash memory-based EEPROM (electrically erasable programmable read-Only memory) simulation read-write method
JP3166659B2 (en) Storage device
JP2002244935A (en) Storage managing device and storage managing method

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20021119