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 PDF

Info

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
Application number
CN202311174586.9A
Other languages
Chinese (zh)
Other versions
CN116932009A (en
Inventor
张秀杰
余玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Kangxinwei Storage Technology Co Ltd
Original Assignee
Hefei Kangxinwei Storage Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei Kangxinwei Storage Technology Co Ltd filed Critical Hefei Kangxinwei Storage Technology Co Ltd
Priority to CN202311174586.9A priority Critical patent/CN116932009B/en
Publication of CN116932009A publication Critical patent/CN116932009A/en
Application granted granted Critical
Publication of CN116932009B publication Critical patent/CN116932009B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

Method, device and medium for upgrading field firmware of storage device
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.
CN202311174586.9A 2023-09-13 2023-09-13 Method, device and medium for upgrading field firmware of storage device Active CN116932009B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (9)

* Cited by examiner, † Cited by third party
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