JP5646402B2 - Nonvolatile memory page management method - Google Patents

Nonvolatile memory page management method Download PDF

Info

Publication number
JP5646402B2
JP5646402B2 JP2011150233A JP2011150233A JP5646402B2 JP 5646402 B2 JP5646402 B2 JP 5646402B2 JP 2011150233 A JP2011150233 A JP 2011150233A JP 2011150233 A JP2011150233 A JP 2011150233A JP 5646402 B2 JP5646402 B2 JP 5646402B2
Authority
JP
Japan
Prior art keywords
page address
logical
physical page
conversion table
volatile 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.)
Expired - Fee Related
Application number
JP2011150233A
Other languages
Japanese (ja)
Other versions
JP2013016125A (en
Inventor
顕一 芳賀
顕一 芳賀
昭夫 竹内
昭夫 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2011150233A priority Critical patent/JP5646402B2/en
Publication of JP2013016125A publication Critical patent/JP2013016125A/en
Application granted granted Critical
Publication of JP5646402B2 publication Critical patent/JP5646402B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Description

本発明は、不揮発性メモリのページ管理方法に関し、特に不揮発性メモリへのアクセスに用いる論理ページアドレス−物理ページアドレス変換テーブルの保存及び初期化の方法に関するものである。   The present invention relates to a page management method for a nonvolatile memory, and more particularly to a method for storing and initializing a logical page address-physical page address conversion table used for accessing a nonvolatile memory.

現在広く普及している不揮発性メモリの1つにNANDフラッシュメモリがあり、SSD(Solid State Drive)、SD(Secure Digital)メモリカード等多様な形態の記憶装置に適用されている。   One of the non-volatile memories that are currently widely used is a NAND flash memory, which is applied to various types of storage devices such as an SSD (Solid State Drive) and an SD (Secure Digital) memory card.

NANDフラッシュメモリへの読み書きの単位は数百バイトから数kバイトのメモリセルから構成されるページと呼ばれる単位であり、バイト単位での読み書きはできない。一度データを書き込んだページに再びデータを書き込むには、複数ページから構成されるブロックと呼ばれる単位で、再書き込みの前に以前の記憶内容を消去する必要がある。このため、同じページアドレスのデータを上書きしようとすると、該当ページが属するブロックを消去する時間に加え、同ブロック内の上書き対象以外の全てのページのデータを他のメモリ領域に退避する時間、同ブロックを消去する時間、消去したブロックに新しいデータを書き込むとともに退避した全てのページのデータを書き戻す時間がかかり多大な負荷が生じる。また、ブロックを消去できる回数は有限なので、前述の上書き方式ではNANDフラッシュメモリの信頼性に影響する可能性が高くなる。   The unit for reading and writing to the NAND flash memory is a unit called a page composed of memory cells of several hundred bytes to several kilobytes, and cannot be read or written in byte units. In order to write data again on a page where data has been written, it is necessary to erase the previous stored contents before rewriting in units called blocks composed of a plurality of pages. For this reason, when data at the same page address is overwritten, in addition to the time for erasing the block to which the page belongs, the time for saving the data of all pages other than the overwriting target in the same block to the other memory area is the same. It takes a long time to erase a block, and it takes time to write new data to the erased block and write back the data of all saved pages. In addition, since the number of times that a block can be erased is limited, the above-described overwrite method increases the possibility of affecting the reliability of the NAND flash memory.

前述のような負荷や信頼性の問題を回避するために、アドレス変換テーブルが有効とされている。NANDフラッシュメモリへのデータの上書きの際は、元のデータが記憶されたページ以外の空きページに新しいデータを書き込む。そこで、新しいデータが書き込まれたページが元のデータと異なっていても、アクセス元が上書きした最新のデータを一貫したアドレスで読み出せるように、アクセス元が認識するアドレス(以下、論理アドレスと表記)と、そのアドレスに対応する最新のデータがNANDフラッシュメモリ上で物理的に格納されたページのアドレス(以下、物理アドレスと表記)とを対応付けるのがアドレス変換テーブルである。アドレス変換テーブルに関する先行技術文献には、特許文献1がある。   In order to avoid the above-described load and reliability problems, the address conversion table is effective. When data is overwritten in the NAND flash memory, new data is written in an empty page other than the page where the original data is stored. Therefore, even if the page where the new data is written is different from the original data, the address that the access source recognizes (hereinafter referred to as the logical address) so that the latest data overwritten by the access source can be read with a consistent address. ) And the address of the page where the latest data corresponding to the address is physically stored on the NAND flash memory (hereinafter referred to as a physical address) is an address conversion table. Patent Document 1 is a prior art document related to the address conversion table.

特許文献1のメモリシステムは、SAT(セクタ割り当てテーブル)と呼ばれる、論理アドレス順に並んだ論理−物理ページアドレス変換テーブルを不揮発性メモリ上に備え、直近にアクセスしたSATエントリを含む連続領域がキャッシュメモリに一時記憶される。また、一時記憶領域内に、WSL(ライトセクタリスト)と呼ばれるデータを書き込んだ論理アドレスのリストを設け、WSLが一杯になるとSATを更新し、その後WSLを消去する。そして、SATの更新内容をASB(追加SATブロック)と呼ばれるブロックに書き込み、ASBが一杯になるとSATを再構築してSATブロックに書き戻す。更に、最後のASB書き込み後、初めてデータを書き込む先の情報を制御ブロックに備える。初期化時、制御ブロックが指す物理アドレスから電源断直前にデータを書いた物理アドレスまでの範囲でヘッダに書かれた論理アドレスを取得し、WSLを再構築する。   The memory system of Patent Document 1 includes a logical-physical page address conversion table called a SAT (sector allocation table) arranged in the order of logical addresses on a nonvolatile memory, and a continuous area including the most recently accessed SAT entry is a cache memory. Is temporarily stored. Also, a list of logical addresses written with data called WSL (write sector list) is provided in the temporary storage area. When the WSL becomes full, the SAT is updated, and then the WSL is erased. Then, the updated contents of the SAT are written in a block called ASB (additional SAT block), and when the ASB becomes full, the SAT is reconstructed and written back to the SAT block. Furthermore, after the last ASB writing, the control block is provided with information on the destination to which data is written for the first time. At initialization, the logical address written in the header is acquired in the range from the physical address pointed to by the control block to the physical address where data was written immediately before the power is turned off, and the WSL is reconstructed.

特表2002−537596号公報Special Table 2002-537596

しかし、前述した従来技術では、WSLが空から一杯になるまでにデータが書き込まれた論理アドレスの範囲が広くなるほど、不揮発性メモリ上でASBへの書き込み、又はASBのSATへの再構築の範囲が広くなり、最悪の場合SATの更新範囲が全範囲に亘る恐れがある。   However, in the above-described prior art, as the range of logical addresses to which data is written before the WSL becomes full from empty, the range of writing to the ASB on the non-volatile memory or the reconstruction of the ASB to the SAT is increased. There is a risk that the update range of the SAT may cover the entire range in the worst case.

したがって、WSLが一杯になったときのデータ書き込み性能は、それまでにデータが書き込まれた論理アドレスの範囲に大きく影響される。   Therefore, the data write performance when the WSL is full is greatly affected by the range of logical addresses to which data has been written so far.

前記課題を解決するための手段の概要は以下の通りである。すなわち、本発明に係るページ管理方法は、論理ページアドレス順に整列された、不揮発性メモリ全領域分の論理−物理ページアドレス変換テーブルを揮発性メモリ上に備え、後述の論理ページアドレス割り当て履歴が消去されてから埋まるまでの一定周期ごとに、それまでにデータが書き込まれた論理アドレスの範囲に関係なく、前記論理−物理ページアドレス変換テーブル内の1つの領域を前記不揮発性メモリに保存する。   The outline of the means for solving the above-mentioned problems is as follows. That is, the page management method according to the present invention includes a logical-physical page address conversion table for all areas of the nonvolatile memory arranged in the order of logical page addresses on the volatile memory, and erases a logical page address allocation history described later. For every fixed period from when the data is filled, one area in the logical-physical page address conversion table is stored in the nonvolatile memory regardless of the range of logical addresses to which data has been written.

初期化時は、前記論理−物理ページアドレス変換テーブル内の各領域を、保存のタイミングが古い順から、前記不揮発性メモリから前記揮発性メモリ上の保存元領域に順次読み出して論理−物理ページアドレス変換テーブルを復元する。前記各領域は、それぞれ最新のバージョンを読み出し対象とする。ここで、前述の通り前記論理−物理ページアドレス変換テーブルの全領域を電源断の瞬間に一度に保存するのではなく、部分的に周期的なタイミングで保存しているので、前記揮発性メモリ上に読み出された前記論理−物理ページアドレス変換テーブルを前回の電源断の時点の状態にまで戻すための手段が必要になる。   At the time of initialization, each area in the logical-physical page address conversion table is sequentially read from the non-volatile memory to the storage source area on the volatile memory from the oldest storage timing to the logical-physical page address. Restore the translation table. In each of the areas, the latest version is read. Here, as described above, the entire area of the logical-physical page address conversion table is not stored at a moment when the power is turned off, but is partially stored at periodic timing. The means for returning the logical-physical page address conversion table read in step 1 to the state at the time of the previous power-off is required.

そのための手段は2つである。第1に、前記論理−物理ページアドレス変換テーブル内の1つの領域を保存するのと同じタイミングで、前回の保存完了以降にデータを書き込んだ書き込み先論理ページアドレスと書き込み先物理ページアドレスとの組み合わせの全てから構成される論理ページアドレス割り当て履歴を前記不揮発性メモリに保存する。   There are two means for that. First, a combination of a write destination logical page address and a write destination physical page address to which data has been written since the previous save was completed at the same timing as one area in the logical-physical page address conversion table is saved. A logical page address allocation history composed of all of the above is stored in the nonvolatile memory.

前記論理−物理ページアドレス変換テーブル内の各領域を前記揮発性メモリ上に読み出す度に、それが前記不揮発性メモリに保存されたタイミングより1周期後に前記不揮発性メモリに保存された前記論理ページアドレス割り当て履歴を参照し、そこに記録された前記書き込み先論理ページアドレスに対応する前記書き込み先物理ページアドレスで、前記論理−物理ページアドレス変換テーブルの読み出し先領域を上書きする。このように、前記論理−物理ページアドレス変換テーブル内の各領域の読み出しサイクルと、前記論理ページアドレス割り当て履歴の反映のサイクルとを交互に繰り返すことで、前記揮発性メモリ上の前記論理−物理ページアドレス変換テーブルを、前回の電源断前に前記論理−物理ページアドレス変換テーブル内の領域が最後に不揮発性メモリに保存された時点の状態にまで戻すことができる。   Each time each area in the logical-physical page address conversion table is read onto the volatile memory, the logical page address stored in the nonvolatile memory after one cycle from the timing when it is stored in the nonvolatile memory The allocation history is referred to, and the read destination area of the logical-physical page address conversion table is overwritten with the write destination physical page address corresponding to the write destination logical page address recorded therein. Thus, the logical-physical page on the volatile memory is alternately repeated by repeating the read cycle of each area in the logical-physical page address conversion table and the cycle of reflecting the logical page address allocation history. The address conversion table can be returned to the state at the time when the area in the logical-physical page address conversion table was last saved in the nonvolatile memory before the previous power failure.

前回の電源断前の最後のタイミングで前記不揮発性メモリに保存された、前記論理−物理ページアドレス変換テーブル内の領域を前記揮発性メモリに読み出した後は、前述のような論理ページアドレス割り当て履歴の反映ができないので、前記揮発性メモリ上の前記論理−物理ページアドレス変換テーブルを前回の電源断直前の状態にまで戻すための第2の手段が必要になる。具体的には、データ書き込み先の物理ページに対し、そのデータの書き込み先論理ページアドレスを書き込み内容に含める。前記物理ページへのポインタ情報は、前回の前記論理−物理ページアドレス変換テーブル内の領域を前記不揮発性メモリに保存するのと同じタイミングで不揮発性メモリに保存する。   After reading the area in the logical-physical page address conversion table stored in the non-volatile memory at the last timing before the previous power interruption to the volatile memory, the logical page address allocation history as described above Therefore, the second means for returning the logical-physical page address conversion table on the volatile memory to the state immediately before the previous power-off is required. Specifically, the write destination logical page address of the data write destination physical page is included in the write content. The pointer information to the physical page is stored in the nonvolatile memory at the same timing as the previous area in the logical-physical page address conversion table is stored in the nonvolatile memory.

前回の電源断前の最後のタイミングで前記不揮発性メモリに保存された、前記論理−物理ページアドレス変換テーブル内の領域を揮発性メモリに読み出した後は、前回の電源断前の最後のタイミングで前記不揮発性メモリに保存された前記ポインタ情報を参照し、前記ポインタ情報が指す物理ページアドレスで前記論理−物理ページアドレス変換テーブルの読み出し先領域を上書きする。上書き位置は、前記ポインタ情報が指す物理ページに記録された前記書き込み先論理ページアドレスを参照して特定する。   After reading the area in the logical-physical page address conversion table stored in the nonvolatile memory at the last timing before the previous power shutdown to the volatile memory, at the last timing before the last power shutdown. The pointer information stored in the nonvolatile memory is referred to, and the read destination area of the logical-physical page address conversion table is overwritten with the physical page address indicated by the pointer information. The overwriting position is specified with reference to the write destination logical page address recorded in the physical page pointed to by the pointer information.

これまでに説明した手段により、初期化時に、前記論理−物理ページアドレス変換テーブルを前回の電源断直前の状態にまで復元することができる。   By the means described so far, at the time of initialization, the logical-physical page address conversion table can be restored to the state immediately before the previous power-off.

本発明によれば、論理−物理ページアドレス変換テーブルを、特定の周期で、複数の領域に分けて、かつ初期化時に前回の電源断直前の状態に復元できる方式で不揮発性メモリに保存するので、安定した性能でデータの書き込みができる。   According to the present invention, the logical-physical page address conversion table is stored in the non-volatile memory in such a manner that the logical-physical page address conversion table is divided into a plurality of areas at a specific cycle and can be restored to the state immediately before the previous power-off at initialization. Data can be written with stable performance.

本発明の実施形態の構成を示す図である。It is a figure which shows the structure of embodiment of this invention. 本発明の実施形態における論理−物理ページアドレス変換テーブルの一例を示す図である。It is a figure which shows an example of the logical-physical page address conversion table in embodiment of this invention. 本発明の実施形態における論理ページアドレス割り当て履歴の一例を示す図である。It is a figure which shows an example of the logical page address allocation log | history in embodiment of this invention. 本発明の実施形態におけるポインタ情報の一例を示す図である。It is a figure which shows an example of the pointer information in embodiment of this invention. 本発明の実施形態において、データの書き込み、並びに論理−物理ページアドレス変換テーブルと論理ページアドレス割り当て履歴とポインタ情報との更新及び保存の流れを説明するフローチャートである。6 is a flowchart illustrating a flow of data writing and updating and saving of a logical-physical page address conversion table, a logical page address assignment history, and pointer information in the embodiment of the present invention. 本発明の実施形態におけるデータの書き込み、並びに論理−物理ページアドレス変換テーブルと論理ページアドレス割り当て履歴とポインタ情報との更新及び保存を繰り返した結果を時系列で示す図である。It is a figure which shows the result of having repeated the writing of data in the embodiment of this invention, and the update and preservation | save of a logical-physical page address conversion table, a logical page address allocation history, and pointer information in time series. 本発明の実施形態において、初期化時に論理−物理ページアドレス変換テーブルを前回の電源断直前の状態に復元する流れを説明するフローチャートである。7 is a flowchart illustrating a flow of restoring a logical-physical page address conversion table to a state immediately before the previous power-off at the time of initialization in the embodiment of the present invention. 図7に続くフローチャートである。It is a flowchart following FIG. (a)〜(i)は、本発明の実施形態において、初期化時に論理−物理ページアドレス変換テーブルを前回の電源断直前の状態に復元する流れの途中経過、及び結果を時系列で示す図である。(A)-(i) is a figure which shows the middle course of the flow which restores a logical-physical page address conversion table to the state just before the last power-off at the time of initialization, and a time series in embodiment of this invention. It is.

以下に、本発明に係るページ管理方法の実施形態を図面に基づいて詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。   Hereinafter, an embodiment of a page management method according to the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to these embodiments.

《第1の実施形態》
本発明の第1の実施形態の構成を図1に示す。本発明に係るページ管理方法は、集積回路101と、揮発性メモリ103上のソフトウェア141とにより実行される。
<< First Embodiment >>
The configuration of the first embodiment of the present invention is shown in FIG. The page management method according to the present invention is executed by the integrated circuit 101 and the software 141 on the volatile memory 103.

集積回路101は、CPU(Central Processing Unit)111、バスコントローラ112、ホストI/F(interface)113、揮発性メモリI/F114、及び不揮発性メモリI/F115というブロックから構成され、CPU111、ホストI/F113、揮発性メモリI/F114、及び不揮発性メモリI/F115は、バスコントローラ112を中継してアドレスバス121及びデータバス122を介して通信を行う。また、バスコントローラ112は、ホストI/F113、揮発性メモリI/F114、及び不揮発性メモリI/F115の中からアドレスバス121及びデータバス122を介した通信の受信側ブロックを選択するためにチップセレクト信号123を用いる。以下、CPU111、バスコントローラ112、ホストI/F113、揮発性メモリI/F114、及び不揮発性メモリI/F115相互の通信は、バスコントローラ112を中継するものとして説明する。   The integrated circuit 101 includes a CPU (Central Processing Unit) 111, a bus controller 112, a host I / F (interface) 113, a volatile memory I / F 114, and a nonvolatile memory I / F 115. / F 113, volatile memory I / F 114, and nonvolatile memory I / F 115 communicate via the address bus 121 and the data bus 122 via the bus controller 112. Further, the bus controller 112 is a chip for selecting a receiving side block of communication via the address bus 121 and the data bus 122 from the host I / F 113, the volatile memory I / F 114, and the nonvolatile memory I / F 115. A select signal 123 is used. Hereinafter, communication among the CPU 111, the bus controller 112, the host I / F 113, the volatile memory I / F 114, and the nonvolatile memory I / F 115 will be described as relaying the bus controller 112.

ホストI/F113は、バス131を介してホスト機器102とデータの送受信を行うブロックであり、CPU111からの制御により、ホスト機器102からの書き込みデータを揮発性メモリ103上のデータ一時格納領域142に転送するか、データ一時格納領域142上の読み出しデータをホスト機器102に転送する。CPU111が前記制御を開始するには、ホストI/F113がホスト機器102から読み出し又は書き込みを要求された際にCPU111に割り込みを通知するのを条件にするのでもよいし、CPU111がホストI/F113に対しポーリングを行い読み出し又は書き込みの要求を検出するのを条件にするのでもよい。揮発性メモリ103との間のデータ転送の仕組みは、揮発性メモリI/F114の説明の中で後述する。   The host I / F 113 is a block that transmits and receives data to and from the host device 102 via the bus 131, and writes data from the host device 102 to the temporary data storage area 142 in the volatile memory 103 under the control of the CPU 111. The read data on the data temporary storage area 142 is transferred to the host device 102. In order for the CPU 111 to start the control, it may be conditional on the host I / F 113 notifying the CPU 111 of an interrupt when a read or write request is received from the host device 102, or the CPU 111 may be a condition for the host I / F 113. It is also possible to make a condition that polling is performed to detect a read or write request. The mechanism of data transfer with the volatile memory 103 will be described later in the description of the volatile memory I / F 114.

揮発性メモリI/F114は、アドレスバス151及びデータバス152を介して揮発性メモリ103への読み書き、及び揮発性メモリ103上に格納されたソフトウェア141の実行の制御を行うブロックであり、前記制御は、CPU111、ホストI/F113、及び不揮発性メモリI/F115からの読み書き又はソフトウェア実行の要求に応じて行う。以下、CPU111、ホストI/F113、及び不揮発性メモリI/F115による揮発性メモリ103への読み書き、及びCPU111によるソフトウェア141の実行は、揮発性メモリI/F114を経由して行うものとして説明する。   The volatile memory I / F 114 is a block that controls the reading / writing of the volatile memory 103 via the address bus 151 and the data bus 152 and the execution of the software 141 stored on the volatile memory 103. Is performed in response to a read / write request or software execution request from the CPU 111, the host I / F 113, and the nonvolatile memory I / F 115. Hereinafter, the CPU 111, the host I / F 113, and the nonvolatile memory I / F 115 will be described as being performed via the volatile memory I / F 114, and the CPU 141 executes the software 141 with respect to the volatile memory 103.

不揮発性メモリI/F115は、バス161を介して1つ以上の不揮発性メモリ104への読み書きを行うブロックであり、CPU111からの制御により読み書きを行う。不揮発性メモリ104から読み出された内容は、揮発性メモリ103上のデータ一時格納領域142、論理−物理ページアドレス変換テーブル143、論理ページアドレス割り当て履歴144のうちいずれかの領域に転送される。不揮発性メモリ104への書き込み対象は、データ一時格納領域142上のデータ、論理−物理ページアドレス変換テーブル143、論理ページアドレス割り当て履歴144のいずれかである。また、不揮発性メモリI/F115は、バス161を使用できる不揮発性メモリ104を選択するためにチップセレクト信号162を使用する。以下、CPU111による不揮発性メモリ104への読み書きは、不揮発性メモリI/F115を経由して行うものとして説明する。   The non-volatile memory I / F 115 is a block that performs reading / writing to one or more non-volatile memories 104 via the bus 161, and performs reading / writing under the control of the CPU 111. The content read from the nonvolatile memory 104 is transferred to any one of the data temporary storage area 142, the logical-physical page address conversion table 143, and the logical page address allocation history 144 on the volatile memory 103. The target of writing to the nonvolatile memory 104 is any of the data on the temporary data storage area 142, the logical-physical page address conversion table 143, and the logical page address allocation history 144. The nonvolatile memory I / F 115 uses the chip select signal 162 to select the nonvolatile memory 104 that can use the bus 161. Hereinafter, the reading and writing to the nonvolatile memory 104 by the CPU 111 will be described as being performed via the nonvolatile memory I / F 115.

CPU111は、ソフトウェア141を実行することで前述の読み出し又は書き込みに関連する制御を行うとともに、論理−物理ページアドレス変換テーブル143、論理ページアドレス割り当て履歴144、及びポインタ情報145の更新及び作成を行う。   The CPU 111 executes the software 141 to perform control related to the above-described reading or writing, and updates and creates the logical-physical page address conversion table 143, the logical page address assignment history 144, and the pointer information 145.

図2は、論理−物理ページアドレス変換テーブル143の一例である。論理ページアドレスが列201に、それに対応するデータが格納された物理ページアドレスが列202にそれぞれ書き込まれている。論理−物理ページアドレス変換テーブル143の総行数は、不揮発性メモリI/F115に接続されている不揮発性メモリ104の個数に、不揮発性メモリ104の1個あたりのページ数を掛けた値に等しい。列201には、取り得る論理ページアドレスの値全てが昇順に書き込まれている。列202には、論理ページアドレスにデータが存在する場合のみ前記データが格納されている物理ページアドレスを書き込み、データが存在しない場合は空白である。   FIG. 2 is an example of the logical-physical page address conversion table 143. The logical page address is written in column 201, and the physical page address where the corresponding data is stored is written in column 202, respectively. The total number of rows in the logical-physical page address conversion table 143 is equal to a value obtained by multiplying the number of nonvolatile memories 104 connected to the nonvolatile memory I / F 115 by the number of pages per one nonvolatile memory 104. . In column 201, all possible logical page address values are written in ascending order. In column 202, the physical page address in which the data is stored is written only when data exists in the logical page address, and blank when there is no data.

データを読み出す際は、上から数えて読み出し先の論理ページアドレスに等しい行で列202に書き込まれている物理ページアドレスを、読み出すデータの格納先と見なす。例えば、ホスト機器102から、論理ページアドレス0x13CAからのデータの読み出しを要求されたとき、0x13CA行目に書き込まれている0xD82が、データを読み出す物理ページアドレスになる。なお、「0x」は後続する数値が16進数表記であることを意味する(以下、同様)。   When reading data, the physical page address written in the column 202 in the row equal to the logical page address of the read destination counted from the top is regarded as the storage destination of the read data. For example, when the host device 102 requests reading of data from the logical page address 0x13CA, 0xD82 written in the 0x13CA line becomes a physical page address from which data is read. “0x” means that the subsequent numerical value is expressed in hexadecimal (the same applies hereinafter).

データを書き込む際は、上から数えて書き込み先の論理ページアドレスに等しい行で列202に、新しいデータの格納先となる物理ページアドレスを書き込む。例えば、ホスト機器102から、論理ページアドレス0x13C8へのデータの書き込みを要求されたとき、0x13C8行目に書き込まれている0xB087が、別の物理ページアドレスで上書きされる。一方、論理ページアドレス0x13C9へのデータの書き込みを要求されたとき、0x13C9行目の空白箇所に、データの格納先となる物理ページアドレスを書き込む。ここで、列202に書き込む物理ページアドレスはポインタ情報145の中に示されている物理ページアドレスの範囲内から選択するものとする。   When writing data, the physical page address that is the storage destination of new data is written in the column 202 in a row that is equal to the logical page address of the write destination counted from the top. For example, when the host device 102 requests to write data to the logical page address 0x13C8, 0xB087 written in the 0x13C8 line is overwritten with another physical page address. On the other hand, when data writing to the logical page address 0x13C9 is requested, the physical page address that is the data storage destination is written in the blank portion of the 0x13C9 line. Here, the physical page address to be written in the column 202 is selected from the range of the physical page address indicated in the pointer information 145.

なお、論理−物理ページアドレス変換テーブル143は論理ページアドレスと行とを一意に対応付けできるので、揮発性メモリ103の容量を削減するために列201を省略する構成も可能である。   Since the logical-physical page address conversion table 143 can uniquely associate a logical page address with a row, the column 201 can be omitted to reduce the capacity of the volatile memory 103.

図3は、論理ページアドレス割り当て履歴144の一例である。データが書き込まれている物理ページアドレスが列301に、それに対応する論理ページアドレスが列302にそれぞれ書き込まれている。データの書き込みを行う際は、一番上の空白行311で、列301にデータの格納先となる物理ページアドレスを、列302に論理ページアドレスをそれぞれ書き込む。ここで、検索結果に関係なく、列301に書き込む物理ページアドレスはポインタ情報145の中に示されている物理ページアドレスの範囲内から選択するものとする。   FIG. 3 is an example of the logical page address assignment history 144. A physical page address in which data is written is written in a column 301, and a corresponding logical page address is written in a column 302. When writing data, in the top blank row 311, the physical page address that is the data storage destination is written in the column 301, and the logical page address is written in the column 302. Here, it is assumed that the physical page address written in the column 301 is selected from the range of the physical page address indicated in the pointer information 145 regardless of the search result.

図4は、ポインタ情報145の一例である。前述の通り、データを書き込む際は、ここに示されている物理ページアドレス0x1024〜0x2047の範囲内で書き込み先の物理ページを上から順番に選択する。   FIG. 4 is an example of the pointer information 145. As described above, when writing data, the write destination physical pages are selected in order from the top within the range of the physical page addresses 0x1024 to 0x2047 shown here.

図5は、ソフトウェア141がCPU111に行わせる論理−物理ページアドレス変換テーブル143、論理ページアドレス割り当て履歴144、及びポインタ情報145の更新手順である。本手順は、ホスト機器102からのデータ書き込み要求が発生したときに開始する。   FIG. 5 shows a procedure for updating the logical-physical page address conversion table 143, the logical page address assignment history 144, and the pointer information 145 that the software 141 causes the CPU 111 to perform. This procedure starts when a data write request from the host device 102 is generated.

最初に、CPU111はポインタ情報145の特定行から、データ書き込み先の物理ページアドレスを取得する(ステップS501)。ここで、ポインタ情報145から物理ページアドレスを取得する行番号として、変数xを定義する。   First, the CPU 111 acquires the physical page address of the data write destination from the specific line of the pointer information 145 (step S501). Here, a variable x is defined as a line number for acquiring a physical page address from the pointer information 145.

