亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

使用nvram進行存儲器管理的系統(tǒng)、方法、計算機可讀介質(zhì)和設備的制作方法

文檔序號:6656558閱讀:350來源:國知局
專利名稱:使用nvram進行存儲器管理的系統(tǒng)、方法、計算機可讀介質(zhì)和設備的制作方法
技術(shù)領(lǐng)域
本發(fā)明總地涉及存儲器存儲拓撲領(lǐng)域,更具體地說,涉及用于改善計算設備的分離的存儲器中的數(shù)據(jù)完整性和數(shù)據(jù)存儲效率的系統(tǒng)和方法。它在采用WindowsTMCE操作系統(tǒng)的手持計算設備中產(chǎn)生特別好的存儲器性能。
背景技術(shù)
有多種形式的存儲器服務于多種目的。典型地,單個電子計算設備包括幾個等級(tier)的不同存儲器。存儲器設計中的這樣的等級思想有助于使由強大的CPU快速方便地訪問的數(shù)據(jù)存儲最大化,同時使存儲成本最小化。
具體到手持計算設備,它們中的很多都包括兩種存儲器,即隨機存取存儲器(RAM或DRAM)和可編程永久存儲器。通常,在RAM中加載、執(zhí)行和運行軟件應用程序。RAM也被用來接收用戶的數(shù)據(jù)輸入并將應用程序的輸出或結(jié)果顯示給用戶。接收數(shù)據(jù)和顯示結(jié)果的任務在RAM中通常都是很快完成的,以允許用戶自由地輸入數(shù)據(jù),而沒有將數(shù)據(jù)存儲在更長久的存儲器中的延遲??捎玫腞AM的數(shù)量通常決定了設備的感知速度。然而,大多數(shù)RAM配置的速度必須和丟失數(shù)據(jù)或結(jié)果的風險相互平衡。也就是說,RAM有時被稱為易失存儲器,因為它需要不停地提供電能來保持它的數(shù)據(jù)。這樣一來,如果電源供應停止,那么RAM中的數(shù)據(jù)就會丟失。
大多數(shù)類型的永久存儲器是非易失的;即,即使沒有電源,永久存儲器也能保留數(shù)據(jù)。大多數(shù)永久存儲器是可編程的,因此適于存儲軟件應用,并且還是可擦除的,使得存儲器可以被重新編程。通常,選定的數(shù)據(jù)可被有目的地存儲在永久存儲器中,以供隨后使用。例如,用戶可能將十個快速數(shù)據(jù)條目存儲到RAM中,然后再將這些數(shù)據(jù)條目存儲在永久存儲器中。
在使用中,很多便攜式電子設備都容易受到環(huán)境外力、電子故障、電源丟失和/或其他災難事件的影響,這些事件可能會自動地突然擦除RAM的內(nèi)容。一旦存儲在RAM中的輸入數(shù)據(jù)丟失,它就不可能恢復出來存儲到永久存儲器中。因此,需要一種非易失存儲器來快速接收和存儲數(shù)據(jù),即使在設備因災難事件發(fā)生徹底故障時也是如此,以提供數(shù)據(jù)的長期存儲。
當前,塊存取閃存被認為是在便攜式計算設備中實施的改進的非易失存儲器。作為一種類型的EEPROM,這種閃存提供了非易失、低功率、低成本、高密度的用于可編程代碼和數(shù)據(jù)的存儲器件。這些特性使得閃存成為用于嵌入式系統(tǒng)的最佳的非易失存儲器件。然而,當閃存實施在計算設備中時也有很多不好的特性。
一個問題是擦除扇區(qū)。與RAM或ROM器件不同,閃存器件(例如NAND閃存)的各個位只可以在一個方向上被編程,在不進行擦除操作的情況下不能被重新編程。閃存的擦除操作要求一大片段的位,即一個擦除扇區(qū)被同時“閃爍”或擦除。這樣的一個擦除扇區(qū)一般是64KB,但是也可以從512字節(jié)到512KB,根據(jù)閃存的類型以及它如何連線到系統(tǒng)中來決定。此外,擦除操作相當慢,一般約為半秒鐘,而單個字節(jié)通??稍谑⒚雰?nèi)被編程。
閃存的這種扇區(qū)擦除特性也使得難以保持數(shù)據(jù)完整性。當使用RAM或傳統(tǒng)的盤進行存儲時,實際任何尺寸的數(shù)據(jù)都可以被寫入和重新寫入同一位置,而不需要任何特殊的處理。由于閃存不能重寫數(shù)據(jù)的單獨的位,因此全部數(shù)據(jù)必須在一開始被寫入或重新寫入閃存的未用區(qū)域中。隨后必須對原始數(shù)據(jù)進行跟蹤,以便為了扇區(qū)擦除而釋放存儲器中的空間。當在閃存器件中進行數(shù)據(jù)寫和重寫操作時,控制軟件必須在操作的每個狀態(tài)保護數(shù)據(jù),以確保原始數(shù)據(jù)和新數(shù)據(jù)在發(fā)生中斷時保持有效。中斷可能是由幾種常見的情況引起的,例如由于電池不足造成的意外掉電或者用戶的關(guān)機請求。
閃存必須考慮的另一個方面是有限的壽命預期。對于任何給定的閃存器件而言,在某一特定的擦除扇區(qū)變?yōu)椴豢煽炕蛘呤軗p之前可對其執(zhí)行的擦除操作的總數(shù)是有限的。閃存器件的壽命從10,000個寫擦除周期到1,000,000個周期之間分布,大多數(shù)額定約為100,000。當擦除扇區(qū)達到它的額定上限時,它可能要用更長的時間來完成某些操作,甚至開始出現(xiàn)故障。
為了克服上述問題,提供了一些專門類型的軟件來管理閃存。在當前市場中,一個例子被稱為閃存介質(zhì)管理器。為了使閃存器件的生命期最大化,介質(zhì)管理器引入了被稱為磨損持平的過程,它由以下操作構(gòu)成保證以相同的頻率使用閃盤中的所有擦除扇區(qū)。另一個被稱為垃圾回收的過程被部署來收回被丟棄的數(shù)據(jù)占用的空間。該過程選擇具有多半被丟棄的數(shù)據(jù)的擦除扇區(qū),將該擦除扇區(qū)中的有效數(shù)據(jù)拷貝到空閑扇區(qū)中,并且擦除先前有效的擦除扇區(qū),使它成為新的空閑扇區(qū)。然而,將任一個上述專門軟件包括進來都需要在閃存中分配額外開銷的空間,該空間用于存儲標識/記錄閃存狀態(tài)的數(shù)據(jù),維護用于跟蹤所存儲數(shù)據(jù)的位置和狀態(tài)的文件分配表,以及預留空閑空間用于垃圾回收。這樣的額外開銷不僅使用于數(shù)據(jù)存儲的實際空間減少,而且導致閃存的速度下降。
因此,需要一種克服閃存的缺陷,又提供快速數(shù)據(jù)存儲的非易失存儲器。正在出現(xiàn)的非易失隨機存取存儲器(NVRAM)看上去滿足這種需要。NVRAM是特殊的一類RAM,當計算機關(guān)閉時或者出現(xiàn)電源故障時,它保留數(shù)據(jù)。與計算機的只讀存儲器(ROM)類似,NVRAM由計算機內(nèi)的電池來供電。當電源打開時,NVRAM就象其他RAM一樣工作。當電源關(guān)閉時,NVRAM從電池取用足夠的電能來保留它的數(shù)據(jù)。在嵌入式系統(tǒng)中,NVRAM是相當普遍的。但是,NVRAM因為電池問題要比其他RAM貴很多。另外,NVRAM通常沒有其他RAM特別是DRAM那么密集。因此,它的應用一般限于幾百字節(jié)的系統(tǒng)關(guān)鍵信息的存儲,這些信息不能以更好的方式存儲。

