Resource isolation method and apparatus, and chip

By using security status registers and access control tables in AI computing, the problem of data leakage caused by encryption and decryption algorithms is solved, and hardware-level resource isolation and data security between processors are achieved.

WO2026025851A1PCT designated stage Publication Date: 2026-02-05HUAWEI TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/076394
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-27
Filing Date
2025-02-08
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

In existing AI computing technologies, when using encryption and decryption algorithms to achieve resource isolation between processors, there is a problem that sensitive data may be leaked due to key modification or leakage, and the encryption and decryption algorithms consume a lot of computing resources.

Method used

Using a security status register and a permission control table, the access request sent by the first computing engine carries an identifier. The storage access controller determines whether the access address is in the storage address range that it can access, ensuring that only authorized computing engine groups can access their corresponding data.

Benefits of technology

It achieves hardware-level resource isolation, avoids data leakage, saves computing resources, and improves the security and efficiency of data access.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025076394_05022026_PF_FP_ABST
    Figure CN2025076394_05022026_PF_FP_ABST
Patent Text Reader

Abstract

A resource isolation method and apparatus, and a chip. The method is applied to a computing node comprising a plurality of computing engines and a storage access controller, and comprises: a first computing engine sending an access request comprising a first identifier and an access address to the storage access controller, the first identifier being used for indicating that the first computing engine belongs to a first computing engine group; the storage access controller determines whether the access address in the access request is in a storage address segment accessible by the first computing engine corresponding to the first identifier in a permission control table, so as to allow access by the first computing engine when the access address is in the storage address segment. The storage access controller determines, by means of the access request sent by the first computing engine and the permission control table, whether to allow access by the first computing engine, such that computing resources and storage resources between different computing engine groups can be isolated, thereby ensuring data security.
Need to check novelty before this filing date? Find Prior Art

Description

Resource isolation method, device and chip

[0001] The present application claims priority to the Chinese patent application No. 202411017693.5, filed on July 27, 2024, with the State Intellectual Property Office of China, and entitled "A resource isolation method, device and chip", the whole content of which is incorporated herein by reference. TECHNICAL FIELD

[0002] The present application relates to the field of computing security, and in particular to a resource isolation method, device and chip. BACKGROUND

[0003] With the increase of artificial intelligence (AI) application scenarios, the data input into AI computing also increases, and sensitive data such as identity information, medical data, and financial data may exist in the data. Leakage of the above sensitive data will have a bad impact on personal safety and social safety, and therefore, the above sensitive data needs to be protected during AI computing. During AI computing, multiple processors are usually involved, such as graphics processing unit (GPU), neural network processing unit (NPU), etc. Different processors run different computing tasks, and multiple instances for running different computing tasks can also be divided in the same processor.

[0004] In order to ensure the privacy and security of sensitive data, during the operation of the business, it is necessary to ensure that the processor or instance can only access the part of sensitive data corresponding to itself, and cannot access the part of sensitive data corresponding to other processors or instances, so as to realize the mutual isolation between different processors or different instances. Currently, access permission is usually controlled by encryption and decryption algorithms. In the case that the encryption key is modified or leaked, sensitive data leakage problem will occur, and the encryption and decryption algorithms need to consume a large amount of computing resources, affecting data transmission. SUMMARY

[0005] The present application discloses a resource isolation method, device and chip. After a first computing engine sends an access request including a first identifier and an access address to a storage access controller, the storage access controller determines whether to allow access of the first computing engine through the access request and a permission control table. It can be ensured that the first computing engine can only obtain corresponding data when the access address is in the storage address segment that can be accessed by the first computing engine group, and the isolation of computing resources and storage resources between multiple computing engine groups can be realized, and the security of data can be ensured.

[0006] In a first aspect, the present application provides a resource isolation method, which is applied to a computing node including a plurality of computing engines and a storage access controller, each of the computing engines including a security state register, the method comprising: obtaining, by a first computing engine, a first identifier from the security state register of the first computing engine, and sending, by the first computing engine, an access request carrying the first identifier and an access address to the storage access controller, so that the storage access controller determines a storage address segment accessible by the first computing engine from a stored permission control table according to the first identifier in the access request, wherein the first identifier is used for the first computing engine. Then, in a case where the storage access controller determines that the access address is in the storage address segment accessible by the first computing engine, the first computing engine obtains data corresponding to the access address. Wherein the security state register and the permission control table are configured in a case where the first computing engine and the storage access controller are in a security state.

[0007] In the above process, the first identifier in the access request is determined by the security state register and is not affected by software, so that the storage access controller can save computing resources compared with the current method of isolating resources between different computing engines through encryption and decryption algorithms. In addition, the security state register and the permission control table are modified only when the computing engine and the storage access controller are in a security state, and in other cases, the first identifier in the security state register and the permission control table will not be modified by software, which can ensure the isolation of computing resources and storage resources between different computing engines and ensure the security of data.

[0008] Exemplarily, the first identifier is also used to indicate that the first computing engine belongs to a first computing engine group. It can be understood that the first computing engine group at least includes the first computing engine, and in a case where the first computing engine group further includes at least one other computing engine, the security state register of the at least one other computing engine also stores the first identifier.

[0009] Exemplarily, the computing node further includes a processor supporting implementation of a trusted execution environment (TEE). The method further includes: the processor provides the TEE as a security environment for the first computing engine and the storage access controller.

[0010] The processor provides the TEE for the first computing engine and the storage access controller, which can provide a security environment for the operation of configuring the security state register and the permission control table during the running of the computing node. Compared with the current multi-instance graphics processing unit (MIG) technology of dividing a plurality of mutually isolated computing engine groups, the processor can configure computing resources and storage resources isolated from each other for a plurality of computing engine groups in a more flexible proportion through the TEE.

[0011] Exemplarily, the method further comprises: the processor configuring, through the TEE, a security state register of the plurality of computing engines, and configuring a permission control table stored by the storage access controller.

[0012] Exemplarily, the specific process in which the processor configures, through the TEE, the security state register of the plurality of computing engines is as follows: the processor writes an identifier into the security state register of the plurality of computing engines, wherein the number of times of writing the same identifier into different security state registers is determined according to the computing resource requirement of the computing engine group and the number of the plurality of computing engines.

