一种智能存储设备及其数据处理方法

文档序号:6423392阅读:149来源:国知局
专利名称:一种智能存储设备及其数据处理方法
技术领域
本发明涉及计算系统的存储设备,特别涉及一种应用于集群计算系统的智能存储设备及其数据处理方法。
背景技术
宇宙物理、石油勘探、气候分析等传统高性能计算领域,以及物联网、面向对象数据库、网页索引、在线网络服务等网络计算领域,越来越多地呈现出数据密集型的集群计算的特点,数据规模呈指数性的增长,对接口带宽和处理延迟的压力越来越大。图I是传统的计算系统的架构示意图,如图I所示,由于计算主机(包括处理器、 前端总线、南北桥芯片以及内存等常规部件)与存储设备(包括接口模块以及存储单元)是相互分离的,且存储设备只用于数据存储,在进行数据处理时,首先需要将数据从外部存储设备读取到主机的内存中,再由处理器对内存中的数据进行处理,最后再将处理完的数据写回外部存储器中去。存储设备只负责数据的接收、存储以及发送,不对数据进行任何的处理,所有的数据处理均有计算设备的处理器完成。由于所有需要访问的数据都必须先搬移到内存中,因此在集群计算系统的数据密集型应用中,数据量巨大,主机与存储设备的访问接口将面临较大的带宽压力,成为制约整个集群计算系统性能的瓶颈。目前另一种典型的存储设备,如移动磁盘、安全U盘、存储卡等,将部分计算部件和永久性存储部件耦合在一起,为主机设备提供透明的文件访问,同时将某些数据处理过程从主机转移到存储设备中去,例如文件的加解密、密钥计算以及解压缩等。但是上述存储设备只能支持固定的数据处理功能,并且用户无法为不同的源文件指定相应的处理方式,只支持从主机文件到该类型存储设备的文件写或者是从存储设备中读取文件到主机。

发明内容
本发明解决的问题是提供一种应用于集群计算系统的智能存储设备,具有较高性能以及可扩展的数据处理能力。为解决上述问题,本发明提供了一种智能存储设备,包括访问接口模块、与所述访问接口模块连接的若干数据处理单元;还包括存储单元阵列以及数据互连网络,所述数据互连网络提供数据处理单元之间以及数据处理单元与存储单元之间的数据互连。可选的,所述访问接口模块包括IDE、PCI/PCI-E、SCSI、USB、SATA接口。所述数据处理单元包括嵌入式微处理器以及相集成的扩展计算模块;所述扩展计算模块辅助嵌入式微处理器进行数据处理,且具有可编程接口,通过所述可编程接口扩展数据处理单元所支持的数据处理操作类型。可选的,所述扩展计算模块包括ASIC、FPGA/CPLD计算模块。所述数据处理操作类型包括数据压缩/解压缩、建立索引、滤波、筛选、坐标变换、加解密以及将处理后数据打包成文件。可选的,所述存储单元包括NAND Flash、NOR Flash、相变存储器。可选的,所述数据互连网络包括数据处理互连网络以及存储网络;所述数据处理互连网络提供数据处理单元之间的数据互连,所述存储网络提供数据处理单元与存储单元之间的数据互连。基于上述智能存储设备,本发明还提供了一种数据处理方法,包括外部主机通过访问接口模块管理数据处理单元,指定数据处理模式以及数据处理操作类型,再经由数据处理单元在所述存储单元阵列中进行数据的存储或读取操作;所述数据处理模式包括透明文件访问模式以及扩展智能存储模式;当指定透明文件访问模式时,所述数据处理单元转发外部主机与存储单元阵列之间的数据流;当指定扩展智能存储模式时,所述数据处理单元对外部主机与存储单元阵列之间的数据流进行扩展处理。扩展智能存储模式下的数据存储步骤包括访问接口模块接收来自于外部主机的待存储的源文件数据以及数据存储请求,并将其转发给数据处理单元;所述数据存储请求包括指定的数据存储路径以及数据处理操作类型信息;所述数据处理单元根据数据存储请求对所述源文件进行相应的数据处理操作形成目标文件,并将目标文件通过数据互连网络存储至指定路径的存储单元。 扩展智能存储模式下的数据读取步骤包括访问接口模块接收来自于外部主机的数据读取请求,并将其转发给数据处理单元;所述数据读取请求包括指定的数据读取路径以及数据处理操作类型信息;所述数据处理单元根据数据读取请求,通过数据互连网络从指定路径的存储单元中获取源文件,并对所述源文件进行相应的数据处理操作形成目标文件,并将所述目标文件通过访问接口模块传输给外部主机。可选的,所述各数据处理单元根据数据处理操作类型,并行执行数据处理操作,同时通过数据互连网络相互通信,进行集群式数据处理。与现有技术相比,本发明具有以下优点在存储设备中增加数据处理单元,将部分数据处理负载从计算设备转移到存储设备进行,从而减少计算设备的内存访问存储设备的带宽需求;进一步的,本发明的存储设备对于不同的数据处理需求具有可扩展的数据处理的能力,以适应集群计算系统的功能。


