(57)【特許請求の範囲】
【請求項１】
メモリー装置の記憶媒体へのアクセスを制御するプロセッサーを備え、前記記憶媒体の保存領域に保存されるべきデータを第１データと第２データに分離する段階と、前記保存領域の中央点に向けて、前記第１データ又は第２データの一方のデータを、前記保存領域の始端位置から保存して、他方のデータを、前記保存領域の後端位置から保存する段階とを含む、前記記憶媒体にデータを保存するための二重ジャーナリング保存方法であって、
前記第１データは、前記二重ジャーナリングの前半部ジャーナリングとして前記始端位置から保存され、前記第２データは、前記二重ジャーナリングの後半部ジャーナリングとして前記終端位置から保存され、
前記第１、第２データが前記中央点で互いに出会うように、それぞれ前記始端位置と前記終端位置から保存されるとき、前記前半部ジャーナリングのヘッドと前記後半部ジャーナリングのヘッドとが初めに出会う位置を前記中央点に決定し、この後、前記両ヘッドのいずれかが先に前記中央点に到達した場合に、前記中央点の位置をデータの進行方向に変化させ、
前記保存領域の始端位置及び終端位置を除いた位置を示す前記中央点は、前記保存領域の始端位置及び終端位置から保存される少なくとも一方のデータの量、または利用可能なそれぞれの保存領域に基づいて、より多くのデータを保存する方向に移動されることを特徴とする二重ジャーナリング保存方法。
【請求項２】
データの種類と特性が異なる２つの形式のデータが前記記憶媒体に保存されるとき、前記２つの形式のデータは、前記保存領域の始端位置からデータを保存することを示す前記前半部ジャーナリングと、前記保存領域の終端位置からデータを保存することを示す前記後半部ジャーナリングとにそれぞれ区分されて保存され、前記２つの形式のデータは、メタデータとファイルデータを含むことを特徴とする請求項１記載の二重ジャーナリング保存方法。
【請求項３】
前記前半部ジャーナリングと前記後半部ジャーナリングの両ヘッドが前記中央点で出会うとき、新たに保存されるデータは、始端位置と終端位置からそれぞれ再び保存されることを特徴とする請求項２記載の二重ジャーナリング保存方法。
【請求項４】
前記前半部ジャーナリングのヘッドと前記後半部ジャーナリングのヘッドが出会って前記中央点が初めて形成され、この後、前記中央点が二回以上形成される場合に、前記前半部ジャーナリング又は前記後半部ジャーナリングの各ヘッドが中央点に再び会うとき、前記中央点が相手側ジャーナリングの方に移動されることを特徴とする請求項２記載の二重ジャーナリング保存方法。
【請求項５】
メモリー装置の記憶媒体へのアクセスを制御するプロセッサーを備え、前記記憶媒体へのデータ挿入に対する要求が入ってきた時、保存領域が十分ではない場合に、ガーベッジコレクションを実行し、データを移動して削除動作を実行する段階と、データ保存が完了した後、前記記憶媒体に十分な領域があるか否かを確認して、次の挿入データを保存するための領域を確保する段階とを含む、前記記憶媒体にデータを挿入するための二重ジャーナリング保存方法であって、
前記削除動作が実行されるとき、保存自由空間が確保され、第１、第２データを、新たに確保されたそれぞれの前記保存自由空間に保存し、
前記第１データは、前記二重ジャーナリングの前半部ジャーナリングとして前記始端位置から保存され、前記第２データは、前記二重ジャーナリングの後半部ジャーナリングとして前記終端位置から保存され、
前記第１、第２データが前記中央点で互いに出会うように、それぞれ前記始端位置と前記終端位置から保存されるとき、前記前半部ジャーナリングのヘッドと前記後半部ジャーナリングのヘッドとが初めに出会う位置を前記中央点に決定し、この後、前記両ヘッドのいずれかが先に前記中央点に到達した場合に、前記中央点の位置をデータの進行方向に変化させ、
前記記憶媒体の始端位置及び終端位置を除いた、前記記憶媒体の位置を示す前記中央点は、前記保存領域の始端位置及び終端位置から保存される少なくとも一方のデータの量、または利用可能なそれぞれの保存領域に基づいて、より多くのデータを保存する方向に移動されることを特徴とする二重ジャーナリング保存方法。
【請求項６】
メモリー装置の記憶媒体へのアクセスを制御するプロセッサーを備え、前記記憶媒体の保存領域に保存されるべきデータを第１データと第２データに分離する段階と、前記第１データ又は第２データの一方のデータを、前記保存領域の始端位置から保存して、他方のデータを前記保存領域の終端位置から始端位置の方に保存する段階とを含み、前記記憶媒体にデータを保存するための方法であって、
前記第１データ及び第２データが保存されて前記保存領域の中央点で互いに出会う場合、前記始端位置と前記終端位置から再び対応するデータをそれぞれ保存しており、
前記第１、第２データが前記中央点で互いに出会うように、それぞれ前記始端位置と前記終端位置から保存されるとき、前記前半部ジャーナリングのヘッドと前記後半部ジャーナリングのヘッドとが初めに出会う位置を前記中央点に決定し、この後、前記両ヘッドのいずれかが先に前記中央点に到達した場合に、前記中央点の位置をデータの進行方向に変化させ、
前記記憶媒体の始端位置及び終端位置を除いた、前記記憶媒体の位置を示す前記中央点は、前記保存領域の始端位置及び終端位置から保存される少なくとも一方のデータの量、または利用可能なそれぞれの保存領域に基づいて、より多くのデータを保存する方向に移動されることを特徴とする二重ジャーナリング保存方法。
【請求項７】
前記中央点が初めに形成されて、次に続く時間で前記中央点が形成されるとき、前記中央点に先に到着するデータの進行方向に前記中央点が移動されることを特徴とする請求項６記載の二重ジャーナリング保存方法。
【請求項８】
前記記憶媒体の消去の回数が、次に続く各時間に対して移動する前記中央点によって減少されることを特徴とする請求項７記載の二重ジャーナリング保存方法。
【請求項９】
前記第１データは、メタデータであり、前記第２データは、ファイルデータであることを特徴とする請求項６記載の二重ジャーナリング保存方法。
【請求項１０】
多重分割されたメモリーと、前記メモリーの多重分割によって区分されることで、保存されるデータが独立して読出し、書込み又は削除される多数のパーティションと、前記メモリーの記録、判読及び削除のために必要な多数の電圧出力を供給する充電ポンプと、前記各パーティションが同時に実行可能な読出し作動を実行するために、前記メモリーに接続された複数の第１感知増幅器と、前記各パーティションが同時に実行可能な削除および書込みの作動を実行するために前記メモリーに接続された複数の第２感知増幅器とを含む、多重分割されたフラッシュメモリー装置であって、
前記各パーティションに保存されるデータが、前記パーティションの保存領域の始端位置から保存する前半部ジャーナリングと、前記保存領域の後端位置から保存する前記後半部ジャーナリングにそれぞれ区分されて保存され、前記各パーティションの保存領域の始端位置と終端位置からそれぞれ中央点に向けて保存され、
前記前半部ジャーナリングのヘッドと前記後半部ジャーナリングのヘッドとが初めに出会う位置を前記中央点に決定し、この後、前記両ヘッドのいずれかが先に前記中央点に到達した場合に、前記中央点の位置をデータの進行方向に変化させ、
前記中央点は、前記保存領域の始端位置及び終端位置から保存される少なくとも一方のデータの量、または利用可能なそれぞれの保存領域に基づいて、より多くのデータを保存する方向に移動されることを特徴とするフラッシュメモリー装置。
【請求項１１】
メモリー装置の記憶媒体へのアクセスを制御するプロセッサーを備え、各パーティションへのデータ挿入に対する要求が入ってきた時、ガーベッジコレクションを実行して保存領域が十分ではない場合に、データを移動して削除動作を実行する段階と、データ保存が完了した後、前記記憶媒体に十分な領域があるか否かを確認して、次の挿入データを保存するための領域を確保する段階と、前記データ保存が完了した後、前記記憶媒体内に十分な領域があるかどうかをチェックし、これにより、次に挿入されるデータのための保存領域を確保する段階とを含み、多数のパーティションに分割されて各パーティション別にデータが、それぞれ独立して読出し、書込み又は削除されるフラッシュメモリーの各パーティションに挿入される場合の二重ジャーナリング保存方法であって、
前記削除動作が実行されるとき、保存自由空間が確保され、第１、第２データを、新たに確保されたそれぞれの前記保存自由空間に保存し、
前記第１データは、前記二重ジャーナリング保存方法の前半部ジャーナリングとして保存され、前記第２データは、前記二重ジャーナリング保存方法の後半部ジャーナリングとして保存され、
前記第１、第２データが前記中央点で互いに出会うように、それぞれ前記始端位置と前記終端位置から保存されるとき、前記前半部ジャーナリングのヘッドと前記後半部ジャーナリングのヘッドとが初めに出会う位置を前記中央点に決定し、この後、前記両ヘッドのいずれかが先に前記中央点に到達した場合に、前記中央点の位置をデータの進行方向に変化させ、
前記記憶媒体の始端位置及び終端位置を除いた、前記記憶媒体の位置を示す前記中央点は、前記保存領域の始端位置及び終端位置から保存される少なくとも一方のデータの量、または利用可能なそれぞれの保存領域に基づいて、より多くのデータを保存する方向に移動されることを特徴とする二重ジャーナリング保存方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを保存/管理及び処理するための記憶媒体でフラッシュメモリー等を利用する時、保存されるデータが、記憶媒体の保存空間の初めの位置と終りの位置からそれぞれ中央の方へ保存される、二重ジャーナリングの保存方法及びその記憶媒体に関するものである。
【背景技術】
【０００２】
最近の情報産業とモービルコンピュータ技術が発展することによってＰＤＡ（携帯情報端末）、 ＨＰＣ(ハンドヘルド PC)、携帯電話、電子本(e−ブック)等が多く開発されて、ここでデータを保存するための目的に、携帯が容易でかつアクセス時間が早く、低電力が要求されるフラッシュメモリーを多く使用している。
【０００３】
フラッシュメモリーは、一般的なＲＡＭ（ランダムアクセスメモリ）とは違う特性を持っている。フラッシュメモリーは非揮発性の特性を有し、ハードディスクに比べて堅固である。低電力で作動が可能でアクセス時間がＲＡＭと同じ位早い。また、大きさが小さくて携帯機器に適している。
【０００４】
しかし、ハードディスクに比べて価格が５〜１０倍位高くて、すでにデータが保存されている空間に新しいデータを書き込む時は、消去過程を実行した後に、再び保存しなければならないという短所がある。
【０００５】
インテル社で開発した28F640J3Aモデルのフラッシュメモリーを基準にする時、判読速度は100〜150 ナノ秒でＲＡＭと同じ位に速いが、記録速度と削除速度が相対的に遅い。バッファーを利用した書き取り時間が32バイトのバッファーを利用する場合、218 マイクロ秒程度がかかって、消去ブロック単位の書き取り時間は、ブロック当たり0.8 秒程度がかかる。
【０００６】
また、一度に削除することができる消去ブロックの大きさが128 キロバイトで一定しており、常温で消去した後、再び使用することができる回数が約10万回に決まっている。このように一度に消去できるフラッシュメモリーの空間を消去ブロック(erase block)またはセグメントと言う。
【０００７】
フラッシュメモリーは、セルを構成する構造によって、ＮＯＲ、ＮＡＮＤ、ＡＮＤタイプ等で区分することができるが、主にＮＯＲやＮＡＮＤフラッシュメモリーを使う。
ＮＯＲフラッシュは、ランダムアクセスの判読速度が速くてビート当たりのアクセスが容易なことで、メモリーアドレス空間に直接連結されてＣＰＵが実行するコード(code)を保存する目的に主に使われて、ＮＡＮＤフラッシュは相対的に遅いランダムアクセス時間のため、音楽ファイルやイメージファイル等相対的に大きい容量のデータを一度に保存する用途に主に利用される。
【０００８】
このようなフラッシュメモリーを利用してファイルシステムを構成した従来技術では、特許文献１のフラッシュファイルシステムという題目の特許があり、1995年度ＵＳＥＮＩＸカンファレンスの頁55〜164に発表されたフラッシュメモリ仕様のファイルシステムという題目の論文がある。
【０００９】
また、特許文献２の「ログ構造の保存システム用のジャーナル空間リリーズ」と特許文献３の「同時書き込み及びガーベッジコレクションを可能にするログ構造を備えたデータ貯蔵ライブラリーアレー」等から発明したログ構造のファイルシステムをフラッシュメモリーに適用させた従来技術のジャーナリングフラッシュファイルシステム(ＪＦＦＳ、journaling flash file system)がある。
【００１０】
ログ構造のファイルシステムは、ハードディスクにファイルシステムを構成して保存する時、発生したデータを順次に保存する方式である。このようにすることで、以前のデータと新たに修正されたデータに対するバージョンを、ログ形式で維持することができるということで、現在問題が発生したデータに対して、以前のデータに戻ることで復旧することができるという長所を有する。
【００１１】
ＪＦＦＳは、ログ構造のファイルシステムを利用して、フラッシュメモリーに対してファイルシステムを構成することによって、この発生したデータを順番に保存するようにした。このＪＦＦＳは、アメリカのアクシス  コミュニケーションズ(Axis Communications)社(http://developer.axis.com/ software/jffs/)で開発したもので、バージョン２は、アメリカのレッドハット社(RedHat)(http://sources.redhat.com/jffs2/)でFSF(free software foundation)のＧＰＬ(ＧＮＵ public licenses)に付いて開発されている。
【００１２】
図１は、フラッシュメモリーにファイルシステムを構成するJFFS2で保存方法の一実施形態を示しである。
図１を参照すれば、これは、ＪＦＦＳでフラッシュメモリーにデータが保存される一つの例を示している。どんなファイルシステムに、例えば、リナックス(Linux)のＥＸＴ２ファイルシステムにディレクトリー構造がある時、 ＪＦＦＳに保存される方式は、先に一ディレクトリーの一般的な特性を入れるために、図1(a)のように、ディレクトリエントリー(Dir １entry)を保存する。ここに保存される情報は、ディレクトリーノードのタイプ、ノードの全長、ヘッドのＣＲＣ(cyclic redundancy check)、父母i ノード番号、バージョン値、ノードＣＲＣ、名前ＣＲＣ、ディレクトリ名等である。
【００１３】
次に前記ディレクトリーに対するi ノードを保存する。図1では(Dir １inode) が図示されているし、ここに保存される情報はノードタイプ、全長、多くの種類のＣＲＣ、バージョン値、使用者ＩＤ、グループＩＤ、生成時間、アクセス時間、修正時間等である。
【００１４】
このようなディレクトリーエントリーとi ノードは、使用者に見せる情報ではなくファイルシステムでだけ使われる付加情報で、これをメタデータ(meta data)と言う。ディレクトリーの中にあるファイルを保存する時も、ディレクトリーと同じくファイルエントリー(File １entry)を保存してファイルi ノード(File 1 inode)を保存する。
【００１５】
上記ディレクトリーとファイルは、ファイルシステムで同じ形式で見るのに、只ディレクトリーは実在的なデータがなくて、ファイルの場合ファイルのデータ(File 1 date)がi ノードの次に保存される。
【００１６】
このようにＪＦＦＳはフラッシュメモリーに対してディレクトリーとファイルを順次に(journaling)保存する方式を使用する。図1(b)のように、 (Dir 1 inode) と(File 1 inode) が変更されて新しい値に更新されれば、元々のメタデータは、無効化(Invalid)状態に作って、新しいデータは保存位置に順次に保存する。
【００１７】
この時、上記無効化状態は、実際にデータが削除されるのではなく、不必要なデータだと表示するだけで、新しいデータのバージョン値が一段階位増加する。従って、新しいデータに問題が起これば、以前のバージョンのデータがある限り復旧することが容易である。
【００１８】
このように更新されて新しいデータが保存されているのを見れば、フラッシュの保存空間が限界に至るようになって保存する空間を確保するために、フラッシュメモリーを削除しなければならないのに、フラッシュ特性上消去ブロック単位にだけ削除しなければならないから、図1(c)のように有用なバリッドデータ(Dir １entry)を移して、無効な空間等で消去ブロックが満たされれば、図1(d)のように消去過程を実行して一つの消去ブロックを消す。
【００１９】
このように保存空間が不足して無効な空間を集めた後、消去ブロック単位で消去して新しい空間を確保する過程をガーベッジコレクション(Garbage Collection(GC))と言う。また、消去過程を実行して作られた新しいデータを保存することができる空間を自由(Free)空間と言う。自由空間がたくさん確保されれば、継続してデータを保存することができる。
【００２０】
記憶媒体にハードディスクを利用する時も同じような方式で保存される。只、ハードディスクは空間を確保するために、有効なデータを移動して消去ブロックの大きさで無効化ブロックを作る場合はない。
【００２１】
しかし、ハードディスクでファイルに対するアクセスを早くするために同じファイルの多くの欠片を集めて物理的に隣接した位置に置くように移動する場合はある。ハードディスクは消去過程を別に実行する必要がないので、新しいデータを保存する空間が無効化状態ならば、すぐに保存すれば良い。
【特許文献１】米国特許第５，４０４，４８５号明細書
【特許文献２】米国特許第６，１２８，６３０号明細書
【特許文献３】米国特許第５，５３０，８５０号明細書
【発明の開示】
【発明が解決しようとする課題】
【００２２】
このようなＪＦＦＳの保存方式が実行されると、エントリーとi ノードの位置が、ファイルのデータと複雑に混じるため、フラッシュメモリーをオペレーティングシステム（ＯＳ）と連結してマウントしてファイルシステムを形成する時、フラッシュメモリーの全体空間を全部読み出さなければならず、また、ツリー(tree)形態のディレクトリ構造をメモリーに作るために、メタデータを捜さなければならない。
【００２３】
また、ログ構造のファイルシステムやジャーナリングファイルシステムが、記憶媒体として、フラッシュメモリーの代わりにハードディスクを利用して構成される場合も、同様な問題点が発生する。すなわち、このハードディスクのデータは、フラッシュメモリーのように消去ブロックを合わせるためにデータを移動する必要はないが、メタデータ（第１データ）等がファイルデータ（第２データ）と混ざって全体空間に散らばっていれば、アクセス速度がフラッシュに比べて40-50倍遅くて、容量がギガバイトを越す大きさでディスク全体を読んでファイルシステムを構成することは非常に多くの時間を要求することになる。
【００２４】
そして、ハードディスクは、ログ構造のファイルシステムやジャーナリングファイルシステムを用いて、主に大容量のマルチメディアデータを保存しかつ再生する。しかし、メタデータ等が混じることによって一定時間当たり均一な速度のデータを送ることができなければ、マルチメディアファイルシステムとしての効用が減退する。
従って、本発明は、従来技術の制限及び欠点による１つ以上の問題点を取り除く二重ジャーナリング保存方法を導くものである。
【００２５】
本発明の目的は、このような問題点を解決するためにメタデータと一般ファイルデータを分離して、ファイルデータは記憶媒体の初めの位置から保存して、メタデータは記憶媒体の終りの位置から初めの方向に保存するデータの二重ジャーナリングの保存方法を提供することである。
【課題を解決するための手段】
【００２６】
また、本発明による二重ジャーナリング保存方法は、メタデータを記憶媒体の初めの位置から終りの方向に保存して、ファイルデータを終りの位置から初めの方向に保存する方式も含む。
ここで、記憶媒体のはじめから保存されるデータと、終りから初めの方向に保存されるデータがメタデータやファイルデータではない他の情報のデータであるかもしれない。
【００２７】
本発明で提示する二重ジャーナリング形式でデータを保存する方法は、一種類のデータはフラッシュメモリー装置の各パーティションに対してはじめから保存して、他の一種類データは終りから前方へ保存する方式である。
はじめから保存されるデータ等を前半部ジャーナリング(フロントジャーナリング)データと言い、終りから前方へ保存されるデータ等を後半部ジャーナリング(リアジャーナリング）データと言う。
【００２８】
保存の発生する位置は、ヘッド(head)と言って、 ジャーナリングの後部分で削除過程を実行する位置をテール(tail)と言う。すなわち、前半部ジャーナリングのヘッドとテールが存在して後半部ジャーナリングのヘッドとテールが存在する。また前半部と後半部の両方でヘッドが増加して会うようになる地点を中央点と言う。
【００２９】
保存するデータがフラッシュメモリー装置各パーティションのファイルシステムに入ってくれば、記憶媒体には、上記データを物理的に保存する空間とこのデータに対するファイルを形成するために必要なファイルエントリーとi ノード等のメタデータを保存する空間が必要である。
【００３０】
このような場合のファイルのデータは、前半部ジャーナリングに保存し、メタデータは、後半部ジャーナリングに保存することができる。すなわち、ファイルのデータは、記憶媒体の前半部から保存されて、メタデータは、記憶媒体の後半部から保存されるのである。只、これは逆の場合でも可能である。
【００３１】
このように任意のデータを記憶媒体に保存しようとする時、本発明の二重ジャーナリングの保存方法では、データをどちらに保存するかを判断して保存を始める。そして、データが更新される時は、以前のデータは無効にして、新しいデータをヘッドの位置に保存する。データに対する削除が発生する時は、データを無効化表示だけすればよい。
【００３２】
このような保存と更新と削除が反復されると、記憶媒体に対して前半部ジャーナリングと後半部ジャーナリングが互いに一致することになり、中央点が決まる。また前半部と後半部全部初めの位置に戻ってデータ処理が続くようになれば、その次では、前半部のヘッドまたは後半部のヘッドの中で一方が、先に中央点に一致するので、この時は、先に出会うジャーナリングに保存するデータが多いと判断できるので、中央点を相手側の方に押してデータが多い方により多いジャーナリングを確保するようにする。
【００３３】
フラッシュメモリーの場合は、ジャーナリング保存方式を利用する目的は、消去ブロックに対する消去回数を適切に割り当てることである。中央点が移動すれば、ジャーナリングは、データが多い方のジャーナリングが増加する。その結果、前半部と後半部に対する消去回数を適切に割り当てることができる。
【００３４】
また、本発明によるデータの二重ジャーナリング方法が適用されるフラッシュメモリー装置は、データをＲＡＭの特定アドレス位置から判読して特定アドレス位置に記録するための一連の判読及び記録命令を出すプロセッサーと、データを保存する空間を与えるメモリーと、このメモリーに保存されるデータが、上述の二重ジャーナリング方法で保存されるように制御するメモリー制御部とを含んでいる。
【００３５】
また、本発明は、記録の中で判読作動を許容するようにフラッシュメモリー装置に複数のパーティションが含まれて、各パーティションは他のパーティション等と一緒に判読、記録及び削除が可能になるようにし、またフラッシュメモリーの各パーティションに保存されるデータに対してこれをメタデータと一般ファイルデータを分離して、ファイルデータは記憶媒体、すなわち、各パーティションの初めの位置から保存し、メタデータは、前記各パーティションの終りの位置から初めの方向に保存する。
【００３６】
本発明に従うフラッシュメモリー装置は、
多重分割されたメモリーと;メモリーの多重分割によって区分されることで、保存されるデータが独立に記録、判読または削除できる多数のパーティションと;記録、判読及び削除のための電圧を出力するための多数の電圧出力を与える充電ポンプと;各パーティションが同時に実行可能な判読作動のための多数の第1感知増幅器と；前記各パーティションが同時に実行可能な削除、記録作動のための少なくとも一つ以上の感知増幅器を含む多数の第２感知増幅器とを含み、
前記各パーティションに保存されるデータが、前記各パーティションの保存空間の初めの位置と終りの位置からそれぞれ中央の方へ保存されることを特徴としている。
【００３７】
また、本発明による携帯端末は、前記多重分割されたフラッシュメモリー装置が含まれて、多様なバス(bus)及び前記バスに連結されたプロセッサーが具備される。この時、前記多重分割されたフラッシュメモリーは、前記バスに連結されて、前記プロセッサーによってアクセスが可能である。
【００３８】
また、本発明による携帯端末機は前記フラッシュメモリー装置またはハードディスクドライブのような保存装置が含まれて、多様なバス(bus)及び前記バスに連結されたプロセッサーが具備される。この時、前記保存装置は前記バスに連結されて、前記プロセッサーによってアクセスが可能である。
【発明を実施するための最良の形態】
【００３９】
以下、本発明の望ましい実施形態を添付した図面を参照して詳細に説明する。
図２は、本発明による二重ジャーナリング保存方法で前半部ジャーナリングと後半部ジャーナリングの各ヘッドが互いに会って中央点が決まる一実施形態を示した図である。
【００４０】
図２(a)を参照すれば、図面中、前半部ヘッドはH1で表示して、前半部テールはT1で表示した。また後半部ジャーナリングのヘッドはH2、テールをT2と表示し、中央点をCで表示した。
各パーティションにおけるこのようなファイルシステムにデータのデータ1が入ってくれば、データの種類によって、前半部ジャーナリングデータなのか、後半部ジャーナリングデータなのかを判断して、これをヘッド部分に保存するようになる。
【００４１】
図２(a)において、データ1は、前半部ジャーナリングデータであるので、このデータ1は、記憶媒体に対して初めの位置から保存される。
図２(b)は、データが6個保存される時の状態を見せている。 データ1からデータ4までは、前半部ジャーナリングのデータであり、データ5とデータ6は、後半部ジャーナリングのデータである。
【００４２】
その次の実行において、データ2とデータ6が消去された。只、これは、ジャーナリング保存方式の特性上データが実際に消されたのではなく、無効化(invalid)状態を表しているだけである。
【００４３】
図２(c)では、記憶媒体に対して保存空間（保存領域）が不足して、ガーベッジコレクション(GC)が発生した状態を見せている。すなわち、データ1は有効な(valid)データなのでヘッド部分に移した後、以前のデータ1を無効化させて、以前に無効化されたデータ2と一緒に消去ブロックの大きさを超えれば、実際に削除過程を実行することで自由空間（保存自由空間）を確保する。
【００４４】
このように実際に削除する過程を実行する場合は、フラッシュメモリーで実行する時で、ディスクを使う時は、このような削除過程を別に必要としていない。
このように自由空間が確保されれば、前半部ジャーナリングの終端の部分であるテール(T1)は、データ3の位置に移動される。同じくデータ6も無効化されて消去ブロックの大きさになって消されれば、後半部のジャーナリングのテール(T2)も移動される。
【００４５】
この状態で新しいデータ7を保存しようとする。このデータは、前半部ジャーナリングのデータで前半部ヘッド(H1)に保存しようとするが、空間が不足である。
ゆえに、図２(d)のように、保存することができる位であるD7-1だけ保存して前半部ヘッド(H1)が初めに戻ってきて残りD7-2を保存する。
【００４６】
このような方式で前半部ジャーナリングが後半部ジャーナリングと会えば、原型で初めての位置（記憶媒体の保存領域の始端位置）に戻ってきて保存をするようになって、前記前半部のヘッド(H1)と後半部のヘッド(H2)が会った地点が、中央点(C)に設定される。この時、後半部ヘッド(H2)も終りの位置（保存領域の終端位置）に戻って保存を待つ。すなわち、このような方式で前半部ジャーナリングと後半部ジャーナリングにデータが保存されて、中央点(C)が決まる。
【００４７】
このような方法で継続してデータを保存してみると、前半部ヘッド(H1)や後半部ヘッド(H2)中で一つが、先にまた中央点(C)の位置に到逹するようになるので、この場合、先に到逹するジャーナリング部分が保存するデータが多いと判断することができる。
故に、中央点を相手側の方に移して、先に中央点(C)に到着するジャーナリングの空間を増加させるようにする。
【００４８】
図３は、二重ジャーナリング保存方法で中央点が決まった後、後半部ジャーナリングのヘッドが先に増加して中央点に会い、中央点を前半部ジャーナリングの方に移動することで、新たに中央点が決まる過程を示す一つの実施形態の図面である。
【００４９】
図面を参照すれば、図３(a)では、データ3とデータ5が無効化されて、後半部ジャーナリングのデータ保存が活発でデータ8とデータ9が保存される。さらに、データ10を保存しようとするが空間が不足な場合を示している。
【００５０】
すなわち、後半部ジャーナリングが先に中央点(C)に到逹したのである。ここで、後半部のヘッド(H2)が前半部のヘッド(H1)に会わなかったことで、前半部に保存する空間が充分にある限り、中央点(C)を前半部の方に移動させる。
前半部にデータが充分にあるという判断は、後述する図５のガーベッジコレクションにおいて実行される。
【００５１】
この処理のために、図３の(b)のように、前半部のデータであるD7-1を前半部ヘッド(H1)に移動させ、中央点(C)も前半部に移動させる。
この時、前半部に移動するデータの単位は、フラッシュメモリーの場合、消去ブロック単位である。
【００５２】
なぜなら、移動した後に消去過程を実行して、自由空間を作った後に新しいデータを保存することができるからである。
ここで、消去ブロックは、フラッシュメモリーで一回で消去できるメモリーの単位を意味することで、普通１２８キロバイトまたは２５６キロバイトの大きさに形成される。この時、消去ブロックに対する消去過程が実行されれば、これは自由ブロック、すなわち、データを保存することができる空間が形成されて、"自由空間"は、一定の大きさの自由ブロックを意味するのである。
【００５３】
このように自由空間が作られれば、新しいデータのデータ10を保存する。
このような中央点(C)の移動は、前半部のヘッド(H1)に会うまで、または前半部の余裕データ保存空間が充分にあるまで移動される。
【００５４】
図４は、本発明による二重ジャーナリング保存方法の全般的な実行過程を示した流れ図である。
すなわち、図４は、先に図２及び図３を通じて説明した本発明による二重ジャーナリング保存方法の実行過程を流れ図を利用して表現したことで、本発明によってデータが保存される過程、中央点が決定される過程、及び中央点が移動される過程を説明している。
【００５５】
図２〜図４を参照すれば、先に基本的に前半部のヘッド(H1)、後半部のヘッド(H2)、前半部のテール(T1)、後半部のテール(T2)及び中央点(C)の初期の値は0である(S101)。これは、記憶媒体に前半部ジャーナリングデータ及び後半部ジャーナリングデータが保存される初期状態を意味する。
【００５６】
ファイルシステムに対するデータ保存要求は、バッファーを通じて成り立つが、このような状態で記憶媒体に保存要求(S102)が成り立てば、後述される図５のガーベッジコレクション実行を通じて、保存空間が十分かを確認する(S103)。
【００５７】
もし、ガーベッジコレクション実行によって記憶媒体の空間を確認した結果、記憶媒体の保存空間が十分ならば、図４の流れ図にすぐ戻ってきて実行を継続して、十分でなければ保存空間を確保した後、次の図４の流れ図にすぐ戻ってきて実行を継続する。
【００５８】
このような状態で、中央点(C)が0なのかを確認(S104)するようになる。これは、中央点が初めて決定されるかどうかを確認するためで、これは中央点(C)が決定される前の初期状態と決定した後の処理過程が相違しているためである。
【００５９】
すなわち、中央点(C)が初めて決定される場合は、ヘッドが相手側のヘッドと会うことを確認しなければならないが、既に中央点が形成された場合は、どのヘッドが中央点に先に会うのか確認しなければならないためである。
【００６０】
本発明は、段階104の判断結果中央点(C)が0である場合、または0ではない場合、それぞれの場合に対して、データが前半部ジャーナリングデータなのかを確認(S105)して、それによってデータを保存する。
【００６１】
先に中央点(C)が0で、新たに保存されるデータが、前半部ジャーナリングデータすなわち、保存装置の前半部から保存されるデータで、その大きさがSである場合を仮定する。
この場合、データ(S)が保存されたら、前半部ジャーナリングデータのヘッドは、新しくH1＋Sに位置するようになることを意味する。先にSの大きさのデータを保存することができる空間になるのかを確認するために、段階106が実行される。
すなわち、これは、保存される前半部ジャーナリングデータのヘッド(H1＋S)が、後半部ジャーナリングデータのヘッド(H2)と会うようになるかどうかを確認(S106)するのである。
【００６２】
もし、保存される前半部ジャーナリングデータヘッド(H1＋S)が、後半部ジャーナリングデータヘッド(H2)が会わなければ、すなわち、段階106に図示された[H1＋S≦H2]を満たす場合には、その保存空間が十分だという意味であるので、H1の位置から前半部ジャーナリングデータが保存されて、前記データのヘッドは、既存のH1位置でH1＋Sの位置で増加する(S108)。これは、図２(a)(b)に当たる内容である。ここで、H1、H2等の位置は、フラッシュメモリーで、例えば、バイト単位で増加するアドレスで、データの大きさSは、バイト単位の大きさなので、単位は等しく演算可能である。
【００６３】
しかし、段階106で[H1＋S≦H2]を満たすことができない場合、すなわち、保存される前半部ジャーナリングデータのヘッド(H1＋S)が、後半部ジャーナリングデータのヘッド(H2)に会うようになれば、これは、段階109によって前記データの大きさ(S)の中で保存が可能な大きさである(H2−H1)位だけ、H1の位置から保存される。
【００６４】
また、この場合、中央点は、図２(d)のように、H2の位置で決まって、前記データの残り部分[S-(H2-H1)]は、前半部ジャーナリングのはじめから再び保存される。
すなわち、段階109に示されたように、中央点(C)値は、より以上0ではなくなって、 H1は0になって、データの残り部分[S-(H2-H1)]が0から保存されて、ここに再び前記H1は、[S-(H2-H1)]の大きさ位増加する。これは、図２(c）(d)に当たる内容である。すなわち、図２の(d)でのH1が、[S−(H2−H1)]に該当して、新しい保存位置になる。
【００６５】
もし、保存されるデータが後半部ジャーナリングデータである場合には、上記説明と対称的に保存される(S107)。
また、段階104で中央点(C)が0ではない場合にも、0である場合と同じように保存されるデータが前半部ジャーナリングデータなのかを確認(S110)する。
【００６６】
只、段階104で中央点(C)が0ではない場合は、前半部ジャーナリングデータのヘッドと後半部ジャーナリングデータのヘッドが既に会って中央点が決定されたという意味なので、前記保存されるデータが前半部ジャーナリングデータである場合、H1＋Sが中央点(C)を越すのかを確認しなければならないという点で前に説明した場合と区別される。
【００６７】
この時、保存される前半部ジャーナリングデータのヘッド(H1+S)が、中央点(C)を越さなければ、すなわち、段階111に図示された[H1＋S ≦C]を満足する場合には、その保存空間が十分だという意味なので、H1の位置から前半部ジャーナリングデータが保存されて、前記データのヘッドは、既存のH1位置でH1＋Sの位置に増加する(S112)。
しかし、段階111でH1+S ≦Cを満たすことができない場合、すなわち、保存される前半部ジャーナリングデータのヘッド(H1+S)が、中央点(C)と会うようになれば、これは、段階114によって一応前記データの大きさ(S)中、保存が可能な大きさである(C-H1)位だけH1の位置から保存される。
【００６８】
これは、前半部ジャーナリングデータが多いと判断して、その空間を充分に確保するためのことであり、これを通じてフラッシュメモリーに対して保存回数を適切に割り当てることができる。
【００６９】
只、後半部の方で中央点(C)を押し出す場合、後半部ジャーナリングのデータの有用なデータは、H2に移動するようになるので、この時、後半部側に保存可能な空間があるのか先に確認しなければならない(S115)。すなわち、 Sの残り部分[S-(C-H1)]を保存できるのかを確認する。これは、図３(b)に該当する内容である。
【００７０】
後半部側に保存可能な空間があれば、段階116のように、後半部で[S-(C-H1)] の大きさ位のデータをH2の位置に移して、その場所に新しいデータ[S-(C-H1)]を保存する。これは、図３(b)でD7-1がH1に移されたことを通じて理解される。図３は、前半部の方に中央点を押し出す場合でお互いに上の説明と逆であるが、その原理は同じである。
【００７１】
しかし、後半部側に保存可能な空間がなければ、これは、後半部がデータでいっぱいになった場合を意味するので、段階118と同じく可能な位だけ中央点を後半部に押し出し、残りは0の位置にきて(すなわち、H1＝0)保存して終わらせる。
もし、保存されるデータが後半部ジャーナリングデータである場合には、上記説明と対称的に保存される(S113)。
【００７２】
上記のようなデータの保存過程が終われば、また図５を通じて説明するようにガーベッジコレクション実行過程を呼び出す。
【００７３】
図５は、二重ジャーナリング保存方法の一部分でガーベッジコレクション(GC）実行過程を示した流れ図である。
図５のガーベッジコレクション実行過程では一応、データ保存に対する要求が入ってくれば、 ガーベッジコレクションが実行されてデータを保存するだけ自由空間があるのか確認する。
【００７４】
保存するデータは、一応保存バッファーに存在する。保存するデータの大きさの自由空間がなければ、 ジャーナリング方法によってデータを移して無効化空間を消去ブロック位集めて消去過程を実行した後、新しいデータに対する最小限の空間が確保されれば、先に保存を実行する。ここまでが、図４で初めの部分GCを呼び出しする場合である(図４のS101-S103)。
【００７５】
そして、一定なデータの大きさに対して自由ブロックが存在した状態(S201)で、バッファーにデータがあるのかを確認(S202)した後、もし、バッファーにデータがある場合、そのデータが前半部ジャーナリングなのかを確認(S203)する。
【００７６】
この時、自由ブロックは、消去ブロックに対する削除過程が実行された後に形成されるので、データを保存することができる空間を意味する。また、一定の大きさの自由ブロックは自由空間を形成する。
【００７７】
段階203でデータが前半部ジャーナリングではない場合、後半部も前半部と同様な方式で処理される(S204)。反対に、データが前半部ジャーナリングである場合、自由空間が十分なのかを確認(S205)する。
【００７８】
段階205で、自由空間が十分ならばガーベッジコレクション実行を終了し、反対に、自由空間が十分ではなければ、前半部テール(T1)で有効な空間を前半部ヘッド(H1)に移して消去ブロックに無効化空間を確保して消す(S206)。
【００７９】
一方、挿入データに対する保存が実行された後、保存空間内に十分な空間を確保するためにもう一度ガーベッジコレクションの処理がなされるが、この時、図６のグラフによって消さなければならない消去ブロックの個数を決定する。これは、保存バッファーに保存するデータがない時に実行される。
【００８０】
このような状態で、図６に示すように、決定グラフでN2以上の自由ブロックを確保していれば、これ以上消去ブロックに対する消去過程が発生しない。 N2は普通全体保存空間に対して約10％位に設定する。現在自由ブロックの個数がN1からN2間にある時は、最大限N2以上の自由ブロックを確保するために、消去ブロックの所定の個数を消去する(S207, 208,210,211)。
【００８１】
この時、N1値は、自由ブロックが枯渇する限界値を意味することで、その設定によって2または3の自由ブロックに設定することができる。すなわち、2個や3個の自由ブロックだけ現システム内に残るようになれば、システムは、一番優先的に無効化データ及び有効データが混じっている消去ブロック中で、有効データを他の自由ブロックに移して、それによって、消去ブロックが無効化ブロックになれば、消去過程を実行して自由空間を確保するようになる。
【００８２】
また、前記N2値は、全体フラッシュメモリーの消去ブロック個数の約10％位に設定する。
これは、フラッシュメモリーの消去ブロックを消す時間は、保存する時間の2 〜10倍、データを読む時間の100 〜1000倍位に非常に長いため、よく消去過程を実行すると、システムが全体的に遅くなる結果をもたらす。
【００８３】
それによって、フラッシュメモリーの空間が相当あると思われる場合は、不必要に消去過程を実行しない。フラッシュメモリーの自由空間が相当あると判断されるのは、一般的に10％程度である。段階207で現在自由ブロックの個数がN１未満ならば、どんな演算より優先して消去ブロックを確保する。消去演算を実行した後でも自由消去ブロックの個数がN１以下ならば、これ以上の保存空間がないという意味である。
【００８４】
また、段階210で、現在自由ブロックの個数がN２以下ならば、それによって消去ブロックに無効化空間を確保してこれを消す(S210、211)。
初めのガーベッジコレクションから十分な自由空間を確保しない理由は、消去過程が読み取りや書き取りに比べて時間をたくさん消耗するのに、データ保存に対する要求が入ってきた時、自由空間を充分に確保するためには、データ保存に対する実行時間(latency time)が長くなるためである。
【００８５】
また、大部分のフラッシュメモリーは、消去過程を実行している途中、読み取り及び書き取り演算の要求が入ってくれば、消去過程を保留して、まず順位が高い演算を実行する機能があるため、これを活用することができる。
【００８６】
図２乃至図６を通じて説明した本発明によるデータの二重ジャーナリング保存方法は、多様な記憶媒体に適用されることができるが、以下では、二重ジャーナリング保存方法に適用されるフラッシュ保存装置に対して説明する。
【００８７】
図７は、本発明によるデータ二重ジャーナリング保存方法が適用されるフラッシュメモリー装置の概略的な構成ブロック図である。
図７を参照すれば、本発明によるフラッシュメモリー装置は、データをＲＡＭ(16)の特定アドレス位置から判読して、特定アドレス位置に記録するための一連の判読及び記録命令を出すプロセッサー(10)と、データを保存する空間を与えるフラッシュメモリー(12)と、メモリー(12)に保存されるデータが前に説明した二重ジャーナリング保存方法で保存されるように制御するメモリー制御部(14)とを含んでいる。
【００８８】
図８は、フラッシュメモリー装置の一実施形態に対する構成ブロック図で、この場合も同様に、フラッシュメモリー装置のメモリーに保存されるデータは、図２乃至図６を通じて説明したような二重ジャーナリング保存方法によって保存されることを特徴とする。
【００８９】
図８を参照すれば、一実施形態によるフラッシュメモリー装置(100)は、データが記録されるメモリー(110)は、Ｘデコーダー(160)及びこれと関連するＹデコーダー(180)を有する。Ｘデコーダー(160)及びＹデコーダー(180)は、メモリーの行と列のアドレス割り当てを許容する。
【００９０】
また、使用者インターフェース(120)は、フラッシュメモリー装置(100)を制御する。使用者インターフェース(120)は、メモリー(110)へのアクセスを制御するプロセッサーと連結されていて、状態レジスター(130)は現在メモリー(110)の状態(記録、判読または削除)を保存する。プロセッサーは、使用者インターフェース(120)からフラッシュメモリーの状態が分かる。
【００９１】
また、感知増幅器等(140)は、メモリー(110)と接続されており、感知増幅器(140)はメモリー(110)への記録または判読のための信号を増幅するのに使われる。例えば、16個の入/出力等(I/Os)に分割された列に対して、各I/Oに一つずつ使われて16個の感知増幅器等(140)が記録及び判読のために使用される。
また、フラッシュメモリー(100)は、さらに充電ポンプ(150)を含んでおり、この充電ポンプ(150)は、メモリー(110)の記録、判読及び削除に必要な電圧レベルを提供するのに使用される。
【００９２】
只、実施形態によるフラッシュメモリー装置は、一つのメモリー(110)のサーブセットで構成されていて、一つのブロックで読み取り及び書き込みの作動を実行する。従って、フラッシュメモリーは、使用者がメモリーの他のブロックを削除するとか判読すると同時にフラッシュメモリーのブロックに対してデータを書き込むことができないという短所がある。
【００９３】
しかし、同時作動は、フラッシュメモリーブロックの削除時間(通常250-500 ms)によって制限されるいくつかの応用技術において、必要とされる。例えば、説明すれば、移動電話は、フラッシュメモリーから直接コードを実行する。これは、同時にデータ保存のための空間を利用するように分離したメモリーブロックを消去することができるという長所がある。
【００９４】
このような問題点を克服しながら本発明によるデータの二重ジャーナリング保存方法を利用可能にするフラッシュメモリー装置を、図９を通じて以下で説明する。
【００９５】
図９は、本発明によって多重分割されたフラッシュメモリー装置を図示したものである。
図９を参照すれば、パーティションA 210、 B 215、 C 225、 D 220、 E 230、....n-1 235、 n 235が図示されている。
【００９６】
各パーティションは、フラッシュメモリー装置に物理的に分割された装置として具現される。一実施形態として、各パーティションは、異なる物理層として与えられる。各パーティション210、 215、 220、 225、 225、 230、 235、及び240は、Ｘデコーダー及びＹセレクターに連結されている。
【００９７】
各Ｙセレクターは、Ｙセレクターを制御するＹデコーダー(240)と連結されている。他の実施形態として、複数のＹデコーダー等(240)がシステム内に存在することができる。
Ｘデコーダー及びＹセレクターは、判読、記録及び削除を含むアクセス用のフラッシュメモリー内における特定領域の選択ができるようにする。複数のＸセレクター及びＹセレクターを構成することで、フラッシュメモリーの一つ以上のサーブセクションに同時にアクセスすることを許容する。
【００９８】
例えば、パーティションＡが削除されるうちにパーティションＢの判読及びパーティションＣの記録が同時に成り立つ。各パーティションは、別に削除できるブロックを一つまたはそれ以上含むことができる。従って、例えば、パーティションＢのメモリーブロックが削除されるうちに、パーティションＡ内のメモリーに記憶させることができる。
【００９９】
使用者は、使用者インターフェース(250)を通じてフラッシュメモリー(200)へのアクセスを制御することができる。一実施形態として、使用者インタフェース(250)は、フラッシュメモリー自体の一部である。他の実施形態として、使用者インターフェース(250)は分離したチップに位置する。インターフェースは、それぞれの並列記録作動を制御するために使われる複数の状態機(state machines)を含む。
【０１００】
従って、２個の並列記録作動(例えば、コードを更新する間、データブロックに記憶すること)がある場合、２個の状態機が存在する。３個の並列記録作動がある場合、３個の状態機が存在する。
【０１０１】
状態レジスターは、使用者インターフェース(250)に連結されている。状態レジスター(260)は各パーティションの状態を現わす。 n個のパーティションがあれば、一実施形態としてn個の状態レジスター(260)が存在する。各パーティションの状態は次の中の一つである:遊休状態(idle)、判読中(being read)、記録中(being written)、または削除中(being erased)。
【０１０２】
また、感知増幅器(270)は、使用者インターフェース(250)に連結されている。感知増幅器等は判読、記録及び削除作動に使われる。
一実施形態として、感知増幅器等(270)の個数は、次のように決定される。すなわち、16ビットワイド形フラッシュメモリーにおいて、実行可能な各並列作動のために16個の感知増幅器等(270)が必要である。従って、例えば、二番目パーティションが記録されるうちに一番目パーティションが判読される場合、32個の感知増幅器等(270)が必要である。
【０１０３】
また、２個のパーティションが並列的に判読される場合、３２個の感知増幅器等(270)が判読に必要である。感知増幅器等 (270)の個数は、フラッシュメモリーの出力列の幅(X)と実行可能な並列作動の個数(Y)の倍の要素である。
一実施形態として、３重分割フラッシュメモリーの場合、一番目パーティションは判読されて、二番目パーティションは記録されて、三番目パーティションは削除されることができるし、この場合、3X個の感知増幅器等 (270)を使用する。削除に使われる感知増幅器等 (270)は、総削除時間で非常に低い比率を使用する。
【０１０４】
同じように、記録に使われる感知増幅器 (270)はすべての記録時間で低い比率を使用する。従って、一実施形態として、一つの感知増幅器(270)が各実行可能な並列記録作動及び各実行可能な並列削除作動に使用される。
【０１０５】
感知増幅器(270)は、各ビートが記録される場合、各ビートを検証する時に使用される。また、重複感知増幅器(270)が重複行(redundant column)アクセスのような他の作動のために設けることもできる。
【０１０６】
一実施形態として、各並列判読及び/または記録において、２個の重複感知増幅器(270)が感知増幅器ブロック(270)に含まれる。
そして、充電ポンプ等 (280)が回路に含まれる。充電ポンプ等 (280)は判読、記録、及び削除のための電圧レベルを調節するのに使われる。一実施形態として、削除に必要な電圧レベルは約−10ボルトである。
【０１０７】
一実施形態として、判読及び記録に必要な電圧レベルは約7ボルトである。一実施形態として、パーティション等への並列アクセスを許容するために複数のリード線を持つ一つの充電ポンプ (280)が使用される。
【０１０８】
他の実施形態として、同時にお互いに違うパーティション等にアクセスするために必要な電圧レベルを提供するために複数の分離した充電ポンプ(280)が使われることができる。
充電ポンプ(280)は、電圧レベルを判読、記録及び削除するのに適するレベルまで上昇させるため、各パーティションのＹセレクターに連結されている。
【０１０９】
上記のようにフラッシュメモリー装置のメモリー側、フラッシュメモリーが多重分割されれば、分割されたそれぞれのパーティションは、独立して記録、判読及び削除を実行することができるようになるし、それによって前記パーティションに保存されるデータもやはり各パーティション別に独立に保存される。
この時、各パーティションに保存されるデータは、先に図２乃至図６を通じて説明した二重ジャーナリング保存方法によって保存されることをその特徴とする。
【０１１０】
前記図２乃至図９を通じて説明したデータの二重ジャーナリング保存方法及びこの保存方法を適用したフラッシュメモリー装置は、多様な目的に使うことができる。
その一実施形態において、図２乃至図６を通じて説明した本発明のデータ二重ジャーナリング保存方法と図９を通じて説明した多重分割されたフラッシュメモリー装置が適用された携帯端末装置に対して説明する。
【０１１１】
ここで、多重分割されたフラッシュメモリー装置のパーティションの個数は、フラッシュメモリーに依存する。図１０は、一つの実施形態で3重分割されたフレッシュメモリーが採用された実施形態を図示したものである。
【０１１２】
前記３重分割フラッシュメモリー装置の使用例は、次のとおりである。一番目パーティションはデータを保存するために使うことができる。二番目パーティションはフラッシュメモリーを含む装置によって実行されるコードを保存するために使うことができる。三番目パーティションはコードの更新を許容するために使うことができる。
例えば、更新結果コードが変わる場合、二番目パーティションに保存されているオリジナルコードが実行されると同時に新しいコードは三番目パーティションに記録される。
【０１１３】
新しいコードが記録されて検証されれば、三番目パーティションはコードのために使われるパーティションになる。従って、フラッシュメモリーのシームレス(seamless)更新が可能である。
【０１１４】
３重分割フラッシュメモリー装置の他の実施形態として、コードは一番目パーティションから実行されるようにして、データ更新は、二番目パーティションで成り立つようにする。従って、コード実行の結果データ更新が必要な場合、シームレスデータの更新が成り立つ。
【０１１５】
図１０は、本発明によるフラッシュメモリー装置を使う携帯端末機の例を図示したものである。
すなわち、携帯端末機(410)は、本発明の一実施形態によるフラッシュメモリー装置(430)を含む。
【０１１６】
只、フラッシュメモリー(430)が携帯端末機(410)に図示されているが、一般的にフラッシュメモリー(430)は携帯端末機(410)の本体の内保存所(receptacle)に収容されていることを理解しなければならない。
【０１１７】
また、前記携帯端末機には多様なバス及び前記バスに連結されたプロセッサーが具備されて、本発明によるフラッシュメモリー(430)は、バスに連結されて、プロセッサーによってアクセスが可能である。
図示された携帯端末機(410)は、作動中に、コードを実行しているし、現在活性化になったコードを含むパーティション(460)が実行されている。
【０１１８】
このようなコードの使用は、本技術分野で知られている。また、他のパーティション (450)は、呼び出しまたは音声データを含んでいる。例えば、携帯端末機(410)は呼び出しディレクターまたは類似のデータをデータパーティション(450)に含むことができる。
【０１１９】
三番目パーティション(470)は、外部で新しいコード(440)を収容する。一実施形態として、三番目パーティションは遠隔的に更新することができる。従って、携帯端末機が作動中である間、新しいコード(440)が新しいコードパーティション(470)に記録されてデータパーティション(450)が呼び出しデータを再生するために使用されると同時に、パーティション(460)に保存されているコードを実行することができる。
【０１２０】
このような方式で、携帯端末機はシームレス移動電話コードの更新と、同時的な更新及び携帯端末機の使用を許容する。このようなシームレスコード更新のような他の応用分野は、同様に包含することができる。
また、それぞれのパーティションのデータ保存は、前に説明したように、図２乃至図６を通じて説明した本発明による二重ジャーナリング保存方法によることを特徴とする。
【産業上の利用可能性】
【０１２１】
以上で説明したように、本発明の実施形態の二重ジャーナリング保存方法では、フラッシュメモリー等の記憶媒体に保存されるデータは、メタデータと一般ファイルデータに分離される。そして、ファイルデータは各パーティションの初めの位置から記憶媒体に保存し、メタデータは各パーティションの終りの位置から初めの方向に保存される。
【０１２２】
本発明の実施形態の二重ジャーナリング保存方法を利用する場合、種類が同じデータを一定領域に維持するために早いデータのアクセス時間を達成することができ、フラッシュメモリーでの消去回数をフラッシュメモリー空間に均一に割り当てることができる。
また、二重ジャーナリング保存方式の特徴によって、電源ミス等によってデータミスが発生した場合、以前バージョンでのデータ復旧が容易なので、データに対する信頼性を保障する効果がある。
【０１２３】
以上、本発明の好ましい実施形態を説明してきたが、本発明の特許請求の範囲から逸脱しない範囲において、当業者であれば、種々の修正例及び変形例が可能であることが明らかになるであろう。従って、本発明は、添付する特許請求の範囲で生じる修正例及び変形例、および等価物を包含できることを意図している。
【図面の簡単な説明】
【０１２４】
【図１】一般的なフラッシュメモリーにファイルシステムを構成するＪＦＦＳ２における保存方法の一例を示した図である。
【図２】本発明による二重ジャーナリング保存方法において、前半部ジャーナリングと後半部ジャーナリングのヘッドがお互いに一致して中央点が決まる実施形態を示した図である。
【図３】本発明による二重ジャーナリング保存方法において、中央点が決まった後、後半部ジャーナリングのヘッドが先に増加して中央点と一致し、中央点を前半部ジャーナリングの方に移動することで新たに中央点が決まる過程の実施形態を示した図である。
【図４】本発明の二重ジャーナリング保存方法の全般的な実行過程を示す流れ図である。
【図５】本発明の二重ジャーナリング保存方法の一部分でガーベッジコレクション実行を示す流れ図である。
【図６】本発明の二重ジャーナリング保存方法のガーベッジコレクション実行で消去ブロックの個数を決定するグラフである。
【図７】本発明によるデータ二重ジャーナリング保存方法が適用されるフラッシュメモリー装置の概略的な構成ブロック図である。
【図８】本発明の一実施形態によるフラッシュメモリー装置の構成ブロック図である。
【図９】本発明によって多重分割されたフラッシュメモリー装置を図示した図である。
【図１０】本発明によるフラッシュメモリー装置を使用する携帯端末機の例を図示した図である。
【符号の説明】
【０１２５】
１０  プロセッサー
１２  フラッシュメモリー
１４  メモリー制御部
１１０  メモリー
１２０  使用者インターフェース
１３０  状態レジスター
１４０  感知増幅器
１５０  充電ポンプ
１６０  Ｘデコーダー
１８０  Ｙデコーダー
【図１】
0004415356.tif 000002
【図２】
0004415356.tif 000003
【図３】
0004415356.tif 000004
【図４】
0004415356.tif 000005
【図５】
0004415356.tif 000006
【図６】
0004415356.tif 000007
【図７】
0004415356.tif 000008
【図８】
0004415356.tif 000009
【図９】
0004415356.tif 000010
【図１０】
0004415356.tif 000011