Processing method and device

By setting up the main record unit set and auxiliary record unit set in DDR memory particles, record the storage bank's row address and access information, and adopt a refresh process based on LFU -based optimization. The excellent problem has achieved precise refreshment of neighboring lines that frequently visit the row to avoid the phenomenon of bits.

CN119380775APending Publication Date: 2025-01-28SMARTER SILICON (SHANGHAI) TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411395868.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-30
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

In the refresh management of DDR memory particles in the prior art, the row address may not be optimal, which makes it difficult to meet the refresh requirements of adjacent rows that frequently access rows, which may in turn cause bit inversion.

Method used

By setting the main record unit set and auxiliary record unit set in the storage component, the storage bank address and access information of the storage bank are used to optimize the refreshing address -based brushing processing solutions based on LFU optimization. Line.

Benefits of technology

It has improved the optimal nature of refreshing the address of the Bank, and can better meet the neighbor's refresh needs of frequent visits, and avoid the occurrence of the phenomenon of bit reversal.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119380775A_ABST
    Figure CN119380775A_ABST
Patent Text Reader

Abstract

The invention discloses a processing method and device, and belongs to the technical field of computers, and the method comprises the steps: obtaining a row address of a first row in response to detection of an access operation on the first row in a storage space of a storage component; if the row address of the first row is not recorded and an idle main recording unit does not exist in the main recording unit set, replacing the row information in the first recording unit with the row information corresponding to the first row, and writing the original row information in the first recording unit into the corresponding auxiliary recording unit of the auxiliary recording unit set; row information recorded in the first main recording unit meets a first access condition; each recording unit in the main recording unit set and the auxiliary recording unit set is used for recording row information of a corresponding storage row in the storage component, and the row information comprises a row address and current accessed information of the storage row indicated by the row address; the current accessed information is used for judging whether the adjacent row of the corresponding storage row needs to be refreshed or not.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of computer technology, and more particularly to a processing method and device. Background Art

[0002] Refresh Management (RFM) of storage components such as DDR (Double Data Rate) memory particles can ensure data integrity. When the same row of storage components such as DDR memory particles is frequently accessed, the adjacent rows of the row will cause a bit flip phenomenon, namely Row Hammer (RH). In order to ensure the correctness of the adjacent row data, the adjacent rows need to be additionally refreshed. However, the known technology has the problem that the row address refreshed by RFM may not be optimal, which often makes it difficult to meet the refresh requirements of the adjacent rows of some frequently accessed rows. Summary of the invention

[0003] To this end, this application discloses the following technical solutions:

[0004] A processing method, comprising:

[0005] In response to detecting an access operation to a first row in a storage space of a storage component, obtaining a row address of the first row;

[0006] If the row address of the first row is not recorded and there is no idle primary recording unit in the primary recording unit set, replace the row information in the first recording unit with the row information corresponding to the first row, and write the original row information in the first recording unit into the corresponding secondary recording unit in the secondary recording unit set;

[0007] Among them, the original row information recorded in the first main recording unit meets the first access condition, and the row information in the corresponding main recording unit meets the first access condition, indicating that the row information in the corresponding main recording unit is allowed to be replaced; each recording unit in the main recording unit set and the auxiliary recording unit set is used to record the row information of the corresponding storage row in the storage space of the storage component, and the row information includes a row address and currently accessed information of the storage row indicated by the row address, and the currently accessed information is used to determine whether it is necessary to refresh the adjacent rows of the corresponding storage row.

[0008] Optionally, the processing method further includes:

[0009] If the row address of the first row is not recorded, and there is an idle main recording unit in the main recording unit set, the row information corresponding to the first row is written into the idle main recording unit.

[0010] Optionally, the processing method further includes:

[0011] If the row address of the first row has been recorded, and the row address of the first row is recorded in a first auxiliary recording unit of the auxiliary recording unit set, the row information in the first auxiliary recording unit and the second main recording unit are exchanged, and the accessed information of the first row in the second main recording unit is updated based on the original accessed information of the first row according to the access operation; the row information recorded in the second main recording unit meets the first access condition;

[0012] If the row address of the first row has been recorded, and the row address of the first row is recorded in a third main recording unit of the main recording unit set, currently accessed information in the third main recording unit is updated based on the access operation.

[0013] Optionally, the currently accessed information stored in each main recording unit includes current counting information of the number of times the corresponding storage row is accessed;

[0014] The first access condition includes:

[0015] The counting information of the corresponding storage row is the counting information that satisfies the first numerical condition among the various counting information recorded in the main recording unit set, and when there are multiple counting information that satisfy the first numerical condition, the counting information of the corresponding storage row is the counting information that satisfies the first time condition among the multiple counting information that satisfy the first numerical condition.

[0016] Optionally, writing the original row information in the first recording unit into a corresponding auxiliary recording unit of the auxiliary recording unit set includes:

[0017] Writing the original row information in the first main recording unit into a second auxiliary recording unit that meets a second access condition;

[0018] The corresponding auxiliary recording unit satisfies the second access condition, indicating that it is allowed to write row information of the storage row to be recorded into the corresponding auxiliary recording unit.

[0019] Optionally, the currently accessed information stored in each main recording unit includes current counting information of the number of accesses to the corresponding storage row;

[0020] The second access condition includes:

[0021] The auxiliary recording unit is idle;

[0022] Or, the counting information of the corresponding storage row is the counting information that satisfies the second numerical condition among the various counting information recorded in the auxiliary record unit set, and when there are multiple counting information that satisfy the second numerical condition, the counting information of the corresponding storage row is the counting information that satisfies the second time condition among the multiple counting information that satisfy the second numerical condition.

[0023] Optionally, the processing method further includes:

[0024] In response to the currently accessed information of the second row in the main recording unit set satisfying the target condition, target refresh processing is performed on the adjacent rows of the second row.

[0025] Optionally, in response to the currently accessed information of the second row in the main recording unit set satisfying the target condition, performing target refresh processing on the adjacent rows of the second row includes:

[0026] In response to the count information corresponding to the number of times the second row in the main recording unit set is accessed reaching a threshold, generating a refresh instruction including the row address of the second row and target operation information; the target operation information is used to indicate the refresh operation corresponding to the target refresh process;

[0027] Determining a target adjacent row corresponding to the second row and on which the refresh operation is to be performed according to the row address of the second row and a preset number of adjacent rows;

[0028] A refresh operation indicated by the target operation information is performed on the target adjacent row.

[0029] Optionally, the processing method, after performing target refresh processing on the adjacent rows of the second row, further includes:

[0030] The accessed information in the row information corresponding to the second row is cleared to zero, so as to update the accessed information of the second row from zero.

[0031] A processing device, comprising:

[0032] an acquisition module, configured to obtain a row address of a first row in a storage space of a storage component in response to detecting an access operation to the first row;

[0033] a record processing module, configured to replace the row information in the first recording unit with the row information corresponding to the first row, and write the original row information in the first recording unit into the corresponding auxiliary recording unit of the auxiliary recording unit set if the row address of the first row is not recorded and there is no idle main recording unit in the main recording unit set;

[0034] Among them, the original row information recorded in the first main recording unit meets the first access condition, and the row information in the corresponding main recording unit meets the first access condition, indicating that the row information in the corresponding main recording unit is allowed to be replaced; each recording unit in the main recording unit set and the auxiliary recording unit set is used to record the row information of the corresponding storage row in the storage space of the storage component, and the row information includes a row address and currently accessed information of the storage row indicated by the row address, and the currently accessed information is used to determine whether it is necessary to refresh the adjacent rows of the corresponding storage row. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, the drawings described below are merely embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0036] Figure 1 It is a flow chart of the processing method provided by this application;

[0037] Figure 2 It is another flow chart of the processing method provided by the present application;

[0038] Figure 3 This is an example of the information recording and replacement mechanism of the primary / secondary recording unit provided by this application;

[0039] Figure 4 This is an example of replacing row information records when two storage rows are accessed alternately in the LFU algorithm of the known technology provided by the present application;

[0040] Figure 5 This is an example of row information record replacement when alternately accessing two storage rows provided by the present application;

[0041] Figure 6 It is a composition structure diagram of the processing device provided by this application;

[0042] Figure 7 It is a structural diagram of the electronic device provided in this application. DETAILED DESCRIPTION

[0043] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0044] The embodiments of the present application provide a processing method and device for improving the problem in the known technology that the row address targeted by the RFM refresh is not optimal, resulting in difficulty in accurately determining the rows that actually need to be refreshed, so as to better meet the refresh requirements of the adjacent rows of the frequently accessed rows and avoid the bit inversion phenomenon of the adjacent rows of the row caused by frequent access to the same row.

[0045] The processing method provided in the embodiment of the present application can be applied to electronic devices in many general or special computing device environments or configurations, such as personal computers, server computers, handheld devices or portable devices, tablet devices, multi-processor devices, etc.

[0046] See also Figure 1 As shown in the method flow chart, the processing method provided in the embodiment of the present application may at least include the following steps 101 to 102, and these steps are described in detail below.

[0047] Step 101: In response to detecting an access operation to a first row in a storage space of a storage component, obtain a row address of the first row.

[0048] The storage component may be a chip of an electronic device having storage space for providing storage capability, and may be, but not limited to, a memory chip having storage capability or a chip in a non-memory storage scenario, such as a DDR memory chip, etc. The embodiment of the present application will mainly take the memory component as a memory chip as an example to illustrate the solution.

[0049] The storage space of the storage component provides multiple storage rows that can be used to store data, and supports data access operations such as reading / writing on the data stored in each storage row.

[0050] The “row” mentioned in the embodiments of the present application specifically refers to a storage row provided by the storage space of the storage component.

[0051] RFM refresh management of storage components such as DDR memory particles / memory chips can ensure data integrity. When the same row of storage components such as DDR memory particles is frequently accessed, the adjacent rows of the row will cause bit reversal, i.e. Row Hammer. In order to ensure the correctness of the adjacent row data, additional refresh processing is required for the adjacent rows.

[0052] In order to optimize the row address targeted by the RFM refresh so that the rows to be refreshed (such as the adjacent rows of the frequently accessed rows) can be accurately determined, the embodiment of the present application proposes a refresh processing solution based on LFU (Least Frequently Used page-replacement algorithm) optimization, that is, the processing method provided by the embodiment of the present application is a refresh processing solution based on LFU optimization. Further, optionally, the solution can be a DRFM (Directed-RFM) refresh processing solution based on LFU optimization. DRFM, as a supplementary refresh management command, is mainly used to solve the ROW hanmmer problem.

[0053] In the scheme of the embodiment of the present application, access operations to each storage row in the storage space of the storage component can be first detected, for example, access operations to read data or write data to each storage row can be detected, and in response to detecting an access operation to the first row in the storage space of the storage component, the row address of the first row is obtained.

[0054] Step 102: If the row address of the first row is not recorded and there is no idle main recording unit in the main recording unit set, the row information corresponding to the first row replaces the row information in the first recording unit, and the original row information in the first recording unit is written into the corresponding auxiliary recording unit of the auxiliary recording unit set.

[0055] In the embodiment of the present application, a main recording unit set and an auxiliary recording unit set are pre-set for the storage component, wherein the main recording unit set includes a plurality of main recording units, and the auxiliary recording unit set includes a plurality of auxiliary recording units. Each recording unit in the main recording unit set and the auxiliary recording unit set is used to record row information of a corresponding storage row in the storage space of the storage component, wherein the row information includes a row address and currently accessed information of the storage row indicated by the row address, and the currently accessed information is used to determine whether a refresh operation needs to be performed on adjacent rows of the corresponding storage row.

[0056] Optionally, each recording unit can be used to record row information of a storage row at the same time.

[0057] The currently accessed information stored in each primary record unit may include, but is not limited to, the current corresponding count information of the number of accesses to the corresponding storage row and / or the access frequency, frequency level and other information. Similarly, the currently accessed information stored in each secondary record unit may also include the current corresponding count information of the number of accesses to the corresponding storage row and / or the access frequency, frequency level and other information. Furthermore, the row information recorded in each secondary record unit of the secondary record unit set is the row information that is replaced from the primary record unit set.

[0058] The embodiments of the present application will be mainly described by taking the current access information of the storage row as the current corresponding counting information of the number of access times of the storage row as an example.

[0059] The embodiment of the present application records row information such as the row address and current access information (such as the current corresponding count information of the number of accesses to the storage row) of the storage row in the storage component based on the main recording unit set and the auxiliary recording unit set to obtain the access status of each storage row in the storage component, so as to accurately determine the storage rows that actually need to be refreshed and perform refresh processing on them based on the access status of each storage row in the storage component.

[0060] It is worth noting that the number of storage rows contained in a storage component is usually large. For example, a memory chip usually contains a large number of storage rows, and the number of storage rows contained is specifically determined by the memory capacity and the bit width. Based on this, in actual applications, considering the resource overhead and usage constraints, the total number of record units contained in the primary record unit set and the auxiliary record unit set is lower than or much lower than the number of storage rows contained in the storage component.

[0061] In response to the above situation, the embodiment of the present application further designs a corresponding storage and replacement mechanism. Based on the storage and replacement mechanism, the row information of the corresponding storage rows is recorded and dynamically replaced in each record unit provided by the primary record unit set and the auxiliary record unit set as needed, rather than fixing each record unit provided by the primary record unit set and the auxiliary record unit set for recording row information of a specific few storage rows. In this way, the access status of each storage row in the storage component can be accurately and efficiently obtained based on a limited number of record units, and the storage rows that actually need to be refreshed can be determined as accurately as possible to refresh them.

[0062] Among them, in terms of the overall design concept, each main record unit provided by the main record unit set is used to store the row information of the storage rows with high access frequency and / or late latest access time, and each auxiliary record unit provided by the auxiliary record unit set is used to store the row information of several storage rows that have been recently replaced from the main record unit based on the LFU algorithm. Based on this design, after the original row information in the main record unit set is replaced, the replaced original row information will not be immediately cleared, so as to support the update of the access information of the storage row based on the original row information when the storage row represented by the original row information is accessed in a subsequent period of time, thereby facilitating the accurate knowledge of the access status of the storage row, and correspondingly determining the storage row that actually has a refresh requirement as accurately as possible to refresh it. The specific storage and replacement mechanism for the main record unit set and the auxiliary record unit set will be described in detail later.

[0063] It is easy to understand that the latest access time corresponding to a storage row refers to the time when the storage row was last accessed. If the latest access time of a storage row is late, it means that the time interval between the time when the storage row was last accessed and the current time is short.

[0064] Based on the storage and replacement mechanism, in response to detecting an access operation to the first row in the storage space of the storage component and obtaining the row address of the first row, it is possible to further determine whether the row address of the first row has been recorded and determine the recording status of each main recording unit in the main recording unit set. The recording status of each main recording unit in the main recording unit set is an idle state or a non-idle state, depending on the actual application situation.

[0065] Among them, if the row address of the first row is not recorded and there is no idle main recording unit in the main recording unit set, the row information corresponding to the first row will replace the row information in the first recording unit, and the original row information in the first recording unit will be written into the corresponding auxiliary recording unit of the auxiliary recording unit set.

[0066] The original line information recorded in the first main recording unit satisfies the first access condition. The line information in the corresponding main recording unit satisfies the first access condition, indicating that the line information in the corresponding main recording unit is allowed to be replaced.

[0067] For the case where the row address of the first row is not currently recorded and there is no idle main recording unit in the main recording unit set, specifically, the first recording unit that meets the first access condition can be first determined from the main recording unit set, and the original row information in the first recording unit can be written into the corresponding auxiliary recording unit of the auxiliary recording unit set to free the first recording unit, and then the row information of the first row (such as the row address of the first row and the currently accessed information) can be written into the first recording unit.

[0068] Taking the current access information of the first row including the currently corresponding counting information of the number of times the first row is accessed as an example, since there is no historical storage information of the first row in the main recording unit set, there is no corresponding historical counting information. In view of this, the currently corresponding counting information of the number of times the first row is accessed is generated directly based on the access operation to the first row detected this time. Assuming that the starting value of the count is 0 and the count increment is 1 each time the access is performed, the currently corresponding counting information of the number of times the first row is accessed is 1, and the row address of the first row and the current count value of the number of accesses "1" can be stored in the first recording unit accordingly.

[0069] Optionally, the first access condition may include: the counting information of the corresponding storage row is the counting information that satisfies the first numerical condition among the various counting information recorded in the main recording unit set, and in the case where there are multiple counting information that satisfy the first numerical condition, the counting information of the corresponding storage row is the counting information that satisfies the first time condition among the multiple counting information that satisfy the first numerical condition.

[0070] Based on the first access condition, it is possible to preferentially determine whether the counting information of the storage row is the counting information that satisfies the first numerical condition among the various counting information recorded in the main record unit set. Only when the counting information of the storage row is the counting information that satisfies the first numerical condition among the various counting information recorded in the main record unit set, and there are multiple counting information that satisfy the first numerical condition in the record unit set, is it possible to continue to determine whether the counting information of the storage row satisfies the first time condition. If the first time condition is satisfied, it is determined that the counting information of the storage row satisfies the first access condition. If the first time condition is not satisfied, it is determined that the counting information of the storage row does not satisfy the first access condition.

[0071] Whereas the counting information of a storage row is the counting information satisfying the first numerical condition among various counting information recorded in the main record unit set, and the counting information of the storage row is the only counting information satisfying the first numerical condition in the main record unit set, it can be directly determined that the counting information of the storage row satisfies the first access condition without further determination based on the first time condition.

[0072] If the counting information of the storage row does not satisfy the first numerical condition, it can be directly determined that the counting information of the storage row does not satisfy the first access condition.

[0073] The first numerical condition is a condition that the count information used to characterize the number of times the corresponding storage row is accessed is a lower count value among the count information recorded in the primary recording unit set, and can be specifically but not limited to being set to one of the following conditions 1-1 to 1-3:

[0074] Condition 1-1: The count value of the number of times the corresponding storage row is accessed is the minimum value of each count value recorded in the main record unit set.

[0075] Condition 1-2: The count value of the number of accesses of the corresponding storage row is top_k1 in the ascending sequence of each count value recorded in the main record unit set.

[0076] Among them, 1≤k1<n, n is the number of main record units contained in the main record unit set, and k1 and n are both integers.

[0077] Condition 1-3: The count value of the number of accesses of the corresponding storage row is less than the set count threshold.

[0078] The first time condition is a condition for representing that the latest access time of the corresponding storage row is the earliest latest access time among the storage rows corresponding to the main recording units in the main recording unit set, and can be specifically but not limited to being set to one of the following conditions 2-1 to 2-3:

[0079] Condition 2-1: the latest access time of the corresponding storage row is the earliest / smallest among the latest access times of the storage rows corresponding to the information recorded in the primary record unit set;

[0080] Condition 2-2: the latest access time of the corresponding storage row is top_k2 in the ascending sequence of the latest access time of each storage row corresponding to the information recorded in the main record unit set.

[0081] Wherein, 1≤k2<n, k2 is an integer, and the meaning of n is as described above.

[0082] The latest access time ascending sequence refers to a sequence obtained by sorting the latest access time of each storage row corresponding to the information recorded in the main record unit set in chronological order.

[0083] Condition 2-3: The latest access time of the corresponding storage row is earlier than the set time threshold.

[0084] In practical applications, the time threshold may be adjusted regularly or irregularly as time goes by.

[0085] In combination with the above-mentioned first numerical condition and first time condition, in implementation, the first access condition can be preferentially set to: the count value of the number of times the corresponding storage row is accessed is the minimum value of each count value recorded in the main record unit set, and when there are multiple main record units that meet the minimum value, the latest access time of the corresponding storage row is the earliest / smallest among the latest access times of each storage row corresponding to the information recorded in the main record unit set.

[0086] Based on the set first access condition, the row information of the storage rows recorded in the main recording unit set can be replaced from the dimensions of access frequency, access time, etc., and the row information of the storage rows with low access frequency and early access time (old) will be replaced first, and the row information of the storage rows with high access frequency / recent access time (new) will be retained in the main recording unit set, so as to accurately understand the access status of the storage rows retained in the main recording unit set, and accurately judge whether it is necessary to refresh the adjacent rows of these storage rows based on the row information of the retained storage rows (row address, current count information of the number of accesses, etc.).

[0087] During implementation, the number of main record units included in the main record unit set can be set based on the maximum number of storage rows that may be accessed or the most common number of storage rows that may be accessed in the same time period in the actual usage scenario of the storage component. This way, the main record units provided by the main record unit set can meet the requirements for accurately recording the access situations of multiple storage rows in scenarios where the access times of multiple storage rows are the same or similar, thereby facilitating accurate determination of whether it is necessary to refresh the adjacent rows of these storage rows.

[0088] Among them, the more primary record units there are, the more recording needs of storage row information can be met, and correspondingly, the more records of frequently accessed storage rows can be handled, but the resource overhead increases accordingly. In actual applications, the number of primary record units included in the primary record unit set can be designed by combining comprehensive considerations of performance and resource overhead.

[0089] Based on the refresh management feature of RFM, that is, "when the same row of a storage component such as a DDR memory particle is frequently accessed, the adjacent rows of the row will cause bit inversion. In order to ensure the correctness of the adjacent row data, it is necessary to perform additional refreshes on the adjacent rows of the frequently accessed rows." It can be seen that it is necessary to screen out storage rows with high activity and frequent access to perform additional refresh management on their adjacent rows. The above-mentioned mechanism for recording and replacing information on storage rows by combining the access frequency dimension and the time dimension provided in the embodiment of the present application is consistent with the refresh requirement characteristics of the storage rows in the storage component based on access operations, which is convenient for filtering out storage rows with low activity and timely screening out storage rows with high activity and frequent recent access to perform additional refresh management on their adjacent rows.

[0090] Different from the LFU replacement algorithm in the known technology, in the case where the row address of the first row is not currently recorded and there is no idle main recording unit in the main recording unit set, after the row information corresponding to the first row replaces the row information in the first recording unit, the embodiment of the present application does not discard the original row information in the first recording unit, but writes the original row information in the first recording unit into the corresponding auxiliary recording unit of the auxiliary recording unit set, and continues to record the original row information that has been replaced recently. Based on this design, after the original row information in the first recording unit is replaced, the original row information in the first recording unit will not be immediately cleared, so that when the storage row represented by the original row information is accessed in a subsequent period of time, the access information of the storage row can be updated based on the original row information, such as accumulating the number of accesses to the storage row based on the original count value in the original row information, etc., so that the access situation of the storage row represented by the replaced original row information can be more objectively and accurately reflected, and when frequent access events to the replaced storage row occur in a subsequent short period of time, the accuracy of the refresh management of the adjacent rows of the storage row can be ensured as much as possible.

[0091] In addition, it can also avoid the situation where the row information of two or more storage rows meets the conditions for being replaced and is frequently and alternately accessed. After each replacement, the corresponding access count value and other access information are cleared to 0, and become 1 after one access. When another storage row is accessed again, it is replaced and cleared to 0 accordingly, resulting in the phenomenon that the row information of two / more storage rows is frequently replaced and the access number is always the minimum. Accordingly, the access status of the storage rows that are frequently and alternately accessed in the scenario can be accurately known, and it is convenient to accurately know whether the adjacent rows of the storage rows that are frequently and alternately accessed need to be refreshed.

[0092] In summary, the processing method provided by the embodiment of the present application sets a main record unit set and an auxiliary record unit set for storing row information (including row addresses and access information of storage rows) of the storage components in advance, and designs corresponding storage and replacement mechanisms for the main record unit set and the auxiliary record unit set. Based on the storage and replacement mechanism, it is convenient to store row information of high-activity storage rows that are frequently accessed / have a recent (new) access time in the main record unit set, so as to accurately understand the access situation of these storage rows, and then accurately determine whether it is necessary to perform a refresh operation on the adjacent rows of these storage rows. Moreover, for the row information that has been recently replaced from the main record unit set, by writing it into the corresponding auxiliary record unit of the auxiliary record unit set, it is possible to avoid the replaced row information from being immediately cleared, and support the subsequent access to the storage row represented by the replaced row information. The access information can be updated based on the replaced original row information, and accordingly, when a frequent alternating access event to the replaced storage row is generated later, the accuracy of the refresh management of the adjacent rows of the storage row can be ensured as much as possible.

[0093] Therefore, the present application improves the problem in the known technology that the row address targeted by the RFM refresh is not optimal and it is difficult to accurately determine the row that actually needs to be refreshed, and can better meet the refresh requirements of the neighboring rows of the frequently accessed rows.

[0094] In an optional embodiment, the processing method provided by the present application may also include the following processing:

[0095] 3-1. If the row address of the first row is not recorded, and there is an idle main recording unit in the main recording unit set, write the row information corresponding to the first row into the idle main recording unit.

[0096] In this case, the row address of the first row and current access information such as current count information of the number of accesses, access frequency, frequency level and other information can be written into the idle main recording unit for recording.

[0097] Since there is no historical storage information for the first row in the main recording unit set in this case, and correspondingly no historical counting information, the current access information of the first row is generated directly based on the access operation to the first row detected this time, such as generating the current corresponding counting information of the number of times the first row is accessed or the frequency and frequency level of access. Assuming that the starting value of the count is 0 and the count increment is 1 for each access, the current corresponding counting information of the number of accesses to the first row is 1, and the row address of the first row and the current count value "1" of the number of accesses can be stored in the first recording unit accordingly; the frequency and frequency level of accesses can be specifically determined based on the set policy to determine the corresponding frequency and frequency level of access for the number of accesses 1.

[0098] 3-2. If the row address of the first row has been recorded and the row address of the first row is recorded in the first auxiliary recording unit of the auxiliary recording unit set, the row information in the first auxiliary recording unit and the second main recording unit are exchanged, and based on the access operation, the accessed information of the first row in the second main recording unit is updated on the basis of the original accessed information of the first row.

[0099] The row information recorded in the second main recording unit meets the first access condition. The content of the first access condition can be specifically referred to the above description, which will not be repeated here.

[0100] When updating the access information of the first row in the second main recording unit based on the original access information of the first row based on the access operation, the increment value corresponding to the set single access operation can be used to accumulate the increment value on the original count value of the number of accesses of the first row based on the current access operation. In addition, based on the corresponding strategy, the access frequency, frequency level and other information of the first row can be updated according to the current access operation to the first row.

[0101] In actual applications, before performing the information exchange operation, the row information of the first row can be updated (such as increasing its count value by 1), and the updated row information can be written into the second main recording unit. Alternatively, after performing the information exchange operation, the row information of the first row that has been written into the second main recording unit can be updated (such as increasing its count value by 1). There is no limitation to this.

[0102] 3-3. If the row address of the first row has been recorded, and the row address of the first row is recorded in a third main recording unit of the main recording unit set, the currently accessed information in the third main recording unit is updated based on the access operation.

[0103] In this case, based on the access operation to the first row this time, the accessed information can be updated based on the accessed information of the first row recorded in the third main recording unit. For example, the number of accesses can be accumulated (such as adding 1) based on the count value of the number of accesses in the third main recording unit.

[0104] In addition, based on corresponding strategies and according to the current access operation to the first row, information such as the access frequency and frequency level of the first row may be updated.

[0105] This embodiment further improves the storage and replacement mechanism of the main recording unit set and the auxiliary recording unit set. By detecting the access operation of the storage row in the storage space of the storage component, and in response to detecting the access operation to the corresponding row (such as the first row), based on the storage and replacement mechanism, the row information of the corresponding row is recorded in the main recording unit, which can facilitate accurate knowledge of the access status of the high-activity storage rows that are frequently accessed / have a recent (new) access time, and thus facilitate accurate judgment of whether it is necessary to perform refresh operations on the adjacent rows of these storage rows. Moreover, for the row information replaced from the main recording unit, by writing it into the corresponding auxiliary recording unit of the auxiliary recording unit set, it is possible to avoid the replaced row information being immediately cleared, so that when the storage row represented by the replaced row information is accessed in a subsequent short period of time, it is achieved that the access information is updated on the basis of the replaced original row information. Accordingly, when a frequent access event to the replaced storage row is subsequently generated, the current record information can still accurately reflect the access status of the storage row, and the accuracy of the refresh management of the adjacent rows of the storage row can be ensured as much as possible.

[0106] In an optional embodiment, in step 102 of the method provided in the embodiment of the present application, writing the original row information in the first recording unit into the corresponding auxiliary recording unit of the auxiliary recording unit set can be implemented as follows:

[0107] The original row information in the first main recording unit is written into a second auxiliary recording unit that meets a second access condition.

[0108] When writing the original row information in the first main recording unit into the second auxiliary recording unit satisfying the second access condition, if the second auxiliary recording unit is not idle, the original row information recorded in the second auxiliary recording unit may be cleared first.

[0109] The corresponding auxiliary recording unit satisfies the second access condition, indicating that it is allowed to write row information of the storage row into the corresponding auxiliary recording unit.

[0110] Optionally, the second access condition includes:

[0111] Condition a: the auxiliary recording unit is idle; or, condition b: the counting information of the corresponding storage row is the counting information that satisfies the second numerical condition among the various counting information recorded in the auxiliary recording unit set, and in the case where there are multiple counting information that satisfy the second numerical condition, the counting information of the corresponding storage row is the counting information that satisfies the second time condition among the multiple counting information that satisfy the second numerical condition.

[0112] Based on the above second access condition, in implementation, a priority between condition a and condition b can be set. Optionally, the priority of condition a is higher than that of condition b, so that it can be preferentially determined based on condition a whether there is an idle auxiliary recording unit in the auxiliary recording unit set. If there is, there is no need to further determine condition b, and the original line information in the first main recording unit can be directly written into the idle auxiliary recording unit. On the contrary, if there is no idle auxiliary recording unit, condition b is further determined, that is, a second auxiliary recording unit that meets condition b is further determined from the auxiliary recording unit set, and the original line information in the first main recording unit is written into the determined second auxiliary recording unit.

[0113] Of course, the actual application is not limited to this, and both condition a and condition b may be judged. As long as the auxiliary recording unit meets one of them, it can be determined that the auxiliary recording unit meets the second access condition.

[0114] The second numerical condition is a condition that the count information used to characterize the number of times the corresponding storage row is accessed is a lower count value among the count information recorded in the auxiliary recording unit set, and can be specifically but not limited to one of the following conditions 4-1 to 4-3:

[0115] Condition 4-1: The count value of the number of times the corresponding storage row is accessed is the minimum value of each count value recorded in the auxiliary recording unit set.

[0116] Condition 4-2: The count value of the number of accesses of the corresponding storage row is top_k3 in the ascending sequence of the count values ​​recorded in the auxiliary record unit set.

[0117] Among them, 1≤k3<n, n is the number of main record units included in the main record unit set, and k3 and n are both integers.

[0118] Condition 4-3: The count value of the number of accesses of the corresponding storage row is less than the set count threshold.

[0119] The second time condition is a condition for representing that the latest access time of the corresponding storage row is the earliest latest access time among the storage rows corresponding to the auxiliary record units in the auxiliary record unit set, and can be specifically but not limited to being set to one of the following conditions 5-1 to 5-3:

[0120] Condition 5-1: the latest access time of the corresponding storage row is the earliest / smallest among the latest access times of the storage rows corresponding to the information recorded in the auxiliary recording unit set;

[0121] Condition 5-2: the latest access time of the corresponding storage row is top_k4 in the ascending sequence of the latest access time of each storage row corresponding to the information recorded in the auxiliary record unit set.

[0122] Wherein, 1≤k4<n, k4 is an integer, and the meaning of n refers to the above description.

[0123] The latest access time ascending sequence is a sequence obtained by sorting the latest access time of each storage row corresponding to the information recorded in the auxiliary record unit set in chronological order.

[0124] Condition 5-3: The latest access time of the corresponding storage row is earlier than the set time threshold.

[0125] In practical applications, the time threshold may be adjusted regularly or irregularly as time goes by.

[0126] The number of auxiliary record units included in the auxiliary record unit set corresponds to the length of time that the replaced row information in the main record unit can be delayed for recording, and also corresponds to the number of storage row conflicts that can be resolved for frequent alternating access. The larger the number of auxiliary record units included in the auxiliary record unit set, the longer the length of time that the replaced row information in the main record unit can be delayed for recording, and the larger the number of storage row conflicts that can be resolved for frequent alternating access. On the contrary, the smaller the number of auxiliary record units included in the auxiliary record unit set, the shorter the length of time that the replaced row information in the main record unit can be delayed for recording, and the smaller the number of storage row conflicts that can be resolved for frequent alternating access. For example, if the number of auxiliary record units is 2, it can solve the conflict recording problem of the frequent alternating replacement of 3 storage rows when 3 storage rows are frequently alternatingly accessed at most, and can ensure that the row information of the 3 storage rows is correctly recorded, and the counting information will not be cleared to 0 due to frequent alternating access, thereby affecting the accuracy of refresh management.

[0127] It is easy to understand that the larger the number of auxiliary recording units, the more row information recording problems can be solved when the storage rows are accessed alternately, and the row information replaced in the main recording unit can be delayed for a longer time, but it will increase resource overhead. In actual applications, the number of auxiliary recording units can be reasonably configured based on multiple factors such as performance and resource overhead.

[0128] This embodiment further improves the storage and replacement mechanism for the main record unit set and the auxiliary record unit set. For the row information of the storage row replaced from the main record unit set, by determining the second auxiliary record unit that meets the second access condition from the auxiliary record unit set, and writing the row information of the storage row replaced from the main record unit set into the second auxiliary record unit that meets the second access condition, on the one hand, it can avoid the row information of the storage row replaced in the main record unit set from being cleared, and support the subsequent update of the accessed information based on the original row information of the storage row when the storage row is accessed, thereby ensuring the accuracy of the refresh management of the adjacent rows of the storage row; on the other hand, it can ensure that the row information replaced / cleared in the auxiliary record unit set is the row information corresponding to the storage row with low activity, and the storage row corresponding to such information is correspondingly the storage row with no refresh demand or low refresh demand, so that the refresh management of the storage row will not be adversely affected due to clearing the row information of such storage row in the auxiliary record unit.

[0129] In an alternative embodiment, see Figure 2 The processing method flow chart shown in the figure, the processing method provided by the present application may also include the following processing:

[0130] Step 103: In response to the currently accessed information of the second row in the main recording unit set satisfying the target condition, target refresh processing is performed on the adjacent rows of the second row.

[0131] The target condition is a condition used to characterize the need to refresh the adjacent rows of the corresponding storage row due to frequent access to the corresponding storage row, and can be, but is not limited to, set to at least one of the following: the current count value of the number of times the corresponding storage row is accessed reaches a count threshold, the current access frequency of the corresponding storage row reaches a set level threshold, and the current access frequency level of the corresponding storage row reaches a set level threshold.

[0132] In actual applications, it is possible to detect whether the currently accessed information of each storage row recorded in the main recording unit set meets the target condition. In response to the current accessed information of the second row in the main recording unit set meeting the target condition, target refresh processing of the adjacent rows of the second row is triggered.

[0133] When performing target refresh processing on the adjacent rows of the second row, a refresh instruction containing the row address and target operation information of the second row can be first generated. For example, in response to the number of times the second row in the main recording unit set is accessed reaching a threshold in the current corresponding counting information, a refresh instruction containing the row address and target operation information of the second row is generated; the target operation information is used to indicate the refresh operation corresponding to the target refresh processing.

[0134] Afterwards, the target adjacent row of the second row to be refreshed is determined according to the row address of the second row and the preset number of adjacent rows. Assuming that the preset number of adjacent rows is x, the x storage rows adjacent to the front of the second row and / or the x storage rows adjacent to the back of the second row can be determined as the target adjacent rows to be refreshed for the second row. The adjacent or neighboring between different storage rows refers to the adjacent or neighboring between the row addresses of different storage rows.

[0135] On this basis, a refresh operation indicated by the target operation information is further performed on the target adjacent row corresponding to the second row.

[0136] In an optional embodiment, the refresh operation indicated by the target operation information refers to refreshing all storage rows in the target adjacent rows corresponding to the second row.

[0137] However, it is not limited thereto, and may also refer to refreshing a portion of the target adjacent rows corresponding to the second row, and performing probabilistic refreshing on the remaining portion of the storage rows. Probabilistic refreshing of storage rows refers to refreshing storage rows according to a certain probability.

[0138] For example, assuming that the preset number of adjacent rows is 2, the rows adjacent to and before the second row (i.e., the storage rows indicated by the row addresses obtained by the row address row_addr±1 of the second row) can be refreshed, and the next adjacent rows adjacent to and before the second row (i.e., the storage rows indicated by the row addresses obtained by the row address row_addr±2 of the second row) can be probabilistically refreshed according to the set probability.

[0139] For DRFM, DRFM performance and related characteristic parameters support the use of MR (Mode Register) configuration, which can be, but is not limited to, based on MR configuration whether the current storage component such as the memory chip supports DRFM, whether BRC (Bounded Refresh Configuration) is enabled when DRFM is supported, and what is the specific value set for BRC when BRC is enabled, etc. The value of BRC represents the refresh boundary, which can be used as a preset number of adjacent rows. For example, for the second row, if BRC=2, it means that the adjacent and next adjacent rows before and after the second row need to be refreshed, such as refreshing the storage row indicated by the row address obtained after the row address row_addr±1 of the second row, and performing probabilistic refresh on the storage row indicated by the row address obtained after the row address row_addr±2 of the second row, etc.

[0140] After the target adjacent row corresponding to the second row is subjected to target refresh processing, the accessed information in the row information corresponding to the second row may be cleared to update the accessed information of the second row from zero.

[0141] For example, the counting information of the number of times the second row is accessed is cleared to zero, and subsequently, when an access operation to the second row is detected, the number of times the second row is accessed is counted starting from 0 in response to detecting the access operation.

[0142] This embodiment satisfies the refresh requirements of the neighboring rows of the frequently accessed rows by performing a refresh operation on the neighboring rows of the determined storage row, and effectively ensures the data correctness of the neighboring rows of the frequently accessed rows. And by clearing the access information of the corresponding storage row after performing a refresh operation on the neighboring rows of the corresponding storage row, the accuracy of the access information (such as the count information of the number of accesses) of each storage row after each refresh operation is effectively ensured, and the accuracy of the refresh management of the neighboring rows of each storage row can be ensured accordingly.

[0143] In an optional embodiment, an application example of the method of the present application is provided. In this example, the storage component is a memory chip, such as a DDR memory chip, each memory chip generally includes multiple banks, and each bank in the memory is a logical storage area, which includes multiple storage rows.

[0144] In this example, the refresh processing of the storage row in the memory chip is a DRFM-based refresh processing.

[0145] Optionally, in this example, DRFM uses Bank as the granularity, and sets an independent refresh engine module DRFMEngine for each Bank. Based on the collaboration between a memory controller such as DDRC (DDR Controller) and the DRFM Engine, refresh management of storage rows in each Bank of the memory chip is implemented.

[0146] This example uses Bank as the granularity and sets 4 main recording units and 2 auxiliary recording units for each Bank to record the row address (row_addr) of the corresponding row in the Bank and the counting information of the number of accesses.

[0147] Whenever DDRC executes an access command to a storage row, it records or updates the row information of the accessed row in the main record unit of the corresponding Bank based on the processing method provided in this application, such as recording the row address row_addr of the accessed row and the count information of the number of accesses, or updating the count information of the number of accesses of the accessed row. Optionally, DRFMEngine detects the count values ​​of the number of accesses of different rows in each main record unit. Once it detects that the count value of the number of accesses of the row corresponding to a row_addr reaches a threshold, the row_addr reaching the threshold is reported to DDRC. DDRC generates a DRFM refresh command including the reported row_addr and the action "refresh" to be executed, and sends the refresh command to memory chips such as DDR particles. Memory chips such as DDR particles read BRC in combination with the refresh command to implement refresh processing of the adjacent rows before / after the row specified by the DRFM command.

[0148] Assuming that the interval between two RFM refreshes in memory chips such as DDR is tREFI = 3.906us, and the minimum time interval between two ACTs (ACT refers to access operations, and the two ACTs here refer to two access operations to the same storage row) for the same storage row is minimum time = 60ns, then the maximum number of ACTs between two RFM refreshes is max_num≈64 times. Each Bank uses 4 main record units to record the number of ACTs executed on the corresponding row address, and marks the main record unit with the highest count value of the current access count, as well as the smallest and relatively earliest (the earliest here refers to the earliest time when the current count value corresponding to row_addr appears) row_addr and the corresponding number of ACTs in the main record unit. At the same time, 2 auxiliary record units are configured to record the row_addr and the corresponding number of ACTs replaced from the main record unit for the last two times. Each main record unit or each auxiliary record unit can be used to record the information of a storage row at the same time. When the number of row_addrs that the main record unit needs to record exceeds 4, an auxiliary record unit is required to replace them.

[0149] The replacement method is optimized based on the LFU algorithm, combined with reference Figure 3 , the working steps are as follows:

[0150] 1) Detect access operations to storage rows in the Bank;

[0151] 2) In response to detecting an access operation to the first row in the Bank, if the row address of the first row is not recorded and there is an idle primary recording unit, the row_addr of the first row and the count value 1 of the number of accesses are written into the idle primary recording unit;

[0152] 3) If the row_add of the first row is not recorded, but there is no free main record unit, select the main record unit with the smallest ACT number. If there are multiple main record units with the smallest ACT number, select the main record unit where the row_addr with the earliest corresponding current count value appears, and write the row information of the first row into the main record unit.

[0153] like Figure 3 As shown, Figure 3 Each recording unit without grayscale is a main recording unit, and each recording unit with grayscale is an auxiliary recording unit. Max represents the main recording unit with the highest count value of the current access times, and Min represents the main recording unit with the smallest count value of the current access times. "Min, oldest" represents the main recording unit with the smallest count value of the current access times and the earliest time among the main recording units with the smallest count value (that is, the time when the current count value appears earliest). For the new address 0xe0 to be written to the main recording unit, the address 0xd0 with the smallest and earliest ACT number is selected for replacement, and the replaced 0xd0 address and its corresponding ACT number are recorded in the auxiliary recording unit, such as recorded in the auxiliary recording unit ghost0.

[0154] 4) If the row_addr of the first row has been recorded and exists in the main record unit, the count value in the main record unit where the row_addr of the first row is located is directly increased by 1.

[0155] For example, for the address 0xa0, if an access operation to the storage row represented by it is detected, the count value of the number of accesses is accumulated based on the original count value of the address 0xa0.

[0156] 5) If the row_addr of the first row has been recorded, but the row_addr of the first row exists in the auxiliary recording unit, select the main recording unit with the "Min" mark or the "Min, oldest" mark to exchange the information with the auxiliary recording unit where the row_addr of the first row is located, and add 1 to the count information of the first row.

[0157] 6) When the count number of a row, such as the access number of row_addr=0xa0, reaches the DRFM threshold number N, the DRFM engine module corresponding to the Bank will feed back row_addr=0xa0 to DDRC, and DDRC will initiate a DRFM command containing row_addr=0xa0 and the operation "refresh" to DDR. DDR will refresh the adjacent rows of row_addr=0xa0 based on the command and the value of BRC; after the refresh is completed, the count value corresponding to the address 0xa0 will be cleared.

[0158] In the case where the ACT command (i.e., data access command) is executed alternately on two or more storage rows, and the access count value corresponding to the storage row where the ACT command is executed alternately is the smallest, the following is Figure 4 and Figure 5 As an example, the solution of the embodiment of the present application is described (corresponding to Figure 5 ) Compared with the LFU algorithm in the known technology (corresponding to Figure 4 )’s advantages.

[0159] In the LFU algorithm of the known technology, there is no auxiliary recording unit, and accordingly there is no concept of primary recording unit and auxiliary recording unit. When the number of row_addr to be recorded by the recording unit exceeds the number of recording units, such as 4, the row information of the record needs to be replaced. Figure 4 For example, assuming that there is a situation where the storage rows corresponding to the row addresses 0xd0 and 0xe0 are accessed alternately, the row information of row_addr=0xd0 and row_addr=0xe0 needs to be continuously replaced in the recording unit. Then, the result is that the two row_addrs 0xd0 and 0xe0 are continuously replaced in the recording unit and the corresponding count value is always 1 (each time they are replaced, it is equivalent to the original count value being cleared, resulting in counting from 0). This is obviously inconsistent with the actual situation that the rows corresponding to 0xd0 and 0xe0 are frequently accessed. Correspondingly, the counting result of the number of times the rows corresponding to 0xd0 and 0xe0 are accessed does not conform to the actual situation, and it is difficult to meet the refresh requirements of the adjacent rows corresponding to the frequently accessed rows 0xd0 / 0xe0.

[0160] In the examples provided based on the method of this application, refer to Figure 5 , in addition to the 4 main recording units ( Figure 5 Each recording unit without grayscale) and two auxiliary recording units ( Figure 5 Each record unit with gray scale in the main record unit) is used to record the row_addr that has been recently replaced from the main record unit and its corresponding access count value.

[0161] For the case where the storage rows corresponding to row addresses 0xd0 and 0xe0 are accessed alternately, such as Figure 5As shown, when the access operation to the row corresponding to 0xe0 causes the address 0xe0 to be recorded for the first time, the row information corresponding to the address 0xe0 is replaced with the row information corresponding to the address 0xd0 in the main recording unit marked with "Min", i.e., the smallest count value, and the address 0xd0 and its corresponding count value are transferred and recorded in the auxiliary recording unit. After that, when the row corresponding to 0xd0 is accessed again and 0xd0 needs to be recorded in the main recording unit, the count value corresponding to 0xd0 in the auxiliary recording unit is increased by 1 and replaced with 0xe0 and its count value in the main recording unit. When the row corresponding to 0xe0 is accessed again, the count values ​​in each main recording unit are compared to select 0xc0, which is the smallest and reaches 2 the earliest, for replacement. 0xc0 and its count value are transferred to the auxiliary recording unit for recording. At this time, 0xb0 becomes the smallest and earliest row_addr, and thus serves as the next replacement target. Compared with the LFU algorithm in the known technology, this example can accurately record the row information of the storage rows corresponding to the 4 row add that execute the ACT command most frequently based on 4 main recording units. This example uses two auxiliary record units to solve the problem of counting value deviation caused by the rows corresponding to the two row_addrs being frequently accessed and replaced. Figure 5 In the example, the auxiliary recording unit ghost1 is idle and not enabled, that is, the number of auxiliary recording units is 2, which can solve the problem that the rows corresponding to the 3 row_addr are accessed alternately and the recorded row information needs to be constantly replaced, thereby effectively meeting the refresh requirements for the adjacent rows of these frequently accessed storage rows.

[0162] Corresponding to the above processing method, the present application embodiment also provides a processing device, whose composition structure is as follows: Figure 6 As shown, including:

[0163] An acquisition module 601 is configured to obtain a row address of a first row in a storage space of a storage component in response to detecting an access operation to the first row;

[0164] The recording processing module 602 is configured to replace the row information in the first recording unit with the row information corresponding to the first row if the row address of the first row is not recorded and there is no idle primary recording unit in the primary recording unit set, and write the original row information in the first recording unit into the corresponding secondary recording unit in the secondary recording unit set;

[0165] Among them, the original row information recorded in the first main recording unit meets the first access condition, and the row information in the corresponding main recording unit meets the first access condition, indicating that the row information in the corresponding main recording unit is allowed to be replaced; each recording unit in the main recording unit set and the auxiliary recording unit set is used to record the row information of the corresponding storage row in the storage space of the storage component, and the row information includes a row address and currently accessed information of the storage row indicated by the row address, and the currently accessed information is used to determine whether it is necessary to refresh the adjacent rows of the corresponding storage row.

[0166] In an optional implementation, the record processing module 602 is further configured to:

[0167] If the row address of the first row is not recorded, and there is an idle main recording unit in the main recording unit set, the row information corresponding to the first row is written into the idle main recording unit.

[0168] In an optional implementation, the record processing module 602 is further configured to:

[0169] If the row address of the first row has been recorded, and the row address of the first row is recorded in a first auxiliary recording unit of the auxiliary recording unit set, the row information in the first auxiliary recording unit and the second main recording unit are exchanged, and the accessed information of the first row in the second main recording unit is updated based on the original accessed information of the first row according to the access operation; the row information recorded in the second main recording unit meets the first access condition;

[0170] If the row address of the first row has been recorded, and the row address of the first row is recorded in a third main recording unit of the main recording unit set, currently accessed information in the third main recording unit is updated based on the access operation.

[0171] In an optional implementation manner, the currently accessed information stored in each main recording unit includes current counting information of the number of times the corresponding storage row is accessed;

[0172] The first access condition includes:

[0173] The counting information of the corresponding storage row is the counting information that satisfies the first numerical condition among the various counting information recorded in the main recording unit set, and when there are multiple counting information that satisfy the first numerical condition, the counting information of the corresponding storage row is the counting information that satisfies the first time condition among the multiple counting information that satisfy the first numerical condition.

[0174] In an optional implementation manner, the record processing module 602, when writing the original row information in the first record unit into the corresponding auxiliary record unit of the auxiliary record unit set, is specifically configured to:

[0175] Writing the original row information in the first main recording unit into a second auxiliary recording unit that meets a second access condition;

[0176] The corresponding auxiliary recording unit satisfies the second access condition, indicating that it is allowed to write row information of the storage row to be recorded into the corresponding auxiliary recording unit.

[0177] In an alternative embodiment,

[0178] The currently accessed information stored in each main recording unit includes the current count information of the number of accesses to the corresponding storage row;

[0179] The second access condition includes:

[0180] The auxiliary recording unit is idle;

[0181] Or, the counting information of the corresponding storage row is the counting information that satisfies the second numerical condition among the various counting information recorded in the auxiliary record unit set, and when there are multiple counting information that satisfy the second numerical condition, the counting information of the corresponding storage row is the counting information that satisfies the second time condition among the multiple counting information that satisfy the second numerical condition.

[0182] In an optional implementation, the apparatus further comprises a refresh processing module for performing target refresh processing on adjacent rows of the second row in response to the currently accessed information of the second row in the main recording unit set satisfying a target condition.

[0183] In an optional implementation manner, the refresh processing module, in response to the current accessed information of the second row in the main recording unit set satisfying the target condition, performs target refresh processing on the adjacent rows of the second row, is specifically configured to:

[0184] In response to the count information corresponding to the number of times the second row in the main recording unit set is accessed reaching a threshold, generating a refresh instruction including the row address of the second row and target operation information; the target operation information is used to indicate the refresh operation corresponding to the target refresh process;

[0185] Determining a target adjacent row corresponding to the second row and on which the refresh operation is to be performed according to the row address of the second row and a preset number of adjacent rows;

[0186] A refresh operation indicated by the target operation information is performed on the target adjacent row.

[0187] In an optional embodiment, the apparatus further includes a cleaning module for clearing the accessed information in the row information corresponding to the second row after target refresh processing is performed on the adjacent rows of the second row, so as to update the accessed information of the second row from zero.

[0188] The present application also discloses an electronic device, the composition structure of the electronic device, such as Figure 7 As shown, including at least:

[0189] A memory 10, for storing a computer instruction set;

[0190] A set of computer instructions can be implemented in the form of a computer program.

[0191] The processor 20 is used to implement the processing method provided by any of the above method embodiments by executing a computer instruction set.

[0192] The processor 20 can be a central processing unit (CPU), an application-specific integrated circuit (ASIC), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), a neural network processor (NPU), a deep learning processor (DPU) or other programmable logic devices, etc.

[0193] The electronic device includes a display device and / or includes a display interface and can be connected to an external display device.

[0194] Optionally, the electronic device also includes a camera assembly, and / or is connected to an external camera assembly.

[0195] In addition, the electronic device may also include components such as a communication interface and a communication bus. The memory, the processor and the communication interface communicate with each other through the communication bus.

[0196] The communication interface is used for communication between electronic devices and other devices. The communication bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc.

[0197] It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0198] For the convenience of description, the above system or device is described by dividing it into various modules or units according to its functions. Of course, when implementing the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0199] It can be known from the description of the above implementation methods that those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of the present application can be essentially or the part that makes a creative contribution can be embodied in the form of a software product, which can be stored in a storage medium such as ROM / RAM, a disk, an optical disk, etc., including several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present application or some parts of the embodiments.

[0200] Finally, it should be noted that, in this article, relational terms such as first, second, third and fourth are used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0201] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A processing method comprising: In response to detecting an access operation to a first row in a storage space of a storage component, obtaining a row address of the first row; If the row address of the first row is not recorded and there is no idle primary recording unit in the primary recording unit set, replace the row information in the first recording unit with the row information corresponding to the first row, and write the original row information in the first recording unit into the corresponding secondary recording unit in the secondary recording unit set; The original row information recorded in the first main recording unit satisfies the first access condition, and the row information in the corresponding main recording unit satisfies the first access condition, indicating that the row information in the corresponding main recording unit is allowed to be replaced; Each recording unit in the primary recording unit set and the auxiliary recording unit set is used to record row information of a corresponding storage row in the storage space of the storage component, wherein the row information includes a row address and currently accessed information of the storage row indicated by the row address, and the currently accessed information is used to determine whether a refresh operation is required on adjacent rows of the corresponding storage row.

2. The processing method according to claim 1, further comprising: If the row address of the first row is not recorded, and there is an idle main recording unit in the main recording unit set, the row information corresponding to the first row is written into the idle main recording unit.

3. The processing method according to claim 1, further comprising: If the row address of the first row has been recorded, and the row address of the first row is recorded in a first auxiliary recording unit of the auxiliary recording unit set, swapping row information in the first auxiliary recording unit and a second main recording unit, and updating the accessed information of the first row in the second main recording unit based on the original accessed information of the first row according to the access operation; The row information recorded in the second main recording unit meets the first access condition; If the row address of the first row has been recorded, and the row address of the first row is recorded in a third main recording unit of the main recording unit set, currently accessed information in the third main recording unit is updated based on the access operation.

4. The processing method according to claim 1 or 3, wherein the currently accessed information stored in each main recording unit includes the current count information of the number of times the corresponding storage row is accessed; The first access condition includes: The counting information of the corresponding storage row is the counting information that satisfies the first numerical condition among the various counting information recorded in the main recording unit set, and when there are multiple counting information that satisfy the first numerical condition, the counting information of the corresponding storage row is the counting information that satisfies the first time condition among the multiple counting information that satisfy the first numerical condition.

5. The processing method according to claim 1, wherein writing the original row information in the first recording unit into the corresponding auxiliary recording unit of the auxiliary recording unit set comprises: Writing the original row information in the first main recording unit into a second auxiliary recording unit that meets a second access condition; The corresponding auxiliary recording unit satisfies the second access condition, indicating that it is allowed to write row information of the storage row to be recorded into the corresponding auxiliary recording unit.

6. The processing method according to claim 5, wherein the currently accessed information stored in each main recording unit includes the current count information of the number of accesses to the corresponding storage row; The second access condition includes: The auxiliary recording unit is idle; Or, the counting information of the corresponding storage row is the counting information that satisfies the second numerical condition among the various counting information recorded in the auxiliary record unit set, and when there are multiple counting information that satisfy the second numerical condition, the counting information of the corresponding storage row is the counting information that satisfies the second time condition among the multiple counting information that satisfy the second numerical condition.

7. The processing method according to claim 1, further comprising: In response to the currently accessed information of the second row in the main recording unit set satisfying the target condition, target refresh processing is performed on the adjacent rows of the second row.

8. The processing method according to claim 7, wherein in response to the currently accessed information of the second row in the main recording unit set satisfying the target condition, performing target refresh processing on the adjacent rows of the second row, comprises: In response to the number of times the second row in the main recording unit set is accessed reaching a threshold in the currently corresponding count information, generating a refresh instruction including the row address and target operation information of the second row; The target operation information is used to indicate the refresh operation corresponding to the target refresh process; Determining a target adjacent row corresponding to the second row and on which the refresh operation is to be performed according to the row address of the second row and a preset number of adjacent rows; A refresh operation indicated by the target operation information is performed on the target adjacent row.

9. The processing method according to claim 7, after performing target refresh processing on the adjacent rows of the second row, further comprising: The accessed information in the row information corresponding to the second row is cleared to zero, so as to update the accessed information of the second row from zero.

10. A processing device comprising: an acquisition module, configured to obtain a row address of a first row in a storage space of a storage component in response to detecting an access operation to the first row; a record processing module, configured to replace the row information in the first recording unit with the row information corresponding to the first row, and write the original row information in the first recording unit into the corresponding auxiliary recording unit of the auxiliary recording unit set if the row address of the first row is not recorded and there is no idle main recording unit in the main recording unit set; The original row information recorded in the first main recording unit satisfies the first access condition, and the row information in the corresponding main recording unit satisfies the first access condition, indicating that the row information in the corresponding main recording unit is allowed to be replaced; Each recording unit in the primary recording unit set and the auxiliary recording unit set is used to record row information of a corresponding storage row in the storage space of the storage component, wherein the row information includes a row address and currently accessed information of the storage row indicated by the row address, and the currently accessed information is used to determine whether a refresh operation is required on adjacent rows of the corresponding storage row.