Memory access methods, modules, controllers, systems, and media
By monitoring temperature control parameters and reducing access bandwidth using an energy efficiency ratio controller, combined with address mapping and access request optimization, the problem of HBM temperature rise was solved, achieving memory temperature control and energy efficiency improvement.
Patent Information
- Application Number
- CN202010850808.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-21
- Publication Date
- 2026-03-06
- Estimated Expiration
- 2040-08-21
AI Technical Summary
High-bandwidth memory (HBM) suffers from temperature rise due to its packaging process, large I/O bit width, and stacked structure, which affects read and write reliability and has not been effectively solved by existing technologies.
By monitoring the memory's temperature control parameters through an energy efficiency ratio controller, instructions to reduce access bandwidth are generated to decrease the memory's access bandwidth. Furthermore, by optimizing address mapping and access request authorization, the number of activation-precharge cycles is reduced, thereby lowering temperature and power consumption.
It effectively reduces memory temperature, extends service life, improves energy efficiency, and reduces power consumption and heat generation.
Smart Images

Figure CN114167972B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of storage technology, and more particularly to a memory access method, module, controller, system, and medium. Background Technology
[0002] High-bandwidth memory (HBM) is a type of memory that has emerged in recent years, primarily used in data centers, artificial intelligence, and other fields with high bandwidth requirements. HBM typically reduces the complexity and cost of board design by sharing a substrate with the main logic chip and packaging them together. It achieves high data read / write bandwidth through a large number of input / output (I / O) bit widths; and reduces its contact area with the printed circuit board by stacking multiple storage media vertically. However, the encapsulation process with the main logic chip, the large I / O bit width, and the stacking of storage media increase the HBM's own temperature, leading to a decrease in HBM read / write reliability. Summary of the Invention
[0003] This application provides a memory access method, module, controller, system, and medium to reduce the temperature of the memory during operation, thereby extending the memory's lifespan.
[0004] In a first aspect, embodiments of this application provide a memory access method, including:
[0005] Obtain a memory access bandwidth reduction instruction from the energy efficiency ratio controller, the memory access bandwidth reduction instruction being generated when the energy efficiency ratio controller detects that the temperature control parameter of the memory is higher than the corresponding parameter threshold;
[0006] Reduce the current access bandwidth to the memory to obtain a new access bandwidth;
[0007] An access request is sent to the memory based on the new access bandwidth.
[0008] Secondly, embodiments of this application provide another method for accessing memory, including:
[0009] Obtain the temperature control parameters of the memory;
[0010] If the temperature control parameter is higher than the corresponding parameter threshold, a memory access bandwidth reduction instruction is generated and sent to the memory access management module to control the memory access management module to reduce the memory access bandwidth.
[0011] Thirdly, embodiments of this application provide a memory access management module, which includes a storage device, a processing device, a program stored on the storage device and executable on the processing device, and a data bus for implementing communication between the processing device and the storage device. When the program is executed by the processing device, it implements the method provided in embodiments of this application.
[0012] Fourthly, embodiments of this application provide an energy efficiency ratio controller, which includes a storage device, a processing device, a program stored on the storage device and executable on the processing device, and a data bus for enabling communication between the processing device and the storage device. When the program is executed by the processing device, it implements the method provided in embodiments of this application.
[0013] Fifthly, embodiments of this application provide a memory access system, including a memory access management module and an energy efficiency ratio controller provided in embodiments of this application, and also including a bandwidth monitor, a temperature monitor, and a power consumption monitor.
[0014] The temperature monitor is connected to the memory and the energy efficiency ratio controller respectively, and is configured to monitor the temperature of the memory according to a first monitoring cycle, and send the monitored temperature to the energy efficiency ratio controller.
[0015] The power consumption monitor is connected to the memory and the energy efficiency ratio controller respectively, and is configured to monitor the power consumption of the memory according to the second monitoring cycle, and send the monitored power consumption to the energy efficiency ratio controller.
[0016] The bandwidth monitor is connected to the memory access management module, the memory controller to which the memory is connected, and the energy efficiency ratio controller, respectively. It is configured to monitor the bandwidth of the memory according to the third monitoring cycle and send the monitored bandwidth to the energy efficiency ratio controller.
[0017] The energy efficiency ratio controller, connected to the controller access management module, is configured to acquire the temperature control parameters of the memory; if the temperature control parameters are higher than the corresponding parameter threshold, a memory access bandwidth reduction instruction is generated and sent to the memory access management module to control the memory access management module to reduce the access bandwidth of the memory.
[0018] The memory access management module is connected to the host and the memory controller respectively, and is configured to obtain a memory access bandwidth reduction instruction from the energy efficiency ratio controller. The memory access bandwidth reduction instruction is generated when the energy efficiency ratio controller detects that the temperature control parameter of the memory is higher than the corresponding parameter threshold; reduce the current access bandwidth of the memory to obtain a new access bandwidth; and send an access request to the memory according to the new access bandwidth.
[0019] Sixthly, embodiments of this application also provide a computer-readable storage medium storing one or more programs that can be executed by one or more processors to implement the method provided in embodiments of this application.
[0020] The memory access method, module, controller, system, and medium provided in this application embodiment involve an energy efficiency ratio controller acquiring the memory's temperature control parameters. When the temperature control parameters exceed a corresponding threshold, the controller generates a memory access bandwidth reduction instruction and sends this instruction to a memory access management module. Correspondingly, the memory access management module receives the bandwidth reduction instruction from the energy efficiency ratio controller, reduces the current access bandwidth to the memory to obtain a new access bandwidth, and sends an access request to the memory based on the new bandwidth. By employing the above technical solution, this application embodiment can avoid overheating of the temperature controller and allows the memory to operate with the required bandwidth at a lower power consumption, thereby improving the memory's energy efficiency ratio. Attached Figure Description
[0021] Figure 1 A flowchart illustrating a memory access method provided in an embodiment of this application;
[0022] Figure 2a A flowchart illustrating another memory access method provided in an embodiment of this application;
[0023] Figure 2b A schematic diagram of an extended address provided for an embodiment of this application;
[0024] Figure 2c A schematic diagram illustrating an address arrangement method provided in an embodiment of this application;
[0025] Figure 2d A schematic diagram of a historical access record provided in an embodiment of this application;
[0026] Figure 3 A flowchart illustrating a third memory access method provided in an embodiment of this application;
[0027] Figure 4 A structural block diagram of a memory access device provided in an embodiment of this application;
[0028] Figure 5 A structural block diagram of another memory access device provided in an embodiment of this application;
[0029] Figure 6 This application provides a schematic diagram of the structure of a memory access management module according to an embodiment of the present application.
[0030] Figure 7 This is a schematic diagram of the structure of an energy efficiency ratio controller provided in an embodiment of this application;
[0031] Figure 8 A schematic diagram of the structure of a memory access system provided in an embodiment of this application; Detailed Implementation
[0032] It should be understood that the specific embodiments described herein are merely illustrative of this application and are not intended to limit this application.
[0033] Figure 1 This is a flowchart illustrating a memory access method according to one embodiment. The method can be executed by a memory access device, which can be implemented in software and / or hardware. This device can be configured in a control chip, typically in a memory access management control module. This method is applicable to scenarios where memory access is managed. Figure 1 As shown, the memory access method provided in this embodiment includes the following steps:
[0034] S101. Obtain a memory access bandwidth reduction instruction from the energy efficiency ratio controller, wherein the memory access bandwidth reduction instruction is generated when the energy efficiency ratio controller detects that the temperature control parameter of the memory is higher than the corresponding parameter threshold.
[0035] In this step, the memory access bandwidth reduction instruction can be understood as a control instruction used to reduce the current access bandwidth of the memory managed by the memory access management control module. It can be generated by the energy efficiency ratio controller when the temperature control parameter of the memory is higher than a preset parameter threshold and sent to the memory access management module. The temperature control parameter of the memory can be understood as a parameter used to monitor the temperature of the memory, which includes at least one of the memory temperature, power consumption and bandwidth. Preferably, it can include the memory temperature, power consumption and bandwidth to further improve the accuracy of monitoring the temperature of the memory. The following is an example of this case.
[0036] In this embodiment, when at least one of the three parameters of the memory—temperature, power consumption, and bandwidth—is greater than the corresponding parameter threshold, the energy efficiency ratio controller generates a memory access bandwidth controller and sends the access bandwidth controller to the memory access management module; correspondingly, the memory access management module receives the memory access bandwidth reduction instruction sent by the energy efficiency ratio controller.
[0037] S102. Reduce the current access bandwidth to the memory to obtain a new access bandwidth.
[0038] In this embodiment, the current access bandwidth of the memory can be understood as the bandwidth at which the memory access management module sends access requests to the memory at the current moment, that is, the number of read / write commands and write data sent by the memory access management module to the memory controller forwarding host connected to the memory per unit time; the new access bandwidth can be understood as the access bandwidth obtained after reducing the current access bandwidth. The method of reducing the current access bandwidth of the memory can be selected as needed, such as reducing the current access bandwidth of the memory by a set bandwidth step, reducing the current access bandwidth of the memory by a set percentage, or reducing the current access bandwidth of the memory to a set bandwidth value, etc. This embodiment does not limit this.
[0039] In one exemplary embodiment, the memory access management module can reduce the current access bandwidth of the memory by a preset bandwidth step size each time it receives a memory access bandwidth reduction instruction from the energy efficiency ratio controller. This reduces the memory's bandwidth at the current moment by the preset bandwidth step size to avoid excessive bandwidth reduction causing slow memory access rates. Preferably, reducing the current access bandwidth of the memory includes reducing the current access bandwidth of the memory by the preset bandwidth step size. The preset bandwidth step size can be set as needed, such as setting the preset bandwidth compensation to 1MB, 2MB, or other bandwidth values.
[0040] For example, when the memory access management module receives a memory access bandwidth reduction instruction sent by the energy efficiency ratio controller, it obtains the current access bandwidth of the memory and calculates the difference between the current access bandwidth and the preset bandwidth step size to obtain the new access bandwidth.
[0041] In the above implementation, when no memory access bandwidth reduction instruction is received again from the energy efficiency ratio controller, the new access bandwidth can be a fixed value or a non-fixed value. For example, after calculating the difference between the current access bandwidth and the preset bandwidth step size, the amount of read data sent from the memory to the host per unit time can be disregarded, i.e., the response bandwidth occupied by the memory controller forwarding read data from the memory to the memory access management module can be disregarded. The difference can be directly used as the new access bandwidth, and an access request can be sent to the memory based on this new access bandwidth until the memory access bandwidth reduction instruction sent by the energy efficiency controller is received again. Alternatively, the amount of read data sent from the memory to the host per unit time can be considered, i.e., the response bandwidth occupied by the memory controller forwarding read data from the memory to the memory access management module can be considered. When the memory access bandwidth reduction instruction sent by the energy efficiency controller is received, the current access bandwidth of the memory can be directly reduced by the preset bandwidth step size to obtain the new access bandwidth. This reduces the bandwidth of the memory at the current moment (including access bandwidth and response bandwidth) by the preset bandwidth step size to obtain the new bandwidth. In the subsequent process of sending access requests to the memory based on the new access bandwidth, the value of the new access bandwidth can be adjusted in real time according to the change of the memory's response bandwidth to ensure that the bandwidth of the memory (i.e., the sum of access bandwidth and response bandwidth) remains at this new bandwidth until the memory access bandwidth reduction instruction sent by the energy efficiency controller is received again.
[0042] S103. Send an access request to the memory based on the new access bandwidth.
[0043] For example, the memory access management module is connected to the host, the energy efficiency ratio controller, and the memory controller. The memory controller is connected to the memory. The host continuously sends read / write commands and write data to the memory access management module and receives read data from the memory access management module. Correspondingly, the memory access management module sends the received read / write commands and write data to the memory controller according to the new access bandwidth, that is, according to the number of read / write commands and write data sent per unit time corresponding to the new access bandwidth. The memory controller then converts the read / write commands and write data sent by the memory access management module into write commands and write data and / or read commands that the memory can recognize, and sends them to the memory. Furthermore, the memory, based on the received recognizable write commands, writes the corresponding write data into the corresponding storage unit within the memory, and retrieves the corresponding read data from the corresponding storage unit within the memory based on the received recognizable read commands, and sends it to the memory controller, thereby sequentially sending the read data to the host via the memory controller and the memory access management module. Here, the access request may include read / write commands and write data sent by the host.
[0044] Understandably, this new access bandwidth can be the highest access bandwidth that the memory can access when it does not receive another instruction from the energy efficiency ratio controller to reduce the memory access bandwidth. That is, when the rate at which the host sends access requests to the memory access management module is greater than or equal to the rate corresponding to the new access bandwidth, the memory access management module can send access requests to the memory controller with the new access bandwidth; when the rate at which the host sends access requests to the memory access management module is less than the rate corresponding to the new access bandwidth, the memory access management module can send access requests to the memory controller with the bandwidth corresponding to the rate at which the host sends access requests. In other words, the memory access management module can send access requests to the memory with an access bandwidth less than the new access bandwidth.
[0045] In a preferred embodiment, the access request is an authorized access request, and before sending the access request to the memory according to the new access bandwidth, the method includes: authorizing the received original access request according to a preset authorization rule to obtain an authorized access request.
[0046] Because the activation-precharge mechanism of the memory requires an activation-precharge operation every time the accessed row changes within the same bank, in the above embodiment, the memory access management module can also authorize the received original access requests according to preset authorization rules. For example, it can prioritize authorizing access to row addresses that have already undergone activation-precharge in the corresponding bank, prioritize authorizing original access requests to the same row address that exist in the memory access management module and reach a preset number, and / or prioritize authorizing original access requests that do not have access records. This authorization method changes the order in which the original access requests are sent to the memory, so that the original access records to the same row address are sent to the memory for access at the shortest possible time interval, reducing the number of activation-precharge operations required during memory access. This reduces the power consumption and heat generated by frequent activation-precharge operations, thereby improving the energy efficiency ratio of the memory while avoiding excessive memory temperature. Accordingly, within each unit of time, the memory access management module can select a number of access requests corresponding to the new access bandwidth and send them to the memory controller according to the authorization order of the authorized access requests, so that the memory controller can send the access requests to the memory.
[0047] The memory access method provided in this embodiment obtains a memory access bandwidth reduction instruction generated by the energy efficiency ratio controller when it detects that the memory temperature control parameter is higher than the corresponding parameter threshold. This instruction reduces the current access bandwidth of the memory to obtain a new access bandwidth, and then sends an access request to the memory according to the new bandwidth. By adopting the above technical solution, this embodiment can avoid the temperature controller overheating and allows the memory to operate with the required bandwidth at a lower power consumption, thereby improving the memory's energy efficiency ratio.
[0048] Figure 2a This is a flowchart illustrating another memory access method provided in one embodiment. This embodiment is an optimization based on the above embodiment. Figure 2a As shown, the memory access method provided in this embodiment includes:
[0049] S201. When a raw access request is received from the host, the raw access address carried in the raw access request is mapped to a target access address, and S202 or S203 is executed. The target access address includes a target row address, a target column address, a target channel number, a target pseudo channel number, and a target bank address.
[0050] In this step, the original access request can be understood as an access request sent by the host, which is an unauthorized access request. The target bank address of the original access request can be understood as the bank address of the physical bank that transmitted the original access request. The memory can be configured with multiple channels, and each channel can be configured with multiple (e.g., 2) pseudo-channels. Each pseudo-channel can be configured with multiple banks. At the same time, one bank can be used to transmit one access request. Therefore, the bank that transmitted the original access request can be uniquely located through the target channel number, target pseudo-channel number, and target bank address of the original access request.
[0051] Please refer to Figure 2b In existing technologies, only row address, column address, and bank address pairs are used for addressing. In this embodiment, the memory access management module further introduces channel number and pseudo-channel number for addressing, connecting the independent storage spaces of each pseudo-channel of the memory and integrating them into a complete and contiguous storage space. For example, when the memory is HBM, the independent storage spaces of the 16 pseudo-channels of HBM can be linked together and integrated into a complete and contiguous storage space. This expands the range of memory addresses and reduces the probability that the same bank address within a pseudo-channel will be frequently switched to access different data rows in the memory, thereby reducing the probability of activation-precharge occurring. Please refer to [further details needed]. Figure 2cThe memory access management module can group the memory space according to the row address. Within each group, addressing is performed by channel number, pseudo channel number, bank address and column address. Different groups are distinguished by row address.
[0052] In this embodiment, the mapping method for mapping the historical access address carried in the original access request to the target access address can be selected as needed, as long as it is ensured that each bank of the memory can be used to transmit access requests. This embodiment does not impose any restrictions on this.
[0053] In a preferred embodiment, assuming the memory has 2j channels, 2k pseudo-channels, 2m-2l banks, and 2l-k columns in the memory's storage space, the original access address has n bits, where j, k, l, m, and n are all positive numbers, and j≥1, k≥j+1, l≥k+1, m≥l+1, and n≥m. In this case, the first to j bits of the original access address carried in the received original access request can be mapped to the target channel number, and the (j+1) to k bits of the original access address can be mapped to the target pseudo-channel number of the memory. Bits k+1 to l in the original access address are mapped to the target column address; bits l+1 to m in the original access address are mapped to the target bank address, and bits m+1 to n in the original access address are mapped to the target row address. This maps consecutive original access addresses to different pseudo-channels, diluting consecutive accesses to the memory space within the same pseudo-channel. This further reduces the probability of frequent row-crossing accesses to the same bank within each pseudo-channel of the memory, thereby further mitigating the impact of the activation-precharge mechanism, improving the energy efficiency ratio of the memory, and reducing the heat generated by the memory.
[0054] Taking HBM as an example, when performing address mapping, the memory access management module can map the first 1-3 bits of the original access address carried in the received original access request to the target channel number, the fourth bit of the original access address to the target pseudo channel number, the fifth-9 bits of the original access address to the target column address, the tenth-th 13 bits of the original access address to the target bank address, and the remaining unmapped address in the original location address to the target row address.
[0055] It should be noted that the above preferred embodiments do not restrict the mapping order of the target channel number, target pseudo channel number, and target column address (i.e., the order of the bits corresponding to the target channel number, target pseudo channel, and target column address in the original access address). It is only necessary to ensure that the bits corresponding to the target bank address in the original access address are located at the end of the original access address.
[0056] S202. If a first historical access request exists in the historical access record of the memory, the original access request is authorized to obtain an authorized access request. S208 is executed, where the historical row address of the first historical access request is the same as the target row address, and the historical access record is set to record the historical access request of the last transmission of each bank.
[0057] In this step, the historical row address can be understood as the row address requested by the historical access request. The historical access record uses the channel number, pseudo-channel number, and bank address as an index, and the row address is the value corresponding to the index. The corresponding record contains the channel number, pseudo-channel number, and bank address, as well as the row address of the last historical access request transmitted by the bank located by the corresponding channel number, pseudo-channel number, and bank address, such as... Figure 2d As shown, the maximum number of historical access requests recorded in the historical access log can be equal to the number of banks set in the memory.
[0058] In this embodiment, since the historical access record records the last historical access request transmitted by each bank of the memory before the current time, if there is a first historical access request in the historical access record that has the same historical row address as the target row address of the original access record sent by the host, it means that there is a bank in the memory that has accessed the target row corresponding to the target row address and has already performed activation-precharge on the target row. In this case, accessing the target row address again may not require activation-precharge on the target row. Therefore, when there is a first historical access request in the historical access record that has the same historical row address as the target row address of the original access request sent by the host, the historical access request can be authorized first to avoid the need to perform activation-precharge on the target row address again, thereby reducing power consumption and temperature during memory access.
[0059] For example, after mapping the original access address carried in the received original access request to the target access address, the memory access management module queries the historical access records to see if there is a historical row address that is the same as the target row address in the target access address. If so, it directly authorizes the original access request as an authorized access request without waiting for a preset time length.
[0060] S203. If there is no first historical access request in the historical access record of the memory, determine whether there is a second historical access request in the historical access record. If not, execute S204; if yes, execute S205, where the historical channel number of the second historical access request is the same as the target channel number, the historical pseudo channel number of the second historical access request is the same as the target pseudo channel number, and the historical bank address of the second historical access request is the same as the target bank address.
[0061] In this embodiment, when there is no first historical access request in the historical access record whose historical access address is the same as the target access address of the received original access request, it can be further determined whether there is a second historical access request in the historical access record whose historical channel number, historical pseudo channel number, and historical bank address are the same as the target channel number, target pseudo channel number, and target bank address of the original access request, respectively. That is, it can be determined whether there is a historical access request in the historical access record transmitted using the bank corresponding to the original access request. When there is a second historical access request in the historical access record, since the historical row address of the second historical access request is different from the target row address of the original access request, the bank needs to activate the target row address when transmitting the original access request using that bank. - Pre-charging process: Therefore, the original access request can be temporarily not authorized, and S204 can be executed. When there is no second historical access request in the historical access record, it means that there is no historical access request in the historical access record for the bank corresponding to the original access request (i.e., the bank that transmitted the original access request). This bank is the bank that was accessed for the first time. At this time, whether the original access request is authorized directly or after waiting for a preset time length, the bank needs to activate the target row (i.e., the data row corresponding to the target row address) accessed by the original access request when transmitting the original access request. Therefore, at this time, there is no need to wait, and the original access request can be directly authorized as an authorized access request to ensure that there is no blocking.
[0062] For example, when the memory's historical access record does not contain a first historical access request whose historical row address is the same as the target row address of the original access request, the memory access management module determines whether there is a third historical access request in the historical access record whose historical channel number is the same as the target channel number of the original access request. If there is no third historical access request in the historical access record, it is determined that there is no second historical access request in the historical access record, and S204 is executed. If there is a third historical access request in the historical access record, it is further determined whether there is a fourth historical access request in the third historical access request whose historical pseudo-channel number is the same as the target pseudo-channel number of the original access request. If there is no fourth historical access request in the historical access record, it is determined that there is no second historical access request in the historical access record, and S204 is executed. If there is a fourth historical access request in the historical access record, it is further determined whether there is a second historical access request in the fourth historical access request whose historical bank address is the same as the target bank address of the original access request. If yes, S205 is executed; if no, S204 is executed.
[0063] S204. Authorize the original access request to obtain an authorized access request, and then execute S208.
[0064] In this embodiment, the method for authorizing unauthorized access requests (including the original access request) can be selected as needed. For example, an unauthorized access request can be authorized as an authorized access request by adding an authorization identifier; or an unauthorized access request can be authorized as an authorized access request by adding it to the end of the authorized access request queue. In this case, when the memory access management module sends an authorized access request to the memory controller, it can retrieve the authorized access request from the authorized access request queue in the order in which each authorized access request was added to the authorized access request queue and send it. After the sending is completed, the authorized sending request that has been sent to the memory controller is removed from the authorized access request queue.
[0065] S205. Determine whether there are any unauthorized access requests for the target in the local area that are greater than or equal to a preset threshold. If yes, proceed to S206; otherwise, proceed to S207, where the row address of the unauthorized access request is the same as the target row address.
[0066] S206. Authorize each unauthorized access request to the target in the set order to obtain authorized access requests, and then execute S208.
[0067] In this embodiment, if there are a preset number of unauthorized access requests in the memory access management module whose target row address is the same as the target row address of the original access request, then both the original access request and the unauthorized access requests in the memory access management module whose target access address is the same as the target access address of the original access request can be identified as target access requests. Each target access request is then authorized sequentially. This increases the probability that multiple authorized access requests with the same target row address can be sent after one activation-precharge of the same bank, thereby further reducing the number of activation-precharge operations required during memory access. Here, the preset quantity threshold can be set as needed, such as an integer greater than or equal to 12; the authorization order can also be set as needed, such as randomly or according to the order of the receiving time of each target access request from earliest to latest. This embodiment does not impose any restrictions on this.
[0068] S207. After a preset time period, the original access request is authorized to obtain an authorized access request.
[0069] For example, while sending an authorized access request to the memory, the memory access management module can determine in real time whether the earliest unauthorized access request received among the unauthorized access requests (including the original access request) has been received for a preset time length since it was received. That is, it can determine whether the earliest received unauthorized access request has been in the memory access management module for a preset time length. If so, the earliest received unauthorized access request is authorized as an authorized access request; if not, the earliest received unauthorized access request is not authorized until it has been in the memory access management module for a preset time length or the earliest received unauthorized access request is determined to be the target unauthorized access request.
[0070] S208. Update the historical access record based on the authorized access address, and execute S201 or S209.
[0071] For example, when the memory access management module authorizes any unauthorized access request as an authorized access request, or when the memory access management module sends any authorized access request to the memory controller, if there is no historical access request in the historical access record whose historical channel number, historical pseudo-channel number, and historical bank address are the same as the target channel number, target pseudo-channel number, and target bank address of the authorized access request, a new record entry can be created in the historical access record. In this record entry, the target channel number, target pseudo-channel number, target bank address, and target line address of the authorized access record are recorded as indexes, and the target line address of the authorized access record is recorded as the value.
[0072] S209. Obtain a memory access bandwidth reduction instruction from the energy efficiency ratio controller, wherein the memory access bandwidth reduction instruction is generated when the energy efficiency ratio controller detects that the temperature control parameter of the memory is higher than the corresponding parameter threshold.
[0073] S210. Reduce the current access bandwidth to the memory to obtain a new access bandwidth.
[0074] S211. Send an access request to the memory based on the new access bandwidth, wherein the access request is an authorized access request.
[0075] The memory access method provided in this embodiment expands the memory address access and prioritizes granting access to original access requests that have historical access requests with the same historical row address as their target row address in the historical access record, and prioritizes granting access to unauthorized access requests and original access requests with the same target row address as their target row address that exist locally in the memory access management module in numbers greater than or equal to a preset threshold. This can further reduce the probability of needing to repeatedly activate and precharge the same bank during the access process, thereby reducing the power consumption and heat generated by the memory during the data access process, and further reducing the temperature of the memory and improving the energy efficiency ratio of the memory.
[0076] Figure 3 This is a flowchart illustrating another memory access method provided in one embodiment. The method can be executed by a memory access device, which can be implemented in software and / or hardware, and can be configured in a controller, typically an energy efficiency controller. This method is applicable to scenarios where memory access is managed. Figure 3 As shown, the memory access method provided in this embodiment includes the following steps:
[0077] S301, Obtain the temperature control parameters of the memory.
[0078] In this step, the memory is the controller used by the energy efficiency controller to manage its temperature; it can be any controller that needs to manage its temperature. Considering that HBMs are more prone to overheating, the memory is preferably a high-bandwidth memory (HBM) to further improve the energy efficiency controller's management of the memory's power consumption. The memory's temperature control parameters can be understood as parameters related to the memory's temperature, such as parameters that cause changes in the memory's temperature and / or parameters that characterize changes in the memory's temperature, etc. For example, the memory's temperature control parameters may include at least one of the memory's temperature, power consumption, and bandwidth.
[0079] In this embodiment, since the temperature data detected by the temperature sensor inside the memory can most intuitively and accurately represent the temperature change of the memory, the energy efficiency ratio controller can be directly connected to the memory to obtain the temperature data detected by the temperature sensor inside the memory as the temperature control parameter of the memory, and control the temperature of the memory based on the temperature control parameter.
[0080] However, due to the time delay in acquiring the memory temperature monitored by the internal temperature sensor, and a delay of 1 second potentially causing an error of more than 10 degrees Celsius, relying solely on the temperature data detected by the internal temperature sensor to manage the memory temperature inevitably leads to lag in temperature control due to the data transmission delay. Furthermore, considering that the power consumption and heat dissipation of the sensor affect its temperature, and that the power consumption is affected by, but not only by, the memory bandwidth, a preferred embodiment can, in this case, use an external temperature monitor to monitor the memory temperature, thereby reducing the time delay in acquiring the memory temperature and improving the timeliness of memory temperature control. It can further monitor the memory bandwidth using a bandwidth monitor and / or the memory power consumption using a power consumption monitor to improve the accuracy of the memory temperature control results. In this case, the memory temperature control parameters preferably include at least one of the following three parameters: memory temperature, power consumption, and bandwidth.
[0081] In the preferred embodiment described above, taking temperature control parameters including temperature, power consumption, and bandwidth as an example, the temperature monitor is connected to the IEEE 1500 interface of the memory, the power consumption monitor is connected to the power input terminal of the memory or to the power supply of the memory, the bandwidth monitor is connected to the path between the memory access management module and the memory, and the energy efficiency ratio controller is connected to the temperature monitor, power consumption monitor, bandwidth monitor, and memory access management module respectively. Thus, the temperature monitor periodically monitors the temperature of the memory according to a user-preset first monitoring cycle and sends it to the energy efficiency ratio controller; the power consumption monitor periodically monitors the power consumption of the memory according to a user-preset second monitoring cycle and sends it to the energy efficiency ratio controller; the bandwidth monitor periodically monitors the number of write commands and read / write data on the path between the memory access management module and the memory controller according to a third monitoring cycle, thereby determining the command rate and data rate within that monitoring cycle, and thus obtaining the memory bandwidth, which is then sent to the energy efficiency ratio controller; correspondingly, the energy efficiency ratio controller can receive the memory temperature sent by the temperature monitor, the memory power consumption sent by the power consumption monitor, and the memory bandwidth sent by the bandwidth monitor to obtain the temperature control parameters of the memory.
[0082] S302. If the temperature control parameter is higher than the corresponding parameter threshold, a memory access bandwidth reduction instruction is generated and sent to the memory access management module so as to control the memory access management module to reduce the memory access bandwidth through the memory access bandwidth reduction instruction.
[0083] In this step, when the temperature control parameter is higher than the corresponding parameter threshold, it means that the current temperature of the memory may be too high and the memory temperature needs to be reduced. Therefore, when the temperature control parameter of the memory is higher than the corresponding parameter threshold, a memory access bandwidth reduction instruction can be generated and sent to the memory access management module. The memory access management module then reduces the memory access bandwidth according to the memory access bandwidth reduction instruction, thereby reducing the memory bandwidth, reducing the power consumption of the memory, and thus reducing the temperature of the memory. Furthermore, the memory can operate with the required bandwidth at a lower power consumption, improving the energy efficiency ratio of the memory.
[0084] In this embodiment, the method for determining whether a temperature control parameter is higher than its corresponding threshold can be set as needed. For example, when the temperature control parameters of the memory include only one parameter item, the memory's temperature control parameter is determined to be higher than the corresponding threshold when that parameter item is higher than its corresponding threshold. When the temperature control parameters of the memory include multiple parameter items, such as when the memory's temperature control parameters include at least two of the following: temperature, power consumption, and bandwidth, the memory can be determined to be higher than the corresponding threshold when at least one of the included parameter items is higher than its corresponding threshold; alternatively, the memory's temperature control parameter can be determined to be higher than the corresponding threshold only when all included parameter items are higher than their respective thresholds. This embodiment does not perform this determination.
[0085] To further improve the timeliness of memory temperature control, preferably, this embodiment determines that the memory temperature control parameter is higher than the corresponding parameter threshold when there is a parameter in the memory temperature control parameters that is higher than the corresponding parameter threshold. In this case, the temperature control parameter may include three parameters: temperature, power consumption, and bandwidth. If the temperature control parameter is higher than the corresponding parameter threshold, a memory access bandwidth reduction instruction is generated, including: if there is an abnormal parameter in the temperature control parameter that is higher than the corresponding threshold, then a memory access bandwidth reduction instruction is generated and sent to the memory access management module. The temperature threshold, power consumption threshold, and bandwidth threshold can be flexibly set by the user as needed.
[0086] In this embodiment, the energy efficiency ratio controller can control the memory access management module to reduce the memory bandwidth once when it receives a parameter item that exceeds the corresponding parameter threshold; alternatively, for the obtained memory bandwidth and the memory temperature and power consumption at that bandwidth, regardless of whether there is one or more abnormal parameter items exceeding the corresponding parameter threshold, the memory bandwidth is reduced only once to avoid excessive reduction in memory bandwidth. In this case, preferably, before generating the memory access bandwidth reduction instruction, the method further includes: determining that the abnormal parameter item is the first abnormal parameter item obtained under the corresponding target bandwidth. The following explanation uses this case as an example.
[0087] In one implementation, determining the abnormal parameter item as the first abnormal parameter item acquired under the corresponding target bandwidth includes: determining the bandwidth whose acquired detection time is closest to the detection time of the abnormal parameter item as the target bandwidth corresponding to the abnormal parameter item; if there is no corresponding memory access bandwidth reduction instruction for the target bandwidth, then determining the abnormal parameter item as the first abnormal parameter item acquired under the target bandwidth; after sending the memory access bandwidth reduction instruction to the memory access management module, the method further includes: correspondingly recording the target bandwidth and the memory access bandwidth reduction instruction.
[0088] In the above embodiment, the energy efficiency ratio controller receives the memory temperature from the temperature monitor, the memory power consumption from the power consumption monitor, and the memory bandwidth from the bandwidth monitor. When it receives any one of the parameters (temperature, power consumption, and bandwidth), it determines whether the parameter is an abnormal parameter that exceeds the corresponding parameter threshold. If not, it continues to receive the aforementioned parameters. If yes, it continues to receive the aforementioned parameters and, among the bandwidths already received by the energy efficiency ratio controller, determines the bandwidth whose detection time is closest to the detection time of the abnormal parameter as the target bandwidth corresponding to the abnormal parameter. It then determines whether there is a corresponding memory access bandwidth reduction instruction for the target bandwidth. If yes, it means that the energy efficiency ratio controller has already sent a memory access bandwidth reduction instruction under the target bandwidth, and the memory parameter may have changed after the bandwidth reduction. Therefore, in this case, it is not necessary to generate and send a memory access bandwidth reduction instruction again. If no, it means that the energy efficiency ratio controller has not yet sent a memory access bandwidth reduction instruction for this bandwidth. In this case, a memory access bandwidth reduction instruction can be generated and sent to the memory access management module to instruct the memory access management module to reduce the memory access bandwidth.
[0089] The memory access method provided in this embodiment obtains the memory's temperature control parameters. When these parameters exceed a corresponding threshold, a memory access management module generates and sends a memory access bandwidth reduction instruction to instruct the memory management module to reduce the memory's access bandwidth. By employing the above technical solution, this embodiment can reduce the memory temperature when it is high, preventing overheating and extending the memory's lifespan. Furthermore, by reducing the memory temperature through lower access bandwidth, the memory can operate with the required bandwidth at lower power consumption, improving its energy efficiency.
[0090] Figure 4 This is a structural block diagram of a memory access device provided in an embodiment of this application. Figure 4As shown, the device includes an instruction acquisition unit 401, a bandwidth reduction unit 402, and a request sending unit 403.
[0091] The instruction acquisition unit 401 is configured to acquire a memory access bandwidth reduction instruction from the energy efficiency ratio controller, the memory access bandwidth reduction instruction being generated when the energy efficiency ratio controller detects that the temperature control parameter of the memory is higher than the corresponding parameter threshold;
[0092] The bandwidth reduction unit 402 is configured to reduce the current access bandwidth to the memory to obtain a new access bandwidth;
[0093] The request sending unit 403 is configured to send an access request to the memory based on the new access bandwidth.
[0094] The memory access device provided in this embodiment obtains a memory access bandwidth reduction instruction generated by the energy efficiency ratio controller when the temperature control parameter of the memory is detected to be higher than the corresponding parameter threshold through an instruction acquisition unit. The bandwidth reduction unit then reduces the current access bandwidth of the memory to obtain a new access bandwidth, and the request sending unit sends an access request to the memory according to the new access bandwidth. By adopting the above technical solution, this embodiment can avoid the temperature controller overheating and allows the memory to operate with the required bandwidth at a lower power consumption, thereby improving the energy efficiency ratio of the memory.
[0095] In one exemplary implementation, reducing the current access bandwidth of the memory includes:
[0096] Reduce the current access bandwidth of the memory by a preset bandwidth step.
[0097] In one exemplary embodiment, the access request is an authorized access request, and the memory access device further includes:
[0098] The authorization unit is configured to authorize the received original access request according to a preset authorization rule before sending the access request to the memory based on the new access bandwidth, thereby obtaining an authorized access request.
[0099] In one exemplary implementation, the authorization unit is configured as follows:
[0100] When a raw access request is received from a host, the raw access address carried in the raw access request is mapped to a target access address, which includes a target row address, a target column address, a target channel number, a target pseudo channel number, and a target bank address.
[0101] If a first historical access request exists in the historical access record of the memory, the original access request is directly authorized to obtain an authorized access request. The historical row address of the first historical access request is the same as the target row address. The historical access record is set to record the historical access request of the last transmission of each bank.
[0102] In one exemplary embodiment, the authorization unit is further configured as follows:
[0103] If there is no first historical access request in the historical access record of the memory, then it is determined whether there is a second historical access request in the historical access record, wherein the historical channel number of the second historical access request is the same as the target channel number, the historical pseudo channel number of the second historical access request is the same as the target pseudo channel number, and the historical bank address of the second historical access request is the same as the target bank address;
[0104] If there is no second historical access request in the historical access record, then the original access request is authorized to obtain an authorized access request.
[0105] In one exemplary embodiment, the authorization unit is further configured as follows:
[0106] If a second historical access request exists in the historical access record, it is determined whether there are target unauthorized access requests in the local area with a number greater than or equal to a preset number threshold. If so, each target unauthorized access request is authorized in sequence according to a set order to obtain an authorized access request. If not, after a preset time length, the original access request is authorized to obtain an authorized access request. The row address of the target unauthorized access request is the same as the target row address.
[0107] In one exemplary embodiment, the memory access device further includes:
[0108] The record update unit is configured to update the historical access record based on the access address of the authorized access after the authorized access request is received.
[0109] The above-described apparatus is used to execute the method provided in the above embodiments, and has corresponding functional modules and corresponding technical effects.
[0110] Figure 5 This is a structural block diagram of a memory access device provided in an embodiment of this application. Figure 5 As shown, the device includes a parameter acquisition unit 501 and an instruction sending unit 502.
[0111] The parameter acquisition unit 501 is configured to acquire the temperature control parameters of the memory;
[0112] The instruction sending unit 502 is configured to generate a memory access bandwidth reduction instruction when the temperature control parameter is higher than the corresponding parameter threshold, and send the memory access bandwidth reduction instruction to the memory access management module so as to control the memory access management module to reduce the access bandwidth of the memory through the memory access bandwidth reduction instruction.
[0113] The memory access device provided in this embodiment acquires the memory's temperature control parameters through a parameter acquisition unit, and generates and sends a memory access bandwidth reduction command to the memory access management module when the temperature control parameters exceed a corresponding parameter threshold, instructing the memory management module to reduce the memory's access bandwidth. By employing the above technical solution, this embodiment can reduce the memory temperature when it is high, preventing overheating and extending the memory's lifespan. Furthermore, by reducing the memory temperature through lower access bandwidth, the memory can operate with the required bandwidth at lower power consumption, improving the memory's energy efficiency ratio.
[0114] In one exemplary embodiment, the temperature control parameters include three parameters: temperature, power consumption, and bandwidth. The instruction sending unit 502 is configured as follows:
[0115] If there is an abnormal parameter in the temperature control parameters that is higher than the corresponding threshold, a memory access bandwidth reduction instruction is generated and sent to the memory access management module.
[0116] In one exemplary embodiment, the instruction sending unit 502 is further configured to:
[0117] Before generating the memory access bandwidth reduction instruction, the abnormal parameter item is determined to be the first abnormal parameter item obtained under the corresponding target bandwidth.
[0118] In one exemplary implementation, determining that the abnormal parameter item is the first abnormal parameter item obtained under the corresponding target bandwidth includes:
[0119] The bandwidth whose detection time is closest to the detection time of the abnormal parameter item is determined as the target bandwidth corresponding to the abnormal parameter item;
[0120] If there is no corresponding memory access bandwidth reduction instruction for the target bandwidth, then the abnormal parameter item is determined to be the first abnormal parameter item obtained under the target bandwidth;
[0121] After sending the memory access bandwidth reduction instruction to the memory access management module, the method further includes:
[0122] The corresponding target bandwidth and memory access bandwidth reduction instructions are recorded.
[0123] The above-described apparatus is used to execute the method provided in the above embodiments, and has corresponding functional modules and corresponding technical effects.
[0124] This application also provides a memory access management module. Figure 6 This is a schematic diagram of the structure of a memory access management module provided in an embodiment of this application, such as... Figure 6 As shown, the memory access management module includes a processing device 61 and a storage device 62; the number of processing devices 61 in the memory access management module can be one or more. Figure 6 Taking a processing device 61 as an example; the processing device 61 and the storage device 62 in the memory access management module can be connected via a bus or other means. Figure 6 Taking the example of a connection between China and Israel via a bus.
[0125] Storage device 62, as a computer-readable storage medium, can be used to store software programs, computer-executable programs, and modules, such as the program instructions / modules corresponding to the memory access method in the embodiments of this application. Processing device 61 executes various functional applications and data processing of the memory access management module by running the software programs, instructions, and modules stored in storage device 62, thereby implementing the above-mentioned message forwarding method.
[0126] Storage device 62 may primarily include a program storage area and a data storage area. The program storage area may store the operating system and at least one application program required for a given function; the data storage area may store data created based on terminal usage. Furthermore, storage device 62 may include high-speed random access memory and non-volatile memory, such as at least one disk storage device, flash memory, or other non-volatile solid-state storage device. In some examples, storage device 62 may further include memory remotely located relative to processing device 61, which can be connected to a memory access management module via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0127] This application also provides an energy efficiency ratio controller. Figure 7 This is a schematic diagram of the structure of an energy efficiency ratio controller provided in an embodiment of this application, as shown below. Figure 7 As shown, the energy efficiency ratio controller includes a processing unit 71 and a storage unit 72; the number of processing units 71 in the energy efficiency ratio controller can be one or more. Figure 7Taking a processing device 71 as an example; the processing device 71 and the storage device 72 in the energy efficiency ratio controller can be connected via a bus or other means. Figure 7 Taking the example of a connection between China and Israel via a bus.
[0128] Storage device 72, as a computer-readable storage medium, can be used to store software programs, computer-executable programs, and modules, such as the program instructions / modules corresponding to the memory access method in the embodiments of this application. Processing device 71 executes various functional applications and data processing of the energy efficiency ratio controller by running the software programs, instructions, and modules stored in storage device 72, thereby realizing the above-mentioned message forwarding method.
[0129] Storage device 72 may primarily include a program storage area and a data storage area. The program storage area may store the operating system and at least one application program required for a function; the data storage area may store data created based on terminal usage. Furthermore, storage device 72 may include high-speed random access memory and non-volatile memory, such as at least one disk storage device, flash memory device, or other non-volatile solid-state storage device. In some examples, storage device 72 may further include memory remotely located relative to processing device 71, which can be connected to an energy efficiency ratio controller via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0130] This application also provides a memory access system. Figure 8 This is a schematic diagram of a memory access system provided in an embodiment of this application. Figure 8 As shown, the system includes a memory access management module 1 and an energy efficiency ratio controller 2 as provided in this embodiment, and also includes a temperature monitor 3, a power consumption monitor 4, and a bandwidth monitor 5.
[0131] The temperature monitor 3 is connected to the memory 6 and the energy efficiency ratio controller 2 respectively, and is set to monitor the temperature of the memory according to the first monitoring cycle, and send the monitored temperature to the energy efficiency ratio controller 2.
[0132] The power consumption monitor 4 is connected to the memory 6 and the energy efficiency ratio controller 2 respectively, and is configured to monitor the power consumption of the memory according to the second monitoring cycle, and send the monitored power consumption to the energy efficiency ratio controller 2;
[0133] The bandwidth monitor 5 is connected to the memory access management module 1, the memory controller 7 connected to the memory 6, and the energy efficiency ratio controller 2, respectively. It is configured to monitor the bandwidth of the memory according to the third monitoring cycle and send the monitored bandwidth to the energy efficiency ratio controller 2.
[0134] The energy efficiency ratio controller 2 is connected to the memory access management module 1 and is configured to acquire the temperature control parameters of the memory, including temperature, power consumption and bandwidth. If the temperature control parameters are higher than the corresponding parameter threshold, a memory access bandwidth reduction instruction is generated and sent to the memory access management module 1 so as to control the memory access management module 1 to reduce the access bandwidth of the memory 6 through the memory access bandwidth reduction instruction.
[0135] The memory access management module 1 is connected to the host 8 and the memory controller 7 respectively. It is configured to obtain a memory access bandwidth reduction instruction from the energy efficiency ratio controller 2. The memory access bandwidth reduction instruction is generated when the energy efficiency ratio controller 2 detects that the temperature control parameter of the memory 6 is higher than the corresponding parameter threshold; reduce the current access bandwidth of the memory 6 to obtain a new access bandwidth; and send an access request to the memory 6 according to the new access bandwidth.
[0136] The memory access system provided in this embodiment is used to execute the methods provided in the above embodiments, and has corresponding functional modules and corresponding technical effects.
[0137] This application also provides a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform a memory access method.
[0138] Based on the above description of the implementation methods, those skilled in the art will understand that this application can be implemented using software and general-purpose hardware, or it can be implemented using hardware. Based on this understanding, the technical solution of this application can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as a computer floppy disk, read-only memory (ROM), random access memory (RAM), flash memory, hard disk, or optical disk, etc., including multiple instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in any embodiment of this application.
[0139] The above description is merely an exemplary embodiment of this application and is not intended to limit the scope of protection of this application.
[0140] Any block diagram of logical flow in the accompanying drawings of this application may represent program steps, or may represent interconnected logic circuits, modules, and functions, or may represent a combination of program steps and logic circuits, modules, and functions. The computer program may be stored on memory. The memory may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as, but not limited to, read-only memory (ROM), random access memory (RAM), optical storage devices and systems (Digital Multifunction Discs, DVDs, or CDs), etc. Computer-readable media may include non-transitory storage media. The data processor may be of any type suitable to the local technical environment, such as, but not limited to, general-purpose computers, special-purpose computers, microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), programmable logic devices (FGPAs), and processors based on multi-core processor architectures.
[0141] A detailed description of exemplary embodiments of this application has been provided above through exemplary and non-limiting examples. However, various modifications and adjustments to the above embodiments will be apparent to those skilled in the art when considered in conjunction with the accompanying drawings and claims, without departing from the scope of this application. Therefore, the proper scope of this application will be determined by the claims.
Claims
1. A method of accessing a memory, characterized by, The method comprises the following steps: obtaining a memory access bandwidth reduction instruction from an energy efficiency ratio controller, the memory access bandwidth reduction instruction being generated when the energy efficiency ratio controller monitors that a temperature control parameter of a memory is higher than a corresponding parameter threshold value; reducing a current access bandwidth for accessing the memory to obtain a new access bandwidth; sending an access request to the memory according to the new access bandwidth; wherein the access request is an authorized access request, and independent storage spaces of each pseudo channel of the memory are connected to integrate into a complete and continuous storage space; before the step of sending the access request to the memory according to the new access bandwidth, the method further comprises the following steps: when an original access request sent by a host is received, mapping an original access address carried in the original access request into a target access address, the target access address comprising a target row address, a target column address, a target channel number, a target pseudo channel number and a target bank address; if a first historical access request exists in a historical access record of the memory, the original access request is authorized to obtain an authorized access request, the first historical access request having a same historical row address as the target row address, and the historical access record being set to record a last historical access request transmitted by each bank; the step of sending the access request to the memory according to the new access bandwidth comprises the following step: selecting a number of access requests corresponding to the new access bandwidth according to an authorization order of each authorized access request and sending the access requests to the memory.
2. The method of claim 1, wherein, the step of reducing the current access bandwidth for accessing the memory comprises the following step: reducing the current access bandwidth of the memory by a preset bandwidth step.
3. The method of claim 1, wherein, The method further comprises the following steps: if the first historical access request does not exist in the historical access record of the memory, determining whether a second historical access request exists in the historical access record, the second historical access request having a same historical channel number as the target channel number, a same historical pseudo channel number as the target pseudo channel number and a same historical bank address as the target bank address; if the second historical access request does not exist in the historical access record, the original access request is authorized to obtain an authorized access request.
4. The method of claim 3, wherein, The method further comprises the following steps: if the second historical access request exists in the historical access record, determining whether a number of target unauthorized access requests greater than or equal to a preset number threshold value exist locally, if yes, each target unauthorized access request is authorized in a set order to obtain an authorized access request, and if no, the original access request is authorized to obtain an authorized access request after a preset time length, the target unauthorized access request having a same row address as the target row address.
5. The method according to any of claims 1 to 4, characterized in that, after the step of obtaining the authorized access request, the method further comprises the following step: updating the historical access record based on an access address of the authorized access.
6. A memory access method applied to a PRC, characterized by, The method further comprises the following steps: obtaining a temperature control parameter of a memory; If the temperature control parameter is higher than the corresponding parameter threshold, a memory access bandwidth reduction instruction is generated and sent to a memory access management module to control the memory access management module to reduce the access bandwidth of the memory from a current access bandwidth to a new access bandwidth by the memory access bandwidth reduction instruction, and select a number of access requests corresponding to the new access bandwidth according to the authorization order of each authorized access request and send them to the memory, wherein each pseudo channel of the memory is connected to form a complete and continuous storage space; when receiving an original access request sent by a host, the memory access management module maps an original access address carried in the original access request to a target access address; if there is a first historical access request in the historical access record of the memory, the memory access management module authorizes the original access request to obtain an authorized access request, the target access address includes a target row address, a target column address, a target channel number, a target pseudo channel number and a target bank address, the historical row address of the first historical access request is the same as the target row address, and the historical access record is set to record the last transmission of the historical access request.
7. The method of claim 6, wherein, The temperature control parameter includes three parameter items of temperature, power consumption and bandwidth, and if the temperature control parameter is higher than the corresponding parameter threshold, a memory access bandwidth reduction instruction is generated, which includes: If there is an abnormal parameter item higher than the corresponding threshold in the temperature control parameter, a memory access bandwidth reduction instruction is generated.
8. The method of claim 7, wherein, Before the memory access bandwidth reduction instruction is generated, it further includes: Determine that the abnormal parameter item is the first abnormal parameter item obtained at the corresponding target bandwidth.
9. The method of claim 8, wherein, The determination that the abnormal parameter item is the first abnormal parameter item obtained at the corresponding target bandwidth includes: Determine the target bandwidth corresponding to the abnormal parameter item as the bandwidth closest to the detection time of the abnormal parameter item; If the target bandwidth does not have a corresponding memory access bandwidth reduction instruction, determine that the abnormal parameter item is the first abnormal parameter item obtained at the target bandwidth; After the memory access bandwidth reduction instruction is sent to the memory access management module, it further includes: Corresponding to record the target bandwidth and the memory access bandwidth reduction instruction.
10. A memory access management module, comprising: The memory access management module includes a storage device, a processing device, a program stored on the storage device and executable on the processing device, and a data bus for realizing the connection communication between the processing device and the storage device, and the program is executed by the processing device to realize the method of any one of claims 1-5.
11. An energy efficiency ratio controller, characterized by, The energy efficiency ratio controller includes a storage device, a processing device, a program stored on the storage device and executable on the processing device, and a data bus for realizing the connection communication between the processing device and the storage device, and the program is executed by the processing device to realize the method of any one of claims 6-9.
12. A memory access system, characterized by, The memory access management module and the energy efficiency ratio controller further comprise a temperature monitor, a power consumption monitor and a bandwidth monitor, The temperature monitor is connected to the memory and the energy efficiency ratio controller respectively, and is configured to monitor the temperature of the memory according to a first monitoring period, and send the monitored temperature to the energy efficiency ratio controller; The power consumption monitor is connected to the memory and the energy efficiency ratio controller respectively, and is configured to monitor the power consumption of the memory according to a second monitoring period, and send the monitored power consumption to the energy efficiency ratio controller; The bandwidth monitor is connected to the memory access management module, a memory controller connected to the memory and the energy efficiency ratio controller respectively, and is configured to monitor the bandwidth of the memory according to a third monitoring period, and send the monitored bandwidth to the energy efficiency ratio controller; The energy efficiency ratio controller is connected to the memory access management module, and is configured to obtain temperature control parameters of the memory, the temperature control parameters comprising temperature, power consumption and bandwidth; if the temperature control parameters are higher than corresponding parameter thresholds, generate a memory access bandwidth reduction instruction, and send the memory access bandwidth reduction instruction to the memory access management module, so as to control the memory access management module to reduce the access bandwidth of the memory according to the memory access bandwidth reduction instruction; The memory access management module is connected to the host and the memory controller respectively, and is configured to obtain the memory access bandwidth reduction instruction from the energy efficiency ratio controller, the memory access bandwidth reduction instruction being generated when the energy efficiency ratio controller monitors that the temperature control parameters of the memory are higher than corresponding parameter thresholds; reduce the current access bandwidth of the memory to obtain a new access bandwidth; and send an access request to the memory according to the new access bandwidth.
13. A computer-readable storage medium, characterized in that, The storage medium stores one or more programs, and the one or more programs are executable by one or more processors to implement the method in any one of claims 1-9.
Citation Information
Patent Citations
High-temperature protecting method of solid hard disk
CN108052292A
Bandwidth control method and device and storage medium
CN110764715A
High reliability solid state hard drives
CN207690062U