TWI234071B - Method and apparatus for sideband read return header in memory interconnect - Google Patents

Method and apparatus for sideband read return header in memory interconnect Download PDF

Info

Publication number
TWI234071B
TWI234071B TW091125041A TW91125041A TWI234071B TW I234071 B TWI234071 B TW I234071B TW 091125041 A TW091125041 A TW 091125041A TW 91125041 A TW91125041 A TW 91125041A TW I234071 B TWI234071 B TW I234071B
Authority
TW
Taiwan
Prior art keywords
read
memory
data
patent application
request
Prior art date
Application number
TW091125041A
Other languages
English (en)
Inventor
Randy B Osborne
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of TWI234071B publication Critical patent/TWI234071B/zh

Links

Classifications

    • 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
    • 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/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Communication Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Systems (AREA)

Description

1234071 ⑴ 玖、發明說嗤 (發明說明應敘明:發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說明) 發明領域 較具體而言,本發明關係一種經由一邊頻帶讀取返回標 題達到記憶體讀取操作最佳化之方法及裝置。 先前背景
因為微處理器變為較快,快迷記憶體連接的需要增加。 微處理器性能大幅增加。由於各種理由一般系統性能都無 法跟上微處理器性能增加的步伐。理由之一為大量儲存裝 置如硬碟機的機械性能。 另一方面影響系統性能為記憶體外部至微處理器。此種 記憶體由外部高速快取及外部慢速但容量較大的兩種主記 憶體組成。存取外部記憶體具有等候時間及執行的複雜性 因而影響性能。減少等候及減少執行複雜性的能力對系統 性能具有重大利益。一種具有記憶體互連最佳化的協定也 同樣具有重大利益。
圖式簡單說明 本發明將藉由實例解說,但本發明並不受附圖所限制, 其中相似的參考符號代表相似的元件,及其中: 圖1根據一具體實施例顯示一網路環境其中實現本發明。 圖2為根據一具體實施例顯示一電腦系統的方塊圖; 圖3為根據一具體實施例顯示一記憶體埠介面; 圖4A及4B顯示一讀取請求封包佔先一寫入請求封包的兩 具體實施例; 圖5為根據一具體實施例顯示發送一早先讀取請求至記
1234071 憶體; 圖6A及6B顯示傳送一讀取返回標題的兩具體實施例; 圖7為根據一具體實施例顯示一記憶體埠介面; 圖8為根據一具體實施例顯示一記憶體埠協定; 圖9為根據一具體實施例顯示一搬移需要4轉送; 圖10為根據一具體實施例顯示一搬移; 圖11為根據一具體實施例顯示一鏈結層的暫時移動及一 搬移中的酬載; 圖12為根據另外具體實施例顯示一記憶體埠協定; 圖13為根據一具體實施例顯示一記憶體指令格式; 圖14為根據一具體實施例顯示一元件指令格式; 圖15為根據一具體實施例顯示一結構指令格式; 圖16為根據二具體實施例顯示;·一出口鏈結層格式; 圖17為根據一具體實施例顯示一入口鏈結層格式位元; 圖18為根據一具體實施例顯示一讀取返回標題格式; 圖19為根據一具體實施例顯示一寫入確認格式;及 圖20為根據一具體實施例顯示一狀態格式。 發明詳細說明 本發明揭示一種經由邊頻帶讀取返回標題達到記憶體互 連中記憶體讀取操作最佳化之方法及裝置。 實施 以下說明一種記憶體互連中經由讀取啟動最佳化達到記 憶體讀取操作最佳化之方法及裝置。 基於解說的目的,在以下的說明中列出許多的特定細 -6-
1234071 節,以便充分了解本發明。不過,熟習此項技術者會了解, 沒有這些特定細節本發明仍能實施。在某些例子中,熟知 的結構及裝置係以方塊圖顯示,而非細述,以免混淆本發 明的概念。 圖1顯示一網路環境100其中應用本發明技術。如圖所 示,一些處理器104-1至104-P及記憶體106-1至106-M經由一 網路102相互連接,例如,構成一電腦匯流排。應注意網路 102也可以包括一區域網路。本文說明的方法及裝置可應用 於任何型式的通信構件或元件不論是區域或遠端。 圖2根據一具體實施例顯示一電腦系統200的方塊圖其中 實現本發明。匯流排系統202相連一中央處理器(CPU)204、 唯讀記憶體(R〇M)206,隨機存取記憶體(RAM)208、儲存記 憶體210、顯示器220、音響器222、键盤224、針筆226、其他 輸入/輸出(I/O)裝置228及通信230。該匯流排系統202,例如, 為一或更多該種匯流排作為系統匯流排、週邊元件連結 (PCI)、高級圖形埠(AGP)、小型電腦系統介面(SCSI)、電力 及電子工程師協會(IEEE)標準號碼1394(帶電線)、通用串聯 匯流排(USB)等。CPU 204可為單一、多重或甚至一分佈電腦 資源。另外,例如CPU 204的子系統具有一分離匯流排至其 他子系統,例如記憶體。一種為用於圖形的例子,如AGP。 另外為記憶體外部至CPU 204的一記憶體埠介面如ROM 206 ' RAM 208等 ° 如以下說明可以明暸,一記憶體埠介面及/或協定有利於 加速操作及/或減少等候時間及/或複雜性。例如,在一讀取 1234071
請求至一記憶體,如下所述,藉由首先只傳送啟動一記憶 體讀取所需要的資訊,記憶體的實際讀取便能在收到所有 讀取請求之前開始。例如,如果位址首先傳送,則一記隱 體子系統便可開始讀取記憶體内容。讀取請求可能只要存 取字組的一位元組,不過,這位元組只是在位址之後傳适 的資訊並及時到達供記憶體的子系統只傳送所請求的位元 組。如此’操作可平行及/或先於其他處理。同樣,如果 記憶體子系統知道已存取記憶體及在一固定時間後具有一 結果,如下述,便能在實際資料之前傳送一讀取返回標題。 這樣容許裝置接收資料藉以知道資料進來。例如,讀取返 回標題具有資訊能辨識進來的資料與那個讀取請求相關, 及容許一裝置在資料到達之前決定資料要去那裡。藉由傳 送讀取返回標題資訊於實際資料之前,裝置具有時間在資 料確實到達之前決定資料的目的地。 圖3為根據一具體實施例顯示一記憶體埠介面300方塊 圖。在此具體實施例中,記憶體埠320為一快速及有效梢連 接一處理器(處理器模組310之内)及其區域記憶體(340及 342) ^記憶體埠介面的協定層(有時稱作記憶體埠協定)與任 何記憶體技術無關,因而使處理器孤立於記憶體技術及將 來記憶體路線圖問題之外。本文的主題,協定層具有特別 特徵以減少記憶體請求的等候及減少執行複雜性。 處理器模組3 10具有介面至許多不同的其他裝置,例如1〇 302、記憶體埠320等。記憶體埠320被認為來自處理器模組 310至,XMB(外部記憶體橋接器)330的一私人介面,如圖3 1234071
所示。XMB 330包含記憶體控制器338及至連接原始記憶 體,如兩排的DRAM 340及342。結果,XMB 330包封記憶體 關係如記憶體型式(技術及速度),記憶體組織(DRAM尺寸、 每模組的DRAM數量及頻道數量),及記憶體控制(定時、刷 新及功率管理)。 記憶體埠320可由一實際連結及一協定組成。可以認定實 際連結可由數個平行連結組成。例如,有一資料主鏈路及 其他控制的鏈結層(有時稱為一邊頻帶)。協定可由指令、資 料、回應等組成經實際連結而通信。例如,記憶體埠指令 由記憶體讀取及窝入;裝置讀取及窝入;及結構的讀取及 寫入組成。另外,一鏈結層具有入口及出口資訊如讀取返 回標題、窝入確認、狀態等。 記憶體埠交通由記憶體、元件及結構讀取及寫入指令組 成。欲減少XMB 330複雜性,如一具體實施例,處理器記憶 體介面(PMI) 308啟動所有資料轉送。欲進一步減少複雜 性,如一具體實施例,記憶體埠320不支援由XMB 330啟動 的資料轉送。在一具體實施例中,由記憶體埠320不支援I/O 或圖形裝置在或經XMB 330而減少複雜性。另外複雜性減少 可由記憶體埠320不支援任何相干交通而達成。 在處理器模組310中,記憶體埠320包括包封在PMI 308之 内的功能性。PMI 308包括物件如窝入緩衝器、流量控制、 錯誤處理及控制及狀態暫存器等。在XMB 330中,記憶體埠 320包括包封在外記憶體介面(XMI) 332之内的功能性。XMI 332也包括讀取及寫入緩衝器、錯誤記錄及控制及狀態暫存 1234071
一寫入請求 ⑺ 接收另外輸入。如果410決定402接收的輸入不是 封包的一部份,則在416執行其他操作,然後回到402接收輸 入0 如此,便能使一讀取封包佔先一窝入封包。在一具體實 施例中,讀取封包由一讀取指令及位址或讀取位址組成成 為一早一轉送或單一搬移。寫入封包由一單一轉送組成具 有窝入指令、位址或窝入位址,及其他可能多次、結合窝 入資料轉送。為了便於說明,讀取封包包含讀取指令及位 址或讀取位址組成稱為一讀取請求。如此,一讀取請求及 一謂取封包輸送同樣資訊。為了便於說明,窝入封包部份 包含窝入指令及位址或窝入位址稱為一寫入請求。寫入封 包的資料部份稱為窝入資料。如此,一寫入封包包含一窝 入请求及寫入資料。 所以,例如假設在402接收一寫入請求。該請求傳到4〇4 並不是傳到410的讀取封包的一部份。在41〇成為一寫入封包 的一部份及傳送至412。在412決定只是窝入請求而寫入資料 尚未收到,所以寫入封包不完整,然後傳回4〇2。如果在4〇2 接收一讀取請求,則傳送至404並決定該讀取請求為一讀取 封包的一部份,然後傳送至4〇6。如果該讀取封包為完整便 在406完成決定。在本具體實施例中,己定義讀取請求包含 元整的讀取封包及在4〇8執行一讀取,及然後回到4〇2。在本 例中,開始的窝入操作(收到窝入請求)並不完全及讀取請求 已佔先寫入。 根據圖4A的流程,可以想到讀取請求在任何地方佔先寫 -11 - 1234071
(8) 入直到接收最後的窝入資料。如此,例如,如田— 不* 焉入封 包包含窝入請求及4次窝入資料轉送,一讀取請求如果在寫 入請求第一、第二或第三窝入資料之後收到便可佔先一寫 入封包。 在其他具體實施例中’讀取請求不包含一完全的讀取封 包。在該具體實施例中,在406完全讀取封包的檢查並不完 全及在該環境之下,傳送至402以接收另外輸入。如果收到 一完全讀取封包則在406傳送至408及執行讀取,及然後返回 402以接收一輸入。 容許在窝入請求或窝入資料之後收到的讀取請求佔先較 早收到的寫入請求或寫入資料導致讀取在寫入之前執行。 如此容許記憶體比如果必須首先回應寫入及然後讀取請求 較快回應讀取请求。 當然代理傳送讀取及/或寫入請求可防止定序危險。即 是,傳送代理希望限制發出讀取及/或窝入請求。例如,傳 送代理為了減少複雜性理由而決定一讀取請求不能佔先其 他讀取請求。 圖4Β顯示450本發明的具體實施例其中一讀取封包佔先 一窝入封包。在此例中,只考慮讀取及寫入封包。另外, 圖4Β顯系一具體實施例其中一窝入封包被一讀取請求佔先 而非如圖顯示可能由其他窝入請求佔先。在圖4Β中,在 452接收一輸入。在454芫成一檢查以查看是否為一讀取封 包。如果是一謂取封包,則在456執行一讀取及返回452以接 收一輸入。如果452接收不是一讀取封包則在458檢查是否為 •12- 1234071
一寫入封包。如果不是一窝入封包則返回452接收一輸入。 另一方面,如果在458該封包為一窝入封包則進入一標示 460-470的「内循環」操作。 本内循環容許讀取封包佔先如圖示在460所接收一輸入 462檢查為一讀取封包及如果是則在464執行讀取及返回46〇 接收一輸入。不過,唯一返回外循環(452-458)的途徑為如果 468的寫入封包為完全及在470執行寫入。從458進入内循環 後在466完成一檢查以決定是否為一寫入資料。如果不是寫 入資料則在460接收輸入。如果是窝入資料則在468完成一檢 查查看是否為該窝入封包為完全。如果窝入封包不完全則 在460接收輸入。不過,如果寫入封包完整,則在470完成一 寫入,然後在452接收外循環輸入。如此,圖4B顯示一具體 實施例其中只容許一單一窝入封包被一讀取請求佔先(在 一讀取封包内)或多次讀取請求(如,在470—寫入之前一或 多次經過循環460、462、464)。 上述討論中,已說明,例如讀取請求包含一讀取指令及 位址或讀取位址。另外,輸送其他資訊,例如,錯誤改正 位元以確保請求的完整性、控制資訊等。為了便於討論本 發明,名詞「搬移」係用來表示結合一實體或操作及由一 或多次轉送組成的一單元資訊傳輸。封包可由一或多次搬 移組成。所以,例如,一讀取封包由一單一搬移組成表示 所有資訊結合讀取請求。這種資訊根據一特別處理,完成 傳送需要一次以上轉送。例如,如果讀取請求搬移包含32 位元的資訊而電腦匯流排能處理16位元轉送,則需要兩次 -13 - 1234071
在一讀取返回標題(在606或656傳送)的具體實施例中, 讀取返回標題具有一編碼識別器其中關係傳送的讀取請 求。如此,例如,PMI 308可經由讀取返回標題識別器辨認 與那個讀取請求有關(及即將產生的資料)。 可以想到,轉送606或656傳送的讀取返回標題的實際路 徑,較理想在邊頻帶中的主資料路徑中並與資料偏離一固 定距離。即是,使用平行資料路徑的邊頻帶路徑(鏈結層) 其中邊頻帶路徑載送讀取返回標題相關讀取資料之前可容 許接收裝置決定在接收資料之前資料必須送達的地方。如 此,如果讀取返回標題在資料之前傳送便可達到減少等候。 圖7顯示一記憶體埠介面700的具體實施例。在此具體實 施例中,記憶體埠為一全雙重互連(記憶體埠鏈結720及 740)。在出口方向(離開處理器模組710及PMI 708)記憶體埠 鏈結720由兩資訊流組成。一種為寬度w的資料流及第二種 為寬度X的鏈結層流。如上述,為了解說本發明,相關資料 及鏈結層流資訊的一種方便組合稱為一搬移。在入口方向 (進入處理器模組710及PMI 708)記憶體埠鏈結740由兩資訊 流組成。一種為寬度y的一資料流及第二種為宽度z的一鏈 結層流。 例如,圖8顯示一記憶體埠介面800的具體實施例。在此 具體實施例中,搬移802由表示空載802a及的資料及鏈結層 (LL) 802b資訊組成。同樣的情況下,搬移804至816(—般8xx) 由各8xxa及8xxb部份組成。本具體實施例顯示一搬移具有80 位元的具體實施例其中匯流排的寬度w為18位元寬及鏈結 -16- 1234071 (13) 層匯流排的寬度x為2位元寬。顯示的本具體實施例一單一 搬移需要4轉送,及酬載有72位元及鏈結層有8位元。 例如,圖9顯示一搬移900需要4次轉送。搬移910具有72 位元的資料及/或指令(d/c)資訊及8鏈結層(LL)位元的資 訊。在910a-0及910b-0,然後910a-l及910b-l,等完成一次20 位元的轉送。雖然圖9顯示d/c及LL轉送發生在同時訊框,但 並不是一項條件。即是,結合搬移内的一特別轉送的LL資 料可以暫時移離各d/c轉送。另外,暫時移置可超過搬移的 範圍。 鏈結層(LL)具有,例如,控制位元及循環冗餘查核位元 (CRC) 〇控制位元可代表,例如頭部、尾部或空載。 回頭參考圖8,必須注意一窝入封包8 18,一般只包含一 窝入請求及相關資料。不過,在本發明中,如圖8所示,不 需要這種限制。顯示的窝入封包818具有一寫入請求搬移 804,相關資料搬移806、808、812、814、816及一讀取請求 封包搬移810。 圖10顯示另外具體實施例顯示一搬移1000具有96位元其 中匯流排的寬度y為18位元宽及鏈結層匯流排的寬度z為4位 元寬。本具體實施例的一單一搬移需要4轉送,及酬載有64 位元、8檢查位元及鏈結層16位元。各搬移1002至1016具有 酬載封包l〇xxa及結合鏈結層(LL)封包lOxxb。圖10代表一輸 入至一處理器模組。鏈結層(LL)具有,例如鏈結層控制位 元及循環冗餘查核位元(CRC)。控制位元為,例如讀取標 題、寫入標題、資料、具有尾部資料、空載、寫入確認、 -17- 1234071
(Η) 流量控制等。 應該進一步了解,雖然LL控制結合酬載,但不必同時傳 送。例如’一處理器模組能改善性能如果具有最新資訊則 讀取資料不久將可到達。如此,例如,一 LL的早先讀取標 題便具有那樣的表示。例如,在圖10中,LL結合搬移資料 1006a位於一較早時間位置,例如位置1〇〇4b。如此,一搬移, 如丨1〇6包含位於ll〇6a的酬載及一位於110 6b的LL控制,如圖 11所示。如此,圖U顯示一搬移1100的一鏈結層及酬載的暫 時移置。 入口邊頻帶鏈結層(LL)(進入PMI 308)也包括其他轉送及/ 或X易的資訊。例如,LL包含窝入確認以確認出口窝入指 令、用於出口流量控制回饋的停止位元、狀態表示(空載對 酬載等)等。同樣,一 LL結合一搬移輸送一件以上的資訊, 例如,LL編碼表示一空載酬載或一非空載酬載及另外一讀 取返回標題、一寫入確認、一停止表示、空載控制等β另 外,可以想到,如上述,本資訊可以暫時偏置。 暫時偏置資訊容許減少介面的複雜性。例如,放置一具 有讀取返回資料的帶内讀取返回標題產生ΧΜΙ 332的額外 性能因為ΧΜΙ 332必須多重傳送標題及資料資訊及χΜΐ 332 必須緩衝進來的讀取返回資料用稍微較高的入口記憶體埠 帶寬比率配合記憶體謂取帶寬以補償線内標題上方的帶 寬。這種額外功能性可能產生額外的複雜性及額外等候。 代之’因為放置暫時偏移的邊頻帶的讀取返回標題能使ΧΜΐ 3 3 2資料路徑以相同記憶體匯流排的頻率操作,因而容許 -18 - 1234071
XMI 332在讀取返回資科路徑中操作無需緩衝或多重傳 送。如此,使用平行資科路徑的邊頻帶路徑(鏈結層)其中邊 頻帶路徑載送謂取返回標題在相關讀取資料之前可容許操 縱及控制邏輯在接收資料之前操作。如果讀取返m名 資料之前傳送便可達到減少等候。標題領先讀取返回資料〇 搬移或更多(讀取返回偏移在啟動時決定)。一早先讀取返回 標題容許處理器移動標題解碼及資料操縱邏輯離開標準路 徑及驅動進來的讀取返回資料直接至處理器内的適當目的 地。 讀取返回標題在資料之前傳送的時間可以固定在時間内 的某點及/或動態。例如,一固定的延遲可在系統啟動時間 決定。或者,系統在操作中決定及可以定為靜態β另外的 具體實施例具有偏置時間予讀取返回標題内的編碼資料。 如此,熟悉本技術者會承認有許多可能的具體實施例。 暫時偏置資訊容許減少ΡΜΙ 308介面的複雜性。即是,如 果在資料之前於主資料路徑上經邊頻帶傳送資訊,ΡΜΙ 3〇8 減少複雜性及/或等候。熟悉本技術者會了解減少等候/及或 複雜性可以在出口方向及入口方向達成。 圖12顯示顯示一記憶體淳協定12〇〇的另外具體實施例某 中資料及指令寬度為36位元及鏈結層匯寬度為4位元。空載 搬移1202、1204、1216、1220及1234具有一空載酬載於各「a」 部份(1202a、1204a、1216a、1220a 及 1234a)及一鏈結層(LL)控 制碼於各「b」部份(1202b、1204b、1216b、1220b 及 1234b)。 一正常寫入封包1240只具有寫入相關資料,如一窝入請求 -19- 1234071
有三種一般型式的指令:記憶體、元件及結構。 記憶體指令如讀取、窝入及刪除,一般目標主記憶體, 或連接至及/或包括在XMB 330之内,該記憶體為純記憶體 (如 DRAM) 〇 元件指令’如讀取及窝入’ 一般目標記憶體位置,該記 憶體不是純記憶體。例如’寫入閃光記憶體及/或裝置暫存 器轉移至記憶體空間其中窝入及有時讀取具有邊效典。在 那種情況下,各寫入指令要確實執行一次抵達目標。另外, 該指令請求以相同次序執行目標其中指令由源發出。 元件指令與記憶體指令相似及具有一尺寸場或位元表示 資料轉送尺寸。可能的尺寸,例如,1至8位元,16、32或64 位元組,及/或一全資料快取線。不論資料轉送尺寸,指令 酬載的尺寸必須為一完全快取線,所以必須墊一或零保持 資料轉送偏離快取線》 元件指令也具有遮罩位元以支援部份讀取及/或寫入。用 於一讀取指令,例如,本遮罩表示那個位元組位置為讀取, 及那個讀取返回位元组為有用於裝置指令,位元组遮 罩表示那個酬載位元組為有效。 結構指令,如讀取及寫入’可看成為—特級的元件指令 目標可為裝置及./或暫存器,例如,PCI結構空間的位置。 另夕卜,因為指令的性質,ΡΜΤ ^ Λ ΡΜΙ 308—次只能選擇一未決結 指令。 所有指令型式都有一 同甚太&上 人 、丨π 冋基本格式。例如,一指令搬移 包含72位元編碼指令的酬載其 哪戰丹中64指令位兀及8檢查位 -21 - 1234071
元。欲減少等候記憶體讀取請求,讀取指令格式具有所有 重要資料於搬移讀取請求的第一半部,如此使發送讀取請 求至記憶體在XMI 332接收全部搬移之前完成。 一早先指示器,例如,一位元在指令内表示搬移的第一 半部是否含有充分資訊以啟動一記憶體讀取請求或是否 XMI 332必須累積整個搬移内的資訊。本位元只設定用於記 憶體讀取指令,否則XMI 332不正確啟動記憶體讀取請.求、 元件指令或記憶體寫入指令。不過,並非所有記憶體讀取 指令具有有效的早先位元設定。例如,任何記憶體讀取指 令具有特別排程資訊於搬移的第二半部内,如流識別或優 先權,具有無效早先位元以強迫XMI 332在發送一記憶體讀 取請求之前考慮本資訊。 指令目的地位元表示指令型式:記憶體指令、元件指令 或結構指令。 在一具體實施例中,交易(標籤)位元,結合讀取/窝入位 元,包括各指令的一專用ID。專用ID不能用於後績指令直 到PMI 308收到任何有關交易ID的先前指令或PMI 308決定任 何具有交易ID的先前讀取/寫入指令已過期。 刪除位元為一修改器表示如果一記憶體讀取指令刪除先 前記憶體讀取指令。 在記憶體指令的情況下,偏移位元辨識一偏離記憶體位 置由位址位元標示用於讀取及寫入。如為裝置指令情況 下,偏移耦合位址位元標示目標位置(如至一記憶體轉移裝 置暫存器)。 -22- 1234071
如上述,識別/優先權流的定義以編碼屬於記憶體讀取指 令或記憶體讀取指令優先權的流以使XMI 332應用不同排 程策略至不同記憶體請求。例如,本場表示如果一記憶體 指令屬於同步流及因而請求一特別服務時間以符合同步資 料輸送期限。 遮罩位元為一位元向量位元組遮罩表示那個位元組用於 裝置及結構指令的部份讀取及窝入有效。 尺寸位元表示用於裝置及結構指令的資料轉送尺寸。用 於該種指令的可能資料轉送尺寸為:1至8位元組(連結遮罩 位元)、16位元組、32位元組、64位元組等,及全快取線尺 寸。 各指令的完整性使用一錯誤改正碼(ECC)保護經具有分 配在搬移第二半部的檢查位元72位元指令。不過,直到全 搬移部接收及ECC錯誤改正完成XMI 332希望早先位元作為 一暗示及任何記憶體讀取請求早於指令發送如推測。結 果,XMI 332希望保證具有充分資源以處理一推測早先記憶 體讀取請求然後發送。例如,XMI 332必須確保發送一早先 讀取請求不能導致記憶體控制器讀取請求排隊溢流。 用於窝入指令場,為簡化本具體實施例中編碼及解碼, 這種場與讀取指令用的場相同除偏移及碼場以外。 圖13顯示一記憶體指令格式1300的一具體實施例。在此例 中,假設一實體層具有四轉送每搬移及18位元每轉送。即 是,指令具有72位元分4轉送輸送。進一步假設各轉送(轉送 0、1、2、3)相當一位元單元時間經過互連。例如,在第一 -23 - 1234071
轉送(轉送0)期間’可轉送低睹位址位元及一讀取/寫入指 令。在轉送1期間,可轉送高睹位址位元及一早先讀取指示 器。在轉送2及3期間可轉送,位元表示指令目的地、位址 偏移、夂易1D、檢查、遮罩、流id尺寸、刪除指令、優先 權等。 圖14顯示一裝置指令格式1400的具體實施例其中假設一 實體層具有四轉送每搬移及18位元每轉送。在轉送〇期間, 轉送低階位址位元及一讀取/寫入指令。在轉送1期間,傳 迗咼階位址位元及一早先讀取指示器。在轉送2及3期間, 轉送資訊表示指令目的地、位址偏移、交易1D、檢查位元、 遮罩位元、轉送尺寸等。 圖15顯示一結構指令格式15〇〇的具體實施例其中餃役一 實體層具有四轉送每搬移及18位元每轉送。在轉送〇期間, 轉送低階結構位址位元及一讀取/窝入指令。在轉运1期 間’傳送高階結構位址位元及一早先讀取指示器。在轉送2 及3期間,轉送資訊表示指令目的地、位址偏移、交易[ο、 檢查位元、遮罩位元等β 如如述’鏈結層(LL)具有一出口格式及一入口格式 、。圖 16 顯不一出口鏈結層格式1600的具體實施例。基本出口 沾 鍵結 層格式具有,例如,8位元每搬移。這種基本格式可選擇性 擴充’增加另外的8位元成為總數為16位元每搬移。^ 一 圖16顯
示16位元母搬移格式。LL訊號0用於在轉送〇:3 (4轉堤·〇 1 2、3)傳送通信位元及檢查位元。資訊位元表示如果镟移為 非空载,即是,不論搬移包含指令或資料,或為窆載。U -24- (21) 1234071
訊號1用於通信標題、尾部及檢查位元。尾部位元表示 的結束及標題位元表示如果搬移包含一指令。標題及尾部 位兀可編碼其他狀態,如:搬移酬載為資料及不是封包的 最後酬載的資料’搬移酬載為酬載的資料及封包的最後搬 移,搬移酬載為一寫入指令;及搬移酬載為一讀取指令及 封包的最後搬移。檢查位元包括一經過16位元的鏈結層格 式计具CRC。擴充模式位元為傳送在LL上面的訊號2及3。 擴充模式位元也在鏈結層及用於具有鎖定步驟記憶體埠 的資料搬移。使用鎖定步騾記憶體埠以支援XMI (332)的錯 誤檢查,擴充模組位元可編碼半快取線的錯誤症狀。 一入口鏈結層具有不同格式。例如,在一具體實施例中, 有四個不同入口鏈結層格式:讀取返回標題、窝入確認、 狀態及結構。在下述具體實施例中’四個鏈結層格式享有 一些共同位元。圖17顯示〆共同入口鏈結層格式位元1700 的具體實施例。 資訊位元表示如果搬移為奍空載,即是,包含資料或為 空載。檢查位元包括一經過16位元的鏈結層格式計算CRC。 這種型式位元表示四個不同入口鏈結層格式之一,如· 讀取返回標題、寫入確認、狀態及結構° 圖18顯示一讀取返回標題格式1800的一具體實施例。其中 標籤位元,可用小序編碼一交易1D。控制位元表示讀取返 回具有資料及第一資料酬載搬移開始偏離前搬移的開頭一 己知偏移搬移。如果偏移為0,第一資料酬載從目前搬移開 始。控制位元也表示讀取返回標題為一無確認(naCk),即是 -25 - 1234071
無相關資料。讀取返回無確認(nack)通知PMI 308 ΧΜΙ 332己 刪除原來記憶體讀取指令結果接收一讀取刪除指令及因而 ΡΜΙ 308不必等候讀取指令的讀取返回資料。ΧΜΙ 332只傳送 一讀取返回無確認如果刪除一讀取指令。如此,ΧΜΙ 332不 傳送一讀取返回無確認如果廢除一讀取刪除指令而不刪除 一讀取指令。 圖19顯示一寫入確認格式1900的一具體實施例。在此例 中,除了無控制位元外,本格式與上述讀取返回標題用的 一樣。 圖20顯示一狀態格式的具體實施例2000。記憶體埠320可 用於三種功能的狀態格式:出口控制資訊回流至處理器、 輸送一非同步訊號及表示鏈結層為一空載的搬移。 如果停止位元為活性,處理器必須不傳送任何寫入指令 至ΧΜΙ 332直到處理器接收一後續搬移具有鏈結層狀態格 式及具有停止位元失去活性。如果停上位元希望流動控制 進來窝入指令,如ΧΜΙ 332寫入緩衝器超過規定的下限,ΧΜΙ 332確定停止位元。如果停止位元失去活性,處理器傳送窝 入指令至ΧΜΙ 332。 訊號位元包括一訊號碼。ΧΜΙ 332非同步傳訊一些處理器 動作,與讀取返回資料平行,適當設定訊號碼。 熟悉本技術者會了解,上述具體實施例中,同樣編碼結 構格式以提供入口鏈結層的功能性以運送結構資訊。 這些具體實施例的說明已充分詳細能使熟悉本技術者實 踐本發明,及必須了解其他具體實施例也可以利用及可以 -26- 1234071 (23) 丨 完成邏輯、機械、電機及其他變化而不背離本發明的範固。 可以想到上述結構及功能性可具有其他具體實施例。任何 格式,指令,等可以有不同的位元配置及不同的位元定義。 例如,讀取返回標題格式具有不同位元配置及不同的位元 定義及順序為大序而非小序β 另外,雖然為了清潔理由在解釋本發明特徵係根據入口 或出口方向,當然入口及出口兩者都應用。例如,結合搬 移内的一特別轉送的LL資料可以暫時移置各轉送及該轉送 可以為入口 /及或出口方向。例如,ρΜΙ 3〇8發送一標題在資 訊之前經鏈結層傳送至XMI 322(-搬移)。 一機器可謂取取媒體當然包括任何用機器(例如電腦) 可讀取形式的儲存或傳輸資訊的機構。例如,一機械可讀 媒體包括唯讀記憶體(ROM) '隨機存取記憶體(RAM)、磁碟 儲存媒體、光學儲存媒體、快閃記憶體裝置、電子、光學、 音響或是其他傳播信號的形式(如載波、紅外線信號、數位 信號等),等。 熟悉本技術者當然了解,使用電腦執行需要,在停電或 重開機時,電腦本身須適當組織後,才能執行一方法或作 為裝置的任務。一般稱啟動包括但不限於設定晶片定時, 決定附屬元件、結構子系統,如記憶體、檢查存取速度、 檢查互連等。當然要執行全部功能操作,電腦系統須執行 許多檢查叹疋許多參數等。例如,一電腦啟動時,決定 附屬記憶體及改變設定及參數以決定最佳的介面速設、定 時設定等。另外,電腦操作中也要執行檢查以確保適當操 -27- 1234071
作及如需要改變設定等。 如此,說明一種記憶體互連中經由讀取啟動最佳化達到 記憶體讀取操作最佳化之方法及裝置。 圖式代表符號說明 102 網路 104 處理器 106 記憶體 202 匯流排系統 204 中央處理器 206 唯讀記憶體 208 隨機存取記憶體 210 儲存器 220 顯示器 222 音響器 224 键盤 226 針點器 228 輸入/輸出元件 230 通信 302 輸入/輸出 308 處理器記憶體介面 310 處理器模組 320 記憶體埠 330 外部記憶體橋接器 332 外部記憶體介面 -28 - 1234071 338 340 342 708 710 720 730 732 740 記憶體控制器 動態隨機存取記憶體 動態隨機存取記憶體 處理器記憶體介面 處理器模组 記憶體埠鏈路 外部記憶體橋接器 外部記憶體介面 記憶體埠鏈路 -29-

Claims (1)

123^^(212504!號專利申請案 中文申請專科範谭替換本(93年12月)
4各-一 rtf 矜年卜/μ / pj lLmju________4------------------ 拾、申請專利範圍 1. 一種達到記憶體讀取操作最佳化之方法,其包括: 接收一讀取請求; 起動一讀取以回應該讀取請求; 接收該讀取結果;及 在傳送結果之前傳送一讀取返回標題。
2. 如申請專利範圍第1項之方法,其中讀取返回標題係在一 邊頻帶中傳送。 3. 如申請專利範圍第2項之方法,其中之前時間係在起動時 決定。 4. 一種達到記憶體讀取操作最佳化之方法,其包括: 起動一讀取以回應一讀取請求;及 在接收讀取結果之前傳送一讀取返回標題。
5. 如申請專利範圍第4項之方法,其中讀取返回標題係在一 邊頻帶中傳送。 6. 如申請專利範圍第5項之方法,其中之前時間係在起動時 決定。 7. —種處理器系統記憶體系統介面,其包括: 一記憶體系統輸入,其耦合以接收來自一處理器系統 源的資料; 一記憶體系統控制輸入,其耦合以接收來自一處理器 系統源的記憶體控制訊號; 一記憶體系統輸出,其耦合經一第一鏈路傳送資料至 處理器系統源;及 I234Q71 百
申請專利範圍績貧 一記憶體系統控制輸出,其耦合經一第二鏈路傳送記 憶體控制訊號至處理器系統源。 8. 如申請專利範圍第7項之處理器系統記憶體系統介面,其 中資料經該第一鏈路傳送至處理器系統源係在記憶體控 制訊號經該第二鏈路傳送至處理器系統源之後。 9. 如申請專利範圍第7項之處理器系統記憶體系統介面,其 中該第一鏈路及該第二鏈路為不同的鏈路。
10. —種機器可讀取媒體,其中儲存指令,當指令由一系統 執行時會造成該系統執行下列步騾: 接受一來源的一讀取請求; 起動一讀取以回應該讀取請求; 自該讀取接收資料; 傳送一讀取返回標題至該來源;及 傳送資料至該來源。
11. 如申請專利範圍第1 0項之機器可讀取媒體,其中讀取返 回標題係在資料之前傳送。 12. 如申請專利範圍第1 0項之機器可讀取媒體,其中讀取返 回標題係經資料以外的一不同鏈路傳送至該來源。 13. —種達到記憶體讀取操作最佳化之系統,其包括: 一處理器,其能發送一讀取請求、一寫入請求及控制 資訊;及 一記憶體介面裝置,其耦合至處理器及一記憶體,其 中記憶體介面裝置接收讀取及寫入請求,及控制資訊, 及傳送記憶體資料至處理器,及控制訊號。 Ι234φΐ ly (μ
♦請專 14. 如_請專利範園第13項之系統,其中記憶體資料及控制 訊號經不同鏈路傳送至該處理器。 15. :申:專利範園第14項之系統,其令該控制訊號傳送至 [6二ϋ係在冑i^記憶體資料至該處立里器之前。 種達到記憶體讀取操作最佳化之裝置,其包括: 用於接收—讀取請求的構件; 於傳送-讀取返回標題的構件;及
用於傳送讀取資料的構件^ .如申睛專利範園第1 6項之裝署^ , Θ ^ 裝置,其中用於傳送該讀取运 18•如Π 與用於傳送讀取資料的構件不同。 佴力播、、一 裝置,其中傳送讀取返回標避 係在傳运該讀取資料之前完成。 19.如申凊專利範園第丨6項 ^ 的構件進一步包括構件/置’其中用於傳送讀取資料 #彳音触 > 、 用於一讀取返回資料路徑中以一 奋己fe組碩取資料率相同…、士 貝料率傳运碩取返回資料。
20·如申^專利範圍第丨9項之 々减、士 裝置,其中謂取返回資料率及 記fe m碩取資料率盥一 、、 /、卜邵記憶體介面資料率相同。 21如申請專利範園第2〇,之 午相门 裝置,其中在頃取返回資料么 徑中記憶體讀取資料無多重傳輸。 ϋ貝料路
TW091125041A 2001-11-12 2002-10-25 Method and apparatus for sideband read return header in memory interconnect TWI234071B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/011,385 US20030093632A1 (en) 2001-11-12 2001-11-12 Method and apparatus for sideband read return header in memory interconnect

Publications (1)

Publication Number Publication Date
TWI234071B true TWI234071B (en) 2005-06-11

Family

ID=21750148

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091125041A TWI234071B (en) 2001-11-12 2002-10-25 Method and apparatus for sideband read return header in memory interconnect

Country Status (10)

Country Link
US (1) US20030093632A1 (zh)
EP (1) EP1444589B1 (zh)
KR (1) KR100624609B1 (zh)
CN (1) CN1585933A (zh)
AT (1) ATE384295T1 (zh)
AU (1) AU2002359366A1 (zh)
DE (1) DE60224700T2 (zh)
HK (1) HK1065136A1 (zh)
TW (1) TWI234071B (zh)
WO (1) WO2003042846A2 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172091A1 (en) * 2004-01-29 2005-08-04 Rotithor Hemant G. Method and an apparatus for interleaving read data return in a packetized interconnect to memory
US8418226B2 (en) * 2005-03-18 2013-04-09 Absolute Software Corporation Persistent servicing agent
US8788633B2 (en) * 2005-08-02 2014-07-22 Hamilton Sundstrand Space Systems International, Inc. Low bandwidth remote control of an electronic device
US7881320B1 (en) * 2005-12-12 2011-02-01 Xilinx, Inc. Parsing data from multiple digital bitstreams
JP5887970B2 (ja) * 2012-02-07 2016-03-16 富士通株式会社 情報処理装置および情報処理装置の制御方法
DE112013005093T5 (de) * 2012-10-22 2015-10-22 Intel Corporation Hochleistungszusammenschaltungsbitübertragungsschicht
US9823864B2 (en) * 2014-06-02 2017-11-21 Micron Technology, Inc. Systems and methods for throttling packet transmission in a scalable memory system protocol
GB2548845B (en) 2016-03-29 2019-11-27 Imagination Tech Ltd Handling memory requests
KR102482035B1 (ko) * 2017-11-30 2022-12-28 에스케이하이닉스 주식회사 메모리 컨트롤러, 메모리 시스템 및 그 동작 방법
US10997112B2 (en) * 2019-10-02 2021-05-04 International Business Machines Corporation Link interface
US11734105B2 (en) 2020-07-06 2023-08-22 International Business Machines Corporation Efficient error reporting in a link interface

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07504773A (ja) * 1992-03-18 1995-05-25 セイコーエプソン株式会社 マルチ幅のメモリ・サブシステムをサポートするためのシステム並びに方法
US6487626B2 (en) * 1992-09-29 2002-11-26 Intel Corporaiton Method and apparatus of bus interface for a processor
JP3010947B2 (ja) * 1992-11-26 2000-02-21 日本電気株式会社 メモリアクセス制御装置
US5636364A (en) * 1994-12-01 1997-06-03 International Business Machines Corporation Method for enabling concurrent misses in a cache memory
DE69622079T2 (de) * 1995-03-31 2002-10-31 Sun Microsystems, Inc. Verfahren und Vorrichtung zur schnellen Einleitung von Speicherzugriffen in einem cachekohärenten Multiprozessorsystem
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
FR2759178B1 (fr) * 1997-02-05 1999-04-09 Sgs Thomson Microelectronics Circuit de gestion de memoire dans un environnement multi-utilisateurs avec requete et priorite d'acces
US6092158A (en) * 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams
US6285679B1 (en) * 1997-08-22 2001-09-04 Avici Systems, Inc. Methods and apparatus for event-driven routing
US6247084B1 (en) * 1997-10-08 2001-06-12 Lsi Logic Corporation Integrated circuit with unified memory system and dual bus architecture
US6295581B1 (en) * 1998-02-20 2001-09-25 Ati Technologies, Inc. Method and apparatus for assuring cache coherency
US6266747B1 (en) * 1998-10-30 2001-07-24 Telefonaktiebolaget Lm Ericsson (Publ) Method for writing data into data storage units
JP5220974B2 (ja) * 1999-10-14 2013-06-26 ブルアーク ユーケー リミテッド ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法
US20010036834A1 (en) * 2000-03-03 2001-11-01 Subir Das Supporting fast intra-domain handoffs and paging in wireless cellular networks

Also Published As

Publication number Publication date
ATE384295T1 (de) 2008-02-15
CN1585933A (zh) 2005-02-23
WO2003042846A3 (en) 2004-02-26
EP1444589A2 (en) 2004-08-11
AU2002359366A1 (en) 2003-05-26
WO2003042846A2 (en) 2003-05-22
US20030093632A1 (en) 2003-05-15
EP1444589B1 (en) 2008-01-16
KR20050058232A (ko) 2005-06-16
DE60224700D1 (de) 2008-03-06
KR100624609B1 (ko) 2006-09-20
HK1065136A1 (en) 2005-02-08
DE60224700T2 (de) 2009-01-15

Similar Documents

Publication Publication Date Title
CN110647480B (zh) 数据处理方法、远程直接访存网卡和设备
US20200012604A1 (en) System, Apparatus And Method For Processing Remote Direct Memory Access Operations With A Device-Attached Memory
KR100913279B1 (ko) 버스를 통해 메모리 프리패치 명령들을 전송하기 위한 방법 및 장치
US6757768B1 (en) Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node
EP2290528B1 (en) Efficient execution of memory barrier bus commands
JP4275504B2 (ja) データ転送方法
KR102443106B1 (ko) 메모리 액세스 기술 및 컴퓨터 시스템
TWI234071B (en) Method and apparatus for sideband read return header in memory interconnect
US20070162639A1 (en) TCP-offload-engine based zero-copy sockets
WO2006012289A2 (en) Memory read requests passing memory writes
JPH09146878A (ja) データ処理システム及びデータ処理方法
JP2001117859A (ja) バス制御装置
US7613841B2 (en) Systems and methods for reducing data storage in devices using multi-phase data transactions
US6941425B2 (en) Method and apparatus for read launch optimizations in memory interconnect
US6636939B1 (en) Method and apparatus for processor bypass path to system memory
US7275125B2 (en) Pipeline bit handling circuit and method for a bus bridge
US20060218334A1 (en) System and method to reduce memory latency in microprocessor systems connected with a bus
JPH06274425A (ja) ネットワークアダプタ装置
US8762603B2 (en) Addressable FIFO
US6073198A (en) System for peer-to-peer mastering over a computer bus
CN114356839A (zh) 处理写操作的方法、设备、处理器及设备可读存储介质
US7167939B2 (en) Asynchronous system bus adapter for a computer system having a hierarchical bus structure
JP2002198987A (ja) ハブおよびポート付き転送コントローラのアクティブ・ポート
KR20150093461A (ko) 시스템 인터커넥트 및 시스템 인터커넥트의 동작 방법
US20080104286A1 (en) Data transfer apparatus and data transfer method

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees