JP3524428B2 - Storage, storage systems, memory management method and a recording medium - Google Patents

Storage, storage systems, memory management method and a recording medium

Info

Publication number
JP3524428B2
JP3524428B2 JP11222299A JP11222299A JP3524428B2 JP 3524428 B2 JP3524428 B2 JP 3524428B2 JP 11222299 A JP11222299 A JP 11222299A JP 11222299 A JP11222299 A JP 11222299A JP 3524428 B2 JP3524428 B2 JP 3524428B2
Authority
JP
Japan
Prior art keywords
address
data
block
memory
table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP11222299A
Other languages
Japanese (ja)
Other versions
JP2000305839A (en
Inventor
強 高橋
Original Assignee
東京エレクトロンデバイス株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 東京エレクトロンデバイス株式会社 filed Critical 東京エレクトロンデバイス株式会社
Priority to JP11222299A priority Critical patent/JP3524428B2/en
Publication of JP2000305839A publication Critical patent/JP2000305839A/en
Application granted granted Critical
Publication of JP3524428B2 publication Critical patent/JP3524428B2/en
Anticipated expiration legal-status Critical
Application status is Expired - Fee Related legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0602Dedicated interfaces to storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0668Dedicated interfaces to storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers

Description

【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明は、記録媒体を用いたデータ処理システム及び記録媒体へのアクセスを行うためのプログラムを記憶したコンピュータ読み取り可能なプログラム記録媒体に関する。 BACKGROUND OF THE INVENTION [0001] [Technical Field of the Invention The present invention provides a computer-readable program recording medium storing a program for accessing the data processing system and recording medium using a recording medium on. 【0002】 【従来の技術】コンピュータ等によりアクセス(データの読み書き及び消去)可能な記録媒体として、EEPR 2. Description of the Prior Art (write and erase data) accessed by a computer or the like capable of recording medium, EEPR
OM(Electrically Erasable/Programable Read Only OM (Electrically Erasable / Programable Read Only
Memory)フラッシュメモリが用いられている。 Memory) flash memory is used. フラッシュメモリは、データの消去が所定の記憶容量の単位(一般に「ブロック」と呼ばれる)で行われる。 Flash memory, data is erased in units of a predetermined storage capacity (commonly referred to as "blocks"). 【0003】フラッシュメモリのうち、特にNAND型のものは、データの記憶が正常に行えない不良ブロックの発生を製造段階で十分に防止することが困難である。 [0003] Among the flash memory, particularly those of the NAND type, it is difficult to store the data is sufficiently prevented at the manufacturing stage the occurrence of can not bad blocks correctly.
このため、従来より、各ブロックに割り当てられる物理アドレスとは別個の連続した論理アドレスを正常なブロックに動的に割り当て、論理アドレスとの対応関係を表すアドレス変換テーブルを作成する等して、アドレスが不連続となることによる外部からのアクセス手順の複雑化を回避している。 Therefore, conventionally, dynamically assigned to a normal block separate consecutive logical addresses and physical addresses assigned to each block, and the like to create an address conversion table indicating the correspondence between the logical addresses, the address There has been prevented from being complicated access procedures from outside due to the discontinuous. 【0004】ただ、ブロックに割り当てられた全ての論理アドレスと物理アドレスとの対応関係を表すアドレス変換テーブルを作成した場合、フラッシュメモリの記憶容量が大きくなるほど、アドレス変換テーブルが含むデータの量も大きくなる。 [0004] However, when you create an address conversion table indicating the correspondence between all logical addresses and physical addresses assigned to the blocks, the greater storage capacity of the flash memory, even the amount of data included in the address conversion table larger Become. このため、アドレス変換テーブルを記憶するための記憶装置もより記憶容量が大きいものとしなければならなくなり、装置の構成が複雑となる。 Therefore, a storage device for storing an address conversion table also will need to be more that the storage capacity is large, the structure of the apparatus becomes complicated. 【0005】そこで、従来より、各ブロックを複数のゾーンに分類し、アドレス変換テーブルは、これらのゾーンのうちの一つに属するブロックについて、論理アドレス及び物理アドレスの対応関係を表すようにする、という手法が用いられていた。 [0005] Therefore, conventionally, classifies each block into a plurality of zones, the address conversion table for blocks belonging to one of these zones, to represent the relationship between the logical addresses and physical addresses, technique that has been used. この場合、他のゾーンに属するブロックへのアクセスの要求があったときは、そのゾーンに属するブロックの論理アドレス及び物理アドレスの対応関係を表すようにアドレス変換テーブルを作成し直す、という手法が用いられていた。 In this case, when a request for access to the block belonging to another zone, re-create the address conversion table to represent the relationship between the logical and physical addresses of the blocks belonging to that zone, techniques that are used It is to have. 【0006】 【発明が解決しようとする課題】しかし、アドレス変換テーブルを作成し直す処理には、一つのゾーンに属するブロック全体を検索する処理が含まれるので、処理時間が増大する。 [0006] The present invention is to provide, however, the process of re-creating an address conversion table, because it contains processing for searching an entire block belonging to one zone, the processing time increases. また、一般に、OS(Operating System) Also, in general, OS (Operating System)
の制御の下にフラッシュメモリの記憶内容を管理する場合には、OSが管理する各データとこれらデータが記憶されている論理アドレスとの対応関係を示すFAT(Fi When managing the storage contents of the flash memory under the control of, FAT showing the relationship between the logical addresses each data and these data managed by the OS is stored (Fi
le Allocation Table)等がフラッシュメモリに書き込まれる。 le Allocation Table) or the like is written to the flash memory. このため、FAT等にアクセスするためのアドレス変換テーブルの作成の処理が発生する頻度が更に増大する。 Therefore, the frequency of the processing of creating the address conversion table for accessing the FAT or the like occurs is further increased. 【0007】この発明は上記実状に鑑みてなされたもので、データにアクセスする際にアドレス変換テーブルを作成する頻度が少ない記憶装置、記憶システム、メモリ管理方法を提供することを目的とする。 [0007] The present invention has been made in view of the above circumstances, and its object is to provide frequent small storage device to create an address conversion table to access data, the storage system, a memory management method. 【0008】 【課題を解決するための手段】上記目的を達成するため、本発明の第1の観点にかかる記憶装置は、各々が複数のゾーンのいずれかに属し、物理アドレスを割り当てられた、データを記憶するための複数のメモリブロックを含む記憶手段と、前記メモリブロックに記憶されている前記データを読み出して外部に出力する読み出し手段と、を備え、所定の前記ゾーンに属する前記メモリブロックは、前記記憶手段に記憶されているデータと該データが記憶されているメモリブロックの論理アドレスとの対応関係を表すデータ配置テーブルを記憶するデータ配置記憶手段を備え、前記読み出し手段は、前記論理アドレスと、前記データ配置テーブルを記憶する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第 [0008] [Means for Solving the Problems] To achieve the above object, a storage device according to a first aspect of the present invention, each belongs to one of a plurality of zones, the assigned physical addresses, storage means including a plurality of memory blocks for storing data, said reading the data stored in the memory block and a read means for outputting to the outside, the memory block belonging to a predetermined said zone , a data arrangement storing means for storing the data arrangement table representing the relationship between the logical address of the memory block in which the data and the data stored in the storage means is stored, said reading means, said logical address When, the stores information representing the correspondence between the physical addresses of the memory blocks for storing the data arrangement table 1のアドレス変換テーブルを作成して記憶する第1のテーブル記憶手段と、外部からの指示に応答し、前記第1のアドレス変換テーブルに基づいて、前記データ配置テーブルを記憶するメモリブロックの物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックより前記データ配置テーブルを読み出し、外部に供給するデータ配置テーブル検索手段と、読み出し対象の前記データを示す論理アドレスを外部より取得し、取得した前記論理アドレスに基づいて、該論理アドレスが示すメモリブロックが属するゾーンを特定するゾーン特定手段と、前記論理アドレスと、前記ゾーン特定手段が特定したゾーンに属する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第2のアドレス変換テーブルを自己が記憶 A first table memory means for generating and storing a first address conversion table, in response to an instruction from the outside, on the basis of the first address conversion table, a physical address of a memory block for storing the data arrangement table identify reads the data arrangement table from the memory block indicated by the identified physical address, externally obtained a logical address indicating the data arrangement table search means for supplying to the outside, the data to be read and acquired the based on the logical address, and a zone identifying means for identifying a zone in which the memory block belongs indicated logical address, and the logical address, a correspondence between the physical addresses of the memory blocks belonging to the zone of zone specifying means has specified self stores the second address conversion table that stores information indicating ているか否かを判別し、記憶していないと判別したとき、前記第2のアドレス変換テーブルを作成して記憶する第2のテーブル記憶手段と、 And it discriminates whether or not the that, when it is judged that no store a second table memory means for generating and storing the second address conversion table,
前記第2のアドレス変換テーブルに基づいて、 読み出し Based on the second address conversion table, reading
対象の前記データの論理アドレスが示す物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックに格納されている前記データを読み出して出力するデータ検索手段と、 前記データ検索手段が特定した物理ア Identify the physical address indicated by the logical address of the data object, the data retrieval unit that reads out and outputs the data stored in the memory block, the physical A of the data retrieval means has identified that indicated by the specified physical address
ドレス及び該物理アドレスを示す論理アドレスを互いに Together a logical address indicating an address and the physical address
対応づけて記憶するアクセス履歴記憶手段と、を備え、 Includes an access history storage means for storing in association with, a,
前記データ検索手段は、前記アクセス履歴記憶手段が記 Said data retrieval means, said access history memory means serial
憶する論理アドレス及び物理アドレスに基づいて、前記 Based on the logical address and physical address憶, the
データ配置テーブル検索手段が特定した論理アドレスが Data arrangement table search means the logical address identified
示す物理アドレスを特定する手段を備える、ことを特徴とする。 And means for specifying a physical address indicated, characterized in that. 【0009】このような記憶装置によれば、データ配置テーブルが格納されたブロックの論理アドレスを表す第1のアドレス変換テーブルは、ゾーン特定手段が特定したゾーンの如何に関わらず記憶され続ける。 According to such a storage device, a first address conversion table indicating the logical address of the block data arrangement table is stored continues to be stored regardless of the zone to zone identification means has identified. このため、 For this reason,
既に記憶されているアドレス変換テーブルが、データ配置テーブルへのアクセスのために書き換えられるという事態は発生しない。 The address conversion table already stored, a situation that is rewritten for access to the data arrangement table is not generated. このため、データにアクセスする処理の遅延が防止される。 Therefore, delay in the processing of accessing the data can be prevented. 【0010】 また 、データ配置テーブル以外のデータにアクセスする場合であっても、アクセス履歴記憶手段が記憶する論理アドレス及び物理アドレスが示すブロックに記憶されたデータへのアクセスであれば、第2のアドレス変換テーブルの作成が行われる必要はなくなる。 Furthermore, even when accessing data other than the data arrangement table, if the logical address and physical access address to the data stored in the block indicated by the access history storage means for storing, in the second It is no longer necessary to create the address conversion table is performed. 従って、データにアクセスする処理は更に効率的となる。 Thus, the process of accessing the data becomes more efficient. 【0011】前記記憶装置は、例えば、データを記憶していない前記メモリブロックから構成される空きブロックを示す情報を格納する空きブロックテーブルを記憶する空きブロックテーブル記憶手段と、書き込み対象のデータ及び論理アドレスが自己に供給されたとき、前記空きブロックテーブルに登録されている空きブロックの中から書き込み対象の空きブロックを選択する空きブロック選択手段と、書き込み対象の前記データを前記空きブロック選択手段により選択された空きブロックに書き込む空きブロック書込手段と、書き込み対象の前記データを書き込んだ空きブロックの物理アドレスと、前記空きブロック選択手段に供給された論理アドレスとの対応付けを表すように前記第2のアドレス変換テーブルを更新する手段と、を備 [0011] The storage device, for example, a free block table storage means for storing a free block table for storing information indicating the free block composed of the memory block that does not store data, data to be written and the logical when the address is supplied to the self-selection, and free block selecting means for selecting a free block to be written out of the free blocks registered in the free block table, the data to be written by said free block selection means and free block writing means for writing in the empty blocks, the second to represent the physical address of the free block, the correspondence between the logical address supplied to the empty block selecting means for writing said data to be written Bei means, the updating of the address conversion table る、ことにより、データの書き込みを行うものであってもよい。 That, by, may perform the data writing. 【0012】 また、本発明の第2の観点にかかる記憶装 [0012] The storage instrumentation according to the second aspect of the present invention
置は、各々が複数のゾーンのいずれかに属し、物理アド Location is, each of which belongs to any one of a plurality of zones, physical address
レスを割り当てられた、データを記憶するための複数の Assigned less, the plurality for storing data
メモリブロックを含む記憶手段と、前記メモリブロック Storage means including a memory block, the memory block
に記憶されている前記データを読み出して外部に出力す It reads the data stored in the to output to the outside
る読み出し手段と、を備え、所定の前記ゾーンに属する Comprising reading means that, to belong to a predetermined said zone
前記メモリブロックは、前記記憶手段に記憶されている The memory block is stored in the storage means
データと該データが記憶されているメモリブロックの論 Logical memory blocks in which data and the data are stored
理アドレスとの対応関係を表すデータ配置テーブルを記 Serial data arrangement table representing the correspondence between the physical address
憶するデータ配置記憶手段を備え、前記読み出し手段 A data arrangement storing means for憶, said reading means
は、前記論理アドレスと、前記データ配置テーブルを記 It includes the logical address, the data arrangement table serial
憶する前記メモリブロックの物理アドレスとの対応関係 Correspondence between the physical addresses of the memory block to憶
を表す情報を格納する第1のアドレス変換テーブルを作 Create a first address conversion table for storing information representing a
成して記憶する第1のテーブル記憶手段と、外部からの A first table storage unit that forms and stores, from the outside
指示に応答し、前記第1のアドレス変換テーブルに基づ In response to the instruction, based on the first address conversion table
いて、前記データ配置テーブルを記憶するメモリブロッ There, the memory block for storing the data arrangement table
クの物理アドレスを特定し、特定した物理アドレスが示 To identify the physical address of the click, the specific physical address shown
す前記メモリブロックより前記データ配置テーブルを読 Reading the data arrangement table than to the memory block
み出し、外部に供給するデータ配置テーブル検索手段 Out look, the data arrangement table search means for supplying to the outside
と、読み出し対象の前記データを示す論理アドレスを外 If, outside the logical address indicating the data to be read
部より取得し、取得した前記論理アドレスに基づいて、 Obtained from parts, based on the acquired logical address,
該論理アドレスが示すメモリブロックが属するゾーンを The zone in which the memory block belongs indicated by the logical address
特定するゾーン特定手段と、前記論理アドレスと、前記 A particular zone specification unit, and the logical address, wherein
ゾーン特定手段が特定したゾーンに属する前記メモリブ The block of memory that belongs to the zone to zone specific means has identified
ロックの物理アドレスとの対応関係を表す情報を格納す To store the information representing the correspondence between the physical addresses of the lock
る第2のアドレス変換テーブルを自己が記憶しているか A second address conversion table or itself stores that
否かを判別し、記憶していないと判別したとき、前記第 When it determined whether, is determined not to be stored, the first
2のアドレス変換テーブルを作成して記憶する第2のテ Second te creating and storing a second address conversion table
ーブル記憶手段と、前記第2のアドレス変換テーブルに And Buru storage means, the second address conversion table
基づいて、読み出し対象の前記データの論理アドレスが Based on the logical address of the data to be read is
示す物理アドレスを特定し、特定した物理アドレスが示 Identifying the physical address, the specific physical address shown indicating
す前記メモリブロックに格納されている前記データを読 Reading the data stored in to the memory block
み出して出力するデータ検索手段と、を備える、ことを It includes a data retrieval means for outputting out look, the, that
特徴とする記憶装置であって、データを記憶していない A storage device according to claim, does not store data
前記メモリブロックから構成される空きブロックを示す Indicating the free block composed of the memory block
情報を格納する空きブロックテーブルを記憶する空きブ Free Bed for storing empty block table of information
ロックテーブル記憶手段と、書き込み対象のデータ及び A lock table storage means, the write target data and
論理アドレスが自己に供給されたとき、前記空きブロッ When the logical address is supplied to the self, the empty block
クテーブルに登録されている空きブロックの中から書き Written from the free block that is registered to click table
込み対象の空きブロックを選択する空きブロック選択手 Free block selection hand to select a free block of the write target
段と、書き込み対象の前記データを前記空きブロック選 Stage and, the free block election the data to be written
択手段により選択された空きブロックに書き込む空きブ Free Bed writing to free block selected by the-option means
ロック書込手段と、書き込み対象の前記データを書き込 Writes a locking writing means, the data to be written
んだ空きブロックの物理アドレスと、前記空きブロック And the physical address of a free block I, the free block
選択手段に供給された論理アドレスとの対応付けを表す Representing the correspondence between the logical address supplied to the selection means
ように前記第2のアドレス変換テーブルを更新する手段 Means for updating the second address conversion table as
と、をさらに備え、前記空きブロックテーブルは、前記データ配置テーブルを記憶する前記メモリブロックを含むゾーンに属する空きブロックを示す情報を格納する第1の空きブロックテーブルと、いずれかのゾーンに属する空きブロックを示す情報を格納する第2の空きブロックテーブルと、を含み、前記空きブロックテーブル記憶手段は、前記ゾーン特定手段が特定したゾーンに属する空きブロック情報を格納する前記第2の空きブロックテーブルを自己が記憶しているか否かを判別し、記憶していないと判別したとき、前記第2の空きブロックテーブルを作成して記憶する手段を備え、前記空きブロック選択手段は、書き込み対象のデータ及び論理アドレスが自己に供給されたとき、前記第2の空きブロックテーブルに登録されている When, further wherein the free block table, the first free block table that stores information indicating the free block that belongs to the zone containing the said memory block for storing the data arrangement table, free belong to one zone includes a second free block table that stores information indicating a block, wherein the free block table storage means, the second free block table for storing free block information belonging to the zone of the zone specification unit has identified self it is determined whether or not the memory, when it is determined that not stored, comprising means for creating and storing the second free block table, the free block selecting means, the write target data and when the logical address is supplied to the self, and is registered in the second empty block table きブロックのうちから書き込み対象の空きブロックを選択する手段を備え、前記空きブロック書込手段が書き込んだ前記データと、前記空きブロック選択手段に供給された論理アドレスとの対応付けを表すように更新された前記データ配置テーブルを、前記第1の空きブロックテーブルに登録されている空きブロックに書き込む手段と、更新された前記データ配置テーブルを記憶している前記メモリブロックが空きブロックであることを表さないように前記第1の空きブロックテーブルを更新する手段と、を備える、ことを特徴とする。 Comprising means for selecting a free block to be written out of the can block, updated to reflect the said data written by said free block writing means, the correspondence between the logical address supplied to the empty block selection means table that the data arrangement table that is, means for writing in said empty block registered in the first empty block table, the memory block that stores the data arrangement table updated is an empty block and means for updating the first free block table so as not to, characterized in that.
このような記憶装置によっても、データ配置テーブルが With such a storage device, the data arrangement table
格納されたブロックの論理アドレスを表す第1のアドレ First address indicating a logical address of the storage block
ス変換テーブルは、ゾーン特定手段が特定したゾーンの Scan conversion table is, of zone zone specific means has identified
如何に関わらず記憶され続ける。 Ikagani continue to be stored regardless. このため、既に記憶さ For this reason, already stored is
れているアドレス変換テーブルが、データ配置テーブル It is to have the address conversion table, the data arrangement table
へのアクセスのために書き換えられるという事態は発生 Situation that is rewritten for access to the generation
しない。 do not do. このため、データにアクセスする処理の遅延が Therefore, delay in the processing of accessing the data
防止される。 It is prevented. また 、データ配置テーブルを更新する際、 Also, when updating the data arrangement table,
データ配置テーブルを記憶するメモリブロックに変更が生じる場合も、ゾーン特定手段が特定したゾーンの如何に関わらず記憶されている第1の空きブロックテーブルを用いて新たなメモリブロックの割り当てが行われる。 Even if changes in the memory block for storing the data arrangement table occurs, the allocation of a new memory block using the first free block table stored regardless of the zone to zone identification means has identified is performed.
一方、データをメモリブロックに書き込む場合は、ゾーン特定手段が特定したゾーン内の空きブロックを示する第2の空きブロックテーブルを用いて新たなメモリブロックの割り当てが行われる。 On the other hand, when data is written to the memory block allocation of a new memory block using the second free block table that shows a free block in the zone of the zone specification unit has identified is performed. 従って、空きブロックテーブル記憶手段の記憶容量が少ない場合であっても、データの書き込みやデータ配置テーブルの更新の処理が効率的に行われる。 Therefore, even if the storage capacity of the free block table storage means is small, processing for updating the data writing or the data arrangement table is performed efficiently. なお、前記データ検索手段が特定した物 Incidentally, those wherein the data retrieval means has identified
理アドレス及び該物理アドレスを示す論理アドレスを互 Each other logical address representing the physical address and the physical address
いに対応づけて記憶するアクセス履歴記憶手段を備えて And an access history storage means for storing in association with the had
もよく、前記データ検索手段は、前記アクセス履歴記憶 May be, the data retrieval means, the access history storage
手段が記憶する論理アドレス及び物理アドレスに基づい Based on the logical address and physical address means for storing
て、前記データ配置テーブル検索手段が特定した論理ア Te, logical A where the data arrangement table search unit identified
ドレスが示す物理アドレスを特定する手段を備えてもよ It is provided with a means to identify the physical address indicated by the dress
い。 There. 【0013】前記空きブロックテーブルは、例えば、前記空きブロックに循環的に付された順序を示す情報を含むものであってもよく、最も新しくデータが格納された空きブロックの次にデータを格納されるべき空きブロックを指定する起点情報を記憶する手段を備えてもよい。 [0013] The empty block table may be, for example, include information indicating the order in which they are cyclically assigned to the empty block is stored next to the data of free blocks most recently data is stored it may comprise means for storing the start point information that specifies Rubeki free blocks.
この場合、前記空きブロック選択手段は、書き込み対象のデータ及び論理アドレスが自己に供給されたとき、前記起点情報が示す空きブロック以降の空きブロックを、 In this case, the free block selecting means, when the data and the logical address of the write target is supplied to the self, the free block of the empty block after showing the start point information,
前記空きブロックテーブルが示す順序に従って順次選択する手段を備えるものとすれば、空きブロックへの書き込みは循環的(サイクリック)になされるので、特定のメモリブロックへの書き込みの集中が回避される。 Assuming comprising means for sequentially selecting the order indicated by the free block table, since the writing to the empty block is made to cyclically (cyclic), it is avoided concentration of writing to a particular memory block. このため、メモリブロックが書き込み回数の増大により劣化するようなものであるような場合には、特定のメモリブロックが集中的に劣化する事態が防止される。 Therefore, when the memory block is as such as to deteriorate due to the increased number of times of writing a particular memory block is a situation to deteriorate intensively is prevented. 【0014】前記起点情報は、例えば、最も新しくデータが格納された空きブロックの次にデータを格納されるべき前記空きブロックの一部に記憶されていてもよい。 [0014] The starting point information, for example, may be stored in a portion of the free block to newest data is stored next to the data of the empty blocks stored.
この場合、前記空きブロック書込手段は、書き込み対象の前記データを書き込んだ前記空きブロックに記憶されている前記起点情報を消去する手段と、最も新しくデータを書き込んだ空きブロックの次の順序が付されている空きブロックの前記一部に前記起点情報を書き込む手段と、を備えることにより、起点情報の移動を行うようにすればよい。 In this case, the empty block writing means, with a means for erasing the start point information stored in the free block is written the data to be written, the following order of free blocks is written most recently data means for writing the start point information to the part of the free blocks are, by providing, may be performed to move the start point information. 【0015】前記メモリブロックは、例えば、データ領域と冗長領域から構成されてもよい。 [0015] The memory block may be, for example, and a data area and a redundant area. この場合、前記起点情報は、最も新しくデータが格納された空きブロックの次にデータを格納されるべき前記空きブロックの前記冗長領域に格納されているものとすればよい。 In this case, the origin information may be assumed to be stored in the redundant area of ​​the free block to newest data is stored next to the data of the empty blocks stored. 【0016】また、この発明の第の観点に係る記憶システムは、各々が複数のゾーンのいずれかに属し、物理アドレスを割り当てられた、データを記憶するための複数のメモリブロックを含む記憶手段と、前記メモリブロックに記憶されている前記データを読み出して外部に出力する読み出し手段と、を備え、所定の前記ゾーンに属する前記メモリブロックは、前記記憶手段に記憶されているデータと該データが記憶されているメモリブロックの論理アドレスとの対応関係を表すデータ配置テーブルを記憶するデータ配置記憶手段を備え、前記読み出し手段は、前記論理アドレスと、前記データ配置テーブルを記憶する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第1のアドレス変換テーブルを作成して記憶する [0016] The storage system according to a third aspect of the invention, each belongs to one of a plurality of zones, the assigned physical addresses, storage means including a plurality of memory blocks for storing data When, and a reading means for reading out and externally outputting the data stored in the memory block, the memory block belonging to a predetermined said zone, data and said data stored in said storage means a data arrangement storing means for storing the data arrangement table representing the relationship between the logical address of the stored memory blocks, said reading means, said logical address and the physical of the memory blocks for storing the data arrangement table creating and storing a first address conversion table that stores information representing the correspondence between the address 1のテーブル記憶手段と、前記第1 A first table storage unit, the first
のアドレス変換テーブルに基づいて、前記データ配置テーブルを記憶するメモリブロックの物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックより前記データ配置テーブルを読み出すデータ配置テーブル検索手段と、前記データ配置テーブル検索手段が読み出した前記データ配置テーブルに基づいて、読み出し対象の前記データを示す論理アドレスを特定する論理アドレス検索手段と、前記論理アドレス検索手段が特定した前記論理アドレスに基づいて、該論理アドレスが示すメモリブロックが属するゾーンを特定するゾーン特定手段と、前記論理アドレスと、前記ゾーン特定手段が特定したゾーンに属する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第2のアドレス変換テーブルを自己が記 Based on the address conversion table, said specifying the physical address of the memory block storing the data arrangement table, and the data arrangement table retrieving means for reading the data arrangement table from the memory block indicated by the identified physical address, the data arrangement based on the data arrangement table table search means is read, a logical address search means for identifying a logical address indicating the data to be read, on the basis of the logical address the logical address retrieval means has identified, logical address second address for storing the zone specifying means for specifying a zone memory block belongs indicated, and the logical address, information representing a correspondence between the physical addresses of the memory blocks belonging to the zone of zone specifying means has specified self serial conversion table しているか否かを判別し、記憶していないと判別したとき、前記第2のアドレス変換テーブルを作成して記憶する第2のテーブル記憶手段と、前記第2のアドレス変換テーブルに基づいて、前記論理アドレス検索手段が特定した論理アドレスが示す物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックに格納されている前記データを読み出して出力するデータ検索手段と、 前記データ検索手段が特定した物 To determine whether it has to, when it is judged that no store a second table memory means for generating and storing the second address conversion table, on the basis of the second address conversion table, said logical address search means identifies the physical address indicated by the logical address identified, and data retrieval means for reading and outputting the data stored in the memory block indicated by the identified physical address, the data retrieval means certain things that were
理アドレス及び該物理アドレスを示す論理アドレスを互 Each other logical address representing the physical address and the physical address
いに対応づけて記憶するアクセス履歴記憶手段と、を備 Bei and access history storage means for storing in association with the stomach,
え、前記データ検索手段は、前記アクセス履歴記憶手段 For example, the data retrieval means, said access history memory means
が記憶する論理アドレス及び物理アドレスに基づいて、 There based on the logical address and physical address is stored,
前記データ配置テーブル検索手段が特定した論理アドレ Logical addresses where the data arrangement table search unit identified
スが示す物理アドレスを特定する手段を備える、ことを特徴とする。 Scan comprises means for identifying a physical address indicated, characterized in that. 【0017】このような記憶システムによれば、データ配置テーブルが格納されたブロックの論理アドレスを表す第1のアドレス変換テーブルは、ゾーン特定手段が特定したゾーンの如何に関わらず記憶され続ける。 According to such a storage system, a first address conversion table indicating the logical address of the block data arrangement table is stored continues to be stored regardless of the zone to zone identification means has identified. このため、既に記憶されているアドレス変換テーブルが、データ配置テーブルへのアクセスのために書き換えられるという事態は発生しない。 Therefore, the address conversion table which is previously stored, a situation that is rewritten for access to the data arrangement table is not generated. このため、データにアクセスする処理の遅延が防止される。 Therefore, delay in the processing of accessing the data can be prevented. また、データ配置テーブル In addition, the data arrangement table
以外のデータにアクセスする場合であっても、アクセス Even in the case of access to other data, access
履歴記憶手段が記憶する論理アドレス及び物理アドレス Logical address and physical address history storage means for storing
が示すブロックに記憶されたデータへのアクセスであれ There with the access to the data stored in the block indicated
ば、第2のアドレス変換テーブルの作成が行われる必要 If, necessary to create the second address conversion table is performed
はなくなる。 No longer. 従って、データにアクセスする処理は更に Thus, the process of accessing the data more
効率的となる。 An efficient. また、この発明の第4の観点に係る記憶 The storage according to a fourth aspect of the present invention
システムは、各々が複数のゾーンのいずれかに属し、物 System, each belongs to one of a plurality of zones, goods
理アドレスを割り当てられた、データを記憶するための Assigned physical address, for storing data
複数のメモリブロックを含む記憶手段と、前記メモリブ Storage means including a plurality of memory blocks, the block of memory
ロックに記憶されている前記データを読み出して外部に Outside reading the data stored in the lock
出力する読み出し手段と、を備え、所定の前記ゾーンに And a reading means for outputting, to a predetermined said zone
属する前記メモリブロックは、前記記憶手段に記憶され Said memory block belongs, stored in said storage means
ているデータと該データが記憶されているメモリブロッ Memory block which has data and the data are stored
クの論理アドレスとの対応関係を表すデータ配置テーブ Data arrangement table representing the relationship between the logical address of the click
ルを記憶するデータ配置記憶手段を備え、前記読み出し A data arrangement storing means for storing Le, the read
手段は、前記論理アドレスと、前記データ配置テーブル It means, with the logical address, the data arrangement table
を記憶する前記メモリブロックの物理アドレスとの対応 Correspondence between the physical addresses of the memory blocks for storing
関係を表す情報を格納する第1のアドレス変換テーブル First address conversion table that stores information indicative of a relation
を作成して記憶する第1のテーブル記憶手段と、前記第 A first table memory means for creating and storing, the second
1のアドレス変換テーブルに基づいて、前記データ配置 Based on one address translation table, the data arrangement
テーブルを記憶するメモリブロックの物理アドレスを特 Japanese physical address of a memory block for storing a table
定し、特定した物理アドレスが示す前記メモリブロック Constant, and the memory block indicated by the identified physical address
より前記データ配置テーブルを読み出すデータ配置テー Data arrangement tape for reading more the data arrangement table
ブル検索手段と、前記データ配置テーブル検索手段が読 And Bull retrieval means, the data arrangement table search means reads
み出した前記データ配置テーブルに基づいて、読み出し Based on the data arrangement table issued seen, read
対象の前記データを示す論理アドレスを特定する論理ア Logical A specifying the logical address indicating the data of the target
ドレス検索手段と、前記論理アドレス検索手段が特定し A dress searching means identifies said logical address search means
た前記論理アドレスに基づいて、該論理アドレスが示す On the basis of the logical address, indicated by the logical address
メモリブロックが属するゾーンを特定するゾーン特定手 Zone specific hand to identify the zone in which the memory block belongs
段と、前記論理アドレスと、前記ゾーン特定手段が特定 A stage, and the logical address, the particular said zone specification unit
したゾーンに属する前記メモリブロックの物理アドレス Physical address of the memory block that belongs to the zone
との対応関係を表す情報を格納する第2のアドレス変換 A second address translation for storing information representing a correspondence relationship between
テーブルを自己が記憶しているか否かを判別し、記憶し A table to determine whether the self has stored, and stores
ていないと判別したとき、前記第2のアドレス変換テー When not to have determination, the second address conversion tape
ブルを作成して記憶する第2のテーブル記憶手段と、前 A second table storing means for creating and storing the table, before
記第2のアドレス変換テーブルに基づいて、前記論理ア Serial based on the second address conversion table, the logical A
ドレス検索手段が特定した論理アドレスが示す物理アド Physical address indicated by the logical address identified by the dress search means
レスを特定し、特定した物理アドレスが示す前記メモリ The memory identifies less, indicated by the specified physical address
ブロックに格納されている前記データを読み出して出力 Reading and outputting the data stored in the block
するデータ検索手段と、を備える、ことを特徴とする記 It comprises a data retrieval means for, and wherein the serial
憶システムであって、データを記憶していない前記メモ A憶system, the notes does not store the data
リブロックから構成される空きブロックを示す情報を格 Rank information indicating the free block composed of triblock
納する空きブロックテーブルを記憶する空きブロックテ Free block te for storing a free block table to pay
ーブル記憶手段と、書き込み対象のデータ及び論理アド And Buru memory means, the write target data and the logical address
レスが自己に供給されたとき、前記空きブロックテーブ When less is supplied to the self, the free block table
ルに登録されている空きブロックの中から書き込み対象 Write target from the free blocks that are registered in the Le
の空きブロックを選択する空きブロック選択手段と、書 A free block selecting means for selecting a free block of calligraphy
き込み対象の前記データを前記空きブロック選択手段に The data of the feeder included subject to the free block selection means
より選択された空きブロックに書き込む空きブロック書 Free block statement to be written to the more selected free block
込手段と、書き込み対象の前記データを書き込んだ空き Free written and write means, the data to be written
ブロックの物理アドレスと、前記空きブロック選択手段 And the physical address of the block, the free block selection means
に供給された論理アドレスとの対応付けを表すように前 Previous to represent the correspondence between the supplied logical address to
記第2のアドレス変換テーブルを更新する手段と、をさ It means for updating the serial second address conversion table, wo is
らに備え、前記空きブロックテーブルは、前記データ配 Comprising the al, the free block table, the data distribution
置テーブルを記憶する前記メモリブロックを含むゾーン Zone containing the memory block for storing the location table
に属する空きブロックを示す情報を格納する第1の空き First vacant for storing information indicating the free block belonging to
ブロックテーブルと、いずれかのゾーンに属する空きブ And block table, free Breakfast belonging to any zone
ロックを示す情報を格納する第2の空きブロックテー The second free block tape blanking for storing information indicating a lock
ルと、を含み、前記空きブロックテーブル記憶手段は、 Wherein Le and, wherein the free block table storage means,
前記ゾーン特定手段が特定したゾーンに属する空きブロ Free Bro belonging to the zone in which the zone specific means has identified
ック情報を格納する前記第2の空きブロックテーブルを The second free block table storing click information
自己が記憶しているか否かを判別し、記憶していないと Self it is determined whether or not the stored and not stored
判別したとき、前記第2の空きブロックテーブルを作成 When it is determined to create the second free block table
して記憶する手段を備え、前記空きブロック選択手段 And means for and storing the empty block selection means
は、書き込み対象のデータ及び論理アドレスが自己に供 It is subjected the data and the logical address of the write target is the self
給されたとき、前記第2の空きブロックテーブルに登録 When the fed, registered in the second empty block table
されている空きブロックのうちから書き込み対象の空き Available from the write target of the free blocks being
ブロックを選択する手段を備え、前記空きブロック書込 And means for selecting a block, the free block write
手段が書き込んだ前記データと、前記空きブロック選択 And the data written by the means, the free block selection
手段に供給された論理アドレスとの対応付けを表すよう To represent the correspondence between logical address supplied to means
に更新された前記データ配置テーブルを、前記第1の空 The data arrangement table updated, the first air
きブロックテーブルに登録されている空きブロックに書 Written in the free block that is registered in the can block table
き込む手段と、更新された前記データ配置テーブルを記 Means for burn them, the data arrangement table updated serial
憶している前記メモリブロックが空きブロックであるこ This憶to have the memory block is an empty block
とを表さないように前記第1の空きブロックテーブルを The first free block table so not represent bets
更新する手段と、をさらに備える、ことを特徴とする。 Further comprising means for updating, and wherein the. 【0018】また、この発明の第の観点に係るメモリ管理方法は、メモリからのデータの読み出しを管理するメモリ管理方法であり、前記メモリは、各々が複数のゾーンのいずれかに属し、物理アドレスを割り当てられた、前記データを記憶するための複数のメモリブロックを含み、所定の前記ゾーンに属する前記メモリブロックが、前記データと前記データが記憶されているメモリブロックの論理アドレスとの対応関係を表すデータ配置テーブルを記憶するものであって、前記論理アドレスと、 [0018] The memory management method according to a fifth aspect of the present invention is a memory management method for managing the reading of data from a memory, each belongs to one of a plurality of zones, the physical assigned address includes a plurality of memory blocks for storing said data, said memory block belonging to a predetermined said zone, the relationship between the logical address of the memory block to the data and the data is stored be one that stores data arrangement table representing a said logical address,
前記データ配置テーブルを記憶する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第1 First storing information representing a correspondence between the physical addresses of the memory blocks for storing the data arrangement table
のアドレス変換テーブルを作成して記憶する第1のテーブル記憶ステップと、外部からの指示に応答し、前記第1のアドレス変換テーブルに基づいて、前記データ配置テーブルを記憶するメモリブロックの物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックより前記データ配置テーブルを読み出し、外部に供給するデータ配置テーブル検索ステップと、読み出し対象の前記データを示す論理アドレスを外部より取得し、取得した前記論理アドレスに基づいて、該論理アドレスが示すメモリブロックが属するゾーンを特定するゾーン特定ステップと、前記論理アドレスと、前記ゾーン特定ステップで特定されたゾーンに属する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第2のアドレス変換テー A first table storing step of creating an address translation table storage, in response to an instruction from the outside, on the basis of the first address conversion table, a physical address of a memory block for storing the data arrangement table identified, reading the data arrangement table from the memory block indicated by the identified physical address, and the data arrangement table search supplying to the outside, externally obtained a logical address indicating the data to be read, the acquired logical based on the address, and the zone specifying step of specifying a zone memory block belongs indicated logical address, and the logical address, a correspondence between the physical addresses of the memory blocks belonging to a specific zone in the zone specifying step the second address translation tape for storing information representative of ルを自己が記憶しているか否かを判別し、記憶していないと判別したとき、前記第2のアドレス変換テーブルを作成して記憶する第2のテーブル記憶ステップと、前記第2のアドレス変換テーブルに基づいて、 読み出し対象の前記データの論理アドレスが示す物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックに格納されている前記データを読み出して出力するデータ検索ステップと、 前記データ検索ス Le determines whether itself has stored, when it is judged that no store, a second table storing step of creating and storing the second address conversion table, said second address translation based on the table, to identify the physical address indicated by the logical address of the data to be read, a data retrieval step of outputting reads the data stored in the memory block indicated by the identified physical address, the data retrieval scan
テップで特定された物理アドレス及び該物理アドレスを The physical address and the physical address specified in step
示す論理アドレスを互いに対応づけて記憶するアクセス Access to association with each one another logical address indicated
履歴記憶ステップと、備え、前記データ検索ステップ A history storing step, wherein the data retrieval step
は、前記アクセス履歴記憶ステップで記憶された論理ア The logical A stored in the access history storage step
ドレス及び物理アドレスに基づいて、前記データ配置テ Based on the dress and physical addresses, the data arrangement Te
ーブル検索ステップで特定された論理アドレスが示す物 Logical addresses are those indicated identified in Buru search step
理アドレスを特定するステップを含む、ことを特徴とする。 Comprising the step of identifying a physical address, characterized in that. 【0019】このようなメモリ管理方法によれば、データ配置テーブルが格納されたブロックの論理アドレスを表す第1のアドレス変換テーブルは、ゾーン特定ステップで特定されたゾーンの如何に関わらず記憶され続ける。 According to such a memory management method, the first address conversion table representing the logical address of the block in which the data arrangement table is stored continues to be stored regardless of the zones identified in the zone specifying step . このため、既に記憶されているアドレス変換テーブルが、データ配置テーブルへのアクセスのために書き換えられるという事態は発生しない。 Therefore, the address conversion table which is previously stored, a situation that is rewritten for access to the data arrangement table is not generated. このため、データにアクセスする処理の遅延が防止される。 Therefore, delay in the processing of accessing the data can be prevented. また、データ配 In addition, data distribution
置テーブル以外のデータにアクセスする場合であって A If you want to access the data other than the location table
も、アクセス履歴記憶手段が記憶する論理アドレス及び Also, the logical address and the access history storage means for storing
物理アドレスが示すブロックに記憶されたデータへのア A to physical address is stored in the block showing data
クセスであれば、第2のアドレス変換テーブルの作成が If access, the creation of the second address conversion table
行われる必要はなくなる。 It needs to be carried out no longer. 従って、データにアクセスす Therefore, to access the data
る処理は更に効率的となる。 That the process becomes more efficient. また、この発明の第6の観 In addition, the 6 cans of the present invention
点に係るメモリ管理方法は、メモリからのデータの読み Memory management method according to the point, reading of data from the memory
出しを管理するメモリ管理方法であり、前記メモリは、 A memory management method for managing the issue, the memory is,
各々が複数のゾーンのいずれかに属し、物理アドレスを Each of which belongs to any one of a plurality of zones, the physical address
割り当てられた、前記データを記憶するための複数のメ Assigned, a plurality of main for storing the data
モリブロックを含み、所定の前記ゾーンに属する前記メ It includes a memory block, the main belonging to a predetermined said zone
モリブロックが、前記データと前記データが記憶されて Mori block, the data and the data is stored
いるメモリブロックの論理アドレスとの対応関係を表す Represents the relationship between the logical address of the memory block are
データ配置テーブルを記憶するものであって、前記論理 It is one that stores data arrangement table, the logic
アドレスと、前記データ配置テーブルを記憶する前記メ The main store and the address, the data arrangement table
モリブロックの物理アドレスとの対応関係を表す情報を Information representing a correspondence between the physical addresses of the memory block
格納する第1のアドレス変換テーブルを作成して記憶す It is stored by creating a first address conversion table storing
る第1のテーブル記憶ステップと、外部からの指示に応 A first table storing step that, response to the instruction from the outside
答し、前記第1のアドレス変換テーブルに基づいて、前 And answers, based on the first address conversion table, before
記データ配置テーブルを記憶するメモリブロックの物理 Physical memory block for storing the serial data arrangement table
アドレスを特定し、特定した物理アドレスが示す前記メ Identifying an address, the main indicated by the specified physical address
モリブロックより前記データ配置テーブルを読み出し、 Mori block reads from the data arrangement table,
外部に供給するデータ配置テーブル検索ステップと、読 A data arrangement table search supplying to the outside, read
み出し対象の前記データを示す論理アドレスを外部より From outside the logical address indicated by the data of the look out target
取得し、取得した前記論理アドレスに基づいて、該論理 Obtained, based on the acquired logical address, the logical
アドレスが示すメモリブロックが属するゾーンを特定す To identify the zone in which the memory block belongs indicated by the address
るゾーン特定ステップと、前記論理アドレスと、前記ゾ And zone identification step that the logical address and the zone
ーン特定ステップで特定されたゾーンに属する前記メモ The notes that belong to a particular zone in the over down specific step
リブロックの物理アドレスとの対応関係を表す情報を格 Rank information representing a correspondence between the physical addresses of the triblock
納する第2のアドレス変換テーブルを記憶しているか否 Whether stores a second address conversion table to pay
かを判別し、記憶していないと判別したとき、前記第2 Or determines, when determining not stored, the second
のアドレス変換テーブルを作成して記憶する第2のテー Second tape to create and store the address conversion table
ブル記憶ステップと、前記第2のアドレス変換テーブル And Bull storing step, said second address conversion table
に基づいて、読み出し対象の前記データの論理アドレス Based on the logical address of the data to be read
が示す物理アドレスを特定し、特定した物理アドレスが Physical address specified, and identify the physical address indicated by
示す前記メモリブロックに格納されている前記データを The data stored in the memory block shown
読み出して出力するデータ検索ステップと、を備える、 And a data searching step of reading out output,
ことを特徴とするメモリ管理方法であって、データを記 A memory management method comprising, serial data
憶していない前記メモリブロックから構成される空きブ 憶to not empty blanking comprised of said memory block
ロックを示す情報を格納する空きブロックテーブルを記 Serial free blocks table that stores information indicating a lock
憶する空きブロックテーブル記憶ステップと、書き込み And free block table storing step of憶, writing
対象のデータ及び論理アドレスが供給されたとき、前記 When the data and the logical address of the target is supplied, wherein
空きブロックテーブルに登録されている空きブロックの Of free blocks that are registered in the free block table
中から書き込み対象の空きブロックを選択する空きブロ Free blow to select a free block to be written from in
ック選択ステップと、書き込み対象の前記データを前記 And click selection step, the data to be written the
空きブロック選択ステップで選択された空きブロックに A free block selected by the empty block selection step
書き込む空きブロック書込ステップと、書き込み対象の And free block writing step of writing, the write target
前記データを書き込んだ空きブロックの物理アドレス The physical address of a free block is written to the data
と、前記空きブロック選択手段に供給された論理アドレ When the logical address supplied to the empty block selection means
スとの対応付けを表すように前記第2のアドレス変換テ Said second address translation Te to represent the correspondence between the scan
ーブルを更新するステップと、をさらに備え、前記空き Further comprising updating the Buru, wherein the free
ブロックテーブルは、前記データ配置テーブルを記憶す The block table and stores the data arrangement table
る前記メモリブロックを含むゾーンに属する空きブロッ Free block that belongs to the zone that includes the memory block that
クを示す情報を格納する第1の空きブロックテーブル The first free block table that stores information indicating a click
と、いずれかのゾーンに属する空きブロックを示す情報 And, information indicating the free block that belongs to one of the zone
を格納する第2の空きブロックテーブルと、を含み、前 Anda second free block table for storing, prior to
記空きブロックテーブル記憶ステップでは、前記ゾーン Serial The free block table storage step, said zone
特定ステップで特定されたゾーンに属する空きブロック Free block belonging to the zone specified in the specific step
情報を格納する前記第2の空きブロックテーブルを記憶 Storing said second free block table for storing information
してい るか否かを判別し、記憶していないと判別したと And to have to determine whether Luke, is determined not to be stored
き、前記第2の空きブロックテーブルを作成して記憶 Can create and store the second free block table
し、前記空きブロック選択ステップは、書き込み対象の And, wherein the free block selecting step, the write target
データ及び論理アドレスが供給されたとき、前記第2の When data and the logical address is supplied, the second
空きブロックテーブルに登録されている空きブロックの Of free blocks that are registered in the free block table
うちから書き込み対象の空きブロックを選択するステッ Step of selecting a free block to be written from among
プを備え、前記空きブロック書込ステップで書き込んだ Comprising a flop, written in the empty block writing step
前記データと、書き込み対象のデータの論理アドレスと And the data, and the logical address of the write target data
して供給された論理アドレスとの対応付けを表すように To to represent the correspondence between the supplied logical address
更新された前記データ配置テーブルを、前記第1の空き The data arrangement table updated, the first free
ブロックテーブルに登録されている空きブロックに書き Write to the free block that is registered in the block table
込むステップと、更新された前記データ配置テーブルを A step of writing, the data arrangement table updated
記憶している前記メモリブロックが空きブロックである The memory block is a free block that stores
ことを表さないように前記第1の空きブロックテーブル The first free block table so not represent that
を更新するステップと、をさらに備える、ことを特徴と Further comprising a step of updating, the a, and wherein the
する。 To. 【0020】また、この発明の第の観点に係るコンピュータ読み取り可能な記録媒体は、各々が複数のゾーンのいずれかに属し、物理アドレスを割り当てられた、前記データを記憶するための複数のメモリブロックを含み、所定の前記ゾーンに属する前記メモリブロックが、 [0020] The seventh computer readable recording medium according to an aspect of the invention, each belongs to one of a plurality of zones, the assigned physical addresses, the plurality of for storing said data memory includes a block, the memory block belonging to a predetermined said zone,
前記データと前記データが記憶されているメモリブロックの物理アドレスを示す論理アドレスとの対応関係を表すデータ配置テーブルを記憶することを特徴とするメモリに接続されたコンピュータを、前記論理アドレスと、 A computer the data and the data is connected to a memory and to store the data arrangement table representing the correspondence between the logical address indicating the physical addresses of the memory blocks stored, said logical address,
前記データ配置テーブルを記憶する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第1 First storing information representing a correspondence between the physical addresses of the memory blocks for storing the data arrangement table
のアドレス変換テーブルを作成して記憶する第1のテーブル記憶手段と、外部の指示に応答し、前記第1のアドレス変換テーブルに基づいて、前記データ配置テーブルを記憶するメモリブロックの物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックより前記データ配置テーブルを読み出し、外部に供給するデータ配置テーブル検索手段と、読み出し対象の前記データを示す論理アドレスを外部より取得し、取得した前記論理アドレスに基づいて、該論理アドレスが示すメモリブロックが属するゾーンを特定するゾーン特定手段と、前記論理アドレスと、前記ゾーン特定手段が特定したゾーンに属する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第2のアドレス変換テーブルを自己が記憶してい Particular a first table storing means for creating and storing an address conversion table, in response to an external instruction, based on the first address conversion table, a physical address of a memory block for storing the data arrangement table and reads the data arrangement table from the memory block indicated by the identified physical address, the logical address acquired from outside the logical address was obtained showing the data arrangement table search means for supplying to the outside, the data to be read information, indicating a zone specifying means for specifying a zone memory block belongs indicated logical address, and the logical address, a correspondence between the physical addresses of the memory blocks belonging to the zone of zone specifying means has specified based on are self stores a second address conversion table for storing か否かを判別し、記憶していないと判別したとき、前記第2のアドレス変換テーブルを作成して記憶する第2のテーブル記憶手段と、前記第2のアドレス変換テーブルに基づいて、 読み出し対象の前記デ Whether determined, when it is judged that no store a second table memory means for generating and storing the second address conversion table, on the basis of the second address conversion table, reading target the data of the
ータの論理アドレスが示す物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックに格納されている前記データを読み出して出力するデータ検索手段と、 前記データ検索手段が特定した物理アドレス及び該 Identify the physical address indicated by the logical address over data, and data retrieval means for reading and outputting the data stored in the memory block indicated by the identified physical address, physical address and said that the data retrieval means identified
物理アドレスを示す論理アドレスを互いに対応づけて記 Serial correspondence with each other the logical address indicating the physical address
憶するアクセス履歴記憶手段と、して機能させるためのプログラムを記録したコンピュータ読み取り可能な記録 An access history storage means for憶, and computer-readable recording a program for operating the recording
媒体であって、前記データ検索手段は、前記アクセス履 A medium, said data retrieval means, said access footwear
歴記憶手段が記憶する論理アドレス及び物理アドレスに The logical and physical addresses gravel storage means for storing
基づいて、前記データ配置テーブル検索手段が特定した Based on was identified the data arrangement table search unit
論理アドレスが示す物理アドレスを特定する手段を備え And means for specifying a physical address indicated by the logical address
る、ことを特徴とする。 That, characterized in that. 【0021】このような記録媒体に格納されたプログラムを実行するコンピュータによれば、データ配置テーブルが格納されたブロックの論理アドレスを表す第1のアドレス変換テーブルは、特定されたゾーンの如何に関わらず記憶され続ける。 [0021] According to the computer that executes the program stored in the recording medium, a first address conversion table representing the logical address of the block in which the data arrangement table is stored, independent of the specified zone continue to be stored not. このため、既に記憶されているアドレス変換テーブルが、データ配置テーブルへのアクセスのために書き換えられるという事態は発生しない。 Therefore, the address conversion table which is previously stored, a situation that is rewritten for access to the data arrangement table is not generated. このため、データにアクセスする処理の遅延が防止される。 Therefore, delay in the processing of accessing the data can be prevented. また、データ配置テーブル以外のデータにアクセス Further, access data other than the data arrangement table
する場合であっても、アクセス履歴記憶手段が記憶する Even when the access history storage means for storing
論理アドレス及び物理アドレスが示すブロックに記憶さ Block storage is indicated by the logical address and physical address
れたデータへのアクセスであれば、第2のアドレス変換 The If access to the data, a second address translation
テーブルの作成が行われる必要はなくなる。 Is no need to create a table is carried out. 従って、デ Therefore, de
ータにアクセスする処理は更に効率的となる。 Process to access over data becomes more efficient. また、こ In addition, this
の発明の第8の観点に係るコンピュータ読み取り可能な Computer-readable according to an eighth aspect of the invention
記録媒体は、各々が複数のゾーンのいずれかに属し、物 Recording medium, each belongs to one of a plurality of zones, goods
理アドレスを割り当てられた、前記データを記憶するた It assigned physical address and stores the data
めの複数のメモリブロックを含み、所定の前記ゾーンに It includes a plurality of memory blocks in order, to a predetermined said zone
属する前記メモリブロックが、前記データと前記データ It said memory block belongs, the data and the data
が記憶されているメモリブロックの物理アドレスを示す Shows but the physical addresses of the memory blocks stored
論理アドレスとの対応関係を表すデータ配置テーブルを The data arrangement table representing the correspondence between the logical addresses
記憶することを特徴とするメモリに接続されたコンピュ Computer connected to the memory and to store
ータを、前記論理アドレスと、前記データ配置テーブル The chromatography data, and the logical address, the data arrangement table
を記憶する前記メモリブロックの物理アドレスとの対応 Correspondence between the physical addresses of the memory blocks for storing
関係を表す情報を格納する第1のアドレス変換テーブル First address conversion table that stores information indicative of a relation
を作成して記憶する第1のテーブル記憶手段と、外部の A first table memory means for creating and storing, externally of
指示に応答し、前記第1のアドレス変換テーブルに基づ In response to the instruction, based on the first address conversion table
いて、前記データ配置テーブルを記憶するメモリブロッ There, the memory block for storing the data arrangement table
クの物理アドレスを特定し、特定した物理アドレスが示 To identify the physical address of the click, the specific physical address shown
す前記メモリブロックより前記データ配置テーブルを読 Reading the data arrangement table than to the memory block
み出し、外部に供給するデータ配置テーブル検索手段 Out look, the data arrangement table search means for supplying to the outside
と、読み出し対象の前記データを示す論理アドレスを外 If, outside the logical address indicating the data to be read
部より取得し、取得した前記論理アドレスに基づいて、 Obtained from parts, based on the acquired logical address,
該論理アドレスが示すメモリブロックが属するゾーンを The zone in which the memory block belongs indicated by the logical address
特定するゾーン特定手段と、前記論理アドレスと、前記 A particular zone specification unit, and the logical address, wherein
ゾーン特定手段が特定したゾーンに属する前記メモリブ The block of memory that belongs to the zone to zone specific means has identified
ロックの物理アドレスとの対応関係を表す情報を格納す To store the information representing the correspondence between the physical addresses of the lock
る第2のアドレス変換テーブルを自己が記憶しているか A second address conversion table or itself stores that
否かを判別し、記憶していないと判別したとき、前記第 When it determined whether, is determined not to be stored, the first
2のアドレス変換テーブルを作成して記憶する第2のテ Second te creating and storing a second address conversion table
ーブル記憶手段と、前記第2のアドレス変換テーブルに And Buru storage means, the second address conversion table
基づいて、読み出し対象の前記データの論理アドレスが Based on the logical address of the data to be read is
示す物理アドレスを特定し、特定した物理アドレスが示 Identifying the physical address, the specific physical address shown indicating
す前記メモリブロックに格納されている前記データを読 Reading the data stored in to the memory block
み出して出力するデータ検索手段と、して機能させるた And data retrieval means for outputting out look, it was to be to function
めのプログラムを記録したコンピュータ読み取り可能な Computer-readable, which was recorded because of program
記録媒体であって、前記プログラムは、前記コンピュー A recording medium, the program comprising the computer
タを、データを記憶していない前記メモリブロックから The data from the memory block that does not store data
構成される空きブロックを示す情報を格納する空きブロ Free blow for storing information indicating the free block composed
ックテーブルを記憶する空きブロックテーブル記憶手段 Free block table storage means for storing Kkuteburu
と、書き込み対象のデータ及び論理アドレスが自己に供 If, subjected the data and the logical address of the write target is the self
給されたとき、前記空きブロックテーブルに登録されて When fed, it is registered in the free block table
いる空きブロックの中から書き込み対象の空きブロック Free block to be written from the free blocks are
を選択する空きブロック選択手段と、書き込み対象の前 A free block selecting means for selecting, prior to be written
記データを前記空きブロック選択手段により選択された The serial data selected by said free block selection means
空きブロックに書き込む空きブロック書込手段と、書き And free block writing means for writing the free block, writing
込み対象の前記データを書き込んだ空きブロックの物理 Physical of the free block is written to the data of the write target
アドレスと、前記空きブロック選択手段に供給された論 Address and was fed to the empty block selection means logical
理アドレスとの対応付けを表すように前記第2のアドレ Said to represent the correspondence between the physical address second address
ス変換テーブルを更新する手段としてさらに機能させる To further function as a means for updating the scan conversion table
プログラムを含み、前記空きブロックテーブルは、前記 Contains programs, the free block table, the
データ配置テーブルを記憶する前記メモリブロックを含 Including the memory blocks for storing data arrangement table
むゾーンに属する空きブロックを示す情報を格納する第 The stores information indicating the free blocks belonging to no zone
1の空きブロックテーブルと、いずれかのゾーンに属す And one of the free block table, belong to any of the zone
る空きブロックを示す情報を格納する第2の空きブロッ Second empty block for storing information indicating the free block that
クテーブルと、を含み、前記空きブロックテーブル記憶 It includes a click table, wherein the free block table storage
手段は、前記ゾーン特定手段が特定したゾーンに属する Means, belong to the zone in which the zone specific means has identified
空きブロック情報を格納する前記第2の空きブロックテ The second free block te for storing free block information
ーブルを自己が記憶しているか否 かを判別し、記憶して The Buru determines whether itself has stored, and stores
いないと判別したとき、前記第2の空きブロックテーブ When it is determined that no, the second free block table
ルを作成して記憶する手段を備え、前記空きブロック選 Comprising means for creating and storing Le, the free block election
択手段は、書き込み対象のデータ及び論理アドレスが自 -Option means, data and a logical address of the write target self
己に供給されたとき、前記第2の空きブロックテーブル When supplied to oneself, the second free block table
に登録されている空きブロックのうちから書き込み対象 Write target from among the free block that is registered in the
の空きブロックを選択する手段を備え、前記プログラム And means for selecting a free block, the program
は、前記コンピュータを、前記空きブロック書込手段が It is the computer, the empty block writing means
書き込んだ前記データと、前記空きブロック選択手段に It said data written to said free block selection means
供給された論理アドレスとの対応付けを表すように更新 Updated to reflect the correspondence between the supplied logical address
された前記データ配置テーブルを、前記第1の空きブロ The data arrangement table that is, the first free Bro
ックテーブルに登録されている空きブロックに書き込む Writing is written into a free block that is registered in the Kkuteburu
手段と、更新された前記データ配置テーブルを記憶して And storing means, the data arrangement table updated
いる前記メモリブロックが空きブロックであることを表 Table said memory block there are a free block
さないように前記第1の空きブロックテーブルを更新す Updates the first free block table so as not to
る手段としてさらに機能させるプログラムを含む、こと Including a program to further function as that means, that
を特徴とする。 The features. 【0022】 【発明の実施の形態】以下、この発明の実施の形態を、 DETAILED DESCRIPTION OF THE INVENTION Hereinafter, an embodiment of the present invention,
フラッシュメモリを備えた記憶システムを例とし、図面を参照して説明する。 A storage system having a flash memory as an example will be described with reference to the drawings. 【0023】図1は、この発明の実施の形態にかかる記憶システムの物理的構成を示すブロック図である。 FIG. 1 is a block diagram showing a physical configuration of a storage system according to an embodiment of the present invention. 図示するように、この記憶システムは、メモリユニット1 As illustrated, the storage system includes a memory unit 1
と、コンピュータ2とから構成されている。 When, and a computer 2. メモリユニット1は、コンピュータ2が備えるスロットを介して、 Memory unit 1, via a slot computer 2 is provided,
コンピュータ2に着脱可能に装着されている。 It is detachably attached to the computer 2. コンピュータ2が備えるスロットは、例えば、PCMCIAバスを中継するためのPCMCIAスロットからなる。 Slot computer 2 comprises, for example, consists of a PCMCIA slot for relaying the PCMCIA bus. 【0024】メモリユニット1は、フラッシュメモリ1 [0024] The memory unit 1, flash memory 1
1及びコントローラ12からなる。 1 and a controller 12. 【0025】フラッシュメモリ11は、例えば、EEP [0025] The flash memory 11 is, for example, EEP
ROM(Electrically Erasable/Programable Read Onl ROM (Electrically Erasable / Programable Read Onl
y Memory)等の記憶装置からなる。 y Memory) consists of a storage device, such as. フラッシュメモリ1 Flash memory 1
1は、コントローラ12が行うアクセスに応答し、コンピュータ2から供給されたデータの記憶と、記憶しているデータのコンピュータ2への供給と、記憶しているデータの消去とを行う。 1, in response to the access controller 12 performs, performs the storage of the supplied data, and supply to the computer 2 of the stored data, the erasure of data stored from the computer 2. 【0026】フラッシュメモリ11が有する記憶領域は、例えば図2に示すように65536個のページからなり、各々のページは528バイトの記憶容量を有する。 The storage area which the flash memory 11 has is, for example, a 65,536 page as shown in FIG. 2, each page has a storage capacity of 528 bytes. 各ページに含まれるメモリセルには、連続的に0から527までの番地が与えられている。 The memory cells included in each page, are given addresses from continuous 0 to 527. 【0027】各ページは、図示するように、先頭から5 [0027] Each page, as shown in the figure, from the beginning 5
12バイトの領域を占めるデータ領域と、末尾16バイトを占める冗長部とから構成される。 A data area occupying 12-byte area composed of a redundant part which occupies the last 16 bytes. データ領域には、 In the data area,
本来のデータ(コンピュータ2から供給され書き込まれるデータや、コンピュータ2に供給される対象となるデータ)が格納され、冗長部には、本来のデータの内容が破壊されていないことを確認するためのエラーチェックコード等が格納される。 Original data is stored (or data to be written is supplied from the computer 2, data to be supplied to the computer 2), the redundant portion, the contents of the original data to verify that it is not destroyed error check code and the like are stored. 【0028】そして、各ページは、先頭から16ページ単位で1つのブロックを構成する。 [0028] Then, each page constituting one block from the top 16 pages. 各ブロックは8キロバイトの記憶容量を有し、記憶領域全体は、4096個のブロックから構成され、先頭から連続的に0から40 Each block has a storage capacity of 8 kilobytes, the entire storage area is composed of 4096 blocks, continuously from 0 to the top 40
95までの物理ブロックアドレスを与えられている。 It is given physical block addresses of up to 95. 各々のブロックに属する各ページには、連続的に0から1 Each page belonging to each block, the continuously 0 1
5までのページアドレスが付与されている。 Page address of up to 5 have been granted. 【0029】また、各々のブロックに属する各ページの冗長部には、そのブロックに割り当てられている論理ブロックアドレスの値が格納される。 Further, the redundant portion of each page belonging to each block, the value of the logical block address assigned to the block is stored. 論理ブロックアドレスは、フラッシュメモリ11が後述する動作により読み書きされるときに、コントローラ12により、データ読み書きの単位として認識される単位である。 Logical block addresses, when the flash memory 11 is read and written by the operation to be described later, the controller 12 is a unit which is recognized as a unit of data reading and writing. 論理ブロックアドレスが割り当てられているブロックの総量は、フラッシュメモリ11が物理的に備えるブロックの総量より小さい所定量、例えば4000個である。 The total amount of the block to which the logical block addresses are allocated a predetermined amount flash memory 11 is less than the total amount of the block physically comprises, for example, 4000. 【0030】そして、フラッシュメモリ11の各ブロックは、複数のゾーンへと更に分類されている。 [0030] Each block of the flash memory 11 is further classified into a plurality of zones. 具体的には、ブロックアドレスが0〜1023までの1024個のブロックが第1のゾーン(ゾーン0)を構成し、ブロックアドレスが1024〜2047までの1024個のブロックが第2のゾーン(ゾーン1)を構成し、ブロックアドレスが2048〜3071までの1024個のブロックが第3のゾーン(ゾーン2)を構成し、残る10 Specifically, the block address 1024 blocks up to 1023 constitute a first zone (zone 0), 1024 blocks a second zone of the block address is to 1024 to 2047 (Zone 1 ) constitutes a block address 1024 blocks up to 2048 to 3071 constitute a third zone (zone 2), the remaining 10
24個のブロックが第4のゾーン(ゾーン3)を構成する。 24 blocks constitute the fourth zone (zone 3). そして、ゾーン0、ゾーン1、ゾーン2、及びゾーン3には、順に、0、1、2及び3のゾーンアドレスが付与されている。 Then, zone 0, zone 1, the zone 2, and zone 3, in turn, zone address of 0, 1, 2, and 3 are applied. (なお、本明細書及び図面において、 (In this specification and the drawings,
末尾に文字”h”を付した数字は、16進数を表す。 Numbers denoted by the letter "h" at the end represents a hexadecimal number. ) 【0031】各ゾーンに属するブロックに割り当てられる論理ブロックアドレスがとり得る値の範囲は、CPU ) [0031] range of logical block addresses can take the value assigned to the block belonging to each zone, CPU
121が実行するプログラムにより予め定められている。 It is predetermined by a program 121 to be executed. 具体的には、例えば、ゾーン0、1、2及び3に属するブロックに割り当てられる論理ブロックアドレスは、順に、0000h以上03E7h以下、03E8h Specifically, for example, a logical block address assigned to the blocks belonging to the zone 0, 1, 2 and 3, in turn, 0000h or 03E7h less, 03E8h
以上07CFh以下、07D1h以上0BB7h以下、 More 07CFh below, 07D1h more 0BB7h below,
0BB8h以上0F9Fh以下、の範囲の値をとるように定められている。 0BB8h above 0F9Fh less, it is determined to take a value in the range of. 【0032】フラッシュメモリ11は、メモリユニット1のコントローラ12より、特定のブロックのデータを消去するよう指示されると、当該ブロックに含まれるすべてのメモリセルの記憶内容をリセットする(例えば、 The flash memory 11 from the controller 12 of the memory unit 1, when it is instructed to erase the data of a particular block, and resets the stored contents of all the memory cells included in the block (e.g.,
フラッシュメモリ11がNAND型のフラッシュメモリからなる場合は、各メモリセルの記憶値を「1」とする)。 If the flash memory 11 is composed of NAND-type flash memory, a storage value of each memory cell is "1"). 【0033】また、フラッシュメモリ11の記憶領域には、後述する処理により、ディレクトリと、FAT(Fi Further, in the storage area of ​​the flash memory 11, the processing to be described later, and directories, FAT (Fi
le Allocation Table)とが作成される。 le Allocation Table) and is created. ディレクトリ及びFATは、フラッシュメモリ11の記憶領域のゾーン0に属する256個のブロック内に作成される。 Directory and FAT is created 256 in a block of belonging to the zone 0 of the storage area of ​​the flash memory 11. そして、ディレクトリ及びFATが格納されるブロックには、論理ブロックアドレスとして先頭の256個のアドレス(すなわち、0000h以上00FFh以下のアドレス)が付される。 Then, the block in which the directory and FAT are stored, 256 address of the head as a logical block address (i.e., 00FFh following address or 0000h) is attached. 【0034】図3は、ディレクトリ、FAT及び論理ブロックアドレスの相互の対応関係を示す図である。 [0034] FIG. 3 is a diagram showing a directory, a mutual correspondence between the FAT and the logical block address. 図示するように、ディレクトリ及びFATが記憶された論理ブロックアドレスは、例えば、CPU121が記憶するディレクトリポインタによって示されている。 As shown, logical block address directory and FAT are stored is shown, for example, the directory pointer stored by the CPU 121. 【0035】ディレクトリは、フラッシュメモリ11内に記憶されているファイル(すなわち、一括して扱うべきものとしてコンピュータ2が指定するデータの集合) The directory file stored in the flash memory 11 (i.e., a set of data that the computer 2 is designated as should lumped)
のファイル名と、そのファイルの先頭部分が記憶されている論理ブロックアドレス及びページアドレスとを示すテーブルである。 And the file name is a table showing the logical block address and page address head portion of the file is stored. 【0036】FATは、フラッシュメモリ11の記憶領域内でのファイルの配置を示すテーブルであり、ファイルが1つのページ内に収まらないとき、図3に示すように、後続の部分を記憶するページが属するブロックの論理ブロックアドレス及び当該ページのページアドレスをそれぞれ示すものである。 The FAT is a table showing the arrangement of files in the storage area of ​​the flash memory 11, when the file does not fit in one page, as shown in FIG. 3, a page that stores the subsequent portion illustrates respective page address of the logical block address and the page belongs blocks. ファイルの最終部分が記憶されているページのページアドレスは、図3に示すように、終了コード(EC)を付されることによって、そのページアドレスが最終部分を表すものであることが示される。 Page address of the page last portion of the file is stored, as shown in FIG. 3, by being subjected to end code (EC), the page address that is shown to represent the final part. 【0037】コントローラ12は、図1に示すように、 The controller 12, as shown in FIG. 1,
CPU(Central Processing Unit)121と、ROM CPU with the (Central Processing Unit) 121, ROM
(Read Only Memory)122と、SRAM(Static Ran And (Read Only Memory) 122, SRAM (Static Ran
domAccess Memory)123とを備えている。 And a domAccess Memory) 123. CPU12 CPU12
1は、ROM122、SRAM123及びフラッシュメモリ11に接続されており、また、コンピュータ2が備えるPCMCIAスロットを介してコンピュータ2に着脱可能に接続されている。 1, ROM 122, SRAM 123 and are connected to the flash memory 11, also is detachably connected to the computer 2 via a PCMCIA slot computer 2 is provided. 【0038】CPU121は、コントローラ12の製造者等によって予めROM122に格納されているプログラムの処理に従って、後述する処理を行う。 The CPU121 is in accordance with the processing program stored in advance in the ROM122 by the manufacturer of the controller 12 performs processing to be described later. そして、C Then, C
PU121は、アクセス装置を構成するコンピュータ2 PU121 constitutes the access device computer 2
から供給される命令を取得すると、その命令を実行する。 Upon acquiring the command supplied from executing the instruction. CPU121が実行する命令には、フラッシュメモリ11にアクセスする命令が含まれる。 The instructions CPU121 executes, includes instructions for accessing the flash memory 11. 【0039】SRAM123は、CPU121の作業領域として用いられ、また、退避用メモリ領域と、CPU [0039] SRAM123 is used as a work area for the CPU 121, also a saving memory area, CPU
121が後述する処理により作成するBSI(Block Se BSI which 121 is created by the processing to be described later (Block Se
archIndex)及びBPT(Block Pointer Table)とを格納する。 ArchIndex) and stores a BPT (Block Pointer Table). 【0040】退避用メモリ領域は、後述するデータ書き込みの処理において、書き込みを行う対象のページを含むブロックに格納されているデータを一時的に格納するための記憶領域である。 The saving memory area, the data writing process to be described later, a storage area for temporarily storing data stored in the block including the page of the target to be written. 【0041】BSIは、ファイル管理用BSIと、一般用BSIとより構成されている。 The BSI is, the BSI for file management, it is more configuration and general use BSI. ファイル管理用BSI BSI for file management
は、フラッシュメモリ11の記憶領域のうちのゾーン0 The zone of the storage area of ​​the flash memory 11 0
に属する各ブロックについて、そのうちいずれが空きブロック(すなわち、リセットされた状態にあるブロック)であるかを特定する情報を格納する。 For each block belonging to, any of which stores information for specifying whether an empty block (i.e., block which is in a reset state). 一般用BSI General for BSI
は、フラッシュメモリ11の記憶領域のうちの1個のゾーンに属する各ブロックについて、そのうちいずれが空きブロックであるかを特定する情報を格納する。 For each block belonging to one zone of the storage area of ​​the flash memory 11 stores information one of which is to identify whether an empty block. ファイル管理用BSI及び一般用BSIは、いずれも、コントローラ12の後述する処理に従って作成及び更新され、 BSI for BSI and general file management are both created and updated according to later-described process of the controller 12,
SRAM123に格納される。 It is stored in the SRAM123. 【0042】また、CPU121は、後述する処理により、一般用BSIがいずれのゾーンに属する空きブロックを特定しているかを示す情報を記憶するかを示すゾーン情報を作成し、SRAM123に格納する。 Further, CPU 121 is the processing to be described later, general use BSI creates a zone information indicating whether to store the information indicating whether the identified free blocks belonging to any of the zone, is stored in SRAM 123. 【0043】フラッシュメモリ11の各ブロックの総数が1024個ずつであるときの一般用BSIの構造の一例を図4に示す(ファイル管理用BSIのデータ構造も一般用BSIと実質的に同一である)。 Data structure (BSI file management shown in FIG. 4 also is substantially the same as the general use BSI an example of a general for the BSI structure when [0043] the total number of each block of the flash memory 11 is one by 1024 ). 図示するように、一般用BSIはいずれも128バイトのデータからなり、先頭のビットから順に、ゾーン情報が示すゾーンの先頭のブロックから1024個目のブロックに順に1 As shown, generally for BSI are all made of 128 bytes of data, from the head of the bit in order, in order from the beginning of the block of the zone indicated by the zone information 1024 of the block 1
対1に対応づけられており、対応づけられたブロックが空きブロックであるとき”1”、空きブロックでないとき”0”を格納する。 And associated with the pair 1, when correlated obtained block is an empty block "1", stores "0" when it is not empty block. 【0044】BPTは、ファイル管理用BPTと、一般用BPTとより構成されている。 The BPT is, and file management for the BPT, are more configuration and general use BPT. ファイル管理用BPT File management for BPT
は、ディレクトリ及びFATを格納している各ブロックについて、その論理ブロックアドレス及び物理ブロックアドレスの対応関係を示す情報を格納するものである。 For each block storing the directory and FAT, it is to store information indicating the correspondence between the logical block address and physical block address.
一般用BPTは、BSIが空きブロックを特定しているゾーンと同一のゾーン(すなわち、SRAM123に格納されているゾーン情報が示すゾーン)に属する各ブロックについて、その論理ブロックアドレス及び物理ブロックアドレスの対応関係を示す情報を格納するものである。 OTC BPT is, BSI is the same as zones that identifies empty block zone (i.e., zone indicated by the zone information stored in the SRAM 123) for each block belonging to the corresponding the logical block address and physical block address it is for storing information indicating a relationship. 一般用BPTがゾーン0に属するブロックの論理ブロックアドレス及び物理ブロックアドレスの対応関係を示している場合、ディレクトリ及びFATを格納している各ブロックについて、その論理ブロックアドレス及び物理ブロックアドレスの対応関係は、ファイル管理用B If OTC BPT indicates the correspondence between the logical block addresses and physical block addresses of the blocks belonging to the zone 0, each block storing the directory and FAT, correspondence between the logical block address and physical block address , file management B
PT及び一般用BPTの両方により表される。 Represented by both PT and general use BPT. ファイル管理用BPT及び一般用BPTは、いずれも、CPU1 File management for the BPT and general for BPT, any, CPU1
21による後述の処理に従って作成あるいは更新され、 Created or updated in accordance with the process described below by 21,
SRAM123に格納される。 It is stored in the SRAM123. 【0045】ファイル管理用BPT及び一般用BPT [0045] The file management for the BPT and general for BPT
は、各々、SRAM123の記憶領域中の所定の論理的位置を占め、各々の論理ブロックアドレスに対応付けられた物理ブロックアドレスを記憶するための記憶領域を備える。 Each occupies a predetermined logical position in the storage area of ​​SRAM123, a storage area for storing the physical block address associated with each logical block address. 【0046】ファイル管理用BPT及び一般用BPT [0046] The file management for the BPT and general for BPT
は、具体的には、例えば図5に示すデータ構造を有する。 It is specifically has the data structure shown in FIG. 5, for example. すなわち、例えば、ファイル管理用BPTは、図示するように、先頭から1ワード毎に付されたアドレスが0000h〜00FFhである、合計256ワードの記憶領域を備える。 That is, for example, the file management BPT, as illustrated, address attached from the beginning for each word is 0000H to 00FFH, a storage area of ​​a total of 256 words. また、一般用BPTは、例えば、各々のゾーンに属するブロックを示す論理ブロックアドレスの総数が1000個である場合、例えば図示するように、先頭から1ワード毎に付されたアドレスが1000 Also, the general use BPT, for example, if the total number of logical block address indicating a block belonging to each zone is 1000, for example, as illustrated, address attached from the beginning every word 1000
h〜13E7hである、合計1000ワードの記憶領域を備える。 A H~13E7h, a storage area of ​​total 1000 words. 【0047】そして、ファイル管理用BPTを形成する記憶領域に付された各々のアドレスは論理ブロックアドレスに等しい。 [0047] Then, each of the address attached to the storage area to form a file management BPT is equal to a logical block address. そして、各々のアドレスを付された1ワードの記憶領域に格納されている内容は、当該アドレスが示す論理ブロックアドレスに対応付けられているブロックの物理ブロックアドレスを表す。 Then, the contents stored in the storage area of ​​one word attached to each address represents the physical block address of the block in which the address is associated with the logical block address indicated. 【0048】一方、一般用BPTを形成する記憶領域に付された各々のアドレスは、論理ブロックアドレスと、 Meanwhile, each of the address attached to the storage area to form a general use BPT includes a logical block address,
一般用BPTを形成する記憶領域に付されたアドレスの最小値(オフセット値)との和から、上述のゾーン情報が示すゾーンの番号に03E8h(すなわち、10進数1000)を乗じた数を差し引いた値に等しい。 From the sum of the OTC minimum value of address attached to the storage area to form a BPT (the offset value), minus the number obtained by multiplying the 03E8h the number of the zone indicated by the zone information described above (i.e., decimal 1000) equal to the value. そして、各々のアドレスを付された1ワードの記憶領域に格納されている内容は、当該アドレスが示す論理ブロックアドレスに対応付けられているブロックの物理ブロックアドレスを表す。 Then, the contents stored in the storage area of ​​one word attached to each address represents the physical block address of the block in which the address is associated with the logical block address indicated. 【0049】具体的には、例えば図5に示すように、アドレス1001hを付された記憶領域に値”0A10 [0049] More specifically, as shown in FIG. 5, the value in the storage area assigned to the address 1001h "0A10
h”が格納されており、オフセット値が1000hであり、ゾーン情報がゾーン2を表しているとする。この場合は、物理ブロックアドレスが0A10hであるブロックには、論理ブロックアドレスとして07D1hが対応付けられている。 【0050】ただし、各々のアドレスを付された記憶領域に格納されている内容が所定の値を表す場合(例えば、図示するように、値”0FFFh”を表す場合) h "is stored, the offset value is 1000h, the zone information indicates the zone 2. In this case, the block physical block address is 0A10h, 07D1h is associated as a logical block address are. [0050] However, if the contents stored in the storage area assigned to each address representing a predetermined value (for example, as shown, when representing the value "0FFFh")
は、その値を格納している記憶領域のアドレスが示す論理ブロックアドレスには、物理ブロックアドレスが対応付けられていないことを表す。 Is the logical block address indicated by the address of the storage area that stores the value, indicating that the physical block address is not associated with. 【0051】コンピュータ2はパーソナルコンピュータ等からなり、PCMCIAスロットを備え、OS及びドライバを表すプログラムデータを記憶し、電源投入後、 [0051] Computer 2 is a personal computer or the like, comprising a PCMCIA slot, and program data representing the OS and the driver, after power
OSを実行する。 To run the OS. そして、PCMCIAスロットにメモリユニット1が装着されたことを検知すると、OSの処理に従ってドライバを起動する。 Then, when it is detected that the memory unit 1 is attached to the PCMCIA slot, it starts the driver according to processing of the OS. 【0052】ドライバの処理を行うコンピュータ2は、 [0052] The computer 2 to perform the processing of the driver,
コントローラ12に上述の命令を供給したり、フラッシュメモリ11に書き込む対象のデータを供給して、CP And it supplies the above-mentioned instruction to the controller 12, and supplies the target data to be written into the flash memory 11, CP
U121に、フラッシュメモリ11へのアクセスを行わせる。 The U121, to perform the access to the flash memory 11. そして、自らが供給した命令に従ってCPU12 Then, CPU12 in accordance with the instruction that is itself supplied
1がフラッシュメモリ11から読み出して自らに供給したデータを、CPU121より取得する。 1 was fed into themselves read from the flash memory 11 the data is acquired from CPU 121. 【0053】(動作)次に、この記憶システムの動作を、図6〜図11を参照して説明する。 [0053] (Operation) The operation of this storage system will be described with reference to FIGS. 6-11. 図6は、初期処理を示すフローチャートである。 Figure 6 is a flowchart showing the initial processing. 図7は、データ読み出しの処理を示すフローチャートである。 Figure 7 is a flowchart showing the processing of data read. 図8は、一般用BSI・一般用BPTの作成の処理を示すフローチャートである。 Figure 8 is a flowchart showing a process of creating OTC BSI · OTC BPT. 図9は、データ書き込みの処理を示すフローチャートである。 Figure 9 is a flow chart illustrating the data writing process. 図10は、FAT更新の処理を示すフローチャートである。 Figure 10 is a flowchart showing a process of FAT updates. 図11は、データ転記の処理を示すフローチャートである。 Figure 11 is a flowchart showing the processing of data transcription. 【0054】(初期処理)この記憶システムが起動すると、メモリユニット1のコントローラ12のCPU12 [0054] (initial processing) If the storage system is activated, CPU 12 of the controller 12 of the memory unit 1
1は、図6に示す初期処理を実行する。 1 executes the initial processing shown in FIG. 初期処理を開始すると、CPU121は、SRAM123の記憶領域のうち、BPT及びBSIを格納する部分の初期化を行う(ステップS101)。 When starting the initial processing, CPU 121, of the memory area of ​​SRAM 123, and initializes the portion storing the BPT and BSI (step S101). 【0055】ステップS101においてCPU121 [0055] CPU121 in step S101
は、具体的には、SRAM123の記憶領域のうちファイル管理用BPT及び一般用BPTを格納する部分について、1ワード毎に付された上述のアドレスにより示される各区画に、物理ブロックアドレスが対応付けられていないことを示す所定の値(例えば、上述の値”0FF Is specifically the portion for storing the file management BPT and OTC BPT among the storage areas of SRAM 123, with each compartment indicated by the above-mentioned address attached to each word, the physical block address associated is optionally not a predetermined value indicating that the (e.g., the above-mentioned value "0FF
Fh”)を書き込む。また、ファイル管理用BSI及び一般用BSIを格納する部分のビットの論理値を、すべて”0”とする。また、ゾーン情報を格納する部分には、ゾーン0を示すゾーン情報を格納する。 【0056】次に、CPU121は、フラッシュメモリ11のゾーン0に属する各ブロックのうち、未だ冗長部に格納されているデータを読み出されていないブロックであって最も物理ブロックアドレスが若いものを特定し、特定されたブロックに属するページの冗長部に格納されているデータを読み出す(ステップS102)。 【0057】次に、CPU121は、ステップS102 Fh "writing). Furthermore, the logical value of the bits of a portion storing the BSI for BSI and general file management, all" a 0 ". Further, the portion for storing zone information, the zone indicating the zone 0 storing information. Next, CPU 121, among the blocks belonging to the zone 0 of the flash memory 11, most physical block addresses a block that has not been read out data stored in the still redundant section identify what young, reads the data stored in the redundant portion of the pages belonging to a particular block (step S102). Next, CPU 121, the step S102
で読み出したデータに基づき、ステップS102でデータを読み出したブロックが空きブロックであるか否かを判別する(ステップS103)。 Based on the read data, the block data is read in step S102 it is determined whether or not an empty block (step S103). 具体的には、例えば、 More specifically, for example,
ステップS102で読み出したデータに、所定の形式の空きブロックコードが格納されているか否かを判別する。 To the data read in step S102, it is determined whether or not a predetermined format empty block code is stored. そして、空きブロックでないと判別すると、CPU When it is determined not an empty block, CPU
121は、処理をステップS106に移す。 121 shifts the processing to step S106. 【0058】一方、空きブロックであると判別すると、 [0058] On the other hand, if it is determined that it is an empty block,
CPU121は、その空きブロックを示す物理ブロックアドレスから、ファイル管理用BSIを格納するためのSRAM123の記憶領域中、その物理ブロックアドレスを示すビットの位置を算出し、そのビットの論理値を”1”に書き換える(ステップS104)。 CPU121 from the physical block address indicating the free block, in the storage area of ​​SRAM123 for storing BSI for file management, and calculates the position of the bit indicating the physical block address, the logical value of the bit "1" rewritten (step S104). また、一般用BSIを格納するためのSRAM123の記憶領域中、その物理ブロックアドレスを示すビットの位置も算出し、そのビットの論理値も”1”に書き換える(ステップS105)。 Further, in the storage area of ​​SRAM123 for storing general use BSI, also calculates the position of the bits indicating the physical block address is rewritten to be "1" logic value of the bit (step S105). ステップS104及びS105の処理を終えると、CPU121は処理をステップS109に移す。 On finishing the process at steps S104 and S105, CPU 121 transfers the process to step S109. 【0059】一方、ステップS106で、CPU121 [0059] On the other hand, in step S106, CPU121
は、ステップS102で読み出したデータのうちに、先頭の256個に属する論理ブロックアドレス、すなわち、”0000h”以上”00FFh”以下の論理ブロックアドレスが含まれているか否かを判別する。 Is within the data read in step S102, to determine the beginning of the 256 belonging to the logical block address, i.e., whether "0000h" or "00FFh" it contains the following logical block address. 【0060】そして、含まれていないと判別すると、一般用BPTを格納するためのSRAM123の記憶領域中、フラッシュメモリ11から読み出した論理ブロックアドレスに相当するアドレスを付された部分に、その論理ブロックアドレスを読み出したブロックの物理ブロックアドレスを書き込み(ステップS107)、処理をステップS109に移す。 [0060] Then, when determining that not contained in the storage area of ​​SRAM123 for storing general use BPT, the portion attached to the address corresponding to the logical block address read from the flash memory 11, the logical block write physical block address of the block which reads the address (step S107), the flow proceeds to step S109. これにより、一般用BPTに、 As a result, in general for the BPT,
物理ブロックアドレスと論理ブロックアドレスとの対応付けを示す新たな情報が追加される。 New information indicating the correspondence between the physical block addresses and the logical block address is added. 【0061】一方、含まれていると判別すると、ファイル管理用BPTを格納するためのSRAM123の記憶領域中、フラッシュメモリ11から読み出した論理ブロックアドレスに相当するアドレスを付された部分に、その論理ブロックアドレスを読み出したブロックの物理ブロックアドレスを書き込み(ステップS108)、処理をステップS109に移す。 [0061] On the other hand, when determining that it does, in the storage area of ​​SRAM123 for storing file management BPT, the portion attached to the address corresponding to the logical block address read from the flash memory 11, the logic write physical block address of the block reading the block address (step S108), the flow proceeds to step S109. これにより、ファイル管理用BPTに、物理ブロックアドレスと論理ブロックアドレスとの対応付けを示す新たな情報が追加される。 Thus, the file management BPT, new information is added which indicates a correspondence between the physical block addresses and the logical block address. 【0062】ステップS109で、CPU121は、ステップS102で冗長部に格納されているデータを読みとられたブロックの次のブロックがフラッシュメモリ1 [0062] In step S109, CPU 121, the step S102 of blocks read data stored in the redundant section in the next block flash memory 1
1のゾーン0に存在するか否かを判別する。 It determines whether present in a zone 0. そして、存在すると判別すると処理をステップS102に戻し、存在しないと判別すると、初期処理を終了する。 Then, the process returns to determine the presence to the step S102, when determining nonexistent and ends the initial processing. 【0063】以上説明した初期処理により、ゾーン0の一般用BSI及びゾーン0の一般用BPTと、ファイル管理用BSIと、ファイル管理用BPTとが作成される。 [0063] According to the described initial processing or more, and for general use BPT general for BSI and zone 0 of the zone 0, and the BSI for file management, it is created and file management for the BPT. 【0064】(データ読み出しの処理)初期処理が終了すると、メモリユニット1のCPU121は、コンピュータ2より、フラッシュメモリ11へのアクセスの指示を受け付ける。 [0064] (processing of data reading) the initial process is completed, CPU 121 of the memory unit 1, from the computer 2 receives an instruction for access to the flash memory 11. コンピュータ2は、CPU121にフラッシュメモリ11からのデータの読み出しを指示するときは、まず、ディレクトリ及びFATを読み出すため、 Computer 2, when an instruction to read data from the flash memory 11 to the CPU121, first, to read the directory and FAT,
読み出しを指示する命令と、ディレクトリ及びFATが記憶されているブロックの論理ブロックアドレスを、C And instructs to read the logical block address of a block directory and FAT are stored, C
PU121に供給する(図7、ステップS201)。 It supplies the PU121 (Figure 7, step S201). 【0065】データの読み出しを指示する命令と、論理ブロックアドレスとを供給されたCPU121は、論理ブロックアドレスをキーとしてファイル管理用BPTを検索し、ディレクトリ及びFATが記憶されているブロックの物理ブロックアドレスを索出し、当該物理ブロックアドレスが示すブロックよりディレクトリ及びFAT [0065] instructions for instructing reading of data, CPU 121 supplied with the logical block address, retrieves the file management BPT logical block address as the key, the physical block address of the block of the directory and FAT are stored the retrieved directory and FAT from the block to which the physical block address indicates
を読み出して、コンピュータ2に供給する(ステップS It reads and supplies to computer 2 (step S
202)。 202). コンピュータ2は、自己に供給されたディレクトリ及びFATを一時記憶する。 Computer 2 temporarily stores the directory and FAT supplied to self. 【0066】コンピュータ2は、CPU121よりディレクトリ及びFATを供給されると、データを読み出す対象のファイルのファイル名をキーとして、CPU12 [0066] computer 2, and is supplied to the directory and FAT than CPU121, the file name of the target file to read the data as a key, CPU12
1より供給されたディレクトリを検索し、そのファイル名を有するファイルの内容が格納されている先頭のページの論理ブロックアドレス及びページアドレスを索出する(ステップS203)。 Find the supplied directory from 1, the contents of the file having the file name is retrieved out the logical block address and page address of the first page stored (step S203). 【0067】また、コンピュータ2は、ステップS20 [0067] In addition, the computer 2, step S20
3で索出した論理ブロックアドレス及びページアドレスをキーとして、CPU121から供給されたFATを検索し、ディレクトリから論理ブロックアドレス及びページアドレスを索出されたページに後続するページの論理ブロックアドレス及びページアドレスがあれば、すべて索出し、該当するページが連続する順序を特定する(ステップS204)。 The logical block address and page address as key retrieved by 3, the logical block address and page address of the page to find the supplied FAT, you must follow the logical block address and page address to the page that has been searched out from a directory from CPU121 if there is, all retrieved to identify the order in which the corresponding pages are continuous (step S204). 【0068】そして、コンピュータ2は、ステップS2 [0068] Then, the computer 2, step S2
03及びS204で索出されたページの記憶内容を読み出すため、読み出しを指示する命令と、ステップS20 For reading the stored contents of pages searched out 03 and S204, and instructs to read, step S20
3及びS204で索出されたページであって未だデータを読み出されていないページのうち先頭のページの論理ブロックアドレス及びページアドレスとを、CPU12 3 and S204 and logical block address and page address of the first page of the pages A search out page is not read out yet the data, CPU 12
1に供給する(ステップS205)。 Supplied to 1 (step S205). 【0069】CPU121は、ステップS205で、読み出しを指示する命令と、論理ブロックアドレス及びページアドレスを供給されると、供給された論理ブロックアドレスを割り当てられるゾーンを特定する(ステップS206)。 [0069] CPU121 in step S205, a command for instructing reading, when supplied with the logical block address and page address to identify the zone to be assigned the supplied logical block address (step S206). 【0070】そして、CPU121は、SRAM123 [0070] Then, CPU121 is, SRAM123
に格納されているゾーン情報を読み出し、読み出したゾーン情報が示すゾーンと、ステップS205で特定したゾーンとが一致するか否かを判別する(ステップS20 Read zone information stored in the zone indicated by the read zone information, and the specified zone determines whether match in step S205 (step S20
7)。 7). 【0071】そして、両者が一致するとステップS20 [0071] Then, step S20 if it matches
7で判別したとき、CPU121は、処理をステップS When it is determined at 7, CPU 121, the processing step S
209に移す。 Transfer to 209. 一方、一致しないと判別したとき、CP Meanwhile, when they do not match is determined, CP
U121は、ステップS206で特定したゾーン(すなわち、読み出す対象のブロックが属するゾーン)について、図8に示す一般用BSI・一般用BPT作成の処理を行って、新たなBSI及び一般用BPTを作成する(ステップS208)。 U121 is a zone (i.e., zone block for which reading belongs) specified in step S206 for, by performing the processing of OTC BSI · OTC BPT creation shown in FIG. 8, to create a new BSI and OTC BPT (step S208). 【0072】図8の処理を開始するとCPU121は、 [0072] When starting the process of FIG. 8 CPU121 is,
ステップS206で特定されたゾーンに属する各ブロックのうち、未だ冗長部に格納されているデータを読み出されていないブロックであって最も物理ブロックアドレスが若いものを特定し、特定されたブロックに属するページの冗長部に格納されているデータを読み出す(図8、ステップS301)。 Step S206 among the blocks belonging to the identified zone, most physical block address identifies the young ones, belonging to a specific block or a block that has not been read out data stored in the still redundant section It reads the data stored in the redundant portion of the page (Figure 8, step S301). 【0073】次に、CPU121は、ステップS301 [0073] Then, CPU121 is, step S301
で読み出したデータに基づき、ステップS103と実質的に同一の手法により、ステップS301でデータを読み出したブロックが空きブロックであるか否かを判別する(ステップS302)。 Based on the data read in, in step S103 substantially the same manner, blocks from which data has been read in step S301 it is determined whether or not an empty block (step S302). 【0074】そして、空きブロックでないと判別すると、CPU121は、処理をステップS304に移す。 [0074] When it is determined not an empty block, CPU 121 shifts the processing to step S304.
一方、空きブロックであると判別すると、CPU121 On the other hand, when determining that a free block, CPU 121
は、その空きブロックを示す物理ブロックアドレスから、一般用BSIを格納するためのSRAM123の記憶領域中、その物理ブロックアドレスを示すビットの位置を算出し、そのビットの論理値を”1”に書き換え(ステップS303)、処理をステップS305に移す。 Rewrites the physical block address indicating the free block, OTC in the storage area of ​​SRAM123 for storing BSI, calculates the position of the bits indicating the physical block address, the logical value of the bit to "1" (step S303), the processing proceeds to step S305. 【0075】ステップS304で、CPU121は、一般用BPTを格納するためのSRAM123の記憶領域中、ステップS301でフラッシュメモリ11から読み出したデータに含まれる論理ブロックアドレスに相当するアドレスを付された部分に、その論理ブロックアドレスを読み出したブロックの物理ブロックアドレスを書き込み、処理をステップS305に移す。 [0075] In step S304, CPU 121 is in the storage area of ​​SRAM123 for storing general use BPT, the portion attached to the address corresponding to the logical block address included in the read data from the flash memory 11 in step S301 writes the physical block address of the block which reads the logical block address, the flow proceeds to step S305. これにより、一般用BPTに、物理ブロックアドレスと論理ブロックアドレスとの対応付けを示す新たな情報が追加される。 Thus, for General BPT, new information is added which indicates a correspondence between the physical block addresses and the logical block address. 【0076】ステップS305で、CPU121は、冗長部に格納されているデータをステップS301で読みとられたブロックの次のブロックが、ステップS206 [0076] In step S305, CPU 121, the next block of the block which is read in step S301 the data stored in the redundant section, the step S206
で特定されたゾーンに存在するか否かを判別する。 In determining whether or not present in a particular zone. そして、存在すると判別すると処理をステップS301に戻し、存在しないと判別すると、SRAM123に、ステップS206で特定されたゾーンを示すゾーン情報を書き込んで(ステップS306)、一般用BSI・一般用BPT作成の処理を終了する。 Then, the process returns to determine the presence to the step S301, if it is determined non-existent and, in SRAM 123, writes the zone information indicating the specified zone in step S206 (step S306), general use BSI · OTC BPT Creating the process is terminated. 【0077】ステップS208で一般用BSI・一般用BPT作成の処理を完了したCPU121は、図7に示すステップS209へと処理を進める。 [0077] CPU121 completing the processing of OTC BSI · OTC BPT created in step S208, the process advances to step S209 shown in FIG. ステップS20 Step S20
9で、CPU121は、ステップS205でコンピュータ2より供給された論理ブロックアドレスをキーとして一般用BPTを検索し、その論理ブロックアドレスに対応付けられた物理ブロックアドレスを索出する。 In 9, CPU 121 retrieves the OTC BPT logical block address supplied from the computer 2 in step S205 as a key, and searches out the physical block address associated with the logical block address. そして、CPU121は、ステップS209で索出した物理ブロックアドレス及びページアドレスが示すページよりデータを読み出して、コンピュータ2に供給する(ステップS210)。 Then, CPU 121 supplies from the page indicated by the physical block address and page address retrieved in step S209 reads the data, to the computer 2 (step S210). 【0078】コンピュータ2は、CPU121より読み出し対象のデータを供給されると、ステップS203及びS204で索出されたページのうちに未だデータを読み出されていないページがあるか否かを判別する(ステップS211)。 [0078] Computer 2 determines whether the supplied read target data from the CPU 121, there is a page not yet been read out data within the pages searched out in step S203 and S204 ( step S211). そして、該当するページがあると判別したときは処理をステップS205に戻し、ないと判別したときは処理を終了する。 Then, when it is determined that there is a corresponding page returns the process to step S205, when it is determined that it is not the process ends. 【0079】以上説明したステップS201〜S211 [0079] The above-described step S201~S211
の処理により、フラッシュメモリ11よりデータが読み出され、コンピュータ2へと供給される。 The process, the data from the flash memory 11 is read out and supplied to the computer 2. この記憶システムにおいては、ディレクトリやFATを読み出す処理のためにファイル管理用BPTが作成し直される、といったことがない。 In this storage system, the file management BPT for processing to read the directory and FAT is re-created, is not like. このため、データの読み出しの処理の間にBPTの作成をやり直す回数の増加や、BPTの作成をやり直す処理の時間の増加が防止される。 Therefore, an increase or the number of times the re-creation BPT of during the processing of the data read, an increase in time of the process again to create a BPT is prevented. 【0080】(データ書き込みの処理)また、フラッシュメモリ11へのデータの書き込みを行う場合、まず、 [0080] (data writing process) Also, in the case of writing data to the flash memory 11, first,
コンピュータ2は、ディレクトリ及びFATを読み出すため、上述のステップS201と同様に、読み出しを指示する命令と、ディレクトリ及びFATが記憶されているブロックの論理ブロックアドレスを、CPU121に供給する(図9、ステップS401)。 Computer 2, to read the directory and FAT, as in step S201 described above, and instructs to read the logical block address of a block directory and FAT are stored is supplied to the CPU 121 (FIG. 9, step S401). 【0081】データの読み出しを指示する命令と、論理ブロックアドレスとを供給されたCPU121は、上述のステップS202と実質的に同一の処理を行うことによりディレクトリ及びFATを読み出して、コンピュータ2に供給する(ステップS402)。 [0081] instructions for instructing reading of data, CPU 121 supplied with the logical block address, reads the directory and FAT by performing substantially the same process as step S202 described above, and supplies to the computer 2 (step S402). コンピュータ2 Computer 2
は、自己に供給されたディレクトリ及びFATを一時記憶する。 Temporarily stores the directory and FAT supplied to self. 【0082】次に、コンピュータ2は、フラッシュメモリ11に書き込む対象のファイルのファイル名をキーとして、CPU121より供給されたディレクトリを検索し、そのファイル名を有するファイルの内容が格納されている先頭のページの論理ブロックアドレス及びページアドレスを索出する(ステップS403)。 [0082] Next, the computer 2, as a key file name of the target file to be written to the flash memory 11, searches the directory that has been supplied from the CPU121, of the top contents of the file with the file name is stored the logical block address and page address of the page to searches out (step S403). 【0083】そして、当該論理ブロックアドレス及びページアドレスが索出されたか否かを判別する(ステップS404)。 [0083] Then, the logical block address and page address is determined whether or not the searched out (step S404). そして、あると判別したときは、ステップS403で索出した論理ブロックアドレス及びページアドレスをキーとして、CPU121から供給されたFA Then, when it is determined that there is, as a key the logical block address and page address retrieved in step S403, which is supplied from the CPU 121 FA
Tを検索し、ディレクトリから論理ブロックアドレス及びページアドレスを索出されたページに後続するページの論理ブロックアドレス及びページアドレスがあれば、 Find the T, if the logical block address and page address of the page that the logical block address and page address from the directory following a page searched out,
すべて索出し、該当するページが連続する順序を特定し(ステップS405)、処理をステップS407に移す。 All retrieved to identify the order in which the corresponding pages are continuous (step S405), the flow proceeds to step S407. 【0084】一方、ないと判別したとき、この記憶システムは、図10に示すFAT更新の処理を行う(ステップS406)。 [0084] On the other hand, when it is determined that there is no, the storage system performs the process of FAT updates shown in FIG. 10 (step S406). 図10の処理を開始すると、まず、コンピュータ2は、CPU121に、フラッシュメモリ11 When the process is started in FIG. 10, first, the computer 2, the CPU 121, the flash memory 11
へのデータの書き込みを指示する命令と、ディレクトリ及びFATが格納されるブロックの論理ブロックアドレスとを供給する(ステップS501)。 And it supplies a command instructing writing of data, and a logical block address of the block in which the directory and FAT are stored in the (step S501). 【0085】なお、コンピュータ2は、例えば、ステップS401でコンピュータ2に供給されたディレクトリ及びFATを解析して、データが書き込まれていないページの論理ブロックアドレス及びページアドレスを特定する。 [0085] Incidentally, the computer 2, for example, by analyzing the directory and FAT supplied to the computer 2 in step S401, it identifies the logical block address and page address of the page in which data is not written. そして、特定した論理ブロックアドレス及びページアドレスが示すページに書き込み対象のデータを書き込むことを決定する。 Then, you decide to write the write target data to a page indicated by the specified logical block address and page address. そして更に、自己が一時記憶しているディレクトリ及びFATを、当該決定の結果を表すように更新する。 And further, the directory and FAT itself is temporarily stored, is updated to reflect the result of the decision. これにより、フラッシュメモリ11に新たに書き込むべきディレクトリ及びFATが作成される。 Thus, new directory and FAT to be written is created in the flash memory 11. 【0086】一方、データの書き込みを指示する命令と、ディレクトリ及びFATが格納されるブロックの論理ブロックアドレスとを供給されたCPU121は、新たなディレクトリ及びFATを格納するための256個の空きブロックの物理ブロックアドレスを、ファイル管理用BSIより索出する(ステップS502)。 [0086] On the other hand, a command instructing writing of data, CPU 121 supplied with the logical block address of the block in which the directory and FAT are stored is 256 empty block for storing a new directory and FAT the physical block address searches out from the BSI for file management (step S502). 【0087】そして、CPU121はファイル管理用B [0087] Then, CPU121 is B for file management
SIにもアクセスし、ファイル管理用BSIの内容が、 Also access to SI, BSI of contents for file management,
ステップS502で物理ブロックアドレスを索出されたブロックが空きブロックであることを表さないように、 In step S502 the physical block addresses as search out blocks do not represent that a free block,
ファイル管理用BSIの内容を書き換える(ステップS Rewrite the BSI of contents for the file management (step S
503)。 503). 【0088】次に、CPU121は、コンピュータ2 [0088] Then, CPU121, the computer 2
に、書き込む対象のデータを供給するよう指示し、コンピュータ2は、この指示に従って、自己が一時記憶するディレクトリ及びFATをCPU121に供給する。 , The indicated computer 2 to supply target data to be written is supplied in accordance with this instruction, the directory and FAT is stored itself temporarily in CPU 121. そして、CPU121は、コンピュータ2より供給されたディレクトリ及びFATを、ステップS502で物理ブロックアドレスを索出されたブロックの先頭以降に順次書き込む(ステップS504)。 Then, CPU 121 is a directory and FAT supplied from the computer 2 sequentially writes since the beginning of the block searched out the physical block address in step S502 (step S504). また、ステップS50 In addition, step S50
4において、CPU121は、ステップS502で物理ブロックアドレスを索出されたブロックの各ページの冗長部に、ステップS501でコンピュータ2から供給された論理ブロックアドレスを書き込む。 In 4, CPU 121 is a physical block address in the redundant portion of each page of the block that is searched out in step S502, it writes the logical block address supplied from the computer 2 in step S501. 【0089】また、CPU121はファイル管理用BP [0089] In addition, CPU121 is BP for file management
Tにもアクセスし、ファイル管理用BPTのうち、ステップS402でFAT及びディレクトリの読み出しの対象としたブロックの物理ブロックアドレスが格納されている記憶領域に、S504での書き込みが完了したブロックの物理ブロックアドレスを上書きする(ステップS Also accesses the T, of the file management BPT, the storage area in which the physical block addresses of blocks to be subjected to reading of the FAT and directory are stored in step S402, the block writing in step S504 has been completed physical block to override the address (step S
505)。 505). これにより、ステップS402で読み出されたFAT及びディレクトリ(以下、「古いFAT等」と呼ぶ)が格納されているブロックに従前対応付けられていた論理ブロックアドレスは、新たに書き込みが完了したブロックに対応付けられる。 Thus, it reads FAT and directory (hereinafter, "old FAT or the like" hereinafter) in step S402 the logical block address that was attached previously corresponding to a block that contains the can to block the newly writing has been completed It is associated. 【0090】ステップS505の処理が完了すると、C [0090] When the processing of step S505 is completed, C
PU121はFAT更新の処理を終了する。 PU121 terminates the processing of the FAT update. FAT更新の処理が終わると、CPU121は、コンピュータ2にFAT更新の処理が完了したことを通知する。 When the process of FAT updates is completed, CPU 121 notifies that the processing of the FAT update is completed to the computer 2. 【0091】コンピュータ2は、ステップS404の処理の後、ステップS405の処理を終え又はCPU12 [0091] computer 2, after the processing of step S404, after the processing of step S405 or CPU12
1よりFAT更新の処理の完了を通知されると、CPU When notified of the completion of the processing of FAT updates from 1, CPU
121に、フラッシュメモリ11へのデータの書き込みを指示する命令と、書き込む対象のファイルに含まれるデータを書き込むページの論理ブロックアドレス及びページアドレスとを供給する(図9、ステップS40 To 121, and instructs to write data to the flash memory 11, writes supplies the logical block address and page address of the page for writing data included in the target file (Fig. 9, Step S40
7)。 7). 【0092】なお、ステップS407でコンピュータ2 [0092] It should be noted that the computer 2 in step S407
からCPU121に供給される論理ブロックアドレス及びページアドレスは、(a)ステップS403で索出された論理ブロックアドレス及びページアドレスが示すページのうち、未だデータが書き換えられていない先頭のページ、又は、(b)ステップS406のFAT更新の処理において新たなディレクトリ及びFATを作成する際に、新たにデータを書き込むことと決定したページのうち、未だデータを格納されていない先頭のページ、を示すものであればよい。 Logical block address and page address supplied to the CPU121 from, (a) of the page indicated by the searched out logical block address and page address in step S403, the top of the page not yet data is rewritten, or ( when creating a new directory and FAT in the process of FAT updates b) step S406, among the pages was determined to write new data, it indicates the beginning of a page, the not yet stored data Bayoi. 【0093】ステップS407でデータの書き込みを指示する命令と、論理ブロックアドレス及びページアドレスとを供給されたCPU121は、供給された論理ブロックアドレスを割り当てられているゾーンを特定する(ステップS408)。 [0093] and instructs to write the data in step S407, CPU 121 supplied with the logical block address and page address identifies a zone that is assigned the supplied logical block address (step S408). そして、CPU121は、SR Then, CPU121 is, SR
AM123に格納されているゾーン情報を読み出し、読み出したゾーン情報が示すゾーンと、ステップS408 Read zone information stored in the AM123, the zone indicated by the read zone information, step S408
で特定したゾーンとが一致するか否かを判別する(ステップS409)。 In determining whether or not the identified zones coincide (step S409). 【0094】そして、両者が一致するとステップS40 [0094] Then, step S40 if it matches
9で判別したとき、CPU121は、処理をステップS When it is determined at 9, CPU 121, the processing step S
411に移す。 Transfer to 411. 一方、一致しないと判別したとき、CP Meanwhile, when they do not match is determined, CP
U121は、ステップS408で特定したゾーンを、上述のステップS206で特定されたものと同一に扱って、図8の一般用BSI・一般用BPT作成の処理と実質的に同一の処理を行い、新たなBSI及び一般用BP U121 is a zone identified in step S408, dealing the same as that specified in step S206 described above, it performs general for BSI · OTC BPT creation process substantially identical to the process in FIG. 8, a new such BSI and general for BP
Tを作成し(ステップS410)、処理をステップS4 Create a T (step S410), processing the step S4
11に移す。 Transfer to 11. 【0095】ステップS411で、CPU121は、ステップS407で自己に供給された論理ブロックアドレスをキーとして一般用BPTを検索し、その論理ブロックアドレスに対応づけられた物理ブロックアドレスを索出する。 [0095] In step S411, CPU 121 retrieves the OTC BPT logical block address supplied to the self at step S407 as a key, and searches out the physical block address corresponding to the logical block address. そして、CPU121は、ステップS411で物理ブロックアドレスが索出されたか否かを判別する(ステップS412)。 Then, CPU 121 is a physical block address is determined whether or not the searched out in step S411 (step S412). 【0096】そして、索出されなかったと判別すると、 [0096] Then, when it is determined that was not searched out,
CPU121は、SRAM123の退避用メモリ領域に格納されているデータを消去する(具体的には、例えば、退避用メモリ領域に格納されているデータの各ビットをすべて値”1”に更新する)ことにより、退避用メモリ領域の初期化を行い(ステップS413)、処理をステップS415に移す。 CPU121 (specifically, for example, to update each bit of data stored in the saving memory area every value "1") for erasing the data stored in the saving memory area of ​​SRAM123 that by initializes the saving memory area (step S413), the flow proceeds to step S415. 一方、索出されたと判別すると、CPU121は、索出された物理ブロックアドレスが示すブロックに格納されているデータを読み出して、 On the other hand, when determining that the searched out, CPU 121 reads out the data stored in the block indicated by the searched out the physical block address,
SRAM123の退避用メモリ領域に格納し(ステップS414)、処理をステップS415に移す。 Stored in the saving memory area of ​​SRAM123 (step S414), the flow proceeds to step S415. 【0097】ステップS415で、CPU121は、新たにデータを書き込むための1個の空きブロックの物理ブロックアドレスを、一般用BSIより索出する。 [0097] In step S415, CPU 121 is one physical block address of a free block for writing new data and searches out from the general use BSI. そして、CPU121は、図11に示すデータ転記の処理を行う(ステップS416)。 Then, CPU 121 performs processing of data transcription shown in FIG. 11 (step S416). 【0098】データ転記の処理を開始すると、CPU1 [0098] When starting the processing of the data posting, CPU1
21は、後述のステップS603及びS604の処理でデータを書き込む対象のページを示す変数を格納するレジスタ(書き込み用レジスタ)の使用を宣言し、書き込み用レジスタに、ステップS415で索出されたブロックの先頭ページのページアドレスを格納する(図11、 21 declares the use of the register for storing the variable indicating the page of the target to write data in the processing of steps S603 and S604 will be described later (write register), the write register, the cord out blocks in step S415 to store the page address of the first page (Figure 11,
ステップS601)。 Step S601). 【0099】次に、CPU121は、書き込み用レジスタに現に格納されているページアドレスが、ステップS [0099] Next, CPU 121 is the page addresses that are currently stored in the write register, step S
407でコンピュータ2から供給されたページアドレスと一致するか否かを判別する(ステップS602)。 407 determines whether or not matching the supplied page address from the computer 2 (step S602). 【0100】そして、一致すると判別すると、CPU1 [0100] and, if it is determined match and, CPU1
21は、コンピュータ2に、書き込む対象のファイルに含まれるデータのうち、書き込み用レジスタに格納されているページアドレスが示すページに格納すべき部分を供給するよう指示し、コンピュータ2は、この指示に従って、該当するデータをCPU121に供給する。 21, the computer 2, of the data included in the target file to be written, and instructs to supply the parts to be stored in the page indicated by the page address stored in the write register, the computer 2 in accordance with this instruction , and it supplies the appropriate data to the CPU121. CP CP
U121は、コンピュータ2より供給されたこのデータを、ステップS415で索出された物理ブロックアドレス及び書き込み用レジスタに格納されているページアドレスとより特定されるページに書き込み(ステップS6 U121 writes the data supplied from the computer 2, the page that is more particularly the page address stored in the physical block address and the write registers searched out in step S415 (step S6
03)、処理をステップS605に移す。 03), the flow proceeds to step S605. 【0101】一方、ステップS602において、2個のページアドレスが一致しないと判別すると、CPU12 [0102] On the other hand, in step S602, when the two-page address is determined to not match, CPU 12
1は、ステップS414で退避用メモリ領域に転記したデータのうち、転記元のブロック(すなわち、ステップS414でデータを読み出したブロック)中、書き込み用レジスタに格納されているページアドレスと同一のページアドレスが示すページに格納されていた部分を、退避用メモリ領域から読み出す。 1, among the data posted to saving memory space in step S414, transfer source block (i.e., block data is read out in step S414) in the same page address and page address stored in the write register the has been stored in the page indicated moiety, read from saving memory area. そして、CPU121 Then, CPU121
は、読み出したデータを、ステップS415で索出された物理ブロックアドレス及び書き込み用レジスタに格納されているページアドレスとより特定されるページに書き込み(ステップS604)、処理をステップS605 The read data, a step S415 writes the page that is more particularly the page address stored in the searched out the physical block address and the write register at (step S604), the processing step S605
に移す。 Transfer to. 【0102】ステップS605で、CPU121は、書き込み用レジスタに格納されているページアドレスが、 [0102] In step S605, CPU121 is, the page address stored in the write register,
書き込み対象のブロックの最終ページを示しているか否かを判別する。 Determines whether or not the show the last page of the write target block. そして、示していないと判別すると、書き込み用レジスタに格納されているページアドレスをインクリメントする(ステップS606)。 When it is determined that not shown, increment the page address stored in the write register (step S606). すなわち、書き込み用レジスタに格納されているページアドレスを、 That is, a page address stored in the write register,
現に格納されているページアドレスが示すページの次のページを示すように更新する。 Currently updated to indicate the next page in the page indicated by the page address that is stored. ステップS606の処理を終えると、CPU121は、処理をステップS602 Upon completion of the processing of step S606, CPU121 is, step S602 the processing
に戻す。 Back to. 【0103】一方、ステップS605で、書き込み用レジスタに格納されているページアドレスが、書き込み対象のブロックの最終ページを示していると判別すると、 [0103] On the other hand, in step S605, the page address stored in the write register, when determining that shows the final page of the write target block,
CPU121はデータ転記の処理を終了し、図9に示すステップS418に処理を進める。 CPU121 terminates the processing of data transcription, the process proceeds to step S418 shown in FIG. 【0104】ステップS418で、CPU121は一般用BPTにアクセスし、一般用BPTのうち、ステップS411で索出された物理ブロックアドレスが格納されている記憶領域に、ステップS417のデータ転記の処理で新たにデータが書き込まれたブロックの物理ブロックアドレスを上書きする。 [0104] In step S418, CPU 121 accesses the OTC BPT, among OTC BPT, the storage area searched out the physical block address is stored in step S411, a new processing of data transcription step S417 data overwrites physical block addresses of the blocks written to. ただし、ステップS411で物理ブロックアドレスが索出されなかった場合は、一般用BPTのうち、物理ブロックアドレスが対応付けられていないことを示す所定の値(例えば、上述の値”0F However, if the physical block address has not been searched out in step S411, among the general use BPT, a predetermined value indicating that the physical block address is not associated (e.g., the aforementioned value "0F
FFh”)が格納されている記憶領域に上書きする。 【0105】これにより、新たにデータを書き込まれたブロックを示す物理ブロックアドレスには、ステップS FFh ") is overwritten in the storage area is stored. [0105] Thus, the physical block address indicating the written new data block, step S
411で検索された物理ブロックアドレスに従前対応付けられていた論理ブロックアドレス、又は従前いずれの物理ブロックアドレスにも対応付けられていなかった論理ブロックアドレスが、新たに対応付けられる。 Physical block address in the logical block address has been assigned previously corresponding search 411 or conventional logical block address that was not also associated with any of the physical block addresses, it can be newly mapped. 【0106】次に、CPU121は、ステップS411 [0106] Then, CPU121 is, step S411
において物理ブロックアドレスが索出されたかを再び判別し(ステップS419)、索出されなかったと判別すると、処理を後述のステップS422に移す。 In the physical block address or was again determined searched out (step S419), when it is determined that not searched out, the flow proceeds to step S422 described later. 【0107】一方、索出されたと判別すると、CPU1 [0107] On the other hand, if it is determined to have been searched out, CPU1
21は、ステップS411で索出された物理ブロックアドレスが示すブロック(すなわち、データ転記の処理における転記元のブロック)をリセットし、リセットしたブロックに属するページの冗長部に、空きブロックコードを書き込む(ステップS420)。 21 is a block (i.e., block transfer source in the processing of data transcription) indicated searched out the physical block address in step S411 is reset, and the redundant part of the pages belonging to the block reset, writing the free block codes ( step S420). 次いで、CPU1 Next, CPU1
21は一般用BSIにもアクセスし、ステップS420 21 also accesses the general use BSI, step S420
でリセットされたブロックが空きブロックであることを表すように、一般用BSIの内容を書き換え(ステップS421)、コンピュータ2に書き込みの完了を通知する。 In as reset block it is indicating that it is an empty block, to rewrite the OTC BSI content (step S421), and notifies the completion of writing to the computer 2. 【0108】ステップS421でCPU121より通知を受けたコンピュータ2は、フラッシュメモリ11に書き込む対象のページがまだ残っているか否かを判別する(ステップS422)。 [0108] Computer 2 which has received the notification from the CPU121 in step S421, the subject of the page to be written to the flash memory 11 it is determined whether or not there still remains (step S422). そして、残っていると判別すると処理をステップS407に戻す。 Then, the remaining are to determine the processing returns to step S407. 一方、残っていないと判別したとき、この記憶システムは、図11に示すF On the other hand, when it is determined that no remaining, the storage system, F shown in FIG. 11
AT更新の処理と実質的に同一の処理を再度行って(ステップS423)、データ書き込みの処理を終了する。 Treated substantially the AT updates performed by the same process again (step S423), and ends the data writing process. 【0109】ただし、ステップS423のFAT更新の処理において、コンピュータ2は、ステップS407でCPU121に供給した論理ブロックアドレス及びページアドレスが書き込み対象のデータのファイル名に対応付けられるように、自己が一時記憶しているディレクトリ及びFATを更新することにより、新たに書き込むべきディレクトリ及びFATを作成する。 [0109] However, in the process of FAT updating in step S423, the computer 2, as the logical block address and page address was supplied to the CPU121 in step S407 is associated with the file name of the data to be written, the self temporary storage by updating the directory and FAT are, to create a directory and FAT to be written anew. 【0110】以上説明した処理により、コンピュータ2 [0110] By the processing described above, the computer 2
から供給されたデータがフラッシュメモリ11に格納される。 Data supplied from is stored in the flash memory 11. また、一般用BSIの内容が、データの書き込みの結果新たに生じた空きブロック及び消滅した空きブロックを示すよう変更される。 The contents of general use BSI is changed to indicate the results newly empty block and extinct empty block caused the writing of data. また、ファイル管理用BS In addition, BS for file management
Iの内容は、FAT等の更新の結果ゾーン0に新たに生じた空きブロック及び消滅した空きブロックを示すよう変更される。 The contents of I is changed to indicate the newly generated free block and vanished empty blocks in the results zone 0 updates the FAT and the like. 一方、一般用BPTの内容も変更され、新たに空きブロックとなったブロックに割り当てられていた論理ブロックアドレスが、そのブロックに従前から記録されていたデータの転記を受けたブロックに新たに割り当てられる。 On the other hand, the content of the OTC BPT also changed, the logical block address has been newly allocated to the block became empty block, is newly allocated to a block which receives the posting of the data recorded from the previous to the block . また、ファイル管理用BPTの内容は、 In addition, the contents of the file management for the BPT is,
古いFAT等が格納されているブロックに従前割り当てられていた論理ブロックアドレスが、更新後のFAT及びディレクトリを新たに格納したブロックに新たに割り当てられるよう変更される。 Logical block address assigned previously to block the old FAT and the like are stored is modified to be newly allocated to the newly stored blocks the FAT and directory of the updated. 【0111】なお、この記憶システムの構成は、上述のものに限られない。 [0111] Note that the configuration of the storage system is not limited to those described above. 例えば、フラッシュメモリ11の記憶領域のゾーンの数、ブロックの数、1ブロック当たりのページの数、各ページの記憶容量、データ領域及び冗長部の記憶容量は、いずれも任意である。 For example, the number of zones in the storage area of ​​the flash memory 11, the number of blocks, number of pages per block, the storage capacity of each page, the storage capacity of the data area and the redundant section are all optional. また、フラッシュメモリ11は、EEPROMから構成されるものである必要はなく、コンピュータにより読み書き可能な任意の記憶装置であってよい。 The flash memory 11 is not necessarily intended to be composed of EEPROM, it may be any storage device readable and writable by a computer. 【0112】また、ディレクトリ及びFATが格納されるゾーンはゾーン0である必要はなく、いずれか所定のゾーンであればよい。 [0112] Further, the zone in which the directory and FAT are stored need not be zone 0, may be a any given zone. そして、この記憶システムは、図6に示す初期処理においては、ディレクトリ及びFAT Then, the storage system, in the initialization process shown in FIG. 6, the directory and FAT
が格納されているゾーンの一般用BPTを作成するようにすればよい。 There may be to create a general use BPT zone stored. また、ディレクトリ及びFATが格納されるブロックの論理アドレスは上述の値である必要はなく、また、ディレクトリ及びFATが格納されるブロックは256個である必要はなく、任意の個数であってよい。 Further, the logical address of the block in which the directory and FAT are stored need not be the aforementioned value, also blocks the directory and FAT are stored need not be 256, may be any number. また、ディレクトリ及びFATが記憶されているブロックに割り当てられる論理ブロックアドレスの値も上述の値に限られず、予め任意に定められた値が割り当てられてよい。 The value of the logical block address assigned to the block directory and FAT are stored is not limited to the above values ​​may be assigned a predetermined value arbitrarily. 【0113】また、フラッシュメモリ11の記憶領域内においてデータが格納されている記憶領域を示す情報の形式は任意である。 [0113] In addition, the format of the information indicating the storage area where the data in the storage area of ​​the flash memory 11 is stored is arbitrary. 従って、例えば、フラッシュメモリ11の記憶領域の大きさに相当する大きさの仮想の記憶領域を、シリンダ、ヘッド及びセクタの3段階の階層に従って区分した場合の各区画を表すCHS(Cylinder-H Thus, for example, the size of the virtual storage area corresponding to the size of the storage area of ​​the flash memory 11, a cylinder, CHS representing each compartment in the case of Category accordance three stages of the hierarchy of the head and sector (Cylinder-H
ead-Sector)形式の情報を、物理ブロックアドレス及びページアドレスに代えて用いてもよい。 The ead-Sector) format information, may be used instead of the physical block address and page address. また、論理ブロックアドレスがCHS形式に従っていてもよい。 The logical block address may follow the CHS format. 【0114】また、CPU121は、CPU121が過去にアクセスしたデータについて、そのデータが格納されているページの論理ブロックアドレス及び物理ブロックアドレスを互いに対応づけてSRAM123に格納したり、あるいは自己が記憶するようにしてもよい。 [0114] Also, CPU 121, for CPU 121 accesses the historical data, and stores the logical block address and physical block address of the page where the data is stored in association with the SRAM123 each other, or as stored in itself it may be. 【0115】これにより、例えば、フラッシュメモリ1 [0115] Thus, for example, flash memory 1
1に格納されているファイルのファイル名が階層構造を有するように構成されている場合において、同一階層に属する異なるファイルのデータを連続して読み出す処理の高速化が図られる。 In the case where the file name of the file that is stored in 1 is configured to have a hierarchical structure, high speed processing continuously read data belonging different files in the same hierarchy can be achieved. すなわち、(a)ファイル名が、 In other words, (a) the file name,
1個以上の階層の名称を含んでいて、(b)各々の階層の名称をファイル名とするファイル(フォルダ)が、その階層の直近の下位の階層を表すフォルダの論理的位置(すなわち、論理ブロックアドレス及びページアドレス)及び名称(フォルダ名)を格納している、ような場合において、同一階層に属する異なるファイルのデータを連続して読み出す処理が高速化される。 Contain the names of one or more hierarchy, (b) file names of each of the hierarchy and file name (folder) is a logical position of the folder representing the most recent lower layer of the hierarchy (i.e., logic stores the block address and page address) and name (folder name), such in the case, continuously read data of different files belonging to the same hierarchical processing is faster. 【0116】以下、具体的に説明すると、例えば、マイクロソフト社のMS−DOS(商標)により管理されるファイルの場合、ファイルは、記号「¥」で区切られた文字列から構成されるフォルダ名により特定され、2個の記号「¥」に挟まれた文字列が階層の名称を構成し、 [0116] below, and will be described in detail, for example, in the case of a file that is managed by Microsoft's MS-DOS (R), the file is, by folder name consists of strings separated by the symbol "¥" been identified, two of the symbol "¥" character string sandwiched constitute the name of the hierarchy,
ファイル名の先頭に近い文字列ほど上位の階層を示すものである。 It shows the level of the hierarchy closer string at the beginning of the file name. 【0117】そして、ファイルの内容が格納されている先頭ページの論理ブロックアドレス及ページアドレスを特定するためには、ファイル名に含まれる最上位の階層を示すフォルダ名を有するフォルダについて、その論理的位置をFATを用いて特定して読み出す。 [0117] Then, in order to identify the logical block address 及 page address of the first page of the contents of the file is stored, for a folder having a folder name indicating the top of the hierarchy in the file name, its logical position read out specified using FAT a. 次に、読み出したフォルダに含まれるフォルダ名及びそのフォルダ名を有する下位のフォルダの論理的位置を特定して読み出す。 Next, read out to identify the logical location of the lower folder having a folder name and the folder name included in the read folder. 以下、ファイルの内容の論理的位置が特定されるまで、順次下位のフォルダのフォルダ名及び論理的位置を特定して読み出す動作を繰り返す。 Hereinafter, until the logical position of the contents of the file is specified, repeated operation of reading by specifying the folder name and logical location of sequential lower folder. 【0118】このように、ファイル名が階層構造を有する場合、フォルダを読み出す処理として上述のステップS201〜S211の処理を行う記憶システムは、ファイルを読み出すために連続して読み出される複数のフォルダが、フラッシュメモリ11の互いに異なるゾーンに格納されていると、各々のフォルダを読み出す度に、ステップS208における一般用BSI・一般用BPTの作成を行う。 [0118] Thus, if the file name has a hierarchical structure, the storage system as a process of reading folder performs the processing of the above steps S201~S211, a plurality of folders to be read continuously to read the file, When stored in different zones of the flash memory 11, every time the reading of each folder, and create OTC BSI · OTC BPT at step S208. このため、このようなファイルが同一階層内に複数あるときは、これらの各ファイルの内容を連続して読み出す場合は、読み出しの処理の時間に占める一般用BSI・一般用BPT作成の処理の比率が大きくなり、読み出しの処理の所要時間が増大する。 Therefore, when such file is more in the same layer, these cases continuously read the contents of each file, the ratio of processing OTC BSI · OTC BPT created occupying the time of the reading process increases, the time required for reading processing is increased. 【0119】しかし、CPU121が、自己が過去にアクセスしたデータが格納されているページの論理ブロックアドレス及び物理ブロックアドレスを互いに対応づけてSRAM123に格納したり、あるいは自己が記憶するようにしたとする。 [0119] However, CPU 121 is a self or store a logical block address and physical block address of the page data accessed in the past is stored in the SRAM123 in association with each other, or self was made to store . そして、ステップS207での判別の後、ステップS208に処理を移す前に、CPU1 After the discrimination at step S207, before the process proceeds to step S208, CPU 1
21が、SRAM123又はCPU121自身が記憶しているこの論理ブロックアドレス及び物理ブロックアドレスを検索し、コンピュータ2より供給された論理ブロックアドレスに対応づけられた物理ブロックアドレスが索出された場合は、索出された物理ブロックアドレスをステップS209で索出されたものとして扱うことを決定し、処理をステップS210に移すようにする。 21, when searching the logical block address and physical block address SRAM123 or CPU121 stored therein, the physical block address associated with the supplied logical block address from the computer 2 is searched out, search the out physical block address determines be treated as those searched out in step S209, so that the flow proceeds to step S210. 【0120】すると、SRAM123に格納されている一般用BPTが論理ブロックアドレスと物理ブロックアドレスとの対応関係を示すゾーンと、読み出す対象のフォルダないしファイルが格納されているゾーンとが異なっていても、読み出す対象のフォルダないしファイルの論理ブロックアドレス及び物理ブロックアドレスがSR [0120] Then, be different from the zone to the zone indicating the correspondence between the OTC BPT logical block addresses and the physical block address stored in the SRAM 123, the target folder or file to be read is stored, folder or logical block address and physical block address of the file in question SR reading
AM123あるいはCPU121に記憶されていれば、 If it is stored in the AM123 or CPU 121,
ステップS208の処理が回避される。 The process of step S208 is avoided. 従って、読み出しの処理の所要時間が短縮される。 Therefore, time required for reading processing is shortened. 【0121】例えば、2個のファイル(ファイル名が"\ [0121] For example, two of the file (the file name is "\
work0\teldevice\ddc\data0\file000.dat"であるファイル、及びファイル名が"\work0\teldevice\ddc\data0\fi work0 \ teldevice \ ddc \ data0 \ file000.dat "file is, and the file name is" \ work0 \ teldevice \ ddc \ data0 \ fi
le001.dat"であるファイル)を連続して読み出す場合を例として説明する。 【0122】この場合において、フォルダ名が"work le001.dat "will be described as an example a case where continuously read that file) a. [0122] In this case, the folder name is" work
0"、"teldevice"、"ddc"及び"data0"であるフォルダが、順に、ゾーン1、ゾーン2、ゾーン3及びゾーン0 0 "," teldevice "," the folder is a ddc "and" data0 ", in turn, Zone 1, Zone 2, Zone 3 and Zone 0
に格納されていて、ファイル名が"file000.dat"及び"fi Have been stored, the file name is "file000.dat" and "fi
le001.dat"であるファイルがいずれもゾーン1に格納されているとする。 【0123】このときCPU121は、(1)ディレクトリ及びFATを読み、(2)次いで、フォルダ名が"w le001.dat "is a file is assumed to be stored both in zone 1. [0123] In this case CPU121 is, (1) to read the directory and FAT, (2) then, the folder name is" w
ork0"、"teldevice"、"ddc"及び"data0"であるフォルダ、ファイル名が"file000.dat"であるファイルを順に読み、(3)次いで再びディレクトリ及びFATを読み、(4)次いで、フォルダ名が"work0"、"teldevic ork0 "," teldevice "," ddc "folder is, the file name is" "and" data0 in order to read the file, which is a file000.dat ", read the (3) Then again directory and FAT, (4) then, folder the name is "work0", "teldevic
e"、"ddc"及び"data0"であるフォルダ及びファイル名が"file001.dat"であるファイルを順に読む、という動作を行う。 【0124】このため、CPU121は、順に、ゾーン0、1、2、3、0、1、0、1、2、3、0及び1にアクセスする必要がある。従って、フォルダを読み出す処理として上述のステップS201〜S211の処理を行う記憶システムのCPU121は、一般用BPTの作成を上述の(2)及び(4)の動作で各5回、計10回行う必要がある。 【0125】しかし、SRAM123あるいはCPU1 e "," read the file, which is a ddc "and" data0 "folder and file name is the" file001.dat "in order to perform the operation of. [0124] For this reason, CPU121, in turn, zone 0, 1, need to access 2,3,0,1,0,1,2,3,0 and 1. Thus, CPU 121 of the storage system as a process of reading folder performs the above-described process of step S201~S211 are generally use BPT of creating the above (2) and 5 times each with the operation of (4), it is necessary to perform a total of 10 times. [0125] However, SRAM 123 or CPU1
21が、フォルダ名"work0"、"teldevice"、"ddc"及び" 21, the folder name "work0", "teldevice", "ddc" and "
data0"のフォルダが格納されているページの論理ブロックアドレス及び物理ブロックアドレスを互いに対応づけて記憶し、ステップS207での判別の後、ステップS data0 stored in association with each other folder logical block address and physical block address of the page stored in "After the discrimination at step S207, step S
208に処理を移す前に、CPU121が、SRAM1 Before the process moves to 208, CPU121 is, SRAM1
23又はCPU121自身が記憶しているこれらの論理ブロックアドレス及び物理ブロックアドレスを索出して、ステップS209で索出されたものとして扱うようにすれば、上述の(4)での5回の一般用BPTの作成が省略される。 23 or CPU121 itself is these logical block addresses and physical block address stored retrieved, if so treated as searched out in step S209, for five general in the above (4) BPT of creation is omitted. 【0126】なお、SRAM123やCPU121は、 [0126] It should be noted, SRAM123 and CPU121 is,
CPU121が過去にアクセスしたデータ全ての論理ブロックアドレス及び物理ブロックアドレスを記憶する必要はない。 CPU121 is not necessary to store the accessed data every logical block addresses and physical block addresses in the past. 従って、例えば、SRAM123が、CPU Thus, for example, is SRAM123, CPU
121が過去にアクセスしたデータ全ての論理ブロックアドレス及び物理ブロックアドレスを記憶するための所定の記憶領域を備え、CPU121は、この記憶領域に格納し得る限度において、自己が過去にアクセスしたデータの論理ブロックアドレス及び物理ブロックアドレスをこの記憶領域に格納するようにしてもよい。 121 comprises a predetermined storage area for storing all logical block addresses and physical block address data accessed in the past, CPU 121 may, to the extent that can be stored in this storage area, the data itself previously accessed logical the block address and physical block address may be stored in this storage area. 【0127】また、上述のステップS406やS423 [0127] In addition, and step S406 of the above-mentioned S423
の処理においてファイル管理用BSIを検索して空きブロックの物理ブロックアドレスを索出するとき、また、 When it searches out the physical block address of the empty block by searching the BSI for file management in the process of, also,
上述のステップS415の処理において一般用BSIを検索して空きブロックの物理ブロックアドレスを索出するとき、CPU121は、ステップS406、S417 When searches out the physical block address of the empty block by searching the OTC BSI in the process of step S415 described above, CPU 121 is step S406, S417
及びS423の処理において最後にデータが書き込まれた空きブロックの次のブロック以降の空きブロックを、 Finally the next block after the free blocks of free blocks where data has been written in the processing of and S423,
ゾーン毎に、物理ブロックアドレスが若いものから順次索出する(ただし、後続の空きブロックがないときは、 For each zone, the physical block addresses are sequentially searches out from the young ones (However, when there is no subsequent free blocks is,
先頭の空きブロックを索出する)ようにしてもよい。 The beginning of the free block may be retrieved out to) so. 【0128】この場合、CPU121は、具体的には、 [0128] In this case, CPU121, specifically,
例えば、フラッシュメモリ11の記憶領域の各々のゾーンについて、ゾーンステップS406、S417及びS For example, for each of the zones of the storage area of ​​the flash memory 11, zone step S406, S417 and S
423において最後にデータが書き込まれた空きブロックの物理ブロックアドレスをフラッシュメモリ11の当該ゾーンの所定の記憶領域に書き込むようにする。 Finally data is a physical block address of the empty block written to write in a predetermined storage area of ​​the zones of the flash memory 11 at 423. そして、ステップS406、S415及びS423において、書き込みをする対象のゾーンの当該記憶領域に格納されている物理ブロックアドレスを読み出し、読み出した物理ブロックアドレスが示す空きブロックの次のブロック以降の先頭の空きブロックを索出するようにする。 Then, step S406, in S415 and S423, it reads out the physical block address stored in the storage area of ​​the target zone write, read the next block after the beginning of the free block of the physical block address empty block indicated the so as to searches out.
ただし、書き込みをする対象のゾーン内に該当する空きブロックがない場合は、当該ゾーンに属するブロックのうち最も物理ブロックアドレスが若いものを索出するものとする。 However, if there is no empty block corresponding to the target zone of the writing, it is assumed that most physical block address of the block belonging to the zone to searches out the young ones. 【0129】これにより、空きブロックへの書き込みは、ゾーン毎にサイクリックになされる。 [0129] As a result, write to the free block is done cyclically for each zone. このため、特定のブロックのみデータ更新の頻度が高くなることがなくなるので、特定のブロックの性能が劣化する事態が防止される。 Therefore, since the frequency of only data update a particular block becomes thereby preventing high, the performance of a particular block situation to deteriorate can be prevented. 【0130】また、CPU121は、例えば、ステップS406、S417及びS423において最後にデータが書き込まれた空きブロックの次のブロック以降で同一ゾーン内の先頭の空きブロック(ただし、ない場合は同一ゾーン内の先頭の空きブロック)をファイル管理用B [0130] In addition, CPU 121 may, for example, step S406, S417 and the beginning of the free block in the same zone in the next block after the last free block in which data has been written in S423 (provided that when there is no in the same zone the beginning of the free block) for the file management B
SIあるいは一般用BSIを検索することにより特定し、特定された空きブロックの冗長部に、当該空きブロックが次に書き込みの対象となる空きブロックであることを示すマークデータを書き込むようにしてもよい。 Identified by searching the SI or general use BSI, the redundant portion of the free block identified, it may be written mark data indicating that the empty block is an empty block next subject to write . 【0131】この場合は、ステップS406、S415 [0131] In this case, step S406, S415
及びS423において、CPU121がフラッシュメモリ11の記憶領域の各ブロックの冗長部を検索してマークデータを索出し、マークデータが索出された空きブロック以降の空きブロックを、物理ブロックアドレスが若いものから順次索出するようにすれば、空きブロックへの書き込みは、ゾーン毎にサイクリックになされる。 In and S423, CPU 121 is retrieved mark data by searching the redundant part of each block in the storage area of ​​the flash memory 11, a free block of free blocks after the mark data is searched out, from those physical block address young if so that out sequentially search, write to the free block is done cyclically for each zone. 【0132】なお、マークデータとしては、具体的には、フラッシュメモリ11がNAND型のEEPROM [0132] As the mark data, specifically, the flash memory 11 is a NAND type EEPROM
である場合、例えば値”00h”以外の、16進表記で2桁となる所定の値を用いるようにして、当該マークデータが書き込まれた空きブロックのデータ領域にデータを書き込むようにすれば、当該マークデータが書き込まれている部分を値”00h”で上書きすることにより、 If it is, for example, other than the value "00h", as used hex predetermined value that is a 2-digit notation, if the data area of ​​the free block to which the mark data is written to write data, by overwriting a portion the mark data is written with the value "00h",
マークデータは除去される。 Mark data is removed. このため、マークデータを除去するために空きブロックの記憶内容の消去を実行するといった操作は不要となる。 Therefore, operation such as performing an erase of the contents of the free block is not required to remove the mark data. 【0133】以上、この発明の実施の形態を説明したが、この発明の記憶システムは、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。 [0133] Having described the embodiments of the present invention, a storage system of the invention not only by a dedicated system can be realized using a normal computer system. 例えば、フラッシュメモリ11を装着するスロットを備えるパーソナルコンピュータに上述の動作を実行するためのプログラムを格納した媒体(フロッピーディスク、CD−ROM等)から該プログラムをインストールすることにより、上述の処理を実行する記憶システムを構成することができる。 For example, by installing the program from a medium which stores a program for executing the above operation to the personal computer (floppy disk, CD-ROM, etc.) with a slot for mounting a flash memory 11, executes the above-described processing it is possible to construct a storage system. 【0134】また、コンピュータにプログラムを供給するための媒体は、通信媒体(通信回線、通信ネットワーク、通信システムのように、一時的且つ流動的にプログラムを保持する媒体)でも良い。 [0134] In addition, the medium for supplying the program to a computer, the communication medium (a communication line, a communication network, such as the communication system, the medium having a temporary and fluidly program) may be. 例えば、通信ネットワークの掲示板(BBS)に該プログラムを掲示し、これをネットワークを介して配信してもよい。 For example, it posted the program to a bulletin board of a communication network (BBS), which may be distributed via a network. そして、このプログラムを起動し、OSの制御下に、他のアプリケーションプログラムと同様に実行することにより、上述の処理を実行することができる。 Then, start the program, under the control of the OS, by performing similarly to other application programs, it can perform the processing described above. 【0135】なお、OSが処理の一部を分担する場合、 [0135] It should be noted, if the OS to share a part of the processing,
あるいは、OSが本願発明の1つの構成要素の一部を構成するような場合には、記録媒体には、その部分をのぞいたプログラムを格納してもよい。 Alternatively, when the OS constitutes a part of one of the components of the present invention, the recording medium may store the program excluding that portion. この場合も、この発明では、その記録媒体には、コンピュータが実行する各機能又はステップを実行するためのプログラムが格納されているものとする。 Again, in this invention, the recording medium is assumed that a program for executing each function or step computer executes are stored. 【0136】 【発明の効果】以上説明したように、この発明によれば、データにアクセスする際にアドレス変換テーブルを作成する頻度が少ない記憶装置、記憶システム、メモリ管理方法が実現される。 [0136] As has been described in the foregoing, according to the present invention, infrequent storage device to create an address conversion table to access data, the storage system, a memory management method is realized.

【図面の簡単な説明】 【図1】本発明の実施の形態にかかる記憶システムの構成を示すブロック図である。 BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing a configuration of a storage system in an embodiment of the present invention. 【図2】フラッシュメモリの記憶領域の論理的構造を模式的に示す図である。 2 is a diagram schematically showing the logical structure of the storage area of ​​the flash memory. 【図3】ディレクトリ及びFATのデータ構造を模式的に示す図である。 [3] The directory and FAT data structure is a view schematically showing. 【図4】一般用BSI及びファイル管理用BSIのデータ構造を模式的に示す図である。 4 is a general use BSI and BSI data structure for file management a diagram schematically showing. 【図5】BPTのデータ構造を模式的に示す図である。 5 is a diagram schematically illustrating a data structure of the BPT. 【図6】初期処理を示すフローチャートである。 6 is a flowchart showing the initial processing. 【図7】データ読み出しの処理を示すフローチャートである。 7 is a flowchart showing the processing of data read. 【図8】一般用BSI・一般用BPTの作成の処理を示すフローチャートである。 8 is a flowchart showing the process of creating OTC BSI · OTC BPT. 【図9】データ書き込みの処理を示すフローチャートである。 9 is a flowchart showing a data writing process. 【図10】FAT更新の処理を示すフローチャートである。 10 is a flowchart showing the process of FAT updates. 【図11】データ転記の処理を示すフローチャートである。 11 is a flowchart showing the processing of data transcription. 【符号の説明】 1 メモリユニット11 フラッシュメモリ12 コントローラ121 CPU 122 ROM 123 SRAM 2 コンピュータ [EXPLANATION OF SYMBOLS] 1 memory unit 11 flash memory 12 controller 121 CPU 122 ROM 123 SRAM 2 computer

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平9−212411(JP,A) 特開 平9−81332(JP,A) 特開 平8−147202(JP,A) 特開 平11−96068(JP,A) 欧州特許出願公開896280(EP,A 1) (58)調査した分野(Int.Cl. 7 ,DB名) G06F 12/00 - 12/02 ────────────────────────────────────────────────── ─── of the front page continued (56) reference Patent flat 9-212411 (JP, a) JP flat 9-81332 (JP, a) JP flat 8-147202 (JP, a) JP flat 11- 96068 (JP, a) European Patent application Publication 896280 (EP, a 1) ( 58) investigated the field (Int.Cl. 7, DB name) G06F 12/00 - 12/02

Claims (1)

  1. (57)【特許請求の範囲】 【請求項1】各々が複数のゾーンのいずれかに属し、物理アドレスを割り当てられた、データを記憶するための複数のメモリブロックを含む記憶手段と、 前記メモリブロックに記憶されている前記データを読み出して外部に出力する読み出し手段と、を備え、 所定の前記ゾーンに属する前記メモリブロックは、前記記憶手段に記憶されているデータと該データが記憶されているメモリブロックの論理アドレスとの対応関係を表すデータ配置テーブルを記憶するデータ配置記憶手段を備え、 前記読み出し手段は、 前記論理アドレスと、前記データ配置テーブルを記憶する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第1のアドレス変換テーブルを作成して記憶する第1のテーブル記憶手段と (57) Patent Claims 1, wherein each belongs to one of a plurality of zones, the assigned physical address, a memory means including a plurality of memory blocks for storing data, said memory comprising reading means for reading and outputting the data stored in the block to the outside, the said memory block belonging to a predetermined said zone data and the data stored in the storage means is stored a data arrangement storing means for storing the data arrangement table representing the relationship between the logical addresses of the memory blocks, said reading means, correspondence between the logical address, the physical address of the memory block for storing the data arrangement table a first table memory means for generating and storing a first address conversion table that stores information indicative of a relation 外部からの指示に応答し、前記第1のアドレス変換テーブルに基づいて、前記データ配置テーブルを記憶するメモリブロックの物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックより前記データ配置テーブルを読み出し、外部に供給するデータ配置テーブル検索手段と、 読み出し対象の前記データを示す論理アドレスを外部より取得し、取得した前記論理アドレスに基づいて、該論理アドレスが示すメモリブロックが属するゾーンを特定するゾーン特定手段と、 前記論理アドレスと、前記ゾーン特定手段が特定したゾーンに属する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第2のアドレス変換テーブルを自己が記憶しているか否かを判別し、記憶していないと判別したとき、前記第2の In response to an instruction from the outside, on the basis of the first address conversion table, said specifying the physical address of the memory block storing the data arrangement table, the data arrangement table from the memory block indicated by the identified physical address reading, externally obtained a logical address indicating the data arrangement table search means for supplying to the outside, the data to be read, obtained on the basis of the logical address to identify the zone in which the memory block belongs indicated logical address and zone specification unit, and the logical address, whether the second address conversion table for storing information representing a correspondence between the physical addresses of the memory blocks belonging to the zone of the zone specification unit has identified itself stores or determines, when determining not stored, the second ドレス変換テーブルを作成して記憶する第2のテーブル記憶手段と、 前記第2のアドレス変換テーブルに基づいて、 読み出し A second table storage unit that creates and stores address translation table, on the basis of the second address conversion table, reading
    対象の前記データの論理アドレスが示す物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックに格納されている前記データを読み出して出力するデータ検索手段と、 前記データ検索手段が特定した物理アドレス及び該物理 Identify the physical address indicated by the logical address of the data object, the data retrieval unit that reads out and outputs the data stored in the memory blocks, physical address the data retrieval means has identified that indicated by the specified physical address and the physical
    アドレスを示す論理アドレスを互いに対応づけて記憶す Be stored in association with each other a logical address indicating an address
    るアクセス履歴記憶手段と、を備え、 前記データ検索手段は、前記アクセス履歴記憶手段が記 Includes an access history storage unit that, the said data retrieval means, said access history memory means serial
    憶する論理アドレス及び物理アドレスに基づいて、前記 Based on the logical address and physical address憶, the
    データ配置テーブル検索手段が特定した論理アドレスが Data arrangement table search means the logical address identified
    示す物理アドレスを特定する手段を備える、ことを特徴とする記憶装置。 And means for specifying a physical address indicating a storage device, characterized in that. 【請求項2】 データを記憶していない前記メモリブロッ 2. A does not store data the memory blocks
    クから構成される空きブロックを示す情報を格納する空 Check for storing information indicating the free block composed of click
    きブロックテーブルを記憶する空きブロックテーブル記 Free block table Symbol for storing can block table
    憶手段と、 書き込み対象のデータ及び論理アドレスが自己に供給さ And憶means, the data and the logical address of the write target supply of the self
    れたとき、前記空きブロックテーブルに登録されている When, it is registered in the free block table
    空きブロックの中から書き込み対象の空きブロックを選 To select the free block to be written from the free block
    択する空きブロック選択手段と、 書き込み対象の前記データを前記空きブロック選択手段 A free block selection means for-option, the free block selecting means the data to be written
    により選択された空きブロックに書き込む空きブロック Free block is written to a free block selected by
    書込手段と、 書き込み対象の前記データを書き込んだ空きブロックの A writing means, the free block is written the data to be written
    物理アドレスと、前記空きブロック選択手段に供給され And the physical address is supplied to the empty block selection means
    た論理アドレスとの対応付けを表すように前記第2のア The second A to represent the correspondence between the logical address
    ドレス変換テーブルを更新する手段と、をさらに備え Further comprising means for updating the address translation table, the
    る、ことを特徴とする請求項1に記載の記憶装置。 That, the storage device according to claim 1, characterized in that. 【請求項3】 各々が複数のゾーンのいずれかに属し、物 Wherein each belongs to one of a plurality of zones, goods
    理アドレスを割り当てられた、データを記憶するための Assigned physical address, for storing data
    複数のメモリブロックを含む記憶手段と、 前記メモリブロックに記憶されている前記データを読み Reading and storing means including a plurality of memory blocks, said data stored in said memory block
    出して外部に出力する読み出し手段と、を備え、 所定の前記ゾーンに属する前記メモリブロックは、前記 And a reading means for outputting to the outside out, the memory block belonging to a predetermined said zone, the
    記憶手段に記憶されているデータと該データが記憶され Data and the data stored in the storage means is stored
    ているメモリブロックの論理アドレスとの対応関係を表 Table the relationship between the logical addresses of the memory blocks are
    すデータ配置テーブルを記憶するデータ配置記憶手段を The data arrangement storing means for storing to data arrangement table
    備え、 前記読み出し手段は、 前記論理アドレスと、前記データ配置テーブルを記憶す Wherein the reading means, and the logical address, to store the data arrangement table
    る前記メモリブロックの物理アドレスとの対応関係を表 Table correspondence between the physical addresses of the memory block that
    す情報を格納する第1のアドレス変換テーブルを作成し Create a first address conversion table for storing to information
    て記憶する第1のテーブル記憶手段と、 外部からの指示に応答し、前記第1のアドレス変換テー A first table memory means for storing Te, in response to an instruction from the outside, said first address translation tape
    ブルに基づいて、前記データ配置テーブルを記憶するメ Based on the table, main storing the data arrangement table
    モリブロックの物理アドレスを特定し、特定した物理ア To identify the physical address of the memory block, specific physical A
    ドレスが示す前記メモリブロックより前記データ配置テ The data arrangement Te from the memory block indicated by the dress
    ーブルを読み出し、外部に供給するデータ配置テーブル It reads Buru, data arrangement table to be supplied to the outside
    検索手段と、 読み出し対象の前記データを示す論理アドレスを外部よ External a search unit, a logical address indicating the data to be read
    り取得し、取得した前記論理アドレスに基づいて、該論 Obtained, based on the acquired logical address Ri, said logical
    理アドレスが示すメモリブロックが属するゾーンを特定 Identify the zone in which the memory block belongs indicated by the physical address
    するゾーン特定手段と、 前記論理アドレスと、前記ゾーン特定手段が特定したゾ And zone identification means for said logical address and, zone of the zone specification unit has identified
    ーンに属する前記メモリブロックの物理アドレスとの対 A pair of a physical address of the memory block belonging to over emissions
    応関係を表す情報を格納する第2のアドレス変換テーブ The second address conversion table for storing information representing a response relationships
    ルを自己が記憶しているか否かを判別し、記憶していな Le determines whether itself has stored, Do not store
    いと判別したとき、前記第2のアドレス変換テーブルを When the Most is determined, the second address conversion table
    作成して記憶する第2のテーブル記憶手段と、 前記第2のアドレス変換テーブルに基づいて、読み出し A second table storage means for storing created, based on the second address conversion table, reading
    対象の前記データの論理アドレスが示す物理アドレスを The physical address indicated by the logical address of the data object
    特定し、特定した物理アドレスが示す前記メモリブロッ The memory block indicated by the physical address specified and identified
    クに格納されている前記データを読み出して出力するデ De which reads and outputs the data stored in the click
    ータ検索手段と、を備える、 ことを特徴とする記憶装置であって、データを記憶していない前記メモリブロックから構成される空きブロックを示す情報を格納する空きブロックテーブルを記憶する空きブロックテーブル記憶手段と、 書き込み対象のデータ及び論理アドレスが自己に供給されたとき、前記空きブロックテーブルに登録されている空きブロックの中から書き込み対象の空きブロックを選択する空きブロック選択手段と、 書き込み対象の前記データを前記空きブロック選択手段により選択された空きブロックに書き込む空きブロック書込手段と、 書き込み対象の前記データを書き込んだ空きブロックの物理アドレスと、前記空きブロック選択手段に供給された論理アドレスとの対応付けを表すように前記第2のアドレス変換テー Comprises a chromatography data retrieval means, and that a storage device characterized by the free block table for storing a free block table for storing information indicating the free block composed of the memory block that does not store data storage means, when the data and the logical address of the write target is supplied to the self, and free block selecting means for selecting a free block to be written out of the free blocks registered in the free block table, the write target and free block writing means for writing the data to a free block that has been selected by said free block selecting means, the physical address of the free block is written the data to be written, a logical address and supplied to the empty block selection means said second address translation tape to represent the correspondence ルを更新する手段と、をさらに備え、 前記空きブロックテーブルは、前記データ配置テーブル Further comprising means for updating the Le, wherein the free block table, the data arrangement table
    を記憶する前記メモリブロックを含むゾーンに属する空 Check that belong to the zone containing the memory blocks for storing
    きブロックを示す情報を格納する第1の空きブロックテ The first free block te for storing information indicating the block can
    ーブルと、いずれかのゾーンに属する空きブロックを示 And Buru, a free block that belongs to one of the zone shows
    す情報を格納する第2の空きブロックテーブルと、を含 A second free block table storing to information, the free
    み、 前記空きブロックテーブル記憶手段は、前記ゾーン特定 Seen, the free block table storage means, said zone specific
    手段が特定したゾーンに属する空きブロック情報を格納 Storing free block information belonging to the zone of means specified
    する前記第2の空きブロックテーブルを自己が記憶して The second free block table by self storage to
    いるか否かを判別し、記憶していないと判別したとき、 Determine dolphin not, when it is determined that not stored,
    前記第2の空きブロックテーブルを作成して記憶する手 Hand creating and storing the second free block table
    段を備え、 前記空きブロック選択手段は、書き込み対象のデータ及 It includes a stage, the free block selecting means, the write target data及
    び論理アドレスが自己に供給されたとき、前記第2の空 When fine logical address is supplied to self, the second air
    きブロックテーブルに登録されている空きブロックのう Free block that is registered in the can block table
    ちから書き込み対象の空きブロックを選択する手段を備 Bei means for selecting a free block of the force write target
    え、 前記空きブロック書込手段が書き込んだ前記データと、 For example, as the data written by the free block writing means,
    前記空きブロック選択手段に供給された論理アドレスと Logical address and supplied to the empty block selection means
    の対応付けを表すように更新された前記データ配置テー Said data arrangement tape that has been updated in to represent the correspondence
    ブルを、前記第1の空きブロックテーブルに登録されて Bull, registered in the first empty block table
    いる空きブロックに書き込む手段と、 更新された前記データ配置テーブルを記憶している前記 Means for writing the free blocks are the that stores the data arrangement table updated
    メモリブロックが空きブロックであることを表さないよ It does not represent that the memory block is an empty block
    うに前記第1の空きブロックテーブルを更新する手段 Means for urchin updating the first free block table
    と、を備える、ことを特徴とする記憶装置。 When comprises, it is characterized by the storage device. 【請求項4】 前記データ検索手段が特定した物理アドレ 4. A physical address identified said data retrieval means
    ス及び該物理アドレスを示す論理アドレスを互いに対応 Correspond to one another logical address indicating a scan and the physical address
    づけて記憶するアクセス履歴記憶手段を備え、 前記データ検索手段は、前記アクセス履歴記憶手段が記 An access history storage means for association with the storage, the data retrieval means, said access history memory means serial
    憶する論理アドレス及び物理アドレスに基づいて、前記 Based on the logical address and physical address憶, the
    データ配置テーブル検索手段が特定した論理アドレスが Data arrangement table search means the logical address identified
    示す物理アドレスを特定する手段を備える、ことを特徴とする請求項3に記載の記憶装置。 And means for specifying a physical address indicating, that memory device according to claim 3, characterized in. 【請求項5】前記空きブロックテーブルは、前記空きブロックに循環的に付された順序を示す情報を含むものであり、 最も新しくデータが格納された空きブロックの次にデータを格納されるべき空きブロックを指定する起点情報を記憶する手段を備え、 前記空きブロック選択手段は、書き込み対象のデータ及び論理アドレスが自己に供給されたとき、前記起点情報が示す空きブロック以降の空きブロックを、前記空きブロックテーブルが示す順序に従って順次選択する手段を備える、 ことを特徴とする請求項2、 3又は4に記載の記憶装置。 Wherein said empty block table, said those containing information indicating the order in which they are cyclically subjected to a free block, the free to newest data is stored next to the data of the empty blocks stored and means for storing the start point information specifying the block, the free block selecting means, when the data and the logical address of the write target is supplied to the self, the free block of the empty block after showing the start point information, the free comprising means for sequentially selecting the order indicated by the block table, storage device according to claim 2, 3 or 4, characterized in that. 【請求項6】前記起点情報は、最も新しくデータが格納された空きブロックの次にデータを格納されるべき前記空きブロックの一部に記憶されており、 前記空きブロック書込手段は、 書き込み対象の前記データを書き込んだ前記空きブロックに記憶されている前記起点情報を消去する手段と、 最も新しくデータを書き込んだ空きブロックの次の順序が付されている空きブロックの前記一部に前記起点情報を書き込む手段と、を備える、 ことを特徴とする請求項5に記載の記憶装置。 Wherein said starting point information, the most recently data is stored in a part of the free blocks to be stored next to the data of the empty block stored, the empty block writing means, write target the start point information said means for erasing the start point information stored in the empty block data is written, the portion of free blocks following order of free blocks are assigned is written most recently data and means for writing the storage device according to claim 5, characterized in that. 【請求項7】前記メモリブロックは、データ領域と冗長領域から構成され、前記起点情報は、最も新しくデータが格納された空きブロックの次にデータを格納されるべき前記空きブロックの前記冗長領域に格納されている、 ことを特徴とする請求項6に記載の記憶装置。 Wherein said memory blocks, and a data area and a redundancy area, the start point information, the redundancy area of ​​the free block to newest data is stored next to the data of the empty blocks stored It is stored, a storage device according to claim 6, characterized in that. 【請求項8】各々が複数のゾーンのいずれかに属し、物理アドレスを割り当てられた、データを記憶するための複数のメモリブロックを含む記憶手段と、 前記メモリブロックに記憶されている前記データを読み出して外部に出力する読み出し手段と、を備え、 所定の前記ゾーンに属する前記メモリブロックは、前記記憶手段に記憶されているデータと該データが記憶されているメモリブロックの論理アドレスとの対応関係を表すデータ配置テーブルを記憶するデータ配置記憶手段を備え、 前記読み出し手段は、 前記論理アドレスと、前記データ配置テーブルを記憶する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第1のアドレス変換テーブルを作成して記憶する第1のテーブル記憶手段と、 前記第1のアドレス 8. each belongs to one of a plurality of zones, the assigned physical address, a memory means including a plurality of memory blocks for storing data, said data stored in said memory block read and a reading means for outputting to the outside, the memory block belonging to a predetermined said zone, the relationship between the logical address of the memory block in which the data and the data stored in the storage means is stored a data arrangement storing means for storing the data arrangement table representing the said reading means, first storing said logical address, information representing a correspondence between the physical addresses of the memory blocks for storing the data arrangement table a first table storing means for creating and storing an address conversion table, said first address 換テーブルに基づいて、前記データ配置テーブルを記憶するメモリブロックの物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックより前記データ配置テーブルを読み出すデータ配置テーブル検索手段と、 前記データ配置テーブル検索手段が読み出した前記データ配置テーブルに基づいて、読み出し対象の前記データを示す論理アドレスを特定する論理アドレス検索手段と、 前記論理アドレス検索手段が特定した前記論理アドレスに基づいて、該論理アドレスが示すメモリブロックが属するゾーンを特定するゾーン特定手段と、 前記論理アドレスと、前記ゾーン特定手段が特定したゾーンに属する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第2のアドレス変換テーブルを自己が記憶している Based on the conversion table, the data specifying the placement physical address of a memory block for storing a table, a data arrangement table retrieving means for reading the data arrangement table from the memory block indicated by the identified physical address, the data arrangement table search based on the data arrangement table means is read, a logical address search means for identifying a logical address indicating the data to be read, on the basis of the logical address the logical address retrieval means has identified, indicated logical address and zone identification means for identifying a zone in which the memory block belongs, the logical address and the second address conversion table in which the zone specifying means for storing information representing a correspondence between the physical addresses of the memory blocks belonging to the identified zone self stores か否かを判別し、記憶していないと判別したとき、前記第2のアドレス変換テーブルを作成して記憶する第2のテーブル記憶手段と、 前記第2のアドレス変換テーブルに基づいて、前記論理アドレス検索手段が特定した論理アドレスが示す物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックに格納されている前記データを読み出して出力するデータ検索手段と、 前記データ検索手段が特定した物理アドレス及び該物理 Whether determined, when it is judged that no store a second table memory means for generating and storing the second address conversion table, on the basis of the second address conversion table, the logical identify the physical address indicated by the logical address address search means has identified, and data retrieval means for reading and outputting the data stored in the memory block indicated by the identified physical address, the physical said data retrieval means has identified address and the physical
    アドレスを示す論理アドレスを互いに対応づけて記憶す Be stored in association with each other a logical address indicating an address
    るアクセス履歴記憶手段と、を備え、 前記データ検索手段は、前記アクセス履歴記憶手段が記 Includes an access history storage unit that, the said data retrieval means, said access history memory means serial
    憶する論理アドレス及び物理アドレスに基づいて、前記 Based on the logical address and physical address憶, the
    データ配置テーブル検索手段が特定した論理アドレスが Data arrangement table search means the logical address identified
    示す物理アドレスを特定する手段を備える、ことを特徴とする記憶システム。 Storage system comprising means, that is characterized to identify the physical address indicated. 【請求項9】メモリからのデータの読み出しを管理するメモリ管理方法であり、前記メモリは、各々が複数のゾーンのいずれかに属し、物理アドレスを割り当てられた、前記データを記憶するための複数のメモリブロックを含み、所定の前記ゾーンに属する前記メモリブロックが、前記データと前記データが記憶されているメモリブロックの論理アドレスとの対応関係を表すデータ配置テーブルを記憶するものであって、 前記論理アドレスと、前記データ配置テーブルを記憶する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第1のアドレス変換テーブルを作成して記憶する第1のテーブル記憶ステップと、 外部からの指示に応答し、前記第1のアドレス変換テーブルに基づいて、前記データ配置テーブルを記憶す 9. A memory management method for managing the reading of data from a memory, each belongs to one of a plurality of zones, the assigned physical addresses, a plurality for storing the data of includes a memory block, the memory block belonging to a predetermined said zone, be one that stores data arrangement table representing the relationship between the logical address of the memory block to the data and the data is stored, the and logical addresses, a first table storing step of creating and storing a first address conversion table for storing information representing a correspondence between the physical addresses of the memory blocks for storing the data arrangement table, from the outside in response to the instruction, based on the first address conversion table and stores the data arrangement table メモリブロックの物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックより前記データ配置テーブルを読み出し、外部に供給するデータ配置テーブル検索ステップと、 読み出し対象の前記データを示す論理アドレスを外部より取得し、取得した前記論理アドレスに基づいて、該論理アドレスが示すメモリブロックが属するゾーンを特定するゾーン特定ステップと、 前記論理アドレスと、前記ゾーン特定ステップで特定されたゾーンに属する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第2のアドレス変換テーブルを自己が記憶しているか否かを判別し、記憶していないと判別したとき、前記第2のアドレス変換テーブルを作成して記憶する第2のテーブル記憶ステップと、 前記第2のアドレス To identify the physical address of the memory block, reading the data arrangement table from the memory block indicated by the identified physical address, obtained from the external logical addresses indicating the data arrangement table search supplying externally, the data to be read and, based on the acquired logical address, and the zone specifying step of specifying a zone memory block belongs indicated logical address, the physical of the logical address and the memory blocks belonging to a specific zone in the zone specifying step a second address conversion table for storing information representing a correspondence between the addresses to determine whether itself has stored, when it is judged that no store, create the second address conversion table a second table storage step of storing, the second address 変換テーブルに基づいて、 読み出し Based on the conversion table, reading
    対象の前記データの論理アドレスが示す物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックに格納されている前記データを読み出して出力するデータ検索ステップと、 前記データ検索ステップで特定された物理アドレス及び Identify the physical address indicated by the logical address of the data object, a data retrieval step of outputting reads the data stored in the memory block indicated by the identified physical address, said identified in the data retrieval step physical address and
    該物理アドレスを示す論理アドレスを互いに対応づけて In association with each other a logical address indicating the physical address
    記憶するアクセス履歴記憶ステップと、備え、 前記データ検索ステップは、前記アクセス履歴記憶ステ An access history storage step of storing, wherein said data retrieval step, the access history storage stearate
    ップで記憶された論理アドレス及び物理アドレスに基づ Tsu based on the stored logical address and physical address flop
    いて、前記データ配置テーブル検索ステップで特定され There have been identified in the data arrangement table retrieval step
    た論理アドレスが示す物理アドレスを特定するステップ Identifying a physical address indicated by the logical address
    を含む、ことを特徴とするメモリ管理方法。 Including, a memory management method, characterized in that. 【請求項10】各々が複数のゾーンのいずれかに属し、 10. each belongs to one of a plurality of zones,
    物理アドレスを割り当てられた、前記データを記憶するための複数のメモリブロックを含み、所定の前記ゾーンに属する前記メモリブロックが、前記データと前記データが記憶されているメモリブロックの物理アドレスを示す論理アドレスとの対応関係を表すデータ配置テーブルを記憶することを特徴とするメモリに接続されたコンピュータを、 前記論理アドレスと、前記データ配置テーブルを記憶する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第1のアドレス変換テーブルを作成して記憶する第1のテーブル記憶手段と、 外部の指示に応答し、前記第1のアドレス変換テーブルに基づいて、前記データ配置テーブルを記憶するメモリブロックの物理アドレスを特定し、特定した物理アドレスが示す前記メモリ Assigned a physical address, it includes a plurality of memory blocks for storing said data, the logic which the memory block belonging to a predetermined said zone, indicating the physical address of the memory block to the data and the data is stored a computer connected to a memory and to store the data arrangement table representing the correspondence between the addresses, representing said logical address, a correspondence between the physical addresses of the memory blocks for storing the data arrangement table memory a first table memory means for generating and storing a first address conversion table, in response to an external instruction, based on the first address conversion table and stores the data arrangement table for storing information said memory to identify the physical address of a block, indicated by the specified physical address ロックより前記データ配置テーブルを読み出し、外部に供給するデータ配置テーブル検索手段と、 読み出し対象の前記データを示す論理アドレスを外部より取得し、取得した前記論理アドレスに基づいて、該論理アドレスが示すメモリブロックが属するゾーンを特定するゾーン特定手段と、 前記論理アドレスと、前記ゾーン特定手段が特定したゾーンに属する前記メモリブロックの物理アドレスとの対応関係を表す情報を格納する第2のアドレス変換テーブルを自己が記憶しているか否かを判別し、記憶していないと判別したとき、前記第2のアドレス変換テーブルを作成して記憶する第2のテーブル記憶手段と、 前記第2のアドレス変換テーブルに基づいて、 読み出し Reading the data arrangement table from the lock, the data arrangement table search means for supplying to the outside, externally obtained a logical address indicating the data to be read, based on the acquired logical address, the memory indicated by the logical address and zone identification means for identifying a zone in which the block belongs, and the logical address, the second address conversion table said zone specifying means for storing information representing a correspondence between the physical addresses of the memory blocks belonging to the identified zone self it is determined whether or not the memory, when it is judged that no store a second table memory means for generating and storing the second address conversion table, the second address conversion table based on, reading
    対象の前記データの論理アドレスが示す物理アドレスを特定し、特定した物理アドレスが示す前記メモリブロックに格納されている前記データを読み出して出力するデータ検索手段と、 前記データ検索手段が特定した物理アドレス及び該物理 Identify the physical address indicated by the logical address of the data object, the data retrieval unit that reads out and outputs the data stored in the memory blocks, physical address the data retrieval means has identified that indicated by the specified physical address and the physical
    アドレスを示す論理アドレスを互いに対応づけて記憶す Be stored in association with each other a logical address indicating an address
    るアクセス履歴記憶手段と、して機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、 前記データ検索手段は、前記アクセス履歴記憶手段が記 A computer-readable recording medium recording a program for an access history storage means, thereby to function that, said data retrieval means, said access history memory means serial
    憶する論理アドレス及び物理アドレスに基づいて、前記 Based on the logical address and physical address憶, the
    データ配置テーブル検索手段が特定した論理アドレスが Data arrangement table search means the logical address identified
    示す物理アドレスを特定する手段を備える、 ことを特徴とする記録媒体。 Recording medium comprising means for identifying a physical address, it is characterized shown. 【請求項11】各々が複数のゾーンのいずれかに属し、 11. each belongs to one of a plurality of zones,
    物理アドレスを割り当てられた、データを記憶するため It assigned a physical address, for storing data
    の複数のメモリブロックを含む記憶手段と、 前記メモリブロックに記憶されている前記データを読み Storage means including a plurality of memory blocks, the data stored in the memory block reading
    出して外部に出力する読み出し手段と、を備え、 所定の前記ゾーンに属する前記メモリブロックは、前記 And a reading means for outputting to the outside out, the memory block belonging to a predetermined said zone, the
    記憶手段に記憶されているデータと該データが記憶され Data and the data stored in the storage means is stored
    ているメモリブロックの論理アドレスとの対応関係を表 Table the relationship between the logical addresses of the memory blocks are
    すデータ配置テーブルを記憶するデータ配置記憶手段を The data arrangement storing means for storing to data arrangement table
    備え、 前記読み出し手段は、 前記論理アドレスと、前記データ配置テーブルを記憶す Wherein the reading means, and the logical address, to store the data arrangement table
    る前記メモリブロックの物理アドレスとの対応関係を表 Table correspondence between the physical addresses of the memory block that
    す情報を格納する第1のアドレス変換テーブルを作成し Create a first address conversion table for storing to information
    て記憶する第1のテーブル記憶手段と、 前記第1のアドレス変換テーブルに基づいて、前記デー A first table memory means for storing Te, based on the first address conversion table, the data
    タ配置テーブルを記憶するメモリブロックの物理アドレ Physical address of the memory block storing the data arrangement table
    スを特定し、特定した物理アドレスが示す前記メモリブ Identify scan, shown by the specified physical address the block of memory
    ロックより前記データ配置テーブルを読み出すデータ配 Data distribution for reading the data arrangement table from the lock
    置テーブル検索手段と、 前記データ配置テーブル検索手段が読み出した前記デー A location table search unit, the data that the data arrangement table search means is read
    タ配置テーブルに基づいて、読み出し対象の前記データ Based on the data arrangement table, read target of the data
    を示す論理アドレスを特定する論理アドレス検索手段 Logical address search means for identifying a logical address indicating a
    と、 前記論理アドレス検索手段が特定した前記論理アドレス When the logical address the logical address search means has identified
    に基づいて、該論理アドレスが示すメモリブロックが属 Based on the memory block genus indicated logical address
    するゾーンを特定するゾーン特定手段と、 前記論理アドレスと、前記ゾーン特定手段が特定したゾ And zone specifying means for specifying a zone, the logical address and, zone of the zone specification unit has identified
    ーンに属する前記メモリブロックの物理アドレスとの対 A pair of a physical address of the memory block belonging to over emissions
    応関係を表す情報を格納する第2のアドレス変換テーブ The second address conversion table for storing information representing a response relationships
    ルを自己が記憶しているか否かを判別し、記憶していな Le determines whether itself has stored, Do not store
    いと判別したとき、前記第2のアドレス変換テーブルを When the Most is determined, the second address conversion table
    作成して記憶する第2のテーブル記憶手段と、 前記第2のアドレス変換テーブルに基づいて、前記論理 A second table storage means for storing created, based on the second address conversion table, the logical
    アドレス検索手段が特定した論理アドレスが示す物理ア Physical A indicated logical address address search means has identified
    ドレスを特定し、特定した物理アドレスが示す前記メモ Identify the dress, the memo indicated by the specific physical address
    リブロックに格納されている前記データを読み出して出 Out reading the data stored in the triblock
    力するデータ検索手段と、を備える、 ことを特徴とする記憶システムであって、 データを記憶していない前記メモリブロックから構成さ It comprises a data retrieval means for force, and that a storage system characterized, is composed of the memory block that does not store data
    れる空きブロックを示す情報を 格納する空きブロックテ Free block te storing information indicating the free block
    ーブルを記憶する空きブロックテーブル記憶手段と、 書き込み対象のデータ及び論理アドレスが自己に供給さ A free block table storage means for storing the Buru, it is supplied data and the logical address of the write target is the self
    れたとき、前記空きブロックテーブルに登録されている When, it is registered in the free block table
    空きブロックの中から書き込み対象の空きブロックを選 To select the free block to be written from the free block
    択する空きブロック選択手段と、 書き込み対象の前記データを前記空きブロック選択手段 A free block selection means for-option, the free block selecting means the data to be written
    により選択された空きブロックに書き込む空きブロック Free block is written to a free block selected by
    書込手段と、 書き込み対象の前記データを書き込んだ空きブロックの A writing means, the free block is written the data to be written
    物理アドレスと、前記空きブロック選択手段に供給され And the physical address is supplied to the empty block selection means
    た論理アドレスとの対応付けを表すように前記第2のア The second A to represent the correspondence between the logical address
    ドレス変換テーブルを更新する手段と、をさらに備え、 前記空きブロックテーブルは、前記データ配置テーブル Further comprising means for updating the address conversion table, wherein the free block table, the data arrangement table
    を記憶する前記メモリブロックを含むゾーンに属する空 Check that belong to the zone containing the memory blocks for storing
    きブロックを示す情報を格納する第1の空きブロックテ The first free block te for storing information indicating the block can
    ーブルと、いずれかのゾーンに属する空きブロックを示 And Buru, a free block that belongs to one of the zone shows
    す情報を格納する第2の空きブロックテーブルと、を含 A second free block table storing to information, the free
    み、 前記空きブロックテーブル記憶手段は、前記ゾーン特定 Seen, the free block table storage means, said zone specific
    手段が特定したゾーンに属する空きブロック情報を格納 Storing free block information belonging to the zone of means specified
    する前記第2の空きブロックテーブルを自己が記憶して The second free block table by self storage to
    いるか否かを判別し、記憶していないと判別したとき、 Determine dolphin not, when it is determined that not stored,
    前記第2の空きブロックテーブルを作成して記憶する手 Hand creating and storing the second free block table
    段を備え、 前記空きブロック選択手段は、書き込み対象のデータ及 It includes a stage, the free block selecting means, the write target data及
    び論理アドレスが自己に供給されたとき、前記第2の空 When fine logical address is supplied to self, the second air
    きブロックテーブルに登録されている空きブロックのう Free block that is registered in the can block table
    ちから書き込み対象の空きブロックを選択する手段を備 Bei means for selecting a free block of the force write target
    え、 前記空きブロック書込手段が書き込んだ前記データと、 For example, as the data written by the free block writing means,
    前記空きブロック選択手段に供給された論理アドレスと Logical address and supplied to the empty block selection means
    の対応付けを表すように更新された前記データ配置テー Said data arrangement tape that has been updated in to represent the correspondence
    ブルを、前記第1の空きブロックテーブルに登録されて Bull, registered in the first empty block table
    いる空きブロックに書き込む手段と、 更新された前記データ配置テーブルを記憶している前記 Means for writing the free blocks are the that stores the data arrangement table updated
    メモリブロックが空きブロックであることを表さないよ It does not represent that the memory block is an empty block
    うに前記第1の空きブロックテーブルを更新する手段 Means for urchin updating the first free block table
    と、をさらに備える、 ことを特徴とする記憶システム。 Storage system according to claim further comprising, it when, and. 【請求項12】メモリからのデータの読み出しを管理す 12. manages the reading of data from the memory
    るメモリ管理方法であり、前記メモリは、各々が複数の That a memory management method, said memory, each of the plurality
    ゾーンのいずれかに属し、物理アドレスを割り当てられ Belong to any of the zone is assigned a physical address
    た、前記データを記憶するための複数のメモリブロック And, a plurality of memory blocks for storing the data
    を含み、所定の前記ゾーンに属する前記メモリブロック Wherein the said memory blocks belonging to a predetermined said zone
    が、前記データと前記データが記憶されているメモリブ But block of memory that the data and the data is stored
    ロックの論理アドレスとの対応関係を表すデータ配置テ Data arrangement Te representing the correspondence between the lock logical address
    ーブルを記憶するものであって、 前記論理アドレスと、前記データ配置テーブルを記憶す Be one that stores Buru, said logical address, stores the data arrangement table
    る前記メモリブロックの物理アドレスとの対応関係を表 Table correspondence between the physical addresses of the memory block that
    す情報を格納する第1のアドレス変換テーブルを作成し Create a first address conversion table for storing to information
    て記憶する第1のテーブル記憶ステップと、 外部からの指示に応答し、前記第1のアドレス変換テー A first table storing step of storing Te, in response to an instruction from the outside, said first address translation tape
    ブルに基づいて、前記データ配置テーブルを記憶するメ Based on the table, main storing the data arrangement table
    モリブロックの物理アドレスを特定し、特定した物理ア To identify the physical address of the memory block, specific physical A
    ドレスが示す前記メモリブロックより前記データ配置テ The data arrangement Te from the memory block indicated by the dress
    ーブルを読み出し、外部に供給するデータ配置テーブル It reads Buru, data arrangement table to be supplied to the outside
    検索ステップと、 読み出し対象の前記データを示す論理アドレスを外部よ Outside searching step, the logical address indicating the data to be read
    り取得し、取得した前記論理アドレスに基づいて、該論 Obtained, based on the acquired logical address Ri, said logical
    理アドレスが示すメモリブロックが属するゾーンを特定 Identify the zone in which the memory block belongs indicated by the physical address
    するゾーン特定ステップと、 前記論理アドレスと、前記ゾーン特定ステップで特定さ Zone specific steps, and the logical address, is specified by the zone specifying step of
    れたゾーンに属する前記メモリブロックの物理アドレス Physical address of the memory block that belongs to the zone
    との対応関係を表す情報を格納する第2のアドレス変換 A second address translation for storing information representing a correspondence relationship between
    テーブルを記憶しているか否かを判別し、記憶していな Determine whether stores a table, Do not store
    いと判別したとき、前記第2のアドレス変換テーブルを When the Most is determined, the second address conversion table
    作成して記憶する第2のテーブル記憶ステップと、 前記第2のアドレス変換テーブルに基づいて、読み出し A second table storage step of storing created, based on the second address conversion table, reading
    対象の前記データの論理アドレスが示す物理アドレスを The physical address indicated by the logical address of the data object
    特定し、特定した物理アドレスが示す前記メモリブロッ The memory block indicated by the physical address specified and identified
    クに格納されている前記データを読み出して出力するデ De which reads and outputs the data stored in the click
    ータ検索ステップと、を備える、 ことを特徴とするメモリ管理方法であって、 データを記憶していない前記メモリブロックから構成さ Chromatography comprising data and searching step, and that a memory management method, characterized in, it is composed of the memory block that does not store data
    れる空きブロックを示す情報を格納する空きブロックテ Free block te storing information indicating the free block
    ーブルを記憶する空きブロックテーブル記憶ステップ Free block table storage step of storing Buru
    と、 書き込み対象のデータ及び論理アドレスが供給されたと When a data and logical address of the write target is supplied
    き、前記空きブロックテーブルに登録されている空きブ Can, free blanking registered in the free block table
    ロックの中から書き込み対象の空きブロックを選択する To select a free block to be written out of the lock
    空きブロック選択ステップと、 書き込み対象の前記データを前記空きブロック選択ステ A free block selection step, the free block selecting stearyl the data to be written
    ップで選択された空きブロックに書き込む空きブロック Free block to be written to the free block that has been selected in-up
    書込ステップと、 書き込み対象の前記データを書き込んだ空きブロックの And writing step, the free block is written the data to be written
    物理アドレスと、前記空きブロック選択手段に供給され And the physical address is supplied to the empty block selection means
    た論理アドレスとの対応付けを表すように前記第2のア The second A to represent the correspondence between the logical address
    ドレス変換テーブルを更新するステップと、をさらに備 Further Bei and updating the address translation table, the
    え、 前記空きブロックテーブルは、前記データ配置テーブル For example, the free block table, the data arrangement table
    を記憶する前記メモリブロックを含むゾーンに属する空 Check that belong to the zone containing the memory blocks for storing
    きブロックを示す情報を格納する第1の空きブロックテ The first free block te for storing information indicating the block can
    ーブルと、いずれかのゾーンに属する空きブロックを示 And Buru, a free block that belongs to one of the zone shows
    す情報を格納する第2の空きブロックテーブルと、を含 A second free block table storing to information, the free
    み、 前記空きブロックテーブル記憶ステップでは、前記ゾー Seen, in the above empty block table storing step, said zone
    ン特定ステップで特定されたゾーンに属する空きブロッ Free belonging to a particular zone in your application specific step block
    ク情報を格納する前記第2の空きブロックテーブルを記 Serial the second free block table storing click information
    憶しているか否かを判別し、記憶していないと判別した Determines whether or not憶, is determined not to be stored
    とき、前記第2の空きブロックテーブルを作成して記憶 When, create and store the second free block table
    し、 前記空きブロック選択ステップは、書き込み対象のデー And, wherein the free block selecting step, the write target data
    タ及び論理アドレスが供給されたとき、前記第2の空き When data and the logical address is supplied, said second free
    ブロックテーブルに登録されている空きブロックのうち Among the free block that is registered in the block table
    から書き込み対象の空きブロックを選択するステップを The step of selecting a free block to be written from
    備え、 前記空きブロック書込ステップで書き込んだ前記データ Wherein said data written by said free block writing step
    と、書き込み対象のデータの論理アドレスとして供給さ When the supply of the logical address of the write target data
    れた論理アドレスとの対応付けを表すように更新された The updated to reflect the correspondence between the logical address
    前記データ配置テーブルを、前記第1の空きブロックテ The data arrangement table, the first free block Te
    ーブルに登録されている空きブロックに書き込むステッ Step to write to the free block that is registered in Buru
    プと、 更新された前記データ配置テーブルを記憶している前記 And flop, said that stores the data arrangement table updated
    メモリブロックが空きブロックであることを表さないよ It does not represent that the memory block is an empty block
    うに前記第1の空きブロックテーブルを更新するステッ Step for sea urchin updating the first free block table
    プと、をさらに備える、 ことを特徴とするメモリ管理方法。 Further comprising a flop, a memory management method, characterized in that. 【請求項13】各々が複数のゾーンのいずれかに属し、 13. each belongs to one of a plurality of zones,
    物理アドレスを割り当てられた、前記データを記憶する It assigned a physical address, for storing the data
    ための複数のメモリブロックを含み、所定の前記ゾーン Multiple includes memory blocks, given the zone for
    に属する前記メモリブロックが、前記データと前記デー The memory block that belongs to the, the and the data Day
    タが記憶されているメモリブロックの物理アドレスを示 It shows the physical address of the memory block that data is stored
    す論理アドレスとの対応関係を表すデータ配置テーブル Data arrangement table representing the correspondence between the to logical addresses
    を記憶することを特徴とするメモリに接続されたコンピ Competent connected to a memory and to store the
    ュータを、 前記論理アドレスと、前記データ配置テーブルを記憶す The Yuta, be stored with the logical address, the data arrangement table
    る前記メモリブロックの物理アドレスとの対応関係を表 Table correspondence between the physical addresses of the memory block that
    す情報を格納する第1のアドレス変換テーブルを作成し Create a first address conversion table for storing to information
    て記憶する第1のテーブル記憶手段と、 外部の指示に応答し、前記第1のアドレス変換テーブル A first table memory means for storing Te, in response to an external instruction, the first address conversion table
    に基づいて、前記データ配置テーブルを記憶するメモリ Based on, a memory for storing the data arrangement table
    ブロックの物理アドレスを特定し、特定した物理アドレ To identify the physical address of the block, the identified physical address
    スが示す前記メモリブロックより前記データ配置テーブ The data arrangement table from the memory block scan is illustrated
    ルを読み出し、外部に供給するデータ配置テーブル検索 It reads Le, data arrangement table search supplied to the outside
    手段と、 読み出し対象の前記データを示す論理アドレスを外部よ External means, a logical address indicating the data to be read
    り取得し、取得した前記論理アドレスに基づいて、該論 Obtained, based on the acquired logical address Ri, said logical
    理アドレスが示すメモリブロックが属するゾーンを特定 Identify the zone in which the memory block belongs indicated by the physical address
    するゾーン特定手段と、 前記論理アドレスと、前記ゾーン特定手段が特定したゾ And zone identification means for said logical address and, zone of the zone specification unit has identified
    ーンに属する前記メモリブロックの物理アドレスとの対 A pair of a physical address of the memory block belonging to over emissions
    応関係を表す情報を格納する第2のアドレス変換テーブ The second address conversion table for storing information representing a response relationships
    ルを自己が記憶しているか否かを判別し、記憶していな Le determines whether itself has stored, Do not store
    いと判別したとき、前記第2のアドレス変換テーブルを When the Most is determined, the second address conversion table
    作成して記憶する第2のテーブル記憶手段と、 前記第2のアドレス変換テーブルに基づいて、読み出し A second table storage means for storing created, based on the second address conversion table, reading
    対象の前記データの論理アドレスが示す物理アドレスを The physical address indicated by the logical address of the data object
    特定し、特定した物理アドレスが示す前記メモリブロッ The memory block indicated by the physical address specified and identified
    クに格納されている前記データを読み出して出力するデ De which reads and outputs the data stored in the click
    ータ検索手段と、 して機能させるためのプログラムを記録したコンピュー Over data retrieval means and, computer was to record the program for operating
    タ読み取り可能な記録媒体であって、 前記プログラムは、前記コンピュータを、データを記憶 A motor-readable recording medium, the program comprising the computer, storing data
    していない前記メモリブロックから構成される空きブロ Free Bro consists to not the memory block
    ックを示す情報を格納する空きブロックテーブルを記憶 Storing a free block table for storing information indicating a click
    する空きブロックテーブル記憶手段と、書き込み対象の A free block table storage means for, write target
    データ及び論理アドレスが自己に供給されたとき、前記 When data and the logical address is supplied to self, the
    空きブロックテーブルに登録されている空きブロックの Of free blocks that are registered in the free block table
    中から書き込み対象の空きブロックを選択する空きブロ Free blow to select a free block to be written from in
    ック選択手段と、書き込み対象の前記データを前記空き Wherein a click selection means, the data to be written free
    ブロック選択手段により選択された空きブロックに書き Written to the empty block selected by the block selection means
    込む空きブロック書込手段と、書き込み対象の前記デー A free block writing means for writing said data to be written
    タを書き込んだ空きブロックの物理アドレスと、前記空 And the physical address of a free block writing the data, the sky
    きブロック選択手段に供給された論理アドレスとの対応 Correspondence between the logical address supplied to the block selection means can
    付けを表すように前記第2のアドレス変換テーブルを更 Further the second address conversion table to represent Paste
    新する手段としてさらに機能させるプログラムを含み、 前記空きブロックテーブルは、前記データ配置テーブル It includes a program to further function as a new to means, the free block table, the data arrangement table
    を記憶する前記メモリブロックを含むゾーンに属する空 Check that belong to the zone containing the memory blocks for storing
    きブロックを示す情報を格納する第1の空きブロックテ The first free block te for storing information indicating the block can
    ーブルと、いずれかのゾーンに属する空きブロックを示 And Buru, a free block that belongs to one of the zone shows
    す情報を格納する第2の空きブロックテーブルと、を含 A second free block table storing to information, the free
    み、 前記空きブロックテーブル記憶手段は、前記ゾーン特定 Seen, the free block table storage means, said zone specific
    手段が特定したゾーンに属する空きブロック情報を格納 Storing free block information belonging to the zone of means specified
    する前記第2の空きブロックテーブルを自己が記憶して The second free block table by self storage to
    いるか否かを判別し、記憶していないと判別したとき、 Determine dolphin not, when it is determined that not stored,
    前記第2の空きブロックテーブルを作成して記憶する手 Hand creating and storing the second free block table
    段を備え、 前記空きブロック選択手段は、書き込み対象のデータ及 It includes a stage, the free block selecting means, the write target data及
    び論理アドレスが自己に供給されたとき、前記第2の空 When fine logical address is supplied to self, the second air
    きブロックテーブルに登録されている空きブロックのう Free block that is registered in the can block table
    ちから書き込み対象の空きブロックを選択する手段を備 Bei means for selecting a free block of the force write target
    え、 前記プログラムは、前記コンピュータを、前記空きブロ For example, the program, the computer, the free Bro
    ック書込手段が書き込んだ前記データと、前記空きブロ And the data written by the click writing means, the free Bro
    ック選択手段に供給された論理アドレスとの対応付けを Tsu correspondence between logical address supplied to the click selection means
    表すように更新された前記データ配置テーブルを、前記 The data arrangement table updated to represent the
    第1の空きブロックテーブルに登録されている空きブロ Free registered in the first empty block table Bro
    ックに書き込む手段と、更新された前記データ配置テー It means for writing the click, updated the data arrangement tape
    ブルを記憶している前記メモリブロックが空きブロック The memory block is a free block that stores Bull
    であることを表さないように前記第1の空きブロックテ The first free block Te so as not represent that this is
    ーブルを更新する手段としてさらに機能させるプログラ Program to further function as a means for updating the Buru
    ムを含む、 ことを特徴とする記録媒体。 Including beam, recording medium, characterized in that.
JP11222299A 1999-04-20 1999-04-20 Storage, storage systems, memory management method and a recording medium Expired - Fee Related JP3524428B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11222299A JP3524428B2 (en) 1999-04-20 1999-04-20 Storage, storage systems, memory management method and a recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11222299A JP3524428B2 (en) 1999-04-20 1999-04-20 Storage, storage systems, memory management method and a recording medium
US09/551,722 US6477616B1 (en) 1999-04-20 2000-04-18 Storage device, storage system, memory management method, recording medium, and computer data signal

Publications (2)

Publication Number Publication Date
JP2000305839A JP2000305839A (en) 2000-11-02
JP3524428B2 true JP3524428B2 (en) 2004-05-10

Family

ID=14581320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11222299A Expired - Fee Related JP3524428B2 (en) 1999-04-20 1999-04-20 Storage, storage systems, memory management method and a recording medium

Country Status (2)

Country Link
US (1) US6477616B1 (en)
JP (1) JP3524428B2 (en)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4079506B2 (en) * 1997-08-08 2008-04-23 株式会社東芝 Control method for a nonvolatile semiconductor memory system
US6742078B1 (en) * 1999-10-05 2004-05-25 Feiya Technology Corp. Management, data link structure and calculating method for flash memory
US6424975B1 (en) * 2000-01-07 2002-07-23 Trg Products, Inc. FAT file system in palm OS computer
EP1130516A1 (en) * 2000-03-01 2001-09-05 Hewlett-Packard Company, A Delaware Corporation Address mapping in solid state storage device
JP3574078B2 (en) 2001-03-16 2004-10-06 東京エレクトロンデバイス株式会社 Storage device and the storage device control method
US7155560B2 (en) * 2001-06-27 2006-12-26 Intel Corporation Method and apparatus for storing data in flash memory
JP2003016763A (en) * 2001-06-29 2003-01-17 Toshiba Corp Device and method for accessing disk
US7108975B2 (en) * 2001-09-21 2006-09-19 Regents Of The University Of Michigan Atlastin
US6675276B2 (en) * 2001-11-13 2004-01-06 Eastman Kodak Company Method for providing extensible dos-fat system structures on one-time programmable media
TWI240861B (en) * 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
US20060143365A1 (en) * 2002-06-19 2006-06-29 Tokyo Electron Device Limited Memory device, memory managing method and program
JP2004280752A (en) * 2003-03-19 2004-10-07 Sony Corp Date storage device, management information updating method for data storage device, and computer program
JP3919779B2 (en) 2003-08-29 2007-05-30 キヤノン株式会社 Electrophotographic image forming apparatus
JP4521245B2 (en) * 2004-10-29 2010-08-11 富士フイルム株式会社 The storage device control apparatus and program
JP2006133882A (en) * 2004-11-02 2006-05-25 Canon Inc Information processor and information processing method
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US20090172269A1 (en) * 2005-02-04 2009-07-02 Samsung Electronics Co., Ltd. Nonvolatile memory device and associated data merge method
KR100684942B1 (en) 2005-02-07 2007-02-20 삼성전자주식회사 Adaptive flash memory control device with multiple mapping schemes and flash memory system havintg the same
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184718A1 (en) 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US20060184719A1 (en) 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US8140795B2 (en) * 2005-02-28 2012-03-20 Lenovo (Singapore) Pte. Ltd. Hard disk drive with write-only region
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7669003B2 (en) 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7949845B2 (en) 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7627733B2 (en) 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
WO2007019217A1 (en) * 2005-08-03 2007-02-15 Sandisk Corporation Nonvolatile memory with block management
US7480766B2 (en) * 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
JP2007101605A (en) * 2005-09-30 2007-04-19 Eastman Kodak Co Font management system
US7814262B2 (en) 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7529905B2 (en) * 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
US7769978B2 (en) 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7793068B2 (en) 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
JP5135696B2 (en) * 2006-03-23 2013-02-06 パナソニック株式会社 Electronic devices, and object management method
KR100809318B1 (en) 2006-04-04 2008-03-05 삼성전자주식회사 Apparatus and method for managing file
WO2008057557A2 (en) * 2006-11-06 2008-05-15 Rambus Inc. Memory system supporting nonvolatile physical memory
KR100885783B1 (en) * 2007-01-23 2009-02-26 주식회사 하이닉스반도체 Flash memory device and method of operating the same
US20090254729A1 (en) * 2008-04-07 2009-10-08 Skymedi Corporation Method of wear leveling for a non-volatile memory
CN101751391A (en) * 2008-12-01 2010-06-23 扬智科技股份有限公司 Method for establishing file information table
JP4816740B2 (en) * 2009-02-09 2011-11-16 ソニー株式会社 The information processing apparatus, an information processing method, and a program
US9396104B1 (en) * 2010-03-22 2016-07-19 Seagate Technology, Llc Accessing compressed data of varying-sized quanta in non-volatile memory
US10055267B2 (en) * 2015-03-04 2018-08-21 Sandisk Technologies Llc Block management scheme to handle cluster failures in non-volatile memory

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62194555A (en) * 1986-02-21 1987-08-27 Nec Corp Work file virtualizing system for compiler
US5812814A (en) * 1993-02-26 1998-09-22 Kabushiki Kaisha Toshiba Alternative flash EEPROM semiconductor memory system
KR970008188B1 (en) * 1993-04-08 1997-05-21 가나이 쯔또무 Control method of flash memory and information processing apparatus using the same
US5715455A (en) * 1995-05-18 1998-02-03 International Business Machines Corporation Apparatus and method for storing file allocation table efficiently in memory
JPH1049986A (en) * 1996-08-05 1998-02-20 Sony Corp Recording medium, recorder or reproducer or reproducing method
GB9903490D0 (en) * 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US6377500B1 (en) * 1999-11-11 2002-04-23 Kabushiki Kaisha Toshiba Memory system with a non-volatile memory, having address translating function

Also Published As

Publication number Publication date
JP2000305839A (en) 2000-11-02
US6477616B1 (en) 2002-11-05

Similar Documents

Publication Publication Date Title
US8806113B2 (en) Method for efficient storage of metadata in flash memory
US7610434B2 (en) File recording apparatus
US6647471B2 (en) Methods for overwriting data in a memory device
EP1197868B1 (en) Method of driving remapping in flash memory and flash memory architecture suitable therefor
KR100806343B1 (en) Memory system including flash memory and mapping table management method thereof
CN101027651B (en) FAT analysis for optimized sequential cluster management
US8171203B2 (en) Faster write operations to nonvolatile memory using FSInfo sector manipulation
US6625713B2 (en) Memory controller and method for managing a logical/physical address control table
JP4773342B2 (en) Nonvolatile memory device and a data writing method
KR101042588B1 (en) Direct data file storage in flash memories
JP4206688B2 (en) Data processing apparatus and data processing method
CN102163133B (en) Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewriteable memory
EP1920316B1 (en) Method and system for dual mode access for storage devices
US6411552B1 (en) Data processing system, block erasing type memory device and memory medium storing program for controlling memory device
EP0770959B1 (en) Flash translation layer clean-up method
JP3692313B2 (en) Control method of the non-volatile memory
US6170066B1 (en) Power-off recovery management for sector based flash media managers
CN101213510B (en) Method and system for managing partitions in a storage device
JP3923955B2 (en) Flash memory error block management method and apparatus
US8839226B2 (en) System for atomically updating a plurality of files
US8214583B2 (en) Direct file data programming and deletion in flash memories
US5832493A (en) Flash file management system
US8122193B2 (en) Storage device and user device including the same
US9678761B2 (en) Technology for selectively updating memory-resident images
US6813678B1 (en) Flash memory system

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040212

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees