新四季網

數據讀寫緩衝方法及緩衝裝置的製作方法

2023-10-09 10:58:24 4

專利名稱:數據讀寫緩衝方法及緩衝裝置的製作方法
數據讀寫緩衝方法及緩衝裝置
技術領域:
本發明涉及數據處理領域,特別涉及其中的數據讀寫緩衝方法和裝置。
背景技術:
在可擦除光碟上實現通用磁碟格式(UDF)文件系統,寫入數據需要使用數據包寫入(Packet-Writing)方式,常用的可擦除光碟包括CD-RW、 DVD+/-RW、 DVD-RAM。Packet-Writing方式中,每次寫入的數據的扇區數必須是一個Packet,每次寫入數據的首地址必須是Packet的整數倍。目前,Packet-Writing的實現是一個Read-Modify-Write過程,在連續寫入大量數據的時候,會出現每次寫入32個扇區數據,就需要一次Read/Write的切換,極大地影響寫入性能,而且光碟機頻繁地進行Read/Write切換,會降低光碟機的使用壽命。圖1所示為一種現有技術的實現方式。例如,在超聲系統中,可擦寫光碟上實現UDF文件系統,存儲大量病人信息到光碟,使用Read-Modify-Write過程實現的Packet-Writing,必然導致頻繁地在光碟上進行讀寫切換,從而影響病人信息的刻錄速度。
例如,以現有的某款刻錄機刻錄4速DVD+RW光碟為例,使用這種方法,連續刻錄100M數據,需要大約800秒,也就是說,刻錄速度是0. 125M/秒。這個速率在一定程度上限制了可編輯UDF光碟功能的開發和實現。

發明內容
本發明的主要目的是在存儲大量數據時避免頻繁的讀/寫切換,提高數據讀寫的效率。 為實現上述目的,本發明提出一種數據讀寫緩衝方法,其特徵是由存儲介質中寫入保留的扇區數據至緩衝區,由系統中寫入更新的數據至緩衝區,構成用於寫入存儲介質中的緩衝區數據。
上述的數據讀寫緩衝方法,寫數據流程包括如下步驟
21)讀入扇區數據; 22)根據讀入數據的地址,命中緩衝區Buffer ;
23)將數據寫入對應的緩衝項中;
24)將對應該緩衝項的狀態進行標識;
25)更新緩衝區Buffer的訪問時間。 上述的數據讀寫緩衝方法,所述將對應該緩衝項的狀態進行標識的步驟包括使用有效旗標來標識數據是否有效,在寫入數據到緩衝項時,或者在從存儲介質中讀取數據到緩衝項中時,有效旗標置位;使用不潔旗標來標識數據是否需要更新到存儲介質上,在由系統寫入數據到緩衝項時,不潔旗標置位。
上述的數據讀寫緩衝方法,其讀數據流程包括如下步驟
讀取扇區數據; 根據寫入數據的地址,命中緩衝區Buffer ;
4
如判斷對應該緩衝項的有效旗標未被置位;則從存儲介質中讀出對應緩衝項的數據; 將對應的緩衝項的有效旗標置位;
更新緩衝區Buffer的訪問時間;
將緩衝項的數據返回。 上述的數據讀寫緩衝方法,如果未命中緩衝區Buffer,則執行如下步驟 51)查找是否有未使用的緩衝區Buffer,如果找到,則執行步驟52);如果未找到,
則執行步驟53); 52)根據寫入數據的地址,計算出緩衝區Buffer的首地址,轉而執行所述步驟23)、24); 53)根據緩衝區Buffer的上 一 次訪問時間,找到 一 個最久未訪問的緩衝區Buffer j 54)判斷是否有緩衝項的不潔旗標被置位; 55)如果有緩衝項的不潔旗標被置位,則將有效旗標和不潔旗標都為0的緩衝項對應的存儲介質扇區數據讀出來; 56)將緩衝區Buffer的數據寫入到存儲介質上; 57)將緩衝區Buffer的首地址置為一預定值,將有效旗標和不潔旗標復位;轉而執行步驟52)。 在所述步驟55)中,如果未有緩衝項的不潔旗標被置位,則轉而執行所述步驟57)。 所述命中緩衝區Buffer的過程包括如下步驟根據寫入數據的地址W、各個Buffer的首地址M,查找是否有包含這個寫入地址的Buffer。命中判斷條件是
OxFFFFFFFF且W > M且W《M+31其中OxFFFFFFFF為未被使用的緩衝區Buffer的首地址賦值。 在所述步驟52)中,通過寫入數據的地址W,計算緩衝區Buffer的首地址M:
M = L『/32」x32 ,其中的符號L」為向下取整。 同時,本發明提出了一種數據讀寫緩衝裝置,其用於寫入存儲介質中的緩衝區數據包括由存儲介質中寫入的保留扇區數據,和由系統中寫入的更新數據。
上述的數據讀寫緩衝裝置,寫數據流程包括如下步驟
讀入扇區數據; 根據讀入數據的地址,命中緩衝區Buffer ;
將數據寫入對應的緩衝項中;
將對應該緩衝項的狀態進行標識;
更新緩衝區Buffer的訪問時間。 上述的數據讀寫緩衝裝置,所述將對應該緩衝項的狀態進行標識的步驟包括使用有效旗標來標識數據是否有效,在寫入數據到緩衝項時,或者在從存儲介質中讀取數據到緩衝項中時,有效旗標置位;使用不潔旗標來標識數據是否需要更新到存儲介質上,在由系統寫入數據到緩衝項時,不潔旗標置位。
上述的數據讀寫緩衝裝置,其讀數據流程包括如下步驟
讀取扇區數據; 根據寫入數據的地址,命中緩衝區Buffer ; 如判斷對應該緩衝項的有效旗標未被置位;則從存儲介質中讀出對應緩衝項的數 據; 將對應的緩衝項的有效旗標置位;
更新緩衝區Buffer的訪問時間;
將緩衝項的數據返回。 本發明在數據緩衝讀寫時,僅對存儲介質中未更新部分的數據進行讀取,也即在 寫入數據時只有在需要讀取數據的時候才讀取,避免絕大多數不必要的讀寫切換,在不增 加內存佔用量的情況下,實現數據寫入或刻錄速度的大幅度提升。 本發明記錄Buffer的使用情況,在連續寫入大量數據的時候,根據該使用情況, 絕大多數情況下不需要從光碟上讀取數據,使本發明可以避免絕大多數讀寫切換,寫入刻 錄速度提升幅度更為顯著。 應用本發明的方法,由於讀寫切換頻率降低,可以大幅減少刻錄數據時光碟機讀寫 切換次數,可以延長光碟機驅動器的壽命,有利於保護驅動器,提高訪問外設的可靠性;而且 降低了功耗。使用本發明提出的方法,以背景技術中所提及的刻錄機刻錄4速DVD+RW光碟 為例,每秒鐘能夠達到4. 6M/秒,性能整整提高了 36. 8倍。 本發明中使用的Buffer數量,以及Buffer Item數量,可以根據實際情況進行調 節,可以靈活適應於各種不同的環境。 本發明目前投入應用於超聲系統中,極大地減少用戶導出病人檢查數據的時間, 以每天刻錄20個病人,每個病人2幅Bitmap圖片為例,每天就需要刻錄大約90M數據,那 麼,使用現有技術實現需要大約720秒,而使用本發明的方法,僅僅需要20多秒就可以刻錄 完成。


圖1是現有技術中採用Packet-Wrting實現方式的流程圖;
圖2是本發明實施例的緩存概要圖;
圖3是本發明實施例的寫數據流程圖;
圖4是本發明實施例的讀數據流程圖。
具體實施方式
下面通過具體的實施例並結合附圖對本發明作進一步詳細的描述。
本例中以可擦寫光碟讀寫存儲為例,如圖2所示,高速緩衝存儲器Cache —共有5 個緩衝區Buffer,每個Buffer由32個2048位元組組成,這樣,每個Buffer中可以容納光碟的 32個扇區的數據。以下,將Buffer中的一個2048位元組區域當作一個緩衝項Buffer Item。
每一個Buffer都有一個首地址M,此首地址M是Buffer中第一個Buffer Item對 應的光碟扇區地址。那麼,32個Bufferltem對應的光碟扇區地址分別為M、M+l、M+2、…、 M+31 。如果Buffer未被使用,首地址M賦值為OxFFFFFFFF。 Buffer中每一個Buffer Item使用一個有效旗標Valid Flag來標識數據是否有效。在寫入數據到Buffer Item時,或者在從光碟中讀取數據到Buffer Item中時,Valid Flag置位。 Buffer中每一個Buffer Item使用一個不潔旗標Dirty Flag來標識數據是否需 要更新到光碟上。在寫入數據到Buffer Item時,Dirty Flag置位。 每一個Buffer擁有一個屬性,用於記錄此Buffer最後被訪問的時間,依據這個屬 性,可以從Cache中找到最久未被訪問的Buffer。
圖3描述了寫入數據的過程 1)根據寫入數據的地址W、各個Buffer的首地址M,查找是否有包含這個寫入地址 的Buffer。判斷條件是
參M - OxFFFFFFFF,
參W > M
參W《M+31 如果找到了符合條件的Buffer,執行第2)步;如果沒有找到符合條件的Buffer, 就執行第4)步。 2)根據下式計算Buffer Item在Buffer中的索引INDEX :
/M)^T =『—L『/32」x32,其中符號L」為向下取整。 3)將數據寫入到這個Bufer Item中,並將Buffer Item的Valid Flag和Dirty Flag置位。然後執行第11)步。 4)從所有Buffer中查找沒有被使用的Buffer,也就是首地址M為OxFFFFFFFF的 Buffer。如果找到了一個未使用的Buffer,執行第5)步,如果沒有找到未被使用的Buffer, 執行第6)步。 5)通過寫入數據的地址W,計算Buffer的首地址M : M^『/32」x32,其中的符號L」為向下取整,之後執行第3)步。 6)根據各個Buffer的上一次訪問時,找出一個最久未被訪問的Buffer。 7)判斷這個找到的Buffer中,是否有Buffer Item的Dirty Flag被置位。Dirty
Flag被置位,說明有由系統中讀入的數據需要更新到光碟上。如果找到的Buffer中沒有
Dirty Flag被置位,執行第8)步,如果找到的Buffer中有Dirty Flag被置位,就執行第
9)步。 8)將此Buffer的首地址M置為OxFFFFFFFF, Valid Flag和Dirty Flag復位。然 後執行第5)步。 9)將Valid Flag和Dirty Flag都為0的Buffer Item對應的光碟數據讀取出來。 Valid Flag為l,或者是Buffer Item中的數據與光碟上的據一致,或者是Buffer Item中 的數據是需要更新到光碟上的。Dirty Flag為l,說明Buffer Item中的數據是由系統中 讀入需要更新到光碟上的。在由系統中連續寫入大量數據的時候,絕大多數情況下,所有的 Buffer Item的Dirty Flag將會是被置位的,這種情況下,就不需要從光碟上讀取數據,這 就是本例可以避免絕大多數讀寫切換的關鍵。 10)將找到的Buffer中的數據寫入到光碟;然後執行第8)步。
11)更新Buffer的訪問時間,然後返回成功。 圖4描述了讀取數據的流程。其中,與寫入數據不一樣是,從光碟上讀取數據到Buffer Item後,只將Valid Flag置位。將Valid Flag置位之後,以後在需要讀取這個 Buffer Item對應的數據的時候,就不需要再去讀取光碟了。讀取數據的流程如下
1)根據寫入數據的地址W、各個Buffer的首地址M,查找是否有包含這個寫入地址 的Buffer。判斷條件是
參M - OxFFFFFFFF,
參W > M
參W《M+31 如果找到了符合條件的Buffer,執行第2)步;如果沒有找到符合條件的Buffer, 就執行第4)步。 2)判斷對應Buffer Item的Valid Flag是否已經被置位;是,則執行第12)步; 否,則執行第10)步; 3)從所有Buffer中查找沒有被使用的Buffer,也就是首地址M為OxFFFFFFFF的 Buffer。如果找到了一個未使用的Buffer,執行第9)步,如果沒有找到未被使用的Buffer, 執行第4)步。 4)根據各個Buffer的上一次訪問時間,找出一個最久未被訪問的Buffer。
5)判斷是否有Buffer Item的Dirty Flag被置位;如是,則執行下一步;如否,則 執行第8)步; 6)將Valid Flag和Dirty Flag都為0的Buffer Item對應的光碟扇區數據讀出 來; 7)將Buffer數據寫入到光碟上; 8)將此Buffer的首地址M置為OxFFFFFFFF, Valid Flag和Dirty Flag復位; 9)根據寫入數據的地址,計算出Buffer首地址; 10)從光碟上讀出對應Buffer Item的數據; 11)將對應的Buffer Item的Valid Flag置位; 12)更新Buffer的訪問時間,將Buffer Item的數據返回。 以上內容是結合具體的優選實施方式對本發明所作的進一步詳細說明,不能認定 本發明的具體實施只局限於這些說明。對於本發明所屬技術領域的普通技術人員來說,在 不脫離本發明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬於本發明的 保護範圍。例如,本發明不僅可以用在光碟刻錄方面,所有存儲介質都可以使用本發明的緩 存控制方法。本發明中使用的Buffer數量,以及Buffer Item數量,可以根據實際情況進 行調節,以適應各種不同的環境。
權利要求
一種數據讀寫緩衝方法,其特徵是由存儲介質中寫入保留的扇區數據至緩衝區,由系統中寫入更新的數據至緩衝區,構成用於寫入存儲介質中的緩衝區數據。
2. 如權利要求1所述的數據讀寫緩衝方法,其特徵是寫數據流程包括如下步驟21) 讀入扇區數據;22) 根據讀入數據的地址,命中緩衝區Buffer ;23) 將數據寫入對應的緩衝項中;24) 將對應該緩衝項的狀態進行標識;25) 更新緩衝區Buffer的訪問時間。
3. 如權利要求2所述的數據讀寫緩衝方法,其特徵是所述將對應該緩衝項的狀態進行標識的步驟包括使用有效旗標來標識數據是否有效,在寫入數據到緩衝項時,或者在從存儲介質中讀取數據到緩衝項中時,有效旗標置位;使用不潔旗標來標識數據是否需要更新到存儲介質上,在由系統寫入數據到緩衝項時,不潔旗標置位。
4. 如權利要求3所述的數據讀寫緩衝方法,其特徵是其讀數據流程包括如下步驟讀取扇區數據;根據讀入數據的地址,命中緩衝區Buffer ;如判斷對應該緩衝項的有效旗標未被置位;則從存儲介質中讀出對應緩衝項的數據;將對應的緩衝項的有效旗標置位;更新緩衝區Buffer的訪問時間;將緩衝項的數據返回。
5. 如權利要求3或4所述的數據讀寫緩衝方法,其特徵是如果未命中緩衝區Buffer,則執行如下步驟51) 查找是否有未使用的緩衝區Buffer,如果找到,則執行步驟52);如果未找到,則執行步驟53);52) 根據寫入數據的地址,計算出緩衝區Buffer的首地址,轉而執行所述步驟23)、24)、25);53) 根據緩衝區Buffer的上一次訪問時間,找到一個最久未訪問的緩衝區Buffer ;54) 判斷是否有緩衝項的不潔旗標被置位;55) 如果有緩衝項的不潔旗標被置位,則將有效旗標和不潔旗標都為0的緩衝項對應的存儲介質扇區數據讀出來;56) 將緩衝區Buffer的數據寫入到存儲介質上;57) 將緩衝區Buffer的首地址置為一預定值,將有效旗標和不潔旗標復位;轉而執行步驟52)。
6. 如權利要求5所述的數據讀寫緩衝方法,其特徵是在所述步驟55)中,如果未有緩衝項的不潔旗標被置位,則轉而執行所述步驟57)。
7. 如權利要求3或4所述的數據讀寫緩衝方法,其特徵是所述命中緩衝區Buffer的過程包括如下步驟根據寫入數據的地址W、各個Buffer的首地址M,查找是否有包含這個寫入地址的Buffer。命中判斷條件是M - OxFFFFFFFF且W > M且W《M+31其中OxFFFFFFFF為未被使用的緩衝區Buffer的首地址賦值。
8. 如權利要求5所述的數據讀寫緩衝方法,其特徵是在所述步驟52)中,通過寫入數據的地址W,計算緩衝區Buffer的首地址M:似二L『/32」x32,其中的符號L」為向下取整。1
9. 一種數據讀寫緩衝裝置,其特徵是其用於寫入存儲介質中的緩衝區數據包括由存儲介質中寫入的保留扇區數據,和由系統中寫入的更新數據。
10. 如權利要求9所述的數據讀寫緩衝裝置,其特徵是寫數據流程包括如下步驟讀入扇區數據;根據讀入數據的地址,命中緩衝區Buffer ;將數據寫入對應的緩衝項中;將對應該緩衝項的狀態進行標識;更新緩衝區Buffer的訪問時間;
11. 如權利要求10所述的數據讀寫緩衝裝置,其特徵是所述將對應該緩衝項的狀態進行標識的步驟包括使用有效旗標來標識數據是否有效,在寫入數據到緩衝項時,或者在從存儲介質中讀取數據到緩衝項中時,有效旗標置位;使用不潔旗標來標識數據是否需要更新到存儲介質上,在由系統寫入數據到緩衝項時,不潔旗標置位。
12. 如權利要求11所述的數據讀寫緩衝裝置,其特徵是其讀數據流程包括如下步驟讀取扇區數據;根據寫入數據的地址,命中緩衝區Buffer ;如判斷對應該緩衝項的有效旗標未被置位;則從存儲介質中讀出對應緩衝項的數據;將對應的緩衝項的有效旗標置位;更新緩衝區Buffer的訪問時間;將緩衝項的數據返回。
全文摘要
本發明公開了一種數據讀寫緩衝方法及緩衝裝置,由存儲介質中寫入保留的扇區數據至緩衝區,由系統寫入更新的數據至緩衝區,構成用於寫入存儲介質中的整個緩衝區數據。應用本發明的方法和裝置,在數據緩衝讀寫時,僅對存儲介質中未更新部分的數據進行讀取,也即在寫入數據時只有在需要讀取數據的時候才讀取,避免絕大多數不必要的讀寫切換,在不增加內存佔用量的情況下,實現數據寫入或刻錄速度的大幅度提升。
文檔編號G06F3/06GK101763222SQ20081024154
公開日2010年6月30日 申請日期2008年12月18日 優先權日2008年12月18日
發明者李理, 楊燕泉 申請人:深圳邁瑞生物醫療電子股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