專利名稱:嵌入式存儲(chǔ)器系統(tǒng)及其存取方法
技術(shù)領(lǐng)域:
本發(fā)明披露一種嵌入式存儲(chǔ)器系統(tǒng)及其存取方法,用于擴(kuò)展嵌入式系統(tǒng)中的主要存儲(chǔ)單元。
背景技術(shù):
目前嵌入式系統(tǒng)(Embedded system)已被運(yùn)用客戶-服務(wù)器架構(gòu)(Client-Server)中,安置此嵌入式系統(tǒng)至客戶裝置上,如上網(wǎng)機(jī)、小型個(gè)人電腦(SmallPC)以及因特網(wǎng)播放機(jī)(Internet DVD)等客戶裝置。且由于嵌入式系統(tǒng)上并不包含任何硬盤之類的儲(chǔ)存裝置,而僅藉由主存儲(chǔ)器,例如RAM,且通常為32Mbytes到64Mbytes存儲(chǔ)空間大小,以及一嵌入式存儲(chǔ)器,例如Flashmemory(快閃存儲(chǔ)器中),其中,嵌入式存儲(chǔ)器預(yù)先儲(chǔ)存至少一壓縮后的程序及其相關(guān)數(shù)據(jù),例如Linux或WinCE,遂于客戶裝置開機(jī)后,將嵌入式存儲(chǔ)器內(nèi)的內(nèi)容全部解壓縮后,置入主存儲(chǔ)內(nèi)執(zhí)行,之后,客戶裝置遂僅藉由主存儲(chǔ)器來與服務(wù)器裝置溝通連線,以隨時(shí)獲得服務(wù)器裝置所提供的服務(wù)及最新即時(shí)信息。
請(qǐng)參見
圖1,圖中描述一嵌入式系統(tǒng)基本架構(gòu)10的范例。圖中包含一服務(wù)器裝置100及一客戶裝置101,服務(wù)器裝置100隨時(shí)接收客戶裝置101的要求,隨時(shí)提供客戶裝置101的信息??蛻粞b置101包含一處理單元103、一嵌入式存儲(chǔ)器102、以及一主存儲(chǔ)器104。在客戶裝置101中,嵌入式存儲(chǔ)器102被預(yù)先將其所需的數(shù)據(jù)及程序一次壓縮后,全部存入后,待操作系統(tǒng)(operation system)處于開機(jī)過程中,遂將嵌入式存儲(chǔ)器102中的數(shù)據(jù)及程序再度全部解壓縮遂載入至主存儲(chǔ)器104上,以便執(zhí)行所需的動(dòng)作。
在上述系統(tǒng)中,嵌入式系統(tǒng)并未能提供硬盤205或其他等同硬盤的儲(chǔ)存裝置,以藉由交換(Swap)技術(shù),達(dá)到擴(kuò)展主存儲(chǔ)器104大小的功能,而使得嵌入式系統(tǒng)10的主存儲(chǔ)器104更加珍貴。
有鑒于此,如何使嵌入式系統(tǒng)中主存儲(chǔ)器104在不增加實(shí)際的存儲(chǔ)器大小情況下,而仍能滿足更多程序或數(shù)據(jù)的載入,為本發(fā)明的發(fā)明動(dòng)機(jī)。
發(fā)明內(nèi)容
本發(fā)明所披露的嵌入式存儲(chǔ)器系統(tǒng)及其存取方法,其目的在于增加嵌入式系統(tǒng)中主存儲(chǔ)單元的空間大小。
本發(fā)明所提的嵌入式存儲(chǔ)器系統(tǒng),至少包含一嵌入式存儲(chǔ)單元及一主存儲(chǔ)單元。在此嵌入式存儲(chǔ)器系統(tǒng)當(dāng)中,嵌入式存儲(chǔ)單元,例如,更新存儲(chǔ)器(Fresh memory),預(yù)先存入一壓縮/解壓縮軟件。另,主存儲(chǔ)單元,例如,隨機(jī)存取存儲(chǔ)器(random access memory,RAM),則至少劃分為三大區(qū)塊,亦即第一區(qū)塊、第二區(qū)塊、及第三區(qū)塊,其中第一區(qū)塊經(jīng)由嵌入式存儲(chǔ)單元,載入壓縮/解壓縮軟件。第三區(qū)塊暫存至少一程序,第二區(qū)塊則皙存至少一壓縮數(shù)據(jù)。當(dāng)上述程序執(zhí)行于第三區(qū)塊時(shí),則經(jīng)由第一區(qū)塊的壓縮/解壓縮軟件,藉此解壓縮第二區(qū)塊中所需的壓縮數(shù)據(jù)。
在上述嵌入式存儲(chǔ)器系統(tǒng)中,主存儲(chǔ)單元依據(jù)該壓縮/解壓縮軟件及待壓縮數(shù)據(jù)的數(shù)據(jù)大小預(yù)先或動(dòng)態(tài)來劃分該第二區(qū)塊及該第三區(qū)塊。另外,上述的壓縮數(shù)據(jù)維持一壓縮比例,其壓縮數(shù)據(jù)通常可以壓縮至未壓縮前的1/5(即壓縮比為5)。
鑒于上述嵌入式存儲(chǔ)器系統(tǒng),本發(fā)明還披露一存儲(chǔ)器的存取方法,用于本發(fā)明的嵌入式系統(tǒng)當(dāng)中,其存取方法包含(a)載入一壓縮/解壓縮軟件至一嵌入式存儲(chǔ)器中。
(b)劃分一主存儲(chǔ)單元至少為一第一區(qū)塊、一第二區(qū)塊、及一第三區(qū)塊。
(c)載入該壓縮/解壓縮軟件至第一區(qū)塊中。
(d)載入一程序至上述的第三區(qū)塊,上述程序所需的數(shù)據(jù)藉由其壓縮/解壓縮軟件產(chǎn)生一壓縮數(shù)據(jù),并暫存于第二區(qū)塊中。
(e)執(zhí)行其程序時(shí),經(jīng)由壓縮/解壓縮軟件,藉此解壓縮第二區(qū)塊中所需的壓縮數(shù)據(jù)。
與上述本發(fā)明的嵌入式系統(tǒng)相同,在本發(fā)明的存儲(chǔ)器存取方法中,其嵌入式存儲(chǔ)單元為一更新存儲(chǔ)器(Fresh memory),主存儲(chǔ)單元?jiǎng)t為隨機(jī)存取存儲(chǔ)器(random access memory;RAM)。另外,存儲(chǔ)單元依據(jù)壓縮/解壓縮軟件及待壓縮數(shù)據(jù)的數(shù)據(jù)的大小預(yù)先或動(dòng)態(tài)來劃分該第二區(qū)塊及該第三區(qū)塊。
再者,上述的壓縮數(shù)據(jù)維持一壓縮比例,其壓縮數(shù)據(jù)亦如同上所述可以壓縮至未壓縮前的1/5(即壓縮比為5)。
附圖簡(jiǎn)要說明為讓本發(fā)明的上述目的、特征、和優(yōu)點(diǎn)能更明顯易懂,下文特舉一較佳實(shí)施例,并配合附圖,作詳細(xì)說明如下圖1是描述習(xí)知技術(shù)中一嵌入式系統(tǒng)10基本架構(gòu)的范例圖;圖2是描述本發(fā)明所提的嵌入式存儲(chǔ)器系統(tǒng)30圖;圖3是描述在此嵌入式存儲(chǔ)器系統(tǒng)30當(dāng)中,嵌入式存儲(chǔ)單元301的初始結(jié)構(gòu)圖;圖4是描述主存儲(chǔ)單元302的初始結(jié)構(gòu)圖;圖5是描述主存儲(chǔ)單元302執(zhí)行程序時(shí)的結(jié)構(gòu)圖;圖6是接續(xù)圖5所描述的實(shí)施例圖;以及圖7是為本發(fā)明的嵌入式系統(tǒng)中主存儲(chǔ)單元302的存取方法流程圖。
具體實(shí)施例方式
圖2描述本發(fā)明所提的嵌入式存儲(chǔ)器系統(tǒng)30,至少包含一處理單元300、一嵌入式存儲(chǔ)單元301及一主存儲(chǔ)單元302。處理單元300連接嵌入式存儲(chǔ)單元301及主存儲(chǔ)單元302,藉此,控制嵌入式存儲(chǔ)單元301及主存儲(chǔ)單元302的存取。
圖3描述在此嵌入式存儲(chǔ)器系統(tǒng)30當(dāng)中,嵌入式存儲(chǔ)單元301的初始結(jié)構(gòu)。圖中,嵌入式存儲(chǔ)單元301,例如,更新存儲(chǔ)器(Fresh memory),預(yù)先存入一壓縮/解壓縮軟件400,其載入時(shí)機(jī)可預(yù)先或即時(shí)載入,該項(xiàng)技術(shù)已有許多習(xí)知技藝可以達(dá)到,本文在此不再描述。
圖4描述主存儲(chǔ)單元302的初始結(jié)構(gòu)。圖中,主存儲(chǔ)單元302,例如,隨機(jī)存取存儲(chǔ)器(Random access memory;RAM),則至少劃分為三大區(qū)塊,亦即第一區(qū)塊500、第二區(qū)塊502、及第三區(qū)塊501,其中第一區(qū)塊500經(jīng)由嵌入式存儲(chǔ)單元301,載入壓縮/解壓縮軟件400。第三區(qū)塊501暫存至少一程序503,第二區(qū)塊502則暫存至少一壓縮數(shù)據(jù)504。
接續(xù)參見圖5,圖中描述主存儲(chǔ)單元302執(zhí)行程序時(shí)的結(jié)構(gòu);當(dāng)程序503執(zhí)行于第三區(qū)塊501時(shí),則經(jīng)由第一區(qū)塊500的壓縮/解壓縮軟件400,藉此解壓縮第二區(qū)塊502中所需的壓縮數(shù)據(jù)504;如圖6所示的范例,在第三區(qū)塊501中的程序503執(zhí)行時(shí),系統(tǒng)自動(dòng)向壓縮/解壓縮軟件400要求讀取壓縮數(shù)據(jù)504。若系統(tǒng)發(fā)現(xiàn)第三區(qū)塊501的存儲(chǔ)器不夠使用,則會(huì)將其中一部分壓縮后,放到第二區(qū)塊502,并將第三區(qū)塊501的這些部分釋放,這樣第三區(qū)塊501就有多余空間可以使用。當(dāng)程序503使用到被壓縮的數(shù)據(jù)時(shí),透過CPU頁錯(cuò)誤(page fault)機(jī)制,系統(tǒng)發(fā)現(xiàn)數(shù)據(jù)并不在第三區(qū)塊501,就會(huì)自動(dòng)在第三區(qū)塊501找出空余空間,然后將數(shù)據(jù)解壓縮到這個(gè)地方,以供程序503的執(zhí)行需求。在上述嵌入式存儲(chǔ)器系統(tǒng)30中,主存儲(chǔ)單元302依據(jù)壓縮/解壓縮軟件400及壓縮數(shù)據(jù)502的數(shù)據(jù)的大小預(yù)先或動(dòng)態(tài)來劃分第一區(qū)塊500及第二區(qū)塊502,其余則為第三區(qū)塊501。另外,上述的壓縮數(shù)據(jù)504維持一壓縮比例且此壓縮比例介于4到7之間。在較佳實(shí)施例中,當(dāng)壓縮數(shù)據(jù)504壓縮至未壓縮的原始數(shù)據(jù)600的1/5(即壓縮比為5)時(shí),嵌入式存儲(chǔ)器系統(tǒng)30的處理器單元300不會(huì)因執(zhí)行壓縮/解壓縮軟件400而使系統(tǒng)的整體效能降低且可增加存儲(chǔ)器的容量。如果壓縮比例大于7時(shí),處理器單元300的負(fù)載過大反而使系統(tǒng)的整體效能降低。
鑒于上述嵌入式存儲(chǔ)器系統(tǒng)30,本發(fā)明還披露一存儲(chǔ)器的存取方法,如圖7所示,系用于本發(fā)明的嵌入式系統(tǒng)當(dāng)中,其存取方法包含步驟800載入一壓縮/解壓縮軟件400至一嵌入式存儲(chǔ)單元301中。
步驟801劃分一主存儲(chǔ)單元302至少為一第一區(qū)塊500、一第二區(qū)塊502、及一第三區(qū)塊503。
步驟802載入壓縮/解壓縮軟件400至第一區(qū)塊500中。
步驟803載入至少一程序503至第三區(qū)塊501,程序503所需的數(shù)據(jù)600藉由壓縮/解壓縮軟件400產(chǎn)生一壓縮數(shù)據(jù)504,并暫存于第二區(qū)塊502中。
步驟804執(zhí)行程序503時(shí),經(jīng)由壓縮/解壓縮軟件400,藉此解壓縮第二區(qū)塊502中所需的壓縮數(shù)據(jù)504,以供程序503使用。
與上述本發(fā)明的嵌入式系統(tǒng)相同,在本發(fā)明的存儲(chǔ)器存取方法中,其嵌入式存儲(chǔ)單元301為一更新存儲(chǔ)器(Fresh memory),主存儲(chǔ)單元302則為隨機(jī)存取存儲(chǔ)器(Random access memory;RAM)。另外,主存儲(chǔ)單元302依據(jù)壓縮/解壓縮軟件40及壓縮數(shù)據(jù)504的數(shù)據(jù)大小預(yù)先或動(dòng)態(tài)來劃分第一區(qū)塊500及第二區(qū)塊502。
再者,上述的壓縮數(shù)據(jù)504維持一壓縮比例,其壓縮數(shù)據(jù)亦如同上所述可以壓縮至未壓縮前的1/5(即壓縮比為5)時(shí),嵌入式存儲(chǔ)器系統(tǒng)30的處理器單元300不會(huì)因執(zhí)行壓縮/解壓縮軟件400而使系統(tǒng)的整體效能降低且可增加存儲(chǔ)器的容量。如果壓縮比例大于7時(shí),處理器單元300的負(fù)載過大反而使系統(tǒng)的整體效能降低。
綜上所述,雖然本發(fā)明已經(jīng)僅以一較佳實(shí)施例披露如上,然其并非用以限定本發(fā)明,任何熟習(xí)此技術(shù)者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作各種的改動(dòng)與潤(rùn)飾,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的權(quán)利要求書所界定者為準(zhǔn)。
權(quán)利要求
1.一種嵌入式存儲(chǔ)器系統(tǒng),該系統(tǒng)包含一嵌入式存儲(chǔ)單元,包含一壓縮/解壓縮軟件;一主存儲(chǔ)單元,該存儲(chǔ)單元系至少劃分為一第一區(qū)塊、一第二區(qū)塊、及一第三區(qū)塊,其中該第一區(qū)塊載入該壓縮/解壓縮軟件、該第二區(qū)塊暫存至少一壓縮數(shù)據(jù),該第三區(qū)塊暫存至少一應(yīng)用程序;其中,該應(yīng)用程序執(zhí)行于該第三區(qū)塊時(shí),經(jīng)由該第一區(qū)塊的該壓縮/解壓縮軟件,藉此解壓縮該第二區(qū)塊中所需的該壓縮數(shù)據(jù)。
2.如權(quán)利要求1所述的嵌入式存儲(chǔ)器系統(tǒng),其中該嵌入式存儲(chǔ)單元為一更新存儲(chǔ)器(Fresh memory)。
3.如權(quán)利要求1所述的嵌入式存儲(chǔ)器系統(tǒng),其中該主存儲(chǔ)單元系為隨機(jī)存取存儲(chǔ)器(Random access memory;RAM)。
4.如權(quán)利要求1所述的嵌入式存儲(chǔ)器系統(tǒng),其中該存儲(chǔ)單元依據(jù)該壓縮/解壓縮軟件及待壓縮數(shù)據(jù)的數(shù)據(jù)大小來動(dòng)態(tài)劃分該第二區(qū)塊及該第三區(qū)塊。
5.如權(quán)利要求1所述的嵌入式存儲(chǔ)器系統(tǒng),其中該壓縮數(shù)據(jù)維持一固定壓縮比例且此壓縮比例介于4到7之間。
6.一種存儲(chǔ)器的存取方法,用于嵌入式系統(tǒng)當(dāng)中,該存取方法包含載入一壓縮/解壓縮軟件至一嵌入式存儲(chǔ)器中;劃分一主存儲(chǔ)單元至少為一第一區(qū)塊、一第二區(qū)塊、及一第三區(qū)塊;載入該壓縮/解壓縮軟件至該第一區(qū)塊;載入一程序至該第三區(qū)塊,該程序所需的數(shù)據(jù)藉由該壓縮/解壓縮軟件產(chǎn)生一壓縮數(shù)據(jù),并暫存于該第二區(qū)塊中;以及執(zhí)行該程序時(shí),經(jīng)由該壓縮/解壓縮軟件,藉此解壓縮該第二區(qū)塊中所需的該壓縮數(shù)據(jù)。
7.如權(quán)利要求7所述的存儲(chǔ)器的存取方法,其中該嵌入式存儲(chǔ)單元為一更新存儲(chǔ)器(Fresh memory)。
8.如權(quán)利要求7所述的存儲(chǔ)器的存取方法,其中該主存儲(chǔ)單元為隨機(jī)存取存儲(chǔ)器(random access memory;RAM)。
9.如權(quán)利要求7所述的存儲(chǔ)器的存取方法,其中該存儲(chǔ)單元依據(jù)該壓縮/解壓縮軟件及待壓縮數(shù)據(jù)的數(shù)據(jù)大小來動(dòng)態(tài)劃分該第二區(qū)塊及該第三區(qū)塊。
10.如權(quán)利要求7所述的存儲(chǔ)器的存取方法,其中該壓縮數(shù)據(jù)維持一固定壓縮比例且此壓縮比例介于4到7之間。
全文摘要
本發(fā)明披露一種嵌入式存儲(chǔ)器系統(tǒng)及其存取方法。其系統(tǒng)至少包含一嵌入式存儲(chǔ)單元及一主存儲(chǔ)單元,其中,嵌入式存儲(chǔ)單元,如同更新存儲(chǔ)器(Fresh memory),包含一壓縮/解壓縮軟件。另,主存儲(chǔ)單元,如同隨機(jī)存取存儲(chǔ)器(Random access memory;RAM),則至少動(dòng)態(tài)或預(yù)先劃分為第一區(qū)塊、第二區(qū)塊、及第三區(qū)塊。在上述區(qū)塊中,第一區(qū)塊至少提供上述的壓縮/解壓縮軟件預(yù)先載入,第三區(qū)塊則至少供一程序載入,且其程序所需的數(shù)據(jù)藉由上述的壓縮/解壓縮軟件產(chǎn)生一壓縮數(shù)據(jù),并暫存于第二區(qū)塊中。當(dāng)執(zhí)行上述程序時(shí),亦經(jīng)由其壓縮/解壓縮軟件,藉此解壓縮第二區(qū)塊中所需的壓縮數(shù)據(jù)。
文檔編號(hào)G06F12/08GK1412673SQ01141270
公開日2003年4月23日 申請(qǐng)日期2001年10月11日 優(yōu)先權(quán)日2001年10月11日
發(fā)明者陳英洲 申請(qǐng)人:群鼎視訊科技股份有限公司