[go: up one dir, main page]

CN115454477A - A method for updating firmware of a solid-state hard disk without interrupting services - Google Patents

A method for updating firmware of a solid-state hard disk without interrupting services Download PDF

Info

Publication number
CN115454477A
CN115454477A CN202211185772.8A CN202211185772A CN115454477A CN 115454477 A CN115454477 A CN 115454477A CN 202211185772 A CN202211185772 A CN 202211185772A CN 115454477 A CN115454477 A CN 115454477A
Authority
CN
China
Prior art keywords
firmware
hardware
queue
command
upgrading
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.)
Granted
Application number
CN202211185772.8A
Other languages
Chinese (zh)
Other versions
CN115454477B (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.)
Shandong Sinochip Semiconductors Co Ltd
Original Assignee
Shandong Sinochip Semiconductors 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 Shandong Sinochip Semiconductors Co Ltd filed Critical Shandong Sinochip Semiconductors Co Ltd
Priority to CN202211185772.8A priority Critical patent/CN115454477B/en
Publication of CN115454477A publication Critical patent/CN115454477A/en
Application granted granted Critical
Publication of CN115454477B publication Critical patent/CN115454477B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention provides a method for updating firmware of a solid state disk uninterrupted service, which puts the obtained command into a memory to ensure that the read-write command can be normally received when the firmware is updated, thereby realizing the upgrading of the uninterrupted service. And when upgrading, adopt a plurality of firmware trench to carry out the circulation and use the operation, guarantee even upgrading the failure can also keep original firmware, effectively prevent upgrading the failure, lead to the problem that original firmware also loses to take place. In addition, after downloading the new firmware, the slot number used by the next starting operation is updated, and the integrity of firmware upgrading is further ensured. And secondly, before the firmware is updated, the invention adopts a mode of making the processor sleep, thereby greatly reducing the risk of failure in updating the firmware.

Description

一种固态硬盘不中断业务的更新固件的方法A method for updating firmware of a solid-state hard disk without interrupting services

技术领域technical field

本发明涉及一种固态硬盘不中断业务的更新固件的方法,属于固态硬盘技术领域。The invention relates to a method for updating firmware of a solid-state hard disk without interrupting services, and belongs to the technical field of solid-state hard disks.

背景技术Background technique

应用于数据中心的固态硬盘,如果有更新固件的需求时,期望可以不中断业务进行升级,这样可以减少更新固件所占用的时间,提高利用率,也能保持在更新固件的时候,业务不中断,降低更新固件带来的影响。而传统的升级方式,需要中断业务,再进行固件更新,无法满足此类使用场景的需求。For solid-state drives used in data centers, if there is a need to update the firmware, it is expected that the upgrade can be performed without interrupting the business, which can reduce the time taken to update the firmware, improve the utilization rate, and keep the business uninterrupted when the firmware is updated , to reduce the impact of updating the firmware. However, the traditional upgrade method needs to interrupt the service and then update the firmware, which cannot meet the needs of such usage scenarios.

发明内容Contents of the invention

本发明目的是提供了一种固态硬盘不中断业务的更新固件的方法,实现了不中断业务的升级,降低了更新固件失败的风险。The object of the present invention is to provide a method for updating firmware of a solid-state hard disk without interrupting services, which realizes upgrades without interrupting services and reduces the risk of failure in updating firmware.

本发明为实现上述目的,通过以下技术方案实现:In order to achieve the above object, the present invention is achieved through the following technical solutions:

S01)接收到不断业务升级固件的命令,检查固件的合法性,检测当前固件使用的槽位,下载固件到下一个空闲的槽位中,槽位采用循环使用的方式,并且使用非易失的介质;S01) Receive the command to continuously upgrade the firmware, check the legitimacy of the firmware, detect the slot used by the current firmware, and download the firmware to the next free slot. The slot is recycled and uses non-volatile medium;

S02)下载成功后,更新下次启动运行的槽位号;设置不中断业务升级固件的标识,并存到固定的内存地址中;S02) After the download is successful, update the slot number for the next start-up operation; set the logo of the non-interrupted service upgrade firmware, and store it in a fixed memory address;

S03)开启硬件模块保持数据链路的正常链接,并接收命令,接收读写命令请求,将其到固定内存地址中;S03) Turn on the hardware module to maintain the normal connection of the data link, and receive commands, receive read and write command requests, and store them in fixed memory addresses;

S04)主处理器设置各处理器的同步交互请求标识,保存主处理器上下文到特定的内存地址中;S04) The main processor sets the synchronous interaction request flags of each processor, and saves the main processor context to a specific memory address;

S05)其他处理器检查到同步交互请求标识后,保存处理读写命令的上下文,按照固定格式存储到固定的内存中,并设置同步请求应答标识,同时执行处理器休眠指令,进入休眠状态;S05) After other processors check the synchronous interaction request identification, save the context of processing the read and write commands, store them in a fixed memory according to a fixed format, set the synchronous request response identification, and execute the processor sleep instruction at the same time to enter the sleep state;

S06)主处理器检测到其他处理器均返回了同步应答请求后,重新加载第一段引导程序,第一段引导程序根据启动运行的槽位号,加载完新的固件后,唤醒各个处于休眠状态的处理器,并引导各处理器运行新的固件;S06) After the main processor detects that other processors have returned synchronous response requests, it reloads the first section of the boot program. state processors and boot each processor to run the new firmware;

S07)新的固件启动后,检测不中断业务升级标识,检测到不中断业务升级的标识后,从特定的内存中恢复之前步骤S04和步骤S05保存的上下文;S07) After the new firmware is started, detect the uninterrupted service upgrade flag, and after detecting the uninterrupted service upgrade flag, restore the context saved in the previous step S04 and step S05 from the specific memory;

S08)清除设置的不中断业务升级固件的标识,关闭硬件接收命令模块,并处理该硬件模块放置在固定内存中已接收到读写命令;不中断业务更新固件完成。S08) Clear the set uninterrupted service upgrade firmware flag, close the hardware receiving command module, and process that the hardware module is placed in the fixed memory and has received a read and write command; the non-interruptible service update firmware is completed.

优选的,所述步骤S03中硬件模块的实现方法如下:Preferably, the implementation method of the hardware module in the step S03 is as follows:

硬件模块接收到链路处理模块解析后的数据,根据数据内容,识别是否为主机命令,如果是主机命令,则拉高向硬件队列压入命令的使能信号,硬件模块检测到压入命令的使能信号,检查硬件队列的头尾指针,如果硬件队列中存在位置,则执行压入命令动作,否则维持该压入信号使能,保证等待硬件队列空闲后,压入新命令。The hardware module receives the data parsed by the link processing module, and identifies whether it is a host command according to the data content. If it is a host command, it pulls up the enable signal of pushing the command to the hardware queue, and the hardware module detects the push command. Enable the signal, check the head and tail pointers of the hardware queue, if there is a position in the hardware queue, execute the push command action, otherwise keep the push signal enabled to ensure that the new command is pushed after waiting for the hardware queue to be free.

优选的,所述硬件队列的深度由硬件实现的参数定义,当尾指针增加超过队列深度时,则自动回0,当队列没有满时,硬件继续向队列中压入主机命令。Preferably, the depth of the hardware queue is defined by the parameters implemented by the hardware. When the tail pointer increases beyond the queue depth, it automatically returns to 0. When the queue is not full, the hardware continues to push host commands into the queue.

优选的,硬件队列为空的条件是头指针等于尾指针,硬件队列为满的条件为头指针等于尾指针加1,队列中主机命令数满时小于该队列大小。Preferably, the condition that the hardware queue is empty is that the head pointer is equal to the tail pointer, the condition that the hardware queue is full is that the head pointer is equal to the tail pointer plus 1, and the number of host commands in the queue is less than the queue size when it is full.

优选的,命令队列的储存位置,通过硬件参数配置,修改配置寄存器设置硬件队列的基地址,包括硬件内部的缓存区和外部的内存区。Preferably, the storage location of the command queue is configured through hardware parameters, modifying the configuration register to set the base address of the hardware queue, including hardware internal cache areas and external memory areas.

本发明的优点在于:一种硬件模块去接收主机发送给固态硬盘的读写命令,并把获取的命令放到内存中,保证在更新固件时可以正常接收读写命令,从而实现了不中断业务的升级。并且在升级时,采用多个固件槽位进行循环使用操作,保证即使升级失败也可以保留原始的固件,有效防止升级失败,导致原固件也丢失的问题发生。此外,下载新固件完成后,再去更新下次启动运行使用的槽位号,进一步保证固件升级的完整性。其次,本发明在固件更新之前,采用让处理器休眠的方式,极大降低了更新固件失败的风险。The advantages of the present invention are: a hardware module to receive the read and write commands sent by the host to the solid-state hard disk, and put the obtained commands into the memory, so as to ensure that the read and write commands can be received normally when the firmware is updated, thereby realizing the uninterrupted business upgrade. And when upgrading, multiple firmware slots are used for recycling operations to ensure that the original firmware can be retained even if the upgrade fails, effectively preventing the failure of the upgrade and causing the loss of the original firmware. In addition, after downloading the new firmware, update the slot number used for the next startup and operation to further ensure the integrity of the firmware upgrade. Secondly, before the firmware is updated, the present invention adopts the method of letting the processor sleep, which greatly reduces the risk of firmware update failure.

附图说明Description of drawings

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。The accompanying drawings are used to provide a further understanding of the present invention, and constitute a part of the description, and are used together with the embodiments of the present invention to explain the present invention, and do not constitute a limitation to the present invention.

图1为本发明流程结构示意图。Fig. 1 is a schematic diagram of the process structure of the present invention.

图2为硬件模块工作的状态机示意图。Fig. 2 is a schematic diagram of the state machine of the hardware module working.

图3为硬件队列结构示意图。FIG. 3 is a schematic diagram of a hardware queue structure.

图4为硬件模块实现框示意图。Fig. 4 is a schematic diagram of the implementation block of the hardware module.

图5为激活槽位号的结果示意图。Fig. 5 is a schematic diagram of the result of activating the slot number.

具体实施方式detailed description

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some, not all, embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.

本发明在更新固件时,设计了一种硬件模块去接收主机发送给固态硬盘的读写命令,并把获取的命令放到内存中,保证在更新固件时可以正常接收读写命令,从而实现了不中断业务的升级。并且在升级时,采用多个固件槽位进行循环使用操作,保证即使升级失败也可以保留原始的固件,有效防止升级失败,导致原固件也丢失的问题发生。此外,下载新固件完成后,再去更新下次启动运行使用的槽位号,进一步保证固件升级的完整性。其次,本发明在固件更新之前,采用让处理器休眠的方式,极大降低了更新固件失败的风险。When updating the firmware, the present invention designs a hardware module to receive the read and write commands sent by the host to the solid-state hard drive, and puts the acquired commands into the memory to ensure that the read and write commands can be received normally when the firmware is updated, thereby realizing Non-disruptive upgrades. And when upgrading, multiple firmware slots are used for recycling operations to ensure that the original firmware can be retained even if the upgrade fails, effectively preventing the failure of the upgrade and causing the loss of the original firmware. In addition, after downloading the new firmware, update the slot number used for the next startup and operation to further ensure the integrity of the firmware upgrade. Secondly, before the firmware is updated, the present invention adopts the method of letting the processor sleep, which greatly reduces the risk of firmware update failure.

启动步骤如下:The startup steps are as follows:

S01)接收到不断业务升级固件的命令;检查固件的合法性,检测当前固件使用的槽位,下载固件到下一个空闲的槽位中,槽位采用循环使用的方式,并且使用非易失的介质。S01) Receive the command to continuously upgrade the firmware; check the legality of the firmware, detect the slot used by the current firmware, and download the firmware to the next free slot. The slot is recycled and uses non-volatile medium.

采用多个固件槽位循环使用,保证即使升级失败也可以保留原始的固件,有效防止升级失败,导致原固件也丢失的问题发生。同时也能保证非易失介质的磨损均衡,延长了非易失介质的使用寿命。固件槽位和激活的固件槽位号分开存储,只有下载完固件槽位后,才修改激活的固件槽位号。激活的槽位号和固件槽位均使用完整性校验算法保证数据的完整性。每个固件槽位采用双备份,保证双备份完全写入以后才会去执行更新激活槽位号,激活槽位号也采用双备份的方式进行储存,保证在更新槽位时出现异常时,也可以正常启动原始固件。同时即使非易失介质一部分出现损坏,或者某一个槽位损坏,这种分开存储的方式也可以保证通过槽位号的控制跳过该损坏区域。从而进一步延长了芯片的使用年限。Multiple firmware slots are used repeatedly to ensure that the original firmware can be retained even if the upgrade fails, which effectively prevents the loss of the original firmware due to the failure of the upgrade. At the same time, it can also ensure the wear balance of the non-volatile medium, prolonging the service life of the non-volatile medium. The firmware slot and the activated firmware slot number are stored separately, and the activated firmware slot number is modified only after the firmware slot is downloaded. Both the activated slot number and the firmware slot use an integrity check algorithm to ensure data integrity. Each firmware slot adopts double backup to ensure that the activation slot number will be updated only after the double backup is fully written. The original firmware can be booted normally. At the same time, even if part of the non-volatile medium is damaged, or a certain slot is damaged, this separate storage method can also ensure that the damaged area is skipped through the control of the slot number. Thereby further prolonging the service life of the chip.

S02)下载成功后,更新下次启动运行的槽位号;设置不中断业务升级固件的标识,并存到固定的内存地址中。S02) After the download is successful, update the slot number for the next start-up operation; set the logo of the non-interrupted service upgrade firmware, and store it in a fixed memory address.

S03)开启硬件模块保持数据链路的正常链接,并接收命令,接收读写命令请求,并放到固定内存地址中。S03) Turn on the hardware module to maintain the normal link of the data link, receive commands, receive read and write command requests, and place them in a fixed memory address.

使用硬件模块保持数据链路的链接,并接收在固件升级过程中主机发送的读写命令,存储在内存中,并通过头尾指针标记命令缓存状态,从而实现业务不中断的功能。Use the hardware module to maintain the link of the data link, and receive the read and write commands sent by the host during the firmware upgrade process, store them in the memory, and mark the command cache status through the head and tail pointers, so as to realize the function of uninterrupted business.

S04)主处理器设置各处理器的同步交互请求标识,并自己的上下文到特定的内存地址中。S04) The main processor sets the synchronous interaction request flags of each processor, and transfers its own context to a specific memory address.

S05)其他处理器检查到同步交互请求标识后,保存处理读写命令的上下文,按照固定格式存储到固定的内存中。并设置同步请求应答标识,同时执行处理器休眠指令,进入休眠状态,防止在固件更新时,正在进行访存操作,而出现问题。S05) After other processors check the synchronous interaction request identifier, save the context of processing read and write commands, and store them in a fixed memory in a fixed format. And set the synchronization request response flag, and execute the processor sleep instruction at the same time to enter the sleep state, so as to prevent the memory access operation during the firmware update and cause problems.

S06)主处理器检测到其他处理器均返回了同步应答请求后,重新加载FBL(第一段引导程序);FBL(第一段引导程序)根据启动运行的槽位号,加载完新的固件后,唤醒各个处于休眠状态的处理器,并引导各处理器运行新的固件。S06) After the main processor detects that other processors have returned the synchronous response request, reload the FBL (the first bootloader); the FBL (first bootloader) loads the new firmware according to the slot number of the start-up operation After that, each processor that was in sleep state is woken up and each processor is booted to run the new firmware.

相比于传统的同步方式,仅使用一个信号量进行同步的方式,额外增加了应答机制,保证多个处理器的同步请求均被应答后,才算同步完成,进一步保证了在更新固件的同步性。并且在执行完处理器任务后,让处理器处于休眠状态,保证了处理器未处于访存操作,减少了部分功耗,极大降低了更新固件失败的风险。Compared with the traditional synchronization method, only one semaphore is used for synchronization, and an additional response mechanism is added to ensure that the synchronization is completed only after the synchronization requests of multiple processors are answered, which further ensures the synchronization of firmware updates. sex. And after the execution of the processor task, the processor is put into a dormant state, which ensures that the processor is not in the memory access operation, reduces some power consumption, and greatly reduces the risk of failure to update the firmware.

S07)新的固件启动后,检测设置的不中断业务升级标识,检测到不中断业务升级的标识后,从特定的内存中恢复之前步骤S04和步骤S05保存的上下文。S07) After the new firmware starts, detect the set uninterrupted service upgrade flag, and after detecting the uninterrupted service upgrade flag, restore the context saved in the previous step S04 and step S05 from the specific memory.

S08)恢复完上下文后,清除步骤S05设置不中断业务升级固件的标识,关闭步骤S06硬件接收命令模块,并处理该硬件模块放置在固定内存中已接收到读写命令;不中断业务更新固件完成。S08) After the context is restored, clear step S05 to set the logo for non-interrupted service upgrade firmware, close step S06 hardware receiving command module, and process the hardware module placed in the fixed memory has received read and write commands; non-interrupted service update firmware is completed .

具体的,步骤S03中硬件模块的实现原理:Specifically, the implementation principle of the hardware module in step S03:

硬件模块接收到链路处理模块解析后的数据,根据数据内容,识别是否为主机命令,如果是主机命令,则拉高向硬件队列压入命令的使能信号,硬件模块检测到压入命令的使能信号,检查硬件队列的头尾指针。如果硬件队列中存在位置,则执行压入命令动作。否则维持该压入信号使能,保证等待硬件队列空闲后,才压入新命令。The hardware module receives the data parsed by the link processing module, and identifies whether it is a host command according to the data content. If it is a host command, it pulls up the enable signal of pushing the command to the hardware queue, and the hardware module detects the push command. Enable the signal to check the head and tail pointers of the hardware queue. If there is a position in the hardware queue, the push command action is performed. Otherwise, keep the push signal enabled and wait for the hardware queue to be free before pushing a new command.

硬件队列的工作方式,由软件和硬件共同维护。硬件作为该队列的生产者,软件作为该队列的消费者。硬件使用尾入口指针向该队列中提交主机命令,软件通过头入口指针从该队列中获得主机命令。The working mode of the hardware queue is jointly maintained by software and hardware. The hardware acts as the producer of the queue, and the software acts as the consumer of the queue. The hardware uses the tail entry pointer to submit the host command to the queue, and the software obtains the host command from the queue through the head entry pointer.

硬件队列的深度由硬件实现的参数定义,可以放若干条主机命令。如果尾指针增加超过了队列深度时,则自动回0。如果队列没有满,硬件则继续向队列中压入主机命令。The depth of the hardware queue is defined by the parameters implemented by the hardware, and several host commands can be placed. If the tail pointer increases beyond the queue depth, it will automatically return to 0. If the queue is not full, the hardware continues to push host commands into the queue.

硬件队列为空的条件是头指针等于尾指针,硬件队列为空的条件为头指针等于尾指针加1,队列中主机命令数(满时)小于该队列大小。The condition that the hardware queue is empty is that the head pointer is equal to the tail pointer, the condition that the hardware queue is empty is that the head pointer is equal to the tail pointer plus 1, and the number of host commands in the queue (when full) is less than the queue size.

命令队列的储存位置,可以通过硬件参数灵活配置,可以通过修改配置寄存器设置硬件队列的基地址,可以选择放到硬件内部的缓存区,也可以选择放入外部的内存区,使用更加灵活,加大了正常处理命令的能力,同时也能保证在执行固件升级过程中,使用该硬件队列缓存主机命令。The storage location of the command queue can be flexibly configured through hardware parameters. You can set the base address of the hardware queue by modifying the configuration register. You can choose to put it in the cache area inside the hardware, or you can choose to put it in the external memory area. It is more flexible to use, plus This increases the ability to process commands normally, and at the same time ensures that the hardware queue is used to cache host commands during the firmware upgrade process.

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。Finally, it should be noted that: the above is only a preferred embodiment of the present invention, and is not intended to limit the present invention. Although the present invention has been described in detail with reference to the foregoing embodiments, for those skilled in the art, it still The technical solutions recorded in the foregoing embodiments may be modified, or some technical features thereof may be equivalently replaced. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.

Claims (5)

1. A method for updating firmware of a solid state disk without interrupting service is characterized by comprising the following specific steps:
s01) the hardware module receives a command of continuously upgrading the firmware, checks the validity of the firmware, detects a slot position used by the current firmware, downloads the firmware to the next idle slot position, and uses a non-volatile medium in a recycling mode;
s02) after the downloading is successful, updating the slot position number of the next starting operation; setting an identifier of the uninterrupted service upgrading firmware and storing the identifier in a fixed memory address;
s03) starting a hardware module to keep normal link of a data link, receiving a read-write command request, and writing the read-write command request into a fixed memory address;
s04) the main processor sets synchronous interaction request identifiers of all processors and stores the context of the main processor into a specific memory address;
s05) after the other processors check the synchronous interaction request identification, storing the context for processing the read-write command, storing the context into a fixed memory according to a fixed format, setting a synchronous request response identification, executing a processor sleep instruction, and entering a sleep state;
s06) after the main processor detects that other processors all return synchronous response requests, loading a first section of bootstrap program, wherein the first section of bootstrap program loads new firmware according to the slot position number of the starting operation, awakens each processor in a dormant state, and guides each processor to operate the new firmware;
s07) after the new firmware is started, detecting an uninterrupted service upgrading identifier, and after the uninterrupted service upgrading identifier is detected, restoring the context stored in the previous step S04 and step S05 from a specific memory;
s08) clearing the set identification of the uninterrupted service upgrading firmware, closing the hardware receiving command module, processing that the hardware module is placed in the fixed memory and has received the read-write command, and completing the uninterrupted service upgrading firmware.
2. The method for updating firmware without interrupting service of solid state disk according to claim 1, wherein the implementation method of the hardware module in step S03 is as follows:
the hardware module receives the data analyzed by the link processing module, identifies whether the data is a host command according to the data content, if the data is the host command, raises an enabling signal of a press-in command to the hardware queue, detects the enabling signal of the press-in command by the hardware module, checks a head pointer and a tail pointer of the hardware queue, if the position exists in the hardware queue, executes the action of the press-in command, otherwise, maintains the enabling of the press-in command, and ensures to press in a new command after waiting for the idle hardware queue.
3. The method for updating firmware of a solid state disk uninterrupted service of claim 2, wherein the depth of the hardware queue is defined by a parameter implemented by hardware, when the tail pointer increases to exceed the depth of the queue, the hardware automatically returns to 0, and when the queue is not full, the hardware continues to push host commands into the queue.
4. The method of claim 2, wherein the condition that the hardware queue is empty is that the head pointer is equal to the tail pointer, the condition that the hardware queue is full is that the head pointer is equal to the tail pointer plus 1, and the number of host commands in the queue is less than the size of the queue when full.
5. The method for updating firmware of the solid state disk uninterrupted service of claim 3, wherein the storage location of the command is configured by hardware parameters, and the configuration register is modified to set a base address of the hardware queue, including a buffer area inside the hardware and an external memory area.
CN202211185772.8A 2022-09-28 2022-09-28 A method for updating firmware of a solid state drive without interrupting service Active CN115454477B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211185772.8A CN115454477B (en) 2022-09-28 2022-09-28 A method for updating firmware of a solid state drive without interrupting service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211185772.8A CN115454477B (en) 2022-09-28 2022-09-28 A method for updating firmware of a solid state drive without interrupting service

Publications (2)

Publication Number Publication Date
CN115454477A true CN115454477A (en) 2022-12-09
CN115454477B CN115454477B (en) 2025-06-27

Family

ID=84307127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211185772.8A Active CN115454477B (en) 2022-09-28 2022-09-28 A method for updating firmware of a solid state drive without interrupting service

Country Status (1)

Country Link
CN (1) CN115454477B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116243957A (en) * 2023-05-10 2023-06-09 北京得瑞领新科技有限公司 Function extension control method, device and system of SSD
CN117707436A (en) * 2024-02-05 2024-03-15 苏州元脑智能科技有限公司 Firmware mode switching method, device, electronic device and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582337A (en) * 2018-12-04 2019-04-05 浪潮电子信息产业股份有限公司 Firmware upgrading method and device and computer readable storage medium
CN110704091A (en) * 2019-09-20 2020-01-17 苏州浪潮智能科技有限公司 Firmware upgrading method and device
US20220147335A1 (en) * 2020-11-06 2022-05-12 Quanta Cloud Technology Inc. Method and system for server firmware update framework
CN114579163A (en) * 2020-11-30 2022-06-03 超聚变数字技术有限公司 A disk firmware upgrade method, computing device and system
CN114741094A (en) * 2022-02-18 2022-07-12 长江存储科技有限责任公司 Firmware updating method, equipment and data system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582337A (en) * 2018-12-04 2019-04-05 浪潮电子信息产业股份有限公司 Firmware upgrading method and device and computer readable storage medium
CN110704091A (en) * 2019-09-20 2020-01-17 苏州浪潮智能科技有限公司 Firmware upgrading method and device
US20220147335A1 (en) * 2020-11-06 2022-05-12 Quanta Cloud Technology Inc. Method and system for server firmware update framework
CN114579163A (en) * 2020-11-30 2022-06-03 超聚变数字技术有限公司 A disk firmware upgrade method, computing device and system
CN114741094A (en) * 2022-02-18 2022-07-12 长江存储科技有限责任公司 Firmware updating method, equipment and data system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙明刚等: "一种业务不中断的Raid卡固件升级方法", 《电子技术》, no. 08, 23 August 2023 (2023-08-23), pages 370 - 371 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116243957A (en) * 2023-05-10 2023-06-09 北京得瑞领新科技有限公司 Function extension control method, device and system of SSD
CN116243957B (en) * 2023-05-10 2023-10-31 北京得瑞领新科技有限公司 Function extension control method, device and system of SSD
CN117707436A (en) * 2024-02-05 2024-03-15 苏州元脑智能科技有限公司 Firmware mode switching method, device, electronic device and storage medium
CN117707436B (en) * 2024-02-05 2024-05-03 苏州元脑智能科技有限公司 Firmware mode switching method and device, electronic equipment and storage medium
WO2025166946A1 (en) * 2024-02-05 2025-08-14 苏州元脑智能科技有限公司 Firmware mode switching method and apparatus, electronic device, and storage medium

Also Published As

Publication number Publication date
CN115454477B (en) 2025-06-27

Similar Documents

Publication Publication Date Title
US6807630B2 (en) Method for fast reinitialization wherein a saved system image of an operating system is transferred into a primary memory from a secondary memory
EP3084595B1 (en) Memory-preserving reboot
US7698698B2 (en) Method for over-the-air firmware update of NAND flash memory based mobile devices
JP3830886B2 (en) Method for storing data in nonvolatile memory
US8661183B2 (en) Computer system, data storage method, and program for reduction of stored data after hibernation
JP4205560B2 (en) Reliability improvement using non-volatile memory cache in diskless network bootable computers
CN102150131B (en) Managing cache data and metadata
CN102216899B (en) Managing cache data and metadata
US20050182922A1 (en) Computer systems with several operating systems coexisting thereon and swapping between these operating systems
JP2009512020A (en) Fast startup from operating system halt state
JP2013520744A (en) Method and apparatus for generating minimum boot image
CN115454477B (en) A method for updating firmware of a solid state drive without interrupting service
US9235426B2 (en) Multicore processor system, computer product, and notification method for updating operating system
CN101872306B (en) Embedded system for realizing software updating and software backup and implementation method thereof
CN107003880B (en) Kernel update method and apparatus, computer equipment
US8751760B2 (en) Systems and methods for power state transitioning in an information handling system
CN115981698A (en) Method and device for upgrading firmware
KR100698655B1 (en) The file update system of the mobile communication terminal, the boot management system of the mobile communication terminal to prevent fatal errors due to the loss of the EFS area header, the mobile communication terminal to prevent the fatal error due to the file update method and the loss of the EFS area header. How to boot the terminal
CN113467797B (en) Program updating method, device and system and computer readable storage medium
CN115718612B (en) A method for updating CF card operating system
US20230350755A1 (en) Coordinated operating system rollback
WO2023169161A1 (en) Method for using dynamic, discrete, and fragmented embedded system nand flash
WO2021036712A1 (en) Upgrading method, communication device and computer-readable storage medium
CN117270914B (en) System upgrading method, device, equipment and medium of terminal equipment
CN120085928B (en) Equipment starting performance optimization method, device, equipment and storage medium

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