欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)存取方法

文檔序號:6563639閱讀:260來源:國知局
專利名稱:數(shù)據(jù)存取方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)存取技術(shù),更具體而言,涉及一種應(yīng)用于電 腦系統(tǒng)的系統(tǒng)驅(qū)動程序的數(shù)據(jù)存取方法。
背景技術(shù)
如何在個人電腦、筆記型電腦或伺服器等電腦系統(tǒng)中,提供有效 利用該電腦系統(tǒng)中的資源存取數(shù)據(jù)的技術(shù),對于該電腦系統(tǒng)的設(shè)計者 及制造商而言是一項相當重要的考慮。
在許多電腦系統(tǒng)中,例如硬碟或光碟機的數(shù)據(jù)儲存裝置因其儲存 有電腦系統(tǒng)運作所必須的程序或數(shù)據(jù)而成為一個重要的硬件裝置。目 前,數(shù)據(jù)于電腦系統(tǒng)驅(qū)動程序與儲存裝置之間執(zhí)行存取動作的方式一
般有程序化輸入輸出(Program Input/Output, PIO)機制與直接存儲器存 取(Direct Memory Access, DMA)機制。在PIO機制中,數(shù)據(jù)存取是在中 央處理單元(CPU)的控制下進行,其通過該中央處理單元上執(zhí)行的系統(tǒng) 驅(qū)動程序負責存取數(shù)據(jù),因此相當耗費中央處理單元的資源,增加電 腦系統(tǒng)的負擔。而在DMA機制中,整個數(shù)據(jù)存取作業(yè)則是由DMA控 制器的控制下進行,且于數(shù)據(jù)存取過程中并不需要中央處理單元的介 入,可以減輕中央處理單元的處理負擔,大幅提升整個電腦系統(tǒng)的的 工作效率。基于上述的技術(shù)優(yōu)點,該DMA機制己得到愈來愈廣泛的應(yīng) 用。
然而, 一般在DMA機制中,若系統(tǒng)驅(qū)動程序要與例如為硬盤等的 數(shù)據(jù)儲存裝置進行數(shù)據(jù)傳送時,系統(tǒng)驅(qū)動程序必須預(yù)先向電腦系統(tǒng)要 求一或多個用以存放所需讀取或?qū)懭氲臄?shù)據(jù)的邏輯存儲器區(qū)塊,并于 后續(xù)進行所述數(shù)據(jù)存取時,進一步向電腦系統(tǒng)要求與各該邏輯存儲器 區(qū)塊對應(yīng)的一個或多個DMA存儲器區(qū)塊,方可通過前述的DMA機制
直接存取所需的數(shù)據(jù)。
上述DMA數(shù)據(jù)存取方式存在有一定缺失,首先,當在執(zhí)行數(shù)據(jù)存
取前,系統(tǒng)驅(qū)動程序須花費一定的等待時間以供向電腦系統(tǒng)要求一定
容量的邏輯存儲器區(qū)塊及其對應(yīng)的DMA存儲器區(qū)塊,如此會使該部分 數(shù)據(jù)存取所耗費的時間過長,影響數(shù)據(jù)存取的效率,且該所需存取的 數(shù)據(jù)容量越大,其所需的等待時間愈長,數(shù)據(jù)存取的效率愈低。其次, 當電腦系統(tǒng)因同一時間內(nèi)回應(yīng)多個數(shù)據(jù)存取請求或處理其他多個作業(yè) 而導(dǎo)致其當前可供利用的存儲器資源不足時,系統(tǒng)驅(qū)動程序常會因一 時無法獲取所需容量的存儲器區(qū)塊,而導(dǎo)致必須放棄此次使用電腦系 統(tǒng)資源運作的機會,并在以后向電腦系統(tǒng)重新提出資源請求,如此不 僅使該次數(shù)據(jù)存取作業(yè)有失敗的虞,且還需耗費一定的等待時間,以 于后續(xù)重新向系統(tǒng)提出執(zhí)行請求,同樣影響數(shù)據(jù)存取的效率。再者, 因同一時間存在多個作業(yè)執(zhí)行請求,易造成各請求相互間沖突及擁塞, 相應(yīng)加重電腦系統(tǒng)的處理負擔。
因此,如何克服上述現(xiàn)有技術(shù)的缺失,進而提供一種數(shù)據(jù)存取的 方法,從而實現(xiàn)數(shù)據(jù)于系統(tǒng)驅(qū)動程序與數(shù)據(jù)儲存裝置之間能快速進行 存取動作,避免如現(xiàn)有技術(shù)需耗費一定的時間以等待系統(tǒng)分配存儲器 資源導(dǎo)致數(shù)據(jù)存取效率低下的問題,實為目前亟待解決的課題。