次に、CPU111はホストI/F113からデータ書き込み先の論理ページアドレスを取得し(ステップS502)、ステップS501で取得したアドレスが指す物理ページにデータを書き込む。ここで、同じ物理ページの余白に、ステップS502で取得した論理ページアドレスも同時に書き込む(ステップS503)。   Next, the CPU 111 acquires the logical page address of the data writing destination from the host I / F 113 (step S502), and writes the data to the physical page indicated by the address acquired in step S501. Here, the logical page address acquired in step S502 is simultaneously written in the margin of the same physical page (step S503).

物理ページへの書き込み後、CPU111は論理−物理ページアドレス変換テーブル143を更新する。具体的には、上から数えてステップS502で取得した論理ページアドレスに相当する行に、ステップS501で取得した物理ページアドレスを書き込む(ステップS504)。   After writing to the physical page, the CPU 111 updates the logical-physical page address conversion table 143. Specifically, the physical page address acquired in step S501 is written in the row corresponding to the logical page address acquired in step S502 counted from the top (step S504).

論理−物理ページアドレス変換テーブル143の更新後、CPU111は論理ページアドレス割り当て履歴144のx行目に、ステップS501で取得した物理ページアドレスとステップS502で取得した論理ページアドレスとをそれぞれ追記する(ステップS505)。ここでxの値が(論理ページアドレス割り当て履歴144の総行数−1)でない場合(ステップS506でNoに分岐)、CPU111はxの値を1加算して(ステップS508)、ホスト機器102からの次のデータ書き込み要求を待つ。一方、xの値が(論理ページアドレス割り当て履歴144の総行数−1)である場合(ステップS506でYesに分岐)、以下の処理に移行する。   After updating the logical-physical page address conversion table 143, the CPU 111 adds the physical page address acquired in step S501 and the logical page address acquired in step S502 to the x-th row of the logical page address assignment history 144 (step S502). S505). If the value of x is not (the total number of lines in the logical page address allocation history 144 −1) (branch to No in step S506), the CPU 111 adds 1 to the value of x (step S508), and from the host device 102 Wait for the next data write request. On the other hand, if the value of x is (the total number of rows in the logical page address allocation history 144 -1) (branch to Yes in step S506), the processing proceeds to the following.

CPU111は、論理ページアドレス割り当て履歴144の全てを不揮発性メモリ104に保存し、保存完了後に揮発性メモリ103上から消去する(ステップS507)。なお、論理ページアドレス割り当て履歴144を不揮発性メモリ104上で保存する領域の指定方法は、初期化時に同領域のアドレス範囲と保存の順番とを一意に特定できる方法であれば任意の方法でよく、例えば不揮発性メモリ104の中から特定の1個を選び、その中の固定アドレスの物理ページに領域指定情報を書き込んで、前記領域指定情報が指す領域の範囲内で先頭の空白物理ページから順番に論理ページアドレス割り当て履歴144を書き込む方法が考えられる。   The CPU 111 saves all of the logical page address assignment history 144 in the nonvolatile memory 104 and erases it from the volatile memory 103 after the saving is completed (step S507). The method for specifying the area for storing the logical page address allocation history 144 on the nonvolatile memory 104 may be any method as long as the address range of the area and the order of storage can be uniquely specified at the time of initialization. For example, a specific one is selected from the non-volatile memory 104, the area designation information is written to the physical page of the fixed address in the non-volatile memory 104, and the first blank physical page in order from the area indicated by the area designation information. A method of writing the logical page address assignment history 144 to the storage area can be considered.

次に、CPU111は、論理−物理ページアドレス変換テーブル143を等サイズに分割した中の1つを不揮発性メモリ104に保存する。具体的には、論理−物理ページアドレス変換テーブル143のy行目〜(y+N−1)行目を保存する(ステップS509)。ここでNは定数で、論理−物理ページアドレス変換テーブル143の総行数はNで割り切れるものとする。一方、yは変数で、Nの倍数のいずれかから1引いた値を取り得る。なお、分割した論理−物理ページアドレス変換テーブル143を不揮発性メモリ104上で保存する領域の指定方法は、初期化時に同領域のアドレス範囲と保存の順番とを一意に特定でき、かつ論理ページアドレス割り当て履歴144の保存領域と区別できれば任意の方法でよい。   Next, the CPU 111 stores one of the logical-physical page address conversion table 143 divided into equal sizes in the nonvolatile memory 104. Specifically, the y-th to (y + N−1) -th lines of the logical-physical page address conversion table 143 are saved (step S509). Here, N is a constant, and the total number of rows in the logical-physical page address conversion table 143 is divisible by N. On the other hand, y is a variable and can take a value obtained by subtracting 1 from any of N multiples. Note that the method for designating the area for storing the divided logical-physical page address conversion table 143 on the nonvolatile memory 104 can uniquely specify the address range of the same area and the order of storage at initialization, and the logical page address. Any method can be used as long as it can be distinguished from the storage area of the allocation history 144.

その後、CPU111は、空き物理ページ、すなわち空白の物理ページ又は論理ページの上書きにより使用されなくなった物理ページを任意の方法で検索し、そのうち空白でないページを消去し(ステップS510)、これらの物理ページアドレスでポインタ情報145を更新するとともに、更新したポインタ情報145を不揮発性メモリ104に保存する(ステップS511)。検索は、論理ページアドレス割り当て履歴144の総行数と同じ個数の空き物理ページが見つかるまで継続する。なお、ポインタ情報145を不揮発性メモリ104上で保存する領域の指定方法は、初期化時に同領域のアドレス範囲と保存の順番とを一意に特定でき、かつ論理ページアドレス割り当て履歴144の保存領域、及び分割した論理−物理ページアドレス変換テーブル143の保存領域と区別できれば任意の方法でよい。   Thereafter, the CPU 111 searches for a free physical page, that is, a physical page that is no longer used due to overwriting of a blank physical page or logical page, by using an arbitrary method, and erases non-blank pages (step S510). The pointer information 145 is updated with the address, and the updated pointer information 145 is stored in the nonvolatile memory 104 (step S511). The search continues until the same number of free physical pages as the total number of rows in the logical page address assignment history 144 are found. Note that the method for specifying the area for storing the pointer information 145 on the nonvolatile memory 104 can uniquely specify the address range and the storage order of the area at the time of initialization, and the storage area of the logical page address allocation history 144. Any method may be used as long as it can be distinguished from the storage area of the divided logical-physical page address conversion table 143.

ポインタ情報145の保存が完了すると、CPU111は、xの値を0で初期化する(ステップS512)。これにより、次にホスト機器102から次のデータ書き込みが要求されたとき、ステップS501での物理ページアドレス取得元がポインタ情報145の先頭行に戻るとともに、ステップS505での物理ページアドレス及び論理ページアドレスの追記先が論理ページアドレス割り当て履歴144の先頭行に戻る。   When the storage of the pointer information 145 is completed, the CPU 111 initializes the value of x with 0 (step S512). As a result, when next data write is requested from the host device 102, the physical page address acquisition source in step S501 returns to the first line of the pointer information 145, and the physical page address and logical page address in step S505. To the first line of the logical page address assignment history 144.

次に、CPU111は、(y+N)の値が最大値に達したか(すなわち、論理−物理ページアドレス変換テーブル143の最終行まで不揮発性メモリ104に保存完了したか)判定し(ステップS513)、達した場合は(ステップS513でYesに分岐)yの値を0で初期化する(ステップS514)。これにより、次にホスト機器102から次のデータ書き込みが要求されたとき、ステップS509で論理−物理ページアドレス変換テーブル143の保存対象領域が先頭に戻る。(y+N)の値が最大値に達していない場合(ステップS513でNoに分岐)、CPU111はyの値にN加算する(ステップS515)。これにより、次にホスト機器102から次のデータ書き込みが要求されたとき、ステップS509で論理−物理ページアドレス変換テーブル143の保存対象領域が、今回のデータ書き込みで保存した領域より1つ後方になる。   Next, the CPU 111 determines whether the value of (y + N) has reached the maximum value (that is, whether storage in the nonvolatile memory 104 has been completed up to the last row of the logical-physical page address conversion table 143) (step S513). If reached (branch to Yes in step S513), the value of y is initialized to 0 (step S514). As a result, when next data write is requested from the host device 102, the storage target area of the logical-physical page address conversion table 143 is returned to the top in step S509. If the value of (y + N) has not reached the maximum value (branch to No in step S513), the CPU 111 adds N to the value of y (step S515). As a result, when the next data write is next requested from the host device 102, the storage target area of the logical-physical page address conversion table 143 is one backward from the area stored in the current data write in step S509. .

以上の処理を完了後、CPU111はホスト機器102からの次のデータ書き込み要求を待つ。   After completing the above processing, the CPU 111 waits for the next data write request from the host device 102.

図5の処理を繰り返した結果を時系列で表すと図6の通りになる。ホスト機器102からの要求に従ってポインタ情報145が指す物理ページにデータと論理ページアドレスとを書き込み、論理ページアドレス割り当て履歴144が一杯になると論理ページアドレス割り当て履歴144、分割した論理−物理ページアドレス変換テーブル143、ポインタ情報145を不揮発性メモリ104に保存するサイクルを繰り返している。   The result of repeating the processing of FIG. 5 is shown in FIG. 6 in time series. In accordance with a request from the host device 102, data and a logical page address are written to the physical page pointed to by the pointer information 145. When the logical page address allocation history 144 becomes full, the logical page address allocation history 144 is divided into the logical-physical page address conversion table. 143, the cycle of saving the pointer information 145 in the nonvolatile memory 104 is repeated.

