用于改進(jìn)計(jì)算設(shè)備的啟動的方法
【專利摘要】公開了一種用于計(jì)算設(shè)備的非易失性數(shù)字?jǐn)?shù)據(jù)存儲優(yōu)化的方法。首先生成包括計(jì)算機(jī)可執(zhí)行指令的源物理數(shù)據(jù)布局。然后執(zhí)行具有源物理數(shù)據(jù)布局的計(jì)算設(shè)備的啟動測試,并且記錄對非易失性存儲器的存儲塊的訪問序列。然后通過根據(jù)記錄的序列組織源物理數(shù)據(jù)布局的數(shù)據(jù),獲得最終物理數(shù)據(jù)布局。然后生成將源物理數(shù)據(jù)布局的存儲塊映射到最終物理數(shù)據(jù)布局的存儲塊的映射表。該映射表被存儲在非易失性存儲器單元中,使得計(jì)算設(shè)備能夠通過檢索由映射表定義物理位置的數(shù)據(jù)塊中的數(shù)據(jù),執(zhí)行最終物理數(shù)據(jù)布局的計(jì)算機(jī)可執(zhí)行指令。
【專利說明】用于改進(jìn)計(jì)算設(shè)備的啟動的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算設(shè)備的領(lǐng)域,尤其涉及視頻裝置(例如機(jī)頂盒)的領(lǐng)域。
[0002]本發(fā)明尤其涉及用于啟動這樣的計(jì)算設(shè)備的方法,特別是根據(jù)權(quán)利要求1的前序部分的方法。
【背景技術(shù)】
[0003]當(dāng)接通計(jì)算設(shè)備時,需要一些時間來完成啟動,即用于操作系統(tǒng)從存儲器中獲取并執(zhí)行視頻裝置操作所必需的所有驅(qū)動、中間件和應(yīng)用。
[0004]因此,啟動時間與計(jì)算設(shè)備的復(fù)雜性和功能嚴(yán)格相關(guān)。請求計(jì)算設(shè)備完成的功能越多,在啟動期間必須執(zhí)行的驅(qū)動和應(yīng)用越多。
[0005]對于啟動時間特別敏感的特定類型的計(jì)算設(shè)備是視頻裝置。
[0006]如今,已知視頻裝置(如機(jī)頂盒和一般視頻裝置)能夠基于經(jīng)由不同源(有線、衛(wèi)星、因特網(wǎng)或本地網(wǎng)絡(luò)(IPTV)、USB端口等)接收到的數(shù)據(jù)而輸出視頻流。因此,這樣的設(shè)備需要多個驅(qū)動,以允許CPU(中央處理單元)與硬件進(jìn)行通信。
[0007]隨著源的數(shù)量增加,管理數(shù)據(jù)和視頻流所需的應(yīng)用的大小和數(shù)量也在增加。
[0008]結(jié)果,用于完成啟動的時間越來越長并且使用戶煩惱。
[0009]為了避免這個問題,一旦用戶結(jié)束視頻裝置的操作,視頻裝置通常被置于待機(jī)模式,而不是被完全斷開。通過這種方式從待機(jī)模式恢復(fù)不需要太多的時間。
[0010]然而,視頻裝置在待機(jī)模式期間確實(shí)消耗能量,因此被提供以避免用戶被該漫長的啟動時間惹惱的解決方案具有耗能的缺點(diǎn)。
[0011]為了改進(jìn)計(jì)算設(shè)備的操作,已知優(yōu)化硬盤驅(qū)動器上的數(shù)據(jù)存儲。美國專利US6, 202,121公開了一種用于改進(jìn)程序啟動時間的系統(tǒng)和方法,其中安裝盤包括加載序列列表,該加載序列列表指示在啟動期間讀取文件的各個部分的順序。在安裝過程期間,安裝程序從加載序列列表讀取數(shù)據(jù)并寫入文件部分,所以文件部分按照由加載序列列表規(guī)定的順序存儲在硬盤驅(qū)動器上的連續(xù)簇中。然后計(jì)算機(jī)可以按照適當(dāng)?shù)捻樞驈倪B續(xù)盤簇中讀取來自盤的啟動相關(guān)的數(shù)據(jù),如果盤磁頭必須在非連續(xù)的簇之間移動以便讀取啟動相關(guān)的數(shù)據(jù),這最小化或消除將由盤訪問導(dǎo)致的時間浪費(fèi)。
[0012]盡管有用,但US6,202,121提供的解決方案應(yīng)用于應(yīng)用程序的安裝,因此依賴于文件系統(tǒng),即安裝程序從序列列表中讀取應(yīng)安裝的順序文件,但是是文件系統(tǒng)將組織程序文件并將程序文件存儲在硬盤驅(qū)動器中。應(yīng)使用特定的解決方案來處理在計(jì)算設(shè)備上運(yùn)行的特定的操作系統(tǒng)和文件系統(tǒng)。此外,程序啟動時間沒有被完全優(yōu)化,因?yàn)楦鶕?jù)US6, 202,121,文件存儲在連續(xù)簇中,但程序的啟動可能僅需要執(zhí)行部分文件。因此,當(dāng)程序啟動時,尋找要加載的下一個文件會浪費(fèi)時間。
[0013]為了改進(jìn)計(jì)算設(shè)備(特別是計(jì)算機(jī))的啟動,已知解決方案大多是基于加載在之前的啟動過程中創(chuàng)建并保存在硬盤驅(qū)動器中的休眠(hibernation)圖像。這些解決方案對于計(jì)算設(shè)備的第一啟動不起作用,并且一般不提供計(jì)算設(shè)備中的數(shù)據(jù)存儲優(yōu)化,因此這些解決方案遭受由于數(shù)據(jù)優(yōu)化導(dǎo)致的啟動延遲。
[0014]因此,存在對提供良好的性能和功能性而不需要漫長啟動時間的計(jì)算設(shè)備、特別是視頻裝置的需求。
[0015]特別地,存在對用于改進(jìn)計(jì)算設(shè)備的啟動的數(shù)據(jù)存儲優(yōu)化的方法的需求。
【發(fā)明內(nèi)容】
[0016]因此,本發(fā)明的一個目的是提供一種計(jì)算設(shè)備,特別是一種視頻裝置,其提供良好的性能而不需要漫長啟動時間。
[0017]本發(fā)明的這個目的與其它目的通過用于計(jì)算設(shè)備中的數(shù)據(jù)存儲優(yōu)化的方法來實(shí)現(xiàn),該方法包括所附的權(quán)利要求的特征,其旨在形成本說明書的組成部分。
[0018]特別是,這些目的經(jīng)由用于計(jì)算設(shè)備的非易失性數(shù)字?jǐn)?shù)據(jù)存儲優(yōu)化的方法來實(shí)現(xiàn),該方法包括步驟:獲得要在計(jì)算設(shè)備的啟動期間請求的計(jì)算機(jī)可執(zhí)行指令,并且計(jì)算機(jī)可執(zhí)行指令根據(jù)最終物理數(shù)據(jù)布局存儲在非易失性數(shù)字存儲設(shè)備中。根據(jù)該方法,根據(jù)以下步驟生成最終物理數(shù)據(jù)布局:
[0019]生成源物理數(shù)據(jù)布局,源物理數(shù)據(jù)布局包括與源物理數(shù)據(jù)布局不同的最終物理數(shù)據(jù)布局的相同計(jì)算機(jī)可執(zhí)行指令;
[0020]生成用于執(zhí)行計(jì)算機(jī)可執(zhí)行指令的源映射表,所述源映射表將源物理數(shù)據(jù)布局的非易失性數(shù)字存儲設(shè)備存儲塊映射到最終物理數(shù)據(jù)布局的存儲塊,
[0021]將源映射表設(shè)置成在源物理數(shù)據(jù)布局的存儲塊和最終物理數(shù)據(jù)布局的存儲塊之間的默認(rèn)對應(yīng)關(guān)系,
[0022]執(zhí)行具有源物理數(shù)據(jù)布局的計(jì)算設(shè)備的啟動測試,
[0023]在啟動測試期間將計(jì)算設(shè)備的訪問序列記錄到非易失性數(shù)字存儲設(shè)備的存儲塊,
[0024]通過根據(jù)在啟動測試期間記錄的序列組織源物理數(shù)據(jù)布局的數(shù)據(jù),生成最終物理數(shù)據(jù)布局;
[0025]為了執(zhí)行根據(jù)最終物理數(shù)據(jù)布局組織的計(jì)算機(jī)可執(zhí)行指令,通過更新源映射表生成最終映射表,使得最終映射表將源物理數(shù)據(jù)布局的存儲塊映射到最終物理數(shù)據(jù)布局的存儲塊,并且將最終映射表存儲在非易失性存儲器單元中,所述非易失性存儲器單元在計(jì)算設(shè)備的啟動期間能被訪問。
[0026]通過這種方式,由于在啟動期間從文件系統(tǒng)順序地讀取數(shù)據(jù),于是為計(jì)算設(shè)備提供允許更快啟動的最終文件系統(tǒng)。
[0027]特別地,映射表的提供允許數(shù)據(jù)存儲優(yōu)化而無需軟件設(shè)計(jì)人員創(chuàng)建專用的操作系統(tǒng)。
[0028]本發(fā)明人已經(jīng)發(fā)現(xiàn),這種數(shù)據(jù)存儲優(yōu)化方法的確很好地應(yīng)用于其中啟動可能使觀看者非常煩惱的視頻裝置。
[0029]發(fā)明人已發(fā)現(xiàn),必須在制造時間期間存儲在視頻裝置中的最終文件系統(tǒng)可通過首先生成測試文件系統(tǒng)來生成,測試文件系統(tǒng)包括將測試文件系統(tǒng)的存儲塊映射在最終文件系統(tǒng)的存儲塊上的映射表。首先將映射表設(shè)置為測試文件系統(tǒng)的存儲塊與最終文件系統(tǒng)的存儲塊之間的一對一對應(yīng)關(guān)系。此后,接通視頻裝置并執(zhí)行具有測試文件系統(tǒng)的視頻裝置的啟動測試。[0030]在啟動測試期間記錄對測試文件系統(tǒng)的存儲塊的訪問序列。
[0031]然后通過更新映射表使得映射表將測試文件系統(tǒng)的存儲塊映射在最終文件系統(tǒng)的存儲塊上、并且根據(jù)啟動測試期間記錄的序列組織測試文件系統(tǒng)的數(shù)據(jù),生成最終文件系統(tǒng)。
[0032]通過這種方式,由于在啟動期間從文件系統(tǒng)順序地讀取數(shù)據(jù),所以向最終制造的視頻裝置提供允許更快啟動的最終文件系統(tǒng)。
[0033]特別地,映射表的提供允許快速啟動視頻裝置的制造而無需軟件設(shè)計(jì)人員創(chuàng)建專用的操作系統(tǒng)。
[0034]本發(fā)明還涉及一種計(jì)算設(shè)備,特別是一種視頻裝置,包括根據(jù)上述方法生成的計(jì)算機(jī)可讀指令。
[0035]一方面,本發(fā)明涉及一種包括程序代碼裝置的計(jì)算機(jī)程序,所述程序代碼裝置用于當(dāng)所述程序在計(jì)算機(jī)上運(yùn)行時執(zhí)行根據(jù)下面說明書和權(quán)利要求書的教導(dǎo)的該方法的所有步驟。
[0036]另一方面,本發(fā)明涉及一種存儲計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令當(dāng)在計(jì)算機(jī)上運(yùn)行時執(zhí)行根據(jù)下面說明書和權(quán)利要求書的教導(dǎo)的計(jì)算機(jī)實(shí)現(xiàn)的方法的所有步驟。
【專利附圖】
【附圖說明】
[0037]在借助所附附圖的幫助而被描述為非限制性示例的根據(jù)本發(fā)明的編碼方法和解碼方法、以及相關(guān)系統(tǒng)的優(yōu)選的非排他性實(shí)施例的詳細(xì)描述中,本發(fā)明的其它特征和優(yōu)點(diǎn)將變得明顯,其中:
[0038]-圖1示意性地表示根據(jù)本發(fā)明的視頻裝置;
[0039]-圖2示意性地表示圖1的視頻裝置的非易失性存儲設(shè)備,
[0040]-圖3A和圖3B表示圖1的視頻裝置的映射表,
[0041]-圖4是用于制造根據(jù)本發(fā)明的一個實(shí)施例的視頻裝置的方法的流程圖,
[0042]這些圖圖示了本發(fā)明的不同方面和實(shí)施例,并且在適當(dāng)?shù)那闆r下,不同附圖中類似的結(jié)構(gòu)、組件、材料和/或元件通過相同的附圖標(biāo)記來表示。
【具體實(shí)施方式】
[0043]盡管本發(fā)明容易采用各種修改和替代結(jié)構(gòu),但是本發(fā)明的某些說明性的實(shí)施例已經(jīng)在附圖中示出并將在下面詳細(xì)描述。然而,應(yīng)當(dāng)理解的是,不是旨在將本發(fā)明限制為所公開的特定形式,而是與此相反,本發(fā)明將覆蓋落入如權(quán)利要求中限定的本發(fā)明的精神和范圍內(nèi)的所有修改、替代構(gòu)造和等同物。
[0044]在下面的說明和附圖中,用相同的附圖標(biāo)記標(biāo)識相同的元件。使用“如”、“等”、和“或”表示無限制的非排他性替代方案,除非另有說明。使用“包括”意味著“包括,但不限于”,除非另有說明。
[0045]使用“存儲塊”意味著可被分配以保持給定文件系統(tǒng)中的文件的最小量的盤或存儲器空間。存儲塊可以包括固定量的扇區(qū),扇區(qū)是數(shù)據(jù)存儲設(shè)備能夠物理讀取或?qū)懭氲淖钚蝹€單元,一般為512字節(jié)或倍數(shù)。[0046]圖1示意性地圖示視頻裝置100,尤其是機(jī)頂盒,其包括控制視頻裝置的操作的控制單元101。在優(yōu)選實(shí)施例中,控制單元101是片上系統(tǒng)(SoC),即包括至少一個微控制器和一個或多個DSP (數(shù)字信號處理器)的集成電路(芯片)。
[0047]視頻裝置100還包括存儲設(shè)備102和主存儲器103,優(yōu)選地包括隨機(jī)存取存儲器芯片或RAM。在優(yōu)選實(shí)施例中,存儲設(shè)備102是硬盤驅(qū)動器(HDD),但是在另一個實(shí)施例中,存儲設(shè)備可以是固態(tài)器件(SSD),例如包括多個NAND存儲器的設(shè)備,或適于存儲數(shù)據(jù)的任何其它類型的設(shè)備。
[0048]在圖1的實(shí)施例中,塊104表不一組輸入/輸出端口,視頻裝置通過該組輸入/輸出端口接收編碼的視頻流,并輸出不同的視頻流。例如,在一個實(shí)施例中,視頻裝置100是與電視機(jī)結(jié)合使用的機(jī)頂盒;因此I / O端口 104包括用于經(jīng)由天線接收視頻流和數(shù)據(jù)的接收器、以及輸出針對電視機(jī)的視頻流的輸出視頻端口(例如,HDMI端口或SCART端口)。更一般地,I / O端口可以包含用于與外部設(shè)備(例如USB端口、以太網(wǎng)端口或紅外接收器)通信的任何端口。
[0049]當(dāng)電力被接通時,啟動視頻裝置100,即開始如下過程:執(zhí)行一組操作直至視頻裝置100準(zhǔn)備好使用。
[0050]在啟動期間,控制單元101執(zhí)行通常存儲在控制單元固件中的機(jī)器代碼軟件(被稱為引導(dǎo)程序)。引導(dǎo)程序?qū)ふ掖鎯υO(shè)備102中的操作系統(tǒng)(OS),并將操作系統(tǒng)(OS)復(fù)制到主存儲器103中,以便控制單元101可以直接訪問操作系統(tǒng)(OS)。順序地進(jìn)行從存儲設(shè)備102到主存儲器103的數(shù)據(jù)的拷貝,使得在復(fù)制完成后,根據(jù)存儲設(shè)備102中的存儲塊的相同順序組織主存儲器103的存儲塊中的數(shù)據(jù)。
[0051]通過非限制性示例的方式,根據(jù)圖2中示出的給定的數(shù)據(jù)布局,啟動期間所需的操作系統(tǒng)和其他數(shù)據(jù)構(gòu)成一組存儲在存儲設(shè)備102中的計(jì)算機(jī)可執(zhí)行指令。
[0052]在這個示例中,存儲設(shè)備102包括存儲對應(yīng)于OS內(nèi)核的數(shù)據(jù)的第一組存儲塊(1031)、以及存儲文件系統(tǒng)的第二組存儲塊(1032)。
[0053]在圖2的實(shí)施例中,僅將存儲文件系統(tǒng)的數(shù)據(jù)的存儲塊展開并表示為B1、B2...BN。
[0054]眾所周知,文件系統(tǒng)是用于組織視頻裝置上的文件的目錄的層次結(jié)構(gòu)。文件系統(tǒng)的確切內(nèi)容根據(jù)視頻裝置而不同,但是一般來說,它包括啟動系統(tǒng)所必需的文件,如驅(qū)動、中間件和應(yīng)用。
[0055]在啟動期間,控制單元101執(zhí)行OS,因此將不時地訪問存儲在該組存儲塊1032中的驅(qū)動和應(yīng)用,并且其中存儲的指令將被復(fù)制到主存儲器103中并被執(zhí)行。
[0056]對文件系統(tǒng)的存儲塊的訪問順序取決于OS結(jié)構(gòu)和在視頻裝置的設(shè)計(jì)期間做出的OS配置。
[0057]結(jié)果,在現(xiàn)有技術(shù)中,視頻裝置在啟動OS期間以軟件設(shè)計(jì)人員無法預(yù)見的方式訪問不同的存儲塊;例如,OS可以首先請求存儲在塊BI中的驅(qū)動,然后請求存儲在塊B4中的第二驅(qū)動,然后請求存儲在塊B2和B3中的應(yīng)用。
[0058]從給定的塊中檢索數(shù)據(jù)需要時間來尋找存儲設(shè)備中的塊。
[0059]為了減少啟動時間,發(fā)明人已想到實(shí)施這里在下面參照圖4描述的制造方法。
[0060]首先(步驟400)在視頻裝置的設(shè)計(jì)期間配置OS,并通過市場上已知的軟件本身(例如用于Linux的文件系統(tǒng)SquashFS?)創(chuàng)建測試文件系統(tǒng),特別是根(root)文件系
統(tǒng)。通過這種方式,獲得在視頻裝置啟動期間所請求的一組計(jì)算機(jī)可執(zhí)行指令。
[0061]在這個階段中,生成與存儲設(shè)備102通信的系統(tǒng)驅(qū)動(在下面的存儲設(shè)備驅(qū)動中)(步驟401)。存儲設(shè)備驅(qū)動對于執(zhí)行存儲在存儲設(shè)備中的計(jì)算機(jī)可執(zhí)行指令是必要的,并且存儲設(shè)備驅(qū)動包括映射表300 (圖3A中所示),該映射表300映射分配給測試文件系統(tǒng)的存儲塊與將分配給這里在下面將描述的最終文件系統(tǒng)的存儲塊。
[0062]在一個實(shí)施例中,通過修改由硬件制造商提供的現(xiàn)有驅(qū)動獲得存儲設(shè)備驅(qū)動的生成。
[0063]OS使用映射表300來檢索給定物理數(shù)據(jù)塊中的數(shù)據(jù);在視頻裝置的此設(shè)計(jì)階段,設(shè)置映射表(步驟402),以便具有分配給測試文件系統(tǒng)的塊與分配給新文件系統(tǒng)的存儲塊之間的一對一對應(yīng)關(guān)系,如圖3A所示。通過這種方式,如果不作任何修改地在視頻裝置上啟動具有測試文件系統(tǒng)的OS,則OS將使用該映射表來檢索數(shù)據(jù),并且OS將發(fā)現(xiàn)數(shù)據(jù),因?yàn)閿?shù)據(jù)在源和最終數(shù)據(jù)布局中的位置是相同的。
[0064]因此,這樣產(chǎn)生的OS和驅(qū)動將包括在計(jì)算設(shè)備的啟動期間所請求的計(jì)算機(jī)可執(zhí)行指令。這些計(jì)算機(jī)可執(zhí)行指令被組織到在視頻裝置的啟動期間所請求的文件中。這些指令被存儲在可操作地連接到計(jì)算設(shè)備的非易失性數(shù)字存儲設(shè)備中,使得可以通過計(jì)算設(shè)備從非易失性數(shù)字存儲設(shè)備檢索數(shù)據(jù)。因此,在上述實(shí)施例中,計(jì)算機(jī)可執(zhí)行指令根據(jù)源物理數(shù)據(jù)布局存儲在非易失性數(shù)字存儲設(shè)備102上。而在下面的說明中,數(shù)字存儲設(shè)備102包括在視頻裝置中,很顯然對本領(lǐng)域技術(shù)人員來說,這種設(shè)備可以在視頻裝置的外部,或者,在啟動期間所請求的該文件可以存儲在從視頻裝置可訪問的外部設(shè)備中。
[0065]一旦完成視頻裝置的最終配置,視頻裝置經(jīng)歷(步驟403)啟動測試,由此,視頻裝置被接通,并且OS開始模擬啟動階段。
[0066]如上面已經(jīng)解釋的,在啟動期間,從存儲設(shè)備102復(fù)制OS到易失性主存儲器103中,并且由于映射表的設(shè)置,可以執(zhí)行啟動。
[0067]計(jì)算機(jī)軟件監(jiān)視(步驟404)在該啟動測試期間對存儲設(shè)備102的訪問,并記錄對分配給測試文件系統(tǒng)的存儲塊的訪問序列。
[0068]然后生成最終文件系統(tǒng)(步驟405和406)。
[0069]新文件系統(tǒng)的生成需要兩個動作:
[0070]-對測試文件系統(tǒng)的數(shù)據(jù)進(jìn)行重排序,
[0071]-更新映射表300。
[0072]詳細(xì)地說,映射表300被更新,以便將測試文件系統(tǒng)的存儲塊映射在最終文件系統(tǒng)的存儲塊、即根據(jù)在啟動測試期間根據(jù)記錄的訪問序列重組的存儲塊上。
[0073]然后混合具有更新的存儲器表的存儲設(shè)備驅(qū)動和第一文件系統(tǒng)的其它文件,以便生成最終文件系統(tǒng),其中,根據(jù)最終物理數(shù)據(jù)布局來組織具有更新的存儲器表的存儲設(shè)備驅(qū)動和第一文件系統(tǒng)的其它文件,最終物理數(shù)據(jù)布局包含更新的映射表以及源物理數(shù)據(jù)布局的相同的計(jì)算機(jī)可執(zhí)行指令。特別地,在視頻裝置的啟動期間請求的新文件系統(tǒng)的數(shù)據(jù)被組織在預(yù)期由OS在啟動期間順序讀取的存儲塊中。
[0074]例如,假設(shè)在步驟404中,已經(jīng)記錄了 OS請求存儲在塊B4中的測試文件系統(tǒng)的第一數(shù)據(jù),然后請求存儲在塊BI中的數(shù)據(jù),然后請求存儲在塊B2中的數(shù)據(jù),并且最后請求存儲在塊B3中的數(shù)據(jù)。因此,新文件系統(tǒng)將包含第一存儲塊,該第一存儲塊包令存儲在測試文件系統(tǒng)的存儲塊B4中的數(shù)據(jù),然后是存儲在測試文件系統(tǒng)的存儲塊BI中的數(shù)據(jù),然后是測試文件系統(tǒng)的存儲塊B2的數(shù)據(jù),并且最后是測試文件系統(tǒng)的存儲塊B3的數(shù)據(jù)。
[0075]換句話說,除了針對更新的存儲設(shè)備驅(qū)動所進(jìn)行的,最終文件系統(tǒng)包括第一文件系統(tǒng)的相同數(shù)據(jù),然而舊文件系統(tǒng)的數(shù)據(jù)被重組,以便它們將被順序地讀取,因此減少了啟動時間。
[0076]最后,在步驟407,制造視頻裝置,并且將具有最終文件系統(tǒng)的操作系統(tǒng)存儲到視頻裝置的存儲設(shè)備中。
[0077]顯然從上面的說明中,通過如上所述的過程獲得的視頻裝置實(shí)現(xiàn)了本申請的目標(biāo)。
[0078]將改進(jìn)具有最終數(shù)據(jù)布局的設(shè)備的啟動而無需修改OS文件系統(tǒng)(文件系統(tǒng)獨(dú)立性),因此這可以由軟件工程師以通常的方式來編程。因?yàn)橐皂樞蚍绞阶x取數(shù)據(jù)塊,所以物理數(shù)據(jù)布局的重組允許更快的啟動,然而沒有適當(dāng)?shù)挠成浔?,最終文件系統(tǒng)的OS將無法啟動,因?yàn)樗鼤阱e誤的地址尋找數(shù)據(jù)和文件。實(shí)際上,最終映射表不僅對于以正確的方式存儲文件是必需的,而且它對于OS工作也是必需的。
[0079]映射表300將給定數(shù)據(jù)塊的源物理地址映射到給定數(shù)據(jù)塊的目的地(最終)物理地址。例如,如果在地址00001存儲了一些數(shù)據(jù)并且在啟動期間的初期不需要這個塊的數(shù)據(jù),則在最終數(shù)據(jù)布局中,它將被存儲在不同的地址中,例如存儲在地址00100中。由于僅在物理層而不是邏輯層進(jìn)行數(shù)據(jù)重排序的事實(shí),數(shù)據(jù)中存在的對數(shù)據(jù)的其他塊的引用仍將指向原始位置。因此,例如,如果運(yùn)行的OS將參考塊00001,則由于映射表,響應(yīng)于OS請求將讀取并提供在地址00100的數(shù)據(jù)。
[0080]同樣清楚的是,通過理解如上所述的以及從所附的權(quán)利要求中得到的本發(fā)明,本領(lǐng)域技術(shù)人員可以參照本發(fā)明的特定示例性實(shí)施例而采用上述方法和產(chǎn)品的多個變型。
[0081]例如,在一個實(shí)施例中,操作系統(tǒng)可被加載到固態(tài)驅(qū)動器,因此直接被初始化而無需從存儲設(shè)備復(fù)制到RAM存儲器。
[0082]雖然在上述實(shí)施例中,將映射表存儲在存儲視頻裝置啟動期間所請求的其它計(jì)算機(jī)可執(zhí)行指令的同一存儲設(shè)備中,但明顯的是,該映射表可以存儲在另一非易失性存儲設(shè)備中,并且可以修改上述存儲設(shè)備驅(qū)動以訪問存儲在不同的設(shè)備中的映射表。
[0083]盡管已經(jīng)參考視頻裝置以及視頻裝置的制造公開了上述實(shí)施例,但明顯的是,可以將數(shù)據(jù)存儲優(yōu)化的相同教導(dǎo)應(yīng)用于任何計(jì)算設(shè)備,以便加速相同的啟動。
[0084]本領(lǐng)域技術(shù)人員可以很容易地認(rèn)識到,可以通過一個或多個計(jì)算機(jī)程序來執(zhí)行和/或控制用于數(shù)據(jù)存儲優(yōu)化的前述方法或部分方法。通常通過使用計(jì)算設(shè)備(如個人計(jì)算機(jī)、個人數(shù)字助理、蜂窩電話、數(shù)字電視的接收器和解碼器等)中的計(jì)算資源來執(zhí)行這樣的計(jì)算機(jī)程序。應(yīng)用存儲在非易失性存儲器(例如閃速存儲器)或易失性存儲器(例如RAM)中,并且由處理器執(zhí)行。這些存儲器是示例性的記錄介質(zhì),用于存儲包括根據(jù)上面給出的技術(shù)構(gòu)思執(zhí)行計(jì)算機(jī)實(shí)現(xiàn)的方法的所有步驟的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)程序。
【權(quán)利要求】
1.一種用于計(jì)算設(shè)備的非易失性數(shù)字?jǐn)?shù)據(jù)存儲優(yōu)化的方法,包括步驟: 獲得要在計(jì)算設(shè)備的啟動期間請求的計(jì)算機(jī)可執(zhí)行指令, 將計(jì)算機(jī)可執(zhí)行指令存儲在非易失性數(shù)字存儲設(shè)備上,以便獲得最終物理數(shù)據(jù)布局, 該方法的特征在于:根據(jù)以下步驟生成最終物理數(shù)據(jù)布局: 生成源物理數(shù)據(jù)布局,源物理數(shù)據(jù)布局包括與源物理數(shù)據(jù)布局不同的最終物理數(shù)據(jù)布局的相同計(jì)算機(jī)可執(zhí)行指令; 生成用于執(zhí)行計(jì)算機(jī)可執(zhí)行指令的源映射表,所述源映射表將源物理數(shù)據(jù)布局的非易失性數(shù)字存儲設(shè)備存儲塊映射到最終物理數(shù)據(jù)布局的存儲塊, 將源映射表設(shè)置成在源物理數(shù)據(jù)布局的存儲塊和最終物理數(shù)據(jù)布局的存儲塊之間的默認(rèn)對應(yīng)關(guān)系, 執(zhí)行具有源物理數(shù)據(jù)布局的計(jì)算設(shè)備的啟動測試, 在啟動測試期間將計(jì)算設(shè)備的訪問序列記錄到非易失性數(shù)字存儲設(shè)備的存儲塊, 通過根據(jù)在啟動測試期間記錄的序列組織源物理數(shù)據(jù)布局的數(shù)據(jù),生成最終物理數(shù)據(jù)布局; 以及該方法的特征在于:通過更新源映射表生成最終映射表,使得最終映射表將源物理數(shù)據(jù)布局的存儲塊映射到最終物理數(shù)據(jù)布局的存儲塊,并且將最終映射表存儲在非易失性存儲器單元中,所述非易失性存儲器單元在計(jì)算設(shè)備的啟動期間能被訪問。
2.根據(jù)權(quán)利要求1的方法,其中所述源物理數(shù)據(jù)布局是在計(jì)算設(shè)備的設(shè)計(jì)階段期間生成的,并且其中所述最終物理數(shù)據(jù)布局在計(jì)算設(shè)備的制造期間被存儲在計(jì)算設(shè)備中。
3.根據(jù)權(quán)利要求2的方法,其中所述最終物理數(shù)據(jù)布局是在所述設(shè)計(jì)階段期間生成的。
4.一種計(jì)算機(jī)程序,包括用于當(dāng)在計(jì)算機(jī)上運(yùn)行所述程序時執(zhí)行如權(quán)利要求1至3中任一項(xiàng)所要求保護(hù)的方法的所有步驟的程序代碼裝置。
5.一種存儲計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述指令當(dāng)在計(jì)算機(jī)上運(yùn)行時執(zhí)行根據(jù)權(quán)利要求1至3中任一項(xiàng)的計(jì)算機(jī)實(shí)現(xiàn)的方法的所有步驟。
6.一種計(jì)算設(shè)備,包括: 存儲設(shè)備(102),存儲要在計(jì)算設(shè)備的啟動期間請求的計(jì)算機(jī)可執(zhí)行指令,并且所述存儲設(shè)備(102)根據(jù)最終數(shù)據(jù)布局而被組織, 控制單元(101),適于執(zhí)行所述計(jì)算機(jī)可執(zhí)行指令, 所述計(jì)算設(shè)備的特征在于:所述計(jì)算機(jī)可執(zhí)行指令適于使用映射表而被執(zhí)行,映射表將最終物理數(shù)據(jù)布局的存儲塊映射到源物理數(shù)據(jù)布局的存儲塊,所述源物理數(shù)據(jù)布局與所述最終數(shù)據(jù)布局不同并且包括最終物理數(shù)據(jù)布局的相同計(jì)算機(jī)可執(zhí)行指令。
7.根據(jù)權(quán)利要求6的計(jì)算設(shè)備,其中所述計(jì)算機(jī)可執(zhí)行指令包括存儲設(shè)備驅(qū)動,該存儲設(shè)備驅(qū)動請求存儲在第二非易失性存儲設(shè)備中的映射表的數(shù)據(jù)。
8.根據(jù)權(quán)利要求6或7的計(jì)算設(shè)備,其中所述設(shè)備是視頻裝置。
【文檔編號】G06F9/44GK103842962SQ201280046022
【公開日】2014年6月4日 申請日期:2012年8月6日 優(yōu)先權(quán)日:2011年8月8日
【發(fā)明者】A·戈?duì)柕? 申請人:先進(jìn)數(shù)字廣播股份有限公司