CN116243957A - Function extension control method, device and system of SSD - Google Patents

Function extension control method, device and system of SSD Download PDF

Info

Publication number
CN116243957A
CN116243957A CN202310517791.4A CN202310517791A CN116243957A CN 116243957 A CN116243957 A CN 116243957A CN 202310517791 A CN202310517791 A CN 202310517791A CN 116243957 A CN116243957 A CN 116243957A
Authority
CN
China
Prior art keywords
ssd
program module
external
module
host
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
CN202310517791.4A
Other languages
Chinese (zh)
Other versions
CN116243957B (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.)
Beijing Dera Technology Co Ltd
Original Assignee
Beijing Dera 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 Beijing Dera Technology Co Ltd filed Critical Beijing Dera Technology Co Ltd
Priority to CN202310517791.4A priority Critical patent/CN116243957B/en
Publication of CN116243957A publication Critical patent/CN116243957A/en
Application granted granted Critical
Publication of CN116243957B publication Critical patent/CN116243957B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to the technical field of data storage, and provides a function expansion control method, device and system of SSD, wherein the method comprises the following steps: when an external extended program module is issued by a host, an extended bootstrap program module arranged in an SSD firmware program is operated so as to download the external extended program module to a target storage space; when an operation instruction of the external expansion program module issued by the host is received, the external expansion program module is operated to execute expansion operation corresponding to the operation instruction. When the function expansion of the SSD is needed, only the external expansion program module to be expanded is sent to the SSD through the host for downloading and stored in the appointed storage space, the SSD firmware is not required to be updated, the influence of the function expansion on the code quantity and the complexity of the SSD firmware is effectively reduced, and the flexibility and the expansibility of the SSD are improved.

Description

Function extension control method, device and system of SSD
Technical Field
The present invention relates to the field of data storage technologies, and in particular, to a method, an apparatus, and a system for controlling function extension of an SSD.
Background
NVMe SSD is a solid state disk based on non-volatile memory express interface specification, and has the characteristics of high performance and low delay compared with a common mechanical hard disk. One NVMe SSD is mainly composed of a controller, a flash memory space, and PCIe interfaces. With the popularization of NVMe SSD hard disks, more and more fields use SSD hard disks to meet their own data storage requirements.
Firmware of SSD is "software in hardware" installed on a small memory chip of hard disk to boot the hard disk. In the prior art, in the subsequent use of the SSD, if the function of the SSD needs to be added or changed, the firmware of the SSD needs to be modified, and at this time, the entire firmware needs to be updated. Therefore, the existing mode for realizing SSD function expansion is complex in operation, not only is the function expansion of the SSD not flexible enough, but also the code quantity and the complexity of SSD firmware are increased, and the user site is damaged.
Disclosure of Invention
The present invention has been made in view of the above problems, and has as its object to provide a function expansion control method, apparatus and system of an SSD that overcomes or at least partially solves the above problems.
In one aspect of the present invention, there is provided a function expansion control method of an SSD, the method including:
when an external extended program module is issued by a host, an extended bootstrap program module arranged in an SSD firmware program is operated so as to download the external extended program module to a target storage space;
when an operation instruction of the external expansion program module issued by the host is received, the external expansion program module is operated to execute expansion operation corresponding to the operation instruction.
Further, before running the extended bootstrap module provided in the SSD firmware program to download the external extended bootstrap module to the target storage space, the method further includes:
when an external guide instruction issued by a host is received, an extended guide program module arranged in an SSD firmware program is operated, so that the current operation state of a processor of an SSD controller before the extended guide program module is operated and the current storage data of an SRAM of the SSD controller are saved as original operation data, and the saving address and the data length of the original operation data are recorded.
Further, after the external extension program module is executed to perform an extension operation corresponding to the operation instruction, the method further includes:
when an exit instruction of the external extension program module issued by the host is received, the running environment of the SSD firmware program is restored according to the stored original running data, the stored address of the original running data and the data length, so that the processor is returned to the running state before the extension bootstrap program module is run.
Further, the running the extended bootstrap module set in the SSD firmware program to download the external extended bootstrap module to the target storage space includes:
receiving the external extension program module, and detecting the validity and the integrity of the external extension program module;
and when the external extension program module successfully passes the validity and integrity detection, storing the external extension program module into the target storage space.
Further, when an operation instruction of the external extension program module issued by the host is received, the external extension program module is operated to execute an extension operation corresponding to the operation instruction, including:
initializing the running state of a processor of the SSD controller, and setting a stack address of the running of the processor;
analyzing the operation instruction to acquire an expansion operation to be executed, and running a target function sub-module used for realizing the expansion operation in the external expansion program module to execute the expansion operation;
recording log data in the running process of the external extension program module and feeding back the log data to the host.
Further, when the target function sub-module of the external extension program module includes an online diagnosis module, the method includes:
when the operation instruction issued by the host is an online diagnosis instruction, online diagnosis is performed on the SSD according to the diagnosed SSD component and the diagnosis content contained in the online diagnosis instruction.
Further, when the target function submodule of the external extended program module includes an error injection module, the method includes:
when the operation instruction issued by the host is an error injection instruction, performing error injection on the SSD according to a specific error injection address and error injection content contained in the error injection instruction.
Further, when the target function submodule of the external extended program module includes a data migration module, the method includes:
when the operation instruction issued by the host is a data migration instruction, executing data migration operation on the SSD according to the original address and the target address of data migration contained in the data migration instruction.
In another aspect of the present invention, there is provided a function expansion control device of an SSD, the device including:
the expansion bootstrap program module is arranged in the SSD firmware program and is used for downloading the external expansion program module to the target storage space when the host computer issues the external expansion program module;
and the external extension program module is used for executing extension operation corresponding to the operation instruction when receiving the operation instruction of the external extension program module issued by the host.
In another aspect of the present invention, there is provided a function expansion control system of an SSD, the system including a host and an SSD;
the SSD comprises a controller, wherein the controller comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, and the processor executes the steps of the function expansion control method of the SSD when executing the computer program;
the host is connected with the SSD, and is used for sending an external extended program module to the SSD, and sending an operation instruction to the external extended program module after the SSD downloads the external extended program module to a target storage space.
According to the function extension control method, device and system for SSD, an external extension program module issued by a host is received by an extension bootstrap program module in SSD firmware and stored in a target storage space outside the SSD firmware, and when an operation instruction of the external extension program module issued by the host is received, the external extension program module is operated to execute extension operation corresponding to the operation instruction. When the function expansion of the SSD is needed, only the external expansion program module to be expanded is sent to the SSD through the host for downloading and stored in the appointed storage space, the SSD firmware is not required to be updated, the influence of the function expansion on the code quantity and the complexity of the SSD firmware is effectively reduced, and the flexibility and the expansibility of the SSD are improved.
The foregoing description is only an overview of the present invention, and is intended to be implemented in accordance with the teachings of the present invention in order that the same may be more clearly understood and to make the same and other objects, features and advantages of the present invention more readily apparent.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to designate like parts throughout the figures. In the drawings:
fig. 1 is a flowchart of a method for controlling function expansion of an SSD according to an embodiment of the invention;
fig. 2 is a flowchart of a method for controlling function expansion of an SSD according to another embodiment of the invention;
fig. 3 is a block diagram of a function expansion control device for SSD according to an embodiment of the invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
As used herein, the singular forms "a", "an", "the" and "the" are intended to include the plural forms as well, unless expressly stated otherwise, as understood by those skilled in the art. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It will be understood by those skilled in the art that all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs unless defined otherwise. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the prior art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Fig. 1 schematically shows a flowchart of a function expansion control method of an SSD of one embodiment of the invention. Referring to fig. 1, the function expansion control method of the SSD according to the embodiment of the invention specifically includes the following steps:
and S11, when the host computer issues the external extended program module, the extended bootstrap program module arranged in the SSD firmware program is operated so as to download the external extended program module to the target storage space. The external extension program module is independent of SSD firmware, can be downloaded to a preset target storage space in the SSD in real time in use, does not need to be solidified in the SSD, and does not need to update the SSD firmware.
In the implementation of the present invention, an external extension program module is pre-stored in firmware of the SSD, and is used for executing a corresponding operation when the external module needs to be booted. Step S11 is therefore performed by an external boot program module integrated in the SSD firmware. The target storage space is preferably an SRAM in the controller of the SSD, or may be a storage space outside the SSD, which is not limited in the present invention.
It should be noted that, before the extended bootstrap module set in the SSD firmware program is run to download the external extended bootstrap module to the target storage space, the method of the embodiment of the present invention further includes: when an external guide instruction issued by a host is received, an extended guide program module arranged in an SSD firmware program is operated, so that the current operation state of a processor of an SSD controller before the extended guide program module is executed and the current storage data of an SRAM of the SSD controller are saved as original operation data, and the saving address and the data length of the original operation data are recorded. The external guide instruction is used for informing the SSD that an external extended program module requires to access the SSD, and the current running state of a processor of the SSD controller before the extended guide program module is executed comprises a register and a stack pointer of the SSD processor. The storage address of the original running data is preferably a storage address agreed by an external extension program module and an SSD.
Further, in an embodiment of the present invention, the running the extended bootstrap module set in the SSD firmware program to download the external extended bootstrap module to the target storage space includes: receiving the external extension program module, and detecting the validity and the integrity of the external extension program module; and when the external extension program module successfully passes the validity and integrity detection, storing the external extension program module into the target storage space. If either condition is not met, an error report is fed back to the host device and the booting of the online diagnostic module is terminated, wherein the error report may include a specific error cause.
And S12, when an operation instruction of the external expansion program module issued by the host is received, the external expansion program module is operated so as to execute expansion operation corresponding to the operation instruction.
In the embodiment of the invention, after the external extension program module is downloaded, the extension bootstrap program module jumps the processor pointer to the external extension program module so as to transfer SSD control right to the external extension program module.
Specifically, when receiving an operation instruction of the external extension program module issued by the host, the operating the external extension program module to execute an extension operation corresponding to the operation instruction includes:
s21, initializing the running state of a processor of the SSD controller, and setting a stack address of the running of the processor;
in the embodiment of the invention, the external extension program module initializes the running state of the processor of the SSD controller, and sets the stack address of the running processor to establish the running environment of the external extension program module.
S22, analyzing the operation instruction to obtain an expansion operation to be executed, and running a target function sub-module used for realizing the expansion operation in the external expansion program module to execute the expansion operation;
in the embodiment of the invention, the target function sub-modules in the external expansion program module are an online diagnosis module, an error injection module, a data migration module and the like, which are determined according to external expansion operation to be executed, and a new target function sub-module can be added in subsequent development.
When the target function sub-module of the external extension program module is an online diagnosis module, the method comprises the following steps: and when the operation instruction issued by the host is an online diagnosis instruction, performing online diagnosis on the SSD according to the SSD component and the diagnosis content which are included in the online diagnosis instruction. The on-line diagnosis module is mainly responsible for detecting peripheral equipment, data and the like of the SSD hard disk and collecting detection data. This module may provide comprehensive fault diagnosis and recovery functions such as sensor detection, current-voltage detection, PCIE link detection, DDR data analysis, NAND physical media scanning, and the like. In addition, if data recovery, data destruction or deeper examination is required in the subsequent operation, the method can be realized by issuing instructions to an online diagnosis module of the external extension program module by the host. The invention can provide good expansibility, quickly respond to the requirement of the fault recovery of the client, and provide more comprehensive SSD diagnosis content in continuous perfection.
Further, when the target function sub-module of the external extension program module is an error injection module, the method includes: when the operation instruction issued by the host is an error injection instruction, performing error injection on the SSD according to a specific error injection address and error injection content contained in the error injection instruction.
Further, when the target function sub-module of the external extended program module is a data migration module, the method includes: when the operation instruction issued by the host is a data migration instruction, executing data migration operation on the SSD according to the original address and the target address of data migration contained in the data migration instruction. Wherein the data migration operation may be data in a NAND flash memory of the SSD.
It should be noted that, the external extension program module provided in the embodiment of the present invention may further add a corresponding target function sub-module according to the needs of the client, so as to implement other extension needs of the client.
According to the function extension control method of the SSD, the target function sub-modules with different functions are added into the external extension program module, so that corresponding extension functions are provided for the SSD on the premise of not changing the SSD firmware, and the functions are downloaded into the SSD in real time in use and do not need to be solidified in the SSD. When new diagnostic content or requirements need to be increased, the diagnostic module can be recompiled and generated and downloaded into the SSD, and the SSD firmware does not need to be updated. The SSD control method is flexible in operation, strong in expansibility and beneficial to flexible control of SSD by users. Meanwhile, the external extension program module is independent of FW firmware for development, so that the code quantity and complexity of SSD firmware can be effectively reduced.
S23, recording log data in the running process of the external extension program module and feeding back the log data to the host.
In the embodiment of the invention, the external extension program module further comprises a log module, and the log module mainly operates and records log data in the operation process of the external extension program module, and specifically comprises the permission process and the operation process data of the external extension program module. And when the host computer issues a corresponding log calling instruction, corresponding data is fed back to the host computer.
Further, the external extension program module of the embodiment of the present invention further includes a system recovery module, which is specifically configured to, after the external extension program module is executed to execute the extension operation corresponding to the operation instruction, recover, when receiving an exit instruction of the external extension program module issued by the host, an operating environment of the SSD firmware program according to the saved original operating data, the saved address of the original operating data, and the data length, so as to return the processor to an operating state before the operation of the extension bootstrap program module. Specifically, the system recovery module of the external extension program module recovers the operating environment of the SSD before the external extension program module is operated according to the original operating data stored by the external extension program module, the storage address and the data length of the original operating data, and returns the control right of the SSD to the SSD firmware by jumping the controller pointer to the SSD firmware, so that the system is recovered to the operating state before the extension bootstrap program module is operated.
In the case of using the SSD in a large scale, various problems are inevitably caused in the SSD hard disk. However, since the SSD hard disk is widely used in a wide area, the related industries and fields are complex, and it takes a long time to perform the factory return analysis on the failure of the SSD hard disk. For some special users, the management of fault coils is strict for data security, and factory return analysis is difficult to perform. The current SSD diagnosis method is realized by a diagnosis program stored in SSD firmware in advance, and generally comprises the steps of performing SSD fault judgment by using a scoring mechanism and checking the SSD by using a built-in checking module, but the diagnosis method needs to be performed by using a preset flow, a large amount of diagnosis codes are needed to be added into the SSD firmware, and the complexity and the code amount of SSD firmware design are increased. Meanwhile, when a diagnosis code has a problem or new functions need to be added, only SSD firmware can be upgraded. However, in most scenarios of the client, upgrading new SSD firmware is not allowed, and this may destroy the user's site and mask the failure point of the SSD. Therefore, the function extension control method of the SSD provided by the embodiment of the invention can well solve the problem, and the on-line diagnosis is performed on the SSD by the external extension method, so that the storage space of the firmware of the SSD is not occupied, and the function of the on-line diagnosis can be flexibly extended.
Fig. 2 schematically shows a flowchart of a function expansion control method of an SSD of another embodiment of the invention. The embodiment of the invention takes the target function submodule of the external extended program module as an on-line diagnosis module, and takes the execution of on-line diagnosis operation as an example to explain the function extended control method of the SSD. For ease of understanding, the control method of performing online diagnosis on the SSD will now be listed in conjunction with the function extension control system of the SSD as follows:
s101, a host computer issues an external guide instruction to an SSD;
s102, an expansion bootstrap module stored in SSD firmware receives an external bootstrap instruction issued by a host, a current running state of a processor of an SSD controller before the expansion bootstrap module is run and current storage data of an SRAM of the SSD controller are stored as original running data, and a storage address and a data length of the original running data are recorded.
S103, the host computer transmits an external extension program module to the SSD;
s104, the extended bootstrap module performs validity and integrity detection on the external extended bootstrap module;
s105, when the external expansion program module successfully passes the validity and integrity detection, the expansion bootstrap program module downloads the external expansion program module to a target storage space and transfers the SSD controller to the external expansion program module;
s106, initializing the running state of a processor of the SSD controller by an external extension program module, and setting a stack address of the running of the processor;
s107, the host computer issues an online diagnosis operation instruction to the external extension program module;
s108, an online diagnosis module of the external extension program module executes online diagnosis operation corresponding to the online diagnosis operation;
s109, the host computer issues a log collection operation instruction to an external extension program;
s110, the log module of the external extension program module feeds back log data in the running process of the external extension program module to the host;
s111, the host computer issues an exit instruction to an external extension program module;
s112, a system recovery module of the external extended program module recovers the running environment of the SSD firmware program according to the saved original running data, the saved address of the original running data and the data length, and transfers the SSD controller to the SSD firmware.
The invention completely and independently opens the external extension program module and the SSD firmware, thereby not only providing good expansibility and rapidly responding to the requirements of clients on diagnosis and fault recovery, but also providing more comprehensive SSD diagnosis content in continuous perfection. Meanwhile, the external extension program module is independently developed from FW firmware, so that the code quantity and complexity of SSD firmware can be effectively reduced.
Fig. 3 schematically shows a structural diagram of a function expansion control device of an SSD according to an embodiment of the invention. Referring to fig. 3, the function expansion control device of the SSD of the embodiment of the invention specifically includes an expansion boot program module 301 and an external expansion program module 302, wherein:
an extended bootstrap module 301, configured to be in an SSD firmware program, and configured to download an external extended program module 302 to a target storage space when the host issues the external extended program module 302;
and the external extension program module 302 is configured to execute an extension operation corresponding to an operation instruction issued by the host when the operation instruction of the external extension program module 302 is received.
Further, the extended bootstrap module 301 is further configured to, when receiving an external bootstrap command issued by the host before downloading the external extended bootstrap module 302 to the target storage space, save a current running state of the processor of the SSD controller before running the extended bootstrap module and current stored data of the SRAM of the SSD controller as original running data, and record a save address and a data length of the original running data.
Further, the external extension program module 302 includes:
and the system recovery module is configured to, after the external extension program module 302 is executed to execute an extension operation corresponding to the operation instruction, recover, when receiving an exit instruction of the external extension program module 302 issued by the host, an operating environment of the SSD firmware program according to the saved original operating data, the saved address of the original operating data, and the data length, so as to return the processor to an operating state before the operation of the extension boot program module 301.
Further, the extended bootstrap module 301 is specifically configured to receive the external extended program module 302, and perform validity and integrity detection on the external extended program module 302; when the external extension program module 302 successfully passes the validity and integrity check, the external extension program module 302 is saved to the target storage space.
Further, the external extension program module 302 includes:
the initialization module is used for initializing the running state of the processor of the SSD controller and setting a stack address of the running of the processor;
the host interface module is configured to parse the operation instruction to obtain an expansion operation to be executed, and run a target function sub-module for implementing the expansion operation in the external expansion program module 302 to execute the expansion operation;
and the log module is used for recording log data in the running process of the external extension program module 302 and feeding back the log data to the host.
Further, the external extension program module 302 further includes one or more of an online diagnostic module, an error injection module, and a data migration module, wherein:
and the online diagnosis module is used for executing online diagnosis on the SSD according to the diagnosed SSD component and the diagnosis content contained in the online diagnosis instruction when the operation instruction issued by the host is the online diagnosis instruction.
And the error injection module is used for executing error injection on the SSD according to the error injection address and the error injection content contained in the error injection instruction when the operation instruction issued by the host is the error injection instruction.
And the data migration module is used for executing data migration operation on the SSD according to the original address and the target address of data migration contained in the data migration instruction when the operation instruction issued by the host is the data migration instruction.
For the device embodiments, since they are substantially similar to the method embodiments, the description is relatively simple, and reference is made to the description of the method embodiments for relevant points.
The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
In addition, the embodiment of the invention also provides a function expansion control system of the SSD, which comprises a host and the SSD;
the SSD comprises a controller, wherein the controller comprises a memory, a processor and a computer program which is stored on the memory and can run on the processor, and the steps of the function expansion control method of the SSD are realized when the processor executes the computer program. Such as steps S11-S12 shown in fig. 1.
The host is connected with the SSD, and is used for sending an external extended program module to the SSD, and sending an operation instruction to the external extended program module after the SSD downloads the external extended program module to a target storage space.
According to the embodiment of the invention, the host and the SSD realize operation instruction transmission through an admin_passthru interface, and the operation instruction is a vendor command. Thus, the device can be combined with the original host tool, and does not need great development workload of a host end.
According to the function extension control method, device and system of the SSD, an external extension program module issued by a host is received by an extension bootstrap module stored in SSD firmware and stored in a target storage space outside the SSD firmware, wherein the target storage space is different from the storage space of the SSD firmware, and when an operation instruction of the external extension program module issued by the host is received, the external extension program module is operated to execute extension operation corresponding to the operation instruction. When the function expansion of the SSD is needed, only the external expansion program module to be expanded is sent to the SSD through the host for downloading and stored in the appointed storage space, the SSD firmware is not required to be updated, the influence of the function expansion on the code quantity and the complexity of the SSD firmware is effectively reduced, and the flexibility and the expansibility of the SSD are improved.
From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
Furthermore, those skilled in the art will appreciate that while some embodiments herein include some features but not others included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, any of the claimed embodiments can be used in any combination.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present invention, and are not limiting; although the invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims (10)

1. A function expansion control method of an SSD, the method comprising:
when an external extended program module is issued by a host, an extended bootstrap program module arranged in an SSD firmware program is operated so as to download the external extended program module to a target storage space;
when an operation instruction of the external expansion program module issued by the host is received, the external expansion program module is operated to execute expansion operation corresponding to the operation instruction.
2. The method of claim 1, wherein prior to running an extended bootstrap module disposed in an SSD firmware program to download the external extended bootstrap module to a target storage space, the method further comprises:
when an external guide instruction issued by a host is received, an extended guide program module arranged in an SSD firmware program is operated, so that the current operation state of a processor of an SSD controller before the extended guide program module is operated and the current storage data of an SRAM of the SSD controller are saved as original operation data, and the saving address and the data length of the original operation data are recorded.
3. The method of claim 2, wherein after running the external extension program module to perform an extension operation corresponding to the operation instruction, the method further comprises:
when an exit instruction of the external extension program module issued by the host is received, the running environment of the SSD firmware program is restored according to the stored original running data, the stored address of the original running data and the data length, so that the processor is returned to the running state before the extension bootstrap program module is run.
4. The method of claim 1, wherein the running the extended bootstrap module disposed in the SSD firmware program to download the external extended bootstrap module to the target storage space comprises:
receiving the external extension program module, and detecting the validity and the integrity of the external extension program module;
and when the external extension program module successfully passes the validity and integrity detection, storing the external extension program module into the target storage space.
5. The method according to claim 1, wherein when an operation instruction of the external extension program module issued by a host is received, running the external extension program module to perform an extension operation corresponding to the operation instruction, comprising:
initializing the running state of a processor of the SSD controller, and setting a stack address of the running of the processor;
analyzing the operation instruction to acquire an expansion operation to be executed, and running a target function sub-module used for realizing the expansion operation in the external expansion program module to execute the expansion operation;
recording log data in the running process of the external extension program module and feeding back the log data to the host.
6. The method of claim 5, wherein when the target function sub-module of the external extension program module comprises an online diagnostic module, the method comprises:
when the operation instruction issued by the host is an online diagnosis instruction, online diagnosis is performed on the SSD according to the diagnosed SSD component and the diagnosis content contained in the online diagnosis instruction.
7. The method of claim 5, wherein when the target function sub-module of the external extension program module comprises an error injection module, the method comprises:
when the operation instruction issued by the host is an error injection instruction, performing error injection on the SSD according to an error injection address and error injection content contained in the error injection instruction.
8. The method of claim 5, wherein when the target function sub-module of the external extension program module comprises a data migration module, the method comprises:
when the operation instruction issued by the host is a data migration instruction, executing data migration operation on the SSD according to the original address and the target address of data migration contained in the data migration instruction.
9. A function expansion control device of an SSD, the device comprising:
the expansion bootstrap program module is arranged in the SSD firmware program and is used for downloading the external expansion program module to the target storage space when the host computer issues the external expansion program module;
and the external extension program module is used for executing extension operation corresponding to the operation instruction when receiving the operation instruction of the external extension program module issued by the host.
10. A function expansion control system of an SSD, the system comprising a host and an SSD;
the SSD comprising a controller comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of the method according to any of claims 1-8 when the computer program is executed;
the host is connected with the SSD, and is used for sending an external extended program module to the SSD, and sending an operation instruction to the external extended program module after the SSD downloads the external extended program module to a target storage space.
CN202310517791.4A 2023-05-10 2023-05-10 Function extension control method, device and system of SSD Active CN116243957B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310517791.4A CN116243957B (en) 2023-05-10 2023-05-10 Function extension control method, device and system of SSD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310517791.4A CN116243957B (en) 2023-05-10 2023-05-10 Function extension control method, device and system of SSD

Publications (2)

Publication Number Publication Date
CN116243957A true CN116243957A (en) 2023-06-09
CN116243957B CN116243957B (en) 2023-10-31

Family

ID=86628144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310517791.4A Active CN116243957B (en) 2023-05-10 2023-05-10 Function extension control method, device and system of SSD

Country Status (1)

Country Link
CN (1) CN116243957B (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140080948A (en) * 2012-12-21 2014-07-01 에스케이하이닉스 주식회사 Operating method for data storage device
US20140258785A1 (en) * 2013-03-05 2014-09-11 International Business Machines Corporation Identifying a storage location for a storage address requested during debugging
US20160179557A1 (en) * 2014-12-22 2016-06-23 International Business Machines Corporation Emulated device firmware testable by native operating system tools
CN113448504A (en) * 2020-03-27 2021-09-28 英特尔公司 Solid state drive with external software execution for implementing internal solid state drive operation
CN114115888A (en) * 2021-10-19 2022-03-01 无锡沐创集成电路设计有限公司 BootRom function expansion-based embedded system starting method
WO2022160308A1 (en) * 2021-01-30 2022-08-04 华为技术有限公司 Data access method and apparatus, and storage medium
CN115454477A (en) * 2022-09-28 2022-12-09 山东华芯半导体有限公司 Method for updating firmware of uninterrupted service of solid state disk
CN115794173A (en) * 2023-01-09 2023-03-14 苏州浪潮智能科技有限公司 Online upgrading method and device for solid state disk, electronic equipment and storage medium
CN116089124A (en) * 2023-02-17 2023-05-09 浪潮电子信息产业股份有限公司 Communication method, device and medium of simulation system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140080948A (en) * 2012-12-21 2014-07-01 에스케이하이닉스 주식회사 Operating method for data storage device
US20140258785A1 (en) * 2013-03-05 2014-09-11 International Business Machines Corporation Identifying a storage location for a storage address requested during debugging
US20160179557A1 (en) * 2014-12-22 2016-06-23 International Business Machines Corporation Emulated device firmware testable by native operating system tools
CN113448504A (en) * 2020-03-27 2021-09-28 英特尔公司 Solid state drive with external software execution for implementing internal solid state drive operation
WO2022160308A1 (en) * 2021-01-30 2022-08-04 华为技术有限公司 Data access method and apparatus, and storage medium
CN114115888A (en) * 2021-10-19 2022-03-01 无锡沐创集成电路设计有限公司 BootRom function expansion-based embedded system starting method
CN115454477A (en) * 2022-09-28 2022-12-09 山东华芯半导体有限公司 Method for updating firmware of uninterrupted service of solid state disk
CN115794173A (en) * 2023-01-09 2023-03-14 苏州浪潮智能科技有限公司 Online upgrading method and device for solid state disk, electronic equipment and storage medium
CN116089124A (en) * 2023-02-17 2023-05-09 浪潮电子信息产业股份有限公司 Communication method, device and medium of simulation system

Also Published As

Publication number Publication date
CN116243957B (en) 2023-10-31

Similar Documents

Publication Publication Date Title
US6438688B1 (en) Method and computer for locally and remotely updating a basic input output system (BIOS) utilizing one update file
CN103377063B (en) From legacy operating systems environment recovery to the method and system of UEFI pre-boot environment
US7308610B2 (en) Method and apparatus for handling errors in a processing system
US20050188366A1 (en) Firmware upgrade method
US20040172578A1 (en) Method and system of operating system recovery
CN101657794A (en) Automated firmware restoration to a peer programmable hardware device
US7188235B2 (en) Method for booting computer system with memory card
US6629158B1 (en) System, apparatus, and method for configuring an array controller
US20080098381A1 (en) Systems and methods for firmware update in a data processing device
CN105814541A (en) Computer device and memory starting method for computer device
CN111078515B (en) SSD layered log recording method, SSD layered log recording device, SSD layered log recording computer device and storage medium
CN101535969A (en) Changing code execution path using kernel mode redirection
CN101183411A (en) Method for scanning and killing computer virus
CN114265733A (en) Automatic testing method and device for abnormal power failure of solid state disk
US20070157014A1 (en) Apparatus for remote flashing of a bios memory in a data processing system
CN116383012B (en) Method and device for acquiring boot log and method for transmitting boot log
CN116243957B (en) Function extension control method, device and system of SSD
CN116679992A (en) Information processing method and device, electronic equipment and storage medium
CN117130672A (en) Server start flow control method, system, terminal and storage medium
CN116627472A (en) Firmware program upgrading method and server of high-speed peripheral component equipment
EP4296860A1 (en) Method for running startup program of electronic device, and electronic device
CN114116330B (en) Server performance testing method, system, terminal and storage medium
US11586504B2 (en) Electronic apparatus and boot method thereof
US20070016761A1 (en) Method, apparatus, and computer program product for implementing enhanced system behavior control
CN115374161A (en) Method and system for improving transaction submitting speed of transactional database

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