JP5272274B2 - メモリアクセスの順序を変更するシステム、装置、および方法 - Google Patents
メモリアクセスの順序を変更するシステム、装置、および方法 Download PDFInfo
- Publication number
- JP5272274B2 JP5272274B2 JP2010534146A JP2010534146A JP5272274B2 JP 5272274 B2 JP5272274 B2 JP 5272274B2 JP 2010534146 A JP2010534146 A JP 2010534146A JP 2010534146 A JP2010534146 A JP 2010534146A JP 5272274 B2 JP5272274 B2 JP 5272274B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- request
- requests
- bank
- word
- 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.)
- Active
Links
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
- 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/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- 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, look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
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)
Description
本出願は、2007年11月15日に出願された、“メモリアクセスの順番を変更するシステム、装置、および方法”に関する米国特許出願シリアル番号11/940,745の出願日の利益を主張する。
本発明の実施形態は、メモリアクセス動作を制御するためのシステム、メモリコントローラ、および方法を含み得る。プロセッシングシステムは、複数のメモリデバイスに対するメモリリクエストを実行する1つ以上のリクエスタを含み得る。メモリデバイスの各々は、少なくとも一つのメモリバンクを含む。メモリコントローラは、リクエストキュー、バンクデコーダ、および複数のバンクキューを含む。リクエストキューは、リクエスタからメモリリクエストを受け取り、バンクデコーダは、メモリリクエストに添えられているメモリアドレスに基づいて宛先バンクを決定する。リクエストは次に、適切なバンクキュー中に置かれる。
Claims (21)
- 複数のメモリリクエストの各々のメモリリクエストに対するメモリの宛先バンクを、前記メモリリクエストの各々に対するメモリアドレスに応答して受け取られた順序で決定するためのバンクデコーダ、
複数のバンクキューであって、各バンクキューはそのバンクキューに関連するメモリバンクに対するペンディングメモリリクエストを記憶し、前記受け取られた順序を追跡する複数のバンクキュー、
同一のバンクキュー中の、および同一のメモリページに対する少なくとも2つのメモリリクエストの存在に応答して、前記受け取られた順序とは異なるメモリサイクル順序を決定するための順序付けユニット、および
前記メモリサイクル順序で各メモリリクエストを実行し、複数の前記メモリバンク内の個々の前記メモリページを、そのメモリページに対するメモリアクセスの完了時に、もし前記メモリアクセスが前記受け取られた順序で実行されるならば、クローズし、もし連続的なメモリアクセスが前記メモリサイクル順序で実行されるならば、前記連続的なメモリアクセス間に、前記同一のメモリページをオープンに保つためのメモリインターフェイス、
を含むことを特徴とするメモリコントローラ。 - さらに、前記メモリのデータ幅に対応するデータ幅で少なくとも1つのリクエストされたメモリワードを保持するためのデータバッファと、
読み出し・変更・書き込み(RMW)ユニットであって、
前記リクエストされたメモリワードの一部分に対するRMWリクエストを検知すること、
もし前記リクエストされたメモリワードが前記データバッファに存在しなければ、それを前記メモリから読み出すこと、およびそれを前記データバッファに記憶すること、
前記データバッファ中の前記リクエストされたメモリワードの前記一部分を前記RMWリクエストからのデータを用いて変更すること、
のためのRMWユニットを含むことを特徴とする請求項1のメモリコントローラ。 - 前記RMWユニットはさらに、前記リクエストされたメモリワードを将来のRMWリクエストのために前記データバッファ中に保持するように構成されている、請求項2のメモリコントローラ。
- 前記順序付けユニットはさらに、同一タイプの少なくとも2つの追加のメモリリクエストが再順序付けして連続して生じるように構成され、同一タイプが読み出しリクエストおよび書き込みリクエストからなる群から選択される、請求項1のコントローラ。
- 前記複数のバンクキューの各バンクキューは、読み出しキューおよび書き込みキューを含む、請求項1のメモリコントローラ。
- さらに、
前記メモリからの、リクエストされたデータを、前記リクエストされたデータが前記少なくとも1つのリクエスタに戻されるまで保持するためのデータバッファを含むことを特徴とする、請求項1のメモリコントローラ。 - さらに、
前記メモリリクエストを行うための少なくとも1つのリクエスタ、
を含み、
前記メモリは、複数のメモリデバイスを含み、前記複数のメモリデバイスの各々は、少なくとも1つのメモリバンクを含むことを特徴とする請求項1乃至6の一つのメモリコントローラ。 - メモリアクセス動作を制御する方法であって、
複数のメモリバンクに宛てられた複数のメモリリクエストを受け取ったシーケンスで受け取ること、
前記複数のメモリバンクの宛先バンクを、前記複数のメモリリクエストの各々に対して決定すること、
時間的に近いが、連続的ではない、前記受け取られたシーケンスで実行されていないメモリリクエストの中の同一タイプの少なくとも2つの実行されていないメモリリクエストを、前記複数のメモリリクエストの1つのリクエストを前記複数のメモリリクエストの少なくとも一の別のリクエストと比較することによって、検知することであって、前記同一タイプは読み出しリクエストおよび書き込みリクエストからなる群から選択されるものであり、
前記検知結果に基づいて前記リクエストのシーケンスを再順序付けすること、
前記同一タイプの前記少なくとも2つのメモリリクエストを、連続的に実行すること、
前記再順序付けされた順序で前記少なくとも2つの追加のメモリリクエストを実行すること、
前記複数のメモリバンク内の各メモリページを、そのメモリページに対するメモリアクセスの完了時に、もし前記メモリアクセスが前記受け取られたシーケンスで実行されるならば、クローズすること、および
前記メモリリクエストの前記再順序付けされたシーケンスで、連続的なメモリアクセス間に、前記同一のメモリページをオープンに保つこと、
を含むことを特徴とする方法。 - さらに、
メモリワードの一部分に対する読み出し・変更・書き込み動作を検知することであって、前記メモリワードは前記複数のメモリバンクのデータ幅に対応するデータ幅を含み、
前記メモリワードがメモリコントローラ中に存在するかどうかを決定すること、
前記メモリワードを、もしそれが前記メモリコントローラ中に存在しないならば、メモリから前記メモリコントローラに読み出すこと、
前記メモリワードの前記一部分を、前記読み出し・変更・書き込み動作を開始したリクエスタに通信すること、
前記読み出し・変更・書き込み動作からの前記メモリワードの前記一部分を用いて前記メモリコントローラ中の前記メモリワードを変更すること、
を含むことを特徴とする請求項8の方法。 - 前記データ幅は、メモリバス幅およびメモリバーストサイクルデータ幅からなる群から選択される、請求項9の方法。
- さらに、
時間的に近い、前記受け取られたシーケンスで実行されていないリクエストの中で、同一のメモリページ向けの少なくとも2つの追加のメモリリクエストを検知すること、および
前記同一のメモリページ向けの少なくとも2つの追加のメモリリクエストを検知することの結果に基づいて、リクエストの前記シーケンスを再順序付けすること、
を含むことを特徴とする請求項8の方法。 - さらに、
ペンディングメモリリクエストの経過時間を監視すること、
前記ペンディングメモリリクエストの優先度を、それが実行されるのを待つにつれて上昇させること、
新しいメモリリクエストが、高い優先度を有する前記ペンディングメモリリクエストの前に生じるように再順序付けされることを避けること、
を含むことを特徴とする請求項8の方法。 - さらに、
前記複数の前記メモリバンク中の各メモリバンクの使用中状態を監視すること、および
使用中状態を示していないメモリバンクに対する次のメモリリクエストを実行すること、
を含むことを特徴とする請求項8の方法。 - さらに、
前記書き込みリクエストに対して前記読み出しリクエストにより高い優先度を付与すること、および、前記読み出しリクエストおよびあらゆるペンディング書き込みリクエストの間でアドレスコンフリクトがないときに、前記読み出しリクエストを、前記書き込みリクエストに先立って実行すること、
を含むことを特徴とする請求項8の方法。 - 少なくとも1つのリクエスタから受け取られた順序でメモリリクエストを受け取るためのリクエストキュー、
メモリリクエストの各々に対するメモリアドレスに応答してリクエストキュー中の各メモリリクエストに対するメモリの宛先バンクを決定するためのバンクデコーダ、
複数のバンクキューであって、前記複数のバンクキューに関連するメモリバンクに対するペンディングメモリリクエストを記憶し、前記受け取られた順序を追跡するための複数のバンクキュー、
前記メモリのデータ幅に対応するデータ幅で少なくとも1つのデータワードを保持するためのデータバッファ、
読み出し・変更・書き込み(RMW)ユニットであって、リクエストされたメモリワードの一部分に対するRMWリクエストを検知し、前記リクエストされたメモリワードが前記データバッファ中に存在するかどうかを決定するためのRMWユニット、および
もし前記リクエストされたメモリワードが前記データバッファに存在しないならば、前記リクエストされたメモリワードを検索するために、前記複数のバンクキューの1つの中に記憶されている前記RMWリクエストに応答して、前記メモリへの読み出しリクエストを実行するためのメモリインターフェイス、
時間的に近い実行されていないリクエストの中のメモリサイクル順序を、同一のバンクキュー中の、且つ同一のメモリページに対する少なくとも2つのメモリリクエストの存在に応答して決定するように構成された順序付けユニット、
を含み、
前記メモリインターフェイスはさらに、
前記メモリサイクル順序で各メモリリクエストを実行し、
各メモリページを、そのメモリページへのメモリアクセスの終了時に、もし前記メモリアクセスが前記受け取られたシーケンスで実行されたならば、クローズし、および
前記再整理されたリクエストのシーケンスの間で、前記同一のメモリページをオープンにしておくように構成され、
前記RMWユニットは、変更される前に前記リクエストされたメモリワードの前記一部分の前記少なくとも1つのリクエスタへの戻りを制御し、前記RMWリクエストからのデータを用いて前記データバッファ中の前記リクエストされたメモリワードの前記一部を変更することを特徴とするメモリコントローラ。 - 前記RMWユニットはさらに、将来のRMWリクエストのために前記データバッファ中に前記リクエストされたメモリワードを保持し、前記データバッファ中の前記メモリワードを変更した後に、前記メモリワードを前記メモリに書き込むように構成される、請求項15のメモリコントローラ。
- さらに、
少なくとも2つの追加の前記同一タイプのメモリリクエストを再順序付けし、連続的に生じるように構成された順序付けユニットを含み、
前記同一タイプは、読み出しリクエストおよび書き込みリクエストからなる群から選択され、
前記メモリインターフェイスはさらに、前記追加のメモリサイクルによって変更された前記メモリサイクル順序で各メモリリクエストを実行するように構成される、請求項15のメモリコントローラ。 - メモリアクセス動作を制御するための方法であって、
受け取られたシーケンスで複数のメモリリクエストを受け取ること、
前記複数のメモリリクエストの各々に対する複数のメモリバンクの宛先バンクを決定すること、
前記受け取られたシーケンスで時間的に近い実行されていないリクエストの中で同一メモリページへの前記複数のメモリリクエストの少なくとも2つのメモリリクエストを、前記複数のメモリリクエストの一つのリクエストを前記複数のメモリリクエストの少なくとも一の別のリクエストと比較することによって検知すること、
検知結果にしたがって前記受け取られたシーケンスを再順序付けすること、
前記再整理された順序で前記少なくとも2つのメモリリクエストを実行すること、
各メモリページを、そのメモリページへのメモリアクセスの終了時に、もし前記メモリアクセスが前記受け取られた順序で実行されたならば、クローズすること、および
前記再整理されたリクエストのシーケンスの間で前記同一のメモリページをオープンにしておくこと、
を含むことを特徴とする方法。 - さらに、
前記受け取られたシーケンスにおいて、時間的に近いが、連続的ではない、実行されていないリクエストの中に、少なくとも2つの追加の同一タイプの実行されていないリクエストを検知することであって、前記同一タイプは、読み出しリクエストおよび書き込みリクエストからなる群から選択されるという、検知すること、及び、
前記リクエストのシーケンスを、少なくとも2つの追加の前記同一タイプの実行されていないリクエストを検知することの結果に基づいて再整理すること、
を含むことを特徴とする請求項18の方法。 - さらに、
メモリワードの一部分への読み出し・変更・書き込み動作を検知することであって、前記メモリワードは、前記複数のメモリバンクのデータ幅に対応するデータ幅を含むものであることと、
メモリコントローラ中に前記メモリワードが存在するかどうかを決定すること、
もし前記メモリワードが前記メモリコントローラに存在しないならば、メモリから前記メモリコントローラに前記メモリワードを読み出すこと、
前記読み出し・変更・書き込み動作が開始されたリクエストに前記メモリワードの前記一部分を通信すること、および
前記読み出し・変更・書き込み動作からの前記メモリワードの前記一部分を用いて、前記メモリコントローラ中の前記メモリワードを変更すること、
を含むことを特徴とする請求項18の方法。 - 前記データ幅は、メモリバス幅およびメモリバーストサイクルデータ幅からなる群から選択される請求項18の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/940,745 US7870351B2 (en) | 2007-11-15 | 2007-11-15 | System, apparatus, and method for modifying the order of memory accesses |
US11/940,745 | 2007-11-15 | ||
PCT/US2008/083251 WO2009064793A1 (en) | 2007-11-15 | 2008-11-12 | System, apparatus, and method for modifying the order of memory accesses |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011505032A JP2011505032A (ja) | 2011-02-17 |
JP5272274B2 true JP5272274B2 (ja) | 2013-08-28 |
Family
ID=40639099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010534146A Active JP5272274B2 (ja) | 2007-11-15 | 2008-11-12 | メモリアクセスの順序を変更するシステム、装置、および方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US7870351B2 (ja) |
EP (1) | EP2223217B1 (ja) |
JP (1) | JP5272274B2 (ja) |
KR (1) | KR101154708B1 (ja) |
CN (1) | CN101861571B (ja) |
TW (2) | TWI419158B (ja) |
WO (1) | WO2009064793A1 (ja) |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870351B2 (en) * | 2007-11-15 | 2011-01-11 | Micron Technology, Inc. | System, apparatus, and method for modifying the order of memory accesses |
US8046559B2 (en) * | 2008-03-27 | 2011-10-25 | Intel Corporation | Memory rank burst scheduling |
US8605099B2 (en) | 2008-03-31 | 2013-12-10 | Intel Corporation | Partition-free multi-socket memory system architecture |
JP2009289307A (ja) * | 2008-05-28 | 2009-12-10 | Toshiba Corp | 半導体記憶装置 |
US8516189B2 (en) * | 2008-09-16 | 2013-08-20 | Lsi Corporation | Software technique for improving disk write performance on raid system where write sizes are not an integral multiple of number of data disks |
US8442059B1 (en) | 2008-09-30 | 2013-05-14 | Gridiron Systems, Inc. | Storage proxy with virtual ports configuration |
US8838850B2 (en) * | 2008-11-17 | 2014-09-16 | Violin Memory, Inc. | Cluster control protocol |
US8417895B1 (en) | 2008-09-30 | 2013-04-09 | Violin Memory Inc. | System for maintaining coherency during offline changes to storage media |
US8160070B2 (en) * | 2008-09-30 | 2012-04-17 | Gridiron Systems, Inc. | Fibre channel proxy |
US8788758B1 (en) | 2008-11-04 | 2014-07-22 | Violin Memory Inc | Least profitability used caching scheme |
US8775741B1 (en) | 2009-01-13 | 2014-07-08 | Violin Memory Inc. | Using temporal access patterns for determining prefetch suitability |
US8214599B2 (en) * | 2008-11-04 | 2012-07-03 | Gridiron Systems, Inc. | Storage device prefetch system using directed graph clusters |
US8214608B2 (en) * | 2008-11-04 | 2012-07-03 | Gridiron Systems, Inc. | Behavioral monitoring of storage access patterns |
US8443150B1 (en) | 2008-11-04 | 2013-05-14 | Violin Memory Inc. | Efficient reloading of data into cache resource |
KR101014149B1 (ko) * | 2008-11-13 | 2011-02-14 | (주)인디링스 | 메모리 뱅크로의 접근을 제어하는 고체 상태 디스크를 위한컨트롤러 |
US8285961B2 (en) * | 2008-11-13 | 2012-10-09 | Grid Iron Systems, Inc. | Dynamic performance virtualization for disk access |
US8650362B2 (en) | 2009-04-17 | 2014-02-11 | Violin Memory Inc. | System for increasing utilization of storage media |
US8667366B1 (en) | 2009-04-17 | 2014-03-04 | Violin Memory, Inc. | Efficient use of physical address space for data overflow and validation |
US8713252B1 (en) | 2009-05-06 | 2014-04-29 | Violin Memory, Inc. | Transactional consistency scheme |
US9069676B2 (en) | 2009-06-03 | 2015-06-30 | Violin Memory, Inc. | Mapping engine for a storage device |
US8402198B1 (en) | 2009-06-03 | 2013-03-19 | Violin Memory, Inc. | Mapping engine for a storage device |
US8402246B1 (en) | 2009-08-28 | 2013-03-19 | Violin Memory, Inc. | Alignment adjustment in a tiered storage system |
US8560796B2 (en) * | 2010-03-29 | 2013-10-15 | Freescale Semiconductor, Inc. | Scheduling memory access requests using predicted memory timing and state information |
US8572322B2 (en) * | 2010-03-29 | 2013-10-29 | Freescale Semiconductor, Inc. | Asynchronously scheduling memory access requests |
US9965387B1 (en) * | 2010-07-09 | 2018-05-08 | Cypress Semiconductor Corporation | Memory devices having embedded hardware acceleration and corresponding methods |
US8959288B1 (en) | 2010-07-29 | 2015-02-17 | Violin Memory, Inc. | Identifying invalid cache data |
US8832384B1 (en) | 2010-07-29 | 2014-09-09 | Violin Memory, Inc. | Reassembling abstracted memory accesses for prefetching |
JP5625737B2 (ja) * | 2010-10-22 | 2014-11-19 | 富士通株式会社 | 転送装置、転送方法および転送プログラム |
US8972689B1 (en) | 2011-02-02 | 2015-03-03 | Violin Memory, Inc. | Apparatus, method and system for using real-time performance feedback for modeling and improving access to solid state media |
US8635416B1 (en) | 2011-03-02 | 2014-01-21 | Violin Memory Inc. | Apparatus, method and system for using shadow drives for alternative drive commands |
JP2012234363A (ja) | 2011-04-28 | 2012-11-29 | Toshiba Corp | メモリシステム |
US8543758B2 (en) | 2011-05-31 | 2013-09-24 | Micron Technology, Inc. | Apparatus including memory channel control circuit and related methods for relaying commands to logical units |
US10061618B2 (en) * | 2011-06-16 | 2018-08-28 | Imagination Technologies Limited | Scheduling heterogenous computation on multithreaded processors |
US20130019052A1 (en) * | 2011-07-14 | 2013-01-17 | Vinay Ashok Somanache | Effective utilization of flash interface |
US8806112B2 (en) | 2011-07-14 | 2014-08-12 | Lsi Corporation | Meta data handling within a flash media controller |
US9632954B2 (en) | 2011-11-07 | 2017-04-25 | International Business Machines Corporation | Memory queue handling techniques for reducing impact of high-latency memory operations |
US10558592B2 (en) | 2011-11-28 | 2020-02-11 | Pure Storage, Inc. | Priority level adaptation in a dispersed storage network |
US10318445B2 (en) * | 2011-11-28 | 2019-06-11 | International Business Machines Corporation | Priority level adaptation in a dispersed storage network |
US11474958B1 (en) | 2011-11-28 | 2022-10-18 | Pure Storage, Inc. | Generating and queuing system messages with priorities in a storage network |
KR101292309B1 (ko) * | 2011-12-27 | 2013-07-31 | 숭실대학교산학협력단 | 반도체칩 및 메모리 제어방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체 |
US8909874B2 (en) | 2012-02-13 | 2014-12-09 | International Business Machines Corporation | Memory reorder queue biasing preceding high latency operations |
JP6004463B2 (ja) * | 2012-03-01 | 2016-10-05 | Necプラットフォームズ株式会社 | 記憶装置及びその制御方法 |
WO2013154549A1 (en) * | 2012-04-11 | 2013-10-17 | Hewlett-Packard Development Company, L.P. | Prioritized conflict handling in a system |
JP2014013506A (ja) * | 2012-07-04 | 2014-01-23 | Canon Inc | 情報処理装置、制御方法、及びプログラム |
US9569393B2 (en) | 2012-08-10 | 2017-02-14 | Rambus Inc. | Memory module threading with staggered data transfers |
KR101989860B1 (ko) | 2012-12-21 | 2019-06-17 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
TWI489290B (zh) * | 2013-03-29 | 2015-06-21 | Winbond Electronics Corp | 快閃記憶體裝置與資料傳輸方法 |
US10318444B2 (en) * | 2013-04-11 | 2019-06-11 | The Regents Of The University Of California | Collective memory transfer devices and methods for multiple-core processors |
KR20140131781A (ko) * | 2013-05-06 | 2014-11-14 | 삼성전자주식회사 | 메모리 제어 장치 및 방법 |
CN103413569B (zh) * | 2013-07-22 | 2016-03-09 | 华为技术有限公司 | 一读且一写静态随机存储器 |
US9304709B2 (en) | 2013-09-06 | 2016-04-05 | Western Digital Technologies, Inc. | High performance system providing selective merging of dataframe segments in hardware |
CN103532875B (zh) * | 2013-10-12 | 2017-11-03 | 丁贤根 | 一种用于pcie应用层接口的重排序方法 |
US9396109B2 (en) * | 2013-12-27 | 2016-07-19 | Qualcomm Incorporated | Method and apparatus for DRAM spatial coalescing within a single channel |
WO2015183834A1 (en) | 2014-05-27 | 2015-12-03 | Rambus Inc. | Memory module with reduced read/write turnaround overhead |
US9823864B2 (en) * | 2014-06-02 | 2017-11-21 | Micron Technology, Inc. | Systems and methods for throttling packet transmission in a scalable memory system protocol |
US9875185B2 (en) * | 2014-07-09 | 2018-01-23 | Intel Corporation | Memory sequencing with coherent and non-coherent sub-systems |
TWI553483B (zh) * | 2014-10-13 | 2016-10-11 | 瑞昱半導體股份有限公司 | 處理器及存取記憶體的方法 |
US9558796B2 (en) * | 2014-10-28 | 2017-01-31 | Altera Corporation | Systems and methods for maintaining memory access coherency in embedded memory blocks |
KR102359404B1 (ko) * | 2014-11-19 | 2022-02-15 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
GB2533808B (en) * | 2014-12-31 | 2021-08-11 | Advanced Risc Mach Ltd | An apparatus and method for issuing access requests to a memory controller |
CN105988951B (zh) * | 2015-02-12 | 2019-10-15 | 瑞昱半导体股份有限公司 | 存储器控制器及相关的控制方法 |
KR20170060203A (ko) | 2015-11-23 | 2017-06-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
JP6676438B2 (ja) * | 2016-03-30 | 2020-04-08 | 日本碍子株式会社 | 還元剤噴射装置、排ガス処理方法、及び排ガス処理装置 |
US10067706B2 (en) * | 2016-03-31 | 2018-09-04 | Qualcomm Incorporated | Providing memory bandwidth compression using compression indicator (CI) hint directories in a central processing unit (CPU)-based system |
KR102615593B1 (ko) | 2016-05-04 | 2023-12-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10152237B2 (en) | 2016-05-05 | 2018-12-11 | Micron Technology, Inc. | Non-deterministic memory protocol |
WO2017196142A2 (en) * | 2016-05-12 | 2017-11-16 | Lg Electronics Inc. | System and method for optimizing dram bus switching using llc |
KR102643467B1 (ko) | 2016-05-31 | 2024-03-06 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10534540B2 (en) | 2016-06-06 | 2020-01-14 | Micron Technology, Inc. | Memory protocol |
GB2551351B (en) * | 2016-06-14 | 2019-05-08 | Imagination Tech Ltd | Executing memory requests out of order |
KR102530262B1 (ko) | 2016-07-21 | 2023-05-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20180029124A (ko) | 2016-09-09 | 2018-03-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10705972B2 (en) * | 2016-09-13 | 2020-07-07 | Advanced Micro Devices, Inc. | Dynamic adaptation of memory page management policy |
FR3057081B1 (fr) * | 2016-10-05 | 2019-11-08 | Airbus Operations | Processeur comprenant une pluralite de coeurs de calcul |
KR20180063419A (ko) * | 2016-12-01 | 2018-06-12 | 삼성전자주식회사 | 호스트와 양방향 통신을 수행하도록 구성된 스토리지 장치 및 그것의 동작 방법 |
US10241925B2 (en) | 2017-02-15 | 2019-03-26 | Ati Technologies Ulc | Selecting a default page size in a variable page size TLB |
US10282309B2 (en) | 2017-02-24 | 2019-05-07 | Advanced Micro Devices, Inc. | Per-page control of physical address space distribution among memory modules |
US10082975B1 (en) * | 2017-03-02 | 2018-09-25 | Micron Technology, Inc. | Obfuscation-enhanced memory encryption |
US10635613B2 (en) | 2017-04-11 | 2020-04-28 | Micron Technology, Inc. | Transaction identification |
US10365824B2 (en) | 2017-04-24 | 2019-07-30 | Advanced Micro Devices, Inc. | Silent active page migration faults |
US10339068B2 (en) | 2017-04-24 | 2019-07-02 | Advanced Micro Devices, Inc. | Fully virtualized TLBs |
US10620879B2 (en) * | 2017-05-17 | 2020-04-14 | Macronix International Co., Ltd. | Write-while-read access method for a memory device |
US10310985B2 (en) | 2017-06-26 | 2019-06-04 | Ati Technologies Ulc | Systems and methods for accessing and managing a computing system memory |
US10318344B2 (en) | 2017-07-13 | 2019-06-11 | Advanced Micro Devices, Inc. | Predicting page migration granularity for heterogeneous memory systems |
KR20190070092A (ko) * | 2017-12-12 | 2019-06-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US11526278B2 (en) | 2017-12-21 | 2022-12-13 | Advanced Micro Devices, Inc. | Adaptive page close prediction |
US10540316B2 (en) * | 2017-12-28 | 2020-01-21 | Advanced Micro Devices, Inc. | Cancel and replay protocol scheme to improve ordered bandwidth |
CN108388526B (zh) * | 2018-01-19 | 2021-01-05 | 深圳市金玺智控技术有限公司 | 一种读取控制器数据的方法和系统 |
KR102407128B1 (ko) * | 2018-01-29 | 2022-06-10 | 마이크론 테크놀로지, 인크. | 메모리 컨트롤러 |
US11144240B2 (en) * | 2018-08-24 | 2021-10-12 | Micron Technology, Inc. | Memory sub-system for increasing bandwidth for command scheduling |
US10834352B2 (en) * | 2019-01-14 | 2020-11-10 | Omnivision Technologies, Inc. | Configurable interface alignment buffer between DRAM and logic unit for multiple-wafer image sensors |
WO2020157594A1 (en) | 2019-01-31 | 2020-08-06 | International Business Machines Corporation | Handling an input/output store instruction |
TWI773959B (zh) | 2019-01-31 | 2022-08-11 | 美商萬國商業機器公司 | 用於處理輸入輸出儲存指令之資料處理系統、方法及電腦程式產品 |
SG11202104428PA (en) | 2019-01-31 | 2021-05-28 | Ibm | Handling an input/output store instruction |
TWI767175B (zh) * | 2019-01-31 | 2022-06-11 | 美商萬國商業機器公司 | 用於處理輸入輸出儲存指令之資料處理系統、方法及電腦程式產品 |
US10891084B2 (en) * | 2019-03-14 | 2021-01-12 | Arm Limited | Apparatus and method for providing data to a master device |
KR20210063724A (ko) * | 2019-11-25 | 2021-06-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
CN111459414B (zh) * | 2020-04-10 | 2023-06-02 | 上海兆芯集成电路有限公司 | 存储器调度方法及存储器控制器 |
CN113918216A (zh) * | 2020-07-10 | 2022-01-11 | 富泰华工业(深圳)有限公司 | 数据读/写处理方法、装置及计算机可读存储介质 |
KR20220104511A (ko) | 2021-01-18 | 2022-07-26 | 에스케이하이닉스 주식회사 | 컨트롤러 및 이를 포함하는 메모리 시스템 |
US11960744B2 (en) * | 2021-02-01 | 2024-04-16 | Micron Technology, Inc. | Register operation in memory devices |
US11669274B2 (en) * | 2021-03-31 | 2023-06-06 | Advanced Micro Devices, Inc. | Write bank group mask during arbitration |
US11687281B2 (en) | 2021-03-31 | 2023-06-27 | Advanced Micro Devices, Inc. | DRAM command streak efficiency management |
US20240020058A1 (en) * | 2022-07-14 | 2024-01-18 | Xilinx, Inc. | Memory controller with a preprocessor |
US20240036736A1 (en) * | 2022-07-29 | 2024-02-01 | Texas Instruments Incorporated | Memory controller with command reordering |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0823843B2 (ja) * | 1991-10-11 | 1996-03-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | メモリ・コントローラ、及びデータ処理システム |
JPH09282223A (ja) * | 1996-04-12 | 1997-10-31 | Ricoh Co Ltd | メモリ制御装置 |
US7047391B2 (en) * | 1998-09-14 | 2006-05-16 | The Massachusetts Institute Of Technology | System and method for re-ordering memory references for access to memory |
US6748493B1 (en) * | 1998-11-30 | 2004-06-08 | International Business Machines Corporation | Method and apparatus for managing memory operations in a data processing system using a store buffer |
US6510497B1 (en) * | 1998-12-09 | 2003-01-21 | Advanced Micro Devices, Inc. | Method and system for page-state sensitive memory control and access in data processing systems |
US6601151B1 (en) * | 1999-02-08 | 2003-07-29 | Sun Microsystems, Inc. | Apparatus and method for handling memory access requests in a data processing system |
US6628292B1 (en) * | 1999-07-31 | 2003-09-30 | Hewlett-Packard Development Company, Lp. | Creating page coherency and improved bank sequencing in a memory access command stream |
RU2257609C2 (ru) * | 1999-10-21 | 2005-07-27 | Мацусита Электрик Индастриал Ко., Лтд. | Устройство доступа к полупроводниковой карте памяти, компьютерно-считываемый носитель записи, способ инициализации и полупроводниковая карта памяти |
JP3846543B2 (ja) * | 2000-03-13 | 2006-11-15 | 富士ゼロックス株式会社 | メモリアクセスシステム |
JP2001356961A (ja) * | 2000-06-13 | 2001-12-26 | Nec Corp | 調停装置 |
US6622225B1 (en) * | 2000-08-31 | 2003-09-16 | Hewlett-Packard Development Company, L.P. | System for minimizing memory bank conflicts in a computer system |
US6564304B1 (en) * | 2000-09-01 | 2003-05-13 | Ati Technologies Inc. | Memory processing system and method for accessing memory including reordering memory requests to reduce mode switching |
US7093094B2 (en) * | 2001-08-09 | 2006-08-15 | Mobilygen Corporation | Random access memory controller with out of order execution |
US6912612B2 (en) * | 2002-02-25 | 2005-06-28 | Intel Corporation | Shared bypass bus structure |
US7149857B2 (en) * | 2002-05-14 | 2006-12-12 | Micron Technology, Inc. | Out of order DRAM sequencer |
US7320100B2 (en) * | 2003-05-20 | 2008-01-15 | Cray Inc. | Apparatus and method for memory with bit swapping on the fly and testing |
US7107415B2 (en) * | 2003-06-20 | 2006-09-12 | Micron Technology, Inc. | Posted write buffers and methods of posting write requests in memory modules |
US7228387B2 (en) * | 2003-06-30 | 2007-06-05 | Intel Corporation | Apparatus and method for an adaptive multiple line prefetcher |
US7127574B2 (en) * | 2003-10-22 | 2006-10-24 | Intel Corporatioon | Method and apparatus for out of order memory scheduling |
US7213082B2 (en) * | 2004-03-29 | 2007-05-01 | Micron Technology, Inc. | Memory hub and method for providing memory sequencing hints |
US7162567B2 (en) * | 2004-05-14 | 2007-01-09 | Micron Technology, Inc. | Memory hub and method for memory sequencing |
US20060112240A1 (en) * | 2004-11-24 | 2006-05-25 | Walker Robert M | Priority scheme for executing commands in memories |
US7363406B2 (en) * | 2004-12-08 | 2008-04-22 | Motorola, Inc. | Dynamic access scheduling memory controller |
US7209405B2 (en) * | 2005-02-23 | 2007-04-24 | Micron Technology, Inc. | Memory device and method having multiple internal data buses and memory bank interleaving |
US7461214B2 (en) * | 2005-11-15 | 2008-12-02 | Agere Systems Inc. | Method and system for accessing a single port memory |
US7870351B2 (en) * | 2007-11-15 | 2011-01-11 | Micron Technology, Inc. | System, apparatus, and method for modifying the order of memory accesses |
-
2007
- 2007-11-15 US US11/940,745 patent/US7870351B2/en active Active
-
2008
- 2008-11-12 CN CN2008801161111A patent/CN101861571B/zh active Active
- 2008-11-12 WO PCT/US2008/083251 patent/WO2009064793A1/en active Application Filing
- 2008-11-12 EP EP08849678.1A patent/EP2223217B1/en active Active
- 2008-11-12 KR KR1020107012573A patent/KR101154708B1/ko active IP Right Grant
- 2008-11-12 JP JP2010534146A patent/JP5272274B2/ja active Active
- 2008-11-14 TW TW097144279A patent/TWI419158B/zh active
- 2008-11-14 TW TW102137335A patent/TWI512724B/zh active
-
2011
- 2011-01-05 US US12/984,711 patent/US8180974B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TWI419158B (zh) | 2013-12-11 |
US20090150624A1 (en) | 2009-06-11 |
KR20100077051A (ko) | 2010-07-06 |
EP2223217A1 (en) | 2010-09-01 |
EP2223217B1 (en) | 2014-12-17 |
TW200933630A (en) | 2009-08-01 |
JP2011505032A (ja) | 2011-02-17 |
US7870351B2 (en) | 2011-01-11 |
KR101154708B1 (ko) | 2012-06-11 |
EP2223217A4 (en) | 2011-06-08 |
TW201403599A (zh) | 2014-01-16 |
TWI512724B (zh) | 2015-12-11 |
US20110099341A1 (en) | 2011-04-28 |
CN101861571A (zh) | 2010-10-13 |
CN101861571B (zh) | 2013-11-06 |
WO2009064793A1 (en) | 2009-05-22 |
US8180974B2 (en) | 2012-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5272274B2 (ja) | メモリアクセスの順序を変更するシステム、装置、および方法 | |
KR100724557B1 (ko) | 아웃 오브 오더 dram 시퀀서 | |
US7363406B2 (en) | Dynamic access scheduling memory controller | |
US9281046B2 (en) | Data processor with memory controller for high reliability operation and method | |
US20060112255A1 (en) | Method and apparatus for determining a dynamic random access memory page management implementation | |
JP2021506033A (ja) | キャッシュ制御を考慮したメモリコントローラ | |
JPH04102948A (ja) | データ処理システム及び方法 | |
US8452920B1 (en) | System and method for controlling a dynamic random access memory | |
WO2009092037A1 (en) | Content addressable memory augmented memory | |
JP2000259497A (ja) | メモリコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121009 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130108 Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20130108 |
|
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: 20130402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130426 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 5272274 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
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 |