(57)【要約】      （修正有）【課題】ストレージ装置（高分子強誘電性メモリ装置）のメモリのセルが現在の状態に刻印(imprinted)または膠着されるのを防止するためのリフレッシュ・サイクルを発行するシステムおよび方法を提供する。【解決手段】ホスト制御インターフェイス（ＨＣＩ）は、大容量ストレージに周期的なメモリ・リフレッシュ・サイクルを提供し、セルの状態が固定化されるのを防止する。時間に基づいたリフレッシュは、キャッシュ・ストレージ装置２０，２２，・・・，２４，２６中の高分子メモリ装置が現在の状態に「刻印される(imprinted)」または膠着されるのを防止する。ＨＣＩ１８は、電源投入時にすべてのアドレスを経由する最初のループを提供し、規則的な時間間隔で通常のアクセス時間の読み出しが後続し、電源オン中にセルが刻印されないことを保証する。【選択図】図１
2010049701.tif 000002
【特許請求の範囲】
【請求項１】
デュアル・アンテナに結合された送受信機を有するプロセッサと、
前記プロセッサに結合されたメモリ・モジュールであって、
（ａ）メモリ制御器、
（ｂ）前記メモリ制御器に結合される大容量ストレージを形成するストレージ装置、および
（ｃ）前記プロセッサに結合され、インターフェイスを介して前記ストレージ装置へ発行されるリフレッシュ・サイクルを提供するホスト制御装置、を含むメモリ・モジュールと、
を含むことを特徴とするシステム。
【請求項２】
前記ストレージ装置は、高分子メモリ装置であることを特徴とする請求項１記載のシステム。
【請求項３】
前記ストレージ装置は、フラッシュ・メモリ装置であることを特徴とする請求項１記載のシステム。
【請求項４】
前記メモリ・モジュールは、非同期に処理するコマンドのリストを与えられるバス・マスタ装置であることを特徴とする請求項１記載のシステム。
【請求項５】
前記コマンドのリストは、前記プロセッサによる関与なしに処理されることを特徴とする請求項４記載のシステム。
【請求項６】
前記ストレージ装置によって前記メモリ・モジュール上に格納されたデータは、プロセッサ命令によって直接アクセス可能ではないことを特徴とする請求項１記載のシステム。
【請求項７】
前記ストレージ装置によって前記メモリ・モジュール上に格納された前記データは、システム・メモリへおよびシステム・メモリからコピーされることを特徴とする請求項６記載のシステム。
【請求項８】
ストレージ装置のために周期的なメモリ・リフレッシュ・サイクルを提供する段階と、
メモリ制御器がエラーを検出し、かつメモリ・リフレッシュ障害を報告するために前記ストレージ装置を制御するソフトウェアに割り込みをかけることを可能にする段階と、
を含むことを特徴とするエラーを報告する方法。
【請求項９】
前記ストレージ装置のための高分子強誘電性メモリ（ＰＦＥＭ）装置を組込む段階、
をさらに含むことを特徴とする請求項８記載の方法。
【請求項１０】
前記ストレージ装置のために周期的なメモリ・リフレッシュ・サイクルを提供する段階は、キャッシュ・ストレージ装置のために前記周期的なメモリ・リフレッシュ・サイクルを提供する段階をさらに含むことを特徴とする請求項８記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロック・アドレスの可能な大容量ストレージ・システムのためのインターフェイスに関する。
【背景技術】
【０００２】
今日、プロセッサとキャッシュの大容量ストレージとの間のデータ・アクセスを促進させるために、大容量ストレージ装置に使用するいくつかのインターフェイスがある。ダイレクト・メモリにマップされたインターフェイスおよび標準ブロックにアドレス可能なインターフェイスは、大容量ストレージ装置に使用されるが、どちらもディスク・キャッシュには適していない。必要なことは、ディスク・キャッシュのためにシステム性能を改善することができるインターフェイスである。
【０００３】
本発明に関する主題は、明細書に添付した請求項において特に指摘され明確にクレームされる。しかしながら、本発明は、その目的、機能、および利点と共に、オペレーションの構成および方法の両方に関して、以下の詳細な説明を添付図面と合わせて読むことにより、最も良く理解することができる。
【０００４】
図面を単純化および明瞭化するために、図中に示された要素は、必ずしも同じ寸法で図示されていないことが理解されるであろう。例えば、いくつかの要素の寸法は、明瞭化するために他の要素に比べて拡大される。さらに、適切であると考えられる場合には、参照番号は、対応または類似する要素を示すために図中で繰り返される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２００３／００６１４３６号明細書
【図面の簡単な説明】
【０００６】
【図１】本発明に従って、プロセッサと大容量ストレージ装置との間のインターフェイスを有する装置を図示する。
【図２】本発明の特徴を強調するブロック図である。
【図３】５つのキャッシュ・ライン・ディスク要求を示す。
【図４】図３の要求に対するコマンド・シーケンスを示す。
【発明を実施するための形態】
【０００７】
以下の詳細な説明では、特定の多くの詳細事項が、本発明の完全な理解を提供するために述べられる。しかしながら、本発明は、これらの特定の詳細事項がなくても当技術の当業者によって実施されることが理解されるであろう。また、例えば、周知の方法、手順、コンポーネント、および回路については、本発明を不明瞭にしないために詳細には記述されない。
【０００８】
以下の記述および請求項において、用語「結合された」、「接続された」がそれらの派生語と共に用いられる。これらの用語は、互いに同義語として意図されていないことに理解しなければならない。むしろ、特定の実施例では、「接続された」は、２またはそれ以上の要素が互いに物理的または電気的な直接の接触にあることを示すために使用される。「結合された」もまた、２つ以上の要素が直接に物理的電気的に接触していることを意味する。しかしながら、「結合された」は、さらに、２つ以上の要素が互いに直接に接触していないが、互いに働き合うこと、または作用し合うことを意味する。
【０００９】
図１は、１またはそれ以上のアンテナから変調信号を受信または送信する送受信機１４を含む装置１０を示す。アナログ・フロント・エンド送受信機は、スタンド・アロンの無線周波数（ＲＦ）のアナログ集積回路、あるいは、混合モードの集積回路としてプロセッサ１２と組み込まれてもよい。受信変調信号は、周波数ダウン変換され、フィルタされ、その後、ベースバンドのデジタル信号に変換される。プロセッサ１２によって処理されるデジタル・データは、メモリ・モジュール上のストレージ装置２０，２２，・・・，２４，２６によってストレージ装置用インターフェイス１６を介して転送される。ストレージ装置２０，２２，・・・，２４，２６は、キャッシュとして使用されてもよいことが理解されるであろう。ネットワーク・インタフェース・カード（ＮＩＣ）は、インターフェイス１６を介してデータ転送を促進し、１９９５年６月付のＰＣＩローカル・バス仕様によって規定される周辺装置相互接続（ＰＣＩ）バス、あるいはＰＣＩエクスプレス・バスまたは他の高帯域バスのようなバスを組み込んでいてもよい。
【００１０】
実施例によって、また記述を容易にするために、図１に示されるメモリ・モジュールは、４つのストレージ装置２０，２２，２４，２６を具備する。ある実施例において、４つのストレージ装置の各々は、２５６のＭバイトの格納容量を有するが、メモリ・モジュールを形成するストレージ装置のサイズも装置数も、本発明を制限するものではない。さらに、ストレージ装置２０，２２，２４，２６は、個別にパッケージにされてもよく、また１つのパッケージ内に複数のメモリ装置として積み重ねられてもよく、さらに別々のメモリ・ブロックとしてアドレス可能に集積されてもよい。ストレージ装置２０，２２，・・，２４，２６は、プロセッサ１２によって処理されたデータ、および、管理上の目的のためにメモリ管理システムによって使用されるメタデータの両方を格納することができる。メモリ・モジュールは、データのみにアクセスするためのサポート、あるいは独立してアクセス可能なメタデータのみをあるいはデータ・プラス・メタデータにアクセスするためのサポートを有している。
【００１１】
メモリ・モジュール上のメモリ制御器２８は、アドレスと制御バスを経由してストレージ装置に接続される。メモリ制御器２８は、現在のコマンドを取り出し処理し、また、処理が終了すると、コマンド・ステータスは適切に設定される。メモリ制御器２８は、さらにメモリ・マッピング・アルゴリズムを実行し、装置１０の性能を改善する。ホスト制御装置３０は、ホスト制御装置インターフェイス（ＨＣＩ）１８、メモリ制御器２８、および、プロセッサ１２と接続されることに注意すること。
【００１２】
ある実施例において、ストレージ装置２０，２２，２４，２６は、プロセッサ１２に結合された大容量ストレージ・システム（図示せず）のための情報をキャッシュするのに適合した比較的大きい不揮発性ディスク・キャッシュ・メモリであってもよい。大容量ストレージ・システムは、例えば典型的には少なくとも約１ギガバイトの格納容量を有する。大容量ストレージ・システムは、電気機械式ハードディスク・メモリ、光ディスク・メモリ、または磁気ディスク装置であるが、本発明の範囲はこの点に制限されることはない。
【００１３】
ある実施例において、ストレージ装置２０，２２，・・・，２４，２６は、少なくとも約２５０メガバイトの格納容量を有する高分子メモリ（polymer memory）であっても、また強誘電性メモリ・セルであってもよく、各セルは少なくとも２つの導電性ライン間に位置する強誘電性高分子材料を含む。この実施例では、強誘電性高分子材料は、強誘電性分極可能な材料であってもよく、ポリフッ化ビニル、ポリフッ化エチレン、ポリ塩化ビニル、ポリエチレン塩化物、ポリアクリロニトリル、ポリアミド、それらの共高分子（copolymer）、またはそれらの組合せで構成された強誘電性高分子材料を含む。
【００１４】
別の実施例では、ストレージ装置２０，２２，・・・，２４，２６は、例えばプラスティック・メモリまたは抵抗性変化高分子メモリ（resistive change polymer memory）のような高分子メモリであってもよい。この実施例では、プラスティック・メモリは、アドレス・マトリックスのノードでサンドイッチにされた高分子メモリ材料の薄膜を含む。任意のノードにおける抵抗は、高分子メモリ材料の両端に印加される電位によって数百オームから数メガオームまで変化し、高分子材料中に流れる正負の電流が高分子材料の抵抗を変化させる。潜在的には、異なる抵抗レベルが、１セル当たり数ビットを格納し、また、データ密度は膜を積み重ねることによりさらに増加させられる。高分子メモリに加えて、キャッシュ・ストレージ装置は、ＮＯＲまたはＮＡＮＤ型フラッシュまたはバッテリ・バックアップ型のＤＲＡＭであってもよい。
【００１５】
装置１０のための本発明の実施例は、様々なアプリケーションで使用され、請求項に記載された主題はマイクロコントローラ、汎用マイクロプロセッサ、デジタル信号プロセサ（ＤＳＰ）、縮小命令セット・コンピューティング（ＲＩＳＣ）、複雑命令セット・コンピューティング（ＣＩＳＣ）、他の電子部品中に組み入れられてもよい。特に、本発明は、スマート電話、コミュニケータおよび個人用デジタル情報処理端末（ＰＤＡ）、医療またはバイテク機器、自動車用安全装置および保護装置、および、自動車用情報装置中に使用されてもよい。しかしながら、本発明の範囲は、これらの実施例に制限されることがないことを理解すべきである。
【００１６】
図２は、ホスト制御装置インターフェイス（ＨＣＩ）１８を示し、本実施例では、インターフェイス１６を介してＰＣＩエクスプレス・バス転送のためのアドイン・カードを有するが、他の実施例では他のバスを採用してもよいことに着目すべきである。一般に、ＨＣＩ１８中のメモリ・モジュールのハードウェアは、モジュール・ハードウェア信号が完了を処理するまで、プロセッサ１２の関与なしに発行したソフトウェアの形成したコマンドのリストを処理する。メモリ・モジュール上のキャッシュ・ストレージ装置２０，２２，・・・，２４，２６に格納されたメモリ・データは、ＣＰＵ命令によって直接にアクセスすることができない。キャッシュに格納されたデータは、例えば、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）のようなシステム・メモリ３２へ／からコピーされる。
【００１７】
メモリ・モジュールは、非同期に処理するコマンドのリストを与えるバス・マスタ装置である。コマンドは、コマンドに関連したデータを保持するために使用されるシステム・メモリ中のバッファを識別する。したがって、ＨＣＩ１８は、キャッシュ・ストレージ装置への直接のＣＰＵ命令アクセスなしにインターフェイス１６を介して読出し／書込みデータを流す（ストリーミングする）ことができるメモリ・モジュール・プログラミング・インターフェイスを提供する。換言すれば、ＨＣＩ１８は、メモリ・ストレージ装置にアクセスする直接的なメモリ類似のインターフェイスではない。
【００１８】
本発明は、プロセッサと大容量ストレージ装置との間に位置するインターフェイス（ＨＣＩ１８）を含む。ＨＣＩ１８は、大容量ストレージ装置をサポートするために必要な、関連する機能およびサービスを提供するとともに、本発明の様々な特徴は、ハードウェアまたはソフトウェアのいずれかで実現される。様々な実施例では、ＨＣＩ１８は、記述された特徴のすべてまたはその一部を含む。
【００１９】
図２に示されるように、本発明は、ともに発行されるコマンドのグループを与える連続的な関連コマンド２００、高分子強誘電性メモリ（ＰＦＥＭ）メモリ技術の特性をサポートすることを目指した極性マップ機構２１０，タイミング制御２２０およびダイナミック・アドレシング２３０、ディスク・キャッシング環境のパフォーマンスを最適化するマルチ制御コマンド２４０、リフレッシュ２５０、メモリ・ワードの読出し／書込み動作を提供するメタデータ・サイズおよびキャッシュ・ライン・サイズ２６０、データ・エラー２７０およびメモリ・エラーを報告するためのエラー訂正コード（ＥＣＣ）訂正正２８０、および、システム性能を改善するための最適化された拡散ギャザー・リスト２９０のような機能を含む。
【００２０】
連続的な関連コマンド２００
図２は、キャッシュ・アクセスのために設計されたＨＣＩ１８の中に発行される連続的な関連コマンド２００を含む。キャッシュ・ストレージ装置２０，２２，・・・，２４，２６からのデータを求めるユーザ・リクエストは、そのリクエストに応じるために複数のキャッシュ・ラインがアクセスされることを要求する。セット・アソシエィティブ・キャッシュ・マッピングのアルゴリズムにより、連続的なディスク・セクタに対する要求は、必ずしも連続的なキャッシュ・ラインをマップすることにはならない。（図３は、異なるキャッシュ・ラインへマップされる連続的なディスク・セクタを図示する。）
【００２１】
ＨＣＩ１８は、システム・メモリ中のコマンド・リスト構造、および、ともに発行されるコマンドのグループを許可するドアベル・レジスタ（図示せず）を定義する。各コマンドは、コマンドがアクティブかどうか示す少なくとも１ビット、および、次のコマンドへのポインタを含む。コマンド・チェーンのスタートであるポインタを受け取り、ドアベルが「鳴る」ことで、ＨＣＩ１８はコマンドをフェッチし、そのコマンドを処理し、非アクティブなコマンドが見つかるまで、次のコマンドへ進む。未処理リクエストが存在する場合、キャッシュ・ハードウェアが常にアクティブであることを保証するために、追加のコマンドがチェーンの終端に挿入されてもよい。コマンドが終了するときに、割込みが生成したかどうかをソフトウェアが明示することができるようにするための一層の最適化が成されてもよい。このプログラム可能な割込みビットによって、コマンド・リストは、関連するコマンドの１つのグループ当たり１つの割込みだけを生成するように構成することが可能となり、それはシステムのオーバーヘッドを最小限にする。
【００２２】
図４は、連続的な関連コマンド２００に関連したハードウェアおよびソフトウェアの動きを示す。コマンドのリストは、例えば、コマンド４０２，４０４，４０６，４０８として示される。各コマンドは、そのコマンドがアクティブかどうかを示す少なくとも１ビット（ＡＣＴＩＶＥ  ＳＥＴと標記）、および、次のコマンドへのポインタを含む。このダイヤグラムは、コマンドがフェッチされかつ処理され、非アクティブなコマンド４１０が見つかるまで、次のコマンドへの進行継続することを示す。
【００２３】
極性マップ機構２１０
図２は、極性マップ２１０がＨＣＩ１８内のＰＦＥＭメモリ技術の特性をサポートすることを示す。データは、選択されたワード線およびビット線上の電圧を制御することにより、キャッシュ・ストレージ装置２０，２２，・・・，２４，２６のいずれかのメモリ・セルに書き込まれる。メモリ・セルは、「物理的な０」状態または「物理的な１」状態のいずれかにプログラムされるが、メモリ制御器２８（図１を参照）は、格納セルの読出しの物理値が１状態または０状態のいずれを表わしているかを解釈する。様々なメモリ技術は、格納状態の表現に対して異なる仕様を有しており、従って、メモリ制御器２８は、極性が特定のアクセスに対してどのように扱われるか決めるソフトウェア制御装置極性管理メカニズムで設計される。ある実施例において、ソフトウェアは、各読出し／書込み動作で極性メカニズムを明示するが、代替の実施例では、極性メカニズムは、複数の動作制御を通じてグローバルな方式で適用される。３つの極性管理メカニズムは、各回のデータがメモリ・ワードに格納され、使用されるその極性がメモリ・ワードに対して前回使用されたものと反対となることを保証することを明示してもよい。
【００２４】
第１の極性管理メカニズムは「明示的極性制御」を提供しそれはソフトウェアが各書込みに対してＴＲＵＥ／ＣＯＭＰＬＥＭＥＮＴ極性インディケータを明示し、メモリ制御器２８が読出しに際して格納位置から極性状態を回復する。システム・メモリ中のデータは、常にＴＲＵＥ極性表現中である。ソフトウェアは、ＣＯＭＰＬＥＭＥＮＴ極性でメモリ・モジュールに格納されたデータに対していかなる変換もする必要はない。メモリ制御器２８がいかなるトグル操作を行なうかはソフトウェアに依存する。
【００２５】
「回復極性」のための別の極性管理メカニズムによって、メモリ制御器２８は後続の書込み動作を行なうために読み込み動作から決定された「最新の」極性を使用することができる。
【００２６】
別の極性管理メカニズムとして、ソフトウェアは、アクセスに対して「自動極性」を明示してもよい。メモリ制御器２８は、メモリ・モジュール、つまり各格納位置またはセルのグループの各ワードの極性状態を有する個別の揮発性極性マップ（ＲＡＭ中に保持）を保持する。通常の実行時中に、メモリ制御器２８は、読出し時の極性を決定するために極性マップの内容を使用し、書込み時にマップ中の極性をトグルする。極性の回復は、読出しに際しては必要ではない。ソフトウェアは、極性マップをロードすることが要求され、その後任意の自動極性メカニズムが使用される（この前に他のメカニズムが使用されてもよい）。システムがシャットダウンした場合においては、ソフトウェアは、極性マップをメモリ制御器から読み、それを他の非揮発性ストレージ装置媒体に保存することが求められる。
【００２７】
タイミング制御２２０
図２は、ＨＣＩ１８内のＰＦＥＭメモリ技術の特性をサポートするためのタイミング制御２２０を示す。格納された値にアクセスするために読出し／書込み動作の特定の側面に対して、異なるメモリ技術が異なる詳細なハードウェア・サイクル・タイミングを要求してもよい。例えば、遅延またはポーズが、セル極性の変化を回避するためにメモリへの読出しおよび読み書き中に、高分子メモリ技術に対して使用されてもよい。さらに、要求されたアドレスが、最新のメモリ動作と同じメモリ・セグメントにあるかどうかによって、遅延動作が行なわれてもよく、あるいは行なわれなくてもよい。あるメモリ技術は、ある時間期間アクセスされていない位置に対してより遅いタイミングを要求する一方、遅いタイミングあるいは速いタイミングのいずれかがメモリ位置への与えられた読出し／書込み動作に使用されてもよい。従って、メモリ制御器２８は、ソフトウェア管理の下で、どのタイミングが読出し／書込み動作に使用されるべきかを動作毎に明示することができる。
【００２８】
ダイナミック・アドレシング２３０
図２は、ＨＣＩ１８内のＰＦＥＭメモリ技術の特性をサポートするためのダイナミック・アドレシング２３０を示す。キャッシュ・ストレージ装置２０，２２，・・・，２４，２６中の高分子メモリ装置のための読出しサイクルは、破壊的で、１つの方向に高分子フィルム材料中の電気的な双極子を極性化する。メモリの特定の物理アドレスに格納された情報は破壊的読出し動作中に失われるので、その情報はそのデータを回復するためにメモリに書き戻される。したがって、そのような破壊的読出しメモリから情報を読むために、読出しサイクルは、後続の書き戻し動作を含む。キャッシュ・ストレージ装置中のメモリのセグメント内には、読出しに続く書込みに脆弱性がある。その脆弱性は、その脆弱性が消失するまで書き戻しの実行を待機するような特性上のペナルティを課する。しかしながら、本発明に従って、ＨＣＩ１８は、読まれたデータを異なるセグメント中の位置に書き込まれることを許容するアルゴリズムを提供する。
【００２９】
従って、本発明の１つの特徴は、ＨＣＩ１８がすべてのアクセスのために２つのアドレス、すなわち読出しのためのあるアドレス、および、書込みのための別のアドレスを含むということである。このように、すべてのインターフェイス・レベルのアクセスは、理想的にはメモリの異なるセグメント中にある２つの位置上で動作する。読出し動作は、読取るためのアドレスにプラスしてデータを書き戻すブランクの位置を指定する。読出し動作は、ブランクを消費し、ブランクを作成する。書込み動作は、削除する（ブランクを作る）アドレス、および、書込みデータのための宛先である既にブランクのアドレスを指定する。
【００３０】
マルチ制御コマンド２４０
図２は、ディスク・キャッシング環境における性能を最適化するために、ＨＣＩ１８内で発行されるマルチ制御コマンド２４０を示す。図１を少し参照して、ＨＣＩ１８は、プロセッサ１２によって発行されるコマンドとメモリ制御器２８に接続されたＭ個のストレージ装置の動作との間のインターフェイスを提供する。ＨＣＩ１８は、ソフトウェアがメモリ・モジュール・カード上の複数のキャッシュ・ストレージ装置２０，２２，・・・，２４，２６へ同じ動作または異なる動作を出すことを可能にするマルチ制御コマンド機能を含む。マルチコマンド機能は、共通のデータを共有することができ、ＰＣＩエキスプレスを介して、より効率的に転送することができる１つのコマンド・パケットを許容し、それはカード上の各キャッシュ・ストレージ装置のためにフェッチされ、復号され、実行され、異なるメモリ動作を潜在的に提供する。
【００３１】
マルチ制御コマンド機能は、各キャッシュ・ストレージ装置が異なるアドレス位置を潜在的に異なる動作タイプでアドレスするのを許容する。実施例では、メモリ制御器２８は、キャッシュ・ストレージ装置２０内で破壊的読出し動作を含む読出しサイクルを行なう一方、キャッシュ・ストレージ装置２２のような別の装置への書込み動作を同時に出す。このように、マルチコマンドは、異なるキャッシュ・ストレージ装置中のメモリ・ワードにアクセスする。複数のキャッシュ・ストレージ装置のアクセスが指定されるとき、各アクセスは一意の動作パラメータを具備する。ほとんどのメモリ・アクセスは、そのコマンドのための他の動作指定パラメータと共に、動作、ブロック・カウントおよび２つのブロック・アドレスを含む。
【００３２】
リフレッシュ２５０
図２は、ＨＣＩ１８内のＰＦＥＭメモリ技術の特性をサポートするリフレッシュ２５０を示す。ＨＣＩ１８は、時間に基づいたリフレッシュ・サイクルおよびサイクルに基づいたリフレッシュ・サイクルを認める。時間に基づいたリフレッシュは、格納データが周期的にアクセスされるという点でＤＲＡＭリフレッシュに類似する。しかしながら、ＤＲＡＭ装置は、漏れるコンデンサに注入するためにリフレッシュ・サイクルを提供するが、時間に基づいたリフレッシュは、キャッシュ・ストレージ装置２０，２２，・・・，２４，２６中の高分子メモリ装置が現在の状態に「刻印される(imprinted)」または膠着されるのを防止する。ＨＣＩ１８は、電源投入時にすべてのアドレスを経由する最初のループを提供し、規則的な時間間隔で通常のアクセス時間の読み出しが後続し、電源オン中にセルが刻印されないことを保証する。
【００３３】
要求されたアドレスから読まれた情報が同じアドレスへ書き込まれる場合、選択されたメモリ・セルと同じワード線またはビット線を共有する近隣の非選択メモリ・セルは、「外乱（disturbances）」を経験することがある。メモリ動作が比較的短い期間内に行なわれる場合、メモリ・セル中の高分子メモリ材料と電極材料との相互作用によって、分極という外乱になる。このように、メモリ・セグメント中の１つの位置へのアクセスは、そのセグメント内の他の位置への外乱を来たす結果となる。外乱のそれぞれは、メモリ中に格納された電荷を侵食し、Ｎ回の外乱の後に、その格納データは信頼できる読出し動作を保証するために読み出される。したがって、ＨＣＩ１８は、Ｎサイクル毎に挿入されるサイクルをベースとするリフレッシュ・アドレスを提供し、外乱の影響に対して境界を設け、かつセグメント内の各位置をＮ回の外乱に制限する。
【００３４】
メタデータ・サイズおよびキャッシュ・ライン・サイズ２６０
図２は、ＨＣＩ１８内のメモリ動作を提供するメタデータ・サイズおよびキャッシュ・ライン・サイズ２６０を示す。ＨＣＩ１８によって制御されるＰＦＥＭメモリは、メタデータおよび各キャッシュ・ラインのデータを自動的に読出し／書込みを行なう能力を有する。これを行なうために、ハードウェアは、キャッシュ・ラインおよびメタデータの両方のサイズを知らなければならない。ソフトウェア中のキャッシュ管理方法によって決定されるような最適なハードウェア性能を提供するサイズと共に、最小および最大のキャッシュ・ライン・サイズ、およびメタデータ・サイズを格納するために、１組のレジスタ（図示せず）がＨＣＩ１８中に定義される。これらのサイズ値を使用して、ＨＣＩ１８は、最良のキャッシュ管理方法の必要性と一致するサイズ値を使用するようにプログラムされる。
【００３５】
データ・エラー２７０
図２は、ＨＣＩ１８内のエラー検出のためのデータ・エラー２７０を示す。データ破損は、ＰＦＥＭに対する周期的なメモリ・リフレッシュ・サイクル中に生じる。ＰＦＥＭメモリは、破壊的読出しメモリ技術であり。また、リフレッシュ・サイクル中に生じるあらゆるエラーもメモリを未知の状態に置くであろう。エラーを有するメモリ場所に対する読出し動作は、誤り訂正符号（ＥＣＣ）によって検出されない不正なデータを潜在的に返すことがある。リフレッシュ・サイクル中に発見されないことからのエラーを防止するために、ＨＣＩ１８は、１組のレジスタ（図示せず）および割込みを定義し、メモリ制御器２８がキャッシュ・ストレージ装置２０，２２，・・・，２４，２６を制御するソフトウェアに割込みをかけ、メモリ・リフレッシュ障害を報告することを可能にする。その後、ソフトウェアは、不良として対応するキャッシュ・ラインをマークし、システム動作を継続する。
【００３６】
ＥＣＣ訂正２８０
図２は、ＨＣＩ１８内のエラー訂正のための誤り訂正符号（ＥＣＣ）２８０を示す。ハードウェアは、データ・ストレージと検索の一部としてＥＣＣ方法を実行する。ハードウェアは、すべての訂正のエラー・ログを保存し、メモリ・アクセス中に加えられたＥＣＣ訂正の結果を明示的に決定するためにキャッシュ管理方法のソフトウェアによってアクセスされてもよい。訂正ログは、コマンドを出すことにより、その訂正ログをシステム・メモリへダウンロードする通常のコマンド・プロセスを通じてアクセスされる。訂正ログは、予想キャッシュ・ライン破損の早期指示としてキャッシュ管理方法によって使用されてもよく、適切な訂正ステップがデータ損失を回避するために取ることを可能にする。
【００３７】
最適化された分散ギャザー・リスト２９０
図２は、システム性能を改善するための最適化された分散ギャザー（ＳＧ：Scatter Gather）リスト２９０を示す。キャッシュ・ラインは、複数の４Ｋバイトの物理システム・メモリ・ページ（典型的なキャッシュ・ラインは８Ｋバイトの長さである）にまたがり、オペレーティング・システムは物理的に隣接するバッファを保証しないので、分散ギャザー・リストはキャッシュ・ラインからのデータをシステム・メモリ中へ正確にＤＭＡを行なう。ＨＣＩ１８によって使用される分散ギャザー・メカニズムは、各コマンドが１つのキャッシュ・ライン分のデータを転送するという事実を利用するが、それは、最適化が分散ギャザー・リストに作成されることを可能にする。実施例では、ほとんどのエントリはより最悪のケースの要求に応じるためには必要ではなく、１６Ｋバイトのキャッシュ・ラインは多くて５ページの物理システム・メモリ・ページにまたがる。ＨＣＩ１８は、コマンド中に所在する分散ギャザー・リストを定義し、システム・メモリ・ページが境界をまたぐ場合（４Ｋバイト境界）、次のエントリへ進む。定義されるような分散ギャザー・リストは、制御装置ロジック中でキャッシュのために単純化されることを可能にする。これは、制御装置のコストを削減し、さらに、個別の分散ギャザー・リストを得るために必要とされるキャッシュ制御器による特別のシステム・メモリのＤＭＡ要求を削除することによって、性能上の利点を提供する。追加のメモリ・アドレスが、キャッシュ・ラインのためのメタデータの位置を示すために提供され、これは、同じコマンド中のデータおよびメタデータの双方を更新することを自動的に許容する。
【００３８】
ディスク・キャッシュにアクセスする複雑さは、本発明の特徴を用いることにより緩和されることが明らかになった。ホスト制御インターフェイスは、例えば高分子メモリのような様々なメモリ技術を扱う特定の処理要求を考慮に入れる。
【００３９】
本発明のある特徴がここに図示され説明される一方、多くの修正、代替、変更および均等が当業者に想到されるであろう。したがって、添付の請求項は、そのような修正および変更すべてが本発明の思想の範囲内にカバーするために意図されているものであると理解される。
【符号の説明】
【００４０】
１２  プロセッサ
１４  ＲＦ送受信機
１６  インターフェイス
１８  ホスト制御装置インターフェイス（ＨＣＩ）
２０，２２，２４，２６  ストレージ装置
２８  メモリ制御器
３０  ホスト制御装置
３２  システム・メモリ
【図１】
2010049701.tif 000003
【図２】
2010049701.tif 000004
【図３】
2010049701.tif 000005
【図４】
2010049701.tif 000006