IP Library › Granted Patent US 10,698,807
Granted Patent B2
US 10,698,807 · App. 15/649,848 · Granted Jun 30, 2020

Computer system and method of operating the same

Inventors: In-soon Jo (Hwaseong-si, KR); Sang-yeun Cho (Seongnam-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F12/0238G06F12/0246G06F13/1694G06F12/0292G06F2212/202G06F2212/7202
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,698,807
App. No.
15/649,848
Granted
Jun 30, 2020
Kind
B2
Abstract

A computer system includes a main memory device and a processor. The main memory device includes a non-volatile memory and a memory controller to control the non-volatile memory. The processor is connected to the main memory device, executes an application program loaded to the non-volatile memory, and provides the memory controller with a command including context property information of an allocation region. The memory controller receives the command and controls the non-volatile memory based on the context property information.

Claims (53)

1. A computer system comprising:

a main memory device including a non-volatile memory and a memory controller to control the non-volatile memory; and

a processor connected to the main memory device, the processor to execute an application program loaded to the non-volatile memory and to provide the memory controller with a command including context property information of an allocation region, wherein the memory controller is to receive the command and to control the non-volatile memory based on the context property information, and wherein

the context property information includes at least one of:

an effective property of each allocation region including a time period for maintaining data in each allocation region,

a sequential access property and a non-sequential access property of each allocation region,

an expansion property and a non-expansion property of each allocation region, and

a valid property and an invalid property.

2. The computer system as claimed in claim 1 , wherein:

the command is a memory allocation command including information indicating a size and the context property information of the allocation region,

the memory controller is to allocate a first allocation region in the non-volatile memory by referring to the context property information based on the memory allocation command and to return information indicating a start address of the first allocation region to the processor.

3. The computer system as claimed in claim 2 , wherein:

the memory controller is to store information indicating a start address, a size, and the context property information of the first allocation region in a context property table, and

the context property table includes information indicating a start address, a size, and context property information of each allocation region.

4. The computer system as claimed in claim 3 , wherein

the time period including a temporary period, a specific length period, and a permanent period, and

the memory controller is to allocate the first allocation region physically adjacently to an allocation region that has an identical effective period property to an effective period property of the first allocation region, the memory controller to allocate the first allocation region by referring to the context property table.

5. The computer system as claimed in claim 3 , wherein

the sequential access property indicating that the processor accesses an address in a logically sequential order, the non-sequential access property indicating that the processor does not access the address in the logically sequential order, and

when the first allocation region has a sequential access property based on the context property information, the memory controller is to allocate the first allocation region in a physically continuous region in the non-volatile memory.

6. The context property information as claimed in claim 3 , wherein;

the expansion property indicating that a size of data in a corresponding allocation region is increased over time, the non-expansion property indicating that the size of the data in the corresponding allocation region is not increased over time, and

when the first allocation region has an expansion property based on the context property information, the memory controller is to allocate the first allocation region in a region in the non-volatile memory that is physically continuous and larger than a size to be allocated.

7. The computer system as claimed in claim 6 , wherein the memory controller is to update the expansion property and the non-expansion property of the context property information, regarding the other regions besides the first allocation region in a region larger than the region to be allocated, to reserved property in the context property table.

8. The computer system as claimed in claim 3 , wherein the validity property indicating that a corresponding allocation region is currently in use, the invalidity property indicating that the corresponding allocation region is no longer used, and

the memory controller is to update the valid property and the invalid property, with respect to the first allocation region in the context property table, based on the memory allocation command.

9. The computer system as claimed in claim 8 , wherein:

the processor is to provide the memory controller with a memory revoke command including information indicating a start address of an allocation region that is to be allocation-revoked, and

the memory controller is to update the valid property and the invalid property of the allocation region having the start address in the context property table to an invalid property based on the memory revoke command.

10. The computer system as claimed in claim 8 , wherein the memory controller is to perform a wear-leveling operation on non-volatile memory regions having a valid property in the context property table.

11. The computer system as claimed in claim 1 , wherein:

the main memory device includes a volatile memory to be controlled by the memory controller, and

the command is a memory allocation command including information indicating a size of an allocation region and the context property information including a speed property of the allocation region, the speed property including an access frequency of a corresponding allocation region, and

the memory controller is to allocate a first allocation region to the non-volatile memory or the volatile memory based on the speed property.

12. The computer system as claimed in claim 11 , wherein:

the memory controller is to store information indicating a start address and a size and the context property information of the first allocation region in a context property table, and

the context property table is stored in the volatile memory.

13. The computer system as claimed in claim 1 , further comprising:

a storage to store the application program executed by the processor,

wherein the main memory device is to provide the processor with memory space to drive the application program and is to store a result of a calculation performed by the processor.

14. A method for operating a computer system, the method comprising:

providing a command to a memory controller of a main memory device, the command including context property information of an allocation region, wherein providing the command is performed by a processor; and

receiving the command and managing a non-volatile memory of the main memory device based on the context property information, wherein receiving the command and managing the non-volatile memory are performed by the memory controller, and wherein

the context property information includes at least one of:

an effective property of each allocation region including a time period for maintaining data in each allocation region,

a sequential access property and a non-sequential access property of each allocation region,

an expansion property and a non-expansion property of each allocation region, and

a valid property and an invalid property.

15. The method as claimed in claim 14 , further comprising:

providing the memory controller with a memory allocation command including information indicating a size and the context property information of the allocation region, wherein providing the memory allocation command is performed by the processor; and

allocating a first allocation region in the non-volatile memory based on the context property information and returning information indicating a start address of the first allocation region to the processor, wherein allocating the first allocation region and returning the start address information are performed by the memory controller.

16. The method as claimed in claim 15 , further comprising:

storing, by a memory controller, information indicating a start address and a size and the context property information of the first allocation region in a context property table in the non-volatile memory, wherein the context property table includes information indicating a start address and a size and context property information of a plurality of allocation regions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2017
From: JO, IN-SOON; CHO, SANG-YEUN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 043005/0647 →
Priority Claims (1)
KR 10-2016-0152965 · Nov 16, 2016 · national
Continuity (1)
Related Publication 20180137044A1 · May 17, 2018