本發(fā)明涉及計算機,特別是涉及一種flash數(shù)據(jù)備份及實時校驗決策的方法。
背景技術(shù):
1、flash作為一種掉電非易失存儲器,使用flash存儲參數(shù)可以省去上電后重新注入?yún)?shù)的環(huán)節(jié),目前廣泛用于存儲需重復(fù)使用的重要參數(shù)。但是,由于flash的固有特性,其儲存的數(shù)據(jù)可能發(fā)生比特翻轉(zhuǎn)的現(xiàn)象,導(dǎo)致數(shù)據(jù)錯誤。因此針對這一問題,通常需要對flash中的數(shù)據(jù)進行校驗。傳統(tǒng)的使用flash存儲數(shù)據(jù)的方法是在flash中劃分出兩個存儲區(qū)域,一個存儲區(qū)域用于存儲原始數(shù)據(jù),一個存儲區(qū)域用于存儲校驗值,使用時,一種方法是先讀出原始數(shù)據(jù),同時對原始數(shù)據(jù)計算校驗和,將flash中的原始數(shù)據(jù)全部讀完后,再讀取flash中的校驗和,將計算得到的校驗和與讀出的校驗和相比較,確認flash中原始數(shù)據(jù)的正確性并對數(shù)據(jù)糾正。如果相同,則原始數(shù)據(jù)正確,如果不同,則數(shù)據(jù)發(fā)生了翻轉(zhuǎn),將校驗結(jié)果上報處理器,由處理器進一步?jīng)Q策。這種方法中讀數(shù)據(jù)、校驗、決策使用正確數(shù)據(jù)是分時進行的,因此實時性較差。另一種方法是采用兩片flash分別存儲原始數(shù)據(jù)和校驗和據(jù),同時訪問數(shù)據(jù)flash和校驗flash,實現(xiàn)對數(shù)據(jù)實時校驗,如果校驗失敗則向處理器報告。但是上述兩種先讀取后校驗或讀取校驗后再上報糾正的方法均不能對flash中的原始數(shù)據(jù)實時取用,實時性較差,并且多片flash對管腳資源消耗較大。
技術(shù)實現(xiàn)思路
1、針對現(xiàn)有的flash數(shù)據(jù)校驗和正確數(shù)據(jù)決策方法不能對flash中的原始數(shù)據(jù)實時取用,實時性較差,并且多片flash芯片對管腳資源消耗較大的問題,本發(fā)明提供一種flash數(shù)據(jù)備份及實時校驗決策的方法。
2、為解決上述問題,本發(fā)明采取如下的技術(shù)方案:
3、一種flash數(shù)據(jù)備份及實時校驗決策的方法,包括以下步驟:
4、步驟1:以相同長度對原始數(shù)據(jù)進行分組,每組原始數(shù)據(jù)輸入至校驗和模塊,校驗和模塊計算出當前一組原始數(shù)據(jù)對應(yīng)的校驗和并將計算得到的校驗和緩存,計算完成校驗和的該組原始數(shù)據(jù)經(jīng)寫flash模塊向flash芯片重復(fù)寫入兩遍,寫flash模塊再將緩存的校驗和寫入flash芯片,直到所有分組的原始數(shù)據(jù)寫入完畢;
5、步驟2:讀flash模塊按照固定長度從flash芯片每次讀出同一組數(shù)據(jù)中的兩份原始數(shù)據(jù)和對應(yīng)的校驗和,并將兩份原始數(shù)據(jù)送入校驗和模塊分別計算校驗和,再將計算得到的兩個校驗和和讀出的校驗和送入決策模塊,讀flash模塊開始讀取下一組待決策的原始數(shù)據(jù)和校驗和;
6、步驟3:決策模塊根據(jù)決策規(guī)則對三個校驗和進行比較,決策出正確的原始數(shù)據(jù)并輸出,并釋放緩存用于存儲讀flash模塊讀取完成的下一組待決策的原始數(shù)據(jù)和校驗和。
7、與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
8、本發(fā)明通過將原始數(shù)據(jù)按照相同長度進行分組,與校驗和交疊存儲,采用一片flash芯片存儲兩份原始數(shù)據(jù)和一份校驗和數(shù)據(jù),每次讀出包括兩份原始數(shù)據(jù)和一份校驗和數(shù)據(jù)的一組數(shù)據(jù)后,即可進行校驗,根據(jù)校驗結(jié)果決策出正確的原始數(shù)據(jù),實現(xiàn)了在節(jié)省管腳資源的前提下,對flash備份數(shù)據(jù)的實時校驗,并且能夠?qū)崟r決策取用正確的數(shù)據(jù),這種方法提高了程序運行效率,能夠滿足對于實時性有較高要求的系統(tǒng)。
1.一種flash數(shù)據(jù)備份及實時校驗決策的方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種flash數(shù)據(jù)備份及實時校驗決策的方法,其特征在于,決策模塊的決策規(guī)則如下: