JP2006526224A - マルチcpuシステムのメモリアクセス性能を改善する方法及び装置 - Google Patents
マルチcpuシステムのメモリアクセス性能を改善する方法及び装置 Download PDFInfo
- Publication number
- JP2006526224A JP2006526224A JP2006514349A JP2006514349A JP2006526224A JP 2006526224 A JP2006526224 A JP 2006526224A JP 2006514349 A JP2006514349 A JP 2006514349A JP 2006514349 A JP2006514349 A JP 2006514349A JP 2006526224 A JP2006526224 A JP 2006526224A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- bus
- configuration
- bank
- snoop address
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims description 11
- 239000004744 fabric Substances 0.000 claims description 4
- 230000001360 synchronised effect Effects 0.000 claims description 2
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 5
- 230000003213 activating effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
- G06F13/1631—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Abstract
Description
Claims (31)
- バスエージェントの構成に結合した、複数のメモリバンクを有する少なくとも1つのメモリと、
前記複数のメモリバンクのページオープン状態に少なくとも部分的に基づいて、前記メモリのメモリトランザクションを順序付ける前記バスエージェントの少なくとも1つと、を有することを特徴とする装置。 - 請求項1に記載の装置であって、
前記構成は共有バス構成であることを特徴とする装置。 - 請求項1に記載の装置であって、
前記構成は独立バス構成であることを特徴とする装置。 - 請求項1に記載の装置であって、
前記構成はスイッチングファブリック構成であることを特徴とする装置。 - 請求項1に記載の装置であって、
前記構成はポイントツーポイント構成であることを特徴とする装置。 - 請求項1に記載の装置であって、
前記メモリはダイナミックランダムアクセスメモリ(DRAM)であることを特徴とする装置。 - 請求項1に記載の装置であって、
前記複数のメモリバンクの前記ページオープン状態は、前記バスエージェントの構成からの他のメモリトランザクションに基づくことを特徴とする装置。 - 請求項7に記載の装置であって、
各メモリバンクの前記ページオープン状態は前記バスエージェントの少なくとも1つの中の複数のトラッキングレジスタの1つに格納されることを特徴とする装置。 - 請求項8に記載の装置であって、
前記バスエージェントは、プロセッサ、バスブリッジ、メモリコントローラ、入出力デバイス(I/Oデバイス)、またはグラフィックスモジュールのうちいずれかであることを特徴とする装置。 - 請求項7に記載の装置であって、
メモリバンクを決定し、インカミングスヌープアドレスの前記メモリバンクの状態をデコードされたバンクに基づく前記トラッキングレジスタの1つの状態と比較するため、前記他のバスエージェントからインカミングスヌープアドレスを受け取る、前記バスエージェントの各々の中のデコーダによりメモリバンクのページオープン状態が計算されることを特徴とする装置。 - バスエージェントの構成と結合した、複数のメモリバンクを有する少なくとも1つのメモリと、
前記1つのバスエージェント内の複数のトラッキングレジスタの前記他のバスエージェントの1つからのデコードされたインカミングスヌープアドレスとの比較に少なくとも部分的に基づいて、前記メモリの第1と第2のメモリトランザクションを順序付けるかどうか判断する前記バスエージェントの少なくとも1つと、を有することを特徴とする装置。 - 請求項11に記載の装置であって、
前記構成は共有バス構成であることを特徴とする装置。 - 請求項11に記載の装置であって、
前記構成は独立バス構成であることを特徴とする装置。 - 請求項11に記載の装置であって、
前記構成はスイッチングファブリック構成であることを特徴とする装置。 - 請求項11に記載の装置であって、
前記構成はポイントツーポイント構成であることを特徴とする装置。 - 請求項11に記載の装置であって、
前記メモリはダイナミックランダムアクセスメモリ(DRAM)であることを特徴とする装置。 - 請求項11に記載の装置であって、
前記順序付けにより、ページヒット状態を有するメモリバンクへの第2のメモリトランザクションがページミス状態を有するメモリバンクへの第1のメモリトランザクションの前に処理されることを特徴とする装置。 - 請求項17に記載の装置であって、
各メモリバンクのページヒット状態は、前記バスエージェントの少なくとも1つの中の複数のトラッキングレジスタの1つに格納されることを特徴とする装置。 - 請求項18に記載の装置であって、
前記バスエージェントは、プロセッサ、バスブリッジ、メモリコントローラ、入出力デバイス(I/Oデバイス)、またはグラフィックスモジュールのうちいずれかであることを特徴とする装置。 - 請求項17に記載の装置であって、
メモリバンクを決定し、インカミングスヌープアドレスの前記メモリバンクの状態をデコードされたバンクに基づく前記トラッキングレジスタの1つの状態と比較するため、前記他のバスエージェントからインカミングスヌープアドレスを受け取る、前記バスエージェントの各々の中のデコーダによりメモリバンクのページヒット状態が計算されることを特徴とする装置。 - スヌープアドレスを受け取るステップと、
前記スヌープアドレスをデコードしてメモリバンクを決定するステップと、
前記バンクを1つの値と比較するステップと、
前記比較により一致しない場合、前記トラッキングレジスタの1つの前記値を前記スヌープアドレスで更新するステップと、を有することを特徴とする方法。 - 請求項21に記載の方法であって、
前記バンクを前記値と比較するステップは、前記スヌープアドレスのデコードに基づいて複数のレジスタの1つを選択するステップを有することを特徴とする方法。 - 第1と第2のメモリトランザクションを受け取るステップと、
インカミングスヌープアドレスのデコードと前記インカミングスヌープアドレスと1つの値との比較により決定されたメモリバンクのページオープン状態に基づき第1と第2のメモリトランザクションを順序付けるステップと、を有することを特徴とする方法。 - 請求項23に記載の方法であって、
前記第2のメモリトランザクションがオープン状態を有するメモリバンクに対するものであり、前記第1のメモリトランザクションがクローズ状態を有するメモリバンクに対するものであるとき、前記第2のメモリトランザクションを前記第1のメモリトランザクションの前に実行するように順序付けることを特徴とする方法。 - 少なくとも第1と第2のメモリバンクを有するシンクロナスDRAM(SDRAM)またはダブルデータレートDRAM(DDR DRAM)と結合した、複数のバスエージェントの構成と、
前記バスエージェントの1つであるエージェントXは、
第1と第2のメモリバンクへの第1と第2のメモリオペレーションを生成し、
エージェントXへのインカミングスヌープアドレスとエージェントXの複数のレジスタの1つ内に格納された値の間の比較に少なくとも部分的に基づいて、第1のメモリトランザクションの前に第2のメモリトランザクションが処理されるように順序付けすることを特徴とするシステム。 - 請求項25に記載のシステムであって、
前記インカミングスヌープアドレスの値は、前記第1または第2のメモリバンクいずれかのページオープン状態であることを特徴とするシステム。 - 請求項25に記載のシステムであって、
前記複数のレジスタの1つは、前記インカミングスヌープアドレスのデコードされたバージョンにより選択されることを特徴とするシステム。 - 請求項25に記載のシステムであって、
前記構成は共有バス構成であることを特徴とするシステム。 - 請求項25に記載のシステムであって、
前記構成は独立バス構成であることを特徴とするシステム。 - 請求項25に記載のシステムであって、
前記構成はスイッチングファブリック構成であることを特徴とするシステム。 - 請求項25に記載のシステムであって、
前記構成はポイントツーポイント構成であることを特徴とするシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/446,986 US7404047B2 (en) | 2003-05-27 | 2003-05-27 | Method and apparatus to improve multi-CPU system performance for accesses to memory |
PCT/US2004/014807 WO2004107184A2 (en) | 2003-05-27 | 2004-05-12 | A method and apparatus to improve multi-cpu system performance for accesses to memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006526224A true JP2006526224A (ja) | 2006-11-16 |
JP4395511B2 JP4395511B2 (ja) | 2010-01-13 |
Family
ID=33451139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006514349A Expired - Fee Related JP4395511B2 (ja) | 2003-05-27 | 2004-05-12 | マルチcpuシステムのメモリアクセス性能を改善する方法及び装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7404047B2 (ja) |
JP (1) | JP4395511B2 (ja) |
CN (1) | CN100573486C (ja) |
DE (1) | DE112004000694B4 (ja) |
GB (1) | GB2416055B (ja) |
HK (1) | HK1079311A1 (ja) |
WO (1) | WO2004107184A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010009580A (ja) * | 2008-03-31 | 2010-01-14 | Intel Corp | パーティションフリーマルチソケットメモリシステムアーキテクチャ |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7159066B2 (en) * | 2002-08-27 | 2007-01-02 | Intel Corporation | Precharge suggestion |
US6888777B2 (en) * | 2002-08-27 | 2005-05-03 | Intel Corporation | Address decode |
US7120765B2 (en) * | 2002-10-30 | 2006-10-10 | Intel Corporation | Memory transaction ordering |
US7469316B2 (en) * | 2003-02-10 | 2008-12-23 | Intel Corporation | Buffered writes and memory page control |
US7076617B2 (en) * | 2003-09-30 | 2006-07-11 | Intel Corporation | Adaptive page management |
US20070005907A1 (en) * | 2005-06-29 | 2007-01-04 | Intel Corporation | Reduction of snoop accesses |
US7426621B2 (en) * | 2005-12-09 | 2008-09-16 | Advanced Micro Devices, Inc. | Memory access request arbitration |
CN100428209C (zh) * | 2006-12-22 | 2008-10-22 | 清华大学 | 一种自适应的外部存储设备io性能优化方法 |
KR100879463B1 (ko) * | 2007-05-11 | 2009-01-20 | 삼성전자주식회사 | 억세스 권한 이양 시 프리차아지 스킵을 방지하는 동작을갖는 멀티패쓰 억세스블 반도체 메모리 장치 |
US8635381B2 (en) | 2010-08-26 | 2014-01-21 | International Business Machines Corporation | System, method and computer program product for monitoring memory access |
US8930589B2 (en) | 2010-08-26 | 2015-01-06 | International Business Machines Corporation | System, method and computer program product for monitoring memory access |
US8738875B2 (en) * | 2011-11-14 | 2014-05-27 | International Business Machines Corporation | Increasing memory capacity in power-constrained systems |
KR101539878B1 (ko) | 2013-05-02 | 2015-07-27 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 컴퓨터 시스템, pci 익스프레스 엔드포인트 디바이스에 액세스하는 방법 및 장치 |
US9459676B2 (en) | 2013-10-28 | 2016-10-04 | International Business Machines Corporation | Data storage device control with power hazard mode |
CN108664335B (zh) * | 2017-04-01 | 2020-06-30 | 北京忆芯科技有限公司 | 通过代理进行队列通信的方法与装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4937791A (en) * | 1988-06-02 | 1990-06-26 | The California Institute Of Technology | High performance dynamic ram interface |
US5850534A (en) * | 1995-06-05 | 1998-12-15 | Advanced Micro Devices, Inc. | Method and apparatus for reducing cache snooping overhead in a multilevel cache system |
US5822772A (en) * | 1996-03-22 | 1998-10-13 | Industrial Technology Research Institute | Memory controller and method of memory access sequence recordering that eliminates page miss and row miss penalties |
US5923857A (en) * | 1996-09-06 | 1999-07-13 | Intel Corporation | Method and apparatus for ordering writeback data transfers on a bus |
US6088772A (en) * | 1997-06-13 | 2000-07-11 | Intel Corporation | Method and apparatus for improving system performance when reordering commands |
US5983325A (en) * | 1997-12-09 | 1999-11-09 | Advanced Micro Devices, Inc. | Dataless touch to open a memory page |
CA2239426A1 (en) | 1998-06-03 | 1999-12-03 | Newbridge Networks Corporation | Shared memory system |
US6374323B1 (en) * | 1998-11-16 | 2002-04-16 | Infineon Technologies Ag | Computer memory conflict avoidance using page registers |
US6484238B1 (en) * | 1999-12-20 | 2002-11-19 | Hewlett-Packard Company | Apparatus and method for detecting snoop hits on victim lines issued to a higher level cache |
US7127573B1 (en) * | 2000-05-04 | 2006-10-24 | Advanced Micro Devices, Inc. | Memory controller providing multiple power modes for accessing memory devices by reordering memory transactions |
US6823409B2 (en) * | 2001-09-28 | 2004-11-23 | Hewlett-Packard Development Company, L.P. | Coherency control module for maintaining cache coherency in a multi-processor-bus system |
US6829665B2 (en) * | 2001-09-28 | 2004-12-07 | Hewlett-Packard Development Company, L.P. | Next snoop predictor in a host controller |
US7194561B2 (en) * | 2001-10-12 | 2007-03-20 | Sonics, Inc. | Method and apparatus for scheduling requests to a resource using a configurable threshold |
US7020762B2 (en) * | 2002-12-24 | 2006-03-28 | Intel Corporation | Method and apparatus for determining a dynamic random access memory page management implementation |
-
2003
- 2003-05-27 US US10/446,986 patent/US7404047B2/en not_active Expired - Fee Related
-
2004
- 2004-05-12 DE DE112004000694.5T patent/DE112004000694B4/de not_active Expired - Fee Related
- 2004-05-12 WO PCT/US2004/014807 patent/WO2004107184A2/en active Application Filing
- 2004-05-12 JP JP2006514349A patent/JP4395511B2/ja not_active Expired - Fee Related
- 2004-05-12 GB GB0521374A patent/GB2416055B/en not_active Expired - Fee Related
- 2004-05-12 CN CNB2004800144924A patent/CN100573486C/zh not_active Expired - Fee Related
-
2006
- 2006-01-24 HK HK06101054A patent/HK1079311A1/xx not_active IP Right Cessation
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010009580A (ja) * | 2008-03-31 | 2010-01-14 | Intel Corp | パーティションフリーマルチソケットメモリシステムアーキテクチャ |
JP2013178823A (ja) * | 2008-03-31 | 2013-09-09 | Intel Corp | パーティションフリーマルチソケットメモリシステムアーキテクチャ |
US8605099B2 (en) | 2008-03-31 | 2013-12-10 | Intel Corporation | Partition-free multi-socket memory system architecture |
US8754899B2 (en) | 2008-03-31 | 2014-06-17 | Intel Corporation | Partition-free multi-socket memory system architecture |
US9292900B2 (en) | 2008-03-31 | 2016-03-22 | Intel Corporation | Partition-free multi-socket memory system architecture |
Also Published As
Publication number | Publication date |
---|---|
WO2004107184A3 (en) | 2005-01-27 |
GB2416055B (en) | 2007-03-21 |
US20040243768A1 (en) | 2004-12-02 |
HK1079311A1 (en) | 2006-03-31 |
CN100573486C (zh) | 2009-12-23 |
WO2004107184A2 (en) | 2004-12-09 |
DE112004000694B4 (de) | 2018-04-12 |
JP4395511B2 (ja) | 2010-01-13 |
GB0521374D0 (en) | 2005-11-30 |
GB2416055A (en) | 2006-01-11 |
US7404047B2 (en) | 2008-07-22 |
DE112004000694T5 (de) | 2007-07-26 |
CN1795441A (zh) | 2006-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7236421B1 (en) | Read-modify-write memory using read-or-write banks | |
JP4395511B2 (ja) | マルチcpuシステムのメモリアクセス性能を改善する方法及び装置 | |
US5835932A (en) | Methods and systems for maintaining data locality in a multiple memory bank system having DRAM with integral SRAM | |
JP3304413B2 (ja) | 半導体記憶装置 | |
US20080256305A1 (en) | Multipath accessible semiconductor memory device | |
JP4304172B2 (ja) | 集積回路装置 | |
JP2001516118A (ja) | 短待ち時間dramセルおよびその方法 | |
US20220076717A1 (en) | Memory system for performing data operations within memory device and method of operating the same | |
US8358152B2 (en) | Integrated circuit including pulse control logic having shared gating control | |
EP3570286B1 (en) | Apparatus for simultaneous read and precharge of a memory | |
US6256256B1 (en) | Dual port random access memories and systems using the same | |
US20090182977A1 (en) | Cascaded memory arrangement | |
Davis | Modern DRAM architectures | |
CN101165662A (zh) | 实现存储器访问的方法和装置 | |
US7328311B2 (en) | Memory controller controlling cashed DRAM | |
JPH04102948A (ja) | データ処理システム及び方法 | |
US8032695B2 (en) | Multi-path accessible semiconductor memory device with prevention of pre-charge skip | |
US5963468A (en) | Low latency memories and systems using the same | |
US5434990A (en) | Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch | |
KR100831491B1 (ko) | 어드레스 디코드 | |
US6002632A (en) | Circuits, systems, and methods with a memory interface for augmenting precharge control | |
US6785190B1 (en) | Method for opening pages of memory with a single command | |
JP3187465B2 (ja) | コンピューターメモリオープンページバイアス法とその装置 | |
US20040236921A1 (en) | Method to improve bandwidth on a cache data bus | |
US20090182938A1 (en) | Content addressable memory augmented memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080903 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090609 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090907 |
|
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: 20090929 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091019 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121023 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131023 Year of fee payment: 4 |
|
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 |
|
LAPS | Cancellation because of no payment of annual fees |