本發(fā)明涉及存儲技術(shù)領(lǐng)域,具體而言,涉及一種動態(tài)存儲方法、裝置及系統(tǒng)。
背景技術(shù):
目前,通常嵌入式系統(tǒng)使用文件管理系統(tǒng)來管理相關(guān)數(shù)據(jù)的存儲。一些小型嵌入式系統(tǒng),系統(tǒng)資源有限,無法使用文件管理系統(tǒng)。由于存儲器的扇區(qū)擦寫次數(shù)有限,在固定的存儲器地址頻繁地存儲少量數(shù)據(jù)會極大地減少存儲器的使用壽命,因此,提供一種減少對某一個扇區(qū)的頻繁寫入,使數(shù)據(jù)能夠保存在存儲器的次數(shù)平均,最大限度利用存儲器的每一個扇區(qū)的寫入次數(shù)的方法是十分必要的。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種動態(tài)存儲方法,以實現(xiàn)平均使用存儲器每一個扇區(qū)的寫入次數(shù),以延長存儲器的使用壽命。
本發(fā)明的另一目的在于提供一種動態(tài)存儲裝置,以實現(xiàn)平均使用存儲器每一個扇區(qū)的寫入次數(shù),以延長存儲器的使用壽命。
本發(fā)明的另一目的在于提供一種動態(tài)存儲系統(tǒng),以實現(xiàn)平均使用存儲器每一個扇區(qū)的寫入次數(shù),以延長存儲器的使用壽命。
為了實現(xiàn)上述目的,本發(fā)明實施例采用的技術(shù)方案如下:
第一方面,本發(fā)明實施例提供了一種動態(tài)存儲方法,應用于存儲器,所述方法包括:
建立至少一個地址區(qū)域和至少一個數(shù)據(jù)區(qū)域,每一個所述數(shù)據(jù)區(qū)域?qū)粋€地址;
間隔第一預定時間循環(huán)在所述地址區(qū)域?qū)懭胍粋€待存入數(shù)據(jù)的所述數(shù)據(jù)區(qū)域的地址;
根據(jù)所述地址區(qū)域?qū)懭氲牡刂穼?shù)據(jù)每間隔第二預定時間寫入所述數(shù)據(jù)區(qū)域。
第二方面,本發(fā)明實施例還提供了一種動態(tài)存儲裝置,應用于存儲器,所述裝置包括:
建立模塊,用于建立至少一個地址區(qū)域和至少一個數(shù)據(jù)區(qū)域,每一個所述數(shù)據(jù)區(qū)域?qū)粋€地址;
第一寫入模塊,用于間隔第一預定時間循環(huán)在所述地址區(qū)域?qū)懭胍粋€待存入數(shù)據(jù)的所述數(shù)據(jù)區(qū)域的地址;
第二寫入模塊,用于根據(jù)所述地址區(qū)域?qū)懭氲牡刂穼?shù)據(jù)每間隔第二預定時間寫入所述數(shù)據(jù)區(qū)域。
第三方面,本發(fā)明實施例還提供了一種動態(tài)存儲系統(tǒng),所述系統(tǒng)包括:
存儲器;
處理器;以及
動態(tài)存儲裝置,所述動態(tài)存儲裝置安裝于所述存儲器中并包括一個或多個由所述處理器執(zhí)行的軟件功能模塊,所述動態(tài)存儲裝置包括:
建立模塊,用于建立至少一個地址區(qū)域和至少一個數(shù)據(jù)區(qū)域,每一個所述數(shù)據(jù)區(qū)域?qū)粋€地址;
第一寫入模塊,用于間隔第一預定時間循環(huán)在所述地址區(qū)域?qū)懭胍粋€待存入數(shù)據(jù)的所述數(shù)據(jù)區(qū)域的地址;
第二寫入模塊,用于根據(jù)所述地址區(qū)域?qū)懭氲牡刂穼?shù)據(jù)每間隔第二預定時間寫入所述數(shù)據(jù)區(qū)域。
本發(fā)明實施例提供的一種動態(tài)存儲方法、裝置及系統(tǒng),該動態(tài)存儲方法及裝置均應用于存儲器,該動態(tài)存儲系統(tǒng)包括存儲器、處理器以及動態(tài)存儲裝置,該動態(tài)存儲裝置包括建立模塊、第一寫入模塊以及第二寫入模塊,該建立模塊用于建立至少一個地址區(qū)域和至少一個數(shù)據(jù)區(qū)域,每一個所述數(shù)據(jù)區(qū)域?qū)粋€地址,該第一寫入模塊用于間隔第一預定時間循環(huán)在所述地址區(qū)域?qū)懭胍粋€待存入數(shù)據(jù)的所述數(shù)據(jù)區(qū)域的地址,該第二寫入模塊用于根據(jù)所述地址區(qū)域?qū)懭氲牡刂穼?shù)據(jù)每間隔第二預定時間寫入所述數(shù)據(jù)區(qū)域,通過本方案以實現(xiàn)平均使用存儲器每一個扇區(qū)的寫入次數(shù),以延長存儲器的使用壽命。
為使本發(fā)明的上述目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,應當理解,以下附圖僅示出了本發(fā)明的某些實施例,因此不應被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1示出了本發(fā)明實施例提供的一種動態(tài)存儲系統(tǒng)的結(jié)構(gòu)示意圖。
圖2示出了本發(fā)明實施例提供的一種動態(tài)存儲方法的流程示意圖。
圖3示出了本發(fā)明實施例提供的一種動態(tài)存儲方法的子步驟的流程示意圖。
圖4示出了本發(fā)明實施例提供的一種動態(tài)存儲裝置的功能模塊示意圖。
圖示:300-動態(tài)存儲系統(tǒng);310-動態(tài)存儲裝置;320-存儲器;330-處理器;311-建立模塊;312-第一寫入模塊;313-第二寫入模塊。
具體實施方式
下面將結(jié)合本發(fā)明實施例中附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。通常在此處附圖中描述和示出的本發(fā)明實施例的組件可以以各種不同的配置來布置和設(shè)計。因此,以下對在附圖中提供的本發(fā)明的實施例的詳細描述并非旨在限制要求保護的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實施例。基于本發(fā)明的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。同時,在本發(fā)明的描述中,術(shù)語“第一”、“第二”等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。
請參照圖1,是本發(fā)明實施例提供的一種動態(tài)存儲系統(tǒng)300的結(jié)構(gòu)示意圖,該動態(tài)存儲系統(tǒng)300包括動態(tài)存儲裝置310、存儲器320以及處理器330,本發(fā)明實施例提供的動態(tài)存儲方法應用于存儲器320,以實現(xiàn)平均使用存儲器320的扇區(qū)擦寫次數(shù),以延長存儲器320的使用壽命。容易理解的,該動態(tài)存儲方法對應的軟件代碼存儲于存儲器320并由處理器330執(zhí)行,該處理器330可以是,但不限于,x86架構(gòu)的處理器或arm處理器。該存儲器320和處理器330各元件相互之間直接或間接地電性連接,以實現(xiàn)數(shù)據(jù)的傳輸或交互。例如,這些元件相互之間可通過一條或多條通訊總線或信號線實現(xiàn)電性連接。所述動態(tài)存儲裝置310包括至少一個可以軟件或固件(firmware)的形式存儲于存儲器320中或固化在動態(tài)存儲系統(tǒng)300(operatingsystem,os)中的軟件功能模塊。處理器330用于執(zhí)行存儲器320中存儲的可執(zhí)行模塊,例如動態(tài)存儲裝置310包括的軟件功能模塊及計算機程序等。
其中,存儲器320可以是,但不限于,隨機存取存儲器(randomaccessmemory,ram),只讀存儲器(readonlymemory,rom),可編程只讀存儲器(programmableread-onlymemory,prom),可擦除只讀存儲器(erasableprogrammableread-onlymemory,eprom),電可擦除只讀存儲器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存儲器320用于存儲程序,處理器330在接收到執(zhí)行指令后,執(zhí)行所述程序。
請參照圖2,是本發(fā)明實施例提供的一種動態(tài)存儲方法的流程示意圖,該動態(tài)存儲方法應用于存儲器320,該動態(tài)存儲方法包括:
步驟s110,建立至少一個地址區(qū)域和至少一個數(shù)據(jù)區(qū)域,每一個所述數(shù)據(jù)區(qū)域?qū)粋€地址。
在存儲器320的物理空間上建立至少一個地址區(qū)域和至少一個數(shù)據(jù)區(qū)域,每一個數(shù)據(jù)區(qū)域?qū)粋€地址。該地址區(qū)域用于存儲各個數(shù)據(jù)區(qū)域的地址,該數(shù)據(jù)區(qū)域用于寫入數(shù)據(jù),換句話說,該數(shù)據(jù)區(qū)域用于存儲數(shù)據(jù)。該地址區(qū)域可以由一個或多個存儲器320的扇區(qū)構(gòu)成,該數(shù)據(jù)區(qū)域也可以由一個或多個存儲器320的扇區(qū)構(gòu)成,通常情況下,數(shù)據(jù)區(qū)域的扇區(qū)遠多于地址區(qū)域的扇區(qū)。
步驟s120,間隔第一預定時間循環(huán)在所述地址區(qū)域?qū)懭胍粋€待存入數(shù)據(jù)的所述數(shù)據(jù)區(qū)域的地址。
該地址區(qū)域每次存入一個待存入數(shù)據(jù)的數(shù)據(jù)區(qū)域的地址,即當其中一個數(shù)據(jù)區(qū)域需要寫入數(shù)據(jù)時,則該地址區(qū)域?qū)懭朐摂?shù)據(jù)區(qū)域的地址。該第一預定時間通常間隔時間較長,同時該第一預定時間可根據(jù)需要進行設(shè)置,如當數(shù)據(jù)區(qū)域所在的扇區(qū)的最大擦寫時間為10分鐘,則該第一預定時間可以為5分鐘左右,即該存儲器320間隔5分鐘左右循環(huán)在地址區(qū)域?qū)懭胍粋€待存入數(shù)據(jù)的數(shù)據(jù)區(qū)域的地址。容易理解的,該第一預定時間小于每一個數(shù)據(jù)區(qū)域所在扇區(qū)的最大擦寫時間,以保證每個數(shù)據(jù)區(qū)域所在的扇區(qū)的擦寫次數(shù)循環(huán)使用,以延長存儲器320的使用壽命。
步驟s130,根據(jù)所述地址區(qū)域?qū)懭氲牡刂穼?shù)據(jù)每間隔第二預定時間寫入所述數(shù)據(jù)區(qū)域。
由于該地址區(qū)域間隔第一預定時間寫入需要存儲數(shù)據(jù)的數(shù)據(jù)區(qū)域的地址,則根據(jù)該寫入的地址將數(shù)據(jù)依次存儲入該地址指向的數(shù)據(jù)區(qū)域中,該第二預定時間很短,可能為幾秒,如5秒,以便于快速將數(shù)據(jù)寫入地址對應的數(shù)據(jù)區(qū)域中。當?shù)谝活A定時間到達后,該地址區(qū)域?qū)懭胂乱粋€數(shù)據(jù)區(qū)域的地址,以便于下一個數(shù)據(jù)區(qū)域繼續(xù)寫入數(shù)據(jù),通過不斷地變換不同的數(shù)據(jù)區(qū)域,以使得不同數(shù)據(jù)區(qū)域所在的扇區(qū)的擦寫次數(shù)被平均使用,以實現(xiàn)存儲器320的使用壽命。具體為,請參照圖3,是本發(fā)明實施例提供的一種動態(tài)存儲方法的步驟s130的子步驟的流程示意圖,該步驟s130包括:
步驟s131,間隔所述第二預定時間從所述地址區(qū)域讀出寫入的地址。
當該地址區(qū)域?qū)懭胍粋€待存入數(shù)據(jù)的數(shù)據(jù)區(qū)域的地址時,該存儲器320間隔第二預定時間從地址區(qū)域讀取該地址,該第二預定時間很短,大概幾秒,如5秒。
步驟s132,按照所述寫入的地址指向的數(shù)據(jù)區(qū)域進行存儲數(shù)據(jù)。
當該存儲器320按照第二預定時間從地址區(qū)域讀取出該地址后,按照該地址指向的數(shù)據(jù)區(qū)域?qū)懭霐?shù)據(jù),換句話說,按照該地址指向的數(shù)據(jù)區(qū)域存儲數(shù)據(jù)。由于該第二預定時間間隔很短,該存儲器320可以頻繁地將數(shù)據(jù)存儲入相應的數(shù)據(jù)區(qū)域中。容易理解的,該存儲器320也可以讀取該地址指向的數(shù)據(jù)區(qū)域中存儲的數(shù)據(jù)。
請參照圖4,是本發(fā)明實施例提供的一種動態(tài)存儲裝置310的功能模塊示意圖,該動態(tài)存儲裝置310應用于存儲器320,該動態(tài)存儲裝置310包括:
建立模塊311,用于建立至少一個地址區(qū)域和至少一個數(shù)據(jù)區(qū)域,每一個所述數(shù)據(jù)區(qū)域?qū)粋€地址。
在本發(fā)明實施例中,步驟s110可以由建立模塊311執(zhí)行。
第一寫入模塊312,用于間隔第一預定時間循環(huán)在所述地址區(qū)域?qū)懭胍粋€待存入數(shù)據(jù)的所述數(shù)據(jù)區(qū)域的地址。
在本發(fā)明實施例中,步驟s120可以由第一寫入模塊312執(zhí)行。
第二寫入模塊313,用于根據(jù)所述地址區(qū)域?qū)懭氲牡刂穼?shù)據(jù)每間隔第二預定時間寫入所述數(shù)據(jù)區(qū)域。
在本發(fā)明實施例中,步驟s130~s132可以由第二寫入模塊313執(zhí)行。
綜上所述,本發(fā)明實施例提供一種動態(tài)存儲方法、裝置及系統(tǒng),該動態(tài)存儲系統(tǒng)包括處理器、存儲器以及動態(tài)存儲裝置,該動態(tài)存儲方法及裝置均應用于存儲器,該動態(tài)存儲方法包括建立至少一個地址區(qū)域和至少一個數(shù)據(jù)區(qū)域,每一個數(shù)據(jù)區(qū)域?qū)粋€地址,間隔第一預定時間循環(huán)在地址區(qū)域?qū)懭胍粋€待存入數(shù)據(jù)的數(shù)據(jù)區(qū)域的地址,根據(jù)地址區(qū)域?qū)懭氲牡刂穼?shù)據(jù)每間隔第二預定時間寫入所述數(shù)據(jù)區(qū)域。在本發(fā)明實施例中,由于是輪流對每個數(shù)據(jù)區(qū)域的數(shù)據(jù)進行寫入,因此,平均使用了每個數(shù)據(jù)區(qū)域?qū)纳葏^(qū),以延長了存儲器的使用壽命。
在本申請所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,也可以通過其它的方式實現(xiàn)。以上所描述的裝置實施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施例的裝置、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應當注意,在有些作為替換的實現(xiàn)方式中,方框中所標注的功能也可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一起形成一個獨立的部分,也可以是各個模塊單獨存在,也可以兩個或兩個以上模塊集成形成一個獨立的部分。
所述功能如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步定義和解釋。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應所述以權(quán)利要求的保護范圍為準。