[0013] Exemplarily, the specific process in which the processor configures, through the TEE, the permission control table stored by the storage access controller is as follows: the processor configures the permission control table in the storage access controller according to the plurality of identifiers and the storage address segment accessible by the computing engine group corresponding to each identifier, wherein the storage address segment accessible by the computing engine group is determined according to the storage resource requirement of the computing engine group.

[0014] In the above process, configuring the security register of the computing engine and the permission control table in the storage access controller can ensure that each computing engine can only access data in the storage address segment accessible by the computing engine group to which each computing engine belongs in the subsequent data access process of the computing engine, thereby ensuring the security of the training data.

[0015] Exemplarily, before the processor configures, through the TEE, the security state register of the plurality of computing engines, the method further comprises: the processor cleaning data in the storage address segment currently accessible by the plurality of computing engine groups.

[0016] In the above process, before reconfiguring the security state register and the permission control table, cleaning the storage address segment currently configured to the computing engine group can prevent the security state register of the first computing engine from accessing data in the storage address segment originally configured to the other computing engine group after being reconfigured to the identifier corresponding to the other computing group, thereby ensuring the isolation of data between different computing engine groups and ensuring the security of the training data.

[0017] Exemplarily, the computing node further comprises a basic input output system (BIOS); and the method further comprises: the BIOS providing a security state for the first computing engine and the storage access controller, the security state being a time period during which the BIOS runs when the computing node starts.

[0018] The BIOS is only run at the start of the computing node, and the security state register and the permission control table in the computing node are in a security state during the running of the BIOS, and the BIOS can configure the security state register and the permission control table.

[0019] The method further includes that the BIOS configures the security state register of the plurality of computing engines and the permission control table stored by the storage access controller.

[0020] The BIOS configures the security state register of the plurality of computing engines, and the specific process is as follows: the BIOS writes one identifier in the plurality of identifiers into the security state register of the plurality of computing engines respectively, and the number of times of writing each identifier into the security state register is determined according to the computing resource requirement of the computing engine group and the number of the plurality of computing engines.

[0021] The BIOS configures the permission control table stored by the storage access controller, and the specific process is as follows: the BIOS configures the permission control table according to the plurality of identifiers and the storage address segment accessible by the computing engine group corresponding to each identifier, and the storage address segment accessible by the computing engine group is determined according to the storage resource requirement of the computing engine group.

[0022] In the above process, the BIOS configures the security state register and the permission control table only during the start of the computing node and the running process, and the computing resource and the storage resource of different computing engine groups can be isolated, so that the security of the data corresponding to different computing engine groups can be ensured.

[0023] The method further includes that the BIOS clears the data in the storage address segment currently corresponding to the plurality of computing engine groups before the BIOS configures the security state register of the plurality of computing engines.

[0024] Before the BIOS configures the security register of the plurality of computing engines, if the storage address segment corresponding to the computing engine group belongs to volatile memory, the data in the volatile memory can be cleared after the computing node is restarted, and if the storage address segment corresponding to the computing engine group belongs to persistent memory, the data in the persistent memory cannot be cleared after the computing node is restarted, and the BIOS needs to clear the data in the persistent memory to prevent the first computing engine from accessing the data in the storage address segment previously configured for other computing engine groups, so as to avoid the problem of data leakage and ensure the security of the data.

[0025] Exemplarily, the computing node further comprises a trusted platform module (TPM); before the first computing engine sends the access request to the storage access controller, the method further comprises: the TPM calculates and stores a security state register of each of the plurality of computing engines and a security parameter corresponding to a permission control table stored by the storage controller, the security parameter being used to indicate a configuration state of the security state register and the permission control table, the configuration state comprising a configuration completion state and a configuration failure state.

[0026] After the processor or the BIOS configures the security state register and the permission control table, the newly configured security state register and the permission control table do not take effect immediately, and need to be validated by a remote attestation server in a case that the security parameter indicating the configuration state of the security state register and the permission control table obtained from the TPM is determined to be the same as an attestation parameter, and the security state register and the permission control table are determined to be correctly configured. In this case, the newly configured security state register and the permission control table take effect, the first computing engine obtains a new identifier from the newly configured security state register, and sends an access request carrying the new identifier to the storage access controller, so that the storage access controller determines whether to allow the first computing engine to access according to the access request carrying the new identifier and the newly configured permission control table.

[0027] Exemplarily, the method further comprises: the first computing engine stops obtaining data according to the access address in a case that the storage access controller determines that the access address is not in the storage address segment accessible by the first computing engine group.

[0028] Exemplarily, the computing node is a graphics processing unit (GPU) or a neural network processing unit (NPU).

[0029] Exemplarily, the plurality of computing engines and the storage access controller are connected through a bus, and the bus is used to support transmission of the identifier.

[0030] In a second aspect, the application provides a resource isolation device, which is applied to a computing node, and includes a plurality of computing engines and a storage access controller, and each of the computing engines includes a security state register. The first computing engine is configured to send an access request to the storage access controller, the access request including a first identifier and an access address, the first identifier being obtained from the security state register of the first computing engine and used to indicate that the first computing engine belongs to a first computing engine group; the storage access controller is configured to determine, according to a stored permission control table and the first identifier, whether the access address is in a storage address segment that can be accessed by the first computing engine group, wherein the permission control table includes a mapping relationship between the first identifier and the storage address segment that can be accessed by the first computing engine group; and the first computing engine is further configured to obtain data corresponding to the access address in a case where the storage access controller determines that the access address is in the storage address segment that can be accessed by the first computing engine group.

[0031] Exemplarily, the first identifier is further used to indicate that the first computing engine belongs to the first computing engine group.

[0032] Exemplarily, the security state register and the permission control table are configured in a case where the first computing engine and the storage access controller are in a security state.

[0033] Exemplarily, the device further includes a processor supporting a trusted execution environment (TEE) implementation; and the processor is configured to provide a security state for the first computing engine and the storage access controller, and the security state is the TEE.

[0034] Exemplarily, the processor is specifically configured to configure the security state registers of the plurality of computing engines through the TEE, and configure the permission control table stored by the storage access controller through the TEE.

[0035] Exemplarily, the processor is specifically configured to write one identifier of a plurality of identifiers into the security state register of each of the plurality of computing engines, wherein the number of times that each identifier is written into the security state register is determined according to the computing resource requirement of the computing engine group and the number of the plurality of computing engines.

[0036] Exemplarily, the processor is specifically configured to configure the permission control table according to the plurality of identifiers and the storage address segments that can be accessed by the computing engine groups corresponding to the identifiers, wherein the storage address segments that can be accessed by the computing engine groups are determined according to the storage resource requirement of the computing engine groups.

[0037] Exemplarily, before the processor configures the security state registers of the plurality of computing engines, the processor is further configured to clean up data in the storage address segments corresponding to the plurality of computing engine groups.

[0038] Exemplarily, the computing node further comprises a basic input output system (BIOS); the BIOS is configured to provide a security state for the first computing engine and the storage access controller, and the security state is a time period during which the BIOS is running when the computing node is started.

[0039] Exemplarily, the BIOS is specifically configured to configure security state registers of the plurality of computing engines; and configure a permission control table stored by the storage access controller.

[0040] Exemplarily, the BIOS is specifically configured to write one identifier of the plurality of identifiers into the security state register of each of the plurality of computing engines, wherein the number of times of writing each identifier into the security state register is determined according to the computing resource requirement of the computing engine group and the number of the plurality of computing engines.

[0041] Exemplarily, the BIOS is specifically configured to configure the permission control table according to the plurality of identifiers and the storage address segment accessible by the computing engine group corresponding to each identifier, wherein the storage address segment accessible by the computing engine group is determined according to the storage resource requirement of the computing engine group.

[0042] Exemplarily, before the BIOS configures the security state registers of the plurality of computing engines, the BIOS is further configured to clean data in the storage address segment corresponding to the plurality of computing engine groups.

[0043] Exemplarily, the computing node further comprises a trusted platform module (TPM); the TPM is configured to calculate and store a security parameter corresponding to each of the security state registers of the plurality of computing engines and the permission control table stored by the storage controller, and the security parameter is used to indicate a configuration state of the security state register and the permission control table, and the configuration state comprises a configuration completion state and a configuration failure state.

[0044] Exemplarily, the first computing engine is further configured to stop obtaining data according to the access address in a case where the storage access controller determines that the access address is not in the storage address segment accessible by the first computing engine group.

[0045] Exemplarily, the computing node is a graphics processor or a neural network processor.

[0046] Exemplarily, the plurality of computing engines and the storage access controller are connected through a bus, and the bus is used to support transmission of the identifier.

[0047] In a third aspect, a chip is provided for indicating the resource isolation method provided in the first aspect.

[0048] On the basis of implementation manners of the above aspects provided by the application, further combinations can be made to provide more implementation manners. BRIEF DESCRIPTION OF DRAWINGS

[0049] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced as follows.

[0050] FIG. 1 is a structural schematic diagram of a resource isolation device provided by an embodiment of the present application;

[0051] FIG. 2 is a structural schematic diagram of a computing node provided by an embodiment of the present application;

[0052] FIG. 3 is a flowchart of a resource isolation method provided by an embodiment of the present application;

[0053] FIG. 4 is a flowchart of a resource configuration method provided by an embodiment of the present application. DETAILED DESCRIPTION

[0054] The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of protection of the present application.

[0055] Currently, AI computing is applied to various industries, involving a large amount of sensitive data such as personnel identity information, medical data, and financial data. In order to ensure the security of sensitive data, processors such as GPUs need to perform encryption operations on data according to encryption keys. Only processors including corresponding decryption keys and having corresponding permissions can access the data subjected to the encryption operation. Processors including other decryption keys do not have corresponding permissions and cannot access the data subjected to the encryption operation. The above process can only provide software-level data security guarantee. In the case that the encryption key is modified or leaked by software, sensitive data leakage problem will occur, and the encryption and decryption algorithm consumes a large amount of computing power.

[0056] To solve the above problems, the embodiment of the present application provides a resource isolation method and device, etc., the first computing engine carries the value stored in the security state register in the sent access request, since the value indicates the first computing engine, in the case that the storage access controller receives the access request, the storage address that the first computing engine can access can be determined according to the value, then, it is further judged whether the access address in the access request is in the storage address that the first computing engine can access, so as to judge whether the access of the first computing engine is allowed, the above process can ensure that the first computing engine can only access the data in the storage address segment that it can access, and cannot access the data in the storage address segment that other computing engines can access, thereby ensuring the mutual isolation of the storage resources between the plurality of computing engines, and ensuring the security of data access.

[0057] As shown in FIG. 1, FIG. 1 is a structural schematic diagram of a resource isolation device provided by the embodiment of the present application, the resource isolation device 100 includes a plurality of computing engines 110 and at least one storage access controller 120, wherein each computing engine includes a security state register 111.

[0058] The first computing engine in the plurality of computing engines 110 can realize a resource isolation method provided by the embodiment of the present application by combining the security state register in the first computing engine and the storage access controller, and the specific process can be referred to the method embodiment shown in FIG. 3, which will not be described in detail here, wherein the first computing engine is any one of the plurality of computing engines.

[0059] As shown in FIG. 2, FIG. 2 is a structural schematic diagram of a computing node provided by the embodiment of the present application, the computing node can deploy the resource isolation device shown in FIG. 1, the computing node 200 includes a computing engine 110, a storage access controller 120, a memory 140, a trusted execution environment processor 150 and a basic input output system 160, wherein the computing engine 110 and the storage access controller 120 are connected through a bus 130, and the storage access controller 120 is connected with the memory 140.

[0060] The computing node 200 can be a graphics processing unit (GPU) or a neural network processing unit (NPU), and can also be other possible processors, which are not limited by the present application. When the processor is a GPU, the processor is used to perform graphics rendering and parallel computing and other computing tasks.

[0061] The computing engine 110 can be a processing unit in a computing node for performing a specific computing task, such as a processing unit for computing vectors, a processing unit for computing matrices, and the like, without limitation. The computing engines in the computing node can be divided into a plurality of computing engine groups, each of which includes one or more computing engines for performing different computing tasks, and the computing engines included in each computing engine group and the storage addresses in the corresponding memory are isolated from each other.

[0062] The computing engine includes a security state register 111, which is deployed in the computing engine in the form of hardware. When the computing engine belongs to a security state, the security state register stores a configured identifier, and in other cases, the security state register remains unchanged. The security state can be a trusted execution environment (TEE), or when the computing node is powered on, it is in the basic input output system (BIOS) running phase. The identifier is used to indicate the corresponding computing engine, and in the case of dividing the computing engine into a plurality of computing engine groups, the identifier is also used to indicate the computing engine group to which the computing engine belongs. The security state registers of one or more computing engines in the same computing engine group store the same identifier.

[0063] In a possible implementation, the identifier can be represented in the form of a plurality of bits. For example, in the case where the computing node needs to divide the computing engines into four isolated groups to perform different computing tasks, four identifiers need to be determined to indicate the four isolated computing engine groups, respectively. The four identifiers are represented by bit values including two bits, which are 00, 01, 10, and 11, respectively. In the case where the first computing engine group includes a plurality of first computing engines, the security state register in each first computing engine in the first computing engine group is configured as 00, and the computing engines in the other computing engine groups are similar to the above process, which will not be described in detail here. In the case where the number of computing engine groups increases, the number of bits of the identifier also increases, and a larger number of identifiers can be generated to indicate different computing engine groups. In a possible implementation, the identifier can also be represented in other forms, without limitation.

[0064] The storage access controller 120 is configured to determine whether to normally execute the access operation according to the access request sent by the computing engine, so as to allow the computing engine to obtain data from the corresponding storage according to the access address in the access request in the case that the access request can be normally executed. Each storage access controller 120 includes a permission control table including a mapping relationship between identifiers of a plurality of computing engine groups and storage address segments accessible by the computing engine groups, wherein the storage address segments can include address segments in the same storage or address segments in different storages, which is not limited in the present application.

[0065] For example, assuming that the storage connected to the first storage access controller stores data accessible by four computing engine groups, the permission control table included in the first storage access controller can be as shown in Table 1:

[0066] Table 1: Permission control table

[0067] In a possible implementation, the storage 140 connected to the first storage access controller 120 can include more or fewer instances of data, which is not limited in the present application. It should be understood that Table 1 described above is only one possible example provided by the embodiment of the present application, and the permission control table can also be represented in other forms, which is not limited in the present application.

[0068] The bus 130 is configured to connect the plurality of computing engines 110 and the storage 140. After the security state registers in the computing engines and the permission control table in the storage access controller are configured, the computing engines start to run the computing task and transmit data, the bus supports transmission of the identifier between the computing engines and the storage, maintains the mapping relationship between the identifier and the storage address segment, and ensures that the corresponding physical storage address segment can be determined according to the identifier, so as to ensure normal transmission of data.

[0069] The storage 140 includes a volatile storage and a persistent storage. The volatile storage is configured to temporarily store results generated in the process of executing the computing task, and the volatile storage can be a double data rate (DDR) memory, a high bandwidth memory (HBM), etc., which is not limited in the present application. The persistent storage is configured to persistently store input data required by the computing task and output data generated, etc., and the persistent storage can be a hard disk, a flash, etc., which is not limited in the present application.

[0070] The trusted execution environment processor 150 is configured to provide a trusted execution environment for the computing engines and the storage access controllers in the computing node, and can be a processor supporting ARM Trust Zone technology or the like, which is not limited in the present application. The TEE provides a secure isolated execution environment, and ensures that the tasks or programs running in the computing engine group are isolated from other parts of the computing node during execution, protects the computing engine group from malicious attacks and unauthorized access, and protects the security and stability of the computing engine group.

[0071] The trusted execution environment processor 150 is further configured to configure a security state register for the computing engine in the TEE and configure a permission control table for the storage access controller in the TEE. The trusted execution environment processor 150 can determine the computing engine group having independent physical resources in the respective computing node by configuring the security state register of the computing engine and configuring the permission control table of the storage access controller, wherein the physical resources can include computing resources, i.e., computing engines (such as processing units for computing vectors and processing units for computing matrices) and storage resources (such as memories).

[0072] The basic input and output system 160 (BIOS) is configured to run when the computing node is started, perform a self-check of the computing node hardware, configure memory parameters, configure a graphics card, set CPU parameters, and configure a motherboard. The BIOS is configured to provide a secure environment for the computing engines and the storage access controllers during the startup of the computing node, and is further configured to initialize and configure the security state register of the computing engine and the permission control table in the storage access controller, so as to realize the configuration of the respective computing resources and storage resources of different computing engine groups.

[0073] Optionally, the computing node can further include a trusted platform module 170 (TPM), and the TPM further includes platform configuration registers 171 (PCR). The TPM is configured to measure the security state register in the computing engine and the permission control table in the storage access controller, and the PCR is configured to store security-related data corresponding to the measurement by the TPM, such as a hash value corresponding to the security state register and the permission control table, a hash value or a digital signature corresponding to other components, which is not limited in the present application.

[0074] Specifically, the TPM calculates a hash value of the security status register and the permission control table respectively to determine the configuration state of the security status register and the permission control table, and stores the hash value into the PCR after finishing the measurement. The hash value of the security status register and the permission control table included in the PCR changes with the configuration state of the security status register and the permission control table, and is used to be compared with a standard value in a remote attestation server in a security verification scenario to determine whether the configuration of the security status register and the permission control table is normally completed and is not tampered. It should be understood that the TPM can also measure more components in the computing node, which is not limited in the present application.

[0075] It should be understood that the computing node shown in FIG. 2 is only one possible example provided by the embodiments of the present application, and the computing node can also include more kinds and quantities of components, which are not limited in the present application.

[0076] In the computing node with the above structure, during the operation of the service, the security status register and the storage access controller remain unchanged in the non-secure state, and the identifiers and the permission control table stored by the software are not modified, and the security register and the storage access controller can provide hardware-level data security guarantee for the service operation of the computing node.

[0077] In combination with the above computing node, the embodiments of the present application provide a resource isolation method, by carrying the first identifier obtained from the security status register in the access request sent by the first computing engine, so that the storage access controller determines whether to allow the access of the computing engine according to the first identifier, the access address in the access request and the permission control table, which can ensure that the first computing engine can only access the data in the storage address segment that can be accessed by the first computing engine group to which the first computing engine belongs during the operation of the service of the computing node, and ensure the mutual isolation of the computing resources and the storage resources between the multiple computing engine groups, thereby ensuring the security of the data.

[0078] As shown in FIG. 3, FIG. 3 is a flowchart of a resource isolation method provided by the embodiments of the present application, which is applied to the computing node shown in FIG. 2, and the method includes the following steps.

[0079] S310: The first computing engine sends an access request to the storage access controller, wherein the access request includes an access address and a first identifier.

[0080] The first computing engine sends an access request to the storage access controller, wherein the access request comprises an access address and a first identifier, the first identifier is obtained from the security state register of the first computing engine, and the first identifier is used to indicate that the first computing engine belongs to the first computing engine group. The access address is used to indicate the address of the target data.

[0081] Since the first identifier is obtained from the security state register and determined by the security state register, the first identifier is not affected by the computing engine running software in the process of running the first computing engine, and remains unchanged in the process of data access of the first computing engine, except that the security state register is reconfigured with a new identifier. The security state register in the computing engine provides a hardware-level security guarantee for the security of data. The first identifier and the access address can provide a reference for the storage access controller to determine whether the first computing engine can obtain the data corresponding to the access address in the subsequent process, so as to ensure the security of the data.

[0082] The storage access controller determines the storage address segment that can be accessed by the first computing engine group corresponding to the first identifier according to the first identifier in the access request and the stored permission control table after receiving the access request, and then determines whether the access address in the access request is in the storage address segment that can be accessed by the first computing engine group.

[0083] Similarly, except that the storage access controller reconfigures a new permission control table, the permission control table is not affected by the computing engine running software, and remains unchanged in the process of data access of the first computing engine, and the storage access controller provides a hardware-level security guarantee for the security of data. The storage access controller determines whether the access address is in the storage address segment that can be accessed by the first computing engine group according to the first identifier and the access address, so as to realize that the first computing engine can only access the storage address segment that can be accessed by the first computing engine group, and realize the isolation of the computing resources and the storage resources corresponding to the first computing engine group and other computing engine groups.

[0084] In the case where it is determined that the access address is in the storage address segment that can be accessed by the first computing engine group, the storage access controller performs step S330; in the case where it is determined that the access address is not in the storage address segment that can be accessed by the first computing engine group, the storage access controller performs step S340.

[0085] S330: The storage access controller allows the first computing engine to access, accordingly, the first computing engine acquires data corresponding to the access address.

[0086] S340: The storage access controller denies the first computing engine to access, accordingly, the first computing engine cannot acquire data corresponding to the access address.

[0087] The permission control table in the storage access controller is also kept unchanged during the running of the first computing engine, and the storage access controller judges whether the access request of the first computing engine can be normally performed, which can further provide a hardware-level security guarantee for the security of data.

[0088] In a specific embodiment, the trusted execution environment processor configures a security state register for a computing engine in the TEE and configures a permission control table for a storage access controller in the TEE, and in the case that the configuration of the security state register and the permission control table takes effect, the computing node includes a first computing engine group, a second computing engine group, a third computing engine group, and a fourth computing engine group, and the security state registers of the computing engines included in the above four computing engine groups correspond to identifiers 00, 01, 10, and 11, respectively. The first storage access controller is configured with a permission control table as shown in Table 1, and the computing engines in the computing engine groups normally run according to the corresponding security state registers and the permission control table. The first computing engine in the first computing engine group acquires a corresponding first identifier 00 from its own security state register, sends an access request carrying the first identifier 00 and an access address A to the first storage access controller through a bus, and the first storage access controller determines whether the access request can be normally executed according to the access request and the permission control table upon receiving the access request. The first storage access controller first determines the storage address segment [a1, a2] corresponding to the first computing engine group according to the first identifier 00 in the access request and the permission control table, and then determines whether the access address A in the access request is within the range of [a1, a2]. In the case that the access address A is within the storage address segment [a1, a2] corresponding to the first computing engine group, the first computing engine is allowed to acquire data from the storage according to the access address A; in the case that the access address A is not within the storage address segment [a1, a2] corresponding to the first computing engine group, the first computing engine is denied to execute the access request.

[0089] In summary, the first identifier acquired by the first computing engine is determined by the security state register included in the first computing engine and is not controlled by the software running on the first computing engine, and the bus can send an access request including the first identifier to the first storage access controller, so that the first storage access controller determines the storage address segment that can be accessed by the first computing engine according to the first identifier and the permission control table, to determine whether to execute the current access request, to realize isolation of the computing resources and the storage resources corresponding to different computing engine groups, and each computing engine can only access data in the storage address segment configured by the computing engine group to which the computing engine belongs, to avoid data leakage between different instances and other problems, and to ensure the security of the data. In the above process, the security control of the data is a hardware behavior, which can provide hardware-level security guarantee for the running of the computing engine.

[0090] Before the process of running the service by the computing node, the embodiment of the application further provides a resource configuration method, which configures the security state register and the permission control table in the case that the computing engine and the storage access controller are in a security state, to realize the resource isolation method according to the identifier in the security state register and the permission control table, to ensure the security of the data.

[0091] Specifically, as shown in FIG. 4, FIG. 4 is a flowchart of a resource configuration method provided by the embodiment of the application, which is applied to the computing node shown in FIG. 2, and the method includes the following steps.

[0092] S410: Configure the security state register of the computing engine and the permission control table.

[0093] In the process of starting up the computing node, the BIOS in the computing node starts running, at this time, the BIOS makes the computing engine, the storage access controller and the memory in the computing node in a security state, and the BIOS initializes and configures the security register of the computing engine and the permission control table in the storage access controller. Specifically, according to the number of the plurality of computing engine groups to be divided, a plurality of identifiers are generated, and then according to the number of the computing engines and the computing resource demand of the computing engine groups, each identifier in the plurality of identifiers is written into the security state register of one or more computing engines, to realize initialization configuration of the computing engine groups, wherein the plurality of computing engines corresponding to the security state registers including the same identifier belong to the same computing engine group. Then, according to the plurality of identifiers and the storage resource demand of each computing engine group, the permission control table is configured, wherein the permission control table includes the plurality of identifiers and the storage address segment that can be accessed by the computing engine group corresponding to each identifier.

