JP2009532782A - マルチポート・メモリ・デバイスにおけるインターポート通信 - Google Patents

マルチポート・メモリ・デバイスにおけるインターポート通信 Download PDF

Info

Publication number
JP2009532782A
JP2009532782A JP2009503324A JP2009503324A JP2009532782A JP 2009532782 A JP2009532782 A JP 2009532782A JP 2009503324 A JP2009503324 A JP 2009503324A JP 2009503324 A JP2009503324 A JP 2009503324A JP 2009532782 A JP2009532782 A JP 2009532782A
Authority
JP
Japan
Prior art keywords
port
interrupt
component
memory
register
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
JP2009503324A
Other languages
English (en)
Other versions
JP5197571B2 (ja
Inventor
アラン ルバーグ
デ ケイ キム
デユン シム
ドンギュン リー
ミュン ライ チョ
スンジュン キム
Original Assignee
シリコン イメージ,インコーポレイテッド
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 シリコン イメージ,インコーポレイテッド filed Critical シリコン イメージ,インコーポレイテッド
Publication of JP2009532782A publication Critical patent/JP2009532782A/ja
Application granted granted Critical
Publication of JP5197571B2 publication Critical patent/JP5197571B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4054Coupling between buses using bus bridges where the bridge performs a synchronising function where the function is bus cycle extension, e.g. to meet the timing requirements of the target bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • 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/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video 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/108Wide data ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Static Random-Access Memory (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

マルチポート・メモリ・デバイスを用いるインターポート通信のための方法及びシステムである。メモリ・デバイスは、割り込みレジスタと、割り込み信号インターフェース(例えば専用ピン)と、割り込みマスクと、各ポートと関連する1つ又はそれ以上のメッセージ・バッファとを含む。メモリ・デバイスの第1のポートと結合された第1のコンポーネントが、メモリ・デバイスの第2のポートと結合された第2のコンポーネントと通信したいとき、第1のコンポーネントは、第2のポートと関連するメッセージ・バッファに、メッセージを書き込む。第2のポートの入力レジスタにおける割り込みは、新しいメッセージが使用可能であることを、第2のポートに結合された第2のコンポーネントに通知するように設定される。割り込みを受信すると、第2のコンポーネントは割り込みレジスタを読み取り、割り込みの性質を判断する。第2のコンポーネントは次いで、メッセージ・バッファからメッセージを読み取る。

Description

(関連出願の相互参照)
本出願は、2006年3月30日に出願され、引用によりここに組み入れられる、「INTEGRATED MULTI−PORT SERIAL MEMORY AND INTER−PROCESSOR COMMUNICATION」という名称の米国仮特許出願第60/788,401号(代理人明細書第59472−8826.US00)に基づく優先権を主張する。
コンピュータ・ハードウェアでは、共有メモリは、典型的には、幾つかの異なる中央演算処理装置、又はマルチプロセッサ・コンピュータ・システム内の他のコンポーネントによってアクセス可能なランダム・アクセス・メモリの大きなブロックを指す。例えば携帯電話は多くの場合、ベースバンド・プロセッサ、メディア・プロセッサ、及びLCDコントローラを内蔵することができ、その各々は、共通のメモリ領域を共有する。マルチプロセッサ・システムのコンポーネントは多くの場合、情報を共有する必要がある。例えば、携帯電話のメディア・プロセッサは、電話をかけるためにベースバンド・プロセッサと相互作用するオペレーティング・システムを実行することがある。
別の例としてメディア・プロセッサは、表示される画像を記述する情報をLCDコントローラのフレーム・バッファに書き込むことができる。コンポーネント間で共有される情報は、典型的には、多くの異なった制御及びデータ・インターフェースを要する。制御及びデータ・インターフェースは、コンポーネントの各々の間、及びコンポーネントと共有メモリとの間で、定義することができる。さらに、共有メモリのアクセスを調整するために共有メモリを用いる各コンポーネント間で、付加的なインターフェースがあり得る。
マルチプロセッサ・アーキテクチャの結果、多様なインターフェースを処理するための各コンポーネント内の複雑さが増し、コンポーネント間に必要な通信を支援するのに不可欠な相互接続部の数が増した。相互接続は費用がかかり、使用するのに各コンポーネントに追加の仕事を要する。別のコンポーネントと正確に相互運用しないために、望ましいコンポーネントが使用できないことも多い。例えば、特定のLCDコントローラは、特定のメディア・プロセッサに必要な速度で通信する能力がないことがあるため、より高額なLCDコントローラを選択しなくてはならない。インターフェース要件は、システム全体の複雑性を増すだけでなく、費用も増加させる。従って、システム内のコンポーネントによって管理されなくてはならない通信諸経費を最小限にする様式で、マルチプロセッサ・システム内で通信する改良された方法の必要性がある。
マルチポート・メモリ・デバイスを用いるインターポート通信のための方法及びシステムが提供される。マルチポート・メモリ・デバイスは、マルチプロセッサ・システムのコンポーネントが接続できるマルチポートを含む。ポートの各々に接続されたコンポーネント間のメッセージの通信は、共有メモリ内のレジスタ・ファイルを用いることによって可能になる。マルチポート・メモリ・デバイスの各ポートについては、メモリ・デバイスは、割り込みレジスタと、割り込み信号インターフェース(例えば専用ピン)と、割り込みマスクと、1つ又はそれ以上のメッセージ・バッファとを含む。メモリ・デバイスの第1のポートに結合された第1のコンポーネントが、メモリ・デバイスの第2のポートに結合された第2のコンポーネントと通信したいとき、第1のコンポーネントは、第2のポートと関連するメッセージ・バッファにメッセージを書き込む。第2のポートの入力レジスタでの割り込みは、第2のポートに結合された第2のコンポーネントに、新しいメッセージが使用可能であることを通知するように設定される。割り込みを受信すると、第2のコンポーネントは、割り込みの性質を判断するのに割り込みレジスタを読み取る。第2のコンポーネントは次いで、メッセージ・バッファからのメッセージを読み取る。第2のコンポーネントは、第2のコンポーネントがメッセージの処理を完了したことを第1のコンポーネントに信号通知するように、第1のポートと関連する割り込みレジスタに割り込みを設定することができる。従って、マルチポート・メモリ・デバイスは、外部通信ハードウェア、又は、共有メモリの読み込み及びこれへの書き込み以外の付加的なパラダイムの理解なしで、メモリを共有するコンポーネントが通信できるようにする。
通信チャンネルとしてのマルチポート・メモリ・デバイスの使用の多様な例が、ここで説明される。以下の説明は、これらの例を全体的に理解し、その説明を可能にするための具体的な詳細を提供する。しかしながら、当業者であれば、これらの多くの詳細な説明なしで本技術を実施可能であることを理解するであろう。加えて、種々の例と関連した説明を不必要に分かりにくくするのを避けるために、幾つかの周知の構造又は機能を詳細に図示せず又は説明しないことがある。以下に与えられる説明に用いられる専門用語は、本技術の特定の例の詳細な説明と併せて用いられるが、最も広義の妥当な方法で解釈されることを意図している。下記に特定の用語がさらに強調され得るが、制限された方法で解釈されることが意図されるいずれの専門用語も、この詳細な説明の部分などにおいて明白かつ具体的に定義されるであろう。
I.システム・アーキテクチャ
図1は、マルチプロセッサ環境で多くのコンポーネントに結合されたマルチポート・メモリ・デバイス・アーキテクチャを図解するブロック図である。マルチポート・メモリ・デバイス100は、1つ又はそれ以上のメモリ・バンク110と、2つ又はそれ以上のポート120と、レジスタ・ファイル130とを含む。メモリ、ポート、及びレジスタ・ファイルは全て、あらゆるメモリ・バンク又はレジスタ・ファイルが、あらゆるポートによってアクセスできるようにするバス140によって結合される。1つ又はそれ以上のメモリ・バンク110は、ポートを介してアクセスできるデータを格納する。メモリ・バンク110は、ダイナミック・ランダム・アクセス・メモリ(DRAM)又はメモリ・デバイスの他の共通のタイプから構成されることができる。2つはそれ以上のポート120の各々は、対応するポート・マスタ(PM)150に接続されることができる。ポート・マスタ150は、ベースバンド・プロセッサ、メディア・プロセッサ、又はLCDコントローラといった、共有メモリを用いるどのようなタイプのシステム・コンポーネントでもよい。ここに付加的に詳細が説明されるように、マルチポート・メモリ・デバイスは、マルチプロセッサ環境で、コンポーネント間のデータ通信を可能にするように、通信チャンネルとして用いることができる。
図2は、幾つかの実施形態でのレジスタ・ファイル130の構成を図解するブロック図である。レジスタ・ファイルは、特定のポートのための通信の有無を示す共通の信号通知インターフェースとして動作することによって、マルチプロセッサ環境でのコンポーネント間通信を可能にする。マルチポート・メモリの各ポートについては、レジスタ・ファイル130は、割り込みレジスタ210と、割り込みピン220といった割り込み信号インターフェースと、割り込みマスク・バッファ230と、1つ又はそれ以上のメッセージ・バッファ240a、240b,...240nとを含む。割り込みレジスタ210は、マルチポート・メモリ内の特定のポートに発生する可能性があるイベントの多様なタイプを信号通知する多くのビットを含む。割り込みレジスタのビットの各々は、異なるイベントと関連することができる。イベントは、アプリケーション特有のものであり、マルチポート・メモリの異なるユーザによって、異なって定義されることができる。アプリケーションは、新メッセージはポートが使用可能であることを信号通知するように、各ポートの割り込みレジスタ内ビットを、マルチポート・メモリの他のポートの各々のために確保することができる。アプリケーションはまた、メッセージの処理が完了したことを信号通知するように、各ポートの割り込みレジスタ内ビットを、他のポートの各々のために確保することもできる。例えば、図2に示されたレジスタ・ファイルの実施形態は、3つのポート、ポートA、ポートB、及びポートCのために構成することができる。各ポートは、4ビットを備えた関連割り込みレジスタ210を有する(図では、ポートA割り込みレジスタとポートAバッファのみを示す)。割り込みレジスタの1ビットは新しいメッセージを表すのに用いられ、1ビットは2つの他のポートの各々に応答するメッセージを表すのに用いられる。したがって、ポートAのための割り込みレジスタ・ビットは、ポートBからの新しいメッセージ、ポートBからの応答、ポートCからの新しいメッセージ、及びポートCからの応答を表す。「1」の値は、割り込みが設定されたことを示す。例えば図2では、ポートCからの新しいメッセージを示すビットが設定されている。メッセージ・バッファがマルチポート・メモリ・デバイスのメールボックスである場合には、割り込みレジスタは、新しいメッセージが使用可能なときに信号通知するメールボックスのそばにある赤いフラグのようなものである。レジスタ・ファイルに適切なビットを設定すること又は除去することによって、そのポートの通信状態は、システム・コンポーネントに伝達されることができる。
幾つかの実施形態では、マルチポート・メモリ・デバイスは、ファスト・スタティック・ランダム・アクセス・メモリ(SRAM)に割り込みレジスタ210を格納する。割り込みレジスタのビットは、スペースを節約して、ビットの試験及び設定の速度を増すために、標準的なフリップ・フロップでよい。代替的に又は付加的には、マルチポート・メモリ・デバイスは、共有メモリ自体の特定位置に、割り込みレジスタを格納することができる。例えば、共有メモリの上位バイトは、割り込みレジスタを格納するために、アプリケーションによって確保されることができる。割り込みレジスタは、ポート間に割り当てられるシングル・レジスタ(例えば16ビット)、又はそれぞれが異なるポートと関連するマルチプル・レジスタでよい。
幾つかの実施形態では、マルチポート・メモリは、デバッギング及び試験目的のために、割り込みレジスタの1又はそれ以上のビットを確保する。例えば、16ビット割り込みレジスタを有する3ポート・デバイスでは、マルチポート・メモリは、割り込みが除去されるまでさらなる処理を中断するように特定のポートに取り付けられたコンポーネントに命令する停止命令のためにビット15を確保することができる。ブレイクポイントは、ブレイクポイントが適用するメモリ・アドレスがメッセージ・バッファに格納されることを信号通知するように、割り込みレジスタのビットを用いて実施することができる。例えば、デバッギング・アプリケーションは、メモリ・アドレス0x0100にブレイクポイントを設定することができ、各ポートの割り込みレジスタにブレイクポイント・ビットを設定する。
ポートの割り込みレジスタ・ビットの状態は、そのポートと関連する割り込みピン220を介して、システム・コンポーネントと通信される。割り込みピン220上での割り込み信号の存在は、新しい割り込みが設定されたことを、取り付けられたコンポーネントに伝達する。割り込み信号は、論理ゲート250を用いて割り込みレジスタ・ビットの値を論理的に「ORing」することによって生成される(幾つかの実施形態では、以下に検討されるマスキング関数が使用できる)。割り込みピン上での割り込み信号は、割り込みレジスタのいずれかのビットが設定されればいつでも生成される。従って、割り込み信号は、割り込みレジスタのサマリとして動作し、コンポーネントは割り込みの性質に関してさらに問い合わせるべきであることを、ポートに取り付けられたコンポーネントに通知するための単一機構を提供する。当業者であれば、割り込み信号は、ここに開示される割り込みピンの専用使用の他の方法でも生成されることができることを理解するであろう。
幾つかの実施形態では、割り込みマスクは、コンポーネントが、割り込みレジスタ210内の特定のビットの状態を読み取ることを可能にするように、レジスタ・ファイル130で用いることができる。マスク特徴を実施するのに、多くの論理ANDゲート260が提供される。各ANDゲートへの1つの入力は、割り込みレジスタ210のビット値である。各ANDゲートへの他の入力は、割り込みマスク・レジスタ230内に格納される割り込みマスクのビット値である。論理ANDの動作によって、割り込みマスク内で「1」に設定された対応ビットを有する割り込みレジスタ・ビットのみが、論理ゲート250に適用される。結果として、割り込みピン220上の割り込み信号は、割り込みマスク値に基づいた割り込みレジスタで1又はそれ以上のビットのビット値を選択的に表す。監視ポート・マスタ(SPM)は、マルチポート・メモリ・デバイスの起動中、構成段階の一部として、各ポートに代わり、割り込みマスクを設定することができる。割り込みマスクは、共有メモリ内部の既定位置に格納されることができるため、コンポーネントは、既定位置に書き込みをすることによって、割り込みマスクを更新することができる。
割り込みマスクは、アプリケーションによって一定の割り込みを無視するのに用いることができる。例えば、マルチポート・メモリ・デバイスを用いた携帯電話では、ベースバンド・プロセッサは、マルチポート・メモリ・デバイスに取り付けられたLCDコントローラから割り込みを受けなくともよい。従って、ベースバンド・プロセッサは、これが取り付けられたポートの割り込みマスクを、LCDコントローラが取り付けられたポートからの割り込みをマスクするように設定することができる。割り込みマスクに基づいて、割り込みマスクによってマスクされない割り込みが設定されない限り、割り込み信号は、割り込みピン上に生成されない。加えて、マルチポート・メモリ・デバイスは、TAS命令に応答して送り返されたビットをマスクして、割り込みレジスタの無視されたビットが含まれないようにすることができる。
ポートに取り付けられたコンポーネントによって割り込みが検知された場合には、コンポーネントは、「テスト(試験)及びセット(設定):test-and-set」(TAS)命令を発行して、割り込みレジスタ210の内容を読み取る。幾つかの実施形態では、マルチポート・メモリ・デバイスは、TAS命令を提供して、割り込みレジスタの値を自動的に試験及び設定する。TAS命令は、システム・コンポーネントに必要とされるメモリ・デバイスのアクセスの数を減少させて、割り込みの読み取り及び除去を同時にできるようにすることによって割り込みを処理し、命令の原子的性質はレース状態を避ける。当業者であれば、相互排除及びセマフォといった共通の同期構造(common synchronization constructs)が、TAS命令を用いて構成できることを認識するであろう。コンポーネントは、レジスタの現在値を試験することに対する試験値、及び現在値と試験値が一致する場合にはレジスタを設定する設定値を提供することによって、TAS命令を発行する。典型的には、試験値は、いずれかのビットが設定された場合には試験し、設定値は全ビットを除去する。従って、TAS命令を発行することは、どの割り込みビットが割り込みレジスタに設定されたかをコンポーネントに通知して同時に何らかの設定ビットを除去する。コンポーネントは次いで、設定すべきと判ったビットによって表された割り込みを処理することができる。
幾つかの実施形態では、レジスタ・ファイル130は、割り込みをもたらすイベントの付加的な詳細を格納するのに用いることができるメッセージ・バッファ240a、240b,...240nを含む。各ポートは、関連する入力メッセージ・バッファ(IMB)と出力メッセージ・バッファ(OMB)とを有することができる。IMBはポートに結合された第1のコンポーネントによって、別のポートに結合された第2のコンポーネントにデータを提供するのに用いることができ、OMBは、第1のコンポーネントに、第2のコンポーネントから応答データを伝達することができる。例えば、ポートAに結合されたコンポーネントは、発生したイベントを記述する情報を、ポートBのIMBに書き込むことができる。ポートBの割り込みレジスタ内の割り込みビットは、次いで、新しいメッセージが使用可能であることをポートBに通知するように設定することができる。ポートBに結合されたコンポーネントは、次いで、割り込みを処理した後でメッセージ・バッファの内容を取り出すことができる。図2に示された例では、ポートCからの新しいメッセージを示す割り込みレジスタ・ビット2が設定されているため、ポートAに取り付けられたコンポーネントはポートCの出力メッセージ・バッファ240cを読み取り、ポートCからのメッセージの内容を判断する。コンポーネントは、ポートCの入力メッセージ・バッファ240dにメッセージを書き込み、ポートCの適切な割り込みを設定することによって応答できる。
図2には3つのポートと4つの割り込みビットだけが表されているが、マルチポート・メモリ・デバイスは、あらゆる数のポート及び割り込みをサポートすることができる。各ポートと割り込みの目的は、そのアプリケーションに最も適切な使用のために、各アプリケーションによってカスタマイズされることができる。レジスタ・ファイル130に位置されるのではなく、メッセージ・バッファ240a、240b...240nは共有メモリ内に位置されることができ、各メッセージ・バッファのアドレスはマルチポート・メモリ・デバイスの起動中に設定されることができる。
幾つかの実施形態では、マルチポート・メモリ・デバイスは、新しいイベントがレジスタ・ファイルに加えられたときに、自動的に割り込みを設定する。例えば、1つのコンポーネントがメッセージ・バッファにイベント情報を加えた場合には、マルチポート・メモリ・デバイスは新しい情報を検知して、受信側ポートの割り込みレジスタ内に正確な割り込みを自動的に設定する。自動設定割り込みは、1つのポートに取り付けられたコンポーネントが、別のポートの割り込みレジスタ内にビットを間違って設定することによってエラーが引き起こされる可能性を減らす。
図3は、幾つかの実施形態で、マルチポート・メモリ・デバイス・アーキテクチャが、コンポーネント間の相互接続をどのように簡素化するかを図解するブロック図である。システム300は、各コンポーネントがインターフェース310を通して共有メモリ305に接続される多数のコンポーネントを含む。各コンポーネントはまた、他のコンポーネントとの幾多の直接相互接続320も有する。相互接続は、コンポーネントが多様なインターフェース・プロトコルを用いて他のコンポーネントと通信することを要するため、システムに複雑性を加える。相互接続は、さらに、付加的なルーティング経路及びタイミング制御を要するため、複雑性を加える。ここに開示されるようにマルチポート・メモリ・デバイスに基づくシステム350はまた、インターフェース360を通して共有メモリと接続される多数のコンポーネントも含む。しかしながら、システム350は、コンポーネント間の直接相互接続を含まない。むしろ、各コンポーネントは、割り込みピン370を介して共有メモリ355に接続される。ここに述べられたように、割り込みピン370上の割り込み信号は、別のコンポーネントが共有メモリ355を通じて通信したいときに、コンポーネントに通知する。システムにおけるコンポーネント間の直接相互接続の除外は、タイミング及びインターフェース課題を大きく簡略化する。
図4は、幾つかの実施形態においてコンポーネント間でメッセージを通信するときに、マルチポート・メモリ・デバイスの処理を図解するフロー図である。ブロック410では、ポート・マスタ(PM)Aは、PM Bに用いられるポートのOMBにメッセージを書き込む。ブロック420では、PM Aは、PM Bに接続されたポートの割り込みレジスタを設定し、新しいメッセージが使用可能であることをPM Bに通知する(代替的には、割り込みは、新しいメッセージがPM BのOMBに書き込まれたときに自動的に設定されることができる)。PM Bの割り込みレジスタの内容に基づいて、PM Bによって用いられるポートの割り込みピンも設定される。ブロック430では、PM Bは割り込みピンが設定されることを検知し、TAS命令を発行して、割り込みレジスタの内容を読み取って割り込みを除去する。ブロック440では、PM Bは、PM AによってOMBに書込まれたメッセージを読み取り、メッセージを処理する。ブロック450では、PM Bは、PM Aによって用いられるポートのIMBに応答メッセージを書き込む。ブロック460では、PM Bは、メッセージが処理され、応答が可能であることをPM Aに通知するよう、PM Aによって用いられるポートの割り込みレジスタを設定する。PM Aの割り込みレジスタの内容に基づいて、ポートの割り込みピンもまた設定される。ブロック470では、PM Aは、割り込みピンが設定されていることを検知して、割り込みレジスタの内容を読み取り、割り込みを除去するよう、TAS命令を発行する。ブロック480では、PM Aは、PM BによってIMBに書込まれた応答メッセージを読み取り、応答を処理する。判断ブロック490では、さらにメッセージがあれば、PM Aはブロック410にループして別のメッセージを送信し、そうでなければプロセスを完了する。
II.レジスタ・ファイル使用法
以下は、コンポーネント間で情報を調整及び共有するのに、レジスタ・ファイルが異なるアプリケーションによってどのように用いられることができるかの幾つかの例である。
格納アプリケーションは多くの場合、メモリ・デバイスを共有する1つ又はそれ以上のポート・マスタを含む。ポート・マスタ(PM)は、プロセッサ、他の格納デバイス(例えばハード・ドライブ)、及びメモリ・デバイスに取り付けられた他のハードウェア・コンポーネントを表すことができる。1つのポート・マスタは多くの場合、監視ポート・マスタ(SPM)を指定される。SPMは典型的には、他のポート・マスタの行動を監視する。例えば、起動中、SPMは取り付けられたフラッシュ・メモリから構成情報を収集し、他方のPMに対して、メモリ・デバイスのポートの各々を構成することができる。SPMは、マルチポート・メモリ・デバイスの各ポートに、ポート速度、ポート向けのメッセージ・バッファのロケーション、割り込みマスクのロケーション、割り込みレジスタ内の各割り込みビットの意味、及びその他といった他の構成情報を提供することができる。SPMはまた、アプリケーションの必要性に基づいて、各ポートを有効及び無効にすることもできる。例えば、SPMは、システムの他のコンポーネントが充電を完了して動作準備ができるまで、ポートの割り込みレジスタ内のビットを設定することによって、無効のままでいるようにポートに命令することができる。SPMはまた、幾つかのポートに、システムの現在の所要電力に基づいて、又は特定デバイスの不活動性に基づいて(例えば携帯電話のLCDディスプレイを暗くするような)、それ自体を無効にするよう命令することもできる。
レジスタ・ファイルの使用の別の例は、メモリ・デバイスに取り付けられた幾つかのコンポーネントによる、メモリ・バンクの共有である。最も単純なケースでは、各コンポーネントはそれ自体のメモリ・バンクを割り当てられており、共有を必要としない。しかしながら、アプリケーションは多くの場合、バンクが共有されることを要し、より多くの使用可能メモリをシステムの電流負荷に基づいて特定の使用に向けることができる。例えば携帯電話では、ベースバンド・プロセッサは電話をかけているときにより多くのメモリを要し、メディア・プロセッサはゲームをしているときにより多くのメモリを要する。システムのコンポーネントはまた、情報を共有することも必要とすることがあり、メモリ・バンクを共有することによって、それを行うことができる。1つのコンポーネントがメモリに書き込むことができ、別のコンポーネントがメモリから読み取ることができ、コンポーネント間の情報を共有する。
メモリ・バンクへのアクセスが共有される場合、バンクへのアクセスの調整は、データが破損していないことを保証するのに重要である。レジスタ・ファイルは、メモリ・バンクへのアクセスを調整するのに、アプリケーションによって使用されることができる。例えば、割り込みは、使用するメモリ・バンクを確保するために定めることができる。コンポーネントがメモリ・バンクを使用したいときには、コンポーネントは、使用するメモリ・バンクを確保しようとするのに、TAS命令を発行する。現在バンクが使用されていなければ、TAS命令は次いで、バンクが使用可能であることを示し、コンポーネントはTAS命令の一部として使用するバンクを同時に確保する。バンクが確保されると、コンポーネントは、ポートを通じてメモリに読み取り及び書き込みができる。コンポーネントがバンクを用いて通じているとき、別のTAS命令を発行することによって、バンクの確保を除去することができる。別のコンポーネントがメモリを使用したいとき、処理は繰り返される。コンポーネントは、メモリが既に使用中であることを理解し、その場合TAS命令はバンクが既に確保されたことを示し、コンポーネントは、TAS命令を用いて割り込みレジスタをポーリングすることによって、バンクが確保されなくなるまで待つことができる。
幾つかの実施形態では、マルチポート・メモリは、バンクを確保するのに、次の順番のものに別の割り込みビットを提供することができるので、コンポーネントが現在バンクを使用中でも、バンクを使用したい次のコンポーネントは、その関心を登録することができる。故に、第2のポートは、第1のポートが接続されているコンポーネントがバンクを用いて通じているときに、第1のポートによって通知されることができ、第2のポートは、バンクが使用可能になるのを待つ間、ポーリングする必要がない。
III.結論
以下に他に説明がない限り、本発明の様態は、従来のシステムと共に実施することができる。従って、図示される種々のブロックの構成及び動作は、従来の設計のものとすることができ、そうしたブロックは当業者には理解されるので、本発明を作製し、用いるために、それらをここでさらに詳細に説明する必要はない。システムの様態は、1つ又はそれ以上のコンピュータ又は他のデバイスによって実行される、プログラム・モジュールなどのコンピュータ実行可能命令を用いて実施することができる。一般に、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。典型的には、種々の実施形態において、プログラム・モジュールの機能を所望のように組み合わせる又は分配することができる。
上記から、マルチポート・メモリの特定の実施形態が、例証のためにここに説明されたこと、しかしながら、本発明の精神及び範囲から逸脱することなく種々の変更をなし得ることが理解されるであろう。従って、本発明は、添付の特許請求の範囲による以外に制限されるものではない。
通信チャンネルとして用いられるマルチポート・メモリ・デバイスのアーキテクチャを図解するブロック図である。 マルチポート・メモリ・デバイスにおけるレジスタ・ファイルの構成を図解するブロック図である。 通信チャンネルとしてのマルチポート・メモリ・デバイスの使用が、コンポーネント間の相互接続をどのように簡素化するかを図解するブロック図である。 コンポーネント間で通信メッセージを伝達するときに、マルチポート・メモリ・デバイスの処理を図解するフロー図である。

Claims (26)

  1. マルチポート・メモリ・デバイスの第1のポートに結合された第1のコンポーネントと、前記デバイスの第2のポートに結合された第2のコンポーネントとの間のメモリを共有する方法であって、
    イベントの発生に関連するマルチポート・メモリ・デバイスの第1のポートで、第1のコンポーネントからのデータを受信し、
    前記イベントの発生を第2のポートに通知するために、前記マルチポート・メモリ・デバイスの前記第2のポートに関連する割り込みレジスタ及び割り込み信号を設定し、
    前記第2のポートに結合した第2のコンポーネントによって前記割り込み信号を検知した後で、該第2のポートと関連する前記割り込みレジスタの内容を、前記第2のコンポーネントに送信し、
    前記割り込みレジスタの内容によって指定された割り込みに基づいて、前記第2のコンポーネントで割り込み処理手順を実行する、
    ステップを含むことを特徴とする方法。
  2. 前記第2のポートと関連する割り込み信号を設定するステップは、前記割り込みについて前記第2のコンポーネントに通知するステップを含むことを特徴とする、請求項1に記載の方法。
  3. 前記割り込みレジスタの内容が割り込みマスクと適合するかどうか判断し、該内容が前記割り込みマスクと適合しない場合には、前記割り込み信号を設定しないステップを含むことを特徴とする、請求項1に記載の方法。
  4. 前記第2のポートで前記第2のコンポーネントから応答データを受信するステップと、
    前記受け取った応答データを、前記マルチポート・メモリ・デバイスの前記第1のポートと関連するバッファに書き込むステップと、
    該第1のポートに該マルチポート・メモリ・デバイスの該第1のポートと関連する割り込みレジスタ及び割り込み信号を設定するステップと、を含むことを特徴とする、請求項1に記載の方法。
  5. 前記割り込みは、前記割り込みレジスタ内の1組のビットによって指定されることを特徴とする、請求項1に記載の方法。
  6. 前記1組のビットは、前記マルチポート・メモリ・デバイスの互いのポートに対して、少なくとも1ビットを含むことを特徴とする、請求項5に記載の方法。
  7. 特定ポートのための前記割り込みレジスタは、前記マルチポート・メモリ・デバイスの互いのポートに対して、応答メッセージを受信するためのビットを含むことを特徴とする、請求項5に記載の方法。
  8. 前記割り込みレジスタは、デバッギング目的のために確保された少なくとも1ビットを含むことを特徴とする、請求項5に記載の方法。
  9. 前記割り込みレジスタの前記内容を送信するステップは、試験及び設定命令に応じるステップを含むことを特徴とする、請求項1に記載の方法。
  10. 前期割り込みレジスタ及び前記割り込み信号を設定するステップは、受信したデータが前記第2のポートと関連する前記バッファ内で検知されたときに、前記割り込みレジスタ及び前記割り込み信号を自動的に設定するステップを含むことを特徴とする、請求項1に記載の方法。
  11. 前記割り込みレジスタは前記マルチポート・メモリ・デバイス内のメモリ位置に格納されることを特徴とする、請求項1に記載の方法。
  12. 前記ポートはシリアル・ポートであることを特徴とする、請求項1に記載の方法。
  13. 前記割り込みレジスタの前記内容を送信するために用いられるデータ経路は、前記マルチポート・メモリ・デバイス内の前記メモリに及びそこからデータを転送するために用いられる前記データ経路と同じであることを特徴とする、請求項1に記載の方法。
  14. マルチポート・メモリ・システムに取り付けられたコンポーネント間で情報を共有するシステムであって、
    前記マルチポート・メモリ・システムの1つ又はそれ以上のポートによってアクセス可能な情報を格納するための、1つ又はそれ以上の共有メモリ・バンクと、
    イベントが発生したときに、前記1つ又はそれ以上のポートに結合したコンポーネントに指示する割り込みレジスタと、
    前記割り込みレジスタの内容に基づいて、割り込み処理手順を実施する割り込み処理コンポーネントと、を含むシステム。
  15. 前記割り込みレジスタは複数のビットから成り、前記ビットの設定はイベントの前記タイプを示すことを特徴とする、請求項14に記載のシステム。
  16. イベントの特定タイプを識別するために、前記入力レジスタと比較される割り込みマスクを含むことを特徴とする、請求項15に記載のシステム。
  17. 前記割り込みレジスタの前記内容を反映する信号を提供する割り込みピンを含むことを特徴とする、請求項14に記載のシステム。
  18. 前記割り込みレジスタによって示される前記イベントについての情報を含むメッセージ・バッファを含み、前記メッセージ・バッファは、発信メッセージを格納するための出力メッセージ・バッファと、受信したメッセージの応答を格納するための入力メッセージ・バッファとを含むことを特徴とする、請求項14に記載のシステム。
  19. 前記共有メモリ・バンクとは別にランダム・アクセス・メモリをさらに含み、前記割り込みレジスタは前記ランダム・アクセス・メモリに格納されることを特徴とする、請求項14に記載のシステム。
  20. 前記ランダム・アクセス・メモリは、前記共有メモリ・バンクより高速のメモリであることを特徴とする、請求項19に記載のシステム。
  21. 第1のコンポーネントからメモリ・バンクにアクセスするリクエストを受信し、
    前記メモリ・バンクが現在使用中であるかどうか判断し、
    前記メモリ・バンクが現在使用中でない場合には、前記第1のコンポーネントの該メモリ・バンクへのアクセスを許可し、
    第2のコンポーネントから前記メモリ・バンクにアクセスするリクエストを受信し、
    前記第1のコンポーネントによる前記メモリ・バンクの前記アクセスが完了したかどうか判断し、
    前記第1のコンポーネントによる前記メモリ・バンクへの前記アクセスの完了の際に、前記第2のコンポーネントの該メモリ・バンクへのアクセスを許可する、
    ステップを含む方法によって、多数のコンポーネント間でメモリ・バンクを共有するように、メモリ・デバイスを制御するための命令を含むことを特徴とするコンピュータ読み取り可能な記録媒体。
  22. 第1のコンポーネントからリクエストを受信するステップは、試験及び設定命令を受信するステップを含むことを特徴とする、請求項21に記載のコンピュータ読み取り可能な記録媒体。
  23. 前記メモリ・バンクが現在使用中かどうか判断するステップは、割り込みレジスタのビットを検査するステップを含むことを特徴とする、請求項21に記載のコンピュータ読み取り可能な記録媒体。
  24. 前記メモリ・バンクへのアクセスを許可するステップは、割り込みレジスタのビットを設定するステップを含むことを特徴とする、請求項21に記載のコンピュータ読み取り可能な記録媒体。
  25. 前記第1のコンポーネントは、1つ又はそれ以上の他のポート・マスタのためのメモリ・バンクへのアクセスを制御する監視ポート・マスタであることを特徴とする、請求項21に記載のコンピュータ読み取り可能な記録媒体。
  26. 前記メモリ・バンクを判断するステップは、該メモリ・バンクの現在の状態を判断するのにメモリ位置にアクセスするステップを含むことを特徴とする、請求項21に記載のコンピュータ読み取り可能な記録媒体。
JP2009503324A 2006-03-30 2007-03-30 マルチポート・メモリ・デバイスにおけるインターポート通信 Active JP5197571B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US78840106P 2006-03-30 2006-03-30
US60/788,401 2006-03-30
PCT/US2007/065722 WO2007115226A2 (en) 2006-03-30 2007-03-30 Inter-port communication in a multi- port memory device

Publications (2)

Publication Number Publication Date
JP2009532782A true JP2009532782A (ja) 2009-09-10
JP5197571B2 JP5197571B2 (ja) 2013-05-15

Family

ID=38421761

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2009503324A Active JP5197571B2 (ja) 2006-03-30 2007-03-30 マルチポート・メモリ・デバイスにおけるインターポート通信
JP2009503325A Active JP5188493B2 (ja) 2006-03-30 2007-03-30 可変のポート速度を有するマルチポート・メモリ・デバイス

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2009503325A Active JP5188493B2 (ja) 2006-03-30 2007-03-30 可変のポート速度を有するマルチポート・メモリ・デバイス

Country Status (7)

Country Link
US (2) US7639561B2 (ja)
EP (2) EP2008281B1 (ja)
JP (2) JP5197571B2 (ja)
KR (2) KR101323400B1 (ja)
CN (3) CN101449262B (ja)
TW (3) TWI386846B (ja)
WO (2) WO2007115227A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018524739A (ja) * 2015-07-21 2018-08-30 クアルコム,インコーポレイテッド 複数のインターフェースによるメモリ空間へのコンカレントアクセス

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
WO2008070803A1 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for managing data from a requesting device with an empty data token directive
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
DE102008011925B4 (de) * 2008-02-29 2018-03-15 Globalfoundries Inc. Sicheres Initialisieren von Computersystemen
US8230180B2 (en) * 2008-06-11 2012-07-24 Samsung Electronics Co., Ltd. Shared memory burst communications
KR20100085564A (ko) * 2009-01-21 2010-07-29 삼성전자주식회사 데이터 처리 시스템과 데이터 처리 방법
US8769213B2 (en) * 2009-08-24 2014-07-01 Micron Technology, Inc. Multi-port memory and operation
JP2011058847A (ja) * 2009-09-07 2011-03-24 Renesas Electronics Corp 半導体集積回路装置
US9021158B2 (en) 2009-09-09 2015-04-28 SanDisk Technologies, Inc. Program suspend/resume for memory
US8429436B2 (en) * 2009-09-09 2013-04-23 Fusion-Io, Inc. Apparatus, system, and method for power reduction in a storage device
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
US8458581B2 (en) * 2009-10-15 2013-06-04 Ansaldo Sts Usa, Inc. System and method to serially transmit vital data from two processors
US8190944B2 (en) * 2009-12-11 2012-05-29 Ati Technologies Ulc Device configured to switch a clock speed for multiple links running at different clock speeds and method for switching the clock speed
US8775856B1 (en) * 2010-03-10 2014-07-08 Smsc Holdings S.A.R.L. System and method for generating clock signal for a plurality of communication ports by selectively dividing a reference clock signal with a plurality of ratios
JP2011227834A (ja) * 2010-04-22 2011-11-10 Sony Corp 信号制御装置及び信号制御方法
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
KR101796116B1 (ko) 2010-10-20 2017-11-10 삼성전자 주식회사 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
EP2652623B1 (en) 2010-12-13 2018-08-01 SanDisk Technologies LLC Apparatus, system, and method for auto-commit memory
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
WO2012106362A2 (en) 2011-01-31 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for managing eviction of data
WO2012109677A2 (en) 2011-02-11 2012-08-16 Fusion-Io, Inc. Apparatus, system, and method for managing operations for data storage media
WO2012112618A1 (en) 2011-02-14 2012-08-23 The Regents Of The University Of California Multi-band interconnect for inter-chip and intra-chip communications
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
CN102176138B (zh) * 2011-03-01 2013-04-03 上海维宏电子科技股份有限公司 数控系统中硬件端口的对象化管理控制方法
US8543774B2 (en) 2011-04-05 2013-09-24 Ansaldo Sts Usa, Inc. Programmable logic apparatus employing shared memory, vital processor and non-vital communications processor, and system including the same
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
CN104123241B (zh) * 2013-04-24 2017-08-29 华为技术有限公司 内存匿名页初始化方法、装置及系统
US20140321471A1 (en) * 2013-04-26 2014-10-30 Mediatek Inc. Switching fabric of network device that uses multiple store units and multiple fetch units operated at reduced clock speeds and related method thereof
US8963587B2 (en) * 2013-05-14 2015-02-24 Apple Inc. Clock generation using fixed dividers and multiplex circuits
US9666244B2 (en) 2014-03-01 2017-05-30 Fusion-Io, Inc. Dividing a storage procedure
US9665432B2 (en) * 2014-08-07 2017-05-30 Microsoft Technology Licensing, Llc Safe data access following storage failure
US9847918B2 (en) 2014-08-12 2017-12-19 Microsoft Technology Licensing, Llc Distributed workload reassignment following communication failure
US9933950B2 (en) 2015-01-16 2018-04-03 Sandisk Technologies Llc Storage operation interrupt
US20160378151A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Rack scale architecture (rsa) and shared memory controller (smc) techniques of fast zeroing
US9996138B2 (en) * 2015-09-04 2018-06-12 Mediatek Inc. Electronic system and related clock managing method
CN105701026A (zh) * 2016-01-04 2016-06-22 上海斐讯数据通信技术有限公司 一种数据采集器及其利用系统冗余资源采集数据的方法
KR20180033368A (ko) * 2016-09-23 2018-04-03 삼성전자주식회사 케스-케이드 연결 구조로 레퍼런스 클록을 전달하는 스토리지 장치들을 포함하는 전자 장치
KR102438319B1 (ko) * 2018-02-07 2022-09-01 한국전자통신연구원 공통 메모리 인터페이스 장치 및 방법
CN111142955B (zh) * 2019-12-31 2021-07-16 联想(北京)有限公司 一种信息处理方法及装置
US11567708B2 (en) 2021-01-05 2023-01-31 Brother Kogyo Kabushiki Kaisha Image forming apparatus having one or more ports to which portable memory is attachable

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4344133A (en) * 1978-07-31 1982-08-10 Motorola, Inc. Method for synchronizing hardware and software
US4449183A (en) * 1979-07-09 1984-05-15 Digital Equipment Corporation Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
JPS61286961A (ja) * 1985-05-07 1986-12-17 ハネイウエル・インフオメ−シヨン・システムス・イタリア・エス・ピ−・ア マイクロプロセツサ・システム・ア−キテクチヤと通信方法
JPH01501660A (ja) * 1987-06-18 1989-06-08 ユニシス・コーポレーシヨン コンピユータ間通信制御装置及びその方法
JPH04367963A (ja) * 1991-06-15 1992-12-21 Hitachi Ltd 共有記憶通信方法
US5175853A (en) * 1990-10-09 1992-12-29 Intel Corporation Transparent system interrupt
US5423008A (en) * 1992-08-03 1995-06-06 Silicon Graphics, Inc. Apparatus and method for detecting the activities of a plurality of processors on a shared bus
JPH07230433A (ja) * 1994-02-21 1995-08-29 Matsushita Electric Works Ltd プロセッサ間通信方法および装置
US5901309A (en) * 1997-10-07 1999-05-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for improved interrupt handling within a microprocessor
US20020065994A1 (en) * 1999-06-14 2002-05-30 Maxtor Corporation Method of arbitrating requests for access to a single buffer memory in a disk drive
JP2006301894A (ja) * 2005-04-20 2006-11-02 Nec Electronics Corp マルチプロセッサシステム、及びマルチプロセッサシステムのメッセージ伝達方法
JP2006309512A (ja) * 2005-04-28 2006-11-09 Nec Electronics Corp マルチプロセッサシステム、及びマルチプロセッサシステムのメッセージ伝達方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4729091A (en) * 1984-11-13 1988-03-01 International Business Machines Corporation Directing storage requests prior to address comparator initialization with a reference address range
US5142683A (en) * 1987-03-09 1992-08-25 Unisys Corporation Intercomputer communication control apparatus and method
US5144314A (en) * 1987-10-23 1992-09-01 Allen-Bradley Company, Inc. Programmable object identification transponder system
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
JP3447404B2 (ja) * 1994-12-08 2003-09-16 日本電気株式会社 マルチプロセッサシステム
US5925099A (en) * 1995-06-15 1999-07-20 Intel Corporation Method and apparatus for transporting messages between processors in a multiple processor system
US6167487A (en) * 1997-03-07 2000-12-26 Mitsubishi Electronics America, Inc. Multi-port RAM having functionally identical ports
US6118792A (en) * 1997-11-21 2000-09-12 Nortel Networks Corporation Method and apparatus for a flexible access rate common-memory packet switch
US6313766B1 (en) * 1998-07-01 2001-11-06 Intel Corporation Method and apparatus for accelerating software decode of variable length encoded information
US6263390B1 (en) * 1998-08-18 2001-07-17 Ati International Srl Two-port memory to connect a microprocessor bus to multiple peripherals
KR100284741B1 (ko) * 1998-12-18 2001-03-15 윤종용 로컬클럭 신호 발생회로 및 방법, 내부클럭신호 발생회로 및방법,이를 이용한 반도체 메모리 장치
US6002633A (en) * 1999-01-04 1999-12-14 International Business Machines Corporation Performance optimizing compiler for building a compiled SRAM
US6396324B1 (en) * 2000-05-08 2002-05-28 International Business Machines Corporation Clock system for an embedded semiconductor memory unit
US6845409B1 (en) * 2000-07-25 2005-01-18 Sun Microsystems, Inc. Data exchange methods for a switch which selectively forms a communication channel between a processing unit and multiple devices
TW530207B (en) * 2000-09-05 2003-05-01 Samsung Electronics Co Ltd Semiconductor memory device having altered clock frequency for address and/or command signals, and memory module and system having the same
US6665795B1 (en) * 2000-10-06 2003-12-16 Intel Corporation Resetting a programmable processor
US6938164B1 (en) 2000-11-22 2005-08-30 Microsoft Corporation Method and system for allowing code to be securely initialized in a computer
PL363432A1 (en) * 2001-01-31 2004-11-15 International Business Machines Corporation Method and apparatus for transferring interrupts from a peripheral device to a host computer system
US6877071B2 (en) * 2001-08-20 2005-04-05 Technology Ip Holdings, Inc. Multi-ported memory
US6795360B2 (en) * 2001-08-23 2004-09-21 Integrated Device Technology, Inc. Fifo memory devices that support all four combinations of DDR or SDR write modes with DDR or SDR read modes
US7032106B2 (en) * 2001-12-27 2006-04-18 Computer Network Technology Corporation Method and apparatus for booting a microprocessor
US7571287B2 (en) * 2003-03-13 2009-08-04 Marvell World Trade Ltd. Multiport memory architecture, devices and systems including the same, and methods of using the same
CN1275143C (zh) * 2003-06-11 2006-09-13 华为技术有限公司 数据处理系统及方法
KR100606242B1 (ko) * 2004-01-30 2006-07-31 삼성전자주식회사 불휘발성 메모리와 호스트간에 버퍼링 동작을 수행하는멀티 포트 휘발성 메모리 장치, 이를 이용한 멀티-칩패키지 반도체 장치 및 이를 이용한 데이터 처리장치
JP4346506B2 (ja) * 2004-06-07 2009-10-21 株式会社リコー 先入れ先出しメモリ及びそれを用いた記憶媒体制御装置
WO2006029094A2 (en) * 2004-09-02 2006-03-16 Xencor, Inc. Erythropoietin derivatives with altered immunogenicity
US20060072563A1 (en) 2004-10-05 2006-04-06 Regnier Greg J Packet processing
JP4425243B2 (ja) * 2005-10-17 2010-03-03 Okiセミコンダクタ株式会社 半導体記憶装置
US7433263B2 (en) * 2006-02-28 2008-10-07 Samsung Electronics Co., Ltd. Multi-port semiconductor device and method thereof
US7369453B2 (en) * 2006-02-28 2008-05-06 Samsung Electronics Co., Ltd. Multi-port memory device and method of controlling the same
KR100909805B1 (ko) * 2006-09-21 2009-07-29 주식회사 하이닉스반도체 멀티포트 메모리 장치

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4344133A (en) * 1978-07-31 1982-08-10 Motorola, Inc. Method for synchronizing hardware and software
US4449183A (en) * 1979-07-09 1984-05-15 Digital Equipment Corporation Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
JPS61286961A (ja) * 1985-05-07 1986-12-17 ハネイウエル・インフオメ−シヨン・システムス・イタリア・エス・ピ−・ア マイクロプロセツサ・システム・ア−キテクチヤと通信方法
JPH01501660A (ja) * 1987-06-18 1989-06-08 ユニシス・コーポレーシヨン コンピユータ間通信制御装置及びその方法
US5175853A (en) * 1990-10-09 1992-12-29 Intel Corporation Transparent system interrupt
US5446841A (en) * 1991-06-15 1995-08-29 Hitachi, Ltd. Multi-processor system having shared memory for storing the communication information used in communicating between processors
JPH04367963A (ja) * 1991-06-15 1992-12-21 Hitachi Ltd 共有記憶通信方法
US5423008A (en) * 1992-08-03 1995-06-06 Silicon Graphics, Inc. Apparatus and method for detecting the activities of a plurality of processors on a shared bus
JPH07230433A (ja) * 1994-02-21 1995-08-29 Matsushita Electric Works Ltd プロセッサ間通信方法および装置
US5901309A (en) * 1997-10-07 1999-05-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for improved interrupt handling within a microprocessor
US20020065994A1 (en) * 1999-06-14 2002-05-30 Maxtor Corporation Method of arbitrating requests for access to a single buffer memory in a disk drive
JP2006301894A (ja) * 2005-04-20 2006-11-02 Nec Electronics Corp マルチプロセッサシステム、及びマルチプロセッサシステムのメッセージ伝達方法
JP2006309512A (ja) * 2005-04-28 2006-11-09 Nec Electronics Corp マルチプロセッサシステム、及びマルチプロセッサシステムのメッセージ伝達方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018524739A (ja) * 2015-07-21 2018-08-30 クアルコム,インコーポレイテッド 複数のインターフェースによるメモリ空間へのコンカレントアクセス

Also Published As

Publication number Publication date
CN101449262A (zh) 2009-06-03
US20070234021A1 (en) 2007-10-04
EP2008164A2 (en) 2008-12-31
CN101449334B (zh) 2012-04-25
KR101323400B1 (ko) 2013-10-29
JP5197571B2 (ja) 2013-05-15
CN101438242B (zh) 2013-09-18
US20070245094A1 (en) 2007-10-18
JP2009532815A (ja) 2009-09-10
EP2008281A2 (en) 2008-12-31
KR101341286B1 (ko) 2013-12-12
US7639561B2 (en) 2009-12-29
TWI386846B (zh) 2013-02-21
KR20090007378A (ko) 2009-01-16
CN101449334A (zh) 2009-06-03
JP5188493B2 (ja) 2013-04-24
EP2008281B1 (en) 2012-01-25
WO2007115226A2 (en) 2007-10-11
TWI353124B (en) 2011-11-21
WO2007115227A3 (en) 2007-11-29
WO2007115226A3 (en) 2008-10-30
TW200818734A (en) 2008-04-16
TW200802403A (en) 2008-01-01
CN101449262B (zh) 2012-07-04
CN101438242A (zh) 2009-05-20
TWI340982B (en) 2011-04-21
US7949863B2 (en) 2011-05-24
KR20080104388A (ko) 2008-12-02
WO2007115227A2 (en) 2007-10-11
TW200802082A (en) 2008-01-01

Similar Documents

Publication Publication Date Title
JP5197571B2 (ja) マルチポート・メモリ・デバイスにおけるインターポート通信
US6078970A (en) System for determining adapter interrupt status where interrupt is sent to host after operating status stored in register is shadowed to host memory
JP3790713B2 (ja) 共用バス上の装置に対するトランザクションの選択的宛先設定
KR970012145A (ko) 데이타 프로세서와 그 작동 방법, 그 디버깅 작동 실행 방법 및 그 중단점 값 수정 방법
KR100847968B1 (ko) 컴퓨팅 시스템, 전자 통신 디바이스, 컴퓨팅 시스템 운영 방법 및 정보 처리 방법
EP2062147B1 (en) Method and apparatus for conditional broadcast of barrier operations
JP4642531B2 (ja) データ要求のアービトレーション
US9047264B2 (en) Low pin count controller
JP6125168B2 (ja) バリアトランザクションのデバッグ
US7689864B2 (en) Processor comprising an integrated debugging interface controlled by the processing unit of the processor
JPS599767A (ja) マルチプロセツサ装置
JP3434771B2 (ja) 下位装置対向試験方式
JP2806700B2 (ja) マルチ・プロセッシング・システム
JP3056169B2 (ja) データ送受信方式とその方法
JPH03228163A (ja) データ転送装置
JPH03220654A (ja) マイクロコンピュータ
JPH04117697A (ja) マルチポートメモリ回路
JPH02190956A (ja) メツセージ・バツフア・システム
JP2000181855A (ja) Dma転送システム
JP2000347898A (ja) ソフトウェア開発支援装置
JPH01248261A (ja) デュアルポートメモリにおけるメモリアクセス制御回路
JPH03238691A (ja) メモリのリフレツシユ方法
KR20020072419A (ko) 고성능 멀티미디어 시스템을 위한 디지탈 신호처리(dsp)모듈
JP2001229143A (ja) マルチプロセッサ・システム
JPH0293971A (ja) メモリアクセス回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121210

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: 20130121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130205

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5197571

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250