访问多个存储器的数据处理设备和数据处理方法技术

技术编号:4087144 阅读:198 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种数据处理设备和数据处理方法,其依序接受由读引擎向多个外部存储设备发出的多个读请求,并将由此从多个外部存储设备读取的数据依序分配给读引擎。该设备包括:跟踪存储器,按照接受所述多个读请求的顺序,存储各个读请求的信息,并按先入先出的方式输出各个读请求的信息;指针控制器,计算各个读请求的写指针,每个读请求的写指针用于指示响应于该读请求而从相应外部存储设备读取的数据在数据存储器中的存储地址;数据分配器,读取数据存储器中的数据,并根据跟踪存储器输出的每个读请求的信息将其分配给相应读引擎,其中仅在读取和分配了对应于在先接受的读请求的数据之后,数据分配器才读取和分配对应于在后接受的读请求的数据。

【技术实现步骤摘要】

本专利技术涉及一种用于控制对多个存储器的数据读取操作的数据处理设备和数据 处理方法,更具体地涉及一种响应于一个或多个读引擎分别向多个存储器发出的多个读请 求而从所述多个存储器读取数据,并以正确的顺序将所述数据提供给相应的读引擎的数据 处理设备和数据处理方法。
技术介绍
在数据存取领域,常常出现这样的场景,S卩,一个或多个读引擎向多个彼此独立的 存储器发送读请求以读取存储在其中的数据,其中,一个读引擎只有一个读端口且一次只 能访问一个存储器,在每个读引擎与各个存储器之间各有一条访问路径,并且在各个读引 擎与同一个存储器之间只有一条公共的访问路径。响应于该读请求而执行的操作大致分为 两个阶段,即寻址阶段和数据阶段。在寻址阶段,将读请求发送到目标存储器,在数据阶段, 接收从目标存储器输出的所请求的数据并且将其分配给读引擎。在这两个阶段之间存在一 时间段,即目标存储器响应于所述读请求而输出所请求的数据的时间段,该时间段被称为 存储器的响应时间(latency)。为了使读引擎正常工作,在一个或多个读引擎发送了多个读请求的情况下,必须 将从存储器输出的数据按照读请求发出的顺序分配给相应的读引擎。然而,由于各个存储 器的响应时间无法预估,因此可能会出现数据分配顺序错乱或数据冲突的问题。以一个读 引擎的情况为例。假设该读引擎在第一时刻向第一存储器发出第一个读请求,然后在第二 时刻向第二存储器发出第二个读请求。如果第二存储器的响应时间短于第一存储器的响应 时间,则从第二存储器返回的数据比从第一存储器返回的数据更早到达读引擎,即,数据返 回顺序与请求所述数据的顺序不一致,这使得读引擎接收到的数据不是所请求的数据,从 而发生错误。此外,如果这两个存储器同时将数据返回给读引擎,则由于该读引擎只有一个 读端口,因此在读端口处产生数据冲突。在多个读引擎的情况下,由于在各个读引擎与同一 个存储器之间只有一条公共的访问路径,上述数据顺序错乱和数据冲突的问题将变得更加 严重。因此,需要一种响应于一个或多个读引擎分别向多个存储器发出的多个读请求而 从所述多个存储器读取数据,并以正确的顺序将所述数据提供给相应的读引擎的数据处理 设备和数据处理方法。
技术实现思路
本专利技术提供一种数据处理设备和数据处理方法,其能够以正确的顺序将响应于一 个或多个读引擎分别向多个存储器发出的多个读请求而从所述多个存储器读取的数据提 供给相应的读引擎,从而防止读引擎接收的数据顺序发生错乱,并且避免数据冲突。根据本专利技术的一个实施例,提供了一种数据处理设备,用于依序接受由读引擎向 多个外部存储设备发出的多个读请求,并且将响应于所述多个读请求而分别从所述多个外4部存储设备读取的数据依序分配给读引擎。该数据处理设备包括跟踪存储器,用于按照 接受所述多个读请求的顺序,存储各个读请求的信息,并且按照先入先出的方式输出各个 读请求的所述信息;指针控制器,用于计算各个读请求的写指针,每个读请求的写指针用于 指示响应于该读请求而从相应的外部存储设备读取的数据在数据存储器中的存储地址,其 中,所述写指针是按照接受所述读请求的顺序依次累加的;所述数据存储器用于接收响应 于每个读请求而从相应的外部存储设备读取的数据,并且根据该读请求的写指针指示的存 储地址存储所接收的数据;数据分配器,用于读取数据存储器中的数据,并且根据跟踪存 储器所输出的每个读请求的信息将其分配给相应的读引擎,其中,仅在读取和分配了对应 于在先接受的读请求的数据之后,数据分配器才读取和分配对应于在后接受的读请求的数 据。根据本专利技术的另一实施例,提供了一种数据处理方法,用于依序接受由读引擎向 多个外部存储设备发出的多个读请求,并且将响应于所述多个读请求而分别从所述多个外 部存储设备读取的数据依序分配给读引擎,该数据处理方法包括以下步骤按照接受所述 多个读请求的顺序,存储各个读请求的信息于跟踪存储器中;计算各个读请求的写指针,每 个读请求的写指针用于指示响应于该读请求而从相应的外部存储设备读取的数据在数据 存储器中的存储地址,其中,所述写指针是按照接受所述读请求的顺序依次累加的;接收响 应于每个读请求而从相应的外部存储设备读取的数据,并且根据该读请求的写指针指示的 存储地址在所述数据存储器内存储所接收的数据;跟踪存储器按照先入先出的方式输出各 个读请求的所述信息;读取存储在数据存储器中的对应于所述多个请求的数据,并且根据 每个读请求的信息将其分配给相应的读引擎,其中,仅在读取和分配了对应于在先接受的 读请求的数据之后,才读取和分配对应于在后接受的读请求的数据。本专利技术实施例的数据处理设备和数据处理方法按照所述多个读请求被接受的顺 序,存储和分配从存储器读取的用于这些读请求的数据,从而防止读引擎接收的数据顺序 发生错乱,并且避免了数据冲突。附图说明通过结合附图对本专利技术的实施例进行详细描述,本专利技术的上述和其它目的、特征、 优点将会变得更加清楚,其中图1是示出根据本专利技术的数据读取设备的一般性框图;图2是示出根据本专利技术第一实施例的数据读取设备的框图;图3是示出图2所示的跟踪FIFO的存储格式的图;图4是示出在图2所示的路径状态控制器中实现的有限状态机的状态转移图;图5A和图5B是示出根据本专利技术第一实施例的数据处理方法的流程图;图6是示出根据本专利技术第二实施例的数据读取设备的框图;图7是示出图6所示的跟踪FIFO的存储格式的图;图8A和图8B是示出根据本专利技术第二实施例的数据处理方法的流程图;图9示意性地示出了根据本专利技术第一实施例的数据处理设备和根据本专利技术第二 实施例的数据处理设备的数据读取时序图;图10是示出根据本专利技术第三实施例的数据处理设备的框图。图11是例示计算和存储读请求的写指针的方法的图;图12是示出图10所示的第一和第二写指针FIFO的存储格式的图;图13A至13C是示出根据本专利技术第三实施例的数据处理方法的流程图。具体实施例方式下面将参照附图来描述根据本专利技术实施例的数据处理设备和数据处理方法。在附 图中,自始至终使用相同的参考标号来表示相同的部分。应当理解这里描述的实施例仅仅 是说明性的,而不应被解释为限制本专利技术的范围。图1是示出根据本专利技术的数据读取设备的一般性框图。如图1所示,读引擎100-1、 100-2和100-3连接到数据处理设备200。数据处理设备200连接到第一存储器300-1和 第二存储器300-11。应当注意,在图1以及下文所述的各个实施例中,虽然只示出了两个存 储器和三个读引擎,但是应当认识到,这只是示例性的,实际上,存储器和读引擎的数目也 可以是其它数目。在读引擎100-1、100_2和100-3与同一个存储器之间,只存在一条访问路径,其 中,从仲裁单元201经由数据处理单元202到第一存储器300-1的路径为路径I,从仲裁单 元201经由数据处理单元202到第二存储器300-11的路径为路径II。也就是说,对于每个 存储器,这三个读引擎共享同一条访问路径。读引擎100-1、100-2或100-3可以分别发送读请求REQ_1、REQ_2或REQ_3以访问 第一存储器300-1或第二存储器300-11。该读请求至少包括PATH标志、LEN标志和地址 ADDR。PATH标志指示该读请求的目标路径(路径本文档来自技高网
...

【技术保护点】
一种数据处理设备,用于依序接受由读引擎向多个外部存储设备发出的多个读请求,并且将响应于所述多个读请求而分别从所述多个外部存储设备读取的数据依序分配给读引擎,该数据处理设备包括:跟踪存储器,用于按照接受所述多个读请求的顺序,存储各个读请求的信息,并且按照先入先出的方式输出各个读请求的所述信息;指针控制器,用于计算各个读请求的写指针,每个读请求的写指针用于指示响应于该读请求而从相应的外部存储设备读取的数据在数据存储器中的存储地址,其中,所述写指针是按照接受所述读请求的顺序依次累加的;所述数据存储器用于接收响应于每个读请求而从相应的外部存储设备读取的数据,并且根据该读请求的写指针指示的存储地址存储所接收的数据;数据分配器,其读取数据存储器中的数据,并且根据跟踪存储器所输出的每个读请求的信息将其分配给相应的读引擎,其中,仅在读取和分配了对应于在先接受的读请求的数据之后,数据分配器才读取和分配对应于在后接受的读请求的数据。

【技术特征摘要】
一种数据处理设备,用于依序接受由读引擎向多个外部存储设备发出的多个读请求,并且将响应于所述多个读请求而分别从所述多个外部存储设备读取的数据依序分配给读引擎,该数据处理设备包括跟踪存储器,用于按照接受所述多个读请求的顺序,存储各个读请求的信息,并且按照先入先出的方式输出各个读请求的所述信息;指针控制器,用于计算各个读请求的写指针,每个读请求的写指针用于指示响应于该读请求而从相应的外部存储设备读取的数据在数据存储器中的存储地址,其中,所述写指针是按照接受所述读请求的顺序依次累加的;所述数据存储器用于接收响应于每个读请求而从相应的外部存储设备读取的数据,并且根据该读请求的写指针指示的存储地址存储所接收的数据;数据分配器,其读取数据存储器中的数据,并且根据跟踪存储器所输出的每个读请求的信息将其分配给相应的读引擎,其中,仅在读取和分配了对应于在先接受的读请求的数据之后,数据分配器才读取和分配对应于在后接受的读请求的数据。2.如权利要求1所述的数据处理设备,还包括分别与所述多个外部存储设备相对应的多个请求存储器,分别用于存储针对相应的外 部存储设备的读请求,并以乒乓方式将存储在各个请求存储器中的读请求输出到相应的外 部存储设备。3.如权利要求1所述的数据处理设备,其中所述读请求的信息包括指示发送该读请求的读引擎的信息和指示该读请求要读取的 数据长度的信息。4.如权利要求1所述的数据处理设备,还包括仲裁单元,用于从读引擎接收所述多个读请求,并且根据预定仲裁算法以及数据存储 器和跟踪存储器的状态来确定接受所述多个读请求的顺序。5.如权利要求1所述的数据处理设备,还包括分别与所述多个外部存储设备相对应的多个写指针存储器,分别用于存储针对相应的 外部存储设备的读请求的写指针。6.如权利要求1所述的数据处理设备,其中,在读取存储在数据存储器中的数据之前, 所述指针控制器确定该读请求的读指针,并且数据分配器根据所述读指针来从数据存储器 中读取对应于该读请求的数据。7.如权利要求6所述的数据处理设备,其中,仅在读请求的读指针指示的存储地址上 存储了有效数...

【专利技术属性】
技术研发人员:邹胜李文佳
申请(专利权)人:威盛电子股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1