[go: up one dir, main page]

JP2005209058A - Control method for read/write of flash memory - Google Patents

Control method for read/write of flash memory Download PDF

Info

Publication number
JP2005209058A
JP2005209058A JP2004016672A JP2004016672A JP2005209058A JP 2005209058 A JP2005209058 A JP 2005209058A JP 2004016672 A JP2004016672 A JP 2004016672A JP 2004016672 A JP2004016672 A JP 2004016672A JP 2005209058 A JP2005209058 A JP 2005209058A
Authority
JP
Japan
Prior art keywords
address
area
mapping table
flash memory
address mapping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004016672A
Other languages
Japanese (ja)
Inventor
Shunmei Yo
余俊銘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Megawin Technology Co Ltd
Original Assignee
Megawin Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Megawin Technology Co Ltd filed Critical Megawin Technology Co Ltd
Priority to JP2004016672A priority Critical patent/JP2005209058A/en
Publication of JP2005209058A publication Critical patent/JP2005209058A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a control method for read/write of a flash memory which is efficiently controlled, has reduced a size of a control chip, and writes fast. <P>SOLUTION: In the control method of read/write of a flash memory 10, a plurality of flash memory blocks are set in one area and, on the basis of a relationship between the area and a logical address 18 corresponding at the time of system operation, an address mapping table (14) in a FAT and a first area and a high-speed access address mapping table corresponding to a partial block in a second area are created. When the logical address retrieved from a host terminal is transmitted to the flash memory, a physical address is detected directly from the table if the logical address exists in the FAT area of the memory; if otherwise, the location is calculated. Then, if the logical address exists within the first area, the physical address is retrieved from the address mapping table; otherwise, high-speed address/address mapping table is retrieved. When the logical address does not exist, other high-speed access/address mapping table is created, it is decided whether or not an area address mapping table in still another area is created, and retrieval is performed until the physical address corresponding to the logical address is detected. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

この発明はフラッシュメモリの読み書きの制御方法に関し、特にフラッシュメモリの読み書き方法を制御して読み書き速度を速めるフラッシュメモリの読み書きの制御方法に関する。   The present invention relates to a flash memory read / write control method, and more particularly to a flash memory read / write control method that controls the flash memory read / write method to increase the read / write speed.

メモリの操作原理において、コントローラがメモリをデータ保存領域として使用する場合、計算の結果及びそのデータは該領域に保存され、プログラムがアクセスする場合は、該領域にアクセスする。また、データを書き込み保存する場合、コントローラはデータの保存に必要とするアドレスを決定し、バスを介して該アドレスをメモリに送信する。よって、コントローラは対応するデータを正確なアドレスへ送信することができるようになる。またデータを読み取る場合には、コントローラから発信されたコマンドによって当該アドレスにアクセスし、データを取り出し、メモリが反応した後、コントローラが確実にデータを受信するまでデータを送信する。かかる手順にかかる時間がメモリの読み取り時間となる。   In the memory operation principle, when the controller uses the memory as a data storage area, the calculation result and its data are stored in the area, and when the program accesses, the area is accessed. When data is written and stored, the controller determines an address necessary for data storage and transmits the address to the memory via the bus. Therefore, the controller can transmit the corresponding data to the correct address. Further, when reading data, the address is accessed by a command transmitted from the controller, the data is taken out, and after the memory has reacted, the data is transmitted until the controller surely receives the data. The time taken for this procedure is the memory read time.

フラッシュメモリは複数のビットによってブロックを構成し、これを単位としてデータの書き込み、読み取りに提供される。データ保存に提供されるそれぞれのブロックは、いずれもフラッシュメモリ内部空間の順序を代表する物理アドレスを具えると同時に、各ブロックはホスト端末のオペレーションシステムが表示する論理的アドレスを記録し、且つ各物理アドレスはいずれも対応する論理アドレスを具えている。   The flash memory forms a block with a plurality of bits, and is provided for writing and reading data in units of this. Each block provided for data storage has a physical address representative of the order of the internal space of the flash memory, and at the same time, each block records a logical address displayed by the operation system of the host terminal, and Each physical address has a corresponding logical address.

但し、図1に開示するように、フラッシュメモリのメカニズムにおいて、ホスト端末がデータをアクセスするために必要とする物理的アドレスと論理的アドレスは、図1に開示するように非線形の対応関係にあって、直接物理的アドレスで論理アドレスの位置を知ることはできない。よって、データをアクセスする場合は最初からサーチしなければならず、このため一般には論理/物理的アドレスを対照させるアドレスマッピングテーブルを形成して、対応する物理的アドレスを探し出す。   However, as disclosed in FIG. 1, in the flash memory mechanism, the physical address and logical address required for the host terminal to access data have a non-linear correspondence as disclosed in FIG. Thus, the position of the logical address cannot be known directly from the physical address. Therefore, when data is accessed, it must be searched from the beginning. For this reason, an address mapping table for comparing logical / physical addresses is generally formed to find a corresponding physical address.

該アドレスマッピングテーブルは、システム作動時に作成される。かかる表は論理アドレスと物理アドレスの間の相対関係を記録した表であって、2KサイズのSRAMによって該対照表を保存する。仮に2つ以上のアドレスマッピングテーブルがある場合、もしくは比較的大きなアドレスマッピングが存在する場合、SRAMの数や、容量を増加して保存しなけばならない。よって、フラッシュメモリのコントロールチップのサイズが大きくなる。しかし、フラッシュメモリ自身が1つの領域を越え、且つSRAMが固定された場合、ホスト端末のアドレスがマッピングの表の中に存在しないと、フラッシュメモリの他の領域から再度、物理アドレスを探し出して、対応する物理的アドレスをアドレスマッピングテーブルに書き込んで、該論理的アドレスに対応する物理的アドレスが迅速に得られるようにしなければならない。   The address mapping table is created when the system is operating. Such a table is a table in which the relative relationship between the logical address and the physical address is recorded, and the comparison table is stored by a 2K size SRAM. If there are two or more address mapping tables, or there is a relatively large address mapping, the number of SRAMs and the capacity must be increased and stored. Therefore, the size of the control chip of the flash memory is increased. However, if the flash memory itself exceeds one area and the SRAM is fixed, if the address of the host terminal does not exist in the mapping table, the physical address is searched again from the other area of the flash memory, The corresponding physical address must be written to the address mapping table so that the physical address corresponding to the logical address can be obtained quickly.

フラッシュメモリについて言えば、そのデータの書き込みに必要な時間は読み取りに必要な時間よりも長い。しかも、データをメモリに書き込むと同時に、書き込んだアドレス内にデータがすでに存在しているか否かを考慮しなければならない。該アドレスにすでにデータが存在していた場合、ホスト端末によって書き込むデータをデータが存在していない空のブロックに予め書き込み、かつ本来該ブロックのアドレスに書き込まれたデータを新しいブロックへ移動させて、ホスト端末のアドレスが物理アドレスに対応できるようにする。このため、フラッシュメモリの書き込み操作は非常に複雑で、特に完全に空のブロックを探す場合、かなりの時間がかかり、すべてのブロックをサーチして、はじめて使用できる空のブロックを探し出す場合もある。よって、フラッシュメモリの読み書き方法を効率の良いものにするべく、従来の技術の欠点を改善できる方法の解決が望まれている。   For flash memory, the time required for writing the data is longer than the time required for reading. In addition, at the same time that data is written to the memory, it must be considered whether data already exists in the written address. If data already exists at the address, the data to be written by the host terminal is previously written in an empty block where no data exists, and the data originally written at the address of the block is moved to a new block, Make the address of the host terminal correspond to the physical address. For this reason, the flash memory write operation is very complicated, especially when searching for a completely empty block, which takes a considerable amount of time and may search for all the blocks to find a usable empty block for the first time. Therefore, in order to make the reading and writing method of the flash memory efficient, there is a demand for a solution of a method that can improve the drawbacks of the prior art.

この発明は、フラッシュメモリを効率よく制御するとともに、フラッシュメモリのコントロールチップのサイズを縮小することができるフラッシュメモリの読み書きの制御方法を提供することを課題とする。   An object of the present invention is to provide a flash memory read / write control method capable of efficiently controlling a flash memory and reducing the size of a control chip of the flash memory.

また、この発明は、フラッシュメモリが空のブロックを検索する回数を減らして書き込みの速度を高めることのできるフラッシュメモリの読み書きの制御方法を提供することを課題とする。   It is another object of the present invention to provide a flash memory read / write control method capable of increasing the write speed by reducing the number of times the flash memory searches for an empty block.

以下、この発明について具体的に説明する。
請求項1に記載するフラッシュメモリの読み書きの制御方法は、フラッシュメモリの複数のブロックを1つの領域に設定し、システムの作動時に該ブロックアドレスと該ブロックアドレスに対応する論理アドレスとの関係に基づき、FATアドレスマッピング表と、第1領域のアドレスマッピング表と、第2領域の部分的ブロックに対する高速アクセス・アドレスマッピング表の3組の論理/物理的アドレスマッピング表を作成し、
ホスト端末から検索を行う論理アドレスをフラッシュメモリに送信する場合、該検索を行う論理アドレスが該メモリのFAT領域に存在する場合は、該FATアドレスマッピング表から直接物理的アドレスを検出し、該検索を行う論理アドレスが該メモリのFAT領域に存在しない場合は、該検索を行う論理アドレスがどの領域のどのブロックに位置するかを計算し、
該計算の結果、該検索を行う論理アドレスが第1領域内に存在すると判断された場合は、第1領域のアドレスマッピング表から物理アドレスを検索し、該検索を行う論理アドレスが第1領域内に存在しない場合には高速アクセス・アドレスマッピング表の検索を行い、
該高速アクセス・アドレスマッピング表に該検索を行う論理アドレスが存在しなかった場合は、該計算結果に基づいて別途他の高速アクセス・アドレスマッピング表を作成し、更に検索の結果に基づいて別途他の領域の領域アドレスマッピング表を作成するか否かを決定し、該検索を行う論理アドレスに対応する物理的アドレスが検出されるまで検索を行って得られたアドレスをデータの読み取り、もしくは書き込みに供する方法である。
The present invention will be specifically described below.
The flash memory read / write control method according to claim 1 sets a plurality of blocks of the flash memory in one area, and is based on a relationship between the block address and a logical address corresponding to the block address during system operation. Three sets of logical / physical address mapping tables, a FAT address mapping table, an address mapping table in the first area, and a high-speed access address mapping table for partial blocks in the second area,
When a logical address to be searched is transmitted from the host terminal to the flash memory, if the logical address to be searched exists in the FAT area of the memory, the physical address is directly detected from the FAT address mapping table, and the search is performed. If the logical address to perform the search does not exist in the FAT area of the memory, calculate the block in which area the logical address to perform the search is located,
As a result of the calculation, when it is determined that the logical address to be searched exists in the first area, the physical address is searched from the address mapping table of the first area, and the logical address to be searched is in the first area. If not, search the high-speed access address mapping table,
If the logical address to be searched does not exist in the high-speed access address mapping table, another high-speed access address mapping table is separately created based on the calculation result, and another high-speed access address mapping table is additionally created based on the search result. Whether or not to create an area address mapping table for each area, and until the physical address corresponding to the logical address to be searched is detected, the address obtained by performing the search is used for reading or writing data. It is a method to provide.

請求項2に記載するフラッシュメモリの読み書きの制御方法は、請求項1におけるマッピング表を作成する場合、3組の対応する空のブロックを作成してFIFOデータを挿入し、検索する論理アドレスに対応する物理アドレスが作成されたアドレスマッピング表に存在した場合、アドレスマッピング表の中の対応するFIFOデータの中から新しい空ブロックを探し出し、新しいデータを新しいブロック内に書き込むとともに、該物理アドレスのもとのデータを新しいブロック内にコピーして物理アドレス内のデータを消去し、最後に新しいブロックの論理/物理アドレスのマッピング関係によりアドレスマッピング表を作成し、物理アドレスを消去した後の空ブロックにFIFOデータを増加させる方法である。   In the flash memory read / write control method according to claim 2, when creating the mapping table according to claim 1, three sets of corresponding empty blocks are created and FIFO data is inserted to correspond to the logical address to be searched. If the physical address to be created exists in the created address mapping table, a new empty block is searched from the corresponding FIFO data in the address mapping table, and the new data is written in the new block. The data in the physical address is erased by copying the data in the new block, and finally the address mapping table is created according to the logical / physical address mapping relationship of the new block. It is a way to increase data.

請求項3に記載するフラッシュメモリの読み書きの制御方法は、請求項2におけるFIFOデータの中から新しい空ブロックを選択する場合、FIFOの原則により最も早くから存在する空ブロックを選択する方法である。   The flash memory read / write control method according to claim 3 is a method of selecting an empty block existing earliest by the FIFO principle when a new empty block is selected from the FIFO data in claim 2.

請求項4に記載するフラッシュメモリの読み書きの制御方法は、請求項1における領域が、1つの領域に1つの高速アクセス・アドレスマッピング表を作成する方法である。   The flash memory read / write control method according to claim 4 is a method in which the area in claim 1 creates one high-speed access address mapping table in one area.

請求項5に記載するフラッシュメモリの読み書きの制御方法は、請求項1における検索する論理アドレスが、どの領域のどのブロックに存在しているかを計算する場合、ディバイダー(divider)により計算する方法である。   The flash memory read / write control method according to claim 5 is a method of calculating by a divider when calculating in which block of which area the logical address to be searched in claim 1 is present. .

請求項6に記載するフラッシュメモリの読み書きの制御方法は、請求項5における計算方式が、領域のブロック数から第1固定数を決定し、該固定数を論理アドレスで除して算出された商数が検索する論理アドレスがマッピングするメモリの領域を表わし、算出された余数は検索する論理アドレスがマッピングする領域アドレスマッピング表の偏移位置の値を表わす方法である。   According to a sixth aspect of the present invention, there is provided a read / write control method for a flash memory, wherein the calculation method according to the fifth aspect determines a first fixed number from the number of blocks in an area and divides the fixed number by a logical address. The logical address to be searched represents a memory area to be mapped, and the calculated remainder is a method to represent the value of the shift position in the area address mapping table to which the logical address to be searched is mapped.

