(57)【要約】【課題】メモリ管理を効率良く行い、システム性能を向上できるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるフラッシュメモリチップを提供すること。【解決手段】本発明によるフラッシュメモリ制御装置を用いるメモリ管理方法は、主制御部から所定の論理アドレスのデータに対する読み出し要求が受信されると、所定のアドレス変換テーブルを参照し、該当の論理アドレスのデータを検索するステップと、検索の結果により、システムメモリまたはキャッシュメモリから該当の論理アドレスのデータを読み出して前記主制御部に転送するステップとを含み、キャッシュメモリに不要なデータが蓄積することを防止し、効率的なメモリ管理方法を提供する。【選択図】図１
2005115910.tif 000002
【特許請求の範囲】
【請求項１】
データが格納され、複数のページからなるデータ領域のセクターと、前記データ領域の論理アドレス情報を有するスペア領域のセクターとに大別され、
前記ページは、メインデータが書き込まれるデータ部と、前記メインデータに与えられる優先順位が書き込まれるスペア部とからなることを特徴とするシリアルフラッシュメモリ。
【請求項２】
前記優先順位は、前記ページのメインデータに対するアクセスレート及び重要度の少なくとも１つによって決定されることを特徴とする請求項１に記載のシリアルフラッシュメモリ。
【請求項３】
主制御部から所定の論理アドレスのデータが要求されると、所定のアドレス変換テーブルを参照し、必要なデータを検索し、検索の結果により、システムメモリまたはキャッシュメモリから該当のデータを読み出して前記主制御部に転送したり、シリアルフラッシュメモリから該当のデータを含むページを読み出し、要求されたデータを前記主制御部に転送することを特徴とするシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置。
【請求項４】
前記シリアルフラッシュメモリから読み出されるページを優先順位によってシステムメモリまたはキャッシュメモリに格納し、変更されたマッピング情報を前記アドレス変換テーブルに書き込むことを特徴とする請求項３に記載のシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置。
【請求項５】
前記読み出されたページを優先順位によってシステムメモリまたはキャッシュメモリに格納するときには、前記読み出されたページをフラッシュメモリに書き込む過程でインデックス衝突が発生すると、以前に格納されたページと前記読み出されたページとの優先順位を比較し、以前に格納されたページの優先順位が高いと、読み出されたページをシステムメモリに格納し、以前に格納されたページの優先順位が高くないと、以前に格納されたページをビクティムキャッシュに移し、読み出されたページをメインキャッシュに格納することを特徴とする請求項４に記載のシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置。
【請求項６】
前記アドレス変換テーブルは、前記システムメモリに格納されるページに対するマッピング情報を書き込む第１のＰＡＴと、前記キャッシュメモリに格納されるページに対するマッピング情報を書き込む第２のＰＡＴとを備えることを特徴とする請求項３に記載のシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置。
【請求項７】
前記第１のＰＡＴは、システムメモリに位置することを特徴とする請求項６に記載のシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置。
【請求項８】
前記第２のＰＡＴは、キャッシュモジュールに位置することを特徴とする請求項６に記載のシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置。
【請求項９】
前記シリアルフラッシュメモリから読み出されるページをキャッシュメモリに格納し、前記読み出されたページに対するマッピング情報が書き込まれる前記所定のアドレス変換テーブルを有するキャッシュモジュールと、
前記アドレス変換テーブルを参照し、主制御部から要求されたデータを転送し、シリアルフラッシュメモリから読み出されたページを優先順位によって前記キャッシュメモリまたはシステムメモリに格納するコントローラとを備えることを特徴とする請求項３に記載のシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置。
【請求項１０】
前記主制御部から発生される制御命令を受信し、受信された制御命令による演算結果を転送するシステムインタフェース部と、
前記シリアルフラッシュメモリに書き込まれたブートコードを読み出してバッファに格納し、前記主制御部からブートコードが要求されると、直ちに転送してシリアルフラッシュメモリにおけるＸＩＰを可能とするブートローダーを備えたアクセスモジュールと、
前記主制御部の制御命令によるシリアルフラッシュメモリとのデータの送/受信を処理するフラッシュインタフェースとをさらに備えることを特徴とする請求項９に記載のシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置。
【請求項１１】
前記優先順位は、前記ページのメインデータに対するアクセスレート及び重要度の少なくとも１つによって決定されることを特徴とする請求項３に記載のシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置。
【請求項１２】
メインデータが書き込まれるデータ部と前記メインデータに与えられる優先順位が書き込まれるスペア部とからなるページから構成されるシリアル型セルタイプのシリアルフラッシュメモリと、
前記シリアルフラッシュメモリから読み出されるページを優先順位によってシステムメモリまたはキャッシュメモリに格納し、変更されたマッピング情報を所定のアドレス変換テーブルに書き込むフラッシュメモリ制御装置とを備えることを特徴とするフラッシュメモリチップ。
【請求項１３】
前記フラッシュメモリ制御装置は、前記アドレス変換テーブルを参照し、主制御部から要求された所定の論理アドレスのデータを検索し、検索の結果により、前記システムメモリまたはキャッシュメモリから該当のデータを読み出して前記主制御部に転送したり、シリアルフラッシュメモリから該当のデータを含むページを読み出し、要求されたデータを前記主制御部に転送することを特徴とする請求項１２に記載のフラッシュメモリチップ。
【請求項１４】
主制御部から所定の論理アドレスのデータに対する読み出し要求が受信されると、所定のアドレス変換テーブルを参照し、該当の論理アドレスのデータを検索するステップと、
前記検索の結果により、システムメモリまたはキャッシュメモリから該当の論理アドレスのデータを読み出して前記主制御部に転送するステップとを含むことを特徴とするシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ管理方法。
【請求項１５】
前記検索の結果により、シリアルフラッシュメモリから該当のデータを含むページを読み出し、要求されたデータを前記主制御部に転送するステップをさらに含むことを特徴とする請求項１４に記載のシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いたメモリ管理方法。
【請求項１６】
前記シリアルフラッシュメモリから読み出されたページを優先順位によってシステムメモリまたはキャッシュメモリに格納し、変更されたマッピング情報を所定のアドレス変換テーブルに書き込むステップをさらに含むことを特徴とする請求項１５に記載のシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いたメモリ管理方法。
【請求項１７】
前記アドレス変換テーブルは、前記システムメモリに格納されるページに対するマッピング情報を書き込む第１のＰＡＴと、前記キャッシュメモリに格納されるページに対するマッピング情報を書き込む第２のＰＡＴとを含むことを特徴とする請求項１４に記載のシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いたメモリ管理方法。
【請求項１８】
前記読み出されたページを優先順位によってシステムメモリまたはキャッシュメモリに格納する過程は、
前記読み出されたページをフラッシュメモリに書き込む過程でインデックス衝突が発生するかどうかを判別するステップと、
前記判別の結果、インデックス衝突が発生しないと、前記読み出されたページを前記フラッシュメモリに格納し、インデックス衝突が発生すると、以前に格納されたページと前記読み出されたページとの優先順位を比較するステップと、
前記比較の結果、以前に格納されたページの優先順位が高いと、読み出されたページをシステムメモリに格納し、比較の結果、以前に格納されたページの優先順位が高くないと、以前に格納されたページをビクティムキャッシュに移し、読み出されたページをメインキャッシュに格納するステップとを含むことを特徴とする請求項１６に記載のシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いたメモリ管理方法。
【請求項１９】
前記優先順位は、前記ページのメインデータに対するアクセスレート及び重要度の少なくとも１つによって決定されることを特徴とする請求項１６に記載のシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いたメモリ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるメモリチップに関し、特に、シリアルフラッシュメモリの各ページに優先順位を与え、シリアルフラッシュメモリから読み出されるページを優先順位に従い、システムメモリまたはキャッシュメモリに書き込むことにより、メモリ管理を効率良く行い、システムの性能を向上できるシリアルフラッシュメモリにおけるＸＩＰ(eXcute In Place)のための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるフラッシュメモリチップに関する。
【背景技術】
【０００２】
本願出願は、本明細書の参考資料として添付される韓国特許出願第10-2003-0069952号を優先権主張する出願である。
【０００３】
一般に、フラッシュメモリは、電気的にデータを消去したり、書き換えることができる不揮発性記憶素子であって、マグネティックディスクメモリに基づいた記憶装置に比べ、電力の消耗も少なく、小型であるため、マグネティックディスクメモリの代わりとして研究及び開発が盛んに行われている。
【０００４】
特に、フラッシュメモリは、デジタルカメラ、モバイルフォン、ＰＤＡ(Personal Digital Assistant)のようなモバイルコンピューティング機器のための記憶装置として脚光を浴びることと予想される。
【０００５】
フラッシュメモリは、製造の方法により、ビット線と接地線との間にセルが並列に配置される構造のパラレルフラッシュメモリ(Parallel Flash Memory)と直列に配置される構造のシリアルフラッシュメモリ(Serial Flash Memory；以下、シリアルフラッシュメモリと称する)とに大別される。
【０００６】
この中、シリアルフラッシュメモリは、パラレルフラッシュメモリに比べ、書き込み速度が速く、比較的安価で、かつ高容量化が容易である利点があり、大容量のデータを保存するための用途に広く使用されている。
【０００７】
このようなシリアルフラッシュメモリは、データの読み出し・書き込みが自由なマグネティックディスクメモリとは異なり、消去演算や読み出し・書き込み演算の実行単位が一致せず、ブロック単位で消去し、ページ単位で読み出し・書き込みを行う。
【０００８】
これにより、シリアルフラッシュメモリは、書き込まれたデータをシステムメモリに移すことなく、直ちに実行する現地実行(eXcute In Place;以下、ＸＩＰと称する)の機能を提供できないという欠点があった。
【０００９】
しかし、最近は、所定のコントローラを用いてシリアルフラッシュメモリでもＸＩＰを支援できるようにしている。
【００１０】
即ち、システムに電源が印加されると、シリアルフラッシュメモリからシステムの初期ブーティングのために必要なブートコードを含むページを読み出してバッファに格納し、システムの主制御部からブートコードが要求されると、ブートコードのみを読み出して提供することにより、ＸＩＰを支援する。
【００１１】
また、コントローラでは、主制御部から受信される制御命令により、必要なデータを含むページを読み出し、必要なデータを検出して主制御部に転送し、読み出されたページをキャッシュメモリに格納することにより、読み出されたページのデータが効率的にアクセスできるようにしている。
【００１２】
このような方法でシリアルフラッシュメモリにおけるＸＩＰを支援するためには、主制御部の要求により、コントローラで必要なデータを主制御部に転送し、シリアルフラッシュメモリから読み出されたページをキャッシュメモリに書き込む動作が繰り返され、キャッシュメモリには、読み出されたページが蓄積し続ける。
【００１３】
この過程でキャッシュメモリは、設定された置き換えアルゴリズム(一例として、Least Recently Used(LRU)、First In First Out(FIFO)、Random)によるページ置き換えを行うが、ページ置き換えのためのマッピング方法としては、直接写像(direct mapping)方式が広く用いられている。
【００１４】
直接写像方式のキャッシュメモリは、読み出されたページのメモリアドレスに相応しいキャッシュメモリのインデックスにインデックスに読み出されたページを格納するが、読み出されたページをキャッシュメモリに格納する過程で以前に書き込まれたページのデータと衝突を起すと、置き換えアルゴリズムにより以前のページは削除され、新たに読み出されたページが書き込まされる。
【００１５】
この場合、システムの主制御部から削除されたページのデータを要求すると、主制御部により要求されるデータがキャッシュメモリに存在しないキャッシュミス(cache miss)が発生するため、コントローラでは、シリアルフラッシュメモリに再びアクセスして必要なデータを参照する必要があり、多くのサイクルを消費することになる。
【００１６】
即ち、このような非効率的なメモリ管理により、システムで周期的に発生するタイマインタラプト(timer interrupt)、通信処理のための最優先インタラプト(time-critical interrupt)、頻繁に呼ばれるシステムライブラリ、与えられた時間内に行われることが必須である実時間応用のようなデータが他の一般のコードページと同等に扱われ、システムの全体的な性能を低下させ、実時間性に制約を与えるという問題点があった。
【００１７】
従って、シリアルフラッシュメモリから読み出されるページを該当のページのデータに対する重要度に従い管理する効率的なメモリ管理方法が要求されているのが実情である。
【００１８】
韓国公開特許2000-055383(メモリコントローラー)は多数のリクエスト中先ず順位によって一つのリクエストを選択してこれによってメモリにアクセスと同時にアクセスとあるページのアドレスを読んで同じページをアクセスしようとするリクエストを連続で処理してページ入出力時間を減らしたメモリコントローラーを開示しているが、これは削除されたページのデータが要求される場合、コントローラーはまたメモリに近づいて必要なデータを参照するから多いサイクルが要求されて効率的にメモリを管理しがたい問題点がある。
【特許文献１】韓国公開特許第2000-055383号
【発明の開示】
【発明が解決しようとする課題】
【００１９】
本発明は、上記問題点に鑑みなされたものであり、シリアルフラッシュの各ページに優先順位を与え、シリアルフラッシュメモリから読み出されるページを優先順位に従い、システムメモリまたはキャッシュメモリに書き込むことにより、メモリ管理を効率良く行い、システム性能を向上できるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるフラッシュメモリチップを提供することを目的とする。
【００２０】
また、本発明は、優先順位によってデータ処理を行い、キャッシュメモリでのキャッシュミスが発生しないように抑制することにより、キャッシュメモリでのミス率(miss ratio)を減らし得るシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるフラッシュメモリチップを提供することを他の目的とする。
【００２１】
また、本発明は、キャッシュメモリでのミス率を減らすことにより、サイクルの浪費を防ぎ、システムの実時間性を保つことができるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるフラッシュメモリチップを提供することをさらに他の目的とする。
【課題を解決するための手段】
【００２２】
上記の目的を達成するため、本発明は、シリアルフラッシュメモリの各ページに優先順位を与え、フラッシュメモリ制御装置では、主制御部から所定の論理アドレスのデータが要求されると、システムメモリのマッピング情報からなるアドレス変換テーブルを参照して必要なデータを検索する。
【００２３】
その次に、前記検索の結果により、システムメモリまたはキャッシュメモリから該当の論理アドレスのデータを読み出して主制御部に転送したり、シリアルフラッシュメモリから該当のデータを含むページを読み出し、要求されたデータを主制御部に転送する。
【００２４】
また、フラッシュメモリ制御装置は、シリアルフラッシュメモリから読み出されたページを優先順位によってシステムメモリまたはキャッシュメモリに格納し、変更されたマッピング情報を対応するアドレス変換テーブルに書き込む。
【００２５】
本発明において、システムメモリのマッピング情報からなるアドレス変換テーブルは、優先順位によってキャッシュメモリまたはシリアルフラッシュメモリからシステムメモリに移して格納するページに対するマッピング情報を書き込むページアドレス変換テーブル(Page Address Translation table:以下、第１のＰＡＴと称する)と定義され、キャッシュメモリのマッピング情報からなるアドレス変換テーブルは、優先順位によってシリアルフラッシュメモリからキャッシュメモリに移して格納するページに対するマッピング情報を書き込むページアドレス変換テーブル(以下、第２のＰＡＴと称する)と定義される。
【００２６】
また、本発明において、優先順位は、ページのメインデータに対するアクセスレートまたは重要度などにより決定されるもので、決定された優先順位のレベルによって所定のステップに表示する。
【００２７】
本発明の一実施形態によるシリアルフラッシュメモリは、データの格納されるデータ領域のセクターと前記データ領域の論理アドレス情報を有する複数のページからなるデータセクターとに大別され、ページは、メインデータが書き込まれるデータ部と、前記メインデータに与えられる優先順位が書き込まれるスペア部とからなることを特徴とする。
【００２８】
本発明の一実施形態によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置は、主制御部から所定の論理アドレスのデータが要求されると、所定のアドレス変換テーブルを参照し、必要なデータを検索し、検索の結果により、システムメモリまたはキャッシュメモリから該当のデータを読み出して前記主制御部に転送したり、シリアルフラッシュメモリから該当のデータを含むページを読み出し、要求されたデータを前記主制御部に転送することを特徴とする。
【００２９】
また、フラッシュメモリ制御装置は、シリアルフラッシュメモリから読み出されるページを優先順位によってシステムメモリまたはキャッシュメモリに格納し、変更されたマッピング情報を前記アドレス変換テーブルに書き込むことを特徴とする。
【００３０】
本発明の一実施形態によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いたメモリ管理方法は、主制御部から所定の論理アドレスのデータに対する読み出し要求が受信されると、所定のアドレス変換テーブルを参照し、該当の論理アドレスのデータを検索するステップと、検索の結果により、システムメモリまたはキャッシュメモリから該当の論理アドレスのデータを読み出して前記主制御部に転送するステップとを含むことを特徴とする。
【００３１】
また、本発明によるフラッシュメモリ管理方法は、検索の結果により、シリアルフラッシュメモリから該当のデータを含むページを読み出し、要求されたデータを前記主制御部に転送するステップをさらに含み、シリアルフラッシュメモリから読み出されたページを優先順位によってシステムメモリまたはキャッシュメモリに格納し、変更されたマッピング情報を所定のアドレス変換テーブルに書き込むステップをさらに含むことを特徴とする。
【００３２】
本発明の一実施形態によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置によるメモリチップは、メインデータが書き込まれるデータ部と、前記メインデータに与えられる優先順位が書き込まれるスペア部とからなるページから構成されるシリアル型セルタイプのシリアルフラッシュメモリと、シリアルフラッシュメモリから読み出されるページを優先順位によってシステムメモリまたはキャッシュメモリに格納し、変更されたマッピング情報を所定のアドレス変換テーブルに書き込むフラッシュメモリ制御装置を備えることを特徴とする。
【発明の効果】
【００３３】
このような本発明によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるフラッシュメモリチップによれば、シリアルフラッシュメモリから読み出されるページを予め与えられる優先順位によってシステムメモリまたはキャッシュメモリに書き込むことにより、キャッシュメモリに不要なデータが蓄積されることを防止し、効率的なメモリ管理方法を提供することが可能となる。
【００３４】
また、本発明によれば、データがキャッシュメモリで最大限長く蓄積され、キャッシュメモリでのキャッシュミスの発生を抑制することにより、コントローラでのコードの遂行性能を極大化し、キャッシュメモリでのミス率を減らす効果を有する。
【００３５】
また、本発明によれば、キャッシュメモリでのミス率を減らすことにより、サイクルの浪費を抑制し、システムの実時間性を保つことができる効果を有する。
【００３６】
また、本発明によれば、同じ性能を有するキャッシュメモリに比べ、少ないメモリ容量が要求されるため、システムの設計費用を節減し、システム性能を向上できる効果を有する。
【発明を実施するための最良の形態】
【００３７】
以下、本発明の好ましい実施形態を、添付図面に基づいて詳しく説明する。
【００３８】
図１は、本発明の一実施形態によるシリアルフラッシュメモリのページ構造を概略的に示す図である。
【００３９】
図示のように、シリアルフラッシュメモリ１００は、データ領域のセクターとスペア領域のセクターから大別されるが、データ領域にはデータが書き込まれ、スペア領域には、フラッシュメモリモデル/メモリの容量と同じシリアルフラッシュメモリに対する全般的な情報と共にデータ領域に書き込まれるデータの物理アドレスとこれに対応する論理アドレス間のマッピング情報が書き込まれる。
【００４０】
この中で、データ領域に書き込まれるデータは、オペレーティングシステム(Operating System:OS)のブーティング(booting)のためのブートコードと、オペレーティングシステム/応用プログラム、オペレーティングシステム領域に書き込まれたプログラム実行のためのデータと、オペレーティングシステムの動作運用過程で発生される信号や使用者により入力されるデータとからなる。
【００４１】
このようなデータ領域は所定の大きさで分割された複数のブロックからなり、各ブロックは複数のページからなる。
【００４２】
図１に示すように、シリアルフラッシュメモリ１００のページは、メインデータ(main data)が書き込まれるデータ部(data)と、メインデータに与えられた優先順位(priority)が書き込まれるスペア部(spare)とから大別される。
【００４３】
優先順位は、ページのメインデータに対するアクセスレートまたは重要度などにより決定されるもので、決定された優先順位のレベルにより所定のステップに表示する。
【００４４】
即ち、優先順位を２-レベルに決定した場合、ＨＩＧＨ（Ｈ）またはＬＯＷ（Ｌ）に表示する。
【００４５】
一例として、シリアルフラッシュメモリ１００が５２８ｂｙｔｅｓからなるＮＡＮＤ Ｆｌａｓｈである場合、シリアルフラッシュメモリ１００のデータ領域は複数のブロックからなり、１ブロックは３２個のページからなる。
【００４６】
前記各ページは、５１２ｂｙｔｅｓのデータ部と１６ｂｙｔｅｓのスペア部とからなる。
【００４７】
図２は、本発明の一実施形態によるシリアルフラッシュメモリアクセスシステムの構成を概略的に示す図である。
【００４８】
図２に示すように、シリアルフラッシュメモリアクセスシステムは、シリアルフラッシュメモリ１００への書き込みや消去の命令を発生するシステムの主制御部３００と、シリアルフラッシュメモリ１００でのＸＩＰを支援するために、動作の制御を行い、主制御部３００の制御命令により、シリアルフラッシュメモリ１００を直接アクセスするフラッシュメモリ制御装置５００と、システムメモリのシステムメモリ７００とを備えて構成されている。
【００４９】
フラッシュメモリ制御装置５００は、電源が印加されると、シリアルフラッシュメモリ１００のスペア領域をスキャニングし、シリアルフラッシュメモリ１００の現在の書き込み状態が反映されたマッピングテーブルを生成してキャッシュメモリに格納し、シリアルフラッシュメモリ１００へのアクセス時に参照する。
【００５０】
また、フラッシュメモリ制御装置５００は、主制御部３００から所定の論理アドレスのデータが要求されると、第１のＰＡＴを参照し、必要なデータを検索する。
【００５１】
その次に、前記検索結果により、システムメモリ７００またはキャッシュメモリから該当の論理アドレスのデータを読み出して主制御部３００に転送したり、シリアルフラッシュメモリ１００から該当のデータを含むページを読み出して要求されたデータを主制御部３００に転送する。
【００５２】
また、フラッシュメモリ制御装置５００は、シリアルフラッシュメモリ１００から読み出されたページを優先順位により、システムメモリまたはキャッシュメモリに格納し、変更されたマッピング情報を第１のＰＡＴまたは第２のＰＡＴに書き込む。
【００５３】
一例として、フラッシュメモリ制御装置５００は、主制御部３００から所定の論理アドレスのデータを読み出すための制御命令が受信されると、第１のＰＡＴ及び第２のＰＡＴを参照し、読み出し要求された論理アドレスを検索する。
【００５４】
検索の結果、第１のＰＡＴ及び第２のＰＡＴから対応する論理アドレス情報が検索されないと、シリアルフラッシュメモリ１００から必要なデータを含むページを読み出し、読み出されたページを転送し、該当のデータを主制御部３００に転送する。
【００５５】
その次に、フラッシュメモリ制御装置５００は、読み出されたページをフラッシュメモリに格納するが、読み出されたページのメモリアドレスに対応するフラッシュメモリのインデックスに存在するページによりインデックス衝突が発生すると、以前のページと読み出されたページとの優先順位を比較する。
【００５６】
比較の結果、以前のページの優先順位が高いと、読み出されたページをシステムメモリ７００に格納し、変更されたマッピング情報を第１のＰＡＴに書き込む。
【００５７】
あるいは、前記比較の結果、以前のページの優先順位が低いと、キャッシュメモリに格納されている以前のページをシステムメモリ７００に移して格納した後、変更されたマッピング情報を第１のＰＡＴに書き込み、読み出されたページをキャッシュメモリに格納した後、変更されたマッピング情報を第２のＰＡＴに書き込む。
【００５８】
システムメモリ７００には、通常、ＤＲＡＭ，ＳＤＲＡＭ，ＳＲＡＭまたはＵｔＲＡＭなどのＲＡＭ(Random Access Memory)が用いられる。
【００５９】
図３は、図２のフラッシュメモリ制御装置を概略的に示す図である。
【００６０】
図３に示すように、フラッシュメモリ制御装置５００は、システムインタフェース部５１０と、キャッシュモジュール５２０と、アクセスモジュール５３０と、フラッシュインタフェース部５４０と、コントローラ５５０とを備えて構成されている。
【００６１】
システムインタフェース部５１０は、主制御部３００から発生される制御命令を受信し、受信された制御命令による演算結果を主制御部３００に提供するための信号の送/受信処理を行っている。
【００６２】
キャッシュモジュール５２０は、第１のＰＡＴ５２１と、第２のＰＡＴ５２２と、キャッシュメモリ５２３とからなる。
【００６３】
第１のＰＡＴ５２１は、システムメモリ７００の書き込み状態を示すもので、キャッシュメモリ５２３またはシリアルフラッシュメモリ１００からシステムメモリ７００に移して格納するページに対する論理アドレスと物理アドレスとの間のマッピング情報を書き込んだものである。
【００６４】
第２のＰＡＴ５２２は、シリアルフラッシュメモリ１００からキャッシュメモリ５２３に移して格納するページに対する論理アドレスと物理アドレスとの間のマッピング情報を書き込んだものである。
【００６５】
キャッシュメモリ５２３は、メインキャッシュ(main cache)と、キャッシュミスの発生を減らすために、キャッシュメモリから主記憶領域にデータを移すためのバッファとして機能するビクティムキャッシュ(victim cache)とからなり、通常、別に分離されたStatic Random Access Memory(SRAM)チップのL2-Cacheを用いている。
【００６６】
本発明によるビクティムキャッシュは、インデックス衝突時に、ページ置き換えアルゴリズムにより出力される以前に書き込まれたページを格納し、キャッシュメモリでのキャッシュミスを減らす。
【００６７】
アクセスモジュール５３０は、シリアルフラッシュメモリ１００でのＸＩＰのために、システムブーティング時に、初期ブーティングのためのブートコードを含むページを読み出して格納した後、必要なブートコードを主制御部３００に転送するもので、ブートローダー(Boot Loader)５３１と、プリフェッチ(Prefetch)５３２と、誤り検出コード/誤り訂正コード(Error Detection Code/Error Correction Code;以下、EDC/ECCと称する)５３３と、Decomp５３４とから構成されている。
【００６８】
ブートローダー５３１は、システムブーティングを効率的に行うためのもので、電源が印加されると、シリアルフラッシュメモリ１００のブート領域に書き込まれたオペレーティングシステムプログラム及びシステムブーティングのためのイメージのような初期化コード(initialize code)を読み込んでバッファに格納し、主制御部３００が初めてのコードフェッチサイクル(code fetch cycle)を開始し、ブートコードの読み出しが要求されると、格納された初期化コードを主制御部３００に転送し、ブーティングが開始されるようにする。
【００６９】
プリフェッチ５３２、ＥＤＣ/ＥＣＣ５３３及びＤｅｃｏｍｐ５３４は、フラッシュメモリ制御装置５００の性能向上のためのもので、プリフェッチ５３２は、主制御部３００の読み出しの要求が予想されるデータをシリアルフラッシュメモリ１００からデータを予め読み込んでバッファに格納し、ＥＤＣ/ＥＣＣ５３３は、送/受信されるデータの誤りを検出し訂正し、Ｄｅｃｏｍｐ５３４は、システムの特性により、要求されるデータの圧縮及び圧縮解除を行う。
【００７０】
Ｄｅｃｏｍｐ５３４は、システムの特性により備えており、必要によっては備えなくも良い。
【００７１】
フラッシュインタフェース部５４０は、主制御部３００の制御命令によるシリアルフラッシュメモリ１００とのデータの送/受信を行っている。
【００７２】
コントローラ５５０は、各構成要素を介してシリアルフラッシュメモリ１００でのＸＩＰが行われるように、全般的な動作制御を行うもので、第１のＰＡＴ及び第２のＰＡＴ５２１、５２２を参照し、必要なデータを主制御部３００に転送し、シリアルフラッシュメモリ１００から読み出されたページを優先順位によってキャッシュメモリ５２３またはシステムメモリ７００に格納する。
【００７３】
図４は、コントローラにおける読み出し命令語処理構造を概略的に示す図である。
【００７４】
図４に示すように、フラッシュメモリ制御装置５００のコントローラ５５０では、主制御部３００からシリアルフラッシュメモリ１００に書き込まれた所定のデータを読み出すための制御命令が受信されると、読み出し要求された論理アドレスのデータをアクセスするために、その論理アドレスを物理アドレスに変換する。
【００７５】
このため、コントローラ５５０では、主制御部３００から読み出し要求された論理アドレスが受信されると、受信された論理アドレスから論理ブロック番号(Logical Block Number:ＬＢＮ)を読み出す。
【００７６】
その次に、読み出されたＬＢＮを利用して初期化過程でキャッシュメモリ５２３に格納されるマッピングテーブルにアクセスし、マッピングテーブルでＬＢＮが有効なブロックであるか否かを判別し、判別の結果、有効なブロックであれば、マッピングテーブルを参照し、ＬＢＮに対応する物理ブロック番号(Physical Block Number:ＰＢＮ)を検出する。
【００７７】
もし、前記判別の結果、マッピングテーブルにおいてＬＢＮが有効なブロックでないと、代替された有効なＰＢＮを検出する。
【００７８】
また、受信された論理アドレスから論理ページ番号(Logical Page Number:ＬＰＮ)を検出し、検出されたＬＰＮとＰＢＮとを組み合わせ、第１のＰＡＴ５２１に一致するＬＰＮが存在するかどうかを検索する。
【００７９】
検索の結果、一致するＬＰＮが存在すると、対応する物理ページ番号(Physical Page Number:ＰＰＮ)を検出する。
【００８０】
その次に、検出されたＰＰＮとページオフセット(page off set)とを組み合わせ、システムメモリ７００にアクセスし、ＰＰＮに対応するシステムメモリ７００の物理アドレスに書き込まれたデータが有効な値であるか否かを判別する。
【００８１】
判別の結果、有効な値であると、システムメモリ７００の該当の物理アドレスに書き込まれたデータを読み出して主制御部３００に転送し、前記判別の結果、有効な値でないと、主制御部３００から要求されたページがシステムメモリ７００に存在しないと判断する。
【００８２】
このように、主制御部３００から要求されたページがシステムメモリ７００に存在しないと、コントローラ５５０では、第２のＰＡＴ５２２を参照し、主制御部３００から読み出し要求されたデータの物理アドレス(ＰＰＮ)がキャッシュメモリ５２３に存在するかどうかを判別する。
【００８３】
判別の結果、物理アドレス(ＰＰＮ)がキャッシュメモリ５２３に存在すると、キャッシュメモリ５２３の該当の物理アドレスに書き込まれたデータを読み出して主制御部３００に転送し、前記判別の結果、キャッシュメモリ５２３に存在しないと、物理アドレス(ＰＢＮ、ＰＰＮ)を利用してシリアルフラッシュメモリ１００にアクセスする。
【００８４】
このような過程により、コントローラ５５０は、キャッシュメモリ５２３に必要なデータが格納されていなくて発生するキャッシュミスのためにシステムメモリ７００を改めて検索するサイクルの浪費を防止することができる。
【００８５】
また、キャッシュメモリ５２３のビクティムキャッシュによってキャッシュミスを減らすことにより、コントローラ５５０でのキャッシュヒット率が高くなり、実時間性を具現することが可能となる。
【００８６】
図５は、コントローラにおける優先順位によるページ処理構造を概略的に示す図である。
【００８７】
図５に示すように、主制御部３００の要求による読み出し演算過程でシリアルフラッシュメモリ１００から所定のデータを含むページが読み出されると、フラッシュメモリ制御装置５００のコントローラ５５０では、読み出されたページの優先順位によって処理を行う。
【００８８】
即ち、コントローラ５５０では、直接写像方式によって読み出されたページをシリアルフラッシュメモリ１００での物理アドレスに対応するインデックスアドレスのキャッシュメモリ５２３に格納する。
【００８９】
その次に、コントローラ５５０は、読み出されたページをキャッシュメモリ５２３に格納する過程でインデックス衝突が発生するか否かを判別し、インデックス衝突が発生すると、優先順位を比較し、キャッシュメモリ５２３に格納したり、システムメモリ７００に格納する。
【００９０】
例えば、メモリアドレスが＃０００００であるページ（Ａ）は、対応するインデックスアドレス＃０００のキャッシュメモリ５２３に格納される。
【００９１】
この過程でコントローラ５５０は、インデックス衝突が発生するか否かを判別する。
【００９２】
判別の結果、インデックス衝突が発生しないと、ページ（Ａ）のキャッシュメモリ５２３への格納を終了する＜１＞。
【００９３】
その次に、主制御部３００によりシリアルフラッシュメモリ１００に書き込まれたデータが順次要求されると、メモリアドレスが＃０１０００であるページ（Ｆ）は、対応するインデックスアドレス＃０００のキャッシュメモリ５２３に格納する＜２＞。
【００９４】
この過程でコントローラ５５０は、インデックス衝突が発生するか否かを判別するが、ページ（Ｆ）は、書き込み過程で以前に書き込まれたページ（Ａ）と衝突することになる。
【００９５】
このように衝突が発生すると、コントローラ５５０では、ページ（Ａ）とページ（Ｆ）との優先順位を比較する。
【００９６】
比較の結果、格納したいページ（Ｆ）の優先順位（Ｌ）がページ（Ａ）の優先順位（Ｈ）より低いと、コントローラ５５０は、ページの優先順位によってページ（Ｆ）をシステムメモリ７００に格納する。
【００９７】
その次に、コントローラ５５０では、主制御部３００の順次的なデータの要求によって該当のデータをシリアルフラッシュメモリ１００から読み出すが、メモリアドレスが＃０２０００であるページ（Ｍ）は、対応するインデックスアドレス＃０００のキャッシュメモリ５２３に格納する＜３＞。
【００９８】
この過程でコントローラ５５０では、インデックス衝突が発生するか否かを判別するが、ページ（Ｍ）は、書き込み過程で以前に書き込まれたページ（Ａ）と衝突することになる。
【００９９】
このような衝突が発生すると、コントローラ５５０では、ページ（Ａ）とページ（Ｍ）との優先順位を比較する。
【０１００】
比較の結果、格納したいページ（Ｍ）の優先順位（Ｈ）がページ（Ａ）の優先順位（Ｈ）と同じであると、コントローラ５５０は、ページ置き換えアルゴリズムによって以前に書き込まれたページ（Ａ）はビクティムキャッシュメモリに移して格納し＜４＞、読み出されたページ（Ｍ）を格納しようとするキャッシュメモリ５２３のインデックスアドレス＃０００に格納する。
【０１０１】
このように構成される本発明によるシリアルフラッシュメモリにけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置５００において、本発明を構成するシリアルフラッシュメモリ１００とフラッシュメモリ制御装置５００とは、１つのシリアルフラッシュメモリチップで具現することができる。
【０１０２】
このようなシリアルフラッシュメモリチップはＸＩＰを支援しているため、ＲＯＭやＮＯＲフラッシュメモリを代替することができ、優先順位によるメモリ管理方法を用いてより効率的なＸＩＰを行うことが可能となる。
【０１０３】
ちなみに、前述の本発明の一実施形態によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置は、各モジュールを全てハードウェアで構成したり、または、一部のモジュールをソフトウェアで構成したり、あるいは、全体のモジュールをソフトウェアで構成しても良い。
【０１０４】
従って、本発明の一実施形態によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置をハードウェアまたはソフトウェアで構成するのは、これに限定されるものでなく、本発明の基本的な技術的思想を逸脱しない範囲内で、当業界の通常の知識を有する者にとっては、例えば、ソフトウェア及び/またはハードウェアで構成するなどの他の多くの変更が可能であろう。
【０１０５】
以下、このように構成されるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いるメモリ管理方法を添付図面を参照しながら詳しく説明する。
【０１０６】
本発明において、シリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いるメモリ管理方法は、システムに電源が印加されると、シリアルフラッシュメモリ１００からシステムブーティングのためのブートコードを含むページを読み出してバッファリングした後、主制御部３００からブートコードが要求されると、転送することにより、シリアルフラッシュメモリにおけるＸＩＰを支援する初期化過程を終了し、主制御部３００から受信される制御命令を処理する過程を行っている。
【０１０７】
即ち、初期化過程によりシステムブーティングが行われた後、主制御部３００によりシリアルフラッシュメモリ１００に書き込まれた所定の論理アドレスのデータが読み出し要求される場合に、シリアルフラッシュメモリ１００から読み出されるページに対する処理過程が行われる。
【０１０８】
これにより、本発明によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いるメモリ管理方法においては、本発明の基本的な技術的思想から逸脱すると思われる初期化過程及び書き込み・消去演算による処理過程に対する詳細は省略する。
【０１０９】
図６は、本発明の一実施形態によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いるメモリ管理過程を概略的に示す図である。
【０１１０】
図示のように、先ず、フラッシュメモリ制御装置５００のコントローラ５５０では、主制御部３００から所定の論理アドレスのデータに対する読み出し要求が受信されると(Ｓ１)、シリアルフラッシュメモリ１００から得られるマッピングテーブル及び第１のＰＡＴ５２１を参照し、読み出し要求された論理アドレスを物理アドレスに変換する(Ｓ２)。
【０１１１】
その次に、コントローラ５５０は、変換された物理アドレスを利用して、主制御部３００から読み出し要求されたデータの物理アドレス(ＰＰＮ)が第１のＰＡＴ５２１に存在するかどうかを判別する(Ｓ３)。
【０１１２】
判別の結果、第１のＰＡＴ５２１に物理アドレスが存在すると、コントローラ５５０では、システムメモリ７００にアクセスし、システムメモリ７００の該当の物理アドレスからページを読み出す(Ｓ４)。
【０１１３】
前記判別の結果、第１のＰＡＴ５２１に物理アドレスが存在しないと、コントローラ５５０では、第２のＰＡＴ５２２を参照し、主制御部３００から要求されたデータの物理アドレスがキャッシュメモリ５２３のメインキャッシュに存在するかどうかを判別する(Ｓ５)。
【０１１４】
判別の結果、メインキャッシュに該当の物理アドレスが存在すると、コントローラ５５０では、物理アドレスを利用してメインキャッシュをアクセスし、メインキャッシュの該当の物理アドレスからページを読み出す(Ｓ６)。
【０１１５】
前記判別の結果、メインキャッシュに該当の物理アドレスが存在しないと、コントローラ５５０では、主制御部３００から要求されたデータの物理アドレスがキャッシュメモリ５２３のビクティムキャッシュに存在するかどうかを判別する(Ｓ７)。
【０１１６】
判別の結果、ビクティムキャッシュに該当の物理アドレスが存在すると、コントローラ５５０では、物理アドレスを利用してビクティムキャッシュにアクセスし、ビクティムキャッシュの該当の物理アドレスからページを読み出す(Ｓ８)。
【０１１７】
前記判別の結果、ビクティムキャッシュに該当の物理アドレスが存在しないと、コントローラ５５０では、シリアルフラッシュメモリ１００にアクセスし、シリアルフラッシュメモリ１００の該当の物理アドレスからページを読み出す(Ｓ９)。
【０１１８】
その次に、コントローラ５５０では、読み出されたページをキャッシュメモリ５２３の直接写像方式によるシリアルフラッシュメモリ１００での物理アドレスに対応するインデックスアドレスのメインキャッシュに格納する(Ｓ１０)。
【０１１９】
その次に、コントローラ５５０では、書き込まれるページと該当のインデックスアドレスのメインキャッシュに格納された以前のページとの間にインデックス衝突が発生するかどうか判別する(Ｓ１１)。
【０１２０】
判別の結果、インデックス衝突が発生しないと、コントローラ５５０は、メインキャッシュへのページの格納を終了し、第２のＰＡＴ５２２に変更されたマッピング情報を書き込む(Ｓ１２)。
【０１２１】
前記判別の結果、インデックス衝突が発生すると、コントローラ５５０は、以前に格納されたページと読み出されたページとの優先順位を比較し(Ｓ１３)、以前に格納されたページの優先順位が高いかどうかを判別する(Ｓ１４)。
【０１２２】
判別の結果、以前に書き込まれたページの優先順位が高いと、コントローラ５５０は、読み出されたページをシステムメモリ７００に格納し、第１のＰＡＴ５２１に変更されたマッピング情報を書き込む(Ｓ１５)。
【０１２３】
前記判別の結果、以前に書き込まれたページの優先順位が高くないと、コントローラ５５０は、以前に格納されたページをキャッシュメモリ５２３のビクティムキャッシュに移して格納し、読み出されたページをキャッシュメモリ５２３のメインキャッシュに格納する。
【０１２４】
また、コントローラ５５０は、第２のＰＡＴ５２２に変更されたマッピング情報を書き込む(Ｓ１６)。
【０１２５】
このような本発明によるシリアルフラッシュにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いるメモリ管理方法を添付図面を参照しながら一実施形態を挙げて詳細に説明する。
【０１２６】
図７は、本発明の一実施形態によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いるメモリ管理構造を概略的に示す図である。
【０１２７】
図示のように、フラッシュメモリ制御装置５００のコントローラ５５０は、主制御部３００からシリアルフラッシュメモリ１００に書き込まれた所定のデータを読み出すための制御命令が受信されると＜１＞、第１のＰＡＴ５２１を参照し、読み出し要求されたデータの物理アドレスがシステムメモリ７００に存在するかどうかを検索する＜２＞。
【０１２８】
検索の結果、システムメモリ７００に該当の物理アドレスが存在すると、コントローラ５５０では、読み出し要求されたデータの物理アドレスを利用してシステムメモリ７００にアクセスし＜３＞、システムメモリ７００から該当の物理アドレスのデータを読み出して主制御部３００に転送する＜４＞。
【０１２９】
前記検索の結果、システムメモリ７００に該当の物理アドレスが存在しないと、コントローラ５５０では、第２のＰＡＴ５２２を参照し、読み出し要求されたデータの物理アドレスがキャッシュメモリ５２３のメインキャッシュに存在するかどうか検索する＜５＞。
【０１３０】
検索の結果、メインキャッシュに該当の物理アドレスが存在すると、コントローラ５５０では、読み出し要求されたデータの物理アドレスを利用してメインキャッシュにアクセスし＜６＞、メインキャッシュから該当の物理アドレスのデータを読み出して主制御部３００に転送する＜７＞。
【０１３１】
前記検索の結果、メインキャッシュに該当の物理アドレスが存在しないと、コントローラ５５０では、読み出し要求されたデータの物理アドレスを利用してビクティムキャッシュにアクセスする＜８＞。
【０１３２】
その次に、コントローラ５５０では、ビクティムキャッシュに該当の物理アドレスが存在するかどうかを判別し、ビクティムキャッシュに物理アドレスが存在すると、ビクティムキャッシュから該当の物理アドレスのデータを読み出して主制御部３００に転送し＜９＞、ビクティムキャッシュに物理アドレスが存在しないと、物理アドレスを利用してシリアルフラッシュメモリ１００にアクセスする＜１０＞。
【０１３３】
その次に、シリアルフラッシュメモリ１００から要求されたデータを含むページを読み出し、要求されたデータを主制御部３００に転送し、シリアルフラッシュメモリ１００から読み出されたページを優先順位によりキャッシュメモリ５２３またはシステムメモリ７００に格納する。
【０１３４】
また、第１のＰＡＴ５２１または第２のＰＡＴ５２２に変更されたマッピング情報を書き込む。
【０１３５】
このような本発明によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置５００及びこれを用いたメモリ管理方法、これによるメモリチップは、第１のＰＡＴ５２１を含むフラッシュメモリ制御装置５００で具現されるものとしているが、第１のＰＡＴ５２１は、フラッシュメモリ制御装置５００とは別に、システムメモリ７００と同じシステム上の所定のメモリ空間に具現しても良い。
【０１３６】
図８は、本発明の他の実施形態によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いるメモリ管理構造を概略的に示す図である。
【０１３７】
図示のように、第１のＰＡＴ５２１がキャッシュモジュール５２０から分離され、システムメモリに別に位置する場合にも、先に図７で説明したようなシリアルフラッシュにおけるＸＩＰのための優先順位に基づくフラッシュメモリ管理過程が行われる。
【０１３８】
本発明によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置及びこれを用いたメモリ管理方法、これによるメモリチップにおいては、所定のアドレス変換テーブルを有するフラッシュメモリ制御装置で具現されるものとしているが、本発明は、これに限定されるものでなく、このような本発明の基本的な技術的思想を逸脱しない範囲内で、当業界の通常の知識を有する者にとっては、例えば、シリアルフラッシュメモリから読み出されるページを予め与えられた優先順位により、システムメモリに書き込み、変更されたマッピング情報をシステムメモリに対するアドレス変換テーブルに書き込み、主制御部の要求に応じた読み出し演算時に、システムメモリに対するアドレス変換テーブルを参照し、必要なデータを検索できるようにするメモリ管理方法などへの他の多くの変更が可能であろう。
【図面の簡単な説明】
【０１３９】
【図１】本発明の一実施形態によるシリアルフラッシュメモリのページ構造を概略的に示す図である。
【図２】本発明の一実施形態によるシリアルフラッシュアクセスシステムの構造を概略的に示すブロック線図である。
【図３】図２のフラッシュメモリ制御装置を概略的に示すブロック線図である。
【図４】コントローラにおける読み出し命令語の処理構造を概略的に示す図である。
【図５】コントローラにおける優先順位によるページ処理構造を概略的に示す図である。
【図６】本発明の一実施形態によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いるメモリ管理過程を概略的に示すフローチャートである。
【図７】本発明の一実施形態によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いるメモリ管理構造を概略的に示すブロック線図である。
【図８】本発明の他の実施形態によるシリアルフラッシュメモリにおけるＸＩＰのための優先順位に基づくフラッシュメモリ制御装置を用いるメモリ管理構造を概略的に示す図である。
【符号の説明】
【０１４０】
１００  シリアルフラッシュメモリ
３００  主制御部
５００  フラッシュメモリ制御装置
５１０  システムインタフェース
５２０  キャッシュモジュール
５２１  第１のＰＡＴ
５２２  第２のＰＡＴ
５２３  キャッシュメモリ
５３０  アクセスモジュール
５３１  ブートローダー
５３２  プリフェッチ
５３３  ＥＤＣ/ＥＣＣ
５３４  Ｄｅｃｏｍｐ
５４０  フラッシュインタフェース部
７００  システムメモリ
【図１】
2005115910.tif 000003
【図２】
2005115910.tif 000004
【図３】
2005115910.tif 000005
【図４】
2005115910.tif 000006
【図５】
2005115910.tif 000007
【図６】
2005115910.tif 000008
【図７】
2005115910.tif 000009
【図８】
2005115910.tif 000010