IP Library › Granted Patent US 11,311,801
Granted Patent B2
US 11,311,801 · App. 16/556,059 · Granted Apr 26, 2022

Methods for using high-speed data communication fabric to enable cross-system command buffer reading for data retrieval in cloud gaming

Inventor: Roelof Roderick Colenbrander (Costa Mesa, CA)
Assignee: Sony Interactive Entertainment LLC
A63F13/355A63F13/352A63F13/77G06F3/061G06F3/067G06F3/0656G06F3/0659G06F9/3877G06F13/122G06F13/16G06F13/1673G06F13/24G06F13/4022G06F13/4059G06F13/4221G06F3/0607G06F2213/0026
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,311,801
App. No.
16/556,059
Granted
Apr 26, 2022
Kind
B2
Abstract

A cloud gaming system includes a storage system and a compute system connected through a PCIe fabric. The compute system generates a command buffer for a read operation, writes the command buffer to compute system memory, and notifies the storage system about the command buffer. The storage system reads the command buffer in the compute system memory and processes the command buffer to read requested data. In one embodiment, the storage system writes the requested data in the compute system memory and notifies the compute system about the requested data in the compute system memory, and the compute system reads the requested data from its memory. In another embodiment, the storage system writes the requested data in the storage system memory and notifies the compute system about the requested data in the storage system memory, and the compute system reads the requested data from the storage system memory.

Claims (44)

1. A method for requesting and transferring data in a cloud gaming system, comprising:

having a cloud gaming system including a cloud storage system and a cloud compute system connected to each other through a peripheral component interconnect express (PCIe) fabric, the cloud storage system including a computer memory, the cloud compute system including a computer memory, wherein the cloud compute system has a client memory map that holds memory addresses assigned to components of the cloud compute system, the PCIe switch configured to translate the memory addresses held in the client memory map to memory addresses in the computer memory of the cloud storage system, such that access to a given memory address in the client memory map is translated by the PCIe switch to instead access a given memory address in the computer memory of the cloud storage system;

operating the cloud compute system to generate a command buffer for a data read operation;

operating the cloud compute system to write the command buffer to the computer memory of the cloud compute system;

operating the cloud compute system to notify the cloud storage system through the PCIe fabric that the command buffer has been written to the computer memory of the cloud compute system;

operating the cloud storage system to read the command buffer through the PCIe fabric from the computer memory of the cloud compute system;

operating the cloud storage system to process the command buffer to read requested data from a storage device accessible by cloud storage system;

operating the cloud storage system to write the requested data through the PCIe fabric to the computer memory of the cloud compute system;

operating the cloud storage system to notify the cloud compute system through the PCIe fabric that the requested data is in the computer memory of the cloud compute system; and

operating the cloud compute system to read the requested data from the computer memory of the cloud compute system.

2. The method as recited in claim 1 , wherein the PCIe fabric includes a PCIe switch connected to a PCIe interface of the cloud storage system and to a PCIe interface of the cloud compute system.

3. The method as recited in claim 2 , wherein operating the cloud compute system to notify the cloud storage system that the command buffer has been written to the computer memory of the cloud compute system includes operating the cloud compute system to write to a doorbell register exposed through the PCIe switch.

4. The method as recited in claim 3 , wherein writing to the doorbell register causes an interrupt to fire on the cloud storage system, which in turn causes the cloud storage system to handle the interrupt which directs the cloud storage system to read a message from a specified computer memory location, the message directing the cloud storage system to read the command buffer from the computer memory of the cloud compute system.

5. The method as recited in claim 4 , wherein the specified computer memory location is in the computer memory of the cloud storage system.

6. The method as recited in claim 4 , wherein the specified computer memory location is in the computer memory of the cloud compute system.

7. The method as recited in claim 2 , wherein operating the cloud storage system to notify the cloud compute system that the requested data is in the computer memory of the cloud compute system includes operating the cloud storage system to write to a doorbell register exposed through the PCIe switch.

8. The method as recited in claim 7 , wherein writing to the doorbell register causes an interrupt to fire on the cloud compute system, which in turn causes the cloud compute system to handle the interrupt which directs the cloud compute system to read a message from a specified computer memory location, the message notifying the cloud compute system of where the requested data is stored in the computer memory of the cloud compute system.

9. The method as recited in claim 8 , wherein the specified computer memory location is in the computer memory of the cloud storage system.

10. The method as recited in claim 8 , wherein the specified computer memory location is in the computer memory of the cloud compute system.

