JP2009283005A - 不揮発性メモリシステムにおいて用いられる電力管理ブロック - Google Patents

不揮発性メモリシステムにおいて用いられる電力管理ブロック Download PDF

Info

Publication number
JP2009283005A
JP2009283005A JP2009181121A JP2009181121A JP2009283005A JP 2009283005 A JP2009283005 A JP 2009283005A JP 2009181121 A JP2009181121 A JP 2009181121A JP 2009181121 A JP2009181121 A JP 2009181121A JP 2009283005 A JP2009283005 A JP 2009283005A
Authority
JP
Japan
Prior art keywords
memory
signature
memory system
volatile memory
power
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.)
Granted
Application number
JP2009181121A
Other languages
English (en)
Other versions
JP5162535B2 (ja
Inventor
Robert C Chang
シー. チャン ロバート
Bahman Qawami
クァワミ バーマン
Farshid Sabet-Sharghi
サベット−シャーギ ファーシッド
Sergey Yudin
ユディン セーゲイ
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.)
SanDisk Corp
Original Assignee
SanDisk Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=32094175&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2009283005(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of JP2009283005A publication Critical patent/JP2009283005A/ja
Application granted granted Critical
Publication of JP5162535B2 publication Critical patent/JP5162535B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0763Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits

Abstract

【課題】不揮発性メモリの電源投入プロセスを効率的に行うことを可能にする。
【解決手段】本発明は、不揮発性メモリの電源投入プロセスを効率的に行うことを可能にするシステムおよび方法に関する。本発明のある局面によると、少なくとも1つの保留メモリ領域を含む不揮発性メモリを有するメモリシステムを利用する方法は、電力をメモリシステムに提供する工程と、不揮発性メモリを初期化する工程と、第1の署名を保留メモリ領域に書き込む工程とを含む。第1の署名はメモリシステムの初期化が成功したことを示すように構成される。ある実施形態において、この方法はまた、メモリシステムの電源切断プロセスを実行する工程と、電源切断プロセスが実行されたことを示す第2の署名を保留メモリ領域に書き込む工程とを含む。
【選択図】図4

Description

(1.発明の分野)
本発明は、概して、大容量デジタルデータ格納システムに関する。より具体的には、本発明は、電源を入れているメモリシステムの電源が、以前、正常に切られたか、または異常に切られたかについての判定を効率的に可能にするシステムおよび方法に関する。
(2.関連技術の説明)
フラッシュメモリ格納システムなどの不揮発性メモリシステムの使用は、このようなメモリシステムの物理的サイズが小型であること、不揮発性メモリを繰り返し再プログラムすることができることに起因して、増加している。フラッシュメモリ格納システムの物理的サイズが小型であることによって、このような格納システムを、ますます普及しているデバイスにおいて用いることが容易になる。フラッシュメモリ格納システムを用いるデバイスには、デジタルカメラ、デジタルカメラ一体型ビデオ、デジタル音楽プレーヤー、ハンドヘルドパーソナルコンピュータ、およびグローバルポジショニングデバイスが含まれるが、デバイスは、これらに限定されない。フラッシュメモリ格納システムに含まれる不揮発性メモリの繰り返し再プログラムすることができる能力は、フラッシュメモリ格納システムが使用され、再使用されることを可能にする。
概して、フラッシュメモリ格納システムは、フラッシュメモリカードおよびフラッシュメモリチップセットを含み得る。フラッシュメモリチップセットは、概して、フラッシュメモリコンポーネントおよびコントローラコンポーネントを含む。典型的には、フラッシュメモリチップセットは、組み立てて埋込みシステムになるように構成され得る。このようなアセンブリまたはホストシステムの製造業者は、典型的には、フラッシュメモリをコンポーネントの形で、他のコンポーネントとともに獲得し、フラッシュメモリおよび他のコンポーネントをホストシステムに組み立てる。
メモリシステムの電源が切られる場合、ユーザがメモリシステムをシャットダウンしたか、または、メモリシステムに対する電力損失があるかのいずれかが原因で、電源切断が起きる。ユーザがメモリシステムの電源を切ることを選択する場合、メモリシステムは、概して、実質的に全ての進行中のプロセスを完了する。例えば、メモリシステムは、ホストシステムからメモリシステムに関連付けられたディレクトリへのファイルの書き込みプロセスを完了する。電源切断が、例えば、停電に起因する、予測されない、または急な電力損失が原因で起きる場合、進行中のプロセスは完了せず、典型的には中断される。
「正常」な環境で電源が切られた、例えば、メモリシステムへの電力を遮断するというユーザのリクエストに応答して切られたメモリシステムは、電力切断リクエストを受信したときに行われている全てのプロセスが完了しているので、概して、ディスクスキャンまたはデータ修復を行うことを必要としない。これは、典型的には、「正常シャットダウン」または「正常電源切断」と呼ばれる。しかし、当業者によって理解されるように、「異常」な環境で、例えば、停電、バッテリー切れ、または何らかの事故で電力が取り除かれることに起因して、電源が切断されたメモリシステムは、典型的には、ディスクスキャンおよびデータ修復が行われることを必要とする。異常な環境で電源が切られる場合、典型的には、「異常シャットダウン」または「異常電源切断」と呼ばれる。
従来のフラッシュ不揮発性メモリシステムにおいて、概して、メモリシステムは、電源切断が、意図されて、例えば、ユーザによるシャットダウンによって行われたのか、停電によって行われたのかを判定することができなかった。結果として、比較的時間がかかる修復プロセス、例えば、Windows(登録商標)/DOS環境における「スキャンディスク」プロセスが、典型的には、メモリシステムに電源が投入されるたびに、電源が正常に切られたか、または異常に切られたかに関わらず、行われる。メモリシステムが以前に異常環境でシャットダウンされた場合、スキャンディスクまたは類似のプロセスを行うことは、データ修復が行われることを可能にするが、メモリシステムが正常環境でシャットダウンされた場合にそのプロセスを行うことは、そのような修復プロセスが事実上不必要であるので、非効率的になり得る。
従って、メモリシステムが電源投入されるときに、メモリシステムが以前正常にシャットダウンされたか、異常にシャットダウンされたかを判定することを可能にするプロセスおよびシステムが所望される。すなわち、正常にシャットダウンされた場合にはメモリシステムがデータ修復に関連するプロセスを受けることなく、異常にシャットダウンされたメモリシステムに関連するデータをメモリシステムの電源投入のときに修復することを可能にする効率的な方法が必要とされる。
本発明は、不揮発性メモリの電源投入プロセスを効率的に行うことを可能にするシステムおよび方法に関する。本発明のある局面によると、少なくとも1つの保留メモリ領域を含む不揮発性メモリを有するメモリシステムを利用する方法は、電力をメモリシステムに提供する工程と、不揮発性メモリを初期化する工程と、第1の署名を保留メモリ領域に書き込む工程とを含む。第1の署名はメモリシステムの初期化が成功したことを示すように構成される。ある実施形態において、この方法はまた、メモリシステムの電源切断プロセスを実行する工程と、電源切断プロセスが実行されたことを示す第2の署名を保留メモリ領域に書き込む工程とを含む。
初期化および電源切断署名を含むように構成される電力管理ブロックのような保留メモリ領域は、以前に不揮発性メモリシステムから電力が取り除かれた原因がリクエストされた電源切断であったのか、または、停電であったのかについての判定が効率的に行われることを可能にする。NANDフラッシュメモリのような不揮発性メモリに電源が投入される場合、電力管理ブロックがアクセスされるときに、電力管理ブロックのコンテンツは、効率的にスキャンされ得るか、入手されて、一番最近の以前の電源切断がリクエストされたのか、または、停電に起因するものであったのかが判定される。例えば、電源切断署名が見つけられる場合、典型的には、以前の電源切断がリクエストされたものであったことの表れである。従って、メモリまたはデータ修復プロセスは、概して必要とされない。あるいは、電源切断またはシャットダウン署名は見つけられないが、初期化または電源投入署名は見つけられる場合、概して、以前の電源切断が停電に起因するものであったことの表れである。従って、データ修復プロセスは、行われ得る。実質的に、このようなプロセスが不揮発性メモリによって必要とされている場合、例えば、停電が以前に起きた場合にのみ、時間がかかるデータ修復プロセスを電源投入において行うか、または実行することによって、実質上データ修復が必要とされない場合にこのようなプロセスを避けることができるので、不揮発性メモリがより効率的に用いられることが可能になる。
本発明の他の局面によると、保留メモリ領域を含む不揮発性メモリを有するメモリシステムを利用する方法は、電力をメモリシステムに提供する工程と、メモリシステムが以前に、実質的に正常な電源切断プロセスにかけられた場合を判定する工程と、メモリシステムが正常な電源切断プロセスを受けていないと判定される場合、不揮発性メモリにおいて第1のプロセスを行う工程とを含む。第1のプロセスは、典型的には、不揮発性メモリを使用に備えて準備するように構成される。最終的に、その方法は、メモリシステムが正常な電源切断プロセスを受けたと判定される場合、不揮発性メモリが用いられることを実質的に可能にする工程を含む。
ある実施形態において、メモリシステムが以前に、実質的に正常な電源切断プロセスにかけられた場合を判定する工程は、保留メモリ領域が、正常な電源切断が以前起きたかについて第1の署名を含むかについて判定する工程を含む。このような実施形態において、メモリシステムが以前に、実質的に正常な電源切断プロセスにかけられた場合を判定する工程はまた、保留メモリ領域が、メモリシステムが初期化プロセスに以前にかけられたことを示す第2の署名を含むかについて判定する工程を含む。保留メモリ領域が第2の署名を含まず、第1の署名を含まないことが判定された場合、第1のプロセスは、初期化プロセスであり得る。保留メモリ領域が第2の署名を含み、第1の署名を含まないことが判定された場合、第1のプロセスは、データ修復プロセスであり得る。
本発明によるメモリシステムを利用する方法は、該メモリシステムは、不揮発性メモリを含み、該不揮発性メモリは、少なくとも1つの保留メモリ領域を含み、該方法は、電力を該メモリシステムに提供する工程と、該不揮発性メモリを初期化する工程と、第1の署名を該少なくとも1つの保留メモリ領域に書き込む工程であって、該第1の署名は該メモリシステムの初期化が成功したことを示すように構成される、工程とを包含し、それにより上記目的が達成される。
前記メモリシステムの電源切断プロセスを実行する工程と、第2の署名を前記少なくとも1つの保留メモリ領域に書き込む工程であって、該第2の署名は該電源切断プロセスが実行されたことを示すように構成される、工程とをさらに含んでもよい。
前記第2の署名を少なくとも1つの保留メモリ領域に書き込む工程の後に、前記メモリシステムから電力を取り除く工程をさらに含んでもよい。
前記第2の署名を少なくとも1つの保留メモリ領域に書き込む工程は、さらなる情報を該第2の署名と共に該少なくとも1つの保留メモリ領域に書き込む工程を含んでもよい。
前記少なくとも1つの保留メモリ領域はブロックであり、前記第2の署名を少なくとも1つの保留メモリ領域に書き込む工程は、該第2の署名を該ブロックに含まれる第2のページに書き込む工程を含んでもよい。
前記第1の署名を少なくとも1つの保留メモリ領域に書き込む工程は、該第1の署名を該ブロックに含まれる第1のページに書き込む工程を含んでもよい。
前記電源切断プロセスは、ファイルコピープロセスを完了する工程および前記不揮発性メモリに関連付けられた物理ブロックを決定する工程のうちの少なくとも1つを含んでもよい。
前記第1の署名を少なくとも1つの保留メモリ領域に書き込む工程は、さらなる情報を該第1の署名と共に該少なくとも1つの保留メモリ領域に書き込む工程を含んでもよい。
前記少なくとも1つの保留メモリ領域はブロックであり、前記第1の署名を該少なくとも1つの保留メモリ領域に書き込む工程は、該第1の署名を該ブロックに含まれる第1のページに書き込む工程を含んでもよい。
前記不揮発性メモリがNANDフラッシュメモリであってもよい。
本発明によるメモリシステムは、少なくとも1つの保留メモリ領域を含む不揮発性メモリと、電力を提供する手段と、該不揮発性メモリを初期化する手段と、第1の署名を該少なくとも1つの保留メモリに書き込む手段であって、該第1の署名は該不揮発性メモリの初期化が成功したことを示すように構成される、手段とを備え、それにより上記目的が達成される。
前記メモリシステムの電源切断プロセスを実行する手段と、第2の署名を前記少なくとも1つの保留メモリ領域に書き込む手段であって、該第2の署名は該電源切断プロセスが実行されたことを示すように構成される、手段とをさらに含んでもよい。
前記少なくとも1つの保留メモリ領域はブロックであり、前記第1の署名を該少なくとも1つの保留メモリ領域に書き込むことは、該第1の署名を該ブロックに含まれる第1のページに書き込むことを含み、前記第2の署名を少なくとも1つの保留メモリ領域に書き込むことは、該第2の署名を該ブロックに含まれる第2のページに書き込むことを含んでもよい。
前記不揮発性メモリがNANDフラッシュメモリであってもよい。
本発明によるメモリデバイスは、不揮発性メモリ内の少なくとも1つの保留メモリ領域を維持するように構成されるコードデバイスと、該不揮発性メモリの初期化が成功した場合、第1の署名が該少なくとも1つの保留メモリ領域に書き込まれるようにして、該不揮発性メモリの初期化が成功したことを示すコードデバイスと、該コードデバイスを格納するように構成されたメモリデバイスとを備え、それにより上記目的が達成される。
電源切断プロセスが成功した場合、第2の署名が前記少なくとも1つの保留メモリ領域に書き込まれるようにして、電源切断プロセスが成功したことを示すコードデバイスをさらに含んでもよい。
前記少なくとも1つの保留メモリ領域がブロックであり、前記第1の署名が少なくとも1つの保留メモリ領域に書き込まれるようにしたコードデバイスは、該第1の署名が該ブロックに含まれる第1のページに書き込まれるようにしたコードデバイスを含み、前記第2の署名が少なくとも1つの保留メモリ領域に書き込まれるようにしたコードデバイスは、該第2の署名が該ブロックに含まれる第2のページに書き込まれるようにしたコードデバイスを含んでもよい。
前記コードデバイスは、ソフトウェアコードデバイスおよびファームウェアコードデバイスのうちの1つであってもよい。
本発明によるメモリシステムを利用する方法は、該メモリシステムは、不揮発性メモリを含み、該不揮発性メモリは、少なくとも1つの保留メモリ領域を含み、該方法は、電力を該メモリシステムに提供する工程と、該メモリシステムが以前に、実質的に正常な電源切断プロセスにかけられた場合を判定する工程と、該メモリシステムが正常な電源切断プロセスを受けていないと判定される場合、該不揮発性メモリにおいて第1のプロセスを行う工程であって、該第1のプロセスは該不揮発性メモリを使用に備えて準備するように構成される、工程と、該メモリシステムが正常な電源切断プロセスを受けたと判定される場合、該不揮発性メモリが用いられることを実質的に可能にする工程とを包含し、それにより上記目的が達成される。
前記不揮発性メモリが用いられることを実質的に可能にする工程は、第1の署名を前記少なくとも1つの保留メモリ領域に書き込んで、該不揮発性メモリが実質的に可能にされたことを示す工程を含んでもよい。
前記メモリシステムが以前に、実質的に正常な電源切断プロセスにかけられた場合を判定する工程は、前記少なくとも1つの保留メモリ領域が第1の署名を含むかについて判定する工程であって、該第1の署名は、正常な電源切断が以前起きたかを示すように構成される、工程を含んでもよい。
前記メモリシステムが以前に、実質的に正常な電源切断プロセスにかけられた場合を判定する工程は、前記少なくとも1つの保留メモリ領域が第2の署名を含むかについて判定する工程であって、該第2の署名は、該メモリシステムが初期化プロセスに以前にかけられたことを示すように構成される、工程を含んでもよい。
前記少なくとも1つの保留メモリ領域が前記第2の署名を含まず、前記第1の署名を含まないことが判定された場合、前記第1のプロセスは、初期化プロセスであってもよい。
前記少なくとも1つの保留メモリ領域が前記第2の署名を含み、前記第1の署名を含まないことが判定された場合、前記第1のプロセスは、データ修復プロセスであってもよい。
前記データ修復プロセスは、前記不揮発性メモリ内のメモリを取り戻すように構成されてもよい。
前記データ修復プロセスは、ファイルコピープロセスを完了する工程および前記不揮発性メモリと関連付けられた物理ブロックを決定する工程のうち少なくとも1つを含んでもよい。
前記第1のプロセスは、データ修復プロセスおよびメモリ初期化プロセスのうちの1つであってもよい。
前記不揮発性メモリは、NANDフラッシュメモリであってもよい。
本発明によるメモリシステムは、少なくとも1つの保留メモリ領域を含む不揮発性メモリと、電力を該メモリシステムに提供する手段と、該メモリシステムが以前に、実質的に正常な電源切断プロセスにかけられた場合を判定する手段と、該メモリシステムが正常な電源切断プロセスを受けていないと判定される場合、該不揮発性メモリにおいて第1のプロセスを行う手段であって、該第1のプロセスは該不揮発性メモリを使用に備えて準備するように構成される、手段と、該メモリシステムが正常な電源切断プロセスを受けたと判定される場合、該不揮発性メモリが用いられることを実質的に可能にする手段とを包含し、それにより上記目的が達成される。
前記不揮発性メモリが用いられることを実質的に可能にする手段は、第1の署名を前記少なくとも1つの保留メモリ領域に書き込んで、該不揮発性メモリが実質的に可能にされたことを示す手段を含んでもよい。
前記メモリシステムが以前に、実質的に正常な電源切断プロセスにかけられた場合を判定する手段は、前記少なくとも1つの保留メモリ領域が第1の署名を含むかについて判定する手段であって、該第1の署名は、正常な電源切断が以前起きたかを示すように構成される、手段を含んでもよい。
前記メモリシステムが以前に、実質的に正常な電源切断プロセスにかけられた場合を判定する手段は、前記少なくとも1つの保留メモリ領域が第2の署名を含むかについて判定する手段であって、該第2の署名は、該メモリシステムが初期化プロセスに以前にかけられたことを示すように構成されてもよい。
前記少なくとも1つの保留メモリ領域が前記第2の署名を含まず、前記第1の署名を含まないことが判定された場合、該第1のプロセスは、初期化プロセスであってもよい。
前記少なくとも1つの保留メモリ領域が前記第2の署名を含み、前記第1の署名を含まないことが判定された場合、該第1のプロセスは、データ修復プロセスであってもよい。
前記メモリシステムが以前に、実質的に正常な電源切断プロセスにかけられた場合について判定が行われるようにするコードデバイスと、該メモリシステムが正常な電源切断プロセスを受けていないと判定される場合、メモリシステムに関連付けられた不揮発性メモリにおいて第1のプロセスが行われるようにするように構成されるコードデバイスであって、該第1のプロセスは該不揮発性メモリを使用に備えて準備するように構成される、コードデバイスと、該メモリシステムが正常な電源切断プロセスを受けたと判定される場合、該不揮発性メモリが用いられることを実質的に可能にするように構成される、コードデバイスと、該コードデバイスを格納するように構成されたメモリデバイスとを備えてもよい。
前記不揮発性メモリが用いられることを実質的に可能にするように構成されるコードデバイスは、第1の署名を少なくとも1つの保留メモリ領域に書き込んで、該不揮発性メモリが用いられるために可能にされることを示すように構成されてもよい。
前記メモリシステムが以前に、実質的に正常な電源切断プロセスにかけられた場合について判定が行われるようにするコードデバイスは、前記不揮発性メモリの少なくとも1つの保留領域が、第1の署名を含むかについて判定が行われるようにするコードデバイスを含み、該第1の署名は正常電源切断プロセスが以前に起きたことを示すように構成されてもよい。
前記メモリシステムが以前に、実質的に正常な電源切断プロセスにかけられた場合について判定が行われるようにするコードデバイスは、前記不揮発性メモリの前記少なくとも1つの保留領域が、第2の署名を含むかについて判定が行われるようにするコードデバイスをさらに含み、該第2の署名は該メモリシステムが以前に初期化プロセスにかけられたことを示すように構成されてもよい。
前記少なくとも1つの保留メモリ領域が前記第2の署名を含まず、前記第1の署名を含まないと判定される場合、前記第1のプロセスは初期化プロセスであってもよい。
前記少なくとも1つの保留メモリ領域が前記第2の署名を含み、前記第1の署名を含まないことが判定された場合、前記第1のプロセスは、データ修復プロセスであってもよい。
本発明によるメモリシステムは、不揮発性メモリと、メモリシステムが以前に、実質的に正常な電源切断プロセスにかけられた場合について判定するように構成されて、該メモリシステムが以前に正常な電源切断プロセスにかけられていないと判断される場合、該不揮発性メモリにおいて第1のプロセスを行うコントロールデバイスであって、該第1のプロセスは、該不揮発性メモリを使用に備えて準備するように構成され、該メモリシステムが以前に正常な電源切断プロセスにかけられたと判断される場合、該不揮発性メモリが用いられることを実質的に可能にする、コントロールデバイスとを備え、それにより上記目的が達成される。
前記第1のプロセスは、データ修復プロセスおよびメモリ初期化プロセスのうちの1つであってもよい。
前記不揮発性メモリは、NANDフラッシュメモリであってもよい。
本発明のメモリシステムは、少なくとも1つの保留メモリ領域を含む不揮発性メモリと、該不揮発性メモリを初期化し、第1の署名を該少なくとも1つの保留メモリ領域に書き込むように構成されるコントローラであって、該第1の署名は該メモリシステムの初期化が成功したことを示すように構成され、それにより上記目的が達成される。
前記コントローラは前記メモリシステムの電源切断プロセスを実行し、第2の署名を前記少なくとも1つの保留メモリ領域に書き込むようにさらに構成され、該第2の署名は該電源切断プロセスが実行されたことを示すように構成される工程をさらに含んでもよい。
前記不揮発性メモリは、NANDフラッシュメモリであってもよい。
本発明では、初期化および電源切断署名を不揮発性メモリシステム内、例えば、不揮発性メモリの保留部分において維持することによって、以前不揮発性メモリから電力を取り除いたことはリクエストされた電源切断によるものなのか、停電によるものなのかについて、効率的に判定が行われることが可能になる。例えば、リクエストされた電源切断のように正常環境で電源切断が行われる場合、電力切断が正常環境で行われたことを表す電力切断署名が格納され得る。従って、次の電源投入プロセスの間にこのような電力切断署名が見つけられる場合、電力切断署名は、以前の電源切断が正常環境で行われ、メモリ修復プロセスが必要ないことを判定するために用いられ得る。ある実施形態に置いて、メモリコンポーネントまたはチップの保留ブロック、例えば、電力管理ブロックは、正常な電力切断が行われるたびに、保留ブロック内のページに電力切断署名が書き込まれ得るように、構成され得る。次に電力がメモリコンポーネントに印加される場合、保留ブロックは、適切な電力切断署名がその中に含まれているか判定するためにアクセスされ得る。
図1aは、不揮発性メモリを含む概略的なホストシステムを表す図である。 図1bは、メモリデバイス、例えば、図1aのメモリデバイス120を表す図である。 図1cは、埋込み不揮発性メモリを含むホストシステムを表す図である。 図2は、本発明の実施形態による、不揮発性メモリコンポーネントを表す図である。 図3aは、本発明の実施形態による、初期化署名を含む電力管理ブロックを表す図である。 図3bは、本発明の実施形態による、初期化署名およびシャットダウン署名と共に、電力管理ブロック、例えば、図3aの電力管理ブロック304の電力管理ブロックを表す図である。 図4は、本発明の実施形態による、不揮発性メモリコンポーネントを初期的に用いることに関連する工程を示すプロセスフロー図である。 図5は、本発明の実施形態による、以前に電源が切断された可能性があるメモリコンポーネントを利用する方法に関連する工程を示すプロセスフロー図である。 図6は、本発明の実施形態による、不揮発性メモリのホストシステム領域およびデータ領域を表す図である。 図7は、本発明の実施形態による、不揮発性メモリに、Windows(登録商標)またはDOSのようなファイル割り当てテーブルファイルシステムを用いて、ホストシステムに関連するファイルを書き込むことに関連する工程を示すプロセスフロー図である。 図8は、本発明の実施形態による、1つの論理ブロックに関連付けられた物理ブロックを識別し、処理するある方法に関連する工程を示すプロセスフロー図である。 図9は、本発明の実施形態による、システムアーキテクチャを表すブロック図である。
本願は、2002年10月28日に出願された米国特許仮出願第60/422,166号の優先権を主張する。この仮出願は、その全文が本明細書中で参考として援用される。
(関連出願の相互参照)
本発明は、同時係属出願中の米国特許第10/281,739、10/281,823、10/281,670、10/281,824、10/281,631、10/281,855、10/281,762、10/281,696、10/281,626、および10/281,804号、および、同時係属出願中の米国仮特許出願第60/421,910、60/421,725、60/421,965、60/421,746、および60/421,911号に関連する。各出願は、2002年10月28日に出願され、これらの全文が本明細書中で参考として援用される。
本発明は、添付の図面と共に、以下の説明を参照することにより、最良に理解され得る。
(実施形態の詳細な説明)
メモリシステムに対する電力損失は、概して、メモリシステム内の多くの問題点の原因となり得る。問題点には、ファイルをフラッシュメモリに書き込むプロセスの間に電力が失われる場合にデータが失われることが含まれるが、問題点はこれに限定されない。電力損失に起因して起こる問題を正すため、その後のメモリシステムの電源投入の際に、データの完全性を維持するように、修復オペレーションが行われ得る。フラッシュメモリが書き込まれている間に電力損失を受けると、データは、メモリに不正確にプログラムされ得る。壊れたデータがファイル割り当てテーブル(FAT)またはディレクトリのようなシステムエリアにある場合、フラッシュメモリは、ホストにとって認識可能でないことがあり得る。修復プロセスが成功することによって、フラッシュメモリが使用可能な状態に戻る。ファイルが部分的に書き込まれている場合、書き込まれていない部分は、典型的には存在しないものとして考えられる。書き込まれた部分は、ユーザが、調べるか、捨てるか、作るか、または、他のファイルとマージするように、テンポラリファイルに回収され得る。典型的には、修復オペレーションは、最後のシャットダウンに関連する状態を知ることなく、メモリシステムが電源投入されるたびに、オペレーションが必要ない場合にさえ、例えば、最後にメモリシステムがシャットダウンされたときに正常電源切断が行われた場合にさえ、行われ得る。
不揮発性メモリコンポーネントに関連して、正常な電源切断と異常な電源切断とを区別する能力は、電源投入プロセスがより効率的に行われることを可能にする。例えば、比較的時間がかかるスキャンディスクオペレーションは、メモリコンポーネントの以前の電源切断が正常であると判定された場合、実質的に避けられ得る。以前の電源切断が異常であると判定される場合、スキャンディスクオペレーションは、失われたメモリを取り戻すために用いられ得る。スキャンディスクプロセスのようなメモリ修復プロセスが、例えば、停電などの異常電源切断があった場合のようなこのようなプロセスを必要とする場合を除き、行われることを実質的に避けることによって、電源投入プロセス全体がより効率的に行われ得る。
初期化および電源切断署名を不揮発性メモリシステム内、例えば、不揮発性メモリの保留部分において維持することによって、以前不揮発性メモリから電力を取り除いたことはリクエストされた電源切断によるものなのか、停電によるものなのかについて、効率的に判定が行われることが可能になる。例えば、リクエストされた電源切断のように正常環境で電源切断が行われる場合、電力切断が正常環境で行われたことを表す電力切断署名が格納され得る。従って、次の電源投入プロセスの間にこのような電力切断署名が見つけられる場合、電力切断署名は、以前の電源切断が正常環境で行われ、メモリ修復プロセスが必要ないことを判定するために用いられ得る。ある実施形態に置いて、メモリコンポーネントまたはチップの保留ブロック、例えば、電力管理ブロックは、正常な電力切断が行われるたびに、保留ブロック内のページに電力切断署名が書き込まれ得るように、構成され得る。次に電力がメモリコンポーネントに印加される場合、保留ブロックは、適切な電力切断署名がその中に含まれているか判定するためにアクセスされ得る。
電力管理ブロックを用いることによって利益を受け得るフラッシュメモリシステム、より一般的には、不揮発性メモリデバイスは、概して、フラッシュメモリカードおよびチップセットを含む。典型的には、フラッシュメモリシステムは、ホストシステムと共に用いられ、その結果、ホストシステムがデータをフラッシュメモリシステムに書き込むか、またはフラッシュメモリシステムから読み出し得る。しかし、図1cを参照しながら以下で記載されるように、一部のフラッシュメモリシステムは、埋込みフラッシュメモリと、埋込みフラッシュメモリ用のコントローラとして実質的に機能するようにホスト上で実行されるソフトウェアとを含む。図1aを参照すると、不揮発性メモリデバイス、例えば、小型フラッシュメモリカードを含む一般的なホストシステムが説明される。ホストまたはコンピュータシステム100は、概して、マイクロプロセッサ108、ランダムアクセスメモリ(RAM)112,および入力/出力回路116が通信することを可能にするシステムバス104を含む。ホストシステム100は、概して、他のコンポーネント、例えば、ディスプレイデバイスおよびネットワークデバイスを含み得ることが理解される。これらは、例示のために図示されていない。
概して、ホストシステム100は、情報を取り込む能力を有し得る。このような情報には、静止画情報、音声情報、および映像情報が含まれるが、これらに限定されない。このような情報は、リアルタイムで取り込まれ得、無線でホストシステム100に送信され得る。ホストシステム100は、実質的には、任意のシステムであり得るが、典型的には、ホストシステム100は、デジタルカメラ、ビデオカメラ、セルラー式通信デバイス、オーディオプレーヤー、またはビデオプレーヤーなどのシステムである。しかし、ホストシステム100は、概して、データまたは情報を格納し、データまたは情報を取り出す、実質的に任意のシステムであり得ることが理解される必要がある。
また、ホストシステム100は、データを取り込むこと、またはデータを取り出すことのいずれかのみを行うシステムであってもよい。すなわち、ある実施形態において、ホストシステム100は、データを格納する専用システムであってもよいし、データを読み出す専用システムであってもよい。例えば、ホストシステム100は、データを書き込むか、または格納するようにのみ構成されたメモリライターであり得る。あるいは、ホストシステム100は、データを取り込むのではなく、データを読み出すか、または取り出すように典型的には構成されたMP3プレーヤーなどのデバイスであり得る。
ある実施形態において、取り外し可能な不揮発性メモリデバイスである不揮発性メモリデバイス120は、情報を格納するため、バス104とインターフェースするように構成される。任意のインターフェースブロック130は、不揮発性メモリデバイス120が、バス104と間接的にインターフェースすることを可能にし得る。当業者にとって明らかなように、入力/出力回路ブロック116が存在する場合、バス104へのロードを低減する機能を果たす。不揮発性メモリデバイス120は、不揮発性メモリ124および任意のメモリコントロールシステム128を含む。ある実施形態において、不揮発性メモリデバイス120は、シングルチップまたはダイの上に実装され得る。あるいは、不揮発性メモリデバイス120は、マルチチップモジュールの上、またはチップセットを形成し得、不揮発性メモリデバイス120として共に用いられ得る複数の別個のコンポーネントの上に実装されてもよい。不揮発性メモリデバイス120の一実施形態は、図1bを参照しながら、以下でより詳細に説明される。
不揮発性メモリ124、例えば、NANDフラッシュメモリなどのフラッシュメモリは、必要に応じてデータにアクセスし、読み出せるように、データを格納するように構成される。不揮発性メモリ124に格納されたデータは、また、適切に消去され得るが、不揮発性メモリ124内の一部のデータは消去不可能であり得ることを理解する必要がある。データを格納し、データを読み出し、データを消去するプロセスは、概して、メモリコントロールシステム128によって制御されるが、メモリコントロールシステム128がない場合には、マイクロプロセッサ108によって実行されるソフトウェアによって制御される。不揮発性メモリ124の動作は、本質的に、不揮発性メモリ124の部分を実質的に等しく消耗させることによって不揮発性メモリ124の寿命が実質的に最長になるように管理され得る。
不揮発性メモリデバイス120は、概して、任意のメモリコントロールシステム128、すなわち、コントローラを含むものとして説明された。しばしば、不揮発性メモリデバイス120は、不揮発性メモリ124およびメモリコントロールシステム128、すなわち、コントローラの機能のために、別個のチップを含み得る。例えば、PCカード、小型フラッシュカード、マルチメディアカード、および安全デジタルカード(これらに限定されない)を含む不揮発性メモリデバイスは、別のチップ上に実装され得るコントローラを含むが、他の不揮発性メモリデバイスは、別のチップ上に実装されるコントローラを含まなくてもよい。不揮発性メモリデバイス120が別のメモリおよびコントローラチップを含まない実施形態において、メモリおよびコントローラ機能は、当業者にとって明らかなように、シングルチップに集積され得る。あるいは、メモリコントロールシステム128の機能は、例えば、上述したように、不揮発性メモリデバイス120がメモリコントローラ128を含まない実施形態において、マイクロプロセッサ108によって提供され得る。
図1bを参照しながら、本発明の実施形態による、不揮発性メモリデバイス120をより詳細に説明する。上述したように、不揮発性メモリデバイス120は、不揮発性メモリ124を含み、メモリコントロールシステム128を含み得る。メモリ124およびコントロールシステム128、すなわちコントローラは、不揮発性メモリデバイス120の一次的コンポーネントであり得るが、メモリ124が埋め込みNANDデバイスである場合、例えば、不揮発性メモリデバイス120は、コントロールシステム128を含まなくてもよい。メモリ124は、半導体基板上に形成されるメモリセルのアレイであり得る。1つ以上のデータのビットは、メモリセルの個々の格納素子の電荷の2つ以上のレベルのうち1つを格納することによって、個々のメモリセルに格納される。不揮発性フラッシュ電気消去可能プログラマブル読み出し専用メモリ(EEPROM)は、このようなシステムにおける一般的なタイプのメモリの一例である。
コントロールシステム128が存在する場合には、バス15で、ホストコンピュータまたはデータを格納するためにメモリシステムを用いる他のシステムと通信する。バス15は、概して、図1aのバス104の一部である。コントロールシステム128は、また、ホストによって提供されたデータを書き込み、ホストによってリクエストされたデータを読み出し、メモリ124の動作における各種のハウスキーピング機能を行う、メモリセルアレイ11を含み得るメモリ124の動作を制御する。コントロールシステム128は、概して、関連する不揮発性ソフトウェアメモリ、各種の論理回路などを有する汎用マイクロプロセッサを含む。また、1つ以上のステートマシンが、しばしば、特定のルーチンの性能を制御するため、含まれる。
メモリセルアレイ11は、典型的には、アドレスデコーダ17を介して、制御システム128またはマイクロプロセッサ108によってアドレスされる。デコーダ17は、正しい電圧を、データをプログラムするか、データを読み出すか、または、コントロールシステム128によってアドレスされているメモリセルのグループを消去するために、アレイ11のゲートおよびビットラインに印加する。さらなる回路19は、セルのアドレスされるグループにプログラムされるデータに依存する、アレイの素子に印加される電圧を制御するプログラミングドライバを含む。回路19は、また、センスアンプおよびメモリセルのアドレスされるグループからデータを読み出すために必要な他の回路を含む。アレイ11にプログラムされるデータ、またはアレイ11から最近読み出されたデータは、典型的には、コントロールシステム128内のバッファメモリ21に格納される。コントロールシステム128はまた、通常は、コマンドおよびステータスデータなどを一時的に格納する、各種のレジスタを含む。
アレイ11は、複数のBLOCKS0−Nメモリセルに分割される。フラッシュEEPROMシステムにおいて一般的であるように、ブロックは、典型的には、消去の最小単位である。すなわち、各ブロックは、共に消去される最小限の数のメモリセルを含む。各ブロックは、典型的には、複数のページに分割される。当業者にとっては明らかなように、ページは、プログラミングの最小単位であり得る。すなわち、ベーシックプログラミング動作は、データを、最小限であるメモリセルの1ページに書き込むか、そこから読み出す。データの1つ以上のセクタは、典型的には、各ページ内に格納される。図1bに示すように、1つのセクタは、ユーザデータおよびオーバーヘッドデータを含む。オーバーヘッドデータは、典型的には、セクタのユーザデータから計算されたエラー訂正コード(ECC)を含む。コントロールシステム128の部分23は、データがアレイ11にプログラムされているとき、ECCを計算し、また、データがアレイ11から読み出されているとき、ECCをチェックする。あるいは、ECCは、所属しているユーザデータとは、異なるページ、または異なるブロックに格納される。
ユーザデータのセクタは、典型的には、磁気ディスクドライブのセクタのサイズに対応して、512バイトである。オーバーヘッドデータ、または冗長データは、典型的には、さらなる16バイトである。1セクタのデータは、最も一般的には、各ページに含まれるが、2つ以上のセクタが、代わりに、ページを形成してもよい。任意の数のページは、概して、ブロックを形成し得る。例えば、ブロックは、8ページから512,1024以上のページから形成され得る。ブロックの数は、メモリシステムにとって所望のデータ格納容量を提供するように選択される。アレイ11は、典型的には、数固のサブアレイ(図示せず)に分割され、それぞれが、ブロックの一部を含み、様々なメモリ動作の実行において、並列処理の度合いを高めるため、互いからいくらか独立して動作する。複数のサブアレイの使用の例は、米国特許第5,890,192号に記載されている。この特許は、その全文を通じて、本明細書中で参考として援用される。
ある実施形態において、不揮発性メモリは、システム、例えばホストシステムに組み込まれる。図1cは、組込み不揮発性メモリを含むホストシステムを表す図である。ホストまたはコンピュータシステム150は、概して、マイクロプロセッサ158、RAM162、および入力/出力回路166が、ホストシステム150の他のコンポーネント(図示せず)とともに、通信することを可能にするシステムバス154を含む。不揮発性メモリ174、例えば、フラッシュメモリは、情報がホストシステム150内に格納されることを可能にする。インターフェース180は、不揮発性メモリ174とバス154との間に設けられて、情報が不揮発性メモリ174から読み出され、不揮発性メモリ174に書き込まれることを可能にする。
不揮発性メモリ174は、ソフトウェアおよびファームウェアのいずれか、または両方を効率的に実行するマイクロプロセッサ158によって管理され得る。すなわち、マイクロプロセッサ158は、不揮発性メモリ174が制御されることを可能にする、コードデバイス(図示せず)、すなわち、ソフトウェアコードデバイスまたはファームウェアコードデバイスを動作させ得る。このようなコードデバイスは、マイクロプロセッサ158内部のCPUとパッケージングされたフラッシュメモリ、別のフラッシュROM、または内部の不揮発性メモリ174(以下に説明する)であり得る。このようなコードデバイスは、不揮発性メモリ174内の物理ブロックがアドレスされることを可能にし得、情報が、物理ブロックに格納され、物理ブロックから読み出され、物理ブロックから消去されることを可能にし得る。
概して、NANDフラッシュメモリチップのような不揮発性メモリコンポーネントは、ブロックに分割される。図2は、本発明の実施形態による、不揮発性メモリコンポーネントを表す図である。メモリコンポーネント200は、複数のブロック204を含む。メモリコンポーネント200内のブロック204の数は、メモリコンポーネント200の全体のサイズに依存して、大幅に異なり得る。例えば、メモリコンポーネント200は、512ブロック、1024ブロック、2048ブロック、または4096ブロックを含み得る。メモリコンポーネント200が、概して、N個のブロック204(Nは実質的に任意の適切なブロックの数)を含み得ることを理解する必要がある。
メモリコンポーネント200内のある数のブロック204は、保留ブロック204f〜mとして考えられ得る。保留ブロック204f〜mは、メモリコンポーネント200内の使用可能なブロック204の最後の数個、例えば、最後の8個のブロック204であり得るが、概して、メモリコンポーネント200内の任意のブロック204であってもよい。保留ブロック204f〜mは、典型的には、電力管理ブロックまたは消去カウントブロックとして用いられるために取っておかれている。このことは、本明細書中で参考として援用される同時係属出願中の米国特許第10/281,804号に記載されている。しばしば、保留ブロック204f〜mは、電流電力管理ブロックが一杯になった後に、保留ブロック204f〜mから割り当てられた他の電力管理ブロックに取って代わられるか、置き換えられ得る、電流電力管理ブロックを含み得る。
電力がメモリコンポーネント200に印加される場合、例えば、電力が、初期化プロセスの一部としてまず印加される場合、初期化プロセスが成功したことを表すように構成された初期化署名またはビットが電力管理ブロックに関連付けられたページに格納され得る。図3aを参照しながら、本発明のある実施形態による、初期化署名を含む電力管理ブロックのある実施形態を説明する。電力管理ブロック304は、概して、任意の数のページ308を含む。典型的には、電力管理ブロック304に含まれるページ308の数は、電力管理ブロック304を含む不揮発性メモリ全体の中のブロックの標準的なサイズに、少なくとも部分的に依存し得る。
メモリコンポーネント200の初期化が成功したのち、初期化すなわち「オープン」署名312は、電力管理ブロック304の第1のページ308aに書き込まれ得る。このように、初期化署名312が第1のページ308に見受けられる場合、より概略的には、電力管理ブロック304において利用可能な一番最近の署名である場合、初期化プロセスが成功したことの表れである。ある実施形態において、初期化署名312は、他の情報、例えば、平均消去カウントと共に、ページ308aに書き込まれ得る。
電力管理ブロック304を含むメモリコンポーネントに電源が投入される場合、コンテンツが書き込まれた最後のページ308が、典型的にはアクセスされる。コンテンツが書き込まれた最後のページ308は、以前の初期化プロセスが成功している場合、初期化署名312を含み得るが、初期化プロセスの後に行われるシャットダウンプロセスは異常である。初期化プロセス後に行われるシャットダウンプロセスが通常である場合、コンテンツが書き込まれた最後のページ308は、典型的には、図3bに示すようにシャットダウン署名を含む。シャットダウンすなわち「クローズド」署名324は、概して、例えばパターンに構成されるビットを含み得、シャットダウンプロセスが成功に終わったことを表す。概して、コンテンツが書き込まれた最後のページ308bにおけるシャットダウン署名324の存在は、メモリコンポーネントの一番最近の電源切断が、データ修復プロセスを行うことが必要になる、バッテリー切れによる電力の急な損失などの異常な環境ではなく、正常な環境で行われたことを表す。
シャットダウン署名324がページ308bに書き込まれる場合、シャットダウン署名324は、他の情報と共にページ308bに書き込まれ得る。シャットダウン署名324と共にページ308bに書き込まれ得る他の情報には、平均消去カウント、および、最多頻度消去ブロックおよび最小頻度消去ブロックなどのような予備ブロックに属する消去カウントが含まれ得るが、これらに限定されない。
図4を参照しながら、本発明の実施形態による、関連付けられた電力管理ブロックを有する不揮発性メモリコンポーネントを初期的に用いる方法に関連する工程を説明する。不揮発性メモリコンポーネントを初期的に用いるプロセス400は、工程404において開始され、工程404において、例えば、最初にメモリコンポーネントの電源が投入された後、メモリコンポーネントが初期化される。メモリコンポーネントの初期化には、メモリコンポーネントに電力を提供する工程、および用いられるメモリコンポーネントをイネーブルするために必要なデータ構造を作成する工程が含まれ得るが、これらに限定されない。
メモリコンポーネントが初期化された後、初期化署名が、工程408において、電力管理ブロックに書き込まれ得る。上述したように、初期化署名は、電力管理ブロックの平均的な消去カウントおよび他の情報と同じページに書き込まれ得る。初期化署名が書き込まれた後、メモリコンポーネントが工程412において用いられ得る。メモリコンポーネントを用いる工程は、概して、データをメモリコンポーネントに書き込む工程、または格納する工程、および格納されたデータをメモリコンポーネントから読み出す工程を含み得る。
ある時点で、例えば、ユーザがメモリコンポーネントとインターフェースしているホストデバイスの電源を切断することを所望する場合、メモリコンポーネントのユーザはメモリコンポーネントの電源を切断するコマンドまたはリクエストを発行し得る。このように、メモリコンポーネントの電源が切断されるか否かについての決定は、工程416において行われる。メモリコンポーネントの電源が切断されないことが決定される場合、プロセスフローは、メモリコンポーネントが用いられ続ける工程412に戻る。あるいは、メモリコンポーネントの電源が切断されることが決定される場合、工程420において、シャットダウン署名が電力管理ブロックに書き込まれる。ある実施形態において、シャットダウン署名は、他の情報がシャットダウン署名と同じページに格納される時刻と実質的に同じ時刻に書き込まれる。このような情報には、上述したように、平均消去カウント、最小頻度消去ブロックテーブルに関連付けられた識別子、および最多頻度消去ブロックテーブルに関連付けられた識別子が含まれ得るが、これらに限定されない。シャットダウン署名が電力管理ブロックに書き込まれた後、工程424において、メモリコンポーネントの電源が切断され、メモリコンポーネントの初期使用のプロセスは完了する。
概して、メモリコンポーネントが初期化されるか否かが既知でない場合、メモリコンポーネントの電力管理ブロックは、初期化署名があるかチェックされ得る。すなわち、メモリコンポーネントに電力が提供されていることが最初に分かった場合に行われ得るように、メモリコンポーネントを自動的に初期化するのではなく、メモリコンポーネントが以前に初期化された否かをまず判定し得、結果として、電源が投入されるか、電源が切断される。図5は、本発明の実施形態による、以前に電源が切断された可能性があるメモリコンポーネントを利用する方法に関連する工程を示すプロセスフロー図である。電力管理ブロックを含むメモリコンポーネントを利用するプロセス500は、工程504において開始し、工程504において電力がメモリコンポーネントに提供される。電力がメモリコンポーネントに提供された後、工程508において、電力管理ブロックに初期化署名があるか否かが判定される。具体的には、メモリコンポーネントの初期化が以前に完了したか否かが判定される。
適切な初期化署名が電力管理ブロックにあることが判定される場合、メモリコンポーネントの初期化または電源投入が以前に成功したことの表れである。従って、工程512において、適切なシャットダウンシャットダウン署名が電力管理ブロックにあるか否かが判定される。適切なシャットダウン署名が電力管理ブロックにある場合、シャットダウン署名が電力管理ブロック内の一番最近の署名であることの表れである。ある実施形態において、適切なシャットダウン署名があるか否かの判定は、初期化署名が電力管理ブロック内の一番最近の署名であるか、または電力管理ブロック内の一番最近に書き込まれたページにあるかを判定する工程を含む。
工程512において、適切なシャットダウン署名が電力管理ブロックにあることが判定される場合、メモリコンポーネントを有するデータは、実質的に同期化され、データ修復プロセスが必要ないことの表れである。従って、メモリコンポーネントが工程532において用いられ得る。メモリコンポーネントを用いる工程は、初期化またはオープン署名を電力管理ブロックに書き込む工程を含み得ることが理解される必要がある。メモリコンポーネントを用いる工程はまた、シャットダウンまたは電力切断コマンドを受信する場合、シャットダウン署名を電力管理ブロックに書き込む工程を含み得る。工程532においてメモリコンポーネントが用いられた後、メモリコンポーネントを利用するプロセスは完了する。
あるいは、シャットダウン署名が電力管理ブロック内の一番最近の署名でないことが工程512において判定される場合、メモリコンポーネントの異常シャットダウンが以前行われたことの表れである。すなわち、初期化署名が、電力管理ブロック内の一番最近の署名であり、初期化署名に対応するシャットダウン署名がない場合、メモリコンポーネントの以前のシャットダウン、またはメモリコンポーネントから電力を取り除くことが、正常な環境で行われなかったことを意味する。例えば、メモリコンポーネントへの電力は、バッテリー切れによって失われた可能性がある。従って、プロセスフローは、工程512から工程516へと移り、そこでブロック同期化プロセスが行われる。典型的には、ブロック同期化プロセスは、メモリコンポーネントに関連付けられるデータが同期化されない可能性がある、例えば、論理ブロックに1つより多い物理ブロックが割り当てられ得るので行われ得る。さらに、ホストシステムは、メモリコンポーネントを用いるシステム全体の以前のシャットダウンが円滑でなかったことを知らされ得、スキャンディスク診断のような回復診断を実行するように、ユーザにプロンプトし得る。
ある実施形態において、データ修復プロセスが行われた後、ブロックに関連付けられる実質的に全ての消去カウントは、同期化され得るか、そうでない場合には、工程518において、消去カウントブロックから入手される平均消去カウントを用いて更新され得る。消去カウントブロックの一例は、同時係属出願中の米国特許第10/281,626号に記載される。この出願は、本明細書中で参考として援用される。
消去カウントが同期化された後、オペレーティングシステム、すなわちホストは、工程524において、以前の電源切断において不適切なシャットダウンまたは停電が起きたことを知らされ得る。すなわち、メモリコンポーネントに関連付けられたホストのファイルシステムは、不適切なシャットダウンを知らされ得る。ホストは、典型的には、データ完全性チェック、および「スキャンディスク」プロセスのような修復プロセスが必要とされ得るかどうかを判定する。このようなプロセスが必要とされ得るか否かについてのクエリがユーザに対してプロンプトされ得る。その後、修復プロセスを開始するか、または通知を無視するかは、ユーザに任され得る。
工程508に戻ると、電力管理ブロックに初期化署名がないことが判定される場合、メモリコンポーネントの初期化が以前に成功しなかったことの表れである。従って、工程528において、メモリコンポーネントは初期化される。メモリコンポーネントを初期化する工程は、メモリコンポーネントが適切に初期化される場合に初期化署名を電力管理ブロックに書き込む工程を含み得る。メモリコンポーネントが初期化された後、工程532においてメモリコンポーネントが用いられ得る。
概して、停電がシステム全体で起きる場合、ファイルに関連するデータ完全性は、損なわれ得る。具体的には、ホストから不揮発性メモリまたはメモリコンポーネントのデータ領域に効率的に書き込まれるファイルのデータ完全性は、書き込みプロセスが停電に起因して早くに中断される場合、損なわれ得る。ユーザからの電力切断リクエストがある場合、ファイルへの書き込みは、典型的には、実際の電力切断が起きる前に完了する。
ファイルが不揮発性メモリに書き込まれる場合、不揮発性メモリの異なる領域が、典型的には、シーケンスに基づいて書き込まれる。例えば、不揮発性メモリのホストシステム領域およびデータ領域は、特定の順序で書き込まれ得る。図6は、本発明の実施形態による、不揮発性メモリのホストシステム領域およびデータ領域を表す図である。説明した実施形態において、不揮発性メモリ600はNANDメモリであるが、不揮発性メモリ600は、概して、任意の適切なメモリであり得ることが理解される必要がある。
メモリ600のホストシステム領域は、概して、マスタブートレコード602、隠れ領域606、パーティションブートレコード610、第1のファイル割り当てテーブル614、第2のファイル割り当てテーブル618、およびルートディレクトリ622を含む。マスタブートレコード602は、メモリ600に関連するパーティションがいずれのオペレーティングシステムと互換性を有するかを判定することを可能にする。例えば、マスタブートレコード602は、特定のパーティションが、Linuxオペレーティングシステムと互換性を有し、他のパーティションがWindows(登録商標)98オペレーティングシステムと互換性を有することを特定し得る。当業者であれば理解するように、パーティションブートレコード610は、メモリ600が互換性を有するオペレーティングシステムを、メモリ600とインターフェースするホストシステムが識別することを可能にする。
メモリ600のデータ領域626は、ルートディレクトリ622と関連付けられたサブディレクトリ(図示せず)を含むように構成される。さらに、データ領域626は、メモリ600に関連するファイルのコンテンツを含むように構成される。図7を参照しながら以下で説明されるように、ファイルがメモリ600に書き込まれる場合、ディレクトリ、例えば、ルートディレクトリ622、またはルートディレクトリ622に関連するサブディレクトリには、ファイル名が書き込まれ得る。ファイル名の後、ファイルに関連するデータがデータ領域626に書き込まれ得る。その後、ファイル割り当てテーブル614および618が書き込まれ得、ファイル名が書き込まれたディレクトリは、コンテンツの位置、サイズ、ファイルの作成時刻で更新され得る。
図7を参照しながら、本発明の実施形態による、ホストシステムに関連するファイルを不揮発性メモリに書き込む1つの方法に関連する典型的な工程の例を説明する。ファイルを書き込むプロセス760は、工程764から開始され、工程764において、作成されるデータファイル名、作成時刻および属性が、不揮発性メモリ、例えば、NANDメモリに関連するディレクトリに書き込まれる。ファイル名がディレクトリに書き込まれた後、データファイルのコンテンツが、工程768において、メモリに関連するデータ領域に書き込まれる。説明する実施形態において、データファイルのコンテンツがデータ領域に書き込まれた後、工程772において第1のFATが書き込まれ得、データ領域におけるファイルに対応するデータの位置が識別されることを可能にする。第2のFATは工程776で書き込まれ得、第2のFATは、事実上、第1のFATのコピーである。両方のFATが書き込まれた後、ファイルに対応するディレクトリエントリは、データ領域のどこからファイルのコンテンツが開始するのかを識別するスターティングクラスタ、ファイルの長さ、いつファイルが事実上作成されたかを識別する最終時刻と共に、工程780において更新され得る。工程780が行われるまでファイル作成または変更が完了しないので、最終クラスタ、すなわちデータファイルのコンテンツの最終ページは、典型的には、工程772および工程776の後に書き込まれる。当業者であれば理解するように、クラスタは、任意の数のページを含んでもよく、典型的には、パーティションブートレコードによって定義される。ファイルを書き込むプロセスは、ディレクトリエントリが更新された後、完了される。
電力管理ブロックを用いることによって、以前にメモリから電力が取り除かれたことは、停電に起因するのか、または他の点で異常だったのか確認され得る。メモリの電力切断が異常であった判定される場合、ファイル書き込みプロセスは、早くに中断された可能性がある。このように、システムのデータ完全性を維持するためには、データ修復プロセスを行うことをホストに知らせることが所望され得る。
続けて図7を参照すると、工程764の前、または工程780の後に電源が切断される場合、ファイルは書き込まれていないか、書き込みが終了しているので、壊れたファイルはない。書き込みプロセスが開始する前に電力が失われたため、書き込まれるべきであるが書き込まれていないファイルは、ユーザにとって利用可能にならない。工程768を除き、書き込み動作が開始されるが、工程764、工程772、工程776、または工程780のいずれかにおいて完了しない場合、工程は実質上行われない。従って、書き込まれるところであったページは、本質的には放棄され、古いページが修復に用いられる。本発明において、古いページは利用可能である。実質的に壊れたページの代わりに古いページは、ホストにとって透明である。コンテンツの有効性は、ECCチェッキングによって保護される。ページが壊れた場合、以前の「良い」または壊れていないページは、ホストに戻り得る。このことは、全文が本明細書中で援用される同時係属出願中の米国仮特許第60/421,725号に記載されている。ページの更新情報は、古いページを上書きすることなく、消去されたページに実質的に常に書き込まれる。従って、古いページが消去されていない場合、そのデータのコンテンツが、上書きの途中で新たな情報によって壊れることがない。さらに、同時継続出願中の米国特許出願第10,281,631号に記載されているように、FATおよびディレクトリを含むファイルシステムの重要な領域は、しばしば、複数の物理ブロックに分割される。フラッシュメモリがフォーマットされた後、典型的には、FATおよびルートディレクトリの有効なコピーがある。認識不可能なFATおよびディレクトリは媒体を修復不可能にするので、バックアップページを新たなページの書き込みが成功しなかった場合に利用可能にすることによって、媒体が修復可能にされる。
工程764において停電が起きて、書き込み動作が失敗する場合、概してディレクトリの以前のコピーが用いられる。書き込み動作が成功に終わる場合、システムは、名前を有するファイルを有し得るが、コンテンツを含まない。すなわち、ファイルサイズはほぼゼロである。従って、ユーザは、典型的には、ファイルがコンテンツと共に格納されるように、ファイルを「再作成」する必要がある。工程768の間、または工程768の後だが工程772の前のある時点で電力損失が起きた場合、書き込まれるデータは、いずれのファイルとも関連せず、従ってユーザにとって利用可能でない。ユーザは、典型的には、サイズがほぼゼロのファイルを有する。電力損失がFAT1またはFAT2のいずれかが書き込まれた後に起きる場合、ホストは、データの位置を突き止め、修復プロセスの間情報の一部を回収するためにユーザにとって利用可能にすることが可能であり得る。工程768の後の停電は、その損失の間に書き込まれる情報が概して通常の修復プロセスを用いて回復不可能であることが理解される必要がある。ディレクトリエントリが工程780までファイルをデータに関連させないので、ユーザは、依然として、ファイルサイズが、工程776の後でさえもほぼゼロであることを「見る」。
本発明は、電力損失が起き、概して修復プロセスが必要であることを、ユーザがホストに知らせることを可能にする。メモリが異常な電源切断後に電源投入される場合、ブロックコピーまたはマージプロセスがまた、異常な電源切断の直後に完了することが必要とされ得る。例えば、複数の物理ブロックが1つの論理ブロックに関連付けられる場合、その論理ブロックが、実質的に全ての現在のデータまたはその論理ブロックに関連付けられる情報を含む1つの物理ブロックのみに関連付けられるように、物理ブロックを決定することが所望され得る。
コモン論理ブロックに関連付けられる物理ブロックを決定する工程は、いずれの物理ブロックが一番最近論理ブロックと関連付けられたのかを判定する工程を含む。同時係属出願中の米国特許出願第10,281,762号に記載されている更新インデックスは、複数の物理ブロックのうちいずれが一番最近に論理ブロックに関連付けられ、論理ブロックに関連付けられる一番最近のコンテンツを含めるように、効率的に更新される必要があるのかを判定するために用いられ得る。しばしば、論理ブロックが関連付けられる物理ブロックを1つより多く有し、論理ブロックと関連付けられる1つの物理ブロックを識別することが本質的に必要である場合、更新インデックスは物理ブロックから入手され得、更新インデックスは、2つの物理ブロックからの更新インデックスの比較が、物理ブロックが決定した後、例えば、マージプロセスがおきた後、2つの物理ブロックのうちいずれが論理ブロックと関連付けられたままであるのか、2つの物理ブロックのうちいずれが論理ブロックから切り離されるのかを識別するように構成される。
物理ブロックに関連付けられる少なくとも1つのオーバーヘッドまたは冗長領域に格納され得る更新インデックスは、コピーまたはマージする工程に関わる2つの物理ブロックのうちいずれが古い物理ブロックであり、2つの物理ブロックのうちいずれが新しい物理ブロック、または、コンテンツがコピーされている物理ブロックであるのかを示すように構成され得る。例えば、新たな物理ブロックの更新インデックスは、更新インデックスの値が、古い物理ブロック更新インデックスよりも高くなるように設定され得る。従って、いずれの物理ブロックが新たな物理ブロックであるのか判定するために物理ブロックの更新インデックスが調べられる場合、より高い更新インデックスを有する物理ブロックが新たな物理ブロックであると判定され得る。
例えば、電力管理ブロックを用いて、停電が以前に不揮発性メモリを含むメモリシステム内で起きたことが判定される場合、1つより多い関連付けられた物理ブロックを有する任意の論理ブロックが、例えば、更新インデックスを用いて、物理ブロックが決定され得るように識別され得る。ある実施形態において、実質的に、関連付けられた物理ブロックを1つより多く含み得る論理ブロックのみが、停電が起きたときに書き込まれるプロセスか、または、更新されるプロセス中であった最後の論理ブロックである。図8は、本発明の実施形態による、1つの論理ブロックに関連付けられた物理ブロックを識別し、処理するある方法に関連する工程を示すプロセスフロー図である。プロセス900は、工程904から開始される。工程904において、意図的な電源切断または予期されない停電のいずれかに起因して、メモリコンポーネントへの電力が取り除かれた後のある時点で、電力がメモリコンポーネントに提供される。メモリコンポーネントに電力が提供された後、メモリコンポーネントの電力管理ブロックのページが読み出され得、停電が起きたか否かが判定される。上述したように、シャットダウン信号が、実質上、電力管理ブロック内の一番最近の署名である場合、メモリコンポーネントの以前のシャットダウンが、意図的な電源切断であったことの表れである。そうでない場合には、典型的には、メモリコンポーネントの以前のシャットダウンが、停電に起因していたことの表れである。
工程912において、停電が起きたか否かについて判定が行われる。停電が起きなかった場合、1つの論理ブロックに決定される複数の物理ブロックがないことの表れであり得る。このように、物理ブロックを識別し、決定するプロセスが完了される。あるいは、工程912において、停電または異常なシャットダウンが起きたことが判定される場合、決定される物理ブロックがある。従って、プロセスフローは、工程912から工程916へと移る。工程916において、メモリコンポーネントに関連付けられた物理ブロックのオーバーヘッド領域が読み出される。オーバーヘッド領域を読み出す工程は、概して、オーバーヘッド領域に格納される更新インデックスを読み出す工程、およびそれぞれの物理ブロックが関連付けられる論理ブロックに属する情報を読み出す工程を含み得る。
メモリコンポーネントの物理ブロックのオーバーヘッド領域が読み出された後、工程920において、任意の論理ブロックが関連付けられる物理ブロックを1つより多く有するか否かが判定される。関連付けられる物理ブロックを1つより多く有する論理ブロックがあることが判定される場合、プロセスフローは、工程924へと移る。工程924において、物理ブロックの更新インデックスが比較され得るように、コモン論理ブロックに関連付けられる物理ブロックのオーバーヘッド領域から更新インデックスが入手される。関連付けられる物理ブロックを1つより多く有する論理ブロックが複数ある場合、1つの論理ブロックに関連付けられる更新インデックスが全て入手され得ることが理解される必要がある。すなわち、関連付けられる物理ブロックを1つより多く有する、実質的に全ての論理ブロックが、このような論理ブロックに関連付けられる、実質的に全ての物理ブロックを入手することによって、効率的に処理され得る。
更新インデックスが物理ブロックのオーバーヘッド領域から入手された後、物理ブロックは、各論理ブロックが1つの関連する物理ブロックを有するように、工程928において分解される。物理ブロックは、概して、コモン論理ブロックに関連付けられる複数の物理ブロックの更新インデックスが、一番最近コモン論理ブロックに関連付けられた物理ブロックがいずれであるかを識別するために用いられるように、決定される。物理ブロックを決定する工程はまた、実質的に全ての現在の情報またはコモン論理ブロックに関連するデータを、コモン論理ブロックに一番最近に関連付けられた物理ブロックに提供する工程を含み得る。
物理ブロックを決定する際に、必要に応じて、工程932において他のデータ修復が行われ得る。他のデータ修復には、例えば、ファイルコピープロセスが中断した結果失われたクラスタの修復が含まれ得る。データ修復が行われた後、物理ブロックを識別し、決定するプロセスが完了する。
工程920に戻ると、関連付けられる物理ブロックを1つより多く有する論理ブロックがないと判定された場合、決定される物理ブロックがないことの表れである。従って、プロセスフローは工程936に移り、工程936において必要に応じて他のデータ修復が行われ得る。任意の他の必要なデータ修復が行われる場合、物理ブロックを識別し、決定するプロセスが完了する。
概して、電力管理ブロックを実装し、維持し、利用することに関連する機能は、不揮発性メモリまたは不揮発性メモリコンポーネントを含むホストシステムに対して、例えば、プログラムコードデバイスのようなソフトウェア、またはファームウェアにおいて提供される。ホストシステムに対して提供されて、電力管理ブロックが実装され、維持され、用いられることを可能にするソフトウェアまたはファームウェアに関連する適切なシステムアーキテクチャのある実施形態を図9に示す。システムアーキテクチャ700は、概して、各種のモジュールを含む。各種のモジュールには、アプリケーションインターフェースモジュール704、システムマネージャーモジュール708、データマネージャーモジュール712、データ完全性マネージャー716、ならびにデバイスマネージャーおよびインターフェースモジュール720が含まれ得るが、これらに限定されない。概して、システムアーキテクチャ700は、プロセッサ例えば、図1aのプロセッサ108によってアクセスされ得る、ソフトウェアコードデバイスまたはファームウェアを用いて実現され得る。
概して、アプリケーションインターフェースモジュール704は、ホスト、オペレーティングシステム、またはユーザと直接通信するように構成され得る。アプリケーションインターフェースモジュール704はまた、システムマネージャーモジュール708およびデータマネージャーモジュール712と通信する。ユーザがフラッシュメモリから読み出すか、フラッシュメモリに書き込むか、またはフォーマットしたい場合、ユーザは、オペレーティングシステムにリクエストを送信する。リクエストは、アプリケーションインターフェースへと渡される。アプリケーションインターフェースは、リクエストを、リクエストに依存して、システムマネージャーモジュール708またはデータマネージャーモジュール712に向ける。
システムマネージャーモジュール708は、システム初期化サブモジュール724、消去カウントブロック管理サブモジュール726、および電力管理ブロックサブモジュール730を含む。システム初期化サブモジュール724は、概して、初期化リクエストが処理されることを可能にするように構成され、典型的には、消去カウントブロック管理サブモジュール726と通信する。消去カウントブロック管理サブモジュール726は、ブロックの消去カウントを格納させる機能、個々の消去カウントを用いて、平均消去カウントを計算および更新させる機能を含む。消去カウントを用いることは、同時係属出願中の米国特許出願第10/281,739号に記載されている。この出願は、その全文が本明細書中で参考として援用される。システム初期化モジュール724はまた、1対多数の論理ブロック対物理ブロックの割り当てを決定するように構成され、従って、更新インデックスを利用し得る。電力管理ブロックサブモジュール730は、電力管理が実装され、維持され、用いられることを可能にするように構成され得る。例えば、電力管理ブロックサブモジュール730は、電力管理ブロックを割り当て、電力管理ブロックに格納され得る署名および他の情報の書き込みを監視するように構成され得る。
アプリケーションインターフェースモジュール704と通信することに加えて、システムマネージャーモジュール708はまた、データマネージャーモジュール712、ならびにデバイスマネージャーおよびインターフェースモジュール720と通信する。データマネージャーモジュール712は、システムマネージャーモジュール708およびアプリケーションインターフェースモジュール704の両方と通信するが、論理セクタを物理セクタに効率的に変換するセクタマッピングを提供する機能を含み得る。すなわち、データマネージャーモジュール712は、論理ブロックを物理ブロックにマッピングするように構成される。データマネージャーモジュール712はまた、オペレーティングシステムおよびファイルシステムインターフェース層に関連する機能を含み得、ブロック内のグループが管理されることを可能にする。このことは、その全文が本明細書中で参考として援用される、同時係属出願中の米国特許出願第10/281,855号に記載されている。
システムマネージャーモジュール708、データマネージャー712およびデータ完全性マネージャー716と通信するデバイスマネージャーおよびインターフェースモジュール720は、典型的には、フラッシュメモリインターフェースを提供し、ハードウェア抽出(abstraction)、例えばI/Oインターフェースを含む。データ完全性マネージャーモジュール716は、他の機能とともに、ECC処理を提供する。
本発明のいくつかの実施形態のみが説明されてきたが、本発明は、本発明の精神および範囲から逸脱することなく、他の特定の形態で実施され得ることが理解されるべきである。例えば、電力管理ブロックは、概して、NANDメモリ、例えば、MLC NANDメモリに関連付けられるように説明されてきたが、概して、電力管理ブロックは、実質的に任意の適切なメモリまたはメモリシステムに対して実装され得る。
初期化署名およびシャットダウン署名に含まれるビット数は、広く異なり得る。ある実施形態において、署名に含まれるビット数は、具体的なシステムの要件に依存し得る。例えば、署名に含まれるビット数は、1であってもよいし、電力管理ブロックのページに含まれるビット数の数であってもよい。
本発明の各種の方法に関連するステップは、広く異なり得る。概して、工程は、本発明の精神および範囲から逸脱することなく、追加されてもよいし、省略されてもよいし、順序が変更されてもよいし、変更されてもよい。従って、本発明の実施例は例示的なものであり、制限するものではないと考えられ、本発明は、本明細書中に記載の詳細に限られず、添付の特許請求の範囲内で変更され得る。
本発明によると、不揮発性メモリの電源投入プロセスを効率的に行うことを可能にする方法および装置が提供される。本発明のある局面によると、少なくとも1つの保留メモリ領域を含む不揮発性メモリを有するメモリシステムを利用する方法は、電力をメモリシステムに提供する工程と、不揮発性メモリを初期化する工程と、第1の署名を保留メモリ領域に書き込む工程とを含む。第1の署名はメモリシステムの初期化が成功したことを示すように構成される。ある実施形態において、この方法はまた、メモリシステムの電源切断プロセスを実行する工程と、電源切断プロセスが実行されたことを示す第2の署名を保留メモリ領域に書き込む工程とを含む。
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
104 システムバス
108 マイクロプロセッサ
112 ランダムアクセスメモリ
116 入力/出力回路
120 不揮発性メモリデバイス
124 不揮発性メモリ
128 メモリコントロールシステム
130 インターフェースブロック

Claims (14)

  1. メモリシステムを利用する方法であって、該メモリシステムは、不揮発性メモリを含み、該不揮発性メモリは、少なくとも1つの保留メモリ領域を含み、該方法は、
    電力を該メモリシステムに提供することと、
    該メモリシステムが実質的に正常な電源切断プロセスに以前にかけられたことがあるかどうかを判定することと、
    該メモリシステムが正常な電源切断プロセスに以前にかけられたことがないという判定に応答して、該不揮発性メモリ上で第1のプロセスを実行することであって、該第1のプロセスは該不揮発性メモリを使用に備えて準備するように構成されている、ことと、
    該メモリシステムが正常な電源切断プロセスに以前にかけられたことがあるという判定に応答して、該不揮発性メモリが用いられることを可能にすることと
    を包含する、方法。
  2. 前記不揮発性メモリが用いられることを可能にすることは、第1の署名を前記少なくとも1つの保留メモリ領域に書き込んで、該不揮発性メモリが実質的にイネーブルされたことを示すことを含む、請求項1に記載の方法。
  3. 前記メモリシステムが実質的に正常な電源切断プロセスに以前にかけられたことがあるかどうかを判定することは、前記少なくとも1つの保留メモリ領域が第1の署名を含むかどうかを判定することであって、該第1の署名は、正常な電源切断プロセスが以前に起きたことを示すように構成されている、ことを含む、請求項1に記載の方法。
  4. 前記メモリシステムが実質的に正常な電源切断プロセスに以前にかけられたことがあるかどうかを判定することは、前記少なくとも1つの保留メモリ領域が第2の署名を含むかどうかを判定することであって、該第2の署名は、該メモリシステムが初期化プロセスに以前にかけられたことがあることを示すように構成されている、ことをさらに含む、請求項3に記載の方法。
  5. 前記少なくとも1つの保留メモリ領域が、前記第2の署名を含まず、かつ、前記第1の署名を含まないという判定に応答して、前記第1のプロセスは、初期化プロセスである、請求項4に記載の方法。
  6. 前記少なくとも1つの保留メモリ領域が、前記第2の署名を含み、かつ、前記第1の署名を含まないという判定に応答して、前記第1のプロセスは、データ修復プロセスであり、
    該データ修復プロセスは、前記不揮発性メモリ内のメモリを修復するように構成されており、
    該データ修復プロセスは、ファイルコピープロセスを完了することおよび前記不揮発性メモリと関連付けられた物理ブロックを決定することのうち少なくとも1つを含む、請求項4に記載の方法。
  7. 前記第1のプロセスは、データ修復プロセスおよびメモリ初期化プロセスのうちの1つである、請求項1に記載の方法。
  8. メモリシステムであって、
    少なくとも1つの保留メモリ領域を含む不揮発性メモリと、
    電力を該メモリシステムに提供する手段と、
    該メモリシステムが実質的に正常な電源切断プロセスに以前にかけられたことがある場合を判定する手段と、
    該メモリシステムが正常な電源切断プロセスに以前にかけられたことがないと判定された場合、該不揮発性メモリ上で第1のプロセスを実行する手段であって、該第1のプロセスは該不揮発性メモリを使用に備えて準備するように構成されている、手段と、
    該メモリシステムが正常な電源切断プロセスに以前にかけられたことがあると判定された場合、該不揮発性メモリが用いられることを実質的に可能にする手段と
    を備える、メモリシステム。
  9. 前記不揮発性メモリが用いられることを実質的に可能にする手段は、第1の署名を前記少なくとも1つの保留メモリ領域に書き込んで、該不揮発性メモリが実質的にイネーブルされたことを示す手段を含む、請求項8に記載のメモリシステム。
  10. 前記メモリシステムが実質的に正常な電源切断プロセスに以前にかけられたことがある場合を判定する手段は、前記少なくとも1つの保留メモリ領域が第1の署名を含む場合を判定する手段であって、該第1の署名は、正常な電源切断プロセスが以前に起きたことを示すように構成されている、手段を含む、請求項8に記載のメモリシステム。
  11. 前記メモリシステムが実質的に正常な電源切断プロセスに以前にかけられたことがある場合を判定する手段は、前記少なくとも1つの保留メモリ領域が第2の署名を含む場合を判定する手段であって、該第2の署名は、該メモリシステムが初期化プロセスに以前にかけられたことがあることを示すように構成されている、手段をさらに含む、請求項10に記載のメモリシステム。
  12. 前記少なくとも1つの保留メモリ領域が、前記第2の署名を含まず、かつ、前記第1の署名を含まないことが判定された場合、該第1のプロセスは、初期化プロセスである、請求項11に記載のメモリシステム。
  13. 前記少なくとも1つの保留メモリ領域が、前記第2の署名を含み、かつ、前記第1の署名を含まないことが判定された場合、該第1のプロセスは、データ修復プロセスである、請求項11に記載のメモリシステム。
  14. 前記判定する手段は、制御デバイスを含み、
    該制御デバイスは、前記メモリシステムが正常な電源切断プロセスに以前にかけられたことがあるかどうかを判定し、該メモリシステムが正常な電源切断プロセスに以前にかけられたことがないという判定に応答して、前記不揮発性メモリ上で第1のプロセスを実行するように構成されており、該第1のプロセスは、該不揮発性メモリを使用に備えて準備するように構成されており、
    該制御デバイスは、該メモリシステムが正常な電源切断プロセスに以前にかけられたことがあるという判定に応答して、該不揮発性メモリが用いられることを可能とする、請求項8に記載のメモリシステム。
JP2009181121A 2002-10-28 2009-08-03 メモリシステムを利用する方法及びメモリシステム Expired - Fee Related JP5162535B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US42216602P 2002-10-28 2002-10-28
US60/422,166 2002-10-28

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2003368140A Division JP4371771B2 (ja) 2002-10-28 2003-10-28 不揮発性メモリシステムにおいて用いられる電力管理ブロック

Publications (2)

Publication Number Publication Date
JP2009283005A true JP2009283005A (ja) 2009-12-03
JP5162535B2 JP5162535B2 (ja) 2013-03-13

Family

ID=32094175

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2003368140A Expired - Fee Related JP4371771B2 (ja) 2002-10-28 2003-10-28 不揮発性メモリシステムにおいて用いられる電力管理ブロック
JP2009181121A Expired - Fee Related JP5162535B2 (ja) 2002-10-28 2009-08-03 メモリシステムを利用する方法及びメモリシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2003368140A Expired - Fee Related JP4371771B2 (ja) 2002-10-28 2003-10-28 不揮発性メモリシステムにおいて用いられる電力管理ブロック

Country Status (5)

Country Link
US (2) US7181611B2 (ja)
EP (1) EP1416379B1 (ja)
JP (2) JP4371771B2 (ja)
KR (2) KR20040038712A (ja)
CN (2) CN101833482A (ja)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085879B2 (en) * 2002-02-27 2006-08-01 Microsoft Corporation Dynamic data structures for tracking data stored in a flash memory device
US6901499B2 (en) * 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US7533214B2 (en) * 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US7093101B2 (en) * 2002-11-21 2006-08-15 Microsoft Corporation Dynamic data structures for tracking file system free space in a flash memory device
US6944063B2 (en) * 2003-01-28 2005-09-13 Sandisk Corporation Non-volatile semiconductor memory with large erase blocks storing cycle counts
US20050165909A1 (en) * 2003-12-19 2005-07-28 Cromer Daryl C. Data processing system and method for permitting a server to remotely access asset information of a mobile client
TWI262444B (en) * 2004-04-28 2006-09-21 Compal Electronics Inc Method for creating multiple main partitions on IDE hard disk
TWI260019B (en) 2004-05-21 2006-08-11 Fujitsu Ltd Semiconductor memory device and memory system
EP1630657A1 (en) * 2004-08-30 2006-03-01 STMicroelectronics S.r.l. Embedded storage device with integrated data-management functions and storage system incorporating it
ATE347731T1 (de) * 2004-10-04 2006-12-15 Research In Motion Ltd System und verfahren zum datensichern bei stromausfall
US20090172269A1 (en) * 2005-02-04 2009-07-02 Samsung Electronics Co., Ltd. Nonvolatile memory device and associated data merge method
US8122193B2 (en) * 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
KR100684887B1 (ko) * 2005-02-04 2007-02-20 삼성전자주식회사 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법
US7512838B2 (en) * 2005-05-10 2009-03-31 Spectra Logic Corporation Data integrity analysis for a data storage system
US7512864B2 (en) * 2005-09-30 2009-03-31 Josef Zeevi System and method of accessing non-volatile computer memory
US7716461B2 (en) * 2006-01-12 2010-05-11 Microsoft Corporation Capturing and restoring application state after unexpected application shutdown
TWI333145B (en) * 2006-04-03 2010-11-11 Quanta Storage Inc Method for updating data in a flash rom
JP4676378B2 (ja) * 2006-05-18 2011-04-27 株式会社バッファロー データ記憶装置およびデータ記憶方法
US7971071B2 (en) * 2006-05-24 2011-06-28 Walkoe Wilbur J Integrated delivery and protection device for digital objects
KR100771519B1 (ko) * 2006-10-23 2007-10-30 삼성전자주식회사 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법
US7765394B2 (en) * 2006-10-31 2010-07-27 Dell Products, Lp System and method for restoring a master boot record in association with accessing a hidden partition
US7721078B2 (en) * 2006-10-31 2010-05-18 Dell Products, Lp Method and system to dynamically boot to a non-visible partition
KR100818802B1 (ko) * 2007-01-03 2008-04-02 삼성전자주식회사 파워다운 응답신호를 발생하는 반도체 메모리 장치 및 상기반도체 장치의 파워다운 방법
KR100918707B1 (ko) * 2007-03-12 2009-09-23 삼성전자주식회사 플래시 메모리를 기반으로 한 메모리 시스템
KR100973773B1 (ko) * 2007-12-28 2010-08-04 정요섭 수족관 정수장치
JP5286796B2 (ja) * 2008-01-17 2013-09-11 日本電気株式会社 メモリ制御装置
US7925822B2 (en) * 2008-01-31 2011-04-12 Sandisk Il Ltd Erase count recovery
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US8266365B2 (en) * 2008-12-17 2012-09-11 Sandisk Il Ltd. Ruggedized memory device
US8370603B2 (en) 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
JP5317690B2 (ja) * 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
US8040744B2 (en) * 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
US8244960B2 (en) * 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8438453B2 (en) 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US8321647B2 (en) 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
US8495332B2 (en) * 2009-07-24 2013-07-23 Apple Inc. Controller for optimizing throughput of read operations
US8838877B2 (en) * 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
US8489907B2 (en) 2009-09-16 2013-07-16 Apple Inc. Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
WO2011081232A1 (ko) * 2009-12-29 2011-07-07 주식회사 프롬나이 Nvram과 휘발성 램을 이용하여 선택적으로 프로세스의 영속성을 구현하는 컴퓨팅 시스템 및 방법
JP5593254B2 (ja) * 2010-05-12 2014-09-17 パナソニック株式会社 半導体メモリ装置及び半導体メモリシステム
US8812908B2 (en) * 2010-09-22 2014-08-19 Microsoft Corporation Fast, non-write-cycle-limited persistent memory for secure containers
US9064116B2 (en) * 2010-11-08 2015-06-23 Intel Corporation Techniques for security management provisioning at a data storage device
US9043642B2 (en) * 2010-12-20 2015-05-26 Avago Technologies General IP Singapore) Pte Ltd Data manipulation on power fail
US9311226B2 (en) 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US8984247B1 (en) * 2012-05-10 2015-03-17 Western Digital Technologies, Inc. Storing and reconstructing mapping table data in a data storage system
US8886972B2 (en) 2012-06-21 2014-11-11 Transcend Information, Inc. Power control module has voltage setting module that determine burst operating voltage and operate during execution of command in flash drive
KR20140007990A (ko) * 2012-07-09 2014-01-21 삼성전자주식회사 불휘발성 램을 포함하는 사용자 장치 및 그것의 데이터 관리 방법
FR2993669B1 (fr) * 2012-07-19 2014-08-29 Continental Automotive France Procede de diagnostic d’un mecanisme de coupures intempestives de l’alimentation electrique d’un calculateur de vehicule automobile
US9690642B2 (en) * 2012-12-18 2017-06-27 Western Digital Technologies, Inc. Salvaging event trace information in power loss interruption scenarios
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
KR102127284B1 (ko) 2013-07-01 2020-06-26 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 관리 방법
KR102065665B1 (ko) 2013-10-17 2020-01-13 삼성전자 주식회사 더미 워드라인을 포함하는 불휘발성 메모리 장치, 메모리 시스템 및 메모리 시스템의 동작방법
KR102272228B1 (ko) * 2014-05-13 2021-07-06 삼성전자주식회사 불휘발성 메모리 장치, 그것을 포함하는 저장 장치 및 그것의 동작 방법
TWI534609B (zh) * 2015-02-03 2016-05-21 Automatic scanning and repair method for electronic devices
WO2016130163A1 (en) * 2015-02-13 2016-08-18 Hewlett Packard Enterprise Development Lp Partitioning memory modules into volatile and non-volatile portions
KR102374668B1 (ko) 2015-08-31 2022-03-17 삼성전자주식회사 전력 공급 중단의 경향에 따라 불휘발성 메모리를 다르게 관리하는 스토리지 장치
CN105426268B (zh) * 2015-11-16 2018-06-26 北京四方继保自动化股份有限公司 一种防止继电保护装置断电时文件系统损坏的方法
TWI607309B (zh) * 2016-03-16 2017-12-01 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US9691492B1 (en) * 2016-09-29 2017-06-27 Intel Corporation Determination of demarcation voltage for managing drift in non-volatile memory devices
TWI656475B (zh) * 2016-12-13 2019-04-11 慧榮科技股份有限公司 具資料儲存裝置的電子系統
TWI604373B (zh) 2016-12-13 2017-11-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
US10482010B2 (en) * 2017-06-29 2019-11-19 Intel Corporation Persistent host memory buffer
US10373694B2 (en) * 2017-08-31 2019-08-06 Micron Technology, Inc. Responding to power loss
KR20190030790A (ko) * 2017-09-14 2019-03-25 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10528426B2 (en) * 2017-11-30 2020-01-07 Western Digital Technologies, Inc. Methods, systems and devices for recovering from corruptions in data processing units in non-volatile memory devices
KR102430798B1 (ko) * 2018-01-11 2022-08-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
CN111399926A (zh) * 2018-12-13 2020-07-10 北汽福田汽车股份有限公司 下载启动程序的方法和装置
US11181277B2 (en) 2019-01-25 2021-11-23 Weber-Stephen Products Llc Pellet grills
CN109871239A (zh) * 2019-02-18 2019-06-11 深圳忆联信息系统有限公司 一种支持toggle协议Nand颗粒的初始化方法及其系统
CN115004162A (zh) * 2020-03-11 2022-09-02 深圳市欢太科技有限公司 确定数据完整性的方法、装置、电子设备及存储介质
CN112199321A (zh) * 2020-09-28 2021-01-08 中国航空工业集团公司雷华电子技术研究所 一种利用单片机内部xram和flash处理电源故障数据的方法
CN112631516B (zh) * 2020-12-22 2022-09-30 上海宏力达信息技术股份有限公司 一种具有寿命管理的flash文件管理系统
CN114637386A (zh) * 2022-03-24 2022-06-17 南京英锐创电子科技有限公司 低功耗调试通路的处理方法、调试系统及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002334586A (ja) * 2001-05-07 2002-11-22 Yamaha Corp フラッシュメモリを用いた情報記憶方法および情報記憶プログラム
JP2002351750A (ja) * 2001-05-22 2002-12-06 Funai Electric Co Ltd データ書き込みシステム

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2685173B2 (ja) 1986-05-31 1997-12-03 キヤノン株式会社 メモリ書き込み制御方法
JPH07109717B2 (ja) 1986-05-31 1995-11-22 キヤノン株式会社 メモリ書き込み制御方法
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
EP0392895B1 (en) * 1989-04-13 1995-12-13 Sundisk Corporation Flash EEprom system
US5222109A (en) * 1990-12-28 1993-06-22 Ibm Corporation Endurance management for solid state files
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5438573A (en) * 1991-09-13 1995-08-01 Sundisk Corporation Flash EEPROM array data and header file structure
JP2856621B2 (ja) * 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5557775A (en) 1994-02-23 1996-09-17 International Business Machines Corporation Expert system for designing computer networks
JPH0830520A (ja) 1994-07-13 1996-02-02 Toshiba Corp コンピュータシステム
US5557777A (en) * 1994-09-30 1996-09-17 Apple Computer, Inc. Method and apparatus for system recovery from power loss
US5907856A (en) * 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5845313A (en) * 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
US5748940A (en) * 1995-08-17 1998-05-05 Compaq Computer Corporation Secure updating of non-volatile memory
JP3280834B2 (ja) * 1995-09-04 2002-05-13 沖電気工業株式会社 符号化通信方式における信号判定装置および受信装置ならびに信号判定方法および通信路状態推定方法
US6125435A (en) * 1995-09-13 2000-09-26 Lexar Media, Inc. Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US5835935A (en) * 1995-09-13 1998-11-10 Lexar Media, Inc. Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
US5860082A (en) * 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
JP3898305B2 (ja) * 1997-10-31 2007-03-28 富士通株式会社 半導体記憶装置、半導体記憶装置の制御装置及び制御方法
KR100297986B1 (ko) * 1998-03-13 2001-10-25 김영환 플래쉬 메모리 셀 어레이의 웨어 레벨링 시스템 및 웨어 레벨링 방법
US6230285B1 (en) 1998-09-08 2001-05-08 Symantec Corporation Boot failure recovery
US6216226B1 (en) * 1998-10-02 2001-04-10 International Business Machines Corporation Method and system for dynamically selecting a boot process within a data processing system
US6260156B1 (en) * 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP3646303B2 (ja) * 2000-12-21 2005-05-11 日本電気株式会社 コンピュータシステムとそのメモリ管理方法、及びメモリ管理プログラムを記録した記録媒体
US6510488B2 (en) * 2001-02-05 2003-01-21 M-Systems Flash Disk Pioneers Ltd. Method for fast wake-up of a flash memory system
US6820196B2 (en) * 2001-04-09 2004-11-16 Sony Corporation Flash memory initialization in a DTV set-top box
US6915440B2 (en) * 2001-06-12 2005-07-05 International Business Machines Corporation Apparatus, program product and method of performing power fault analysis in a computer system
JP3822081B2 (ja) * 2001-09-28 2006-09-13 東京エレクトロンデバイス株式会社 データ書込装置、データ書込制御方法及びプログラム
US7028172B2 (en) * 2001-10-29 2006-04-11 Microsoft Corporation Method and system for obtaining computer shutdown information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002334586A (ja) * 2001-05-07 2002-11-22 Yamaha Corp フラッシュメモリを用いた情報記憶方法および情報記憶プログラム
JP2002351750A (ja) * 2001-05-22 2002-12-06 Funai Electric Co Ltd データ書き込みシステム

Also Published As

Publication number Publication date
JP2004152301A (ja) 2004-05-27
EP1416379B1 (en) 2012-11-21
CN1540672A (zh) 2004-10-27
JP4371771B2 (ja) 2009-11-25
EP1416379A3 (en) 2006-05-24
US20040083405A1 (en) 2004-04-29
EP1416379A2 (en) 2004-05-06
KR101004876B1 (ko) 2010-12-28
JP5162535B2 (ja) 2013-03-13
KR20090091101A (ko) 2009-08-26
US7181611B2 (en) 2007-02-20
CN101833482A (zh) 2010-09-15
KR20040038712A (ko) 2004-05-08
US7809962B2 (en) 2010-10-05
US20070106919A1 (en) 2007-05-10

Similar Documents

Publication Publication Date Title
JP5162535B2 (ja) メモリシステムを利用する方法及びメモリシステム
US7254668B1 (en) Method and apparatus for grouping pages within a block
US7039754B2 (en) Detachably mounted removable data storage device
US7472251B2 (en) Data storage apparatus detachably mounted to a host apparatus
KR101900760B1 (ko) 비휘발성 메모리를 갖는 시스템에 대한 비정상 셧다운의 핸들링
TWI479505B (zh) 資料管理方法、記憶體控制器與記憶體儲存裝置
JP2010267290A (ja) 共通論理ブロックに関連付けられている物理ブロックを解決するための方法および装置
TWI459198B (zh) 記憶體儲存裝置、其記憶體控制器與有效資料識別方法
CN102890655B (zh) 存储器储存装置、其存储器控制器与有效数据识别方法
TWI493341B (zh) 記憶體儲存裝置及其修復方法
TW202234411A (zh) 用於快閃記憶體中進行故障區塊管理的方法與裝置
CN103389941B (zh) 存储器格式化方法、存储器控制器及存储器存储装置
CN111737165A (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN110286850B (zh) 固态硬盘元数据的写入方法、恢复方法及固态硬盘
CN102693372B (zh) 内存储存装置、内存控制器与病毒扫描方法
TWI553654B (zh) 資料管理方法、記憶體控制器與記憶體儲存裝置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120314

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120606

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121030

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: 20121121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121217

R150 Certificate of patent or registration of utility model

Ref document number: 5162535

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees