TWI382308B - 供具有記憶體請求緩衝器之一記憶體系統用之緩衝器控制系統及方法 - Google Patents

供具有記憶體請求緩衝器之一記憶體系統用之緩衝器控制系統及方法 Download PDF

Info

Publication number
TWI382308B
TWI382308B TW094102706A TW94102706A TWI382308B TW I382308 B TWI382308 B TW I382308B TW 094102706 A TW094102706 A TW 094102706A TW 94102706 A TW94102706 A TW 94102706A TW I382308 B TWI382308 B TW I382308B
Authority
TW
Taiwan
Prior art keywords
memory
request
read
write
response
Prior art date
Application number
TW094102706A
Other languages
English (en)
Other versions
TW200602861A (en
Inventor
Joseph M Jeddeloh
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of TW200602861A publication Critical patent/TW200602861A/zh
Application granted granted Critical
Publication of TWI382308B publication Critical patent/TWI382308B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

供具有記憶體請求緩衝器之一記憶體系統用之緩衝器控制系統及方法
本發明大體上係關於用於控制一記憶體系統之記憶體控制器,且尤其係關於用於管理具有記憶體請求緩衝器之一記憶體系統之記憶體控制器。
電腦系統使用記憶體裝置(諸如動態隨機存取記憶體("DRAM")裝置)來儲存由一處理器存取之資料。此等記憶體裝置在一電腦系統中通常用作系統記憶體。在一典型電腦系統中,該處理器經由一處理器匯流排及一記憶體控制器與該系統記憶體進行通信。該系統記憶體之該等記憶體裝置通常配置於具有多個記憶體裝置之記憶體模組中,經由一記憶體匯流排耦接至該記憶體控制器。處理器發佈一記憶體請求,其包括一記憶體命令(諸如一讀取命令);及一位址,該位址表示待讀取資料或指令之位置。記憶體控制器使用該命令及位址來產生適當命令信號以及行及列位址,其經由記憶體匯流排而施加至系統記憶體。回應於該等命令及位址,在系統記憶體與處理器之間傳送資料。該記憶體控制器通常係一系統控制器之部分,其亦包括用於將處理器匯流排耦接至一擴充匯流排(諸如一PCI匯流排)之匯流排橋接器電路。
在記憶體系統中,需要高資料頻寬。一般而言,頻寬限制與記憶體控制器不相關,由於該等記憶體控制器如該等記憶體裝置所允許的那樣快將資料編序至該系統記憶體及自該系統記憶體編序資料。一已用來增加頻寬之方法是增加將記憶體控制器耦接至記憶體裝置之記憶體資料匯流排的速度。因此,可在更少時間內在該記憶體資料匯流排上傳遞相同量之資訊。然而,儘管增加記憶體資料匯流排之速度,但並未導致頻寬之相應增加。資料匯流排速度與頻寬之間的非線性關係之一原因是在記憶體裝置自身之內的硬體限制。也就是,該記憶體控制器必須將所有記憶體命令排程至記憶體裝置,使得考慮到硬體限制。儘管此等硬體限制可經由記憶體裝置之設計而減少至某種程度,但是必須做出折衷,因為減少該等硬體限制通常增加該等記憶體裝置之成本、功率及/或大小,其皆係不良替代物。因此,給定此等限制,儘管記憶體裝置將性能良好之流量(如,後續流量)以不斷增加之速率傳送至記憶體裝置之相同傳呼係容易的,但是等記憶體裝置決議性能不良之流量(如,差異傳呼之間或記憶體裝置組之間之脈衝)係更為困難的。因此,記憶體資料匯流排頻寬之增加不會產生資訊頻寬之相應增加。
除處理器與記憶體裝置之間的有限頻寬之外,電腦系統之效能亦受等待時間問題限制,其增加自系統記憶體裝置讀取資料所需之時間。更具體言之,當將一讀取命令之記憶體裝置耦接至系統記憶體裝置(諸如,同步DRAM("SDRAM")裝置)時,僅在若干時鐘週期之延遲之後,自該SDRAM裝置輸出讀取資料。因此,儘管SDRAM裝置以高資料速率可同步輸出叢發資料,但是起初提供資料之延遲可顯著減慢使用該SDRAM裝置之電腦系統的運作速度。增加記憶體資料匯流排之速度可用來幫助減輕該等待時間問題。然而,對於頻寬,基本上由於上文所討論之相同原因,記憶體資料匯流排速度之增加不會產生等待時間之線性減小。
儘管增加記憶體資料匯流排之速度在某種程度上已成功地增加頻寬及減少等待時間,但是此方法產生了其它問題。舉例而言,當記憶體資料匯流排之速度增加時,由於傳統上在記憶體控制器與記憶體模組插入其中之記憶體槽之間僅有導線,為維持信號完整性需要降低在記憶體匯流排上之載入。已採用若干方法來調節記憶體資料匯流排速度之增加。舉例而言,減少記憶體槽之數目;增加在記憶體模組上之緩衝器電路以向記憶體模組上之記憶體裝置提供足夠的控制信號扇出;由於在單一記憶體裝置介面上存在太少的記憶體模組連接器,在記憶體模組上提供多個記憶體裝置介面。然而,此等習知之方法的有效性係有限的。在過去使用此等技術之一原因是那樣做具有成本效益。然而,當僅一記憶體模組可被插入每一介面中時,為每一所需之記憶體槽添加一獨立的記憶體介面變得太昂貴。換言之,其將該系統控制器封裝推出了日常物品範圍,且推入奢侈品範圍,藉此,極大地增加成本。
允許以一具有成本效益之方式增加記憶體資料匯流排速度之一最近方法是使用經由記憶體集線器耦接至處理器之多個記憶體裝置。在記憶體集線器架構中、或在基於集線器之記憶體子系統中,將系統控制器或記憶體控制器經由高速雙向或單向記憶體控制器/集線器介面耦接至若干記憶體模組。通常,將該等記憶體模組以點對點或雛菊鏈架構耦接使得該等記憶體模組串行地彼此相連接。因此,以一雛菊鏈方式將該記憶體控制器耦接至一第一記憶體模組,將該第一記憶體模組連接至一第二記憶體模組,且將該第二記憶體模組耦接至一第三記憶體模組,等。
每一記憶體模組包括耦接至記憶體控制器/集線器介面之一記憶體集線器及該模組上之若干記憶體裝置,該等記憶體集線器有效地於控制器與記憶體裝置之間在記憶體控制器/集線器介面上投送記憶體請求及回應。由於在記憶體資料匯流排上可維持信號完整性,使用此架構之電腦系統可使用一高速記憶體資料匯流排。此外,此架構亦提供該系統記憶體之簡單擴充,而不考慮當添加更多記憶體模組時諸如發生於習知之記憶體匯流排架構中之信號品質降級。
儘管使用記憶體集線器之電腦系統可提供優良效能,但是由於多種原因其通常不可以最佳效率運作。一原因是在系統記憶體中管理多種緩衝器之問題,例如,包括於記憶體集線器中之記憶體請求緩衝器及讀取資料緩衝器。通常,個別記憶體集線器使用該等多種緩衝器來以一更有效率之方式處理記憶體請求,諸如等到足夠數目之未完成之寫入請求已被發佈至記憶體集線器再為其服務,或為了在已服務該等讀取請求之後有效地投送自上流記憶體集線器發回至一記憶體控制器之讀取資料。需要監視該記憶體系統之多種緩衝器之狀態以防止諸如緩衝器溢出之問題,在此繼續發佈記憶體請求可導致記憶體請求或讀取資料在系統記憶體中停止。另外,在記憶體系統中管理多種緩衝器之使用可要求調和不同的緩衝器管理目的。舉例而言,需要允許將大量寫入請求發佈至系統記憶體,同時將未完成之讀取請求的數目降至最低。因此,需要用於管理一系統記憶體之緩衝器之系統及方法。
根據本發明之一態樣之記憶體控制器包括一接收及儲存記憶體請求之記憶體請求佇列,其中回應於一流量控制信號,該記憶體請求佇列將讀取請求及寫入請求發佈至系統記憶體。記憶體控制器進一步包括一回應佇列,其經耦接以接收一記憶體請求回應,該回應具有識別已由該系統記憶體服務之讀取請求及寫入請求之狀態信號。進一步包括於該記憶體控制器中的是一記憶體請求流量控制電路,其耦接至該回應佇列以接收該等狀態信號。該記憶體請求流量控制電路包括獨立的讀取及寫入請求監視電路以分別監視發佈至系統記憶體之未完成之讀取及寫入請求之數目。亦將該記憶體請求流量控制電路耦接至該記憶體請求佇列,以提供回應於未完成之讀取及寫入請求之數目的流量控制信號來,以控制對系統記憶體之讀取請求之發佈及寫入請求之發佈。
在本發明之另一態樣中,提供一種用於管理將讀取及寫入請求發佈至一系統記憶體之方法。該方法包括分別獨立地監視發佈至系統記憶體之未完成之讀取請求及寫入請求之數目,及基於未完成之讀取及寫入請求之數目,獨立地控制將讀取及寫入請求進一步發佈至系統記憶體。在本發明之另一態樣中,藉由獨立地暫停及恢復將讀取及寫入請求發佈至系統記憶體,以分別將未完成之讀取請求的數目維持在第一與第二讀取臨限值之間,及將未完成之寫入請求的數目維持在第一與第二寫入臨限值之間,來管理讀取及寫入請求之發佈。
圖1根據本發明之一實施例說明電腦系統100。該電腦系統100包括一用於執行多種計算功能之處理器102,例如,執行特定軟體以執行特定計算或任務。處理器102包括一通常包括一位址匯流排、一控制匯流排及一資料匯流排之處理器匯流排104。通常將該處理器匯流排104耦接至一快取記憶體106,其通常為靜態隨機存取記憶體("SRAM")裝置。進一步將處理器匯流排104耦接至一系統控制器108,其有時亦被稱為一匯流排橋接器。該系統控制器108充當一供多種其它組件用之至處理器102之通信路徑。如在圖1中所展示,系統控制器108包括一通常耦接至一圖形控制器110之圖形埠,該圖形控制器接著被耦接至視訊終端機112。亦將系統控制器108耦接至一或多個輸入裝置114(例如,一鍵盤或一滑鼠)以允許操作者與電腦系統100建立介面。通常,電腦系統100亦包括一或多個輸出裝置116(例如,一印表機),其經由系統控制器108而耦接至處理器102。通常亦將一或多個質料儲存裝置118經由系統控制器108耦接至處理器102以允許處理器102自內部或外部儲存媒體(未圖示)儲存資料或擷取資料。典型之儲存裝置118之實例包括硬性及軟性磁碟、卡式錄音/影帶及緊密光碟唯讀取記憶體(CD-ROM)。
系統控制器108包括一耦接至處理器102之記憶體控制器124。亦將記憶體控制器124經由系統記憶體匯流排122耦接至系統記憶體120,在該系統記憶體匯流排122上將資料、位址及/或控制信號耦接遠離記憶體控制器124或耦接向記憶體控制器124。該系統記憶體120包括耦接至系統記憶體匯流排122之複數個記憶體裝置130,且進一步包括亦耦接至系統記憶體匯流排122之寫入緩衝器132及讀取資料緩衝器134。對於典型之電腦系統,系統記憶體120用於儲存資訊(通常為資料或指令)以供電腦系統100之剩餘部分使用,諸如,處理器102、圖形控制器110、輸入或輸出裝置114、116,及其類似物。然而,在圖1中所展示之系統記憶體120係一"智能"記憶體系統,其可監視由記憶體控制器124所發佈之記憶體請求之類型(例如,讀取請求或寫入請求),以及可自記憶體控制器124發佈記憶體請求之次序改變執行記憶體請求之次序。另外,系統記憶體120亦可修改以記憶體控制器124請求該讀取資料之次序而提供至記憶體控制器124之讀取資料流。重新排序該等記憶體請求以及返回讀取資料以改良系統記憶體匯流排122之利用。使用包括於系統記憶體120中之寫入緩衝器132及讀取資料緩衝器134便於處理記憶體請求及讀取質料。舉例而言,寫入緩衝器132及讀取資料緩衝器134分別用於在記憶體系統120中暫時儲存寫入請求及讀取資料直至足夠數目之寫入請求準備用於服務或直至將讀取資料傳輸至記憶體控制器124之適當時間。
進一步包括於系統記憶體120中的是一記憶體請求回應電路140,其用於監視由記憶體請求佇列204所發佈之記憶體請求的服務。回應於記憶體請求的服務,記憶體請求回應電路140產生一適當之回應信號。舉例而言,當服務發佈至系統記憶體120之讀取請求,且已準備將讀取資料提供至記憶體控制器124時,記憶體請求回應電路140產生一讀取回應信號,其包括該等讀取資料信號以及一識別對應於讀取資料之讀取請求之讀取狀態信號。關於已由系統記憶體120所服務之寫入請求,記憶體請求回應電路140產生一包括一寫入狀態信號之寫入回應信號,該寫入狀態信號表示特定之寫入請求已由系統記憶體120服務。如將在下文所更詳細地解釋,由記憶體請求回應電路所產生之回應信號由記憶體控制器124使用以監視發佈至系統記憶體120之未完成之記憶體請求之數目。儘管在參考圖1所描述之實施例中,系統記憶體120包括一記憶體請求回應電路140以將回應信號提供至記憶體控制器124,但應瞭解在該項技術中之已知之替代方法可用於將對讀取及寫入請求之服務報告至記憶體控制器124。為了簡潔,本文將不討論該等替代方法。
在2002年8月29日申請之共同讓渡之美國專利申請案第10/232,473號,標題為"METHOD AND SYSTEM FOR CONTROLLING MEMORY ACCESSES TO MEMORY MODULES HAVING A MEMORY HUB ARCHITECTURE"及美國專利申請案第10/690810號中,更詳細地描述可用於系統記憶體120之記憶體系統的實例。然而,此項技術之一般技術者應瞭解具有用於儲存記憶體請求及資料之緩衝器的替代系統記憶體亦可被替代為系統記憶體120,其中可利用本發明之實施例而不背離本發明之範疇。
圖2說明根據本發明之一實施例說明記憶體控制器202之部分。記憶體控制器202可被替代為展示在圖1中之記憶體控制器124。記憶體控制器202包括經由系統控制器108自處理器104(圖1)接收高階記憶體請求信號之一記憶體請求佇列204,該高階記憶體請求信號包括命令信號、位址信號及(在記憶體寫入之狀況下)寫入資料信號。記憶體請求佇列204亦自唯一識別每一記憶體請求之流量控制單元208接收請求ID信號。此等請求ID與相應的高階記憶體請求組合且較佳以其被接收之次序儲存於記憶體請求佇列204中。儲存於請求佇列204中之記憶體請求信號包括讀取請求信號與寫入請求信號。該等高階記憶體請求信號及該等請求ID信號集中地稱為記憶體請求信號。
記憶體控制器202亦包括自系統記憶體120接收讀取回應信號及寫入回應信號之一記憶體回應佇列220。如上文所討論,該等讀取回應信號包括讀取資料信號以及識別對應於該讀取資料之讀取請求的讀取狀態信號。該等寫入回應信號包括識別已由該等記憶體模組中之一者所服務之一寫入請求的寫入狀態信號。該等回應信號由包括於系統記憶體120中之一記憶體請求回應電路140(圖1)產生以允許記憶體控制器202監視已發佈至系統記憶體120之未完成之讀取及寫入請求的數目。
該記憶體回應佇列220將讀取狀態信號222及寫入狀態信號224耦接至流量控制單元208使得流量控制單元208可判定哪些讀取請求及哪些寫入請求已由系統記憶體120服務。流量控制單元208藉由將狀態信號222、224與由記憶體請求佇列204所產生之並耦接至該記憶體請求佇列204之請求ID相比而作出此判定。如圖2中所展示,流量控制單元208包括讀取及寫入緩衝器控制電路210、212,其用於獨立地分別監視發佈至系統記憶體120之未完成之讀取及寫入請求的數目。如下文將更詳細地描述,流量控制單元208基於未完成之讀取及寫入請求之數目將流量控制信號輸出至記憶體請求佇列204以控制是否及何時應將額外之讀取或寫入請求發佈至系統記憶體120。
在本發明之一實施例中,讀取緩衝器控制電路210及寫入緩衝器控制電路212包括用於監視發佈至系統記憶體120之未完成之讀取及寫入請求的向上/向下計數電路214、216。回應於發佈至系統記憶體120之一讀取請求,流量控制單元208遞增計數電路214,且回應於接收到相應讀取請求之一讀取狀態信號222,遞減該計數電路214。以此方式,計數電路214之值表示發佈至系統記憶體120之未完成之讀取請求的數目。相對於計數電路214用於監視未完成之讀取請求,計數電路216係用於以如上所述之相同方式監視未完成之寫入請求的數目。儘管已描述了計數電路214及216之使用,然而應瞭解,熟習此項技術者將自本文所提供之描述獲得充分的瞭解,而使用不同於計數電路214、216之電路來實施本發明之實施例。因此,本發明之範疇不限於參考圖2所描述之特定實施例。
在運作過程中,流量控制單元208經由使用讀取及寫入緩衝器控制電路210、212及向上/向下計數電路214及216來監視未完成之讀取及寫入請求的數目。回應於未完成之記憶體請求的數目,流量控制單元208輸出流量控制信號以暫停或恢復進一步將讀取或寫入請求發佈至系統記憶體120。以此方式,流量控制單元208可防止超出記憶體系統120之重要的寫入緩衝器132及讀取資料緩衝器134的限制。另外,允許在暫停進一步發佈讀取請求之前之未完成之讀取請求的數目不同於在暫停進一步發佈寫入請求之前之未完成之寫入請求的數目,以提供靈活性調和緩衝器管理在讀取與寫入請求之間的差異。舉例而言,通常狀況為可接受發佈至系統記憶體120大量未完成之寫入請求,不過在某些狀況下,最好將發佈至系統記憶體120之未完成之讀取請求的數目降至最低。
讀取緩衝器控制電路210宜儲存界定未完成之讀取請求之數目之一可程式化讀取請求限制,其中可在流量控制單元208將暫停進一步發佈讀取請求之控制信號輸出至記憶體請求佇列204之前,將該未完成之讀取請求的數目發佈至系統記憶體120。類似地,寫入緩衝器控制電路212儲存界定未完成之寫入請求之數目之一可程式化寫入請求限制,其中可在流量控制單元208輸出一控制信號以暫停進一步發佈寫入請求之前,將該等未完成之寫入請求發佈至系統記憶體120。
在損失讀取或寫入請求發佈的時間期間,允許服務發佈至系統記憶體120之未完成之記憶體請求,且因此清除系統記憶體120之寫入緩衝器及讀取資料緩衝器中之空間。關於讀取請求,當未完成之讀取請求的數目降低至低於由讀取緩衝器控制電路210所儲存之一可程式化讀取恢復限制時,流量控制單元208輸出流量控制信號以恢復將讀取請求發佈至系統記憶體120。類似地,關於寫入請求,由寫入緩衝器控制電路212所儲存之一可程式化寫入恢復限制在恢復進一步將寫入請求發佈至系統記憶體120之前管理可係未完成之寫入請求的數目。
儘管上文已將讀取及寫入請求限制及恢復讀取及寫入限制描述為可程式化的,但是應瞭解,讀取及寫入請求限制及恢復讀取及寫入限制亦可為一固定值。如上文所述,編程至讀取及寫入緩衝器控制電路210、212之可程式化讀取及寫入緩衝器限制允許為特定類型之記憶體請求(意即,讀取請求或寫入請求)修改緩衝器控制,以及允許選擇表示系統記憶體120之讀取及寫入緩衝器深度之值。應瞭解,在替代實施例中,不必具有非零的讀取及寫入恢復限制,當未完成之讀取或寫入請求的數目降低至零時可恢復發佈讀取或寫入請求。
如上文參考圖2所述,記憶體控制器202之流量控制電路208包括讀取及寫入緩衝器控制電路210、212以監視發佈至系統記憶體120之未完成之讀取及寫入請求的數目。在本發明之一替代實施例中(展示於圖3中),記憶體控制器302包括複數個讀取緩衝器控制電路310a-d及複數個寫入緩衝器控制電路312a-d。每一讀取緩衝器控制電路310a-d具有一可程式化讀取請求限制及一可程式化讀取恢復限制,且每一寫入緩衝器控制電路具有一可程式化寫入請求限制及一可程式化寫入恢復限制。每一讀取緩衝器控制電路310a-d可用於個別地監視系統記憶體120中之一相應讀取資料緩衝器。類似地,每一寫入緩衝器控制電路312a-d可用於個別地監視在系統記憶體120中之相應的寫入緩衝器。相反,參考圖2所描述之記憶體控制器202藉由讀取緩衝器控制電路210而監視發佈至系統記憶體120之未完成之讀取請求的總數目,且藉由寫入緩衝器控制電路212而進一步監視發佈至系統記憶體120之未完成之寫入請求的總數目。
對於參考圖2所描述之記憶體控制器202之實施例,用於記憶體控制器302之個別讀取及寫入請求限制及個別恢復讀取及寫入限制可為固定的而非可程式化的,或者為固定的或可程式化的值之某些組合。此外,可藉由如上文相對於記憶體控制器202所描述之計數電路來實施讀取及寫入緩衝器控制電路310a-d、312a-d。或者,此項技術之一般技術者將自本文所提供之描述獲得足夠的瞭解以使用其它熟知的或隨後開發的設計及電路來實施本發明。因此,不應將本發明之範疇限制於本文所描述之任何特定實施例,或限制於相對於此等實施例所描述之任何特定電路的使用。
圖4說明一具有一記憶體集線器架構之電腦系統400,其中可利用本發明之實施例。該電腦系統400包括用於執行多種計算功能之一處理器404,例如,執行特定軟體以執行特定計算或任務。該處理器404包括一通常包括一位址匯流排、一控制匯流排及一資料匯流排之處理器匯流排406。該處理器匯流排406通常耦接至通常為靜態隨機存取記憶體("SRAM")之快取記憶體408。最終,該處理器匯流排406耦接至一系統控制器410,其有時亦被稱為匯流排橋接器。
該系統控制器410亦充當用於多種其它組件至該處理器404之一通信路徑。更具體言之,該系統控制器410包括通常耦接至一圖形控制器412之一圖形埠,該圖形控制器412接著耦接至一視訊終端機414。亦將該系統控制器410耦接至一或多個輸入裝置418(例如,一鍵盤或一滑鼠)以允許一操作者與電腦系統400建立介面。通常,電腦系統400亦包括經由系統控制器410耦接至處理器404之一或多個輸出裝置420(例如,一印表機)。通常亦將一或多個資料儲存裝置424經由系統控制器410耦接至處理器404以允許處理器404自內部或外部儲存媒體(未圖示)儲存資料或擷取質料。典型之儲存裝置424之實例包括硬性及軟性磁碟、卡式錄音/影帶及緊密光碟唯讀取記憶體(CD-ROM)。
系統控制器410含有經由一匯流排系統454、456耦接至若干記憶體模組430a-n之一記憶體集線器控制器428。每一記憶體模組430a-n包括由命令、位址及資料匯流排耦接至若干記憶體裝置448之一記憶體集線器440,集中地展示為匯流排450。該記憶體集線器440在該控制器428與該記憶體裝置448之間有效地投送記憶體請求及回應。如上文所述,每一記憶體集線器440包括寫入緩衝器及讀取資料緩衝器。當另一記憶體模組430a-n正回應一先前記憶體請求時,採用此架構之電腦系統允許處理器404存取一記憶體模組430a-n。舉例而言,當該系統中之另一記憶體模組430a-n正預備將讀取資料提供至處理器404時,處理器404可將寫入資料輸出至該系統中之該等記憶體模組430a-n中之一者。另外,一記憶體集線器架構亦可於電腦系統中提供極大增加之記憶體容量。
該記憶體集線器控制器428包括根據本發明之一實施例之電路。即,獨立地監視未完成之讀取及寫入請求,且回應於未完成之讀取及寫入請求的數目,可暫停進一步發佈讀取或寫入請求直至未完成之讀取或寫入請求的數目降低至低於一恢復之限制,在此時,可恢復將讀取或寫入請求發佈至記憶體。以此方式,對將讀取請求發佈至系統記憶體進行獨立的監視及控制,及對將寫入請求發佈至系統記憶體進行監視及控制允許獨立的緩衝器控制。
由上文應瞭解,儘管本文為說明之目的已描述了本發明之具體實施例,但在不背離本發明之精神及範疇的情況下,可進行各種修改。因此,本發明僅受限於附加之申請專利範圍。
100...電腦系統
102...處理器
104...處理器匯流排
106...快取記憶體
108...系統控制器
110...圖形控制器
112...視訊終端機
114...輸入裝置
116...輸出裝置
118...資料儲存裝置
120...系統記憶體
122...系統記憶體匯流排
124...記憶體控制器
130...記憶體裝置
132...寫入緩衝器
134...讀取資料緩衝器
140...記憶體請求回應電路
202...記憶體控制器
204...記憶體請求佇列
208...流量控制單元
210...讀取緩衝器控制電路
212...寫入緩衝器控制電路
214...向上計數電路
216...向下計數電路
220...記憶體回應佇列
222...讀取狀態信號
224...寫入狀態信號
302...記憶體控制器
304...記憶體請求佇列
310...讀取緩衝器控制電路
312...寫入緩衝器控制電路
320...回應佇列
400...電腦系統
404...處理器
408...快取記憶體
410...系統控制器
412...圖形控制器
414...視訊終端機
418...輸入裝置
420...輸出裝置
424...儲存裝置
428...記憶體集線器控制器
430a、430b、430c、430d...記憶體模組
440...記憶體集線器
448...記憶體裝置
450...匯流排
圖1係一電腦系統之部分方塊圖,其中可實施本發明之實施例。
圖2係根據本發明之一實施例之一記憶體控制器之部分方塊圖。
圖3係根據本發明之一替代實施例之一記憶體控制器之部分方塊圖。
圖4係一具有一基於記憶體集線器之系統記憶體之一電腦系統之部分方塊圖,其中可實施本發明之實施例。
120‧‧‧系統記憶體
132‧‧‧寫入緩衝器
134‧‧‧讀取資料緩衝器
140‧‧‧記憶體請求回應電路
202‧‧‧記憶體控制器
204‧‧‧記憶體請求佇列
208‧‧‧流量控制單元
210‧‧‧讀取緩衝器控制電路
212‧‧‧寫入緩衝器控制電路
214‧‧‧向上計數電路
216‧‧‧向下計數電路
220‧‧‧記憶體回應佇列
222‧‧‧讀取狀態信號
224‧‧‧寫入狀態信號

Claims (81)

  1. 一種用於控制存取一系統記憶體之記憶體集線器控制器,包含:一記憶體請求佇列,其儲存經由一輸入埠所接收之至少一記憶體請求,該記憶體請求佇列可操作以自一輸出埠發佈儲存於該記憶體請求佇列中回應於一流量控制信號之每一記憶體請求;一回應佇列,其經耦接以經由一輸入埠接收讀取回應,該等讀取回應含有每一讀取資料及識別對應於該讀取資料之讀取請求之一讀取狀態信號,該回應佇列進一步經耦接以經由該輸入埠接收寫入回應,每一寫入回應具有識別已被服務之寫入請求之一寫入狀態信號,該回應佇列可操作以將來自每一讀取回應信號之至少該讀取資料耦接至一資料輸出埠,及將來自每一讀取回應之該讀取狀態信號及來自每一寫入回應之該寫入狀態信號耦接至一流量控制埠;及一緩衝器管理單元,其經耦接以自該回應佇列接收該等讀取狀態信號及該等寫入狀態信號,該緩衝器管理單元具有一讀取緩衝器監視電路,以自該等讀取狀態信號判定由該記憶體請求佇列所發佈之未完成之讀取請求的數目,該緩衝器管理單元具有一寫入緩衝器監視電路,以自該等寫入狀態信號判定由該記憶體請求佇列所發佈之未完成之寫入請求的數目,該緩衝器管理單元進一步具有一耦接至該等讀取及寫入緩衝器監視電路之流量控 制電路,以產生一提供至該記憶體請求佇列之流量控制信號,該流量控制信號基於由該記憶體請求佇列所發佈之未完成之讀取及寫入請求的該數目來控制將記憶體請求發佈至該系統記憶體。
  2. 如請求項1之記憶體集線器控制器,其中該緩衝器管理單元之該流量控制電路包含一控制電路,回應於該讀取緩衝器監視電路判定未完成之讀取請求的該數目超過一讀取請求臨限值,該控制電路可操作以產生一暫停將讀取請求發佈至該系統記憶體之流量控制信號,且回應於該寫入緩衝器監視電路判定未完成之寫入請求的該數目超過一寫入請求臨限值,該控制電路可進一步操作以產生一暫停將寫入請求發佈至該系統記憶體之流量控制信號。
  3. 如請求項2之記憶體集線器控制器,其中該讀取請求臨限值與該寫入請求臨限值係不相等的。
  4. 如請求項2之記憶體集線器控制器,其中該寫入請求臨限值大於該讀取請求臨限值。
  5. 如請求項2之記憶體集線器控制器,其中回應於該讀取緩衝器監視電路判定未完成之讀取請求的該數目小於一讀取請求恢復臨限值,該控制電路可進一步操作以產生一恢復將讀取請求發佈至該系統記憶體之流量控制信號,且回應於該寫入緩衝器監視電路判定未完成之寫入請求的該數目小於一寫入請求恢復臨限值,進一步可操作該控制電路以產生一恢復將寫入請求發佈至該系統記憶體 之流量控制信號。
  6. 如請求項2之記憶體集線器控制器,其中回應於該讀取緩衝器監視電路判定發佈至該系統記憶體之未完成之讀取請求的該數目為零,該控制電路可進一步操作以產生一恢復將讀取請求發佈至該系統記憶體之流量控制信號。
  7. 如請求項2之記憶體集線器控制器,其中回應於該寫入緩衝器監視電路判定發佈至該系統記憶體之未完成之寫入請求的該數目為零,該控制電路可進一步操作以產生一恢復將寫入請求發佈至該系統記憶體之流量控制信號。
  8. 如請求項1之記憶體集線器控制器,其中該記憶體請求佇列可進一步操作以自該輸出埠,連同每一記憶體請求發佈一唯一識別該個別記憶體請求之請求識別符。
  9. 如請求項8之記憶體集線器控制器,其中該緩衝器管理單元可操作以產生用於每一記憶體請求之該請求識別符,且將該請求識別符耦接至該記憶體請求佇列,且其中該緩衝器管理單元可進一步操作,以在耦接至該記憶體請求佇列之該請求識別符與自該回應佇列接收之該等讀取狀態信號及該等寫入狀態信號之間進行一比較的基礎上,產生該流量控制信號。
  10. 一種經由一記憶體匯流排耦接至一系統記憶體之記憶體控制器,包含:一接收及儲存記憶體請求之記憶體請求佇列,回應於一流量控制信號,該記憶體請求佇列將讀取請求及寫入請求發佈至該系統記憶體; 一回應佇列,其經耦接以接收一記憶體請求回應,該記憶體請求回應具有識別已由該系統記憶體服務之若干讀取請求及若干寫入請求之一狀態信號;及一記憶體請求流量控制電路,其耦接至該回應佇列以接收該狀態信號,且該記憶體請求流量控制電路具有獨立的讀取及寫入請求監視電路,以分別監視發佈至該系統記憶體之未完成之讀取及寫入請求的數目,該記憶體請求流量控制電路耦接至該記憶體請求佇列,以提供回應於未完成之讀取及寫入請求的該數目之該流量控制信號,以控制將讀取請求發佈至該系統記憶體及控制將寫入請求發佈至該系統記憶體。
  11. 如請求項10之記憶體控制器,其中該記憶體請求流量控制電路包含一控制電路,回應於該讀取請求監視電路判定未完成之讀取請求的該數目超過一讀取請求臨限值,該控制電路可操作以產生一暫停將讀取請求發佈至該系統記憶體之流量控制信號,且回應於該寫入請求監視電路判定未完成之寫入請求的該數目超過一寫入請求臨限值,該控制電路可進一步操作以產生一暫停將寫入請求發佈至該系統記憶體之流量控制信號。
  12. 如請求項11之記憶體控制器,其中該讀取請求臨限值與該寫入請求臨限值係不相等的。
  13. 如請求項11之記憶體控制器,其中該寫入請求臨限值大於該讀取請求臨限值。
  14. 如請求項11之記憶體控制器,其中回應於該讀取請求監 視電路判定未完成之讀取請求的該數目小於一讀取請求恢復臨限值,該控制電路可進一步操作以產生一恢復將讀取請求發佈至該系統記憶體之流量控制信號,且回應於該寫入請求監視電路判定未完成之寫入請求的該數目小於一寫入請求恢復臨限值,該控制電路可進一步操作以產生一恢復將寫入請求發佈至該系統記憶體之流量控制信號。
  15. 如請求項11之記憶體控制器,其中回應於該讀取請求監視電路判定發佈至該系統記憶體之未完成之讀取請求的該數目為零,該控制電路可進一步操作以產生一恢復將讀取請求發佈至該系統記憶體之流量控制信號。
  16. 如請求項11之記憶體控制器,其中回應於該寫入請求監視電路判定發佈至該系統記憶體之未完成之寫入請求的該數目為零,該控制電路進一步可操作以產生一恢復將寫入請求發佈至該系統記憶體之流量控制信號。
  17. 如請求項10之記憶體控制器,其中該記憶體請求佇列可進一步操作,以連同每一記憶體請求發佈一唯一識別該個別記憶體請求之請求識別符。
  18. 如請求項17之記憶體控制器,其中該記憶體請求流量控制電路可操作以產生用於每一記憶體請求之該請求識別符,並將該請求識別符耦接至該記憶體請求佇列,且其中該記憶體請求流量控制電路可進一步操作,以在耦接至該記憶體請求佇列之該請求識別符與自該回應佇列接收之識別該等讀取請求及該等寫入請求之該狀態信號之 間進行一比較的基礎上,產生該流量控制信號。
  19. 一種用於控制存取一系統記憶體之記憶體集線器控制器,包含:一記憶體請求佇列,其儲存讀取及寫入記憶體請求,且該記憶體請求佇列可操作以回應於讀取及寫入請求流量控制信號,將儲存於該記憶體請求佇列中之該等讀取及寫入記憶體請求發佈至該系統記憶體;一回應佇列,其經耦接以自該系統記憶體接收讀取回應,每一該等讀取回應具有一識別已被服務之讀取請求之讀取狀態信號,及接收寫入回應,每一該等寫入回應具有一識別已被服務之寫入請求之寫入狀態信號,該回應佇列可操作以將來自每一讀取回應之該讀取狀態信號及來自每一寫入回應之該寫入狀態信號耦接至一流量控制埠;及一緩衝器管理單元,其耦接至該記憶體請求佇列,且進一步耦接至該回應佇列之該流量控制埠,該緩衝器管理單元可操作以自該等讀取狀態信號判定由該記憶體請求佇列所發佈之未完成之讀取請求的數目,且該緩衝器管理單元可操作以自該等寫入狀態信號判定由該記憶體請求佇列所發佈之未完成之寫入請求的數目,且回應於未完成之讀取及寫入請求的該數目,產生流量控制信號,以藉由控制該記憶體請求佇列,將讀取及寫入請求發佈至該系統記憶體。
  20. 如請求項19之記憶體集線器控制器,其中該緩衝器管理 單元包含一流量控制電路,回應於判定未完成之讀取請求的該數目超過一讀取請求臨限值,該流量控制電路可操作以產生一暫停將讀取請求發佈至該系統記憶體之流量控制信號,且回應於判定未完成之讀取請求的該數目小於一讀取請求恢復臨限值,該流量控制電路可進一步操作以產生一恢復將讀取請求發佈至該系統記憶體。
  21. 如請求項19之記憶體集線器控制器,其中該緩衝器管理單元包含一流量控制電路,回應於判定未完成之寫入請求的該數目超過一寫入請求臨限值,該流量控制電路可操作以產生一暫停將寫入請求發佈至該系統記憶體之流量控制信號,且回應於判定未完成之寫入請求的該數目小於一寫入請求恢復臨限值,進一步可操作該流量控制電路以產生一恢復將寫入請求發佈至該系統記憶體之流量控制信號。
  22. 如請求項19之記憶體集線器控制器,其中該記憶體請求佇列可進一步操作,以連同每一記憶體請求發佈一唯一識別該個別記憶體請求之請求識別符。
  23. 如請求項22之記憶體集線器控制器,其中該緩衝器管理單元可操作以產生用於每一記憶體請求之該請求識別符,及將該請求識別符耦接至該記憶體請求佇列,且其中該緩衝器管理單元可進一步操作,以在耦接至該記憶體請求佇列之該請求識別符與自該回應佇列所接收之該等讀取狀態信號及該等寫入狀態信號之間進行一比較的基礎上,產生該流量控制信號。
  24. 一種記憶體系統,包含:一記憶體匯流排,其用於在其上傳輸記憶體請求及回應;耦接至該記憶體匯流排之複數個記憶體模組,每一該等模組具有:複數個記憶體裝置;一記憶體集線器,其耦接至該等複數個裝置及該記憶體匯流排,以接收記憶體請求及回應於該等記憶體請求而產生信號以運作該等複數個記憶體裝置及服務讀取及寫入請求,該記憶體集線器包括一耦接至該記憶體匯流排以儲存寫入請求之記憶體寫入緩衝器,一耦接至該等記憶體裝置以自該等記憶體裝置接收讀取資料及儲存用於耦接至該記憶體匯流排之該讀取資料之記憶體讀取佇列,且進一步包括一回應產生器以產生包括識別對應於該讀取資料之若干讀取請求之一讀取狀態信號之一讀取回應,及產生包括一識別已被服務之寫入請求之寫入狀態信號之一寫入回應;及一耦接至該記憶體匯流排之記憶體控制器,該記憶體控制器具有:一記憶體請求佇列,其儲存至少一記憶體請求,且可操作以自一輸出埠將儲存於該記憶體請求佇列中回應於一流量控制信號之每一記憶體請求發佈至該等記憶體模組;一回應佇列,其經耦接以接收該等讀取回應及寫入 回應,該回應佇列可操作以將來自每一讀取回應信號之至少該等讀取資料耦接至一資料輸出埠,及將來自每一讀取回應之該讀取狀態信號及來自每一寫入回應之該寫入狀態信號耦接至一流量控制埠;及一緩衝器管理單元,其經耦接以自該回應佇列接收該讀取狀態信號及該寫入狀態信號,該緩衝器管理單元具有一讀取緩衝器監視電路,以自該讀取狀態信號判定由該記憶體請求佇列所發佈之未完成之讀取請求的數目,且該緩衝器管理單元具有一寫入緩衝器監視電路,以自該寫入狀態信號判定由該記憶體請求佇列所發佈之未完成之寫入請求的數目,該緩衝器管理單元進一步具有一耦接至該等讀取及寫入緩衝器監視電路之流量控制電路,以產生一提供至該記憶體請求佇列之流量控制信號,該流量控制信號基於由該記憶體請求佇列所發佈之未完成之讀取及寫入請求的該數目來控制將記憶體請求發佈至該等記憶體模組。
  25. 如請求項24之記憶體系統,其中該緩衝器管理單元之該流量控制電路包含一控制電路,回應於該讀取緩衝器監視電路判定未完成之讀取請求的該數目超過一讀取請求臨限值,該控制電路可操作以產生一暫停將讀取請求發佈至該系統記憶體之流量控制信號,且回應於該寫入緩衝器監視電路判定未完成之寫入請求的該數目超過一寫入請求臨限值,該控制電路可進一步操作以產生一暫停將寫入請求發佈至該系統記憶體之流量控制信號。
  26. 如請求項25之記憶體系統,其中該讀取請求臨限值與該寫入請求臨限值係不相等的。
  27. 如請求項25之記憶體系統,其中該寫入請求臨限值大於該讀取請求臨限值。
  28. 如請求項25之記憶體系統,其中回應於該讀取緩衝器監視電路判定未完成之讀取請求的該數目小於一讀取請求恢復臨限值,該控制電路可進一步操作以產生一恢復將讀取請求發佈至該系統記憶體之流量控制信號,且回應於該寫入緩衝器監視電路判定未完成之寫入請求的該數目小於一寫入請求恢復臨限值,該控制電路可進一步操作以產生一恢復將寫入請求發佈至該系統記憶體之流量控制信號。
  29. 如請求項25之記憶體系統,其中回應於該讀取緩衝器監視電路判定發佈至該系統記憶體之未完成之讀取請求的該數目為零,該控制電路可進一步操作以產生一恢復將讀取請求發佈至該系統記憶體之流量控制信號。
  30. 如請求項25之記憶體系統,其中回應於該寫入緩衝器監視電路判定發佈至該系統記憶體之未完成之寫入請求的該數目為零,該控制電路可進一步操作以產生一恢復將寫入請求發佈至該系統記憶體之流量控制信號。
  31. 如請求項24之記憶體系統,其中該記憶體請求佇列可進一步操作以自該輸出埠,連同每一記憶體請求發佈一唯一識別該個別記憶體請求之請求識別符。
  32. 如請求項31之記憶體系統,其中該緩衝器管理單元可操 作以產生用於每一記憶體請求之該請求識別符,及將該請求識別符耦接至該記憶體請求佇列,且其中該緩衝器管理單元可進一步操作,以在耦接至該記憶體請求佇列之該請求識別符與自該回應佇列所接收之該讀取狀態信號及該寫入狀態信號之間進行一比較的基礎上,產生該流量控制信號。
  33. 一種記憶體系統,包含:一記憶體匯流排,其用於在其上傳輸記憶體請求及回應;一系統記憶體,其具有耦接至該記憶體匯流排之複數個記憶體模組,每一該等模組具有:複數個記憶體裝置;一記憶體集線器,其耦接至該等複數個裝置及該記憶體匯流排,以接收記憶體請求及回應於該等記憶體請求而產生信號,以運作該等複數個記憶體裝置及服務讀取及寫入請求,該記憶體集線器包括一耦接至該記憶體匯流排以儲存寫入請求之記憶體寫入緩衝器,一耦接至該等記憶體裝置以自該等記憶體裝置接收讀取資料及儲存用於耦接至該記憶體匯流排之該讀取資料之記憶體讀取佇列,且進一步包括一回應產生器以產生包括一識別對應於該等讀取資料之讀取請求之讀取回應,及產生包括一識別已被服務之寫入請求之寫入狀態信號之寫入回應;及一記憶體控制器,其經由該記憶體匯流排而耦接至該 系統記憶體,該記憶體控制器具有:一接收及儲存記憶體請求之記憶體請求佇列,該記憶體請求佇列回應於一流量控制信號將讀取請求及寫入請求發佈至該系統記憶體;一回應佇列,其經耦接以接收一記憶體請求回應,該記憶體請求回應具有識別已由該系統記憶體服務之讀取請求及寫入請求之一狀態信號;及一記憶體請求流量控制電路,其耦接至該回應佇列以接收該等狀態信號,且該記憶體請求流量控制電路具有獨立的讀取及寫入請求監視電路,以分別監視發佈至該系統記憶體之未完成之讀取及寫入請求的數目,該記憶體請求流量控制電路耦接至該記憶體請求佇列,以提供回應於未完成之讀取及寫入請求的數目之該流量控制信號,以控制將讀取請求發佈至該系統記憶體及控制將寫入請求發佈至該系統記憶體。
  34. 如請求項33之記憶體系統,其中該記憶體請求流量控制電路包含一控制電路,回應於該讀取請求監視電路判定未完成之讀取請求的該數目超過一讀取請求臨限值,該控制電路可操作以產生一暫停將讀取請求發佈至該系統記憶體之流量控制信號,且回應於該寫入請求監視電路判定未完成之寫入請求的該數目超過一寫入請求臨限值,該控制電路可進一步操作以產生一暫停將寫入請求發佈至該系統記憶體之流量控制信號。
  35. 如請求項34之記憶體系統,其中該讀取請求臨限值與該 寫入請求臨限值係不相等的。
  36. 如請求項34之記憶體系統,其中該寫入請求臨限值大於該讀取請求臨限值。
  37. 如請求項34之記憶體系統,其中回應於該讀取請求監視電路判定未完成之讀取請求的該數目小於一讀取請求恢復臨限值,該控制電路可進一步操作以產生一恢復將讀取請求發佈至該系統記憶體之流量控制信號,且回應於該寫入請求監視電路判定未完成之寫入請求的該數目小於一寫入請求恢復臨限值,該控制電路可進一步操作以產生一恢復將入請求發佈至該系統記憶體之流量控制信號。
  38. 如請求項34之記憶體系統,其中回應於該讀取請求監視電路判定發佈至該系統記憶體之未完成之讀取請求的該數目為零,該控制電路可進一步操作以產生一恢復將讀取請求發佈至該系統記憶體之流量控制信號。
  39. 如請求項34之記憶體系統,其中回應於該寫入請求監視電路判定發佈至該系統記憶體之未完成之寫入請求的該數目為零,該控制電路可進一步操作以產生一恢復將寫入請求發佈至該系統記憶體之流量控制信號。
  40. 如請求項33之記憶體系統,其中該記憶體請求佇列可進一步操作,以連同每一記憶體請求發佈一唯一識別該個別記憶體請求之請求識別符。
  41. 如請求項40之記憶體系統,其中該記憶體請求流量控制電路可操作以產生用於每一記憶體請求之該請求識別 符,及將該請求識別符耦接至該記憶體請求佇列,且其中該記憶體請求流量控制電路可進一步操作,以在耦接至該記憶體請求佇列之該請求識別符與自該回應佇列所接收之該等讀取狀態信號及該等寫入狀態信號之間進行一比較的基礎上,產生該流量控制信號。
  42. 一種基於處理器之系統,包含:一處理器,其具有一處理器匯流排;一系統控制器,其耦接至該處理器匯流排,該系統控制器具有一周邊裝置埠,該系統控制器進一步包含一耦接至一系統記憶體埠之控制器;至少一輸入裝置,其耦接至該系統控制器之該周邊裝置埠;至少一輸出裝置,其耦接至該系統控制器之該周邊裝置埠;至少一資料儲存裝置,其耦接至該系統控制器之該周邊裝置埠;及一記憶體系統,包含:一記憶體匯流排,其用於在其上傳輸記憶體請求及回應;耦接至該記憶體匯流排之複數個記憶體模組,每一該等模組具有:複數個記憶體裝置;一記憶體集線器,其耦接至該等複數個裝置及該記憶體匯流排,以接收記憶體請求及回應於該等記 憶體請求而產生信號,以運作該等複數個記憶體裝置及服務讀取及寫入請求,該記憶體集線器包括一耦接至該記憶體匯流排以儲存寫入請求之記憶體寫入緩衝器,一耦接至該等記憶體裝置以自該等記憶體裝置接收讀取資料及儲存用於耦接至該記憶體匯流排之該讀取資料之記憶體讀取佇列,且進一步包括一回應產生器以產生包括一識別對應於該讀取資料之讀取請求之讀取回應,及產生包括一識別已被服務之寫入請求之寫入狀態信號之寫入回應;及一耦接至該記憶體匯流排之記憶體控制器,該記憶體控制器具有:一記憶體請求佇列,其儲存至少一記憶體請求,且該記憶體請求佇列可操作以自一輸出埠將儲存於該記憶體請求佇列中回應於一流量控制信號之每一記憶體請求發佈至該等記憶體模組;一回應佇列,其經耦接以接收該等讀取回應及寫入回應,該回應佇列可操作以將來自每一讀取回應信號之至少該讀取資料耦接至一資料輸出埠,及將來自每一讀取回應之該讀取狀態信號及來自每一寫入回應之該寫入狀態信號耦接至一流量控制埠;及一緩衝器管理單元,其經耦接以自該回應佇列接收該讀取狀態信號及該寫入狀態信號,該緩衝器管理單元具有一讀取緩衝器監視電路,以自該讀取狀態信號判定由該記憶體請求佇列所發佈之未完成之 讀取請求的數目,且該緩衝器管理單元具有一寫入緩衝器監視電路,以自該寫入狀態信號判定由該記憶體請求佇列所發佈之未完成之寫入請求的數目,該緩衝器管理單元進一步具有一耦接至該等讀取及寫入緩衝器監視電路之流量控制電路,以產生一提供至該記憶體請求佇列之流量控制信號,該流量控制信號基於由該記憶體請求佇列所發佈之未完成之讀取及寫入請求的該數目來控制將記憶體請求發佈至該等記憶體模組。
  43. 如請求項42之基於處理器之系統,其中該緩衝器管理單元之該流量控制電路包含一控制電路,回應於該讀取緩衝器監視電路判定未完成之讀取請求的該數目超過一讀取請求臨限值,該控制電路可操作以產生一暫停將讀取請求發佈至該系統記憶體之流量控制信號,且回應於該寫入緩衝器監視電路判定未完成之寫入請求的該數目超過一寫入請求臨限值,該控制電路可進一步操作以產生一暫停將寫入請求發佈至該系統記憶體之流量控制信號。
  44. 如請求項43之基於處理器之系統,其中該讀取請求臨限值與該寫入請求臨限值係不相等的。
  45. 如請求項43之基於處理器之系統,其中該寫入請求臨限值大於該讀取請求臨限值。
  46. 如請求項43之基於處理器之系統,其中回應於該讀取緩衝器監視電路判定未完成之讀取請求的該數目小於一讀 取請求恢復臨限值,該控制電路可進一步操作以產生一恢復將讀取請求發佈至該系統記憶體之流量控制信號,且回應於該寫入緩衝器監視電路判定未完成之寫入請求的該數目小於一寫入請求恢復臨限值,該控制電路可進一步操作以產生一恢復將寫入請求發佈至該系統記憶體之流量控制信號。
  47. 如請求項43之基於處理器之系統,其中回應於該讀取緩衝器監視電路判定發佈至該系統記憶體之未完成之讀取請求的該數目為零,該控制電路可進一步操作以產生一恢復將讀取請求發佈至該系統記憶體之流量控制信號。
  48. 如請求項43之基於處理器之系統,其中回應於該寫入緩衝器監視電路判定發佈至該系統記憶體之未完成之寫入請求的該數目為零,該控制電路可進一步操作以產生一恢復將寫入請求發佈至該系統記憶體之流量控制信號。
  49. 如請求項42之基於處理器之系統,其中該記憶體請求佇列可進一步操作,以自該輸出埠,連同每一記憶體請求發佈一唯一識別該個別記憶體請求之請求識別符。
  50. 如請求項49之基於處理器之系統,其中該緩衝器管理單元可操作以產生用於每一記憶體請求之該請求識別符,及將該請求識別符耦接至該記憶體請求佇列,且其中該緩衝器管理單元可進一步操作,以在耦接至該記憶體請求佇列之該請求識別符與自該回應佇列所接收之該讀取狀態信號及該寫入狀態信號之間進行一比較的基礎上,產生該流量控制信號。
  51. 一種基於處理器之系統,包含:一處理器,其具有一處理器匯流排;一系統控制器,其耦接至該處理器匯流排,該系統控制器具有一周邊裝置埠,該系統控制器進一步包含一耦接至一系統記憶體埠之控制器;至少一輸入裝置,其耦接至該系統控制器之該周邊裝置埠;至少一輸出裝置,其耦接至該系統控制器之該周邊裝置埠;至少一資料儲存裝置,其耦接至該系統控制器之該周邊裝置埠;及一記憶體系統,包含:一記憶體匯流排,其用於在其上傳輸記憶體請求及回應;一系統記憶體,其具有複數個耦接至該記憶體匯流排之記憶體模組,每一該等模組具有:複數個記憶體裝置;一記憶體集線器,其耦接至該等複數個裝置及該記憶體匯流排,以接收記憶體請求及回應於該等記憶體請求而產生信號,以運作該等複數個記憶體裝置及服務讀取及寫入請求,該記憶體集線器包括一耦接至該記憶體匯流排以儲存寫入請求之記憶體寫入緩衝器,一耦接至該等記憶體裝置以自該等記憶體裝置接收讀取資料及儲存用於耦接至該記憶體匯流排之該讀取資 料之記憶體讀取佇列,且進一步包括一回應產生器以產生包括一識別對應於該讀取資料之讀取請求之讀取回應,及產生包括一識別已被服務之寫入請求之寫入狀態信號之寫入回應;及一記憶體控制器,其經由該記憶體匯流排耦接至該系統記憶體,該記憶體控制器具有:一接收及儲存記憶體請求之記憶體請求佇列,回應於一流量控制信號,該記憶體請求佇列將讀取請求及寫入請求發佈至該系統記憶體;一回應佇列,其經耦接以接收一記憶體請求回應,該記憶體請求回應具有識別已由該系統記憶體所服務之讀取請求及寫入請求之一狀態信號;及一記憶體請求流量控制電路,其耦接至該回應佇列以接收該等狀態信號,且該記憶體請求流量控制電路具有獨立的讀取及寫入請求監視電路,以分別監視發佈至該系統記憶體之未完成之讀取及寫入請求的數目,該記憶體請求流量控制電路耦接至該記憶體請求佇列,以提供回應於未完成之讀取及寫入請求的數目之該流量控制信號來控制將讀取請求發佈至該系統記憶體及控制將寫入請求發佈至該系統記憶體。
  52. 如請求項51之基於處理器之系統,其中該記憶體請求流量控制電路包含一控制電路,回應於該讀取請求監視電路判定未完成之讀取請求的該數目超過一讀取請求臨限值,該控制電路可操作以產生一暫停將讀取請求發佈至 該系統記憶體之流量控制信號,且回應於該寫入請求監視電路判定未完成之寫入請求的該數目超過一寫入請求臨限值,該控制電路可進一步操作以產生一暫停將寫入請求發佈至該系統記憶體之流量控制信號。
  53. 如請求項52之基於處理器之系統,其中該讀取請求臨限值與該寫入請求臨限值係不相等的。
  54. 如請求項52之基於處理器之系統,其中該寫入請求臨限值大於該讀取請求臨限值。
  55. 如請求項52之基於處理器之系統,其中回應於該讀取請求監視電路判定未完成之讀取請求的該數目小於一讀取請求恢復臨限值,該控制電路可進一步操作以產生一恢復將讀取請求發佈至該系統記憶體之流量控制訊號號,且回應於該寫入請求監視電路判定未完成之寫入請求的該數目小於一寫入請求恢復臨限值,該控制電路可進一步操作以產生一恢復將寫入請求發佈至該系統記憶體之流量控制信號。
  56. 如請求項52之基於處理器之系統,其中回應於該讀取請求監視電路判定發佈至該系統記憶體之未完成之讀取請求的該數目為零,該控制電路可進一步操作以產生一恢復將讀取請求發佈至該系統記憶體之流量控制信號。
  57. 如請求項52之基於處理器之系統,其中回應於該寫入請求監視電路判定發佈至該系統記憶體之未完成之寫入請求的該數目為零,該控制電路可進一步操作以產生一恢復將寫入請求發佈至該系統記憶體之流量控制信號。
  58. 如請求項51之基於處理器之系統,其中該記憶體請求佇列可進一步操作,以連同每一記憶體請求,發佈一唯一識別該個別記憶體請求之請求識別符。
  59. 如請求項58之基於處理器之系統,其中該記憶體請求流量控制電路可操作以產生用於每一記憶體請求之該請求識別符,及將該請求識別符耦接至該記憶體請求佇列,且其中該記憶體請求流量控制電路可進一步操作,以在耦接至該記憶體請求佇列之該請求識別符與自該回應佇列所接收之該等讀取狀態信號及該等寫入狀態信號之間進行一比較的基礎上,產生該流量控制信號。
  60. 一種用於管理將讀取及寫入請求發佈至一系統記憶體之方法,包含:獨立地監視發佈至該系統記憶體之未完成之讀取請求及寫入請求的數目;分別基於未完成之讀取及寫入請求的數目,獨立地控制將讀取及寫入請求進一步發佈至該系統記憶體。
  61. 如請求項60之方法,其中基於未完成之讀取及寫入請求的該數目,獨立地控制將讀取及寫入請求進一步發佈至該系統記憶體包含:回應於未完成之讀取請求的該數目超過一讀取請求臨限值,暫停進一步發佈讀取請求,且包含回應於未完成之寫入請求的數目超過一寫入請求臨限值,暫停進一步發佈寫入請求。
  62. 如請求項61之方法,其中該讀取請求臨限值與該寫入請求臨限值係不相等的。
  63. 如請求項62之方法,其中該寫入請求臨限值大於該讀取請求臨限值。
  64. 如請求項61之方法,進一步包含回應於未完成之讀取請求的該數目降低至小於一讀取恢復臨限值,恢復發佈讀取請求。
  65. 如請求項61之方法,進一步包含回應於未完成之寫入請求之該數目降低至小於一寫入恢復臨限值,恢復發佈寫入請求。
  66. 如請求項60之方法,其中獨立地監視發佈至該系統記憶體之未完成之讀取請求及寫入請求之該數目包含:回應於發佈一讀取請求,遞增一讀取請求計數器,及回應於接收該相應之讀取請求已由該系統記憶體所服務之一指示,遞減該讀取請求計數器;及回應於發佈一寫入請求,遞增一寫入請求計數器,及回應於接收該相應之寫入請求已由該系統記憶體所服務之一指示,遞減該寫入請求計數器。
  67. 一種用於管理將讀取及寫入請求發佈至一系統記憶體之方法,包含:監視發佈至該系統記憶體之未完成之讀取請求及寫入請求的數目;及獨立地暫停及恢復將讀取及寫入請求發佈至該系統記憶體,以分別將未完成之讀取請求的數目維持在第一與第二讀取臨限值之間,且將未完成之寫入請求的數目維持在第一與第二寫入臨限值之間。
  68. 如請求項67之方法,其中該第一讀取臨限值大於該第二讀取臨限值,且該第一寫入臨限值大於該第二寫入臨限值,且該第一寫入臨限值不等於該第一讀取臨限值。
  69. 如請求項67之方法,其中恢復將讀取請求發佈至該系統記憶體包含:回應於未完成之讀取請求的該數目等於零,恢復發佈該等讀取請求。
  70. 如請求項67之方法,其中恢復將寫入請求發佈至該系統記憶體包含:回應於未完成之寫入請求的該數目等於零,恢復發佈該等寫入請求。
  71. 如請求項67之方法,進一步包含為每一記憶體請求產生一唯一識別該個別記憶體請求之請求識別符。
  72. 如請求項71之方法,其中監視未完成之讀取及寫入請求的該數目包含基於該請求識別符,監視發佈至該系統記憶體之特定的該等讀取及寫入請求之服務。
  73. 如請求項67之方法,其中獨立地監視發佈至該系統記憶體之未完成之讀取請求及寫入請求之該數目包含:回應於發佈一讀取請求,遞增一讀取請求計數器,及回應於接收該相應之讀取請求已由該系統記憶體所服務之一指示,遞減該讀取請求計數器;及回應於發佈一寫入請求,遞增一寫入請求計數器,及回應於接收該相應之寫入請求已由該系統記憶體所服務之一指示,遞減該寫入請求計數器。
  74. 一種用於管理將讀取及寫入請求發佈至一系統記憶體之方法,包含: 監視發佈至該系統記憶體之未完成之讀取請求的數目;回應於未完成之讀取請求的該數目超過一讀取請求臨限值,暫停將讀取請求發佈至該系統記憶體;回應於未完成之讀取請求的該數目降低至小於一讀取恢復臨限值,恢復將讀取請求發佈至該系統記憶體;監視發佈至該系統記憶體之未完成之寫入請求的數目;回應於未完成之寫入請求的該數目超過一寫入請求臨限值,暫停將寫入請求發佈至該系統記憶體;及回應於未完成之寫入請求的該數目降低至小於一寫入恢復臨限值,恢復將寫入請求發佈至該系統記憶體。
  75. 如請求項74之方法,其中該讀取請求臨限值與該寫入請求臨限值係不相等的。
  76. 如請求項75之方法,其中該寫入請求臨限值大於該讀取請求臨限值。
  77. 如請求項74之方法,其中恢復將讀取請求發佈至該系統記憶體包含回應於未完成之讀取請求的該數目等於零,恢復發佈該等讀取請求。
  78. 如請求項74之方法,其中恢復將寫入請求發佈至該系統記憶體包含回應於未完成之寫入請求的該數目等於零,恢復發佈該等寫入請求。
  79. 如請求項74之方法,進一步包含為每一讀取及寫入請求產生一唯一識別該個別記憶體請求之請求識別符。
  80. 如請求項79之方法,其中監視未完成之讀取及寫入請求的該數目包含基於該請求識別符,監視發佈至該系統記憶體之該等特定讀取及寫入請求之該服務。
  81. 如請求項74之方法,其中監視發佈至該系統記憶體之未完成之讀取請求的該數目包含:回應於發佈一讀取請求,遞增一讀取請求計數器,及回應於接收該相應之讀取請求已由該系統記憶體所服務之一指示,遞減該讀取請求計數器;且監視發佈至該系統記憶體之未完成之寫入請求的該數目包含回應於發佈一寫入請求,遞增一寫入請求計數器及回應於接收該相應之寫入請求已由該系統記憶體所服務之一指示,遞減該寫入請求計數器。
TW094102706A 2004-01-30 2005-01-28 供具有記憶體請求緩衝器之一記憶體系統用之緩衝器控制系統及方法 TWI382308B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/769,079 US7188219B2 (en) 2004-01-30 2004-01-30 Buffer control system and method for a memory system having outstanding read and write request buffers

Publications (2)

Publication Number Publication Date
TW200602861A TW200602861A (en) 2006-01-16
TWI382308B true TWI382308B (zh) 2013-01-11

Family

ID=34808037

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094102706A TWI382308B (zh) 2004-01-30 2005-01-28 供具有記憶體請求緩衝器之一記憶體系統用之緩衝器控制系統及方法

Country Status (2)

Country Link
US (3) US7188219B2 (zh)
TW (1) TWI382308B (zh)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7117316B2 (en) 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US6820181B2 (en) 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7120727B2 (en) 2003-06-19 2006-10-10 Micron Technology, Inc. Reconfigurable memory module and method
US7260685B2 (en) 2003-06-20 2007-08-21 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
US7107415B2 (en) * 2003-06-20 2006-09-12 Micron Technology, Inc. Posted write buffers and methods of posting write requests in memory modules
US7133991B2 (en) * 2003-08-20 2006-11-07 Micron Technology, Inc. Method and system for capturing and bypassing memory transactions in a hub-based memory system
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7330992B2 (en) 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7188219B2 (en) 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7162567B2 (en) * 2004-05-14 2007-01-09 Micron Technology, Inc. Memory hub and method for memory sequencing
US7519788B2 (en) 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US7818513B2 (en) * 2004-08-10 2010-10-19 Oracle America, Inc. Coordinating accesses to shared objects using transactional memory mechanisms and non-transactional software mechanisms
US7451259B2 (en) * 2004-12-06 2008-11-11 Nvidia Corporation Method and apparatus for providing peer-to-peer data transfer within a computing environment
JP4847036B2 (ja) * 2005-03-30 2011-12-28 キヤノン株式会社 バスアクセスを調停する制御装置およびデータ処理装置の制御方法
JP5024042B2 (ja) * 2005-05-30 2012-09-12 セイコーエプソン株式会社 半導体記憶装置
US7319340B2 (en) * 2005-08-01 2008-01-15 Micron Technology, Inc. Integrated circuit load board and method having on-board test circuit
US7328381B2 (en) * 2005-08-01 2008-02-05 Micron Technology, Inc. Testing system and method for memory modules having a memory hub architecture
US7765424B2 (en) * 2005-08-19 2010-07-27 Micron Technology, Inc. System and method for injecting phase jitter into integrated circuit test signals
US8135741B2 (en) * 2005-09-20 2012-03-13 Microsoft Corporation Modifying service provider context information to facilitate locating interceptor context information
US7355387B2 (en) 2005-12-08 2008-04-08 Micron Technology, Inc. System and method for testing integrated circuit timing margins
US7469309B1 (en) * 2005-12-12 2008-12-23 Nvidia Corporation Peer-to-peer data transfer method and apparatus with request limits
US7444479B2 (en) * 2005-12-28 2008-10-28 Alexander James W Fully buffered DIMM read data substitution for write acknowledgement
WO2007097029A1 (ja) * 2006-02-27 2007-08-30 Fujitsu Limited プロセッサ装置および命令処理方法
US20080222323A1 (en) * 2006-06-14 2008-09-11 Genesys Logic, Inc. Multimedia adapting apparatus
JP4142068B2 (ja) * 2006-06-16 2008-08-27 株式会社ソニー・コンピュータエンタテインメント 情報処理装置およびアクセス制御方法
US20080049617A1 (en) * 2006-08-23 2008-02-28 International Business Machines Corporation System for fine grained flow-control concurrency to prevent excessive packet loss
JP5057792B2 (ja) * 2007-01-29 2012-10-24 株式会社日立製作所 性能ボトルネックを緩和する機能を備えたストレージシステム
US20080282050A1 (en) * 2007-05-07 2008-11-13 On Demand Microelectronics Methods and arrangements for controlling memory operations
US20100179850A1 (en) * 2007-05-21 2010-07-15 Honeywell International Inc. Systems and methods for scheduling the operation of building resources
US7921271B2 (en) * 2007-06-27 2011-04-05 International Business Machines Corporation Hub for supporting high capacity memory subsystem
US7809913B2 (en) * 2007-06-27 2010-10-05 International Business Machines Corporation Memory chip for high capacity memory subsystem supporting multiple speed bus
US8037270B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for memory chip for high capacity memory subsystem supporting replication of command data
US8019949B2 (en) * 2007-06-27 2011-09-13 International Business Machines Corporation High capacity memory subsystem architecture storing interleaved data for reduced bus speed
US7818512B2 (en) * 2007-06-27 2010-10-19 International Business Machines Corporation High capacity memory subsystem architecture employing hierarchical tree configuration of memory modules
US8037272B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for memory chip for high capacity memory subsystem supporting multiple speed bus
US8504784B2 (en) * 2007-06-27 2013-08-06 Sandisk Technologies Inc. Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
US7921264B2 (en) * 2007-06-27 2011-04-05 International Business Machines Corporation Dual-mode memory chip for high capacity memory subsystem
TWI369633B (en) * 2007-06-27 2012-08-01 Sandisk Corp Phased garbage collection and house keeping operations in a flash memory system
US7996641B2 (en) * 2007-06-27 2011-08-09 International Business Machines Corporation Structure for hub for supporting high capacity memory subsystem
US7822936B2 (en) * 2007-06-27 2010-10-26 International Business Machines Corporation Memory chip for high capacity memory subsystem supporting replication of command data
US8037258B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for dual-mode memory chip for high capacity memory subsystem
US7840751B2 (en) * 2007-06-29 2010-11-23 Seagate Technology Llc Command queue management of back watered requests
US8732360B2 (en) * 2007-11-26 2014-05-20 Spansion Llc System and method for accessing memory
CN101222444B (zh) * 2008-02-04 2011-11-09 华为技术有限公司 缓存数据处理方法、装置及系统
JP5272601B2 (ja) * 2008-09-16 2013-08-28 株式会社リコー 画像形成装置およびデータ転送方法
US8433859B2 (en) * 2008-11-25 2013-04-30 Mediatek Inc. Apparatus and method for buffer management for a memory operating
US8195858B1 (en) * 2009-07-28 2012-06-05 Nvidia Corporation Managing conflicts on shared L2 bus
US8321618B1 (en) 2009-07-28 2012-11-27 Nvidia Corporation Managing conflicts on shared L2 bus
JP5454224B2 (ja) * 2010-02-25 2014-03-26 ソニー株式会社 記憶装置および記憶システム
US9164886B1 (en) * 2010-09-21 2015-10-20 Western Digital Technologies, Inc. System and method for multistage processing in a memory storage subsystem
US9015415B2 (en) * 2010-09-24 2015-04-21 Intel Corporation Multi-processor computing system having fast processor response to cache agent request capacity limit warning
US8549579B2 (en) 2011-07-06 2013-10-01 International Business Machines Corporation Dynamic data-protection policies within a request-reply message queuing environment
US8825967B2 (en) * 2011-12-08 2014-09-02 Conversant Intellectual Property Management Inc. Independent write and read control in serially-connected devices
US8880819B2 (en) * 2011-12-13 2014-11-04 Micron Technology, Inc. Memory apparatuses, computer systems and methods for ordering memory responses
US20120095607A1 (en) * 2011-12-22 2012-04-19 Wells Ryan D Method, Apparatus, and System for Energy Efficiency and Energy Conservation Through Dynamic Management of Memory and Input/Output Subsystems
US9236064B2 (en) * 2012-02-15 2016-01-12 Microsoft Technology Licensing, Llc Sample rate converter with automatic anti-aliasing filter
US8982624B2 (en) * 2012-10-02 2015-03-17 Fusion-Io, Llc Adjustable read time for memory
JP6146128B2 (ja) * 2013-05-20 2017-06-14 ヤマハ株式会社 データ処理装置
KR102034626B1 (ko) 2013-06-26 2019-10-21 삼성전자 주식회사 메모리 동작을 제어하는 방법 및 장치
JP6221467B2 (ja) * 2013-07-29 2017-11-01 株式会社リコー 画像処理装置、制御方法
TWI588652B (zh) * 2015-09-01 2017-06-21 慧榮科技股份有限公司 讀取及寫入命令排程方法以及使用該方法的裝置
JP6950149B2 (ja) * 2015-09-08 2021-10-13 ソニーグループ株式会社 メモリコントローラ、メモリシステム、および、メモリコントローラの制御方法
US10178041B2 (en) * 2015-09-23 2019-01-08 Intel Corporation Technologies for aggregation-based message synchronization
US10148483B1 (en) * 2015-09-30 2018-12-04 EMC IP Holding Company LLC Dynamic front end connectivity optimizations
US10719236B2 (en) * 2015-11-20 2020-07-21 Arm Ltd. Memory controller with non-volatile buffer for persistent memory operations
KR102440948B1 (ko) * 2016-02-11 2022-09-05 삼성전자주식회사 반도체 장치 및 반도체 장치의 동작 방법
JP6750011B2 (ja) * 2016-06-15 2020-09-02 株式会社日立製作所 情報処理システム
KR20180047778A (ko) * 2016-11-01 2018-05-10 삼성전자주식회사 단계별 저전력 상태들을 갖는 메모리 장치
US10657022B2 (en) * 2017-02-20 2020-05-19 Tsinghua University Input and output recording device and method, CPU and data read and write operation method thereof
US10572671B2 (en) 2017-02-20 2020-02-25 Tsinghua University Checking method, checking system and checking device for processor security
US10684896B2 (en) 2017-02-20 2020-06-16 Tsinghua University Method for processing asynchronous event by checking device and checking device
US10642981B2 (en) 2017-02-20 2020-05-05 Wuxi Research Institute Of Applied Technologies Tsinghua University Checking method, checking device and checking system for processor
CN108667740B (zh) * 2017-03-29 2022-02-15 腾讯科技(深圳)有限公司 流量控制的方法、装置及系统
US10229059B2 (en) 2017-03-31 2019-03-12 Intel Corporation Dynamic fill policy for a shared cache
CN107341131B (zh) 2017-06-29 2021-02-09 上海兆芯集成电路有限公司 具有近端数据处理引擎的芯片组
US10714159B2 (en) 2018-05-09 2020-07-14 Micron Technology, Inc. Indication in memory system or sub-system of latency associated with performing an access command
US11010092B2 (en) 2018-05-09 2021-05-18 Micron Technology, Inc. Prefetch signaling in memory system or sub-system
US10754578B2 (en) 2018-05-09 2020-08-25 Micron Technology, Inc. Memory buffer management and bypass
US10942854B2 (en) 2018-05-09 2021-03-09 Micron Technology, Inc. Prefetch management for memory
US10678478B2 (en) * 2018-08-24 2020-06-09 Apple Inc. Ordering memory requests based on access efficiency
CN109407970B (zh) * 2018-09-12 2022-02-11 新华三技术有限公司成都分公司 读写请求处理方法、装置及电子设备
US10969978B2 (en) * 2018-09-25 2021-04-06 Micron Technology, Inc. Configurable buffer manager arbitration request throttling mechanism
KR20200057311A (ko) * 2018-11-16 2020-05-26 삼성전자주식회사 통신되는 데이터의 양을 동작의 중단 빈도에 따라 스로틀링하는 스토리지 장치
CN110209597B (zh) * 2019-05-24 2021-10-15 北京百度网讯科技有限公司 处理访问请求的方法、装置、设备和存储介质
CN112148644B (zh) * 2019-06-27 2024-05-07 伊姆西Ip控股有限责任公司 处理输入/输出请求的方法、装置和计算机程序产品
US11593025B2 (en) * 2020-01-15 2023-02-28 Arm Limited Write operation status
US11086853B1 (en) * 2020-10-12 2021-08-10 iodyne, LLC Method and system for streaming data from portable storage devices
US20230065395A1 (en) * 2021-08-30 2023-03-02 Micron Technology, Inc. Command retrieval and issuance policy
CN114218145A (zh) * 2021-12-17 2022-03-22 山东云海国创云计算装备产业创新中心有限公司 一种chi协议防阻塞互联方法、系统、设备及存储介质
US11836096B2 (en) * 2021-12-22 2023-12-05 Micron Technology, Inc. Memory-flow control register

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW387072B (en) * 1997-04-04 2000-04-11 Ibm Low latency first data access in a data buffered smp memory controller
US6212590B1 (en) * 1997-12-22 2001-04-03 Compaq Computer Corporation Computer system having integrated bus bridge design with delayed transaction arbitration mechanism employed within laptop computer docked to expansion base
US6223259B1 (en) * 1998-10-30 2001-04-24 Telefonaktiebolaget Lm Ericsson (Publ) Reducing read cycle of memory read request for data to be partially modified by a pending write request
US6321233B1 (en) * 1998-12-15 2001-11-20 Micron Technology, Inc. Apparatus for controlling pipelined memory access requests
TW470881B (en) * 1998-11-30 2002-01-01 Ibm Method and system for efficiently handling memory operations in a data processing system
TW472195B (en) * 1999-07-08 2002-01-11 Ibm Method and apparatus for achieving correct order among bus memory transactions in a physically distributed SMP system

Family Cites Families (294)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4045781A (en) 1976-02-13 1977-08-30 Digital Equipment Corporation Memory module with selectable byte addressing for digital data processing system
US4253146A (en) * 1978-12-21 1981-02-24 Burroughs Corporation Module for coupling computer-processors
US4245306A (en) * 1978-12-21 1981-01-13 Burroughs Corporation Selection of addressed processor in a multi-processor network
US4253144A (en) * 1978-12-21 1981-02-24 Burroughs Corporation Multi-processor communication network
US4240143A (en) 1978-12-22 1980-12-16 Burroughs Corporation Hierarchical multi-processor network for memory sharing
US4608702A (en) 1984-12-21 1986-08-26 Advanced Micro Devices, Inc. Method for digital clock recovery from Manchester-encoded signals
US4724520A (en) * 1985-07-01 1988-02-09 United Technologies Corporation Modular multiport data hub
US4707823A (en) 1986-07-21 1987-11-17 Chrysler Motors Corporation Fiber optic multiplexed data acquisition system
JPH07117863B2 (ja) * 1987-06-26 1995-12-18 株式会社日立製作所 オンラインシステムの再立上げ方式
CA1302584C (en) 1987-07-30 1992-06-02 Alliant Computer Systems Corporation Parallel processing computer in which memory access priorities are varied
US4891808A (en) * 1987-12-24 1990-01-02 Coherent Communication Systems Corp. Self-synchronizing multiplexer
US5251303A (en) 1989-01-13 1993-10-05 International Business Machines Corporation System for DMA block data transfer based on linked control blocks
US5442770A (en) 1989-01-24 1995-08-15 Nec Electronics, Inc. Triple port cache memory
US4953930A (en) 1989-03-15 1990-09-04 Ramtech, Inc. CPU socket supporting socket-to-socket optical communications
CA2011518C (en) 1989-04-25 1993-04-20 Ronald N. Fortino Distributed cache dram chip and control method
JPH03156795A (ja) 1989-11-15 1991-07-04 Toshiba Micro Electron Kk 半導体メモリ回路装置
US5317752A (en) * 1989-12-22 1994-05-31 Tandem Computers Incorporated Fault-tolerant computer system with auto-restart after power-fall
US5327553A (en) * 1989-12-22 1994-07-05 Tandem Computers Incorporated Fault-tolerant computer system with /CONFIG filesystem
JP2772103B2 (ja) 1990-03-28 1998-07-02 株式会社東芝 計算機システム立上げ方式
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US5243703A (en) 1990-04-18 1993-09-07 Rambus, Inc. Apparatus for synchronously generating clock signals in a data processing system
GB2244157A (en) 1990-05-15 1991-11-20 Sun Microsystems Inc Apparatus for row caching in random access memory
US5461627A (en) 1991-12-24 1995-10-24 Rypinski; Chandos A. Access protocol for a common channel wireless network
JP2554816B2 (ja) 1992-02-20 1996-11-20 株式会社東芝 半導体記憶装置
US5355391A (en) 1992-03-06 1994-10-11 Rambus, Inc. High speed bus system
JP3517237B2 (ja) * 1992-03-06 2004-04-12 ラムバス・インコーポレーテッド 同期バス・システムおよびそのためのメモリ装置
JPH07505491A (ja) 1992-03-25 1995-06-15 サン マイクロシステムズ インコーポレイテッド 光ファイバメモリ接続システム
US5659713A (en) 1992-04-24 1997-08-19 Digital Equipment Corporation Memory stream buffer with variable-size prefetch depending on memory interleaving configuration
US5432907A (en) * 1992-05-12 1995-07-11 Network Resources Corporation Network hub with integrated bridge
US5270964A (en) 1992-05-19 1993-12-14 Sun Microsystems, Inc. Single in-line memory module
US5828907A (en) 1992-06-30 1998-10-27 Discovision Associates Token-based adaptive video processing arrangement
GB2270780A (en) * 1992-09-21 1994-03-23 Ibm Scatter-gather in data processing systems.
US5465343A (en) 1993-04-30 1995-11-07 Quantum Corporation Shared memory array for data block and control program storage in disk drive
JPH0713945A (ja) 1993-06-16 1995-01-17 Nippon Sheet Glass Co Ltd 演算処理部および制御・記憶部分離型マルチプロセッサ ・システムのバス構造
US5497494A (en) 1993-07-23 1996-03-05 International Business Machines Corporation Method for saving and restoring the state of a CPU executing code in protected mode
JPH0744455A (ja) 1993-07-26 1995-02-14 Nec Corp アドレスデコーダ
US5613075A (en) 1993-11-12 1997-03-18 Intel Corporation Method and apparatus for providing deterministic read access to main memory in a computer system
US5729709A (en) * 1993-11-12 1998-03-17 Intel Corporation Memory controller with burst addressing circuit
US5502621A (en) * 1994-03-31 1996-03-26 Hewlett-Packard Company Mirrored pin assignment for two sided multi-chip layout
US5566325A (en) 1994-06-30 1996-10-15 Digital Equipment Corporation Method and apparatus for adaptive memory access
US6175571B1 (en) * 1994-07-22 2001-01-16 Network Peripherals, Inc. Distributed memory switching hub
US5978567A (en) 1994-07-27 1999-11-02 Instant Video Technologies Inc. System for distribution of interactive multimedia and linear programs by enabling program webs which include control scripts to define presentation by client transceiver
US5553070A (en) * 1994-09-13 1996-09-03 Riley; Robert E. Data link module for time division multiplexing control systems
EP0796467B1 (en) 1994-12-08 2003-03-19 Intel Corporation A method and an apparatus for enabling a processor to access an external component through a private bus or a shared bus
US6804760B2 (en) 1994-12-23 2004-10-12 Micron Technology, Inc. Method for determining a type of memory present in a system
US5715456A (en) * 1995-02-13 1998-02-03 International Business Machines Corporation Method and apparatus for booting a computer system without pre-installing an operating system
US5638534A (en) * 1995-03-31 1997-06-10 Samsung Electronics Co., Ltd. Memory controller which executes read and write commands out of order
US6128700A (en) 1995-05-17 2000-10-03 Monolithic System Technology, Inc. System utilizing a DRAM array as a next level cache memory and method for operating same
US5875352A (en) * 1995-11-03 1999-02-23 Sun Microsystems, Inc. Method and apparatus for multiple channel direct memory access control
US5796413A (en) 1995-12-06 1998-08-18 Compaq Computer Corporation Graphics controller utilizing video memory to provide macro command capability and enhanched command buffering
US5834956A (en) * 1995-12-29 1998-11-10 Intel Corporation Core clock correction in a 2/N mode clocking scheme
US7681005B1 (en) 1996-01-11 2010-03-16 Micron Technology, Inc. Asynchronously-accessible memory device with mode selection circuitry for burst or pipelined operation
US5966724A (en) 1996-01-11 1999-10-12 Micron Technology, Inc. Synchronous memory device with dual page and burst mode operations
US5832250A (en) 1996-01-26 1998-11-03 Unisys Corporation Multi set cache structure having parity RAMs holding parity bits for tag data and for status data utilizing prediction circuitry that predicts and generates the needed parity bits
US5819304A (en) 1996-01-29 1998-10-06 Iowa State University Research Foundation, Inc. Random access memory assembly
US5659798A (en) 1996-02-02 1997-08-19 Blumrich; Matthias Augustin Method and system for initiating and loading DMA controller registers by using user-level programs
US5787304A (en) 1996-02-05 1998-07-28 International Business Machines Corporation Multipath I/O storage systems with multipath I/O request mechanisms
US5818844A (en) 1996-06-06 1998-10-06 Advanced Micro Devices, Inc. Address generation and data path arbitration to and from SRAM to accommodate multiple transmitted packets
US5875454A (en) 1996-07-24 1999-02-23 International Business Machiness Corporation Compressed data cache storage system
JPH1049511A (ja) 1996-08-02 1998-02-20 Oki Electric Ind Co Ltd 1チップマイクロコンピュータ
JP4070255B2 (ja) 1996-08-13 2008-04-02 富士通株式会社 半導体集積回路
TW304288B (en) 1996-08-16 1997-05-01 United Microelectronics Corp Manufacturing method of semiconductor memory device with capacitor
US5706224A (en) * 1996-10-10 1998-01-06 Quality Semiconductor, Inc. Content addressable memory and random access memory partition circuit
US6167486A (en) 1996-11-18 2000-12-26 Nec Electronics, Inc. Parallel access virtual channel memory system with cacheable channels
US5887159A (en) * 1996-12-11 1999-03-23 Digital Equipment Corporation Dynamically determining instruction hint fields
KR19980064365A (ko) 1996-12-19 1998-10-07 윌리엄비.켐플러 메모리 모듈로의 어드레스 및 데이타 분산용 장치 및 방법
US6216219B1 (en) 1996-12-31 2001-04-10 Texas Instruments Incorporated Microprocessor circuits, systems, and methods implementing a load target buffer with entries relating to prefetch desirability
US6308248B1 (en) * 1996-12-31 2001-10-23 Compaq Computer Corporation Method and system for allocating memory space using mapping controller, page table and frame numbers
JPH10214223A (ja) 1997-01-29 1998-08-11 Hitachi Ltd 情報処理システム
US6553476B1 (en) 1997-02-10 2003-04-22 Matsushita Electric Industrial Co., Ltd. Storage management based on predicted I/O execution times
US6031241A (en) * 1997-03-11 2000-02-29 University Of Central Florida Capillary discharge extreme ultraviolet lamp source for EUV microlithography and other related applications
US5950229A (en) 1997-03-12 1999-09-07 Micron Electronics, Inc. System for accelerating memory bandwidth
US6271582B1 (en) 1997-04-07 2001-08-07 Micron Technology, Inc. Interdigitated leads-over-chip lead frame, device, and method for supporting an integrated circuit die
US5946712A (en) 1997-06-04 1999-08-31 Oak Technology, Inc. Apparatus and method for reading data from synchronous memory
US6092158A (en) * 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams
US6243769B1 (en) * 1997-07-18 2001-06-05 Micron Technology, Inc. Dynamic buffer allocation for a computer system
US6073190A (en) * 1997-07-18 2000-06-06 Micron Electronics, Inc. System for dynamic buffer allocation comprising control logic for controlling a first address buffer and a first data buffer as a matched pair
US6760833B1 (en) 1997-08-01 2004-07-06 Micron Technology, Inc. Split embedded DRAM processor
US6105075A (en) 1997-08-05 2000-08-15 Adaptec, Inc. Scatter gather memory system for a hardware accelerated command interpreter engine
JP4014708B2 (ja) 1997-08-21 2007-11-28 株式会社ルネサステクノロジ 半導体集積回路装置の設計方法
US6128703A (en) 1997-09-05 2000-10-03 Integrated Device Technology, Inc. Method and apparatus for memory prefetch operation of volatile non-coherent data
US6249802B1 (en) * 1997-09-19 2001-06-19 Silicon Graphics, Inc. Method, system, and computer program product for allocating physical memory in a distributed shared memory network
US6223301B1 (en) * 1997-09-30 2001-04-24 Compaq Computer Corporation Fault tolerant memory
US6185676B1 (en) * 1997-09-30 2001-02-06 Intel Corporation Method and apparatus for performing early branch prediction in a microprocessor
JPH11120120A (ja) 1997-10-13 1999-04-30 Fujitsu Ltd カードバス用インターフェース回路及びそれを有するカードバス用pcカード
US5889714A (en) 1997-11-03 1999-03-30 Digital Equipment Corporation Adaptive precharge management for synchronous DRAM
US5987196A (en) 1997-11-06 1999-11-16 Micron Technology, Inc. Semiconductor structure having an optical signal path in a substrate and method for forming the same
US6098158A (en) 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
US6023726A (en) * 1998-01-20 2000-02-08 Netscape Communications Corporation User configurable prefetch control system for enabling client to prefetch documents from a network server
GB2333896B (en) * 1998-01-31 2003-04-09 Mitel Semiconductor Ab Vertical cavity surface emitting laser
US6128706A (en) 1998-02-03 2000-10-03 Institute For The Development Of Emerging Architectures, L.L.C. Apparatus and method for a load bias--load with intent to semaphore
US7024518B2 (en) 1998-02-13 2006-04-04 Intel Corporation Dual-port buffer-to-memory interface
US6186400B1 (en) 1998-03-20 2001-02-13 Symbol Technologies, Inc. Bar code reader with an integrated scanning component module mountable on printed circuit board
US6006340A (en) 1998-03-27 1999-12-21 Phoenix Technologies Ltd. Communication interface between two finite state machines operating at different clock domains
US6079008A (en) 1998-04-03 2000-06-20 Patton Electronics Co. Multiple thread multiple data predictive coded parallel processing system and method
US6247107B1 (en) * 1998-04-06 2001-06-12 Advanced Micro Devices, Inc. Chipset configured to perform data-directed prefetching
JPH11316617A (ja) 1998-05-01 1999-11-16 Mitsubishi Electric Corp 半導体回路装置
KR100283243B1 (ko) 1998-05-11 2001-03-02 구자홍 운영체제의 부팅방법
US6167465A (en) 1998-05-20 2000-12-26 Aureal Semiconductor, Inc. System for managing multiple DMA connections between a peripheral device and a memory and performing real-time operations on data carried by a selected DMA connection
TW434756B (en) 1998-06-01 2001-05-16 Hitachi Ltd Semiconductor device and its manufacturing method
US6405280B1 (en) * 1998-06-05 2002-06-11 Micron Technology, Inc. Packet-oriented synchronous DRAM interface supporting a plurality of orderings for data block transfers within a burst sequence
US6134624A (en) 1998-06-08 2000-10-17 Storage Technology Corporation High bandwidth cache system
US6301637B1 (en) 1998-06-08 2001-10-09 Storage Technology Corporation High performance data paths
US6453377B1 (en) * 1998-06-16 2002-09-17 Micron Technology, Inc. Computer including optical interconnect, memory unit, and method of assembling a computer
JP2000011640A (ja) 1998-06-23 2000-01-14 Nec Corp 半導体記憶装置
FR2780535B1 (fr) 1998-06-25 2000-08-25 Inst Nat Rech Inf Automat Dispositif de traitement de donnees d'acquisition, notamment de donnees d'image
JP3178423B2 (ja) 1998-07-03 2001-06-18 日本電気株式会社 バーチャルチャネルsdram
US6286083B1 (en) 1998-07-08 2001-09-04 Compaq Computer Corporation Computer system with adaptive memory arbitration scheme
US6735679B1 (en) * 1998-07-08 2004-05-11 Broadcom Corporation Apparatus and method for optimizing access to memory
JP3248617B2 (ja) * 1998-07-14 2002-01-21 日本電気株式会社 半導体記憶装置
US6145033A (en) * 1998-07-17 2000-11-07 Seiko Epson Corporation Management of display FIFO requests for DRAM access wherein low priority requests are initiated when FIFO level is below/equal to high threshold value
US6272609B1 (en) 1998-07-31 2001-08-07 Micron Electronics, Inc. Pipelined memory controller
US6157743A (en) * 1998-07-31 2000-12-05 Hewlett Packard Company Method for retrieving compressed texture data from a memory system
US6061296A (en) * 1998-08-17 2000-05-09 Vanguard International Semiconductor Corporation Multiple data clock activation with programmable delay for use in multiple CAS latency memory devices
US6219725B1 (en) * 1998-08-28 2001-04-17 Hewlett-Packard Company Method and apparatus for performing direct memory access transfers involving non-sequentially-addressable memory locations
US6029250A (en) * 1998-09-09 2000-02-22 Micron Technology, Inc. Method and apparatus for adaptively adjusting the timing offset between a clock signal and digital signals transmitted coincident with that clock signal, and memory device and system using same
US6587912B2 (en) * 1998-09-30 2003-07-01 Intel Corporation Method and apparatus for implementing multiple memory buses on a memory module
US6910109B2 (en) * 1998-09-30 2005-06-21 Intel Corporation Tracking memory page state
US6243831B1 (en) 1998-10-31 2001-06-05 Compaq Computer Corporation Computer system with power loss protection mechanism
JP3248500B2 (ja) * 1998-11-12 2002-01-21 日本電気株式会社 半導体記憶装置およびそのデータ読み出し方法
US6434639B1 (en) 1998-11-13 2002-08-13 Intel Corporation System for combining requests associated with one or more memory locations that are collectively associated with a single cache line to furnish a single memory operation
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
US6438622B1 (en) 1998-11-17 2002-08-20 Intel Corporation Multiprocessor system including a docking system
US6430696B1 (en) 1998-11-30 2002-08-06 Micron Technology, Inc. Method and apparatus for high speed data capture utilizing bit-to-bit timing correction, and memory device using same
US6463059B1 (en) 1998-12-04 2002-10-08 Koninklijke Philips Electronics N.V. Direct memory access execution engine with indirect addressing of circular queues in addition to direct memory addressing
US6349363B2 (en) 1998-12-08 2002-02-19 Intel Corporation Multi-section cache with different attributes for each section
US6374360B1 (en) 1998-12-11 2002-04-16 Micron Technology, Inc. Method and apparatus for bit-to-bit timing correction of a high speed memory bus
US6067262A (en) * 1998-12-11 2000-05-23 Lsi Logic Corporation Redundancy analysis for embedded memories with built-in self test and built-in self repair
US6191663B1 (en) * 1998-12-22 2001-02-20 Intel Corporation Echo reduction on bit-serial, multi-drop bus
US6367074B1 (en) * 1998-12-28 2002-04-02 Intel Corporation Operation of a system
US6061263A (en) * 1998-12-29 2000-05-09 Intel Corporation Small outline rambus in-line memory module
US6598154B1 (en) * 1998-12-29 2003-07-22 Intel Corporation Precoding branch instructions to reduce branch-penalty in pipelined processors
US6542968B1 (en) 1999-01-15 2003-04-01 Hewlett-Packard Company System and method for managing data in an I/O cache
US6684304B2 (en) 1999-01-29 2004-01-27 Micron Technology, Inc. Method to access memory based on a programmable page limit
DE60043651D1 (de) 1999-02-01 2010-02-25 Renesas Tech Corp Integrierte halbleiterschaltung und nichtflüchtiges speicherelement
US6233629B1 (en) 1999-02-05 2001-05-15 Broadcom Corporation Self-adjusting elasticity data buffer with preload value
JP3756337B2 (ja) * 1999-02-09 2006-03-15 愛三工業株式会社 流体ポンプ
US6285349B1 (en) 1999-02-26 2001-09-04 Intel Corporation Correcting non-uniformity in displays
JP2000268006A (ja) 1999-03-15 2000-09-29 Fuji Xerox Co Ltd マルチプロセッサシステム
US6564329B1 (en) * 1999-03-16 2003-05-13 Linkup Systems Corporation System and method for dynamic clock generation
US6389514B1 (en) * 1999-03-25 2002-05-14 Hewlett-Packard Company Method and computer system for speculatively closing pages in memory
US6487628B1 (en) * 1999-03-31 2002-11-26 Compaq Computer Corporation Peripheral component interface with multiple data channels and reduced latency over a system area network
US6460108B1 (en) * 1999-03-31 2002-10-01 Intel Corporation Low cost data streaming mechanism
US6496909B1 (en) 1999-04-06 2002-12-17 Silicon Graphics, Inc. Method for managing concurrent access to virtual memory data structures
US6433785B1 (en) 1999-04-09 2002-08-13 Intel Corporation Method and apparatus for improving processor to graphics device throughput
KR100328726B1 (ko) 1999-04-29 2002-03-20 한탁돈 메모리 엑세스 시스템 및 그 제어방법
US6381190B1 (en) * 1999-05-13 2002-04-30 Nec Corporation Semiconductor memory device in which use of cache can be selected
US6233376B1 (en) * 1999-05-18 2001-05-15 The United States Of America As Represented By The Secretary Of The Navy Embedded fiber optic circuit boards and integrated circuits
US6449308B1 (en) 1999-05-25 2002-09-10 Intel Corporation High-speed digital distribution system
US6294937B1 (en) 1999-05-25 2001-09-25 Lsi Logic Corporation Method and apparatus for self correcting parallel I/O circuitry
JP3721283B2 (ja) 1999-06-03 2005-11-30 株式会社日立製作所 主記憶共有型マルチプロセッサシステム
JP2001014840A (ja) * 1999-06-24 2001-01-19 Nec Corp 複数ラインバッファ型メモリlsi
US6330639B1 (en) 1999-06-29 2001-12-11 Intel Corporation Method and apparatus for dynamically changing the sizes of pools that control the power consumption levels of memory devices
US6434736B1 (en) 1999-07-08 2002-08-13 Intel Corporation Location based timing scheme in memory design
US6401213B1 (en) * 1999-07-09 2002-06-04 Micron Technology, Inc. Timing circuit for high speed memory
US6460114B1 (en) 1999-07-29 2002-10-01 Micron Technology, Inc. Storing a flushed cache line in a memory buffer of a controller
US6477592B1 (en) 1999-08-06 2002-11-05 Integrated Memory Logic, Inc. System for I/O interfacing for semiconductor chip utilizing addition of reference element to each data element in first data stream and interpret to recover data elements of second data stream
US6629220B1 (en) 1999-08-20 2003-09-30 Intel Corporation Method and apparatus for dynamic arbitration between a first queue and a second queue based on a high priority transaction type
US6493803B1 (en) 1999-08-23 2002-12-10 Advanced Micro Devices, Inc. Direct memory access controller with channel width configurability support
US6539490B1 (en) * 1999-08-30 2003-03-25 Micron Technology, Inc. Clock distribution without clock delay or skew
US6552564B1 (en) * 1999-08-30 2003-04-22 Micron Technology, Inc. Technique to reduce reflections and ringing on CMOS interconnections
US6307769B1 (en) 1999-09-02 2001-10-23 Micron Technology, Inc. Semiconductor devices having mirrored terminal arrangements, devices including same, and methods of testing such semiconductor devices
US6594713B1 (en) * 1999-09-10 2003-07-15 Texas Instruments Incorporated Hub interface unit and application unit interfaces for expanded direct memory access processor
US6467013B1 (en) 1999-09-30 2002-10-15 Intel Corporation Memory transceiver to couple an additional memory channel to an existing memory channel
US6438668B1 (en) 1999-09-30 2002-08-20 Apple Computer, Inc. Method and apparatus for reducing power consumption in a digital processing system
US6421744B1 (en) * 1999-10-25 2002-07-16 Motorola, Inc. Direct memory access controller and method therefor
US6782466B1 (en) 1999-11-24 2004-08-24 Koninklijke Philips Electronics N.V. Arrangement and method for accessing data in a virtual memory arrangement
KR100319292B1 (ko) 1999-12-02 2002-01-05 윤종용 빠른 부팅 속도를 갖는 컴퓨터 시스템 및 그 방법
JP3528727B2 (ja) * 1999-12-08 2004-05-24 日本電気株式会社 受信電力計算回路及びそれを用いた受信機
US6501471B1 (en) 1999-12-13 2002-12-31 Intel Corporation Volume rendering
JP3546788B2 (ja) * 1999-12-20 2004-07-28 日本電気株式会社 メモリ制御回路
JP3356747B2 (ja) 1999-12-22 2002-12-16 エヌイーシーマイクロシステム株式会社 半導体記憶装置
US6252821B1 (en) 1999-12-29 2001-06-26 Intel Corporation Method and apparatus for memory address decode in memory subsystems supporting a large number of memory devices
US6496193B1 (en) 1999-12-30 2002-12-17 Intel Corporation Method and apparatus for fast loading of texture data into a tiled memory
US6628294B1 (en) 1999-12-31 2003-09-30 Intel Corporation Prefetching of virtual-to-physical address translation for display data
US6502161B1 (en) 2000-01-05 2002-12-31 Rambus Inc. Memory system including a point-to-point linked memory subsystem
KR100343383B1 (ko) * 2000-01-05 2002-07-15 윤종용 반도체 메모리 장치 및 이 장치의 데이터 샘플링 방법
JP2001193639A (ja) * 2000-01-11 2001-07-17 Toyota Autom Loom Works Ltd 電動斜板圧縮機
US6745275B2 (en) * 2000-01-25 2004-06-01 Via Technologies, Inc. Feedback system for accomodating different memory module loading
US6823023B1 (en) 2000-01-31 2004-11-23 Intel Corporation Serial bus communication system
US6185352B1 (en) * 2000-02-24 2001-02-06 Siecor Operations, Llc Optical fiber ribbon fan-out cables
JP2001265539A (ja) 2000-03-16 2001-09-28 Fuji Xerox Co Ltd アレイ型記憶装置及び情報処理システム
JP2001274323A (ja) * 2000-03-24 2001-10-05 Hitachi Ltd 半導体装置とそれを搭載した半導体モジュール、および半導体装置の製造方法
US6370611B1 (en) * 2000-04-04 2002-04-09 Compaq Computer Corporation Raid XOR operations to synchronous DRAM using a read buffer and pipelining of synchronous DRAM burst read data
US6725388B1 (en) 2000-06-13 2004-04-20 Intel Corporation Method and system for performing link synchronization between two clock domains by inserting command signals into a data stream transmitted between the two clock domains
US6728800B1 (en) * 2000-06-28 2004-04-27 Intel Corporation Efficient performance based scheduling mechanism for handling multiple TLB operations
TW491970B (en) 2000-06-29 2002-06-21 Silicon Integrated Sys Corp Page collector for improving performance of a memory
US6594722B1 (en) * 2000-06-29 2003-07-15 Intel Corporation Mechanism for managing multiple out-of-order packet streams in a PCI host bridge
JP2002014875A (ja) * 2000-06-30 2002-01-18 Mitsubishi Electric Corp 半導体集積回路、半導体集積回路のメモリリペア方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
US6799268B1 (en) 2000-06-30 2004-09-28 Intel Corporation Branch ordering buffer
US6754812B1 (en) * 2000-07-06 2004-06-22 Intel Corporation Hardware predication for conditional instruction path branching
US6816947B1 (en) 2000-07-20 2004-11-09 Silicon Graphics, Inc. System and method for memory arbitration
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
US6647470B1 (en) 2000-08-21 2003-11-11 Micron Technology, Inc. Memory device having posted write per command
US6704817B1 (en) * 2000-08-31 2004-03-09 Hewlett-Packard Development Company, L.P. Computer architecture and system for efficient management of bi-directional bus
US6453393B1 (en) 2000-09-18 2002-09-17 Intel Corporation Method and apparatus for interfacing to a computer memory
US6526483B1 (en) 2000-09-20 2003-02-25 Broadcom Corporation Page open hint in transactions
US6859208B1 (en) 2000-09-29 2005-02-22 Intel Corporation Shared translation address caching
US6523093B1 (en) * 2000-09-29 2003-02-18 Intel Corporation Prefetch buffer allocation and filtering system
US6523092B1 (en) * 2000-09-29 2003-02-18 Intel Corporation Cache line replacement policy enhancement to avoid memory page thrashing
US6658509B1 (en) 2000-10-03 2003-12-02 Intel Corporation Multi-tier point-to-point ring memory interface
JP2002123479A (ja) 2000-10-17 2002-04-26 Hitachi Ltd ディスク制御装置およびそのキャッシュ制御方法
US7006505B1 (en) * 2000-10-23 2006-02-28 Bay Microsystems, Inc. Memory management system and algorithm for network processor architecture
US6792059B2 (en) 2000-11-30 2004-09-14 Trw Inc. Early/on-time/late gate bit synchronizer
US6631440B2 (en) 2000-11-30 2003-10-07 Hewlett-Packard Development Company Method and apparatus for scheduling memory calibrations based on transactions
US6807630B2 (en) 2000-12-15 2004-10-19 International Business Machines Corporation Method for fast reinitialization wherein a saved system image of an operating system is transferred into a primary memory from a secondary memory
US6801994B2 (en) 2000-12-20 2004-10-05 Microsoft Corporation Software management systems and methods for automotive computing devices
US6751703B2 (en) 2000-12-27 2004-06-15 Emc Corporation Data storage systems and methods which utilize an on-board cache
US6622227B2 (en) 2000-12-27 2003-09-16 Intel Corporation Method and apparatus for utilizing write buffers in memory control/interface
JP2002232890A (ja) 2001-02-01 2002-08-16 Sony Corp ブロック歪低減回路、再生装置、受信装置、ブロック歪低減方法
JP2002236607A (ja) 2001-02-13 2002-08-23 Matsushita Electric Ind Co Ltd 共有メモリ制御装置とマルチメディア処理システム
US6889304B2 (en) * 2001-02-28 2005-05-03 Rambus Inc. Memory device supporting a dynamically configurable core organization
US6829705B2 (en) 2001-02-28 2004-12-07 Mpc Computers, Llc System information display method and apparatus
DE10110469A1 (de) 2001-03-05 2002-09-26 Infineon Technologies Ag Integrierter Speicher und Verfahren zum Testen und Reparieren desselben
US6904499B2 (en) 2001-03-30 2005-06-07 Intel Corporation Controlling cache memory in external chipset using processor
US6842830B2 (en) 2001-03-31 2005-01-11 Intel Corporation Mechanism for handling explicit writeback in a cache coherent multi-node architecture
US6670959B2 (en) * 2001-05-18 2003-12-30 Sun Microsystems, Inc. Method and apparatus for reducing inefficiencies in shared memory devices
US20020178319A1 (en) 2001-05-24 2002-11-28 Jorge Sanchez-Olea Optical bus arrangement for computer system
US6697926B2 (en) * 2001-06-06 2004-02-24 Micron Technology, Inc. Method and apparatus for determining actual write latency and accurately aligning the start of data capture with the arrival of data at a memory device
SE524110C2 (sv) 2001-06-06 2004-06-29 Kvaser Consultant Ab Anordning och förfarande vid system med lokalt utplacerade modulenheter samt kontaktenhet för anslutning av sådan modulenhet
US6633959B2 (en) 2001-06-21 2003-10-14 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that provides notification of remote deallocation of shared data
US6920533B2 (en) * 2001-06-27 2005-07-19 Intel Corporation System boot time reduction method
DE60204189T2 (de) 2001-06-29 2006-02-02 Stmicroelectronics Pvt. Ltd. FPGA mit zumindest zwei unterschiedlichen und unabhängig konfigurierbaren Speicherstrukturen
US6944694B2 (en) 2001-07-11 2005-09-13 Micron Technology, Inc. Routability for memory devices
US6721195B2 (en) * 2001-07-12 2004-04-13 Micron Technology, Inc. Reversed memory module socket and motherboard incorporating same
US6792496B2 (en) 2001-08-02 2004-09-14 Intel Corporation Prefetching data for peripheral component interconnect devices
US6681292B2 (en) 2001-08-27 2004-01-20 Intel Corporation Distributed read and write caching implementation for optimized input/output applications
EP1421704B1 (en) 2001-08-29 2007-11-14 Analog Devices, Inc. Methods and apparatus for clock and power control in wireless systems
US7941056B2 (en) * 2001-08-30 2011-05-10 Micron Technology, Inc. Optical interconnect in high-speed memory systems
US6665202B2 (en) 2001-09-25 2003-12-16 Integrated Device Technology, Inc. Content addressable memory (CAM) devices that can identify highest priority matches in non-sectored CAM arrays and methods of operating same
US6718440B2 (en) * 2001-09-28 2004-04-06 Intel Corporation Memory access latency hiding with hint buffer
DE10153657C2 (de) * 2001-10-31 2003-11-06 Infineon Technologies Ag Anordnung zur Datenübertragung in einem Halbleiterspeichersystem und Datenübertragungsverfahren dafür
US6886048B2 (en) * 2001-11-15 2005-04-26 Hewlett-Packard Development Company, L.P. Techniques for processing out-of-order requests in a processor-based system
US6646929B1 (en) 2001-12-05 2003-11-11 Lsi Logic Corporation Methods and structure for read data synchronization with minimal latency
KR100454123B1 (ko) 2001-12-06 2004-10-26 삼성전자주식회사 반도체 집적 회로 장치 및 그것을 구비한 모듈
US6775747B2 (en) 2002-01-03 2004-08-10 Intel Corporation System and method for performing page table walks on speculative software prefetch operations
US6832303B2 (en) 2002-01-03 2004-12-14 Hewlett-Packard Development Company, L.P. Method and system for managing an allocation of a portion of a memory
US6856167B2 (en) 2002-01-17 2005-02-15 Irvine Sensors Corporation Field programmable gate array with a variably wide word width memory
US6804764B2 (en) 2002-01-22 2004-10-12 Mircron Technology, Inc. Write clock and data window tuning based on rank select
US20030158995A1 (en) 2002-02-15 2003-08-21 Ming-Hsien Lee Method for DRAM control with adjustable page size
US20030156639A1 (en) 2002-02-19 2003-08-21 Jui Liang Frame rate control system and method
US6912612B2 (en) 2002-02-25 2005-06-28 Intel Corporation Shared bypass bus structure
US6795899B2 (en) 2002-03-22 2004-09-21 Intel Corporation Memory system with burst length shorter than prefetch length
US6735682B2 (en) * 2002-03-28 2004-05-11 Intel Corporation Apparatus and method for address calculation
JP4100025B2 (ja) 2002-04-09 2008-06-11 ソニー株式会社 磁気抵抗効果素子及び磁気メモリ装置
US7110400B2 (en) 2002-04-10 2006-09-19 Integrated Device Technology, Inc. Random access memory architecture and serial interface with continuous packet handling capability
US20030217223A1 (en) 2002-05-14 2003-11-20 Infineon Technologies North America Corp. Combined command set
US7106113B2 (en) 2002-05-17 2006-09-12 Sun Microsystems, Inc. Adjustment and calibration system for post-fabrication treatment of phase locked loop input receiver
US6941433B1 (en) 2002-05-22 2005-09-06 Juniper Networks, Inc. Systems and methods for memory read response latency detection
US6731548B2 (en) 2002-06-07 2004-05-04 Micron Technology, Inc. Reduced power registered memory module and method
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US6898674B2 (en) 2002-06-11 2005-05-24 Intel Corporation Apparatus, method, and system for synchronizing information prefetch between processors and memory controllers
KR100829557B1 (ko) 2002-06-22 2008-05-14 삼성전자주식회사 열자기 자발 홀 효과를 이용한 자기 램 및 이를 이용한데이터 기록 및 재생방법
US6901486B2 (en) 2002-07-05 2005-05-31 Hewlett-Packard Development Company, L.P. Method and system for optimizing pre-fetch memory transactions
US7082504B2 (en) 2002-07-19 2006-07-25 Edmundo Rojas Method and apparatus for asynchronous read control
US7054985B2 (en) * 2002-07-23 2006-05-30 Hewlett-Packard Development Company, L.P. Multiple hardware partitions under one input/output hub
US7200024B2 (en) 2002-08-02 2007-04-03 Micron Technology, Inc. System and method for optically interconnecting memory devices
US7117316B2 (en) 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US6754117B2 (en) 2002-08-16 2004-06-22 Micron Technology, Inc. System and method for self-testing and repair of memory modules
US7149874B2 (en) 2002-08-16 2006-12-12 Micron Technology, Inc. Memory hub bypass circuit and method
US6981112B2 (en) 2002-08-26 2005-12-27 International Business Machines Corporation Dynamic cache disable
US6820181B2 (en) 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7836252B2 (en) * 2002-08-29 2010-11-16 Micron Technology, Inc. System and method for optimizing interconnections of memory devices in a multichip module
EP1396792B1 (en) 2002-09-06 2005-06-15 Sun Microsystems, Inc. Memory copy command specifying source and destination of data executed in the memory controller
US6821029B1 (en) 2002-09-10 2004-11-23 Xilinx, Inc. High speed serial I/O technology using an optical link
US7117289B2 (en) * 2002-09-30 2006-10-03 Intel Corporation Claiming cycles on a processor bus in a system having a PCI to PCI bridge north of a memory controller
US6928528B1 (en) 2002-10-07 2005-08-09 Advanced Micro Devices, Inc. Guaranteed data synchronization
US6811320B1 (en) 2002-11-13 2004-11-02 Russell Mistretta Abbott System for connecting a fiber optic cable to an electronic device
KR100449807B1 (ko) * 2002-12-20 2004-09-22 한국전자통신연구원 호스트 버스 인터페이스를 갖는 데이터 전송 프로토콜제어 시스템
US7366423B2 (en) * 2002-12-31 2008-04-29 Intel Corporation System having multiple agents on optical and electrical bus
US6961259B2 (en) * 2003-01-23 2005-11-01 Micron Technology, Inc. Apparatus and methods for optically-coupled memory systems
US7469316B2 (en) * 2003-02-10 2008-12-23 Intel Corporation Buffered writes and memory page control
WO2004102403A2 (en) * 2003-05-13 2004-11-25 Advanced Micro Devices, Inc. A system including a host connected to a plurality of memory modules via a serial memory interconnect
US7120727B2 (en) 2003-06-19 2006-10-10 Micron Technology, Inc. Reconfigurable memory module and method
US7107415B2 (en) 2003-06-20 2006-09-12 Micron Technology, Inc. Posted write buffers and methods of posting write requests in memory modules
US7260685B2 (en) 2003-06-20 2007-08-21 Micron Technology, Inc. Memory hub and access method having internal prefetch buffers
US7174432B2 (en) * 2003-08-19 2007-02-06 Nvidia Corporation Asynchronous, independent and multiple process shared memory system in an adaptive computing architecture
US20050060533A1 (en) 2003-09-17 2005-03-17 Steven Woo Method, device, software and apparatus for adjusting a system parameter value, such as a page closing time
US7433258B2 (en) 2003-10-10 2008-10-07 Datasecure Llc. Posted precharge and multiple open-page RAM architecture
US7177211B2 (en) 2003-11-13 2007-02-13 Intel Corporation Memory channel test fixture and method
US7330992B2 (en) 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7188219B2 (en) 2004-01-30 2007-03-06 Micron Technology, Inc. Buffer control system and method for a memory system having outstanding read and write request buffers
US7213082B2 (en) 2004-03-29 2007-05-01 Micron Technology, Inc. Memory hub and method for providing memory sequencing hints
US6980042B2 (en) 2004-04-05 2005-12-27 Micron Technology, Inc. Delay line synchronizer apparatus and method
US7412614B2 (en) 2004-04-29 2008-08-12 Hewlett-Packard Development Company, L.P. Power management using a pre-determined thermal characteristic of a memory module
US7162567B2 (en) 2004-05-14 2007-01-09 Micron Technology, Inc. Memory hub and method for memory sequencing
US7519788B2 (en) 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US7318130B2 (en) 2004-06-29 2008-01-08 Intel Corporation System and method for thermal throttling of memory modules
US7254075B2 (en) 2004-09-30 2007-08-07 Rambus Inc. Integrated circuit memory system having dynamic memory bank count and page size
US7305518B2 (en) 2004-10-20 2007-12-04 Hewlett-Packard Development Company, L.P. Method and system for dynamically adjusting DRAM refresh rate
US20060168407A1 (en) 2005-01-26 2006-07-27 Micron Technology, Inc. Memory hub system and method having large virtual page size
JP4428268B2 (ja) 2005-03-24 2010-03-10 大同特殊鋼株式会社 熱処理炉
US8490065B2 (en) 2005-10-13 2013-07-16 International Business Machines Corporation Method and apparatus for software-assisted data cache and prefetch control
JP2008255107A (ja) 2007-03-13 2008-10-23 Hiroshima Industrial Promotion Organization フラーレン脂溶体とその水系分散体、並びに抗酸化剤と細胞傷害抑制処方剤

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW387072B (en) * 1997-04-04 2000-04-11 Ibm Low latency first data access in a data buffered smp memory controller
US6212590B1 (en) * 1997-12-22 2001-04-03 Compaq Computer Corporation Computer system having integrated bus bridge design with delayed transaction arbitration mechanism employed within laptop computer docked to expansion base
US6223259B1 (en) * 1998-10-30 2001-04-24 Telefonaktiebolaget Lm Ericsson (Publ) Reducing read cycle of memory read request for data to be partially modified by a pending write request
TW470881B (en) * 1998-11-30 2002-01-01 Ibm Method and system for efficiently handling memory operations in a data processing system
US6321233B1 (en) * 1998-12-15 2001-11-20 Micron Technology, Inc. Apparatus for controlling pipelined memory access requests
TW472195B (en) * 1999-07-08 2002-01-11 Ibm Method and apparatus for achieving correct order among bus memory transactions in a physically distributed SMP system

Also Published As

Publication number Publication date
US7188219B2 (en) 2007-03-06
US20070113027A1 (en) 2007-05-17
TW200602861A (en) 2006-01-16
US20130326164A1 (en) 2013-12-05
US20050172084A1 (en) 2005-08-04
US8504782B2 (en) 2013-08-06
US8788765B2 (en) 2014-07-22

Similar Documents

Publication Publication Date Title
TWI382308B (zh) 供具有記憶體請求緩衝器之一記憶體系統用之緩衝器控制系統及方法
US7225326B2 (en) Hardware assisted ATA command queuing
US8499127B2 (en) Memory hub with internal cache and/or memory access prediction
US8127081B2 (en) Memory hub and access method having internal prefetch buffers
EP1738264B1 (en) Memory arbitration system and method having an arbitration packet protocol
JP5426036B2 (ja) 複数のプロセッサのメモリ共有化のためのメモリアクセス装置、及びそのアクセス方法
US7047351B2 (en) Memory hub bypass circuit and method
JP3534822B2 (ja) キャッシュラインリプレーシング装置及び方法
US6636927B1 (en) Bridge device for transferring data using master-specific prefetch sizes
KR100619806B1 (ko) 디스크 콘트롤러 메모리에 접속을 중개하기 위한 중개방법및 시스템
US20070220361A1 (en) Method and apparatus for guaranteeing memory bandwidth for trace data
US5506968A (en) Terminating access of an agent to a shared resource when a timer, started after a low latency agent requests access, reaches a predetermined value
US20210374080A1 (en) Computer Memory Expansion Device and Method of Operation
EP1323045B1 (en) Dynamic priority external transaction system
US20080162855A1 (en) Memory Command Issue Rate Controller
KR102478527B1 (ko) 이기종 메모리 시스템용 시그널링
US20130339592A1 (en) Approach to virtual bank management in dram controllers
EP1431878A2 (en) Shared write buffer in a peripheral interface and method of operating
KR100638378B1 (ko) 디스크 제어장치의 메모리 구조에 대한 시스템 및 방법
JP2001084216A (ja) データプリフェッチシステム、プリフェッチ方法、記録媒体