JP2006099211A - Memory controller and nonvolatile storage device - Google Patents

Memory controller and nonvolatile storage device Download PDF

Info

Publication number
JP2006099211A
JP2006099211A JP2004281677A JP2004281677A JP2006099211A JP 2006099211 A JP2006099211 A JP 2006099211A JP 2004281677 A JP2004281677 A JP 2004281677A JP 2004281677 A JP2004281677 A JP 2004281677A JP 2006099211 A JP2006099211 A JP 2006099211A
Authority
JP
Japan
Prior art keywords
memory
nonvolatile
storage
address
volatile
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004281677A
Other languages
Japanese (ja)
Inventor
Masahiro Nakanishi
雅浩 中西
Tetsushi Kasahara
哲志 笠原
Masayuki Toyama
昌之 外山
Kiminori Matsuno
公則 松野
Tomoaki Izumi
智紹 泉
Kazuaki Tamura
和明 田村
Manabu Inoue
学 井上
Kunihiro Maki
晋弘 真木
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004281677A priority Critical patent/JP2006099211A/en
Publication of JP2006099211A publication Critical patent/JP2006099211A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To much more quickly provide the relocation processing technology of address management information in a nonvolatile storage device based on a relocation type address management method. <P>SOLUTION: The physical address of address management information AT is updated and recorded in a nonvolatile ROM 101. Thus, it is possible to more quickly update and record the address management information AT in a flash memory 104 than a conventional method for updating and recording the physical address of the address management information AT on the flash memory in terms of address management. The guaranteed frequency of the rewriting of the nonvolatile ROM is set so as to be sufficiently larger than the flash memory, (that is, about 10 billion times) so that the rewriting of the physical address of the address management AT on the nonvolatile RAM 101 can be prevented from being problematic in the guaranteed frequency of rewriting. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、半導体メモリカード等の不揮発性記憶装置に関わり、フラッシュメモリに対してのアドレス管理情報をフラッシュメモリ内に記憶し、そのアドレス管理情報の内の必要な部分を揮発性メモリに読み出して使用するメモリコントローラ及び不揮発性記憶装置に関するものである。更に本発明は、外部のアクセス装置を構成要素に有する不揮発性記憶システム、及びメモリコントローラの動作を記述したメモリ制御方法も含むものとする。   The present invention relates to a nonvolatile memory device such as a semiconductor memory card, stores address management information for the flash memory in the flash memory, and reads a necessary part of the address management information to the volatile memory. The present invention relates to a memory controller and a nonvolatile storage device to be used. The present invention further includes a nonvolatile storage system having an external access device as a component and a memory control method describing the operation of the memory controller.

フラッシュメモリを有する不揮発性記憶装置は、フラッシュメモリにアクセスするために与えられる論理アドレスを物理アドレスに変換することで、データの書き込みや読み出しを行う。そして、不揮発性記憶装置はアドレス変換のためのアドレス管理情報を有している。上述したような、アドレス管理情報をフラッシュメモリに記憶して、そのアドレス管理情報のうちの必要部分のみをランダムアクセスメモリ(RAM)等の揮発性メモリに読み出して使用する不揮発性記憶装置がある。このような不揮発性記憶装置として、例えば特許文献1に記載されたものが知られている。   A nonvolatile storage device having a flash memory writes and reads data by converting a logical address given to access the flash memory into a physical address. The nonvolatile storage device has address management information for address conversion. As described above, there is a non-volatile storage device that stores address management information in a flash memory and reads and uses only a necessary portion of the address management information in a volatile memory such as a random access memory (RAM). As such a non-volatile memory device, for example, a device described in Patent Document 1 is known.

特許文献1に記載された不揮発性記憶装置内のフラッシュメモリにおけるアドレスマップを図7に示す。フラッシュメモリは管理領域701とデータ領域702とからなる。データ領域702は、外部のアクセス装置から読み書きされるデータ、即ち音楽データや画像データなどのいわゆるコンテンツ情報を格納する領域である。データ領域702は例えば1024ブロック毎に4つの領域、即ちデータ領域#0〜データ領域#3に分割される。管理領域701はデータの論理ブロックアドレスに対応する物理ブロックアドレスを決めるアドレス変換テーブル等の管理情報を格納する領域である。管理領域701はアドレス変換テーブルLTPb704とアドレス変換テーブルのインデックスLTPa703とからなる。LTPb704はデータ領域702の#0〜#3をそれぞれ管理するためLTPb704の#0〜#3からなる。   FIG. 7 shows an address map in the flash memory in the nonvolatile memory device described in Patent Document 1. The flash memory includes a management area 701 and a data area 702. The data area 702 is an area for storing so-called content information such as data read and written from an external access device, that is, music data and image data. The data area 702 is divided into four areas, for example, a data area # 0 to a data area # 3 every 1024 blocks. The management area 701 is an area for storing management information such as an address conversion table for determining a physical block address corresponding to a logical block address of data. The management area 701 includes an address conversion table LTPb 704 and an address conversion table index LTPa 703. LTPb 704 consists of # 0 to # 3 of LTPb 704 in order to manage # 0 to # 3 of data area 702, respectively.

LTPb704#0〜LTPb704#3が管理するエントリ数はブロック数に一致している。それぞれのデータ領域702において、基本的には論理ブロックアドレス(0〜1023ブロック)を物理ブロックアドレス(0〜1023ブロック)に変換するために、各論理ブロックアドレスに相当する論理ブロック番号毎、即ち1ワード毎に物理ブロック番号とアロケーションフラグが用意されている。アロケーションフラグとは、記憶された物理ブロック番号に有効なデータが既にアロケートされているか否かを識別するフラグである。   The number of entries managed by LTPb 704 # 0 to LTPb 704 # 3 matches the number of blocks. In each data area 702, basically, in order to convert a logical block address (0 to 1023 blocks) into a physical block address (0 to 1023 blocks), for each logical block number corresponding to each logical block address, that is, 1 A physical block number and an allocation flag are prepared for each word. The allocation flag is a flag for identifying whether valid data has already been allocated to the stored physical block number.

LTPa703は、LTPb704#0〜LTPb704#3が記憶されている物理ブロック番号とアロケーションフラグを持つ。LTPa703及びLTPb704#0〜LTPb704#3は、消去単位である任意ブロックの中に存在し、例えばブロック内がページ1からページNに分割されているとすると、ページ1(例えば2kバイト)を使用して1つのアドレス変換テーブルが構成される。例えば管理領域701の先頭ブロックのページ1にLTPa703を、その次のブロックのページ1にLTPb704#0を対応させ、各ブロックのページ1以外のページは不使用で構わない。   The LTPa 703 has a physical block number in which LTPb 704 # 0 to LTPb 704 # 3 are stored and an allocation flag. LTPa 703 and LTPb 704 # 0 to LTPb 704 # 3 exist in an arbitrary block which is an erasing unit. For example, if the block is divided from page 1 to page N, page 1 (for example, 2 kbytes) is used. One address conversion table is configured. For example, LTPa 703 is associated with page 1 of the first block of management area 701, LTPb 704 # 0 is associated with page 1 of the next block, and pages other than page 1 of each block may be unused.

以上のように構成された不揮発性記憶装置について、書き込み動作について述べる。外部のアクセス装置から与えられる論理アドレスに従い、データの書き込み先の領域が決定される。外部ホストから例えば論理アドレス0が指定されると、フラッシュメモリの中のデータ領域702#0に対応するLTPb704#0を、LTPa703に基づきフラッシュメモリからRAMなどの揮発性メモリに読み出す。そして読み出されたLTPb704#0内の論理ブロック番号に対応する1ワード中のアロケーションフラグをチェックする。そして、未アロケートの場合は、この1ワード中の物理ブロック番号に対応するデータ領域702#0の物理ブロックをイレーズ処理し、この後にデータを書き込む。次に、RAM内でこの1ワード中のアロケーションフラグをアロケート済み状態、即ち値0に更新した後に、フラッシュメモリにLTPb704#0を書き戻す。   A writing operation of the nonvolatile memory device configured as described above will be described. A data write destination area is determined in accordance with a logical address given from an external access device. For example, when a logical address 0 is designated from the external host, LTPb 704 # 0 corresponding to the data area 702 # 0 in the flash memory is read from the flash memory to a volatile memory such as a RAM based on the LTPa 703. Then, the allocation flag in one word corresponding to the logical block number in the read LTPb 704 # 0 is checked. If not allocated, the physical block in the data area 702 # 0 corresponding to the physical block number in one word is erased, and then data is written. Next, after allocating the allocation flag in this one word in the RAM to the allocated state, that is, the value 0, LTPb 704 # 0 is written back to the flash memory.

一方、論理ブロック番号に対応する1ワード中のアロケーションフラグをチェックし、既にアロケート済みの場合は、論理ブロック番号0から1023までの全領域に対応する物理ブロック番号を調べ、アロケート済みでない物理ブロック番号(例えば物理ブロック番号10)を探し出す。そして、物理ブロック番号10に対応するデータ領域702#0の物理ブロックをイレーズ処理後にデータを書き込む。   On the other hand, the allocation flag in one word corresponding to the logical block number is checked. If the allocation flag has already been allocated, the physical block numbers corresponding to all areas of the logical block numbers 0 to 1023 are checked, and the physical block numbers that have not been allocated. Search (for example, physical block number 10). Then, data is written to the physical block of the data area 702 # 0 corresponding to the physical block number 10 after the erase process.

