CN114167972A - Memory access method, module, controller, system and medium - Google Patents

Memory access method, module, controller, system and medium Download PDF

Info

Publication number
CN114167972A
CN114167972A CN202010850808.4A CN202010850808A CN114167972A CN 114167972 A CN114167972 A CN 114167972A CN 202010850808 A CN202010850808 A CN 202010850808A CN 114167972 A CN114167972 A CN 114167972A
Authority
CN
China
Prior art keywords
memory
access
bandwidth
access request
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010850808.4A
Other languages
Chinese (zh)
Inventor
王建敏
刘衡祁
徐金林
陈昌胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanechips Technology Co Ltd
Original Assignee
Sanechips Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanechips Technology Co Ltd filed Critical Sanechips Technology Co Ltd
Priority to CN202010850808.4A priority Critical patent/CN114167972A/en
Priority to PCT/CN2021/112969 priority patent/WO2022037565A1/en
Publication of CN114167972A publication Critical patent/CN114167972A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The embodiment of the application provides a memory access method, a module, a controller, a system and a medium. The method comprises the following steps: acquiring a memory access bandwidth reduction instruction from an energy efficiency ratio controller, wherein the memory access bandwidth reduction instruction is 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 the current access bandwidth for accessing the memory to obtain a new access bandwidth; and sending an access request to the memory according to the new access bandwidth. By adopting the above implementation mode, the embodiment of the application can avoid the situation that the temperature of the thermometer is too high, and can enable the memory to operate the required bandwidth with smaller power consumption, thereby improving the energy efficiency ratio of the memory.

Description

Memory access method, module, controller, system and medium
Technical Field
The embodiments of the present application relate to the field of storage technologies, and in particular, to a method, a module, a controller, a system, and a medium for accessing a memory.
Background
A High Bandwidth Memory (HBM) has been developed in recent years, and is mainly applied to fields with High demand for Bandwidth, such as data centers and artificial intelligence. The HBM generally reduces the complexity and cost of the single board design by sharing a substrate with a main logic function chip and packaging the same, and implements a higher data read-write transmission bandwidth through a large number of Input/Output (I/O) bit widths; the attaching area of the storage medium to the printed circuit board is reduced by stacking a plurality of storage media in a vertical direction. However, the encapsulation process with the main logic function chip, the large number of IO bit widths, and the stacking of the storage medium may increase the temperature of the HBM itself, resulting in a decrease in the read/write reliability of the HBM.
Disclosure of Invention
The embodiment of the application provides an access method, a module, a controller, a system and a medium of a memory, so as to reduce the working temperature of the memory and further prolong the service life of the memory.
In a first aspect, an embodiment of the present application provides a method for accessing a memory, including:
acquiring a memory access bandwidth reduction instruction from an energy efficiency ratio controller, wherein the memory access bandwidth reduction instruction is 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 the current access bandwidth for accessing the memory to obtain a new access bandwidth;
and sending an access request to the memory according to the new access bandwidth.
In a second aspect, an embodiment of the present application provides another memory access method, including:
acquiring temperature control parameters of a memory;
and if the temperature control parameter is higher than the corresponding parameter threshold value, generating a memory access bandwidth reduction instruction, and sending the memory access bandwidth reduction instruction to a 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.
In a third aspect, an embodiment of the present application provides a memory access management module, where the memory access management module includes a storage device, a processing device, a program stored on the storage device and operable on the processing device, and a data bus for implementing connection communication between the processing device and the storage device, where the program, when executed by the processing device, implements the method provided in the embodiment of the present application.
In a fourth aspect, the present application provides an energy efficiency ratio controller, where the energy efficiency ratio controller includes a storage device, a processing device, a program stored on the storage device and operable on the processing device, and a data bus for implementing connection communication between the processing device and the storage device, and the program implements the method provided by the present application when executed by the processing device.
In a fifth aspect, an embodiment of the present application provides a memory access system, including a memory access management module provided in an embodiment of the present application, and an energy efficiency ratio controller, further including a bandwidth monitor, a temperature monitor, and a power consumption monitor,
the temperature monitor is respectively connected with the memory and the energy efficiency ratio controller, is set to monitor the temperature of the memory according to a first monitoring period, and sends the monitored temperature to the energy efficiency ratio controller;
the power consumption monitor is respectively connected with the memory and the energy efficiency ratio controller, is set to monitor the power consumption of the memory according to a second monitoring period, and sends the monitored power consumption to the energy efficiency ratio controller;
the bandwidth monitor is respectively connected with the memory access management module, a memory controller connected with a memory and the energy efficiency ratio controller, 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 with the controller access management module and is set to acquire the temperature control parameters of the memory; if the temperature control parameter is higher than the corresponding parameter threshold value, generating a memory access bandwidth reduction instruction, and sending the memory access bandwidth reduction instruction to a 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;
the memory access management module is respectively connected with the host and the memory controller and is configured to acquire 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 monitors that the temperature control parameter of the memory is higher than a corresponding parameter threshold value; reducing the current access bandwidth for accessing the memory to obtain a new access bandwidth; and sending an access request to the memory according to the new access bandwidth.
In a sixth aspect, this application further provides a computer-readable storage medium storing one or more programs, where the one or more programs are executable by one or more processors to implement the method provided by this application.
According to the memory access method, the memory access module, the controller, the system and the medium, the energy efficiency ratio controller obtains the temperature control parameter of the memory, generates the memory access bandwidth reducing instruction when the temperature control parameter is larger than the corresponding parameter threshold value, and sends the memory access bandwidth reducing instruction to the memory access management module; correspondingly, the memory access management module obtains an access bandwidth reduction instruction sent by the energy efficiency ratio controller, reduces the current access bandwidth of the access memory to obtain a new access bandwidth, and sends an access request to the memory according to the new access bandwidth. By adopting the technical scheme, the temperature of the thermometer can be prevented from being too high, the bandwidth required by the memory to operate with smaller power consumption can be ensured, and the energy efficiency ratio of the memory is improved.
Drawings
Fig. 1 is a flowchart of a method for accessing a memory according to an embodiment of the present disclosure;
FIG. 2a is a flow chart of another memory access method according to an embodiment of the present disclosure;
FIG. 2b is a schematic diagram of an extended address provided in an embodiment of the present application;
fig. 2c is a schematic diagram of an address arrangement manner provided in the embodiment of the present application;
FIG. 2d is a schematic diagram of a history access record provided by an embodiment of the present application;
FIG. 3 is a flowchart illustrating a third method for accessing a memory according to an embodiment of the present disclosure;
fig. 4 is a block diagram illustrating a structure of an access apparatus for a memory according to an embodiment of the present disclosure;
FIG. 5 is a block diagram of another memory access device according to an embodiment of the present disclosure;
FIG. 6 is a block diagram illustrating a memory access management module according to an embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of an energy efficiency ratio controller according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of a memory access system according to an embodiment of the present application;
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
Fig. 1 is a flowchart of a method for accessing a memory according to an embodiment. The method may be performed by a memory access device, which may be implemented by software and/or hardware, and may be configured in a control chip, typically a memory access management control module. The method may be applied in scenarios where memory access is managed. As shown in fig. 1, the method for accessing a memory provided in this embodiment includes the following steps:
s101, a memory access bandwidth reduction instruction from an energy efficiency ratio controller is obtained, and the memory access bandwidth reduction instruction is generated when the energy efficiency ratio controller monitors that a temperature control parameter of a memory is higher than a corresponding parameter threshold value.
In this step, the memory access bandwidth reduction instruction may be understood as a control instruction for reducing the current access bandwidth of the memory managed by the memory access management control module, and may be generated by the energy efficiency ratio controller when the temperature control parameter of the memory is higher than the preset parameter threshold and sent to the memory access management module; the temperature control parameter of the memory may be understood as a parameter for monitoring the temperature of the memory, which includes at least one of the temperature, power consumption and bandwidth of the memory, and preferably may include the temperature, power consumption and bandwidth of the memory, so as to further improve the accuracy of monitoring the temperature of the memory, which is exemplified below.
In this embodiment, when at least one of the three parameter items of the temperature, the power consumption and the bandwidth of the memory is greater than the corresponding parameter threshold value, the energy efficiency ratio controller generates a memory access bandwidth controller and sends the access bandwidth controller to the memory access management module; accordingly, the memory access management module receives the memory access bandwidth reduction instruction sent by the energy efficiency ratio controller.
S102, reducing the current access bandwidth for accessing the memory to obtain a new access bandwidth.
In this embodiment, the current access bandwidth of the memory may be understood as a bandwidth at which the memory access management module sends an access request to the memory at the current time, that is, the memory access management module forwards, in a unit time, the number of read/write commands and write data sent by the host to the memory controller connected to the memory; the new access bandwidth can be understood as the access bandwidth obtained after the current access bandwidth is reduced. The current access bandwidth of the memory may be reduced according to a requirement, for example, the current access bandwidth of the memory may be reduced by a set bandwidth step, by a set proportion, or by a set bandwidth value, and the like, which is not limited in this embodiment.
In an exemplary embodiment, each time a memory access bandwidth reduction instruction sent by an energy efficiency ratio controller is received, a memory access management module may reduce a current access bandwidth of a memory by a preset bandwidth step, and further reduce a bandwidth of the memory at a current time by the preset bandwidth step, so as to avoid a situation that an access rate of the memory is too slow due to an excessively large bandwidth reduction of the memory, at this time, preferably, the reducing the current access bandwidth of the memory includes: and reducing the current access bandwidth of the memory by a preset bandwidth step. Here, the preset bandwidth step may be set as needed, for example, the preset bandwidth offset may be set to 1MB, 2MB, or other bandwidth values.
Illustratively, when receiving a memory access bandwidth reduction instruction sent by the energy efficiency ratio controller, the memory access management module obtains a current access bandwidth of the memory, and calculates a difference between the current access bandwidth and a preset bandwidth step size to obtain a new access bandwidth.
In the above embodiment, when the memory access bandwidth reduction command transmitted from the energy efficiency ratio controller is not received again, the new access bandwidth may be a fixed value or a non-fixed value. For example, after the difference between the current access bandwidth and the preset bandwidth step is obtained through calculation, the number of read data sent from the memory to the host in unit time is not considered, that is, the response bandwidth occupied by the memory controller for forwarding the read data of the memory to the memory access management module is not considered, the difference is directly used as a new access bandwidth, and an access request is sent to the memory according to the new access bandwidth until a memory access bandwidth reduction instruction sent by the energy efficiency ratio controller is received again; the amount of read data sent by the memory to the host per unit time, i.e. the response bandwidth occupied by the memory controller forwarding the read data of the memory to the memory access management module, when a memory access bandwidth reduction instruction sent by the energy efficiency ratio controller is received, the current access bandwidth of the memory is directly reduced by a preset bandwidth step length to obtain a new access bandwidth, to reduce the bandwidth of the memory at the current moment (including the access bandwidth and the response bandwidth) by a preset bandwidth step size, to obtain a new bandwidth, and correspondingly adjusting the value of the new access bandwidth in real time according to the change of the response bandwidth of the memory in the subsequent process of sending the access request to the memory according to the new access bandwidth, the bandwidth of the memory (namely the sum of the access bandwidth and the response bandwidth) is ensured to be the new bandwidth until the memory access bandwidth reduction instruction sent by the energy efficiency ratio controller is received again.
S103, sending an access request to the memory according to the new access bandwidth.
Illustratively, the memory access management module is respectively connected with the host, the energy efficiency ratio controller and the memory controller, the memory controller is connected with the memory, and 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 command and the received write data to the memory controller according to the new access bandwidth, namely, sends the read-write command and the received write data to the memory controller according to the number of the read-write command and the write data sent in the unit time corresponding to the new access bandwidth. Thus, the memory controller converts the read-write command and the write data transmitted by the memory access management module into a write command and write data and/or a read command that can be recognized by the memory, and transmits them to the memory. And then, the memory writes corresponding write data into corresponding storage units in the memory according to the received recognizable write command, and acquires corresponding read data from the corresponding storage units in the memory according to the received recognizable read command and sends the read data to the memory controller, so that the read data is sent to the host through the memory controller and the memory access management module in sequence. Here, the access request may include a read-write command and write data transmitted by the host.
It is to be understood that the new access bandwidth may be the highest access bandwidth of the memory when the memory access bandwidth reduction instruction sent by the energy efficiency ratio controller is not received again, that is, when the rate at which the host sends the access request 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 may send the access request to the memory controller at the new access bandwidth; when the rate of sending the access request to the memory access management module by the host is less than the rate corresponding to the new access bandwidth, the memory access management module may send the access request to the memory controller at the bandwidth corresponding to the rate of sending the access request by the host, that is, the memory access management module may send the access request to the memory at an access bandwidth less than the new access bandwidth.
In a preferred embodiment, before sending the access request to the memory according to the new access bandwidth, the method further includes: and authorizing the received original access request according to a preset authorization rule to obtain an authorized access request.
Because the activation-precharge mechanism of the memory enables the memory to access the memory in the same bank, each time the accessed row is replaced, an activation-precharge operation needs to be performed, therefore, in the above embodiment, the memory access management module may also authorize the received original access request according to a preset authorization rule, for example, may preferentially authorize the row address that has been activated-precharged for accessing the corresponding bank, preferentially authorize the original access requests that have been present in the memory access management module and have reached a preset number of the same row address and/or preferentially authorize the original access requests that have no access records, and so on, so as to change the order in which the original access requests are sent to the memory by an authorization manner, so that the original access records that access the same row address are sent to the memory at a time interval as short as possible for accessing, the frequency of activating-precharging in the access process of the memory is reduced, so that the power consumption and the heat generation caused by frequent activating-precharging of the memory are reduced, and the energy efficiency ratio of the memory is further improved on the premise of avoiding overhigh temperature of the memory. At this time, correspondingly, in each unit time, the memory access management module may select, according to the authorization sequence of each authorized access request, the number of access requests corresponding to the new access bandwidth to send to the memory controller, so as to send the access requests to the memory through the memory controller.
In the memory access method provided by this embodiment, a memory access bandwidth reduction instruction generated when the energy efficiency ratio controller monitors that the temperature control parameter of the memory is higher than the corresponding parameter threshold is obtained, the current access bandwidth for accessing the memory is reduced, a new access bandwidth is obtained, and an access request is sent to the memory according to the new access bandwidth. By adopting the technical scheme, the situation that the temperature of the thermometer is too high can be avoided, the memory can operate at a bandwidth required by low power consumption, and the energy efficiency ratio of the memory is improved.
FIG. 2a is a flowchart of another memory access method according to an embodiment. The present embodiment is optimized based on the above embodiments. As shown in fig. 2, the method for accessing a memory provided in this embodiment includes:
s201, 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, and executing S202 or S203, wherein the target access address comprises a target row address, a target column address, a target channel number, a target pseudo channel number and a target bank address.
In this step, the original access request may be understood as an access request sent by the host, and the original access request 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 transmitting the original access request, the memory may be provided with a plurality of channels, each channel may be provided with a plurality of (e.g. 2) dummy channels, each dummy channel may be provided with a plurality of banks, and one bank may be used to transmit one access request at the same time, so that the bank transmitting the original access request may be uniquely located by the target channel number, the target dummy channel number and the target bank address of the original access request.
Referring to fig. 2b, in the prior art, only row address, column address and bank address pairs are used for addressing, in this embodiment, the memory access management module further introduces a channel number and a pseudo channel number for addressing, connects the independent storage spaces of each pseudo channel of the memory, and integrates them into a complete and continuous storage space, for example, when the memory is an HBM, 16 independent storage spaces of the pseudo channels of the HBM can be linked and integrated into a complete and continuous storage space, so that the range of the memory address can be extended, the probability that the same bank address in one pseudo channel is frequently switched to access different data rows in the memory is reduced, and the probability of occurrence of activation-precharge is reduced. At this time, referring to fig. 2c, the memory access management module may group the memory space of the memory according to the row address, where each group is addressed by a channel number, a pseudo channel number, a bank address, and a column address, and different groups are distinguished by the row address.
In this embodiment, the mapping manner for mapping the historical access address carried in the original access request to the target access address may be selected as needed, and it is only necessary to ensure that each bank of the memory can be used to transmit the access request, which is not limited in this embodiment.
In a preferred embodiment, assume that the memory has 2jA channel, 2kA dummy channel, 2m-2lBank and 2 in the memory space of the memoryl-kThe method comprises the following steps that in a row, an original access address has n bits, j, k, l, m and n are positive numbers, j is more than or equal to 1, k is more than or equal to j +1, l is more than or equal to k +1, m is more than or equal to l +1, and n is more than or equal to m, at the moment, bits 1-j in the original access address carried in a received original access request can be mapped into a target channel number, bits j + 1-k in the original access address are mapped into a target pseudo channel number of a memory, and bits k + 1-l in the original access address are mapped into a target row address; mapping the (l + 1) -m bits in the original access address to a target bank address, mapping the (m + 1) -n bits in the original access address to a target row address, mapping continuous original access addresses to different pseudo channels, and diluting continuous accesses to a storage space in the same pseudo channel, so that the probability of frequent line-changing accesses of the same bank in each pseudo channel of the memory is further reduced, the influence of an activation-precharge mechanism is further reduced, the energy efficiency ratio of the memory is improved, and the heat generated by the memory is reduced.
Taking a memory as an HBM as an example, when address mapping is performed, a memory access management module may map bits 1 to 3 in an original access address carried in a received original access request as a target channel number, map bit 4 in the original access address as a target pseudo channel number, map bits 5 to 9 in the original access address as a target column address, map bits 10 to 13 in the original access address as a target bank address, and map remaining unmapped addresses in the original azimuth address as target row addresses.
It should be noted that, in the above preferred embodiment, the mapping order of the target channel number, the target pseudo channel number, and the target column address (i.e. the order of the bits corresponding to the target channel number, the target pseudo channel, and the target column address in the original access address) is not limited, and it is only required to ensure that the bit corresponding to the target bank address in the original access address is located at the last of the original access address.
S202, if a first historical access request exists in the historical access records of the memory, authorizing the original access request to obtain an authorized access request, and executing S208, wherein the historical row address of the first historical access request is the same as the target row address, and the historical access records are set to record the historical access request transmitted last time by each bank.
In this step, the history row address may be understood as a row address requested to be accessed by the history access request. In the history access record, a channel number, a pseudo channel number, and a bank address are used as an index, a row address is a value corresponding to the index, and each channel number, each pseudo channel number, and each bank address, and a row address of a history access request transmitted last time by a bank where the corresponding channel number, the corresponding pseudo channel number, and the corresponding bank address are located are correspondingly recorded, as shown in fig. 2d, the maximum number of history access requests recorded in the history access record may be equal to the number of banks set in the memory.
In this embodiment, since the historical access record is the historical access request transmitted last time before the current time for each bank of the memory, if there is a first historical access request with the historical row address same as the target row address of the original access record sent by the host in the historical access record of the memory, it indicates that there is a bank which accesses the target row corresponding to the target row address and has been activated-precharged in the memory at the current time, at this time, the target row address is accessed again, and it may not be necessary to activate-precharge the target row, so that when there is a first historical access request with the historical row address same as the target row address of the original access request sent by the host in the historical access record, the historical access request may be preferentially authorized to avoid the situation that the target row address needs to be activated-precharged again, reducing power consumption and temperature during memory access.
For example, after mapping an original access address carried in a received original access request to a target access address, a memory access management module queries whether a historical access record has a historical row address that is the same as a target row address in the target access address, and if so, directly authorizes the original access request as an authorized access request without waiting for a preset time length.
S203, if the first historical access request does not exist in the historical access record of the memory, judging whether a second historical access request exists in the historical access record, and if not, executing S204; if yes, executing 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.
In this embodiment, when there is no first history access request with a history access address identical to a target access address of a received original access request in a history access record, it may be further determined whether there is a second history access request with a history channel number, a history pseudo channel number, and a history bank address identical to a target channel number, a target pseudo channel number, and a target bank address of the original access request, respectively, in the history access record, that is, it is determined whether there is a history access request transmitted using a bank corresponding to the original access request in the history access record, and when there is a second history access request in the history access record, since a history row address of the second history access request is different from a target row address of the original access request, at this time, the bank needs to perform activation-precharge processing on the target row address when the original access request is transmitted using the bank, therefore, at this time, the original access request may not be authorized for a while, and S204 is executed; when the history access record does not have the second history access request, it is described that the history access request of the bank corresponding to the original access request (i.e., the bank transmitting the original access request) does not exist in the history access record, and the bank is the bank accessed for the first time, and at this time, no matter whether the original access request is directly authorized or the bank is authorized after waiting for a preset time length, the bank needs to activate-precharge a target row (i.e., a data row corresponding to a target row address) accessed by the original access request when transmitting the original access request, so that at this time, the original access request may not be waited, and is directly authorized as an authorized access request, so as to ensure that no blocking occurs.
Illustratively, when there is no first history access request with the history row address being the same as the target row address of the original access request in the history access record of the memory, the memory access management module determines whether there is a third history access request with the history channel number being the same as the target channel number of the original access request in the history access record, if there is no third history access request in the history access record, it is determined that there is no second history access request in the history access record, and executes S204; if a third history access request exists in the history access record, continuously judging whether a fourth history access request with the history pseudo channel number being the same as the target pseudo channel number of the original access request exists in the third history access request, if the fourth history access request does not exist in the history access record, determining that a second history access request does not exist in the history access record, and executing S204; if the fourth historical access request exists in the historical access record, further judging whether a second historical access request with a historical bank address identical to the target bank address of the original access record request exists in the fourth historical access request, and if so, executing S205; if not, go to S204.
S204, authorizing the original access request to obtain an authorized access request, and executing S208.
In this embodiment, the method for authorizing the unauthorized access request (including the original access request) may be selected as needed, for example, the unauthorized access request may be authorized as an authorized access request by adding an authorization identifier; the memory access management module may also grant the unauthorized access request as an authorized access request by adding the unauthorized access request to the end of the authorized access request queue, and at this time, correspondingly, when sending the authorized access request to the memory controller, the memory access management module may obtain the authorized access request from the authorized access request queue according to the order in which the authorized access requests in the authorized access request queue are added to the authorized access request queue, and after the sending is completed, remove the authorized sending request that has been sent to the memory controller from the authorized access request queue.
S205, judging whether target unauthorized access requests with the number larger than or equal to a preset number threshold exist locally or not, if so, executing S206; if not, executing S207, wherein the row address of the target unauthorized access request is the same as the target row address.
S206, sequentially authorizing each target unauthorized access request according to a set sequence to obtain authorized access requests, and executing S208.
In this embodiment, when there are a preset number of unauthorized access requests having a target row address identical to a target row address of the original access request in the memory access management module, if yes, both the original access request and the unauthorized access request having the target access address identical to the target access address of the original access request in the memory access management module may be determined as target access requests, and the target access requests are directly and sequentially authorized, so as to improve the probability that the authorized access requests having the same target row address can be sent after one activation-precharge of the same bank, thereby further reducing the number of activation-precharge times required in the process of accessing the memory. Here, the preset number threshold may be set as needed, for example, the preset number threshold may be set to an integer greater than or equal to 12; the authorization sequence may be set according to needs, for example, the target access requests may be authorized randomly or in an order from early to late according to the receiving time of the target access requests, which is not limited in this embodiment.
And S207, after a preset time length, authorizing the original access request to obtain an authorized access request.
For example, while sending an authorized access request to the memory, the memory access management module may determine, in real time, whether an unauthorized access request received earliest in unauthorized access requests (including the original access request) that have been received by the memory access management module has passed a preset time length from its reception time, that is, determine whether the unauthorized access request received earliest has stayed in the memory access management module for the preset time length, and if so, authorize the unauthorized access request received earliest to be an authorized access request; if not, the earliest received unauthorized access request is not authorized until it stays in the memory access management module for a preset time period or the earliest received unauthorized access request is determined to be the target unauthorized access request.
And S208, updating the historical access record based on the access address of the authorized access, and executing S201 or S209.
Illustratively, after the memory access management module authorizes any unauthorized access request as an authorized access request or after the memory access management module sends any authorized access request to the memory controller, if there is no history access request whose history channel number, history pseudo channel number, and history bank address are respectively the same as the target channel number, target pseudo channel number, and target bank address of the authorized access request in the history access record, a record entry may be newly created in the history access record, the target channel number, target pseudo channel number, and target bank address of the authorized access record are used as indexes in the record entry, and the target channel number, target pseudo channel number, target bank address, and target row address of the authorized access record are used as values of the indexes, and the target channel number, target pseudo channel number, target bank address, and target row address are correspondingly recorded.
S209, obtaining 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 monitors that the temperature control parameter of the memory is higher than a corresponding parameter threshold value.
S210, reducing the current access bandwidth for accessing the memory to obtain a new access bandwidth.
S211, sending an access request to the memory according to the new access bandwidth, wherein the access request is an authorized access request.
According to the memory access method provided by the embodiment, by expanding the address access of the memory, and by preferentially authorizing access to the original access request having the history access request with the history row address same as the target row address in the history access record, and preferentially authorizing access to the target unauthorized access request and the original access request having the target row address same as the target row address and having the number larger than or equal to the preset number threshold locally in the memory access management module, the probability that the same bank needs to be repeatedly activated and precharged in the access process can be further reduced, so that the power consumption of the data access process and the heat generated by the memory are reduced, the temperature of the memory is further reduced, and the energy efficiency ratio of the memory is improved.
FIG. 3 is a flow chart of another method for accessing a memory according to an embodiment. The method may be performed by a memory access device, which may be implemented in software and/or hardware, and which may be configured in a controller, typically an energy efficiency ratio controller. The method may be applied in scenarios where memory access is managed. As shown in fig. 3, the method for accessing a memory provided in this embodiment includes the following steps:
s301, acquiring temperature control parameters of the memory.
In this step, the memory is a controller for managing the temperature of the energy efficiency ratio controller, and may be any controller requiring management of the temperature. Considering that the HBM is more likely to have an over-temperature condition, the memory may preferably be a high-bandwidth memory (i.e., HBM) to further improve the management effect when the energy efficiency ratio controller manages the power consumption of the memory. The temperature control parameter of the memory may be understood as a parameter related to the temperature of the memory, such as a parameter that may cause a change in the temperature of the memory and/or a parameter that may characterize a change in the temperature of the memory, etc. For example, the temperature control parameter of the memory may include at least one of a temperature, power consumption, and bandwidth of the memory.
In this embodiment, since the temperature data inside the sensor 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 may be directly connected to the memory, acquire the temperature data inside the memory 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.
However, since there is a delay in acquiring the temperature of the memory monitored by the temperature sensor inside the memory, and the delay of 1s may cause an error of more than 10 degrees, the temperature of the memory is managed by simply depending on the temperature data detected by the temperature sensor arranged in the memory, and a situation of control delay of the memory temperature caused by the transmission delay of the temperature data inevitably occurs. In addition, it is considered that the power consumption and heat dissipation of the sensor affect the temperature of the sensor, and the power consumption of the sensor is affected by and not only by the bandwidth of the memory. Therefore, in a preferred embodiment, the energy efficiency ratio controller may monitor the temperature of the memory through a temperature monitor located outside the memory to reduce the delay in obtaining the temperature of the memory and improve the timeliness of the temperature control of the memory; and the bandwidth of the memory can be further monitored by a bandwidth monitor and/or the power consumption of the memory can be monitored by a power consumption monitor, so that the accuracy of the temperature control result of the memory can be improved. At this time, the temperature control parameter of the memory may preferably include at least one of three parameter items of temperature, power consumption, and bandwidth of the memory.
In the above preferred embodiment, the temperature monitor is connected to an IEEE1500 interface of the memory, the power consumption monitor is connected to an electrical energy input end of the memory or to a power supply of the memory, the bandwidth monitor is connected to a path between the memory access management module and the memory, and the energy efficiency ratio controller is connected to the temperature monitor, the power consumption monitor, the bandwidth monitor and the memory access management module respectively. Thus, the temperature monitor periodically monitors the temperature of the memory according to a first monitoring period preset by a user and transmits the temperature to the energy efficiency ratio controller; the power consumption monitor periodically monitors the power consumption of the memory according to a second monitoring period preset by a user and sends the power consumption to the energy efficiency ratio controller; the bandwidth monitor periodically monitors the quantity of write commands and read-write data on a path between the memory access management module and the memory controller according to a third monitoring period, so as to obtain a command rate and a data rate in the monitoring period, further obtain the bandwidth of the memory, and send the bandwidth to the energy efficiency ratio controller; accordingly, the energy efficiency ratio controller can receive the temperature of the memory sent by the temperature monitor, the power consumption of the memory sent by the power consumption monitor and the bandwidth of the memory sent by the bandwidth monitor to obtain the temperature control parameter of the memory.
S302, if the temperature control parameter is higher than the corresponding parameter threshold value, generating a memory access bandwidth reduction instruction, and sending the memory access bandwidth reduction instruction to a 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.
In this step, when the temperature control parameter is higher than the corresponding parameter threshold, it means that the temperature of the current memory may be too high, and the temperature of the memory needs to be reduced, so that when the temperature control parameter of the memory is higher than the corresponding parameter threshold, a memory access bandwidth reduction instruction may be generated, and the memory access bandwidth reduction instruction is sent to the memory access management module, so that the memory access management module reduces the access bandwidth of the memory according to the memory access bandwidth reduction instruction, thereby achieving the purpose of reducing the bandwidth of the memory, so as to reduce the power consumption of the memory, further reduce the temperature of the memory, and enable the memory to operate the required bandwidth with smaller power consumption, and improve the energy efficiency ratio of the memory.
In this embodiment, the determination manner of whether the temperature control parameter is higher than the corresponding parameter threshold value may be set as required. For example, when the temperature control parameter of the memory includes only one parameter item, when the parameter item is higher than the parameter threshold corresponding to the parameter item, it may be determined that the temperature control parameter of the memory is higher than the corresponding parameter threshold. When the temperature control parameter of the memory includes a plurality of parameter items, such as when the temperature control parameter of the memory includes at least two parameter items of the temperature, the power consumption and the bandwidth of the memory, the memory may determine that the temperature control parameter of the memory is higher than the corresponding parameter threshold when at least one parameter threshold higher than the corresponding parameter item exists in each of the included parameter items; or when all the included parameter items are higher than the parameter threshold of the corresponding parameter item, it may be determined that the temperature control parameter of the memory is higher than the corresponding parameter threshold, which is not determined in this embodiment.
In order to further improve the timeliness of the memory temperature control, preferably, this embodiment may determine that the temperature control parameter of the memory is higher than the corresponding parameter threshold when a parameter item higher than the corresponding parameter threshold exists in the temperature control parameter of the memory, at this time, the temperature control parameter may include three parameter items of temperature, power consumption, and bandwidth, and if the temperature control parameter is higher than the corresponding parameter threshold, the generating the memory access bandwidth reduction instruction includes: and if an abnormal parameter item higher than a corresponding threshold value exists in the temperature control parameters, generating a memory access bandwidth reduction instruction. That is, when the temperature control parameter of the memory includes the temperature, the power consumption, and the bandwidth of the memory, if at least one of the temperature of the memory is higher than the preset temperature threshold, the power consumption of the memory is higher than the preset power consumption threshold, and the bandwidth of the memory is higher than the preset bandwidth threshold is satisfied, a memory access bandwidth reduction instruction may be generated and sent to the memory access management module. The temperature threshold, the power consumption threshold and the bandwidth threshold can be flexibly set by a user according to needs.
In this embodiment, the energy efficiency ratio controller may control the memory access management module to reduce the bandwidth of the primary memory when receiving a parameter item higher than the corresponding parameter threshold; the method may also reduce the bandwidth of the acquired memory and the temperature and power consumption of the memory under the bandwidth only once, no matter the number of abnormal parameter items exceeding the corresponding parameter threshold in the three parameter items is one or more, so as to avoid the situation that the memory reduction amplitude is too large, in this case, preferably, before the generating the memory access bandwidth reduction instruction, further includes: determining that the abnormal parameter item is the first acquired abnormal parameter item under the corresponding target bandwidth, which is described below as an example.
In one embodiment, the determining that the abnormal parameter item is an abnormal parameter item first obtained under a corresponding target bandwidth includes: determining the bandwidth with the acquired detection time closest to the detection time of the abnormal parameter item as a target bandwidth corresponding to the abnormal parameter item; if the target bandwidth does not have a corresponding memory access bandwidth reduction instruction, determining the abnormal parameter item as an abnormal parameter item acquired first under the target bandwidth; after the sending the memory access bandwidth reduction instruction to the memory access management module, the method further includes: and correspondingly recording the target bandwidth and the memory access bandwidth reduction instruction.
In the above embodiment, the energy efficiency ratio controller receives the temperature of the memory sent by the temperature monitor, the power consumption of the memory sent by the power consumption monitor, and the bandwidth of the memory sent by the bandwidth monitor, and when any one parameter item of the temperature, the power consumption, and the bandwidth is received, determines whether the parameter item is a parameter threshold abnormal parameter item higher than a parameter corresponding to the parameter item, and if not, continues to receive the parameter item of the memory; if so, continuing to receive the parameter items of the memory, determining the bandwidth with the detection time closest to the detection time of the abnormal parameter item in the bandwidths already received by the energy efficiency ratio controller as a target bandwidth corresponding to the abnormal parameter item, and judging whether a corresponding memory access bandwidth reduction instruction exists in the target bandwidth, wherein if so, the energy efficiency ratio controller sends the memory access bandwidth reduction instruction under the target bandwidth, and the parameter item of the memory may have changed after the bandwidth is reduced, so that at this time, the memory access bandwidth reduction instruction is not generated and sent any more; if not, it means that the energy efficiency ratio controller has not sent a memory access bandwidth reduction instruction for the bandwidth, at this time, a memory access bandwidth reduction instruction may be generated and sent to the memory access management module to instruct the memory access management module to reduce the access bandwidth of the memory.
In the memory access method provided in this embodiment, the temperature control parameter of the memory is obtained, and when the temperature control parameter is higher than the corresponding parameter threshold, the memory access management module generates and sends a memory access bandwidth reduction instruction to instruct the memory management module to reduce the access bandwidth of the memory. By adopting the technical scheme, the temperature of the memory can be reduced when the temperature of the memory is higher, and the situation that the temperature of the memory is too high is avoided, so that the service life of the memory is prolonged; in addition, the temperature of the memory is reduced by reducing the access bandwidth of the memory, so that the bandwidth required by the memory to operate with smaller power consumption can be reduced, and the energy efficiency ratio of the memory can be improved.
Fig. 4 is a block diagram of a memory access device according to an embodiment of the present disclosure. As shown in fig. 4, the apparatus includes an instruction acquisition unit 401, a bandwidth reduction unit 402, and a request transmission unit 403.
An instruction obtaining unit 401 configured to obtain a memory access bandwidth reduction instruction from an energy efficiency ratio controller, where the memory access bandwidth reduction instruction is generated when the energy efficiency ratio controller monitors that a temperature control parameter of a memory is higher than a corresponding parameter threshold;
a bandwidth reduction unit 402 configured to reduce a current access bandwidth for accessing the memory, resulting in a new access bandwidth;
a request sending unit 403, configured to send an access request to the memory according to the new access bandwidth.
In the access device for the memory provided in this embodiment, the instruction obtaining unit obtains a memory access bandwidth reduction instruction generated when the energy efficiency ratio controller monitors that the temperature control parameter of the memory is higher than the corresponding parameter threshold, the bandwidth reduction unit reduces the current access bandwidth of the access memory to obtain a new access bandwidth, and the request sending unit sends the access request to the memory according to the new access bandwidth. By adopting the technical scheme, the situation that the temperature of the thermometer is too high can be avoided, the memory can operate at a bandwidth required by low power consumption, and the energy efficiency ratio of the memory is improved.
In an exemplary embodiment, the reducing the current access bandwidth of the memory includes:
and reducing the current access bandwidth of the memory by a preset bandwidth step.
In an exemplary embodiment, the access request is an authorized access request, and the memory access device further includes:
and the authorization unit is set to authorize the received original access request according to a preset authorization rule before sending the access request to the memory according to the new access bandwidth to obtain an authorized access request.
In an exemplary embodiment, the authorization unit is arranged to:
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, wherein the target access address comprises a target row address, a target column address, a target channel number, a target pseudo channel number and a target bank address;
and if a first historical access request exists in the historical access records of the memory, directly authorizing the original access request to obtain an authorized access request, wherein the historical row address of the first historical access request is the same as the target row address, and the historical access records are set to record the historical access request transmitted last time by each bank.
In an exemplary embodiment, the authorization unit is further configured to:
if the first historical access request does not exist in the historical access records of the memory, judging whether a second historical access request exists in the historical access records, 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;
and if the second historical access request does not exist in the historical access record, authorizing the original access request to obtain an authorized access request.
In an exemplary embodiment, the authorization unit is further configured to:
if the second historical access request exists in the historical access record, judging whether target unauthorized access requests with the number larger than or equal to a preset number threshold exist locally or not, if so, sequentially authorizing the target unauthorized access requests according to a set sequence to obtain authorized access requests; if not, after a preset time length, authorizing the original access request to obtain an authorized access request, wherein the row address of the target unauthorized access request is the same as the target row address.
In an exemplary embodiment, the memory access device further includes:
a record updating unit configured to update the historical access record based on an access address of the authorized access after the obtaining of the authorized access request.
The device is used for executing the method provided by the embodiment and has corresponding functional modules and corresponding technical effects.
Fig. 5 is a block diagram of a memory access device according to an embodiment of the present disclosure. As shown in fig. 5, the apparatus includes a parameter acquisition unit 501 and an instruction transmission unit 502.
A parameter acquisition unit 501 configured to acquire a temperature control parameter of the memory;
an instruction sending unit 502, 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 a 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.
In the access device for the memory provided in this embodiment, the parameter obtaining unit obtains the temperature control parameter of the memory, and the instruction sending unit generates and sends the memory access bandwidth reduction instruction to the memory access management module when the temperature control parameter is higher than the corresponding parameter threshold, so as to instruct the memory access management module to reduce the access bandwidth of the memory. By adopting the technical scheme, the temperature of the memory can be reduced when the temperature of the memory is higher, and the situation that the temperature of the memory is too high is avoided, so that the service life of the memory is prolonged; in addition, the temperature of the memory is reduced by reducing the access bandwidth of the memory, so that the bandwidth required by the memory to operate with smaller power consumption can be reduced, and the energy efficiency ratio of the memory can be improved.
In an exemplary embodiment, the temperature control parameters include three parameters of temperature, power consumption and bandwidth, and the instruction sending unit 502 is configured to:
and if the temperature control parameters have abnormal parameter items higher than corresponding threshold values, generating a memory access bandwidth reduction instruction, and sending the memory access bandwidth reduction instruction to a memory access management module.
In an exemplary embodiment, the instruction sending unit 502 is further configured to:
before the memory access bandwidth reduction instruction is generated, determining that the exception parameter item is an exception parameter item acquired first under the corresponding target bandwidth.
In an exemplary embodiment, the determining that the abnormal parameter item is an abnormal parameter item that is first obtained under a corresponding target bandwidth includes:
determining the bandwidth with the acquired detection time closest to the detection time of the abnormal parameter item as a target bandwidth corresponding to the abnormal parameter item;
if the target bandwidth does not have a corresponding memory access bandwidth reduction instruction, determining the abnormal parameter item as an abnormal parameter item acquired first under the target bandwidth;
after the sending the memory access bandwidth reduction instruction to the memory access management module, the method further includes:
and correspondingly recording the target bandwidth and the memory access bandwidth reduction instruction.
The device is used for executing the method provided by the embodiment and has corresponding functional modules and corresponding technical effects.
The embodiment of the application also provides a memory access management module. Fig. 6 is a schematic structural diagram of a memory access management module according to an embodiment of the present application, and as shown in fig. 6, the memory access management module includes a processing device 61 and a storage device 62; the number of the processing devices 61 in the memory access management module may be one or more, and one processing device 61 is taken as an example in fig. 6; the processing device 61 and the storage device 62 in the memory access management module may be connected by a bus or other means, and fig. 6 illustrates an example of a bus connection.
The storage device 62 is a computer-readable storage medium, and can be used for storing software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the memory access method in the embodiment of the present application. The processing device 61 executes various functional applications and data processing of the memory access management module by running software programs, instructions and modules stored in the storage device 62, that is, implements the message forwarding method described above.
The storage device 62 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the terminal, and the like. Further, the storage device 62 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some examples, the storage device 62 may further include a memory remotely located from the processing device 61, which may be connected to the memory access management module over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The embodiment of the application also provides an energy efficiency ratio controller. Fig. 7 is a schematic structural diagram of an energy efficiency ratio controller according to an embodiment of the present application, and as shown in fig. 7, the energy efficiency ratio controller includes a processing device 71 and a storage device 72; the number of processing devices 71 in the energy efficiency ratio controller may be one or more, and one processing device 71 is exemplified in fig. 7; the processing device 71 and the storage device 72 in the energy efficiency ratio controller may be connected by a bus or other means, and fig. 7 illustrates an example of a bus connection.
The storage device 72 is a computer-readable storage medium, and can be used for storing software programs, computer-executable programs, and modules, such as program instructions/modules corresponding to the memory access method in the embodiment of the present application. The processing device 71 executes various functional applications and data processing of the energy efficiency ratio controller by running software programs, instructions, and modules stored in the storage device 72, that is, implements the above-described message forwarding method.
The storage device 72 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data created according to the use of the terminal, and the like. Further, the storage device 72 may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some examples, storage device 72 may further include a memory located remotely from processing device 71, and these remote memories may be connected to the energy efficiency ratio controller 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.
The embodiment of the application also provides an access system of the memory. Fig. 8 is a schematic structural diagram of a memory access system according to an embodiment of the present application. As shown in fig. 8, the system includes a memory access management module 1 provided in the embodiment of the present application, and an energy efficiency ratio controller 2, and further includes a temperature monitor 3, a power consumption monitor 4, and a bandwidth monitor 5,
the temperature monitor 3 is respectively connected with the memory 6 and the energy efficiency ratio controller 2, 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 2;
the power consumption monitor 4 is respectively connected with the memory 6 and the energy efficiency ratio controller 2, 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 2;
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, and is configured to monitor a bandwidth of the memory according to a third monitoring period and send the monitored bandwidth to the energy efficiency ratio controller 2;
the energy efficiency ratio controller 2 is connected with the memory access management module 1 and is configured to acquire temperature control parameters of a memory, wherein the temperature control parameters include temperature, power consumption and bandwidth; if the temperature control parameter is higher than the corresponding parameter threshold, generating a memory access bandwidth reduction instruction, and sending the memory access bandwidth reduction instruction 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;
the memory access management module 1 is respectively connected with the host 8 and the memory controller 7, and is configured to acquire a memory access bandwidth reduction instruction from the energy efficiency ratio controller 2, where the memory access bandwidth reduction instruction is generated when the energy efficiency ratio controller 2 monitors that a temperature control parameter of the memory 6 is higher than a corresponding parameter threshold; reducing the current access bandwidth for accessing the memory 6 to obtain a new access bandwidth; and sending an access request to the memory 6 according to the new access bandwidth.
The memory access system provided by the embodiment is used for executing the method provided by the above embodiment, and has corresponding functional modules and corresponding technical effects.
Embodiments of the present application also provide a storage medium containing computer-executable instructions for performing a method of memory access when executed by a computer processor.
Through the above description of the embodiments, those skilled in the art will appreciate that the present application can be implemented by software, general hardware, or hardware. Based on such understanding, the technical solution of the present application may be embodied in the form of a software product, and the computer software product may be stored in a computer-readable storage medium, such as a floppy disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a FLASH Memory (FLASH), a hard disk or an optical disk of a computer, and includes a plurality of instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute the method according to any embodiment of the present application.
The above description is only exemplary embodiments of the present application, and is not intended to limit the scope of the present application.
Any logic flow block diagrams in the figures 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 a 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 versatile disks, DVDs, or CD discs), etc. The computer readable medium may include a non-transitory storage medium. 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 a multi-core processor architecture.
The foregoing has provided by way of exemplary and non-limiting examples a detailed description of exemplary embodiments of the present application. Various modifications and adaptations to the foregoing embodiments may become apparent to those skilled in the relevant arts in view of the drawings and the following claims without departing from the scope of the invention. Accordingly, the proper scope of the application is to be determined according to the claims.

Claims (15)

1. A method for accessing a memory, comprising:
acquiring a memory access bandwidth reduction instruction from an energy efficiency ratio controller, wherein the memory access bandwidth reduction instruction is 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 the current access bandwidth for accessing the memory to obtain a new access bandwidth;
and sending an access request to the memory according to the new access bandwidth.
2. The method of claim 1, wherein reducing the current access bandwidth of the memory comprises:
and reducing the current access bandwidth of the memory by a preset bandwidth step.
3. The method of claim 1, wherein the access request is an authorized access request, and before the sending the access request to the memory according to the new access bandwidth, the method comprises:
and authorizing the received original access request according to a preset authorization rule to obtain an authorized access request.
4. The method of claim 3, wherein the authorizing the received original access request according to the preset authorization rule to obtain an authorized access request comprises:
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, wherein the target access address comprises a target row address, a target column address, a target channel number, a target pseudo channel number and a target bank address;
and if a first historical access request exists in the historical access records of the memory, authorizing the original access request to obtain an authorized access request, wherein the historical row address of the first historical access request is the same as the target row address, and the historical access records are set to record the historical access request transmitted last time by each bank.
5. The method of claim 4, further comprising:
if the first historical access request does not exist in the historical access records of the memory, judging whether a second historical access request exists in the historical access records, 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;
and if the second historical access request does not exist in the historical access record, authorizing the original access request to obtain an authorized access request.
6. The method of claim 5, further comprising:
if the second historical access request exists in the historical access record, judging whether target unauthorized access requests with the number larger than or equal to a preset number threshold exist locally or not, if so, sequentially authorizing the target unauthorized access requests according to a set sequence to obtain authorized access requests; if not, after a preset time length, authorizing the original access request to obtain an authorized access request, wherein the row address of the target unauthorized access request is the same as the target row address.
7. The method of any of claims 4-6, further comprising, after the obtaining the authorized access request:
updating the historical access record based on the access address of the authorized access.
8. A method for accessing a memory, comprising:
acquiring temperature control parameters of a memory;
and if the temperature control parameter is higher than the corresponding parameter threshold value, generating a memory access bandwidth reduction instruction, and sending the memory access bandwidth reduction instruction to a 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.
9. The method of claim 8, wherein the temperature controlled parameters include three parameters of temperature, power consumption, and bandwidth, and wherein generating a memory access bandwidth reduction instruction if the temperature controlled parameters are above respective parameter thresholds comprises:
and if an abnormal parameter item higher than a corresponding threshold value exists in the temperature control parameters, generating a memory access bandwidth reduction instruction.
10. The method of claim 9, prior to said generating a memory access bandwidth reduction instruction, further comprising:
and determining the abnormal parameter item as the first acquired abnormal parameter item under the corresponding target bandwidth.
11. The method according to claim 10, wherein the determining that the abnormal parameter item is an abnormal parameter item that is first obtained under a corresponding target bandwidth includes:
determining the bandwidth with the acquired detection time closest to the detection time of the abnormal parameter item as a target bandwidth corresponding to the abnormal parameter item;
if the target bandwidth does not have a corresponding memory access bandwidth reduction instruction, determining the abnormal parameter item as an abnormal parameter item acquired first under the target bandwidth;
after the sending the memory access bandwidth reduction instruction to the memory access management module, the method further includes:
and correspondingly recording the target bandwidth and the memory access bandwidth reduction instruction.
12. A memory access management module comprising storage means, processing means, a program stored on the storage means and executable on the processing means, the program when executed by the processing means implementing the method of any one of claims 1 to 7, and a data bus for implementing connection communication between the processing means and the storage means.
13. An energy efficiency ratio controller comprising storage means, processing means, a program stored on the storage means and executable on the processing means, the program when executed by the processing means implementing the method of any one of claims 8 to 11, and a data bus for enabling communications between the processing means and the storage means.
14. A memory access system comprising the memory access management module of claim 12 and the energy efficiency ratio controller of claim 13, further comprising a temperature monitor, a power consumption monitor, and a bandwidth monitor,
the temperature monitor is respectively connected with the memory and the energy efficiency ratio controller, is set to monitor the temperature of the memory according to a first monitoring period, and sends the monitored temperature to the energy efficiency ratio controller;
the power consumption monitor is respectively connected with the memory and the energy efficiency ratio controller, is set to monitor the power consumption of the memory according to a second monitoring period, and sends the monitored power consumption to the energy efficiency ratio controller;
the bandwidth monitor is respectively connected with the memory access management module, the memory controller connected with the memory and the energy efficiency ratio controller, 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 with the memory access management module and is set to acquire temperature control parameters of the memory, and the temperature control parameters comprise temperature, power consumption and bandwidth; if the temperature control parameter is higher than the corresponding parameter threshold value, generating a memory access bandwidth reduction instruction, and sending the memory access bandwidth reduction instruction to a 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;
the memory access management module is respectively connected with the host and the memory controller and is configured to acquire 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 monitors that the temperature control parameter of the memory is higher than a corresponding parameter threshold value; reducing the current access bandwidth for accessing the memory to obtain a new access bandwidth; and sending an access request to the memory according to the new access bandwidth.
15. A computer-readable storage medium, characterized in that the storage medium stores one or more programs which are executable by one or more processors to implement the method of any one of claims 1-11.
CN202010850808.4A 2020-08-21 2020-08-21 Memory access method, module, controller, system and medium Pending CN114167972A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010850808.4A CN114167972A (en) 2020-08-21 2020-08-21 Memory access method, module, controller, system and medium
PCT/CN2021/112969 WO2022037565A1 (en) 2020-08-21 2021-08-17 Access method and system for memory, memory access management module, energy efficiency ratio controller and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010850808.4A CN114167972A (en) 2020-08-21 2020-08-21 Memory access method, module, controller, system and medium

Publications (1)

Publication Number Publication Date
CN114167972A true CN114167972A (en) 2022-03-11

Family

ID=80323418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010850808.4A Pending CN114167972A (en) 2020-08-21 2020-08-21 Memory access method, module, controller, system and medium

Country Status (2)

Country Link
CN (1) CN114167972A (en)
WO (1) WO2022037565A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024045846A1 (en) * 2022-08-31 2024-03-07 华为技术有限公司 Method, apparatus and system for adjusting migration bandwidth of storage medium, and chip

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116303125B (en) * 2023-05-16 2023-09-29 太初(无锡)电子科技有限公司 Request scheduling method, cache, device, computer equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6886301B2 (en) * 2017-01-26 2021-06-16 キヤノン株式会社 Memory access system, its control method, program, and image forming device
CN108052292A (en) * 2017-12-25 2018-05-18 成都信息工程大学 A kind of high-temperature protection method of solid state disk
CN207690062U (en) * 2017-12-25 2018-08-03 成都信息工程大学 A kind of high reliability solid state disk
CN110764715B (en) * 2019-11-09 2021-07-06 苏州浪潮智能科技有限公司 Bandwidth control method, device and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024045846A1 (en) * 2022-08-31 2024-03-07 华为技术有限公司 Method, apparatus and system for adjusting migration bandwidth of storage medium, and chip

Also Published As

Publication number Publication date
WO2022037565A1 (en) 2022-02-24

Similar Documents

Publication Publication Date Title
CN103218310B (en) The method of buffer storage, communication facilities and reading cache data
US10303618B2 (en) Power savings via dynamic page type selection
US8099624B1 (en) Recovery mechanism for I/O module using out-of-band control path
CN110175140A (en) Fusion memory part and its operating method
WO2022037565A1 (en) Access method and system for memory, memory access management module, energy efficiency ratio controller and computer-readable storage medium
US8560767B2 (en) Optimizing EDRAM refresh rates in a high performance cache architecture
US11467767B2 (en) Storage device throttling amount of communicated data depending on suspension frequency of operation
KR20120052158A (en) A method for deterministic sas discovery and configuration
CN109542814A (en) The method and system that data are transmitted between storage equipment is connected to by the P2P of PCI-EXPRESS
CN109791522B (en) Data migration method and system and intelligent network card
JP6514329B2 (en) Memory access method, switch, and multiprocessor system
US11487473B2 (en) Memory system
US20170153909A1 (en) Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine
US20220138059A1 (en) Storage system and operating method thereof
WO2014206078A1 (en) Memory access method, device and system
CN105095109A (en) Cache access method, cache access router and computer system
US11288012B2 (en) Memory system
CN112346647A (en) Data storage method, device, equipment and medium
CN109582592B (en) Resource management method and device
JP6331944B2 (en) Information processing apparatus, memory control apparatus, and information processing apparatus control method
CN103500108A (en) System memory access method, node processor and multi-processor system
JP5500272B2 (en) Relay device, relay history recording method, and data processing device
CN117112219A (en) Method and device for accessing memory data of host
CN107408071A (en) A kind of memory pool access method, device and system
KR20220067282A (en) Storage device, Server comprising the storage device and method for operation the storage device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination