專利名稱:基于驅動控制層的軟硬件管理層高效并行操作的方法
技術領域:
本發(fā)明涉及一種在閃存控制器中軟件管理層和硬件管理層操作的方法,具體涉及 一種基于驅動控制層的軟硬件管理層高效并行操作的方法。
背景技術:
一般閃存控制器中驅動控制層只是簡單的傳遞參數(shù),因此軟件管理層和 硬件管理 層使用串行操作從而導致控制器數(shù)據(jù)處理效率低下。參見圖2,一般的驅動控制層只是負責把參數(shù)傳遞到硬件管理層,硬件管理層的執(zhí) 行是由軟件管理層觸發(fā)的,在硬件管理層操作執(zhí)行完畢以后驅動層再把操作狀態(tài)返回給軟 件管理層。在整個過程中,驅動層只是簡單的提供了一種方便操作數(shù)據(jù)結構的接口。硬件管 理層必須由軟件管理層觸發(fā),而軟件管理層發(fā)送觸發(fā)信號之前必須和驅動控制層交互,將 所有操作信息全部傳遞給驅動控制層,而此時硬件管理層將處于空閑等待狀態(tài);當硬件管 理層處于任務處理的忙狀態(tài)時,軟件管理層必須等待硬件管理層執(zhí)行完畢將操作結果返回 給驅動控制層并發(fā)送中斷返回信號才能繼續(xù)運行,即此時軟件管理層處于空閑等待狀態(tài)。 也就是說傳統(tǒng)結構中軟件管理層和硬件管理層是完全的串行操作,在大量數(shù)據(jù)處理時效率 非常低下。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供了一種基于驅動控制層的軟硬件管理層高效并行操作的 方法,通過改進閃存控制器中的驅動控制層,充分利用系統(tǒng)中模塊之間的并行性,提高軟硬 件管理層操作的整體效率。本發(fā)明的技術解決方案是一種基于驅動控制層的軟硬件管理層高效并行操作的方法,其特殊之處在于該方法中所述驅動控制層為軟件管理層提供了一種方便操作數(shù)據(jù)結構的接口 ;所 述驅動控制層又能和硬件管理層主動交互,實現(xiàn)參數(shù)傳遞、控制以及管理;所述軟件管理層 能直接和驅動控制層交互,所述驅動控制層能獨立與硬件管理層交互。上述驅動控制層與軟件管理層和硬件管理層之間的交互包括讀數(shù)據(jù)和寫數(shù)據(jù);所述讀數(shù)據(jù)和寫數(shù)據(jù)整體描述為1)軟件管理層發(fā)出指令調(diào)用驅動控制層,并在驅動控制層的控制下向FlashBram 寫入?yún)?shù);2)當該參數(shù)寫入驅動控制層并達到系統(tǒng)觸發(fā)的臨界條件則向硬件管理層發(fā)出觸 發(fā)信號;3)硬件管理層得到觸發(fā)信號后讀出FlashBram中已寫入的該參數(shù);4)同時軟件管理層發(fā)出新指令調(diào)用驅動控制層,在驅動控制層的控制下向 FlashBram寫入新參數(shù);5)待硬件管理層讀出FlashBram中已寫入的該參數(shù)的操作完成后FlashBram返回信息,給驅動控制層發(fā)出中斷讀取返回信息;6)驅動控制層再向硬件管理層發(fā)出新觸發(fā)信號,讀取新參數(shù);7)待FlashBram中寫滿參數(shù)時,驅動控制層向軟件管理層發(fā)送狀態(tài)已滿返回信 息,此時軟件層激活不需要操作接口 Bram的任務;與此同時硬件管理層也讀完FlashBram 中最后寫入的參數(shù),完成軟硬件管理層高效并行操作。上述讀數(shù)據(jù)包括1)軟件管理層先將讀操作的參數(shù)信息發(fā)送到驅動控制層;
2)驅動控制層再觸發(fā)硬件管理層,此時硬件管理層開始工作,處于忙狀態(tài);3)軟件管理層在等待讀出數(shù)據(jù)的同時激活后臺塊回收任務,進行虛擬塊回收;4)當硬件操作完成后,以中斷的方式通知驅動控制層,驅動控制層通過信號量通 知軟件管理層此時硬件管理層已經(jīng)空閑,可繼續(xù)下一步操作;上述寫數(shù)據(jù)包括1)當軟件管理層把操作信息放到FlashBram中時,驅動控制層立即回復軟件管理 層操作成功,而不需等待命令在硬件管理層的真實執(zhí)行結果;2)當驅動控制層接收的操作信息數(shù)達到系統(tǒng)中設置的觸發(fā)硬件管理層的臨界條 件,驅動控制層再向硬件管理層發(fā)出觸發(fā)信號;3)接著硬件管理層開始從FlashBram中提取操作信息,同時軟件管理層繼續(xù)往 FlashBram中填充操作信息,而與硬件管理層當前的忙閑狀態(tài)無關,4)如果FlashBram被填充滿了,則驅動控制層會通知軟件管理層緩沖區(qū)已滿,此 時軟件管理層激活不需要操作FlashBram的任務。上述在整個讀數(shù)據(jù)和寫數(shù)據(jù)的過程中,軟件管理層負責往接口 Bram中填充數(shù)據(jù), 同時硬件管理層負責從FlashBram中提取數(shù)據(jù),軟件管理層通過驅動控制層對FlashBram 的操作和硬件管理層的操作同時進行。上述在整個讀數(shù)據(jù)和寫數(shù)據(jù)的過程中,當硬件管理層操作返回的狀態(tài)表示沒有發(fā)生錯誤時,則驅動控制層內(nèi)部直接將其 處理;當硬件管理層操作返回的狀態(tài)表示有錯時,通知軟件管理層,再調(diào)用相應的錯誤 處理流程。上述系統(tǒng)中設置的觸發(fā)硬件管理層的臨界條件是驅動控制層接收的操作信息數(shù) 是每通道芯片數(shù)的2倍。上述不需要操作FlashBram的任務包括虛擬塊回收以及磨損調(diào)整。本發(fā)明的驅動控制層采用了一種靈活的主動交互方式,對于軟件管理層來說,本 發(fā)明的驅動控制層和傳統(tǒng)方式一樣提供一種方便操作數(shù)據(jù)結構的接口,但是對于硬件管理 層來說,它具有主動交互方式。因此這里的驅動控制層就不僅僅是參數(shù)傳遞的作用,它具有 控制和管理作用。軟件管理層可以直接和驅動控制層交互,驅動控制層可以獨立與硬件管 理層交互。所以當硬件管理層處于任務處理的忙狀態(tài)的時候軟件管理層可以繼續(xù)和驅動控 制層交互,于是軟件管理層和硬件管理層就可以做到并行處理,將很大程度上提高系統(tǒng)效 率。并且驅動控制層可以直接對操作結果進行處理,被正確執(zhí)行的操作則操作結果將不需 要返回給軟件管理層處理,因此簡化了軟件管理層的處理流程。
本發(fā)明的優(yōu)點在于充分發(fā)揮系統(tǒng)模塊的并行性,系統(tǒng)的整體處理效率更高;可 以明顯提高速度;簡化了系統(tǒng)處理流程。
圖1是本發(fā)明的結構框圖;圖2是傳統(tǒng)型的結構框圖;圖3本發(fā)明總流程圖;圖4讀操作和寫操作流程圖;其中a為寫操作流程圖,b為讀操作流程圖。
具體實施例方式參見圖1,一種基于驅動控制層的軟硬件管理層高效并行操作的方法,該方法中所 述驅動控制層為軟件管理層提供了一種方便操作數(shù)據(jù)結構的接口 ;所述驅動控制層又能和 硬件管理層主動交互,實現(xiàn)參數(shù)傳遞、控制以及管理;所述軟件管理層能直接和驅動控制層 交互,所述驅動控制層能獨立與硬件管理層交互。驅動控制層與軟件管理層和硬件管理層之間的交互包括讀數(shù)據(jù)和寫數(shù)據(jù);參見圖3,所述讀數(shù)據(jù)和寫數(shù)據(jù)整體描述為1)軟件管理層發(fā)出指令調(diào)用驅動控制層,并在驅動控制層的控制下向FlashBram 寫入?yún)?shù);2)當該參數(shù)寫入驅動控制層并達到系統(tǒng)觸發(fā)的臨界條件則向硬件管理層發(fā)出觸 發(fā)信號;3)硬件管理層得到觸發(fā)信號后讀出FlashBram中已寫入的該參數(shù);4)同時軟件管理層發(fā)出新指令調(diào)用驅動控制層,在驅動控制層的控制下向 FlashBram寫入新參數(shù);5)待硬件管理層讀出FlashBram中已寫入的該參數(shù)的操作完成后FlashBram返回 信息,給驅動控制層發(fā)出中斷讀取返回信息;6)驅動控制層再向硬件管理層發(fā)出新觸發(fā)信號,讀取新參數(shù);7)待FlashBram中寫滿參數(shù)時,驅動控制層向軟件管理層發(fā)送狀態(tài)已滿返回信 息,此時軟件層激活不需要操作接口 Bram的任務;與此同時硬件管理層也讀完FlashBram 中最后寫入的參數(shù),完成軟硬件管理層高效并行操作。參見圖4,讀數(shù)據(jù)包括1)軟件管理層先將讀操作的參數(shù)信息發(fā)送到驅動控制層;2)驅動控制層再觸發(fā)硬件管理層,此時硬件管理層開始工作,處于忙狀態(tài);3)軟件管理層在等待讀出數(shù)據(jù)的同時激活后臺塊回收任務,進行虛擬塊回收;此 時軟件管理層及硬件管理層都在工作,屬于并發(fā)執(zhí)行;4)當硬件操作完成后,以中斷的方式通知驅動控制層,驅動控制層通過信號量通 知軟件管理層此時硬件管理層已經(jīng)空閑,可繼續(xù)下一步操作;參見圖4,寫數(shù)據(jù)包括1)當軟件管理層把操作信息放到FlashBram中時,驅動控制層立即回復軟件管理層操作成功,而不需等待命令在硬件管理層的真實執(zhí)行結果;因此寫操作時,軟件管理層只 與驅動控制層交互;2)當驅動控制層接收的操作信息數(shù)達到系統(tǒng)中設置的觸發(fā)硬件管理層的臨界條 件,驅動控制層再向硬件管理層發(fā)出觸發(fā)信號;3)接著硬件管理層開始從FlashBram中提取操作信息,同時軟件管理層繼續(xù)往 FlashBram中填充操作信息,而與硬件管理層當前的忙閑狀態(tài)無關,4)如果FlashBram被填充滿了,則驅動控制層會通知軟件管理層緩沖區(qū)已滿,此 時軟件管理層激活不需要操作FlashBram的任務。在整個讀數(shù)據(jù)和寫數(shù)據(jù)的過程中,軟件管理層負責往接口 Bram中填充 數(shù)據(jù),同時 硬件管理層負責從FlashBram中提取數(shù)據(jù),軟件管理層通過驅動控制層對FlashBram的操 作和硬件管理層的操作同時進行。在整個讀數(shù)據(jù)和寫數(shù)據(jù)的過程中,當硬件管理層操作返回的狀態(tài)表示沒有發(fā)生錯誤時,則驅動控制層內(nèi)部直接將其 處理;當硬件管理層操作返回的狀態(tài)表示有錯時,通知軟件管理層,再調(diào)用相應的錯誤 處理流程。系統(tǒng)中設置的觸發(fā)硬件管理層的臨界條件是驅動控制層接收的操作信息數(shù)是每 通道芯片數(shù)的2倍。不需要操作FlashBram的任務包括虛擬塊回收以及磨損調(diào)整。本發(fā)明在不需要FlashBram寫滿的情況下,只要該參數(shù)寫入驅動控制層并達到 系統(tǒng)觸發(fā)的臨界條件則向硬件管理層發(fā)出觸發(fā)信號,硬件管理層得到觸發(fā)信號后讀出 FlashBram中已寫入的該參數(shù);與此同時軟件管理層發(fā)出新指令調(diào)用驅動控制層,在驅動 控制層的控制下向FlashBram寫入新參數(shù);待硬件管理層讀出FlashBram中已寫入的該參數(shù)的操作完成后向FlashBram返回 信息,給驅動控制層發(fā)出中斷讀取返回信息,驅動控制層再向硬件管理層發(fā)出新觸發(fā)信號, 讀取新參數(shù);待FlashBram中寫滿參數(shù)時驅動控制層向軟件管理層發(fā)送狀態(tài)已滿返回信息, 此時軟件層激活虛擬塊回收等不需要操作接口 Bram的任務;與此同時硬件管理層也讀完 FlashBram中最后寫入的參數(shù),完成軟硬件管理層高效并行操作。
權利要求
一種基于驅動控制層的軟硬件管理層高效并行操作的方法,其特征在于該方法中所述驅動控制層為軟件管理層提供了一種方便操作數(shù)據(jù)結構的接口;所述驅動控制層又能和硬件管理層主動交互,實現(xiàn)參數(shù)傳遞、控制以及管理;所述軟件管理層能直接和驅動控制層交互,所述驅動控制層能獨立與硬件管理層交互。
2.根據(jù)權利要求1所述基于驅動控制層的軟硬件管理層高效并行操作的方法,其特征 在于所述驅動控制層與軟件管理層和硬件管理層之間的交互包括讀數(shù)據(jù)和寫數(shù)據(jù);所述讀數(shù)據(jù)和寫數(shù)據(jù)整體描述為1)軟件管理層發(fā)出指令調(diào)用驅動控制層,并在驅動控制層的控制下向FlashBram寫入 參數(shù);2)當該參數(shù)寫入驅動控制層并達到系統(tǒng)觸發(fā)的臨界條件則向硬件管理層發(fā)出觸發(fā)信號;3)硬件管理層得到觸發(fā)信號后讀出FlashBram中已寫入的該參數(shù);4)同時軟件管理層發(fā)出新指令調(diào)用驅動控制層,在驅動控制層的控制下向FlashBram 寫入新參數(shù);5)待硬件管理層讀出FlashBram中已寫入的該參數(shù)的操作完成后FlashBram返回信 息,給驅動控制層發(fā)出中斷讀取返回信息;6)驅動控制層再向硬件管理層發(fā)出新觸發(fā)信號,讀取新參數(shù);7)待FlashBram中寫滿參數(shù)時,驅動控制層向軟件管理層發(fā)送狀態(tài)已滿返回信息,此 時軟件層激活不需要操作接口 Bram的任務;與此同時硬件管理層也讀完FlashBram中最后 寫入的參數(shù),完成軟硬件管理層高效并行操作。
3.根據(jù)權利要求1或2所述基于驅動控制層的軟硬件管理層高效并行操作的方法,其 特征在于所述讀數(shù)據(jù)包括1)軟件管理層先將讀操作的參數(shù)信息發(fā)送到驅動控制層;2)驅動控制層再觸發(fā)硬件管理層,此時硬件管理層開始工作,處于忙狀態(tài);3)軟件管理層在等待讀出數(shù)據(jù)的同時激活后臺塊回收任務,進行虛擬塊回收;4)當硬件操作完成后,以中斷的方式通知驅動控制層,驅動控制層通過信號量通知軟 件管理層此時硬件管理層已經(jīng)空閑,可繼續(xù)下一步操作;所述寫數(shù)據(jù)包括1)當軟件管理層把操作信息放到FlashBram中時,驅動控制層立即回復軟件管理層操 作成功,而不需等待命令在硬件管理層的真實執(zhí)行結果;2)當驅動控制層接收的操作信息數(shù)達到系統(tǒng)中設置的觸發(fā)硬件管理層的臨界條件,驅 動控制層再向硬件管理層發(fā)出觸發(fā)信號;3)接著硬件管理層開始從FlashBram中提取操作信息,同時軟件管理層繼續(xù)往 FlashBram中填充操作信息,而與硬件管理層當前的忙閑狀態(tài)無關,4)如果FlashBram被填充滿了,則驅動控制層會通知軟件管理層緩沖區(qū)已滿,此時軟 件管理層激活不需要操作FlashBram的任務。
4.根據(jù)權利要求3所述基于驅動控制層的軟硬件管理層高效并行操作的方法,其特征在于所述在整個讀數(shù)據(jù)和寫數(shù)據(jù)的過程中,軟件管理層負責往接口 Bram中填充數(shù)據(jù),同時 硬件管理層負責從FlashBram中提取數(shù)據(jù),軟件管理層通過驅動控制層對FlashBram的操 作和硬件管理層的操作同時進行。
5.根據(jù)權利要求4所述基于驅動控制層的軟硬件管理層高效并行操作的方法,其特征 在于所述在整個讀數(shù)據(jù)和寫數(shù)據(jù)的過程中,當硬件管理層操作返回的狀態(tài)表示沒有發(fā)生錯誤時,則驅動控制層內(nèi)部直接將其處理;在硬件管理層操作返回的狀態(tài)表示有錯時,通知軟件管理層,再調(diào)用相應的錯誤處理 流程。
6.根據(jù)權利要求5所述基于驅動控制層的軟硬件管理層高效并行操作的方法,其特征 在于所述系統(tǒng)中設置的觸發(fā)硬件管理層的臨界條件是驅動控制層接收的操作信息數(shù)是每 通道芯片數(shù)的2倍。
7.根據(jù)權利要求6所述基于驅動控制層的軟硬件管理層高效并行操作的方法,其特征 在于所述不需要操作FlashBram的任務包括虛擬塊回收以及磨損調(diào)整。
全文摘要
一種基于驅動控制層的軟硬件管理層高效并行操作的方法,該方法中所述驅動控制層為軟件管理層提供了一種方便操作數(shù)據(jù)結構的接口;所述驅動控制層又能和硬件管理層主動交互,實現(xiàn)參數(shù)傳遞、控制以及管理;所述軟件管理層能直接和驅動控制層交互,所述驅動控制層能獨立與硬件管理層交互。本發(fā)明能充分發(fā)揮系統(tǒng)模塊的并行性,系統(tǒng)的整體處理效率更高;可以明顯提高速度;簡化了系統(tǒng)處理流程。
文檔編號G06F9/44GK101826010SQ20091021935
公開日2010年9月8日 申請日期2009年12月7日 優(yōu)先權日2009年12月7日
發(fā)明者任明剛, 劉升 申請人:西安奇維測控科技有限公司