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 PDF

Info

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
Application number
TW094121186A
Other languages
English (en)
Other versions
TW200617684A (en
Inventor
Shrikant M Shah
Chetan J Rawal
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 TW200617684A publication Critical patent/TW200617684A/zh
Application granted granted Critical
Publication of TWI278755B publication Critical patent/TWI278755B/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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single 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
TW094121186A 2004-06-30 2005-06-24 An apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine TWI278755B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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