專(zhuān)利名稱(chēng):安全接收芯片存儲(chǔ)臺(tái)名的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域中的一種安全接收芯片存儲(chǔ)臺(tái)名的方法,它
特別適用于在Flash (閃存)中對(duì)電視節(jié)目臺(tái)名進(jìn)行存儲(chǔ)及對(duì)電視節(jié) 目的臺(tái)名信息進(jìn)行管理。
背景技術(shù):
Flash存儲(chǔ)器無(wú)法對(duì)單個(gè)字節(jié)進(jìn)行擦除,如要擦除某個(gè)字節(jié)的內(nèi) 容,只能將該字節(jié)所在的扇區(qū)整個(gè)擦除,然后將不需要擦除的字節(jié)寫(xiě) 入,不再寫(xiě)要擦除的字節(jié),因此,執(zhí)行單字節(jié)擦除或更新操作比較麻 煩,而且如果頻繁擦除同一個(gè)扇區(qū)的某些字節(jié),因要對(duì)整個(gè)扇區(qū)操作, 會(huì)使得該扇區(qū)的擦寫(xiě)次數(shù)過(guò)多,使Flash的壽命縮短。
因此,需要開(kāi)發(fā)一種合理的方法,既能夠減少對(duì)Flash的擦寫(xiě)次 數(shù),提高芯片的使用壽命,又方便對(duì)所存儲(chǔ)的數(shù)據(jù)進(jìn)行管理。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題就是提供一種實(shí)現(xiàn)對(duì)節(jié)目臺(tái)名進(jìn)行 存儲(chǔ)及有效管理的安全接收芯片存儲(chǔ)臺(tái)名的方法,本發(fā)明根據(jù)節(jié)目臺(tái) 名的長(zhǎng)度以及所用存儲(chǔ)器的容量、扇區(qū)大小等特點(diǎn),對(duì)存儲(chǔ)器的空間 進(jìn)行合理分配,對(duì)節(jié)目臺(tái)名進(jìn)行存儲(chǔ)、編制索引并做相應(yīng)的狀態(tài)標(biāo)記。 本發(fā)明具有方便對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行管理,減少對(duì)存儲(chǔ)器進(jìn)行擦除的次 數(shù),延長(zhǎng)存儲(chǔ)器的使用壽命等特點(diǎn)。
本發(fā)明的目的是這樣實(shí)現(xiàn)的,它包括步驟 ① 把存儲(chǔ)器的扇區(qū)0、扇區(qū)l作為總的索引區(qū),記錄已用到的扇 區(qū)序號(hào),每次在存儲(chǔ)器中寫(xiě)入數(shù)據(jù)后,則在扇區(qū)0或扇區(qū)1中寫(xiě)入
此次用到的最后一個(gè)扇區(qū)的序號(hào),首先從扇區(qū)o開(kāi)始記錄扇區(qū)序號(hào),
每個(gè)序號(hào)占用一個(gè)字節(jié),扇區(qū)O寫(xiě)滿(mǎn)后則向扇區(qū)1寫(xiě)序號(hào),扇區(qū)1寫(xiě) 完后將扇區(qū)o擦除,扇區(qū)O、扇區(qū)l交替使用作為索引,
② 自扇區(qū)2開(kāi)始存儲(chǔ)實(shí)際的信息臺(tái)名,將存儲(chǔ)信息臺(tái)的扇區(qū)分為 N個(gè)分區(qū),N為自然數(shù),其中分區(qū)O作為本扇區(qū)的索引,不存儲(chǔ)實(shí)際 臺(tái)名信息,從分區(qū)1開(kāi)始用于存儲(chǔ)臺(tái)名信息,
③ 分區(qū)0作為本扇區(qū)的索引,按如下方式標(biāo)識(shí)每?jī)蓚€(gè)字節(jié)對(duì)應(yīng) 一個(gè)臺(tái)名信息區(qū),第1個(gè)字節(jié)寫(xiě)入特定數(shù)值表示本扇區(qū)的整個(gè)信息區(qū) 已經(jīng)用完;第2個(gè)字節(jié)寫(xiě)入特定數(shù)值表示本扇區(qū)的整個(gè)信息區(qū)標(biāo)識(shí)為 無(wú)用信息,允許將整個(gè)扇區(qū)擦除;后面的字節(jié)依次對(duì)應(yīng)本扇區(qū)存儲(chǔ)的 臺(tái)名信息,第3個(gè)字節(jié)寫(xiě)入特定數(shù)值表示本扇區(qū)的分區(qū)1存有臺(tái)名信 息,第4個(gè)字節(jié)寫(xiě)入特定數(shù)值表示本扇區(qū)的分區(qū)1存有的臺(tái)名信息已 經(jīng)失效,以此類(lèi)推,所述的特定數(shù)值為OO至FF的十六進(jìn)制數(shù),自定 義確定。
④ 檢測(cè)到存儲(chǔ)信息臺(tái)名的扇區(qū)中有兩個(gè)扇區(qū)的失效臺(tái)名都超過(guò) 分區(qū)數(shù)目的一半,則將這兩個(gè)扇區(qū)的有用臺(tái)名依次讀取、寫(xiě)入到指定 的扇區(qū)中,在指定的扇區(qū)的第1個(gè)字節(jié)和第2個(gè)字節(jié)中寫(xiě)入這兩個(gè)扇 區(qū)的序號(hào),將這兩個(gè)扇區(qū)擦除,將指定的扇區(qū)的信息拷貝到擦除后的 一個(gè)扇區(qū)中,然后擦除指定的扇區(qū),
⑤ 避免在擦除扇區(qū)過(guò)程中或在指定的扇區(qū)的信息拷貝過(guò)程中發(fā)
生掉電影響數(shù)據(jù)的完整性,將指定的扇區(qū)的最后兩個(gè)字節(jié)作為標(biāo)識(shí), 倒數(shù)第二個(gè)字節(jié)寫(xiě)入特定數(shù)值表示指定的扇區(qū)的數(shù)據(jù)完整,最后一個(gè) 字節(jié)寫(xiě)入特定數(shù)值表示指定的扇區(qū)的信息已拷貝完成,可以擦除,如
果最后兩個(gè)字節(jié)非特定數(shù)值,也非00H或FFH,則表示該扇區(qū)在擦 除過(guò)程中發(fā)生了掉電,也可以再次擦除。所述的特定數(shù)值為00至FF 的十六進(jìn)制數(shù),自定義確定。
本發(fā)明與背景技術(shù)相比,具有如下優(yōu)點(diǎn)
(1) 本發(fā)明將Flash存儲(chǔ)器按照數(shù)據(jù)特點(diǎn)分區(qū)進(jìn)行存儲(chǔ),能夠 有效的利用存儲(chǔ)空間,既能減小電路的面積,又能降低成本。
(2) 本發(fā)明在存儲(chǔ)的內(nèi)容中加入索引,可方便對(duì)存儲(chǔ)數(shù)據(jù)的管 理,還可以減少Flash擦寫(xiě)次數(shù),提高芯片的使用壽命。
圖1是本發(fā)明實(shí)施例的示意圖。
圖2是本發(fā)明實(shí)施例64KFlash存儲(chǔ)器的存儲(chǔ)結(jié)構(gòu)示意圖。圖2 中信息區(qū)容量為256字節(jié),各扇區(qū)容量均為512字節(jié)。
圖3是本發(fā)明實(shí)施例對(duì)64KFlash分配存儲(chǔ)空間的示意圖。圖3 中信息區(qū)、扇區(qū)0、扇區(qū)1不分區(qū),其余扇區(qū)均按32字節(jié)分為16個(gè) 分區(qū)。
具體實(shí)施例方式
參照?qǐng)D1至圖3,本發(fā)明方法包括步驟
①把存儲(chǔ)器的扇區(qū)0、扇區(qū)l作為總的索引區(qū),記錄己用到的扇 區(qū)序號(hào),每次在存儲(chǔ)器中寫(xiě)入數(shù)據(jù)后,則在扇區(qū)0或扇區(qū)1中寫(xiě)入
此次用到的最后一個(gè)扇區(qū)的序號(hào),首先從扇區(qū)o開(kāi)始記錄扇區(qū)序號(hào),
每個(gè)序號(hào)占用一個(gè)字節(jié),扇區(qū)0寫(xiě)滿(mǎn)后則向扇區(qū)1寫(xiě)序號(hào),扇區(qū)1寫(xiě) 完后將扇區(qū)0擦除,扇區(qū)0、扇區(qū)l交替使用作為索引。
② 自扇區(qū)2開(kāi)始存儲(chǔ)實(shí)際的信息臺(tái)名,將存儲(chǔ)信息臺(tái)的扇區(qū)分為 N個(gè)分區(qū),N為自然數(shù),其中分區(qū)O作為本扇區(qū)的索引,不存儲(chǔ)實(shí)際 臺(tái)名信息,從分區(qū)1開(kāi)始用于存儲(chǔ)臺(tái)名信息。
③ 分區(qū)0作為本扇區(qū)的索引,按如下方式標(biāo)識(shí)每?jī)蓚€(gè)字節(jié)對(duì)應(yīng) 一個(gè)臺(tái)名信息區(qū),第1個(gè)字節(jié)寫(xiě)入特定數(shù)值表示本扇區(qū)的整個(gè)信息區(qū) 已經(jīng)用完;第2個(gè)字節(jié)寫(xiě)入特定數(shù)值表示本扇區(qū)的整個(gè)信息區(qū)標(biāo)識(shí)為 無(wú)用信息,允許將整個(gè)扇區(qū)擦除;后面的字節(jié)依次對(duì)應(yīng)本扇區(qū)存儲(chǔ)的 臺(tái)名信息,第3個(gè)字節(jié)寫(xiě)入特定數(shù)值表示本扇區(qū)的分區(qū)1存有臺(tái)名信 息,第4個(gè)字節(jié)寫(xiě)入特定數(shù)值表示本扇區(qū)的分區(qū)1存有的臺(tái)名信息己 經(jīng)失效,以此類(lèi)推。實(shí)施例中所述的特定數(shù)值為OO至FF的十六進(jìn)制 數(shù),自定義確定。
④ 檢測(cè)到存儲(chǔ)信息臺(tái)名的扇區(qū)中有兩個(gè)扇區(qū)的失效臺(tái)名都超過(guò) 分區(qū)數(shù)目的一半,則將這兩個(gè)扇區(qū)的有用臺(tái)名依次讀取、寫(xiě)入到指定 的扇區(qū)中,在指定的扇區(qū)的第1個(gè)字節(jié)和第2個(gè)字節(jié)中寫(xiě)入這兩個(gè)扇 區(qū)的序號(hào),將這兩個(gè)扇區(qū)擦除,將指定的扇區(qū)的信息拷貝到擦除后的 一個(gè)扇區(qū)中,然后擦除指定的扇區(qū)。
⑤ 避免在擦除扇區(qū)過(guò)程中或在指定的扇區(qū)的信息拷貝過(guò)程中發(fā) 生掉電影響數(shù)據(jù)的完整性,將指定的扇區(qū)的最后兩個(gè)字節(jié)作為標(biāo)識(shí), 倒數(shù)第二個(gè)字節(jié)寫(xiě)入特定數(shù)值表示指定的扇區(qū)的數(shù)據(jù)完整,最后一個(gè)
字節(jié)寫(xiě)入特定數(shù)值表示指定的扇區(qū)的信息己拷貝完成,可以擦除,如
果最后兩個(gè)字節(jié)非特定數(shù)值,也非00H或FFH,則表示該扇區(qū)在擦 除過(guò)程中發(fā)生了掉電,也可以再次擦除。實(shí)施例中所述的特定數(shù)值為 OO至FF的十六進(jìn)制數(shù),自定義確定。
本發(fā)明基于Flash存儲(chǔ)器實(shí)現(xiàn)電視節(jié)目臺(tái)名的存儲(chǔ)和管理,圖1 是本發(fā)明實(shí)施例的原理示意圖。
下面以64K的Flash存儲(chǔ)器為實(shí)施例說(shuō)明本方法的操作過(guò)程
圖2是本發(fā)明實(shí)施例64KFlash存儲(chǔ)器的示意圖。圖2中信息區(qū) 容量為256字節(jié),各扇區(qū)容量均為512字節(jié)。
其中信息區(qū)的256字節(jié)保留,將來(lái)作為芯片的測(cè)試記錄或者芯片 配置信息保存區(qū)。
扇區(qū)0、 1作為總的索引區(qū),記錄用到的扇區(qū)序號(hào)如目前存儲(chǔ) 到扇區(qū)7,則在扇區(qū)0中寫(xiě)07H;如后面因?yàn)樘砑庸?jié)目將扇區(qū)用到了 9,則在下一地址上寫(xiě)09H,依此類(lèi)推;如果整個(gè)扇區(qū)O寫(xiě)滿(mǎn),則開(kāi) 始向扇區(qū)1寫(xiě),向扇區(qū)1寫(xiě)完后將扇區(qū)O擦除。扇區(qū)O、 l交替使用 作為索引。
自扇區(qū)2開(kāi)始存儲(chǔ)實(shí)際的信息臺(tái)名,將存儲(chǔ)信息臺(tái)的扇區(qū)按32 字節(jié)分為16個(gè)分區(qū),編號(hào)依次為0至15,其中分區(qū)O作為本扇區(qū)的 索引,不存儲(chǔ)實(shí)際臺(tái)名信息,分區(qū)1至分區(qū)15用于存儲(chǔ)臺(tái)名信息, 所以每個(gè)扇區(qū)可以存儲(chǔ)15個(gè)臺(tái)名信息;定義扇區(qū)2至扇區(qū)61共60 個(gè)扇區(qū)存儲(chǔ)臺(tái)名信息,則共可以存儲(chǔ)15X60-900個(gè)臺(tái)名信息。
圖3是本發(fā)明實(shí)施例對(duì)64KFlash分配存儲(chǔ)空間的示意圖。圖3
中信息區(qū)、扇區(qū)0、扇區(qū)1不分區(qū),其余扇區(qū)均按32字節(jié)分為16個(gè) 區(qū)。
分區(qū)0作為本扇區(qū)的索引,按如下方式標(biāo)識(shí)32個(gè)字節(jié)按每?jī)?個(gè)字節(jié)對(duì)應(yīng)一個(gè)臺(tái)名信息區(qū),第1個(gè)字節(jié)寫(xiě)入55H表示本扇區(qū)的整 個(gè)信息區(qū)己經(jīng)用完;第2個(gè)字節(jié)寫(xiě)入AAH表示本扇區(qū)的整個(gè)信息區(qū) 標(biāo)識(shí)為無(wú)用信息,可以擦除本扇區(qū);后面的30個(gè)字節(jié)依次對(duì)應(yīng)15個(gè) 臺(tái)名信息,如第3個(gè)字節(jié)寫(xiě)入55H表示本扇區(qū)分區(qū)l存有臺(tái)名信息, 第4個(gè)字節(jié)寫(xiě)入AAH表示本扇區(qū)分區(qū)1的臺(tái)名信息己經(jīng)失效。實(shí)施 例中55H和AAH可在實(shí)際設(shè)計(jì)中自定義。
扇區(qū)的擦除扇區(qū)62作為扇區(qū)更新用的備份區(qū)。如果檢測(cè)到有 兩個(gè)扇區(qū)的失效信息臺(tái)都超過(guò)8個(gè),則將這兩個(gè)扇區(qū)的有用臺(tái)名依次 讀取、寫(xiě)入到扇區(qū)62中,之后在扇區(qū)62的第1個(gè)字節(jié)和第2個(gè)字節(jié) 寫(xiě)入對(duì)應(yīng)要更新的扇區(qū)號(hào),之后將對(duì)應(yīng)的兩個(gè)扇區(qū)擦除,將扇區(qū)62 的信息拷貝到擦除后的一個(gè)扇區(qū)中,之后擦除扇區(qū)62,注意擦除前 檢測(cè)對(duì)應(yīng)的兩個(gè)扇區(qū)是否已經(jīng)完成了相應(yīng)操作,以免操作中掉電沒(méi)有 完成相應(yīng)操作。
為避免在扇區(qū)擦除過(guò)程中或在扇區(qū)62的信息拷貝中掉電影響數(shù) 據(jù)的完整性,將扇區(qū)62的最后兩個(gè)字節(jié)作為標(biāo)識(shí),倒數(shù)第二個(gè)字節(jié) 寫(xiě)入55H表示扇區(qū)62的數(shù)據(jù)完整,最后一個(gè)字節(jié)寫(xiě)入AAH表示扇 區(qū)62的信息己拷貝完成,可以擦除。如果最后兩個(gè)字節(jié)非55H和 AAH,也非OOH或FFH,則表示該扇區(qū)在擦除過(guò)程中發(fā)生了掉電, 也可以再次擦除。實(shí)施例中55H和AAH可在實(shí)際設(shè)計(jì)中自定義。
為避免在寫(xiě)入或擦除過(guò)程中掉電導(dǎo)致信息不完整而影響系統(tǒng)的
正常工作,設(shè)計(jì)Flash邏輯時(shí)一定要注意確認(rèn)寫(xiě)入或擦除動(dòng)作完整有 效,比如在某個(gè)扇區(qū)的某區(qū)增加一個(gè)臺(tái)名時(shí),將相應(yīng)臺(tái)名寫(xiě)入后再向 對(duì)應(yīng)的索引中寫(xiě)入55H;同理,如果對(duì)應(yīng)的索引為00H (空信息)或 其他信息,而對(duì)應(yīng)的信息存儲(chǔ)區(qū)有數(shù)據(jù),則認(rèn)為是無(wú)效數(shù)據(jù),在表示 數(shù)據(jù)有效性的對(duì)應(yīng)字節(jié)上寫(xiě)入AAH,以便適當(dāng)時(shí)機(jī)擦除。實(shí)施例中 55H和AAH可在實(shí)際設(shè)計(jì)中自定義。
權(quán)利要求
1、一種安全接收芯片存儲(chǔ)臺(tái)名的方法,其特征在于包括步驟①把存儲(chǔ)器的扇區(qū)0、扇區(qū)1作為總的索引區(qū),記錄已用到的扇區(qū)序號(hào),每次在存儲(chǔ)器中寫(xiě)入數(shù)據(jù)后,則在扇區(qū)0或扇區(qū)1中寫(xiě)入此次用到的最后一個(gè)扇區(qū)的序號(hào),首先從扇區(qū)0開(kāi)始記錄扇區(qū)序號(hào),每個(gè)序號(hào)占用一個(gè)字節(jié),扇區(qū)0寫(xiě)滿(mǎn)后則向扇區(qū)1寫(xiě)序號(hào),扇區(qū)1寫(xiě)完后將扇區(qū)0擦除,扇區(qū)0、扇區(qū)1交替使用作為索引,②自扇區(qū)2開(kāi)始存儲(chǔ)實(shí)際的信息臺(tái)名,將存儲(chǔ)信息臺(tái)的扇區(qū)分為N個(gè)分區(qū),N為自然數(shù),其中分區(qū)0作為本扇區(qū)的索引,不存儲(chǔ)實(shí)際臺(tái)名信息,從分區(qū)1開(kāi)始用于存儲(chǔ)臺(tái)名信息,③分區(qū)0作為本扇區(qū)的索引,按如下方式標(biāo)識(shí)每?jī)蓚€(gè)字節(jié)對(duì)應(yīng)一個(gè)臺(tái)名信息區(qū),第1個(gè)字節(jié)寫(xiě)入特定數(shù)值表示本扇區(qū)的整個(gè)信息區(qū)已經(jīng)用完;第2個(gè)字節(jié)寫(xiě)入特定數(shù)值表示本扇區(qū)的整個(gè)信息區(qū)標(biāo)識(shí)為無(wú)用信息,允許將整個(gè)扇區(qū)擦除;后面的字節(jié)依次對(duì)應(yīng)本扇區(qū)存儲(chǔ)的臺(tái)名信息,第3個(gè)字節(jié)寫(xiě)入特定數(shù)值表示本扇區(qū)的分區(qū)1存有臺(tái)名信息,第4個(gè)字節(jié)寫(xiě)入特定數(shù)值表示本扇區(qū)的分區(qū)1存有的臺(tái)名信息已經(jīng)失效,以此類(lèi)推,④檢測(cè)到存儲(chǔ)信息臺(tái)名的扇區(qū)中有兩個(gè)扇區(qū)的失效臺(tái)名都超過(guò)分區(qū)數(shù)目的一半,則將這兩個(gè)扇區(qū)的有用臺(tái)名依次讀取、寫(xiě)入到指定的扇區(qū)中,在指定的扇區(qū)的第1個(gè)字節(jié)和第2個(gè)字節(jié)中寫(xiě)入這兩個(gè)扇區(qū)的序號(hào),將這兩個(gè)扇區(qū)擦除,將指定的扇區(qū)的信息拷貝到擦除后的一個(gè)扇區(qū)中,然后擦除指定的扇區(qū),⑤避免在擦除扇區(qū)過(guò)程中或在指定的扇區(qū)的信息拷貝過(guò)程中發(fā)生掉電影響數(shù)據(jù)的完整性,將指定的扇區(qū)的最后兩個(gè)字節(jié)作為標(biāo)識(shí),倒數(shù)第二個(gè)字節(jié)寫(xiě)入特定數(shù)值表示指定的扇區(qū)的數(shù)據(jù)完整,最后一個(gè)字節(jié)寫(xiě)入特定數(shù)值表示指定的扇區(qū)的信息已拷貝完成,可以擦除,如果最后兩個(gè)字節(jié)非特定數(shù)值,也非00H或FFH,則表示該扇區(qū)在擦除過(guò)程中發(fā)生了掉電,也可以再次擦除,完成安全接收芯片存儲(chǔ)臺(tái)名。
2、根據(jù)權(quán)利要求1所述的安全接收芯片存儲(chǔ)臺(tái)名的方法,其特 征在于第③、⑤步中所述的特定數(shù)值為00至FF的十六進(jìn)制數(shù),自定義確定。
全文摘要
本發(fā)明公開(kāi)了一種安全接收芯片存儲(chǔ)臺(tái)名的方法,它涉及通信領(lǐng)域中對(duì)數(shù)據(jù)存儲(chǔ)進(jìn)行管理的數(shù)字信息處理技術(shù)。本發(fā)明根據(jù)節(jié)目臺(tái)名的長(zhǎng)度以及所用存儲(chǔ)器的容量、扇區(qū)大小等特點(diǎn),對(duì)存儲(chǔ)器的空間進(jìn)行合理分配,實(shí)現(xiàn)對(duì)節(jié)目臺(tái)名進(jìn)行存儲(chǔ)、編制索引并做相應(yīng)的狀態(tài)標(biāo)記。應(yīng)用本方法,優(yōu)點(diǎn)是方便對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行管理,又可以減少對(duì)存儲(chǔ)器進(jìn)行擦除的次數(shù),延長(zhǎng)存儲(chǔ)器的使用壽命。特別適用于在閃存存儲(chǔ)器中對(duì)臺(tái)名信息進(jìn)行存儲(chǔ)。
文檔編號(hào)H04N5/00GK101184155SQ20071018541
公開(kāi)日2008年5月21日 申請(qǐng)日期2007年12月18日 優(yōu)先權(quán)日2007年12月18日
發(fā)明者周永川, 孫晶晶, 斌 李, 李勝利, 田素雷 申請(qǐng)人:中國(guó)電子科技集團(tuán)公司第五十四研究所