CN103902469B - A kind of method and system of data pre-fetching - Google Patents

A kind of method and system of data pre-fetching Download PDF

Info

Publication number
CN103902469B
CN103902469B CN201210571705.XA CN201210571705A CN103902469B CN 103902469 B CN103902469 B CN 103902469B CN 201210571705 A CN201210571705 A CN 201210571705A CN 103902469 B CN103902469 B CN 103902469B
Authority
CN
China
Prior art keywords
terminal
address
depth values
memory access
register
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.)
Expired - Fee Related
Application number
CN201210571705.XA
Other languages
Chinese (zh)
Other versions
CN103902469A (en
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.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
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 Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201210571705.XA priority Critical patent/CN103902469B/en
Publication of CN103902469A publication Critical patent/CN103902469A/en
Application granted granted Critical
Publication of CN103902469B publication Critical patent/CN103902469B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

The invention discloses a kind of method and system of data pre-fetching.The embodiment of the present invention is using in advance to local terminal and the pre-fetch depth values different from the distance terminal setting that local terminal is connected, when pre-fetching system receives the memory access address of processor transmission, judgement is made a distinction to the terminal belonging to the memory access address, so as to obtain corresponding pre-fetch depth values.The present invention can improve cache hit rate in the case of extra pre-fetching system is not set up, and reduce the time delay for accessing remote memory, reduce cost.There is provided Programming Interface simultaneously, operationally dynamic can change the corresponding pre-fetch depth values of each terminal.

Description

A kind of method and system of data pre-fetching
Technical field
The present invention relates to communication technical field, and in particular to a kind of method and system of data pre-fetching.
Background technology
With developing rapidly for information technology, network size exponentially increases with number of users, also more and more huger, is Support disconnecting operation employs prefetching technique, and prefetching technique is fetched data into from main memory slow using the principle of locality of program In storage, make directly to fetch data from buffer during processor memory access, greatly reduce memory access time and network delay, improve system Performance.
Prefetching technique can be divided into software prefetching and hardware is prefetched.At present, for software prefetching, most processor The prefetched instruction of different-format is held, but data pre-fetching is carried out by instruction and have instruction overhead;Hardware prefetching technique is in true ring It is widely used in border, it does not need the participation of programmer and compiler, it is not necessary to change executable file, so not instructing out Pin, hardware prefetch information modification pre-fetching system parameter when can also utilize system operation, make to prefetch more efficient.
In server cluster, using interconnection technique, shared drive, i.e. some nodes can use among the nodes The internal memory of oneself is not belonging to, and uses the internal memory of distant-end node, but the time delay of remote memory is accessed than accessing local memory Time delay much higher.Assume there is individual node using the internal memory of oneself is not belonging to, the prefetcher on the node does not differentiate between processor The memory access address for sending is local memory or remote memory, also just cannot carry out data for the situation for accessing remote memory pre- Take optimization.
It was found by the inventors of the present invention that the existing local memory just for node carries out data pre-fetching, node is not considered The time delay for accessing remote memory cannot be reduced using the forecasting method of remote memory, this will cause in the cluster using remote memory In, reduce system energy.
Content of the invention
The embodiment of the present invention provides a kind of method and system of data pre-fetching, to, in the group system of interconnection, distinguishing The situation that processor accesses local memory and remote memory is treated, the mode that prefetches for remote memory is improved, is reduced access remote The time delay of end memory, improves systematic entirety energy.
In a first aspect, the embodiment of the present invention provides a kind of method of data pre-fetching, including:
Receive the memory access address that the processor of first terminal sends;
Terminal according to belonging to default first relation table the obtains the memory access address and terminal is corresponding prefetches depth Angle value, wherein, first relation table is included the corresponding pre-fetch depth values of the first terminal, is connected with the first terminal The memory address of terminal and pre-fetch depth values corresponding with the terminal that the first terminal is connected;
Data pre-fetching is carried out to the first terminal using the pre-fetch depth values for obtaining.
In the first possible embodiment, in conjunction with a first aspect, described obtain institute according to default first relation table Stating the terminal belonging to memory access address and the corresponding pre-fetch depth values of the terminal includes:
Internal memory by the memory access address for receiving and the terminal being connected with the first terminal in first relation table Address is mated, if the match is successful, according to the internal memory ground that the first relation table obtains the terminal being connected with the first terminal Pre-fetch depth values corresponding to location;If coupling is unsuccessful, the first terminal is obtained according to first relation table corresponding Pre-fetch depth values.
In second possible embodiment, in conjunction with the first possible embodiment party of first aspect or first aspect Formula, the corresponding pre-fetch depth values of the first terminal in first relation table, with the first terminal be connected terminal corresponding Pre-fetch depth values are stored respectively in M and prefetch depth deposit wherein, the memory address point of the terminal being connected with the first terminal It is not stored in N number of address register, wherein, M and N is positive integer.
In the third possible embodiment, in conjunction with second possible embodiment, described according to the first relation table Obtaining the terminal belonging to the memory access address and the corresponding pre-fetch depth values of the terminal includes:
The memory access address for receiving is mated with the memory address stored in N number of address register successively;
If the match is successful, from described N number of prefetch in depth register, select relative with the address register that the match is successful That answered prefetches depth register, and obtains pre-fetch depth values;
If coupling is unsuccessful, acquisition pre-fetch depth values in depth register are prefetched from first terminal is corresponding.
Wherein, in the above-described embodiment, the memory access address is the virtual address that sends of the processor through bypass The physical address obtained after conversion buffered TLB conversions.
In the 4th kind of possible embodiment, the method for the data pre-fetching is also included periodically to first relation table In the corresponding pre-fetch depth values of the first terminal, pre-fetch depth values corresponding with the terminal that the first terminal is connected carry out Update.
In the 5th kind of possible embodiment, in conjunction with second possible embodiment, described by the memory access for receiving Address is carried out mating specifically including with the memory address stored in N number of address register successively:
The memory access address and default address mask are carried out phase and computing;
To be mated with the memory address stored in N number of address register with acquired results after computing successively.
Second aspect, the embodiment of the present invention also provide a kind of system of data pre-fetching, including:
Receiver module, for receiving the memory access address that the processor of first terminal sends;
Acquisition module, for terminal and the terminal according to belonging to the default first relation table acquisition memory access address Corresponding pre-fetch depth values, wherein, first relation table includes the corresponding pre-fetch depth values of first terminal and described first eventually The memory address of the terminal that end is connected and pre-fetch depth values corresponding with the terminal that the first terminal is connected;
Module is prefetched, the pre-fetch depth values obtained using the acquisition module carry out data pre-fetching to the first terminal.
In the first possible embodiment, in conjunction with second aspect, the acquisition module includes:
First matching unit, in the memory access address that receives the receiver module and first relation table with The memory address of the terminal that the first terminal is connected is mated;
First transfers unit, for when the match is successful for first matching module, being obtained according to first relation table Pre-fetch depth values corresponding with the terminal that the first terminal is connected;When first matching module coupling is unsuccessful, according to First relation table obtains the corresponding pre-fetch depth values of the first terminal.
In second possible embodiment, in conjunction with second aspect, the acquisition module includes N number of address deposit Device, M prefetches depth register, the second matching unit and second and transfers unit, and wherein, N and M is positive integer;
N number of address register is respectively used to the memory address for storing the terminal being connected with the first terminal;
The M prefetches depth register and is respectively used to store the corresponding pre-fetch depth values of the first terminal, Huo Zheyu The corresponding pre-fetch depth values of the connected terminal of the first terminal;
Post with N number of address successively the memory access address that second matching unit is used for being received the receiver module The memory address stored in storage is mated;
Described second transfers unit is used for, when the match is successful for second matching unit, prefetching depth from the M and posting In storage, selection is corresponding with the address register that the match is successful prefetches depth register and obtains pre-fetch depth values;When described When second matching unit coupling is unsuccessful, transfer in depth register first terminal correspondingly from the first terminal corresponding prefetching Pre-fetch depth values.
In the third possible embodiment, in conjunction with the first possible embodiment party of second aspect or second aspect Second possible embodiment of formula or second aspect, the system of the data pre-fetching also include modular converter, the conversion Module connects the receiver module, and the memory access address conversion of the virtuality sent for the processor by the first terminal is physics Memory access address after be sent to the receiver module.
In the 4th kind of possible embodiment, the first or second in conjunction with second aspect or second aspect or Person the third possible embodiment, the system of the data pre-fetching also include update module, for periodically closing to described first It is the corresponding pre-fetch depth values of the first terminal in table, pre-fetch depth values corresponding with the terminal that the first terminal is connected It is updated.
In the 5th kind of possible embodiment, in conjunction with second possible embodiment, the system of the data pre-fetching Also include mask register, for storage address mask;
Second matching unit is used in memory access address and the mask register for receiving the receiver module Address mask carry out mutually and computing, by with computing after acquired results successively with the internal memory that stores in N number of address register Mated address.
The method of data pre-fetching provided in an embodiment of the present invention is connected to the first terminal of local terminal and with first terminal Distance terminal each arrange be adapted pre-fetch depth values, when receive processor transmission memory access address when, to the memory access Terminal belonging to address is judged that, so as to obtain corresponding pre-fetch depth values, the present invention can not set up extra pre-fetching system In the case of improve cache hit rate, reduce access remote memory time delay, reduce cost, at the same provide software programming connect Mouthful, operationally dynamic can change the corresponding pre-fetch depth values of each terminal.
Description of the drawings
Fig. 1 is the basic procedure schematic diagram of data prefetching method provided in an embodiment of the present invention;
Fig. 2 is the basic logical structure schematic diagram of data pre-fetching system provided in an embodiment of the present invention;
Fig. 3 is the basic logical structure schematic diagram of another kind of data pre-fetching system provided in an embodiment of the present invention;
Fig. 4 is the basic logical structure schematic diagram of another kind of data pre-fetching system provided in an embodiment of the present invention;
Fig. 5 is the basic logical structure schematic diagram of another kind of data pre-fetching system provided in an embodiment of the present invention;
Fig. 6 is the basic logical structure schematic diagram of another kind of data pre-fetching system provided in an embodiment of the present invention.Concrete real Apply mode
The embodiment of the present invention provides a kind of method and system of data pre-fetching, to, in the group system of interconnection, distinguishing The situation that processor accesses local memory and remote memory is treated, the mode that prefetches for remote memory is improved, is reduced access remote The time delay of end memory, improves systematic entirety energy.
In order that those skilled in the art more fully understand the present invention program, below in conjunction with the embodiment of the present invention in Accompanying drawing, to the embodiment of the present invention in technical scheme be clearly and completely described, it is clear that described embodiment is only The embodiment of a part of the invention, rather than whole embodiments.Embodiment in based on the present invention, ordinary skill people The every other embodiment obtained under the premise of creative work is not made by member, should all belong to the model of present invention protection Enclose.
The embodiment of the present invention provides a kind of method of data pre-fetching, including:
Receive the memory access address that the processor of first terminal sends;
Terminal and corresponding pre-fetch depth values according to belonging to default first relation table obtains the memory access address, its In, the terminal that first relation table is included the first terminal corresponding pre-fetch depth values, is connected with the first terminal Memory address and its corresponding pre-fetch depth values;
Data pre-fetching is carried out with the pre-fetch depth values for obtaining to the first terminal.
It should be noted that above-mentioned memory access address turns through bypass for the virtual address of the first terminal transmission of local terminal Physical address is obtained after changing buffering TLB conversions.
Due to accessing the time delay of remote memory than accessing the much higher of local memory, therefore the embodiment of the present invention is for this Ground internal memory and remote memory, and the time delay feature of different remote memories arranges different pre-fetch depth values.
Therefore, after the memory access address of processor transmission is received, the memory access address is made a distinction, the visit is judged Deposit address and be belonging to local memory or remote memory, and which remote memory particularly belonged to, so as to according to the first relation Table obtains the corresponding pre-fetch depth values in memory access address, and therefore the present invention can improve height in the case of extra pre-fetching system is not set up Fast cache hit rate, reduces the time delay for accessing remote memory, reduces cost.
The embodiment of the present invention also provides a kind of method of data pre-fetching, shown in Figure 1, including:
The memory access address that S101, the processor of reception first terminal send;
Wherein, the memory access address is the address of the access internal memory that processor CPU sends, through TLB(, bypass is changed slow Punching)The physical address generated after conversion.
S102, the terminal according to belonging to default first relation table obtains the memory access address and the terminal is corresponding prefetches Depth value, wherein, first relation table is included the corresponding pre-fetch depth values of the first terminal, is connected with the first terminal Terminal memory address and the corresponding pre-fetch depth values of terminal being connected with first terminal;
S103, using obtain pre-fetch depth values data pre-fetching is carried out to the first terminal;
In embodiments of the present invention, the distance terminal being connected to the first terminal of local terminal and with first terminal in advance point Different pre-fetch depth values are not set, specifically can be configured according to the time delay feature of different terminals.
By local terminal (i.e. first terminal) corresponding pre-fetch depth values, different distance terminals (i.e. with first terminal phase Terminal even) memory address and corresponding different pre-fetch depth values be stored in the first relation table, when receiving memory access ground Behind location, first memory access address is mated with the memory address in the first relation table, when the memory address for having terminal and the visit Deposit address identical when, then obtain the corresponding pre-fetch depth values of the terminal, when the memory address in the first relation table without terminal with When the memory access address is identical, then obtain the corresponding pre-fetch depth values of first terminal;
Further, local terminal and distance terminal can be addressed in global scope, then multiple posting is set Storage, is respectively used to store the memory address of certain distance terminal, address mask, pre-fetch depth values, has multigroup remote memory Situation is accomplished by multigroup depositor to distinguish.Terminal according to the first two depositor can determine memory access address, according to Three depositors can determine pre-fetch depth values.That is, can prefetch corresponding for the first terminal in the first relation table Depth value, pre-fetch depth values corresponding with the terminal that the first terminal is connected are stored respectively in and prefetch in depth register, with The memory address of the terminal that the first terminal is connected is stored respectively in address register, and default address mask can be stored In mask register.
Or, can also adopting, flag bit is arranged in TLB entry to determine the terminal described in memory access address.Specifically Say, from the virtual address that processor CPU sends through TLB when, can be distinguished according to the flag bit pre-set in TLB entry Which terminal memory access address belongs to, and then can be used for representing pre-fetch depth values by arranging a depositor.
The memory access address for receiving is mated with the memory address stored in N number of address register successively, wherein, N For positive integer;If the match is successful, from N number of prefetch in depth register select corresponding with the address register that the match is successful Prefetch depth register and obtain pre-fetch depth values, data pre-fetching is carried out with the pre-fetch depth values for obtaining to first terminal;If With unsuccessful, then acquisition pre-fetch depth values in depth register are prefetched from first terminal is corresponding, to the first terminal obtaining The pre-fetch depth values for taking carry out data pre-fetching.
Above-mentioned carry out mating the memory access address for receiving successively with the memory address stored in N number of address register can be with Further include:The address mask stored in the memory access address for receiving and mask register is carried out mutually and computing, will be with The result obtained after computing is mated with the memory address stored in N number of address register successively.
Assume with terminal A as local terminal, for convenience of description, the embodiment of the present invention is by taking 32-bit operating system as an example.Terminal A Local memory be 1G, while terminal A has used the 1G internal memories of terminal B, the 1G internal memories of terminal C, the 1G internal memories of terminal D.For The method that distance terminal and local terminal are distinguished with register mode, 3 depositors can just distinguish distance terminal and local end End.Setting 10 depositors in embodiments of the present invention is used for distinguishing distance terminal and local terminal, in notebook data expection method 3 distance terminals, i.e. terminal B, terminal C and terminal D are used, its depositor service condition is as shown in table 1:
1 depositor of table uses form
Terminal Corresponding address depositor Depth register is correspondingly prefetched Mask register
A Reg0=0x3FFF FFFF
B Reg1=0x01 Reg4=0x0010 Reg0=0x3FFF FFFF
C Reg2=0x10 Reg5=0x0011 Reg0=0x3FFF FFFF
D Reg3=0x11 Reg6=0x0100 Reg0=0x3FFF FFFF
When CPU sends memory access address, physical address is generated after TLB conversions, the physical address is posted with mask first The address mask prestored in storage is carried out mutually and computing, acquired results respectively with terminals physical address register Reg1, Reg2 and Reg3 compares, if equal with Reg1, illustrates that the memory access address belongs to terminal B, then the pre-fetch depth values for representing using Reg4 Data pre-fetching is carried out, other situations are similar to, if all unequal with Reg1, Reg2, Reg3, illustrate it is local terminal, i.e., eventually End A, using fixed pre-fetch depth values.The pre-fetch depth values of the fixation are set in advance.Wherein 7 are applied in the present embodiment Individual depositor, remaining depositor can be used for spread scenarios.In addition, if for reduce depositor number, can be according to access Distance terminal is grouped by the size of delay, and same group of distance terminal uses identical pre-fetch depth values.
After distinguishing distance terminal and local terminal, it is possible to use different pre-fetch depth values for different terminals. The pre-fetch depth values of an acquiescence during initialization, can be preset, after normal work, can be repaiied by the excuse for pre-setting Change the value in depth register.
Further, the method for the data pre-fetching provided by the embodiment of the present invention can also periodically to the first relation table in The corresponding pre-fetch depth values of first terminal, pre-fetch depth values corresponding with the terminal that first terminal is connected are updated, also To be periodically updated to prefetching the pre-fetch depth values stored in depth register, pre-fetch depth values can be according to the characteristics of load Modify.
The embodiment of the present invention also provides a kind of system of data pre-fetching, including:
Receiver module, for receiving the memory access address that the processor of first terminal sends;
Acquisition module, for terminal and the terminal-pair according to belonging to the default first relation table acquisition memory access address The pre-fetch depth values that answers, wherein, first relation table includes the corresponding pre-fetch depth values of first terminal and the first terminal The memory address of connected terminal and pre-fetch depth values corresponding with the terminal that first terminal is connected;
Module is prefetched, the pre-fetch depth values for obtaining using acquisition module carry out data pre-fetching to the first terminal.
Further, acquisition module can transfer unit including the first matching unit and first;First matching unit is used for The memory access address that receiver module is received is carried out with the memory address of the terminal being connected with first terminal in the first relation table Coupling;First transfers unit for when the match is successful for the first matching unit, according to the acquisition of the first relation table and first terminal phase The corresponding pre-fetch depth values of terminal even, when the first matching unit coupling is unsuccessful, obtain first eventually according to the first relation table Hold corresponding pre-fetch depth values.
Therefore, will be different in default first relation table in the system of data pre-fetching provided in an embodiment of the present invention Terminal arranges different pre-fetch depth values, the memory access address that receiver module is received by the acquisition module in data pre-fetching system with pre- If the first relation table in memory address be compared, corresponding so as to obtain terminal and the terminal belonging to the memory access address Pre-fetch depth values, therefore the hit rate that can improve cache in the case of extra pre-fetching system is not set up of the invention, reduces visiting Ask the time delay of remote memory, reduces cost.
The system that the embodiment of the present invention also provides another kind of data pre-fetching, shown in Figure 2, including:
Receiver module 210, for receiving the memory access address that the processor of first terminal sends;
Acquisition module 220, for the terminal according to belonging to the default first relation table acquisition memory access address and corresponds to Pre-fetch depth values, wherein, first relation table includes the corresponding pre-fetch depth values of first terminal with the first terminal phase The memory address of terminal even and pre-fetch depth values corresponding with the terminal that the first terminal is connected;
Module 230 is prefetched, it is pre- that the pre-fetch depth values for obtaining using acquisition module 220 carry out data to first terminal Take.
Further, acquisition module 220 can transfer unit 222 including the first matching unit 221 and first, referring to Fig. 3 It is shown,
First matching unit 221 be used in the memory access address that receives receiver module 210 and the first relation table with the The memory address of the terminal that one terminal is connected is mated;
First transfers unit 222 for when the match is successful for the first matching unit 221, is obtained and the according to the first relation table The corresponding pre-fetch depth values of the connected terminal of one terminal, when the first matching unit 221 mates unsuccessful, according to the first relation table Obtain the corresponding pre-fetch depth values of first terminal.
Or, acquisition module 220 can include that N number of address register 223, M prefetches depth register 224, second Unit 226 is transferred with unit 225 and second, wherein, N and M is positive integer, shown in Figure 4,
N number of address register 223 is respectively used to the memory address for storing the terminal being connected with first terminal;
M prefetches depth register 224 and is respectively used to store the corresponding pre-fetch depth values of first terminal and first terminal phase The corresponding pre-fetch depth values of terminal even;
Second matching unit 225 be used for memory access address that receiver module 210 is received successively with N number of address register The memory address stored in 223 is mated;
Second transfers unit 226 is used for, when the match is successful for the second matching unit 225, prefetching in depth register from M Selection is corresponding with the address register that the match is successful to be prefetched depth register and obtains pre-fetch depth values;When the second coupling list When 225 coupling of unit is unsuccessful, transfer in depth register that first terminal is corresponding to prefetch depth from first terminal corresponding prefetching Value.
Further, the embodiment of the present invention also provides a kind of system of data pre-fetching, shown in Figure 5, shown in Fig. 2 On the basis of embodiment, the system of the data pre-fetching also includes modular converter 240,
Modular converter 240 is connected with the receiver module 210, the visit of the virtuality sent for the processor by first terminal Receiver module 210 is sent to after depositing the memory access address that address conversion is physics.
Further, the embodiment of the present invention also provides a kind of system of data pre-fetching, shown in Figure 6, shown in Fig. 2 On the basis of embodiment, the system of the data pre-fetching also includes update module 250,
Update module 250 is connected with acquisition module 220, in periodically to the first relation table in acquisition module 220 The corresponding pre-fetch depth values of first terminal, pre-fetch depth values corresponding with the terminal that first terminal is connected are updated.
Therefore, by different ends in default first relation table in the system of the data pre-fetching that present invention enforcement is provided End arranges different pre-fetch depth values according to different delay, and receiver module 210 is connect by the acquisition module 220 in the system of data pre-fetching The memory access address for receiving is compared with memory address in default first relation table, so as to obtain the end belonging to the memory access address End and corresponding pre-fetch depth values, the therefore hit that can improve cache in the case of extra pre-fetching system is not set up of the invention Rate, reduces the time delay for accessing remote memory, reduces cost.In addition, update module 250 in the embodiment of the present invention can be according to making With the situation of distance terminal, dynamic modification prefetches the pre-fetch depth values in depth register, improves the motility of system.
One of ordinary skill in the art will appreciate that all or part of step in the various methods of above-described embodiment is can Completed with instructing the hardware of correlation by program, the program can be stored in a computer-readable recording medium, storage Medium can include:Read only memory(ROM, Read Only Memory), random access memory(RAM, Random Access Memory), disk or CD etc..
Meanwhile, in the above-described embodiments, the description of each embodiment is all emphasized particularly on different fields, do not described in detail in certain embodiment Part, may refer to the associated description of other embodiment.
The above call processing method provided by the embodiment of the present invention and system, and the authentication server of correlation and mutually Dynamic formula voice response system is described in detail, and specific case used herein is entered to the principle of the present invention and embodiment Elaboration is gone, the explanation of above example is only intended to help and understands the method for the present invention and its core concept;Simultaneously for this The those skilled in the art in field, according to the thought of the present invention, will change in specific embodiments and applications, In sum, this specification content should not be construed as limiting the invention.

Claims (8)

1. a kind of method of data pre-fetching, it is characterised in that include:
Receive the memory access address that the processor of first terminal sends;
Terminal and the terminal-pair belonging to the memory access address according to belonging to default first relation table obtains the memory access address The pre-fetch depth values that answers, wherein, first relation table includes the corresponding pre-fetch depth values of the first terminal and described first The memory address of the terminal that terminal is connected and pre-fetch depth values corresponding with the terminal that the first terminal is connected;
Data pre-fetching is carried out to the first terminal using the pre-fetch depth values for obtaining;
Wherein, belonging to the terminal and the memory access address according to belonging to default first relation table obtains the memory access address The corresponding pre-fetch depth values of terminal include:
Memory address by the memory access address for receiving and the terminal being connected with the first terminal in first relation table Mated, if the match is successful, according to the memory address institute that the first relation table obtains the terminal being connected with the first terminal Corresponding pre-fetch depth values;If coupling is unsuccessful, obtain according to first relation table that the first terminal is corresponding to be prefetched Depth value;
Or, the corresponding pre-fetch depth values of first terminal in first relation table, the terminal-pair being connected with the first terminal The pre-fetch depth values that answers are stored respectively in M and prefetch in depth register, the internal memory ground of the terminal being connected with the first terminal Location is stored respectively in N number of address register, wherein, and M and N is positive integer;
The terminal according to belonging to the first relation table obtains the memory access address and the terminal-pair belonging to the memory access address should Pre-fetch depth values include:
The memory access address for receiving is mated with the memory address stored in N number of address register successively;
If the match is successful, prefetch in depth register from the M, select corresponding with the address register that the match is successful Depth register is prefetched, and obtains pre-fetch depth values;
If coupling is unsuccessful, acquisition pre-fetch depth values in depth register are prefetched from first terminal is corresponding.
2. the method for data pre-fetching according to claim 1, it is characterised in that the memory access address is that the processor is sent out The physical address that the virtual address that send is obtained after bypass conversion buffered TLB conversions.
3. the method for data pre-fetching according to claim 1, it is characterised in that also include:
Periodically to the first terminal in first relation table corresponding pre-fetch depth values, be connected with the first terminal The corresponding pre-fetch depth values of terminal are updated.
4. the method for data pre-fetching according to claim 1, it is characterised in that described by the memory access address for receiving successively Carry out mating specifically including with the memory address stored in N number of address register:
The memory access address and default address mask are carried out phase and computing;
To be mated with the memory address stored in N number of address register with acquired results after computing successively.
5. a kind of system of data pre-fetching, it is characterised in that include:
Receiver module, for receiving the memory access address that the processor of first terminal sends;
Acquisition module, for the terminal according to belonging to the default first relation table acquisition memory access address and the memory access address The corresponding pre-fetch depth values of affiliated terminal, wherein, first relation table include the corresponding pre-fetch depth values of first terminal and The memory address of the terminal that the first terminal is connected and pre-fetch depth values corresponding with the terminal that the first terminal is connected;
Module is prefetched, the pre-fetch depth values for obtaining using the acquisition module carry out data pre-fetching to the first terminal;
Wherein, the acquisition module includes:
First matching unit, in the memory access address that receives the receiver module and first relation table with described The memory address of the terminal that first terminal is connected is mated;
First transfers unit, for when the match is successful for first matching unit, being obtained according to first relation table and institute State the corresponding pre-fetch depth values of the connected terminal of first terminal;When first matching unit coupling is unsuccessful, according to described First relation table obtains the corresponding pre-fetch depth values of the first terminal;
Or, the acquisition module includes that N number of address register, M prefetches depth register, the second matching unit and the second tune Unit is taken, wherein, N and M is positive integer;
N number of address register is respectively used to the memory address for storing the terminal being connected with the first terminal;
The M prefetches depth register and is respectively used to store the corresponding pre-fetch depth values of the first terminal and described first The corresponding pre-fetch depth values of the connected terminal of terminal;
Second matching unit be used for memory access address that the receiver module is received successively with N number of address register The memory address of middle storage is mated;
Described second transfers unit is used for, when the match is successful for second matching unit, prefetching depth register from the M Middle selection is corresponding with the address register that the match is successful to be prefetched depth register and obtains pre-fetch depth values;When described second When matching unit coupling is unsuccessful, to prefetch that transfer in depth register first terminal corresponding pre- from the first terminal is corresponding Take depth value.
6. the system of data pre-fetching according to claim 5, it is characterised in that also include modular converter, the modulus of conversion Block connects the receiver module, and the memory access address conversion of the virtuality sent for the processor by the first terminal is physics The receiver module is sent to behind memory access address.
7. the system of data pre-fetching according to claim 5, it is characterised in that also include update module, for periodically right The corresponding pre-fetch depth values of the first terminal in first relation table, corresponding with the terminal that the first terminal is connected Pre-fetch depth values are updated.
8. the system of data pre-fetching according to claim 5, it is characterised in that also include mask register, for storing Address mask;
Second matching unit is used for the address in memory access address and the mask register for receiving the receiver module Mask carry out mutually and computing, by with computing after acquired results successively with the memory address that stores in N number of address register Mated.
CN201210571705.XA 2012-12-25 2012-12-25 A kind of method and system of data pre-fetching Expired - Fee Related CN103902469B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210571705.XA CN103902469B (en) 2012-12-25 2012-12-25 A kind of method and system of data pre-fetching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210571705.XA CN103902469B (en) 2012-12-25 2012-12-25 A kind of method and system of data pre-fetching

Publications (2)

Publication Number Publication Date
CN103902469A CN103902469A (en) 2014-07-02
CN103902469B true CN103902469B (en) 2017-03-15

Family

ID=50993803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210571705.XA Expired - Fee Related CN103902469B (en) 2012-12-25 2012-12-25 A kind of method and system of data pre-fetching

Country Status (1)

Country Link
CN (1) CN103902469B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486858A (en) * 2016-03-17 2021-03-12 华为技术有限公司 Data prefetching method and device
CN107544937A (en) * 2016-06-27 2018-01-05 深圳市中兴微电子技术有限公司 A kind of coprocessor, method for writing data and processor
WO2019000456A1 (en) * 2017-06-30 2019-01-03 华为技术有限公司 Data mask transmission method, memory controller, memory chip, and computer system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795850B2 (en) * 2002-12-13 2004-09-21 Sun Microsystems, Inc. System and method for sharing memory among multiple storage device controllers
CN1928839A (en) * 2005-09-09 2007-03-14 中国科学院计算技术研究所 Long-distance inner server and its implementing method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6795850B2 (en) * 2002-12-13 2004-09-21 Sun Microsystems, Inc. System and method for sharing memory among multiple storage device controllers
CN1928839A (en) * 2005-09-09 2007-03-14 中国科学院计算技术研究所 Long-distance inner server and its implementing method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种改进的高性能远程内存直接访问(RDMA)的实现;徐志斌;《计算机应用与软件》;20080131;第25卷(第1期);264-266 *

Also Published As

Publication number Publication date
CN103902469A (en) 2014-07-02

Similar Documents

Publication Publication Date Title
CN110519401A (en) Improve method, apparatus, equipment and the storage medium of network Access Success Rate
US9569742B2 (en) Reducing costs related to use of networks based on pricing heterogeneity
CN106464669B (en) Intelligent file prefetching based on access patterns
US20120209957A1 (en) Mobile bookmarks
US20130198313A1 (en) Using entity tags (etags) in a hierarchical http proxy cache to reduce network traffic
US20110137861A1 (en) Methods for Achieving Efficient Coherent Access to Data in a Cluster of Data Processing Computing Nodes
CN106933871A (en) Short linking processing method, device and short linked server
CN110351115A (en) Reduce method, apparatus, computer equipment and the storage medium of network access time delay
KR102575913B1 (en) Asymmetric set combined cache
CN105721538A (en) Data access method and apparatus
CN114153754B (en) Data transmission method and device for computing cluster and storage medium
CN103902469B (en) A kind of method and system of data pre-fetching
CN113609167B (en) Data processing method, device and equipment based on block chain and readable storage medium
CN103593485B (en) The method and apparatus for realizing database real-time operation
CN107197000A (en) Static dynamic hybrid cache method, apparatus and system
CN106911735A (en) Data capture method and device
CN109190071A (en) Mobile terminal caching method and device
CN108038714A (en) Advertisement promotion processing method and processing device
CN108170373A (en) A kind of data cache method, device and data transmission system
CN113612863B (en) Method, system, equipment and storage medium for optimizing address conversion in GPU
TW202238368A (en) On-chip interconnect for memory channel controllers
CN106462506A (en) Controlled cache injection of incoming data
Kumar et al. An extended client server architecture in mobile environment
CN105760396B (en) A kind of webpage loading method and device
CN104679688B (en) Data access method, apparatus and system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170315

Termination date: 20201225