IP Library › Granted Patent US 11,928,054
Granted Patent B1
US 11,928,054 · App. 18/481,784 · Granted Mar 12, 2024

Electronic device and computing system including same

Inventors: Ju Hyun Kim (Yongin-si, KR); Jin Yeong Kim (Yongin-si, KR); Jae Wan Yeon (Yongin-si, KR)
Assignee: METISX CO., LTD.
G06F12/0292G06F2212/1044
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,928,054
App. No.
18/481,784
Granted
Mar 12, 2024
Kind
B1
Abstract

As one aspect of the present disclosure, an electronic device is disclosed. The device may include: a volatile memory device; and a controller configured to be connected with a host processor and the volatile memory device, wherein the controller may be further configured to receive a request related to data access from the host processor, determine whether data corresponding to address information is compressed based on the address information included in the request, and communicate with the volatile memory device and process the request based on a result of determining whether the data is compressed.

Claims (61)

1. An electronic device for compressing and storing data, comprising:

a volatile memory device comprising a compressed memory pool in which data in a compressed state is stored and a temporary memory pool in which data in an uncompressed state is stored; and

a controller configured to communicate with a host processor and the volatile memory device in a byte-addressable protocol that allows data to be read and written by designating addresses in byte units,

wherein the controller is further configured to:

receive a request related to data access from the host processor,

based on address information included in the request, determine whether data is compressed, as to whether data corresponding to the address information is stored in an uncompressed state in the temporary memory pool of the volatile memory device or in a compressed state in the compressed memory pool of the volatile memory device,

communicate with the volatile memory device and process the request based on a result of determining whether the data is compressed, and

divide and manage the volatile memory device into the temporary memory pool and the compressed memory pool and, manage a first mapping table associated with the temporary memory pool and a second mapping table associated with the compressed memory pool.

2. The electronic device of claim 1 , wherein the controller is further configured to:

determine whether the data corresponding to the address information is stored in the temporary memory pool based on the first mapping table, and

in response to determining that the data is stored in the temporary memory pool, transmit the data to the host processor or store data received in connection with the request from the host processor in the temporary memory pool.

3. The electronic device of claim 2 , wherein the request is a write request, and

the controller is further configured to set a dirty flag for the data stored in the temporary memory pool, in response to having stored the data received in connection with the request from the host processor in the temporary memory pool.

4. The electronic device of claim 2 , wherein the controller is further configured to:

in response to determining that the data corresponding to the address information is not stored in the temporary memory pool, determine whether the data is stored in the compressed memory pool based on the second mapping table, and

in response to determining that the data is stored in the compressed memory pool, generate decompressed data by decompressing the data, transmit the decompressed data to the host processor, or store data received in connection with the request from the host processor.

5. The electronic device of claim 4 , wherein the controller is further configured to:

in response to determining that the decompressed data and the data stored in the compressed memory pool are present at the same time, delete information on the data from the second mapping table, return a storage space of the data to the compressed memory pool, and set a dirty flag for the data.

6. The electronic device of claim 4 , wherein the controller is further configured to:

be allocated a memory space for storing the data from the temporary memory pool in response to determining that the data is not stored in the compressed memory pool.

7. The electronic device of claim 6 , wherein the controller is further configured to:

record information on the data and the memory space in the first mapping table, and set a dirty flag for the data.

8. The electronic device of claim 7 , wherein the controller is further configured to:

after setting the dirty flag for the data, determine whether the data is stored in the temporary memory pool based on the first mapping table, and

in response to determining that the data is stored in the temporary memory pool, transmit the data to the host processor or store data received in connection with the request from the host processor in the temporary memory pool.

9. The electronic device of claim 7 , wherein the request is a fresh access request to the data, and

the controller is further configured to initialize the allocated memory space.

10. The electronic device of claim 1 , wherein the controller is further configured to:

determine whether an allocable memory space in the temporary memory pool is less than or equal to a threshold value, and

in response to determining that the memory space is less than or equal to the threshold value, select a victim area from the temporary memory pool and return the victim area to the temporary memory pool.

11. The electronic device of claim 10 , wherein the controller is further configured to:

determine whether the victim area is in a dirty state, and

in response to determining that the victim area is in the dirty state, generate compressed data by compressing data in the victim area and store the compressed data in the compressed memory pool.

12. The electronic device of claim 1 , wherein the controller comprises:

an address remapper configured to determine whether the data corresponding to the address information is stored as data in an uncompressed state in the volatile memory device based on at least one mapping table of the first mapping table or the second mapping table, and convert the address information into the volatile memory address by using the at least one mapping table; and

a compression controller configured to control compression of the data in an uncompressed state and control decompression of data in a compressed state.

13. The electronic device of claim 12 , wherein the compression controller is further configured to:

determine locations where compressed data obtained by compressing the data in an uncompressed state and decompressed data obtained by decompressing the data in a compressed state are stored, and

update the first mapping table and the second mapping table.

14. The electronic device of claim 12 , wherein the controller further comprises:

a memory manager configured to secure an empty space in the volatile memory device at a request of the compression controller; and

a compression and decompression module configured to compress the data in an uncompressed state or decompress the data in a compressed state at the request of the compression controller.

15. The electronic device of claim 14 , wherein the controller further comprises:

a cache memory configured to store data that has been accessed or is expected to be accessed; and

a memory controller configured to be connected with the volatile memory device and the cache memory.

16. The electronic device of claim 14 , wherein the memory manager determines cold data out of data stored in the compressed memory pool within the volatile memory device, and

the controller further comprises a storage controller configured to transmit the cold data to a non-volatile storage device configured to be connected to the controller.

17. The electronic device of claim 14 , wherein the memory manager determines cold data out of data stored in the compressed memory pool within the volatile memory device,

the compression and decompression module decompresses the cold data and generates decompressed data, and

the controller further comprises a storage controller configured to transmit the decompressed data to a non-volatile storage device configured to be connected to the controller.

18. A computing system comprising:

a host processor; and

an electronic device,

wherein the electronic device comprises:

a volatile memory device comprising a compressed memory pool in which data in a compressed state is stored and a temporary memory pool in which data in an uncompressed state is stored; and

a controller configured to communicate with a host processor and the volatile memory device in a byte-addressable protocol that allows data to be read and written by designating addresses in byte units, and

wherein the controller is further configured to:

receive a request related to data access from the host processor,

based on address information included in the request, determine whether data is compressed, as to whether data corresponding to the address information is stored in an uncompressed state in the temporary memory pool of the volatile memory device or in a compressed state in the compressed memory pool of the volatile memory device,

communicate with the volatile memory device and process the request based on a result of determining whether the data is compressed, and

divide and manage the volatile memory device into the temporary memory pool and the compressed memory pool and, manage a first mapping table associated with the temporary memory pool and a second mapping table associated with the compressed memory pool.

Assignments (2)
CHANGE OF NAME Recorded Jan 13, 2025
From: METISX CO., LTD.
To: XCENA INC.
Reel/Frame 069877/0477 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2023
From: KIM, JU HYUN; KIM, JIN YEONG; YEON, JAE WAN
To: METISX CO., LTD.
Reel/Frame 065139/0627 →
Priority Claims (1)
KR 10-2023-0051363 · Apr 19, 2023 · national