用于管理媒体存储装置的方法和设备的制作方法

文档序号:6569545阅读:161来源:国知局
专利名称:用于管理媒体存储装置的方法和设备的制作方法
技术领域
本发明涉及诸如存储区域网络等的存储装置的管理,所述存储装置用 于存储诸如视听节目的媒体。
背景技术
传统上,光纤通道存储区域网络——有时被称为光纤通道SAN——用 于存储电视节目和电影形式的视听节目。这样的视听节目通常包括视频、 音频、辅助数据和时间代码信息。这样的光纤通道SAN的专业用户一一 诸如电视机广播商——一般依赖于这种存储,因为其具有很高的性能和较 低的等待时间。事实上,当今的光纤通道SAN提供在几秒或者更少的量 级上的故障恢复时间。不幸的是,当今的光纤通道SAN的高性能和低等 待时间在它们的购买价格和操作复杂性方面具有较高的成本。最近的基于因特网协议的SAN——诸如使用因特网小型计算机系统接 口 (iSCSI)标准的那些——已经作为光纤通道SAN的替代者而出现。与 光纤通道SAN相比较,基于iSCSI的SAN提供了低得多的成本,因为基 于iSCSI的SAN使用较低成本的硬件。但是,基于iSCSI的SAN引发了 高等待时间的缺点。与故障恢复时间为几秒或者更少的大多数光纤通道 SAN相比较,当今的基于iSCSI的SAN的故障恢复时间为30秒或者更 多。这样的长恢复时间阻碍了基于iSCSI的SAN用于专业用途。当今的基于iSCSI的SAN还具有不能提供关于它们记录数据的可靠性 的任何保证的缺点。诸如电视广播商的专业用户需要被记录到存储装置上的媒体已经真实地被存储的保证,而不必在向存储介质记录媒体后查看每 个资产。事实上,这样的专业用户更喜欢关于被记录的媒体的完整性的保 证,尽管存在引起对于在媒体服务器和存储介质之间的数据流的明显破坏 的任何系统故障。因此,需要一种克服了现有技术的上述缺点的存储技术。发明内容简而言之,按照本发明的一个优选实施例,通过了一种用于提高在多 个存储装置之间的效率的方法。所述方法通过首先评估写入至少一个媒体 块以进行存储的写入请求而开始,以确定(i)存储装置的当前存储状态;(ii)存储装置的存储能力;以及(iii)进行存储的媒体块的至少一个 特性。按照对所述写入请求的评估而选择多个存储装置之一。其后,媒体 块被写入到所选择的存储装置。


