发明内容
因此,针对上述现有技术中存在的问题和需求做出本发明。
本发明的实施例提供一种存储系统及存储方法,其能够有效控制设计中多个功能单元同时工作下对存储要求的高效的带宽利用率,采用灵活仲裁的管理方法,从而更好地应用于对CPU依存不高但数据流量要求很高的应用领域。
根据本发明的一个方面,提供了存储系统,其特征在于包括:存储控制单元,用于对连接的存储器实现数据存储控制;多个存储标准单元,所述存储标准单元包括第一先进先出存储区域和第二先进先出存储区域,其中所述第一先进先出存储区域用于存储所连接的功能单元需要传输到所述存储器的数据内容,且所述第二先进先出存储区域用于存储所述需要传输到所述存储器的数据内容所对应的数据地址;仲裁单元,与所述多个存储标准单元连接,用于获取多个所述第一先进先出存储区域中所述需要传输到所述存储器的数据内容的数据量和/或多个所述第二先进先出存储区域中所述需要传输到所述存储器的数据内容所对应的数据地址,并依据仲裁策略对多个存储标准单元的优先级别进行仲裁,并产生包括仲裁结果的指令并发送,其中,所述仲裁结果指示需要优先进行存储操作的选定存储标准单元;切换单元,分别与所述存储控制单元、所述多个存储标准单元和所述仲裁单元连接,用于接收所述包括仲裁结果的指令,以实现所述选定存储标准单元与所述存储控制单元的连通;其中,所述存储控制单元利用所述选定存储标准单元的第二先进先出存储区域中存储的数据地址将所述选定存储标准单元的第一先进先出存储区域中存储的数据内容存储到所述存储器中。
在上述存储系统中,所述切换单元与所述存储控制单元、所述多个存储标准单元之间的连接是双向连接,且所述存储控制单元与所述存储器,以及所述多个存储标准单元与所对应的功能单元之间的连接是双向连接。
在上述存储系统中,所述切换单元与所述存储控制单元、所述多个存储标准单元之间的双向连接是双先入先出连接。
在上述存储系统中,所述双先入先出连接包括执行直接时钟周期操作的一路输入输出数据传输管道和一路先入先出地址并行传输管道。
在上述存储系统中,所述仲裁单元以信号形式获取所述数据内容的数据量和所述数据内容所对应的数据地址,以使得所述仲裁单元实现为纯硬件形式。
根据本发明的另一方面,提供了应用于一存储系统的存储方法,所述存储系统包括存储控制单元,N个存储标准单元,与所述N个存储标准单元连接的仲裁单元以及分别与所述存储控制单元、所述N个存储标准单元和所述仲裁单元连接的切换单元,其中,所述N个存储标准单元与N个功能单元一一对应地连接,其中N是大于1的整数,其特征在于,所述方法包括:分别将所述N个功能单元中每一功能单元需要存储到所述存储器的数据内容存储到所对应的存储标准单元的第一先进先出存储区域,并将所述需要传输到所述存储器的数据内容所对应的数据地址存储到所述存储标准单元的第二先进先出存储区域;获得M个所述第一先进先出存储区域中所述需要传输到所述存储器的数据内容的数据量和/或M个所述第二先进先出存储区域中所述需要传输到所述存储器的数据内容所对应的数据地址,其中M是小于等于N的整数;依据仲裁策略对M个存储标准单元的优先级别进行仲裁,并产生包括仲裁结果的指令,其中,所述仲裁结果指示需要优先进行存储操作的选定存储标准单元;依据所述指令实现所述选定存储标准单元与所述存储控制单元的连通;利用所述选定存储标准单元的第二先进先出存储区域中存储的数据地址将所述选定存储标准单元的第一先进先出存储区域中存储的数据内容存储到所述存储器中。
在上述存储方法中,所述仲裁策略包括:根据所述存储系统连接的每一功能单元的需求,为每一功能单元预先存储与功能单元的工作状态相关联的多个数据阈值表;通过实时采集的各个传输通道的需传输的数据量,与所述预先存储的数据阈值表进行比对;根据比对结果判断当前仲裁的各个传输通道的优先级别。
在上述存储方法中,所述预先存储的数据阈值表为四个,且所述传输通道需传输的数据量与所述数据阈值表的比对结果包括分别与各个传输通道对应的各个功能单元工作在高阈值、中阈值、低阈值和无值状态下。
在上述存储方法中,当功能单元工作在无值状态下时,将所对应的传输通道从仲裁选择中删除;当功能单元工作在低阈值状态下、或低阈值到中阈值之间、或中阈值到高阈值之间时,执行同位操作;当功能单元工作在高阈值状态下时,执行跨位操作;和当功能单元所对应的传输通道徐传输的数据量超过高阈值时,执行高位操作。
在上述存储方法中,所述同位操作给予传输的数据量大的数据通道高的优先级,以进行优先传输;所述跨位操作中跨位优先级大于同位优先级,且跨位优先级中的中阈值到高阈值为高优先级;且所述高位操作对于数据量需求最高的功能单元采取特别优先级操作,直接采用一对一的高速操作将所需数据量降至中阈值以下,随后进行下一优先级判断。
根据本发明的又一方面,提供了终端,其特征在于包括:存储器;存储控制单元,与所述存储器连接,用于对所述存储器实现数据存储控制;N个功能单元,用于获得或产生待存储数据,其中,N为大于1的整数;N个存储标准单元,每个所述存储标准单元与每个所述功能单元一一对应连接,所述存储标准单元包括第一先进先出存储区域和第二先进先出存储区域,其中,所述第一先进先出存储区域用于存储所述待存储数据的数据内容,所述第二先进先出存储区域用于存储所述数据内容所对应的数据地址;仲裁单元,与所述N个存储标准单元连接,用于获取M个所述第一先进先出存储区域中所述数据内容的数据量和/或M个所述第二先进先出存储区域中所述数据地址,并依据仲裁策略对M个存储标准单元的优先级别进行仲裁,并产生包括仲裁结果的指令并发送,其中,M是小于等于N的整数,且所述仲裁结果指示需要优先进行存储操作的选定存储标准单元;切换单元,分别与所述存储控制单元、所述N个存储标准单元和所述仲裁单元连接,用于接收所述包括仲裁结果的指令,以实现所述选定存储标准单元与所述存储控制单元的连通;其中,所述存储控制单元利用所述选定存储标准单元的第二先进先出存储区域中存储的数据地址将所述选定存储标准单元的第一先进先出存储区域中存储的数据内容存储到所述存储器中。
在上述终端中,所述切换单元与所述存储控制单元、所述多个存储标准单元之间的连接是双向连接,且所述存储控制单元与所述存储器,以及所述多个存储标准单元与所对应的功能单元之间的连接是双向连接,并且,与所述选定存储标准单元连接的功能单元通过所述切换单元和所述存储控制单元从所述存储器中读取数据。
通过本发明的实施例,终端可以以存储控制为中心而非以传统CPU为中心,从而对传统的标准总线DDR存储控制方式进行了改进,能很好的解决对CPU依存不高但数据存储流量高的产品设计,如图像多通道输入处理、图像旋转变换、图像多通道输出等领域,缩进ASIC(Docking ASIC)、交换盒、高清盒等项目设计,也可用于高流量的千兆万兆网络终端中存储转换模块设计。
本发明中采用双先入先出地址数据并行传输的内部存储接口方式,因此其工作频率不再受到CPU和总线的主频限制,可以在成本不高的情况下局部提高其工作频率和存储带宽,从而得到很高的性价比。
并且,本发明采用了自适应的多端口硬件直接仲裁的设计方法,屏蔽和节省了现有的软件仲裁带来的协议沟通时间,极大的提高了在整体系统下多种端口存储的带宽利用率。
具体实施方式
下面,将结合附图详细描述本发明的存储系统的具体实施例。
根据本发明,存储系统可以包括:存储控制单元,用于对连接的存储器实现数据存储控制;多个存储标准单元,所述存储标准单元包括第一先进先出存储区域和第二先进先出存储区域,其中所述第一先进先出存储区域用于存储所连接的功能单元需要传输到所述存储器的数据内容,且所述第二先进先出存储区域用于存储所述需要传输到所述存储器的数据内容所对应的数据地址;仲裁单元,与所述多个存储标准单元连接,用于获取多个所述第一先进先出存储区域中所述需要传输到所述存储器的数据内容的数据量和/或多个所述第二先进先出存储区域中所述需要传输到所述存储器的数据内容所对应的数据地址,并依据仲裁策略对多个存储标准单元的优先级别进行仲裁,并产生包括仲裁结果的指令并发送,其中,所述仲裁结果指示需要优先进行存储操作的选定存储标准单元;切换单元,分别与所述存储控制单元、所述多个存储标准单元和所述仲裁单元连接,用于接收所述包括仲裁结果的指令,以实现所述选定存储标准单元与所述存储控制单元的连通。
其中,所述存储控制单元利用所述选定存储标准单元的第二先进先出存储区域中存储的数据地址将所述选定存储标准单元的第一先进先出存储区域中存储的数据内容存储到所述存储器中。
这里,所述切换单元与所述存储控制单元、以及所述切换单元与所述多个存储标准单元之间的连接是双向连接,且所述存储控制单元与所述存储器,以及所述多个存储标准单元与所对应的功能单元之间的连接也是双向连接。
下面,将结合图1描述本发明的实施例的存储系统的特定示例,其以DDR存储系统为例,本领域技术人员可以理解,这里的DDR存储系统包括DDR2或DDR3的标准总线接口存储方式。并且,本领域技术人员也可以理解,本发明的实施例的存储系统也可以应用于DDR存储系统以外的其它存储系统,如SDRAM、SRAM、Flash存储系统。图1示出了本发明的实施例的示例性存储系统的系统框图,如图1所示,本发明的实施例的存储系统100主要包括DDR控制器(DDR Controller)101,多端口仲裁器(Multiport Arbiter)102,DDR存储标准单元切换阵列(DDR_STD_CELL_MATRIX)103和多个DDR存储标准单元(DDR_STD_CELL)104。下面将对本系统的各个组件进行详细说明。
DDR控制器101是主要完成对外接的DDR存储器实现数据存储读写控制的模块,其通常包括内部接口单元,整体控制单元,外部接口单元。其中内部接口通常被包装为标准的总线设计,如AMBA总线等,这样便于同ARM等CPU进行连接。但是,在本发明的实施例中,DDR控制器101并不是被包装成标准的总线设计方式,而是采用双先入先出连接方式。
DDR存储标准单元切换阵列103是本发明实施例中用于对多路连接的DDR接口实现双向连接的高速切换单元,其中每一路连接接口为本发明实施例所采用的双先入先出连接接口方式。通过DDR存储标准单元切换阵列103可以实现对连接的多个DDR存储标准单元104的选择和互通,从而实现被选择的DDR存储标准单元104的数据和DDR控制器101之间的数据读写操作。
在本发明实施例的存储系统100中,考虑到设计的可扩展性而定义了DDR存储标准单元104,每个DDR存储标准单元104主要由两个先入先出存储区域组成,一个用于存储传输数据的数据内容,另一个用于存储将所传输数据的数据内容写入DDR存储器中所需的地址,即所传输数据的数据内容所对应的数据地址等信息。这里,本领域技术人员可以理解第二先入先出存储区域中存储的信息除了地址信息之外,也可以其它控制信息,如模式信息、配置信息等。因此,能够很容易地进行数据存储操作。通过该DDR存储标准单元104,外接的每一功能单元都能经由一DDR存储标准单元104,并进一步通过DDR存储标准单元切换阵列103同与DDR控制器101连接的DDR存储器进行数据交换。因此非常容易扩展不同的功能单元。
另外,本发明实施例通过独特的DDR多端口仲裁器102对由外接的多路功能单元经由DDR存储标准单元104传输的数据进行自适应的仲裁传输,可达到存储效率最高。这里,由于该多端口仲裁器102以信号形式接收或获取各个DDR存储标准单元104需要传输的数据内容的数据量和/或所述数据内容所对应的数据地址,本领域技术人员可以理解该多端口仲裁器102可完全由硬件实现。当然,该多端口仲裁器102也可以利用软件或者软件与硬件的组合来进行各种仲裁处理,本领域技术人员可以理解这里本发明实施例的仲裁器并不受具体形式的限制。这里,本发明实施例的多端口仲裁器102根据所接收的各个DDR存储标准单元104需要传输的数据内容的数据量或所述数据内容所对应的数据地址,或者上述两者的结合来依据不同的仲裁策略进行仲裁。在根据需要传输的数据内容的数据量进行仲裁的情况下,在本发明实施例的多端口仲裁器102中,其通过由多个DDR存储标准单元104所发送的当前数据指示信号而直接获取每个DDR存储标准单元104当前还需要传输的数据内容的数据量,从而可以依据仲裁策略很清晰地判断需要仲裁的传输通道的优先级别,仲裁策略的细节将在下面进行更详细的描述。
这样,根据多端口仲裁器103所产生的指示需要优先进行存储操作的选定DDR存储标准单元104的仲裁结果,DDR存储标准单元切换阵列103实现选定的DDR存储标准单元104与DDR控制器101的连通,且DDR控制器101利用选定的DDR存储标准单元104的第二先进先出存储区域中存储的数据地址将选定的DDR存储标准单元104的第一先进先出存储区域中存储的数据内容存储到DDR存储器中。
本领域技术人员可以理解,在根据需要传输的数据内容的数据量进行仲裁的情况下,多端口仲裁器103可以根据每个功能单元需求,分别为每个功能单元存储了多个数据阈值表,该多个数据阈值表与所连接的功能单元的工作状态相关联。随后,多端口仲裁器103随时采集每个DDR存储标准单元104的需传输的数据内容的数据量,从而判断出与每个DDR存储标准单元104连接的功能单元当前所处的工作状态,并相应地比对本模块的阈值表。最后,多端口仲裁器103根据对比结果进行相关仲裁操作,从而产生仲裁结果。该仲裁策略的细节将在下面的描述中更详细地阐述。并且,在根据需要传输的数据内容所对应的数据地址进行仲裁的情况下,本发明实施例的多端口仲裁器可根据需要传输的数据所对应的地址段的大小和/或多少等来进行仲裁,本领域技术人员可以了解这里所采用的地址仲裁方法,因此在此不再赘述
这里,本发明实施例的多端口仲裁器102还与DDR控制器101之间进行数据通信,从而进行所需信息的交互,本领域技术人员可以了解多端口仲裁器102与DDR控制器101之间的双向通信情况,因此在此不再赘述。
在本发明实施例的存储系统100中,DDR存储器与DDR控制器101之间,DDR存储标准单元切换阵列103与DDR控制器101之间及DDR存储标准单元切换阵列103与DDR存储标准单元104之间,以及DDR存储标准单元104与功能单元之间的数据通路之间均包括两个逻辑通道,从而实现上述单元之间的双向连接以分时地进行读写操作。这些通道并不是复杂的标准总线,而是一路先入先出数据内容和一路先入先出数据地址并行传输管道,属于直接时钟周期操作,相比传统的总线设计,无总线不必要的时序开销,极大地提高了DDR存储效率。当然,本领域技术人员可以理解,连接各组件之间的数据通路可以是能够执行读和写功能的任意数目的通信通道,比如,其可以是能够进行读写功能的单一双向通信通道等,也可以是作为DDR标准存储单元写通道和DDR标准存储单元读通道的两个独立的物理通道。本发明实施例的用于连接各组件的数据通路并不受通路的具体类型和具体数目的限制。
并且,本领域技术人员可以理解,当多端口仲裁器102依据仲裁策略选定了与DDR存储器相连接的DDR存储标准单元104,从而选定了与DDR存储器进行数据交互的功能单元时,该功能单元也可以从DDR存储器中读取所需的数据。这里,DDR控制器101根据DDR存储标准单元104的第二先进先出存储区域中存储的功能单元所要读取的数据内容的数据地址将DDR存储器中的相应数据内容存储到该选定的DDR存储标准单元104的第一先进先出存储区域中,从而由功能单元获取该DDR存储器中的数据内容。
在本发明的具体实施例中,一种存储方法应用于本发明的存储系统,所述存储系统包括存储控制单元,N个存储标准单元,与所述N个存储标准单元连接的仲裁单元以及分别与所述存储控制单元、所述N个存储标准单元和所述仲裁单元连接的切换单元,其中,所述N个存储标准单元与N个功能单元一一对应地连接,其中N是大于1的整数。所述方法包括以下步骤:分别将所述N个功能单元中每一功能单元需要存储到所述存储器的数据内容存储到所对应的存储标准单元的第一先进先出存储区域,并将所述需要传输到所述存储器的数据内容所对应的数据地址存储到所述存储标准单元的第二先进先出存储区域;获得M个所述第一先进先出存储区域中所述需要传输到所述存储器的数据内容的数据量和/或M个所述第二先进先出存储区域中所述需要传输到所述存储器的数据内容所对应的数据地址,其中M是小于等于N的整数;依据仲裁策略对M个存储标准单元的优先级别进行仲裁,并产生包括仲裁结果的指令,其中,所述仲裁结果指示需要优先进行存储操作的选定存储标准单元;依据所述指令实现所述选定存储标准单元与所述存储控制单元的连通;利用所述选定存储标准单元的第二先进先出存储区域中存储的数据地址将所述选定存储标准单元的第一先进先出存储区域中存储的数据内容存储到所述存储器中。
根据上面关于本发明的存储系统的描述,本发明的存储方法可以根据需要传输的数据内容的数据量或所传输的数据内容所对应的数据地址而采用多种仲裁策略。在以下图2中,示出了在上述以DDR为例的存储系统中所采用的一种仲裁方法的原理的示意图。
在所述仲裁方法中,根据每个功能单元的需求,分别为每个功能单元存储了四个很重要的数据阈值表。这四个数值分别代表高阈值,中阈值,低阈值,无值。随后,根据实时采集的每个DDR存储标准单元104的需传输的数据量,判断出与每个DDR存储标准单元104连接的功能单元的工作状态,并相应地比对本模块的阈值表,所述传输通道需传输的数据量与所述数据阈值表的比对结果包括分别与各个传输通道对应的各个功能单元工作在高阈值、中阈值、低阈值和无值状态下。
在本发明实施例中,当功能单元工作在无值状态下时,将所对应的传输通道从仲裁选择中删除,即执行无值操作;当功能单元工作在低阈值状态下、或低阈值到中阈值之间、或中阈值到高阈值之间时,执行同位操作;当功能单元工作在高阈值状态下时,执行跨位操作;和当功能单元所对应的传输通道需传输的数据量超过高阈值时,执行高位操作。下面将详细介绍四种操作模式:
无值操作:是指系统中的某个或某些功能单元不工作或暂停,并无数据存储要求的情况。DDR多端口仲裁器中的在线检测电路,会时时监控各个功能单元是否存在无值情况,如果有,先将其从仲裁选择中剔除,减少这些功能块的不必要仲裁判断。另一方面当在线检测电路检测到有功能单元从无值操作进入有数据存储操作状态,仲裁器还要及时将其加入到仲裁选择队列中去。
同位操作:是指系统中的各个功能单元均工作在低阈值之下,或低阈值到中阈值之间,或中阈值到高阈值之间。DDR多端口仲裁器会根据采集到各个模块需传输数据量进行优先级的排列,需传输数据量(同比例下)大的优先级高,并优先传输。经过这样的操作,各个模块的优先级别是时时动态在调整。
跨位操作:是指系统中的各个功能单元工作在高阈值之下的各个区间,这种仲裁的方法考虑优先级时,必须根据跨位和同位来确定最终的优先级别,原则是跨位优先级大于同位优先级别,先跨位优先级排列,然后再按同位优先级别排。跨位优先级别中的中阈值到高阈值为高优先级,而同位区间的则按同位优先原则排列即可。
高位操作:是指系统中的功能单元有数据量超过高阈值的情况,其仲裁方法为:对数据量需求最高的功能单元,系统采取特别优先级操作,直接采用一对一的高速操作,直接将这个功能单元需求数据量降至中阈值之下,尔后才进行下一个优先级判断。
当然,本领域技术人员可以理解,除了上述本发明实施例公开的设置四个数据阈值表的优选仲裁方法外,本发明实施例的仲裁方法并不限定数据阈值表的数目,例如,该数据阈值表的数目也可以是三个、五个或更多。本领域技术人员可以理解,当根据所传输数据内容的数据量与数据阈值表的比对结果而判断出各个功能单元当前所处的工作状态时,本发明实施例的仲裁方法可以对于处于高阈值范围的功能单元进行优先传输,并对于处于相同阈值范围的多个功能单元进行顺序传输。或者,对于处于相同阈值范围的多个功能单元,也可以采用所谓的“轮询”的方法,即,每操作一次即将其优先级降低一级,这是本领域技术人员熟知的,因此在这里不进一步地描述。
当然,本领域技术人员也可以理解,对于本发明的实施例的仲裁策略来说,并不是必须设置与功能单元的工作状态相关的阈值表。在不设置阈值表的情况下,可以认为各个功能单元处于相同的优先级,从而可以仅依据做出请求的时间先后顺序,或者以一般的轮询方法进行仲裁。本领域技术人员可以明白本发明的范围并不受这里的具体实施例的限制。
根据本发明的具体实施例,一种终端可以包括上述存储系统并采用上述存储方法,其包括:存储器;存储控制单元,与所述存储器连接,用于对所述存储器实现数据存储控制;N个功能单元,用于获得或产生待存储数据,其中,N为大于1的整数;N个存储标准单元,每个所述存储标准单元与每个所述功能单元一一对应连接,所述存储标准单元包括第一先进先出存储区域和第二先进先出存储区域,其中,所述第一先进先出存储区域用于存储所述待存储数据的数据内容,所述第二先进先出存储区域用于存储所述数据内容所对应的数据地址;仲裁单元,与所述N个存储标准单元连接,用于获取M个所述第一先进先出存储区域中所述数据内容的数据量和/或M个所述第二先进先出存储区域中所述数据地址,并依据仲裁策略对M个存储标准单元的优先级别进行仲裁,并产生包括仲裁结果的指令并发送,其中,M是小于等于N的整数,且所述仲裁结果指示需要优先进行存储操作的选定存储标准单元;切换单元,分别与所述存储控制单元、所述N个存储标准单元和所述仲裁单元连接,用于接收所述包括仲裁结果的指令,以实现所述选定存储标准单元与所述存储控制单元的连通;其中,所述存储控制单元利用所述选定存储标准单元的第二先进先出存储区域中存储的数据地址将所述选定存储标准单元的第一先进先出存储区域中存储的数据内容存储到所述存储器中。
同样以DDR为例,图3是示出了根据本发明实施例的采用本发明的存储系统及其存储方法的终端的示例性框图。如图3所示,该采用本发明的存储系统及其存储方法的终端200除了图1中所示的存储系统100以外,进一步包括DDR存储器201和多个功能单元202。
其中,本发明实施例的多个功能单元可以与其它外接设备连接,从而从其它外接设备主动地获取数据,或者从其它外接设备被动地接收数据,比如,如果功能单元是USB模块的话,其可以主动地从外接的USB存储器中获取数据,也可以被动地接收USB设备所传送的数据。此外,功能单元202还可以根据外部指令本身产生数据,例如,其可以是摄像头,从而根据接收到的用户指令捕获图像,从而产生要存储到DDR存储器201中的图像数据。或者,功能单元202也可以是数据处理设备,通过处理从外部接收的数据来产生待存储到DDR存储器201的数据。
此外,同本发明实施例的存储系统100相同,DDR存储器201与DDR控制器101,DDR存储标准单元切换阵列103与DDR控制器101之间,及DDR存储标准单元切换阵列103与DDR存储标准单元104之间,以及DDR存储标准单元104与多个功能单元202之间的数据通路均包括两个逻辑通道,从而实现上述单元之间的双向连接,以分时地实现数据的读写操作。这样,当功能单元202是图像处理单元时,其也可以根据之前所述的过程从DDR存储器201中获取所需的图像数据。当然,本领域技术人员同样应该理解这里用于连接各组件的数据通路并不受通路的具体类型和具体数目的限制。
这里,图3中所示终端200的各个组件的配置与如图1所示的相同,因此在这里就不在赘述。DDR存储器201以及功能单元202都是本领域技术人员熟知的功能部分,本领域技术人员可以了解它们与存储系统100的各个组件的互动关系,因此在这里为了简明而省略其进一步的具体描述。
图4示出了根据本发明实施例的存储系统、存储方法和使用其的终端的第一应用实例。如图4所示,其示出了作为本发明的实施例的终端的缩进ASIC的设计框图。
图4的缩进ASIC采用DDR2存储器为存储核心,工作频率可为333Mhz,连接DDR数据存储端口为4个,属于多端口存储。USB模块接收图像数据并进行解压,解压后的图像数据存放到DDR2存储器中,缩放(Scalar)模块首先从DDR2存储器中读取原图像数据进行图像缩放,再将缩放后的目标图像数据存储到DDR2存储器中去,覆盖(Overlay模块从DDR2存储器中读取需要复合的数据进行复合,经过复合后,将其数据存入到DDR2存储器中去,最后VGA模块按帧从DDR2存储器中读取复合后的图像数据进行输出显示,这四个功能单元均为同步操作。
如图4所示,DDR2控制器连接DDR2存储器。四个功能单元USB模块、缩放模块、覆盖模块和VGA模块分别与其对应的DDR存储标准单元USB_CH、DDR存储标准单元Scalar_CH、DDR存储标准单元Overlay_CH和DDR存储标准单元VGA_CH。多端口仲裁器与4个DDR存储标准单元连接,用于获取所述4个DDR存储标准单元的4个第一先进先出存储区域中所存储的需要传输的数据内容的数据量和/或所述4个DDR存储标准单元的4个所述第二先进先出存储区域中存储的数据内容所对应的数据地址,并依据仲裁策略对该4个存储标准单元的优先级别进行仲裁,并产生包括仲裁结果的指令并发送,这里,该仲裁结果指示需要优先进行存储操作的选定存储标准单元,如DDR存储标准单元USB_CH。当然,这里本领域技术人员可以了解根据具体工作状况,多端口仲裁器也可以获取该4个DDR存储标准单元的其中两个或三个DDR存储标准单元的数据内容的数据量和/或数据内容所对应的数据地址,并对这两个或三个DDR存储标准单元的优先级别进行仲裁。DDR存储标准单元切换阵列分别与DDR2控制器、4个存储标准单元和多端口仲裁器连接,其在接收到包括仲裁结果的指令后,即实现所选定的存储标准单元与DDR2控制器的连通。随后,DDR2控制器利用所选定的存储标准单元的第二先进先出存储区域中存储的数据地址将所选定存储标准单元的第一先进先出存储区域中存储的数据内容存储到所述存储器中,例如,在选定了USB模块的情况下,利用DDR存储标准单元USB_CH的第二先进先出存储区域中所存储的地址将其第一先进先出存储区域中所存储的需要存储到DDR2存储器中的解压后的图像数据存储到DDR2存储器中。或者,例如,如果根据仲裁策略选定了覆盖模块,则DDR存储标准单元切换阵列实现DDR存储标准单元Overlay_CH与DDR2控制器的连通,随后,随后DDR2控制器利用DDR存储标准单元Overlay_CH的第二先进先出存储区域中所存储的覆盖模块想要读取的数据的地址将所对应的数据存储到DDR存储标准单元Overlay_CH的第一先进先出存储区域中,从而由该覆盖模块进行复合。之后,覆盖模块将需要被写入到DDR2存储器中的已复合的数据写入到DDR存储标准单元Overlay_CH的第一先进先出存储区域中,并将该数据所对应的地址写入到DDR存储标准单元Overlay_CH的第二先进先出存储区域中,并由DDR2控制器利用DDR存储标准单元Overlay_CH的第二先进先出存储区域中所存储的地址将DDR存储标准单元Overlay_CH的第二先进先出存储区域中所存储的已复合数据存储到DDR2存储器中。
因此,本实施例是一个典型的对芯片CPU依存不高但数据存储流量高的应用设计方案,如果采用现有的SOC设计方案来实施,势必会带来成本以及性能的弊端,而采用了本发明实施例的存储系统及存储方法却能很好地解决其设计成本和性能的问题。
图5示出了根据本发明实施例的存储系统、存储方法和使用其的终端的第二应用实例。如图5所示,其示出了一种数字家庭中交换盒的实现框图。
在图5的实施例中,整体设计以DDR存储器为存储中心,其核心采用了本发明实施例的存储系统及存储方法。
所谓的交换盒,实际上是指在数字家庭中,给电视或显示器进行输入的一个前端设备,它可以连接多个输入源,如STB电视通路、网络输入通路,本地计算机视频输入通路,或蓝光播放机等高清数据输入通路。
参照如图5所示的交换盒的整体设计的基本框图,其设计主体主要包括3个主要部分:图像输入及处理部分,DDR存储系统,图像输出混合显示部分。
图像输入及处理部分主要完成多种通道的数据输入输出,当然最主要的数据是图像视频数据。其中USB通路主要完成可将PC的视频通过USB的下行通道传入并解码为原始图像,传输给DDR标准存储单元(DDR_STD_CELL),通过本发明实施例的存储方法有序、高效地存储到DDR存储器中。USB的上行通道则可提取,如其他TV通道的图像特征传给PC,PC也可通过这些特征去自动检索相关信息,供用户参考。HDMI输入通路主要来自如高清机顶盒等图像输出设备,输入的图像数据经过图像模式控制,帧率控制和存储控制后,传输给DDR标准存储单元(DDR_STD_CELL),再通过本发明实施例的存储方法有序、高效地存储到DDR存储器中。来自网络的设计原理雷同,这里不详细描述了。
DDR存储系统的部分与图1中所示的相同,可参见前面所述。
图像输出混合显示部分的设计可以完成图像的变换和混合输出功能,如实现多通道输入图像的画中画,图层叠加显示功能等。这部分同样采用了DDR标准存储单元(DDR_STD_CELL),通过其频繁地与DDR中不同的图像帧缓存器进行数据交换来实现的。
在图5中示出了8个存储标准单元,分别与图5中的USB控制单元、HDMI接口控制单元、以太网接口控制单元、图像混合单元等相对应。这里,每个DDR存储标准单元包括第一先进先出存储区域和第二先进先出存储区域,其中,第一先进先出存储区域用于存储所述待存储数据的数据内容,第二先进先出存储区域用于存储所述数据内容所对应的数据地址。多端口仲裁器与8个存储标准单元连接,用于获取8个所述第一先进先出存储区域中所述数据内容的数据量和/或8个所述第二先进先出存储区域中所述数据地址,并依据仲裁策略对8个存储标准单元的优先级别进行仲裁,并产生包括仲裁结果的指令并发送,所述仲裁结果指示需要优先进行存储操作的选定存储标准单元。当然,这里本领域技术人员可以了解根据具体工作状况,多端口仲裁器也可以获取该8个DDR存储标准单元的其中一部分存储标准单元的数据内容的数据量和/或数据内容所对应的数据地址,并对这部分DDR存储标准单元的优先级别进行仲裁。DDR存储标准单元切换阵列分别与DDR2/3控制器、该8个存储标准单元和多端口仲裁器连接,用于接收包括仲裁结果的指令,以实现所选定存储标准单元与DDR存储器的连通。随后,DDR2/3控制器利用所选定的DDR存储标准单元的第二先进先出存储区域中存储的数据地址将所述选定存储标准单元的第一先进先出存储区域中存储的数据内容存储到所述存储器中。例如,如果选定了HDMI1接口控制单元,则利用其所对应的DDR存储标准单元的第二先进先出存储区域中存储的数据地址,将该经由HDMI1接口接收的并存储在该选定存储标准单元的第一先进先出存储区域中的数据存储到DDR存储器中。或者,如果选定的是图像混合单元的话,则DDR2/3控制器利用该图像混合单元所对应的DDR存储标准单元的第二先进先出存储区域中存储的数据地址,将DDR存储器中相应的图像数据存储到该DDR存储标准单元的第一先进先出存储区域中,从而由图像混合单元进行图像混合。
图6示出了根据本发明实施例的存储系统、存储方法和使用其的终端的第三应用实例。如图6所示,其示出了一种多路数字图像画面分割器的实现框图,其整体设计也是以DDR存储器为存储中心,其核心是采用了本发明实施例的存储系统及存储方法。
所谓多路数字图像画面分割器是将多路输入的图像能有效的、以各种不同的方式显示在电视墙或大屏幕上。如可以是1:1、1:4、1:9、1:16等多种不同显示方式,并广泛应用于多媒体监控,如交通、银行、酒店、监狱、学校、大厦物业等各个领域。
参照多路数字图像画面分割器的整体框图,其设计主体主要包括3个主要部分:图像输入及处理部分,DDR存储系统,图像输出混合显示部分。
图像输入及处理部分主要完成多通道的图像数据输入,本实施例的通道类型是一样的,都是接收来自16个摄像头不同的图像数据,这些图像数据经过编码,以及根据不同的模式进行缩放,再进行帧率控制,而后传输给DDR标准存储单元(DDR_STD_CELL),通过本发明实施例的存储方法有序、高效地存储到DDR中合成不同的显示帧缓存器。
DDR存储系统与图1中所示的相同,可参见前面所述。
图像输出混合显示部分的设计主要是根据不同的分割模式,读取DDR中不同图像合并存储帧进行直接显示,为了标明每路图像跟地点的直接关系,也可将地址等信息复合到对应的图像部分。
本领域技术人员可以理解,每个摄像头对应于一个存储标准单元,即在图6中,有17个DDR存储标准单元。这里,每个DDR存储标准单元包括第一先进先出存储区域和第二先进先出存储区域,其中,第一先进先出存储区域用于存储所述待存储数据的数据内容,第二先进先出存储区域用于存储所述数据内容所对应的数据地址。多端口仲裁器与该17个存储标准单元连接,用于获取17个所述第一先进先出存储区域中所述数据内容的数据量和/或17个所述第二先进先出存储区域中所述数据地址,并依据仲裁策略对17个存储标准单元的优先级别进行仲裁,并产生包括仲裁结果的指令并发送,所述仲裁结果指示需要优先进行存储操作的选定存储标准单元。当然,这里本领域技术人员可以了解根据具体工作状况,多端口仲裁器也可以获取该17个DDR存储标准单元的其中一部分存储标准单元的数据内容的数据量和/或数据内容所对应的数据地址,并对这部分DDR存储标准单元的优先级别进行仲裁。例如,该多端口仲裁器仅对16个摄像头所对应的DDR存储标准单元的优先级别进行仲裁。DDR存储标准单元切换阵列分别与DDR2/3控制器、该17个存储标准单元和多端口仲裁器连接,用于接收包括仲裁结果的指令,以实现所选定存储标准单元与DDR存储器的连通。随后,DDR2/3控制器利用所选定的DDR存储标准单元的第二先进先出存储区域中存储的数据地址将所述选定存储标准单元的第一先进先出存储区域中存储的数据内容存储到所述存储器中。例如,如果选定了摄像头6,则利用其所对应的DDR存储标准单元的第二先进先出存储区域中存储的数据地址,将该摄像头6所捕获并存储在该选定存储标准单元的第一先进先出存储区域中的数据存储到DDR存储器中。或者,如果选定的是图像输出单元的话,则DDR2/3控制器利用该图像输出单元所对应的DDR存储标准单元的第二先进先出存储区域中存储的数据地址,将DDR存储器中相应的图像数据存储到该DDR存储标准单元的第一先进先出存储区域中,从而由图像输出单元将图像输出。
上面的三个实施例均采用本发明实施例的存储系统及存储方法来实现,其成本及性能远优于现有的设计方法。同时,本领域技术人员可以理解,本发明并不局限于芯片设计,其能够广泛应用于各个行业,特别是消费类产品序列。
本发明已经参考具体实施例进行了详细说明。然而,很明显,在不背离本发明的精神的情况下,本领域技术人员能够对实施例执行更改和替换。换句话说,本发明用说明的形式公开,而不是被限制地解释。要判断本发明的要旨,应该考虑所附的权利要求。