TWI465905B - 記憶體系統、主機控制器、及直接記憶體存取之控制方法 - Google Patents
記憶體系統、主機控制器、及直接記憶體存取之控制方法 Download PDFInfo
- Publication number
- TWI465905B TWI465905B TW100108381A TW100108381A TWI465905B TW I465905 B TWI465905 B TW I465905B TW 100108381 A TW100108381 A TW 100108381A TW 100108381 A TW100108381 A TW 100108381A TW I465905 B TWI465905 B TW I465905B
- Authority
- TW
- Taiwan
- Prior art keywords
- descriptor
- memory
- data
- host controller
- system memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/28—DMA
Description
此處描述之實施方式係關於一種例如適用於保全數位(SDTM
)卡且具有進階直接記憶體存取(Advanced Direct Memory Access,ADMA)之主機控制器、記憶體系統及DMA之控制方法。
本申請案係基於且主張2010年9月22日申請之日本專利申請案第2010-212721號之優先權,其全文以引用之方式併入本文。
近來,SD卡例如SD記憶卡被廣泛用於作為主機機器之行動電話機或數位相機等。該SD卡經由主機控制器連接於主機機器,藉由主機控制器來控制主機機器與SD記憶卡之間的資料傳送。
主機機器中所設之系統記憶體係藉由分頁進行管理。因此,系統記憶體上之資料係以頁面為單位而分片段地進行管理。
為效率良好地進行對記憶卡之資料讀/寫,主機控制器具有DMA,DMA可實現以頁面為單位進行管理之資料傳輸。亦即,於系統記憶體上經片段化之資料藉由使用作為資料傳輸清單之描述符而可實現DMA傳輸。
然而,先前之DMA於頁面之邊界為生成新的系統位址而發生中斷。因此,CPU之動作會發生紊亂。為消除此現象,開發出ADMA。
AMDA具有下述功能:對應於SD卡之1個讀/寫指令,對藉由分頁而分片段地配置於系統記憶體上之資料區域進行資料傳輸。因此,ADMA藉由讀取位於系統記憶體上之描述符,控制主機控制器與系統記憶體間之資料傳輸而不發生對CPU之中斷。主機驅動器藉由設定主機控制器內之暫存器組,控制對記憶卡之指令發佈,並控制主機控制器與記憶卡間之資料傳輸,並使用對CPU之中斷。如先前般當匯流排性能較低時,此種方法無問題。
然而,近來,隨著匯流排之性能提高而高速之資料傳輸成為可能,存在主機驅動器之處理作為負擔而出現之問題。由於記憶卡之區域未必可連續使用,因此必需分割成複數個記憶體指令。主機驅動器控制對記憶卡之指令發佈之方式必需於資料傳輸之中途使主機CPU發生中斷而使主機驅動器執行,直至響應中斷為止,需要耗費一定程度之時間。因此,存在下述問題:即使使用高速匯流排,驅動器處理之等待時間亦會產生影響而使性能降低。
因此,較為理想的是,藉由使DMA可在資料傳輸中處理需要主機驅動器之處理之部分,從而高效率地實施資料傳輸。
本發明之實施形態提供一種可高效率地實施資料傳輸之主機控制器、記憶體系統及DMA之控制方法。
一般而言,根據一實施形態,記憶體系統具有主機控制器及DMA電路。主機控制器包含對元件控制指令發佈之暫存器組、及存取系統記憶體之直接記憶體存取(DMA)電路,且控制系統記憶體及記憶體元件間之傳輸。第1描述符至第4描述符被記憶於上述系統記憶體上。第1描述符由表示複數個第2描述符之複數個指標之集合而構成。上述複數個第2描述符各自包括第3描述符及第4描述符。上述第3描述符包含作為經由上述主機控制器之上述暫存器組而進行上述記憶體元件之指令發佈所需的資訊之指令編號、指令動作模式、引數,及作為資料傳輸所需的資訊之區塊長度、區塊數之資訊。上述第4描述符包含配置於上述系統記憶體上之複數個資料之位址與大小之資訊。本提案之改良版ADMA電路係以上述第1描述符之開頭為起點,將構成上述第2描述符之上述第3描述符之內容設定於上述暫存器組,並依照上述第4描述符之內容而自上述系統記憶體中讀取並傳輸資料。
根據本發明之實施形態,可提供一種可高效率地實施資料傳輸之主機控制器、記憶體系統及DMA之控制方法。
以下,參照附圖說明實施形態。下述說明中之ADMA表示本提案的改良版ADMA。
圖1概略表示本實施形態之記憶體系統。
本實施形態延伸利用可實現系統記憶體之資料傳輸之描述符,藉由使主機控制器可於DMA傳輸中發佈複數個SD指令,從而減輕主機驅動器之處理之負擔。
圖1所示之系統控制器11控制CPU 12、系統記憶體13、及與SD主機控制器14之介面。
系統記憶體13記憶主機驅動器21、描述符表22及資料23。記憶該等主機驅動器21、描述符表22及資料23所需之區域係藉由作業系統(OS)而於系統記憶體13上得以確保。
主機驅動器21例如係SD主機控制器14用OS固有之驅動器,由CPU 12執行。主機驅動器21在執行後述之ADMA之前生成描述符表22。該描述符表22係將系統記憶體13與SD卡之間的資料傳輸所需之資訊製成清單者,係以SD主機控制器14可解釋之格式進行記述。關於描述符表22之構造,將於後文進行敍述。
SD主機控制器14具有使用SD指令而雙向進行系統記憶體13與SD卡間之資料傳輸之功能。SD主機控制器14主要包括系統匯流排介面(I/F)電路31、記憶卡I/F電路32、包含複數個暫存器之暫存器組33、ADMA 34及計時器35。
系統匯流排I/F電路31經由系統匯流排而連接於系統控制器11。記憶卡I/F電路32可經由未圖示之SD匯流排介面而連接於SD卡例如SD記憶卡15、SDIO卡16。
SD匯流排介面並不限定於先前之4位元類型,亦可適用於使用LVDS方式之UHS-II等。於UHS-II中,指令係以封包形式進行發送。
SD主機控制器14之暫存器組33例如被分類成未圖示之SD指令產生部、回應部、緩衝器資料埠部、主機控制器部、中斷控制器部、ADMA部等複數個部分。於暫存器組33之SD指令產生部中設定有SD指令之發佈所需之資訊,例如指令編號、指令模式及自變量或資料傳輸所需之資訊區塊長度、區塊數。SD指令產生部藉由設定該等資訊而對SD卡發佈指令。對應於該指令而自SD卡供給之回應係由暫存器組33內之回應部來接收。
ADMA 34係不經由CPU 12而在SD卡與系統記憶體13間傳輸資料之電路。該ADMA 34依照系統記憶體13上之描述符表22中記載之內容而執行資料傳輸。
計時器35係檢測逾時錯誤者。例如若在設定為自發佈讀指令後直至結束為止之時間內讀指令之動作未完成,則計時器35檢測出逾時錯誤。該逾時錯誤係以中斷通知給主機CPU 12,並由主機驅動器進行處理。
圖2表示系統記憶體13之分頁管理與SD物理位址之關係之例。系統記憶體13係藉由分頁而以例如每4 k位元組之小區域為單位進行管理。由主機CPU 12所執行之應用程式係利用由主機CPU 12所管理之分頁功能,藉由邏輯位址而存取系統記憶體13。因此,如邏輯位址系統記憶體映射所示,使資料看起來像是配置於連續的位址區域。然而,實際記錄在系統記憶體13上的資料之位置為任意,如物理位址系統記憶體映射所示般為片段。該等資料係藉由位址與資料長度(length)加以管理。資料長度為可變。又,記憶在系統記憶體13上之資料之物理位址與邏輯位址之關係利用未圖示之頁面表加以管理。
另一方面,記憶在SD記憶卡13上之資料例如以512位元組~數百萬位元組之頁面單位(區塊單位)加以管理,與系統記憶體13完全獨立。因此,當使系統記憶體13上之資料記憶於SD記憶卡15上時,如SD物理位址記憶體映射所示,系統記憶體13上之資料會以不同於系統記憶體13上的大小而記憶。SD記憶卡15內之資料被保持在依每個指令所指定之連續的記憶區域上,具有由指令所指定之位址,資料長度為可變,且由不同的指令所指定。
DMA傳輸係藉由物理位址而直接存取系統記憶體13。因此,藉由於系統記憶體13上建立作為傳輸清單之描述符,從而可實現ADMA之執行。
圖3表示本實施形態之描述符。該描述符係建立在系統記憶體13之描述符表22內。
本實施形態之描述符係延伸先前之描述符者,且由階層構造而構成。藉由使用本實施形態之描述符,可完全由硬體執行利用ADMA之系統記憶體13與SD記憶卡15間之資料傳輸。因此,不再需要於資料傳輸中對主機CPU 12進行中斷。錯誤處理要求雖是以中斷而通知,但由於發生機率非常小,因此不至於構成問題。
如圖3所示,第1描述符(Integrated Descriptor)係由針對複數個第2描述符(Partial Descriptor)之指標之集合而構成。
各第2描述符(Partial Descriptor)係由第3描述符(SD指令描述符)與第4描述符(System Memory Descriptor)之對而構成。
第3描述符之內容係由用於發佈SD指令之資訊而構成。亦即,第3描述符之內容例如包括指令編號、指令模式、引數、作為資料傳輸所需之資訊的區塊長度、區塊數。指令模式例如為表示讀/寫者。藉由將該第3描述符寫入SD主機控制器14之暫存器組33中的SD指令產生部中,從而發佈1個SD指令。
第4描述符(System Memory Descriptor)之內容係包括表示系統記憶體13上之各資料之位置的位址與表示資料長度之長度(length),表示分片段配置之複數個資料之集合。
第3描述符對應於1個讀/寫指令,因此可指定SD記憶卡之某一連續區域。當如圖2所示分成複數區域時,對於各個區域必需第3描述符。以成為與各第3描述符相同之資料傳輸產度之方式,對相應的第4描述符進行程式化。
第1至第4描述符分別具有屬性資訊Att。各屬性資訊Att例如包含用於識別描述符之種類之資訊、及表示描述符之結束位置之結束位元。
再者,由於第3描述符的格式與其他描述符不同,因此屬性資訊Att既可對應於至少開頭之指令編號而設置,亦可與其他描述符同樣地使每行具備該資訊。
圖4表示ADMA 34之概略構成。ADMA 34具有系統位址控制部34a、資料緩衝器34b、SD指令控制部34c及緩衝記憶體34d。
系統位址控制部34a對系統記憶體13之位址進行管理。具體而言,對記憶於系統記憶體13中之第1至第4描述符之讀取進行管理。亦即,系統位址控制部34a首先設定第1描述符(Integrated descriptor)之開頭位址作為初始值。藉此,可自系統記憶體13讀出第1描述符(Integrated descriptor)之資訊。由於在第1描述符中寫有複數個第2描述符之指標,因此讀取各指標所指示之第2描述符之位址,依照該位址而讀取第2描述符。即,將作為構成第2描述符之第3描述符的SD指令描述符傳輸至SD指令控制部34c。進而,依序讀取構成第2描述符之第4描述符中記述之資料之位址及資料長度,並依照該位址及資料長度,於記憶體寫入時自系統記憶體13讀出資料,並傳輸至資料緩衝器34b。於記憶體讀出時,自資料緩衝器34b向系統記憶體13傳輸資料。
為執行該等動作,系統位址控制部34a需保持第1描述符(Integrated Descriptor)之開頭位址、第2描述符(Partial Descriptor)之指標、資料之位址及資料長度,為此系統位址控制部34a具有複數個暫存器34a_1~34a_4及選擇該等暫存器之輸出信號之多工器(MPX)34a_5。
SD指令控制部34c依序產生用於對SD指令產生部設置值之暫存器位址,並且對主機控制器14之暫存器組33中的SD指令產生部依序設定作為第3描述符之SD指令描述符中所含的暫存器設定資訊。暫存器組33之SD指令產生部在暫存器之設定完成時發佈SD指令。
緩衝記憶體34d於記憶體寫入之情形時,讀取由系統位址控制部34a所指定之系統記憶體13上之資料,並暫時保持所供給之資料。由資料緩衝器34b所保持之資料與所發佈之SD指令同步地傳輸至SD記憶卡15。
又,緩衝記憶體34d於記憶體讀出之情形時,暫時保持與所發佈之SD指令同步地自作為記憶體元件的SD記憶卡15讀取之資料,並將資料傳輸至由系統位址控制部34a所指定之系統記憶體13上之位置。
於上述構成中,參照圖5對使用延伸描述符之ADMA 34之動作進行說明。
主機驅動器21為在系統記憶體13與SD記憶卡15之間進行資料傳輸,而於系統記憶體13上建立圖3所示之延伸描述符。第1描述符之開頭位址係由主機驅動器21對系統位址控制部34a之暫存器34a_1進行設定。
隨後,當藉由主機驅動器21啟動AMDA 34時,系統位址控制部34a根據由暫存器34a_1所保持之第1描述符之開頭位址,讀取第1描述符(Integrated Descriptor)之開頭所記載之第2描述符指標(部分描述符指標),並保持於暫存器34a_2中。(ST11)。
繼而,由系統位址控制部34a讀取位於第2描述符指標所示之部位處的第2描述符(ST12)。
於第2描述符之開頭所記述之第3描述符(SD指令描述符)被供給至SD指令控制部34c。SD指令控制部34c將第3描述符中記述之資料寫入構成SD主機控制器14之暫存器組33的SD指令產生部。於是,由SD指令產生部對SD記憶卡15發佈指令(ST13)。
繼而,由系統位址控制部34a讀取第4描述符(System Memory Descriptor)。系統位址控制部34a將第4描述符中記述之位址及資料長度分別保持至暫存器34a_3(Address)與暫存器34a_4(Length)中。系統位址控制部34a於記憶體寫入之情形時,以暫存器34a_3(Address)之位址為開頭位址而自系統記憶體13讀出資料並傳輸至資料緩衝器34b。又,系統位址控制部34a於記憶體讀出之情形時,以暫存器34a_3(Address)之位址為開頭位址,對系統記憶體13寫入資料緩衝器34b之資料(ST14)。
於記憶體寫入之情形時,於資料緩衝器34b內,自系統記憶體13供給之分片段之資料成為連續的資料。第4描述符(System Memory Descriptor)係包括含有位址與資料長度之對的複數個資料,ADMA依序反覆進行該操作,從而進行系統記憶體與資料緩衝器34b間之資料傳輸。
隨後,ADMA將由資料緩衝器34b所保持之資料傳輸至SD記憶卡15(ST15)。與所發佈之指令(讀/寫指令)同步地,ADMA對系統記憶體13上之資料進行存取,經由資料緩衝器34b的兩者之資料傳輸係一面取得同步一面執行。總資料傳輸量無論於記憶體元件側,抑或於系統記憶體側均必需設定為相同的值。
當基於1個第2描述符之資料之傳輸完成時,判別為所有第1描述符之執行是否已結束(ST16)。當其結果為所有第1描述符之執行尚未結束時,控制移行至步驟ST12,依照第1描述符中記述之部分描述符指標,讀取下一個第2描述符,執行上述動作(ST16-ST12)。於各描述符中設定有上述屬性資訊Att中之結束位元,可藉由該結束位元而指定描述符程式之結束位置。
當對應於下一個第2描述符而對SD主機控制器14之暫存器設定第3描述符時,發佈SD指令,並依照第4描述符傳輸資料。例如於記憶體讀取之情形時,最終資料被讀入資料緩衝器34b之後,藉由預先讀取下一個第3描述符,可在對系統記憶體之DMA傳輸中發佈下一次傳輸之SD指令。此情形時,由於省下指令發佈時間,因此可進一步實現高速動作。
另一方面,當第1描述符中記述之所有內容均已執行之情形時,SD主機控制器14發生ADMA完成中斷(ST17)。藉此,CPU 12(主機驅動器21)可獲知ADMA之處理已正常結束。若未發生錯誤,則主機CPU 12在自ADMA之啟動直至結束為止之期間無需介入傳輸,因此不會發生因主機驅動器造成之性能下降。又,由於可於資料傳輸中準備下一個描述符,因此描述符建立時間不會影響傳輸性能。
主機驅動器在傳輸完成時,指示檔案系統更新資訊。藉此確定傳輸至SD記憶卡之資料。
根據上述實施形態,由於是在系統記憶體13與SD記憶卡15之間進行資料傳輸,因此藉由主機驅動器21於系統記憶體13內生成延伸描述符。該延伸描述符包含作為表示第2描述符之位置之指標之集合的第1描述符。當藉由主機驅動器21啟動ADMA 34時,根據第1描述符之開頭位址之內容,依序將第2描述符之內容取入ADMA 34,藉由ADMA 34依照第2描述符中記述之第3、第4描述符之內容,在系統記憶體13與SD記憶卡15之間執行資料傳輸。因此,主機驅動器21於ADMA 34之資料傳輸中完全不參與資料傳輸。因此,可藉由ADMA 34實現高速之資料傳輸。
又,ADMA 34於啟動後,對暫存器組33之SD指令產生部設定第3描述符,藉此產生指令,藉由ADMA 34,可僅利用硬體來執行系統記憶體13與SD記憶卡15間之資料傳輸。因此,與介隔主機驅動器21之情形相比,可顯著高速化。
進而,為於資料傳輸中使主機驅動器動作,通常藉由中斷來啟動。因此,當無法忽略中斷響應時間時,會引起資料傳輸性能之下降。然而,藉由使用本方式,可避免如此之性能下降。
雖然已描述某些具體實施例,然此些具體實施例僅係作為實例而非用以限定本發明。事實上,本文中所描述的此些新穎的具體實施例可以不同方式呈現;另外,本文中所描述的具體實施例會有各種的省略、取代及改變然無背離本發明之精神。所附之申請專利範圍及其相同物意欲涵蓋此種類型或修飾,其將包含於本發明範圍及精神內。
11...系統控制器
12...CPU
13...系統記憶體
14...SD主機控制器
15...SD記憶卡
16...SDIO卡
21...主機驅動器
22...描述符表
23...資料
31...系統匯流排介面電路
32...記憶卡I/F電路
33...暫存器組
34...ADMA
34a...系統位址控制部
34a_1~34a_4...暫存器
34a_5...多工器
34b...資料緩衝器
34c...SD指令控制部
34d...緩衝記憶體
35...計時器
圖1係概略表示實施形態之記憶體系統之構成圖;
圖2係概略表示系統記憶體與記憶卡之記憶體映射之圖;
圖3係表示實施形態之描述符之構造之圖;
圖4係概略表示圖1所示之ADMA之構成圖;及
圖5係表示ADMA之動作之流程圖。
11...系統控制器
12...CPU
13...系統記憶體
14...SD主機控制器
15...SD記憶卡
16...SDIO卡
21...主機驅動器
22...描述符表
23...資料
31...系統匯流排介面電路
32...記憶卡I/F電路
33...暫存器組
34...ADMA
35...計時器
Claims (14)
- 一種記憶體系統,其包括:主機控制器,其包含對元件控制指令發佈之暫存器組、及存取系統記憶體之直接記憶體存取(DMA)電路,且控制系統記憶體及記憶體元件間之傳輸;第1描述符,其記憶於上述系統記憶體上,且由表示複數個第2描述符之複數個指標之集合而構成;第3描述符,其構成上述複數個第2描述符之各個,且包含作為經由上述主機控制器之上述暫存器組而進行上述記憶體元件之指令發佈所需的資訊之指令編號、指令動作模式、引數,以及作為資料傳輸所需的資訊之區塊長度、區塊數之資訊;以及第4描述符,其構成上述複數個第2描述符之各個,且包含配置於上述系統記憶體上之複數個資料之位址及大小之資訊;且上述直接記憶體存取電路以上述第1描述符之開頭為起點,將構成上述第2描述符之上述第3描述符之內容設定於上述暫存器組,並依照上述第4描述符之內容而傳輸上述系統記憶體與上述主機控制器間之資料。
- 如請求項1之記憶體系統,其中上述系統記憶體係保持主機驅動器,該主機驅動器係具有建立包含傳輸資訊之描述符而僅指示上述直接記憶體存取電路之啟動的功能,且上述主機驅動器係藉由中斷而再次啟動,並進行下一次之資料傳輸之啟動或錯誤 處理。
- 如請求項2之記憶體系統,其中上述直接記憶體存取電路包含:系統位址控制部,其控制上述系統記憶體之位址,並讀出上述各描述符;SD指令控制部,其對上述主機控制器之上述暫存器組設定自上述系統記憶體讀出之上述第3描述符之內容;以及資料緩衝器,其保持自上述系統記憶體或記憶體元件讀出之資料。
- 如請求項3之記憶體系統,其中上述主機控制器在已全部存取上述第1描述符內之複數個指標之情形時,產生表示資料傳輸結束之中斷信號。
- 如請求項4之記憶體系統,其中上述第1至第4描述符各自具有屬性資訊,該屬性資訊包含用於識別描述符之種類的資訊、及表示描述符之結束位置的資訊。
- 一種主機控制器,其包括:暫存器組,其對元件控制指令發佈;以及直接記憶體存取(DMA)電路,其對系統記憶體進行存取;且上述主機控制器控制系統記憶體及記憶體元件間之傳輸,上述主機控制器讀取第1描述符、第3描述符及第4描述符;上述第1描述符記憶於上述系統記憶體上,且由表示 複數個第2描述符之複數個指標之集合而構成;上述第3描述符構成上述複數個第2描述符之各個,且包含作為經由上述主機控制器之上述暫存器組而進行上述記憶體元件之指令發佈所需的資訊之指令編號、指令動作模式、引數,以及作為資料傳輸所需的資訊之區塊長度、區塊數之資訊;上述第4描述符構成上述複數個第2描述符之各個,且包含配置於上述系統記憶體上之複數個資料之位址及大小之資訊,上述直接記憶體存取電路以上述第1描述符之開頭為起點,將構成上述第2描述符之上述第3描述符之內容設定於上述暫存器組,並依照上述第4描述符之內容而自上述系統記憶體讀取資料且進行傳輸。
- 如請求項6之主機控制器,其中上述系統記憶體係保持主機驅動器,該主機驅動器係具有建立包含傳輸資訊之描述符而僅指示上述直接記憶體存取電路之啟動的功能,且上述主機驅動器係藉由中斷而再次啟動,並進行下一次之資料傳輸之啟動或錯誤處理。
- 如請求項7之主機控制器,其中上述直接記憶體存取電路包含:系統位址控制部,其控制上述系統記憶體之位址,並讀出上述各描述符;SD指令控制部,其對上述主機控制器之上述暫存器組設定自上述系統記憶體讀出之上述第3描述符之內容;以及 資料緩衝器,其保持自上述系統記憶體讀出之資料。
- 如請求項8之主機控制器,其中上述主機控制器在已全部存取上述第1描述符內之複數個指標之情形時,產生表示資料傳輸結束之中斷信號。
- 如請求項9之主機控制器,其中上述第1至第4描述符各自具有屬性資訊,該屬性資訊包含用於識別描述符之種類之資訊、及表示描述符之結束位置之資訊。
- 一種直接記憶體存取之控制方法,其包括:自記憶體中讀取第1描述符中記述之複數個第2描述符指標中記載於開頭之第2描述符指標;自上述記憶體中讀取由上述經讀取之第2描述符指標所示之第2描述符;自上述記憶體中讀取上述第2描述符之開頭記述之第3描述符,並將第3描述符之內容寫入暫存器且發佈指令;自上述記憶體中讀取第4描述符,並在系統記憶體與緩衝器間傳輸由上述第4描述符中記述之位址所示之資料;以及反覆進行上述動作,當全部資料傳輸完成之情形時發生中斷。
- 如請求項11之直接記憶體存取之控制方法,其中上述直接記憶體存取係藉由具有建立包含資料傳輸之描述符而僅指示上述直接記憶體存取電路之啟動的功能之主機驅動器而啟動。
- 如請求項11之直接記憶體存取之控制方法,其中上述中斷係藉由包含上述直接記憶體存取之控制器而發生。
- 如請求項13之直接記憶體存取之控制方法,其中上述第1至第4描述符各自具有屬性資訊,該屬性資訊包含用於識別描述符之種類之資訊、及表示描述符之結束位置之資訊。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010212721 | 2010-09-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201214118A TW201214118A (en) | 2012-04-01 |
TWI465905B true TWI465905B (zh) | 2014-12-21 |
Family
ID=45818746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100108381A TWI465905B (zh) | 2010-09-22 | 2011-03-11 | 記憶體系統、主機控制器、及直接記憶體存取之控制方法 |
Country Status (4)
Country | Link |
---|---|
US (9) | US8195845B2 (zh) |
JP (2) | JP2012089105A (zh) |
CN (2) | CN104360967B (zh) |
TW (1) | TWI465905B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI465905B (zh) | 2010-09-22 | 2014-12-21 | Toshiba Kk | 記憶體系統、主機控制器、及直接記憶體存取之控制方法 |
US9026568B2 (en) | 2012-03-30 | 2015-05-05 | Altera Corporation | Data compression for direct memory access transfers |
JP2014010759A (ja) * | 2012-07-02 | 2014-01-20 | Toshiba Corp | ブリッジ装置およびその方法、ストレージ装置、ならびにプログラム |
US9558129B2 (en) * | 2014-06-10 | 2017-01-31 | Xilinx, Inc. | Circuits for and methods of enabling the access to data |
TWI553476B (zh) * | 2015-03-05 | 2016-10-11 | 光寶電子(廣州)有限公司 | 區域描述元管理方法及其電子裝置 |
CN105988954B (zh) * | 2015-03-05 | 2018-09-11 | 光宝科技股份有限公司 | 区域描述元管理方法及其电子装置 |
CN104850517B (zh) * | 2015-05-20 | 2018-01-12 | 新华三技术有限公司 | 一种dma传输报文数据的方法及装置 |
US20170147517A1 (en) * | 2015-11-23 | 2017-05-25 | Mediatek Inc. | Direct memory access system using available descriptor mechanism and/or pre-fetch mechanism and associated direct memory access method |
EP3173935B1 (en) * | 2015-11-24 | 2018-06-06 | Stichting IMEC Nederland | Memory access unit |
CN106547709B (zh) * | 2016-11-24 | 2019-05-21 | 盛科网络(苏州)有限公司 | 灵活配置多通道dma控制器的方法及装置 |
JP6882080B2 (ja) * | 2017-05-31 | 2021-06-02 | キヤノン株式会社 | 画像処理装置、方法、プログラム及びシステム |
CN108388529B (zh) * | 2018-01-26 | 2021-03-09 | 武汉中元华电电力设备有限公司 | 一种外设主动实现与cpu间数据交换的方法 |
US10657087B2 (en) * | 2018-05-31 | 2020-05-19 | Toshiba Memory Corporation | Method of out of order processing of scatter gather lists |
CN113805813A (zh) * | 2018-11-30 | 2021-12-17 | 北京忆芯科技有限公司 | 降低读命令处理延迟的方法与装置 |
CN109558344B (zh) * | 2018-12-03 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种适用于网络传输的dma传输方法及dma控制器 |
US10664282B1 (en) * | 2019-02-04 | 2020-05-26 | Amazon Technologies, Inc. | Runtime augmentation of engine instructions |
JP2020154493A (ja) * | 2019-03-19 | 2020-09-24 | キオクシア株式会社 | メモリシステム |
KR20210053384A (ko) | 2019-11-01 | 2021-05-12 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
TWI771852B (zh) * | 2020-12-29 | 2022-07-21 | 新唐科技股份有限公司 | 直接記憶體存取裝置、資料傳輸方法與電子設備 |
US11941131B1 (en) * | 2020-12-31 | 2024-03-26 | Meta Platforms Technologies, Llc | Isolation of secrets from an operating system |
US11940935B2 (en) * | 2021-04-19 | 2024-03-26 | Mellanox Technologies, Ltd. | Apparatus, method and computer program product for efficient software-defined network accelerated processing using storage devices which are local relative to a host |
CN114443529B (zh) * | 2022-04-02 | 2022-07-05 | 苏州浪潮智能科技有限公司 | 内存直接访问架构、系统、方法、电子设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090216937A1 (en) * | 2008-02-27 | 2009-08-27 | Kabushiki Kaisha Toshiba | Memory controller, memory system, and access control method of flash memory |
US20100017650A1 (en) * | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
TWI326824B (en) * | 2005-02-12 | 2010-07-01 | Broadcom Corp | Memory management for a mobile multimedia processor |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4449182A (en) * | 1981-10-05 | 1984-05-15 | Digital Equipment Corporation | Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems |
JP3448689B2 (ja) * | 1993-02-22 | 2003-09-22 | 株式会社日立製作所 | Io制御方法および情報処理装置 |
US5598568A (en) * | 1993-05-06 | 1997-01-28 | Mercury Computer Systems, Inc. | Multicomputer memory access architecture |
US5933654A (en) * | 1996-09-24 | 1999-08-03 | Allen-Bradley Company, Llc | Dynamic buffer fracturing by a DMA controller |
US6202107B1 (en) * | 1998-11-19 | 2001-03-13 | Sun Microsystems, Inc. | Host controller interface descriptor fetching unit |
US6697885B1 (en) * | 1999-05-22 | 2004-02-24 | Anthony E. B. Goodfellow | Automated DMA engine for ATA control |
US6782465B1 (en) * | 1999-10-20 | 2004-08-24 | Infineon Technologies North America Corporation | Linked list DMA descriptor architecture |
US7120708B2 (en) * | 2003-06-30 | 2006-10-10 | Intel Corporation | Readdressable virtual DMA control and status registers |
US7287101B2 (en) * | 2003-08-05 | 2007-10-23 | Intel Corporation | Direct memory access using memory descriptor list |
JP2005092742A (ja) * | 2003-09-19 | 2005-04-07 | Toshiba Corp | ビデオ出力コントローラ及びビデオカード |
US20050114561A1 (en) * | 2003-11-24 | 2005-05-26 | Ho-Keng Lu | Method for performing DMA transfers with dynamic descriptor structure |
JP2005157717A (ja) * | 2003-11-26 | 2005-06-16 | Nec Micro Systems Ltd | データ転送方法及びその装置 |
JP2005258783A (ja) * | 2004-03-11 | 2005-09-22 | Ricoh Co Ltd | データ転送装置、データ転送方法、画像形成装置及びオプションボード |
US20050289253A1 (en) * | 2004-06-24 | 2005-12-29 | Edirisooriya Samantha J | Apparatus and method for a multi-function direct memory access core |
CN100432968C (zh) * | 2004-07-09 | 2008-11-12 | 上海奇码数字信息有限公司 | 存储器直接存取装置及其数据传输方法 |
US7493427B2 (en) * | 2004-07-14 | 2009-02-17 | International Business Machines Corporation | Apparatus and method for supporting received data processing in an offload of network protocol processing |
EP1647894A3 (en) * | 2004-10-12 | 2007-11-21 | NEC Electronics Corporation | Information processing apparatus with parallel DMA processes |
JP4390694B2 (ja) * | 2004-12-24 | 2009-12-24 | 富士通株式会社 | Dma回路及びこれを用いたディスクアレイ装置 |
JP4563829B2 (ja) * | 2005-01-27 | 2010-10-13 | 富士通株式会社 | ダイレクトメモリアクセス制御方法、ダイレクトメモリアクセス制御装置、情報処理システム、プログラム |
US7496699B2 (en) * | 2005-06-17 | 2009-02-24 | Level 5 Networks, Inc. | DMA descriptor queue read and cache write pointer arrangement |
CN1713164A (zh) * | 2005-07-21 | 2005-12-28 | 复旦大学 | 可自主处理多事务传输要求的dma控制器及数据传输方法 |
US7496695B2 (en) * | 2005-09-29 | 2009-02-24 | P.A. Semi, Inc. | Unified DMA |
CN101136000B (zh) * | 2006-09-01 | 2011-01-05 | 飞思卡尔半导体公司 | 实现sd主机/从属设备的应用处理器电路和电子设备 |
US7827331B2 (en) * | 2006-12-06 | 2010-11-02 | Hitachi, Ltd. | IO adapter and data transferring method using the same |
US7912997B1 (en) * | 2008-03-27 | 2011-03-22 | Xilinx, Inc. | Direct memory access engine |
CN101303677B (zh) * | 2008-05-04 | 2010-06-02 | 华为技术有限公司 | 一种直接存储器访问控制方法、系统及控制器 |
TW201005537A (en) * | 2008-07-29 | 2010-02-01 | Ralink Technology Corp | Controller, method, system and program for direct memory access |
US8073990B1 (en) * | 2008-09-23 | 2011-12-06 | Teradici Corporation | System and method for transferring updates from virtual frame buffers |
JP5193822B2 (ja) | 2008-11-19 | 2013-05-08 | 株式会社東芝 | 追記型メモリデバイス |
US9128699B2 (en) * | 2008-12-22 | 2015-09-08 | Intel Corporation | Method and system for queuing transfers of multiple non-contiguous address ranges with a single command |
JP2010211322A (ja) * | 2009-03-06 | 2010-09-24 | Renesas Electronics Corp | ネットワークプロセッサ、受信コントローラ、及びデータ受信処理方法 |
US8626963B2 (en) * | 2010-05-04 | 2014-01-07 | Mediatek Inc. | Packet based data transfer system and method for host-slave interface |
TWI465905B (zh) * | 2010-09-22 | 2014-12-21 | Toshiba Kk | 記憶體系統、主機控制器、及直接記憶體存取之控制方法 |
-
2011
- 2011-03-11 TW TW100108381A patent/TWI465905B/zh active
- 2011-03-18 CN CN201410557798.XA patent/CN104360967B/zh active Active
- 2011-03-18 CN CN201110066313.3A patent/CN102411549B/zh active Active
- 2011-03-21 US US13/052,147 patent/US8195845B2/en active Active
- 2011-04-08 JP JP2011086523A patent/JP2012089105A/ja active Pending
-
2012
- 2012-05-16 US US13/473,212 patent/US8447896B2/en active Active
-
2013
- 2013-04-18 US US13/865,754 patent/US8683093B2/en active Active
-
2014
- 2014-02-05 US US14/172,995 patent/US8825923B2/en active Active
- 2014-07-22 US US14/338,038 patent/US8959260B2/en active Active
-
2015
- 2015-01-02 US US14/588,718 patent/US9122630B2/en not_active Ceased
- 2015-07-07 JP JP2015135991A patent/JP6046216B2/ja active Active
-
2017
- 2017-03-17 US US15/462,431 patent/USRE47659E1/en active Active
-
2019
- 2019-09-03 US US16/559,092 patent/USRE48736E1/en active Active
-
2021
- 2021-08-06 US US17/396,421 patent/USRE49875E1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI326824B (en) * | 2005-02-12 | 2010-07-01 | Broadcom Corp | Memory management for a mobile multimedia processor |
US20090216937A1 (en) * | 2008-02-27 | 2009-08-27 | Kabushiki Kaisha Toshiba | Memory controller, memory system, and access control method of flash memory |
US20100017650A1 (en) * | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
Also Published As
Publication number | Publication date |
---|---|
CN102411549B (zh) | 2014-11-12 |
US20150120984A1 (en) | 2015-04-30 |
CN102411549A (zh) | 2012-04-11 |
JP2015201234A (ja) | 2015-11-12 |
CN104360967A (zh) | 2015-02-18 |
CN104360967B (zh) | 2017-08-04 |
US20130232283A1 (en) | 2013-09-05 |
JP6046216B2 (ja) | 2016-12-14 |
US8959260B2 (en) | 2015-02-17 |
US8447896B2 (en) | 2013-05-21 |
US8825923B2 (en) | 2014-09-02 |
JP2012089105A (ja) | 2012-05-10 |
US20140156881A1 (en) | 2014-06-05 |
US20140337542A1 (en) | 2014-11-13 |
TW201214118A (en) | 2012-04-01 |
USRE48736E1 (en) | 2021-09-14 |
US8683093B2 (en) | 2014-03-25 |
US20120226830A1 (en) | 2012-09-06 |
US20120072618A1 (en) | 2012-03-22 |
US9122630B2 (en) | 2015-09-01 |
USRE49875E1 (en) | 2024-03-19 |
US8195845B2 (en) | 2012-06-05 |
USRE47659E1 (en) | 2019-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI465905B (zh) | 記憶體系統、主機控制器、及直接記憶體存取之控制方法 | |
US8352689B2 (en) | Command tag checking in a multi-initiator media controller architecture | |
JP5185289B2 (ja) | 内容終了型dma | |
JP4936088B2 (ja) | ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法 | |
US9110856B2 (en) | Interface control apparatus, data storage apparatus and method for interface control | |
JPH0628261A (ja) | データ転送方法及び装置 | |
JP2009093225A (ja) | ストレージ制御装置、方法及びプログラム並びにストレージ装置 | |
TWI823680B (zh) | 資料傳輸裝置和方法 | |
JP3940701B2 (ja) | ディスクアレイ装置及び同装置に適用されるキャッシュ一致化制御方法 | |
US11669268B2 (en) | Information processing apparatus and control method therefor | |
JP2006004340A (ja) | Dma転送制御装置 | |
JPH09288639A (ja) | 情報処理装置 | |
JPH0561803A (ja) | 情報処理装置 | |
JPH1153291A (ja) | 高速データ転送システム | |
JPS61285566A (ja) | 入出力制御装置 | |
JP2006244398A (ja) | ダイレクトメモリアクセス制御装置及び方法 | |
JP2004030602A (ja) | データ処理装置 | |
JPH0566894A (ja) | 磁気テープ制御装置 | |
JPH0378818A (ja) | データ処理装置 |