請求項7に記載するフラッシュメモリの読み書きの制御方法は、請求項6における高速領域のブロック数が決定した第2固定数により算出した余数は、第2固定数を論理アドレスで除して、検索する論理アドレスがマッピングするアドレスマッピング表の偏移位置の値を表わす方法である。   According to a seventh aspect of the present invention, there is provided a read / write control method for a flash memory, wherein the remainder calculated by the second fixed number determined by the number of blocks in the high-speed area in claim 6 is obtained by dividing the second fixed number by a logical address. This is a method of expressing the value of the shift position in the address mapping table to which the logical address to be mapped.

請求項8に記載するフラッシュメモリの読み書きの制御方法は、請求項1におけるフラッシュメモリ内にデータを書き込み、または更新する場合、新しいデータは同一領域内に制限される方法である。   The method for controlling read / write of the flash memory according to claim 8 is a method in which new data is restricted within the same area when data is written or updated in the flash memory according to claim 1.

請求項9に記載するフラッシュメモリの読み書きの制御方法は、請求項1における領域アドレスマッピング表、高速アクセス・アドレスマッピング表、空領域のFIFOデータはSDコントローラの内部に設けられたランダム・アクセス・メモリ(RAM)内に保存される方法である。   The read / write control method of the flash memory according to claim 9 is the area address mapping table, the high-speed access address mapping table, and the empty area FIFO data in claim 1 in the random access memory provided in the SD controller. This method is stored in (RAM).

請求項10に記載するフラッシュメモリの読み書きの制御方法は、請求項1におけるFATアドレスマッピング表、空ブロックのFIFOデータはCPU内のランダム・アクセス・メモリ(RAM)に保存される方法である。   The flash memory read / write control method according to claim 10 is a method in which the FAT address mapping table according to claim 1 and FIFO data of empty blocks are stored in a random access memory (RAM) in the CPU.

請求項11に記載するフラッシュメモリの読み書きの制御方法は、フラッシュメモリ内の複数のブロックを1つの領域と設定し、システムを作動する場合、ブロックアドレスと対応する論理アドレスの関係から2組の論理/物理的アドレスマッピング表を作成し、それぞれFATアドレスマッピング表と第1領域アドレスマッピング表を作成し、ホスト端末は検索する論理アドレスをフラッシュメモリに送信する時、検索する論理アドレスがメモリのFAT領域に存在する場合、FATアドレスマッピング表の中から物理アドレスを直接探し出すか、もしくは検索する論理アドレスがどの領域に存在するかを算出し、
検索する論理アドレスが第1領域内に存在する場合、第1領域のアドレスマッピング表から物理アドレスを探し出し、第1領域内に存在しない場合、算出結果に基づき、別の領域の領域アドレスマッピング表を作成し、検索する論理アドレスに対応する物理アドレスを探し出し、得られたアドレスをデータの読み取りや書き込みに供する方法である。
According to the flash memory read / write control method according to claim 11, when a plurality of blocks in the flash memory are set as one area and the system is operated, two sets of logic are determined from the relationship between the block address and the corresponding logical address. / Create a physical address mapping table, create a FAT address mapping table and a first area address mapping table respectively, and when the host terminal sends the logical address to be searched to the flash memory, the logical address to be searched is the FAT area of the memory If there is a physical address in the FAT address mapping table, or calculate in which area the logical address to search exists,
When the logical address to be searched exists in the first area, the physical address is searched from the address mapping table of the first area. When the logical address does not exist in the first area, the area address mapping table of another area is calculated based on the calculation result. In this method, a physical address corresponding to a logical address to be created and searched is searched, and the obtained address is used for reading and writing data.

請求項12に記載するフラッシュメモリの読み書きの制御方法は、請求項11におけるマッピング表を作成する場合、2組の対応する空領域を作成するとともに、該空領域にFIFOデータを挿入し、そのうちの1つのアドレスマッピング表から検索する論理アドレスが対応する物理アドレスを探し出した場合、アドレスマッピング表の対応するFIFOデータの中から新しい空ブロックを見つけ出し、新しいデータを新しい空ブロック内に書き込むとともに、該物理アドレスの過去のデータを新しい空ブロック内にコピーし、該物理アドレス内のデータを削除し、最後に新しい空ブロックの論理/物理的アドレスのマッピング関係をアドレスマッピング表に書き込み、物理アドレスを消去して空ブロックにFIFOデータを挿入する方法である。   In the flash memory read / write control method according to claim 12, when creating the mapping table according to claim 11, two sets of corresponding empty areas are created, and FIFO data is inserted into the empty areas, of which When a physical address corresponding to a logical address to be searched from one address mapping table is found, a new empty block is found from the corresponding FIFO data in the address mapping table, and the new data is written into the new empty block. Copy the past data of the address into a new empty block, delete the data in the physical address, and finally write the logical / physical address mapping relationship of the new empty block to the address mapping table and erase the physical address This is a method of inserting FIFO data into an empty block.

請求項13に記載するフラッシュメモリの読み書きの制御方法は、請求項11におけるFIFOデータ内から新しい空ブロックを選択する場合の順序は、FIFOの原則に基づいて最も早くに存在していた空ブロックから選択する方法である。   In the flash memory read / write control method according to claim 13, the order in which a new empty block is selected from the FIFO data in claim 11 is determined based on the FIFO block that existed first based on the FIFO principle. How to choose.

請求項14に記載するフラッシュメモリの読み書きの制御方法は、請求項11における検索する論理アドレスがどの領域に位置するかを計算する順序は、ディバイダー(divider)により算出する方法である。   According to a fourteenth aspect of the present invention, there is provided a flash memory read / write control method in which the order of calculating in which area the logical address to be searched is located is calculated by a divider.

請求項15に記載するフラッシュメモリの読み書きの制御方法は、請求項11におけるフラッシュメモリ内にデータの書き込みや更新を行う場合、新しいデータは同一領域内に制限される方法である。   The flash memory read / write control method according to claim 15 is a method in which new data is restricted within the same area when data is written or updated in the flash memory according to claim 11.

請求項16に記載するフラッシュメモリの読み書きの制御方法は、請求項11における領域アドレスマッピング表、及び空ブロックのFIFOデータは、SDコントローラ内のランダム・アクセス・メモリに保存される方法である。   The read / write control method of the flash memory according to claim 16 is a method in which the area address mapping table and the FIFO data of the empty block according to claim 11 are stored in a random access memory in the SD controller.

請求項17に記載するフラッシュメモリの読み書きの制御方法は、請求項1におけるFATアドレスマッピング表、及び空ブロックのFIFOデータはCPU内のランダム・アクセス・メモリに保存される方法である。   The flash memory read / write control method according to claim 17 is a method in which the FAT address mapping table and the FIFO data of empty blocks in claim 1 are stored in a random access memory in the CPU.

この発明のフラッシュメモリの読み書きの制御方法は、フラッシュメモリが空ブロックを検索する回数を減らし、データの書き込み速度を高める効果を有する。   The flash memory read / write control method of the present invention has the effect of reducing the number of times the flash memory searches for empty blocks and increasing the data write speed.

