[go: up one dir, main page]

TWI272485B - Method and system for use with a network, article comprising a storage medium having machine readable instructions stored thereon, and network adapter subsystem for use with a computer system having a system memory - Google Patents

Method and system for use with a network, article comprising a storage medium having machine readable instructions stored thereon, and network adapter subsystem for use with a computer system having a system memory Download PDF

Info

Publication number
TWI272485B
TWI272485B TW094121396A TW94121396A TWI272485B TW I272485 B TWI272485 B TW I272485B TW 094121396 A TW094121396 A TW 094121396A TW 94121396 A TW94121396 A TW 94121396A TW I272485 B TWI272485 B TW I272485B
Authority
TW
Taiwan
Prior art keywords
data structure
address
entry
sub
descriptor
Prior art date
Application number
TW094121396A
Other languages
English (en)
Other versions
TW200606640A (en
Inventor
Hemal Shah
Ali Oztaskin
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
Publication of TW200606640A publication Critical patent/TW200606640A/zh
Application granted granted Critical
Publication of TWI272485B publication Critical patent/TWI272485B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Bus Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Description

1272485 九、發明說明: 【發明所屬之技術領域】 發明的技術領域 本發明係有關用以_虛擬㈣結構表之方法、系統及 5 程式。 L· jttr 與本發明相關的崇i 2003年1〇月9日提申、中請案號為1〇/683,941的" 用以針對透過網路進行資料傳輸而管理記憶體的方法、系 1〇統與程式";於2003年12月29日提申、申請案號為 10/741920的〃用以管理虛擬記憶體的方法、系統與程 式,用以快取虛擬化資料結構表的方法、系統與程式,,; 以及〃訊息上下文式TCP傳輸' 技J5技藝之 15 在一種網路環境中,主機電腦上的網路轉接器,例如乙 $網路控制器、光纖頻道控制器等,係接收輸入/輸出卿 請求或針對主機電腦啟始之1/〇請求的響應。 經常地,主機電腦作業系統包括用以與網路轉接哭硬體 0進行通訊以管理1/0請求以供在網路上發送的-裝置驅動 皸式。主機電腦亦可應用一種把欲在網路上發送的資料包 封為封包的協定,該等封包各包含一目的地位址以及欲發 适之資料的一部份。往往把在網路轉接器上接收到的資料 封包健存在一封包緩衝器中。傳輸協定層可處理網路轉接 5 1272485 為接收到而儲存在封包緩衝器中的封包,並且存取礙入在 封包中的任何I/O命令或資料。 例如,電腦可應用TCP/IP(傳輸控制協定網際網路協定) 來編碼並定址資料以供傳輸,並且解碼並存取在網路轉接 5 器上接收到之TCP/IP封包中的酬載資料。IP指定封包的格 式(亦稱為資料包)以及定址方案。TCP為一種較高位準的協 疋’其建立一目的地與一來源之間的一項連結並且提供一 種可靠的位元組資料流式、全雙工式傳輸服務。另一個協 定,即TCP上遠端直接記憶體存取(RDMA),則提供目的地 10 之指定記憶體位置上的直接資料配置。 裝置驅動程式、應用程式或作業系統可使用重要的主機 處理器資源來掌管用於網路轉接器的網路傳輸請求。一種 用以降低主機處理器上負載的技術是使用TCP/IP離載引 擎(TOE),其中TCP/IP協定相關運作係體現於網路轉接器 15硬體中,這與裝置驅動程式或其他主機軟體相反,藉此使 主機處理器不必進行某些或全部的TCP/IP協定相關運 作。相似地,RDMA致能式NIC(RNIC)可從主機處理哭卸 下RDMA以及傳輸相關運作。 離載引擎與其他裝置經常地使用稱為緩衝器的記憶體 2〇來儲存或處理資料。已利用短期地把資料儲存在積俨+路 中的實體記憶體來體現緩衝器,其一實例為隨機存取 體或RAM。典型地,可從實體記憶體相對快速地存取資料〜 同樣地,緩衝器往往係配置為一組實體連續 只的圮憶體位 置’即具有連續實體位址的記憶體位置。主機雷 \屯%通常具 6 1272485 :體=積:::,期:_料― 比積體電路實體記憶 電腦的作業系統血型 5 10 15 20 往比電腦## 使用—種虛擬記憶體空間,盆往 Λ 體的記憶體空間大上許多。第1 Η展- ㈣疑記憶體空間5〇以及短期 ;= 料流中_職科54。欲在資 存在不連續部份中,即==的資料係最初地被儲 體位址中。例如,展干憶體裝置的非連續記憶 在短期實體記” 1Gb的二個部份係被儲存 中,而展干於7工間52之不連續部份的實體記憶體 、 C的另—個部份則被儲存在硬磾所備置的 長期實體記憶體空間中,如第 ·Η所備置的 可使用虛擬記憶體位址 ::::業糸統 與取的實際 /相-枓流10部份 5。的部份50a係映射於J此,虛擬記憶體位址空間 憶體空間52的實叶體;^存有娜卩分收之實體記 位址空間5()的部份5Gl^體位址。相似地,虛擬記憶體 之本體記憶—P 於當中儲存有資料部分 二二a 52的實際實體記憶體位址。資料流10 :二:=Γ續虛擬記憶體位址空間中而映射於不連續 貫體圮fe體空間。再去,南 虛极記憶體位址空間50的部份
Ja1 i〇c 二J e 址°空白部份50d則代表虛擬記憶 體 間G的未分派或未映射部份。 7 1272485 第2圖展示出一種典型系統轉譯與保護表(τρτ)6〇,其 為作業系統用以依據程序位準保護而使虛擬記憶體位址映 射於真貝的貝體讀體位址。因此,虛擬記憶體空間伽 的虛擬記憶體位址可開始於虛擬記憶體位址〇χι〇〇〇,其係 5例如映射於實體記憶體空間52的實體記憶體位址 8AEF000。系統ΤΡΤ纟60並未具有對應於虛擬記憶體位址 空間50d之虛擬記憶體位址的任何實體記憶體位址,因為 虛擬§己丨思體空間50d尚未映射於實體記憶體空間。 在已知的系統中,可把虛擬記憶體空間5〇的部份分派 10到-裝置或軟體模組,以供該模組針對緩衝器提供記憶體 空間。同樣地,在某些已知的設計中,輸入/輸出(1/0)裝置, 例如網路轉接器或儲存體控制器,可具有直接地把資料設 置在應用程式緩衝器或其他記憶體區域中的效能。該種直 接資料配置效能能降低或減少中間緩衝動作,其中在把資 15料傳輸到系統目的記憶體位置之前,該資料係設置在一暫 時緩衝器中。遠端直接記憶體存取(RDMA)致能網路介面卡 (RNIC)為能進行直接資料配置之1/〇裝置的一實例。RNI(: 支援已界定的運作(亦稱為、、語意學〃),其包括RDma寫入、 RDMA讀取、以及傳送/接收,以供記憶體在網路上記憶資 2〇 料傳輸動作。 為RDMA運作目的地的應用程式緩衝器位址係經常地 呈某種緩衝器識別符以及虛擬位址或偏差值形式攜載在 RDMA封包中。緩衝器識別符可識別出欲把資料寫入的緩 衝器或者欲從其讀取出資料的缓衝器。封包攜載的虛擬位 8 1272485 址或偏差值則針對指定直接記憶體運作識別出已識別缓衝 裔的位置。 為了要進行直接資料配置,I/O裝置典型地維持其本身 的轉譯與保護表(TpT),其一實例係展示於第3圖的70。 5裝置τρτ 70包含資料結構72a、72b、72c至72η,其各 用來控制對一特定緩衝器的存取動作,如緩衝器識別符 74a、74b、74c至74η之相關聯緩衝器識別符指出的。裝 Φ 置ΤΡΤ 70另包含資料結構76a、76b、76c至76η,其各 . 用來把緩衝為識別符以及虛擬位址或偏差值轉譯為相關聯 、 、、爰衝裔識別符74a、74b、74c至74η指出的特定緩衝器實 體記憶體位址。因此,係由1/〇装置使用τρτ 7〇的資料結 構76a以針對識別符74a指出的緩衝器進行位址轉譯。相 似地,係由I/O裝置使用資料結構72a以針對緩衝器識別 符74a扣出的緩衝器進行保護檢查。可在對從網路接收到 之封包酬載進行直接資料配置之前或在網路上把資料傳送 出去之前,進行位址轉譯與保護檢查。 為了促進咼速的資料傳輸,例如τρτ 7〇的裝置丁p丁典 型地係文到I/O裝置以及該裝置的驅動程式軟體管理。裝 扣置τρτ佔用相對大量的記憶體。因此,裝置τρτ係經常性 地系駐在系統記憶體中。1/0裝置維持裝置丁ρτ之一部份 的快取記憶體,以便降低存取延誤。 1 g如此,目月ij技藝中仍持續地需要能在資料傳輸以及 其他運作中改善記憶體使用效能的技術。 【明内】 9 1272485 發明的概 本發明揭露-種方法,其包含下列步t接㈣於一記 憶體運作的一位址;把該已接收位址轉換為一虛擬連續資 料結構表之-登錄項的—虛擬位址;把該虛擬位址轉換為 該資料結構表錄—實體位址;取得在該實體位址之 該資料結構;以及利賴資料結構進行該記憶體運作。 Μ式的簡要說明
現在將參照下列圖式來進行說明,其中相同的元件編號 表示相同的元件,在圖式中: 1〇帛1圖展示出習知技藝中—種電腦系統之系統記憶體 的虛擬以及實體記憶體位址; 第2圖展示出一種用於實體記憶體位址轉譯與保護表 的虛擬習知技藝系統; 第3圖展示出一種用於! / 〇裝置的習知技藝轉譯與保護 15表; 第4圖展不出一種運算環境實施例,其中可實行本發明 的數個方面; 第5圖展示出一種習知技藝的封包架構; 第6圖根據本發明的數個方面展示出一種1/〇裝置的虛 20 擬化資料結構表實施例; 第7圖展示出用以存取第6圖之虛擬化資料結構表的對 映表實例; 第8Α圖與第8Β圖展示出第6圖之對映表的資料結構 實施例; 10 1272485 弟8C圖展示出用 虛擬位址實例; 以定址第6圖之虛擬化資料結構表的 f 9圖展7K出第6圖之對映表的資料結構數值實例; 第〇圖展π出一種用以創建第6圖之虛擬化資料結構 5表以及第7圖之對映表的運作實施例; 第圖展不出一種用以轉換已接收位址並且從第6圖 一虛擬化胃料結構表取得資料結構的運作實施例概要展 不, 第12圖展示出―细以轉換已接收位址並且從第6圖 1〇之虛擬化資料結構表取得資料結構的運作實施例; 、第13 細地展示出-種用以轉換已接收RDMMi 址並且攸第6圖之虛擬化資料結構表取得資料結構的運作 實施例; 第14圖更蛘細地展示出一種用以轉換已接收位 15址亚且攸第6圖之虛擬化資料結構表取得資料結構的運作 實施例;以及 第50展示出一種可配合所述實施例使用的架構。 【實施冷式】 較佳實施例的|羡細說明 20 在以下的發明說明中,將參照形成本發明一部份且展示 出數個實施例的圖式來進行說明。可了解的是,可使用其 他的實施例,且在不偏離本發明實施例範圍的條件下,可 進行結構性/運作性的改變。 11 1272485 第4圖展示出_種運算環境,其中可實行本發明實施例 的數個方面。電· 1〇2包括一或多個中央處理單元 (CPU)104(僅展示出—個)、記憶體1〇6、非依電性儲存體 108、儲存體控制器1G9、作業系統110、以及網路轉接器 ' 5 112。應用程式114係在cpu 1Q4上執行、常駐在記憶體 , 106中’且能夠從遠端電腦發送並接收封包。可根據已知 的快取技術來快取常駐在記憶體1〇6中的内容。電腦102 • 包含任何技藝中已知的運算裝置,例如大社機、賴器、 個人電腦、工作站、膝上型、手持式電腦、電話裝置、網 * 10路設備、虛擬化褒置、儲存體控制器、儲存體控制器等。 . 可使用任何技藝中已知的CPU 104以及作業系統110。可 把程式以及記憶體1%中的資料抽換為儲存體⑽作為記 憶體管理運作的部分。 儲存體控制ϋ 109根據-儲存體協定層控制從儲存體 15廳讀取資料以及寫入資料到儲存體⑽巾。該儲存體協 _ (層為多種已知的儲存體協定中的任—種,包括冗餘獨立 碟片陣列(RAID)、高速串列先進附接技術(SATA)、並行小 型電腦系統介面(SCSI)、㈣附接SCSI等。可根據已知的 快取技術快取而寫入到餘存體1〇8中的資料或從儲存體 20 108讀取的資料。可把儲存體控制器整合到包括各種不^ 控制器的CPU晶片組中,其包括系統控制器、週邊控制器、 圮憶體控制器、集線器控制器、J/0匯流排控制器等。 網路轉接器112包括用以在網路118上對遠端裝置傳 送網路封包並且從遠端裝置接收網路封包的網路協定層 12 1272485 116。網路118包含區域網路(lan)、網際網路、廣域網路 (WAN)、儲存區域網路(SAN)等。可把實施例組構為能在無 線網路或連結上發送資料,例如無線LAN、藍芽(B|uet〇〇th) 等。在某些實施例中,網路轉接器112以及各種不同協定 ' 5層可實現乙太網路協定,包括無遮蔽扭絞對纜線、記號環 , (token ηη9)協定、光纖通道協定、Infiniband( —種支援多 併發鏈結的''轉換線纜"技術)、或任何技藝中已知的其他網 • 路通訊協定。如上所述地,可把網路轉接器控制器整合到 包括各種不同控制器的CPU晶片組中,复 • 10 $、週邊控制器、記憶體控制器、集線器控制器、1/0紐 • 排控制器等。 裝置驅動程式120可在⑽1G4上執行、常駐在記憶 體106中’並且包括網路轉接器112特定命令以與網路轉 接器112的網路控制器進行通訊,並且在作業系統、 15應用程式114與網路轉接器112之間接合。網路控制器可 行網路協定層116,並且控制包括資料鏈路層與實體層 (其包括例如資料接收器的硬體)的其他協定層。 在某些實施例中中,網路轉接器112的網路控制器包括 傳輸協定層121以及網路協定層116。例如,網路轉接器 20 112的網路控制器可應用TCP/IP離載引擎(丁〇0,其中二 在網路轉接器112硬體或韌體中進行傳輪層操作,這與裝 置驅動程式120或主機軟體是相反的。 ” ^ 傳輸協疋标作包括把資料與核對和以及其他,二孔 包封在TC P/1P封包中,並且傳送該等封包。該等=操^ 13 1272485 係由可利用TOE、網路介面卡或積體電路、驅動程式、 TCP/IP堆疊、主處理器或該等^件之組合來實行的代理器 末進行。该專傳輸協疋操作亦包括透過網路接收Tcp/ip封 包,並且把該TCP/IP封包解開以存取酬載或資料。該等接 5收操作係由可同樣地利用TOE、驅動程式、主機處理器或 該等元件之組合來實行的一代理器來進行。 網路層116掌管網路通訊並且把接收到的TCP/IP封包 才疋供給傳輸協定層121。傳輸協定層121係與裝置驅動程 式120或作業系統11〇或應用程式114接合,並且進行額 10 外的傳輸協定層操作,例如處理在網路轉接器112上接收 到而在傳輸層中包封的封包訊息内容,例如TCP、網際網 路小型電腦系統介面(iSCSI)、光纖通道SCSI、並行SCSI 傳輸或任何技藝中已知的傳輸層協定。傳輸協定層121的 TOE可從已接收TCP/IP封包中解開酬載,並把資料傳送到 裝置驅動程式120、應用程式114、或作業系統110。 在某些實行方案中,網路控制器與網路轉接器112另包 括RDMA協定層122以及傳輸協定層121。例如,網路轉 接器112可應用係於網路轉接器112硬體或韌體中進行 RDMA層操作的RDMA離載引擎,這與裝置驅動程式120 20 或其他主機軟體是相反的。 因此,例如經由RDMA連結來傳送訊息的應用程式114 可透過裝置驅動程式120以及網路轉接器112的RDMA協 定層122來傳送訊息。可把該訊息資料傳送到傳輸協定層 121,以便在網路118上透過網路協定層116以及包括資 14 1272485 料鏈路與實體協定層的其他協定層傳送該訊息f料之 把其包封在TCP/IP封包中。 】先 記憶體106另包括亦稱為插座物件(s〇cket 〇bject)的梓 案物件124,其包括網路118上用於遠端電腦連結上的資 5訊。應用程式114使用槽案物件124巾的資訊以識別連結、。 應用程式114使關案物件124來與遠端系統進行通訊。 槽案物件124指出欲用來與遠端系統進行通訊的區域璋口 或插座、當中應用程式114執行電腦1〇2的區域網路(Ip) 位址、應用程式114已傳送且接收了多少資料、以及與應 10用私式114進行通訊的遠端埠口與網路位址(例如ip位 址)。上下文資訊126包含具有裝置驅動程式12〇、作業系 統110或應用程式114欲維持以管理傳送到網路轉接器 112之清求資汛的一種資料結構,如以下將說明地。 在展示的實施例中,經編程以由記憶體1〇6的軟體(包 15括作業系統I10、應用程式114與裝置驅動程式120中的 一個或數個)運作的CPU 104將提供與網路轉接器112接合 的一主機。因此,資料傳送與接收代理器132包括傳輸協 定層121以及網路介面112的網路協定層116。然而,可 利用TOE、網路介面卡或積體電路、驅動程式、丁cp/ip堆 20疊、主機處理器或該等元件之組合來實行該資料傳送與接 收代理器。 第5圖展示出在網路轉接器112上接收或由網路轉接器 112發送的網路封包150格式。資料鏈路訊框148係體現 於資料鏈路層可了解的格式中,例如8〇2_11乙太網路。此 15 1272485 種乙太網路協定的細節已於1999年至2003年出版的 ''IEEE標準8〇2·η"中說明。乙太網路訊框包括額外乙太網 路部件,例如一頭標以及一錯誤檢查碼(未展示)。資料鏈 路訊框148包括網路封包150,例如ιρ資料包。網路封包 150係體現於網路協定層116可了解的格式中,例如π協 定。傳輸封包152係包含在網路封包15〇中。傳輸封包152 能夠由傳輸協定層121處理,例如TCP。可由其他層體根
據包括網際網路小型電腦系統介面(iSCSI)協定、光纖頻道 SCSI、並行SCSI傳輸等其他協定來處理封包。傳輸封包 10 152包括酬載資料154以及其他傳輸層攔位,例如一頭標 以及一錯誤檢查碼。酬載資料152包括正受傳送的基本内 容,例如命令、狀態及/或資料。驅動程式12〇、作業系統 110碑應用程式114包括例如SCSI驅動程式的一層體,以 處理酬載資料154的内容並且存取當中的任何狀態、命令 15 及/或資料。乙太網路協定的細節係於2002年3月8日出 版的λλΙΕΕΕ標準802.3〃中解說。 根據本發明說明的一方面,I/O裝置具有例如位址轉譯 與保護表(ΤΡΤ)的一虛擬化資料結構表,其具有虛擬連續資 料結構,但未必為系統記憶體中的實體地連續資料結構。 20 如以下更詳細地說明地,該種配置能促進多種應用程式中 的記憶體運作。 弟6圖展7F出具有虛擬連績頁面的虛擬化ΤΡΤ表200 或者登錄項204之方塊202的一實例,而各個ΤΡΤ登錄項 包含一或多個資料結構。在ΤΡΤ虛擬位址空間206中ΤΡΤ 16 1272485 登錄項方塊202為彼此連續的,但彼此可能無關聯,換言 之,在常駐的系統實體記憶體空間208中,TPT登錄項方 塊202彼此並不是連續的。然而,在展示的實施例中,登 錄項之各個方塊202的TPT登錄項204可為連續的,換言 5 之,在常駐的系統實體記憶體空間208中,TPT登錄項方 塊202具有連績糸統記憶體位址。 根據本發明說明的另一方面,可利用虛擬連續方式來存 取TPT 200。TPT的虛擬位址空間係需具1/〇裝置,且它 可與應用程式、作業系統、驅動程式以及其他I/O裝置使 10用的虛擬位址空間無關聯。在展示的實施例中,可把第一 階層位準的TPT 200再劃分為多個虛擬連續單元或區段 210。可把第二階層位準上的各個單元或區段21〇依次地再 劃分為多個實體地連續子單元或子區段2〇2。子區段2〇2 在此係稱為λλ頁面〃或、'方塊〃2〇2。可把第三階層位準上的各 15個單元或區段202依次地再劃分為多個虛擬連續ΤΡΤ登錄 項204。各個ΤΡΤ登錄項2〇4包含儲存在記憶體之一或多 個位元組中的一或多個資料結構。可了解的是,可在較多 或較少數量的階層位準上再劃分ΤΡΤ 2〇〇。 在展示的實施例中,Τ ΡΤ 200的各個區段2 i 〇為相同大 20小、TPT 200的各個頁面202為相同大小,且各個τρτ登 錄項204為相同大小。然而,可了解的是,τρτ區段、丁叮 頁面、以及TPT登錄項亦可為不同大小。 在展示的實施例中,可利用虛擬連續方式來存取丁ρτ 200,如利,要地展示於第7 _—組階層資料結構表 17 1272485 220。第一階層位準資料結構表222(在此稱為區段描述符 表222)具有多個區段描述符登錄項224a、224b至224π。 各個區段描述符登錄項224a、224b至224η包含資料結 構’其一貫例係展示於第8a圖的224a。在此實例中,各 5個該等區段描述符登錄項224a、224b至224η包含界定 ΤΡΤ 200之該等區段210中之一之特徵的多個資料結構 226a、226b與226c。更確切來說,各個該等區段描述符 登錄項224a、224b至224η說明第二位準階層資料結構表 (其在此稱為一頁面描述符表)。各個頁面描述符表為多個 1〇 頁面描述符表230a、230b至230η中之一(第7圖)。 各個頁面描述符表230a、230b至230η具有多個頁面 描述符登錄項232a、232b至232η。各個頁面描述符登錄 項232a、232b至232η包含資料結構,其一實例係展示於 第8a圖的232a。在此實例中,各個該等頁面描述符登錄 15 項232a、232b至232η包含界定了 TPT 200之區段210 頁面或方塊202中之一之特徵的多個資料結構234a、234b 與 234c。 在展示的實施例中,如果係以變數2s表示ΤΡΤ表200 中ΤΡΤ登錄項204數量的話,可利用包含s個位址位元的 2〇 虛擬位址(如第8c圖之240所示)而以虛擬連續方式來存取 TPT登錄項204。如果TPT表200經過再劃分而係以變數 2m來表示形成區段210數量的話,各個區段210可描述高 達TPT虛擬記憶體空間206的2( m)位元組。 18 1272485 在展示的實施例中,區段描述符表222可常駐在I/O裝 置的記憶體中。同樣地,位於虛擬位址240之242上的一 組位元可用來界定在本文中稱為TPT區段描述符索引的一 索引,以識別區段描述符表222的特定區段描述符登錄項 5 224a、224b至224n。在展示的實施例中,TPT虛擬位址 240之s個位元中的最重要m個位元可用來界定τρτ區段 描述符索引。替代地,可了解的是,區段描述符表222可 整體地或部分地常駐在其他記憶體中。 一旦由TPT虛擬位址240的TPT區段描述符索引242 10 識別出來,已識別區段描述符登錄項224a、224b至224η 的資料結構226a(第8a圖)可提供多個頁面描述符表 230a、230b至230η(第7圖)中之一的實體位址。已識別 區段描述符登錄項224a、224b至224η的第二資料結構 226b可指明資料結構226a的頁面描述符表有多大,例如 15 藉著提供一方塊計數。已識別區段描述符登錄項224a、 224b至224η的第三資料結構226c則提供有關區段210 的額外資訊,例如是否正使用特定區段210或者它們是否 為有效的,如第9圖的類型表中所示。 同樣地,位於虛擬位址240之244上的第二組位元可 20用來界定在此稱為TPT頁面描述符索引的第二索引,以識 別頁面描述符表232a、232b至232η的特定頁面描述符登 錄項232a、232b至232η,其由ΤΡΤ虛擬位址240之ΤΡΤ 區段描述符索引242識別之區段描述符登錄項224a、224b 至224η之資料結構226a(第8a圖)的實體位址識別出來。 19 1272485 在展示的實施例中,TPT虛擬位址240之s個位元中下一 個最重要的〃s減m減p〃個位元可用來界定TPT區段描述 符索引244。 一旦由TPT虛擬位址240的TPT區段描述符索引242 5 以及TPT虛擬位址240的TPT頁面描述符索引244識別出 之TPT區段描述符表登錄項之貧料結構226a中包含的實 體位址識別出來,已識別頁面描述符登錄項232a、232b 至232η的資料結構234a(第8b圖)將提供多個TPT頁面或 方塊202(第7圖)之一的實體位址。可保留已識別頁面描述 ίο 符登錄項232a、232b至232η的第二資料結構226b。已 識別頁面描述符登錄項232a、232b至232η的第三資料結 構234c可提供有關ΤΡΤ方塊或頁面202的額外資訊,例 如是否正使用特定TPT方塊或頁面202或者它們是否為有 效的,如第9圖的類型表中所示。 15 同樣地,位於虛擬位址240之246上的第三組位元可 用來界定在此稱為TPT方塊位元組偏差值的第三索引,以 識別TPT頁面或方塊202的特定TPT登錄項204,其由TPT 虚擬位址240之TPT頁面描述符索引244識別之頁面描述 符登錄項232a、232b至232η之資料結構234a(第8b圖) 20 的實體位址識別出來。在展示的實施例中,TPT虛擬位址 240之s個位元中最不重要的p個位元可用來界定TPT方 塊位元組偏差值246,以識別位元組之頁面或方塊202中 2P個位元組的特定位元組。 20 1272485 第10圖展示出用以初始化資料結構表(例如ΤΡΤ 200) 之I/O裝置(例如轉接器112)之裝置驅動程式120的運作實 施例。裝置驅動程式120將配置(方塊300)記憶體方塊以 建構ΤΡΤ 200。已配置記憶體方塊的大小與數量以及當中 5 欲再劃分資料結構表之區段110大小與數量為作業系統 110、電腦系統102的一函數以及I/O裝置的要件。 一旦受到配置以及壓抑,可利用資料結構登錄項來創建 記憶體方塊(方塊302),例如ΤΡΤ登錄項204。如第11圖 所示,ΤΡΤ 200的各個ΤΡΤ登錄項204包括含有特定緩衝 10 器的緩衝器保護資料的資料結構352,以及包含特定緩衝 器之實體位址的資料結構354。在展示的實施例中,各個 已配置記憶體方塊中的ΤΡΤ登錄項204位元組可為實體連 續的,雖然ΤΡΤ 200之ΤΡΤ登錄項204的ΤΡΤ方塊或頁面 202可能不相關或者不連續。在一實施例中,ΤΡΤ 200之 15 ΤΡΤ登錄項204的ΤΡΤ方塊或頁面202各位於2|3個實體位 址範圍中,其中各個ΤΡΤ方塊或頁面202包含2Ρ個連續位 元組。同樣地,在一實施例中,系統記憶體具有64位元位 址,例如各個ΤΡΤ登錄項具有受校準的8位元組。可了解 的是,亦可使用其他範圍以及其他定址方案。 2〇 同樣地,可利用例如頁面描述符登錄項232a、232b至 232η的資料結構登錄項(方塊304、第10圖)來創建資料結 構表子區段對映表,例如頁面描述符表230a、230b至 230η(第7圖)。如前所述,各個頁面描述符登錄項包括例 如資料結構234a(第8b圖)的一資料結構,其包含ΤΡΤ 200 21 1272485 之TPT登錄項204的TPT方塊或頁面202的實體位址,以 及例如包含頁面或方塊202之類型資訊之資料結構234c 的一資料結構。 頁面描述符表230a、230b至230η(第7圖)可常駐在例 5 如系統記憶體106的記憶體中或者I/O裝置上。如果頁面 描述符表230a、230b至230η常駐在I/O裝置上的話,頁 面描述符表230a、230b至230η的I/O位址可利用裝置驅 動.式120來進行映射,並且隨後可由裝置驅動程式Go 初始化頁面描述符表230a、230b至230η。如果頁面描述 1〇符表230a、23〇b至230η常駐在系統記憶體1〇6中的話, 可利用系統實體位址來對它們進行定址動作。
在一替代實施例中,可把頁面描述符表230a、230b至 230η儲存在TPT 200本身的虛擬連續區域中。在此實施例 中,可由裝置驅動程式120初始化頁面描述符表23〇a、 15 230b至230n的基本τρτ虛擬位址,並且把其傳遞到I/O 裝置,例如轉接器112。I/O裝置可隨後使用此基本位址來 存取頁面描述符表230a、230b至230η。 同樣地,可利用例如區段描述符登錄項224a、224b至 224η的資料結構登錄項(方塊3〇6、第1〇圖)來創建資料結 2〇構表子區段對映表,例如區段描述符表222(第7圖)。如前 所述,各個區段描述符登錄項包括例如資料結構226a(第 8a圖)的一貧料結構,其包含頁面描述符表23〇a、23〇b至 23〇n中之i實體位址。各個區段描述符登錄項另包括描 22 1272485 述頁面描述符表大小的資料結構226b,以及例如包含頁面 &述符表之類型資訊之資料結構224c的一資料結構。 工/〇衣置可使用一資料結構表虛擬位址來存取資料結構 表中的各種不同資料結構以進行各種不同功能,例如位址 5轉澤與保護檢查。例如,1/〇裝置可使用帛%圖的丁叮虛 擬位址240來針對特定緩衝器取得丁p丁登錄項2〇4的實體 位址’其中TPT登錄項204的資料結構包含該緩衝器的實 體位址以及保護檢查資訊。 第12圖展示出一種用以接收用於記憶體運作之位址 10 362(第11圖)的I/O裝置運作實施例(方塊4〇2)。將把已接 收位址轉換為虛擬連續資料結構表之一登錄項的一虛擬位 址364(第11圖)(方塊4(H),例如TPT 200的登錄項204。 例如’ I/O裝置將把虛擬位址364轉換為資料結構登錄項 的一實體位址(方塊406)。例如,此實體位址可取得資料結 15構的資料(方塊408),以進行所要求的記憶體運作(方塊 410) 〇 第13圖較詳細地展示出接收用於記憶體運作之位址的 I/O裝置運作實施例。在此實例中,RDMA致能網路轉接器 112將接收RDMA運作(方塊602),其具有呈緩衝器識別符 20 形式的記憶體目的地位址以及該緩衝器中的一偏差值(虛 擬位址或零基(zero-based)偏差值)。將把已接收緩衝器識 別符的一部份轉換為一 TPT索弓1(方塊604),其在展示的 實施例中為TPT虛擬位址,例如第8c圖的TPT虛擬位址 240。將把TPT索引的一部份轉換為一區段表索引(方塊 23 1272485 605) ’例如第8c圖的TP丁區段描述符索引242。轉接器 112將利用上述產生的區段表索引取得一頁面表的實體位 址(方塊606),例如頁面描述符表230a、230b至230η中 之一(第7圖),以識別一區段表的一特定登錄項(例如一區 5段描述符表220),並且讀取已識別區段表登錄項224a、 224b至224η的資料結構226a至226c。將把TPT索引的 一部份轉換為一頁面表索引(方塊608),例如第8c圖的TPT 頁面描述符索引244。轉接器112將利用上述產生的頁面 表索引取得TPT登錄項之一頁面或方塊的實體位址(方塊 10 610),例如TPT方塊202中之一,以識別一頁面表的一特 定登錄項(例如一頁面描述符表230a),並且讀取已識別頁 面描述符表登錄項232a、232b至232η的資料結構234a、 234c。將把TPT索引的一部份轉換為一 TPT方塊索引或偏 差值(方塊612),例如第8c圖的TPT方塊位元組偏差值 15 246。TPT方塊索引指向對應於緩衝器識別符的TPT登錄 項。轉接器112將利用上述產生的ΤΡΤ方塊索引或偏差值 取得一緩衝器的保護資料(方塊614),以識別已識別ΤΡΤ 方塊202的特定登錄項204,並且讀取已識別ΤΡΤ登錄項 204的資料結構352、354。可根據已取得的保護資訊來進 20行保護檢查(方塊616)。如果保護檢查失敗的話,便中止運 作且不進行剩下的程序(方塊618、620)。如果保護檢查通 過的話,可根據ΤΡΤ登錄項之已編入索引實體位址上的資 訊來取得緩衝器實體位址(方塊618),包括偏差值、記憶體 運作大小以及位址轉譯資訊。可隨後利用已取得的緩衝器 24 1272485 實體位址在已制緩_上進行所要㈣酬八記憶體運 作(方塊620)。 第Η圖展示a另-種用以接收用於記憶體運作之位址 的I/O裝置運作實施例。在此實例中,方塊652至666的 5運作相似於第13圖中方塊602至616的運作。因此,在 方塊666的運作中,可根據取得的保護資訊進行一項保護 檢查。如果保護檢查失敗的話,便中止此運作且不進行剩 下的程序(方塊680至698)。然而,如果保護檢查通過的 話(方塊666),可備置另一個位準的運作,其中可取得多個 10緩衝裔貫體位址。更確切來說,可針對位址轉譯登錄項取 得多個tpt索引或虛擬位址(方塊68〇),例如根據偏差值、 記憶體運作大小以及位址轉譯資訊。可在TPT的索引編入 貫體位址上取得TPT登錄項的索引,其上可取得實體保護 資料。可把有關此等索引的資訊儲存為基本TPT索引以及 15 對應於該緩衝器的數個TPT索引。 將判定出是否已讀取該等所有對應位址轉譯登錄項(方 塊682)。若否,可取得下一個位址轉譯登錄項的TPT索引 (或TPT虛擬位址)(方塊684)。可把τρτ索引的一部份轉 換為一區段表索引(方塊686),例如第8c圖的TPT區段描 20 述符索引242。 轉接器112將利用上述產生的區段表索引取得一頁面 表的實體位址(方塊688),例如頁面描述符表230a、230b 至230η(第7圖)中之一,以識別一區段表的一特定登錄項 25 1272485 (例如一區段描述符表220),並且讀取已識別區段表登錄項 224a、224b 至 224η 的資料結構 226a 至 226c。 將把TPT索引的一部份轉換為一頁面表索引(方塊 690),例如第8c圖的TPT頁面描述符索引244。轉接器 5 112將利用上述產生的頁面表索引取得TPT登錄項之頁面 或方塊的實體位址(方塊692),例如TPT方塊202中之一, 以識別一頁面表的一特定登錄項(例如頁面描述符表 φ 230a),並且讀取已識別頁面描述符表登錄項232a、232b 至232η的資料結構234a、234c。 10 將把TPT索引的一部份轉換為一 TPT方塊索引或偏差 - 值(方塊694),例如第8c圖的TPT方塊位元組偏差值246。 TPT方塊索引指向對應於位址轉譯登錄項的τρτ登錄項。 轉接器112將利用上述產生的TPT方塊索引或偏差值取得 緩衝器實體位址(方塊696),以識別已識別TPT方塊202 15的特定登錄項204,並且讀取已識別τρτ登錄項204的資 _ 料結構352、354。如此一來,可把已取得τρτ索引轉譯為 一緩衝器的實體位址。 再度地,將判定出是否已讀取該等所有對應位址轉譯登 錄項(方塊682)。若否,便重複方塊684至696的運作。 20 一旦已讀取了所有該等對應位址轉譯登錄項,可利用從已 取得TPT索引或虛擬位址轉譯而來的所有該等缓衝器實體 位址來進彳于g己憶體運作(方塊698)。 额外實施例細節 26 1272485 10 15 20 本發明揭露之用以管理記憶體的技術可作為方法、裝 置、或利用標準編程及/或工程技術的製造物品來實行以產 生軟體、韌體、硬體或該等的任何組合。本文令所謂的、、製 造物品〃係表示以硬體邏輯(例如積體電路晶片、可編程間 極陣列(PGA)、ASIC等)實現的程式碼或邏輯、或電腦可讀 媒體(例如磁性儲存媒體,如硬碟機、軟碟、磁帶)、光學 儲存體(例如CD-ROM、光碟片等)、依電性與非依電性記情 體裳置⑽如可抹除可絲唯讀記龍(EEpR〇M)、; 讀記憶體(剛)、可編程唯讀記憶體(pR〇M)、隨機存取記 憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取 ak、體(SRAM)、㈣、可編程邏輯等)。可由處理器來存取 並^^電腦可讀媒體中的程式碼。在較佳實施例中,可 Ϊ案^服=3 = _程式碼’或者可透過網路而從 的製造物品包含在該種狀況中,可實行程式碼 媒體、透過空間、無、别…例如網路傳輸線、無線傳輸 因此,''製造物品,,包含ΓΓ紅外線信號等來傳播的信號。 造物品〃包含當中可體:體現有程式碼的媒體。此外,''製 體部件的組合。當_ 處理並且執行程式碼之硬體與軟 本發明實施例範二條::知技藝者可知悉的是,在不偏離 製造物品包含技蓺巾 下可進彳τ多種修正方式,且該 在所述實_中,7任何資訊承載媒體。 110、系統主機13〇、·、把某上運作描述為由作業系統 來進行。在替代實施例中,由料裝 衣置驅動鞋式120或網路介面112 置中之一進行的運作 27 1272485 可由作業系統11G、裝置驅動程式12G或網路介面112中 的-或多個來進行。例如,解說為由驅_式進行的記憶 體運作可由主機來進行。 在所述實施例中,傳輸協定層121與RDMA協定層132 係體現於網路轉接H 112的硬射。在替代實施例中,一 或多個該等協定層可體現於裝置驅動程^或主機記憶體 106 中。
在某二只行方案中’裂置駆動程式與網路轉接器實施例 包括在含有儲存體控制器(例如SCSI、整合驅動電子界面 10 (IDE)、冗餘獨立碟片陣列(RAID)等)以及管理對非依電儲 存體裝置(例如磁碟_機、卿雜、光料)存取之控 制器的-種電腦系統中。在替代實行方案中,網路轉接器 實施例包含在並未含有儲存體㈣㈣_種“中,_ 某些集線器與交換器。 15 在—某些實行方案中’可把裝置驅動程式與網路轉接器實 施例貝订於包括用以呈現f訊以在搞合至電腦系統(包括 裝置驅動程式與網路轉接器)之監視器上顯示之視訊控制 益的-電腦糸統中,例如包含桌上型、工作站、祠服器、 大里4、膝上型、手持式電腦等的電腦系統。替代地, 可接器與裝置驅動程式實施例實現在不包括視訊 控制為(例h換n、路由轉)的電腦計算裝置中。 在某些貫行方案中,可把網路轉接器組構成能透過連 接至網路轉接器之4口的_來傳送資料。替代地,可把 20 1272485 網路轉接器實施例組構錢透過無線網 線LAN、藍芽等)來傳送資料。 路或連結(例如無
10 第1〇圖至第Η圖的邏輯展示出呈某 事件。在替代實施例中,可"的某些 丁 T利用不同順序來進行、修 移除某些操作。再者,可把步驟增添到上述的_或 能符合所述的實施例。再者, 序 中而仍 J依序地發生本發明所述的 操作,或者可並行地處理某些操作。再者,可由單一虐、 單元或分散式處理單元來進行操作。 處理 第15圖展不出網路部件之電腦架構7〇〇的實施例, 如展示於第4圖的主機以及儲存裝置。架構‘二: 器702(例如微處理器)、記憶體7〇4(例如依電性記憶:裝 置)、以及儲存體706(例如非依性電儲存體,如磁碟驅動 機、光碟驅動機、磁帶驅動機等)。例如,可把處理器 15
設置在主機板上。儲存體7G6包含内部儲存體裝置或附接 或網路可存取儲存體。可·技藝中已知的方式把儲存體 706中的程式載入到記憶體7〇4中,並且由處理器了犯執 行。該架構另包括用以致能與網路(例如乙太網路、光纖通 道仲裁迴路等)進行通訊的網路轉接器708。再者,在某些 實施例中,該架構包括用以把資訊呈現在顯示監視器上的 20 視訊控制器709,其中可把視訊控制器709實現在視訊卡 上或者使其與設置在主機板上的積體電路部件整合在一 起。如所討論地,某些該等網路裝置可具有多個網路卡或 控制器。輸入裝置710可用以對處理器702提供使用者輸 入,且包括鍵盤、滑鼠、指示筆(pen_stylus)、麥克風、觸 29 1272485 控感應顯示螢幕,或者技藝中已知的任何其他致動或輪入 機制。輸出裝置712能夠呈現從處理器7〇2或其他部件(例 如顯示監視器、印表機、儲存體等)傳送出的資訊。 可把網路轉接器708設置在擴充卡上,例如週邊構件互 5連(pci)卡、pa-EXpress或者某些耗合至主機板的其他ι/〇 擴充卡,或者設置在主機板的積體電路部件上。pci架構 的細郎已於PCI-SIG所出版的''pci區域匯流排,修正第2 3 版中説明。光纖頻道架構的細節則已於文件編號 ISO/IECAWI 14165-25之技術規格''光纖頻道訊框傳送 10 (framing)以及發信介面〃一文中說明。TCP協定的細節已於 1981年9月出版的網際網路工程工作特別小組(ietf)徵 求評論文件(RFC)793〃一文中說明,IP協定的細節則已於 1981年9月出版的〃網際網路工程工作特別小組(ietf)徵 求評論文件(RFC)791〃一文中說明,而rDMA協定的細節則 15已於2003年3月出版的技術規格λ、ιχΡ/ΙΡ上RDMA的架構 規格〃第1_〇版中說明。 已為了展示以及說明的目的而在於上提出了本發明的 各種不同實施例。並不意圖把本發明限制在不完全詳盡或 已揭露的形式中。可依據上述的揭示進行多種修正方案以 20 及變化方案。 【圖式簡單說明】 第1圖展示出習知技藝中一種電腦系統之系統記憶體 的虛擬以及實體記憶體位址; 第2圖展示出一種用於實體記憶體位址轉譯與保護表 30 1272485 的虛擬習知技藝糸統, 第3圖展示出一種用於I/O裝置的習知技藝轉譯與保護 表; 第4圖展示出一種運算環境實施例,其中可實行本發明 5 的數個方面; 第5圖展示出一種習知技藝的封包架構; 第6圖根據本發明的數個方面展示出一種I/O裝置的虛 擬化資料結構表實施例; 弟7圖展不出用以存取弟6圖之虛擬化貢料結構表的對 10 映表實例; 第8A圖與第8B圖展示出第6圖之對映表的資料結構 實施例; 第8C圖展示出用以定址第6圖之虛擬化資料結構表的 虛擬位址實例; 15 第9圖展示出第6圖之對映表的資料結構數值實例; 第10圖展示出一種用以創建第6圖之虛擬化資料結構 表以及第7圖之對映表的運作實施例; 第11圖展示出一種用以轉換已接收位址並且從第6圖 之虛擬化資料結構表取得資料結構的運作實施例概要展 20 示; 第12圖展示出一種用以轉換已接收位址並且從第6圖 之虛擬化資料結構表取得資料結構的運作實施例; 第13圖較詳細地展示出一種用以轉換已接收RDMA位 址並且從第6圖之虛擬化資料結構表取得資料結構的運作 31 1272485 實施例; 第14圖更詳細地展示出一種用以轉換已接收RDMA位 址並且從第6圖之虛擬化資料結構表取得資料結構的運作 實施例;以及 第15圖展示出一種可配合所述實施例使用的架構。 【主要元件符號說明】
10 資料流 72η 資料結構 10a 貢料流部分 74a 緩衝器識別符 10b 資料流部分 74b 緩衝器識別符 10c 貧料流部分 74c 緩衝器識別符 50 系統虛擬記憶體空間 74η 緩衝器識別符 50a 虛擬記憶體空間部分 76a 資料結構 50b 虛擬記憶體空間部分 76b 資料結構 50c 虛擬記憶體空間部分 76c 資料結構 50d 虛擬記憶體空間部分 76n 貧料結構 52 系統短期實體記憶體空 102 電腦 間 104 中央處理單元(CPU) 54 系統長期實體記憶體空 106 記憶體 間 108 非依電性儲存體 60 系統轉譯與保護表(TPT) 109 儲存體控制器 70 轉譯與保護表(TPT) 110 作業系統 72a 資料結構 112 網路轉接器 72b 資料結構 114 應用程式 72c 資料結構 116 網路協定層 32 1272485
118 網路 224b 區段描述符登錄項 120 裝置驅動程式 224η 區段描述符登錄項 121 傳輸協定層 226a 資料結構 122 遠端直接記憶體存取 226b 資料結構 (RDMA)協定層 226c 貨料結構 124 槽案物件、插座物件 230a 頁面描述符表 126 上下文資訊 230b 頁面描述符表 148 貧料鍵路訊框 230n 頁面描述符表 150 網路封包 232a 頁面描述符登錄項 152 傳輸封包 232b 頁面描述符登錄項 154 酬載資料 232n 頁面描述符登錄項 200 虛擬化位址轉譯與保護 234a 資料結構 表(TPT) 234b 資料結構 202 頁面、方塊 234c 貢料結構 204 TFT登錄項 240 TPT虛擬位址 204a TPT登錄項 242 TPT區段描述符索引 206 TPT虛擬記憶體空間 244 第二組位元 208 系統實體記憶體空間 246 第三組位元 210 虛擬連續單元或區段 300-306 步驟方塊 220 階層資料結構表 400〜410 步驟方塊 222 第一階層位準資料結構 352 資料結構 表、區描述符表 354 資料結構 224a 區段描述符登錄項 362 已接收位址 33 1272485 364 虛擬/ί立址 706 儲存體 602〜620 步驟方塊 708 網路轉接器 652- ^698 步驟方塊 709 視訊控制器 700 電腦架構 710 輸入裝置 702 處理器 712 輸出裝置 704 記憶體 34

Claims (1)

1272485 十、申請專利範圍: 樣 -------------、'一一 第94121396號申請案申請專利範圍修正本95·1〇·14 1· -種用於配合網路使用的方法,其包含Τ列步驟·· 接收用於一記憶體運作的一位址; 把-亥已接收位址轉換為一虛擬連續資料結構表之一登 •錄項的一虛擬位址; 五 把該虛擬位址轉換為該資料結構表登錄項的
址; 、且 • 10 15
20 一〜从戶、竹释稱;以及 利用該資料結構進行該記憶體運作。 2.如申請專利第μ之方法,其中歸料結構包括一 緩衝器的多個實體健,且進行魏憶體運作的步驟包 括傳輸資料到該緩衝器。 Ί申料·項之枝,其巾„料結構包含保 6 又貧料,且進行該記憶體運作的步驟包括利用該保護資 料進行保護檢查。 、 4.::請專利範圍第!項之方法,其中該表為一轉譯與保 蠖表。 勺I月專利I圍第1項之方法,其中該記憶體運作位址 ,㈣為識別符、以及—虛擬位址與_緩衝器中之 差值-者中的至少一個。 =請專利範圍第β之方法,其中該資料結構表係再 刀為多個區段,又把各個區段再劃分為多個子區段, ^巴各個子區段再劃分為多個連續資料結構登錄項,且 ”中該虛擬位址包括朗出_連、續區段描述符表之一 35 25 1272485 登錄項的多個索引位元,各個區段描述符包括一連續子 區段描述符表的一實體位址,各個子區段描述符包括一 連續資料結構登錄項子區段的一實體位址。 7·如申請專利範圍第6項之方法,其中該虛擬位址另包括 識別出該子區段描述符表之一登錄項的多個子區段描 述符表索引位元。 8_如申請專利範圍第7項之方法,其中該虛擬位址另包括 識別出該連續資料結構登錄項子區段之一資料結構登 錄項的多個資料結構表索引位元。 10 15 20 9·如申请專利範圍第8項之方法,其中該接收步驟包括接 收用於一遠端直接記憶體存取(RDMA)記憶體運作的一 目的地位址; 該已接收位址轉換步驟包括把該RDMA目的地位址的 一部份轉換為指向一區段描述符表登錄項的區段描述 符表索引位元。 10·如申請專利範圍第9項之方法,其中該虛擬位址轉換步 驟包括在由該等區段描述符表索引位元表明的該區段 描述符表登錄項上取得一子區段描述符表實體位址。 11.如申請專利範圍第10項之方法,其中該已接收位址轉 換步驟包括把該RDMA目的地位址的一部份轉換為指 向一子區段描述符表登錄項的子區段描述符表索引位 元;以及 4虛擬位址轉換步驟包括在由該等子區段描述符表索 引位元指明且在該已取得子區段描述符表實體位址上 36 1272485 之該子區段描述符表的該子區段描述符表登錄項上取 得一資料結構表登錄項實體位址。 12. 如申請專利範圍第11項之方法,其中該已接收位址轉 換步驟包括把該RDMA目的地位址的一部份轉換為指 5 向一連續資料結構登錄項子區段之一資料結構表登錄 項的資料結構表索引位元;以及 該虛擬位址轉換步驟包括在由該等資料結構表索引位 元指明且在該已取得資料結構表登錄項實體位址上之 該資料結構表的該資料結構表登錄項上取得多個緩衝 10 器實體位址。 13. 如申請專利範圍第8項之方法,其中該連續資料結構登 錄項子區段的該已識別資料結構登錄項包含了含有一 第二虛擬位址的一資料結構’該第二虛擬位址包含識別 出該連續區段描述符表之一登錄項的多個索引位元。 15 14·如申請專利範圍第13項之方法,其中該第二虛擬位址 另包括識別出一子區段描述符表之一登錄項的多個子 區段描述符表索引位元。 15.如申請專利範圍第14項之方法,其中該第二虛擬位址 另包括識別一連續資料結構登錄項子區段之一資料結 20 構登錄項的多個資料結構表索引位元,該資料結構登錄 項包含一緩衝器的多個實體位址,且進行該記憶體運作 的步驟包括傳輸資料給該緩衝器。 /16· j-種包含儲存有機器可讀指令之儲存媒體的物品,該等 ..../ 指令可進行下列步驟: 37 1272485 接收用於一記憶體運作的一位址; 把該已接收位址轉換為一虛擬連續資料結構表之一登 錄項的一虛擬位址; 把該虛擬位址轉換為該資料結構表登錄項的一實體位 5 址; 取得該實體位址的該資料結構;以及 利用該資料結構進行該記憶體運作。 17_如申請專利範圍第16項之物品,其中該資料結構包括 一緩衝器的一個實體位址,且進行該記憶體運作的步驟 10 包括傳輸資料到該緩衝器。 18.如申請專利範圍第16項之物品,其中該資料結構包含 保護資料,且進行該記憶體運作的步驟包括利用該保護 貢料進行保護檢查。 19_如申請專利範圍第16項之物品,其中該表為一轉譯與 15 保護表。 20_如申請專利範圍第16項之物品,其中該位址包括一緩 衝器識別符、以及一虛擬位址與一緩衝器中之偏差值二 者中的至少一個。 21·如申請專利範圍第16項之物品,其中該資料結構表係 20 再劃分為多個區段,又把各個區段再劃分為多個子區 段,且把各個子區段再劃分為多個連續資料結構登錄 項,且其中該虛擬位址包括識別出一連續區段描述符表 之一登錄項的多個索引位元,各個區段描述符包括一連 續子區段描述符表的一實體位址,各個子區段描述符包 38 1272485 括一連續資料結構登錄項子區段的一實體位址。 22·如申請專利範圍第21項之物品,其中該虛擬位址另包 括識別出該子區段描述符表之一登錄項的多個子區段 描述符表索弓1位元。 5 23·如申請專利範圍第22項之物品,其中該虛擬位址另包 括識別出該連續資料結構登錄項子區段之一資料結構 登錄項的多個資料結構表索引位元。 24·如申請專利範圍第23項之物品,其中該接收步驟包括 接收用於一遠端直接記憶體存取(RDMA)記憶體運作的 0 一目的地位址; 该已接收位址轉換步驟包括把該RDMA目的地位址的 -部份轉換為指向—區段描述符表登錄項的區段描述 付表索引位元。 $ 25·如巾請專利範圍第24項之物品,其中該虛擬位址轉換 1驟包括在㈣等區段描述符表索引位元指明的該區 又“述存表登錄項上取得—子區段描述符表實體位址。 26·如申請專利範圍第25項之物品,其中該已接收位址轉 換步驟包括把該R_目的地位址的一部份轉換為指 向-子區段描述符表登錄項的子區段描述符表索引位 Q 元;以及 。亥虛擬位址轉換步驟包括在由該等子區段描述符表索 引位4曰明且在該已取得子區段描述符表實體位址上 =該子區段描述符表的該子區段描述符表登錄項 上取 得資料結構表登錄項實體位址。 39 1272485 27_如申請專利範圍第26項之物品,其中該已接收位址轉 換步驟包括把該RDMA目的地位址的一部份轉換為指 向一連續資料結構登錄項子區段之一資料結構表登錄 項的資料結構表索引位元;以及 5 該虛擬位址轉換步驟包括在由該等資料結構表索引位 元指明且在該已取得資料結構表登錄項實體位址上之 該資料結構表的該資料結構表登錄項上取得多個緩衝 器實體位址。 28.如申請專利範圍第23項之物品,其中該連續資料結構 10 登錄項子區段的該已識別資料結構登錄項包含了含有 一第二虛擬位址的一資料結構,該第二虛擬位址包含識 別出該連續區段描述符表之一登錄項的多個索引位元。 29_如申請專利範圍第28項之物品,其中該第二虛擬位址 另包括識別出一子區段描述符表之一登錄項的多個子 15 區段描述符表索引位元。 30_如申請專利範圍第29項之物品,其中該第二虛擬位址 另包括識別一連續資料結構登錄項子區段之一資料結 構登錄項的多個資料結構表索引位元,該資料結構登錄 項包含一緩衝器的多個實體位址,且進行該記憶體運作 20 _、、的步驟包括傳輸資料給該緩衝器。 \ 31) —種用於配合網路使用的系統,其包含: v7 , 包括一作業糸統的至少一糸統記憶體; 一主機板; 安裝在該主機板上且耦合於該記憶體的一處理器; 40 1272485 耦合於該主機板的一擴充卡; 安裝在該擴充卡上的一網路轉接器;以及 可由該處理器針對該網路轉接器在該系統記憶體中執 行的一裝置驅動程式,其中該裝置驅動程式係適於把一 5 虛擬連續資料結構表儲存在該系統記憶體中,且其中該 網路轉接器係適於進行下列動作: 接收用於一記憶體運作的一位址; 把該已接收位址轉換為該虛擬連續資料結構表之一 登錄項的一虛擬位址; 10 把該虛擬位址轉換為該資料結構表登錄項的一實體 位址; 取得在該實體位址上的該資料結構;以及 利用該資料結構進行該記憶體運作。 32. 如申請專利範圍第31項之系統,其中該系統記憶體包 15 括一緩衝器,且該資料結構包括一緩衝器的一個實體位 址,且進行該記憶體運作的動作包括傳輸資料給該緩衝 器。 33. 如申請專利範圍第31項之系統,其中該資料結構包含 保護資料,且進行該記憶體運作的動作包括利用該保護 20 貧料進行保護檢查。 34. 如申請專利範圍第31項之系統,其中該表為一轉譯與 保護表。 35. 如申請專利範圍第31項之系統,其中該位址包括一緩 衝器識別符、以及一虛擬位址與一緩衝器中之偏差值二 41 1272485 者中的至少一個。 3 6.如申請專利範圍第3丄項之系統,其中該資料結構表係 2^刀為多個區段,又把各個區段再劃分為多個子區 5 段,且把各個子區段再劃分為多個連續資料結構登錄 項; 、中4驅動程式係適於把_連續子區段描述符表儲存 ,該系統記憶體中,各個子區段描述符包括—連續資料 、=構登錄項子區段的-實體位址,且適於把-連續區段 1〇 ^述4表儲存在該轉接器中,各個區段描述符包括-連 、’子區段贿符表的—實難址,且其巾該虛擬位址包 括識別出該連續區段描述符表之一登錄項的多個索引 位7L ’各個區段描述符包括一連續子區段描述符表的一 實體位址。 3入如申請專利範圍第36項之系統,其中該虛擬位址另包 15 括識別出該子區段描述符表之一登錄項的多個子區段 描述符表索引位元。 38·如申請專利範圍第37項之系統,其中該虛擬位址另包 括識別出該連續資料結構登錄項子區段之一資料結構 登錄項的多個資料結構表索引位元。 20 39_如申請專利範圍第38項之系統,其中該接收動作包括 接收用於一遠端直接記憶體存取(RDMA)記憶體運作的 一目的地位址; 該已接收位址轉換動作包括把該RDMA目的地位址的 一部份轉換為指向一區段描述符表登錄項的區段描述 42 1272485 符表索引位元。 40.如申請專利範圍第%項之系統,其中該虛擬位址轉換 動作匕括在由该荨區段描述符表索引位元指明的該區 段描述符表登錄項上取得一子區段描述符表實體位址。 5 41·如申請專利範圍第4〇項之系統,其中該已接收位址轉 換動作包括把該RDMA目的地位址的一部份轉換為指 向子區段描述符表登錄項的子區段描述符表索引位 Φ 元;以及 ‘ 4虛擬位址轉換動作包括在由該等子區段描述符表索 10 ^位元指明且在該已取得子區段描述符表實體位址上 之a子區段描述符表的該子區段描述符表登錄項 上取 得一資料結構表登錄項實體位址。 42_如申請專利範圍第41項之系統,其中該已接收位址轉 換動作包括把該RDMA目的地位址的一部份轉換為指 15 向一連續資料結構登錄項子區段之一資料結構表登錄 •項的資料結構表索引位元;以及 4虛擬位址轉換動作包括在由該等資料結構表索引位 凡指明且在該已取得資料結構表登錄項實體位址上之 該資料結構表的該資料結構表登錄項上取得多個緩衝 20 為實體位址。 43_如申请專利範圍第38項之系統,其中該連續資料結構 登錄項子區段的該已識別資料結構登錄項包含了含有 第一虛擬彳立址的一資料結構,該第二虛擬位址包含識 別出该連績區段描述符表之一登錄項的多個索引位元。 43 1272485 5
10 15
44. 如申請專利範圍第43項之系統,其中該第二虛擬位址 另包括識別出一子區段描述符表之一登錄項的多個子 區段描述符表索引位元。 45. 如申請專利範圍第44項之系統,其中該第二虛擬位址 另包括識別一連續資料結構登錄項子區段之一資料結 構登錄項的多個資料結構表索引位元,該資料結構登錄 項包含一緩衝器的多個實體位址,且進行該記憶體運作 的動作包括傳輸資料給該緩衝器。 (種用於配合具有系統記憶體之電腦系統使用的網路 轉接器子系統,其包含: 適於把一虛擬連續資料結構表儲存在該系統記憶體中 的一裝置驅動程式;以及 適於進行下列動作的一網路轉接器: 接收用於一記憶體運作的一位址; 把該已接收位址轉換為該虛擬連續資料結構表之一 登錄項的一虛擬位址; 把該虛擬位址轉換為該資料結構表登錄項的一實體 位址; 取得在該實體位址上的該資料結構;以及 20 利用該資料結構進行該記憶體運作。 47.如申請專利範圍第46項之子系統,其中該系統記憶體 包括一緩衝器,且該資料結構包括一緩衝器的一個實體 位址,且進行該記憶體運作的動作包括對該緩衝器傳輸 資料。 44 1272485 48_如申請專利範圍第46項之子系統,其中該資料結構包 含保護資料,且進行該記憶體運作的動作包括利用該保 護資料進行保護檢查。 49. 如申請專利範圍第46項之子系統,其中該表為一轉譯 5 與保護表。 50. 如申請專利範圍第46項之子系統,其中該位址包括一 緩衝器識別符、以及一虛擬位址與一緩衝器中之偏差值 二者中的至少一個。 51. 如申請專利範圍第46項之子系統,其中該資料結構表 10 係再劃分為多個區段,又把各個區段再劃分為多個子區 段,且把各個子區段再劃分為多個連續資料結構登錄 項; 其中該裝置驅動程式係適於把一連續子區段描述符表 儲存在該系統記憶體中,各個子區段描述符包括一連續 15 資料結構登錄項子區段的一實體位址,且其中該驅動程 式係適於把一連續區段描述符表儲存在該轉接器中,各 個區段描述符包括一連續子區段描述符表的一實體位 址,且其中該虛擬位址包括識別出該連續區段描述符表 之一登錄項的多個索引位元,各個區段描述符包括一連 20 續子區段描述符表的一實體位址。 52·如申請專利範圍第51項之子系統,其中該虛擬位址另 包括識別出該子區段描述符表之一登錄項的多個子區 段描述符表索引位元。 53_如申請專利範圍第52項之子系統,其中該虛擬位址另 45 1272485 包括識別出該連續資料結構登錄項子區段之一資料結 構登錄項的多個資料結構表索引位元。 54·如申請專利範圍第53項之子系統,其中該接收動作包 括接收用於一遠端直接記憶體存取(RDMA)記憶體運作 的一目的地位址; 該已接收位址轉換動作包括把該RDMA目的地位址的 一部份轉換為指向一區段描述符表登錄項的區段描述 符表索引位元。 55·如申吻專利範圍第54項之子系統,其中該虛擬位址轉 換動作包括在由該等區段描述符表索引位元指明的該 區段描述符表登錄項上取得一子區段描述符表實體位 址。 56. 如申請專利範圍第55項之子系統,其中該已接收位址 轉換動作包括把該RDMA目的地位址的一部份轉換為 指向一子區段描述符表登錄項的子區段描述符表索引 位元;以及 該虛擬位址轉換動作包括在由該等子區段描述符表索 引位兀指明且在該已取得子區段描述符表實體位址上 之該子區段描述符表的該子區段描述符表登錄項上取 得一資料結構表登錄項實體位址。 57. 如申請專利範圍第56項之子系統,其中該已接收位址 轉換動作包括把該RDMA目的地位址的一部份轉換為 才曰向一連續資料結構登錄項子區段之一資料結構表登 錄項的資料結構表索引位元;以及 46 1272485 該虛擬位址轉換動作包括在由該等資料結構表索引位 元指明且在該已取得資料結構表登錄項實體位址上之 該資料結構表的該資料結構表登錄項上取得多個緩衝 器實體位址。 5 58.如申請專利範圍第53項之子系統,其中該連續資料結 構登錄項子區段的該已識別資料結構登錄項包含了含 有一第二虛擬位址的一資料結構,該第二虛擬位址包含 識別出該連續區段描述符表之一登錄項的多個索引位 元。 10 59.如申請專利範圍第58項之子系統,其中該第二虛擬位 址另包括識別出一子區段描述符表之一登錄項的多個 子區段描述符表索引位元。 60_如申請專利範圍第59項之子系統,其中該第二虛擬位址 另包括識別一連續資料結構登錄項子區段之一資料結 15 構登錄項的多個資料結構表索引位元,該資料結構登錄 項包含一緩衝器的多個實體位址,且進行該記憶體運作 的動作包括傳輸資料給該緩衝器。 47
TW094121396A 2004-06-30 2005-06-27 Method and system for use with a network, article comprising a storage medium having machine readable instructions stored thereon, and network adapter subsystem for use with a computer system having a system memory TWI272485B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/882,564 US8504795B2 (en) 2004-06-30 2004-06-30 Method, system, and program for utilizing a virtualized data structure table

Publications (2)

Publication Number Publication Date
TW200606640A TW200606640A (en) 2006-02-16
TWI272485B true TWI272485B (en) 2007-02-01

Family

ID=35115844

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094121396A TWI272485B (en) 2004-06-30 2005-06-27 Method and system for use with a network, article comprising a storage medium having machine readable instructions stored thereon, and network adapter subsystem for use with a computer system having a system memory

Country Status (4)

Country Link
US (1) US8504795B2 (zh)
DE (1) DE112005001430B4 (zh)
TW (1) TWI272485B (zh)
WO (1) WO2006012257A2 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496690B2 (en) * 2003-10-09 2009-02-24 Intel Corporation Method, system, and program for managing memory for data transmission through a network
US7480298B2 (en) * 2004-08-30 2009-01-20 International Business Machines Corporation Lazy deregistration of user virtual machine to adapter protocol virtual offsets
US7430615B2 (en) * 2004-08-30 2008-09-30 International Business Machines Corporation RDMA server (OSI) global TCE tables
US8364849B2 (en) 2004-08-30 2013-01-29 International Business Machines Corporation Snapshot interface operations
US7580406B2 (en) * 2004-12-31 2009-08-25 Intel Corporation Remote direct memory access segment generation by a network controller
US7370174B2 (en) * 2005-01-05 2008-05-06 Intel Corporation Method, system, and program for addressing pages of memory by an I/O device
US7581021B2 (en) * 2005-04-07 2009-08-25 International Business Machines Corporation System and method for providing multiple virtual host channel adapters using virtual switches
US7853957B2 (en) * 2005-04-15 2010-12-14 Intel Corporation Doorbell mechanism using protection domains
US7565463B2 (en) * 2005-04-22 2009-07-21 Sun Microsystems, Inc. Scalable routing and addressing
US7620741B2 (en) * 2005-04-22 2009-11-17 Sun Microsystems, Inc. Proxy-based device sharing
US7293129B2 (en) * 2005-04-22 2007-11-06 Sun Microsystems, Inc. Flexible routing and addressing
US7478178B2 (en) * 2005-04-22 2009-01-13 Sun Microsystems, Inc. Virtualization for device sharing
US7613864B2 (en) * 2005-04-22 2009-11-03 Sun Microsystems, Inc. Device sharing
US8190914B2 (en) 2006-02-28 2012-05-29 Red Hat, Inc. Method and system for designating and handling confidential memory allocations
US20070208760A1 (en) * 2006-03-06 2007-09-06 Reuter James M Data-state-describing data structures
US20070208790A1 (en) * 2006-03-06 2007-09-06 Reuter James M Distributed data-storage system
US7710968B2 (en) * 2006-05-11 2010-05-04 Intel Corporation Techniques to generate network protocol units
WO2007139426A1 (en) * 2006-05-31 2007-12-06 Intel Corporation Multiple phase buffer enlargement for rdma data transfer
DE102008022831B4 (de) * 2008-05-08 2015-09-10 Fujitsu Technology Solutions Intellectual Property Gmbh Arbeitsverfahren für ein Speichersubsystem und Vorrichtungen zur Durchführung des Arbeitsverfahrens
US20100106871A1 (en) * 2008-10-10 2010-04-29 Daniel David A Native I/O system architecture virtualization solutions for blade servers
US8131765B2 (en) * 2008-10-14 2012-03-06 Lenovo (Singapore) Pte. Ltd. Apparatus, system and method for caching writes by multiple clients to a virtualized common disk image
US20120185667A1 (en) * 2009-09-25 2012-07-19 Gandhi Kamlesh Virtual-memory system with variable-sized pages
US8880843B2 (en) 2010-02-10 2014-11-04 International Business Machines Corporation Providing redundancy in a virtualized storage system for a computer system
US8862859B2 (en) 2010-05-07 2014-10-14 International Business Machines Corporation Efficient support of multiple page size segments
US8745307B2 (en) 2010-05-13 2014-06-03 International Business Machines Corporation Multiple page size segment encoding
KR101724590B1 (ko) * 2011-01-31 2017-04-11 삼성전자주식회사 멀티 프로세서 시스템에서의 메모리 보호 장치 및 방법
US8793429B1 (en) * 2011-06-03 2014-07-29 Western Digital Technologies, Inc. Solid-state drive with reduced power up time
US10064138B2 (en) 2014-12-23 2018-08-28 Microsoft Technology Licensing, Llc Energy efficient wireless data transfer
US10324838B2 (en) 2017-10-12 2019-06-18 International Business Machines Corporation Virtually addressable hardware global kernel segment table
CN111328257B (zh) * 2020-03-11 2022-03-22 广东省电信规划设计院有限公司 一种上下位机的数据同步方法及装置
EP4133375B1 (en) 2020-05-28 2024-03-20 Huawei Technologies Co., Ltd. Method and system for direct memory access
CN113568940B (zh) * 2021-08-04 2024-05-21 北京百度网讯科技有限公司 数据查询的方法、装置、设备以及存储介质
US12259824B2 (en) * 2022-10-26 2025-03-25 Red Hat, Inc. Assigning input/output virtual addresses using a pre-defined randomness algorithm

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105113A (en) 1997-08-21 2000-08-15 Silicon Graphics, Inc. System and method for maintaining translation look-aside buffer (TLB) consistency
US6163834A (en) * 1998-01-07 2000-12-19 Tandem Computers Incorporated Two level address translation and memory registration system and method
US7350028B2 (en) 1999-05-21 2008-03-25 Intel Corporation Use of a translation cacheable flag for physical address translation and memory protection in a host
US6970992B2 (en) 1999-10-04 2005-11-29 Intel Corporation Apparatus to map virtual pages to disparate-sized, non-contiguous real pages and methods relating thereto
US6519685B1 (en) 1999-12-22 2003-02-11 Intel Corporation Cache states for multiprocessor cache coherency protocols
US6718453B2 (en) 2001-03-26 2004-04-06 Intel Corporation Apparatus and method for a channel adapter non-contiguous translation protection table
US7363389B2 (en) 2001-03-29 2008-04-22 Intel Corporation Apparatus and method for enhanced channel adapter performance through implementation of a completion queue engine and address translation engine
US6725289B1 (en) 2002-04-17 2004-04-20 Vmware, Inc. Transparent address remapping for high-speed I/O
US7496690B2 (en) 2003-10-09 2009-02-24 Intel Corporation Method, system, and program for managing memory for data transmission through a network
US20050144402A1 (en) 2003-12-29 2005-06-30 Beverly Harlan T. Method, system, and program for managing virtual memory
US7562158B2 (en) 2004-03-24 2009-07-14 Intel Corporation Message context based TCP transmission
US20060004983A1 (en) 2004-06-30 2006-01-05 Tsao Gary Y Method, system, and program for managing memory options for devices
US20060004941A1 (en) 2004-06-30 2006-01-05 Shah Hemal V Method, system, and program for accessesing a virtualized data structure table in cache
US20060136697A1 (en) 2004-12-16 2006-06-22 Tsao Gary Y Method, system, and program for updating a cached data structure table
US7370174B2 (en) 2005-01-05 2008-05-06 Intel Corporation Method, system, and program for addressing pages of memory by an I/O device

Also Published As

Publication number Publication date
WO2006012257A3 (en) 2006-04-27
DE112005001430B4 (de) 2018-09-06
WO2006012257A2 (en) 2006-02-02
DE112005001430T5 (de) 2007-05-16
US20060004795A1 (en) 2006-01-05
TW200606640A (en) 2006-02-16
US8504795B2 (en) 2013-08-06

Similar Documents

Publication Publication Date Title
TWI272485B (en) Method and system for use with a network, article comprising a storage medium having machine readable instructions stored thereon, and network adapter subsystem for use with a computer system having a system memory
US7370174B2 (en) Method, system, and program for addressing pages of memory by an I/O device
CN111143234B (zh) 存储设备、包括这种存储设备的系统及其操作方法
US20060004941A1 (en) Method, system, and program for accessesing a virtualized data structure table in cache
CN101958918B (zh) 具有文件夹分享功能的虚拟媒体及方法
US8255667B2 (en) System for managing memory
CN104603739B (zh) 对并行存储的块级访问
US6611883B1 (en) Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
JP5698238B2 (ja) データベース動作を意識するストライピング技術
US7966355B2 (en) Interface for extending functionality of memory cards
CN102301355B (zh) 在硬件存储控制器中提供差异化i/o服务
US20050144223A1 (en) Bottom-up cache structure for storage servers
EP4220419B1 (en) Modifying nvme physical region page list pointers and data pointers to facilitate routing of pcie memory requests
TW200531483A (en) Method, system, and program for managing data read operations
US20060004983A1 (en) Method, system, and program for managing memory options for devices
US20080209197A1 (en) Method to Add IPV6 and DHCP Support to the Network Support Package
JP2020047277A (ja) 多数の装置環境でペアリングするfpgaとssdを識別するためのストレージ装置及びコプロセッサを含むシステム及び方法
US20060112267A1 (en) Trusted platform storage controller
US20060136697A1 (en) Method, system, and program for updating a cached data structure table
CN100454283C (zh) 虚拟通用串行总线设备系统及其数据传输方法
TWI326415B (en) Parallel processing of frame based data transfers
US10229067B2 (en) Retrieving and converting offline data
CN103262052A (zh) 具有共享的输入/输出的安全分区
CN100405349C (zh) 连接管理方法和系统
US20250156169A1 (en) Image mounting method, apparatus, device, and machine-readable storage medium

Legal Events

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