JP2007220101A - ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法および装置 - Google Patents

ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法および装置 Download PDF

Info

Publication number
JP2007220101A
JP2007220101A JP2007022622A JP2007022622A JP2007220101A JP 2007220101 A JP2007220101 A JP 2007220101A JP 2007022622 A JP2007022622 A JP 2007022622A JP 2007022622 A JP2007022622 A JP 2007022622A JP 2007220101 A JP2007220101 A JP 2007220101A
Authority
JP
Japan
Prior art keywords
data
space
block
change frequency
nonvolatile memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP2007022622A
Other languages
English (en)
Inventor
Hee-Sub Shin
喜 燮 申
Moon-Sang Kwon
們 相 權
Chan-Kyu Kim
讚 奎 金
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 JP2007220101A publication Critical patent/JP2007220101A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F17STORING OR DISTRIBUTING GASES OR LIQUIDS
    • F17CVESSELS FOR CONTAINING OR STORING COMPRESSED, LIQUEFIED OR SOLIDIFIED GASES; FIXED-CAPACITY GAS-HOLDERS; FILLING VESSELS WITH, OR DISCHARGING FROM VESSELS, COMPRESSED, LIQUEFIED, OR SOLIDIFIED GASES
    • F17C3/00Vessels not under pressure
    • F17C3/02Vessels not under pressure with provision for thermal insulation
    • F17C3/025Bulk storage in barges or on ships
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25BTOOLS OR BENCH DEVICES NOT OTHERWISE PROVIDED FOR, FOR FASTENING, CONNECTING, DISENGAGING OR HOLDING
    • B25B11/00Work holders not covered by any preceding group in the subclass, e.g. magnetic work holders, vacuum work holders
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63BSHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING 
    • B63B25/00Load-accommodating arrangements, e.g. stowing, trimming; Vessels characterised thereby
    • B63B25/02Load-accommodating arrangements, e.g. stowing, trimming; Vessels characterised thereby for bulk goods
    • B63B25/08Load-accommodating arrangements, e.g. stowing, trimming; Vessels characterised thereby for bulk goods fluid
    • B63B25/12Load-accommodating arrangements, e.g. stowing, trimming; Vessels characterised thereby for bulk goods fluid closed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B63SHIPS OR OTHER WATERBORNE VESSELS; RELATED EQUIPMENT
    • B63BSHIPS OR OTHER WATERBORNE VESSELS; EQUIPMENT FOR SHIPPING 
    • B63B35/00Vessels or similar floating structures specially adapted for specific purposes and not otherwise provided for
    • B63B35/44Floating buildings, stores, drilling platforms, or workshops, e.g. carrying water-oil separating devices
    • B63B2035/4486Floating storage vessels, other than vessels for hydrocarbon production and storage, e.g. for liquid cargo
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F17STORING OR DISTRIBUTING GASES OR LIQUIDS
    • F17CVESSELS FOR CONTAINING OR STORING COMPRESSED, LIQUEFIED OR SOLIDIFIED GASES; FIXED-CAPACITY GAS-HOLDERS; FILLING VESSELS WITH, OR DISCHARGING FROM VESSELS, COMPRESSED, LIQUEFIED, OR SOLIDIFIED GASES
    • F17C2209/00Vessel construction, in particular methods of manufacturing
    • F17C2209/22Assembling processes
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F17STORING OR DISTRIBUTING GASES OR LIQUIDS
    • F17CVESSELS FOR CONTAINING OR STORING COMPRESSED, LIQUEFIED OR SOLIDIFIED GASES; FIXED-CAPACITY GAS-HOLDERS; FILLING VESSELS WITH, OR DISCHARGING FROM VESSELS, COMPRESSED, LIQUEFIED, OR SOLIDIFIED GASES
    • F17C2221/00Handled fluid, in particular type of fluid
    • F17C2221/03Mixtures
    • F17C2221/032Hydrocarbons
    • F17C2221/033Methane, e.g. natural gas, CNG, LNG, GNL, GNC, PLNG
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F17STORING OR DISTRIBUTING GASES OR LIQUIDS
    • F17CVESSELS FOR CONTAINING OR STORING COMPRESSED, LIQUEFIED OR SOLIDIFIED GASES; FIXED-CAPACITY GAS-HOLDERS; FILLING VESSELS WITH, OR DISCHARGING FROM VESSELS, COMPRESSED, LIQUEFIED, OR SOLIDIFIED GASES
    • F17C2223/00Handled fluid before transfer, i.e. state of fluid when stored in the vessel or before transfer from the vessel
    • F17C2223/01Handled fluid before transfer, i.e. state of fluid when stored in the vessel or before transfer from the vessel characterised by the phase
    • F17C2223/0146Two-phase
    • F17C2223/0153Liquefied gas, e.g. LPG, GPL
    • F17C2223/0161Liquefied gas, e.g. LPG, GPL cryogenic, e.g. LNG, GNL, PLNG
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F17STORING OR DISTRIBUTING GASES OR LIQUIDS
    • F17CVESSELS FOR CONTAINING OR STORING COMPRESSED, LIQUEFIED OR SOLIDIFIED GASES; FIXED-CAPACITY GAS-HOLDERS; FILLING VESSELS WITH, OR DISCHARGING FROM VESSELS, COMPRESSED, LIQUEFIED, OR SOLIDIFIED GASES
    • F17C2270/00Applications
    • F17C2270/01Applications for fluid transport or storage
    • F17C2270/0102Applications for fluid transport or storage on or in the water
    • F17C2270/0105Ships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Ocean & Marine Engineering (AREA)
  • Thermal Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

