本申請涉及存儲技術(shù)領(lǐng)域,更具體地,涉及一種一次性可編程存儲裝置以及對其進行數(shù)據(jù)校驗的方法。
背景技術(shù):
為了滿足不同用戶對節(jié)目質(zhì)量和節(jié)目類別的差異化需求,運營商可以通過用戶付費方式向特定用戶開放相應(yīng)節(jié)目的觀看權(quán)限,這已逐步成為當前電視運營的主流方式之一。為了實現(xiàn)對節(jié)目觀看權(quán)限的控制,安全機頂盒被廣泛使用。安全機頂盒主芯片內(nèi)部通常會包括一次性可編程(OTP,One time programmable)存儲空間,以存儲某些應(yīng)用數(shù)據(jù)。機頂盒芯片的OTP空間通常會存儲有三種類型的數(shù)據(jù)內(nèi)容。第一種內(nèi)容是對于每顆芯片的OTP空間都相同的內(nèi)容,如使能位、公共密鑰等;第二種是對于每顆芯片的OTP空間中某些位每顆芯片都不一樣的內(nèi)容,如芯片序列號、唯一密鑰。第三種是OTP空間的某些位的可能是隨機值的內(nèi)容。
出于一些原因,帶有OTP存儲空間的芯片可能需要進行二次檢測或二次燒錄,這通??梢岳米詣訙y試設(shè)備(ATE,Auto-Test Equipment)來執(zhí)行。一種常見的檢測或燒錄方法是在ATE燒錄時制作并記錄一檢索文件庫。檢索文件庫針對每顆芯片至少需記錄以下兩部分信息:1)每顆芯片的編號,每顆芯片的編號不同,該編號可用于在檢索文件庫中尋找到該芯片的記錄信息,例如序列號(PID);2)記錄需二次檢查的OTP信息值,該信息值是直接記錄又或是出于安全的考慮需加密存放,則根據(jù)系統(tǒng)需求決定。
當芯片需要ATE二次檢測時,ATE機臺讀出該芯片的PID,并通過相同的算法計算或直接讀取需檢查的OTP信息值。ATE機臺通過PID搜索燒錄時保存的檢索文件庫,將當前讀到的OTP信息值與文件庫中保留的信息值進行比較,從而判斷該OTP二次檢測是否正確。當芯片需要二次燒錄時,需按類似的方式重新制作并更新檢索文件庫。
但是,上述ATE測試方法比較復(fù)雜,會增加ATE測試的難度和成本。因此,有必要提供一種OTP存儲裝置能夠?qū)崿F(xiàn)較為簡便的ATE測試。
技術(shù)實現(xiàn)要素:
本申請的一個目的在于提供一種便于ATE測試的一次性可編程存儲裝置。
在本申請的一個方面,提供了一種一次性可編程存儲裝置。該存儲裝置包括存儲陣列,所述存儲陣列包括:數(shù)據(jù)存儲區(qū),用于存儲應(yīng)用數(shù)據(jù);校驗信息區(qū),其包括至少一個校驗信息單元,其中每個校驗信息單元包括:校驗地址區(qū)域,其用于存儲校驗地址信息,所述校驗地址信息關(guān)聯(lián)于所述數(shù)據(jù)存儲區(qū)中待校驗區(qū)域的地址;以及參考校驗數(shù)據(jù)區(qū)域,其用于存儲一個或多個參考校驗數(shù)據(jù),其中每個參考校驗數(shù)據(jù)是基于一校驗算法對所述待校驗區(qū)域中存儲的應(yīng)用數(shù)據(jù)進行參考校驗計算所得到的;校驗處理器,用于根據(jù)所述校驗地址信息從所述待校驗區(qū)域讀取應(yīng)用數(shù)據(jù),并且根據(jù)一選定的校驗算法對所述應(yīng)用數(shù)據(jù)進行自校驗計算,以得到自校驗結(jié)果;以及控制器,其耦接到所述存儲陣列和所述校驗處理器,用于從所述校驗處理器接收所述自校驗結(jié)果,選擇參考校驗數(shù)據(jù)來與所述自校驗結(jié)果進行比較,并且輸出所述比較結(jié)果。
可以看出,對于本申請的一次性可編程存儲裝置,其能夠根據(jù)自身存儲的參考校驗數(shù)據(jù)來判斷數(shù)據(jù)存儲是否存在問題,而不需要由外部模塊提供參考校驗數(shù)據(jù),這種數(shù)據(jù)校驗較為簡便,兼容性也較好。此外,對于一次性可編程存儲裝置外部的主控模塊或其他模塊,其僅能夠得到數(shù)據(jù)校驗的比較結(jié)果,而不能夠獲得待校驗區(qū)域中存儲的應(yīng)用數(shù)據(jù),因而這種一次性可編程存儲裝置的數(shù)據(jù)安全性也更好。
在一些實施例中,每個校驗信息單元還包括算法選擇區(qū)域,其用于存儲校驗算法標識,所述校驗算法標識指示被選定的校驗算法;所述控制器進一步用于根據(jù)所述校驗算法標識來選擇對所述應(yīng)用數(shù)據(jù)進行校驗計算的校驗算法。
在一些實施例中,每個校驗信息單元還包括數(shù)據(jù)選擇區(qū)域,其用于存儲參考校驗數(shù)據(jù)選擇標識,所述參考校驗數(shù)據(jù)選擇標識指示從所述一個或多個參考校驗數(shù)據(jù)中選擇的參考校驗數(shù)據(jù);所述控制器進一步用于根據(jù)所述參考校驗數(shù)據(jù)標識來選擇參考校驗數(shù)據(jù)。
在一些實施例中,每個校驗信息單元還包括單元控制區(qū)域,其用于存儲單元控制標識,所述單元控制標識指示所述校驗信息單元是否有效;所述控制器進一步用于根據(jù)每個校驗信息單元中存儲的單元控制標識來確定是否基于所述校驗信息單元進行自校驗。
在一些實施例中,所述校驗信息區(qū)的至少一個校驗信息單元是連續(xù)的,并且其中每個校驗信息單元還包括校驗控制區(qū)域,其用于存儲校驗控制標識,所述校驗控制標識指示存儲區(qū)域是否為校驗信息單元;所述控制器進一步用于根據(jù)所述至少一個校驗信息單元中存儲的校驗控制標識來確定是否進行自校驗。
在一些實施例中,所述校驗地址信息包括校驗起始地址信息和校驗長度信息。
在一些實施例中,所述校驗信息區(qū)還包括全局信息單元,其用于存儲起始地址單位和長度單位,所述控制器進一步根據(jù)所述校驗起始地址信息和所述起始地址單位確定校驗起始地址,以及根據(jù)所述校驗長度信息和所述長度單位確定校驗長度,從而根據(jù)所述校驗起始地址和所述校驗長度從所述待校驗區(qū)域讀取應(yīng)用數(shù)據(jù)。
在一些實施例中,所述校驗信息區(qū)被設(shè)置于所述存儲陣列的起始位置或結(jié)束位置。
在本申請的另一方面,還提供了一種對一次性可編程存儲裝置進行數(shù)據(jù)校驗的方法。所述一次性可編程存儲裝置包括存儲陣列,所述存儲陣列包括:數(shù)據(jù)存儲區(qū),用于存儲應(yīng)用數(shù)據(jù);校驗信息區(qū),其包括至少一個校驗信息單元,其中每個校驗信息單元包括:校驗地址區(qū)域,其用于存儲校驗地址信息,所述校驗地址信息關(guān)聯(lián)于所述數(shù)據(jù)存儲區(qū)中待校驗區(qū)域的地址;以及參考校驗數(shù)據(jù)區(qū)域,其用于存儲一個或多個參考校驗數(shù)據(jù),其中每個參考校驗數(shù)據(jù)是基于一校驗算法對所述待校驗區(qū)域中存儲的應(yīng)用數(shù)據(jù)進行參考校驗計算所得到的。所述方法包括:根據(jù)所述校驗地址信息從所述待校驗區(qū)域讀取應(yīng)用數(shù)據(jù);根據(jù)一選定的校驗算法對所述應(yīng)用數(shù)據(jù)進行自校驗計算,以得到自校驗結(jié)果;以及選擇參考校驗數(shù)據(jù)來與所述自校驗結(jié)果進行比較,以確定所存儲的應(yīng)用數(shù)據(jù)是否正確。
在一些實施例中,每個校驗信息單元還包括算法選擇區(qū)域,其用于存儲校驗算法標識,所述校驗算法標識指示被選定的校驗算法;所述方法進一步包括:根據(jù)所述校驗算法標識來選擇對所述應(yīng)用數(shù)據(jù)進行校驗計算的校驗算法。
在一些實施例中,每個校驗信息單元還包括數(shù)據(jù)選擇區(qū)域,其用于存儲參考校驗數(shù)據(jù)選擇標識,所述參考校驗數(shù)據(jù)選擇標識指示從所述一個或多個參考校驗數(shù)據(jù)中選擇的參考校驗數(shù)據(jù);所述方法進一步包括根據(jù)所述參考校驗數(shù)據(jù)標識來選擇參考校驗數(shù)據(jù)。
在一些實施例中,每個校驗信息單元還包括單元控制區(qū)域,其用于存儲單元控制標識,所述單元控制標識指示所述校驗信息單元是否有效;所述方法進一步包括:根據(jù)每個校驗信息單元中存儲的單元控制標識來確定是否基于所述校驗信息單元進行自校驗。
在一些實施例中,所述校驗信息區(qū)的至少一個校驗信息單元是連續(xù)的,并且其中每個校驗信息單元還包括校驗控制區(qū)域,其用于存儲校驗控制標識,所述校驗控制標識指示存儲區(qū)域是否為校驗信息單元;所述方法進一步包括:根據(jù)所述至少一個校驗信息單元中存儲的校驗控制標識來確定是否進行自校驗。
在一些實施例中,所述校驗地址信息包括校驗起始地址信息和校驗長度信息。
在一些實施例中,所述校驗信息區(qū)還包括全局信息單元,其用于存儲起始地址單位和長度單位;所述方法進一步包括:根據(jù)所述校驗起始地址信息和所述起始地址單位確定校驗起始地址,以及根據(jù)所述校驗長度信息和所述長度單位確定校驗長度,從而根據(jù)所述校驗起始地址和所述校驗長度從所述待校驗區(qū)域讀取應(yīng)用數(shù)據(jù)。
以上為本申請的概述,可能有簡化、概括和省略細節(jié)的情況,因此本領(lǐng)域的技術(shù)人員應(yīng)該認識到,該部分僅是示例說明性的,而不旨在以任何方式限定本申請范圍。本概述部分既非旨在確定所要求保護主題的關(guān)鍵特征或必要特征,也非旨在用作為確定所要求保護主題的范圍的輔助手段。
附圖說明
通過下面說明書和所附的權(quán)利要求書并與附圖結(jié)合,將會更加充分地清楚理解本申請內(nèi)容的上述和其他特征??梢岳斫猓@些附圖僅描繪了本申請內(nèi)容的若干實施方式,因此不應(yīng)認為是對本申請內(nèi)容范圍的限定。通過采用附圖,本申請內(nèi)容將會得到更加明確和詳細地說明。
圖1示出了根據(jù)本申請一個實施例的一次性可編程存儲裝置100;
圖2示出了圖1所示的存儲陣列的一個示例性結(jié)構(gòu);
圖3示出了根據(jù)本申請一個實施例的用于對一次性可編程裝置進行數(shù)據(jù)校驗的方法。
具體實施方式
在下面的詳細描述中,參考了構(gòu)成其一部分的附圖。在附圖中,類似的符號通常表示類似的組成部分,除非上下文另有說明。詳細描述、附圖和權(quán)利要求書中描述的說明性實施方式并非旨在限定。在不偏離本申請的主題的精神或范圍的情況下,可以采用其他實施方式,并且可以做出其他變化??梢岳斫猓梢詫Ρ旧暾堉幸话阈悦枋龅?、在附圖中圖解說明的本申請內(nèi)容的各個方面進行多種不同構(gòu)成的配置、替換、組合,設(shè)計,而所有這些都明確地構(gòu)成本申請內(nèi)容的一部分。
圖1示出了根據(jù)本申請一個實施例的一次性可編程存儲裝置100。在一些實施例中,該一次性可編程存儲裝置100可以被構(gòu)造為單獨的存儲芯片;或者也可以被集成到一個集成電路芯片中,例如被集成到片上系統(tǒng)(SOC)芯片中,作為其中的一個模塊來存儲數(shù)據(jù)。
如圖1所示,該一次性可編程存儲裝置100包括存儲陣列102,該存儲陣列102具有按行、列排布的多個可尋址的存儲單元(圖中未示出),并且每個存儲單元用于存儲1位(bit)數(shù)據(jù)。其中,每個存儲單元可以被編程(也即被寫入數(shù)據(jù))一次,并且不同的存儲單元可以被同時編程,或者被不同時編程。換言之,可以對存儲陣列102中的一部分存儲單元進行編程以寫入數(shù)據(jù),之后,再對另一部分存儲單元進行編程(通常被稱為二次編程或二次燒錄)。在一些實施例中,存儲陣列102中的多個存儲單元可以構(gòu)成一個字(word),例如32個存儲單元構(gòu)成一個字,也即單位字的位數(shù)為32。相應(yīng)地,存儲陣列102所包含的存儲單元數(shù)量等于總字數(shù)乘以單位字的位數(shù)。
存儲陣列102包括數(shù)據(jù)存儲區(qū)104,其存儲應(yīng)用數(shù)據(jù),也即用戶實際希望保存的數(shù)據(jù)內(nèi)容。例如,當用于機頂盒芯片時,應(yīng)用數(shù)據(jù)可以包括使能位、公共密鑰、芯片序列號、唯一密鑰(私有密鑰)等。
存儲陣列102還包括校驗信息區(qū)106,其存儲用于對數(shù)據(jù)存儲區(qū)104中存儲的應(yīng)用數(shù)據(jù)進行自校驗的信息。其中,在此所述的自校驗是指一次性可編程存儲裝置100無需從其外部(例如通過主控模塊112從外部數(shù)據(jù)庫或存儲器)獲取用于判斷所校驗的應(yīng)用數(shù)據(jù)是否準確、無誤地存儲的參考校驗數(shù)據(jù),這是因為參考校驗數(shù)據(jù)可以被預(yù)先燒錄在存儲陣列102中。
圖2示出了圖1所示的存儲陣列的一個示例性結(jié)構(gòu)。其中,存儲陣列的每一行表示一個字。可以理解,圖2所示的例子僅用于描述存儲陣列可以采用的示例性結(jié)構(gòu),而并不作為對本發(fā)明的限制。
如圖2所示,該存儲陣列包括數(shù)據(jù)存儲區(qū)104和校驗信息區(qū)106。校驗信息區(qū)106包括至少一個校驗信息單元。其中每個校驗信息單元用于指示對數(shù)據(jù)存儲區(qū)104中的一特定區(qū)域中存儲的應(yīng)用數(shù)據(jù)進行校驗。在圖2所示的實施例中,每個校驗信息單元占用兩個字的存儲空間,可以理解,在一些其他的實施例中,每個校驗信息單元也可以占用一個字或更多個字的存儲空間。此外需要說明的是,數(shù)據(jù)存儲區(qū)104和校驗信息區(qū)106的劃分取決于其中存儲數(shù)據(jù)內(nèi)容以及相應(yīng)的存儲協(xié)議,這兩個區(qū)域中存儲單元的物理結(jié)構(gòu)以及排列本身可以是相同的。
具體地,每個校驗信息單元可以包括用于存儲校驗地址信息的校驗地址區(qū)域,其中該校驗地址信息關(guān)聯(lián)于待校驗區(qū)域的地址。在一些實施例中,校驗地址信息可以包括校驗起始地址和校驗結(jié)束地址,或者可以包括校驗起始地址和校驗長度,再或者也可以包括校驗結(jié)束地址和校驗長度。在另一些實施例中,校驗地址信息也可以是能夠用于計算或確定校驗起始地址、結(jié)束地址和/或長度的信息。例如,檢驗地址信息可以包括校驗起始字序號、校驗結(jié)束字序號和/或校驗字長度;同時,校驗信息區(qū)還可以提供一區(qū)域,例如圖2所示的全局信息區(qū)120,用于存儲與校驗起始字序號、校驗結(jié)束字序號和/或校驗字長度對應(yīng)的單位字長度。例如,校驗起始地址等于校驗起始字序號乘以校驗起始字的單位字長度;校驗長度等于校驗字長度乘以單位字長度。通過這種方式來設(shè)置校驗地址信息可以減少校驗地址信息對存儲陣列中存儲空間的占用,特別是在存儲陣列中包括較多個校驗信息單元的情況下。
每個校驗信息單元還包括參考校驗數(shù)據(jù)區(qū)域,其存儲一個或多個參考校驗數(shù)據(jù),其中每個參考校驗數(shù)據(jù)是基于一校驗算法對待校驗區(qū)域中存儲的應(yīng)用數(shù)據(jù)進行參考校驗計算所得到的。例如,在對數(shù)據(jù)存儲區(qū)進行初次燒錄(編程)時,數(shù)據(jù)存儲區(qū)中的待校驗區(qū)域中可以被寫入數(shù)據(jù)。與此同時,利用校驗算法來對被寫入的應(yīng)用數(shù)據(jù)進行校驗計算,以得到校驗數(shù)據(jù)。這樣,可以將計算得到的校驗數(shù)據(jù)寫入到參考校驗數(shù)據(jù)區(qū)域中,以作為參考校驗數(shù)據(jù)。取決于參考校驗數(shù)據(jù)區(qū)域的大小,一個或多個參考校驗數(shù)據(jù)可以被寫入到參考校驗數(shù)據(jù)區(qū)域中。例如,在圖2所示的校驗信息單元1中,參考校驗數(shù)據(jù)11是初次燒錄時寫入的,而參考校驗數(shù)據(jù)12是二次燒錄時寫入的。其中,二次燒錄可能會對待校驗區(qū) 域中某些位進行了數(shù)據(jù)更新,例如對數(shù)據(jù)存儲區(qū)和校驗信息單元進行了更新,因而需要提供更新的參考校驗數(shù)據(jù)12??梢岳斫猓谝恍┢渌膶嵤├?,參考校驗數(shù)據(jù)區(qū)域還可以存儲三個或更多個參考校驗數(shù)據(jù),或者僅存儲有一個參考校驗數(shù)據(jù)。
仍參考圖1所示,一次性可編程存儲裝置100還包括校驗處理器108,其根據(jù)校驗信息區(qū)106中存儲的校驗地址信息從待校驗區(qū)域讀取應(yīng)用數(shù)據(jù),并且根據(jù)一選定的校驗算法對讀取的應(yīng)用數(shù)據(jù)進行自校驗計算,以得到自校驗結(jié)果。根據(jù)具體應(yīng)用的需要,校驗處理器108可以實施各種數(shù)據(jù)校驗算法,例如CRC16算法、CRC32算法、MD5算法、簽名算法等。
一次性可編程存儲裝置100還包括控制器110,其耦接到存儲陣列102和校驗處理器108??刂破?10從校驗處理器108接收計算得到的自校驗結(jié)果,從校驗信息區(qū)106中選擇參考校驗數(shù)據(jù)來與該自校驗結(jié)果進行比較,并且輸出比較結(jié)果。可以理解,計算所選擇的參考校驗數(shù)據(jù)的校驗算法應(yīng)與計算自校驗結(jié)果所采用的校驗算法一致。該比較結(jié)果指示了待校驗區(qū)域存儲的應(yīng)用數(shù)據(jù)是否準確:如果自校驗結(jié)果與參考校驗數(shù)據(jù)一致,則說明應(yīng)用數(shù)據(jù)的存儲是準確、可靠的;反之,則認為該存儲裝置100存在問題。在圖1中,控制器110還耦接到主控模塊112,例如是中央處理器,以向其提供比較結(jié)果。
可以看出,對于一次性可編程存儲裝置100來說,其能夠根據(jù)自身存儲的參考校驗數(shù)據(jù)來判斷數(shù)據(jù)存儲是否存在問題,而不需要由外部模塊提供參考校驗數(shù)據(jù),這種數(shù)據(jù)校驗較為簡便,兼容性也較好。此外,對于一次性可編程存儲裝置100外部的主控模塊或其他模塊,其僅能夠得到數(shù)據(jù)校驗的比較結(jié)果,而不能夠獲得待校驗區(qū)域中存儲的應(yīng)用數(shù)據(jù),因而這種一次性可編程存儲裝置的數(shù)據(jù)安全性也更好。
在圖1所示的實施例中,存儲陣列102和校驗處理器108是通過控制器110相互耦接以傳輸數(shù)據(jù)的;在一些其他的實施例中,存儲陣列102也可以不經(jīng)由控制器110而直接耦接到校驗處理器108。在這種情況下,控制器110向校驗處理器108發(fā)出校驗指令,指示校驗處理器108從存儲陣列102讀取數(shù)據(jù)以進行校驗;之后,控制器110再從校驗處理器108接收自校驗結(jié)果。
再參考圖2所示,正如前述,一個校驗信息單元的參考校驗數(shù)據(jù)區(qū)域可以僅存儲一個參考校驗數(shù)據(jù),因此控制器可以將自校驗結(jié)果與該參考校驗數(shù)據(jù)進行比較。在另一些實施例中,一個校驗信息單元的參考校驗數(shù)據(jù)區(qū)域可以存儲多個參考校驗數(shù)據(jù),這些參考校驗數(shù)據(jù)可以分別是在初次燒錄、二次燒錄或后續(xù)燒錄時根據(jù)所寫入的數(shù)據(jù)計算得到的參考校 驗數(shù)據(jù)。因此,這些參考校驗數(shù)據(jù)中至少有一個參考校驗數(shù)據(jù)應(yīng)當對應(yīng)于一次性可編程存儲裝置最新存儲的數(shù)據(jù)。在這種情況下,控制器可以選擇讀取所有的參考校驗數(shù)據(jù)來與自校驗結(jié)果進行比較,并且得到多個比較結(jié)果:如果多個比較結(jié)果中的一個比較結(jié)果指示自校驗結(jié)果與對應(yīng)的參考校驗數(shù)據(jù)一致,通常即可認為自校驗結(jié)果與最新寫入的參考校驗數(shù)據(jù)相同,因而確定一次性可編程存儲裝置沒有出現(xiàn)存儲故障。
替代地,控制器也可以從參考校驗數(shù)據(jù)區(qū)域中存儲的多個參考校驗數(shù)據(jù)中選擇一個參考校驗數(shù)據(jù),以與自校驗結(jié)果進行比較。如果自校驗結(jié)果與所選擇的參考校驗數(shù)據(jù)相同,則可以確定沒有出現(xiàn)存儲故障。相應(yīng)地,每個校驗信息單元可以包括數(shù)據(jù)選擇區(qū)域,其用于存儲參考校驗數(shù)據(jù)選擇標識。其中,參考校驗數(shù)據(jù)選擇標識指示從一個或多個參考校驗數(shù)據(jù)中選擇的參考校驗數(shù)據(jù)。例如,圖2所示的校驗信息單元1中存儲有參考校驗數(shù)據(jù)11和參考校驗數(shù)據(jù)12,那么數(shù)據(jù)選擇區(qū)域可以存儲1位的參考校驗數(shù)據(jù)選擇標識。控制器可以讀取該參考校驗數(shù)據(jù)選擇標識,并且根據(jù)其具體值來選擇對應(yīng)的參考校驗數(shù)據(jù)。例如,當該標識的值為“0”時,控制器可以選擇參考校驗數(shù)據(jù)11;而當該標識的值為“1”時,控制器可以選擇參考校驗數(shù)據(jù)12。通過參考校驗數(shù)據(jù)選擇標識的識別,控制器只需要進行一次參考校驗數(shù)據(jù)的比較操作,因此效率更高。
由于每個校驗信息單元中存儲的參考校驗數(shù)據(jù)是基于燒錄時選擇的校驗算法計算得到的,因此在不同校驗信息單元中存儲的參考校驗數(shù)據(jù)采用不同的校驗算法計算的情況下,校驗信息單元還可以包括算法選擇區(qū)域。該算法選擇區(qū)域用于存儲校驗算法標識,其中該校驗算法標識指示計算參考校驗數(shù)據(jù)的校驗算法。相應(yīng)地,在進行校驗時,控制器或校驗處理器可以從一個校驗信息單元讀取校驗算法標識,并且根據(jù)該校驗算法標識來選擇對讀取自待校驗區(qū)域的應(yīng)用數(shù)據(jù)進行校驗計算的校驗算法。例如,該校驗算法標識可以為3位數(shù)據(jù),最多可以指示8種校驗算法。根據(jù)預(yù)先的定義,當該標識的值為“000”時,可以選擇CRC16算法;而當該標識的值為“001”時,可以選擇例如MD5算法,等等。
正如前述,校驗信息區(qū)可以包括多個校驗信息單元。這些校驗信息單元可以分別指示對數(shù)據(jù)存儲區(qū)一特定區(qū)域中存儲的應(yīng)用數(shù)據(jù)進行數(shù)據(jù)校驗。在一些實施例中,控制器可以讀取所有校驗信息單元的校驗信息,并且進行數(shù)據(jù)校驗。在另一些實施例中,每個校驗信息單元還可以包括用于存儲單元控制標識的單元控制區(qū)域,該單元控制標識指示校驗信息單元是否有效。相應(yīng)地,控制器可以根據(jù)每個校驗信息單元中存儲的單元控制標識來確定是否基于該校驗信息單元進行自校驗。換言之,如果一個校驗信息單元中存儲的單元控制 標識為有效,則控制器繼續(xù)讀取該校驗信息單元的其他校驗信息以進行校驗;然而,如果控制器確定讀取的單元控制標識為無效,則放棄該校驗信息單元。單元控制區(qū)域中存儲的單元控制標識的值可以默認設(shè)置為有效;當需要二次燒錄時,根據(jù)校驗需要,例如待校驗區(qū)域的值被改變且沒有空間寫入新的參考校驗數(shù)據(jù),或者校驗算法發(fā)生變化,則可以將該單元控制標識的值修改一次,也即修改為無效,以廢棄該校驗信息單元。優(yōu)選地,可以將單元控制區(qū)域設(shè)置在校驗信息單元的較高位或較低位,其讀取順序可以優(yōu)先于校驗地址信息和/或參考校驗數(shù)據(jù),以提高校驗效率。
在一些實施例中,為了區(qū)分數(shù)據(jù)存儲區(qū)和校驗信息區(qū),每個校驗信息單元還可以包括校驗控制區(qū)域,其用于存儲校驗控制標識,其校驗控制標識指示該存儲區(qū)域是否為校驗信息單元??刂破骺梢愿鶕?jù)所讀取的校驗控制標識來確定是否進行自校驗。例如校驗控制標識為1位數(shù)據(jù)以表示有效或無效,例如其值為“1”時表示該存儲區(qū)域是校驗信息單元,因而需要進行自校驗;而當其值為“0”時表示該存儲區(qū)域不是校驗信息單元,因而不需要自校驗。校驗信息區(qū)的這些校驗信息單元可以是連續(xù)的,例如被設(shè)置于存儲陣列的起始位置或結(jié)束位置。例如,在圖2所示的示例中,校驗信息單元1和校驗信息單元2的最高位均為“1”。在控制器讀取存儲陣列時,讀取到這兩個校驗信息單元1和2對應(yīng)字的最高位均為“1”,其即判定需要進行自校驗。相反,對于與校驗信息單元2相鄰的緩沖區(qū),其最高位被設(shè)置為“0”,那么控制器在讀取到該值“0”時,則認為自校驗可以結(jié)束。在一些實施例中,校驗控制標識的值被默認設(shè)置為“0”,也即無效,僅當一個新的校驗信息單元被寫入后,該校驗控制標識才被修改為“1”,也即有效,以指示需要進行相應(yīng)的校驗操作。優(yōu)選地,在單元控制區(qū)域被設(shè)置在校驗信息單元較高位的情況下,可以將校驗控制區(qū)域設(shè)置在單元控制區(qū)域的較高位,以提高校驗效率。
圖3示出了根據(jù)本申請一個實施例的用于對一次性可編程存儲裝置進行數(shù)據(jù)校驗的方法200。該方法200可以用于對圖1和2所示的一次性可編程存儲裝置進行校驗。接下來,結(jié)合圖1至圖3,對該方法200的具體步驟進行詳述。
首先,自動測試裝置或主控模塊發(fā)出指令,控制器響應(yīng)該指令啟動數(shù)據(jù)校驗。
接著,控制器讀取校驗信息區(qū),開始進行數(shù)據(jù)校驗。在一些實施例中,控制器可以在讀取校驗信息區(qū)中的每個校驗信息單元之后,立即基于該校驗信息單元存儲的校驗信息來控制校驗處理器進行校驗計算和比較。在另一些實施例中,控制器可以在讀取所有校驗信息單元之后,再對控制校驗處理器進行校驗計算。
具體地,在步驟S202中,控制器讀取全局信息區(qū),確定與校驗起始字節(jié)序號、校驗結(jié)束字序號和/或校驗字長度對應(yīng)的單位字長度。
在步驟S204中,控制器讀取校驗信息單元,例如校驗信息單元1和/或校驗信息單元2,以獲得其中存儲的各種校驗相關(guān)的信息。
對于每個校驗信息單元,在步驟S206中,控制器確定校驗控制區(qū)域中存儲的校驗控制標識是否有效。如果校驗控制標識無效,則進入步驟S207,校驗結(jié)束,校驗結(jié)果正確。因為當校驗控制標識為無效(值為“0”)時,表示該存儲區(qū)域不是校驗信息單元,因而不需要自校驗,即可返回校驗結(jié)果正確,以便后續(xù)對一次性可編程存儲裝置的操作可以繼續(xù)進行。在一些實施例中,有些一次性可編程存儲裝置中沒有寫入任何校驗數(shù)據(jù),也即不需要自校驗,因此在一開始讀取校驗信息區(qū)時,所讀取到的校驗標識就是無效的。在一些實施例中,校驗控制標識無效是指已無下一校驗信息單元,即校驗結(jié)束且返回校驗正確的結(jié)果。如果校驗控制標識有效,則繼續(xù)步驟S208,控制器確定單元控制區(qū)域中存儲的單元控制標識是否有效。如果單元控制標識無效,則繼續(xù)步驟S210,讀取下一個校驗信息單元的校驗信息;如果單元控制標識有效,則繼續(xù)步驟S212,根據(jù)算法選擇區(qū)域存儲的校驗算法標識,校驗處理器選擇對應(yīng)的校驗算法。接著,在步驟S214,根據(jù)校驗地址區(qū)域存儲的校驗地址信息,數(shù)據(jù)存儲區(qū)中存儲的應(yīng)用數(shù)據(jù)被讀出,并且提供給校驗處理器,以計算得到自校驗結(jié)果。之后,在步驟S216,控制器根據(jù)參考校驗數(shù)據(jù)選擇標識從校驗信息單元中選擇對應(yīng)的參考校驗數(shù)據(jù),并且將其與自校驗結(jié)果進行比較。如果比較結(jié)果相同,則繼續(xù)步驟S210,讀取下一個校驗信息單元的校驗信息;但是如果比較結(jié)果不同,則繼續(xù)步驟S218,校驗結(jié)束,并且同時向主控模塊反饋校驗結(jié)果錯誤??梢岳斫?,如果校驗信息區(qū)包括多個參考校驗數(shù)據(jù)但不包括參考校驗數(shù)據(jù)選擇標識,則在步驟S216中,控制器可以將多個參考校驗數(shù)據(jù)和自校驗結(jié)果進行比較:在自校驗結(jié)果與多個參考校驗數(shù)據(jù)均不同時,繼續(xù)步驟S218;而在自校驗結(jié)果與其中的一個參考校驗數(shù)據(jù)相同時,繼續(xù)步驟S210。
這樣,根據(jù)控制器反饋的校驗結(jié)果,主控模塊即可判斷被校驗的一次性可編程存儲裝置是否存在數(shù)據(jù)存儲錯誤,而不需要由主控模塊或其他外部模塊提供參考校驗數(shù)據(jù),這種數(shù)據(jù)校驗較為簡便,兼容性也較好。
本申請的一次性可編程存儲裝置特別適用于其內(nèi)部數(shù)據(jù)發(fā)生二次或多次燒錄的情況。
具體地,在進行二次燒錄之前,一次性可編程存儲裝置中的部分存儲區(qū)域已經(jīng)被寫入了應(yīng)用數(shù)據(jù)。相應(yīng)地,該存儲裝置的校驗信息區(qū)中已寫入了校驗信息。例如,如圖2所示, 校驗信息單元1的校驗地址區(qū)域1被寫入了校驗地址信息,其指示數(shù)據(jù)存儲區(qū)中待校驗區(qū)域的地址。同時,校驗信息單元1的算法選擇區(qū)域被寫入了相應(yīng)的校驗算法標識,而圖1所示的參考校驗數(shù)據(jù)11也被寫入到校驗信息單元1中。
因此,在進行二次燒錄之前,可以首先檢查待燒錄的存儲裝置的存儲功能是否正常,例如采用圖2所示的流程進行驗證。具體地,ATE機臺可以讀取校驗地址信息以相應(yīng)地讀取數(shù)據(jù)存儲區(qū)中對應(yīng)區(qū)域的應(yīng)用數(shù)據(jù),并且利用校驗算法標識所對應(yīng)的校驗算法來計算自校驗結(jié)果。之后,ATE機臺讀取參考校驗數(shù)據(jù),并且將自校驗結(jié)果與參考校驗數(shù)據(jù)進行比較。如果比較結(jié)果顯示這兩者一致,則機臺可以繼續(xù)進行二次燒錄操作。
在一些情況下,二次燒錄的數(shù)據(jù)修改較少,例如當新數(shù)據(jù)寫入全部或主要發(fā)生在校驗地址區(qū)域1中已寫入校驗地址信息對應(yīng)的存儲區(qū)域時,ATE機臺可以讀取這一存儲區(qū)域中全部寫入的應(yīng)用數(shù)據(jù),并且采用原有校驗算法確定新的參考校驗數(shù)據(jù),并且將該新的參考校驗數(shù)據(jù)作為參考校驗數(shù)據(jù)12寫入到校驗信息單元1中。相應(yīng)地,校驗信息單元1的數(shù)據(jù)選擇區(qū)域的值可以被修改,以指示參考校驗數(shù)據(jù)的更新,也即指示二次燒錄后有效的參考校驗數(shù)據(jù)由參考校驗數(shù)據(jù)11變?yōu)閰⒖夹r灁?shù)據(jù)12。對于二次燒錄后的存儲裝置,當ATE機臺再對其進行數(shù)據(jù)校驗時,正如前述圖2的流程所說明的,其會根據(jù)參考校驗數(shù)據(jù)選擇標識的值來選擇讀取參考校驗數(shù)據(jù)12來用于自校驗。
在另一些情況下,二次燒錄可能會對存儲裝置進行較多的修改,例如數(shù)據(jù)存儲區(qū)的大部分區(qū)域被新寫入數(shù)據(jù),校驗信息單元1中原有的校驗地址信息已不能夠反映數(shù)據(jù)的變更。這時,可能需要擴大待校驗區(qū)域的范圍,因此需要對校驗地址信息進行更新。由于校驗信息單元1中的校驗地址區(qū)域1已經(jīng)被占用,因此,需要新增校驗信息單元2并且在該校驗信息單元2的校驗地址區(qū)域2中寫入新的校驗地址信息。相應(yīng)地,可以將在該校驗信息單元2中寫入新的參考校驗數(shù)據(jù)21。由于原有的校驗信息單元1中存儲的校驗信息已經(jīng)不再使用,因此可以將校驗信心單元1的單元控制區(qū)域中的單元控制標識設(shè)置為無效,而將新增的校驗信息單元2的單元控制標識設(shè)置為有效。這樣,對于二次燒錄后的存儲裝置,當ATE機臺再對其進行數(shù)據(jù)校驗時,正如前述圖2的流程所說明的,其會根據(jù)單元校驗標識的判斷結(jié)果來選擇讀取參考校驗數(shù)據(jù)21來用于自校驗。
在一些情況下,出于各種考慮,需要采用新的校驗算法。這時,原有的校驗信息單元1中存儲的校驗信息同樣不能夠使用。類似地,可以廢棄校驗信息單元1,并且新增一個或多個校驗信息單元來更新校驗算法以及對應(yīng)的參考校驗數(shù)據(jù)。相應(yīng)地,當進行二次校驗 時,可以按照二次燒錄更新的校驗信息來進行數(shù)據(jù)校驗,以確定存儲裝置的存儲是否存在問題。
本技術(shù)領(lǐng)域的一般技術(shù)人員可以通過研究說明書、公開的內(nèi)容及附圖和所附的權(quán)利要求書,理解和實施對披露的實施方式的其他改變,上述實施方案僅僅是為了說明的目的而列舉的示例,而不是對本申請的限制,本申請的實施方式可以通過硬件、軟件或其組合的形式來實現(xiàn)。凡在本申請的教導和權(quán)利要求保護范圍下所作的任何修改、等同替換等,均應(yīng)包含在本申請要求保護的范圍內(nèi)。在權(quán)利要求中,措詞“包括”不排除其他的元素和步驟,并且措辭“一”、“一個”不排除復(fù)數(shù)。在本申請的實際應(yīng)用中,一個零件可能執(zhí)行權(quán)利要求中所引用的多個技術(shù)特征的功能。權(quán)利要求中的任何附圖標記不應(yīng)理解為對范圍的限制。