标定i/o数据的时间戳的设备及方法

文档序号:6586329阅读:179来源:国知局
专利名称:标定i/o数据的时间戳的设备及方法
技术领域
本发明涉及通讯技术领域,特别涉及一种标定1/0数据的时间戳的设备及方法。
背景技术
在大型存储设备的应用中,磁盘阵列的应用比较广泛,磁盘阵列需要对磁盘阵列 控制器的输入输出(Input/Output,以下简称I/O)数据标定时间戳以进行时间同步,区分 I/O数据的时序。目前现有技术中的磁盘阵列,采用的是带内的方式标定磁盘阵列控制器的 I/O数据的时间戳,在标定时间戳的过程中,所有的I/O数据都经过高速缓存交换板标定时 间戳,因此标定时间戳的精度受高速缓存交换板的运行速度的限制,通常精度比较低。
现有技术的磁盘阵列,由于所有的I/O数据都需要经过高速缓存交换板进行时间 戳的标定,当高速缓存交换板发生故障时,可能会对所有的1/0数据均造成影B向,因此,通 常需要将所有的1/0数据进行备份。 通过上述分析可得,现有技术的磁盘阵列,其标定1/0数据的时间戳精度不高。此 外,为了避免高速缓存交换板单点故障时可能造成I/O数据丢失的问题,通常还需要备份 所有的I/O数据,导致磁盘阵列的成本较高。

发明内容
本发明提供一种标定I/0数据的时间戳的设备及方怯,用以解决现有磁盘阵列标
定I/O数据的时间戳精度不高,以及成本较高的问题。 本发明实施例提供了一种标定I/O数据的时间戳的设备,包括 获取模块,用于获取B码终端生成的时间源; 标定模块,用于根据所述B码终端生成的时间源,对磁盘阵列控制器的I/O数据标 定时间戳。
本发明实施例还提供了一种磁盘阵列控制器,包括 时统卡,用于获取B码终端生成的时间源,根据所述B码终端生成的时间源,对所 述磁盘阵列控制器的I/O数据标定时间戳; 写入模块,用于将所述标定了时间戳的1/0数据写入磁盘阵列存储器中。
本发明实施例还提供了一种磁盘阵列,包括B码终端,以及至少一个磁盘阵列控
制器,每个磁盘阵列控制器控制至少一个磁盘阵列存储器; 所述B码终端,用于生成时间源; 所述磁盘阵列控制器,用于获取所述B码终端生成的时间源,根据所述B码终端生 成的时间源,对所述磁盘阵列控制器的I/O数据标定时间戳,并将所述标定了时间戳的I/O 数据写入磁盘阵列存储器中。 本发明实施例还提供了一种标定1/0数据的时间戳的方法,包括
获取B码终端生成的时间源; 根据所述B码终端生成的时间源,对磁盘阵列控制器的1/0数据标定时间戳。
本发明实施例还提供了一种写数据的方法,包括 获取B码终端生成的时间源,根据所述B码终端生成的时间源,对磁盘阵列控制器 的1/0数据标定时间戳; 将所述标定了时间戳的I/O数据写入磁盘阵列存储器中。 本发明实施例通过获取B码终端生成的时间源,对磁盘阵列控制器的I/O数据标 定时间戳,提高了标定时间戳的精度。磁盘阵列控制器的1/0数据不需要经过时间源,使得 磁盘阵列的设备发生单点故障时也不需要备份所有的1/0数据,降低了成本。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使 用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本 领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他 的附图。
图1为本发明第一实施例提供的标定I/O数据的时间戳的设备的结构示意图; 图2为本发明第二实施例提供的磁盘阵列控制器的结构示意图; 图3为本发明第三实施例提供的磁盘阵列的结构示意图; 图4为本发明第四实施例提供的标定1/0数据的时间戳的方法流程图; 图5为本发明第五实施例提供的写数据的方法流程图; 图6为本发明第六实施例提供的写数据的方法流程图。
具体实施例方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员
在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。 参见图1为本发明第一实施例提供的标定1/0数据的时间戳的设备的结构示意
图,该设备可以为磁盘阵列控制器中的时统卡,用于对磁盘阵列控制器的I/O数据标定时
间戳,该设备包括获取模块11和标定模块12。 获取模块11用于获取B码终端生成的时间源。 标定模块12用于根据该B码终端生成的时间源,对磁盘阵列控制器的I/O数据标 定时间戳。 在本实施例中,采用了 B码终端生成时间源,能够大幅度提高标定时间戳的精度。 B码终端是一种能够提供高精度时间源的设备,可以承受1000万至1亿次的IOPS(IA) per second,每秒进行读写操作的次数),即能够允许1000万至1亿次的I/O数据同时取时间 戳,精度为0. 01微秒级至0. 1微秒级。而高速缓存控制器通常只能承受不超过200万的 IOPS,精度为0.5微秒级。 在采用了 B码终端生成时间源后,进一步采用延迟较小的总线向该设备传输B码 终端生成的时间源数据,就能使得整体的标定时间戳的精度较高。 可选的,该设备与B码终端之间可以采用PCI-E(PeripheralComponentlnterconnect Express,外围组件互连接口规范之后的规范)总线传输时间戳数 据,PCI-E总线的交换机芯片的传输时间延迟为150纳秒,由此,该设备通过PCI-E总线获 取B码终端的时间源,标定时间戳的精度约为O. l微秒级,相对于高速缓存控制器标定时间 戳的精度为0. 5微秒级,大幅度提高了标定时间戳的精度。 本发明实施例的设备通过获取B码终端生成的时间源,对磁盘阵列控制器的I/O 数据标定时间戳,提高了标定时间戳的精度。磁盘阵列控制器的1/0数据不需要经过时间 源,使得磁盘阵列的设备发生单点故障时也不需要备份所有的1/0数据,降低了成本。
参见图2为本发明第二实施例提供的磁盘阵列控制器的结构示意图,该磁盘阵列 控制器包括时统卡21、写入模块22和发送模块23。 时统卡21用于获取B码终端生成的时间源,根据该B码终端生成的时间源,对该 磁盘阵列控制器的I/O数据标定时间戳。 在本实施例中,采用了 B码终端生成时间源,使得时统卡能够大幅度提高标定时 间戳的精度。 写入模块22用于将该标定了时间戳的1/0数据写入磁盘阵列存储器中。 此外,该磁盘阵列控制器在进行远程容灾备份时,会采用一致性组的方式,将磁盘
阵列存储器中存储的数据发送到指定的远程存储器中。 该磁盘阵列控制器还包括发送模块23,用于采用一致性组(consistentgroup) 的方式将该磁盘阵列存储器中的数据发送给远程存储器,以在远程存储器中形成一致性组 进行远程容灾备份。 其中,一致性组是磁盘阵列中主巻更新的集合,一致性组的数据能够以一致的方 式确保相关的数据写入存储器。采用一致性组的方式进行容灾备份,在发生故障进行数据 恢复时,恢复出的数据具有一致性。 本实施例中,磁盘阵列控制器进行远程容灾备份时执行如下步骤
1.接收1/0数据并使1/0数据形成一致性组。 2.从B码终端获取时间源,并根据获取的时间源生成1/0数据的时间戳。 3.将1/0数据的时间戳信息写入到本地日志。 4.在需要传输I/0数据时,从本地日志中读取时间戮信息。 5对1/0数据标定时间戳,并传输到远程存储器。 6.在接收到远程存储器发送的回应消息后,向远程存储器发送回应成功消息。
通过上述步骤,磁盘阵列控制器就实现了从B码终端获取时间源对1/0数据标定 时间戳,并采用一致性组的方式将1/0数据发送到远程存储器,实现了远程容灾备份。
本发明实施例的磁盘阵列控制器,通过获取B码终端生成的时间源,对1/0数据标 定时间戳,提高了标定时间戳的精度。磁盘阵列控制器的1/0数据不需要经过时间源,使得 磁盘阵列的设备发生单点故障时也不需要备份所有的1/0数据,降低了成本。
参见图3为本发明第三实施例提供的磁盘阵列的结构示意图,该磁盘阵列包括至 少一个磁盘阵列控制器31,每个磁盘阵列控制器31控制至少一个磁盘阵列存储器32。
磁盘阵列还包括B码终端33。磁盘阵列控制器31中包括时统卡,磁盘阵列控制 器31通过时统卡对I/O数据标定时间戳。
该B码终端33,用于生成时间源。
该磁盘阵列控制器31 ,用于获取B码终端33生成的时间源,根据B码终端33生成 的时间源,对磁盘阵列控制器31的1/0标定时间戳,并将该标定了时间戳的I/O数据写入 磁盘阵列存储器32中。 在本实施例中,采用了 B码终端33和磁盘阵列控制器31的时统卡标定时间戳,能 够大幅度提高标定时间戳的精度。 可选的,磁盘阵列控制器31与B码终端33之间可以采用PCI_E总线传输时间戳 数据,该磁盘阵列还包括PCI-E总线交换机34,用于传送B码终端33发送给磁盘阵列控制 器31的时间戳数据;PCI-E总线交换机34通过PCI-E总线连接B码终端33和磁盘阵列控 制器31。 在本实施例的磁盘阵列中,在标定磁盘阵列控制器31的1/0数据的时间戳时,所 有的I/O数据都不经过用于生成时间源的B码终端33。而现有技术的磁盘阵列在标定1/ O数据的时间戳时,1/0数据都经过了时间源如高速缓存交换机。由此可以看出,本实施例 的磁盘阵列一方面能够提高标定I/O数据的时间戳的精度,另一方面,用于生成时间源的B 码终端33发生单点故障时,不会对磁盘阵列中的所有的I/O数据造成影响,因此不需要备 份所有的I/O数据,降低了成本。 本实施例的磁盘阵列,也可以采用远程一致性组的方式进行远程容灾备份。该磁 盘阵列控制器31,还用于采用一致性组的方式将该磁盘阵列存储器32中的数据发送给远 程存储器,以在远程存储器中形成一致性组进行远程容灾备份。 本发明卖施例的磁盘阵列,通过获取B码终端生成的时间源,对I/0数据的时间戳 进行标定,提高了标定时间戳的精度,1/0数据不需要经过时间源,因此磁盘阵列发生单点 故障时也不需要备份所有的I/O数据,降低了成本。 参见图4为本发明第四实施例提供的标定1/0数据的时间戳的方法流程图,方法 包括 41、获取B码终端生成的时间源; 42、根据该B码终端生成的时间源,对磁盘阵列控制器的1/0数据标定时间戳。
在本实施例中,采用了 B码终端生成时间源,能够大幅度提高标定时间戳的精度。
在本实施例中,在标定磁盘阵列控制器的1/0数据的时间戳时,所有的1/0数据全 都不经过B码终端。由此一方面能够提高标定1/0数据的时间戳的精度,另一方面,用于生 成时间源的B码終端发生单点故障时,不会对磁盘阵列中的所有的I/0数据造成影B向,因此
不需要备份所有的I/O数据,降低了成本。 本发明实施例通过获取B码终端生成的时间源,对磁盘阵列控制器的I/O数据标 定时间戳,提高了标定时间戳的精度,1/0数据不需要经过时间源,因此也不需要备份所有 的I/0数据,降低了成本。 参见图5为本发明第五实施例提供的写数据的方法流程图,本实施例写数据的方 法的执行主体可为磁盘阵列控制器,方法包括 51、获取B码终端生成的时间源,根据该B码终端生成的时间源,对磁盘阵列控制 器的I/O数据标定时间戳。 在本实施例中,采用了 B码终端生成时间源,能够大幅度提高标定时间戳的精度。
52、将标定了时间戳的1/0数据写入磁盘阵列存储器中。
本发明实施例通过获取B码终端生成的时间源,对磁盘阵列控制器的I/O数据标 定时间戳,提高了标定时间戳的精度,1/0数据不需要经过时间源,因此也不需要备份所有 的I/0数据,降低了成本。 参见图6为本发明第六实施例提供的写数据的方法流程图,该方法包括 61、获取B码终端生成的时间源,根据该B码终端生成的时间源,对磁盘阵列控制
器的I/O数据标定时间戳。 62、将标定了时间戳的I/O数据写入磁盘阵列存储器中。 步骤61、步骤62与第五实施例相同,不再赘述,本发明实施例在第五实施例的基 础上还包括步骤63。 63、采用一致性组的方式将磁盘阵列存储器中的数据发送给远程存储器。 步骤63主要是为了进一步确保数据的安全性,进行远程容灾备份。磁盘阵列控制
器进行远程容灾备份时执行如下步骤 1.接收I/O数据并使I/O数据形成一致性组。 2.从B码终端获取时间源,并根据获取的时间源生成I/O数据的时间戳。 3.将1/0数据的时间戳信息写入到本地日志。 4.在需要传输I/0数据时,从本地日志中读取时间戮信息。 5.对I/O数据标定时间戳,并传输到远程存储器。 6.在接收到远程存储器发送的回应消息后,向远程存储器发送回应成功消息。
通过上述步骤,磁盘阵列控制器就实现了从B码终端获取时间源对I/O数据标定 时间戳,并采用一致性组的方式将I/O数据发送到远程存储器,实现了远程容灾备份。
本发明实施例在进行写数据操作时,通过获取B码终端生成时间源,对磁盘阵列 控制器的I/0数据标定时间戳,提高了标定时间戳的精度;在写I/0数据时不需要经过时间 源,因此也不需要备份所有的I/O数据,降低了成本。 本领域普通技术人员可以理解附图只是一个实施例的示意图,附图中的模块或 流程并不一定是实施本发明所必须的。 本领域普通技术人员可以理解实施例中的装置中的模块可以按照实施例描述分 布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上 述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。 本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在 执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括ROM、 RAM、磁碟或者光 盘等各种可以存储程序代码的介质。 最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然 可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换; 而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范 围。
权利要求
一种标定I/O数据的时间戳的设备,其特征在于,包括获取模块,用于获取B码终端生成的时间源;标定模块,用于根据所述B码终端生成的时间源,对磁盘阵列控制器的I/O数据标定时间戳。
2. —种磁盘阵列控制器,其特征在于,包括时统卡,用于获取B码终端生成的时间源,根据所述B码终端生成的时间源,对所述磁 盘阵列控制器的I/O数据标定时间戳;写入模块,用于将所述标定了时间戳的1/0数据写入磁盘阵列存储器中。
3. 根据权利要求2所述的磁盘阵列控制器,其特征在于,还包括发送模块,用于采用一致性组的方式将所述磁盘阵列存储器中的数据发送给远程存储器。
4. 一种磁盘阵列,其特征在于,包括B码终端,以及至少一个磁盘阵列控制器,每个磁 盘阵列控制器控制至少一个磁盘阵列存储器;所述B码终端,用于生成时间源;所述磁盘阵列控制器,用于获取所述B码终端生成的时间源,根据所述B码终端生成的 时间源,对所述磁盘阵列控制器的1/0数据标定时间戳,并将所述标定了时间戳的1/0数据 写入磁盘阵列存储器中。
5. 根据权利要求4所述的磁盘阵列,其特征在于,所述磁盘阵列控制器,还用于采用一致性组的方式将所述磁盘阵列存储器中的数据发 送给远程存储器。
6. 根据权利要求4所述的磁盘阵列,其特征在于,还包括PCI-E总线交换机,用于传送所述B码终端发送给所述磁盘阵列控制器的时间戳数据; 所述PCI-E总线交换机通过PCI-E总线连接所述B码终端和所述磁盘阵列控制器。
7. —种标定1/0数据的时间戳的方法,其特征在于,包括获取B码终端生成的时间源;根据所述B码终端生成的时间源,对磁盘阵列控制器的I/O数据标定时间戳。
8. —种写数据的方法,其特征在于,包括获取B码终端生成的时间源,根据所述B码终端生成的时间源,对磁盘阵列控制器的I/O数据标定时间戳;将所述标定了时间戳的I/O数据写入磁盘阵列存储器中。
9. 根据权利要求8所述的写数据的方法,其特征在于,还包括采用一致性组的方式将所述磁盘阵列存储器中的数据发送给远程存储器。
全文摘要
本发明实施例公开了一种标定I/O数据的时间戳的设备及方法,所述设备包括获取模块,用于获取B码终端生成的时间源;标定模块,用于根据所述B码终端生成的时间源,对磁盘阵列控制器的I/O数据标定时间戳。本发明实施例通过获取B码终端生成的时间源,对磁盘阵列控制器的I/O数据标定时间戳,提高了标定时间戳的精度。磁盘阵列控制器的I/O数据不需要经过时间源,因此磁盘阵列的设备发生单点故障时也不需要备份所有的I/O数据,降低了成本。
文档编号G06F11/14GK101751230SQ20091025887
公开日2010年6月23日 申请日期2009年12月29日 优先权日2009年12月29日
发明者刘镇涛 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1