CN110851183B - 在多处理器体系结构中快速启动处理器的方法 - Google Patents
在多处理器体系结构中快速启动处理器的方法 Download PDFInfo
- Publication number
- CN110851183B CN110851183B CN201810948226.2A CN201810948226A CN110851183B CN 110851183 B CN110851183 B CN 110851183B CN 201810948226 A CN201810948226 A CN 201810948226A CN 110851183 B CN110851183 B CN 110851183B
- Authority
- CN
- China
- Prior art keywords
- cpu
- firmware
- main memory
- region
- storage device
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000010365 information processing Effects 0.000 claims abstract description 30
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 230000009977 dual effect Effects 0.000 claims 2
- 230000009191 jumping Effects 0.000 claims 2
- 238000013500 data storage Methods 0.000 abstract description 2
- 230000002085 persistent effect Effects 0.000 description 22
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种用于准备信息处理设备的快速启动的方法。该信息处理设备包括:第一CPU,其被配置为连接到存储固件的存储设备;以及第二CPU,其连接到第一CPU。该方法包括以下步骤:分别在与第一和第二CPU中的每一个相关联的内存中分配固件区域;以及将固件从存储设备复制到每个内存的固件区域。通过利用NVDIMM等系统内存提供比NAND闪存更高的访问速度以及永久的数据存储,可以更快地从NVDIMM中的固件映像启动一个或多个CPU,从而节省总启动时间。
Description
技术领域
本发明涉及计算设备中的处理器,尤其涉及计算设备中的处理器的启动。
背景技术
计算机网络中的现代服务器通常配备有多个处理器,这些处理器协同工作以完成计算复杂的任务。多个处理器安装在服务器主板上的多个插槽中,并且多个插槽提供了安装的处理器数量(例如,2、4或8个)的灵活性。此外,每个处理器也可以是多核和/或多线程,这意味着处理器具有多个逻辑CPU核心,它们可以同时物理地执行多个指令,并且支持程序同时在多个核心上运行。
在计算设备的电路的传统设计中,多个处理器通过直接媒体接口(DMI)总线组连接到平台控制器集线器(PCH),并且特别地,第一CPU通过DMI总线连接到PCH。例如,可以在基于处理器的服务器中找到这样的配置。另一方面,计算设备的固件,例如统一可扩展固件接口(UEFI),通常存储在连接到PCH的串行外围接口(SPI)闪存芯片上。只有一个SPI闪存连接到PCH。
这种系统的启动性能存在限制:由于使用唯一的SPI闪存,只有第一处理器和直接连接到第一处理器的下一个处理器可以直接从SPI闪存中获取固件映像以进行启动。其他非直连处理器需要第一处理器配置快速路径互连(QPI)/超路径互连(UPI)链路并重启,然后通过第一处理器获取固件映像。这严重延迟了计算设备中多个处理器的启动过程。
发明内容
因此,在一个方面,本发明是一种用于准备信息处理设备的快速启动的方法。信息处理设备包括连接到固件存储器的第一CPU和连接到第一CPU的第二CPU。该方法包括以下步骤:分别在与第一和第二CPU中的每一个相关联的内存中分配固件区域;将固件从固件存储器复制到每个内存的固件区域。
在本发明的另一方面,提供了一种启动信息处理设备的方法。信息处理设备包括连接到固件存储器的第一CPU和连接到第一CPU的第二CPU。该方法包括以下步骤:a)确定固件储存器中的固件是否分别存储在与第一和第二CPU中的每一个相关联的内存中的固件区域中;b)如果确定固件分别存储在与第一CPU或第二CPU相关联的内存中的固件区域中,则分别从与第一CPU或第二CPU相关联的内存启动第一CPU或第二CPU;以及c)如果确定在分别与第一CPU或第二CPU相关联的内存中的固件区域中没有存储所述固件,则从固件存储器启动第一CPU或第二CPU,并且还将固件从固件存储器复制到相应内存的固件区域。
根据本发明的另一方面,公开了一种信息处理设备,包括连接到固件储存器的第一CPU;第二CPU连接到第一CPU;内存分别与第一和第二CPU中的每一个相关联。第一CPU可操作以实现一种方法,该方法包括分别在与第一和第二CPU中的每一个相关联的内存中分配固件区域。第一CPU和第二CPU还可操作以实现包括将固件从固件存储器复制到每个内存的固件区域的方法。
根据本发明的另一方面,提供一种信息处理设备,其包括连接到固件储存器的第一CPU;第二CPU连接到第一CPU;内存分别与第一和第二CPU中的每一个相关联。第一CPU可操作以实现一种方法,该方法包括确定固件储存器中的固件是否分别存储在与第一和第二CPU中的每一个相关联的内存中的固件区域中。如果确定固件存储在与第一CPU或第二CPU相关联的内存中的固件区域中,则第一CPU或第二CPU分别适于从与第一CPU或第二CPU分别相关联的内存被启动。如果确定在分别与第一CPU或第二CPU相关联的内存中的固件区域中没有存储所述固件,则第一CPU或第二CPU还适于从固件存储器被启动,并将固件从固件存储器复制到相应内存的固件区域。
因此,本发明为多处理器计算设备提供了改进的启动性能。当设备中的处理器数量增加时,例如8s无胶系统,传统设备和本发明中的设备之间的启动时间的差异更显着。启动时间的这种改进是因为本发明利用系统的主内存来存储固件映像,该固件映像提供比存储固件的闪存芯片快得多的访问速度(换句话说,更小的等待时间)。另外,主内存中的永久存储区域可以具有通行短语以保护区域中的固件映像的完整性,从而可以避免对区域的未授权修改。
附图说明
从以下优选实施例的描述中,本发明的前述和进一步的特征将变得显而易见,所述优选实施例仅通过示例的方式结合附图提供,其中:
图1a-1c分别示出了根据本发明的不同实施例的计算设备中的2s、4s和8s多处理器配置的体系结构。
图2是示出根据本发明实施例的正常启动计算设备的方法步骤的流程图,该计算设备具有用于固件映像的永久存储区域的配置。
在附图中,在本文描述的若干实施例中,相同的数字表示相同的部件。
具体实施方式
现在转向图1a-1c,其示出了根据本发明的三个实施例的信息处理设备的多个插槽中的多个CPU与PCH和闪存芯片的连接。图1a-1c中所示的这种配置可以应用于任何种类的信息处理设备。在图1a中,示出了通过DMI信道直接连接到PCH 126的第一CPU 120a,以及连接到CPU 120a但不直接连接到PCH 126和闪存134的第二CPU 120b。闪存134连接到PCH126而不是直接连接到CPU 120a和CPU 120b。类似地,在图1b中,第一CPU 220a直接连接到PCH 226,并且闪存234连接到PCH 226而不是直接连接到CPU 220a。在图1b中,在第一CPU220a旁边有三个其他CPU,它们是CPU 220b-200d,并且总共四个CPU以这样的方式连接,即每个CPU直接连接到另外两个CPU。在图1c中,第一CPU 320a直接连接到PCH 326,并且闪存334连接到PCH 326而不是直接连接到CPU 320a。在图1c中,在第一CPU 320a旁边有七个其他CPU,它们是CPU 320b-320h,并且总共八个CPU以这样的方式连接,即每个CPU直接连接到三个其他CPU。
转到图2,其示出了根据本发明另一实施例的信息处理系统的正常启动的过程。在任何固件更新之前或任何固件更新之后,可以在步骤52中进行正常启动。使用裸金属更新(BMU)对信息处理设备进行这种固件更新。通过BMU更新,不需要依赖安装在信息处理设备中的任何操作系统驱动程序或软件应用程序。例如,当信息处理设备正在执行BMU更新时,信息处理设备可以从可启动媒体(例如DVD、CD-ROM、外部磁盘等)启动并用其固件更新。在固件更新完成之后,将固件映像写入信息处理设备的SPI闪存芯片中。
在正常启动期间,最初在步骤54中,第一CPU在固件更新之后检查该正常启动是否实际上是第一次启动。例如,当固件更新完成但没有立即重启系统时可能就是这种情况。在加载UEFI之后,第一CPU执行步骤54中的检查,因为第一CPU将包括构建ID、构建日期和FW版本的当前UEFI固件信息与存储在与第一CPU相关联的NVDIMM的永久存储器区域中的那些先前信息进行比较。通过BMU更新,不需要依赖安装在信息处理设备中的任何操作系统驱动程序或软件应用程序。例如,当信息处理设备正在执行BMU更新时,信息处理设备可以从可启动媒体(例如DVD、CD-ROM、外部磁盘等)启动并用其固件更新。在固件更新完成之后,将固件映像写入信息处理设备的SPI闪存芯片中。如果当前UEFI固件信息与先前存储的固件信息不同,则意味着SPI闪存中存在较新的固件版本,因为当前UEFI固件仍是旧版本,并且该启动是第一次启动。或者,如果第一CPU无法进行任何此类比较,因为在找到的永久存储区域中没有存储的信息,则此启动仍被视为第一次启动。永久存储区域中缺少存储的信息可能是由于先前没有创建永久存储区域,例如当信息处理设备中没有NVDIMM时。
如果在步骤54中确定正常启动实际上是第一次启动,则第一CPU(例如,图1a中的CPU 120a)将在步骤56中在内存中设置第一启动标志。然后,信息处理设备中的所有CPU以常规方式在步骤58中从SPI闪存启动。启动SPI闪存的CPU的一个示例包括以下步骤:首先仅第一CPU(例如,图1a中的CPU 120a、图1b中的CPU 220a和图1c中的CPU 320a)以及直接连接到第一CPU(例如图1a中的CPU 120b、图1b中的CPU 220b和220d,以及图1c中的CPU 320b、320d和320h)的第二CPU可以从SPI闪存中获取固件以启动。所有其他CPU(如果有)需要等待第一CPU设置QPI/DPI链路,然后才能通过第一CPU从SPI闪存获取固件映像以启动。
在步骤58中重新启动所有CPU之后,然后在步骤60中,所有CPU检查在NVDIMM中分配的它们各自的永久内存(PM)中的固件(FW)区域。检查是必要的,因为如果永久内存中没有固件区域,则相应的CPU不可能将新固件复制到永久内存中以加速未来引导过程中的启动速度。在此示例中,每个CPU的永久内存大小为16MB。要检查是否存在FW区域,所有CPU都会检查其自己的永久FW区域的签名标签。对于每个CPU,如果步骤60中的检查结果是永久内存中存在FW区域,则步骤48中的CPU尝试将固件映像从SPI闪存复制到NVDIMM中其各自的永久存储区域中的FW区域。然而,对于每个CPU,如果步骤60中的检查结果是永久内存中没有FW区域,则该CPU将尝试在其永久内存中创建FW区域,并将签名标签(与信息处理系统的序列号相关联)设置为创建的FW区域。CPU还为创建的FW区域设置通行短语。通行短语存储在SPI闪存芯片中,并且通行短语受核心测量信任根(CRTM)保护。然后,该方法前进到步骤48,其中所提到的CPU尝试将固件映像从SPI闪存复制到NVDIMM中其各自的永久存储区域中的FW区域。然后该方法将在步骤48之后结束。
在步骤54中,如果确定正常启动不是第一次启动,即当前UEFI固件信息与先前存储的没有不同,则方法进行到步骤62,其中第一CPU执行必要的软件环境初始化,然后将存储在SPI闪存中的通行短语传递给所有其他CPU。然后,除了第一CPU之外的所有其他CPU在步骤64中检查其永久存储区域的签名标签(如果有的话)以查看签名标签是否与通行短语匹配。在步骤66中检查之后,如果检查结果为是,则在其NVDIMM中的相应永久存储区域中从其FW区域启动CPU。否则,如果任何CPU未通过检查,则CPU将尝试从第一个CPU的FW区域启动。如果再次失败,则CPU将在步骤68中从SPI闪存启动。除第一CPU之外的所有CPU将分别执行步骤68或步骤70。应该注意,即使一个或多个CPU在步骤70中从其自己的FW区域启动,这并不总是意味着该方法立即结束。相反,当一个或多个CPU需要尝试从第一CPU的FW区域启动时,如果失败,则从SPI闪存启动,然后将执行进一步的步骤。特别地,一旦CPU在步骤68中成功启动,该方法然后进行到步骤50,其中将确定是否存在可用于该特定CPU(其不是第一CPU)的新永久内存。如果不是,则该方法结束。然而,如果在步骤50中确定存在可用的新永久内存,则该方法进行到步骤44,然后进行步骤46,如上所述。总之,该方法仅在所有CPU(第一CPU除外)执行了步骤70或步骤68以及如上所述的任何后续步骤时结束。
通过从包括第一CPU的NVDIMM中的它们各自的永久存储区域启动一个或多个CPU,它将显着减少信息处理系统的总启动时间,因为NVDIMM提供的访问速度比NAND闪存芯片快几个数量级。始终存在备份启动策略,如果永久存储区域不包含最新的固件映像,则CPU仍将从SPI闪存启动。
因此,完整地描述了本发明的示例性实施例。尽管该描述涉及特定实施例,但是本领域技术人员将清楚,可以通过改变这些具体细节来实践本发明。因此,本发明不应被解释为限于这里阐述的实施例。
尽管已经在附图和前面的描述中详细图示和描述了本发明,但是同样的内容被认为是说明性的而非限制性的,应当理解,仅示出和描述了示例性实施例,并且不以任何方式限制本发明的范围。可以理解,本文描述的任何特征可以与任何实施例一起使用。说明性实施例不排除彼此或本文未列举的其他实施例。因此,本发明还提供了包括上述一个或多个说明性实施例的组合的实施例。在不脱离本发明的精神和范围的情况下,可以对本文所述的本发明进行修改和变化,因此,仅应当如所附权利要求所示的那样施加这些限制。
对于该示例,在上述实施例中,NVDIMM被描述为用于创建永久存储区域的信息处理设备的主内存。然而,本发明不限于基于NVDIMM的实现。与NAND闪存相比提供更快访问速度并且即使在断电之后也提供永久数据存储的任何其他过去或未来存储器类型可用于实现本发明。
另外,处理器平台用作描述信息处理设备的结构的示例,并且永久存储区域的大小被描述为16MB。然而,本领域技术人员应该认识到,其他类型的多处理器系统也可以适用于本发明。例如,本发明也可以应用于基于FPGA的服务器系统,其具有更大的SPI闪存大小(64MB或更大)以获得更好的启动性能。
Claims (17)
1.一种用于准备信息处理设备的快速启动的方法,所述信息处理设备包括连接到存储固件的存储设备的第一CPU和连接到所述第一CPU的第二CPU、以及与所述第一CPU和所述第二CPU相关联的主内存;所述方法包括以下步骤:
确定所述存储设备中的所述固件是否存储在所述主内存中的、与所述第一CPU和所述第二CPU中的每一个相关联的相应的固件区域中;其中所述确定步骤还包括:
i.检查所述固件是否已经用于第一次用于启动;
ii.如果确定所述固件已经用于先前的启动,则对于所述第一CPU和所述第二CPU中的每一个,检查所述固件区域是否分别存在于与所述第一CPU和所述第二CPU相关联的所述主内存中;
iii.如果确定在与所述第一CPU和所述第二CPU相关联的所述主内存中没有所述固件区域,则在与所述第一CPU和所述第二CPU相关联的所述信息处理设备的主内存中,为所述第一CPU和所述第二CPU中的每一个分配固件区域,包括为所述固件区域的每一个分配签名标签和通行短语;并将所述通行短语传递给所述第二CPU;以及
将所述固件从所述存储设备复制到与所述第一CPU和所述第二CPU中的每一个相关联的所述固件区域中。
2.如权利要求1所述的方法,其特征在于,所述分配步骤由所述第一CPU执行。
3.如权利要求1所述的方法,还包括分别检测所述第一CPU和所述第二CPU的所述主内存的步骤。
4.如权利要求1所述的方法,其特征在于,所述固件区域的大小为16兆字节或64兆字节。
5.如权利要求1所述的方法,其特征在于,所述存储设备是连接到平台控制器集线器的串行外围接口高速缓存;所述第一CPU被直接连接到所述平台控制器集线器。
6.如权利要求1所述的方法,其特征在于,所述主内存是非易失性双列直插存储模块。
7.如权利要求1所述的方法,其中为所述固件区域中的每一个分配的所述通行短语,被存储在所述存储设备中。
8.一种启动信息处理设备的方法,所述信息处理设备包括连接到存储固件的存储设备的第一CPU、连接到所述第一CPU的第二CPU、以及与所述第一CPU和所述第二CPU相关联的主内存;所述方法包括以下步骤:
a) 确定所述存储设备中的所述固件是否分别存储在与所述第一CPU和所述第二CPU相关联的所述主内存中的、与所述第一CPU和所述第二CPU中的每一个相关联的固件区域中;其中每个所述固件区域都被分配予签名标签和通行短语;其中所述确定步骤还包括:
iv.检查所述固件是否第一次用于启动;
v.如果确定所述固件第一次用于启动,则跳到步骤c) ;
vi.如果确定所述固件已经用于先前的启动,则对于所述第一CPU和所述第二CPU中的每一个,检查所述固件区域是否分别存在于与所述第一CPU和所述第二CPU相关联的所述主内存中;
vii.如果确定所述固件区域分别存在于与所述第一CPU和所述第二CPU相关联的所述主内存中,则从与所述第一CPU和所述第二CPU相关联的所述主内存的相应固件区域中启动所述第一CPU和所述第二CPU中的至少一个;以及
viii.如果确定在与所述第一CPU和所述第二CPU相关联的所述主内存中没有所述固件区域,则从所述存储设备启动所述第一CPU和所述第二CPU中的至少一个,从而创建所述固件区域;并且将所述固件从所述存储设备复制到与所述第一CPU和所述第二CPU中的每一个相关联的所述固件区域中;
b) 如果确定所述固件存储在与所述第一CPU和所述第二CPU中的至少一个相关联的固件区域中,则根据所述通行短语从与所述第一CPU和所述第二CPU相关联的所述主内存的相应所述固件区域中启动所述第一CPU和所述第二CPU中的至少一个;
c) 如果确定在与所述第一CPU和所述第二CPU中的至少一个相关联的固件区域中没有存储所述固件,则从所述存储设备启动所述第一CPU和所述第二CPU中的至少一个,并且将所述固件从所述存储设备复制到分别与所述第一CPU和所述第二CPU中的每一个相关联的所述固件区域中。
9.如权利要求8所述的方法,其特征在于,所述确定步骤由所述第一CPU执行。
10.如权利要求8所述的方法,其特征在于,步骤 ⅳ还包括将所述固件的以下信息中的至少一个与存储的信息进行比较的步骤,所述存储信息包括以下任何一个:构建ID、构建日期和版本。
11.如权利要求8所述的方法,还包括在步骤 ⅵ之前执行初始化并由所述第一CPU将通行短语传递给所述第二CPU的步骤。
12.如权利要求8所述的方法,其特征在于,步骤 ⅷ中创建所述固件区域的步骤还包括在与所述第一CPU和所述第二CPU相关联的所述主内存中分配固件区域,并为所述固件区域中的每一个分配所述签名标签和所述通行短语。
13.如权利要求8所述的方法,其特征在于,所述固件区域的大小为16兆字节或64兆字节。
14.如权利要求8所述的方法,其特征在于,所述存储设备是连接到平台控制器集线器的串行外围接口高速缓存;所述第一CPU直接连接到所述平台控制器集线器。
15.如权利要求8所述的方法,其特征在于,所述主内存是非易失性双列直插存储模块。
16.一种信息处理设备,包括:
第一CPU,其被配置为连接到存储固件的存储设备;
第二CPU,其连接到所述第一CPU;
主内存,其与所述第一CPU和所述第二CPU相关联;
其中,所述第一CPU可操作为确定所述存储设备中的所述固件是否存储在所述主内存中的、与所述第一CPU和所述第二CPU中的每一个相关联的相应的固件区域中;其中所述第一CPU还适于:
i.检查所述固件是否已经用于第一次用于启动;
ii.如果确定所述固件已经用于先前的启动,则对于所述第一CPU和所述第二CPU中的每一个,检查所述固件区域是否分别存在于与所述第一CPU和所述第二CPU相关联的所述主内存中;
iii.如果确定在与所述第一CPU和所述第二CPU相关联的所述主内存中没有所述固件区域,则在与所述第一CPU和所述第二CPU相关联的所述信息处理设备的主内存中,为所述第一CPU和所述第二CPU中的每一个分配固件区域,包括为所述固件区域的每一个分配签名标签和通行短语;并将所述通行短语传递给所述第二CPU;以及
将所述固件从所述存储设备复制到与所述第一CPU和所述第二CPU中的每一个相关联的所述固件区域中。
17.一种信息处理设备,包括:
第一CPU,其被配置为连接到存储固件的存储设备;
第二CPU,其连接到所述第一CPU;主内存,其与所述第一CPU和所述第二CPU中相关联;
其中,所述第一CPU可操作用于:
a) 确定所述存储设备中的所述固件是否分别存储在与所述第一CPU和所述第二CPU相关联的所述主内存中的、与所述第一CPU和所述第二CPU中的每一个相关联的固件区域中;其中每个所述固件区域都被分配予签名标签和通行短语;所述第一CPU可操作用于:
i.检查所述固件是否第一次用于启动;
ii.如果确定所述固件第一次用于启动,则跳到步骤c) ;
iii.如果确定所述固件已经用于先前的启动,则对于所述第一CPU和所述第二CPU中的每一个,检查所述固件区域是否分别存在于与所述第一CPU和所述第二CPU相关联的所述主内存中;
iv.如果确定所述固件区域分别存在于与所述第一CPU和所述第二CPU相关联的所述主内存中,则从与所述第一CPU和所述第二CPU相关联的所述主内存的相应固件区域中启动所述第一CPU和所述第二CPU中的至少一个;以及
v.如果确定在与所述第一CPU和所述第二CPU相关联的所述主内存中没有所述固件区域,则从所述存储设备启动所述第一CPU和所述第二CPU中的至少一个,从而创建所述固件区域;并且将所述固件从所述存储设备复制到与所述第一CPU和所述第二CPU中的每一个相关联的所述固件区域中;
b) 如果确定所述固件存储在与所述第一CPU和所述第二CPU中至少一个相关联的固件区域中,则根据所述通行短语从与所述第一CPU和所述第二CPU相关联的所述主内存的相应所述固件区域中,启动所述第一CPU和所述第二CPU中的至少一个;
c)如果确定在与所述第一CPU和所述第二CPU中的至少一个相关联的固件区域中没有存储所述固件,则从所述存储设备启动所述第一CPU和所述第二CPU中的至少一个,并且将所述固件从所述存储设备复制到分别与所述第一CPU和所述第二CPU中的每一个相关联的所述固件区域中。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810948226.2A CN110851183B (zh) | 2018-08-20 | 2018-08-20 | 在多处理器体系结构中快速启动处理器的方法 |
US16/544,268 US11500648B2 (en) | 2018-08-20 | 2019-08-19 | Method for fast booting processors in a multi-processor architecture |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810948226.2A CN110851183B (zh) | 2018-08-20 | 2018-08-20 | 在多处理器体系结构中快速启动处理器的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110851183A CN110851183A (zh) | 2020-02-28 |
CN110851183B true CN110851183B (zh) | 2024-04-12 |
Family
ID=69524084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810948226.2A Active CN110851183B (zh) | 2018-08-20 | 2018-08-20 | 在多处理器体系结构中快速启动处理器的方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11500648B2 (zh) |
CN (1) | CN110851183B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021149457A (ja) * | 2020-03-18 | 2021-09-27 | キオクシア株式会社 | 半導体装置および半導体装置の制御方法 |
US11775951B2 (en) * | 2020-04-21 | 2023-10-03 | Ncr Corporation | ScannerPOS in self-checkout |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007020066A (ja) * | 2005-07-11 | 2007-01-25 | Sony Corp | 情報処理装置および方法、プログラム、並びに認証システム |
CN101526796A (zh) * | 2008-03-03 | 2009-09-09 | 三星电子株式会社 | 使用操作系统的单元和使用该单元的成像设备 |
EP2743828A1 (en) * | 2012-12-12 | 2014-06-18 | Compal Broadband Networks Inc. | Firmware updating method and system for multiple processors |
CN106020855A (zh) * | 2015-03-24 | 2016-10-12 | 日本电气株式会社 | 多cpu系统和用于升级cpu的方法 |
CN106815494A (zh) * | 2016-12-28 | 2017-06-09 | 中软信息系统工程有限公司 | 一种基于cpu时空隔离机制实现应用程序安全认证的方法 |
CN107368744A (zh) * | 2016-04-11 | 2017-11-21 | 恩德莱斯和豪瑟尔分析仪表两合公司 | 用于更新固件组件的方法以及测量和控制技术的设备 |
CN107391431A (zh) * | 2017-06-29 | 2017-11-24 | 北京金石智信科技有限公司 | 一种多个处理器共享访问存储器的方法、装置及系统 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381693B2 (en) * | 1998-12-31 | 2002-04-30 | Intel Corp. | Arrangements having firmware support for different processor types |
US6567897B2 (en) * | 2001-03-01 | 2003-05-20 | International Business Machines Corporation | Virtualized NVRAM access methods to provide NVRAM CHRP regions for logical partitions through hypervisor system calls |
US8200988B2 (en) * | 2001-08-03 | 2012-06-12 | Intel Corporation | Firmware security key upgrade algorithm |
US6883116B2 (en) * | 2001-09-27 | 2005-04-19 | International Business Machines Corporation | Method and apparatus for verifying hardware implementation of a processor architecture in a logically partitioned data processing system |
US7673125B2 (en) * | 2003-06-26 | 2010-03-02 | Hewlett-Packard Development Company, L.P. | Resetting multiple cells within a partition of a multiple partition computer system |
US7669046B2 (en) * | 2004-08-03 | 2010-02-23 | Panasonic Corporation | Data processing apparatus and firmware update method |
JP2007047993A (ja) * | 2005-08-09 | 2007-02-22 | Rohm Co Ltd | 制御回路、それを用いた電子機器およびファームウェアの更新方法 |
US20070067614A1 (en) * | 2005-09-20 | 2007-03-22 | Berry Robert W Jr | Booting multiple processors with a single flash ROM |
US20080127159A1 (en) * | 2006-10-02 | 2008-05-29 | Mark Van Regenmorter | Multi-function peripheral device capable of independent firmware updating |
US7908470B1 (en) * | 2006-10-31 | 2011-03-15 | Hewlett-Packard Development Company, L.P. | Multi-processor computer with plural boot memories |
US7761735B2 (en) * | 2007-04-13 | 2010-07-20 | International Business Machines Corporation | Automated firmware restoration to a peer programmable hardware device |
JP5270924B2 (ja) * | 2008-01-30 | 2013-08-21 | 株式会社東芝 | 固定長メモリブロック管理装置及び固定長メモリブロック管理装置の制御方法 |
US9354857B2 (en) * | 2008-03-19 | 2016-05-31 | Lenovo (Singapore) Pte. Ltd. | System and method to update firmware on a hybrid drive |
US7971098B2 (en) * | 2008-03-24 | 2011-06-28 | Globalfoundries Inc. | Bootstrap device and methods thereof |
US8078862B2 (en) * | 2008-04-25 | 2011-12-13 | Intel Corporation | Method for assigning physical data address range in multiprocessor system |
WO2010100757A1 (ja) * | 2009-03-06 | 2010-09-10 | 富士通株式会社 | 演算処理システム、再同期方法、およびファームプログラム |
US8590040B2 (en) * | 2010-12-22 | 2013-11-19 | Intel Corporation | Runtime platform firmware verification |
US20130262849A1 (en) * | 2012-03-29 | 2013-10-03 | Bheeshmar Redheendran | Automatic reconfiguration of initialization firmware in a computer system |
WO2014158152A1 (en) * | 2013-03-28 | 2014-10-02 | Hewlett-Packard Development Company, L.P. | Making memory of compute and expansion blade devices available for use by an operating system |
US9881162B2 (en) * | 2013-09-12 | 2018-01-30 | Insyde Software Corp. | System and method for auto-enrolling option ROMS in a UEFI secure boot database |
JP2015191606A (ja) * | 2014-03-28 | 2015-11-02 | 富士通株式会社 | 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム |
US9525555B2 (en) * | 2014-12-18 | 2016-12-20 | Intel Corporation | Partitioning access to system resources |
US9886580B2 (en) * | 2014-12-23 | 2018-02-06 | Dell Products, L.P. | Method for optimizing boot time of an information handling system |
US10146942B2 (en) * | 2015-02-24 | 2018-12-04 | Dell Products, Lp | Method to protect BIOS NVRAM from malicious code injection by encrypting NVRAM variables and system therefor |
US9857975B2 (en) * | 2015-06-26 | 2018-01-02 | International Business Machines Corporation | Non-volatile memory drive partitions within microcontrollers |
US9990282B2 (en) * | 2016-04-27 | 2018-06-05 | Oracle International Corporation | Address space expander for a processor |
US10564983B2 (en) * | 2016-06-15 | 2020-02-18 | Vmware, Inc. | Multiprocessor initialization via firmware configuration |
US10034407B2 (en) * | 2016-07-22 | 2018-07-24 | Intel Corporation | Storage sled for a data center |
US10127103B2 (en) * | 2016-09-07 | 2018-11-13 | Sandisk Technologies Llc | System and method for detecting and correcting mapping table errors in a non-volatile memory system |
US10353779B2 (en) * | 2017-05-05 | 2019-07-16 | Dell Products L.P. | Systems and methods for detection of firmware image corruption and initiation of recovery |
US10540501B2 (en) * | 2017-06-02 | 2020-01-21 | Dell Products, L.P. | Recovering an information handling system from a secure boot authentication failure |
US10552613B2 (en) * | 2017-09-26 | 2020-02-04 | Intel Corporation | Secure firmware devices and methods |
US10733300B2 (en) * | 2017-10-24 | 2020-08-04 | Ncr Corporation | Basic input/output system (BIOS)/unified extensible firmware interface (UEFI) hard drive authentication |
US11770246B2 (en) * | 2020-09-02 | 2023-09-26 | Motorola Solutions, Inc. | Securely transferring key materials between processors in a multi-processor device |
-
2018
- 2018-08-20 CN CN201810948226.2A patent/CN110851183B/zh active Active
-
2019
- 2019-08-19 US US16/544,268 patent/US11500648B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007020066A (ja) * | 2005-07-11 | 2007-01-25 | Sony Corp | 情報処理装置および方法、プログラム、並びに認証システム |
CN101526796A (zh) * | 2008-03-03 | 2009-09-09 | 三星电子株式会社 | 使用操作系统的单元和使用该单元的成像设备 |
EP2743828A1 (en) * | 2012-12-12 | 2014-06-18 | Compal Broadband Networks Inc. | Firmware updating method and system for multiple processors |
CN106020855A (zh) * | 2015-03-24 | 2016-10-12 | 日本电气株式会社 | 多cpu系统和用于升级cpu的方法 |
CN107368744A (zh) * | 2016-04-11 | 2017-11-21 | 恩德莱斯和豪瑟尔分析仪表两合公司 | 用于更新固件组件的方法以及测量和控制技术的设备 |
CN106815494A (zh) * | 2016-12-28 | 2017-06-09 | 中软信息系统工程有限公司 | 一种基于cpu时空隔离机制实现应用程序安全认证的方法 |
CN107391431A (zh) * | 2017-06-29 | 2017-11-24 | 北京金石智信科技有限公司 | 一种多个处理器共享访问存储器的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
US11500648B2 (en) | 2022-11-15 |
CN110851183A (zh) | 2020-02-28 |
US20200057656A1 (en) | 2020-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11157265B2 (en) | Firmware update | |
EP2876556B1 (en) | Fast restart of applications using shared memory | |
US7577832B2 (en) | Apparatus and method for booting a system | |
KR100417778B1 (ko) | 서로 다른 컴퓨터 상에서 동시에 실행되는 동일 디스크상의 다수의 운영 체제를 지원하는 방법 및 시스템 | |
TWI335536B (en) | Information handling system (ihs) method and for updating a non-volatile memory (nvm) included in an information handling system | |
US9910664B2 (en) | System and method of online firmware update for baseboard management controller (BMC) devices | |
US11182148B2 (en) | System and method for automated BIOS recovery after BIOS corruption | |
US8468334B1 (en) | Efficient initial RAM disk creation | |
US11144328B2 (en) | System method to update failover process by running basic input/output (BIOS) system boot code from non-volatile memory express device (NVME) | |
US7711941B2 (en) | Method and apparatus for booting independent operating systems in a multi-processor core integrated circuit | |
JP2010039895A (ja) | 仮想計算機システムおよび仮想計算機システムにおけるエラー回復方法ならびに仮想計算機制御プログラム | |
CN107766084B (zh) | 启动装载及安装方法及其计算系统 | |
US9235426B2 (en) | Multicore processor system, computer product, and notification method for updating operating system | |
US7409538B2 (en) | Update in-use flash memory without external interfaces | |
CN110851183B (zh) | 在多处理器体系结构中快速启动处理器的方法 | |
US20100257521A1 (en) | Simultaneous Installation of Multiple Portions of a Software Application on a Computer System | |
US8499142B1 (en) | UEFI boot loader for loading non-UEFI compliant operating systems | |
JP5035227B2 (ja) | 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム | |
CN115033267A (zh) | 一种设备树镜像版本校验的方法及终端设备 | |
US20200364040A1 (en) | System and Method for Restoring a Previously Functional Firmware Image on a Non-Volatile Dual Inline Memory Module | |
US10838737B1 (en) | Restoration of memory content to restore machine state | |
US11372792B1 (en) | Automatic bus resource adjustment in a multiple root bridge computing system | |
US20220147343A1 (en) | Tranistionary firmware packages | |
US10768940B2 (en) | Restoring a processing unit that has become hung during execution of an option ROM | |
JP2001306307A (ja) | ファームウェアの処理方法。 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |