Control method of multiple memory devices and associated memory system
The present invention provides a control method of multiple memory devices, wherein the multiple devices comprise a first memory device and a second memory device, and the control method includes the steps of: determining a first operation timing and a second operation timing according to at least a first command signal that a first memory controller needs to send to the first memory device; controlling the first memory controller to send the first command signal to the first memory device at the first operation timing; and controlling the second memory controller to send the second command signal to the second memory device at the second operation timing.
Latest Realtek Semiconductor Corp. Patents:
- INDICATOR CIRCUIT AND CALIBRATION METHOD FOR CALIBRATING NON-LINEAR DEVIATION OF POWER DETECTION CIRCUIT
- METHOD FOR CLOCK COMPENSATION IN COMMUNICATION DEVICE AND RELATED COMMUNICATION DEVICE
- TRANSCEIVER CIRCUIT AND ASSOCIATED CONTROL METHOD
- MEMORY CONTROLLER AND MEMORY DATA RECEIVING METHOD
- Backlight control device
The present invention relates to a control method of multiple memory devices and associated memory system.
2. Description of the Prior ArtIn the design of modern electronic systems, the double data rate (DDR) Dynamic Random Access Memory (DRAM) system is often divided into two parts: a memory control logic and a physical layer. A DDR physical interface (DFI) is defined between the memory controller logic and the physical layer to implement standard interconnection. In a word, the DFI interface aims at providing a common interface between the memory control logic and the physical layer, to convert command signal and data signal, transmitted from the memory controller to the memory device, into a specification defined in the memory device (such as a dual in-line memory model, DIMM). Similarly, data signal transmitted from the memory device to the memory controller can be converted to a specification of the memory controller through the DFI interface.
The conventional memory controller can be connected with multiple memory devices (such as the Double-Data-Rate Fourth Generation Synchronous Dynamic Random Access Memory, DDR4). Each time the memory controller transmits a command signal (such as read, write, active, pre-charge, auto-refresh, self-refresh, etc.) to each memory device through the DFI interface. Therefore, every memory device is operated at the same time. For example, a memory controller is connected with three memory devices. The memory controller will receive three times the size of the data in the case of the shared command interface when the memory controller reads only one memory device (For the DDR4 to access, such as read/write, 16-bit data each time, 16 bits*3=48 bits data size is required, therefore increasing the bandwidth). For separately accessing a single memory device, an additional command interface is added for data shunt method, to reduce the required data size (only 16 bit*1=16 bit). However, the additional command interface means that the memory controller needs additional pins to control the memory device independently, resulting in limitations on the board layout and increasing cost.
SUMMARY OF THE INVENTIONIt is therefore an objective to provide a method of memory time division control and a related device, which has a better bandwidth utilization mechanism, to solve the above problem.
According to one embodiment of the present invention, a control method of multiple memory devices is disclosed, wherein the multiple devices comprise a first memory device and a second memory device, and the control method comprises: determining a first operation timing and a second operation timing according to at least a first command signal that a first memory controller needs to send to the first memory device; controlling the first memory controller to send the first command signal to the first memory device at the first operation timing; and controlling the second memory controller to send the second command signal to the second memory device at the second operation timing.
According to another embodiment of the present invention, a memory system is disclosed, wherein the memory system comprises a first memory device, a second memory device, a first memory controller, a second memory controller and a timing management device. The timing management device is configured to determine a first operation timing and a second operation timing according to at least a first command signal that the first memory controller needs to send to the first memory device, in order to control the first memory controller to send the first command signal to the first memory device at the first operation timing, and to control the second memory controller to send the second command signal to the second memory device at the second operation timing.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.
According to the timing control of the memory controllers 120_1-120_3, the timing management device 110 divides the time sequence on the command interface into multiple intervals, for the command signal of the memory controller is transmitted only at the configured interval. With such manner, multiple memory controllers 120_1-120_3 can share the same command signal line and address signal line, to reduce a number of pins of the DFI interface 130. In addition, every memory controller 120_1-120_3 is deployed with independent chip select signal line corresponding to a memory device 140_1-140_3, and thus every memory controller 120_1-120_3 performs control operation only at its operation times and then accesses the memory device with the corresponding chip select signal CS1/CS2/CS3.
Although the memory system 100 shown in
In order to facilitate the following description, only the memory controllers 120_1 and 120_2 shown in
In another example, if the command signal C1 belongs to a non-access command, and the command signal C2 belongs to an access command, the non-access command will be regarded as the main factor to reduce the bandwidth. Therefore, the arbiter 114 notifies the processing circuit 112 to determine that the first operation timing OT1 has priority over the second operation timing OT2, so that the time when the command signal C1 is transmitted to the first memory device 140_1 has priority over the time when the command signal C2 is transmitted to the second memory device 140_2. Taking
Therefore, by using the interval “5T” in which the command signal CMD2 was originally sent to transmit the non-access command of the memory controller 120_1, the bandwidth loss can be borne by the memory controller 120_2 with a smaller bandwidth, so the overall bandwidth loss can be effectively reduced.
Step 400: the flow starts.
Step 402: determine whether a first command signal that a first memory controller needs to send to a first memory device is an access command or a non-access command. If the first command signal is the access command, the flow enters Step 404; if the first command signal is the non-access command, the flow enters Step 406.
Step 404: determine time-interleaved first operation timings and second operation timings.
Step 406: determine the first operation timings and the second operation timings, so that a time when the first command signal is transmitted to the first memory device has priority over a time when the second command signal is transmitted to the second memory device.
Step 408: control the first memory controller to send the first command signal to the first memory device according to the first operation timings, and control the second memory controller to send the second command signal to the second memory device according to the second operation timings.
It is noted that although the embodiments in
In the embodiments shown in
Step 600: the flow starts.
Step 602: determine whether a first command signal that a first memory controller needs to send to a first memory device is an access command or a non-access command. If the first command signal is the access command, the flow enters Step 604; if the first command signal is the non-access command, the flow enters Step 606.
Step 604: determine time-interleaved first operation timings and second operation timings.
Step 606: determine if a degree of busyness of the second memory controller is higher that a degree of busyness of the first memory controller, and the busyness difference meets a preset condition. If yes, the flow enters Step 604; and if not, the flow enters Step 608.
Step 608: determine the first operation timings and the second operation timings, so that a time when the first command signal is transmitted to the first memory device has priority over a time when the second command signal is transmitted to the second memory device.
Step 610: control the first memory controller to send the first command signal to the first memory device according to the first operation timings, and control the second memory controller to send the second command signal to the second memory device according to the second operation timings.
Briefly summarized, in the control method for multiple memory devices and related memory system of the present invention, a time-division control is used so that the memory system can effectively reduce the number of pins of the DFI interface by sharing a set of command signals and using time-division transmission. In addition, in order to reduce the impact of the aforementioned time-division control on the bandwidth, one embodiment additionally proposes a mechanism that allows the non-access command of the first memory controller with higher bandwidth to interrupt the access command of the second memory controller with lower bandwidth, so as to reduce the overall bandwidth loss as much as possible.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.
Claims
1. A control method of multiple memory devices, wherein the multiple devices comprise a first memory device and a second memory device, and the control method comprises:
- determining a first operation timing and a second operation timing according to at least a first command signal that a first memory controller needs to send to the first memory device;
- controlling the first memory controller to send the first command signal to the first memory device at the first operation timing; and
- controlling a second memory controller to send a second command signal to the second memory device at the second operation timing;
- wherein a bandwidth of the first memory controller is higher than a bandwidth of the second memory controller, and the step of determining the first operation timing and the second operation timing comprises:
- in response to the first command signal and the second command signal both being access commands, determining the first operation timing and the second operation timing that are time interleaved; and
- in response to the first command signal being a non-access command and the second command signal being the access command, determining the first operation timing and the second operation timing, so that a time when the first command signal is transmitted to the first memory device has priority over a time when the second command signal is transmitted to the second memory device.
2. The control method of claim 1, wherein the step of determining the first operation timing and the second operation timing comprises:
- in response to the first command signal being the non-access command and the second command signal being the access command, determining the first operation timing and the second operation timing, so that the first memory controller sends multiple command signals including the non-access command in three consecutive intervals.
3. The control method of claim 1, wherein the step of determining the first operation timing and the second operation timing comprises:
- determining the first operation timing and the second operation timing according to at least the first command signal that the first memory controller needs to send to the first memory device and degrees of busyness of the first memory controller and the second memory controller.
4. A control method of multiple memory devices, wherein the multiple devices comprise a first memory device and a second memory device, and the control method comprises:
- determining a first operation timing and a second operation timing according to at least a first command signal that a first memory controller needs to send to the first memory device;
- controlling the first memory controller to send the first command signal to the first memory device at the first operation timing; and
- controlling a second memory controller to send a second command signal to the second memory device at the second operation timing;
- wherein the step of determining the first operation timing and the second operation timing comprises:
- determining the first operation timing and the second operation timing according to at least the first command signal that the first memory controller needs to send to the first memory device and degrees of busyness of the first memory controller and the second memory controller; and
- in response to the first command signal being the non-access command, the second command signal being the access command, a degree of busyness of the first memory controller being higher that a degree of busyness of the second memory controller, and a busyness difference meeting a preset condition, determining the first operation timing and the second operation timing, so that a time when the first command signal is transmitted to the first memory device has priority over a time when the second command signal is transmitted to the second memory device.
5. The control method of claim 4, wherein the step of determining the first operation timing and the second operation timing comprises:
- in response to the first command signal being the non-access command, the second command signal being the access command, the degree of busyness of the first memory controller being higher that the degree of busyness of the second memory controller, and the busyness difference meeting the preset condition, determining the first operation timing and the second operation timing, so that the first memory controller sends multiple command signals including the non-access command in three consecutive intervals.
6. The control method of claim 4, wherein a bandwidth of the first memory controller is higher than a bandwidth of the second memory controller, and the step of determining the first operation timing and the second operation timing comprises:
- in response to the first command signal being the non-access command, the second command signal being the access command, a degree of busyness of the second memory controller being higher that a degree of busyness of the first memory controller, and a busyness difference meeting a preset condition, determining the first operation timing and the second operation timing that are time interleaved; and
- in response to the first command signal being the non-access command, the second command signal being the access command, the degree of busyness of the second memory controller being higher that the degree of busyness of the first memory controller, and the busyness difference not meeting the preset condition, determining the first operation timing and the second operation timing, so that a time when the first command signal is transmitted to the first memory device has priority over a time when the second command signal is transmitted to the second memory device.
7. The control method of claim 6, wherein the step of determining the first operation timing and the second operation timing comprises:
- in response to the first command signal being the non-access command, the second command signal being the access command, the degree of busyness of the second memory controller being higher that the degree of busyness of the first memory controller, and the busyness difference not meeting the preset condition, determining the first operation timing and the second operation timing, so that the first memory controller sends multiple command signals including the non-access command in three consecutive intervals.
8. A memory system, comprising:
- a first memory device and a second memory device;
- a first memory controller and a second memory controller, configured to access the first memory device and the second memory device, respectively;
- a timing management device, coupled to the first memory controller and the second memory controller, configured to determine a first operation timing and a second operation timing according to at least a first command signal that the first memory controller needs to send to the first memory device, in order to control the first memory controller to send the first command signal to the first memory device at the first operation timing, and to control the second memory controller to send a second command signal to the second memory device at the second operation timing;
- wherein a bandwidth of the first memory controller is higher than a bandwidth of the second memory controller, and in response to the first command signal and the second command signal both being access commands, the timing management device determines the first operation timing and the second operation timing that are time interleaved; and in response to the first command signal being a non-access command and the second command signal being the access command, the timing management device determines the first operation timing and the second operation timing, so that a time when the first command signal is transmitted to the first memory device has priority over a time when the second command signal is transmitted to the second memory device.
9. The memory system of claim 8, wherein in response to the first command signal being the non-access command and the second command signal is the access command, the timing management device determines the first operation timing and the second operation timing, so that the first memory controller sends multiple command signals including the non-access command in three consecutive intervals.
10. The memory system of claim 8, wherein the timing management device determines the first operation timing and the second operation timing according to at least the first command signal that the first memory controller needs to send to the first memory device and degrees of busyness of the first memory controller and the second memory controller.
11. The memory system of claim 10, wherein in response to the first command signal being the non-access command, the second command signal being the access command, a degree of busyness of the first memory controller being higher that a degree of busyness of the second memory controller, and a busyness difference meeting a preset condition, the timing management device determines the first operation timing and the second operation timing, so that a time when the first command signal is transmitted to the first memory device has priority over a time when the second command signal is transmitted to the second memory device.
12. The memory system of claim 11, wherein in response to the first command signal being the non-access command, the second command signal being the access command, the degree of busyness of the first memory controller being higher that the degree of busyness of the second memory controller, and the busyness difference meeting the preset condition, the timing management device determines the first operation timing and the second operation timing, so that the first memory controller sends multiple command signals including the non-access command in three consecutive intervals.
13. The memory system of claim 10, wherein in response to the first command signal being the non-access command, the second command signal being the access command, a degree of busyness of the second memory controller being higher that a degree of busyness of the first memory controller, and a busyness difference meeting a preset condition, the timing management device determines the first operation timing and the second operation timing that are time interleaved; and in response to the first command signal being the non-access command, the second command signal being the access command, the degree of busyness of the second memory controller being higher that the degree of busyness of the first memory controller, and the busyness difference not meeting the preset condition, the timing management device determines the first operation timing and the second operation timing, so that a time when the first command signal is transmitted to the first memory device has priority over a time when the second command signal is transmitted to the second memory device.
14. The memory system of claim 13, wherein in response to the first command signal being the non-access command, the second command signal being the access command, the degree of busyness of the second memory controller being higher that the degree of busyness of the first memory controller, and the busyness difference not meeting the preset condition, the timing management device determines the first operation timing and the second operation timing, so that the first memory controller sends multiple command signals including the non-access command in three consecutive intervals.
8447917 | May 21, 2013 | Chen |
9093160 | July 28, 2015 | Ellis |
20100199025 | August 5, 2010 | Nanjou |
20120226852 | September 6, 2012 | Chen |
20150089164 | March 26, 2015 | Ware |
20150221349 | August 6, 2015 | Jeon |
20180090185 | March 29, 2018 | Hossain |
20180196620 | July 12, 2018 | Kim |
20190138246 | May 9, 2019 | Lee |
20200159434 | May 21, 2020 | Walker |
20210026789 | January 28, 2021 | Cheng et al. |
201324336 | June 2013 | TW |
201600966 | January 2016 | TW |
Type: Grant
Filed: Feb 7, 2021
Date of Patent: Aug 2, 2022
Patent Publication Number: 20210271616
Assignee: Realtek Semiconductor Corp. (HsinChu)
Inventors: Ching-Sheng Cheng (HsinChu), Wen-Wei Lin (HsinChu), Kuan-Chia Huang (HsinChu)
Primary Examiner: Yaima Rigol
Application Number: 17/169,520
International Classification: G06F 13/16 (20060101); G11C 7/10 (20060101); G11C 8/18 (20060101); G11C 11/4076 (20060101);