一种基于AoE协议的网络存储设备及其数据处理方法

文档序号:6560768阅读:304来源:国知局
专利名称:一种基于AoE协议的网络存储设备及其数据处理方法
技术领域
本发明涉及一种基于AoE(ATA over Ethernet,以太网直接承载ATA)协议的网络存储设备及其数据处理方法。采用AoE协议传输ATA(AT Attachment)命令和数据;采用以太网(Ethernet)和WiFi(802.11)作为基础通讯协议,属于计算机网络存储技术领域。
背景技术
随着互联网和多媒体技术的飞速发展,信息资源的积累呈爆炸式的增长。越来越多的、各式各样的音频文件和视频文件重复地充满了我们的每一个硬盘,而且随着Intel所倡导的数字家庭应用的方兴未艾,更多音频和视频信息的到来将加剧这个趋势,因此,一个灵活、有效、高性能价格比的小型网络存储设备成为必需,该类设备将包括多种特点(1)易于为多种设备(电脑、掌上电脑、无线路由器、数字家庭中的各种设备以及具有无线或有线网络接口的家电设备等)所在线共享;(2)易于操作和使用;(3)易于扩充和扩展存储容量;(4)较低的价格;(5)较低的能耗现有的传统存储方式、移动存储方式和网络存储方式,均不能充分满足以上的需求。
传统存储方式,也叫直接连接存储(DAS,Direct Attached Storage)较为最常见,例如,我们的桌面电脑和笔记本电脑的内置的硬盘,其优点是操作和使用简单,并具有较低的价格;其缺点是难以扩展存储容量以及多设备共享较困难。
移动存储方式,包括USB接口的硬盘和闪盘,近几年为越来越多的使用,作为方便携带的信息交换和存储手段,其缺点为难以实现多设备在线共享。
网络存储方式提供丰富、快速灵活和简便的存储资源,主要有两种基本类型网络附加存储(NAS,Network Attached Storage)和存储区域网(SAN,Storage Area Network)。
NAS存储系统拥有一个专用存储服务器,服务器上安装一个“瘦”操作系统和一个经过优化的文件系统,类似一个文件服务器。NAS服务器通过IP网络,同时向网络中多个客户机(一般为桌面电脑、笔记本电脑以及应用服务器)提供文件级的I/O服务,客户机可以在NAS服务器提供的共享目录中进行文件级的操作。如果NAS服务器的操作系统为Windows系列,那么NAS服务器与客户机之间的文件共享协议为互联网公共文件系统(CIFS,Internet Common File System);如果NAS服务器的操作系统为Unix/Linux系列,那么NAS服务器与客户机之间的文件共享协议为网络文件系统(NFS,Network File System)和CIFS。问题表现为,传输速度较慢,不适合大型文件,如视频文件,连续、高速传输;不能进行一些基本的硬盘存储操作,如分区和格式化;不支持存储块(Block)级的操作,使其存储能力受限。
SAN存储系统采用一种面向网络的存储结构,是以数据存储为中心。其采用可扩展的网络拓扑结构连接服务器和存储设备,并将数据的存储和管理集中在相对独立的专用网络中,向服务器提供最优的数据存储服务。与NAS存储系统不同的是SAN提供存储块(Block)级的服务。磁盘访问协议采用较高级的SCSI协议。
根据存储网络所采用的数据传输协议和传输介质的不同,SAN系统主要分为两种方式FC-SAN和IP-SAN。FC-SAN采用光纤通道(FC,Fibre Channel)网络结构将服务器和存储设备连接起来,并采用FCP(Fibre Channel Protocol)传输SCSI命令和数据;IP-SAN采用IP网络结构将服务器和存储设备连接起来,并采用iSCSI协议传输SCSI命令和数据。
SAN存储系统拥有多个优点可以提供网络磁盘服务;支持各种基本的磁盘操作,如分区和格式化;提供灵活扩展的存储容量;较高的传输带宽。其最大的缺点是价格昂贵,只有大型企业才有财力使用,FC-SAN需要建立全光纤专用网络以及光纤接口的交换设备和存储设备;IP-SAN需要增加TOE(TCP OffLoadEngine)卡。另外,iSCSI协议多增加了TCP/IP的处理开销,降低数据传输速度。
随着互联网蓬勃发展,网络的各种信息,包括文字、照片、音频、视频,对我们的日常生活的影响一步步加强,再加上数字家庭的兴起以及未来家居的网络化,一个灵活、高效、高性能价格比的小型网络存储设备的需求就摆在我们面前。

发明内容
本发明的目的是开发一种基于AoE协议的网络存储设备,满足个人用户和家庭使用。它摒弃现有存储系统的缺点,实现了一个灵活、高效、高性能价格比的小型网络存储设备。该设备具有以下多种优点(1)易于为多种设备(电脑、掌上电脑、无线路由器、数字家庭中的各种设备以及具有无线或有线网络接口的家电设备等)所在线共享;(2)能够像本地硬盘一样易于操作和使用;(3)易于扩充和扩展存储容量;(4)较低的价格;(5)较低的能耗。
本发明的另外一个目的是对于来自客户端的AoE协议数据包的接受、数据存取和响应,即其数据处理方法。
本发明的存储设备的基础通讯网络为以太网(Ethernet)和WiFi(802.11),当前几乎所有的台式电脑、笔记本电脑、服务器、掌上电脑(PDA)以及网络化的家用电器等都配备其中一种或两种网络接口,因此可以非常方便地使用本发明的网络存储设备。其中以太网的传输速率不低于10兆比特每秒,WiFi的传输速率不低于11兆比特每秒;另外,本设备支持使用最为广泛的PATA(Parallel AT Attachment,并行AT附加,或称IDE,Integrated Device Electronics,集成电路设备)和SATA(Serial AT Attachment,串行AT附加)接口硬盘,使得它的成本最为低廉。
本发明采用AoE(ATA over Ethernet,以太网直接承载ATA)协议传输ATA命令和数据。与iSCSI、FCP、NFS以及CIFS相比,AoE协议非常简单、有效,几乎没有额外TCP/IP协议处理的开销,可以实现较高的传输速度;支持直接接入现有的各种以太网交换机、集线器以及无线路由器(Wireless Router)和无线访问点(Access Point);另外,AoE协议不可路由,适合局域网、无线局域网和点对点连接使用,具有较高的安全性。
本发明的存储设备的硬件小巧,与常见的2.5寸或3.5寸硬盘尺寸相当,便于携带。系统板采用基于片上系统(SoC,System-on-Chip)的解决方案,外加闪存、内存、硬盘控制器、硬盘以及支持802.11的射频等来保证系统的可实现性;软件采用嵌入式操作系统,保证系统运行的高效率和高性能。
本发明的存储设备的数据处理方法操作包括以下步骤(1)软件系统通过以太网或WiFi接受来自客户端AoE协议请求;(2)软件系统取出AoE协议包中的ATA命令或数据,然后,交给一个专门负责的存储读写的核心线程;(3)存储读写的核心线程根据具体的ATA命令或数据进行相应处理—读写硬盘,然后把结果返回给软件系统;(4)软件系统把结果打成AoE协议包,然后交给一个负责通讯的的核心线程进行通讯处理;(5)负责通讯的的核心线程通过以太网或WiFi把AoE协议包发送给客户端。


图1是本发明—一种基于AoE协议的网络存储设备的硬件结构示意图。
图2是本发明的AoE协议示意3是本发明的网络存储设备内部操作系统的核心软件层次结构示意4是本发明的基于以太网和WiFi的整体网络软件层次结构示意5是本发明的AoE核心模块的数据处理过程示意图具体实施方式
目前,网络存储系统为NAS和SAN系统,主要应用于高端企业用户,价格昂贵、体积庞大、配置繁琐、管理复杂以及需要较高的能耗,不适合应用于个人和家庭用户。本发明基于简单、有效的AoE协议以及嵌入式软/硬件技术,网络存储设备具有价格低廉、体积小巧、零配置和管理以及较低的能耗等特点,特别应用于个人和家庭用户。
本发明的硬件结构参见图1,设备采用嵌入式硬件技术予以实现,由多个芯片组成(1)中央处理器(CPU)采用一个片上系统(SoC)内部集成了一个ARM(Advanced RISC Machines,高级的精简指令集计算机)或MIPS(Microcomputer without Interlocked Pipeline Stages,无互锁流水阶段的微型计算机)、MAC(Media Access Control,媒体访问控制)。包括一个低功耗的CPU以及以太网和WiFi的媒体访问层的处理部分等。
(2)内存(DRAM)主要用来运行操作系统、AoE核心处理模块以及各种网络系统程序以及分配系统缓冲区。
(3)闪存(Flash)存放操作系统映像和根文件系统以及配置参数。
(4)磁盘控制器(Disk Controller)系统控制对硬盘的读写。
(5)硬盘接口(Disk Interface)提供接口连接PATA和SATA硬盘(6)以太网接口(Ethernet Interface)提供10BaseT和100BaseTX等网络接口(7)射频电路(Radio Frequency Circuit)提供对801.11a/802.11b/802.11g等的支持本发明采用AoE(ATA over Ethernet)协议传输ATA命令和数据,参见图2。与iSCSI协议相比,AoE协议无需TCP/IP包处理和配置昂贵的ToE(TCP OFF Engine)卡,具有简单、高效等优点,并且易于安装、配置和使用,对于客户端,网络硬盘可以像本地硬盘一样进行操作,例如分区,格式化等。另外,AoE协议为不可路由协议,可保证存储设备的访问安全。
本发明的软件组成包括嵌入式操作系统和AoE核心处理模块。其中,嵌入式操作系统采用经过裁减和加固后的Linux操作系统,功能强大并且体积小巧;支持多种嵌入式硬件结构,如ARM和MIPS等;支持以太网和WiFi高速处理;支持多种块设备处理。AoE协议处理采用核心模块方式进行处理以降低CPU使用率、加快数据访问速度;AoE核心处理模块嵌入到操作系统中,作为块设备访问子系统的一部分存在。整个子系统的软件层次结构参见图3。
本发明的软/硬件系统启动简单而快速。存储设备加电后,由硬件的启动加载器(BootLoader)把存放在闪存上的操作系统映像加载到内存中,接着,操作系统对硬件进行初始化,然后,挂载根文件系统,并按照预先配置好的参数对各个子系统进行初始化,特别是网络/设备子系统,完成后,启动各个系统进程以及AoE核心处理模块的核心线程,进入等待接受和处理AoE协议包的状态。
图4揭示了本发明的整体网络软件层次结构和数据处理过程,网络传输介质为以太网或WiFi。原理相同。下面我们详细介绍客户端对网络磁盘(网络存储设备)的一次读取过程(1)用户进程读取位于存储在网络磁盘上的某个文件中的数据,文件系统查找是否存在于系统的磁盘缓冲区中;(2)如果已经存在(过去曾经被访问),直接把数据传递给用户进程;(3)如果不存在,把对文件的读取转换成对磁盘块的读取的ATA命令,并提交给AoE客户端核心处理模块;(4)AoE客户端核心处理模块把ATA命令打上AoE包头,形成AoE协议包,提交给链路层处理(以太网或WiFi);(5)链路层把来自AoE的协议包打上以太网或WiFi的帧头,形成第二层的数据帧,提交给物理层处理;(6)物理层将链路层的数据帧转换成0、1形式的电信号或射频信号向网络存储设备发送;(7)网络存储设备受到来自客户端的电信号或射频信号,将信号转换成链路层的数据帧,提交给链路层处理;(8)链路层处理对数据帧的类型进行判断,如果类型为AoE(其值为0x88A2),则去掉帧头,取出数据包,提交给AoE服务器端核心处理模块;(9)AoE服务器端核心处理模块对AoE数据包的进行处理,详细过程见后面的说明。处理完后,提交给核心的通用存储块层程序;(10)核心的通用存储块层程序把ATA命令转换成对具体的硬盘进行的操作,然后,提交给输入输出调度层;(11)输入输出调度程序对所有的输入输出操作重新进行优化,然后,把一组新的输入输出操作提交给块设备驱动程序;(12)块设备驱动程序把每个输入输出操作提交给硬盘,并进入睡眠状态等待来自硬盘的数据输入;(13)当硬盘的数据到达时,系统唤醒等待的块设备驱动程序;(14)块设备驱动程序对数据进行处理后,提交给输入输出调度程序;(15)输入输出调度程序把数据提交给核心的通用存储块层程序;(16)核心的通用存储块层程序把数据提交给AoE服务器端核心处理模块进行处理,其详细过程见后面的说明;(17)AoE服务器端核心处理模块把数据打上AoE包头,形成AoE协议包,提交给链路层处理(以太网或WiFi);(18)链路层把来自AoE的协议包打上以太网或WiFi的帧头,形成第二层的数据帧,提交给物理层处理;(19)物理层将链路层的数据帧转换成0、1形式的电信号或射频信号向客户端发送;(20)客户端受到来自网络存储设备的电信号或射频信号,将信号转换成链路层的数据帧,提交给链路层处理;(21)链路层处理对数据帧的类型进行判断,如果类型为AoE(其值为0x88A2),则去掉帧头,取出数据包,提交给AoE客户端核心处理模块;(22)AoE客户端核心处理模块取其中的数据,提交给用户进程并存放在磁盘缓冲区中。AoE服务器端核心处理模块是本发明的另一个关键组成,它采用操作系统的核心模块的形式加以实现,图5介绍了它的多线程处理方式,其处理的详细过程如下(91)来自客户端的AoE请求包到达AoE接收线程;(92)AoE接收线程对AoE请求包进行检查,找到要读取的硬盘,并把AoE包添加到该硬盘对应的输入队列中,然后,唤醒硬盘读写线程进行处理;(93)硬盘读写线程进行处理从输入队列中取出AoE包,去掉包头,再取出ATA命令,提交给核心的通用存储块层程序,然后,硬盘读写线程睡眠等待;(94)来自通用存储块层程序的数据到达时,核心唤醒硬盘读写线程,它把数据打成多个AoE应答包,添加到输出队列中,并唤醒AoE发送线程;(95)AoE发送线程从输出队列取出AoE应答包,并逐个发送给客户端。
权利要求
1.一种基于AoE(ATA over Ethernet,以太网直接承载ATA)协议的网络存储设备。特征在于采用简单、有效的AoE协议传输用于硬盘读写的ATA命令和数据;基础传输协议采用以太网或WiFi;硬件系统采用嵌入式技术,包括基于片上系统的低功耗CPU芯片、内存、闪存、硬盘控制器、硬盘接口、以太网接口和WiFi射频电路;软件系统采用经过裁减和加固后的嵌入式操作系统;AoE协议处理程序采用核心模块方式嵌入到操作系统。
2.根据权利要求1所述的网络存储设备,其特征在于AoE协议为ATA命令和数据传输协议。
3.根据权利要求1所述的网络存储设备,其特征在于基础传输协议采用以太网协议,并且传输速率不低于10兆比特每秒。
4.根据权利要求1所述的网络存储设备,其特征在于基础传输协议采用WiFi协议,并且传输速率不低于11兆比特每秒。
5.根据权利要求1所述的网络存储设备,其特征在于硬件系统采用嵌入式技术,包括基于片上系统的低功耗CPU芯片、内存、闪存、硬盘控制器、硬盘接口、以太网接口和WiFi射频电路。
6.根据权利要求1所述的网络存储设备,其特征在于AoE协议处理程序采用核心模块方式嵌入到操作系统,并且采用多个核心线程进行AoE协议数据的并发通讯和硬盘读写。
7.一种基于AoE(ATA over Ethernet,以太网直接承载ATA)协议的网络存储设备的数据处理方法,其特征在于客户端对网络磁盘(网络存储设备)的读取步骤(1)用户进程读取位于存储在网络磁盘上的某个文件中的数据,文件系统查找是否存在于系统的磁盘缓冲区中;(2)如果已经存在(过去曾经被访问),直接把数据传递给用户进程;(3)如果不存在,把对文件的读取转换成对磁盘块的读取的ATA命令,并提交给AoE客户端核心处理模块;(4)AoE客户端核心处理模块把ATA命令打上AoE包头,形成AoE协议包,提交给链路层处理(以太网或WiFi);(5)链路层把来自AoE的协议包打上以太网或WiFi的帧头,形成第二层的数据帧,提交给物理层处理;(6)物理层将链路层的数据帧转换成0、1形式的电信号或射频信号向网络存储设备发送;(7)网络存储设备受到来自客户端的电信号或射频信号,将信号转换成链路层的数据帧,提交给链路层处理;(8)链路层处理对数据帧的类型进行判断,如果类型为AoE(其值为0x88A2),则去掉帧头,取出数据包,提交给AoE服务器端核心处理模块;(9)AoE服务器端核心处理模块对AoE数据包的处理过程见权利要求8所述。处理完后,提交给核心的通用存储块层程序;(10)核心的通用存储块层程序把ATA命令转换成对具体的硬盘进行的操作,然后,提交给输入输出调度层;(11)输入输出调度程序对所有的输入输出操作重新进行优化,然后,把一组新的输入输出操作提交给块设备驱动程序;(12)块设备驱动程序把每个输入输出操作提交给硬盘,并进入睡眠状态等待来自硬盘的数据输入;(13)当硬盘的数据到达时,系统唤醒等待的块设备驱动程序;(14)块设备驱动程序对数据进行处理后,提交给输入输出调度程序;(15)输入输出调度程序把数据提交给核心的通用存储块层程序;(16)核心的通用存储块层程序把数据提交给AoE服务器端核心处理模块进行处理,其过程见权利要求8所述;(17)AoE服务器端核心处理模块把数据打上AoE包头,形成AoE协议包,提交给链路层处理(以太网或WiFi);(18)链路层把来自AoE的协议包打上以太网或WiFi的帧头,形成第二层的数据帧,提交给物理层处理;(19)物理层将链路层的数据帧转换成0、1形式的电信号或射频信号向客户端发送;(20)客户端受到来自网络存储设备的电信号或射频信号,将信号转换成链路层的数据帧,提交给链路层处理;(21)链路层处理对数据帧的类型进行判断,如果类型为AoE(其值为0x88A2),则去掉帧头,取出数据包,提交给AoE客户端核心处理模块;(22)AoE客户端核心处理模块取其中的数据,提交给用户进程并存放在磁盘缓冲区中。
8.根据权利要求7所述的网络存储设备的数据处理方法,其特征在于所述步骤(9)和步骤(16)中的AoE服务器端核心处理模块的处理详细过程包括下列步骤(81)自客户端的AoE请求包到达AoE接收线程;(82)AoE接收线程对AoE请求包进行检查,找到要读取的硬盘,并把AoE包添加到该硬盘对应的输入队列中,然后,唤醒硬盘读写线程进行处理;(83)硬盘读写线程进行处理从输入队列中取出AoE包,去掉包头,再取出ATA命令,提交给核心的通用存储块层程序,然后,硬盘读写线程睡眠等待;(84)来自通用存储块层程序的数据到达时,核心唤醒硬盘读写线程,它把数据打成多个AoE应答包,添加到输出队列中,并唤醒AoE发送线程;(85)AoE发送线程从输出队列取出AoE应答包,并逐个发送给客户端。
全文摘要
一种基于AoE(ATA over Ethernet,以太网直接承载ATA)协议的网络存储设备。特征在于采用简单、有效的AoE协议传输用于硬盘读写的ATA命令和数据;基础传输协议采用以太网或WiFi;硬件系统采用嵌入式技术,包括基于片上系统的低功耗CPU芯片、内存、闪存、硬盘控制器、硬盘接口、以太网接口和WiFi射频电路;软件系统采用经过裁减和加固后的嵌入式操作系统;AoE协议处理程序采用核心模块方式嵌入到操作系统。本发明设备具有价格低廉、体积小巧、零配置和管理,并具有较低的能耗,特别应用于个人和家庭用户,应用前景良好。
文档编号G06F12/00GK1968203SQ200610112229
公开日2007年5月23日 申请日期2006年8月31日 优先权日2006年8月31日
发明者孙利 申请人:孙利
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1