SDカードコントローラはカードリーダー、デジタルカメラなどの多種多様な電子製品のデータをホスト端末から受信してフラッシュメモリ内に保存する。これはフラッシュメモリの制御有効率を高め、コントローラの設計時のチップサイズを縮小するためである。したがって、SDカードコントローラに論理的アドレス及び物理的アドレスのマッピングテーブルの計算方法を提供することによって、フラッシュメモリの制御をさらに効率良くするとともに、チップサイズを縮小する目的を達成することができる。   The SD card controller receives data of various electronic products such as a card reader and a digital camera from the host terminal and stores them in the flash memory. This is to increase the control efficiency of the flash memory and reduce the chip size when designing the controller. Therefore, by providing the SD card controller with a logical address and physical address mapping table calculation method, the flash memory can be controlled more efficiently and the purpose of reducing the chip size can be achieved.

基本的にフラッシュメモリの内部構造は領域(Zone)と、ブロック(Block)と、ページ(Page)との3つの計算単位に分けられる。この発明による方法ではフラッシュメモリ(10)内の複数のブロックを1つの領域として設定する。システムを作動する時、各ブロックアドレスとこれらに対応する論理アドレスとの関係により3組の論理/物理的アドレスのマッピング表を作成する。即ち、図2に開示するFAT(File Alocation Table)アドレスマッピング表(12)と、第1領域(Zone0)アドレスマッピング表(14)と、第2領域(Zone1)の部分的ブロックの高速アクセス・アドレスマッピング表(16)である。   Basically, the internal structure of the flash memory is divided into three calculation units: a zone, a block, and a page. In the method according to the present invention, a plurality of blocks in the flash memory (10) are set as one area. When the system is operated, three sets of logical / physical address mapping tables are created according to the relationship between each block address and the corresponding logical address. That is, the FAT (File Alocation Table) address mapping table (12), the first area (Zone0) address mapping table (14), and the high-speed access addresses of the partial blocks of the second area (Zone1) disclosed in FIG. It is a mapping table | surface (16).

該FATアドレスマッピング表(12)は直接、CPU内のランダム・アクセス・メモリ(RAM)の内部に作成され、比較的高い効率を達成することができる。しかもFAT空ブロックのFIFOデータも、CPU内のランダム・アクセス・メモリ(RAM)内に作成される。   The FAT address mapping table (12) is created directly in the random access memory (RAM) in the CPU, and can achieve a relatively high efficiency. In addition, FIFO empty block FIFO data is also created in a random access memory (RAM) in the CPU.

該第1領域アドレスマッピング表(14)と、高速アクセス.・アドレスマッピング表(16)と、その空ブロックFIFOデータはSDカードコントローラ内部のSRAM内に形成される。   The first area address mapping table (14), the high-speed access address mapping table (16), and the empty block FIFO data are formed in the SRAM inside the SD card controller.

ホスト端末が検索を行う論理アドレス(18)をフラッシュメモリのコントローラへ伝送する場合、先に該検索を行う論理アドレス(18)がフラッシュメモリのFAT内にあるかどうかを確認する。仮に該論理アドレス(18)がFAT内に存在する場合は、FATアドレスマッピング表(12)から直接対応する物理的アドレスを検索する。仮に該論理アドレス(18)がFAT内に存在しなかった場合は、先に除算器(divider)を利用して該論理アドレス(18)がどの領域のどのブロックにあるかを計算する。この計算の結果、検索を行う該論理アドレス(18)が第1領域(Zone0)内にあると判断された場合、第1領域アドレスマッピング表(14)から物理的アドレスを検索する。仮に第1領域内に存在しない場合は、引き続き高速アクセス・アドレスマッピング表(16)を検索する。   When the host terminal transmits the logical address (18) to be searched to the controller of the flash memory, it is first confirmed whether or not the logical address (18) to be searched is in the FAT of the flash memory. If the logical address (18) exists in the FAT, the corresponding physical address is directly retrieved from the FAT address mapping table (12). If the logical address (18) does not exist in the FAT, a divider is used first to calculate which block in which area the logical address (18) is. As a result of this calculation, if it is determined that the logical address (18) to be searched is in the first area (Zone 0), the physical address is searched from the first area address mapping table (14). If it does not exist in the first area, the high-speed access address mapping table (16) is continuously searched.

また高速アクセス・アドレスマッピング表(16)の中にも検索する論理アドレス(18)が見つからなかった場合、上述の計算の結果に基づいて、別途他の高速アクセス・アドレスマッピング表(16’)を作成する。更に、別途作成した高速アクセス・アドレスマッピング表(16’)に基づく検索の結果によって、他の領域の領域アドレスマッピング表(14’)を構築するかどうかを決定し、検索を行う該論理アドレス(18)に対応する物理的アドレスが得られるまで検索を行い、得られたアドレスをデータの読み取りと書き込みに供する。それぞれの領域には高速アクセス・アドレスマッピング表が1つだけ作成される。   If the logical address (18) to be searched is not found in the high-speed access address mapping table (16), another high-speed access address mapping table (16 ′) is separately obtained based on the result of the above calculation. create. Further, it is determined whether or not to construct an area address mapping table (14 ′) of another area based on a search result based on a separately created high-speed access address mapping table (16 ′), and the logical address ( Search is performed until a physical address corresponding to 18) is obtained, and the obtained address is used for reading and writing data. Only one high speed access / address mapping table is created in each area.

即ち、ホスト端末が検索を行う論理アドレスがZone0に位置しておらず、Zone1の高速アクセスブロック内にも位置していなかった場合、新規に高速アクセス・アドレスマッピング表を構築して、これに切り替えなければならない。検索を行うアドレスがZone0内に位置していなく、Zone1内に位置していることが確認された場合は、Zone1の領域アドレスマッピング表を新たに構築し、ホスト端末が対応する物理的アドレスを検索するために供する。   That is, if the logical address to be searched by the host terminal is not located in Zone 0 and is not located in the Zone 1 high-speed access block, a new high-speed access address mapping table is constructed and switched to this. There must be. If it is confirmed that the address to be searched is not located in Zone 0 but located in Zone 1, the zone 1 address mapping table is newly constructed, and the host terminal searches for the corresponding physical address. Served to do.

また上述の3組のアドレスマッピング表(12)、(14)、(16)を作成する場合、同時に該3組のアドレスマッピング表(12)、(14)、(16)に対応する空ブロックのFIFOデータ(図示しない)を構築する。検索を行う論理アドレス(18)に対応する物理的アドレスが該アドレスマッピング表(12)、(14)、(16)の内の1つから検索された場合、FIFOの原則に基づいて、先にアドレスマッピング表の対応するFIFOデータから最先に形成された新しい空ブロックを探し出す。次いで、新しいデータを該新しい空ブロック内に改めて書き込むとともに、物理アドレス内の本来のデータを該新しい空ブロック内に複写する。次ぎに、物理的アドレス内のデータを消去し、最後に新しい空ブロックの論理アドレスと物理的アドレスのマッピング関係をアドレスマッピング表の中に作成する。また、該物理的アドレスを消去した空ブロックを対応するFIFOデータに追加する。よって、それぞれのアドレスのマッピング表は空ブロックのFIFOデータと合わせ用いることによって、フラッシュメモリの効率を高め、各ブロックの平均使用頻度を効率良く高めることができる。   When the above three sets of address mapping tables (12), (14) and (16) are created, empty blocks corresponding to the three sets of address mapping tables (12), (14) and (16) are simultaneously created. Build FIFO data (not shown). When the physical address corresponding to the logical address (18) to be searched is retrieved from one of the address mapping tables (12), (14), (16), based on the FIFO principle, A new empty block formed first is searched from the corresponding FIFO data in the address mapping table. Next, new data is written in the new empty block, and the original data in the physical address is copied into the new empty block. Next, the data in the physical address is erased, and finally the mapping relationship between the logical address and the physical address of the new empty block is created in the address mapping table. Also, an empty block from which the physical address has been deleted is added to the corresponding FIFO data. Therefore, by using the mapping table of each address together with the FIFO data of the empty block, the efficiency of the flash memory can be improved and the average usage frequency of each block can be increased efficiently.

本発明の精神については、以上の説明の通りである。次いで、図2を参照にして、この発明の各マッピング表の構造とメカニズムについて説明する。この発明においては、フラッシュメモリが空ブロックを検索する回数を減少させるために、空ブロックのFIFO(Empty Block FIFO)メカニズムを応用して、領域内の未使用のブロックを集中させる。フラッシュメモリ内にデータを書き込む場合、直接該FIFOデータ内から空ブロックを呼び出せば物理的アドレスに直接書き込むことができ、このためフラッシュメモリの空ブロックを検索する回数を減少させることができ、またデータを書き込む過程において、それぞれのブロック内のページが使用されているかどうかをサーチする必要がなく、書き込み速度が上昇する。また、それぞれのブロックが消去された場合、該物理的アドレスはFIFOデータの中に保存される。よって、各消去されたブロックは物理的アドレスがFIFOバッファデータ内に補充され、FIFOデータを作成しなおす回数を減少させることができ、且つ全てのブロックの使用頻度が均一になる。   The spirit of the present invention is as described above. Next, the structure and mechanism of each mapping table of the present invention will be described with reference to FIG. In the present invention, in order to reduce the number of times the flash memory searches for empty blocks, an empty block FIFO (Empty Block FIFO) mechanism is applied to concentrate unused blocks in the area. When data is written into the flash memory, it can be written directly to the physical address by calling an empty block directly from within the FIFO data, so that the number of times the flash memory is searched for an empty block can be reduced. In the process of writing, it is not necessary to search whether the page in each block is used, and the writing speed increases. Also, when each block is erased, the physical address is stored in the FIFO data. Accordingly, the physical address of each erased block is replenished in the FIFO buffer data, the number of times FIFO data is recreated can be reduced, and the frequency of use of all the blocks is uniform.

フラッシュメモリの操作原理を見ると、各領域は原則上1024のブロックを具えている。かかるフラッシュメモリの容量が16Mバイト以上になる時、必ず2つ以上の領域が現われ、十分な旋回空間を提供する。各領域は1000個のブロックを使用し、残りのブロックは保留ブロックとみなされ、データの旋回空間として利用される。よってフラッシュメモリが128Mバイトとすると、合計で8つの領域に分けられる。このため合計8192個のブロックを使用することができる。しかし、この発明では8000個のブロックを8つの領域内に平均して分散させて使用するため、各領域では24のブロックが保留ブロックになる。よってホストの論理アドレスは0〜7999アドレスを上回ることがない。このため論理アドレスは1000(領域のブロック数が決定する固定数)を除して、論理アドレスがどの領域かを計算することができ、対応するアドレスマッピング表のオフセット(Offset)がどうなっているかを知ることができる。即ち、直接物理アドレスに対応することができる。しかし、保存領域アドレスマッピング表のランダム・アクセス・メモリ(RAM)は2Kしかないため、必ずアドレスマッピング表で現在の対応領域の論理アドレスが対応するアドレスであるかを確認しなければならない。また現在の対応領域が論理アドレスの対応するべきでない領域だった場合、必ず別のアドレスマッピング表を作成しなければならない。且つ、アドレスの演算を加速する。この発明では1つの1000と128を除するディバイダー(divider)を設計する。かかるディバイダーは論理アドレスを入力すれば自動的に1000と128の商数と余数を算出する。即ち、直接アドレスマッピング表の実際のアドレスを検索し、システムの効率を増加させる。   Looking at the operating principle of the flash memory, each area basically comprises 1024 blocks. When the capacity of such flash memory exceeds 16 Mbytes, two or more areas always appear, providing a sufficient swirling space. Each area uses 1000 blocks, and the remaining blocks are regarded as reserved blocks and are used as a data turning space. Therefore, if the flash memory is 128 Mbytes, it is divided into eight areas in total. Therefore, a total of 8192 blocks can be used. However, in the present invention, 8000 blocks are averaged and distributed in 8 areas, so that 24 blocks are reserved blocks in each area. Therefore, the logical address of the host does not exceed 0-7999 addresses. For this reason, the logical address can be calculated by dividing 1000 (a fixed number determined by the number of blocks in the area), and what is the offset (Offset) of the corresponding address mapping table. Can know. That is, it can directly correspond to a physical address. However, since the random access memory (RAM) of the storage area address mapping table has only 2K, it is necessary to confirm whether the logical address of the current corresponding area is a corresponding address in the address mapping table. Also, if the current corresponding area is an area that should not correspond to a logical address, another address mapping table must be created. In addition, the address calculation is accelerated. In the present invention, a divider is designed to divide one 1000 and 128. Such a divider automatically calculates the quotient and remainder of 1000 and 128 when a logical address is input. That is, the actual address of the direct address mapping table is searched to increase the efficiency of the system.

さらにFAT表の変更は頻繁に行われる。よって1組のFAT専用のFATアドレスマッピング表と空ブロックFIFOデータを増設する。かかるFATアドレスマッピング表と空ブロックFIFOデータは論理アドレスの0〜39のアドレスに直接対応する。しかし、ホストの論理アドレスが0〜39に位置している場合、現在の領域アドレスマッピング表がどの領域に対応しているか検討する必要がなく、FATアドレスマッピング表の中から直接対応するアドレスを探し出せばよい。このため領域アドレスマッピング表を作成する回数を減少させることができる。   Furthermore, the FAT table is frequently changed. Therefore, a set of FAT address mapping table dedicated to FAT and empty block FIFO data are added. The FAT address mapping table and empty block FIFO data directly correspond to logical addresses 0 to 39. However, when the logical address of the host is located between 0 and 39, there is no need to consider which area the current area address mapping table corresponds to, and the corresponding address can be found directly from the FAT address mapping table. That's fine. For this reason, the number of times of creating the area address mapping table can be reduced.

