[go: up one dir, main page]

JP3976764B2 - Semiconductor disk device - Google Patents

Semiconductor disk device Download PDF

Info

Publication number
JP3976764B2
JP3976764B2 JP2005176388A JP2005176388A JP3976764B2 JP 3976764 B2 JP3976764 B2 JP 3976764B2 JP 2005176388 A JP2005176388 A JP 2005176388A JP 2005176388 A JP2005176388 A JP 2005176388A JP 3976764 B2 JP3976764 B2 JP 3976764B2
Authority
JP
Japan
Prior art keywords
data
address
disk device
lsa
conversion 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 - Lifetime
Application number
JP2005176388A
Other languages
Japanese (ja)
Other versions
JP2005332415A (en
Inventor
コリン・メーソン
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2005176388A priority Critical patent/JP3976764B2/en
Publication of JP2005332415A publication Critical patent/JP2005332415A/en
Application granted granted Critical
Publication of JP3976764B2 publication Critical patent/JP3976764B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

この発明は、フラッシュメモリを記憶媒体として用いた半導体ディスクカード等の半導体ディスク装置に関するものである。   The present invention relates to a semiconductor disk device such as a semiconductor disk card using a flash memory as a storage medium.

今日、パーソナルコンピュータの分野において比較的大容量のデータを記憶させておく際には、ハードディスク装置などの磁気記憶媒体が用いられることが多い。これは、消費電力こそ大きいがコストパフォーマンスが非常によいためである。   Today, when storing a relatively large amount of data in the field of personal computers, magnetic storage media such as hard disk drives are often used. This is because the power consumption is large but the cost performance is very good.

一方、フラッシュメモリ等の半導体メモリを上記ハードディスク装置のように動作させる半導体ディスク装置が出現した。この半導体ディスク装置は上記ハードディスク装置と違いモーターなどのメカニカルな部分が存在しないため、コストパフォーマンスは磁気記憶媒体に遅れをとるものの低消費電力、高信頼性という面を生かし携帯情報端末などに普及しつつある。   On the other hand, a semiconductor disk device that operates a semiconductor memory such as a flash memory like the hard disk device has appeared. Unlike the above hard disk device, this semiconductor disk device does not have a mechanical part such as a motor. Therefore, the cost performance lags behind the magnetic storage medium, but it is widely used in portable information terminals by taking advantage of low power consumption and high reliability. It's getting on.

なお、フラッシュメモリの特徴は以下のとおりである。第1に、電気的にデータの書き込み、消去が可能な不揮発性メモリである。第2に、データが既に書き込まれているメモリセルにデータを上書きすることはできない(このため、常に消去動作がつきまとう)。第3に、データの消去単位は、数K〜数十KByte単位である。第4に、書き込み、消去回数に制限がある。   The features of the flash memory are as follows. The first is a nonvolatile memory capable of electrically writing and erasing data. Second, data cannot be overwritten on a memory cell in which data has already been written (thus, an erasing operation is always performed). Third, the data erasure unit is several K to several tens of KBytes. Fourth, there is a limit on the number of writing and erasing.

従来の半導体ディスク装置の構成について図14、図15、図16及び図17を参照しながら説明する。図14は、従来の半導体ディスク装置の全体構成を示すブロック図である。図15は、図14のアドレス変換テーブルの内部構成を示す図である。図16は、図14のフラッシュメモリの内部構成を示す図である。また、図17は、図16の消去ブロックの内部構成を示す図である。   The configuration of a conventional semiconductor disk device will be described with reference to FIGS. 14, 15, 16 and 17. FIG. FIG. 14 is a block diagram showing the overall configuration of a conventional semiconductor disk device. FIG. 15 is a diagram showing an internal configuration of the address conversion table of FIG. FIG. 16 is a diagram showing an internal configuration of the flash memory of FIG. FIG. 17 is a diagram showing an internal configuration of the erase block of FIG.

図14において、従来の半導体ディスク装置2は、インターフェース回路3と、CPU4と、アドレス変換テーブル5と、フラッシュ制御回路6と、データ入出力用セクタバッファ7と、フラッシュメモリ8とを備える。   As shown in FIG. 14, the conventional semiconductor disk device 2 includes an interface circuit 3, a CPU 4, an address conversion table 5, a flash control circuit 6, a data input / output sector buffer 7, and a flash memory 8.

半導体ディスク装置2と接続するホスト1の代表的な例は、ノートパソコンや携帯情報端末である。リムーバブルタイプの半導体ディスク装置2は、現在の所、カード型が主流である。インターフェース回路3は、ホスト1との情報をやりとりする。CPU4は、データの入出力及びフラッシュメモリ8への命令を出力する。   Typical examples of the host 1 connected to the semiconductor disk device 2 are a notebook personal computer and a portable information terminal. At present, the removable type semiconductor disk device 2 is mainly a card type. The interface circuit 3 exchanges information with the host 1. The CPU 4 outputs data and inputs / outputs instructions to the flash memory 8.

論理セクタ/物理セクタアドレス変換テーブル5は、論理セクタアドレスを物理セクタアドレスに変換するためのテーブルである。論理セクタアドレス(LSA:Logical Sector Address)とはホスト1が半導体ディスク装置2に指定するセクタアドレスのことである。また、物理セクタアドレス(PSA:Physical Sector Address)とは、半導体ディスク装置2内で使用されるフラッシュメモリ8のアドレスのことである。   The logical sector / physical sector address conversion table 5 is a table for converting a logical sector address into a physical sector address. A logical sector address (LSA) is a sector address designated by the host 1 to the semiconductor disk device 2. The physical sector address (PSA) is an address of the flash memory 8 used in the semiconductor disk device 2.

フラッシュ制御回路6は、複雑でないフラッシュメモリ8のデータ処理を行う。単純なデータの受け渡し等はフラッシュ制御回路6で行い、他の処理はCPU4で行う。データ入出力用セクタバッファ7は、データをフラッシュメモリ8からインターフェース回路3を通して出力、あるいはインターフェース回路3を通してフラッシュメモリ8にデータを入力する際に用いられる。   The flash control circuit 6 performs data processing of the flash memory 8 that is not complicated. Simple data transfer or the like is performed by the flash control circuit 6, and other processing is performed by the CPU 4. The data input / output sector buffer 7 is used when outputting data from the flash memory 8 through the interface circuit 3 or inputting data into the flash memory 8 through the interface circuit 3.

図15において、アドレス変換テーブル5は、論理セクタアドレス(LSA)格納部と物理セクタアドレス(PSA)格納部とから構成される。   In FIG. 15, the address conversion table 5 includes a logical sector address (LSA) storage unit and a physical sector address (PSA) storage unit.

LSA格納部には論理セクタアドレスが保存されている。内容は固定されている。なお、実際は、論理セクタアドレスがホスト1から送られてくると、論理セクタアドレスデータに基づき変換テーブル用の揮発性RAMのアドレスピンに電圧がかかりPSAデータがでてくる構造になっている。説明しやすくするために、PSA格納部との対応でLSA格納部があるとしている。PSA格納部には任意の(図では1〜n)フラッシュメモリ8のセクタ番号が保存される。このアドレス変換テーブル5を用いることで、ホスト1が指定する論理セクタアドレスに左右されることなく内部管理に都合のよい物理セクタアドレスにデータを保存することができる。このアドレス変換テーブル5は、頻繁に書き込み・消去されるのでSRAMやDRAMなどの揮発性のRAMで構成するのが一般的である。   A logical sector address is stored in the LSA storage unit. The content is fixed. Actually, when a logical sector address is sent from the host 1, a voltage is applied to the address pin of the volatile RAM for the conversion table based on the logical sector address data, and PSA data is output. For ease of explanation, it is assumed that there is an LSA storage unit corresponding to the PSA storage unit. An arbitrary sector number of the flash memory 8 (1 to n in the figure) is stored in the PSA storage unit. By using this address conversion table 5, data can be stored at a physical sector address convenient for internal management regardless of the logical sector address designated by the host 1. Since this address conversion table 5 is frequently written and erased, it is generally composed of a volatile RAM such as SRAM or DRAM.

このアドレス変換テーブル5の容量は、次のような条件のとき以下のようになる。20メガバイト(MByte)のフラッシュメモリ8を使用し、データの入出力単位(セクタ)を512バイト(Byte)とすると、半導体ディスク装置2内のセクタ数は次のようになる。
半導体ディスク装置2内のセクタ数=20メガバイト÷512バイト
=40960セクタ
The capacity of the address conversion table 5 is as follows under the following conditions. When the 20 megabyte (MByte) flash memory 8 is used and the data input / output unit (sector) is 512 bytes (Byte), the number of sectors in the semiconductor disk device 2 is as follows.
Number of sectors in the semiconductor disk device 2 = 20 megabytes / 512 bytes = 40960 sectors

次に、「40960」を2進数表現する際に必要なビット数は、
ln40960÷ln2=15.3となり、
16桁必要となる。
Next, the number of bits required to represent “40960” in binary is:
ln40960 ÷ ln2 = 15.3
16 digits are required.

これにより必要なアドレス変換テーブル5の容量は、
40960×16=655360ビットとなり、
最終的に、80キロバイト(KByte)必要となる。
As a result, the required capacity of the address translation table 5 is
40960 × 16 = 655360 bits,
Finally, 80 kilobytes (KByte) are required.

図16において、フラッシュメモリ8は、複数の消去ブロック9と、予備の複数の消去ブロック9とから構成される。   In FIG. 16, the flash memory 8 includes a plurality of erase blocks 9 and a plurality of spare erase blocks 9.

フラッシュメモリ8は電気的に書き込み消去可能な不揮発メモリである。不揮発であるためDRAM・SRAMのように電池によるバックアップの必要もなく、また電気的にデータの消去が可能なのでEPROMと違いボードから外すことなくデータを変更することができる。1セルで1ビットのデータを記憶することができるため、EERROMより安価にメモリを作製することができる。以上の点がフラッシュメモリ8の長所にあたる。短所としては、消去回数に1万回〜10万回程度の上限があること、書き込みの際には必ず消去動作が必要なこと(このためデータがすでに書き込まれているセルに上書きすることは不可能)、消去単位は数K〜数十KByteのブロック単位であること、等が上げられる。   The flash memory 8 is an electrically writable / erasable nonvolatile memory. Since it is non-volatile, there is no need for battery backup as in DRAM / SRAM, and data can be erased electrically, so that data can be changed without removing it from the board unlike EPROM. Since 1-bit data can be stored in one cell, a memory can be manufactured at a lower cost than EERROM. The above points are the advantages of the flash memory 8. Disadvantages are that the number of erasures has an upper limit of about 10,000 to 100,000 times, and that an erasing operation is always required at the time of writing (for this reason, it is not possible to overwrite a cell in which data has already been written). Possible), the erase unit is a block unit of several kilobytes to several tens of kilobytes.

