(57)【要約】  抵抗メモリキャッシュから読み取り、抵抗メモリキャッシュに書き込む方法は、書込みコマンドを受信するステップと、書込みコマンドを複数の書込みサブコマンドに分割するステップとを含む。本方法はまた、読取りコマンドを受信するステップと、次の書込みサブコマンドを実行する前に読取りコマンドを実行するステップとを含む。
2016538629.tif 000002
【特許請求の範囲】
【請求項１】
抵抗メモリキャッシュから読み取り、抵抗メモリキャッシュに書き込む方法であって、
書込みコマンドを受信するステップと、
前記書込みコマンドを複数の書込みサブコマンドに分割するステップと、
読取りコマンドを受信するステップと、
次の書込みサブコマンドを実行する前に前記読取りコマンドを実行するステップと
を含む方法。
【請求項２】
書込みバッファが一杯であるかどうかを判断するステップと、
前記書込みバッファが一杯ではないときに前記読取りコマンドを実行するステップと、
前記書込みバッファが一杯であるときに、前記読取りコマンドを実行する代わりに、前記書込みコマンドが完了するまで前記次の書込みサブコマンドを実行するステップと
をさらに含む、請求項1に記載の方法。
【請求項３】
前記書込みコマンドを受信したことに応答して書込みバッファエントリを作成するステップをさらに含み、前記エントリは、データ、アドレス、および残存する前記複数の書込みサブコマンドの数を含む、請求項1に記載の方法。
【請求項４】
書込みサブコマンドを実行するステップと、
前記書込みサブコマンドを実行した後に残存する前記複数の書込みサブコマンドの前記数を変更するステップと
をさらに含む、請求項3に記載の方法。
【請求項５】
前記複数の書込みサブコマンドが実行されたときに前記書込みバッファエントリを除去するステップをさらに含む、請求項4に記載の方法。
【請求項６】
前記抵抗メモリキャッシュを、モバイルフォン、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、コンピュータ、ハンドヘルドパーソナル通信システム(PCS)ユニット、ポータブルデータユニット、および/または固定位置データユニットに統合するステップをさらに含む、請求項1に記載の方法。
【請求項７】
抵抗メモリキャッシュから読み取り、抵抗メモリキャッシュに書き込む方法であって、
書込みコマンドを受信するステップと、
前記書込みコマンドを複数の書込みサブコマンドに分割するステップと、
読取りコマンドを受信するステップと、
次の書込みサブコマンドを実行する前に前記読取りコマンドを実行するステップと
を含む方法。
【請求項８】
書込みバッファが一杯であるかどうかを判断するステップと、
前記書込みバッファが一杯ではないときに前記読取りコマンドを実行するステップと、
前記書込みバッファが一杯であるときに、前記読取りコマンドを実行する代わりに、前記書込みコマンドが完了するまで前記次の書込みサブコマンドを実行するステップと
をさらに含む、請求項7に記載の方法。
【請求項９】
前記書込みコマンドを受信したことに応答して書込みバッファエントリを作成するステップをさらに含み、前記エントリは、データ、アドレス、および残存する前記複数の書込みサブコマンドの数を含む、請求項7に記載の方法。
【請求項１０】
書込みサブコマンドを実行するステップと、
前記書込みサブコマンドを実行した後に残存する前記複数の書込みサブコマンドの前記数を変更するステップと
をさらに含む、請求項9に記載の方法。
【請求項１１】
前記複数の書込みサブコマンドが実行されたときに前記書込みバッファエントリを除去するステップをさらに含む、請求項10に記載の方法。
【請求項１２】
前記抵抗メモリキャッシュを、モバイルフォン、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、コンピュータ、ハンドヘルドパーソナル通信システム(PCS)ユニット、ポータブルデータユニット、および/または固定位置データユニットに統合するステップをさらに含む、請求項7に記載の方法。
【請求項１３】
少なくとも1つの入力ポートおよび少なくとも1つの出力ポートを含むマルチプレクサと、
前記マルチプレクサの前記少なくとも1つの出力ポートに結合されたメモリと、
前記マルチプレクサの前記少なくとも1つの入力ポートに結合された書込みバッファであって、データ、アドレスおよび書込みコマンドパルスカウンタを含む少なくとも1つの書込みバッファエントリを有する書込みバッファと
を含む抵抗メモリキャッシュ。
【請求項１４】
前記書込みバッファは、
前記マルチプレクサの前記少なくとも1つの入力ポートに結合された書込み割振りバッファと、
前記マルチプレクサの前記少なくとも1つの入力ポートおよび前記書込み割振りバッファに結合された少なくとも1つのラインフィルバッファと
を含む、請求項13に記載の抵抗メモリキャッシュ。
【請求項１５】
前記書込みコマンドパルスカウンタは、書込みコマンドが完了したときはいつでも更新される、請求項13に記載の抵抗メモリキャッシュ。
【請求項１６】
モバイルフォン、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、コンピュータ、ハンドヘルドパーソナル通信システム(PCS)ユニット、ポータブルデータユニット、および/または固定位置データユニットに統合される、請求項13に記載の抵抗メモリキャッシュ。
【請求項１７】
少なくとも1つの入力ポートおよび少なくとも1つの出力ポートを含むマルチプレクサと、
前記マルチプレクサの前記少なくとも1つの出力ポートに結合されたデータを記憶するための手段と、
前記マルチプレクサの前記少なくとも1つの入力ポートに結合された書込みコマンドをバッファリングするための手段であって、データ、アドレスおよび書込みコマンドパルスカウンタを含む少なくとも1つの書込みバッファエントリを有する書込みコマンドをバッファリングするための手段と
を含む抵抗メモリキャッシュ。
【請求項１８】
書込みコマンドをバッファリングするための前記手段は、
前記マルチプレクサの前記少なくとも1つの入力ポートに結合された書込み割振りバッファと、
前記マルチプレクサの前記少なくとも1つの入力ポートおよび前記書込み割振りバッファに結合された少なくとも1つのラインフィルバッファと
を含む、請求項17に記載の抵抗メモリキャッシュ。
【請求項１９】
前記書込みコマンドパルスカウンタは、書込みコマンドが実行されたときはいつでも更新される、請求項17に記載の抵抗メモリキャッシュ。
【請求項２０】
モバイルフォン、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、コンピュータ、ハンドヘルドパーソナル通信システム(PCS)ユニット、ポータブルデータユニット、および/または固定位置データユニットに統合される、請求項17に記載の抵抗メモリキャッシュ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は一般に、磁気ランダムアクセスメモリ(MRAM)デバイスまたは抵抗ランダムアクセスメモリ(RRAM（登録商標）)デバイスなどの抵抗メモリに関する。より具体的には、本開示は、書込み動作を分割することによって抵抗メモリキャッシュのパフォーマンスを改善することに関する。
【背景技術】
【０００２】
従来のランダムアクセスメモリ(RAM)チップ技術とは異なり、磁気RAM(MRAM)では、データは電荷として記憶されず、代わりに記憶要素の磁気分極によって記憶される。記憶要素は、トンネリング層によって分離された2つの強磁性層から形成される。固定層またはピンド層(pinned layer)と呼ばれる、2つの強磁性層のうちの1つは、特定の方向に固定された磁化を有する。フリー層と呼ばれる他方の強磁性磁気層は、2つの異なる状態に変化し得る磁化方向を有する。フリー層のこれらの異なる状態は、フリー層の磁化が固定層の磁化と反平行であるときには論理「1」を表し、もしくはフリー層の磁化が固定層の磁化と平行であるときには論理「0」を表すように、またはこの逆となるように使用される。固定層、トンネリング層、およびフリー層を有する1つのそのようなデバイスは、磁気トンネル接合(MTJ)である。MTJの電気抵抗は、フリー層の磁化および固定層の磁化が、互いに平行であるか、または反平行であるかに依存する。MRAMなどのメモリデバイスは、個別にアドレス指定可能なMTJのアレイから構築される。
【０００３】
従来のMRAMにデータを書き込む際には、臨界スイッチング電流を超える書込み電流がMTJを通るように流される。臨界スイッチング電流を超える書込み電流は、フリー層の磁化方向を変えるのに十分である。書込み電流が第1の方向に流れる場合、MTJは、第1の状態にされるか、または第1の状態にとどまる可能性があり、第1の状態では、そのフリー層の磁化方向および固定層の磁化方向が、平行な向きに揃う。書込み電流が第1の方向と反対の第2の方向に流れる場合、MTJは、第2の状態にされるか、または第2の状態にとどまる可能性があり、第2の状態では、そのフリー層の磁化および固定層の磁化が、反平行の向きにある。
【０００４】
従来のMRAMにおいてデータを読み取る際には、MTJにおいてデータを書き込むのに使用される同じ電流経路を介して読取り電流がMTJを通って流れればよい。MTJのフリー層および固定層の磁化が互いに平行に向いている場合、MTJは、フリー層および固定層の磁化が反平行の向きにある場合にMTJが示すであろう抵抗とは異なる抵抗を示す。従来のMRAMでは、2つの異なる状態は、MRAMのビットセル内のMTJの2つの異なる抵抗によって定義される。2つの異なる抵抗は、MTJによって記憶される論理0および論理1の値を表す。
【０００５】
従来のMRAM内のデータが論理1を表すか、論理0を表すかを判断するために、ビットセル内のMTJの抵抗が基準抵抗と比較される。従来のMRAM回路内の基準抵抗は、平行磁化方向を有するMTJの抵抗と反平行磁化方向を有するMTJの抵抗との間の中間抵抗である。中間基準抵抗を生成する1つの方法は、平行磁化方向を有するとして知られているMTJと反平行磁化方向を有するとして知られているMTJとを互いに並列に結合することである。
【発明の概要】
【課題を解決するための手段】
【０００６】
本開示の一態様では、抵抗メモリキャッシュから読み取り、抵抗メモリキャッシュに書き込む方法が開示される。本方法は、書込みコマンドを受信するステップを含む。本方法はまた、書込みコマンドを書込みサブコマンドのセットに分割するステップを含む。本方法はさらに、読取りコマンドを受信するステップを含む。本方法はまた、次の書込みサブコマンドを実行する前に読取りコマンドを実行するステップを含む。
【０００７】
別の態様では、抵抗メモリキャッシュが開示される。抵抗メモリキャッシュは、少なくとも1つの入力ポートおよび少なくとも1つの出力ポートを含むマルチプレクサを含む。抵抗メモリキャッシュはまた、マルチプレクサの出力ポートに結合されたメモリを含む。抵抗メモリキャッシュはさらに、マルチプレクサの入力ポートに結合された書込みバッファを含む。書込みバッファはまた、データ、アドレスおよび書込みコマンドパルスカウンタを含む少なくとも1つの書込みバッファエントリを有する。
【０００８】
別の態様は、抵抗メモリキャッシュを開示する。抵抗メモリキャッシュは、少なくとも1つの入力ポートおよび少なくとも1つの出力ポートを有するマルチプレクサを含む。抵抗メモリキャッシュはまた、マルチプレクサの出力ポートに結合されたデータを記憶するための手段を含む。抵抗メモリキャッシュはさらに、マルチプレクサの入力ポートに結合された書込みコマンドをバッファリングするための手段を含む。書込みコマンドをバッファリングするための手段はまた、データ、アドレスおよび書込みコマンドパルスカウンタを含む少なくとも1つの書込みバッファエントリを有する。
【０００９】
上記では、続く詳細な説明をよりよく理解することができるように、本開示の特徴および技術的利点について、かなり大まかに概説してきた。本開示のさらなる特徴および利点について、以下に説明する。本開示の同じ目的を果たすための他の構造(structure)を修正または設計する基礎として本開示が容易に利用され得ることを、当業者は諒解されたい。そのような等価な構造(construction)が、添付の特許請求の範囲に記載の本開示の教示から逸脱しないことも、当業者は認識されたい。本開示の構成(organization)と動作方法の両方に関して本開示の特徴になると考えられる新規な特徴と、さらなる目的および利点がともに、以下の説明を添付の図と併せて検討することからよりよく理解されるであろう。しかしながら、図の各々は、例示および説明を目的として提供されているにすぎず、本開示の制限を定めるものではないことを、明確に理解されたい。
【００１０】
本開示のより完全な理解のために、ここで、添付の図面に関連して行われる以下の説明を参照する。
【図面の簡単な説明】
【００１１】
【図１】アクセストランジスタに接続された磁気トンネル接合(MTJ)デバイスの図である。
【図２】本開示の一態様による、キャッシュコントローラを含む例示的なキャッシュメモリの図である。
【図３】本開示の一態様による、読取り経路および書込み経路を示す抵抗メモリキャッシュの概略図である。
【図４Ａ】本開示の態様による、書込みパルス構成を示すタイミング図である。
【図４Ｂ】本開示の態様による、書込みパルス構成を示すタイミング図である。
【図５】本開示の一態様による、抵抗メモリキャッシュから読み取り、抵抗メモリキャッシュに書き込む方法を示すプロセスフロー図である。
【図６】本開示の一構成が有利に利用され得る例示的なワイヤレス通信システムを示すブロック図である。
【図７】一構成による、半導体構成要素の回路設計、レイアウト設計、および論理設計に使用される設計用ワークステーションを示すブロック図である。
【発明を実施するための形態】
【００１２】
添付の図面に関して以下に記載する詳細な説明は、様々な構成の説明として意図されており、本明細書で説明する概念が実施され得る唯一の構成を表すことは意図されていない。詳細な説明は、様々な概念の完全な理解を与える目的で特定の詳細を含む。しかしながら、これらの概念がこれらの特定の詳細がなくても実施され得ることは当業者に明らかとなるであろう。場合によっては、そのような概念を曖昧にすることを回避するために、よく知られている構造および構成要素がブロック図の形態で示されている。本明細書の説明では、「および/または」という用語の使用は、「包含的論理和」を表すことが意図され、「または」という用語の使用は、「排他的論理和」を表すことが意図される。
【００１３】
正確な抵抗メモリデバイスの場合、抵抗メモリビットセルを「0」から「1」に、または「1」から「0」に正常に切り替える確率は100%近くになるはずである。スイッチング確率は、以下の式(1)から計算され得る。
【００１４】
【数１】
2016538629.tif 000003
【００１５】
上式で、Pswはスイッチング確率であり、exp(x)は指数関数であり、tswはスイッチングパルスであり、τ0は正規化遅延であり、Δは熱的安定性であり、Jはスイッチング電流であり、JCは臨界電流である。正規化遅延(τ0)、熱的安定性(Δ)および臨界電流(JC)は、磁気ランダムアクセスメモリ(MRAM)または他の同様の抵抗メモリの材料に関係するすべてのパラメータである。
【００１６】
一般に、100%近くの高いスイッチング確率(Psw)に達するために、大きいスイッチング電流(J)および長いスイッチングパルス(tsw)が使用される。書込みパルス中に抵抗メモリデバイスを読み取ることはできないので、長い書込みパルスは書込みレイテンシを長くする。これにより、メモリおよびシステムのパフォーマンスが遅くなる。
【００１７】
本開示の一態様では、1つの長い書込みパルスの代わりに複数の短い書込みパルスが抵抗メモリデバイスに適用される。抵抗メモリデバイスに複数の短い書込みパルスを適用することで、1つの長い書込みパルスと同じ時間期間内に読取り動作を実行することが可能になる。たとえば、1つの長い書込みパルスは、tswのスイッチングパルスを伴う以下の式(2)に表され得る。
【００１８】
【数２】
2016538629.tif 000004
【００１９】
上式で、Bは、式(3)に示すように固定スイッチング電流(J)および臨界電流(JC)値を仮定した場合の以下の量を表す。
【００２０】
【数３】
2016538629.tif 000005
【００２１】
1つの長いパルスが上の式(2)によって表される場合、1つの短い書込みパルスは、式(4)によって表され得る。同じ全体のスイッチングパルス値tswが適用されるが、各書込みパルスは、以下に示すように、単一のスイッチングパルスの短い1/n部分(tsw/n)である。
【００２２】
【数４】
2016538629.tif 000006
【００２３】
したがって、n個の短い書込みパルスを適用することが、以下の式(5)によって表され得、結果的に1つの長い書込みパルスに等しくなる。
【００２４】
【数５】
2016538629.tif 000007
【００２５】
本開示の一態様では、抵抗メモリキャッシュから読み取り、抵抗メモリキャッシュに書き込む方法は、書込みコマンドを受信するステップと、その書込みコマンドを、それを1つの大きい書込みコマンドパルスとして処理する代わりに、いくつかのより小さい書込みコマンドパルスに変換するステップとを含む。本方法はまた、読取りコマンドを受信するステップと、次の書込みコマンドパルスを実行する前にその読取りコマンドを実行するステップとを含み得る。
【００２６】
また、書込みコマンドを受信したことに応答して、書込みバッファエントリが作成され得る。エントリは、データ、アドレス、および残存する書込みコマンドパルスの数を含む。残存する書込みコマンドパルスの数は、カウンタとして機能してよく、ゼロから開始してカウントアップすること、またはnから開始してカウントダウンすることができる。書込みコマンドが実行されるたびに、n個の書込みコマンドパルスが実行されたことを表すように書込みコマンドパルスの数が変更される(増分または減分される)。
【００２７】
図1は、アクセストランジスタ104に結合された磁気トンネル接合(MTJ)102を含むメモリセル100を示す。MTJ102のフリー層110は、ビットライン112に結合される。アクセストランジスタ104は、MTJ102の固定層106と固定電位ノード122との間に結合される。トンネル障壁層114は、固定層106とフリー層110との間に結合される。アクセストランジスタ104は、ワードライン118に結合されたゲート116を含む。
【００２８】
固定層106およびフリー層110を形成するために、合成反強磁性材料が使用され得る。たとえば、固定層106は、コバルト鉄ボロン(CoFeB)層、ルテニウム(Ru)層およびコバルト鉄(CoFe)層を含む複数の材料層を含み得る。フリー層110は、CoFeBなどの反強磁性材料である可能性があり、トンネル障壁層114は、たとえば、酸化マグネシウム(MgO)である可能性がある。メモリセル100は、キャッシュメモリまたは他の抵抗メモリデバイスを構成する抵抗メモリ要素の一例である。
【００２９】
図2は、本開示の一態様による、キャッシュコントローラ240を含む例示的なキャッシュメモリ200の図である。キャッシュメモリ200は、ページ番号202、セット番号204、バイト番号206、キャッシュウェイ208、タグ部分210、データ部分212、キャッシュブロック214、1つまたは複数のキャッシュセット216、タグセンス増幅部218a、データセンス増幅部218b、タグ出力部220、比較部222、論理ゲート224、キャッシュグループ226、選択回路228、およびワード出力部230を含む。
【００３０】
キャッシュメモリ200におけるアドレスは、ページ番号202、セット番号204およびバイト番号206を含むことができる。一実装形態では、ページ番号202は仮想ページ番号であり得る。セット番号204は、キャッシュセット216のうちの1つに対応する。キャッシュブロック214は、タグ部分210およびデータ部分212を含む。タグ部分210は、データ部分212における実際のデータのアドレスの一部、またはデータ部分212におけるデータを突き止めるための他の識別情報を含むことができる。データ部分212は実際のデータを含む。キャッシュセット216のうちの1つは、図2において水平グルーピングによって見られるように、キャッシュブロック214の1つのセットである。キャッシュウェイ208は、キャッシュブロック214の別のグループであるが、図2において見られるように、垂直グルーピングにある。タグセンス増幅部218aおよびデータセンス増幅部218bは、データが出力されたときに(論理1または0と)適切に解釈されるようにキャッシュエントリから論理レベルを感知する。
【００３１】
タグ出力部220におけるデータは、タグセンス増幅部218aの出力であり、ページフレーム番号、有効ビットおよびコヒーレンスビットを含むことができる。次いで、タグ出力部220からのデータが、比較部222によってページ番号202と比較され、2つの値が等しいかどうかが判断される。値が等しい場合、比較部222の出力が、データセンス増幅部218bの出力とともに、論理ゲート224に入力される。論理ゲート224の出力は、キャッシュグループ226中に現れる。一実装形態では、キャッシュグループ226のうちの1つは複数のワードを含む。キャッシュグループ226は選択回路228に入力され、選択回路228はバイト番号206を選択入力として使用する。バイト番号206を選択入力として使用する選択回路228の出力は、ワード出力部230である。
【００３２】
図2は、nウェイセットアソシアティブキャッシュの例示的なブロック図であるが、本開示に従って使用される他のタイプのキャッシュがあり得る。セットアソシアティブキャッシュは、並列に動作するいくつかのダイレクトマップキャッシュ(たとえば、1つのダイレクトマップキャッシュは、タグ部分210およびデータ部分212を含むキャッシュエントリであり得る)から作られ得る。データ読出しは、ページ番号202ならびにブロック有効ビット(タグまたはメタデータエントリの一部であり得る)およびページ許可(ページ番号202の一部)とのタグ比較によって制御され得る。キャッシュ列サイズは仮想メモリページサイズに等しいこともあり、キャッシュインデックスは、ページ番号202または仮想ページ番号からのビットを使用しないことがある。
【００３３】
図3は、本開示の一態様による、読取り経路および書込み経路を示す抵抗メモリキャッシュ300の概略図である。抵抗メモリキャッシュ300に入力される信号は、第1の入力データ書込み信号HWDATAS1、第2の入力データ書込み信号HWDATAS2、第1の入力データ読取り信号HRDATAM0、および第2の入力データ読取り信号HRDATAM1を含む。抵抗メモリキャッシュ300から出力される信号は、第1の出力データ読取り信号HRDATAS0、第2の出力データ読取り信号HRDATAS1、第1の出力データ書込み信号HWDATAM1、および第2の出力データ書込み信号HWDATAM2を含む。抵抗メモリキャッシュ300は、HRDATAS0信号を出力する第1のマルチプレクサ302、HRDATAS1信号を出力する第2のマルチプレクサ304、HWDATAS1信号およびHWDATAS2信号を受信する第3のマルチプレクサ306、第1のライン読取りバッファ318から入力を受信する第4のマルチプレクサ308、第2のライン読取りバッファ320から入力を受信する第5のマルチプレクサ310、第1のラインフィルバッファ336から入力を受信する第6のマルチプレクサ322、第2のラインフィルバッファ338から入力を受信する第7のマルチプレクサ324、主マルチプレクサ328、ならびにHWDATAM2信号を出力する第8のマルチプレクサ334を含む。
【００３４】
抵抗メモリキャッシュ300はまた、第3のマルチプレクサ306から入力を受信し、主マルチプレクサ328、書込み割振りバッファ326、および第8のマルチプレクサ334にデータを出力する書込みバッファ312を含む。書込み割振りバッファ326は、第2のラインフィルバッファ338および書込みバッファ312から入力を受信する。送出バッファ332は、入力をメモリ330から受信し、第8のマルチプレクサ334に出力する。
【００３５】
第1のライン読取りバッファ318は、入力をメモリ330から受信し、第4のマルチプレクサ308に出力し、第2のライン読取りバッファ320は、入力をメモリ330から受信し、第2のマルチプレクサ304に出力する。第1のラインフィルバッファ336は、入力をHRDATAM0信号から受信し、第6のマルチプレクサ322に出力し、第2のラインフィルバッファ338は、入力をHRDATAM1信号から受信し、第7のマルチプレクサに出力する。
【００３６】
メモリ330は、抵抗メモリキャッシュ300における様々な構成要素に書き込まれ、様々な構成要素から読み取られるデータを記憶する。メモリ330は、出力部340および入力部342を有する。一実装形態では、出力部340および入力部342は同じポート341を共有する。書き込まれる予定のデータが主マルチプレクサ328から来て、入力部342を介してメモリ330に転送する。メモリ330から読み取られるデータは、出力部340を介して出力され、第1のライン読取りバッファ318に送られる。
【００３７】
抵抗メモリキャッシュ300はまた、イベントモニタ316を含む。キャッシュイベント314がイベントモニタ316に入力される。キャッシュイベント314は、抵抗メモリキャッシュ300において発生する関連イベントを表す。
【００３８】
読取り経路は、データがメモリ330から出力部340を介して第1のライン読取りバッファ318および第2のライン読取りバッファ320に転送されるものとして表される。読取り経路はまた、臨界経路、すなわち、読取りまたは書込み動作を実行するために抵抗メモリキャッシュ300の構成要素を通る最長必要経路にあり得る。
【００３９】
書込み経路は、データが一方の端部(上部)における書込みバッファ312および書込み割振りバッファ326から、またデータが別の端部(底部)における第1のラインフィルバッファ336および第2のラインフィルバッファ338から主マルチプレクサ328に転送されるものとして表される。次いで、データは、主マルチプレクサ328からメモリ330に流れる。書込み経路は臨界経路になくてよい。
【００４０】
読取り経路および書込み経路は別個のものであるが、それらは同じポート341を共有することができる。長い書込みレイテンシは、共有される入力/出力ポート341が長い書込み動作によって占有されるので、入力部342および/または出力部340をブロックし得る。これにより読取りアクセスが遅延する。すなわち、書込み動作が完了するまで読取り動作が実行されないことがある。その結果、抵抗メモリキャッシュ300の速度が遅くなる。
【００４１】
図4A〜図4Bは、本開示の態様による、異なる書込みパルス構成を示すタイミング図である。第1のタイミング図400は、長い書込みパルスを使用する一般的な抵抗メモリデバイスのタイミング動作を示す。第1のタイミング図400は、クロック信号402、コマンドの到着タイミング404、およびコマンドの実行タイミング406を示す。コマンド到着タイミング404およびコマンド実行タイミング406は、ここでは「RD0」、「RD1」、「WR0」、「RD2」および「RD3」として示される、いくつかの読取りコマンドまたは書込みコマンドの到着および実行を示す。到着コマンドの各々は、到着後の遅延した時間に実行される。
【００４２】
第1のタイミング図400の例では、読取り動作は2クロックサイクルを要し、書込み動作(「WR0」)は10クロックサイクルを要する。したがって、第1のタイミング図400に見られるように、「WR0」コマンドは、長い(たとえば、10クロックサイクルの)「WR0」コマンドとして実行される。このため、「RD2」および「RD3」コマンドの実行は遅延し、「WR0」コマンドの実行が完了して初めて実行され得る。読取りコマンドは書込みコマンドが実行されるまで待つことを余儀なくされるので、抵抗メモリデバイスのパフォーマンスおよび速度は低下する。
【００４３】
図4Bに示す第2のタイミング図410は、1つの長い書込みパルスの代わりに複数の短い書込みパルスを使用する本開示の一態様による抵抗メモリデバイスのタイミング動作を示す。第2のタイミング図410はまた、クロック信号402、コマンド到着タイミング404および修正コマンド実行タイミング408を示す。第2のタイミング図410では、到着「WR0」コマンドは、別個のより小さいサブコマンドに分割される。この例では、「WR0」は5つの書込みサブコマンドまたはパルス、すなわち、実行される「WR0-p1」、「WR0-p2」、「WR0-p3」、「WR0-p4」および「WR0-p5」に分割される。これらのより短い書込み動作サブコマンドの各々は、実行するのに2クロックサイクルを要するだけであり、2クロックサイクルは、この例では、読取り動作を実行するのに要するのと同じ時間である。より短い「WR0-p1」サブコマンドが最初に実行されるので、読取りコマンド「RD2」および「RD3」はより早く、または書込みパルスのいずれかの間に実行され得る。次いで、「WR0」サブコマンドの残り(p2〜p5)が実行される。この例は書込みパルス幅を、読取りパルス幅に等しいものとして説明しているが、より短い書込みパルス幅は任意の長さを有し得る。
【００４４】
より小さい書込みパルスをより優先度の高い動作の周りに分散することで、全体の読取り/書込み動作を改善することが可能になる。したがって、抵抗メモリデバイスは、動作をより速く、より効率的に終えることが可能であり得る。たとえば、第2のタイミング図410は、第1のタイミング図400において読取りコマンドが実行されるほぼ8クロックサイクル前にすべての読取りコマンド(「RD0」〜「RD3」)が完了するという点で、ほぼ8クロックサイクルのパフォーマンス改善412を有する。
【００４５】
着信書込みコマンドが受信されたとき、コマンドはサブコマンドに分割される。書込みコマンドおよび/またはサブコマンドは、書込みバッファに記憶され得る。各書込みバッファエントリは、データおよびアドレスを含むことができる。その上、各エントリはまた、書込みコマンドに関連する残存書込みサブコマンドの数を含むことができる。残存サブコマンドの数は、カウンタとして機能し得る。
【００４６】
本開示の一態様では、抵抗メモリキャッシュのパフォーマンスを改善するためのアルゴリズムは、4つの主要ステップを有する。
【００４７】
第一に、書込みコマンドが分割される場合のサブコマンドの数、Nが決定される。たとえば、図4Bに示すように、長い書込みパルス動作がN=5個のサブコマンドに分割され得る。各サブコマンドは、クロックサイクルの数に対応する長さを有することになり、均一であり得る。別の実装形態では、サブコマンドはそれぞれ異なるクロックサイクル長を有する。
【００４８】
第二に、新しい書込みコマンドが到着し、書込みバッファが一杯ではないとき、データおよびアドレス情報エントリは空にされる。書込みサブコマンドがいくつあるかを追跡するカウンタもある。カウンタは、Nから開始してカウントダウンすること、または0から開始してN-1までカウントアップすること、もしくは1から開始してNまでカウントアップすることができる。カウンタはハードウェア中に実装され得る。
【００４９】
第三に、読取り待ち行列が空になったときはいつでも、書込みバッファからのエントリが引き出される。最も古い書込みバッファエントリが最初に引き出され得る。短い書込みパルスは1つずつ適用され、カウンタが((Nから開始して)減分すること、または(0もしくは1から開始して)増分することのいずれかによって)変更される。(Nから開始した場合)カウンタが0に達すると、その書込みバッファエントリは除去される。
【００５０】
第四に、新しい書込みコマンドが到着し、書込みバッファが一杯であるとき、読取り待ち行列が空ではない場合に読取り待ち行列はブロックされる。次いで、最も古い書込みバッファエントリが解放されるまで、書込みサブコマンドが実行される。上記の第2のステップ(データおよびアドレス情報エントリを空にすること)は、最も古い書込みバッファエントリが解放されるまで繰り返されてもよい。読取り待ち行列はこのときに、必要な場合にはアンブロックされてもよい。
【００５１】
図5は、本開示の一態様による、抵抗メモリキャッシュから読み取り、抵抗メモリキャッシュに書き込む方法500を示すプロセスフロー図である。ブロック502において、書込みコマンドが受信される。ブロック504において、書込みコマンドが書込みサブコマンドのセットに分割される。ブロック506において、読取りコマンドが受信される。ブロック508において、次の書込みサブコマンドを実行する前に読取りコマンドが実行される。一実装形態では、方法500はまた、書込みバッファが一杯であるかどうかを判断するステップと、書込みバッファが一杯ではないときに読取りコマンドを実行するステップと、書込みバッファが一杯であるときに、読取りコマンドを実行する代わりに、次の書込みサブコマンドを実行するステップとを含む。別の実装形態では、方法500はまた、書込みコマンドを受信したことに応答して書込みバッファエントリを作成する。エントリは、データ、アドレス、および残存する書込みサブコマンドの数を含む。その場合、方法500はまた、書込みサブコマンドを実行するステップと、書込みサブコマンドを実行した後に残存する書込みサブコマンドの数を変更するステップとを含み得る。さらに、方法500はまた、書込みサブコマンドのセットが実行されたときに書込みバッファエントリを除去するステップを含み得る。
【００５２】
ブロックは特定のシーケンスで示されているが、本開示はそのように限定されない。書込み動作をより小さい書込みパルスに分割することによって抵抗メモリキャッシュのパフォーマンスを改善するための方法が提供される。適切に使用された場合、本開示の手法は、一般的な抵抗メモリデバイスのパフォーマンスを改善することができる。CPUパフォーマンスも向上し得る。
【００５３】
上記では、抵抗メモリデバイスまたは抵抗メモリ要素は、磁気トンネル接合(MTJ)、磁気ランダムアクセスメモリ(MRAM)、抵抗ランダムアクセスメモリ(RRAM（登録商標）)、または座標系を有する任意の抵抗メモリを含むことができる。
【００５４】
本開示のさらなる態様によれば、抵抗メモリキャッシュが提供される。抵抗メモリキャッシュはまた、データを記憶するための手段を含む。データを記憶するための手段は、メモリ330を含む。別の構成では、前述の手段は、前述の手段によって挙げられる機能を実行するように構成された任意のモジュールまたは任意の装置とすることができる。
【００５５】
抵抗メモリキャッシュはまた、書込み動作をバッファリングするための手段を含む。バッファリングするための手段は、書込みバッファ312のほか、ライン読取りバッファ318および320と、ラインフィルバッファ336および338と、送出バッファ332とを含む。別の構成では、前述の手段は、前述の手段によって挙げられる機能を実行するように構成された任意のモジュールまたは任意の装置とすることができる。
【００５６】
図6は、本開示の一態様が有利に利用され得る例示的なワイヤレス通信システム600を示すブロック図である。説明のために、図6は、3つの遠隔ユニット620、630および650、ならびに2つの基地局640を示す。ワイヤレス通信システムは、これよりも多くの遠隔ユニットおよび基地局を有し得ることが認識されよう。遠隔ユニット620、630および650は、開示された抵抗メモリデバイスまたは抵抗メモリキャッシュを含むICデバイス625A、625Cおよび625Bを含む。他のデバイスも、基地局、スイッチングデバイスおよびネットワーク機器など、開示された抵抗メモリデバイスを含み得ることが認識されよう。図6は、基地局640から遠隔ユニット620、630、および650への順方向リンク信号680、ならびに遠隔ユニット620、630、および650から基地局640への逆方向リンク信号690を示す。
【００５７】
図6では、遠隔ユニット620は携帯電話として示され、遠隔ユニット630はポータブルコンピュータとして示され、かつ遠隔ユニット650は、ワイヤレスローカルループシステムにおける固定位置遠隔ユニットとして示されている。たとえば、遠隔ユニットは、モバイルフォン、ハンドヘルドパーソナル通信システム(PCS)ユニット、携帯情報端末などのポータブルデータユニット、GPS対応デバイス、ナビゲーションデバイス、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、検針機器などの固定位置データユニット、またはデータもしくはコンピュータ命令を記憶する、もしくは取り出す他のデバイス、またはそれらの組合せとすることができる。図6は本開示の態様による遠隔ユニットを示すが、本開示は、これらの示された例示的なユニットに限定されない。本開示の態様は、開示された抵抗メモリデバイスを含む多くのデバイスにおいて適切に利用され得る。
【００５８】
図7は、上記で開示された抵抗メモリデバイスなど、半導体構成要素の回路設計、レイアウト設計、および論理設計に使用される設計用ワークステーション700を示すブロック図である。設計用ワークステーション700は、オペレーティングシステムソフトウェア、サポートファイル、およびCadenceまたはOrCADなどの設計ソフトウェアを収容する、ハードディスク701を含む。設計用ワークステーション700はまた、回路710または、抵抗メモリデバイスなどの半導体構成要素712の設計を容易にするために、ディスプレイ702を含む。回路設計710または半導体構成要素712を明白に記憶するために、記憶媒体704が用意される。回路設計710または半導体構成要素712は、GDSIIまたはGERBERなどのファイル形式で記憶媒体704上に記憶され得る。記憶媒体704は、CD-ROM、DVD、ハードディスク、フラッシュメモリ、または他の適切なデバイスとすることができる。さらに、設計用ワークステーション700は、記憶媒体704から入力を受け取る、または記憶媒体704に出力を書き込むための、ドライブ装置703を含む。
【００５９】
記憶媒体704上に記録されるデータは、論理回路構成、フォトリソグラフィマスク用のパターンデータ、または電子ビームリソグラフィなどの連続描画ツール用のマスクパターンデータを詳述することができる。データはさらに、論理シミュレーションに関連するタイミング図またはネット回路などの論理検証データを含むことができる。記憶媒体704上にデータを提供すると、半導体ウェーハを設計するためのプロセス数が減少することによって、回路設計710または半導体構成要素712の設計が容易になる。
【００６０】
ファームウェアおよび/またはソフトウェアの実装形態の場合、方法は、本明細書で説明する機能を実行するモジュール(たとえば、プロシージャ、関数など)を用いて実装され得る。本明細書で説明する方法を実装する際に、命令を明白に具現化する機械可読媒体が使用され得る。たとえば、ソフトウェアコードがメモリに記憶され、プロセッサユニットによって実行され得る。メモリは、プロセッサユニット内またはプロセッサユニットの外部に実装されてよい。本明細書で使用する「メモリ」という用語は、長期メモリ、短期メモリ、揮発性メモリ、不揮発性メモリ、または他のメモリのタイプを指し、特定のタイプのメモリもしくは特定の数のメモリ、またはメモリが格納される特定のタイプの媒体に限定されない。
【００６１】
ファームウェアおよび/またはソフトウェアにおいて実装される場合、これらの機能は、コンピュータ可読媒体上に1つもしくは複数の命令またはコードとして記憶され得る。例として、データ構造により符号化されたコンピュータ可読媒体、およびコンピュータプログラムにより符号化されたコンピュータ可読媒体がある。コンピュータ可読媒体は物理的コンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスされ得る利用可能な媒体とすることができる。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または、所望のプログラムコードを命令もしくはデータ構造の形で記憶するのに使用され得、かつコンピュータによってアクセスされ得る他の媒体を含むことができ、本明細書で使用されるディスク(diskおよびdisc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生するが、ディスク(disc)はデータをレーザによって光学的に再生する。上述したものの組合せも、コンピュータ可読媒体の範囲内に含められるべきである。
【００６２】
コンピュータ可読媒体における記憶に加えて、命令および/またはデータは、通信装置に含まれる送信媒体における信号として提供され得る。たとえば、通信装置は、命令およびデータを示す信号を有するトランシーバを含むことができる。命令およびデータは、1つまたは複数のプロセッサに、特許請求の範囲において概説される機能を実装させるように構成されている。
【００６３】
以上、本開示およびその利点について詳細に説明してきたが、添付の特許請求の範囲によって定められる本開示の技術から逸脱することなく、本明細書において様々な変更、置換、および改変を行えることを理解されたい。たとえば、「上」および「下」などの関係性の用語が、基板または電子デバイスに関して使用される。当然、基板または電子デバイスが反転した場合、上は下に、下は上になる。加えて、横向きの場合、上および下は、基板または電子デバイスの側面を指す場合がある。さらに、本出願の範囲は、本明細書で説明したプロセス、機械、製造、組成物、手段、方法およびステップの特定の構成に限定されることは意図されない。当業者なら本開示から容易に諒解するように、本明細書において説明した対応する構成と実質的に同じ機能を実行する、またはそれと実質的に同じ結果を達成する、現存するまたは後に開発されるプロセス、機械、製造、組成物、手段、方法、またはステップを、本開示に従って利用することができる。したがって、添付の特許請求の範囲が、そのようなプロセス、機械、製造、組成物、手段、方法、またはステップをその範囲内に含むことが意図される。
【符号の説明】
【００６４】
100  メモリセル
102  磁気トンネル接合(MTJ)
104  アクセストランジスタ
106  固定層
110  フリー層
112  ビットライン
114  トンネル障壁層
116  ゲート
118  ワードライン
122  固定電位ノード
200  キャッシュメモリ
202  ページ番号
204  セット番号
206  バイト番号
208  キャッシュウェイ
210  タグ部分
212  データ部分
214  キャッシュブロック
216  キャッシュセット
218a  タグセンス増幅部
218b  データセンス増幅部
220  タグ出力部
222  比較部
224  論理ゲート
226  キャッシュグループ
228  選択回路
230  ワード出力部
240  キャッシュコントローラ
300  抵抗メモリキャッシュ
302  第1のマルチプレクサ
304  第2のマルチプレクサ
306  第3のマルチプレクサ
308  第4のマルチプレクサ
310  第5のマルチプレクサ
312  書込みバッファ
314  キャッシュイベント
316  イベントモニタ
318  第1のライン読取りバッファ、ライン読取りバッファ
320  第2のライン読取りバッファ、ライン読取りバッファ
322  第6のマルチプレクサ
324  第7のマルチプレクサ
326  書込み割振りバッファ
328  主マルチプレクサ
330  メモリ
332  送出バッファ
334  第8のマルチプレクサ
336  第1のラインフィルバッファ、ラインフィルバッファ
338  第2のラインフィルバッファ、ラインフィルバッファ
340  出力部
341  ポート、入力/出力ポート
342  入力部
400  第1のタイミング図
402  クロック信号
404  コマンドの到着タイミング、コマンド到着タイミング
406  コマンドの実行タイミング、コマンド実行タイミング
408  修正コマンド実行タイミング
410  第2のタイミング図
412  パフォーマンス改善
500  方法
600  ワイヤレス通信システム
620  遠隔ユニット
625A  ICデバイス
625B  ICデバイス
625C  ICデバイス
630  遠隔ユニット
650  遠隔ユニット
640  基地局
680  順方向リンク信号
690  逆方向リンク信号
700  設計用ワークステーション
701  ハードディスク
702  ディスプレイ
703  ドライブ装置
704  記憶媒体
710  回路、回路設計
712  半導体構成要素
【図１】
2016538629.tif 000008
【図２】
2016538629.tif 000009
【図３】
2016538629.tif 000010
【図４Ａ】
2016538629.tif 000011
【図４Ｂ】
2016538629.tif 000012
【図５】
2016538629.tif 000013
【図６】
2016538629.tif 000014
【図７】
2016538629.tif 000015
【国際調査報告】
2016538629.tif 000016
2016538629.tif 000017