TWI405080B - 重映射記憶體的方法 - Google Patents
重映射記憶體的方法 Download PDFInfo
- Publication number
- TWI405080B TWI405080B TW098129450A TW98129450A TWI405080B TW I405080 B TWI405080 B TW I405080B TW 098129450 A TW098129450 A TW 098129450A TW 98129450 A TW98129450 A TW 98129450A TW I405080 B TWI405080 B TW I405080B
- Authority
- TW
- Taiwan
- Prior art keywords
- remapping
- memory
- buffer block
- video buffer
- operating system
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/125—Frame memory handling using unified memory architecture [UMA]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Controls And Circuits For Display Device (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
本發明是有關於一種記憶體的使用方法,且特別是有關於一種已移除顯示晶片的伺服器之重映射記憶體的方法。
近幾年,以網路作為儲存空間擴充的網路附加儲存(Network-Attached Storage,NAS)伺服器,漸漸受到許多使用者的青睞。使用者可以透過網路瀏覽與存取的方式,將檔案資料存放在網路上的儲存設備上,以簡化擴充儲存空間。而且,透過網路存取的方式,既可以跨越單一電腦設備最大可連接儲存裝置的限制,達到無限制的擴充儲存空間的目的,又可以透過網路輕鬆達到多人或多設備的資料共享的好處。
由於NAS伺服器為長期擺放於機房中,使用者不須時常觀看NAS伺服器的狀況,因此為了節省成本,目前的NAS伺服器的設計上,通常會將主機板上的顯示晶片(Video Graphics Array,VGA)移除。然而,如此一來卻造成系統沒有視頻緩衝區(video memory buffer)給串列控制台重定向(Serial Console Redirection)程式使用。
一般而言,串列控制台重定向程式在掃描視頻緩衝區之後,會將資料透過串列埠控制器(serial port controller)顯示到遠端控制終端(remote console terminal)。此時,由於NAS伺服器並沒有視頻緩衝區,倘若欲於遠端顯示正確的選擇唯讀記憶體(OPTION ROM)初始化作業畫面,則將會造成遠端顯示錯誤。
本發明提供一種重映射記憶體的方法,於系統記憶體中增設一視頻緩衝區塊以作為顯示晶片虛擬的視頻緩衝區塊。
本發明提出一種重映射記憶體的方法,適用於已移除顯示晶片的伺服器中。其中,伺服器的系統記憶體包括一系統管理模式區塊。本方法是在系統記憶體中另外設置一視頻緩衝區塊。首先,執行開機自我測試(Power On Self Test),以初始化系統記憶體。之後,啟動重映射功能。接著,將視頻緩衝區塊的基底位址及尺寸設定至晶片組中的重映射暫存器。最後,依據重映射暫存器,將視頻緩衝區塊重映射至系統管理模式區塊原先所映射的記憶體位址空間。
在本發明之一實施例中,上述重映射功能是在執行串列控制台重定向(Serial Console Redirection)程式之後而啟動。
在本發明之一實施例中,上述在將視頻緩衝區塊重映射至記憶體位址空間的步驟之後,可依據視頻緩衝區塊,顯示畫面至遠端控制終端。並且,還可將此視頻緩衝區塊設定為不可用,並回報給作業系統,使得作業系統不會使用此視頻緩衝區塊。
在本發明之一實施例中,上述重映射記憶體的方法更包括在作業系統控制通用異步收發器(Universal Asynchronous Receiver/Transmitter,UART)之前,啟動重映射功能。並且,在將系統管理模式區塊的記憶體位址空間重映射至視頻緩衝區塊之後,檢查作業系統是否已控制通用異步收發器。例如,檢查中斷向量表中的通用異步收發器入口(UART entry)是否被改變,以在通用異步收發器入口被改變時,判定作業系統已控制通用異步收發器。倘若作業系統已控制通用異步收發器,則關閉重映射功能。並且,將視頻緩衝區塊設定為可用,並回報給作業系統。
基於上述,本發明在已移除顯示晶片的伺服器中,在其系統記憶體內增設一視頻緩衝區塊以模擬顯示晶片的緩衝區。據此,即可透過此視頻緩衝區塊將伺服器初始化畫面傳送至遠端控制終端。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
目前的網路附加儲存(Network-Attached Storage,NAS)伺服器的設計上,通常會將主機板上的顯示晶片(Video Graphics Array,VGA)移除。然而,如此一來卻造成系統沒有視頻緩衝區(video memory buffer)給串列控制台重定向(Serial Console Redirection)程式使用。此時,若選擇唯讀記憶體(OPTION ROM)欲直接存取顯示晶片緩衝區將使得遠端顯示產生錯誤。據此,本發明提供一種重映射記憶體的方法,以提供一視頻緩衝區塊作為顯示晶片虛擬的緩衝區。為了使本發明之內容更為明瞭,以下特舉實施例作為本發明確實能夠據以實施的範例。
圖1是依照本發明一實施例所繪示的系統記憶體映射的示意圖。請參照圖1,本實施例中適用於已移除顯示晶片的伺服器中。其中,伺服器的系統記憶體110除了包括系統管理模式(System Management Mode,SMM)區塊111之外,更另外設置了視頻緩衝區塊113。
例如,在系統記憶體110中將一塊128Kbyte在16MB的位置做為視頻緩衝區塊113,以模擬VGA的緩衝區。並且,將記憶體位址空間A0000~BFFFF做為系統管理模式區塊111與視頻緩衝區塊113共用。其中,當伺服器處於系統管理模式時,系統管理模式區塊111是映射至記憶體位址空間A0000~BFFFF。而在其他模式下,視頻緩衝區塊113將被重映射至記憶體位址空間A0000~BFFFF。
以下再舉一例來詳細說明重映射記憶體的方法各步驟。圖2是依照本發明一實施例所繪示的重映射記憶體的方法流程圖。請同時參照圖1及圖2,首先,在步驟S205中,執行開機自我測試(Power On Self Test,POST),以初始化系統記憶體110。
之後,在步驟S210中,執行重映射功能。接著,在步驟S215中,將視頻緩衝區塊113的基底位址(base address)及尺寸設定至晶片組中的重映射暫存器。例如,在執行串列控制台重定向(Serial Console Redirection)程式時,利用晶片組(例如,北橋晶片)的重映射功能對晶片組上的重映射暫存器做設定,以便對系統記憶體110進行重映射功能。以圖1而言,也就是將系統記憶體110的視頻緩衝區塊113映射到記憶體位址空間A0000~BFFFF,以利用視頻緩衝區塊113來模擬顯示晶片的緩衝區。
最後,在步驟S220中,依據重映射暫存器,將視頻緩衝區塊113重映射至系統管理模式區塊111的記憶體位址空間。之後,即可透過視頻緩衝區塊113,顯示畫面至遠端控制終端。並且,還可將此視頻緩衝區塊113設定為不可用,並回報給作業系統(例如透過int15h function call E820來回報),使得作業系統不會使用此視頻緩衝區塊113。
據此,不論是開機前執行環境(Preboot eXecution Environment,PXE)或是選擇唯讀記憶體(OPTION ROM)都能夠直接存取視頻緩衝區塊113,以將初始化畫面傳送至遠端控制終端來顯示。
另外,在中央處理單元讀取的記憶體位址空間A0000~Bffff時,倘若是在系統管理模式下,則其所讀到為系統管理模式區塊111;倘若不是在系統管理模式下,則其所讀到為視頻緩衝區塊113。
值得一提的是,上述啟動重映射功能的步驟是在作業系統控制通用異步收發器(Universal Asynchronous Receiver/Transmitter,UART)之前。當作業系統已控制UART時,便不需要視頻緩衝區塊113。據此,便可將視頻緩衝區塊113釋放出來讓作業系統使用。以下再舉一實施例來說明。
圖3是依照本發明一實施例所繪示的在作業系統底下釋出記憶體位址空間的方法流程圖。請參照圖3,在步驟S305中,執行作業系統。接著,如步驟S310所示,自傳統模式(legacy mode)切換至先進組態與電力介面(Advanced Configuration And Power Interface,ACPI)模式。
之後,在步驟S315中,判斷作業系統是否已控制UART。也就是說,在視頻緩衝區塊113重映射至系統管理模式區塊111的記憶體位址空間A0000~BFFFF之後,檢查作業系統是否已控制UART。例如,檢查中斷向量表中的通用異步收發器入口(UART entry)是否被改變,以在UART入口被改變時,判定作業系統已控制UART。
倘若作業系統已控制UART,如步驟S320所示,關閉重映射功能。並且,將視頻緩衝區塊113設定為可用,並透過int15h function call E820h回報給作業系統,使得作業系統能夠使用視頻緩衝區塊113。
另一方面,在步驟S315中,倘若作為系統尚未控制UART,則如步驟S325所示,啟動週期性系統管理中斷(例如每隔一分鐘即觸發一次系統管理中斷)。之後,如步驟S330所示,執行系統管理中斷處理程式(SMI Handler)直至作業系統控制UART,再關閉週期性系統管理中斷。
綜上所述,本發明在系統記憶體中增設一個視頻緩衝區塊,且此視頻緩衝區塊與系統管理模式區塊共同使用同一塊記憶體位址空間。據此,在一般模式之下,系統管理模式區塊並不會曝露出來,以避免遭到意外的破壞。另外,藉由上述方法並不需要廠商來進行任何修改動作,即可在執行串列控制台重定向程式時,而能夠於遠端正確顯示。此外,當作業系統已控制UART時,原本用來做為顯示晶片緩衝區的視頻緩衝區塊便會被釋出,以提高作業系統能夠使用的系統記憶體容量。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為準。
110...系統記憶體
111...系統管理模式區塊
113...視頻緩衝區塊
120...記憶體位址空間
S205~S220...本發明一實施例之重映射記憶體的方法各步驟
S305~S330...本發明一實施例之在作業系統底下釋出記憶體位址空間的方法各步驟
圖1是依照本發明一實施例所繪示的系統記憶體映射的示意圖。
圖2是依照本發明一實施例所繪示的重映射記憶體的方法流程圖。
圖3是依照本發明一實施例所繪示的在作業系統底下釋出記憶體位址空間的方法流程圖。
S205~S220...本發明一實施例之重映射記憶體的方法各步驟
Claims (9)
- 一種重映射記憶體的方法,適用於已移除一顯示晶片的一伺服器中,其中該伺服器的一系統記憶體包括一系統管理模式區塊,該方法包括:在該系統記憶體中另設置一視頻緩衝區塊;執行一開機自我測試,以初始化該系統記憶體;啟動一重映射功能;將該視頻緩衝區塊的一基底位址及一尺寸設定至一晶片組中的一重映射暫存器;當該伺服器處於一系統管理模式時,將該系統管理模式區塊映射至一記憶體位址空間;以及當該伺服器不處於該系統管理模式時,依據該重映射暫存器,將該視頻緩衝區塊重映射至該系統管理模式區塊原先所映射的該記憶體位址空間。
- 如申請專利範圍第1項所述之重映射記憶體的方法,其中啟動該重映射功能的步驟,包括:執行一串列控制台重定向程式,以啟動該重映射功能。
- 如申請專利範圍第1項所述之重映射記憶體的方法,其中在將該視頻緩衝區塊重映射至該記憶體位址空間的步驟之後,更包括:依據該視頻緩衝區塊,顯示一畫面至一遠端控制終端。
- 如申請專利範圍第1項所述之重映射記憶體的方法,其中在將該視頻緩衝區塊重映射至該記憶體位址空間的步驟之後,更包括: 將該視頻緩衝區塊設定為不可用,並回報給一作業系統,使得該作業系統不會使用該視頻緩衝區塊。
- 如申請專利範圍第1項所述之重映射記憶體的方法,更包括:在一作業系統控制一通用異步收發器(Universal Asynchronous Receiver/Transmitter,UART)之前,啟動該重映射功能。
- 如申請專利範圍第5項所述之重映射記憶體的方法,其中在將該視頻緩衝區塊重映射至該記憶體位址空間之後,更包括:檢查該作業系統是否已控制該通用異步收發器。
- 如申請專利範圍第6項所述之重映射記憶體的方法,其中檢查該作業系統是否已控制該通用異步收發器的步驟,包括:檢查一中斷向量表中的一通用異步收發器入口是否被改變,以在該通用異步收發器入口被改變時,判定該作業系統已控制該通用異步收發器。
- 如申請專利範圍第7項所述之重映射記憶體的方法,其中在該作業系統已控制該通用異步收發器的步驟之後,更包括:關閉該重映射功能。
- 如申請專利範圍第7項所述之重映射記憶體的方法,其中在該作業系統已控制該通用異步收發器的步驟之後,更包括:將該視頻緩衝區塊設定為可用,並回報給該作業系統。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098129450A TWI405080B (zh) | 2009-09-01 | 2009-09-01 | 重映射記憶體的方法 |
US12/579,324 US20110050715A1 (en) | 2009-09-01 | 2009-10-14 | Method of remapping memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098129450A TWI405080B (zh) | 2009-09-01 | 2009-09-01 | 重映射記憶體的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201109917A TW201109917A (en) | 2011-03-16 |
TWI405080B true TWI405080B (zh) | 2013-08-11 |
Family
ID=43624193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098129450A TWI405080B (zh) | 2009-09-01 | 2009-09-01 | 重映射記憶體的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110050715A1 (zh) |
TW (1) | TWI405080B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369744A (en) * | 1989-10-16 | 1994-11-29 | Hitachi, Ltd. | Address-translatable graphic processor, data processor and drawing method with employment of the same |
US20030037185A1 (en) * | 2001-08-15 | 2003-02-20 | International Business Machines Corporation | Method of virtualizing I/O resources in a computer system |
US6593932B2 (en) * | 1997-07-02 | 2003-07-15 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US6684290B2 (en) * | 2001-10-18 | 2004-01-27 | Kabushiki Kaisha Toshiba | Memory rewriting apparatus and method for memory mapping rewriting program to same address space |
US6963344B1 (en) * | 2002-12-24 | 2005-11-08 | Nvidia Corporation | Method and system for utilizing graphics memory to provide storage for video BIOS initialization |
US20060072831A1 (en) * | 2004-09-27 | 2006-04-06 | Kim Pallister | Low-latency remote display rendering using tile-based rendering systems |
-
2009
- 2009-09-01 TW TW098129450A patent/TWI405080B/zh not_active IP Right Cessation
- 2009-10-14 US US12/579,324 patent/US20110050715A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5369744A (en) * | 1989-10-16 | 1994-11-29 | Hitachi, Ltd. | Address-translatable graphic processor, data processor and drawing method with employment of the same |
US6593932B2 (en) * | 1997-07-02 | 2003-07-15 | Micron Technology, Inc. | System for implementing a graphic address remapping table as a virtual register file in system memory |
US20030037185A1 (en) * | 2001-08-15 | 2003-02-20 | International Business Machines Corporation | Method of virtualizing I/O resources in a computer system |
US6684290B2 (en) * | 2001-10-18 | 2004-01-27 | Kabushiki Kaisha Toshiba | Memory rewriting apparatus and method for memory mapping rewriting program to same address space |
US6963344B1 (en) * | 2002-12-24 | 2005-11-08 | Nvidia Corporation | Method and system for utilizing graphics memory to provide storage for video BIOS initialization |
US20060072831A1 (en) * | 2004-09-27 | 2006-04-06 | Kim Pallister | Low-latency remote display rendering using tile-based rendering systems |
Also Published As
Publication number | Publication date |
---|---|
TW201109917A (en) | 2011-03-16 |
US20110050715A1 (en) | 2011-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6321287B1 (en) | Console redirection for a computer system | |
US9176765B2 (en) | Virtual machine system and a method for sharing a graphics card amongst virtual machines | |
US6629157B1 (en) | System and method for virtualizing the configuration space of PCI devices in a processing system | |
JP5380276B2 (ja) | 共用不揮発性メモリ・アーキテクチャ | |
TWI335536B (en) | Information handling system (ihs) method and for updating a non-volatile memory (nvm) included in an information handling system | |
US9940291B2 (en) | Assigning processors to memory mapped configuration | |
US6195749B1 (en) | Computer system including a memory access controller for using non-system memory storage resources during system boot time | |
KR101134816B1 (ko) | 운영 체제 초기화 중에 플랫폼 그래픽을 디스플레이하기 위한 방법 및 시스템 | |
US7581037B2 (en) | Effecting a processor operating mode change to execute device code | |
US20130268744A1 (en) | Method for detecting hardware | |
US8700807B2 (en) | High speed baseboard management controller and transmission method thereof | |
WO2005038652A1 (en) | Optimization of smi handling and initialization | |
CN114417373A (zh) | 一种NVMe-oF用户态客户端的数据访问方法和装置 | |
TWI405080B (zh) | 重映射記憶體的方法 | |
US9858085B2 (en) | Information processing including BIOS apparatus, information processing method thereof, and storage medium | |
TW201433925A (zh) | 可延伸韌體介面外接顯示卡、主機系統、及可延伸韌體介面基本輸入輸出系統開機方法 | |
US20230030973A1 (en) | Change of firmware settings | |
US8875138B2 (en) | Computer system and control method thereof | |
US8171271B2 (en) | Server device and method of sharing basic input/output system | |
US8195927B2 (en) | Expedient preparation of memory for video execution | |
KR20070089399A (ko) | 디지털 저장장치의 부팅 제어방법 | |
TWI475486B (zh) | 執行按鍵功能的方法及電子裝置 | |
TWI413934B (zh) | 開機方法 | |
CN102012871B (zh) | 重映射存储器的方法 | |
JP2002055825A (ja) | 自動アクセスシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |