10025745

Computer System, Method for Accessing Peripheral Component Interconnect Express Endpoint Device, and Apparatus

PublishedJuly 17, 2018
Assigneenot available in USPTO data we have
InventorsGe Du
Technical Abstract

Patent Claims
25 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for accessing a peripheral component interconnect express (PCIe) endpoint device, wherein a processor of a computer system couples to the PCIe endpoint device through a PCIe bus, the method comprising: acquiring, by the processor, an operation instruction, wherein the operation instruction instructs the processor to access the PCIe endpoint device using an access proxy; sending, by the processor, an access request to the access proxy according to the operation instruction, wherein the access request instructs the access proxy to access the PCIe endpoint device; and receiving, by the processor, a response message of the access request from the access proxy.

2

2. The method according to claim 1 , wherein acquiring the operation instruction comprises acquiring, by the processor, the operation instruction generated by a drive module of the PCIe endpoint device according to a preset interface for accessing the PCIe endpoint device, and wherein the preset interface for accessing the PCIe endpoint device points to the access proxy.

3

3. The method according to claim 1 , wherein acquiring the operation instruction comprises acquiring, by the processor, the operation instruction generated by a host operating system according to a preset interface for accessing the PCIe endpoint device, and wherein the preset interface for accessing the PCIe endpoint device points to the access proxy.

4

4. The method according to claim 1 , wherein the access proxy is implemented by a direct memory access (DMA) engine, wherein the operation instruction instructs the processor to access the PCIe endpoint device using a DMA engine, wherein sending the access request to the access proxy according to the operation instruction comprises sending, by the processor, a data migration request to the DMA engine according to the operation instruction, and wherein the data migration request instructs the DMA engine to migrate specified data in a memory of a PCIe engine to a memory of the computer system.

5

5. The method according to claim 1 , further comprising: receiving, by the processor, a first notification message from the access proxy, wherein the first notification message indicates that the access proxy has accessed the PCIe endpoint device successfully; and acquiring, by the processor, an access result according to the first notification message.

6

6. The method according to claim 1 , further comprising: receiving, by the processor, a second notification message from the access proxy, wherein the second notification message indicates that the access proxy failed to access the PCIe endpoint device; and executing, by the processor, subsequent processing for an access failure according to the second notification message.

7

7. The method according to claim 1 , wherein the access proxy is implemented by a direct memory access (DMA) engine, wherein the operation instruction instructs the processor to access the PCIe endpoint device using the DMA engine, wherein sending the access request to the access proxy according to the operation instruction comprises sending, by the processor, a data migration request to the DMA engine according to the operation instruction, and wherein the data migration request instructs the DMA engine to migrate data in a memory of the computer system to a memory of the PCIe endpoint device.

8

8. The method according to claim 4 , wherein the operation instruction further indicates that an access type is a read operation, wherein the operation instruction further indicates a source address of the read operation and a length of the read operation, wherein sending the data migration request to the DMA engine according to the operation instruction comprises: acquiring, by the processor, a destination address of the read operation allocated by the memory of the computer system; and sending, by the processor, the data migration request to the DMA engine, wherein the data migration request carries the source address of the read operation, the destination address of the read operation, and the length of the read operation, and wherein the data migration request instructs the DMA engine to migrate data of the length of the read operation from the source address of the read operation to the destination address of the read operation.

9

9. The method according to claim 4 , wherein the operation instruction further indicates that an access type is a write operation, wherein the operation instruction further indicates a source address of the write operation, a destination address of the write operation, and a length of the write operation, wherein sending the data migration request to the DMA engine according to the operation instruction comprises sending, by the processor, the data migration request to the DMA engine, wherein the data migration request carries the source address of the write operation, the destination address of the write operation, and the length of the write operation, and wherein the data migration request instructs the DMA engine to migrate data of the length of the write operation from the source address of the write operation to the destination address of the write operation.

10

10. The method according to claim 6 , wherein executing subsequent processing for the access failure comprises: determining, by the processor, a reason for the access proxy failing to access the PCIe endpoint device; and stopping, by the processor, access to the PCIe endpoint device when the reason of the access failure is that the PCIe endpoint device is offline abnormally.

11

11. The method according to claim 6 , further comprising: acquiring a notification indicating that the PCIe endpoint device is offline abnormally; and reserving resources allocated to the PCIe endpoint device.

12

12. A method for accessing a peripheral component interconnect express (PCIe) endpoint device, wherein the PCIe endpoint device couples to a processor of a computer system through a PCIe bus, the method comprising: receiving an invoking instruction, wherein the invoking instruction indicates that the PCIe endpoint device needs to be accessed; and generating an operation instruction according to a preset interface for accessing the PCIe endpoint device, wherein the preset interface for accessing the PCIe endpoint device points to an access proxy, and wherein the operation instruction is used to instruct the processor to access the PCIe endpoint device using the access proxy.

13

13. The method according to claim 12 , wherein receiving the invoking instruction comprises receiving, by a drive module of the PCIe endpoint device, the invoking instruction, and wherein generating the operation instruction according to the preset interface for accessing the PCIe endpoint device comprises generating, by the drive module of the PCIe endpoint device and according to the preset interface for accessing the PCIe endpoint device, the operation instruction for accessing the PCIe endpoint device.

