JP5646402B2 - Nonvolatile memory page management method - Google Patents
Nonvolatile memory page management method Download PDFInfo
- 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
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.
特許文献1のメモリシステムは、SAT(セクタ割り当てテーブル)と呼ばれる、論理アドレス順に並んだ論理−物理ページアドレス変換テーブルを不揮発性メモリ上に備え、直近にアクセスしたSATエントリを含む連続領域がキャッシュメモリに一時記憶される。また、一時記憶領域内に、WSL(ライトセクタリスト)と呼ばれるデータを書き込んだ論理アドレスのリストを設け、WSLが一杯になるとSATを更新し、その後WSLを消去する。そして、SATの更新内容をASB(追加SATブロック)と呼ばれるブロックに書き込み、ASBが一杯になるとSATを再構築してSATブロックに書き戻す。更に、最後のASB書き込み後、初めてデータを書き込む先の情報を制御ブロックに備える。初期化時、制御ブロックが指す物理アドレスから電源断直前にデータを書いた物理アドレスまでの範囲でヘッダに書かれた論理アドレスを取得し、WSLを再構築する。
The memory system of
しかし、前述した従来技術では、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
そのための手段は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.
以下に、本発明に係るページ管理方法の実施形態を図面に基づいて詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。 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
集積回路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
ホストI/F113は、バス131を介してホスト機器102とデータの送受信を行うブロックであり、CPU111からの制御により、ホスト機器102からの書き込みデータを揮発性メモリ103上のデータ一時格納領域142に転送するか、データ一時格納領域142上の読み出しデータをホスト機器102に転送する。CPU111が前記制御を開始するには、ホストI/F113がホスト機器102から読み出し又は書き込みを要求された際にCPU111に割り込みを通知するのを条件にするのでもよいし、CPU111がホストI/F113に対しポーリングを行い読み出し又は書き込みの要求を検出するのを条件にするのでもよい。揮発性メモリ103との間のデータ転送の仕組みは、揮発性メモリI/F114の説明の中で後述する。
The host I /
揮発性メモリ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 /
不揮発性メモリ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 /
CPU111は、ソフトウェア141を実行することで前述の読み出し又は書き込みに関連する制御を行うとともに、論理−物理ページアドレス変換テーブル143、論理ページアドレス割り当て履歴144、及びポインタ情報145の更新及び作成を行う。
The
図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
データを読み出す際は、上から数えて読み出し先の論理ページアドレスに等しい行で列202に書き込まれている物理ページアドレスを、読み出すデータの格納先と見なす。例えば、ホスト機器102から、論理ページアドレス0x13CAからのデータの読み出しを要求されたとき、0x13CA行目に書き込まれている0xD82が、データを読み出す物理ページアドレスになる。なお、「0x」は後続する数値が16進数表記であることを意味する(以下、同様)。
When reading data, the physical page address written in the
データを書き込む際は、上から数えて書き込み先の論理ページアドレスに等しい行で列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
なお、論理−物理ページアドレス変換テーブル143は論理ページアドレスと行とを一意に対応付けできるので、揮発性メモリ103の容量を削減するために列201を省略する構成も可能である。
Since the logical-physical page address conversion table 143 can uniquely associate a logical page address with a row, the
図3は、論理ページアドレス割り当て履歴144の一例である。データが書き込まれている物理ページアドレスが列301に、それに対応する論理ページアドレスが列302にそれぞれ書き込まれている。データの書き込みを行う際は、一番上の空白行311で、列301にデータの格納先となる物理ページアドレスを、列302に論理ページアドレスをそれぞれ書き込む。ここで、検索結果に関係なく、列301に書き込む物理ページアドレスはポインタ情報145の中に示されている物理ページアドレスの範囲内から選択するものとする。
FIG. 3 is an example of the logical page
図4は、ポインタ情報145の一例である。前述の通り、データを書き込む際は、ここに示されている物理ページアドレス0x1024〜0x2047の範囲内で書き込み先の物理ページを上から順番に選択する。
FIG. 4 is an example of the
図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
最初に、CPU111はポインタ情報145の特定行から、データ書き込み先の物理ページアドレスを取得する(ステップS501)。ここで、ポインタ情報145から物理ページアドレスを取得する行番号として、変数xを定義する。
First, the
次に、CPU111はホストI/F113からデータ書き込み先の論理ページアドレスを取得し(ステップS502)、ステップS501で取得したアドレスが指す物理ページにデータを書き込む。ここで、同じ物理ページの余白に、ステップS502で取得した論理ページアドレスも同時に書き込む(ステップS503)。
Next, the
物理ページへの書き込み後、CPU111は論理−物理ページアドレス変換テーブル143を更新する。具体的には、上から数えてステップS502で取得した論理ページアドレスに相当する行に、ステップS501で取得した物理ページアドレスを書き込む(ステップS504)。
After writing to the physical page, the
論理−物理ページアドレス変換テーブル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
CPU111は、論理ページアドレス割り当て履歴144の全てを不揮発性メモリ104に保存し、保存完了後に揮発性メモリ103上から消去する(ステップS507)。なお、論理ページアドレス割り当て履歴144を不揮発性メモリ104上で保存する領域の指定方法は、初期化時に同領域のアドレス範囲と保存の順番とを一意に特定できる方法であれば任意の方法でよく、例えば不揮発性メモリ104の中から特定の1個を選び、その中の固定アドレスの物理ページに領域指定情報を書き込んで、前記領域指定情報が指す領域の範囲内で先頭の空白物理ページから順番に論理ページアドレス割り当て履歴144を書き込む方法が考えられる。
The
次に、CPU111は、論理−物理ページアドレス変換テーブル143を等サイズに分割した中の1つを不揮発性メモリ104に保存する。具体的には、論理−物理ページアドレス変換テーブル143のy行目〜(y+N−1)行目を保存する(ステップS509)。ここでNは定数で、論理−物理ページアドレス変換テーブル143の総行数はNで割り切れるものとする。一方、yは変数で、Nの倍数のいずれかから1引いた値を取り得る。なお、分割した論理−物理ページアドレス変換テーブル143を不揮発性メモリ104上で保存する領域の指定方法は、初期化時に同領域のアドレス範囲と保存の順番とを一意に特定でき、かつ論理ページアドレス割り当て履歴144の保存領域と区別できれば任意の方法でよい。
Next, the
その後、CPU111は、空き物理ページ、すなわち空白の物理ページ又は論理ページの上書きにより使用されなくなった物理ページを任意の方法で検索し、そのうち空白でないページを消去し(ステップS510)、これらの物理ページアドレスでポインタ情報145を更新するとともに、更新したポインタ情報145を不揮発性メモリ104に保存する(ステップS511)。検索は、論理ページアドレス割り当て履歴144の総行数と同じ個数の空き物理ページが見つかるまで継続する。なお、ポインタ情報145を不揮発性メモリ104上で保存する領域の指定方法は、初期化時に同領域のアドレス範囲と保存の順番とを一意に特定でき、かつ論理ページアドレス割り当て履歴144の保存領域、及び分割した論理−物理ページアドレス変換テーブル143の保存領域と区別できれば任意の方法でよい。
Thereafter, the
ポインタ情報145の保存が完了すると、CPU111は、xの値を0で初期化する(ステップS512)。これにより、次にホスト機器102から次のデータ書き込みが要求されたとき、ステップS501での物理ページアドレス取得元がポインタ情報145の先頭行に戻るとともに、ステップS505での物理ページアドレス及び論理ページアドレスの追記先が論理ページアドレス割り当て履歴144の先頭行に戻る。
When the storage of the
次に、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
以上の処理を完了後、CPU111はホスト機器102からの次のデータ書き込み要求を待つ。
After completing the above processing, the
図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
このように、論理−物理ページアドレス変換テーブル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
なお、図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
《第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
図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
図7に示すように、CPU111は最初に、論理−物理ページアドレス変換テーブル143を不揮発性メモリ104に保存する際に分割した個数を変数zに代入する(ステップS701)。後述するように、変数zは、分割された論理−物理ページアドレス変換テーブル143と論理ページアドレス割り当て履歴144とを不揮発性メモリ104から読み出す順番を管理するための変数である。
As shown in FIG. 7, the
以下の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
次に、CPU111は、ステップS702で保存場所を特定した、分割された論理−物理ページアドレス変換テーブル143を揮発性メモリ103に読み出す際の読み出し先を特定する(ステップS703)。特定の方法は任意の方法でよい。例えば、ステップS702の保存場所特定に上記の方法を用いた場合、前記領域指定情報が指す領域の先頭物理ページからステップS702で特定された保存場所までのページ数を論理−物理ページアドレス変換テーブル143の分割数で割った余りから読み出し先を求めればよい。仮に、論理−物理ページアドレス変換テーブル143の総行数をL行、分割数をM、前記余りをNとした場合、読み出し先は、揮発性メモリ103上の論理−物理ページアドレス変換テーブル143用の領域で(N×(L/M))行目から((N+1)×(L/M)−1)行目までの範囲となる。
Next, the
更に、CPU111は、分割された論理−物理ページアドレス変換テーブル143を、ステップS702で特定した不揮発性メモリ104上の保存場所から、ステップS703で特定した揮発性メモリ103上の読み出し先に読み出す(ステップS704)。
Further, the
分割された論理−物理ページアドレス変換テーブル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
変数zの値が1でない場合、CPU111はまず、前回の電源断から遡って(z−1)回目に不揮発性メモリ104に保存された論理ページアドレス割り当て履歴144の保存場所を特定し(ステップS706)、特定された保存場所から論理ページアドレス割り当て履歴144を揮発性メモリ103に読み出す(ステップS707)。ステップS706での保存場所特定の方法は、分割された論理−物理ページアドレス変換テーブル143と同様、任意の方法でよい。
When the value of the variable z is not 1, the
論理ページアドレス割り当て履歴144の読み出しを完了すると、CPU111は、以下のステップS709からS714までを繰り返して、読み出された論理−物理ページアドレス変換テーブル143の復元を行う。最初にCPU111は、読み出した論理ページアドレス割り当て履歴144のi行目に書かれた論理ページアドレスを変数lに代入する(ステップS709)。ここでiは変数で、ステップS708で0に初期化される。すなわち論理ページアドレス割り当て履歴144を読み出すと、最初に0行目を参照することになる。
When the reading of the logical page
次に、CPU111は、読み出した論理ページアドレス割り当て履歴144のi行目に書かれた物理ページアドレスを変数pに代入する(ステップS710)。
Next, the
変数l、pへの代入後、CPU111は、揮発性メモリ103上の論理−物理ページアドレス変換テーブル143用の領域のl行目に、変数pの値を書き込む(ステップS711)。このステップにより、揮発性メモリ103上に読み出し済の分割された論理−物理ページアドレス変換テーブル143の内容を、書き込み1回分だけ新しい状態に戻すことができる。
After the assignment to the variables l and p, the
その後、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
前回の電源断直前に不揮発性メモリ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
そのために、図8に示すように、CPU111は最初に、揮発性メモリ103に読み出された論理ページアドレス割り当て履歴144を消去する(ステップS715)。
Therefore, as shown in FIG. 8, the
また、CPU111は、分割された論理−物理ページアドレス変換テーブル143をステップS704にて揮発性メモリ103上に最後に読み出したときの読み出し先の最終行番号に1加算し、更に論理−物理ページアドレス変換テーブル143全体の総行数で割った余りを変数yに代入する(ステップS716)。ここで、変数yは図5の手順で使用するものと同一であり、これにより、図5のステップS509を次に実行する際、分割された論理−物理ページアドレス変換テーブル143のうち、電源断前に最後に不揮発性メモリ104に保存された領域の1つ後方の領域を保存できるようになり、電源断が発生しても論理−物理ページアドレス変換テーブル143を保存する順番の巡回性が保たれる。
In addition, the
次に、CPU111は、前回の電源断直前に不揮発性メモリ104に保存したポインタ情報145の保存場所を特定し(ステップS717)、特定された保存場所からポインタ情報145を揮発性メモリ103に読み出す(ステップS718)。ステップS717での保存場所特定の方法は、分割された論理−物理ページアドレス変換テーブル143及び論理ページアドレス割り当て履歴144と同様、任意の方法でよい。
Next, the
ポインタ情報145の読み出しを完了すると、CPU111は、以下のステップS720からS726までを繰り返す。まずCPU111は、読み出したポインタ情報145のj行目に書かれた物理ページアドレスを変数pに代入する(ステップS720)。ここでjは変数で、ステップS719で0に初期化される。すなわちポインタ情報145を読み出すと、最初に0行目を参照することになる。
When the reading of the
次に、CPU111は、変数pが指す物理ページを読み出し(ステップS721)、その内容が空白でなければ(ステップS722でNoに分岐。Yesに分岐した場合は後述)そこに書かれた論理ページアドレスを変数lに代入する(ステップS723)。
Next, the
変数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
その後、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
ここで、前述のステップ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
図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
(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
(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
(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
(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
112
114 Volatile memory I / F
115 Nonvolatile memory I / F
121
Claims (4)
アクセス元が指定する論理ページアドレスをもとに、前記論理ページアドレスに対応するデータが不揮発性メモリ上で物理的に配置されている物理ページアドレスを求めるために使用する、論理ページアドレス順に整列された論理−物理ページアドレス変換テーブルを揮発性メモリ上に配置し、
アクセス元からデータの書き込みを要求される度に前記データの書き込み先物理ページアドレスを特定するステップと、前記論理−物理ページアドレス変換テーブルの中から前記データの書き込み先論理ページアドレスに対応する物理ページアドレスの記録位置を特定するステップと、前記論理−物理ページアドレス変換テーブルの中の前記特定された物理ページアドレスの記録位置に前記書き込み先物理ページアドレスを記録することで前記論理−物理ページアドレス変換テーブルを更新するステップと、前記書き込み先論理ページアドレスと前記書き込み先物理ページアドレスとを組み合わせて前記揮発性メモリ上に追記するステップと、書き込み先物理ページに前記データと前記書き込み先論理ページアドレスとを書き込むステップとを実行し、
一定周期ごとに、前記揮発性メモリ上の前記書き込み先論理ページアドレスと前記書き込み先物理ページアドレスとの組み合わせの全てから構成される論理ページアドレス割り当て履歴を前記不揮発性メモリに保存するステップと、その後前記揮発性メモリ上の前記論理ページアドレス割り当て履歴を消去するステップと、前記論理−物理ページアドレス変換テーブル内の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つ以上の物理ページから前記書き込み先論理ページアドレスを読み出すステップと、前記揮発性メモリ上の前記論理−物理ページアドレス変換テーブル用領域の中から、前記物理ページから読み出した前記書き込み先論理ページアドレスに対応する物理ページアドレスの記録位置全てを、前記ポインタ情報が指す物理ページアドレスで上書きするステップとを実行することで、前回の電源断直前の前記論理−物理ページアドレス変換テーブルの復元を完了することを特徴とするページ管理方法。 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:
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)
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)
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 |
-
2011
- 2011-07-06 JP JP2011150233A patent/JP5646402B2/en not_active Expired - Fee Related
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 | |
US6865658B2 (en) | Nonvolatile data management system using data segments and link information | |
JP4356782B2 (en) | MEMORY DEVICE, MEMORY CONTROL METHOD, AND PROGRAM | |
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 | |
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 | |
JP4410271B2 (en) | Memory control 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 |