このように、論理−物理ページアドレス変換テーブル143を等サイズに分割して、分割された各領域を周期的に巡回して不揮発性メモリ104に保存する構成なので、各サイクルでデータ以外の情報を不揮発性メモリ104に保存する処理負荷が一定になり、したがって安定した性能でデータの書き込みができるようになる。また、あるサイクルで不揮発性メモリ104に保存した、分割された論理−物理ページアドレス変換テーブル143は、その後のデータの書き込みにより揮発性メモリ103上の最新の内容と差分が生じてくるが、論理ページアドレス割り当て履歴144とポインタ情報145とを一緒に保存することにより、初期化時に、揮発性メモリ103上の論理−物理ページアドレス変換テーブル143を、論理ページアドレス割り当て履歴144及びポインタ情報145、並びにポインタ情報145が指す物理ページに書き込まれた論理ページアドレスを用いて前回の電源断直前の状態にまで補正することが可能になる。   In this way, the logical-physical page address conversion table 143 is divided into equal sizes, and each divided area is periodically cycled and stored in the nonvolatile memory 104. Therefore, information other than data is stored in each cycle. The processing load stored in the non-volatile memory 104 becomes constant, so that data can be written with stable performance. Further, the divided logical-physical page address conversion table 143 saved in the nonvolatile memory 104 in a certain cycle causes a difference from the latest contents on the volatile memory 103 by subsequent data writing. By storing the page address allocation history 144 and the pointer information 145 together, the logical-physical page address conversion table 143 on the volatile memory 103 is converted into the logical page address allocation history 144 and the pointer information 145 at the time of initialization. Using the logical page address written in the physical page pointed to by the pointer information 145, it is possible to correct the state just before the previous power-off.

なお、図6は論理−物理ページアドレス変換テーブル143を4分割した場合の例であり、分割した先頭の領域を保存して論理ページアドレス割り当て履歴144が一杯になる前に電源断になった場合を表している。ここで、T601からT604までの各符号は時刻であり、第2の実施形態で参照する。   FIG. 6 shows an example in which the logical-physical page address conversion table 143 is divided into four. When the divided head area is stored and the logical page address allocation history 144 is full, the power is cut off. Represents. Here, each symbol from T601 to T604 is time, and is referred to in the second embodiment.

《第2の実施形態》
本発明の第2の実施形態の構成は、第1の実施形態に示した図1の構成をベースにしており、揮発性メモリ103上のソフトウェア141が図7及び図8に示す機能を追加で備えている。
<< Second Embodiment >>
The configuration of the second embodiment of the present invention is based on the configuration of FIG. 1 shown in the first embodiment, and the software 141 on the volatile memory 103 adds the functions shown in FIGS. I have.

図7及び図8は、ソフトウェア141がCPU111に行わせる、論理−物理ページアドレス変換テーブル143を前回の電源断直前の状態に復元する手順を示す図である。本手順は、電源投入後の初期化処理中に行われる。   FIGS. 7 and 8 are diagrams showing a procedure for restoring the logical-physical page address conversion table 143 to the state just before the previous power-off, which the software 141 causes the CPU 111 to perform. This procedure is performed during the initialization process after the power is turned on.

図7に示すように、CPU111は最初に、論理−物理ページアドレス変換テーブル143を不揮発性メモリ104に保存する際に分割した個数を変数zに代入する(ステップS701)。後述するように、変数zは、分割された論理−物理ページアドレス変換テーブル143と論理ページアドレス割り当て履歴144とを不揮発性メモリ104から読み出す順番を管理するための変数である。   As shown in FIG. 7, the CPU 111 first substitutes the variable z for the number divided when the logical-physical page address conversion table 143 is stored in the nonvolatile memory 104 (step S701). As will be described later, the variable z is a variable for managing the order in which the divided logical-physical page address conversion table 143 and the logical page address assignment history 144 are read from the nonvolatile memory 104.

以下のS702からS714までの各ステップは、変数zの値が1になる(ステップS705でYesに分岐)まで繰り返される。   The following steps from S702 to S714 are repeated until the value of the variable z becomes 1 (branch to Yes in step S705).

前記繰り返しの中で、CPU111は最初に、前回の電源断から遡ってz回目に不揮発性メモリ104に保存された、分割された論理−物理ページアドレス変換テーブル143の保存場所を特定する(ステップS702)。特定の方法は任意の方法でよい。例えば、保存時に不揮発性メモリ104の中から特定の1個を選び、その中の固定アドレスの物理ページに領域指定情報を書き込んで、前記領域指定情報が指す領域の範囲内で先頭の空白物理ページから順番に分割された論理−物理ページアドレス変換テーブル143を書き込む方法を用い、かつ分割サイズが物理ページサイズ以下の場合、ステップS702ではまず前記固定アドレスの物理ページから領域指定情報を読み出し、前記領域指定情報が指す領域内で先頭の空白ページを検索してそこからzページ分遡った物理ページアドレスを、所望の分割された論理−物理ページアドレス変換テーブル143の保存場所として特定できる。   In the repetition, the CPU 111 first specifies the storage location of the divided logical-physical page address conversion table 143 stored in the nonvolatile memory 104 for the zth time retroactively from the previous power-off (step S702). ). The specific method may be any method. For example, a specific one is selected from the non-volatile memory 104 at the time of saving, and the area designation information is written in the physical page of the fixed address in the nonvolatile memory 104, and the first blank physical page within the area indicated by the area designation information If the method of writing the logical-physical page address conversion table 143 divided in order from is used and the division size is equal to or smaller than the physical page size, in step S702, area designation information is first read from the physical page of the fixed address, and the area A physical page address that is searched for the first blank page in the area indicated by the designation information and goes back by z pages can be specified as a storage location of the desired divided logical-physical page address conversion table 143.

次に、CPU111は、ステップS702で保存場所を特定した、分割された論理−物理ページアドレス変換テーブル143を揮発性メモリ103に読み出す際の読み出し先を特定する(ステップS703)。特定の方法は任意の方法でよい。例えば、ステップS702の保存場所特定に上記の方法を用いた場合、前記領域指定情報が指す領域の先頭物理ページからステップS702で特定された保存場所までのページ数を論理−物理ページアドレス変換テーブル143の分割数で割った余りから読み出し先を求めればよい。仮に、論理−物理ページアドレス変換テーブル143の総行数をL行、分割数をM、前記余りをNとした場合、読み出し先は、揮発性メモリ103上の論理−物理ページアドレス変換テーブル143用の領域で(N×(L/M))行目から((N+1)×(L/M)−1)行目までの範囲となる。   Next, the CPU 111 specifies a reading destination when the divided logical-physical page address conversion table 143 whose storage location has been specified in step S702 is read out to the volatile memory 103 (step S703). The specific method may be any method. For example, when the above method is used for specifying the storage location in step S702, the logical-physical page address conversion table 143 indicates the number of pages from the first physical page of the region pointed to by the region designation information to the storage location specified in step S702. What is necessary is just to obtain | require a reading destination from the remainder divided by the division | segmentation number. If the total number of rows in the logical-physical page address conversion table 143 is L, the number of divisions is M, and the remainder is N, the read destination is for the logical-physical page address conversion table 143 on the volatile memory 103. In this area, the range is from the (N × (L / M)) line to the ((N + 1) × (L / M) −1) line.

更に、CPU111は、分割された論理−物理ページアドレス変換テーブル143を、ステップS702で特定した不揮発性メモリ104上の保存場所から、ステップS703で特定した揮発性メモリ103上の読み出し先に読み出す(ステップS704)。   Further, the CPU 111 reads the divided logical-physical page address conversion table 143 from the storage location on the non-volatile memory 104 specified at step S702 to the read destination on the volatile memory 103 specified at step S703 (step S703). S704).

分割された論理−物理ページアドレス変換テーブル143の読み出しを完了すると、CPU111は、変数zの値が1、すなわちステップS704で読み出した分割された論理−物理ページアドレス変換テーブル143が、前回の電源断前の最後のタイミングで保存されたものか判定し、そうでない場合(ステップS705でNoに分岐。Yesに分岐した場合は後述)は以下の処理に移行する。   When the reading of the divided logical-physical page address conversion table 143 is completed, the CPU 111 determines that the value of the variable z is 1, that is, the divided logical-physical page address conversion table 143 read in step S704 is the previous power-off. It is determined whether it was saved at the previous last timing. If not (if branched to No in step S705, and later branched to Yes), the process proceeds to the following.

変数zの値が1でない場合、CPU111はまず、前回の電源断から遡って(z−1)回目に不揮発性メモリ104に保存された論理ページアドレス割り当て履歴144の保存場所を特定し(ステップS706)、特定された保存場所から論理ページアドレス割り当て履歴144を揮発性メモリ103に読み出す(ステップS707)。ステップS706での保存場所特定の方法は、分割された論理−物理ページアドレス変換テーブル143と同様、任意の方法でよい。   When the value of the variable z is not 1, the CPU 111 first specifies the storage location of the logical page address assignment history 144 stored in the nonvolatile memory 104 for the (z−1) th time after the previous power-off (step S706). The logical page address assignment history 144 is read from the specified storage location to the volatile memory 103 (step S707). The storage location specifying method in step S706 may be any method as in the case of the divided logical-physical page address conversion table 143.

論理ページアドレス割り当て履歴144の読み出しを完了すると、CPU111は、以下のステップS709からS714までを繰り返して、読み出された論理−物理ページアドレス変換テーブル143の復元を行う。最初にCPU111は、読み出した論理ページアドレス割り当て履歴144のi行目に書かれた論理ページアドレスを変数lに代入する(ステップS709)。ここでiは変数で、ステップS708で0に初期化される。すなわち論理ページアドレス割り当て履歴144を読み出すと、最初に0行目を参照することになる。   When the reading of the logical page address assignment history 144 is completed, the CPU 111 repeats the following steps S709 to S714 to restore the read logical-physical page address conversion table 143. First, the CPU 111 assigns the logical page address written in the i-th line of the read logical page address assignment history 144 to the variable l (step S709). Here, i is a variable and is initialized to 0 in step S708. That is, when the logical page address allocation history 144 is read, the 0th line is first referred to.

