JP4866646B2 - メモリーに送るコマンドの選択方法、メモリーコントローラー、コンピュータシステム - Google Patents
メモリーに送るコマンドの選択方法、メモリーコントローラー、コンピュータシステム Download PDFInfo
- Publication number
- JP4866646B2 JP4866646B2 JP2006117455A JP2006117455A JP4866646B2 JP 4866646 B2 JP4866646 B2 JP 4866646B2 JP 2006117455 A JP2006117455 A JP 2006117455A JP 2006117455 A JP2006117455 A JP 2006117455A JP 4866646 B2 JP4866646 B2 JP 4866646B2
- Authority
- JP
- Japan
- Prior art keywords
- queue
- commands
- memory
- conflict
- write
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 126
- 238000000034 method Methods 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 9
- 238000004891 communication Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- 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/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
Description
(1)例えばCD−ROM、DVD−R、又はDVD+Rなどコンピュータシステムに接続するもしくは内蔵される読取専用メモリーデバイスなど、書き換えできない記憶媒体に永久に記憶される情報、
(2)例えばハードディスクドライブ(例、DASD 125、126、又は127)、CD−RW、DVD−RW、DVD+RW、DVD−RAM、又はフレキシブルディスクなど書き換え可能な記憶媒体に記憶される書き直し可能な情報、又は
(3)例えばネットワーク130などコンピュータまたは電話網を経由するなど、無線通信を含めた通信媒体により伝送される情報
このような信号担持媒体は、本発明の機能を指図する機械読取可能な命令を載せるとき、本発明の実施例を表す。
Claims (20)
- 書き込みキューにあるコマンドの数が第1閾値より大きいかどうかを判別する工程と、
判別が真なら、コンフリクトキューにあるすべてのコマンドが第2閾値のサイクル数よりも短い間コンフリクトキューに存在していたかどうかを決定する工程と、
決定が真なら、コンフリクトキューにあるコマンドのいずれとも衝突しない書き込みキューにある最も古いコマンドを選択する工程と、
を含む方法。 - さらに、
コンフリクトキューにあるコマンドのいずれとも衝突しない最も古いコマンドを書き込みキューからメモリーに送る工程を含む、請求項1に記載の方法。 - さらに、
コンフリクトキューにあるコマンドのいずれとも衝突しない最も古いコマンドをコンフリクトキューに追加する工程を含む、請求項2に記載の方法。 - 選択する工程がさらに、
書き込みキューにある最も古いコマンドがコンフリクトキューにあるコマンドのいずれかと同じメモリーのキャッシュラインにアクセスするかどうかを判別する工程を含む、請求項1に記載の方法。 - コンフリクトキューが以前にメモリーに送られたコマンドを含む、請求項1に記載の方法。
- 判別する工程がさらに、
読み出しキューにあるすべてのコマンドがコンフリクトキューと衝突するかどうかを判別する工程を含む、請求項1に記載の方法。 - 判別する工程がさらに、
プロセッサから入ってくる読み出しコマンドが書き込みキューと衝突するかどうかを判別する工程を含む、請求項1に記載の方法。 - 書き込みキューと、
書き込みキューにあるコマンドの数が第1閾値より大きく、かつコンフリクトキューにあるすべてのコマンドが第2閾値のサイクル数よりも短い間コンフリクトキューに存在していた場合、コンフリクトキューにあるコマンドのいずれとも衝突しない書き込みキューにある最も古いコマンドをメモリーに送るコンフリクトキューと、
を具備するメモリーコントローラー。 - コンフリクトキューが最も古いコマンドをメモリーに送る場合、最も古いコマンドをコンフリクトキューに追加する、請求項8のメモリーコントローラー。
- コンフリクトキューがさらに、コンフリクトキューにあるコマンドのいずれとも衝突しない書き込みキューにある最も古いコマンドが、コンフリクトキューにあるコマンドのいずれとも同じメモリー内のキャッシュラインにアクセスしないことを判定する、請求項8のメモリーコントローラー。
- コンフリクトキューが以前にメモリーに送られたコマンドを含む、請求項8のメモリーコントローラー。
- コンフリクトキューがさらに、読み出しキューにあるすべてのコマンドがコンフリクトキューと衝突するかどうかに基づいて、コンフリクトキューにあるコマンドのいずれとも衝突しない書き込みキューにある最も古いコマンドをメモリーに送る、請求項8のメモリーコントローラー。
- コンフリクトキューが、プロセッサから入ってくる読み出しコマンドが書き込みキューと衝突しないかどうかに基づいて、コンフリクトキューにあるコマンドのいずれとも衝突しない書き込みキューにある最も古いコマンドをメモリーに送る、請求項8のメモリーコントローラー。
- プロセッサと、
メモリーと、
プロセッサからコマンドを受信するメモリーコントローラーとを具備し、メモリーコントローラーが、
書き込みキューと、
書き込みキューにあるコマンドの数が第1閾値より大きく、かつコンフリクトキューにあるすべてのコマンドが第2閾値のサイクル数よりも短い間コンフリクトキューに存在していた場合、コンフリクトキューにあるコマンドのいずれにも衝突しない書き込みキューにある最も古いコマンドをメモリーに送るコンフリクトキューとを具備する、コンピュータシステム。 - コンフリクトキューが最も古いコマンドをメモリーに送る場合、最も古いコマンドをコンフリクトキューに追加する、請求項14のコンピュータシステム。
- コンフリクトキューがさらに、コンフリクトキューにあるコマンドのいずれとも衝突しない書き込みキューにある最も古いコマンドがコンフリクトキューにあるコマンドのいずれとも同じメモリーのキャッシュラインにアクセスしないことを判定する、請求項14のコンピュータシステム。
- コンフリクトキューが、メモリーコントローラーが以前にメモリーに送ったコマンドを含む、請求項14のコンピュータシステム。
- コンフリクトキューがさらに、読み出しキューがコンフリクトキューと衝突するかどうかに基づいて、コンフリクトキューにあるコマンドのいずれとも衝突しない書き込みキューにある最も古いコマンドをメモリーに送る、請求項14のコンピュータシステム。
- コンフリクトキューが、プロセッサから入ってくる読み出しコマンドが書き込みキューと衝突しないかどうかに基づいて、コンフリクトキューにあるコマンドのいずれとも衝突しない書き込みキューにある最も古いコマンドをメモリーに送る、請求項14のコンピュータシステム。
- メモリーコントローラーがさらに第1レジスタと第2レジスタを具備し、メモリーコントローラーがさらに第1閾値を第1レジスタに記憶し、第2閾値を第2レジスタに記憶する、請求項14のコンピュータシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/116,626 | 2005-04-28 | ||
US11/116,626 US8082396B2 (en) | 2005-04-28 | 2005-04-28 | Selecting a command to send to memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006309757A JP2006309757A (ja) | 2006-11-09 |
JP4866646B2 true JP4866646B2 (ja) | 2012-02-01 |
Family
ID=37195225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006117455A Expired - Fee Related JP4866646B2 (ja) | 2005-04-28 | 2006-04-21 | メモリーに送るコマンドの選択方法、メモリーコントローラー、コンピュータシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US8082396B2 (ja) |
JP (1) | JP4866646B2 (ja) |
CN (1) | CN100440124C (ja) |
TW (1) | TWI377472B (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4847036B2 (ja) * | 2005-03-30 | 2011-12-28 | キヤノン株式会社 | バスアクセスを調停する制御装置およびデータ処理装置の制御方法 |
US7873953B1 (en) * | 2006-01-20 | 2011-01-18 | Altera Corporation | High-level language code sequence optimization for implementing programmable chip designs |
US20090196143A1 (en) * | 2008-02-06 | 2009-08-06 | Nils Haustein | Method and System for Command-Ordering for a Disk-to-Disk-to-Holographic Data Storage System |
US20090196144A1 (en) * | 2008-02-06 | 2009-08-06 | Nils Haustein | Method and System for Command-Ordering and Command-Execution Within a Command Group for a Disk-to-Disk-to-Holographic Data Storage System |
CN101459627B (zh) * | 2008-04-07 | 2012-09-05 | 中兴通讯股份有限公司 | 消息管理方法 |
CN101694610B (zh) * | 2009-10-16 | 2011-11-09 | 成都市华为赛门铁克科技有限公司 | 命令处理方法、装置和存储设备 |
US8866826B2 (en) * | 2011-02-10 | 2014-10-21 | Qualcomm Innovation Center, Inc. | Method and apparatus for dispatching graphics operations to multiple processing resources |
CN102929562B (zh) * | 2012-10-09 | 2015-05-06 | 无锡江南计算技术研究所 | 基于识别标识的可扩展重排序方法 |
US9361103B2 (en) * | 2012-11-02 | 2016-06-07 | Advanced Micro Devices, Inc. | Store replay policy |
US9021228B2 (en) | 2013-02-01 | 2015-04-28 | International Business Machines Corporation | Managing out-of-order memory command execution from multiple queues while maintaining data coherency |
US10310923B1 (en) | 2014-08-28 | 2019-06-04 | Seagate Technology Llc | Probabilistic aging command sorting |
PL3246222T3 (pl) * | 2015-01-13 | 2023-05-15 | Mitsubishi Electric Corporation | Urządzenie do klimatyzacji pojazdu |
US10509569B2 (en) | 2017-03-24 | 2019-12-17 | Western Digital Technologies, Inc. | System and method for adaptive command fetch aggregation |
US10831403B2 (en) | 2017-05-19 | 2020-11-10 | Seagate Technology Llc | Probabalistic command aging and selection |
CN110347329A (zh) * | 2018-04-02 | 2019-10-18 | 深信服科技股份有限公司 | I/o数据读写并发冲突的处理方法、系统及相关装置 |
US11099778B2 (en) * | 2018-08-08 | 2021-08-24 | Micron Technology, Inc. | Controller command scheduling in a memory system to increase command bus utilization |
CN112840309B (zh) * | 2018-10-15 | 2023-08-22 | 华为技术有限公司 | 命令调度方法、装置及存储介质 |
US11048437B2 (en) * | 2019-02-28 | 2021-06-29 | Micron Technology, Inc. | Double threshold controlled scheduling of memory access commands |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5027270A (en) * | 1988-10-11 | 1991-06-25 | Mips Computer Systems, Inc. | Processor controlled interface with instruction streaming |
US5835945A (en) * | 1990-08-06 | 1998-11-10 | Ncr Corporation | Memory system with write buffer, prefetch and internal caches |
JP2695558B2 (ja) | 1992-01-08 | 1997-12-24 | 富士通株式会社 | 主記憶制御装置のメモリアクセス制御方式 |
US5933860A (en) * | 1995-02-10 | 1999-08-03 | Digital Equipment Corporation | Multiprobe instruction cache with instruction-based probe hint generation and training whereby the cache bank or way to be accessed next is predicted |
US5638534A (en) * | 1995-03-31 | 1997-06-10 | Samsung Electronics Co., Ltd. | Memory controller which executes read and write commands out of order |
US5842038A (en) * | 1996-10-10 | 1998-11-24 | Unisys Corporation | Optimized input/output memory access request system and method |
US6453370B1 (en) * | 1998-11-16 | 2002-09-17 | Infineion Technologies Ag | Using of bank tag registers to avoid a background operation collision in memory systems |
US6216178B1 (en) | 1998-11-16 | 2001-04-10 | Infineon Technologies Ag | Methods and apparatus for detecting the collision of data on a data bus in case of out-of-order memory accesses of different times of memory access execution |
US6295586B1 (en) * | 1998-12-04 | 2001-09-25 | Advanced Micro Devices, Inc. | Queue based memory controller |
US6256713B1 (en) * | 1999-04-29 | 2001-07-03 | International Business Machines Corporation | Bus optimization with read/write coherence including ordering responsive to collisions |
US6427196B1 (en) * | 1999-08-31 | 2002-07-30 | Intel Corporation | SRAM controller for parallel processor architecture including address and command queue and arbiter |
US6615319B2 (en) * | 2000-12-29 | 2003-09-02 | Intel Corporation | Distributed mechanism for resolving cache coherence conflicts in a multi-node computer architecture |
US6877077B2 (en) * | 2001-12-07 | 2005-04-05 | Sun Microsystems, Inc. | Memory controller and method using read and write queues and an ordering queue for dispatching read and write memory requests out of order to reduce memory latency |
GB2391337B (en) * | 2002-04-26 | 2005-06-15 | Motorola Inc | Instruction cache and method for reducing memory conflicts |
US7093059B2 (en) * | 2002-12-31 | 2006-08-15 | Intel Corporation | Read-write switching method for a memory controller |
US7107415B2 (en) * | 2003-06-20 | 2006-09-12 | Micron Technology, Inc. | Posted write buffers and methods of posting write requests in memory modules |
US7237043B2 (en) * | 2003-11-21 | 2007-06-26 | Lsi Corporation | System for improving PCI write performance |
-
2005
- 2005-04-28 US US11/116,626 patent/US8082396B2/en not_active Expired - Fee Related
-
2006
- 2006-02-23 CN CNB2006100577207A patent/CN100440124C/zh not_active Expired - Fee Related
- 2006-04-13 TW TW095113195A patent/TWI377472B/zh not_active IP Right Cessation
- 2006-04-21 JP JP2006117455A patent/JP4866646B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006309757A (ja) | 2006-11-09 |
US8082396B2 (en) | 2011-12-20 |
CN1855026A (zh) | 2006-11-01 |
TW200643725A (en) | 2006-12-16 |
US20060248275A1 (en) | 2006-11-02 |
TWI377472B (en) | 2012-11-21 |
CN100440124C (zh) | 2008-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4866646B2 (ja) | メモリーに送るコマンドの選択方法、メモリーコントローラー、コンピュータシステム | |
US7536530B2 (en) | Method and apparatus for determining a dynamic random access memory page management implementation | |
JP4677630B2 (ja) | 内部キャッシュおよび/またはメモリアクセス予測を持つメモリハブ | |
US8862973B2 (en) | Method and system for error management in a memory device | |
KR100860956B1 (ko) | 메모리 시퀀싱 힌트들을 제공하기 위한 메모리 허브 및방법 | |
US6026464A (en) | Memory control system and method utilizing distributed memory controllers for multibank memory | |
JP6130594B2 (ja) | 信頼性の高い動作に適したメモリコントローラを有するデータプロセッサ及び方法 | |
US20160132237A1 (en) | Data storage device, data processing system and method of operation | |
US20100077140A1 (en) | Scalable schedulers for memory controllers | |
US10296356B2 (en) | Implementation of reset functions in an SoC virtualized device | |
JP2010537310A (ja) | 投機的なプリチャージの検出 | |
CN116324744A (zh) | 具有多个命令子队列和对应的仲裁器的存储器控制器 | |
KR102478527B1 (ko) | 이기종 메모리 시스템용 시그널링 | |
US11561862B2 (en) | Refresh management for DRAM | |
KR20200060248A (ko) | 정적 랜덤 액세스 메모리를 액세스하는 방법, 장치, 기기 및 저장 매체 | |
CN116250041A (zh) | 用于dram的刷新管理列表 | |
JP2023508117A (ja) | 不揮発性メモリモジュールのエラー報告 | |
US20040243768A1 (en) | Method and apparatus to improve multi-CPU system performance for accesses to memory | |
US7409516B2 (en) | Pending request scoreboard for out-of-order memory scheduler | |
EP4375840A1 (en) | Memory controller, electronic system including the same and method of controlling memory access | |
US6510471B1 (en) | Method for choosing device among plurality of devices based on coherncy status of device's data and if device supports higher-performance transactions | |
US20240112722A1 (en) | Directed refresh management for dram | |
US20230178136A1 (en) | Memory device detecting weakness of operation pattern and method of operating the same | |
KR20230082529A (ko) | 리프레쉬 동작에서 파워 노이즈를 감소시킨 메모리 장치 및 그 동작방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111027 |
|
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: 20111101 |
|
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: 20111114 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141118 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |