CN109976815B - Method and system for accelerating Nandboot - Google Patents
Method and system for accelerating Nandboot Download PDFInfo
- Publication number
- CN109976815B CN109976815B CN201910214571.8A CN201910214571A CN109976815B CN 109976815 B CN109976815 B CN 109976815B CN 201910214571 A CN201910214571 A CN 201910214571A CN 109976815 B CN109976815 B CN 109976815B
- Authority
- CN
- China
- Prior art keywords
- speed
- phy
- nfc
- header
- unit
- 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
- G06F9/4403—Processor initialisation
-
- 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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention relates to a method and a system for accelerating Nandboot; the method for accelerating Nandboot comprises the following steps: s1, starting a chip, and configuring NFC and PHY at low speed; s2, completing the configuration of the NandFlash particles in a low-speed state; s3, reading a Header of the boot file in the NandFlash; s4, analyzing the Header, and initializing the NFC and PHY restart to high speed by using parameters in the Header; s5, reading the rest boot files at high speed; and S6, loading the boot file and running. According to the invention, through special processing of the boot file, corresponding NFC and PHY configuration parameters are added, when the chip is started, the NFC and PHY are reconfigured by reading the parameters to improve the Nandboot speed, and meanwhile, because the high-speed configuration parameters are written in later period, the high-speed configuration parameters can be changed at any time, the condition that the time sequence does not meet the requirement is avoided, so that the whole starting speed is improved, the time is saved, and the scene with higher requirement on the starting time of the chip is met.
Description
Technical Field
The invention relates to the technical field of solid state disk chips, in particular to a method and a system for accelerating Nandboot.
Background
When a chip is started by using a Nandboot, the conventional mode at present adopts a starting process with constant speed, namely, a low-speed NandFlah controller (NFC) and PHY parameters are used for operating NandFlah. Although the low-speed configuration has low requirements on PHY parameters and the like, so that the whole chip can have good compatibility with NandFlash, the low speed is more suitable for initializing Nand particles, the later read-write operation on the particles is not dominant, and the scheme of firstly low speed and then high speed has great risk.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provides a method and a system for accelerating Nandboot.
In order to achieve the purpose, the invention adopts the following technical scheme:
a method of accelerating Nandboot, comprising the steps of:
s1, starting a chip, and configuring NFC and PHY at low speed;
s2, completing the configuration of the NandFlash particles in a low-speed state;
s3, reading a Header of the boot file in the NandFlash;
s4, analyzing the Header, and initializing the NFC and PHY restart to high speed by using parameters in the Header;
s5, reading the rest boot files at high speed;
and S6, loading the boot file and running.
The further technical scheme is as follows: in S1, the NFC and the PHY are initialized to low-speed configuration.
The further technical scheme is as follows: in S2, the method further includes: and loading the boot file for the Nandboot, and processing.
The further technical scheme is as follows: in S2, the method further includes: and adding a Header at the initial position of the boot file, wherein the Header comprises NandFlash particle information and configuration parameters of NFC and PHY.
The further technical scheme is as follows: in S2, the method further includes: and writing the whole boot file into the NandFlash particles for use by the Nandboot.
The further technical scheme is as follows: in S4, the parsing Header includes configuration information parameters of the high-speed NFC and the PHY.
A Nandboot acceleration system comprises a starting unit, a configuration unit, a first reading unit, an analysis unit, a second reading unit and a loading unit;
the starting unit is used for starting a chip and configuring NFC and PHY at a low speed;
the configuration unit is used for completing the configuration of the NandFlash particles in a low-speed state;
the first reading unit is used for reading a Header of a boot file in the NandFlash;
the analysis unit is used for analyzing the Header and initializing the restart of the NFC and the PHY to be high speed by using parameters in the Header;
the second reading unit is used for reading the rest boot files at a high speed;
and the loading unit is used for loading and running the boot file.
The further technical scheme is as follows: and in the starting unit, performing initial low-speed configuration on the NFC and the PHY.
The further technical scheme is as follows: and in the configuration unit, loading and processing a Nandboot file, adding a Header at the initial position of the boot file, wherein the Header comprises NandFlash particle information and configuration parameters of NFC and PHY, and writing the whole boot file into NandFlash particles for use by the Nandboot.
The further technical scheme is as follows: in the analysis unit, the analysis Header comprises configuration information parameters of high-speed NFC and PHY.
Compared with the prior art, the invention has the beneficial effects that: through carrying out special treatment to the boot file, add corresponding NFC and PHY configuration parameter, when the chip starts, improve Nandboot speed through reading these parameters and reconfiguring NFC and PHY, simultaneously, because the configuration parameter of high-speed is write in the later stage, can change at any time, has removed the not satisfied condition of requirement of chronogenesis from to improve whole boot speed, save time, can satisfy the demand better.
The invention is further described below with reference to the accompanying drawings and specific embodiments.
Drawings
FIG. 1 is a schematic flow diagram of a prior art method for accelerating Nandboot;
FIG. 2 is a flow chart of a method of accelerating a Nandboot according to the present invention;
FIG. 3 is a schematic diagram illustrating an application of a boot file according to the present invention;
fig. 4 is a block diagram of a Nandboot acceleration system according to the present invention.
10 starting unit 20 configuration unit
30 first reading unit 40 parsing unit
50 second reading unit 60 loading unit
Detailed Description
In order to more fully understand the technical content of the present invention, the technical solution of the present invention will be further described and illustrated with reference to the following specific embodiments, but not limited thereto.
In the embodiments shown in fig. 1 to 4, as in the prior art shown in fig. 1, during the whole process of loading and running the boot file, for stable boot of the chip, the NandFlash controller (NFC) is configured to be at a low speed; after the initialization of the chip is completed, the NFC/PHY is configured to be at a low speed, then the NandFlash is operated at the low speed all the time, and the file is loaded and run.
As shown in fig. 2 to 3, the present invention discloses a method for accelerating Nandboot, which comprises the following steps:
s1, starting a chip, and configuring NFC and PHY at low speed;
s2, completing the configuration of the NandFlash particles in a low-speed state;
s3, reading a Header of the boot file in the NandFlash;
s4, analyzing the Header, and initializing the NFC and PHY restart to high speed by using parameters in the Header;
s5, reading the rest boot files at high speed;
and S6, loading the boot file and running.
In S1, initializing low-speed configuration of NFC and PHY.
Wherein, in S2, the method further includes: and loading the boot file for the Nandboot, and processing.
Further, in S2, the method further includes: and adding a Header at the initial position of the boot file, wherein the Header comprises NandFlash particle information and configuration parameters of NFC and PHY.
Further, in S2, the method further includes: and writing the whole boot file into the NandFlash particles for use by the Nandboot.
In S4, the Header is parsed to include configuration information parameters of the high-speed NFC and PHY, and then the NFC and PHY are reconfigured using these parameters to operate in a high-speed state, so as to speed up reading of the remaining boot files, thereby saving time.
According to the invention, high-speed configuration information of NFC, PHY and the like is added in the binary file to be loaded, when the chip is started, the purpose of increasing the speed is achieved by analyzing and using the high-speed configuration information, so that the chip is started at a low speed, the risk that the NFC and the PHY are operated at a high speed after the chip is powered on (parameters in bootrom are not matched with the reality) is avoided, and meanwhile, the high-speed configuration information read in the later period is easier to maintain, so that the chip is more stable.
As shown in fig. 4, the present invention discloses a Nandboot acceleration system, which includes a starting unit 10, a configuration unit 20, a first reading unit 30, an analysis unit 40, a second reading unit 50, and a loading unit 60;
the starting unit 10 is used for starting a chip and configuring NFC and PHY at a low speed;
the configuration unit 20 is configured to complete configuration of the NandFlash particles in a low-speed state;
the first reading unit 30 is configured to read a Header of a boot file in the NandFlash;
the parsing unit 40 is configured to parse the Header, and initialize the restart of the NFC and the PHY to a high speed by using parameters in the Header;
the second reading unit 50 is configured to read the remaining boot files at a high speed;
the loading unit 60 is configured to load a boot file and run the boot file.
In the starting unit 10, the NFC and the PHY are initially configured at a low speed.
In the configuration unit 20, a boot file is loaded and processed on the Nandboot, a Header is added to the start position of the boot file, the Header includes NandFlash particle information, and configuration parameters of NFC and PHY, and the whole boot file is written into the NandFlash particles for the Nandboot to use.
In the parsing unit 40, the parsing Header includes configuration information parameters of the high-speed NFC and the PHY.
According to the invention, through special processing of the boot file, corresponding NFC and PHY configuration parameters are added, when the chip is started, the NFC and PHY are reconfigured by reading the parameters to improve the Nandboot speed, and meanwhile, because the high-speed configuration parameters are written in later period, the high-speed configuration parameters can be changed at any time, the condition that the time sequence does not meet the requirement is avoided, so that the whole starting speed is improved, the time is saved, and the scene with higher requirement on the starting time of the chip is met.
The technical contents of the present invention are further illustrated by the examples only for the convenience of the reader, but the embodiments of the present invention are not limited thereto, and any technical extension or re-creation based on the present invention is protected by the present invention. The protection scope of the invention is subject to the claims.
Claims (9)
1. A method of accelerating a Nandboot, comprising the steps of:
s1, starting a chip, and configuring NFC and PHY at low speed;
s2, completing the configuration of the NandFlash particles in a low-speed state;
s3, reading a Header of the boot file in the NandFlash;
s4, parsing the Header, and initializing the NFC and PHY restart to high speed by using configuration parameters in the Header;
s5, reading the rest boot files at high speed;
and S6, loading the boot file and running.
2. The method of claim 1, wherein in S1, the NFC and PHY are initialized to low-speed configuration.
3. The method for accelerating Nandboot as claimed in claim 1, wherein in the step S2, further comprising: and adding a Header at the initial position of the boot file, wherein the Header comprises NandFlash particle information and configuration parameters of NFC and PHY.
4. The method for accelerating Nandboot as claimed in claim 3, wherein the step S2 further comprises: and writing the whole boot file into the NandFlash particles for use by the Nandboot.
5. The method of claim 1, wherein in the S4, parsing the Header comprises obtaining high-speed configuration parameters of NFC and PHY.
6. A Nandboot acceleration system is characterized by comprising a starting unit, a configuration unit, a first reading unit, an analysis unit, a second reading unit and a loading unit;
the starting unit is used for starting a chip and configuring NFC and PHY at a low speed;
the configuration unit is used for completing the configuration of the NandFlash particles in a low-speed state;
the first reading unit is used for reading a Header of a boot file in the NandFlash;
the analysis unit is used for analyzing the Header and initializing the restart of the NFC and the PHY to be high speed by using configuration parameters in the Header;
the second reading unit is used for reading the rest boot files at a high speed;
and the loading unit is used for loading and running the boot file.
7. The system of claim 6, wherein the boot unit is configured to initialize the NFC and the PHY for low speed configuration.
8. The system according to claim 6, wherein in the configuration unit, a Header is added to a start position of the boot file, the Header contains NandFlash particle information, and configuration parameters of NFC and PHY, and the entire boot file is written into the NandFlash particles for use by the nandfoot.
9. The system of claim 6, wherein the parsing unit is configured to parse a Header including obtaining high-speed configuration parameters of the NFC and the PHY.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910214571.8A CN109976815B (en) | 2019-03-20 | 2019-03-20 | Method and system for accelerating Nandboot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910214571.8A CN109976815B (en) | 2019-03-20 | 2019-03-20 | Method and system for accelerating Nandboot |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109976815A CN109976815A (en) | 2019-07-05 |
CN109976815B true CN109976815B (en) | 2022-03-29 |
Family
ID=67079740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910214571.8A Active CN109976815B (en) | 2019-03-20 | 2019-03-20 | Method and system for accelerating Nandboot |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109976815B (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135927A (en) * | 2011-04-29 | 2011-07-27 | 杭州华三通信技术有限公司 | Method and device for system booting based on NAND FLASH |
CN102163158A (en) * | 2011-04-29 | 2011-08-24 | 北京凡达讯科技有限公司 | Method for starting system-on-a-chip by NAND flash memory |
CN102799496A (en) * | 2012-06-30 | 2012-11-28 | 深圳市同洲电子股份有限公司 | Method and device for checking operating system kernel and file system in Nand-flash memory |
CN103279399A (en) * | 2013-06-27 | 2013-09-04 | 北京汉邦高科数字技术股份有限公司 | Method for starting embedded CPU (central processing unit) on NAND Flash |
CN104239077A (en) * | 2013-06-13 | 2014-12-24 | 北京赛科世纪数码科技有限公司 | Method and device for starting boot program and CPU |
US20150067242A1 (en) * | 2013-08-28 | 2015-03-05 | Kyocera Document Solutions Inc. | Information processing device |
US20150378609A1 (en) * | 2011-05-05 | 2015-12-31 | Novatek Microelectronics Corp. | Method for initializing nand flash |
CN107145336A (en) * | 2017-05-12 | 2017-09-08 | 郑州云海信息技术有限公司 | Embedded System Code storage and startup method based on NAND FLASH |
CN108897576A (en) * | 2018-06-19 | 2018-11-27 | 上海繁易信息科技股份有限公司 | A method of the quick start BOOT based on ARM chip |
-
2019
- 2019-03-20 CN CN201910214571.8A patent/CN109976815B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102135927A (en) * | 2011-04-29 | 2011-07-27 | 杭州华三通信技术有限公司 | Method and device for system booting based on NAND FLASH |
CN102163158A (en) * | 2011-04-29 | 2011-08-24 | 北京凡达讯科技有限公司 | Method for starting system-on-a-chip by NAND flash memory |
US20150378609A1 (en) * | 2011-05-05 | 2015-12-31 | Novatek Microelectronics Corp. | Method for initializing nand flash |
CN102799496A (en) * | 2012-06-30 | 2012-11-28 | 深圳市同洲电子股份有限公司 | Method and device for checking operating system kernel and file system in Nand-flash memory |
CN104239077A (en) * | 2013-06-13 | 2014-12-24 | 北京赛科世纪数码科技有限公司 | Method and device for starting boot program and CPU |
CN103279399A (en) * | 2013-06-27 | 2013-09-04 | 北京汉邦高科数字技术股份有限公司 | Method for starting embedded CPU (central processing unit) on NAND Flash |
US20150067242A1 (en) * | 2013-08-28 | 2015-03-05 | Kyocera Document Solutions Inc. | Information processing device |
CN107145336A (en) * | 2017-05-12 | 2017-09-08 | 郑州云海信息技术有限公司 | Embedded System Code storage and startup method based on NAND FLASH |
CN108897576A (en) * | 2018-06-19 | 2018-11-27 | 上海繁易信息科技股份有限公司 | A method of the quick start BOOT based on ARM chip |
Non-Patent Citations (1)
Title |
---|
"nand flash boot";devehe;《https://blog.csdn.net/devehe/article/details/5566706》;20100507;第1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109976815A (en) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5209125B2 (en) | General-purpose USB driver | |
CN100365576C (en) | Memory mirror starting optimization of built-in operation system | |
CN103677915B (en) | A method of card is started based on TF and carries out the automatic programming of flash mirror | |
US8195930B2 (en) | Computer system with reduced storage device and associated booting method | |
CN102053849B (en) | Distributed system, main system and slave systems thereof and a code loading method | |
US9411603B2 (en) | Chip and starting method thereof | |
CN111209048A (en) | Dynamic configuration method and device for embedded operating system | |
CN109976815B (en) | Method and system for accelerating Nandboot | |
CN110413331B (en) | SPI NOR FLASH identification method, device, system and storage medium based on ROM | |
CN112988248B (en) | Computer readable storage medium and method for starting intelligent terminal operating system from multiple storage media | |
CN113961505A (en) | High-performance hardware acceleration and algorithm verification system and method | |
CN104808953A (en) | Device and method for controlling data storage and mobile terminal | |
CN107168919A (en) | A kind of missile-borne platform data acquisition and memory system and method | |
US20100017588A1 (en) | System, method, and computer program product for providing an extended capability to a system | |
US20070260757A1 (en) | Command interface for flash device | |
CN100578477C (en) | Method and system for realizing normal working of compound device | |
CN100565489C (en) | Adapter apparatus, data communication system | |
CN101799793B (en) | Flash memory control method and device | |
CN101710237B (en) | Equipment production flow using flash memory as storage medium | |
CN114911533A (en) | NorFlash interface-based chip starting method | |
CN110297605B (en) | Method and device for effectively improving solid state disk firmware loading speed | |
CN114339970A (en) | Low-power-consumption WiFi networking transmission method and device and storage medium | |
US20110022765A1 (en) | System, method, and computer program product for maintaining a direct connection between an initiator and a drive | |
CN115509965A (en) | Memory controller and link identification method | |
CN106293620A (en) | Method for detecting parameters in Flash Rom by intel platform |
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 |