11. The method as recited in claim 2 , wherein the PCIe switch includes a PCIe non-transparent bridge (NTB) and the PCIe interface of the cloud compute system is connected to the PCIe switch through the PCIe NTB, or

wherein the cloud storage system includes an input/output memory management unit (IOMMU) and the PCIe interface of the cloud storage system is connected to the IOMMU, or

wherein the PCIe switch includes the PCIe NTB and the PCIe interface of the cloud compute system is connected to the PCIe switch through the PCIe NTB, and the cloud storage system includes the IOMMU and the PCIe interface of the cloud storage system is connected to the IOMMU.

12. A method for requesting and transferring data in a cloud gaming system, comprising:

having a cloud gaming system including a cloud storage system and a cloud compute system connected to each other through a peripheral component interconnect express (PCIe) fabric, the cloud storage system including a computer memory, the cloud compute system including a computer memory;

operating the cloud compute system to generate a command buffer for a data read operation;

operating the cloud compute system to write the command buffer to the computer memory of the cloud compute system;

operating the cloud compute system to notify the cloud storage system through the PCIe fabric that the command buffer has been written to the computer memory of the cloud compute system;

operating the cloud storage system to read the command buffer through the PCIe fabric from the computer memory of the cloud compute system;

operating the cloud storage system to process the command buffer to read requested data from a storage device accessible by cloud storage system and write the requested data in the computer memory of the cloud storage system;

operating the cloud storage system to notify the cloud compute system through the PCIe fabric that the requested data is in the computer memory of the cloud storage system; and

operating the cloud compute system to read the requested data through the PCIe fabric from the computer memory of the cloud storage system.

13. The method as recited in claim 12 , wherein the PCIe fabric includes a PCIe switch connected to a PCIe interface of the cloud storage system and to a PCIe interface of the cloud compute system.

14. The method as recited in claim 13 , wherein operating the cloud compute system to notify the cloud storage system that the command buffer has been written to the computer memory of the cloud compute system includes operating the cloud compute system to write to a doorbell register exposed through the PCIe switch.

15. The method as recited in claim 14 , wherein writing to the doorbell register causes an interrupt to fire on the cloud storage system, which in turn causes the cloud storage system to handle the interrupt which directs the cloud storage system to read a message from a specified computer memory location, the message directing the cloud storage system to read the command buffer from the computer memory of the cloud compute system.

16. The method as recited in claim 15 , wherein the specified computer memory location is in the computer memory of the cloud storage system.

17. The method as recited in claim 15 , wherein the specified computer memory location is in the computer memory of the cloud compute system.

18. The method as recited in claim 13 , wherein operating the cloud storage system to notify the cloud compute system that the requested data is in the computer memory of the cloud storage system includes operating the cloud storage system to write to a doorbell register exposed through the PCIe switch.

19. The method as recited in claim 18 , wherein writing to the doorbell register causes an interrupt to fire on the cloud compute system, which in turn causes the cloud compute system to handle the interrupt which directs the cloud compute system to read a message from a specified computer memory location, the message notifying the cloud compute system of where the requested data is stored in the computer memory of the cloud storage system.

20. The method as recited in claim 19 , wherein the specified computer memory location is in the computer memory of the cloud storage system.

21. The method as recited in claim 19 , wherein the specified computer memory location is in the computer memory of the cloud compute system.

22. The method as recited in claim 13 , wherein the PCIe switch includes a PCIe non-transparent bridge (NTB) and the PCIe interface of the cloud compute system is connected to the PCIe switch through the PCIe NTB, or

wherein the cloud storage system includes an input/output memory management unit (IOMMU) and the PCIe interface of the cloud storage system is connected to the IOMMU, or

wherein the PCIe switch includes the PCIe NTB and the PCIe interface of the cloud compute system is connected to the PCIe switch through the PCIe NTB, and the cloud storage system includes the IOMMU and the PCIe interface of the cloud storage system is connected to the IOMMU.

23. The method as recited in claim 13 , wherein the cloud compute system has a client memory map that holds memory addresses assigned to components of the cloud compute system, the PCIe switch configured to translate the memory addresses held in the client memory map to memory addresses in the computer memory of the cloud storage system, such that access to a given memory address in the client memory map is translated by the PCIe switch to instead access a given memory address in the computer memory of the cloud storage system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2021
From: COLENBRANDER, ROELOF RODERICK
To: SONY INTERACTIVE ENTERTAINMENT LLC
Reel/Frame 056334/0392 →
Continuity (2)
Provisional Application 62885184 · Aug 9, 2019
Related Publication 20210042059A1 · Feb 11, 2021
Cited By (1)
US 12,547,561