IP Library Granted Patent US 11,941,259
Granted Patent B2
US 11,941,259 · App. 17/369,520 · Granted Mar 26, 2024

Communication method, apparatus, computer-readable storage medium, and chip

Inventors: Dongjiu Geng (Shanghai, CN); Chuanlong Yang (Hangzhou, CN); Yan Sang (Beijing, CN); Qiangmin Lin (Hangzhou, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F3/0622G06F3/0655G06F3/0679
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,941,259
App. No.
17/369,520
Granted
Mar 26, 2024
Kind
B2
Abstract

A communication method applied to a computer system that includes a first subsystem and a second subsystem. A safety level of the first subsystem is higher than a safety level of the second subsystem. The first subsystem includes a memory access checker. The method includes the memory access checker receives a memory access request from a memory access initiator, determines, based on preconfigured memory safety level division information, whether a safety level of a memory to be accessed by the memory access initiator matches a safety level of the memory access initiator, and allows the memory access initiator to access the memory address when the safety level of the memory matches the safety level of the memory access initiator.

Claims (65)

1. A method for a computer system, the computer system comprising a first subsystem and a second subsystem, a first subsystem safety level of the first subsystem being higher than a second subsystem safety level of the second subsystem, the method comprising:

configuring, by a partition manager of the first subsystem, a first memory safety level of a first memory based on a safety level configuration file of the computer system, the safety level configuration file indicating the first memory safety level of the first memory;

configuring, by the partition manager, a memory access initiator safety level of a memory access initiator of the computer system;

writing, by the partition manager, a preconfigured memory safety level division information into a memory access checker of the computer system;

receiving, by the memory access checker, a memory access request from the memory access initiator, the memory access request comprising a first memory address of the first memory to be accessed by the memory access initiator and a memory access initiator safety level of the memory access initiator;

determining, by the memory access checker and based on the preconfigured memory safety level division information, whether the first memory safety level matches the memory access initiator safety level, the preconfigured memory safety level division information indicating safety levels of memories in different address segments of the computer system; and

allowing, by the memory access checker, the memory access initiator to access the first memory when the first memory safety level matches the memory access initiator safety level.

2. The method of claim 1 , further comprising:

storing, by an interrupt controller of the computer system, interrupt routing configuration information configured by the first CPU core, wherein the interrupt routing configuration information indicates a third CPU core of the computer system configured to respond to an interrupt, and wherein the first subsystem and the second subsystem share the interrupt controller;

receiving, by the interrupt controller, an interrupt request from an interrupt initiator, wherein the interrupt request comprises an interrupt initiator safety level of the interrupt initiator;

determining, by the interrupt controller, whether the interrupt initiator safety level matches a interrupt receiver safety level of an interrupt receiver corresponding to the interrupt initiator and based on the interrupt request; and

allowing, by the interrupt controller, the interrupt receiver to accept the interrupt request when the interrupt initiator safety level matches the interrupt receiver safety level.

3. The method of claim 1 , further comprising writing, by the partition manager, a fourth CPU core safety level information of a fourth CPU core of the computer system into a safety level configuration component corresponding to the fourth CPU core.

4. The method of claim 1 , further comprising:

starting a fifth CPU core of the first subsystem to run the partition manager on the fifth CPU core;

starting, by the partition manager, a sixth CPU core of the first subsystem;

starting, by the partition manager, a seventh CPU core of the second subsystem after starting the sixth CPU core; and

starting, by the second subsystem, an eighth CPU core of the second subsystem after starting the seventh CPU core.

5. The method of claim 1 , wherein a third memory of the second subsystem comprises a shared memory, wherein the shared memory transmits data between the first subsystem and the second subsystem, and wherein the method further comprises:

storing, by the first CPU core, first communication data of the first subsystem in the shared memory; and

initiating, by the first CPU core, a first interrupt to enable the second CPU core to read the first communication data from the shared memory after receiving the first interrupt.

6. The method of claim 1 , wherein a third memory of the second subsystem comprises a shared memory, wherein the shared memory transmits data between the first subsystem and the second subsystem, and wherein the method further comprises:

storing, by the second CPU core, second communication data of the second subsystem in the shared memory; and

initiating, by the second CPU core, a second interrupt to enable the first CPU core to read the second communication data from the shared memory after receiving the second interrupt.

7. The method of claim 1 , wherein a memory access checker safety level of the memory access checker is the same or different from the first subsystem safety level.

8. A computer system comprising:

a chip;

a first memory coupled to the chip and comprising a first safety level;

a first subsystem coupled to the first memory, the first subsystem having a first subsystem safety level, the first subsystem comprising:

a memory access checker integrated on the chip and comprising:

a transceiver configured to receive a memory access request from a memory access initiator, the memory access request comprising a first memory address of the first memory to be accessed by the memory access initiator and a memory access initiator safety level of the memory access initiator; and

a processor coupled to the transceiver and configured to:

determine, based on the preconfigured memory safety level division information, whether the first memory safety level matches the memory access initiator safety level, the preconfigured memory safety level division information indicating safety levels of memories in different address segments of the computer system; and

allow the memory access initiator to access the first memory when the first memory safety level matches the memory access initiator safety level; and

a first central processing unit (CPU) core integrated on the chip and coupled to the memory access checker;

a partition manager configured to:

configure a first memory safety level of a first memory based on a safety level configuration file of the computer system, the safety level configuration file indicating the first memory safety level of the first memory;

configure a memory access initiator safety level of a memory access initiator of the computer system; and

write a preconfigured memory safety level division information into a memory access checker of the computer system; and

a second subsystem comprising a second CPU core integrated on the chip,

wherein the first subsystem safety level of the first subsystem is higher than a second subsystem safety level of the second subsystem.

9. The computer system of claim 8 , further comprising an input/output (TO) device located in the first subsystem or the second subsystem and configured to:

receive an access request from an access device, wherein the access request comprises an access device safety level of the access device; and

allow the access device to access the IO device when the access device safety level matches an IO device safety level of the IO device.

10. The computer system of claim 9 , wherein the access device safety level is higher than or equal to the IO device safety level.

11. The computer system of claim 8 , further comprising an interrupt controller coupled to the first subsystem and the second subsystem, wherein the interrupt controller is shared by the first subsystem and the second subsystem, and wherein the interrupt controller is configured to:

store interrupt routing configuration information configured by the first CPU core, wherein the interrupt routing configuration information indicates a third CPU core of the computer system configured to respond to an interrupt;

receive an interrupt request from an interrupt initiator, wherein the interrupt request comprises an interrupt initiator safety level of the interrupt initiator;

determine whether the interrupt initiator safety level matches an interrupt receiver safety level of an interrupt receiver corresponding to the interrupt initiator and based on the interrupt request; and

allow the interrupt receiver to accept the interrupt request when the interrupt initiator safety level matches the interrupt receiver safety level.

12. The computer system of claim 11 , further comprising:

the first subsystem comprises both the interrupt initiator and the interrupt receiver;

the second subsystem comprises both the interrupt initiator and the interrupt receiver; or

the first subsystem comprises the interrupt initiator and the second subsystem comprises the interrupt receiver.

13. The computer system of claim 8 , wherein the second subsystem safety level is higher than or equal to the first subsystem safety level.

14. The computer system of claim 8 , further comprising a fourth CPU core comprising a fourth CPU core safety level, wherein the partition manager is further configured to write the fourth CPU core safety level into a safety level configuration component corresponding to the fourth CPU core.

15. The computer system of claim 8 , further comprising an input/output (TO) device located in the first subsystem or the second subsystem and comprising IO device safety level, the IO device is configured to receive an access request, the partition manager is further configured to write the IO device safety level into a safety level configuration and detection component corresponding to the IO device, and the safety level configuration and detection component is configured to:

configure a sixth safety level for the IO device; and

detect the access request received by the IO device to determine whether a twelfth safety level of a device that initiates the access request matches the sixth safety level.

16. The computer system of claim 8 , further comprising an initial startup component configured to start a fifth CPU core of the first subsystem to run the partition manager on the fifth CPU core, wherein the partition manager is further configured to:

start a sixth CPU core of the first subsystem; and

start a seventh CPU core of the second subsystem after starting the sixth CPU core;

wherein the second subsystem is configured to start an eighth CPU core of the second subsystem after starting the seventh CPU core.

17. The computer system of claim 8 , wherein the second subsystem further comprises a third memory, wherein the third memory comprises a shared memory that transmits data between the first subsystem and the second subsystem, wherein the first CPU core is configured to store first communication data of the first subsystem in the shared memory and initiate a first interrupt to enable the second CPU core to read the first communication data from the shared memory after receiving the first interrupt, or wherein the second CPU core is configured to store second communication data of the second subsystem in the shared memory and initiate a second interrupt to enable the first CPU core to read the second communication data from the shared memory after receiving the second interrupt.

18. The computer system of claim 8 , wherein a memory access checker safety level of the memory access checker is the same or different from the first subsystem safety level.

Assignments (4)
CHANGE OF NAME Recorded May 1, 2026
From: SHENZHEN YINWANG INTELLIGENT TECHNOLOGIES CO., LTD.
To: YINWANG INTELLIGENT TECHNOLOGIES CO., LTD.
Reel/Frame 075316/0074 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2024
From: HUAWEI TECHNOLOGIES CO., LTD.
To: SHENZHEN YINWANG INTELLIGENT TECHNOLOGIES CO., LTD.
Reel/Frame 069335/0897 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 1ST INVENTOR'S FIRST NAME PREVIOUSLY RECORDED AT REEL: 056801 FRAME: 0509. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Oct 19, 2021
From: GENG, DONGJIU; YANG, CHUANLONG; SANG, YAN; LIN, QIANGMIN
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 057857/0848 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2021
From: GENG, DONGJUI; YANG, CHUANLONG; SANG, YAN; LIN, QIANGMIN
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 056801/0509 →
Priority Claims (1)
CN 201910883765.7 · Sep 18, 2019 · national
Continuity (2)
Continuation PCTCN2020105344 · Jul 29, 2020
Related Publication 20210334018A1 · Oct 28, 2021
Cited By (1)
US 12,570,324