IP Library › Granted Patent US 10,042,651
Granted Patent B2
US 10,042,651 · App. 14/951,309 · Granted Aug 7, 2018

Techniques to configure multi-mode storage devices in remote provisioning environments

Inventors: Scott Kirvan (Longmont, CO); Thomas Slaight (Beaverton, OR)
Assignee: INTEL CORPORATION
G06F9/4416G06F9/4406G06F21/575G06F2221/034
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 10,042,651
App. No.
14/951,309
Granted
Aug 7, 2018
Kind
B2
Abstract

Various embodiments are generally directed to an apparatus, method and other techniques to store a first set of instructions in a first portion of the non-volatile memory, the first set of instructions to configure a second portion of the non-volatile memory, cause the processing unit to process the first set of instructions to configure the second portion with one or more regions, and cause a configuration of the memory controller based on the first set of instructions.

Claims (65)

1. An apparatus, comprising:

a non-volatile memory;

a memory controller coupled to the non-volatile memory;

a processing unit coupled to the non-volatile memory; and

a controller coupled with the processing unit, the memory controller, and the non-volatile memory, the controller to:

store a first set of instructions in a first portion of the non-volatile memory, the first set of instructions to configure a second portion of the non-volatile memory;

cause the processing unit to process the first set of instructions to configure the second portion of the non-volatile memory with one or more regions and to define at least one of the one or more regions as non-persistent memory;

cause a configuration of the memory controller based on the first set of instructions;

receive, via an out-of-band interface, an operating system in response to communication of a request; and

store the operating system in a first region of the second portion of the non-volatile memory.

2. The apparatus of claim 1 , the controller coupled with an out-of-band interface capable of receiving the first set of instructions, a second set of instruction, and an operating system, and the controller to direct the operating system to a first region for storage and the second set of instructions to a second region for storage, the first and second regions in the second portion.

3. The apparatus of claim 2 , the second set of instructions comprising a boot loader to execute a boot operation to load the operating system.

4. The apparatus of claim 2 , the controller to validate at least one of the operating system, the first set of instructions, and the second set of instructions using a trusted platform module having one or more keys.

5. The apparatus of claim 1 , the first set of instructions to define a size and an address range for each of the one or more regions.

6. The apparatus of claim 1 , the processing unit to process the first set of instructions to configure the second portion of the non-volatile memory with a plurality of regions and to define each of the one or more regions as one of a non-persistent primary level random-access memory (RAM), a non-persistent secondary level RAM, a non-volatile block storage, or a persistent RAM.

7. The apparatus of claim 1 , the controller to initiate a restart operation and, via a set of basic input/output system (BIOS) instructions, cause the configuration of the memory controller based on the first set of instructions.

8. The apparatus of claim 1 , the controller to block access to the first portion of the non-volatile memory from at least one of the processing unit, a management controller, and memory controllers, subsequent configuration of the second portion.

9. The apparatus of claim 1 , the controller to:

communicate a first request for an internet protocol assignment and a provisioning address;

receive a response including at least the provisioning address associated with a remote device; and

communicate the request for the operating system to the remote device based on the provisioning address.

10. A computer-implemented method, comprising:

storing a first set of instructions in a first portion of a non-volatile memory, the first set of instructions to configure a second portion of the non-volatile memory;

causing a processing unit to process the first set of instructions to configure the second portion of the non-volatile memory with one or more regions and to define at least one of the one or more regions as non-persistent memory;

causing a configuration of a memory controller based on the first set of instructions;

receiving, via an out-of-band interface, an operating system in response to communication of a request; and

storing the operating system in a first region of the second portion of the non-volatile memory.

11. The computer-implemented method of claim 10 , comprising:

storing an operating system in a first region and a second set of instructions in a second region in the second portion of the non-volatile memory, the operating system and the second set of instructions received via an out-of-band interface.

12. The computer-implemented method of claim 11 , the second set of instructions comprising a boot loader to execute a boot operation to load the operating system.

13. The computer-implemented method of claim 11 , comprising:

validating at least one of first set of instructions, the operating system, and the second set of instructions using a trusted platform module having one or more keys.

14. The computer-implemented method of claim 10 , the first set of instructions to configure the second portion of the non-volatile memory with a plurality of regions and to define each of the plurality of regions as one of a non-persistent primary level random-access memory (RAM), a non-persistent secondary level RAM, a non-volatile block storage, or a persistent RAM, and each of the one or more regions having a size within an address range.

15. The computer-implemented method of claim 10 , comprising:

initiating a restart operation; and

causing, via a set of basic input/output system (BIOS) instructions, the configuration of the memory controller based on the first set of instructions.

16. The computer-implemented method of claim 10 , comprising:

blocking access to the first portion of the non-volatile memory from at least one of the processing unit, a management controller, and the memory controller, subsequent configuration of the second portion.

17. The computer-implemented method of claim 10 , comprising:

communicating a first request for an internet protocol assignment and a provisioning address;

receiving a response including at least the provisioning address associated with a remote device; and

communicating the request for the operating system to the remote device based on the provisioning address.

18. A system comprising:

a processing unit;

a non-volatile memory coupled with a memory controller and the processing unit;

a controller coupled with the processing unit, the non-volatile memory and the memory controller, the controller to:

store a first set of instructions in a first portion of the non-volatile memory, the first set of instructions to configure a second portion of the non-volatile memory;

cause the processing unit to process the first set of instructions to configure the second portion of the non-volatile memory with one or more regions and to define at least one of the one or more regions as non-persistent memory;

cause a configuration of the memory controller based on the first set of instructions;

receive, via an out-of-band interface, an operating system in response to communication of a request; and

store the operating system in a first region of the second portion of the non-volatile memory.

19. The system of claim 18 , the controller to store an operating system in a first region and a second set of instructions in a second region in the second portion of the non-volatile memory, the operating system and the second set of instructions received via an out-of-band interface.

20. The system of claim 19 , the second set of instructions comprising a boot loader to execute a boot operation to load the operating system.

21. The system of claim 19 , the controller to validate at least one of first set of instructions, the operating system, and the second set of instructions using a trusted platform module having one or more keys.

22. The system of claim 18 , the first set of instructions to configure the second portion of the non-volatile memory with a plurality of regions and to define each of the plurality of regions as one of a non-persistent primary level random-access memory (RAM), a non-persistent secondary level RAM, a non-volatile block storage, or a persistent RAM, and each of the one or more regions having a size within an address range.

23. The system of claim 18 , the controller to initiate a restart operation and, via a set of basic input/output system (BIOS) instructions, cause the configuration of the memory controller based on the first set of instructions.

24. The system of claim 18 , the controller to block access to the first portion of the non-volatile memory from at least one of the processing unit, a management controller, and memory controllers, subsequent configuration of the second portion.

25. The system of claim 18 , the controller to:

communicate a first request for an internet protocol assignment and a provisioning address;

receive a response including at least the provisioning address associated with a remote device; and

communicate the request for the operating system to the remote device based on the provisioning address.

26. The system of claim 18 , further comprising at least one of:

a display communicatively coupled to the processing unit;

a battery coupled to the processing unit; or

at least one network interface communicatively coupled to the processing unit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 26, 2016
From: KIRVAN, SCOTT; SLAIGHT, THOMAS
To: INTEL CORPORATION
Reel/Frame 040144/0822 →
Continuity (1)
Related Publication 20170147361A1 · May 25, 2017