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

文档序号:9667071阅读:289来源:国知局
一种存储设备及数据处理方法
【技术领域】
[0001]本发明涉及数据存储技术领域,尤其涉及一种存储设备及数据处理方法。
【背景技术】
[0002]数据信息时代,互联网已成为人们日常生活中不可缺少的一部分,互联网应用种类繁多,包括Facebook、MySpace、QQ为代表的社会关系网络、Youtube为代表的视频共享应用以及以Google、Yahoo、Baidu为代表的搜索引擎应用等。不断增长的互联网用户带来了爆炸式增长的数据(视频、图片、blog等)。处理这些数据的技术路线从本质上可以分为两个方面:海量数据的存储管理技术以及针对海量数据的处理技术(日志分析、搜索引擎应用等)。
[0003]互联网庞大的数据量使我们想到把并行计算的思想应用到商业集群上,云计算思想应运而生。Google是云计算的领军力量,它使用Hadoop框架每天处理超过20PB的数据量。为了能够处理大量的原始数据,Google设计了一个新的抽象模型-映射归约(MapReduce),映射归约名字来源于这个模型中的两项核心操作:映射(Map)和归约(Reduce),实现流程图如图1所示。首先用户程序所要处理的数据31由存储网络中导入并被分成若干片段(split)(这里以6个片段为例,分别为片段321、片段322、片段323、片段324、片段325、片段326),然后在所有机器(machine)中选出一个作为主机30 (master),即主控制程序,其他的作为由主机分配任务的从机(workers)即工作程序。主机为空闲的从机分配一个映射任务,如映射任务331,将分片的原始数据进行映射处理,抽取键(key)/值(value)对,将中间数据341保存在从机的本地存储中,并由从机将中间数据的位置信息传给主机30,主机30再将传递的数据信息分发给负责归约任务的从机,然后从机远程读取中间数据341、中间数据342和中间数据343,并对这些键/值进行排序,分配了归约任务的从机遍历排序后的中间数据,并将同一个键对应的值传给用户定义的归约函数351 (或归约函数352),进行归约处理,最后将该区块追加到最后的输出文件36中。映射归约编程模型的核心思想就是利用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理TB级别的海量数据。
[0004]传统的在存储设备,如图2所示的是固态硬盘的内部结构图,主微控制器1 一般通过缓存芯片2以加速闪存芯片3阵列的数据读取,提高性能。当系统CPU需要从固态硬盘中4导入数据时,主微控制器1接收到命令并将指定的数据从闪存芯片阵列3中读取出来,并通过对外接口 5传输给上级系统,主微控制器1并不对数据做任何处理。又比如磁盘的内部结构如图3所示,其结构与固态硬盘相似,包括磁盘6、前置放大器7、读写通道8、磁盘主微控制器9、代码区和数据缓冲区10、随动控制和解调器11、马达控制器12、马达13和对外接口 14。磁盘阵列,S卩“独立磁盘构成的具有冗余能力的阵列”。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,磁盘阵列有多个端口可以被不同系统或不同端口连接,一个系统连接阵列的不同端口可提升传输速度。
[0005]如图4所示的独立磁盘冗余阵列内部结构简图,采用性能比磁盘和固态硬盘中的主微控制器强的独立磁盘冗余阵列控制器15,例如采用Intel处理器;另外还包括多个磁盘16以及系统接口 17。网络附属存储(Network Attached Storage,NAS)是具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器,因此网络附属存储内部处理器是性能更高的服务器级别的处理器。所以,当终端系统CPU做一些轻量级的数据处理操作时,这些存储设备中的主微控制器不在做数据处理时都处于空闲状态,因此不论对于上级系统CPU还是存储设备中的主微控制器,在性能和功耗上都是一种浪费。
[0006]从上面的简单介绍中可以看出,上述由上千个商用机器组成的大型集群所处理的任务都是由商用机器的CPU来运行处理,而这些任务都是一些轻量级的无需算术逻辑运算单元(Arithmetic and Logic Unit,简称ALU)大量参与的工作(例如映射任务和归约任务),首先在功耗上是浪费的,其次在性能上也是浪费的(高性能的ALU并不参与大量计算),因此整个集群的功耗和成本都是很高的。
[0007]传统的,在存储设备内进行数据处理的方法中,所有的数据处理操作都由存储设备中的主微控制器来完成,负载大,存储设备性能会受到影响。如果采用可编程逻辑阵列(Field Programmable Gate Array,简称FPGA)来实现数据查找、识别、比较或匹配等操作,效率低,在性能上是一种浪费;如果采用专用集成电路(Applicat1n SpecificIntegrated Circuit,简称ASIC)来实现,成本也相对较高。

【发明内容】

[0008]针对上述问题,本发明提出了一种存储设备,应用于包括上级系统的计算机架构中,所述存储结构包括:
[0009]存储阵列,预存有待处理数据;
[0010]主微控制器,分别与所述上级系统和所述存储阵列连接,以用于接收所述上级系统下发的数据处理命令;以及
[0011]比较匹配模块,与所述主微控制器和所述存储阵列连接;
[0012]其中,所述比较匹配模块根据所述数据处理命令对所述存储阵列中存储的所述待处理数据进行处理,并通过所述主微控制器将处理结果反馈至所述上级系统。
[0013]上述的存储设备,其中,所述比较匹配模块为硬件模块。
[0014]上述的存储设备,其中,所述比较匹配模块集成在所述主微控制器中。
[0015]上述的存储设备,其中,所述比较匹配模块为内容可寻址存储器或三重内容可寻址存储器。
[0016]上述的存储设备,其中,所述数据处理命令为数据查找命令、数据识别命令、数据比较命令或数据匹配命令。
[0017]上述的存储设备,其中,所述存储设备包括磁盘、固态硬盘、网络附属存储或独立磁盘冗余阵列。
[0018]上述的存储设备,其中,所述主微控制器与所述上级系统通过对外接口连接,以将所述处理结果发送至所述上级系统。
[0019]—种数据处理方法,应用于上述的存储设备中,所述方法包括:
[0020]S1:所述上级系统发送数据处理命令至所述存储设备;
[0021]S2:所述存储设备中的所述主微控制器接收所述数据处理命令,并根据所述数据处理命令判断是否需要对所述存储阵列中的数据进行处理操作;
[0022]若判断结果为是,执行S3;
[0023]否则,执行S5;
[0024]S3:所述主微控制器将所述数据处理命令发送给所述比较匹配模块;
[0025]S4:所述比较匹配模块接收并根据所述数据处理命令,对所述存储阵列中的数据进行处理,并所述主微控制器将处理结果返回至所述上级系统;
[0026]S5:所述主微控制器在本地进行其他数据处理任务,同时将其他数据处理结果返回至所述上级系统。
[0027]上述的数据处理方法,其中,所述数据处理命令为数据查找命令、数据识别命令、数据比较命令或数据匹配命令。
[0028]上述的数据处理方法,其中,所述主微控制器将所述处理结果通过对外接口与所述上级系统连接。
[0029]上述的数据处理方法,其中,所述比较匹配模块为内容可寻址存储器或三重内容可寻址存储器。
[0030]综上所述,本发明提出了一种存储设备及数据处理方法,在存储设备内添加了比较匹配模块,可以用软件实现,也可以用硬件实现,从而加速数据在存储设备内部进行查找、识别、比较或匹配等任务,缓解中央处理器的工作负载,提高存储设备进行数据处理的性能。
【附图说明】
[0031]图1是本发明现有技术信息处理的信息走向图;
[0032]图2是本发明现有技术固态硬盘的内部结构示意图;
[0033]图3是本发明现有技术磁盘的内部结构示意图;
[0034]图4是本发明现有技术独立磁盘冗余阵列内部结构示意简图;
[0035]图5是本发明实施例一种存储设备的内部结构示意图;
[0036]图6是本发明实施例比较匹配模块硬件的结构示意图;
[0037]图7是本发明实施例一种数据处理方法的流程示意图;
[0038]图8是本发明实施例数据读取的原理图;
[0039]图9是本发明实施例比较匹配模块信息处理的示意图。
【具体实施方式】
[0040]下面结合附图对本发明进行进一步说明。
[0041]实施例一
[0042]如图5所示的一种存储设备18 (存储设备18可以是磁盘、固态硬盘、网络附属存储或独立磁盘冗余阵列,也可以是能够用于本发明的其他存储设备,在此不作为限制)中,主微控制器20分别与上级系统和存储阵列21连接,用于接收上级系统下发的数据处理命令,同时还可以对存储单元进行管理和控制,例如损耗均衡、模块选择、错误检查纠错、数据读写等;比较匹配模块19与主微控制器20和存储阵列21连接,以根据数据处理命令(数据处理命令可以是数据查找命令、数据识别命令、数据比较命令、数据匹配命令或其
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1