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
table
access
real
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
Hiroyuki Mushiaki
Masayuki Nagano
Kazuhiko Omichi
Shigeru Sakairi
Kazuo Takasugi
茂 坂入
和彦 大道
弘行 虫明
昌幸 長野
和夫 高杉
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
Priority to JP24702193 priority Critical
Priority to JP5-247021 priority
Application filed by Hitachi Maxell Ltd, 日立マクセル株式会社 filed Critical Hitachi Maxell Ltd
Priority to JP26180694A priority patent/JPH07219720A/en
Publication of JPH07219720A publication Critical patent/JPH07219720A/en
Application status is Pending legal-status Critical

Links

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.
COPYRIGHT: (C)1995,JPO

Description

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

【0001】 [0001]

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

【0002】 [0002]

【従来の技術】各種のコンピュータシステムでは、大量のデータを蓄積、処理するために、従来は磁気ディスクや光ディスクなどのディスク状の記憶媒体が使用されていた。 BACKGROUND OF THE INVENTION Various computer systems, storing large amounts of data, for processing, conventional disk-shaped storage medium such as a magnetic disk or optical disk has been used. しかし、このディスク状記憶媒体を駆動するドライブ装置は大型でしかも高度に精密な機構が必要であり、しかも信頼性に欠けるものである。 However, this drive device for driving a disk-shaped storage medium is also required highly precise mechanism only large, yet it is unreliable.

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

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

【0005】 [0005]

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

【0006】またデータエリア内には、欠陥データを格納するための代替エリアと、欠陥データを管理するために欠陥マップエリアなどが設けられているため、実質的に使用できる記憶エリアが制限されることや、データ記憶部にフラッシュEEPROMを利用していることから書き込み回数に制限があり外部記憶装置としての寿命に限界があるなどの欠点を有している。 [0006] The data area, since the alternative area to store defect data, a defect map area to manage the defect data is provided, which limits the storage area that can be used substantially it and has drawbacks such because it utilizes the flash EEPROM in the data storage unit is limited to the life of the external storage device is limited number of write cycles.

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

【0008】 [0008]

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

【0009】前記目的を達成するために、第2の発明は、電気的に書き込みが可能で、かつ所定の単位で電気的に消去が可能な不揮発性メモリからなるデータ記憶部と、前記データ記憶部に対する制御を行う制御手段と、 [0009] To achieve the object, the second invention, electrical writing is possible, and a data storage unit for electrically erasing a non-volatile memory capable in a predetermined unit, the data storage and control means for performing control over parts,
接続される上位計算機とデータの入出力を行う入出力手段と前記上位計算機からアクセス時に指定される論理ブロックアドレスを前記データ記憶部の実メモリ空間上の実ブロックアドレスに変換する第1のテーブルと、前記実ブロックアドレスに対応して、その実ブロックアドレス内のデータの状態を管理する第2のテーブルとから構成され、一定のブロック単位で上位計算機から論理ブロックアドレス指定でデータアクセスを実行する半導体メモリ装置の制御方法において、前記上位計算機によるデータ読み出し処理時には、前記第1のテーブルにより論理ブロックアドレスを実ブロックアドレスに変換し、変換した実ブロックから読み出したデータを上位計算機に転送し、前記上位計算機からのデータ書き込み処理時には、前記第2のテ A first table for converting the logical block address specified at the time of access from the host computer and output means for inputting and outputting host computer and the data connected to the actual block address in the real memory space of the data storage unit the corresponds to the real block address, a semiconductor memory that is composed of a second table for managing the status of the data of the actual block address executes data access by the logical block address designated from the host computer at a constant block the control method of the apparatus, at the time of data reading processing by the host computer, and transfers and converts the logical block address by the first table to the real block address, the data read from the converted real block to the host computer, the host computer when writing data from the second tape ブルよりデータの書き込み可能な空きブロックを検索し、その空きブロックへデータを書き込むと共に、データを書き込んだブロックの実ブロックアドレスを第1のテーブルに書き込むことにより実ブロックアドレスと論理ブロックアドレスの対応ずけを行い、上記一連のデータ書き込み処理とは独立してデータを消去する処理を有することを特徴とするものである。 Find the writable free blocks of data from the table, writes the data to the free block, not a corresponding real block addresses and the logical block address by writing the real block addresses of written blocks of data to the first table only performed, it is characterized in that it has a process of erasing the data independently of the sequence of data write processing.

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

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

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

【0013】 [0013]

【作用】上記態様により本発明の作用を説明すると、第1のテーブルと第2のテーブルとを設けることにより、 SUMMARY OF] In operation of the present invention by the above embodiments, by providing the first table and the second table,
消去された所を検索して直ちにデータを書き込むことができ、そのため従来提案されたものよりも迅速にデータの書き込みが可能で効率の向上を図かることができ、さらに、ポインタレジスタを設け、あらかじめデータ書込み先の実ブロックアドレスを設定しておくことにより、 Searching for a place which is immediately erased data can be written, therefore than those proposed conventionally can mow FIG quickly increase in efficiency can be written data, further, it provided a pointer register, in advance by setting the actual block address of data write destination,
より迅速にデータを書込むことも可能となる。 It is also possible to write data more quickly.

【0014】また、データ記憶部を書き込み可能回数の異なる2つの不揮発性メモリで構成し、書き込み頻度の多いセクタを書き込み可能回数が大である不揮発性メモリへ格納するといった構成により、フラッシュメモリ等の書き換え回数の制限のあるメモリ素子を用いても大容量で、しかも装置寿命の長いファイル装置を実現可能となるといった利点を有している。 Further, it constituted by two non-volatile memory that allows the number of different write data storage unit, the configuration such as the permitted number write more sectors of write frequency is stored in the nonvolatile memory is larger, such as a flash memory even using a memory device with a number of rewrites limited by mass, yet has the advantage that it becomes possible to realize a long file system of the device lifetime.

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

【0016】 [0016]

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

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

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

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

【0020】前記ワークメモリ4は上位計算機からアクセス時に指定される論理ブロックアドレスをデータ記憶部5のフラッシュメモリ群におけるメモリ空間上の実際のアドレスである実ブロックアドレスに変換する第1のテーブル41と、その実ブロックアドレスに対応するフラッシュメモリのデータ領域を管理する第2のテーブル42とを有している。 The first table 41 for converting the work memory 4 in real block address is an actual address in the memory space of the logical block address specified from the host computer in accessing 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 in order to achieve access to the host computer, a command register 31 for specifying a process to be executed, the address register 32 to set the logical address for data access, data write / data register 33 for reading, with the status register 34 to inform the host computer of the execution result of the processing, the host computer and the semiconductor disc through these registers to perform input and output of information.

