TWI278755B - An apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine - Google Patents
An apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine Download PDFInfo
- Publication number
- TWI278755B TWI278755B TW094121186A TW94121186A TWI278755B TW I278755 B TWI278755 B TW I278755B TW 094121186 A TW094121186 A TW 094121186A TW 94121186 A TW94121186 A TW 94121186A TW I278755 B TWI278755 B TW I278755B
- Authority
- TW
- Taiwan
- Prior art keywords
- dma
- memory
- vdd
- access request
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
1278755 九、發明說明: 【發明所屬^^技冬好領域】 發明領域 本發明之一個或多個實施例係大致有關於積體電路與 5 電月自糸統6又计之領域。更特別的是,本發明之一個或多個 實施例係有關於一種使用整合直接記憶體存取(DMA)引擎 ___ .. ........ ——·— 一 的高效能依電性碟片驅動機(VDD)記憶體存取用之方法與 裝置。 10 發明背景 RAMDISK為一種記憶體管理技術,其中一部分之依電 性系統記憶體被使用作為在程式控制下的大量儲存裝置, 在此被稱為「依電性碟片驅動機(VDD)記憶體」。對 RAMDISK之作業系統(0S)檔案作業比對傳統硬碟之作業 15為顯著地較快。結果為RAMDISK可藉由將最常用之程式與 檔案置於被分配給RAMDISK之部分的系統記憶體内而劇 烈地提咼系統效能。雖然一旦該系統被關閉RAMDISK不保 留所儲存之資訊,RAMDISK記憶體管理技術對被儲存於_ 般OS棺案格式之資料的暫時儲存與快取為非常有用的。典 20型上,RAMDISK在網路/檔案伺服器中被使用以由一堆大 量媒體儲存器快取常用之槽案。 慣常上,被用以施作RAMDISK之驅動器係完全用軟體 被施作。結果為當程式或處理要讀取/寫入RAMmsK中之 祂案日守,該RAMDISK驅動器被激發。此驅動器首先辨識被 1278755 要求之檔案如何被映射至為RAMDISK所保留之系統記憶 體位置。一旦被辨識,該驅動器在RAMDISK之記憶體與要 求處理之記憶體間來回傳送資料。一般而言,此以CPU之 助被執行,此處該驅動器引導CPU由系統記憶體之 5 RAMDISK部分要求資料。 不幸的是,CPU(中央處理單元)被要求為RAMDISK驅 動器管理資料傳送與檔案管理。雖然RAMDISK記憶體管理 技術比使用慣常儲存裝置快很多,RAMDISK驅動器運用很 多CPU週期以在RAMDISK位置與應用程式位置間傳送資 10 料。進一步言之,為超過40億位元組(4 GB)(32位元之位址) 之記憶體施作RAMDISK要求該RAMDISK驅動器使用CPU 之頁位址擴充(PAE)模式。不幸的是,pae本身不僅會對 RAMDISK驅動器亦對在該系統内執行之所有處理引進額 外之效能處罰。 15
【明内^^】 發明概要 本發明揭示一種方法,其包含:檢測對在依電性系統 記憶體内被施作之一依電性碟片驅動機(VDD)記憶體的一 資料存取要求;以及發出一直接記憶體存取(DMA)資料要 求以執行來自該VDD記憶體之資料存取要求。 圖式簡單說明 本發明之各種實施例以舉例而非限制之方式在附圖中 被顯示,其中: 第1圖為一方塊圖,顯示依照一實施例之一電腦系統, 20 1278755. 包括一DMA控制器,具有整合2DMA引擎以提供對一虛擬 碟片驅動器(VDD)之高效能存取。 第2圖為-方塊圖’進—步顯示依電性碟片驅動機之第 1圖的DMA控制器。 ' 5 帛3圖為—方塊圖’顯示依電性碟片驅動機之_dma • 引擎與鏈系統器映射。 第4圖為一方塊圖,顯示依電性碟片驅動機之一dma 鲁 描述符集連結糾被設立以使用DMA存取來存取_虛擬碟 片驅動器内之資料塊。 ' 1〇 第5圖為—方塊圖,顯示依電性碟片驅動機使用第1B1 之DMA控制器經由直接記憶體存取的VDD存取要求之檢 測與該VDD存取要求的後續效能。 第6圖為一方塊圖,顯示使用所揭示之技術用於一設計 的模擬、模彷與製作之各種設計呈現或格式。 15 【實施方式】 較佳實施例之詳細說明 , “ 一種使用整合直接記憶體存取(DMA)引擎的高效能依 電性碟片驅動機(VDD)記憶體存取用之方法與裝置。在一 貫施例中,該方法包括對依電性系統記憶體内被施作之 VDD記憶體的一資料存取要求之檢測。一旦一資料存取要 长被核測,一VDD驅動器可發出一DMA資料要求以執行來 自該VDD之資料存取要求。因之在一實施例中,在依電性 系統纪憶體的被分配之部位内被施作的一 VDD記憶體來回 傳送資料之工作被解载至如一資料存取要求内的一整合 7 1278755 DMA引擎之一DMA引擎。 在下列描述中,如邏輯施作、信號與匯流排之大小與 名稱、系統元件之型式與相互關係、及邏輯分割/整合選 擇的很特定細節被設立以提供更透徹之了解。然而,其將 5被熟習本技藝者了解,本發明可不需此類特定姑與 作。在其他實例中,控制結構與閘位準電路未被詳细顯= 以避^莫糊本發明。熟習本技藝者以所納入之描述將能施 •作適當的邏輯電路而不需有不當之實驗。 在下列描述中,某些專有名詞被使用以推述本發明之 特點。例如,「邏輯」乙詞係代表被組構以執行一個或多個 功能之硬體及/或軟體。實例上,「硬體」之例包括積體電 =、有限狀態機器甚或是組合邏輯,但不限於此。該積體 Z路所採取之形式為如微處理器之處理器、特定用途積體 電路、數位信號處理器與微控制器之類。 15 「硬體」之例包括以應用程式、Java小應用程式 ,(applet)、副程式、甚或一系列指令為形式的可執行碼。在 ,一實施例中,一製造物品包括機器或電腦可讀取之媒體, 其上儲存指令以規劃電腦(或其他電子裝置)來依照一實施 幻執行處理。該電腦或機為可讀取之媒體包括可程式之
2Q 毛子電路、含有依電性記憶體(如隨機存取記憶體等)及/或 非依電性记憶體(如任何型式之唯讀記憶體R0M、快閃記憶 粗)的半導體記憶體裝置、磁碟片、光碟(如CD或DVD)、硬 碟與磁帶之類,但不限於此。 第1圖為一方塊圖,顯示依照一實施例之電腦系統 8 1278755 100,包括直接記憶體存取(DMA)控制器200以提供對VDD 記憶體250的高效能存取。代表性地而言,系統1〇〇包含一 處理器系統匯流排(前側匯流排(FSB))104用於在處理器 (CPU)102與晶片組130間通訊資訊。如此處所描述者,「晶 5 片組」被使用之方式為集合式地描述被耦合至CPU 102以執 行所欲的系統功能之各種裝置。 代表性地而言,晶片組130可包括記憶體控制器中樞 (MCH) 110被耦合至圖形控制器150。在一替選中,圖形控 制器150被整合於MCH内,使得在一實施例中,MCH 110
10 操作成為一整合圖形MCH(GMCH)。代表性地而言,MCH 110經由系統記憶體匯流排142亦被耦合至主記憶體140。在 一實施例中,主記憶體140可包括隨機存取記憶體(ram)、 動態 RAM(DRAM)、靜態 RAM(SRAM)、同步 DRAM 15
(SDRAM)、雙資料率(DDR)SDRAM (DDR-SDRAM)、 Rambus DRAM(RDRAM)或能支援資料高速暫時儲存之任 何裝置。 在一實施例中,MCH 110被整合至CPU 102内以促成 CPU 102與主記憶體140間之直接連接。在一實施例中, MCH 110可包括周邊元件互連體(PCI)pCI_Express(pci_Ex) 根埠 180(180-1,···,180-Ν)以經由 PCI-Ex 連結 182(182-1,···,182-Ν)耦合 PCI-Ex 端點 190(190-1,···,190-Ν)至 MCH 110。代表性地而言,pa-Ex連結182可提供如pci
Express Base規袼l.〇a(2〇〇3年10月7日勘誤)所定義之點對 點連結以允許周邊端點裝置^0(190-1,...,190-1^)與MCH 20 1278755 110間的雙向通訊。 如進一步顯示地,晶片組130包括一輸入/輸出(1/0) 控制器中樞(ICH)120。代表性地而言,ICH 12〇可包括一統 一序列匯流排(USB)連結或互連體162以耦合一個或多個 5 USB槽160至1CH 120。此外,一序列先進技術附件 (SATA)172可耦合硬碟驅動器裝置(HDD)17〇至ICH 12〇。在 一實施例中,ICH 120可包括延遲PCI/PCIX連結166以耦合 一個或多個PCI/PCIX槽164至ICH 120。在一實施例中,系 統BIOS 10ό將電腦系統1〇〇初始化。 10 15
再參照第1圖,在一實施例中,電腦系統1〇〇包括VDD 驅動器260負責保存與分派部分之依電性系統記憶體14〇以 操作成為VDD記憶體250。在一實施例中,被分派至VDD 記憶體250之部分主記憶體140為不可交換之記憶體,其由 電腦系統100之一核作業系統(0S)被隱藏。如此處所描述 者,VDD記憶體250可替選地被稱為RAMDISK,此為分派 部分依電性系統記憶體以在程式控制下作用成大量儲存裝 置之一種記憶體管理技術。 在一實施例中,VDD驅動器260運用DMA控制器200以 執行VDD記憶體内之檔案作業。慣常地,用裝置驅動器(如 20 與被耦合至晶片組13 0之周邊裝置有關聯的軟體)之主記憶 體存取係使用其中一CPU發出一匯流排交易為一周邊裝置 啟動記憶體來回之讀取或寫入作業的被規劃之傳送被執 行。相反地,DMA為允許資料在周邊裝置與主記憶體間不 涉及CPU地直接傳送之先前架構所提供的能力。結果為, 10 1278755 系統之CPU免於涉及資料傳送而加速整體電腦作業。在一 實施例中,如第2圖顯示之DMA控制器200提供電腦系統i 00 内之DMA能力。 在一實施例中,DMA控制器包括整合DMA引擎210, 5 其包含組構以提供數個DMA通道214(214-1,···,214-Ν)。在 一實施例中,DMA控制器200提供四個DMA通道,其每一 個可被獨立使用以在系統記憶體140内或由系統記憶體14〇 傳送資料至被耦合至晶片組130之各種周邊裝置。在一實施 例中,一DMA通道規劃介面(如下面進一步被描述者)可經 10由如第3與4圖被顯示之被寫入主記憶體14〇與一記憶體映 射内部暫存器集的鏈描述符之組合由CPU 1〇2存取。 在一實施例中,DMA通道214中之仲裁以二階段發 生。代表性地言,每一DMA通道214具有對DMA控制器200 内部之仲裁器(DMA控制器仲裁器212)的要求/允許對。如 15進一步顯示地,DMA控制器200具有對MCH 110之主仲裁器 (MCH仲裁器220)的單一要求/允許對。在一實施例中, DMA仲裁器212使用嚴格輪流平均政策以允許_DMA通道 及要求裝置對主g憶體140之存取。在一實施例中,DMA 212可就一DMA通道在任一特定時間包括選配之高優先指 2〇定。因而,一組競爭之1)]^八通道在正常作業之際達成平衡 帶寬效能。 再筝照第1圖,如此處所描述者,駐於被耦合至晶片組 130之匯流排上每一周邊裝置或1/〇在此被稱為「匯流排代 理器」。匯流棑代理器一般被分為對稱代理器與優先代理 1278755 為,使得優先代理器為在與輕流_有觀爭之對稱代 理器被獎賞的所有權。由於匯流排代理器_般不被允許同 步地驅動該匯流排而發出交易,故此仲裁為需要的。與電 腦系統勘之匯流排代理器有關聯之裳置駆動器可發出交 易要求232至MCH。依該優先權政策_,MCH仲裁器220 為-DMA通道214以如第2圖顯示地發出一 dma傳送要求。 如此處所描述者,「交易」乙詞被定義為與單一匯流排 存取要求有關之活動。-般而言,_以可以匯流排仲裁 與要傳播-交易位址之信號聲明開始。如用福⑧架構(ιA) 規格所定義之交易可包括數個階段,每—階段使用特定之 #號集以通訊特定形式之資訊。所謂之階段可包括至少一 仲裁階段(針對匯流排所有權)、一要求階段、一回應階段與 一資料傳送階段。 15 20 在如电月自糸統100之電腦系統内施作DMA存取需要以 DMA存取指定裝置作為匯流排主程式。匯流排主程式為在 一微處理器在一分離之1/〇控制器(「裝置驅動器」)中,其 在系統匯流排或輸入/輸出(I/O)路徑上引導交通。在作業 中’匯流排主程式裝置驅動器對OS做出要求指定一部分之 主記憶體140,其為DMA被指或被促成來發出DMA資料要 求0 再參照第1圖,在一實施例中,VDD驅動器260控制一 個或多個DMA通道,其為被獎賞之匯流排主程式狀態,促 成VDD驅動器26〇發出對dma控制器200之DMA資料要 求。在控制中,於以DMA仲裁器212及後續以MCH仲裁器 12 1278755 220仲裁後,一DMA通道為被獎賞之存取以發出一〇乂八資 料要求至VDD記憶體25〇。因之在一實施例中,當應用程式 或處理要求如對儲存於VDD記憶體25〇内之檔案的讀取/ 寫入存取之檔案作業效能時,〇§可傳送該呼叫至vdd驅動 5器260。在一實施例中,為引導DMA引擎210執行所要求之 檔案作業,VDD驅動器例如以參照第3圖地規劃一鏈描述 符。 在一實施例中,DMA控制器2〇〇為所有每一個通道暫 存器集使用記憶體映射組構暫存器。在一實施例中,該記 10憶體映射組構暫存器空間與DMA控制器200被配上關聯,且 用一個32位元以記憶體為基礎的位址暫存器(BAR)被定 出,其例如被VDD驅動器260使用以存取在規劃一DMA通 道以啟動一DMA傳送中所需之DMA組構暫存器27〇。在一 貝施例中,如笫3圖顯示者,每一 DMA通道為其獨立作業具 15 有十二個32位元之記憶體映射暫存器。 在一貫施例中,在新的描述符於一般作業之際由本地 記憶體被取出時,八個DMA暫存器270由如鏈描述符中的對 應之欄位自動地被載入。記憶體290之對應的攔位格式與為 DMA通道特定暫存器270所定義之格式相同。當dMa控制 20器200在如DMA模式控制暫存器之DMA模式位元所定義的 一般模式中時,讀取/寫入存取對通道控制272、通道狀態 274、下一個描述符位址282-1與下一個描述符上位址282、2 暫存器為可得可用的。其餘之暫存器為唯讀的且在每當該 DMA通道由本地糸統$己憶體ί買取一鍵描述符時以鍵描述符 13 1278755 290所定義之新值自動地被載入。
再參照第3圖,記憶體映射DMA暫存器270如下面參照 表1進一步被顯示地包括通道控制暫存器(CCR)272。在一實 施例中,CCR 272為DMA通道定出整體之作業環境。在一 貫施例中,一裝置驅動器在初始化系統記憶體中之鏈描述 符且用記憶體中每一個DMA鏈描述符之位置更新下一個位 址暫存器282(2811,282-2)後將CCR 272初始化。在一實施 例中,當DMA通道被啟動以修改DMA通道作業(如停止、 暫停等)時,CCR 272可被寫入。 10 表1
攔位 描述 _^1:8 保留 保留 ~ 保留 ~' 3 通道恢復·在被設定時,當該通道為閒置(CSR中之 有源位元為有源的)時,或當該通道完成該下一個描述符 位址為空的一DMA傳送時,藉由重新讀取位於該目前描 述符暫存器中之暫存器的本地系統記憶體之該目前描述 符集而恢復鏈結。此位元在下列情況時被清除: •該通道完成DMA傳送且該下一個位址暫存器非為〇。在此 情況中,該通道前進至該連結之串列中的下一個描述符。 •該通道為閒置的或該通道完該目前描述符集及該下一 個位址暫存器為0。在此情況中,該通道僅清除該「通 道恢復」位元,並保持為閒置的。 一旦被設定,軟體無法清除此位元。當被停止及被放棄 之位兀在CSR被設定時,硬體防止此位元被設定。軟體 必須在企圖恢復該目前描述符集前清除該CSR停止及被 放棄之位元。若CSR鏈結結束位元被設定,當該目前描 _述符集被恢復時,該DMAiiitf涪險該4»結钴圭彳立元。 2 停止DMA :在被設定時致使目前之Dma傳送停止。此致 年該通道不對起源側之匯流排要求。在該佇列中之任何 資料被清空至目的側且在CCR(所有之3:0位元)與 $SR(通道有源位元)中所有的相關位元被清除。一旦被設 定’此位元無法被軟體清除。該應用程式軟體在設定此 位元時必須非常小心,原因為任何DMA —旦被停止便無 法由此點重新開始。此位元具有比暫停DMA位元高之優 先權。此位元在該通道有源位元被清除及該DMA停止位 _元被設定時用硬體被清除〇 14 1278755 位元欄位 描述 1 暫停DMA :在被設定時允許目前之DMA描述符集完成, 但進行暫停通道鏈結。該通道繼續為該目前描述符要求 起源側之匯流排。當用於此描述符集之佇列中的資料被 清空至該目的側時,CSR中之DMA暫停位元被設定。清 除此位元與設定「通道恢復」將使用下一個描述符位址 暫存器被指出之描述符重新開始DMA傳送,並清除CSR 中之DMA暫停位元。此位元對通道有源位元沒右影孿。 0 起動DMA ··在被設定時,該通道為DMA傳送被賦能。二" 旦被設定,此位元位法被軟體清除。當DMA傳送完成或 DM A被軟體停止或DM A傳送遭到無法恢復之錯誤時,此 位元被硬體清除。硬體防止此位元在該被停止或被丟棄 之位元在CSR中被設定時免於被設定。在DMA通道以^ 的一描述符集起動前,DMA道通必須為閒置的且該軟體 必須清除CSR。
在一實施例中,通道狀態暫存器(CSR)274包含旗標以 指示該DMA通道狀態。在一實施例中,暫存器被VDD驅動 器260碩取以取得目前之DMA通道狀態及判定中斷之起 源。如表2中所示者,包括於CSR 274中之各種旗標包括通 道有源位元,其指示該通道在使用中;DMA被放棄位元 (0!^^101)、其指示被放棄之〇1^八傳送。類似地,〇311274 旗標亦包括DMA停止位元(DSTP),其在被設定時指示此通 道之目前的DMA傳送被停止。 表2 位元欄位 描述 31:7 保留 6 保留 5 通道有源·在被設定時指不該通道在使用中並正有效地 執行D Μ A資料傳送。在被清除時指示該通道為無源的且 為可得可用的以應用程式軟體就DMA傳送被組構。當軟 體在響應由本地系統記憶體載入該描述符集下藉由設定 CCR之起動DMA位元與DMA通道而啟動DMA傳送時, 該通道有源旗標被硬體設定。 4 DMA被放棄(DABRT) ··在被設定時指示此通道之目前 DMA傳送遭到無法恢復之錯誤。若DCR之DMA放棄中 斷賦能位元被設定,此對該處理器介面用旗標表示一中 斷。若中斷未被賦能,應用程式軟體可使用此位元用於 輪詢。細節為在DMAFERR/NERR暫存器中。 15 1278755 位元欄位 描述 3 DMA停止(DSTP):在被設定時指示此通道之前前DMA 傳送被應用程式軟體藉由設定CCR中之停止DMA位元 若DCR之DMA停止中斷賦能位元被設定,此對該處理器 介面用旗標表示一中斷。若中斷未被賦能,應用程式軟 體可使用此位元用於輪詢。 2 DMA暫停(DSUS):在被設定時指示此通道如森應用程式 軟體藉由設定CCR中之暫停DMA位元被停止。所要求地 被暫停。若DCR之DMA暫停中斷賦能位元被設定,此對 該處理器介面用旗標表示一中斷。若中斷未被賦能,應 用程式軟體可使用此位元用於輪詢。 1 DMA結束(EOT):在被設定時指示此通道已成功地完成 至少一描述符之無錯誤DMA傳送。若DCR之傳送中斷賦 能結束位元被設定,此對該處理器介面用旗標表示一中 斷。若中斷未被賦能,應用程式軟體可使用此位元用於 輪詢。 0 鏈結結束(EOC):在被設定時指示此通道已成功地完成 該連結串列中至少一描述符之無錯誤DMA傳送。若DCR 之鏈結中斷賦能結束位元被設定,此對該處理器介面用 旗標表示一中斷。若中斷未被賦能,應用程式軟體可使 用此位元用於輪詢。
在一實施例中,設定記憶體暫停(DSUS)位元指示一暫 停DMA要求,而傳送結束(Ε〇τ)指示一通道已成功地完成 至少一描述符之DMA ;以及鏈結結束(e〇C)旗標指示全部 描述符(包括最後一個)之無錯誤的DMA傳送。如此處所描 5述者,該等「聲明」、「聲明中」、「已聲明」、「設定」、「設 定中」、「已解除聲明」、「解除聲明」、「解除聲明中」、或類 似之用詞可指資料信號,其為有源的低或有源的高信號。 所以這些用詞在一信號被配上關聯時為可相互交換地被使 用以要求或表示有源的低或有源的高信號。 0 目前之描述符位址暫存器(CDAR)276(276-1,276-2)含 有本地系統記憶體之目前鏈描述符的位址之低與高位元。 在一貫施例中,CDAR 276在供電或系統重置時被消除為 0,及在新的區塊被啟動時以來自下一個描述符位元暫存器 16 1278755 (NDAR)之值自動地被載入。在一實施例中,CDAR 276在 一般作業為唯讀的且可被軟體論詢以監測DMA通道在橫越 DMA描述符鏈時之續進。其餘之DMA暫存器270對應於 DMA描述符鏈290,其可在啟動DMA傳送前被VDD驅動器 5 260規劃。 在一實施例中,VDD驅動器260在本地系統記憶體中建 構一個或多個鏈描述符而啟動一 DMA通道。如在第3與4圖 中顯示者,該描述符可包括一起源位址292,其指示DMA 資料之初始位置、一目的位址294顯示DMA要求要移動或傳 10 送該DMA資料至何處、傳送計數顯示要被傳送之位元組個 數、以及一下一個描述符位址296指示該描述符鏈中下一個 描述符之位址。該描述符鏈中最後一個描述符的下一個描 述符位址296被設定為0。 在作業中,VDD驅動器260由OS遵循被應用程式或處. 15 理發出檔案作業要求接收該等檔案作業要求。根據此要 求,VDD驅動器260規劃鏈描述符290之各種元件,包括起 源位址292與目的位址294以及該傳送計數298。在一實施例 中,傳送計數298以雙句組(Dword)之單元被提供且可被稱 為Dword計數298。一旦該鏈描述符被規劃,VDD驅動器260 20 更新DMA暫存器270之下一個描述符位址暫存器 286(NDAR) 〇
在一實施例中,NDAR 286被DMA控制器200使用以將 VDD驅動器260所規劃之鏈描述符定位。因之,一旦NDAR 286用記憶體中該第一鏈描述符290之位址被繁殖後,VDD 17 1278755 驅動器260可在通道控制暫存器272内設定一 DMA起動位元 (見表1)。如第4圖顯示者,vdD驅動器260可設立一鏈之區 塊傳送至VDD記憶體250,然而來自應用程式或處理之檔案 要求被限制為來自VDD 250之一區域傳送時,VDD驅動器 5 260將設定DM A鏈描述符290-1之下一個描述符位址欄位為 空(0)值。 再參照第3圖,DMA暫存器270之起源位址暫存器 (SAR)278與目的位址暫存器(DAR)的欄位亦包括上位址暫 存器欄位(278-2與280-2)。在一實施例中,該等上位址暫存 10器欄位(278_2與280-2)被提供為DMA存取要求促成一 36位 元或640億位元組之位址範圍。因之,對照於對依電性系統 記憶體140内被設立之RAMDISK或VDD記憶體250的慣常 存取,DMA控制器200為資料傳送促成在該32位元位址界限 外之定位址,否則其要求使用CPU 102之頁位址擴允(PAE) 15能力用於超過40億(4GB)位元組界限之對VDD記憶體250的 存取要求。 第5圖顯示依照一實施例之用於運用DMA控制器200 内之整合DMA引擎210來執行VDD記憶體250内的檔案作 業有之一方法300。代表性地而言,如應用程式或執行程式 20 之處理302會要求對包含於VDD記憶體250内之檔案的檔案 作業或讀取/寫入要求。在轉變310,處理302發出一 VDD 存取要求。當此存取例如被OS 304檢測到時,OS 304藉由 在轉變320傳送VDD存取要求至VDD驅動器260而傳送該呼 叫至VDD驅動器260。 18 1278755
10 15
在一實施例中,VDD驅動器260辨識該檔案作業或讀取 /寫入被檢測之檔案。一旦被檢測,VDD驅動器260變換其 播案名稱及該存取要求在該檔案被導向之一偏移值成為主 屺憶體140中之一實體位址。在一實施例中,該變換依據被 映射至VDD記憶體250之主記憶體140範圍内的實體位址被 執行。一旦該檔案之實體位址被決定,VDD驅動器260可藉 由如參照第3與4圖顯示地繁殖一 DMA鏈描述符來規劃 DMA起源與目的位址以及傳送長度,以如轉變33〇所示地發 出一 DMA讀取/寫入(R/w)存取要求至DMA控制器200。 如第4圖顯示者,若多區塊之資料涉及對VDD 250之檔 案作業或資料存取要求,VDD驅動器260可規劃一鏈之VDD 區塊傳送。後續地,DMA控制器200之NDAR 282被繁殖, 使得DMA控制器200可如第3圖顯示地載入DMA暫存器270 中鏈描述符。DMA控制器200在通道控制暫存器272之一 DMA起動位元例如被VDD驅動器260設定時執行此動作。 後續地,DMA引擎210如第2圖顯示地依據VDD記憶體250 的至少一DMA鏈描述符程式藉由如轉變340所示地執行 DMAR/W而執行該資料存取要求或檔案作業。 在一實施例中,一旦DMA引擎210已完成該傳送,該 20 DMA引擎可在轉變350發出一中斷至VDD驅動器260以通 知VDD驅動器謂該檔案作業完成且資料來回地由VDD 250 被傳送至被分派給處理302之記憶體。代表性地而言,一旦 VDD驅動器260在轉變350接收該DMA傳送完成之通知, VDD驅動器260可通知處理302謂VDD記憶體250被要求之 19 1278755 來/回的檔案作業或讀取/寫入存取要求已完成。在一實 施例中,VDD驅動器260在轉變360通知處理302該被完成之 DMA傳送。 因之在一實施例中,VDD驅動器260之產生例如參照第 5 1與2圖顯示地解載於VDD記憶體250内存取檔案資料之作 • 業至一DMA控制器的一整合DMA引擎。因之,藉由解載由 CPU 102至DMA控制器200之資料傳送工作,整體系統效能 被改善而允許CPU 102避免執行慣常之資料傳送以執行對 • VDD記憶體250的檔案作業。進一步而言,不像慣常之 10 RAMDISK驅動器需要使用超過32位元位址界限之位址範 圍的CPU之頁位址擴充(PAE)模式,對DMA引擎210之VDD 圮憶體資料傳送之解載避免一般因不僅對VDD驅動器26〇 亦對該系統上所有處理使用PAE模式所引發之效能處罰。 第6圖為一方塊圖,顯示使用所揭示之技術的模擬、模 15彷與製作設計之各種呈現或格式。呈現一設計之資料可用 麕 4艮多方式呈現該設計。首先,就如在模擬中有用者,硬體 卩肖硬雜述語該其他功能㈣述語言㈣現,其基本 上提供該被設計之硬體被期待如何執行的電腦化模型。硬 /體模型可被儲存於如電腦記憶體之儲存媒體伽中,使 20传该模型可使用對該硬體模型施用特定測試套件以判定其 是否如所欲地作用的模擬軟體42〇而被模擬。在一實施例 中,該模擬軟體未被記錄、捕取或包含於該媒體中。 在该設計之任-呈現中,該資料可被儲存於任何形式 之機器可讀取的媒體中。一光學或電波460被調變或被產^ 20 1278755 以運送此資訊,記憶體450或如光碟之光學儲存器440可為 该機器、可讀取的媒體任一這些媒體可承載該設計資訊。該 「 承載」乙詞(如機器可讀取的媒體承載資訊)因而涵蓋被儲 存於一儲存裝置上之資訊或被編碼或被調變至一載波上或 5其内的資訊。描述該設計或該設計之特定事項的該組位元 (在機器可讀取的媒體被實施如載波或儲存媒體時)為一種 製品’其本身内外可被密封,或其可被他者使用以便進一 步設計或製作。 其將被了解,就其他實施例而言,不同之系統組構可 10被使用。例如,雖然系統100就其他實施例為包括單一CPU 102’多處理器系統(此處一個或多個處理器可類似上述CPU 1〇2之組與作業)可由各種實施例之對記憶體的整合DMA記 憶體控制器存取而受益。如伺服器、工作站、桌上電腦系 統、遊戲機系統、散入式電腦系統與刀鋒伺服器之不同型 15式的系統或不同型式的電腦系統可就其被使用。 在已揭示實施例與其最佳模式下,修改與變形可對所 揭示之實施例做成而仍維持在如用下列申請專利範圍所定 義之本發明的該等實施例之領域内。 【圖式簡單説明】 20 第1圖為一方塊圖,顯示依眧一每攸么丨> & y 又…、戶、轭例之一電腦系統, 包括一觀A控制器,具有整合之DMA引擎以提供對__虛擬 碟片驅動器(VDD)之高效能存取。 第2圖為-方塊圖’進-步顯示依電性碟片驅動機之第 1圖的DMA控制器。 21 1278755 第3圖為一方塊圖,顯示依電性碟片驅動機之一 引擎與鏈系統器映射。 第4圖為一方塊圖,顯示依電性碟片驅動機之一 描述符集連結佇列被設立以使用DMA存取來存取一虛擬碟 5 片驅動器内之資料塊。 第5圖為一方塊圖,顯示依電性碟片驅動機使用第工圖 之DMA控制器經由直接記憶體存取的VDD存取要求之檢 測與該VDD存取要求的後續效能。 弟6圖為一方塊圖,顯示使用所揭示之技術用於一設計 10的模擬、模彷與製作之各種設計呈現或格式。 【主要元件符號說明】 100…電腦系統 166···Ρα/ΡΟΧ 連結 102··-CPU 170·-.HDD 104· ··處理器系統匯流排 172· "SATA 106··-BIOS 180-1 …PCI-EX 埠 110···記憶體控制器中樞,mch 180-N …PCI-EX 埠 112…匯流排 1824 …PCI-EX 連結 120---ICH 182-N …PCI-EX 連結 130···晶片組 190-1".PCI-EX 端點 140…主記憶體 190-Ν …PCI-EX 端點 142…系統記憶體匯流排 200…DMA控制器 150···圖形控制器 210…DMA引擎 152…匯流排 212…DMA仲裁器 160…USB槽 214…DMA通道 162…互連體 214-1 〜214-N …DMA 通道 164 …PCI/PCI 槽 216…存取要求 22 1278755
218···存取要求 220…MCH仲裁器 222…存取要求 230…HUB介面 232···交易要求 240-N…I/O介面 242…I/O連結 250…存取 252-1〜252-N…區塊傳送 260…VDD驅動器 270..DMA組構暫存器 272…通道控制暫存器,(XR 274…通道狀態暫存器,CSr
276···目前描述符位址暫存器, CDAR
2764···目前描述符位址暫存 器,CDAR 276-2…目前描述符位址暫存 器,CDAR 278···暫存器位址 2784 ···位址暫存器攔位 27心2···位址暫存器襴位 280···位址暫存器 280小··位址暫存器攔位 280-2···位址暫存器攔位 282…位址暫存器 2824…描述符位址暫存器 282-2· ··位址暫存器 284···雙句組計數暫存器 286…位址暫存器 290…鏈描述符 290-1〜290-N·' ·位址攔位 292…起源位址 2924···起源位址 292-2…起源上位址 294…目的位址 2944…目的位址 294-2···目的上位址 296…描述符位址 2964…下一個描述符位址 2%_2…下一個描述符上位址 298…傳送計數 299…描述符控制 300…方法 3〇2…處理
304…OS 310〜360···轉變 400…儲存媒體 410…硬體模型 420…模擬軟體 430···測試套件 440…光學儲存器 450…記憶體 460…電波 23
Claims (1)
1278755 十、申請專利範圍: L------—— 第94121186號申請案申請專利範圍修正本 95.09,L •種用於依電性碟片驅動機記憶體存取之方法,其包含 有下列步驟: k測對在依a性系統記憶體内被施作之—依電性 碟片驅動機(VDD)記憶體的—資料存取要求;以及 發出-直接記憶體麵(DMA)f料要求,以執行來 自該VDD記憶體之資料存取要求。 2·如申請專利範圍第1項所述之方法,其中在檢測該資料 存取要求之W,該方法進一步包含有下列步驟: 由一處理程序對儲存於該VDD記憶體内之-檐案 要求進行一讀取/寫入存取·, 由一作業系統檢測對儲存於該V D D記憶體内之該 棺案的該處理程序讀取/寫人存取要求;以及 傳送該讀取/寫人存取要求pVDD驅動器。 3.如申請專利範圍第丨項所述之方法,其中在檢測該資料 存取要求之财’該方法進—步包含有下列步驟: 保留該依電性系統記憶體之一部分;以及 在初始化期間分派依電性系統記憶體之該保留部 分當作該VDD記憶體操作。 4.如申請專利範圍第!項所述之方法,其中檢測該資料存 取要求之步驟包含: 從-作業系統接收由-處理程序發出之對儲存於 該VDD記憶體内的-擋案之—讀取/寫入存取要求。 24 1278755 5.如U利犯圍第丨項所述之方法,其中發出該鹽a資 料要求之步驟包含·· 1據該資_取要求繁駐少―屬鏈贿符;以及 1出DMA起動命令,以執行對儲存於該vdd記 憶體内之—樓案之該資料存取要求。 6·如申請專利範圍第5項所述之方法,其中繁殖該至少-DMA鏈描述符之步驟包含·· 辨識ΰ亥貝料存取要求所指向之該VDD記憶體内的 一檔案; 十^^亥依電性系統記憶體内之該檔案的一實體開 始位址; 依據儲存於該VDD記憶體内之該檔案中的該資料 取要求之一偏移值來計算一DMA起源位址;以及 7 X據忒資料存取要求來計算一DMA目的位址。 申明專利範圍第5項所述之方法,其中發出該DMA起 動命令之步驟包含: 用本地系統記憶體内之該至少一 DMA鏈描述符的 位址更新一DMA引擎下一個位址暫存器;以及 斗叹定—DMA引擎起動DMA位元,以致使該DMA引 擎執行對该儲存於該VDD記憶體内之該檔案的該資料 存取要求。 8·如申請專利範圍第1項所述之方法,進一步包含下列步 驟: 由DMA引擎在包含於一下一個描述符位址暫存 25 1278755 器内之一位址取出一 DMA鏈描述符; 依據该被取出之DM A鍵描述符執行一 DM A傳送, 以依據該資料存取要求傳送DMA資料至儲存於該VDD 記憶體内之一檔案;以及 5 若該D M A傳送完成,對一虛擬碟片驅動機驅動器發 出一中斷。 9·如申請專利範圍第1項所述之方法,進一步包含下列步 驟: 若一 DMA引擎完成該資料存取要求<DMA傳送, 10 即從該DMA引擎接收一中斷;以及 通知發出該資料存取要求之一應用程式謂檔案作 業已完成。 10.如申請專利範圍第丨項所述之方法,其中該VDD記憶體 之大小大於40億位元組(4 GB)。 15 η· 一種包括儲存有指令的機器可讀取媒體之製造物品,該 專指令可用以規劃一系統來執行包含下列動作之一方 法: 檢測對在依電性系統記憶體内被施作之依電性碟 片驅動機(VDD)記憶體的一資料存取要求;以及 2〇 發出一直接記憶體存取ΡΜΑ)資料要求,以執行來 自該VDD記憶體之資料存取要求。 12·如申請專利範圍第丨丨項所述之製造物品,其中發出該 DMA資料要求之動作包含·· 依據該資料存取要求繁殖至少一DMA鏈描述符;以及 26 1278755 毛出DMA起動命令,以執行對儲存於該VDD記 憶體内之一檔案之該資料存取要求。 13·如申請專利範]g第12項所述之製造物品,其中繁殖該至 少一DMA鏈描述符之動作包含: 辨識該資料存取要求所指向之該VDD記憶體内的 一檔案; 計算該依電性系統記憶體内之該檔案的一實體開 始位址; 依據儲存於該VDD記憶體内之該檔案中的該資料 存取要求之一偏移值來計算一DMA起源位址;以及 依據該資料存取要求來計算一 DMA目的位址。 14·如申請專利範圍第12項所述之製造物品,其中發出該 DMA起動命令之動作包含: 用本地系統記憶體内該至少一DMA鏈描述符的一 位址更新一DMA引擎下一個位址暫存器;以及 设定一DMA引擎起動〇]^八位元,以致使該131^八引 擎執行對儲存於該V D D記憶體内之該檔案的該資料存 取要求。 15·如申%專利範圍第1丨項所述之製造物品,進一步包含下 列動作: 若一 DMA引擎完成該資料存取要求之dma傳送, 即從該DMA引擎接收一中斷;以及 通知發出該資料存取要求之一應用程式謂檔案作 業已完成。 27 1278755 16· —種用於依電枓虚 Γ玍茱片驅動機記憶體存取之方法,其包含 有下列步驟: 由一作業系統(〇S)檢測對在依電性系統記憶體内 ^作之依電性碟片.驅動機(VDD)記憶體内所儲存的一 5 槽#料之—處理程序讀取/寫人存取要求; 傳送為靖取/寫入存取要求至一VDD驅動器;以及 由該VDD驅動器發出一直接記憶體存取(dma)資 料要求α執行來自儲存於該VDD記憶體内之該播案的 該讀取/寫入存取要求。 10 17· 士中#專利範圍第16項所述之方法,其中發出該DMA 資料要求之步驟包含·· 依據忒資料存取要求繁殖至少一dma鏈描述符;以及 發出一DMA起動命令,以執行對儲存於該VDD記 憶體内之該檔案之該讀取/寫入存取要求。 15 18.如申請專利範圍第17項所述之方法,其中繁殖該至少一 DMA鏈描述符之步驟包含: 辨識該資料存取要求所指向之虛擬碟片驅動機内 的檔案; 计异该依電性系統記憶體内之該檔案的一實體開 20 始位址; 依據儲存於該VDD記憶體内之該檔案的該讀取/ 寫入存取要求之一偏移值來計算一 DMA起源位址 ;以及 依據忒頃取/寫入存取要求來計算一 DMA目的位 址0 28 1278755 19·如申請專利範圍第17項所述之方法,其中繁殖該至少一 DMA鏈描述符之步驟包含·· 辨識该貧料存取要求所指向之該VDD記憶體内的 -槽案,以及 計算該依電性系統記憶體内之該播案的一實體開 始位址。 20.如申請專利範圍第16項所述之方法,進一步包含下列步 驟: 由一 DMA引擎纟包含於一下一個描述符位址暫存 器内之一位址取出一 DMA鏈描述符; 依據該被取出之DMA鏈描述符執行— DMA傳送, 乂依據,玄。貝取/舄入存取要求傳送來自儲存於該VDD 記憶體内之該檔案的DMA資料;以及 右.玄DMA傳送兀成,即對虛擬碟片驅動機驅動器發 出一中斷。 21·:種包括儲存有指令的機器可讀取媒體之製造物品,該 寺指令可用以規劃一系統來執行包含下列動作之一方 法: 〃由一作業系統(OS)檢測對在依電性系統記憶體内 施作之依電性碟片驅動機(VDD)記憶體内所儲存的一 標案發出之—處理程序讀取/寫人存取要求; 傳送該讀取/寫人存取要求至-卿驅動器;以及 由該VDD驅動器發出一直接記憶體存取(DMA)資 料要求’以執行來自儲存於該V D D記憶體内之該播案的 29 "亥碩取/寫入存取要求。 22·如申請專利範圍第21項所述之製造物品,其中發出該 DMA資料要求之動作包含: 依據。亥,貝取/寫入存取要求繁殖至少一 DMA鏈描 述符;以及 毛出DMA起動命令,以執行對儲存於該vdd記 憶體内之該權案之該讀取/寫入存取要求。 •士申明專利la圍第22項所述之製造物品,其中繁殖該至 少一DMA鏈描述符之動作包含: 辨識該資料存取要求所指向之虛擬碟片驅動機内 的檔案; 計算該依電性系統記憶體内之該檔案的一實體開 始位址; 依據儲存於該VDD記憶體内之該檔案中的該讀取 /舄入存取要求之一偏移值,來計算一 DMA起源位址; 以及 依據該讀取/寫入存取要求來計算一 DMA目的位 址0 24·如申請專利範圍第22項所述之製造物品,其中繁殖該至 少一DMA鏈描述符之動作包含·· 辨識該資料存取要求所指向之該VDD記憶體内的 一檔案;以及 計算該依電性系統記憶體内之該檔案的一實體開 始位址。 30 1278755 25.如申請專利範圍第21項所述之製造物品,進一步包含下 列動作: 由一DMA引擎在包含於一下一個描述符位址暫存 器内之一位址取出一 DMA鏈描述符; 5 依據該被取出之DMA鏈描述符執行一 DMA傳送, 以依據該讀取/寫入存取要求傳送來自儲存於該VDD 記憶體内之該檔案的DMA資料;以及 若該DMA傳送完成,即對虛擬碟片驅動機驅動器發 出一中斷。 10 26.—種用於依電性碟片驅動機記憶體存取之系統,其包 含: 一依電性系統記憶體,具有被分派以提供一依電性 碟片驅動機(VDD)記憶體的一個部分; 一晶片組,被耦合至該依電性系統記憶體,包含一 15 直接記憶體存取〇3MA)引擎以供對該依電性系統記憶 體執行DMA傳送;以及 一非依電性系統記憶體,被耦合至該晶片組,包括 一VDD驅動器,以供檢測對該虛擬碟片驅動器之一資料 存取要求、及對該晶片組發出一 DMA要求以致使該 20 DMA引擎對該VDD記憶體執行該資料存取要求。 27. 如申請專利範圍第26項所述之系統,該晶片組進一步包 含一記憶體控制器中樞,其包括一整合DMA引擎。 28. 如申請專利範圍第26項所述之系統,該晶片組進一步包 含·· 31 •1278755 一輸入/輸出控制器中樞。 29. 如申請專利範圍第26項所述之系統,該晶片組進一步包 含: 一 DMA控制器,其包括至少一個下一個描述符位址 5 暫存器,以供儲存由該VDD驅動器規劃之一DMA鏈描 述符的一實體位址,供對該VDD記憶體執行該資料存取 要求。 30. 如申請專利範圍第29項所述之系統,其中該DMA控制器 進一步包含: 10 一通道控制暫存器,其包括一DMA起動位元以引導 該DMA引擎載入該DMA鏈描述符及對該VDD記憶體執 行該資料存取要求。 32
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/882,073 US7484016B2 (en) | 2004-06-30 | 2004-06-30 | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200617684A TW200617684A (en) | 2006-06-01 |
TWI278755B true TWI278755B (en) | 2007-04-11 |
Family
ID=34972868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW094121186A TWI278755B (en) | 2004-06-30 | 2005-06-24 | An apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine |
Country Status (7)
Country | Link |
---|---|
US (2) | US7484016B2 (zh) |
JP (1) | JP4543086B2 (zh) |
KR (1) | KR100909119B1 (zh) |
CN (1) | CN100592271C (zh) |
DE (1) | DE112005001512B4 (zh) |
TW (1) | TWI278755B (zh) |
WO (1) | WO2006012196A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200266995A1 (en) * | 2020-05-04 | 2020-08-20 | Vinodh Gopal | Managing state in accelerators |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7484016B2 (en) * | 2004-06-30 | 2009-01-27 | Intel Corporation | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine |
US7506098B2 (en) * | 2006-06-08 | 2009-03-17 | Bitmicro Networks, Inc. | Optimized placement policy for solid state storage devices |
JP2008071054A (ja) * | 2006-09-13 | 2008-03-27 | Ricoh Co Ltd | データ転送制御方法、データ処理装置及び画像処理装置 |
US8095758B2 (en) * | 2008-02-01 | 2012-01-10 | International Business Machines Corporation | Fully asynchronous memory mover |
US8327101B2 (en) * | 2008-02-01 | 2012-12-04 | International Business Machines Corporation | Cache management during asynchronous memory move operations |
US8275963B2 (en) * | 2008-02-01 | 2012-09-25 | International Business Machines Corporation | Asynchronous memory move across physical nodes with dual-sided communication |
US8356151B2 (en) * | 2008-02-01 | 2013-01-15 | International Business Machines Corporation | Reporting of partially performed memory move |
US8245004B2 (en) * | 2008-02-01 | 2012-08-14 | International Business Machines Corporation | Mechanisms for communicating with an asynchronous memory mover to perform AMM operations |
US8015380B2 (en) * | 2008-02-01 | 2011-09-06 | International Business Machines Corporation | Launching multiple concurrent memory moves via a fully asynchronoous memory mover |
KR101595043B1 (ko) | 2008-09-18 | 2016-02-17 | 마벨 월드 트레이드 리미티드 | 적어도 부분적으로 부팅 동안에 어플리케이션들을 메모리에 프리로딩하는 방법 |
KR101231055B1 (ko) * | 2008-12-19 | 2013-02-07 | 한국전자통신연구원 | 프로세서의 메모리 제어신호를 이용한 디스크 시스템 |
US8095700B2 (en) * | 2009-05-15 | 2012-01-10 | Lsi Corporation | Controller and method for statistical allocation of multichannel direct memory access bandwidth |
US8260980B2 (en) * | 2009-06-10 | 2012-09-04 | Lsi Corporation | Simultaneous intermediate proxy direct memory access |
US8473661B2 (en) * | 2009-08-14 | 2013-06-25 | Cadence Design Systems, Inc. | System and method for providing multi-process protection using direct memory mapped control registers |
US8327039B2 (en) | 2009-08-14 | 2012-12-04 | Cadence Design Systems, Inc. | Integrated DMA processor and PCI express switch for a hardware-based functional verification system |
KR101685407B1 (ko) * | 2010-07-29 | 2016-12-13 | 삼성전자주식회사 | 멀티코어 시스템을 위한 다이렉트 메모리 억세스 장치 및 다이렉트 메모리 억세스 장치의 동작 방법 |
CN103282893A (zh) * | 2011-01-05 | 2013-09-04 | 飞比特网络股份有限公司 | 存储卡装置 |
US8855194B2 (en) * | 2011-05-09 | 2014-10-07 | Texas Instruments Incorporated | Updating non-shadow registers in video encoder |
US8495258B2 (en) * | 2011-05-24 | 2013-07-23 | International Business Machines Corporation | Implementing storage adapter performance optimization with hardware accelerators offloading firmware for buffer allocation and automatically DMA |
US8793462B2 (en) | 2011-05-24 | 2014-07-29 | International Business Machines Corporation | Implementing storage adapter performance optimization with enhanced resource pool allocation |
US8868828B2 (en) | 2011-05-24 | 2014-10-21 | International Business Machines Corporation | Implementing storage adapter performance optimization with cache data/directory mirroring |
US8516164B2 (en) * | 2011-05-24 | 2013-08-20 | International Business Machines Corporation | Implementing storage adapter performance optimization with enhanced hardware and software interface |
US8544029B2 (en) | 2011-05-24 | 2013-09-24 | International Business Machines Corporation | Implementing storage adapter performance optimization with chained hardware operations minimizing hardware/firmware interactions |
US8495259B2 (en) * | 2011-05-24 | 2013-07-23 | International Business Machines Corporation | Implementing storage adapter performance optimization with hardware chains to select performance path |
US8656213B2 (en) | 2011-05-24 | 2014-02-18 | International Business Machines Corporation | Implementing storage adapter performance optimization with chained hardware operations and error recovery firmware path |
US8886881B2 (en) | 2011-05-24 | 2014-11-11 | International Business Machines Corporation | Implementing storage adapter performance optimization with parity update footprint mirroring |
CN102231142B (zh) * | 2011-07-21 | 2013-12-11 | 浙江大学 | 一种带有仲裁器的多通道dma控制器 |
US9141394B2 (en) | 2011-07-29 | 2015-09-22 | Marvell World Trade Ltd. | Switching between processor cache and random-access memory |
US9436629B2 (en) * | 2011-11-15 | 2016-09-06 | Marvell World Trade Ltd. | Dynamic boot image streaming |
EP2795503A4 (en) * | 2011-12-21 | 2015-08-26 | Intel Corp | SECURE DIRECT MEMORY ACCESS |
US9535827B2 (en) * | 2011-12-29 | 2017-01-03 | Intel Corporation | RAM disk using non-volatile random access memory |
US9208002B2 (en) | 2012-01-06 | 2015-12-08 | International Business Machines Corporation | Equalizing bandwidth for multiple requesters using a shared memory system |
CN102841870B (zh) * | 2012-08-10 | 2015-04-15 | 无锡众志和达数据计算股份有限公司 | 基于高速串行总线的通用dma结构及预读方法 |
US9092364B2 (en) | 2012-10-04 | 2015-07-28 | International Business Machines Corporation | Implementing storage adapter performance control |
US9575768B1 (en) | 2013-01-08 | 2017-02-21 | Marvell International Ltd. | Loading boot code from multiple memories |
US9213616B2 (en) * | 2013-01-24 | 2015-12-15 | Xcerra Corporation | Automated test platform utilizing status register polling with temporal ID |
US9459978B2 (en) * | 2013-01-24 | 2016-10-04 | Xcerra Corporation | Automated test platform utilizing segmented data sequencers to provide time controlled test sequences to device under test |
US9430348B2 (en) * | 2013-01-24 | 2016-08-30 | Xcerra Corporation | Scalable test platform in a PCI express environment with direct memory access |
US9430349B2 (en) * | 2013-01-24 | 2016-08-30 | Xcerra Corporation | Scalable test platform in a PCI express environment with direct memory access |
US9336108B2 (en) | 2013-01-24 | 2016-05-10 | Xcerra Corporation | Scalable test platform |
KR101539878B1 (ko) | 2013-05-02 | 2015-07-27 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 컴퓨터 시스템, pci 익스프레스 엔드포인트 디바이스에 액세스하는 방법 및 장치 |
US9736801B1 (en) | 2013-05-20 | 2017-08-15 | Marvell International Ltd. | Methods and apparatus for synchronizing devices in a wireless data communication system |
US9521635B1 (en) | 2013-05-21 | 2016-12-13 | Marvell International Ltd. | Methods and apparatus for selecting a device to perform shared functionality in a deterministic and fair manner in a wireless data communication system |
US9836306B2 (en) | 2013-07-31 | 2017-12-05 | Marvell World Trade Ltd. | Parallelizing boot operations |
US10275164B2 (en) * | 2015-05-27 | 2019-04-30 | Nutech Ventures | Enforcing persistency for battery-backed mobile devices |
US10979412B2 (en) | 2016-03-08 | 2021-04-13 | Nxp Usa, Inc. | Methods and apparatus for secure device authentication |
DE102016211768A1 (de) * | 2016-06-29 | 2018-01-04 | Robert Bosch Gmbh | Speicherdirektzugriffssteuereinrichtung und Betriebsverfahren hierfür |
FR3057969B1 (fr) * | 2016-10-25 | 2019-11-01 | Thales | Systeme de pilotage deterministe du fonctionnement de moyens de transfert de donnees par acces direct a des moyens de memorisation |
KR102447465B1 (ko) | 2017-09-08 | 2022-09-27 | 삼성전자주식회사 | 호스트로부터의 읽기 요청에 대한 짧은 읽기 응답 시간을 제공하기 위해 내부 동작을 일시적으로 중단하는 스토리지 장치 |
KR20190090614A (ko) * | 2018-01-25 | 2019-08-02 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
CN109189701B (zh) * | 2018-08-20 | 2020-12-29 | 深圳忆联信息系统有限公司 | 一种针对嵌入式存储接口数据传输的方法及其系统 |
KR102382186B1 (ko) * | 2018-10-10 | 2022-04-05 | 삼성전자주식회사 | 딥 러닝을 위한 고성능 컴퓨팅 시스템 |
KR102162151B1 (ko) | 2018-11-20 | 2020-10-08 | 서문석 | 배기열 및 이중 송풍기를 이용한 발효장치 |
JP2022524487A (ja) * | 2019-03-12 | 2022-05-06 | インテル・コーポレーション | 計算データ記憶システム |
FR3094507A1 (fr) * | 2019-03-29 | 2020-10-02 | Stmicroelectronics (Grenoble 2) Sas | Accès direct en mémoire |
WO2022086559A1 (en) * | 2020-10-23 | 2022-04-28 | Hewlett-Packard Development Company, L.P. | Access to volatile memories |
CN112506827A (zh) * | 2020-11-12 | 2021-03-16 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于adma控制器的数据传输方法、装置及设备 |
CN116932451A (zh) * | 2022-03-31 | 2023-10-24 | 华为技术有限公司 | 一种数据处理方法、主机及相关设备 |
US20230350820A1 (en) * | 2022-04-28 | 2023-11-02 | Infineon Technologies Ag | Systems and methods for concurrent logging and event capture |
CN115756612A (zh) * | 2022-11-24 | 2023-03-07 | 上海壁仞智能科技有限公司 | 计算装置、操作方法和机器可读存储介质 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62119657A (ja) * | 1985-11-20 | 1987-05-30 | Fujitsu Ltd | Dmaチエイン制御方式 |
JPS62157934A (ja) * | 1985-12-28 | 1987-07-13 | Casio Comput Co Ltd | メモリ・アドレス方式 |
US5241508A (en) * | 1991-04-03 | 1993-08-31 | Peripheral Land, Inc. | Nonvolatile ramdisk memory |
JPH07225727A (ja) * | 1994-02-14 | 1995-08-22 | Fujitsu Ltd | 計算機システム |
US5713044A (en) * | 1995-12-19 | 1998-01-27 | Intel Corporation | System for creating new group of chain descriptors by updating link value of last descriptor of group and rereading link value of the updating descriptor |
WO1997034228A1 (fr) * | 1996-03-13 | 1997-09-18 | Hitachi, Ltd. | Unite de traitement d'informations comportant une fonction permettant de supprimer les effractions, unite de commande de memoire et procede de traitement d'acces direct en memoire |
US6012107A (en) * | 1997-05-22 | 2000-01-04 | Adaptec, Inc. | Hardware control block delivery queues for host adapters and other devices with onboard processors |
US6493811B1 (en) * | 1998-01-26 | 2002-12-10 | Computer Associated Think, Inc. | Intelligent controller accessed through addressable virtual space |
US6338119B1 (en) * | 1999-03-31 | 2002-01-08 | International Business Machines Corporation | Method and apparatus with page buffer and I/O page kill definition for improved DMA and L1/L2 cache performance |
JP3824122B2 (ja) * | 1999-04-12 | 2006-09-20 | 株式会社リコー | Dma装置 |
US6757291B1 (en) * | 2000-02-10 | 2004-06-29 | Simpletech, Inc. | System for bypassing a server to achieve higher throughput between data network and data storage system |
JP2001290661A (ja) * | 2000-04-04 | 2001-10-19 | Matsushita Commun Ind Co Ltd | オペレーティングシステム制御装置及び制御方法並びにオペレーティングシステム制御プログラムを記録した記録媒体 |
US6889340B1 (en) * | 2000-10-13 | 2005-05-03 | Phoenix Technologies Ltd. | Use of extra firmware flash ROM space as a diagnostic drive |
US20020069317A1 (en) * | 2000-12-01 | 2002-06-06 | Chow Yan Chiew | E-RAID system and method of operating the same |
JP2004005382A (ja) * | 2002-03-29 | 2004-01-08 | Fujitsu Ltd | データ転送装置および方法 |
JP4317348B2 (ja) * | 2002-05-15 | 2009-08-19 | 株式会社日立製作所 | 情報処理装置及び入出力方法並びにプログラム |
US20040128416A1 (en) * | 2002-12-11 | 2004-07-01 | Tsvika Kurts | Apparatus and method for address bus power control |
US7111182B2 (en) * | 2003-08-29 | 2006-09-19 | Texas Instruments Incorporated | Thread scheduling mechanisms for processor resource power management |
DE102004004796B4 (de) | 2004-01-30 | 2007-11-29 | Infineon Technologies Ag | Vorrichtung zur Datenübertragung zwischen Speichern |
US7484016B2 (en) * | 2004-06-30 | 2009-01-27 | Intel Corporation | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine |
-
2004
- 2004-06-30 US US10/882,073 patent/US7484016B2/en not_active Expired - Fee Related
-
2005
- 2005-06-21 WO PCT/US2005/022226 patent/WO2006012196A2/en active Application Filing
- 2005-06-21 DE DE112005001512T patent/DE112005001512B4/de not_active Expired - Fee Related
- 2005-06-21 CN CN200580017641A patent/CN100592271C/zh not_active Expired - Fee Related
- 2005-06-21 JP JP2007527817A patent/JP4543086B2/ja not_active Expired - Fee Related
- 2005-06-21 KR KR1020067027705A patent/KR100909119B1/ko not_active IP Right Cessation
- 2005-06-24 TW TW094121186A patent/TWI278755B/zh not_active IP Right Cessation
-
2009
- 2009-01-27 US US12/360,713 patent/US7769918B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200266995A1 (en) * | 2020-05-04 | 2020-08-20 | Vinodh Gopal | Managing state in accelerators |
Also Published As
Publication number | Publication date |
---|---|
US20060004946A1 (en) | 2006-01-05 |
CN100592271C (zh) | 2010-02-24 |
DE112005001512B4 (de) | 2012-09-27 |
JP2008502084A (ja) | 2008-01-24 |
US7769918B2 (en) | 2010-08-03 |
KR100909119B1 (ko) | 2009-07-23 |
CN1961300A (zh) | 2007-05-09 |
JP4543086B2 (ja) | 2010-09-15 |
US20090138627A1 (en) | 2009-05-28 |
US7484016B2 (en) | 2009-01-27 |
DE112005001512T5 (de) | 2007-05-10 |
WO2006012196A3 (en) | 2006-05-04 |
WO2006012196A2 (en) | 2006-02-02 |
TW200617684A (en) | 2006-06-01 |
KR20070024670A (ko) | 2007-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI278755B (en) | An apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine | |
JP5963282B2 (ja) | 割り込み分配スキーム | |
JP4928100B2 (ja) | 改善されたデータ転送のためのコントローラ装置および方法 | |
US9256384B2 (en) | Method and system for reducing write latency in a data storage system by using a command-push model | |
JP5977094B2 (ja) | フレキシブルフラッシュコマンド | |
US8762789B2 (en) | Processing diagnostic requests for direct block access storage devices | |
US11042300B2 (en) | Command load balancing for NVME dual port operations | |
JP2013025795A (ja) | フラッシュデバイスのためのフラッシュコントローラハードウェアアーキテクチャ | |
TW200809514A (en) | Stalling of DMA operations in order to do memory migration using a migration in progress bit in the translation control entry mechanism | |
US10108565B2 (en) | Method for on-demand fetching of SGL pointers based buffer, traffic and command requirements | |
TW200849089A (en) | Controlling instruction execution in a processing environment | |
JP2013025794A (ja) | フラッシュインタフェースの有効利用 | |
US7600058B1 (en) | Bypass method for efficient DMA disk I/O | |
US20060143506A1 (en) | RAID storage controller assist circuit, systems and methods | |
KR20220061983A (ko) | 입출력 메모리 관리 유닛으로부터 게스트 운영 시스템으로의 인터럽트 제공 | |
JP2022536689A (ja) | 入出力メモリ管理ユニットによるゲストオペレーティングシステムのバッファとログへのアクセス | |
TW202334804A (zh) | 用於設備中複製目標原子性的系統、方法和裝置 | |
TWI497294B (zh) | 用於增加虛擬記憶體效能之電腦可讀儲存媒體、設備及電腦實施方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |