(57)【要約】【課題】複数のマッピング技法を採用した適応型フラッシュメモリ装置及びそれを含むフラッシュメモリシステムを提供する。【解決手段】フラッシュメモリを制御する装置は、複数のフラッシュ変換レイヤーを記憶するメモリと、外部からアクセス要請がある時、前記アクセス要請のアクセス類型を判別して、判別結果によって、前記メモリに記憶された前記フラッシュ変換レイヤーのうち一つを選択して、前記選択されたフラッシュ変換レイヤーによって前記フラッシュメモリのマッピング情報を管理する制御ブロックとを含む。【選択図】図４
2006221627.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリ制御装置において、
複数のフラッシュ変換レイヤーを記憶するように構成されたメモリユニットと、
前記メモリユニットに電気的に連結された制御ユニットと含み、
前記制御ユニットは少なくとも一つの印加されたメモリアクセス要求と関連したフラッシュメモリアクセスを決めることによって応答して前記複数のフラッシュ変換レイヤーのうち一つを選択するように、そして前記複数のフラッシュ変換レイヤーのうち選択された一つに基づいてフラッシュメモリ装置に対するデータマッピングを管理するように構成されることを特徴とするフラッシュメモリ制御装置。
【請求項２】
前記制御ユニットは前記少なくとも一つの印加されたメモリアクセス要求に応じて前記フラッシュメモリ制御装置に印加されたデータから論理アドレス情報を抽出するように構成され、
フラッシュメモリアクセスのパターンを決めることは前記抽出された論理アドレス情報からフラッシュメモリアクセスのパターンを決めることを特徴とする請求項１に記載のフラッシュメモリ制御装置。
【請求項３】
前記制御ユニットは前記少なくとも一つの印加されたメモリアクセルの要求からアクセス情報を蓄積するように構成され、
フラッシュメモリアクセスのパターンを決めることは前記蓄積されたアクセス情報からフラッシュメモリアクセスのパターンを決めることを特徴とする請求項１に記載のフラッシュメモリ制御装置。
【請求項４】
前記複数のフラッシュ変換レイヤーの各々は前記フラッシュメモリ装置内の各メモリ領域に位置することを特徴とする請求項１に記載のフラッシュメモリ制御装置。
【請求項５】
前記複数のフラッシュ変換レイヤーのうち第１フラッシュ変換レイヤーはページマッピング技法に対応し、
前記複数のフラッシュ変換レイヤーのうち第２フラッシュ変換レイヤーはログマッピング技法とブロックマッピング技法のうちいずれか一つのマッピング技法に対応することを特徴とする請求項１に記載のフラッシュメモリ制御装置。
【請求項６】
前記メモリユニットと前記制御ユニットとはフラッシュメモリカード内にパッキングされることを特徴とする請求項１に記載のフラッシュメモリ制御装置。
【請求項７】
前記メモリユニットと前記制御ユニットとは半導体ディスク制御器内にパッキングされることを特徴とする請求項１に記載のフラッシュメモリ制御装置。
【請求項８】
ラッシュメモリ制御装置において、
複数のフラッシュ変換レイヤーを記憶するように構成されたメモリユニットと、
前記メモリユニットに電気的に連結された制御ユニットとを含み、
前記制御ユニットは前記フラッシュメモリ制御装置によって受け入れられたデータから論理アドレス情報を抽出することに応答して前記複数のフラッシュ変換レイヤーのうちの一つを選択するように、そして前記抽出される論理アドレス情報からフラッシュメモリアクセスのパターンを決めるように構成されることを特徴とするフラッシュメモリ制御装置。
【請求項９】
前記制御ユニットは前記複数のフラッシュ変換レイヤーのうちいずれか一つに基づいてフラッシュメモリ装置に記憶されたデータのマッピングを管理するように構成されたことを特徴とする請求項８に記載のフラッシュメモリ制御装置。
【請求項１０】
フラッシュメモリを制御する装置において、
複数個のフラッシュ変換レイヤーを記憶するメモリと、
外部からアクセス要請がある時、前記アクセス要請のアクセス類型を判別して、判別結果によって前記メモリに記憶された前記フラッシュ変換レイヤーのうち一つを選択して、前記選択されたフラッシュ変換レイヤーによって前記フラッシュメモリのマッピング情報を管理する制御ブロックとを含むことを特徴とする装置。
【請求項１１】
前記制御ブロックは前記アクセス要請時、入力されるデータから論理アドレス情報を抽出して、前記抽出された論理アドレス情報に基づいて前記アクセス要請のアクセス類型を判別することを特徴とする請求項１０に記載の装置。
【請求項１２】
前記制御ブロックは前記アクセス要請がある度に前記アクセス要請のアクセス類型情報を蓄積して、前記蓄積されたアクセス類型情報に基づいて前記フラッシュメモリのアクセス類型を決めることを特徴とする請求項１０に記載の装置。
【請求項１３】
前記制御ブロックは前記アクセス要請時、外部から入力されるアクセス情報によって前記アクセス類型を判別することを特徴とする請求項１０に記載の装置。
【請求項１４】
前記フラッシュメモリは前記フラッシュ変換レイヤーに各々対応する複数のメモリ領域を含み、前記メモリ領域の各々のマッピング情報は対応するフラッシュ変換レイヤーによって管理されることを特徴とする請求項１０に記載の装置。
【請求項１５】
前記フラッシュメモリは少なくとも第１及び第２メモリ領域で区別され、前記メモリは前記第１メモリ領域のマッピング情報を管理する第１フラッシュ変換レイヤーと前記第２メモリ領域のマッピング情報を管理する第２フラッシュ変換レイヤーとを含むことを特徴とする請求項１０に記載の装置。
【請求項１６】
前記第１フラッシュ変換レイヤーはページマッピング技法を使用し、前記第２フラッシュ変換レイヤーはログ及びブロックマッピング技法のうちいずれか一つを使用することを特徴とする請求項１５に記載の装置。
【請求項１７】
前記フラッシュメモリ及び前記フラッシュメモリを制御する装置はメモリカードに含まれることを特徴とする請求項１０に記載の装置。
【請求項１８】
前記フラッシュメモリを制御する装置は半導体ディスク制御装置に含まれることを特徴とする請求項１０に記載の装置。
【請求項１９】
ホストと、
複数のメモリ領域を含むフラッシュメモリと、
少なくとも二つのフラッシュ変換レイヤーを記憶するように構成された制御装置とを含み、
前記ホストからアクセス要請がある度に、前記制御装置は前記ホストから提供されるアクセス情報に基づいてアクセス類型を判別して、判別されたアクセス類型によって前記フラッシュ変換レイヤーのうち一つを選択して、前記選択されたフラッシュ変換レイヤーによって前記フラッシュメモリのメモリ領域に対するマッピング情報を管理することを特徴とするフラッシュメモリシステム。
【請求項２０】
前記制御装置は、
前記フラッシュ変換レイヤーを記憶するメモリと、
前記アクセス情報からアクセス類型を判別して、判別されたアクセス類型によって前記フラッシュ変換レイヤーのうちの一つを選択して、前記選択されたフラッシュ変換レイヤーによって前記フラッシュメモリのメモリ領域に対するマッピング情報を管理する制御ブロックとを含むことを特徴とする請求項１９に記載のフラッシュメモリシステム。
【請求項２１】
前記制御ブロックは前記アクセス要請時入力されるデータから論理アドレス情報を抽出して、前記抽出された論理アドレス情報に基づいて前記アクセス要請のアクセス類型を判別することを特徴とする請求項２０に記載のフラッシュメモリシステム。
【請求項２２】
前記制御ブロックは前記アクセス要請がある度に前記アクセス要請のアクセス類型情報を蓄積して、前記蓄積されたアクセス類型情報に基づいて前記フラッシュメモリのアクセス類型を決めることを特徴とする請求項２０に記載のフラッシュメモリシステム。
【請求項２３】
前記制御ブロックは前記アクセス要請時外部から入力されるアクセス情報によって前記アクセス類型を判別することを特徴とする請求項２０に記載のフラッシュメモリシステム。
【請求項２４】
前記フラッシュ変換レイヤーのうちの第１フラッシュ変換レイヤーはページマッピング技法を使用し、第２フラッシュ変換レイヤーはログ及びブロックマッピング技法のうちのいずれか一つを使用することを特徴とする請求項２０に記載のフラッシュメモリシステム。
【請求項２５】
前記メモリ領域のうちの一部のマッピング情報は前記第１フラッシュ変換レイヤーによって管理され、前記メモリ領域のうちの残りのマッピング情報は前記第２フラッシュ変換レイヤーによって管理されることを特徴とする請求項２４に記載のフラッシュメモリシステム。
【請求項２６】
前記フラッシュメモリ及び前記制御装置はメモリカードを構成することを特徴とする請求項２０に記載のフラッシュメモリシステム。
【請求項２７】
前記フラッシュメモリシステムは半導体ディスク制御装置であることを特徴とする請求項２０に記載のフラッシュメモリシステム。
【請求項２８】
フラッシュメモリのマッピング情報を管理する方法において、
前記フラッシュメモリのアクセス要請時毎に前記アクセス要請のアクセス類型を判別する段階と、
前記判別されたアクセス類型によって複数のフラッシュ変換レイヤーのうち一つを選択する段階と、
前記選択されたフラッシュ変換レイヤーによって前記フラッシュメモリのマッピング情報を管理する段階とを含むことを特徴とする方法。
【請求項２９】
前記判別段階は、
前記アクセス要請時入力されるデータから論理アドレス情報を抽出する段階と、
前記抽出された論理アドレス情報に基づいて前記アクセス要請のアクセス類型を判別する段階とを含むことを特徴とする請求項２８に記載の方法。
【請求項３０】
前記判別段階は、
前記アクセス要請がある度に前記アクセス要請のアクセス類型情報を蓄積する段階と、  
前記蓄積されたアクセス類型情報に基づいて前記フラッシュメモリのアクセス類型を決める段階とを含むことを特徴とする請求項２８に記載の方法。
【請求項３１】
前記アクセス類型は前記アクセス要請時外部から入力されるアクセス情報によって判別されることを特徴とする請求項２８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は記憶装置に係り、さらに具体的にはフラッシュメモリのような不揮発性の消去可能な半導体メモリを効率的に管理する装置に関する。
【背景技術】
【０００２】
最近技術開発によると、事務用デスクトップコンピュータと移動環境用ノートブックコンピュータのような多様な形態のパーソナルコンピュータが開発されて市場に発売開始されている。一般的に、このようなコンピュータシステムはメインメモリと外部記憶装置とを含む。外部記憶装置は記憶容量の低い単価と、大きいメモリ容量とを有することが望ましい。
【０００３】
外部記憶装置はディスク記憶媒体を利用した従来のハードディスクドライブＨＤＤまたはプロッピィーディスクドライブＦＤＤである。このようなディスク記憶装置は一般的に安価で大きいメモリ容量を提供するが、マクネティックヘッドで多様な動作（例えば、ディスク探索動作）を実行するためにかなり纎細で機械的な技術を要求する。よって、ディスク記憶装置は物理的な衝撃で容易に損傷してしまうので、他の形態のメモリ装置より信頼性が低いと見なされる可能性がある。
【０００４】
フラッシュＥＥＰＲＯＭのようなフラッシュメモリに実現された外部半導体メモリ装置は任意の環境でディスク記憶装置に対する実行可能な代案を提供する。フラッシュメモリ装置は一回以上プログラムされる不揮発性メモリ装置である。さらに、フラッシュメモリ装置は容易に実現できる簡単な構造を有する。フラッシュメモリ装置が一般的に少ない電力を消耗し、コンパクトで、軽く、そして物理的な衝撃により損傷しないため、フラッシュメモリ装置はフラッシュメモリ装置と関連するトレードオフ（ｔｒａｄｅ−ｏｆｆｓ）にもかかわらず、移動環境によく適する。このようなトレードオフはプログラム動作の以前に消去動作が実行されなければならないという要求条件、消去動作を実行するための高電圧（例えば、１２Ｖまたは２０Ｖ）の要求条件、そして数ＫＢから数百ＫＢの比較的大きいメモリユニットが同時に消去されなければならないという要求条件を含む。
【０００５】
ホストは論理アドレスを指示することによって、外部記憶装置にアクセスする。論理アドレスは物理的な記憶位置と比較する際、ホストソフトウェア（すなわち、オペレーティングシステムまたはアプリケーション）が認識する論理メモリ空間のうち任意の位置を参照する。よって、論理アドレスは指定された物理メモリ空間にアクセスするために外部記憶装置の物理メモリ空間に対応する物理アドレスに変換される。
【０００６】
一般的に、フラッシュメモリを使用した外部記憶装置はアクセス動作の間ホストとの互換性を確保するためにディスクエミュレーションソフトウェア（ｄｉｓｋｅｍｕｌａｔｉｏｎｓｏｆｔｗａｒｅ）と呼ばれる追加のソフトウェアを要する。アクセス動作の間ホストと外部フラッシュ記憶装置との間の互換性はＦＴＬ（ｆｌａｓｈ  ｔｒａｎｓｌａｔｉｏｎ  ｌａｙｅｒ）のような従来のファイルシステムを運用することによって達成できる。言い替えれば、ホストは外部フラッシュメモリ装置をＨＤＤ／ＳＲＡＭとして認識してＨＤＤ／ＳＲＡＭと同一の方式で外部フラッシュメモリ装置にアクセスする。ＦＴＬは特定のオペレーティングシステムで使用されるファイルシステムにフラッシュメモリカードを連結し、同一のアドレスに対しあらかじめ消去することなく一度以上の書き込みをさせない。
【０００７】
ＦＴＬの機能は論理アドレス−物理アドレスマッピング情報管理、バッドブロック管理、予想できない電源遮断に起因したデータ保存性管理、磨耗度管理などを含む。ＦＴＬの機能のうちの核心的な機能はマッピング技法に係り、例示的なマッピング技法が特許文献１
、２及び３に開示されている。
【０００８】
フラッシュメモリがブロック単位でアクセスされる場合、フラッシュメモリは複数のブロックに分割される。分割されたブロックに順に割り当てられた番号は物理ブロック番号と呼ばれ、ユーザーが想定する分割されたブロックの仮想番号は論理ブロック番号と呼ばれる。論理ブロック番号と物理ブロック番号との間のマッピングを提供する方法は、ブロックマッピング技法、セクタマッピング技法、及びログマッピング技法を含む。マッピング技法を利用したＦＴＬでは論理連続アドレスを有するデータが物理的には互いに異なった位置に記録されうる。フラッシュメモリは書き込み（またはプログラム）単位より消去単位が大きいため、一定の限界に至れば、物理的に互いに異なった位置に分散している連続データを任意の空のブロックを利用することにより同一のアドレス空間に集める作業が必要となる。このような過程をマージ動作と言う。
【０００９】
上述のブロックマッピング技法、セクタマッピング技法、及びログマッピング技法を利用したマージ動作が以下詳細に説明される。マージ動作を説明する前に、フラッシュメモリが複数のメモリブロックで分割されており、各メモリブロックは複数のページ（またはセクタ）で構成されると仮定する。記号“ＰＢＮ”は物理ブロック番号を示し、記号“ＰＰＮ”は物理ページ番号を示し、記号“ＬＰＮ”は論理ページ番号を示す。
【００１０】
・ブロックマッピング技法
ブロックマッピング技法によるマージ動作を図１を参照して説明する。ブロックマッピング技法によると、任意のメモリブロックにデータを記憶する場合、メモリブロックのページに順にデータが記憶される。物理ブロック番号が‘２’であるメモリブロック（例えば、ＰＢＮ２）のｉ番目のページＰＰＮｉにデータを更新する／再び書き込む場合、まず、更新が要請された物理ページ番号が‘ｉ’であるページＰＰＮｉを除いた残りのページに記憶されたデータが空のメモリブロック（例えば、ＰＢＮ３）の対応するページに各々伝送される／コピーされる。その次に、メモリブロックＰＢＮ２のページＰＰＮｉに記憶されるデータはメモリブロックＰＢＮ３のｉ番目のページに更新される／再び書き込まれる。以後、メモリブロックＰＢＮ２は消去されて空のメモリブロック（ｆｒｅｅｍｅｍｏｒｙｂｌｏｃｋ）になる。ブロックマッピング技法によると、上述のマージ動作はデータが記憶されたページに他のデータが更新される度に実行されなければならない。ブロックマッピング技法において、物理ブロック番号と論理ブロック番号との間のブロックマッピング情報はブロックマッピングテーブルを使用して管理される。
【００１１】
・セクタまたはページマッピング技法
セクタマッピング技法によるマージ動作が図２Ａ及び図２Ｂを参照して説明される。セクタ（またはページ）マッピング技法によると、メモリブロックのページに順にデータが書き込まれる。ここで、ページはセクタと同一のサイズを有するが、一つのページが複数のセクタで構成されることができることは自明である。例えば、論理ページＬＰＮ０のデータは物理ページＰＰＮ０に記憶され、論理ページＬＰＮ１のデータは物理ページＰＰＮ１に記憶され、論理ページＬＰＮ２のデータは物理ページＰＰＮ２に記憶される。論理ページ（例えば、ＬＰＮ１）にデータを更新しようとする場合、論理ページＬＰＮ１のデータは物理ページＰＰＮ３に記憶され、物理ページＰＰＮ１は無効データが記憶されたと処理される（図２Ａで“Ｘ”として表記する）。また、論理ページ（例えば、ＬＰＮ０）にデータを更新しようとする場合、論理ページＬＰＮ０のデータは物理ページＰＰＮ４に記憶され、物理ページＰＰＮ０は無効データが記憶されたと処理される（図２Ｂで“Ｘ”として表記する）。もしすべてのページに対して書き込み動作が実行されれば、すなわち、メモリブロックＰＢＮ０に空のページが存在しない場合、メモリブロックＰＢＮ０に書き込み動作が要求される時、マージ動作が実行される。図２Ａに示したように、メモリブロックＰＢＮ０の有効データのみ、すなわち、物理ページＰＰＮ２〜ＰＰＮ５が空のメモリブロックＰＢＮ１の対応するページＰＰＮ１０〜ＰＰＮ１３にコピーされ、書き込み動作が要求された論理ページＬＰＮ０のデータがメモリブロックＰＢＮ１の物理ページＰＰＮ１４に記憶される。この際、メモリブロックＰＢＮ１の物理ページＰＰＮ０は無効データが記憶されたと処理される（図２Ａで“Ｘ”として表記する）。その次に、メモリブロックＰＢＮ０は消去される。変更されるマッピングテーブルはＦＴＬによって管理され、図２Ｂに示したように変更される。
【００１２】
・ログマッピング技法
ログマッピング技法を利用したマージ動作が図３Ａ乃至図３Ｃを参照して詳細に説明される。ログマッピング技法によると、図３Ａに示したように、メモリブロックはデータ領域、ログ領域、及びメタ領域で区別され、このようなマッピング情報のテーブルはＦＴＬによって管理される。ログマッピング技法によると、ログ領域のメモリブロックはデータ領域のメモリブロックのうちの一部メモリブロックに各々指定される。例えば、フラッシュメモリが９個のメモリブロックＰＢＮ０〜ＰＢＮ８を含むと仮定する。メモリブロックが使用されない状態で、メモリブロックＰＢＮ０〜ＰＢＮ４はデータ領域として、メモリブロックＰＢＮ５〜ＰＢＮ７はログ領域として、そしてメモリブロックＰＢＮ８はメタ領域として各々画定できる。この際、ログ領域のメモリブロックＰＢＮ５、ＰＢＮ６はデータ領域のメモリブロックＰＢＮ０、ＰＢＮ２に各々指定され、ログ領域のメモリブロックＰＢＮ７は空のメモリブロックとして指定される。メモリブロック間のマッピング情報、メモリ領域とログ領域間のマッピング情報、及びログ領域のマッピング情報は各々ブロックマッピングテーブル、ログブロックマッピングテーブル、及びログマッピングテーブルと呼ばれるテーブルで管理される。各メモリブロックは複数のページ（または複数のセクタ）で構成される。
【００１３】
メモリブロックＰＢＮ０にデータを書き込もうとする場合、データはメモリブロックＰＢＮ０に直接書き込まれるのではなく、メモリブロックＰＢＮ０に対応するログ領域のメモリブロックＰＢＮ５に記憶される。例えば、論理ページＬＰＮ２に対応するデータをメモリブロックＰＢＮ０に書き込もうとする場合、ログ領域のメモリブロックＰＢＮ５の物理ページＰＢＮ０にデータが書き込まれる。同様に、論理ページＬＰＮ０に対応するデータをメモリブロックＰＢＮ０に書き込もうとする場合、ログ領域のメモリブロックＰＢＮ５の物理ページＰＢＮ１にデータが書き込まれる。メモリブロックＰＢＮ１にデータを書き込もうとする場合、メモリブロックＰＢＮ１に対応するログ領域のメモリブロックが指定されていないから、下記のようにマージ動作が実行される。まず、空のメモリブロックがログ領域（またはデータ領域）に存在するか否かが判別される。ログ領域に空のメモリブロックがある場合、図３Ｂに示したように、ログ領域のメモリブロックＰＢＮ５、ＰＢＮ６のうちのいずれか一つのメモリブロック（例えば、ＰＢＮ５）に記憶された有効データが空のメモリブロックＰＢＮ７にコピーされる／移動される。そして、メモリブロックＰＢＮ５に対応するデータ領域のメモリブロックＰＢＮ０に記憶された有効データがメモリブロックＰＢＮ７にコピーされる／移動される。このようなコピー過程が図３Ｂに示している。メモリブロックＰＢＮ０、ＰＢＮ５が消去された後、図３Ｃに示したように、ログ領域のメモリブロックＰＢＮ５が空のメモリブロックとして指定され、データ領域のメモリブロックＰＢＮ０がログ領域のメモリブロックとして指定され、メモリブロックＰＢＮ７がデータ領域のメモリブロックとして指定される。最後に、メモリブロックＰＢＮ１に書き込もうとするデータがログ領域のメモリブロックＰＢＮ０に書き込まれる。ブロックマッピングテーブル、ログブロックマッピングテーブル、及びログマッピングテーブルのマッピング情報はＦＴＬによって管理され、メタ領域ＰＢＮ８に記憶される。
【００１４】
上述のマッピング技法によると、ページマッピング技法はページ単位でマッピング情報を管理しなければならないので、マッピングテーブルのサイズが大きいという短所を有する一方、少量のデータを書き込むのに容易であるという長所を有する。ログマッピング技法は少量のデータを他のデータブロックに書き込もうとする場合、毎度マージ動作が発生されるという短所を有する一方、大容量のデータを書き込むのに容易であるという長所を有する。また、ログマッピング技法を使用する場合、ページマッピング技法と比較する時、マッピングテーブルのサイズが相対的に小さいという長所がある。
【００１５】
一般的に、記憶装置としてフラッシュメモリを有するフラッシュメモリシステムは単一のＦＴＬを使用してフラッシュメモリを管理している。フラッシュメモリのアクセス類型は多様である。例えば、アクセス類型はメモリブロックに記憶された内容のうち一部が更新されるアクセス類型、空のメモリブロックが全部新しい内容で書き込まれるアクセス類型などを含む。各アクセス類型に適するマッピング技法が適用される時システム性能が最適化できる。しかし、異なったアクセス類型が単一のＦＴＬによって処理されるので、システム全体の性能低下が誘発されうる。
【特許文献１】米国特許第５，４０４，４８５号
【特許文献２】米国特許第５，９３７，４２５号
【特許文献３】米国特許第６，３８１，１７６号
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明の目的は、複数のマッピング技法を採用した適応型フラッシュメモリ制御装置及びそれを含むフラッシュメモリシステムを提供することにある。
【００１７】
本発明の他の目的は、システム性能を向上できるフラッシュメモリ制御装置及びそれを含むフラッシュメモリシステムを提供することにある。
【課題を解決するための手段】
【００１８】
上述の目的を達成するために本発明の特徴によると、フラッシュメモリを制御する装置は複数のフラッシュ変換レイヤーを記憶するメモリと、外部からアクセス要請がある時前記アクセス要請のアクセス類型を判別して、判別結果によって前記メモリに記憶された前記フラッシュ変換レイヤーのうち一つを選択して、前記選択されたフラッシュ変換レイヤーによって前記フラッシュメモリのマッピング情報を管理する制御ブロックとを含む。
【００１９】
この実施形態において、前記制御ブロックは前記アクセス要請時、入力されるデータから論理アドレス情報を抽出して、前記抽出された論理アドレス情報に基づいて前記アクセス要請のアクセス類型を判別する。
【００２０】
この実施形態において、前記制御ブロックは前記アクセス要請がある度に前記アクセス要請のアクセス類型情報を蓄積して、前記蓄積されたアクセス類型情報に基づいて前記フラッシュメモリのアクセス類型を決める。
【００２１】
この実施形態において、前記制御ブロックは前記アクセス要請時、外部から入力されるアクセス情報によって前記アクセス類型を判別する。
【００２２】
この実施形態において、前記フラッシュメモリは前記フラッシュ変換レイヤーに各々対応する複数のメモリ領域を含み、前記メモリ領域の各々のマッピング情報は対応するフラッシュ変換レイヤーによって管理される。
【００２３】
この実施形態において、前記フラッシュメモリは少なくとも第１及び第２メモリ領域で区別され、前記メモリは前記第１メモリ領域のマッピング情報を管理する第１フラッシュ変換レイヤーと前記第２メモリ領域のマッピング情報を管理する第２フラッシュ変換レイヤーとを含む。
【００２４】
この実施形態において、前記第１フラッシュ変換レイヤーはページマッピング技法を使用して、前記第２フラッシュ変換レイヤーはログ及びブロックマッピング技法のうちのいずれか一つを使用する。
【００２５】
この実施形態において、前記フラッシュメモリ及び前記フラッシュメモリを制御する装置はメモリカードに含まれる。
【００２６】
この実施形態において、前記フラッシュメモリを制御する装置は半導体ディスク制御装置に含まれる。
【００２７】
本発明の他の特徴によると、フラッシュメモリシステムはホストと、複数のメモリ領域を含むフラッシュメモリと、少なくとも二つのフラッシュ変換レイヤーを記憶するように構成された制御装置とを含み、前記ホストからアクセス要請がある度に、前記制御装置は前記ホストから提供されるアクセス情報に基づいてアクセス類型を判別して、判別されたアクセス類型によって前記フラッシュ変換レイヤーのうちの一つを選択して、前記選択されたフラッシュ変換レイヤーによって前記フラッシュメモリのメモリ領域に対するマッピング情報を管理する。
【００２８】
この実施形態において、前記制御装置は前記フラッシュ変換レイヤーを記憶するメモリと、前記アクセス情報からアクセス類型を判別して、判別されたアクセス類型によって前記フラッシュ変換レイヤーのうちの一つを選択して、前記選択されたフラッシュ変換レイヤーによって前記フラッシュメモリのメモリ領域に対するマッピング情報を管理する制御ブロックとを含む。
【００２９】
本発明のまた他の特徴によると、フラッシュメモリのマッピング情報を管理する方法は、前記フラッシュメモリのアクセス要請時毎に前記アクセス要請のアクセス類型を判別する段階と、前記判別されたアクセス類型によって複数のフラッシュ変換レイヤーのうち一つを選択する段階と、前記選択されたフラッシュ変換レイヤーによって前記フラッシュメモリのマッピング情報を管理する段階とを含む。
【発明の効果】
【００３０】
アクセス類型に応じて多数のフラッシュ変換レイヤーのうちの最適のフラッシュ変換レイヤーを選択してマッピング情報を管理することによって、システム全体の性能が低下することを防止できる。
【発明を実施するための最良の形態】
【００３１】
本発明の例示的な実施形態を参照の図に基づいて詳細に説明する。
【００３２】
図４は本発明によるメモリシステムを概略的に示すブロック図である。
【００３３】
図４を参照すると、本発明によるフラッシュメモリシステム１０００はホスト２００、制御装置４００、及びフラッシュメモリ６００を含む。本発明による制御装置４００はホスト２００からアクセス要請がある時、フラッシュメモリ６００を制御するように構成される。特に、本発明による制御装置４００は複数のフラッシュ変換レイヤー（例えば、ＦＴＬ１＿ＦＴＬｎ）を記憶するように構成され、ホスト２００からのアクセス要請がフラッシュメモリ６００のどの領域と係わるかを判別する。制御装置４００は判別された結果によってフラッシュ変換レイヤーのうち一つを選択して、選択されたフラッシュ変換レイヤーによってフラッシュメモリ６００のマッピング情報を管理する。言い替えれば、従来技術と異なり、本発明によるフラッシュメモリシステム１０００は一つのフラッシュ変換レイヤーを利用してフラッシュメモリ６００を管理するのではなく、少なくとも二つのフラッシュ変換レイヤーを利用してフラッシュメモリ６００を管理する。よって、本発明によるフラッシュメモリシステム１０００の場合、ホスト２００からアクセス要請がある度に、アクセス要請に適するフラッシュ変換レイヤーが選択され、その結果、アクセス類型に応じてフラッシュメモリを最適の条件で管理できる。結果的に、システム全体の性能を向上することができる。
【００３４】
図４に示したように、制御装置４００は制御ブロック４２０とメモリ４４０とを含む。メモリ４４０には異なったフラッシュ変換レイヤーが記憶され、制御ブロック４２０はホスト２００からのアクセス要請がどんなアクセス類型であるかを判別して、判別結果によってメモリ４４０に記憶されたフラッシュ変換レイヤーＦＴＬ１＿ＦＴＬｎのうちいずれか一つを選択する。このような過程はホスト２００からアクセス要請がある度に行われる。例えば、メモリ４４０にブロックマッピング技法、ページマッピング技法、及びログマッピング技法を利用したフラッシュ変換レイヤーが記憶されると仮定する。上述のように、ページマッピング技法は少量のデータを書き込もうとする時に有用であるが、大容量のデータを書き込もうとする時はマッピングテーブルが大きくなるという短所を有する。ログマッピング技法は大容量のデータを書き込もうとする時に有用であるが、少量のデータを書き込もうとする時は頻繁なマージ動作が誘発されるという短所を有する。ここに、少量のデータを書き込もうとする時（以下、“ランダムシングル書き込み要請（ｒａｎｄｏｍｓｉｎｇｌｅｗｒｉｔｅｒｅｑｕｅｓｔ）”という）、そして大容量のデータを書き込もうとする時（以下、“シーケンシャル書き込み要請（ｓｅｑｕｅｎｔｉａｌｗｒｉｔｅｒｅｑｕｅｓｔ）“という）、各要請に適するフラッシュ変換レイヤーを使用することによって、システム全体の性能が低下することを防止できる。
【００３５】
本発明による制御装置４００は多様な方式でアクセス類型を判別することができる。まず、ホスト２００から提供されるアクセス情報からアクセス類型を判別することが可能である。ＦＡＴファイルシステムが使用される場合、一般的に、大容量のファイルデータがシーケンシャル書き込み要請によって制御装置４００に伝送される一方、ＦＡＴに対する更新データはランダムシングル書き込み要請によって制御装置４００に伝送される。ＦＡＴデータがフラッシュメモリ６００の特定領域に記憶されるので、現在のアクセス要請がＦＡＴデータの書き込み動作であるか否かを判別することによってアクセス類型を判別することが可能である。ｘＤカードの場合、書き込まれるデータに論理アドレス情報が含まれており、書き込まれるデータから論理アドレス情報を抽出することによってアクセス類型が判別できる。抽出された論理アドレス情報がＦＡＴデータを記憶するためのアドレスである場合、現在のアクセス要請はランダムシングル書き込み要請として判別される。抽出された論理アドレス情報がＦＡＴデータを記憶するためのアドレスではない場合、現在のアクセス要請はシーケンシャル書き込み要請として判別される。前の判別方式と異なり、アクセス要請がある度にアクセス類型を蓄積することによって、最適のフラッシュ変換レイヤーを適用することが可能である。例えば、任意の領域に対してランダムシングル書き込み要請が頻繁にあるか、またはシーケンシャル書き込み要請が頻繁にあるかに対する情報を蓄積して、蓄積された情報に基づいてフラッシュ変換レイヤーを選択することが可能である。または、外部から提供される情報（現在のアクセス類型がどんなことであるかに対する情報）に基づいてフラッシュ変換レイヤーを選択することが可能である。
【００３６】
フラッシュメモリ６００が複数のメモリブロックを含み、メモリブロックのうち一部は第１メモリ領域で、残りのメモリブロックは第２メモリ領域で区別されると仮定する。また、第１メモリ領域にはランダムシングル書き込み要請によってデータが記憶され、第２メモリ領域にはシーケンシャル書き込み要請によってデータが記憶されると仮定する。このような仮定によると、図５Ａに示したように、第１メモリ領域のマッピング情報は第１フラッシュ変換レイヤーＦＴＬ１によって管理でき、第２メモリ領域のマッピング情報は第２フラッシュ変換レイヤーＦＴＬ２によって管理できる。第１及び第２フラッシュ変換レイヤーＦＴＬ１、ＦＴＬ２は互いに異なるマッピング技法に従う。例えば、第１フラッシュ変換レイヤーＦＴＬ１はページマッピング技法を、第２フラッシュ変換レイヤーＦＴＬ２はログマッピング技法に従う。その反対の場合も同様である。さらに、フラッシュメモリ６００が三つまたはそれ以上のメモリ領域で区別でき、図５Ｂに示したように、各メモリ領域が異なったマッピング手段に従うフラッシュ変換レイヤーによって各々管理される。
【００３７】
結論的に、図６に示したように、ホスト２００からアクセス要請がある時、制御装置４００はアクセス類型を分析して、分析された結果によっていずれか一つのフラッシュ変換レイヤーを選択する。選択されたフラッシュ変換レイヤーによってフラッシュメモリのマッピング情報が管理される。
【００３８】
図７は本発明の例示的な実施形態によるｘＤカードに含まれるフラッシュメモリのアレイ構造を示すブロック図である。
【００３９】
メモリカードとしてｘＤカードの場合、フラッシュメモリのアレイは複数のゾーンＺＯＮＥ０、ＺＯＮＥ１、ＺＯＮＥ２、．．．で構成される。各ゾーンは複数のメモリブロックで構成される。ｘＤカードはブロック書き込み動作を支援するスマートメディアファイルシステム（ＳｍａｒｔＭｅｄｉａ（登録商標）ＦｉｌｅＳｙｓｔｅｍ:ＳＭＦＳ）を使用する。すなわち、ホストはブロック単位で書き込み動作を実行する。ｘＤカードにおいて、容量によってＦＡＴファイルシステムが定義されており、ＦＡＴは総１０２４個のメモリブロックで構成された一番目のゾーンＺＯＮＥ０に置かれなければならない。よって、ＦＡＴは常に一番目のゾーンＺＯＮＥ０の中でのみ移動する。新しいデータがカードに書き込まれる時、ＦＡＴテーブルのすべての情報が更新されるのではなく、ＦＡＴの情報のうち一部のみが更新される。例えば、たとえＦＡＴデータが少なくとも一つのメモリブロックに記憶されても、メモリブロックの一部領域のみに変更された情報が更新される。これに反して、ｘＤカードの場合、写真データはブロック単位でカードに記憶される。すなわち、写真データが入力される時、入力された写真データはメモリブロックの全体に書き込まれる。
【００４０】
本発明によるマッピング手段が適用されたｘＤカードにおいて、図７に示したように、一番目のゾーンＺＯＮＥ０には第１フラッシュ変換レイヤーＦＴＬ１が適用される一方、残りのゾーンには第１フラッシュ変換レイヤーＦＴＬ１（例えば、ページマッピング技法を利用したフラッシュ変換レイヤー）と異なった第２フラッシュ変換レイヤーＦＴＬ２（例えば、ログマッピング技法を利用したフラッシュ変換レイヤー）が適用される。上述のように、ＦＡＴのすべての情報が更新されるのではなく、一部情報のみが更新されるので、一番目のゾーンＺＯＮＥ０にページマッピング技法を利用したフラッシュ変換レイヤーを適用して一番目のゾーンＺＯＮＥ０のマッピング情報を管理することが有用である。なぜなら、上述のように、ページマッピング技法の場合、マージ動作の誘発なしにＦＡＴの変更された内容が同一のメモリブロックの空のページに更新されるためである。もし任意のメモリブロックのすべてのページが使用されれば、有効なデータのみを新しいメモリブロックにコピーした後、ＦＡＴの変更された内容が同一のメモリブロック（新しく指定されたメモリブロック）の空のページに更新される。この際、コピーされるデータは直近に更新された情報である。これに反して、残りのゾーンにはログ／ブロックマッピング技法を利用したフラッシュ変換レイヤーが適用される。なぜなら、写真データが入力される時、入力されたデータをログブロックに書き込んだ後マージ動作の誘発なしにログブロック（データが書き込まれたログ領域のメモリブロック）がデータブロックとして指定されるようにマッピングテーブルのみが更新されるためである。ログマッピング技法に代えてブロックマッピング技法を利用したフラッシュ変換レイヤーが一番目のゾーンＺＯＮＥ０を除いた残りのゾーンＺＯＮＥ１、ＺＯＮＥ２、．．．に適用できることはこの分野の通常の知識を習得した者等に自明である。この場合、ブロック単位で書き込み動作が実行されるので、入力された写真データは順に対応するゾーンのメモリブロックに書き込まれる。同様に、新しい写真データが書き込まれれば、マージ動作の誘発なしにブロックマッピングテーブルのみが更新される。
【００４１】
図７に示したようなマッピング手段を採用したフラッシュメモリシステムのフラッシュメモリの管理過程を説明するフローチャートを示す図８を参照すると、まず、ホスト２００からフラッシュメモリ６００に対するアクセスが要請されれば（Ｓ１００）、制御装置４００は現在要請されたアクセス類型がどんなアクセス類型であるかを判別する（Ｓ１２０）。説明の便宜上、第１フラッシュ変換レイヤーＦＴＬ１はページマッピング技法を使用して、第２フラッシュ変換レイヤーＦＴＬ２はログマッピング技法を使用すると仮定する。また、制御装置４００が上述の判別技法のうちのいずれか一つ（例えば、書き込まれるデータに含まれた論理アドレス情報を利用してアクセス類型を判別する技法）を使用すると仮定する。よって、制御装置４００はアクセス要請時入力されたデータから論理アドレス情報を抽出して、抽出された論理アドレス情報がＦＡＴデータを指定するためのものであるか否かを判別する。すなわち、現在要請されたアクセスが一番目のゾーンＺＯＮＥ０に対するアクセスであるか否かが判別される。もし現在要請されたアクセスが一番目のゾーンＺＯＮＥ０に対するアクセスであれば、制御装置４００はメモリ４４０に記憶された第１フラッシュ変換レイヤーＦＴＬ１を利用してフラッシュメモリ６００のマッピング情報を管理する（Ｓ１４０）。もし現在の要請されたアクセスが一番目のゾーンＺＯＮＥ０に対するアクセスではない場合、制御装置４００はメモリ４４０に記憶された第２フラッシュ変換レイヤーＦＴＬ２を利用してフラッシュメモリ６００のマッピング情報を管理する（Ｓ１６０）。上述の過程Ｓ１２０〜Ｓ１６０はホスト２００からアクセス要請がある度に繰り返される。
【００４２】
上述のように、ＦＡＴの場合、最新情報のみが有効であるので、マージ動作時コピーしなければならない有効ページ数がＦＡＴ領域だけ狭められるようになる。これはマージ発生頻度だけではなく、マージ動作にかかる時間も節約できることを意味する。よって、ページマッピング技法を利用して一番目のゾーンＺＯＮＥ０のＦＡＴを管理することによって、システム全体の性能低下を減らすことができる。
【００４３】
図７に示したマッピング手段と異なり、ＦＡＴデータが記憶される一番目のゾーンＺＯＮＥ０に一つのマッピング技法ではなく、二つのマッピング技法が適用できる。例えば、図９に示したように、一番目のゾーンＺＯＮＥ０の第１領域にはページマッピング技法を使用するフラッシュ変換レイヤーＦＴＬ１が適用され、一番目のゾーンＺＯＮＥ０の第２領域にはブロックまたはログマッピング技法を使用するフラッシュ変換レイヤーＦＴＬ２が適用される。残りのゾーンＺＯＮＥ１、ＺＯＮＥ２、．．．には一番目のゾーンＺＯＮＥ０の第２領域と同一、または他のマッピング技法（ブロック、ログ、及びページマッピング技法のうちのいずれか一つ）を使用するフラッシュ変換レイヤーＦＴＬ３が適用される。一番目のゾーンの第１領域にはＦＡＴデータが記憶され、第２領域及び残りのゾーンには写真データが記憶される。
【００４４】
図９に示したようなマッピング手段を採用したフラッシュメモリシステムのフラッシュメモリのマッピング情報を管理する過程を説明するための図１０を参照すると、まず、ホスト２００からフラッシュメモリ６００に対するアクセスが要請されれば（Ｓ２００）、制御装置４００は現在要請されたアクセス類型がどんなアクセス類型であるかを判別する（Ｓ２２０）。説明の便宜上、第１フラッシュ変換レイヤーＦＴＬ１はページマッピング技法を使用して、第２フラッシュ変換レイヤーＦＴＬ２はログ／ブロックマッピング技法を使用して、第２フラッシュ変換レイヤーＦＴＬ２はブロック／ログマッピング技法を使用すると仮定する。また、制御装置４００が上述の判別技法のうちのいずれか一つ（例えば、書き込まれるデータに含まれた論理アドレス情報を利用してアクセス類型を判別する技法）を使用すると仮定する。よって、制御装置４００はアクセス要請時入力されたデータから論理アドレス情報を抽出して、抽出された論理アドレス情報がＦＡＴデータを指定するためのものであるか否かを判別する。すなわち、現在要請されたアクセスが一番目のゾーンＺＯＮＥ０に対するアクセスであるか否かが判別される。もし現在要請されたアクセスが一番目のゾーンＺＯＮＥ０に対するアクセスではない場合、制御装置４００はメモリ４４０に記憶された第３フラッシュ変換レイヤーＦＴＬ３を利用してフラッシュメモリ６００のマッピング情報を管理する（Ｓ２４０）。もし現在要請されたアクセスが一番目のゾーンＺＯＮＥ０に対するアクセスであれば、制御装置４００は現在要請されたアクセスがＦＡＴ領域に対するアクセスであるか否かを判別する（Ｓ２６０）。もし現在要請されたアクセスがＦＡＴ領域に対するアクセスであれば、制御装置４００はメモリ４４０に記憶された第１フラッシュ変換レイヤーＦＴＬ１を利用して一番目のゾーンＺＯＮＥ０の第１領域のマッピング情報を管理する（Ｓ２８０）。もし現在要請されたアクセスがＦＡＴ領域に対するアクセスではなければ、制御装置４００はメモリ４４０に記憶された第２フラッシュ変換レイヤーＦＴＬ２を利用して一番目のゾーンＺＯＮＥ０の第２領域のマッピング情報を管理する（Ｓ３００）。上述の過程Ｓ２２０〜Ｓ３００はホスト２００からアクセス要請がある度に繰り返される。
【００４５】
このようなマッピング手段によると、連続した写真データ以後ＦＡＴ領域とはならず、独立した空間にＦＡＴデータが更新される。よって、ＦＡＴ領域による不連続性が消えるようになり、この領域によるマージ頻度も大幅に減るようになる。特に、ＦＡＴは常に最新の情報のみが有効であるため、ページマッピング技法が適用される時にマージ動作でコピーしなければならない有効ページ数もＦＡＴ領域分の数だけ狭めることができる。これはマージ発生頻度のみではなく、マージ動作にかかる時間も節約されることができることを意味する。よって、ページマッピング技法を利用してＦＡＴテーブルを管理することによって、システム全体の性能低下を防ぐことができる。
【００４６】
本発明によるマッピング手段がメモリカードを利用して説明されたが、本発明がここに制限されないことはこの分野の通常の知識を習得した者等に自明である。周知のように、フラッシュメモリを使用したシステムにはフラッシュ変換レイヤーが必ず使用されなければならない。よって、本発明によるマッピング手段はそのようなシステムに適用できる。例えば、記憶媒体としてフラッシュメモリを制御するための半導体ディスク制御装置（ＳｏｌｉｄＳｔａｔｅＤｉｓｋＣｏｎｔｒｏｌｌｅｒ）にも本発明によるマッピング手段が適用される。たとえ異なったフラッシュ変換レイヤーが適用されるメモリ領域がデータ量によって区別されても、他の条件を基準としてメモリ領域が区別できることはこの分野の通常の知識を習得した者等に自明である。
【００４７】
本発明による回路の構成を上述の説明及び図によって図示したが、これは一例を説明したに過ぎず、本発明の技術的範囲を逸脱しない範囲内でマッピング手段の多様な変化及び変更が可能であることは勿論である。
【図面の簡単な説明】
【００４８】
【図１】一般的なマッピング技法の説明図である。
【図２Ａ】一般的なマッピング技法の説明図である。
【図２Ｂ】一般的なマッピング技法の説明図である。
【図３Ａ】一般的なマッピング技法の説明図である。
【図３Ｂ】一般的なマッピング技法の説明図である。
【図３Ｃ】一般的なマッピング技法の説明図である。
【図４】本発明に係るフラッシュメモリシステムの概略図である。
【図５Ａ】本発明に係るマッピング手段によるメモリ領域のフラッシュ変換レイヤーを示す図である。
【図５Ｂ】本発明に係るマッピング手段によるメモリ領域のフラッシュ変換レイヤーを示す図である。
【図６】ホストアクセス要請時における図４に示した制御装置の判別過程の説明図である。
【図７】二つのフラッシュ変換レイヤーが採択された本発明に係るマッピング手段がｘＤカードに適用される場合の、メモリ領域のフラッシュ変換レイヤーを示す図である。
【図８】図７に示したマッピング手段によるフラッシュ変換レイヤーの判別過程を示すフローチャートである。
【図９】３個のフラッシュ変換レイヤーが採択された本発明に係るマッピング手段がｘＤカードに適用される場合メモリ領域のフラッシュ変換レイヤーを示す図である。
【図１０】図９に示したマッピング手段によるフラッシュ変換レイヤーの判別過程を示すフローチャートである。
【符号の説明】
【００４９】
２００  ホスト                       
４００  制御装置
６００  フラッシュメモリ
【図１】
2006221627.tif 000003
【図２Ａ】
2006221627.tif 000004
【図２Ｂ】
2006221627.tif 000005
【図３Ａ】
2006221627.tif 000006
【図３Ｂ】
2006221627.tif 000007
【図３Ｃ】
2006221627.tif 000008
【図４】
2006221627.tif 000009
【図５Ａ】
2006221627.tif 000010
【図５Ｂ】
2006221627.tif 000011
【図６】
2006221627.tif 000012
【図７】
2006221627.tif 000013
【図８】
2006221627.tif 000014
【図９】
2006221627.tif 000015
【図１０】
2006221627.tif 000016