[0094] In a possible implementation, the security registers and the permission control table configured by the BIOS are not immediately effective, and the TPM needs to determine the configuration state of the security registers and the permission control table. Specifically, the TPM measures each security register and the permission control table, calculates a hash value corresponding to the measurement value of each security register and the permission control table, and stores the hash value corresponding to the security register and the permission control table in the PCR. Then, the TPM signs the plurality of hash values obtained from the PCR according to the built-in certificate private key, and sends the signed hash values to the remote attestation server, so that the remote attestation server determines whether the hash values are changed according to the signature, and compares the hash values with local standard values to determine whether the security registers and the permission control table are correctly configured, wherein the local standard values are used to indicate the expected first configuration of the security registers and the permission control table. In the case where the hash values are the same as the corresponding local standard values, the computing node determines that the configuration is correct according to the received confirmation information sent by the remote attestation server; or in the case where the hash values are not the same as the corresponding local standard values, the computing node determines that the configuration is correct according to the received confirmation information sent by the remote attestation server.

[0095] In the case where it is determined that the security registers and the permission control table configured by the initialization are correctly configured, the security registers and the permission control table configured by the initialization are effective, and the computing engine starts to run the respective computing task.

[0096] In a possible implementation, after the restart, in the case where the persistent memory in the computing node still includes the previously stored data, the BIOS clears the data stored in the persistent memory before configuring the identifier of the security register and the permission control table of the storage access controller, and the above process can avoid data leakage in the storage address segment of the persistent memory and ensure the security of the data in the case where the BIOS allocates the storage address segment of the persistent memory to a new computing engine group.

[0097] S420: Stop running the computing engine in the plurality of computing engine groups.

[0098] After the BIOS configures the security state register and the permission control table, when the required computing resources and storage resources of the plurality of computing engine groups change, and the security state register of the computing engine and the permission control table in the storage access controller need to be reconfigured, the running of the computing engine in the plurality of computing engine groups needs to be stopped, and the running of all computing engines in the plurality of computing engine groups needs to be stopped, so as to avoid generating new data and causing data leakage in the subsequent process of reconfiguring the security state register and the permission control table. The plurality of computing engine groups can be all computing engine groups in a computing node, or part of the computing engine groups in the computing node, which is not limited in the present application.

[0099] Specifically, the trusted execution environment processor provides a trusted execution environment for the computing engine and the storage access controller in the plurality of computing engine groups that need to be reconfigured, so that the computing engine and the storage access controller in the plurality of computing engine groups are in a secure state, and the TEE processor waits for the completion of the current running computing task of all computing engines in the computing engine group, or directly stops the running of all computing engines in the case that the running time of all computing engines in the computing engine group reaches a preset timeout time, which is not limited in the present application.

[0100] S430: Clear the data in the storage address segment corresponding to each of the plurality of computing engine groups.

[0101] The TEE processor determines the storage address segment corresponding to each of the plurality of computing engine groups according to the permission control table configured in the current storage access control, and clears all data in the determined storage address segment.

[0102] After stopping the running of the computing engine in the plurality of computing engine groups, further clearing the data in the storage address segment corresponding to the plurality of computing engine groups can avoid data leakage and ensure the security of the data. For example, assuming that the first data is included in the storage address segment corresponding to the first computing engine group, after reconfiguration, part of the storage address segment corresponding to the first computing engine group is allocated to the second computing engine group. In the case where data is not cleared, the computing engine in the second computing engine group can access the first data, but after the data is cleared, the computing engine in the second computing engine group will not access the first data, ensuring the security of the data.

[0103] S440: Reconfigure the security state register of the computing engine in the plurality of computing engine groups and the permission control table in the storage access controller.

[0104] The TEE processor reconfigures the security state registers of the plurality of computing engines in the plurality of computing engine groups and the permission control table stored by the storage access controller according to the number of computing engines in the plurality of computing engine groups that need to be reconfigured, the storage address segments corresponding to the plurality of computing engine groups that need to be reconfigured, and the different computing and storage requirements of the plurality of computing engine groups.

[0105] Specifically, the TEE processor configures new identifiers for the security state registers in the TEE environment, and the new identifiers of some of the security state registers are the same as the original identifiers stored by the security state registers, and the new identifiers of some of the security state registers are different from the original identifiers stored by the security state registers. The new computing engine groups are determined according to the new identifiers of the security state registers, wherein the number of computing engines in each computing engine group is changed, but the number of the new computing engine groups is the same as the number of the plurality of computing engine groups that need to be reconfigured.

[0106] Then, the TEE processor configures a new permission control table for the storage access controller in the TEE environment.

[0107] In a possible implementation, in the case where the permission control table includes one storage address segment corresponding to the plurality of computing engine groups that need to be reconfigured, the TEE processor rewrites the mapping relationship between each identifier and the new storage address segment corresponding to each computing engine group in the permission control table to obtain a new permission control table, wherein the new permission control table includes the same identifiers as the original permission control table, and the storage address segments corresponding to the computing engine groups indicated by the identifiers are different from the allocation of the storage address segments in the original permission control table.

[0108] In a possible implementation, in the case where the permission control table includes a plurality of storage address segments corresponding to the plurality of computing engine groups that need to be reconfigured, the TEE processor rewrites the mapping relationship between each identifier and the new storage address segment corresponding to each computing engine group in the permission control table to obtain a new permission control table, wherein the new permission control table includes more, fewer, or different types of identifiers than the original permission control table, and the storage address segments corresponding to the computing engine groups indicated by the identifiers are different from the allocation of the storage address segments in the original permission control table.

[0109] In the above process, during the running of the computing node, the TEE processor reconfigures the security state registers of the computing engines and the permission control table in the storage access controller. Compared with the current method of configuring the computing resources and the storage resources for the plurality of computing engine groups according to a fixed ratio, the configuration method provided in the embodiment of the application can configure the computing resources and the storage resources for the plurality of computing engine groups according to a more flexible ratio, thereby improving the running efficiency of the computing node to a certain extent.

[0110] S450: Determine that the reconfigured plurality of security state registers and the permission control table take effect.

[0111] After step S440 is performed, the TPM needs to perform a new measurement operation on the reconfigured security state registers and the permission control table, to determine whether the reconfiguration of the plurality of computing engine groups and the permission control table is completed normally. In the case where it is determined that the configuration is completed normally, the reconfigured plurality of security state registers and the permission control table take effect.

[0112] Specifically, the TPM measures the reconfigured security state registers and the permission control table, calculates the hash values corresponding to the new measurement values of the reconfigured security state registers and the permission control table, and stores the new hash values into the PCR, to update the data in the PCR. The computing node obtains the hash values indicating the reconfigured security state registers and the permission control table from the PCR through the TPM, signs the hash values according to the certificate private key in the TPM, and then sends the hash values to the remote attestation server. In the case where the remote attestation server determines that the received hash values are the same as the local standard values, the computing node determines, according to the confirmation information sent by the remote attestation server, that the configuration operation is completed normally, wherein the local standard values are used to indicate the expected reconfigured security state registers and the permission control table. Otherwise, in the case where the remote attestation server determines that the received hash values are not the same as the local standard values, the computing node determines, according to the confirmation information sent by the remote attestation server, that the configuration operation is not completed normally.

[0113] The reconfigured security state registers and the permission control table do not take effect immediately, and need to be measured and remotely attested, so that in the case where it is determined that the reconfiguration is completed normally, the computing engines in the plurality of computing engine groups are allowed to run according to the reconfigured security state registers and the permission control table, which can avoid problems such as data leakage caused by configuration errors.

[0114] In conclusion, the resource configuration method provided by the embodiments of the present application can flexibly configure the computing resources and the storage resources according to the requirements of the computing engine groups, instead of equally dividing the computing resources and the storage resources to the plurality of computing engine groups according to a fixed configuration ratio as in the current multi-instance GPU (MIG) technology, so that the requirements of the computing engine groups can be met to some extent and the running efficiency of the computing node can be improved.

[0115] In a specific embodiment, the computing node is configured during initialization at startup, four computing engines are configured for the first computing engine group, the second computing engine group, the third computing engine group and the fourth computing engine group respectively, the security state registers of the computing engines in each computing engine group store the following identifiers: 00, 01, 10, 11 respectively, and the permission control table shown in Table 1 is configured in the first storage access controller. During the running of the computing node, it is determined that the computing resources and the storage resources need to be reconfigured for the first computing engine group and the second engine group, the TEE processor provides a secure isolated execution environment for the first computing engine group and the second engine group, reconfigures the identifier 01 in the security state registers of the two second computing engines to 00, and in the case that the storage resource ratio allocated to the first computing engine group and the second engine group also changes, reconfigures the permission control table, modifies the storage address segment of the first computing engine group corresponding to the identifier 00, and modifies the storage address segment of the second computing engine group corresponding to the identifier 01, and the new permission control table is shown in Table 2:

[0116] Table 2: Permission control table

[0117] In the case of remote attestation, the new security state register and the permission control table shown in Table 2 are determined to take effect, one of the first computing engines in the first computing engine group obtains the corresponding first identifier 00 from the security state register thereof, sends an access request carrying the first identifier 00 and an access address B to the first storage access controller through a bus, and the first storage access controller determines whether the access request can be normally executed according to the access request and the permission control table in the case of receiving the access request. The first storage access controller first determines the storage address segment [a1, a2], [a3, a2*] corresponding to the first computing engine according to the first identifier 00 in the access request and the permission control table, and then determines whether the access address B in the access request is within the range of [a1, a2] or [a3, a2*]. In the case that the access address B is within the range of the storage address segment [a3, a2*] corresponding to the first computing engine, the memory can obtain data according to the access address B and transmit the data to the first computing engine.

[0118] In the resource configuration method shown in FIG. 4, during the running of the computing node, the TEE processor reconfigures the security state register and the permission control table. In a possible implementation, the BIOS can also reconfigure the security state register and the permission control table. The specific configuration process is the same as that performed by the TEE processor, which is not described herein again. In the case of reconfiguration by the BIOS, the running of the computing engine in the plurality of computing engine groups needs to be stopped. Similarly, after the running of the computing engine is stopped, the data in the storage address segment originally configured by the computing engine group needs to be cleared. In the case where the storage address segment originally configured by the computing engine group belongs to the volatile memory, the data in the volatile memory can be cleared after the computing node is restarted. Alternatively, in the case where the storage address segment originally configured by the computing engine group belongs to the persistent memory, the BIOS clears the data in the persistent memory. After the data is cleared, the BIOS reconfigures the security state register and the permission control table of the computing engine. The specific process is similar to the steps of reconfiguration by the TEE processor, which is not described herein again. Similarly, the security state register and the permission control table reconfigured by the BIOS do not take effect immediately, and whether the configuration of the new security state register and the permission control table is completed normally needs to be determined according to the TPM and the remote attestation server.

[0119] The chip is used to implement the resource isolation method shown in FIG. 3 and the resource configuration method shown in FIG. 4.

[0120] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, but not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement for part of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the protection scope of the technical solutions of the embodiments of the present application.

Claims

1. A resource isolation method, characterized in that, The method is applied to a compute node, which includes multiple compute engines and a storage access controller. Each compute engine includes a security status register. The method includes: The first computing engine sends an access request to the storage access controller. The access request includes a first identifier and an access address. The first identifier is obtained from the security status register of the first computing engine and is used to indicate the first computing engine. The storage access controller determines whether the access address is within the storage address range accessible by the first computing engine based on the storage permission control table and the first identifier. The permission control table includes a mapping relationship between the first identifier and the storage address range accessible by the first computing engine. When the storage access controller determines that the access address is within a storage address range that the first computing engine can access, the first computing engine obtains the data corresponding to the access address.

2. The method according to claim 1, characterized in that, The first identifier is also used to indicate that the first computing engine belongs to the first computing engine group.

3. The method according to claim 2, characterized in that, The security status register and the access control table are configured when the first computing engine and the storage access controller are in a secure state.

4. The method according to claim 2 or 3, characterized in that, The computing node further includes a Trusted Execution Environment (TEE) processor; the method further includes: The processor provides the security state, which is TEE, to the first computing engine and the storage access controller.

5. The method according to claim 4, characterized in that, The method further includes: The processor configures the security status registers of the multiple computing engines through the TEE; The processor configures the permission control table stored by the storage access controller through the TEE.

6. The method according to claim 5, characterized in that, The processor configures the security status registers of the multiple computing engines through the TEE, including: The processor writes one of multiple identifiers into the security status registers of the multiple computing engines, wherein the number of times each identifier is written into the security status register is determined based on the computing resource requirements of the computing engine group and the number of the multiple computing engines.

7. The method according to claim 6, characterized in that, The processor configures the permission control table stored by the storage access controller through the TEE, including: The processor configures the permission control table based on the plurality of identifiers and the storage address range that the computing engine group corresponding to each identifier can access, wherein the storage address range that the computing engine group can access is determined based on the storage resource requirements of the computing engine group.

8. The method according to any one of claims 5-7, characterized in that, Before the processor configures the security status registers of the plurality of computing engines via the TEE, the method further includes: The processor cleans up the data in the storage address ranges corresponding to the multiple computing engine groups.

9. The method according to claim 2 or 3, characterized in that, The computing node also includes a basic input / output system (BIOS); The method further includes: The BIOS provides the security state to the first computing engine and the storage access controller, and the security state is the period of time during which the BIOS runs when the computing node starts up.

10. The method according to claim 9, characterized in that, The method further includes: The BIOS configures the security status registers of the multiple computing engines; The BIOS configures the permission control table stored in the storage access controller.

11. The method according to claim 10, characterized in that, The BIOS configures the security status registers of the multiple computing engines, including: The BIOS writes one of multiple identifiers into the security status registers of the multiple computing engines, wherein the number of times each identifier is written into the security status register is determined based on the computing resource requirements of the computing engine group and the number of the multiple computing engines.

12. The method according to claim 11, characterized in that, The BIOS configures the permission control table stored in the storage access controller, including: The BIOS configures the permission control table based on the plurality of identifiers and the storage address range that the computing engine group corresponding to each identifier can access, wherein the storage address range that the computing engine group can access is determined based on the storage resource requirements of the computing engine group.

13. The method according to any one of claims 10-12, characterized in that, Before configuring the security status registers of the plurality of computing engines in the BIOS, the method further includes: The BIOS clears the data in the storage address ranges corresponding to the multiple computing engine groups.

14. The method according to any one of claims 1-3, characterized in that, The computing node also includes a Trusted Platform Module (TPM); The method further includes: The TPM calculates and stores the security parameters corresponding to the security status registers of the multiple computing engines and the permission control table stored by the storage controller. The security parameters are used to indicate the configuration status of the security status registers and the permission control table. The configuration status includes configuration completion status and configuration failure status.

15. The method according to any one of claims 1-14, characterized in that, The computing node is a graphics processing unit (GPU) or a neural network processing unit (NPU).

16. A resource isolation device, characterized in that, Applied to compute nodes, the device includes multiple compute engines and a storage access controller, with each compute engine including a security status register: A first computing engine is configured to send an access request to the storage access controller. The access request includes a first identifier and an access address. The first identifier is obtained from the security status register of the first computing engine and is used to instruct the first computing engine. The storage access controller is configured to determine whether the access address is within the storage address range accessible by the first computing engine based on the storage permission control table and the first identifier, wherein the permission control table includes a mapping relationship between the first identifier and the storage address range accessible by the first computing engine. The first computing engine is configured to obtain the data corresponding to the access address when the storage access controller determines that the access address is within a storage address range accessible by the first computing engine.

17. The apparatus according to claim 16, characterized in that, The first identifier is also used to indicate that the first computing engine belongs to the first computing engine group.

18. The apparatus according to claim 17, characterized in that, The security status register and the access control table are configured when the first computing engine and the storage access controller are in a secure state.

19. The apparatus according to claim 17 or 18, characterized in that, The device also includes a Trusted Execution Environment (TEE) processor; The processor is configured to provide the security state, which is a TEE, to the first computing engine and the storage access controller.

20. The apparatus according to claim 19, characterized in that, The processor is specifically used for: Configure the security status registers of the multiple computing engines through the TEE; The TEE is used to configure the permission control table stored by the storage access controller.

21. The apparatus according to claim 20, characterized in that, The processor is specifically used for: One of a plurality of identifiers is written into the security status register of each of the plurality of computing engines. The number of times each identifier is written into the security status register is determined based on the computing resource requirements of the computing engine group and the number of the plurality of computing engines.

22. The apparatus according to claim 20, characterized in that, The processor is specifically used for: The permission control table is configured based on the plurality of identifiers and the storage address range that the computing engine group corresponding to each identifier can access, wherein the storage address range that the computing engine group can access is determined based on the storage resource requirements of the computing engine group.

23. The apparatus according to any one of claims 20-22, characterized in that, Before configuring the security status registers of the plurality of computing engines via the TEE, the processor is also used to: Clean up the data in the storage address ranges corresponding to the multiple computing engine groups.

24. The apparatus according to claim 17 or 18, characterized in that, The computing node also includes a basic input / output system (BIOS); The BIOS is used to provide the security state to the first computing engine and the storage access controller, the security state being the period of time during which the BIOS runs when the computing node starts.

25. The apparatus according to claim 24, characterized in that, The BIOS is specifically used for: Configure the security status registers of the multiple computing engines; Configure the permission control table stored in the storage access controller.

26. The apparatus according to claim 25, characterized in that, The BIOS is specifically used for: One of a plurality of identifiers is written into the security status register of each of the plurality of computing engines. The number of times each identifier is written into the security status register is determined based on the computing resource requirements of the computing engine group and the number of the plurality of computing engines.

27. The apparatus according to claim 25, characterized in that, The BIOS is specifically used for: The permission control table is configured based on the plurality of identifiers and the storage address range that the computing engine group corresponding to each identifier can access, wherein the storage address range that the computing engine group can access is determined based on the storage resource requirements of the computing engine group.

28. The apparatus according to claim 17 or 18, characterized in that, The computing node also includes a Trusted Platform Module (TPM); The TPM is used to calculate and store the security parameters corresponding to the security status registers of the multiple computing engines and the permission control table stored by the storage controller. The security parameters are used to indicate the configuration status of the security status registers and the permission control table. The configuration status includes configuration completion status and configuration failure status.

29. The method according to any one of claims 16-28, characterized in that, The computing node is a graphics processing unit (GPU) or a neural network processing unit (NPU).

30. A chip, characterized in that, The chip is used to perform the method according to any one of claims 1-15.

Citation Information

Patent Citations

  • Acceleration of memory access

    CN105210037A

  • Data processor

    CN106557302A

  • Data processing method and device, processor and computer system

    CN117093132A

  • Storage device, memory access control system, and memory access control method

    US20210026787A1