図17において、1つの消去ブロック9は、先頭に消去ブロック情報格納領域10と、複数のデータ格納領域11と、データ格納領域11毎のLSA格納領域12とを有する。   In FIG. 17, one erase block 9 has an erase block information storage area 10, a plurality of data storage areas 11, and an LSA storage area 12 for each data storage area 11 at the head.

消去ブロック情報格納領域10に現在のブロック消去回数を格納しておく。データ格納領域11は、通常512バイト(=1セクタ)の大きさである。LSA格納領域12はセクタごとに存在し、データを書き込む際にホスト1が指定したLSAを格納しておく。これは、論理セクタ/物理セクタアドレス変換テーブル5を揮発性RAMで構成した際、電源オフと同時にデータが消えてしまうためである。電源をオンにしたときに全てのセクタのLSA格納領域12を検索し揮発性RAMテーブル5を再構築する際に用いられる。   The current block erase count is stored in the erase block information storage area 10. The data storage area 11 is usually 512 bytes (= 1 sector). The LSA storage area 12 exists for each sector, and stores the LSA designated by the host 1 when writing data. This is because when the logical sector / physical sector address conversion table 5 is composed of a volatile RAM, data is erased at the same time as the power is turned off. This is used when the LSA storage area 12 of all sectors is searched and the volatile RAM table 5 is reconstructed when the power is turned on.

つぎに、従来の半導体ディスク装置の動作について図18、図19及び図20を参照しながら説明する。図18は、従来の半導体ディスク装置の読み出し動作を説明するための図である。また、図19及び図20は、従来の半導体ディスク装置の書き込み動作を説明するための図である。   Next, the operation of the conventional semiconductor disk device will be described with reference to FIGS. FIG. 18 is a diagram for explaining a read operation of a conventional semiconductor disk device. 19 and 20 are diagrams for explaining a write operation of a conventional semiconductor disk device.

フラッシュメモリ8を用いた半導体ディスク装置2はハードディスク装置とは異なり、データを上書きすることができない。従って、ホスト1から送られてくるデータの論理セクタアドレスとそのデータをフラッシュメモリ8のどの物理セクタアドレスに書き込むかを示すアドレス変換テーブル5を揮発性RAM内に記憶させておくことが行われる。このアドレス変換テーブル5を用いることでLSAに左右されることなくフラッシュメモリ8の記憶領域を有効に使用することが可能となる。   Unlike the hard disk device, the semiconductor disk device 2 using the flash memory 8 cannot overwrite data. Therefore, the logical sector address of the data sent from the host 1 and the address conversion table 5 indicating to which physical sector address of the flash memory 8 the data is written are stored in the volatile RAM. By using this address conversion table 5, the storage area of the flash memory 8 can be used effectively without being influenced by the LSA.

まず、半導体ディスク装置2からのデータの読み出し動作を図18で説明する。ホスト1は読み出したいデータのセクタアドレスを半導体ディスク装置2に送る。ホスト1から送られてくるアドレスデータには2種類ある。LSA形式とCHS形式である。LSA形式が1〜nまでの通し番号でセクタを指定するのに対し、CHS形式はハードディスク装置で使用されるシリンダ・ヘッド・セクタという3つのデータの組み合わせでデータ領域を指定する。半導体ディスク装置2内ではLSA/PSAアドレス変換テーブル5を用いるため、ホスト1からCHS形式のデータが入力された場合は、例えばインターフェース回路内でLSAに変換し次の作業に移る。   First, a data read operation from the semiconductor disk device 2 will be described with reference to FIG. The host 1 sends the sector address of the data to be read to the semiconductor disk device 2. There are two types of address data sent from the host 1. LSA format and CHS format. In the LSA format, sectors are specified by serial numbers from 1 to n, whereas in the CHS format, a data area is specified by a combination of three data such as a cylinder, a head, and a sector used in a hard disk device. Since the LSA / PSA address conversion table 5 is used in the semiconductor disk device 2, when data in the CHS format is input from the host 1, it is converted to LSA in the interface circuit, for example, and the next operation is started.

CPU4は、アドレス変換テーブル5を用いてホスト1が指定したLSAをPSAにアドレス変換する。最後にPSAに対応したフラッシュメモリ8内からデータが読み出される。   The CPU 4 converts the LSA designated by the host 1 into a PSA using the address conversion table 5. Finally, data is read from the flash memory 8 corresponding to the PSA.

例えば、ホスト1が指定したLSAが「2」であった場合、アドレス変換テーブル5により「6」というPSAに変換される。これにより、図18に示すように、「A」というデータが読み出されることになる。LSA格納領域12にはLSAである「2」が格納されている。   For example, when the LSA designated by the host 1 is “2”, it is converted into a PSA “6” by the address conversion table 5. As a result, data “A” is read as shown in FIG. The LSA storage area 12 stores “2” which is LSA.

次に、半導体ディスク装置2へのデータの書き込み動作を図19及び図20で説明する。「A」、「B」、「C」というデータがPSAの「1」、「3」、「7」に格納されている状態を初期状態とする。データを書き込む際に注意しなければならないのはフラッシュメモリ8はデータの再書き込みができないという点である。上記初期状態の場合、PSA「1」、「3」、「7」の領域が該当する。   Next, the data writing operation to the semiconductor disk device 2 will be described with reference to FIGS. A state in which data “A”, “B”, and “C” are stored in “1”, “3”, and “7” of the PSA is an initial state. It should be noted when writing data that the flash memory 8 cannot rewrite data. In the case of the initial state, the areas of PSA “1”, “3”, and “7” are applicable.

データが書き込まれていないLSAをホスト1が指定してきた場合は、CPU4は、フラッシュメモリ8内の適当な空き領域(PSA「2」、「4」〜「6」、「8」〜「12」)にデータを書き込み、アドレス変換テーブル5内のデータを更新する。図19は、LSA「4」へ「D」というデータの書き込みをホストが指定した場合の例である。データ「D」とホスト1が指定したLSAを空き領域PSA「4」に書き込み、アドレス変換テーブル5のLSA「4」に対応したPSAの部分にPSAの値「4」を書き込む。   When the host 1 designates an LSA to which no data has been written, the CPU 4 determines that an appropriate free area (PSA “2”, “4” to “6”, “8” to “12”) in the flash memory 8. ) To update the data in the address conversion table 5. FIG. 19 shows an example in which the host designates writing of data “D” to LSA “4”. The data “D” and the LSA designated by the host 1 are written in the free area PSA “4”, and the PSA value “4” is written in the PSA portion corresponding to the LSA “4” in the address conversion table 5.

ホスト1から、既にデータが書き込まれている領域への再書き込みが要求された場合(例えば、同名ファイルの上書き保存)であっても、再書き込みデータをフラッシュメモリ8の空き領域に書き込み、アドレス変換テーブル5を更新する。図20は、LSA「2」のデータを再書き込みした際の結果である。更新データ「B’」を空き領域PSA「5」に書き込み、アドレス変換テーブル5のLSA「2」に対応するPSAを「5」と更新する。なお、PSA「3」が使用済みデータであることは、カード内のCPU4は認識しておかなければならない。   Even when the host 1 requests rewriting to an area where data has already been written (for example, overwriting and saving a file with the same name), the rewritten data is written to an empty area of the flash memory 8 to convert the address. Update table 5. FIG. 20 shows a result when the data of LSA “2” is rewritten. The update data “B ′” is written into the empty area PSA “5”, and the PSA corresponding to the LSA “2” in the address conversion table 5 is updated to “5”. Note that the CPU 4 in the card must recognize that the PSA “3” is used data.

特開平5−27924号公報JP-A-5-27924

上述したような従来の半導体ディスク装置では、アドレス変換テーブル5がセクタ(データ管理の最小単位)ごとに1つのPSAを格納するメモリ領域が必要となるため、フラッシュメモリ8が大容量になるにつれアドレス変換テーブル5も大容量となるという問題点があった。   In the conventional semiconductor disk device as described above, since the address conversion table 5 requires a memory area for storing one PSA for each sector (minimum unit of data management), the address becomes larger as the flash memory 8 becomes larger in capacity. There is a problem that the conversion table 5 also has a large capacity.

この発明は、前述した問題点を解決するためになされたもので、従来装置のパフォーマンス、つまり読み出し速度と略同程度の読み出し速度を維持し、かつメモリ管理用のアドレス変換テーブルの容量を小さくできる半導体ディスク装置を得ることを目的とする。   The present invention has been made to solve the above-described problems, and can maintain the performance of the conventional apparatus, that is, the reading speed substantially equal to the reading speed, and can reduce the capacity of the address conversion table for memory management. An object is to obtain a semiconductor disk device.

この発明に係る半導体ディスク装置は、論理セクタアドレスに対応する複数のセクタを含むブロックを複数有するフラッシュメモリと、外部から入力される論理セクタアドレスをブロック番号へ変換するためのアドレス変換テーブルと、前記外部から入力される論理セクタアドレスを前記アドレス変換テーブルに基づきブロック番号に変換し、変換したブロック番号に対応するブロックの論理セクタアドレスと、前記外部から入力される論理セクタアドレスとを比較することにより、前記外部から入力される論理セクタアドレスに対応するデータの格納領域を選択し、前記外部から入力される論理セクタアドレスに対応するデータにアクセスする制御手段とを設けたものである。
Semiconductor disk device according to the present invention includes a flash memory having a plurality of blocks includes multiple sectors corresponding to logical sector address, and the address conversion table for converting the logical sector address inputted from the outside to the block number, the By converting the logical sector address input from the outside into a block number based on the address conversion table, and comparing the logical sector address of the block corresponding to the converted block number with the logical sector address input from the outside And a control means for selecting a data storage area corresponding to the logical sector address inputted from the outside and accessing the data corresponding to the logical sector address inputted from the outside .

この発明に係る半導体ディスク装置は、データ管理用のアドレス変換テーブルを小さくできるという効果を奏する。   The semiconductor disk device according to the present invention has an effect that the address conversion table for data management can be reduced.

実施の形態1.
以下、この発明の実施の形態1の構成について図1、図2、図3及び図4を参照しながら説明する。図1は、この発明の実施の形態1の全体構成を示すブロック図である。図2は、図1のアドレス変換テーブルの内部構成を示す図である。図3は、図1のフラッシュメモリの内部構成を示す図である。図4は、図3の消去ブロックの内部構成を示す図である。なお、各図中、同一符号は同一又は相当部分を示す。
Embodiment 1 FIG.
Hereinafter, the configuration of the first embodiment of the present invention will be described with reference to FIG. 1, FIG. 2, FIG. 3, and FIG. FIG. 1 is a block diagram showing the overall configuration of Embodiment 1 of the present invention. FIG. 2 is a diagram showing an internal configuration of the address conversion table of FIG. FIG. 3 is a diagram showing an internal configuration of the flash memory of FIG. FIG. 4 is a diagram showing an internal configuration of the erase block of FIG. In addition, in each figure, the same code | symbol shows the same or equivalent part.

図1において、この実施の形態1に係る半導体ディスク装置2Aは、インターフェース回路3と、CPU4と、アドレス変換テーブル5Aと、フラッシュ制御回路6Aと、データ入出力用セクタバッファ7と、フラッシュメモリ8Aとを備える。   1, the semiconductor disk device 2A according to the first embodiment includes an interface circuit 3, a CPU 4, an address conversion table 5A, a flash control circuit 6A, a data input / output sector buffer 7, and a flash memory 8A. Is provided.

