JP5607943B2 - メモリシステム及びその磨耗度管理方法 - Google Patents

メモリシステム及びその磨耗度管理方法 Download PDF

Info

Publication number
JP5607943B2
JP5607943B2 JP2010025696A JP2010025696A JP5607943B2 JP 5607943 B2 JP5607943 B2 JP 5607943B2 JP 2010025696 A JP2010025696 A JP 2010025696A JP 2010025696 A JP2010025696 A JP 2010025696A JP 5607943 B2 JP5607943 B2 JP 5607943B2
Authority
JP
Japan
Prior art keywords
page
information
memory
node
page table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010025696A
Other languages
English (en)
Other versions
JP2010186477A (ja
Inventor
珠 榮 黄
美 眞 李
弘 國 金
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2010186477A publication Critical patent/JP2010186477A/ja
Application granted granted Critical
Publication of JP5607943B2 publication Critical patent/JP5607943B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B15/00Sorption machines, plants or systems, operating continuously, e.g. absorption type
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B27/00Machines, plants or systems, using particular sources of energy
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B49/00Arrangement or mounting of control or safety devices
    • F25B49/04Arrangement or mounting of control or safety devices for sorption type machines, plants or systems
    • F25B49/043Operating continuously
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/883Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F25REFRIGERATION OR COOLING; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS; MANUFACTURE OR STORAGE OF ICE; LIQUEFACTION SOLIDIFICATION OF GASES
    • F25BREFRIGERATION MACHINES, PLANTS OR SYSTEMS; COMBINED HEATING AND REFRIGERATION SYSTEMS; HEAT PUMP SYSTEMS
    • F25B2500/00Problems to be solved
    • F25B2500/01Geometry problems, e.g. for reducing size
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B30/00Energy efficient heating, ventilation or air conditioning [HVAC]
    • Y02B30/62Absorption based systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Thermal Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、メモリシステムに係り、より詳細には、メモリシステム及びその磨耗度管理方法に関する。
NVRAM(Non−Volatile RAM)は、電源がオフになっても記録された内容が残っているRAMメモリであって、ファイルを保存するかプロセスの処理時に使われる。NVRAMに記録された内容は、電源がオフになっても残っているので、突然電源が切れてもシステムが早い時間内に最新の状態に復元可能であるという長所がある。電源故障ではないとしても、ユーザが任意に電源を除去しても復元されるので、ユーザの便宜性が増大する。NVRAMは、PRAM(Phase change RAM)、FeRAM(Ferroelectric RAM)及びMRAM(Magnetic RAM)などを含む。
また、NVRAMは、DRAMに比べて電力消耗が低く、DRAMをNVRAMに代替する場合、システム電力が減少しうる。NVRAMは、書き込み前の消去動作が要求されない。すなわち、NVRAMは、書換え(overwrite)を支援する。しかし、NVRAMは、DRAMに比べて制限された書き込み(write)回数を有するために、磨耗度平準化にならない場合、メモリ故障が発生することがある。
本発明は、NVRAMがメインメモリまたは保存装置として使われる場合、NVRAMに適した磨耗度平準化のためのメモリシステム及びその磨耗度管理方法を提案する。
本発明の一態様によるメモリシステムでメインメモリは、NVRAMを含む。メモリシステムは、メインメモリを制御する制御部を含み、制御部は、NVRAMの仮想アドレス及び物理アドレスのマッピング情報を含むページテーブルを管理する。ここで、ページテーブルのエントリーは、ページの磨耗度を表わす寿命情報を含む。
寿命情報は、ページについての残りの書き込み回数情報を表わし、制御部は、各ページにデータが書き込まれる度に、書き込まれるページに対応するページテーブルエントリーに記載の残りの書き込み回数情報を示す値を減少させることができる。
制御部によって制御される不揮発性メモリをさらに含み、制御部は、電源をオフにする動作前に、各ページの寿命情報を不揮発性メモリに保存し、ブーティング時に、不揮発性メモリに保存された書き込み回数を復元し、各ページの寿命情報に基づいてメインメモリに対するメモリ割り当てを行うことができる。
制御部は、磨耗されたページをブラックリストに登録して管理し、ブラックリストを不揮発性メモリに保存し、ブーティング時に、不揮発性メモリに保存されたブラックリストを復元して利用できる。
制御部は、書き込み回数が臨界値以上を超えたページに書き込みが発生すれば、ページフォールトを発生させ、ページフォールトが発生したページのコンテンツを他のフリーページにコピーし、フォールトが発生したページの物理アドレスとマッピングされていた仮想アドレスが、新たに割り当てしたページに対する物理アドレスとマッピングされるようにページテーブルを変更することができる。
制御部は、メモリ割り当て時にページフォールトが発生したページにメモリ割り当てが行われないように制御することができる。
制御部は、バイナリーツリーデータ構造に基づいたバディ割り当てアルゴリズムを用いてメモリを割り当てる場合、バイナリーツリーデータ構造上の一つのノードにページフォールトが発生すれば、ページフォールトが発生したノード及びページフォールトが発生したノードの少なくとも一つの上位ノードをマーキングし、少なくとも一つのノードの大きさによるページ割り当てが要請されて連続空間を割り当てしなければならない場合、マーキングされたノードに対応するページは割り当てられないようにできる。
ページテーブルは、ページ単位より大きなスーパーセクション単位で仮想アドレスに対応する物理アドレスを管理する第1階層ページテーブル及びページ単位で仮想アドレスに対応する物理アドレスを管理する第2階層ページテーブルを含み、第1階層ページテーブルのエントリーは、各スーパーセクションの残りの書き込み回数情報を含み、第2階層ページテーブルのエントリーは、当該ページの残りの書き込み回数情報を含みうる。
ページテーブルは、ページ単位で仮想アドレスに対応する物理アドレス情報を含む第2階層ページテーブルエントリーの位置を指示する第1階層ページテーブル及び第2階層ページテーブルを含み、第2階層ページテーブルエントリーは、当該ページの残りの書き込み回数情報を含みうる。
ページテーブルエントリーは、ページテーブルエントリーに含まれた値の種類を表わす識別子情報を含み、識別子情報は、ページテーブルエントリーが寿命情報が保存された他のメモリの保存位置を指示するポインター情報を表わすか、または寿命情報自体を表わすかを区別するための情報であり得る。
一つのページが、2つ以上のプロセスによって共有される場合、寿命情報は、共有されるページの寿命情報を保存する他のメモリのポインター情報を表わし、一つのページが、一つのプロセスによってのみ使われる場合、寿命情報は、寿命情報自体を表わすことができる。
制御部は、2つ以上のプロセスによって共有されたページが共有されない場合、寿命情報が表わすポインターが指示している他のメモリに保存された寿命情報を共有されたページのページテーブルエントリーの寿命情報を記録した寿命フィールドにコピーし、共有されていないページが2つ以上のプロセスによって共有される場合、共有されていないページの寿命フィールドの値を他のメモリの所定の位置にコピーして、寿命フィールドには、コピーされた位置を指示するポインター情報を記録することができる。
本発明の他の態様によるNVRAMを含むメインメモリと、メインメモリを制御する制御部と、を含むメモリシステムの磨耗度管理方法であって、NVRAMの仮想アドレスと物理アドレスのマッピング情報を含むページテーブルエントリーは、ページの磨耗度を表わす寿命情報を含む。各ページにデータが書き込まれる度に、書き込まれるページに対応するページテーブルエントリーに記載の寿命情報に残りの書き込み回数情報を指示する値を減少させることで磨耗度が管理される。
本発明の一実施形態によるメモリシステムを示すブロック図である。 本発明の一実施形態によるページテーブル構造を示す図である。 本発明の一実施形態によるページが共有されない場合の寿命フィールドを示す図である。 本発明の一実施形態によるページが複数個のプロセスによって共有される場合の寿命フィールドを示す図である。 本発明の一実施形態によるメモリシステムの磨耗度管理方法を示すフローチャートである。 本発明の一実施形態によるメモリ割り当て途中にページフォールトが発生した場合のフォールトを処理する方法を示すフローチャートである。
以下、添付した図面を参照して、本発明の一実施形態を詳しく説明する。本発明を説明するに当って、関連した公知機能または構成についての具体的な説明が、本発明の要旨を不明にする恐れがあると判断される場合には、その詳細な説明を省略する。また、後述する用語は、本発明での機能を考慮して定義された用語であって、これは、ユーザ、運用者の意図または慣例などによって変わりうる。したがって、その定義は、本明細書全般に亘った内容に基づいて下されなければならない。
図1は、本発明の一実施形態によるメモリシステムを示すブロック図である。
本発明の一実施形態によるメモリシステム100は、制御部110、メインメモリ120及び不揮発性メモリ130を含む。実線は、データ及び命令が伝達されるシステムバスを表わす。
制御部110は、CPU(Central Processing Unit)またはマイクロコントローラ(Microcontroller)などで構成することができる。
本発明の一実施形態によるメインメモリ120は、制御部110と直接データを交換することができるメモリであって、制御部110でオペレーティングシステム(OS)またはアプリケーションの実行過程で利用されるメモリである。メインメモリ120は、NVRAM及びDRAMを含む。
制御部110の動作のうち、OSが使う目的でDRAMにメモリ割り当てがなされる。したがって、ページテーブル及びNVRAMのメモリ割り当てに使われるデータは、OSが使うデータであるので、DRAMに保存される。NVRAMのメモリ割り当てに使われるデータは、例えば、バディアロケーションアルゴリズム遂行時に使われるバイナリーツリーを含む。
一般のユーザアプリケーションに対するプロセスは、OSにメモリ割り当てを要請する時、DRAMにメモリ割り当てを要請するか、NVRAMにメモリ割り当てを要請するかどうかを明示してメモリ割り当てを要請することができる。
不揮発性メモリ130は、電源供給が中断された場合にも、不揮発性メモリ130に保存されたデータは消滅されず、データを保存するために使われる。不揮発性メモリ130に保存されたデータは、メインメモリ110にロードされた後、制御部110によって処理される。不揮発性メモリ130は、フラッシュメモリ、ハードディスクなどで構成することができる。
制御部110は、MMU(Memory Management Unit)112、メモリ割り当て部114及びAPFハンドラー(Aging Page Fault handler)116を含む。制御部110は、他の機能部を追加的に含むことができ、MMU112、メモリ割り当て部114及びAPFハンドラー116の機能ユニットの細部機能は、他の機能ユニットで行われるなど制御部110の構造は多様に変形されうる。
MMU112は、制御部110に存在する回路であって、制御部110が参照するメモリ領域の仮想アドレスを物理アドレスに変換する装置である。MMU112は、各仮想メモリページが如何なる物理メモリページにマッピングされるかを記録しているページテーブルを参照して、仮想アドレスを物理アドレスに変換する。
本発明の一実施形態によるページテーブルエントリー(pte)は、ページの磨耗度を表わす寿命(年齢)情報(aging information)を含む。ページテーブルエントリーは、寿命情報を直接含みうる。または寿命情報は、寿命情報が保存されたメモリの位置を示すポインター情報としてページテーブルエントリーに含まれうる。寿命(age)を管理する単位は、ページである。すなわち、各ページ内のあらゆるバイトは、いずれも同じ寿命年齢を有する。
ページテーブルエントリーは、寿命情報を含む寿命フィールドを含みうる。ページテーブルエントリー寿命情報は、各ページの耐久限度(endurance limit)に到逹するまで使うことができる回数である残りの書き込み回数(number of remaining write operations permitted forthe page)を表わす情報であり得る。
MMU112は、メモリ領域に書き込み作業が発生する場合、当該メモリ領域の寿命情報を管理する。MMU112は、所定のページに書き込み動作が発生する場合、当該ページに対するページエントリーに含まれた寿命情報の値を減少させることによって、寿命情報を更新することができる。
例えば、寿命フィールドの初期値は、ページテーブルエントリーの初期化時になされるが、NVRAMの耐久限度はαと定めることができる。ここで、αは正の整数であって、OSが定める整数値であるが、この値は、ページの耐久限度に到逹する前に、あらかじめ書き込みを遮断する目的として使われる。すなわち、所定のページのページテーブルエントリーには、初期値でαである残りの書き込み回数情報が記録され、当該ページにデータが書き込まれる度に、αが1ずつ減少してαが0になるまでデータを記録することができる。
MMU112は、保存命令が行われる度に、ページの寿命情報をアップデートするものではなく、実際メモリのページ書き込みが起きる時点に当該ページに対応するページテーブルエントリーの寿命フィールドの寿命情報を1減少させることができる。すなわち、制御部110が保存命令を行うとしても、CPUキャッシュ上にキャッシングされているならば、即座にメモリに書き込むものではなく、キャッシュ内容を修正するだけである。この際、保存命令は、バイト、ワード、多重ワード単位などで行われうる。
制御部110は、電源をオフにする動作前に、各ページの寿命情報を不揮発性メモリ130に保存し、ブーティング時に、不揮発性メモリ130に保存された書き込み回数を復元し、各ページの寿命情報に基づいてメインメモリ120に対するメモリ割り当てを行うことができる。また、制御部110は、寿命フィールドの値がそれ以上書き込みができない磨耗されたページ情報を含むブラックリストを生成及び管理することができる。制御部110は、ブラックリストを不揮発性メモリ130に保存し、ブーティング時に、不揮発性メモリ130に保存されたブラックリストを復元することができる。
メモリ割り当て部114は、コンピュータプログラムを行うために必要なメモリを割り当てる。一実施形態によれば、メモリ割り当て部114は、NVRAMにメモリ割り当て時にバディアロケーションアルゴリズム(buddy allocation algorithm)によってメモリを割り当てることができる。
一方、制御部110は、書き込み回数が臨界値以上を超えたページに書き込みが発生すれば、ページフォールト(aging page fault)を発生させ、ページフォールトが発生したページが使われないように制御することができる。詳細には、ページに書き込みが発生する時、MMU112は、このページの寿命が一定の臨界値を超える場合、APFハンドラー116にジャンプする。例えば、MMU112は、ページにデータが書き込まれる度に、寿命情報の値を一つずつ減少させ、これが0に落ちれば、APFを発生させる。
APFハンドラー116は、ページフォールトが発生すれば、ページフォールトが発生したページに対してフォールト処理を行う。通常のAPFハンドラー116は、OSに含まれて行われる。APFハンドラー116は、ページフォールトが発生したページの内容を他のフリーページにコピーし、MMU112は、ページフォールトの物理アドレスとマッピングされていた仮想アドレスが、新たに割り当てしたページに対する物理アドレスとマッピングされるようにページテーブルを変更することができる。
以下、メモリ割り当て部114がバディアロケーションアルゴリズムによってメモリを割り当てる方法について説明する。
バディアロケーションアルゴリズムは、メモリ領域を2個のページを有する領域に分割して管理する方式である。バディアロケーションアルゴリズムでは、全体メモリを一つのブロックとして見なして、要請に合うブロックが発見されるまで各ブロックを二つに分割(split)することを反復して割り当てを処理し、割り当てによって二つに分けられたブロックがいずれも解除されれば、再び元の一つのブロックに併合することを反復する方式でメモリ割り当てを処理する。バディアロケーションアルゴリズムは、バイナリーツリーデータ構造またはハッシュテーブル資料構造に基づいてページを割り当てることができる。ここで、二つに分けられて以後に再び合わせられる対象となるブロックは、互いにバディ(buddy)と見なされる。
バディアロケーションアルゴリズムが、バイナリーツリーデータ構造に基づく場合を中心に説明する。この場合、バイナリーツリーデータ構造でツリーの各ノードは、2個のページに対応する。バイナリーツリーデータ構造で所定の親(parent)ノードが2のページに対応する場合、当該親ノードの子(child)ノードは、2のページに含まれた2k−1のページに対応する。また、バディは、バディシステムの割り当てツリー空間上で兄弟(Sibling)に該当するノードを意味する。
各ノードには、ノードについての情報が含まれる。ノードについての情報は、当該ノードに含まれるページの個数、バディノード識別情報、ノードに含まれるページのページフォールトが発生したページの個数、当該ノードの子ノード識別情報、当該ノードの親ノード識別情報、当該ノードについてのページが分割されたのかを表わす情報を含みうる。
メモリ割り当て時にページは、物理的に連続した空間への配置如何についての情報もともに入ると仮定する。外部装置とのインターフェースのために使われる場合のように、連続的な空間割り当てが必要な場合がある。このような場合、連続空間を割り当てることができなければ、失敗になる。
個ページを割り当てる場合を説明すれば、まず、2個ページを有するノードのうち、フリーなものを捜して割り当てる。もし、そのようなノードがない場合、それより小さなサイズのノードをさらに検索するが、このようになれば、物理的に連続空間に置かれることはできなくなる。したがって、割り当て要請時に連続空間が割り当てられなければならないということが明示された場合には、2個ページを有するノードより小さなサイズのページに対応するノードは検索しない。2個ページを有するノードが検索されなければ、2個より大きなサイズのノードを検索し、当該ノードに対応するページを分割してメモリ割り当てを試みる。
一方、MMU112は、DRAMの耐久限度は寿命情報を含む寿命フィールドが表現することができる最大値、例えば、230−1に初期化され、この最大値は、毎度ブーティングする度に同じ値に初期化されることができる。したがって、DRAMで誤った寿命ページフォールトが発生する確率はほとんどない。
メモリ割り当て部114がメモリ割り当て動作を行う途中にNVRAMのページフォールトが発生すれば、APFハンドラー116は、APFを発生させたページを含むバイナリーツリー上のあらゆるノードをマーキングする。すなわち、バイナリーツリー上でページフォールトが発生したノード及びページフォールトが発生したノードの上位ノードまたは先祖(ancestor)がいずれもマーキングされる。マーキング動作は、各ノードについての情報でノードに含まれるページのページフォールトが発生したページの個数を1増加させることで具現可能である。
メモリ割り当て部114は、フォールトが発生したページは引き続きメモリ割り当てに利用しない。所定大きさの連続したメモリ空間を割り当てしなければならない場合、要請された大きさのページに対応するノードの中でマーキングされているノードは割り当てせず、連続メモリ空間である必要がなければ、マーキングされたノードの下位ノードを検索してマーキングされていない下位ノードを割り当てることができる。
メモリ割り当て部114は、OSがブーティングする時点に不揮発性メモリ130に保存されていたブラックリストを読み取って利用するために、ページフォールトが発生したページを含むバイナリーツリー上のあらゆるノードをマーキングするように、ブラックリストに登録されたページ及びそのページの先祖に対応するバイナリーノードにマーキングする。そして、マーキングされたノードは、連続した空間のメモリ割り当て時に利用しない。
前述したように、一実施形態によれば、NVRAMのページテーブルで各ページの磨耗度を表わす寿命情報を含み、各ページにデータが書き込まれる度に、寿命情報をアップデートすることによって、NVRAMがメインメモリとして使われる場合にも、バッドページが発生してシステムの破壊を防止することができる。
図2は、本発明の一実施形態によるページテーブル構造を示す図である。
ページテーブルの構成は、2つのレベルまたは3つのレベルの階層構造を有しうる。ARMv6 CPUの場合、ページディレクトリとも呼ぶ第1階層ページテーブル及びコースページテーブルと呼ぶ第2階層ページテーブルを含む。
図2で、第1階層ページテーブルのエントリーをL1 pteで表示し、第2階層ページテーブルエントリーをL2 pteで表示する。第1階層ページテーブルのエントリーは、1MB大きさのセクションまたは16MB大きさのスーパーセクションについての管理情報を表示することができる。または第1階層ページテーブルのエントリーは、第2階層ページテーブルの位置情報を含み、第2階層ページテーブルのエントリーが第1階層ページテーブルに含まれた各ページ別に管理情報を表わすことができる。
既存の32ビットプロセッサでは、通常pteの大きさが32ビットであるが、寿命フィールドは、10の耐久性を有するNVRAMを仮定する時、最小24ビットが必要である。このために、一実施形態によれば、既存のL1 pte及びL2 pteの構造を維持しながら32ビット寿命フィールドを追加して、各ページテーブルエントリーをそれぞれ64ビットに確張して利用できる。各L1 pteとL2 pteごとに32ビットの寿命フィールドが追加されて、既存の方式に比べてページテーブルの大きさは2倍になる。
整理すれば、ページテーブル構造は、ページ単位より大きなスーパーセクション単位で仮想アドレスに対応する物理アドレスを管理する第1階層ページテーブル及びページ単位で仮想アドレスに対応する物理アドレスを管理する第2階層ページテーブルを含みうる。この場合には、第1階層ページテーブルのエントリーの寿命情報(L1 pte #1 age)は、各スーパーセクションの残りの書き込み回数情報を含む。各スーパーセクションに含まれたあらゆるページの寿命情報は、同一になる。第2階層ページテーブルのエントリーの寿命情報(例えば、L2 pte #1 age)は、当該ページ(L2 pte #1)の残りの書き込み回数情報を含みうる。
また、ページテーブルは、ページ単位で仮想アドレスに対応する物理アドレス情報を含む第2階層ページテーブルエントリーの位置を指示する第1階層ページテーブル及び第2階層ページテーブルを含みうる。この場合には、第2階層ページテーブルエントリーは、ページ単位で残りの書き込み回数情報を含みうる。
このように、NVRAMに対するページテーブルエントリーにNVRAMの寿命を表わす寿命フィールドを追加し、NVRAMのページにデータが書き込まれる度に、寿命フィールドに含まれた値を減少させることによって、NVRAMがデータ書き込みが単純に記録媒体として利用される時より多いメインメモリとして利用される場合にも、NVRAMの磨耗度管理を効率的にできる。
図3Aは、本発明の一実施形態によるページが共有されない場合の寿命フィールドを示す図であり、図3Bは、ページが複数個のプロセスによって共有される場合の寿命フィールドを示す図である。
図3Aは、一つのプロセス“foo”によってページAが利用される場合のページAのページテーブルエントリーを表わす。図3Aで、ページテーブルエントリーに含まれた寿命情報(L2 pte #1 age)は、ページAの残りの書き込み回数の値を表わす。寿命情報を32ビットで表わす時、ページテーブルエントリーの寿命情報が寿命情報自体の値を表わすための識別情報として一部のビットを利用できる。図3Aでは、最下位2ビット“11”が寿命情報が寿命情報自体の値を表わすための識別情報を表わす。
図3Bは、2つのプロセス“foo”及び“bar”によってページAが共有される場合のページAのページテーブルエントリーを表わす。一つのページを多様なプロセスが共有する場合には、当該ページの残りの書き込み回数をページテーブルエントリーではない他のメモリアドレスに保存する。この場合、寿命情報は、残りの書き込み回数の値を表わさず、残りの書き込み回数情報が保存されたメモリのアドレスを示すポインター情報を含みうる。
図3Bでは、ページテーブルエントリーの寿命情報が、当該ページの実際残りの書き込み回数値を保存しているメモリのポインター情報であるということを表わすために、ビット“00”を識別情報として利用した。すなわち、プロセス“foo”及びプロセス“bar”によって利用されるページテーブルエントリーの寿命情報(L2 pte#1 age)は、ページAの実際残りの書き込み回数を保存しているメモリのポインター情報を表わす。
すなわち、一実施形態によるページテーブルエントリーは、ページテーブルエントリーに含まれた値の種類を表わす識別子情報を含みうる。識別子情報は、ページテーブルエントリーが寿命情報が保存された他のメモリの保存位置を指示するポインター情報を表わすか、または寿命情報自体を表わすかを区別するための情報であり得る。識別子情報は、図3A及び図3Bに示されたように、寿命フィールドの下位2ビットの値として表わすことができる。すなわち、寿命フィールドの下位2ビットの値によって上位30ビットに残りの書き込み回数を保存するメモリのポインターまたは残りの書き込み回数値として認識する。ポインターの場合には、00bを有し、値である場合には、11bを有しうる。
一つのページが、2つ以上のプロセスによって共有される場合、寿命情報は、共有されるページの寿命情報を保存する他のメモリのポインター情報を表わし、一つのページが、一つのプロセスによってのみ使われる場合、寿命情報は、寿命情報自体を表わすことができる。
制御部110のMMU112は、2つ以上のプロセスによって共有されたページが共有されない場合、寿命情報が表わすポインターが指示している他のメモリに保存された寿命情報を共有されたページのページテーブルエントリーの寿命情報を記録した寿命フィールドにコピーすることができる。また、共有されていないページが2つ以上のプロセスによって共有される場合、MMU112は、共有されていないページの寿命フィールドの値を他のメモリの所定の位置にコピーし、寿命フィールドには、コピーされた位置を指示するポインター情報を記録することができる。
図4は、本発明の一実施形態によるメモリシステムの磨耗度管理方法を示すフローチャートである。
本発明の一実施形態によるメモリシステムで、NVRAMの仮想アドレスと物理アドレスとのマッピング情報を含むページテーブルエントリーは、NVRAMの各ページの磨耗度を表わす寿命フィールドを含む。
メモリ割り当てによって所定のページにデータが書き込まれれば(S410)、データが書き込まれたページにデータが書き込まれる度に、寿命フィールドに含まれた各ページの残りの書き込み回数情報の値を減少させる(S420)。残りの書き込み回数が0ではなければ、すなわち、当該ページがまだ耐久限度に到逹しない場合には、メモリ割り当て要請によってページにデータが再び書き込まれることができる。
残りの書き込み回数が0になれば(S430)、当該ページは耐久限度に到逹したので、フォールトページとして処理される。ページフォールトが発生したページは、メモリ割り当てがなされないように管理される。
図5は、本発明の一実施形態によるメモリ割り当て途中にページフォールトが発生した場合のフォールトを処理する方法を示すフローチャートである。
メモリ割り当て途中にページフォールトが発生すれば(S510)、APFハンドラー116は、まず、APFを発生させたページを含むあらゆるノード、すなわち、バイナリーツリー上でページフォールトが発生したノード及びページフォールトが発生したノードの先祖をいずれもマーキングする(S512)。
ページフォールトが発生したページが連続空間内のページであるか否かを決定する(S514)。
連続空間内のページである場合(S514)、APFハンドラー116は、連続空間を割り当てることができる他のフリーノードを検索して(S516)、該検索されたフリーノードに対応するページを再割り当てる(S518)。この際、APFを発生させたページを含んでいるノードを使わない。すなわち、APFを発生させたページとそれを含むノードとをいずれもマーキングされるが、フリーノードを捜す過程でマーキングされたノードはスキップすることによって、APFを発生させたことのないページにのみ構成されるフリーページを選択する。
その後、連続空間内のコンテンツを再割り当てられたページにコピーする(S520)。フォールトページの内容が他のフリーページにコピーされてページ再割り当てが行われれば、MMU112は、再割り当てしたページを示せるようにページテーブルを変更する(S528)。
連続空間内のページではない場合(S522)、APFハンドラー116は、このページ一つのみ他のフリーページに再割り当てし(S524)、既存ページの内容を再割り当てしたページにコピーする(S526)。フォールトページの内容が他のフリーページにコピーされてページ再割り当てが行われれば、MMU112は、再割り当てしたページを示せるようにページテーブルを変更する(S528)。
本発明の一態様は、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現可能である。前記のプログラムを具現するコード及びコードセグメントは、当該分野のコンピュータプログラマーによって容易に推論されうる。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取れるデータが保存されるあらゆる種類の記録装置を含む。コンピュータで読み取り可能な記録媒体の例としては、ROM、RAM、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光ディスクなどを含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードに保存されて実行可能である。
以上、本発明の一実施形態に過ぎず、当業者ならば、本発明の本質的特性から外れない範囲で変形された形態として具現することができる。したがって、本発明の範囲は、前述した実施形態に限定されず、特許請求の範囲に記載の内容と同等な範囲内にある多様な実施形態が含まれるように解析されなければならない。
本発明は、メモリシステム及びその磨耗度管理方法関連の技術分野に適用可能である。

Claims (18)

  1. NVRAMを含むメインメモリと、
    前記メインメモリを制御する制御部と、を含み、
    前記制御部は、前記NVRAMの仮想アドレス及び物理アドレスのマッピング情報を含むページテーブルを管理し、ページテーブルエントリーは、ページの磨耗度を表わす寿命情報を含み、
    前記ページテーブルエントリーは、さらに、前記ページテーブルエントリーに含まれた値の種類を表わす識別子情報を含み、
    前記識別子情報は、前記ページテーブルエントリーが、寿命情報が保存された他のメモリの保存位置を指示するポインター情報を表わすか、または前記寿命情報自体を表わすかを区別するための情報である、
    ことを特徴とするメモリシステム。
  2. 前記寿命情報は、ページについての残りの書き込み回数情報を表わし、
    前記制御部は、前記各ページにデータが書き込まれる度に、前記書き込まれるページに対応するページテーブルエントリーに記載の残りの書き込み回数情報を指示する値を減少させることを特徴とする請求項1に記載のメモリシステム。
  3. 前記制御部によって制御される不揮発性メモリをさらに含み、
    前記制御部は、電源をオフにする動作前に、各ページの寿命情報を前記不揮発性メモリに保存し、ブーティング時に、前記不揮発性メモリに保存された書き込み回数を復元し、前記各ページの寿命情報に基づいて、前記メインメモリに対するメモリ割り当てを行うことを特徴とする請求項1に記載のメモリシステム。
  4. 前記制御部は、磨耗されたページをブラックリストに登録して管理し前記ブラックリストを不揮発性メモリに保存し、ブーティング時に、前記不揮発性メモリに保存されたブラックリストを復元して利用することを特徴とする請求項1に記載のメモリシステム。
  5. 前記制御部は、書き込み回数が臨界値以上を超えて耐久限度に到達されたページに書き込みが発生すれば、ページフォールトを発生させ、ページフォールトが発生したページのコンテンツを他のフリーページにコピーし、前記ページフォールトが発生したページの物理アドレスとマッピングされていた仮想アドレスが、新たに割り当てしたページに対する物理アドレスとマッピングされるようにページテーブルを変更することを特徴とする請求項1に記載のメモリシステム。
  6. 前記制御部は、書き込み回数が臨界値以上を超えて耐久限度に到達されたページに書き込みが発生すれば、ページフォールトを発生させ、ページフォールトが発生したページにメモリ割り当てが行われないように制御することを特徴とする請求項1に記載のメモリシステム。
  7. 前記制御部は、バイナリーツリーデータ構造に基づいたバディ割り当てアルゴリズムを用いてメモリを割り当てる場合、バイナリーツリーデータ構造上の一つのノードにページフォールトが発生すれば、前記ページフォールトが発生したノード及び前記ページフォールトが発生したノードの少なくとも一つの上位ノードをマーキングし、
    前記少なくとも一つのノードの大きさによるページ割り当てが要請されて連続空間を割り当てしなければならない場合、前記マーキングされたノードに対応するページは割り当てられないようにすることを特徴とする請求項6に記載のメモリシステム。
  8. 前記ページテーブルは、ページ単位より大きなスーパーセクション単位で仮想アドレスに対応する物理アドレスを管理する第1階層ページテーブル及び前記ページ単位で仮想アドレスに対応する物理アドレスを管理する第2階層ページテーブルを含み、
    第1階層ページテーブルエントリーは、前記各スーパーセクションの残りの書き込み回数情報を含み、
    第2階層ページテーブルエントリーは、当該ページの残りの書き込み回数情報を含むことを特徴とする請求項1に記載のメモリシステム。
  9. 前記ページテーブルは、ページ単位で仮想アドレスに対応する物理アドレス情報を含む第2階層ページテーブルエントリーの位置を指示する第1階層ページテーブル及び前記第2階層ページテーブルを含み、
    前記第2階層ページテーブルエントリーは、当該ページの残りの書き込み回数情報を含むことを特徴とする請求項1に記載のメモリシステム。
  10. 一つのページが、2つ以上のプロセスによって共有される場合、前記寿命情報は、前記共有されるページの寿命情報を保存する他のメモリのポインター情報を表わし、
    一つのページが、一つのプロセスによってのみ使われる場合、前記寿命情報は、前記寿命情報自体を表わすことを特徴とする請求項に記載のメモリシステム。
  11. 前記制御部は、2つ以上のプロセスによって共有されたページが共有されない場合、前記寿命情報が表わす前記ポインターが指示している他のメモリに保存された寿命情報を前記共有されたページのページテーブルエントリーの寿命情報を記録した寿命フィールドにコピーし、
    共有されていないページが2つ以上のプロセスによって共有される場合、前記共有されていないページの寿命フィールドの値を他のメモリの所定の位置にコピーし、前記寿命フィールドには、前記コピーされた位置を指示するポインター情報を記録することを特徴とする請求項10に記載のメモリシステム。
  12. NVRAMを含むメインメモリと、
    前記メインメモリを制御する制御部と、を含むメモリシステムの磨耗度管理方法であって、
    前記NVRAMの仮想アドレスと物理アドレスのマッピング情報を含むページテーブルエントリーは、ページの磨耗度を表わす寿命情報を含み、
    前記各ページにデータが書き込まれる度に、前記書き込まれるページに対応するページテーブルエントリーに記載の前記寿命情報に含まれた残りの書き込み回数情報を指示する値を減少させることで磨耗度を管理し、
    前記ページテーブルエントリーは、さらに、前記ページテーブルエントリーに含まれた値のタイプを表わす識別子情報を含み、
    前記識別子情報は、前記ページテーブルエントリーが、寿命情報を保存するメモリのポインター情報を表わすか、または前記寿命情報自体を表わすかどうかを指示する情報である、
    ことを特徴とする方法。
  13. 電源をオフにする動作前に、各ページの寿命情報を不揮発性メモリに保存する段階と、
    ブーティング時に、前記不揮発性メモリに保存された書き込み回数を復元する段階と、
    前記復元された各ページの寿命情報に基づいてメモリを割り当てる段階と、
    をさらに含むことを特徴とする請求項12に記載の方法。
  14. 前記残りの書き込み回数情報が臨界値以下である磨耗されたページをブラックリストに登録して管理する段階をさらに含むことを特徴とする請求項12に記載の方法。
  15. 書き込み回数が臨界値以上を超えたページに書き込みが発生すれば、ページフォールトを発生させる段階と、
    ページフォールトが発生したページの内容を他のフリーページにコピーする段階と、
    前記ページフォールトが発生したページの物理アドレスとマッピングされていた仮想アドレスが、新たに割り当てしたページに対する物理アドレスとマッピングされるようにページテーブルを変更する段階と、
    を含むことを特徴とする請求項12に記載の方法。
  16. 前記寿命情報に基づいてメモリを割り当てる段階をさらに含み、
    前記メモリを割り当てる段階で、書き込み回数が臨界値以上を超えたページに書き込みが発生すれば、ページフォールトを発生させ、ページフォールトが発生したページは、メモリ割り当てに利用されないことを特徴とする請求項12に記載の方法。
  17. 前記メモリを割り当てる段階は、
    バイナリーツリーデータ構造に基づいたバディ割り当てアルゴリズムを用いてメモリを割り当てる場合、バイナリーツリーデータ構造上の一つのノードにページフォールトが発生すれば、前記ページフォールトが発生したノード及び前記ページフォールトが発生したノードの少なくとも一つの上位ノードをマーキングする段階と、
    前記少なくとも一つのノードの大きさによるページ割り当てが要請され、前記要請が連続空間の割り当てであるか否かを決定する段階と、をさらに含み、
    前記少なくとも一つのノードの大きさによるページ割り当てが要請されて連続空間割り当てである場合、前記マーキングされたノードに対応するページは割り当てられないようにすることを特徴とする請求項16に記載の方法。
  18. 一つのページが、2つ以上のプロセスによって共有される場合、前記識別子情報は、前記共有されるページの寿命情報を保存するメモリのポインター情報を表わし、
    一つのページが、一つのプロセスによってのみ使われる場合、前記寿命情報は、前記寿命情報自体を表わすことを特徴とする請求項12に記載の方法。
JP2010025696A 2009-02-10 2010-02-08 メモリシステム及びその磨耗度管理方法 Expired - Fee Related JP5607943B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090010775A KR20100091544A (ko) 2009-02-10 2009-02-10 메모리 시스템 및 그 마모도 관리 방법
KR10-2009-0010775 2009-02-10

Publications (2)

Publication Number Publication Date
JP2010186477A JP2010186477A (ja) 2010-08-26
JP5607943B2 true JP5607943B2 (ja) 2014-10-15

Family

ID=42101774

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010025696A Expired - Fee Related JP5607943B2 (ja) 2009-02-10 2010-02-08 メモリシステム及びその磨耗度管理方法

Country Status (5)

Country Link
US (1) US20100205363A1 (ja)
EP (1) EP2221830A1 (ja)
JP (1) JP5607943B2 (ja)
KR (1) KR20100091544A (ja)
CN (1) CN101799784A (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101145144B1 (ko) * 2010-11-23 2012-05-14 한국과학기술정보연구원 가상머신 스케줄링 방법 및 시스템
KR101180406B1 (ko) 2011-01-28 2012-09-10 에스케이하이닉스 주식회사 비휘발성 메모리 시스템 및 블럭 관리 방법
JP5664347B2 (ja) * 2011-03-04 2015-02-04 ソニー株式会社 仮想メモリシステム、仮想メモリの制御方法、およびプログラム
US9003247B2 (en) 2011-04-28 2015-04-07 Hewlett-Packard Development Company, L.P. Remapping data with pointer
US8924632B2 (en) * 2011-09-16 2014-12-30 Apple Inc. Faster tree flattening for a system having non-volatile memory
CN103946811B (zh) 2011-09-30 2017-08-11 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
US9529708B2 (en) * 2011-09-30 2016-12-27 Intel Corporation Apparatus for configuring partitions within phase change memory of tablet computer with integrated memory controller emulating mass storage to storage driver based on request from software
EP2761476B1 (en) 2011-09-30 2017-10-25 Intel Corporation Apparatus, method and system that stores bios in non-volatile random access memory
US20130097403A1 (en) 2011-10-18 2013-04-18 Rambus Inc. Address Mapping in Memory Systems
CN103975287B (zh) * 2011-12-13 2017-04-12 英特尔公司 使用非易失性随机存取存储器的服务器中的增强系统睡眠状态支持
JP2013131893A (ja) * 2011-12-21 2013-07-04 Sumitomo Electric Ind Ltd 光通信モジュール、光通信モジュールのログ記録方法および光通信装置
US9390025B2 (en) 2011-12-30 2016-07-12 Rambus Inc. Wear leveling in a memory system
KR101368834B1 (ko) * 2012-03-08 2014-03-04 한양대학교 산학협력단 내구도를 복수의 단계로 구분하는 플래시 메모리 제어장치
US9009392B2 (en) 2012-04-25 2015-04-14 International Business Machines Corporation Leveraging a hybrid infrastructure for dynamic memory allocation and persistent file storage
JP2013254357A (ja) 2012-06-07 2013-12-19 Sony Corp 情報処理装置および方法、並びにプログラム
CN102765256B (zh) * 2012-06-21 2014-07-16 珠海艾派克微电子有限公司 记录芯片使用状态信息的方法、成像盒的芯片及成像盒
KR101987740B1 (ko) 2012-07-09 2019-06-11 에스케이하이닉스 주식회사 불휘발성 메모리 장치의 채널 특성을 추정하기 위한 방법
KR102060996B1 (ko) * 2013-01-07 2020-02-11 삼성전자주식회사 단말기의 메모리 주소 및 데이터변환 장치 및 방법
KR102015053B1 (ko) 2013-02-20 2019-08-27 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 데이터 처리 방법
US8924824B1 (en) 2013-03-12 2014-12-30 Western Digital Technologies, Inc. Soft-decision input generation for data storage systems
CN103123609B (zh) * 2013-03-13 2015-07-15 中国科学院上海微系统与信息技术研究所 存储器的分块管理方法
JP6399755B2 (ja) * 2014-01-06 2018-10-03 キヤノン株式会社 ミラーリング装置及びその制御方法
JP2016085677A (ja) * 2014-10-28 2016-05-19 富士通株式会社 メモリ管理方法、メモリ管理プログラム及び情報処理装置
CN105117285B (zh) * 2015-09-09 2019-03-19 重庆大学 一种基于移动虚拟化系统的非易失性存储器调度优化方法
KR102039776B1 (ko) * 2016-11-11 2019-11-01 명지대학교 산학협력단 메모리의 주소 공간 난수화 장치 및 방법
US12111756B2 (en) * 2021-05-28 2024-10-08 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for wear-level aware memory allocation

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0391852A (ja) * 1989-09-05 1991-04-17 Mitsubishi Electric Corp Eepromのデータ書き込み防止回路
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5432917A (en) * 1992-04-22 1995-07-11 International Business Machines Corporation Tabulation of multi-bit vector history
JPH0778766B2 (ja) * 1992-09-25 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレイション ランダム・アクセス可能かつ書換え可能メモリを用いる外部記憶装置におけるプログラム直接実行の制御方法および装置
US5963970A (en) * 1996-12-20 1999-10-05 Intel Corporation Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields
US5930829A (en) * 1997-03-31 1999-07-27 Bull Hn Information Systems Inc. Dynamic memory allocation for a random access memory employing separately stored space allocation information using a tree structure
US6496912B1 (en) * 1999-03-25 2002-12-17 Microsoft Corporation System, method, and software for memory management with intelligent trimming of pages of working sets
US6405323B1 (en) * 1999-03-30 2002-06-11 Silicon Storage Technology, Inc. Defect management for interface to electrically-erasable programmable read-only memory
US7660941B2 (en) * 2003-09-10 2010-02-09 Super Talent Electronics, Inc. Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories
US7886108B2 (en) * 2000-01-06 2011-02-08 Super Talent Electronics, Inc. Methods and systems of managing memory addresses in a large capacity multi-level cell (MLC) based flash memory device
US8341332B2 (en) * 2003-12-02 2012-12-25 Super Talent Electronics, Inc. Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
US8171204B2 (en) * 2000-01-06 2012-05-01 Super Talent Electronics, Inc. Intelligent solid-state non-volatile memory device (NVMD) system with multi-level caching of multiple channels
US6345001B1 (en) * 2000-09-14 2002-02-05 Sandisk Corporation Compressed event counting technique and application to a flash memory system
US6732221B2 (en) * 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
KR100484147B1 (ko) * 2002-07-26 2005-04-18 삼성전자주식회사 플래시 메모리 관리 방법
CN100483552C (zh) * 2002-10-28 2009-04-29 桑迪士克股份有限公司 在非易失性存储系统中执行自动磨损平衡的方法
JP3808842B2 (ja) * 2003-04-25 2006-08-16 株式会社東芝 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
JP4281421B2 (ja) * 2003-06-06 2009-06-17 ソニー株式会社 情報処理システム及びその制御方法、並びにコンピュータ・プログラム
US7089370B2 (en) * 2003-09-30 2006-08-08 International Business Machines Corporation Apparatus and method for pre-fetching page data using segment table data
US8112574B2 (en) * 2004-02-26 2012-02-07 Super Talent Electronics, Inc. Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes
CN1926616B (zh) * 2004-01-19 2011-09-14 特科2000国际有限公司 使用存储器地址映射表的便携式数据存储设备
US7869219B2 (en) * 2004-01-20 2011-01-11 Super Talent Electronics, Inc. Flash drive with spring-loaded retractable connector
US7224604B2 (en) * 2005-03-14 2007-05-29 Sandisk Il Ltd. Method of achieving wear leveling in flash memory using relative grades
JP5130646B2 (ja) * 2005-06-06 2013-01-30 ソニー株式会社 記憶装置
KR100755700B1 (ko) * 2005-12-27 2007-09-05 삼성전자주식회사 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법
KR100881669B1 (ko) * 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
JP2008158773A (ja) * 2006-12-22 2008-07-10 Toshiba Corp 情報処理装置およびメモリ管理方法
KR100857761B1 (ko) * 2007-06-14 2008-09-10 삼성전자주식회사 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법
US7757035B2 (en) * 2007-06-26 2010-07-13 Intel Corporation Method for optimizing virtualization technology and memory protections using processor-extensions for page table and page directory striping
KR101401560B1 (ko) * 2007-12-13 2014-06-03 삼성전자주식회사 반도체 메모리 시스템 및 그것의 마모도 관리 방법
KR101437123B1 (ko) * 2008-04-01 2014-09-02 삼성전자 주식회사 메모리 시스템 및 그것의 마모도 관리 방법

Also Published As

Publication number Publication date
JP2010186477A (ja) 2010-08-26
CN101799784A (zh) 2010-08-11
EP2221830A1 (en) 2010-08-25
US20100205363A1 (en) 2010-08-12
KR20100091544A (ko) 2010-08-19

Similar Documents

Publication Publication Date Title
JP5607943B2 (ja) メモリシステム及びその磨耗度管理方法
TWI700586B (zh) 計算機系統及儲存裝置之控制方法
US11467955B2 (en) Memory system and method for controlling nonvolatile memory
CN109726139B (zh) 存储器系统及控制方法
TWI460588B (zh) Memory management device and memory information processing device
JP3906825B2 (ja) 計算機システム、計算機システム起動方法およびプログラム
KR101612922B1 (ko) 메모리 시스템 및 메모리 시스템 관리 방법
JP5071798B2 (ja) 計算機システム,メモリ管理方法,およびそのプログラム
KR100672996B1 (ko) 메타 데이터가 저장되는 에프램을 포함하는 메모리 장치
JP2007199905A (ja) 半導体記憶装置の制御方法
TW202230110A (zh) 記憶體系統及控制方法
JP2011186555A (ja) メモリ管理装置及び方法
JP2011186561A (ja) メモリ管理装置
WO2024099448A1 (zh) 内存释放、内存恢复方法、装置、计算机设备及存储介质
JP2011186562A (ja) メモリ管理装置及び方法
JP2011186563A (ja) メモリ管理装置およびメモリ管理方法
JP2019144921A (ja) 情報処理装置及び情報処理方法
JP2011186558A (ja) メモリ管理装置及び方法
JP2011186554A (ja) メモリ管理装置及び方法
JP2018120346A (ja) 情報処理システムおよび情報処理システムの制御方法
JP2013109404A (ja) 情報処理装置
JP2011186559A (ja) メモリ管理装置
Wang et al. SCMKV: A Lightweight Log-Structured Key-Value Store on SCM
JP2011186557A (ja) メモリ管理装置及び方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140512

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140829

R150 Certificate of patent or registration of utility model

Ref document number: 5607943

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees