專利名稱:重映射存儲(chǔ)器的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種存儲(chǔ)器的使用方法,且特別涉及一種已移除顯示芯片的服務(wù)器 的重映射存儲(chǔ)器的方法。
背景技術(shù):
近幾年,以網(wǎng)絡(luò)作為儲(chǔ)存空間擴(kuò)充的網(wǎng)絡(luò)儲(chǔ)存設(shè)備(Network-AttachedStorage, NAS)服務(wù)器,漸漸受到許多使用者的青睞。使用者可以透過網(wǎng)絡(luò)瀏覽與存取的方式,將 文件數(shù)據(jù)存放在網(wǎng)絡(luò)上的儲(chǔ)存設(shè)備上,以簡(jiǎn)化擴(kuò)充儲(chǔ)存空間。而且,透過網(wǎng)絡(luò)存取的方 式,既可以跨越單一計(jì)算機(jī)設(shè)備最大可連接儲(chǔ)存裝置的限制,達(dá)到無限制的擴(kuò)充儲(chǔ)存空 間的目的,又可以透過網(wǎng)絡(luò)輕松達(dá)到多人或多設(shè)備的數(shù)據(jù)共享的好處。由于NAS服務(wù)器為長(zhǎng)期擺放于機(jī)房中,使用者不須時(shí)常觀看NAS服務(wù)器的 狀況,因此為了節(jié)省成本,目前的NAS服務(wù)器的設(shè)計(jì)上,通常會(huì)將主板上的顯示芯片 (Video Graphics Array, VGA)移除。然而,如此一來卻造成系統(tǒng)沒有視頻緩沖區(qū)(video memory buffer)給串行控制臺(tái)重定向(Serial Console Redirection)程序使用。一般而言,串行控制臺(tái)重定向程序在掃描視頻緩沖區(qū)之后,會(huì)將數(shù)據(jù)透過串行 端口控制器(serial port controller)顯示到遠(yuǎn)端控制終端(remoteconsole terminal)。此時(shí), 由于NAS服務(wù)器并沒有視頻緩沖區(qū),倘若欲于遠(yuǎn)端顯示正確的選擇只讀存儲(chǔ)器(OPTION ROM)初始化作業(yè)畫面,則將會(huì)造成遠(yuǎn)端顯示錯(cuò)誤。
發(fā)明內(nèi)容
本發(fā)明提供一種重映射存儲(chǔ)器的方法,在系統(tǒng)存儲(chǔ)器中增設(shè)一視頻緩沖區(qū)塊以 作為顯示芯片虛擬的視頻緩沖區(qū)塊。本發(fā)明提出一種重映射存儲(chǔ)器的方法,適用于已移除顯示芯片的服務(wù)器中;其 中,服務(wù)器的系統(tǒng)存儲(chǔ)器包括一系統(tǒng)管理模式區(qū)塊;本方法是在系統(tǒng)存儲(chǔ)器中另外設(shè)置 一視頻緩沖區(qū)塊;首先,執(zhí)行開機(jī)自我檢測(cè)(PowerOnSelfTest),以初始化系統(tǒng)存儲(chǔ)器; 之后,啟動(dòng)重映射功能;接著,將視頻緩沖區(qū)塊的基底地址及尺寸設(shè)定至芯片組中的重 映射暫存器;最后,依據(jù)重映射暫存器,將視頻緩沖區(qū)塊重映射至系統(tǒng)管理模式區(qū)塊原 先所映射的存儲(chǔ)器地址空間。在本發(fā)明的一實(shí)施例中,上述重映射功能是在執(zhí)行串行控制臺(tái)重定向(Serial Console Redirection)程序之后而啟動(dòng)。在本發(fā)明的一實(shí)施例中,上述在將視頻緩沖區(qū)塊重映射至存儲(chǔ)器地址空間的步 驟之后,可依據(jù)視頻緩沖區(qū)塊,顯示畫面至遠(yuǎn)端控制終端;并且,還可將此視頻緩沖區(qū) 塊設(shè)定為不可用,并回報(bào)給操作系統(tǒng),使得操作系統(tǒng)不會(huì)使用此視頻緩沖區(qū)塊。在本發(fā)明的一實(shí)施例中,上述重映射存儲(chǔ)器的方法還包括在操作系統(tǒng)控制通用 異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,UART)之前,啟動(dòng)重映射 功能。并且,在將系統(tǒng)管理模式區(qū)塊的存儲(chǔ)器地址空間重映射至視頻緩沖區(qū)塊之后,檢查操作系統(tǒng)是否已控制通用異步收發(fā)傳輸器。例如,檢查中斷向量表中的通用異步收發(fā) 傳輸器入口(UART entry)是否被改變,以在通用異步收發(fā)傳輸器入口被改變時(shí),判定操 作系統(tǒng)已控制通用異步收發(fā)傳輸器。倘若操作系統(tǒng)已控制通用異步收發(fā)傳輸器,則關(guān)閉 重映射功能。并且,將視頻緩沖區(qū)塊設(shè)定為可用,并回報(bào)給操作系統(tǒng)?;谏鲜觯景l(fā)明在已移除顯示芯片的服務(wù)器中,在其系統(tǒng)存儲(chǔ)器內(nèi)增設(shè)一視 頻緩沖區(qū)塊以模擬顯示芯片的緩沖區(qū)。據(jù)此,即可透過此視頻緩沖區(qū)塊將服務(wù)器初始化 畫面?zhèn)魉椭吝h(yuǎn)端控制終端。為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能還明顯易懂,下面特舉實(shí)施例,并配合附圖作 詳細(xì)說明如下。
圖1是本發(fā)明一實(shí)施例的系統(tǒng)存儲(chǔ)器映射的示意圖。圖2是本發(fā)明一實(shí)施例的重映射存儲(chǔ)器的方法流程圖。圖3是本發(fā)明一實(shí)施例的在操作系統(tǒng)底下釋出存儲(chǔ)器地址空間的方法流程圖。主要元件符號(hào)說明系統(tǒng)存儲(chǔ)器-110; 系統(tǒng)管理模式區(qū)塊-111 ;視頻緩沖區(qū)塊-113 ; 存儲(chǔ)器地址空間-120 ;本發(fā)明一實(shí)施例的重映射存儲(chǔ)器的方法各步驟-S205 S220 ;本發(fā)明一實(shí)施例在操作系統(tǒng)底下釋出存儲(chǔ)器地址空間的方法各步驟-S305 S330。
具體實(shí)施例方式目前的網(wǎng)絡(luò)儲(chǔ)存設(shè)備(Network-Attached Storage,NAS)服務(wù)器的設(shè)計(jì)上,通常 會(huì)將主板上的顯示芯片(Video Graphics Array,VGA)移除。然而,如此一來卻造成系統(tǒng) 沒有視頻緩沖區(qū)(video memory buffer)給串行控制臺(tái)重定向(Serial Console Redirection)程
序使用。此時(shí),若選擇只讀存儲(chǔ)器(0PTI0NR0M)欲直接存取顯示芯片緩沖區(qū)將使得遠(yuǎn) 端顯示產(chǎn)生錯(cuò)誤。據(jù)此,本發(fā)明提供一種重映射存儲(chǔ)器的方法,以提供一視頻緩沖區(qū)塊 作為顯示芯片虛擬的緩沖區(qū)。為了使本發(fā)明的內(nèi)容更為明了,以下特舉實(shí)施例作為本發(fā) 明確實(shí)能夠據(jù)以實(shí)施的范例。圖1是本發(fā)明一實(shí)施例的系統(tǒng)存儲(chǔ)器映射的示意圖。請(qǐng)參照?qǐng)D1,本實(shí)施例中適 用于已移除顯示芯片的服務(wù)器中。其中,服務(wù)器的系統(tǒng)存儲(chǔ)器110除了包括系統(tǒng)管理模 式(System Management Mode,SMM)區(qū)塊111之外,還另外設(shè)置了視頻緩沖區(qū)塊113。例如,在系統(tǒng)存儲(chǔ)器110中將一塊128Kbyte在16MB的位置做為視頻緩沖區(qū)塊 113,以模擬VGA的緩沖區(qū)。并且,將存儲(chǔ)器地址空間A0000 BFFFF做為系統(tǒng)管理模 式區(qū)塊111與視頻緩沖區(qū)塊113共用。其中,當(dāng)服務(wù)器處于系統(tǒng)管理模式時(shí),系統(tǒng)管理 模式區(qū)塊111是映射至存儲(chǔ)器地址空間A0000 BFFFF。而在其他模式下,視頻緩沖區(qū) 塊113將被重映射至存儲(chǔ)器地址空間A0000 BFFFF。以下再舉一例來詳細(xì)說明重映射存儲(chǔ)器的方法各步驟。圖2是本發(fā)明一實(shí)施例 的重映射存儲(chǔ)器的方法流程圖。請(qǐng)同時(shí)參照?qǐng)D1及圖2,首先,在步驟S205中,執(zhí)行開
4機(jī)自我檢測(cè)(Power On Self Test, POST),以初始化系統(tǒng)存儲(chǔ)器110。之后,在步驟S210中,啟動(dòng)重映射功能。接著,在步驟S215中,將視頻緩沖 區(qū)塊113的基底地址(base address)及尺寸設(shè)定至芯片組中的重映射暫存器。例如,在執(zhí) 行串行控制臺(tái)重定向(Serial Console Redirection)程序時(shí),利用芯片組(例如,北橋芯片) 的重映射功能對(duì)芯片組上的重映射暫存器做設(shè)定,以便對(duì)系統(tǒng)存儲(chǔ)器110進(jìn)行重映射功 能。以圖1而言,也就是將系統(tǒng)存儲(chǔ)器110的視頻緩沖區(qū)塊113映射到存儲(chǔ)器地址空間 A0000 BFFFF,以利用視頻緩沖區(qū)塊113來模擬顯示芯片的緩沖區(qū)。最后,在步驟S220中,依據(jù)重映射暫存器,將視頻緩沖區(qū)塊113重映射至系統(tǒng) 管理模式區(qū)塊111的存儲(chǔ)器地址空間。之后,即可透過視頻緩沖區(qū)塊113,顯示畫面至遠(yuǎn) 端控制終端。并且,還可將此視頻緩沖區(qū)塊113設(shè)定為不可用,并回報(bào)給操作系統(tǒng)(例 如透過intl5h function call E820來回報(bào)),使得操作系統(tǒng)不會(huì)使用此視頻緩沖區(qū)塊113。據(jù)此,不論是開機(jī)前執(zhí)行環(huán)境(Preboot execution Environment, PXE)或是選擇 只讀存儲(chǔ)器(OPTION ROM)都能夠直接存取視頻緩沖區(qū)塊113,以將初始化畫面?zhèn)魉椭?遠(yuǎn)端控制終端來顯示。另外,在中央處理單元讀取的存儲(chǔ)器地址空間A0000 Bffff時(shí),倘若是在系統(tǒng) 管理模式下,則其所讀到為系統(tǒng)管理模式區(qū)塊111 ;倘若不是在系統(tǒng)管理模式下,則其 所讀到為視頻緩沖區(qū)塊113。需要說明的是,上述啟動(dòng)重映射功能的步驟是在操作系統(tǒng)控制通用異步收發(fā)傳 輸器(Universal Asynchronous Receiver/Transmitter, UART)之前。當(dāng)操作系統(tǒng)已控制 UART時(shí),便不需要視頻緩沖區(qū)塊113。據(jù)此,便可將視頻緩沖區(qū)塊113釋放出來讓操作 系統(tǒng)使用。以下再舉一實(shí)施例來說明。圖3是本發(fā)明一實(shí)施例的在操作系統(tǒng)底下釋出存儲(chǔ)器地址空間的方法流程圖。 請(qǐng)參照?qǐng)D3,在步驟S305中,執(zhí)行操作系統(tǒng)。接著,如步驟S310所示,自傳統(tǒng)模式 (legacy mode)切換至高級(jí)配置與電源接口 (AdvancedConfiguration And Power Interface, ACPI)模式。之后,在步驟S315中,判斷操作系統(tǒng)是否已控制UART。也就是說,在視頻 緩沖區(qū)塊113重映射至系統(tǒng)管理模式區(qū)塊111的存儲(chǔ)器地址空間A0000 BFFFF之后, 檢查操作系統(tǒng)是否已控制UART。例如,檢查中斷向量表中的通用異步收發(fā)傳輸器入口 (UART entry)是否被改變,以在UART入口被改變時(shí),判定操作系統(tǒng)已控制UART。倘若操作系統(tǒng)已控制UART,如步驟S320所示,關(guān)閉重映射功能。并且,將視 頻緩沖區(qū)塊113設(shè)定為可用,并透過intl5h function call E820h回報(bào)給操作系統(tǒng),使得操作 系統(tǒng)能夠使用視頻緩沖區(qū)塊113。另一方面,在步驟S315中,倘若作為系統(tǒng)尚未控制UART,則如步驟S325所 示,啟動(dòng)周期性系統(tǒng)管理中斷(例如每隔一分鐘即觸發(fā)一次系統(tǒng)管理中斷)。之后,如步 驟S330所示,執(zhí)行系統(tǒng)管理中斷處理程序(SMI Handler)直至操作系統(tǒng)控制UART,再關(guān) 閉周期性系統(tǒng)管理中斷。綜上所述,本發(fā)明在系統(tǒng)存儲(chǔ)器中增設(shè)一個(gè)視頻緩沖區(qū)塊,且此視頻緩沖區(qū)塊 與系統(tǒng)管理模式區(qū)塊共同使用同一塊存儲(chǔ)器地址空間。據(jù)此,在一般模式之下,系統(tǒng) 管理模式區(qū)塊并不會(huì)曝露出來,以避免遭到意外的破壞。另外,通過上述方法并不需要廠商來進(jìn)行任何修改動(dòng)作,即可在執(zhí)行串行控制臺(tái)重定向程序時(shí),而能夠于遠(yuǎn)端正確顯 示。此外,當(dāng)操作系統(tǒng)已控制UART時(shí),原本用來做為顯示芯片緩沖區(qū)的視頻緩沖區(qū)塊 便會(huì)被釋出,以提高操作系統(tǒng)能夠使用的系統(tǒng)存儲(chǔ)器容量。 最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制; 盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其 依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等 同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方 案的精神和范圍。
權(quán)利要求
1.一種重映射存儲(chǔ)器的方法,適用于已移除顯示芯片的服務(wù)器中,其中該服務(wù)器的 系統(tǒng)存儲(chǔ)器包括系統(tǒng)管理模式區(qū)塊,該方法包括在該系統(tǒng)存儲(chǔ)器中另設(shè)置視頻緩沖區(qū)塊; 執(zhí)行開機(jī)自我檢測(cè),以初始化該系統(tǒng)存儲(chǔ)器; 啟動(dòng)重映射功能;將該視頻緩沖區(qū)塊的基底地址及尺寸設(shè)定至芯片組中的重映射暫存器;以及 依據(jù)該重映射暫存器,將該視頻緩沖區(qū)塊重映射至該系統(tǒng)管理模式區(qū)塊原先所映射 的存儲(chǔ)器地址空間。
2.根據(jù)權(quán)利要求1所述的重映射存儲(chǔ)器的方法,其中啟動(dòng)該重映射功能的步驟,包括執(zhí)行串行控制臺(tái)重定向程序,以啟動(dòng)該重映射功能。
3.根據(jù)權(quán)利要求1所述的重映射存儲(chǔ)器的方法,其中在將該視頻緩沖區(qū)塊重映射至該 存儲(chǔ)器地址空間的步驟之后,還包括依據(jù)該視頻緩沖區(qū)塊,顯示畫面至遠(yuǎn)端控制終端。
4.根據(jù)權(quán)利要求1所述的重映射存儲(chǔ)器的方法,其中在將該視頻緩沖區(qū)塊重映射至該 存儲(chǔ)器地址空間的步驟之后,還包括將該視頻緩沖區(qū)塊設(shè)定為不可用,并回報(bào)給操作系統(tǒng),使得該操作系統(tǒng)不會(huì)使用該 視頻緩沖區(qū)塊。
5.根據(jù)權(quán)利要求1所述的重映射存儲(chǔ)器的方法,還包括在操作系統(tǒng)控制通用異步收發(fā)傳輸器之前,啟動(dòng)該重映射功能。
6.根據(jù)權(quán)利要求5所述的重映射存儲(chǔ)器的方法,其中在將該視頻緩沖區(qū)塊重映射至該 存儲(chǔ)器地址空間之后,還包括檢查該操作系統(tǒng)是否已控制該通用異步收發(fā)傳輸器。
7.根據(jù)權(quán)利要求6所述的重映射存儲(chǔ)器的方法,其中檢查該操作系統(tǒng)是否已控制該通 用異步收發(fā)傳輸器的步驟,包括檢查中斷向量表中的通用異步收發(fā)傳輸器入口是否被改變,以在該通用異步收發(fā)傳 輸器入口被改變時(shí),判定該操作系統(tǒng)已控制該通用異步收發(fā)傳輸器。
8.根據(jù)權(quán)利要求7所述的重映射存儲(chǔ)器的方法,其中在該操作系統(tǒng)已控制該通用異步 收發(fā)傳輸器的步驟之后,還包括關(guān)閉該重映射功能。
9.根據(jù)權(quán)利要求7所述的重映射存儲(chǔ)器的方法,其中在該操作系統(tǒng)已控制該通用異步 收發(fā)傳輸器的步驟之后,還包括將該視頻緩沖區(qū)塊設(shè)定為可用,并回報(bào)給該操作系統(tǒng)。
全文摘要
本發(fā)明提供一種重映射存儲(chǔ)器的方法,適用于不具有顯示芯片的服務(wù)器中。本方法是在系統(tǒng)存儲(chǔ)器中設(shè)置一視頻緩沖區(qū)塊。首先,執(zhí)行開機(jī)自我檢測(cè),以初始化系統(tǒng)存儲(chǔ)器;之后,啟動(dòng)重映射功能。接著,將視頻緩沖區(qū)塊的基底地址及尺寸設(shè)定至芯片組中的重映射暫存器;最后,依據(jù)重映射暫存器,將視頻緩沖區(qū)塊重映射至系統(tǒng)管理模式區(qū)塊原先所映射的存儲(chǔ)器地址空間。
文檔編號(hào)G06F12/08GK102012871SQ20091017178
公開日2011年4月13日 申請(qǐng)日期2009年9月8日 優(yōu)先權(quán)日2009年9月8日
發(fā)明者盧盈志, 李思賢, 王郁蕙 申請(qǐng)人:英業(yè)達(dá)股份有限公司