IP Library › Granted Patent US 11,010,309
Granted Patent B2
US 11,010,309 · App. 16/114,241 · Granted May 18, 2021

Computer system and method for executing one or more software applications, host computer device and method for a host computer device, memory device and method for a memory device and non-transitory computer readable medium

Inventors: Somnath Chakrabarti (Portland, OR); Mona Vij (Hillsboro, OR); Matthew Hoekstra (Forest Grove, OR)
Assignee: Intel Corporation
G06F12/1408G06F12/0835G06F21/602G06F21/62G06F21/71G06F21/79G06F2212/1052G06F2221/2141
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,010,309
App. No.
16/114,241
Granted
May 18, 2021
Kind
B2
Abstract

A computer system for executing one or more software applications includes a host computer device configured to execute the one or more software applications. The computer system further includes one or more memory devices configured to cryptographically protect volatile memory of the one or more memory devices. The one or more memory devices are configured to provide access to the cryptographically protected volatile memory for the one or more software applications. The host computer device is configured to execute the one or more software applications by executing a portion of the one or more software applications associated with the cryptographically protected volatile memory using a processor of the one or more memory devices.

Claims (49)

1. A host computer device for a computer system, wherein the computer system includes one or more memory devices configured to cryptographically protect volatile memory of the one or more memory devices, and to provide access to the cryptographically protected volatile memory for one or more software applications of the host computer device, the host computer device comprising:

an interface for communicating with the one or more memory devices; and

a control module configured to:

execute the one or more software applications by executing a portion of the one or more software applications associated with the cryptographically protected volatile memory using a processor of the one or more memory devices,

wherein software applications of the one or more software applications comprise a first software application portion and a second software application portion,

wherein the first software application portion is associated with volatile memory of the host computer device and wherein the second software application portion is associated with the cryptographically protected volatile memory of the one or more memory devices,

wherein the control module is configured to execute the second software application portion using the processor of the memory device comprising the cryptographically protected volatile memory associated with the second software application portion.

2. The host computer device according to claim 1 , wherein the control module is configured to provide data of the one or more software applications to the one or more memory devices by writing the data to the one or more memory devices using direct memory access.

3. The host computer device according to claim 1 , wherein the control module is configured to provide further data of the one or more software applications to the one or more memory devices by providing a direct memory access address of the further data to the one or more memory devices.

4. The host computer device according to claim 3 , wherein the control module is configured to provide the further data of the one or more software applications to the one or more memory devices by providing the direct memory access address of the further data to the one or more memory devices via an asynchronous buffer.

5. The host computer device according to claim 1 , wherein the control module is configured to implement read and/or write access to the cryptographically protected volatile memory of the one or more memory devices associated with the one or more software applications.

6. The host computer device according to claim 1 , wherein the control module is configured to implement the write access to the cryptographically protected volatile memory of the one or more memory devices associated with the one or more software applications based on a write combine cache policy.

7. The host computer device according to claim 1 , wherein the control module is configured to implement the read access to the cryptographically protected volatile memory of the one or more memory devices associated with the one or more software applications based on a write through cache policy.

8. The host computer device according to claim 1 , wherein the control module is configured to provide one or more memory windows for access to the cryptographically protected volatile memory of the one or more memory devices associated with the one or more software applications to a further portion of the one or more software applications executed by a processor of the host computer device.

9. The host computer device according to claim 8 , wherein the control module is configured to provide the one or more memory windows with separate read and write access, wherein a cache semantic of the read access is different from a cache semantic of the write access.

10. The host computer device according to claim 1 , wherein the control module is configured to provide transparent memory access to the cryptographically protected volatile memory of the one or more memory devices associated with the one or more software applications to a further portion of the one or more software applications executed by a processor of the host computer device.

11. The host computer device according to claim 1 , wherein the control module is configured to provide a local cache of data written to volatile memory of the one or more memory devices associated with the one or more software applications to a further portion of the one or more software applications executed by a processor of the host computer device.

12. The host computer device according to claim 1 , wherein the control module is configured to store code and data of the one or more software applications within volatile memory of the one or more memory devices associated with the one or more software applications.

13. The host computer device according to claim 1 , wherein the host computer device comprises a network connection interface for communicating via a local network connection, wherein the one or more memory devices are exposed as individual devices via the local network connection.

14. A memory device for a computer system, wherein the computer system includes a host computer device configured to execute one or more software applications, the memory device comprising:

an interface for communicating with the host computer device;

volatile memory; and

a control module configured to:

cryptographically protect the volatile memory, and

provide access to the cryptographically protected volatile memory for the one or more software applications,

execute a portion of the one or more software applications associated with the cryptographically protected volatile memory using a processor of the memory device,

wherein software applications of the one or more software applications comprise a first software application portion and a second software application portion,

wherein the first software application portion is associated with volatile memory of the host computer device and wherein the second software application portion is associated with the cryptographically protected volatile memory of the memory device,

wherein the control module is configured to execute the second software application portion.

15. The memory device according to claim 14 , wherein the control module is configured to provide data of the one or more software applications to the host computer device by writing the data to the host computer device using direct memory access.

16. The memory device according to claim 14 , wherein the control module is configured to provide further data of the one or more software applications to the host computer device by providing a direct memory access address of the further data to the host computer device.

17. The memory device according to claim 16 , wherein the control module is configured to provide the further data of the one or more software applications to the host computer device by providing the direct memory access address of the further data to the host computer device via an asynchronous buffer.

18. The memory device according to claim 14 , wherein the control module is configured to implement read and/or write access to volatile memory of the host computer device for the portion of the one or more software applications being executed using the processor of the memory device.

19. The memory device according to claim 18 , wherein the control module is configured to implement the write access to the volatile memory of the host computer device based on a write combine cache policy.

20. The memory device according to claim 18 , wherein the control module is configured to implement the read access to the volatile memory of the host computer device based on a write through cache policy.

21. The memory device according to claim 18 , wherein the host computer device comprises a network connection interface for communicating via a local network connection, wherein the control module is configured to communicate via the local network connection via the host computer device.

22. A non-transitory machine readable storage medium including program code, when executed, to cause a machine to perform:

Execute one or more software applications on a host computer device of a computer system by

Executing a portion of the one or more software applications associated with cryptographically protected volatile memory of one or more memory devices of the computer system using a processor of the one or more memory devices,

wherein software applications of the one or more software applications comprise a first software application portion and a second software application portion,

wherein the first software application portion is associated with volatile memory of the host computer device and wherein the second software application portion is associated with the cryptographically protected volatile memory of the one or more memory devices,

wherein the second software application portion is executed using the processor of the one or more memory devices comprising the cryptographically protected volatile memory associated with the second software application portion.

23. A non-transitory machine readable storage medium including program code, when executed, to cause a machine to perform:

cryptographically protect volatile memory of a memory device,

provide access to the cryptographically protected volatile memory for one or more software applications of a host computer device, and

execute a portion of the one or more software applications associated with the cryptographically protected volatile memory using a processor of the memory device,

wherein software applications of the one or more software applications comprise a first software application portion and a second software application portion,

wherein the first software application portion is associated with volatile memory of the host computer device and wherein the second software application portion is associated with the cryptographically protected volatile memory of the memory device,

wherein the second software application portion is executed by a control module of the memory device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2018
From: CHAKRABARTI, SOMNATH; HOEKSTRA, MATTHEW; VIJ, MONA
To: INTEL CORPORATION
Reel/Frame 046969/0466 →
Continuity (4)
Provisional Application 62673161 · May 18, 2018
Provisional Application 62673160 · May 18, 2018
Provisional Application 62673158 · May 18, 2018
Related Publication 20190042478A1 · Feb 7, 2019