【課題】 フラッシュメモリの記録特性を反映してフラッシュメモリにデータを格納する方法および装置を提供する。
【解決手段】 アプリケーションから格納するデータを受信するステップと、前記データの変更頻度を判断するステップと、前記データの変更頻度により前記データが格納される不揮発性メモリの空間の情報を抽出するステップと、前記抽出された空間の情報を用いて、前記空間に前記データを格納するように前記不揮発性メモリに前記データおよび前記空間に関する情報を送信するステップとを含む。
【選択図】 図3

Description

本発明は、不揮発性格納装置にデータを格納する方法および装置に関して、より詳しくはブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法および装置に関するものである。
フラッシュメモリは衝撃に強くて、電力消耗が少ない不揮発性メモリであって、最近移動式デバイスや内蔵型システムの格納装置として広く用いられている。
一般的に、NAND型フラッシュメモリは、512バイト(1セクタ)あるいは2048バイト(4セクタ)のデータ領域と、16バイトあるいは64バイトの予備領域からなるページと、複数のページを1つにまとめたブロックに分けられる。1つのNAND型フラッシュメモリは多数のブロックで構成される。また、NAND型フラッシュメモリは、ハードウェア特性上すでに使われたページに書き込み演算を行うためには、そのセクタが含まれたブロック全体を消す削除(消去)演算を先ず行わなければならない。また、各ブロックを削除できる回数はNAND型フラッシュメモリの寿命と関連があり、これを考慮してNAND型フラッシュメモリ上の全てのブロックは均等に使われなければならない。
このように、フラッシュメモリはその物理的な構造が異なり、既存のハードディスクのようにセクタ単位の読み取り/書き込みが可能な線形空間を提供するためには、別途のFTL(Flash Translation Layer)が必要である。FTLは上位応用から要請された論理アドレスをフラッシュメモリ上の物理アドレスに変換する役割をする。
マッピング方式を用いたFTLでは、論理的に連続したセクタを物理的に互いに異なる位置に記録することができる。NAND型フラッシュメモリは、書き込み(ライト)単位より削除(イレーズ、または消去)単位がさらに大きいため、一定の限界に至れば任意のブロックを用いて物理的に互いに異なる位置に分散している連続したデータを同一のアドレス空間に集める作業が必ず必要になる。このような過程をマージ動作という。
図1は、フラッシュメモリにおいて発生するマージを示す図面である。図1に示した通り、論理的に同一のブロック内に存在しなければならないデータがLSN #512〜#767ブロックで示すように、物理的に2つ以上のブロックに分散しているが、このように分散しているデータを物理的に同一のブロック10にコピーする過程を示す。
一方、ファイルシステムは、FTL上位において作動する応用であって、FTLに特定論理アドレスに対して所定のデータを記録したり、記録されたデータを読み取ったりする作動をする。このようなファイルシステムは、既存のハードディスクやフロッピー(登録商標)ディスクのような磁気ディスクを対象として設計されており、先に説明したフラッシュメモリの特性を十分に反映していない。例えば、磁気ディスク上に記録されたデータの修正は、既存データが記録された位置に新規データを上書きすることのみで達成される。しかし、NAND型フラッシュメモリの場合、その物理的な特性上、既存データが記録されたページに関する変換情報を無効にして、新しいページに新規データを記録した後に変換情報を修正する作業が伴う。したがって、FTLに対する頻繁なデータ修正要求はその後のマージ動作を誘発する原因になる。
図2は、従来のフラッシュメモリのブロック空間を示す図面である。ファイルシステムは、格納装置が提供する線形的なアドレス空間上に「15」のようなファイルシステムレイアウトを構成する。このような過程をフォーマットと呼ぶ。ディスク上のアドレス空間は、ファイルシステム自体のデータを管理するためのメタデータが記録される空間とブロックに再び区切られて使用されるブロック空間とに分れる。「20」のようにブロック空間は再び1つ以上のセクタを含むデータブロックに区切られ、「25」のように各データブロックはファイルシステムによって管理される。
図2を詳しく見ると、ファイルシステムは、フォーマット過程において「15」のように全体格納装置空間を管理するのに必要なファイルシステムメタデータの大きさを計算して、ファイルシステムメタデータのための空間を割り当て、残りをブロック空間に割り当てる。
ファイルシステムは、新しいファイルの追加やファイル内容の記録などのために使用可能なデータブロックを割り当てて使用する。新しく割り当てられたデータブロックはファイルシステムによって「使用中」であるデータブロックと表示される。
先に説明したとおり、ファイルシステムは全体格納空間を用途に応じて分割して使うようになる。その用途とは、ファイルシステムメタデータを格納するための空間と、上位応用から記録の要請を受けたデータを格納するための空間とに分れる。
しかし、このようなデータは、アクセスパターンが非常に異なる場合が多い。例えば、ファイルシステムメタデータは上位応用から記録の要請を受けたデータに比べて相対的に少量で記録され、頻繁に修正される特性を示す。また、上位応用から記録の要請を受けたデータは相対的に大量で記録されるが、ファイルシステムメタデータに比べると記録された後にはそれほど頻繁に修正されない。
したがって、頻繁に修正されるデータと、一度記録されれば消される前までほとんど修正されることがないデータが格納空間内に散在して分布するようになる。そのため、このように性質が互いに異なるデータがナンドフラッシュ上の物理的に同じブロックに存在するようになる場合、頻繁に修正されるデータによって、該当ブロックがしばしばマージ動作の対象になり得る。このような頻繁なマージはファイルシステムの全体的な性能を低下させ、フラッシュメモリの寿命を短縮させる結果を招くようになる。
したがって、データアクセスまたは記録の特性を考慮して、フラッシュメモリを効果的に使用できる方法および装置が必要である。
特許文献1はメモリ割り当て期に制御されるメモリを含む動的割り当てシステムに対して, メモリ割り当て期は応用プログラムからの多様なサイズの空のメモリーブルラックの要求に対応して,断片化のオーバーヘッドを低減するメモリ割り当て方法を開始しているが, よく修正されるデータによって該当のブロックに発生する頻繁なマージによってファイルシステムの全体的な性能が落ちることを防止して, フラッシュメモリの寿命が短縮されることを防止する方案は提案されていない.
日本公開特許第2000−112814号公報
本発明は、前記問題点を改善するために案出したものであって、本発明の目的は、フラッシュメモリの記録特性を反映してフラッシュメモリにデータを格納する方法および装置を提供することにある。
本発明のまた他の目的は、フラッシュメモリのマージ動作の発生を最大限減らして、マージ動作によるオーバーヘッドを最小化するファイルシステムのブロック管理方法を提供することにある。
本発明の目的は、以上で言及した目的に制限されず、言及していないまた他の目的は下記記載によって当業者が明確に理解できるものである。
本発明の一態様に係わるブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法は、アプリケーションから格納するデータを受信するステップと、前記データの変更頻度を判断するステップと、前記データの変更頻度により前記データが格納される不揮発性メモリの空間の情報を抽出するステップと、前記抽出された空間の情報を用いて前記空間に前記データを格納するように、前記不揮発性メモリに前記データおよび前記空間に関する情報を送信するステップとを含む。
本発明の他の態様に係わるブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する装置は、不揮発性メモリにデータを送信したり、または前記不揮発性メモリのデータを受信したりして前記不揮発性メモリと接触する格納装置結合部と、アプリケーションから格納するデータを受信して前記データの変更頻度を判断し、前記データの変更頻度により前記データが格納される不揮発性メモリの空間の情報を抽出するファイルシステム部と、前記抽出された空間の情報を用いて前記空間に前記データを格納するように前記データおよび前記空間に関する情報を前記格納装置結合部に送信する制御部とを含む。
本発明を具現することによって、頻繁に変更するデータと、そうではないデータをメモリ空間上において他のブロックに位置づけて、マージ過程を減らすことができる。
本発明を具現することによって、メモリ格納時に発生するマージ時間を短縮させて、メモリの速度を向上させることができる。
その他、実施形態の具体的な事項は、詳細な説明および図面に含まれている。本発明の利点および特徴、そしてそれらを達成する方法は、添付する図面と共に詳細に後述されている実施形態を参照すれば明確になるだろう。しかし、本発明は以下にて開示する実施形態に限定されるのではなく、互いに異なる多様な形態で具現されることができ、単に本実施形態は本発明の開示が完全なようにして、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであって、本発明は請求項の範疇によってのみ定義されるものである。明細書の全体にわたり、同一参照符号は同一構成要素を示す。
以下、本発明の実施形態によって、ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法、および装置を説明するためのブロック図または処理フローチャートに関する図面を参考にして、本発明について説明する。この時、処理フローチャートの各ブロックとフローチャートの組合せは、コンピュータプログラムインストラクションによって行われることが理解できる。これらコンピュータプログラムインストラクションは、汎用コンピュータ、特殊用コンピュータ、またはその他のプログラム可能なデータプロセシング装備のプロセッサに搭載することができるため、コンピュータまたはその他のプログラム可能なデータプロセシング装備のプロセッサを介して行われるそのインストラクションがフローチャートブロックで説明する機能を行う手段を生成するようになる。これらコンピュータプログラムインストラクションは、特定方式で機能を具現するために、コンピュータまたはその他のプログラム可能なデータプロセシング装備が備えられるコンピュータによって利用可能または読取可能なメモリに格納されることも可能であるため、そのコンピュータによって利用可能または読取可能なメモリに格納されたインストラクションは、フローチャートブロックで説明する機能を行うインストラクション手段を含む製造品目の生産に用いることも可能である。コンピュータプログラムインストラクションは、コンピュータまたはその他のプログラム可能なデータプロセシング装備上に搭載することも可能であるため、コンピュータまたはその他のプログラム可能なデータプロセシング装備上で一連の動作ステップが行われ、コンピュータで実行されるプロセスを生成して、コンピュータまたはその他のプログラム可能なデータプロセシング装備の機能を行うインストラクションはフローチャートブロックで説明する各ステップの機能を実行することも可能である。
また、各ブロックは、特定された論理的機能を実行するための1つ以上の実行可能なインストラクションを含むモジュール、セグメント、またはコードの一部を示すことができる。また、複数の代替実行例ではブロックで言及された機能が順序から外れて行われることも可能であることに注目しなければならない。例えば、連続して図示されている2つのブロックは、実質的に同時に行われることも可能で、またはそのブロックが時には該当機能により逆順に行われることも可能である。
本明細書においてはフラッシュメモリの一種類であるナンドフラッシュ(NAND FLASH)を中心に説明するが、これに限定されることはなく、データを格納する前に、消去(削除)演算を必要とするタイプのメモリに適用可能である。
本明細書においては、ファイルシステム上に存在するアクセスパターンが非常に異なる2つのデータの種類がフラッシュメモリ上で物理的にも他のブロックに位置することができるように、ファイルシステムを管理するように構成する。
図3は、本発明の一実施形態に係わるブロックを分ける例を示す図面である。ファイルシステムは、「40」のように初期ファイルシステム構造を作るための過程が必要である。一般にフォーマットと呼ぶこの過程は、ファイルシステム自体の資料構造を初期化して格納装置上に記録する過程である。この時、全体の格納装置の大きさを考慮して、全体の空間を管理するのに必要な一部メタデータの大きさと位置が決定され、その初期値が格納装置上に記録される。ファイルシステムは新しいファイルの追加やファイル内容の記録などのために自由データブロックを割り当てて使うが、この時、データブロックにはファイルシステムのメタデータ、あるいは上位応用から記録の要請を受けたデータが格納される。
ファイルシステムのメタデータは、ユーザデータに比べて相対的にその大きさが小さくて、アップデートが頻繁に生じる特徴を有する反面、ユーザデータは大部分大きさが大きくて、連続的に読まれ、削除されるまでアップデートが頻繁には生じない。したがって、図3の「60」に示すように、ファイルシステムメタデータのように頻繁にアップデートが生じるデータと、相対的にアップデートがあまり生じないデータを分離して割り当てる。分離して割り当てる過程はフォーマット過程で決定される。図3の「60」のように、メタデータの位置をNAND型フラッシュメモリ上の独立したブロック上に位置するように構成することによって、このメタデータの頻繁なアップデートによって不必要なマージが誘発されないようにする。すなわち、マージが発生する単位でメタデータを分離して格納することによって、メタデータが格納されたデータブロックだけ独自にマージが発生できるようにする。
これはファイルシステムのメタデータだけに限定されない。「80」のように、製品の量産時に、一度記録されればほとんどアップデートが生じないデータのためのブロックと、製品を使うユーザのために、追加/削除/修正の頻度が高いファイルを格納するためのブロックとをフラッシュメモリ上の互いに異なるブロックに割り当てられるようにする。
したがって、ファイルの属性が読み取り専用の場合にはほとんどアップデートされないファイルのためのブロックに格納できる。このような設定はファイルの属性以外にもファイルの拡張子と、これを使うアプリケーションの特性等とを考慮して設定することができる。
図4は、本発明の一実施形態に係わるユーザデータが格納されるクラスタと、ファイルシステムのメタデータが格納されるクラスタとを互いに異なるブロックに割り当てる例を示す図面である。
図4の「200」は、FATファイルシステムでフォーマットされたディスクドライブのレイアウトを示すものである。マスターブートレコード202、BPB204、第1FAT(1st File Allocation Table)206、第2FAT(2nd File Allocation Table)208、データ領域(Data Area)209で構成される。1つのクラスタは1つのブロックを構成することができ、また多数のクラスタが1つのブロックを構成することができる。
これらのデータを既存の方式で格納したものが「210」である。ファイルシステムのメタデータとユーザデータが格納されたクラスタが混在していることが分かる。データ領域209は、1つ以上のセクタを一グループにした割り当て単位であるクラスタに分けられる。このクラスタは、ファイルシステムが格納装置にデータを記録する最も基本的な単位となる。「210」に示された通り、データ領域上のクラスタは、データが格納されたクラスタとデータが記録されていない使用可能なクラスタ(自由クラスタ)とで構成される。そして、データが格納されたクラスタは、再びファイルシステムのメタデータが格納されたクラスタとユーザデータが格納されたクラスタとの2種類に分けられる。しかし、これらクラスタが混在していることによって、頻繁にアップデートされる必要のないブロック、またはクラスタまでアップデートされるという問題がある。これを解決するために、「220」のように構成することができる。
「220」はファイルシステムのブロック割り当てる他の方法であって、FATファイルシステムはデータを格納するためにデータ領域上の自由クラスタを割り当てて使用する。ファイルシステムメタデータを格納するためのクラスタ228と上位応用から記録の要請を受けたデータを格納するためのクラスタ224とがNAND型フラッシュメモリ上の互いに異なるブロックに位置するようにブロックを割り当てることができる。したがって、頻繁にアップデートが生じるファイルシステムメタデータによるマージ動作を最小化できるようになる。
図5は、本発明の一実施形態に係わるFATをNAND型フラッシュメモリ上の独立的なブロックに割り当てられるようにファイルシステムを構成する例である。
従来のファイルシステムは、「200」に示すように、単純にデータ領域とファイルシステム領域とでブロックを区切られたが、本発明の一実施形態に係わる場合、頻繁にアップデートされるFAT部分を独自のブロックに格納されるように構成した。
すなわち、少量で頻繁にアップデートされるFATをNAND型フラッシュメモリ上の独立したブロックで位置するようにファイルシステムをフォーマットする。これによって、FAT246、248は、MBR242、BPB244、データ領域249とは異なるNAND型フラッシュメモリ上のブロック上に位置することによって、FAT領域の頻繁なアップデートによって発生するマージを最小化することができる。
図6は、本発明の一実施形態に係わるアップデート頻度を考慮して、ブロックを割り当てた場合を示す図面である。
図6では、ファイルシステムにおいてファイル内容を格納するためにブロック割り当て時にデータの修正が頻繁に生じるブロックのための空間と、修正がほとんど生じないファイルのための空間とを分けて管理する。フラッシュメモリ300内に「302、304、306」のようにブロック空間を設け、この中で読み取り専用ファイルのためのブロック空間302と、記録可能なファイルを格納するためのブロック空間304、306とを設ける。
分けられた空間を用いる一実施形態で、アプリケーションプログラムファイルのように製品の量産時に一度記録されればほとんどアップデートされないファイルを読み取り専用ファイルのためのブロック空間302に割り当てて、ユーザデータのように頻繁に追加/削除/修正が生じるファイルを読み取り専用ファイルが割り当てられるブロック空間302とは異なるブロック空間304、306に割り当てる。
本実施形態で用いられる「〜部」という用語、すなわち「〜モジュール」または「〜テーブル」などは、ソフトウェアまたはFPGAまたはASICのようなハードウェア構成要素を意味し、「〜モジュール」はある役割を行う。ところが「〜モジュール」は、ソフトウェアまたはハードウェアに限定される意味ではない。「〜モジュール」は、アドレッシングできる格納媒体にあるように構成することもでき、1つまたはそれ以上のプロセッサを再生させるように構成することもできる。したがって、一例として「〜モジュール」はソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素およびタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、および変数を含む。構成要素と「〜モジュール」の中で提供されている機能は、さらに小さい数の構成要素および「〜モジュール」に結合したり、追加的な構成要素と「〜モジュール」にさらに分離したりすることができる。それだけでなく、構成要素および「〜モジュール」は、デバイスまたは保安マルチメディアカード内の1つまたはそれ以上のCPUを再生させるように具現することもできる。
図7は、本発明の一実施形態により、フラッシュメモリに、アップデート頻度により互いに異なるブロックにデータを格納できるようにするための装置700の構成図である。図7の構成は、携帯電話、PDA、PC、PMP、デジタルカメラ、HPC、またはノート型パソコンなどフラッシュメモリと結合して、フラッシュメモリにデータを格納するすべての装置に適用可能である。
全体構成は、制御部720と、ファイルシステム部730と、格納装置結合部710と、不揮発性格納装置500とで構成され、選択的にデータ格納部740とデータ入力部750とを含むことができる。
不揮発性格納装置500は、装置700内に内蔵型で結合することができて、着脱式のメモリカードとして存在することができる。一部携帯用デジタル機器では着脱式と内蔵型の両方を支援することができる。
格納装置結合部710は、不揮発性メモリにデータを送信したり、または前記不揮発性メモリのデータを受信したりして、前記不揮発性メモリまたは不揮発性格納装置500と接触する。ファイルシステム部730は、アプリケーションから格納するデータを受信して、前記データの変更頻度を判断して、前記データの変更頻度により前記データが格納される不揮発性メモリまたは不揮発性格納装置500の空間の情報を抽出する。そして、制御部720は、抽出された空間の情報を使用して、前記空間にデータを格納するようにデータおよび前記空間に関する情報を格納装置結合部710に送信する。データ格納部740は不揮発性格納装置500に格納するデータが格納された空間であり、データ入力部750は外部からデータを受信する機能を行う。ネットワーク機能を共に提供することができる。
不揮発性格納装置500に格納するデータの変更頻度が高い場合、ファイルシステム部730は、変更頻度が高いブロックの空間の情報を抽出することができる。抽出した空間の情報を使用してデータを格納する。変更頻度が高い場合は、データがFATを構成するデータである場合を例にあげられる。
一方、データが読み取り専用データである場合、ファイルシステム部730は、変更頻度が低いブロックの空間の情報を抽出することができる。抽出した空間の情報を使用してデータを格納する。
また、ファイルシステム部730は、不揮発性格納装置500の空間を変更頻度によりフォーマットすることができる。
不揮発性格納装置500は、データを格納する前に消去作業を必要として、2つ以上の格納単位に対してマージ作業を必要とするものであって、NANDフラッシュメモリが1つの例になり得る。
図8は、本発明の一実施形態に係わる変更頻度によりデータを格納する過程を示す図面である。
ファイルシステムは、アプリケーションから格納するデータを受信する(S810)。そして受信したデータの変更頻度を判断する(S820)。データの変更頻度は、このデータが変更頻度の高いデータであるか否かを判断するが、FATデータのような場合、変更頻度が高いと判断できる。また、読み取り専用ファイルを構成するデータであれば、変更頻度が低いと判断できる。データがしばしば変更されるデータであれば(S830)、変更頻度が高いデータを格納するブロック空間の情報を抽出する(S840)。そして、抽出された情報によりデータを格納する(S850)。
一方、頻繁に変更されないデータである場合、変更頻度の低いデータを格納するブロック空間の情報を抽出する(S860)。そして、抽出された情報によりデータを格納する(S870)。
図8の過程を通してブロック方式のメモリ、例えばNANDフラッシュメモリにおいてデータの変更類型に応じてブロックを管理することができる。また、不揮発性メモリは、データを格納する前に消去作業を必要として、2つ以上の格納単位に対してマージ作業を行うことができる。
一方、図8には示されてはいないが、不揮発性メモリの空間の情報を抽出する前に、不揮発性メモリの空間を変更頻度により区分するステップをさらに含むことができるが、このような作業の例がフォーマットである。
本発明が属する技術分野で通常の知識を有する者であれば、本発明がその技術的思想や必須の特徴を変更せず、他の具体的な形態によって実施することができるということを理解できる。したがって、以上で記述した実施形態はすべての面で例示的なものであり、限定的なものではないことを理解しなければならない。本発明の範囲は前記詳細な説明よりは特許請求の範囲によって示され、特許請求の範囲の意味、および範囲そしてその均等概念から導き出されるすべての変更、または変更された形態が本発明の範囲に含まれると解釈しなければならない。
フラッシュメモリにおいて発生するマージを示す図である。 従来のフラッシュメモリのブロック空間を示す図である。 本発明の一実施形態に係わるブロックを分けた例を示す図である。 本発明の一実施形態に係わるユーザデータが格納されるクラスタと、ファイルシステムのメタデータが格納されるクラスタとを互いに異なるブロックに割り当てる例を示す図である。 本発明の一実施形態に係わるFATをNAND型フラッシュメモリ上の独立的なブロックに割り当てられるようにファイルシステムを構成する例である。 本発明の一実施形態に係わるアップデート頻度を考慮して、ブロックを割り当てる場合を示す図である。 本発明の一実施形態によって、フラッシュメモリのアップデート頻度により互いに異なるブロックにデータを格納できるようにするための装置700を示す構成図である。 本発明の一実施形態に係わる変更頻度によりデータを格納する過程を示す図である。
符号の説明
500 不揮発性格納装置
700 デバイス(装置)
710 格納装置結合部
720 制御部
730 ファイルシステム部
740 データ格納部

Claims (14)

  1. ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法であって、
    アプリケーションから格納するデータを受信するステップと、
    前記データの変更頻度を判断するステップと、
    前記データの変更頻度により前記データが格納される不揮発性メモリの空間の情報を抽出するステップと、
    前記抽出された空間の情報を用いて、前記空間に前記データを格納するように前記不揮発性メモリに前記データおよび前記空間に関する情報を送信するステップとを含むブロック管理方法。
  2. 前記データの変更頻度が高い場合、前記抽出するステップは変更頻度が高いブロックの空間の情報を抽出するステップである請求項1に記載のブロック管理方法。
  3. 前記データはFATを構成するデータである請求項2に記載のブロック管理方法。
  4. 前記データが読み取り専用データの場合、前記抽出するステップは変更頻度が低いブロックの空間の情報を抽出するステップである請求項1に記載のブロック管理方法。
  5. 前記不揮発性メモリの空間の情報を抽出するステップ以前に、前記不揮発性メモリの空間を変更頻度により区分するステップをさらに含む請求項1に記載のブロック管理方法。
  6. 前記区分するステップは、FAT領域を設定するために前記不揮発性メモリの空間をフォーマットするステップを含む請求項5に記載のブロック管理方法。
  7. 前記不揮発性メモリは、データを格納する前に消去作業を必要として、2つ以上の格納単位に対してマージ作業を行う請求項1に記載のブロック管理方法。
  8. ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する装置であって、
    不揮発性メモリにデータを送信したり、または前記不揮発性メモリのデータを受信したりして前記不揮発性メモリと接触する格納装置結合部と、
    アプリケーションから格納するデータを受信して、前記データの変更頻度を判断して、前記データの変更頻度により前記データが格納される不揮発性メモリの空間の情報を抽出するファイルシステム部と、
    前記抽出された空間の情報を用いて、前記空間に前記データを格納するように前記データおよび前記空間に関する情報を前記格納装置結合部に送信する制御部とを含むブロック管理装置。
  9. 前記データの変更頻度が高い場合、前記ファイルシステム部は変更頻度が高いブロックの空間の情報を抽出する請求項8に記載のブロック管理装置。
  10. 前記データはFATを構成するデータである請求項9に記載のブロック管理装置。
  11. 前記データが読み取り専用データの場合、前記ファイルシステム部は変更頻度が低いブロックの空間の情報を抽出する請求項8に記載のブロック管理装置。
  12. 前記ファイルシステム部は前記不揮発性メモリの空間を変更頻度により区分する請求項8に記載のブロック管理装置。
  13. 前記ファイルシステム部はFAT領域を設定するために前記不揮発性メモリの空間をフォーマットする請求項12に記載のブロック管理装置。
  14. 前記不揮発性メモリはデータを格納する前に消去作業を必要として、2つ以上の格納単位に対してマージ作業を行う請求項8に記載のブロック管理装置。
JP2007022622A 2006-02-17 2007-02-01 ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法および装置 Ceased JP2007220101A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060015711A KR100703807B1 (ko) 2006-02-17 2006-02-17 블록 방식의 메모리에서 데이터의 변경 유형에 따라 블록을관리하는 방법 및 장치

Publications (1)

Publication Number Publication Date
JP2007220101A true JP2007220101A (ja) 2007-08-30

Family

ID=38160880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007022622A Ceased JP2007220101A (ja) 2006-02-17 2007-02-01 ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法および装置

Country Status (3)

Country Link
US (1) US7702845B2 (ja)
JP (1) JP2007220101A (ja)
KR (1) KR100703807B1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009259145A (ja) * 2008-04-21 2009-11-05 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
WO2010103780A1 (ja) * 2009-03-12 2010-09-16 パナソニック株式会社 メモリ管理装置、データ記録装置、及びメモリ領域設定方法
WO2014049678A1 (ja) * 2012-09-25 2014-04-03 株式会社 東芝 ソリッドステートドライブにデータを再配置するストレージ装置、ストレージコントローラ及び方法
JP2014522537A (ja) * 2011-06-09 2014-09-04 マイクロソフト コーポレーション 使用によるフラッシュ・ベースの記憶装置へのデータ配置の管理
JP2019101911A (ja) * 2017-12-06 2019-06-24 東芝ライフスタイル株式会社 家電機器

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101027112B1 (ko) * 2008-06-30 2011-04-05 한국산업기술대학교산학협력단 플래시 메모리의 클러스터링 장치 및 그 클러스터링 방법
KR101058969B1 (ko) 2009-05-21 2011-08-23 엘에스산전 주식회사 메모리 할당 방법 및 이를 이용한 메모리 할당 장치
US9183134B2 (en) * 2010-04-22 2015-11-10 Seagate Technology Llc Data segregation in a storage device
CN103620563B (zh) 2011-04-26 2015-04-29 Lsi公司 用于非易失性存储器的可变超量配置
US9417803B2 (en) * 2011-09-20 2016-08-16 Apple Inc. Adaptive mapping of logical addresses to memory devices in solid state drives
WO2014019133A1 (en) * 2012-07-31 2014-02-06 Empire Technology Development Llc Parting data to improve system performance

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005216119A (ja) * 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 記録媒体

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5955071A (ja) * 1982-09-24 1984-03-29 Hitachi Micro Comput Eng Ltd 不揮発性半導体装置
US5798964A (en) * 1994-08-29 1998-08-25 Toshiba Corporation FRAM, FRAM card, and card system using the same
US5991193A (en) * 1997-12-02 1999-11-23 International Business Machines Corporation Voltage biasing for magnetic ram with magnetic tunnel memory cells
AUPP638698A0 (en) 1998-10-06 1998-10-29 Canon Kabushiki Kaisha Efficient memory allocator utilising a dual free-list structure
KR100577380B1 (ko) * 1999-09-29 2006-05-09 삼성전자주식회사 플래시 메모리와 그 제어 방법
JP4478298B2 (ja) 2000-06-22 2010-06-09 株式会社日立国際電気 データ転送システム
KR20040072875A (ko) * 2003-02-11 2004-08-19 유비시스테크놀러지 주식회사 낸드 플래시 메모리를 이용한 저장장치
US7433993B2 (en) * 2003-12-30 2008-10-07 San Disk Corportion Adaptive metablocks
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
US20050251617A1 (en) * 2004-05-07 2005-11-10 Sinclair Alan W Hybrid non-volatile memory system
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
JP4586469B2 (ja) * 2004-09-15 2010-11-24 ソニー株式会社 メモリ制御装置、メモリ制御方法、プログラム
US7509471B2 (en) * 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
US20070156998A1 (en) * 2005-12-21 2007-07-05 Gorobets Sergey A Methods for memory allocation in non-volatile memories with a directly mapped file storage system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005216119A (ja) * 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 記録媒体

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009259145A (ja) * 2008-04-21 2009-11-05 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
WO2010103780A1 (ja) * 2009-03-12 2010-09-16 パナソニック株式会社 メモリ管理装置、データ記録装置、及びメモリ領域設定方法
JP5395163B2 (ja) * 2009-03-12 2014-01-22 パナソニック株式会社 メモリ管理装置及びメモリ領域設定方法
JP2014522537A (ja) * 2011-06-09 2014-09-04 マイクロソフト コーポレーション 使用によるフラッシュ・ベースの記憶装置へのデータ配置の管理
WO2014049678A1 (ja) * 2012-09-25 2014-04-03 株式会社 東芝 ソリッドステートドライブにデータを再配置するストレージ装置、ストレージコントローラ及び方法
JP5550741B1 (ja) * 2012-09-25 2014-07-16 株式会社東芝 ソリッドステートドライブにデータを再配置するストレージ装置、ストレージコントローラ及び方法
US9104554B2 (en) 2012-09-25 2015-08-11 Kabushiki Kaisha Toshiba Storage apparatus, storage controller and method for relocating data in solid state drive
JP2019101911A (ja) * 2017-12-06 2019-06-24 東芝ライフスタイル株式会社 家電機器
JP6999389B2 (ja) 2017-12-06 2022-01-18 東芝ライフスタイル株式会社 家電機器

Also Published As

Publication number Publication date
US20070198769A1 (en) 2007-08-23
US7702845B2 (en) 2010-04-20
KR100703807B1 (ko) 2007-04-09

Similar Documents

Publication Publication Date Title
JP2007220101A (ja) ブロック方式のメモリにおいてデータの変更類型に応じてブロックを管理する方法および装置
US7461198B2 (en) System and method for configuration and management of flash memory
US9053007B2 (en) Memory system, controller, and method for controlling memory system
JP5271424B2 (ja) ダイナミックストレージ階層化によるオンラインデータ配置をボリュームに提供するためのアロケートオンライトのスナップショット機構
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
US7849253B2 (en) Method for fast access to flash-memory media
US8589617B2 (en) Write once recording device
US20090157756A1 (en) File System For Storing Files In Multiple Different Data Storage Media
US20220197818A1 (en) Method and apparatus for performing operations to namespaces of a flash memory device
JP2013196115A (ja) メモリシステム
JP2006018839A (ja) 漸進的マージ方法及びそれを利用したメモリシステム
US10754549B2 (en) Append only streams for storing data on a solid state device
US7899989B2 (en) Method and system for using a block allocation policy
KR101017067B1 (ko) 낸드 플래시 메모리를 위한 지역성 기반의 가비지 컬렉션기법
JP2015507798A (ja) メモリ・モジュールにおいてデータ・エンティティを消去するための方法
US20070106868A1 (en) Method and system for latency-directed block allocation
US9524236B1 (en) Systems and methods for performing memory management based on data access properties
JP4130808B2 (ja) フォーマット方法
US20180232154A1 (en) Append Only Streams For Storing Data On A Solid State Device
JP5594647B2 (ja) ストレージ装置及びその制御方法
US20100169555A1 (en) Method of writing data into flash memory based on file system
JP2006228138A (ja) 半導体記憶装置、記憶制御方法および情報機器
JP2006252137A (ja) 不揮発性記憶装置の最適化方法
JP2006323462A (ja) ファイルコピー装置およびファイルコピー方法
KR20210158043A (ko) 스트림 분류 번호에 따른 데이터 분류 스토리지 장치 및 그 동작 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110517

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110520

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110614

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20111025