【0022】前記第1のテーブル41と第2のテーブル42の構成について説明する。 [0022] described as the first table 41 for the configuration of the second table 42. 半導体ディスク1はハードティスクと同様に、ある一定のブロック単位でデータアクセスされるものであり、上位計算機から論理ブロックアドレスとして任意のデータ領域が指定される。 Semiconductor disk 1, like the hard disk, which is the data access at a certain block, arbitrary data area as a logical block address from the host computer is specified. このとき1ブロックのバイト単位は任意であるが、2 nバイトが望ましく、ここでは1ブロックが512バイトで構成されている場合として説明する。 Although bytes this time one block is arbitrary, 2 n bytes is desirable, it will be described here as when one block is composed of 512 bytes.

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

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

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

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

【0027】第2のテーブル42は、実ブロックアドレス空間上の実ブロックアドレス内のデータの状態を管理するフラグ情報を格納するためのものである。 The second table 42 is for storing the flag information for managing the state of data of the actual block address in the real block address space. 図3において、実ブロックアドレス0088hに対応する第2のテーブル42の領域であるアドレス0088hには、この実ブロックアドレス内のデータが有効であることを示す「有効ブロック」フラグ01hが格納されている。 In Figure 3, the region a is address 0088H of the second table 42 corresponding to the real block address 0088H, stores "valid block" flag 01h indicating that the data of the actual block address is valid . さらに、実ブロックアドレス0043hのように実ブロックアドレス内のデータが無効である場合は、「無効ブロック」を示すフラグ02hが格納されている。 Furthermore, if the data in the real block address is invalid, as the real block address 0043H, flag 02h indicating "invalid block" is stored. これは、 this is,
以前はこのブロック内のデータが有効であったが、書換えが行われ、ある論理ブロックアドレスに対応するデータが他の実ブロックアドレスにセットされたためこの実ブロック内のデータは意味を持たないことを示している。 Previously, the data in the block is valid, rewriting is performed, the data in the real block because the data is set to other real block address corresponding to a logical block address is no meaning shows. また、「無効ブロック」フラグはフラッシュメモリにおける対応ブロックが消去処理の必要性も示している。 Further, "invalid block" flag corresponding block in the flash memory indicates the need for erasing process.

【0028】データの書込が可能な実ブロックアドレスについては、実ブロックアドレス0007hのように「空きブロック」であることを示すフラグ00hが格納されている。 [0028] For real block address writing is possible data is stored flag 00h indicating that the as real block address 0007h "empty block". また、データの書込が正常にできない実ブロックアドレスについては、実ブロックアドレス012 Further, the real block address data writing can not be properly, the real block address 012
3hのように「欠陥ブロック」であることを示すフラグFFhが格納されている。 Stored flag FFh indicating that 3h is a "defective blocks" as. これらのフラグ情報により、 These flag information,
実ブロックアドレス空間を構成するフラッシュメモリの状態を管理することができ、フラッシュメモリに対してデータの書込み、消去などの処理を有効に行うことができる。 Can manage the state of the flash memory that constitutes the real block address space, writing the data to the flash memory, it is possible to perform effectively the treatment of such erasure. これらのフラグの値は一例であり、フラッシュメモリの状態を管理できるように識別されていれば、任意に設定してもよい。 The value of these flags is an example, if it is identified to manage the state of the flash memory, may be set arbitrarily.

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

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

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

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

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

【0034】次にデータの書込みの場合を説明する。 [0034] The following describes a case of the data of writing. 上位計算機は、アドレスバス101でレジスタを指定し、 Host computer specifies the register address bus 101,
データバス102、制御信号バス103により、実行する書込み処理を示すコマンドコードをコマンドレジスタ31に、データを書込む論理ブロツクアドレスをアドレスレジスタ32に設定する。 Data bus 102, a control signal bus 103, the command register 31 a command code indicating a write process executed, sets the logical Bro poke address for writing the data in the address register 32. そこで、マイコン2はコマンドレジスタ31内のコマンドコードを判定し、データの書込みであることを確認して、データの書込み処理を実行する。 Therefore, the microcomputer 2 determines the command code in the command register 31, to confirm that the writing of data to perform write processing of the data. その後、ステータスレジスタ34を介して、 Then, through the status register 34,
実行結果を上位計算機に報告する。 To report the execution result to the host computer.

【0035】これらの処理の一例を示すのが図5で、同図において、まず、アドレスレジスタ32に指定された論理ブロツクアドレスに対して、第1のテーブル41から、データ記憶部5のメモリ空間上の対応する実ブロツクアドレスが設定されているかどうかを検索する(S1 [0035] that shows an example of the processing in FIG. 5, in the figure, first, with respect to logical Bro poke address specified in the address register 32, the first table 41, a memory space of the data storage unit 5 corresponding real Bro poke addresses above to search for whether it is set (S1
1)。 1). 第1のテーブル41に実ブロツクアドレスが存在しない場合は(その論理アドレスには初めての書き込みである場合)、S14の処理へ移る。 If the real blow poke address in the first table 41 is not present (if it is the first time writing to the logical address), the process proceeds to step S14.

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

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

【0038】もし、書込み時に異常が発生し、正常に書込めなかった場合は、S18でその実ブロックアドレスに対応する第2のテーブル42の領域に「欠陥ブロック」のフラグを設定し、今後、その実ブロックアドレスにアクセスできないようにする。 [0038] If abnormality occurs at the time of writing, if not put correctly written, sets the flag of "defective blocks" in the region of the second table 42 corresponding to the actual block address in S18, the future, the real It does not have access to the block address. それからまた、第2のテーブル42を検索し、「空きブロック」である実ブロックアドレスを捜し、データの書込を再実行する。 Then also it searches the second table 42, looking for a real block address is "empty block", to re-execute the writing of data.

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

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

【0041】消去処理を実行する場合、まず、S31で第2のテーブル42を検索し、「無効ブロック」フラグの領域を捜し、この「無効ブロック」フラグを含む消去ブロック単位内に「有効ブロック」フラグを持つ領域がないかを検索する(S32)。 [0041] When executing the erasure processing, first, searches the second table 42 in S31, searching for areas of "invalid block" flag, the "invalid block" "valid block" erase block unit containing a flag It searches whether there is no region having a flag (S32). S33の判定において「有効ブロック」フラグが存在しない場合は、消去ブロックの内容を消去する(S34)。 Determined in S33 if the "valid block" flag is not present, to erase the contents of erase blocks (S34).

【0042】S33の判定において「有効ブロック」フラグが存在する場合、S35で「有効ブロック」フラグをもつ実ブロックアドレス内のデータをワークメモリ7 [0042] If the "valid block" flag in the judgment of S33 is present, the work memory 7 the data in the real block address with "valid block" flag in S35
に退避させる。 To retreat to. この実ブロックアドレスは複数存在する場合があるので、十分なワークメモリサイズが必要である。 Since the actual block address in some cases there are multiple, it must have sufficient working memory size. それからS36で、対応する消去ブロックの内容を消去する。 With it from the S36, to erase the contents of the corresponding erase block. その後、ワークメモリ7に退避したデータを元の対応する実ブロックアドレスに書込み、「有効ブロック」フラグであるデータを元の状態に戻す(S3 Then, back to write the real block address of the original data saved in the work memory 7 corresponding "valid block" data of the original is a flag state (S3
7)。 7). この消去操作の実行後、消去処理の対象である「無効ブロック」フラグであった実ブロックアドレスに対応する第2のテーブル42の領域に「空きブロック」 After the execution of the erase operation, "empty block" on the region of the second table 42 corresponding to the real block address is "invalid block" flag which is the subject of the erase process
フラグを設定する(S38)。 Set a flag (S38). このような手順で消去処理が実行される。 Erasure process is performed in such a procedure.

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

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

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

【0046】図7における消去処理の方法は、図6と比較し「有効ブロック」であるデータを他の「空きブロック」へ移動することから、処理の効率化が図られ高速に消去処理を実行可能であるといった効果がある。 The method of erasing processing in FIG. 7, run from moving, the erasing process to the efficiency of the process is attained faster data is compared with FIG. 6, "effective blocks" another to "empty block" there is an effect that can be.

【0047】次に消去単位が書込みブロック単位と等しい場合(例えば、消去サイズ512バイトで、書込みサイズも512バイトの場合)での、フラッシュメモリのデータ消去手順を図8とともに説明する。 [0047] If then erase unit is equal to the write block unit (e.g., in the erase size 512 bytes, if the writing sizes 512 bytes) is described at, flash memory data erase procedure with FIG.

【0048】この場合は、他のブロックの状態を気にする必要がないので、消去処理を実行するには、まず、S [0048] In this case, since there is no need to worry about the state of the other block, to perform the erase process, first, S
61で第2のテーブル42を検索し、「無効ブロック」 Find the second table 42 at 61, "invalid block"
フラグの領域を捜す。 Search the area of ​​the flag. そしてS62でこの「無効ブロック」フラグに対応する実ブロックアドレスの内容を消去する。 And to erase the contents of the actual block address corresponding to this "invalid block" flag at S62. その後、S63でこの消去した実ブロックアドレスに対応する第2のテーブル42の領域に「空きブロック」フラグを設定する。 Then, set the "empty block" flag in the region of the second table 42 corresponding to the real block address this erased S63. このような手順で、消去処理が実行される。 In this procedure, the erasing process is executed.

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

【0050】これら図6〜図8のような消去処理は、データの書込みに呼応させて実行してもよいが、データの書込み処理を速く実行するため、データの書込み処理とは切り放して行い上位計算機からのアクセスに対する処理が発生しないコマンド待ちの状態の時に実行するのがよい。 The erase process such as these figures 6-8 may be performed by response to write data, to perform faster write processing of the data, the higher performed disassociate the write processing of the data it is preferable to run when the command wait state processing for the access is not generated from the computer.

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

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

【0053】ポインタレジスタ9は、上位計算機からのデータ書込み命令時において、上位計算機から転送されたデータを格納するためにフラッシュメモリ内の書込み可能な状態にある実アドレスを常にポイントものである。 [0053] Pointer register 9 during data write command from the host computer is always a point that the real address in the writable state of the flash memory to store data transferred from the host computer. レジスタ操作部8は、データの書込みが実行される毎に次のデータの書込みに対してのポインタレジスタ9 Register operation unit 8, a pointer register 9 with respect to the writing of the next data for each of data writing is performed
に対しての更新操作を実行する。 To perform the update operation against.

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

【0055】図16は、フラッシュメモリのブロック構成例を示す図である。 [0055] Figure 16 is a diagram showing a block configuration example of the flash memory. フラッシュメモリは、消去単位となる幾つかの消去ブロックに分割され、各消去ブロックは幾つかの読出し/書込みの単位となるアクセスブロックに分割される。 Flash memory is divided into several erase blocks serving as erase unit, each erase block is divided into access block serving as a unit of several read / write. フラッシュメモリでは、読出しと書込みはアクセスブロックを1単位として実行することができるが、消去処理は消去ブロックを1単位として消去するか、あるいはチップ全体を一括消去しなければならない。 In flash memory, but reading and writing can be performed access block as a unit, deleting process or to erase the erase block as a unit, or must collectively erasing the entire chip. また、一度書込んだアクセスブロックは、そのブロックを消去しない限り新たな書込みはできない。 In addition, once written elaborate access block, it can not be a new write as long as that does not erase the block. この例では、フラッシュメモリを10の消去ブロックに分割し、さらに各消去ブロックを8のアクセスブロックに分割している。 In this example, dividing the flash memory into erase blocks 10, and further divides each erase block to 8 access blocks.

【0056】図10に本実施例の半導体ディスク装置に対するデータ書込み処理手順を示す。 [0056] A data write processing routine in FIG. 10 with respect to the semiconductor disk device of this embodiment. 半導体ディスク装置は、S71で上位計算機からの受信データをバッファメモリに転送した後、S72でバッファメモリに格納されている受信データをポインタレジスタが示す実ブロックアドレスへブロック単位での書込みを実行する。 Semiconductor disk device, after transferring the received data from the host computer to the buffer memory at S71, executes writing in block units to the real block address indicating the reception data stored in the buffer memory at S72 a pointer register. S7 S7
3でこの書込み処理が正常に終了したかどうか判断され、処理が正常に終了しなかった場合、S74で書込み対象となったブロックは欠陥ブロックと判断し、ブロック情報が格納されている第2のテーブル内の指定ブロックに対応するデータを欠陥領域を示すコードに書換える。 The writing process is determined whether or not completed normally in 3, the process may not complete successfully, the block became write target at S74 it determines that the defective block, the second block information is stored rewrite the data corresponding to the specified block in the table code indicating the defective area. これにより、以後このブロックは欠陥領域とされアクセス対象から除外される。 Thus, thereafter the block is excluded from the access target is a defective area. この操作後、ポインタレジスタの更新処理を行い(S75)、再びS72に戻り他のブロックに対しての書込み処理を実行する。 After this operation, it performs update processing of the pointer register (S75), executes a write process with respect to other blocks back to S72 again. 尚、S7 In addition, S7
5におけるポインタレジスタの更新処理については後述する。 It will be described later updating of the pointer registers in 5. 一方、S73でブロックに対する書込み処理が正常に終了したと判定された場合、S76でデータの書込みを実行したフラッシュメモリアレイ内の実ブロックアドレスと上位計算機から書込み指定された論理ブロックアドレスとをリンクさせるために、第1のテーブルに対して指定された論理ブロックアドレスに対応する領域に実ブロックアドレス値の書込みを行う。 On the other hand, if the writing process for the block is determined to have completed successfully, linking a logical block address designated write the real block address and the host computer in the flash memory array that performed the write data in S76 in S73 for writes the real block address values ​​in a region corresponding to the logical block address specified for the first table.

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

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

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

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

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

【0062】上記のようにデータの書込み先を示すポインタレジスタ9をレジスタ操作部8にてデータ記憶部5 [0062] Data storage unit 5 the pointer register 9 showing the write destination of the data as described above at the register operation unit 8
全体に対して均等に書込みが実行されるよう操作することにより、データ記憶部5であるフラッシュメモリアレイの特定領域(FATやディレクトリなどのディスク管理情報が格納された領域)に対してアクセスが集中的に起こることを防止し、実メモリ空間全体に対して均一にデータの書込みを実行することが可能となることから、 By operating as a whole with respect to evenly writes are executed, concentrated access to a particular area of ​​the flash memory array is a data storage unit 5 (region disc management information is stored, such as a FAT and a directory) manner to prevent what happens, since it becomes possible to perform writing of data evenly to the entire real memory space,
半導体ディスク装置の寿命を延ばすことができる。 It is possible to extend the life of the semiconductor disk device.

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

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

【0065】次いでS102、103において、読出し処理において読出し対象となる実ブロックが格納されているチップ以外の、アクセスを実行しないチップにおいて消去すべき消去ブロックが存在するかどうかを判断する。 [0065] Then in S102,103, to determine whether non-chip real block to be read in the reading process is stored, the erase block to be erased in the chip does not execute the access exists. 消去ブロックが存在する場合は、そのブロックに対して消去処理の起動を行う(S104)。 If the erase block is present, it performs activation of the erase process with respect to the block (S104). 存在しない場合には消去処理をしないで、S105において実ブロックアドレス内のデータを上位計算機に転送する。 Without the deleting process in the absence, and transfers the data in the real block address to the host computer in S105.

【0066】そしてS106において読出し処理毎の消去処理の実行/未実行を判定し、S104にて消去処理を起動していたならばS107で消去処理の検証を行って、読出し処理を終了する。 [0066] Then determine the execution / non-execution of the erasing process for each reading process in S106, it performs verification of the erase processing in S107 if had started the erasing process at S104, and ends the read process. 未実行の場合は、そのまま読出し処理を終了する。 If unexecuted ends the reading process.

【0067】このように、実ブロックアドレスからのデータ読出し前に消去処理を起動し、データ読出しと平行して消去処理を行い、データの読出し終了後に消去処理が正常に終了したかの検証を行うことで、データ読出し処理の裏作業として消去処理を実行するとこができる。 [0067] Thus, to start the erase operation before the data read from the real block address, performs parallel with the erasing process and data read, perform one of the verification erasing process after reading the end of the data has been successfully completed it is, it is Toko to perform erasure processing as back operations of the data read process.

【0068】次に図14を用いて図13のS107の消去検証処理の手順を説明する。 [0068] Next a procedure of erasing verification process S107 of FIG. 13 will be described with reference to FIG. 14. S111において実行されていた消去処理の終了を待つ。 Wait for the end of the erasing process which has been executed in S111. 消去処理終了後、S1 After the erase process is completed, S1
12で処理が正常に終了したかどうかを調べ、正常終了、つまり実ブロックが完全に消去された場合はS11 Determine whether 12 process was successful, normal termination, that is, when the real block has been completely erased the S11
3において第2のテーブルの消去した実ブロック情報を「空きブロック」(消去済)に設定する。 In 3 sets the real block information has been erased in the second table to "empty block" (already deleted). 次に異常終了、つまり実ブロックが完全に消去されなかった場合はS114において第2のテーブルの実ブロック情報を「欠陥ブロック」にし、以後この実ブロックへのアクセスを禁止する。 Then terminates abnormally, that is, in S114 if the real block has not been completely erased by the real block information of the second table in the "defective block", hereinafter prohibits access to the real block.

【0069】次に半導体ディスクへのデータの書込み時における消去処理手順を図15とともに説明する。 [0069] Then an erase procedure at the time of writing data to the semiconductor disk will be described in conjunction with FIG. 15. まずS131において、上位計算機がアクセスする論理ブロックアドレスが以前にアクセスされたかどうか、つまり始めて書込み処理を行う論理ブロックアドレスかもしくは2回目以上の書込み処理かどうかを、ワークメモリの第1のテーブルでチェックする。 Check the first S131, whether the logical block address host computer accesses it has been previously accessed, i.e. whether a logical block or the address to or second or later writing process performing first time writing process, in the first table in the work memory to. 具体的には、第1のテーブル内に実ブロックアドレス値が存在するかどうかをチェックする。 Specifically, it is checked whether the actual block address value in the first table exists. 実ブロックアドレス値が存在すれば、前回アクセスされた実ブロックアドレス内のデータは無効となり、実ブロック消去可能となるため、S132において第2のテーブルの実ブロック情報を「無効ブロック」とする。 If there is real block address values, the data of the actual block address was last accessed disabled, since the real block erasable, the real block information of the second table in S132 is "invalid block".

【0070】ついでS133において、上位計算機から送られてくるデータをまずバッファメモリに転送する。 [0070] In incidentally S133, it transfers the data sent from the host computer is first in the buffer memory.
次にS134で消去を要求している実ブロックの調査を行い、S135でアクセスしないチップの中で消去すべき実ブロックが存在するかどうかをチェックする。 Then we conducted a survey of the actual block that is requesting the erasing in S134, to check whether the actual block to be erased in the chip you do not have access in the S135 exist. 消去すべき実ブロックが存在する場合、S136で消去処理を行う。 If the real block to be erased is present, perform the erasing process at S136. 存在しない場合、消去処理は必要でない。 If it does not exist, the erasing process is not required.

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

【0072】書込が正常に終了した場合は、S140において書込んだ実ブロックの情報を第2のテーブルにおいて「有効ブロック」とする。 [0072] If the writing is successful, the "valid block" the information of the real block that has been written in the second table in S140. つぎにS141でポインタレジスタ内の値をインクリメントし、S142で次の実ブロックの情報が「空きブロック」であるかどうか第2のテーブルでチェックする。 Then increments the value in the pointer register in S141, the following information of the real blocks S142 to check whether the second table or a "free block".

【0073】次の実ブロックの情報が「空きブロック」 [0073] information of the next real block is "free block"
であれば、S143でポインタレジスタの値をその位置に更新する。 If, updates the value of the pointer register in its position in S143. 「空きブロック」でなれればそのブロックにはアクセスできないため、S141のポインタインクリメントへ戻り、消去済みの実ブロックが見つかるまでポインタレジスタの更新は行わない。 Because it does not have access to the block Once you get used in the "free block", return to a pointer increment of S141, it is not updated in the pointer register until you find the real block of erased. 次にS144において書込み処理毎の消去処理の実行/未実行の判定を行い、実行していたならばS145で消去処理の検証をおこなった後、書込み処理を終了する。 Next, a judgment of execution / non-execution of the erasing process for each writing process in S144, after carried out the verification of the erase processing in S145, if you were running, and ends the writing process. 未実行の場合は、 In the case of non-execution,
そのまま書込み処理を終了する。 As it is to end the writing process.

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

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

【0076】ここで空きアクセスブロックとは、そのブロックは消去処理を行った直後の状態にあり、ブロック内にデータは存在せず、書込みを行うことが可能なブロックであることを示している。 [0076] Here in free access block, the block is in the state of immediately after erasing process, the data is not present in the block, indicating a block that can be written. 有効アクセスブロックとは、空きアクセスブロックに一度書込を行った状態で、 The effective access block, once a state of performing a write to the free access block,
そのブロック内のデータは読出し可能であることを示している。 It indicates that the data in the block can be read. そして無効アクセスブロックとは、そのブロック内にデータは存在するが、その論理アドレスに対する再書込みが実行され実際のデータは他のブロックに書込まれているため、そのブロックは消去可能であることを示している。 And the invalid access block, that although the data in the block is present, the actual data rewriting is performed for the logical address because it is written to another block, the block can be erased shows.

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

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

【0079】超えなかった場合は、ブロックの移動処理を行わずS166に進む。 [0079] If you did not exceeded, the process proceeds to S166 without performing the process of moving the block. ブロックの移動処理判定のための割合xは、任意に設定できる。 Ratio x for moving the processing decision block can be arbitrarily set. 例えばxの値を70 For example, 70 the value of x
に設定した場合、本例では、消去ブロック1中の総ブロック数8のうちの70%、つまり無効アクセスブロックが6以上の場合、ブロックの移し変えを行うことになる。 If set to, in this example, 70% of the total number of blocks 8 in the erase block 1, ie invalid access block is the case of 6 or more, will perform was transferred block. 本例では無効アクセスブロックは6であり該当するためブロックの移し変えが実行される。 Invalid access block in the present example was transferred in blocks to corresponding a 6 is performed. 80%に設定した場合は、移し変えは7以上となり、本例では当てはまらない。 If set to 80%, it transferred changed becomes 7 or more, not the case in this example. つまりxの値を可変にすることにより、ブロックの移動処理判定の基準を変えることができる。 That by the value of x in a variable, it is possible to change the reference of the moving processing determination block.

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

【0081】有効アクセスブロック1,2を消去ブロック2の空きアクセスブロック1,2に移し変えた後、S [0081] After transferred to a free access blocks 1 and 2 of the erase block 2 a valid access block 1,2, S
164にて消去ブロック2の空きアクセスブロック1, Free access block 1 of the erase block 2 at 164,
2の実ブロックアドレスを第1のテーブルに登録する。 The actual block address 2 is registered in the first table.

【0082】次にS165において消去ブロック1内の有効アクセスブロックがあった所のデータは意味を持たないものとなるので、そのブロックに対応する第2のテーブルの情報を「有効ブロック」から「無効ブロック」 [0082] Since then data where there is an effective access block in the erase block 1 in S165 becomes no meaning, "disable information of the second table corresponding to the block from the" valid block " block"
に変える。 Change to. また、移し変えた先の消去ブロック2内のアクセスブロック1,2に対応する第2のテーブルの情報を「空きブロック」から「有効ブロック」に変える。 Also, changing the information in the second table corresponding to the access blocks 1 and 2 in the previous erase block 2 was transferred from the "empty blocks," the "effective blocks". この処理の結果、消去ブロック1内の全てのアクセスブロックはデータ自体は存在するが読み出し/書き込みの状態は無効となり、消去ブロック1は一括消去を実行することが可能となる。 The result of this process, all of the access block is data itself exists in the read / write state in the erase block 1 is disabled, erase block 1 it is possible to perform the collective erasing.

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

【0084】この後、消去処理動作において、消去ブロック単位内のアクセスブロックが全て「無効ブロック」 [0084] After this, in the erasing processing operation, all of the access block in the erase block unit "invalid block"
である消去ブロックを一括消去すればよい。 The erase block is can be erased collectively.

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

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

【0087】本実施例は、特定のシステムにおいてはファイルの読み出し/書き込みごとに必ずアクセスされる論理ブロックアドレス(例えば、DOSのFATやディレクトリ領域)が存在し、これらは当然その書き換え回数も多いことを鑑み、この領域をフラッシュメモリに比べてアクセスが高速で、書き換え回数による寿命が遙に長いFRAM51で構成するようにしたものである。 [0087] This example logical block address is always accessed for each read / write a file in a particular system (e.g., FAT and directory area of ​​the DOS) is present, that these are often naturally also the number of rewrites the view, the access than the area in the flash memory is a high speed, in which life due rewrite count is to constitute a long FRAM51 a much. これにより、データアクセスを高速化でき、同時にフラッシュメモリの書き換え回数の制限による半導体ディスクの寿命を長くすることができる。 This can speed up the data access, it is possible to increase the life of the semiconductor disk by simultaneously rewrite count of the flash memory limitations.

【0088】データ記憶部5内はFRAM51とフラッシュメモリ52から構成される。 [0088] Data storage unit 5 is composed of FRAM51 and flash memory 52. ワークメモリ4内の第3のテーブル43は上位計算機がアクセスする論理アドレスブロックの書き換え回数を格納するものである。 Third table 43 in the work memory 4 is for storing the number of times of rewriting of the logical address block which the host computer has access.

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

【0090】次に、図20に第3のテーブル43の構成を示す。 [0090] Next, the configuration of the third table 43 in FIG. 20. 上位計算機がアクセスする論理ブロックアドレスに対応し、各々の論理ブロックアドレスの書き換え回数を格納する。 Corresponding to the logical block address host computer accesses, and stores the number of times of rewriting each of the logical block address. 本例では、0001番地はまだアクセスがなく、0030番地は既に1024回書き込みアクセスが実行されていることを表している。 In this example, it indicates that the 0001 address is still no access, 0,030 addresses already 1024 times write access is being performed.

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

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

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

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

【0095】そこでS180とS181において書き込み処理ごとにそれぞれフラッシュメモリ領域の中で最も書き換え回数の多い論理ブロックアドレスとFRAM領域の中で最も書き換え回数の少ない論理ブロックアドレスをサーチし、S182においてFRAM領域の最小書き換え回数の論理ブロックアドレスよりもフラッシュメモリ領域の最大書き換え回数の論理ブロックアドレスの方が書き換え回数が大きい場合は、S183においてお互いの実ブロック内のデータを入れ替える。 [0095] Therefore S180 and searches the most number of rewrites less logical block address in the most number of times of rewriting with many logical block address and FRAM region within each flash memory area for each writing process in S181, the FRAM region in S182 If the minimum towards the logical block address of the maximum number of times of rewriting the flash memory space than the logical block address of the rewrite count is larger number of times of rewriting, replacing the data in real block each other in S183. さらに入れ替えを行った場合、第1のテーブル41の内容を更新しておく。 If further subjected to replacement, keep updating the contents of the first table 41. 入れ替えが必要ない場合は、何もせず書き込み処理を終了する。 Replacement may not be necessary, nothing to end the writing process without.