全体の領域アドレスマッピング表を作成する回数を減少するため、1組の高速アクセス・アドレスマッピング表と快速空ブロックFIFOデータを増加する。かかる高速アクセス・アドレスマッピング表のサイズは256バイトで、128個のブロックに保存することができる。ホストの論理ブロックが領域アドレスマッピングとFATアドレスマッピング表の中に存在しない場合、高速アクセス・アドレスマッピング表から対応するアドレスを検索する。論理アドレスが存在しない場合、高速アクセス・アドレスマッピング表を作成する。なぜならこの表は128個のブロックだけで構成されているため、高速アクセス・アドレスマッピング表を作成する速度は2Kの領域アドレスマッピング表を作成するよりも速い。よって全体の領域アドレスマッピング表を作成する回数を減少させることができる。   In order to reduce the number of times of creating the entire area address mapping table, a set of high-speed access address mapping table and rapid empty block FIFO data are increased. The size of the high-speed access / address mapping table is 256 bytes and can be stored in 128 blocks. If the host logical block does not exist in the area address mapping and FAT address mapping table, the corresponding address is retrieved from the fast access address mapping table. If the logical address does not exist, create a fast access address mapping table. Because this table is composed of only 128 blocks, the speed of creating the high-speed access address mapping table is faster than that of creating the 2K area address mapping table. Therefore, the number of times of creating the entire area address mapping table can be reduced.

従来の構築方法をさらに向上させるもう1種類の組み合わせ方式を説明する。かかる組み合わせ方式は、上述のFATアドレスマッピング表(12)と空ブロックFIFOデータを保留し、高速アクセス・アドレスマッピング表(16)の部分的消去を行う。また、もとの第1領域アドレスマッピング表(14)のサイズを1024ブロックから256ブロックへ修正し、領域アドレスマッピング表を直接検索する。検索する論理アドレスに対応する物理アドレスを取得するまで検索を続け、得られたアドレスをデータ読み取りや書き込みに供する。この方式はアドレスマッピング表を作成する時間を節減し、SRAMのサイズを縮小させる。よって、もとの2Kから512バイトへ縮小させることができ、4分の3のSRAMへと縮小するため、効率を4倍に増加させる。このためコストを節減するとともに、効率を増加させる。   Another type of combination method that further improves the conventional construction method will be described. In this combination method, the FAT address mapping table (12) and the empty block FIFO data described above are reserved, and the fast access address mapping table (16) is partially erased. Further, the size of the original first area address mapping table (14) is corrected from 1024 blocks to 256 blocks, and the area address mapping table is directly searched. The search is continued until the physical address corresponding to the logical address to be searched is obtained, and the obtained address is used for data reading and writing. This method saves the time to create the address mapping table and reduces the size of the SRAM. Therefore, the original 2K can be reduced to 512 bytes, and the efficiency is quadrupled to reduce to 3/4 SRAM. This saves costs and increases efficiency.

即ち、上述の方法は領域アドレスマッピング表を空ブロックFIFOデータと合わせて使用するとともに、FATの表における論理アドレスに領域アドレスマッピング表と空ブロックFIFOデータと合わせる概念を用いるため、フラッシュメモリを読み書きする場合に領域アドレスマッピング表がどの領域に対応しているかにかかわらず、FAT領域のFATアドレスマッピング表を作成する必要がない。
また高速アクセス・アドレスマッピング表を増加し、論理アドレスが出現し、且つ領域アドレスマッピング表とFATアドレスマッピング表の中に存在しない場合、先に比較的小さい高速アクセス・アドレスマッピング表を作成するため、システムの速度を確実に高めることができる。
That is, the above method uses the area address mapping table together with the empty block FIFO data and uses the concept of combining the area address mapping table and the empty block FIFO data with the logical address in the FAT table, so that the flash memory is read and written. In this case, it is not necessary to create a FAT address mapping table for the FAT area regardless of which area the area address mapping table corresponds to.
Also, increase the high-speed access address mapping table, if a logical address appears and does not exist in the area address mapping table and FAT address mapping table, to create a relatively small high-speed access address mapping table first, The speed of the system can be surely increased.

以上は、この発明の好ましい実施例であって、この発明の実施の範囲を限定するものではない。よって、当業者のなし得る修正、もしくは変更であって、この発明の精神の下においてなされ、この発明に対して均等の効果を有するものは、いずれもこの発明の特許請求の範囲に属するものとする。   The above is a preferred embodiment of the present invention and does not limit the scope of the present invention. Therefore, any modifications or changes that can be made by those skilled in the art, which are made within the spirit of the present invention and have an equivalent effect on the present invention, shall belong to the scope of the claims of the present invention. To do.

従来のフラッシュメモリにおける物理アドレスと論理アドレスの関係を示した説明図とかかる関係を利用して作成したアドレスマッピング表を示した説明図である。It is explanatory drawing which showed the relationship between the physical address and logical address in the conventional flash memory, and explanatory drawing which showed the address mapping table | surface created using this relationship. この発明の論理アドレスの構造を示した説明図である。It is explanatory drawing which showed the structure of the logical address of this invention.

符号の説明Explanation of symbols

10 フラッシュメモリ
12 FATアドレスマッピング表
14、14’ 第1領域アドレスマッピング表
16、16’ 高速アクセス・アドレスマッピング表
18 論理アドレス
10 Flash memory 12 FAT address mapping table 14, 14 'First area address mapping table 16, 16' High-speed access address mapping table 18 Logical address

Claims (17)