14

14. The method according to claim 12 , wherein receiving the invoking instruction comprises receiving, by a host operating system of the computer system, the invoking instruction of a drive module of the PCIe endpoint device, and wherein generating an operation instruction according to the preset interface for accessing the PCIe endpoint device comprises generating, by the host operating system according to the preset interface for accessing the PCIe endpoint device, the operation instruction for accessing the PCIe endpoint device.

15

15. A computer, comprising: a bus; a memory configured to store a computer execution instruction; and a processor coupled to the memory through the bus, wherein when the computer is running, the processor executes the computer execution instruction stored in the memory so that the computer: receives an invoking instruction, wherein the invoking instruction indicates that a peripheral component interconnect express (PCIe) endpoint device needs to be accessed; and generates, according to a preset interface for accessing the PCIe endpoint device, an operation instruction for accessing the PCIe endpoint device, wherein the preset interface for accessing the PCIe endpoint device points to an access proxy, and wherein the operation instruction instructs the processor to access the PCIe endpoint device using the access proxy.

16

16. A computer-readable medium, comprising: a computer execution instruction, wherein when a processor of a computer executes the computer execution instruction, the computer: receives an invoking instruction, wherein the invoking instruction indicates that a peripheral component interconnect express (PCIe) endpoint device needs to be accessed; and generates, according to a preset interface for accessing the PCIe endpoint device, an operation instruction for accessing the PCIe endpoint device, wherein the preset interface for accessing the PCIe endpoint device points to an access proxy, and wherein the operation instruction instructs the processor to access the PCIe endpoint device using the access proxy.

17

17. An access proxy, wherein the access proxy applies to a computer system, wherein the computer system comprises a processor and a peripheral component interconnect express (PCIe) bus, wherein the PCIe bus couples to at least one PCIe endpoint device, wherein the access proxy is configured to couple to the processor and the PCIe endpoint device, and wherein the access proxy is configured to: receive a request for accessing the PCIe endpoint device from the processor; and return a response message of an access request to the processor, thereby isolating access between the processor and the PCIe endpoint device.

18

18. The access proxy according to claim 17 , wherein the access proxy is further configured to access the PCIe endpoint device according to the access request.

19

19. The access proxy according to claim 17 , wherein the access proxy is implemented by a direct memory access (DMA) engine, and wherein a DMA engine is configured to: receive a data migration request from the processor; and migrate, according to the data migration request, data in a memory of a PCIe engine to a memory of the computer system.

20

20. The access proxy according to claim 17 , wherein the access proxy is further configured to send a first notification message to the processor, wherein the first notification message indicates that access to the PCIe endpoint device is successful.

21

21. The access proxy according to claim 17 , wherein the access proxy is implemented by a direct memory access (DMA) engine, and wherein the DMA engine is configured to: receive a data migration request from the processor; and migrate data in a memory of the computer system to a memory of the PCIe endpoint device.

22

22. The access proxy according to claim 17 , wherein the access proxy is further configured to send a second notification message to the processor, and wherein the second notification message indicates that access to the PCIe endpoint device failed.

23

23. A computer system, comprising: a processor; a peripheral component interconnect express (PCIe) bus configured to couple a PCIe endpoint device; and an access proxy coupled to the processor and the PCIe endpoint device; wherein the processor is configured to: acquire an operation instruction, wherein the operation instruction instructs the processor to access the PCIe endpoint device through the access proxy; and send an access request to the access proxy according to the operation instruction, wherein the access request instructs the access proxy to access the PCIe endpoint device, and wherein the access proxy is configured to send a response message of the access request to the processor after receiving the access request from the processor.

24

24. The computer system according to claim 23 , wherein the PCIe endpoint device further comprises a drive module o configured to: receive an invoking instruction for accessing the PCIe endpoint device; and generate the operation instruction according to a preset interface for accessing the PCIe endpoint device, wherein the preset interface for accessing the PCIe endpoint device points to the access proxy, and wherein the processor is configured to acquire the operation instruction generated by the drive module of the PCIe endpoint device.

25

25. The computer system according to claim 23 , further comprising: a drive module of the PCIe endpoint device; and a host operating system, wherein the drive module of the PCIe endpoint device is configured to: receive an invoking instruction for accessing the PCIe endpoint device; and invoke the host operating system so as to perform access to the PCIe endpoint device, wherein the host operating system is configured to: respond to invoking performed by the drive module of the PCIe endpoint device; and generate the operation instruction according to a preset interface for accessing the PCIe endpoint device, wherein the preset interface for accessing the PCIe endpoint device points to the access proxy, and wherein the processor is configured to acquire the operation instruction generated by the host operating system.

Patent Metadata

Filing Date

Unknown

Publication Date

July 17, 2018

Inventors

Ge Du

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Computer System, Method for Accessing Peripheral Component Interconnect Express Endpoint Device, and Apparatus” (10025745). https://patentable.app/patents/10025745

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.