次に、CPU111は、読み出した論理ページアドレス割り当て履歴144のi行目に書かれた物理ページアドレスを変数pに代入する(ステップS710)。   Next, the CPU 111 substitutes the physical page address written in the i-th line of the read logical page address assignment history 144 for the variable p (step S710).

変数l、pへの代入後、CPU111は、揮発性メモリ103上の論理−物理ページアドレス変換テーブル143用の領域のl行目に、変数pの値を書き込む(ステップS711)。このステップにより、揮発性メモリ103上に読み出し済の分割された論理−物理ページアドレス変換テーブル143の内容を、書き込み1回分だけ新しい状態に戻すことができる。   After the assignment to the variables l and p, the CPU 111 writes the value of the variable p in the l-th line of the area for the logical-physical page address conversion table 143 on the volatile memory 103 (step S711). By this step, the contents of the divided logical-physical page address conversion table 143 that has been read on the volatile memory 103 can be returned to a new state only once for writing.

その後、CPU111は、変数iが最大値、すなわち(論理ページアドレス割り当て履歴144の総行数−1)に達しているか判定し、達していなければ(ステップS712でNoに分岐)変数iの値に1加算し(ステップS714)前記ステップS709に戻り、達していれば(ステップS712でYesに分岐)変数zの値を1減算して(ステップS713)前記ステップS702に戻る。これらの処理は、前記ステップS707で読み出した論理ページアドレス割り当て履歴144の0行目から最終行までに書かれている物理ページアドレスの値を、揮発性メモリ103上の論理−物理ページアドレス変換テーブル143用の領域に順番に書き込むことで、揮発性メモリ103上に読み出し済の分割された論理−物理ページアドレス変換テーブル143の内容を、不揮発性メモリ104への保存周期の1周期分新しい状態に戻して、前回読み出した分割された論理−物理ページアドレス変換テーブル143よりも1周期分、前回の電源断に近いタイミングで不揮発性メモリ104に保存された、分割された論理−物理ページアドレス変換テーブル143の読み出し処理に移行することを意味している。   Thereafter, the CPU 111 determines whether the variable i has reached the maximum value, that is, (the total number of lines in the logical page address allocation history 144 −1). If not, the CPU 111 sets the value of the variable i to the value of the variable i. 1 is added (step S714), and the process returns to step S709. If it has been reached (branch to Yes in step S712), the variable z is decremented by 1 (step S713), and the process returns to step S702. In these processes, the values of the physical page addresses written from the 0th line to the last line of the logical page address assignment history 144 read in step S707 are converted into the logical-physical page address conversion table on the volatile memory 103. By sequentially writing to the area for 143, the contents of the divided logical-physical page address conversion table 143 that has been read on the volatile memory 103 are updated to a new state for one period of the storage period in the nonvolatile memory 104. The divided logical-physical page address conversion table stored in the non-volatile memory 104 at a timing closer to the previous power-off for one cycle than the previously read divided logical-physical page address conversion table 143 This means that the process proceeds to the reading process 143.

前回の電源断直前に不揮発性メモリ104に保存された、分割された論理−物理ページアドレス変換テーブル143の読み出し、すなわち変数zの値が1のときの読み出しが完了すると、読み出せる論理ページアドレス割り当て履歴144がこれ以上ないので、以下に説明するS715からS726までの処理に移行し、データ格納先の物理ページアドレスにデータと一緒に書き込まれた論理ページアドレスをもとに論理−物理ページアドレス変換テーブル143を前回の電源断直前の最新の状態にまで復元するとともに論理ページアドレス割り当て履歴144も前回の電源断直前の最新の状態にまで復元する(ステップS705でYesに分岐:図7から図8へ進む)。   When the reading of the divided logical-physical page address conversion table 143 stored in the nonvolatile memory 104 immediately before the previous power-off, that is, the reading when the value of the variable z is 1, the logical page address allocation that can be read is completed. Since there is no more history 144, the process proceeds from S715 to S726 described below, and logical-physical page address conversion is performed based on the logical page address written together with the data at the physical page address of the data storage destination. The table 143 is restored to the latest state immediately before the previous power shutdown, and the logical page address allocation history 144 is restored to the latest status just before the previous power shutdown (branch to Yes in step S705: FIGS. 7 to 8). Go to).

そのために、図8に示すように、CPU111は最初に、揮発性メモリ103に読み出された論理ページアドレス割り当て履歴144を消去する(ステップS715)。   Therefore, as shown in FIG. 8, the CPU 111 first erases the logical page address assignment history 144 read to the volatile memory 103 (step S715).

また、CPU111は、分割された論理−物理ページアドレス変換テーブル143をステップS704にて揮発性メモリ103上に最後に読み出したときの読み出し先の最終行番号に1加算し、更に論理−物理ページアドレス変換テーブル143全体の総行数で割った余りを変数yに代入する(ステップS716)。ここで、変数yは図5の手順で使用するものと同一であり、これにより、図5のステップS509を次に実行する際、分割された論理−物理ページアドレス変換テーブル143のうち、電源断前に最後に不揮発性メモリ104に保存された領域の1つ後方の領域を保存できるようになり、電源断が発生しても論理−物理ページアドレス変換テーブル143を保存する順番の巡回性が保たれる。   In addition, the CPU 111 adds 1 to the final row number of the read destination when the divided logical-physical page address conversion table 143 is last read on the volatile memory 103 in step S704, and further, the logical-physical page address. The remainder obtained by dividing the total number of rows in the conversion table 143 is substituted into the variable y (step S716). Here, the variable y is the same as that used in the procedure of FIG. 5, so that when the step S 509 of FIG. 5 is executed next, the power-off in the divided logical-physical page address conversion table 143. It becomes possible to save one area after the last area previously stored in the non-volatile memory 104, so that the cyclicity of the order in which the logical-physical page address conversion table 143 is stored is maintained even when the power is cut off. Be drunk.

次に、CPU111は、前回の電源断直前に不揮発性メモリ104に保存したポインタ情報145の保存場所を特定し(ステップS717)、特定された保存場所からポインタ情報145を揮発性メモリ103に読み出す(ステップS718)。ステップS717での保存場所特定の方法は、分割された論理−物理ページアドレス変換テーブル143及び論理ページアドレス割り当て履歴144と同様、任意の方法でよい。   Next, the CPU 111 specifies the storage location of the pointer information 145 stored in the nonvolatile memory 104 immediately before the previous power interruption (step S717), and reads the pointer information 145 from the specified storage location to the volatile memory 103 ( Step S718). The storage location specifying method in step S717 may be any method as in the case of the divided logical-physical page address conversion table 143 and logical page address assignment history 144.

ポインタ情報145の読み出しを完了すると、CPU111は、以下のステップS720からS726までを繰り返す。まずCPU111は、読み出したポインタ情報145のj行目に書かれた物理ページアドレスを変数pに代入する(ステップS720)。ここでjは変数で、ステップS719で0に初期化される。すなわちポインタ情報145を読み出すと、最初に0行目を参照することになる。   When the reading of the pointer information 145 is completed, the CPU 111 repeats the following steps S720 to S726. First, the CPU 111 assigns the physical page address written in the j-th line of the read pointer information 145 to the variable p (step S720). Here, j is a variable and is initialized to 0 in step S719. That is, when the pointer information 145 is read, the 0th row is first referred to.

次に、CPU111は、変数pが指す物理ページを読み出し(ステップS721)、その内容が空白でなければ(ステップS722でNoに分岐。Yesに分岐した場合は後述)そこに書かれた論理ページアドレスを変数lに代入する(ステップS723)。   Next, the CPU 111 reads the physical page pointed to by the variable p (step S721), and if the content is not blank (branch to No in step S722; if branched to Yes, will be described later), the logical page address written there Is substituted for variable l (step S723).

変数p、lへの代入後、CPU111は、揮発性メモリ103に読み出された論理−物理ページアドレス変換テーブル143用のl行目に、変数pの値を上書きする(ステップS724)とともに、揮発性メモリ103上の論理ページアドレス割り当て履歴144のj行目に変数pと変数lの値を追記する(ステップS725)。これらのステップにより、揮発性メモリ103上に読み出された論理−物理ページアドレス変換テーブル143の内容、及び揮発性メモリ103上の論理ページアドレス割り当て履歴144の内容を、書き込み1回分だけ新しい状態に戻すことができる。   After the assignment to the variables p and l, the CPU 111 overwrites the value of the variable p on the l line for the logical-physical page address conversion table 143 read to the volatile memory 103 (step S724), The values of the variable p and the variable l are added to the j-th line of the logical page address assignment history 144 on the memory 103 (step S725). By these steps, the contents of the logical-physical page address conversion table 143 read onto the volatile memory 103 and the contents of the logical page address allocation history 144 on the volatile memory 103 are updated to a new state only once. Can be returned.

その後、CPU111は、変数jが最大値、すなわち(ポインタ情報145の総行数−1)に達しているか判定し、達していなければ(ステップS726でNoに分岐)変数jの値に1加算し(ステップS729)前記ステップS720に戻り、達していれば(ステップS726でYesに分岐)、論理ページアドレス割り当て履歴144が一杯になっており、論理−物理ページアドレス変換テーブル143、論理ページアドレス割り当て履歴144、及びポインタ情報145の一部又は全部を保存完了する前に電源断が発生したものと見なし、図5のS507〜S515と同様の手順でこれらの保存を開始、又は再開して(ステップS727)変数xに0を代入する(ステップS728)。ここで、変数xは図5の手順で使用するものと同一である。完了すると、CPU111は処理を終了し、データの書き込み及び読み出しを受け付けできる状態になる。   Thereafter, the CPU 111 determines whether or not the variable j has reached the maximum value, that is, (the total number of lines of the pointer information 145 −1). If not, the CPU 111 adds 1 to the value of the variable j (branch to No in step S726). (Step S729) Return to Step S720, and if it has been reached (branch to Yes in Step S726), the logical page address allocation history 144 is full, the logical-physical page address conversion table 143, the logical page address allocation history 144 and the pointer information 145 are considered to have been interrupted before the storage is completed, and the storage is started or restarted in the same procedure as S507 to S515 in FIG. 5 (step S727). ) 0 is substituted into the variable x (step S728). Here, the variable x is the same as that used in the procedure of FIG. When completed, the CPU 111 ends the process and is ready to accept data writing and reading.

ここで、前述のステップS722でYesに分岐、すなわちステップS721で読み出された物理ページが空白であった場合、CPU111は、論理−物理ページアドレス変換テーブル143、及び論理ページアドレス割り当て履歴144を前回の電源断直前の状態にまで復元できたと見なし、変数xに変数jの値を代入して(ステップS730)処理を終了し、データの書き込み及び読み出しを受け付けできる状態になる。   If the branch is Yes in step S722 described above, that is, if the physical page read in step S721 is blank, the CPU 111 stores the logical-physical page address conversion table 143 and the logical page address allocation history 144 in the previous time. It is assumed that the state has been restored to the state immediately before the power is turned off, the value of the variable j is substituted for the variable x (step S730), the process is terminated, and the state where the writing and reading of data can be accepted.

図7及び図8の処理の途中経過及び結果の一例を時系列で表すと、図9(a)〜図9(i)の通りになる。図9(a)〜図9(i)は、図6に示した電源断の状況から電源を再投入、初期化する流れを表している。   An example of the progress and results of the processing in FIGS. 7 and 8 in time series are as shown in FIGS. 9A to 9I. FIG. 9A to FIG. 9I show the flow of power-on / initialization from the power-off state shown in FIG.

図6に示した内容は、論理−物理ページアドレス変換テーブル143を4分割したうちの一番上の領域を不揮発性メモリ104に保存した後に電源断が発生した状況を表しているので、図7のステップS702及びS703の結果、4分割したうちの2番目の領域を最初に揮発性メモリ103に読み出す。これを含め、以下(a)から(i)までの段階を経て、論理−物理ページアドレス変換テーブル143は前回の電源断直前の状態に復元される。   The content shown in FIG. 6 represents a situation in which a power failure occurs after the top area of the logical-physical page address conversion table 143 divided into four is stored in the nonvolatile memory 104. FIG. As a result of the steps S702 and S703, the second area of the four divisions is first read to the volatile memory 103. Including this, through the following steps (a) to (i), the logical-physical page address conversion table 143 is restored to the state immediately before the previous power-off.

(a)論理−物理ページアドレス変換テーブル143を揮発性メモリ103に読み出す(4分割したうちの2番目。図7のステップS702〜S704)。   (A) The logical-physical page address conversion table 143 is read out to the volatile memory 103 (second among the four divisions; steps S702 to S704 in FIG. 7).

(b)図6の時刻T601からT602までの間に不揮発性メモリ104に保存された、論理ページアドレス割り当て履歴144に書かれた物理ページアドレスで、論理−物理ページアドレス変換テーブル143を上書きし、(a)で読み出した領域を図6の時刻T602時点の状態にまで戻す(図7のステップS706〜S714)。   (B) Overwrite the logical-physical page address conversion table 143 with the physical page address written in the logical page address assignment history 144 stored in the nonvolatile memory 104 between times T601 and T602 in FIG. The area read in (a) is returned to the state at time T602 in FIG. 6 (steps S706 to S714 in FIG. 7).

(c)論理−物理ページアドレス変換テーブル143を揮発性メモリ103に読み出す(4分割したうちの3番目。図7のステップS702〜S704)。   (C) The logical-physical page address conversion table 143 is read out to the volatile memory 103 (the third of the four divisions; steps S702 to S704 in FIG. 7).

(d)図6の時刻T602からT603までの間に不揮発性メモリ104に保存された、論理ページアドレス割り当て履歴144に書かれた物理ページアドレスで、論理−物理ページアドレス変換テーブル143を上書きし、(a)及び(c)で読み出した領域を図6の時刻T603時点の状態にまで戻す(図7のステップS706〜S714)。   (D) Overwrite the logical-physical page address conversion table 143 with the physical page address written in the logical page address assignment history 144 stored in the nonvolatile memory 104 between times T602 and T603 in FIG. The area read in (a) and (c) is returned to the state at time T603 in FIG. 6 (steps S706 to S714 in FIG. 7).

(e)論理−物理ページアドレス変換テーブル143を揮発性メモリ103に読み出す(4分割したうちの4番目。図7のステップS702〜S704)。   (E) The logical-physical page address conversion table 143 is read out to the volatile memory 103 (fourth of four divisions; steps S702 to S704 in FIG. 7).

(f)図6の時刻T603からT604までの間に不揮発性メモリ104に保存された、論理ページアドレス割り当て履歴144に書かれた物理ページアドレスで、論理−物理ページアドレス変換テーブル143を上書きし、(a)、(c)及び(e)で読み出した領域を図6の時刻T604時点の状態にまで戻す(図7のステップS706〜S714)。   (F) Overwriting the logical-physical page address conversion table 143 with the physical page address written in the logical page address assignment history 144 stored in the nonvolatile memory 104 between times T603 and T604 in FIG. The area read in (a), (c) and (e) is returned to the state at time T604 in FIG. 6 (steps S706 to S714 in FIG. 7).

(g)論理−物理ページアドレス変換テーブル143を揮発性メモリ103に読み出す(4分割したうちの1番目。図7のステップS702〜S704)。   (G) The logical-physical page address conversion table 143 is read out to the volatile memory 103 (the first of four divisions; steps S702 to S704 in FIG. 7).