【0096】このような処理を実行することにより、常にFRAM領域に書き換え回数の多い論理ブロックアドレスが格納され、これにより半導体ディスクの装置寿命を延ばすことが可能になるとともに、アクセスの平均速度を高速にすることができる。 [0096] By executing such a process, is always stored many logical block address of the number of times of rewriting in the FRAM region, it becomes possible to extend the device life of the semiconductor disk Thereby, fast average speed of access it can be.

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

【0098】 [0098]

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

【0099】また、データ記憶部を書き込み可能回数の異なる2つの不揮発性メモリで構成し、書き込み頻度の多いセクタを書き込み可能回数が大である不揮発性メモリへ格納するといった構成により、フラッシュメモリ等の書き換え回数の制限のあるメモリ素子を用いても大容量で、しかも装置寿命の長いファイル装置を実現可能となるといった利点を有している。 [0099] Also, constituted by two non-volatile memory that allows the number of different write data storage unit, the configuration such as the permitted number write more sectors of write frequency is stored in the nonvolatile memory is larger, such as a flash memory even using a memory device with a number of rewrites limited by mass, yet has the advantage that it becomes possible to realize a long file system of the device lifetime.

【0100】また、ポインタレジスタに設定されるデータ書込み先の実ブロックアドレスを任意に設定可能な構成にすることにより、特定の実ブロックアドレスに対する書込みの集中を避けることができ装置寿命を延ばすことが可能となるといった利点を有している。 [0100] Also, by the actual block address of data write destination that is set in the pointer register arbitrarily set configurable, and extend the device lifetime can avoid concentration of writing to a particular real block address have an advantage made possible.

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【符号の説明】 DESCRIPTION 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 working memory 5 data storage unit 6 the memory controller 7 buffer memory 8 registers the operation unit 9 the pointer register 41 the first table 42 second table 43 the third table 51 FRAM 52 flash memory 101 and 111 address bus 102, 112, data bus 103 and 113 control signal bus

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

