WO2016050059A1 - Shared storage concurrent access processing method and device, and storage medium - Google Patents

Shared storage concurrent access processing method and device, and storage medium Download PDF

Info

Publication number
WO2016050059A1
WO2016050059A1 PCT/CN2015/077552 CN2015077552W WO2016050059A1 WO 2016050059 A1 WO2016050059 A1 WO 2016050059A1 CN 2015077552 W CN2015077552 W CN 2015077552W WO 2016050059 A1 WO2016050059 A1 WO 2016050059A1
Authority
WO
WIPO (PCT)
Prior art keywords
access
storage
interface
shared
feedback data
Prior art date
Application number
PCT/CN2015/077552
Other languages
French (fr)
Chinese (zh)
Inventor
张丰举
Original Assignee
深圳市中兴微电子技术有限公司
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 深圳市中兴微电子技术有限公司 filed Critical 深圳市中兴微电子技术有限公司
Publication of WO2016050059A1 publication Critical patent/WO2016050059A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Definitions

  • the present invention relates to the field of digital chips, and in particular, to a shared storage concurrent access processing method and apparatus, and a storage medium.
  • the existing shared storage interface improvement method mainly solves the problem of reducing access delay, optimizing cross-boundary access, eliminating non-aligned access overhead, simple access collision avoidance, optimizing bandwidth and delay of continuous address access, etc., and is basically specific to Optimization of the scene.
  • Block there is a logically independent logical block (Block) for a shared storage concurrent access mode with normal conflict avoidance.
  • Block only the access of the queue head can be taken on the interface.
  • all four interfaces have storage accesses.
  • it occurs only the access that does not have a block conflict can get a response (as shown by the solid line in the figure).
  • the actual effective bandwidth is only 2.7 times that of a single interface due to the high probability of block collisions.
  • FIG. 3 it is a common shared storage concurrent access interface return mode, and from which interface the access is received, the data is returned from which interface. Obviously when there are multiple accesses coming in from the same interface, Although these accesses will be accepted by the interface, at the same time, because each interface can only return one data, only those accesses without interface conflicts get the actual response.
  • access 0 and access1 enter from interface 0 (Interface 0)
  • access 2 and access 3 enter from interface 1 (Interface 1)
  • each interface Only one data can be returned, so only access0 and access2 get the actual response (the solid line indicates that it is accepted by the interface and gets the actual response), access1 and access3 do not get the actual response (the dotted line indicates that it is accepted by the interface but does not get the actual response) .
  • the actual effective bandwidth is only 2.7 times that of a single interface because of the high probability of interface collisions.
  • the embodiment of the present invention provides a shared storage concurrent access processing method and apparatus, and a storage medium, which can more effectively avoid access conflicts and utilize interface bandwidth, and solve shared access conflicts and Insufficient bandwidth.
  • a shared storage concurrent access processing method including:
  • an unfinished storage access is arbitrarily selected from any one or more of the access queues, and there is no heap bank conflict between the selected storage accesses;
  • the selected memory accesses are decoded in parallel and transmitted to the respective banks.
  • the method further includes:
  • each of the access interfaces corresponds to an access queue that includes multiple uncompleted transmissions, and the selected storage access is not greater than the total number of access interfaces.
  • the embodiment of the present invention further provides a shared storage concurrent access processing device, including: a shared bus, multiple access interfaces, a shared storage access exchange management unit, and a shared memory, where
  • a shared bus configured to provide read and write channels for storage access from an access source, support for incomplete transfers, and support for out-of-order transmission;
  • An access interface configured to accept storage accesses sent over the shared bus and place the accepted storage accesses in an access queue
  • the shared storage access switching management unit includes: an access selection module and a parallel decoding module, wherein
  • the access selection module is configured to arbitrarily select an unfinished storage access from any one or more of the access queues for the access queues on the respective access interfaces, and there is no bank conflict between the selected storage accesses;
  • the parallel decoding module is configured to decode the storage access selected by the access selection module in parallel and transmit to the corresponding heap bank;
  • the shared memory includes a plurality of logical blocks, and the logical blocks have no obvious correspondence with the access interface.
  • Each logical block includes a plurality of banks, and the logical blocks refer to logical storage units that provide consecutive addresses, and the bank is used for performing A smaller physical storage unit interleaved with address rows and columns.
  • the shared storage access exchange management unit further includes a transmission status update module
  • the access selection module is further configured to: after selecting the storage access, send the selected storage access ID to the transmission status update module;
  • the transmission status update module is configured to update the storage access ID according to the ID of the storage access Transmitting status; and notifying the corresponding access interface of the ID of the stored storage access;
  • the access interface is further configured to remove the corresponding storage access from the access queue according to the ID of the stored storage access.
  • each of the access interfaces corresponds to an access queue that includes multiple uncompleted transmissions, and the selected storage access is not greater than the total number of access interfaces.
  • the embodiment of the present invention further provides a shared storage concurrent access processing method, including:
  • the feedback data and its accompanying information are sent to an access interface, the accompanying information including an access ID and an identification of the pass-through interface.
  • selecting any one of the access interfaces as its pass interface includes:
  • any access interface that does not currently need to return data is selected as its pass interface.
  • the method further includes:
  • the access interface receives the feedback data and its accompanying information, and returns the feedback data to the access source via the shared bus according to the accompanying information.
  • the embodiment of the present invention further provides a shared storage concurrent access processing device, including: a shared bus, multiple access interfaces, a shared storage access exchange management unit, and a shared memory, where
  • a shared bus configured to provide read and write channels for storage access from an access source, support for incomplete transfers, and support for out-of-order transmission;
  • An access interface configured to accept storage accesses sent over the shared bus and to accept The storage access is placed in the access queue; and configured to return the feedback data that needs to be returned to the access source through the shared bus according to the accompanying information of the feedback data;
  • the shared storage access exchange management unit includes: an interface selection module configured to select any one of the access interfaces as a pass-through interface for the feedback data of the storage access, and send the feedback data and its accompanying information to the access interface,
  • the accompanying information includes an ID of the storage access corresponding to the feedback data and an identifier of the through interface;
  • the shared memory includes a plurality of logical blocks, each of which includes a plurality of banks, the logical blocks refer to logical storage units providing consecutive addresses, and the Bank is a smaller physical storage unit for performing address row and column interleaving.
  • the interface selection module is configured to select any one of the access interfaces as the pass-through interface for each feedback data that needs to be returned, including:
  • the access interface corresponding to the feedback data is preferentially selected as its pass interface; if there is an access conflict in the access interface corresponding to the feedback data, any access interface that does not currently need to return data is selected as the pass interface.
  • an embodiment of the present invention provides a computer storage medium, where the computer storage medium stores computer executable instructions for performing the sharing provided by the first aspect or the third aspect of the present invention. Store concurrent access processing methods.
  • the storage access and the storage access are accepted regardless of the order, and any interface is selected as the through interface when the data is returned.
  • multiple interfaces share the same on-chip memory, thereby improving the storage access bandwidth and being more effective. Avoid access violations and make full use of interface bandwidth, and are largely unaffected by access methods.
  • FIG. 1 is a schematic diagram of a common shared storage concurrent access method
  • FIG. 2 is a schematic diagram of a shared storage concurrent access mode with normal conflict avoidance
  • FIG. 3 is a schematic diagram of a return mode of a common shared storage concurrent access interface
  • FIG. 4 is a schematic diagram of a shared storage concurrent access manner according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a return manner of a shared storage concurrent access interface according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a shared storage concurrent access processing apparatus according to an embodiment of the present invention.
  • FIGS. 7a-7b are schematic diagrams showing shared memory address encoding of a shared storage concurrent access processing device according to an embodiment of the present invention.
  • FIG. 8 is a flowchart of a shared storage concurrent access processing method according to an embodiment of the present invention.
  • the shared storage concurrent access processing method and device provided by the embodiments of the present invention can improve the storage access bandwidth by sharing the memory in the same chip through multiple interfaces, can more effectively avoid the access conflict and fully utilize the interface bandwidth, and is basically not subject to The impact of access methods.
  • the specific implementation process of the embodiment of the present invention is described by taking four access interfaces, a memory including four logic blocks, and 16 independent banks as an example. It should be noted that the embodiments of the present invention are also applicable to and not limited to similar structures of eight interfaces, eight blocks, and 32 banks. The main feature of the similar structure is that there are multiple access interfaces, and Block and Bank are organized. Shared storage.
  • each access interface corresponds to an access queue with multiple uncompleted transmissions.
  • the out-of-order function can be used to access storage access from any access queue from the access queues access01 to access04, access11 to access14, access21 to access24, access31 to access34 of the four slave devices, and the selected storage access is selected. No more than the total number of access interfaces, parallel processing of the selected access storage, as long as there is no access to the Bank conflict will be responded, do not need to follow the order of the access queue or each access
  • the queue takes an access rule to handle storage access. In this case, the probability of a bank collision is close to zero, and the actual effective bandwidth is about four times that of a single interface. For example, as shown in FIG. 4, access01, access03, access21, and access34 can be simultaneously taken for parallel processing.
  • the feedback data can be returned through any one of the access interfaces, and the data does not need to be returned according to the "from where to return the rules", as long as there is no data to be returned on the current interface,
  • This interface can be used to return feedback data. With interfaces that do not have data to return to resolve access violations on the interface, all accesses can be actually responded at any time, so that the actual effective bandwidth is four times that of a single interface. As shown in Figure 5, access0 and access1 have access violations. When returning data, the feedback data for access1 does not use the original interface Interface0, but the interface Interface1, which has no data to return, returns its feedback data. When there is an access violation between access2 and access3, both access2 and access3 need to return data. The feedback data for access1 is returned by interface Interface2, and the feedback data for access3 is returned by interface Interface3.
  • the shared storage concurrent access processing device structure of the four interfaces mainly includes: a shared bus, four access interfaces Slave0 to Slave3, a shared memory access switch unit, and a shared memory.
  • the shared bus provides read and write channels for storage access from the access source. It can be any topology but meets the following main features (see Figure 6 for a separate read and write channel, as well as a bus that supports both read and write channels): Master to slave (Slave) according to address routing; slave to Master according to ID routing; support for outstanding completion (outstanding); support out of order (out of order).
  • the access queues of each access interface in Slave0 ⁇ Slave3 have four locations (WID0&RID0 ⁇ WID3&RID3) configured to accept storage accesses sent through the shared bus and will accept The storage access is placed in the access queue; in addition, the access interface can be configured to store the corresponding storage address based on the ID of the stored storage access. The store access is removed from the access queue. In addition, it may be configured to return the feedback data that needs to be returned to the access source through the shared bus according to the accompanying information of the feedback data.
  • the shared storage access switching management unit includes an access select module, a parallel decoding module, and a transaction state update module, where:
  • the access selection module is configured to arbitrarily select an unfinished storage access from any one or more access queues for the access queues on the respective access interfaces, and there is no bank conflict between the selected storage accesses;
  • the parallel decoding module is configured to decode the storage access selected by the access selection module in parallel and transmit to the corresponding bank; the access selection module is further configured to: after selecting the storage access, select the selected storage access The ID is sent to the transmission status update module;
  • the transmission status update module is configured to update its transmission status at any time according to the ID of the storage access; and notify the corresponding access interface of the ID of the stored storage access.
  • a date feedback & interface select module may be included, configured to select any one of the access interfaces as its pass interface for each feedback data, and send the feedback data and its accompanying information to the access And the accompanying information includes an ID of the storage access corresponding to the feedback data and an identifier of the pass interface.
  • the shared memory includes four logical blocks Block0 ⁇ Block3, each of which includes four banks (Bank0 ⁇ Bank3), the logical block refers to a logical storage unit that provides consecutive addresses, and the Bank is used to A smaller physical storage unit that interleaves the address rows and columns.
  • Each bank is responsible for multiple addresses, that is, multiple accessed addresses are located in the same bank. When the access arrives, the access is placed in the corresponding bank according to the accessed address.
  • the shared memory can be organized in two levels, as shown in FIG.
  • each block contains four banks encoded according to the horizontal address, which is convenient for storing data according to statistical characteristics. Avoid conflicts between concurrent accesses.
  • the word length is 128 bits; the first word is in Bank0, the second word is in Bank1, the third word is in Bank2, the fourth word is in Bank3, and so on. That is, the sequential addressing in the block, the horizontal addressing between the banks, the address in the bank is not continuous (the tolerance series of tolerance 4), and the address is interleaved between the banks.
  • the interface selection module is configured to select any one of the access interfaces as the pass-through interface for each feedback data that needs to be returned, including: for each feedback data that needs to be returned, preferentially selecting an access interface corresponding to the feedback data as its Through the interface; if the access interface corresponding to the feedback data has an access conflict, select any access interface that does not currently need to return data as its pass interface.
  • the shared storage concurrent access processing method of the embodiment of the present invention may be implemented by using the apparatus shown in FIG. 6, and the method may specifically include the following steps:
  • Step 801 The access source sends the storage access to each access interface Slave0 to Slave3 through the shared bus, and judges whether the new storage access is accepted according to the total depth of the four access queues in Slave0 ⁇ Slave3, and the accepted storage is accepted. Access is placed in the access queue;
  • Each access interface preferentially accepts its corresponding storage access.
  • the total space of the four access queues is insufficient, it can be selected according to any policy arbitration to accept or not accept new storage access according to the application characteristics.
  • Step 802 The access selection module of the shared storage access exchange management unit selects four storages without bank conflicts in a sequence of accepted but unfinished storage accesses from 32 locations corresponding to the four access queues of Slave0 to Slave3, respectively. Accessing, and sending the selected storage access ID to the transmission status update module of the shared storage access exchange management module;
  • the choice of storage access can be arbitrated according to any policy, the focus is on arbitrarily selecting one or more storage accesses from 32 locations of the four access queues for parallel processing, but the number of selected storage accesses is not greater than the logic of the shared memory.
  • the number of blocks In the embodiment of the present invention, the number of selected storage accesses may not exceed 4 (the total number of interfaces).
  • Step 803 The parallel decoding module of the shared storage access switching management unit decodes the selected conflict-free storage access in parallel and sends them to the corresponding banks;
  • Step 804 The transmission status update module updates its transmission status (transmission progress) based on the ID of each storage access, and notifies the access interface to remove the storage access from the access queue if the transmission is just completed.
  • Step 805 The interface selection module of the shared storage access exchange management unit selects an access interface for each feedback data that needs to be returned.
  • any one of the access interfaces is selected as its pass interface.
  • the access interface corresponding to the feedback data is preferentially selected as the pass-through interface.
  • any access interface that does not need to return data can be selected as the pass-through interface.
  • the interface selection policy can be flexibly set, which is not limited in the embodiment of the present invention.
  • Step 806 The interface selection module of the shared storage access switching management unit sends the feedback data and its accompanying information to the access interface.
  • the accompanying information mainly includes an ID of the storage access corresponding to the feedback data, and an identifier of the access interface through which the feedback data is to go.
  • Step 807 The access interface receives the feedback data and its accompanying information, and returns the feedback data to the access source through the shared bus according to the accompanying information.
  • Each of Slave0 ⁇ Slave3 selects whether to accept the feedback data according to the accompanying information of the feedback data. If the identifier of the interface in the accompanying information is the same as the identifier of the interface, it is accepted, and the ID of the access is stored according to the accompanying information. The feedback data is returned to the corresponding access source through the shared bus; otherwise, the feedback data is not accepted, and subsequent data return processing is not performed.
  • the process can be terminated by step 804; for accesses that need to return feedback data, such as a write access, the flow ends at 807.
  • steps 802 and 805 are the main reasons for improving the shared memory access bandwidth; steps 801 and 807 are improvements to the existing on-chip data bus protocol. And flexible application is an auxiliary condition for the effective use of this method.
  • the method and apparatus of the present invention have the following features:
  • each access interface does not work independently, but manages the queue resources uniformly, eliminating the fact that the access interface queue with access is full and the other access interfaces are free to accept new access. Bandwidth loss.
  • the SRAM has only one block and one access interface. Obviously, this method has nothing to do with the address patter at the time of access. Assuming that the bus bandwidth of a single interface is 1 (normalized unit), the shared storage access bandwidth of this scheme is just 1 .
  • the addresses of 4 concurrent accesses fall in the same block with a bandwidth of 1.
  • the shared bus can support up to 16 outstanding unordered functions, that is, each access source supports an average of 4 outstanding unordered functions; the memory is divided into 4 logical independent functions. Block, each block is divided into 4 banks of address interleaving. Under this scheme, the following four situations will be generated from the four concurrent access sources selected from the 16 IDs:
  • the addresses of 4 concurrent accesses fall in the same bank with a bandwidth of 1.
  • the advantages of the method and the device of the embodiment of the present invention are 46.5% higher than that of the conventional method.
  • the shared storage access exchange management unit in the shared storage concurrent access processing device provided by the embodiment of the present invention, and each module included in the shared storage access exchange management unit, such as an access selection module and a parallel decoding module, a transmission status update module, and an interface
  • the selection module can be implemented by a computing device such as a processor in a computer; of course, the functions performed by the above processor can also be implemented by specific logic circuits; in the process of the specific embodiment, the processor can be a central processing unit (CPU) ), microprocessor (MPU), digital signal processor (DSP) or field programmable gate array (FPGA).
  • CPU central processing unit
  • MPU microprocessor
  • DSP digital signal processor
  • FPGA field programmable gate array
  • the shared storage concurrent access processing method is implemented in the form of a software function module, and is sold or used as a standalone product, it may also be stored in a computer readable storage medium.
  • the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product stored in a storage medium, including a plurality of instructions.
  • a computer device (which may be a personal computer, server, or network device, etc.) is caused to perform all or part of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
  • program codes such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk.
  • the embodiment of the present invention further provides a computer storage medium, where the computer storage medium stores computer executable instructions, and the computer executable instructions are used to execute the shared storage concurrent access processing method in the embodiment of the present invention.
  • an unfinished storage access is arbitrarily selected from any one or more of the access queues, and there is no bank conflict between the selected storage accesses;
  • Parallel decoding is accessed and transmitted to the respective corresponding banks, so that access collisions can be more effectively avoided and the interface bandwidth can be fully utilized, and is basically not affected by the access mode.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed is a shared storage concurrent access processing method. The method comprises: for access queues on various access interfaces, randomly selecting unfinished storage accesses from one or more access queues, wherein there is no Bank conflict between the selected storage accesses; and conducting parallel decoding on the selected storage accesses, and transmitting same to respective corresponding Banks. Correspondingly, also disclosed are a shared storage concurrent access processing device, and a storage medium.

Description

共享存储并发访问处理方法及装置、存储介质Shared storage concurrent access processing method and device, storage medium 技术领域Technical field
本发明涉及数字芯片领域,尤其涉及一种共享存储并发访问处理方法及装置、存储介质。The present invention relates to the field of digital chips, and in particular, to a shared storage concurrent access processing method and apparatus, and a storage medium.
背景技术Background technique
目前多数片上系统(SOC,System on Chip)都存在不止一个处理器和协处理器,而且这些处理器之间的主要数据交互通过共享存储来实现。随着多核SOC的广泛应用,共享存储的访问冲突和带宽不足越来越成为制约系统性能的瓶颈。At present, most of the system-on-chip (SOC) systems have more than one processor and coprocessor, and the main data interaction between these processors is realized by shared storage. With the widespread application of multi-core SOC, access conflicts and bandwidth shortages of shared storage are increasingly becoming bottlenecks that constrain system performance.
现有的共享存储接口改善的方法主要解决了减少访问延时、优化跨边界访问、消除非对齐访问开销、简单的访问冲突规避、优化连续地址访问的带宽和延时等,基本都是对特定场景的优化。The existing shared storage interface improvement method mainly solves the problem of reducing access delay, optimizing cross-boundary access, eliminating non-aligned access overhead, simple access collision avoidance, optimizing bandwidth and delay of continuous address access, etc., and is basically specific to Optimization of the scene.
如图1所示,为一种普通的共享存储并发访问方式。其中,只有一个逻辑上独立的存储器,当4个接口都有存储访问发生时,只有一个访问可以得到响应(如图中实线所示)。如此,即便具有4个独立接口,却只有一个接口的有效带宽。As shown in Figure 1, it is a common shared storage concurrent access method. Among them, there is only one logically independent memory. When four interfaces have storage accesses, only one access can get a response (as shown by the solid line in the figure). Thus, even with four independent interfaces, there is only one interface with an effective bandwidth.
如图2所示,为一种具有普通冲突规避的共享存储并发访问方式,有4个逻辑上独立逻辑块(Block),但是接口上只能取队列头的访问,当4个接口都有存储访问发生时,只有不存在Block冲突的访问能够得到响应(如图中实线所示)。如此,即便具有4个独立接口,但由于Block冲突的概率很大,实际有效带宽只有单个接口的2.7倍。As shown in Figure 2, there is a logically independent logical block (Block) for a shared storage concurrent access mode with normal conflict avoidance. However, only the access of the queue head can be taken on the interface. When all four interfaces have storage accesses. When it occurs, only the access that does not have a block conflict can get a response (as shown by the solid line in the figure). Thus, even with four independent interfaces, the actual effective bandwidth is only 2.7 times that of a single interface due to the high probability of block collisions.
如图3所示,为普通的共享存储并发访问接口返回方式,访问从哪个接口接收则数据从哪个接口返回。显然当有多个访问从同一个接口进入时, 虽然这些访问都将被接口所接受,但是同一时刻因为每个接口只能返回一个数据,所以只有那些没有接口冲突的访问得到了实际响应。如图3所示,通道(access)0和access1从接口0(Interface0)进入,access2和access3从接口1(Interface1)进入,虽然这些访问都将被相应接口所接受,但是同一时刻因为每个接口只能返回一个数据,因此只有access0和access2得到了实际响应(实线表示被接口所接受并得到了实际响应),access1和access3没有得到实际响应(虚线表示被接口所接受没有但得到实际响应)。如此,即便具有4个独立接口,但是因为接口冲突的概率很大,实际有效带宽只有单个接口的2.7倍。As shown in FIG. 3, it is a common shared storage concurrent access interface return mode, and from which interface the access is received, the data is returned from which interface. Obviously when there are multiple accesses coming in from the same interface, Although these accesses will be accepted by the interface, at the same time, because each interface can only return one data, only those accesses without interface conflicts get the actual response. As shown in Figure 3, access 0 and access1 enter from interface 0 (Interface 0), access 2 and access 3 enter from interface 1 (Interface 1), although these accesses are accepted by the corresponding interface, but at the same time because each interface Only one data can be returned, so only access0 and access2 get the actual response (the solid line indicates that it is accepted by the interface and gets the actual response), access1 and access3 do not get the actual response (the dotted line indicates that it is accepted by the interface but does not get the actual response) . Thus, even with four independent interfaces, the actual effective bandwidth is only 2.7 times that of a single interface because of the high probability of interface collisions.
因此,需要提出一种新的方案,以更加有效的规避访问冲突和充分利用接口带宽,解决共享存储的访问冲突和带宽不足的问题,并保证基本不受访问方式的影响。Therefore, it is necessary to propose a new scheme to more effectively avoid access conflicts and make full use of interface bandwidth, solve the problem of access conflict and insufficient bandwidth of shared storage, and ensure that it is basically not affected by access methods.
发明内容Summary of the invention
有鉴于此,本发明实施例为解决上述的问题之一而提供一种共享存储并发访问处理方法及装置、存储介质,能更加有效的规避访问冲突和利用接口带宽,解决共享存储的访问冲突和带宽不足问题。In view of the above, the embodiment of the present invention provides a shared storage concurrent access processing method and apparatus, and a storage medium, which can more effectively avoid access conflicts and utilize interface bandwidth, and solve shared access conflicts and Insufficient bandwidth.
本发明实施例的技术方案是这样实现的:The technical solution of the embodiment of the present invention is implemented as follows:
第一方面,本发明实施例中提供了一种共享存储并发访问处理方法,包括:In a first aspect, a shared storage concurrent access processing method is provided in the embodiment of the present invention, including:
对于各个访问接口上的访问队列,从任意一个或多个所述访问队列任意选择未完成的存储访问,所选择的存储访问之间不存在堆Bank冲突;For an access queue on each access interface, an unfinished storage access is arbitrarily selected from any one or more of the access queues, and there is no heap bank conflict between the selected storage accesses;
对所选择的存储访问并行译码,并传输给各自对应的Bank。The selected memory accesses are decoded in parallel and transmitted to the respective banks.
在本发明的一种实施例中,所述方法还包括:In an embodiment of the invention, the method further includes:
根据所选择的存储访问的ID,随时更新其传输状态;Update the transmission status at any time according to the ID of the selected storage access;
将已处理完成的存储访问的ID告知相应的访问接口,使得访问接口将 相应的存储访问从访问队列中移除。Inform the corresponding access interface of the ID of the stored storage access, so that the access interface will The corresponding storage access is removed from the access queue.
在本发明的一种实施例中,每个所述访问接口对应一个含多个未完成传输的访问队列,所选择的存储访问不大于访问接口总数。In an embodiment of the present invention, each of the access interfaces corresponds to an access queue that includes multiple uncompleted transmissions, and the selected storage access is not greater than the total number of access interfaces.
第二方面,本发明实施例中还提供了一种共享存储并发访问处理装置,包括:共享总线、多个访问接口、共享存储访问交换管理单元和共享存储器,其中,In a second aspect, the embodiment of the present invention further provides a shared storage concurrent access processing device, including: a shared bus, multiple access interfaces, a shared storage access exchange management unit, and a shared memory, where
共享总线,配置为为来自访问源的存储访问提供读写通道,支持未完成传输,支持乱序传输;A shared bus configured to provide read and write channels for storage access from an access source, support for incomplete transfers, and support for out-of-order transmission;
访问接口,配置为接受通过所述共享总线送来的存储访问,并将接受的存储访问放入访问队列;An access interface configured to accept storage accesses sent over the shared bus and place the accepted storage accesses in an access queue;
共享存储访问交换管理单元包括:访问选择模块和并行译码模块,其中,The shared storage access switching management unit includes: an access selection module and a parallel decoding module, wherein
访问选择模块,配置为针对各个所述访问接口上的访问队列,从任意一个或多个所述访问队列任意选择未完成的存储访问,所选择的存储访问之间不存在Bank冲突;The access selection module is configured to arbitrarily select an unfinished storage access from any one or more of the access queues for the access queues on the respective access interfaces, and there is no bank conflict between the selected storage accesses;
并行译码模块,配置为对所述访问选择模块选择的存储访问并行译码,并传输给各自对应的堆Bank;The parallel decoding module is configured to decode the storage access selected by the access selection module in parallel and transmit to the corresponding heap bank;
共享存储器,包括多个逻辑块,所述逻辑块与访问接口没有明显的对应关系,每个逻辑块包括多个Bank,所述逻辑块是指提供连续地址的逻辑存储单元,Bank是用来进行地址行列交织的更小的物理存储单元。The shared memory includes a plurality of logical blocks, and the logical blocks have no obvious correspondence with the access interface. Each logical block includes a plurality of banks, and the logical blocks refer to logical storage units that provide consecutive addresses, and the bank is used for performing A smaller physical storage unit interleaved with address rows and columns.
在本发明的一种实施例中,所述共享存储访问交换管理单元还包括传输状态更新模块;In an embodiment of the present invention, the shared storage access exchange management unit further includes a transmission status update module;
所述访问选择模块,还配置为在选择存储访问后,将所选择的存储访问的ID发送给所述传输状态更新模块;The access selection module is further configured to: after selecting the storage access, send the selected storage access ID to the transmission status update module;
所述传输状态更新模块,配置为根据所述存储访问的ID,随时更新其 传输状态;并,将已处理完成的存储访问的ID告知相应的访问接口;The transmission status update module is configured to update the storage access ID according to the ID of the storage access Transmitting status; and notifying the corresponding access interface of the ID of the stored storage access;
所述访问接口,还配置为根据已处理完成的存储访问的ID,将相应的存储访问从访问队列中移除。The access interface is further configured to remove the corresponding storage access from the access queue according to the ID of the stored storage access.
在本发明的一种实施例中,每个所述访问接口对应一个含多个未完成传输的访问队列,所选择的存储访问不大于访问接口总数。In an embodiment of the present invention, each of the access interfaces corresponds to an access queue that includes multiple uncompleted transmissions, and the selected storage access is not greater than the total number of access interfaces.
第三方面,本发明实施例中还提供了一种共享存储并发访问处理方法,包括:In a third aspect, the embodiment of the present invention further provides a shared storage concurrent access processing method, including:
对于每个需要返回的反馈数据,选择任意一个访问接口作为其通过接口;For each feedback data that needs to be returned, select any access interface as its pass interface;
将反馈数据及其伴随信息送给访问接口,所述伴随信息包含访问ID和所述通过接口的标识。The feedback data and its accompanying information are sent to an access interface, the accompanying information including an access ID and an identification of the pass-through interface.
在本发明的一种实施例中,选择任意一个访问接口作为其通过接口,包括:In an embodiment of the present invention, selecting any one of the access interfaces as its pass interface includes:
优先选择所述反馈数据对应的访问接口作为其通过接口;Preferentially selecting an access interface corresponding to the feedback data as its pass interface;
如果所述反馈数据对应的访问接口存在访问冲突,则选择任意一个当前不需要返回数据的访问接口作为其通过接口。If there is an access conflict in the access interface corresponding to the feedback data, any access interface that does not currently need to return data is selected as its pass interface.
在本发明的一种实施例中,所述方法还包括:In an embodiment of the invention, the method further includes:
访问接口接收所述反馈数据及其伴随信息,并根据所述伴随信息将所述反馈数据通过共享总线返回给访问源。The access interface receives the feedback data and its accompanying information, and returns the feedback data to the access source via the shared bus according to the accompanying information.
第四方面,本发明实施例中还提供了一种共享存储并发访问处理装置,包括:共享总线、多个访问接口、共享存储访问交换管理单元和共享存储器,其中,In a fourth aspect, the embodiment of the present invention further provides a shared storage concurrent access processing device, including: a shared bus, multiple access interfaces, a shared storage access exchange management unit, and a shared memory, where
共享总线,配置为为来自访问源的存储访问提供读写通道,支持未完成传输,支持乱序传输;A shared bus configured to provide read and write channels for storage access from an access source, support for incomplete transfers, and support for out-of-order transmission;
访问接口,配置为接受通过所述共享总线送来的存储访问,并将接受 的存储访问放入访问队列;以及,配置为根据反馈数据的伴随信息,将需要返回的反馈数据通过所述共享总线返回给访问源;An access interface configured to accept storage accesses sent over the shared bus and to accept The storage access is placed in the access queue; and configured to return the feedback data that needs to be returned to the access source through the shared bus according to the accompanying information of the feedback data;
共享存储访问交换管理单元包括:接口选择模块,配置为针对存储访问的反馈数据,选择任意一个所述访问接口作为其通过接口,并将所述反馈数据及其伴随信息送给访问接口,所述伴随信息包含所述反馈数据所对应存储访问的ID和所述通过接口的标识;The shared storage access exchange management unit includes: an interface selection module configured to select any one of the access interfaces as a pass-through interface for the feedback data of the storage access, and send the feedback data and its accompanying information to the access interface, The accompanying information includes an ID of the storage access corresponding to the feedback data and an identifier of the through interface;
共享存储器,包括多个逻辑块,每个逻辑块包括多个Bank,所述逻辑块是指提供连续地址的逻辑存储单元,Bank是用来进行地址行列交织的更小的物理存储单元。The shared memory includes a plurality of logical blocks, each of which includes a plurality of banks, the logical blocks refer to logical storage units providing consecutive addresses, and the Bank is a smaller physical storage unit for performing address row and column interleaving.
在本发明的一种实施例中,所述接口选择模块配置为针对每个需要返回的反馈数据,选择任意一个访问接口作为其通过接口,包括:In an embodiment of the present invention, the interface selection module is configured to select any one of the access interfaces as the pass-through interface for each feedback data that needs to be returned, including:
针对每个需要返回的反馈数据,优先选择反馈数据对应的访问接口作为其通过接口;如果所述反馈数据对应的访问接口存在访问冲突,则选择任意一个当前不需要返回数据的访问接口作为其通过接口。For each feedback data that needs to be returned, the access interface corresponding to the feedback data is preferentially selected as its pass interface; if there is an access conflict in the access interface corresponding to the feedback data, any access interface that does not currently need to return data is selected as the pass interface.
第五方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行本发明第一方面或第三方面实施例提供的共享存储并发访问处理方法。In a fifth aspect, an embodiment of the present invention provides a computer storage medium, where the computer storage medium stores computer executable instructions for performing the sharing provided by the first aspect or the third aspect of the present invention. Store concurrent access processing methods.
本发明实施例中,无视顺序的接受存储访问和选择存储访问,返回数据时选择任意一个接口作为通过接口,如此,多个接口共享同一个芯片内的存储器,改善存储访问带宽,能够更加有效的规避访问冲突和充分利用接口带宽,且基本不受访问方式的影响。In the embodiment of the present invention, the storage access and the storage access are accepted regardless of the order, and any interface is selected as the through interface when the data is returned. Thus, multiple interfaces share the same on-chip memory, thereby improving the storage access bandwidth and being more effective. Avoid access violations and make full use of interface bandwidth, and are largely unaffected by access methods.
附图说明DRAWINGS
图1为一种普通的共享存储并发访问方式示意图;FIG. 1 is a schematic diagram of a common shared storage concurrent access method;
图2为一种具有普通冲突规避的共享存储并发访问方式示意图;2 is a schematic diagram of a shared storage concurrent access mode with normal conflict avoidance;
图3为一种普通的共享存储并发访问接口返回方式示意图; FIG. 3 is a schematic diagram of a return mode of a common shared storage concurrent access interface;
图4为根据本发明实施例的共享存储并发访问方式示意图;4 is a schematic diagram of a shared storage concurrent access manner according to an embodiment of the present invention;
图5为根据本发明实施例的共享存储并发访问接口返回方式示意图;FIG. 5 is a schematic diagram of a return manner of a shared storage concurrent access interface according to an embodiment of the present invention; FIG.
图6为根据本发明实施例的共享存储并发访问处理装置的组成结构示意图;FIG. 6 is a schematic structural diagram of a shared storage concurrent access processing apparatus according to an embodiment of the present invention; FIG.
图7a-7b为根据本发明实施例的共享存储并发访问处理装置共享存储器地址编码示意图;7a-7b are schematic diagrams showing shared memory address encoding of a shared storage concurrent access processing device according to an embodiment of the present invention;
图8为根据本发明实施例的共享存储并发访问处理方法流程图。FIG. 8 is a flowchart of a shared storage concurrent access processing method according to an embodiment of the present invention.
具体实施方式detailed description
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。The present invention will be further described in detail below with reference to the accompanying drawings.
本发明实施例提供的共享存储并发访问处理方法及装置,通过多个接口共享同一个芯片内的存储器,来改善存储访问带宽,能够更加有效的规避访问冲突和充分利用接口带宽,且基本不受访问方式的影响。The shared storage concurrent access processing method and device provided by the embodiments of the present invention can improve the storage access bandwidth by sharing the memory in the same chip through multiple interfaces, can more effectively avoid the access conflict and fully utilize the interface bandwidth, and is basically not subject to The impact of access methods.
下面以4个访问接口、存储器包含4个逻辑块(block)、16个独立的堆(Bank)为例来说明本发明实施例的具体实现过程。需要说明的是,本发明实施例同样适用且不限于8个接口、8个Block、32个Bank等的类似结构,此类似结构的主要特征是具有多个访问接口,Block和Bank两级组织的共享存储。The specific implementation process of the embodiment of the present invention is described by taking four access interfaces, a memory including four logic blocks, and 16 independent banks as an example. It should be noted that the embodiments of the present invention are also applicable to and not limited to similar structures of eight interfaces, eight blocks, and 32 banks. The main feature of the similar structure is that there are multiple access interfaces, and Block and Bank are organized. Shared storage.
如图4所示,存储器中有4个逻辑上独立的block以及16个独立的Bank,当4个接口都有存储访问发生时,每个访问接口对应一个含多个未完成传输的访问队列,本发明实施例利用乱序功能可从4个从设备的四个访问队列access01~access04、access11~access14、access21~access24、access31~access34中,从任意访问队列任意取存储访问,所选择的存储访问不大于访问接口总数,对所选择的访问存储进行并行处理,只要不存在Bank冲突的访问都将得到响应,不需要按照访问队列的次序或者每个访问 队列取一个访问的规则来处理存储访问,这样的话,Bank冲突的概率接近于0,实际有效带宽约为有单个接口的4倍。例如,如图4所示,可以同时取access01、access03、access21、access34进行并行处理。As shown in FIG. 4, there are four logically independent blocks and 16 independent banks in the memory. When four interfaces have storage accesses, each access interface corresponds to an access queue with multiple uncompleted transmissions. In the embodiment of the present invention, the out-of-order function can be used to access storage access from any access queue from the access queues access01 to access04, access11 to access14, access21 to access24, access31 to access34 of the four slave devices, and the selected storage access is selected. No more than the total number of access interfaces, parallel processing of the selected access storage, as long as there is no access to the Bank conflict will be responded, do not need to follow the order of the access queue or each access The queue takes an access rule to handle storage access. In this case, the probability of a bank collision is close to zero, and the actual effective bandwidth is about four times that of a single interface. For example, as shown in FIG. 4, access01, access03, access21, and access34 can be simultaneously taken for parallel processing.
对于并发访问的接口返回,本发明实施例中反馈数据可以通过任何一个访问接口返回,不需要按照“从哪儿来就从哪儿回的规则”返回数据,只要当前接口上没有需要返回的数据,就可以用这个接口返回反馈数据。利用那些没有数据需要返回的接口来解决接口上的访问冲突,任何时刻所有的访问都能得到实际响应,这样的话,实际有效带宽为单个接口的4倍。如图5所示,access0和access1存在访问冲突,返回数据时,对于access1的反馈数据不用原来的接口Interface0,而用了没有数据需要返回的接口Interface1来返回其反馈数据。在access2和access3存在访问冲突时,access2和access3都有数据需要返回,对于access1的反馈数据用接口Interface2返回,对于access3的反馈数据用接口Interface3返回。In the embodiment of the present invention, the feedback data can be returned through any one of the access interfaces, and the data does not need to be returned according to the "from where to return the rules", as long as there is no data to be returned on the current interface, This interface can be used to return feedback data. With interfaces that do not have data to return to resolve access violations on the interface, all accesses can be actually responded at any time, so that the actual effective bandwidth is four times that of a single interface. As shown in Figure 5, access0 and access1 have access violations. When returning data, the feedback data for access1 does not use the original interface Interface0, but the interface Interface1, which has no data to return, returns its feedback data. When there is an access violation between access2 and access3, both access2 and access3 need to return data. The feedback data for access1 is returned by interface Interface2, and the feedback data for access3 is returned by interface Interface3.
如图6所示,4个接口的共享存储并发访问处理装置结构,主要包括:共享总线、4个访问接口Slave0~Slave3、共享存储访问交换管理(Shared memory access switch)单元、共享存储器。As shown in FIG. 6, the shared storage concurrent access processing device structure of the four interfaces mainly includes: a shared bus, four access interfaces Slave0 to Slave3, a shared memory access switch unit, and a shared memory.
共享总线,为来自访问源的存储访问提供读写通道,可以是任意拓扑但是符合以下几个主要特点(如图6是一个读写通道分离的示意,同样支持读写通道合一的总线):Master到从设备(Slave)按照地址路由;slave到Master按照ID路由;支持未完成传输(outstanding);支持乱序传输(out of order)。The shared bus provides read and write channels for storage access from the access source. It can be any topology but meets the following main features (see Figure 6 for a separate read and write channel, as well as a bus that supports both read and write channels): Master to slave (Slave) according to address routing; slave to Master according to ID routing; support for outstanding completion (outstanding); support out of order (out of order).
四个访问接口Slave0~Slave3统一管理,Slave0~Slave3中每个访问接口的访问队列都有4个位置(WID0&RID0~WID3&RID3),配置为接受通过所述共享总线送来的存储访问,并将接受的存储访问放入访问队列;此外,访问接口还可以配置为根据已处理完成的存储访问的ID,将相应的存 储访问从访问队列中移除。除此之外,还可以配置为根据反馈数据的伴随信息,将需要返回的反馈数据通过所述共享总线返回给访问源。Four access interfaces Slave0~Slave3 are managed uniformly. The access queues of each access interface in Slave0~Slave3 have four locations (WID0&RID0~WID3&RID3) configured to accept storage accesses sent through the shared bus and will accept The storage access is placed in the access queue; in addition, the access interface can be configured to store the corresponding storage address based on the ID of the stored storage access. The store access is removed from the access queue. In addition, it may be configured to return the feedback data that needs to be returned to the access source through the shared bus according to the accompanying information of the feedback data.
共享存储访问交换管理单元包括访问选择(access select)模块、并行译码(parallel decoding)模块、传输状态更新(transaction state update)模块,其中:The shared storage access switching management unit includes an access select module, a parallel decoding module, and a transaction state update module, where:
访问选择模块,配置为针对各个所述访问接口上的访问队列,从任意一个或多个访问队列任意选择未完成的存储访问,所选择的存储访问之间不存在Bank冲突即可;The access selection module is configured to arbitrarily select an unfinished storage access from any one or more access queues for the access queues on the respective access interfaces, and there is no bank conflict between the selected storage accesses;
并行译码模块,配置为对所述访问选择模块选择的存储访问并行译码,并传输给各自对应的Bank;所述访问选择模块,还配置为在选择存储访问后,将所选择的存储访问的ID发送给所述传输状态更新模块;The parallel decoding module is configured to decode the storage access selected by the access selection module in parallel and transmit to the corresponding bank; the access selection module is further configured to: after selecting the storage access, select the selected storage access The ID is sent to the transmission status update module;
所述传输状态更新模块,配置为根据所述存储访问的ID,随时更新其传输状态;并,将已处理完成的存储访问的ID告知相应的访问接口。The transmission status update module is configured to update its transmission status at any time according to the ID of the storage access; and notify the corresponding access interface of the ID of the stored storage access.
除此之外,还可以包含接口选择(date feedback&interface select)模块,配置为针对每个反馈数据,选择任意一个所述访问接口作为其通过接口,并将所述反馈数据及其伴随信息送给访问接口,所述伴随信息包含所述反馈数据所对应存储访问的ID和所述通过接口的标识。In addition, a date feedback & interface select module may be included, configured to select any one of the access interfaces as its pass interface for each feedback data, and send the feedback data and its accompanying information to the access And the accompanying information includes an ID of the storage access corresponding to the feedback data and an identifier of the pass interface.
如图6所示,共享存储器包含4个逻辑块Block0~Block3,每个逻辑块都包含四个Bank(Bank0~Bank3),所述逻辑块是指提供连续地址的逻辑存储单元,Bank是用来进行地址行列交织的更小的物理存储单元。每个Bank负责多个地址,也就是说,多个访问的地址位于同一个Bank,访问到来时,根据访问的地址将访问放到相应的Bank。实际应用中,共享存储器可以采用两级组织,如图7a所示,包含按照连续地址编码的四个逻辑块(Block),便于根据功能存储数据来避免并发访问之间的冲突;如图7b所示,每个Block包含按照横向地址编码的四个Bank,便于根据统计特性存储数据来 避免并发访问之间的冲突。上述装置中,字长为128bit;第一个字在Bank0,第二个字在Bank1,第三个字在Bank2,第四个字在Bank3,以此类推。也就是Block内顺序编址,Bank间横向编址,Bank内地址不连续(公差4的等差数列),地址在Bank间做行列交织。As shown in FIG. 6, the shared memory includes four logical blocks Block0~Block3, each of which includes four banks (Bank0~Bank3), the logical block refers to a logical storage unit that provides consecutive addresses, and the Bank is used to A smaller physical storage unit that interleaves the address rows and columns. Each bank is responsible for multiple addresses, that is, multiple accessed addresses are located in the same bank. When the access arrives, the access is placed in the corresponding bank according to the accessed address. In practical applications, the shared memory can be organized in two levels, as shown in FIG. 7a, including four logical blocks (Blocks) encoded according to consecutive addresses, so as to facilitate the storage of data according to functions to avoid conflicts between concurrent accesses; Show that each block contains four banks encoded according to the horizontal address, which is convenient for storing data according to statistical characteristics. Avoid conflicts between concurrent accesses. In the above device, the word length is 128 bits; the first word is in Bank0, the second word is in Bank1, the third word is in Bank2, the fourth word is in Bank3, and so on. That is, the sequential addressing in the block, the horizontal addressing between the banks, the address in the bank is not continuous (the tolerance series of tolerance 4), and the address is interleaved between the banks.
其中,所述接口选择模块,配置为针对每个需要返回的反馈数据,选择任意一个访问接口作为其通过接口,包括:针对每个需要返回的反馈数据,优先选择反馈数据对应的访问接口作为其通过接口;如果所述反馈数据对应的访问接口存在访问冲突,则选择任意一个当前不需要返回数据的访问接口作为其通过接口。The interface selection module is configured to select any one of the access interfaces as the pass-through interface for each feedback data that needs to be returned, including: for each feedback data that needs to be returned, preferentially selecting an access interface corresponding to the feedback data as its Through the interface; if the access interface corresponding to the feedback data has an access conflict, select any access interface that does not currently need to return data as its pass interface.
如图8所示,通过图6所示的装置可以实现本发明实施例的共享存储并发访问处理方法,所述方法具体可以包括如下步骤:As shown in FIG. 8, the shared storage concurrent access processing method of the embodiment of the present invention may be implemented by using the apparatus shown in FIG. 6, and the method may specifically include the following steps:
步骤801:访问源通过共享总线将存储访问送到各个访问接口Slave0~Slave3上,根据Slave0~Slave3内4个访问队列的总深度判断对新来的多个存储访问是否接受,将已接受的存储访问放到访问队列中;Step 801: The access source sends the storage access to each access interface Slave0 to Slave3 through the shared bus, and judges whether the new storage access is accepted according to the total depth of the four access queues in Slave0~Slave3, and the accepted storage is accepted. Access is placed in the access queue;
其中,每个访问接口优先接受各自对应的存储访问。4个访问队列的总空间不足时,可以根据任何策略仲裁即根据应用特点选取接受或不接受新来的存储访问。Each access interface preferentially accepts its corresponding storage access. When the total space of the four access queues is insufficient, it can be selected according to any policy arbitration to accept or not accept new storage access according to the application characteristics.
步骤802:共享存储访问交换管理单元的访问选择模块从分别对应Slave0~Slave3的4个访问队列的32个位置上已接受但是未完成的存储访问中,无视顺序的选择4个没有Bank冲突的存储访问,并将所选择的存储访问的ID送给共享存储访问交换管理模块的传输状态更新模块;Step 802: The access selection module of the shared storage access exchange management unit selects four storages without bank conflicts in a sequence of accepted but unfinished storage accesses from 32 locations corresponding to the four access queues of Slave0 to Slave3, respectively. Accessing, and sending the selected storage access ID to the transmission status update module of the shared storage access exchange management module;
其中,选择存储访问时可以根据任何策略仲裁,重点在于从四个访问队列的32个位置上任意选择一个或多个存储访问进行并行处理,但是同时选择出来的存储访问数量不大于共享存储器的逻辑块数量。本发明实施例中,所选出的存储访问数量不超过4个(总的接口数)即可。 Among them, the choice of storage access can be arbitrated according to any policy, the focus is on arbitrarily selecting one or more storage accesses from 32 locations of the four access queues for parallel processing, but the number of selected storage accesses is not greater than the logic of the shared memory. The number of blocks. In the embodiment of the present invention, the number of selected storage accesses may not exceed 4 (the total number of interfaces).
步骤803:共享存储访问交换管理单元的并行译码模块将所选定的无冲突存储访问并行译码,并送给各自对应的Bank;Step 803: The parallel decoding module of the shared storage access switching management unit decodes the selected conflict-free storage access in parallel and sends them to the corresponding banks;
步骤804:传输状态更新模块基于各个存储访问的ID,更新其传输状态(传输进度),如果刚好完成传输则通知访问接口将该存储访问从访问队列中移除。Step 804: The transmission status update module updates its transmission status (transmission progress) based on the ID of each storage access, and notifies the access interface to remove the storage access from the access queue if the transmission is just completed.
步骤805:共享存储访问交换管理单元的接口选择模块为每个需要返回的反馈数据选择通过的访问接口。Step 805: The interface selection module of the shared storage access exchange management unit selects an access interface for each feedback data that needs to be returned.
这里,对于每个需要返回的反馈数据,选择任意一个访问接口作为其通过接口。优先选择反馈数据对应的访问接口作为通过接口,对于存在接口冲突的其他反馈数据,可以选择任意一个不需要返回数据的访问接口作为通过接口。接口选择策略可以灵活设置,本发明实施例不做限制。Here, for each feedback data that needs to be returned, any one of the access interfaces is selected as its pass interface. The access interface corresponding to the feedback data is preferentially selected as the pass-through interface. For other feedback data with interface conflicts, any access interface that does not need to return data can be selected as the pass-through interface. The interface selection policy can be flexibly set, which is not limited in the embodiment of the present invention.
步骤806:共享存储访问交换管理单元的接口选择模块将反馈数据及其伴随信息送给访问接口;Step 806: The interface selection module of the shared storage access switching management unit sends the feedback data and its accompanying information to the access interface.
其中,伴随信息主要包括反馈数据所对应的存储访问的ID、以及反馈数据所要走的访问接口即通过接口的标识。The accompanying information mainly includes an ID of the storage access corresponding to the feedback data, and an identifier of the access interface through which the feedback data is to go.
步骤807:访问接口接收反馈数据以及其伴随信息,按照伴随信息将反馈数据通过共享总线返回给访问源。Step 807: The access interface receives the feedback data and its accompanying information, and returns the feedback data to the access source through the shared bus according to the accompanying information.
其中,Slave0~Slave3中每个都根据反馈数据的伴随信息,选择是否接受所述反馈数据,如果伴随信息中通过接口的标识与自身标识相同,则接受,并根据伴随信息中存储访问的ID将所述反馈数据通过共享总线返回给对应的访问源;否则不接受反馈数据,也不进行后续的数据返回处理。Each of Slave0~Slave3 selects whether to accept the feedback data according to the accompanying information of the feedback data. If the identifier of the interface in the accompanying information is the same as the identifier of the interface, it is accepted, and the ID of the access is stored according to the accompanying information. The feedback data is returned to the corresponding access source through the shared bus; otherwise, the feedback data is not accepted, and subsequent data return processing is not performed.
对于不需要返回数据的访问,例如读访问,到步骤804即可结束流程;对需要返回反馈数据的访问,例如写访问,其流程到807结束。For access that does not require returning data, such as a read access, the process can be terminated by step 804; for accesses that need to return feedback data, such as a write access, the flow ends at 807.
以上步骤中,步骤802以及步骤805是共享存储访问带宽得以改善的主要原因;步骤801以及步骤807是对现有片内数据总线协议的改进创新 和灵活应用,是该方法能够有效使用的辅助条件。In the above steps, steps 802 and 805 are the main reasons for improving the shared memory access bandwidth; steps 801 and 807 are improvements to the existing on-chip data bus protocol. And flexible application is an auxiliary condition for the effective use of this method.
与现有的各种共享存储接口带宽的改善方法和装置相比,采用本发明所述的方法和装置,具有如下特点:Compared with existing methods and devices for improving the bandwidth of shared storage interfaces, the method and apparatus of the present invention have the following features:
1)在对各个接口的存储访问仲裁时,结合outstanding功能,乱序地调度和响应,最大限度的降低了多端口存储访问时的Bank冲突,提高了静态随机存储器(SRAM,Static RAM)的入口和出口带宽。1) In the storage access arbitration of each interface, combined with the outstanding function, out of order scheduling and response, minimize the bank conflict in multi-port storage access, improve the entrance of static random access memory (SRAM, Static RAM) And export bandwidth.
2)在多个并发访问发生时,各个访问接口不是独立工作,而是统一管理队列资源,消除了有访问到来的访问接口队列满而其他访问接口有空余时不能接受新的访问所带来的带宽损失。2) When multiple concurrent accesses occur, each access interface does not work independently, but manages the queue resources uniformly, eliminating the fact that the access interface queue with access is full and the other access interfaces are free to accept new access. Bandwidth loss.
3)在多个数据返回时,放弃原来从哪里来回哪里去的方式,返回数据可以走任何一个接口返回,控制走各个接口的返回时延一致,总线对返回数据是根据ID路由,这样不会有任何不良影响,从而充分利用了接口提供的出口带宽。3) When multiple data returns, give up the way of going back and forth from where to go. The return data can be returned by any interface, and the return delay of each interface is controlled. The bus returns data according to ID, so it will not Any adverse effects that take advantage of the export bandwidth provided by the interface.
假设SRAM只有一个Block和一个访问接口,显然,这种方式与访问时的地址patter无关,假设单个接口的总线带宽为1(归一化单位),则该方案下共享存储的访问带宽刚好为1。Suppose the SRAM has only one block and one access interface. Obviously, this method has nothing to do with the address patter at the time of access. Assuming that the bus bandwidth of a single interface is 1 (normalized unit), the shared storage access bandwidth of this scheme is just 1 .
1)四个独立总线接口和四个独立的Block,使用普通方法的话,4个并发的访问源会出现如下几种情况:1) Four independent bus interfaces and four independent blocks. If you use the normal method, the following four concurrent access sources will appear as follows:
4个并发访问的地址正好落在四个不同的Block,带宽为4*1=4。The addresses of the four concurrent accesses fall on exactly four different blocks with a bandwidth of 4*1=4.
4个并发访问的地址落在了三个不同的Block,带宽为3*1=3。The addresses of the four concurrent accesses fall on three different blocks with a bandwidth of 3*1=3.
4个并发访问的地址落在了两个不同的Block,带宽为2*1=2。The addresses of the four concurrent accesses fall on two different blocks with a bandwidth of 2*1=2.
4个并发访问的地址落在了同一个Block,带宽为1。The addresses of 4 concurrent accesses fall in the same block with a bandwidth of 1.
假设每个访问源的访问地址相互独立且访问地址平均分布,而总的访问情况的个数为: Assume that the access addresses of each access source are independent of each other and the access addresses are evenly distributed, and the total number of access cases is:
N=44=256=N1+N2+N3+N4 N=4 4 =256=N 1 +N 2 +N 3 +N 4
Figure PCTCN2015077552-appb-000001
Figure PCTCN2015077552-appb-000001
Figure PCTCN2015077552-appb-000002
Figure PCTCN2015077552-appb-000002
Figure PCTCN2015077552-appb-000003
Figure PCTCN2015077552-appb-000003
Figure PCTCN2015077552-appb-000004
Figure PCTCN2015077552-appb-000004
4个并发访问的地址正好落在四个不同的Block的概率为:N4/N=9.38%。The probability that four concurrent access addresses fall on exactly four different blocks is: N4/N=9.38%.
4个并发访问的地址落在了三个不同的Block的概率为:N3/N=56.25%。The probability that four concurrent access addresses fall into three different blocks is: N3/N=56.25%.
4个并发访问的地址落在了两个不同的Block的概率为:N2/N=32.81%。The probability that four concurrent access addresses fall into two different blocks is: N2/N=32.81%.
4个并发访问的地址落在了同一个Block的概率为:N1/N=1.56%。The probability that four concurrent access addresses fall into the same block is: N1/N=1.56%.
这样该方案下的平均带宽为:B=B1*P1+B2*P2+B2*P2+B2*P2=4*9.38%+3*56.25%+2*32.81%+1*1.56%=2.73。Thus, the average bandwidth under this scheme is: B=B1*P1+B2*P2+B2*P2+B2*P2=4*9.38%+3*56.25%+2*32.81%+1*1.56%=2.73.
2)使用本发明实施例提供的装置和方法,假设共享总线可以支持最多16个outstanding的无序功能,也就是每个访问源平均支持4个outstanding的无序功能;存储器分为4个逻辑独立的Block,每个Block分为地址交织的4个Bank。这个方案下,从16个ID中所选择的4个并发的访问源会出现如下几种情况:2) Using the apparatus and method provided by the embodiments of the present invention, it is assumed that the shared bus can support up to 16 outstanding unordered functions, that is, each access source supports an average of 4 outstanding unordered functions; the memory is divided into 4 logical independent functions. Block, each block is divided into 4 banks of address interleaving. Under this scheme, the following four situations will be generated from the four concurrent access sources selected from the 16 IDs:
4个并发访问的地址正好落在四个不同的Bank,带宽为4*1G=4。The addresses of the four concurrent accesses fall in exactly four different banks with a bandwidth of 4*1G=4.
4个并发访问的地址落在了三个不同的Bank,带宽为3*1=3。The addresses of the four concurrent accesses fall into three different banks with a bandwidth of 3*1=3.
4个并发访问的地址落在了两个不同的Bank,带宽为2*1=2。The addresses of 4 concurrent accesses fall in two different banks with a bandwidth of 2*1=2.
4个并发访问的地址落在了同一个Bank,带宽为1。The addresses of 4 concurrent accesses fall in the same bank with a bandwidth of 1.
假设每个访问源的访问地址相互独立且访问地址平均分布,而总的访问情况的个数为:Assume that the access addresses of each access source are independent of each other and the access addresses are evenly distributed, and the total number of access cases is:
N=N1+N2+N3+N4=1616=18446744073709551616N=N 1 +N 2 +N 3 +N 4 =16 16 =18446744073709551616
Figure PCTCN2015077552-appb-000005
Figure PCTCN2015077552-appb-000005
Figure PCTCN2015077552-appb-000006
Figure PCTCN2015077552-appb-000006
Figure PCTCN2015077552-appb-000007
Figure PCTCN2015077552-appb-000007
N4=N-N1-N2-N3=18446744049705622576 N 4 =NN 1 -N 2 -N 3 =18446744049705622576
4个并发访问的地址正好落在四个不同的block的概率为:N4/N=99.99%。The probability that four concurrent access addresses fall on four different blocks is: N4/N=99.99%.
4个并发访问的地址落在了三个不同的block的概率为:N3/N=0.001%。The probability that four concurrent access addresses fall into three different blocks is: N3/N=0.001%.
4个并发访问的地址落在了两个不同的block的概率为:N2/N=0.00%。The probability that four concurrently accessed addresses fall into two different blocks is: N2/N=0.00%.
4个并发访问的地址落在了同一个block的概率为:N1/N=0.00。The probability that four concurrently accessed addresses fall on the same block is: N1/N=0.00.
这样该方案下的平均带宽为:B=B1*P1+B2*P2+B2*P2+B2*P2=4*99.99%+3*0.01%+2*0.00%+1*0.00%=4。Thus, the average bandwidth under this scheme is: B=B1*P1+B2*P2+B2*P2+B2*P2=4*99.99%+3*0.01%+2*0.00%+1*0.00%=4.
因此,和普通的四个独立总线接口配合四个独立的Block相对比,本发明实施例方法和装置所带来的收益,相比于普通的方法带宽提升46.5%。Therefore, compared with the conventional four independent bus interfaces, the advantages of the method and the device of the embodiment of the present invention are 46.5% higher than that of the conventional method.
本发明实施例提供的共享存储并发访问处理装置中的共享存储访问交换管理单元,以及共享存储访问交换管理单元中所包括的各模块如访问选择模块和并行译码模块、传输状态更新模块、接口选择模块,都可以通过计算设备如计算机中的处理器来实现;当然上述处理器完成的功能也可通过具体的逻辑电路实现;在具体实施例的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。The shared storage access exchange management unit in the shared storage concurrent access processing device provided by the embodiment of the present invention, and each module included in the shared storage access exchange management unit, such as an access selection module and a parallel decoding module, a transmission status update module, and an interface The selection module can be implemented by a computing device such as a processor in a computer; of course, the functions performed by the above processor can also be implemented by specific logic circuits; in the process of the specific embodiment, the processor can be a central processing unit (CPU) ), microprocessor (MPU), digital signal processor (DSP) or field programmable gate array (FPGA).
需要说明的是,本发明实施例中,如果以软件功能模块的形式实现上述的共享存储并发访问处理方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的 硬件和软件结合。It should be noted that, in the embodiment of the present invention, if the shared storage concurrent access processing method is implemented in the form of a software function module, and is sold or used as a standalone product, it may also be stored in a computer readable storage medium. . Based on such understanding, the technical solution of the embodiments of the present invention may be embodied in the form of a software product in essence or in the form of a software product stored in a storage medium, including a plurality of instructions. A computer device (which may be a personal computer, server, or network device, etc.) is caused to perform all or part of the methods described in various embodiments of the present invention. The foregoing storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read only memory (ROM), a magnetic disk, or an optical disk. Thus, embodiments of the invention are not limited to any particular A combination of hardware and software.
相应地,本发明实施例再提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行本发明实施例中共享存储并发访问处理方法。Correspondingly, the embodiment of the present invention further provides a computer storage medium, where the computer storage medium stores computer executable instructions, and the computer executable instructions are used to execute the shared storage concurrent access processing method in the embodiment of the present invention.
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。The above is a further detailed description of the present invention in connection with the specific embodiments, and the specific embodiments of the present invention are not limited to the description. It will be apparent to those skilled in the art that the present invention may be made without departing from the spirit and scope of the invention.
工业实用性Industrial applicability
本发明实施例中,对于各个访问接口上的访问队列,从任意一个或多个所述访问队列任意选择未完成的存储访问,所选择的存储访问之间不存在Bank冲突;对所选择的存储访问并行译码,并传输给各自对应的Bank,如此,能够更加有效的规避访问冲突和充分利用接口带宽,且基本不受访问方式的影响。 In the embodiment of the present invention, for an access queue on each access interface, an unfinished storage access is arbitrarily selected from any one or more of the access queues, and there is no bank conflict between the selected storage accesses; Parallel decoding is accessed and transmitted to the respective corresponding banks, so that access collisions can be more effectively avoided and the interface bandwidth can be fully utilized, and is basically not affected by the access mode.

Claims (12)

  1. 一种共享存储并发访问处理方法,所述方法包括:A shared storage concurrent access processing method, the method comprising:
    对于各个访问接口上的访问队列,从任意一个或多个所述访问队列任意选择未完成的存储访问,所选择的存储访问之间不存在堆Bank冲突;For an access queue on each access interface, an unfinished storage access is arbitrarily selected from any one or more of the access queues, and there is no heap bank conflict between the selected storage accesses;
    对所选择的存储访问并行译码,并传输给各自对应的Bank。The selected memory accesses are decoded in parallel and transmitted to the respective banks.
  2. 根据权利要求1所述的方法,其中,所述方法还包括:The method of claim 1 wherein the method further comprises:
    根据所选择的存储访问的ID,随时更新其传输状态;Update the transmission status at any time according to the ID of the selected storage access;
    将已处理完成的存储访问的ID告知相应的访问接口,使得访问接口将相应的存储访问从访问队列中移除。The ID of the stored storage access is communicated to the corresponding access interface so that the access interface removes the corresponding storage access from the access queue.
  3. 根据权利要求1或2所述的方法,其中,每个所述访问接口对应一个含多个未完成传输的访问队列,所选择的存储访问不大于访问接口总数。The method according to claim 1 or 2, wherein each of the access interfaces corresponds to an access queue having a plurality of outstanding transmissions, and the selected storage access is not greater than the total number of access interfaces.
  4. 一种共享存储并发访问处理装置,所述装置包括:共享总线、多个访问接口、共享存储访问交换管理单元和共享存储器,其中,A shared storage concurrent access processing device, the device comprising: a shared bus, a plurality of access interfaces, a shared storage access exchange management unit, and a shared memory, wherein
    共享总线,配置为为来自访问源的存储访问提供读写通道,支持未完成传输,支持乱序传输;A shared bus configured to provide read and write channels for storage access from an access source, support for incomplete transfers, and support for out-of-order transmission;
    访问接口,配置为接受通过所述共享总线送来的存储访问,并将接受的存储访问放入访问队列;An access interface configured to accept storage accesses sent over the shared bus and place the accepted storage accesses in an access queue;
    共享存储访问交换管理单元包括:访问选择模块和并行译码模块,其中,The shared storage access switching management unit includes: an access selection module and a parallel decoding module, wherein
    访问选择模块,配置为针对各个所述访问接口上的访问队列,从任意一个或多个所述访问队列任意选择未完成的存储访问,所选择的存储访问之间不存在Bank冲突;The access selection module is configured to arbitrarily select an unfinished storage access from any one or more of the access queues for the access queues on the respective access interfaces, and there is no bank conflict between the selected storage accesses;
    并行译码模块,配置为对所述访问选择模块选择的存储访问并行译码,并传输给各自对应的堆Bank; The parallel decoding module is configured to decode the storage access selected by the access selection module in parallel and transmit to the corresponding heap bank;
    共享存储器,包括多个逻辑块,所述逻辑块与访问接口没有明显的对应关系,每个逻辑块包括多个Bank,所述逻辑块是指提供连续地址的逻辑存储单元,Bank是用来进行地址行列交织的更小的物理存储单元。The shared memory includes a plurality of logical blocks, and the logical blocks have no obvious correspondence with the access interface. Each logical block includes a plurality of banks, and the logical blocks refer to logical storage units that provide consecutive addresses, and the bank is used for performing A smaller physical storage unit interleaved with address rows and columns.
  5. 根据权利要求4所述的共享存储访问交换管理单元,其中,所述共享存储访问交换管理单元还包括传输状态更新模块;The shared storage access exchange management unit according to claim 4, wherein the shared storage access exchange management unit further comprises a transmission status update module;
    所述访问选择模块,还配置为在选择存储访问后,将所选择的存储访问的ID发送给所述传输状态更新模块;The access selection module is further configured to: after selecting the storage access, send the selected storage access ID to the transmission status update module;
    所述传输状态更新模块,配置为根据所述存储访问的ID,随时更新其传输状态;并,将已处理完成的存储访问的ID告知相应的访问接口;The transmission status update module is configured to update its transmission status at any time according to the ID of the storage access; and notify the corresponding access interface of the ID of the processed storage access that has been processed;
    所述访问接口,还配置为根据已处理完成的存储访问的ID,将相应的存储访问从访问队列中移除。The access interface is further configured to remove the corresponding storage access from the access queue according to the ID of the stored storage access.
  6. 根据权利要求4或5所述的共享存储访问交换管理单元,其中,每个所述访问接口对应一个含多个未完成传输的访问队列,所选择的存储访问不大于访问接口总数。The shared storage access switching management unit according to claim 4 or 5, wherein each of the access interfaces corresponds to an access queue having a plurality of outstanding transmissions, and the selected storage access is not greater than the total number of access interfaces.
  7. 一种共享存储并发访问处理方法,所述方法包括:A shared storage concurrent access processing method, the method comprising:
    对于每个需要返回的反馈数据,选择任意一个访问接口作为其通过接口;For each feedback data that needs to be returned, select any access interface as its pass interface;
    将反馈数据及其伴随信息送给访问接口,所述伴随信息包含访问ID和所述通过接口的标识。The feedback data and its accompanying information are sent to an access interface, the accompanying information including an access ID and an identification of the pass-through interface.
  8. 根据权利要求7所述的方法,其中,选择任意一个访问接口作为其通过接口,包括:The method of claim 7, wherein selecting any one of the access interfaces as its pass-through interface comprises:
    优先选择所述反馈数据对应的访问接口作为其通过接口;Preferentially selecting an access interface corresponding to the feedback data as its pass interface;
    如果所述反馈数据对应的访问接口存在访问冲突,则选择任意一个当前不需要返回数据的访问接口作为其通过接口。If there is an access conflict in the access interface corresponding to the feedback data, any access interface that does not currently need to return data is selected as its pass interface.
  9. 根据权利要求7所述的方法,其中,所述方法还包括: The method of claim 7 wherein the method further comprises:
    访问接口接收所述反馈数据及其伴随信息,并根据所述伴随信息将所述反馈数据通过共享总线返回给访问源。The access interface receives the feedback data and its accompanying information, and returns the feedback data to the access source via the shared bus according to the accompanying information.
  10. 一种共享存储并发访问处理装置,所述装置包括:共享总线、多个访问接口、共享存储访问交换管理单元和共享存储器,其中,A shared storage concurrent access processing device, the device comprising: a shared bus, a plurality of access interfaces, a shared storage access exchange management unit, and a shared memory, wherein
    共享总线,配置为为来自访问源的存储访问提供读写通道,支持未完成传输,支持乱序传输;A shared bus configured to provide read and write channels for storage access from an access source, support for incomplete transfers, and support for out-of-order transmission;
    访问接口,配置为接受通过所述共享总线送来的存储访问,并将接受的存储访问放入访问队列;以及,配置为根据反馈数据的伴随信息,将需要返回的反馈数据通过所述共享总线返回给访问源;An access interface configured to accept a storage access sent over the shared bus and place the accepted storage access in an access queue; and configured to pass the feedback data that needs to be returned through the shared bus based on the accompanying information of the feedback data Return to the access source;
    共享存储访问交换管理单元包括:接口选择模块,配置为针对存储访问的反馈数据,选择任意一个所述访问接口作为其通过接口,并将所述反馈数据及其伴随信息送给访问接口,所述伴随信息包含所述反馈数据所对应存储访问的ID和所述通过接口的标识;The shared storage access exchange management unit includes: an interface selection module configured to select any one of the access interfaces as a pass-through interface for the feedback data of the storage access, and send the feedback data and its accompanying information to the access interface, The accompanying information includes an ID of the storage access corresponding to the feedback data and an identifier of the through interface;
    共享存储器,包括多个逻辑块,每个逻辑块包括多个Bank,所述逻辑块是指提供连续地址的逻辑存储单元,Bank是用来进行地址行列交织的更小的物理存储单元。The shared memory includes a plurality of logical blocks, each of which includes a plurality of banks, the logical blocks refer to logical storage units providing consecutive addresses, and the Bank is a smaller physical storage unit for performing address row and column interleaving.
  11. 根据权利要求10所述的共享存储访问交换管理单元,其中,所述接口选择模块,配置为针对每个需要返回的反馈数据,选择任意一个访问接口作为其通过接口,包括:The shared storage access exchange management unit according to claim 10, wherein the interface selection module is configured to select any one of the access interfaces as the pass-through interface for each feedback data that needs to be returned, including:
    针对每个需要返回的反馈数据,优先选择反馈数据对应的访问接口作为其通过接口;如果所述反馈数据对应的访问接口存在访问冲突,则选择任意一个当前不需要返回数据的访问接口作为其通过接口。For each feedback data that needs to be returned, the access interface corresponding to the feedback data is preferentially selected as its pass interface; if there is an access conflict in the access interface corresponding to the feedback data, any access interface that does not currently need to return data is selected as the pass interface.
  12. 一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行权利要求1至3任一项所述的共享存储并发访问处理方法;或者, A computer storage medium storing computer executable instructions for performing the shared storage concurrent access processing method according to any one of claims 1 to 3; or
    该计算机可执行指令用于执行权利要求7至9任一项所述的共享存储并发访问处理方法。 The computer executable instructions are for performing the shared storage concurrent access processing method of any one of claims 7 to 9.
PCT/CN2015/077552 2014-09-30 2015-04-27 Shared storage concurrent access processing method and device, and storage medium WO2016050059A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410526653.3A CN105446935B (en) 2014-09-30 2014-09-30 It is shared to store concurrent access processing method and device
CN201410526653.3 2014-09-30

Publications (1)

Publication Number Publication Date
WO2016050059A1 true WO2016050059A1 (en) 2016-04-07

Family

ID=55557153

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/077552 WO2016050059A1 (en) 2014-09-30 2015-04-27 Shared storage concurrent access processing method and device, and storage medium

Country Status (2)

Country Link
CN (1) CN105446935B (en)
WO (1) WO2016050059A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960664A (en) * 2019-03-19 2019-07-02 西安微电子技术研究所 A kind of FIFO control that the capacity that multimode is shared is distributed unitedly and independently used

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902041A (en) * 2019-03-11 2019-06-18 中国核动力研究设计院 A kind of SDRAM driver design method based on FPGA
CN113435153B (en) * 2021-06-04 2022-07-22 上海天数智芯半导体有限公司 Method for designing digital circuit interconnected by GPU (graphics processing Unit) cache subsystems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1613060A (en) * 2001-11-06 2005-05-04 因芬尼昂技术股份公司 Improved architecture with shared memory
CN101236741A (en) * 2008-01-24 2008-08-06 华为技术有限公司 Data reading and writing method and device
US20080320016A1 (en) * 2007-06-19 2008-12-25 Raza Microelectronics, Inc. Age matrix for queue dispatch order
WO2012045048A1 (en) * 2010-10-01 2012-04-05 Qualcomm Incorporated Memory pool interface methods and apparatuses

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1403772A1 (en) * 2002-09-30 2004-03-31 Telefonaktiebolaget L M Ericsson (Publ) Method and memory controller for scalable multi-channel memory access
CN102622192B (en) * 2012-02-27 2014-11-19 北京理工大学 Weak correlation multiport parallel store controller

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1613060A (en) * 2001-11-06 2005-05-04 因芬尼昂技术股份公司 Improved architecture with shared memory
US20080320016A1 (en) * 2007-06-19 2008-12-25 Raza Microelectronics, Inc. Age matrix for queue dispatch order
CN101236741A (en) * 2008-01-24 2008-08-06 华为技术有限公司 Data reading and writing method and device
WO2012045048A1 (en) * 2010-10-01 2012-04-05 Qualcomm Incorporated Memory pool interface methods and apparatuses

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109960664A (en) * 2019-03-19 2019-07-02 西安微电子技术研究所 A kind of FIFO control that the capacity that multimode is shared is distributed unitedly and independently used
CN109960664B (en) * 2019-03-19 2023-05-02 西安微电子技术研究所 FIFO control device for unified allocation and independent use of capacity shared by multiple modules

Also Published As

Publication number Publication date
CN105446935A (en) 2016-03-30
CN105446935B (en) 2019-07-19

Similar Documents

Publication Publication Date Title
US9690502B2 (en) Systems and methods for segmenting data structures in a memory system
US8285914B1 (en) Banked memory arbiter for control memory
US8572342B2 (en) Data transfer device with confirmation of write completion and method of controlling the same
US10437480B2 (en) Intelligent coded memory architecture with enhanced access scheduler
US8725873B1 (en) Multi-server round robin arbiter
TWI655575B (en) System and method for enabling a high read rate of a data element list
US9032162B1 (en) Systems and methods for providing memory controllers with memory access request merging capabilities
US11641326B2 (en) Shared memory mesh for switching
TWI720926B (en) Network device, memory system for the network device, and method for operating the network device
US8327055B2 (en) Translating a requester identifier to a chip identifier
WO2016050059A1 (en) Shared storage concurrent access processing method and device, and storage medium
CN104102549A (en) Method, device and chip for realizing mutual exclusion operation of multiple threads
CN112368676A (en) Method and apparatus for processing data
US8667199B2 (en) Data processing apparatus and method for performing multi-cycle arbitration
US9940128B2 (en) Conditional access with timeout
US8533377B2 (en) System and method for allocating transaction ID in a system with a plurality of processing modules
US20070005865A1 (en) Enforcing global ordering using an inter-queue ordering mechanism
US10031884B2 (en) Storage apparatus and method for processing plurality of pieces of client data
US8787368B2 (en) Crossbar switch with primary and secondary pickers
US10579428B2 (en) Data token management in distributed arbitration systems
JP2014167818A (en) Data transfer device and data transfer method
EP3926482A1 (en) System and method for performing transaction aggregation in a network-on-chip (noc)
US20160292091A1 (en) Packet processing system, method and device utilizing a port client chain
JP2016526739A (en) Method for implementing bit arrays in cache lines
CN118152310A (en) PCIe AXI bridge-based write data storage, search and transmission processing method and system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15848107

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15848107

Country of ref document: EP

Kind code of ref document: A1