CN114327281B - TCG software and hardware acceleration method and device for SSD, computer equipment and storage medium - Google Patents
TCG software and hardware acceleration method and device for SSD, computer equipment and storage medium Download PDFInfo
- Publication number
- CN114327281B CN114327281B CN202111647866.8A CN202111647866A CN114327281B CN 114327281 B CN114327281 B CN 114327281B CN 202111647866 A CN202111647866 A CN 202111647866A CN 114327281 B CN114327281 B CN 114327281B
- Authority
- CN
- China
- Prior art keywords
- range
- read
- ssd
- hardware acceleration
- authority
- 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
Classifications
-
- 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
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Abstract
The application relates to a TCG software and hardware acceleration method, a device, computer equipment and a storage medium for SSD, wherein the method comprises the following steps: receiving a read-write command issued by an SSD, and acquiring command information in the read-write command; transmitting the command information to a hardware acceleration module, and returning range authority and range key information by the hardware acceleration module according to the command information; judging whether the range authority allows read-write operation or not; if yes, setting range key information, and executing the read-write command. The application is used for TCG authority management and partition encryption management through a software and hardware acceleration scheme, can reduce the delay of a core read-write data path and improve SSD performance.
Description
Technical Field
The application relates to the technical field of SSDs, in particular to a TCG software and hardware acceleration method, a device, computer equipment and a storage medium for SSDs.
Background
Currently, the mainstream SSD products need to support TCG characteristics to achieve access rights management and partition encryption management for user data. Conventional access rights management and partition encryption management are processed by software, so that the efficiency is low, and the performance is affected.
In the prior art, software maintains a range table in a system RAM, and when a new command is received, the software circularly searches the range table to confirm the corresponding range, and then determines the execution authority of the command and the encryption key selection according to range information; this software loop lookup is located in the core read-write data path, resulting in SSD performance loss.
Disclosure of Invention
The application aims to overcome the defects of the prior art and provides a TCG software and hardware acceleration method, a device, computer equipment and a storage medium for SSD.
In order to solve the technical problems, the application adopts the following technical scheme:
the TCG software and hardware acceleration method for SSD comprises the following steps:
receiving a read-write command issued by an SSD, and acquiring command information in the read-write command;
transmitting the command information to a hardware acceleration module, and returning range authority and range key information by the hardware acceleration module according to the command information;
judging whether the range authority allows read-write operation or not;
if yes, setting range key information, and executing the read-write command.
The further technical scheme is as follows: before the step of receiving the read-write command issued by the SSD and obtaining the command information in the read-write command, the method further comprises the following steps: the hardware acceleration module maintains a range table.
The further technical scheme is as follows: the command information includes a starting LBA address and a size of the LBA address space.
The further technical scheme is as follows: and transmitting the command information to a hardware acceleration module, wherein in the step of returning range authority and range key information according to the command information, the hardware acceleration module searches in parallel according to the command information to obtain range authority and range key information, and then returns the range authority and range key information.
A TCG hardware and software acceleration device for an SSD, comprising: the device comprises a receiving and acquiring unit, a transmitting and returning unit, a judging unit and a setting executing unit;
the receiving and acquiring unit is used for receiving a read-write command issued by the SSD and acquiring command information in the read-write command;
the transfer return unit is used for transferring the command information to the hardware acceleration module, and the hardware acceleration module returns range authority and range key information according to the command information;
the judging unit is used for judging whether the range authority allows read-write operation or not;
the setting execution unit is used for setting range key information and executing the read-write command.
The further technical scheme is as follows: further comprises: and the maintenance unit is used for maintaining the range table by the hardware acceleration module.
The further technical scheme is as follows: the command information includes a starting LBA address and a size of the LBA address space.
The further technical scheme is as follows: in the transfer return unit, the hardware acceleration module searches in parallel according to the command information to obtain range authority and range key information, and then returns the range authority and range key information.
A computer device comprising a memory and a processor, the memory having stored thereon a computer program, the processor implementing the TCG hardware and software acceleration method for an SSD as described above when the computer program is executed.
A storage medium storing a computer program comprising program instructions which, when executed by a processor, implement a TCG hardware and software acceleration method for an SSD as described above.
Compared with the prior art, the application has the beneficial effects that: the hardware and software acceleration scheme is used for TCG authority management and partition encryption management, so that the delay of a core read-write data path can be reduced, and SSD performance is improved.
The application is further described below with reference to the drawings and specific embodiments.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are needed in the embodiments or the description of the prior art will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present application, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a flow chart of a TCG software and hardware acceleration method for SSD according to an embodiment of the application;
FIG. 2 is a schematic diagram of a range table according to an embodiment of the present application;
FIG. 3 is a schematic block diagram of a TCG hardware and software acceleration device for SSDs provided by an embodiment of the present application;
fig. 4 is a schematic block diagram of a computer device according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and fully with reference to the accompanying drawings, in which it is evident that the embodiments described are some, but not all embodiments of the application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
It should be understood that the terms "comprises" and "comprising," when used in this specification and the appended claims, 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 is also to be understood that the terminology used in the description of the application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
It should be further understood that the term "and/or" as used in the present specification and the appended claims refers to any and all possible combinations of one or more of the associated listed items, and includes such combinations.
The English explanation that the application needs to relate to is as follows:
RAM: an accessor on the SSD for running codes and storing temporary data;
LBA: logic Block Address, logical block address, for addressing when the host accesses the SSD;
range: a segment of LBA address space;
start LBA: a starting LBA address;
LBA cnt: size of LBA Address space
range rights: read-write access rights to LBA address space;
range key: encryption keys for LBA address space;
TCG: trusted Computing Group, feasible calculation.
Referring to fig. 1 to 4, wherein referring to fig. 1 to 2, the present application discloses a TCG hardware and software acceleration method for SSD, comprising the steps of:
s1, receiving a read-write command issued by an SSD, and acquiring command information in the read-write command;
wherein, before the step S1, the method further comprises: the hardware acceleration module maintains a range table. As shown in fig. 2, the range table includes the start LBA, LBA cnt, range authority, and range key information of each range.
In this embodiment, the software receives a read-write command issued by the SSD, and obtains command information in the read-write command. The software is firmware running in the SSD; the hardware acceleration module is a TCG authority access management hardware acceleration module.
In this embodiment, the command information includes a start LBA address (start LBA) and a size of an LBA address space (lbacnt).
S2, transmitting the command information to a hardware acceleration module, and returning range authority and range key information by the hardware acceleration module according to the command information;
in this embodiment, the command information is transmitted to the hardware acceleration module through the software, and the hardware acceleration module searches in parallel according to the command information to obtain range authority and range key information, and then returns the range authority and range key information to the software.
S3, judging whether the range authority allows read-write operation or not; if not, the read-write command is not executed.
And judging whether the range authority allows read-write operation or not through software.
And S4, if yes, setting range key information and executing the read-write command.
And setting range key information through software, and after executing the read-write command, finishing read-write, and then transmitting the data to a host or writing the data into an SSD.
The application is used for TCG authority management and partition encryption management through a software and hardware acceleration scheme, can reduce the delay of a core read-write data path and improve SSD performance.
Referring to fig. 3, the application also discloses a TCG hardware and software acceleration device for SSD, including: a receiving and acquiring unit 10, a transmitting and returning unit 20, a judging unit 30 and a setting executing unit 40;
the receiving and acquiring unit 10 is configured to receive a read-write command issued by the SSD and acquire command information in the read-write command;
the transfer return unit 20 is configured to transfer the command information to a hardware acceleration module, where the hardware acceleration module returns range authority and range key information according to the command information;
the judging unit 30 is configured to judge whether the range authority allows the read-write operation;
the setting execution unit 40 is configured to set range key information and execute the read/write command.
Wherein the apparatus further comprises: and the maintenance unit is used for maintaining the range table by the hardware acceleration module.
Wherein the command information includes a starting LBA address and a size of the LBA address space.
In the transfer return unit 20, the hardware acceleration module searches in parallel according to the command information to obtain range authority and range key information, and then returns the range authority and range key information.
It should be noted that, as those skilled in the art can clearly understand, the specific implementation process of the TCG hardware and software acceleration device and each unit for SSD described above may refer to the corresponding description in the foregoing method embodiment, and for convenience and brevity of description, the description is omitted here.
The TCG hardware and software acceleration apparatus for SSD described above may be implemented in the form of a computer program that can be run on a computer device as shown in fig. 4.
Referring to fig. 4, fig. 4 is a schematic block diagram of a computer device according to an embodiment of the present application; the computer device 500 may be a terminal or a server, where the terminal may be an electronic device with a communication function, such as a smart phone, a tablet computer, a notebook computer, a desktop computer, a personal digital assistant, and a wearable device. The server may be an independent server or a server cluster formed by a plurality of servers.
With reference to FIG. 4, the computer device 500 includes a processor 502, memory, and a network interface 505, connected by a system bus 501, where the memory may include a non-volatile storage medium 503 and an internal memory 504.
The non-volatile storage medium 503 may store an operating system 5031 and a computer program 5032. The computer program 5032 includes program instructions that, when executed, cause the processor 502 to perform a TCG hardware and software acceleration method for an SSD.
The processor 502 is used to provide computing and control capabilities to support the operation of the overall computer device 500.
The internal memory 504 provides an environment for the execution of a computer program 5032 in the non-volatile storage medium 503, which computer program 5032, when executed by the processor 502, causes the processor 502 to perform a TCG hardware and software acceleration method for SSD.
The network interface 505 is used for network communication with other devices. It will be appreciated by those skilled in the art that the architecture shown in fig. 4 is merely a block diagram of some of the architecture relevant to the present inventive arrangements and is not limiting of the computer device 500 to which the present inventive arrangements may be implemented, and that a particular computer device 500 may include more or fewer components than shown, or may combine some of the components, or have a different arrangement of components.
It should be appreciated that in an embodiment of the application, the processor 502 may be a central processing unit (Central Processing Unit, CPU), the processor 502 may also be other general purpose processors, digital signal processors (Digital Signal Processor, DSPs), application specific integrated circuits (Application Specific Integrated Circuit, ASICs), off-the-shelf programmable gate arrays (Field-Programmable Gate Array, FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like. Wherein the general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
Those skilled in the art will appreciate that all or part of the flow in a method embodying the above described embodiments may be accomplished by computer programs instructing the relevant hardware. The computer program comprises program instructions, and the computer program can be stored in a storage medium, which is a computer readable storage medium. The program instructions are executed by at least one processor in the computer system to implement the flow steps of the embodiments of the method described above.
Accordingly, the present application also provides a storage medium. The storage medium may be a computer readable storage medium. The storage medium stores a computer program, wherein the computer program comprises program instructions which, when executed by a processor, implement the TCG hardware and software acceleration method for SSD described above.
The storage medium may be a U-disk, a removable hard disk, a Read-Only Memory (ROM), a magnetic disk, or an optical disk, or other various computer-readable storage media that can store program codes.
Those of ordinary skill in the art will appreciate that the elements and algorithm steps described in connection with the embodiments disclosed herein may be embodied in electronic hardware, in computer software, or in a combination of the two, and that the elements and steps of the examples have been generally described in terms of function in the foregoing description to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of each unit is only one logic function division, and there may be another division manner in actual implementation. For example, multiple units or components may be combined or may be integrated into another system, or some features may be omitted, or not performed.
The steps in the method of the embodiment of the application can be sequentially adjusted, combined and deleted according to actual needs. The units in the device of the embodiment of the application can be combined, divided and deleted according to actual needs. In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit.
The integrated unit may be stored in a storage medium if implemented in the form of a software functional unit and sold or used as a stand-alone product. Based on such understanding, the technical solution of the present application is essentially or a part contributing to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium, comprising several instructions for causing a computer device (which may be a personal computer, a terminal, a network device, etc.) to perform all or part of the steps of the method according to the embodiments of the present application.
The foregoing embodiments are preferred embodiments of the present application, and in addition, the present application may be implemented in other ways, and any obvious substitution is within the scope of the present application without departing from the concept of the present application.
Claims (4)
1. The TCG software and hardware acceleration method for the SSD is characterized by comprising the following steps:
receiving a read-write command issued by an SSD, and acquiring command information in the read-write command;
transmitting the command information to a hardware acceleration module, and returning range authority and range key information by the hardware acceleration module according to the command information;
judging whether the range authority allows read-write operation or not;
if yes, setting range key information and executing the read-write command;
before the step of receiving the read-write command issued by the SSD and obtaining the command information in the read-write command, the method further comprises the following steps: the hardware acceleration module maintains a range table;
the range table comprises start LBA, LBA cnt, range authority and range key information of each range;
receiving a read-write command issued by an SSD through software, and acquiring command information in the read-write command; the software is firmware running in the SSD; the hardware acceleration module is a TCG authority access management hardware acceleration module;
the command information includes a starting LBA address and a size of an LBA address space;
and transmitting the command information to a hardware acceleration module, wherein in the step of returning range authority and range key information according to the command information, the hardware acceleration module searches in parallel according to the command information to obtain range authority and range key information, and then returns the range authority and range key information.
2. A TCG software and hardware accelerating device for SSD, characterized by comprising: the device comprises a receiving and acquiring unit, a transmitting and returning unit, a judging unit and a setting executing unit;
the receiving and acquiring unit is used for receiving a read-write command issued by the SSD and acquiring command information in the read-write command;
the transfer return unit is used for transferring the command information to the hardware acceleration module, and the hardware acceleration module returns range authority and range key information according to the command information;
the judging unit is used for judging whether the range authority allows read-write operation or not;
the setting execution unit is used for setting range key information and executing the read-write command;
the apparatus further comprises: the maintenance unit is used for maintaining the range table by the hardware acceleration module;
the range table comprises start LBA, LBA cnt, range authority and range key information of each range;
receiving a read-write command issued by an SSD through software, and acquiring command information in the read-write command; the software is firmware running in the SSD; the hardware acceleration module is a TCG authority access management hardware acceleration module;
the command information includes a starting LBA address and a size of an LBA address space;
in the transfer return unit, the hardware acceleration module searches in parallel according to the command information to obtain range authority and range key information, and then returns the range authority and range key information.
3. A computer device comprising a memory and a processor, the memory having stored thereon a computer program, the processor implementing the TCG hardware and software acceleration method for SSD of claim 1 when the computer program is executed.
4. A storage medium storing a computer program comprising program instructions which, when executed by a processor, implement the TCG hardware and software acceleration method for SSDs of claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111647866.8A CN114327281B (en) | 2021-12-30 | 2021-12-30 | TCG software and hardware acceleration method and device for SSD, computer equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111647866.8A CN114327281B (en) | 2021-12-30 | 2021-12-30 | TCG software and hardware acceleration method and device for SSD, computer equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327281A CN114327281A (en) | 2022-04-12 |
CN114327281B true CN114327281B (en) | 2023-12-05 |
Family
ID=81017762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111647866.8A Active CN114327281B (en) | 2021-12-30 | 2021-12-30 | TCG software and hardware acceleration method and device for SSD, computer equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327281B (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012148812A2 (en) * | 2011-04-29 | 2012-11-01 | Lsi Corporation | Encrypted transport solid-state disk controller |
WO2013101353A1 (en) * | 2011-12-30 | 2013-07-04 | Sandisk Technologies Inc. | Host device and method for partitioning attributes in a storage device |
CN103558994A (en) * | 2013-09-29 | 2014-02-05 | 记忆科技(深圳)有限公司 | Method for encrypting solid state disk partitions and solid state disk |
CN104951405A (en) * | 2014-03-28 | 2015-09-30 | 三星电子株式会社 | Storage system and method for performing and authenticating write-protection thereof |
CN108572797A (en) * | 2018-03-07 | 2018-09-25 | 深圳忆联信息系统有限公司 | A kind of solid state disk reading performance accelerated method |
CN110232034A (en) * | 2018-03-05 | 2019-09-13 | 三星电子株式会社 | Host system and its method and accelerating module |
CN113031863A (en) * | 2021-03-19 | 2021-06-25 | 深圳忆联信息系统有限公司 | SSD command correlation management method and device, computer equipment and storage medium |
CN113113068A (en) * | 2020-01-10 | 2021-07-13 | 三星电子株式会社 | Memory controller and memory device including the same |
CN113407110A (en) * | 2020-03-17 | 2021-09-17 | 爱思开海力士有限公司 | Controller and memory system |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102567140B1 (en) * | 2017-11-24 | 2023-08-16 | 삼성전자주식회사 | Method of managing data and storage device performing the same |
-
2021
- 2021-12-30 CN CN202111647866.8A patent/CN114327281B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012148812A2 (en) * | 2011-04-29 | 2012-11-01 | Lsi Corporation | Encrypted transport solid-state disk controller |
WO2013101353A1 (en) * | 2011-12-30 | 2013-07-04 | Sandisk Technologies Inc. | Host device and method for partitioning attributes in a storage device |
CN103558994A (en) * | 2013-09-29 | 2014-02-05 | 记忆科技(深圳)有限公司 | Method for encrypting solid state disk partitions and solid state disk |
CN104951405A (en) * | 2014-03-28 | 2015-09-30 | 三星电子株式会社 | Storage system and method for performing and authenticating write-protection thereof |
CN110232034A (en) * | 2018-03-05 | 2019-09-13 | 三星电子株式会社 | Host system and its method and accelerating module |
CN108572797A (en) * | 2018-03-07 | 2018-09-25 | 深圳忆联信息系统有限公司 | A kind of solid state disk reading performance accelerated method |
CN113113068A (en) * | 2020-01-10 | 2021-07-13 | 三星电子株式会社 | Memory controller and memory device including the same |
CN113407110A (en) * | 2020-03-17 | 2021-09-17 | 爱思开海力士有限公司 | Controller and memory system |
CN113031863A (en) * | 2021-03-19 | 2021-06-25 | 深圳忆联信息系统有限公司 | SSD command correlation management method and device, computer equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN114327281A (en) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111221476B (en) | Front-end command processing method and device for improving SSD performance, computer equipment and storage medium | |
US11294675B2 (en) | Writing prefetched data into intra-core caches of cores identified by prefetching instructions | |
EP3057272B1 (en) | Technologies for concurrency of cuckoo hashing flow lookup | |
KR101529811B1 (en) | Systems and methods for managing endian mode of a device | |
CN110119304B (en) | Interrupt processing method and device and server | |
CN114860329A (en) | Dynamic consistency biasing configuration engine and method | |
US10657052B2 (en) | Information handling system with priority based cache flushing of flash dual in-line memory module pool | |
CN110781107B (en) | Low-delay fusion IO control method and device based on DRAM interface | |
US20240241724A1 (en) | Embedding vector prefetching method and apparatus, system, and related device | |
CN113064919B (en) | Data processing method, data storage system, computer device and storage medium | |
US10216634B2 (en) | Cache directory processing method for multi-core processor system, and directory controller | |
CN116610262A (en) | Method, device, equipment and medium for reducing SSD sequential reading delay | |
CN114785662B (en) | Storage management method, device, equipment and machine-readable storage medium | |
CN110825326A (en) | Method and device for improving SSD random reading performance, computer equipment and storage medium | |
CN114327281B (en) | TCG software and hardware acceleration method and device for SSD, computer equipment and storage medium | |
JP6944576B2 (en) | Cache device, instruction cache, instruction processing system, data processing method, data processing device, computer-readable storage medium and computer program | |
CN116670661A (en) | Cache access method of graphics processor, graphics processor and electronic device | |
CN113515232B (en) | Method, device, computer equipment and storage medium for improving SSD low order depth reading performance | |
US6401151B1 (en) | Method for configuring bus architecture through software control | |
US20200341953A1 (en) | Multi-node deduplication using hash assignment | |
CN112732176A (en) | SSD (solid State disk) access method and device based on FPGA (field programmable Gate array), storage system and storage medium | |
CN108664417B (en) | Directory updating method and device | |
CN114237509B (en) | Data access method and device | |
CN111125715A (en) | TCG data processing acceleration method and device based on solid state disk, computer equipment and storage medium | |
US9798479B2 (en) | Relocatable and resizable tables in a computing device |
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 |