數(shù)據(jù)的存儲方法
【專利摘要】本發(fā)明提出一種數(shù)據(jù)的存儲方法,包括以下步驟:獲取控制芯片的FLASH中的N個字節(jié)以用于存儲數(shù)據(jù);將N個字節(jié)化分成a組存儲空間,其中,每組存儲空間包括兩個存儲段,第一存儲段用于存儲該組存儲空間已經(jīng)擦寫的次數(shù),第二存儲段用于存儲數(shù)據(jù);讀取每組存儲空間中的第一存儲段的數(shù)據(jù);判斷第一存儲段的數(shù)據(jù)是否小于預設(shè)次數(shù);在第一存儲段的數(shù)據(jù)小于預設(shè)次數(shù)時,將數(shù)據(jù)存儲于該組存儲空間的第二存儲段中,并控制該組存儲空間的第一存儲段中的數(shù)據(jù)加一。本發(fā)明的數(shù)據(jù)的存儲方法不需要單獨設(shè)置存儲芯片,成本較低,并且可以提高數(shù)據(jù)的可擦寫次數(shù),提高產(chǎn)品的性能。
【專利說明】數(shù)據(jù)的存儲方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)存儲【技術(shù)領(lǐng)域】,特別涉及一種數(shù)據(jù)的存儲方法。
【背景技術(shù)】
[0002] 隨著家用電器技術(shù)的發(fā)展,現(xiàn)有的家電一般都具有掉電記憶功能,即在停電之后 再次上電家電能夠記憶停電之前的設(shè)置參數(shù)(可以簡稱為斷電參數(shù)),例如開機狀態(tài)、設(shè)置 溫度等?,F(xiàn)有技術(shù)中對家用電器的斷電參數(shù)進行記憶的實現(xiàn)主要有兩種方式,一種方式是 通過 EEPROM (Electrically Erasable Programmable Read-Only Memory,電可擦可編輯 只讀存儲器)保存斷電參數(shù),其可擦寫次數(shù)多,可擦寫次數(shù)達一百萬次。如圖1所示為采用 EEPROM存儲斷電數(shù)據(jù)的控制板的示意圖,除了主控芯片101外,還需要設(shè)置單獨的EEPROM 存儲芯片102。另一種方式是通過家用電器控制板的主控芯片自帶的FLASH保存斷電參數(shù), 此方式不需要單獨設(shè)置存儲芯片。
[0003] 現(xiàn)有技術(shù)的缺點是:采用EEPROM存儲芯片102存儲數(shù)據(jù)需要單獨設(shè)置芯片,成本 較高;而采用主控芯片的FLASH存儲數(shù)據(jù),由于FLASH本身的工藝原因,其可重復擦寫次數(shù) 只有一萬次,不能滿足多次保存數(shù)據(jù)的需要。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的旨在至少在一定程度上解決上述的技術(shù)問題之一。
[0005] 為此,本發(fā)明的目的在于提出一種數(shù)據(jù)的存儲方法,該存儲方法不需要單獨設(shè)置 存儲芯片,成本較低,并且可以提高數(shù)據(jù)的可擦寫次數(shù),提高產(chǎn)品的性能。
[0006] 為達到上述目的,本發(fā)明實施例提出一種數(shù)據(jù)的存儲方法,該數(shù)據(jù)的存儲方法包 括以下步驟:獲取控制芯片的FLASH中的N個字節(jié)以用于存儲數(shù)據(jù);將所述N個字節(jié)分成a 組存儲空間,其中,每組存儲空間包括兩個存儲段,第一存儲段用于存儲該組存儲空間已經(jīng) 擦寫的次數(shù),第二存儲段用于存儲數(shù)據(jù);讀取所述每組存儲空間中的所述第一存儲段的數(shù) 據(jù);判斷所述第一存儲段的數(shù)據(jù)是否小于預設(shè)次數(shù);在所述第一存儲段的數(shù)據(jù)小于預設(shè)次 數(shù)時,將數(shù)據(jù)存儲于該組存儲空間的所述第二存儲段中,并控制該組存儲空間的所述第一 存儲段中的數(shù)據(jù)加一。
[0007] 根據(jù)本發(fā)明實施例的數(shù)據(jù)的存儲方法,不需要單獨設(shè)置存儲芯片,通過采用控制 芯片的FLASH進行數(shù)據(jù)存儲可以降低成本,并且將FLASH的存儲空間劃分為a組存儲空間, 通過改變數(shù)據(jù)在a組存儲空間的存儲位置,從而可以提高FLASH可擦寫數(shù)據(jù)的次數(shù)例如可 以達到EEPROM存儲的可擦寫次數(shù)一百萬次。本發(fā)明實施例的數(shù)據(jù)存數(shù)方法在節(jié)省成本的 同時,提商了廣品的可罪性。
[0008] 進一步地,在本發(fā)明的一個實施例中,上述數(shù)據(jù)的存儲方法還可以包括:在所述第 一存儲段的數(shù)據(jù)等于預設(shè)次數(shù)時,判斷該組存儲空間是否為最后一組存儲空間;如果否,則 讀取該組存儲空間的下一組存儲空間的所述第一存儲段的數(shù)據(jù)并判斷所述第一存儲段的 數(shù)據(jù)是否小于所述預設(shè)次數(shù)。
[0009] 其中,在本發(fā)明的一個實施例中,所述預設(shè)次數(shù)可以為一萬次。
[0010] 另外,在本發(fā)明的另一個實施例中,上述數(shù)據(jù)的存儲方法還包括:判斷所述a組存 儲空間是否為首次存儲數(shù)據(jù);如果是,則控制所述a組存儲空間的每組存儲空間進行初始 化。
[0011] 在本發(fā)明的再一個實施例中,N和a的取值可以為:N=2200,a=100。
[0012] 本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變 得明顯,或通過本發(fā)明的實踐了解到。
【專利附圖】
【附圖說明】
[0013] 本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變 得明顯和容易理解,其中 :
[0014] 圖1為現(xiàn)有技術(shù)的采用EEPR0M存儲數(shù)據(jù)的示意圖;
[0015] 圖2為根據(jù)本發(fā)明實施例的數(shù)據(jù)的存儲方法的流程圖;
[0016] 圖3為根據(jù)本發(fā)明的一個實施例的采用控制芯片的FLASH存儲數(shù)據(jù)的示意圖; [0017] 圖4為根據(jù)本發(fā)明的一個實施例的數(shù)據(jù)的存儲方法的流程圖;以及
[0018] 圖5為根據(jù)本發(fā)明的另一個實施例的數(shù)據(jù)的存儲方法的流程圖。
【具體實施方式】
[0019] 下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終 相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附 圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
[0020] 下文的公開提供了許多不同的實施例或例子用來實現(xiàn)本發(fā)明的不同結(jié)構(gòu)。為了簡 化本發(fā)明的公開,下文中對特定例子的部件和設(shè)置進行描述。當然,它們僅僅為示例,并且 目的不在于限制本發(fā)明。此外,本發(fā)明可以在不同例子中重復參考數(shù)字和/或字母。這種重 復是為了簡化和清楚的目的,其本身不指示所討論各種實施例和/或設(shè)置之間的關(guān)系。此 夕卜,本發(fā)明提供了的各種特定的工藝和材料的例子,但是本領(lǐng)域普通技術(shù)人員可以意識到 其他工藝的可應用于性和/或其他材料的使用。另外,以下描述的第一特征在第二特征之 "上"的結(jié)構(gòu)可以包括第一和第二特征形成為直接接觸的實施例,也可以包括另外的特征形 成在第一和第二特征之間的實施例,這樣第一和第二特征可能不是直接接觸。
[0021] 在本發(fā)明的描述中,需要說明的是,除非另有規(guī)定和限定,術(shù)語"安裝"、"相連"、 "連接"應做廣義理解,例如,可以是機械連接或電連接,也可以是兩個元件內(nèi)部的連通,可 以是直接相連,也可以通過中間媒介間接相連,對于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù) 具體情況理解上述術(shù)語的具體含義。
[0022] 下面參照附圖描述根據(jù)本發(fā)明實施例的數(shù)據(jù)的存儲方法。
[0023] 如圖2所示,本發(fā)明實施例的數(shù)據(jù)的存儲方法包括以下步驟:
[0024] S201,獲取控制芯片的FLASH中的N個字節(jié)以用于存儲數(shù)據(jù)。
[0025] 在本發(fā)明的一個實施例中,如圖3所示,可以采用家用電器的控制板的控制芯片 301自身的FLASH302進行數(shù)據(jù)存儲例如對家用電器的斷電參數(shù)進行存儲,控制芯片301自 身所帶的FLASH302通常有比較大的存儲空間,例如一般在16K字節(jié)以上即16*1024=16384 個字節(jié),其中可以用12K字節(jié)來保存固定的程序數(shù)據(jù),而其余的4K字節(jié)可以用來保存數(shù)據(jù) 例如家用電器的斷電參數(shù)。所以可以獲取控制芯片301的FLASH302中的Ν個字節(jié)以用于 存儲數(shù)據(jù)例如家用電器的斷電參數(shù)。在本發(fā)明的一個實施例中Ν的取值可以為:Ν=2200,即 獲取FLASH302中的2200字節(jié)存儲斷電參數(shù)。在獲取Ν個字節(jié)之后進入步驟S202。
[0026] S202,將Ν個字節(jié)化分成a組存儲空間,其中,每組存儲空間包括兩個存儲段,第一 存儲段用于存儲該組存儲空間已經(jīng)擦寫的次數(shù),第二存儲段用于存儲數(shù)據(jù)。
[0027] 在步驟S201獲取FLASH302中的N個例如2200個字節(jié)之后,將N個字節(jié)劃分成 a組存儲空間,每組存儲空間包括兩個存儲段即第一存儲段和第二存儲段,其中,第一存儲 段用于存儲該組存儲空間已經(jīng)擦寫的次數(shù),第二存儲段用于存儲數(shù)據(jù)。一般家用電器需要 保存的斷電參數(shù)數(shù)量有限不會超過20個字節(jié)。在本發(fā)明的一個實施例中a的取值可以 為:a=100。例如將2200個字節(jié)劃分為100組存儲空間,每組存儲空間包括22個字節(jié),其 中2個字節(jié)可以作為第一存儲段,用于存儲相應組存儲空間已經(jīng)擦寫的次數(shù),剩余的20個 字節(jié)可以作為第二存儲段用于存儲數(shù)據(jù)例如存儲家用電器的斷電參數(shù)。在將N個字節(jié)劃分 為a組存儲空間之后,則可以將斷電參數(shù)存儲于每組存儲空間的第二存儲段中,但是,由于 FLASH302的每組存儲空間的重復擦寫次數(shù)只有一萬次,所以需要根據(jù)每組存儲空間的第一 存儲段的數(shù)據(jù)判斷該組存儲空間是否可以寫入數(shù)據(jù),即進入步驟S203。
[0028] S203,讀取每組存儲空間中的第一存儲段的數(shù)據(jù)。
[0029] 因為FLASH302的每組存儲空間的重復擦寫次數(shù)只有一萬次,所以需要根據(jù)每組 存儲空間的次數(shù)判斷是否可以將數(shù)據(jù)寫入該組,即需要讀取每組存儲空間中的第一存儲段 的數(shù)據(jù),并進入步驟S204。
[0030] S204,判斷第一存儲段的數(shù)據(jù)是否小于預設(shè)次數(shù)。
[0031] 在本發(fā)明的一個實施例中,預設(shè)次數(shù)可以為一萬次,即FLASH302的可擦寫次數(shù), 換言之,在步驟S203讀取每組存儲空間的第一存儲段的數(shù)據(jù)后,判斷第一存儲段的數(shù)據(jù)是 否小于一萬次,在第一存儲段的數(shù)據(jù)小于預設(shè)次數(shù)時例如第一存儲段數(shù)據(jù)小于一萬次時, 進入步驟S205。
[0032] S205,將數(shù)據(jù)存儲于該組存儲空間的第二存儲段中,并控制該組存儲空間的第一 存儲段中的數(shù)據(jù)加一。
[0033] 在步驟S204判斷第一存儲段的數(shù)據(jù)小于預設(shè)次數(shù)例如一萬次時,則將需要存儲 的數(shù)據(jù)存儲于該組存儲空間的第二存儲段中,同時,在將數(shù)據(jù)存儲于該組存儲空間的第二 存儲段中之后,控制該組存儲空間的第一存儲段中的數(shù)據(jù)加一,即表示FLASH302的數(shù)據(jù)存 儲空間中的該組存儲空間的數(shù)據(jù)存儲次數(shù)增加了 一次。
[0034] 需要說明的是,在每次需要保存數(shù)據(jù)例如斷電參數(shù)時,都需要通過步驟S203讀取 每組存儲空間中的第一存儲段的數(shù)據(jù),并通過步驟S204判斷第一存儲段中的數(shù)據(jù)是否小 于預設(shè)次數(shù)例如一萬次,并在第一存儲段小于預設(shè)次數(shù)時,通過步驟S205將數(shù)據(jù)例如斷電 參數(shù)存儲于該組存儲空間的第二存儲段中,并將該組存儲空間的第一存儲段的數(shù)據(jù)加一。 另外,在本發(fā)明的一個實施例中,如圖4所示,還包括如下步驟:
[0035] S401,在第一存儲段的數(shù)據(jù)等于預設(shè)次數(shù)時,判斷該組存儲空間是否為最后一組 存儲空間。
[0036] 在步驟S204判斷第一存儲段的數(shù)據(jù)等于預設(shè)次數(shù)例如一萬次時,則表示該組存 儲空間的可擦寫次數(shù)已滿,不可以再存儲數(shù)據(jù),則判斷該組存儲空間是否為a組存儲空間 中的最后一組,即言,判斷a組存儲空間的擦寫次數(shù)是否均已滿,如果是,則進入步驟S402。 如果否,即該組存儲空間不是a組存儲空間中的最后一組,換言之,a組存儲空間中還有其 他擦寫次數(shù)未滿的存儲空間組,則進入步驟S403。
[0037] S402, FLASH的a組存儲空間不可以再存儲數(shù)據(jù)。
[0038] S403,讀取該組存儲空間的下一組存儲空間的第一存儲段的數(shù)據(jù)并判斷第一存儲 段的數(shù)據(jù)是否小于預設(shè)次數(shù)。
[0039] 如果步驟S401判斷該組存儲空間不是a組存儲空間的最后一組,即a組存儲空間 中還有擦寫次數(shù)未滿的存儲空間組,則讀取該組存儲空間的下一組存儲空間的第一存儲段 的數(shù)據(jù),并判斷該第一存儲段的數(shù)據(jù)是否小于預設(shè)次數(shù)例如一萬次,即返回步驟S204。如 此循環(huán),直至FLASH302中的a組存儲空間的擦寫次數(shù)都滿,則FLASH302即不可以再存儲數(shù) 據(jù)。
[0040] 可以看出,雖然控制芯片301的FLASH302的a組存儲空間例如100組中每組存儲 空間的可擦寫次數(shù)為預設(shè)次數(shù)例如一萬次,但是通過改變數(shù)據(jù)在FLASH302在100組存儲空 間的存儲位置,可以使數(shù)據(jù)的存儲次數(shù)達到EEPR0M的一百萬次,達到了使用控制芯片301 自帶的FLASH302模擬EEPR0M存儲數(shù)據(jù)的目的。在存儲數(shù)據(jù)已滿的情況下,還可以給出提 示以使用戶知道FLASH302中已寫入一百萬次。
[0041] 在本發(fā)明的一個實施例中,如圖5所示,上述數(shù)據(jù)的存儲方法還包括:
[0042] S501,判斷a組存儲空間是否為首次存儲數(shù)據(jù)。
[0043] 在設(shè)備例如家用電器上電以后,首先判斷FLASH302的a組存儲空間是否為首次 存儲數(shù)據(jù),如果是首次存儲數(shù)據(jù),則進入步驟S502,如果不是首次存儲數(shù)據(jù),則返回步驟 S203。
[0044] S502,控制a組存儲空間的每組存儲空間進行初始化。
[0045] 如果步驟S501判斷FLASH302中的a組存儲空間為首次進行數(shù)據(jù)存儲,則控制每 組存儲空間進行初始化,即將每組存儲空間的第一存儲段和第二存儲段均進行賦值零,進 行清零以方便數(shù)據(jù)存儲。在控制a組存儲空間的每組存儲空間完成初始化后,如果存儲數(shù) 據(jù),則返回步驟S203。
[0046] 綜上所述,根據(jù)本發(fā)明實施例的數(shù)據(jù)的存儲方法,通過采用控制芯片的FLASH進 行數(shù)據(jù)存儲可以降低成本,并且將FLASH的存儲空間劃分為a組存儲空間,通過改變數(shù)據(jù)在 a組存儲空間的存儲位置,從而可以提高FLASH可擦寫數(shù)據(jù)的次數(shù)例如可以達到EEPR0M存 儲的可擦寫次數(shù)一百萬次。本發(fā)明實施例的數(shù)據(jù)存數(shù)方法在節(jié)省成本的同時,提高了產(chǎn)品 的可靠性。
[0047] 流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括 一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部 分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順 序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應被本發(fā)明 的實施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
[0048] 在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認為是 用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機可讀介質(zhì)中,以 供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計算機的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令 執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或 設(shè)備而使用。就本說明書而言,"計算機可讀介質(zhì)"可以是任何可以包含、存儲、通信、傳播 或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用 的裝置。計算機可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線 的電連接部(電子裝置),便攜式計算機盤盒(磁裝置),隨機存取存儲器(RAM),只讀存儲器 (ROM),可擦除可編輯只讀存儲器(EPROM或閃速存儲器),光纖裝置,以及便攜式光盤只讀存 儲器(⑶ROM)。另外,計算機可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的 介質(zhì),因為可以例如通過對紙或其他介質(zhì)進行光學掃描,接著進行編輯、解譯或必要時以其 他合適方式進行處理來以電子方式獲得所述程序,然后將其存儲在計算機存儲器中。
[0049] 應當理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述 實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件 或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下 列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路 的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場 可編程門陣列(FPGA)等。
[0050] 本【技術(shù)領(lǐng)域】的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步 驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介 質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。
【權(quán)利要求】
1. 一種數(shù)據(jù)的存儲方法,其特征在于,包括以下步驟: 獲取控制芯片的FLASH中的N個字節(jié)以用于存儲數(shù)據(jù); 將所述N個字節(jié)化分成a組存儲空間,其中,每組存儲空間包括兩個存儲段,第一存儲 段用于存儲該組存儲空間已經(jīng)擦寫的次數(shù),第二存儲段用于存儲數(shù)據(jù); 讀取所述每組存儲空間中的所述第一存儲段的數(shù)據(jù); 判斷所述第一存儲段的數(shù)據(jù)是否小于預設(shè)次數(shù);以及 在所述第一存儲段的數(shù)據(jù)小于預設(shè)次數(shù)時,將數(shù)據(jù)存儲于該組存儲空間的所述第二存 儲段中,并控制該組存儲空間的所述第一存儲段中的數(shù)據(jù)加一。
2. 如權(quán)利要求1所述的數(shù)據(jù)的存儲方法,其特征在于,還包括: 在所述第一存儲段的數(shù)據(jù)等于預設(shè)次數(shù)時,判斷該組存儲空間是否為最后一組存儲空 間; 如果否,則讀取該組存儲空間的下一組存儲空間的所述第一存儲段的數(shù)據(jù)并判斷所述 第一存儲段的數(shù)據(jù)是否小于所述預設(shè)次數(shù)。
3. 如權(quán)利要求1所述的數(shù)據(jù)的存儲方法,其特征在于,還包括: 判斷所述a組存儲空間是否為首次存儲數(shù)據(jù); 如果是,則控制所述a組存儲空間的每組存儲空間進行初始化。
4. 如權(quán)利要求1所述的數(shù)據(jù)的存儲方法,其特征在于,所述預設(shè)次數(shù)為一萬次。
5. 如權(quán)利要求1所述的數(shù)據(jù)的存儲方法,其特征在于,N=2200, a=100。
【文檔編號】G06F12/02GK104111893SQ201310250976
【公開日】2014年10月22日 申請日期:2013年6月21日 優(yōu)先權(quán)日:2013年6月21日
【發(fā)明者】全永兵, 王明, 劉偉君 申請人:蕪湖美的廚衛(wèi)電器制造有限公司