また、RAM内で、論理ブロック番号0の1ワード中物理のブロック番号の部分に物理ブロック番号10を書き込む。更に、以前に物理ブロック番号10が記録されていた論理ブロック番号における1ワード中の物理ブロック番号の部分を、以前に論理ブロック番号0における物理ブロック番号の部分に記憶されていた物理ブロック番号値に変更すると共に、アロケーションフラグを未アロケート状態、即ち値1にする。そしてフラッシュメモリにLTPb704#1を書き戻す。   Further, the physical block number 10 is written in the physical block number portion of one word of the logical block number 0 in the RAM. Further, the physical block number portion in one word in the logical block number in which the physical block number 10 was previously recorded is changed to the physical block number value previously stored in the physical block number portion in the logical block number 0. At the same time, the allocation flag is set to an unallocated state, that is, a value of 1. Then, LTPb 704 # 1 is written back to the flash memory.

しかしながら、上述した特許文献1のアドレス管理方法では、LTPb704が固定領域に割り付けられているため、例えばデータ領域702#0内の1つのブロックだけでも書き換えられた場合には、必ずLTP704#0が割り付けられているブロックを書き換える必要があった。言い換えれば、データ領域702#0内の1024ブロックが各々1回ずつ書き換えられた場合、LTP704#0が割り付けられているブロックは1024回書き換えられることになる。従って、データ領域702よりも管理領域701の方が、平均的書き換回数が1024倍となる。言い換えれば管理領域701の方に書き換えが集中してしまうため、フラッシュメモリの寿命が短くなってしまうという問題点があった。   However, in the address management method of Patent Document 1 described above, LTPb 704 is allocated to a fixed area. Therefore, for example, when only one block in data area 702 # 0 is rewritten, LTP 704 # 0 is always allocated. It was necessary to rewrite the block. In other words, when 1024 blocks in the data area 702 # 0 are rewritten once each, the block to which the LTP 704 # 0 is allocated is rewritten 1024 times. Therefore, the average rewrite count is 1024 times in the management area 701 than in the data area 702. In other words, since rewriting concentrates on the management area 701, there is a problem that the life of the flash memory is shortened.

この問題点を解決する方法として、特許文献2に示すように、管理情報を再配置可能にする技術が提案されている。この技術によれば、管理領域を固定領域に割り付けるのではなく、管理領域の配置位置を逐次変更していくことにより、管理領域の書き換え回数をデータ領域と同程度に小さくすることが可能となり、フラッシュメモリの寿命を高めることができるとされている。   As a method for solving this problem, as shown in Patent Document 2, a technique for allowing management information to be rearranged has been proposed. According to this technology, instead of assigning the management area to the fixed area, it is possible to reduce the number of rewrites of the management area to the same extent as the data area by sequentially changing the arrangement position of the management area, It is said that the lifetime of flash memory can be increased.

以下、特許文献2に開示されたように、管理領域の配置位置を逐次変更していくアドレス管理方法(以降、再配置型アドレス管理方法という)について、図4〜図6を用いて説明する。図4は再配置型アドレス管理方法に基づく従来の不揮発性記憶装置におけるアドレス管理テーブル(AT)と、アドレス変換デーブルインデックス情報(ATI)の構成を示す概念図である。図5は再配置型アドレス管理方法に基づく、従来の不揮発性記憶装置の構成、及び不揮発性記憶装置内のフラッシュメモリのアドレスマップを示す説明図である。また、図6は再配置型アドレス管理方法に基づくアドレス管理情報更新方法を示すフローチャートである。   Hereinafter, as disclosed in Patent Document 2, an address management method (hereinafter referred to as a rearrangement type address management method) in which the arrangement position of the management area is sequentially changed will be described with reference to FIGS. FIG. 4 is a conceptual diagram showing the configuration of an address management table (AT) and address translation table index information (ATI) in a conventional nonvolatile storage device based on the relocation address management method. FIG. 5 is an explanatory diagram showing a configuration of a conventional nonvolatile memory device and an address map of a flash memory in the nonvolatile memory device based on the relocation address management method. FIG. 6 is a flowchart showing an address management information update method based on the relocation address management method.

因みに、特許文献2におけるエントリ領域及び管理領域は、夫々図4のATI群及びAT群αとβに対応する。図4においてATI群401とAT群402及び403とが示されている。便宜上AT群に関しては、AT群α402とAT群β403とが存在し、図示した以外にも他のAT群が存在する。ATI群401、AT群α402、AT群β403、…は、夫々4つの物理ブロック404から構成される。   Incidentally, the entry area and the management area in Patent Document 2 correspond to the ATI group and AT groups α and β in FIG. 4, respectively. In FIG. 4, an ATI group 401 and AT groups 402 and 403 are shown. For convenience, regarding the AT group, there are an AT group α 402 and an AT group β 403, and there are other AT groups other than those shown in the figure. The ATI group 401, the AT group α402, the AT group β403,... Are each composed of four physical blocks 404.

また図5において、不揮発性記憶装置はフラッシュメモリ508とメモリコントローラ509とにより構成される。そしてメモリコントローラ509はホストインターフェース(ホストI/F)501、制御部502、ランダムアクセスメモリ(RAM)503を有している。ホストI/F501は不揮発性記憶装置とアクセス装置との間でデータやコマンドなどの信号を送受信するためのI/Fである。制御部502はアクセス装置からのコマンドなどにより、フラッシュメモリ508や不揮発性記憶装置の動作を制御するものである。RAM503はデータやアドレス管理情報などを一時蓄える揮発性メモリである。   In FIG. 5, the nonvolatile storage device includes a flash memory 508 and a memory controller 509. The memory controller 509 includes a host interface (host I / F) 501, a control unit 502, and a random access memory (RAM) 503. The host I / F 501 is an I / F for transmitting and receiving signals such as data and commands between the nonvolatile storage device and the access device. The control unit 502 controls the operation of the flash memory 508 and the nonvolatile storage device by a command from the access device. A RAM 503 is a volatile memory that temporarily stores data, address management information, and the like.

フラッシュメモリ508はATI群領域504とデータ領域505とを有している。ATI群領域504はATI群を記憶するための領域である。データ領域505はデータを記憶するための領域である。各データ領域は複数のAT群506とこれに対応する複数のデータエントリ507からなる。データエントリ507は現ATが管理するデータエントリである。フラッシュメモリ508において、消去単位である物理ブロックは2ページからなり、各ページサイズが2kBである。   The flash memory 508 has an ATI group area 504 and a data area 505. The ATI group area 504 is an area for storing the ATI group. The data area 505 is an area for storing data. Each data area includes a plurality of AT groups 506 and a plurality of data entries 507 corresponding thereto. The data entry 507 is a data entry managed by the current AT. In the flash memory 508, the physical block that is an erasure unit consists of two pages, and each page size is 2 kB.

ATI群領域504は、データ領域505(#0〜#3)内のAT群を管理するためのATI群を格納する領域である。ATIは、各AT群の物理ブロック番号、即ち物理ブロックを指し示すアドレスを有する。1つのATIで、各データ領域に64のAT群を管理すると、約1ワード(物理ブロック番号10ビット分)×4(データ領域数)×64(AT群の数)=512Bとなり、図4に示すように1ブロック当たり8個のATIを記録することができる。ATIはフラッシュメモリ508の先頭物理ブロックから4物理ブロック分に配置され、ATI群401を形成する。   The ATI group area 504 is an area for storing an ATI group for managing the AT group in the data area 505 (# 0 to # 3). The ATI has a physical block number of each AT group, that is, an address indicating the physical block. If 64 AT groups are managed in each data area with one ATI, about 1 word (physical block number 10 bits) × 4 (number of data areas) × 64 (number of AT groups) = 512B, which is shown in FIG. As shown, eight ATIs can be recorded per block. ATIs are arranged four physical blocks from the top physical block of the flash memory 508, and form an ATI group 401.

データ領域505は、外部のアクセス装置から読み書きされるデータ、即ち音楽データや画像データなどのいわゆるコンテンツ情報を格納すると共に、AT群を格納する領域でもある。また、データ領域505は4つの領域、即ちデータ領域#0〜データ領域#3に分割される。更に各領域は1024ブロックに分割される。またAT群は夫々のデータ領域を管理するため、当該データ領域に格納される。ATが管理する単位、即ちデータエントリ507は1ブロック分である。夫々のデータ領域において、論理ブロックアドレス(0〜1023ブロック)を物理ブロックアドレス(0〜1023ブロック)に変換するために、各論理ブロックアドレスに対応する論理ブロック番号(10ビット)毎に、物理ブロック番号(10ビット)とアロケーションフラグ(1ビット)を持つ。従って、1つのATのデータ容量は、11ビット(物理ブロック番号10ビットとアロケーションフラグ1ビット)×1024ブロック=約2048Bとなり、1ページに1つのATを持つことになる。なおアロケーションフラグは、各物理ブロックに有効なデータが既にアロケートされているか否かを識別するフラグである。   The data area 505 stores data read / written from / to an external access device, that is, so-called content information such as music data and image data, and also stores an AT group. The data area 505 is divided into four areas, that is, a data area # 0 to a data area # 3. Further, each area is divided into 1024 blocks. The AT group is stored in each data area in order to manage each data area. The unit managed by the AT, that is, the data entry 507 is one block. In each data area, in order to convert a logical block address (0 to 1023 block) into a physical block address (0 to 1023 block), a physical block is assigned to each logical block number (10 bits) corresponding to each logical block address. It has a number (10 bits) and an allocation flag (1 bit). Accordingly, the data capacity of one AT is 11 bits (physical block number 10 bits and allocation flag 1 bit) × 1024 blocks = about 2048 B, and one AT has one AT. The allocation flag is a flag for identifying whether valid data has already been allocated to each physical block.

次に、図4及び図6を用いて書き込み動作について説明する。なお、図4中のAT群α402及びAT群β403は、同一のデータ領域を管理するAT群であり、同図に示す例では、AT群α402はATI#4により管理され、AT群β403はATI#5により管理される領域である。また、AT及びATIの更新は、次のAT及びATIのフラッシュメモリ508への書き込みが、現AT及び現ATIと同一ブロックに行われないように、フラッシュメモリ508に記憶される。またATの更新毎にATIの書き換え更新が発生しないように、即ち高速処理を実現するために、書き込みの順番が予め決められフラッシュメモリ508に記憶される。   Next, the write operation will be described with reference to FIGS. The AT group α402 and AT group β403 in FIG. 4 are AT groups that manage the same data area. In the example shown in FIG. 4, the AT group α402 is managed by ATI # 4, and the AT group β403 is ATI. This area is managed by # 5. The AT and ATI updates are stored in the flash memory 508 so that the next AT and ATI flash memory 508 is not written to the same block as the current AT and current ATI. Further, the order of writing is determined in advance and stored in the flash memory 508 so that the ATI rewrite update does not occur every time the AT is updated, that is, in order to realize high-speed processing.

また、ATI群の中から最新のATIを検出する処理(図6のS601)は、例えば初期化時に実施され、外部のアクセス装置から不揮発性記憶装置に対するデータ書き込み指令毎には実施されない。また図6に示す一連の制御は、図5に示した制御部502によって実行される。なお、制御部502は中央処理演算装置(CPU)等を含んでもよい。   Further, the process of detecting the latest ATI from the ATI group (S601 in FIG. 6) is performed at the time of initialization, for example, and is not performed for each data write command from the external access device to the nonvolatile memory device. A series of controls shown in FIG. 6 is executed by the control unit 502 shown in FIG. The control unit 502 may include a central processing unit (CPU).

まず、1つのATIが管理するAT群内での更新について述べる。メモリコントローラ509は外部のアクセス装置から与えられる論理アドレスに従い、データの書き込み先の領域を決定する。外部のアクセス装置から例えば論理アドレス0が指定されると、メモリコントローラ509はフラッシュメモリ508の中のデータ領域#0に対応する現AT群を決定する。即ち図4において、AT群α402とAT群β403のいずれが現AT群であるかを、現ATIから求める(図6のS602)。   First, updating within an AT group managed by one ATI will be described. The memory controller 509 determines a data write destination area in accordance with a logical address given from an external access device. For example, when the logical address 0 is designated from the external access device, the memory controller 509 determines the current AT group corresponding to the data area # 0 in the flash memory 508. That is, in FIG. 4, it is determined from the current ATI which of the AT group α 402 and the AT group β 403 is the current AT group (S602 in FIG. 6).

読み出された現AT群内で例えばAT#2を現ATIから求め、フラッシュメモリ508からRAM503に読み出し、論理ブロック番号に対応する1ワード中の物理ブロック番号をチェックする(同S603)。論理ブロック番号に対応する1ワード中に、物理ブロック番号が登録されていない、即ち未アロケートの場合は、未アロケート物理ブロック番号を検出する。そして、対応するデータ領域#0の物理ブロックをイレーズ処理し、データをフラッシュメモリ508に書き込む。次に、データを書き込んだ物理ブロック番号に対応したアロケーションフラグをアロケート済み状態、即ち値0に更新する(S604)。   For example, AT # 2 is obtained from the current ATI in the read current AT group, read from the flash memory 508 to the RAM 503, and the physical block number in one word corresponding to the logical block number is checked (S603). If the physical block number is not registered in one word corresponding to the logical block number, that is, if it is not allocated, the unallocated physical block number is detected. Then, the physical block of the corresponding data area # 0 is erased, and the data is written to the flash memory 508. Next, the allocation flag corresponding to the physical block number in which the data is written is updated to the allocated state, that is, the value 0 (S604).

その後に、図4に示す予め決められた書き込み順に従い、フラッシュメモリにAT#3を書く(S605、S607)。一方、論理ブロック番号に対応する1ワード中の物理ブロック番号をチェックし、既にアロケート済みの場合は、RAM503内でアロケート済みでない物理ブロック番号を検出する。そして、フラッシュメモリ508内の対応するデータ領域#0の物理ブロックをイレーズ処理し、データを書き込む。また、RAM503内で、論理ブロック番号0の1ワード中の物理ブロック番号に対応する領域に、データを書き込んだ物理ブロック番号を書き込む。更に、その物理ブロック番号に対応するアロケーションフラグをアロケート済み状態、即ち値0に更新し、更に以前論理ブロック番号0で使用した物理ブロック番号に対応するアロケーションフラグを、未アロケート状態、即ち値1にする(S604)。その後に、図4に示す予め決められた書き込み順に従いフラッシュメモリにAT#3を書く(S605、S607)。   Thereafter, AT # 3 is written in the flash memory in accordance with a predetermined writing order shown in FIG. 4 (S605, S607). On the other hand, the physical block number in one word corresponding to the logical block number is checked, and if it has already been allocated, a physical block number that has not been allocated is detected in the RAM 503. Then, the physical block of the corresponding data area # 0 in the flash memory 508 is erased and the data is written. In addition, the physical block number in which the data is written is written in the area corresponding to the physical block number in one word of the logical block number 0 in the RAM 503. Furthermore, the allocation flag corresponding to the physical block number is updated to the allocated state, that is, the value 0, and the allocation flag corresponding to the physical block number used in the previous logical block number 0 is set to the unallocated state, that is, the value 1. (S604). Thereafter, AT # 3 is written in the flash memory in accordance with a predetermined writing order shown in FIG. 4 (S605, S607).

次に、ATIの更新が発生する場合について述べる。図4中、現在のATがATI#4の管理するAT群α402の最終AT#7の場合、S605にて現ATが現ATIで管理するATの最終であると判断し、S606にて次にAT群を書き込むための空きブロックを確保する。RAM503内で現ATであるAT群α402のAT#7のアロケーションフラグより未アロケートの物理ブロック番号を検出する。そして検出した物理ブロック番号に対応するデータ領域#0内物理ブロックをイレーズ処理することで、AT群β403の領域を確保する。   Next, a case where an ATI update occurs will be described. In FIG. 4, when the current AT is the final AT # 7 of the AT group α402 managed by ATI # 4, it is determined in S605 that the current AT is the final AT managed by the current ATI, and in S606, An empty block for writing the AT group is secured. An unallocated physical block number is detected from the allocation flag of AT # 7 of the AT group α402 which is the current AT in the RAM 503. Then, the physical block in the data area # 0 corresponding to the detected physical block number is erased to secure the area of the AT group β403.

ATでは、データ書き込み処理S604で作成した情報に加え、RAM503内でAT群α402の領域を確保するために使用していた物理ブロック番号に対応するアロケーションフラグを未アロケートに更新し、更に、AT群β403の領域確保に使用する物理ブロック番号に対応するアロケーションフラグをアロケートに更新する。S608にて、最新のATをデータ領域#0内のAT群β403のAT#0の領域に書き込む。その後S609にて、ATI#5の領域にAT群β403の各ATの物理ブロックアドレスを書き込む。   In the AT, in addition to the information created in the data write process S604, the allocation flag corresponding to the physical block number used to secure the area of the AT group α402 in the RAM 503 is updated to an unallocated state, and further, the AT group The allocation flag corresponding to the physical block number used for securing the area of β403 is updated to allocate. In S608, the latest AT is written to the AT # 0 area of AT group β403 in data area # 0. In step S609, the physical block address of each AT in the AT group β 403 is written in the ATI # 5 area.

ATI群401を更新する際には、ATI更新の際の処理に加え、次にATI群を記録するための物理ブロックを確保する必要がある。RAM503内でAT#7のアロケーションフラグより未アロケートの物理ブロック番号を検出し、フラッシュメモリ508の検出した対象物理ブロックをイレーズ処理することで次のATI群の領域を確保する。またATI更新時のATの情報に加え、RAM508内で現ATI群の領域を確保するために使用していた物理ブロック番号に対応するアロケーションフラグを未アロケートする。更に、次ATI群401の領域確保に使用する物理ブロック番号に対応するアロケーションフラグを、アロケート状態に更新する。以降、ATI更新時と同様にAT及びATIをフラッシュメモリ508に書き込む。   When the ATI group 401 is updated, it is necessary to secure a physical block for recording the ATI group in addition to the process for updating the ATI group. An unallocated physical block number is detected from the allocation flag of AT # 7 in the RAM 503, and the target physical block detected by the flash memory 508 is erased to secure an area for the next ATI group. In addition to the AT information at the time of ATI update, the allocation flag corresponding to the physical block number used to secure the area of the current ATI group in the RAM 508 is not allocated. Further, the allocation flag corresponding to the physical block number used for securing the area of the next ATI group 401 is updated to the allocated state. Thereafter, the AT and ATI are written into the flash memory 508 in the same manner as when updating the ATI.

以上のように、ATIによってATを再配置可能、即ち固定領域に割り当てないようにしたので、書き換え頻度の高いATが特定の物理ブロックに集中することはない。またATIは固定領域に割り当てられているが、ATを指し示すアドレスを有する領域であるので、書き換え頻度は比較的少なくて済む。
特開2001−142774号公報 特開平10−260908号公報
As described above, ATs can be rearranged by ATI, that is, they are not assigned to fixed areas, so that ATs with high rewrite frequency do not concentrate on a specific physical block. Although ATI is allocated to a fixed area, it is an area having an address indicating AT, so that the rewriting frequency is relatively low.
JP 2001-142774 A JP-A-10-260908

しかしながら前述したとおり、AT群やATI群は、全て使用された時点において、新たなAT群やATI群の領域を確保するための処理、即ちイレーズ処理が発生する。このため、低頻度ではあるが処理速度が著しく低下してしまう。このことは、動画などのストリームデータを記録するアクセス装置に適応する場合、リアルタイム記録ができなくなる恐れがある。また処理速度の低下が比較的小さな場合においては、リアルタイム記録ができなくなるまでの問題には至らない。しかし、アクセス装置に対して処理速度の低下を補償するためのバッファRAMの実装を強いることになる。この場合アクセス装置に対してコストアップを強いることになる。   However, as described above, when all the AT group and ATI group are used, a process for securing a new AT group or ATI group area, that is, an erase process occurs. For this reason, although it is infrequent, processing speed will fall remarkably. When this is applied to an access device that records stream data such as a moving image, real-time recording may not be possible. Further, when the decrease in processing speed is relatively small, there is no problem until real-time recording cannot be performed. However, the access device is forced to mount a buffer RAM for compensating for a decrease in processing speed. In this case, the access device is forced to increase the cost.

本発明は上記従来の問題点を解決するもので、再配置型アドレス管理方法において、アドレス管理情報の領域確保が不要、即ち領域確保における処理速度の低下の発生しない不揮発性記憶装置を提供することを目的とする。   The present invention solves the above-mentioned conventional problems, and provides a non-volatile storage device that does not require area management of address management information in a relocation address management method, that is, does not cause a decrease in processing speed in area reservation. With the goal.

この目的を達成するために本発明の不揮発性記憶装置は、フラッシュメモリよりも十分書き換え保証回数の多い不揮発性メモリ、例えば不揮発性RAMを備え、ATI即ちアドレス管理情報ATの記憶位置を指し示す情報を、フラッシュメモリよりも十分書き換え保証回数の多い不揮発性RAMに記憶保持する。   In order to achieve this object, the nonvolatile memory device of the present invention comprises a nonvolatile memory, for example, a nonvolatile RAM, which has a sufficiently higher number of rewrites than the flash memory, and stores information indicating the storage location of the ATI, that is, the address management information AT. The data is stored and held in a non-volatile RAM having a sufficient number of guaranteed rewrites than the flash memory.

特に請求項1〜7に係る発明は、外部のアクセス装置から与えられるコマンドと論理アドレスに応じて不揮発性の主記憶メモリにデータを書き込み、及び読み出すメモリコントローラである。メモリコントローラは、不揮発性の主記憶メモリに対して、データの記憶アドレスを管理するアドレス管理テーブル及びデータの読み書き制御を行う制御手段と、アドレス管理テーブルに基づいてデータの記憶アドレスを管理するアドレス管理手段と、アドレス管理テーブルの記憶アドレスを記憶する不揮発性の補助記憶メモリを有している。不揮発性の補助記憶メモリは不揮発性の主記憶メモリよりも書き換え保証回数が多い不揮発性のメモリであり、アドレス管理テーブルの記憶アドレスを適宜更新することによってアドレス管理テーブルの記憶アドレスが固定化されないようにすることを特徴とする。この構成により、不揮発性の補助記憶メモリにおいて、アドレス管理テーブルの記憶アドレスを適宜書き換えることによって、例えばフラッシュメモリ等の不揮発性の主記憶メモリ上におけるアドレス管理テーブルが、いつも同じ物理アドレス上で書き換えられることが避けられる。なお不揮発性の補助記憶メモリが不揮発性の主記憶メモリよりも書き換え保証回数が多い不揮発性のメモリであるので、不揮発性の補助記憶メモリにおけるアドレス管理テーブルにおける記憶アドレスの高頻度の書き換えについては、特に問題が生じない。   Particularly, the invention according to claims 1 to 7 is a memory controller for writing and reading data to and from the nonvolatile main memory in accordance with a command and a logical address given from an external access device. The memory controller includes an address management table for managing data storage addresses and control means for performing data read / write control on the nonvolatile main memory, and address management for managing data storage addresses based on the address management table. And a nonvolatile auxiliary storage memory for storing the storage address of the address management table. The non-volatile auxiliary storage memory is a non-volatile memory that has a higher number of guaranteed rewrites than the non-volatile main memory, and the storage address of the address management table is not fixed by appropriately updating the storage address of the address management table. It is characterized by. With this configuration, by appropriately rewriting the storage address of the address management table in the nonvolatile auxiliary storage memory, the address management table on the nonvolatile main storage memory such as a flash memory is always rewritten on the same physical address. Can be avoided. Since the nonvolatile auxiliary storage memory is a nonvolatile memory having a larger number of guaranteed rewrites than the nonvolatile main storage memory, for the frequent rewrite of the storage address in the address management table in the nonvolatile auxiliary storage memory, There is no particular problem.

また、本発明の請求項8〜14に係る発明は、不揮発性の主記憶メモリと、メモリコントローラとを有し、外部のアクセス装置から与えられるコマンドと論理アドレスに応じて不揮発性の主記憶メモリにデータを書き込み、及び読み出す不揮発性記憶装置である。不揮発性の主記憶メモリは、それぞれが少なくとも1つのセクタを含む複数の物理ブロックから成り、メモリコントローラは、不揮発性の主記憶メモリに対して、データの記憶アドレスを管理するアドレス管理テーブル及びデータの読み書き制御を行う制御手段と、アドレス管理テーブルに基づいてデータの記憶アドレスを管理するアドレス管理手段と、アドレス管理テーブルの記憶アドレスを記憶する不揮発性の補助記憶メモリを有している。不揮発性の補助記憶メモリは、不揮発性の主記憶メモリよりも書き換え保証回数が多い不揮発性のメモリであり、アドレス管理テーブルの記憶アドレスを適宜更新することによってアドレス管理テーブルの記憶アドレスが固定化されないようにすることを特徴とする。この構成により、不揮発性の補助記憶メモリにおいて、アドレス管理テーブルの記憶アドレスを適宜書き換えることによって、例えばフラッシュメモリ等の不揮発性の主記憶メモリ上におけるアドレス管理テーブルが、いつも同じ物理アドレス上で書き換えられることが避けられる。なお不揮発性の補助記憶メモリが不揮発性の主記憶メモリよりも書き換え保証回数が多い不揮発性のメモリであるので、不揮発性の補助記憶メモリにおけるアドレス管理テーブルにおける記憶アドレスの高頻度の書き換えについては、特に問題が生じない。   The inventions according to claims 8 to 14 of the present invention include a nonvolatile main memory and a memory controller, and the nonvolatile main memory according to a command and a logical address given from an external access device. This is a non-volatile storage device that writes data to and reads data from the storage device. The nonvolatile main storage memory is composed of a plurality of physical blocks each including at least one sector, and the memory controller stores an address management table for managing the data storage address and the data storage for the nonvolatile main storage memory. Control means for performing read / write control, address management means for managing the storage address of the data based on the address management table, and a nonvolatile auxiliary storage memory for storing the storage address of the address management table. The non-volatile auxiliary storage memory is a non-volatile memory that has a higher number of guaranteed rewrites than the non-volatile main storage memory, and the storage address of the address management table is not fixed by appropriately updating the storage address of the address management table. It is characterized by doing so. With this configuration, by appropriately rewriting the storage address of the address management table in the nonvolatile auxiliary storage memory, the address management table on the nonvolatile main storage memory such as a flash memory is always rewritten on the same physical address. Can be avoided. Since the nonvolatile auxiliary storage memory is a nonvolatile memory having a larger number of guaranteed rewrites than the nonvolatile main storage memory, for the frequent rewrite of the storage address in the address management table in the nonvolatile auxiliary storage memory, There is no particular problem.

また、本発明の請求項15〜21に係る発明は、アクセス装置と、不揮発性の主記憶メモリと、メモリコントローラとを有し、アクセス装置から与えられるコマンドと論理アドレスに応じて不揮発性の主記憶メモリにデータを書き込み、及び読み出す不揮発性記憶システムである。不揮発性の主記憶メモリは、それぞれが少なくとも1つのセクタを含む複数の物理ブロックから成り、メモリコントローラは、不揮発性の主記憶メモリに対して、データの記憶アドレスを管理するアドレス管理テーブル及びデータの読み書き制御を行う制御手段と、アドレス管理テーブルに基づいてデータの記憶アドレスを管理するアドレス管理手段と、アドレス管理テーブルの記憶アドレスを記憶する不揮発性の補助記憶メモリを有している。不揮発性の補助記憶メモリは不揮発性の主記憶メモリよりも書き換え保証回数が多い不揮発性のメモリであり、アドレス管理テーブルの記憶アドレスを適宜更新することによって、アドレス管理テーブルの記憶アドレスが固定化されないようにすることを特徴とする。この構成により、不揮発性の補助記憶メモリにおいて、アドレス管理テーブルの記憶アドレスを適宜書き換えることによって、例えばフラッシュメモリ等の不揮発性の主記憶メモリ上におけるアドレス管理テーブルが、いつも同じ物理アドレス上で書き換えられることが避けられる。なお不揮発性の補助記憶メモリは、不揮発性の主記憶メモリよりも書き換え保証回数が多い不揮発性のメモリであるので、不揮発性の補助記憶メモリにおけるアドレス管理テーブルの記憶アドレスの高頻度の書き換えについては、特に問題は生じない。   The inventions according to claims 15 to 21 of the present invention include an access device, a nonvolatile main memory, and a memory controller, and the nonvolatile main memory according to a command and a logical address given from the access device. A non-volatile storage system that writes data to and reads data from a storage memory. The nonvolatile main storage memory is composed of a plurality of physical blocks each including at least one sector, and the memory controller stores an address management table for managing the data storage address and the data storage for the nonvolatile main storage memory. Control means for performing read / write control, address management means for managing the storage address of the data based on the address management table, and a nonvolatile auxiliary storage memory for storing the storage address of the address management table. The non-volatile auxiliary storage memory is a non-volatile memory that has a higher guaranteed number of rewrites than the non-volatile main storage memory, and the storage address of the address management table is not fixed by appropriately updating the storage address of the address management table. It is characterized by doing so. With this configuration, by appropriately rewriting the storage address of the address management table in the nonvolatile auxiliary storage memory, the address management table on the nonvolatile main storage memory such as a flash memory is always rewritten on the same physical address. Can be avoided. The non-volatile auxiliary memory is a non-volatile memory that has a higher guaranteed number of rewrites than the non-volatile main memory, so the rewrite of the storage address of the address management table in the non-volatile auxiliary memory is frequently performed. No particular problem arises.

また、本発明の請求項22〜28に係る発明は、外部から与えられるコマンドと論理アドレスに応じて不揮発性の主記憶メモリにデータを書き込み、及び読み出すメモリ制御方法である。このメモリ制御方法は、不揮発性の主記憶メモリに対してデータの記憶アドレスを管理するアドレス管理テーブル及びデータの読み書き制御を行い、アドレス管理テーブルに基づいてデータの記憶アドレスの管理を行い、アドレス管理テーブルの記憶アドレスを不揮発性の補助記憶手段に記憶する。不揮発性の補助記憶メモリは、不揮発性の主記憶手段よりも書き換え保証回数が多い不揮発性のメモリであり、アドレス管理テーブルの記憶アドレスを適宜更新することによって、アドレス管理テーブルの記憶アドレスが固定化されないようにすることを特徴とする。この処理により、不揮発性の補助記憶メモリにおいて、アドレス管理テーブルの記憶アドレスを適宜書き換えることによって、例えばフラッシュメモリ等の不揮発性の主記憶メモリ上のアドレス管理テーブルが、いつも同じ物理アドレス上で書き換えられることが避けられる。なお不揮発性の補助記憶メモリは、不揮発性の主記憶メモリよりも書き換え保証回数が多い不揮発性の記憶手段であるので、不揮発性の補助記憶メモリにおけるアドレス管理テーブルの記憶アドレスの高頻度の書き換えについては、特に問題は生じない。   Further, the invention according to claims 22 to 28 of the present invention is a memory control method for writing and reading data to and from a nonvolatile main memory according to a command and a logical address given from the outside. This memory control method performs an address management table for managing a data storage address and a data read / write control with respect to a nonvolatile main storage memory, manages a data storage address based on the address management table, and manages an address. The storage address of the table is stored in the nonvolatile auxiliary storage means. The non-volatile auxiliary storage memory is a non-volatile memory that has a higher number of guaranteed rewrites than the non-volatile main storage means, and the storage address of the address management table is fixed by appropriately updating the storage address of the address management table. It is characterized by not being done. By this processing, the address management table on the nonvolatile main memory such as a flash memory is always rewritten on the same physical address by appropriately rewriting the storage address of the address management table in the nonvolatile auxiliary storage memory. Can be avoided. The non-volatile auxiliary storage memory is a non-volatile storage means having a higher guaranteed number of rewrites than the non-volatile main storage memory. Therefore, the rewrite of the storage address of the address management table in the non-volatile auxiliary storage memory is frequently performed. There is no particular problem.

これにより不揮発性RAM上でATIを逐次更新することによってアドレス管理情報ATが再配置可能となるので、AT群やATI群の領域を確保するための処理速度の低下を回避することができる。なお、ATIの書き換え回数は、アドレス管理情報ATやデータの書き換え回数より多くなるが、不揮発性RAMはフラッシュメモリの書き換え保証回数が十分多いので、不揮発性記憶装置の寿命には影響しない。   As a result, the address management information AT can be rearranged by sequentially updating the ATI on the non-volatile RAM, so that it is possible to avoid a decrease in the processing speed for securing the AT group and the area of the ATI group. The number of rewrites of the ATI is larger than the number of rewrites of the address management information AT and data. However, since the nonvolatile RAM has a sufficiently large number of rewrite guarantees of the flash memory, it does not affect the life of the nonvolatile storage device.

本発明の実施の形態による不揮発性記憶装置について、図面を参照しつつ説明する。図1は本実施の形態による不揮発性記憶装置の構成とそのアドレスマップを示す説明図である。不揮発性記憶装置はフラッシュメモリ104とメモリコントローラ108とにより構成される。そしてメモリコントローラ108はホストI/F501、制御部102、不揮発性RAM101、RAM103を有している。フラッシュメモリ104は複数のデータ領域に分割されている。   A nonvolatile memory device according to an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is an explanatory diagram showing the configuration of the nonvolatile memory device according to this embodiment and its address map. The nonvolatile storage device includes a flash memory 104 and a memory controller 108. The memory controller 108 includes a host I / F 501, a control unit 102, a nonvolatile RAM 101, and a RAM 103. The flash memory 104 is divided into a plurality of data areas.

メモリコントローラ108内の不揮発性RAM101はアドレス管理情報ATの物理アドレスであるATポインタを格納する不揮発性のRAMである。制御部102はアクセス装置からのコマンドなどによりフラッシュメモリ104を含む不揮発性記憶装置の動作を制御するものである。RAM103はデータやアドレス管理情報などを一時蓄える揮発性メモリであり、ランダムアクセスメモリにより構成される。制御部102とRAM103は、後述するアドレス管理テーブルに基づいてデータの記憶アドレスを管理するアドレス管理手段の機能を有している。   A nonvolatile RAM 101 in the memory controller 108 is a nonvolatile RAM that stores an AT pointer that is a physical address of the address management information AT. The control unit 102 controls the operation of the nonvolatile storage device including the flash memory 104 by a command from the access device. A RAM 103 is a volatile memory that temporarily stores data, address management information, and the like, and includes a random access memory. The control unit 102 and the RAM 103 have a function of an address management unit that manages a data storage address based on an address management table described later.

フラッシュメモリ104のデータ領域は多数の物理ブロックに分割されている。この例では物理ブロック105は旧ATを記憶している。物理ブロック106は現在のATである現ATを記憶している。物理ブロック107は現ATが管理するデータエントリである。なお、フラッシュメモリ104は、消去単位である物理ブロックは2ページからなり、各ページサイズが2kBで構成されるものとする。また、その他のブロックは、図5に示した従来の不揮発性記憶装置と同様である。   The data area of the flash memory 104 is divided into a number of physical blocks. In this example, the physical block 105 stores the old AT. The physical block 106 stores the current AT, which is the current AT. The physical block 107 is a data entry managed by the current AT. In the flash memory 104, a physical block as an erasure unit is composed of two pages, and each page size is 2 kB. Other blocks are the same as those of the conventional nonvolatile memory device shown in FIG.

図2は不揮発性RAM101の格納フォーマットを示すメモリマップである。図2において、上位バイト、即ちByte0から4バイト分は、図1に示したデータ領域#0を管理するATの物理アドレスを保持する領域である。これに続くByteはデータ領域#1〜#3を管理するATの物理アドレスを保持する領域である。例えばデータ領域#0を管理するATの物理アドレスを保持する領域は、ATポインタ#0_0とATポインタ#0_1の2つの領域からなり、どちらかに現ATが記憶される。現ATであることを指し示す情報、即ち現AT識別フラグは、図2の太枠で示したビットに格納される。値1が付与された方のATポインタが、現ATの物理アドレスを保持した各ポインタ毎に、ATの物理アドレス値を保持する10ビット分の領域が設けられる。例えばATポインタ#0_0であれば、Byte1側のb1をMSB、Byte0側のb0をLSBとしてATの物理アドレスが記憶される。   FIG. 2 is a memory map showing the storage format of the nonvolatile RAM 101. In FIG. 2, the upper bytes, that is, 4 bytes from Byte 0 are areas that hold the physical addresses of ATs that manage the data area # 0 shown in FIG. The following Byte is an area for holding the physical address of the AT that manages the data areas # 1 to # 3. For example, the area that holds the physical address of the AT that manages the data area # 0 is composed of two areas of the AT pointer # 0_0 and the AT pointer # 0_1, and the current AT is stored in either area. Information indicating the current AT, that is, the current AT identification flag is stored in the bits indicated by the thick frame in FIG. For each pointer in which the AT pointer to which the value 1 is assigned holds the physical address of the current AT, an area for 10 bits holding the AT physical address value is provided. For example, in the case of AT pointer # 0_0, the physical address of the AT is stored with b1 on the Byte1 side as MSB and b0 on the Byte0 side as LSB.

図3は、本実施の形態によるアドレス管理情報更新方法を示すフローチャートである。本実施の形態による不揮発性記憶装置の動作について、図1〜3及び表1を用いて説明する。基本動作は図4に示した従来の不揮発性記憶装置の動作と同様である。相違点はアドレス管理情報ATを再配置する方法、即ちアドレス管理情報ATの物理アドレスの決定方法である。本実施の形態では不揮発性RAM101上でATポインタを更新することによって、アドレス管理情報ATの再配置を行うことを特徴とする。   FIG. 3 is a flowchart showing the address management information update method according to this embodiment. The operation of the nonvolatile memory device according to this embodiment will be described with reference to FIGS. The basic operation is the same as that of the conventional nonvolatile memory device shown in FIG. The difference is a method of rearranging the address management information AT, that is, a method of determining a physical address of the address management information AT. The present embodiment is characterized in that the address management information AT is rearranged by updating the AT pointer on the nonvolatile RAM 101.

Figure 2006099211
不揮発性RAM101は、表1に示すように、フラッシュメモリと比較すると、書き換え保証回数が100億回と非常に多い。このため不揮発性RAM101上でのATポインタの更新、即ち書き換えによる寿命は特に考慮する必要が無くなる。またバイトあたりの書き込みサイクルも100nsと比較的高速に行えるので、図2に示したATポインタの2バイトは200nsで実行できる。従来のようなフラッシュメモリ上でのATIの更新と比較して、より高速にアドレス管理情報ATの再配置処理が行える。さて、図3を用いて、アクセス装置から書き込み要求があった場合の処理について説明する。
Figure 2006099211
As shown in Table 1, the non-volatile RAM 101 has a very large number of guaranteed rewrites of 10 billion compared with the flash memory. For this reason, it is not necessary to particularly consider the lifetime due to the update of the AT pointer on the nonvolatile RAM 101, that is, the rewriting. Further, since the write cycle per byte can be performed at a relatively high speed of 100 ns, two bytes of the AT pointer shown in FIG. 2 can be executed in 200 ns. Compared with the conventional ATI update on the flash memory, the address management information AT can be relocated at a higher speed. Now, the processing when there is a write request from the access device will be described with reference to FIG.

まず、フラッシュメモリ104に初めてデータが書き込まれる場合においては、不揮発性RAM101には、各データ領域に対応するATポインタの内0番側、即ちATポインタ#0_0、ATポインタ#1_0、ATポインタ#2_0、ATポインタ#3_0に現AT識別フラグ(太枠のビット)として値1が設定されており、ポインタ値としては物理ブロック番号0が設定されているとする。但し物理ブロック番号0の物理ブロックはバッドブロックではないとする。この状態の後、アクセス装置から与えられる論理アドレスに従い、データの書き込み先の領域が決定される(図3のS301)。   First, when data is written to the flash memory 104 for the first time, the nonvolatile RAM 101 stores 0th of AT pointers corresponding to each data area, that is, AT pointer # 0_0, AT pointer # 1_0, AT pointer # 2_0. It is assumed that the value 1 is set as the current AT identification flag (thick framed bit) in the AT pointer # 3_0 and the physical block number 0 is set as the pointer value. However, the physical block with physical block number 0 is not a bad block. After this state, the data write destination area is determined according to the logical address given from the access device (S301 in FIG. 3).

例えば、外部のアクセス装置から論理アドレス0が指定されると、フラッシュメモリ104の中のデータ領域#0の物理ブロック番号0が現ATとして指定され、フラッシュメモリ104から現ATをRAM103に読み出す(S302)。また論理ブロック番号に対応する1ワード中の物理ブロック番号をチェックする。そして、論理ブロック番号に対応する1ワード中に物理ブロック番号が登録されていない場合、即ち未アロケートの場合は、未アロケート物理ブロック番号を検出し、当該物理ブロックをイレーズ処理し、データをフラッシュメモリ104に書き込む。次にデータを書き込んだ物理ブロック番号に対応したアロケーションフラグをアロケート済み状態、即ち値0に更新する(S303)。   For example, when the logical address 0 is designated from the external access device, the physical block number 0 of the data area # 0 in the flash memory 104 is designated as the current AT, and the current AT is read from the flash memory 104 to the RAM 103 (S302). ). Also, the physical block number in one word corresponding to the logical block number is checked. If the physical block number is not registered in one word corresponding to the logical block number, that is, if it is not allocated, the unallocated physical block number is detected, the physical block is erased, and the data is flash memory 104 is written. Next, the allocation flag corresponding to the physical block number in which the data is written is updated to the allocated state, that is, the value 0 (S303).

その後、RAM103上のATに基づいて、未アロケート物理ブロック番号を検出し(例えば物理ブロック番号5)、当該物理ブロックをイレーズ処理し、当該物理ブロックをアロケート済み状態、即ち値0に更新した上で、RAM103のATをフラッシュメモリ104に書き戻す(S304)。物理ブロック番号5が現ATとなるので、不揮発性RAM101のATポインタ#0_1に、ポインタ値として物理ブロック番号5を書き込み、現AT識別フラグ(太枠のビット)に値1を書き込む。更にATポインタ#0_0は旧ATとなるので、現AT識別フラグ(太枠のビット)に値0を書き込む。以上の処理が終わった時の不揮発性RAM101の記憶状態は図2に示すようになる。   Thereafter, based on the AT on the RAM 103, the unallocated physical block number is detected (for example, physical block number 5), the physical block is erased, and the physical block is updated to the allocated state, that is, the value 0. The AT of the RAM 103 is written back to the flash memory 104 (S304). Since the physical block number 5 is the current AT, the physical block number 5 is written as a pointer value to the AT pointer # 0_1 of the nonvolatile RAM 101, and the value 1 is written to the current AT identification flag (thick framed bit). Further, since the AT pointer # 0_0 becomes the old AT, the value 0 is written in the current AT identification flag (thick framed bit). The storage state of the nonvolatile RAM 101 when the above processing is completed is as shown in FIG.

次にアクセス装置から書き込み要求があった場合は、図1に示す通り物理ブロック番号5のアドレスに記憶されている現ATに基づいて、斜線を施した物理ブロック、即ち物理ブロック番号4092の物理ブロックにデータを書き込む。   Next, when there is a write request from the access device, based on the current AT stored at the address of the physical block number 5 as shown in FIG. 1, the shaded physical block, that is, the physical block of the physical block number 4092 Write data to.

なお、AT自体を不揮発性RAMに記憶させる方法も考えられるが、本実施の形態のようにATの容量は2kBと比較的大きな容量であるため、不揮発性RAM101より容量の大きな不揮発性RAMを備える必要が生じ、コスト的にデメリットとなる。フラッシュメモリの容量が大きくなるにつれてアドレス管理情報ATの容量が大きくなるので、上記デメリットは更に顕著となる。   Although a method of storing the AT itself in the nonvolatile RAM is also conceivable, since the AT has a relatively large capacity of 2 kB as in the present embodiment, a nonvolatile RAM having a larger capacity than the nonvolatile RAM 101 is provided. There is a need, which is a cost disadvantage. Since the capacity of the address management information AT increases as the capacity of the flash memory increases, the above demerits become more remarkable.

また本実施の形態のようにアドレス管理情報ATのサイズを合理化するために、フラッシュッメモリ全体のアドレス空間をデータ領域#0〜#3に分割して、それぞれ独立にアドレス管理情報ATを有する場合は、アクセス装置からアクセスされる論理アドレスが、頻繁にデータ領域#0〜#3の間を跨るアクセスがなされたとき、そのアクセス毎にアドレス管理情報ATをフラッシュメモリから不揮発性RAMにロードする必要がある。   Further, in order to rationalize the size of the address management information AT as in this embodiment, the address space of the entire flash memory is divided into data areas # 0 to # 3 and each has the address management information AT independently. When the logical address accessed from the access device is frequently accessed across the data areas # 0 to # 3, it is necessary to load the address management information AT from the flash memory to the nonvolatile RAM for each access. There is.

図4に示したような従来の不揮発性記憶装置にあっては、アドレス管理情報ATをフラッシュメモリから揮発性のRAMにロードしており、揮発性のRAMは書き込みサイクルが10nSecオーダーであるため、比較的高速にロードできた。不揮発性RAMは書き込みサイクルが100nSecオーダーであるため、例えば2kB分のアドレス管理情報ATをロードするのに200μSec(2kB×100nSec)となる。これはフラッシュメモリの書き込みサイクル時間に近い時間となり、処理速度の低下として無視できないオーダーとなる。   In the conventional nonvolatile memory device as shown in FIG. 4, the address management information AT is loaded from the flash memory to the volatile RAM, and the volatile RAM has a write cycle on the order of 10 nSec. It was able to load relatively fast. Since the nonvolatile RAM has a write cycle on the order of 100 nSec, for example, 200 μSec (2 kB × 100 nSec) is required to load the address management information AT for 2 kB. This is a time close to the write cycle time of the flash memory, and it is an order that cannot be ignored as a reduction in processing speed.

またフラッシュメモリ104はデータ領域#0〜データ領域#3に分割しなくても構わない。また不揮発性RAM101はメモリコントローラ108に内蔵させず、メモリコントローラ108の外部にあっても構わない。また不揮発性RAM101は、強誘電体メモリ(FeRAM)や、磁性記録式随時書き込み読み出しメモリ(MRAM)や、オボニックユニファイドメモリ(OUM)や、レジスタンスRAM(RRAM)でもよい。   The flash memory 104 may not be divided into the data area # 0 to the data area # 3. Further, the nonvolatile RAM 101 may not be built in the memory controller 108 but may be outside the memory controller 108. Further, the nonvolatile RAM 101 may be a ferroelectric memory (FeRAM), a magnetic recording type arbitrary writing / reading memory (MRAM), an ovonic unified memory (OUM), or a resistance RAM (RRAM).

本発明の不揮発性記憶装置は、フラッシュメモリに対してのアドレス管理情報をフラッシュメモリ自身に記憶し、そのアドレス管理情報のうちの必要な部分を揮発性メモリに読み出して使用する装置であり、高速処理性を損なうことなくウェアレベリングを実現することができる。本発明は、特に動画などのストリームデータの記録再生を行うシステム等、リアルタイム性の求められる機器の記憶装置として有益である。   The nonvolatile storage device of the present invention is a device that stores address management information for the flash memory in the flash memory itself, and reads and uses a necessary part of the address management information in the volatile memory. Wear leveling can be realized without impairing processability. INDUSTRIAL APPLICABILITY The present invention is particularly useful as a storage device for devices that require real-time properties, such as a system that records and reproduces stream data such as moving images.

本発明の実施の形態による不揮発性記憶装置の構成およびアドレスマップを示す説明図である。It is explanatory drawing which shows the structure and address map of a non-volatile memory device by embodiment of this invention. 本実施の形態による不揮発性RAMのメモリマップである。4 is a memory map of a nonvolatile RAM according to the present embodiment. 本実施の形態によるアドレス管理方法の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the address management method by this Embodiment. 従来のアドレス管理方法を示す概念図である。It is a conceptual diagram which shows the conventional address management method. 従来の不揮発性記憶装置の構成およびアドレスマップを示す説明図である。It is explanatory drawing which shows the structure and address map of the conventional non-volatile memory device. 従来のアドレス管理方法の動作を示すフローチャートである。It is a flowchart which shows operation | movement of the conventional address management method. 従来の不揮発性記憶装置のアドレスマップを示す説明図である。It is explanatory drawing which shows the address map of the conventional non-volatile memory device.

符号の説明Explanation of symbols

101 不揮発性RAM
102、502 制御部
103、503 RAM
104、508 フラッシュメモリ
105,106,404 物理ブロック
107 データエントリ
401 ATI群
402 AT群α
403 AT群β
501 ホストインターフェース(ホストI/F)
504 ATI群領域
505 データ領域
101 Nonvolatile RAM
102, 502 Control unit 103, 503 RAM
104, 508 Flash memory 105, 106, 404 Physical block 107 Data entry 401 ATI group 402 AT group α
403 AT group β
501 Host interface (Host I / F)
504 ATI group area 505 Data area

Claims (28)

外部のアクセス装置から与えられるコマンドと論理アドレスに応じて不揮発性の主記憶メモリにデータを書き込み、及び読み出すメモリコントローラであって、
前記不揮発性の主記憶メモリに対して、データの記憶アドレスを管理するアドレス管理テーブル及びデータの読み書き制御を行う制御手段と、
前記アドレス管理テーブルに基づいてデータの記憶アドレスを管理するアドレス管理手段と、
前記アドレス管理テーブルの記憶アドレスを記憶する不揮発性の補助記憶メモリと、具備し、
前記不揮発性の補助記憶メモリが、前記不揮発性の主記憶メモリよりも書き換え保証回数が多い不揮発性のメモリであり、前記アドレス管理テーブルの記憶アドレスを適宜更新することによって前記アドレス管理テーブルの記憶アドレスが固定化されないようにすることを特徴とするメモリコントローラ。
A memory controller that writes data to and reads data from a nonvolatile main memory in accordance with a command and a logical address given from an external access device,
An address management table for managing data storage addresses and control means for performing data read / write control with respect to the nonvolatile main memory;
Address management means for managing data storage addresses based on the address management table;
A non-volatile auxiliary storage memory for storing a storage address of the address management table;
The non-volatile auxiliary storage memory is a non-volatile memory having a higher number of rewrite guarantees than the non-volatile main storage memory, and the storage address of the address management table is updated by appropriately updating the storage address of the address management table. A memory controller characterized in that the memory controller is not fixed.
前記不揮発性の補助記憶メモリは、少なくとも1ビットから数バイト単位での書き込み速度が前記主記憶用不揮発性メモリより速いことを特徴とする請求項1記載のメモリコントローラ。   2. The memory controller according to claim 1, wherein the nonvolatile auxiliary storage memory has a writing speed in units of at least one bit to several bytes faster than the main storage nonvolatile memory. 前記不揮発性の補助記憶メモリは、不揮発性RAMであることを特徴とする請求項1又は2記載のメモリコントローラ。   3. The memory controller according to claim 1, wherein the nonvolatile auxiliary storage memory is a nonvolatile RAM. 前記不揮発性の補助記憶メモリは、強誘電体メモリ(FeRAM)であることを特徴とする請求項3記載のメモリコントローラ。   4. The memory controller according to claim 3, wherein the nonvolatile auxiliary memory is a ferroelectric memory (FeRAM). 前記不揮発性の補助記憶メモリは、磁性記録式随時書き込み読み出しメモリ(MRAM)であることを特徴とする請求項3記載のメモリコントローラ。   4. The memory controller according to claim 3, wherein the non-volatile auxiliary storage memory is a magnetic recording type arbitrary write / read memory (MRAM). 前記不揮発性の補助記憶メモリは、オボニックユニファイドメモリ(OUM)であることを特徴とする請求項3記載のメモリコントローラ。   4. The memory controller according to claim 3, wherein the non-volatile auxiliary storage memory is an ovonic unified memory (OUM). 前記不揮発性の補助記憶メモリは、レジスタンスRAM(RRAM)であることを特徴とする請求項3記載のメモリコントローラ。   4. The memory controller according to claim 3, wherein the nonvolatile auxiliary storage memory is a resistance RAM (RRAM). 不揮発性の主記憶メモリと、メモリコントローラとを有し、外部のアクセス装置から与えられるコマンドと論理アドレスに応じて前記不揮発性の主記憶メモリにデータを書き込み、及び読み出す不揮発性記憶装置であって、
前記不揮発性の主記憶メモリは、
少なくとも1つのセクタを含む複数の物理ブロックから成り、
前記メモリコントローラは、
前記不揮発性の主記憶メモリに対して、データの記憶アドレスを管理するアドレス管理テーブル及びデータの読み書き制御を行う制御手段と、前記アドレス管理テーブルに基づいてデータの記憶アドレスを管理するアドレス管理手段と、前記アドレス管理テーブルの記憶アドレスを記憶する不揮発性の補助記憶メモリとを具備し、
前記不揮発性の補助記憶メモリは、前記不揮発性の主記憶メモリよりも書き換え保証回数が多い不揮発性のメモリであり、前記アドレス管理テーブルの記憶アドレスを適宜更新することによって前記アドレス管理テーブルの記憶アドレスが固定化されないようにすることを特徴とする不揮発性記憶装置。
A non-volatile storage device having a non-volatile main memory and a memory controller, and writing and reading data to and from the non-volatile main memory according to a command and a logical address given from an external access device ,
The nonvolatile main memory is
A plurality of physical blocks including at least one sector;
The memory controller is
An address management table that manages data storage addresses and control means for performing data read / write control for the nonvolatile main memory, and address management means for managing data storage addresses based on the address management table; A non-volatile auxiliary storage memory for storing a storage address of the address management table,
The non-volatile auxiliary storage memory is a non-volatile memory having a larger number of guaranteed rewrites than the non-volatile main storage memory, and the storage address of the address management table is updated by appropriately updating the storage address of the address management table. A non-volatile storage device characterized in that it is not fixed.
前記不揮発性の補助記憶メモリは、少なくとも1ビットから数バイト単位での書き込み速度が前記主記憶用不揮発性メモリより速いことを特徴とする請求項8記載の不揮発性記憶装置。   9. The nonvolatile storage device according to claim 8, wherein the nonvolatile auxiliary storage memory has a writing speed in units of at least 1 bit to several bytes faster than the main storage nonvolatile memory. 前記不揮発性の補助記憶メモリは、不揮発性RAMであることを特徴とする請求項8又は9記載の不揮発性記憶装置。   10. The nonvolatile storage device according to claim 8, wherein the nonvolatile auxiliary storage memory is a nonvolatile RAM. 前記不揮発性の補助記憶メモリは、強誘電体メモリ(FeRAM)であることを特徴とする請求項10記載の不揮発性記憶装置。   The nonvolatile storage device according to claim 10, wherein the nonvolatile auxiliary storage memory is a ferroelectric memory (FeRAM). 前記不揮発性の補助記憶メモリは、磁性記録式随時書き込み読み出しメモリ(MRAM)であることを特徴とする請求項10記載の不揮発性記憶装置。   11. The nonvolatile storage device according to claim 10, wherein the nonvolatile auxiliary storage memory is a magnetic recording type arbitrary write / read memory (MRAM). 前記不揮発性の補助記憶メモリは、オボニックユニファイドメモリ(OUM)であることを特徴とする請求項10記載の不揮発性記憶装置。   The nonvolatile storage device according to claim 10, wherein the nonvolatile auxiliary storage memory is an ovonic unified memory (OUM). 前記不揮発性の補助記憶メモリは、レジスタンスRAM(RRAM)であることを特徴とする請求項10記載の不揮発性記憶装置。   The nonvolatile storage device according to claim 10, wherein the nonvolatile auxiliary storage memory is a resistance RAM (RRAM). アクセス装置と、不揮発性の主記憶メモリと、メモリコントローラと、を有し、前記アクセス装置から与えられるコマンドと論理アドレスに応じて前記不揮発性の主記憶メモリにデータを書き込み、及び読み出す不揮発性記憶システムであって、
前記不揮発性の主記憶メモリは、
少なくとも1つのセクタを含む複数の物理ブロックから成り、
前記メモリコントローラは、
前記不揮発性の主記憶メモリに対して、データの記憶アドレスを管理するアドレス管理テーブル及びデータの読み書き制御を行う制御手段と、前記アドレス管理テーブルに基づいてデータの記憶アドレスを管理するアドレス管理手段と、前記アドレス管理テーブルの記憶アドレスを記憶する不揮発性の補助記憶メモリとを有し、
前記不揮発性の補助記憶メモリは、前記不揮発性の主記憶メモリよりも書き換え保証回数が多い不揮発性のメモリであり、前記アドレス管理テーブルの記憶アドレスを適宜更新することによって前記アドレス管理テーブルの記憶アドレスが固定化されないようにすることを特徴とする不揮発性記憶システム。
Non-volatile memory having an access device, a non-volatile main memory, and a memory controller, and writing and reading data to and from the non-volatile main memory according to a command and a logical address given from the access device A system,
The nonvolatile main memory is
A plurality of physical blocks including at least one sector;
The memory controller is
An address management table that manages data storage addresses and control means for performing data read / write control for the nonvolatile main memory, and address management means for managing data storage addresses based on the address management table; A non-volatile auxiliary storage memory for storing a storage address of the address management table,
The non-volatile auxiliary storage memory is a non-volatile memory having a larger number of guaranteed rewrites than the non-volatile main storage memory, and the storage address of the address management table is updated by appropriately updating the storage address of the address management table. A non-volatile storage system characterized in that the memory is not fixed.
前記不揮発性の補助記憶メモリは、少なくとも1ビットから数バイト単位での書き込み速度が前記主記憶用不揮発性メモリより速いことを特徴とする請求項15記載の不揮発性記憶システム。   16. The nonvolatile storage system according to claim 15, wherein the nonvolatile auxiliary storage memory has a writing speed in units of at least 1 bit to several bytes faster than the nonvolatile memory for main storage. 前記不揮発性の補助記憶メモリは、不揮発性RAMであることを特徴とする請求項15又は16記載の不揮発性記憶システム。   17. The nonvolatile storage system according to claim 15 or 16, wherein the nonvolatile auxiliary storage memory is a nonvolatile RAM. 前記不揮発性の補助記憶メモリは、強誘電体メモリ(FeRAM)であることを特徴とする請求項16記載の不揮発性記憶システム。   17. The nonvolatile memory system according to claim 16, wherein the nonvolatile auxiliary memory is a ferroelectric memory (FeRAM). 前記不揮発性の補助記憶メモリは、磁性記録式随時書き込み読み出しメモリ(MRAM)であることを特徴とする請求項16記載の不揮発性記憶システム。   17. The nonvolatile storage system according to claim 16, wherein the nonvolatile auxiliary storage memory is a magnetic recording type arbitrary write / read memory (MRAM). 前記不揮発性の補助記憶メモリは、オボニックユニファイドメモリ(OUM)であることを特徴とする請求項16記載の不揮発性記憶システム。   The non-volatile storage system according to claim 16, wherein the non-volatile auxiliary storage memory is an ovonic unified memory (OUM). 前記不揮発性の補助記憶メモリは、レジスタンスRAM(RRAM)であることを特徴とする請求項16記載の不揮発性記憶システム。   The nonvolatile storage system according to claim 16, wherein the nonvolatile auxiliary storage memory is a resistance RAM (RRAM). 外部から与えられるコマンドと論理アドレスに応じて不揮発性の主記憶メモリにデータを書き込み、及び読み出すメモリ制御方法であって、
前記不揮発性の主記憶メモリに対してデータの記憶アドレスを管理するアドレス管理テーブル及びデータの読み書き制御を行い、前記アドレス管理テーブルに基づいてデータの記憶アドレスの管理を行い、前記アドレス管理テーブルの記憶アドレスを不揮発性の補助記憶メモリに記憶し、
前記不揮発性の補助記憶メモリは、前記不揮発性の主記憶メモリよりも書き換え保証回数が多い不揮発性のメモリであり、前記アドレス管理テーブルの記憶アドレスを適宜更新することによって前記アドレス管理テーブルの記憶アドレスが固定化されないようにすることを特徴とするメモリ制御方法。
A memory control method for writing data to and reading data from a nonvolatile main memory according to a command and a logical address given from the outside,
An address management table for managing data storage addresses and data read / write control with respect to the nonvolatile main storage memory, management of data storage addresses based on the address management table, and storage of the address management table Store the address in non-volatile auxiliary storage memory,
The non-volatile auxiliary storage memory is a non-volatile memory having a larger number of guaranteed rewrites than the non-volatile main storage memory, and the storage address of the address management table is updated by appropriately updating the storage address of the address management table. A memory control method characterized in that the memory is not fixed.
前記不揮発性の補助記憶メモリにおける少なくとも1ビットから数バイト単位での書き込み速度が、前記主記憶用不揮発性メモリより速いことを特徴とする請求項22記載のメモリ制御方法。   23. The memory control method according to claim 22, wherein a writing speed in units of at least one bit to several bytes in the non-volatile auxiliary memory is faster than that of the main memory non-volatile memory. 前記不揮発性の補助記憶メモリとして、不揮発性RAMを用いることを特徴とする請求項22又は23記載のメモリ制御方法。   24. The memory control method according to claim 22, wherein a nonvolatile RAM is used as the nonvolatile auxiliary storage memory. 前記不揮発性の補助記憶メモリとして、強誘電体メモリ(FeRAM)を用いることを特徴とする請求項24記載のメモリ制御方法。   The memory control method according to claim 24, wherein a ferroelectric memory (FeRAM) is used as the nonvolatile auxiliary storage memory. 前記不揮発性の補助記憶メモリとして、磁性記録式随時書き込み読み出しメモリ(MRAM)を用いることを特徴とする請求項24記載のメモリ制御方法。   25. The memory control method according to claim 24, wherein a magnetic recording type arbitrary write / read memory (MRAM) is used as the nonvolatile auxiliary storage memory. 前記不揮発性の補助記憶メモリとして、オボニックユニファイドメモリ(OUM)を用いることを特徴とする請求項24記載のメモリ制御方法。   The memory control method according to claim 24, wherein an ovonic unified memory (OUM) is used as the nonvolatile auxiliary storage memory. 前記不揮発性の補助記憶メモリとして、レジスタンスRAM(RRAM)を用いることを特徴とする請求項24記載のメモリ制御方法。   25. The memory control method according to claim 24, wherein a resistance RAM (RRAM) is used as the nonvolatile auxiliary storage memory.
JP2004281677A 2004-09-28 2004-09-28 Memory controller and nonvolatile storage device Pending JP2006099211A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004281677A JP2006099211A (en) 2004-09-28 2004-09-28 Memory controller and nonvolatile storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004281677A JP2006099211A (en) 2004-09-28 2004-09-28 Memory controller and nonvolatile storage device

Publications (1)

Publication Number Publication Date
JP2006099211A true JP2006099211A (en) 2006-04-13

Family

ID=36238991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004281677A Pending JP2006099211A (en) 2004-09-28 2004-09-28 Memory controller and nonvolatile storage device

Country Status (1)

Country Link
JP (1) JP2006099211A (en)

Similar Documents

Publication Publication Date Title
US10657047B2 (en) Data storage device and method of performing partial garbage collection
US8180955B2 (en) Computing systems and methods for managing flash memory device
US10991422B2 (en) Data storage device using a host memory buffer for single-level cell storage and control method for non-volatile memory
KR101202620B1 (en) Non-volatile memory and method with multi-stream updating
KR101089576B1 (en) Non-volatile memory and method with improved indexing for scratch pad and update blocks
US8041884B2 (en) Controller for non-volatile memories and methods of operating the memory controller
US7734862B2 (en) Block management for mass storage
KR100771521B1 (en) Flash memory device having a multi-leveled cell and programming method thereof
US9003099B2 (en) Disc device provided with primary and secondary caches
KR101465789B1 (en) Write and merge methods in memory card systems for reducing the number of page copies
US20030229753A1 (en) Flash memory file system
US20070094440A1 (en) Enhanced data access in a storage device
JPWO2006067923A1 (en) MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND MEMORY CONTROL METHOD
US7287117B2 (en) Flash memory and mapping control apparatus and method for flash memory
US8438325B2 (en) Method and apparatus for improving small write performance in a non-volatile memory
JP2008192154A (en) Memory mapping method and memory mapping system
WO2011068109A1 (en) Storage device and memory controller
KR20070101261A (en) Non-volatile memory and method with multi-stream update tracking
US20140223075A1 (en) Physical-to-logical address map to speed up a recycle operation in a solid state drive
US20100287330A1 (en) Method for writing data into flash memory
US20050005057A1 (en) [nonvolatile memory unit with page cache]
US8271721B2 (en) Data writing method and data storage device
JPWO2008139689A1 (en) Memory controller, semiconductor recording device, and rewrite count notification method
US11080203B2 (en) Data storage device and control method for non-volatile memory
JP2009116465A (en) Storage device and memory control method