フラッシュメモリの複数のブロックを1つの領域に設定し、システムの作動時に該ブロックアドレスと該ブロックアドレスに対応する論理アドレスとの関係に基づき、FATアドレスマッピング表と、第1領域のアドレスマッピング表と、第2領域の部分的ブロックに対する高速アクセス・アドレスマッピング表の3組の論理/物理的アドレスマッピング表を作成し、
ホスト端末から検索を行う論理アドレスをフラッシュメモリに送信する場合、該検索を行う論理アドレスが該メモリのFAT領域に存在する場合は、該FATアドレスマッピング表から直接物理的アドレスを検出し、該検索を行う論理アドレスが該メモリのFAT領域に存在しない場合は、該検索を行う論理アドレスがどの領域のどのブロックに位置するかを計算し、
該計算の結果、該検索を行う論理アドレスが第1領域内に存在すると判断された場合は、第1領域のアドレスマッピング表から物理アドレスを検索し、該検索を行う論理アドレスが第1領域内に存在しない場合には高速アクセス・アドレスマッピング表の検索を行い、
該高速アクセス・アドレスマッピング表に該検索を行う論理アドレスが存在しなかった場合は、該計算結果に基づいて別途他の高速アクセス・アドレスマッピング表を作成し、更に検索の結果に基づいて別途他の領域の領域アドレスマッピング表を作成するか否かを決定し、該検索を行う論理アドレスに対応する物理的アドレスが検出されるまで検索を行って得られたアドレスをデータの読み取り、もしくは書き込みに供することを特徴とするフラッシュメモリの読み書きの制御方法。
A plurality of blocks of the flash memory are set in one area, and based on the relationship between the block address and the logical address corresponding to the block address when the system operates, a FAT address mapping table, an address mapping table in the first area, Create three sets of logical / physical address mapping tables for fast access address mapping tables for partial blocks in the second region,
When a logical address to be searched is transmitted from the host terminal to the flash memory, if the logical address to be searched exists in the FAT area of the memory, the physical address is directly detected from the FAT address mapping table, and the search is performed. If the logical address to perform the search does not exist in the FAT area of the memory, calculate the block in which area the logical address to perform the search is located,
As a result of the calculation, when it is determined that the logical address to be searched exists in the first area, the physical address is searched from the address mapping table of the first area, and the logical address to be searched is in the first area. If not, search the high-speed access address mapping table,
If the logical address to be searched does not exist in the high-speed access address mapping table, another high-speed access address mapping table is separately created based on the calculation result, and another high-speed access address mapping table is additionally created based on the search result. Whether or not to create an area address mapping table for each area, and until the physical address corresponding to the logical address to be searched is detected, the address obtained by performing the search is used for reading or writing data. A flash memory read / write control method characterized by comprising:
前記マッピング表を作成する場合、3組の対応する空のブロックを作成してFIFOデータを挿入し、検索する論理アドレスに対応する物理アドレスが作成されたアドレスマッピング表に存在した場合、アドレスマッピング表の中の対応するFIFOデータの中から新しい空ブロックを探し出し、新しいデータを新しいブロック内に書き込むとともに、該物理アドレスのもとのデータを新しいブロック内にコピーして物理アドレス内のデータを消去し、最後に新しいブロックの論理/物理アドレスのマッピング関係によりアドレスマッピング表を作成し、物理アドレスを消去した後の空ブロックにFIFOデータを増加させることを特徴とする請求項1に記載するフラッシュメモリの読み書きの制御方法。   When creating the mapping table, if three sets of corresponding empty blocks are created, FIFO data is inserted, and the physical address corresponding to the logical address to be searched exists in the created address mapping table, the address mapping table Finds a new empty block from the corresponding FIFO data in, writes the new data into the new block, and copies the original data at the physical address into the new block to erase the data at the physical address 2. The flash memory according to claim 1, wherein an address mapping table is finally created based on a logical / physical address mapping relationship of a new block, and FIFO data is increased to an empty block after the physical address is erased. Read / write control method. 前記FIFOデータの中から新しい空ブロックを選択する場合、FIFOの原則により最も早くから存在する空ブロックを選択することを特徴とする請求項2に記載するフラッシュメモリの読み書きの制御方法。   3. The flash memory read / write control method according to claim 2, wherein when a new empty block is selected from the FIFO data, an empty block existing first is selected according to the FIFO principle. 1つの領域に1つの高速アクセス・アドレスマッピング表を作成することを特徴とする請求項1に記載するフラッシュメモリの読み書きの制御方法。   2. The flash memory read / write control method according to claim 1, wherein one high-speed access address mapping table is created in one area. 前記検索する論理アドレスが、どの領域のどのブロックに存在しているかを計算する場合、ディバイダー(divider)により計算することを特徴とする請求項1に記載するフラッシュメモリの読み書きの制御方法。   2. The flash memory read / write control method according to claim 1, wherein when calculating which block in which area the logical address to be searched for is calculated by a divider. 前記計算方式は、領域のブロック数から第1固定数を決定し、該固定数を論理アドレスで除して算出された商数が検索する論理アドレスがマッピングするメモリの領域を表わし、算出された余数は検索する論理アドレスがマッピングする領域アドレスマッピング表の偏移位置の値を表わすことを特徴とする請求項5に記載するフラッシュメモリの読み書きの制御方法。   The calculation method is such that a first fixed number is determined from the number of blocks in an area, and the quotient calculated by dividing the fixed number by a logical address represents a memory area to which a logical address to be searched is mapped. 6. The flash memory read / write control method according to claim 5, wherein the remainder represents a value of a shift position in an area address mapping table to which a logical address to be searched is mapped. 前記高速領域のブロック数が決定した第2固定数により算出した余数は、第2固定数を論理アドレスで除して、検索する論理アドレスがマッピングするアドレスマッピング表の偏移位置の値を表わすことを特徴とする請求項6に記載するフラッシュメモリの読み書きの制御方法。   The remainder calculated by the second fixed number determined by the number of blocks in the high-speed area represents the value of the shift position in the address mapping table mapped by the logical address to be searched by dividing the second fixed number by the logical address. The flash memory read / write control method according to claim 6. 前記フラッシュメモリ内にデータを書き込み、または更新する場合、新しいデータは同一領域内に制限されることを特徴とする請求項1に記載するフラッシュメモリの読み書きの制御方法。   2. The method of controlling read / write of a flash memory according to claim 1, wherein when data is written or updated in the flash memory, new data is restricted within the same area. 前記領域アドレスマッピング表、高速アクセス・アドレスマッピング表、空領域のFIFOデータはSDコントローラの内部に設けられたランダム・アクセス・メモリ(RAM)内に保存されることを特徴とする請求項1に記載するフラッシュメモリの読み書きの制御方法。   2. The area address mapping table, the high-speed access address mapping table, and empty area FIFO data are stored in a random access memory (RAM) provided in an SD controller. Flash memory read / write control method. 前記FATアドレスマッピング表、空ブロックのFIFOデータはCPU内のランダム・アクセス・メモリ(RAM)に保存されることを特徴とする請求項1に記載するフラッシュメモリの読み書きの制御方法。   2. The flash memory read / write control method according to claim 1, wherein the FAT address mapping table and FIFO data of empty blocks are stored in a random access memory (RAM) in a CPU. フラッシュメモリ内の複数のブロックを1つの領域と設定し、システムを作動する場合、ブロックアドレスと対応する論理アドレスの関係から2組の論理/物理的アドレスマッピング表を作成し、それぞれFATアドレスマッピング表と第1領域アドレスマッピング表を作成し、ホスト端末は検索する論理アドレスをフラッシュメモリに送信する時、検索する論理アドレスがメモリのFAT領域に存在する場合、FATアドレスマッピング表の中から物理アドレスを直接探し出すか、もしくは検索する論理アドレスがどの領域に存在するかを算出し、
検索する論理アドレスが第1領域内に存在する場合、第1領域のアドレスマッピング表から物理アドレスを探し出し、第1領域内に存在しない場合、算出結果に基づき、別の領域の領域アドレスマッピング表を作成し、検索する論理アドレスに対応する物理アドレスを探し出し、得られたアドレスをデータの読み取りや書き込みに供することを特徴とするフラッシュメモリの読み書きの制御方法。
When multiple blocks in the flash memory are set as one area and the system is operated, two sets of logical / physical address mapping tables are created from the relationship between the block address and the corresponding logical address, and each FAT address mapping table When the host terminal sends the logical address to be searched to the flash memory, if the logical address to be searched exists in the FAT area of the memory, the physical address is selected from the FAT address mapping table. Calculate directly in which area the logical address to search is located,
When the logical address to be searched exists in the first area, the physical address is searched from the address mapping table of the first area. When the logical address does not exist in the first area, the area address mapping table of another area is calculated based on the calculation result. A flash memory read / write control method characterized in that a physical address corresponding to a logical address to be created and searched is searched for, and the obtained address is used for reading and writing data.
前記マッピング表を作成する場合、2組の対応する空領域を作成するとともに、該空領域にFIFOデータを挿入し、そのうちの1つのアドレスマッピング表から検索する論理アドレスが対応する物理アドレスを探し出した場合、アドレスマッピング表の対応するFIFOデータの中から新しい空ブロックを見つけ出し、新しいデータを新しい空ブロック内に書き込むとともに、該物理アドレスの過去のデータを新しい空ブロック内にコピーし、該物理アドレス内のデータを削除し、最後に新しい空ブロックの論理/物理的アドレスのマッピング関係をアドレスマッピング表に書き込み、物理アドレスを消去して空ブロックにFIFOデータを挿入することを特徴とする請求項11に記載するフラッシュメモリの読み書きの制御方法。   When creating the mapping table, two sets of corresponding empty areas were created, FIFO data was inserted into the empty area, and the physical address corresponding to the logical address to be searched from one of the address mapping tables was found. Find a new empty block from the corresponding FIFO data in the address mapping table, write the new data into the new empty block, copy the past data of the physical address into the new empty block, 12. Finally, the logical / physical address mapping relationship of the new empty block is written into the address mapping table, the physical address is erased, and the FIFO data is inserted into the empty block. The flash memory read / write control method to be described. 前記FIFOデータ内から新しい空ブロックを選択する場合の順序は、FIFOの原則に基づいて最も早くに存在していた空ブロックから選択することを特徴とする請求項11に記載するフラッシュメモリの読み書きの制御方法。   12. The read / write operation of the flash memory according to claim 11, wherein the order in selecting a new empty block from within the FIFO data is selected from the empty blocks that existed earliest based on the FIFO principle. Control method. 前記検索する論理アドレスがどの領域に位置するかを計算する順序は、ディバイダー(divider)により算出することを特徴とする請求項11に記載するフラッシュメモリの読み書きの制御方法。   12. The flash memory read / write control method according to claim 11, wherein an order of calculating in which region the logical address to be searched is located is calculated by a divider. 前記フラッシュメモリ内にデータの書き込みや更新を行う場合、新しいデータは同一領域内に制限されることを特徴とする請求項11に記載するフラッシュメモリの読み書きの制御方法。   12. The flash memory read / write control method according to claim 11, wherein when data is written to or updated in the flash memory, new data is restricted within the same area. 前記領域アドレスマッピング表、及び空ブロックのFIFOデータは、SDコントローラ内のランダム・アクセス・メモリに保存されることを特徴とする請求項11に記載するフラッシュメモリの読み書きの制御方法。   12. The flash memory read / write control method according to claim 11, wherein the area address mapping table and FIFO data of empty blocks are stored in a random access memory in an SD controller. 前記FATアドレスマッピング表、及び空ブロックのFIFOデータはCPU内のランダム・アクセス・メモリに保存されることを特徴とする請求項1に記載するフラッシュメモリの読み書きの制御方法。
2. The flash memory read / write control method according to claim 1, wherein the FAT address mapping table and empty block FIFO data are stored in a random access memory in a CPU.
JP2004016672A 2004-01-26 2004-01-26 Control method for read/write of flash memory Pending JP2005209058A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004016672A JP2005209058A (en) 2004-01-26 2004-01-26 Control method for read/write of flash memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004016672A JP2005209058A (en) 2004-01-26 2004-01-26 Control method for read/write of flash memory

Publications (1)

Publication Number Publication Date
JP2005209058A true JP2005209058A (en) 2005-08-04

Family

ID=34901751

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004016672A Pending JP2005209058A (en) 2004-01-26 2004-01-26 Control method for read/write of flash memory

Country Status (1)

Country Link
JP (1) JP2005209058A (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100801072B1 (en) * 2005-09-30 2008-02-11 삼성전자주식회사 Flash memory, mapping device and method for same
KR100818993B1 (en) 2006-05-12 2008-04-02 삼성전자주식회사 File management apparatus and method using block virtual allocation
KR100881597B1 (en) 2007-02-02 2009-02-03 지인정보기술 주식회사 Read request processing system and method
JP2012068863A (en) * 2010-09-22 2012-04-05 Toshiba Corp Semiconductor memory controller
JP2012517627A (en) * 2009-02-12 2012-08-02 株式会社東芝 Memory system and memory system control method
CN110851372A (en) * 2018-08-20 2020-02-28 慧荣科技股份有限公司 Storage device and cache addressing method
US11474950B2 (en) 2020-01-16 2022-10-18 Samsung Electronics Co., Ltd. Memory controller including plurality of address mapping tables, system on chip, and electronic device

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100801072B1 (en) * 2005-09-30 2008-02-11 삼성전자주식회사 Flash memory, mapping device and method for same
KR100818993B1 (en) 2006-05-12 2008-04-02 삼성전자주식회사 File management apparatus and method using block virtual allocation
KR100881597B1 (en) 2007-02-02 2009-02-03 지인정보기술 주식회사 Read request processing system and method
US8255663B2 (en) 2007-02-02 2012-08-28 Yookun Cho System and method for processing read request
JP2012517627A (en) * 2009-02-12 2012-08-02 株式会社東芝 Memory system and memory system control method
JP2012068863A (en) * 2010-09-22 2012-04-05 Toshiba Corp Semiconductor memory controller
CN110851372A (en) * 2018-08-20 2020-02-28 慧荣科技股份有限公司 Storage device and cache addressing method
CN110851372B (en) * 2018-08-20 2023-10-31 慧荣科技股份有限公司 Storage device and cache area addressing method
US11474950B2 (en) 2020-01-16 2022-10-18 Samsung Electronics Co., Ltd. Memory controller including plurality of address mapping tables, system on chip, and electronic device

Similar Documents

Publication Publication Date Title
US10635310B2 (en) Storage device that compresses data received from a host before writing therein
US7861028B2 (en) System and method for configuration and management of flash memory
US8145829B2 (en) Flash memory device capable of preventing read disturbance
US20050055532A1 (en) Method for efficiently controlling read/write of flash memory
CN107066393B (en) A method for improving the density of mapping information in the address mapping table
US7475185B2 (en) Nonvolatile memory system, nonvolatile memory device, memory controller, access device, and method for controlling nonvolatile memory device
US7487303B2 (en) Flash memory device and associated data merge method
US10628303B2 (en) Storage device that maintains a plurality of layers of address mapping
US20080183955A1 (en) Flash translation layer apparatus
US20050231765A1 (en) Information recording medium, data processing apparatus and data processing method
KR20100132244A (en) Memory system and how to manage it
JP2008016003A (en) Memory storage device and its method for reading and writing data
CN107621959A (en) Electronic installation and its software training method, computing system
US20190065395A1 (en) Storage device and data arrangement method
JP2006285669A (en) Host apparatus
JP2006268776A (en) Memory card
TW201126338A (en) Flash memory device and data access method for flash memories
JP2005209058A (en) Control method for read/write of flash memory
JP2005115561A (en) Flash rom controller
CN113407111B (en) Flash memory controller, flash memory controller method and memory device
CN112015671B (en) Flash memory controller, memory device, and method for accessing flash memory module
JP2005222534A (en) Data management apparatus and method used for flash memory
WO2015118623A1 (en) Information processing device
KR20200053052A (en) Storage device and electronic device managing data transmitted to storage device
CN111638910B (en) Shift type and pointer type mixed register queue data storage method and system