發(fā)明內(nèi)容
根據(jù)上述內(nèi)容,本發(fā)明試圖以合理的成本提供非易失、可靠并且快速的數(shù)據(jù)存儲器件。具體地說,本發(fā)明試圖在一臺計算設備(特別是電子便攜設備)中組合使用多種現(xiàn)有的存儲器件,例如NVRAM和閃存,以便獲得最優(yōu)的數(shù)據(jù)存儲和部署性能。為此,本發(fā)明還試圖提供支持所述組合使用的底層機制,該機制將促進不同存儲器之間的數(shù)據(jù)傳輸,而不危及數(shù)據(jù)完整性。
根據(jù)本發(fā)明,以上目的和其他目的還有優(yōu)點將由用于存儲器管理的方法和系統(tǒng)來實現(xiàn)。所述方法包括以下步驟在計算設備中接收文件數(shù)據(jù);處理文件數(shù)據(jù),以確定該文件數(shù)據(jù)是由一個或多個數(shù)據(jù)塊以及最后數(shù)據(jù)部分組成的,每個數(shù)據(jù)塊都具有預定的塊尺寸,而所述最后數(shù)據(jù)部分具有比所述預定的塊尺寸小的尺寸;將數(shù)據(jù)塊寫入第一存儲器中,該第一存儲器被配置為存儲具有所述預定塊尺寸的數(shù)據(jù)塊;以及在將所述最后數(shù)據(jù)部分發(fā)送到所述第一存儲器之前,將該最后數(shù)據(jù)部分緩存在第二存儲器中。在一種優(yōu)選實施方式中,第二存儲器是非易失隨機存取存儲器,而最后數(shù)據(jù)部分通過以下步驟來緩存分配第二存儲器的一部分作為存儲文件數(shù)據(jù)的文件緩沖區(qū);將最后數(shù)據(jù)部分的數(shù)據(jù)字節(jié)寫入該文件緩沖區(qū)中,直到文件緩沖區(qū)包括多于預定塊尺寸的數(shù)據(jù);以及響應于確定文件緩沖區(qū)包括多于預定塊尺寸的數(shù)據(jù),在繼續(xù)將最后數(shù)據(jù)部分的數(shù)據(jù)字節(jié)寫入文件緩沖區(qū)之前,將數(shù)據(jù)從文件緩沖區(qū)移到第一存儲器。
本發(fā)明還提供了包括執(zhí)行上述步驟的可執(zhí)行指令的計算機可讀介質(zhì)。
根據(jù)本發(fā)明的另一個方面,提供了一種系統(tǒng),包括處理器,被配置為接收和處理數(shù)據(jù);至少包括第一存儲器和第二存儲器的存儲器;和由所述處理器執(zhí)行的數(shù)據(jù)管理器。數(shù)據(jù)管理器被配置為在數(shù)據(jù)內(nèi)定義多個數(shù)據(jù)塊和一個最后數(shù)據(jù)部分,每個數(shù)據(jù)塊都具有預定的塊尺寸,而最后數(shù)據(jù)部分具有比所述預定的塊尺寸小的尺寸。它還被配置為在第一存儲器中分配空間用于存儲數(shù)據(jù)塊,并且在第二存儲器中指定空間用于緩存最后數(shù)據(jù)部分。在一種優(yōu)選實施方式中,通過以下步驟將最后數(shù)據(jù)部分緩存到第二存儲器中分配第二存儲器的一部分作為被配置為存儲文件數(shù)據(jù)的文件緩沖區(qū);將最后數(shù)據(jù)部分的數(shù)據(jù)字節(jié)寫入所述文件緩沖區(qū),直到該文件緩沖區(qū)中的數(shù)據(jù)被確定為具有所述預定的塊尺寸;以及響應于確定所述文件緩沖區(qū)中的數(shù)據(jù)具有這樣的預定塊尺寸,在繼續(xù)將最后數(shù)據(jù)部分的數(shù)據(jù)字節(jié)寫入文件緩沖區(qū)之前,將數(shù)據(jù)從文件緩沖區(qū)移到第一存儲器。在優(yōu)選實施方式中,第一存儲器是閃存,而第二存儲器是非易失隨機存取存儲器。
本發(fā)明的另一種實施方式具體涉及手持設備,該手持設備包括數(shù)據(jù)輸入裝置;數(shù)據(jù)輸出裝置;和計算裝置,被配置為經(jīng)由通信網(wǎng)絡與數(shù)據(jù)輸入裝置、數(shù)據(jù)輸出裝置和數(shù)據(jù)源進行通信。所述計算裝置包括用于數(shù)據(jù)處理的處理器、包括至少非易失隨機存取存儲器和塊存取存儲器的存儲器以及數(shù)據(jù)管理器。數(shù)據(jù)管理器由處理器執(zhí)行,完成包括以下步驟的指令(A)從文件數(shù)據(jù)輸入中識別一個或多個數(shù)據(jù)塊以及最后數(shù)據(jù)部分,其中每個數(shù)據(jù)塊都具有閾值塊尺寸,所述最后數(shù)據(jù)部分具有比所述閾值塊尺寸小的尺寸;(B)將數(shù)據(jù)塊存儲到塊存取存儲器中;(C)按字節(jié)將最后數(shù)據(jù)部分寫入非易失隨機存取存儲器中,直到非易失隨機存取存儲器被確定為包括閾值塊尺寸的文件數(shù)據(jù);以及(E)響應于確定了所述非易失隨機存取存儲器被確定為包括閾值塊尺寸的文件數(shù)據(jù),在繼續(xù)步驟(D)之前將文件數(shù)據(jù)從所述非易失隨機存取存儲器移到塊存取存儲器。
在本發(fā)明的任一以上方面的其他實施方式中,任何類型的計算機存儲器都可以用作第一和第二存儲器。在優(yōu)選實施方式中,第一存儲器是非易失存儲器,例如閃存或者硬盤驅(qū)動器或者CD-ROM驅(qū)動器或者其他;第二存儲器也是非易失存儲器,優(yōu)選地是NVRAM。


圖1示出了根據(jù)本發(fā)明一種實施方式的手持計算設備;
圖2示出了根據(jù)本發(fā)明一種實施方式的計算裝置的組件;圖3根據(jù)本發(fā)明的一種實施方式示出了圖2所示的計算裝置中的存儲器的組件;圖4根據(jù)本發(fā)明的一種實施方式圖示了用于存儲器管理的數(shù)據(jù)處理中的數(shù)據(jù)流;圖5是根據(jù)本發(fā)明一種實施方式的數(shù)據(jù)處理和存儲器管理的工作流程圖。
具體實施例方式
下面將參考附圖來更加充分地描述本發(fā)明,在附圖中示出了本發(fā)明的一部分但不是全部實施方式。事實上,這些發(fā)明可以以很多不同的形式來實施,不應當被理解為限于這里闡述的實施方式;相反,提供這些實施方式是為了使本公開滿足適用的法律規(guī)定。通篇中相同的標號代表相同的元件。
看圖1,根據(jù)本發(fā)明的一種實施方式示出了手持設備1。這樣的手持設備1可以是任何便攜計算設備,包括但不限于個人數(shù)字助理(PDA)、智能電話(SP)、筆記本電腦、平板計算機和速遞信息收集設備(DIAD)。如圖1所示,該手持設備1除了圖中未示出的其他公知的必要組件外,主要由輸入裝置12、輸出或顯示裝置14和計算裝置20組成。在操作中,該手持設備可以通過用戶輸入(例如,鍵盤輸入、條形碼掃描)從用戶10接收數(shù)據(jù),或者通過通信網(wǎng)絡16從數(shù)據(jù)源18(例如,電子數(shù)據(jù)傳輸)接收數(shù)據(jù)。數(shù)據(jù)源18可以是服務器計算機上的任何數(shù)據(jù)庫。例如,在包裹遞送的環(huán)境中,它可以是遞送員的貨運數(shù)據(jù)庫或者顧客的數(shù)據(jù)庫,計算裝置20可以利用通信網(wǎng)絡16上的有線或無線連接來訪問以上數(shù)據(jù)庫,而所述通信網(wǎng)絡16可以是因特網(wǎng)、LAN或WAN。然后,可以從某個數(shù)據(jù)庫下載貨運數(shù)據(jù)或者包裹信息并捕獲到手持設備1中,在該環(huán)境下手持設備1可以是DIAD。
圖2提供了計算裝置20內(nèi)部的各種組件的框圖。它至少包括(1)執(zhí)行數(shù)據(jù)管理器24的處理器22,它包括用于存儲器管理的編程指令,(2)與輸入裝置12或者輸出裝置14交互的接口26,(3)與通信網(wǎng)絡16相互通信的網(wǎng)絡接口28,和(4)存儲器30。存儲器30包括至少兩種存儲器DRAM 30A和ROM 30B。在本發(fā)明的優(yōu)選配置中,除了常規(guī)RAM 30外還采用非易失RAM(NVRAM)32。至于ROM 30B,在本發(fā)明中一般使用閃存34。
圖3是在存儲器30中的每個具體類型的存儲器中的相應數(shù)據(jù)存儲的詳細圖示。如圖所示,在DRAM 30A、NVRAM 32和閃存34之間存在數(shù)據(jù)交換。具體地說,閃存34存儲文件數(shù)據(jù)塊35。每個數(shù)據(jù)塊被定義為包括預定塊尺寸的數(shù)據(jù)字節(jié)。這樣的預定塊尺寸一般是512字節(jié),但是可以根據(jù)閃存34的擦除扇區(qū)的具體大小而變。如上所述,擦除扇區(qū)一般是64KB,但是可以從512字節(jié)一直到512KB。NVRAM 32的一個用途是存儲非易失數(shù)據(jù)31,該數(shù)據(jù)一般是文件分配表(FAT)31。FAT 31被保存在NVRAM 32中,以跟蹤在NVRAM 32和閃存34中存儲的文件數(shù)據(jù)的位置和狀態(tài)。NVRAM 32也被用于將被稱為最后數(shù)據(jù)部分33的文件數(shù)據(jù)字節(jié)存儲在緩沖區(qū)Z37中。DRAM30A包含另一個緩沖區(qū)Y36。緩沖區(qū)Y36和緩沖區(qū)Z37都被配置為包括足夠的用于包含一個數(shù)據(jù)塊的存儲空間。
在圖4中,數(shù)據(jù)輸入40由處理器22接收。與含有緩沖區(qū)Y36的DRAM耦合的處理器22處理數(shù)據(jù)輸入40,以根據(jù)數(shù)據(jù)管理器24的編程指令來確定它應當被存儲在哪個存儲器。如圖4所示,數(shù)據(jù)輸入40最終產(chǎn)生三個數(shù)據(jù)流(1)文件數(shù)據(jù)塊35;(2)最后數(shù)據(jù)部分(文件數(shù)據(jù)字節(jié))33和(3)非文件數(shù)據(jù)(FAT)31,它被生成或更新來識別或記錄數(shù)據(jù)輸入40的狀態(tài)。文件數(shù)據(jù)塊35將被直接寫入閃存34中,而最后數(shù)據(jù)部分33和FAT 31將被存儲在NVRAM 32中。在將最后數(shù)據(jù)部分33轉(zhuǎn)移到閃存34之前將其寫入NVRAM 32的過程被稱為緩存,下面將會更詳細地描述。隨著附加的數(shù)據(jù)被繼續(xù)接收到DRAM30A中,另一個最后數(shù)據(jù)部分將被寫入NVRAM 32中,直到緩沖區(qū)Z37被確定為已滿,這意味著已被存儲在緩沖區(qū)Z37中的文件數(shù)據(jù)加上附加的數(shù)據(jù)達到了預定的塊尺寸。此時,文件數(shù)據(jù)塊35將從緩沖區(qū)Z傳送到閃存34中。最后數(shù)據(jù)部分的剩余部分保留在緩沖區(qū)Z中。閃存34的一個完整扇區(qū)可被寫入,從而避免擦除和重寫單獨的位。緩存過程的結(jié)果就是閃存的寫效率和壽命預期都增加了。
在圖5中演示了數(shù)據(jù)管理器24執(zhí)行的緩存過程的具體流程。數(shù)據(jù)管理器24開始于步驟50,將含有X字節(jié)的文件數(shù)據(jù)接收到DRAM30A中。無論何時要存儲文件數(shù)據(jù),它都被發(fā)送到DRAM 30A中的緩沖區(qū)Y 36,并且處理器22在步驟52確定緩沖區(qū)Y 36是否滿。換言之,處理器22確定緩沖區(qū)Y 36中的數(shù)據(jù)是否已達到預定義的塊尺寸。如果緩沖區(qū)Y 36已滿,則根據(jù)步驟54,文件數(shù)據(jù)的一個數(shù)據(jù)塊將被直接寫入閃存34。同時,如步驟56所示,NVRAM 32中的非文件數(shù)據(jù)或FAT 31將被相應更新。
在文件數(shù)據(jù)的剩余數(shù)據(jù)字節(jié)(即,(X-C)字節(jié))上將重復從步驟50開始的相同過程,直到剩余數(shù)據(jù)被確定為不足以填充緩沖區(qū)Y 36。在該情況下,步驟58包括以下指令剩余文件數(shù)據(jù)一次一字節(jié)地被寫入NVRAM的緩沖區(qū)Z 37中。具體地說,緩沖區(qū)Z 37中的數(shù)據(jù)字節(jié)的計數(shù)增加1字節(jié),同時剩余文件數(shù)據(jù)在計數(shù)上減少1字節(jié)。在每個字節(jié)后,步驟60確定緩沖區(qū)Z 37是否已滿。如果緩沖區(qū)Z 37已滿,則處理器在步驟66指示將一個數(shù)據(jù)塊從緩沖區(qū)Z 37寫到閃存34。一旦數(shù)據(jù)塊從緩沖區(qū)Z 37移到閃存34,緩沖區(qū)Z 37就被重置為包含零個數(shù)據(jù)字節(jié)。在步驟68中,NVRAM 32中的非文件數(shù)據(jù)或FAT 31將被相應更新。
移到步驟62,所述過程進行檢查以確定最后數(shù)據(jù)部分是否已被全部轉(zhuǎn)移。如果沒有,則過程返回步驟58,將另一個字節(jié)寫入緩沖區(qū)Z?,F(xiàn)在,因為最后數(shù)據(jù)部分在尺寸上已經(jīng)小于一個塊,所以緩沖區(qū)Z 37在步驟60處不可能確定為變滿。當在步驟62處確定所有的剩余字節(jié)都已轉(zhuǎn)移并且X=0時,過程前進到步驟64,在此處它更新NVRAM 32中的FAT 31,然后該過程結(jié)束。如果就在步驟68的塊轉(zhuǎn)移之后,在步驟62確定剩余文件數(shù)據(jù)的所有數(shù)據(jù)字節(jié)都已被存儲在緩沖區(qū)Z 37中,那么再一次步驟64將更新NVRAM 32中的FAT 31,以反映NVRAM 32和閃存34中的數(shù)據(jù)存儲,并結(jié)束最后數(shù)據(jù)部分33的緩存過程。
在上述描述和相關(guān)附圖中給出的教導的幫助下,這些發(fā)明所屬領(lǐng)域的技術(shù)人員將會意識到這里闡述的發(fā)明的很多修改方案和其他實施方式。因此,應當理解,所述發(fā)明不限于所披露的具體實施方式
,多種修改方案和其他實施方式想要被包括在所附權(quán)利要求的范圍內(nèi)。雖然這里采用了特定的術(shù)語,但是它們僅僅是用于一般性的描述含義,而不是限制目的。
權(quán)利要求
1.一種計算設備中的存儲器管理方法,所述方法包括以下步驟在計算設備中接收文件數(shù)據(jù);處理所述文件數(shù)據(jù),以確定所述文件數(shù)據(jù)是由一個或多個數(shù)據(jù)塊以及最后數(shù)據(jù)部分構(gòu)成的,所述一個或多個數(shù)據(jù)塊中的每一個都具有預定的塊尺寸,所述最后數(shù)據(jù)部分具有比所述預定的塊尺寸小的尺寸;將所述一個或多個數(shù)據(jù)塊寫入第一存儲器中,所述第一存儲器被配置為存儲具有所述預定塊尺寸的數(shù)據(jù)塊;以及在將所述最后數(shù)據(jù)部分傳送到所述第一存儲器之前,將所述最后數(shù)據(jù)部分緩存到第二存儲器中。
2.根據(jù)權(quán)利要求1所述的方法,還包括以下步驟生成用于所述文件數(shù)據(jù)的非文件數(shù)據(jù);以及將所述非文件數(shù)據(jù)存儲在所述第二存儲器中。
3.根據(jù)權(quán)利要求2所述的方法,其中,所述非文件數(shù)據(jù)包括文件分配表(FAT)。
4.根據(jù)權(quán)利要求1所述的方法,其中,緩存所述最后數(shù)據(jù)部分的步驟包括以下步驟(A)分配所述第二存儲器的一部分作為文件緩沖區(qū),所述文件緩沖區(qū)被配置為存儲文件數(shù)據(jù);(B)將所述最后數(shù)據(jù)部分的數(shù)據(jù)字節(jié)寫入所述文件緩沖區(qū),直到所述文件緩沖區(qū)中的數(shù)據(jù)被確定為具有所述預定的塊尺寸;以及(C)響應于所述確定所述文件緩沖區(qū)中的所述數(shù)據(jù)具有所述預定的塊尺寸,在繼續(xù)步驟(B)之前將所述數(shù)據(jù)從所述文件緩沖區(qū)移到所述第一存儲器。
5.根據(jù)權(quán)利要求1所述的方法,其中所述第一存儲器是閃存。
6.根據(jù)權(quán)利要求2所述的方法,其中所述第二存儲器是非易失隨機存取存儲器。
7.一種包括指令的計算機可讀介質(zhì),所述指令在計算設備的處理器中執(zhí)行時包括以下步驟(A)接收文件數(shù)據(jù)輸入;(B)處理所述文件數(shù)據(jù)輸入,以將所述文件數(shù)據(jù)輸入分割成一個或多個數(shù)據(jù)塊和最后數(shù)據(jù)部分,所述一個或多個數(shù)據(jù)塊中的每一個都包含閾值數(shù)量的數(shù)據(jù)字節(jié),所述最后數(shù)據(jù)部分包括低于所述閾值數(shù)量的數(shù)據(jù)字節(jié);(C)將所述一個或多個數(shù)據(jù)塊存儲到第一存儲器中;(D)按字節(jié)將所述最后數(shù)據(jù)部分寫入第二存儲器中,直到所述第二存儲器被確定為包括等于所述閾值數(shù)量的文件數(shù)據(jù)字節(jié);(E)響應于確定了所述第二存儲器包括等于所述閾值數(shù)量的文件數(shù)據(jù)字節(jié),在繼續(xù)步驟(D)之前將所述文件數(shù)據(jù)字節(jié)從所述第二存儲器移到所述第一存儲器。
8.根據(jù)權(quán)利要求7所述的計算機可讀介質(zhì),其中所述指令還包括以下步驟生成用于所述文件數(shù)據(jù)輸入的非文件數(shù)據(jù);以及將所述非文件數(shù)據(jù)存儲在所述第二存儲器中。
9.根據(jù)權(quán)利要求8所述的計算機可讀介質(zhì),其中,所述非文件數(shù)據(jù)包括文件分配表(FAT)。
10.根據(jù)權(quán)利要求7所述的計算機可讀介質(zhì),其中所述第一存儲器是塊存取存儲器。
11.根據(jù)權(quán)利要求10所述的計算機可讀介質(zhì),其中所述第一存儲器是閃存。
12.根據(jù)權(quán)利要求7所述的計算機可讀介質(zhì),其中所述第二存儲器是非易失隨機存取存儲器。
13.根據(jù)權(quán)利要求11所述的計算機可讀介質(zhì),其中所述數(shù)據(jù)字節(jié)的閾值數(shù)量是可配置的。
14.一種存儲器管理系統(tǒng),包括處理器,被配置為接收和處理數(shù)據(jù);存儲器,至少包括第一存儲器和第二存儲器;和由所述處理器執(zhí)行的數(shù)據(jù)管理器,其中,所述數(shù)據(jù)管理器被編程為在所述數(shù)據(jù)內(nèi)限定多個數(shù)據(jù)塊和最后數(shù)據(jù)部分,其中每個數(shù)據(jù)塊都具有預定的塊尺寸,所述最后數(shù)據(jù)部分具有比所述預定的塊尺寸小的尺寸,所述數(shù)據(jù)管理器被編程為在所述第一存儲器中分配用于存儲所述多個數(shù)據(jù)塊的空間,以及所述數(shù)據(jù)管理器還被編程為在所述第二存儲器中指定用于緩存所述最后數(shù)據(jù)部分的空間。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述最后數(shù)據(jù)部分通過以下步驟被緩存到所述第二存儲器中(A)分配所述第二存儲器的一部分作為文件緩沖區(qū),所述文件緩沖區(qū)被配置為存儲文件數(shù)據(jù);(B)將所述最后數(shù)據(jù)部分的數(shù)據(jù)字節(jié)寫入所述文件緩沖區(qū),直到所述文件緩沖區(qū)中的數(shù)據(jù)被確定為具有所述預定的塊尺寸;以及(C)響應于所述確定所述文件緩沖區(qū)中的所述數(shù)據(jù)具有所述預定的塊尺寸,在繼續(xù)步驟(B)之前將所述數(shù)據(jù)從所述文件緩沖區(qū)移到所述第一存儲器。
16.根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述第一存儲器是塊存取存儲器。
17.根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述第一存儲器是閃存。
18.根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述第二存儲器是非易失隨機存取存儲器。
19.根據(jù)權(quán)利要求14所述的系統(tǒng),還包括用于向用戶顯示所述數(shù)據(jù)的輸出接口。
20.根據(jù)權(quán)利要求14所述的系統(tǒng),還包括用于接收所述數(shù)據(jù)的輸入接口。
21.根據(jù)權(quán)利要求14所述的系統(tǒng),還包括用于經(jīng)由通信網(wǎng)絡傳送所述數(shù)據(jù)的接口。
22.根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述數(shù)據(jù)管理器還被編程為生成用于所述數(shù)據(jù)的文件分配表(FAT),并將所述FAT存儲在所述第二存儲器中。
23.一種手持設備,包括數(shù)據(jù)輸入裝置;數(shù)據(jù)輸出裝置;和計算裝置,被配置為經(jīng)由通信網(wǎng)絡與所述數(shù)據(jù)輸入裝置、所述輸出裝置和數(shù)據(jù)源進行通信,所述計算裝置包括用于數(shù)據(jù)處理的處理器,存儲器,至少包括非易失隨機存取存儲器和塊存取存儲器,數(shù)據(jù)管理器,當由所述處理器執(zhí)行時包括以下步驟(A)從文件數(shù)據(jù)輸入識別一個或多個數(shù)據(jù)塊和最后數(shù)據(jù)部分,所述一個或多個數(shù)據(jù)塊中的每一個都具有一個閾值塊尺寸,所述最后數(shù)據(jù)部分具有比所述閾值塊尺寸小的尺寸;(B)將所述一個或多個數(shù)據(jù)塊存儲到所述塊存取存儲器中;(C)按字節(jié)將所述最后數(shù)據(jù)部分寫入所述非易失隨機存取存儲器中,直到所述非易失隨機存取存儲器被確定為包括所述閾值塊尺寸的文件數(shù)據(jù);(D)響應于確定了所述非易失隨機存取存儲器被確定為包括所述閾值塊尺寸的文件數(shù)據(jù),在繼續(xù)步驟(C)之前將所述文件數(shù)據(jù)從所述非易失隨機存取存儲器移到所述塊存取存儲器。
24.根據(jù)權(quán)利要求23所述的手持設備,其中所述塊存取存儲器是閃存。
25.根據(jù)權(quán)利要求23所述的手持設備,其中所述閾值塊尺寸是可配置的。
全文摘要
披露了一種用于提高計算設備的分離的存儲器中的數(shù)據(jù)完整性和數(shù)據(jù)存儲效率的系統(tǒng)和方法。具體地說,本發(fā)明引入了兩種類型存儲器,即NVRAM和閃存的組合作為存儲文件數(shù)據(jù)的永久存儲器。通過將數(shù)據(jù)文件的最后數(shù)據(jù)部分不斷地緩存到NVRAM中,它避免了閃存中對單獨位的任何扇區(qū)擦除。這樣的方法提高了閃存的數(shù)據(jù)存儲效率和壽命預期。本發(fā)明幾乎在所有計算設備中都有非常廣泛的應用,包括任何PC(桌面型或膝上型)和服務器計算機。它演示了在采用Windows
文檔編號G06F12/02GK101014929SQ200580025828
公開日2007年8月8日 申請日期2005年7月12日 優(yōu)先權(quán)日2004年7月30日
發(fā)明者戴維·波泰格 申請人:美國聯(lián)合包裹服務公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1