(h)図6の時刻T604以降にデータを書き込んだ全ての物理ページアドレスと、これらの物理ページに書き込まれた論理ページアドレスとをもとに、論理−物理ページアドレス変換テーブル143を上書きする(図8のステップS717〜S729)。   (H) The logical-physical page address conversion table 143 is overwritten on the basis of all physical page addresses to which data has been written after time T604 in FIG. 6 and logical page addresses written to these physical pages ( Steps S717 to S729 in FIG.

(i)復元完了(図8のステップS730)。   (I) Restoration is completed (step S730 in FIG. 8).

本発明はSSD、SDメモリカード等、不揮発性メモリを内蔵する多様な形態の記憶装置に適用でき、大容量化による論理−物理ページアドレス変換テーブルのサイズ増大に影響されずに安定した性能でデータの書き込みができるようになり、したがって大容量化と高速化との両立が容易になる。   The present invention can be applied to various types of storage devices including a non-volatile memory such as an SSD and an SD memory card, and can perform data with stable performance without being affected by an increase in the size of a logical-physical page address conversion table due to an increase in capacity. Therefore, it is easy to achieve both large capacity and high speed.

101 集積回路
102 ホスト機器
103 揮発性メモリ
104 不揮発性メモリ
111 CPU
112 バスコントローラ
113 ホストI/F
114 揮発性メモリI/F
115 不揮発性メモリI/F
121 アドレスバス
122 データバス
123 チップセレクト信号
131 バス
141 ソフトウェア
142 データ一時格納領域
143 論理−物理ページアドレス変換テーブル
144 論理ページアドレス割り当て履歴
145 ポインタ情報
151 アドレスバス
152 データバス
161 バス
162 チップセレクト信号
DESCRIPTION OF SYMBOLS 101 Integrated circuit 102 Host apparatus 103 Volatile memory 104 Non-volatile memory 111 CPU
112 Bus controller 113 Host I / F
114 Volatile memory I / F
115 Nonvolatile memory I / F
121 Address bus 122 Data bus 123 Chip select signal 131 Bus 141 Software 142 Data temporary storage area 143 Logical-physical page address conversion table 144 Logical page address assignment history 145 Pointer information 151 Address bus 152 Data bus 161 Bus 162 Chip select signal

Claims (4)

1個以上の、ページ単位で読み書きを行う不揮発性メモリのページへのアクセスを制御するページ管理方法であって、
アクセス元が指定する論理ページアドレスをもとに、前記論理ページアドレスに対応するデータが不揮発性メモリ上で物理的に配置されている物理ページアドレスを求めるために使用する、論理ページアドレス順に整列された論理−物理ページアドレス変換テーブルを揮発性メモリ上に配置し、
アクセス元からデータの書き込みを要求される度に前記データの書き込み先物理ページアドレスを特定するステップと、前記論理−物理ページアドレス変換テーブルの中から前記データの書き込み先論理ページアドレスに対応する物理ページアドレスの記録位置を特定するステップと、前記論理−物理ページアドレス変換テーブルの中の前記特定された物理ページアドレスの記録位置に前記書き込み先物理ページアドレスを記録することで前記論理−物理ページアドレス変換テーブルを更新するステップと、前記書き込み先論理ページアドレスと前記書き込み先物理ページアドレスとを組み合わせて前記揮発性メモリ上に追記するステップと、書き込み先物理ページに前記データと前記書き込み先論理ページアドレスとを書き込むステップとを実行し、
一定周期ごとに、前記揮発性メモリ上の前記書き込み先論理ページアドレスと前記書き込み先物理ページアドレスとの組み合わせの全てから構成される論理ページアドレス割り当て履歴を前記不揮発性メモリに保存するステップと、その後前記揮発性メモリ上の前記論理ページアドレス割り当て履歴を消去するステップと、前記論理−物理ページアドレス変換テーブル内の1つの領域を前記不揮発性メモリに保存するステップと、次の周期内にデータを書き込む前記不揮発性メモリ内の領域を確保するステップと、前記確保された不揮発性メモリ領域へのポインタ情報を前記不揮発性メモリに保存するステップとを繰り返し、
前記周期は、前記論理ページアドレス割り当て履歴が消去されてから前記書き込み先論理ページアドレスと前記書き込み先物理ページアドレスとの組み合わせで埋まるまでを1周期とし、
前記書き込み先物理ページアドレスは、1つ前の周期で前記不揮発性メモリに保存されたポインタ情報が指す領域の範囲内から特定されることを特徴とするページ管理方法。
A page management method for controlling access to one or more pages of a non-volatile memory that reads and writes in units of pages,
Based on the logical page address specified by the access source, the data corresponding to the logical page address is arranged in the order of logical page addresses used to obtain the physical page address where the data is physically arranged on the nonvolatile memory. Place the logical-physical page address conversion table on volatile memory,
A step of identifying a physical page address to which the data is written each time an access source requests data writing; Specifying a recording position of the address, and converting the logical-physical page address by recording the write destination physical page address at the recording position of the specified physical page address in the logical-physical page address conversion table. Updating the table; adding the write destination logical page address and the write destination physical page address to the volatile memory; adding the data and the write destination logical page address to the write destination physical page; Step to write and Run,
Storing a logical page address allocation history composed of all the combinations of the write destination logical page address and the write destination physical page address on the volatile memory in the nonvolatile memory at regular intervals; and Erasing the logical page address allocation history on the volatile memory, storing one area in the logical-physical page address conversion table in the non-volatile memory, and writing data within the next cycle Repeating the steps of securing an area in the nonvolatile memory and storing pointer information to the secured nonvolatile memory area in the nonvolatile memory;
The period is one period from when the logical page address allocation history is erased until it is filled with a combination of the write destination logical page address and the write destination physical page address,
The page management method, wherein the write destination physical page address is specified from within a range indicated by pointer information stored in the non-volatile memory in a previous cycle.
請求項1に記載のページ管理方法において、
初期化時に、前記不揮発性メモリに保存されている前記論理−物理ページアドレス変換テーブル内の各領域のそれぞれ最新バージョンを、前記揮発性メモリ上の保存元領域に読み出すステップを実行し、前記論理−物理ページアドレス変換テーブル内の各領域を読み出す順番は、前記不揮発性メモリ上への保存のタイミングが古いほど先であり、
前記論理−物理ページアドレス変換テーブル内の1領域を読み出し完了する度に、前記読み出し完了した前記論理−物理ページアドレス変換テーブル内の1領域より1周期後に前記不揮発性メモリに保存された前記論理ページアドレス割り当て履歴を読み出すステップと、前記揮発性メモリ上の前記論理−物理ページアドレス変換テーブル用領域の中から、読み出した前記論理ページアドレス割り当て履歴中に含まれる前記書き込み先論理ページアドレスに対応する物理ページアドレスの記録位置全てを、読み出した前記論理ページアドレス割り当て履歴中に含まれる前記書き込み先物理ページアドレスで上書きするステップとを実行することで、前記揮発性メモリ上に読み出し済の前記論理−物理ページアドレス変換テーブル内の各領域を前記周期の1周期分新しい状態に戻し、
読み出し対象の前記論理−物理ページアドレス変換テーブル内の全ての領域の読み出しを完了すると、前回の電源断前の最後のタイミングで前記不揮発性メモリに保存された前記不揮発性メモリ領域へのポインタ情報が指す1つ以上の物理ページから前記書き込み先論理ページアドレスを読み出すステップと、前記揮発性メモリ上の前記論理−物理ページアドレス変換テーブル用領域の中から、前記物理ページから読み出した前記書き込み先論理ページアドレスに対応する物理ページアドレスの記録位置全てを、前記ポインタ情報が指す物理ページアドレスで上書きするステップとを実行することで、前回の電源断直前の前記論理−物理ページアドレス変換テーブルの復元を完了することを特徴とするページ管理方法。
The page management method according to claim 1,
A step of reading the latest version of each area in the logical-physical page address conversion table stored in the nonvolatile memory to the storage source area on the volatile memory at the time of initialization; The order of reading each area in the physical page address conversion table is earlier as the timing of storage on the nonvolatile memory is older,
Each time one area in the logical-physical page address conversion table is read, the logical page stored in the nonvolatile memory after one period from the one area in the logical-physical page address conversion table that has been read. A step of reading an address assignment history, and a physical corresponding to the write destination logical page address included in the read logical page address assignment history from the logical-physical page address conversion table area on the volatile memory Executing the step of overwriting all the recording positions of page addresses with the write destination physical page address included in the read logical page address allocation history, thereby reading the logical-physical data already read on the volatile memory. Each area in the page address conversion table Back to one period of the new state of the serial cycle,
When reading of all areas in the logical-physical page address conversion table to be read is completed, pointer information to the nonvolatile memory area stored in the nonvolatile memory at the last timing before the previous power-off is obtained. A step of reading the write destination logical page address from one or more physical pages that point to, and the write destination logical page read from the physical page from the logical-physical page address conversion table area on the volatile memory The restoration of the logical-physical page address conversion table immediately before the previous power-off is completed by executing the step of overwriting all the recording positions of the physical page address corresponding to the address with the physical page address indicated by the pointer information. A page management method characterized by:
請求項1又は2のページ管理方法が、ソフトウェアで制御される形態で実装された集積回路。   An integrated circuit in which the page management method according to claim 1 or 2 is implemented in a form controlled by software. 請求項3に記載の集積回路を制御するソフトウェア。   Software for controlling the integrated circuit according to claim 3.
JP2011150233A 2011-07-06 2011-07-06 Nonvolatile memory page management method Expired - Fee Related JP5646402B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011150233A JP5646402B2 (en) 2011-07-06 2011-07-06 Nonvolatile memory page management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011150233A JP5646402B2 (en) 2011-07-06 2011-07-06 Nonvolatile memory page management method

Publications (2)

Publication Number Publication Date
JP2013016125A JP2013016125A (en) 2013-01-24
JP5646402B2 true JP5646402B2 (en) 2014-12-24

Family

ID=47688739

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011150233A Expired - Fee Related JP5646402B2 (en) 2011-07-06 2011-07-06 Nonvolatile memory page management method

Country Status (1)

Country Link
JP (1) JP5646402B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289544B2 (en) * 2016-07-19 2019-05-14 Western Digital Technologies, Inc. Mapping tables for storage devices
US10540102B2 (en) 2016-09-30 2020-01-21 Amazon Technologies, Inc. Physical media aware spacially coupled journaling and replay
JP6708762B1 (en) * 2019-01-29 2020-06-10 ウィンボンド エレクトロニクス コーポレーション Semiconductor memory device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015A (en) * 1853-09-13 Improvement in fences
JP4967680B2 (en) * 2007-01-23 2012-07-04 ソニー株式会社 Storage device, computer system, and storage device management method
JP5377175B2 (en) * 2009-09-08 2013-12-25 株式会社東芝 Controller and data storage device

Also Published As

Publication number Publication date
JP2013016125A (en) 2013-01-24

Similar Documents

Publication Publication Date Title
US10761780B2 (en) Memory system
KR100847506B1 (en) Storage device, memory management method and program
US10915475B2 (en) Methods and apparatus for variable size logical page management based on hot and cold data
JP4524309B2 (en) Memory controller for flash memory
JP4844639B2 (en) MEMORY CONTROLLER, FLASH MEMORY SYSTEM HAVING MEMORY CONTROLLER, AND FLASH MEMORY CONTROL METHOD
JP4356782B2 (en) MEMORY DEVICE, MEMORY CONTROL METHOD, AND PROGRAM
US20120290769A1 (en) Flash memory device, memory control device, memory control method, and storage system
JPWO2005103903A1 (en) Nonvolatile storage system
US20180067849A1 (en) Storage device that maintains a plurality of layers of address mapping
US20150052329A1 (en) Memory control device, host computer, information processing system and method of controlling memory control device
JP5570406B2 (en) Memory controller and data recording apparatus
US10235284B2 (en) Memory system
US8819387B2 (en) Memory storage device, memory controller, and method for identifying valid data
JP5592478B2 (en) Nonvolatile storage device and memory controller
JP5646402B2 (en) Nonvolatile memory page management method
JP4242245B2 (en) Flash ROM control device
JPWO2007105688A1 (en) MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, AND NONVOLATILE STORAGE SYSTEM
US9798470B2 (en) Memory system for storing and processing translation information
JP2005115562A (en) Flash rom controller
JP2012068765A (en) Memory controller, flash memory system with memory controller, and control method of flash memory
JP2006244017A (en) Data copy method
JP2012068764A (en) Memory controller, nonvolatile memory system with memory controller, and control method of nonvolatile memory
WO2020039927A1 (en) Non-volatile storage device, host device, and data storage system
CN108255437B (en) Data storage device and method
CN107544866B (en) Log updating method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140219

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140320

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140911

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141021

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141105

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees