数据访问方法及设备的制造方法_2

文档序号:8445500阅读:来源:国知局
[0064]获取子单元,用于基于所述目标数据写请求携带的第一数据量、所述目标数据写请求携带的第一起始地址和芯片数据总线的位宽,从目标HAC中获取写数据,并对获取写数据的次数进行统计,得到第一次数,所述目标HAC为发送所述目标数据写请求的HAC ;
[0065]拆分子单元,用于当所述第一次数达到第一指定次数时,从所述目标HAC中获取所述第一指定次数的下一次写数据的过程中,基于所述第一数据量、所述第一起始地址和所述SOC数据总线的最大数据量,从所述目标数据写请求中拆分出一个子数据写请求,将所述子数据写请求进行协议转化,得到数据写命令,返回本拆分子单元,直至将所述目标数据写请求拆分完毕;
[0066]发送子单元,用于将所述数据写命令发送给所述SOC数据总线,所述数据写命令携带第一子数据量和第一子起始地址;
[0067]所述发送子单元,还用于当接收到所述SOC数据总线返回的数据写响应时,将多次从所述目标HAC中获取的写数据,逐次发送给所述SOC数据总线,使所述SOC数据总线按照所述第一子数据量和所述第一子起始地址,将接收的写数据写入SOC的存储资源中。
[0068]结合第二方面的第三种可能的实现方式或者第二方面的第四种可能的实现方式,在上述第二方面的第五种可能的实现方式中,
[0069]所述获取子单元,具体用于:
[0070]基于所述目标数据写请求携带的第一数据量、所述目标数据写请求携带的第一起始地址和芯片数据总线的位宽,计算从目标HAC中获取写数据的获取次数,所述芯片数据总线为与所述LMI连接的数据总线;
[0071]基于所述获取次数,向所述目标HAC发送指示信息,所述指示信息用于指示所述目标HAC将所述目标数据写请求的写数据划分为所述获取次数次进行发送;
[0072]接收所述目标HAC发送的写数据,并对接收写数据的次数进行统计,得到第一次数。
[0073]结合第二方面的第二种可能的实现方式、第二方面的第三种可能的实现方式或者第二方面的第四种可能的实现方式,在上述第二方面的第六种可能的实现方式中,所述读取单元包括:
[0074]拆分子单元,用于基于所述目标数据读请求携带的第二数据量、所述目标数据读请求携带的第二起始地址和所述SOC数据总线的最大数据量,从所述目标数据读请求中拆分出一个子数据读请求,并将所述子数据读请求进行协议转化,得到数据读命令;
[0075]发送子单元,用于将所述数据读命令发送给所述SOC数据总线,使所述SOC数据总线将所述数据读命令发送给SOC的存储资源,所述数据读命令中携带第二子数据量和第二子起始地址;
[0076]接收子单元,用于接收所述SOC的存储资源通过所述SOC数据总线发送的读数据,对接收读数据的次数进行统计,得到第二次数;
[0077]所述拆分子单元,还用于当所述第二次数达到第三指定次数时,接收所述SOC的存储资源通过所述SOC数据总线发送所述第三指定次数的下一次读数据的过程中,基于所述第二数据量、所述第二起始地址和所述SOC数据总线的最大数据量,从所述目标数据读请求中拆分出下一个子数据读请求,并将所述下一个子数据读请求进行协议转化,得到下一个数据读命令;
[0078]所述发送子单元,还用于当所述第二次数达到第四指定次数时,接收所述SOC的存储资源通过所述SOC数据总线发送所述第四指定次数的下一次读数据的过程中,将所述下一个数据读命令发送给所述SOC数据总线,并将所述第二次数清零,重新统计第二次数,返回上一拆分子单元,直至将所述目标数据读请求拆分完毕。
[0079]结合第二方面的第二种可能的实现方式、第二方面的第三种可能的实现方式或者第二方面的第四种可能的实现方式,在上述第二方面的第七种可能的实现方式中,所述读取单元包括:
[0080]拆分子单元,用于基于所述目标数据读请求携带的第二数据量、所述目标数据读请求携带的第二起始地址和所述SOC数据总线的最大数据量,从所述目标数据读请求中拆分出一个子数据读请求;
[0081]协议转化子单元,用于将所述子数据读请求进行协议转化,得到数据读命令,返回上一拆分子单元,直至将所述目标数据读请求拆分完毕;
[0082]发送子单元,用于将所述数据读命令发送给所述SOC数据总线,使所述SOC数据总线将所述数据读命令发送给SOC的存储资源,所述数据读命令中携带第二子数据量和第二子起始地址;
[0083]接收子单元,用于逐次接收所述SOC的存储资源通过所述SOC数据总线发送的读数据。
[0084]结合第二方面,在上述第二方面的第八种可能的实现方式中,所述设备还包括:
[0085]统计模块,用于对于每个HAC,当向所述SOC数据总线发送属于所述HAC的数据写命令和数据读命令时,对发送的数据写命令个数进行统计,得到第一命令个数,以及对发送的数据读命令个数进行统计,得到第二命令个数;
[0086]停止模块,用于当所述第一命令个数等于第一个数阈值时,停止接收所述HAC发送的类型为数据写请求的数据访问请求,直至所述第一命令个数小于所述第一个数阈值;
[0087]所述停止模块,还用于当所述第二命令个数等于第二个数阈值时,停止接收所述HAC发送的类型为数据读请求的数据访问请求,直至所述第二命令个数小于所述第二个数阈值。
[0088]本发明实施例提供的技术方案带来的有益效果是:在本发明实施例中,通过LMI对HAC发送的数据访问请求进行仲裁、拆分以及协议转化,节省了拆分逻辑和协议转化逻辑的重复资源,并且LMI与SOC数据总线连接,SOC数据总线只需为LMI提供访问接口,无需为每个HAC-1F提供数据访问接口,减少了 SOC数据总线的访问接口数量。
【附图说明】
[0089]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0090]图1是现有技术提供的一种数据访问系统架构图;
[0091]图2是本发明实施例提供的一种数据访问系统架构图;
[0092]图3是本发明实施例提供的一种数据访问方法流程图;
[0093]图4是本发明实施例提供的另一种数据访问方法流程图;
[0094]图5是本发明实施例提供的一种数据访问设备结构示意图;
[0095]图6是本发明实施例提供的另一种数据访问设备结构示意图。
【具体实施方式】
[0096]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0097]图2是本发明实施例提供的一种数据访问系统架构图。参见图2,该数据访问系统包括多个HAC、多个HAC-1F、LMI (英文!Logic Master Interface ;中文:逻辑主接口)、SOC数据总线和SOC的多个存储资源。该多个HAC的输出端与多个HAC-1F的输入端分别连接,且一个HAC可以连接至少一个HAC-1F,每个HAC-1F的输出端分别与LMI的输入端连接,LMI的输出端与SOC数据总线的输入端连接,SOC数据总线的输出端与该多个存储资源分别连接。该多个HAC用于对HAC执行业务过程中产生的任务进行调度,并生成对应的第一数据访问请求;该多个HAC-1F用于将HAC生成的第一数据访问请求发送给LMI,且该多个HAC-1F的输出端接口相同,也即是,LMI只需提供多个相同的接口与多个HAC-1F连接,LMI用于对该多个HAC-1F发送的第一数据访问请求进行仲裁、拆分和协议转化,从而将协议转化后的数据访问命令发送给SOC数据总线;S0C数据总线将接收的数据访问命令发送给对应的存储资源,实现对SOC的存储资源进行访问。
[0098]图3是本发明实施例提供的一种数据访问方法流程图。参见图3,该方法包括:
[0099]步骤301:在每个时钟周期,当检测到多个HAC通过与该多个HAC分别连接的HAC-1F发送的数据访问请求时,基于多个数据访问请求的优先级,接收优先级最高的数据访问请求。
[0100]步骤302:基于接收的数据访问请求的类型,将接收的数据访问请求存储在LMI的数据队列中。
[0101]步骤303:基于LMI的数据队列中的目标数据访问请求携带的数据量、目标数据访问请求携带的起始地址和SOC数据总线的最大数据量,对SOC的存储资源进行数据访问。
[0102]在本发明实施例中,通过LMI对HAC发送的数据访问请求进行仲裁、拆分以及协议转化,节省了拆分逻辑和协议转化逻辑的重复资源,并且LMI与SOC数据总线连接,SOC数据总线只需为LMI提供访问接口,无需为每个HAC-1F提供数据访问接口,减少了 SOC数据总线的访问接口数量。
[0103]可选地,基于接收的数据访问请求的类型,将接收的数据访问请求存储在LMI的数据队列中,包括:
[0104]如果接收的数据访问请求的类型为数据写请求,则将接收的数据访问请求存储在LMI的第一数据队列中最后一个数据访问请求之后,第一数据队列用于存储数据写请求;
[0105]如果接收的数据访问请求的类型为数据读请求,则将接收的数据访问请求存储在LMI的第二数据队列中最后一个数据访问请求之后,第二数据队列用于存储数据读请求。
[0106]可选地,基于LMI的数据队列中的目标数据访问请求携带的数据量、目标数据访问请求携带的起始地址和SOC数据总线的最大数据量,对SOC的存储资源进行数据访问,包括:
[0107]从LMI的第一数据队列中,获取目标数据写请求,以及从LMI的第二数据队列中,获取目标数据读请求;
[0108]基于目标数据写请求携带的第一数据量、目标数据写请求携带的第一起始地址和SOC数据总线的最大数据量,将目标数据写请求的写数据写入SOC的存储资源中;
[0109]基于目标数据读请求携带的第二数据量、目标数据读请求携带的第二起始地址和SOC数据总线的最大数据量,从SOC的存储资源中读取目标数据读请求的读数据。
[0110]可选地,基于目标数据写请求携带的第一数据量、目标数据写请求携带的第一起始地址和SOC数据总线的最大数据量,将目标数据写请求的写数据写入SOC的存储资源中,包括:
[0111]基于目标数据写请求携带的第一数据量、目标数据写请求携带的第一起始地址和芯片数据总线的位宽,从目标HAC中获取写数据,并对获取写数据的次数进行统计,得到第一次数,目标HAC为发送目标数据写请求的HAC ;
[0112]当第一次数达到第一指定次数时,从目标HAC中获取第一指定次数的下一次写数据的过程中,基于第一数据量、第一起始地址和SOC数据总线的最大数据量,从目标数据写请求中拆分出一个子数据写请求,并将该子数据写请求进行协议转化,得到数据写命令,该数据写命令携带第一子数据量和第一子起始地址;
[0113]当第一次数达到第二指定次数时,从目标HAC中获取第二指定次数的下一次写数据的过程中,将该数据写命令发送给SOC数据总线,并将第一次数清零,重新统计第一次数,返回上一步骤,直至将目标数据写请求拆分完毕;
[0114]当接收到SOC数据总线返回的数据写响应时,将多次从目标HAC中获取数据写命令的写数据,逐次发送给SOC数据总线,使SOC数据总线按照第一子数据量和第一子起始地址,将接收的写数据写入SOC的存储资源中。
[0115]可选地,基于目标数据写请求携带的第一数据量、目标数据写请求携带的第一起始地址和SOC数据总线的最大数据量,将目标数据写请求的写数据写入SOC的存储资源中,包括:
[0116]基于目标数据写请求携带的第一数据量、目标数据写请求携带的第一起始地址和芯片数据总线的位宽,从目标HAC中获取写数据,并对获取写数据的次数进行统计,得到第一次数,目标HAC为发送目标数据写请求的HAC ;
[0117]当第一次数达到第一指定次数时,从目标HAC中获取第一指定次数的下一次写数据的过程中,基于第一数据量、第一起始地址和SOC数据总线的最大数据量,从目标数据写请求中拆分出一个子数据写请求,将该子数据写请求进行协议转化,得到数据写命令,返回本步骤,直至将目标数据写请求拆分完毕;
[0118]将该数据写命令发送给SOC数据总线,该数据写命令携带第一子数据量和第一子起始地址;
[0119]当接收到SOC数据总线返回的数据写响应时,将多次从目标HAC中获取的写数据,逐次发送给SOC数据总线,使SOC数据总线按照第一子数据量和第一子起始地址,将接收的写数据写入SOC的存储资源中。
[0120]可选地,基于目标数据写请求携带的第一数据量、目标数据写请求携带的第一起始地址和芯片数据总线的位宽,从目标HAC中获取写数据,并对获取写数据的次数进行统计,得到第一次数,包括:
[0121]基于目标数据写请求携带的第一数据量、目标数据写请求携带的第一起始地址和芯片数据总线的位宽,计算从目标HAC中获取写数据的获取次数,该芯片数据总线为与LMI连接的数据总线;
[0122]基于该获取次数,向目标HAC发送指示信息,该指示信息用于指示目标HAC将目标数据写请求的写数据划分为获取次数次进行发送;
[0123]接收目标HAC发送的写数据,并对接收写数据的次数进行统计,得到第一次数。
[0124]可选地,基于目标数据读请求携带的第二数据量、目标数据读请求携带的第二起始地址和SOC数据总线的最大数据量,从SOC的存储资源中读取目标数据读请求的读数据,包括:
[0125]基于目标数据读请求携带的第二数据量、目标数据读请求携带的第二起始地址和SOC数据总线的最大数据量,从目标数据读请求中拆分出一个子数据读请求,并将该子数据读请求进行协议转化,得到数据读命令;
[0126]将该数据读命令发送给SOC数据总线,使SOC数据总线将该数据读命令发送给SOC的存储资源,该数据读命令中携带第二子数据量和第二子起始地址;
[0127]接收SOC的存储资源通过SOC数据总线发送的读数据,对接收读数据的次数进行统计,得到第二次数;
[0128]当第二次数达到第三指定次数时,接收SOC的存储资源通过SOC数据总线发送该第三指定次数的下一次读数据的过程中,基于第二数据量、第二起始地址和SOC数据总线的最大数据量,从目标数据读请求中拆分出下一个子数据读请求,并将下一个子数据读请求进行协议转化,得到下一个数据读命令;
[0129]当第二次数达到第四指定次数时,接收SOC的存储资源通过SOC数据总线发送第四指定次数的下一次读数据的过程中,将该下一个数据读命令发送给SOC数据总线,并将第二次数清零,重新统计第二次数,返回上一步骤,直至将目标数据读请求拆分完毕。
[0130]可选地,基于目标数据读请求携带的第二数据量、目标数据读请求携带的第二起始地址和SOC数据总线的最大数据量,从SOC的存储资源中读取目标数据读请求的读数据,包括:
[0131]基于目标数据读请求携带的第二数据量、目标数据读请求携带的第二起始地址和SOC数据总线的最大数据量,从目标数据读请求中拆分出一个子数据读请求;
[0132]将该子数据读请求进行协议转化,得到数据读命
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1