(57)【要約】【課題】  改善されたデータ処理システム内のデータ記憶および操作を提供することである。【解決手段】  メモリコアを有する集積回路メモリ装置において、第１のデータ値が、メモリアクセスコマンドに応じて、メモリコア内のアドレス指定された位置から検索される。第１のデータ値は、メモリアクセスコマンドに応じて、メモリ装置から出力され、第２のデータ値が、メモリアクセスコマンドに応じて、メモリコア内のアドレス指定された位置に記憶される。【選択図】  図１Ａ
2013502646.tif 000002
【特許請求の範囲】
【請求項１】
集積回路メモリ装置内の動作方法であって、
メモリアクセスコマンドに応じて、前記メモリ装置のメモリコア内におけるアドレス指定された位置から第１のデータ値を検索すること、
前記メモリアクセスコマンドに応じて、前記メモリ装置から前記第１のデータ値を出力すること、および、
前記メモリアクセスコマンドに応じて、前記メモリコア内の前記アドレス指定された位置に第２のデータ値を記憶すること、
を含む方法。
【請求項２】
前記メモリ装置のメモリコア内におけるアドレス指定された位置から第１のデータ値を検索することが、前記メモリ装置のセンス増幅器バンク内のセンス増幅器の列から第１のデータ値を検索することを含む、請求項１に記載の方法。
【請求項３】
前記メモリアクセスコマンドの受信前に実行される行アクティブ動作において、記憶セルの行から前記センス増幅器バンクにデータを転送することをさらに含み、前記記憶セルの行が、前記メモリコア内の記憶アレイの一部を形成する、請求項２に記載の方法。
【請求項４】
前記メモリコア内の前記アドレス指定された位置に第２のデータ値を記憶することが、前記センス増幅器の列内に前記第２の値を記憶することを含む、請求項２に記載の方法。
【請求項５】
前記メモリアクセスコマンドに応じて、前記メモリ装置から前記第１のデータ値を出力することが、前記メモリ装置外のデータ経路上に前記第１のデータ値を出力することを含む、請求項１に記載の方法。
【請求項６】
前記メモリアクセスコマンドに応じて前記第１のデータ値を修正して、前記第２のデータ値を生成することをさらに含む、請求項１に記載の方法。
【請求項７】
前記第１のデータ値を修正することが、前記第２のデータ値が前記第１のデータ値のインクリメントされたバージョンであるように、前記メモリアクセスコマンドに応じて前記第１のデータ値をインクリメントすることを含む、請求項６に記載の方法。
【請求項８】
前記第１のデータ値を修正することが、前記第１のデータ値が第１のオペランドを構成しかつ第３のデータ値が第２のオペランド構成する論理演算を実行することを含む、請求項６に記載の方法。
【請求項９】
前記メモリ装置内のレジスタから前記第３のデータ値を受信することをさらに含む、請求項８に記載の方法。
【請求項１０】
外部データ経路を介して前記第３のデータ値を受信することをさらに含む、請求項８に記載の方法。
【請求項１１】
外部データ経路を介して前記第３のデータ値を受信することが、外部コマンド経路を介して前記メモリアクセスコマンドを受信するのと平行して、前記外部データ経路を介して前記第３のデータ値を受信することを含む、請求項１０に記載の方法。
【請求項１２】
前記論理演算が算術演算を含む、請求項８に記載の方法。
【請求項１３】
前記メモリ装置から前記第１のデータ値を出力する前に、外部データ経路を介して前記第２のデータ値を受信することをさらに含み、前記メモリ装置から前記第１のデータ値を出力することが、前記外部データ経路を介して前記第１のデータ値を出力することを含む、請求項１に記載の方法。
【請求項１４】
前記第１のデータ値を前記第２と比較して比較結果を生成することをさらに含み、前記メモリコア内の前記アドレス指定された位置に前記第２のデータ値を記憶することが、前記比較結果に従って前記アドレス指定された位置に前記第２のデータ値を条件付きで記憶することを含む、請求項１に記載の方法。
【請求項１５】
前記比較結果に従って前記アドレス指定された位置に前記第２のデータ値を条件付きで記憶することが、前記第２のデータ値の態様が前記第１のデータ値の対応する態様を超えることを前記比較結果が示す場合にのみ、前記アドレス指定された位置に前記第２のデータ値を記憶することを含む、請求項１４に記載の方法。
【請求項１６】
メモリコアと、
メモリアクセスコマンドに応じて、前記メモリコア内のアドレス指定された位置から第１のデータ値を検索し、かつ前記メモリアクセスコマンドに応じて、前記メモリコア内の前記アドレス指定された位置に第２のデータ値を記憶するコアアクセス回路と、
を含む集積回路メモリ装置。
【請求項１７】
前記コアアクセス回路が、
前記メモリアクセスコマンドおよび対応するメモリアドレスを受信し、かつ前記メモリアクセスコマンドおよび対応するメモリアドレスに応じて、前記アドレス指定された位置へのアクセスを可能にする制御論理と、
前記制御論理を介して、前記メモリコアにおける前記アドレス指定された位置から前記第１のデータ値を受信し、かつ前記集積回路メモリ装置から前記第１のデータ値を出力するデータ入力／出力（Ｉ／Ｏ）回路と、
を含む、請求項１６に記載の集積回路メモリ装置。
【請求項１８】
前記データＩ／Ｏ回路が、前記メモリアクセスコマンドに応じ、外部シグナリング経路を介して前記第２のデータ値を受信するデータ受信回路を含む、請求項１７に記載の集積回路装置。
【請求項１９】
前記データＩ／Ｏ回路が、前記メモリアクセスコマンドに関連する外部シグナリング経路を介して第３のデータ値を受信するデータ受信回路と、前記データ受信回路から前記第３のデータ値を受信し、かつ前記メモリコアから前記第１のデータ値を受信するように結合された修正論理回路と、を含み、前記修正論理回路が、前記第１および第３のデータ値を用いて前記第２のデータを生成する回路を含む、請求項１７に記載の集積回路装置。
【請求項２０】
前記データＩ／Ｏ回路が、前記メモリコアから前記第１のデータ値を受信するように結合された修正論理回路であって、前記第１のデータ値を修正することによって前記第２のデータ値を生成する回路を有する修正論理回路を含む、請求項１７に記載の集積回路メモリ装置。
【請求項２１】
前記データＩ／Ｏ回路が、前記メモリアクセスコマンドに応じ、外部シグナリング経路を介して前記第２のデータ値を受信するデータ受信回路を含む、請求項１７に記載の集積回路メモリ装置。
【請求項２２】
前記データ受信回路から前記第２のデータ値を受信し、かつ前記メモリコアから前記第１のデータ値を受信するように結合された修正論理をさらに含み、前記修正論理回路が、前記第１および第２のデータ値を比較して比較結果を生成し、かつ前記比較結果に依存して、前記メモリコア内の前記アドレス指定された位置に前記第２のデータ値を条件付きで記憶できるようにする回路を含む、請求項２１に記載の集積回路メモリ装置。
【請求項２３】
前記メモリアクセスコマンドの受信前に前記第２のデータ値を記憶するレジスタをさらに含む、請求項１７に記載の集積回路メモリ装置。
【請求項２４】
前記メモリコアが、複数のダイナミックランダムアクセスメモリセルを含む、請求項１６に記載の集積回路メモリ装置。
【請求項２５】
前記メモリコアが、複数のフラッシュメモリセルを含む、請求項１６に記載の集積回路メモリ装置。
【請求項２６】
メモリコアと、
メモリアクセスコマンドに応じて、前記メモリコア内のアドレス指定された位置から第１のデータ値を検索するための手段と、
前記メモリアクセスコマンドに応じて、前記メモリ装置から前記第１のデータ値を出力するための手段と、
前記メモリアクセスコマンドに応じて、前記メモリコア内の前記アドレス指定された位置に第２のデータ値を記憶するための手段と、
を含む集積回路メモリ装置。
【請求項２７】
１つ以上のコンピュータ可読記憶媒体を含む製品であって、前記コンピュータ可読記憶媒体が、集積回路装置の物理的インプリメンテーションを説明する情報を自身に具体化し、前記情報が、
メモリコアと、
メモリアクセスコマンドに応じて、前記メモリコア内のアドレス指定された位置から第１のデータ値を検索し、かつ前記メモリアクセスコマンドに応じて、前記メモリコア内の前記アドレス指定された位置に第２のデータ値を記憶するコアアクセス回路と、
の説明を含む製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータ処理分野に関し、特にデータ処理システム内のデータ記憶および操作に関する。
【背景技術】
【０００２】
プロセッサ性能とメモリ帯域幅との間の増大し続けるギャップは、プロセッサが、動作メモリからデータをフェッチしなければならないに場合に被るタイミングペナルティの増加に反映される。プロセッサストール（データ検索を待っている）および構造的対応策（例えばキャッシュメモリ）は、シングルプロセッサシステムの中でも大変高価であるが、かかるコストは、マルチプロセッサシステム（マルチコアプロセッサを含む）において、特に多数のプロセッサまたはプロセッサコアが記憶位置（例えばメモリ）を共有する場合には、倍増する傾向がある。その場合に、プロセッサの１つによる共有データの修正は、一般に、他のプロセッサが潜在的に古い共有データにアクセスするのを排除するために、コヒーレンス制御、すなわち「ロック」または「セマフォ」などのプロセッサ間通信または他の高レベルな調整を必要とし、その間にデータ修正プロセッサは、動作メモリから共有データをフェッチし、データを修正し、次に修正データを動作メモリへライトバックするために必要な多数のステップを実行する。一般に、共有データへのアクセスを必要とする排除されたプロセッサのいずれも、排他的アクセスが完了したという通知を待たなければならない。
【０００３】
本発明は、添付の図において、限定としてではなく例として示され、これらの図において、同様の参照数字は、同様の要素を指す。
【図面の簡単な説明】
【０００４】
【図１Ａ】本明細書で「原子」メモリ動作と呼ばれる、アクセス保護されたデータ修正動作を実行できるデータ処理システムの実施形態を示す。
【図１Ｂ】図１Ａの原子メモリ装置および原子メモリコントローラによってサポートされた多数の原子メモリ動作におけるデータフローを示す。
【図１Ｃ】図１Ａの原子メモリ装置および原子メモリコントローラによってサポートされた多数の原子メモリ動作におけるデータフローを示す。
【図１Ｄ】図１Ａの原子メモリ装置および原子メモリコントローラによってサポートされた多数の原子メモリ動作におけるデータフローを示す。
【図１Ｅ】図１Ａの原子メモリ装置および原子メモリコントローラによってサポートされた多数の原子メモリ動作におけるデータフローを示す。
【図１Ｆ】図１Ａの原子メモリ装置および原子メモリコントローラによってサポートされた多数の原子メモリ動作におけるデータフローを示す。
【図１Ｇ】図１Ａの原子メモリ装置および原子メモリコントローラによってサポートされた多数の単信メモリ動作におけるデータフローを示す。
【図１Ｈ】図１Ａの原子メモリ装置および原子メモリコントローラによってサポートされた多数の単信メモリ動作におけるデータフローを示す。
【図２】原子メモリ装置の実施形態をより詳細に示す。
【図３】図２に示す修正論理を実行するために使用可能な修正論理回路の実施形態を示す。
【図４】図３の修正コントローラによって開始および制御可能な動作の表を示す。
【図５】メモリアクセスコマンドの受信に応じた、原子メモリ装置の一般化された例示的な動作を示す。
【図６】図３の原子メモリ装置内の例示的な複信動作中の信号タイミングを示すタイミング図である。
【発明を実施するための形態】
【０００５】
一般にデータアクセスに必要な時間間隔内でデータ修正動作を実行するための回路を有するメモリ装置が、様々な実施形態において開示される。一般に、データ修正動作をメモリアクセス時間下または内に隠すことによって、データへの排他的アクセスが、メモリ装置自体内でのメモリアクセスプロセスよって確立され、こうしてプロセッサ（単複）、メモリコントローラ、または他の上流回路内において、高価で非効率的な排他性制御機構が不要になる。以下で提示するいくつかの単一集積回路実施形態において、集積回路メモリ装置の入力／出力パイプラインには、マルチステップ動作を実行するための、および同じまたは異なるメモリセルにデータをライトバックするための能力が含まれる。これらの動作が、入力／出力パイプライン（一般に、一度に１人の要求者によってのみ用いることができる）によって実行されるので、ロックは、複雑なソフトウェア機構もマルチプロセッサ通信もなしに効果的に確立することができる。
【０００６】
２人のユーザの例を用いた仮説的な実例を示す。各ユーザは、別個のワークステーションを有し、かつ１００ドルのエントリを有する共有金融口座データベースを更新したいと思っている。各ユーザのワークステーションは、問題のエントリ（１００ドル）を読み出す可能性があり、各ユーザは、異なる増額分を追加して（例えば、第１のユーザの場合には２０ドルの追加、および第２のユーザの場合には５０ドルの追加）口座を更新したいと思う可能性がある。この状況においてソフトウェアロックを使用すると、一方のユーザは、もう一方のユーザが終了するまで、エントリまたは関連する処理を利用できないことになろう。ロックの不使用は、次のことを意味する可能性がある。すなわち、エントリにアクセスする第２のユーザが、古いエントリ（１００ドル）読み出し、次にその古いエントリに、古い情報の更新（例えば１５０ドル）を上書きし、不正確なエントリに帰着する可能性がある（例えば、正確な値は１７０ドルであるはずなのに、第１のユーザの１２０ドルのエントリに上書きした１５０ドル）。
【０００７】
図１Ａは、アクセス保護されたデータ修正動作、すなわち、メモリアクセス動作と並行してまたは同一の広がりで実行される、したがってメモリアクセス自体により課されるタイミング制限によって望ましくない介入アクセスから保護されるデータ修正動作を実行できるデータ処理システム１００の実施形態を示す。かかる複合メモリ動作（すなわち、１つ以上のメモリコアから検索されるデータと同様に、検索データに対する論理、算術、交換または他の動作を含む）は、それらが、競合するメモリ要求者の観点からは不可分なので、本明細書では「原子」動作と呼ばれる。したがって、かかる複合動作の原子的特徴が、メモリサブシステムにデータを格納する個別メモリ装置内の回路、およびメモリコントローラによる専用の「原子」メモリアクセスコマンド（または要求もしくは命令）の発行によって実施（達成）されるので、本明細書において、かかるメモリ装置は、「原子」メモリ装置と呼ばれ、メモリコントローラは、「原子」メモリコントローラと呼ばれる。したがって、図１Ａのメモリサブシステムには、１つまたは複数のスレッドを実行する１つ以上のプロセッサ１０２または他のホスト装置からのメモリアクセス要求（ホスト要求経路「ＨｏｓｔＲｅｑ」を介して発行される）に応答する原子メモリコントローラ１０１が含まれる。各「原子動作」は、コマンド／アドレス経路１１０（「Ｃ／Ａ」）を介して１つ以上の原子メモリ装置１０３に、対応するコマンドおよびアドレス情報を発行することによって達成される。ホスト書き込み要求の場合に、書き込みデータは、ホストデータ経路（「ＨｏｓｔＤａｔａ」）を介して、ホストプロセッサ１０２から原子メモリコントローラ１０１に出力され、次に、メモリデータ経路１１２（「Ｄａｔａ」）を介して、原子メモリコントローラ１０１から原子メモリ装置１０３に出力される。反対に、ホスト読み出し要求の場合に、読み出しデータは、メモリデータ経路１１２を介して、１つ以上の原子メモリ装置１０３から原子メモリコントローラ１０１に出力され、次に、対応するホストデータ経路を介して、原子メモリコントローラ１０１から要求しているホスト１０２に出力される。
【０００８】
メモリサブシステムのトポロジに関して、任意の数の原子メモリ装置１０３を、ポイントツーポイントおよびマルチドロップシグナリング経路の任意の組み合わせで、原子メモリコントローラ１０１に結合してもよい。一実施形態において、例えば、原子メモリ装置１０３は、１つ以上のメモリランクに組織され（すなわち、１つ以上のチップ選択線または他の選択機構を介してユニットとして選択され）、メモリランクの各原子メモリ装置１０３は、共通コマンド／アドレス経路１１０およびそれぞれの（１メモリ装置ごとに専用の）メモリデータ経路１１０介して、原子メモリコントローラ１０１に結合される。この配置によって、所与のランクのメモリ装置は、原子メモリ装置１０３のランクと原子メモリコントローラ１０１との間で転送されるデータワード全体のそれぞれの部分を（専用メモリデータ経路を介して）受信または出力することによって、同じメモリアクセスコマンドおよびメモリアドレスを受信するために、および共通コマンド／アドレスに応答するために、（例えば、共有チップ選択線または他の装置選択機構を介して）ユニットとして選択され得る。代替実施形態において、マルチドロップ配置では、別個のコマンドアドレス経路１１０を設けて、ランクとしてまたは個別に原子メモリ装置の選択を可能にしてもよく、かつ／または多数の原子メモリ装置１０３を、メモリデータ経路１１０に（もしくはシステム１００における各メモリデータ経路１１０に）に結合してもよい。
【０００９】
やはり図１Ａを参照すると、原子メモリ装置１０３のそれぞれには、１つ以上の記憶セルアレイによって形成されたメモリコア１０５へのアクセスを可能にするコアアクセス回路１０７が含まれる。メモリコア１０５の記憶アレイには、例えば、限定するわけではないが、揮発性または不揮発性メモリを含む事実上任意のタイプの記憶セルによってデータを格納してもよい。例えば、記憶セルには、スタティックランダムアクセスメモリ（スタティックＲＡＭまたはＳＲＡＭ）セル、ダイナミックＲＡＭ（ＤＲＡＭ）セル、ＮＡＮＤまたはＮＯＲフラッシュメモリセルなどの電荷トラップセル、相変化メモリセル、強磁性体メモリセル、またはデジタルデータの記憶および検索を可能にする任意の他の記憶セル技術を含んでもよい。さらに、メモリコア１０５には、基本記憶セルへのアクセスを可能にする様々な信号線および回路を含んでもよく、これらには、例えば、限定するわけではないが、記憶セルのアドレス選択された行へのアクセスを可能にするワード線、ワード線で選択された記憶セルとセンス増幅器または同様の回路との間でデータ信号を伝達するビット線、ならびにデータ検索（読み出し）動作中に、選択されたセルから出力された検出信号（および／またはラッチ信号）のための、かつ書き込みまたはリフレッシュ動作中に、選択されたセルへ逆に信号を送るためのセンス増幅器自体などがある。明確性および確実性のために、以下の実施形態において、原子メモリ装置は、ＤＲＡＭコアを有し、かつ時には原子ＤＲＡＭと呼ばれるものとして示されている。全てのかかる実施形態において、ＤＲＡＭ以外のデータ記憶技術を、メモリコア１０５、コアアクセス回路１０７、原子メモリコントローラ１０１、および相互接続トポロジにおける相応の変化と共に、本明細書に開示する改変および改善に従って用いてもよい。
【００１０】
引き続き図１Ａに示す例示的な原子メモリ装置１０３に関して、コアアクセス回路１０７には、コマンド／アドレス経路１１０（別個のコマンドおよびアドレス経路によって、またはコマンドおよびアドレス情報と時分割多重化された単一のシグナリング経路によって形成してもよい）を介してコマンドおよびアドレス情報を受信するように結合された制御論理回路１０９と、メモリコア１０５と外部データ経路（すなわちメモリデータ経路１１２）との間のデータ転送を管理するデータ入力／出力（Ｉ／Ｏ）回路１１５と、が含まれる。制御論理回路１０９（略して「制御論理」）は、メモリコア１０５の動作を制御すること（行および列復号化動作、センス動作、リフレッシュ動作、プリチャージ動作、プログラミング動作、消去動作等を開始すること）およびまたデータＩ／Ｏ回路１１５の動作を制御することによって、着信コマンドおよびアドレスに応答する。特に、制御論理回路１０９は、メモリ書き込み動作（およびデータ記憶を含む原子メモリ動作）中に、データ受信のタイミングを管理して、データ１１０回路が、対応するメモリコマンドの登録に対して、所定の時間に外部データ経路からの着信データ（例えば、以下で説明するような書き込みデータ、スワップデータおよび／またはオペランドデータ）のデータサンプリングを開始できるように、および着信データを、メモリコア１０５へのインターフェースを形成する１つ以上のレジスタかバッファにラッチできるようにしてもよい。同様に、制御論理１０９は、メモリ読み出し動作中に、データ送信のタイミングを管理して、データＩ／Ｏ回路１１５が、メモリコアインターフェースから読み出しデータをアンロードすること、およびメモリ読み出しコマンド（またはホスト要求者にデータを返す原子動作を実行するコマンド）のレジストレーションに対して、所定時間に外部データ経路上に読み出しデータを出力することを開始できるようにしてもよい。特に示してはいないが、クロックおよび／またはストローブ信号（すなわち、有効データの存在を示すために遷移する信号）を含む様々なタイミング信号を、原子メモリ装置１０３内で受信または生成してもよく、かつ制御論理１０９、データＩ／Ｏ回路１１５、および／またはメモリコア内で内部動作と同様にデータサンプリング、送信動作を調整するために用いてもよい。
【００１１】
従来のメモリ装置とは対照的に、原子メモリ装置１０３には、データ検索と並行して上記のデータ修正動作を実行するための回路が含まれる。より具体的には、制御論理１０９には、非原子メモリ読み出しおよび書き込みコマンド（ならびに基本メモリ技術を管理する必要に応じた行アクティブコマンド、プリチャージコマンド、リフレッシュコマンド、プログラムコマンド、消去コマンドなど）と同様に、原子動作コマンド（すなわち、指定された原子動作を実行するコマンド）に応答する回路が含まれる。さらに、図１Ａに示すように、データＩ／Ｏ回路１１５には、もしあれば検索データがその外部宛先への途中にあるときに、検索データの修正およびライトバックを可能にする修正論理回路１１７（略して「修正論理」）が含まれる。一実施形態において、例えば、修正論理１１７は、データＩ／Ｏサンプラーおよびドライバ回路（それぞれ１２１および１２３）とメモリコアインターフェースとの間で発信（読み出し）および着信（書き込み）データを伝達するために用いられる内部シリアルデータライン１３１、１３３間に結合される。検索データが、発信シリアルデータライン１３３上へ（すなわち、メモリコア１０５から遠方へ）ビットごとにシフトされるにつれて、シリアルデータビットは、指定された修正動作１２８に従って修正論理１１７内によって受信され、かつ修正論理１１７によって操作されて修正データを生成してもよく、この修正データが今度は、着信シリアルデータライン１３１上に（すなわち、メモリコアの方へ）ビットごとにシフトされ、したがってメモリコア１０５にライトバックされる。全体的なデータ修正およびライトバック時間が、データ検索時間自体のもとに（例えば、メモリ装置の列アクセス時間または列アクセスサイクル時間内に）完全にまたは少なくとも実質的に隠され得るので、メモリコア技術によって課される固有のタイミング制限は、メモリコア１０５内における修正データの記憶（より遠隔の記憶セル自体の内部でない場合には、メモリコアのセンス増幅器バンク内の記憶を含む）に先立つ修正データへの望ましくないアクセスを防ぐ役割をし、したがってホスト要求者またはメモリコントローラ内のコヒーレンス機構の必要なしにコヒーレンスを保証する。すなわち、メモリ装置において実行されるデータ読み出しおよび書き込み（例えば、読み出し−修正−書き込み）動作は、それが、（ａ）ロック機構（メモリロックは、遠隔コントローラによる処理中にソフトウェアまたはハードウェアを介して確立される）よりもはるかに素早く実行され、かつ（ｂ）別の着信動作によって妨害され得ない方法で、入力／出力経路内で実行される。金融口座エントリに関連した、上記の仮説的な実例に戻ると、メモリ装置は、更新値（例えば１２０ドル）をメモリに書き込む動作を単一のコマンドで実行できるように、単一の読み出し−修正−書き込み動作を用いてもよく、かかる更新は、古いデータ用に開始することができない。
【００１２】
図１Ｂ〜１Ｆは、図１Ａの原子メモリ装置１０３および原子メモリコントローラ１０１によってサポートされる多数の原子メモリ動作におけるデータフローを示す。実行できる例示的な動作には、１つ以上の論理演算、例えばインクリメント演算、デクリメント演算、反転、シフトおよび同様の演算と、データアクセスを組み合わせる動作が含まれる。他の動作は、例えば、一メモリ位置におけるデータがスワップされるスワップ動作などの多数のメモリアクセス動作を、別のメモリ位置からのデータまたはメモリコマンドによって提供されるデータと組み合わせてもよい。
【００１３】
図１Ｂから始めると、読み出し／修正動作において、データは、メモリ読み出し動作の一部として検索され、制御論理（およびしたがって原子メモリコントローラからの原子コマンド）により指定された修正動作１２８（「ｏｐ」）に従って修正論理１１７内で修正され、かつ検索データの代わりにメモリコア１０５にライトバックされる。
【００１４】
図１Ｃにおいて、次のことを除いて同様の原子動作が実行される。すなわち、読み出しデータが単独のオペランドを構成する単項演算の代わりに、２項（２つのオペランド）演算が、読み出しデータを主要オペランドとして用い、かつ内部的または外部的に供給されたデータ値（「オペランド」１４０として図１Ｃに示す）を２次オペランドとして用いて、指定された修正動作１２８に従って実行されることを除いて、同様の原子動作が実行される。以下で説明するように、かかる供給オペランドは、前にメモリコア１０５から検索されてオペランドレジスタ内に記憶された値、メモリコントローラに命令されたレジスタ書き込み動作の一部としてオペランドレジスタ内に記憶された値、別のメモリ装置からの（例えば隣接するランクからの）または任意の他のオペランドデータソースからのキャリービットであってもよい。外部供給オペランド（例えば、オペランドにロードされる値）は、例えば、書き込みデータとだいたい同じ方法（必ずしも同じコマンド関連タイミングではないが）で外部データ経路（すなわち、図１Ａのメモリデータ経路１１２）を介して供給してもよい。代替として、外部供給オペランドは、コマンド／アドレス経路（例えば、この経路で送信される他の情報と時分割多重化されて）を介して、または原子メモリ装置への他のシグナリング接続部（例えば、異なるデータリンク上の共通モードシグナリングなどの帯域外送信チャンネル、メモリシステムを初期化するために用いられる低速信号チャネル等）を介して、供給してもよい。外部供給オペランドの具体例として、オペランドロード命令およびオペランド値を、それぞれＣ／Ａおよびデータ経路を介して（またはどちらか一方の経路を介して個別に、もしくは任意の他の帯域内か帯域外シグナリング経路を介して）原子メモリコントローラ１０１から原子メモリ装置１０３へ供給してもよい。原子メモリ装置１０３内の制御論理１０９は、着信オペランドを指定されたオペランドレジスタにロードできるようにすることによって、オペランドロード命令に応答する。上記で確認した技術に加えて、修正論理１１７内の動作のキャリービットまたは他のオペランドまたは結果を、１４１（「ｏｐ  結果」）で示すようにメモリ装置（またはランク）から出力し、かつ別のメモリ装置またはメモリコントローラに供給して、かかる動作のオーバーフロー／アンダーフローまたは他の結果を示してもよい。
【００１５】
図１Ｄは、図１Ａのメモリ装置アーキテクチャ内で実行可能な原子データ交換またはデータスワップ動作を示す。図１Ｃに示す複信動作に似ているが、読み出しデータ値の修正を実行する代わりに、読み出しデータは、多重化回路１５１を介して、スワップデータ値（「スワップデータ」）と条件付きまたは無条件でスワップされる。すなわち、スワップデータ値は、読み出しデータの代わりにメモリコア１０５に条件付きまたは無条件でライトバックされ、かつスワップデータはまた、メモリコントローラ（およびしたがってホスト要求者）に条件付きまたは無条件で返されて、スワップ結果を知らせてもよい。複信動作における２次オペランドと同様に、スワップデータ値は、内部的または外部的に供給してもよい（すなわち、原子メモリ装置内または外のソースによってそれぞれ供給される）。本明細書では単にスワップ動作と呼ばれる無条件スワップにおいて、スワップデータ値は、読み出しデータ値の代わりにメモリコアにライトバックされ（すなわち、読み出しデータ値に上書きする）、一方で読み出しデータ値は、メモリコントローラ（およびしたがってホスト要求者に）に返される。条件付きスワップにおいて、修正論理１１７は、読み出しデータおよび／またはスワップデータを評価し、評価結果に依存して読み出しデータおよびスワップデータを条件付きで交換（スワップ）する。例として、本明細書において比較およびスワップと呼ばれる条件付きスワップの特定の形態において、修正論理は、スワップデータおよび読み出しデータを比較して、どちらがより上位（より大きい、より小さい、より大きな規模、より多くの「１」またはより多くの「０」ビット等）であるかを決定し、スワップデータがより上位の値である場合のみ、スワップデータをメモリコア１０５にライトバックする。代替として（または異なるタイプの条件付きスワップコマンドに応じて）、読み出しデータだけもしくはスワップデータだけを評価して（または図１Ｄに破線矢印１４２で示すようにレジスタ供給条件もしくは比較値に関して評価して）、交換条件が満たされるかどうかを決定（例えば、読み出しデータもしくはスワップデータの所定の特性が満たされるかどうか（例えば、「０」より多い「１」）または読み出しデータもしくはスワップデータが、レジスタ供給比較条件を（いずれかの意味で）超えるかどうかを決定）してもよい。どちらのデータ評価が実行されても、スワップ条件が満たされる場合に、読み出しデータは、メモリコア１０５に読み出しデータをライトバックするかまたはさらにライトバックすることなく（例えば、データ変化が発生しない場合に、ライトバックは、抑制するかさもなければ省略してもよい）、スワップデータソース（例えば、内部レジスタまたはメモリコントローラ）に返してもよく、反対に、スワップが発生する（すなわち、交換条件が満たされる）場合に、スワップデータは、スワップデータソースに返してもよい。代替として、または異なる条件付きスワップコマンドの一部として、読み出しデータは、交換条件が満たされるかどうかにかかわらず返してもよい。
【００１６】
さらに図１Ｄを参照すると、より一般的な条件付き動作において、読み出しデータは、読み出しデータ、外部供給データおよび／または内部供給（例えば、レジスタ供給）データの評価に従って条件付きで修正し、条件付きで修正されたデータは、メモリコア１０５にライトバックし、かつ／またはホスト要求者に返してもよい。また、条件付き修正および条件付きスワップの組み合わせを実行してもよい。単項条件付き演算の例として、読み出しデータ値は、それが「１」ビットより多くの「０」ビットを有するかどうか（逆も同様である）を決定するために評価され、もしそうならば、修正論理によって補完されて、メモリコアにライトバックされる（および任意選択的に動作要求者へ逆に送信される）反転読み出しデータ値を、修正データ値として生成してもよい。２項条件付き演算の例として、読み出しデータ値を外部供給データ値と比較し、より上位の値を、ある方法（例えば、より上位の値内のカウンタフィールドをインクリメントして、より上位の値が勝った比較数を示す）で修正し、その後、より上位の値をメモリコア１０５にライトバックしてもよい。より一般的には、事実上任意の有用な条件付き交換および／または条件付き修正を修正論理１１７内で実行し、オリジナルの、修正された、および／またはより上位のデータをメモリコアまたはメモリコントローラに任意選択的に返してもよい。
【００１７】
図１Ｅは、読み出しデータ値の代わりに修正データがメモリコントローラに返される修正動作の特別な場合を示す。説明するように、読み出しデータ値は、修正論理１１７内で絶対的に（すなわち全ての場合において）修正するかまたは条件付きで修正してもよい。
【００１８】
図１Ｆは、別の特別な場合を示すが、この場合に、読み出しデータは、そのオリジナル形態でも修正された形態でもメモリコントローラに返されず、一方で修正論理１１７によって修正されたかまたは条件付きで修正されたデータが、メモリコア１０５にライトバックされる。
【００１９】
図１Ｂ〜１Ｆに関連して説明した原子動作について考えると、それぞれが、一般に、（上記のように、ライトバックを条件付きで省略または抑制可能なので条件付き双方向転送を含めて）メモリコア１０５に対して双方向データ転送を含むことが分かる。したがって、かかる動作は、時には本明細書において「複信」動作と呼ばれて、それらを、データフローがメモリコアに対して一方向である「単信」動作と区別する。かかる複信動作は、比較的長い書き込み待ち時間を示すメモリ技術（例えば、全物理ページを一度に書き込み得るＮＡＮＤベースのフラッシュメモリ）において、上記のように任意の基本メモリ技術を用いて実行してもよいが、多くのインプリメンテーション選択肢を、複信動作タイミングに関して提供し得る。例えば、限定するわけではないが、内部書き込みキャッシュを設けて、複信動作の一部として書き込まれるデータをバッファし、それによって、書き込みキャッシュ内でデータライトバックを素早く完了できるようにしてもよい。次に、書き込みキャッシュからメモリコアへの転送は、書き込みキャッシュの内容への多数の更新後に、より長い時間間隔（例えば、基本メモリ技術によって必要とされるような）にわたって、および潜在的にしばらく経って行ってもよい。
【００２０】
同様に原子メモリ装置１０３によってサポートされる単信動作の例には、図１Ｇおよび１Ｈに示すようにメモリ読み出し動作およびメモリ書き込み動作が含まれる。図示のように、修正論理１１７の動作は、メモリ読み出し動作（図１Ｇ）において、読み出しデータが、メモリコア１０５からメモリコントローラへ一方向に流れ、かつメモリ書き込み動作（図１Ｈ）において、書き込みデータが、メモリコントローラからメモリコア１０５へ一方向に流れるように、ディスエーブルされる（かつ／または「×」で示すように、内部読み出しデータ経路／書き込みデータ経路が、修正論理１１７から分断される）。
【００２１】
上記の様々な実施形態において、装置入力／出力経路内の原子動作をサポートするメモリ装置アーキテクチャは、図１Ｇ〜１Ｈに関連して示したコマンドなど、より従来的なコマンドと同様に原子動作用のコマンドも含むコマンドのスーパーセットを受信してもよい。
【００２２】
図２は、原子メモリ装置１８０の実施形態をより詳細に示す。図１Ａの一般化された原子メモリ装置と同様に、原子メモリ装置１８０には、メモリコア１８１、制御論理回路１８３、およびデータＩ／Ｏ回路１８５が含まれる。説明だけを目的として、メモリコア１０５は、１つ以上のＤＲＡＭセルアレイと、コマンド経路２１４を介して受信される行および列コマンドならびにアドレス経路２１６を介して受信される対応する行および列アドレスに応じてアクセスされる対応するセンス増幅器バンク１９１と、を有するＤＲＡＭコアであると仮定される（コマンドおよびアドレス経路は、コマンド／アドレス経路２１０を集合的に形成する）。着信メモリアクセスコマンドは、コマンドデコーダ１９７（例えば、状態機械、シーケンサ、または他の復号化および制御回路）内で受信されるが、このコマンドデコーダ１９７は、対応する制御信号を、アドレス復号化回路およびデータＩ／Ｏ回路１８５へ発行して、要求された動作を実行する。行アクティブコマンド（例えば、アドレス選択されたデータ行をセンス増幅器バンクに転送するコマンド）を受信すると、コマンドデコーダ１９７は、行復号化イネーブル信号（「ｒｏｗｄｅｃ＿ｅｎ」）を行デコーダ１９９へアサートして、行デコーダが、アドレス経路２１６介して受信された行アドレスを復号化し、かつそれによって、メモリコア１８１内のアドレス選択されたセルの行に結合されたワード線を活性化できるようにする。活性化されたワード線は、対応する記憶セル（すなわち、ワード線に結合された記憶セル）の内容が、センス増幅器１９１のバンク（単複）によってセンスされるそれぞれのビット線（またはビット線のペア）を駆動できるようにする。この「行アクティブ」動作を介して、記憶行の内容は、センス増幅器バンク（単複）１９１内でセンスおよびラッチされ、こうして列アクセス（読み出しおよび書き込み）動作を介してアクセス可能なデータ「ページ」を開くことができる。したがって、列アクセスコマンド（すなわち、前に活性化された行内のデータ列、およびしたがってセンス増幅器バンク内のデータ行を読み出すかまたは書き込む）を受信すると、コマンドデコーダ１９７は、列復号化イネーブル信号（「ｃｏｌｄｅｃ＿ｅｎ」）を発行して、列デコーダ２０１（または列マルチプレクサ）が、アドレス経路２１６を介して受信された列アドレスを復号化し、かつその動作によって、センス増幅器バンク（単複）１９１内のアドレス選択されたデータ列と、本明細書でコアデータ経路２６０と呼ばれるパラレルデータ経路との間の多重化信号伝導経路を形成できるようにする。
【００２３】
原子コマンドが、コマンドデコーダ１９７内で受信されると、コマンドデコーダは、要求された原子動作に従って復号化イネーブル信号（例えば、列データが原子動作の一部として検索されることになる場合には列復号化イネーブル）を発行し、かつまた動作選択（「ｏｐｓｅｌ」）値を、データＩ／Ｏ回路１８５に含まれる１つ以上の修正論理回路２５１に出力する。コマンドデコーダ１９７は、さらに、多数の信号およびコマンドを出力して、データサンプルタイミング（すなわち、データ受信）、データ送信タイミング、データバッファリング、コンポーネント回路ブロック間の内部データ転送、（例えば、ＮＡＮＤかＮＯＲフラッシュかもしくは同様のメモリの場合における）専用プログラム／消去動作、メンテナンス動作（例えば、セルフリフレッシュ、自動リフレッシュ、シグナリング較正等）、または原子メモリ装置１８１内の他の任意の制御機能を制御してもよい。また、コマンドデコーダ１９７は、様々な状態レジスタ、制御レジスタ、およびデータレジスタを含むか、またはそれらへのアクセスをイネーブルにして装置構成を可能にしてもよい。一実施形態において、例えば、原子動作用のサポートを、コマンドデコーダ内におけるモードレジスタ２１８のホスト命令プログラミングを通してディスエーブルにし、こうして、原子メモリ装置が、レガシーメモリ装置の挙動を（すなわち、着信コマンドを復号化する動作タイミングおよび／または方法等の観点において）模倣できるようにしてもよい。別の例として、１つ以上のオペランド２１６を設けて、オペランド（単複）をデータ修正論理２５１に供給してもよい。一インプリメンテーションにおいて、例えば、単独のプログラム可能オペランドレジスタ２１６を用いて、データＩ／Ｏ回路１８５内の修正論理回路２５１のそれぞれにオペランドデータを供給する。代替実施形態において、プログラム可能オペランドレジスタ２１６のバンクが設けられ、オペランドレジスタ２１６の１つ以上が、着信原子メモリコマンドに従って選択され、オペランドデータ（「オペランド」）を修正論理回路２５１に供給する。全てのかかるモードレジスタ２１８およびオペランドレジスタ２１６は、ワンタイムまたは実行時プログラム可能であってもよい。実行時プログラム可能レジスタの場合に、例えば、モードレジスタ２１８は、システム起動中に（例えば、メモリコントローラを介して供給される）ホスト命令に応じてプログラムされ、初期動作構成を確立してもよく、オペランドレジスタ（単複）２１６は、起動中にプログラムされ、その後必要に応じて、原子動作で使用するためのオペランドを供給してもよい。モードレジスタ２１８およびオペランドレジスタ２１６内でプログラムされた値は、図示の信号経路（アドレス２１６、コマンド２１４、データ２１２（ＤＱ））のいずれかもしくは全てを介して、または低帯域幅制御経路、帯域外シグナリングチャネルなどの他のシグナリング経路を介して、原子メモリ装置１８０に転送してもよい。
【００２４】
一実施形態において、データＩ／Ｏ回路１８５には、多数のＩ／Ｏビットスライス回路２２５であって、それぞれが、ピン（もしくは差動シグナリングインプリメンテーションにおけるピンのペア）または他の集積回路相互接続部を介して、外部データ経路のそれぞれのデータリンクに結合される多数のＩ／Ｏビットスライス回路２２５が含まれる。Ｉ／Ｏビットスライス回路２２５０（「略してＩ／Ｏスライス２２５０」）の詳細図を参照すると、着信データリンクのオンチップ部は、サンプリング回路２３１および出力ドライバ２３３によって形成された信号トランシーバに結合される。一実施形態において、サンプリング回路２３１内のデータ受信は、サンプリング回路が受信データビットのシリアルストリームを書き込みデータイン（「ｗｄｉ」）ライン２３２上に出力するように、受信タイミング信号（着信データ信号に関連して受信されたストローブ信号もしくはクロック信号、または内部合成信号であってもよい）の遷移によってタイミングを合わせられる。図示のように、書き込みデータインライン２３２は、修正論理２５１へと延び、そこでこのライン２３２は、１つ以上の修正ユニット２５９およびまた書き込みデータアウト（「ｗｄｏ」）マルチプレクサ２５５（または他の信号切り替えもしくは選択論理）に結合される。以下で説明するように、ｗｄｏマルチプレクサ２５５は、ｗｄｉライン２３２または修正ユニット２５９の出力部のいずれかを選択して、シリアル書き込みデータアウトライン２３４（「ｗｄｏライン」）を駆動し、こうして単信書き込み動作においてメモリコア１８１への書き込みデータの通過を、または複信（原子）動作においてメモリコア１８１へのスワップデータもしくは修正データの通過を可能にする。
【００２５】
一実施形態において、メモリコア１８１に書き込まれるデータは、Ｉ／Ｏビットスライス２２５のそれぞれの内でシリアルからパラレル形態に変換され、したがって、コアサイクル周波数（例えば、メモリコア１８１の列アクセスサイクル時間（列サイクル時間）、コアクロックサイクル、または他のサイクル時間）を、データＩ／Ｏ周波数の一部とできるようにする。すなわち、デシリアライザ２４１（「ｄｅｓｅｒ」）が、コアデータ経路２６１とデータＩ／Ｏ回路１８５との間のインターフェースに設けられて、コアデータ経路２６０上の伝達およびメモリコア１８１内の記憶のために、ｗｄｏライン２３４上で伝達されるシリアルデータをパラレルデータに変換する。図２の特定のインプリメンテーションにおいて、例えば、ｗｄｏライン２３４上のシリアルデータは、データＩ／Ｏ周波数（すなわち、１／（データ経路上のビット時間））でビットごとにデシリアライザ２４１にシフトされ、次にフレーム化されて、ワードレート（例えば、シリアルデータ周波数対コア周波数の比率）、例えばデータＩ／Ｏ周波数の１／８または１／１６で、デシリアライザからコアデータ経路２６０上に転送される。例えば、デシリアライザ２４１のシフトレジスタへの、１６ビットの各グループのシリアルシフト後に、コアタイミング信号は、シフトレジスタ内の１６ビットデータスライスを、コアデータ経路２６０上へ並列に転送するために、遷移させることができる。図２の例示的な実施形態において、原子メモリ装置１８０は、３２ビット幅データインターフェース（すなわち、３２ビット幅外部データ経路にインターフェースする）を有し、かつ全てのＩ／Ｏビットスライス回路２２５０−２２５３１の動作を同時に可能にして（すなわち、各回路は、データを並列に受信する）、合計３２＊１６＝５１２ビットによって形成されたコアデータワードが、コアタイミング信号の遷移によってマークされる各コアフレーミング間隔（コアサイクル）の終わりに、データＩ／Ｏ回路１８５からコアデータ経路２６０へ転送されるようにする。コアデータワードは、列デコーダ回路２０１を介して、センス増幅器バンク（単複）１９１内のセンス増幅器の適切な５１２ビット列に伝達され、そこにおける内容に上書きして、列書き込み動作を完了する。その後、開いたデータページ（すなわち、センス増幅器に存在する記憶行の内容）に向けられたある数のメモリ書き込み／読み出し動作が完了した後で、プリチャージ動作を実行して開いたページを閉じてもよい。すなわち、センス増幅器バンク（単複）１９１内のデータページ（何千またはより多くの５１２ビット列を含んでもよい）が、対応する記憶セルの行にまだライトバックされていない場合には、記憶セルへのライトバックが完了され、対応するワード行が非活性化され、ビット線およびセンス増幅器が、次の行アクティブ動作に備えて調整される。
【００２６】
さらに図２を参照すると、単信メモリ読み出し動作におけるデータフローは、単信メモリ書き込みに関連して上記したデータフローの本質的に逆である。すなわち、アドレス選択されたデータ列は、列デコーダ２０１を介して、メモリコア１８１から（すなわち、ＤＲＡＭ実施形態におけるセンス増幅器バンク（単複）１９１から）コアデータ経路２６０へ出力される。次に、それぞれのＩ／Ｏビットスライス回路２２５内のシリアライザ２４３（「ｓｅｒ」）は、上記のデシリアライザ２４１と逆の方法で動作し、各シリアライザ２４３は、１６ビットのそれぞれのパラレルセットを、読み出しデータインライン２３６（「ｒｄｉ」ライン）上に出力される１６シリアルビットの対応するストリームに変換する。ｒｄｉライン２３６は、修正論理２５１内の修正ユニット２５９、および読み出しデータアウト（「ｒｄｏ」）マルチプレクサ２５７に結合される。ｒｄｏマルチプレクサ２５７はまた、修正ユニット２５９からのデータ出力を受信し、かつ制御信号に応じて動作して、ｒｄｉライン２３６を介して供給されるシリアルデータストリーム（すなわち、「検索データ」もしくは「読み出しデータ」）かまたは修正ユニット２５９からの修正データのどちらかを、読み出しデータアウトライン２３８（「ｒｄｏ」ライン）に伝達する。ｒｄｏライン２３８は、検索または修正データのシリアルストリームを出力ドライバ２３３に伝達するが、この出力ドライバ２３３は、外部データ経路２１２のシグナリングリンクのそれぞれのリンク上へデータを直列に駆動する。
【００２７】
やはり図２を参照すると、データＩ／Ｏ周波数とコアサイクル間隔の上記の関係が、２６２および２６４に示されている。すなわち、データが、メモリコア１８１に書き込まれている、かつ／またはそこから検索されている各コアサイクル間隔中に、１６データビットが、ｗｄｏライン２３４および／またはｒｄｉライン２３６を介して直列に送信される。その同じコアサイクル間隔中に（データＩ／Ｏ回路の様々な回路および／またはコアメモリ内における転送遅延に対処するために潜在的にオフセットされるが）、５１２ビットコアデータワードが、メモリコアとコアインターフェースとの間で転送される。
【００２８】
図２の原子メモリを考える際に、特定数のビット、ビット率、周波数率等が、例としてだけの目的で提供されていることに留意されたい。全てのかかる場合に、異なるビット数および比率が、当てはまり得る。さらに、特定の回路ブロックを示したが、多数の他の回路ブロック（およびかかる他の回路ブロックに対して異なって構成された、図示および説明の回路ブロックの機能）もまた、本開示の範囲から逸脱せずに提供され得る。
【００２９】
図３は、図２の修正論理２５１を実現するために使用可能な修正論理回路２８０の実施形態を示す。修正論理回路２８０には、修正コントローラ２８１、書き込みデータアウト（ｗｄｏ）および読み出しデータアウト（ｒｄｏ）マルチプレクサ２８５および２８７、ならびに１つ以上の修正ユニット２９３０−２９３Ｎ−１（集合的に「２９３」）が含まれる。修正コントローラ２８１は、マルチプレクサ制御信号ｗｄｏ＿ｓｅｌおよびｒｄｏ＿ｓｅｌをｗｄｏおよびｒｄｏマルチプレクサ２８５および２８７にそれぞれ発行することによって、および１つ以上の修正イネーブル信号（ｅｎ＿０、ｅｎ１、．．．、ｅｎＮ−１）のイネーブリングをアサートすることによって、着信動作選択信号１２８（「ｏｐｓｅｌ」）に応答し、対応する修正ユニット２９３が、評価および／または修正動作を実行できるようにする。修正コントローラ２８１はまた、修正ユニット２９３から１つ以上の動作結果信号（ｒｅｓ＿０、ｒｅｓ＿１、ｒｅｓ＿Ｎ−１）を受信し、かつこれらの結果を、イネーブル信号およびマルチプレクサ制御信号を生成する際に全体的または部分的に用いる。例えば、比較およびスワップ動作において、修正ユニット２９３の１つは、データ比較を実行し、かつ比較結果を修正コントローラ２８１に供給して、ｗｄｏマルチプレクサ設定（および／またはｒｄｏマルチプレクサ設定）の決定を可能にしてもよい。特に示してはいないが、修正コントローラ２８１は、クロック信号（例えば、コアクロックサイクル周波数などのデータＩ／Ｏ周波数またはその細分された周波数で動作する）に応じて、クロック制御するか、さもなければ状態間を移動させてもよく、かつ組み合わせおよび状態管理論理の任意の組み合わせによって実現してもよい。例えば、一実施形態において、修正コントローラ２８１は、有限状態機械として実現されるが、代替実施形態では、命令シーケンサまたは純粋な組み合わせインプリメンテーションさえも提供可能である。これらの実施形態において、修正コントローラ２８１には、パラレル論理セットであって、それぞれが、各スライスを並列に処理するために各スライス用（つまり各修正ユニット２９３０−２９３Ｎ−１用）であるパラレル論理セットを含んでもよい。
【００３０】
修正ユニット２９３またはその任意のサブセットのそれぞれを、読み出しデータインライン２３６に結合し、ｏｐｓｅｌ信号１２８によって指定された動作を実行する必要に応じて、検索シリアルデータの受信を可能にしてもよい。修正ユニット２９３またはそのサブセットのそれぞれをまた、書き込みデータインライン２３２に結合して、書き込みデータ、スワップデータ、外部供給オペランド、または修正論理２８０内で有用な用途を有する任意の他の外部供給情報であってもよい外部的に受信されるシリアルデータの受信を可能にしてもよい。修正ユニット２９３またはその任意のサブセットは、上記のようにオペランド経路１４１を介してオペランドレジスタからオペランドを受信するように結合してもよい。また、単独のオペランド経路１４１が示されているが、多数のオペランド経路を設けて、多数のオペランドを所与の修正ユニット２９３に提供するか、かつ／またはそれぞれのオペランドを異なる修正ユニットに供給してもよい。修正ユニット２９３またはその任意のサブセットのそれぞれにはまた、修正コントローラ２８１からのそれぞれのイネーブル信号を受信するように結合された選択入力部（ｓ０、ｓ１、．．．、ｓＮ−１）と、動作結果信号を修正コントローラ２８１へ送出する結果信号出力部（ｒｅｓ＿０、ｒｅｓ＿１、．．．、ｒｅｓＮ−１）と、修正データライン２８４に結合されて、そこへ修正データを直列に送出するシリアルデータ出力部と、を含んでもよい。修正データライン２８４は、修正データをｗｄｏマルチプレクサ２８５に伝達して、修正データをメモリコアにライトバックできるようにし、かつまた修正データをｒｄｏマルチプレクサ２８７に伝達して、修正データを、外部データ経路を介して原子メモリ装置から出力できるようにするが、両方とも上記で説明したとおりである。
【００３１】
やはり図３を参照すると、任意の数の修正ユニット２９３を修正論理２８０内に設けて、各修正ユニット２９３が、それぞれの修正機能または修正機能のカテゴリを実行してもよい。図示の特定の実施形態において、単項演算ユニット２９３０、２項演算ユニット２９３１、および評価動作ユニット２９３Ｎ−１を含む、修正動作の３つのクラスを代表するユニットが示されている。
【００３２】
単項演算ユニット２９３０は、メモリコアから検索されたデータに対して単項演算を可能にするために用いられる信号入力部および出力部を代表する信号入力部および出力部を示す。すなわち、ｒｄｉライン２３６は、検索データを送出するために単項演算ユニットに結合されるが、この単項演算ユニットは、修正コントローラ２８１によってイネーブルにされた場合に（すなわち、ｅｎ＿０がアサートされる）、例えば、限定するわけではないが、インクリメント／デクリメント、補数、絶対値、固定定数による乗算または除算、指数（累乗）、根（平方根、３乗根等）、対数、表索引、または任意の他の単一変数関数を含む特定の単項演算（または基本回路が特に設計される目的の単項演算）を実行する。単項演算の一部として生成される任意の結果ｒｅｓ＿０は、修正コントローラ２８１に返すか、かつ／または後で使用のために修正ユニット２９３０内か、さもなければ原子メモリ装置内に記憶してもよい。例として、キャリービット（すなわちオーバーフロービット）またはボロービット（すなわちアンダフロービット）は、インクリメント動作またはデクリメント動作の一部として生成し、続いて検索されたデータ値と合計／そのデータ値から減算して、インクリメント／デクリメント動作を、１６ビットを超えるデータ値まで拡張できるように（すなわち、多数の検索データ値を、より大きなデータ値の構成部分として処理できるように）してもよい。
【００３３】
２項演算ユニット２９３１は、メモリコアから検索されたデータに対して２項演算を可能にするために用いられる信号入力部および出力部を代表する信号入力部および出力部を示す。図示の特定のインプリメンテーションにおいて、２項演算ユニットは、入力として、ｒｄｉライン２３６を介して検索データを受信し、ｗｄｉライン２３２を介して供給オペランド受信する。上記のように、追加または代替として、それぞれのオペランド経路１４１を介して、原子メモリ装置内の１つ以上のオペランドレジスタからオペランドを供給してもよい。いずれの場合にも、２項演算ユニット２９３１は、修正コントローラ２８１によってイネーブルにされた場合に、２項演算（または供給されるオペランドの数に従って３項演算、４項演算等）を実行し、かつ結果としての修正データを修正データライン２８４上に出力し、任意選択的に、結果信号（例えば、ボロー、キャリー等）を結果信号ラインｒｅｓ＿１上に出力する。単項演算ユニット２９３０と同様に、２項演算ユニット２９３１は、選択され指定された動作（例えば、修正コントローラによって指定された）または基本回路が特に設計された目的の動作を実行してもよい。実行される２項演算の例には、例えば、限定するわけではないが、算術演算（加算、減算、乗算、除算）、ビット単位論理演算（例えばマスク演算）、ブール演算（ＡＮＤ、ＯＲ、ＸＯＲ、．．．）、２次元表索引、または任意の他のマルチオペランド関数が含まれる。
【００３４】
やはり図３を参照すると、評価動作ユニット２９３Ｎ−１は、（送出されるオペランド数に従い）単項または２項演算ユニットの形態として見てもよいが、しかし少なくともいくつかの演算が、修正データライン２８４（したがって、ユニット２９３Ｎ−１および修正データライン２８４の破線の相互接続部）上へのデータ出力を必要としないことを強調するために、別々に示されている。すなわち、一実施形態において、評価動作ユニットは、検索データ値だけ（単項評価）か、外部ソースから受信されたデータおよび／または１つもしくは複数のオペランドと組み合わせて（２項評価）評価を実行して、評価結果信号を結果ラインｒｅｓ＿Ｎ−１上に出力し、かつ／または評価データ値（例えば比較勝利者）を修正データライン２８４上に出力する。評価の結果は、修正コントローラ２８１に伝達し、例えば、修正コントローラ２８１が、それに応じてｗｄｏおよび／またはｒｄｏマルチプレクサ２８５、２８７を制御できるようにしてもよい。例として、評価結果が、（ｒｅｓ＿Ｎ−１を介して伝達されるように）「ＴＲＵＥ」に帰着する場合に、ｗｄｉライン２３２を用いてｗｄｏライン２３４を駆動し、それによって、データスワップを可能にすることができる。そうでなくて、評価結果が「ＦＡＬＳＥ」に帰着する場合に、例えば、評価動作ユニット２９３Ｎ＿１を介して検索データを修正データライン２８４に（例えば比較勝利者として）伝達すること、および修正データライン２８４をｗｄｏライン２３４に結合するようにｗｄｏマルチプレクサ２８５を設定することによって、ライトバック動作を可能にし、それによって、メモリコアへのライトバックのために検索データをｗｄｏライン２３４上にルーティングすることができる。前述の動作の一例は、着信値がメモリにおける常駐値より大きい場合にのみデータをスワップする動作である。
【００３５】
単項評価の例として、検索データを評価して、特定のブール条件が満たされるかどうか（検索データがＴＲＵＥもしくはＦＡＬＳＥに評価される）またはそうでない場合に検索データが所定の条件を満たすかどうかを決定してもよく、データ交換または他の修正動作が、評価結果に従って、同じ検索データ値または続く検索データ値に対して実行される。例えば、１つの条件付きインクリメント関数は、最大値でない場合のみデータをインクリメントしてもよい（例えば、データの定義された最大値またはオーバーフローを回避するインクリメントのいずれか）。２項評価において、検索データ値を着信オペランドデータ（すなわち、レジスタおよび／または外部ソースからの）と比較して、動作結果（例えば、検索値およびオペランドの不等、一致、論理的組み合わせが、所定のまたはレジスタ指定の条件等を満たす）を生成してもよく、動作結果は再び、検索データ値または続く検索データ値に対して、条件付きデータ交換または他の修正動作を可能にするために用いられる。
【００３６】
詳細図３０１に示すように、修正ユニット２９３のそれぞれは、修正回路３０５および１つ以上の遅延回路３０７、３０９、３１１によって実装してもよい。修正回路３０５には、イネーブル信号（修正回路３０５にサポートされる多数の可能な動作の１つの動作を命令するマルチビット信号であってもよい）に応じて、動作結果および修正データを生成するための任意の組み合わせまたは状態ベースの論理を含んでもよい。一般に、かかる論理は、着信検索データおよび任意のオペランドに対して実行すべき動作（ならびにしたがって動作結果および修正データ出力）を指定することにより、回路設計ツールを用いて合成してもよい。遅延回路３０７、３０９、３１１には、（例えば、レジスタプログラム値、または動作選択値に関連して供給される動的値に応じて）ハードワイヤードまたは調整可能遅延回路を含んで、修正回路３０５の入力部への着信オペランドのいずれかまたは全ての伝搬を遅延させ（入口遅延回路３０７、３０９）、かつ／または修正データライン２８４への修正データの伝搬を遅延させ（出口遅延回路３１１）、かつ／または修正コントローラへの動作結果の出力を遅延させ（結果遅延回路３１３）てもよい。この配置によって、着信オペランドは、適切な時間に修正回路３０５に供給され得、または修正データもしくは動作結果は、所望の時間に駆動され得、こうして原子動作のパイプライニングと同様に、修正論理２８０内およびその外部における様々なイベントの調整が可能になる。設計者は、特定の設計用にサポートされる原子動作用のメモリ装置における入力／出力経路を通るトラフィックフローを調整（例えば、最適化）するために、これらの特徴を利用してもよい。
【００３７】
図４は、原子メモリ装置内のコマンドデコーダまたは他の制御回路によって指定される動作に従って、図３の修正コントローラによって開始および制御可能な動作表（３４０）を示す。表３４０の最初の２つの行に示す単信メモリ読み出しおよび単信メモリ書き込み動作から開始するが、データが、単信データフローと反対の方向において、条件付きでも絶対的にも送信されていないので、修正ユニットは、イネーブルにされない。代わりに、修正コントローラは、単信メモリ読み出し動作において、検索データ（「読み出しデータ」）を読み出しデータアウトライン上に転送するようにｒｄｏマルチプレクサを設定し、かつ単信メモリ書き込み動作において、着信書き込みデータを書き込みデータアウトライン上に転送するようにｒｄｉマルチプレクサを設定する。２つの単信データ動作だけが示されているが、マスク書き込み、マスク読み出し等を含む他の単信動作を実行してもよい。
【００３８】
表３４０に挙げられた複信（原子）動作を見ると、読み出し／インクリメント動作において、修正コントローラは、単項修正ユニットが、メモリコアから検索されたデータ（「読み出しデータ）に関してインクリメント動作を実行できるようにし、かつ原子メモリ装置から読み出しデータを出力するように、およびイネーブルされた修正ユニットから出力された修正データ（すなわち、この場合にはインクリメント読み出しデータ）をメモリコアに送出して、ちょうど検索された読み出しデータの代わりに記憶するように、ｒｄｏおよびｗｄｏマルチプレクサを設定する。したがって、メモリ読み出しは、読み出しデータのインクリメントと並行に実行され、インクリメント読み出しデータ値の、メモリコアへのライトバックと同時に（すなわち、時間において少なくとも部分的に重なって）読み出しデータをホスト要求者に返す。インクリメント／読み出し動作は、修正（インクリメント）データが、メモリコアにライトバックされ、かつホスト要求者に返される以外は、類似している（すなわち、同様に選択される単項修正ユニット）。
【００３９】
表３４０に特に示す単項演算の他の例には、読み出し／補数（データ値を読み出し、それにその補数（反転データ値）を上書きする）および補数／読み出し（読み出しデータ値にその補数で上書きし、補数値をホストへ返す）が含まれる。全てのかかる場合に、メモリコアへのライトバックは、検索データおよび／または１つもしくは複数のオペランドの評価に基づいて調整してもよい。また、（ストレートな補数に対立するものとして）１の補数演算を用いてもよい。当然明らかなように、表３４０には特に挙げていないが、上記のように多数の他の単項演算を実行してもよい。
【００４０】
レジスタ供給オペランドを参照する２項複信演算の例を見ると、読み出し／加算−オフセットにおいて、レジスタ内のオフセット値は、検索データ値に加算されて、メモリコアに無条件または条件付きでライトバック可能な可変＋不変結果を確立する。より具体的には、データ＋オペランド動作を実行する２項演算ユニットが、修正コントローラによってイネーブルにされ、ｒｄｏおよびｗｄｏマルチプレクサが、検索データ値をｒｄｏラインへ、かつ修正データ値をｗｄｏラインへそれぞれ伝達するように設定される。加算−オフセット／読み出し動作において、同様の結果が得られるが、しかし修正データ値（検索データ値＋オペランド）は、読み出しデータ値の代わりにホスト要求者に返される。読み出し／減算−オフセットおよび減算−オフセット／読み出し動作は、２項レジスタベース演算の追加例として示されている。表３４０には特に挙げていないが、多数の他のレジスタベース２項演算を実行してもよい。
【００４１】
表３４０に示す例示的な動作の最後のセットは、ホスト供給オペランドを含む２項演算、すなわちｗｄｉラインを介して送出される外部供給オペランドが、検索データ値と一緒に修正ユニットに供給される２項複信演算である。提示される特定の具体例には、スワップ、比較およびスワップ、読み出し／加算−変数、加算−変数／読み出しが含まれる。スワップ動作において、修正ユニットは、イネーブルにする必要がなく（「Ｎ／Ａ」すなわち不適用指示）、代わりに修正コントローラは、読み出しデータをホスト要求者に出力し、かつスワップデータをメモリコアに送出して、ちょうど検索された読み出しデータに上書きする（したがって、スワップ動作を達成する）ように、ｒｄｏおよびｗｄｏマルチプレクサを設定する。比較およびスワップ動作は、修正コントローラが、評価動作ユニット内の比較動作を可能にし、次に、比較結果に従ってｒｄｏおよびｗｄｏマルチプレクサを設定する点を除いて、同様に実行される。図示の実現形態において、例えば、ｗｄｏマルチプレクサは、スワップデータまたは読み出しデータのいずれかをｗｄｏラインに送出し（代替として、スワップデータが、メモリコアにライトバックされることにならない場合には、データをｗｄｏライン上に送出しなくてもよい）、かつ反対に、比較結果に従って、読み出しデータまたはスワップデータのいずれかをｒｄｏライン上に送出してもよい。すなわち、スワップが実行されることになる場合に、スワップデータは、メモリコアに送出され、読み出しデータは、ホスト要求者に返される。スワップが実行されることにならない場合に、読み出しデータは、メモリコアに送出され（またはライトバックは実行されない）、スワップデータは、任意選択的にメモリ要求者に返され、メモリ要求者が比較結果を確認できるようにする。
【００４２】
読み出し／加算−変数演算を見ると、検索データは、ホスト要求者に返され、かつまた外部供給オペランドに加算されて、修正データ値としてメモリコアにライトバックされる合計を生成する。加算−変数／読み出し演算の場合に、合計は、メモリコアにライトバックされ、かつホスト要求者に返される。再び、表３４０には特に挙げていないが、ホスト供給オペランドを含む多数の他の２項演算を実行してもよい。また、上記のように、全てのかかる算術演算は、それらのオペランドソースにかかわらず、実行される動作用に、必要に応じてボローもしくはキャリー記憶または他の状態情報を介した多数の検索データ値に関連した動作を可能にするように拡張してもよい。
【００４３】
図５は、３５１で示すようにメモリアクセスコマンドの受信に応じた、原子メモリ装置の一般化された例示的な動作を示す。メモリ読み出しが必要でない場合に（決定ブロック３５３において決定される）、要求されるメモリアクセスは、単信書き込みである。したがって、着信書き込みデータ値は、３５５で示すようにメモリコアに記憶される。メモリ読み出しが要求される場合に、読み出しデータは、３５７で一般的に示す動作においてメモリコアから検索される。メモリアクセスコマンドが複信動作（すなわち、データが、メモリアクセスコマンドに応じてメモリコアへ、かつメモリコアから流れる）を示す場合に、実行は、決定ブロック３５９に進む。そうでなければ、メモリアクセスコマンドは、単信読み出しコマンドであり、読み出しデータアウトマルチプレクサは、３６１で示すように、読み出しデータインラインを選択し、かつしたがって読み出しデータをホスト要求者に出力するように設定され、それによって、単信動作を完了する。
【００４４】
複信動作の場合（すなわち、ブロック３５９における肯定的決定）を継続すると、原子コマンドが、２項演算（すなわち、演算が、検索データ値以外のデータソースを含むことが３６３で決定される）を示す場合に、オペランドは、３６５においてレジスタまたは外部ソースから（例えば、オペランドレジスタからまたは書き込みデータインラインを介して）受信され、かつ適切な修正ユニットに供給される。その後、単項演算（決定ブロック３６３における否定的決定）でも２項演算でも、適切な修正ユニットが、指定された原子動作に従って選択されて３６７でイネーブルにされ、検索データおよび任意の供給オペランドに対して、修正データ値または評価結果を生成する。読み出しデータアウトマルチプレクサおよび書き込みデータアウトマルチプレクサは、実行されている複信動作およびいずれかの評価結果に従って３６９で設定され、こうして３７１においてホスト要求者への読み出しデータまたは修正データの同時出力を可能にし、かつ／または３７３において、メモリコアにおけるオペランドデータ（例えば、スワップデータ）もしくは修正データの記憶を可能にする。
【００４５】
図６は、図３の原子メモリ装置内の例示的な複信動作中における信号タイミングを示すタイミング図である。コアサイクル「ｉ」の開始時に、複信（原子）演算を指定するメモリアクセスコマンド３８５が、複信動作内で適用されるオペランド３８６の、外部データ経路２１２（Ｄ／Ｑ）を介した受信と並行して、コマンド／アドレス経路２１０（Ｃ／Ａ）を介して受信される。データサンプリング遅延の後で、オペランドは、３８８で示すように書き込みデータインライン２３２に、およびしたがって原子メモリ装置の修正論理に供給される。一方で、図６において「読み出しデータ検索」と印された間隔中に、読み出しデータは、複信動作に関連して提供されるアドレスに従ってメモリコアから検索され、結局有効になって、３９０で示すように、読み出しデータインライン２３６上で修正論理に供給される。読み出しデータまたは修正データ（スワップデータを含む）がホスト要求者に返されることになる複信動作を仮定すると、修正論理（例えば、読み出しデータか修正データかまたはスワップデータ）の出力は、３９２で示すように読み出しデータアウトライン２３８上に出力され、かつほぼ同時に（ｒｄｏライン２３８上へのデータ出力の直前または直後に）修正データ（スワップデータを含む）が、３９４で示すように、書き込みデータアウトライン２３４に出力されてメモリコアにライトバックされる。メモリコアへのライトバックと並行して、読み出しデータアウトライン上に出力されたデータは、３９６で示すように外部データ経路２１２上に駆動され、それによって、後続のコアサイクル（すなわち、コアサイクルｉ＋１）の開始中にホスト要求者に返される。図示の特定の例において、単信メモリ読み出し動作は、コアサイクルｉ＋１の最初に（すなわち、３９８で示すように）命令され、データ検索動作は、前の複信動作におけるデータ検索とほぼ同じタイミングで実行される。すなわち、読み出しデータｉ＋１は、４００で示すようにｒｄｉラインで利用可能になり（すなわち、読み出しデータ検索間隔後に）、かつそのすぐ後で、４０２に示すようにｒｄｏライン上にルーティングされる。次に、読み出しデータｉ＋１は、４０４で示すように外部データ経路上に出力され、こうして、ちょうど別の読み出し動作が次のコアサイクルで受信されるときに、単信メモリ読み出しを完了する。
【００４６】
本明細書で開示する様々な回路が、それらの挙動、レジスタ転送、論理コンポーネント、トランジスタ、レイアウト形状、および／または他の特性の点において、様々なコンピュータ可読媒体に具体化されたデータおよび／または命令として、コンピュータ支援設計ツールを用いて示され、かつ表現（代表）され得ることに留意されたい。かかる回路表現を実現可能なファイルおよび他のオブジェクトの形式には、限定するわけではないが、Ｃ、Ｖｅｒｉｌｏｇ（ヴェリログ）およびＶＨＤＬなどの動作記述言語をサポートする形式、ＲＴＬのようなレジスタレベル記述言語をサポートする形式、ＧＤＳＩＩ、ＧＤＳＩＩＩ、ＧＤＳＩＶ、ＣＩＦ、ＭＥＢＥＳなどのジオメトリ記述言語をサポートする形式、ならびに任意の他の適切な形式および言語が含まれる。かかる形式化されたデータおよび／または命令を具体化可能なコンピュータ可読媒体には、限定するわけではないが、様々な形態におけるコンピュータ記憶媒体（例えば、光、磁気または半導体記憶媒体があり、その要領で別々に分散されるかまたは「現場で」オペレーティングシステムに記憶される）が含まれる。
【００４７】
上記の回路のかかるデータおよび／または命令ベースの表現は、１つ以上のコンピュータ可読媒体を介してコンピュータシステム内で受信されると、１つ以上の他のコンピュータプログラムの実行と共に、コンピュータシステム内の処理エンティティ（例えば、１つ以上のプロセッサ）によって処理してもよく、これらの１つ以上の他のコンピュータプログラムには、限定するわけではないが、かかる回路を物理的に明示する表現または画像を生成するための、ネットリスト生成プログラム、配置配線プログラム等を含んでもよい。かかる表現または画像は、その後、例えば、装置作製プロセスにおいて回路の様々なコンポーネントを形成するために用いられる１つ以上のマスクの生成を可能にすることによって、装置作製に用いてもよい。
【００４８】
前述の説明および添付の図面において、特定の用語および図面符号は、本発明の完全な理解を提供するために示されている。いくつかの例において、用語および符号は、本発明を実行するために必要とされない特定の詳細を示す場合がある。例えば、特定数のビット、信号経路幅、シグナリングまたは動作周波数、構成回路、または装置などはいずれも、代替実現形態では上記のものと異なってもよい。他の例において、周知の回路および装置は、本発明を不必要に曖昧にしないようにブロック図形態で示されている。さらに、回路素子またはブロック間の相互接続部は、バスまたは単一信号線として示してもよい。バスのそれぞれは、代替として、単一信号線であってもよく、単一信号線のそれぞれは、代替として、バスであってもよい。シングルエンドとして図示または説明される信号経路およびシグナリング経路はまた、差動であってもよく、逆も同様である。信号駆動回路は、それが、信号駆動回路および信号受信回路間に結合された信号線上に信号をアサート（または文脈によって明示もしくは表示された場合にはデアサート）する場合に、信号を信号受信回路に「出力する」と言われる。表現「タイミング信号」は、本明細書において、集積回路装置内で１つ以上のアクションのタイミングを制御する信号を指すために用いられ、クロック信号、ストローブ信号等を含む。「クロック信号」は、本明細書において、１つ以上の集積回路装置上の回路間のアクションを調整するために用いられる周期的なタイミング信号を指すために用いられる。「ストローブ信号」は、本明細書において、ストローブされている装置または回路への入力部にデータが存在することを示すために遷移するタイミング信号であって、したがってバーストデータ送信中に周期性を示し得るが、しかしそうでなければ（パーク状態から離れる遷移、または他の制限されたプリアンブルもしくはポストアンブル遷移を除いて）データ送信がない場合に定常状態に留まるタイミング信号を指すために用いられる。用語「結合」は、本明細書において、１つ以上の介在する回路または構造を介した接続とともに直接接続を表現するために用いられる。集積回路装置「プログラミング」には、例えば、限定するわけではないが、ホスト命令に応じて装置内のレジスタまたは他の記憶回路に制御値をロードし、かつしたがって装置の動作態様を制御することと、装置構成を確立するか、またはワンタイムプログラミング動作を介して装置の動作態様を制御すること（例えば、装置製造中に構成回路内のヒューズを飛ばす）と、および／または装置の１つ以上の選択されたピンもしくは他の接点構造を基準電圧線（またストラッピングとも呼ばれる）に接続して、特定の装置構成または装置の動作態様を確立することと、を含んでもよい。用語「例示的」および「実施形態」は、選好でも要件でもなく、例を表すために用いられる。
【００４９】
本発明の特定の実施形態に関連して本発明を説明したが、より広い精神および範囲から逸脱せずに様々な修正および変更を本発明になし得ることが明らかであろう。例えば、いずれかの実施形態の特徴または態様は、少なくとも実行可能な場合には、いずれか他の実施形態と組み合わせて、またはその対応する特徴もしくは態様の代わりに、適用してもよい。したがって、本明細書および図面は、限定的意味ではなく実例として考えるべきである。
【図１Ａ】
2013502646.tif 000003
【図１Ｂ】
2013502646.tif 000004
【図１Ｃ】
2013502646.tif 000005
【図１Ｄ】
2013502646.tif 000006
【図１Ｅ】
2013502646.tif 000007
【図１Ｆ】
2013502646.tif 000008
【図１Ｇ】
2013502646.tif 000009
【図１Ｈ】
2013502646.tif 000010
【図２】
2013502646.tif 000011
【図３】
2013502646.tif 000012
【図４】
2013502646.tif 000013
【図５】
2013502646.tif 000014
【図６】
2013502646.tif 000015
【国際調査報告】
2013502646.tif 000016
2013502646.tif 000017