従来の半導体ディスク装置2との違いは、アドレス変換テーブル5Aの容量が小さい点であり、その分、フラッシュメモリ8Aを大きくできる。また、フラッシュ制御回路6Aは、従来のフラッシュ制御回路6の機能に加えて、ハード的な論理セクタアドレス比較回路61を含む。さらに、CPU4は、読み出し用と書き込み用のアドレスポインタを用いてフラッシュメモリ8A上のデータ管理を行う。すなわち、半導体ディスク装置2Aは、上記論理セクタアドレス比較回路61と、アドレスポインタとを使用することで、従来と略同程度のパフォーマンスを維持しながら、アドレス変換テーブル5Aの容量を小さくできる。なお、この発明に係る制御手段は、この実施の形態1では読み出し用と書き込み用のアドレスポインタを用いるCPU4と、論理セクタアドレス比較回路61を含むフラッシュ制御回路6Aと、データ入出力用セクタバッファ7とから構成される。   The difference from the conventional semiconductor disk device 2 is that the capacity of the address conversion table 5A is small, and the flash memory 8A can be enlarged accordingly. The flash control circuit 6A includes a hardware logical sector address comparison circuit 61 in addition to the functions of the conventional flash control circuit 6. Further, the CPU 4 performs data management on the flash memory 8A using the read and write address pointers. That is, by using the logical sector address comparison circuit 61 and the address pointer, the semiconductor disk device 2A can reduce the capacity of the address conversion table 5A while maintaining substantially the same performance as the conventional one. In the first embodiment, the control means according to the present invention includes a CPU 4 using read and write address pointers, a flash control circuit 6A including a logical sector address comparison circuit 61, and a data input / output sector buffer 7. It consists of.

アドレス変換テーブル5Aは、論理セクタアドレスを物理消去ブロック番号に変換するためのテーブルである。物理消去ブロック番号(PBN:Physical Block Number)とは、半導体ディスク装置2A内で使用されるフラッシュメモリ8Aのブロックアドレスのことである。   The address conversion table 5A is a table for converting a logical sector address into a physical erase block number. The physical erase block number (PBN: Physical Block Number) is a block address of the flash memory 8A used in the semiconductor disk device 2A.

図2において、アドレス変換テーブル5Aは、論理セクタアドレス(LSA)格納部と物理消去ブロック番号(PBN)格納部とから構成される。   In FIG. 2, the address conversion table 5A includes a logical sector address (LSA) storage unit and a physical erase block number (PBN) storage unit.

LSA格納部には論理セクタアドレスが保存されている。内容は固定されている。なお、実際は、論理セクタアドレスがホスト1から送られてくると、論理セクタアドレスデータに基づき変換テーブル用の揮発性RAMのアドレスピンに電圧がかかりPBNデータがでてくる構造になっている。説明をしやすくするために、PBN格納部との対応でLSA格納部があるとしている。PBN格納部には任意のフラッシュメモリ8Aの物理消去ブロック番号が保存される。このアドレス変換テーブル5Aを用いることで、ホスト1が指定する論理セクタアドレスに左右されることなく内部管理に都合のよい物理消去ブロックにデータを保存することができる。このアドレス変換テーブル5Aは、頻繁に書き込み・消去されるのでSRAMやDRAMなどの揮発性のRAMで構成するのが一般的である。   A logical sector address is stored in the LSA storage unit. The content is fixed. Actually, when a logical sector address is sent from the host 1, a voltage is applied to the address pin of the volatile RAM for the conversion table based on the logical sector address data, and PBN data is generated. For ease of explanation, it is assumed that there is an LSA storage unit corresponding to the PBN storage unit. A physical erase block number of an arbitrary flash memory 8A is stored in the PBN storage unit. By using this address conversion table 5A, data can be stored in a physical erasure block convenient for internal management regardless of the logical sector address designated by the host 1. Since this address conversion table 5A is frequently written and erased, it is generally composed of a volatile RAM such as SRAM or DRAM.

ただ、このアドレス変換テーブル5Aでは、従来と違いLSAのデータからPBNしか解らない。例えば、消去ブロックのサイズが64キロバイトのフラッシュメモリを用いた場合、内部にはおよそ100前後のセクタ(=512バイト)が存在する(消去ブロック情報格納領域10、LSA格納領域12等がなければ最大128セクタが存在する)。このため目的のデータを検索するための工夫が必要となる。これについては後述する。   However, in this address conversion table 5A, unlike the prior art, only PBN can be obtained from LSA data. For example, when a flash memory having an erase block size of 64 kilobytes is used, there are about 100 sectors (= 512 bytes) inside (maximum if there is no erase block information storage area 10, LSA storage area 12, etc. There are 128 sectors). For this reason, a device for searching for target data is required. This will be described later.

このアドレス変換テーブル5Aの容量は、以下のようになる。20メガバイトのフラッシュメモリ8Aを使用し、1セクタを512バイトとすると、半導体ディスク装置2A内のセクタ数は従来と同様に40960となる。しかしながら、アドレス変換テーブル5AのPBN格納部にはブロック番号を記憶させるので、半導体ディスク装置2A内のブロック数は、1ブロック(消去ブロック)を64キロバイトとすると以下のようになる。
半導体ディスク装置2A内のブロック数=20メガバイト÷64キロバイト=320ブロック
The capacity of this address conversion table 5A is as follows. If a 20-megabyte flash memory 8A is used and one sector is 512 bytes, the number of sectors in the semiconductor disk device 2A is 40960 as in the prior art. However, since the block number is stored in the PBN storage section of the address conversion table 5A, the number of blocks in the semiconductor disk device 2A is as follows when one block (erase block) is 64 kilobytes.
Number of blocks in the semiconductor disk device 2A = 20 megabytes / 64 kilobytes = 320 blocks

次に、「320」を2進数表現する際に必要なビット数は、ln320÷ln2=8.3となり、9桁必要となる。これにより必要なアドレス変換テーブル5Aの容量は、40960×9=368640ビットとなり、最終的に、45キロバイト必要となる。これは、従来の約1/2である。   Next, the number of bits required to represent “320” in binary is ln320 ÷ ln2 = 8.3, which requires nine digits. As a result, the required capacity of the address conversion table 5A is 40960 × 9 = 368640 bits, and finally 45 kilobytes are required. This is about 1/2 of the conventional one.

図3において、フラッシュメモリ8Aは、複数の消去ブロック9Aと、予備の複数の消去ブロック9Aとから構成される。なお、データ(メモリ)管理の対象ブロックのサイズが消去単位と同じであるので、消去ブロックと称する。メインメモリに使用するフラッシュメモリ8Aは、従来と同様ブロック消去型(消去ブロック単位は数K〜数十Kバイト)のフラッシュメモリを用いる。   In FIG. 3, the flash memory 8A includes a plurality of erase blocks 9A and a plurality of spare erase blocks 9A. Since the size of the target block for data (memory) management is the same as the erase unit, it is called an erase block. As the flash memory 8A used for the main memory, a block erase type flash memory (erased block unit of several K to several tens of K bytes) is used as in the prior art.

