CN109634674B - 芯片boot启动方法、装置、计算机设备和存储介质 - Google Patents
芯片boot启动方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109634674B CN109634674B CN201811487644.2A CN201811487644A CN109634674B CN 109634674 B CN109634674 B CN 109634674B CN 201811487644 A CN201811487644 A CN 201811487644A CN 109634674 B CN109634674 B CN 109634674B
- Authority
- CN
- China
- Prior art keywords
- boot
- chip
- channels
- files
- file
- 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
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种芯片BOOT启动方法、装置、计算机设备和存储介质,其中该方法包括:获取芯片BOOT启动请求;根据所述芯片BOOT启动请求同时从NAND FLASH的所有通道内加载BOOT文件;同时读取所有通道内的BOOT文件并进行校验;当有任一通道内的BOOT文件校验成功时,则所述芯片直接启动运行并不再继续读取BOOT文件。本发明通过从NAND FLASH的多个Target同时读取多个BOOT文件,当有一个通道的BOOT文件校验成功,则使用该BOOT文件,这种多通道并发读取,同时读取校验多个文件的方法,使得BOOT速度和成功率大大提高。
Description
技术领域
本发明涉及芯片启动技术领域,特别是涉及一种芯片BOOT启动方法、装置、计算机设备和存储介质。
背景技术
目前,芯片在采用NAND BOOT启动过程多采用从一个通道(channel,NAND FLASH颗粒与控制器之间的数据通路)中读取BOOT文件,然后加载到芯片中运行。
具体地,在传统技术中,控制器的一个通道内支持多个CE,控制器通过CE片选NANDFLASH的一个Target(CE),Target中包含多个Block,BOOT文件存放在Block中。如图1所示,当芯片运行时,会从Block中加载BOOT文件,然后运行。这种从单个通道读取BOOT文件启动的方式存在如下缺点:一、启动速度慢;二、启动的成功率不高,这给芯片启动代码带来很多不确定的因素。
发明内容
基于此,有必要针对上述技术问题,提供一种可以实现提高芯片BOOT启动效率的芯片BOOT启动方法、装置、计算机设备和存储介质。
一种芯片BOOT启动方法,所述方法包括:
获取芯片BOOT启动请求;
根据所述芯片BOOT启动请求同时从NAND FLASH的所有通道内加载BOOT文件;
同时读取所有通道内的BOOT文件并进行校验;
当有任一通道内的BOOT文件校验成功时,则所述芯片直接启动运行并不再继续读取BOOT文件。
在其中一个实施例中,所述同时读取所有通道内的BOOT文件并进行校验的步骤之后还包括:
当所有通道内的BOOT文件均校验失败时,则所述芯片启动失败。
在其中一个实施例中,所述根据所述芯片BOOT启动请求同时从NAND FLASH的所有通道内加载BOOT文件的步骤还包括:
根据所述芯片BOOT启动请求同时从NAND FLASH的四个通道内加载BOOT文件。
在其中一个实施例中,所述同时读取所有通道内的BOOT文件并进行校验的步骤包括:
同时读取所述四个通道内的BOOT文件;
对所述四个通道中每个通道内的第一份BOOT文件进行校验;
若所述第一份BOOT文件校验通过,则所述芯片直接启动运行;
若所述第一份BOOT文件校验失败,则对所述每个通道内下一份BOOT文件进行校验。
一种芯片BOOT启动装置,所述芯片BOOT启动装置包括:
获取模块,所述获取模块用于获取芯片BOOT启动请求;
加载模块,所述加载模块用于根据所述芯片BOOT启动请求同时从NAND FLASH的所有通道内加载BOOT文件;
校验模块,所述校验模块用于同时读取所有通道内的BOOT文件并进行校验;
启动模块,所述启动模块用于当有任一通道内的BOOT文件校验成功时,则所述芯片直接启动运行并不再继续读取BOOT文件。
在其中一个实施例中,所述芯片BOOT启动装置还包括:
启动终止模块,所述启动终止模块当所有通道内的BOOT文件均校验失败时,则所述芯片启动失败。
在其中一个实施例中,所述加载模块还用于:
根据所述芯片BOOT启动请求同时从NAND FLASH的四个通道内加载BOOT文件。
在其中一个实施例中,所述校验模块还用于:
同时读取所述四个通道内的BOOT文件;
对所述四个通道中每个通道内的第一份BOOT文件进行校验;
若所述第一份BOOT文件校验通过,则所述芯片直接启动运行;
若所述第一份BOOT文件校验失败,则对所述每个通道内下一份BOOT文件进行校验。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
上述芯片BOOT启动方法、装置、计算机设备和存储介质,首先获取芯片BOOT启动请求;根据所述芯片BOOT启动请求同时从NAND FLASH的所有通道内加载BOOT文件;同时读取所有通道内的BOOT文件并进行校验;当有任一通道内的BOOT文件校验成功时,则所述芯片直接启动运行并不再继续读取BOOT文件。本发明通过从NAND FLASH的多个Target同时读取多个BOOT文件,当有一个通道的BOOT文件校验成功,则使用该BOOT文件,这种多通道并发读取,同时读取校验多个文件的方法,使得BOOT速度和成功率大大提高。
附图说明
图1为传统技术中芯片BOOT启动的应用环境图;
图2为一个实施例中芯片BOOT启动方法的应用环境图;
图3为一个实施例中芯片BOOT启动方法的流程示意图;
图4为一个实施例中同时读取所有通道内的BOOT文件并进行校验的步骤的流程示意图;
图5为另一个实施例中芯片BOOT启动方法的具体流程图;
图6为一个实施例中芯片BOOT启动装置的结构框图;
图7为另一个实施例中芯片BOOT启动装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图2所示,本专利提出的芯片BOOT启动方法的应用环境图。通用的NAND控制芯片支持4个通道和4个CE(控制器不同会有所差异)。NAND FLASH连接一个4通道NAND控制器。在每个通道的第一个Target的第一个Block中,存放着BOOT文件,存放N份。当芯片BOOT启动,同时运行读取四个通道内的BOOT文件,当通道内的文件读取失败时,则继续读取下一个BOOT文件,当有个通道内的BOOT文件校验成功,则BOOT文件读取成功,开始运行加载。这种同时从多个通道读取多文件来校验加载BOOT文件的启动方式,将启动效率大大提高。
在一个实施例中,如图3所示,提供了一种芯片BOOT启动方法应用于图2中的应用环境中,该方法包括:
步骤302,获取芯片BOOT启动请求;
步骤304,根据芯片BOOT启动请求同时从NAND FLASH的所有通道内加载BOOT文件;
步骤306,同时读取所有通道内的BOOT文件并进行校验;
步骤308,当有任一通道内的BOOT文件校验成功时,则芯片直接启动运行并不再继续读取BOOT文件。
具体地,当芯片BOOT启动,同时运行读取多个通道内的BOOT文件,当通道内的文件读取失败时,则继续读取下一个BOOT文件,当有个通道内的BOOT文件校验成功,则BOOT文件读取成功,开始运行加载。
在其中一个具体实施例中,同时读取所有通道内的BOOT文件并进行校验的步骤之后还包括:
当所有通道内的BOOT文件均校验失败时,则芯片启动失败。
具体地,当所有通道内的BOOT文件均校验过,并且都校验失败时,表示所有通道内的BOOT文件都加载失败则启动失败。
在本实施例中,首先获取芯片BOOT启动请求;根据芯片BOOT启动请求同时从NANDFLASH的所有通道内加载BOOT文件;同时读取所有通道内的BOOT文件并进行校验;当有任一通道内的BOOT文件校验成功时,则芯片直接启动运行并不再继续读取BOOT文件。本发明通过从NAND FLASH的多个Target同时读取多个BOOT文件,当有一个通道的BOOT文件校验成功,则使用该BOOT文件,这种多通道并发读取,同时读取校验多个文件的方法,使得BOOT速度和成功率大大提高。
在其中一个具体实施例中,根据芯片BOOT启动请求同时从NAND FLASH的所有通道内加载BOOT文件的步骤还包括:根据芯片BOOT启动请求同时从NAND FLASH的四个通道内加载BOOT文件。
在其中一个具体的实施例中,参考图4,提供了一种芯片BOOT启动方法,其中同时读取所有通道内的BOOT文件并进行校验的步骤包括:
步骤402,同时读取四个通道内的BOOT文件;
步骤404,对四个通道中每个通道内的第一份BOOT文件进行校验;
步骤406,若第一份BOOT文件校验通过,则芯片直接启动运行;
步骤408,若第一份BOOT文件校验失败,则对每个通道内下一份BOOT文件进行校验。
具体地,参考图5,图5为一个完整的芯片BOOT启动流程图,(可以理解的是,图5中省略了其中CH2的流程图,因为每个通道的执行的流程步骤是一致的)包括以下流程:1.芯片启动。2.芯片同时从NAND FLASH颗粒的四个通道内加载BOOT文件。3.分别去加载BOOT文件,如果加载的BOOT文件校验失败,则继续加载下一份BOOT文件。4.当有读取的BOOT文件校验成功时,则芯片直接启动运行,不在继续读取;如果四个通道都加载失败则启动失败。
在本实施例中,通过从NAND FLASH的四个通道中同时读取多个BOOT文件,当有一个通道的BOOT文件校验成功,则使用该BOOT文件,这种多通道并发读取,同时读取校验多个文件的方法,使得BOOT速度和成功率大大提高。
应该理解的是,虽然图3-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种芯片BOOT启动装置600,该装置包括:
获取模块601,用于获取芯片BOOT启动请求;
加载模块602,用于根据芯片BOOT启动请求同时从NAND FLASH的所有通道内加载BOOT文件;
校验模块603,用于同时读取所有通道内的BOOT文件并进行校验;
启动模块604,用于当有任一通道内的BOOT文件校验成功时,则芯片直接启动运行并不再继续读取BOOT文件。
在一个实施例中,如图7所示,提供了一种芯片BOOT启动装置600,该装置包括:
启动终止模块605,当所有通道内的BOOT文件均校验失败时,则芯片启动失败。
在一个实施例中,加载模块602还用于:
根据芯片BOOT启动请求同时从NAND FLASH的四个通道内加载BOOT文件。
在一个实施例中,校验模块603还用于:
同时读取四个通道内的BOOT文件;
对四个通道中每个通道内的第一份BOOT文件进行校验;
若第一份BOOT文件校验通过,则芯片直接启动运行;
若第一份BOOT文件校验失败,则对每个通道内下一份BOOT文件进行校验。
关于芯片BOOT启动装置600的具体限定可以参见上文中对于芯片BOOT启动方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种芯片BOOT启动方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种芯片BOOT启动方法,所述方法包括:
获取芯片BOOT启动请求;
根据所述芯片BOOT启动请求同时从NAND FLASH的所有通道内加载BOOT文件;
同时读取所有通道内的BOOT文件并进行校验;
当有任一通道内的BOOT文件校验成功时,则所述芯片直接启动运行并不再继续读取BOOT文件;
所述根据所述芯片BOOT启动请求同时从NAND FLASH的所有通道内加载BOOT文件的步骤还包括:根据所述芯片BOOT启动请求同时从NAND FLASH的四个通道内加载BOOT文件;
所述同时读取所有通道内的BOOT文件并进行校验的步骤包括:同时读取所述四个通道内的BOOT文件;对所述四个通道中每个通道内的第一份BOOT文件进行校验;若所述第一份BOOT文件校验通过,则所述芯片直接启动运行;若所述第一份BOOT文件校验失败,则对所述每个通道内下一份BOOT文件进行校验。
2.根据权利要求1所述的芯片BOOT启动方法,其特征在于,所述同时读取所有通道内的BOOT文件并进行校验的步骤之后还包括:
当所有通道内的BOOT文件均校验失败时,则所述芯片启动失败。
3.一种芯片BOOT启动装置,其特征在于,所述芯片BOOT启动装置包括:
获取模块,所述获取模块用于获取芯片BOOT启动请求;
加载模块,所述加载模块用于根据所述芯片BOOT启动请求同时从NAND FLASH的所有通道内加载BOOT文件;
校验模块,所述校验模块用于同时读取所有通道内的BOOT文件并进行校验;
启动模块,所述启动模块用于当有任一通道内的BOOT文件校验成功时,则所述芯片直接启动运行并不再继续读取BOOT文件;
所述加载模块还用于:根据所述芯片BOOT启动请求同时从NAND FLASH的四个通道内加载BOOT文件;
所述校验模块还用于:同时读取所述四个通道内的BOOT文件;对所述四个通道中每个通道内的第一份BOOT文件进行校验;若所述第一份BOOT文件校验通过,则所述芯片直接启动运行;若所述第一份BOOT文件校验失败,则对所述每个通道内下一份BOOT文件进行校验。
4.根据权利要求3所述的芯片BOOT启动装置,其特征在于,所述芯片BOOT启动装置还包括:
启动终止模块,所述启动终止模块当所有通道内的BOOT文件均校验失败时,则所述芯片启动失败。
5.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1或2所述方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1或2所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811487644.2A CN109634674B (zh) | 2018-12-06 | 2018-12-06 | 芯片boot启动方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811487644.2A CN109634674B (zh) | 2018-12-06 | 2018-12-06 | 芯片boot启动方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109634674A CN109634674A (zh) | 2019-04-16 |
CN109634674B true CN109634674B (zh) | 2022-03-29 |
Family
ID=66071662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811487644.2A Active CN109634674B (zh) | 2018-12-06 | 2018-12-06 | 芯片boot启动方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109634674B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114185620B (zh) * | 2021-12-14 | 2023-10-10 | 深圳忆联信息系统有限公司 | 加速ssd固件加载实现方法、装置、计算机设备及存储介质 |
CN115454517B (zh) * | 2022-11-11 | 2023-03-10 | 山东云海国创云计算装备产业创新中心有限公司 | 多介质安全启动的方法、系统、存储介质、设备及芯片 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1914598A (zh) * | 2004-01-28 | 2007-02-14 | 索尼株式会社 | 半导体装置和用于启动该半导体装置的处理方法 |
CN103473098A (zh) * | 2013-09-10 | 2013-12-25 | 华为技术有限公司 | 一种boot程序的启动方法和相关装置 |
CN104077167A (zh) * | 2014-07-11 | 2014-10-01 | 杭州华三通信技术有限公司 | 基于nand flash的启动加载方法和装置 |
CN105653330A (zh) * | 2015-12-30 | 2016-06-08 | 国家电网公司 | 一种基于SD卡的NorFlash烧写系统和方法 |
-
2018
- 2018-12-06 CN CN201811487644.2A patent/CN109634674B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1914598A (zh) * | 2004-01-28 | 2007-02-14 | 索尼株式会社 | 半导体装置和用于启动该半导体装置的处理方法 |
CN103473098A (zh) * | 2013-09-10 | 2013-12-25 | 华为技术有限公司 | 一种boot程序的启动方法和相关装置 |
CN104077167A (zh) * | 2014-07-11 | 2014-10-01 | 杭州华三通信技术有限公司 | 基于nand flash的启动加载方法和装置 |
CN105653330A (zh) * | 2015-12-30 | 2016-06-08 | 国家电网公司 | 一种基于SD卡的NorFlash烧写系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109634674A (zh) | 2019-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933466B (zh) | 基于Python的固态硬盘控制器测试方法和装置 | |
CN110377454B (zh) | 数据校验方法、装置、计算机设备和存储介质 | |
CN110618819B (zh) | 自动化批量部署winpe系统的方法、装置和计算机设备 | |
CN109634674B (zh) | 芯片boot启动方法、装置、计算机设备和存储介质 | |
CN108241516B (zh) | 嵌入式系统程序加载方法、装置、计算机设备和存储介质 | |
CN109634676B (zh) | 基于主控芯片的nand boot启动方法和装置 | |
CN109582516B (zh) | Ssd后端性能分析方法、装置、计算机设备和存储介质 | |
CN115328692A (zh) | 基于固态硬盘的执行程序校验方法、装置和计算机设备 | |
CN114356369A (zh) | Ssd固件一致性加载方法、装置、计算机设备及存储介质 | |
CN109343792B (zh) | 存储空间配置方法、装置、计算机设备及存储介质 | |
CN109344018B (zh) | 多核cpu测试方法、装置、计算机设备和存储介质 | |
CN115563021A (zh) | 基于固态硬盘的重复读性能提升方法、装置和计算机设备 | |
CN109656948B (zh) | 位图数据处理方法、装置、计算机设备和存储介质 | |
CN110275596B (zh) | 基于固态硬盘的上电初始化加速方法、装置和计算机设备 | |
CN115527602A (zh) | Ram全地址测试方法、装置、计算机设备及存储介质 | |
CN114185620A (zh) | 加速ssd固件加载实现方法、装置、计算机设备及存储介质 | |
CN113760623A (zh) | 固态硬盘tcg协议功能测试方法、装置及计算机设备 | |
CN115527601A (zh) | 节省ram全地址测试时间的实现方法、装置及计算机设备 | |
CN112860287A (zh) | 系统程序升级方法、装置、计算机设备及存储介质 | |
CN109686394B (zh) | Nand Flash Phy参数配置方法和装置 | |
CN110825459A (zh) | 枚举常量热加载方法、装置、计算机设备及存储介质 | |
CN114327274A (zh) | 基于固态硬盘的映射表加载检查方法、装置及计算机设备 | |
CN109933293B (zh) | 基于SpiFlash的数据写入方法、装置和计算机设备 | |
CN114489855B (zh) | 流程节点控制方法、装置、计算机设备 | |
CN109977067B (zh) | 基于异构多核控制器的共享变量分配方法和装置 |
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 |