CN116243957B - Function extension control method, device and system of SSD - Google Patents
Function extension control method, device and system of SSD Download PDFInfo
- Publication number
- CN116243957B CN116243957B CN202310517791.4A CN202310517791A CN116243957B CN 116243957 B CN116243957 B CN 116243957B CN 202310517791 A CN202310517791 A CN 202310517791A CN 116243957 B CN116243957 B CN 116243957B
- Authority
- CN
- China
- Prior art keywords
- program module
- ssd
- external
- module
- extended
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000006870 function Effects 0.000 claims description 56
- 238000003745 diagnosis Methods 0.000 claims description 39
- 238000002347 injection Methods 0.000 claims description 26
- 239000007924 injection Substances 0.000 claims description 26
- 230000005012 migration Effects 0.000 claims description 23
- 238000013508 migration Methods 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 5
- 230000009191 jumping Effects 0.000 claims description 2
- 238000013500 data storage Methods 0.000 abstract description 3
- 238000011084 recovery Methods 0.000 description 8
- 239000000243 solution Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- 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
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 (9)
1. A function expansion control method of an SSD, the method comprising:
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;
when an external extended program module is issued by a host, an extended bootstrap program module arranged in an SSD firmware program is operated to download the external extended program module to a target storage space, and after the external extended program module is downloaded, a processor pointer is jumped to the external extended program module to transfer SSD control right to the external extended program module, wherein the external extended program module is independent of SSD firmware;
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 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.
3. 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.
4. 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.
5. The method of claim 4, 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.
6. The method of claim 4, 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.
7. The method of claim 4, 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.
8. A function expansion control device of an SSD, the device comprising:
the system comprises an extended bootstrap program module, a storage module and a storage module, wherein the extended bootstrap program module is arranged in an SSD firmware program, and when an external bootstrap instruction issued by a host is received, the extended bootstrap program module arranged in the SSD firmware program is operated so as to save the current operation state of a processor of an SSD controller before the extended bootstrap program module is operated and the current storage data of an SRAM of the SSD controller as original operation data, and the saving address and the data length of the original operation data are recorded;
the external expansion program module 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 jumping the processor pointer to the external expansion program module after the external expansion program module is downloaded so as to transfer SSD control right to the external expansion program module, wherein the external expansion program module is independent of SSD firmware;
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.
9. 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-7 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.
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 CN116243957A (en) | 2023-06-09 |
CN116243957B true 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 (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140080948A (en) * | 2012-12-21 | 2014-07-01 | 에스케이하이닉스 주식회사 | Operating method for data storage device |
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 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9122791B2 (en) * | 2013-03-05 | 2015-09-01 | International Business Machines Corporation | Identifying a storage location for a storage address requested during debugging |
US10360051B2 (en) * | 2014-12-22 | 2019-07-23 | International Business Machines Corporation | Emulated device firmware testable by native operating system tools |
-
2023
- 2023-05-10 CN CN202310517791.4A patent/CN116243957B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140080948A (en) * | 2012-12-21 | 2014-07-01 | 에스케이하이닉스 주식회사 | Operating method for data storage device |
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 |
---|---|
CN116243957A (en) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7308610B2 (en) | Method and apparatus for handling errors in a processing system | |
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 | |
US20040172578A1 (en) | Method and system of operating system recovery | |
US20050188366A1 (en) | Firmware upgrade method | |
US20100058314A1 (en) | Computer System and Related Method of Logging BIOS Update Operation | |
CN101657794A (en) | Automated firmware restoration to a peer programmable hardware device | |
US6629158B1 (en) | System, apparatus, and method for configuring an array controller | |
US7188235B2 (en) | Method for booting computer system with memory card | |
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 | |
US8176309B2 (en) | Boot system has BIOS that reads rescue operating system from memory device via input/output chip based on detecting a temperature of a hard disk | |
CN113138791A (en) | Upgrade processing method and device based on embedded system and electronic equipment | |
CN114116330B (en) | Server performance testing method, system, terminal and storage medium | |
CN104461402A (en) | Method for adjusting disk sequence among multiple controllers under linux system | |
US11586504B2 (en) | Electronic apparatus and boot method thereof | |
CN101183411A (en) | Method for scanning and killing computer virus | |
US20070157014A1 (en) | Apparatus for remote flashing of a bios memory in a data processing system | |
CN116243957B (en) | Function extension control method, device and system of SSD | |
CN116383012B (en) | Method and device for acquiring boot log and method for transmitting boot log | |
US8365159B2 (en) | Apparatus and method to update code in an information storage and retrieval system while that system remains in normal operation | |
CN116679992A (en) | Information processing method and device, electronic equipment and storage medium | |
CN116627472A (en) | Firmware program upgrading method and server of high-speed peripheral component equipment |
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 |