JP2015172960A - 原子メモリ装置 - Google Patents

原子メモリ装置 Download PDF

Info

Publication number
JP2015172960A
JP2015172960A JP2015103118A JP2015103118A JP2015172960A JP 2015172960 A JP2015172960 A JP 2015172960A JP 2015103118 A JP2015103118 A JP 2015103118A JP 2015103118 A JP2015103118 A JP 2015103118A JP 2015172960 A JP2015172960 A JP 2015172960A
Authority
JP
Japan
Prior art keywords
data
memory
data value
core
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015103118A
Other languages
English (en)
Other versions
JP6170093B2 (ja
Inventor
シェフラー,トーマス
Sheffler Thomas
ライ,ローレンス
Lai Lawrence
ペン,リャン
Liang Peng
リフリーク,ボフスロフ
Rychlik Bohuslav
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rambus Inc
Original Assignee
Rambus Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rambus Inc filed Critical Rambus Inc
Publication of JP2015172960A publication Critical patent/JP2015172960A/ja
Application granted granted Critical
Publication of JP6170093B2 publication Critical patent/JP6170093B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2024Rewritable memory not requiring erasing, e.g. resistive or ferroelectric RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/107Serial-parallel conversion of data or prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

【課題】改善されたデータ処理システム内のデータ記憶および操作を提供する。【解決手段】メモリコア105を有する集積回路メモリ装置103において、第1のデータ値が、メモリアクセスコマンドに応じて、メモリコア内のアドレス指定された位置から検索される。第1のデータ値は、メモリアクセスコマンドに応じて、メモリ装置から出力され、第2のデータ値が、メモリアクセスコマンドに応じて、メモリコア内のアドレス指定された位置に記憶される。【選択図】図1A

Description

本発明は、一般にデータ処理分野に関し、特にデータ処理システム内のデータ記憶および操作に関する。
プロセッサ性能とメモリ帯域幅との間の増大し続けるギャップは、プロセッサが、動作メモリからデータをフェッチしなければならないに場合に被るタイミングペナルティの増加に反映される。プロセッサストール(データ検索を待っている)および構造的対応策(例えばキャッシュメモリ)は、シングルプロセッサシステムの中でも大変高価であるが、かかるコストは、マルチプロセッサシステム(マルチコアプロセッサを含む)において、特に多数のプロセッサまたはプロセッサコアが記憶位置(例えばメモリ)を共有する場合には、倍増する傾向がある。その場合に、プロセッサの1つによる共有データの修正は、一般に、他のプロセッサが潜在的に古い共有データにアクセスするのを排除するために、コヒーレンス制御、すなわち「ロック」または「セマフォ」などのプロセッサ間通信または他の高レベルな調整を必要とし、その間にデータ修正プロセッサは、動作メモリから共有データをフェッチし、データを修正し、次に修正データを動作メモリへライトバックするために必要な多数のステップを実行する。一般に、共有データへのアクセスを必要とする排除されたプロセッサのいずれも、排他的アクセスが完了したという通知を待たなければならない。
本発明は、添付の図において、限定としてではなく例として示され、これらの図において、同様の参照数字は、同様の要素を指す。
本明細書で「原子」メモリ動作と呼ばれる、アクセス保護されたデータ修正動作を実行できるデータ処理システムの実施形態を示す。 図1Aの原子メモリ装置および原子メモリコントローラによってサポートされた多数の原子メモリ動作におけるデータフローを示す。 図1Aの原子メモリ装置および原子メモリコントローラによってサポートされた多数の原子メモリ動作におけるデータフローを示す。 図1Aの原子メモリ装置および原子メモリコントローラによってサポートされた多数の原子メモリ動作におけるデータフローを示す。 図1Aの原子メモリ装置および原子メモリコントローラによってサポートされた多数の原子メモリ動作におけるデータフローを示す。 図1Aの原子メモリ装置および原子メモリコントローラによってサポートされた多数の原子メモリ動作におけるデータフローを示す。 図1Aの原子メモリ装置および原子メモリコントローラによってサポートされた多数の単信メモリ動作におけるデータフローを示す。 図1Aの原子メモリ装置および原子メモリコントローラによってサポートされた多数の単信メモリ動作におけるデータフローを示す。 原子メモリ装置の実施形態をより詳細に示す。 図2に示す修正論理を実行するために使用可能な修正論理回路の実施形態を示す。 図3の修正コントローラによって開始および制御可能な動作の表を示す。 メモリアクセスコマンドの受信に応じた、原子メモリ装置の一般化された例示的な動作を示す。 図3の原子メモリ装置内の例示的な複信動作中の信号タイミングを示すタイミング図である。
一般にデータアクセスに必要な時間間隔内でデータ修正動作を実行するための回路を有するメモリ装置が、様々な実施形態において開示される。一般に、データ修正動作をメモリアクセス時間下または内に隠すことによって、データへの排他的アクセスが、メモリ装置自体内でのメモリアクセスプロセスよって確立され、こうしてプロセッサ(単複)、メモリコントローラ、または他の上流回路内において、高価で非効率的な排他性制御機構が不要になる。以下で提示するいくつかの単一集積回路実施形態において、集積回路メモリ装置の入力/出力パイプラインには、マルチステップ動作を実行するための、および同じまたは異なるメモリセルにデータをライトバックするための能力が含まれる。これらの動作が、入力/出力パイプライン(一般に、一度に1人の要求者によってのみ用いることができる)によって実行されるので、ロックは、複雑なソフトウェア機構もマルチプロセッサ通信もなしに効果的に確立することができる。
2人のユーザの例を用いた仮説的な実例を示す。各ユーザは、別個のワークステーションを有し、かつ100ドルのエントリを有する共有金融口座データベースを更新したいと思っている。各ユーザのワークステーションは、問題のエントリ(100ドル)を読み出す可能性があり、各ユーザは、異なる増額分を追加して(例えば、第1のユーザの場合には20ドルの追加、および第2のユーザの場合には50ドルの追加)口座を更新したいと思う可能性がある。この状況においてソフトウェアロックを使用すると、一方のユーザは、もう一方のユーザが終了するまで、エントリまたは関連する処理を利用できないことになろう。ロックの不使用は、次のことを意味する可能性がある。すなわち、エントリにアクセスする第2のユーザが、古いエントリ(100ドル)読み出し、次にその古いエントリに、古い情報の更新(例えば150ドル)を上書きし、不正確なエントリに帰着する可能性がある(例えば、正確な値は170ドルであるはずなのに、第1のユーザの120ドルのエントリに上書きした150ドル)。
図1Aは、アクセス保護されたデータ修正動作、すなわち、メモリアクセス動作と並行してまたは同一の広がりで実行される、したがってメモリアクセス自体により課されるタイミング制限によって望ましくない介入アクセスから保護されるデータ修正動作を実行できるデータ処理システム100の実施形態を示す。かかる複合メモリ動作(すなわち、1つ以上のメモリコアから検索されるデータと同様に、検索データに対する論理、算術、交換または他の動作を含む)は、それらが、競合するメモリ要求者の観点からは不可分なので、本明細書では「原子」動作と呼ばれる。したがって、かかる複合動作の原子的特徴が、メモリサブシステムにデータを格納する個別メモリ装置内の回路、およびメモリコントローラによる専用の「原子」メモリアクセスコマンド(または要求もしくは命令)の発行によって実施(達成)されるので、本明細書において、かかるメモリ装置は、「原子」メモリ装置と呼ばれ、メモリコントローラは、「原子」メモリコントローラと呼ばれる。したがって、図1Aのメモリサブシステムには、1つまたは複数のスレッドを実行する1つ以上のプロセッサ102または他のホスト装置からのメモリアクセス要求(ホスト要求経路「HostReq」を介して発行される)に応答する原子メモリコントローラ101が含まれる。各「原子動作」は、コマンド/アドレス経路110(「C/A」)を介して1つ以上の原子メモリ装置103に、対応するコマンドおよびアドレス情報を発行することによって達成される。ホスト書き込み要求の場合に、書き込みデータは、ホストデータ経路(「HostData」)を介して、ホストプロセッサ102から原子メモリコントローラ101に出力され、次に、メモリデータ経路112(「Data」)を介して、原子メモリコントローラ101から原子メモリ装置103に出力される。反対に、ホスト読み出し要求の場合に、読み出しデータは、メモリデータ経路112を介して、1つ以上の原子メモリ装置103から原子メモリコントローラ101に出力され、次に、対応するホストデータ経路を介して、原子メモリコントローラ101から要求しているホスト102に出力される。
メモリサブシステムのトポロジに関して、任意の数の原子メモリ装置103を、ポイントツーポイントおよびマルチドロップシグナリング経路の任意の組み合わせで、原子メモリコントローラ101に結合してもよい。一実施形態において、例えば、原子メモリ装置103は、1つ以上のメモリランクに組織され(すなわち、1つ以上のチップ選択線または他の選択機構を介してユニットとして選択され)、メモリランクの各原子メモリ装置103は、共通コマンド/アドレス経路110およびそれぞれの(1メモリ装置ごとに専用の)メモリデータ経路110介して、原子メモリコントローラ101に結合される。この配置によって、所与のランクのメモリ装置は、原子メモリ装置103のランクと原子メモリコントローラ101との間で転送されるデータワード全体のそれぞれの部分を(専用メモリデータ経路を介して)受信または出力することによって、同じメモリアクセスコマンドおよびメモリアドレスを受信するために、および共通コマンド/アドレスに応答するために、(例えば、共有チップ選択線または他の装置選択機構を介して)ユニットとして選択され得る。代替実施形態において、マルチドロップ配置では、別個のコマンドアドレス経路110を設けて、ランクとしてまたは個別に原子メモリ装置の選択を可能にしてもよく、かつ/または多数の原子メモリ装置103を、メモリデータ経路110に(もしくはシステム100における各メモリデータ経路110に)に結合してもよい。
やはり図1Aを参照すると、原子メモリ装置103のそれぞれには、1つ以上の記憶セルアレイによって形成されたメモリコア105へのアクセスを可能にするコアアクセス回路107が含まれる。メモリコア105の記憶アレイには、例えば、限定するわけではないが、揮発性または不揮発性メモリを含む事実上任意のタイプの記憶セルによってデータを格納してもよい。例えば、記憶セルには、スタティックランダムアクセスメモリ(スタティックRAMまたはSRAM)セル、ダイナミックRAM(DRAM)セル、NANDまたはNORフラッシュメモリセルなどの電荷トラップセル、相変化メモリセル、強磁性体メモリセル、またはデジタルデータの記憶および検索を可能にする任意の他の記憶セル技術を含んでもよい。さらに、メモリコア105には、基本記憶セルへのアクセスを可能にする様々な信号線および回路を含んでもよく、これらには、例えば、限定するわけではないが、記憶セルのアドレス選択された行へのアクセスを可能にするワード線、ワード線で選択された記憶セルとセンス増幅器または同様の回路との間でデータ信号を伝達するビット線、ならびにデータ検索(読み出し)動作中に、選択されたセルから出力された検出信号(および/またはラッチ信号)のための、かつ書き込みまたはリフレッシュ動作中に、選択されたセルへ逆に信号を送るためのセンス増幅器自体などがある。明確性および確実性のために、以下の実施形態において、原子メモリ装置は、DRAMコアを有し、かつ時には原子DRAMと呼ばれるものとして示されている。全てのかかる実施形態において、DRAM以外のデータ記憶技術を、メモリコア105、コアアクセス回路107、原子メモリコントローラ101、および相互接続トポロジにおける相応の変化と共に、本明細書に開示する改変および改善に従って用いてもよい。
引き続き図1Aに示す例示的な原子メモリ装置103に関して、コアアクセス回路107には、コマンド/アドレス経路110(別個のコマンドおよびアドレス経路によって、またはコマンドおよびアドレス情報と時分割多重化された単一のシグナリング経路によって形成してもよい)を介してコマンドおよびアドレス情報を受信するように結合された制御論理回路109と、メモリコア105と外部データ経路(すなわちメモリデータ経路112)との間のデータ転送を管理するデータ入力/出力(I/O)回路115と、が含まれる。制御論理回路109(略して「制御論理」)は、メモリコア105の動作を制御すること(行および列復号化動作、センス動作、リフレッシュ動作、プリチャージ動作、プログラミング動作、消去動作等を開始すること)およびまたデータI/O回路115の動作を制御することによって、着信コマンドおよびアドレスに応答する。特に、制御論理回路109は、メモリ書き込み動作(およびデータ記憶を含む原子メモリ動作)中に、データ受信のタイミングを管理して、データ110回路が、対応するメモリコマンドの登録に対して、所定の時間に外部データ経路からの着信データ(例えば、以下で説明するような書き込みデータ、スワップデータおよび/またはオペランドデータ)のデータサンプリングを開始できるように、および着信データを、メモリコア105へのインターフェースを形成する1つ以上のレジスタかバッファにラッチできるようにしてもよい。同様に、制御論理109は、メモリ読み出し動作中に、データ送信のタイミングを管理して、データI/O回路115が、メモリコアインターフェースから読み出しデータをアンロードすること、およびメモリ読み出しコマンド(またはホスト要求者にデータを返す原子動作を実行するコマンド)のレジストレーションに対して、所定時間に外部データ経路上に読み出しデータを出力することを開始できるようにしてもよい。特に示してはいないが、クロックおよび/またはストローブ信号(すなわち、有効データの存在を示すために遷移する信号)を含む様々なタイミング信号を、原子メモリ装置103内で受信または生成してもよく、かつ制御論理109、データI/O回路115、および/またはメモリコア内で内部動作と同様にデータサンプリング、送信動作を調整するために用いてもよい。
従来のメモリ装置とは対照的に、原子メモリ装置103には、データ検索と並行して上記のデータ修正動作を実行するための回路が含まれる。より具体的には、制御論理109には、非原子メモリ読み出しおよび書き込みコマンド(ならびに基本メモリ技術を管理する必要に応じた行アクティブコマンド、プリチャージコマンド、リフレッシュコマンド、プログラムコマンド、消去コマンドなど)と同様に、原子動作コマンド(すなわち、指定された原子動作を実行するコマンド)に応答する回路が含まれる。さらに、図1Aに示すように、データI/O回路115には、もしあれば検索データがその外部宛先への途中にあるときに、検索データの修正およびライトバックを可能にする修正論理回路117(略して「修正論理」)が含まれる。一実施形態において、例えば、修正論理117は、データI/Oサンプラーおよびドライバ回路(それぞれ121および123)とメモリコアインターフェースとの間で発信(読み出し)および着信(書き込み)データを伝達するために用いられる内部シリアルデータライン131、133間に結合される。検索データが、発信シリアルデータライン133上へ(すなわち、メモリコア105から遠方へ)ビットごとにシフトされるにつれて、シリアルデータビットは、指定された修正動作128に従って修正論理117内によって受信され、かつ修正論理117によって操作されて修正データを生成してもよく、この修正データが今度は、着信シリアルデータライン131上に(すなわち、メモリコアの方へ)ビットごとにシフトされ、したがってメモリコア105にライトバックされる。全体的なデータ修正およびライトバック時間が、データ検索時間自体のもとに(例えば、メモリ装置の列アクセス時間または列アクセスサイクル時間内に)完全にまたは少なくとも実質的に隠され得るので、メモリコア技術によって課される固有のタイミング制限は、メモリコア105内における修正データの記憶(より遠隔の記憶セル自体の内部でない場合には、メモリコアのセンス増幅器バンク内の記憶を含む)に先立つ修正データへの望ましくないアクセスを防ぐ役割をし、したがってホスト要求者またはメモリコントローラ内のコヒーレンス機構の必要なしにコヒーレンスを保証する。すなわち、メモリ装置において実行されるデータ読み出しおよび書き込み(例えば、読み出し−修正−書き込み)動作は、それが、(a)ロック機構(メモリロックは、遠隔コントローラによる処理中にソフトウェアまたはハードウェアを介して確立される)よりもはるかに素早く実行され、かつ(b)別の着信動作によって妨害され得ない方法で、入力/出力経路内で実行される。金融口座エントリに関連した、上記の仮説的な実例に戻ると、メモリ装置は、更新値(例えば120ドル)をメモリに書き込む動作を単一のコマンドで実行できるように、単一の読み出し−修正−書き込み動作を用いてもよく、かかる更新は、古いデータ用に開始することができない。
図1B〜1Fは、図1Aの原子メモリ装置103および原子メモリコントローラ101によってサポートされる多数の原子メモリ動作におけるデータフローを示す。実行できる例示的な動作には、1つ以上の論理演算、例えばインクリメント演算、デクリメント演算、反転、シフトおよび同様の演算と、データアクセスを組み合わせる動作が含まれる。他の動作は、例えば、一メモリ位置におけるデータがスワップされるスワップ動作などの多数のメモリアクセス動作を、別のメモリ位置からのデータまたはメモリコマンドによって提供されるデータと組み合わせてもよい。
図1Bから始めると、読み出し/修正動作において、データは、メモリ読み出し動作の一部として検索され、制御論理(およびしたがって原子メモリコントローラからの原子コマンド)により指定された修正動作128(「op」)に従って修正論理117内で修正され、かつ検索データの代わりにメモリコア105にライトバックされる。
図1Cにおいて、次のことを除いて同様の原子動作が実行される。すなわち、読み出しデータが単独のオペランドを構成する単項演算の代わりに、2項(2つのオペランド)演算が、読み出しデータを主要オペランドとして用い、かつ内部的または外部的に供給されたデータ値(「オペランド」140として図1Cに示す)を2次オペランドとして用いて、指定された修正動作128に従って実行されることを除いて、同様の原子動作が実行される。以下で説明するように、かかる供給オペランドは、前にメモリコア105から検索されてオペランドレジスタ内に記憶された値、メモリコントローラに命令されたレジスタ書き込み動作の一部としてオペランドレジスタ内に記憶された値、別のメモリ装置からの(例えば隣接するランクからの)または任意の他のオペランドデータソースからのキャリービットであってもよい。外部供給オペランド(例えば、オペランドにロードされる値)は、例えば、書き込みデータとだいたい同じ方法(必ずしも同じコマンド関連タイミングではないが)で外部データ経路(すなわち、図1Aのメモリデータ経路112)を介して供給してもよい。代替として、外部供給オペランドは、コマンド/アドレス経路(例えば、この経路で送信される他の情報と時分割多重化されて)を介して、または原子メモリ装置への他のシグナリング接続部(例えば、異なるデータリンク上の共通モードシグナリングなどの帯域外送信チャンネル、メモリシステムを初期化するために用いられる低速信号チャネル等)を介して、供給してもよい。外部供給オペランドの具体例として、オペランドロード命令およびオペランド値を、それぞれC/Aおよびデータ経路を介して(またはどちらか一方の経路を介して個別に、もしくは任意の他の帯域内か帯域外シグナリング経路を介して)原子メモリコントローラ101から原子メモリ装置103へ供給してもよい。原子メモリ装置103内の制御論理109は、着信オペランドを指定されたオペランドレジスタにロードできるようにすることによって、オペランドロード命令に応答する。上記で確認した技術に加えて、修正論理117内の動作のキャリービットまたは他のオペランドまたは結果を、141(「op 結果」)で示すようにメモリ装置(またはランク)から出力し、かつ別のメモリ装置またはメモリコントローラに供給して、かかる動作のオーバーフロー/アンダーフローまたは他の結果を示してもよい。
図1Dは、図1Aのメモリ装置アーキテクチャ内で実行可能な原子データ交換またはデータスワップ動作を示す。図1Cに示す複信動作に似ているが、読み出しデータ値の修正を実行する代わりに、読み出しデータは、多重化回路151を介して、スワップデータ値(「スワップデータ」)と条件付きまたは無条件でスワップされる。すなわち、スワップデータ値は、読み出しデータの代わりにメモリコア105に条件付きまたは無条件でライトバックされ、かつスワップデータはまた、メモリコントローラ(およびしたがってホスト要求者)に条件付きまたは無条件で返されて、スワップ結果を知らせてもよい。複信動作における2次オペランドと同様に、スワップデータ値は、内部的または外部的に供給してもよい(すなわち、原子メモリ装置内または外のソースによってそれぞれ供給される)。本明細書では単にスワップ動作と呼ばれる無条件スワップにおいて、スワップデータ値は、読み出しデータ値の代わりにメモリコアにライトバックされ(すなわち、読み出しデータ値に上書きする)、一方で読み出しデータ値は、メモリコントローラ(およびしたがってホスト要求者に)に返される。条件付きスワップにおいて、修正論理117は、読み出しデータおよび/またはスワップデータを評価し、評価結果に依存して読み出しデータおよびスワップデータを条件付きで交換(スワップ)する。例として、本明細書において比較およびスワップと呼ばれる条件付きスワップの特定の形態において、修正論理は、スワップデータおよび読み出しデータを比較して、どちらがより上位(より大きい、より小さい、より大きな規模、より多くの「1」またはより多くの「0」ビット等)であるかを決定し、スワップデータがより上位の値である場合のみ、スワップデータをメモリコア105にライトバックする。代替として(または異なるタイプの条件付きスワップコマンドに応じて)、読み出しデータだけもしくはスワップデータだけを評価して(または図1Dに破線矢印142で示すようにレジスタ供給条件もしくは比較値に関して評価して)、交換条件が満たされるかどうかを決定(例えば、読み出しデータもしくはスワップデータの所定の特性が満たされるかどうか(例えば、「0」より多い「1」)または読み出しデータもしくはスワップデータが、レジスタ供給比較条件を(いずれかの意味で)超えるかどうかを決定)してもよい。どちらのデータ評価が実行されても、スワップ条件が満たされる場合に、読み出しデータは、メモリコア105に読み出しデータをライトバックするかまたはさらにライトバックすることなく(例えば、データ変化が発生しない場合に、ライトバックは、抑制するかさもなければ省略してもよい)、スワップデータソース(例えば、内部レジスタまたはメモリコントローラ)に返してもよく、反対に、スワップが発生する(すなわち、交換条件が満たされる)場合に、スワップデータは、スワップデータソースに返してもよい。代替として、または異なる条件付きスワップコマンドの一部として、読み出しデータは、交換条件が満たされるかどうかにかかわらず返してもよい。
さらに図1Dを参照すると、より一般的な条件付き動作において、読み出しデータは、読み出しデータ、外部供給データおよび/または内部供給(例えば、レジスタ供給)データの評価に従って条件付きで修正し、条件付きで修正されたデータは、メモリコア105にライトバックし、かつ/またはホスト要求者に返してもよい。また、条件付き修正および条件付きスワップの組み合わせを実行してもよい。単項条件付き演算の例として、読み出しデータ値は、それが「1」ビットより多くの「0」ビットを有するかどうか(逆も同様である)を決定するために評価され、もしそうならば、修正論理によって補完されて、メモリコアにライトバックされる(および任意選択的に動作要求者へ逆に送信される)反転読み出しデータ値を、修正データ値として生成してもよい。2項条件付き演算の例として、読み出しデータ値を外部供給データ値と比較し、より上位の値を、ある方法(例えば、より上位の値内のカウンタフィールドをインクリメントして、より上位の値が勝った比較数を示す)で修正し、その後、より上位の値をメモリコア105にライトバックしてもよい。より一般的には、事実上任意の有用な条件付き交換および/または条件付き修正を修正論理117内で実行し、オリジナルの、修正された、および/またはより上位のデータをメモリコアまたはメモリコントローラに任意選択的に返してもよい。
図1Eは、読み出しデータ値の代わりに修正データがメモリコントローラに返される修正動作の特別な場合を示す。説明するように、読み出しデータ値は、修正論理117内で絶対的に(すなわち全ての場合において)修正するかまたは条件付きで修正してもよい。
図1Fは、別の特別な場合を示すが、この場合に、読み出しデータは、そのオリジナル形態でも修正された形態でもメモリコントローラに返されず、一方で修正論理117によって修正されたかまたは条件付きで修正されたデータが、メモリコア105にライトバックされる。
図1B〜1Fに関連して説明した原子動作について考えると、それぞれが、一般に、(上記のように、ライトバックを条件付きで省略または抑制可能なので条件付き双方向転送を含めて)メモリコア105に対して双方向データ転送を含むことが分かる。したがって、かかる動作は、時には本明細書において「複信」動作と呼ばれて、それらを、データフローがメモリコアに対して一方向である「単信」動作と区別する。かかる複信動作は、比較的長い書き込み待ち時間を示すメモリ技術(例えば、全物理ページを一度に書き込み得るNANDベースのフラッシュメモリ)において、上記のように任意の基本メモリ技術を用いて実行してもよいが、多くのインプリメンテーション選択肢を、複信動作タイミングに関して提供し得る。例えば、限定するわけではないが、内部書き込みキャッシュを設けて、複信動作の一部として書き込まれるデータをバッファし、それによって、書き込みキャッシュ内でデータライトバックを素早く完了できるようにしてもよい。次に、書き込みキャッシュからメモリコアへの転送は、書き込みキャッシュの内容への多数の更新後に、より長い時間間隔(例えば、基本メモリ技術によって必要とされるような)にわたって、および潜在的にしばらく経って行ってもよい。
同様に原子メモリ装置103によってサポートされる単信動作の例には、図1Gおよび1Hに示すようにメモリ読み出し動作およびメモリ書き込み動作が含まれる。図示のように、修正論理117の動作は、メモリ読み出し動作(図1G)において、読み出しデータが、メモリコア105からメモリコントローラへ一方向に流れ、かつメモリ書き込み動作(図1H)において、書き込みデータが、メモリコントローラからメモリコア105へ一方向に流れるように、ディスエーブルされる(かつ/または「×」で示すように、内部読み出しデータ経路/書き込みデータ経路が、修正論理117から分断される)。
上記の様々な実施形態において、装置入力/出力経路内の原子動作をサポートするメモリ装置アーキテクチャは、図1G〜1Hに関連して示したコマンドなど、より従来的なコマンドと同様に原子動作用のコマンドも含むコマンドのスーパーセットを受信してもよい。
図2は、原子メモリ装置180の実施形態をより詳細に示す。図1Aの一般化された原子メモリ装置と同様に、原子メモリ装置180には、メモリコア181、制御論理回路183、およびデータI/O回路185が含まれる。説明だけを目的として、メモリコア105は、1つ以上のDRAMセルアレイと、コマンド経路214を介して受信される行および列コマンドならびにアドレス経路216を介して受信される対応する行および列アドレスに応じてアクセスされる対応するセンス増幅器バンク191と、を有するDRAMコアであると仮定される(コマンドおよびアドレス経路は、コマンド/アドレス経路210を集合的に形成する)。着信メモリアクセスコマンドは、コマンドデコーダ197(例えば、状態機械、シーケンサ、または他の復号化および制御回路)内で受信されるが、このコマンドデコーダ197は、対応する制御信号を、アドレス復号化回路およびデータI/O回路185へ発行して、要求された動作を実行する。行アクティブコマンド(例えば、アドレス選択されたデータ行をセンス増幅器バンクに転送するコマンド)を受信すると、コマンドデコーダ197は、行復号化イネーブル信号(「rowdec_en」)を行デコーダ199へアサートして、行デコーダが、アドレス経路216介して受信された行アドレスを復号化し、かつそれによって、メモリコア181内のアドレス選択されたセルの行に結合されたワード線を活性化できるようにする。活性化されたワード線は、対応する記憶セル(すなわち、ワード線に結合された記憶セル)の内容が、センス増幅器191のバンク(単複)によってセンスされるそれぞれのビット線(またはビット線のペア)を駆動できるようにする。この「行アクティブ」動作を介して、記憶行の内容は、センス増幅器バンク(単複)191内でセンスおよびラッチされ、こうして列アクセス(読み出しおよび書き込み)動作を介してアクセス可能なデータ「ページ」を開くことができる。したがって、列アクセスコマンド(すなわち、前に活性化された行内のデータ列、およびしたがってセンス増幅器バンク内のデータ行を読み出すかまたは書き込む)を受信すると、コマンドデコーダ197は、列復号化イネーブル信号(「coldec_en」)を発行して、列デコーダ201(または列マルチプレクサ)が、アドレス経路216を介して受信された列アドレスを復号化し、かつその動作によって、センス増幅器バンク(単複)191内のアドレス選択されたデータ列と、本明細書でコアデータ経路260と呼ばれるパラレルデータ経路との間の多重化信号伝導経路を形成できるようにする。
原子コマンドが、コマンドデコーダ197内で受信されると、コマンドデコーダは、要求された原子動作に従って復号化イネーブル信号(例えば、列データが原子動作の一部として検索されることになる場合には列復号化イネーブル)を発行し、かつまた動作選択(「opsel」)値を、データI/O回路185に含まれる1つ以上の修正論理回路251に出力する。コマンドデコーダ197は、さらに、多数の信号およびコマンドを出力して、データサンプルタイミング(すなわち、データ受信)、データ送信タイミング、データバッファリング、コンポーネント回路ブロック間の内部データ転送、(例えば、NANDかNORフラッシュかもしくは同様のメモリの場合における)専用プログラム/消去動作、メンテナンス動作(例えば、セルフリフレッシュ、自動リフレッシュ、シグナリング較正等)、または原子メモリ装置181内の他の任意の制御機能を制御してもよい。また、コマンドデコーダ197は、様々な状態レジスタ、制御レジスタ、およびデータレジスタを含むか、またはそれらへのアクセスをイネーブルにして装置構成を可能にしてもよい。一実施形態において、例えば、原子動作用のサポートを、コマンドデコーダ内におけるモードレジスタ218のホスト命令プログラミングを通してディスエーブルにし、こうして、原子メモリ装置が、レガシーメモリ装置の挙動を(すなわち、着信コマンドを復号化する動作タイミングおよび/または方法等の観点において)模倣できるようにしてもよい。別の例として、1つ以上のオペランド216を設けて、オペランド(単複)をデータ修正論理251に供給してもよい。一インプリメンテーションにおいて、例えば、単独のプログラム可能オペランドレジスタ216を用いて、データI/O回路185内の修正論理回路251のそれぞれにオペランドデータを供給する。代替実施形態において、プログラム可能オペランドレジスタ216のバンクが設けられ、オペランドレジスタ216の1つ以上が、着信原子メモリコマンドに従って選択され、オペランドデータ(「オペランド」)を修正論理回路251に供給する。全てのかかるモードレジスタ218およびオペランドレジスタ216は、ワンタイムまたは実行時プログラム可能であってもよい。実行時プログラム可能レジスタの場合に、例えば、モードレジスタ218は、システム起動中に(例えば、メモリコントローラを介して供給される)ホスト命令に応じてプログラムされ、初期動作構成を確立してもよく、オペランドレジスタ(単複)216は、起動中にプログラムされ、その後必要に応じて、原子動作で使用するためのオペランドを供給してもよい。モードレジスタ218およびオペランドレジスタ216内でプログラムされた値は、図示の信号経路(アドレス216、コマンド214、データ212(DQ))のいずれかもしくは全てを介して、または低帯域幅制御経路、帯域外シグナリングチャネルなどの他のシグナリング経路を介して、原子メモリ装置180に転送してもよい。
一実施形態において、データI/O回路185には、多数のI/Oビットスライス回路225であって、それぞれが、ピン(もしくは差動シグナリングインプリメンテーションにおけるピンのペア)または他の集積回路相互接続部を介して、外部データ経路のそれぞれのデータリンクに結合される多数のI/Oビットスライス回路225が含まれる。I/Oビットスライス回路2250(「略してI/Oスライス2250」)の詳細図を参照すると、着信データリンクのオンチップ部は、サンプリング回路231および出力ドライバ233によって形成された信号トランシーバに結合される。一実施形態において、サンプリング回路231内のデータ受信は、サンプリング回路が受信データビットのシリアルストリームを書き込みデータイン(「wdi」)ライン232上に出力するように、受信タイミング信号(着信データ信号に関連して受信されたストローブ信号もしくはクロック信号、または内部合成信号であってもよい)の遷移によってタイミングを合わせられる。図示のように、書き込みデータインライン232は、修正論理251へと延び、そこでこのライン232は、1つ以上の修正ユニット259およびまた書き込みデータアウト(「wdo」)マルチプレクサ255(または他の信号切り替えもしくは選択論理)に結合される。以下で説明するように、wdoマルチプレクサ255は、wdiライン232または修正ユニット259の出力部のいずれかを選択して、シリアル書き込みデータアウトライン234(「wdoライン」)を駆動し、こうして単信書き込み動作においてメモリコア181への書き込みデータの通過を、または複信(原子)動作においてメモリコア181へのスワップデータもしくは修正データの通過を可能にする。
一実施形態において、メモリコア181に書き込まれるデータは、I/Oビットスライス225のそれぞれの内でシリアルからパラレル形態に変換され、したがって、コアサイクル周波数(例えば、メモリコア181の列アクセスサイクル時間(列サイクル時間)、コアクロックサイクル、または他のサイクル時間)を、データI/O周波数の一部とできるようにする。すなわち、デシリアライザ241(「deser」)が、コアデータ経路261とデータI/O回路185との間のインターフェースに設けられて、コアデータ経路260上の伝達およびメモリコア181内の記憶のために、wdoライン234上で伝達されるシリアルデータをパラレルデータに変換する。図2の特定のインプリメンテーションにおいて、例えば、wdoライン234上のシリアルデータは、データI/O周波数(すなわち、1/(データ経路上のビット時間))でビットごとにデシリアライザ241にシフトされ、次にフレーム化されて、ワードレート(例えば、シリアルデータ周波数対コア周波数の比率)、例えばデータI/O周波数の1/8または1/16で、デシリアライザからコアデータ経路260上に転送される。例えば、デシリアライザ241のシフトレジスタへの、16ビットの各グループのシリアルシフト後に、コアタイミング信号は、シフトレジスタ内の16ビットデータスライスを、コアデータ経路260上へ並列に転送するために、遷移させることができる。図2の例示的な実施形態において、原子メモリ装置180は、32ビット幅データインターフェース(すなわち、32ビット幅外部データ経路にインターフェースする)を有し、かつ全てのI/Oビットスライス回路2250−22531の動作を同時に可能にして(すなわち、各回路は、データを並列に受信する)、合計32*16=512ビットによって形成されたコアデータワードが、コアタイミング信号の遷移によってマークされる各コアフレーミング間隔(コアサイクル)の終わりに、データI/O回路185からコアデータ経路260へ転送されるようにする。コアデータワードは、列デコーダ回路201を介して、センス増幅器バンク(単複)191内のセンス増幅器の適切な512ビット列に伝達され、そこにおける内容に上書きして、列書き込み動作を完了する。その後、開いたデータページ(すなわち、センス増幅器に存在する記憶行の内容)に向けられたある数のメモリ書き込み/読み出し動作が完了した後で、プリチャージ動作を実行して開いたページを閉じてもよい。すなわち、センス増幅器バンク(単複)191内のデータページ(何千またはより多くの512ビット列を含んでもよい)が、対応する記憶セルの行にまだライトバックされていない場合には、記憶セルへのライトバックが完了され、対応するワード行が非活性化され、ビット線およびセンス増幅器が、次の行アクティブ動作に備えて調整される。
さらに図2を参照すると、単信メモリ読み出し動作におけるデータフローは、単信メモリ書き込みに関連して上記したデータフローの本質的に逆である。すなわち、アドレス選択されたデータ列は、列デコーダ201を介して、メモリコア181から(すなわち、DRAM実施形態におけるセンス増幅器バンク(単複)191から)コアデータ経路260へ出力される。次に、それぞれのI/Oビットスライス回路225内のシリアライザ243(「ser」)は、上記のデシリアライザ241と逆の方法で動作し、各シリアライザ243は、16ビットのそれぞれのパラレルセットを、読み出しデータインライン236(「rdi」ライン)上に出力される16シリアルビットの対応するストリームに変換する。rdiライン236は、修正論理251内の修正ユニット259、および読み出しデータアウト(「rdo」)マルチプレクサ257に結合される。rdoマルチプレクサ257はまた、修正ユニット259からのデータ出力を受信し、かつ制御信号に応じて動作して、rdiライン236を介して供給されるシリアルデータストリーム(すなわち、「検索データ」もしくは「読み出しデータ」)かまたは修正ユニット259からの修正データのどちらかを、読み出しデータアウトライン238(「rdo」ライン)に伝達する。rdoライン238は、検索または修正データのシリアルストリームを出力ドライバ233に伝達するが、この出力ドライバ233は、外部データ経路212のシグナリングリンクのそれぞれのリンク上へデータを直列に駆動する。
やはり図2を参照すると、データI/O周波数とコアサイクル間隔の上記の関係が、262および264に示されている。すなわち、データが、メモリコア181に書き込まれている、かつ/またはそこから検索されている各コアサイクル間隔中に、16データビットが、wdoライン234および/またはrdiライン236を介して直列に送信される。その同じコアサイクル間隔中に(データI/O回路の様々な回路および/またはコアメモリ内における転送遅延に対処するために潜在的にオフセットされるが)、512ビットコアデータワードが、メモリコアとコアインターフェースとの間で転送される。
図2の原子メモリを考える際に、特定数のビット、ビット率、周波数率等が、例としてだけの目的で提供されていることに留意されたい。全てのかかる場合に、異なるビット数および比率が、当てはまり得る。さらに、特定の回路ブロックを示したが、多数の他の回路ブロック(およびかかる他の回路ブロックに対して異なって構成された、図示および説明の回路ブロックの機能)もまた、本開示の範囲から逸脱せずに提供され得る。
図3は、図2の修正論理251を実現するために使用可能な修正論理回路280の実施形態を示す。修正論理回路280には、修正コントローラ281、書き込みデータアウト(wdo)および読み出しデータアウト(rdo)マルチプレクサ285および287、ならびに1つ以上の修正ユニット2930−293N-1(集合的に「293」)が含まれる。修正コントローラ281は、マルチプレクサ制御信号wdo_selおよびrdo_selをwdoおよびrdoマルチプレクサ285および287にそれぞれ発行することによって、および1つ以上の修正イネーブル信号(en_0、en1、...、enN−1)のイネーブリングをアサートすることによって、着信動作選択信号128(「opsel」)に応答し、対応する修正ユニット293が、評価および/または修正動作を実行できるようにする。修正コントローラ281はまた、修正ユニット293から1つ以上の動作結果信号(res_0、res_1、res_N−1)を受信し、かつこれらの結果を、イネーブル信号およびマルチプレクサ制御信号を生成する際に全体的または部分的に用いる。例えば、比較およびスワップ動作において、修正ユニット293の1つは、データ比較を実行し、かつ比較結果を修正コントローラ281に供給して、wdoマルチプレクサ設定(および/またはrdoマルチプレクサ設定)の決定を可能にしてもよい。特に示してはいないが、修正コントローラ281は、クロック信号(例えば、コアクロックサイクル周波数などのデータI/O周波数またはその細分された周波数で動作する)に応じて、クロック制御するか、さもなければ状態間を移動させてもよく、かつ組み合わせおよび状態管理論理の任意の組み合わせによって実現してもよい。例えば、一実施形態において、修正コントローラ281は、有限状態機械として実現されるが、代替実施形態では、命令シーケンサまたは純粋な組み合わせインプリメンテーションさえも提供可能である。これらの実施形態において、修正コントローラ281には、パラレル論理セットであって、それぞれが、各スライスを並列に処理するために各スライス用(つまり各修正ユニット2930−293N-1用)であるパラレル論理セットを含んでもよい。
修正ユニット293またはその任意のサブセットのそれぞれを、読み出しデータインライン236に結合し、opsel信号128によって指定された動作を実行する必要に応じて、検索シリアルデータの受信を可能にしてもよい。修正ユニット293またはそのサブセットのそれぞれをまた、書き込みデータインライン232に結合して、書き込みデータ、スワップデータ、外部供給オペランド、または修正論理280内で有用な用途を有する任意の他の外部供給情報であってもよい外部的に受信されるシリアルデータの受信を可能にしてもよい。修正ユニット293またはその任意のサブセットは、上記のようにオペランド経路141を介してオペランドレジスタからオペランドを受信するように結合してもよい。また、単独のオペランド経路141が示されているが、多数のオペランド経路を設けて、多数のオペランドを所与の修正ユニット293に提供するか、かつ/またはそれぞれのオペランドを異なる修正ユニットに供給してもよい。修正ユニット293またはその任意のサブセットのそれぞれにはまた、修正コントローラ281からのそれぞれのイネーブル信号を受信するように結合された選択入力部(s0、s1、...、sN−1)と、動作結果信号を修正コントローラ281へ送出する結果信号出力部(res_0、res_1、...、resN−1)と、修正データライン284に結合されて、そこへ修正データを直列に送出するシリアルデータ出力部と、を含んでもよい。修正データライン284は、修正データをwdoマルチプレクサ285に伝達して、修正データをメモリコアにライトバックできるようにし、かつまた修正データをrdoマルチプレクサ287に伝達して、修正データを、外部データ経路を介して原子メモリ装置から出力できるようにするが、両方とも上記で説明したとおりである。
やはり図3を参照すると、任意の数の修正ユニット293を修正論理280内に設けて、各修正ユニット293が、それぞれの修正機能または修正機能のカテゴリを実行してもよい。図示の特定の実施形態において、単項演算ユニット2930、2項演算ユニット2931、および評価動作ユニット293N-1を含む、修正動作の3つのクラスを代表するユニットが示されている。
単項演算ユニット2930は、メモリコアから検索されたデータに対して単項演算を可能にするために用いられる信号入力部および出力部を代表する信号入力部および出力部を示す。すなわち、rdiライン236は、検索データを送出するために単項演算ユニットに結合されるが、この単項演算ユニットは、修正コントローラ281によってイネーブルにされた場合に(すなわち、en_0がアサートされる)、例えば、限定するわけではないが、インクリメント/デクリメント、補数、絶対値、固定定数による乗算または除算、指数(累乗)、根(平方根、3乗根等)、対数、表索引、または任意の他の単一変数関数を含む特定の単項演算(または基本回路が特に設計される目的の単項演算)を実行する。単項演算の一部として生成される任意の結果res_0は、修正コントローラ281に返すか、かつ/または後で使用のために修正ユニット2930内か、さもなければ原子メモリ装置内に記憶してもよい。例として、キャリービット(すなわちオーバーフロービット)またはボロービット(すなわちアンダフロービット)は、インクリメント動作またはデクリメント動作の一部として生成し、続いて検索されたデータ値と合計/そのデータ値から減算して、インクリメント/デクリメント動作を、16ビットを超えるデータ値まで拡張できるように(すなわち、多数の検索データ値を、より大きなデータ値の構成部分として処理できるように)してもよい。
2項演算ユニット2931は、メモリコアから検索されたデータに対して2項演算を可能にするために用いられる信号入力部および出力部を代表する信号入力部および出力部を示す。図示の特定のインプリメンテーションにおいて、2項演算ユニットは、入力として、rdiライン236を介して検索データを受信し、wdiライン232を介して供給オペランド受信する。上記のように、追加または代替として、それぞれのオペランド経路141を介して、原子メモリ装置内の1つ以上のオペランドレジスタからオペランドを供給してもよい。いずれの場合にも、2項演算ユニット2931は、修正コントローラ281によってイネーブルにされた場合に、2項演算(または供給されるオペランドの数に従って3項演算、4項演算等)を実行し、かつ結果としての修正データを修正データライン284上に出力し、任意選択的に、結果信号(例えば、ボロー、キャリー等)を結果信号ラインres_1上に出力する。単項演算ユニット2930と同様に、2項演算ユニット2931は、選択され指定された動作(例えば、修正コントローラによって指定された)または基本回路が特に設計された目的の動作を実行してもよい。実行される2項演算の例には、例えば、限定するわけではないが、算術演算(加算、減算、乗算、除算)、ビット単位論理演算(例えばマスク演算)、ブール演算(AND、OR、XOR、...)、2次元表索引、または任意の他のマルチオペランド関数が含まれる。
やはり図3を参照すると、評価動作ユニット293N-1は、(送出されるオペランド数に従い)単項または2項演算ユニットの形態として見てもよいが、しかし少なくともいくつかの演算が、修正データライン284(したがって、ユニット293N-1および修正データライン284の破線の相互接続部)上へのデータ出力を必要としないことを強調するために、別々に示されている。すなわち、一実施形態において、評価動作ユニットは、検索データ値だけ(単項評価)か、外部ソースから受信されたデータおよび/または1つもしくは複数のオペランドと組み合わせて(2項評価)評価を実行して、評価結果信号を結果ラインres_N−1上に出力し、かつ/または評価データ値(例えば比較勝利者)を修正データライン284上に出力する。評価の結果は、修正コントローラ281に伝達し、例えば、修正コントローラ281が、それに応じてwdoおよび/またはrdoマルチプレクサ285、287を制御できるようにしてもよい。例として、評価結果が、(res_N−1を介して伝達されるように)「TRUE」に帰着する場合に、wdiライン232を用いてwdoライン234を駆動し、それによって、データスワップを可能にすることができる。そうでなくて、評価結果が「FALSE」に帰着する場合に、例えば、評価動作ユニット293N#1を介して検索データを修正データライン284に(例えば比較勝利者として)伝達すること、および修正データライン284をwdoライン234に結合するようにwdoマルチプレクサ285を設定することによって、ライトバック動作を可能にし、それによって、メモリコアへのライトバックのために検索データをwdoライン234上にルーティングすることができる。前述の動作の一例は、着信値がメモリにおける常駐値より大きい場合にのみデータをスワップする動作である。
単項評価の例として、検索データを評価して、特定のブール条件が満たされるかどうか(検索データがTRUEもしくはFALSEに評価される)またはそうでない場合に検索データが所定の条件を満たすかどうかを決定してもよく、データ交換または他の修正動作が、評価結果に従って、同じ検索データ値または続く検索データ値に対して実行される。例えば、1つの条件付きインクリメント関数は、最大値でない場合のみデータをインクリメントしてもよい(例えば、データの定義された最大値またはオーバーフローを回避するインクリメントのいずれか)。2項評価において、検索データ値を着信オペランドデータ(すなわち、レジスタおよび/または外部ソースからの)と比較して、動作結果(例えば、検索値およびオペランドの不等、一致、論理的組み合わせが、所定のまたはレジスタ指定の条件等を満たす)を生成してもよく、動作結果は再び、検索データ値または続く検索データ値に対して、条件付きデータ交換または他の修正動作を可能にするために用いられる。
詳細図301に示すように、修正ユニット293のそれぞれは、修正回路305および1つ以上の遅延回路307、309、311によって実装してもよい。修正回路305には、イネーブル信号(修正回路305にサポートされる多数の可能な動作の1つの動作を命令するマルチビット信号であってもよい)に応じて、動作結果および修正データを生成するための任意の組み合わせまたは状態ベースの論理を含んでもよい。一般に、かかる論理は、着信検索データおよび任意のオペランドに対して実行すべき動作(ならびにしたがって動作結果および修正データ出力)を指定することにより、回路設計ツールを用いて合成してもよい。遅延回路307、309、311には、(例えば、レジスタプログラム値、または動作選択値に関連して供給される動的値に応じて)ハードワイヤードまたは調整可能遅延回路を含んで、修正回路305の入力部への着信オペランドのいずれかまたは全ての伝搬を遅延させ(入口遅延回路307、309)、かつ/または修正データライン284への修正データの伝搬を遅延させ(出口遅延回路311)、かつ/または修正コントローラへの動作結果の出力を遅延させ(結果遅延回路313)てもよい。この配置によって、着信オペランドは、適切な時間に修正回路305に供給され得、または修正データもしくは動作結果は、所望の時間に駆動され得、こうして原子動作のパイプライニングと同様に、修正論理280内およびその外部における様々なイベントの調整が可能になる。設計者は、特定の設計用にサポートされる原子動作用のメモリ装置における入力/出力経路を通るトラフィックフローを調整(例えば、最適化)するために、これらの特徴を利用してもよい。
図4は、原子メモリ装置内のコマンドデコーダまたは他の制御回路によって指定される動作に従って、図3の修正コントローラによって開始および制御可能な動作表(340)を示す。表340の最初の2つの行に示す単信メモリ読み出しおよび単信メモリ書き込み動作から開始するが、データが、単信データフローと反対の方向において、条件付きでも絶対的にも送信されていないので、修正ユニットは、イネーブルにされない。代わりに、修正コントローラは、単信メモリ読み出し動作において、検索データ(「読み出しデータ」)を読み出しデータアウトライン上に転送するようにrdoマルチプレクサを設定し、かつ単信メモリ書き込み動作において、着信書き込みデータを書き込みデータアウトライン上に転送するようにrdiマルチプレクサを設定する。2つの単信データ動作だけが示されているが、マスク書き込み、マスク読み出し等を含む他の単信動作を実行してもよい。
表340に挙げられた複信(原子)動作を見ると、読み出し/インクリメント動作において、修正コントローラは、単項修正ユニットが、メモリコアから検索されたデータ(「読み出しデータ)に関してインクリメント動作を実行できるようにし、かつ原子メモリ装置から読み出しデータを出力するように、およびイネーブルされた修正ユニットから出力された修正データ(すなわち、この場合にはインクリメント読み出しデータ)をメモリコアに送出して、ちょうど検索された読み出しデータの代わりに記憶するように、rdoおよびwdoマルチプレクサを設定する。したがって、メモリ読み出しは、読み出しデータのインクリメントと並行に実行され、インクリメント読み出しデータ値の、メモリコアへのライトバックと同時に(すなわち、時間において少なくとも部分的に重なって)読み出しデータをホスト要求者に返す。インクリメント/読み出し動作は、修正(インクリメント)データが、メモリコアにライトバックされ、かつホスト要求者に返される以外は、類似している(すなわち、同様に選択される単項修正ユニット)。
表340に特に示す単項演算の他の例には、読み出し/補数(データ値を読み出し、それにその補数(反転データ値)を上書きする)および補数/読み出し(読み出しデータ値にその補数で上書きし、補数値をホストへ返す)が含まれる。全てのかかる場合に、メモリコアへのライトバックは、検索データおよび/または1つもしくは複数のオペランドの評価に基づいて調整してもよい。また、(ストレートな補数に対立するものとして)1の補数演算を用いてもよい。当然明らかなように、表340には特に挙げていないが、上記のように多数の他の単項演算を実行してもよい。
レジスタ供給オペランドを参照する2項複信演算の例を見ると、読み出し/加算−オフセットにおいて、レジスタ内のオフセット値は、検索データ値に加算されて、メモリコアに無条件または条件付きでライトバック可能な可変+不変結果を確立する。より具体的には、データ+オペランド動作を実行する2項演算ユニットが、修正コントローラによってイネーブルにされ、rdoおよびwdoマルチプレクサが、検索データ値をrdoラインへ、かつ修正データ値をwdoラインへそれぞれ伝達するように設定される。加算−オフセット/読み出し動作において、同様の結果が得られるが、しかし修正データ値(検索データ値+オペランド)は、読み出しデータ値の代わりにホスト要求者に返される。読み出し/減算−オフセットおよび減算−オフセット/読み出し動作は、2項レジスタベース演算の追加例として示されている。表340には特に挙げていないが、多数の他のレジスタベース2項演算を実行してもよい。
表340に示す例示的な動作の最後のセットは、ホスト供給オペランドを含む2項演算、すなわちwdiラインを介して送出される外部供給オペランドが、検索データ値と一緒に修正ユニットに供給される2項複信演算である。提示される特定の具体例には、スワップ、比較およびスワップ、読み出し/加算−変数、加算−変数/読み出しが含まれる。スワップ動作において、修正ユニットは、イネーブルにする必要がなく(「N/A」すなわち不適用指示)、代わりに修正コントローラは、読み出しデータをホスト要求者に出力し、かつスワップデータをメモリコアに送出して、ちょうど検索された読み出しデータに上書きする(したがって、スワップ動作を達成する)ように、rdoおよびwdoマルチプレクサを設定する。比較およびスワップ動作は、修正コントローラが、評価動作ユニット内の比較動作を可能にし、次に、比較結果に従ってrdoおよびwdoマルチプレクサを設定する点を除いて、同様に実行される。図示の実現形態において、例えば、wdoマルチプレクサは、スワップデータまたは読み出しデータのいずれかをwdoラインに送出し(代替として、スワップデータが、メモリコアにライトバックされることにならない場合には、データをwdoライン上に送出しなくてもよい)、かつ反対に、比較結果に従って、読み出しデータまたはスワップデータのいずれかをrdoライン上に送出してもよい。すなわち、スワップが実行されることになる場合に、スワップデータは、メモリコアに送出され、読み出しデータは、ホスト要求者に返される。スワップが実行されることにならない場合に、読み出しデータは、メモリコアに送出され(またはライトバックは実行されない)、スワップデータは、任意選択的にメモリ要求者に返され、メモリ要求者が比較結果を確認できるようにする。
読み出し/加算−変数演算を見ると、検索データは、ホスト要求者に返され、かつまた外部供給オペランドに加算されて、修正データ値としてメモリコアにライトバックされる合計を生成する。加算−変数/読み出し演算の場合に、合計は、メモリコアにライトバックされ、かつホスト要求者に返される。再び、表340には特に挙げていないが、ホスト供給オペランドを含む多数の他の2項演算を実行してもよい。また、上記のように、全てのかかる算術演算は、それらのオペランドソースにかかわらず、実行される動作用に、必要に応じてボローもしくはキャリー記憶または他の状態情報を介した多数の検索データ値に関連した動作を可能にするように拡張してもよい。
図5は、351で示すようにメモリアクセスコマンドの受信に応じた、原子メモリ装置の一般化された例示的な動作を示す。メモリ読み出しが必要でない場合に(決定ブロック353において決定される)、要求されるメモリアクセスは、単信書き込みである。したがって、着信書き込みデータ値は、355で示すようにメモリコアに記憶される。メモリ読み出しが要求される場合に、読み出しデータは、357で一般的に示す動作においてメモリコアから検索される。メモリアクセスコマンドが複信動作(すなわち、データが、メモリアクセスコマンドに応じてメモリコアへ、かつメモリコアから流れる)を示す場合に、実行は、決定ブロック359に進む。そうでなければ、メモリアクセスコマンドは、単信読み出しコマンドであり、読み出しデータアウトマルチプレクサは、361で示すように、読み出しデータインラインを選択し、かつしたがって読み出しデータをホスト要求者に出力するように設定され、それによって、単信動作を完了する。
複信動作の場合(すなわち、ブロック359における肯定的決定)を継続すると、原子コマンドが、2項演算(すなわち、演算が、検索データ値以外のデータソースを含むことが363で決定される)を示す場合に、オペランドは、365においてレジスタまたは外部ソースから(例えば、オペランドレジスタからまたは書き込みデータインラインを介して)受信され、かつ適切な修正ユニットに供給される。その後、単項演算(決定ブロック363における否定的決定)でも2項演算でも、適切な修正ユニットが、指定された原子動作に従って選択されて367でイネーブルにされ、検索データおよび任意の供給オペランドに対して、修正データ値または評価結果を生成する。読み出しデータアウトマルチプレクサおよび書き込みデータアウトマルチプレクサは、実行されている複信動作およびいずれかの評価結果に従って369で設定され、こうして371においてホスト要求者への読み出しデータまたは修正データの同時出力を可能にし、かつ/または373において、メモリコアにおけるオペランドデータ(例えば、スワップデータ)もしくは修正データの記憶を可能にする。
図6は、図3の原子メモリ装置内の例示的な複信動作中における信号タイミングを示すタイミング図である。コアサイクル「i」の開始時に、複信(原子)演算を指定するメモリアクセスコマンド385が、複信動作内で適用されるオペランド386の、外部データ経路212(D/Q)を介した受信と並行して、コマンド/アドレス経路210(C/A)を介して受信される。データサンプリング遅延の後で、オペランドは、388で示すように書き込みデータインライン232に、およびしたがって原子メモリ装置の修正論理に供給される。一方で、図6において「読み出しデータ検索」と印された間隔中に、読み出しデータは、複信動作に関連して提供されるアドレスに従ってメモリコアから検索され、結局有効になって、390で示すように、読み出しデータインライン236上で修正論理に供給される。読み出しデータまたは修正データ(スワップデータを含む)がホスト要求者に返されることになる複信動作を仮定すると、修正論理(例えば、読み出しデータか修正データかまたはスワップデータ)の出力は、392で示すように読み出しデータアウトライン238上に出力され、かつほぼ同時に(rdoライン238上へのデータ出力の直前または直後に)修正データ(スワップデータを含む)が、394で示すように、書き込みデータアウトライン234に出力されてメモリコアにライトバックされる。メモリコアへのライトバックと並行して、読み出しデータアウトライン上に出力されたデータは、396で示すように外部データ経路212上に駆動され、それによって、後続のコアサイクル(すなわち、コアサイクルi+1)の開始中にホスト要求者に返される。図示の特定の例において、単信メモリ読み出し動作は、コアサイクルi+1の最初に(すなわち、398で示すように)命令され、データ検索動作は、前の複信動作におけるデータ検索とほぼ同じタイミングで実行される。すなわち、読み出しデータi+1は、400で示すようにrdiラインで利用可能になり(すなわち、読み出しデータ検索間隔後に)、かつそのすぐ後で、402に示すようにrdoライン上にルーティングされる。次に、読み出しデータi+1は、404で示すように外部データ経路上に出力され、こうして、ちょうど別の読み出し動作が次のコアサイクルで受信されるときに、単信メモリ読み出しを完了する。
本明細書で開示する様々な回路が、それらの挙動、レジスタ転送、論理コンポーネント、トランジスタ、レイアウト形状、および/または他の特性の点において、様々なコンピュータ可読媒体に具体化されたデータおよび/または命令として、コンピュータ支援設計ツールを用いて示され、かつ表現(代表)され得ることに留意されたい。かかる回路表現を実現可能なファイルおよび他のオブジェクトの形式には、限定するわけではないが、C、Verilog(ヴェリログ)およびVHDLなどの動作記述言語をサポートする形式、RTLのようなレジスタレベル記述言語をサポートする形式、GDSII、GDSIII、GDSIV、CIF、MEBESなどのジオメトリ記述言語をサポートする形式、ならびに任意の他の適切な形式および言語が含まれる。かかる形式化されたデータおよび/または命令を具体化可能なコンピュータ可読媒体には、限定するわけではないが、様々な形態におけるコンピュータ記憶媒体(例えば、光、磁気または半導体記憶媒体があり、その要領で別々に分散されるかまたは「現場で」オペレーティングシステムに記憶される)が含まれる。
上記の回路のかかるデータおよび/または命令ベースの表現は、1つ以上のコンピュータ可読媒体を介してコンピュータシステム内で受信されると、1つ以上の他のコンピュータプログラムの実行と共に、コンピュータシステム内の処理エンティティ(例えば、1つ以上のプロセッサ)によって処理してもよく、これらの1つ以上の他のコンピュータプログラムには、限定するわけではないが、かかる回路を物理的に明示する表現または画像を生成するための、ネットリスト生成プログラム、配置配線プログラム等を含んでもよい。かかる表現または画像は、その後、例えば、装置作製プロセスにおいて回路の様々なコンポーネントを形成するために用いられる1つ以上のマスクの生成を可能にすることによって、装置作製に用いてもよい。
前述の説明および添付の図面において、特定の用語および図面符号は、本発明の完全な理解を提供するために示されている。いくつかの例において、用語および符号は、本発明を実行するために必要とされない特定の詳細を示す場合がある。例えば、特定数のビット、信号経路幅、シグナリングまたは動作周波数、構成回路、または装置などはいずれも、代替実現形態では上記のものと異なってもよい。他の例において、周知の回路および装置は、本発明を不必要に曖昧にしないようにブロック図形態で示されている。さらに、回路素子またはブロック間の相互接続部は、バスまたは単一信号線として示してもよい。バスのそれぞれは、代替として、単一信号線であってもよく、単一信号線のそれぞれは、代替として、バスであってもよい。シングルエンドとして図示または説明される信号経路およびシグナリング経路はまた、差動であってもよく、逆も同様である。信号駆動回路は、それが、信号駆動回路および信号受信回路間に結合された信号線上に信号をアサート(または文脈によって明示もしくは表示された場合にはデアサート)する場合に、信号を信号受信回路に「出力する」と言われる。表現「タイミング信号」は、本明細書において、集積回路装置内で1つ以上のアクションのタイミングを制御する信号を指すために用いられ、クロック信号、ストローブ信号等を含む。「クロック信号」は、本明細書において、1つ以上の集積回路装置上の回路間のアクションを調整するために用いられる周期的なタイミング信号を指すために用いられる。「ストローブ信号」は、本明細書において、ストローブされている装置または回路への入力部にデータが存在することを示すために遷移するタイミング信号であって、したがってバーストデータ送信中に周期性を示し得るが、しかしそうでなければ(パーク状態から離れる遷移、または他の制限されたプリアンブルもしくはポストアンブル遷移を除いて)データ送信がない場合に定常状態に留まるタイミング信号を指すために用いられる。用語「結合」は、本明細書において、1つ以上の介在する回路または構造を介した接続とともに直接接続を表現するために用いられる。集積回路装置「プログラミング」には、例えば、限定するわけではないが、ホスト命令に応じて装置内のレジスタまたは他の記憶回路に制御値をロードし、かつしたがって装置の動作態様を制御することと、装置構成を確立するか、またはワンタイムプログラミング動作を介して装置の動作態様を制御すること(例えば、装置製造中に構成回路内のヒューズを飛ばす)と、および/または装置の1つ以上の選択されたピンもしくは他の接点構造を基準電圧線(またストラッピングとも呼ばれる)に接続して、特定の装置構成または装置の動作態様を確立することと、を含んでもよい。用語「例示的」および「実施形態」は、選好でも要件でもなく、例を表すために用いられる。
本発明の特定の実施形態に関連して本発明を説明したが、より広い精神および範囲から逸脱せずに様々な修正および変更を本発明になし得ることが明らかであろう。例えば、いずれかの実施形態の特徴または態様は、少なくとも実行可能な場合には、いずれか他の実施形態と組み合わせて、またはその対応する特徴もしくは態様の代わりに、適用してもよい。したがって、本明細書および図面は、限定的意味ではなく実例として考えるべきである。

Claims (27)

  1. 集積回路メモリ装置内の動作方法であって、
    メモリアクセスコマンドに応じて、前記メモリ装置のメモリコア内におけるアドレス指定された位置から第1のデータ値を検索すること、
    前記メモリアクセスコマンドに応じて、前記メモリ装置から前記第1のデータ値を出力すること、および、
    前記メモリアクセスコマンドに応じて、前記メモリコア内の前記アドレス指定された位置に第2のデータ値を記憶すること、
    を含む方法。
  2. 前記メモリ装置のメモリコア内におけるアドレス指定された位置から第1のデータ値を検索することが、前記メモリ装置のセンス増幅器バンク内のセンス増幅器の列から第1のデータ値を検索することを含む、請求項1に記載の方法。
  3. 前記メモリアクセスコマンドの受信前に実行される行アクティブ動作において、記憶セルの行から前記センス増幅器バンクにデータを転送することをさらに含み、前記記憶セルの行が、前記メモリコア内の記憶アレイの一部を形成する、請求項2に記載の方法。
  4. 前記メモリコア内の前記アドレス指定された位置に第2のデータ値を記憶することが、前記センス増幅器の列内に前記第2の値を記憶することを含む、請求項2に記載の方法。
  5. 前記メモリアクセスコマンドに応じて、前記メモリ装置から前記第1のデータ値を出力することが、前記メモリ装置外のデータ経路上に前記第1のデータ値を出力することを含む、請求項1に記載の方法。
  6. 前記メモリアクセスコマンドに応じて前記第1のデータ値を修正して、前記第2のデータ値を生成することをさらに含む、請求項1に記載の方法。
  7. 前記第1のデータ値を修正することが、前記第2のデータ値が前記第1のデータ値のインクリメントされたバージョンであるように、前記メモリアクセスコマンドに応じて前記第1のデータ値をインクリメントすることを含む、請求項6に記載の方法。
  8. 前記第1のデータ値を修正することが、前記第1のデータ値が第1のオペランドを構成しかつ第3のデータ値が第2のオペランド構成する論理演算を実行することを含む、請求項6に記載の方法。
  9. 前記メモリ装置内のレジスタから前記第3のデータ値を受信することをさらに含む、請求項8に記載の方法。
  10. 外部データ経路を介して前記第3のデータ値を受信することをさらに含む、請求項8に記載の方法。
  11. 外部データ経路を介して前記第3のデータ値を受信することが、外部コマンド経路を介して前記メモリアクセスコマンドを受信するのと平行して、前記外部データ経路を介して前記第3のデータ値を受信することを含む、請求項10に記載の方法。
  12. 前記論理演算が算術演算を含む、請求項8に記載の方法。
  13. 前記メモリ装置から前記第1のデータ値を出力する前に、外部データ経路を介して前記第2のデータ値を受信することをさらに含み、前記メモリ装置から前記第1のデータ値を出力することが、前記外部データ経路を介して前記第1のデータ値を出力することを含む、請求項1に記載の方法。
  14. 前記第1のデータ値を前記第2と比較して比較結果を生成することをさらに含み、前記メモリコア内の前記アドレス指定された位置に前記第2のデータ値を記憶することが、前記比較結果に従って前記アドレス指定された位置に前記第2のデータ値を条件付きで記憶することを含む、請求項1に記載の方法。
  15. 前記比較結果に従って前記アドレス指定された位置に前記第2のデータ値を条件付きで記憶することが、前記第2のデータ値の態様が前記第1のデータ値の対応する態様を超えることを前記比較結果が示す場合にのみ、前記アドレス指定された位置に前記第2のデータ値を記憶することを含む、請求項14に記載の方法。
  16. メモリコアと、
    メモリアクセスコマンドに応じて、前記メモリコア内のアドレス指定された位置から第1のデータ値を検索し、かつ前記メモリアクセスコマンドに応じて、前記メモリコア内の前記アドレス指定された位置に第2のデータ値を記憶するコアアクセス回路と、
    を含む集積回路メモリ装置。
  17. 前記コアアクセス回路が、
    前記メモリアクセスコマンドおよび対応するメモリアドレスを受信し、かつ前記メモリアクセスコマンドおよび対応するメモリアドレスに応じて、前記アドレス指定された位置へのアクセスを可能にする制御論理と、
    前記制御論理を介して、前記メモリコアにおける前記アドレス指定された位置から前記第1のデータ値を受信し、かつ前記集積回路メモリ装置から前記第1のデータ値を出力するデータ入力/出力(I/O)回路と、
    を含む、請求項16に記載の集積回路メモリ装置。
  18. 前記データI/O回路が、前記メモリアクセスコマンドに応じ、外部シグナリング経路を介して前記第2のデータ値を受信するデータ受信回路を含む、請求項17に記載の集積回路装置。
  19. 前記データI/O回路が、前記メモリアクセスコマンドに関連する外部シグナリング経路を介して第3のデータ値を受信するデータ受信回路と、前記データ受信回路から前記第3のデータ値を受信し、かつ前記メモリコアから前記第1のデータ値を受信するように結合された修正論理回路と、を含み、前記修正論理回路が、前記第1および第3のデータ値を用いて前記第2のデータを生成する回路を含む、請求項17に記載の集積回路装置。
  20. 前記データI/O回路が、前記メモリコアから前記第1のデータ値を受信するように結合された修正論理回路であって、前記第1のデータ値を修正することによって前記第2のデータ値を生成する回路を有する修正論理回路を含む、請求項17に記載の集積回路メモリ装置。
  21. 前記データI/O回路が、前記メモリアクセスコマンドに応じ、外部シグナリング経路を介して前記第2のデータ値を受信するデータ受信回路を含む、請求項17に記載の集積回路メモリ装置。
  22. 前記データ受信回路から前記第2のデータ値を受信し、かつ前記メモリコアから前記第1のデータ値を受信するように結合された修正論理をさらに含み、前記修正論理回路が、前記第1および第2のデータ値を比較して比較結果を生成し、かつ前記比較結果に依存して、前記メモリコア内の前記アドレス指定された位置に前記第2のデータ値を条件付きで記憶できるようにする回路を含む、請求項21に記載の集積回路メモリ装置。
  23. 前記メモリアクセスコマンドの受信前に前記第2のデータ値を記憶するレジスタをさらに含む、請求項17に記載の集積回路メモリ装置。
  24. 前記メモリコアが、複数のダイナミックランダムアクセスメモリセルを含む、請求項16に記載の集積回路メモリ装置。
  25. 前記メモリコアが、複数のフラッシュメモリセルを含む、請求項16に記載の集積回路メモリ装置。
  26. メモリコアと、
    メモリアクセスコマンドに応じて、前記メモリコア内のアドレス指定された位置から第1のデータ値を検索するための手段と、
    前記メモリアクセスコマンドに応じて、前記メモリ装置から前記第1のデータ値を出力するための手段と、
    前記メモリアクセスコマンドに応じて、前記メモリコア内の前記アドレス指定された位置に第2のデータ値を記憶するための手段と、
    を含む集積回路メモリ装置。
  27. 1つ以上のコンピュータ可読記憶媒体を含む製品であって、前記コンピュータ可読記憶媒体が、集積回路装置の物理的インプリメンテーションを説明する情報を自身に具体化し、前記情報が、
    メモリコアと、
    メモリアクセスコマンドに応じて、前記メモリコア内のアドレス指定された位置から第1のデータ値を検索し、かつ前記メモリアクセスコマンドに応じて、前記メモリコア内の前記アドレス指定された位置に第2のデータ値を記憶するコアアクセス回路と、
    の説明を含む製品。
JP2015103118A 2009-08-20 2015-05-20 原子メモリ装置 Active JP6170093B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US23556409P 2009-08-20 2009-08-20
US61/235,564 2009-08-20

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012525545A Division JP5752686B2 (ja) 2009-08-20 2010-06-17 原子メモリ装置

Publications (2)

Publication Number Publication Date
JP2015172960A true JP2015172960A (ja) 2015-10-01
JP6170093B2 JP6170093B2 (ja) 2017-07-26

Family

ID=43607273

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012525545A Active JP5752686B2 (ja) 2009-08-20 2010-06-17 原子メモリ装置
JP2015103118A Active JP6170093B2 (ja) 2009-08-20 2015-05-20 原子メモリ装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2012525545A Active JP5752686B2 (ja) 2009-08-20 2010-06-17 原子メモリ装置

Country Status (4)

Country Link
US (8) US20120117317A1 (ja)
EP (1) EP2467852B1 (ja)
JP (2) JP5752686B2 (ja)
WO (1) WO2011022114A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10713170B2 (en) 2016-08-01 2020-07-14 Tsvlink Corp. Multiple channel cache memory and system memory device utilizing a pseudo-multiple port for commands and addresses and a multiple frequency band QAM serializer/deserializer for data
JP7493352B2 (ja) 2020-03-05 2024-05-31 三菱電機株式会社 保護リレー

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8245101B2 (en) 2007-12-27 2012-08-14 Sandisk Enterprise Ip Llc Patrol function used in flash storage controller to detect data errors
US8473681B2 (en) * 2009-02-17 2013-06-25 Rambus Inc. Atomic-operation coalescing technique in multi-chip systems
US20120117317A1 (en) * 2009-08-20 2012-05-10 Rambus Inc. Atomic memory device
US8850137B2 (en) * 2010-10-11 2014-09-30 Cisco Technology, Inc. Memory subsystem for counter-based and other applications
US8854873B1 (en) * 2011-05-05 2014-10-07 Adesto Technologies Corporation Memory devices, architectures and methods for memory elements having dynamic change in property
US8838888B2 (en) 2012-03-19 2014-09-16 International Business Machines Corporation Conditional write processing for a cache structure of a coupling facility
US8938578B2 (en) * 2012-07-27 2015-01-20 Rambus Inc. Memory device with multi-mode deserializer
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9612948B2 (en) * 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9092152B1 (en) * 2013-03-14 2015-07-28 Datadirect Networks, Inc. Data storage system employing a distributed compute engine memory controller with embedded logic and arithmetic functionality and method for data migration between high-performance computing architectures and data storage devices using the same
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
KR20140128821A (ko) * 2013-04-29 2014-11-06 삼성전자주식회사 아토믹 라이트 완료 식별자를 ip 코어별로 생성할 수 있는 데이터 저장 장치의 동작 방법과 이를 포함하는 시스템의 동작 방법
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9235509B1 (en) 2013-08-26 2016-01-12 Sandisk Enterprise Ip Llc Write amplification reduction by delaying read access to data written during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
CN105900085B (zh) * 2013-12-23 2019-08-09 井上克己 具备信息检索功能的存储器及其利用方法、装置、信息处理方法
US10185499B1 (en) * 2014-01-07 2019-01-22 Rambus Inc. Near-memory compute module
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US9384830B2 (en) 2014-05-06 2016-07-05 Micron Technology, Inc. Apparatuses and methods for performing multiple memory operations
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9823968B1 (en) * 2015-08-21 2017-11-21 Datadirect Networks, Inc. Data storage system employing a variable redundancy distributed RAID controller with embedded RAID logic and method for data migration between high-performance computing architectures and data storage devices using the same
US9952925B2 (en) * 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
US10203884B2 (en) * 2016-03-30 2019-02-12 Intel Corporation Methods and apparatus to perform erase-suspend operations in memory devices
KR102534825B1 (ko) 2016-04-19 2023-05-22 에스케이하이닉스 주식회사 메모리 제어장치 및 이를 포함하는 데이터 저장 장치
CN107564563B (zh) * 2016-06-30 2020-06-09 华邦电子股份有限公司 存储器装置及其操作方法
US11403030B2 (en) * 2016-09-02 2022-08-02 Rambus Inc. Memory component with input/output data rate alignment
KR20180062511A (ko) * 2016-11-30 2018-06-11 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법, 메모리 시스템의 동작 방법
KR101801901B1 (ko) * 2017-04-27 2017-11-27 공재섭 데이터 구역성을 고려하여 액세스되는 메모리 장치 및 이를 포함하는 전자 시스템
JP2019192321A (ja) * 2018-04-25 2019-10-31 ルネサスエレクトロニクス株式会社 半導体装置
DE102018207020A1 (de) * 2018-05-07 2019-11-07 Robert Bosch Gmbh Statischer Direktzugriffsspeicher-Block sowie Empfangssensor
US10877678B2 (en) * 2018-05-17 2020-12-29 Micron Technology, Inc. Selection component that is configured based on an architecture associated with memory devices
US11226909B2 (en) 2018-08-24 2022-01-18 Rambus Inc. DRAM interface mode with interruptible internal transfer operation
KR20200066953A (ko) * 2018-12-03 2020-06-11 삼성전자주식회사 Pim을 채용하는 반도체 메모리 장치 및 그 동작 방법
US10977035B2 (en) 2019-02-18 2021-04-13 International Business Machines Corporation Atomic memory operation having selectable location of performance
US10901734B2 (en) 2019-03-01 2021-01-26 Micron Technology, Inc. Memory mapping using commands to transfer data and/or perform logic operations
US11188239B2 (en) * 2019-03-28 2021-11-30 Western Digital Technologies, Inc. Host-trusted module in data storage device
US11385829B2 (en) 2019-08-05 2022-07-12 Cypress Semiconductor Corporation Memory controller for non-interfering accesses to nonvolatile memory by different masters, and related systems and methods
US20220283743A1 (en) * 2019-08-27 2022-09-08 Rambus Inc. Joint command dynamic random access memory (dram) apparatus and methods
US11348622B2 (en) 2020-05-06 2022-05-31 Micron Technology, Inc. Conditional write back scheme for memory
US11409684B2 (en) 2020-07-31 2022-08-09 Alibaba Group Holding Limited Processing accelerator architectures
US11625341B2 (en) 2020-08-11 2023-04-11 Alibaba Group Holding Limited Narrow DRAM channel systems and methods
US11740929B2 (en) * 2020-10-20 2023-08-29 Micron Technology, Inc. Registering a custom atomic operation with the operating system
US11586439B2 (en) 2020-10-20 2023-02-21 Micron Technology, Inc. Detecting infinite loops in a programmable atomic transaction
US11436187B2 (en) 2020-10-20 2022-09-06 Micron Technology, Inc. Method of notifying a process or programmable atomic operation traps
US11693690B2 (en) 2020-10-20 2023-07-04 Micron Technology, Inc. Method of completing a programmable atomic transaction by ensuring memory locks are cleared
US11403023B2 (en) 2020-10-20 2022-08-02 Micron Technology, Inc. Method of organizing a programmable atomic unit instruction memory
TWI773106B (zh) 2021-01-28 2022-08-01 華邦電子股份有限公司 具有運算功能的記憶體裝置及其操作方法
US11960731B2 (en) * 2022-06-02 2024-04-16 Micron Technology, Inc. FIFO memory error condition detection

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146813A (ja) * 1993-11-22 1995-06-06 Nec Corp 論理演算機能付画像メモリ
JPH08129376A (ja) * 1995-06-16 1996-05-21 Hitachi Ltd 1チップメモリデバイス
JPH09138761A (ja) * 1996-11-18 1997-05-27 Hitachi Ltd 1チップメモリデバイス
US20080183984A1 (en) * 2007-01-31 2008-07-31 Dale Beucler Memory system with read-modify-write

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4644503A (en) * 1983-12-30 1987-02-17 International Business Machines Corporation Computer memory system with integrated parallel shift circuits
US4914570A (en) * 1986-09-15 1990-04-03 Counterpoint Computers, Inc. Process distribution and sharing system for multiple processor computer system
JPH03246741A (ja) * 1990-02-26 1991-11-05 Mitsubishi Electric Corp 同期制御装置
US5297271A (en) 1990-09-21 1994-03-22 Chips And Technologies, Inc. Method and apparatus for performing a read-write-modify operation in a VGA compatible controller
US5430860A (en) * 1991-09-17 1995-07-04 International Business Machines Inc. Mechanism for efficiently releasing memory lock, after allowing completion of current atomic sequence
US5459842A (en) * 1992-06-26 1995-10-17 International Business Machines Corporation System for combining data from multiple CPU write requests via buffers and using read-modify-write operation to write the combined data to the memory
US5729160A (en) * 1994-07-20 1998-03-17 Mosaid Technologies Incorporated Self-timed circuit control device and method
IN188196B (ja) * 1995-05-15 2002-08-31 Silicon Graphics Inc
JPH0934827A (ja) * 1995-07-14 1997-02-07 Canon Inc メモリ制御装置
US5768287A (en) * 1996-10-24 1998-06-16 Micron Quantum Devices, Inc. Apparatus and method for programming multistate memory device
US5974514A (en) 1996-11-12 1999-10-26 Hewlett-Packard Controlling SDRAM memory by using truncated burst read-modify-write memory operations
US6167486A (en) * 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
US6401167B1 (en) * 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
AU9693398A (en) * 1997-10-10 1999-05-03 Rambus Incorporated Apparatus and method for pipelined memory operations
US5959929A (en) * 1997-12-29 1999-09-28 Micron Technology, Inc. Method for writing to multiple banks of a memory device
JPH11231954A (ja) * 1998-02-16 1999-08-27 Mitsubishi Electric Corp 内部電源電圧発生回路
KR100538605B1 (ko) * 1998-03-18 2005-12-22 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 데이터 처리 장치, 행렬 변환 방법 및 컴퓨터 판독가능한 매체
JP3178423B2 (ja) * 1998-07-03 2001-06-18 日本電気株式会社 バーチャルチャネルsdram
US6381190B1 (en) * 1999-05-13 2002-04-30 Nec Corporation Semiconductor memory device in which use of cache can be selected
US6708248B1 (en) * 1999-07-23 2004-03-16 Rambus Inc. Memory system with channel multiplexing of multiple memory devices
US6240042B1 (en) * 1999-09-02 2001-05-29 Micron Technology, Inc. Output circuit for a double data rate dynamic random access memory, double data rate dynamic random access memory, method of clocking data out from a double data rate dynamic random access memory and method of providing a data strobe signal
US6671836B1 (en) * 1999-09-23 2003-12-30 Rambus Inc. Method and apparatus for testing memory
US6643731B2 (en) * 1999-12-31 2003-11-04 Texas Instruments Incorporated Low cost memory management that resists power interruption
US7017160B2 (en) * 2000-04-18 2006-03-21 Sun Microsystems, Inc. Concurrent shared object implemented using a linked-list with amortized node allocation
JP5034149B2 (ja) * 2000-10-05 2012-09-26 富士通セミコンダクター株式会社 半導体メモリおよびその制御方法
JP3506175B2 (ja) * 2000-10-05 2004-03-15 日本電気株式会社 メモリ制御回路とメモリ制御方法
JP2002140890A (ja) * 2000-10-31 2002-05-17 Hitachi Ltd 半導体装置
US6993770B1 (en) * 2001-01-12 2006-01-31 Sun Microsystems, Inc. Lock free reference counting
US6804162B1 (en) * 2001-04-05 2004-10-12 T-Ram, Inc. Read-modify-write memory using read-or-write banks
US6327207B1 (en) * 2001-04-09 2001-12-04 Lsi Logic Corporation Synchronizing data operations across a synchronization boundary between different clock domains using two-hot encoding
TW501037B (en) * 2001-05-01 2002-09-01 Benq Corp Interactive update method for parameter data
JP2003196084A (ja) 2001-12-25 2003-07-11 Toshiba Corp リードモディファイライトユニットを有するシステム
US7254597B2 (en) * 2002-01-11 2007-08-07 Sun Microsystems, Inc. Lock-free implementation of dynamic-sized shared data structure
JP2003263884A (ja) * 2002-03-07 2003-09-19 Mitsubishi Electric Corp Fifo回路
US20040006665A1 (en) * 2002-07-02 2004-01-08 Moss Robert W. Methods and structure for hiding DRAM bank precharge and activate latency by issuing apriori bank state transition information
US7328316B2 (en) * 2002-07-16 2008-02-05 Sun Microsystems, Inc. Software transactional memory for dynamically sizable shared data structures
US7293143B1 (en) * 2002-09-24 2007-11-06 Sun Microsystems, Inc. Efficient non-blocking k-compare-single-swap operation
US6901490B2 (en) * 2002-12-02 2005-05-31 Lsi Logic Corporation Read/modify/write registers
US6973551B1 (en) 2002-12-30 2005-12-06 Emc Corporation Data storage system having atomic memory operation
US7424477B1 (en) * 2003-09-03 2008-09-09 Sun Microsystems, Inc. Shared synchronized skip-list data structure and technique employing linearizable operations
US20050086446A1 (en) * 2003-10-04 2005-04-21 Mckenney Paul E. Utilizing software locking approach to execute code upon failure of hardware transactional approach
US7254075B2 (en) * 2004-09-30 2007-08-07 Rambus Inc. Integrated circuit memory system having dynamic memory bank count and page size
US7280428B2 (en) * 2004-09-30 2007-10-09 Rambus Inc. Multi-column addressing mode memory system including an integrated circuit memory device
US7257762B2 (en) * 2004-10-07 2007-08-14 Lsi Corporation Memory interface with write buffer and encoder
US7421544B1 (en) * 2005-04-04 2008-09-02 Sun Microsystems, Inc. Facilitating concurrent non-transactional execution in a transactional memory system
US7543102B2 (en) * 2005-04-18 2009-06-02 University Of Maryland System and method for performing multi-rank command scheduling in DDR SDRAM memory systems
JP2008537268A (ja) * 2005-04-22 2008-09-11 アルトリックス ロジック,インク. 可変精度相互接続を具えたデータ処理エレメントの配列
US7536517B2 (en) * 2005-07-29 2009-05-19 Microsoft Corporation Direct-update software transactional memory
DE112006002237B4 (de) * 2005-08-23 2023-04-06 Advanced Micro Devices, Inc. Verfahren zur selbstinitiierenden Synchronisierung in einem Computersystem
US7477186B2 (en) * 2005-10-11 2009-01-13 Sony Ericsson Mobile Communications Ab Memory systems with column read to an arithmetic operation circuit, pattern detector circuits and methods and computer program products for the same
US8099726B2 (en) * 2005-12-07 2012-01-17 Microsoft Corporation Implementing strong atomicity in software transactional memory
US20070136289A1 (en) * 2005-12-14 2007-06-14 Intel Corporation Lock elision with transactional memory
US7475228B2 (en) * 2006-01-03 2009-01-06 Sun Microsystems, Inc. Ensuring progress in a system that supports execution of obstruction-free operations
US20070186056A1 (en) 2006-02-07 2007-08-09 Bratin Saha Hardware acceleration for a software transactional memory system
US8065499B2 (en) * 2006-02-22 2011-11-22 Oracle America, Inc. Methods and apparatus to implement parallel transactions
US7647454B2 (en) * 2006-06-12 2010-01-12 Hewlett-Packard Development Company, L.P. Transactional shared memory system and method of control
US7502897B2 (en) * 2006-06-28 2009-03-10 Intel Corporation Object based conflict detection in a software transactional memory
US7542977B2 (en) * 2006-06-29 2009-06-02 Intel Corporation Transactional memory with automatic object versioning
US8806495B2 (en) * 2006-11-20 2014-08-12 Microsoft Corp. Lightweight transactional memory for data parallel programming
JP4392694B2 (ja) * 2007-01-10 2010-01-06 エルピーダメモリ株式会社 半導体記憶装置
US7689788B2 (en) 2007-01-23 2010-03-30 Sun Microsystems, Inc. System and method for executing transactions
US8095741B2 (en) * 2007-05-14 2012-01-10 International Business Machines Corporation Transactional memory computing system with support for chained transactions
US7644238B2 (en) * 2007-06-01 2010-01-05 Microsoft Corporation Timestamp based transactional memory
US20080320459A1 (en) * 2007-06-22 2008-12-25 Morris Robert P Method And Systems For Providing Concurrency Control For Addressable Entities
CN101430650B (zh) * 2007-11-07 2013-02-06 国际商业机器公司 用于事务内存的方法和设备
US7646648B2 (en) * 2007-12-03 2010-01-12 International Business Machines Corporation Apparatus and method for implementing memory array device with built in computational capability
US8694997B2 (en) * 2007-12-12 2014-04-08 University Of Washington Deterministic serialization in a transactional memory system based on thread creation order
US8706982B2 (en) * 2007-12-30 2014-04-22 Intel Corporation Mechanisms for strong atomicity in a transactional memory system
US20090183159A1 (en) * 2008-01-11 2009-07-16 Michael Maged M Managing concurrent transactions using bloom filters
US8004926B2 (en) * 2008-02-05 2011-08-23 Marvell World Trade Ltd. System and method for memory array decoding
CN101515472B (zh) * 2008-02-19 2012-05-02 南亚科技股份有限公司 存取存储器芯片的方法
WO2009137157A1 (en) * 2008-03-31 2009-11-12 Rambus Inc. Independent threading of memory devices disposed on memory modules
US8112595B1 (en) * 2008-05-01 2012-02-07 Marvell Semiconductor Israel Ltd. Command cancellation channel for read—modify—write operation in a memory
JP5456275B2 (ja) * 2008-05-16 2014-03-26 ピーエスフォー ルクスコ エスエイアールエル カウンタ回路、レイテンシカウンタ及びこれを備える半導体記憶装置、並びに、データ処理システム
JP5195140B2 (ja) * 2008-08-06 2013-05-08 富士通セミコンダクター株式会社 半導体メモリおよびメモリシステム
JP2010108550A (ja) * 2008-10-30 2010-05-13 Elpida Memory Inc 半導体記憶装置
US8107308B2 (en) * 2009-01-13 2012-01-31 Samsung Electronics Co., Ltd. Semiconductor memory device
US20120117317A1 (en) * 2009-08-20 2012-05-10 Rambus Inc. Atomic memory device
JP2012033210A (ja) * 2010-07-28 2012-02-16 Elpida Memory Inc 半導体装置及び半導体装置の試験方法
US8850137B2 (en) * 2010-10-11 2014-09-30 Cisco Technology, Inc. Memory subsystem for counter-based and other applications
US9330735B2 (en) * 2011-07-27 2016-05-03 Rambus Inc. Memory with deferred fractional row activation
US9268719B2 (en) * 2011-08-05 2016-02-23 Rambus Inc. Memory signal buffers and modules supporting variable access granularity
US9116781B2 (en) * 2011-10-17 2015-08-25 Rambus Inc. Memory controller and memory device command protocol
CN110265071B (zh) * 2013-09-24 2023-05-12 拉姆伯斯公司 具有内部读取-修改-写入操作的存储部件
JP5745136B1 (ja) * 2014-05-09 2015-07-08 力晶科技股▲ふん▼有限公司 不揮発性半導体記憶装置とその書き込み方法
US9772935B2 (en) * 2014-09-16 2017-09-26 Empire Technology Development Llc Data storage based on rank modulation in single-level flash memory
US9524210B1 (en) * 2015-03-02 2016-12-20 Crossbar, Inc. Separating bits represented by a MLC in connection with ECC
US10372531B2 (en) * 2017-01-05 2019-08-06 Texas Instruments Incorporated Error-correcting code memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07146813A (ja) * 1993-11-22 1995-06-06 Nec Corp 論理演算機能付画像メモリ
JPH08129376A (ja) * 1995-06-16 1996-05-21 Hitachi Ltd 1チップメモリデバイス
JPH09138761A (ja) * 1996-11-18 1997-05-27 Hitachi Ltd 1チップメモリデバイス
US20080183984A1 (en) * 2007-01-31 2008-07-31 Dale Beucler Memory system with read-modify-write

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10713170B2 (en) 2016-08-01 2020-07-14 Tsvlink Corp. Multiple channel cache memory and system memory device utilizing a pseudo-multiple port for commands and addresses and a multiple frequency band QAM serializer/deserializer for data
JP7493352B2 (ja) 2020-03-05 2024-05-31 三菱電機株式会社 保護リレー

Also Published As

Publication number Publication date
US20220253378A1 (en) 2022-08-11
US20180267891A1 (en) 2018-09-20
JP6170093B2 (ja) 2017-07-26
JP5752686B2 (ja) 2015-07-22
US11204863B2 (en) 2021-12-21
EP2467852A4 (en) 2014-04-02
US9658953B2 (en) 2017-05-23
US11720485B2 (en) 2023-08-08
WO2011022114A1 (en) 2011-02-24
US10552310B2 (en) 2020-02-04
US20150178187A1 (en) 2015-06-25
US20120117317A1 (en) 2012-05-10
EP2467852B1 (en) 2019-05-22
US11748252B2 (en) 2023-09-05
JP2013502646A (ja) 2013-01-24
EP2467852A1 (en) 2012-06-27
US20230325309A1 (en) 2023-10-12
US9898400B2 (en) 2018-02-20
US20200257619A1 (en) 2020-08-13
US20220206936A1 (en) 2022-06-30
US20170293552A1 (en) 2017-10-12

Similar Documents

Publication Publication Date Title
JP6170093B2 (ja) 原子メモリ装置
US11016706B2 (en) Apparatuses for in-memory operations
US6504785B1 (en) Multiprocessor system with integrated memory
US11682449B2 (en) Apparatuses and methods for compute in data path
US5953738A (en) DRAM with integral SRAM and arithmetic-logic units
US6295586B1 (en) Queue based memory controller
US8504790B2 (en) Memory component having write operation with multiple time periods
US5890195A (en) Dram with integral sram comprising a plurality of sets of address latches each associated with one of a plurality of sram
WO2016126472A1 (en) Apparatuses and methods for scatter and gather
US6272064B1 (en) Memory with combined synchronous burst and bus efficient functionality
US11537538B2 (en) Inter cluster snoop latency reduction
KR20100101672A (ko) 캐스케이드 메모리 배열
US6091667A (en) Semiconductor memory device and a data reading method and a data writing method therefor
US6961280B1 (en) Techniques for implementing address recycling in memory circuits

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160617

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160913

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20161116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170525

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170626

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170629

R150 Certificate of patent or registration of utility model

Ref document number: 6170093

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250