TWI526845B - 使運算及擴充刀鋒式裝置之記憶體可供作業系統用之技術 - Google Patents

使運算及擴充刀鋒式裝置之記憶體可供作業系統用之技術 Download PDF

Info

Publication number
TWI526845B
TWI526845B TW103109939A TW103109939A TWI526845B TW I526845 B TWI526845 B TW I526845B TW 103109939 A TW103109939 A TW 103109939A TW 103109939 A TW103109939 A TW 103109939A TW I526845 B TWI526845 B TW I526845B
Authority
TW
Taiwan
Prior art keywords
memory
processor
blade
sfw
blade device
Prior art date
Application number
TW103109939A
Other languages
English (en)
Other versions
TW201502802A (zh
Inventor
Derek Schumacher
Sylvia K Myer
Russ W Herrell
Original Assignee
Hewlett Packard Development Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of TW201502802A publication Critical patent/TW201502802A/zh
Application granted granted Critical
Publication of TWI526845B publication Critical patent/TWI526845B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5054Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Advance Control (AREA)

Description

使運算及擴充刀鋒式裝置之記憶體可供作業系統用之技術
本發明係有關於使運算及擴充刀鋒式裝置之記憶體可供作業系統用之技術。
發明背景
一刀鋒式系統可包括安裝於一刀鋒式殼體內的多個刀鋒式裝置。例如該等刀鋒式裝置各自可為一刀鋒式伺服器。於若干實施例中,一使用者可設定該刀鋒式系統之一分區包括安裝於該刀鋒式殼體內的該等刀鋒式裝置中之一者、數者、或全部。於此等實施例中,該分區可跑一作業系統(OS)及以該OS跑應用程式。
依據本發明之一實施例,係特地提出一種以包含指令之一系統韌體(SFW)案例編碼之非過渡機器可讀取儲存媒體,該等指令可由一刀鋒式系統執行以:組配一運算刀鋒式裝置之一運算邏輯處理器及一擴充刀鋒式裝置之一擴充邏輯處理器各自以操作為與該SFW案例相聯結的一單 一SFW域之部分,其中該刀鋒式系統包括安裝於一刀鋒式殼體內的該等運算及擴充刀鋒式裝置;辨識與該運算邏輯處理器相聯結的該運算刀鋒式裝置之可用記憶體及與該擴充邏輯處理器相聯結的該擴充刀鋒式裝置之可用記憶體;使該運算邏輯處理器及該運算刀鋒式裝置之該經識別的記憶體及該擴充刀鋒式裝置之該經識別的記憶體為由該刀鋒式系統之一作業系統(OS)所使用;及使該擴充邏輯處理器為該OS所不可利用,因而該擴充邏輯處理器維持可用以執行該SFW案例之指令。
100、200、300‧‧‧刀鋒式系統
105、205、305‧‧‧刀鋒式殼體
115‧‧‧作業系統(OS)
120‧‧‧機器可讀取儲存媒體
121、321‧‧‧系統韌體(SFW)案例
122、124、126、128、225、322、324、326、328、329、360、362、364、366‧‧‧指令
130、230、330‧‧‧擴充刀鋒式裝置
132、236、332‧‧‧擴充邏輯處理器
134、144、238、248、334、344‧‧‧記憶體
140、240、340‧‧‧運算刀鋒式裝置
142、246、342‧‧‧運算邏輯處理器
235、245‧‧‧服務記憶體
237、247‧‧‧分區資訊
250‧‧‧OS記憶體區域
252‧‧‧高階組態及功率介面(ACPI)表
256‧‧‧描述
308‧‧‧分區
320‧‧‧刀鋒式殼體記憶體
331、341‧‧‧記憶體控制器
333、343‧‧‧節點控制器
351‧‧‧SFW資料結構
353‧‧‧系統管理中斷(SMI)處理器
355、359‧‧‧經識別的可用記憶體
357‧‧‧系統管理記憶體區域
370‧‧‧刀鋒式裝置
375‧‧‧偵錯管理基礎架構(FMI)
382‧‧‧錯誤資訊
400、500‧‧‧方法
405-425、505-555‧‧‧操作
後文詳細說明部分參考附圖,附圖中:圖1為使一邏輯處理器為由一作業系統(OS)所不可利用而仍維持可用以執行一系統韌體(SFW)案例之指令的刀鋒式系統實施例之方塊圖;圖2為使多個邏輯處理器為由一OS所不可利用而仍維持可用以執行一SFW案例之指令的刀鋒式系統實施例之方塊圖;圖3為使運算及擴充刀鋒式裝置之記憶體為由該系統之一分區的一OS所可用之系統實施例之方塊圖;圖4為於使用一運算邏輯處理器執行一OS期間,保持一擴充邏輯處理器於一系統管理模式(SMM)之方法實施例之流程圖;及圖5為應答於藉一運算邏輯處理器偵測得的一錯誤,用以使用一擴充邏輯處理器收集錯誤資訊之方法實施 例之流程圖。
較佳實施例之詳細說明
如前記,刀鋒式系統之一分區可跑作業系統(OS)及使用OS跑應用程式。執行該OS之該分區可包括多個刀鋒式裝置,各自包括邏輯處理器及記憶體。各個邏輯處理器可包括於一積體電路(IC)(例如晶片)上。包括至少一個中央處理單元(CPU)之一IC於此處可稱作為一「CPU IC」。於若干實施例中,除了邏輯處理器之外,一CPU IC可包括至少一個集積式記憶體控制器以管理該刀鋒式裝置之記憶體。於此等實施例中,一CPU IC之一記憶體控制器能夠管理相當有限量的記憶體,其可限制於一刀鋒式裝置上可用的記憶體量,及如此限制分區中之記憶體量。
藉增加額外刀鋒式裝置至一分區,可增加更多記憶體至該分區。但針對由該OS跑的某些應用程式,授權成本可能根據該應用程式可用的邏輯處理器之數目運算。如此,增加刀鋒式裝置至一分區由於該增加的刀鋒式裝置之邏輯處理器之可利用性,可能實質上增加了某些應用程式的授權成本。
為了解決此等問題,此處描述之實施例可組配一運算刀鋒式裝置之一運算邏輯處理器及一擴充刀鋒式裝置之一擴充邏輯處理器以操作為一單一SFW域之部分,及辨識該運算刀鋒式裝置之可用記憶體及該擴充刀鋒式裝置之可用記憶體。此處描述之實施例可進一步使該運算邏輯處 理器及該運算及該擴充刀鋒式裝置之該經識別的記憶體為由一OS所使用,而使該擴充邏輯處理器維持可用以執行該SFW案例之指令。
藉此方式,此處描述之實施例可允許一刀鋒式系統之一分區利用一擴充刀鋒式裝置的記憶體,而不暴露該擴充刀鋒式裝置之邏輯處理器(亦即擴充邏輯處理器)給由該分區跑的OS或由該OS跑的應用程式。如此,此處描述之實施例可允許一分區使用一擴充刀鋒式裝置的記憶體跑一OS及應用程式,而該擴充刀鋒式裝置之擴充邏輯處理器不增加應用程式授權費用。此外,藉維持可用以執行該SFW案例之指令,使得為由該OS所不可利用的一擴充邏輯處理器可在擴充刀鋒式裝置收集錯誤資訊,或否則於該SFW案例之指令之控制之下,管理該擴充刀鋒式裝置之資源,同時仍為由該OS所不可利用。
現在參照附圖,圖1為使一邏輯處理器為由一作業系統(OS)所不可利用而仍維持可用以執行一系統韌體(SFW)案例之指令的刀鋒式系統100實施例之方塊圖。於此處描述的實施例中,刀鋒式系統可為計算系統包含一刀鋒式殼體及安裝於該刀鋒式殼體內的至少一個刀鋒式裝置。於圖1之實施例中,刀鋒式系統100包含一刀鋒式殼體105,及各自安裝於刀鋒式殼體105中之擴充及運算刀鋒式裝置130及140。刀鋒式系統100可以擴充及運算刀鋒式裝置130及140各自之資源跑OS 115。舉例言之,OS 115可由刀鋒式系統100含至少擴充及運算刀鋒式裝置130及140的一分區 跑。
如此處使用,「刀鋒式裝置」可為包含記憶體及至少一個邏輯處理器且可安裝至一刀鋒式殼體之一實體運算裝置。於若干實施例中,刀鋒式裝置可能模組運算裝置,其為實體上可安裝至一刀鋒式殼體用於操作,其包括某些核心運算資源(例如邏輯處理器及記憶體),及排除某些實體周邊運算資源(例如電源供應器、冷卻扇、外部網路埠等或其組合)。
如此處使用,一「刀鋒式殼體」可為一機架以容納多個刀鋒式裝置,及提供針對所容納刀鋒式裝置之至少一個周邊資源。舉例言之,一刀鋒式殼體可包括風扇以冷卻所安裝的刀鋒式裝置,至少一個電源供應器以供電給所安裝的刀鋒式裝置,針對所安裝的刀鋒式裝置之外部網路埠等或其組合。
於圖1之實施例中,擴充刀鋒式裝置130可包括一擴充邏輯處理器132及與擴充邏輯處理器132相聯結的記憶體134。於若干實施例中,刀鋒式裝置130可包括多個邏輯處理器,其中部分或全部具有相聯結的記憶體。運算刀鋒式裝置140可包括一運算邏輯處理器142及與運算邏輯處理器142相聯結的記憶體144。於若干實施例中,刀鋒式裝置140可包括多個邏輯處理器,其中部分或全部具有相聯結的記憶體。如此處使用,「邏輯處理器」可為一CPU IC、一CPU IC之一CPU(例如在一多核心CPU IC上的多個核心中之一者)、或一CPU IC之一CPU(或核心)上之一執行緒。
此處描述的任何擴充刀鋒式裝置或運算刀鋒式裝置可為如前文描述之刀鋒式裝置。於此處描述的實施例中,一擴充刀鋒式裝置可為一刀鋒式裝置被指定以提供記憶體,但非邏輯處理器,以供由含該刀鋒式裝置之一分區的一OS使用。於此處描述的實施例中,一運算刀鋒式裝置可為一刀鋒式裝置被指定以提供記憶體及邏輯處理器以供由含該刀鋒式裝置之一分區的一OS使用。於若干實施例中,在描述一分區之組態的面向之分區組態資訊中,該分區的各個刀鋒式裝置可被指定為一擴充或運算刀鋒式裝置。此外,此處描述的任何擴充邏輯處理器或運算邏輯處理器可為如前文描述之邏輯處理器。於此處描述的實施例中,一擴充邏輯處理器可為一擴充刀鋒式裝置之一邏輯處理器,及一運算邏輯處理器可為一運算刀鋒式裝置之一邏輯處理器。
如此處使用,與一邏輯處理器「相聯結的」記憶體(或邏輯處理器之「相聯結的」記憶體)乃由集積在含或組成該邏輯處理器之CPU IC上的一記憶體控制器管理的記憶體。舉例言之,含與一邏輯處理器相聯結的記憶體之一刀鋒式裝置可包含至少一個記憶體模組,及一CPU IC包括至少一個邏輯處理器(例如CPU或核心)及至少一個整合式記憶體控制器以管理該(等)記憶體模組。於若干實施例中,一刀鋒式裝置可包括多個CPU IC,各自包括至少一個整合式記憶體控制器以管理該刀鋒式裝置之記憶體模組。如此處使用,一記憶體模組可為例如雙排型記憶體模組(DIMM)、 單排型記憶體模組(SIMM)、或包括多個記憶體裝置之任何其它型別的記憶體模組。
於圖1之實施例中,刀鋒式系統100包括以含指令122、124、126、及128的系統韌體(SFW)案例121編碼的一機器可讀取儲存媒體120。於若干實施例中,SFW案例121可包括額外指令。如此處使用,「機器可讀取儲存媒體」可為任何電子、磁性、光學、或其它物理儲存裝置以含有或儲存資訊,諸如可執行指令、資料等。舉例言之,此處描述的任何機器可讀取儲存媒體可為隨機存取記憶體(RAM)、唯讀記憶體(ROM)、依電性記憶體、非依電性記憶體、快閃記憶體、儲存裝置驅動器(例如硬碟機)、固態驅動器、任一型儲存碟(例如光碟-唯讀記憶體(CD-ROM)、任何其它型別之光碟、DVD等)等或其組合中之任一者。又,此處描述的任何機器可讀取儲存媒體可為非過度。此處描述的任何「記憶體」可為至少一個機器可讀取儲存媒體的至少一部分。
於圖1之實施例中,儲存媒體120可為儲存SFW案例121之一ROM。於若干實施例中,儲存媒體120可包括於擴充刀鋒式裝置130或運算刀鋒式裝置140。於其它實施例中,儲存媒體120可包括於安裝於刀鋒式裝置殼體105的另一刀鋒式裝置上。如此處使用,「系統韌體案例」(或「SFW案例」)可為機器可執行指令之一集合以啟動與管理一刀鋒式裝置資源。舉例言之,於復置之後,一刀鋒式裝置之邏輯處理器可開始執行一SFW案例之指令以啟動邏輯處理器 之操作,及啟動刀鋒式裝置之其它資源,諸如與邏輯處理器相聯結的記憶體。於若干實施例中,邏輯處理器及相聯結的記憶體之此種啟動可包括由SFW案例具現的一開機自檢(POST)。
SFW案例之指令當由邏輯處理器執行時也可組配邏輯處理器以於與SFW案例相聯結的SFW域中操作。如此處使用,與一SFW案例相聯結的「系統韌體域」(或「SFW域」)可為於啟動後當執行SFW案例之指令時,其中可操作可由SFW案例啟動之一邏輯處理器的一環境。於若干實施例中,一SFW域可包括多個SFW資源,包括例如SFW資料結構及SFW碼(亦即機器可執行指令)。如此處使用,操作為SFW域之部分的一邏輯處理器可為具有存取SFW域之SFW資源的一邏輯處理器。於若干實施例中,SFW域之SFW資源(例如SFW資料結構及SFW碼)可儲存於針對SFW域之一系統管理記憶體區域(例如SMRAM)。於此等實施例中,操作為SFW域部分的一邏輯處理器可為具有存取儲存於針對SFW域之該系統管理記憶體區域中之SFW資源的一邏輯處理器。操作為SFW域部分的一邏輯處理器可能不隨時存取於該系統管理記憶體區域中之SFW資源。反而,該邏輯處理器可於某些時間(例如啟動期間)於某個(某些)模式(例如系統管理模式(SMM))等存取。於此處描述的實施例中,具有如此有限存取的一邏輯處理器仍可視為於該系統管理記憶體區域中具有存取該等SFW資源。於若干實施例中,該系統管理記憶體區域可為安裝於一刀鋒式殼體中的至少一 個刀鋒式裝置之一機器可讀取儲存媒體之至少一部分,及包括具有存取該區的邏輯處理器。
SFW資料結構例如可包括高階組態及功率介面(ACPI)表、系統管理BIOS(SMBIOS)表、記憶體資料結構、中斷向量、號誌等或其組合。SFW資料結構可藉執行SFW案例指令之邏輯處理器而生成及儲存於該系統管理記憶體區域中。SFW碼可包括具現中斷服務常式之可執行指令,諸如系統管理中斷(SMI)處理器等。SFW碼可包括具現錯誤處理器之可執行指令。SFW碼可為複製入系統管理記憶體區域內的SFW案例之指令。
於圖1之實施例中,SFW案例121之指令係可藉刀鋒式系統100執行。舉例言之,刀鋒式系統100之擴充邏輯處理器132及運算邏輯處理器142可提取、解碼、及執行SFW案例121之指令以執行後文關聯SFW案例121描述的功能。於圖1之實施例中,於刀鋒式系統100之至少部分復置之後當藉邏輯處理器132及142執行時(例如分區跑OS 115),指令122可組配運算刀鋒式裝置140之運算邏輯處理器142及擴充刀鋒式裝置130之擴充邏輯處理器132以操作為與SFW案例121相聯結的單一SFW域之部分。於此處描述的實施例中,組配以操作為單一SFW域之部分(亦即相同SFW域)的邏輯處理器可為各自組配以存取該SFW域之SFW資源之邏輯處理器。舉例言之,該等邏輯處理器可各自存取(例如於SMM)針對該SFW域儲存SFW資源的該系統管理記憶體區域。
於若干實施例中,邏輯處理器可經組配以藉使用相同SFW案例121啟動各個邏輯處理器而操作為相同SFW域之部分。於圖1之實施例中,擴充及運算邏輯處理器132及142可經組配以藉使用SFW案例121啟動擴充及運算邏輯處理器132及142各自而操作為與SFW案例121相聯結的SFW域(亦即相同SFW域)之部分。於此等實施例中,擴充及運算邏輯處理器132及142各自可藉執行SFW案例121之指令含指令122組配邏輯處理器而啟動,以操作為與SFW案例121相聯結的SFW域之部分。
舉例言之,當藉擴充及運算邏輯處理器132及142執行時,指令122可組配擴充及運算邏輯處理器132及142之個別硬體位址對映圖為相同。舉例言之,指令122可組配個別硬體位址對映圖,使得擴充及運算邏輯處理器132及142各自存取該系統管理記憶體區域中之相同SFW資源。舉例言之,指令122可組配個別硬體位址對映圖,使得擴充及運算邏輯處理器132及142存取該系統管理記憶體區域中之相同SFW碼(例如SMI處理器等)。指令122也可組配邏輯處理器132及142以針對與SFW案例121相聯結的SFW域存取相同狀態資訊,包括例如有關擱置中斷、負載驅動器、負載ACPI表等之資訊,或其組合。
如前記,OS 115可由刀鋒式系統100之含至少擴充及運算刀鋒式裝置130及140的一分區跑。於此等實施例中,該分區可以擴充及運算刀鋒式裝置130及140各自的資源跑OS 115。於圖1之實施例中,當藉邏輯處理器132及142 執行時,指令124可辨識與運算邏輯處理器142相聯結的運算刀鋒式裝置140之可用記憶體,及辨識與擴充邏輯處理器132相聯結的擴充刀鋒式裝置130之可用記憶體。於若干實施例中,藉指令124辨識的記憶體可為欲為由刀鋒式系統100的OS諸如OS 115所可利用的記憶體。
於若干實施例中,運算邏輯處理器142可執行指令124可辨識與運算邏輯處理器142相聯結的記憶體144中之可用記憶體。舉例言之,運算邏輯處理器142可執行指令124作為其啟動程序之一部分。於此等實施例中,指令124可決定與邏輯處理器142相聯結的記憶體144之量,及然後測試記憶體144以決定記憶體144的哪個部分為有用(亦即有功能)。於若干實施例中,指令124可辨識記憶體144的經決定為OS 115所可利用的記憶體(亦即可用記憶體)之至少部分。舉例言之,運算邏輯處理器142可保留有用的記憶體144之一部分供由運算邏輯處理器142(例如當執行SFW案例121之指令時)使用,及辨識有用的記憶體144之其餘部分為由OS 115所可利用。
運算邏輯處理器142執行指令124,也可儲存該經識別的可用記憶體之描述於刀鋒式裝置140之一服務記憶體。於此等實施例中,刀鋒式裝置140之一服務記憶體當執行管理韌體之一案例的指令時,可存取該描述且提供給負責協調該分區的啟動以跑OS 115的一主宰邏輯處理器(例如自我啟動邏輯處理器)。擴充邏輯處理器132也可執行指令124以辨識在與擴充邏輯處理器132相聯結的記憶體134 中為由OS 115所可利用的記憶體(例如可用記憶體),如前文關聯運算邏輯處理器142描述。擴充邏輯處理器132執行指令124也可儲存該經識別的可用記憶體之一描述於刀鋒式裝置130之一服務記憶體,使得當執行管理韌體之一案例的指令時,刀鋒式裝置130之一服務記憶體可提供該描述給一主宰邏輯處理器。該經識別的可用記憶體之描述可呈任何合宜資料結構或格式(例如表等)。
於若干實施例中,擴充邏輯處理器132執行SFW案例121之指令,可存取描述擴充刀鋒式裝置130所屬該分區之組態的至少若干面向之分區資訊。舉例言之,該分區資訊可指示刀鋒式裝置130是否被指定為該分區的一擴充或運算刀鋒式裝置。舉例言之,該分區資訊可包括一旗標指示刀鋒式裝置130是否被指定為該分區的一擴充或運算刀鋒式裝置。如前述,該分區資訊可被儲存於例如系統管理記憶體區域或儲存於擴充刀鋒式裝置130之服務記憶體。例如,在辨識記憶體134之可用記憶體之後,或在分區的控制交接給OS 115之前,擴充邏輯處理器132可存取該分區資訊。
應答於決定刀鋒式裝置130為一擴充刀鋒式裝置,擴充邏輯處理器132可執行指令126使擴充邏輯處理器132為OS 115所不可利用,使得擴充邏輯處理器132維持可用以執行SFW案例121之指令。舉例言之,指令126當由擴充邏輯處理器132執行時,可使得擴充邏輯處理器132進入一系統管理模式(SMM),及當OS 115係藉至少運算邏輯處 理器142執行時維持於該SMM。於此等實施例中,指令126當藉邏輯處理器132執行時,可使得擴充邏輯處理器132進入SMM,及當該OS係藉該分區之其它邏輯處理器(亦即該分區之運算邏輯處理器)執行時,可使得擴充邏輯處理器132維持於SMM。
於此處描述的實施例中,一系統管理模式(SMM)可為一模式其中一邏輯處理器執行其中該邏輯處理器係經組配以操作的一SFW域的SFW碼。於SMM中,擴充邏輯處理器132可存取與SFW案例121相聯結的SFW域之該系統管理記憶體區域(例如SMRAM),及可執行儲存於系統管理記憶體區域的SFW碼(例如SFW案例121之指令)。於SMM中,擴充邏輯處理器132不可由OS 115所運用以跑OS 115之任何部分或例如於OS 115中跑的一應用程式之任何部分。
又復,於SMM中,擴充邏輯處理器132維持可用以執行SFW案例121之指令,諸如應答於偵測得SMI,一SMI處理器的指令,及應答於錯誤指示,一錯誤處理器之指令。於此等實施例中,SMI處理器的指令及錯誤處理器之指令可為SFW案例121之指令,且於啟動處理期間可已經複製入該系統管理記憶體區域。於此等實施例中,於SMM中,擴充邏輯處理器132可執行來自該系統管理記憶體區域中之此等指令。
於其它實施例中,指令126可使得擴充邏輯處理器132為OS 115所不可利用,使得維持以任何其它合宜方式而可用以執行SFW案例121之指令。舉例言之,指令126可 使得擴充邏輯處理器132執行藉SFW案例121之指令具現的一迴圈,使得擴充邏輯處理器132維持執行SFW案例121之指令,及如前文描述,變得離開該迴圈以執行其它SFW碼,諸如SMI或錯誤處理器。
於圖1之實施例中,指令128可使得運算邏輯處理器142、該運算刀鋒式裝置之該經識別的記憶體、及該擴充刀鋒式裝置之該經識別的記憶體為由OS 115所可利用。舉例言之,運算邏輯處理器142可為針對該分區的主宰邏輯處理器。於此等實施例中,當藉運算邏輯處理器142執行時,藉由提供識別此等資源的資訊給OS 115,指令128可使得運算邏輯處理器142、該運算刀鋒式裝置之該經識別的記憶體、及該擴充刀鋒式裝置之該經識別的記憶體為由OS 115所可利用。
識別此等資源之資訊可以任何合宜格式或資料結構(例如表等)提供給OS 115。舉例言之,指令128可於至少一個ACPI表中提供此項資訊給OS 115。於若干實施例中,部分基於記憶體134之經識別的可用記憶體的描述及記憶體144之經識別的可用記憶體的描述,指令128可建構該(等)ACPI表。於此等實施例中,如前文描述,與其它刀鋒式裝置之邏輯處理器相聯結的記憶體之描述也可透過服務記憶體及服務處理器提供給該主宰邏輯處理器。此外,指令128可從該(等)ACPI表排除擴充邏輯處理器132之任何識別,使得擴充邏輯處理器132不被辨識為可供OS 115所用。
於運算邏輯處理器142及該等運算及擴充刀鋒式 裝置之一經識別的記憶體為由該OS所可利用之後,利用藉指令128識別給OS 115的該等資源,OS 115可在該分區上跑。舉例言之,OS 115可使用運算邏輯處理器142及記憶體134及144的該經識別的可用記憶體執行與跑應用程式,而擴充邏輯處理器132為OS 115或藉OS 115跑的任何應用程式所不可利用。於若干實施例中,關聯圖1於此處描述的功能可組合關聯圖2-5中之任一者於此處描述的功能提供。
圖2為刀鋒式系統200之實施例之方塊圖,該系統使得多個邏輯處理器為由一OS所不可利用,同時保持可用以執行一SFW案例之指令。於圖2之實施例中,刀鋒式系統200包含一刀鋒式殼體205,及安裝於刀鋒式殼體205之刀鋒式裝置230及240。刀鋒式裝置230於此處可稱為擴充刀鋒式裝置230,及刀鋒式裝置240於此處可稱為運算刀鋒式裝置240。如前文參考圖1所述,刀鋒式系統200可以刀鋒式裝置230及240各自的資源跑OS 115。舉例言之,OS 115可由包括至少刀鋒式裝置230及240之刀鋒式系統200之一分區跑。
於圖2之實施例中,如前文關聯圖1描述,擴充刀鋒式裝置230可包括一邏輯處理器132及與邏輯處理器132相聯結的記憶體134。擴充刀鋒式裝置230也可包括與刀鋒式裝置230之記憶體238相聯結的一擴充邏輯處理器236。於其它實施例中,刀鋒式裝置230可包括多於兩個邏輯處理器,其中部分或全部具有相聯結的記憶體。如前文關聯圖1描述,運算刀鋒式裝置240可包括一邏輯處理器142及與邏輯處理器142相聯結的記憶體144。運算刀鋒式裝置240也可 包括與刀鋒式裝置240之記憶體248相聯結的一運算邏輯處理器246。於其它實施例中,刀鋒式裝置240可包括多於兩個邏輯處理器,其中部分或全部具有相聯結的記憶體。
如前文關聯圖1描述,刀鋒式系統200也包括以含指令122、124、126及128的SFW案例121編碼之一機器可讀取儲存媒體120。於圖2之實施例中,SFW案例121可進一步包括至少指令。於若干實施例中,SFW案例121可包括額外指令。SFW案例121之指令係可藉刀鋒式系統200執行。SFW案例121之指令係可藉邏輯處理器132、236、142及246執行以從事後文關聯SFW案例121描述的功能。
於圖2之實施例中,於刀鋒式系統200之至少一部分(例如跑OS 115的該分區)復置之後,如前文關聯圖1之刀鋒式系統100之描述,指令122可組配運算刀鋒式裝置240之運算刀鋒式裝置140及246各自及擴充刀鋒式裝置230之擴充邏輯處理器132及236各自以操作為與SFW案例121相聯結的單一SFW域之部分。例如,藉使用SFW案例121啟動邏輯處理器132、236、142及246中之各者,邏輯處理器132、236、142及246可經組配以操作為與SFW案例121相聯結的的一SFW域之部分(亦即操作為相同SFW域之部分)。
於圖2之實施例中,如前文關聯圖1描述,針對該等第一及第二多個邏輯處理器之各個邏輯處理器,指令124可辨識與該邏輯處理器相聯結的可用記憶體。舉例言之,當執行指令124時,擴充邏輯處理器132及236可辨識記憶體134及238的可用記憶體,及運算邏輯處理器142及246可辨 識記憶體144及248的可用記憶體。此外,當執行指令124時,擴充邏輯處理器132及236可將該經識別的可用記憶體之描述256儲存於刀鋒式裝置230之一服務記憶體235。描述256可為藉邏輯處理器132及236各自辨識的記憶體之單一描述,或可為藉各個邏輯處理器辨識的記憶體之分開描述。其中刀鋒式裝置240包括針對含刀鋒式裝置230及240之刀鋒式系統200之一分區的該主宰邏輯處理器(例如邏輯處理器142)之實施例中,執行管理韌體指令的刀鋒式裝置230之一服務處理器可提供描述256給刀鋒式裝置240。於此等實施例中,刀鋒式裝置230之該服務處理器可提供描述256給刀鋒式裝置240之一服務處理器,其可將所接收的描述256儲存於刀鋒式裝置240之一服務記憶體245,於該處描述256為該主宰邏輯處理器(例如邏輯處理器142)所能存取。於此等實施例中,在與該主宰邏輯處理器相同刀鋒式裝置上的邏輯處理器可以任何合宜方式通訊經識別的記憶體之描述給該主宰邏輯處理器。於其它實施例中,該等第一及第二多個邏輯處理器當執行指令124時,可將經識別的可用記憶體之描述儲存於該分區之一分享記憶體區域。於此等實施例中,該分享記憶體區域可藉一個刀鋒式裝置之記憶體具現,或藉該分區之多個刀鋒式裝置中之各者的記憶體區域具現。於此處描述的實施例中,一服務處理器可為CPU、以半導體為基礎之微處理器、適用以取回與執行儲存在一機器可讀取儲存媒體上的指令之其它電子電路、或其組合中之至少一者。
如前記,OS 115可藉含至少刀鋒式裝置230及240的刀鋒式系統200之一分區跑。於此等實施例中,該分區可以刀鋒式裝置230及240各自之資源跑OS 115。於此等實施例中,刀鋒式系統200可儲存描述該分區之組態的面向之分區資訊。於圖2之實施例中,在該分區的控制交接給OS 115之前,指令225可存取分區資訊237指定刀鋒式裝置230為一擴充刀鋒式裝置。於若干實施例中,刀鋒式裝置230可包含刀鋒式系統200之第一多個邏輯處理器包括例如邏輯處理器132及236。指令225可存取分區資訊247指定刀鋒式裝置240為一運算刀鋒式裝置。於若干實施例中,刀鋒式裝置240可包含刀鋒式系統200之第二多個邏輯處理器包括例如邏輯處理器142及246。
於若干實施例中,分區資訊237可為針對該分區之該分區資訊的一部分,且可包括刀鋒式裝置230有關的組態資訊。刀鋒式裝置230可使用刀鋒式裝置230之一服務處理器存取針對該分區之該分區資訊且將分區資訊237儲存於刀鋒式裝置230的服務記憶體235。於若干實施例中,分區資訊247可為針對該分區之該分區資訊的一部分,且可包括刀鋒式裝置240有關的組態資訊。運算刀鋒式裝置240可使用刀鋒式裝置240之一服務處理器存取針對該分區之該分區資訊且將分區資訊247儲存於刀鋒式裝置240的服務記憶體245。於此等實施例中,擴充邏輯處理器132及236各自執行指令225可存取分區資訊237,及基於分區資訊237,決定刀鋒式裝置230被指定作為一擴充刀鋒式裝置(亦即指定 作為一刀鋒式裝置以提供記憶體供由該OS使用及不提供邏輯處理器供由該OS使用)。此外,運算邏輯處理器142及246各自執行指令225可存取分區資訊247,及基於分區資訊247,決定刀鋒式裝置240被指定作為一擴充刀鋒式裝置(亦即指定作為一刀鋒式裝置以提供記憶體供由該OS使用及不提供邏輯處理器供由該OS使用)。
在決定包括該等第一多個邏輯處理器(亦即邏輯處理器132及236)的刀鋒式裝置230係被指定作為一擴充刀鋒式裝置之後,指令126可使得該等第一多個邏輯處理器各自為OS所不可利用,使得其各自仍維持為SFW案例之指令所可用,如前文關聯圖1描述。舉例言之,邏輯處理器132及236各自可執行指令126以進入SMM且保持SMM而OS 115係藉該分區執行。
於其它實施例中,被指定作為一擴充刀鋒式裝置之刀鋒式裝置230的該等邏輯處理器中之一者可為OS 115所不可利用,使得其仍維持為SFW案例121之指令所可用,而刀鋒式裝置230的其它邏輯處理器中之一者可為OS 115所不可利用,使得其不能維持為SFW案例121之指令所可用。舉例言之,擴充刀鋒式裝置230之邏輯處理器的其餘部分可置於暫停態、啟動態(例如等待啟動處理器間中斷(SIPI))等。於此等實施例中,維持可用以執行SFW案例121之指令的該一個邏輯處理器可用於刀鋒式裝置的管理。於包括多個擴充刀鋒式裝置之實施例中,例如各個擴充刀鋒式裝置之一個邏輯處理器可維持可用以執行SFW案例121 之指令。
於圖2之實施例中,指令128可使得第二多個邏輯處理器各自、與第一多個邏輯處理器各自相聯結的該經識別的記憶體、及與第二多個邏輯處理器各自相聯結的該經識別的記憶體為由OS 115所可利用。如前文關聯圖1描述,指令128可使得此等資源為由OS 115所可利用。舉例言之,指令128可生成至少一個欲提供給OS 115的ACPI表252。
於若干實施例中,運算邏輯處理器142可為針對該分區的主宰邏輯處理器以跑OS 115。於此等實施例中,當藉運算邏輯處理器142執行時,於ACPI表252中之至少一者,指令128可指示擴充及運算邏輯處理器132及142係可供OS 115使用。指令128也可指示ACPI表252中之至少一者運算刀鋒式裝置240之該經識別的記憶體及擴充刀鋒式裝置230之該經識別的記憶體係可供OS 115使用。運算刀鋒式裝置240之該經識別的記憶體可包括刀鋒式裝置240之記憶體144及248中之該經識別的可用記憶體;及擴充刀鋒式裝置230之該經識別的記憶體可包括刀鋒式裝置230之記憶體134及238中之該經識別的可用記憶體。
指令128可進一步儲存ACPI表於可存取OS 115的一記憶體區域250,故OS 115可運用於該(等)ACPI表中識別的資源。於此等實施例中,該(等)ACPI表各自可排除有關擴充邏輯處理器132及238(例如第一多個邏輯處理器各自)之任何資訊。藉此方式,不讓OS 115知曉擴充邏輯處理器132及236。於若干實施例中,指令128可於該(等)ACPI 表252中進一步提供鄰近域資訊給擴充刀鋒式裝置230之該經識別的記憶體。於此等實施例中,該鄰近域資訊可指示來自刀鋒式裝置240之運算邏輯處理器的功能距離給該擴充刀鋒式裝置230之該經識別的記憶體。於若干實施例中,關聯圖2於此處描述的功能可組合關聯圖1及3-5中之任一者於此處描述的功能提供。
圖3為系統300之一實施例之方塊圖,以將系統300之一分區的一OS可利用運算及擴充刀鋒式裝置之記憶體。於圖3之實施例中,系統300(例如刀鋒式系統300)包含一刀鋒式殼體305,及安裝於刀鋒式殼體305內之刀鋒式裝置330、340及370。於其它實施例中,系統300可包括安裝於刀鋒式殼體305中之更多或更少的刀鋒式裝置。刀鋒式裝置330可於此處稱作擴充刀鋒式裝置330,及刀鋒式裝置340可於此處稱作擴充刀鋒式裝置340。
於圖3之實施例中,擴充刀鋒式裝置330包含一邏輯處理器332、與邏輯處理器332相聯結的記憶體334、管理記憶體334之一記憶體控制器331、及一節點控制器333。邏輯處理器332可於此處稱作擴充邏輯處理器332。記憶體控制器331及擴充邏輯處理器332可集積成單一CPU IC。舉例言之,記憶體控制器331可集積於包含或組成邏輯處理器332的一CPU IC。於若干實施例中,含邏輯處理器332及記憶體控制器331的該CPU IC也可包括額外記憶體控制器以管理刀鋒式裝置330之其它記憶體。於若干實施例中,刀鋒式裝置330可包括多個邏輯處理器,其中部分或全部具有相 聯結的記憶體。
運算刀鋒式裝置340包含一邏輯處理器342、與邏輯處理器342相聯結的記憶體344、管理記憶體344之一記憶體控制器341、及一節點控制器343。邏輯處理器342可於此處稱作運算邏輯處理器342。記憶體控制器341及運算邏輯處理器342可集積成單一CPU IC。舉例言之,記憶體控制器341可集積於包含或組成邏輯處理器342的一CPU IC。於若干實施例中,含邏輯處理器342及記憶體控制器341的該CPU IC也可包括額外記憶體控制器以管理刀鋒式裝置340之其它記憶體。於若干實施例中,刀鋒式裝置340可包括多個邏輯處理器,其中部分或全部具有相聯結的記憶體。記憶體控制器331及341及節點控制器333及343各自的功能可以電子電路形式、以於一機器可讀取儲存媒體上編碼的可執行指令形式或其組合具現。
如前文關聯圖1描述,以刀鋒式裝置330及340各自之資源刀鋒式系統300可跑一OS 115。舉例言之,OS 115可由藉含至少刀鋒式裝置330及340的刀鋒式系統300之一分區308跑。於圖3之實施例中,分區308可刪除系統300之至少一個刀鋒式裝置,例如刀鋒式裝置390。於其它實施例中,分區308可包括安裝於刀鋒式殼體305的額外刀鋒式裝置。
於圖3之實施例中,刀鋒式系統300包括以含指令322、324、326、328、329、360、362、364、及366之一SFW案例321編碼的韌體記憶體320。於若干實施例中,SFW案 例321可包括額外指令。SFW案例321之指令可由刀鋒式系統300執行。例如,SFW案例321之指令可藉分區308之邏輯處理器(例如邏輯處理器332及342)可執行以從事後文關聯於SFW案例321描述的功能。於圖3之實施例中,SFW案例321可執行以啟動分區308以執行OS 115。
於若干實施例中,SFW案例321之指令可儲存於單一刀鋒式裝置之單一機器可讀取儲存媒體(例如快閃裝置)。於此等實施例中,刀鋒式殼體記憶體320可為單一刀鋒式裝置之記憶體。於其它實施例中,分區308之各個刀鋒式裝置可包括一個別機器可讀取儲存媒體,儲存SFW案例321之至少一部分的一複本。於此等實施例中,刀鋒式殼體記憶體320可包括個別記憶體各自儲存SFW案例321之一部分的一複本。於此等實施例中,各個刀鋒式裝置之各個邏輯處理器可至少開始從SFW案例321之一部分的一本地複本啟動。於此等實施例中,邏輯處理器隨後會聚而繼續從儲存在一分享記憶體區域的SFW案例321之一分享部分啟動。
於圖3之實施例中,SFW案例321係可藉分區308之各個邏輯處理器執行以在復置之後啟動該等邏輯處理器。舉例言之,於至少分區308之復置之後,如前文關聯圖1描述,當藉擴充及運算邏輯處理器332及342執行時,指令322可組配擴充及運算邏輯處理器332及342以操作為與SFW案例321相聯結的單一SFW域之部分。於若干實施例中,當藉邏輯處理器332及342執行時,指令322可組配擴充 及運算邏輯處理器332及342,各自當於SMM時存取分區308之一系統管理記憶體區域357。舉例言之,指令322可組配邏輯處理器332及342之個別硬體位址對映圖,使得至少當於SMM時,邏輯處理器332及342存取與SFW案例321相聯結的該SFW域之系統管理記憶體區域357(例如SMRAM)。於此等實施例中,如前文關聯圖1描述(當於SMM時存取),邏輯處理器332及342限制存取系統管理記憶體區域357。於若干實施例中,系統管理記憶體區域357可為記憶體344之一部分。於其它實施例中,系統管理記憶體區域357可為藉分區308之任何刀鋒式裝置的任何記憶體具現之一區域。
於圖3之實施例中,與SFW案例321相聯結的該SFW域可包含多個SFW資源,如前文關聯圖1描述。於此等實施例中,SFW資源可包括儲存於系統管理記憶體區域357的SFW資料結構351及SFW碼,如前文關聯圖1描述。於圖3之實施例中,SFW碼可包括儲存於系統管理記憶體區域357的SMI處理器353。當藉擴充及運算邏輯處理器332及342執行時,指令322可組配邏輯處理器332及342各自以於SMM存取儲存於系統管理記憶體區域357的SFW資料結構351及SMI處理器353。
指令324當藉擴充邏輯處理器332執行時,可辨識與擴充邏輯處理器332相聯結的擴充刀鋒式裝置330之可用記憶體359,如前文關聯圖1之指令124描述。可用記憶體359可為記憶體334之一部分。此外,當藉運算邏輯處理器342執行時,指令324可辨識與擴充邏輯處理器342相聯結的擴 充刀鋒式裝置340之可用記憶體355,如前文關聯圖1之指令124描述。可用記憶體355可為記憶體344之一部分,其不包括系統管理記憶體區域357,可已經藉運算邏輯處理器342保留。
於圖3之實施例中,當藉擴充邏輯處理器332執行時,指令326可通訊擴充刀鋒式裝置330之經識別的記憶體359的一描述給運算邏輯處理器342。於此等實施例中,運算邏輯處理器342可為主宰邏輯處理器以協調分區308之啟動,及如前文描述,藉儲存該描述於刀鋒式裝置330之一服務記憶體或儲存於可存取運算邏輯處理器342的分區308之一分享記憶體區域,指令326可通訊該描述。
當藉運算邏輯處理器342執行時,指令360可組配運算刀鋒式裝置340以路徑安排靶定擴充刀鋒式裝置330之該可用記憶體359的記憶體異動通過節點控制器333及343。舉例言之,指令360可設定於運算邏輯處理器342中的路由表以路徑安排靶定該經識別記憶體359的記憶體異動通過節點控制器343,及可設定於節點控制器343中的路由表以路徑安排靶定該經識別記憶體359的記憶體異動通過刀鋒式裝置330之節點控制器333。於若干實施例中,當藉擴充邏輯處理器332執行時,指令360可組配於節點控制器333中的路由表,使得節點控制器333可路徑安排靶定該記憶體(例如透過記憶體控制器331)的記憶體異動至經識別的記憶體359。
如前文描述,在儲存經識別的記憶體359之該描 述之後,擴充邏輯處理器332可執行指令362以隱藏擴充刀鋒式裝置330之經識別的記憶體359為擴充邏輯處理器332所不可見。舉例言之,當藉邏輯處理器332執行時,指令362可設定邏輯處理器332之來源位址解碼器,使其無法存取任何經識別的記憶體359。於此等實施例中,指令362可設定邏輯處理器332之來源位址解碼器,使其不含在記憶體334之該經識別的記憶體359中的任何位址之位址平移。藉此方式,指令326可對OS 115所可利用的經識別的記憶體359建防火牆隔開邏輯處理器332。於此等實施例中,擴充邏輯處理器332可為OS 115所不可利用(容後詳述),及為由OS 115所可利用的經識別的記憶體359可變成為擴充邏輯處理器332所不可利用。於若干實施例中,指令360可接收將為由OS 115所可利用的經識別的記憶體359之一擇定部分之一指示,且可隱藏該擇定部分為邏輯處理器332所不可見但非其餘部分。
於圖3之實施例中,擴充邏輯處理器332可執行指令328以隱藏擴充邏輯處理器332為OS 115所不可見,使得該擴充邏輯處理器為OS 115所不可利用,而其餘部分為可利用以執行SFW案例321之指令。於此等實施例中,邏輯處理器332可存取分區資訊以決定刀鋒式裝置330(亦即包含邏輯處理器332之該刀鋒式裝置)係指定作為擴充刀鋒式裝置,及應答之,執行指令328以使其本身為OS 115所不可利用,而其餘部分為可利用以執行SFW案例321之指令,如前文關聯圖1描述。舉例言之,當藉邏輯處理器332執行時, 指令328可使得擴充邏輯處理器332進入SMM,及當OS 115藉分區308包括至少運算邏輯處理器342執行時維持於SMM。當OS 115執行時,擴充邏輯處理器332可進入且維持於SMM,如前文關聯圖1描述。於若干實施例中,在擴充邏輯處理器332從事前文關聯指令322、324、326、360及362描述的功能之後,指令328可隱藏擴充邏輯處理器332。
於圖3之實施例中,當藉運算邏輯處理器342執行時,指令329可使運算邏輯處理器342及經識別的記憶體359及355為由OS 115所可利用,如前文關聯圖1及2描述。例如,指令328可儲存ACPI表於可存取OS 115的記憶體一區內,該ACPI表包括有關運算邏輯處理器342及經識別的記憶體359及355之資訊,但排除有關擴充邏輯處理器332之任何資訊。
於若干實施例中,於相同SFW域操作的邏輯處理器能夠彼此通訊。舉例言之,此等邏輯處理器可知曉彼此的位址,且可使用該等位址發送通訊(例如中斷等)給彼此。於此等實施例中,邏輯處理器可利用此等通訊協調包括該等邏輯處理器之一分區的錯誤處理。
於圖3之實施例中,於啟動OS 115以使用運算邏輯處理器342及經識別的記憶體355及359(而不使用擴充邏輯處理器332)在分區308上跑之後,運算邏輯處理器342可偵測錯誤,諸如記憶體錯誤等。應答於該錯誤之偵測,運算邏輯處理器342可執行指令364,以提供一中斷指示該偵測得之錯誤給擴充邏輯處理器332。舉例言之,指令364可 提供該中斷至邏輯處理器332之位址。於若干實施例中,當啟動分區308時,指令364可已經複製入系統管理記憶體區域357。於此等實施例中,當以SMM操作時運算邏輯處理器342可執行來自系統管理記憶體區域357的指令364,其中OS 115之執行被擱置,及邏輯處理器342已存取指令364。
如前文描述,擴充邏輯處理器332可於SMM或否則為OS 115所不可利用,同時維持可用以執行SFW案例321之指令。於此等實施例中,擴充邏輯處理器332可能無法被中斷。於若干實施例中,當執行SFW案例321之指令時,擴充邏輯處理器332可輪詢中斷來源(例如中斷懸置暫存器等)之中斷指示,及當執行此種輪詢時可偵測由運算邏輯處理器342提供的中斷。舉例言之,擴充邏輯處理器332執行SFW案例321之指令,當輪詢系統管理記憶體區域357之狀態資訊時可偵測該中斷,其可指示該中斷為懸置。指令366可藉擴充邏輯處理器332執行以應答於偵測得來自運算邏輯處理器342之中斷,收集來自與擴充邏輯處理器332相聯結的暫存器之錯誤資訊382。舉例言之,指令366可收集得自包含(或組成)擴充邏輯處理器332的一CPU IC之機器狀態暫存器(MSR)的錯誤資訊382(例如錯誤日誌等)。於若干實施例中,除了提供中斷之外,運算邏輯處理器342可提供一訊息載明應答於該錯誤時,擴充邏輯處理器332將採取的某些錯誤校正動作,諸如收集錯誤資訊。舉例言之,運算邏輯處理器342可儲存該訊息於系統管理記憶體區域357,及擴充邏輯處理器332可針對此等訊息而輪詢系統管理記憶體 區域357。於此等實施例中,藉擴充邏輯處理器332執行的指令366可進一步提供所收集的錯誤資訊382給刀鋒式系統300之一偵錯管理基礎架構(FMI)375。FMI 375之功能可以電子電路形式、以編碼於一機器可讀取儲存媒體上的可執行指令形式、或其組合具現。於若干實施例中,當啟動分區308時,指令366可已經複製入系統管理記憶體區域357內,及當於SMM時擴充邏輯處理器332可從系統管理記憶體區域357中執行指令366。於若干實施例中,執行SFW案例321之指令的擴充邏輯處理器332可輪詢各種錯誤來源(例如錯誤暫存器等)以偵測錯誤。
於前文描述的實施例中,分區308可利用OS 115所不可用的一擴充邏輯處理器以針對分區308收集錯誤資訊。舉例言之,運算邏輯處理器342當執行OS 115或在OS 115中跑的一應用程式時,可偵測利用擴充刀鋒式裝置359的可用記憶體359時之一記憶體錯誤。包括(或組成)擴充邏輯處理器332的該CPU IC之機器狀態暫存器(MSR)可包括錯誤管理有用的資訊。但此等MSR可排它地藉在該CPU IC上的一邏輯處理器(例如CPU或核心)存取,而例如不存取運算邏輯處理器342。於此處描述的實施例中,藉將擴充邏輯處理器332維持可用以執行SFW案例321之指令,擴充邏輯處理器332仍可用以從MSR收集錯誤資訊,及提供給FMI 375以供管理錯誤,如前文描述,即使擴充邏輯處理器332為OS 115所不可利用亦復如此。於此等實施例中,當執行SFW案例321之指令時,擴充邏輯處理器332可收集與提供 該錯誤資訊。如前文描述,擴充邏輯處理器332執行SFW案例321之指令,藉輪詢中斷來源以偵測中斷可檢知中斷。於此等實施例中,藉不輪詢可能來自於OS 115的任何中斷,擴充邏輯處理器332執行SFW案例321之指令可維持無法藉OS 115所中斷。藉此方式,擴充邏輯處理器332(及此處描述的任何其它擴充邏輯處理器)可忽略來自OS 115的中斷。於若干實施例中,關聯圖3於此處描述的功能可組合關聯圖1-2及4-5中之任一者於此處描述的功能提供。
圖4為用以於使用一運算邏輯處理器執行一OS期間,保持一擴充邏輯處理器於SMM之方法400實施例之流程圖。雖然方法400之執行於後文係參考圖3之刀鋒式系統300描述,但可運用其它合宜系統以執行方法400(例如刀鋒式系統100或200)。此外,方法400之具現並不限於此等實施例。
於方法400之405,在至少分區308復置之後,藉邏輯處理器332及342執行的指令324可辨識與運算邏輯處理器342相聯結的運算刀鋒式裝置340之可用記憶體355及與擴充邏輯處理器332相聯結的擴充刀鋒式裝置330之可用記憶體359,如前文描述。於410,藉運算邏輯處理器342執行的指令329如前文描述,可使得運算邏輯處理器342、運算刀鋒式裝置340之經識別的記憶體355、及擴充刀鋒式裝置330之經識別的記憶體359為由OS 115所可利用。
於415,在藉分區308執行OS 115開始之前,藉擴充邏輯處理器332執行的指令328可將擴充邏輯處理器332 置於SMM。如前文描述,應答於決定刀鋒式裝置330被指定為一擴充刀鋒式裝置,指令328可使得擴充邏輯處理器332進入SMM。
於420,分區308可以至少運算邏輯處理器342開始執行OS 115。舉例言之,如前文描述,分區308可以SFW案例321啟動OS 115,及然後藉運算邏輯處理器342使用分區308為由OS 115所可用的資源(例如於提供給OS 115的ACPI表,如前文描述)開始執行OS 115。於此等實施例中,分區308可以至少運算邏輯處理器342及經識別的記憶體355及359執行OS 115,而擴充邏輯處理器332為OS 115所不可利用。於若干實施例中,分區308也可以額外分區308之資源執行OS 115,諸如分區308之刀鋒式裝置的其它記憶體及分區308之其它運算邏輯處理器。
於425,指令328藉擴充邏輯處理器332執行時可於OS 115執行期間保持擴充邏輯處理器332於SMM,使得擴充邏輯處理器332為OS 115所不可利用。於此等實施例中,藉將擴充邏輯處理器332維持於SMM,擴充邏輯處理器332可維持可用以執行SFW案例321之指令而其為OS 115所不可利用。當於SMM時,如前文描述,擴充邏輯處理器332也為OS 115所不可用以中斷。
雖然圖4之流程圖顯示某些功能表現之特定順序,但方法400並不限於該順序。舉例言之,流程圖中依序顯示的功能可以不同順序進行,可併同地或部分同時進行,或其組合。於若干實施例中,關聯圖4於此處描述的功 能可組合關聯圖1-3及5中之任一者於此處描述的功能提供。
圖5為應答於藉一運算邏輯處理器偵測得一錯誤用以使用一擴充邏輯處理器收集錯誤資訊之方法500實施例之流程圖。雖然方法500之執行係於後文參考圖3之刀鋒式系統300描述,但可利用執行方法500之其它合宜系統(例如刀鋒式系統100或200)。此外,方法500之具現並不限於此等實施例。
於方法500之505,於至少分區308之復置之後,由邏輯處理器332及342執行的指令324如前文描述,可辨識與運算邏輯處理器342相聯結的運算刀鋒式裝置340之可用記憶體355及與擴充邏輯處理器332相聯結的擴充刀鋒式裝置330之可用記憶體359。於510,如前文關聯圖3描述,指令360可組配運算刀鋒式裝置340以安排路徑靶定擴充刀鋒式裝置330之經識別的記憶體359的記憶體異動通過運算刀鋒式裝置340之節點控制器343。於若干實施例中,節點控制器343可與擴充刀鋒式裝置330之節點控制器333通訊。
於515,藉運算邏輯處理器342執行的指令329,如前文描述,可使得運算邏輯處理器342、運算刀鋒式裝置340之經識別的記憶體355、及擴充刀鋒式裝置330之經識別的記憶體359為由OS 115所可利用。於520,如前文描述,於藉分區308開始執行OS 115之前,由擴充邏輯處理器332所執行的指令328可將擴充邏輯處理器332置於系統管理模式(SMM)。
於525,分區308可以至少運算邏輯處理器342開始執行OS 115。舉例言之,如前文描述,分區308可以SFW案例321啟動OS 115,及然後使用藉運算邏輯處理器342讓OS 115可利用的至少分區308之資源(例如於提供給OS 115的ACPI表,如前文描述)開始執行OS 115。於530,藉擴充邏輯處理器332執行的指令328可在OS 115之執行期間保持擴充邏輯處理器332於SMM,使得擴充邏輯處理器332為OS 115所不可利用,同時仍然維持可用以執行SFW案例321之指令。
於535,在至少運算邏輯處理器342上執行的OS 115可透過節點控制器343於OS 115的主動操作期間存取擴充刀鋒式裝置330之經識別的記憶體359。於此等實施例中,OS 115可存取經識別的記憶體359而不進入SMM,或否則擱置OS 115在執行OS 115的該等邏輯處理器中之任一者上的操作。又,於此等實施例中,運算刀鋒式裝置340可路徑安排通過節點控制器343存取經識別的記憶體359之異動。
於540,運算邏輯處理器342可偵測錯誤。舉例言之,如前文描述,當存取刀鋒式裝置330之經識別的記憶體359時,運算邏輯處理器342可偵測得出現記憶體錯誤。應答於錯誤的偵測,於545,如前文描述,運算邏輯處理器342可提供中斷給擴充邏輯處理器332。應答於中斷,於550,擴充邏輯處理器332可從與擴充邏輯處理器332相聯結的暫存器收集錯誤資訊,諸如包括或組成擴充邏輯處理器332之 CPU IC的MSR。於若干實施例中,於SMM操作的擴充邏輯處理器332可在輪詢中斷指示時偵測中斷,如前文關聯圖3描述。於555,擴充邏輯處理器332可提供所收集的錯誤資訊382給刀鋒式系統300之偵錯管理基礎架構(FMI)375。
雖然圖5之流程圖顯示某些功能執行之特定順序,但方法500並不限於該順序。例如,流程圖中接續顯示的功能可以不同順序執行,可併同執行或部分併同執行,或其組合。於若干實施例中,關係圖5於此處描述之功能可組合關聯圖1-4中之任一者於此處描述之功能提供。
115‧‧‧作業系統(OS)
300‧‧‧系統
305‧‧‧刀鋒式殼體
308‧‧‧分區
320‧‧‧刀鋒式殼體記憶體
321‧‧‧系統韌體(SFW)案例
322、324、326、328、329、360、362、364、366‧‧‧指令
330‧‧‧擴充刀鋒式裝置
331、341‧‧‧記憶體控制器
332‧‧‧擴充邏輯處理器
333、343‧‧‧節點控制器
334、344、355‧‧‧記憶體
340‧‧‧運算刀鋒式裝置
342‧‧‧運算邏輯處理器
351‧‧‧SFW資料結構
353‧‧‧SMI處理器
357‧‧‧系統管理記憶體區域
359‧‧‧可用記憶體
370‧‧‧刀鋒式裝置
375‧‧‧偵錯管理基礎架構(FMI)
382‧‧‧錯誤資訊

Claims (15)

  1. 一種以包含指令之一系統韌體(SFW)案例編碼之非暫態機器可讀取儲存媒體,該等指令可由一刀鋒式系統執行以:組配一運算刀鋒式裝置之一運算邏輯處理器及一擴充刀鋒式裝置之一擴充邏輯處理器各自以操作為與該SFW案例相關聯的一單一SFW域之部分,其中該刀鋒式系統包括安裝於一刀鋒式殼體內的該等運算及擴充刀鋒式裝置;識別與該運算邏輯處理器相關聯的該運算刀鋒式裝置之可用記憶體及與該擴充邏輯處理器相關聯的該擴充刀鋒式裝置之可用記憶體;使該運算邏輯處理器及該運算刀鋒式裝置之該經識別的記憶體及該擴充刀鋒式裝置之該經識別的記憶體為可由該刀鋒式系統之一作業系統(OS)所使用;及使該擴充邏輯處理器為該OS所不可利用,因而該擴充邏輯處理器維持可用以執行該SFW案例之指令。
  2. 如請求項1之儲存媒體,其中使得該擴充邏輯處理器變成不可利用之該等指令包含指令,其當藉該擴充邏輯處理器執行時,使得該擴充邏輯處理器進入一系統管理模式(SMM),並在該OS係藉至少該運算邏輯處理器執行時維持於該SMM。
  3. 如請求項1之儲存媒體,其中使得可資利用的該等指令 包含指令以:於至少一個高階組態及功率介面(ACPI)表中,指示該運算邏輯處理器係可供由該OS使用;於該至少一個ACPI表中,指示該運算刀鋒式裝置之該經識別的記憶體及該擴充刀鋒式裝置之該經識別的記憶體係可供由該OS使用;及將各自排除有關該擴充邏輯處理器之任何資訊的該至少一個ACPI表儲存於可存取該OS之一記憶體區域。
  4. 如請求項3之儲存媒體,其中使得可資利用的該等指令包含指令以:於該至少一個ACPI表中,針對該擴充刀鋒式裝置之該經識別的記憶體提供鄰近域資訊,該鄰近域資訊指示從該運算邏輯處理器至該擴充刀鋒式裝置之該經識別的記憶體之一功能距離。
  5. 如請求項1之儲存媒體,其中該SFW案例進一步包含藉該刀鋒式系統可執行的指令以:存取第一分區資訊,其指定該擴充刀鋒式為一刀鋒式裝置以提供記憶體供由該OS使用及不提供邏輯處理器供由該OS使用,其中該擴充刀鋒式裝置包括該刀鋒式系統之為該OS所不可利用的一第一多個邏輯處理器,及識別該刀鋒式系統之為該OS所可利用的一第二多個邏輯處理器;及存取第二分區資訊,其指定該運算刀鋒式為一刀鋒 式裝置以提供記憶體及至少一個邏輯處理器供由該OS使用,其中該運算刀鋒式裝置包括一第二多個邏輯處理器;其中該第一多個包括該擴充邏輯處理器及該第二多個包括該運算邏輯處理器。
  6. 如請求項5之儲存媒體,其中:該等識別指令包含指令以針對該等第一及第二多個邏輯處理器之各個邏輯處理器識別與該邏輯處理器相關聯的可用記憶體;該等使得為可資利用之指令包含指令以使得該等第二多個邏輯處理器之各者及與該等第一及第二多個邏輯處理器之各個邏輯處理器相關聯的該經識別的記憶體為由該OS所可用;及該等使得該擴充邏輯處理器為該OS所不可利用之指令包含指令以使得該等第一多個邏輯處理器之各者為該OS所不可利用,而各自維持為可用以執行該SFW案例之指令。
  7. 一種系統,其包含:刀鋒式殼體記憶體,其儲存一系統韌體(SFW)案例以啟動一分區以執行一作業系統(OS);該分區之一運算刀鋒式裝置之一運算邏輯處理器;及該分區之一擴充刀鋒式裝置之一擴充邏輯處理器,其中該SFW案例包含可藉該擴充邏輯處理器執行之 指令以:將與該擴充邏輯處理器相關聯的該擴充刀鋒式裝置之經識別的可用記憶體之一描述傳達給該運算邏輯處理器;及隱藏該擴充邏輯處理器為該OS所不可見,使得該擴充邏輯處理器為不可被該OS使用而維持為可用以執行該SFW案例之指令;其中該SFW案例包含可藉該運算邏輯處理器執行之指令以:識別與該運算邏輯處理器相關聯的該運算刀鋒式裝置之可用記憶體;及使該運算邏輯處理器及該等運算及擴充刀鋒式裝置各自之該經識別的記憶體為由該OS所可用。
  8. 如請求項7之系統,其中該SFW案例包含可由該等擴充及運算邏輯處理器執行的指令以:組配該等擴充及運算邏輯處理器以存取於一系統管理模式(SMM)中之一系統管理記憶體區域。
  9. 如請求項8之系統,其進一步包含:該擴充刀鋒式裝置之一第一節點控制器;及該運算刀鋒式裝置之一第二節點控制器,其中該SFW案例包含可由該運算邏輯處理器執行的指令以:組配該運算刀鋒式裝置以路徑安排靶定該擴充刀鋒式裝置之該經識別的記憶體之記憶體異動 通過該等第一及第二節點控制器。
  10. 如請求項9之系統,其中該SFW案例包含可藉該擴充邏輯處理器執行之指令以隱藏該擴充刀鋒式裝置之該經識別的記憶體為該擴充邏輯處理器所不可見。
  11. 如請求項8之系統,其中:該SFW案例包含可藉該運算邏輯處理器執行之指令以:提供指示一錯誤之一中斷給該擴充邏輯處理器;及該SFW案例包含可藉該擴充邏輯處理器執行之指令以:響應於該中斷,從與該擴充邏輯處理器相關聯的暫存器收集錯誤資訊;及提供所收集的錯誤資訊給一故障管理基礎架構。
  12. 如請求項8之系統,其中:與該SFW案例相關聯的一SFW域包含儲存於該分區之一系統管理記憶體區域的一SFW資料結構及一系統管理中斷(SMI)處理器;及該等組配指令包含可由該等擴充及運算邏輯處理器執行之指令以組配該運算邏輯處理器及該擴充邏輯處理器各自於該SMM存取儲存於該系統管理記憶體區域的該SFW資料結構及該SMI處理器。
  13. 一種可藉一刀鋒式殼體之一分區執行的方法,該分區包 括含一運算邏輯處理器之一運算刀鋒式裝置、含一擴充邏輯處理器之一擴充刀鋒式裝置、及儲存一系統韌體(SFW)案例以啟動該分區以執行一作業系統(OS)之刀鋒式殼體記憶體,該方法包含:藉執行該SFW案例之指令,識別與該運算邏輯處理器相關聯的該運算刀鋒式裝置之可用記憶體及與該擴充邏輯處理器相關聯的該擴充刀鋒式裝置之可用記憶體;使該運算邏輯處理器及該等運算及擴充刀鋒式裝置各自的該經識別的記憶體可由該OS使用;在該OS之執行之一開始前,將該擴充邏輯處理器置於一系統管理模式(SMM);以至少該運算邏輯處理器開始該OS之執行;及於該OS之執行期間維持該擴充邏輯處理器於該SMM使得該擴充邏輯處理器為不可供由該OS使用。
  14. 如請求項13之方法,其進一步包含:組配該運算刀鋒式裝置以路徑安排靶定該擴充刀鋒式裝置之該經識別的記憶體之記憶體異動通過與該擴充刀鋒式裝置通訊之該運算刀鋒式裝置之一節點控制器;及使用該OS,於該OS之主動操作期間透過該節點控制器存取該擴充刀鋒式裝置之該經識別的記憶體。
  15. 如請求項14之方法,其進一步包含:使用該運算邏輯處理器偵測一錯誤; 響應於該錯誤之偵測,從該運算邏輯處理器提供一中斷給該擴充邏輯處理器;響應於該中斷,使用該擴充邏輯處理器從與該擴充邏輯處理器相關聯的暫存器收集錯誤資訊;及提供所收集的錯誤資訊給一故障管理基礎架構。
TW103109939A 2013-03-28 2014-03-17 使運算及擴充刀鋒式裝置之記憶體可供作業系統用之技術 TWI526845B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/034202 WO2014158152A1 (en) 2013-03-28 2013-03-28 Making memory of compute and expansion blade devices available for use by an operating system

Publications (2)

Publication Number Publication Date
TW201502802A TW201502802A (zh) 2015-01-16
TWI526845B true TWI526845B (zh) 2016-03-21

Family

ID=51624937

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103109939A TWI526845B (zh) 2013-03-28 2014-03-17 使運算及擴充刀鋒式裝置之記憶體可供作業系統用之技術

Country Status (5)

Country Link
US (1) US9781015B2 (zh)
EP (1) EP2979170B1 (zh)
CN (1) CN105074653B (zh)
TW (1) TWI526845B (zh)
WO (1) WO2014158152A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014158161A1 (en) * 2013-03-28 2014-10-02 Hewlett-Packard Development Company, L.P. Error coordination message for a blade device having a logical processor in another system firmware domain
US10720195B2 (en) 2015-09-25 2020-07-21 Intel Corporation Efficient memory activation at runtime
CN110851183B (zh) * 2018-08-20 2024-04-12 联想企业解决方案(新加坡)有限公司 在多处理器体系结构中快速启动处理器的方法

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5435001A (en) 1993-07-06 1995-07-18 Tandem Computers Incorporated Method of state determination in lock-stepped processors
US7064376B2 (en) 1996-05-24 2006-06-20 Jeng-Jye Shau High performance embedded semiconductor memory devices with multiple dimension first-level bit-lines
US6742066B2 (en) 1999-05-17 2004-05-25 Hewlett-Packard Development Company, L.P. System and method for controlling remote console functionality assist logic
US6542926B2 (en) * 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US6094699A (en) 1998-02-13 2000-07-25 Mylex Corporation Apparatus and method for coupling devices to a PCI-to-PCI bridge in an intelligent I/O controller
US6631448B2 (en) 1998-03-12 2003-10-07 Fujitsu Limited Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol
US6199107B1 (en) 1998-07-22 2001-03-06 Microsoft Corporation Partial file caching and read range resume system and method
US6418525B1 (en) 1999-01-29 2002-07-09 International Business Machines Corporation Method and apparatus for reducing latency in set-associative caches using set prediction
US6279085B1 (en) 1999-02-26 2001-08-21 International Business Machines Corporation Method and system for avoiding livelocks due to colliding writebacks within a non-uniform memory access system
US6453344B1 (en) 1999-03-31 2002-09-17 Amdahl Corporation Multiprocessor servers with controlled numbered of CPUs
US6684343B1 (en) 2000-04-29 2004-01-27 Hewlett-Packard Development Company, Lp. Managing operations of a computer system having a plurality of partitions
US7096469B1 (en) 2000-10-02 2006-08-22 International Business Machines Corporation Method and apparatus for enforcing capacity limitations in a logically partitioned system
US7603516B2 (en) 2000-12-15 2009-10-13 Stmicroelectronics Nv Disk controller providing for the auto-transfer of host-requested-data from a cache memory within a disk memory system
US6988169B2 (en) 2001-04-19 2006-01-17 Snowshore Networks, Inc. Cache for large-object real-time latency elimination
TWI231424B (en) 2002-06-28 2005-04-21 Quanta Comp Inc Management and preparation system of blade server
US7055071B2 (en) 2003-01-09 2006-05-30 International Business Machines Corporation Method and apparatus for reporting error logs in a logical environment
US7155370B2 (en) 2003-03-20 2006-12-26 Intel Corporation Reusable, built-in self-test methodology for computer systems
US7222339B2 (en) 2003-06-13 2007-05-22 Intel Corporation Method for distributed update of firmware across a clustered platform infrastructure
US20050015430A1 (en) * 2003-06-25 2005-01-20 Rothman Michael A. OS agnostic resource sharing across multiple computing platforms
US7363484B2 (en) 2003-09-15 2008-04-22 Hewlett-Packard Development Company, L.P. Apparatus and method for selectively mapping proper boot image to processors of heterogeneous computer systems
US7251746B2 (en) 2004-01-21 2007-07-31 International Business Machines Corporation Autonomous fail-over to hot-spare processor using SMI
US7383461B2 (en) 2004-02-12 2008-06-03 International Business Machines Corporation Method and system to recover a failed flash of a blade service processor in a server chassis
US7512830B2 (en) 2004-05-14 2009-03-31 International Business Machines Corporation Management module failover across multiple blade center chassis
US7873776B2 (en) 2004-06-30 2011-01-18 Oracle America, Inc. Multiple-core processor with support for multiple virtual processors
US7409594B2 (en) 2004-07-06 2008-08-05 Intel Corporation System and method to detect errors and predict potential failures
US7426657B2 (en) 2004-07-09 2008-09-16 International Business Machines Corporation System and method for predictive processor failure recovery
US7404105B2 (en) 2004-08-16 2008-07-22 International Business Machines Corporation High availability multi-processor system
US7694298B2 (en) 2004-12-10 2010-04-06 Intel Corporation Method and apparatus for providing virtual server blades
KR100699473B1 (ko) * 2005-05-19 2007-03-26 삼성전자주식회사 화상형성장치 및 화상형성장치와 연결된 외부 메모리부의파티션 인식방법
US7480747B2 (en) 2005-06-08 2009-01-20 Intel Corporation Method and apparatus to reduce latency and improve throughput of input/output data in a processor
US8484213B2 (en) 2005-08-31 2013-07-09 International Business Machines Corporation Heterogenous high availability cluster manager
US20070067614A1 (en) 2005-09-20 2007-03-22 Berry Robert W Jr Booting multiple processors with a single flash ROM
JP4394624B2 (ja) 2005-09-21 2010-01-06 株式会社日立製作所 計算機システム及びi/oブリッジ
US7474623B2 (en) 2005-10-27 2009-01-06 International Business Machines Corporation Method of routing I/O adapter error messages in a multi-host environment
US7814366B2 (en) 2005-11-15 2010-10-12 Intel Corporation On-demand CPU licensing activation
JP2007148950A (ja) * 2005-11-30 2007-06-14 Hitachi Ltd 情報処理装置
US20070150713A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation Methods and arrangements to dynamically modify the number of active processors in a multi-node system
US7552283B2 (en) 2006-01-20 2009-06-23 Qualcomm Incorporated Efficient memory hierarchy management
US7797756B2 (en) * 2006-04-18 2010-09-14 Hewlett-Packard Development Company, L.P. System and methods for managing software licenses in a variable entitlement computer system
US7827387B1 (en) 2006-09-08 2010-11-02 Marvell International Ltd. Communication bus with hidden pre-fetch registers
US20080183626A1 (en) 2007-01-31 2008-07-31 Francisco Romero Software license agreement management based on temporary usage
US20080229049A1 (en) 2007-03-16 2008-09-18 Ashwini Kumar Nanda Processor card for blade server and process.
US7734859B2 (en) * 2007-04-20 2010-06-08 Nuon, Inc Virtualization of a host computer's native I/O system architecture via the internet and LANs
US8788750B2 (en) 2007-04-27 2014-07-22 Hewlett-Packard Development Company, L.P. Managing resources in cluster storage systems
US8813080B2 (en) 2007-06-28 2014-08-19 Intel Corporation System and method to optimize OS scheduling decisions for power savings based on temporal characteristics of the scheduled entity and system workload
US8230145B2 (en) * 2007-07-31 2012-07-24 Hewlett-Packard Development Company, L.P. Memory expansion blade for multiple architectures
US20090119748A1 (en) 2007-08-30 2009-05-07 Jiewen Yao System management mode isolation in firmware
US7865762B2 (en) 2007-12-04 2011-01-04 Intel Corporation Methods and apparatus for handling errors involving virtual machines
US7802042B2 (en) 2007-12-28 2010-09-21 Intel Corporation Method and system for handling a management interrupt event in a multi-processor computing device
US20090172232A1 (en) 2007-12-28 2009-07-02 Zimmer Vincent J Method and system for handling a management interrupt event
US8069359B2 (en) 2007-12-28 2011-11-29 Intel Corporation System and method to establish and dynamically control energy consumption in large-scale datacenters or IT infrastructures
US7441135B1 (en) 2008-01-14 2008-10-21 International Business Machines Corporation Adaptive dynamic buffering system for power management in server clusters
US7921179B1 (en) 2008-01-15 2011-04-05 Net App, Inc. Reducing latency of access requests in distributed storage systems having a shared data set
WO2009140631A2 (en) 2008-05-15 2009-11-19 Smooth-Stone, Inc. Distributed computing system with universal address system and method
US8244918B2 (en) * 2008-06-11 2012-08-14 International Business Machines Corporation Resource sharing expansion card
EP2304582A4 (en) * 2008-06-19 2013-02-13 Hewlett Packard Development Co MORE BLADE CONNECTOR
US8347070B1 (en) * 2008-10-30 2013-01-01 Hewlett-Packard Development Company, L.P. System and methods for sharing platform data with an ACPI module of a computer system
US8144582B2 (en) 2008-12-30 2012-03-27 International Business Machines Corporation Differentiating blade destination and traffic types in a multi-root PCIe environment
US8352710B2 (en) * 2009-01-19 2013-01-08 International Business Machines Corporation Off-loading of processing from a processor blade to storage blades
US8140871B2 (en) 2009-03-27 2012-03-20 International Business Machines Corporation Wake on Lan for blade server
US8151027B2 (en) 2009-04-08 2012-04-03 Intel Corporation System management mode inter-processor interrupt redirection
EP2449470A4 (en) * 2009-06-29 2013-05-29 Hewlett Packard Development Co MEMORY AGENT FOR ACCESS TO A MEMORY BLADE WITHIN A CACHE COHERENCE DOMAIN
CN101989212B (zh) * 2009-07-31 2015-01-07 国际商业机器公司 提供用于启动刀片服务器的虚拟机管理程序的方法和装置
US8880682B2 (en) 2009-10-06 2014-11-04 Emc Corporation Integrated forensics platform for analyzing IT resources consumed to derive operational and architectural recommendations
US9767070B2 (en) * 2009-11-06 2017-09-19 Hewlett Packard Enterprise Development Lp Storage system with a memory blade that generates a computational result for a storage device
US8713350B2 (en) 2009-12-08 2014-04-29 Hewlett-Packard Development Company, L.P. Handling errors in a data processing system
US8793481B2 (en) * 2009-12-10 2014-07-29 Hewlett-Packard Development Company, L.P. Managing hardware resources for soft partitioning
US8601128B2 (en) 2009-12-10 2013-12-03 Hewlett-Packard Development Company, L.P. Managing hardware resources for soft partitioning
US8151147B2 (en) 2009-12-17 2012-04-03 Hewlett-Packard Development Company, L.P. Synchronize error handling for a plurality of partitions
JP5299559B2 (ja) 2010-03-19 2013-09-25 富士通株式会社 情報処理装置及び情報処理装置のデバイス情報収集処理方法
US9009384B2 (en) * 2010-08-17 2015-04-14 Microsoft Technology Licensing, Llc Virtual machine memory management in systems with asymmetric memory
US8966020B2 (en) * 2010-11-02 2015-02-24 International Business Machines Corporation Integration of heterogeneous computing systems into a hybrid computing system
US9081613B2 (en) * 2010-11-02 2015-07-14 International Business Machines Corporation Unified resource manager providing a single point of control
US8793427B2 (en) * 2011-02-10 2014-07-29 Hewlett-Packard Development Company, L.P. Remote memory for virtual machines
US8880795B2 (en) * 2011-04-29 2014-11-04 Comcast Cable Communications, LLC. Intelligent partitioning of external memory devices
US20130073811A1 (en) 2011-09-16 2013-03-21 Advanced Micro Devices, Inc. Region privatization in directory-based cache coherence
EP2817714B1 (en) 2012-02-22 2019-08-21 Hewlett-Packard Enterprise Development LP Hiding logical processors from an operating system on a computer
US8954698B2 (en) * 2012-04-13 2015-02-10 International Business Machines Corporation Switching optically connected memory
WO2013165343A1 (en) 2012-04-30 2013-11-07 Hewlett-Packard Development Company, L.P. Hidden core to fetch data

Also Published As

Publication number Publication date
US9781015B2 (en) 2017-10-03
EP2979170B1 (en) 2020-07-08
US20160043912A1 (en) 2016-02-11
TW201502802A (zh) 2015-01-16
EP2979170A1 (en) 2016-02-03
WO2014158152A1 (en) 2014-10-02
CN105074653B (zh) 2018-11-23
EP2979170A4 (en) 2017-01-04
CN105074653A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
JP6530774B2 (ja) ハードウェア障害回復システム
US10114952B2 (en) System, apparatus and method for performing secure memory training and management in a trusted environment
US7865762B2 (en) Methods and apparatus for handling errors involving virtual machines
TWI556130B (zh) 用於可信賴運算之多節點集線器
KR20140002048A (ko) 결합된 가상 그래픽 장치
JP2009123217A (ja) データ処理システム内で入出力(i/o)仮想化を管理するための方法およびデータ処理システムならびにコンピュータ・プログラム
JP6321053B2 (ja) ハードウェアベースのデバイス間リソース共有が可能なデバイス
EP1933234A2 (en) Frozen ring cache
US9418223B2 (en) System and method for securing embedded controller communications by verifying host system management mode execution
TWI526845B (zh) 使運算及擴充刀鋒式裝置之記憶體可供作業系統用之技術
US10289467B2 (en) Error coordination message for a blade device having a logical processor in another system firmware domain
TWI497318B (zh) 辨識刀鋒式裝置之記憶體供包括此刀鋒式裝置之分區的作業系統用之技術
US10838737B1 (en) Restoration of memory content to restore machine state
US8880858B2 (en) Estimation of boot-time memory requirement
JP2010009570A (ja) マルチパス・データ通信においてエネルギーを節約するためのコンピュータ実行される方法、コンピュータ使用可能なプログラム製品、およびデータ処理システム
US20230325201A1 (en) Heterogeneous compute domains with an embedded operating system in an information handling system
US11630500B2 (en) Configuring power level of central processing units at boot time
US20230401082A1 (en) Multi-gpu device pcie topology retrieval in guest vm
US20070124522A1 (en) Node detach in multi-node system
CN115904607A (zh) 基于虚拟机的容器的可靠设备分配

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees