KR-20260066076-A - Memory controller and related method for implementing address-based dynamic page closing policy
Abstract
A memory controller and a related method for implementing an address-based dynamic page closing policy are described. An exemplary method includes using a first tracker having an entry indexed by a hash of a system memory address for a physical memory region to track page hits associated with the physical memory region and build a historical record of page hits for the physical memory region. The method further includes using a second tracker having an entry indexed by a hash of a system memory address for the physical memory region to track page hits for the physical memory region and build a current record of page hits for the physical memory region. The method further includes predicting whether to close the page or keep the page open based on a comparison of the historical record of page hits for the physical memory region and the current record of page hits for the physical memory region.
Inventors
- 라마크리시나 무쿤드
Assignees
- 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Dates
- Publication Date
- 20260512
- Application Date
- 20240808
- Priority Date
- 20230914
Claims (15)
- As a method, A step (step (510)) of tracking page hits associated with said physical memory area (142) using a first tracker (260) having an entry indexed by a hash of a system memory address for said physical memory area (142) of a memory system (100) to build a history of page hits for said physical memory area (142); A step (step (520)) of tracking page hits for the physical memory area (142) and constructing a current record of page hits for the physical memory area (142) using a second tracker (260) which is different from the first tracker (260) having an entry indexed by a hash of a system memory address for the physical memory area (142); and A step (step (530)) of predicting whether to close the page or keep the page open based on a comparison of the past record of page hits for the physical memory area (142) and the current record of page hits for the physical memory area (142). method.
- In paragraph 1, The method further includes the step of predicting to close the page if the comparison between the past record of the page hit for the physical memory area and the current record of the page hit for the physical memory area indicates that no additional page hit for the page is expected. method.
- In paragraph 1, The physical memory region above corresponds to a bank, bank group, or rank associated with the memory system, method.
- In paragraph 1, The method further comprises the step of configuring the size of the physical memory region, the number of trackers associated with the physical memory region, and the size of each of the trackers associated with the physical memory region. method.
- In paragraph 1, After predicting whether to close the page or keep the page open, the method further includes the step of requesting feedback indicating whether the prediction to close the page is delayed or premature. method.
- In paragraph 5, (1) after predicting that the page will be closed, or (2) if the feedback indicates that the prediction for closing the page has been delayed, the step of updating the first tracker is further included. method.
- In paragraph 1, A further step of resetting the second tracker whenever a new page corresponding to the physical memory area is opened, method.
- As a memory controller (200), A first tracker (260) having an entry indexed by a hash of a system memory address for the physical memory area (142) for tracking page hits associated with the physical memory area (142) and building a past record of page hits for the physical memory area (142); A second tracker (260) different from the first tracker (260), having an entry indexed by a hash of a system memory address for the physical memory area (142) for tracking page hits for the physical memory area (142) and building a current record of page hits for the physical memory area (142); and A predictor (240, 250) for predicting whether to close the page or keep the page open based on a comparison of the past record of page hits for the physical memory area (142) and the current record of page hits for the physical memory area (142). Memory controller (200).
- In paragraph 8, The physical memory region above corresponds to a bank, bank group, or rank associated with the memory system, Memory controller (200).
- In paragraph 8, (1) the size of the physical memory area, (2) the number of tracers associated with the physical memory area, and (3) the size of each of the tracers associated with the physical memory area are each programmable, Memory controller (200).
- In paragraph 8, The predictor is also configured to request feedback indicating whether the prediction to close the page or keep the page open is delayed or premature, after predicting whether to close the page or keep the page open. Memory controller (200).
- In Paragraph 11, (1) after it is predicted that the above page will be closed, or (2) if the feedback indicates that the prediction for closing the above page has been delayed, the first tracker is updated, Memory controller (200).
- In Paragraph 12, The second tracker above is reset whenever a new page corresponding to the physical memory area is opened, Memory controller (200).
- As a method for implementing a dynamic page close policy for a physical memory area of a memory system, A step of building a historical record of page hits for a physical memory area by using a first tracker having an entry indexed by a hash of a system memory address for the physical memory area to track page hits associated with the physical memory area; A step of building a current record of page hits for a physical memory area by tracking page hits for the physical memory area using a second tracker different from the first tracker, having an entry indexed by a hash of the system memory address for the physical memory area; A step of tracking page hits associated with system memory addresses that do not have indexed entries for the first tracker, using a third tracker different from the first tracker and the second tracker; If an entry exists in the first tracker having an entry indexed by the hash of the system memory address for the physical memory region, a threshold equal to the value of the entry in the first tracker is set, and otherwise, a threshold equal to the value of the third tracker is set; and A step comprising predicting whether to close the page or keep the page open based on a comparison of the threshold and the current record of page hits for the physical memory area. method.
- In Paragraph 14, The physical memory region above corresponds to a bank, bank group, or rank associated with the memory system, method.
Description
Memory controller and related method for implementing address-based dynamic page closing policy The performance of the main memory of a computing system (e.g., dynamic random access memory (DRAM)) depends on various aspects, including the organization of the memory and policies used to manage the content stored in the memory. Memory (e.g., DRAM) can be organized in the form of pages. The size of each page can vary from 2KB to 4KB. At any given time, a DRAM page can be open or closed. If a page is available in the row buffer associated with the DRAM, then the page is considered to be in an open state. This is because a request to access data associated with an open page can be performed simply by issuing a column address select (CAS) command to the media. In this case, the memory access will result in a page hit. On the other hand, if the page is in a closed state, then two scenarios can occur: page empty or page crash. Since multiple DRAM pages can be mapped to the same physical DRAM bank, the page empty scenario corresponds to the case where the page is not open in the target bank; in this case, the request will require an activate (ACT) command to load the page and then a CAS command to read the data. Conversely, if a different page is open in the target bank, then this causes a crash. Therefore, this scenario is referred to as a page crash scenario because the memory controller will need to first close the existing page (e.g., using a precharge command), and then proceed as it would have done in the page empty scenario. Because memory (e.g., DRAM) timing characteristics result in consecutive access to the same page at a much faster rate than access to different pages, all incoming requests will want to result in a page hit to achieve the best possible latency. The second best condition will end in a page-empty scenario. A page crash scenario would be the worst possible scenario regarding latency associated with memory requests. Therefore, there is a need for better page closing policies for memory systems, including those for DRAM-based memory systems. In one example, the present disclosure relates to a method for implementing a dynamic page close policy for a physical memory region of a memory system. The method may include using a first tracer having an entry indexed by a hash of a system memory address for a physical memory region to trace page hits associated with the physical memory region and to develop a historical record of page hits for the physical memory region. The method may further include building a current record of page hits for a physical memory region by tracking page hits for a physical memory region using a second tracker, which is different from a first tracker, having an entry indexed by a hash of a system memory address for a physical memory region. The method may further include predicting whether to close a page or keep a page open based on a comparison of a past record of page hits for a physical memory region and a current record of page hits for a physical memory region. In another example, the present disclosure relates to a memory controller for implementing a dynamic page closing policy for a physical memory region of a memory system. The memory controller may include a first tracker having an entry indexed by a hash of a system memory address for a physical memory region, for tracking page hits associated with the physical memory region and building a historical record of page hits for the physical memory region. The memory controller may further include a second tracker, which is different from the first tracker, having an entry indexed by a hash of a system memory address for a physical memory region to track page hits for a physical memory region and build a current record of page hits for a physical memory region. The memory controller may further include a predictor to predict whether to close a page or keep a page open based on a comparison of a past record of page hits for a physical memory region and a current record of page hits for a physical memory region. In another example, the present disclosure relates to a method for implementing a dynamic page closing policy for a physical memory region of a memory system. The method may include building a historical record of page hits for a physical memory region by tracking page hits associated with the physical memory region using a first tracker having an entry indexed by a hash of a system memory address for the physical memory region. The method may include building a current record of page hits for a physical memory region by tracking page hits for the physical memory region using a second tracker, which is different from the first tracker and has an entry indexed by a hash of a system memory address for the physical memory region. The method may further include using a third tracker different from the first and second trackers to track page hits associated with system memory addresses that do not have indexed ent