發(fā)明內(nèi)容
為解決前述現(xiàn)有技術(shù)的種種缺失,本發(fā)明提供一種數(shù)據(jù)存取系統(tǒng) 以及方法,除能解決系統(tǒng)驅(qū)動程序等待電腦系統(tǒng)回應(yīng)儲存單元的數(shù)據(jù) 結(jié)構(gòu)要求的時間外,還能解決系統(tǒng)驅(qū)動程序因未獲得回應(yīng)而須重新等 待要求進而使得數(shù)據(jù)存取速度降低的問題。
本發(fā)明提供一種數(shù)據(jù)存取方法,其應(yīng)用于電腦系統(tǒng)的系統(tǒng)驅(qū)動程 序中,該電腦系統(tǒng)具有用以提供該系統(tǒng)驅(qū)動程序與該電腦系統(tǒng)中的裝 置與隨機存取存儲器進行數(shù)據(jù)傳輸?shù)腄MA機制,該數(shù)據(jù)存取方法包括 以下步驟(1)令該系統(tǒng)驅(qū)動程序初始化時,向該電腦系統(tǒng)要求預(yù)定 數(shù)量的邏輯存儲器區(qū)塊與相對應(yīng)的DMA存儲器區(qū)塊,該預(yù)定數(shù)量的邏 輯存儲器區(qū)塊與相對應(yīng)的DMA存儲器區(qū)塊組成該預(yù)定數(shù)量的儲存單 元;(2)將該邏輯存儲器區(qū)塊與相對應(yīng)的DMA存儲器區(qū)塊所分別具有 的指標掛載于相對應(yīng)的DMA存儲器區(qū)塊的儲存單元的數(shù)據(jù)結(jié)構(gòu)中;以 及(3)建立一全域指標,該全域指標指向一數(shù)據(jù)表,該數(shù)據(jù)表用以儲
存所有該儲存單元的使用狀態(tài)。
在本發(fā)明的一實施例中,前述本發(fā)明的數(shù)據(jù)存取方法還包括以下 步驟(4)于該系統(tǒng)驅(qū)動程序與該電腦系統(tǒng)中的裝置進行數(shù)據(jù)傳輸前, 判斷該數(shù)據(jù)表中未使用的儲存單元是否有足夠執(zhí)行本次數(shù)據(jù)傳輸,若 是,則執(zhí)行步驟(5);若否,則反復(fù)執(zhí)行步驟(4)以等待足夠的儲存 單元;以及(5)擷取該足夠本次數(shù)據(jù)傳輸數(shù)量的儲存單元予以使用, 并將該儲存單元的使用狀態(tài)設(shè)定為使用中,且當數(shù)據(jù)傳輸完成后將該 儲存單元釋出并將該儲存單元的使用狀態(tài)設(shè)定為未使用。
在本發(fā)明的一實施例中,前述本發(fā)明的數(shù)據(jù)存取方法還包括以下 步驟于該步驟(1)前,還包括令該驅(qū)動程序預(yù)先建立用以記錄儲存 單元數(shù)量的全域變數(shù)空間的步驟。
相比于現(xiàn)有技術(shù),本發(fā)明的數(shù)據(jù)存取方法,通過前述的流程步驟, 能提供該系統(tǒng)驅(qū)動程序直接利用該儲存單元傳輸數(shù)據(jù),而無須耗費等 待電腦系統(tǒng)回應(yīng)的時間外,故能解決系統(tǒng)驅(qū)動程序數(shù)據(jù)存取速度降低 的問題。


