專利名稱:一種電視機及其數(shù)據(jù)存儲方法、裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于電視機領(lǐng)域,尤其涉及一種電視機及其數(shù)據(jù)存儲方法、裝置。
背景技術(shù):
目前,大多數(shù)電—見機系統(tǒng)中都是靠內(nèi)部的E2PROM來存儲頻段數(shù)據(jù)、音量、 亮度、上次關(guān)機前節(jié)目位置等參數(shù)。E2PROM是可在線電擦除和電寫入的存儲 器,具有體積小、接口簡單、數(shù)據(jù)保存可靠、可在線改寫、功耗低、擦寫次數(shù) 可達(dá)100萬次、數(shù)據(jù)可保存100年等特點。因此,它在電碎見機存儲數(shù)據(jù)方面一 直占據(jù)著不可替代的位置。
然而,隨著電視技術(shù)的不斷發(fā)展,電視系統(tǒng)的復(fù)雜度也不斷提高,作為電 視機主控芯片的8位單片機已顯得力不從心。因此,32位處理器開始擔(dān)任電視 系統(tǒng)的主控芯片。這也隨之帶來了代碼空間的迅速膨脹。
之前的電視系統(tǒng)由于其功能比較簡單,所以代碼量較小,程序一般都存儲 在MCU的ROM中,然而采用32位處理器的系統(tǒng)必須考慮外掛存儲器來解決 空間膨脹的問題??紤]到NOR Flash成本較高,業(yè)界開始推出了 一種用SPI Flash (Serial Peripheral Interface Flash,串行外圍接閃存)存儲程序的方法。此方法 是將程序存儲在SPI Flash中,系統(tǒng)運行的時候,再將程序拷貝到系統(tǒng)的DDR 中,處理器直接從DDR中獲取執(zhí)行的指令。
如何將存儲在E2PROM的數(shù)據(jù)存儲到SPI Flash中,成為電視領(lǐng)域研究的
方向之一。
其中,先看一下SPI Flash的特點。它的擦除次數(shù)有10萬次,最小擦除單 元為一個扇區(qū)(4KB),數(shù)據(jù)只能寫在已擦除的區(qū)域、且可保存20年。
在電視系統(tǒng)中,需要頻繁的保存數(shù)據(jù),對于E2PROM來說,可以重復(fù)向同—地方寫入數(shù)據(jù),而SPI Flash則不行,寫入數(shù)據(jù)之前,必須擦除要寫入的區(qū)域。 且擦除的時候最少要擦除一個扇區(qū)即4Kbyte大小的空間。 請參閱圖l,該圖示出了通用的寫Flash過程。
為了解決擦除某一 區(qū)域的時候,保證同 一扇區(qū)該區(qū)域之外的數(shù)據(jù)不被損壞, 通常做法就是先讀->再改->再擦->再寫的方式。即擦除改扇區(qū)之前,首先將該 扇區(qū)的數(shù)據(jù)的讀出來保存到內(nèi)存中,在內(nèi)存中修改待寫入的數(shù)據(jù),然后擦除該 扇區(qū)的所有數(shù)據(jù),最后將修改后的內(nèi)存中的數(shù)據(jù)寫回到SPIFlash中。
但是,由于電視系統(tǒng)需要頻繁的保存數(shù)據(jù),有時可能需要保存用戶換臺的 信息,有時可能需要保存音量,而這些數(shù)據(jù)在SPIFlash中的地址是固定的,如 果要保存一個字節(jié),就必須先擦除一個扇區(qū)的空間,這將會嚴(yán)重影響SPI Flash 的壽命。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種電視機的數(shù)據(jù)存儲方法,旨在使得存儲
器能夠充分的被利用,提高存儲器的使用壽命。
本發(fā)明實施例是這樣實現(xiàn)的, 一種電視機的數(shù)據(jù)存儲方法,所述方法包括 在存儲器中設(shè)置一空間,將所述空間劃分為多個扇區(qū),每個扇區(qū)還劃分為
多個單元;
在保存數(shù)據(jù)時,在所述存儲器設(shè)置的空間中查找未存儲數(shù)據(jù)的單元; 將需要保存的數(shù)據(jù)依次寫入查找到的未存儲數(shù)據(jù)的單元中。 本發(fā)明實施例的另 一 目的在于提供一種電視機的數(shù)據(jù)存儲裝置,所述裝置 包括
空間設(shè)置模塊,用于在存儲器中設(shè)置一空間;
空間劃分模塊,用于將所述空間劃分為多個扇區(qū),每個扇區(qū)還劃分為多個 單元;
空間查找模塊,用于在保存數(shù)據(jù)時,在所述存儲器設(shè)置的空間中查找未存
5儲數(shù)據(jù)的單元;
數(shù)據(jù)保存^^莫塊,用于將需要保存的數(shù)據(jù)依次寫入查找到的未存儲數(shù)據(jù)的單 元中。
本發(fā)明實施例的還一目的在于提供一種電視機,所述電視機包括本發(fā)明實 施例提供的電—見機的數(shù)據(jù)存儲裝置。
本發(fā)明實施例通過存儲器劃分為多個扇區(qū),將每個扇區(qū)劃分為多個單元, 將需要存儲的數(shù)據(jù)依次存儲到各個單元中,由于被保存的變量在存儲器中是動 態(tài)存儲的,避免了每保存一次數(shù)據(jù)需擦除一次存儲器的過程,而是寫滿整個存 儲器的扇區(qū)之后才擦除一次,極大的延長了存儲器的壽命。
圖l是現(xiàn)有技術(shù)中通用的寫Flash過程示意圖2是本發(fā)明實施例提供的電視機的數(shù)據(jù)存儲方法的流程圖3A至圖3E是本發(fā)明實施例提供的電視機數(shù)據(jù)存儲過程的示意圖4是本發(fā)明實施例提供的電視機的數(shù)據(jù)存儲裝置的結(jié)構(gòu)圖。
具體實施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實 施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅 僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實施例通過將存儲器劃分為多個扇區(qū),每個扇區(qū)還劃分為多個單元, 將需要存儲的數(shù)據(jù)依次存儲到各個單元中。
圖1示出了本發(fā)明實施例提供的電視機的數(shù)據(jù)存儲方法的流程。
本發(fā)明實施例以電視機中SPI Flash為例進(jìn)行說明。當(dāng)然,在具體實施過程 中,也可以以非易失閃存(NAND)為例進(jìn)行數(shù)據(jù)的存儲。
在步驟S101中,在內(nèi)存中為要寫入到SPI Flash的數(shù)據(jù)設(shè)置一空間。請參閱圖3A,該空間作為需要保存的數(shù)據(jù)和SPI Flash之間的一個橋梁, 該空間記錄該變量在內(nèi)存中的物理地址(instance )、所占用內(nèi)存的大小(length)、 是否需要保存等信息(Dirty)。同時,它還記錄著該變量被保存到SPI Flash的具 體的物玉里i也;t止(storage—address)。
在步驟S102中,在SPI Flash中設(shè)置一空間,將設(shè)置的空間劃分為多個扇 區(qū),每個扇區(qū)還劃分為多個單元。
在具體實施過程中,請參閱圖3B,首先根據(jù)SPI Flash的大小在SPI Flash 中開辟一個16Kbyte的空間,將空間劃分為四個扇區(qū)A、 B、 C、 D,每個扇區(qū) 的大小為4Kbyte。
在每個劃分出的扇區(qū)中,再劃分出若干個單元a、 b、 c...,這些單元用來 存放需要保存的數(shù)據(jù),該數(shù)據(jù)在內(nèi)存中的物理地址、以及該單元的數(shù)據(jù)是否被 擦除的標(biāo)志,
在步驟S103中,根據(jù)系統(tǒng)設(shè)置的時間檢測是否需要保存數(shù)據(jù),當(dāng)系統(tǒng)需
要保存某個變量的數(shù)據(jù)時,進(jìn)行步驟S104,否則正常運行。
譬如,本發(fā)明實施例通過建立時間間隔(例如3秒)檢測一次是否需要保
存的機制,而不是數(shù)據(jù)被更改后實時的去保存,這樣可以延長SPI Flash的壽命。 在步驟S104中,根據(jù)當(dāng)前SPI Flash的使用情況,查找未存儲數(shù)據(jù)的單元。 在步驟S105中,將需要保存的數(shù)據(jù)寫入查找到的未存儲數(shù)據(jù)的單元中。 在具體實施過程中,請參閱圖3C①,當(dāng)系統(tǒng)需要保存某個變量的數(shù)據(jù)時,
首先會置位圖3A所示的標(biāo)志位,即表明該變量需要被保存。
之后,在圖3B所描述的空間中找出已經(jīng)被使用,但還未使用完的扇區(qū),
假設(shè)找到扇區(qū)A,然后再在扇區(qū)A找到未被使用的單元,假設(shè)為單元a,接著
系統(tǒng)會將待保存的數(shù)據(jù)依次寫入單元a,請參閱圖3C②。
同時,還要記錄寫入的這部分?jǐn)?shù)據(jù)在內(nèi)存中的物理地址,請參閱圖3C③。 最后,根據(jù)之前該變量在SPI Flash中的保存地址,找到該變量之前在SPI
Flash中被保存的單元,然后將該單元的數(shù)據(jù)是否被擦除標(biāo)志位寫入0請參閱圖3C④,表明這部分?jǐn)?shù)據(jù)塊已經(jīng)無效。接著系統(tǒng)需要更新3A所描述的變量被保 存在SPI Flash的最新物理地址,請參閱圖3C 。 到此,數(shù)據(jù)保存完畢。
由于保存在SPI Flash的數(shù)據(jù)與圖3A所描述的空間中的數(shù)據(jù)是實時同步 的,因此,當(dāng)寫滿一個扇區(qū)后(譬如扇區(qū)A),我們在下次保存數(shù)據(jù)前,可以 直接擦除該扇區(qū)A,再將DDR中的數(shù)據(jù)依次寫入下一個扇區(qū)(譬如扇區(qū)B )。
在讀取被寫入SPI Flash的數(shù)據(jù)時,描述如下
通常,在采用E2PROM的系統(tǒng)中,系統(tǒng)剛啟動的時候,檢測E2PROM的 數(shù)據(jù)是否有效,如果無效,首先會用系統(tǒng)中變量的默認(rèn)值初始化E2PROM;反 之,則讀取E2PROM的數(shù)據(jù)初始化系統(tǒng)變量。
同理,被保存在SPI Flash中的數(shù)據(jù)的讀取和E2PROM的數(shù)據(jù)讀取過程基 本一致,唯一的區(qū)別就是,被保存在E2PROM的數(shù)據(jù)的地址是固定不變的,請 參閱圖3D。因此,讀出某個固定地址的數(shù)據(jù)后,都會初始化同一個變量。而 SPIFlash則不同,^皮保存的變量在SPIFlash的地址是完全不定的,這就需要系 統(tǒng)在啟動的時候,遍歷整個圖3B所開辟出來的16Kbyte的空間,檢測每個扇 區(qū)的數(shù)據(jù)是否有效。如果有效,則根據(jù)該扇區(qū)記錄的該部分?jǐn)?shù)據(jù)在DDR的物 理地址初始化對應(yīng)的變量,請參閱圖3E。
采用以上描述后,我們可以隨時將數(shù)據(jù)保存到SPI Flash中,并且不需要每 保存一次擦除一次SPI Flash,而是寫滿一個扇區(qū)之后才擦除一次,這就大大延 長了 SPI Flash的壽命,解決了用SPI Flash替代E2PROM所要解決的關(guān)鍵技術(shù) 問題。
本發(fā)明實施例還提供一種電視機的數(shù)據(jù)存儲裝置,請參閱圖2。 其中,空間設(shè)置模塊21在存儲器中設(shè)置一空間。 空間劃分才莫塊22將所述空間劃分為多個單元。
所述空間劃分模塊22具體包括扇區(qū)劃分模塊221和單元劃分模塊222: 扇區(qū)劃分模塊221按照所述空間的大小將所述空間劃分為多個扇區(qū);單元劃分^^莫塊222將所述劃分出的扇區(qū)繼續(xù)劃分為多個單元。 數(shù)據(jù)檢測保存模塊23根據(jù)系統(tǒng)設(shè)置的時間檢測是否需要保存數(shù)據(jù)。 當(dāng)所述數(shù)據(jù)檢測保存模塊23檢測需要保存數(shù)據(jù)時,空間查找模塊24在所 述存儲器設(shè)置的空間中查找未存儲數(shù)據(jù)的單元。
數(shù)據(jù)保存模塊25將需要保存的數(shù)據(jù)依次寫入查找到的未存儲數(shù)據(jù)的單元中。
數(shù)據(jù)保存地址獲取模塊26獲取所保存數(shù)據(jù)在所述存儲器的單元的保存地址。
地址標(biāo)識才莫塊27將所述獲取的地址標(biāo)識為無效。
本發(fā)明實施例還提供一種電視機,所述電視機包括本發(fā)明實施例提供的電 視機的數(shù)據(jù)存儲裝置,鑒于該電視機的數(shù)據(jù)存儲裝置在上文已有詳細(xì)的描述, 此處不再贅述。
本發(fā)明實施例通過將存儲器劃分為多個扇區(qū),每個扇區(qū)還劃分為多個單元' 將需要存儲的數(shù)據(jù)依次存儲到各個單元中,避免了每保存一次數(shù)據(jù)需擦除一次 存儲器的過程,而是寫滿整個存儲器的扇區(qū)之后才擦除一次,極大的延長了存 儲器的壽命。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明
的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種電視機的數(shù)據(jù)存儲方法,其特征在于,所述方法包括在存儲器中設(shè)置一空間,將所述空間劃分為多個扇區(qū),每個扇區(qū)還劃分為多個單元;在保存數(shù)據(jù)時,在所述存儲器設(shè)置的空間中查找未存儲數(shù)據(jù)的單元;將需要保存的數(shù)據(jù)依次寫入查找到的未存儲數(shù)據(jù)的單元中。
2、 如權(quán)利要求1所述的電視機的數(shù)據(jù)存儲方法,其特征在于,在所述將需 要保存的數(shù)據(jù)依次寫入查找到的未存儲數(shù)據(jù)的單元中的步驟之前,所述方法還 包括根據(jù)系統(tǒng)設(shè)置的時間檢測是否需要保存數(shù)據(jù)。
3、 如權(quán)利要求1所述的電視機的數(shù)據(jù)存儲方法,其特征在于,在所述存儲 器設(shè)置的空間中查找未存儲數(shù)據(jù)的單元的步驟具體包括查找數(shù)據(jù)存儲未滿的扇區(qū);在查找到的扇區(qū)中查找未存儲數(shù)據(jù)的單元。
4、 如權(quán)利要求1所述的電視機的數(shù)據(jù)存儲方法,其特征在于,在所述在存 儲器中設(shè)置一空間,將所述空間劃分為多個扇區(qū),每個扇區(qū)還劃分為多個單元 的步驟之前,所述方法還包括在內(nèi)存中為要寫入到所述存儲器中的數(shù)據(jù)設(shè)置一空間,所述空間記錄所述 數(shù)據(jù)在所述內(nèi)存中的物理地址、所占用內(nèi)存的大小、是否需要保存及所述數(shù)據(jù) 被保存到所述存儲器中的具體的物理地址。
5、 如權(quán)利要求1所述的電^L機的數(shù)據(jù)存儲方法,其特征在于,在所述將需 要保存的數(shù)據(jù)依次寫入查找到的未存儲數(shù)據(jù)的單元中的步驟之后,所述方法還 包括獲取保存數(shù)據(jù)之前在所述存儲器的單元的保存地址; 將所述保存數(shù)據(jù)之前在所述存儲器的單元的保存地址標(biāo)志為無效。
6、 如權(quán)利要求1所述的電視機的數(shù)據(jù)存儲方法,其特征在于,所述存儲器是串行外圍接閃存或非易失閃存。
7、 一種電視3幾的|史據(jù)存儲裝置,其特征在于,所述裝置包括 空間設(shè)置模塊,用于在存儲器中設(shè)置一空間;空間劃分4莫塊,用于將所述空間劃分為多個扇區(qū),每個扇區(qū)還劃分為多個 單元;空間查找模塊,用于在保存數(shù)據(jù)時,在所述存儲器設(shè)置的空間中查找未存 儲數(shù)據(jù)的單元;數(shù)據(jù)保存模塊,用于將需要保存的數(shù)據(jù)依次寫入查找到的未存儲數(shù)據(jù)的單 元中。
8、 如權(quán)利要求7所述的電視機的數(shù)據(jù)存儲裝置,其特征在于,所述裝置還 包括數(shù)據(jù)檢測保存模塊,用于根據(jù)系統(tǒng)設(shè)置的時間檢測是否需要保存數(shù)據(jù)
9、 如權(quán)利要求7所述的電視機的數(shù)據(jù)存儲裝置,其特征在于,所述存儲器 是串行外圍接閃存或非易失閃存。
10、 一種電視機,其特征在于,所述電視機包括權(quán)利要求7至9任一項所 述的電視機的數(shù)據(jù)存儲裝置。
全文摘要
本發(fā)明適用于電視機領(lǐng)域,提供了一種電視機的數(shù)據(jù)存儲方法、裝置及接收終端,所述方法包括在存儲器中設(shè)置一空間,將所述空間劃分為多個扇區(qū),每個扇區(qū)還劃分為多個單元;在保存數(shù)據(jù)時,在所述存儲器設(shè)置的空間中查找未存儲數(shù)據(jù)的單元;將需要保存的數(shù)據(jù)依次寫入查找到的未存儲數(shù)據(jù)的單元中。本發(fā)明通過存儲器劃分為多個扇區(qū),將每個扇區(qū)劃分為多個單元,將需要存儲的數(shù)據(jù)依次存儲到各個單元中,由于被保存的變量在存儲器中是動態(tài)存儲的,避免了每保存一次數(shù)據(jù)需擦除一次存儲器的過程,而是寫滿整個存儲器的扇區(qū)之后才擦除一次,極大的延長了存儲器的壽命。
文檔編號H04N5/44GK101551780SQ200810241888
公開日2009年10月7日 申請日期2008年12月29日 優(yōu)先權(quán)日2008年12月29日
發(fā)明者帆 張 申請人:深圳創(chuàng)維-Rgb電子有限公司