图1描述了用于提高在存储系统内的效率的、按照本发明的一个说明 性实施例的控制器的示意方框图;图2描述了由图1的控制器控制的类型的一对存储器;图3描述了图示与由图1的控制器控制的一对存储器的稳态操作相关 联的状态的状态图;以及图4描述了图示与慢存储装置操作相关联的状态的状态图。
具体实施方式
如以下更详细地所述,通过根据存储装置的容量和使用效率以及进行 存储的数据的特性来最大化存储装置上的存储,可以提高诸如存储区域网 络(SAN)中的一组存储装置的存储系统内的效率。图I描述了控制器IO,以下将被称为媒体路径监督器,用于控制媒体 块的存储。在图1的说明性实施例中,通过在盘14中存储之前有效地管 理在多个高速缓冲存储器中的媒体块的暂时存储,媒体路径观察器10控制媒体块的存储,所述高速缓冲存储器被说明性地描述为高速缓冲存储器12,和122,所述盘14经由因特网小型计算机系统接口 (iSCSI)协议结构 16而耦接到高速缓冲存储器122。虽然图1作为示例描述了两个高速缓冲 存储器和122,但是媒体路径监督器IO可以容易地控制大量的高速缓 冲存储器,这可以从以下的讨论变得清楚。诸如高速缓冲存储器12的典型高速缓冲存储器包括处理器18,诸如 控制存储舱20的微处理器或者微计算机,所述存储舱20暂时存储媒体 块。所述高速缓冲存储器存储从一个或多个媒体装置接收的一个或多个媒 体块,所述媒体装置被说明性地表示为媒体装置22。典型的媒体装置可以 产生或者再现一个或多个视频流、 一个或多个相关联的音频流、辅助数据 和时间代码信息。图2描述了一个高速缓冲存储器(例如高速缓冲存储器12》的存储 舱20与另一个高速缓冲存储器(例如高速缓冲存储器122)的存储舱的虚 拟链接。在较大数量的存储器的情况下,在高速缓冲存储器的存储舱20 之间存在虚拟连接。如图2中所示,在给定的高速缓冲存储器内的存储舱 20具有基于媒体块的类型和媒体轨道(例如不同数量的视频和音频流以及 伴随的辅助数据和时间代码信息)的数量的多个独立的高速缓冲存储器。 为了讨论,在媒体块内的媒体轨道包括(a)视频流,(b) —个或多个 相关联的音频流,(c)相关联的辅助数据段,和(d)与给定的视频流相 关联的时间代码信息。在图2的所图示的实施例中,进行存储的媒体块通常具有四个轨道。 为了容纳由四个轨道构成的这样的媒体块,在诸如高速缓冲存储器12J勺 高速缓冲存储器内的存储舱20具有高速缓冲存储器24r244,分别用于存 储四个视频流。通常,给定的视频流具有以不同语言的8个相关联的音频 流。因此,所述四个视频流总共具有32个相关联的音频流,其被分别存 储在存储舱20的高速缓冲存储器26r2632rt。与四个视频流的对应的一个 相关联的辅助数据分别存储在存储舱20内的高速缓冲存储器28r284的对 应的一个中。最后,与四个视频流的对应的一个相关联的时间代码信息存 储在存储舱20内的28r284的独立的一个中。为了存储具有或多或少的数量的轨道的媒体块,给定的存储舱20相应地需要或多或少的数量的高速 缓冲存储器。诸如图1的存储系统的典型存储系统具有多个可用的高速缓冲存储 器。通常,经常被称为最高级高速缓冲存储器的高速缓冲存储器之一将拥有比那个客户端的其他高速缓冲存储器更大的耦接到iSCSI构造的带宽。 在图1的图示的实施例中,高速缓冲存储器122拥有耦接到iSCSI构造16 的最大带宽,用于向盘14传送媒体块。因此,向最高级的高速缓冲存储 器(即高速缓冲存储器122)写入媒体块以随后向盘14写入比从其他的 (低级的)高速缓冲存储器直接地向盘写入块具有更大的效率。例如,当 前驻留在另一个高速缓冲存储器(例如高速缓冲存储器12。的存储舱20 内的媒体块将被传送到高速缓冲存储器122的存储舱20以写入到盘14, 而不是被从高速缓冲存储器12i写入到所述盘。以下述的方式来从媒体装置22向盘14写入媒体块。最初,媒体装置 之一 (例如媒体装置22)发出向盘14写入媒体块的写入请求。媒体路径 监督器10接收所述写入请求,并且作为响应,将所述请求以非阻挡的方 式置于一组独立的队列之一中。对于从特定队列提取的给定写入请求,媒 体路径监督器10将根据下述内容来评估所述请求(i)存储器的当前存 储状态;(ii)存储器的存储能力;以及(m)进行存储的媒体块的至少一 个特性。关于存储器的当前状态,媒体路径监督器考虑高速缓冲存储器的当前 存储容量。换句话说,媒体路径监督器10确定每个高速缓冲存储器的程 度。具体上,媒体路径监督器10确定高速缓冲存储器的填充状态。具体 上,媒体路径监督器确定最高级高速缓冲存储器(例如高速缓冲存储器 122)的填充状态和那个高速缓冲存储器向盘14排出媒体块的速率。对于 存储器的存储能力,媒体路径监督器考虑在存储舱20中的独立高速缓冲 存储器的数量。媒体路径监督器10也评估在写入请求中包含的每个媒体 块的特性以及轨道的具体类型和数量,以确定哪些高速缓冲存储器能够存 储这样的块。 '媒体路径监督器10通常从各种媒体装置通过它们各自的驱动器而接收写入请求。为了评估各种写入请求,媒体路径监督器10可以有效地管 理在各种高速缓冲存储器之间的媒体块的暂时存储。另外,媒体路径监督 器考虑媒体块在被写入到盘14之前从低级高速缓冲存储器(例如高速缓
冲存储器12。传送到最高级高速缓冲存储器(例如高速缓冲存储器122)
的事实。因此,最高级高速缓冲存储器的可用容量确定了低级高速缓冲存 储器传送数据以写入到盘的能力。
媒体路径监督器10执行"写入助手"任务以便以循环的方式与各种 队列相关联地提取写入请求。对于向盘14写入首先被暂时存储在高速缓 冲存储器12i中的媒体块的请求,假定容量存在的情况下,媒体路径监督 器IO布置向最高级高速缓冲存储器(例如高速缓冲存储器122)的存储舱 20的直接存储地址(DMA)传送。在完成向高速缓冲存储器122的存储舱 20的传送后,媒体路径监督器10提醒向盘14发送写入的块的媒体装置 22,即使还没有发生实际的写入。知道已经从低级高速缓冲存储器的存储 舱20向最高级高速缓冲存储器的存储舱20的DMS传送允许向低级高速 缓冲存储器(例如高速缓冲存储器12。写入媒体块。
最高级高速缓冲存储器(例如高速缓冲存储器122)的存储舱20现在 被写入一个或多个媒体块,然后进行到向盘14写入块的操作。如下更详 细所述,以不超过在媒体块中封装的实时视频流的速率的两倍的速率来进 行从最高级高速缓冲存储器向盘14的媒体块写入。测量最高级高速缓冲 存储器向盘14写入的速率将减少在多个客户端同时冲击它们的最高级高 速缓冲存储器以写入到盘14的时间期间的浪涌(surge)的可能性。换句 话说,测量向盘14的写入的速率抑制了浪涌,以便其他的媒体服务器 (未示出)可以无破坏地使用iSCSI构造16。在写入到盘14后,媒体块 然后被从最高级高速缓冲存储器(例如高速缓冲存储器122)的存储舱20 中清除。
图3描述了状态存储图,其示出了与从低级高速缓冲存储器(例如高 速缓冲存储器12。向最高级高速缓冲存储器(例如高速缓冲存储器122) 的正常传送相关联的四个状态中的各个状态。在开始,如在图3中的状态 1所示,高速缓冲存储器12i和122的存储舱20保持为空。在下一个阶段(状态2)期间,高速缓冲存储器122的存储舱20被写入媒体块。其后,
如状态3所示,在高速缓冲存储器12i的存储舱中的媒体块经由DMA传 送被传送到高速缓冲存储器122 (例如最高级存储体)的存储舱20。最 后,如状态4中所示,媒体块被写入到图1的盘14,并且最高级高速缓冲 存储器的存储舱20被清除。
如上所述,测量来自最高级高速缓冲存储器(例如图1的高速缓冲存 储器122)的存储舱20的媒体块的写入,以便以不超过在媒体块中封装的 实时视频流的速率的两倍的速率来进行所述写入。通常,在iSCSI网络上 的媒体服务器——诸如图1的iSCSI构造16——实际上对于一个或多个 "桥"(bridge)服务器构成客户端。使用多个桥服务器,iSCSI网络通信 均匀地分布在每个桥服务器上。在诸如网络部件、交换机、桥服务器、端 口等的故障的故障情况下,多达一半的媒体服务器将"故障切换"到在网 络内的替代路径。这个"故障切换"事件会占用30秒或者更多。在这个 时间期间,虚拟地链接的高速缓冲存储器被填充,并且在某个点,它们将 它们存储的媒体块排出到最高级高速缓冲存储器以最后传送到盘14。
当故障切换事件完成并且连接得到恢复时,多达一半的媒体服务器已 经有效地填充了它们的相关联的高速缓冲存储器,并且必须现在排出它们 的所存储的媒体块。但是,如果所存储的媒体块全部一次排出,则到盘14 的数据的"浪涌"将发生。这将导致仍然在同一iSCSI构造16上工作的另 一半媒体服务器的可能损坏。
为了避免损坏在同一网络上的其他媒体服务器,按照本原理的一个方 面的浪涌保护技术用于抑制媒体服务器同时耗尽它们相关联的高速缓冲存 储器的效果。浪涌保护技术保证了虚拟链接的高速缓冲存储器以不快于媒 体块的传送的稳态实时速率的两倍的速率来排出它们的所存储的媒体块。 浪涌保护技术必须了解在媒体块内封装的视频的类型。各种类型的视频具 有不同的帧速率特性,导致媒体块向盘14排出的速率的不同。
在所述说明性实施例中,下面的公式用于确定媒体块的测量,以便不 损坏共享同一网'络和存储介质的其他媒体服务器其中,
7是以毫秒计的测量时间;
f是与特定的轨道和媒体高速缓冲存储器相关联的特定视频类型的视 频帧速率;
S是所述浪涌保护技术将不超过的排出速率,其通常在1.5和2.5之
间,或者换句话说为视频的稳态轨道的正常速率的1.5x-2.5x;并且
0是存储介质服务于这种类型的请求所消耗的平均时间(以毫秒 计)。
经常,媒体服务器将视频帧接合到较大的单个输入/输出(I/O)请求
中。组合多个帧用于最大化存储介质的性能。在这样的情况下,浪涌抑制
公式采取下面的形式
.(9 m.s.
,1000*77、
V
其中,r、 f、 S和0同上,7/是被接合到单个较大的1/0请求中的视频帧的数量。
用于广播质量视频的典型的帧速率f包括每秒60、 50、 30、 25和24 帧。使用这些f速率之一作为示例,在f二30帧/秒的情况下,选择排出速 率5二2,其中,7/ = 6视频帧/每个接合的I/O请求,并且平均存储介质服 务时间是0 = 30,因此每个接合的1/0请求以不快于((1000*6)/(30*2))-30的 速率或者大致每70毫秒一次的速率被写入到图1的盘14。重要的是,5被 选择为总是大于l,并且优选地在1.5和2.5之间。这保证了高速缓冲存储 器以比它们被填充的速率更快的速率排出,但是不快到干扰紧跟着故障事 件后的其他媒体服务器。
通常,媒体服务器向给定的媒体文件的存储介质发出多个未清 (outstanding)的I/O请求。发出这样的多个请求用于通过掩蔽伴随每个 请求的典型交易开销而提高性能。在这种情况下,浪涌抑制公式采取下面 的形式
广1000* 77 *cr) ^
, 一<9 m.s
T =
t数7"、 f、 S、 7/、 0保持同上,并且(7是在发出I/O请求时对于这个媒体文件的未清请求的数量。当多个未清的I/O请求被发送到给定文件的存储 介质时,给定的未清的I/O请求的测量时间相比于对于同一文件的其他未 清的I/O请求在或多或少的同一时间期满。例如,考虑存在对于同一媒体 文件的一个接一个地被发送的三个未清的I/O请求的情况
r,—
测量时间r、 r'和7""同时运行,而不是串行地运行。同样,重要的是将这 种"掩蔽"效应并入到上述的浪涌抑制公式中。通过考虑所有这些因素, 所述浪涌抑制机制对于系统的所有部分以最佳的速率来配置进入的媒体块 和出去的媒体块。
在实践中,与最高级高速缓冲存储器(例如高速缓冲存储器122)相 关联的处理器18——其管理在存储舱20和盘14之间的最后写入交易—— 也实现了上述的浪涌保护技术。所述浪涌保护技术在稳定状态和故障状态 条件下连续地运行。在稳定状态操作下,写入请求从不以快于lx (实时) 的速率发生。因此,浪涌保护技术不发挥作用。在没有媒体块的浪涌的情 况下,所述浪涌保护技术虽然存在但是没有效果。但是,在高速缓冲存储 器变满或者部分变满并且变得准备好经由最高级高速缓冲存储器而排出到 盘14的情况下,浪涌保护技术按照上述的公式衰减了媒体块向盘14的传 送。通过将与特定视频轨道相关联的写入请求限制到每t时间量一个而测 量所述媒体块。这不阻止与其他媒体轨道相关联的媒体块的写入,因为轨 道的测量是独立地发生的。
一般,不必测量音频、辅助数据和时间代码信息的排出。在实践中, 音频、辅助数据和时间代码媒体块与视频媒体块的比率并不大。因此,会 发生的任何浪涌将以非常小的规模存在,并且不可能损坏其他的媒体服务 器。但是,如上所述的所述浪涌保护技术也可以容易地用于测量音频、辅 助数据和时间代码信息的排出。
为f明白使用本发明的浪涌保护技术来测量媒体块传送的速率如何可 以防止浪涌,参见图4,其描述了一个状态图,其示出了与盘14变慢的状况或者在iSCSI构造16上的重流入行为之一或者两者相关联的各种状态。
在开始,如在图4中的状态1所示,高速缓冲存储器12〗和122的存储舱 20保持为空。在下一个阶段(状态2)期间,高速缓冲存储器122的存储 舱20被写入第一媒体块,在在图4中被指定为媒体块0。其后,如状态3 所示,在高速缓冲存储器12,的存储舱20中的媒体块0进行向高速缓冲存 储器122 (例如最高级存储体)的存储舱20的DMA传送。在DMA传送 后,在高速缓冲存储器12t的存储舱20中的媒体块0被清除。
在下一个状态(状态4)期间,高速缓冲存储器12i的存储舱20被写 入另一个媒体块(块1),而第一媒体块(块0)保持在高速缓冲存储器 122的存储舱20中。在状态5期间,媒体块1被从高速缓冲存储器12^勺 存储舱20传送到高速缓冲存储器122的存储舱20。在所述传送后,媒体 块1被从高速缓冲存储器12!的存储舱20清除。如在状态6中所示,媒体 块2-n的传送继续以上述的方式进行,直到高速缓冲存储器122 (最高级高 速缓冲存储器)的存储舱20变满。
假定为了讨论,在状态6的开始,已经发生了盘变慢或者拥塞的 iSCSI构造的状况或者这两者。这样的情况的存在将至少阻止媒体块向图1 的盘14的排出。即使高速缓冲存储器122的存储舱20已经在此时变满, 媒体块向高速缓冲存储器12J勺存储舱20的写入也仍然可以发生,因为从 那个高速缓冲存储器传送的每个媒体块在传送后被清除。因此,在状态7 期间,媒体块n+l (其中n是整数)被写入到高速缓冲存储器12J勺存储 舱20中。在状态8期间,媒体块n+2被写入到高速缓冲存储器12i的存储 舱20中。向高速缓冲存储器12i的存储舱20中写入附加的媒体块的处理 继续,直到媒体块n+m被写入到高速缓冲存储器12i的存储舱20中,如 在状态9中所示。
假定在状态IO,盘变慢和/或拥塞的iSCSI的状况不再存在,并且在高 速缓冲存储器122的存储舱20中的所存储的媒体块现在可以开始排出到图 1的盘14。在这样的状况下,如上所述的拥塞抑制技术被调用来测量媒体 块的排出。在调用所述浪涌抑制技术时,以块0开始的高速缓冲存储器 122的存储舱20中的媒体块以不超过在块内封装的视频流的实时速率的两倍的所测量速率被排出。
在高速缓冲存储器122的存储舱20的特定百分比(例如20%)被排出 到图1的盘14后,如状态11中所示,将发生从高速缓冲存储器12i的存 储舱20向高速缓冲存储器122的媒体块n+l的DMA传送。在高速缓冲存 储器12!和122之间的传送在硬件允许的情况下尽可能快地发生。相反, 从高速缓冲存储器122 (最高级高速缓冲存储器)的存储舱20向盘14的 媒体块的排出以如上所述的方式以所测量的速率继续。媒体块从高速缓冲 存储器12!的存储舱20向高速缓冲存储器122的存储舱20的逐个的传送对 于媒体块n+l到m+n继续。同时,高速缓冲存储器122的存储舱20以所 测量的速率排出到盘14。以媒体块p开始的新的媒体块被写入到高速缓冲 存储器12,的存储舱20中。在状态13开始,稳态操作恢复,新的媒体块 p+l被写入到高速缓冲存储器12i的存储舱20中。其后,在高速缓冲存储 器12J勺存储舱20中的新的媒体块p+l进行向高速缓冲存储器122的存储 舱20的DMA传送,并且被从高速缓冲存储器12,的存储舱20清除,如在 状态14中所示。最后,新的媒体块p+l在状态15期间排出到盘14。从高 速缓冲存储器12〗的存储舱20向高速缓冲存储器122的存储舱20传送块和 其后向所述盘排出媒体块的的稳态处理继续,直到完成了所有块的传送。
上面描述了用于有效地管理多个存储器的存储的技术。虽然已经相对 于从多个低级高速缓冲存储器之一向一个最高级高速缓冲存储器传送媒体 块而说明了本原理的存储技术,但是所述技术等同地适用于多个高级高速 缓冲存储器。
权利要求
1.一种用于提高在多个存储装置之间的效率的方法,包括步骤评估向存储装置写入至少一个媒体块的写入请求以确定(i)所述存储装置的当前存储状态;(ii)所述存储装置的存储能力;以及(iii)进行存储的媒体块的至少一个特性;按照对所述写入请求的评估而选择所述多个存储装置之一;并且向所选择的存储装置写入所述至少一个媒体块。
2. 如权利要求1所述的方法,还包括以下步骤从所选择的存储装置向随后的存储装置传送所述至少一个媒体块。
3. 如权利要求2所述的方法,还包括以下步骤在向随后的存储装置传送所述至少一个媒体块后,清除所选择的存储装置。
4. 如权利要求2所述的方法,还包括以下步骤从所述随后的存储装置向盘写入所述至少一个媒体块。
5. 如权利要求4所述的方法,还包括以下歩骤在向所述盘写入所述至少一个媒体块后,从所述随后的存储装置清除所述至少一个媒体块。
6. 如权利要求4所述的方法,还包括以下步骤调整从所述随后的存储装置向所述盘的至少一个媒体块的写入,以使得所述排出不超过由所 述至少一个媒体块的特性确定的速率。
7. 如权利要求6所述的方法,其中,所述媒体块包括至少一个被封装的视频流,其中,调整所述媒体块被排出到所述盘的速率,以使得不超 过所述视频流的实时速率的两倍。
8. 如权利要求4所述的方法,其中,所述至少一个媒体块向所述随后的存储装置的传送和媒体块向所述盘的写入发生在重叠的间隔内。
9. 如权利要求4所述的方法,其中,至少一个媒体块向所述随后的 存储装置的传送和媒体块向所述盘的写入以不同的速率发生。
10. —种设备,包括多个存储装置,用于存储至少一个媒体块;用于评估向存储装置写入至少一个媒体块的写入请求以确定下述内容的装置(i)所述存储装置的当前存储状态;(ii)所述存储装置的存储 能力;以及(iii)进行存储的媒体块的至少一个特性;用于按照对所述写入请求的评估而选择所述多个存储装置之一的装 置;以及用于向所选择的存储装置写入所述至少一个媒体块的装置。
11. 如权利要求IO所述的设备,其中,所述存储装置包括彼此耦接 的第一级高速缓冲存储器。
12. 如权利要求10所述的设备,还包括第二级高速缓冲存储器,其耦接到所选择的存储装置,用于接收所述 至少一个媒体块。
13. 如权利要求12所述的设备,还包括用于存储所述至少一个媒体块的盘;以及通信路径,其将所述第二级高速缓冲存储器耦接到所述盘。
14. 如权利要求13所述的设备,其中,所述通信路径包括因特网小 型计算机系统接口。
15. 如权利要求15所述的设备,还包括用于下述功能的装置调整 从所述第二级高速缓冲存储器向所述盘的至少一个媒体块的写入,以使得 所述排出不超过由所述至少一个媒体块的特性确定的速率。
16. 如权利要求15所述的设备,其中,所述媒体块包括至少一个被 封装的视频流,其中,所述调整装置调整所述媒体块被排出到所述盘的速 率,以使得不超过所述视频流的实时速率的两倍。
全文摘要
通过下述步骤而实现了由多个存储器(12<sub>1</sub>和12<sub>2</sub>)构成的系统内的效率的提高评估每个请求以确定(i)存储装置的当前存储状态;(ii)存储装置的存储能力;以及(iii)进行存储的媒体块的至少一个特性。按照对所述写入请求的评估而进行所述多个存储装置之一的选择。其后,媒体块被写入到所选择的存储装置。
文档编号G06F3/06GK101300542SQ200680041155
公开日2008年11月5日 申请日期2006年11月2日 优先权日2005年11月4日
发明者大卫·亚伦·克洛斯尔 申请人:汤姆逊许可证公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1