(58)【調査した分野】(Int.Cl.,DB名)
前記第1の不揮発性メモリおよび前記第2の不揮発性メモリが、単一のレジスタファイルの中の共通の場所に各々対応し、前記第1の不揮発性メモリが第1の命令のストリームに対応する第1の状態情報を記憶し、前記第2の不揮発性メモリが第2の命令のストリームに対応する第2の状態情報を記憶する、請求項1に記載の記憶デバイス。
セットトップボックス、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、コンピュータ、もしくはこれらの組み合わせを含むデバイスをさらに含み、前記デバイスに前記複数のメモリセルが組み込まれる、請求項1に記載の記憶デバイス。
アドレス信号を受け取るように構成され、かつ、セレクタ信号に応答して、前記第1のマルチポート不揮発性メモリおよび前記第2のマルチポート不揮発性メモリの少なくとも1つへのアクセスを提供する、デコーダをさらに含む、請求項10に記載のシステム。
複数の命令のストリームから第1の命令のストリームを選択し、前記選択された第1の命令のストリームを示すものを前記プロセッサに与えるための、スケジューラをさらに含む、請求項11に記載のシステム。
前記スケジューラが、前記複数の命令のストリームの少なくとも2つの命令のストリームが、実質的に同時に処理されるようにスケジューリングするように構成される、請求項12に記載のシステム。
セットトップボックス、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、コンピュータ、もしくはこれらの組み合わせを含むデバイスに前記プロセッサと複数のメモリセルとが組み込まれる、請求項10に記載のシステム。
前記第1の不揮発性メモリに記憶されるデータ値に対応する第1の出力信号を生成するステップをさらに含み、前記第1の出力信号が、読取り/書込み制御信号に応答する、請求項16に記載の方法。
第1のマルチポート不揮発性メモリおよび第2のマルチポート不揮発性メモリを含む単一のメモリセルにおいて、第1のデータを受け取り、第2のデータを受け取るための手段と、 前記第1のマルチポート不揮発性メモリの第1の抵抗性記憶素子に、前記第1のデータを記憶するための手段と、
前記第2のマルチポート不揮発性メモリの第2の抵抗性記憶素子に、前記第2のデータを記憶するための手段と
を含み、
前記第1のマルチポート不揮発性メモリが第1のスレッドと関連付けられ、前記第2のマルチポート不揮発性メモリが第2のスレッドと関連付けられ、
前記メモリセルの少なくとも1つは、前記メモリセルの外部の、読取り/書込みスレッド選択入力を受け取るように構成されたデコーダに結合され、
前記メモリセルはさらに、第1のビット線および第1のセンス線と、ポートデータセレクタとを含み、前記ポートデータセレクタは、複数のポートの各々に接続され、読取り/書込み制御信号を受信するように構成され、ビット線マルチプレクサとセンス線マルチプレクサを含み、
読取り動作を示す前記読取り/書込み制御信号に基づいて、前記ビット線マルチプレクサは前記第1のビット線に第1の電圧を出力するように構成され、前記センス線マルチプレクサは前記第1のセンス線に第2の電圧を出力するように構成される、
装置。
前記第1のデータと前記第2のデータを受け取るための前記手段と、前記第1のデータを記憶するための前記手段と、前記第2のデータを記憶するための前記手段とが、少なくとも1つの半導体ダイに組み込まれる、請求項21に記載の装置。
セットトップボックス、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、コンピュータ、もしくはこれらの組み合わせを含むデバイスをさらに含み、前記デバイスに前記第1のデータと前記第2のデータを受け取るための前記手段と、前記第1のデータを記憶するための前記手段と、前記第2のデータを記憶するための前記手段とが組み込まれる、請求項21に記載の装置。
第1のマルチポート不揮発性メモリおよび第2のマルチポート不揮発性メモリを含む単一のメモリセルにおいて、第1のデータを受け取り、第2のデータを受け取るための第1のステップと、
前記第1のマルチポート不揮発性メモリの第1の抵抗性記憶素子に、前記第1のデータを記憶するための第2のステップと、
前記第2のマルチポート不揮発性メモリの第2の抵抗性記憶素子に、前記第2のデータを記憶するための第3のステップと
を含み、
前記第1のマルチポート不揮発性メモリが第1のスレッドと関連付けられ、前記第2のマルチポート不揮発性メモリが第2のスレッドと関連付けられ、
前記メモリセルの少なくとも1つは、前記メモリセルの外部の、読取り/書込みスレッド選択入力を受け取るように構成されたデコーダに結合され、
前記メモリセルはさらに、第1のビット線および第1のセンス線と、ポートデータセレクタとを含み、前記ポートデータセレクタは、複数のポートの各々に接続され、読取り/書込み制御信号を受信するように構成され、ビット線マルチプレクサとセンス線マルチプレクサを含み、
読取り動作を示す前記読取り/書込み制御信号に基づいて、前記ビット線マルチプレクサは前記第1のビット線に第1の電圧を出力するように構成され、前記センス線マルチプレクサは前記第1のセンス線に第2の電圧を出力するように構成される、
方法。
前記命令が、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、コンピュータ、もしくはこれらの組み合わせを含むデバイスに組み込まれるプロセッサにより実行可能な、請求項26に記載のコンピュータ可読媒体。
半導体デバイスの少なくとも1つの物理的な特性を表す設計情報を受け取るステップであって、前記半導体デバイスが複数のメモリセルを含み、前記メモリセルの少なくとも1つが、
第1の抵抗性記憶素子を含む第1のマルチポート不揮発性メモリと、
第2の抵抗性記憶素子を含む第2のマルチポート不揮発性メモリと、
第1のビット線および第1のセンス線と、
ポートデータセレクタと、
を含む、ステップと、
前記設計情報を変換してファイルフォーマットに適合させるステップと、
前記変換された設計情報を含むデータファイルを生成するステップと
を含み、
前記第1のマルチポート不揮発性メモリが第1のスレッドと関連付けられ、前記第2のマルチポート不揮発性メモリが第2のスレッドと関連付けられ、
前記ポートデータセレクタは、前記複数のポートの各々に接続され、読取り/書込み制御信号を受信するように構成され、ビット線マルチプレクサとセンス線マルチプレクサを含み、
前記メモリセルの少なくとも1つは、前記メモリセルの外部の、読取り/書込みスレッド選択入力を受け取るように構成されたデコーダに結合され、
読取り動作を示す前記読取り/書込み制御信号に基づいて、前記ビット線マルチプレクサは前記第1のビット線に第1の電圧を出力するように構成され、前記センス線マルチプレクサは前記第1のセンス線に第2の電圧を出力するように構成される、
方法。
パッケージングされた半導体デバイスの回路基板上での物理的な位置情報を含む設計情報を受け取るステップであって、半導体構造を含む前記パッケージングされた半導体デバイスが、
第1の抵抗性記憶素子を含む第1のマルチポート不揮発性メモリと、
第2の抵抗性記憶素子を含む第2のマルチポート不揮発性メモリと、
第1のビット線および第1のセンス線と、
ポートデータセレクタと、
を含む、ステップと、
前記設計情報を変換して、データファイルを生成するステップと
を含み、
前記第1のマルチポート不揮発性メモリが第1のスレッドと関連付けられ、前記第2のマルチポート不揮発性メモリが第2のスレッドと関連付けられ、
前記ポートデータセレクタは、複数のポートの各々に接続され、読取り/書込み制御信号を受信するように構成され、ビット線マルチプレクサとセンス線マルチプレクサを含み、
前記半導体デバイスは、前記半導体デバイスの外部の、読取り/書込みスレッド選択入力を受け取るように構成されたデコーダに結合され、
読取り動作を示す前記読取り/書込み制御信号に基づいて、前記ビット線マルチプレクサは前記第1のビット線に第1の電圧を出力するように構成され、前記センス線マルチプレクサは前記第1のセンス線に第2の電圧を出力するように構成される、
方法。
前記回路基板を、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、コンピュータ、もしくはこれらの組み合わせを含むデバイスに組み込むステップをさらに含む、請求項34に記載の方法。
複数のビット線と複数のセンス線とが前記第1の不揮発性メモリを前記第2の不揮発性メモリに結合し、前記複数のビット線と前記複数のセンス線とのうちの少なくとも1つが前記第1の不揮発性メモリ及び前記第2の不揮発性メモリの読取り及び書込み動作の両方において使用可能である、請求項37に記載の記憶デバイス。
複数のビット線と複数のセンス線とが前記第1のマルチポート不揮発性メモリを前記第2のマルチポート不揮発性メモリに結合し、前記複数のビット線と前記複数のセンス線とのうちの少なくとも1つが前記第1のマルチポート不揮発性メモリ及び前記第2のマルチポート不揮発性メモリの読取り及び書込み動作の両方において使用可能である、請求項10に記載のシステム。
複数のビット線と複数のセンス線とが前記第1のマルチポート不揮発性メモリを前記第2のマルチポート不揮発性メモリに結合し、前記複数のビット線と前記複数のセンス線とのうちの少なくとも1つが前記第1のマルチポート不揮発性メモリ及び前記第2のマルチポート不揮発性メモリの読取り及び書込み動作の両方において使用可能である、請求項28に記載の方法。
【発明を実施するための形態】
【0011】
図1は、複数の不揮発性メモリを含むセルを有するシステムの、第1の実施形態の図であり、全体的に100と表される。システム100は、メモリセル106を含む複数のメモリセル104に結合される、ポートデータセレクタ130を含む、記憶デバイス101を含む。メモリセル106は、第1の抵抗性記憶素子110を含む第1の不揮発性メモリ108、第2の抵抗性記憶素子114を含む第2の不揮発性メモリ112、および第Nの抵抗性記憶素子118を含む第Nの不揮発性メモリ116を含む。
【0012】
ある特定の実施形態では、メモリセル106は、書込み動作に応答し、ポートデータセレクタ130から受け取られる第1のデータ139および第2のデータ140に応答する。書込み動作の一部として、メモリセル106は、第1の不揮発性メモリ108に第1のデータ139を記憶し、第2の不揮発性メモリ112に第2のデータ140を記憶するように構成され得る。たとえば、第1の不揮発性メモリ108は、第1の抵抗性記憶素子110の第1の抵抗値を設定することによって、論理値「0」または論理値「1」に対応するように第1のデータ139を記憶することができ、第2の不揮発性メモリ112は、第2の抵抗性記憶素子114の第2の抵抗値を設定することによって、第2のデータ140を記憶することができる。
【0013】
ある特定の実施形態では、メモリセル106は、読取り動作に応答して、出力データ122を生成する。出力データ122は、メモリセル106の特定の抵抗性素子110、114、118に対応してもよい。たとえば、出力データ122は、第1の抵抗性記憶素子110の第1の抵抗値に基づいてもよい。別の例として、出力データ122は、第2の抵抗性記憶素子114の第2の抵抗値に基づいてもよい。
【0014】
ある特定の実施形態では、ポートデータセレクタ130は、第1の命令のストリーム124に応答して、第1のデータ139を生成する。ポートデータセレクタ130は、第1のデータ139をメモリセル106に提供するように構成され得る。ポートデータセレクタ130はまた、第2の命令のストリーム126に応答して、第2のデータ140を生成し、ポートデータセレクタ130は、第2のデータ140をメモリセル106に提供するように構成され得る。
【0015】
ある特定の実施形態では、記憶デバイス101はSMTを実施するように構成される。たとえば、各々の不揮発性メモリ108、112、116は、特定の命令のストリームに対応するように構成され得る。たとえば、第1の不揮発性メモリ108は、第1の命令のストリーム124と関連付けられるように構成されてよく、第2の不揮発性メモリ112は、第2の命令のストリーム126と関連付けられるように構成されてよい。各々の命令のストリーム124、126は、プロセッサ(図示せず)により処理されている複数のスレッドのうちの、1つまたは複数のスレッドに対応し得る。たとえば、第1の命令のストリーム124は、プロセッサにより処理されている第1のスレッドと関連付けられる命令であってよく、第2の命令のストリーム126は、プロセッサにより処理されている第2のスレッドと関連付けられる命令であってよい。
【0016】
ある特定の実施形態では、記憶デバイス101は、スピントルク注入(STT)を用いてデータを書き込むように構成される、磁気抵抗ランダムアクセスメモリ(MRAM)である。記憶デバイス101は単一のレジスタファイルであってよく、第1の不揮発性メモリ108および第2の不揮発性メモリ112は、共通のレジスタに各々対応し得る。たとえば、第1の不揮発性メモリ108は、第1の命令のストリーム124に対応する第1の状態情報を記憶するように構成されてよく、第2の不揮発性メモリ112は、第2の命令のストリーム126に対応する第2の状態情報を記憶するように構成されてよい。
【0017】
動作中、メモリセル106は、読取り動作および書込み動作に応答する。たとえば、メモリセル106は、第1の不揮発性メモリ108に記憶されるべき第1のデータ139を、ポートデータセレクタ130から受け取ることができる。第1のデータ139を受け取ったことに応答して、第1の不揮発性メモリ108は、第1の抵抗性記憶素子110の第1の抵抗値を設定することによって、第1のデータ139を記憶することができる。第1の不揮発性メモリ108の読取り動作の間、メモリセル106は、第1の抵抗性記憶素子110の第1の抵抗値に基づいて、出力データ122を生成することができる。ある特定の実施形態では、第1のデータ139は、第1の命令のストリーム124と、第1の抵抗性記憶素子110に基づいて生成される出力データ122とに、相当する。
【0018】
ある特定の実施形態では、メモリセル106は、第2の不揮発性メモリ112に記憶されるべき第2のデータ140を、ポートデータセレクタ130から受け取る。第2のデータ140を受け取ったことに応答して、第2の不揮発性メモリ112は、第2の抵抗性記憶素子114の第2の抵抗値として、第2のデータ140を記憶することができる。第2の不揮発性メモリ112の読取り動作の間、メモリセル106は、第2の抵抗性記憶素子114の第2の抵抗値に基づいて、出力データ122を生成することができる。ある特定の実施形態では、第2のデータ140は、第2の命令のストリーム126に相当する。たとえば、第2の抵抗性記憶素子114に基づいて生成された出力データ122は、第2の命令のストリーム126に相当し得る。
【0019】
ある特定の実施形態では、記憶デバイス101は、プロセッサのためのRAMとして利用される。記憶デバイス101の不揮発性メモリ108、112、116に状態情報(たとえば、第1のデータ139および第2のデータ140)を記憶することで、プロセッサが、インスタントオンのアーキテクチャを実装できるようになる。インスタントオンのアーキテクチャでは、プロセッサは、RAMに状態情報をロードする必要なく、RAMの中の状態情報に直ちにアクセスできる。不揮発性のメモリにより、記憶された状態情報を失うことなく、記憶デバイス101の電源を切れるようになる。インスタントオンのアーキテクチャで記憶デバイス101の電源を入れることで、プロセッサは、不揮発性メモリとして機能する外部デバイスから状態情報をロードする必要なく、記憶された状態情報にアクセスできるので、プロセッサおよび記憶デバイス101を利用するシステムの起動時間が短くなる。
【0020】
図2を参照すると、各々が複数のポートによりアクセス可能な複数の抵抗性素子を含むセルを有するシステムの、第2の実施形態の図が示され、全体的に200と表される。システム200は、デコーダ202に結合されたメモリセル206と、ポートデータセレクタ230とを含む。ある特定の実施形態では、メモリセル206は
図1のメモリセル106であり、ポートデータセレクタ230は
図1のポートデータセレクタ130である。
【0021】
ある特定の実施形態では、デコーダ202は、ワード線を介して制御信号を提供して、メモリセル206からのデータの読取りおよび書込みを可能にするように構成される。デコーダ202は、メモリセル206の特定のポートに宛てられた入力アドレスを受け取るように構成され得る。たとえば、入力アドレスは、メモリセル206の第0のポート213に宛てられた、wp0_アドレス信号240であってよい。別の例として、入力アドレスは、メモリセル206の第1のポート211に宛てられた、wp1_アドレス信号241であってよい。デコーダ202は、入力アドレスに対応する特定のスレッドを示す信号(たとえば、r/w_スレッド信号250)を受け取るように構成され得る。たとえば、r/w_スレッド信号250は、第0のスレッドが、wp1_アドレス信号241に対応することを示し得る。別の例として、r/w_スレッド信号250は、第1のスレッドが、wp0_アドレス信号240に対応することを示し得る。
【0022】
ある特定の実施形態では、デコーダ202は、入力アドレスに対応するポートおよびスレッドに基づいて入力アドレスを処理するように構成される、回路を含む。たとえば、特定のスレッドに対応するr/w_スレッド信号250と、第0のポート213に対応するwp0_アドレス信号240とは、デコーダ202により受け取られ得る。wp0_アドレス信号240は、P0プリデコーダ258に結合されるP0アドレスフロップ252において受け取られ、r/w_スレッド信号250は、制御フロップ254において受け取られ得る。制御フロップ254の出力が、P1_T1デコーダ266およびP0_T1デコーダ268に結合され得る。制御フロップ254の出力を反転したものが、P1_T0デコーダ262およびP0_T0デコーダ264に結合され得る。制御フロップ254の出力は、入力に対し反対の論理レベルを表す電圧を出力する、インバータ265により反転され得る。たとえば、インバータ265の出力は、制御フロップ254の出力から論理値「0」の入力を受け取ったことに応答して、論理値「1」であり得る。
【0023】
ある特定の実施形態では、P0プリデコーダ258は、P0アドレスフロップ252から入力として2つのハイの信号を受け取ったことに応答して、ハイの信号を出力するように構成される、ANDゲートである。P0プリデコーダ258の出力が、P0_T0デコーダ264およびP0_T1デコーダ268に送信され得る。P0_T0デコーダ264は、インバータ265の出力およびP0プリデコーダ258の出力からハイの信号を受け取ったことに応答して、ワード線(たとえば、WWL_P0_T0 244)上に信号を出力するように構成され得る。P0_T1デコーダ268は、制御フロップ254の出力およびP0プリデコーダ258の出力からハイの信号を受け取ったことに応答して、ワード線(たとえば、WWL_P0_T1 248)上に信号を出力するように構成され得る。
【0024】
別の例として、デコーダ202は、特定のスレッドに対応するr/w_スレッド信号250と、第1のポート211に対応するwp1_アドレス信号241とを、受け取ることができる。wp1_アドレス信号241は、P1プリデコーダ260に結合されるP1アドレスフロップ256において受け取られ、r/w_スレッド信号250は、制御フロップ254において受け取られ得る。ある特定の実施形態では、P1プリデコーダ260は、P1アドレスフロップ256から入力として2つのハイの信号を受け取ったことに応答して、ハイの信号を出力するように構成される、ANDゲートである。P1プリデコーダ260の出力が、P1_T0デコーダ262およびP1_T1デコーダ266に送信され得る。P1_T1デコーダ262は、インバータ265の出力およびP1プリデコーダ260の出力からハイの信号を受け取ったことに応答して、ワード線(たとえば、WWL_P1_T0 242)上に信号を出力するように構成され得る。P1_T1デコーダ266は、制御フロップ254の出力およびP1プリデコーダ260の出力からハイの信号を受け取ったことに応答して、ワード線(たとえば、WWL_P1_T1 246)上に信号を出力するように構成され得る。
【0025】
ある特定の実施形態では、ポートデータセレクタ230は、読取り/書込み制御信号236を受け取るように構成される。w/r制御信号236は、メモリセル206が特定のポートに対して読取り動作を実行すべきか書込み動作を実行すべきかを、示すことができる。たとえば、w/r制御信号236は、読取り動作がメモリセル206の第1のポート211で実行されるべきであると、示すことができる。別の例として、w/r制御信号236は、書込み動作がメモリセル206の第0のポート213で実行されるべきであると、示すことができる。ポートデータセレクタ230は、書込み動作の間に、メモリセル206のポートにデータを書き込むための、入力データを受け取るように構成され得る。ある特定の実施形態では、入力データは、記憶されるべき値も示す。たとえば、入力データは、論理値1を表すデータ値を書き込むために第1のポート211が用いられるということを示す、wData_P1信号238であってよい。別の例として、入力データは、論理値0を表すデータ値を書き込むために第0のポート213が用いられるということを示す、wData_P0信号239であってよい。
【0026】
ある特定の実施形態では、ポートデータセレクタ230は、読取り/書込み制御信号236を処理して、書込み動作の間に、入力データ(たとえば、wData_P1信号238およびwData_P0信号239)を処理するように構成される、回路を含む。ポートデータセレクタ230の回路は、ビット線(BL)マルチプレクサ290、センス線(SL)マルチプレクサ291、BL書込み電圧マルチプレクサ293、およびSL書込み電圧マルチプレクサ294を含み得る。
図2は、説明を簡単にするために、メモリセル206の第1のポート211を処理するための回路を示すが、ポートデータセレクタ230は、メモリセル206の各ポートに対して、対応するBLマルチプレクサ、SLマルチプレクサ、BL書込み電圧マルチプレクサ、およびSL書込み電圧マルチプレクサも含み得る。
【0027】
BLマルチプレクサ290とSLマルチプレクサ291の両方が、読取り/書込み制御信号236を受け取るように構成され得る。読取り/書込み制御信号236は、BLマルチプレクサ290およびSLマルチプレクサ291が、読取り動作に用いられるか書込み動作に用いられるかを、決定することができる。BLマルチプレクサ290の出力は、第1のポート211に対応するビット線(たとえば、BL_P1 270)に接続され、SLマルチプレクサ291の出力は、第1のポート211に対応するセンス線(たとえば、SL_P1 276)に接続される。
【0028】
読取り動作を示す読取り/書込み制御信号236を受け取ったことに応答して、BLマルチプレクサ290は、BL_P1 270に0.2Vの電圧を出力するように構成されてよく、SLマルチプレクサ291は、SL_P1 276に0Vの電圧を出力するように構成されてよい。書込み動作を示す読取り/書込み制御信号236に応答して、BLマルチプレクサ290は、BL書込み電圧マルチプレクサ293に基づいて、BL_P1 270に電圧を出力するように構成され得る。ある特定の実施形態では、BL書込み電圧マルチプレクサ293の出力は、ポートデータセレクタ230の入力データに基づく。たとえば、wData_P1信号238は、1.2Vのデータ値が、第1のポート211を介してメモリセル206に記憶されるべきであることを、示すことができる。BL書込み電圧マルチプレクサ293は、BLマルチプレクサ290に1.2Vを出力するように構成されてよく、SL書込み電圧マルチプレクサ294は、SLマルチプレクサ291に0Vを出力するように構成されてよい。ある特定の実施形態では、BL_P1 270に1.2Vを出力し、SL_P1 276に0Vを出力することで、メモリセル206の抵抗性素子の1つに、1.2Vを表すものが記憶されるようになる。説明のための例として、具体的な数値が本開示で述べられるが、本開示は述べられた特定の値に限定されず、他の値も代わりに用いられ得ることが、理解されよう。
【0029】
あるいは、wData_P1信号238は、0Vのデータ値が、第1のポート211を介してメモリセル206に記憶されるべきであることを、示すことができる。BL書込み電圧マルチプレクサ293は、BLマルチプレクサ290に0Vを出力するように構成されてよく、SL書込み電圧マルチプレクサ294は、SLマルチプレクサ291に1.2Vを出力するように構成されてよい。ある特定の実施形態では、BL_P1 270に0Vを出力し、SL_P1 276に1.2Vを出力することで、メモリセル206の抵抗性素子の1つに、0Vを表すものが記憶されるようになる。
【0030】
ある特定の実施形態では、メモリセル206は、抵抗性素子にデータを記憶するように構成されるSMTセルである。たとえば、メモリセル206は、第1のデータの表現を記憶するように構成された第1の抵抗性素子210と、第2のデータの表現を記憶するように構成された第2の抵抗性素子214とを含み得る。メモリセル206は、第1のデータの表現を第1の抵抗性素子210から読み取れるようにして、第2のデータの表現を第2の抵抗性素子214から読み取れるようにするように構成され得る。
【0031】
ある特定の実施形態では、メモリセル206は、抵抗性素子(たとえば、第1の抵抗性素子210および第2の抵抗性素子214)に記憶されたデータを記憶して読み取るための回路を含む。メモリセル206は、抵抗性素子へのアクセスを制御する、アクセストランジスタを含み得る。アクセストランジスタは、バイポーラトランジスタまたは電界効果トランジスタであってよく、n型またはp型として構成され得る。たとえば、第1の抵抗性素子210は、第1のポート211または第0のポート213によりアクセスされ得る。第1のポート211を通じた第1の抵抗性素子210のアクセスは、BL_P1_T0アクセストランジスタ280およびSL_P1_T0アクセストランジスタ282により制御される。第0のポート213を通じた第1の抵抗性素子210のアクセスは、BL_P0_T0アクセストランジスタ281およびSL_P0_T0アクセストランジスタ283により制御される。第1のポート211を通じた第2の抵抗性素子214のアクセスは、BL_P1_T1アクセストランジスタ284およびSL_P1_T1アクセストランジスタ286により制御される。第0のポート213を通じた第2の抵抗性素子214のアクセスは、BL_P0_T1アクセストランジスタ285およびSL_P0_T1アクセストランジスタ287により制御される。
【0032】
メモリセル206のアクセストランジスタは、デコーダ202からのワード線(たとえば、WWL_P1_T0 242、WWL_P0_T0 244、WWL_P1_T1 246、およびWWL_P0_T1 248)と、ビット線(たとえば、BL_P1 270およびBL_P0 272)と、センス線(たとえば、SL_P0 274およびSL_P1 276)に接続される。たとえば、BL_P1_T0アクセストランジスタ280は、WWL_P1_T0 242およびBL_P1 270から、信号を受け取ることができる。ある特定の実施形態では、BL_P1_T0アクセストランジスタ280は、ソース、ゲート、およびドレインを含む、n型JFETであってよい。BL_P1_T0アクセストランジスタ280は、ゲートにおいてWWL_P1_T0 242からの信号を受け取り、ソースにおいてBL_P1 270からの信号を受け取ることができる。BL_P1_T0アクセストランジスタ280のドレインは、第1の抵抗性素子210に結合され得る。
【0033】
ある特定の実施形態では、SL_P1_T0アクセストランジスタ282のソースは、第1の抵抗性素子210に接続され、ゲートはWWL_P1_T0 242に接続され、ドレインはSL_P1 276に接続される。BL_P0_T0アクセストランジスタ281のソースは、BL_P0ビット線272に接続され、ゲートはWWL_P0_T0 244に接続され、ドレインは第1の抵抗性素子210に接続される。SL_P1_T0アクセストランジスタ283のソースは、第1の抵抗性素子210に接続され、ゲートはWWL_P0_T0 244に接続され、ドレインはSL_P0 274に接続される。
【0034】
ある特定の実施形態では、BL_P1_T1アクセストランジスタ284のソースは、BL_P1 270に接続され、ゲートはWWL_P1_T1 246に接続され、ドレインは第2の抵抗性素子214に接続される。SL_P1_T1アクセストランジスタ286のソースは、第2の抵抗性素子214に接続され、ゲートはWWL_P1_T1 246に接続され、ドレインはSL_P1 276に接続される。BL_P0_T1アクセストランジスタ285のソースは、BL_P0ビット線272に接続され、ゲートはWWL_P0_T1 248に接続され、ドレインは第2の抵抗性素子214に接続される。SL_P1_T1アクセストランジスタ287のソースは、第2の抵抗性素子214に接続され、ゲートはWWL_P0_T1 248に接続され、ドレインはSL_P0 274に接続される。
【0035】
ある特定の実施形態では、アクセストランジスタは、メモリセル206の抵抗性素子へのアクセスを制御する。たとえば、第1のポート211を介した第1の抵抗性素子210へのアクセスは、BL_P1_T0アクセストランジスタ280とSL_P1_T0アクセストランジスタ282の両方をオンにすることにより、可能になる。BL_P1_T0アクセストランジスタ280は、WWL_P1_T0 242を介してデコーダ202から信号を受け取ることによってオンにされるように構成される。SL_P1_T0アクセストランジスタ282は、WWL_P1_T0 242を介して信号を受け取ることによってオンにされるように構成される。BL_P1_T0アクセストランジスタ280およびSL_P1_T0アクセストランジスタ282をオンにすることで、電流が、第1の抵抗性素子210を通って、メモリセル206の第1のポート211を介して流れられるようになり得る。
【0036】
別の例として、第0のポート213を介した第1の抵抗性素子210へのアクセスは、BL_P0_T0アクセストランジスタ281とSL_P0_T0アクセストランジスタ283をオンにすることにより、可能になる。BL_P0_T0アクセストランジスタ281は、WWL_P0_T0 244を介してデコーダ202から信号を受け取ることによってオンにされるように構成される。SL_P0_T0アクセストランジスタ283は、WWL_P0_T0 244を介して信号を受け取ることによってオンにされるように構成される。BL_P0_T0アクセストランジスタ281およびSL_P0_T0アクセストランジスタ283をオンにすることで、電流が、第1の抵抗性素子210を通って、メモリセル206の第0のポート213を介して流れられるようになり得る。
【0037】
ある特定の実施形態では、第1のポート211を介した第2の抵抗性素子214へのアクセスは、BL_P1_T1アクセストランジスタ284とSL_P1_T1アクセストランジスタ286をオンにすることにより、可能になる。BL_P1_T1アクセストランジスタ284は、WWL_P1_T1 246を介してデコーダ202から信号を受け取ることによってオンにされるように構成される。SL_P1_T1アクセストランジスタ286は、WWL_P1_T1 246を介して信号を受け取ることによってオンにされるように構成される。BL_P1_T1アクセストランジスタ284およびSL_P1_T1アクセストランジスタ286をオンにすることで、電流が、第2の抵抗性素子214を通って、メモリセル206の第1のポート211を介して流れられるようになり得る。
【0038】
別の例として、第0のポート213を介した第2の抵抗性素子214へのアクセスは、BL_P0_T1アクセストランジスタ285とSL_P0_T1アクセストランジスタ287をオンにすることにより、可能になる。BL_P0_T1アクセストランジスタ285は、WWL_P0_T1 248を介してデコーダ202から信号を受け取ることによってオンにされるように構成される。SL_P0_T1アクセストランジスタ287は、WWL_P0_T1 248を介して信号を受け取ることによってオンにされるように構成される。BL_P0_T1アクセストランジスタ285およびSL_P0_T1アクセストランジスタ287をオンにすることで、電流が、第2の抵抗性素子214を通って、メモリセル206の第0のポート213を介して流れられるようになり得る。
【0039】
書込み動作の間、デコーダ202は、入力アドレスおよびr/w_スレッド信号250を受け取ったことに応答して、出力信号を生成することができる。出力信号は、入力アドレスにより示される特定のポートに基づく特定のワード線と、r/w_スレッド信号250により示される特定のスレッドに、向けられ得る。たとえば、デコーダ202は、P1アドレスフロップ256においてwp1_アドレス信号241を受け取ることができ、制御フロップ254は、第0のスレッドを示すr/w_スレッド信号250を受け取ることができる。r/w_スレッド信号250のようなローの信号は、第0のスレッドを示してもよく、ハイの信号は第1のスレッドを示してもよい。
【0040】
ある特定の実施形態では、P1アドレスフロップ256の出力は、P1プリデコーダ260において出力を生成し、この出力は、P1_T0デコーダ262およびP1_T1デコーダ266に与えられる。たとえば、P1アドレスフロップ256の出力はハイの信号であってよく、インバータ265の出力は0であってよい。P1_T1デコーダ266は、インバータ265の出力からローの信号を、P1プリデコーダ260の出力からハイの信号を受け取ることができる。ANDゲートとして動作するP1_T1デコーダ266は、2つのハイの信号を受け取らないので、WWL_P1_T1 246上にハイの信号を生成しない。インバータ265の出力からハイの信号を、かつP1プリデコーダ260の出力からハイの信号を受け取ったことに応答して、P1_T0デコーダ262は、WWL_P1_T0 242上にハイの信号を生成することができる。WWL_P1_T0 242上のハイの信号は、BL_P1_T0アクセストランジスタ280およびSL_P1_T0アクセストランジスタ282により受け取られ得る。
【0041】
ある特定の実施形態では、ポートデータセレクタ230により受け取られる読取り/書込み制御信号236は、書込み動作がメモリセル206により実行されるべきであることを示す。ポートデータセレクタ230は、書込み動作の間に書き込まれるべき入力データを受け取ることができる。書込み動作を示す読取り/書込み制御信号236に応答して、BLマルチプレクサ290は、BL書込み電圧マルチプレクサ293に基づいて、BLビット線232に電圧を出力するように構成され得る。ある特定の実施形態では、BL書込み電圧マルチプレクサ293の出力は、ポートデータセレクタ230の入力データに基づく。たとえば、wData_P1信号238は、1.2Vのデータ値が、第1のポート211を介してメモリセル206に記憶されるべきであることを、示すことができる。BL書込み電圧マルチプレクサ293は、BLマルチプレクサ290に1.2Vを出力することができ、SL書込み電圧マルチプレクサ294は、SLマルチプレクサ291に0Vを出力することができる。
【0042】
ある特定の実施形態では、BL_P1 270に1.2Vを出力し、SL_P1 276に0Vを出力することで、メモリセル206の抵抗性素子の1つに、1.2Vを表すものが記憶されるようになる。あるいは、wData_P1信号238は、0Vを表すものが、第1のポート211を介してメモリセル206に記憶されるべきであることを、示すことができる。BL書込み電圧マルチプレクサ293は、BLマルチプレクサ290に0Vを出力するように構成されてよく、SL書込み電圧マルチプレクサ294は、SLマルチプレクサ291に1.2Vを出力するように構成されてよい。BL_P1 270に0Vを出力し、SL_P1 276に1.2Vを出力することで、メモリセル206の抵抗性素子の1つに、0Vを表すものが記憶されるようになる。
【0043】
ある特定の実施形態では、抵抗性素子の抵抗値は、メモリセル206により記憶されるべき、データの表現を示す。たとえば、第1の抵抗性素子210は、特定の帯磁方向に揃えられた層を含む、磁気トンネル接合(MTJ)であってよい。電流がその層を通ると、層の帯磁方向によりMTJの抵抗が上がり、または下がる。
【0044】
ある特定の実施形態では、第1のポート211での書込み動作の間、BL_P1 270は第1の電圧を有し、SL_P1 276は第2の電圧を有し得る。第1の電圧が第2の電圧よりも大きいかどうかは、第1の抵抗性素子210へ書き込まれるべき抵抗値に基づき得る。たとえば、ポートデータセレクタ230は、1.2Vの電圧を第1のBL_P1 270に与え、0Vの電圧をSL_P1 276に与えることができる。電流は、第1の抵抗性素子210を通って、BL_P1ビット線270からSL_P1 276に流れ、MTJの層の磁気モーメントを、特定の方向に揃える。あるいは、BL_P1 270の電圧が0Vで、SL_P1 276の電圧が1.2Vである場合、電流は、第1の抵抗性素子210を通って、SL_P1 276からBL_P0ビット線272に流れることができ、第1の抵抗性素子210の層の磁気モーメントを、反対の方向に揃える。MTJの層の磁気モーメントが平行の方向にある場合、MTJの抵抗値は、磁気モーメントが反平行の方向にある場合よりも小さい。MTJ(たとえば第1の抵抗性素子210)の抵抗値が小さいことは、第1のデータの表現に対応し、抵抗値が大きいことは、第2のデータの表現に対応し得る。
【0045】
読取り動作の間、デコーダ202は、入力アドレスおよびr/w_スレッド信号250を受け取ったことに応答して、出力信号を生成することができる。出力信号は、入力アドレスにより示される特定のポートに基づく特定のワード線と、r/w_スレッド信号250により示される特定のスレッドとに、向けられ得る。たとえば、デコーダ202は、P1アドレスフロップ256においてwp1_アドレス信号241を受け取ることができ、制御フロップ254は、第0のスレッドを示すr/w_スレッド信号250を受け取ることができる。ある特定の実施形態では、r/w_スレッド信号250のようなローの信号は、第0のスレッドを示し、ハイの信号は第1のスレッドを示してもよい。P1アドレスフロップ256の出力は、P1プリデコーダ260において出力を生成することができ、この出力は、P1_T0デコーダ262およびP1_T1デコーダ266に与えられる。たとえば、P1アドレスフロップ256の出力はハイの信号であってよく、インバータ265の出力は0であってよい。
【0046】
ある特定の実施形態では、P1_T1デコーダ266は、インバータ265の出力からローの信号を、P1プリデコーダ260の出力からハイの信号を受け取る。ANDゲートとして動作するP1_T1デコーダ266は、2つのハイの信号を受け取らないので、WWL_P1_T1 246上にハイの信号を生成しない。インバータ265の出力からハイの信号を、かつP1プリデコーダ260の出力からハイの信号を受け取ったことに応答して、P1_T0デコーダ262は、WWL_P1_T0 242上にハイの信号を生成することができる。WWL_P1_T0 242上のハイの信号は、BL_P1_T0アクセストランジスタ280およびSL_P1_T0アクセストランジスタ282により受け取られ得る。
【0047】
ある特定の実施形態では、ポートデータセレクタ230により受け取られる読取り/書込み制御信号236は、読取り動作がメモリセル206により実行されるべきであることを示す。読取り動作を示す読取り/書込み制御信号236に応答して、BLマルチプレクサ290は、BL_P1 270に0.2Vの電圧を出力するように構成されてよく、SLマルチプレクサ291は、SL_P1 276に0Vの電圧を出力するように構成されてよい。ある特定の実施形態では、BL_P1 270は、BL_P1_T0アクセストランジスタ280に0.2Vを与え、SL_P1 276は、SL_P1_T0アクセストランジスタ282に0Vを与える。電流は、第1の抵抗性素子210を通って、BL_P1 270からSL_P1 276に流れることができる。
【0048】
ある特定の実施形態では、SL_P1 276に接続されたセンサ回路が、SL_P1 276上の電流と参照電流とを比較して、第1の抵抗性素子210の抵抗値を求める。たとえば、大きな電流は抵抗値が小さいことを示し、小さな電流は抵抗値が大きいことを示し得る。第1の抵抗性素子210の抵抗値は、第1の抵抗性素子の記憶素子の論理値を示すものとして機能し得る。MTJ(たとえば第1の抵抗性素子210)の層の磁気モーメントが平行の方向にある場合、検出される抵抗は、磁気モーメントが反平行の方向にある場合よりも小さい。たとえば、大きな抵抗値は論理値が0であることを表し、小さな抵抗値は論理値が1であることを表し得る。
【0049】
ある特定の実施形態では、メモリセル206は、プロセッサのためのRAMとして利用される。状態情報(たとえば、wData_P1信号238およびwData_P0信号239)を、メモリセル206の抵抗性記憶素子210、214に抵抗値として記憶することで、プロセッサは、インスタントオンのアーキテクチャを実装できるようになる。インスタントオンのアーキテクチャでは、プロセッサは、RAMに状態情報をロードする必要なく、RAMの中の状態情報に直ちにアクセスできる。抵抗性記憶素子により、状態情報を表す抵抗値を失うことなく、メモリセル206の電源を切れるようになる。メモリセル206の電源を入れることで、プロセッサは、不揮発性メモリとして機能する外部デバイスから状態情報をRAMにロードする必要なく、記憶された状態情報にアクセスできるので、メモリセル206を利用するシステムの起動時間が短くなる。
【0050】
図3を参照すると、複数の不揮発性メモリを含むセルを有するシステムの、第3の実施形態の図が示され、全体的に300と表される。システム300は、デコーダ302およびセレクタ330に結合された、メモリセル306を含む。メモリセル306は、
図2のマルチポートのメモリセル206とは対照的に、シングルポートである。
【0051】
ある特定の実施形態では、デコーダ302は、ワード線を介して制御信号を提供して、メモリセル306からのデータの読取りおよび書込みを可能にするように構成される。デコーダ302は、入力アドレスに対応する特定のスレッドを示す信号(たとえば、r/w_スレッド信号350)を受け取るように構成され得る。たとえば、r/w_スレッド信号350は、第0のスレッドが、第1のアドレス信号240に対応することを示し得る。別の例として、r/w_スレッド信号350は、第1のスレッドが、第2のアドレス信号241に対応することを示し得る。デコーダ302は、第1のワード線344を介して第1の制御信号を、かつ第2のワード線348を介して第2の制御信号を生成するように構成され得る。
【0052】
ある特定の実施形態では、セレクタ330は、読取り/書込み制御信号236を受け取るように構成される。w/r_制御信号236は、メモリセル306が読取り動作を実行すべきか書込み動作を実行すべきかを、示すことができる。セレクタ330は、メモリセル306の抵抗性素子310、314の1つまたは複数にデータを書き込むための、入力データ338を受け取るように構成され得る。ある特定の実施形態では、入力データ338は、記憶されるべき値も示す。たとえば、入力データ338は、論理値1を表すデータ値が第1の抵抗性素子310に書き込まれるべきであることを示し得る。別の例として、入力データ338は、論理値0を表すデータ値が第2の抵抗性素子314に書き込まれるべきであることを示し得る。
【0053】
ある特定の実施形態では、メモリセル306は、抵抗性素子310、314にデータを記憶するように構成される。たとえば、第1の抵抗性素子310は、第1のデータの表現を記憶するように構成されてよく、第2の抵抗性素子314は、第2のデータの表現を記憶するように構成され得る。メモリセル306は、第1のデータの表現を第1の抵抗性素子310から読み取れるようにして、第2のデータの表現を第2の抵抗性素子314から読み取れるようにするように構成され得る。
【0054】
ある特定の実施形態では、メモリセル306は、抵抗性素子310、314に記憶されたデータを記憶して読み取るための回路を含む。メモリセル306は、抵抗性素子へのアクセスを制御する、アクセストランジスタを含み得る。アクセストランジスタは、バイポーラトランジスタまたは電界効果トランジスタであってよく、n型またはp型として構成され得る。第1の抵抗性素子310へのアクセスは、第1のアクセストランジスタ383により制御される。第2の抵抗性素子314へのアクセスは、第2のアクセストランジスタ387により制御される。
【0055】
メモリセル306のアクセストランジスタは、デコーダ302からのワード線(たとえば、第1のワード線344および第2のワード線348)、抵抗性素子310、314、およびセンス線(SL)374に接続される。たとえば、第1のアクセストランジスタ383は、第1のワード線344から信号を受け取り、第1の抵抗性素子310へのアクセスを可能にすることができる。別の例として、第2のアクセストランジスタ387は、第2のワード線348から信号を受け取り、第2の抵抗性素子314へのアクセスを可能にすることができる。ある特定の実施形態では、アクセストランジスタ383、387は、ソース、ゲート、およびドレインを各々含む、n型FETであってよい。たとえば、第1のアクセストランジスタ383は、ゲートにおいて第1のワード線344からの信号を受け取り、ソースにおいて第1の抵抗性素子310からの信号を受け取ることができる。第1のアクセストランジスタ383のドレインは、SL 374に結合され得る。別の例として、第2のアクセストランジスタ387のゲートは、第2のワード線348に接続され、ソースは第2の抵抗性素子314に接続され、ドレインはセンス線374に接続され得る。
【0056】
ある特定の実施形態では、アクセストランジスタ383、387は、メモリセル306の抵抗性素子310、314へのアクセスを制御する。たとえば、第1の抵抗性素子310へのアクセスは、第1のアクセストランジスタ383をオンにすることにより可能になる。第1のアクセストランジスタ383は、第1のワード線344を介してデコーダ302から信号を受け取ることによってオンにされるように構成される。第1のアクセストランジスタ383をオンにすることで、電流が、メモリセル306の第1の抵抗性素子310を通って流れられるようになり得る。別の例として、第2の抵抗性素子314へのアクセスは、第2のアクセストランジスタ387をオンにすることにより可能になる。第2のアクセストランジスタ387は、第2のワード線348を介してデコーダ302から信号を受け取ることによってオンにされるように構成される。第2のアクセストランジスタ387をオンにすることで、電流が、メモリセル306の第2の抵抗性素子314を通って流れられるようになり得る。
【0057】
書込み動作の間、デコーダ302は、入力アドレスおよびr/w_スレッド信号350を受け取ったことに応答して、出力信号を生成することができる。出力信号は、入力アドレスにより示される特定のワード線と、r/w_スレッド信号350により示される特定のスレッドとに、向けられ得る。
【0058】
ある特定の実施形態では、抵抗性素子の抵抗値は、メモリセル306により記憶されるべき、データの表現を示す。たとえば、第1の抵抗性素子310は、特定の帯磁方向に揃えられた層を含む、磁気トンネル接合(MTJ)であってよい。電流がその層を通ると、層の帯磁方向によりMTJの抵抗が上がり、または下がる。MTJの層の磁気モーメントが平行の方向にある場合、MTJの抵抗値は、磁気モーメントが反平行の方向にある場合よりも小さい。MTJ(たとえば第1の抵抗性素子310)の抵抗値が小さいことは、第1のデータの表現に対応し、抵抗値が大きいことは、第2のデータの表現に対応し得る。
【0059】
読取り動作の間、デコーダ302は、入力アドレスおよびr/w_スレッド信号350を受け取ったことに応答して、出力信号を生成することができる。出力信号は、入力アドレスに基づく特定のワード線と、r/w_スレッド信号350により示される特定のスレッドとに、向けられ得る。セレクタ330により受け取られる読取り/書込み制御信号236は、読取り動作がメモリセル306により実行されるべきであることを示し得る。
【0060】
ある特定の実施形態では、センス線374に接続されたセンサ回路(図示せず)が、センス線374上の電流と参照電流とを比較して、第1の抵抗性素子310の抵抗値を求める。たとえば、大きな電流は抵抗値が小さいことを示し、小さな電流は抵抗値が大きいことを示し得る。たとえば、第1の抵抗性素子310の抵抗値は、第1の抵抗性素子310に記憶された論理値を示すものとして機能し得る。MTJ(たとえば第1の抵抗性素子310)の層の磁気モーメントが平行の方向にある場合、検出される抵抗は、磁気モーメントが反平行の方向にある場合よりも小さい。たとえば、大きな抵抗値は論理値が0であることを表し、小さな抵抗値は論理値が1であることを表し得る。
【0061】
ある特定の実施形態では、メモリセル306は、プロセッサのためのRAMとして利用される。状態情報(たとえば、入力データ338)を、メモリセル306の抵抗性記憶素子310、314に抵抗値として記憶することで、プロセッサは、インスタントオンのアーキテクチャを実装できるようになる。インスタントオンのアーキテクチャでは、プロセッサは、RAMに状態情報をロードする必要なく、RAMの中の状態情報に直ちにアクセスできる。抵抗性素子により、状態情報を表す抵抗値を失うことなく、メモリセル306の電源を切れるようになる。メモリセル306の電源を入れることで、プロセッサは、不揮発性メモリとして機能する外部デバイスから状態情報をRAMにロードする必要なく、記憶された状態情報にアクセスできるので、メモリセル306を利用するシステムの起動時間が短くなる。
【0062】
図4を参照すると、複数のマルチポート不揮発性メモリを含むSMTセルを有するシステムの、ある実施形態の図が示され、全体的に400と表される。システム400は、プロセッサコア404、命令デコーダ408、スケジューラ410、命令キャッシュ409、および、複数のマルチポート不揮発性メモリ412を有する少なくとも1つのセルを含むレジスタファイル406を、含む。プロセッサコア404は、レジスタファイル406およびスケジューラ410に結合される。スケジューラ410は、命令デコーダ408に結合され、命令デコーダ408は命令キャッシュ409に結合される。
【0063】
ある特定の実施形態では、命令デコーダ408は、命令キャッシュ409から命令422を受け取る。命令デコーダ408は、命令422を復号し、スケジューラ410に与えられることになる、スレッド化された命令413および1つまたは複数の制御信号420を生成することができる。
【0064】
スケジューラ410は、スレッド化された命令413および制御信号420を受け取ることができる。スケジューラ410は、プロセッサコア404において実行するために、スレッド414をスケジューリングするように構成され得る。ある特定の実施形態では、スケジューラ410は、実質的に同時に処理される少なくとも2つの命令ストリーム(たとえば、スケジューリングされたスレッド414)をスケジューリングするように構成される。
【0065】
ある特定の実施形態では、プロセッサコア404は、スケジューリングされたスレッド414および1つまたは複数の制御信号421をスケジューラ410から受け取ったことに応答して、レジスタファイル406からオペランド430を取り出すように構成される。たとえば、オペランド430は、複数のマルチポート不揮発性メモリを有するセル412を含むレジスタからの、データを含み得る。プロセッサコア404は、オペランド430による、スケジューリングされたスレッド414の実行に基づいて、データを生成することができる。プロセッサコア404は、生成されたデータを、レジスタファイル406にライトバックすることができる(431)。
【0066】
ある特定の実施形態では、複数のマルチポート不揮発性メモリを有するセル412は、
図1のメモリセル106または
図2のメモリセル206であってよい。たとえば、第1の不揮発性メモリ108は、第1のスケジューリングされたスレッド414に対応してもよく、第2の不揮発性メモリ112は、第2のスケジューリングされたスレッド414に対応してもよい。ある特定の実施形態では、複数のマルチポート不揮発性メモリ412のセルは、各スレッドのために、1ビットのレジスタを記憶する。たとえば、1ビットのオペランドが、複数のマルチポート不揮発性メモリ412のセルに記憶され得る。読取り動作の間、レジスタファイル406は、スケジューリングされたスレッド414に対応するオペランド(たとえばオペランド430)を出力することができる。ライトバック431の間、レジスタファイル406は、プロセッサコア404から受け取られたデータを記憶することができる。
【0067】
ある特定の実施形態では、レジスタファイル406は、プロセッサコア404のためのRAMとして利用される。レジスタファイル406の複数のマルチポート不揮発性メモリを有するセル412に、状態情報(たとえばライトバック431の間に受け取られたデータ)を記憶することで、レジスタファイル406において、インスタントオンのアーキテクチャを実装できるようになる。不揮発性のメモリにより、記憶された状態情報を失うことなく、レジスタファイル406の電源を切れるようになる。レジスタファイル406の電源を入れることで、プロセッサコア404は、不揮発性メモリとして機能する外部デバイスから状態情報をレジスタファイル406にロードする必要なく、記憶された状態情報にアクセスできるので、プロセッサコア404およびレジスタファイル406を利用するシステム400の起動時間が短くなる。
【0068】
図5は、複数のマルチポート不揮発性メモリを含むセルを動作させる方法500の、第1の実施形態の流れ図である。ある特定の実施形態では、方法500は、
図1〜4のシステム、またはこれらの任意の組合せのいずれによっても実行される。方法500は、502において、第1の不揮発性メモリおよび第2の不揮発性メモリを含む単一のメモリセルにおいて、第1のデータを受け取るステップと、第2のデータを受け取るステップとを含む。たとえば、
図1のメモリセル106は、第1の不揮発性メモリ108および第2の不揮発性メモリ112を含む単一のメモリセル106において、第1のデータ139を受け取ることができる。ある特定の実施形態では、第1の不揮発性メモリは、第1のマルチポート不揮発性メモリであり、第2の不揮発性メモリは、第2のマルチポート不揮発性メモリである。方法500はまた、504において、第1の不揮発性メモリの第1の抵抗性記憶素子に、第1のデータを記憶するステップを含む。たとえば、
図1のメモリセル106は、第1の不揮発性メモリ108の第1の抵抗性記憶素子110に、第1のデータ139を記憶することができる。方法500はまた、506において、第2の不揮発性メモリの第2の抵抗性記憶素子に、第2のデータを記憶するステップを含む。たとえば、
図1のメモリセル106は、第2の不揮発性メモリ112の第2の抵抗性記憶素子114に、第2のデータ140を記憶することができる。
【0069】
ある特定の実施形態では、方法500は、508において、第1の不揮発性メモリに記憶されるデータ値に対応する第1の出力信号を生成するステップを任意選択で含み、第1の出力信号が、読取り/書込み制御信号に応答する。たとえば、
図1のメモリセル106は、第1の不揮発性メモリ108に記憶されたデータ値に対応する第1の出力信号(すなわち出力データ122)を生成することができ、第1の出力信号(すなわち出力データ122)が、読取り/書込み制御信号(たとえば、
図2の読取り/書込み制御信号236)に応答する。
【0070】
図5の方法は、電子デバイスに組み込まれたプロセッサにおいて実行され得る。たとえば、
図6に関して説明されるように、第1のデータおよび第2のデータは、コンピュータまたは他の電子デバイスにより、受け取られ記憶され得る。あるいは、または加えて、
図5の方法500は、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、中央処理装置(CPU)、デジタルシグナルプロセッサ(DSP)、コントローラ、他のハードウェアデバイス、またはこれらの任意の組合せにより、実施または開始され得ることを、当業者は認識するだろう。
【0071】
図6は、複数のマルチポート不揮発性メモリ664を有するセルを有するワイヤレス通信デバイス600の、ある実施形態のブロック図である。ワイヤレス通信デバイス600は、メモリ632に結合された、デジタルシグナルプロセッサ(DSP)のようなプロセッサ610を含む、携帯式のワイヤレス電子デバイスとして、実装され得る。
【0072】
メモリ632は、プロセッサ610のようなプロセッサにより実行可能な命令(たとえばソフトウェア634)を記憶する、コンピュータ可読媒体を含み得る。たとえば、ソフトウェア634は、第1のマルチポート不揮発性メモリおよび第2のマルチポート不揮発性メモリを含む複数のマルチポート不揮発性メモリ664を有するセルのような単一のメモリセルで、第1のデータを受け取り第2のデータを受け取るように、コンピュータにより実行可能な命令を含んでもよい。ソフトウェア634はまた、第1のマルチポート不揮発性メモリの第1の抵抗性記憶素子に第1のデータを記憶するように、コンピュータにより実行可能な命令も含み得る。ソフトウェア634はまた、第2のマルチポート不揮発性メモリの第2の抵抗性記憶素子に第2のデータを記憶するように、コンピュータにより実行可能な命令も含み得る。
【0073】
ある説明のための例では、複数のマルチポート不揮発性メモリ664を有するセルは、
図1〜4のモジュールまたは装置の1つもしくは複数を含み、
図5に従って動作し、またはこれらの任意の組合せが成り立つ。複数のマルチポート不揮発性メモリを有するセル664は、プロセッサ610にあってもよく、または別個のデバイスであってもよい。
【0074】
ある特定の実施形態では、ディスプレイコントローラ626が、プロセッサ610およびディスプレイデバイス628に結合される。コーダ/デコーダ(コーデック)634も、プロセッサ610に結合され得る。スピーカー636およびマイクロフォン638が、コーデック634に結合され得る。ワイヤレスコントローラ640が、プロセッサ610およびワイヤレスアンテナ642に結合され得る。複数のマルチポート不揮発性メモリを有するセル664が、ワイヤレスコントローラ640、コーデック634、およびディスプレイコントローラ626に結合される。ある特定の実施形態では、複数のマルチポート不揮発性メモリを有するセル664が、ディスプレイコントローラ626、コーデック634、およびワイヤレスコントローラ640に関連するデータを記憶するように構成される。
【0075】
ある特定の実施形態では、シグナルプロセッサ610、ディスプレイコントローラ626、メモリ632、コーデック634、およびワイヤレスコントローラ640は、システムインパッケージデバイスまたはシステムオンチップデバイス622に含まれる。ある特定の実施形態では、入力デバイス630および電源644が、システムオンチップデバイス622に結合される。さらに、ある特定の実施形態では、
図6に示されるように、ディスプレイデバイス628、入力デバイス630、スピーカー636、マイクロフォン638、ワイヤレスアンテナ642、および電源644は、システムオンチップデバイス622の外部にあってもよい。しかし、ディスプレイデバイス628、入力デバイス630、スピーカー636、マイクロフォン638、ワイヤレスアンテナ642、および電源644の各々は、インターフェースまたはコントローラのような、システムオンチップデバイス622のコンポーネントに結合され得る。
【0076】
前述の開示されたデバイスおよび機能は、コンピュータ可読媒体に記憶されるコンピュータファイル(たとえば、RTL、GDSII、GERBERなど)になるように、設計かつ構成され得る。そのようなファイルの一部または全てが、そのようなファイルに基づいてデバイスを製造する製造担当者に与えられ得る。得られる製品は半導体ウエハを含み、このウエハは次いで、半導体ダイに切断され、半導体チップにパッケージングされる。そして、このチップが、上で説明されたデバイスで利用される。
【0077】
図7は、電子デバイス製造プロセス700の、ある特定の例示的な実施形態を示す。物理的なデバイス情報702が、製造プロセス700において、たとえば研究用コンピュータ706において受け取られる。物理的なデバイス情報702は、
図1のシステム100、
図2のシステム200、
図3のシステム300、
図4のシステム400、またはこれらの任意の組合せのような、半導体デバイスの少なくとも1つの物理的な特性を表す設計情報を含み得る。たとえば、物理的なデバイス情報702は、研究用コンピュータ706に結合されるユーザインターフェース704を介して入力される、物理的なパラメータ、材料の特性、および構造情報を含み得る。研究用コンピュータ706は、メモリ710のようなコンピュータ可読媒体に結合される、1つまたは複数のプロセシングコアのようなプロセッサ708を含む。メモリ710は、プロセッサ708に、ファイルフォーマットに適合するように物理的なデバイス情報702を変換させ、ライブラリファイル712を生成させるように実行可能な、コンピュータ可読命令を記憶することができる。
【0078】
ある特定の実施形態では、ライブラリファイル712は、変換された設計情報を含む少なくとも1つのデータファイルを含む。たとえば、ライブラリファイル712は、
図1のメモリセル106を含むデバイス(たとえば
図1の装置100)、
図2のメモリセル206を含むデバイス(たとえば
図2の装置200)、
図3のメモリセル306を含むデバイス(たとえば
図3の装置300)、
図4の複数のマルチポート不揮発性メモリを有するセル412を含むデバイス(たとえば
図4の装置400)、またはこれらの任意の組合せを含む、半導体デバイスのライブラリを含んでもよく、このライブラリは、電子設計自動化(EDA)ツール720とともに用いるために提供される。
【0079】
ライブラリファイル712は、メモリ718に結合される1つまたは複数のプロセシングコアのようなプロセッサ716を含む、設計用コンピュータ714において、EDAツール720とともに用いられ得る。EDAツール720は、設計用コンピュータ714のユーザが、ライブラリファイル712の、
図1のメモリセル106を含むデバイス(たとえば
図1の装置100)、
図2のメモリセル206を含むデバイス(たとえば
図2の装置200)、
図3のメモリセル306を含むデバイス(たとえば
図3の装置300)、
図4の複数のマルチポート不揮発性メモリを有するセル412を含むデバイス(たとえば
図4の装置400)、またはこれらの任意の組合せを含む、回路を設計できるようにするためのプロセッサ実行可能命令として、メモリ718に記憶され得る。たとえば、設計用コンピュータ714のユーザは、設計用コンピュータ714と結合されるユーザインターフェース724を介して、回路設計情報722を入力することができる。回路設計情報722は、
図1のメモリセル106を含むデバイス(たとえば
図1の装置100)、
図2のメモリセル206を含むデバイス(たとえば
図2の装置200)、
図3のメモリセル306を含むデバイス(たとえば
図3の装置300)、
図4の複数のマルチポート不揮発性メモリを有するセル412を含むデバイス(たとえば
図4の装置400)、またはこれらの任意の組合せを含む、デバイスのような、半導体デバイスの少なくとも1つの物理的な特性を表す設計情報を含み得る。例示すると、回路設計の特性は、回路設計における特定の回路の識別および他の要素との関係、位置情報、形状サイズ情報、相互接続情報、または、半導体デバイスの物理的な特性を表す他の情報を含み得る。
【0080】
設計用コンピュータ714は、ファイルフォーマットと適合するように、回路設計情報722を含む設計情報を変換するように構成され得る。例示すると、ファイル形式は、平面的な幾何形状、文字列の標識、および、Graphic Data System(GDSII)ファイルフォーマットのような階層的なフォーマットでの回路レイアウトについての他の情報を表す、データベースのバイナリファイルのフォーマットを含み得る。設計用コンピュータ714は、
図1のメモリセル106、
図2のメモリセル206、
図3の複数のマルチポート不揮発性メモリを有するセル312、
図4の複数のマルチポート不揮発性メモリを有するセル412、またはこれらの任意の組合せを表す情報を、他の回路または情報に加えて含む、GDSIIファイル726のような変換された設計情報を含むデータファイルを、生成するように構成され得る。例示すると、データファイルは、内部にさらなる電子回路および電子部品も含む、
図1のメモリセル106を含むシステムオンチップ(SOC)に対応する情報を含んでもよい。
【0081】
GDSIIファイル726は、
図1のメモリセル106、
図2のメモリセル206、
図3のメモリセル306、
図4の複数のマルチポート不揮発性メモリを有するセル412、またはこれらの任意の組合せを、GDSIIファイル726の中の変換された情報に従って製造するために、製造プロセス728において受け取られ得る。たとえば、デバイス製造プロセスは、GDSIIファイル726をマスク製造業者730に提供して、代表的なマスク732として示される、フォトリソグラフィプロセスで用いられるマスクのような、1つまたは複数のマスクを作成するステップを含み得る。マスク732は、製造プロセスの間に用いられ、1つまたは複数のウエハ734を生成することができ、ウエハ734は検査されて、代表的なダイ736のようなダイに分割され得る。ダイ736は、
図1のメモリセル106を含むデバイス(たとえば
図1の装置100)、
図2のメモリセル206を含むデバイス(たとえば
図2の装置200)、
図3のメモリセル306を含むデバイス(たとえば
図3の装置300)、
図4の複数のマルチポート不揮発性メモリを有するセル412を含むデバイス(たとえば
図4の装置400)、またはこれらの任意の組合せを含む、回路を含む。
【0082】
ダイ736を、パッケージングプロセス738に提供することができ、パッケージングプロセス738において、ダイ736は代表的なパッケージ740に組み込まれる。たとえば、パッケージ740は、システムインパッケージ(SiP)構成のような、単一のダイ736または複数のダイを含み得る。パッケージ740は、電子機器技術評議会(JEDEC)規格のような、1つまたは複数の規格または仕様を遵守するように構成され得る。
【0083】
パッケージ740に関する情報は、たとえばコンピュータ746に記憶されるコンポーネントライブラリを介して、様々な製品設計者に配布され得る。コンピュータ746は、メモリ750に結合される、1つまたは複数のプロセシングコアのようなプロセッサ748を含み得る。ユーザインターフェース744を介してコンピュータ746のユーザから受け取られたPCB設計情報742を処理するために、プリント回路基板(PCB)ツールが、メモリ750にプロセッサ実行可能命令として記憶され得る。PCB設計情報742は、
図1のメモリセル106、
図2のメモリセル206、
図3のメモリセル306、
図4の複数のマルチポート不揮発性メモリを有するセル412、またはこれらの任意の組合せを含む、パッケージ740に対応するパッケージングされた半導体デバイスの、回路基板上での物理的な位置情報を含み得る。
【0084】
コンピュータ746は、PCB設計情報742を変換して、パッケージングされた半導体デバイスの回路基板上での物理的な位置情報とともに、配線およびビアのような電気的な接続のレイアウトを含む、GERBERファイル752のようなデータファイルを生成するように構成されてもよく、パッケージングされた半導体デバイスは、
図1のメモリセル106、
図2のメモリセル206、
図3のメモリセル306、
図4の複数のマルチポート不揮発性メモリを有するセル412、またはこれらの任意の組合せを含む、パッケージ740に対応する。他の実施形態では、変換されたPCB設計情報により生成されたデータファイルは、GERBERフォーマット以外のフォーマットを有してもよい。
【0085】
GERBERファイル752は、基板組立プロセス754において受け取られ、GERBERファイル752内に記憶される設計情報に従って製造される、代表的なPCB756のようなPCBを作成するために、用いられ得る。たとえば、GERBERファイル752は、PCB製造プロセスの様々なステップを実行するために、1つまたは複数の機械にアップロードされ得る。PCB756は、パッケージ740を含む電子部品を装着されて、代表的なプリント回路アセンブリ(PCA)758を形成することができる。
【0086】
PCA758は、製品製造プロセス760において受け取られ、第1の代表的な電子デバイス762および第2の代表的な電子デバイス764のような、1つまたは複数の電子デバイスとなるように統合され得る。例示的かつ非限定的な例として、第1の代表的な電子デバイス762、第2の代表的な電子デバイス764、またはこれら両方は、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、娯楽ユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定位置データユニット、コンピュータという群から選択されてもよく、その中に、少なくとも1つの制御可能なエネルギーを消費するモジュールが組み込まれる。別の例示的かつ非限定的な例として、電子デバイス762および764の1つまたは複数は、携帯電話、携帯用パーソナル通信システム(PCS)ユニット、携帯情報端末のような持ち運び可能なデータユニット、全地球測位システム(GPS)対応デバイス、ナビゲーションデバイス、計測装置のような固定位置データユニット、または、データもしくはコンピュータ命令を記憶もしくは取り出す任意の他のデバイス、またはこれらの任意の組合せのような、遠隔ユニットであってよい。
図7は、本開示の教示に従った遠隔ユニットを示すが、本開示は、これらの例示的な示されたユニットには限定されない。本開示の実施形態は、メモリおよびオンチップ回路を含む能動的な統合された回路を含む、任意のデバイスにおいて適切に利用され得る。
【0087】
図1のメモリセル106を含むデバイス(たとえば
図1の装置100)、
図2のメモリセル206を含むデバイス(たとえば
図2の装置200)、
図3のメモリセル306を含むデバイス(たとえば
図3の装置300)、
図4の複数のマルチポート不揮発性メモリを有するセル412を含むデバイス(たとえば
図4の装置400)、またはこれらの任意の組合せは、例示的なプロセス700で説明されたように、製造され、プロセスされ、電子デバイスに組み込まれ得る。
図1〜4に関して開示される実施形態の1つまたは複数の態様は、ライブラリファイル712、GDSIIファイル726、GERBERファイル752内などに、様々なプロセスの段階で含まれてもよく、また、研究用コンピュータ706のメモリ710、設計用コンピュータ714のメモリ718、コンピュータ746のメモリ750、基板組立プロセス754のような様々な段階で用いられる1つまたは複数の他のコンピュータまたはプロセッサ(図示せず)のメモリに記憶されてもよく、また、マスク732、ダイ736、パッケージ740、PCA758、プロトタイプ回路もしくはデバイスのような他の製品(図示せず)、またはこれらの任意の組合せなどの1つまたは複数の他の物理的実施形態に組み込まれてもよい。物理的なデバイス設計から最終製品までの製造の様々な代表的な段階が示されるが、他の実施形態では、より少数の段階が用いられてもよく、または追加の段階が含まれてもよい。同様に、プロセス700は、プロセス700の様々な段階を実行する、単一のエンティティまたは1つもしくは複数のエンティティにより実行され得る。
【0088】
本明細書で開示される実施形態とともに説明される様々な例示的な論理ブロック、構成、モジュール、回路、および方法のステップは、電子的なハードウェア、処理ユニットにより実行されるコンピュータソフトウェア、またはこれら両方の組合せとして実装され得ることが、当業者にはさらに理解されよう。様々な例示的なコンポーネント、ブロック、構成、モジュール、回路、およびステップが、全般にそれらの機能に関して、上で説明されてきた。そのような機能がハードウェアとして実装されるか、実行可能な処理命令として実装されるかは、具体的な用途およびシステム全体に課された設計制約により決まる。当業者は、各々の具体的な用途について、様々な方法で説明された機能を実装することができるが、そのような実装についての決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【0089】
ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、磁気抵抗ランダムアクセスメモリ(MRAM)、スピントルク注入MRAM(STT-MRAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラム可能読取り専用メモリ(PROM)、消去可能なプログラム可能読取り専用メモリ(EPROM)、電気的に消去可能なプログラム可能読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、取り外し可能ディスク、コンパクトディスク読取り専用メモリ(CD-ROM)、または当技術分野で知られる任意の他の形態の記憶媒体に、存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)に存在し得る。ASICは、コンピューティングデバイスまたはユーザ端末に存在し得る。代替的には、プロセッサおよび記憶媒体は、コンピューティングデバイスまたはユーザ端末の中に、個別のコンポーネントとして存在し得る。
【0090】
開示される実施形態の上記の説明は、当業者が、開示された実施形態を実現または利用できるようにするために、提供される。これらの実施形態への様々な修正が、当業者には容易に明らかであり、本明細書で定義される原理は、本開示の範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本開示は、本明細書で示される実施形態に限定されることは意図されず、以下の特許請求の範囲で定義されるような原理および新規の特徴と矛盾しない、可能な最大の範囲を認められるべきである。