CN116932009B - Method, device and medium for upgrading field firmware of storage device - Google Patents
Method, device and medium for upgrading field firmware of storage device Download PDFInfo
- Publication number
- CN116932009B CN116932009B CN202311174586.9A CN202311174586A CN116932009B CN 116932009 B CN116932009 B CN 116932009B CN 202311174586 A CN202311174586 A CN 202311174586A CN 116932009 B CN116932009 B CN 116932009B
- Authority
- CN
- China
- Prior art keywords
- memory device
- flash memory
- command
- data packet
- main control
- 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 43
- 230000004044 response Effects 0.000 claims abstract description 11
- 230000009471 action Effects 0.000 claims description 15
- 238000002360 preparation method Methods 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 13
- 101150098958 CMD1 gene Proteins 0.000 claims description 8
- 101100382321 Caenorhabditis elegans cal-1 gene Proteins 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006854 communication Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
The application provides a method, a device and a medium for upgrading field firmware of a storage device, wherein the method comprises the following steps: executing initialization of the flash memory device in response to a command queue issued by a main control module, so that the main control module accesses the flash memory device through read-write operation, wherein the initialization comprises configuring parameters for loading an upgrade data packet; and responding to the writing task of the main control module, and acquiring the upgrade data packet from the main control module according to the parameter of the loading upgrade data packet so as to install the upgrade data packet into the flash memory device. The method can effectively perfect the upgrading mode of ffu, meet the upgrading requirement under special conditions and improve the product adaptability.
Description
Technical Field
The present invention relates to the field of data processing, and in particular, to a method, an apparatus, and a medium for upgrading field firmware of a storage device.
Background
An embedded multimedia controller (Embedded Multi Media Card, eMMC) is a device capable of storing code and data management. The eMMC at least comprises a multimedia Card (MMC) interface, a flash memory and a flash memory controller, and has the characteristics of high-speed data interface, front-back compatibility, high storage density and the like. When the eMMC performs firmware upgrade, the pre-defined (cmd 23+cmd 25) and open-end (cmd 25+cmd 12) modes are generally used for performing field firmware upgrade (Field Firmware Update, FFU) operation, and when the command queue of a part of the platform is enabled and the task of the command queue is empty, normal firmware upgrade cannot be performed in the two modes.
Disclosure of Invention
In view of the problems in the prior art, the invention provides a method, a device and a medium for upgrading field firmware of a storage device, which mainly solve the problem of limited application caused by single existing firmware upgrading mode.
In order to achieve the above and other objects, the present invention adopts the following technical scheme.
The application provides a field firmware upgrading method of a storage device, which comprises the following steps: executing initialization of the flash memory device in response to a command queue issued by a main control module, so that the main control module accesses the flash memory device through read-write operation, wherein the initialization comprises configuring parameters for loading an upgrade data packet; and responding to the writing task of the main control module, and acquiring the upgrade data packet from the main control module according to the parameter of the loading upgrade data packet so as to install the upgrade data packet into the flash memory device.
In an embodiment of the present application, the step of performing initialization of the flash memory device includes: after the flash memory device is powered on, a reset action is executed so as to feed back a device authentication identifier when the flash memory device enters an idle state; acquiring a relative equipment address configured by the main control module according to the equipment authentication identifier; and carrying out feedback confirmation of the register state based on the relative equipment address so as to acquire the parameters of the loading upgrading data packet according to the register state.
In an embodiment of the present application, the parameters for loading the upgrade data include a clock frequency and a bus bandwidth.
In an embodiment of the present application, before obtaining the upgrade data packet from the main control module according to the parameter of the loading upgrade data packet, the method further includes: registering a writing task to a task queue according to a registration command of the main control module; according to the inquiry command of the main control module, feeding back the task state in the task queue; and if the task state of the writing task enters a preparation state, receiving an upgrade data packet written in by the main control module.
In an embodiment of the present application, after feeding back the task status in the task queue, the method further includes: after receiving the inquiry command, if the writing task does not enter the ready state yet after the preset time, the upgrading is failed, and the upgrading action is stopped.
The application also provides a field firmware upgrading method of the storage device, which comprises the following steps: issuing a command queue to a flash memory device so that the flash memory device performs initialization according to the command queue, wherein the initialization comprises configuring parameters for loading an upgrade data packet; and registering a writing task with the flash memory device, so that when the writing task is in a preparation state, the upgrading data packet is written into the flash memory device according to the parameters of the loading upgrading data packet.
In an embodiment of the present application, the step of issuing a command queue to the flash memory device to cause the flash memory device to perform initialization according to the command queue includes: after power-on, a first command is issued, so that the flash memory device is reset; issuing a second command, negotiating operation parameters with the flash memory device, and acquiring the device state of the flash memory device, wherein the operation parameters comprise an operation voltage range; when the equipment state enters a preparation state, a third command is issued according to the operation parameter, and an equipment authentication identifier of the flash memory equipment is obtained; issuing a fourth command according to the device authentication identifier, and distributing a relative device address for the flash memory device; a fifth command is issued according to the relative equipment address, and a specific data register is obtained; according to the relative equipment address, a sixth command is issued, and the state of the specific data register is detected; when the specific data register does not report errors, a seventh command is issued to execute the selected action of the flash memory device; and continuing to issue a sixth command, and issuing an eighth command to configure parameters for loading the upgrade data packet when the specific data register does not report errors, so as to finish the initialization process.
The application also provides a field firmware upgrading device of the storage device, which comprises: the initialization module is configured to respond to a command queue issued by the main control module and execute initialization of the flash memory device so that the main control module accesses the flash memory device through read-write operation, wherein the initialization comprises configuration and loading of parameters of an upgrade data packet; and the upgrade module is configured to respond to the writing task of the main control module, acquire the upgrade data packet from the main control module according to the parameter of the loading upgrade data packet, and install the upgrade data packet to the flash memory device.
The application also provides a field firmware upgrading device of the storage device, which comprises: the system comprises a command queue transmission module, a flash memory device and a control module, wherein the command queue transmission module is used for issuing a command queue to the flash memory device so that the flash memory device performs initialization according to the command queue, and the initialization comprises the steps of configuring parameters for loading an upgrade data packet; and the writing command management module is used for registering a writing task to the flash memory device so as to write the upgrading data packet into the flash memory device according to the parameters of the loading upgrading data packet when the writing task is in a preparation state.
The present application also provides a computer-readable storage medium having instructions stored thereon that, when executed by one or more processors, cause an apparatus to perform a method of field firmware upgrade of the storage device.
As described above, the method, the device and the medium for upgrading the field firmware of the storage device have the following beneficial effects.
According to the method and the device, the flash memory device can be initialized according to the command queue issued by the main control module, so that the main control module accesses the flash memory device through read-write operation, firmware upgrading is finished based on the read-write operation, and firmware upgrading requirements of different platforms can be met.
Drawings
Fig. 1 is a schematic diagram of a connection structure between a Host module Host and a flash memory device in an embodiment of the present application.
Fig. 2 is a flowchart of a flash memory device side field firmware upgrading method according to an embodiment of the present application.
FIG. 3 is a flow chart illustrating the initialization of a flash memory device according to an embodiment of the present application.
Fig. 4 is a flow chart of a method for upgrading field firmware on a main control module side in an embodiment of the present application.
FIG. 5 is a flow chart illustrating an overall process of field firmware upgrade according to an embodiment of the present application.
FIG. 6 is a flow chart illustrating writing of upgrade data by writing operation according to an embodiment of the present application.
Fig. 7 is a schematic block diagram of a field firmware upgrade apparatus on a flash memory device side according to an embodiment of the present application.
Fig. 8 is a schematic block diagram of an embodiment of a device for upgrading field firmware on a main control module side.
Detailed Description
Other advantages and effects of the present invention will become apparent to those skilled in the art from the following disclosure, which describes the embodiments of the present invention with reference to specific examples. The invention may be practiced or carried out in other embodiments that depart from the specific details, and the details of the present description may be modified or varied from the spirit and scope of the present invention. It should be noted that the following embodiments and features in the embodiments may be combined with each other without conflict.
It should be noted that the illustrations provided in the following embodiments merely illustrate the basic concept of the present invention by way of illustration, and only the components related to the present invention are shown in the drawings and are not drawn according to the number, shape and size of the components in actual implementation, and the form, number and proportion of the components in actual implementation may be arbitrarily changed, and the layout of the components may be more complicated.
Referring to fig. 1, fig. 1 is a schematic diagram illustrating a connection structure between a Host module Host and a flash memory device in an embodiment of the present application. The flash memory device may adopt an eMMC chip, and in the embodiment of the present application, a field firmware upgrade mode of the eMMC chip is mainly described in detail. As can be seen from FIG. 1, the eMMC chip has 11 buses, CMD, DATA0-7, CLK and DATA strobe, respectively. The CLK signal is used for outputting a clock signal from the Host terminal, and performing data transmission synchronization and device operation driving. The CMD and DATA0-7 signals may both support 1 bit transmission in one clock cycle, i.e., SDR (Single Data Rate) mode. In addition, the DATA0-7 signal also supports a configuration in DDR (Double Data Rate) mode, where 2 bits can be transmitted in one clock cycle. The Host module Host can dynamically adjust the frequency of the clock signal in the communication process. By adjusting the clock frequency, a power saving or data flow control (avoiding Over-run or render-run) function can be implemented. In some scenarios, the Host module Host may also turn off the clock, for example, when eMMC is in Busy state, or when data is received, and the Host module goes into Programming State. The CMD signal is mainly used for sending Command to the eMMC by the Host and sending corresponding Response to the Host by the eMMC. The DATA0-7 signals are mainly used for DATA transmission between the Host and the eMMC. After the eMMC is powered on or is in soft reset, only DATA0 can be used for DATA transmission, and after initialization is completed, DATA0-3 or DATA0-7 can be configured for DATA transmission, namely, a DATA bus can be configured into a 4 bits mode or an 8 bits mode. The Data Strobe clock signal is sent to the Host by the eMMC, and the frequency is the same as the CLK signal, so that the Host side can be used for synchronizing Data reception. The Data Strobe signal can be configured and started only in the HS400 mode, and after the Data Strobe signal is started, the stability of Data transmission can be improved, and a bus tuning process is omitted.
Referring to fig. 2, fig. 2 is a flow chart of a flash memory device side field firmware upgrading method according to an embodiment of the present application, based on the connection mode shown in fig. 1, the present application proposes a field firmware upgrading method using a flash memory device as an execution main body, the method includes the following steps:
step S200, in response to a command queue issued by the main control module, initializing the flash memory device so that the main control module accesses the flash memory device through read-write operation, wherein the initialization includes configuring parameters for loading the upgrade data packet.
In an embodiment, taking an eMMC device as an example of a flash memory device, the eMMC device may receive a Command queue (cmdq) issued by a host module via a CMD bus for initialization operation. The command queue is transmitted on the CMD bus by a plurality of read-write commands queued. After each command in one cmdq is received, the eMMC feeds back response data (response).
Referring to fig. 3, fig. 3 is a schematic flow chart of the initialization of the flash memory device according to an embodiment of the present application. The step of performing initialization of the flash memory device includes:
step S301, after the flash memory device is powered on, a reset action is performed to feed back a device authentication identifier when entering an idle state.
Specifically, after the main control module and the eMMC chip are powered on, the eMMC chip executes a reset action by receiving a cmd0+0 command issued by the main control module, and the eMMC chip is enabled to enter an Idle state (i.e., an Idle state) through the cmd0+0. And then receiving cmd1+0x40ff8080 issued by the main control module, wherein the parameter 0x40ff8080 of the command represents the voltage value to be used by the main control module. After receiving the command, the eMMC chip returns response data R3, where busy bit in R3 is 0, which indicates that the eMMC chip is not ready, and the master control module repeatedly sends cmd1 to wait for the eMMC chip to return ready. After receiving ready data of the eMMC chip, the main control module continues to issue cmd2+0x40ff8080, and after receiving the command, the eMMC chip feeds back a device authentication identifier (Device Identification, CID).
Step S302, the relative device address configured by the main control module is obtained according to the device authentication identifier.
Specifically, after the main control module receives the CID, it dynamically allocates a relative device address (Relative device address, RCA) to the eMMC chip according to the CID, and transmits the allocated relative device address to the eMMC chip through the command cmd3+ RCA.
Step S303, feedback confirmation of the register state is performed based on the relative device address, so as to obtain parameters of the loading upgrade data packet according to the register state.
Specifically, after the relative Device address is obtained according to the foregoing command issued by the main control module, the Device-specific data (CSD) of the eMMC chip is sent to the CMD bus according to the CMD9+rca issued by the main control module, where the CSD register stores Device-specific data including information such as a Device working condition. Further, according to CMD13+rca issued by the main control module, the eMMC sends the status register to the CMD bus, and the main control module can determine the current status of the eMMC chip according to the status register. Because the main control module can be connected with a plurality of eMMC chips simultaneously, after obtaining the current state of eMMC chips, the main control module can issue cmd7 +RCA, selects eMMC chips through current RCA. After the chip selection is completed, cmd13+RCA is issued again, and the selected eMMC chip returns to the current state. When the current state of the eMMC chip meets the requirement, the main control module issues cmd6+ arg, and the clock frequency timing of data transmission and the bus bandwidth are set through the command. Thereby completing the initialization process of the whole eMMC chip.
Step S210, responding to the writing task of the main control module, and acquiring the upgrade data packet from the main control module according to the parameter of loading the upgrade data packet so as to install the upgrade data packet into the flash memory device.
In an embodiment, before the upgrade data packet is obtained from the main control module according to the parameter of the loading upgrade data packet, the method further includes: registering the writing task to a task queue according to a registration command of the main control module; according to the inquiry command of the main control module, feeding back the task state in the task queue; and if the task state of the writing task enters the preparation state, receiving an upgrade data packet written in by the main control module.
Specifically, the registration commands may be represented as cmd44+arg and cmd+arg, with which the write task queue is registered. After the write task registration is completed, the master control module may issue a query command, which may be expressed as cmd13+ arg. The eMMC chip may feedback the status of the write task in response to the query command. If the writing task enters a preparation state, issuing cmd47+ arg to write the upgrading data packet into the eMMC chip, and installing the upgrading data packet into the eMMC chip.
In one embodiment, after feeding back the task status in the task queue, the method further includes: after receiving the inquiry command, if the writing task does not enter the ready state yet after the preset time, the upgrading is failed, and the upgrading action is stopped.
Specifically, the preset time may be set to 10s, and if the writing task does not enter the ready state within 10s after the inquiry command cmd13+ arg is issued, the upgrade is considered to be failed. The specific preset time can be configured and adjusted according to the actual application requirements, and is not limited herein.
The main control module can read the value of an expanded data register estcsd [26] of the eMMC chip, and judge whether the upgrade data packet is successfully installed or not according to the value. If the value of estcsd [26] is 0, then it indicates that the upgrade was successful, and if the value of estcsd [26] is non-zero, then the upgrade failed.
Referring to fig. 4, fig. 4 is a flowchart illustrating a method for upgrading field firmware on a main control module side according to an embodiment of the present application. The method comprises the following steps:
step S400, issuing a command queue to the flash memory device so that the flash memory device performs initialization according to the command queue, wherein the initialization includes configuring parameters for loading the upgrade data packet.
In one embodiment, the step of issuing a command queue to the flash memory device to cause the flash memory device to perform initialization according to the command queue includes: after power-on, a first command is issued to reset the flash memory device; issuing a second command, negotiating operation parameters with the flash memory device, and acquiring the device state of the flash memory device, wherein the operation parameters comprise an operation voltage range; when the equipment state enters a preparation state, a third command is issued according to the operation parameters, and an equipment authentication identifier of the flash memory equipment is obtained; issuing a fourth command according to the device authentication identifier, and distributing a relative device address for the flash memory device; a fifth command is issued according to the relative equipment address, and a specific data register is obtained; according to the relative equipment address, issuing a sixth command, and detecting the state of a specific data register; when the specific data register does not report errors, a seventh command is issued to execute the selected action of the flash memory device; and continuing to issue a sixth command, and issuing an eighth command to configure parameters for loading the upgrade data packet when the specific data register does not report errors, and ending the initialization process.
Referring to fig. 5, fig. 5 is an overall flow chart of a field firmware upgrade in an embodiment of the present application. In an embodiment, the command queue may include the first to eighth commands described above, and in particular, the command queue may include: cmd0+0, cmd1+0x40ff8080, cmd2+0x40ff8080, cmd3+RCA, cmd9+RCA, cmd13+RCA, cmd7+RCA, cmd6+arg. The method for using cmdq to make FFU includes the following steps:
s501: powering up a Host main board, and powering up an eMMC flash memory chip;
s502: host issues cmd0+0, reset device (eMMC flash chip);
s503: host issues cmd1+0x40ff8080 waiting for ready;
s504: host issues cmd2+0x40ff8080 to obtain CID;
s505: host issues cmd3+RCA, and RCA is set;
s506: host issues cmd9+RCA to obtain CSD register;
s507: host issues cmd13+RCA to obtain the current state;
s508, host issues cmd7 +RCA, and performs a select card action;
s509, host issues cmd13+RCA to obtain the current state;
s510, host issues cmd6+arg, and sets transmission timing and buswidth;
s511, preparing ffu upgrade data packets, and importing Host running memory;
s512, host issues a cmdq write command to write ffu data into the eMMC chip and installs the data into a device;
s513, the Host detects whether ffu is successful by reading the value of extcsd [26 ];
s514: if the value is not 0, ffu fails;
s515: if the value is 0, ffu is successful;
s516, ending.
In step S410, a writing task is registered with the flash memory device, so that when the writing task is in a ready state, the upgrade data packet is written into the flash memory device according to the parameters for loading the upgrade data packet.
Referring to fig. 6, fig. 6 is a flow chart illustrating writing of upgrade data by writing operation in an embodiment of the present application. The specific steps are as follows:
s601, initializing the eMMC by a main control module Host;
s602, preparing ffu upgrade data packets, and importing the upgrade data packets into a Host running memory;
s603, host issues cmd44+arg and cmd45+arg to register a write task queue;
s604, host issues cmd13+arg, and inquires whether the current state is to write task ready;
s604.1 if ready performs the next step S605;
s604.2 if there is no ready, continuing to S604, if the 10S is issued still not ready, fail;
s605, host issues cmd47+ arg to write ffu data into the eMMC chip and install the data into the device;
s606, host detects ffu success by reading the value of extcsd [26 ];
s606.1: if the value is not 0, ffu fails;
s606.2: if the value is 0, ffu is successful;
s607, ending.
Based on the technical scheme, the FFU is carried out in a command queue mode, so that the FFU upgrading mode can be effectively perfected, and the eMMC chip is assisted to do FFU operation under the special condition of certain platforms.
Referring to fig. 7, fig. 7 is a schematic block diagram of a field firmware upgrade apparatus on a flash memory device side according to an embodiment of the present application. The application also provides a field firmware upgrading device of the storage device, which comprises: an initialization module 70 configured to perform initialization of the flash memory device in response to a command queue issued by the main control module, so that the main control module accesses the flash memory device through a read-write operation, wherein the initialization includes configuring parameters for loading an upgrade data packet; the upgrade module 71 is configured to obtain an upgrade data packet from the main control module according to parameters for loading the upgrade data packet in response to a write task of the main control module, so as to install the upgrade data packet into the flash memory device.
In one embodiment, the initialization module 70 may be configured to perform the steps of initializing a flash memory device comprising: after the flash memory device is powered on, a reset action is executed so as to feed back a device authentication identifier when the flash memory device enters an idle state; acquiring a relative equipment address configured by the main control module according to the equipment authentication identifier; and carrying out feedback confirmation of the register state based on the relative equipment address so as to acquire parameters of the loading upgrading data packet according to the register state.
In one embodiment, the parameters for loading the upgrade data include clock frequency and bus bandwidth.
In an embodiment, the upgrade module 71 may be configured to register the writing task to the task queue according to a registration command of the main control module before acquiring the upgrade data packet from the main control module according to the parameter of the loading upgrade data packet; according to the inquiry command of the main control module, feeding back the task state in the task queue; and if the task state of the writing task enters the preparation state, receiving an upgrade data packet written in by the main control module.
In an embodiment, the upgrade module 71 may be configured to, after feeding back the task status in the task queue, receive the query command, and write the task beyond the preset time without entering the ready state, fail the upgrade, and stop the upgrade.
For specific limitations on the field firmware upgrading apparatus on the flash memory device side, reference may be made to the above limitation on the field firmware upgrading method on the flash memory device side, and no further description is given here.
The above-described respective modules in the field firmware upgrade apparatus on the flash memory device side may be implemented in whole or in part by software, hardware, and combinations thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
Referring to fig. 8, fig. 8 is a schematic block diagram of an apparatus for upgrading field firmware on a main control module side according to an embodiment of the present application. The present application also provides a field firmware upgrading apparatus for a memory device, where the apparatus includes a command queue transmission module 80 configured to issue a command queue to a flash memory device, so that the flash memory device performs initialization according to the command queue, where the initialization includes configuring parameters for loading an upgrade data packet; the write command management module 81 is configured to register a write task with the flash memory device, so as to write the upgrade data packet into the flash memory device according to the parameter for loading the upgrade data packet when the write task is in a ready state.
In one embodiment, the command queue transmission module 80 is configured to issue a command queue to the flash memory device, so that the flash memory device performs initialization according to the command queue, including: after power-on, a first command is issued to reset the flash memory device; issuing a second command, negotiating operation parameters with the flash memory device, and acquiring the device state of the flash memory device, wherein the operation parameters comprise an operation voltage range; when the equipment state enters a preparation state, a third command is issued according to the operation parameters, and an equipment authentication identifier of the flash memory equipment is obtained; issuing a fourth command according to the device authentication identifier, and distributing a relative device address for the flash memory device; a fifth command is issued according to the relative equipment address, and a specific data register is obtained; according to the relative equipment address, issuing a sixth command, and detecting the state of a specific data register; when the specific data register does not report errors, a seventh command is issued to execute the selected action of the flash memory device; and continuing to issue a sixth command, and issuing an eighth command to configure parameters for loading the upgrade data packet when the specific data register does not report errors, and ending the initialization process.
For specific limitation of the field firmware upgrading device on the main control module side, reference may be made to the limitation of the field firmware upgrading method on the main control module side hereinabove, and the description thereof will not be repeated here.
All or part of each module in the field firmware upgrading device at the main control module side can be realized by software, hardware and a combination thereof. The above modules may be embedded in hardware or may be independent of a processor in the computer device, or may be stored in software in a memory in the computer device, so that the processor may call and execute operations corresponding to the above modules.
Those skilled in the art will appreciate that implementing all or part of the above-described methods may be accomplished by way of a computer program, which may be stored on a non-transitory computer readable storage medium and which, when executed, may comprise the steps of the above-described embodiments of the methods. Any reference to memory, storage, database, or other medium used in the various embodiments provided herein may include non-volatile and/or volatile memory. The nonvolatile memory can include Read Only Memory (ROM), programmable ROM (PROM), electrically Programmable ROM (EPROM), electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), memory bus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), among others.
In the description of the present specification, the descriptions of the terms "present embodiment," "example," "specific example," and the like, mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present invention. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiments or examples. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
The above embodiments are merely illustrative of the principles of the present invention and its effectiveness, and are not intended to limit the invention. Modifications and variations may be made to the above-described embodiments by those skilled in the art without departing from the spirit and scope of the invention. Accordingly, it is intended that all equivalent modifications and variations of the invention be covered by the claims, which are within the ordinary skill of the art, be within the spirit and scope of the present disclosure.
Claims (7)
1. A method for upgrading field firmware of a memory device, comprising:
in response to a command queue issued by a main control module, executing initialization of the flash memory device, so that the main control module accesses the flash memory device through read-write operation, wherein the initialization comprises configuring parameters for loading an upgrade data packet, and the step of executing the initialization of the flash memory device comprises the following steps: after the flash memory device is powered on, a reset action is executed so as to feed back a device authentication identifier when the flash memory device enters an idle state; acquiring a relative equipment address configured by the main control module according to the equipment authentication identifier; feedback confirmation of a register state is carried out based on the relative equipment address so as to acquire parameters of the loading upgrading data packet according to the register state; the command queue includes: cmd0+0, cmd1+0x40ff8080, cmd2+0x40ff8080, cmd3+RCA, cmd9+RCA, cmd13+RCA, cmd7+RCA, cmd6+arg;
responding to a writing task of the main control module, and acquiring an upgrade data packet from the main control module according to the parameter of the loading upgrade data packet so as to install the upgrade data packet into the flash memory device; before the upgrade data packet is obtained from the main control module according to the parameter of the loading upgrade data packet, the method further comprises: registering a writing task to a task queue according to a registration command of the main control module; according to the inquiry command of the main control module, feeding back the task state in the task queue; and if the task state of the writing task enters a preparation state, receiving an upgrade data packet written in by the main control module.
2. The method of claim 1, wherein the parameters loading upgrade data include clock frequency and bus bandwidth.
3. The method for upgrading field firmware of a memory device according to claim 1, further comprising, after feeding back the task status in the task queue:
after receiving the inquiry command, if the writing task does not enter the ready state yet after the preset time, the upgrading is failed, and the upgrading action is stopped.
4. A method for upgrading field firmware of a memory device, comprising:
issuing a command queue to a flash memory device to enable the flash memory device to perform initialization according to the command queue, wherein the command queue comprises: cmd0+0, cmd1+0x40ff8080, cmd2+0x40ff8080, cmd3+RCA, cmd9+RCA, cmd13+RCA, cmd7+RCA, cmd6+arg; the initializing includes configuring parameters for loading the upgrade data packet, and issuing a command queue to the flash memory device, so that the flash memory device performs initializing according to the command queue, including: after power-on, a first command is issued, so that the flash memory device is reset; issuing a second command, negotiating operation parameters with the flash memory device, and acquiring the device state of the flash memory device, wherein the operation parameters comprise an operation voltage range; when the equipment state enters a preparation state, a third command is issued according to the operation parameter, and an equipment authentication identifier of the flash memory equipment is obtained; issuing a fourth command according to the device authentication identifier, and distributing a relative device address for the flash memory device; a fifth command is issued according to the relative equipment address, and a specific data register is obtained; according to the relative equipment address, a sixth command is issued, and the state of the specific data register is detected; when the specific data register does not report errors, a seventh command is issued to execute the selected action of the flash memory device; continuing to issue a sixth command, and issuing an eighth command to configure parameters for loading the upgrade data packet when the specific data register does not report errors, and ending the initialization process;
and registering a writing task with the flash memory device, so that when the writing task is in a preparation state, the upgrading data packet is written into the flash memory device according to the parameters of the loading upgrading data packet.
5. A field firmware upgrade apparatus for a memory device, comprising:
the initialization module is configured to respond to a command queue issued by the main control module and execute the initialization of the flash memory device so that the main control module accesses the flash memory device through read-write operation, wherein the initialization comprises the steps of configuring parameters for loading an upgrade data packet, and executing the initialization of the flash memory device comprises the following steps: after the flash memory device is powered on, a reset action is executed so as to feed back a device authentication identifier when the flash memory device enters an idle state; acquiring a relative equipment address configured by the main control module according to the equipment authentication identifier; feedback confirmation of a register state is carried out based on the relative equipment address so as to acquire parameters of the loading upgrading data packet according to the register state; before the upgrade data packet is obtained from the main control module according to the parameter of the loading upgrade data packet, the method further comprises: registering a writing task to a task queue according to a registration command of the main control module; according to the inquiry command of the main control module, feeding back the task state in the task queue; if the task state of the writing task enters a preparation state, receiving an upgrade data packet written by the main control module; the command queue includes: cmd0+0, cmd1+0x40ff8080, cmd2+0x40ff8080, cmd3+RCA, cmd9+RCA, cmd13+RCA, cmd7+RCA, cmd6+arg;
and the upgrade module is configured to respond to the writing task of the main control module, acquire the upgrade data packet from the main control module according to the parameter of the loading upgrade data packet, and install the upgrade data packet to the flash memory device.
6. A field firmware upgrade apparatus for a memory device, comprising:
the command queue transmission module is configured to issue a command queue to the flash memory device, so that the flash memory device performs initialization according to the command queue, where the command queue includes: cmd0+0, cmd1+0x40ff8080, cmd2+0x40ff8080, cmd3+RCA, cmd9+RCA, cmd13+RCA, cmd7+RCA, cmd6+arg; the initializing includes configuring parameters for loading the upgrade data packet, and issuing a command queue to the flash memory device, so that the flash memory device performs initializing according to the command queue, including: after power-on, a first command is issued, so that the flash memory device is reset; issuing a second command, negotiating operation parameters with the flash memory device, and acquiring the device state of the flash memory device, wherein the operation parameters comprise an operation voltage range; when the equipment state enters a preparation state, a third command is issued according to the operation parameter, and an equipment authentication identifier of the flash memory equipment is obtained; issuing a fourth command according to the device authentication identifier, and distributing a relative device address for the flash memory device; a fifth command is issued according to the relative equipment address, and a specific data register is obtained; according to the relative equipment address, a sixth command is issued, and the state of the specific data register is detected; when the specific data register does not report errors, a seventh command is issued to execute the selected action of the flash memory device; continuing to issue a sixth command, and issuing an eighth command to configure parameters for loading the upgrade data packet when the specific data register does not report errors, and ending the initialization process;
and the writing command management module is used for registering a writing task to the flash memory device so as to write the upgrading data packet into the flash memory device according to the parameters of the loading upgrading data packet when the writing task is in a preparation state.
7. A computer-readable storage medium having instructions stored thereon that, when executed by one or more processors, cause an apparatus to perform the method of field firmware upgrade of a storage device of any of claims 1-4.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311174586.9A CN116932009B (en) | 2023-09-13 | 2023-09-13 | Method, device and medium for upgrading field firmware of storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311174586.9A CN116932009B (en) | 2023-09-13 | 2023-09-13 | Method, device and medium for upgrading field firmware of storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116932009A CN116932009A (en) | 2023-10-24 |
CN116932009B true CN116932009B (en) | 2024-01-23 |
Family
ID=88386257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311174586.9A Active CN116932009B (en) | 2023-09-13 | 2023-09-13 | Method, device and medium for upgrading field firmware of storage device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116932009B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118092989B (en) * | 2024-04-22 | 2024-07-16 | 合肥康芯威存储技术有限公司 | Firmware upgrading method, system, equipment and medium of memory |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8782633B1 (en) * | 2011-09-21 | 2014-07-15 | Emc Corporation | Upgrading firmware of a power supply |
CN105468387A (en) * | 2014-09-03 | 2016-04-06 | 华为技术有限公司 | Upgrade processing method, device and system |
CN108073799A (en) * | 2016-11-07 | 2018-05-25 | 爱思开海力士有限公司 | Semiconducter memory system and its operating method |
CN110910944A (en) * | 2018-09-17 | 2020-03-24 | 爱思开海力士有限公司 | Apparatus and method for maintaining firmware in a memory system |
CN111208757A (en) * | 2019-12-27 | 2020-05-29 | 中国航天科工集团八五一一研究所 | eMMC main controller based on FPGA |
CN112540785A (en) * | 2020-11-17 | 2021-03-23 | 中山市江波龙电子有限公司 | Firmware upgrading method of storage device, control equipment and storage device |
WO2022104530A1 (en) * | 2020-11-17 | 2022-05-27 | 中山市江波龙电子有限公司 | Method for upgrading firmware of storage apparatus, control device, and storage apparatus |
CN116048561A (en) * | 2021-10-28 | 2023-05-02 | 中山市江波龙电子有限公司 | Firmware upgrading method of memory card, computer equipment and readable storage medium |
CN116541048A (en) * | 2023-04-28 | 2023-08-04 | 山东华芯半导体有限公司 | Method for upgrading firmware based on PCIe device driver |
-
2023
- 2023-09-13 CN CN202311174586.9A patent/CN116932009B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8782633B1 (en) * | 2011-09-21 | 2014-07-15 | Emc Corporation | Upgrading firmware of a power supply |
CN105468387A (en) * | 2014-09-03 | 2016-04-06 | 华为技术有限公司 | Upgrade processing method, device and system |
CN108073799A (en) * | 2016-11-07 | 2018-05-25 | 爱思开海力士有限公司 | Semiconducter memory system and its operating method |
CN110910944A (en) * | 2018-09-17 | 2020-03-24 | 爱思开海力士有限公司 | Apparatus and method for maintaining firmware in a memory system |
CN111208757A (en) * | 2019-12-27 | 2020-05-29 | 中国航天科工集团八五一一研究所 | eMMC main controller based on FPGA |
CN112540785A (en) * | 2020-11-17 | 2021-03-23 | 中山市江波龙电子有限公司 | Firmware upgrading method of storage device, control equipment and storage device |
WO2022104530A1 (en) * | 2020-11-17 | 2022-05-27 | 中山市江波龙电子有限公司 | Method for upgrading firmware of storage apparatus, control device, and storage apparatus |
CN116048561A (en) * | 2021-10-28 | 2023-05-02 | 中山市江波龙电子有限公司 | Firmware upgrading method of memory card, computer equipment and readable storage medium |
CN116541048A (en) * | 2023-04-28 | 2023-08-04 | 山东华芯半导体有限公司 | Method for upgrading firmware based on PCIe device driver |
Also Published As
Publication number | Publication date |
---|---|
CN116932009A (en) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116932009B (en) | Method, device and medium for upgrading field firmware of storage device | |
USRE46488E1 (en) | Direct data transfer between slave devices | |
CN103678193B (en) | The main frame of control Nonvolatile memory card includes system, the operating method of main frame | |
KR102111741B1 (en) | EMBEDDED MULTIMEDIA CARD(eMMC), AND METHODS FOR OPERATING THE eMMC | |
US20120179860A1 (en) | Suspension of memory operations for reduced read latency in memory arrays | |
US9824004B2 (en) | Methods and apparatuses for requesting ready status information from a memory | |
US10079048B2 (en) | Adjusting access of non-volatile semiconductor memory based on access time | |
US8904082B1 (en) | Operation based polling in a memory system | |
CN102804156A (en) | Parallel training of dynamic random access memory channel controllers | |
JPWO2006035738A1 (en) | Host controller | |
CN103631534A (en) | Data storage system and managing method thereof | |
US8417853B2 (en) | Universal serial bus host control methods and universal serial bus host controllers | |
CN116935939A (en) | Memory verification method, device and medium based on development board | |
US20100325326A1 (en) | Device information management system and device information management method | |
CN111522602A (en) | Method for starting communication device | |
CN100373404C (en) | Process for initializing memory card | |
CN110990310B (en) | Device side SD controller, control method and electronic device | |
US20080162479A1 (en) | Memory card system and method for transmitting background information thereof | |
CN109828944B (en) | Communication method and communication system | |
US7441053B2 (en) | Support of an interaction between a host device and a peripheral device | |
KR20130009536A (en) | Memory control device and method | |
US20130019055A1 (en) | Memory control device and method | |
CN118092818B (en) | SD card file management system, method and equipment | |
US20090043945A1 (en) | Non-Volatile Memory System and Method for Reading Data Therefrom | |
KR101192594B1 (en) | Direct data transfer between slave devices |
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 |