CN112306918B - 数据访问方法、装置、电子设备和计算机存储介质 - Google Patents
数据访问方法、装置、电子设备和计算机存储介质 Download PDFInfo
- Publication number
- CN112306918B CN112306918B CN201910704510.XA CN201910704510A CN112306918B CN 112306918 B CN112306918 B CN 112306918B CN 201910704510 A CN201910704510 A CN 201910704510A CN 112306918 B CN112306918 B CN 112306918B
- Authority
- CN
- China
- Prior art keywords
- access
- access request
- identity information
- updated
- data
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000004044 response Effects 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 49
- 230000015654 memory Effects 0.000 abstract description 16
- 230000000903 blocking effect Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
本公开的实施例涉及一种数据访问方法、装置、电子设备和计算机可读存储介质。该方法可以包括响应于接收到从访问设备集合中的第一访问设备向存储设备集合中的第一存储设备发送的第一访问请求,向所述第一存储设备发送更新的第一访问请求,所述更新的第一访问请求包括所述第一访问设备的身份信息。该方法还可以包括响应于接收到来自所述存储设备集合的数据,确定所述数据中包括的身份信息。该方法可以进一步包括响应于确定的所述身份信息与所述第一访问设备的身份信息相对应,将所述数据发送至所述第一访问设备。本公开的技术方案添加每个访问设备的身份信息,从而缩短了处理每个访问请求的等待时间,进而缓解了访存阻塞问题。
Description
技术领域
本公开的实施例主要涉及计算机领域,并且更具体地,涉及数据访问方法、装置、电子设备和计算机可读存储介质。
背景技术
存储器通常用于存放程序和数据,是计算机的重要组成部分。在复杂的片上***(SOC***)中,由于主设备和从设备的数量较多,***会采用片上网络(NOC)对多个主设备和从设备进行互联,这导致了连接各主设备与从设备的不同通路上的延迟。除了NOC的影响,构成全局存储器的存储介质、对应的存储控制器等因素也会对访问存储器的延迟造成很大影响。
例如,当一组处理器核中的多个处理器核同时访问某一个或多个全局存储器时,由于只有目前的一组处理器核中仅具有一个访存通路,如果发生排队,并且访存延迟较长的访问请求在前,那么其他处理器核的访问请求就会被阻塞住,发生多个处理器核之间的访存阻塞。
发明内容
根据本公开的示例实施例,提供了一种支持在多个芯片之间通信的方案。
在本公开的第一方面中,提供了一种数据访问方法。该方法可以包括响应于接收到从访问设备集合中的第一访问设备向存储设备集合中的第一存储设备发送的第一访问请求,向所述第一存储设备发送更新的第一访问请求,所述更新的第一访问请求包括所述第一访问设备的身份信息。该方法还可以包括响应于接收到来自所述存储设备集合的数据,确定所述数据中包括的身份信息。该方法可以进一步包括响应于确定的所述身份信息与所述第一访问设备的身份信息相对应,将所述数据发送至所述第一访问设备。
在本公开的第二方面中,提供了一种数据访问装置。该装置包括:第一访问请求发送模块,被配置为响应于接收到从访问设备集合中的第一访问设备向存储设备集合中的第一存储设备发送的第一访问请求,向所述第一存储设备发送更新的第一访问请求,所述更新的第一访问请求包括所述第一访问设备的身份信息;身份信息确定模块,被配置为响应于接收到来自所述存储设备集合的数据,确定所述数据中包括的身份信息;以及数据发送模块,被配置为响应于确定的所述身份信息与所述第一访问设备的身份信息相对应,将所述数据发送至所述第一访问设备。
在本公开的第三方面中,提供了一种设备,包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现根据本公开的第一方面的方法。
在本公开的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。
在本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
图1示出了根据本公开的多个实施例能够在其中实现的示例环境的示意图;
图2示出了根据本公开的实施例的数据访问的过程的流程图;
图3示出了根据本公开的实施例的访问请求的处理过程的流程图;
图4示出了根据本公开的实施例的用于实现数据访问的装置的示意框图;以及
图5示出了能够实施本公开的多个实施例的计算设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如上文提及的,亟需一种支持访问设备集合(即,处理器核的集群)中的两个或更多个访问设备(即,处理器核)对存储设备进行访问的方法,从而实现快速高效且低成本访存机制。传统的数据访问方法通常是:在访问设备集合中的一个访问设备的从发起访问请求直到接收数据的过程全部完成之后,该访问设备集合中的另一访问设备才被允许向存储设备发送访问请求。这显然存在低效的问题。为了解决该问题,目前已经研发出了两种数据访问机制,一种方式是多个访问设备使用独立的访存接口,另一方式是增加访存通路的高速缓存。
对于第一种方式,访问设备的数目需要被限制,否则会显著增加片上网络的复杂度。此外,由于全局存储的带宽是有限的,在访问设备的数目较多时,可能会存在过设计的问题。因此,此种方式只适用于访问设备的数目较小的场景,并且不能进行访问设备的数目的扩展。对于第二种方式,其所需要的硬件复杂度相对较高,从而会带来额外的面积和功耗开销。此外,在多个访问设备所要访问的存储空间相差较大的情况下,所增加的高速缓存的命中率会下降,导致多个访问设备之间的访存阻塞问题仍然严重。
根据本公开的实施例,提出了一种数据访问方案。在该方案中,可以为访问设备集合中的每个访问设备发出的访问请求标注与相应访问设备对应的身份信息。由于进一步细化了访问设备集合的识别粒度,从各存储设备返回的数据的顺序可以被打乱。进而,与传统的在前一访问设备接收到数据之后后一访问设备才被允许向存储设备发送访问请求不同地,只要前一访问设备的访问请求从访问设备集合侧发出,后一访问设备就可以被允许发送访问请求。该方案充分利用了片上网络的特点,通过标记相应的身份信息打乱了接收到的来自各存储设备的数据的顺序,从而使后一访问设备无需等待从访问请求经由片上网络发送至存储设备直至数据从存储设备经由片上网络返回至前一访问设备的时间段,从而显著提升了数据访问的效率。
为了更为详尽地描述本公开的多个实施例中的与片上网络相关联的拓扑结构,首先需要对本公开实施例的示例环境进行简要说明。图1示出了根据本公开的多个实施例能够在其中实现的示例环境100的示意图。如图1所示,访问设备集合110作为主设备经由片上网络(NOC)120与作为从设备的存储设备130、存储设备140通信地连接。访问设备集合110包含多个访问设备,例如,访问设备112、访问设备114等。此外,访问设备集合110还包含处理设备150。
在传统的数据访问方案中,当访问设备集合110中包括访问设备112和访问设备114的多个访问设备分别发出对存储设备集合160中的存储设备130和/或存储设备140的访问请求时,由例如访问设备112在先发出的访问请求可以被处理设备150率先转发至NOC120。但在被请求的来自存储设备130或存储设备140的数据被返回值访问设备112之前,诸如访问设备114的其他访问设备的访问请求均需要排队等待,这是访问设备集合110中的多个访问设备之间发生访存阻塞的根本原因。
为解决此问题,处理设备150被配置成为每个接收到的访问请求标注与发送相应访问请求的访问设备相对应的身份信息。例如,当处理设备150接收到访问设备112的访问请求时,处理设备150对该访问请求进行处理,从而为该访问请求标注访问设备112的身份信息。类似地,当处理设备150接收到访问设备114的访问请求时,处理设备150对该访问请求进行处理,从而为该访问请求标注访问设备114的身份信息。由于各访问请求均被标注有相应的身份信息,故当来自存储设备130或存储设备140的数据经由NOC 120返回时,处理设备150可以基于与数据传输相关的身份信息来确定该数据应当返回的访问设备。
作为示例,存储设备130可以是高带宽现存(HBM)与SRAM中的一个,而存储设备140可以是高带宽现存(HBM)与SRAM中的另一个。在某些实施例中,存储设备130与存储设备140是同一存储设备,例如,SRAM。也就是说,在某些实施例中,访问设备集合110中的多个访问设备可以均访问同一存储设备。
应理解,上文关于访问设备的身份信息的表达方式仅是用于示例,而非限制本发明。例如,“为该访问请求标注访问设备112的身份信息”并非仅用于限定用访问设备112固有的身份信息来标注该访问请求,而是可以用于访问设备112有任何关联关系的信息作为身份信息来标注该访问请求。因此,在不背离本公开保护范围的前提下,访问设备的身份信息只需要表示出与相应访问设备的对应关系或关联关系即可。此外,上文关于NOC 120的描述也是用于示例,而非限制本发明。为了更清楚地解释上述方案的原理,下文将参考图1来更详细描述数据访问的过程。
图2示出了根据本公开的实施例的数据访问的过程200的流程图。过程200可以由图1的处理设备150来实现。为了方便讨论,将结合图1来描述过程200。
在210,处理设备150可以先判定是否接收到从访问设备集合110中的诸如访问设备112向存储设备130发送的第一访问请求。如果处理设备150并未接收到任何访问请求,则继续执行检测和判定。如果处理设备150接收到访问设备112向存储设备130发送的第一访问请求,则前进至220。
在220,处理设备150可以向存储设备112发送更新的第一访问请求,更新的第一访问请求包括第一访问设备的身份信息。在某些实施例中,可以对第一访问请求进行处理,以标注存储设备112的身份信息。图3示出了根据本公开的实施例的访问请求的处理过程300的流程图。
在310,处理设备150可以获取访问设备112的身份信息。作为示例,处理设备150可以获取访问设备112自身固有的身份信息。备选地或附加地,处理设备150可以获取与访问设备112具有对应关系的信息作为访问设备112的身份信息。
在320,处理设备150可以通过将身份信息包含在第一访问请求中而生成更新的第一访问请求。作为示例,处理设备150可以对第一访问请求进行处理,以将身份信息包含在第一访问请求中,从而生成更新的第一访问请求。应理解,该身份信息具有标识作用,其可以将访问设备112、第一访问请求、数据、发送访问请求的通道以及返回数据的通道关联在一起。
在330,处理设备150可以发送更新的第一访问请求。作为示例,处理设备150可以将更新的第一访问请求发送至NOC 120,NOC 120进而将更新的第一访问请求发送至,例如,存储设备130。备选地或附加地,处理设备150也可以直接地或者经由其他中间网络将更新的第一访问请求发送至存储设备130。以此方式,通过添加身份信息,返回的数据的次序可以被打乱,进而为后续的缩短处理每个访问请求的等待时间提供便利。
在详细描述了访问请求的处理过程300之后,回到图2,继续讨论数据访问的过程200。在得到包含访问设备112的身份信息的更新的第一访问请求之后,过程200进行到230。
在230,处理设备150可以判定是否接收到来自存储设备集合160的数据。如果处理设备150并未接收到来自存储设备集合160的任何数据,则继续执行检测和判定。如果处理设备150接收到来自存储设备集合160的数据,则前进至240。
在240,处理设备150可以确定数据中包括的身份信息。作为示例,处理设备150可以对接收到的数据进行解析,并获取该数据中的身份信息。备选地或附加地,处理设备150还可以通过解析数据而获知返回该数据的通道,进而为后续的确定将数据返回至访问设备112做准备。
在250,处理设备150可以判定确定的身份信息与访问设备112的身份信息是否相对应。如果确定的身份信息与访问设备112的身份信息不对应,则说明该数据属于其他访问设备,诸如访问设备114。而如果确定的身份信息与访问设备112的身份信息对应,则前进至260。
在260,处理设备150可以将数据发送至访问设备114。应理解,处理设备150还可以通过解析数据而获知该数据所属的访问设备的身份信息。此外,如前文所述,由于该身份信息可以将访问设备112与返回数据的通道关联在一起,故处理设备150可以通过解析数据而获知返回该数据的通道,进而确定与该通道相关联的访问设备,即,该数据所属的访问设备。以此方式,访问设备集合110一侧所接收到的数据的次序可以被打乱,从而能够节省前一访问请求的数据被返回的等待时间。
应理解,为了降低NOC 120的复杂度,访问设备集合110通常仅设置一个端口。因此,如果处理设备150接收到来自多个访问设备(诸如,访问设备112、访问设备114)的访问请求,则可以对访问请求进行串行处理。作为示例,在处理访问设备112的过程中,过程200还可以包括,处理设备150判定是否接收到从访问设备集合110中的访问设备114向存储设备集合160中的存储设备140发送的第二访问请求,如果处理设备150接收到访问设备114向存储设备140发送的第二访问请求,则进一步确定之前第一访问请求是否已被发送。如果确定该第一访问请求已被发送,则处理设备150向存储设备140发送更新的第二访问请求,该更新的第二访问请求包括访问设备114的身份信息。之后,更新的第二访问请求经由NOC120被发送至存储设备140。以此方式,每当处理设备150串行处理多个访问请求时,一旦前一访问请求被处理设备150发出,处理设备150就可以处理下一访问请求,而无需如传统的数据访问机制那样等待前一访问请求的数据被返回。因此,以上方式显著减少了等待时间,避免了严重的访存阻塞。
此外,为了进一步缓解访存阻塞,可以有限地增加访问设备集合110的端口数量。作为示例,访问设备集合110可以具有两个端口,即,第一端口和第二端口,从而实现对多个访问请求的并行处理。例如,上述第一访问请求可以经由访问设备集合110的第一端口接收,上述第二访问请求可以经由访问设备集合110的第二端口接收。
与传统技术相比,本公开的方案通过添加每个访问设备的身份信息,从而可以打乱每个返回的数据的次序。这样就无需等待前一个访问请求的整个数据访问的时间周期,而是仅需等待处理前一个访问请求的时间,就可以执行下一个访问请求的处理。此外,由于并未显著增加访问设备集合110的端口数,故可以实现访问设备集合110的访问设备数目的扩展升级,并且减少了扩展升级对整个片上***的影响。
对于本公开的片上***而言,本公开的上述实施例充分利用了片上***集成协议的特性,仅增加了添加身份信息的步骤,以最小的代价降低了访问设备集合110中的多个访问设备之间的访存阻塞问题,而对***的复杂度、硬件功耗、乃至占用面积方面均没有不利影响。
以上讨论了在一些示例场景下两个访问设备112、114经由NOC120分别对两个存储设备130、140进行访问的示例。然而,应当理解,这些场景的描述仅为了以示例方式来解释说明本公开的实施例。取决于实际需要,在不同或类似场景下,还可能存在其他情形。还需要注意的是,本公开的技术方案本质上不限于应用到NOC领域,本公开的技术方案在应用于其他数据访问领域时同样可以具备上文提到的各种优点。
图4示出了根据本公开的实施例的用于实现数据访问的装置400的示意框图。如图4所示,装置400可以包括:第一访问请求发送模块410,被配置为响应于接收到从访问设备集合110中的访问设备112向存储设备集合160中的存储设备130发送的第一访问请求,向存储设备130发送更新的第一访问请求,该更新的第一访问请求包括访问设备112的身份信息;身份信息确定模块420,被配置为响应于接收到来自存储设备集合160的数据,确定数据中包括的身份信息;以及数据发送模块430,被配置为响应于确定的身份信息与访问设备112的身份信息相对应,将数据发送至访问设备112。
在一些实施例中,第一访问请求发送模块410可以进一步包括:身份信息获取模块(未示出),被配置为获取访问设备112的身份信息;更新模块(未示出),被配置为通过将身份信息包含在第一访问请求中,生成更新的第一访问请求;以及更新请求发送模块(未示出),被配置为发送更新的第一访问请求。
在一些实施例中,更新的第一访问请求是经由片上网络发送至存储设备112的。
在一些实施例中,装置400还可以包括:发送确定模块(未示出),被配置为响应于接收到从访问设备集合110中的访问设备114向存储设备集合160中的存储设备140发送的第二访问请求,确定第一访问请求是否已被发送;以及第二访问请求发送模块(未示出),被配置为响应于确定第一访问请求已被发送,向存储设备140发送更新的第二访问请求,更新的第二访问请求包括访问设备114的身份信息。
在一些实施例中,第一访问请求是经由访问设备集合110的第一端口接收的,第二访问请求是经由访问设备集合110的第二端口接收的。
在一些实施例中,存储设备130和存储设备140相同,是同一存储设备。
在一些实施例中,更新的第二访问请求是经由NOC 120发送至存储设备140的.
图5示出了可以用来实施本公开的实施例的示例设备500的示意性框图。如图所示,设备500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的计算机程序指令或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序指令,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元501执行上文所描述的各个方法和处理,例如过程200或300。例如,在一些实施例中,过程200或300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由CPU 501执行时,可以执行上文描述的过程300的一个或多个步骤。备选地,在其他实施例中,CPU 501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程200或300。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (14)
1.一种数据访问方法,包括:
响应于接收到从访问设备集合中的第一访问设备向存储设备集合中的第一存储设备发送的第一访问请求,向所述第一存储设备发送更新的第一访问请求,所述更新的第一访问请求包括所述第一访问设备的身份信息;
响应于接收到来自所述存储设备集合的数据,确定所述数据中包括的身份信息;
响应于确定的所述身份信息与所述第一访问设备的身份信息相对应,将所述数据发送至所述第一访问设备;
响应于接收到从访问设备集合中的第二访问设备向存储设备集合中的第二存储设备发送的第二访问请求,确定所述第一访问请求是否已被发送;以及
响应于确定所述第一访问请求已被发送,向所述第二存储设备发送更新的第二访问请求,所述更新的第二访问请求包括所述第二访问设备的身份信息。
2.根据权利要求1所述的方法,其中向所述第一存储设备发送所述更新的第一访问请求包括:
获取所述第一访问设备的所述身份信息;
通过将所述身份信息包含在所述第一访问请求中,生成所述更新的第一访问请求;以及
发送所述更新的第一访问请求。
3.根据权利要求1所述的方法,其中所述更新的第一访问请求是经由片上网络发送至所述第一存储设备的。
4.根据权利要求1所述的方法,其中所述第一访问请求是经由所述访问设备集合的第一端口接收的,所述第二访问请求是经由所述访问设备集合的第二端口接收的。
5.根据权利要求1所述的方法,其中所述第一存储设备与所述第二存储设备相同。
6.根据权利要求1所述的方法,其中所述更新的第二访问请求是经由片上网络发送至所述第二存储设备的。
7.一种数据访问装置,包括:
第一访问请求发送模块,被配置为响应于接收到从访问设备集合中的第一访问设备向存储设备集合中的第一存储设备发送的第一访问请求,向所述第一存储设备发送更新的第一访问请求,所述更新的第一访问请求包括所述第一访问设备的身份信息;
身份信息确定模块,被配置为响应于接收到来自所述存储设备集合的数据,确定所述数据中包括的身份信息;
数据发送模块,被配置为响应于确定的所述身份信息与所述第一访问设备的身份信息相对应,将所述数据发送至所述第一访问设备;
发送确定模块,被配置为响应于接收到从访问设备集合中的第二访问设备向存储设备集合中的第二存储设备发送的第二访问请求,确定所述第一访问请求是否已被发送;以及
第二访问请求发送模块,被配置为响应于确定所述第一访问请求已被发送,向所述第二存储设备发送更新的第二访问请求,所述更新的第二访问请求包括所述第二访问设备的身份信息。
8.根据权利要求7所述的装置,其中所述第一访问请求发送模块包括:
身份信息获取模块,被配置为获取所述第一访问设备的所述身份信息;
更新模块,被配置为通过将所述身份信息包含在所述第一访问请求中,生成所述更新的第一访问请求;以及
更新请求发送模块,被配置为发送所述更新的第一访问请求。
9.根据权利要求7所述的装置,其中所述更新的第一访问请求是经由片上网络发送至所述第一存储设备的。
10.根据权利要求7所述的装置,其中所述第一访问请求是经由所述访问设备集合的第一端口接收的,所述第二访问请求是经由所述访问设备集合的第二端口接收的。
11.根据权利要求7所述的装置,其中所述第一存储设备和所述第二存储设备相同。
12.根据权利要求7所述的装置,其中所述更新的第二访问请求是经由片上网络发送至所述第二存储设备的。
13.一种电子设备,所述电子设备包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910704510.XA CN112306918B (zh) | 2019-07-31 | 2019-07-31 | 数据访问方法、装置、电子设备和计算机存储介质 |
EP20166328.3A EP3772212B1 (en) | 2019-07-31 | 2020-03-27 | Data access method and apparatus, and electronic device |
US16/853,617 US11169718B2 (en) | 2019-07-31 | 2020-04-20 | Data access method and apparatus |
KR1020200048810A KR102349245B1 (ko) | 2019-07-31 | 2020-04-22 | 데이터 액세스 방법, 장치, 전자 기기 및 컴퓨터 저장 매체 |
JP2020114732A JP2021026767A (ja) | 2019-07-31 | 2020-07-02 | データメモリアクセスの方法、装置、電子機器及びコンピュータ読み取り可能な記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910704510.XA CN112306918B (zh) | 2019-07-31 | 2019-07-31 | 数据访问方法、装置、电子设备和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112306918A CN112306918A (zh) | 2021-02-02 |
CN112306918B true CN112306918B (zh) | 2024-06-14 |
Family
ID=70056950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910704510.XA Active CN112306918B (zh) | 2019-07-31 | 2019-07-31 | 数据访问方法、装置、电子设备和计算机存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11169718B2 (zh) |
EP (1) | EP3772212B1 (zh) |
JP (1) | JP2021026767A (zh) |
KR (1) | KR102349245B1 (zh) |
CN (1) | CN112306918B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1514973A (zh) * | 2001-06-29 | 2004-07-21 | 英特尔公司 | 用于多个读取请求的存储器控制 |
CN109086228A (zh) * | 2018-06-26 | 2018-12-25 | 深圳市安信智控科技有限公司 | 具有多个独立访问通道的高速存储器芯片 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4660362B2 (ja) | 2005-11-25 | 2011-03-30 | 株式会社日立製作所 | 計算機システム |
US20090089866A1 (en) * | 2007-09-27 | 2009-04-02 | Akifumi Yato | Access authorization system, access control server, and business process execution system |
JP5214736B2 (ja) * | 2008-09-12 | 2013-06-19 | 株式会社日立製作所 | 半導体装置および情報処理システム |
KR101841173B1 (ko) * | 2010-12-17 | 2018-03-23 | 삼성전자주식회사 | 리오더 버퍼를 이용한 메모리 인터리빙 장치 및 그 메모리 인터리빙 방법 |
JP2012181585A (ja) | 2011-02-28 | 2012-09-20 | Seiko Epson Corp | デバイスシステムおよびチップ |
JP5776022B2 (ja) * | 2011-04-13 | 2015-09-09 | パナソニックIpマネジメント株式会社 | 制御装置 |
US8918306B2 (en) * | 2011-11-16 | 2014-12-23 | Hartford Fire Insurance Company | System and method for providing dynamic insurance portal transaction authentication and authorization |
CN102609378B (zh) * | 2012-01-18 | 2016-03-30 | 中国科学院计算技术研究所 | 一种消息式内存访问装置及其访问方法 |
CN103858117B (zh) * | 2012-08-13 | 2017-09-15 | 松下知识产权经营株式会社 | 访问控制装置、中继装置、访问控制方法 |
CN102929562B (zh) * | 2012-10-09 | 2015-05-06 | 无锡江南计算技术研究所 | 基于识别标识的可扩展重排序方法 |
KR101906449B1 (ko) * | 2012-12-10 | 2018-10-10 | 삼성전자주식회사 | 홈 네트워크 시스템에서 홈 디바이스 및 외부 서버간의 접속 제어 방법 및 장치 |
US9716542B2 (en) * | 2014-05-30 | 2017-07-25 | Gogo Llc | Systems and methods for facilitating communications destined for a non-terrestrial network |
KR20160118836A (ko) * | 2015-04-03 | 2016-10-12 | 에스케이하이닉스 주식회사 | 호스트 커맨드 큐를 포함하는 메모리 컨트롤러 및 그것의 동작 방법 |
CN106155577B (zh) * | 2015-04-23 | 2019-03-26 | 华为技术有限公司 | 扩展内存的访问方法、设备以及*** |
GB2543312A (en) * | 2015-10-14 | 2017-04-19 | Smartpipe Tech Ltd | Network identification as a service |
US20170318093A1 (en) * | 2016-04-29 | 2017-11-02 | Netapp, Inc. | Method and System for Focused Storage Access Notifications from a Network Storage System |
CN107783727B (zh) * | 2016-08-31 | 2022-01-14 | 华为技术有限公司 | 一种内存设备的访问方法、装置和*** |
US10437750B2 (en) | 2017-12-21 | 2019-10-08 | Arm Limited | Relative data width indication for read responses routed by an interconnect |
US10431581B1 (en) * | 2018-04-30 | 2019-10-01 | Qualcomm Incorporated | Complementary metal-oxide semiconductor (CMOS) integration with compound semiconductor devices |
CN108845863B (zh) * | 2018-06-12 | 2022-08-26 | 北京百度网讯科技有限公司 | 用于虚拟机与宿主机的通信方法、装置和*** |
KR20200037584A (ko) * | 2018-10-01 | 2020-04-09 | 에스케이하이닉스 주식회사 | 메모리 시스템, 그것의 동작방법 및 메모리 시스템을 포함하는 데이터베이스 시스템 |
-
2019
- 2019-07-31 CN CN201910704510.XA patent/CN112306918B/zh active Active
-
2020
- 2020-03-27 EP EP20166328.3A patent/EP3772212B1/en active Active
- 2020-04-20 US US16/853,617 patent/US11169718B2/en active Active
- 2020-04-22 KR KR1020200048810A patent/KR102349245B1/ko active IP Right Grant
- 2020-07-02 JP JP2020114732A patent/JP2021026767A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1514973A (zh) * | 2001-06-29 | 2004-07-21 | 英特尔公司 | 用于多个读取请求的存储器控制 |
CN109086228A (zh) * | 2018-06-26 | 2018-12-25 | 深圳市安信智控科技有限公司 | 具有多个独立访问通道的高速存储器芯片 |
Also Published As
Publication number | Publication date |
---|---|
US11169718B2 (en) | 2021-11-09 |
CN112306918A (zh) | 2021-02-02 |
KR20210015617A (ko) | 2021-02-10 |
EP3772212B1 (en) | 2023-06-21 |
JP2021026767A (ja) | 2021-02-22 |
KR102349245B1 (ko) | 2022-01-07 |
US20210034257A1 (en) | 2021-02-04 |
EP3772212A1 (en) | 2021-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9569366B2 (en) | System and method to provide non-coherent access to a coherent memory system | |
CN105900076B (zh) | 用于处理多个交易的数据处理***及方法 | |
WO2015078219A1 (zh) | 一种信息缓存方法、装置和通信设备 | |
US9330002B2 (en) | Multi-core interconnect in a network processor | |
CN111737564B (zh) | 一种信息查询方法、装置、设备及介质 | |
US20150143045A1 (en) | Cache control apparatus and method | |
US10198374B2 (en) | Configurable on-chip interconnection system and method and apparatus for implementing same, and storage medium | |
CN110825435B (zh) | 用于处理数据的方法和装置 | |
US11256444B2 (en) | Method for processing read/write data, apparatus, and computer readable storage medium thereof | |
US20150188816A1 (en) | Look-aside processor unit with internal and external access for multicore processors | |
US20190294442A1 (en) | Computer system and memory access technology | |
US10169272B2 (en) | Data processing apparatus and method | |
US11243767B2 (en) | Caching device, cache, system, method and apparatus for processing data, and medium | |
US10095643B2 (en) | Direct memory access control device for at least one computing unit having a working memory | |
CN112306918B (zh) | 数据访问方法、装置、电子设备和计算机存储介质 | |
US10445267B2 (en) | Direct memory access (DMA) unit with address alignment | |
CN115174673B (zh) | 具备低延迟处理器的数据处理装置、数据处理方法及设备 | |
CN114063923A (zh) | 数据读取方法、装置、处理器及电子设备 | |
US11481216B2 (en) | Atomic operations in a large scale distributed computing network | |
CN117632820B (zh) | 请求处理方法、装置、总线桥、电子设备及可读存储介质 | |
CN115297169B (zh) | 数据处理方法、装置、电子设备及介质 | |
CN117389915B (zh) | 缓存***、读命令调度方法、片上***及电子设备 | |
CN116226027B (zh) | 数据传输***、方法、装置、通信设备及存储介质 | |
CN118277126A (zh) | 读请求处理方法、广播单元和处理器*** | |
CN118069570A (zh) | 一种门铃式芯片访问***、装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211015 Address after: 2 / F, *** building, 10 Shangdi 10th Street, Haidian District, Beijing 100094 Applicant after: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd. Applicant after: Kunlun core (Beijing) Technology Co.,Ltd. Address before: 2 / F, *** building, 10 Shangdi 10th Street, Haidian District, Beijing 100094 Applicant before: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |