Host device, memory expanding device and system for prefetching
A system includes a host device, a memory expanding device, and a switch connecting the host device and the memory expansion device, wherein the host device includes a cache controller including a prefetch support circuit configured to generate prefetch information, a root complex configured to transmit the prefetch information to the memory expanding device and receive prefetch data from the memory expanding device, and one or more prefetch buffers storing the prefetch data, and the memory expanding device includes a memory device and a memory controller including a prefetch decision circuit configured to read the prefetch data from the memory device based on the prefetch information received from the host device and prefetch the prefetch data to the host device.
1 . A memory expanding device connected to a host device, the memory expanding device comprising:
a memory device; and
a memory controller including a prefetch decision circuit configured to read prefetch data from the memory device based on prefetch information received from the host device and prefetch the prefetch data to the host device,
wherein the prefetch decision circuit includes a time buffer storing request time information when a request is received from the host device, and
the prefetch decision circuit is further configured to, when there is request time information missing due to a cache hit that occurred in the host device, determine the missing request time information based on cache hit information received from the host device.
2 . The memory expanding device of claim 1 , wherein
the prefetch information includes at least one of a Program Counter (PC) and a memory address, and
wherein the prefetch decision circuit is further configured to determine a prefetch address for reading the prefetch data based on the prefetch information and read the prefetch data from the prefetch address of the memory device.
3 . The memory expanding device of claim 2 , wherein
the prefetch decision circuit is further configured to determine the prefetch address by using a first model that determines the prefetch address based on the PC and a second model that determines the prefetch address based on the memory address.
4 . The memory expanding device of claim 2 , wherein
the prefetch decision circuit is further configured to store the prefetch address and the prefetch data.
5 . The memory expanding device of claim 1 , wherein
the prefetch decision circuit is further configured to determine a prefetch time point, which is a time point at which the prefetch data is prefetched to the host device, based on the request time information and a transmission latency received from the host device.
6 . The memory expanding device of claim 5 , wherein the prefetch decision circuit is further configured to prefetch the prefetch data to the host device at the prefetch time point.