圖l是本發(fā)明的數(shù)據(jù)存取方法執(zhí)行時的流程圖;以及
圖2是系統(tǒng)驅(qū)動程序通過本發(fā)明的數(shù)據(jù)存取方法執(zhí)行數(shù)據(jù)存取時
的流程圖。
主要元件符號說明
S10 S13 步驟 S20 S22 步驟
具體實施例方式
以下通過特定的具體實施例說明本發(fā)明的實施方式,本領(lǐng)域技術(shù) 人員可由本說明書所揭示的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功 效。本發(fā)明亦可通過其他不同的具體實施例加以施行或應(yīng)用,本說明 書中的各項細節(jié)亦可基于不同觀點與應(yīng)用,在不背離本發(fā)明的精神下 進行各種修飾與變更。
請參閱圖1,其系本發(fā)明的數(shù)據(jù)存取方法執(zhí)行時的流程圖。在本實
施例中,本發(fā)明的數(shù)據(jù)存取方法應(yīng)用于電腦系統(tǒng)的系統(tǒng)驅(qū)動程序中, 該電腦系統(tǒng)具有用以提供該系統(tǒng)驅(qū)動程序與該電腦系統(tǒng)中的裝置與隨
機存取存儲器進行數(shù)據(jù)傳輸?shù)腄MA機制。在本實施例中,該電腦系統(tǒng) 可例如為掌上型電腦、手持式電腦、筆記型電腦、個人電腦、伺服器、 工作站等具有數(shù)據(jù)處理功能的裝置。該裝置則可例如為硬式磁碟等數(shù) 據(jù)儲存裝置。該系統(tǒng)驅(qū)動程序則為該裝置的驅(qū)動程序。
如圖l所示,在步驟S10中,令該驅(qū)動程序預(yù)先建立用以記錄儲 存單元數(shù)量的全域變數(shù)空間。該全域變數(shù)空間設(shè)置于該隨機存取存儲 器中,該全域變數(shù)空間于該系統(tǒng)驅(qū)動程序結(jié)束后自該隨機存取存儲器 中刪除。該儲存單元是由該邏輯存儲器區(qū)塊與相對應(yīng)的DMA存儲器區(qū) 塊所組成者,且該儲存單元的數(shù)量相應(yīng)于該邏輯存儲器區(qū)塊與相對應(yīng) 的DMA存儲器區(qū)塊的數(shù)量。接著進至步驟Sll。
在步驟S11中,令該系統(tǒng)驅(qū)動程序初始化時,向該電腦系統(tǒng)要求 預(yù)定數(shù)量的邏輯存儲器區(qū)塊與相對應(yīng)的DMA存儲器區(qū)塊。具體而言, 當該電腦系統(tǒng)執(zhí)行開機自我測試并載入作業(yè)系統(tǒng)后,該作業(yè)系統(tǒng)會針 對該電腦系統(tǒng)進行內(nèi)建或外接裝置的偵測,并自該電腦系統(tǒng)的儲存裝 置中檢索出對應(yīng)該裝置的系統(tǒng)驅(qū)動程序并載入至該作業(yè)系統(tǒng),以令該 裝置接受該系統(tǒng)驅(qū)動程序的驅(qū)動。在本實施例中,當該系統(tǒng)驅(qū)動程序 載入時,必須先經(jīng)過初始化的程序,本步驟于該系統(tǒng)驅(qū)動程序初始化 時,向該電腦系統(tǒng)要求預(yù)定數(shù)量的邏輯存儲器區(qū)塊與相對應(yīng)的DMA存 儲器區(qū)塊。該邏輯存儲器區(qū)塊是指該隨機存取存儲器中特定的數(shù)據(jù)儲 存位置,該DMA存儲器區(qū)塊則系該DMA機制中對應(yīng)該隨機存取存儲 器中特定的數(shù)據(jù)儲存位置的位置。
需補充說明的是,在本實施例中,該系統(tǒng)驅(qū)動程序所要求的邏輯 存儲器區(qū)塊與相對應(yīng)的DMA存儲器區(qū)塊的數(shù)量,是以該對應(yīng)該裝置的 系統(tǒng)驅(qū)動程序于執(zhí)行時所可能要求的最大邏輯存儲器區(qū)塊與相對應(yīng)的 DMA存儲器區(qū)塊的數(shù)量為依據(jù),如此的數(shù)量設(shè)定可確保該系統(tǒng)驅(qū)動程 序在數(shù)據(jù)傳輸?shù)倪^程中,不須向該電腦系統(tǒng)要求額外的存儲器資源。 在本發(fā)明的其它實施例中,其數(shù)量可依據(jù)實際需求而定。接著進至步 驟S12。
在步驟S12中,將該邏輯存儲器區(qū)塊與相對應(yīng)的DMA存儲器區(qū)
塊所分別具有的指標,掛載于相對應(yīng)的儲存單元的數(shù)據(jù)結(jié)構(gòu)中。如前
所述,不同的該邏輯存儲器區(qū)塊與相對應(yīng)的DMA存儲器區(qū)塊均具有指 向其本身的指標,故在本步驟中,是將該邏輯存儲器區(qū)塊與相對應(yīng)的 DMA存儲器區(qū)塊所分別具有的指標掛載相對應(yīng)的儲存單元的數(shù)據(jù)結(jié) 構(gòu)中。此外,在本實施例中,不同的儲存單元的數(shù)據(jù)結(jié)構(gòu)間通過雙向 鏈結(jié)結(jié)構(gòu)(Double Link List)相互鏈結(jié)。接著進至步驟S13。
在步驟S13中,建立一全域指標,該全域指標系指向一數(shù)據(jù)表, 該數(shù)據(jù)表用以儲存所有該儲存單元的使用狀態(tài)。在本實施例中,該全 域指標與該數(shù)據(jù)表儲存在該隨機存取存儲器中,而該使用狀態(tài)至少包 括未使用以及使用中二種。
請參閱圖2,其是系統(tǒng)驅(qū)動程序通過本發(fā)明的數(shù)據(jù)存取方法執(zhí)行數(shù) 據(jù)存取時的流程圖。如圖2所示,在步驟S20中,于該系統(tǒng)驅(qū)動程序 與該電腦系統(tǒng)中的裝置進行數(shù)據(jù)傳輸前,判斷該數(shù)據(jù)表中未使用的儲 存單元是否有足夠執(zhí)行本次數(shù)據(jù)傳輸,若是,則進至步驟S21;若否, 則反復(fù)執(zhí)行步驟S20以等待足夠的儲存單元。
在步驟S21中,擷取該足夠本次數(shù)據(jù)傳輸數(shù)量的儲存單元予以使 用,并將該儲存單元的使用狀態(tài)設(shè)定為使用中。當數(shù)據(jù)傳輸完成后, 進至步驟S22。
在步驟S22中,將該儲存單元釋出,并將該儲存單元的使用狀態(tài) 設(shè)定為未使用。
綜上所述,本發(fā)明的數(shù)據(jù)存取方法,通過前述的流程步驟,能提 供該系統(tǒng)驅(qū)動程序直接利用該儲存單元傳輸數(shù)據(jù),而無須耗費等待電 腦系統(tǒng)回應(yīng)的時間外,故能解決系統(tǒng)驅(qū)動程序數(shù)據(jù)存取速度降低的問 題。
上述實施例僅為例示性說明本發(fā)明的原理及其功效,而非用于限 制本發(fā)明。任何本領(lǐng)域技術(shù)人員均可在不違背本發(fā)明的精神及范疇下, 對上述實施例進行修飾與變化。因此,本發(fā)明的權(quán)利保護范圍,應(yīng)如 后述的申請專利范圍所列。
權(quán)利要求
1.一種數(shù)據(jù)存取方法,其應(yīng)用于電腦系統(tǒng)的系統(tǒng)驅(qū)動程序中,該電腦系統(tǒng)具有用以提供該系統(tǒng)驅(qū)動程序與該電腦系統(tǒng)中的裝置與隨機存取存儲器進行數(shù)據(jù)傳輸?shù)闹苯哟鎯ζ鞔嫒C制,該數(shù)據(jù)存取方法包括以下步驟(1)令該系統(tǒng)驅(qū)動程序初始化時,向該電腦系統(tǒng)要求預(yù)定數(shù)量的多個邏輯存儲器區(qū)塊與相對應(yīng)的多個DMA存儲器區(qū)塊,以由每一該邏輯存儲器區(qū)塊與相對應(yīng)的一個該DMA存儲器區(qū)塊組成一儲存單元;(2)將每一該邏輯存儲器區(qū)塊與相對應(yīng)的每一該DMA存儲器區(qū)塊所分別具有的指標掛載于相對應(yīng)的該儲存單元的數(shù)據(jù)結(jié)構(gòu)中;以及(3)建立一全域指標,令該全域指標指向一用以儲存所有該儲存單元的使用狀態(tài)的數(shù)據(jù)表。
2. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)存取方法,還包括以下步驟(4) 于該系統(tǒng)驅(qū)動程序與該電腦系統(tǒng)中的裝置進行數(shù)據(jù)傳輸 前,判斷該數(shù)據(jù)表中未使用的所述儲存單元是否有足夠執(zhí)行本次數(shù) 據(jù)傳輸,若是,則執(zhí)行步驟(5);若否,則反復(fù)執(zhí)行步驟(4)以 等待所述儲存單元達到足夠的數(shù)量;以及(5) 擷取足夠本次數(shù)據(jù)傳輸數(shù)量的所述儲存單元予以使用,并 將所述儲存單元的使用狀態(tài)設(shè)定為使用中,且當數(shù)據(jù)傳輸完成后將 所述儲存單元釋出并將所述儲存單元的使用狀態(tài)設(shè)定為未使用。
3. 根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)存取方法,于該步驟(1)前,還包 括以下步驟-令該驅(qū)動程序預(yù)先建立用以記錄所述儲存單元數(shù)量的全域變數(shù)空 間,該全域變數(shù)空間系設(shè)置于該隨機存取存儲器中,并于該系統(tǒng)驅(qū)動 程序結(jié)束后自該隨機存取存儲器中刪除。
4. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)存取方法,其中,所述邏輯存儲器區(qū)塊 與相對應(yīng)的所述DMA存儲器區(qū)塊的預(yù)定數(shù)量是該對應(yīng)該裝置的系統(tǒng) 驅(qū)動程序于執(zhí)行時所可能要求的最大邏輯存儲器區(qū)塊與相對應(yīng)的 DMA存儲器區(qū)塊的數(shù)量。
5. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)存取方法,其中,所述儲存單元的數(shù)據(jù) 結(jié)構(gòu)間是通過雙向鏈結(jié)結(jié)構(gòu)相互鏈結(jié)。
全文摘要
一種數(shù)據(jù)存取方法,其應(yīng)用于電腦系統(tǒng)的系統(tǒng)驅(qū)動程序中,該電腦系統(tǒng)具有用以提供該系統(tǒng)驅(qū)動程序與該電腦系統(tǒng)中的裝置與隨機存取存儲器進行數(shù)據(jù)傳輸?shù)闹苯哟鎯ζ鞔嫒C制(Direct Memory Access,DMA),該數(shù)據(jù)存取方法包括令該系統(tǒng)驅(qū)動程序初始化時,向該電腦系統(tǒng)要求預(yù)定數(shù)量的邏輯存儲器區(qū)塊與相對應(yīng)的DMA存儲器區(qū)塊,以組成預(yù)定數(shù)量的儲存單元,再將該邏輯存儲器區(qū)塊與相對應(yīng)的DMA存儲器區(qū)塊所分別具有的指標掛載于相對應(yīng)的儲存單元的數(shù)據(jù)結(jié)構(gòu)中,最后建立指向用以儲存所有該儲存單元的使用狀態(tài)的數(shù)據(jù)表的全域指標。據(jù)此,該系統(tǒng)驅(qū)動程序能直接利用該儲存單元傳輸數(shù)據(jù),而無須耗費等待電腦系統(tǒng)回應(yīng)的時間,故能解決系統(tǒng)驅(qū)動程序數(shù)據(jù)存取速度降低的問題。
文檔編號G06F13/10GK101192204SQ20061016053
公開日2008年6月4日 申請日期2006年11月28日 優(yōu)先權(quán)日2006年11月28日
發(fā)明者卓昆輝 申請人:英業(yè)達股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宜丰县| 泰州市| 司法| 临朐县| 佛山市| 陇南市| 博野县| 静宁县| 南皮县| 西乡县| 日喀则市| 彰武县| 大姚县| 临安市| 那曲县| 云梦县| 聂拉木县| 延吉市| 昌宁县| 金沙县| 江安县| 科技| 伊宁县| 盖州市| 温宿县| 新竹市| 密云县| 沾益县| 油尖旺区| 敖汉旗| 沙雅县| 汉沽区| 娄烦县| 商河县| 施秉县| 百色市| 普兰店市| 沧州市| 赤水市| 昌图县| 长兴县|