图I是现有计算系统的架构示意图;图2是本发明所述智能存储设备的结构示意图;图3是应用本发明智能存储设备的计算系统的功能架构图;图4是用于支持本发明智能存储设备的主机软件架构图;图5是本发明智能存储设备所述透明文件访问模式的功能示意图;图6是本发明智能存储设备所述扩展智能存储模式的功能示意图;图7是在扩展智能存储模式下计算系统的数据存储以及读取流程图。
具体实施例方式现有的计算系统中,存储设备仅提供数据的存储功能,计算主机在进行数据处理时,需要将数据从外部存储设备读取到计算设备的内存中,再由处理器对内存中的数据进行处理,最后再将处理完的数据写回外部存储器中去。面对集群计算系统的数据密集型应用中,主机与存储设备的访问接口将面临较大的带宽压力,从而成为制约集群计算系统性能的瓶颈。本发明提供一种智能存储设备,在存储设备中增加数据处理单元,将部分数据处理负载从计算设备转移到存储设备进行,从而减少计算设备的内存访问存储设备的带宽需求。图2是本发明所述智能存储设备的结构示意图,具体包括访问接口模块、与所述访问接口模块连接的若干数据处理单元;还包括存储单元阵列以及数据互连网络,所述数据互连网络用于提供数据处理单元之间以及数据处理单元与存储单元之间的数据互连。其中,所述访问接口模块可以采用标准的文件传输接口,例如IDE、PCI/PCI-E、SCSI、USB、SATA接口等,以便于在上述接口驱动程序的基础上进行编程,实现软件功能的扩展,使得现有的计算主机与本发明智能存储设备相兼容,而无需在主机端上作硬件的改动。 所述数据处理单元包括嵌入式微处理器以及扩展计算模块,所述扩展计算模块与嵌入式微处理器相集成,辅助嵌入式微处理器进行数据处理。其中,嵌入式微处理器能够提供较强的整数计算能力,所述扩展计算模块具有可编程接口,通过所述可编程接口能够扩展数据处理单元所支持的数据处理操作类型,使得数据处理单元能够适应不同的数据处理应用。可选的,所述扩展计算模块包括ASIC、FPGA/CPLD等计算模块。在集群计算系统中,常见的数据处理操作包括数据压缩/解压缩、建立索引、滤波、筛选、坐标变换、加解密以及将处理后数据打包成文件等。当数据处理单元具备了可扩展的数据处理能力,本发明的智能存储设备便能够根据集群计算系统的计算应用领域,而优化其专项的计算性能,将主机的部分计算负载转移至智能存储设备上。进一步的,在单个智能存储设备中,包括多个数据处理单元,各数据处理单元可以根据数据处理操作类型,并行执行各种数据处理操作,同时通过智能存储设备内置的数据互连网络进行数据处理单元之间的数据通信,从而在智能存储设备内实现一定的集群式数据处理能力,而提高其数据处理性能。例如,对于常规的压缩/解压缩等数据处理操作,单个数据处理单元便能够胜任处理需求;但对于坐标变换以及滤波筛选等较为复杂的数据处理操作,单个数据处理单元进行单线程的数据处理需要耗费大量的时间,作为优选方案,夕卜部主机可以将上述较为复杂的数据处理操作拆分为多个并行执行的数据处理线程,交给智能存储设备的多个数据处理单元分别执行,且使得参与上述数据处理的数据处理单元相互通信,实现所述集群式的数据处理。上述对数据处理的拆分,由主机的应用软件实现,并形成相应的智能存储设备可识别的硬件指令,通过访问接口传输给数据处理单元。所述数据互连网络除了提供上述数据处理单元之间的数据互连外,还提供数据处理单元与存储单元之间的数据互连。作为一个可选的方案,所述数据互连网络在物理层面上可以为一套网络,同时提供上述数据互连服务;作为另一个可选的方案,所述数据互连网络还可以包括两层在物理层面相互独立的网络,具体为数据处理互连网络以及存储网络,用于分别提供前述两种数据互连服务,使得两者之间不互相干扰或者拥堵网络带宽,提高智能存储设备的数据处理性能。基于本发明智能存储设备在计算系统中的职能,所述存储单元应为永久性存储器。为了形成高密度低功耗的存储单元阵列,使其与智能存储设备所具有的一定集群计算能力相匹配,所述存储单元可以为NAND Flash、NORFlash或相变存储器等易于集成的非易失性处理器。各存储单元通过数据互连网络,进一步的,通过存储网络与各数据处理单元连接。以上内容阐述了本发明智能存储设备的硬件结构。图3是应用本发明智能存储设备的计算系统的功能架构图,示出了本发明智能存储设备的基本工作原理。主机与智能存储设备之间的数据交互过程中,数据的处理操作的主要部分由主机的处理器执行,还有一部分转移至智能存储设备中的数据处理单元执行。上述数据处理执行方式,不仅将计算活动更接近于数据存储端(存储单元阵列),而且数据处理单元可以通过编程扩展,针对特定的计算应用进行优化设计,在性能/面积/功耗/成本各方面实现更好的折中。由于智能存储设备与现有的仅用于数据存储的存储设备具有硬件上的根本差别,因此为了支持本发明智能存储设备,需要在主机一端进行软件层面的改进,以兼容智能存储设备,实现对计算活动的转移。作为具体的实施例,图4示出了一种支持本发明智能存储设备的主机软件架构。 如图4所示,在操作系统层,主机首先面对智能存储设备的访问接口模块,为了进行数据通讯,需要存储设备接口识别驱动程序。上述接口识别驱动程序可以将主机应用软件层的文件访问操作,转换为智能存储设备的访问接口模块可以识别的硬件指令,并支持主机对智能存储设备的数据处理单元进行启动、停止、迁移、切换、扩展等编程操作。而为了访问接口模块的正常工作,还需要存储设备接口驱动程序。此外为了支持智能存储设备的数据文件类型,还需要存储设备文件系统驱动程序。在应用软件层,需要增加智能存储设备访问控制/调度程序,用于管理主机与智能存储设备之间的交互;最终在上述控制/调度程序基础上,运行智能存储设备管理应用程序,所述应用程序面向用户,提供管理和使用智能存储设备的人机交互界面。基于上述主机软件架构,用户便可以通过主机使用智能存储设备。为进一步说明本发明智能存储设备的功能特点,以下结合智能存储设备的数据处理方法实施例,详细阐述其应用方式。本发明所述的智能存储设备在进行数据处理(存储、读取或其他数据处理操作)时,提供标准的透明文件访问模式以及扩展智能存储模式。上述两种工作模式,由用户通过主机运行的智能存储设备管理应用程序指定选择,智能存储设备的数据处理单元在不同模式下也具有不同的工作状态。图5以及图6分别示出了本发明智能存储设备在透明文件访问模式以及扩展智能存储模式的功能示意图。在透明文件访问模式下,智能存储设备相当于仅提供数据的存储或读取服务的永久性存储器,与现有的存储设备相类同。外部主机直接经由访问接口模块,并经由数据处理单元以及数据互连网络访问存储单元,进行文件数据的存储以及读取。所述数据处理单元对外部主机与存储单元之间的数据流不进行任何处理,仅起到转发的作用。主机相当于透明地访问存储单元,直接在存储单元内进行复制、粘贴、删除、转移等标准文件操作。例如图5所示,当进行文件数据存储或读取时,源文件可以来自于智能存储设备中指定路径的存储单元,还可以来自于外部传感器、其他存储设备或主机,目标文件则可以是智能存储设备中指定路径的存储单元或者主机。上述数据流仅仅经由数据互连网络、并由数据处理单元通过访问接口模块转发,不会产生数据结构的变化,源文件与目标文件本质上是相同的。在扩展智能存储模式下,智能存储设备的数据处理单元需要对流经的数据流进行相关的数据处理,以分担主机的计算负载。所述数据处理操作类型可以包括数据压缩/解压缩、建立索引、滤波、筛选、坐标变换、加解密以及将处理后数据打包成文件等。智能存储设备的数据处理操作类型,是可以在通过对数据处理单元的编程重构而实现的。数据处理单元通常仅根据实际的计算应用领域,对上述数据操作类型的其中一种或若干种进行配置扩展,而并不需要面面俱到,从而在功能/面积/能耗之间做折中选择。在实际使用时,用户需通过主机上运行的智能存储设备管理应用程序选择数据处理单元相应的数据处理操作类型。扩展智能存储模式的基本工作方式包括外部主机先通过访问接口模块选择数据处理单元的数据处理操作类型,并指定数据的传输路径。所述数据的传输路径即数据流的走向,例如读取操作时,主机需要指定源文件的具体来源路径,而存储操作时,主机需要指定目标文件的存储路径。无论是存储或是读取,数据流均会经过数据处理单元进行相应处
理。 例如图6所示,所述数据处理单元对来自于外部主机的源文件进行数据处理操作形成目标文件,并将目标文件存储至指定路径的存储单元;或者,所述数据处理单元对来自于指定路径的存储单元的源文件进行数据处理操作形成目标文件,并将目标文件经由访问接口模块传输给外部主机。图7示出了应用本发明智能存储设备的计算系统在上述扩展智能存储模式下,进行数据存储以及读取的流程图。以下结合图4、图6以及图7,分别对上述数据存储以及读取流程进行阐述。在数据存储时,主机通过运行于其上的存储设备访问控制/调度接口程序将其数据系统(例如内存)内的源文件进行解析提取,形成结构化数据,并将所述结构化数据以及数据存储请求传输至智能存储设备的访问接口模块。所述结构化数据仅仅是将源文件解析为便于智能存储设备的访问模块识别、转发的数据结构,并未改变源文件的实质内容;所述数据存储请求包括指定的数据存储路径以及数据处理操作类型信息;所述访问接口模块接收上述结构化数据以及数据存储请求后,将其转发给的数据处理单元,数据处理单元根据数据存储请求中指定的数据操作类型执行相应数据处理操作,处理所述结构化的源文件数据。在上述数据处理操作结束后,数据处理单元将处理完的数据组织打包成目标文件,再通过数据互连网络,具体的通过存储网络,写入数据存储请求中指定路径的存储单元进行存储。如前所述,上述数据处理单元执行数据处理操作时,可以是由单个数据处理单元执行的单线程数据处理;也可以是主机根据数据处理操作类型,拆分形成多个数据处理线程,并派发至多个数据处理单元并行执行的多线程数据处理,同时各参与数据处理的数据处理单元通过数据处理互连网络相互通信,实现集群式数据处理。在数据读取时,主机通过运行于其上的存储设备访问控制/调度接口程序向智能存储设备发出数据读取请求,访问接口模块在接收到所述数据读取请求后将其发送给数据处理单元,与所述数据读取请求相匹配的数据处理单元启动并开始执行数据读取任务。具体的,所述数据处理单元经由存储网络从指定路径的存储单元中读取源文件,并解析所述文件提取数据结构,执行相应的数据处理操作,具体的数据处理过程与前述数据存储流程相类似。在数据处理操作结束后,数据处理单元将处理后数据组织成结构化数据,并发送给访问接口模块,由其转发给主机的访问控制/调度接口程序,所述访问控制/调度接口程序将接收到的结构化数据写入主机的数据系统(内存)暂存,或者再送入主机的处理器进行
进一步处理。以上实施例阐述了本发明智能存储设备的架构体系及其应用。在集群计算系统中,由于数据量巨大,处理周期较长,主机不可能长期不间断的调用同一台智能存储设备。因此智能存储设备并不需要即时同步地完成数据的先处理再存储等待调用流程。作为另一个可选方案,智能存储设备还可以脱离于主机执行数据处理操作。具体的,如果外部主机在数据存储后并不需要即时调用存储的数据,在向智能存储设备发送源文件数据以及数据存储请求时,所述数据存储请求内除了指定存储路径以及数据操作类型外,还可以包括指定离线处理等信息;智能存储设备从主机中接收待处理数据以及所述离线处理指令后,便可以先不做任何数据处理操作而将源文件数据直接存储在指定路径的存储单元中,然后在主机离线后由数据处理单元自行从该存储单元中提取待处理的源文件执行数据处理操作形
成目标文件,并重新写回该存储单元,完成源文件数据向目标文件数据的转换过程,以待后续主机重新上线时调用。上述机制的好处在于,智能存储设备可以利用空闲时间,脱离于主机进行数据处理,该空闲时间可以是智能存储设备的异地转移或者主机离线停机期间,以提高整个计算系统的运行效率。虽然本发明已以较佳实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
权利要求
1.一种智能存储设备,其特征在于,包括访问接口模块、与所述访问接口模块连接的若干数据处理单元;还包括存储单元阵列以及数据互连网络,所述数据互连网络提供数据处理单元之间以及数据处理单元与存储单元之间的数据互连。
2.如权利要求I所述的智能存储设备,其特征在于,所述访问接口模块包括IDE、PCI/PCI-E、SCSI、USB、SATA 接口。
3.如权利要求I所述的智能存储设备,其特征在于,所述数据处理单元包括嵌入式微处理器以及相集成的扩展计算模块;所述扩展计算模块辅助嵌入式微处理器进行数据处理,且具有可编程接口,通过所述可编程接口扩展数据处理单元所支持的数据处理操作类型。
4.如权利要求3所述的智能存储设备,其特征在于,所述扩展计算模块包括ASIC、FPGA/CPLD计算模块。
5.如权利要求3所述的智能存储设备,其特征在于,所述数据处理操作类型包括数据压缩/解压缩、建立索引、滤波、筛选、坐标变换、加解密以及将处理后数据打包成文件。
6.如权利要求I所述的智能存储设备,其特征在于,所述存储单元包括NANDFlash、NOR Flash、相变存储器。
7.如权利要求I所述的智能存储设备,其特征在于,所述数据互连网络包括数据处理互连网络以及存储网络;所述数据处理互连网络提供数据处理单元之间的数据互连,所述存储网络提供数据处理单元与存储单元之间的数据互连。
8.—种如权利要求I至7任一项所述智能存储设备的数据处理方法,其特征在于,外部主机通过访问接口模块管理数据处理单元,指定数据处理模式以及数据处理操作类型,再经由数据处理单元在所述存储单元阵列中进行数据的存储或读取操作;所述数据处理模式包括透明文件访问模式以及扩展智能存储模式;当指定透明文件访问模式时,所述数据处理单元转发外部主机与存储单元阵列之间的数据流;当指定扩展智能存储模式时,所述数据处理单元对外部主机与存储单元阵列之间的数据流进行扩展处理。
9.如权利要求8所述的数据处理方法,其特征在于,扩展智能存储模式下的数据存储步骤包括访问接口模块接收来自于外部主机的待存储的源文件数据以及数据存储请求,并将其转发给数据处理单元;所述数据存储请求包括指定的数据存储路径以及数据处理操作类型信息;所述数据处理单元根据数据存储请求对所述源文件进行相应的数据处理操作形成目标文件,并将目标文件通过数据互连网络存储至指定路径的存储单元。
10.如权利要求8所述的数据处理方法,其特征在于,扩展智能存储模式下的数据读取步骤包括访问接口模块接收来自于外部主机的数据读取请求,并将其转发给数据处理单元;所述数据读取请求包括指定的数据读取路径以及数据处理操作类型信息;所述数据处理单元根据数据读取请求,通过数据互连网络从指定路径的存储单元中获取源文件,并对所述源文件进行相应的数据处理操作形成目标文件,并将所述目标文件通过访问接口模块传输给外部主机。
11.如权利要求8所述的数据处理方法,其特征在于,所述各数据处理单元根据数据处理操作类型,并行执行数据处理操作,同时通过数据互连网络相互通信,进行集群式数据处理。
全文摘要
本发明提供了一种智能存储设备及其数据处理方法,所述智能存储设备包括访问接口模块、与所述访问接口模块连接的若干数据处理单元;还包括存储单元阵列以及数据互连网络,所述数据互连网络提供数据处理单元之间以及数据处理单元与存储单元之间的数据互连。本发明在存储设备中增加数据处理单元,将部分数据处理负载从计算设备转移到存储设备进行,从而减少计算设备的内存访问存储设备的带宽需求;进一步的,本发明的存储设备对于不同的数据处理需求具有可扩展的数据处理的能力,以适应集群计算系统的功能。
文档编号G06F3/06GK102760045SQ20111011081
公开日2012年10月31日 申请日期2011年4月29日 优先权日2011年4月29日
发明者原昊, 吴东, 张昆, 方兴, 谢向辉 申请人:无锡江南计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1