JP2005085011A - 不揮発性メモリ制御装置 - Google Patents
不揮発性メモリ制御装置 Download PDFInfo
- Publication number
- JP2005085011A JP2005085011A JP2003317119A JP2003317119A JP2005085011A JP 2005085011 A JP2005085011 A JP 2005085011A JP 2003317119 A JP2003317119 A JP 2003317119A JP 2003317119 A JP2003317119 A JP 2003317119A JP 2005085011 A JP2005085011 A JP 2005085011A
- Authority
- JP
- Japan
- Prior art keywords
- page
- data
- directory
- control device
- memory control
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】 データの更新が中断された場合でも、元のデータを復元することが可能な不揮発性メモリ制御装置を提供すること。
【解決手段】 空ページ抽出部51は、不揮発性メモリの空ページを抽出する。ディレクトリページ書込み部52は、空ページ抽出部51によって抽出された空ページに、更新されたデータを書込むページの論理ページ/物理ページ変換テーブルを含んだディレクトリを書込む。また、データページ書込み部53は、空ページ抽出部51によって抽出された空ページに、更新されたデータを書込む。したがって、データの更新が中断された場合でも、元のデータが失われることを防止でき、更新前のデータを復元することが可能となる。
【選択図】 図4
【解決手段】 空ページ抽出部51は、不揮発性メモリの空ページを抽出する。ディレクトリページ書込み部52は、空ページ抽出部51によって抽出された空ページに、更新されたデータを書込むページの論理ページ/物理ページ変換テーブルを含んだディレクトリを書込む。また、データページ書込み部53は、空ページ抽出部51によって抽出された空ページに、更新されたデータを書込む。したがって、データの更新が中断された場合でも、元のデータが失われることを防止でき、更新前のデータを復元することが可能となる。
【選択図】 図4
Description
本発明は、不揮発性メモリを制御する技術に関し、特に、データ書込みが中断した場合であっても、データを復元することが可能な不揮発性メモリ制御装置に関する。
近年、大容量のメモリに対する要望が高まっており、不揮発性メモリ、特にフラッシュメモリが広く使用されるようになってきている。一般に、フラッシュメモリは複数のセクタによって構成され、各セクタはさらに複数のページによって構成される。フラッシュメモリのデータの消去はセクタ単位で行なわれ、データの書込みはページ単位で行なわれる。
演算処理などによって、不揮発性メモリ制御装置がフラッシュメモリに格納される複数のデータを更新する場合、更新するデータが格納されるセクタの全データを消去してから演算処理結果などのデータを書込んだり、新たなページにデータを書込んだりする。これに関連する技術として、特開平7−153284号公報に開示された発明がある。
特開平7−153284号公報に開示された不揮発性半導体記憶装置の制御方法においては、消去フラグと有効フラグと論理ブロックアドレスとをブロック毎に記憶し、論理ブロックのデータを書換える場合、直ちに対応する物理ブロックを消去するのではなく、消去フラグに要消去であることを書込み、消去フラグと有効フラグとが各々消去不要と無効とを示す未書込みブロックを求める。そして、そのブロックにデータを書込み、有効フラグに有効であることを書込み、アクセスしていない期間にブロックを消去するものである。
特開平7−153284号公報
しかし、フラッシュメモリに格納される複数のデータを更新するときに、更新されるデータが格納されるセクタを消去する場合には、更新するデータ以外のデータも消去される。したがって、セクタのデータの消去からデータの更新までの間に電源断などの要因によってデータの更新が中断された場合には、更新するデータ以外のデータも失われてしまい、復元することができないといった問題点があった。
また、特開平7−153284号公報に開示された不揮発性半導体記憶装置の制御方法においては、アクセスしていない期間にブロックを消去するため、実効的に低速な消去動作を隠蔽することができる。しかし、論理ブロックのデータの書換えが完了する前にブロックのデータの消去が行なわれ、電源断などの要因によってデータの更新が中断された場合には、更新するデータ以外のデータも失われてしまい、復元することができないといった問題点があった。
本発明は、上記問題点を解決するためになされたものであり、第1の目的は、データの更新が中断された場合でも、元のデータを復元することが可能な不揮発性メモリ制御装置を提供することである。
第2の目的は、最新の論理ページのデータを容易に取得することが可能な不揮発性メモリ制御装置を提供することである。
第3の目的は、不揮発性メモリのセクタのデータ消去を効率的に行なうことが可能な不揮発性メモリ制御装置を提供することである。
本発明のある局面に従えば、セクタ単位でデータの消去が行なわれ、ページ単位でデータの書込みが行なわれる不揮発性メモリを制御する不揮発性メモリ制御装置であって、不揮発性メモリの空ページを抽出する抽出手段と、抽出手段によって抽出された空ページに、更新されたデータを書込むページの論理ページ番号を物理ページ番号に変換するテーブルを含んだディレクトリを書込む第1の書込み手段と、抽出手段によって抽出された空ページに、更新されたデータを書込む第2の書込み手段とを含む。
本発明の別の局面に従えば、セクタ単位でデータの消去が行なわれ、ページ単位でデータの書込みが行なわれる不揮発性メモリを制御する不揮発性メモリ制御装置であって、更新されたデータを書込むページの論理ページ番号を物理ページ番号に変換するテーブルと、次に新しく書込むディレクトリページを指し示す第1のポインタと、1つ古いディレクトリページを指し示す第2のポインタとを含んだディレクトリページを検索し、ディレクトリページに含まれる第1のポインタおよび第2のポインタに基づいて順次ディレクトリページを検索する第1の検索手段と、第1の検索手段によって検索されたディレクトリページ内のテーブルを参照し、所望の論理ページが含まれるか否かを検索する第2の検索手段と、第2の検索手段によって検索された所望の論理ページが複数ある場合には、最も新しいテーブルに含まれる論理ページに対応した物理ページからデータを読出す読出し手段とを含む。
本発明のさらに別の局面に従えば、セクタ単位でデータの消去が行なわれ、ページ単位でデータの書込みが行なわれる不揮発性メモリを制御する不揮発性メモリ制御装置であって、更新されたデータを書込むページの論理ページ番号を物理ページ番号に変換するテーブルと、最も古いセクタを指し示すポインタとを含んだディレクトリページを参照し、最も古いセクタに含まれる論理ページを抽出する抽出手段と、抽出手段によって抽出された論理ページと同一の論理ページが他のセクタに含まれるか否かを検索する検索手段と、検索手段によって同一の論理ページが全て他のセクタに含まれると判定された場合には、最も古いセクタを消去する消去手段とを含む。
本発明のある局面によれば、第1の書込み手段および第2の書込み手段が、抽出手段によって抽出された空ページに、更新されたデータを書込むページの論理ページ番号を物理ページ番号に変換するためのテーブルおよび更新されたデータを書込むので、データの更新が中断された場合でも、元のデータが失われることを防止でき、更新前のデータを復元することが可能となった。
本発明の別の局面によれば、第2の検索手段によって検索された所望の論理ページが複数ある場合には、読出し手段が最も新しいテーブルに含まれる論理ページに対応した物理ページからデータを読出すので、最新の論理ページのデータを容易に取得することが可能となった。
本発明のさらに別の局面によれば、検索手段によって同一の論理ページが全て他のセクタに含まれると判定された場合には、消去手段が最も古いセクタを消去するので、不揮発性メモリのセクタのデータ消去を効率的に行なうことが可能となった。
(第1の実施の形態)
図1は、本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例を示すブロック図である。この不揮発性メモリ制御装置は、IC(Integrated Circuit)カード31内に設けられ、マイクロコンピュータ(以下、マイコンと呼ぶ。)32を含む。ICカードのコネクタ部には、電源(VDD)端子と、グランド(VSS)端子と、データ、制御信号などを含む入出力(I/O(Input/Output))端子と、クロック(CLK)端子と、マイコン32をリセットするためのリセット(RESET)端子とが設けられており、これらの端子がマイコン32に接続される。なお、マイコン32を不揮発性メモリ制御装置とも呼ぶ。
図1は、本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例を示すブロック図である。この不揮発性メモリ制御装置は、IC(Integrated Circuit)カード31内に設けられ、マイクロコンピュータ(以下、マイコンと呼ぶ。)32を含む。ICカードのコネクタ部には、電源(VDD)端子と、グランド(VSS)端子と、データ、制御信号などを含む入出力(I/O(Input/Output))端子と、クロック(CLK)端子と、マイコン32をリセットするためのリセット(RESET)端子とが設けられており、これらの端子がマイコン32に接続される。なお、マイコン32を不揮発性メモリ制御装置とも呼ぶ。
図2は、図1に示すマイコン32の概略構成を示すブロック図である。このマイコン32は、フラッシュメモリ1と、マイコン32の全体的な制御を行なうCPU(Central Processing Unit)40と、UART(Universal Asynchronous Receiver-Transmitter)41などの入出力制御回路と、RAM(Random Access Memory)42とを含む。CPU40は、バス43を介してフラッシュメモリ1、UART41およびRAM42と接続され、データの入出力を行ないながら、ICカード31の制御を行なう。なお、本実施の形態においては、フラッシュメモリ1がマイコン32に内蔵されている場合について説明するが、フラッシュメモリ1とマイコン32とが別チップで構成されてもよい。
CPU40は、RESET端子を介してリセット信号が入力されると、CLK端子を介して入力されるクロック信号に同期して動作を開始する。たとえば、CPU40は、フラッシュメモリ1に記憶された制御プログラムをRAM42にロードし、この制御プログラムを実行することによって後述するような不揮発性メモリ1の制御を行なう。
UART41は、I/O端子を介して外部との間でデータの送受信を行なう。UART41は、外部からシリアルデータを受信するとパラレルデータに変換して、CPU40に割込み信号を出力し、データの読出しを要求する。CPU40は、UART41を介してアプリケーションからアクセス要求を受けた場合、そのアクセス要求に応じて後述する動作を行なう。また、UART42は、CPU40から送信データを受けるとシリアルデータに変換し、そのシリアルデータを外部へ送信する。
図3は、本発明の第1の実施の形態における不揮発性メモリのマップの一例を示す図である。不揮発性メモリ制御装置は、不揮発性メモリ1を書込み単位であるページに分割して管理する。不揮発性メモリ制御装置は、演算処理結果などのデータを不揮発性メモリ1に書込む場合、アプリケーションからのアクセスに含まれる論理ページ番号を物理ページ番号に変換してデータ書込みを行なう。
ディレクトリページ2は、データを書込むデータページ数4と、論理ページ番号を物理ページ番号に変換するための論理/物理変換テーブル5とを含む。不揮発性メモリ制御装置は、不揮発性メモリ1のデータページ3に更新するデータを書込むときに、そのデータページ数4と、データページ3のそれぞれに対応する論理/物理変換テーブル5とをディレクトリページ2に書込む。
図4は、本発明の第1の実施の形態における不揮発性メモリ制御装置の機能的構成を示すブロック図である。不揮発性メモリ制御装置は、不揮発性メモリ1の空ページを抽出する空ページ抽出部51と、空ページにディレクトリページ2の内容を書込むディレクトリページ書込み部52と、空ページにデータページ3の内容を書込むデータページ書込み部53とを含む。
図5は、本発明の第1の実施の形態における不揮発性メモリ制御装置の処理手順を説明するためのフローチャートである。まず、空ページ抽出部51は、空ページを抽出してディレクトリページとする(S1)。なお、ページの書込みは0ページから順番に行なわれるため、0ページのディレクトリページ内のデータページ数を参照することによって、次のディレクトリページの格納場所を検出することができる。この処理を繰返し、次のディレクトリページにデータが格納されていなければ、そのページが最初の空ページとされ、それ以降のページが全て空ページとして抽出される。図3においては空ページ6以降が全て空ページとなっており、空ページ6がディレクトリページとされる。
次に、ディレクトリページ書込み部52は、ディレクトリページ2にデータページ数4を書込む(S2)。そして、ディレクトリページ書込み部52は、ディレクトリページ2にアプリケーションからの論理ページ番号を物理ページ番号に変換するための論理/物理変換テーブル5を書込む(S3)。
最後に、データページ書込み部53は、ディレクトリページの次の空ページ7から演算処理結果などを含んだデータページの内容を書込み(S4)、処理を終了する。
たとえば、図3の(B)に示すディレクトリページおよびデータページが更新されて、図3の(C)に示す部分に書込まれている場合において、不揮発性メモリ制御装置がデータページ(A)の内容の読出し指示を受けるとする。不揮発性メモリ制御装置は、ディレクトリページ内のデータページ数を参照して、順次ディレクトリページを抽出してその内容を読出す。(B)に示すディレクトリページ内の論理/物理変換テーブルと、(C)に示すディレクトリページ内の論理/物理変換テーブルとには、読出し指示を受けた論理ページ番号が格納されているので、新しく書込まれた(C)に示すディレクトリページ内の論理/物理変換テーブルを参照して、その物理ページ番号のデータページ(A)からデータが読出される。
以上説明したように、本実施の形態における不揮発性メモリ制御装置によれば、空ページに順次ディレクトリページおよびデータページの内容を書込むようにしたので、電源断などの要因によってデータの更新が中断された場合でも、元のデータが失われることを防止でき、更新前のデータを復元することが可能となった。
また、不揮発性メモリ制御装置は、ページ単位でデータの書込みを管理するので、メモリの空き領域を有効に活用することが可能となった。
(第2の実施の形態)
本発明の第2の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。また、本発明の第2の実施の形態における不揮発性メモリ制御装置の機能的構成は、図4に示す第1の実施の形態における不揮発性メモリ制御装置の機能的構成と比較して、空ページ抽出部51の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における空ページ抽出部の参照符号を51’として説明する。
本発明の第2の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。また、本発明の第2の実施の形態における不揮発性メモリ制御装置の機能的構成は、図4に示す第1の実施の形態における不揮発性メモリ制御装置の機能的構成と比較して、空ページ抽出部51の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態における空ページ抽出部の参照符号を51’として説明する。
図6は、本発明の第2の実施の形態における不揮発性メモリのマップの一例を示す図である。図3に示す第1の実施の形態における不揮発性メモリのマップと比較して、物理ページがリング状に配置されている点が異なる。最上位のページ8が空ページでない場合、空ページ抽出部51’は、最下位のページ9に戻って空ページの抽出を行なう。
最下位のセクタには以前書込まれたデータが残っているため、これらのデータが全て更新されて他のセクタに書込まれているか否かを判定する必要がある。その判定方法として、最下位のセクタ内のデータページと同一の論理ページが、全て他のセクタ内にあるか否かによって行なわれる。全て他のセクタ内にある場合には、最下位セクタが消去されて空ページとされる。最下位のセクタが消去不可能であれば、同様の方法によって次のセクタが消去可能であるかが判定される。この処理を繰返すことによって、空ページの抽出が行なわれる。
このように物理ページをリング状に配置することによって、一括してデータを更新する必要がある場合であって、最上位のページ8までデータが書込まれている場合であっても、ページの管理が容易に行なえるようになる。
図7は、本発明の第2の実施の形態における不揮発性メモリ制御装置の処理手順を説明するためのフローチャートである。まず、空ページ抽出部51’は、空ページを抽出してディレクトリページとする(S5)。最上位のページ8が空ページでない場合、空ページ抽出部51’は、最下位のページ9に戻って空ページの抽出を行なう(S6)。図6においては、空ページ9がディレクトリページとされる。
次に、ディレクトリページ書込み部52は、ディレクトリページ2にデータページ数4を書込む(S7)。そして、ディレクトリページ書込み部52は、ディレクトリページ2にアプリケーションからの論理ページ番号を物理ページ番号に変換するための論理/物理変換テーブル5を書込む(S8)。
最後に、データページ書込み部53は、ディレクトリページの次の空ページ7から演算処理結果などを含んだデータページの内容を書込み(S9)、処理を終了する。
以上説明したように、本実施の形態における不揮発性メモリ制御装置によれば、最上位のページ8が空ページでない場合、空ページ抽出部51’が最下位のページ9に戻って空ページの抽出を行なうようにしたので、実施の形態1において説明した効果に加えて、メモリの空き領域をさらに有効に活用することが可能となった。
(第3の実施の形態)
本発明の第3の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
本発明の第3の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
図8は、本発明の第3の実施の形態における不揮発性メモリのマップの一例を示す図である。図6に示す第2の実施の形態における不揮発性メモリのマップと比較して、ディレクトリページ2に、次に新しく書込むディレクトリページのポインタが書込まれる前方ディレクトリページポインタ10と、1つ古いディレクトリページのポインタが書込まれる後方ディレクトリページポインタ11とが追加されている点のみが異なる。
このように前方ディレクトリページポインタ10と後方ディレクトリページポインタ11とを設けることによって、ディレクトリ間にリンクを張り、所望の論理ページの検索を可能とする。同一論理ページに対応する論理/物理変換テーブル5が複数存在する場合には、最も新しく書込まれた論理/物理変換テーブル5に格納される物理ページ番号を正しいものとする。
図9は、本発明の第3の実施の形態における不揮発性メモリ制御装置の機能的構成を示すブロック図である。この不揮発性メモリ制御装置は、前方ディレクトリページポインタ10および後方ディレクトリページポインタ11を参照して、不揮発性メモリ1内のディレクトリページを検索するディレクトリページ検索部61と、ディレクトリページ検索部61によって検索されたディレクトリページ内の論理/物理変換テーブル5を参照して、所望の論理ページを検索する論理ページ検索部62と、論理ページ検索部62によって検索された論理ページに対応する物理ページからデータを読出すデータページ読出し部63とを含む。
図10は、本発明の第3の実施の形態における不揮発性メモリ制御装置の処理手順を説明するためのフローチャートである。不揮発性メモリ制御装置は、初期設定時に不揮発性メモリ1にアクセスし、書込み済みのページに関する情報をRAM42などに格納しておくものとする。本実施の形態においては、不揮発性メモリ1の物理ページがリング状に配置されるため、どのページが空ページになっているかの情報を予め取得する必要がある。そのため、初期設定時に全ページにアクセスして、書込み済みのページに関する情報を取得する。この情報は、データを書込む空ページを抽出するときに使用される。なお、以下の説明において、不揮発性メモリ制御装置は、アプリケーションからの要求により、論理ページ“A”からデータを読出すものとする。
まず、ディレクトリページ検索部61は、任意のディレクトリページにアクセスし、論理/物理変換テーブル5を読出す(S10)。たとえば、最新にアクセスされたディレクトリページからアクセスが開始される。そして、論理ページ検索部62は、ディレクトリページ検索部61によって検索されたディレクトリページ内の論理/物理変換テーブル5を参照して、所望の論理ページ“A”が存在するか否かを判定する(S11)。論理ページ“A”が存在すれば、論理ページ検索部62は論理ページ“A”に対応する物理ページの情報をRAM42などに保持する。
次に、ディレクトリページ検索部61は、前方ディレクトリページポインタ10および後方ディレクトリページポインタ11を参照して、次に検索すべきディレクトリページを検索する。そして、論理ページ検索部62は、ディレクトリページ検索部61によって検索されたディレクトリページ内の論理/物理変換テーブル5を参照して、所望の論理ページ“A”が存在するか否かを判定する。この処理を繰返して、全ディレクトリページの検索を行なう(S12)。
複数のディレクトリページに論理ページ“A”が存在する場合、データページ読出し部63は、最新のディレクトリページ内にある論理/物理変換テーブル5を有効とし、それに対応する物理ページの情報をRAM42から読出す。そして、その物理ページからデータを読出し、RAM42などに格納する(S13)。なお、前方ディレクトリポインタ10を参照することによって、新しいディレクトリページを抽出することができるので、論理ページ“A”が存在する複数のディレクトリページの中で、最も後で前方ディレクトリページポインタ10によって指し示されるディレクトリページが、最新のディレクトリページとなる。
以上説明したように、本実施の形態における不揮発性メモリ制御装置によれば、前方ディレクトリページ10および後方ディレクトリページ11を参照しながら、全てのディレクトリ内に所望の論理ページが存在するか否かを判定するようにしたので、複数のディレクトリページに同一の論理ページが存在する場合でも、最新の論理ページのデータを容易に取得することが可能となった。
(第4の実施の形態)
本発明の第4の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。また、本発明の第4の実施の形態における不揮発性メモリ制御装置の機能的構成は、図4に示す第1の実施の形態における不揮発性メモリ制御装置の機能的構成と比較して、ディレクトリページ書込み部52の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるディレクトリページ書込み部の参照符号を52’として説明する。
本発明の第4の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。また、本発明の第4の実施の形態における不揮発性メモリ制御装置の機能的構成は、図4に示す第1の実施の形態における不揮発性メモリ制御装置の機能的構成と比較して、ディレクトリページ書込み部52の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるディレクトリページ書込み部の参照符号を52’として説明する。
図11は、本発明の第4の実施の形態における不揮発性メモリのマップの一例を示す図である。図8に示す第3の実施の形態における不揮発性メモリのマップと比較して、データページへのデータ書込みが完了したか否かを示す書込み完了フラグ12と、データページへのデータ書込みを開始したか否かを示す書込み着手フラグ13とが追加されている点のみが異なる。
書込み着手フラグ13は、ディレクトリページ書込み部52’がディレクトリページへデータを書込んだ後、データページ書込み部53がデータページへのデータ書込みを開始したときにセットされる。また、書込み完了フラグ12は、データページ書込み部53がデータページへのデータ書込みを完了したときにセットされる。したがって、ディレクトリページ2内の書込み着手フラグ13がセットされており、書込み完了フラグ12がセットされていなければ、データページへのデータ書込みが中断されたものとして処理が行なわれる。
本発明の第4の実施の形態における不揮発性メモリ制御装置の処理手順は、図7に示す第2の実施の形態における不揮発性メモリ制御装置の処理手順と比較して、ステップS8およびS9の処理が異なる点のみが異なる。したがって、重複する処理手順の説明は繰返さない。なお、本実施の形態におけるステップS8およびS9の参照符号をS8’およびS9’として説明する。
ディレクトリページ書込み部52’は、ディレクトリページ2にデータページ数を書込むと(S7)、論理/物理変換テーブル5、前方ディレクトリページポインタ10および後方ディレクトリページポインタ11を書込み、書込み着手フラグ13をセットする(S8’)。
次に、データページ書込み部53は、ディレクトリページの次の空ページから演算処理結果などを含んだデータページの内容を書込む。そして、データページへのデータ書込みが完了すれば、ディレクトリページ書込み部52’は、書込み完了フラグ12をセットして(S9’)、処理を終了する。
書込み着手フラグ13がセットされ、書込み完了フラグ12がセットされていなければ、正常にデータが書込めなかったと判定される。この場合、ディレクトリページ2への書込みが行なわれているが、データページ3へのデータ書込みが行なわれていない状態であるので、後方ディレクトリページポインタ11を参照して、更新前のデータが書込まれているページを検索し、そのページから更新前のデータを読出すことができる。また、前方ディレクトリページポインタ10を参照して、再度新規ディレクトリページおよびデータページに更新後のデータを書込むことができる。
以上説明したように、本実施の形態における不揮発性メモリ制御装置によれば、データの書込み状況に応じて書込み完了フラグ12および書込み着手フラグ13をセットするようにしたので、データ書込みが何らかの要因によって中断されたことを容易に判定することができるようになり、更新前のデータの復元を容易に行なうことが可能となった。
(第5の実施の形態)
本発明の第5の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
本発明の第5の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
図12は、本発明の第5の実施の形態における不揮発性メモリのマップの一例を示す図である。図11に示す第4の実施の形態における不揮発性メモリのマップと比較して、最も古いセクタへのポインタ14が追加されている点のみが異なる。更新データは空ページに順次書込まれていくので、参照されることがなくなったセクタを順次消去していかないと、空ページがなくなることになる。セクタの消去は、最も古いセクタへのポインタ14が参照されて行なわれる。なお、後方ディレクトリページポインタ11を参照することによって、1つ古いディレクトリページを検出することができるので、この後方ディレクトリページポインタ11に基づいて順次古いディレクトリページを検出し、最も古いディレクトリページが存在するセクタが、最も古いセクタとなる。この最も古いセクタへのポインタ14は、データページ数4、論理/物理変換テーブル5が書込まれるのと同じタイミングで書込まれる。
図13は、本発明の第5の実施の形態における不揮発性メモリ制御装置の機能的構成を示すブロック図である。この不揮発性メモリ制御装置は、最も古いセクタを抽出するセクタ抽出部71と、セクタ抽出部71によって抽出されたセクタに含まれる論理ページを抽出する論理ページ抽出部72と、論理ページ抽出部72によって抽出された論理ページが他のセクタに含まれているか否かを検索する論理ページ検索部73と、最も古いセクタのデータを消去するセクタ消去部74とを含む。
図14は、本発明の第5の実施の形態における不揮発性メモリ制御装置の処理手順を説明するためのフローチャートである。まず、セクタ抽出部71は、ディレクトリページ2内の最も古いセクタへのポインタ14を参照して、最も古いセクタを抽出する(S21)。ディレクトリページが複数ある場合には、最も古いセクタへのポインタ14が異なることがあるため、最新のディレクトリページ内の最も古いセクタへのポインタ14が使用される。なお、前方ディレクトリページポインタ10を参照することによって、新しいディレクトリを検出することができるので、前方ディレクトリページポインタ10を順次参照することによって、最新のディレクトリページを検出することができる。
次に、論理ページ抽出部73は、セクタ抽出部71によって抽出されたセクタ内のディレクトリページ2内の論理/物理変換テーブル5の内容を抽出する(S22)。そして、論理ページ検索部73は、他のセクタ内に同一の論理ページがあるか否かを判定する(S23)。
同一の論理ページが全て他のセクタ内にある場合には(S23,Yes)、最も古いセクタは以後参照される可能性がないので、セクタ消去部74はそのセクタを消去する(S24)。また、同一の論理ページが他のセクタ内にない場合には(S23,No)、そのまま処理を終了する。なお、同一の論理ページが全て他のセクタ内にある場合には、そのセクタは以後参照される可能性がないので、即座にそのセクタを消去してもよいし、空ページがなくなった時点でそのセクタを消去するようにしてもよい。
以上説明したように、本実施の形態における不揮発性メモリ制御装置によれば、最も古いセクタへのポインタ14を参照して、参照される可能性のないセクタを消去するようにしたので、空ページを確保することができ、不揮発性メモリ1の容量不足を防止することが可能となった。
(第6の実施の形態)
本発明の第6の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
本発明の第6の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
図15は、本発明の第6の実施の形態における不揮発性メモリのマップの一例を示す図である。図12に示す第5の実施の形態における不揮発性メモリのマップと比較して、最も古いセクタ内に参照される可能性があるデータページ15がある場合には、そのデータページとそれに対応するディレクトリページ9とが空ページに複写される点のみが異なる。
本発明の第5の実施の形態において、最も古いセクタ内に参照される可能性があるデータページが1つでもあればそのセクタの消去が行なわれないので、空ページを確保できない場合が考えられる。本実施の形態においては、最も古いセクタ内に参照される可能性があるデータページがある場合には、そのデータページとそれに対応するディレクトリページとを空ページに複写した後に、セクタの消去が行なわれる。なお、最も古いセクタ内にあるデータページの論理ページと同じ論理ページが他のセクタ内にあれば、そのデータページは今後参照される可能性がないデータページと判定される。また、最も古いセクタ内にあるデータページの論理ページと同じ論理ページが他のセクタ内になければ、そのデータページは参照される可能性があるデータページと判定される。
図16は、本発明の第6の実施の形態における不揮発性メモリ制御装置の機能的構成を示すブロック図である。図13に示す第5の実施の形態における不揮発性メモリ制御装置の機能的構成と比較して、データページとそれに対応するディレクトリページとを空ページに複写するページ複写部75が追加されている点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。
図17は、本発明の第6の実施の形態における不揮発性メモリ制御装置の処理手順を説明するためのフローチャートである。図14に示す第5の実施の形態における不揮発性メモリ制御装置の処理手順と比較して、ステップS25が追加されている点のみが異なる。したがって、重複する処理手順の詳細な説明は繰返さない。
同一の論理ページが他のセクタ内にない場合(S23,No)、ページ複写部75は、そのデータページ15とそれに対応するディレクトリページ9とを空ページ16および17に複写する(S25)。そして、セクタ消去部74は、最も古いセクタのデータを消去して(S24)、処理を終了する。
以上説明したように、本実施の形態における不揮発性メモリ制御装置によれば、最も古いセクタ内に参照される可能性があるデータページがある場合には、そのデータページとそれに対応するディレクトリとを空ページに複写した後に、セクタを消去するようにしたので、実施の形態5よりもさらに空ページの確保が確実に行なえ、不揮発性メモリ1の容量不足を防止することが可能となった。
(第7の実施の形態)
本発明の第7の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。また、本発明の第7の実施の形態における不揮発性メモリ制御装置の機能的構成は、図3に示す第1の実施の形態における不揮発性メモリ制御装置の機能的構成と比較して、ディレクトリページ書込み部52の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるディレクトリページ書込み部の参照符号を52”として説明する。
本発明の第7の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。また、本発明の第7の実施の形態における不揮発性メモリ制御装置の機能的構成は、図3に示す第1の実施の形態における不揮発性メモリ制御装置の機能的構成と比較して、ディレクトリページ書込み部52の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるディレクトリページ書込み部の参照符号を52”として説明する。
図18は、本発明の第7の実施の形態における不揮発性メモリのマップの一例を示す図である。図11に示す第4の実施の形態における不揮発性メモリのマップと比較して、ディレクトリページ2へのディレクトリ書込みが完了したか否かを示すディレクトリ書込み完了フラグ18が追加されている点のみが異なる。
ディレクトリ書込み完了フラグ18は、ディレクトリページ書込み部52”が書込み完了フラグ12および書込み着手フラグ13以外の情報をディレクトリページに書込んだときにセットする。ディレクトリ書込み完了フラグ18がセットされていなければ、ディレクトリページ2へのディレクトリ書込みが中断されたものと判定される。
ディレクトリ書込み完了フラグ18がセットされていなければ、そのディレクトリページは無効とされ、次の空ページ19に再度ディレクトリページの内容が書込まれる。
以上説明したように、本実施の形態における不揮発性メモリ制御装置によれば、ディレクトリページへの書込み状況に応じてディレクトリ書込み完了フラグ18をセットするようにしたので、ディレクトリページへのディレクトリ書込みが何らかの要因によって中断されたことを容易に判定できるようになり、ディレクトリページの再書込みを容易に行なうことが可能となった。
(第8の実施の形態)
本発明の第8の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。また、本発明の第8の実施の形態における不揮発性メモリ制御装置の機能的構成は、図13に示す第5の実施の形態における不揮発性メモリ制御装置の機能的構成と比較して、セクタ消去部74の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるセクタ消去部の参照符号を74’として説明する。
本発明の第8の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。また、本発明の第8の実施の形態における不揮発性メモリ制御装置の機能的構成は、図13に示す第5の実施の形態における不揮発性メモリ制御装置の機能的構成と比較して、セクタ消去部74の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるセクタ消去部の参照符号を74’として説明する。
図19は、本発明の第8の実施の形態における不揮発性メモリのマップの一例を示す図である。図18に示す第7の実施の形態における不揮発性メモリのマップと比較して、セクタの消去が行なわれる際に次に最も古くなるセクタを示すポインタ20と、セクタの消去が中断せずに完了したことを示す消去完了フラグ21とが追加されている点のみが異なる。
セクタ消去部74’は、最も古いセクタを消去する際、そのセクタの消去完了後に最も古くなるセクタへのポインタ20をディレクトリページに書込む。そして、セクタの消去が途中で中断されなければ、セクタ消去部74’は消去完了フラグ21をセットする。
新しいディレクトリ生成時に消去完了フラグ21が参照され、消去完了フラグ21がセットされていれば、消去完了後の最も古いセクタへのポインタ20の内容が、新しいディレクトリ内の最も古いセクタへのポインタ14に書込まれる。
以上説明したように、本実施の形態における不揮発性メモリ制御装置によれば、ディレクトリページ内に消去完了フラグ21を設けるようにしたので、消去が正常に完了したか否かを容易に判定することが可能となった。
また、消去完了後の最も古いセクタへのポインタ20を設けるようにしたので、新しいディレクトリ生成時に最も古いセクタを容易に判定することが可能となった。
(第9の実施の形態)
本発明の第9の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。また、本発明の第9の実施の形態における不揮発性メモリ制御装置の機能的構成は、図9に示す第3の実施の形態における不揮発性メモリ制御装置の機能的構成と比較して、ディレクトリページ検索部61の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるディレクトリページ検索部の参照符号を61’として説明する。
本発明の第9の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。また、本発明の第9の実施の形態における不揮発性メモリ制御装置の機能的構成は、図9に示す第3の実施の形態における不揮発性メモリ制御装置の機能的構成と比較して、ディレクトリページ検索部61の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるディレクトリページ検索部の参照符号を61’として説明する。
図20は、本発明の第9の実施の形態における不揮発性メモリのマップの一例を示す図である。図19に示す第8の実施の形態における不揮発性メモリのマップと比較して、複数のセクタ内の固定ページ22が必ずディレクトリページとされる点のみが異なる。複数ある固定ディレクトリページ22のいずれかが消去された場合でも、少なくとも1つの固定ページ22が残るようにして、ディレクトリページ検索の糸口とする。
初期設定時に不揮発性メモリ1にアクセスし、書込み済みのページに関する情報をRAM42などに格納する際、ディレクトリページ検索部61’は、固定ディレクトリページ22を検索する。そして、論理ページ検索部62は、ディレクトリページ検索部61’によって検索された固定ディレクトリページ22内の論理/物理変換テーブル5を参照して、所望の論理ページが存在するか否かを判定する。所望の論理ページが存在すれば、論理ページ検索部62は所望の論理ページに対応する物理ページの情報をRAM42などに保持する。
次に、ディレクトリページ検索部61’は、前方ディレクトリページポインタ10を参照して、次に検索すべきディレクトリページを検索する。そして、論理ページ検索部62は、ディレクトリページ検索部61’によって検索されたディレクトリページ内の論理/物理変換テーブル5を参照して、所望の論理ページが存在するか否かを判定する。この処理を繰返して、最新ディレクトリページまでの検索を行なう。
複数のディレクトリページに所望の論理ページが存在する場合、データページ読出し部63は、最新のディレクトリページ内にある論理/物理テーブル5を有効とし、それに対応する物理ページをRAM42などから読出す。そして、その物理ページからデータを読出し、RAM42などに格納する。
以上説明したように、本実施の形態における不揮発性メモリ制御装置によれば、複数のセクタ内の固定ページ22を必ずディレクトリページとするようにしたので、ディレクトリページが全て消去されてしまい、データページの検索が行なえなくなるといった不具合を防止することが可能となった。
(第10の実施の形態)
本発明の第10の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
本発明の第10の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
図21は、本発明の第10の実施の形態における不揮発性メモリのマップの一例を示す図である。図20に示す第9の実施の形態における不揮発性メモリのマップと比較して、複数のセクタ内の固定ページ23が必ず次のディレクトリページへのポインタとされる点のみが異なる。複数あるディレクトリページへのポインタ23のいずれかが消去された場合でも、少なくとも1つのディレクトリページへのポインタ23が残るようにして、ディレクトリページ検索の糸口とする。
本発明の第9の実施の形態においては、固定ページ22をディレクトリページとしているため、固定ディレクトリページ22の前のページまでデータが書込まれ、続けてデータを書込む必要がある場合には、固定ディレクトリページ22を飛ばしてデータを書込まなければならない。そのため、ディレクトリページの検索が困難になる場合がある。
本実施の形態においては、固定ページ23を次のディレクトリページへのポインタとすることにより、ディレクトリページの検索を容易にするものである。すなわち、データページの書込みが行なわれ、固定ページ23まで達すると固定ページ23の次のページに対してデータの書込みを続行する。そして、データページの書込みが完了した時点で、固定ページ23に最後に書込んだデータページの次のページを示す情報を書込むことによって、次のディレクトリページへのポインタとする。
以上説明したように、本実施の形態における不揮発性メモリ制御装置によれば、固定ページを次のディレクトリページへのポインタとするようにしたので、第9の実施の形態において説明した効果に加えて、ディレクトリページの検索をさらに容易に行なうことが可能となった。
(第11の実施の形態)
本発明の第11の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
本発明の第11の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。したがって、重複する構成および機能の詳細な説明は繰返さない。
図22は、本発明の第11の実施の形態における不揮発性メモリのマップの一例を示す図である。図21に示す第10の実施の形態における不揮発性メモリのマップと比較して、固定セクタ24に複数のディレクトリページへのポインタを追記していくようにした点が異なる。
本実施の形態においては、固定セクタ24に複数のディレクトリページへのポインタを追記することにより、ディレクトリページの検索をさらに容易にするものである。すなわち、データページの書込みが完了した時点で、固定セクタ24に次のページへのポインタを追記することによって、次のディレクトリページへのポインタとする。
以上説明したように、本実施の形態における不揮発性メモリ制御装置によれば、固定セクタ24にディレクトリページへのポインタを追記するようにしたので、第10の実施の形態において説明した効果に加えて、固定セクタ24を検索するだけでディレクトリページの検索が行なえ、ディレクトリページの検索をさらに容易に行なうことが可能となった。
(第12の実施の形態)
本発明の第12の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。また、本発明の第12の実施の形態における不揮発性メモリ制御装置の機能的構成は、第4の実施の形態における不揮発性メモリ制御装置の機能的構成と比較して、データページ書込み部53の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるデータページ書込み部の参照符号を53’として説明する。
本発明の第12の実施の形態における不揮発性メモリ制御装置の構成例は、図1および図2に示す本発明の第1の実施の形態における不揮発性メモリ制御装置の構成例と同様である。また、本発明の第12の実施の形態における不揮発性メモリ制御装置の機能的構成は、第4の実施の形態における不揮発性メモリ制御装置の機能的構成と比較して、データページ書込み部53の機能が異なる点のみが異なる。したがって、重複する構成および機能の詳細な説明は繰返さない。なお、本実施の形態におけるデータページ書込み部の参照符号を53’として説明する。
本発明の第12の実施の形態における不揮発性メモリのマップは、本発明の第4の実施の形態における不揮発性メモリのマップと同様である。
本発明の第12の実施の形態における不揮発性メモリ制御装置の処理手順は、第4の実施の形態における不揮発性メモリ制御装置の処理手順と比較して、ステップS9’の処理が異なる点のみが異なる。したがって、重複する処理手順の説明は繰返さない。なお、本実施の形態におけるステップS9’の参照符号をS9”として説明する。
図23は、本発明の第12の実施の形態における不揮発性メモリ制御装置のステップS9”の処理を詳細に説明するためのフローチャートである。データページ書込み部53’がデータページの書込みを完了すると、ディレクトリページ書込み部52’は、書込み完了フラグ12をセットする(S14)。
次に、データページ書込み部53’は、データページに書込んだデータを読出し(S15)、読出したデータと書込んだデータとの比較を行なう(S16)。読出したデータと書込んだデータとが不一致の場合には(S16,不一致)、処理を終了する。また、読出したデータと書込んだデータとが一致する場合には(S16,一致)、書込み完了フラグ12の再書込みを行なう(S17)。
以上説明したように、本実施の形態における不揮発性メモリ制御装置によれば、データページの書込みが完了した時点で書込み完了フラグ12をセットし、読出したデータと書込んだデータとの一致を確認した後に、書込み完了フラグ12に再書込みを行なうようにした。したがって、データページの書込み完了後、読出したデータと書込んだデータとの一致を確認するまでの間に中断が発生した場合であっても、データ書込みが正常に完了しているが書込み完了フラグのセットが行なわれていないといった不具合を防止することが可能となった。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 不揮発性メモリ、2,16,22 ディレクトリページ、3,8,15,17 データページ、4 データページ数、5 論理/物理変換テーブル、6,7,9,19 空ページ、10 前方ディレクトリページポインタ、11 後方ディレクトリページポインタ、12 書込み完了フラグ、13 書込み着手フラグ、14 最も古いセクタへのポインタ、18 ディレクトリ書込み完了フラグ、20 消去完了後の最も古いセクタへのポインタ、21 消去完了フラグ、23 ディレクトリへのポインタ、24 固定セクタ、31 ICカード、32 マイコン、40 CPU、41 UART、42 RAM、43 バス、51 空ページ抽出部、52 ディレクトリページ書込み部、53 データページ書込み部、61 ディレクトリページ検索部、62 論理ページ検索部、63 データページ読出し部、71 セクタ抽出部、72 論理ページ抽出部、73 論理ページ検索部、74 セクタ消去部、75 ページ複写部。
Claims (14)
- セクタ単位でデータの消去が行なわれ、ページ単位でデータの書込みが行なわれる不揮発性メモリを制御する不揮発性メモリ制御装置であって、
前記不揮発性メモリの空ページを抽出する抽出手段と、
前記抽出手段によって抽出された空ページに、更新されたデータを書込むページの論理ページ番号を物理ページ番号に変換するためのテーブルを含んだディレクトリを書込む第1の書込み手段と、
前記抽出手段によって抽出された空ページに、前記更新されたデータを書込む第2の書込み手段とを含む、不揮発性メモリ制御装置。 - 前記不揮発性メモリは、ページがリング状に配置され、
前記抽出手段は、最上位のページが空ページでない場合、最下位のページから空ページを抽出する、請求項1記載の不揮発性メモリ制御装置。 - 前記ディレクトリはさらに、次に新しく書込むディレクトリページを指し示す第1のポインタと、1つ古いディレクトリページを指し示す第2のポインタとを含む、請求項1または2記載の不揮発性メモリ制御装置。
- 前記ディレクトリはさらに、第1のフラグおよび第2のフラグとを含み、
前記第1の書込み手段は、ディレクトリページへの書込みが完了したときに、前記第1のフラグを設定し、
前記第2の書込み手段は、データページへの書込みが完了したときに、前記第2のフラグを設定する、請求項1または2記載の不揮発性メモリ制御装置。 - 前記第2の書込み手段は、前記書込んだデータを読出し、書込んだデータと読出したデータとが一致する場合には、前記第1のフラグを再書込みする、請求項4記載の不揮発性メモリ制御装置。
- 前記ディレクトリはさらに、最も古いセクタを指し示す第3のポインタを含む、請求項1または2記載の不揮発性メモリ制御装置。
- 前記ディレクトリはさらに、最も古いセクタの消去完了後に最も古くなるセクタを指し示す第4のポインタを含む、請求項6記載の不揮発性メモリ制御装置。
- 前記ディレクトリはさらに、第3のフラグを含み、
前記第1の書込み手段は、前記ディレクトリページへの書込みが完了したときに、前記第3のフラグを設定する、請求項1または2記載の不揮発性メモリ制御装置。 - 前記不揮発性メモリの複数のセクタ内の固定ページに、ディレクトリページが設定される、請求項1または2記載の不揮発性メモリ制御装置。
- 前記不揮発性メモリの複数のセクタ内の固定ページに、次のディレクトリページを指し示す第5のポインタが格納される、請求項1または2記載の不揮発性メモリ制御装置。
- 前記第1の書込み手段は、前記不揮発性メモリの固定セクタに前記テーブルを指し示す第6のポインタを順次書込む、請求項1または2記載の不揮発性メモリ制御装置。
- セクタ単位でデータの消去が行なわれ、ページ単位でデータの書込みが行なわれる不揮発性メモリを制御する不揮発性メモリ制御装置であって、
更新されたデータを書込むページの論理ページ番号を物理ページ番号に変換するテーブルと、次に新しく書込むディレクトリページを指し示す第1のポインタと、1つ古いディレクトリページを指し示す第2のポインタとを含んだディレクトリページを検索し、該ディレクトリページに含まれる第1のポインタおよび第2のポインタに基づいて順次ディレクトリページを検索する第1の検索手段と、
前記第1の検索手段によって検索されたディレクトリページ内のテーブルを参照し、所望の論理ページが含まれるか否かを検索する第2の検索手段と、
前記第2の検索手段によって検索された所望の論理ページが複数ある場合には、最も新しいテーブルに含まれる論理ページに対応した物理ページからデータを読出す読出し手段とを含む、不揮発性メモリ制御装置。 - セクタ単位でデータの消去が行なわれ、ページ単位でデータの書込みが行なわれる不揮発性メモリを制御する不揮発性メモリ制御装置であって、
更新されたデータを書込むページの論理ページ番号を物理ページ番号に変換するテーブルと、最も古いセクタを指し示すポインタとを含んだディレクトリページを参照し、最も古いセクタに含まれる論理ページを抽出する抽出手段と、
前記抽出手段によって抽出された論理ページと同一の論理ページが他のセクタに含まれるか否かを検索する検索手段と、
前記検索手段によって同一の論理ページが全て他のセクタに含まれると判定された場合には、前記最も古いセクタを消去する消去手段とを含む、不揮発性メモリ制御装置。 - 前記不揮発性メモリ制御装置はさらに、前記検索手段によって同一の論理ページが他のセクタに含まれないと判定された場合には、当該論理ページおよび対応するディレクトリページを空ページに複写する複写手段を含み、
前記消去手段は、前記複写手段による複写が行なわれた後に、前記最も古いセクタを消去する、請求項13記載の不揮発性メモリ制御装置。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003317119A JP2005085011A (ja) | 2003-09-09 | 2003-09-09 | 不揮発性メモリ制御装置 |
| TW093104211A TW200511011A (en) | 2003-09-09 | 2004-02-20 | Non-volatile memory control device capable of recovering data even when data writing is interrupted |
| US10/785,102 US20050055531A1 (en) | 2003-09-09 | 2004-02-25 | Non-volatile memory control device capable of recovering data even when data writing is interrupted |
| DE102004014227A DE102004014227A1 (de) | 2003-09-09 | 2004-03-23 | Steuervorrichtung für einen nicht flüchtigen Speicher |
| KR1020040032380A KR20050026330A (ko) | 2003-09-09 | 2004-05-07 | 비휘발성 메모리 제어 장치 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003317119A JP2005085011A (ja) | 2003-09-09 | 2003-09-09 | 不揮発性メモリ制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2005085011A true JP2005085011A (ja) | 2005-03-31 |
Family
ID=34225268
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003317119A Withdrawn JP2005085011A (ja) | 2003-09-09 | 2003-09-09 | 不揮発性メモリ制御装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20050055531A1 (ja) |
| JP (1) | JP2005085011A (ja) |
| KR (1) | KR20050026330A (ja) |
| DE (1) | DE102004014227A1 (ja) |
| TW (1) | TW200511011A (ja) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007058775A (ja) * | 2005-08-26 | 2007-03-08 | Toyota Motor Corp | ユニットの制御装置の製造方法およびユニットの制御装置 |
| JP2008009636A (ja) * | 2006-06-28 | 2008-01-17 | Toshiba Microelectronics Corp | 記憶装置 |
| KR100859989B1 (ko) | 2006-11-21 | 2008-09-25 | 한양대학교 산학협력단 | 플래시 메모리의 공간정보 관리장치 및 그 방법 |
| JP2009537042A (ja) * | 2006-05-12 | 2009-10-22 | サムスン エレクトロニクス カンパニー リミテッド | 保安データを管理する装置およびその方法 |
| US8069284B2 (en) | 2008-05-22 | 2011-11-29 | Samsung Electronics Co., Ltd. | Semiconductor memory device, memory system and data recovery methods thereof |
| JP2011243230A (ja) * | 2011-09-06 | 2011-12-01 | Renesas Electronics Corp | フラッシュメモリ、メモリ制御回路、マイクロコンピュータおよびメモリ制御方法 |
| US8122193B2 (en) | 2004-12-21 | 2012-02-21 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
| JP2015515678A (ja) * | 2012-03-23 | 2015-05-28 | ディ・エス・エス・ディ・インコーポレイテッドDssd, Inc. | テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006285600A (ja) * | 2005-03-31 | 2006-10-19 | Tokyo Electron Device Ltd | 記憶装置、メモリ管理装置、メモリ管理方法及びプログラム |
| US8307149B2 (en) * | 2005-12-09 | 2012-11-06 | Panasonic Corporation | Nonvolatile memory device including a logical-to-physical logig-to-physical address conversion table, a temporary block and a temporary table |
| WO2008057557A2 (en) | 2006-11-06 | 2008-05-15 | Rambus Inc. | Memory system supporting nonvolatile physical memory |
| US9612954B2 (en) * | 2008-12-31 | 2017-04-04 | Micron Technology, Inc. | Recovery for non-volatile memory after power loss |
| JP5674634B2 (ja) * | 2011-12-28 | 2015-02-25 | 株式会社東芝 | コントローラ、記憶装置およびプログラム |
| KR101659922B1 (ko) * | 2012-07-30 | 2016-09-26 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 솔리드 스테이트 저장 장치를 위한 배드 블록 보상 |
| US9478271B2 (en) * | 2013-03-14 | 2016-10-25 | Seagate Technology Llc | Nonvolatile memory data recovery after power failure |
| CN103456360B (zh) * | 2013-09-13 | 2016-08-17 | 昆腾微电子股份有限公司 | 非易失性存储器的管理方法和装置 |
| CN103645993B (zh) * | 2013-12-24 | 2016-04-06 | 飞天诚信科技股份有限公司 | 一种基于大页面Flash的数据更新和读取方法 |
| US9378149B1 (en) | 2014-08-29 | 2016-06-28 | Emc Corporation | Method and system for tracking modification times of data in a storage system |
| JP2017021561A (ja) * | 2015-07-10 | 2017-01-26 | ファナック株式会社 | 制御装置のファイルシステム |
| US10083203B2 (en) | 2015-08-11 | 2018-09-25 | International Business Machines Corporation | Reducing the cost of update, delete, and append-only insert operations in a database |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
| US5638299A (en) * | 1995-06-22 | 1997-06-10 | Miller; Keith | Light weight, self-contained programmable data-acquisition system |
| GB9903490D0 (en) * | 1999-02-17 | 1999-04-07 | Memory Corp Plc | Memory system |
| US6950909B2 (en) * | 2003-04-28 | 2005-09-27 | International Business Machines Corporation | System and method for reducing contention in a multi-sectored cache |
-
2003
- 2003-09-09 JP JP2003317119A patent/JP2005085011A/ja not_active Withdrawn
-
2004
- 2004-02-20 TW TW093104211A patent/TW200511011A/zh unknown
- 2004-02-25 US US10/785,102 patent/US20050055531A1/en not_active Abandoned
- 2004-03-23 DE DE102004014227A patent/DE102004014227A1/de not_active Withdrawn
- 2004-05-07 KR KR1020040032380A patent/KR20050026330A/ko not_active Ceased
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8122193B2 (en) | 2004-12-21 | 2012-02-21 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
| US8533391B2 (en) | 2004-12-21 | 2013-09-10 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
| JP2007058775A (ja) * | 2005-08-26 | 2007-03-08 | Toyota Motor Corp | ユニットの制御装置の製造方法およびユニットの制御装置 |
| JP2009537042A (ja) * | 2006-05-12 | 2009-10-22 | サムスン エレクトロニクス カンパニー リミテッド | 保安データを管理する装置およびその方法 |
| US8677498B2 (en) | 2006-05-12 | 2014-03-18 | Samsung Electronics Co., Ltd. | Apparatus and method of managing security data |
| JP2008009636A (ja) * | 2006-06-28 | 2008-01-17 | Toshiba Microelectronics Corp | 記憶装置 |
| KR100859989B1 (ko) | 2006-11-21 | 2008-09-25 | 한양대학교 산학협력단 | 플래시 메모리의 공간정보 관리장치 및 그 방법 |
| US8069284B2 (en) | 2008-05-22 | 2011-11-29 | Samsung Electronics Co., Ltd. | Semiconductor memory device, memory system and data recovery methods thereof |
| JP2011243230A (ja) * | 2011-09-06 | 2011-12-01 | Renesas Electronics Corp | フラッシュメモリ、メモリ制御回路、マイクロコンピュータおよびメモリ制御方法 |
| JP2015515678A (ja) * | 2012-03-23 | 2015-05-28 | ディ・エス・エス・ディ・インコーポレイテッドDssd, Inc. | テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 |
| JP2017016691A (ja) * | 2012-03-23 | 2017-01-19 | ディ・エス・エス・ディ・インコーポレイテッドDssd, Inc. | テーブル・オブ・コンテンツエントリを使用してデータを格納するためのシステムおよび方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20050026330A (ko) | 2005-03-15 |
| US20050055531A1 (en) | 2005-03-10 |
| TW200511011A (en) | 2005-03-16 |
| DE102004014227A1 (de) | 2005-04-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2005085011A (ja) | 不揮発性メモリ制御装置 | |
| CN1307554C (zh) | 对快速存储器的数据记录装置和数据写入方法 | |
| CN109343790B (zh) | 一种基于nand flash的数据存储方法、终端设备及存储介质 | |
| US7937523B2 (en) | Memory system with nonvolatile semiconductor memory | |
| USRE42263E1 (en) | Address conversion unit for memory device | |
| KR100843543B1 (ko) | 플래시 메모리 장치를 포함하는 시스템 및 그것의 데이터복구 방법 | |
| US6711663B2 (en) | Algorithm of flash memory capable of quickly building table and preventing improper operation and control system thereof | |
| US8549271B1 (en) | Method, system, and computer readable medium for updating and utilizing the contents of a non-essential region of a memory device | |
| JP2002169729A (ja) | 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法 | |
| US7136986B2 (en) | Apparatus and method for controlling flash memories | |
| CN102543193B (zh) | 一种闪存烧录方法、烧录设备及烧录系统 | |
| CN103914393A (zh) | 一种基于mcu的flash不丢失更新存储方法 | |
| US20140019670A1 (en) | Data writing method, memory controller, and memory storage device | |
| CN101346704A (zh) | 具有可擦除块单元的存储器和定位具有指针信息地块的联结指针链 | |
| US20090037646A1 (en) | Method of using a flash memory for a circular buffer | |
| JP2005071380A (ja) | 非同期読み出しキャッシュメモリおよび前記キャッシュメモリを備えたデータメモリへのアクセスを制御する装置。 | |
| JP2007109197A (ja) | 半導体集積回路装置およびアドレス変換テーブルの生成方法 | |
| US20080294837A1 (en) | Memory controller for controlling a non-volatile semiconductor memory and memory system | |
| JP2005222202A (ja) | 不揮発性記憶装置のデータ保護方法 | |
| US10162540B2 (en) | Storage in flash memory | |
| US20120166740A1 (en) | Data writing method, memory controller, and memory storage apparatus | |
| KR20050111594A (ko) | 기록 매체의 기록 제어 방법 및 기록 제어장치 | |
| JP2012128900A (ja) | 半導体記憶装置、及び記憶媒体 | |
| JPH06309527A (ja) | Icカード | |
| TW202420071A (zh) | 資料儲存裝置與韌體更新方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20061205 |