JP2001142774A - Memory card and address conversion method applied to the card - Google Patents
Memory card and address conversion method applied to the cardInfo
- Publication number
- JP2001142774A JP2001142774A JP32131099A JP32131099A JP2001142774A JP 2001142774 A JP2001142774 A JP 2001142774A JP 32131099 A JP32131099 A JP 32131099A JP 32131099 A JP32131099 A JP 32131099A JP 2001142774 A JP2001142774 A JP 2001142774A
- Authority
- JP
- Japan
- Prior art keywords
- address
- logical
- rewritable nonvolatile
- memory
- nonvolatile memory
- 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
Links
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】書き換え可能な不揮発性メモリの記憶容量が増
加してもアドレス変換テーブル用の揮発性メモリ領域を
増加させずに済むようにする。
【解決手段】論理ブロックアドレスが割り当てられるブ
ロックの物理アドレスが登録されるエントリの群を有す
るLTPb152-iを、論理ブロックアドレスの所定フ
ィールドの内容が共通のブロック群を単位にフラッシュ
メモリ15に用意し、当該LTPb152-iの1つをR
AM14に格納する。マイクロプロセッサ121はホス
トシステムから論理アドレスが与えられると、対応する
LTPb152-iがRAM14上に存在するか否か調
べ、存在しないなら、LTPb152-iをフラッシュメ
モリ15からRAM14にコピーした後に、存在すると
きはそのまま、上記論理アドレス中の論理ブロックアド
レスによりRAM14上のLTPb152-iの対応エン
トリを参照することで物理アドレスへの変換を行う。
(57) Abstract: An object of the present invention is to prevent an increase in a volatile memory area for an address conversion table even when the storage capacity of a rewritable nonvolatile memory increases. An LTPb 152-i having an entry group in which a physical address of a block to which a logical block address is assigned is registered in the flash memory 15 in units of a block group having a common content of a predetermined field of the logical block address. , One of the LTPb 152-i is R
Stored in AM14. When given a logical address from the host system, the microprocessor 121 checks whether or not the corresponding LTPb 152-i exists in the RAM 14. If not, the microprocessor 121 copies the LTPb 152-i from the flash memory 15 to the RAM 14 and then exists. At this time, the conversion to the physical address is performed by referring to the corresponding entry of the LTPb 152-i on the RAM 14 by the logical block address in the logical address.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、書き換え可能な不
揮発性メモリを搭載したメモリカードに係り、特に当該
不揮発性メモリをアクセスするために与えられた論理ア
ドレスを物理アドレスに変換するアドレス変換機構を備
えたメモリカード及び同カードに適用されるアドレス変
換方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory card having a rewritable nonvolatile memory, and more particularly to an address conversion mechanism for converting a logical address given to access the nonvolatile memory into a physical address. The present invention relates to a memory card provided and an address conversion method applied to the card.
【0002】[0002]
【従来の技術】近年、画像データや音楽データに代表さ
れる種々のデジタル情報を保存する記憶装置として、電
源がオフされても保存情報が消失する虞のない書き換え
可能な不揮発性メモリを搭載したメモリカードが広まっ
てきている。2. Description of the Related Art In recent years, as a storage device for storing various digital information represented by image data and music data, a rewritable non-volatile memory which does not lose stored information even when the power is turned off is mounted. Memory cards are spreading.
【0003】書き換え可能な不揮発性メモリの代表的な
ものにNAND型フフラッシュメモリがある。この種の
フラッシュメモリはブロック単位で管理される。つま
り、情報の消去(一般には、全ビットが“1”のデー
タ、つまりオール“1”データを書き込む動作)はブロ
ック単位で行われる。また、各ブロックには、論理ブロ
ックアドレスが割り当てられる。各ブロックは複数のセ
クタからなる。このセクタは、フラッシュメモリでの読
み出し/書き込みの最小単位であり、例えば512バイ
トからなる。各セクタはデータ部とは別に冗長部を有し
ている。この冗長部の所定フィールドには、対応するセ
クタが属するブロックに割り当てられている論理ブロッ
クアドレスが登録されている。A typical rewritable nonvolatile memory is a NAND flash memory. This type of flash memory is managed in block units. That is, information erasure (generally, data in which all bits are “1”, that is, operation of writing all “1” data) is performed in block units. Each block is assigned a logical block address. Each block is composed of a plurality of sectors. This sector is the minimum unit of reading / writing in the flash memory, and is composed of, for example, 512 bytes. Each sector has a redundant part separately from the data part. A logical block address assigned to a block to which a corresponding sector belongs is registered in a predetermined field of the redundant section.
【0004】フラッシュメモリ(書き換え可能な不揮発
性メモリ)をアクセスするには、論理アドレスを当該メ
モリの物理アドレスに変換するためのアドレス変換テー
ブル(アドレス変換機構)が必要となる。このアドレス
変換が必要な理由は、フラッシュメモリに欠陥ブロック
が発生して、別の空きブロックに代替しても、そのこと
をホスト側で意識することなく、代替の有無に無関係に
同一の論理アドレスでアクセスできるようにするためで
ある。In order to access a flash memory (rewritable nonvolatile memory), an address translation table (address translation mechanism) for translating a logical address into a physical address of the memory is required. The reason that this address conversion is necessary is that even if a defective block occurs in the flash memory and it is replaced with another free block, the same logical address is used regardless of whether or not the replacement is performed, without the host being aware of this. This is to allow access at
【0005】上記アドレス変換テーブルのエントリ数は
フラッシュメモリのブロック数に一致し、1セクタが5
12バイト、つまり0.5KB(キロバイト)で、且つ
1ブロックが32セクタ、つまり16KBの16MB
(メガバイト)フラッシュメモリを用いた場合を例にと
ると、16MB/16KB=1K=1,024となる。
アドレス変換テーブルは一般に揮発性メモリとしてのR
AM上に確保された領域(RAM領域)に格納して用い
られる。したがって上記の例では、1エントリ2バイト
とすると、アドレス変換テーブルを格納するのに必要な
RAM領域は2KBとなる。The number of entries in the address conversion table matches the number of blocks in the flash memory, and one sector has five entries.
12 bytes, that is, 0.5 KB (kilobyte), and one block has 32 sectors, that is, 16 MB of 16 KB
Taking a case where a (megabyte) flash memory is used as an example, 16 MB / 16 KB = 1K = 1,024.
The address translation table generally has an R as a volatile memory.
It is used by storing it in an area (RAM area) secured on the AM. Therefore, in the above example, if one entry is 2 bytes, the RAM area required to store the address conversion table is 2 KB.
【0006】一方、最近は、半導体製造技術の進歩によ
りフラッシュメモリの記憶容量も増加しており、ブロッ
ク数が2,048、1ブロックが16KBの32MBフ
ラッシュメモリ、或いはブロック数が4,096、1ブ
ロックが16KBの64MBフラッシュメモリも出現し
ている。On the other hand, recently, the storage capacity of the flash memory has increased due to the advance of the semiconductor manufacturing technology, and the number of blocks is 2,048, the 32 MB flash memory is 16 KB in one block, or the number of blocks is 4,096, A 64 MB flash memory having a block size of 16 KB has also appeared.
【0007】ところが、フラッシュメモリの記憶容量が
増加すると、アドレス変換テーブルを保持するためのR
AM領域も大きくしなければならない。例えば、32M
Bフラッシュメモリの場合には4KB、64MBフラッ
シュメモリの場合には8KBのRAM領域がアドレス変
換テーブル用に必要となる。つまり、16MBフラッシ
ュメモリの場合のそれぞれ2倍、4倍といったRAM領
域を必要とする。[0007] However, as the storage capacity of the flash memory increases, an R for holding the address conversion table is required.
The AM area must also be large. For example, 32M
A 4 KB RAM area is required for the B flash memory, and an 8 KB RAM area is required for the address translation table for the 64 MB flash memory. In other words, a RAM area that is twice or four times as large as that of the 16 MB flash memory is required.
【0008】[0008]
【発明が解決しようとする課題】上記したように、フラ
ッシュメモリに代表される書き換え可能な不揮発性メモ
リを搭載した従来のメモリカードでは、当該メモリの記
憶容量が増加すると、当該メモリをアクセスするために
与えられる論理アドレスを当該ブロックの物理アドレス
に変換するためのアドレス変換テーブルを保持するのに
必要な、RAMに代表される揮発性メモリの領域も大き
くしなければならなかった。As described above, in a conventional memory card equipped with a rewritable nonvolatile memory typified by a flash memory, when the storage capacity of the memory increases, the memory is accessed. In addition, the area of the volatile memory typified by the RAM, which is necessary to hold the address conversion table for converting the logical address given to the block into the physical address of the block, has to be increased.
【0009】本発明は上記事情を考慮してなされたもの
でその目的は、書き換え可能な不揮発性メモリの記憶容
量が増加してもアドレス変換テーブル用の揮発性メモリ
領域を増加させずに済むメモリカード及び同カードに適
用されるアドレス変換方法を提供することにある。SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and has as its object to reduce the need for increasing the volatile memory area for the address conversion table even when the storage capacity of the rewritable nonvolatile memory increases. A card and an address conversion method applied to the card.
【0010】[0010]
【課題を解決するための手段】本発明は、書き換え可能
な不揮発性メモリを搭載したメモリカードにおいて、上
記書き換え可能不揮発性メモリをアクセスするために与
えられる論理アドレスを物理アドレスに変換するのに用
いられる、それぞれ異なる論理アドレス範囲に対応付け
られた複数のアドレス変換テーブルであって、上記書き
換え可能不揮発性メモリに保存される複数のアドレス変
換テーブルと、上記書き換え可能不揮発性メモリ上の複
数のアドレス変換テーブルの1つを格納するためのアド
レス変換テーブル領域が確保される揮発性メモリと、上
記書き換え可能不揮発性メモリをアクセスするための論
理アドレスが与えられた場合、上記揮発性メモリ上の前
記アドレス変換テーブルを利用して当該論理アドレスを
物理アドレスに変換するアドレス変換手段とを備えたこ
とを特徴とする。SUMMARY OF THE INVENTION The present invention relates to a memory card having a rewritable nonvolatile memory, which is used for converting a logical address given to access the rewritable nonvolatile memory into a physical address. A plurality of address translation tables respectively associated with different logical address ranges, the plurality of address translation tables stored in the rewritable nonvolatile memory, and the plurality of address translations on the rewritable nonvolatile memory. When a volatile memory for securing an address translation table area for storing one of the tables and a logical address for accessing the rewritable nonvolatile memory are provided, the address translation on the volatile memory is performed. Convert the logical address to a physical address using the table. Characterized by comprising an address converting means for.
【0011】このような構成においては、論理アドレス
を物理アドレスに変換するためのアドレス変換テーブル
がそれぞれ異なる論理アドレス範囲毎に分割され、複数
のアドレス変換テーブルとして書き換え可能不揮発性メ
モリ上に保存される一方、そのうちの1つが揮発性メモ
リ上のアドレス変換テーブル領域に置かれる。ここで
は、書き換え可能不揮発性メモリをアクセスするための
論理アドレスが与えられた場合、揮発性メモリ上のアド
レス変換テーブルを利用して当該論理アドレスを物理ア
ドレスに変換するアドレス変換が行われる。In such a configuration, an address conversion table for converting a logical address into a physical address is divided into different logical address ranges, and is stored in a rewritable nonvolatile memory as a plurality of address conversion tables. On the other hand, one of them is placed in the address conversion table area on the volatile memory. Here, when a logical address for accessing the rewritable nonvolatile memory is given, an address conversion for converting the logical address into a physical address is performed using an address conversion table on the volatile memory.
【0012】このように、一部のアドレス変換テーブル
だけが揮発性メモリ上に置かれて論理アドレスから物理
アドレスへのアドレス変換に用いられるため、全アドレ
ス変換テーブルを揮発性メモリ上に置く場合と異なり、
書き換え可能不揮発性メモリの容量が大きくなっても、
書き換え可能不揮発性メモリの記憶容量の増加を抑える
ことが可能となる。As described above, since only a part of the address translation table is placed in the volatile memory and used for address translation from the logical address to the physical address, the case where the entire address translation table is placed in the volatile memory No,
Even if the capacity of the rewritable nonvolatile memory increases,
It is possible to suppress an increase in the storage capacity of the rewritable nonvolatile memory.
【0013】ここで、揮発性メモリ上に置かれているア
ドレス変換テーブルが、与えられた論理アドレスの属す
る論理アドレス範囲に対応したアドレス変換テーブルで
はない場合には、アドレス変換は行えない。Here, if the address translation table stored in the volatile memory is not the address translation table corresponding to the logical address range to which the given logical address belongs, the address translation cannot be performed.
【0014】そこで、書き換え可能不揮発性メモリをア
クセスするための論理アドレスが与えられた場合、当該
論理アドレスが属する論理アドレス範囲に対応するアド
レス変換テーブルが揮発性メモリ上に存在するか否かを
判定するヒット/ミスヒット判定手段と、このヒット/
ミスヒット判定手段により上記対応するアドレス変換テ
ーブルが揮発性メモリ上に存在しないと判定された場
合、当該アドレス変換テーブルを書き換え可能不揮発性
メモリから揮発性メモリ上のアドレス変換テーブル領域
にコピーするコピー手段とを追加するとよい。Therefore, when a logical address for accessing the rewritable nonvolatile memory is given, it is determined whether or not an address conversion table corresponding to the logical address range to which the logical address belongs exists in the volatile memory. Hit / miss hit determination means and the hit / miss
Copy means for copying the corresponding address translation table from the rewritable nonvolatile memory to the address translation table area on the volatile memory when the corresponding address translation table is determined not to be present in the volatile memory by the mishit decision means. And should be added.
【0015】このようにすると、与えられた論理アドレ
スを物理アドレスに変換するのに必要なアドレス変換テ
ーブルが上記テーブル領域に存在しない(ミスヒット
の)場合でも、当該テーブルが書き換え可能不揮発性メ
モリから上記テーブル領域にコピーされるため、論理ア
ドレスから物理アドレスへの変換を速やかに行うことが
可能となる。In this way, even if the address translation table required to translate a given logical address to a physical address does not exist in the table area (mis-hit), the table is stored in the rewritable nonvolatile memory. Since the data is copied to the table area, the conversion from the logical address to the physical address can be performed quickly.
【0016】ここで、本発明の上記構成とは異なって、
上記各アドレス変換テーブルが書き換え可能不揮発性メ
モリに用意されておらず、いずれか1つのアドレス変換
テーブルだけが上記テーブル領域に作成・保持される構
成をとるとするならば、当該テーブル領域上のアドレス
変換テーブルがアドレス変換に必要なテーブルでないミ
スヒットの場合には、当該必要なテーブルを改めて作成
しなければならず、映像データや音声データの読み出し
(再生)の場合のようにリアルタイム性が要求される場
合には問題となる。つまり、テーブルミス時のペナルテ
ィが大きい。これを避けるため、全テーブルを上記テー
ブル領域に作成・保持することも考えられるが、書き換
え可能不揮発性メモリの記憶容量の大幅な増加を招く。Here, unlike the above configuration of the present invention,
If each of the address conversion tables is not prepared in the rewritable nonvolatile memory and only one of the address conversion tables is created and held in the table area, an address on the table area is used. If the conversion table is a mishit that is not a table necessary for address conversion, the necessary table must be created again, and real-time performance is required as in the case of reading (reproducing) video data and audio data. This is a problem when That is, the penalty at the time of a table mistake is large. In order to avoid this, it is conceivable to create and hold all tables in the table area, but this causes a large increase in the storage capacity of the rewritable nonvolatile memory.
【0017】これに対して本発明では、全てのアドレス
変換テーブルが書き換え可能不揮発性メモリに用意され
ているため、テーブルミスが発生しても、必要なアドレ
ス変換テーブルを書き換え可能不揮発性メモリから揮発
性メモリの上記テーブル領域にコピーするだけで速やか
にアドレス変換処理を行うことができ、テーブルミス時
のペナルティが小さくて済む。したがって本発明におい
ては、小容量の書き換え可能不揮発性メモリを用いて
も、つまり十分な大きさのテーブル領域が確保できなく
ても、テーブルミス時のペナルティを小さくすることが
可能となり、リアルタイム用途に適用できる。On the other hand, in the present invention, since all the address conversion tables are prepared in the rewritable nonvolatile memory, even if a table error occurs, the necessary address conversion tables are volatilized from the rewritable nonvolatile memory. The address conversion process can be performed promptly only by copying to the table area of the dynamic memory, and the penalty at the time of a table error can be reduced. Therefore, in the present invention, even if a small-capacity rewritable nonvolatile memory is used, that is, even if a table area having a sufficient size cannot be secured, it is possible to reduce a penalty at the time of a table error, and to realize a real-time application Applicable.
【0018】なお、本発明では、書き換え可能不揮発性
メモリ上に全てのアドレス変換テーブルを保存するため
の領域を確保する必要があるが、書き換え可能不揮発性
メモリの容量は揮発性メモリの容量に比べて極めて大き
いため、当該揮発性メモリ上に全テーブルを置く構成と
異なって問題とならない。In the present invention, it is necessary to secure an area for storing all the address conversion tables in the rewritable nonvolatile memory, but the capacity of the rewritable nonvolatile memory is larger than that of the volatile memory. This is not a problem unlike the configuration in which all tables are placed on the volatile memory.
【0019】ここで、アドレス変換に必要なアドレス変
換テーブルを、より速やかに書き換え可能不揮発性メモ
リから上記テーブル領域にコピーできるように、各アド
レス変換テーブルがそれぞれ保存されている書き換え可
能不揮発性メモリ上の保存位置情報を、当該アドレス変
換テーブルに固有の論理アドレス範囲に対応付けて登録
したポインタテーブルを備えるとよい。Here, in order to copy the address conversion table required for the address conversion from the rewritable nonvolatile memory to the table area more quickly, the address conversion table is stored in the rewritable nonvolatile memory in which each address conversion table is stored. It is preferable to provide a pointer table in which the storage location information is registered in association with a logical address range unique to the address conversion table.
【0020】また、上記ポインタテーブルを上記揮発性
メモリ(に確保されるポインタテーブル領域)にも置く
ようにして、当該揮発性メモリ上のポインタテーブルを
用いて、必要とするアドレス変換テーブルの保存位置情
報を取得する構成とするならば、当該アドレス変換テー
ブルを一層速やかに書き換え可能不揮発性メモリから上
記テーブル領域にコピーすることが可能となる。Further, the pointer table is also stored in the volatile memory (pointer table area secured in the volatile memory), and a storage location of a required address conversion table is stored using the pointer table on the volatile memory. With the configuration for acquiring information, the address conversion table can be more quickly copied from the rewritable nonvolatile memory to the table area.
【0021】また、上記各アドレス変換テーブルのいず
れが上記揮発性メモリに格納されているかを指定するた
めの参照用テーブル指定手段を追加するならば、上記ヒ
ット/ミスヒット判定手段による判定(テーブルヒット
/ミスの判定)を速やかに行うことが可能となる。Further, if a reference table designating means for designating which of the address conversion tables is stored in the volatile memory is added, the judgment by the hit / miss hit judging means (table hit) / Judgment) can be performed promptly.
【0022】また本発明のメモリカードは、上記書き換
え可能な不揮発性メモリが、一般に固有の論理ブロック
アドレスが割り当てられる複数のブロックからなること
を考慮して、論理アドレス中の論理ブロックアドレスに
より指定可能な、当該論理ブロックアドレスが割り当て
られるブロックの上記書き換え可能不揮発性メモリの物
理アドレスが登録されるエントリの群を有する複数のア
ドレス変換テーブルであって、論理ブロックアドレスの
所定フィールドの内容が共通のブロック群を単位に用意
されて上記書き換え可能不揮発性メモリに保存される複
数のアドレス変換テーブルと、上記書き換え可能不揮発
性メモリ上の複数のアドレス変換テーブルの1つを格納
するためのアドレス変換テーブル領域が確保される揮発
性メモリと、与えられた論理アドレスの上記所定フィー
ルドに対応するアドレス変換テーブルが上記揮発性メモ
リ上に存在するか否かを判定するヒット/ミスヒット判
定手段と、上記対応するアドレス変換テーブルが上記揮
発性メモリ上に存在しないと判定された場合、当該アド
レス変換テーブルを上記書き換え可能不揮発性メモリか
ら上記揮発性メモリ上のアドレス変換テーブル領域にコ
ピーするコピー手段と、上記対応するアドレス変換テー
ブルが揮発性メモリ上に存在すると判定された場合には
そのまま、存在しないと判定された場合には当該アドレ
ス変換テーブルが揮発性メモリにコピーされるのを待っ
て、上記与えられた論理アドレス中の論理ブロックアド
レスにより当該揮発性メモリ上のアドレス変換テーブル
の対応するエントリを参照することで、論理アドレスを
物理アドレスに変換するアドレス変換手段とを備えたこ
とをも特徴とする。In the memory card of the present invention, the rewritable nonvolatile memory can be specified by a logical block address in a logical address in consideration of the fact that the rewritable nonvolatile memory generally comprises a plurality of blocks to which a unique logical block address is assigned. A plurality of address conversion tables each having a group of entries in which physical addresses of the rewritable nonvolatile memory of the block to which the logical block address is assigned are registered, wherein the contents of a predetermined field of the logical block address are common. A plurality of address conversion tables prepared in groups and stored in the rewritable nonvolatile memory, and an address conversion table area for storing one of the plurality of address conversion tables on the rewritable nonvolatile memory are provided. Volatile memory reserved and Hit / mishit determining means for determining whether an address conversion table corresponding to the predetermined field of the obtained logical address exists in the volatile memory; and storing the corresponding address conversion table in the volatile memory. When it is determined that the address conversion table does not exist, a copy unit that copies the address conversion table from the rewritable nonvolatile memory to the address conversion table area on the volatile memory, and the corresponding address conversion table exists on the volatile memory. If it is determined that it does not exist, if it is determined that the address does not exist, it waits for the address conversion table to be copied to the volatile memory, and then, based on the logical block address in the given logical address, Refer to the corresponding entry in the address translation table in memory Also characterized in that it comprises an address conversion means for converting a logical address into a physical address.
【0023】ここで、上記各アドレス変換テーブルの各
エントリの内容を予め設定することも可能であるが、最
初はテーブルの枠組みだけを用意し、上記アドレス変換
手段により参照されたアドレス変換テーブルのエントリ
に物理アドレス(または物理ブロックアドレス)が登録
されていない場合に、書き換え可能不揮発性メモリ上の
空きブロックを捜して当該ブロックに要求された論理ア
ドレス中の論理ブロックアドレスを割り当てて、当該ブ
ロックの物理アドレス(または物理ブロックアドレス)
を、上記参照エントリと、書き換え可能不揮発性メモリ
上の対応するアドレス変換テーブルのエントリとに、物
理アドレス登録手段により書き込む構成とすることも可
能である。これにより、使用される可能性の少ないブロ
ックに対応する、アドレス変換テーブル内エントリの情
報までも予め登録する無駄をなくすことができる。Here, it is possible to set the contents of each entry of each address translation table in advance, but first, only the framework of the table is prepared and the entry of the address translation table referred to by the address translation means is prepared. If the physical address (or physical block address) is not registered in the rewritable nonvolatile memory, a free block in the rewritable nonvolatile memory is searched, and a logical block address in the requested logical address is allocated to the block, and the physical block of the block is assigned. Address (or physical block address)
May be written into the above-mentioned reference entry and the corresponding entry of the address conversion table in the rewritable nonvolatile memory by the physical address registration means. As a result, it is possible to eliminate the waste of pre-registering even the information of the entry in the address conversion table corresponding to the block that is unlikely to be used.
【0024】また、上記アドレス変換手段により変換さ
れた物理アドレスを用いて書き換え可能不揮発性メモリ
に対する書き込みを行った結果ブロックエラーが発生し
た場合、書き換え可能不揮発性メモリ上の空きブロック
を捜して当該ブロックに、与えられた論理アドレス中の
論理ブロックアドレスを割り当てて、当該ブロックの物
理アドレス(または物理ブロックアドレス)で、参照エ
ントリと、書き換え可能不揮発性メモリ上の対応するア
ドレス変換テーブルのエントリを更新するブロック代替
手段を追加するとよい。このようなブロック代替手段を
設けることで、書き込み時にブロックエラーが発生して
も、確実にブロック代替処理を行うことが可能となる。When a block error occurs as a result of writing to the rewritable nonvolatile memory by using the physical address converted by the address conversion means, a free block in the rewritable nonvolatile memory is searched for the block. Is assigned a logical block address in the given logical address, and the reference entry and the corresponding address translation table entry in the rewritable nonvolatile memory are updated with the physical address (or physical block address) of the block. Block alternatives may be added. By providing such a block replacement means, even if a block error occurs at the time of writing, it is possible to reliably perform the block replacement processing.
【0025】また、立ち上げ時に、書き換え可能不揮発
性メモリにアドレス変換テーブルが作成・保存されてい
るか否かを判定するテーブル作成判定手段を追加し、ア
ドレス変換テーブルが作成・保存されていると判定され
た場合、上記コピー手段により、いずれか1つのアドレ
ス変換テーブルが揮発性メモリ上のアドレス変換テーブ
ル領域にコピーされる構成とするとよい。このとき、ポ
インタテーブルも、揮発性メモリ上のポインタテーブル
領域にコピーされる構成とするとよい。At the time of startup, a table creation judging means for judging whether or not an address conversion table is created and stored in the rewritable nonvolatile memory is added, and it is determined that the address conversion table is created and stored. In this case, any one of the address conversion tables may be copied to the address conversion table area on the volatile memory by the copying unit. At this time, the pointer table may be copied to the pointer table area on the volatile memory.
【0026】なお、以上の装置(メモリカード)に係る
本発明は方法(アドレス変換方法)に係る発明としても
成立する。The present invention relating to the above-described apparatus (memory card) is also realized as an invention relating to a method (address conversion method).
【0027】[0027]
【発明の実施の形態】以下、本発明の実施の形態につき
図面を参照して説明する。図1は本発明の一実施形態に
係るメモリカードの全体構成を示すブロック図である。Embodiments of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram showing the overall configuration of a memory card according to one embodiment of the present invention.
【0028】メモリカードは、パーソナルコンピュー
タ、電子カメラ、ゲーム機を始めとする各種電子機器に
装着して使用される。メモリカードは、図1に示すよう
に、当該カードが装着される電子機器本体(以下、ホス
トシステムと称する)とのインタフェース(ホストイン
タフェース)11、カード全体の制御を司る制御部12
と、読み出し専用の不揮発性メモリとしてのROM13
と、揮発性メモリとしてのRAM14と、書き換え可能
な不揮発性メモリとしてのフラッシュメモリ15とを備
えている。The memory card is used by being mounted on various electronic devices such as a personal computer, an electronic camera, and a game machine. As shown in FIG. 1, the memory card includes an interface (host interface) 11 with an electronic device main body (hereinafter, referred to as a host system) to which the card is mounted, and a control unit 12 that controls the entire card.
And a ROM 13 as a read-only nonvolatile memory
And a RAM 14 as a volatile memory and a flash memory 15 as a rewritable nonvolatile memory.
【0029】制御部12は、ホストインタフェース11
を介して受信されるコマンドをROM13に格納されて
いる制御プログラム(ファームウェア)に従って解釈・
実行するマイクロプロセッサ(MPU)121、及び後
述するレジスタ(REG)122を有している。The control unit 12 includes a host interface 11
Interprets the command received via the ROM 13 according to a control program (firmware) stored in the ROM 13.
It has a microprocessor (MPU) 121 to execute, and a register (REG) 122 to be described later.
【0030】ROM13は、制御プログラム、管理用の
固定データ等を予め格納するのに用いられる。RAM1
4は、制御部12(内のマイクロプロセッサ121)の
作業用領域(図示せず)の他、後述するLTPa151
を格納するためのLTPa領域141、及びLTPb1
52-iを格納するためのLTPb領域142等を提供す
る。ここではLTPb領域142のサイズは2KBであ
る。The ROM 13 is used to store a control program, fixed data for management, and the like in advance. RAM1
Reference numeral 4 denotes a work area (not shown) of the control unit 12 (the microprocessor 121 therein) and an LTPa 151 described later.
LTPa area 141 for storing the
An LTPb area 142 for storing the 52-i is provided. Here, the size of the LTPb area 142 is 2 KB.
【0031】フラッシュメモリ15は、例えばNAND
フラッシュメモリである、フラッシュメモリ15の領域
は、管理領域153と、画像データ、音楽データ等のデ
ジタルコンテンツを保存するためのデータ領域154と
に割り当てられる。The flash memory 15 is, for example, a NAND
The area of the flash memory 15, which is a flash memory, is allocated to a management area 153 and a data area 154 for storing digital contents such as image data and music data.
【0032】またフラッシュメモリ15は、図2に示す
ように複数のブロックから構成される。このブロックは
データ消去の単位であり、当該ブロックを単位に論理ア
ドレス(Logical Address;LA)中の論理ブロックア
ドレスが割り当てられる。つまり、フラッシュメモリ1
5はブロックを単位に管理される。The flash memory 15 is composed of a plurality of blocks as shown in FIG. This block is a unit of data erasing, and a logical block address in a logical address (Logical Address; LA) is assigned in units of the block. That is, the flash memory 1
5 is managed in units of blocks.
【0033】フラッシュメモリ15の各ブロックは、当
該メモリ15に対するデータの書き込み/読み出しの最
小単位である複数のセクタから構成される。したがっ
て、ホストシステムから要求されたデータ書き込みの対
象領域がセクタの一部の場合には、一旦当該セクタのデ
ータを読み出して該当部分を書き込みデータで置き換
え、その置き換え後のデータを当該セクタに書き込む動
作が行われる。同様に、ホストシステムから要求された
データ読み出しの対象領域がセクタの一部の場合には、
当該セクタのデータを読み出し、そこから該当部分のデ
ータを選択して要求元に送出する動作が行われる。Each block of the flash memory 15 is composed of a plurality of sectors which are the minimum unit for writing / reading data to / from the memory 15. Therefore, when the data write target area requested by the host system is a part of a sector, the operation of once reading the data of the sector, replacing the relevant part with the write data, and writing the replaced data to the sector is performed. Is performed. Similarly, when the data read target area requested by the host system is part of a sector,
The operation of reading the data of the sector, selecting the data of the corresponding part from the data and sending it to the request source is performed.
【0034】上記各セクタには、冗長部が設けられてい
る。この冗長部には、エラー検出符号ECCの他、当該
セクタが属するブロックに割り当てられた論理ブロック
アドレスが設定される。Each sector is provided with a redundant portion. In this redundant portion, in addition to the error detection code ECC, a logical block address assigned to a block to which the sector belongs is set.
【0035】本実施形態では、フラッシュメモリ15の
1ブロックは32セクタから構成され、1セクタは51
2バイトから構成されるものとする。つまり、本実施形
態では、1ブロックは16KBから構成される。この場
合、論理アドレス(LA)が32ビットで構成されるも
のとすると、図3に示すように、論理アドレスの下位側
の9ビットはセクタ内のバイトデータの位置を示すセク
タ内アドレスとなり、当該セクタ内アドレスの上位側に
続く5ビットは(ブロック内の)セクタ位置を示すセク
タアドレスとなる。また、残りの18ビットは論理ブロ
ック位置を示す論理ブロックアドレス(以下、18ビッ
ト論理ブロックアドレスと称する)となる。但し本実施
形態では、論理アドレスの最上位からの4ビットを除く
上位側の14ビット、つまり上記18ビット論理ブロッ
クアドレスの上位4ビットを除く残り14ビットを実質
的な論理ブロックアドレス(以下、14ビット論理ブロ
ックアドレス)として用いるようにしている。その理由
は次の通りである。In this embodiment, one block of the flash memory 15 is composed of 32 sectors, and one sector is 51 sectors.
It shall consist of 2 bytes. That is, in the present embodiment, one block is composed of 16 KB. In this case, assuming that the logical address (LA) is composed of 32 bits, as shown in FIG. 3, the lower 9 bits of the logical address become an address in the sector indicating the position of byte data in the sector. The 5 bits following the upper side of the intra-sector address become the sector address indicating the sector position (within the block). The remaining 18 bits are a logical block address indicating a logical block position (hereinafter, referred to as an 18-bit logical block address). However, in the present embodiment, the upper 14 bits excluding the 4 most significant bits of the logical address, that is, the remaining 14 bits excluding the upper 4 bits of the 18-bit logical block address are used as the substantial logical block address (hereinafter, 14 bits). (A bit logical block address). The reason is as follows.
【0036】ます、本実施形態で適用可能なメモリカー
ドは、フラッシュメモリ15の最大容量を256MBに
制限している。この場合、フラッシュメモリ15をアク
セスするための32ビットの論理アドレス(18ビット
論理ブロックアドレス)の上位4ビットは常に“0”と
なる。したがって、この4ビットを除く残り14ビット
(の論理ブロックアドレス)だけで論理ブロックを指定
できる。First, the maximum capacity of the flash memory 15 of the memory card applicable in the present embodiment is limited to 256 MB. In this case, the upper 4 bits of the 32-bit logical address (18-bit logical block address) for accessing the flash memory 15 are always "0". Therefore, a logical block can be specified only with (the logical block address of) the remaining 14 bits excluding these 4 bits.
【0037】さて本実施形態では、フラッシュメモリ1
5に64MBフラッシュメモリを使用しているものとす
る。この場合、フラッシュメモリ15のブロック数は、
上記したように1ブロックが16KBであることから、
64MB/16KB=4K=4,096となる。In this embodiment, the flash memory 1
It is assumed that a 64 MB flash memory is used for 5. In this case, the number of blocks in the flash memory 15 is
As described above, since one block is 16 KB,
64 MB / 16 KB = 4K = 4,096.
【0038】フラッシュメモリ15の管理領域153に
は、ポインタテーブルとしてのLTPa151及びアド
レス変換テーブルとしての複数のLTPb152-i(i
=0〜2m−1)が格納される。このLTPa151は
上記したようにRAM14のLTPa領域141にも格
納される。つまりLTPa151は、RAM14に常駐
する。また、複数のLTPb152-iのうちのいずれか
1つは、上記したようにRAM14のLTPb領域14
2にも格納される。In the management area 153 of the flash memory 15, LTPa 151 as a pointer table and a plurality of LTPb 152-i (i
= 0 to 2 m -1) is stored. This LTPa 151 is also stored in the LTPa area 141 of the RAM 14 as described above. That is, the LTPa 151 is resident in the RAM 14. Further, any one of the plurality of LTPb 152-i is stored in the LTPb area 14 of the RAM 14 as described above.
2 is also stored.
【0039】複数(2m個)のLTPb152-iの総エ
ントリ数は、フラッシュメモリ15のブロック数に一致
し、当該フラッシュメモリ15が64MBの例では4K
(4,096)である。また、1つのLTPb152-i
のサイズは、RAM14上に確保可能なLTPb領域1
42のサイズに等しい。ここでは、LTPb領域142
のサイズは2KBである。したがって、LTPb152
-iの1エントリのサイズを2バイトとすると、2KBの
LTPb領域142に格納可能なLTPb152-iのエ
ントリ数は、2KB/2バイト=1K(=1,024)
である。この場合、LTPb152-iの個数(2m)
は、フラッシュメモリ15のブロック数が4K(=4,
096)の本実施形態では、4K/1K=4(m=2)
となる。つまり本実施形態では、図4に示すように、4
つのLTPb152-0〜152-3がフラッシュメモリ1
5の管理領域153に保存される。The total number of entries of a plurality (2 m ) of LTPb 152-i is equal to the number of blocks of the flash memory 15, and is 4K when the flash memory 15 is 64 MB.
(4,096). Also, one LTPb 152-i
Is the size of the LTPb area 1 that can be secured on the RAM 14.
42 size. Here, the LTPb area 142
Is 2 KB in size. Therefore, LTPb152
Assuming that the size of one entry of -i is 2 bytes, the number of entries of LTPb 152-i that can be stored in the 2KB LTPb area 142 is 2KB / 2 bytes = 1K (= 1,024)
It is. In this case, the number of LTPb 152-i (2 m )
Means that the number of blocks in the flash memory 15 is 4K (= 4,
096), 4K / 1K = 4 (m = 2)
Becomes That is, in the present embodiment, as shown in FIG.
LTPb 152-0 to 152-3 are flash memory 1
5 in the management area 153.
【0040】ここでLTPb152-iのエントリ内容に
ついて述べる。LTPb152-iは、フラッシュメモリ
15の最大容量を256MBに制限している本実施形態
では、18ビット論理ブロックアドレスの上位8ビット
(14ビット論理ブロックアドレスの上位4ビット)の
値がiの210=1,24個のブロックについて、そのブ
ロックのフラッシュメモリ15上の物理アドレス(Phys
ical Address;PA)のうち、セクタアドレスとセクタ
内アドレスとを除くアドレス、つまり物理ブロックアド
レスが(ブロックポインタとして)、該当する論理ブロ
ックアドレスに対応付けて設定される1,24個のエン
トリ(エントリ0〜1023)からなる。Here, the entry contents of LTPb 152-i will be described. In the present embodiment, in which the maximum capacity of the flash memory 15 is limited to 256 MB, the value of the upper 8 bits of the 18-bit logical block address (the upper 4 bits of the 14-bit logical block address) is 2 10 of the LTPb 152-i. = 1,24 blocks, the physical addresses (Phys of the blocks on the flash memory 15)
of the physical address (PA), excluding the sector address and the intra-sector address, that is, the physical block address (as a block pointer) is set to 1,24 entries (entries set in association with the corresponding logical block address). 0 to 1023).
【0041】以上のLTPb152-iを用いることで、
論理アドレス(LA)を、当該論理アドレス(LA)に
対応するフラッシュメモリ15の物理アドレス(PA)
に変換すること(Logical address To Physical addres
s translation;LTP)ができる。具体的には、論理
アドレス(LA)中の14ビット論理ブロックアドレス
によりLTPb152-iを参照することで、図3に示す
ように、当該論理ブロックアドレスを対応するエントリ
に登録されている物理ブロックアドレスに変換する。そ
して、この物理ブロックアドレスの下位側に上記論理ア
ドレス(LA)中の下位14ビット(セクタアドレスと
セクタ内アドレスからなる14ビット)を連結すること
で、上記論理アドレス(LA)に対応する物理アドレス
(PA)を取得する。By using the above LTPb152-i,
The logical address (LA) is changed to the physical address (PA) of the flash memory 15 corresponding to the logical address (LA).
(Logical address To Physical addres
s translation (LTP). Specifically, by referring to the LTPb 152-i using the 14-bit logical block address in the logical address (LA), the logical block address is changed to the physical block address registered in the corresponding entry as shown in FIG. Convert to The lower 14 bits of the logical address (LA) (14 bits consisting of a sector address and an intra-sector address) are connected to the lower side of the physical block address, so that the physical address corresponding to the logical address (LA) is obtained. (PA).
【0042】次にLTPa15について述べる。LTP
a151は、複数のLTPb152-iの(開始位置の)
フラッシュメモリ15上の保存先を示す情報(保存位置
情報)としての格納先頭物理アドレス(Physical Addre
ss;PA)が(LTPbポインタとして)、該当するi
の値に対応付けて設定されるエントリ群からなる。この
LTPa151のエントリの数は、LTPb152-iの
個数が4の例では4である。したがって、LTPa15
1のエントリは、上記14ビット論理ブロックアドレス
の上位4ビット中の下位側の2ビットで参照(指定)可
能である。但し、フラッシュメモリ15の最大容量を2
56MBとし、LTPb領域142が2KBの本実施形
態では、LTPb152-iの個数が最大16となる場合
にも、フラッシュメモリ15の容量が64MBの場合と
同様の手続が可能なように、上記14ビット論理ブロッ
クアドレスの上位4ビットの値によりLTPa151の
エントリを参照するようにしている。このLTPa15
1を用いることで、論理アドレス(LA)を物理アドレ
ス(PA)に変換するのに必要なLTPb152-iの保
存位置の情報を取得できる。Next, the LTPa 15 will be described. LTP
a151 is the (start position) of the plurality of LTPb 152-i.
The physical address of the storage start (Physical Addre) as information (storage position information) indicating the storage destination on the flash memory 15
ss; PA) (as LTPb pointer)
Of entries set in association with the value of. The number of entries of this LTPa 151 is four in the example where the number of LTPb 152-i is four. Therefore, LTPa15
One entry can be referenced (specified) by the lower two bits of the upper four bits of the 14-bit logical block address. However, the maximum capacity of the flash memory 15 is 2
In the present embodiment in which the LTPb area 142 is 2 KB and the LTPb area 142 is 2 KB, the 14-bit LTPb 152-i is used so that the same procedure can be performed as when the capacity of the flash memory 15 is 64 MB. The entry of the LTPa 151 is referred to by the value of the upper 4 bits of the logical block address. This LTPa15
By using 1, it is possible to acquire information on the storage location of LTPb 152-i necessary for converting a logical address (LA) into a physical address (PA).
【0043】フラッシュメモリ15の管理領域153の
所定位置、例えば先頭には、フラッシュメモリ15内に
おけるLTPa151の先頭物理アドレスPAaがLT
Paポインタとして設定される。At a predetermined position, for example, the head of the management area 153 of the flash memory 15, the head physical address PAa of the LTPa 151 in the flash memory 15 is set to LT.
It is set as a Pa pointer.
【0044】次に、図1の構成のメモリカードにおける
動作について、(1)立ち上げ時の処理と、(2)アク
セス要求受け付け時処理とについて順次説明する。Next, with respect to the operation of the memory card having the configuration shown in FIG. 1, (1) a process at the time of startup and (2) a process at the time of receiving an access request will be sequentially described.
【0045】(1)立ち上げ時の処理 まず、図1のメモリカードの立ち上げ時、例えばパワー
オン時の処理について、図5のフローチャートを参照し
て説明する。(1) Processing at Startup First, processing at the start-up of the memory card of FIG. 1, for example, at power-on, will be described with reference to the flowchart of FIG.
【0046】制御部12内のマイクロプロセッサ121
は、図1のメモリカードに例えばホストシステムの電源
が供給されると、LTPa151及びLTPb152-i
がフラッシュメモリ15上に作成・保存されているか否
かを判定する(ステップS1)。この判定処理は、フラ
ッシュメモリ15の例えば先頭アドレスにデータが書か
れているか否か(具体的には、オール“1”でないか否
か、つまり消去状態にないか否か)を調べることにより
行われる。Microprocessor 121 in control unit 12
When, for example, the power of the host system is supplied to the memory card in FIG. 1, the LTPa 151 and the LTPb 152-i
Is created or stored in the flash memory 15 (step S1). This determination process is performed by checking whether or not data is written at, for example, the head address of the flash memory 15 (specifically, whether or not data is all “1”, that is, whether or not the flash memory 15 is in an erased state). Will be
【0047】マイクロプロセッサ121は、LTPa1
51及びLTPb152-iが作成・保存されていないと
判定した場合には、LTPb152-iのエントリ数Aを
決定する(ステップS2)。このLTPb152-iのエ
ントリ数Aは、例えば予め定められているLTPb領域
142のサイズBと、LTPb152-iの1エントリの
サイズCとから、A=B/Cにより決定される。ここで
は、B=2KB、C=2バイトであるものとすると、A
=2KB/2バイト=1K=1,024となる。The microprocessor 121 has the LTPa1
When it is determined that the LTPb 152-i and the LTPb 152-i have not been created and stored, the number of entries A of the LTPb 152-i is determined (step S2). The number A of entries of the LTPb 152-i is determined by, for example, A = B / C from a predetermined size B of the LTPb area 142 and a size C of one entry of the LTPb 152-i. Here, assuming that B = 2 KB and C = 2 bytes, A
= 2KB / 2 bytes = 1K = 1,024.
【0048】次にマイクロプロセッサ121は、LTP
b152-iの数Dを決定する(ステップS3)。このL
TPb152-iの数D(=2m)は、フラッシュメモリ
15のブロック数EをLTPb152-iのエントリ数A
で除することにより、つまりD=E/Aにより求められ
る。また、フラッシュメモリ15のブロック数Eは、1
ブロックのセクタ数Fと1セクタのバイト数Gとから算
出される1ブロックのサイズH(=F×G)と、フラッ
シュメモリ15の容量Iとから、E=I/H=I/(F
×G)により算出される。ここでは、1ブロックのセク
タ数Fを32、1セクタのバイト数を512とすると、
1ブロックのサイズHは、32×512=16KBであ
り、したがってI=64MBのフラッシュメモリ15の
ブロック数Eは、E=I/H=64MB/16KB=4
K=4,096である。Next, the microprocessor 121 executes the LTP
The number D of b152-i is determined (step S3). This L
The number D (= 2 m ) of TPb 152-i is obtained by changing the number E of blocks of the flash memory 15 to the number A of entries of LTPb 152-i.
, That is, D = E / A. The number E of blocks of the flash memory 15 is 1
From the size H (= F × G) of one block calculated from the number F of sectors of the block and the number G of bytes of one sector, and the capacity I of the flash memory 15, E = I / H = I / (F
× G). Here, assuming that the number of sectors F in one block is 32 and the number of bytes in one sector is 512,
The size H of one block is 32 × 512 = 16 KB. Therefore, the number E of blocks in the flash memory 15 with I = 64 MB is E = I / H = 64 MB / 16 KB = 4.
K = 4,096.
【0049】マイクロプロセッサ121は、LTPb1
52-iの個数DとLTPb152-iのエントリ数Aとを
決定すると、決定したエントリ数Aのエントリを有する
LTPb152-iの枠組(フォーマット)を、決定した
個数Dだけフラッシュメモリ15の管理領域153上に
作成・保存する(ステップS4)。ここでは、A=1,
024、D=4であることから、図4に示すように、エ
ントリ数が1,024の4つのLTPb152-0〜15
2-3の枠組が作成されて、フラッシュメモリ15の管理
領域153に保存される。この時点において、LTPb
152-0〜152-3の各エントリには何も書き込まれて
いない。、次にマイクロプロセッサ121は、作成・保
存したD(=4)個のLTPb152-iのフラッシュメ
モリ15上の保存位置の情報(先頭物理アドレス)が登
録されたエントリの群を持つLTPa151を作成し
て、フラッシュメモリ15の管理領域153に保存する
(ステップS5)。この際、マイクロプロセッサ121
はLTPa151のフラッシュメモリ15上の保存位置
の情報(先頭物理アドレスPAa)を、当該フラッシュ
メモリ15の例えば先頭位置に登録する。これにより、
以後の立ち上げ時処理では、LTPa151及びLTP
b152-iが作成・保存されていると判定される。ま
た、マイクロプロセッサ121は上記ステップS5にお
いて、上記作成したLTPa151をRAM14のLT
Pa領域141に格納する。なお、LTPa151の作
成を当該LTPa領域141上で行うならば、この格納
動作は不要となる。The microprocessor 121 has the LTPb1
When the number D of the 52-i and the number A of the entries of the LTPb 152-i are determined, the framework (format) of the LTPb 152-i having the determined number of entries A is changed to the management area 153 of the flash memory 15 by the determined number D. It is created and stored on the top (step S4). Here, A = 1,
024 and D = 4, as shown in FIG. 4, four LTPb 152-0 to 15 having 1,024 entries.
A 2-3 frame is created and stored in the management area 153 of the flash memory 15. At this point, LTPb
Nothing is written in each of the entries 152-0 to 152-3. Then, the microprocessor 121 creates an LTPa 151 having a group of entries in which information (head physical address) of storage positions of the created and stored D (= 4) LTPb 152-i on the flash memory 15 is registered. Then, it is stored in the management area 153 of the flash memory 15 (step S5). At this time, the microprocessor 121
Registers the information of the storage position of the LTPa 151 on the flash memory 15 (head physical address PAa), for example, at the head position of the flash memory 15. This allows
In the subsequent startup processing, LTPa 151 and LTP
It is determined that b152-i has been created and stored. In step S5, the microprocessor 121 stores the created LTPa 151 in the LT of the RAM 14.
It is stored in the Pa area 141. If the LTPa 151 is created on the LTPa area 141, this storing operation is not required.
【0050】次に、上記ステップS1で、LTPa15
1及びLTPb152-iが作成・保存されていると判定
された場合の処理について説明する。この場合、マイク
ロプロセッサ121は、フラッシュメモリ15からRA
M14のLTPa領域141にLTPa151を、同じ
くフラッシュメモリ15からRAM14のLTPb領域
142にLTPb152-iの1つ(ここではLTPb1
52-0〜152-3の1つ、例えばLTPb152-0)
を、それぞれコピーする(ステップS6)。そしてマイ
クロプロセッサ121は、RAM14のLTPb領域1
42にコピーしたLTPb152-iを示す情報、つまり
RAM14上にLTPb152-iが存在することを示す
情報をレジスタ122に設定する(ステップS7)。本
実施形態において、レジスタ122は、フラッシュメモ
リ15の容量が最大の256MBの場合に生成・保存さ
れるLTPb152-iの個数を考慮して、16テーブル
数分の有効フラグV0〜V15が保持される構成を適用し
ている。したがって、RAM14のLTPb領域142
にコピーされたLTPb152-iに対応する有効フラグ
Viのみをオンすることで、RAM14上に存在するL
TPb152-iが識別可能となる。つまり本実施形態で
は、上記有効フラグViが、RAM14上に存在するL
TPb152-iを示す情報となる。Next, at step S1, the LTPa 15
1 and LTPb 152-i will be described when it is determined that they have been created and stored. In this case, the microprocessor 121
An LTPa 151 is stored in the LTPa area 141 of the M14, and one of the LTPb 152-i is stored in the LTPb area 142 of the RAM 14 from the flash memory 15 (here, LTPb1).
52-0 to 152-3, for example, LTPb152-0)
Are copied (step S6). Then, the microprocessor 121 reads the LTPb area 1 of the RAM 14
The information indicating the LTPb 152-i copied to the RAM 42, that is, the information indicating that the LTPb 152-i exists on the RAM 14 is set in the register 122 (step S7). In the present embodiment, the register 122 holds valid flags V0 to V15 for 16 tables in consideration of the number of LTPb 152-i generated and stored when the capacity of the flash memory 15 is 256 MB. The configuration has been applied. Therefore, the LTPb area 142 of the RAM 14
By turning on only the valid flag Vi corresponding to the LTPb 152-i copied to the
TPb152-i can be identified. That is, in the present embodiment, the valid flag Vi is set to the L
This is information indicating TPb 152-i.
【0051】(2)アクセス要求受け付け時処理 次に、図1のメモリカードにおいて、ホストシステムか
らのフラッシュメモリ15に対するアクセス要求がホス
トインタフェース11で受け取られてマイクロプロセッ
サ121で受け付けられた場合の処理について、図6乃
至図8のフローチャートを参照して説明する。(2) Processing when Access Request is Accepted Next, in the memory card shown in FIG. 1, processing when an access request to the flash memory 15 from the host system is received by the host interface 11 and accepted by the microprocessor 121 , Will be described with reference to the flowcharts of FIGS.
【0052】まず、ホストシステムから送られるアクセ
ス要求には、書き込みまたは読み出しのいずれのアクセ
スであるかを示すコマンドと、論理アドレス空間上のア
クセス対象領域の先頭位置を示す論理アドレス(LA)
と、当該領域のサイズとが含まれている。First, the access request sent from the host system includes a command indicating write or read access, and a logical address (LA) indicating a head position of an access target area in a logical address space.
And the size of the area.
【0053】マイクロプロセッサ121は、ホストシス
テムからのアクセス要求中の論理アドレスが、フラッシ
ュメモリ15のデータ領域154に割り当てられている
論理アドレス空間の範囲内であるか否かをチェックする
(ステップS11)。The microprocessor 121 checks whether the logical address in the access request from the host system is within the range of the logical address space allocated to the data area 154 of the flash memory 15 (Step S11). .
【0054】もし、上記範囲外であるときは、マイクロ
プロセッサ121はアクセス違反としてホストシステム
にエラーを通知する。これに対し、範囲内であるとき
は、マイクロプロセッサ121は、要求された論理アド
レスに対応するLTPb152-iがRAM14上に存在
するか否かを判定する(ステップS12)。なお、この
ステップS12の前に、上記要求された論理アドレスと
サイズとから、複数のブロックにまたがるアクセス要求
であるか否かをチェックして、そうであればアクセス違
反を返し、そうでない場合だけステップS12に進むよ
うにするとよい。この他、複数のブロックにまたがるア
クセス要求の場合に、当該アクセス要求を各ブロック毎
のアクセス要求に変換し、内部的に複数のアクセス要求
として処理するようにしてもよい。If the value is outside the above range, the microprocessor 121 notifies the host system of an error as an access violation. On the other hand, if it is within the range, the microprocessor 121 determines whether or not the LTPb 152-i corresponding to the requested logical address exists in the RAM 14 (Step S12). Before this step S12, it is checked from the requested logical address and size whether the access request extends over a plurality of blocks. If so, an access violation is returned. It is preferable to proceed to step S12. In addition, when an access request extends over a plurality of blocks, the access request may be converted into an access request for each block, and internally processed as a plurality of access requests.
【0055】ここで、上記ステップS12での判定方法
について述べる。まずマイクロプロセッサ121は、要
求された論理アドレス中の前記14ビット論理ブロック
アドレスの上位4ビットの値iで指定される、レジスタ
122中の有効フラグViを参照する。そしてマイクロ
プロセッサ121は、参照した有効フラグViがオン状
態にあるか否かにより、要求された論理アドレスに対応
するLTPb152-iがRAM14上に存在するか否か
を判定する。なお、14ビット論理ブロックアドレスの
上位4ビットの値iにより対応する有効フラグViを選
択するセレクタを用意し、このセレクタの出力の論理状
態に応じて、上記の判定を行うようにしてもよい。Here, the determination method in step S12 will be described. First, the microprocessor 121 refers to the valid flag Vi in the register 122 specified by the value i of the upper 4 bits of the 14-bit logical block address in the requested logical address. Then, the microprocessor 121 determines whether or not the LTPb 152-i corresponding to the requested logical address exists in the RAM 14 based on whether or not the valid flag Vi referred to is on. It should be noted that a selector for selecting the corresponding valid flag Vi according to the value i of the upper 4 bits of the 14-bit logical block address may be prepared, and the above determination may be made according to the logical state of the output of this selector.
【0056】さて、要求された論理アドレスに対応する
LTPb152-iがRAM14上に存在しないと判定さ
れた場合、マイクロプロセッサ121はフラッシュメモ
リ15からRAM14のLTPb領域142に当該LT
Pb152-iをコピーする(ステップS13)。このL
TPb152-iのフラッシュメモリ15上の保存位置の
情報(物理アドレス)は、上記論理アドレス中の14ビ
ット論理ブロックアドレスの上位4ビットの値iによ
り、RAM14のLTPa領域141上のLTPa15
1の対応エントリを参照することで取得できる。When it is determined that the LTPb 152-i corresponding to the requested logical address does not exist in the RAM 14, the microprocessor 121 transfers the LT from the flash memory 15 to the LTPb area 142 of the RAM 14.
The Pb 152-i is copied (step S13). This L
The information (physical address) of the storage location of the TPb 152-i on the flash memory 15 is determined by the value of the upper 4 bits i of the 14-bit logical block address in the logical address, and the LTPa 15 in the LTPa area 141 of the RAM 14.
1 can be obtained by referring to the corresponding entry.
【0057】そしてマイクロプロセッサ121は、上記
論理アドレス中の14ビット論理ブロックアドレスの上
位4ビットの値iで指定される、レジスタ122中の有
効フラグViをオンする(ステップS14)。このと
き、既にオン状態にある別の有効フラグが存在するとき
は、その有効フラグをオフする。Then, the microprocessor 121 turns on the validity flag Vi in the register 122 specified by the value i of the upper 4 bits of the 14-bit logical block address in the logical address (step S14). At this time, if there is another valid flag that is already on, the valid flag is turned off.
【0058】マイクロプロセッサ121は、要求された
論理アドレスに対応するLTPb152-iがRAM14
上に存在しないと判定された場合には上記ステップS1
3,S14の後に、存在すると判定された場合にはその
まま、ステップS15に進み、LTPb領域142上の
LTPb152-iを利用して、要求された論理アドレス
を物理アドレスに変換するアドレス変換処理を行う。The microprocessor 121 stores the LTPb 152-i corresponding to the requested logical address in the RAM 14
If it is determined that the information does not exist on the upper side, the above-described step S1 is performed.
3. After S14, if it is determined that the address exists, the process directly proceeds to step S15 to perform an address conversion process of converting the requested logical address into a physical address using the LTPb 152-i in the LTPb area 142. .
【0059】以下、ステップS15のアドレス変換処理
の詳細を、図8のフローチャートを参照して説明する。
まずマイクロプロセッサ121は、要求された論理アド
レス中の14ビット論理ブロックアドレスにより、RA
M14のLTPb領域142上に置かれているLTPb
152-iの対応エントリを参照する(ステップS3
1)。The details of the address conversion process in step S15 will be described below with reference to the flowchart in FIG.
First, the microprocessor 121 uses the 14-bit logical block address in the requested logical address to write the RA
LTPb located on the LTPb area 142 of M14
The corresponding entry of 152-i is referred to (step S3).
1).
【0060】次にマイクロプロセッサ121は、参照し
たエントリにデータが書かれているか否か(消去状態で
あるオール“1”であるか)により、14ビット論理ブ
ロックアドレスで指定されるブロックの物理アドレス
(PA)が設定されているか否かを判定する(ステップ
S32)。本実施形態において、LTPb152-iのエ
ントリに実際に登録されるのは、物理アドレスの下位1
4ビットを除く物理ブロックアドレスである。しかし、
物理ブロックアドレスの下位側に全ビットが“0”の1
4ビットのデータ、つまり14ビットのオール“0”デ
ータを連結すれば、該当するブロックの先頭物理アドレ
スを示すことから、当該物理アドレスが登録されている
のと実質的には同じである。Next, the microprocessor 121 determines whether or not the data is written in the referenced entry (whether the data is in the erased state or all "1"), and determines the physical address of the block designated by the 14-bit logical block address. It is determined whether or not (PA) is set (step S32). In the present embodiment, what is actually registered in the entry of LTPb 152-i is the lower one of the physical address.
This is a physical block address excluding 4 bits. But,
1 in which all bits are “0” at the lower side of the physical block address
If 4-bit data, that is, 14-bit all “0” data is concatenated, it indicates the head physical address of the corresponding block, and is substantially the same as the registration of the physical address.
【0061】マイクロプロセッサ121は、参照エント
リに物理アドレス(物理ブロックアドレス)が設定され
ていない場合、フラッシュメモリ15のデータ領域15
4の中から空き領域、つまりブロック内の各セクタの冗
長部に論理ブロックアドレスが書かれてない空きブロッ
クを1つ確保し、当該空きブロックの各セクタの冗長部
に、上記要求された論理アドレス中の論理ブロックアド
レスを書き込む(ステップS33)。つまり、確保した
空きブロックに、要求された論理アドレス中の論理ブロ
ックアドレスを割り当てる。When the physical address (physical block address) is not set in the reference entry, the microprocessor 121
4, one empty block in which no logical block address is written is reserved in the empty area, that is, the redundant section of each sector in the block, and the requested logical address is stored in the redundant section of each sector of the empty block. The middle logical block address is written (step S33). That is, a logical block address in the requested logical address is allocated to the reserved empty block.
【0062】次にマイクロプロセッサ121は、RAM
14のLTPb領域142上に置かれているLTPb1
52-iの上記参照エントリと、フラッシュメモリ15に
保存されている複数のLTPbのうちのLTPb152
-iの対応エントリ(要求された論理アドレス中の14ビ
ット論理ブロックアドレスにより指定されるエントリ)
とに、上記確保した(論理ブロックアドレスの割り当て
を行った)ブロックの先頭物理アドレス(中の14ビッ
ト物理ブロックアドレス)を書き込む(ステップS3
4)。Next, the microprocessor 121 has a RAM
LTPb1 located on the 14 LTPb area 142
The reference entry 52-i and the LTPb 152 of the plurality of LTPb stored in the flash memory 15
-i corresponding entry (entry specified by 14-bit logical block address in requested logical address)
Then, the head physical address (the 14-bit physical block address therein) of the secured (the logical block address has been allocated) block is written (step S3).
4).
【0063】マイクロプロセッサ121は、上記参照し
たエントリに物理アドレス(物理ブロックアドレス)が
設定されている場合には、当該物理アドレス(物理ブロ
ックアドレス)を、設定されていない場合には、ステッ
プS34で新たに書き込んだ物理アドレス(物理ブロッ
クアドレス)を取得する(ステップS35)。本実施形
態のように、物理ブロックアドレスが取得される構成で
は、当該物理ブロックアドレスの下位側に、上記要求さ
れた論理アドレスの下位14ビット(つまり、5ビット
のセクタアドレスと9ビットのセクタ内アドレスとから
なる14ビット)を連結することで、目的の物理アドレ
スが得られる。また、下位14ビットがオール“0”の
物理アドレスが取得される構成を適用する場合には、当
該物理アドレスに上記要求された論理アドレスの下位1
4ビットを加算することでも、目的の物理アドレスが得
られる。以上により、ステップS15のアドレス変換処
理は終了となる。If a physical address (physical block address) is set in the entry referred to, the microprocessor 121 sets the physical address (physical block address) if it is not set. The newly written physical address (physical block address) is obtained (step S35). In the configuration in which the physical block address is obtained as in this embodiment, the lower 14 bits of the requested logical address (that is, the 5-bit sector address and the 9-bit sector By concatenating (14 bits consisting of an address), a target physical address can be obtained. When applying a configuration in which a physical address whose lower 14 bits are all “0” is applied, the lower 1 bit of the requested logical address is added to the physical address.
The target physical address can also be obtained by adding 4 bits. Thus, the address conversion processing in step S15 ends.
【0064】さてマイクロプロセッサ121は、ステッ
プS15のアドレス変換終了処理で、要求された論理ア
ドレス(LA)に対応するフラッシュメモリ15の物理
アドレス(PA)を取得すると、当該物理アドレス(P
A)を用いてフラッシュメモリ15をアクセスし、当該
物理アドレス(PA)で指定される位置から始まる要求
されたサイズ分の領域を対象とする、要求された書き込
みまたは読み出しを行う(ステップS16)。ここで、
読み出しアクセス時には、読み出したデータがホストイ
ンタフェース11を介してホストシステムに転送され
る。When the microprocessor 121 obtains the physical address (PA) of the flash memory 15 corresponding to the requested logical address (LA) in the address conversion end processing in step S15, the microprocessor 121
The flash memory 15 is accessed using A), and the requested writing or reading is performed on the area of the requested size starting from the position specified by the physical address (PA) (step S16). here,
At the time of read access, read data is transferred to the host system via the host interface 11.
【0065】次にマイクロプロセッサ121は、書き込
みまたは読み出しのいずれのアクセスであるかをチェッ
クし(ステップS17)、読み出しアクセスの場合であ
れば、一連のアクセス要求受け付け時処理を終了する。Next, the microprocessor 121 checks whether the access is a write access or a read access (step S17). If the access is a read access, the microprocessor 121 terminates a series of processing at the time of accepting an access request.
【0066】これに対し、書き込みアクセスの場合に
は、マイクロプロセッサ121は書き込みエラーの有無
を判定する(ステップS18)。この判定は、書き込ん
だデータを読み出し、その読み出したデータと元の書き
込みデータとを比較することで行われ、比較結果が不一
致を示している場合に書き込みエラーが判定される。On the other hand, in the case of a write access, the microprocessor 121 determines whether there is a write error (step S18). This determination is made by reading the written data and comparing the read data with the original write data. If the comparison result indicates a mismatch, a write error is determined.
【0067】マイクロプロセッサ121は、書き込みエ
ラーがない場合には、一連のアクセス要求受け付け時処
理を終了する。これに対し、書き込みエラーがある場合
には、マイクロプロセッサ121は、書き込みエラーが
発生したセクタを含むブロック全体が欠陥であるものと
して、つまりブロックエラーであるものとして、ブロッ
ク全体を他の空きブロックに代替するための処理を次の
ように行う。If there is no write error, the microprocessor 121 ends a series of processing at the time of accepting an access request. On the other hand, if there is a write error, the microprocessor 121 determines that the entire block including the sector in which the write error has occurred is defective, that is, the block 121 The processing for substitution is performed as follows.
【0068】まずマイクロプロセッサ121は、フラッ
シュメモリ15のフラッシュメモリ15から代替先のブ
ロックとして空きブロックを1つ確保し、当該空きブロ
ックの各セクタの冗長部に、上記要求された論理アドレ
ス中の論理ブロックアドレスを書き込む、前記ステップ
S33と同様の処理を行う(ステップS19)。First, the microprocessor 121 secures one free block from the flash memory 15 of the flash memory 15 as an alternative block, and stores the logical portion of the requested logical address in the redundant portion of each sector of the free block. A process similar to the above-mentioned step S33 for writing the block address is performed (step S19).
【0069】次にマイクロプロセッサ121は、RAM
14のLTPb領域142上に置かれているLTPb1
52-iと、フラッシュメモリ15に保存されている複数
のLTPbのうちのLTPb152-iとにおける該当す
る両エントリ、即ち要求された論理アドレス中の14ビ
ット論理ブロックアドレスにより指定される両エントリ
の内容を、上記確保した(論理ブロックアドレスの割り
当てを行った)代替先ブロックの先頭物理アドレス(中
の14ビット物理ブロックアドレス)に更新する(ステ
ップS20)。Next, the microprocessor 121 has a RAM
LTPb1 located on the 14 LTPb area 142
52-i and the corresponding entries in LTPb 152-i of the plurality of LTPbs stored in the flash memory 15, that is, the contents of both entries specified by the 14-bit logical block address in the requested logical address Is updated to the first physical address (the 14-bit physical block address therein) of the reserved alternative block (the logical block address has been allocated) (step S20).
【0070】次にマイクロプロセッサ121は、ブロッ
クエラーと判定された旧ブロックのデータを、代替先ブ
ロックにコピーする(ステップS21)。そしてマイク
ロプロセッサ121は、上記ステップS20で更新した
物理ブロックアドレスから取得される物理アドレス(P
A)を用いて、フラッシュメモリ15を再アクセスし、
当該物理アドレス(PA)で指定される位置から始まる
要求されたサイズ分の領域を対象とする要求された書き
込みを行う(ステップS22)。Next, the microprocessor 121 copies the data of the old block determined as a block error to the replacement destination block (step S21). Then, the microprocessor 121 sends the physical address (P) acquired from the physical block address updated in step S20.
Using A), the flash memory 15 is accessed again,
The requested writing is performed on the area of the requested size starting from the position specified by the physical address (PA) (step S22).
【0071】もし、この再アクセスにより書き込みが正
常に行われたならば、一連のアクセス要求受け付け時処
理は終了となる。これに対し、再び書き込みエラーとな
ったなら、上記ステップS19以降のブロック代替処理
と、代替先ブロックを対象とする再書き込み処理とが行
われる。以上の処理が所定回数繰り返されても、書き込
みが正常に行われない場合には、エラー終了となる。If writing is normally performed by this re-access, a series of processing at the time of accepting an access request ends. On the other hand, if a write error occurs again, the block replacement process of step S19 and subsequent steps and the rewrite process for the replacement destination block are performed. If the above processing is repeated a predetermined number of times and the writing is not performed normally, an error ends.
【0072】なお、前記実施形態では、LTPb152
-iは初期状態において枠組だけが作成されるものとして
説明したが、最初からエントリ内容が登録されたLTP
b152-iが作成される構成であっても構わない。In the above embodiment, the LTPb 152
-i has been described on the assumption that only the framework is created in the initial state, but the LTP in which the entry contents are registered from the beginning
b152-i may be created.
【0073】[0073]
【発明の効果】以上詳述したように本発明によれば、論
理アドレスを物理アドレスに変換するためのアドレス変
換テーブルが複数のアドレス変換テーブルに分割されて
書き換え可能不揮発性メモリ上に保存される一方、その
うちの1つだけが揮発性メモリ上のアドレス変換テーブ
ル領域に置かれてアドレス変換に用いられる構成とした
ので、書き換え可能不揮発性メモリの記憶容量が増加し
ても揮発性メモリの容量が増加するのを抑えることがで
きる。As described above in detail, according to the present invention, an address translation table for translating a logical address into a physical address is divided into a plurality of address translation tables and stored in a rewritable nonvolatile memory. On the other hand, only one of them is placed in the address conversion table area on the volatile memory and used for the address conversion. Therefore, even if the storage capacity of the rewritable nonvolatile memory is increased, the capacity of the volatile memory is increased. The increase can be suppressed.
【0074】また、本発明によれば、書き換え可能不揮
発性メモリをアクセスするために与えられた論理アドレ
スに対応するアドレス変換テーブルが揮発性メモリ上に
存在しないテーブルミスの場合に、当該アドレス変換テ
ーブルを書き換え可能不揮発性メモリから揮発性メモリ
にコピーしてアドレス変換に供するようにしたので、書
き換え可能不揮発性メモリの記憶容量が増加しても揮発
性メモリの容量が増加するのを抑えながら、テーブルミ
ス時のペナルティを最小限に抑えてリアルタイム用途に
対応することができる。Further, according to the present invention, when the address translation table corresponding to the logical address given to access the rewritable nonvolatile memory is not present in the volatile memory, the address translation table is deleted. Is copied from the rewritable non-volatile memory to the volatile memory and subjected to address conversion. Therefore, even if the storage capacity of the rewritable non-volatile memory is increased, the increase in the capacity of the volatile memory is suppressed. The penalty at the time of a mistake can be minimized and it can respond to real-time use.
【図1】本発明の一実施形態に係るメモリカードの全体
構成を示すブロック図。FIG. 1 is a block diagram showing an overall configuration of a memory card according to an embodiment of the present invention.
【図2】図1中のフラッシュメモリ15の管理単位とし
てのブロックを説明するための図。FIG. 2 is a diagram for explaining a block as a management unit of the flash memory 15 in FIG. 1;
【図3】同実施形態で適用される論理アドレスと物理ア
ドレスとの対応関係を説明するための図。FIG. 3 is an exemplary view for explaining a correspondence relationship between a logical address and a physical address applied in the embodiment;
【図4】同実施形態で適用されるLTPa151及びL
TPb152-iを説明するための図。FIG. 4 shows LTPas 151 and L applied in the embodiment.
The figure for demonstrating TPb152-i.
【図5】同実施形態における立ち上げ時処理を説明する
ためのフローチャート。FIG. 5 is a flowchart for explaining startup processing according to the embodiment;
【図6】同実施形態におけるアクセス要求受け付け時処
理を説明するためのフローチャートの一部を示す図。FIG. 6 is an exemplary view showing a part of a flowchart for explaining processing at the time of receiving an access request in the embodiment;
【図7】同実施形態におけるアクセス要求受け付け時処
理を説明するためのフローチャートの残りを示す図。FIG. 7 is an exemplary remaining portion of the flowchart for explaining the process at the time of accepting an access request according to the embodiment;
【図8】図6中のステップS15のアドレス変換処理の
詳細な手順を説明するためのフローチャート。FIG. 8 is a flowchart illustrating a detailed procedure of an address conversion process in step S15 in FIG. 6;
12…制御部 13…ROM 14…RAM(揮発性メモリ) 15…フラッシュメモリ(書き換え可能不揮発性メモ
リ) 121…マイクロプロセッサ(MPU、アドレス変換手
段、ヒット/ミスヒット判定手段、コピー手段、物理ア
ドレス登録手段、ブロック代替手段、テーブル作成判定
手段、テーブル作成手段) 122…レジスタ(REG、参照用テーブル指定手段) 141…LTPa領域(ポインタテーブル領域) 142…LTPb領域(アドレス変換テーブル領域) 151…LTPa(ポインタテーブル) 152-0〜152-3,152-i…LTPb(アドレス変
換テーブル) 153…管理領域 154…データ領域DESCRIPTION OF SYMBOLS 12 ... Control part 13 ... ROM 14 ... RAM (volatile memory) 15 ... Flash memory (rewritable nonvolatile memory) 121 ... Microprocessor (MPU, address conversion means, hit / miss hit determination means, copy means, physical address registration) Means, block replacement means, table creation determination means, table creation means) 122 ... register (REG, reference table designating means) 141 ... LTPa area (pointer table area) 142 ... LTPb area (address conversion table area) 151 ... LTPa ( Pointer table) 152-0 to 152-3, 152-i LTPb (address conversion table) 153 Management area 154 Data area
Claims (11)
たメモリカードにおいて、 前記書き換え可能不揮発性メモリをアクセスするために
与えられる論理アドレスを物理アドレスに変換するのに
用いられる、それぞれ異なる論理アドレス範囲に対応付
けられた複数のアドレス変換テーブルであって、前記書
き換え可能不揮発性メモリに保存される複数のアドレス
変換テーブルと、 前記書き換え可能不揮発性メモリ上の前記複数のアドレ
ス変換テーブルの1つを格納するためのアドレス変換テ
ーブル領域が確保される揮発性メモリと、 前記書き換え可能不揮発性メモリをアクセスするための
論理アドレスが与えられた場合、前記揮発性メモリ上の
前記アドレス変換テーブルを利用して当該論理アドレス
を物理アドレスに変換するアドレス変換手段とを具備す
ることを特徴とするメモリカード。1. A memory card equipped with a rewritable nonvolatile memory, wherein different logical address ranges used to convert a logical address given to access the rewritable nonvolatile memory into a physical address are provided. A plurality of address translation tables associated with each other, wherein one of the plurality of address translation tables stored in the rewritable nonvolatile memory and the plurality of address translation tables on the rewritable nonvolatile memory is stored. And a logical memory for accessing the rewritable non-volatile memory provided with an address conversion table area for the logical memory using the address conversion table on the volatile memory. Address translator that translates addresses into physical addresses A memory card comprising: a step;
セスするための論理アドレスが与えられた場合、当該論
理アドレスが属する論理アドレス範囲に対応する前記ア
ドレス変換テーブルが前記揮発性メモリ上に存在するか
否かを判定するヒット/ミスヒット判定手段と、 前記ヒット/ミスヒット判定手段により前記対応するア
ドレス変換テーブルが前記揮発性メモリ上に存在しない
と判定された場合、当該アドレス変換テーブルを前記書
き換え可能不揮発性メモリから前記揮発性メモリ上の前
記アドレス変換テーブル領域にコピーするコピー手段と
を更に具備することを特徴とする請求項1記載のメモリ
カード。2. When a logical address for accessing the rewritable nonvolatile memory is given, whether or not the address conversion table corresponding to a logical address range to which the logical address belongs exists in the volatile memory. Hit / mishit determining means for determining whether or not the corresponding address translation table does not exist in the volatile memory by the hit / mishit determining means. 2. The memory card according to claim 1, further comprising: copying means for copying from the volatile memory to the address conversion table area on the volatile memory.
ぞれ保存されている前記書き換え可能不揮発性メモリ上
の保存位置情報を、当該アドレス変換テーブルに固有の
論理アドレス範囲に対応付けて登録したポインタテーブ
ルを更に具備し、 前記コピー手段は、前記ヒット/ミスヒット判定手段に
より前記対応するアドレス変換テーブルが前記揮発性メ
モリ上に存在しないと判定された場合、前記ポインタテ
ーブルを参照して対応する保存位置情報を取得し、当該
保存位置情報の示す前記書き換え可能不揮発性メモリ上
の前記アドレス変換テーブルを前記揮発性メモリ上の前
記アドレス変換テーブル領域にコピーすることを特徴と
する請求項2記載のメモリカード。3. A pointer table in which storage position information in the rewritable nonvolatile memory in which each of the plurality of address conversion tables is stored is associated with a logical address range unique to the address conversion table. When the hit / mishit determination unit determines that the corresponding address conversion table does not exist on the volatile memory, the copy unit refers to the pointer table and stores corresponding storage position information. 3. The memory card according to claim 2, wherein the memory card is acquired and the address translation table on the rewritable nonvolatile memory indicated by the storage location information is copied to the address translation table area on the volatile memory.
れが前記揮発性メモリに格納されているかを指定するた
めの参照用テーブル指定手段を更に具備し、 前記ヒット/ミスヒット判定手段は、前記与えられた論
理アドレスが属する論理アドレス範囲に対応する前記ア
ドレス変換テーブルが前記揮発性メモリ上に存在するか
否かを前記参照用テーブル指定手段の指定内容に基づい
て判定することを特徴とする請求項2記載のメモリカー
ド。4. The apparatus according to claim 1, further comprising a reference table designating unit for designating which of the plurality of address conversion tables is stored in the volatile memory, wherein the hit / mishit determination unit is configured to determine whether the hit / miss hit is determined by the given address conversion table. And determining whether or not the address conversion table corresponding to the logical address range to which the selected logical address belongs exists in the volatile memory based on the contents specified by the reference table specifying means. The memory card as described.
られる複数のブロックからなる書き換え可能な不揮発性
メモリを搭載したメモリカードにおいて、 論理アドレス中の論理ブロックアドレスにより指定可能
な、当該論理ブロックアドレスが割り当てられるブロッ
クの前記書き換え可能不揮発性メモリの物理アドレスが
登録されるエントリの群を有する複数のアドレス変換テ
ーブルであって、前記論理ブロックアドレスの所定フィ
ールドの内容が共通のブロック群を単位に用意されて前
記書き換え可能不揮発性メモリに保存される複数のアド
レス変換テーブルと、 前記書き換え可能不揮発性メモリ上の前記複数のアドレ
ス変換テーブルの1つを格納するためのアドレス変換テ
ーブル領域が確保される揮発性メモリと、 前記書き換え可能不揮発性メモリをアクセスするための
論理アドレスが与えられた場合、当該論理アドレスの前
記所定フィールドに対応する前記アドレス変換テーブル
が前記揮発性メモリ上に存在するか否かを判定するヒッ
ト/ミスヒット判定手段と、 前記ヒット/ミスヒット判定手段により前記対応するア
ドレス変換テーブルが前記揮発性メモリ上に存在しない
と判定された場合、当該アドレス変換テーブルを前記書
き換え可能不揮発性メモリから前記揮発性メモリ上の前
記アドレス変換テーブル領域にコピーするコピー手段
と、 前記ヒット/ミスヒット判定手段により前記対応するア
ドレス変換テーブルが前記揮発性メモリ上に存在すると
判定された場合にはそのまま、存在しないと判定された
場合には当該アドレス変換テーブルが前記コピー手段に
より前記揮発性メモリにコピーされるのを待って、前記
与えられた論理アドレス中の論理ブロックアドレスによ
り当該揮発性メモリ上の前記アドレス変換テーブルの対
応するエントリを参照することで、前記与えられた論理
アドレスを対応する物理アドレスに変換するアドレス変
換手段とを具備することを特徴とするメモリカード。5. A memory card equipped with a rewritable nonvolatile memory composed of a plurality of blocks to which a unique logical block address is assigned, wherein the logical block address, which can be designated by a logical block address in the logical address, is assigned. A plurality of address conversion tables each having a group of entries in which physical addresses of the rewritable nonvolatile memory of the blocks are registered, wherein contents of a predetermined field of the logical block address are prepared in units of a common block group. A plurality of address translation tables stored in a rewritable nonvolatile memory; a volatile memory in which an address translation table area for storing one of the plurality of address translation tables on the rewritable nonvolatile memory is secured; The rewritable nonvolatile When a logical address for accessing a volatile memory is given, hit / mishit determination is performed to determine whether the address conversion table corresponding to the predetermined field of the logical address exists in the volatile memory. Means, when the hit / mishit determination means determines that the corresponding address conversion table does not exist in the volatile memory, reads the address conversion table from the rewritable nonvolatile memory to the volatile memory. Copy means for copying to the address conversion table area; and when the hit / mishit determination means determines that the corresponding address conversion table exists on the volatile memory, it is determined that the corresponding address conversion table does not exist. The address conversion table is previously stored by the copying means. Waiting to be copied to the volatile memory, and referring to the corresponding entry of the address translation table on the volatile memory by the logical block address in the given logical address, the given logical address And an address conversion means for converting the data into a corresponding physical address.
前記アドレス変換テーブルのエントリに前記物理アドレ
スが登録されていない場合、前記書き換え可能不揮発性
メモリ上の空きブロックを捜して当該ブロックに前記与
えられた論理アドレス中の論理ブロックアドレスを割り
当てて、当該ブロックの物理アドレスを、前記参照エン
トリと、前記書き換え可能不揮発性メモリ上の対応する
前記アドレス変換テーブルのエントリとに書き込む物理
アドレス登録手段を更に具備することを特徴とする請求
項5記載のメモリカード。6. When the physical address is not registered in an entry of the address translation table referred to by the address translation means, a search is made for a free block in the rewritable nonvolatile memory, and There is further provided physical address registration means for allocating a logical block address in the logical address and writing the physical address of the block into the reference entry and the corresponding entry in the address conversion table on the rewritable nonvolatile memory. 6. The memory card according to claim 5, wherein:
物理アドレスを用いて前記書き換え可能不揮発性メモリ
に対する書き込みを行った結果ブロックエラーが発生し
た場合、前記書き換え可能不揮発性メモリ上の空きブロ
ックを捜して当該ブロックに前記与えられた論理アドレ
ス中の論理ブロックアドレスを割り当てて、当該ブロッ
クの物理アドレスで、前記参照エントリと、前記書き換
え可能不揮発性メモリ上の対応する前記アドレス変換テ
ーブルのエントリを更新するブロック代替手段を更に具
備することを特徴とする請求項5記載のメモリカード。7. When a block error occurs as a result of writing to the rewritable nonvolatile memory using the physical address converted by the address conversion means, an empty block on the rewritable nonvolatile memory is searched for. A block for allocating a logical block address in the given logical address to the block and updating the reference entry and the corresponding entry of the address translation table on the rewritable nonvolatile memory with the physical address of the block The memory card according to claim 5, further comprising alternative means.
性メモリに前記アドレス変換テーブルが作成・保存され
ているか否かを判定するテーブル作成判定手段を更に具
備し、 前記コピー手段は、前記テーブル作成判定手段により前
記複数のアドレス変換テーブルが前記書き換え可能不揮
発性メモリに作成・保存されていると判定された場合、
当該複数のアドレス変換テーブルの1つを前記揮発性メ
モリ上の前記アドレス変換テーブル領域にコピーするこ
とを特徴とする請求項5記載のメモリカード。8. The system according to claim 1, further comprising a table creation determining unit configured to determine whether or not the address conversion table is created and stored in the rewritable nonvolatile memory at the time of startup. When it is determined by the means that the plurality of address conversion tables are created and stored in the rewritable nonvolatile memory,
6. The memory card according to claim 5, wherein one of the plurality of address conversion tables is copied to the address conversion table area on the volatile memory.
数のアドレス変換テーブルが前記書き換え可能不揮発性
メモリに作成・保存されていないと判定された場合、前
記複数のアドレス変換テーブルの枠組と、前記ポインタ
テーブルとを作成して前記書き換え可能不揮発性メモリ
に保存することを特徴とするテーブル作成手段を更に具
備することを特徴とする請求項8記載のメモリカード。9. When the table creation determining means determines that the plurality of address conversion tables are not created and stored in the rewritable nonvolatile memory, a framework of the plurality of address conversion tables and the pointer table 9. The memory card according to claim 8, further comprising: a table creating unit for creating a table and storing the table in the rewritable nonvolatile memory.
したメモリカードに適用されるアドレス変換方法におい
て、 前記書き換え可能不揮発性メモリをアクセスするために
与えられる論理アドレスを物理アドレスに変換するのに
用いられる複数のアドレス変換テーブルであって、それ
ぞれ異なる論理アドレス範囲に対応付けられた複数のア
ドレス変換テーブルを前記書き換え可能不揮発性メモリ
に保存する一方、当該アドレス変換テーブルの1つを揮
発性メモリ上に確保したアドレス変換テーブル領域に格
納し、 前記書き換え可能不揮発性メモリをアクセスするための
論理アドレスが与えられた場合、前記揮発性メモリ上の
前記アドレス変換テーブルを利用して当該論理アドレス
を物理アドレスに変換することを特徴とするアドレス変
換方法。10. An address conversion method applied to a memory card equipped with a rewritable nonvolatile memory, wherein the method is used to convert a logical address given to access the rewritable nonvolatile memory into a physical address. A plurality of address translation tables, each of which is associated with a different logical address range, is stored in the rewritable nonvolatile memory, and one of the address translation tables is secured in a volatile memory. When a logical address for accessing the rewritable nonvolatile memory is given, the logical address is converted to a physical address using the address conversion table on the volatile memory. Address translation method characterized by performing
複数のブロックからなる書き換え可能な不揮発性メモリ
を搭載したメモリカードに適用されるアドレス変換方法
において、 論理アドレス中の論理ブロックアドレスにより指定可能
な、当該論理ブロックアドレスが割り当てられるブロッ
クの前記書き換え可能不揮発性メモリの物理アドレスが
登録されるエントリの群を有するアドレス変換テーブル
を、前記論理ブロックアドレスの所定フィールドの内容
が共通のブロック群を単位に用意して、前記書き換え可
能不揮発性メモリに保存する一方、当該アドレス変換テ
ーブルの1つを揮発性メモリ上に確保したアドレス変換
テーブル領域に格納し、 前記書き換え可能不揮発性メモリをアクセスするための
論理アドレスが与えられた場合に、当該論理アドレスの
前記所定フィールドに対応する前記アドレス変換テーブ
ルが前記揮発性メモリ上に存在するか否かを判定し、 前記対応するアドレス変換テーブルが前記揮発性メモリ
上に存在しないと判定した場合、当該アドレス変換テー
ブルを前記書き換え可能不揮発性メモリから前記揮発性
メモリ上の前記アドレス変換テーブル領域にコピーし、 前記対応するアドレス変換テーブルが前記揮発性メモリ
上に存在すると判定した場合にはそのまま、存在しない
と判定した場合には当該アドレス変換テーブルを前記揮
発性メモリにコピーした後に、前記与えられた論理アド
レス中の論理ブロックアドレスにより当該揮発性メモリ
上の前記アドレス変換テーブルの対応するエントリを参
照することで、前記与えられた論理アドレスを対応する
物理アドレスに変換することを特徴とするアドレス変換
方法。11. An address conversion method applied to a memory card equipped with a rewritable nonvolatile memory composed of a plurality of blocks to which a unique logical address is assigned, wherein the address conversion method can be specified by a logical block address in the logical address. An address conversion table having a group of entries in which physical addresses of the rewritable nonvolatile memory of a block to which a logical block address is assigned is prepared for each block group having a common content of a predetermined field of the logical block address. While storing in the rewritable nonvolatile memory, one of the address conversion tables is stored in an address conversion table area secured on the volatile memory, and the logical address for accessing the rewritable nonvolatile memory is If given, It is determined whether or not the address translation table corresponding to the predetermined field of the logical address exists on the volatile memory. If it is determined that the corresponding address translation table does not exist on the volatile memory, The address translation table is copied from the rewritable nonvolatile memory to the address translation table area on the volatile memory. If it is determined that the corresponding address translation table exists on the volatile memory, the address translation table does not exist. If it is determined that the address translation table is copied to the volatile memory, the logical block address in the given logical address refers to the corresponding entry of the address translation table on the volatile memory. And the corresponding logical address is An address translation method characterized by translating into a physical address.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32131099A JP2001142774A (en) | 1999-11-11 | 1999-11-11 | Memory card and address conversion method applied to the card |
| US09/708,423 US6377500B1 (en) | 1999-11-11 | 2000-11-09 | Memory system with a non-volatile memory, having address translating function |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32131099A JP2001142774A (en) | 1999-11-11 | 1999-11-11 | Memory card and address conversion method applied to the card |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2001142774A true JP2001142774A (en) | 2001-05-25 |
Family
ID=18131166
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32131099A Pending JP2001142774A (en) | 1999-11-11 | 1999-11-11 | Memory card and address conversion method applied to the card |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2001142774A (en) |
Cited By (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2003056432A1 (en) * | 2001-12-25 | 2003-07-10 | Sony Corporation | Memory device and recording/reproducing apparatus using the same |
| US6646917B1 (en) | 2002-10-10 | 2003-11-11 | Mitsubishi Denki Kabushiki Kaisha | Storage device managing nonvolatile memory by converting logical address to physical address of nonvolatile memory |
| JP2005092678A (en) * | 2003-09-19 | 2005-04-07 | Matsushita Electric Ind Co Ltd | Semiconductor memory card and nonvolatile memory data erasing method |
| US6901499B2 (en) * | 2002-02-27 | 2005-05-31 | Microsoft Corp. | System and method for tracking data stored in a flash memory device |
| JP2006011533A (en) * | 2004-06-22 | 2006-01-12 | Toshiba Corp | Memory card, semiconductor device, and control method of semiconductor memory |
| US7076599B2 (en) | 2002-02-27 | 2006-07-11 | Microsoft Corporation | Transactional file system for flash memory |
| US7082512B2 (en) | 2002-11-21 | 2006-07-25 | Microsoft Corporation | Dynamic data structures for tracking file system free space in a flash memory device |
| US7085879B2 (en) | 2002-02-27 | 2006-08-01 | Microsoft Corporation | Dynamic data structures for tracking data stored in a flash memory device |
| JP2006221627A (en) * | 2005-02-07 | 2006-08-24 | Samsung Electronics Co Ltd | Adaptive flash memory controller employing multiple mapping techniques and flash memory system including the same |
| JP2006523882A (en) | 2003-04-14 | 2006-10-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Format mapping method for universal drive device |
| WO2006126445A1 (en) * | 2005-05-23 | 2006-11-30 | Matsushita Electric Industrial Co., Ltd. | Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method |
| WO2007033614A1 (en) * | 2005-09-25 | 2007-03-29 | Netac Technology Co., Ltd. | Data management method in flash memory medium |
| JP2007519996A (en) * | 2003-12-30 | 2007-07-19 | サンディスク コーポレイション | Nonvolatile memory and method with phased program fault handling |
| JP2007206957A (en) * | 2006-02-01 | 2007-08-16 | Sony Corp | IC card, information processing system, integrated circuit chip, and data processing device |
| CN100356400C (en) * | 2003-11-07 | 2007-12-19 | 希旺科技股份有限公司 | Emulated SmartMedia/xD-Picture memory cards that can use any non-volatile memory |
| JP2008117299A (en) * | 2006-11-07 | 2008-05-22 | Fuji Xerox Co Ltd | Storage medium control apparatus |
| US7516344B2 (en) | 2005-01-28 | 2009-04-07 | Panasonic Corporation | Memory system |
| JP2009199242A (en) * | 2008-02-20 | 2009-09-03 | Tdk Corp | Memory controller, flash memory system equipped with memory controller, and control method for flash memory |
| JP2009245163A (en) * | 2008-03-31 | 2009-10-22 | Tdk Corp | Memory controller, flash memory system having memory controller and control method for flash memory |
| US7925821B2 (en) | 2007-02-05 | 2011-04-12 | Sony Corporation | Nonvolatile semiconductor storage device and method of managing the same |
| JP2012505472A (en) * | 2008-10-13 | 2012-03-01 | マイクロン テクノロジー, インク. | Translation layer in solid state storage |
| JP2012506093A (en) * | 2008-10-15 | 2012-03-08 | マイクロン テクノロジー, インク. | Hot memory block table in solid state storage |
| WO2012104975A1 (en) * | 2011-01-31 | 2012-08-09 | 三菱電機株式会社 | Memory controller |
| JP2012174086A (en) * | 2011-02-23 | 2012-09-10 | Hitachi Ltd | Storage device and computer with the same |
| US8327068B2 (en) | 2005-03-03 | 2012-12-04 | Panasonic Corporation | Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method |
| US8397017B2 (en) | 2009-09-08 | 2013-03-12 | Kabushiki Kaisha Toshiba | Controller and data storage device |
| JP2013152676A (en) * | 2012-01-26 | 2013-08-08 | Hitachi Ltd | Non-volatile storage |
| JP2013174972A (en) * | 2012-02-23 | 2013-09-05 | Toshiba Corp | Memory system, controller and control method for memory system |
| US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
| US9251055B2 (en) | 2012-02-23 | 2016-02-02 | Kabushiki Kaisha Toshiba | Memory system and control method of memory system |
| JP2016212713A (en) * | 2015-05-12 | 2016-12-15 | 東芝情報システム株式会社 | Logical physical address conversion table control method and memory device |
| JPWO2014142337A1 (en) * | 2013-03-15 | 2017-02-16 | 日本電気株式会社 | Storage apparatus, method and program |
| US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
| US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
| CN110196784A (en) * | 2017-12-25 | 2019-09-03 | 普利奥普斯有限公司 | Database and solid magnetic disc (SSD) controller |
| JP2021149768A (en) * | 2020-03-23 | 2021-09-27 | キオクシア株式会社 | Storage device and storage method |
-
1999
- 1999-11-11 JP JP32131099A patent/JP2001142774A/en active Pending
Cited By (65)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100388235C (en) * | 2001-12-25 | 2008-05-14 | 索尼公司 | Storage device and recording and reproducing device using the storage device |
| WO2003056433A1 (en) * | 2001-12-25 | 2003-07-10 | Sony Corporation | Memory device and recording/reproducing apparatus using the same |
| WO2003056431A1 (en) * | 2001-12-25 | 2003-07-10 | Sony Corporation | Memory device and recording/reproducing apparatus using the same |
| JP2003196142A (en) * | 2001-12-25 | 2003-07-11 | Sony Corp | Write-once type memory device and file management method |
| CN100440165C (en) * | 2001-12-25 | 2008-12-03 | 索尼公司 | Memory device and recording and reproducing device using the same |
| KR101091311B1 (en) | 2001-12-25 | 2011-12-07 | 소니 주식회사 | Memory Device and Recording/Reproducing Apparatus Using the Same |
| US7634613B2 (en) | 2001-12-25 | 2009-12-15 | Sony Corporation | Memory device and recording and/or reproducing apparatus employing this memory device |
| KR101033068B1 (en) * | 2001-12-25 | 2011-05-06 | 소니 주식회사 | Memory device and recording / playback device using the memory device |
| US7039786B2 (en) | 2001-12-25 | 2006-05-02 | Sony Corporation | Memory device and recording and/or reproducing apparatus employing this memory device |
| WO2003056432A1 (en) * | 2001-12-25 | 2003-07-10 | Sony Corporation | Memory device and recording/reproducing apparatus using the same |
| KR100987241B1 (en) * | 2001-12-25 | 2010-10-12 | 소니 주식회사 | Memory device and recording / playback device using the memory device |
| US7085879B2 (en) | 2002-02-27 | 2006-08-01 | Microsoft Corporation | Dynamic data structures for tracking data stored in a flash memory device |
| US7178061B2 (en) | 2002-02-27 | 2007-02-13 | Microsoft Corporation | Power failure detection and correction in a flash memory device |
| US7350105B2 (en) | 2002-02-27 | 2008-03-25 | Microsoft Corporation | Power failure detection in a flash memory device |
| US7080232B2 (en) | 2002-02-27 | 2006-07-18 | Microsoft Corporation | Free sector manager for data stored in flash memory devices |
| US7076599B2 (en) | 2002-02-27 | 2006-07-11 | Microsoft Corporation | Transactional file system for flash memory |
| US7139883B2 (en) | 2002-02-27 | 2006-11-21 | Microsoft Corporation | Transactional file system for flash memory |
| US6901499B2 (en) * | 2002-02-27 | 2005-05-31 | Microsoft Corp. | System and method for tracking data stored in a flash memory device |
| US7340647B2 (en) | 2002-02-27 | 2008-03-04 | Microsoft Corporation | Power failure detection and correction in a flash memory device |
| US7620961B2 (en) | 2002-02-27 | 2009-11-17 | Microsoft Corporation | Open-architecture file system |
| US7594064B2 (en) | 2002-02-27 | 2009-09-22 | Microsoft Corporation | Free sector manager for data stored in flash memory devices |
| US7533214B2 (en) | 2002-02-27 | 2009-05-12 | Microsoft Corporation | Open architecture flash driver |
| US6646917B1 (en) | 2002-10-10 | 2003-11-11 | Mitsubishi Denki Kabushiki Kaisha | Storage device managing nonvolatile memory by converting logical address to physical address of nonvolatile memory |
| US7082512B2 (en) | 2002-11-21 | 2006-07-25 | Microsoft Corporation | Dynamic data structures for tracking file system free space in a flash memory device |
| US7093101B2 (en) | 2002-11-21 | 2006-08-15 | Microsoft Corporation | Dynamic data structures for tracking file system free space in a flash memory device |
| JP2006523882A (en) | 2003-04-14 | 2006-10-19 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Format mapping method for universal drive device |
| JP2005092678A (en) * | 2003-09-19 | 2005-04-07 | Matsushita Electric Ind Co Ltd | Semiconductor memory card and nonvolatile memory data erasing method |
| CN100356400C (en) * | 2003-11-07 | 2007-12-19 | 希旺科技股份有限公司 | Emulated SmartMedia/xD-Picture memory cards that can use any non-volatile memory |
| JP2007519996A (en) * | 2003-12-30 | 2007-07-19 | サンディスク コーポレイション | Nonvolatile memory and method with phased program fault handling |
| JP2006011533A (en) * | 2004-06-22 | 2006-01-12 | Toshiba Corp | Memory card, semiconductor device, and control method of semiconductor memory |
| US7516344B2 (en) | 2005-01-28 | 2009-04-07 | Panasonic Corporation | Memory system |
| JP2006221627A (en) * | 2005-02-07 | 2006-08-24 | Samsung Electronics Co Ltd | Adaptive flash memory controller employing multiple mapping techniques and flash memory system including the same |
| US8327068B2 (en) | 2005-03-03 | 2012-12-04 | Panasonic Corporation | Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method |
| JP4884382B2 (en) * | 2005-05-23 | 2012-02-29 | パナソニック株式会社 | MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND MEMORY CONTROL METHOD |
| WO2006126445A1 (en) * | 2005-05-23 | 2006-11-30 | Matsushita Electric Industrial Co., Ltd. | Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method |
| JP4832521B2 (en) * | 2005-09-25 | 2011-12-07 | 深▲ちぇん▼市朗科科技股▲ふん▼有限公司 | Data management method in flash memory media |
| WO2007033614A1 (en) * | 2005-09-25 | 2007-03-29 | Netac Technology Co., Ltd. | Data management method in flash memory medium |
| US8185688B2 (en) | 2005-09-25 | 2012-05-22 | Netac Technology Co., Ltd. | Method for managing the address mapping table in a flash memory |
| JP2007206957A (en) * | 2006-02-01 | 2007-08-16 | Sony Corp | IC card, information processing system, integrated circuit chip, and data processing device |
| JP2008117299A (en) * | 2006-11-07 | 2008-05-22 | Fuji Xerox Co Ltd | Storage medium control apparatus |
| US7925821B2 (en) | 2007-02-05 | 2011-04-12 | Sony Corporation | Nonvolatile semiconductor storage device and method of managing the same |
| JP2009199242A (en) * | 2008-02-20 | 2009-09-03 | Tdk Corp | Memory controller, flash memory system equipped with memory controller, and control method for flash memory |
| JP2009245163A (en) * | 2008-03-31 | 2009-10-22 | Tdk Corp | Memory controller, flash memory system having memory controller and control method for flash memory |
| JP2012505472A (en) * | 2008-10-13 | 2012-03-01 | マイクロン テクノロジー, インク. | Translation layer in solid state storage |
| JP2012506093A (en) * | 2008-10-15 | 2012-03-08 | マイクロン テクノロジー, インク. | Hot memory block table in solid state storage |
| US8725927B2 (en) | 2008-10-15 | 2014-05-13 | Micron Technology, Inc. | Hot memory block table in a solid state storage device |
| US9418017B2 (en) | 2008-10-15 | 2016-08-16 | Micron Technology, Inc. | Hot memory block table in a solid state storage device |
| US8397017B2 (en) | 2009-09-08 | 2013-03-12 | Kabushiki Kaisha Toshiba | Controller and data storage device |
| WO2012104975A1 (en) * | 2011-01-31 | 2012-08-09 | 三菱電機株式会社 | Memory controller |
| JP5452736B2 (en) * | 2011-01-31 | 2014-03-26 | 三菱電機株式会社 | Memory controller and memory access method |
| US9170929B2 (en) | 2011-01-31 | 2015-10-27 | Mitsubishi Electric Corporation | Memory controller |
| JP2012174086A (en) * | 2011-02-23 | 2012-09-10 | Hitachi Ltd | Storage device and computer with the same |
| JP2013152676A (en) * | 2012-01-26 | 2013-08-08 | Hitachi Ltd | Non-volatile storage |
| US9251055B2 (en) | 2012-02-23 | 2016-02-02 | Kabushiki Kaisha Toshiba | Memory system and control method of memory system |
| JP2013174972A (en) * | 2012-02-23 | 2013-09-05 | Toshiba Corp | Memory system, controller and control method for memory system |
| US8990441B2 (en) | 2013-03-14 | 2015-03-24 | Microsoft Technology Licensing, Llc | Assigning priorities to data for hybrid drives |
| US9323460B2 (en) | 2013-03-14 | 2016-04-26 | Microsoft Technology Licensing, Llc | Assigning priorities to data for hybrid drives |
| US8812744B1 (en) | 2013-03-14 | 2014-08-19 | Microsoft Corporation | Assigning priorities to data for hybrid drives |
| JPWO2014142337A1 (en) * | 2013-03-15 | 2017-02-16 | 日本電気株式会社 | Storage apparatus, method and program |
| US9626126B2 (en) | 2013-04-24 | 2017-04-18 | Microsoft Technology Licensing, Llc | Power saving mode hybrid drive access management |
| US9946495B2 (en) | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
| JP2016212713A (en) * | 2015-05-12 | 2016-12-15 | 東芝情報システム株式会社 | Logical physical address conversion table control method and memory device |
| CN110196784A (en) * | 2017-12-25 | 2019-09-03 | 普利奥普斯有限公司 | Database and solid magnetic disc (SSD) controller |
| JP2021149768A (en) * | 2020-03-23 | 2021-09-27 | キオクシア株式会社 | Storage device and storage method |
| JP7408449B2 (en) | 2020-03-23 | 2024-01-05 | キオクシア株式会社 | Storage device and storage method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2001142774A (en) | Memory card and address conversion method applied to the card | |
| US6377500B1 (en) | Memory system with a non-volatile memory, having address translating function | |
| US5721866A (en) | Apparatus and method for discriminating among data to be stored in cache | |
| US5588129A (en) | Cache for optical storage device and method for implementing same | |
| US7861028B2 (en) | System and method for configuration and management of flash memory | |
| US6938144B2 (en) | Address conversion unit for memory device | |
| JP4439096B2 (en) | Memory card and address conversion method applied to the card | |
| US8041878B2 (en) | Flash file system | |
| US11263147B2 (en) | Memory system including logical-to-physical address translation table in a first cache and a compressed logical-to-physical address translation table in a second cache | |
| JP3692313B2 (en) | Nonvolatile memory control method | |
| US7295479B2 (en) | Apparatus and method for managing bad blocks in a flash memory | |
| US5983312A (en) | Simultaneously writing to and erasing two commonly numbered sectors | |
| RU2427892C2 (en) | Method and device to establish caching policy in processor | |
| US6374341B1 (en) | Apparatus and a method for variable size pages using fixed size translation lookaside buffer entries | |
| JPH10124381A (en) | Semiconductor storage device | |
| US20040083348A1 (en) | Method and apparatus for performing block caching in a non-volatile memory system | |
| GB2305272A (en) | Flash solid state disk card | |
| TW202538524A (en) | Method for managing memory device and associated memory device | |
| US20100095046A1 (en) | Method and apparatus for improving small write performance in a non-volatile memory | |
| TWI777720B (en) | Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information | |
| JPH09198884A (en) | Flash memory management method | |
| EP0667579A1 (en) | Cache for optical storage device | |
| US20210117315A1 (en) | Memory controller and flash memory system | |
| JP2022063466A (en) | Memory system and information processing system | |
| JP2023136081A (en) | Memory system and control method |