図4において、1つの消去ブロック9Aは、先頭に消去ブロック情報格納領域10と、複数のデータ格納領域11と、データ格納領域11毎のLSA(論理セクタアドレス)格納領域12と、データ格納領域11毎の有効データ確認フラグ13とを有する。有効データ確認フラグ13以外は、従来と同様である。この有効データ確認フラグ13は、CPU4が有効データか、いつでも消去可能な無効データかを区別するためのものである。有効データは「FF」(11111111)、無効データは「00」(00000000)で表す。なお、逆の表現でもよい。CPU4は、データの上書きや消去を行った場合、必要なくなったデータ格納領域11に対応する有効データ確認フラグ13を「FF」から「00」へ書き換える。   In FIG. 4, one erase block 9A has an erase block information storage area 10, a plurality of data storage areas 11, an LSA (logical sector address) storage area 12 for each data storage area 11, and a data storage area 11 at the head. And a valid data confirmation flag 13 for each. Except for the valid data confirmation flag 13, it is the same as the conventional one. The valid data confirmation flag 13 is used to distinguish whether the CPU 4 is valid data or invalid data that can be deleted at any time. Valid data is represented by “FF” (11111111), and invalid data is represented by “00” (00000000). The reverse expression may be used. When the data is overwritten or erased, the CPU 4 rewrites the valid data confirmation flag 13 corresponding to the data storage area 11 that is no longer necessary from “FF” to “00”.

つぎに、この実施の形態1の動作について図5から図13までを参照しながら説明する。図5〜図8は、この実施の形態1の書き込み動作を説明するための図である。図9及び図10は、この実施の形態1の読み出し動作を説明するための図である。図11及び図12は、この実施の形態1の読み出し動作を示すフローチャートである。図13は、この実施の形態1の書き込み動作を示すフローチャートである。   Next, the operation of the first embodiment will be described with reference to FIGS. 5 to 8 are diagrams for explaining the write operation according to the first embodiment. 9 and 10 are diagrams for explaining the read operation of the first embodiment. 11 and 12 are flowcharts showing the read operation of the first embodiment. FIG. 13 is a flowchart showing the write operation of the first embodiment.

まず、半導体ディスク装置2Aへのデータ書き込み動作を図5〜図8で説明する。従来との違いは、1つの消去ブロック内のセクタ(データ格納領域11)が全て書き込み済みになるまで他の消去ブロックにはデータを書き込まないことである。また、データは、消去ブロックの上から下に連続して書き込む(ランダムに書き込まない)。これは、「書き込み用アドレスポインタ」を用い、書き込みの度に1つづつ更新(インクリメント)していく。ここで、「アドレスポインタ」とは、任意の物理セクタアドレス(PSA)を記憶しておくためのものである。この実施の形態1では、データの読み出し時と、書き込み時にそれぞれ1つの「読み出し用アドレスポインタ」、「書き込み用アドレスポインタ」を使用する。   First, a data write operation to the semiconductor disk device 2A will be described with reference to FIGS. The difference from the prior art is that data is not written to other erase blocks until all sectors (data storage area 11) in one erase block have been written. Data is written continuously from the top to the bottom of the erase block (not randomly written). This uses the “write address pointer” and updates (increments) one by one for each write. Here, the “address pointer” is for storing an arbitrary physical sector address (PSA). In the first embodiment, one “read address pointer” and “write address pointer” are used when reading and writing data, respectively.

半導体ディスク装置2A内のフラッシュメモリ8A内にデータが全く無い状態から動作の説明を進める。このとき、書き込み用アドレスポインタは「1」を指し示している。データ書き込みの際には、まずホスト1から書き込むべきデータと書き込みアドレスが送られてくる。アドレスは、CHS形式の場合が考えられるので従来と同様に全てLSA形式に変換する。アドレス形式情報もホスト1から送られてくるため半導体ディスク装置2A側で容易にCHS形式かLSA形式かを区別することができる。   The description of the operation proceeds from a state in which there is no data in the flash memory 8A in the semiconductor disk device 2A. At this time, the write address pointer points to “1”. When writing data, first, data to be written and a write address are sent from the host 1. Since the address may be in the CHS format, all addresses are converted to the LSA format as in the conventional case. Since the address format information is also sent from the host 1, the semiconductor disk device 2A can easily distinguish between the CHS format and the LSA format.

LSAがランダムに送られてきても、図5に示すように、書き込みはPBN「1」から行う。例えば、ホスト1からLSA「3」にデータ「A」の書き込み要求があった場合、CPU4は書き込み用アドレスポインタに従い、PBN「1」の先頭のデータ格納領域11にデータ「A」を書き込み、対応する論理セクタアドレス格納領域12にLSA「3」を書き込む。そして、書き込みアドレスポインタを更新する。つまり、書き込みアドレスポインタを「2」とする。さらに、アドレス変換テーブル5AのLSA「3」に対応するPBN格納部に「1」を書き込む。なお、図5〜図9において、フラッシュメモリ8Aの消去ブロック9Aは、説明しやすいようにデータ格納領域11を3つとしている。   Even if the LSA is sent at random, as shown in FIG. 5, the writing is performed from PBN “1”. For example, when there is a write request for the data “A” from the host 1 to the LSA “3”, the CPU 4 writes the data “A” in the first data storage area 11 of the PBN “1” according to the write address pointer. LSA “3” is written in the logical sector address storage area 12 to be executed. Then, the write address pointer is updated. That is, the write address pointer is set to “2”. Further, “1” is written in the PBN storage unit corresponding to LSA “3” in the address conversion table 5A. 5 to 9, the erase block 9A of the flash memory 8A has three data storage areas 11 for easy explanation.

図6は、クリーンな消去ブロックがあと1ブロックになった状態である。このとき、書き込み用アドレスポインタは、「1」→「2」→「3」→「…」→「8」→「9」と更新されて、PBN「4」の先頭のデータ格納領域11である「10」を指し示している。ここで、これ以上書き込むと、クリーンな消去ブロックを確保することができないためフラッシュメモリ8Aの消去ブロックのクリーニングを行う。   FIG. 6 shows a state in which a clean erase block has become one block. At this time, the write address pointer is updated as “1” → “2” → “3” → “...” → “8” → “9”, and is the top data storage area 11 of PBN “4”. “10” is indicated. Here, if more data is written, a clean erase block cannot be secured, so the erase block of the flash memory 8A is cleaned.

CPU4は、全ての消去ブロック内の状態を確認し消去に最適なブロックを決定する。最適なブロックとは、有効データ確認フラグ13に基づく、有効なデータがあまり存在しない消去ブロックや、消去ブロック情報格納領域10の内容に基づく、消去回数が少ない消去ブロックなどである。図6では、各消去ブロックの消去回数は「0」で同じであり、PBN「1」が有効なデータが少ないため、つまりPBN「1」のデータ「A’」はデータ「A」の上書きを意味しているため、このブロックを消去し、クリーンなセクタを確保することにする。   The CPU 4 confirms the state in all the erase blocks and determines the optimum block for erasure. The optimum block is an erase block based on the valid data confirmation flag 13 where there is not much valid data, an erase block based on the contents of the erase block information storage area 10 and having a small number of erases. In FIG. 6, the erase count of each erase block is “0”, which is the same, and PBN “1” has less valid data, that is, data “A ′” of PBN “1” is overwritten with data “A”. This means that this block is erased and a clean sector is secured.

まず、図7に示すように、有効なデータをクリーンなPBN「4」に退避し、次にアドレス変換テーブル5Aを更新する。その後、図8に示すように、PBN「1」をブロック消去し、ブロック消去回数を「1」だけ増やす。この作業により、クリーンなブロック1つと、クリーンなセクタ1つが確保されたことになる。このとき、書き込み用アドレスポインタは「12」を指し示している。   First, as shown in FIG. 7, valid data is saved in clean PBN “4”, and then the address conversion table 5A is updated. After that, as shown in FIG. 8, PBN “1” is erased as a block, and the number of block erases is increased by “1”. By this work, one clean block and one clean sector are secured. At this time, the write address pointer points to “12”.

次に、半導体ディスク装置2Aからのデータ読み出し動作を図9及び図10で説明する。まず、ホスト1から送られてきたアドレスをLSA形式に統一する。次に、アドレス変換テーブル5Aを用いてLSAからPBNを割り出す。   Next, a data read operation from the semiconductor disk device 2A will be described with reference to FIGS. First, the address sent from the host 1 is unified into the LSA format. Next, the PBN is determined from the LSA using the address conversion table 5A.

次に、得られたPBN内の論理セクタアドレス格納領域12に格納されたLSAを下から順に確認していく。この際、図10に示すように、フラッシュ制御回路6A内の論理セクタアドレス比較回路61で、ホスト1から送られてきたLSAと、該当PBN内の論理セクタアドレス格納領域12に格納されたLSAとを比較する。一致したときのデータ格納領域11(セクタ)の内容が読み出すべきデータである。このとき、読み出し用アドレスポインタに一致したときのPSAにプラス1した値をセットする。読み出しデータが複数のセクタの場合、次の読み出し時は読み出し用アドレスポインタが指し示すセクタアドレスからデータを読み出す。   Next, the LSAs stored in the logical sector address storage area 12 in the obtained PBN are confirmed in order from the bottom. At this time, as shown in FIG. 10, in the logical sector address comparison circuit 61 in the flash control circuit 6A, the LSA sent from the host 1 and the LSA stored in the logical sector address storage area 12 in the corresponding PBN Compare The contents of the data storage area 11 (sector) when they match are data to be read. At this time, a value plus 1 is set to the PSA when it matches the read address pointer. When the read data is a plurality of sectors, the data is read from the sector address indicated by the read address pointer at the next read time.

例えば、ホスト1からLSAが「2」というデータが送られてきた場合、図9に示すように、アドレス変換テーブル5Aにより、PBN「3」を得る。次に、PBN「3」の消去ブロック内の論理セクタアドレスを下から順に確認する。一番下のLSAは「6」であるから該当せず。次に、次のLSAが「2」であるから一致する。従って、読み出すべきデータは「H」ということになる。このとき、読み出し用アドレスポインタは「9」である。   For example, when data with LSA “2” is sent from the host 1, as shown in FIG. 9, PBN “3” is obtained from the address conversion table 5A. Next, the logical sector addresses in the erase block of PBN “3” are confirmed in order from the bottom. Not applicable because the bottom LSA is “6”. Next, since the next LSA is “2”, there is a match. Therefore, the data to be read is “H”. At this time, the read address pointer is “9”.

従来と違い、消去ブロックが大きくなると検索に要する時間がかかることになる。しかし、一般にデータは512バイト(1セクタ)以上のサイズのものが多いため、初めてのデータ検索には、1つの消去ブロック内に約100セクタのデータエリアがあるため、最高100ステップ程度の検索を必要とするが、2回目以降は前回読み出したセクタの次のセクタにデータがある可能性が極めて高いため、前回読み出したセクタの次のセクタのアドレスを読み出し用アドレスポインタに記憶しておくことで検索回数を大幅に減少させることができる。   Unlike the prior art, if the erase block becomes large, it takes time to search. However, in general, since the data has a size of 512 bytes (1 sector) or more, the first data search has a data area of about 100 sectors in one erase block. Although it is necessary, it is very likely that there is data in the sector next to the sector read last time after the second time, so by storing the address of the sector next to the sector read last time in the read address pointer The number of searches can be greatly reduced.

つづいて、半導体ディスク装置2Aからのデータ読み出し動作を図11及び図12のフローチャートで説明する。1〜数十のセクタからなるファイル(データ)を扱う場合、ファイルの先頭のセクタを読み出す際は読み出し用アドレスポインタが決定していないので、図11の検索処理を行う。また、上記ファイルの次のセクタのデータを読み出すときには読み出し用アドレスポインタが設定されているので、図12の処理を行う。図11の検索処理との違いは、図12の処理はホスト1から読み出すべきデータのアドレス(LSA)を受け取るが、ホスト1からのLSAを使用することなくデータを読み出すことである。図11の検索処理は、ファイルの先頭セクタのデータを読み出す場合の他に、読み出し用アドレスポインタが消去ブロック内の最終セクタアドレスまできた場合にも行う。これは、次に読み出すセクタが存在する消去ブロックが解らなくなるためである。CPU4は、ファイル名等に基づきファイルの先頭とそれ以外を認識し、また、ブロックサイズ等に基づき最終セクタアドレスを認識する。   Next, the data read operation from the semiconductor disk device 2A will be described with reference to the flowcharts of FIGS. When a file (data) consisting of one to several tens of sectors is handled, since the read address pointer is not determined when reading the first sector of the file, the search process of FIG. 11 is performed. Since the read address pointer is set when reading the data of the next sector of the file, the processing of FIG. 12 is performed. The difference from the search process of FIG. 11 is that the process of FIG. 12 receives the address (LSA) of the data to be read from the host 1, but reads the data without using the LSA from the host 1. The search process of FIG. 11 is performed not only when the data of the first sector of the file is read but also when the read address pointer reaches the last sector address in the erase block. This is because an erase block having a sector to be read next cannot be understood. The CPU 4 recognizes the beginning and other parts of the file based on the file name and the like, and recognizes the final sector address based on the block size and the like.

初めに、ホスト1から読み出すべきデータのセクタ情報を受け取る(ステップ20)。これはLSAの形式かもしくはCHS形式で送られてくる。LSA形式に統一するためにCHSデータ形式で送られてきた場合はLSA形式に変換する(ステップ21〜22)。この変換は、半導体ディスク装置2A内のCPU4を用いてもかまわないし、専用の回路を半導体ディスク装置内部に持たせてもかまわない。   First, sector information of data to be read is received from the host 1 (step 20). This is sent in LSA format or CHS format. If it is sent in the CHS data format to unify it into the LSA format, it is converted to the LSA format (steps 21 to 22). For this conversion, the CPU 4 in the semiconductor disk device 2A may be used, or a dedicated circuit may be provided inside the semiconductor disk device.

次に、LSAをPBNに変換する(ステップ23)。これは、アドレス変換テーブル5Aを用いる。次に、決定したPBN内の論理セクタアドレス格納領域12内に格納されたLSAを読み出す。この読み出したLSAと、ホスト1からのLSAとを論理セクタアドレス比較回路61で比較し、不一致ならば次の論理セクタアドレス格納領域12内に格納されたLSAを読み出し、上記PBN内を下から検索し、同様の比較を一致するまで行う。なお、検索の方向は、場合によっては上から行ってもよい(ステップ24〜26)。   Next, LSA is converted into PBN (step 23). This uses the address conversion table 5A. Next, the LSA stored in the logical sector address storage area 12 in the determined PBN is read. The read LSA and the LSA from the host 1 are compared by the logical sector address comparison circuit 61. If they do not match, the LSA stored in the next logical sector address storage area 12 is read and the above PBN is searched from below. The same comparison is performed until they match. Note that the search direction may be performed from the top in some cases (steps 24-26).

LSA同士が一致したら、対応するデータ格納領域11からデータを読み出す(ステップ27)。そして、読み出し用アドレスポインタに、上記のデータを読み出した次のセクタアドレスをセットする(ステップ28)。   If the LSAs match, the data is read from the corresponding data storage area 11 (step 27). Then, the next sector address from which the above data has been read is set in the read address pointer (step 28).

つづいて、次のセクタアドレスのデータを読み出す場合は以下のとおりである。ステップ40〜42は、上記ステップ20〜22と同様である。これは、インターフェースの互換性を保つために、ホスト1からのLSAを受け取り、処理した形にしなければならないからである。   Next, when reading the data of the next sector address, it is as follows. Steps 40 to 42 are the same as steps 20 to 22 described above. This is because the LSA from the host 1 must be received and processed in order to maintain interface compatibility.

次に、読み出し用アドレスポインタが指し示すセクタアドレスからデータを読み出す(ステップ43)。そして、読み出し用アドレスポインタに「1」を加算して更新する。ある1つのファイルを読み出す場合、従来の半導体ディスク装置ではファイルを構成しているセクタ数だけアドレス変換テーブル5を参照する。しかし、この実施の形態1では、初回の消去ブロック内のデータ検索に時間をとるものの、それ以降のセクタに関しては読み出し用アドレスポインタに従ってデータを読み出すため、2つ目以降のセクタに関しては上記従来装置よりも高速に処理できる。   Next, data is read from the sector address indicated by the read address pointer (step 43). Then, "1" is added to the read address pointer and updated. When reading a single file, the conventional semiconductor disk device refers to the address conversion table 5 by the number of sectors constituting the file. However, in the first embodiment, although it takes time to search for data in the first erase block, since the data is read according to the read address pointer for the subsequent sectors, the conventional apparatus is used for the second and subsequent sectors. It can process faster than.

また、読み出し速度を犠牲にし、データ読み出しの信頼度を上げる場合には、ステップ43の次で、ホスト1から受け取ったLSAと、読み出し用アドレスポインタが指し示すセクタのLSA格納領域12内のLSAとを比較して確認する。なお、ここで不一致のときはステップ23以降の検索処理を行う。   Further, when the read speed is sacrificed and the reliability of data read is increased, the LSA received from the host 1 and the LSA in the LSA storage area 12 of the sector indicated by the read address pointer are obtained after step 43. Compare and confirm. If there is a mismatch, the search processing from step 23 onward is performed.

つづいて、半導体ディスク装置2Aへのデータ書き込み動作を図13のフローチャートで説明する。図13のステップ30〜32は、図11のステップ20〜22と同様であるので説明を省略する。まず、書き込み用アドレスポインタの指示に基づき空きセクタを確認する(ステップ33)。   Subsequently, a data write operation to the semiconductor disk device 2A will be described with reference to a flowchart of FIG. Steps 30 to 32 in FIG. 13 are the same as steps 20 to 22 in FIG. First, an empty sector is confirmed based on the instruction of the write address pointer (step 33).

空きセクタがある場合は、そこにデータを書き込むとともに、アドレス変換テーブル5Aを更新する(ステップ34〜35)。つまり、データを書き込んだPBNを該当するLSAのPBN格納部に保存する。   If there is an empty sector, data is written there and the address conversion table 5A is updated (steps 34 to 35). That is, the PBN in which the data is written is stored in the PBN storage unit of the corresponding LSA.

ステップ34において、書き込み用アドレスポインタに基づき空きセクタがない場合には以下のように処理する(ステップ36〜38)。まず、消去回数や無効データ数等に基づき消去するブロックを決定する。次に、有効データを空きブロックにコピーする。その後、決定したブロックを消去し、消去したブロックの消去回数を更新する。そして、ステップ35に進む。   In step 34, if there is no empty sector based on the write address pointer, the following processing is performed (steps 36 to 38). First, a block to be erased is determined based on the number of erases, the number of invalid data, and the like. Next, valid data is copied to an empty block. Thereafter, the determined block is erased, and the erase count of the erased block is updated. Then, the process proceeds to step 35.

データ更新の場合は、旧データの有効データ確認フラグ13を「FF」から「00」へ更新する。また、書き込み用アドレスポインタを更新する(ステップ39)。この実施の形態1では連続してデータを書き込むため、書き込み用アドレスポインタはデータ書き込み終了後、次のセクタアドレスを指し示すことになる。なお、1つの消去ブロック内のセクタ全てがデータで埋まったときは、次に書き込むべき消去ブロックをCPU4が決定し指し示すセクタアドレスを決める。例えば、複数の空きの(クリーンな)消去ブロックが存在する場合、CPU4は、消去回数等に基づき次に書き込むべき空きの消去ブロックを決定する。   In the case of data update, the valid data confirmation flag 13 of the old data is updated from “FF” to “00”. Further, the write address pointer is updated (step 39). In the first embodiment, since data is continuously written, the write address pointer indicates the next sector address after the data writing is completed. When all the sectors in one erase block are filled with data, the CPU 4 determines an erase block to be written next, and determines a sector address indicating it. For example, when there are a plurality of empty (clean) erase blocks, the CPU 4 determines an empty erase block to be written next based on the number of times of erasure.

この実施の形態1は、従来の半導体ディスクカード(装置)の読み出し速度等のパフオーマンスを落とすことなく、読み出し用及び書き込み用アドレスポインタと論理セクタアドレス比較回路61を使用することにより、アドレス変換テーブル5Aの容量を小さくすることができる。アドレス変換テーブル5Aの容量を小さくすることで、無理なく半導体ディスクカードの大容量化を進めることができる。従来のアドレス変換テーブル5を用いると20MBの半導体ディスクで80KBのサイズが、40MBの半導体ディスクで160KB(1.25Mbit)のサイズが必要となる。これがおよそ1/2のサイズに小さくなれば揮発性RAMにかかっていたコストを削減することができ、またアドレス変換テーブル用揮発性RAMメモリが搭載されていたスペースにフラッシュメモリを増設して搭載できるため半導体ディスク装置の容量を増大させることができる。   In the first embodiment, the address conversion table 5A is obtained by using the read and write address pointers and the logical sector address comparison circuit 61 without reducing the performance such as the read speed of the conventional semiconductor disk card (device). The capacity of can be reduced. By reducing the capacity of the address conversion table 5A, the capacity of the semiconductor disk card can be increased without difficulty. When the conventional address conversion table 5 is used, a size of 80 KB is required for a 20 MB semiconductor disk, and a size of 160 KB (1.25 Mbit) is required for a 40 MB semiconductor disk. If this is reduced to about half the size, the cost of the volatile RAM can be reduced, and the flash memory can be additionally installed in the space where the volatile RAM memory for the address conversion table is installed. Therefore, the capacity of the semiconductor disk device can be increased.

この発明の実施の形態1の全体構成を示すブロック図である。It is a block diagram which shows the whole structure of Embodiment 1 of this invention. この発明の実施の形態1のアドレス変換テーブルの構成を示す図である。It is a figure which shows the structure of the address conversion table of Embodiment 1 of this invention. この発明の実施の形態1のフラッシュメモリの構成を示す図である。It is a figure which shows the structure of the flash memory of Embodiment 1 of this invention. この発明の実施の形態1の消去ブロックの内部構成を示す図である。It is a figure which shows the internal structure of the erase block of Embodiment 1 of this invention. この発明の実施の形態1のデータ書き込み動作を説明するための図である。It is a figure for demonstrating the data write-in operation | movement of Embodiment 1 of this invention. この発明の実施の形態1のデータ書き込み動作を説明するための図である。It is a figure for demonstrating the data write-in operation | movement of Embodiment 1 of this invention. この発明の実施の形態1のデータ書き込み動作を説明するための図である。It is a figure for demonstrating the data write-in operation | movement of Embodiment 1 of this invention. この発明の実施の形態1のデータ書き込み動作を説明するための図である。It is a figure for demonstrating the data write-in operation | movement of Embodiment 1 of this invention. この発明の実施の形態1のデータ読み出し動作を説明するための図である。It is a figure for demonstrating the data read-out operation | movement of Embodiment 1 of this invention. この発明の実施の形態1のデータ読み出し動作を説明するための図である。It is a figure for demonstrating the data read-out operation | movement of Embodiment 1 of this invention. この発明の実施の形態1のデータ読み出し動作を示すフローチャートである。It is a flowchart which shows the data read-out operation | movement of Embodiment 1 of this invention. この発明の実施の形態1のデータ読み出し動作を示すフローチャートである。It is a flowchart which shows the data read-out operation | movement of Embodiment 1 of this invention. この発明の実施の形態1のデータ書き込み動作を示すフローチャートである。It is a flowchart which shows the data write-in operation | movement of Embodiment 1 of this invention. 従来の半導体ディスク装置の全体構成を示すブロック図である。It is a block diagram which shows the whole structure of the conventional semiconductor disk device. 従来の半導体ディスク装置のアドレス変換テーブルの構成を示す図である。It is a figure which shows the structure of the address conversion table of the conventional semiconductor disc device. 従来の半導体ディスク装置のフラッシュメモリの構成を示す図である。It is a figure which shows the structure of the flash memory of the conventional semiconductor disk device. 従来の半導体ディスク装置のフラッシュメモリ内の消去ブロックの構成を示す図である。It is a figure which shows the structure of the erase block in the flash memory of the conventional semiconductor disk device. 従来の半導体ディスク装置のデータ読み出し動作を説明するための図である。It is a figure for demonstrating the data read-out operation | movement of the conventional semiconductor disc device. 従来の半導体ディスク装置のデータ書き込み動作を説明するための図である。It is a figure for demonstrating the data write-in operation | movement of the conventional semiconductor disc device. 従来の半導体ディスク装置のデータ書き込み動作を説明するための図である。It is a figure for demonstrating the data write-in operation | movement of the conventional semiconductor disc device.

符号の説明Explanation of symbols

1 ホスト、2A 半導体ディスク装置、3 インターフェース回路、4 CPU、5A アドレス変換テーブル、6A フラッシュ制御回路、61 論理セクタアドレス比較回路、7 データ入出力用セクタバッファ、8A フラッシュメモリ。   1 host, 2A semiconductor disk device, 3 interface circuit, 4 CPU, 5A address conversion table, 6A flash control circuit, 61 logical sector address comparison circuit, 7 data input / output sector buffer, 8A flash memory.

Claims (3)

論理セクタアドレスに対応する複数のセクタを含むブロックを複数有するフラッシュメモリと、
外部から入力される論理セクタアドレスをブロック番号へ変換するためのアドレス変換テーブルと、
前記外部から入力される論理セクタアドレスを前記アドレス変換テーブルに基づきブロック番号に変換し、変換したブロック番号に対応するブロックの論理セクタアドレスと、前記外部から入力される論理セクタアドレスとを比較することにより、前記外部から入力される論理セクタアドレスに対応するデータの格納領域を選択し、前記外部から入力される論理セクタアドレスに対応するデータにアクセスする制御手段と
を備えことを特徴とする半導体ディスク装置。
A flash memory having a plurality of blocks including a plurality of sectors corresponding to logical sector addresses;
An address conversion table for converting an externally input logical sector address into a block number;
The logical sector address input from the outside is converted into a block number based on the address conversion table, and the logical sector address of the block corresponding to the converted block number is compared with the logical sector address input from the outside. And a control means for selecting a data storage area corresponding to the logical sector address inputted from the outside and accessing the data corresponding to the logical sector address inputted from the outside. apparatus.
前記アドレス変換テーブルが揮発性メモリに格納される
ことを特徴とする請求項1記載の半導体ディスク装置。
The semiconductor disk device according to claim 1, wherein the address conversion table is stored in a volatile memory.
前記ブロックは、データの消去単位である
ことを特徴とする請求項1又は2記載の半導体ディスク装置。
3. The semiconductor disk device according to claim 1 , wherein the block is a data erasing unit .
JP2005176388A 2005-06-16 2005-06-16 Semiconductor disk device Expired - Lifetime JP3976764B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005176388A JP3976764B2 (en) 2005-06-16 2005-06-16 Semiconductor disk device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005176388A JP3976764B2 (en) 2005-06-16 2005-06-16 Semiconductor disk device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2828795A Division JP3706167B2 (en) 1995-02-16 1995-02-16 Semiconductor disk device

Publications (2)

Publication Number Publication Date
JP2005332415A JP2005332415A (en) 2005-12-02
JP3976764B2 true JP3976764B2 (en) 2007-09-19

Family

ID=35486981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005176388A Expired - Lifetime JP3976764B2 (en) 2005-06-16 2005-06-16 Semiconductor disk device

Country Status (1)

Country Link
JP (1) JP3976764B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8151082B2 (en) * 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
JP5026213B2 (en) * 2007-09-28 2012-09-12 株式会社日立製作所 Storage apparatus and data deduplication method
JP4691123B2 (en) 2008-03-01 2011-06-01 株式会社東芝 Memory system

Also Published As

Publication number Publication date
JP2005332415A (en) 2005-12-02

Similar Documents

Publication Publication Date Title
JP3706167B2 (en) Semiconductor disk device
JP4418439B2 (en) Nonvolatile storage device and data writing method thereof
KR100595909B1 (en) How to access information and how to manage information storage in storage and flash memory devices
KR100193779B1 (en) Semiconductor disk device
JP4832521B2 (en) Data management method in flash memory media
US6978342B1 (en) Moving sectors within a block of information in a flash memory mass storage architecture
US6145051A (en) Moving sectors within a block of information in a flash memory mass storage architecture
CN100424655C (en) Method for managing flash memory
US7840617B2 (en) Host device and memory system
US7552311B2 (en) Memory device with preread data management
US5924113A (en) Direct logical block addressing flash memory mass storage architecture
JPH08137634A (en) Flash disk card
US20060149902A1 (en) Apparatus and method for storing data in nonvolatile cache memory considering update ratio
JP2011107851A (en) Memory system
JPH08328762A (en) Semiconductor disk device and memory management method thereof
JP3421581B2 (en) Storage device using nonvolatile semiconductor memory
US7051251B2 (en) Method for storing data in a write-once memory array using a write-many file system
JPWO2006067923A1 (en) MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND MEMORY CONTROL METHOD
JP2012113343A (en) Storage device
JP2009037317A (en) MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE USING THE SAME, AND NONVOLATILE MEMORY SYSTEM
JP3976764B2 (en) Semiconductor disk device
TWI813362B (en) Partial erasing management method, memory storage device and memory control circuit unit
CN103365790A (en) Memory controller, storage device and data writing method
CN102467459B (en) Data writing method, memory controller and memory storage device
JP3769395B2 (en) External storage device using non-volatile memory

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20061108

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20070307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070320

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070515

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070612

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070619

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 3

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110629

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110629

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110629

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120629

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120629

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130629

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130629

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140629

Year of fee payment: 7

EXPY Cancellation because of completion of term