Claims (18)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 電気的に書き込みが可能な不揮発性メモリからなるデータ記憶部と、 前記データ記憶部に対する制御を行う制御手段と、 接続される上位計算機とデータの入出力を行う入出力手段とで構成され、一定のブロック単位で上位計算機から論理ブロックアドレス指定でデータアクセスが実行される半導体メモリ装置において、 前記上位計算機からアクセス時に指定される論理ブロックアドレスを前記データ記憶部の実メモリ空間上の実ブロックアドレスに変換する第1のテーブルと、 前記実ブロックアドレスに対応してその実ブロックアドレス内のデータの状態を管理する第2のテーブルとを備えることを特徴とする半導体メモリ装置。 And 1. A data storage unit for electrically writing a non-volatile memory as possible, and a control means for performing control on the data storage unit, and output means for inputting and outputting host computer and the data to be connected in the configuration, in a semiconductor memory device in which data access is performed by the logical block address designated from the host computer at a constant block, the logical block address specified at the time of access from the host computer the data storage unit of the real memory space a first table for converting the real block address of the corresponding to the actual block address semiconductor memory device, characterized in that it comprises a second table for managing the status of the data of the real block address.
  2. 【請求項2】 請求項1記載において、前記データ記憶部へのデータ書込み時における書込み可能な実ブロックアドレスを格納しているポインタレジスタと、 前記ポインタレジスタに対しデータ書込み時における書込み先実ブロックアドレスを設定するレジスタ操作部とを備えていることを特徴とする半導体メモリ装置。 2. The method of claim 1, wherein, data and pointer register storing writable real block address at the time of writing, the write destination real block address at the time of data writing to said pointer register to the data storage unit the semiconductor memory device characterized by comprising a register operation unit for setting.
  3. 【請求項3】 請求項1記載において、前記論理ブロックへの書き込み回数を格納する第3のテーブルを備えたことを特徴とする半導体メモリ装置。 3. The method of claim 1, wherein the semiconductor memory device characterized by comprising a third table for storing the number of writes to the logical block.
  4. 【請求項4】 請求項1記載において、論理ブロックアドレスが示すアドレス空間より実ブロックアドレスが示すアドレス空間のほうが大きいことを特徴とする半導体メモリ装置。 4. The method of claim 1, wherein the semiconductor memory device, characterized in that more of the address space indicated by the actual block address than the address space indicated by the logical block address is large.
  5. 【請求項5】 請求項1記載において、第2のテーブルの内容が対応する実ブロックの状態である、空きブロック,データ格納済みブロック,消去可能ブロックの少なくとも3つの状態を表すコードを格納していることを特徴とする半導体メモリ装置。 5. The method of claim 1 wherein, the contents of the second table is the state of the corresponding real block, a free block, the data already stored block, and stores a code representing the at least three states of the erasable block the semiconductor memory device characterized by there.
  6. 【請求項6】 請求項1記載において、前記データ記憶部が少なくとも1つのアクセスブロックを含む消去ブロック単位で消去ができる不揮発性メモリで構成されていることを特徴とする半導体メモリ装置。 6. The method of claim 1, wherein the semiconductor memory device, wherein the data storage unit is a nonvolatile memory that can be erased by the erase block unit comprising at least one access block.
  7. 【請求項7】 請求項6記載において、前記データ記憶部を構成する不揮発性メモリがフラッシュ型EEPRO 7. The method of claim 6, wherein the data storage unit constituting the nonvolatile memory is a flash type EEPRO
    Mであることを特徴とする半導体メモリ装置。 The semiconductor memory device which is a M.
  8. 【請求項8】 請求項3記載において、前記第1のテーブル、第2のテーブルならびに第3のテーブルの少なくともいずれか1つのテーブルが、データ記憶部の不揮発性メモリより書き換え可能回数が大で、バイト単位で書き込み、又は消去可能な不揮発性メモリに格納されていることを特徴とする半導体メモリ装置。 8. The method of claim 3, wherein the first table, the second table and the third at least one of the tables of the table, the number of rewritable times than non-volatile memory of the data storage unit is large, writing in bytes, or a semiconductor memory device, characterized in that stored in the erasable nonvolatile memory.
  9. 【請求項9】 請求項8記載において、前記テーブルを格納する不揮発性メモリがFRAMであることを特徴とする半導体メモリ装置。 9. The method of claim 8, wherein the semiconductor memory device, wherein the non-volatile memory for storing the table is FRAM.
  10. 【請求項10】 請求項1記載において、前記データ記憶部が少なくとも1つのアクセスブロックを含む消去ブロック単位で消去ができる第1の不揮発性メモリと、書き換え可能回数が前記第1の不揮発性メモリより大で、 10. The method of claim 1, wherein the data storage unit and a first non-volatile memory that can be erased by the erase block unit comprising at least one access block, from the rewritable number of times the first non-volatile memory in large,
    アクセスブロックもしくはアクセスブロック以下のバイト単位で書き込み、又は消去可能な第2の不揮発性メモリで構成され、 オペレーティングシステムの管理するデータ領域を第1 Writing access block or access block following bytes, or consists of erasable second non-volatile memory, a data area managed by the operating system first
    の不揮発性メモリに格納し、FAT,ディレクトリ等のファイル管理領域を第2の不揮発性メモリに格納することを特徴とする半導体メモリ装置。 Of stored in the nonvolatile memory, FAT, a semiconductor memory device characterized by storing a file management area of ​​the directory, such as the second non-volatile memory.
  11. 【請求項11】 請求項3記載において、前記データ記憶部が少なくとも1つのアクセスブロックを含む消去ブロック単位で消去ができる第1の不揮発性メモリと、書き換え可能回数が前記第1の不揮発性メモリより大で、 11. The method of claim 3, wherein the data storage unit and a first non-volatile memory that can be erased by the erase block unit comprising at least one access block, from the rewritable number of times the first non-volatile memory in large,
    アクセスブロックもしくはアクセスブロック以下のバイト単位で書き込み、又は消去可能な第2の不揮発性メモリで構成され、 前記第3のテーブルに格納される論理ブロックアドレスへの書き込み回数の多いブロックから前記第2の不揮発性メモリに格納し、前記第2の不揮発性メモリに格納できない残りのブロックを第1不揮発性メモリに格納することを特徴とする半導体メモリ装置。 Writing access block or byte following access block, or a second erasable is a nonvolatile memory, from the third more blocks of number of writes to the logical block addresses stored in the table the second the semiconductor memory device characterized by storing in the nonvolatile memory, and stores the remaining blocks that can not be stored in the second nonvolatile memory to the first non-volatile memory.
  12. 【請求項12】 請求項10または請求項11記載において、前記第1の不揮発性メモリがフラッシュ型EEP 12. The claim 10 or claim 11, wherein said first non-volatile memory is a flash type EEP
    ROMで、第2の不揮発性メモリがFRAMであることを特徴とする半導体メモリ装置。 ROM, a semiconductor memory device in which the second non-volatile memory characterized in that it is a FRAM.
  13. 【請求項13】 電気的に書き込みが可能で、かつ所定の単位で電気的に消去が可能な不揮発性メモリからなるデータ記憶部と、 前記データ記憶部に対する制御を行う制御手段と、 接続される上位計算機とデータの入出力を行う入出力手段と前記上位計算機からアクセス時に指定される論理ブロックアドレスを前記データ記憶部の実メモリ空間上の実ブロックアドレスに変換する第1のテーブルと、 前記実ブロックアドレスに対応して、その実ブロックアドレス内のデータの状態を管理する第2のテーブルとから構成され、一定のブロック単位で上位計算機から論理ブロックアドレス指定でデータアクセスを実行する半導体メモリ装置の制御方法において、 前記上位計算機によるデータ読み出し処理時には、前記第1のテーブルにより論理 13. A electrically writable and composed of electrically erasable nonvolatile memory in a predetermined unit data storage unit, wherein the control means for performing control for the data storage unit is connected a first table for converting the logical block address specified at the time of access from the host computer and the host computer and output means for inputting and outputting data to the real block address in the real memory space of the data storage unit, the actual corresponding to the block address is constituted by a second table for managing the status of the data of the real block addresses, control of the semiconductor memory device for executing data access in the logical block address designated from the host computer at a constant block in the method, at the time of data reading processing by the host computer, logic by the first table ロックアドレスを実ブロックアドレスに変換するステップと、変換した実ブロックから読み出したデータを上位計算機に転送するステップを有し、 前記上位計算機からのデータ書き込み処理時には、前記第2のテーブルよりデータの書き込み可能な空きブロックを検索するステップと、その空きブロックへデータを書き込むステップと、データを書き込んだブロックの実ブロックアドレスを第1のテーブルに書き込むことにより実ブロックアドレスと論理ブロックアドレスの対応ずけを行うステップと、上記一連のデータ書き込み処理とは独立してデータを消去するステップを有していることを特徴とする半導体メモリ装置の制御方法。 Converting the lock address into a real block address, comprising the step of transferring the read data from the converted real block to the host computer, the data write processing from the host computer, the write of the data from the second table retrieving free blocks available, and writing the data to the free block, the corresponding tame the real block addresses and the logical block address by writing the real block addresses of written blocks of data to the first table step a method of controlling a semiconductor memory device characterized by comprising the step of erasing the data independently of the sequence of data write processing performed.
  14. 【請求項14】 電気的に書き込みが可能で、かつ所定の単位で電気的に消去が可能な不揮発性メモリからなるデータ記憶部と、 前記データ記憶部に対する制御を行う制御手段と、 接続される上位計算機とデータの入出力を行う入出力手段と前記上位計算機からアクセス時に指定される論理ブロックアドレスを前記データ記憶部の実メモリ空間上の実ブロックアドレスに変換する第1のテーブルと、 前記実ブロックアドレスに対応して、その実ブロックアドレス内のデータの状態を管理する第2のテーブルと前記データ記憶部上の書き込み可能な実ブロックアドレスを格納しているポインタレジスタとを備える半導体メモリ装置の制御方法において、 前記上位計算機からのデータ書き込み処理時に、前記データ記憶部の特定の実ブロックア 14. A electrically writable and composed of electrically erasable nonvolatile memory in a predetermined unit data storage unit, wherein the control means for performing control for the data storage unit is connected a first table for converting the logical block address specified at the time of access from the host computer and the host computer and output means for inputting and outputting data to the real block address in the real memory space of the data storage unit, the actual in response to the block address, control of the semiconductor memory device and a pointer register which stores the second table and writable real block address on the data storage unit for managing the state of data of the actual block address in the method, during the process of writing data from the host computer, particular real block a of the data storage unit レスに書き込みが集中しないように前記ポインタレジスタに対して設定する実ブロックアドレスをデータ書き込み毎に順次変えていくステップを有することを特徴とする半導体メモリ装置の制御方法。 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】 電気的に書き込みが可能で、かつ所定の単位で電気的に消去が可能な不揮発性メモリでデータ記憶部が構成され、一定のブロック単位で上位計算機から論理ブロックアドレス指定でデータアクセスがされる半導体メモリ装置の制御方法において、 前記データ記憶部が複数のメモリで構成され、前記上位計算機からのデータアクセスに対して所望のデータが格納されているメモリについてのデータアクセス処理と、 15. electrically writable and data storage unit in an electrically erasable nonvolatile memory in a predetermined unit is configured, the data in a logical block address designated from the host computer at a constant block a method of controlling a semiconductor memory device to which access is, the data storage unit is composed of a plurality of memory, and data access processing for the memory of the desired data to the data access from the host computer is stored,
    それとは別のメモリに対する消去対象ブロックの消去処理とが同時に行えることを特徴とする半導体メモリ装置の制御方法。 Control method of a semiconductor memory device and erasing process erased block to another memory is characterized in that performed simultaneously with it.
  16. 【請求項16】 電気的に書き込みが可能で、かつ所定の単位で電気的に消去が可能な不揮発性メモリでデータ記憶部が構成され、一定のブロック単位で上位計算機から論理ブロックアドレス指定でデータアクセスがされる半導体メモリ装置の制御方法において、 前記データ記憶部の消去ブロック単位が読み出しおよび書き込みが可能なアクセスブロック単位よりも大きく、 16. electrically writable and data storage unit in an electrically erasable nonvolatile memory in a predetermined unit is configured, the data in a logical block address designated from the host computer at a constant block a method of controlling a semiconductor memory device to which access is greater than the erase block unit reading and writing possible access blocks of the data storage unit,
    その消去ブロックサイズ内に複数の前記アクセスブロックが存在し、 無効なアクセスブロックの数が消去ブロックサイズ内の予め定められたしきい値以上になった場合に、その消去ブロック内に存在する有効なアクセスブロックを他のブロックへ移動させた後、前記消去ブロックの消去処理を行うことを特徴とする半導体メモリ装置の制御方法。 There are a plurality of the access block in the erase block size, if the number of invalid access block is equal to or greater than a predetermined threshold within the erase block size, effective existing in the erase block after moving the access block to another, the control method of the semiconductor memory device characterized by erasing processing of the erase block.
  17. 【請求項17】 請求項16記載において、前記しきい値が前記データ記憶部における空きブロックの総数に応じて変更可能であることを特徴とする半導体メモリ装置の制御方法。 17. The method of claim 16, wherein, the control method of the semiconductor memory device, wherein the threshold value can be changed depending on the total number of free blocks in said data storage unit.
  18. 【請求項18】 電気的に書き込みが可能で、かつ少なくとも1つのアクセスブロックを含む消去ブロック単位で消去ができる第1の不揮発性メモリと、書き換え可能回数が前記第1の不揮発性メモリより大で、アクセスブロックもしくはアクセスブロック以下のバイト単位で書き込み、又は消去可能な第2の不揮発性メモリとからなるデータ記憶部と、 前記データ記憶部に対する制御を行う制御手段と、 接続される上位計算機とデータの入出力を行う入出力手段と、 前記上位計算機からアクセス時に指定される論理ブロックアドレスを前記データ記憶部の実メモリ空間上の実ブロックアドレスに変換する第1のテーブルと、 前記実ブロックアドレスに対応して、その実ブロックアドレス内のデータの状態を管理する第2のテーブルと、 前 18. electrically writable and a first non-volatile memory that can be erased by the erase block unit comprising at least one access block, the number of rewritable times with a large than the first non-volatile memory , writing access block or following byte access block, or the second non-volatile memory and a data storage unit consisting erasable, and a control means for performing control on the data storage unit, host computer, which is connected to the data and output means for inputting and outputting a first table for converting the logical block address into a real block address in the real memory space of the data storage unit specified at the time of access from the host computer, the real block address correspondingly, a second table for managing the status of the data in the real block address, before 論理アドレス単位の書き込み回数を格納する第3のテーブルとで構成される半導体メモリ装置の制御方法において、 前記第3のテーブルに格納される論理ブロックアドレスに対する書き換え回数の多いブロックから前記第2の不揮発性メモリに格納し、前記第2の不揮発性メモリに格納できない残りブロックを第1の不揮発性メモリに格納するステップを有することを特徴とする半導体メモリ装置の制御方法。 A method of controlling a semiconductor memory device and a third table for storing the write count of the logical address basis, the second non-volatile from more blocks of rewriting count for a logical block address stored in said third table control method of a semiconductor memory device characterized by comprising the step of storing sexual memory stores the remaining blocks that can not be stored in the second nonvolatile memory to the first non-volatile memory.
JP26180694A 1993-10-01 1994-09-30 Semiconductor memory device and its control method Pending JPH07219720A (en)

Priority Applications (3)

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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
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 (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
JP2008033911A (en) * 2006-07-27 2008-02-14 Hitachi Ltd Method and device for migrating data between storage volumes
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
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
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

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6189081B1 (en) 1996-05-24 2001-02-13 Nec Corporation Non-volatile semiconductor storage with memory requirement and availability comparison means and method
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
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
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
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
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
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
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
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
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
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
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
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
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
US6944060B2 (en) 2002-02-08 2005-09-13 Matsushita Electric Industrial Co., Ltd. Non-volatile storage device and control method thereof
WO2003067605A1 (en) * 2002-02-08 2003-08-14 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
US7958287B2 (en) 2003-09-29 2011-06-07 Kabushiki Kaisha Toshiba Semiconductor storage device and method of controlling the same
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
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
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
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, a nonvolatile memory device and a nonvolatile memory system
JP2008033911A (en) * 2006-07-27 2008-02-14 Hitachi Ltd Method and device for migrating data between storage volumes
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

Similar Documents

Publication Publication Date Title
US5742934A (en) Flash solid state disk card with selective use of an address conversion table depending on logical and physical sector numbers
US5860082A (en) Method and apparatus for allocating storage in a flash memory
US5640529A (en) Method and system for performing clean-up of a solid state disk during host command execution
JP4926982B2 (en) How to manage the copy operation in the flash memory
US6105075A (en) Scatter gather memory system for a hardware accelerated command interpreter engine
US6751155B2 (en) Non-volatile memory control
US5875349A (en) Method and arrangement for allowing a computer to communicate with a data storage device
JP3078946B2 (en) Management method and a semiconductor disk device of the batch erasable nonvolatile memory
US8135925B2 (en) Methods of operating a memory system
US6938144B2 (en) Address conversion unit for memory device
KR100441608B1 (en) NAND flash memory interface device
EP0852765B1 (en) Memory management
US5787484A (en) System and method which compares data preread from memory cells to data to be written to the cells
US5963983A (en) Method and apparatus for dynamically creating conversion tables to access a semiconductor memory device
US5457658A (en) Nonvolatile memory with cluster-erase flash capability and solid state file apparatus using the same
US5630093A (en) Disk emulation for a non-volatile semiconductor memory utilizing a mapping table
CN1137440C (en) Nonvalatile writeable memory with program suspend command
US6148441A (en) Method for reprogramming flash ROM in a personal computer implementing an EISA bus system
US6236593B1 (en) Method for simultaneously programming plural flash memories having invalid blocks
EP1036364B1 (en) Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
EP1693739B1 (en) Method of writing data to non-volatile memory
US6151247A (en) Method and apparatus for decreasing block write operation times performed on nonvolatile memory
US7302517B2 (en) Apparatus and method for controlling execute-in-place (XIP) in serial flash memory, and flash memory chip using the same
US8503235B2 (en) Nonvolatile memory with faulty cell registration
US4466059A (en) Method and apparatus for limiting data occupancy in a cache

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20021119