一種eeprom存儲(chǔ)裝置及其數(shù)據(jù)存儲(chǔ)方法
【專(zhuān)利摘要】本發(fā)明提出一種EEPROM存儲(chǔ)芯片,包括:第一存儲(chǔ)單元用于存儲(chǔ)第一類(lèi)數(shù)據(jù),其中,第一類(lèi)數(shù)據(jù)為電可擦可編程只讀存儲(chǔ)器EEPROM存儲(chǔ)芯片上次斷電時(shí)保存的數(shù)據(jù);第二存儲(chǔ)單元用于存儲(chǔ)第二類(lèi)數(shù)據(jù),其中第二類(lèi)數(shù)據(jù)為第一存儲(chǔ)單元的地址;第三存儲(chǔ)單元,用于存儲(chǔ)第三類(lèi)數(shù)據(jù),其中第三類(lèi)數(shù)據(jù)為第二存儲(chǔ)單元的當(dāng)前地址;以及讀取控制單元,用于在EEPROM存儲(chǔ)芯片上電之后,根據(jù)第三類(lèi)數(shù)據(jù)在第二存儲(chǔ)單元中查找到第二類(lèi)數(shù)據(jù),根據(jù)第二類(lèi)數(shù)據(jù)在第一存儲(chǔ)單元中查找到第一類(lèi)數(shù)據(jù)。采用本發(fā)明提出的EEPROM存儲(chǔ)芯片,能夠?qū)崿F(xiàn)斷電保護(hù),充分利用存儲(chǔ)空間,延長(zhǎng)存儲(chǔ)芯片的壽命。本發(fā)明還提出基于上述EEPROM存儲(chǔ)芯片的數(shù)據(jù)存儲(chǔ)方法。
【專(zhuān)利說(shuō)明】一種EEPROM存儲(chǔ)裝置及其數(shù)據(jù)存儲(chǔ)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲(chǔ)【技術(shù)領(lǐng)域】,尤其涉及一種EEPROM存儲(chǔ)裝置及其數(shù)據(jù)存儲(chǔ)方法。
【背景技術(shù)】
[0002]隨著信息的迅猛增加,存儲(chǔ)技術(shù)越來(lái)越重要。現(xiàn)有的存儲(chǔ)技術(shù)中,嵌入式系統(tǒng)中非易失性存儲(chǔ)器的數(shù)據(jù)存儲(chǔ)方法是廣泛應(yīng)用的一種,此方法是按照存儲(chǔ)器中的物理結(jié)構(gòu)將其分為一個(gè)以上的段,并給予每個(gè)段唯一的編號(hào),再將每個(gè)段劃分為一個(gè)以上的邏輯塊,在段內(nèi)給予有效邏輯塊唯一的編號(hào),對(duì)存儲(chǔ)器中段的擦除都是循環(huán)交替進(jìn)行的,存儲(chǔ)器中每一段的擦除次數(shù)都相同,實(shí)現(xiàn)了對(duì)存儲(chǔ)器的均勻磨損和斷電保護(hù)。上述方法有兩個(gè)模塊,一個(gè)存儲(chǔ)數(shù)據(jù),一個(gè)存儲(chǔ)數(shù)據(jù)地址,并且存在一個(gè)空白段,每次上電時(shí)通過(guò)尋找空白段來(lái)尋找上次斷電時(shí)存儲(chǔ)的數(shù)據(jù)。但是,對(duì)于某些內(nèi)部包含EEPROM(Electrically ErasableProgrammable Read-Only Memory,電可擦可編程只讀存儲(chǔ)器)結(jié)構(gòu)的特定的芯片,存儲(chǔ)數(shù)據(jù)時(shí)需要先擦除再寫(xiě)入,并且存儲(chǔ)器中無(wú)空白段,無(wú)法在上電時(shí)尋找到空白段,也就無(wú)法尋找到上次斷電時(shí)存儲(chǔ)的數(shù)據(jù)。例如:飛思卡爾的EEPROM,EEPROM內(nèi)無(wú)空白段,若要標(biāo)記空白段,就得把標(biāo)記位寫(xiě)入EEPROM內(nèi),如此消耗了存儲(chǔ)器一倍的擦除次數(shù),縮短了芯片的使用壽命。
【發(fā)明內(nèi)容】
[0003]本發(fā)明旨在至少解決上述技術(shù)的問(wèn)題之一。
[0004]為此,本發(fā)明的第一個(gè)目的在于提出一種EEPROM存儲(chǔ)裝置,能夠?qū)崿F(xiàn)斷電保護(hù),充分利用存儲(chǔ)空間,延長(zhǎng)存儲(chǔ)裝置的壽命。本發(fā)明的另一個(gè)目的在于提出一種數(shù)據(jù)存儲(chǔ)方法。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面的實(shí)施例提出一種EEPROM存儲(chǔ)裝置,包括EEPROM芯片,所述EEPROM芯片包括:第一存儲(chǔ)單元,用于存儲(chǔ)第一類(lèi)數(shù)據(jù),其中,所述第一類(lèi)數(shù)據(jù)為所述電可擦可編程只讀存儲(chǔ)器EEPROM存儲(chǔ)裝置上次斷電時(shí)保存的數(shù)據(jù);第二存儲(chǔ)單元,用于存儲(chǔ)第二類(lèi)數(shù)據(jù),其中所述第二類(lèi)數(shù)據(jù)為所述第一存儲(chǔ)單元的地址;第三存儲(chǔ)單元,用于存儲(chǔ)第三類(lèi)數(shù)據(jù),其中所述第三類(lèi)數(shù)據(jù)為所述第二存儲(chǔ)單元的當(dāng)前地址;以及,讀取控制單元,用于在所述EEPROM芯片上電之后,根據(jù)所述第三類(lèi)數(shù)據(jù)在所述第二存儲(chǔ)單元中查找到所述第二類(lèi)數(shù)據(jù),根據(jù)所述第二類(lèi)數(shù)據(jù)在所述第一存儲(chǔ)單元中查找到所述第一類(lèi)數(shù)據(jù)。
[0006]根據(jù)本發(fā)明實(shí)施例的EEPROM存儲(chǔ)裝置,通過(guò)將EEPROM芯片存儲(chǔ)空間劃分為三個(gè)存儲(chǔ)單元,并且其中的一個(gè)存儲(chǔ)單元作為固定存儲(chǔ)單元,用于存儲(chǔ)斷電時(shí)對(duì)應(yīng)的數(shù)據(jù)地址,上電時(shí)讀取此固定單元中的數(shù)據(jù),從而找到斷電時(shí)所存儲(chǔ)的數(shù)據(jù),實(shí)現(xiàn)了斷電數(shù)據(jù)保護(hù)。另夕卜,第一類(lèi)數(shù)據(jù)循環(huán)存儲(chǔ)在第二存儲(chǔ)單元的一個(gè)地址中,實(shí)現(xiàn)了數(shù)據(jù)的循環(huán)存儲(chǔ),充分利用存儲(chǔ)空間。[0007]為了實(shí)現(xiàn)上述目的,本發(fā)明的第二方面實(shí)施例提出一種數(shù)據(jù)存儲(chǔ)方法,該數(shù)據(jù)存儲(chǔ)方法基于第一方面實(shí)施例提出的EEPROM存儲(chǔ)裝置,包括以下步驟:對(duì)所述EEPROM存儲(chǔ)裝置進(jìn)行上電;判斷是否為首次上電;如果為首次上電,則獲取所述EEPROM芯片的第二存儲(chǔ)單元的一個(gè)第二存儲(chǔ)塊的地址作為所述第二存儲(chǔ)單元的當(dāng)前地址;將所述第二存儲(chǔ)單元的當(dāng)前地址寫(xiě)入所述第三存儲(chǔ)單元;以及在所述EEPROM存儲(chǔ)裝置斷電時(shí),將斷電時(shí)保存的數(shù)據(jù)寫(xiě)入第一存儲(chǔ)單元,并將所述第一存儲(chǔ)單元的當(dāng)前地址寫(xiě)入所述第二存儲(chǔ)單元的一個(gè)第二存儲(chǔ)塊。
[0008]根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)存儲(chǔ)方法,通過(guò)將EEPROM芯片的存儲(chǔ)空間劃分為三個(gè)存儲(chǔ)單元,并將斷電時(shí)的數(shù)據(jù)地址存儲(chǔ)在其中的一個(gè)固定存儲(chǔ)單元,上電時(shí)通過(guò)讀取此固定存儲(chǔ)單元中的數(shù)據(jù),從而找到斷電時(shí)所存儲(chǔ)的數(shù)據(jù),實(shí)現(xiàn)了斷電數(shù)據(jù)保護(hù)。另外,將其中數(shù)據(jù)實(shí)時(shí)更新的存儲(chǔ)單元中的數(shù)據(jù)循環(huán)存儲(chǔ)在存儲(chǔ)其地址信息的存儲(chǔ)單元的一個(gè)地址中,實(shí)現(xiàn)了數(shù)據(jù)的循環(huán)存儲(chǔ),充分利用存儲(chǔ)空間。此外,該方法延長(zhǎng)了存儲(chǔ)芯片的壽命。
[0009]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0010]本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中,
[0011]圖1是根據(jù)本發(fā)明實(shí)施例的EEPROM存儲(chǔ)裝置結(jié)構(gòu)的示意圖;
[0012]圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的EEPROM存儲(chǔ)裝置存儲(chǔ)數(shù)據(jù)的示意圖;
[0013]圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的EEPROM存儲(chǔ)裝置中第二存儲(chǔ)單元的地址執(zhí)行自加I后存儲(chǔ)數(shù)據(jù)的示意圖;
[0014]圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的EEPROM存儲(chǔ)裝置進(jìn)行讀取數(shù)據(jù)的示意圖;
[0015]圖5是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)存儲(chǔ)方法的流程圖;
[0016]圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施例的讀取上次斷電時(shí)保存的數(shù)據(jù)的流程圖;以及
[0017]圖7是根據(jù)本發(fā)明的一個(gè)實(shí)施例的第一存儲(chǔ)單元和第二存儲(chǔ)單元的地址進(jìn)行自加I操作的流程圖。
【具體實(shí)施方式】
[0018]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的元件或具有相同或類(lèi)似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書(shū)的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
[0019]在本發(fā)明的描述中,需要理解的是,術(shù)語(yǔ)“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。在本發(fā)明的描述中,需要說(shuō)明的是,除非另有明確的規(guī)定和限定,術(shù)語(yǔ)“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過(guò)中間媒介間接相連。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語(yǔ)在本發(fā)明中的具體含義。此外,在本發(fā)明的描述中,除非另有說(shuō)明,“多個(gè)”的含義是兩個(gè)或兩個(gè)以上。
[0020]流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
[0021]下面參照附圖1至附圖4描述根據(jù)本發(fā)明第一方面實(shí)施例提出的EEPROM存儲(chǔ)裝置。
[0022]如圖1所示,本發(fā)明實(shí)施例的EEPROM存儲(chǔ)裝置包括,EEPROM芯片11和讀取控制單元12。EEPROM芯片11包括:第一存儲(chǔ)單元101,第二存儲(chǔ)單元102和第三存儲(chǔ)單元103。其中,第一存儲(chǔ)單元101用于存儲(chǔ)第一類(lèi)數(shù)據(jù),第一類(lèi)數(shù)據(jù)為電可擦可編程只讀存儲(chǔ)器EEPROM存儲(chǔ)裝置上次斷電時(shí)保存的數(shù)據(jù)。第二存儲(chǔ)單元102用于存儲(chǔ)第二類(lèi)數(shù)據(jù),第二類(lèi)數(shù)據(jù)為第一存儲(chǔ)單元101的地址。第三存儲(chǔ)單元103用于存儲(chǔ)第三類(lèi)數(shù)據(jù),第三類(lèi)數(shù)據(jù)為第二存儲(chǔ)單元102的當(dāng)前地址。讀取控制單元12用于在EEPROM存儲(chǔ)裝置上電之后,根據(jù)第三類(lèi)數(shù)據(jù)在第二存儲(chǔ)單元102中查找到第二類(lèi)數(shù)據(jù),根據(jù)第二類(lèi)數(shù)據(jù)在第一存儲(chǔ)單元101中查找到第一類(lèi)數(shù)據(jù)。
[0023]在本發(fā)明的實(shí)施例中,第一存儲(chǔ)單元101中存儲(chǔ)的第一類(lèi)數(shù)據(jù)是實(shí)時(shí)更新的數(shù)據(jù),循環(huán)存儲(chǔ)在第一存儲(chǔ)單元101的多個(gè)存儲(chǔ)塊中。第二存儲(chǔ)單元102包括多個(gè)存儲(chǔ)塊,在一個(gè)完整的上電運(yùn)行中,第二類(lèi)數(shù)據(jù)存儲(chǔ)于多個(gè)存儲(chǔ)塊中的一個(gè),并且第一存儲(chǔ)單元101中的第一類(lèi)數(shù)據(jù)循環(huán)對(duì)應(yīng)于第二類(lèi)數(shù)據(jù)存儲(chǔ)的存儲(chǔ)塊。第三存儲(chǔ)單元103中的第三類(lèi)數(shù)據(jù)對(duì)應(yīng)第二存儲(chǔ)單元102當(dāng)前的第二類(lèi)數(shù)據(jù)。每次在EEPROM芯片上電之后,由讀取控制單元12讀取第三存儲(chǔ)單元103的第三類(lèi)數(shù)據(jù),并根據(jù)第三類(lèi)數(shù)據(jù)在第二存儲(chǔ)單元102中查找第三類(lèi)數(shù)據(jù)對(duì)應(yīng)的第二類(lèi)數(shù)據(jù),再根據(jù)第二類(lèi)數(shù)據(jù)在第一存儲(chǔ)單元101中查找到第一類(lèi)數(shù)據(jù),即上次斷電時(shí)保存的數(shù)據(jù)。
[0024]在本發(fā)明的一個(gè)實(shí)施例中,第一存儲(chǔ)單元101中的第一類(lèi)數(shù)據(jù)為實(shí)時(shí)變化的數(shù)據(jù),循環(huán)存儲(chǔ)在第一存儲(chǔ)單元101的存儲(chǔ)塊中,第二存儲(chǔ)單元102中的第二類(lèi)數(shù)據(jù)為當(dāng)前存儲(chǔ)的第一類(lèi)數(shù)據(jù)的地址,第三存儲(chǔ)單元103中的第三類(lèi)數(shù)據(jù)為第二存儲(chǔ)單元102中的當(dāng)前地址。如圖2所示,當(dāng)EEPROM芯片第一次上電時(shí),第二存儲(chǔ)單元102的地址2寫(xiě)入第三存儲(chǔ)單元103,存儲(chǔ)過(guò)程中,第一存儲(chǔ)單元101的數(shù)據(jù)循環(huán)寫(xiě)入各個(gè)存儲(chǔ)塊中,各個(gè)存儲(chǔ)塊對(duì)應(yīng)的地址依次寫(xiě)入第二存儲(chǔ)單元102的地址2對(duì)應(yīng)的存儲(chǔ)塊中,所以第三存儲(chǔ)單元103中寫(xiě)入的始終是對(duì)應(yīng)第一存儲(chǔ)單元101中的當(dāng)前數(shù)據(jù)。當(dāng)?shù)诙紊想姇r(shí),由讀取控制單元12先從第三存儲(chǔ)單元103中讀取到地址2,即找到上次斷電時(shí)數(shù)據(jù)保存的地址。根據(jù)第三存儲(chǔ)單元103中的地址2從第二存儲(chǔ)單元102中找到第二類(lèi)數(shù)據(jù),即從第二存儲(chǔ)單元102中的地址2中讀取第一存儲(chǔ)單元101的數(shù)據(jù)地址,根據(jù)數(shù)據(jù)地址從第一存儲(chǔ)單元101找到數(shù)據(jù),此數(shù)據(jù)即為EEPROM芯片上次斷電時(shí)所保存的數(shù)據(jù)。
[0025]在本發(fā)明的一個(gè)實(shí)施例中,讀取控制單元12在查找到第一類(lèi)數(shù)據(jù)之后,控制第二存儲(chǔ)單元102的當(dāng)前地址執(zhí)行自加I操作,同時(shí)將操作后的當(dāng)前地址寫(xiě)入至第三存儲(chǔ)單元103,則在下次上電時(shí)讀取控制單元12從第三存儲(chǔ)單元103讀取的是本次第二存儲(chǔ)單元102自加I后的地址數(shù)據(jù)。另外,讀取控制單元12還用于判斷第二存儲(chǔ)單元102的存儲(chǔ)空間是否已滿(mǎn),如果讀取控制單元12判斷第二存儲(chǔ)單元102的存儲(chǔ)空間已滿(mǎn),則將第二存儲(chǔ)單元102的當(dāng)前地址設(shè)置為第二存儲(chǔ)單元102的起始地址,并將該地址寫(xiě)入第三存儲(chǔ)單元103。如果讀取控制單元12判斷第二存儲(chǔ)單元102的存儲(chǔ)空間未滿(mǎn),則控制第二存儲(chǔ)單元102的地址執(zhí)行自加I操作后,將第二類(lèi)數(shù)據(jù)寫(xiě)入至第二存儲(chǔ)單元102的當(dāng)前地址,并將當(dāng)前地址寫(xiě)入第三存儲(chǔ)單元103的固定地址中,作為第三類(lèi)數(shù)據(jù),第三存儲(chǔ)單元103在每次上電時(shí)只擦除一次。參照?qǐng)D2,如圖3所示,在本發(fā)明的一個(gè)實(shí)施例中,讀取控制單元12在第一存儲(chǔ)單元101找到上次斷電時(shí)所保存的數(shù)據(jù)后,讀取控制單元12判斷第二存儲(chǔ)單元102的存儲(chǔ)空間未滿(mǎn),則控制第二存儲(chǔ)單元102自加1,則地址3為第二存儲(chǔ)單元102的當(dāng)前地址,并將地址3寫(xiě)入第三存儲(chǔ)單元103,在再次上電時(shí),讀取控制單元12從第三存儲(chǔ)單元103中讀取的就是地址3,然后在第二存儲(chǔ)單元102中找到地址3,并根據(jù)地址3找到第一存儲(chǔ)單元101斷電時(shí)存儲(chǔ)的數(shù)據(jù)地址,并讀取出其中的數(shù)據(jù)。
[0026]在本發(fā)明的一個(gè)實(shí)施例中,讀取控制單元12在查找到第一類(lèi)數(shù)據(jù)之后,還循環(huán)檢測(cè)是否到達(dá)預(yù)設(shè)刷寫(xiě)時(shí)間,如果到了預(yù)設(shè)刷寫(xiě)時(shí)間,則控制第一存儲(chǔ)單元101的當(dāng)前地址執(zhí)行自加I操作,即第一存儲(chǔ)單元101中的數(shù)據(jù)是隨預(yù)設(shè)刷寫(xiě)時(shí)間而實(shí)時(shí)變化的。讀取控制單元12在控制第一存儲(chǔ)單元101的當(dāng)前地址執(zhí)行自加I操作后,還判斷第一存儲(chǔ)單元101的存儲(chǔ)空間是否已滿(mǎn),如果第一存儲(chǔ)單元101的存儲(chǔ)空間已滿(mǎn),則將第一存儲(chǔ)單元101的當(dāng)前地址設(shè)置為第一存儲(chǔ)單元101的起始地址,并將第一存儲(chǔ)單元101的起始地址寫(xiě)入至第二存儲(chǔ)單元102,否則將第一類(lèi)數(shù)據(jù)寫(xiě)入至第一存儲(chǔ)單元101的當(dāng)前地址,并將第一存儲(chǔ)單元101的當(dāng)前地址寫(xiě)入至第二存儲(chǔ)單元102。
[0027]在本發(fā)明的一個(gè)實(shí)施例中,以電池充電為例,SOC (state of charge,電池容量)值是充電電流和充電時(shí)間的累積。SOC值根據(jù)預(yù)設(shè)時(shí)間實(shí)時(shí)刷新,要將刷新的SOC值存入EEPROM存儲(chǔ)裝置中,斷電后,在下次上電時(shí),需由讀取控制單元12讀取出上次斷電前所保存的最終的SOC值。例如設(shè)刷新預(yù)設(shè)時(shí)間速率為1S,即每秒SOC值都將被存儲(chǔ)到EEPROM芯片中,若充電過(guò)程中,當(dāng)前SOC值為30%,并且每秒鐘讀取控制模塊12控制第一存儲(chǔ)單元101執(zhí)行自加1,并將最新的SOC值寫(xiě)入第一存儲(chǔ)單元101的當(dāng)前地址。如果3分鐘后,當(dāng)前SOC值為31%,此時(shí)突然斷電,則下次重新上電時(shí)讀取的數(shù)據(jù)應(yīng)該為31%。如圖4所示,在本實(shí)施例中,第一存儲(chǔ)單元101中的第一類(lèi)數(shù)據(jù)為31%,設(shè)為數(shù)據(jù)c2,刷新時(shí)間為1S,在上電時(shí),讀取控制單元12從第三存儲(chǔ)單元103中讀取第三類(lèi)數(shù)據(jù)a,第三類(lèi)數(shù)據(jù)a存儲(chǔ)有斷電時(shí)第二存儲(chǔ)單元102中對(duì)應(yīng)的地址信息,第三存儲(chǔ)單元103是固定地址,在8位單片機(jī)中為2個(gè)字節(jié),此地址可以由設(shè)計(jì)人員設(shè)定。讀取控制單元12根據(jù)第三類(lèi)數(shù)據(jù)a在第二存儲(chǔ)單元102中找到地址bl,地址bl是存儲(chǔ)斷電之前第二存儲(chǔ)單元102中的數(shù)據(jù)的地址。讀取控制單元12從地址bl中讀取數(shù)據(jù)b2,數(shù)據(jù)b2是斷電時(shí)第一存儲(chǔ)單元101中的數(shù)據(jù)的地址信息。讀取控制單元12根據(jù)數(shù)據(jù)b2在第一存儲(chǔ)單元101中找到地址Cl,地址Cl是第一存儲(chǔ)單元101中存儲(chǔ)數(shù)據(jù)的地址,由讀取控制單元12從地址Cl中讀取數(shù)據(jù)c2,即找到了上次斷電時(shí)保存的電池電量SOC值31%。
[0028]在本發(fā)明的實(shí)施例中,例如本發(fā)明實(shí)施例的EEPROM芯片的存儲(chǔ)空間為1K,可擦除次數(shù)為10萬(wàn)次,將芯片劃分為三個(gè)存儲(chǔ)單元。三個(gè)存儲(chǔ)單元的存儲(chǔ)空間是由設(shè)計(jì)人員劃定的,劃定原則要求第一存儲(chǔ)單元101和第二存儲(chǔ)單元102的存儲(chǔ)空間即存儲(chǔ)數(shù)據(jù)組相近,而數(shù)據(jù)組里包含的字節(jié)由具體要求給出,例如存儲(chǔ)SOC值需要四個(gè)字節(jié),利用8位單片機(jī)存儲(chǔ),則在EEPROM芯片的存儲(chǔ)空間為IK的內(nèi)存里,第一存儲(chǔ)單元101存儲(chǔ)數(shù)據(jù),如果每次存儲(chǔ)4個(gè)字節(jié),一共688個(gè)字節(jié),可存儲(chǔ)172組數(shù)據(jù)。第二存儲(chǔ)單元102存儲(chǔ)數(shù)據(jù)地址,每次存儲(chǔ)2個(gè)字節(jié),一共167組數(shù)據(jù)。第三存儲(chǔ)單元103存儲(chǔ)第二存儲(chǔ)單元102的地址,每次存儲(chǔ)2個(gè)字節(jié),一共I組數(shù)據(jù)。每次上電后,讀取控制單元12從第三存儲(chǔ)單元103中讀取數(shù)據(jù)查找到第二存儲(chǔ)單元102的地址,再?gòu)牡谝淮鎯?chǔ)單元101的地址讀取上次斷電時(shí)存儲(chǔ)的數(shù)據(jù),然后控制第二存儲(chǔ)單元102的地址自加存儲(chǔ)到第三存儲(chǔ)單元103中,數(shù)據(jù)的地址存儲(chǔ)到第二存儲(chǔ)單元102的新的地址中,由此可實(shí)現(xiàn)斷電保護(hù),本實(shí)施例的實(shí)際壽命可達(dá)1670萬(wàn)次。
[0029]在本發(fā)明的一個(gè)實(shí)施例中,數(shù)據(jù)在第一存儲(chǔ)單元101里循環(huán)存儲(chǔ),并實(shí)時(shí)刷新,第二存儲(chǔ)單元102在一次完整的上電運(yùn)行中擦除的是一個(gè)固定地址,斷電后再上電時(shí),第二存儲(chǔ)單元102的固定地址變化,第三存儲(chǔ)單元103是個(gè)固定地址,保存第二存儲(chǔ)單元102的地址值,每次上電只需要擦除一次,只要第一存儲(chǔ)單元101的數(shù)組和第二存儲(chǔ)單元102的數(shù)組相近,則可達(dá)到空間的最大利用率。
[0030]綜上所述,根據(jù)本發(fā)明實(shí)施例的EEPROM存儲(chǔ)裝置,通過(guò)將EEPROM芯片的存儲(chǔ)空間劃分為三個(gè)存儲(chǔ)單元,并且其中的一個(gè)存儲(chǔ)單元作為固定存儲(chǔ)單元,存儲(chǔ)斷電時(shí)對(duì)應(yīng)的數(shù)據(jù)地址,上電時(shí)讀取此固定單元中的數(shù)據(jù),從而找到斷電時(shí)所存儲(chǔ)的數(shù)據(jù),實(shí)現(xiàn)了斷電數(shù)據(jù)保護(hù)。另外,第一類(lèi)數(shù)據(jù)循環(huán)存儲(chǔ)在第二存儲(chǔ)單元的一個(gè)地址中,實(shí)現(xiàn)了數(shù)據(jù)的循環(huán)存儲(chǔ),充分利用存儲(chǔ)空間。此外,其中的固定存儲(chǔ)單元只在每次上電時(shí)擦除一次,延長(zhǎng)了存儲(chǔ)芯片的壽命。
[0031]下面參照附圖5至附圖7描述根據(jù)本發(fā)明第二方面實(shí)施例提出的基于第一方面實(shí)施例的EEPROM存儲(chǔ)裝置的數(shù)據(jù)存儲(chǔ)方法。
[0032]如圖5所示,本發(fā)明實(shí)施例的基于上述第一方面實(shí)施例提出的EEPROM存儲(chǔ)裝置的數(shù)據(jù)存儲(chǔ)方法,包括以下步驟:
[0033]S501,對(duì)EEPROM存儲(chǔ)裝置進(jìn)行上電。
[0034]S502,判斷是否為首次上電。
[0035]判斷本次上電是否為首次上電。如果判斷本次上電為首次上電,則進(jìn)入步驟S503,如果判斷不是首次上電,則進(jìn)入步驟S506。
[0036]S503,獲取EEPROM芯片的第二存儲(chǔ)單元102的一個(gè)第二存儲(chǔ)塊的地址作為第二存儲(chǔ)單元102的當(dāng)前地址,并寫(xiě)入第三存儲(chǔ)單元103。
[0037]如果為首次上電,則獲取EEPROM芯片的第二存儲(chǔ)單元102的一個(gè)第二存儲(chǔ)塊的地址作為第二存儲(chǔ)單元102的當(dāng)前地址,并將第二存儲(chǔ)單元102的當(dāng)前地址寫(xiě)入第三存儲(chǔ)單元 103。
[0038]S504,第一存儲(chǔ)單元101中的數(shù)據(jù)實(shí)時(shí)更新,并且循環(huán)寫(xiě)入第二存儲(chǔ)單元102的當(dāng)前地址中。
[0039]在上電完成之后,EEPROM芯片正常工作,第一存儲(chǔ)單元101中的數(shù)據(jù)實(shí)時(shí)更新,并且循環(huán)寫(xiě)入第二存儲(chǔ)單元102的當(dāng)前地址中。
[0040]S505,在EEPROM存儲(chǔ)裝置斷電時(shí),第一存儲(chǔ)單元101將斷電時(shí)保存的數(shù)據(jù)寫(xiě)入第一存儲(chǔ)單元101,并將第一存儲(chǔ)單元101的當(dāng)前地址寫(xiě)入第二存儲(chǔ)單元102的一個(gè)第二存儲(chǔ)塊。[0041]在EEPROM存儲(chǔ)裝置斷電時(shí),第一存儲(chǔ)單元101將其實(shí)時(shí)更新的最新數(shù)據(jù)寫(xiě)入第一存儲(chǔ)單元101,即將斷電時(shí)保存的數(shù)據(jù)寫(xiě)入第一存儲(chǔ)單元101,同時(shí),將第一存儲(chǔ)單元101的當(dāng)前地址寫(xiě)入第二存儲(chǔ)單元102的一個(gè)第二存儲(chǔ)塊。換言之,第三存儲(chǔ)單元103中的地址對(duì)應(yīng)著第一存儲(chǔ)單元101在EEPROM芯片斷電時(shí)的數(shù)據(jù)。
[0042]S506,根據(jù)EEPROM芯片的第三存儲(chǔ)單元103中的第二存儲(chǔ)單元102的當(dāng)前地址,在第二存儲(chǔ)單元102中查找到第一存儲(chǔ)單元101的地址,并根據(jù)第一存儲(chǔ)單元101的地址在第一存儲(chǔ)單元101中查找到EEPROM芯片上次斷電時(shí)保存的數(shù)據(jù)。
[0043]不是首次上電,在完成讀取上次斷電時(shí)保存的數(shù)據(jù)之后,即執(zhí)行完步驟S506后,EEPROM芯片正常工作,進(jìn)行新一次的數(shù)據(jù)存儲(chǔ),即執(zhí)行步驟S504。
[0044]如圖6所示,在本發(fā)明的一個(gè)實(shí)施例中,讀取上次斷電時(shí)保存的數(shù)據(jù)的具體過(guò)程,包括以下步驟:
[0045]S601,對(duì)EEPROM存儲(chǔ)裝置進(jìn)行上電。
[0046]S602,從第三存儲(chǔ)單元103中讀取數(shù)據(jù)。
[0047]第三存儲(chǔ)單元103是固定地址,例如在8位單片機(jī)中有2個(gè)字節(jié),此地址由設(shè)計(jì)人
員設(shè)定。
[0048]S603,根據(jù)第三存儲(chǔ)單元103中的第三類(lèi)數(shù)據(jù)在第二存儲(chǔ)單元102中找到該數(shù)據(jù)的地址。
[0049]第三存儲(chǔ)單元103中存儲(chǔ)的數(shù)據(jù)對(duì)應(yīng)第二存儲(chǔ)單元102在斷電時(shí)的當(dāng)前地址。
[0050]S604,讀取第二存儲(chǔ)單元102的地址中的數(shù)據(jù)。
[0051]由步驟S603找到的第三存儲(chǔ)單元103中的第三類(lèi)數(shù)據(jù)對(duì)應(yīng)的第二存儲(chǔ)單元102的地址,讀取該地址中的數(shù)據(jù)。
[0052]S605,根據(jù)第二存儲(chǔ)單元102中讀取的數(shù)據(jù),尋找該數(shù)據(jù)對(duì)應(yīng)的第一存儲(chǔ)單元101中的地址。
[0053]S606,讀取第一存儲(chǔ)單元101地址中的數(shù)據(jù)。
[0054]根據(jù)步驟S605獲得的第二存儲(chǔ)單元102中的數(shù)據(jù),尋找該數(shù)據(jù)在第一存儲(chǔ)單元101中的地址,并讀取該地址中的數(shù)據(jù),此數(shù)據(jù)即為斷電時(shí)保存的數(shù)據(jù)。
[0055]如圖7所示,在本發(fā)明的一個(gè)實(shí)施例中,在根據(jù)第一存儲(chǔ)單元101的地址從第一存儲(chǔ)單元101中找到EEPROM存儲(chǔ)裝置上次斷電時(shí)保存的數(shù)據(jù)之后,包括以下步驟:
[0056]S701,第二存儲(chǔ)單元102的當(dāng)前地址執(zhí)行自加I操作。
[0057]在根據(jù)第一存儲(chǔ)單元101的地址在第一存儲(chǔ)單元101中查找到EEPROM存儲(chǔ)裝置上次斷電時(shí)保存的數(shù)據(jù)之后,控制第二存儲(chǔ)單元102的當(dāng)前地址執(zhí)行自加I操作,同時(shí)將操作后的當(dāng)前地址寫(xiě)入至第三存儲(chǔ)單元103。
[0058]S702,判斷第二存儲(chǔ)單元102是否存滿(mǎn)。
[0059]如果判斷第二存儲(chǔ)單元102存儲(chǔ)空間已滿(mǎn),則進(jìn)入步驟S703,如果判斷第二存儲(chǔ)單元102存儲(chǔ)空間未滿(mǎn),則進(jìn)入步驟S704。
[0060]S703,將第二存儲(chǔ)單元102的當(dāng)前地址設(shè)置為第二存儲(chǔ)單元102的起始地址。
[0061]如果判斷第二存儲(chǔ)單元102的存儲(chǔ)空間已滿(mǎn),則將第二存儲(chǔ)單元102的當(dāng)前地址設(shè)置為第二存儲(chǔ)單元102的起始地址。
[0062]S704,將自加I操作后的當(dāng)前地址寫(xiě)入至第三存儲(chǔ)單元103。[0063]S705,循環(huán)檢測(cè)是否到達(dá)預(yù)設(shè)刷寫(xiě)時(shí)間。
[0064]在根據(jù)第一存儲(chǔ)單元101的地址在第一存儲(chǔ)單元101中查找到EEPROM存儲(chǔ)裝置上次斷電時(shí)保存的數(shù)據(jù)之后,還要循環(huán)檢測(cè)是否到達(dá)預(yù)設(shè)刷寫(xiě)時(shí)間。如果到達(dá)預(yù)設(shè)刷新時(shí)間,則進(jìn)入步驟S706,如果未到達(dá)預(yù)設(shè)刷新時(shí)間,則繼續(xù)檢測(cè)。
[0065]S706,控制第一存儲(chǔ)單元101的當(dāng)前地址執(zhí)行自加I操作。
[0066]如果到達(dá)預(yù)設(shè)刷新時(shí)間,則控制第一存儲(chǔ)單元101的當(dāng)前地址執(zhí)行自加I操作。
[0067]S707,判斷第一存儲(chǔ)單元101是否存滿(mǎn)。
[0068]在控制第一存儲(chǔ)單元101的當(dāng)前地址執(zhí)行自加I操作之后,如果第一存儲(chǔ)單元101的存儲(chǔ)空間已滿(mǎn),則進(jìn)入步驟S708,如果第一存儲(chǔ)單元101的存儲(chǔ)單元的存儲(chǔ)空間未滿(mǎn),則進(jìn)入步驟S709。
[0069]S708,將第一存儲(chǔ)單元101的當(dāng)前地址設(shè)置為第一存儲(chǔ)單元101的起始地址。
[0070]如果第一存儲(chǔ)單元101的存儲(chǔ)空間已滿(mǎn),則將第一存儲(chǔ)單元101的當(dāng)前地址設(shè)置為第一存儲(chǔ)單元101的起始地址。
[0071]S709,將第一類(lèi)數(shù)據(jù)寫(xiě)入至第一存儲(chǔ)單元101的當(dāng)前地址。
[0072]如果第一存儲(chǔ)單元101的存儲(chǔ)單元的存儲(chǔ)空間未滿(mǎn),則將第一類(lèi)數(shù)據(jù)寫(xiě)入至第一存儲(chǔ)單元101的當(dāng)前地址,并將第一存儲(chǔ)單元101的當(dāng)前地址寫(xiě)入至第二存儲(chǔ)單元102。
[0073]在本實(shí)例中,數(shù)據(jù)在第一存儲(chǔ)單元101里循環(huán)存儲(chǔ),并實(shí)時(shí)刷新,第二存儲(chǔ)單元102在一次完整的上電運(yùn)行中擦除的是一個(gè)固定地址,斷電后再上電時(shí),第二存儲(chǔ)單元102的固定地址變化,第三存儲(chǔ)單元103是個(gè)固定地址,保存第二存儲(chǔ)單元102的地址值,每次上電只需要擦除一次,只要第一存儲(chǔ)單元101的數(shù)組和第二存儲(chǔ)單元102的數(shù)組相近,則可最大利用空間利用率。
[0074]綜上所述,在每次上電時(shí),先讀取第三存儲(chǔ)單元103中的數(shù)據(jù),由此找到第二存儲(chǔ)單元102中的地址,然后在第二存儲(chǔ)單元102的地址中讀取數(shù)據(jù)找到第一存儲(chǔ)單元101,最后在第一存儲(chǔ)單元中找到上次斷電時(shí)所保存的數(shù)據(jù),便實(shí)現(xiàn)了數(shù)據(jù)保護(hù)。然后將第二存儲(chǔ)單元102的地址自加I存儲(chǔ)到第三存儲(chǔ)單元103中,同時(shí)檢測(cè)更新時(shí)間,將最新的數(shù)據(jù)寫(xiě)入第一存儲(chǔ)單元101中,則第一存儲(chǔ)單元101中實(shí)時(shí)更新的數(shù)據(jù)存儲(chǔ)到第二存儲(chǔ)單元102新的地址中。
[0075]根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)存儲(chǔ)方法,通過(guò)將EEPROM芯片的存儲(chǔ)空間劃分為三個(gè)存儲(chǔ)單元,并將斷電時(shí)的數(shù)據(jù)地址存儲(chǔ)在其中的一個(gè)固定存儲(chǔ)單元,上電時(shí)通過(guò)讀取此固定存儲(chǔ)單元中的數(shù)據(jù),從而找到斷電時(shí)所存儲(chǔ)的數(shù)據(jù),實(shí)現(xiàn)了斷電數(shù)據(jù)保護(hù)。另外,將其中數(shù)據(jù)實(shí)時(shí)更新的存儲(chǔ)單元中的數(shù)據(jù)循環(huán)存儲(chǔ)在存儲(chǔ)其地址信息的存儲(chǔ)單元的一個(gè)地址中,實(shí)現(xiàn)了數(shù)據(jù)的循環(huán)存儲(chǔ),充分利用存儲(chǔ)空間。此外,該方法延長(zhǎng)了存儲(chǔ)芯片的壽命。
[0076]應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門(mén)電路的離散邏輯電路,具有合適的組合邏輯門(mén)電路的專(zhuān)用集成電路,可編程門(mén)陣列(PGA),現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)等。
[0077]在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
[0078]盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以理解在不脫離本發(fā)明的原理和精神的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同限定。
【權(quán)利要求】
1.一種EEPROM存儲(chǔ)裝置,其特征在于,包括: EEPROM芯片,所述EEPROM芯片包括: 第一存儲(chǔ)單元,用于存儲(chǔ)第一類(lèi)數(shù)據(jù),其中,所述第一類(lèi)數(shù)據(jù)為所述電可擦可編程只讀存儲(chǔ)器EEPROM存儲(chǔ)裝置上次斷電時(shí)保存的數(shù)據(jù); 第二存儲(chǔ)單元,用于存儲(chǔ)第二類(lèi)數(shù)據(jù),其中所述第二類(lèi)數(shù)據(jù)為所述第一存儲(chǔ)單元的地址; 第三存儲(chǔ)單元,用于存儲(chǔ)第三類(lèi)數(shù)據(jù),其中所述第三類(lèi)數(shù)據(jù)為所述第二存儲(chǔ)單元的當(dāng)前地址;以及 讀取控制單元,用于在所述EEPROM芯片上電之后,根據(jù)所述第三類(lèi)數(shù)據(jù)在所述第二存儲(chǔ)單元中查找到所述第二類(lèi)數(shù)據(jù),根據(jù)所述第二類(lèi)數(shù)據(jù)在所述第一存儲(chǔ)單元中查找到所述第一類(lèi)數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的EEPROM存儲(chǔ)裝置,其特征在于,所述第二存儲(chǔ)單元包括多個(gè)存儲(chǔ)塊,所述第二類(lèi)數(shù)據(jù)存儲(chǔ)于所述多個(gè)存儲(chǔ)塊中的一個(gè)。
3.根據(jù)權(quán)利要求2所述的EEPROM存儲(chǔ)裝置,其特征在于,所述讀取控制單元在查找到所述第一類(lèi)數(shù)據(jù)之后,控制所述第二存儲(chǔ)單元的當(dāng)前地址執(zhí)行自加I操作,同時(shí)將操作后的所述當(dāng)前地址寫(xiě)入至所述第三存儲(chǔ)單元。
4.根據(jù)權(quán)利要求3所述的EEPROM存儲(chǔ)裝置,其特征在于,所述讀取控制單元在控制所述第二存儲(chǔ)單元的當(dāng)前地址執(zhí)行自加I操作后,還用于判斷所述第二存儲(chǔ)單元的存儲(chǔ)空間是否已滿(mǎn),如果是,將所述 第二存儲(chǔ)單元的當(dāng)前地址設(shè)置為所述第二存儲(chǔ)單元的起始地址,并將所述第二存儲(chǔ)單元的起始地址寫(xiě)入至所述第三存儲(chǔ)單元;否則將所述第二類(lèi)數(shù)據(jù)寫(xiě)入至所述第二存儲(chǔ)單元的當(dāng)前地址,并將所述第二單元的當(dāng)前地址寫(xiě)入至所述第三存儲(chǔ)單J Li ο
5.根據(jù)權(quán)利要求3所述的EEPROM存儲(chǔ)裝置,其特征在于,所述讀取控制單元還用于在查找到所述第一類(lèi)數(shù)據(jù)之后,循環(huán)檢測(cè)是否到達(dá)預(yù)設(shè)刷寫(xiě)時(shí)間,如果是則控制所述第一存儲(chǔ)單元的當(dāng)前地址執(zhí)行自加I操作。
6.根據(jù)權(quán)利要求5所述的EEPROM存儲(chǔ)裝置,其特征在于,所述讀取控制單元還用于在控制所述第一存儲(chǔ)單元的當(dāng)前地址執(zhí)行自加I操作后,判斷所述第一存儲(chǔ)單元的存儲(chǔ)空間是否已滿(mǎn),如果是,將所述第一存儲(chǔ)單元的當(dāng)前地址設(shè)置為所述第一存儲(chǔ)單元的起始地址,并將所述第一存儲(chǔ)單元的起始地址寫(xiě)入至所述第二存儲(chǔ)單元,否則將所述第一類(lèi)數(shù)據(jù)寫(xiě)入至所述第一存儲(chǔ)單元的當(dāng)前地址,并將所述第一存儲(chǔ)單元的當(dāng)前地址寫(xiě)入至所述第二存儲(chǔ)單元。
7.一種對(duì)權(quán)利要求1-6任一項(xiàng)所述的EEPROM存儲(chǔ)裝置的數(shù)據(jù)存儲(chǔ)方法,其特征在于,包括以下步驟: 對(duì)所述EEPROM存儲(chǔ)裝置進(jìn)行上電; 判斷是否為首次上電; 如果為首次上電,則獲取所述EEPROM芯片的第二存儲(chǔ)單元的一個(gè)第二存儲(chǔ)塊的地址作為所述第二存儲(chǔ)單元的當(dāng)前地址; 將所述第二存儲(chǔ)單元的當(dāng)前地址寫(xiě)入所述第三存儲(chǔ)單元;以及 在所述EEPROM存儲(chǔ)裝置斷電 時(shí),將斷電時(shí)保存的數(shù)據(jù)寫(xiě)入第一存儲(chǔ)單元,并將所述第一存儲(chǔ)單元的當(dāng)前地址寫(xiě)入所述第二存儲(chǔ)單元的一個(gè)第二存儲(chǔ)塊。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)存儲(chǔ)方法,其特征在于,在判斷是否為首次上電時(shí),還包括如下步驟: 如果判斷不是首次上電,則根據(jù)所述EEPROM芯片的第三存儲(chǔ)單元中的所述第二存儲(chǔ)單元的當(dāng)前地址,在所述第二存儲(chǔ)單元中查找到所述第一存儲(chǔ)單元的地址,并根據(jù)所述第一存儲(chǔ)單元的地址在所述第一存儲(chǔ)單元中查找到所述EEPROM存儲(chǔ)裝置上次斷電時(shí)保存的數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)存儲(chǔ)方法,其特征在于,在根據(jù)所述第一存儲(chǔ)單元的地址在所述第一存儲(chǔ)單元中查找到所述EEPROM存儲(chǔ)裝置上次斷電時(shí)保存的數(shù)據(jù)之后,還包括如下步驟:控制所述第二存儲(chǔ)單元的當(dāng)前地址執(zhí)行自加I操作,同時(shí)將操作后的所述當(dāng)前地址寫(xiě)入至所述第三存儲(chǔ)單元。
10.如權(quán)利要求9所述EEPROM存儲(chǔ)裝置的數(shù)據(jù)存儲(chǔ)方法,其特征在于,還包括如下步驟:在控制所述第二存儲(chǔ)單元的當(dāng)前地址執(zhí)行自加I操作后,判斷所述第二存儲(chǔ)單元的存儲(chǔ)空間是否已滿(mǎn),在判斷所述第二存儲(chǔ)單元的存儲(chǔ)空間已滿(mǎn)時(shí),將所述第二存儲(chǔ)單元的當(dāng)前地址設(shè)置為所述第二存儲(chǔ)單元的起始地址。
11.如權(quán)利要求8所述EEPROM存儲(chǔ)裝置的數(shù)據(jù)存儲(chǔ)方法,其特征在于,在根據(jù)所述第一存儲(chǔ)單元的地址在所述第一存儲(chǔ)單元中查找到所述EEPROM存儲(chǔ)裝置上次斷電時(shí)保存的數(shù)據(jù)之后,還包括如下步驟:循環(huán)檢測(cè)是否到達(dá)預(yù)設(shè)刷寫(xiě)時(shí)間,如果是則控制所述第一存儲(chǔ)單元的當(dāng)前地址執(zhí)行自加I操作。
12.如權(quán)利要求11所述EEPROM存儲(chǔ)裝置的數(shù)據(jù)存儲(chǔ)方法,其特征在于,在控制所述第一存儲(chǔ)單元的當(dāng)前地址執(zhí)行自加I操作之后,還包括如下步驟:判斷所述第一存儲(chǔ)單元的存儲(chǔ)空間是否已滿(mǎn),如果是 ,將所述第一存儲(chǔ)單元的當(dāng)前地址設(shè)置為所述第一存儲(chǔ)單元的起始地址,否則將所述第一類(lèi)數(shù)據(jù)寫(xiě)入至所述第一存儲(chǔ)單元的當(dāng)前地址,并將所述第一存儲(chǔ)單元的當(dāng)前地址寫(xiě)入至所述第二存儲(chǔ)單元。
【文檔編號(hào)】G11C16/06GK103886902SQ201210554868
【公開(kāi)日】2014年6月25日 申請(qǐng)日期:2012年12月19日 優(yōu)先權(quán)日:2012年12月19日
【發(fā)明者】方夢(mèng)施, 嚴(yán)秀梅 申請(qǐng)人:比亞迪股份有限公司