(57)【要約】複数のプロセッサ間でメモリを共有するためのシステム及び方法が提供される。一例では、共有メモリシステムが開示される。本システムは、少なくとも２つのプロセッサと、パッシブ可変抵抗メモリ（ＰＶＲＭ）デバイス等の少なくとも２つのメモリデバイスとを含む。各メモリデバイスは、複数のプロセッサインターフェースのうち１つのプロセッサインターフェースを経由して、各プロセッサに動作可能に接続されている。各プロセッサインターフェースは、少なくとも２つのプロセッサのうち単一のプロセッサ専用である。このようにして、少なくとも２つのプロセッサの個々のプロセッサは、各々のプロセッサ専用のプロセッサインターフェースを経由して、少なくとも２つのメモリデバイスの個々のメモリデバイスに記憶されたデータにアクセスするように動作する。【選択図】図５
2014516190.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つのプロセッサと、
複数のプロセッサインターフェースのうち１つのプロセッサインターフェースを経由して各プロセッサに動作可能に接続された、少なくとも２つのメモリデバイスであって、各プロセッサインターフェースは、前記少なくとも２つのプロセッサのうち単一のプロセッサ専用である、少なくとも２つのメモリデバイスと、を備え、
前記少なくとも２つのプロセッサの個々のプロセッサは、各々のプロセッサ専用の前記プロセッサインターフェースを経由して、前記少なくとも２つのメモリデバイスの個々のメモリデバイスに記憶されたデータにアクセスするように動作する、
共有メモリシステム。
【請求項２】
前記少なくとも２つのメモリデバイスは、パッシブ可変抵抗メモリ（ＰＶＲＭ）を備える、請求項１に記載の共有メモリシステム。
【請求項３】
前記ＰＶＲＭは、相変化メモリ、スピントルクトランスファー磁気抵抗メモリ及びメモリスタメモリのうち少なくとも１つを含む、請求項２に記載の共有メモリシステム。
【請求項４】
アセンブリをさらに備え、
前記アセンブリは、前記少なくとも２つのプロセッサを備える、請求項１に記載の共有メモリシステム。
【請求項５】
前記アセンブリは、前記少なくとも２つのメモリデバイスをさらに備え、
各メモリデバイスは、各々の専用バスを経由して、各プロセッサに動作可能に接続されている、請求項４に記載の共有メモリシステム。
【請求項６】
各メモリデバイスは、前記アセンブリの外部に設けられており、各々の専用バスを経由して、各プロセッサに動作可能に接続されている、請求項４に記載の共有メモリシステム。
【請求項７】
各メモリデバイスは、調整論理と、少なくとも１つのメモリバンクと、を備え、
前記調整論理は、少なくとも１つのメモリバンクの各々と、各プロセッサインターフェースとに動作可能に接続されており、所与の時間に、少なくとも１つのメモリバンクへの排他的アクセスを前記少なくとも２つのプロセッサのうちどのプロセッサに提供するのかを決定するように動作する、請求項１に記載の共有メモリシステム。
【請求項８】
前記少なくとも２つのプロセッサのうち少なくとも１つのプロセッサは、前記少なくとも２つのメモリデバイスをＲＡＩＤメモリシステムとして構成するように動作するＲＡＩＤモード初期化論理をさらに備える、請求項１に記載の共有メモリシステム。
【請求項９】
前記少なくとも２つのメモリデバイスのうち少なくとも１つのメモリデバイスは、パリティデータを記憶するように動作するパリティメモリデバイスを備え、
前記パリティデータは、少なくとも１つのパリティメモリデバイス以外の少なくとも１つのメモリデバイスから要求されたデータを再構成するために使用される、請求項１に記載の共有メモリシステム。
【請求項１０】
前記少なくとも２つのプロセッサのうち少なくとも１つのプロセッサは、
前記少なくとも１つのパリティメモリデバイスに記憶するための前記パリティデータを生成するように動作するＲＡＩＤパリティデータ生成論理と、
前記パリティデータに基づいて、不具合のあるメモリデバイスから受け取らなかった要求データを再構成するように動作するＲＡＩＤデータ再構成論理と、をさらに備える、請求項９に記載の共有メモリシステム。
【請求項１１】
少なくとも２つのプロセッサと、
複数個のプロセッサインターフェースのうち１つのプロセッサインターフェースを経由して各プロセッサに動作可能に接続された、少なくとも２つのメモリモジュールであって、各プロセッサインターフェースは、前記少なくとも２つのプロセッサのうち単一のプロセッサ専用である、少なくとも２つのメモリモジュールと、を備え、
前記少なくとも２つのプロセッサの個々のプロセッサは、各々のプロセッサ専用の前記プロセッサインターフェースを経由して、前記少なくとも２つのメモリモジュールの個々のメモリモジュールに記憶されたデータにアクセスするように動作する、
共有メモリシステム。
【請求項１２】
個々のプロセッサに関連した動力故障によって、前記少なくとも２つのメモリモジュールの何れかに記憶されたデータへの他のプロセッサのアクセスが妨げられないように、各プロセッサは、専用の電源に動作可能に接続されている、請求項１１に記載の共有メモリシステム。
【請求項１３】
前記少なくとも２つのメモリモジュールは、パッシブ可変抵抗メモリ（ＰＶＲＭ）を備える、請求項１１に記載の共有メモリシステム。
【請求項１４】
前記ＰＶＲＭは、相変化メモリ、スピントルクトランスファー磁気抵抗メモリ及びメモリスタメモリのうち少なくとも１つを含む、請求項１３に記載の共有メモリシステム。
【請求項１５】
アセンブリをさらに備え、
前記アセンブリは、前記少なくとも２つのプロセッサを備える、請求項１１に記載の共有メモリシステム。
【請求項１６】
前記アセンブリは、前記少なくとも２つのメモリモジュールをさらに備え、
各メモリモジュールは、各々の専用バスを経由して、各プロセッサに動作可能に接続されている、請求項１５に記載の共有メモリシステム。
【請求項１７】
各メモリモジュールは、前記アセンブリの外部に設けられており、各々の専用バスを経由して、各プロセッサに動作可能に接続されている、請求項１５に記載の共有メモリシステム。
【請求項１８】
前記少なくとも２つのメモリモジュールのうち少なくとも１つのメモリモジュールは、スタック構成で配置された複数のメモリデバイスを備える、請求項１６に記載の共有メモリシステム。
【請求項１９】
各メモリモジュールは、調整論理と、少なくとも１つのメモリデバイスと、を備え、
前記調整論理は、少なくとも１つのメモリデバイスの各々と、各プロセッサインターフェースとに動作可能に接続されており、所与の時間に、少なくとも１つのメモリデバイスへの排他的アクセスを前記少なくとも２つのプロセッサのうちどのプロセッサに提供するのかを決定するように動作する、請求項１１に記載の共有メモリシステム。
【請求項２０】
前記少なくとも２つのプロセッサのうち少なくとも１つのプロセッサは、前記少なくとも２つのメモリモジュールをＲＡＩＤメモリシステムとして構成するように動作するＲＡＩＤモード初期化論理をさらに備える、請求項１１に記載の共有メモリシステム。
【請求項２１】
前記少なくとも２つのメモリモジュールのうち少なくとも１つのメモリモジュールは、パリティデータを記憶するように動作するパリティメモリモジュールを備え、
前記パリティデータは、少なくとも１つのパリティメモリモジュール以外の少なくとも１つのメモリモジュールから要求されたデータを再構成するために使用される、請求項１１に記載の共有メモリシステム。
【請求項２２】
前記少なくとも２つのプロセッサのうち少なくとも１つのプロセッサは、
前記少なくとも１つのパリティメモリモジュールに記憶するための前記パリティデータを生成するように動作するＲＡＩＤパリティデータ生成論理と、
前記パリティデータに基づいて、不具合のあるメモリモジュールから受け取らなかった要求データを再構成するように動作するＲＡＩＤデータ再構成論理と、をさらに備える、請求項２１に記載の共有メモリシステム。
【請求項２３】
共有メモリシステムの製造方法であって、
少なくとも２つのプロセッサをアセンブリ上に配置するステップと、
少なくとも２つのメモリデバイスを前記アセンブリ上に配置するステップと、
各メモリデバイスを、複数のプロセッサインターフェースのうち１つのプロセッサインターフェースを経由して、各プロセッサに動作可能に接続するステップと、を含み、
各プロセッサインターフェースは、前記少なくとも２つのプロセッサのうち単一のプロセッサ専用である、
製造方法。
【請求項２４】
ソケットパッケージ上に前記アセンブリを配置するステップをさらに含む、請求項２３に記載の製造方法。
【請求項２５】
共有メモリシステムの製造方法であって、
少なくとも２つのプロセッサをアセンブリ上に配置するステップと、
少なくとも２つのメモリモジュールを前記アセンブリ上に配置するステップと、
複数のプロセッサインターフェースのうち１つのプロセッサインターフェースを経由して、各メモリモジュールを各プロセッサに動作可能に接続するステップと、を含み、
各プロセッサインターフェースは、前記少なくとも２つのプロセッサのうち単一のプロセッサ専用である、
製造方法。
【請求項２６】
ソケットパッケージ上に前記アセンブリを配置することをさらに含む、請求項２５に記載の製造方法。
【請求項２７】
少なくとも２つのプロセッサ間でメモリを共有するための方法であって、
メモリモジュールが、第１のプロセッサ専用のプロセッサインターフェースを経由して、第１のプロセッサから第１のメモリ要求を受け取るステップと、
前記メモリモジュールが、第２のプロセッサ専用のプロセッサインターフェースを経由して、第２のプロセッサから第２のメモリ要求を受け取るステップと、
前記メモリモジュールが、前記第１及び第２のメモリ要求のうちどのメモリ要求に最初に応じるのかを決定するステップと、を含む、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、複数のプロセッサ間でメモリを共有するシステム及び方法に関する。
【背景技術】
【０００２】
従来の共有メモリシステム（すなわち、複数の個別のメモリデバイスを含むコンピューティングシステム）では、各メモリデバイス（例えば、メモリチップ）又はメモリモジュール（すなわち、例えば、プリント基板上に取り付けられた１つ以上のメモリデバイス）は、単一のプロセッサインターフェースのみを含む。つまり、従来の共有メモリシステムでは、各メモリデバイス／メモリモジュールが、単一のプロセッサ（例えば、プロセッサチップ）に直接接続されているだけである。ゆえに、目的のメモリデバイス／メモリモジュールに直接接続されているプロセッサ以外のプロセッサが、当該目的のメモリデバイス／メモリモジュールに記憶されているデータにアクセスしたい場合には、当該直接接続されているプロセッサを経由してアクセスしなければならない。このことは、所望のデータを記憶しているメモリデバイス／モジュールに直接接続されているプロセッサに不具合が生じる場合があることから、問題がある。先行技術の共有メモリシステムでは、所望のデータを含むメモリデバイス／メモリモジュールに直接接続されているプロセッサに不具合が生じると、当該所望のデータはアクセス不可となる。従来の共有メモリシステムに関連する他の欠点及び問題は、当業者によって認識されるであろう。
【０００３】
ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）は、複数のハードディスク間でコンピュータデータ記憶を分割及び複製するために、様々な技術及びアーキテクチャを参照する。周知のＲＡＩＤ技術がいくつも存在し、各々のＲＡＩＤ技術は、「ＲＡＩＤ」という語に続いて、ＲＡＩＤの特定のレベルを示す数字を付して表される（例えば、ＲＡＩＤ０、ＲＡＩＤ１等）。様々なＲＡＩＤレベル（例えば、ＲＡＩＤ０）のうち１つ以上のレベルを実装するために、複数のハードディスクがＲＡＩＤアーキテクチャに設けられた場合には、これらのハードディスクはＲＡＩＤアレイと言われる。概して、ＲＡＩＤ技術及びアーキテクチャは、ディスクの記憶の信頼性を向上させることで知られている。
【０００４】
例えば、ＲＡＩＤ１（すなわち、レベル１のＲＡＩＤ）において、データは複数のハードディスクに同様に書き込まれる。これは「ミラーリング」として知られ、任意の１つのハードディスクに不具合が生じた場合には、所望のデータが、「ミラーされた」データを記憶している他のハードディスクによってなお入手され得ることを保証する。このように、ＲＡＩＤ１は、記憶の信頼性を向上させるために、特定のデータ（例えば、重要なデータ）の冗長記憶を提供する。他方でＲＡＩＤ２は、専用のハミング符号パリティを用いたビット単位のストライピングを提供する。つまり、ＲＡＩＤ２では、所与のデータ片におけるそれぞれの連続ビットが、異なるハードディスクに「ストライプされる」（すなわち、書き込まれる）。ハミング符号パリティは、ハードディスク上の対応するビット全体にわたり演算され、１つ以上のパリティディスク（すなわち、パリティビットの記憶専用のハードディスク）に記憶される。このように、ストライプされたビットのうちの１つを記憶している１つのディスクに不具合が生じた場合には、（その失われたビットが一部分を形成する）データの全体は、機能しているハードディスクから得たビットを使用して、パリティビットとあわせて、当技術分野で周知の再構成技術を使用して、なお再構成され得る。上述のＲＡＩＤ１及びＲＡＩＤ２の実装に類似して動作する、付加的なニュアンスを有する様々な他のレベルのＲＡＩＤも周知である。
【０００５】
しかしながら、実質的にハードディスクよりも早いアクセス時間を示し、ハードディスクよりも小型で、ハードディスクが提供するものと同一の不揮発性を提供する新型の記憶装置が出現してきていることにより、ハードディスク技術は、その有用な寿命の終わりに近づいているように思われる（又は、少なくともその重要性が低下しているように思われる）。それゆえに、先行技術のＲＡＩＤシステムに関する欠点は、ハードディスクが、持続性のある記憶機構として継続して使用されていることである。
【０００６】
それゆえに、特にＲＡＩＤメモリアーキテクチャにおいて、複数のプロセッサ間でメモリを共有するシステム及び方法の必要性が存在する。
【０００７】
下記の図面が添付される場合には、以下の説明を考慮して本開示はさらに容易に理解されるであろう。同様の参照番号が同様の要素を表している。
【図面の簡単な説明】
【０００８】
【図１】複数のプロセッサ間でメモリを共有するための共有メモリシステムの一例を概して示すブロック図である。
【図２】図１の共有メモリシステムにおいて用いられ得るメモリデバイスの詳細な一例を概して示すブロック図である。
【図３】複数のプロセッサ間でメモリを共有するための共有メモリシステムの他の例を概して示すブロック図である。
【図４】図３の共有メモリシステムにおいて用いられ得るメモリモジュールの詳細な一例を概して示すブロック図である。
【図５】複数のプロセッサ間でメモリを共有するための共有メモリシステムの他の一例を概して示すブロック図である。メモリモジュールは、プロセッサを含むアセンブリの外部にある。
【図６】共有メモリシステムを作成するための方法の一例を示すフローチャートである。
【図７】共有メモリシステムを作成するための方法の他の例を示すフローチャートである。
【図８】少なくとも２つのプロセッサ間でメモリを共有するための方法の一例を示すフローチャートである。
【発明の概要】
【課題を解決するための手段】
【０００９】
本開示は、複数のプロセッサ間でメモリを共有するシステム及び方法を提供する。一例では、共有メモリシステムが開示される。本例では、共有メモリシステムは、少なくとも２つのプロセッサと、少なくとも２つのメモリデバイスとを含み、各メモリデバイスは、複数のプロセッサインターフェースのうち１つを経由して、各プロセッサに動作可能に接続されている。各プロセッサインターフェースは、前記少なくとも２つのプロセッサのうち単一のプロセッサ専用である。このように、前記少なくとも２つのプロセッサの各プロセッサは、各々のプロセッサ専用のプロセッサインターフェースを経由して、少なくとも２つのメモリデバイスの各メモリデバイスに記憶されたデータにアクセスするように動作する。
【００１０】
一例では、各プロセッサは、専用の電源に動作可能に接続されている。これにより、個々プロセッサに関連する故障によって、何れかのメモリデバイスに記憶されたデータへ他のプロセッサのアクセスが妨げられることがない。他の例では、少なくとも２つのメモリデバイスは、例えば相変化メモリデバイス、スピントルクトランスファー磁気抵抗メモリデバイス及び／又はメモリスタメモリデバイス等のパッシブ可変抵抗（ＰＶＲＭ）メモリデバイスである。
【００１１】
一例では、共有メモリシステムはアセンブリを含み、前記アセンブリは、少なくとも２つのプロセッサを含む。他の例では、前記アセンブリは、少なくとも２つのメモリデバイスも含み、各メモリデバイスは、個々の専用バスを経由して各プロセッサに動作可能に接続されている。さらに他の例では、各メモリデバイスは、アセンブリの外部に設けられており、個々の専用バスを経由して各プロセッサに動作可能に接続されている。
【００１２】
他の例では、各メモリデバイスは、調整論理と、少なくとも１つのメモリバンクとを含む。この例では、調整論理は、少なくとも１つのメモリバンクの各々と、各プロセッサインターフェースとに動作可能に接続されている。調整論理は、所与の時間に、少なくとも１つのメモリバンクへの排他的アクセスを少なくとも２つのプロセッサのうちどのプロセッサに提供するのかを決定するように動作する。
【００１３】
一例では、少なくとも２つのプロセッサのうち少なくとも１つのプロセッサは、少なくとも２つのメモリデバイスをＲＡＩＤメモリシステムとして構成するように動作するＲＡＩＤモード初期化論理をさらに含む。他の例では、少なくとも２つのメモリデバイスのうち少なくとも１つのメモリデバイスは、少なくとも１つのパリティメモリデバイス以外の少なくとも１つのメモリデバイスから要求されたデータを再構成するために用いられるパリティデータを記憶するように動作するパリティメモリデバイスである。また他の例では、少なくとも２つのプロセッサのうち少なくとも１つのプロセッサは、（１）少なくとも１つのパリティメモリデバイスに記憶するためのパリティデータを生成するように動作するＲＡＩＤパリティデータ生成論理と、（２）パリティデータに基づいて、不具合のあるメモリデバイスから受け取らなかった要求データを再構成するように動作するＲＡＩＤデータ再構成論理とをさらに含む。
【００１４】
また、本開示は、共有メモリシステムの他の例を提供する。この例では、共有メモリシステムは、少なくとも２つのプロセッサと、少なくとも２つのメモリモジュールとを含み、各メモリモジュールは、複数のプロセッサインターフェースのうち１つのプロセッサインターフェースを経由して、各プロセッサに動作可能に接続されている。各プロセッサインターフェースは、少なくとも２つのプロセッサのうち単一のプロセッサ専用である。このように、少なくとも２つのプロセッサの個々のプロセッサは、各々のプロセッサ専用のプロセッサインターフェースを経由して、少なくとも２つのメモリモジュールの個々のメモリモジュールに記憶されたデータにアクセスするように動作する。
【００１５】
また、本開示は、共有メモリシステムの製造方法を提供する。共有メモリシステムの製造方法の一例では、少なくとも２つのプロセッサと、少なくとも２つのメモリデバイスとを、アセンブリ上に配置する。各メモリデバイスを、複数のプロセッサインターフェースのうち１つのプロセッサインターフェースを経由して、各プロセッサに動作可能に接続する。各プロセッサインターフェースは、少なくとも２つのプロセッサのうち単一のプロセッサ専用である。一例では、アセンブリはソケットパッケージ上に配置されている。
【００１６】
共有メモリシステムの製造方法の他の例では、少なくとも２つのプロセッサと、少なくとも２つのメモリモジュールとを、アセンブリ上に配置する。各メモリモジュールを、複数のプロセッサインターフェースのうち１つのプロセッサインターフェースを経由して、各プロセッサに動作可能に接続する。各のプロセッサインターフェースは、少なくとも２つのプロセッサのうち単一のプロセッサ専用である。一例では、アセンブリはソケットパッケージ上に配置されている。
【００１７】
最後に、本開示は、少なくとも２つのプロセッサ間でメモリを共有するための方法を提供する。一例では、この方法は、メモリモジュールが、第１のプロセッサ専用のプロセッサインターフェースを経由して、第１のプロセッサから第１のメモリ要求を受け取るステップを含む。また、メモリモジュールは、第２のプロセッサ専用のプロセッサインターフェースを経由して、第２のプロセッサから第２のメモリ要求を受け取る。この例では、メモリモジュールが、第１および第２のメモリ要求のうちどのメモリ要求に最初に応じるかを決定するステップをさらに含む。
【００１８】
他の利点のうち、開示されるシステムおよび方法は、ハードディスクを使用せずにＲＡＩＤを実装することが可能な共有メモリシステムを提供する。非ハードディスク型の記憶装置（例えば、ＰＶＲＭ）を使用することは、メモリアクセス時間を低減し、メモリシステムのサイズを最小化し、一実施形態では、持続性の（すなわち、不揮発性の）記憶装置を提供する。また、開示されるシステムおよび方法は、複数のプロセッサ専用のプロセッサインターフェースを有するメモリデバイス及びメモリモジュールを提供する。このように、個々のプロセッサに不具合が生じた場合には、動作している他のプロセッサが、所与のメモリデバイス／メモリモジュールに記憶されたデータにアクセスし得る。他の利点は当業者によって認識されるであろう。
【発明を実施するための形態】
【００１９】
以下に記載された実施形態は、単に例示的なものであり、本開示、その適用又は使用をいかなる意味においても制限することを意図しないものとする。図１は、本開示による、複数のプロセッサ（例えば、プロセッサ１０６ａ，１０６ｂ）間でメモリ（例えば、メモリデバイス１０８ａ，１０８ｂ）を共有するための共有メモリシステム１００の一例を説明する図である。システム１００は、例えば、従来のコンピュータ（例えば、デスクトップ若しくはラップトップコンピュータ）、携帯情報端末（ＰＤＡ）、携帯電話、タブレット（例えば、Ａｐｐｌｅ（登録商標）のｉＰａｄ（登録商標））、１つ以上のネットワークコンピュータデバイス（例えば、サーバコンピュータ若しくは類似のもの等であって、個々のコンピュータデバイスが、システム１００の１つ以上の機能を実装する）、カメラ又は任意の他の適切な電子デバイス等の、任意の種類のコンピュータデバイス内に存在してもよい。システム１００は、プロセッサ１  １０６ａ及びプロセッサＮ  １０６ｂ等の複数のプロセッサを含む。２つのプロセッサのみが図示されているが、システム１００は、要求に応じて多くのプロセッサ（例えば、「Ｎ個の」プロセッサ）を含み得ることが理解されるものとする。複数のプロセッサ（例えば、プロセッサ１  １０６ａ及びプロセッサＮ  １０６ｂ）のどのプロセッサも、記憶コンポーネントに記憶された実行可能な命令の制御下で動作する、１つ以上のマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ又はこれらの組み合わせを備え得る。さらに、どのプロセッサも、１つ以上のコアを含み得る。
【００２０】
本システムは、例えばメモリデバイス１  １０８ａ及びメモリデバイスＮ  １０８ｂ等のように、専用のプロセッサインターフェースを有する複数のメモリデバイスをさらに含む。２つのメモリデバイスのみが図示されているが、本システム１００は、要求に応じて多くのメモリデバイスを含み得ることが認識される。複数のメモリデバイス（例えば、メモリデバイス１  １０８ａ及びメモリデバイスＮ  １０８ｂ）のどのメモリデバイスも、ハードディスクを例外として、任意の適切な種類の揮発性又は不揮発性のメモリを備え得る。例えば、メモリデバイス１０８ａ，１０８ｂは、パッシブ可変抵抗メモリ（ＰＶＲＭ）、フラッシュメモリ又は当技術分野で周知の任意の他の持続性メモリ若しくは揮発性メモリを備え得る。
【００２１】
ＰＶＲＭは、電荷の代わりに抵抗の形態で状態を記憶する任意のメモリ技術を表すために用いられる広義語である。つまり、ＰＶＲＭ技術は、電荷を使用してビットの状態を記憶する電荷ベースのメモリ技術とは対照的に、ビットの状態を記憶するセルの抵抗を使用する。ＰＶＲＭは、スイッチとして機能するために例えばトランジスタ等の任意の能動型半導体デバイスを必要としないという事実により、パッシブ（受動型）であると見なされる。これらの種類のメモリは、動力損失又は動力サイクルの後に状態情報を保持するという事実により、「不揮発性」であると言われる。パッシブ可変抵抗メモリは、抵抗不揮発性ランダムアクセスメモリ（ＲＮＶＲＡＭ又はＲＲＡＭ（登録商標））としても知られている。
【００２２】
ＰＶＲＭの例としては、強誘導体ＲＡＭ（ＦｅＲＡＭ）、磁気抵抗ＲＡＭ（ＭＲＡＭ）、メモリスタ、相変化メモリ（ＰＣＭ）及びスピントルクトランスファーＭＲＡＭ（ＳＴＴ−ＭＲＡＭ）が挙げられるが、これらに限定されない。これらのどの技術も、本開示における共有メモリシステム１００等の共有メモリシステムと併せた使用に適し得るが、ＰＣＭ、メモリスタ及びＳＴＴ−ＭＲＡＭについては特に良好な適合を提供することが期待され、そのため以下に追加の詳細を記載する。
【００２３】
相変化メモリ（ＰＣＭ）は、相変化材料（一般的にはカルコゲニド）の性質に依存して、状態を記憶するＰＶＲＭ技術である。熱ヒート相変化材料の記憶デバイスに電流を注入し、相変化材料を熱加熱することによって書き込みが実行される。電流の突然の遮断によって材料を非晶質状態に凍結させることによって高抵抗性を有するが、電流の遅く緩やかな減少は、材料内の結晶の形成をもたらす。結晶状態は、非晶質状態より低い抵抗を有し、したがって１又は０の値がセルの抵抗性に対応する。変化した電流減少傾斜度は、中間状態を生成することができ、電位マルチレベルセルを可能にする。ＰＣＭ記憶エレメントは、発熱抵抗体と電極間のカルコゲニドとから構成されているが、ＰＣＭセルは、当該記憶エレメントとアクセストランジスタとから構成されている。
【００２４】
メモリスタは、レジスタ、キャパシタ及びインダクタとは別の「第４の回路素子」と一般に称されている。メモリスタは、抵抗が、端子間を通過した電荷の量に依存する、実質的に２つの終端可変抵抗である。したがって、メモリスタの抵抗は、メモリスタを通過する電流の量によって変化し、その抵抗は、電流が停止する場合であっても記憶される。メモリスタの一例は、「ＥＬＥＣＴＲＩＣＡＬＬＹ  ＡＣＴＵＡＴＥＤ  ＳＷＩＴＣＨ」という名称の、対応する米国特許出願公開第２００８／００９０３３７号に開示されており、これを参照することで本明細書に組み込まれる。
【００２５】
スピントルクトランスファー磁気抵抗ＲＡＭ（ＳＴＴ−ＭＲＡＭ）は、ＭＲＡＭの第２世代版であり、この原版は国際半導体技術ロードマップ（ＩＴＲＳ）によって「原型」であると見なされている。ＭＲＡＭは、磁気トンネル接合（ＭＴＪ）の形態で情報を記憶しており、２つの強磁性材料を薄い絶縁材料層で分離している。一方の層が他方の層の方向と整列し又は反対するように切り替わるときに記憶値が変更され、このことは後に接点の抵抗に影響する。原型ＭＲＡＭは、この変化を生じさせるために適切な磁場を必要とした。これは、困難且つ非効率的であり、非実用的な高い書き込みエネルギーをもたらした。ＳＴＴ−ＭＲＡＭは、スピン偏極電流を使用し、外部磁場を必要とせずに極性を逆にする。したがって、ＳＴＴ技法は、確実且つ適切に強化された磁場を生成することに対する困難な側面を排除することに加えて、書き込みエネルギーを減少させる。しかしながら、ＰＣＭのように、ＳＴＴ−ＭＲＡＭは、アクセストランジスタを必要とし、したがってそのセルサイズスケーリングは、トランジスタスケーリングに依存する。
【００２６】
いかなる場合でも、各プロセッサ１０６ａ，１０６ｂは、１つ以上のバス等の適切な通信経路又はチャネルを通って、専用のプロセッサインターフェース（例えば、プロセッサインターフェース１１４ａ，１１４ｂ，１１６ａ，１１６ｂ）を経由して、各メモリデバイス１０８ａ，１０８ｂに動作可能に接続されている。つまり、各メモリデバイスは、システム１００内のプロセッサごとに専用のプロセッサインターフェースを含む。さらに、すべてのメモリデバイスのアドレス空間は、すべてのプロセッサによってアクセス可能である。このように、個々のプロセッサ（例えば、プロセッサ１  １０６ａ）に不具合が生じると（例えば、機械又は動力故障）、動作している他のプロセッサ（例えば、プロセッサＮ  １０６ｂ）が、メモリデバイス（例えば、メモリデバイス１  １０８ａ及び／又はメモリデバイスＮ  １０８ｂ）の何れかに記憶されたデータにアクセスし得る。先行技術のシステムでは、各メモリデバイスは、単一のプロセッサに直接接続されているのみであった。このため、プロセッサに不具合が生じると、不具合のあるプロセッサに直接接続されているメモリデバイスに記憶されたデータにアクセスすることが不可となっていた。したがって、本開示による共有メモリシステム１００は、従来のメモリシステムと比較して、より強固なアーキテクチャを提供し、これにより、所与のプロセッサの故障によって、不具合のあるプロセッサに直接接続されているメモリデバイスに記憶されたデータへのアクセスが妨げられることがない。
【００２７】
また、各プロセッサは、システム１００内のコンポーネントに伝達される、システム１００内のコンポーネントの故障又は動力の故障が、システム１００内の他のコンポーネントの継続している操作に影響を与えることのないように、例えば専用の電源（例えば、電源１  １１０ａ及び電源Ｎ  １１０ｂ）等の適切な隔離機構とともに実装されている。すなわち、個々のプロセッサ（例えば、プロセッサ１０６ａ）に関連した動力故障によって、複数のメモリデバイス（例えば、メモリデバイス１０８ａ，１０８ｂ）のうち何れかのメモリデバイスに記憶されたデータに対する他のプロセッサ（例えば、プロセッサ１０６ｂ）のアクセスが妨げられることがない。
【００２８】
電源１１０ａ，１１０ｂは、当技術分野で周知のとおり、１つ以上の適切な電源経路を経由して、プロセッサ１０６ａ，１０６ｂに動作可能に接続されている。一例では、プロセッサ１０６ａ，１０６ｂ及びメモリデバイス１０８ａ，１０８ｂは、マルチチップモジュール（ＭＣＭ）等の同一のアセンブリ１０４上に配列されている。一例では、アセンブリ１０４自体がソケットパッケージ１０２上に配列されている。当技術分野で周知のとおり、ソケットパッケージ１０２等のソケットパッケージは、１つ以上のデバイス（例えば、プロセッサ１０６ａ，１０６ｂ）とプリント基板（図示せず）との間に、機械的及び電気的接続を提供する機械機器である。
【００２９】
プロセッサ１０６ａ，１０６ｂの各々は、Ｉ／Ｏインターフェース１２２ａ，１２２ｂと、ＲＡＩＤパリティ生成論理１１８ａ，１１８ｂと、ＲＡＩＤデータ再構成論理１２０ａ，１２０ｂと、書き込み確認論理１２４ａ，１２４ｂと、ＲＡＩＤモード初期化論理１２６ａ，１２６ｂと、誤り訂正符号（ＥＣＣ）／パリティビット生成論理１２８ａ，１２８ｂと、誤り検出及び訂正論理１３０ａ，１３０ｂとを含み得る。Ｉ／Ｏインターフェース１２２ａ，１２２ｂは、例えば、入力デバイス（例えば、マウス、キーボード等）、出力デバイス（例えば、プリンタ、スピーカ等）、追加のプロセッサ、メモリ又は当技術分野で周知の任意の他の適切なＩ／Ｏコンポーネントを含み得る、Ｉ／Ｏサブシステムと通信するために使用される。各Ｉ／Ｏインターフェースは、Ｉ／Ｏサブシステム１１２の任意のコンポーネントと通信するのに必要な論理を含む。
【００３０】
ＥＣＣ／パリティビット生成論理１２８ａ，１２８ｂは、プロセッサとメモリデバイスとの間の通信経路（複数可）を通る記憶操作とともに、プロセッサによって任意のメモリデバイスに伝送され得るＥＣＣ／パリティビットデータを生成するように動作する論理（すなわち、何れかのプロセッサによって実行可能なハードウェア及び／又は内蔵ソフトウェア）を含む。誤り検出及び訂正論理１３０ａ，１３０ｂは、フェッチ操作時に、プロセッサに戻ったデータが正確であるか否かを判定するために、プロセッサに戻ったＥＣＣ／パリティビットデータと併せて、プロセッサに戻ったデータを評価するように動作する論理（すなわち、何れかのプロセッサによって実行可能なハードウェア及び／又は内蔵ソフトウェア）を含む。例えば、誤り検出及び訂正論理１３０ａ，１３０ｂは、プロセッサに戻ったデータ内の「ソフト」エラー（すなわち、戻ったデータの２〜３ビット／バイトのみが不正確である、小規模な誤り）を検出するように動作する。かかるソフトエラーの検出時に、誤り検出及び訂正論理１３０ａ，１３０ｂは、当技術分野で周知のデータ訂正技術を使用して、ＥＣＣ／パリティビットデータに基づいて誤りを訂正するようにさらに動作する。このように、ＥＣＣ／パリティビット生成論理１２８ａ，１２８ｂと、誤り検出及び訂正論理１３０ａ，１３０ｂとは、共有メモリシステム１００の信頼性をさらに向上させるために使用され得る。
【００３１】
ＲＡＩＤモード初期化論理１２６ａ，１２６ｂは、特定のＲＡＩＤレベルとして共有メモリシステム１００を設定するように動作する論理（すなわち、何れかのプロセッサによって実行可能なハードウェア及び／又は内蔵ソフトウェア）を含む。例えば、ＲＡＩＤモード初期化論理１２６ａ，１２６ｂは、システム１００がＲＡＩＤ１の操作手順にしたがってすべての記憶を行うように構成されてもよい。かかる場合、個々のメモリデバイス（例えば、メモリデバイス１  １０８ａ）に記憶された任意のデータは、ＲＡＩＤ１に関連する「ミラーリング」効果を提供するために、他のメモリデバイス（例えば、メモリデバイスＮ  １０８ｂ）に複製されて記憶されることになる。このように、ＲＡＩＤモード初期化論理１２６ａ，１２６ｂは、ＲＡＩＤメモリシステムとして少なくとも２つのメモリデバイス１０８ａ，１０８ｂを構成するように動作する。
【００３２】
ＲＡＩＤモード初期化論理１２６ａ，１２６ｂが、パリティビット生成（例えば、ＲＡＩＤ２）を利用するＲＡＩＤレベルを用いて動作するように共有メモリシステム１００を初期化した場合には、ＲＡＩＤパリティデータ生成論理１１８ａ，１１８ｂ及びＲＡＩＤデータ再構成論理１０２ａ，１２０ｂを用いることが可能になる。ＲＡＩＤパリティデータ生成論理１１８ａ，１１８ｂは、共有メモリシステム１００がパリティビット生成を利用するＲＡＩＤレベルで構成された場合に、パリティメモリデバイスとして動作するメモリデバイス（例えば、メモリデバイス１０８ａ）に対して、何れかのプロセッサによって伝送され得るＲＡＩＤパリティデータを生成するように動作する。換言すれば、共有メモリシステム１００が、ＲＡＩＤパリティデータを使用するＲＡＩＤレベルで動作するように構成された場合には、少なくとも１つのメモリデバイスは、ＲＡＩＤパリティデータを記憶するように動作するパリティメモリデバイスとして機能することになる。ＲＡＩＤパリティデータは、ＲＡＩＤデータ再構成論理１２０ａ，１２０ｂに関連して以下に記述されるように、パリティメモリデバイス以外のメモリデバイスから要求されたデータを再構成するために使用され得る。一例では、ＲＡＩＤパリティデータ生成論理１１８ａ，１１８ｂは、少なくとも１つのパリティメモリデバイスに記憶するためのパリティデータを生成するように動作する論理（すなわち、何れかのプロセッサによる実行が可能なハードウェア及び／又は内蔵ソフトウェア）を含む。
【００３３】
ＲＡＩＤデータ再構成論理１２０ａ，１２０ｂは、ＲＡＩＤパリティデータに基づいて、不具合のあるメモリデバイスから受け取らなかった要求データを再構成するように動作する論理（すなわち、任意のプロセッサによる実行が可能なハードウェア及び／又は内蔵ソフトウェア）を含む。例えば、ある状況において、１つのメモリデバイス（例えば、メモリデバイス１０８ａ）が不具合（例えば、機械故障による）を生じ得る。さらに、共有メモリシステム１００が、データストライピングを利用するＲＡＩＤレベルで動作していると仮定すると、完全な形のデータのサブコンポーネント（例えば、完全な形のデータのビットまたはバイト）が、不具合のあるメモリデバイスに記憶されている可能性がある。このため、１つのプロセッサが、完全な形のデータをフェッチすることを試みた場合には、不具合のあるメモリデバイスに記憶された完全な形のデータのサブコンポーネントが戻らない可能性がある。それでもなお、ＲＡＩＤデータ再構成論理１２０ａ，１２０ｂは、戻ったデータのサブコンポーネント（すなわち、機能しているメモリデバイスからのデータのサブコンポーネント）及び当技術分野で周知のＲＡＩＤデータ再構成技術を使用したＲＡＩＤパリティデータに基づいて、完全な形のデータを再構成し得る。
【００３４】
書き込み確認論理１２４ａ，１２４ｂは、対象のメモリデバイス内において、特定の書き込み／記憶操作が無事に完了したか否かを判定するように動作する論理（すなわち、任意のプロセッサによる実行が可能なハードウェア及び／又は内蔵ソフトウェア）を含む。一例では、書き込み確認論理１２４ａ，１２４ｂは、書き込み／記憶操作が無事に完了したことを示す、対象メモリデバイスからの承認信号を受信することにより、所与の書き込み／記憶操作が無事に完了したか否かを判定するように動作する。本例では、書き込み確認論理１２４ａ，１２４ｂが係る承認信号を一定期間（すなわち、「タイムアウト」期間）受信しない場合には、書き込み確認論理は、共有メモリシステムの管理者（例えば、共有メモリシステム１００を含むコンピュータデバイスを操作するユーザ）に対して、対象のメモリデバイスに不具合があることを通知し得る。例えば、書き込み確認論理１２４ａ，１２４ｂは、表示デバイス（例えば、共有メモリシステム１００を含むコンピューティングデバイスに動作可能に接続されたコンピュータモニタ）上に表示される誤りメッセージであって、対象のメモリデバイスに不具合があり、交換される必要があることを示す誤りメッセージを生成し得る。さらに、一例では、書き込み確認論理１２４ａ，１２４ｂは、タイムアウト時に、誤り処理ルーチンを起動することができ、それにより以下の動作を行い得る：（１）書き込み／記憶操作がリトライされる（２）当技術分野で周知の技術を使用して、書き込み確認論理１２４ａ，１２４ｂは、ハードウェアの故障を処理するように構成された誤り処理ソフトウェアに対して、割り込み信号を出す。
【００３５】
ここで図２を参照すると、メモリデバイス１０８ａ，１０８ｂの詳細な一例を概して記載するブロック図が示されている。各メモリデバイス１０８ａ，１０８ｂは、複数のプロセッサインターフェース（例えば、プロセッサインターフェース１１４ａ，１１４ｂ，１１６ａ，１１６ｂ）を含み、各プロセッサインターフェースは、単一のプロセッサ専用である。プロセッサインターフェースは、バス等の適切な通信経路を通って調整論理２００ａ，２００ｂ等の調整論理に動作可能に接続されている。各調整論理２００ａ，２００ｂは、バス等の適切な通信経路を通ってメモリバンク２０２ａ〜２０２ｄ，２０４ａ〜２０４ｄ等の１つ以上のメモリバンクに動作可能に接続されている。各メモリバンク（例えば、メモリバンク２０２ａ）は、例えば、データが記憶され得る所与のメモリデバイス（例えば、メモリデバイス１０８ａ）内に指定可能なメモリの領域を含む。
【００３６】
調整論理（例えば、調整論理２００ａ，２００ｂ）は、メモリバンクへの排他的アクセスをどのプロセッサに最初に提供するのかを決定するように動作する論理（すなわち、ハードウェア及び／又は内蔵ソフトウェア）を含む。例えば、プロセッサ１  １０６ａは、メモリデバイス１０８ａを参照して、プロセッサインターフェース１  １１４ａを通じて、バンク１  ２０２ａのメモリ要求を生成し得る。また、実質的に同じ時間に、プロセッサＮ１０６ｂは、プロセッサインターフェースＮ  １１４ｂを通じて、バンク１  ２０２ａのメモリ要求を生成し得る。この場合、調整論理２００ａは、どのプロセッサ（すなわち、プロセッサ１  １０６ａ又はプロセッサＮ  １０６ｂ）に対して、メモリバンク１  ２０２ａへの排他的アクセスを最初に提供するのかを決定するように構成されている。調整論理２００ａは、この決定をするために当技術分野で周知の任意の適切な調整技術を使用してもよい。例えば、調整論理２００ａは、メモリバンク１  ２０２ａへの排他的アクセスをプロセッサＮ  １０６ｂに提供する前に、メモリバンク１  ２０２ａへの排他的アクセスをプロセッサ１  １０６ａが最初に獲得することを決定してもよい。
【００３７】
図３は、本開示による、複数のプロセッサ（例えば、プロセッサ１０６ａ，１０６ｂ）間でメモリ（例えば、メモリモジュール３０２ａ，３０２ｂ）を共有するための共有メモリシステム３００の一例を説明する図である。図３の共有メモリシステム３００は、図１の共有メモリシステム１００と同様である。しかしながら、共有メモリシステム３００は、複数のメモリデバイス（例えば、メモリデバイス１０８ａ，１０８ｂ）ではなく、複数のメモリモジュール（例えば、メモリモジュール１  ３０２ａ及びメモリモジュールＮ  ３０２ｂ）を含む。つまり、共有メモリシステム１００が複数のメモリデバイス（例えば、メモリチップ）を含む一方で、共有メモリシステム３００は、複数のメモリモジュールを含み、各メモリモジュールは、１つ以上のメモリデバイスを含む。さらに、２つのメモリモジュールのみが示されているが、システム３００は、要求に応じて多くのメモリモジュール及びプロセッサを含んでもよいと認識されるものとする。
【００３８】
メモリモジュールは、本明細書に記載の実施形態に関連して用いられるように、単一のプロセッサによって並列にアクセスされることの可能な、１つ以上のメモリデバイス（例えば、ＤＲＡＭデバイス、ＳＲＡＭデバイス、ＰＶＲＭデバイス、フラッシュデバイス等）を含む。以下でさらに詳細に説明されるように、所与のメモリモジュールのメモリデバイスは、例えばプリント基板上に水平又は垂直なスタック構成で配列されてもよい。また、各メモリモジュールは、プロセッサインターフェース３０４ａ，３０４ｂ，３０６ａ，３０６ｂ等の複数の専用のプロセッサインターフェースを含む。したがって、共有メモリシステム３００内の各プロセッサ（例えば、プロセッサ１０６ａ，１０６ｂ）は、専用のプロセッサインターフェース（例えば、プロセッサインターフェース３０４ａ，３０４ｂ，３０６ａ，３０６ｂ）を経由して、任意のメモリモジュールにアクセスし得る。このように、所与のプロセッサに不具合が生じた場合でも、機能している他のプロセッサが、各メモリモジュールにアクセスし得る。一例では、プロセッサ１０６ａ，１０６ｂ及びメモリモジュール３０２ａ，３０２ｂは、マルチチップモジュール（ＭＣＭ）等の同一のアセンブリ１０４上に配置されてもよい。一例では、アセンブリ１０４は、それ自体がソケットパッケージ１０２上に配置されてもよい。さらに、共有メモリシステム１００に関する上述のＲＡＩＤ技術の各々は、共有メモリシステム３００を使用して同様に実行されてもよい。
【００３９】
図４を参照すると、メモリモジュール３０２ａ，３０２ｂの一実施形態を概して記載したブロック図が示されている。各メモリモジュール３０２ａ，３０２ｂは、複数のプロセッサインターフェース（例えば、プロセッサインターフェース３０４ａ，３０４ｂ，３０６ａ，３０６ｂ）を含み、各プロセッサインターフェースは、単一のプロセッサ専用である。プロセッサインターフェースは、バス等の適切な通信経路を通って調整論理４００ａ，４００ｂ等の調整論理に接続されている。各調整論理４００ａ，４００ｂは、バス等の適切な通信経路を通ってＰＶＲＭメモリデバイス４０２ａ〜４０２ｄ，４０４ａ〜４０４ｄ等の１つ以上のメモリデバイスに動作可能に接続されている。各メモリデバイス（例えば、ＰＶＲＭデバイス４０２ａ）は、例えば、メモリが記憶され得る指定可能なメモリの領域を有する複数のメモリバンク（図示せず）を含む。
【００４０】
メモリモジュール１  ３０２ａは、メモリデバイス（例えば、ＰＶＲＭデバイス１〜４  ４０２ａ〜４０２ｄ）がメモリモジュール１  ３０２ａ上に水平に配置された一つの例示的なアーキテクチャを示している。一方、メモリモジュールＮ  ３０２ｂは、メモリデバイス（例えば、ＰＶＲＭデバイス１〜４  ４０４ａ〜４０４ｄ）がメモリモジュールＮ  ３０２ｂ上にスタック構成で配置された他の例示的なアーキテクチャを示している。共有メモリシステム３００内の任意のメモリモジュールは、水平又はスタック構成で配置されたメモリデバイスを含み得ることが理解されるものとする。
【００４１】
調整論理４００ａ，４００ｂは、上述した調整論理２００ａ，２００ｂと同様である。具体的には、調整論理４００ａ，４００ｂは、所与の時間に、所与のメモリモジュールのメモリデバイスへの排他的アクセスをどのプロセッサに提供するのかを決定するように動作する論理（すなわち、ハードウェア及び／又は内蔵ソフトウェア）を含む。上述したように、調整論理４００ａ，４００ｂは、当技術分野で周知の調整技術を用いて、このような決定を行うように動作する。
【００４２】
図５は、本開示による、複数のプロセッサ（例えば、プロセッサ１０６ａ，１０６ｂ）間でメモリ（例えば、ＤＩＭＭ５０２ａ，５０２ｂのメモリモジュール）を共有するための共有メモリシステム５００の他の例を説明する図である。図５の共有メモリシステム５００は、図３の共有メモリシステム３００と同様であるが、共有メモリシステム５００では、メモリモジュール５０２ａ，５０２ｂは、プロセッサ１０６ａ，１０６ｂのアセンブリの外部に配置されている。図５に示された例では、各メモリモジュール５０２ａ，５０２ｂは、デュアルインラインメモリモジュール（ＤＩＭＭ）である。ＤＩＭＭは、本明細書に記載の実施形態に関連して用いられるように、プリント基板等の共有の表面上に設けられた一群のメモリデバイスを指している。各プロセッサは、バス等の適切な通信経路を通って、専用のプロセッサインターフェース（例えば、プロセッサインターフェース５０４ａ，５０４ｂ，５０６ａ，５０６ｂ）を経由して、各ＤＩＭＭに動作可能に接続されている。
【００４３】
調整論理５０８ａ，５０８ｂは、上述した調整論理４００ａ，４００ｂと実質的に同一であり、実質的に同様に動作する。例えば、調整論理５０８ａは、所与の時間に、メモリデバイス（例えば、ＰＶＲＭデバイス１〜４  ５１０ａ〜５１０ｄ）への排他的アクセスをどのプロセッサに提供するのかを決定する。各メモリデバイス（例えば、ＰＶＲＭデバイス５１２ａ）は、上述したメモリデバイスと同様に、例えば、データが記憶され得る指定可能なメモリ領域を有する複数のメモリバンク（図示せず）を含む。
【００４４】
図６は、例えば共有メモリシステム１００等の共有メモリシステムの製造方法の一例を示すフローチャートである。ステップ６００では、少なくとも２つのプロセッサをアセンブリ上に配置する。ステップ６０２では、少なくとも２つのメモリデバイスを、アセンブリ上に配置する。ステップ６０４では、各メモリデバイスを、複数のプロセッサインターフェースのうち１つのプロセッサインターフェースを経由して、各プロセッサに動作可能に接続する。各プロセッサインターフェースは、少なくとも２つのプロセッサのうち単一のプロセッサ専用である。一例では、本方法は、アセンブリをソケットパッケージ上に配置するステップ６０６を任意に含み得る。
【００４５】
図７は、例えば共有メモリシステム３００等の共有メモリシステムの製造方法の他の例を示すフローチャートである。ステップ７００では、少なくとも２つのプロセッサをアセンブリ上に配置する。ステップ７０２では、少なくとも２つのメモリモジュールをアセンブリ上に配置する。ステップ７０４では、各メモリモジュールを、複数のプロセッサインターフェースのうち１つのプロセッサインターフェースを経由して、各プロセッサに動作可能に接続する。各プロセッサインターフェースは、少なくとも２つのプロセッサのうち単一のプロセッサ専用である。一例では、本方法は、アセンブリをソケットパッケージ上に配置するステップ７０６を任意に含み得る。
【００４６】
図８は、少なくとも２つのプロセッサ間でメモリを共有するための方法の一例を示すフローチャートである。図８の方法は、例えば、上述した共有メモリシステム３００によって実施され得る。ステップ８００では、メモリモジュールが、第１のプロセッサ専用のインターフェースを経由して、第１のプロセッサから第１のメモリ要求を受け取るステップを含む。ステップ８０２では、第２のプロセッサ専用のインターフェースを経由して、第２のプロセッサから第２のメモリ要求を受け取るステップを含む。ステップ８０４では、第１及び第２のメモリ要求のうちどのメモリ要求に最初に応じるのかを決定するステップを含む。例えば、所与のメモリモジュールの調整論理は、第２のプロセッサからの第２のメモリ要求に応じる（すなわち、促進する）前に、第１のプロセッサからの第１のメモリ要求に応じる（すなわち、促進する）ことを決定し得る。
【００４７】
一例では、各ＰＶＲＭメモリセル（例えば、１ビット）は、任意の好適な設計のメモリスタであってもよい。メモリスタは、２つの金属接点（例えば、白金ワイヤ）間にメモリ領域（例えば、ＴｉＯ２層）を含むことから、メモリスタは、各メモリセルの抵抗を非破壊的に読み取る交流電流を有するクロスポイントアレイ型（すなわち、クロスワイヤペア）でアクセスされ得る。クロスバーは、１つの平行なワイヤの組（第１の組）における各ワイヤを、当該第１の組と交差する第２の平行なワイヤの組におけるあらゆる部材に接続することの可能なメモリ領域のアレイである（通常、２つのワイヤの組が互いに垂直であるが、これは必要条件ではない）。本明細書で開示されるメモリスタは、広範な材料蒸着及び加工技法を使用して製造されてもよい。一例としては、「ＥＬＥＣＴＲＩＣＡＬＬＹ  ＡＣＴＵＡＴＥＤ  ＳＷＩＴＣＨ」という名称の米国特許出願公開第２００８／００９０３３７号に開示されている。
【００４８】
この例では、最初に、下部電極が、フォトリソグラフィ若しくは電子ビームリソグラフィ等の従来の技法を使用して、又はインプリントリソグラフィ等のより進歩した技法によって製造される。この下部電極は、例えば、クロスワイヤペアの底面ワイヤであってもよい。下部電極の材料は、金属又は半導体材料の何れかであってもよく、好ましくは白金であってもよい。
【００４９】
この例では、次に製造されるメモリスタの構成要素は、非共有結合界面層である。非共有結合界面層は、より高い印加電圧でスイッチングをより遅くして、より大きな機械的強度が必要とされる場合には省かれてもよい。この場合には、いくつかの不活性材料層が蒸着される。これは、ラングミュア−ブロジェット（ＬＢ）プロセスによって形成される分子単層であってもよく、又は自己組織化単分子膜（ＳＡＭ）であってもよい。一般に、この界面層は、弱いファンデルワールス結合のみを下部電極及びメモリ領域の一次層に形成することができる。又は、この界面層は、冷却された基板上に蒸着された薄い氷の層であってもよい。氷を形成する材料は、アルゴン等の不活性ガスであってもよく、又はＣＯ２等の種であってもよい。この場合、氷は、下部電極と一次層との間の強い化学結合を防ぐ犠牲層であり、氷を昇華させるように処理シーケンスで基板を遅れて加熱することによって、システムから失われる。下部電極と一次層との間で弱く結合された界面を形成する他の方法については、当業者が容易に想起することができる。
【００５０】
次に、一次層の材料が蒸着される。これは、クヌーセンセルからの蒸発、るつぼからの電子ビーム蒸発、対象からのスパッタリング、又は反応性前駆体からの化学蒸気若しくはビーム成長の様々な形態を含む、多種多様な従来の物理的且つ化学的技法によって行われる。薄膜は、厚さ１〜３０ナノメートル（ｎｍ）の範囲であってもよく、ドーパントを含まないように成長してもよい。薄膜は、一次層の厚さにもよるが、イオン注入によるドーピング又は一次層からのイオン放出による脱ドーピングを達成するように、イオンが材料に流れ込むことのできる速度を増加させるために、ナノ結晶質、ナノ多孔性又は非晶質であってもよい。蒸着速度及び基板温度等の適切な成長条件は、この初期の絶縁又は低伝導一次層に要求される化学組成及び局所原子構造を達成するように選択されてもよい。
【００５１】
次の層は、一次層に対する、ドーパント源層又は二次層であって、上述した技法の何れか蒸着されてもよい。この材料は、一次層に適切なドーパント種を提供するように選択される。二次層は、一次層と化学的に適合するように、例えば２つの材料が互いに化学的且つ不可逆的に反応して第３の材料を形成しないように、選択される。一次及び二次層として使用することができる１対の材料の一例は、それぞれＴｉＯ２及びＴｉＯ２−ｘである。ＴｉＯ２は、約３．２ｅＶバンドギャップを有する半導体である。これも弱いイオン導電体である。ＴｉＯ２の薄い膜は、トンネル障壁を生成し、ＴｉＯ２−ｘは、ＴｉＯ２をドープし、且つ、それを伝導性にさせるように、理想的な酸素空孔の源を形成する。
【００５２】
最後に、上部電極は、下部電極が生成されたのと同様の方法で二次層の上に製造される。これは、例えば、クロスワイヤペアのトップワイヤであってもよい。下部電極の材料は、金属又は半導体材料の何れかであってもよく、好ましくは白金であってもよい。メモリセルがクロスポイントアレイ型である場合には、エッチングプロセスは、メモリセルを絶縁するために、トップワイヤの下にない蒸着されたメモリ領域材料を除去する必要があってもよい。しかしながら、任意の他の好適な材料蒸着及び加工技法は、パッシブ可変抵抗メモリのメモリスタを製造するために使用されてもよいことが理解される。
【００５３】
他の利点とともに、開示されたシステム及び方法は、ハードディスクを使用せずにＲＡＩＤを実装することが可能な共有メモリシステムを提供する。非ハードディスク型の記憶装置（例えば、ＰＶＲＭ）を使用することは、メモリアクセス時間を低減し、メモリシステムのサイズを最小化し、一実施形態では、持続性の（すなわち、不揮発性の）記憶装置を提供する。さらに、開示されたシステム及び方法は、複数のプロセッサごとに専用のプロセッサインターフェースを有するメモリデバイス及びメモリモジュールを提供する。このように、個々のプロセッサに不具合が生じた場合には、動作している他のプロセッサが、所与のメモリデバイス／メモリモジュールに記憶されたデータにアクセスし得る。他の利点は当業者によって認識されるであろう。
【００５４】
また、例えばＣＤ−ＲＯＭ、ＲＡＭ、他の方式のＲＯＭ、ハードドライブ、分散型メモリ等ではあるが、これらに限定されないコンピュータ可読メモリ上に記憶された実行可能な命令に基づいて、集積回路を作成する集積回路設計システム（例えば、ワークステーション）が明らかとなる。この命令は、例えばハードウェア記述言語又は任意の他の適切な言語等ではあるが、これらに限定されない任意の適切な言語によって表され得る。この場合、本明細書に記載のシステムは、かかるシステムにより、集積回路としても製造され得る。例えば、コンピュータ可読メディア上に記憶された命令であって、実行されると、集積回路設計システムに、メモリモジュールが、第１のプロセッサ専用のプロセッサインターフェースを経由して、第１のプロセッサから第１のメモリ要求を受け取り、メモリモジュールが、第２のプロセッサ専用のプロセッサインターフェースを経由して、第２のプロセッサから第２のメモリ要求を受け取り、第１及び第２のメモリ要求のうちどのメモリ要求に最初に応じるかを決定するように動作する集積回路を作成させる命令を使用して、集積回路が作成され得る。また、本明細書に記載の他の操作を行う論理を有する集積回路も、適切に製造され得る。
【００５５】
本明細書に記載された上記の詳細な説明及び例は、単に例示及び説明するためのものであり、限定するためのものではない。したがって、本開示は、上記に開示された基礎となる原理の趣旨及び範囲に包含される、ありとあらゆる修正、変更又は均等物に及ぶことが意図される。
【図１】
2014516190.tif 000003
【図２】
2014516190.tif 000004
【図３】
2014516190.tif 000005
【図４】
2014516190.tif 000006
【図５】
2014516190.tif 000007
【図６】
2014516190.tif 000008
【図７】
2014516190.tif 000009
【図８】
2014516190.tif 000010
【国際調査報告】
2014516190.tif 000011
2014516190.tif 000012
2014516190.tif 000013