IP Library › Granted Patent US 12,159,055
Granted Patent B1
US 12,159,055 · App. 18/514,633 · Granted Dec 3, 2024

Electronic device, computing system including same, and memory access monitoring method thereof

Inventors: Ju Hyun Kim (Yongin-si, KR); Jin Yeong Kim (Yongin-si, KR); Jae Wan Yeon (Yongin-si, KR)
Assignee: METISX CO., LTD.
G06F3/0653G06F3/0604G06F3/0679
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 12,159,055
App. No.
18/514,633
Granted
Dec 3, 2024
Kind
B1
Abstract

As one aspect of the present disclosure, an electronic device is disclosed. The device may include a controller configured to be connected with a host processor and a memory, wherein the controller may be further configured to collect access information indicative of access of the host processor to the memory, and calculate tiering information indicative of accessibility of the host processor to each of a plurality of data units stored in the memory based on the access information.

Claims (81)

1. An electronic device for monitoring memory access, comprising:

a controller configured to be connected with a host processor and a memory,

wherein the controller is further configured to:

collect access information indicative of access of the host processor to the memory,

collect host caching information indicative of a state in which data stored in the memory is cached based on at least one of a first event indicating that the data is stored and a second event indicating that the data is removed, the host caching information comprising a first time point at which the data is registered in a host cache memory and a second time point at which the data is removed from the host cache memory,

calculate at least one of a duration for which the data is present in the host cache memory, and a re-registration time from when the data is removed from the host cache memory to when the data is registered again based on the host caching information,

calculate an access intensity indicating a degree to which the host processor needs the data based on the at least one of the duration and the re-registration time,

calculate tiering information indicative of accessibility of the host processor to each of a plurality of data units stored in the memory based on the access information, the host caching information, and the access intensity,

assign the tiering information at a first level to one or more first data units having a first size among the plurality of data units,

assign the tiering information at a second level to one or more second data units having a second size among the plurality of data units,

transfer the tiering information to the host processor, and

output, to the host processor, at least one data unit from among the plurality of data units based on the tiering information and a request from the host processor, causing the host processor to import the at least one data unit to at least one other device based on the tiering information,

wherein the first level indicates higher accessibility by the host processor than the second level,

wherein a first number of the one or more first data units is less than a second number of the one or more second data units, and

wherein the first size is smaller than the second size.

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

communicate with the host processor by using a Compute Express Link (CXL) protocol, and

collect the access information by sampling memory access commands according to the CXL protocol received from the host processor.

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

calculate an access frequency of an address of the memory based on the access information, and calculate the tiering information for a data unit corresponding to the address of the memory among the plurality of data units based on the access frequency.

4. The electronic device of claim 1 , further comprising:

a snoop filter configured to store the host caching information,

wherein the controller is further configured to collect the host caching information from the snoop filter.

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

calculate the at least one of the duration for which the data is present in the host cache memory, and the re-registration time from when the data is removed from the host cache memory to when the data is registered again based on the host caching information, and

calculate the tiering information for a data unit corresponding to an address of the data from among the plurality of data units based on at least one of the duration and the re-registration time.

6. The electronic device of claim 1 , further comprising:

a cache memory configured to store the data that has ever been accessed or is expected to be accessed,

wherein the controller is further configured to:

further collect device caching information indicative of the state in which the data stored in the memory is cached in the cache memory, and calculate the tiering information based on the device caching information and the access information.

7. The electronic device of claim 6 , wherein the device caching information comprises cache hit information, cache miss information, and access pattern information for a cache prefetch, and

wherein the controller is further configured to:

calculate at least one of an access group and a locality benefit for an address of the memory based on the device caching information, and

calculate the tiering information for a data unit corresponding to the address from among the plurality of data units based on at least one of the access group and the locality benefit.

8. The electronic device of claim 1 , wherein each of the plurality of data units consists of a page, and

the controller is further configured to update the tiering information periodically or aperiodically.

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

collect the access information at a first time interval and update the tiering information for a data unit corresponding to the access information based on the collected access information, and

adjust the tiering information for the plurality of data units at a second time interval.

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

merge a first plurality of first data units having the first size into a merged second data unit while updating the tiering information to the second level, and

divide a second data unit having the second size into a second plurality of first data units while updating the tiering information to the first level.

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

receive, from the host processor, another request for information on a data unit with a relatively high accessibility compared to respective accessibility levels of the plurality of data units, and

in response to the request, transfer information on another at least one data unit with a highest accessibility among the plurality of data units stored in the memory to the host processor based on the tiering information.

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

receive, from the host processor, another request for information on a data unit with a relatively low accessibility compared to respective accessibility levels of the plurality of data units, and

in response to the request, transfer information on another at least one data unit with a lowest accessibility among the plurality of data units stored in the memory to the host processor based on the tiering information.

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

collect monitoring information that serves as a basis for calculating the tiering information, including the access information;

manage the tiering information for each of the plurality of data units stored in the memory; and

process another request for information on accessibility received from the host processor based on the tiering information.

14. A computing system comprising:

a host processor; and

an electronic device,

wherein the electronic device comprises a controller configured to be connected with the host processor and a memory,

wherein the controller is further configured to:

collect access information indicative of access of the host processor to the memory,

collect host caching information indicative of a state in which data stored in the memory is cached based on at least one of a first event indicating that the data is stored and a second event indicating that the data is removed, the host caching information comprising a first time point at which the data is registered in a host cache memory and a second time point at which the data is removed from the host cache memory,

calculate at least one of a duration for which the data is present in the host cache memory, and a re-registration time from when the data is removed from the host cache memory to when the data is registered again based on the host caching information,

calculate an access intensity indicating a degree to which the host processor needs the data based on the at least one of the duration and the re-registration time,

calculate tiering information indicative of accessibility of the host processor to each of a plurality of data units stored in the memory based on the access information, the host caching information, and the access intensity,

assign the tiering information at a first level to one or more first data units having a first size among the plurality of data units,

assign the tiering information at a second level to one or more second data units having a second size among the plurality of data units,

transferring the tiering information to the host processor, and

outputting, to the host processor, at least one data unit from among the plurality of data units based on the tiering information and a request from the host processor, causing the host processor to import the at least one data unit to at least one other device based on the tiering information,

wherein the first level indicates higher accessibility by the host processor than the second level,

wherein a first number of the one or more first data units is less than a second number of the one or more second data units, and

wherein the first size is smaller than the second size.

15. A method for monitoring memory access of an electronic device including a controller configured to be connected with a host processor and a memory, the method comprising:

collecting access information indicative of access of the host processor to the memory;

collecting host caching information indicative of a state in which data stored in the memory is cached based on at least one of a first event indicating that the data is stored and a second event indicating that the data is removed, the host caching information comprising a first time point at which the data is registered in a host cache memory and a second time point at which the data is removed from the host cache memory;

calculating at least one of a duration for which the data is present in the host cache memory, and a re-registration time from when the data is removed from the host cache memory to when the data is registered again based on the host caching information;

calculating an access intensity indicating a degree to which the host processor needs the data based on the at least one of the duration and the re-registration time; and

calculating tiering information indicative of accessibility of the host processor to each of a plurality of data units stored in the memory based on the access information, the host caching information, and the access intensity,

transferring the tiering information to the host processor, and

outputting, to the host processor, at least one data unit from among the plurality of data units based on the tiering information and a request from the host processor, causing the host processor to import the at least one data unit to at least one other device based on the tiering information,

wherein the calculating the tiering information comprises assigning the tiering information at a first level to one or more first data units having a first size among the plurality of data units, and assigning the tiering information at a second level to one or more second data units having a second size among the plurality of data units, and

wherein the first level indicates higher accessibility by the host processor than the second level,

wherein a first number of the one or more first data units is less than a second number of the one or more second data units, and

wherein the first size is smaller than the second size.

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 Nov 21, 2023
From: KIM, JU HYUN; KIM, JIN YEONG; YEON, JAE WAN
To: METISX CO., LTD.
Reel/Frame 065630/0390 →
Priority Claims (1)
KR 10-2023-0060648 · May 10, 2023 · national