(57)【特許請求の範囲】
【請求項１】
コンピュータシステムであって、前記コンピュータシステムは、メモリコントローラと、ハイブリッドメモリとを備え、前記ハイブリッドメモリは、ダイナミックランダムアクセスメモリＤＲＡＭと、ストレージクラスメモリＳＣＭとを備え、
前記メモリコントローラは、前記ＤＲＡＭおよび前記メモリコントローラに接続された前記ＳＣＭに第１のアクセス命令を送信するように構成され、前記第１のアクセス命令は、第１のアドレスを搬送し、かつ前記第１のアドレスは、前記ＤＲＡＭのアクセスされるべき第１のメモリセルセットをポイントするのに使用され、
前記ＤＲＡＭは、前記第１のアクセス命令に応じて前記第１のメモリセルセット内のメモリセルにアクセスするように構成され、かつ
前記ＳＣＭは、
前記メモリコントローラによって送信された前記第１のアクセス命令を受信すること、
前記第１のメモリセルセットが、保持時間が前記ＤＲＡＭのリフレッシュサイクルより短いメモリセルを備えると決定することであって、前記ＤＲＡＭの前記リフレッシュサイクルは、標準のリフレッシュサイクルより長い、決定すること、
前記第１のアドレスとのマッピング関係を有する第２のアドレスを獲得することであって、前記第２のアドレスは、前記ＳＣＭの第２のメモリセルセットをポイントするのに使用される、獲得すること、
前記第１のアクセス命令を、前記第２のアドレスに応じて第２のアクセス命令に変換することであって、前記第２のアクセス命令は、前記第２のアドレスを備える、変換すること、および
前記第２のアクセス命令に応じて前記第２のメモリセルセット内のメモリセルにアクセスすることを行うように構成されることを特徴とするコンピュータシステム。
【請求項２】
前記ＳＣＭは、
連想メモリＣＡＭに記憶された第１のアドレスに応じて、前記第１のメモリセルセットが、保持時間が前記ＤＲＡＭの前記リフレッシュサイクルより短いメモリセルを備えると決定することであって、前記ＣＡＭは、前記第１のアドレスを含め、前記ＤＲＡＭに入っており、かつ保持時間が前記ＤＲＡＭの前記リフレッシュサイクルより短いメモリセルのアドレスを記憶する、決定すること、および
前記第１のアドレス、および前記第１のアドレスと前記第２のアドレスの間の前記ＣＡＭに記憶されたマッピング関係に応じて、前記第１のアドレスとのマッピング関係を有する前記第２のアドレスを獲得することであって、前記ＤＲＡＭのものであり、かつ前記第１のアドレスがポイントする前記第１のメモリセルセット内の前記メモリセルと、前記ＳＣＭのものであり、かつ前記第２のアドレスがポイントする前記第２のメモリセルセット内の前記メモリセルは、同一のデータを記憶するように構成される、獲得することを行うように特に構成されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記メモリコントローラは、前記ＤＲＡＭおよび前記ＳＣＭに第３のアクセス命令を送信するようにさらに構成され、前記第３のアクセス命令は、第３のアドレスを搬送し、かつ前記第３のアドレスは、前記ＤＲＡＭのアクセスされるべき第３のメモリセルセットをポイントするのに使用され、
前記ＤＲＡＭは、前記第３のアクセス命令に応じて前記第３のメモリセルセット内のメモリセルにアクセスするようにさらに構成され、かつ
前記ＳＣＭは、
前記メモリコントローラによって送信された前記第３のアクセス命令を受信すること、
前記第３のメモリセルセットが、保持時間が前記ＤＲＡＭの前記リフレッシュサイクルより短いメモリセルを備えないと決定すること、および
前記第３のアクセス命令を削除することを行うようにさらに構成されることを特徴とする請求項１または２に記載のコンピュータシステム。
【請求項４】
前記ハイブリッドメモリは、
前記第１のアクセス命令が読取り命令である場合、前記ＳＣＭの前記第２のメモリセルセット内の前記メモリセルに記憶されたデータを前記メモリコントローラに出力すること、または
前記第３のアクセス命令が読取り命令である場合、前記ＤＲＡＭの前記第３のメモリセルセット内の前記メモリセルに記憶されたデータを前記メモリコントローラに出力することを行うように構成されたマルチプレクサＭＵＸをさらに備えることを特徴とする請求項３に記載のコンピュータシステム。
【請求項５】
前記第２のメモリセルセット内の前記メモリセルの合計ストレージ容量は、前記第１のメモリセルセット内の前記メモリセルの合計ストレージ容量以上であることを特徴とする請求項１乃至４のいずれか一項に記載のコンピュータシステム。
【請求項６】
ストレージクラスメモリＳＣＭであって、前記ＳＣＭは、ハイブリッドメモリを備えるコンピュータシステムに適用され、前記ハイブリッドメモリは、ダイナミックランダムアクセスメモリＤＲＡＭと、メモリコントローラに接続された前記ＳＣＭとを備え、前記ＳＣＭは、
前記コンピュータシステムの前記メモリコントローラによって送信された第１のアクセス命令を受信するように構成されたＳＣＭコントローラであって、前記第１のアクセス命令は、第１のアドレスを搬送し、かつ前記第１のアドレスは、前記ＤＲＡＭのアクセスされるべき第１のメモリセルセットをポイントするのに使用される、ＳＣＭコントローラと、
前記第１のメモリセルセットが、保持時間が前記ＤＲＡＭのリフレッシュサイクルより短いメモリセルを備えると決定すること、および前記第１のアドレスとのマッピング関係を有する第２のアドレスを獲得することを行うように構成された連想メモリＣＡＭであって、前記ＤＲＡＭの前記リフレッシュサイクルは、標準のリフレッシュサイクルより長く、かつ前記第２のアドレスは、前記ＳＣＭの第２のメモリセルセットをポイントするのに使用される、連想メモリＣＡＭとを備え、
前記ＳＣＭコントローラは、前記第１のアクセス命令を、前記第２のアドレスに応じて第２のアクセス命令に変換すること、および前記第２のアクセス命令に応じて前記第２のメモリセルセット内のメモリセルにアクセスすることを行うようにさらに構成され、前記第２のアクセス命令は、前記第２のアドレスを備え、かつ前記ＳＣＭは、
データを記憶するように構成されたメモリセルをさらに備えることを特徴とするストレージクラスメモリＳＣＭ。
【請求項７】
前記ＣＡＭは、
前記ＣＡＭに事前記憶された前記第１のアドレスに応じて、前記第１のメモリセルセットが、保持時間が前記ＤＲＡＭの前記リフレッシュサイクルより短いメモリセルを備えると決定することであって、前記ＣＡＭは、前記第１のアドレスを含め、前記ＤＲＡＭに入っており、かつ保持時間が前記ＤＲＡＭの前記リフレッシュサイクルより短いメモリセルのアドレスを記憶する、決定すること、および
前記第１のアドレス、および前記第１のアドレスと前記第２のアドレスの間の前記ＣＡＭに記憶されたマッピング関係に応じて、前記第１のアドレスとのマッピング関係を有する前記第２のアドレスを獲得することであって、前記ＤＲＡＭのものであり、かつ前記第１のアドレスがポイントする前記第１のメモリセルセット内のメモリセルと、前記ＳＣＭのものであり、かつ前記第２のアドレスがポイントする前記第２のメモリセルセット内の前記メモリセルは、同一のデータを記憶するように構成される、獲得することを行うように特に構成されることを特徴とする請求項６に記載のＳＣＭ。
【請求項８】
前記ＳＣＭコントローラは、前記メモリコントローラによって送信された第３のアクセス命令を受信するようにさらに構成され、前記第３のアクセス命令は、第３のアドレスを搬送し、かつ前記第３のアドレスは、前記ＤＲＡＭのアクセスされるべき第３のメモリセルセットをポイントするのに使用され、
前記ＣＡＭは、前記第３のアドレスに応じて、前記第３のメモリセルセットが、保持時間が前記ＤＲＡＭの前記リフレッシュサイクルより短いメモリセルを含まないと決定するようにさらに構成され、かつ
前記ＳＣＭコントローラは、前記第３のアクセス命令を削除するようにさらに構成されることを特徴とする請求項６または７に記載のＳＣＭ。
【請求項９】
前記ハイブリッドメモリは、マルチプレクサＭＵＸをさらに備え、
前記ＣＡＭは、
前記第１のアクセス命令が読取り命令である場合、前記第１のメモリセルセットが、保持時間が前記ＤＲＡＭの前記リフレッシュサイクルより短いメモリセルを備えると決定された後、前記ハイブリッドメモリ内の前記ＭＵＸに第１の命令信号を送信することであって、前記第１の命令信号は、前記ＳＣＭに記憶されたデータを前記メモリコントローラに出力するよう前記ＭＵＸに命令するのに使用される、送信することを行うようにさらに構成されることを特徴とする請求項６に記載のＳＣＭ。
【請求項１０】
前記第２のメモリセルセット内の前記メモリセルの合計ストレージ容量は、前記第１のメモリセルセット内の前記メモリセルの合計ストレージ容量以上であることを特徴とする請求項６乃至９のいずれか一項に記載のＳＣＭ。
【請求項１１】
メモリアクセス方法であって、前記方法は、ハイブリッドメモリを備えるコンピュータシステムに適用され、前記ハイブリッドメモリは、ダイナミックランダムアクセスメモリＤＲＡＭと、メモリコントローラに接続されたストレージクラスメモリＳＣＭとを備え、前記方法は、前記ＳＣＭによって実行され、
前記コンピュータシステムの前記メモリコントローラによって送信された第１のアクセス命令を受信するステップであって、前記第１のアクセス命令は、第１のアドレスを搬送し、かつ前記第１のアドレスは、前記ＤＲＡＭのアクセスされるべき第１のメモリセルセットをポイントするのに使用される、ステップと、
前記第１のメモリセルセットが、保持時間が前記ＤＲＡＭのリフレッシュサイクルより短いメモリセルを備えると決定するステップであって、前記ＤＲＡＭの前記リフレッシュサイクルは、標準のリフレッシュサイクルより長い、ステップと、
前記第１のアドレスとのマッピング関係を有する第２のアドレスを獲得するステップであって、前記第２のアドレスは、前記ＳＣＭの第２のメモリセルセットをポイントするのに使用される、ステップと、
前記第１のアクセス命令を、前記第２のアドレスに応じて第２のアクセス命令に変換するステップであって、前記第２のアクセス命令は、前記第２のアドレスを備える、ステップと、
前記第２のアクセス命令に応じて前記第２のメモリセルセット内のメモリセルにアクセスするステップと
を備えることを特徴とするメモリアクセス方法。
【請求項１２】
前記第１のメモリセルセットが、保持時間が前記ＤＲＡＭのリフレッシュサイクルより短いメモリセルを備えると決定する前記ステップは、
連想メモリＣＡＭに記憶された前記第１のアドレスに応じて、前記第１のメモリセルセットが、保持時間が前記ＤＲＡＭの前記リフレッシュサイクルより短いメモリセルを備えると決定するステップであって、前記ＣＡＭは、前記第１のアドレスを含め、前記ＤＲＡＭに入っており、かつ保持時間が前記ＤＲＡＭの前記リフレッシュサイクルより短いメモリセルのアドレスを記憶する、ステップを備えることを特徴とする請求項１１に記載の方法。
【請求項１３】
前記第１のアドレスとのマッピング関係を有する第２のアドレスを獲得する前記ステップは、
前記ＣＡＭに記憶された、前記第１のアドレスと前記第２のアドレスの間のマッピング関係に応じて、前記第１のアドレスとのマッピング関係を有する前記第２のアドレスを獲得するステップであって、前記ＤＲＡＭのものであり、かつ前記第１のアドレスがポイントする前記第１のメモリセルセット内のメモリセルと、前記ＳＣＭのものであり、かつ前記第２のアドレスがポイントする前記第２のメモリセルセット内の前記メモリセルは、同一のデータを記憶するように構成される、ステップを備えることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記メモリコントローラによって送信された第３のアクセス命令を受信するステップであって、前記第３のアクセス命令は、第３のアドレスを搬送し、かつ前記第３のアドレスは、前記ＤＲＡＭのアクセスされるべき第３のメモリセルセットをポイントするのに使用される、ステップと、
前記第３のメモリセルセットが、保持時間が前記ＤＲＡＭの前記リフレッシュサイクルより短いメモリセルを備えないと決定するステップと、
前記第３のアクセス命令を削除するステップと
をさらに備えることを特徴とする請求項１１に記載の方法。
【請求項１５】
前記第１のアクセス命令が読取り命令である場合、前記第１のメモリセルセットが、保持時間が前記ＤＲＡＭの前記リフレッシュサイクルより短いメモリセルを備えると決定された後、前記ハイブリッドメモリ内のマルチプレクサＭＵＸに第１の命令信号を送信するステップであって、前記第１の命令信号は、前記ＳＣＭに記憶されたデータを前記メモリコントローラに出力するよう前記ＭＵＸに命令するのに使用される、ステップをさらに備えることを特徴とする請求項１１に記載の方法。
【請求項１６】
前記第２のメモリセルセット内の前記メモリセルの合計ストレージ容量は、前記第１のメモリセルセット内の前記メモリセルの合計ストレージ容量以上であることを特徴とする請求項１１乃至１５のいずれか一項に記載の方法。
【請求項１７】
１または複数のコンピュータ実行可能命令を含むコンピュータプログラムであって、
前記１または複数のコンピュータ実行可能命令は、ストレージシステムのプロセッサ上で実行されたときに前記ストレージシステムに請求項１１乃至１６のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ技術の分野に関し、詳細には、メモリアクセス方法、ストレージクラスメモリ、およびコンピュータシステムに関する。
【背景技術】
【０００２】
システムの従来のメインメモリは、一般に、ダイナミックランダムアクセスメモリ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＤＲＡＭ）を含む。ＤＲＡＭは、簡単な構造と、高い読取り速度とによって特徴付けられる。ＤＲＡＭの基本メモリセルは、ＤＲＡＭセルであり、各ＤＲＡＭセルは、１つのトランジスタと、１つのキャパシタとを含む。ＤＲＡＭセルは、キャパシタに記憶された電気の量を使用して０または１を示す。このようにして、１つのＤＲＡＭセルは、１ビット（ｂｉｔ）を記憶し得る。キャパシタは電気漏洩を受けるため、キャパシタ内の電荷が不十分である場合、記憶されたデータが誤りになり得る。したがって、実際の適用において、キャパシタは、周期的に充電される必要がある。キャパシタを充電すること、および放電させることによって、ＤＲＡＭセルは、読み取られること、および書き込まれることができ、かつ、これにより、更新されることができる。すなわち、ＤＲＡＭは、周期的にリフレッシュされる。実際の適用においては、ＤＲＡＭ内のＤＲＡＭセルは、配列され、マトリックスに区分され、そしてマトリックスは、ＤＲＡＭバンクと称される。対応する行デコーダおよび列デコーダを使用することによって、ＤＲＡＭバンク内の任意のビットが位置特定されることができる。複数のＤＲＡＭバンクが、１つのＤＲＡＭチップを構成することがあり、複数のＤＲＡＭチップが１つのＤＲＡＭランクを構成することがあり、複数のＤＲＡＭランクが１つのデュアルインラインメモリモジュール（Ｄｕａｌ  Ｉｎ−ｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅｓ、ＤＩＭＭ）にさらに集積されることがある。
【０００３】
合同電子デバイス技術委員会（Ｊｏｉｎｔ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｕｎｃｉｌ、ＪＥＤＥＣ）は、ソリッドステートおよび半導体業界内の標準化組織である。ＪＥＤＥＣによってリリースされたメモリ関連の標準に応じて、ＤＲＡＭは、６４ミリ秒に少なくとも１回、あらゆるラインをリフレッシュすることを要求される。すなわち、ＪＥＤＥＣによって規定されるＤＲＡＭのリフレッシュサイクルは、６４ミリ秒である。したがって、現在、ＤＲＡＭはほとんどすべて、データ損失がないことを確実にする６４ミリ秒ごとにリフレッシュする標準に準拠して製造される。実際の適用において、ＤＲＡＭコントローラは、７．８μｓごとにリフレッシュ命令を送信することを要求され、各命令は、ＤＲＡＭバンク内の１つのライン、または複数のラインをリフレッシュすることを担って、ＤＲＡＭ内のすべてのラインが６４ｍｓ内にリフレッシュされることを確実にするようにする。ＤＲＡＭの容量が増大し、かつラインの量が増加するにつれ、各リフレッシュ操作によってリフレッシュされる必要があるラインの量が相応して増加し、そしてその結果、システム電力消費もより高くなる。したがって、ＤＲＡＭの容量が絶えず増大するにつれ、ＤＲＡＭのリフレッシュ周波数を低くすることが、システム電力消費を低減することに極めて重要である。しかし、ＤＲＡＭのリフレッシュサイクルが、システム電力消費を低減するために長くされた場合、メモリ内のデータに誤りがもたらされ得る。
【発明の概要】
【０００４】
本発明の実施形態は、システム電力消費を低減する一方で、メモリ内のデータの正しさを確実にすることができる、メモリアクセス方法、ストレージクラスメモリ、およびコンピュータシステムを提供する。
【０００５】
第１の態様によれば、本発明の実施形態が、コンピュータシステムを提供し、コンピュータシステムは、メモリコントローラと、ハイブリッドメモリとを含み、ハイブリッドメモリは、ダイナミックランダムアクセスメモリＤＲＡＭと、ストレージクラスメモリＳＣＭとを含み、
メモリコントローラは、ＤＲＡＭおよびＳＣＭに第１のアクセス命令を送信するように構成され、第１のアクセス命令は、第１のアドレスを搬送し、かつ第１のアドレスは、ＤＲＡＭのアクセスされるべき第１のメモリセルセットをポイントするのに使用され、
ＤＲＡＭは、第１のアクセス命令に応じて第１のメモリセルセット内のメモリセルにアクセスするように構成され、かつ
ＳＣＭは、
メモリコントローラによって送信された第１のアクセス命令を受信すること、
第１のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むと決定することであって、ＤＲＡＭのリフレッシュサイクルは、標準のリフレッシュサイクルより長い、決定すること、
第１のアドレスとのマッピング関係を有する第２のアドレスを獲得することであって、第２のアドレスは、ＳＣＭの第２のメモリセルセットをポイントするのに使用される、獲得すること、
第１のアクセス命令を、第２のアドレスに応じて第２のアクセス命令に変換することであって、第２のアクセス命令は、第２のアドレスを含む、変換すること、および
第２のアクセス命令に応じて第２のメモリセルセット内のメモリセルにアクセスすることを行うように構成される。
【０００６】
第１の態様を参照すると、第１の態様の第１の可能な実施様態において、ＳＣＭは、
連想メモリＣＡＭに記憶された第１のアドレスに応じて、第１のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むと決定することであって、ＣＡＭは、第１のアドレスを含め、ＤＲＡＭに入っており、かつ保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルのアドレスを記憶する、決定すること、および
第１のアドレス、および第１のアドレスと第２のアドレスの間のＣＡＭに記憶されたマッピング関係に応じて、第１のアドレスとのマッピング関係を有する第２のアドレスを獲得することであって、ＤＲＡＭのものであり、かつ第１のアドレスがポイントする第１のメモリセルセット内のメモリセルと、ＳＣＭのものであり、かつ第２のアドレスがポイントする第２のメモリセルセット内のメモリセルは、同一のデータを記憶するように構成される、獲得することを行うように特に構成される。
【０００７】
第１の態様、または第１の態様の第１の可能な実施様態を参照して、第１の態様の第２の可能な実施様態において、メモリコントローラは、ＤＲＡＭおよびＳＣＭに第３のアクセス命令を送信するようにさらに構成され、第３のアクセス命令は、第３のアドレスを搬送し、かつ第３のアドレスは、ＤＲＡＭのアクセスされるべき第３のメモリセルセットをポイントするのに使用され、
ＤＲＡＭは、第３のアクセス命令に応じて第３のメモリセルセット内のメモリセルにアクセスするようにさらに構成され、かつ
ＳＣＭは、
メモリコントローラによって送信された第３のアクセス命令を受信すること、
第３のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含まないと決定すること、および
第３のアクセス命令を削除することを行うようにさらに構成される。
【０００８】
第１の態様の第２の可能な実施様態を参照して、第１の態様の第３の可能な実施様態において、ハイブリッドメモリは、
第１のアクセス命令が読取り命令である場合、ＳＣＭの第２のメモリセルセット内のメモリセルに記憶されたデータをメモリコントローラに出力すること、または
第３のアクセス命令が読取り命令である場合、ＤＲＡＭの第３のメモリセルセット内のメモリセルに記憶されたデータをメモリコントローラに出力することを行うように構成されたマルチプレクサＭＵＸをさらに含む。
【０００９】
第２の態様によれば、本発明の実施形態が、ストレージクラスメモリＳＣＭを提供し、ＳＣＭは、ハイブリッドメモリを含むコンピュータシステムに適用され、ハイブリッドメモリは、ダイナミックランダムアクセスメモリＤＲＡＭと、ＳＣＭとを含み、ＳＣＭは、
コンピュータシステムのメモリコントローラによって送信された第１のアクセス命令を受信するように構成されたＳＣＭコントローラであって、第１のアクセス命令は、第１のアドレスを搬送し、かつ第１のアドレスは、ＤＲＡＭのアクセスされるべき第１のメモリセルセットをポイントするのに使用される、ＳＣＭコントローラと、
第１のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むと決定すること、および第１のアドレスとのマッピング関係を有する第２のアドレスを獲得することを行うように構成された連想メモリＣＡＭであって、ＤＲＡＭのリフレッシュサイクルは、標準のリフレッシュサイクルより長く、かつ第２のアドレスは、ＳＣＭの第２のメモリセルセットをポイントするのに使用される、連想メモリＣＡＭとを含み、
ＳＣＭコントローラは、第１のアクセス命令を、第２のアドレスに応じて第２のアクセス命令に変換すること、および第２のアクセス命令に応じて第２のメモリセルセット内のメモリセルにアクセスすることを行うようにさらに構成され、第２のアクセス命令は、第２のアドレスを含み、かつＳＣＭは、
データを記憶するように構成されたメモリセルをさらに含む。
【００１０】
第２の態様を参照して、第２の態様の第１の可能な実施様態において、ＣＡＭは、
ＣＡＭに事前記憶された第１のアドレスに応じて、第１のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むと決定することであって、ＣＡＭは、第１のアドレスを含め、ＤＲＡＭに入っており、かつ保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルのアドレスを記憶する、決定すること、および
第１のアドレス、および第１のアドレスと第２のアドレスの間のＣＡＭに記憶されたマッピング関係に応じて、第１のアドレスとのマッピング関係を有する第２のアドレスを獲得することであって、ＤＲＡＭのものであり、かつ第１のアドレスがポイントする第１のメモリセルセット内のメモリセルと、ＳＣＭのものであり、かつ第２のアドレスがポイントする第２のメモリセルセット内のメモリセルは、同一のデータを記憶するように構成される、獲得することを行うように特に構成される。
【００１１】
第２の態様、または第２の態様の第１の可能な実施様態を参照して、第２の態様の第２の可能な実施様態において、ＳＣＭコントローラは、メモリコントローラによって送信された第３のアクセス命令を受信するようにさらに構成され、第３のアクセス命令は、第３のアドレスを搬送し、かつ第３のアドレスは、ＤＲＡＭのアクセスされるべき第３のメモリセルセットをポイントするのに使用され、
ＣＡＭは、第３のアドレスに応じて、第３のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含まないと決定するようにさらに構成され、かつ
ＳＣＭコントローラは、第３のアクセス命令を削除するようにさらに構成される。
【００１２】
第２の態様の第２の可能な実施様態を参照して、第２の態様の第３の可能な実施様態において、ハイブリッドメモリは、マルチプレクサＭＵＸをさらに含み、ＣＡＭは、
第１のアクセス命令が読取り命令である場合、第１のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むと決定された後、ハイブリッドメモリ内のＭＵＸに第１の命令信号を送信することであって、第１の命令信号は、ＳＣＭに記憶されたデータをメモリコントローラに出力するようＭＵＸに命令するのに使用される、送信することを行うようにさらに構成される。
【００１３】
第３の態様によれば、本発明の実施形態が、メモリアクセス方法を提供し、方法は、ハイブリッドメモリを含むコンピュータシステムに適用され、ハイブリッドメモリは、ダイナミックランダムアクセスメモリＤＲＡＭと、ストレージクラスメモリＳＣＭとを含み、方法は、ＳＣＭによって実行され、かつ方法は、
コンピュータシステムのメモリコントローラによって送信された第１のアクセス命令を受信することであって、第１のアクセス命令は、第１のアドレスを搬送し、かつ第１のアドレスは、ＤＲＡＭのアクセスされるべき第１のメモリセルセットをポイントするのに使用される、受信すること、
第１のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むと決定することであって、ＤＲＡＭのリフレッシュサイクルは、標準のリフレッシュサイクルより長い、決定すること、
第１のアドレスとのマッピング関係を有する第２のアドレスを獲得することであって、第２のアドレスは、ＳＣＭの第２のメモリセルセットをポイントするのに使用される、獲得すること、
第１のアクセス命令を、第２のアドレスに応じて第２のアクセス命令に変換することであって、第２のアクセス命令は、第２のアドレスを含む、変換すること、および
第２のアクセス命令に応じて第２のメモリセルセット内のメモリセルにアクセスすることを含む。
【００１４】
第３の態様を参照して、第３の態様の第１の可能な実施様態において、第１のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むと決定することは、
連想メモリＣＡＭに記憶された第１のアドレスに応じて、第１のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むと決定することであって、ＣＡＭは、第１のアドレスを含め、ＤＲＡＭに入っており、かつ保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルのアドレスを記憶する、決定することを含む。
【００１５】
第３の態様の第１の可能な実施様態を参照して、第３の態様の第２の可能な実施様態において、第１のアドレスとのマッピング関係を有する第２のアドレスを獲得することは、
ＣＡＭに記憶された、第１のアドレスと第２のアドレスの間のマッピング関係に応じて、第１のアドレスとのマッピング関係を有する第２のアドレスを獲得することであって、ＤＲＡＭのものであり、かつ第１のアドレスがポイントする第１のメモリセルセット内のメモリセルと、ＳＣＭのものであり、かつ第２のアドレスがポイントする第２のメモリセルセット内のメモリセルは、同一のデータを記憶するように構成される、獲得することを含む。
【００１６】
第３の態様を参照して、第３の態様の第３の可能な実施様態において、方法は、
メモリコントローラによって送信された第３のアクセス命令を受信することであって、第３のアクセス命令は、第３のアドレスを搬送し、かつ第３のアドレスは、ＤＲＡＭのアクセスされるべき第３のメモリセルセットをポイントするのに使用される、受信すること、
第３のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含まないと決定すること、および
第３のアクセス命令を削除することをさらに含む。
【００１７】
第３の態様を参照して、第３の態様の第４の可能な実施様態において、方法は、
第１のアクセス命令が読取り命令である場合、第１のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むと決定された後、ハイブリッドメモリ内のマルチプレクサＭＵＸに第１の命令信号を送信することであって、第１の命令信号は、ＳＣＭに記憶されたデータをメモリコントローラに出力するようＭＵＸに命令するのに使用される、送信することをさらに含む。
【００１８】
第４の態様によれば、本発明の実施形態が、プログラムコードを記憶するコンピュータ可読ストレージ媒体を含むコンピュータプログラム製品であって、プログラムコードに含まれる命令は、第３の態様による方法を実行するのに使用されるコンピュータプログラム製品を提供する。
【００１９】
本発明の実施形態において提供されるコンピュータシステムにおいて、ダイナミックランダムアクセスメモリＤＲＡＭとストレージクラスメモリＳＣＭが、コンピュータシステムのハイブリッドメモリを一緒に構成し、ＤＲＡＭのリフレッシュサイクルは、標準のリフレッシュサイクルより長い。ＤＲＡＭのものであり、かつ受信された第１のアクセス命令内の第１のアドレスがポイントする第１のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むと決定した場合、ＳＣＭは、第１のアドレスとのマッピング関係を有する第２のアドレスを獲得し得る。さらに、ＳＣＭは、第２のアドレスに応じて、第１のアクセス命令を、ＳＣＭにアクセスするための第２のアクセス命令に変換して、ＳＣＭに対するアクセスを実施する。本発明の実施形態において提供されるコンピュータシステムは、ＤＲＡＭリフレッシュのための電力消費を低減する一方で、データの正しさを確実にすることができる。
【図面の簡単な説明】
【００２０】
本発明の実施形態における、または従来技術における技術的解決策をより明確に説明するのに、以下が、実施形態を説明するために要求される添付の図面を簡単に説明する。明らかに、以下の説明における添付の図面は、本発明のいくつかの実施形態を示すに過ぎない。
【図１−Ａ】本発明の実施形態によるハイブリッドメモリに基づくコンピュータシステムアーキテクチャを示す概略図である。
【図１−Ｂ】本発明の実施形態によるハイブリッドメモリに基づく別のコンピュータシステムアーキテクチャを示す概略図である。
【図１−Ｃ】本発明の実施形態によるハイブリッドメモリに基づくさらに別のコンピュータシステムアーキテクチャを示す概略図である。
【図２】本発明の実施形態によるメモリアクセス方法を示す概略流れ図である。
【図３】本発明の実施形態によるメモリアクセス方法を示す概略流れ図である。
【発明を実施するための形態】
【００２１】
当業者に本発明における技術的解決策をよりよく理解させるのに、以下が、本発明の実施形態における添付の図面を参照して本発明の実施形態における技術的解決策を明確に、かつ完全に説明する。明らかに、説明される実施形態は、本発明の実施形態のすべてではなく、一部分に過ぎない。
【００２２】
本発明の実施形態が、ハイブリッドメモリを有するシステムアーキテクチャに基づいて、メモリリフレッシュのための電力消費を低減する一方で、メモリに記憶されたデータの正しさを確実にすることができるメモリアクセス方法を提供する。図１−Ａ、図１−Ｂ、および図１−Ｃは、本発明のこの実施形態によるハイブリッドメモリに基づくコンピュータシステムアーキテクチャの概略図である。図１−Ａ、図１−Ｂ、および図１−Ｃに示されるコンピュータシステムアーキテクチャにおいて、ダイナミックランダムアクセスメモリＤＲＡＭとストレージクラスメモリ（Ｓｔｏｒａｇｅ−Ｃｌａｓｓ  Ｍｅｍｏｒｙ、ＳＣＭ）は、全体として見られ、コンピュータシステム１００のメインメモリとして一緒に扱われる。図１−Ａ、図１−Ｂ、および図１−Ｃに示されるコンピュータシステムアーキテクチャは同様であるので、本発明のこの実施形態において提供されるコンピュータシステム１００を、図１−Ａを主に参照して、以下詳細に説明する。
【００２３】
図１−Ａに示すように、中央処理ユニット（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、ＣＰＵ）１０は、コンピュータシステム１００の計算コア（Ｃｏｒｅ）および制御コア（Ｃｏｎｔｒｏｌ  ｃｏｒｅ）である。ＣＰＵ１０は、超超大規模集積回路であり得る。オペレーティングシステムおよび別のソフトウェアプログラムがＣＰＵ１０にインストールされて、それによりＣＰＵ１０がメモリ、キャッシュ、および磁気ディスクにアクセスすることができるようになる。本発明のこの実施形態において、ＣＰＵ１０は、プロセッサの例に過ぎないことが理解されることができる。ＣＰＵ１０に加えて、プロセッサは、あるいは、別の特定用途向け集積回路ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であってよく、または本発明のこの実施形態を実施する１もしくは複数の集積回路として構成されてよい。ＣＰＵ１０は、メモリ管理ユニット（Ｍｅｍｏｒｙ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ、ＭＭＵ）を含むことがあり、ＭＭＵは、論理アドレスから物理メモリアドレスへの変換を実施するように構成される。
【００２４】
メモリコントローラ（Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ）２０は、メモリ３０を制御し、かつメモリ３０からＣＰＵ１０へのデータ伝送のレートを管理し、かつ計画するように構成された、コンピュータシステム１００内のバス回路コントローラである。メモリコントローラ２０を使用することによって、メモリ３０とＣＰＵ１０は、データを交換し得る。メモリコントローラ２０は、１つの独立したチップであることがあり、システムバスを使用することによってＣＰＵ１０に接続される。当業者は、メモリコントローラ２０が関係付けられた大型チップに集積されてもよいことを知り得る。例えば、メモリコントローラ２０は、マイクロプロセッサ（例えば、ＣＰＵ１０）に集積されてよく、またはノースブリッジに組み込まれてよい。メモリコントローラ２０の特定の位置は、本発明のこの実施形態において限定されない。説明を容易にするため、図１−Ａに示されるシステムアーキテクチャにおいて、メモリコントローラ２０が独立に構成される例が、説明のために使用される。メモリコントローラ２０は、メモリ３０にデータを書き込むのに必要なロジック、またはメモリ３０からデータを読み取るのに必要なロジックを制御する。
【００２５】
メモリ３０は、コンピュータシステム１００のメインメモリである。メモリ３０は、オペレーティングシステム上で実行している様々なソフトウェア、入力データおよび出力データ、外部メモリと交換される情報などを記憶するように一般に構成される。ＣＰＵ１０のアクセス速度を増加させるのに、メモリ３０は、高速アクセスの利点を持っている必要がある。従来のコンピュータシステムアーキテクチャにおいて、ダイナミックランダムアクセスメモリ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＤＲＡＭ）が、メモリ３０として一般に使用される。ストレージクラスメモリ（Ｓｔｏｒａｇｅ−Ｃｌａｓｓ  Ｍｅｍｏｒｙ、ＳＣＭ）が発展するにつれ、高速アクセスおよび不揮発性の特性のおかげで、ＳＣＭもメモリとして徐々に使用される。
【００２６】
図１−Ａに示すように、図１−Ａに示されるハイブリッドメモリを有するシステムアーキテクチャにおいて、メモリ３０は、ダイナミックランダムアクセスメモリ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＤＲＡＭ）４０と、ストレージクラスメモリ（Ｓｔｏｒａｇｅ−Ｃｌａｓｓ  Ｍｅｍｏｒｙ、ＳＣＭ）５０とを含み得る。ＣＰＵ１０は、メモリコントローラ２０を使用することによってＤＲＡＭ４０およびＳＣＭ５０に高い速度でアクセスすることができ、かつＤＲＡＭ４０またはＳＣＭ５０内の任意のメモリセルに対して読取り操作または書込み操作を実行することができる。
【００２７】
前述されたとおり、ＤＲＡＭ４０は、キャパシタに記憶された電気の量を使用して０または１を示す。キャパシタは電気漏洩を受けるため、キャパシタ内の電荷が不十分である場合、記憶されたデータが誤りになり得る。したがって、メモリコントローラ２０が、ＤＲＡＭ４０内のデータを規則的間隔でリフレッシュして、ＤＲＡＭ４０がデータを失うことを防止する。さらに、ＤＲＡＭ４０は、揮発性である。コンピュータシステム１００の電源が切られた場合、ＤＲＡＭ４０内の情報は、ストレージから消失する。ＤＲＡＭ４０は、複数のＤＲＡＭチップ（ＤＲＡＭ  ｃｈｉｐ）を含み得る。実際の適用において、ＤＲＡＭ４０は、デュアルインラインメモリモジュール（Ｄｕａｌ  Ｉｎ−ｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅｓ、ＤＩＭＭ）の形態で存在し得る。
【００２８】
ＳＣＭ５０は、新世代の不揮発性メモリである。ＳＣＭ５０は、従来のメモリ（例えば、ＤＲＡＭ４０）のアクセス速度に匹敵するアクセス速度を有し、半導体製品の信頼性によってさらに特徴付けられる。さらに、データが書き込まれる場合、データは、ＳＣＭ５０内の前のデータが消去されること（ｅｒａｓｅ）なしに、ＳＣＭ５０に直接に書き込まれることができる。ＳＣＭ５０は、相変化メモリ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ、ＰＣＭ）、抵抗変化メモリ（Ｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＲＡＭ（登録商標））、磁気ランダムアクセスメモリ（Ｍａｇｎｅｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＭＲＡＭ）、強誘電体メモリ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＦＲＡＭ（登録商標））などを代表する次世代の不揮発性メモリ（Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ、ＮＶＭ）を含む。次世代ＮＶＭは、高速アクセスによって特徴付けられ、かつバイト（Ｂｙｔｅ）によってアドレス指定可能であり、データが、ビット（ｂｉｔ）の単位で不揮発性メモリに書き込まれる。したがって、ＳＣＭ５０は、メモリバスにマウントされることができ、かつＣＰＵ１０による直接のアクセスのためのメモリとして使用されることができる。従来のＤＲＡＭとは異なり、ＳＣＭ５０は、不揮発性（Ｎｏｎ−Ｖｏｌａｔｉｌｅ）である。コンピュータシステム１００の電源が切られた場合、ＳＣＭ５０内の情報は、依然として存在する。
【００２９】
ＳＣＭ５０は、ストレージクラスメモリＳＣＭコントローラ５２と、ストレージモジュール５４とを含み得る。ＳＣＭコントローラ５２は、ストレージモジュール５４にアクセスすること、ストレージモジュール５４に記憶されたデータを管理することなどを行うように構成される。例えば、ＳＣＭコントローラ５２は、メモリコントローラ２０によって転送された、受信されたメモリアクセス命令に応じてストレージモジュール５４にアクセスして、ストレージモジュール５４にデータを書き込むこと、またはストレージモジュール５４からデータを読み取ることがある。さらに、ＳＣＭコントローラ５２は、ストレージモジュール５４に書き込まれるデータの時間系列を制御することなどを行うようにさらに構成され得る。ＳＣＭコントローラ５２は、制御回路と、中央処理ユニットＣＰＵと、特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ−Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、ＡＳＩＣ）とを含むことがあり、または本発明のこの実施形態を実施する１もしくは複数の集積回路として構成されることがある。
【００３０】
ストレージモジュール５４は、データを記憶するように構成される。ストレージモジュール５４は、複数のメモリセルを含み得る。例えば、ストレージモジュール５４は、複数のメモリセルを含むストレージアレイであり得る。本発明のこの実施形態において、ストレージモジュール５４内のメモリセルは、データを記憶するために使用される最小のメモリセルを参照する。メモリセルは、ストレージアレイを構成する最小単位でもある。一般に、１つのメモリセルは、１ビット（ｂｉｔ）のデータを記憶することができる。無論、いくつかのメモリセルが、多値ストレージを実施することができる。多値ストレージを実施することができるメモリセルに関して、１つのメモリセルは、あるいは、２ビットのデータを記憶してよい。メモリセルに記憶されるデータのビットの特定の量は、本明細書において限定されない。本発明のこの実施形態において、ストレージモジュール５４内のメモリセルは、相変化メモリセル、磁気メモリセル、または抵抗メモリセルなどの新世代新タイプの不揮発性メモリセルを含み得る。
【００３１】
本発明のこの実施形態において、説明を容易にするため、ＤＲＡＭ４０またはＳＣＭ５０に対する読取り操作および書込み操作によってもたらされるエネルギーオーバヘッドは、動的電力消費と称され、ＤＲＡＭ４０またはＳＣＭ５０に対する読取り操作または書込み操作がない周期中にもたらされるエネルギーオーバヘッドは、静的電力消費と称される。ＳＣＭ５０に対する読取り操作によってもたらされるエネルギーオーバヘッドは、ＤＲＡＭ４０に対する読取り操作によってもたらされるエネルギーオーバヘッドに匹敵する一方で、ＳＣＭ５０に対する書込み操作によってもたらされるエネルギーオーバヘッドは、ＤＲＡＭ４０に対する書込み操作によってもたらされるエネルギーオーバヘッドよりはるかに大きい。したがって、ＳＣＭ５０の動的電力消費は、ＤＲＡＭ４０の動的電力消費より大きい。しかし、ＤＲＡＭ４０は、リフレッシュされる必要があるが、ＳＣＭ５０は、リフレッシュされる必要がない。したがって、ＤＲＡＭ４０の静的電力消費は、ＳＣＭ５０の静的電力消費より大きい。実際の適用において、メモリ３０がＳＣＭ５０だけを含む、または大量のＳＣＭ５０を含む場合、システムの過度に高い動的電力消費がもたらされ、システム費用も比較的高い。システム電力消費およびシステム費用を低減するのに、本発明のこの実施形態において説明されるコンピュータシステム１００において、メモリ３０において使用されるＤＲＡＭ４０の量は、メモリ３０において使用されるＳＣＭ５０の量より大きい。このようにして、ＤＲＡＭ４０の容量は、ＳＣＭ５０の容量より大きい。例えば、メモリ３０において、使用されるＤＲＡＭ４０の量対使用されるＳＣＭ５０の量の比は、１０：１、２０：１などであり得る。使用されるＤＲＡＭ４０の量対使用されるＳＣＭ５０の量の特定の比は、使用されるＤＲＡＭ４０の量が、使用されるＳＣＭ５０の量より大きいという条件付きで、本発明のこの実施形態において限定されない。実際の適用において、ＤＲＡＭ４０は、実際の要件に応じてＳＣＭ５０と併せて使用され得る。ＤＲＡＭ４０の容量は、ＳＣＭ５０の容量より大きい。したがって、ＤＲＡＭ４０は、メインメモリとして使用されてよく、ＳＣＭ５０は、補助メモリとして使用されてよい。このようにして、大量のデータがＤＲＡＭ４０に記憶され、少量だけのデータがＳＣＭ５０に記憶される。
【００３２】
当業者は、現在、ＤＲＡＭチップがほとんどすべて、６４ｍｓの標準規定されるリフレッシュサイクルに準拠して製造されることを知り得る。リフレッシュサイクルは、ＤＲＡＭチップ内の各メモリセル（例えば、ＤＲＡＭ  ｃｅｌｌ）の保持時間（ｒｅｔｅｎｔｉｏｎ  ｔｉｍｅ）と関連付けられる。保持時間は、メモリセルがデータを保つ時間を指す。保持時間を超過すると、メモリセルに記憶されたデータは、失われる。ＤＲＡＭチップに記憶されたデータが失われるのを防止するのに、ＤＲＡＭチップは、リフレッシュサイクルに応じてリフレッシュされる必要がある。しかし、実際の適用において、ＤＲＡＭチップ内の各メモリセル（例えば、ＤＲＡＭ  ｃｅｌｌ）の保持時間（ｒｅｔｅｎｔｉｏｎ  ｔｉｍｅ）が変動するため、６４ｍｓは、実際には、メモリセルの最も貧弱な保持時間であることが見出される。したがって、本発明のこの実施形態において、ＤＲＡＭリフレッシュによってもたらされるシステム電力消費および遅延時間は、リフレッシュサイクルを長くすることによって低減され得る。しかし、ＤＲＡＭチップのリフレッシュサイクルを単に長くすることは、データに誤りをもたらし得る。
【００３３】
システム電力消費を低減する一方で、データの正しさを確実にするのに、本発明のこの実施形態において示されるコンピュータシステムアーキテクチャにおいて、メモリ３０は、連想メモリ（ｃｏｎｔｅｎｔ  ａｄｄｒｅｓｓａｂｌｅ  ｍｅｍｏｒｙ、ＣＡＭ）６０をさらに含み得る。ＣＡＭ６０は、専用ストレージデバイスであり、多くの並行探索を迅速に実行することができる。ＣＡＭ６０は、不揮発性ストレージデバイスから構成されて、ＣＡＭ６０が不揮発性であるようにし得る。無論、ＣＡＭ６０は、本明細書において限定されない、揮発性ストレージデバイスから構成されてもよいことが理解されることができる。本発明のこの実施形態において、ＣＡＭ６０が不揮発性ストレージデバイスから構成される例が、説明のために使用される。ＣＡＭ６０は、不適格なＤＲＡＭ４０アドレスとＳＣＭ５０アドレスの間のマッピング関係を記憶し得る。不適格なＤＲＡＭアドレスは、ＤＲＡＭ４０に入っており、かつ保持時間がリフレッシュサイクルより短いメモリセル（例えば、ＤＲＡＭ  ｃｅｌｌ）のアドレスを指す。複数の不適格なＤＲＡＭアドレスが存在し得る。本発明のこの実施形態において、保持時間が短いメモリセルのアドレスが、ＳＣＭ５０にマップされて、保持時間が短いメモリセルに対するアクセスが、ＳＣＭ５０に対するアクセスに変換されて、データの正しさを確実にするようにすることがある。ＣＡＭ６０が揮発性ストレージデバイスから構成される場合、不適格なＤＲＡＭ４０アドレスとＳＣＭ５０アドレスの間のマッピング関係は、外部メモリに事前記憶され得ることが理解されることができる。システムの電源が投入された場合、不適格なＤＲＡＭ４０アドレスとＳＣＭ５０アドレスの間のマッピング関係が、外部メモリから獲得されることがあり、マッピング関係が、ＣＡＭ６０に書き込まれる。
【００３４】
本発明のこの実施形態は、ハイブリッドメモリに基づいてコンピュータシステムアーキテクチャに適用されるため、メモリ３０は、マルチプレクサ（ｍｕｌｔｉｐｌｅｘｅｒ、ＭＵＸ）７０をさらに含み得る。ＭＵＸ７０は、選択信号の制御下で、データの複数のラインからデータの１つのラインを出力信号として選択し得る。本発明のこの実施形態において、ＭＵＸ７０の入力終端が、ＤＲＡＭ４０とＳＣＭ５０の両方に接続され、かつＭＵＸ７０の出力終端が、メモリコントローラ２０に接続される。データがメモリ３０から読み取られる必要がある場合、ＭＵＸ７０は、ＤＲＡＭ４０に記憶されたデータをメモリコントローラ２０に出力すること、またはＳＣＭ５０に記憶されたデータをメモリコントローラ２０に出力することを選択し得る。例えば、ＭＵＸ７０は、ＤＲＡＭ４０から出力されたデータをバッファリングするために使用されるバッファ（ｂｕｆｆｅｒ）と、ＳＣＭ５０から出力されたデータをバッファリングするために使用されるバッファ（ｂｕｆｆｅｒ）とを含み得る。
【００３５】
ＣＡＭ６０の特定の位置は、本発明のこの実施形態において限定されないことに留意されたい。例えば、１つの事例において、図１−Ａおよび図１−Ｃに示されるコンピュータシステムにおいて、ＣＡＭ６０は、ＳＣＭ５０に位置付けられ、かつＳＣＭ５０の構成要素として使用されてよい。別の事例において、図１−Ｂに示されるコンピュータシステムにおいて、ＣＡＭ６０は、ＳＣＭ５０とは独立のストレージ構成要素であり得る。さらに、ＣＡＭ６０と別の構成要素の間の接続関係は、本発明のこの実施形態において限定されない。例えば、１つの事例において、図１−Ａおよび図１−Ｂに示されるとおり、ＣＡＭ６０は、メモリコントローラ２０、ＳＣＭコントローラ５２、およびマルチプレクサ７０のすべてに接続され得る。別の事例において、図１−Ｃに示されるとおり、ＣＡＭ６０は、あるいは、ＳＣＭコントローラ５２およびＭＵＸ７０だけに接続されてよい。
【００３６】
実際の適用において、１つの事例において、図１−Ａおよび図１−Ｃに示されるとおり、ＳＣＭコントローラ５２、ストレージモジュール５４、およびＣＡＭ６０は、１つのチップに集積され得る。別の事例において、図１−Ｂに示されるとおり、ＣＡＭ６０は、独立したチップであってよく、ＳＣＭコントローラ５２とストレージモジュール５４は、１つのチップに集積され得る。さらに別の事例において、ＣＡＭ６０とＳＣＭコントローラ５２は、１つのチップに集積されてよく、ストレージモジュール５４は、独立したチップであり得る。ＣＡＭ６０、ＳＣＭコントローラ５２、およびストレージモジュール５４のハードウェア形態は、本発明のこの実施形態において限定されない。さらに、ＳＣＭコントローラ５２、ストレージモジュール５４、ＣＡＭ６０、およびＭＵＸ７０が１つのチップに集積されて、ＤＲＡＭ４０と一緒にＤＩＭＭを構成してもよい。ＤＲＡＭ４０、ＣＡＭ６０、ＳＣＭ５０、およびＭＵＸ７０のハードウェア形態も、本発明のこの実施形態において限定されない。
【００３７】
本発明のこの実施形態による図１−Ａから図１−Ｃに示されるコンピュータシステムアーキテクチャにおいて、システム費用およびシステム電力消費を低減する一方で、データの正しさを確実にするのに、メモリコントローラ２０が、ＤＲＡＭ４０に主にアクセスしてよく、ＳＣＭコントローラ５２は、ＣＡＭ６０が、ＳＣＭ５０に対するアクセスが必要とされると決定した場合だけ、メモリコントローラ２０のアクセス命令に応じてアクセス操作を実行する。言い換えると、メモリ３０に対するアクセスが必要とされる場合、ＳＣＭ５０は、メモリコントローラ２０によって与えられるすべてのアクセス命令を実行するのではなく、ＣＡＭ６０が、ＳＣＭ５０に対するアクセスが必要とされると決定した場合だけ、ＣＡＭ６０によって出力される信号に応じてメモリコントローラ２０によって与えられるアクセス命令を実行する。
【００３８】
本発明のこの実施形態において提供されるコンピュータシステムにおいて、図１−Ａ、図１−Ｂ、および図１−Ｃに示される構成要素に加えて、コンピュータシステム１００は、本明細書において限定されない、通信インターフェース、および外部メモリとして使用される磁気ディスクなどの他の構成要素をさらに含み得ることに留意されたい。本発明のこの実施形態によるハイブリッドメモリに基づくコンピュータシステムアーキテクチャについての前述の説明に基づいて、以下は、本発明の実施形態において提供されるメモリアクセス方法を詳細に説明する。図１−Ａ、図１−Ｂ、および図１−Ｃに示されるコンピュータシステムアーキテクチャは同様であるため、説明を容易にするため、以下は、図１−Ａに示されるコンピュータシステムアーキテクチャを主に参照することによって、本発明の実施形態において提供されるメモリアクセス方法を詳細に説明する。
【００３９】
図２は、本発明の実施形態によるメモリアクセス方法の流れ図である。方法は、図１−Ａに示されるコンピュータシステム１００に適用され得る。方法は、図１−ＡにおけるＳＣＭ５０によって実行され得る。特に、方法は、ＳＣＭ５０内のＳＣＭコントローラ５２によって実行され得る。図２に示されるとおり、方法は、以下のステップを含み得る。
【００４０】
ステップ２００において、ＳＣＭコントローラ５２が、メモリコントローラ２０によって送信された第１のアクセス命令を受信し、第１のアクセス命令は、第１のアドレスを含む。第１のアクセス命令は、メモリ３０にアクセスするために使用され、第１のアドレスは、ＤＲＡＭ４０のアクセスされるべきメモリセルセットをポイントするのに使用される。当業者は、ＣＰＵ１０がメモリにアクセスする必要がある場合、ＣＰＵ１０内のＭＭＵを使用することによって、論理アドレスがメモリの物理アドレスに変換され得ることを知り得る。メモリコントローラ２０は、ＭＭＵによる変換からもたらされる物理アドレスに応じてメモリ３０をアドレス指定して、メモリ３０に記憶されたデータを獲得するようにする、またはメモリ３０にデータを書き込むようにすることがある。本発明の実施形態による図１−Ａに示されるコンピュータシステムアーキテクチャにおいて、ＤＲＡＭ４０の容量は、ＳＣＭ５０の容量より大きいため、ＤＲＡＭ４０は、メインメモリとして使用されてよく、ＳＣＭ５０は、補助メモリとして使用されてよい。メモリコントローラ２０がメモリ３０にアクセスすることになる場合、メモリコントローラ２０は、ＤＲＡＭ４０およびＳＣＭ５０にアクセス命令を送信することがある。このようにして、メモリコントローラ２０にＣＰＵ１０によって送信されるアクセス命令において搬送されるすべてのアドレスは、ＤＲＡＭ４０によって提供される物理スペースをポイントするアドレスであり得る。本発明のこの実施形態において、第１のアドレスは、ＤＲＡＭ４０内の複数のアクセスされるべきメモリセルセットによって提供される物理スペースをポイントし得る。
【００４１】
前述されるとおり、ＤＲＡＭ４０内のＤＲＡＭセルは、配列され、マトリックスに区分され、マトリックスは、ＤＲＡＭバンクと称される。メモリ３０に対するアクセスが必要とされる場合、メモリコントローラ２０が、対応する行デコーダおよび列デコーダを使用することによって、第１のアドレスに応じてＤＲＡＭバンク内の任意のＤＲＡＭセルを位置特定し得る。第１のアドレスは、１つのアドレスであってよく、またはアドレス範囲であってよいことに留意されたい。例えば、メモリアクセス命令が書込み命令である場合、第１のアドレスは、書き込まれるべきデータの開始アドレスであり得る。メモリアクセス命令が読取り命令である場合、第１のアドレスは、アクセスされるべき開始アドレスと、アクセスされるべきアドレススペースのサイズ（ｓｉｚｅ）とを含み得る。本発明のこの実施形態において、メモリのものであり、かつ第１のアドレスがポイントするストレージスペースの粒度は、バイト（Ｂｙｔｅ）、またはライン（ｌｉｎｅ）、またはページ（ｐａｇｅ）であり得る。このようにして、メモリのものであり、かつ第１のアドレスがポイントするストレージスペースは、少なくとも１バイトを含むことがあり、または少なくとも１ライン、または少なくとも１ページを含むことがある。第１のアドレスがポイントするメモリセルセットは、１つのメモリセルを含んでよく、または複数のメモリセルを含んでよく、このことは、本明細書において限定されない。
【００４２】
ステップ２０５において、ＳＣＭコントローラ５２が、ＤＲＡＭ４０のものであり、かつ第１のアドレスがポイントするメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むと決定する。ＤＲＡＭのリフレッシュサイクルは、標準のリフレッシュサイクルより長い。本発明のこの実施形態において、ＤＲＡＭ４０は、メインメモリとして使用される。さらに、技術研究中、ＤＲＡＭ４０内のほとんどのＤＲＡＭセルの保持時間は、ＤＲＡＭの標準のリフレッシュサイクルより長いことが見出される。したがって、ＤＲＡＭ４０の静的電力消費を低減するのに、ＤＲＡＭ４０がリフレッシュされる回数は、ＤＲＡＭ４０のリフレッシュサイクルを長くすることによって減らされ得る。従来技術において、合同電子デバイス技術委員会（Ｊｏｉｎｔ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｃｏｕｎｃｉｌ、ＪＥＤＥＣ）によって規定されたＤＲＡＭの標準のリフレッシュサイクルは、６４ｍｓであり、ＤＲＡＭは、標準のリフレッシュサイクルに準拠して製造される。本発明のこの実施形態において、ＤＲＡＭ４０に関して新たなリフレッシュサイクルが規定されて、ＤＲＡＭ４０がリフレッシュされる回数を減らし得る。ＤＲＡＭ４０に関する規定されたリフレッシュサイクルは、ＤＲＡＭの標準規定されるリフレッシュサイクルより長い。例えば、標準のリフレッシュサイクルが６４ｍｓである場合、本発明のこの実施形態において規定されるＤＲＡＭ４０のリフレッシュサイクルは、１２８ｍｓまたは２５６ｍｓであり得る。技術の発展とともに、ＤＲＡＭの標準のリフレッシュサイクルは、あるいは、現在、規定される６４ｍｓより長くてよいことが理解されることができる。この事例において、本発明のこの実施形態において規定されるＤＲＡＭ４０のリフレッシュサイクルは、より長くてもよい。ＤＲＡＭ４０の規定されるリフレッシュサイクルは、ＤＲＡＭ４０の規定されるリフレッシュサイクルが、ＤＲＡＭの標準規定されるリフレッシュサイクルより長いという条件付きで、本明細書において特に限定されない。
【００４３】
本発明のこの実施形態において、ＤＲＡＭ４０のリフレッシュサイクルは長くされるため、ＤＲＡＭ４０に入っており、かつ保持時間がＤＲＡＭ４０の規定されるリフレッシュサイクルより短いメモリセル（ｃｅｌｌ）は、結果としてデータ損失を被ることがあることが理解されることができる。したがって、本発明のこの実施形態において、ＤＲＡＭ４０に入っており、かつ保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いメモリセルは、前もって検出されてよく、ＤＲＡＭ４０に入っており、かつ保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いメモリセルのアドレスが、図１−Ａから図１−Ｃに示されるＣＡＭ６０に記憶される。したがって、ステップ２０５において、ＳＣＭコントローラ５２は、ＣＡＭ６０を使用することによって、ＤＲＡＭ４０のものであり、かつ第１のアドレスがポイントする第１のメモリセルセットが、保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いメモリセルを含むかどうかを特に決定し得る。例えば、ＣＡＭ６０が、ＣＡＭ６０に記憶されたデータ項目が第１のアドレスを含むかどうかのクエリを行い、ＣＡＭ６０に記憶されたデータ項目が第１のアドレスを含む場合、そのことは、第１のアドレスがＣＡＭ６０にヒットすること、およびＤＲＡＭ４０のものであり、かつ第１のアドレスがポイントする第１のメモリセルセットが、保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いメモリセルを含むことを示す。
【００４４】
実際の適用において、１つの事例において、図１−Ａおよび図１−Ｂに示されるコンピュータシステムアーキテクチャにおいて、ＣＡＭ６０は、メモリコントローラ２０とＳＣＭコントローラ５２の両方に接続される。メモリコントローラ２０が、ＤＲＡＭ４０およびＳＣＭ５０に第１のアクセス命令を送信する場合、メモリコントローラ２０は、第１のアクセス命令において第１のアドレスをＣＡＭ６０に同時に送信し得る。ＣＡＭ６０は、メモリコントローラ２０によって入力された第１のアドレスを、ＣＡＭ６０に記憶されたデータ項目と比較する。ＣＡＭ６０に記憶されたデータ項目が第１のアドレスを含むと決定された場合、ＣＡＭ６０は、ＳＣＭ５２に、第１のアドレスとのマッピング関係を有し、かつＣＡＭ６０に記憶された第２のアドレスを出力し得る。さらに別の事例において、図１−Ｃに示されるコンピュータシステムアーキテクチャにおいて、ＣＡＭ６０は、メモリコントローラ２０に直接に接続されない。ＳＣＭコントローラ５２が、メモリコントローラ２０によって送信された第１のアクセス命令を受信した場合、ＳＣＭコントローラ５２は、第１のアクセス命令において搬送される第１のアドレスをＣＡＭ６０に送信して、ＣＡＭ６０が、第１のアドレスを含むデータ項目を記憶するかどうかのクエリを行うようにし得る。ＣＡＭ６０が、ＣＡＭ６０に記憶されたデータ項目が第１のアドレスを含むと決定した場合、ＣＡＭ６０は、ＳＣＭ５２に、第１のアドレスとのマッピング関係を有し、かつＣＡＭ６０に記憶された第２のアドレスを出力し得る。
【００４５】
実際の適用において、ＣＡＭ６０が、ＣＡＭ６０に記憶されたデータ項目が第１のアドレスを含むと決定した場合、ＣＡＭ６０は、ＭＵＸ７０に第１の命令信号をさらに送信し得る。第１の命令信号は、ＳＣＭ５０がデータを出力するのを待つようＭＵＸ７０に命令するのに使用される。第１のアクセス命令が読取り命令である場合、ＭＵＸ７０は、ＣＡＭ６０によって送信された第１の命令信号に応じて、ＳＣＭ５０に記憶されたデータをメモリコントローラ２０に出力し得ることが理解されることができる。第１のアクセス命令が書込み命令である場合、ＭＵＸ７０は、データが事前設定された時間に受信されない場合、メモリコントローラ２０にデータを出力しなくてよい。
【００４６】
さらに、ＤＲＡＭがデータを読み取る速度は、ＳＣＭが読取り操作を実行する速度より高く、かつ本発明のこの実施形態において、ＤＲＡＭ４０は、メインメモリとして使用され、かつメモリアクセス命令に関する時間系列は、ＤＲＡＭに関するアクセス時間限度に応じて決定され得る。したがって、第１のアクセス命令が読取り命令である場合、データの正しさを確実にするために、ＣＡＭ６０が、第１のアドレスに応じて、ＤＲＡＭ４０のものであり、かつ第１のアドレスがポイントするメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むと決定した場合、ＣＡＭ６０は、メモリコントローラ２０にホールド（ｈｏｌｄ）命令をさらに送信し得る。ホールド命令は、ＳＣＭ５０によって出力されたデータを受信するのを事前設定された待機時間、ホールドするようメモリコントローラ２０に命令するのに使用される。図１−Ａおよび図１−Ｂに示されるコンピュータシステムアーキテクチャにおいて、ＣＡＭ６０は、メモリコントローラ２０にホールド命令を直接に送信し得ることが理解されることができる。図１−Ｃに示されるコンピュータシステムアーキテクチャにおいて、ＣＡＭ６０が、ＳＣＭコントローラ５２を使用することによってメモリコントローラ２０にホールド命令を送信することがあり、または、ＳＣＭコントローラ５２がＣＡＭ６０によって送信された第２のアドレスを受信した場合、ＳＣＭコントローラ５２がメモリコントローラにホールド命令を能動的な様態で送信し、このことは、本明細書において限定されない。
【００４７】
実際の適用において、第１のアドレスは、第１のアクセス命令内のアクセスされるべきアドレス範囲内のいくつかのアドレスであり得ることが理解されることができる。第１のアクセス命令は、第１のアドレス以外であり、かつ保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いメモリセルをポイントしないアドレスをさらに含み得る。
【００４８】
ステップ２１０において、ＳＣＭコントローラ５２が、第１のアドレスとのマッピング関係を有する第２のアドレスを獲得する。第２のアドレスは、ＳＣＭ５０の第２のメモリセルセットをポイントするのに使用される。前述されるとおり、本発明のこの実施形態において、ＤＲＡＭ４０のものであり、かつ保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いメモリセルのアドレスは、ＣＡＭ６０に事前記憶され得る。保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いメモリセルは、データ損失をもたらすため、メモリ３０に記憶されたデータの正しさおよび完全性を確実にするのに、本発明のこの実施形態において、ＤＲＡＭ４０に入っており、かつ保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いメモリセルによって提供される物理スペースが、ＳＣＭ５０において提供される物理スペースにマップされ得る。すなわち、ＳＣＭ５０内のメモリセルが、ＤＲＡＭ４０に入っており、かつ保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いメモリセルのバックアップメモリセルとして使用される。このようにして、ＤＲＡＭ４０に入っており、かつ保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いメモリセルに書き込まれる必要があるデータが、ＳＣＭ５０内のメモリセルに書き込まれて、データのこの部分の損失を防止してもよい。
【００４９】
特に、ＤＲＡＭ４０に入っており、かつ保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短い検出されたメモリセルのアドレスとＳＣＭ５０内のアドレスの間のマッピング関係が確立され得る。相互マッピング関係を有するＤＲＡＭ４０のアドレスとＳＣＭ５０内のアドレスは、同一のデータを記憶するのに使用される。実際の適用において、システム初期化プロセス中、ＤＲＡＭ４０に入っており、かつ保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いことが検出されたメモリセルのアドレスは、ＣＡＭ６０に書き込まれてよく、ＤＲＡＭ４０に入っており、かつ保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いことが検出されたメモリセルのアドレスとＳＣＭ５０内のメモリセルのアドレスの間のマッピング関係は、ＣＡＭ６０に記憶されてよい。説明を容易にするため、本発明のこの実施形態において、保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いメモリセルのアドレスは、不適格なＤＲＡＭアドレスと称される。本発明のこの実施形態において、不適格なＤＲＡＭアドレスとＳＣＭアドレスの間のマッピング関係が、ＣＡＭ６０に記憶され得る。例えば、不適格なＤＲＡＭアドレスとＳＣＭアドレスの間のマッピング関係は、表１に示され得る。
【００５０】
【表１】
0006408712.tif 000002
【００５１】
表１において、不適格なＤＲＡＭアドレスは、ＤＲＡＭ４０に入っており、かつ保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いメモリセルのアドレスを示すのに使用される。ＳＣＭアドレスは、不適格なＤＲＡＭアドレスとのマッピング関係を有し、かつＳＣＭ５０内の物理スペースをポイントするアドレスを示すのに使用される。表１に示されるとおり、ＡＤＤＲ０とＳＣＭ＿ＡＤＤＲ０は、マッピング関係を有するアドレスのペアである。ＡＤＤＲ０とＳＣＭ＿ＡＤＤＲ０は、同一のデータを記憶するのに使用される。同様に、ＡＤＤＲ１とＳＣＭ＿ＡＤＤＲ１もマッピング関係を有し、同一のデータを記憶するのに使用される。さらなる説明は、本明細書において提供されない。本発明のこの実施形態において、不適格なＤＲＡＭアドレスは、少なくとも１バイトのアドレスであり得る。不適格なＤＲＡＭアドレスは、あるいは、アドレス範囲であってよい。アドレス範囲は、保持時間がＤＲＡＭの規定されるリフレッシュサイクルより短いメモリセルのアドレスを含め、１ラインまたは複数のラインのアドレスを含み得る。無論、ＤＲＡＭの不適格なアドレスは、あるいは、１ページ（ｐａｇｅ）または複数のページをポイントしてよく、このことは、本明細書において限定されない。
【００５２】
このステップにおいて、ＣＡＭ６０が、前述の表１により、第１のアドレスが不適格なＤＲＡＭアドレスであるかどうかを決定し得る。第１のアドレスが不適格なＤＲＡＭアドレスである場合、表１により、第１のアドレスとのマッピング関係を有する第２のアドレスがさらに決定され得る。第２のアドレスは、ＳＣＭ５０の第２のメモリセルセット内のメモリセルのアドレスである。図２に示される実施形態において、第１のアドレスが不適格なＤＲＡＭアドレスである例が使用される。例えば、第１のアドレスは、表１におけるＡＤＤＲ１であり、ＣＡＭ６０が、ＳＣＭコントローラ５２に、第１のアドレスとのマッピング関係を有する第２のアドレス、すなわち、ＳＣＭ＿ＡＤＤＲ１を出力し得る。
【００５３】
本発明のこの実施形態において、データの正しさを確実にするのに、ＤＲＡＭのものであり、かつ第１のアドレスがポイントする第１のメモリセルセット内のメモリセルと、ＳＣＭのものであり、かつ第２のアドレスがポイントする第２のメモリセルセット内のメモリセルは、同一のデータを記憶するように構成される。さらに、第２のメモリセルセット内のメモリセルの合計ストレージ容量は、第１のメモリセルセット内のメモリセルの合計ストレージ容量以上である。例えば、第１のメモリセルセット内のメモリセルの合計ストレージ容量が、１ｋＢ（Ｂｙｔｅ）であり得る。すると、第２のメモリセルセット内のメモリセルの合計ストレージ容量は、１ｋＢ以上である。
【００５４】
ＣＡＭ６０に記憶された不適格なＤＲＡＭアドレスは、ＤＲＡＭが工場を離れる際、長くされたリフレッシュサイクルに応じて検出され得ることに留意されたい。１つのＤＲＡＭに関して、不適格なＤＲＡＭアドレスが確定的である。システム初期化プロセス中、不適格なＤＲＡＭアドレスとのマッピング関係を有するＳＣＭアドレスが調整され得る。すなわち、前述の表１におけるマッピング関係は、固定されていない。例えば、マッピング関係が調整された後、ＳＣＭ＿ＡＤＤＲ３とＡＤＤＲＡ０の間のマッピング関係が確立されてよく、このことは、本明細書において限定されない。
【００５５】
ステップ２１５において、ＳＣＭコントローラ５２が、第１のアクセス命令を、第２のアドレスに応じて第２のアクセス命令に変換する。第２のアクセス命令は、第２のアドレスを含む。特に、メモリコントローラ２０によって送信された第１のアクセス命令を受信した後、ＳＣＭコントローラ５２は、第１のアクセス命令をまずバッファリングしてよく、ＣＡＭ６０によって出力された第２のアドレスを受信した後、ＳＣＭコントローラ５２は、第１のアドレスの代わりに第２のアドレスを、第１のアクセス命令内のアクセスされるべきアドレスとして使用して、第１のアクセス命令が第２のアクセス命令に変換されることができるようにしてよい。第２のアクセス命令において搬送されるアクセスされるべきアドレスは、第２のアドレスである。例えば、第１のアクセス命令が読み取り（ＡＤＤＲ１、１ｋＢ）、変換からもたらされる第２のアクセス命令が読み取り（ＳＣＭ＿ＡＤＤＲ１、１ｋＢ）である。ＡＤＤＲ１が、アクセスされるべき第１のアドレスを示すのに使用され、ＳＣＭ＿ＡＤＤＲ１が、第２のアドレスを示すのに使用され、１ｋＢが、読み取られるべきデータのサイズを示すのに使用される。
【００５６】
ステップ２２０において、ＳＣＭコントローラ５２が、第２のアクセス命令に応じて第２のメモリセルセット内のメモリセルにアクセスする。例えば、メモリアクセス命令がデータを書き込むための命令である場合、メモリコントローラ２０は、第２のアドレスに応じて、ＳＣＭ５０のものであり、かつ第２のアドレスがポイントする第２のメモリセルセット内のメモリセルにデータを書き込み得る。メモリアクセス命令がデータを読み取るための命令である場合、メモリコントローラ２０は、ＳＣＭ５０のものであり、かつ第２のアドレスがポイントする第２のメモリセルセット内のメモリセルからデータを読み取り得る。
【００５７】
本発明のこの実施形態において提供されるメモリアクセス方法において、ＤＲＡＭ４０のリフレッシュサイクルは、標準規定されるリフレッシュサイクルより長く、保持時間がＤＲＡＭ４０のリフレッシュサイクルより短いメモリセルのアドレスとＳＣＭ５０内のメモリセルのアドレスの間のマッピング関係は、ＣＡＭ６０において事前確立される。したがって、アクセス命令が、不適格なＤＲＡＭメモリセル（すなわちＤＲＡＭ  ｃｅｌｌ）に対するアクセスを含むと決定した場合、ＳＣＭコントローラ５２は、ＤＲＡＭに対するアクセスをＳＣＭ５０に対するアクセスに変換し得る。本発明のこの実施形態において提供される方法では、ＤＲＡＭリフレッシュのための電力消費が低減される一方で、データの正しさが確実にされることができる。
【００５８】
さらに、本発明のこの実施形態において提供されるメモリアクセス方法において、ＤＲＡＭ４０が、アクセスするためのメインメモリとして使用される。したがって、ＤＲＡＭ４０は、メモリコントローラ２０によって与えられるすべての命令を実行する。このようにして、ＳＣＭコントローラ５２が、メモリコントローラによって与えられるアクセス命令に応じてＳＣＭ５０にアクセスするプロセス中、ＤＲＡＭ４０もアクセス命令を実行する。ＤＲＡＭ４０に入っており、かつ保持時間がＤＲＡＭ４０のリフレッシュサイクルより短いメモリセルは、ＤＲＡＭ４０内のすべてのメモリセルの小さい部分に過ぎない。したがって、本発明のこの実施形態に示される方法では、ＳＣＭコントローラ５２は、図２に示される方法により、いくつかの命令だけに関してＳＣＭ５０に対してアクセス操作を実行する。さらに、ＤＲＡＭ４０の読取り速度および書込み速度は比較的高いため、本発明のこの実施形態において示される方法は、システムアクセス速度を低くすることなしに、システム費用を低減することができ、かつシステム電力消費を低減する一方で、システムアクセス速度を確実にすることもできる。
【００５９】
図３は、本発明の実施形態による方法の流れ図である。方法は、図１−Ａから図１−Ｃに示されるコンピュータシステム１００に依然として適用され得る。以下は、図１−Ａを主に参照することによって、図３に示されるメモリアクセス方法を詳細に説明する。方法は、図１−ＡにおけるＳＣＭ５０によって実行され得る。特に、方法は、ＳＣＭ５０内のＳＣＭコントローラ５２によって実行され得る。図３に示されるとおり、方法は、以下のステップを含み得る。
【００６０】
ステップ３００において、ＳＣＭコントローラ５２が、メモリコントローラによって送信された第３のアクセス命令を受信する。第３のアクセス命令は、第３のアドレスを搬送し、かつ第３のアドレスは、ＤＲＡＭのアクセスされるべき第３のメモリセルセットをポイントするのに使用される。実際の適用において、メモリコントローラ２０は、第３のアクセス命令をＤＲＡＭ４０とＳＣＭ５０に同時に送信し得る。本発明の実施形態において示されるシステムアーキテクチャにおいて、ＤＲＡＭ４０が、メインメモリとして使用される。したがって、ＤＲＡＭ４０は、メモリコントローラによって与えられるすべてのアクセス命令を実行する必要があり、すると、第３の命令内の第３のアドレスは、ＤＲＡＭ４０内のメモリセルをポイントするアドレスである。ステップ３００は、図２に示されるステップ２００と同様であり、詳細に関して、ステップ２００の説明を参照されたく、さらなる説明は、本明細書において提供されない。
【００６１】
ステップ３０５において、ＳＣＭコントローラ５２が、第３のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むかどうかを決定する。ＤＲＡＭのリフレッシュサイクルは、標準のリフレッシュサイクルより長い。ＳＣＭコントローラ５２が、第３のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含まないと決定した場合、方法は、ステップ３１０に進み、さもなければ、方法は、ステップ３１５に進む。特に、ＳＣＭコントローラ５２は、ＣＡＭ６０を使用することによって、第３のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むかどうかを決定し得る。第３のアドレスがＣＡＭ６０にヒットした場合、ＣＡＭ６０は、ＳＣＭコントローラ５２に、第３のアドレスとのマッピング関係を有する第４のアドレスを出力し、このことは、第３のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含むことを示す。第３のアドレスがＣＡＭ６０にヒットしない場合、そのことは、第３のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含まないことを示す。ステップ３０５は、図２に示されるステップ２０５と同様であり、詳細に関して、ステップ２０５の説明を参照されたい。さらなる説明は、本明細書において提供されない。
【００６２】
ステップ３１０において、ＳＣＭコントローラ５２が、第３のアクセス命令を削除する。実際の適用において、メモリコントローラ２０によって送信された第３のアクセス命令を受信した後、ＳＣＭコントローラ５２は、第３のアクセス命令を即時に実行するのではなく、第３のアクセス命令をまずバッファリングする。したがって、ステップ３０５において、ＳＣＭコントローラ５２が、ＣＡＭ６０によって送信された第４のアドレスを受信しない場合、そのことは、ＳＣＭコントローラ５２が、ＣＡＭ６０を使用することによって、第３のアクセス命令内の第３のアドレスがポイントする第３のメモリセルセットが、保持時間がＤＲＡＭのリフレッシュサイクルより短いメモリセルを含まないと決定することを示す。この事例において、ＳＣＭコントローラ５２は、第３のアクセス命令を削除してよく、第３のアクセス命令に応じてＳＣＭにアクセスすることはしない。
【００６３】
ステップ３１５において、ＳＣＭコントローラ５２が、第３のアドレスとのマッピング関係を有する第４のアドレスを獲得する。第４のアドレスは、ＳＣＭ５０の第４のメモリセルセットをポイントするのに使用される。ステップ３２０において、ＳＣＭコントローラ５２が、第３のアクセス命令を、第４のアドレスに応じて第４のアクセス命令に変換する。第４のアクセス命令は、第４のアドレスを含む。ステップ３２５において、ＳＣＭコントローラ５２が、第４のアクセス命令に応じてＳＣＭ５０にアクセスする。特に、ＳＣＭコントローラ５２は、第４のアクセス命令に応じてＳＣＭ５０内の第４のメモリセルセット内のメモリセルにアクセスする。ステップ３１５からステップ３２５は、それぞれ、図２に示されるステップ２１０からステップ２２０と同様であることが理解されることができ、詳細に関して、図２に示される実施形態における関連付けられたステップの説明をそれぞれ参照されたい。さらなる説明は、本明細書において提供されない。
【００６４】
本発明の実施形態が、プログラムコードを記憶するコンピュータ可読ストレージ媒体を含む、データ処理のためのコンピュータプログラム製品であって、プログラムコードに含まれる命令は、前述の方法実施形態のいずれか１つにおいて説明される方法プロセスを実行するのに使用される、コンピュータプログラム製品をさらに提供する。当業者は、前述のストレージ媒体が、ＵＳＢフラッシュドライブ、リムーバブルハードディスク、磁気ディスク、光ディスク、ランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＡＭ）、ソリッドステートディスク（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ、ＳＳＤ）、または不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）などの、プログラムコードを記憶することができる任意の非一時的（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ）マシン可読媒体を含み得ることを理解し得る。
【００６５】
本出願によって提供される実施形態は、例示的であるに過ぎないことに留意されたい。当業者は、説明の便宜と簡潔のため、前述の実施形態において、実施形態は、異なる強調で説明されることを明確に知ることがあり、１つの実施形態において詳細には説明されない部分に関して、別の実施形態の関係のある説明を参照されたい。本発明の実施形態、特許請求の範囲、および添付の図面において開示される特徴は、独立に存在してよく、または組合せで存在してよい。本発明の実施形態においてハードウェア形態で説明される特徴はソフトウェアによって実行されてよく、またその逆も同様であり、このことは、本明細書において限定されない。
【図１−Ａ】
0006408712.tif 000003
【図１−Ｂ】
0006408712.tif 000004
【図１−Ｃ】
0006408712.tif 000005
【図２】
0006408712.tif 000006
【図３】
0006408712.tif 000007