專利名稱:計算機存儲器組織的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到計算機存儲器,具體地說,本發(fā)明涉及到對存儲器中的存儲區(qū)進(jìn)行劃分以及/或者對快擦寫存儲器(flash memory)的內(nèi)容進(jìn)行更新。本發(fā)明在廣播和接收系統(tǒng)中的接收機/譯碼器、特別是數(shù)字交互式衛(wèi)星電視和/或無線電系統(tǒng)的接收機/譯碼器內(nèi)有特別的用途。但是,應(yīng)該認(rèn)識到,本發(fā)明并不局限于所述系統(tǒng)或該類型的系統(tǒng),而是更一般地適用于多種計算機系統(tǒng)。
在計算機系統(tǒng)中,具體說在諸如用于數(shù)字電視或無線電設(shè)備的接收機/譯碼器之類的較大的、其中包括有計算機系統(tǒng)的系統(tǒng)中,通常要限制存儲器的數(shù)量。這就意味著必須要對存儲器進(jìn)行組織以使得系統(tǒng)所需的各種功能所使用的存儲器空間達(dá)到最小。此外,還必須要使訪問存儲器的至少某些部分所需的時間達(dá)到最小。
本發(fā)明的一個方面具體涉及到在存儲器中設(shè)置或組織緩沖區(qū)。
用于設(shè)置緩沖區(qū)的通常技術(shù)是利用用來分配緩沖區(qū)的動態(tài)系統(tǒng)。但是,在現(xiàn)有的方法中,這種標(biāo)準(zhǔn)的系統(tǒng)具有某些缺陷。它會導(dǎo)致存儲器中有存儲殘片,并且,對內(nèi)務(wù)操作的需求會限制其速度。而且,如果需要擴大緩沖區(qū),就需要移動存儲器的數(shù)據(jù)塊以便為這種擴大形成空間。
依照本發(fā)明的一個方面,提供了一種用于對計算機系統(tǒng)中的存儲區(qū)內(nèi)的緩沖區(qū)進(jìn)行限定和尋址的系統(tǒng),該系統(tǒng)包括池(pool)大小存儲裝置,它用于存儲多個池大小;緩沖區(qū)大小存儲裝置,它用于存儲用于各個池的緩沖區(qū)大小;以及,計算裝置,它用于根據(jù)上述大小計算預(yù)定池中的預(yù)定緩沖區(qū)的地址。最佳的是,還包括用于以累加形式確定池大小并將它們以累加的形式存儲在池大小存儲裝置中的裝置??稍诿總€池的開始處限定一保留區(qū),并設(shè)置用于選擇累加池大小指令或計算裝置的輸出的裝置??蓹z查預(yù)定池號、預(yù)定緩沖區(qū)號和預(yù)定字節(jié)的越界值。
目前,可使用多種類型的計算機存儲器。不同類型存儲器之間的一個主要區(qū)別在于易失性存儲器和非易失性存儲器。易失性存儲器僅在向該存儲器供電時才能保存其內(nèi)容,一旦斷電,就會丟失其內(nèi)容,而非易失性存儲器則即使是斷電也能長期地保存其內(nèi)容。另一個主要的區(qū)別是可寫存儲器和只讀存儲器。
易失性存儲器一般就是RAM,而非易失性存儲器則有多種類型。RAM通常是可寫的,而只讀存儲器則就是ROM。后一種區(qū)別不一定是一成不變的。當(dāng)然,從某種意義上說,任何存儲器都必須可寫一次,但是,盡管有一定的困難,某些ROM式存儲器還是可以改變其內(nèi)容。因此,有諸如PROM(可編程(即可寫)只讀存儲器)、EEPROM(電可擦可編程存儲器)以及快擦寫存儲器之類的存儲器類型。
不同種類的存儲器具有不同的特征(例如不同的讀取時間和不同的成本),因此,在一個計算機系統(tǒng)中通常應(yīng)使用幾種不同類型存儲器的組合。
本發(fā)明的另一個方面涉及到快擦寫存儲器。快擦寫存儲器通常與ROM相類似,因為它是非易失性的。通常還按與ROM相類似的方式即可讀出但不能寫入的方式使用快擦寫存儲器。但是,快擦寫存儲器是可以寫入的,只是寫入有些困難。具體地說,通常將快擦寫存儲器分成頁,一般地說,每頁的大小為數(shù)千字節(jié),并且,按頁對快擦寫存儲器進(jìn)行寫操作。更具體地說,為了寫入快擦寫存儲器。必須擦除整個頁,然后將新內(nèi)容寫進(jìn)擦除后的頁,此外,這種寫操作基本上是一次不可中斷的操作。(很明顯,在擦除與寫入之間可以有間隔。)從理論上說,可將快擦寫存儲器中的信息組織成單個字以上的有任何大小的單元。但是,實際上通常將信息組織成有顯著大小的塊。一個塊可包括這樣的數(shù)據(jù),例如永久或半永久的信息的表或程序或子例程。通常將塊的大小選定為小于頁的大小(如果塊大于頁,則應(yīng)將塊分成小于頁大小的子塊)。
一般地說,在對快擦寫存儲器進(jìn)行更新時,應(yīng)該保留某些已存在于其中的信息。所以,這就需要將要被更新的頁讀入RAM以形成該頁的映像,然后,通過將要加入的信息插進(jìn)該頁來更新RAM中的這種映像。同時,可刪除該頁內(nèi)的不再需要的任何信息。然后,將更新后的映像寫回快擦寫存儲器。
總的來說,塊大小不是固定的,也就是說,不同的塊有不同的大小。很明顯,這就會在廢棄某些現(xiàn)有的塊并增加新塊時出現(xiàn)困難。通過使得塊可以移動,能夠在很大程度上克服上述困難,因此,在更新一個頁時,可重新排列要保留在該頁中的塊,所以,可將該頁中的任何未用的區(qū)域合并進(jìn)一個單個的大的未用區(qū)域。
如果塊是可移動的,那么,它們就不能用固定的地址來尋址。相反,必需要對某種塊定位或?qū)ぶ窋?shù)據(jù)結(jié)構(gòu)進(jìn)行維護,因此,實際上,可用某種名字或描述符來對塊進(jìn)行檢索。在塊有不同大小的情況下,這就需要有關(guān)塊的位置和特征的信息??捎枚喾N方式來實現(xiàn)這一點。因此,應(yīng)在快擦寫存儲器的開始處保存有塊的詳細(xì)目錄(它們的位置和特征),或者,在快擦寫存儲器的開始處保持有塊的位置目錄,并且,每個塊都可包括一頭標(biāo),它給出了塊的特征。另外,對快擦寫存儲器的每一頁來說都可保存有一獨立的塊定位數(shù)據(jù)結(jié)構(gòu)。
所有的塊定位數(shù)據(jù)結(jié)構(gòu)均具有共同的特征即對該結(jié)構(gòu)內(nèi)容的每次變化來說都需要更新快擦寫存儲器。寫一新塊顯然要更新快擦寫存儲器,刪除一個塊也相似地需要進(jìn)行更新。盡管不一定是在物理上將塊刪除,但必須要更新塊定位數(shù)據(jù)結(jié)構(gòu)以指示該塊已不再有效。
我們已經(jīng)認(rèn)識到,可將對快擦寫存儲器的更新要求限于增加新塊,換句話說,可在不需更新快擦寫存儲器的情況下有效地刪除塊。為了做到這一點,將塊定位數(shù)據(jù)結(jié)構(gòu)至少部分地放在快擦寫存儲器外面的外部存儲器內(nèi),最好是放在EEPROM存儲器內(nèi)。
外部存儲器可存放基本上是全部的塊定位數(shù)據(jù)結(jié)構(gòu)即塊地址和描述符。另外,外部存儲器可僅存放各塊在快擦寫存儲器內(nèi)的位置,而各塊的描述符則作為塊本身的頭標(biāo)包括在快擦寫存儲器內(nèi)。在這兩種情況下,可將外部目錄組織成用于整個快擦寫存儲器的單個結(jié)構(gòu)或按頁來組織外部目錄。
但是,最好能通過僅將各塊的有效位保存在外部存儲器內(nèi)來最大限度地減小外部存儲器的大小,而塊地址和描述符則保存在快擦寫存儲器自身內(nèi)。這就能將外部存儲器減小成為塊有效性的位圖。為了擦除快擦寫存儲器內(nèi)的一個塊,需要做的全部工作就是將外部存儲器中的用于該塊的位從“有效”改為“無效”。
就上述的頁更新的一般過程而言,這一過程存在著問題。如果在這一過程中斷了供給系統(tǒng)的電源(或其它主要系統(tǒng)中斷或崩潰),那么,就會丟失RAM的內(nèi)容,所以,會丟失寫進(jìn)快擦寫存儲器的頁的經(jīng)過更新的映像。在將更新過的頁寫回快擦寫存儲器之前,會擦除快擦寫存儲器頁中先前更新過的信息。(并且,僅能部分地將更新過的頁寫回快擦寫存儲器,所以,會丟失該頁的某些內(nèi)容,而且,由于一般不知道斷電的準(zhǔn)確時間,所以通常無法精確地知道已將多少更新過的頁的內(nèi)容寫進(jìn)了快擦寫存儲器。)本發(fā)明的一個目的是消除或克服上述問題。
依照這一方面,本發(fā)明提供一種計算機中的快擦寫存儲器系統(tǒng),其中,將快擦寫存儲器分成獨立可寫的頁,所述快擦寫存儲器系統(tǒng)包括用于將快擦寫存儲器的一個頁作為映像頁拷貝進(jìn)RAM存儲器并更新該映像頁的裝置;用于將上述映像頁寫回快擦寫存儲器中不同頁的裝置;一主記錄表,它保存在獨立的非易失性存儲器內(nèi)并標(biāo)識快擦寫存儲器中的有效頁;以及,用于在已對快擦寫存儲器中的一個頁進(jìn)行了更新時對上述主記錄表進(jìn)行更新的裝置。保存上述主記錄表的存儲器最好是EEPROM存儲器。一般是通過主記錄表來訪問快擦寫存儲器。
在正常的操作中,所述主記錄表會將快擦寫存儲器的某些頁記錄為有效,而將另一些頁記錄為無效,“無效”是指該頁不包含有有效信息。一個頁可按多種方式無效,因此,該頁可以是空的,可以己成功地拷貝進(jìn)另一個頁,或者,已使寫操作中斷。
在本系統(tǒng)中,對一個頁進(jìn)行更新包括將所更新的頁從快擦寫存儲器中現(xiàn)有的頁拷貝至另一個頁(所說的拷貝包括更新該頁的內(nèi)容)。因此,本系統(tǒng)必須總是將至少一個頁保持為無效,也可將這個無效的頁同樣地說明為“備用頁”。在對一個頁進(jìn)行更新時,僅在對該頁的拷貝完成之后更新所述主記錄表。因此,如果頁拷貝中斷,所述主記錄表就會保持不變,所以,原有的頁會保持為有效,而新頁則仍標(biāo)記為備用??稍谝院笾匦逻M(jìn)行拷貝或者放棄拷貝。
即使就上述系統(tǒng)而言,也存在有潛在的困難。到目前為止所述的系統(tǒng)依賴于對主記錄表的更新。所以,重要的是確保主記錄表有高度的完整性。
由于與更新快擦寫存儲器的一個頁相比更新主記錄表是非??斓?,所以,在使用有足夠容量去維持系統(tǒng)操作直至至少更新主記錄表所需的那么長時間的電源的情況下,可剛好在更新主記錄表之前檢查電源的狀態(tài)。但是,所述主記錄表最好包括一檢錯部并且可在更新之后立即被拷貝至一后備記錄表中。所述系統(tǒng)包括一個用于當(dāng)使用主記錄表訪問快擦寫存儲器時檢查主記錄表出錯情況并在主記錄表有錯的情況下使用后備記錄表的裝置。因此,如果主記錄表有錯,所述系統(tǒng)就將最近對快擦寫存儲器的更新處理為無效,就好像已中斷了更新那樣。
當(dāng)然,可以將主記錄表拷貝進(jìn)后備記錄表的操作中斷。但是,僅在完成了主記錄表的主更新之后才進(jìn)行這種拷貝操作。以后對快擦寫存儲器的任何訪問都包括對主記錄表進(jìn)行檢查,主記錄表不會有錯,故不需要訪問后備記錄表,與該表的出錯狀態(tài)沒有關(guān)系。
但是,在對快擦寫存儲器的下一次更新過程中,要更新主記錄表。這種更新操作可能如上所述那樣會中斷,如果是這樣的話,就必須使用后備記錄表去訪問更新之前的快擦寫存儲器。所以,不應(yīng)允許后備記錄表有錯。通過作為對快擦寫存儲器進(jìn)行更進(jìn)的第一步(或至少在將更新過的映像頁從RAM寫入快擦寫存儲器的備用頁之前)而將主記錄表拷貝至后備記錄表可以方便地做到這一點。
從以上的說明中可以看出,快擦寫存儲器中的信息或數(shù)據(jù)塊并不位于固定的位置。在更新快擦寫存儲器的頁時,這些頁中的數(shù)據(jù)塊可逐頁移動并且還可能改變它們在頁中的位置。所以,需要有某種形式的目錄,從而,可在需要時找到數(shù)據(jù)塊。所述目錄信息保存在上述記錄表中或保存在快擦寫存儲器本身內(nèi),可分散在上述兩種存儲單元內(nèi)。
我們已經(jīng)認(rèn)識到,一般地說,所述目錄信息通常不會改變,除非數(shù)據(jù)塊本身發(fā)生了變化,所以,能很方便地將目錄信息從及數(shù)據(jù)塊存入快擦寫存儲器。但是,存在有這樣一種目錄型信息,它會在數(shù)據(jù)本身不變的情況下也即不管數(shù)據(jù)塊是否有效的情況下發(fā)生變化。所以,能很方便地將數(shù)據(jù)塊有效性信息存儲進(jìn)記錄表。這就允許在不必更新快擦寫存儲器的情況下有效地刪除一個數(shù)據(jù)塊,需要做的全部工作就是將塊指示符從有效改為無效。
當(dāng)然,如果在后來對帶有數(shù)據(jù)塊的頁進(jìn)行更新,那么,就不能將帶無效指示符的塊從該頁拷貝至RAM內(nèi)的映像頁,所以,這時可從更為實際的意義上刪除這些塊。(這些數(shù)據(jù)塊實際仍保留在變成新備用頁的舊頁內(nèi)但當(dāng)然是不可訪問的,并且,在將該新的備用頁用于對快擦寫存儲器的下一次更新時,就會將所述數(shù)據(jù)塊完全在物理上刪除。)所以,對各個頁來說,上述記錄表最好包含有一組數(shù)據(jù)塊有效性指示符,這些指示符可很方便地地呈單個位的形式。這會增加記錄表的大小,這意味著可用多種標(biāo)準(zhǔn)技術(shù)來提供檢錯部,盡管可以使用錯誤檢測或校正碼或雜湊型函數(shù),但最好是使用循環(huán)冗佘檢測(CRC)。
當(dāng)然,記錄表中用于一個頁的塊有效性指示符必須與快擦寫存儲器中的該頁內(nèi)的塊本身相聯(lián)系。這一點可通過使快擦寫存儲器中的頁內(nèi)的塊保持與它們在記錄表中的指示符有相同的順序來實現(xiàn)。但是,最好是在快擦寫存儲器的各頁內(nèi)提供一頭標(biāo),該頭標(biāo)包含有一組指向該頁中的數(shù)據(jù)塊的實際位置的指針,這就使得在頁中排列數(shù)據(jù)塊時有較大的自由度。
用于頁內(nèi)各數(shù)據(jù)塊的識別信息(例如塊名)可包括在頁頭標(biāo)中或者是作為塊頭標(biāo)而處在數(shù)據(jù)塊開始處。所述最佳實施例采用了后一種方式。所述識別信息可包括塊連接信息,因此,可將大的數(shù)據(jù)單元分解成兩個或更多的數(shù)據(jù)塊。
本發(fā)明的另一個方面提供了一種供數(shù)據(jù)廣播和接收系統(tǒng)使用的接收機/譯碼器,它包括如上所述的系統(tǒng)或存儲器系統(tǒng)或快擦寫存儲器。
最佳的是,所述接收機/譯碼器還包括用于接收壓縮的MPEG信號的裝置、用于對接收到的信號進(jìn)行譯碼以提供電視和/或無線電信號的裝置、以及用于將所述電視信號提供給電視機和/或無線電的裝置。
以下參照附圖以純粹舉例的方式說明本發(fā)明的最佳特征,在附圖中
圖1示出了本發(fā)明最佳實施例的數(shù)字電視系統(tǒng)的整體結(jié)構(gòu);圖2示出了上述數(shù)字電視系統(tǒng)的交互系統(tǒng)的結(jié)構(gòu);圖3示出了下載至交互式接收機/譯碼器的存儲器中的模塊內(nèi)的文件的結(jié)構(gòu);圖4是上述計算機系統(tǒng)的相關(guān)部分的簡化框圖;圖5是RAM的一部分的組織結(jié)構(gòu)的圖;圖6示出了一個設(shè)置緩沖區(qū)(Set Buffers)命令的結(jié)構(gòu);圖7是存儲器管理單元的結(jié)構(gòu);圖8是上述系統(tǒng)的框圖;圖9示出了所述快擦寫存儲器和記錄表的邏輯結(jié)構(gòu);以及圖10示出了一快擦寫存儲器頁和記錄表的一個子部分的邏輯結(jié)構(gòu)。
圖1示出了一數(shù)字電視系統(tǒng)1000的概貌。本發(fā)明包括一通常的數(shù)字電視系統(tǒng)2000,它使用周知的MPEG-2壓縮系統(tǒng)來傳送壓縮后的數(shù)字信號。具體地說,廣播中心內(nèi)的MPEG-2壓縮器2002接收數(shù)字信號流(一般是視頻信號流)。壓縮器2002通過鏈路2006與一多路復(fù)接器和擾碼器2004相連。多路復(fù)接器2004接收多個其它輸入信號、匯集一個或多個傳輸流并將壓縮后的數(shù)字信號通過鏈路2010傳給廣播中心的發(fā)射器2008,所說的鏈路2010當(dāng)然可以呈包括電信鏈路在內(nèi)的多種形式。發(fā)射器2008通過上行鏈路2012將電磁信號傳給衛(wèi)星收發(fā)器2014,在該收發(fā)器中,對所述電磁信號作電處理并通過理論上的下行鏈路2016將其廣播給地面接收機2018,所述地面接收機通常呈最終用戶所擁有或租借的拋物面天線的形式。將接收機2018所接收的信號傳給最終用戶所擁有或租借的并與最終用戶的電視機2022相連的集成接收機/譯碼器2020。接收機/譯碼器2020將壓縮后的MPEG-2信號譯碼成用于電視機2022的電視信號。
條件接入系統(tǒng)3000與多路復(fù)接器2004和接收機/譯碼器2020相連并部分地位于廣播中心內(nèi)、部分地位于所述譯碼器內(nèi)。條件接入系統(tǒng)3000能使得最終用戶接入來自一個或多個廣播提供者的數(shù)字電視廣播??蓪⒛軐ι婕暗缴虡I(yè)節(jié)目(也就是說,廣播提供者所出售的一種或多種電視節(jié)目)的消息進(jìn)行解密的智能卡(smart card)插進(jìn)接收機/譯碼器2020。最終用戶可利用譯碼器2020和智能卡以預(yù)訂模式或每次觀看付費模式購買商業(yè)節(jié)目。
交互系統(tǒng)4000也與多路復(fù)接器2004和接收機/譯碼器2020相連,并且也部分地位于廣播中心內(nèi)、部分地位于所述譯碼器內(nèi),而且能使得最終用戶通過調(diào)制解調(diào)的反向信道(modemmed back channel)4002與多種應(yīng)用程序相交互工作。
圖2示出了本發(fā)明的數(shù)字電視系統(tǒng)1000的交互電視系統(tǒng)4000的總體結(jié)構(gòu)。
例如,交互系統(tǒng)4000使得最終用戶一經(jīng)要求就能通過電視機根據(jù)屏幕目錄來購買物品、查詢本地新聞和天氣形勢圖并玩游戲。
交互系統(tǒng)4000在總體上包括四個主要部件一位于廣播中心(或其它地方)的創(chuàng)作工具4004,它能使廣播提供者創(chuàng)建、開發(fā)、調(diào)試和測試應(yīng)用程序;
一位于廣播中心的應(yīng)用程序和數(shù)據(jù)服務(wù)器4006,它與創(chuàng)作工具4004相連并用于使廣播提供者準(zhǔn)備、鑒別和格式化傳給多路復(fù)接器和擾碼器2004的應(yīng)用程序及數(shù)據(jù)以便插進(jìn)要加以廣播給最終用戶的MPEG-2傳輸流(一般是插進(jìn)該傳輸流的專用部)中;一虛擬機,該虛擬機包括運行時間引擎(RTE)的4008,它是安裝在最終用戶所擁有或租借的接收機/譯碼器2020內(nèi)的可執(zhí)行代碼,該代碼可使最終用戶接收、鑒別應(yīng)用程序并對應(yīng)用程序進(jìn)行解壓縮且將該應(yīng)用程序裝載進(jìn)接收機/譯碼器2020的工作存儲器2024內(nèi)以便執(zhí)行。引擎4008還可運行常駐的通用應(yīng)用程序。引擎4008與硬件及操作系統(tǒng)無關(guān)。
一調(diào)制解調(diào)的反向信道4002,它位于接收機/譯碼器2020與應(yīng)用程序和數(shù)據(jù)服務(wù)器4006之間,以便在最終用戶請求時使指令服務(wù)器4006的信號將數(shù)據(jù)和應(yīng)用程序插進(jìn)MPEG-2傳輸流內(nèi)。
所述交互電視系統(tǒng)利用“應(yīng)用程序”來進(jìn)行操作,所述應(yīng)用程序?qū)邮諜C/譯碼器和包含在其中的各個設(shè)備的功能進(jìn)行控制。在引擎4008內(nèi),將應(yīng)用程序表示為“資源文件”?!澳K”是一組資源文件和數(shù)據(jù)。可能需要用若干個模塊來組成一個應(yīng)用程序。接收機/譯碼器的“存儲器容積(volume)”是用于模塊的存儲空間。一個“接口”用于下載模塊??蓪⒛K從MPEG-2傳輸流中下載進(jìn)接收機/譯碼器2020。
以下詳細(xì)說明上述部件。
就本說明書而言,一個應(yīng)用程序是一段計算機代碼,它用于對最好是接收機/譯碼器2020的高層功能進(jìn)行控制。例如,當(dāng)最終用戶將遙控器對準(zhǔn)電視機2022的屏幕上所看到的按鈕對象并按下確認(rèn)鍵時,就運行與該按鈕相關(guān)的指令序列。
交互性應(yīng)用程序提供了菜單并在最終用戶請求時執(zhí)行命令且提供與應(yīng)用程序的目的有關(guān)的數(shù)據(jù)。應(yīng)用程序可以是常駐應(yīng)用程序,也就是說,它們存儲在接收機/譯碼器2020的ROM(或FLASH或其它非易失性存儲器)中,或者可將應(yīng)用程序廣播并下載進(jìn)接收機/譯碼器2020的RAM或FLASH存儲器中。
應(yīng)用程序的實例有·初始化應(yīng)用程序(Initiating Application)。接收機/譯碼器2020配備有一常駐初始化應(yīng)用程序,它是自適應(yīng)的模塊集合(以下將更詳細(xì)地對這個術(shù)語進(jìn)行界定),從而使接收機/譯碼器2020能在MPEG-2環(huán)境中立即運行。初始化應(yīng)用程序提供了核心特征,如果必要的話,廣播提供商可對該特征進(jìn)行修改。初始化應(yīng)用程序還提供了常駐應(yīng)用程序與下載應(yīng)用程序之間的接口。
·啟動應(yīng)用程序(Startup Application)。啟動應(yīng)用程序可使任何應(yīng)用程序無論是下載的應(yīng)用程序還是常駐的應(yīng)用程序均能在接收機/譯碼器2020上運行。這種應(yīng)用程序可用作在進(jìn)行服務(wù)時為啟動應(yīng)用程序而執(zhí)行的引導(dǎo)程序。將啟動應(yīng)用程序下載至RAM,因此,可很容易地更新該應(yīng)用程序??蓪討?yīng)用程序配置成能在下載之后立即選擇并運行各信道中可用的交互應(yīng)用程序或者在預(yù)裝之后選擇并運行各信道中可用的交互應(yīng)用程序。就預(yù)裝而言,將所述交互應(yīng)用程序裝進(jìn)存儲器2024并在需要時用啟動應(yīng)用程序來加以啟動。
·節(jié)目指南(Program Guide)。節(jié)目指南是這樣一種交互應(yīng)用程序,它提出了所有有關(guān)節(jié)目編排的信息。例如,節(jié)目指南可以提供如一數(shù)字電視集合(bouquet)的各信道中所提供的一周電視節(jié)目的信息。最終用戶可通過按下遙控器2026上的按鍵來訪問一附加屏幕,該附加屏幕疊加在電視機2022的屏幕上所顯示出的事件上。所述附加屏幕是一瀏覽器,它給出了與數(shù)字電視集合的當(dāng)前和下一個節(jié)目事件有關(guān)的信息。最終用戶通過按下遙控器2026上的另一個按鍵可以訪問這樣一種應(yīng)用程序,它能顯示出與一周的節(jié)目事件有關(guān)的信息列表。最終用戶還可按簡單和定制的標(biāo)準(zhǔn)來對節(jié)目事件進(jìn)行檢索和排序。最終用戶也可以直接訪問選定的頻道。
·每次觀看付費(Pay Per View)應(yīng)用程序。每次觀看付費應(yīng)用程序是一種可在數(shù)字電視集合的各PPV頻道上連同條件訪問系統(tǒng)3000使用的交互服務(wù)。最終用戶可用TV指南或頻道瀏覽器來訪問該應(yīng)用程序。此外,一旦在PPV頻道上檢測到PPV事件,每次觀看付費應(yīng)用程序就會自動開始。最終用戶可用子智能卡3020或通過通信服務(wù)器3022(用調(diào)制解調(diào)器、電話和DTMF碼、MINITEL或類似系統(tǒng))來購買當(dāng)前的節(jié)目事件。每次觀看付費應(yīng)用程序可常駐接收機/譯碼器2020的ROM或者可下載進(jìn)譯碼器2020的RAM內(nèi)。
·PC下載(PC download)應(yīng)用程序。在請求時,最終用戶可用PC下載應(yīng)用程序來下載計算機軟件。
·雜志瀏覽器應(yīng)用程序。雜志瀏覽器應(yīng)用程序包括根據(jù)最終用戶通過屏幕按鈕的導(dǎo)航來周期性地以視頻方式廣播圖像。
·小測驗(Quiz)應(yīng)用程序。小測驗應(yīng)用程序最好與廣播小測驗節(jié)目相同步。例如,在電視2022的屏幕上顯示出多選題,最終用戶可用遙控器2026選擇一個答案。小測驗應(yīng)用程序可將回答是否正確通知給用戶并能對用戶計分。
·電視購物(Teleshopping)應(yīng)用程序。在電視購物應(yīng)用程序的一個實施中,將出售的物品價格傳給接收機/譯碼器2020并顯示在電視2022上。用戶可用遙控器選擇要購買的具體物品。可按著將借方記入業(yè)已插進(jìn)接收機/譯碼器2020的一個讀卡器4036中的信用卡帳戶的指令,將物品的訂單通過調(diào)制解調(diào)的反向信道4002傳送給電視購物應(yīng)用程序和數(shù)據(jù)服務(wù)器4006或者傳送給一電話號碼已被下載至了接收機/譯碼器的獨立銷售系統(tǒng)。
·電視銀行業(yè)務(wù)(Telebanking)應(yīng)用程序。在電視銀行業(yè)務(wù)應(yīng)用程序的一個實例中,用戶將銀行卡插進(jìn)接收機/譯碼器2020的一個讀卡器中。接收機/譯碼器2020用存儲在銀行卡中或存儲在接收機/譯碼器中的電話號碼撥叫該用戶的銀行,然后,電視銀行業(yè)務(wù)應(yīng)用程序提供可用遙控器2026來選擇的多個功能以便例如通過電話線下載帳戶清單、在帳戶之間傳遞資金、請求支票簿等。
·互聯(lián)網(wǎng)瀏覽器(Internet Browser)應(yīng)用程序。在互聯(lián)網(wǎng)瀏覽器應(yīng)用程序的一個實例中,用遙控器2026輸入來自用戶的諸如請求觀看具有特定URL的網(wǎng)頁的指令,并用調(diào)制解調(diào)的反向信道4002將這些指令傳送給應(yīng)用程序和數(shù)據(jù)服務(wù)器4006。然后,將適當(dāng)?shù)木W(wǎng)頁包括在來自廣播中心的傳輸流中、用接收機/譯碼器2020通過上行鏈路2012、收發(fā)器2014和下行鏈路2016來接收該網(wǎng)頁、并將該網(wǎng)頁顯示在電視2022上。
將應(yīng)用程序存儲在接收機/譯碼器2020的存儲器存儲單元內(nèi)并將應(yīng)用程序表示為資源文件。所述資源文件包括圖形對象描述單元文件、變量塊單元文件、指令序列文件、應(yīng)用程序文件以及數(shù)據(jù)文件。
所述圖形對象描述單元文件對屏幕即應(yīng)用程序的人—機接口進(jìn)行說明。所述變量塊單元文件對應(yīng)用程序所處理的數(shù)據(jù)結(jié)構(gòu)進(jìn)行說明。所述指令序列文件對應(yīng)用程序的處理操作進(jìn)行說明。所述應(yīng)用程序文件提供了應(yīng)用程序的入口點。
按這種方式構(gòu)成的應(yīng)用程序可使用諸如圖標(biāo)庫文件、圖像文件、字體文件、顏色表文件和ASCII文本文件之類的數(shù)據(jù)文件。一個交互式應(yīng)用程序還可通過輸入和/輸出來獲得聯(lián)機數(shù)據(jù)。
引擎4008僅將它在給定時間需要的資源文件裝進(jìn)存儲器。從圖形對象描述單元文件、指令序列文件和應(yīng)用程序文件中讀出這些資源文件,在調(diào)用用于裝載模塊的過程之后將變量塊單元文件存儲在存儲器中并加鎖直至專門調(diào)用了卸載模塊的過程。
參照圖3,諸如電視購物模塊之類的模塊4010是一組資源文件和數(shù)據(jù),包括單個的應(yīng)用程序文件4012;不確定數(shù)量的圖形對象描述單元文件4014;不確定數(shù)量的變量塊單元文件4016;不確定數(shù)量的指令序列文件4018;以及在適當(dāng)?shù)那闆r下還包括諸如圖標(biāo)庫文件、圖像文件、字體文件、顏色表文件和ASCII文本文件之類的數(shù)據(jù)文件4020。
在MPEG數(shù)據(jù)流中,各個模塊均包括一組MPEG表。每個MPEG表均可格式化為多個數(shù)據(jù)部。在MPEG數(shù)據(jù)流中,每個數(shù)據(jù)部均具有多達(dá)4千字節(jié)的“大小”。就通過串行端口和并行端口進(jìn)行數(shù)據(jù)傳輸而言,例如,可將模塊類似地分解成表和數(shù)據(jù)部,數(shù)據(jù)部的大小隨傳輸用媒體而變。
按數(shù)據(jù)包的形式在MPEG數(shù)據(jù)流中傳送模塊,所述數(shù)據(jù)包在例如視頻數(shù)據(jù)流、音頻數(shù)據(jù)統(tǒng)和電視文本數(shù)據(jù)流等相應(yīng)類型的數(shù)據(jù)流中一般為188字節(jié)。每個數(shù)據(jù)包的前面均是一個13位的數(shù)據(jù)包標(biāo)識(PID),在MPEG數(shù)據(jù)流中傳輸?shù)母鱾€數(shù)據(jù)包均有一個PID。節(jié)目映射表(PMT表)包含有不同數(shù)據(jù)流的列表并根據(jù)相應(yīng)的PID限定了各數(shù)據(jù)流的內(nèi)容。PID可提示一個設(shè)備在數(shù)據(jù)流中存在有應(yīng)用程序,用PMT來標(biāo)識PID。
參照圖4,接收機/譯碼器在總線21上包括一RAM存儲器4022,它與微處理器20相連,而微處理器20則與FLASH存儲器4024相連;一EEPROM存儲器4024′;以及,ROM存儲器4026。RAM存儲器4022還與DMA(直接存儲器存取)單元22相連,通過該DMA單元,(例如來自MPEG位流的)數(shù)據(jù)可直接進(jìn)入RAM存儲器。
RAM存儲器為256K字節(jié)長并可分成3個區(qū)域為系統(tǒng)生產(chǎn)商保留使用的區(qū)城24;為虛擬機(VM)保留使用的區(qū)域25;以及,用戶區(qū)26,它用于包含諸如緩沖區(qū)、應(yīng)用程序30、30′、30″、數(shù)據(jù)等之類的多種信息。能使生產(chǎn)商在設(shè)計硬件以實現(xiàn)本系統(tǒng)時有顯著自由度的功能規(guī)范限定了本系統(tǒng);存儲區(qū)24在實際上是用作上述功能規(guī)范所指定的功能與硬件之間的接口。存儲區(qū)25中的VM實際上是一種用于計算機系統(tǒng)的操作系統(tǒng),并且,可將VM和微處理器20一起看作是運行時間引擎(RTE)4008??稍诓煌臅r間將多種不同的應(yīng)用程序裝進(jìn)上述存儲器。
VM與應(yīng)用程序之間必需能進(jìn)行通信,而且,不同的應(yīng)用程序之間也必需能進(jìn)行通信。這些通信主要是由為VM和各個應(yīng)用程序所共用的緩沖區(qū)來控制的。
在本系統(tǒng)中,用一命令(設(shè)置緩沖區(qū)命令)來限定用戶區(qū)26內(nèi)的緩沖區(qū)32并將該緩沖區(qū)分成各個緩沖區(qū)。這就限定了多個緩沖池,對每個池而言,都給出了該池中的緩沖區(qū)的大小以及該池中的緩沖區(qū)的的數(shù)量。圖6示出了設(shè)置緩沖區(qū)命令的邏輯格式。該格式包括一限定池數(shù)量NP的初始項目35,隨后是一組項目36、36′、…,每個池有一個項目,每個池項目都由限定池大小PS(即池中的緩沖區(qū)數(shù)量)的第一子項目37以及限定池中緩沖區(qū)大小BS(即緩沖區(qū)的字節(jié)數(shù))的第二子項目38構(gòu)成。
為方便起見,以下列出以下使用的上述及其它參數(shù)NP池的數(shù)量對每個池來說—PS池大小(池中的緩沖區(qū)數(shù)量)BS緩沖區(qū)大小PN池號BN(池中的)緩沖區(qū)號ByN(緩沖區(qū)中的)字節(jié)號在用戶存儲區(qū)26中,由緩沖區(qū)構(gòu)成的緩沖池從用戶存儲區(qū)的起點順序地排列,如圖5所示。所示的實際結(jié)構(gòu)是3個緩沖池的結(jié)構(gòu),池1由5個中等大小的緩沖區(qū)構(gòu)成,池2由6個小大小的緩沖區(qū)構(gòu)成,池3由1個大大小的緩沖區(qū)構(gòu)成。還應(yīng)注意,每個緩沖池的開始處均包括有一16字節(jié)的保留部。該保留部可分成一個12字節(jié)的供用戶作為緩沖區(qū)標(biāo)志使用的子部以及一個4字節(jié)的為VM保留使用的子部。
PTE4008提供了一緩沖區(qū)管理器,它可被看作是構(gòu)成了總線21與RAM存儲器4022的用戶區(qū)26之間的尋址路徑27。圖7示出了上述緩沖區(qū)管理器的邏輯結(jié)構(gòu)。該結(jié)構(gòu)首先在微處理器20的控制下被設(shè)置緩沖區(qū)命令所初始化,然后用于對任何預(yù)定的緩沖區(qū)進(jìn)行尋址。
在緩沖區(qū)管理器中,將用于各池的子項目PS和BS傳給多路復(fù)接器35,它形成了積PS*BS。用值64K(它表示RAM4022的用戶區(qū)26的起始地址)來初始化累加器36,通過加法器37將一系列積PS*BS傳給該累加器,而加法器37將所說的積加16,16表示各池的起始處的保留部的大小。所以,累加器36以連續(xù)的方式包含有各緩沖池的連續(xù)的起始地址。將這些池起始地址傳給一累加地址寄存器38,所說的池起始地在順序地存儲在該累加地址寄存器中。還有,在初始化過程中,將池的數(shù)量NP存儲在池數(shù)量寄存器39中,將池大小存儲在池大小寄存器40中,將緩沖區(qū)大小BS按同樣的順序存儲在緩沖區(qū)大小寄存器41中。
在初始化之后,就可對緩沖區(qū)加以尋址。為了能找到緩沖區(qū)的地址,用預(yù)定池的池號PN、該地內(nèi)的預(yù)定緩沖區(qū)的緩沖區(qū)號BN、以及上述緩沖區(qū)中的預(yù)定字節(jié)的字節(jié)號ByN來限定預(yù)定的緩沖區(qū)。
用池號PN來從累加寄存器38和緩沖區(qū)大小寄存器40選出用于該池的適當(dāng)項目。將緩沖區(qū)大小BS傳送給多路復(fù)接器45,在多路復(fù)接器45中,用緩沖區(qū)號BN乘緩沖區(qū)大小BS。將得出的乘積傳給增量器46,該增量器給所述乘積加上16。將累加寄存器38的輸出傳給加法器47,在該加法器中,給所說的輸出加上字節(jié)號ByN。將增量器46的輸出傳給加法器48,在該加法器中,將所說的輸出與加法器47的輸出加起來。加法器48的輸出作為預(yù)定的地址(即預(yù)定池的預(yù)定緩沖區(qū)的預(yù)定字節(jié)的地址)傳送通過多路復(fù)接器49。
所述緩沖區(qū)管理器還包括檢錯電路。將池號PN傳給比較器35,還將來自寄存器39的池數(shù)量NP傳給比較器35,以便檢查選定的池號不大于池的數(shù)量,也就是說檢查選定的緩沖池在緩沖區(qū)的區(qū)域內(nèi)。將緩沖區(qū)號BN傳給比較器54,還將池大小寄存器40中的選定的項目的輸出傳給比較器54,以便檢查選定的緩沖區(qū)號不大于選定的池中的緩沖區(qū)的數(shù)量,也就是說檢查預(yù)定的緩沖區(qū)在選定的池內(nèi)。將選定的字節(jié)號傳給比較器55,還將選定的池中的緩沖區(qū)的大小傳給比較器55,以便檢查預(yù)定的字節(jié)號不大于緩沖區(qū)的大小,也就是說檢查選定的字節(jié)在選定的緩沖區(qū)內(nèi)。上述比較器均傳送一共同的輸出,以便在有任何檢查失敗時形成一出錯信號ERR。
到目前的說明業(yè)已假定是對緩沖區(qū)進(jìn)行尋址。但是,也可以是對緩沖區(qū)的池的保留或?qū)S玫?6字節(jié)的開始區(qū)域進(jìn)行尋址。這兩種情況的選擇受控于信號N/C,該信號可在正常的緩沖區(qū)訪問與為方便起見稱為緩沖區(qū)控制操作的操作之間進(jìn)行選擇。就正常的訪問而言,選擇緩沖區(qū),僅為控制操作選擇緩沖池的保留的開始區(qū)域。
將上述N/C信號傳給多路復(fù)接器49。就正常的緩沖區(qū)訪問而言,該信號會選擇加法器48的輸出,如上所述。但是,就對池的保留區(qū)的控制操作而言,所述多路復(fù)接器會相反直接選擇加法器47的輸出。由于這種來自累加寄存器38的路徑不經(jīng)過增量器46,這就會導(dǎo)致選定池的保留區(qū)中的預(yù)定字節(jié)而不是選定所述保留區(qū)后面的緩沖區(qū)之一。
就對緩沖區(qū)區(qū)域的控制操作而言,需要使比較器55無效。所以,就正常的緩沖區(qū)訪問來說,信號N/C使上述比較器有效,而對控制操來說則使該比較器無效。將字節(jié)號ByN和保留的池區(qū)域中的字節(jié)數(shù)即16傳給另一個比較器56,并且,信號N/C為系統(tǒng)訪問而使該比較器被啟動。該比較器檢查預(yù)定的字節(jié)數(shù)不大于16,也就是說檢查選定的字節(jié)在選定的池的起點處的保留區(qū)內(nèi)。很明顯,可對上述檢查進(jìn)行改進(jìn),以區(qū)別出是訪問供用戶作為緩沖區(qū)標(biāo)志使用的12字節(jié)的子部還是為RTE保留使用的4字節(jié)的子部。
如果需要的話,如圖9所示,設(shè)置緩沖區(qū)命令還可包括用戶存儲器結(jié)尾(User Memory End)參數(shù)34,以限定用戶存儲區(qū)26的結(jié)尾。進(jìn)入設(shè)置緩沖區(qū)命令的最后一個項目存儲在一適當(dāng)?shù)募拇嫫鲀?nèi)并可用于檢查緩沖區(qū)區(qū)域不會超過用戶存儲區(qū)26的結(jié)尾。(這一點一般來說是根本不可能的,因為,必須為應(yīng)用程序30、30′、30″留出空間,但是,如將系統(tǒng)設(shè)計成緩沖區(qū)區(qū)域可位于用戶區(qū)的中間某處而不是如上所述那樣位于開始處,這種情況就有可能出現(xiàn)。)
從理論上說,可在任何時間用設(shè)置緩沖區(qū)命令去在初始化所說的緩沖區(qū)區(qū)域。但是,對緩沖區(qū)區(qū)域重新初始化實際上會導(dǎo)致丟失已存在于緩沖區(qū)內(nèi)的所有(或幾乎所有)信息,因此,一般僅在系統(tǒng)初始化時執(zhí)行設(shè)置緩沖區(qū)命令。
參照圖8,所說的系統(tǒng)包括一快擦寫存儲器4024、一RAM存儲器4022以及一EEPROM存儲器4026,它們在總線121上與微處理器120相連。(另外,EEPROM也可以直接與微處理器120相連。)所述快擦寫存儲器分成同樣大小的8個頁P1-P8,如圖9所示。在這些頁中,頁P8是保留供生產(chǎn)商使用的,而其余的頁則可供用戶自由使用。
圖9還示出了主記錄表寄存器122和后備記錄表寄存器123,這兩個寄存器常駐EEPROM4026。上述記錄表中的信息呈略微壓縮和編碼的形式。具體地說,表122的最后部分125是一CRC字節(jié),它之前的部分126是標(biāo)識著備用頁的頁號。表122的第一部分127由6個子部分127-1至127-6構(gòu)成,每一個子部分均用于快擦寫存儲器的一個有效頁(除備用頁和保留頁P8以外的6個頁)。所說的子部分按順序?qū)?yīng)于這些其余頁。
圖10示出了快擦寫存儲器的頁Pn和記錄表的子部分127-m的邏輯結(jié)構(gòu)以及它們之間的關(guān)系。(根據(jù)備用頁的位置,m可以等于n或n-1。)首先考慮快擦寫存儲器的頁,該頁可包括最多16個數(shù)據(jù)塊。頁具有頭標(biāo)130,它包含有16個部分,每個部分均用于一個可能的數(shù)據(jù)塊。頭標(biāo)130的各個部分包含有指向數(shù)據(jù)塊的偏移量或指針,該指針實際上是數(shù)據(jù)塊在頁中的地址。所以,頁中的數(shù)據(jù)塊131、131′、……可以有任何的次序。每個數(shù)據(jù)塊均包括一相應(yīng)的頭標(biāo)132、132′、……,它們包含有與數(shù)據(jù)塊有關(guān)的諸如塊名、版本號、塊大小、狀態(tài)信號等之類多個項目。
記錄表的子部分127-m包含16位,每一位均是一數(shù)據(jù)塊有效性標(biāo)識,它用于頁頭標(biāo)130中的相應(yīng)部分,如圖所示。
以下說明對快擦寫存儲器中的頁進(jìn)行更新的過程。頁更新所需的全部操作均由微處理120來進(jìn)行。
首先,檢查寄存器122中的主記錄表的有效性,也就是說,計算出部分126和127的CRC并將其與存儲存部分125內(nèi)的CRC作比較。然后,將主記錄表拷貝至后備記錄表寄存器127(如果需要的話,還檢查后備記錄表的有效性以確??截惒僮鞑粫鲥e)。
其次,將要加以更新的頁(舊頁)從快擦寫存儲器拷貝至RAM存儲器。抽出主記錄表中用于該頁的子部分127-m,從RAM存儲器的頁映像中刪除標(biāo)記為無效的任何數(shù)據(jù)塊。將新數(shù)據(jù)塊寫進(jìn)所說的頁映像。
新數(shù)據(jù)塊可能不會輕易地與其余的原有數(shù)據(jù)塊之間的空間相匹配。一般地說,用多種大小的空白區(qū)將上述其余的數(shù)據(jù)塊分隔開。所以,使這些空白區(qū)沿頁映像上移以“擠出”它們之間的未用區(qū)域,從而將這些未用區(qū)域有效地移至頁映像的底部,以開成一單個的大的未用區(qū)域。這就能確保將新數(shù)據(jù)塊寫進(jìn)頁映像(當(dāng)然要假定不會超過頁的容量)。當(dāng)然,可通過將指針改變至數(shù)據(jù)塊在頁映像中的新位置來更新頁映像中的塊頭標(biāo)。
已從所述記錄表中抽出該記錄表的用于要加以更新的頁的子部分。通過設(shè)置用于已加進(jìn)頁圖像中的任何新數(shù)據(jù)塊的有效性位來對抽出的子部分進(jìn)行更新。
然后,從主記錄表寄存器122中抽出記錄表的整個部分127。實際刪除與要加以更新的頁(舊頁)相對應(yīng)的子部分。這就是先前單獨抽出并業(yè)已被更新了的子部分。在適當(dāng)?shù)奈恢锰帉⑿碌淖硬糠?與新頁相對應(yīng)的子部分,所說的新頁就是要將更新后的頁寫進(jìn)其中的備用頁)插進(jìn)子部分序列。為此,必須使用于舊頁與新頁之間的任何頁的子部分移動以填充已被刪除并為新的子部分騰出空間的那個子部分。
再后,將RAM存儲器中的更新后的頁映像拷貝進(jìn)如主記錄表的部分126中的備用頁號所標(biāo)識的備用頁。
此后,將備用頁部分中的頁號改變成已成為新備用頁的那個舊頁的頁號。
再有,將更新后的記錄表拷貝至主記錄表寄存器122。最后,將主記錄表寄存器122的更新后內(nèi)容拷貝進(jìn)后備記錄表寄存器123,并且,如果需要的話,可檢查寄存器122中的主記錄表和/或備份記錄表的內(nèi)容的有效性。
例如在斷電之后重新啟動所述系統(tǒng)時,檢查上述兩個記錄表的有效性,如果發(fā)現(xiàn)其中有一個是無效的,就用有效的那個來代替它(也就是說,將有效的記錄表的內(nèi)容拷貝至無效的記錄表)。
應(yīng)該認(rèn)識到,以上完全是以舉例的方式來說明本發(fā)明的,在本發(fā)明的范圍內(nèi)可對細(xì)節(jié)進(jìn)行改進(jìn)。
可獨立地或以任何適當(dāng)?shù)慕M合形式來提供本說明書以及(在適當(dāng)情況下)權(quán)利要求和附圖中公開的各個特征。
在上述最佳實施例中,用計算機軟件實現(xiàn)了本發(fā)明的某些特征。但是,對專家來說當(dāng)然是很清楚,均可用硬件來實現(xiàn)這些特征中的任何一個。此外,應(yīng)該認(rèn)識到,可用電或類似的信號來實現(xiàn)用硬件、計算機軟件或類似手段所實現(xiàn)的功能。
交叉引用了我們的共同未決的各個申請,所有這些申請都有相同的提交日期,這些申請題為“信號產(chǎn)生與廣播”(代理人文檔號PC/ASB/19707),“供加密廣播信號的接收機使用的智能卡和接收機”(代理人文檔號PC/ASB/19708),“廣播和接收系統(tǒng)以及其條件接入系統(tǒng)(代理人文檔號PC/ASB/197010),“從發(fā)射機通過接收機/譯碼器下載計算機文件到計算機”(代理人文檔號PC/ASB/19711),“電視節(jié)目和其它數(shù)據(jù)的傳送和接收”(代理人文檔號PC/ASB/19712),“下載數(shù)據(jù)”(代理人文檔號PC/ASB/19713),“計算機存儲器組織”(代理人文檔號PC/ASB/19714),“電視或無線電控制系統(tǒng)開發(fā)”(代理人文檔號PC/ASB/19715),“從所發(fā)送的數(shù)據(jù)系統(tǒng)中提取數(shù)據(jù)段”(代理人文檔號PC/ASB/19716),“訪問控制系統(tǒng)”(代理人文檔號PC/ASB/19717),“數(shù)據(jù)處理系統(tǒng)”(代理人文檔號PC/ASB/19718),“廣播和接收系統(tǒng)及其接收機/譯碼器和遙控器”(代理人文檔號PC/ASB/19720)。本文引用了這些文件的內(nèi)容。上述申請文件清單包括了本申請。
權(quán)利要求
1.一種用于對計算機系統(tǒng)中的存儲區(qū)內(nèi)的緩沖區(qū)進(jìn)行限定和尋址的系統(tǒng),該系統(tǒng)包括池大小存儲裝置,它用于存儲多個池大小;緩沖區(qū)大小存儲裝置,它用于存儲各個池的緩沖區(qū)大??;以及,計算裝置,它用于根據(jù)上述大小計算預(yù)定池中的預(yù)定緩沖區(qū)的地址。
2.如權(quán)利要求1的系統(tǒng),其特征在于,該系統(tǒng)包括用于以累加形式確定池大小并將它們以累加的形式存儲在上述池大小存儲裝置內(nèi)的裝置。
3.如前述任何一個權(quán)利要求的系統(tǒng),其特征在于,該系統(tǒng)包括用于在每個池的開始處限定一保留區(qū)的裝置。
4.如權(quán)利要求2和3的系統(tǒng),其特征在于,該系統(tǒng)包括用于選擇累加池大小指令或上述計算裝置的輸出的裝置。
5.如前述任何一個權(quán)利要求的系統(tǒng),其特征在于,該系統(tǒng)包括用于檢查預(yù)定池號、預(yù)定緩沖區(qū)號和預(yù)定字節(jié)的越界值的裝置。
6.基本上如本文所述的用于在存儲區(qū)內(nèi)對緩沖區(qū)進(jìn)行限定和尋址的系統(tǒng)。
7.一種計算機中的存儲器系統(tǒng),該系統(tǒng)包括快擦寫存儲器,它被分成獨立可寫的頁;RAM存儲器;獨立的非易失性存儲器,它用于存放一主記錄表,該主記錄表標(biāo)識上述快擦寫存儲器中的有效頁;用于將快擦寫存儲器的一個頁作為映像頁拷貝進(jìn)RAM存儲器并更新該映像頁的裝置;用于將上述映像頁寫回快擦寫存儲器中不同頁的裝置;一保存在獨立的非易失性存儲器內(nèi)的主記錄表,它標(biāo)識快擦寫存儲器中的有效頁;以及,用于在對快擦寫存儲器中的一頁進(jìn)行了更新時對上述主記錄表進(jìn)行更新的裝置。
8.如權(quán)利要求7的存儲器系統(tǒng),其特征在于,所述主記錄表包括一檢錯部,并且,還提供有一后備記錄表,所述主記錄表在更新之后立即被拷貝至該后備記錄表;以及,在使用主記錄表訪問快擦寫存儲器時檢查主記錄表出錯情況并在主記錄表有錯的情況下使用后備記錄表的裝置。
9.如權(quán)利要求8的存儲器系統(tǒng),其特征在于,所述檢錯部是一CRC部。
10.如權(quán)利要求7至9任何一個的存儲器系統(tǒng),其特征在于,對每一頁來說,所述記錄表都包括一組塊有效性標(biāo)識,它們用于相應(yīng)頁中的數(shù)據(jù)塊。
11.如權(quán)利要求7至10任何一個的存儲器系統(tǒng),其特征在于,用于一個頁中的數(shù)據(jù)塊的識別信息包括在該頁中。
12.如權(quán)利要求11的存儲器系統(tǒng),其特征在于,用于每個數(shù)據(jù)塊的識別信息包括在該數(shù)據(jù)塊中。
13.如權(quán)利要求7至12任何一個的存儲器系統(tǒng),其特征在于,所述的獨立的非易失性存儲器是EEPROM。
14.如權(quán)利要求7至13任何一個的存儲器系統(tǒng),其特征在于,所述記錄表包括一備用頁標(biāo)識和一系列子記錄,每個子記錄均涉及到一相應(yīng)的有效頁。
15.一種基本上如本文所述的存儲器系統(tǒng)。
16.一種對被分成獨立可寫的頁的快擦寫存儲器進(jìn)行更新的方法,該方法包括將快擦寫存儲器的一個頁作為映像頁拷貝進(jìn)RAM存儲器并對該映像頁進(jìn)行更新;將所述映像頁寫回快擦寫存儲器中的一個不同頁;提供一主記錄表,它保存在一獨立的非易失性存儲器內(nèi)并用于標(biāo)識快擦寫存儲器中的有效頁;以及,在已對快擦寫存儲器中的一個頁進(jìn)行了更新時就更新上述主記錄表。
17.如權(quán)利要求16的方法,其特征在于,該方法包括在所述主記錄表中包括一檢錯部;提供一后備記錄表,所述主記錄表在更新之后立即被拷貝至該后備記錄表;以及,在使用主記錄表訪問快擦寫存儲器時檢查主記錄表出錯情況并在主記錄表有錯的情況下使用后備記錄表。
18.如權(quán)利要求17的方法,其特征在于,將所述檢錯部計算為CRC。
19.如權(quán)利要求16至18任何一個的方法,其特征在于,對每一頁來說,所述記錄表都包括一組塊有效性標(biāo)識,它們用于相應(yīng)頁中的數(shù)據(jù)塊。
20.如權(quán)利要求16至19任何一個的方法,其特征在于,用于一個頁中的數(shù)據(jù)塊的識別信息包括在該頁中。
21.如權(quán)利要求20的方法,其特征在于,用于每個數(shù)據(jù)塊的識別信息包括在該數(shù)據(jù)塊中。
22.如權(quán)利要求16至21任何一個的方法,其特征在于,所述記錄表存儲在EEPROM內(nèi)。
23.如權(quán)利要求16至22任何一個的方法,其特征在于,所述記錄表包括一備用頁標(biāo)識和一系列子記錄,每個子記錄均涉及到一相應(yīng)的有效頁。
24.如權(quán)利要求16至23任何一個的方法,其特征在于,在將快擦寫存儲器的頁作為映像頁拷貝進(jìn)RAM存儲器之前檢查所述主記錄表的有效性。
25.如權(quán)利要求24的方法,其特征在于,在檢查了所述主記錄表的有效性之后立即將該主記錄表拷貝進(jìn)上述后備記錄表。
26.如權(quán)利要求25的方法,其特征在于,在將所述主記錄表拷貝進(jìn)上述后備記錄表之后立即檢查該后備記錄表的有效性。
27.如權(quán)利要求16至26任何一個的方法,其特征在于,對所述映像頁中的有效數(shù)據(jù)塊進(jìn)行重新排列以消除數(shù)據(jù)塊之間的未用空間。
28.一種基本上如本文所述的對被分成獨立可寫頁的快擦寫存儲器進(jìn)行更新的方法。
29.一種計算機內(nèi)的快擦寫存儲器系統(tǒng),其中,數(shù)據(jù)保存在該快擦寫存儲器內(nèi)的數(shù)據(jù)塊中,并且,保存有一數(shù)據(jù)塊定位數(shù)據(jù)結(jié)構(gòu),以確定數(shù)據(jù)塊的位置和描述符,所述數(shù)據(jù)塊定位數(shù)據(jù)結(jié)構(gòu)至少部分地保存在快擦寫存儲器外面的外部存儲器內(nèi)。
30.如權(quán)利要求29的快擦寫存儲器,其特征在于,所述外部存儲器是一EEPROM存儲器。
31.如權(quán)利要求29和30中的一個的快擦寫存儲器,其特征在于,所述外部存儲器可保存基本上是全部的數(shù)據(jù)塊定位數(shù)據(jù)結(jié)構(gòu)。
32.如權(quán)利要求29和30中的一個的快擦寫存儲器,其特征在于,所述外部存儲器僅保存數(shù)據(jù)塊在快擦寫存儲器中的位置,而數(shù)據(jù)塊的描述符則作為該數(shù)據(jù)塊的頭標(biāo)包括在快擦寫存儲器內(nèi)。
33.如權(quán)利要求31和32中的一個的快擦寫存儲器,其特征在于,將所述外部目錄組織成用于整個快擦寫存儲器的單一結(jié)構(gòu)。
34.如權(quán)利要求31和32中的一個的快擦寫存儲器,其特征在于,按頁來組織所述的外部目錄。
35.如權(quán)利要求29和34中的任何一個的快擦寫存儲器,其特征在于,對每個數(shù)據(jù)塊來說,所述外部存儲器僅包含有一有效性位,而數(shù)據(jù)塊地址和描述符則均保存在快擦寫存儲器內(nèi)。
36.一種供數(shù)字廣播和接收系統(tǒng)用的接收機/譯碼器,它包括如權(quán)利要求1至15或29至35的任何一個的系統(tǒng)或存儲器系統(tǒng)或快擦寫存儲器。
37.如權(quán)利要求36的接收機/譯碼器,其特征在于,該接收機/譯碼器還包括用于接收壓縮的MPEG信號的裝置;用于對接收到的信號進(jìn)行譯碼以提供電視和/或無線電信號的裝置;以及用于將所述電視信號提供給電視機和/或無線電設(shè)備的裝置。
38.一種基本上如本文所述的數(shù)字廣播和接收系統(tǒng)用的接收機/譯碼器。
全文摘要
在計算機系統(tǒng)中的存儲器中,用緩沖區(qū)管理系統(tǒng)限定了緩沖區(qū)。一設(shè)置緩沖區(qū)命令限定了多個緩沖區(qū)的池(NP)并對每個池來說均限定了池內(nèi)的由多個緩沖區(qū)構(gòu)成的池大小(PS)以及該池中的緩沖區(qū)大小(BS)。將所述緩沖區(qū)管理系統(tǒng)初始化成存儲有前述緩沖區(qū)大小并累加且存儲前述池大小。為了對緩沖區(qū)進(jìn)行尋址,所述緩沖區(qū)管理系統(tǒng)用所存儲的信息確定緩沖區(qū)相對預(yù)定池的起始地址和緩沖區(qū)號。而且,就對分頁的快擦寫存儲器進(jìn)行更新而言,將快擦寫存儲器(4024)的一個頁Pn作為一映像頁拷貝進(jìn)RAM存儲器(4022),對該映像頁進(jìn)行更新并將其寫回快擦寫存儲器中的不同的頁。一主記錄表(22)保存在一獨立的非易失性存儲器(EEPROM4026)內(nèi),以標(biāo)識快擦寫存儲器內(nèi)的有效頁,在已對快擦寫存儲器中的一個頁進(jìn)行了更新時就對上述主記錄表進(jìn)行更新。所述主記錄表包括一CRC檢錯部(25),在對主記錄表進(jìn)行了更新之后立即將該主記錄表拷貝進(jìn)一后備記錄表(23)。
文檔編號G11C16/10GK1262754SQ97182178
公開日2000年8月9日 申請日期1997年4月25日 優(yōu)先權(quán)日1997年3月21日
發(fā)明者J-C·薩爾法蒂, C·德克萊克 申請人:卡納爾股份有限公司