用于测试存储设备性能的方法和对应设备与流程

文档序号:11207170阅读:919来源:国知局
用于测试存储设备性能的方法和对应设备与流程

本公开总体上涉及存储设备的性能测试领域。



背景技术:

许多音频/视频消费者设备提出了数字视频记录(dvr)和个人视频记录(pvr)功能。dvr/pvr功能允许用户记录、回放和暂停广播的音频/视频流。在电视机、机顶盒(stb)、移动设备和个人计算机上提出了dvr/pvr功能。出于经济和占用空间的原因,这些设备通常不被供应有能够使用dvr/pvr功能所需的存储设备。由消费者提供外部存储装置并将其连接到音频/视频设备的数据通信端口。通常商业化的存储设备的示例是通用串行总线(usb)硬盘驱动器(hdd)和记忆棒。存储设备具有各种价格和不同的质量。个人计算机(pc)通常具有足够的内部硬盘空间用于提供dvr/pvr功能。然而,dvr/pvr读写操作的性能可能由于同时由pc执行的其他任务而下降,所述其他任务也利用内部存储设备,并且不在音频/视频应用的控制下。

如果用于dvr/pvr功能的存储设备的性能不足,则dvr/pvr功能将受到不利影响,导致诸如宏块和音频/视频毛刺之类的可见和可听见的伪像。消费者可能错误地断定音频/视频设备有缺陷,导致帮助台和售后服务的相当大的工作量。

因此,需要对存储设备的性能测试。



技术实现要素:

本公开旨在减轻在背景技术部分中讨论的缺陷中的至少一些。

为此,本发明原理包括一种用于评估连接到主机设备的存储设备的性能的方法。该方法由主机设备实现。该方法包括:对存储设备执行读写测试,并通过根据读写测试的结果测量存储设备的读写传输比特率来获得存储设备的性能简档,性能简档指示存储设备所具有的性能能力足以用作用于存储和取回具有与性能简档相对应的视频分辨率的视频数据的设备。

根据用于评估连接到主机设备的存储设备的性能的方法的另一实施例,读写测试是对存储设备中的存储器段的二进制读写操作。

根据用于评估连接到主机设备的存储设备的性能的方法的另一实施例,在执行读写测试之前将存储器段的内容保存在主机设备中,并且在执行了读写测试之后将所保存的内容恢复到存储设备。

根据用于评估连接到主机设备的存储设备的性能的方法的另一实施例,获得性能简档还包括:获得支持的同时读写操作的最大数量。

根据用于评估连接到主机设备的存储设备的性能的方法的另一实施例,视频分辨率是标准清晰度视频分辨率、高清晰度视频分辨率或超高清晰度视频分辨率之一。

根据用于评估连接到主机设备的存储设备的性能的方法的另一实施例,性能简档还指示从支持的同时读写操作的最大数量获得的个人视频记录类型等级,所述个人视频记录类型等级是以下项之一:

记录或时移等级;

记录和时移等级。

根据用于评估连接到主机设备的存储设备的性能的方法的另一实施例,性能简档被保存在主机设备中。

根据用于评估连接到主机设备的存储设备的性能的方法的另一实施例,性能简档被保存在网络存储区域中。

本发明原理还涉及一种用于评估连接到主机设备的存储设备的性能的主机设备。该主机设备包括处理器和存储器,其被配置为:对存储设备执行读写测试,并且通过根据二进制读写测试的结果测量存储设备的读写传输比特率来获得存储设备的性能简档,性能简档指示存储设备所具有的性能能力足以用作用于存储和取回具有与性能简档相对应的视频分辨率的视频数据的设备。

根据主机设备的另一实施例,处理器和存储器还被配置为:以对存储设备中的存储器段的二进制读写操作的方式,执行读写测试。

根据主机设备的另一实施例,处理器和存储器还被配置为:在执行读写测试之前将存储器段的内容保存在主机设备中,并且在执行了读写测试之后将所保存的内容恢复到存储设备。

根据主机设备的另一实施例,处理器和存储器还被配置为:获得支持的同时读写操作的最大数量,以获得性能简档。

根据主机设备的另一实施例,处理器和存储器还被配置为:将性能简档保存在主机设备中。

根据主机设备的另一实施例,处理器和存储器还被配置为:将性能简档保存在网络存储区域中。

本发明原理还涉及一种用于在计算机可读介质上进行存储的计算机程序,该计算机程序包括以下指令,所述指令用于由处理器执行根据前述实施例的用于评估连接到主机设备的存储设备的性能的方法以及根据该方法的另外实施例中的任何一个的方法。

附图说明

通过对特定的、非限制性的实施例的描述,将清楚本公开的更多优点。为了描述可获得本公开的优点的方式,通过参考附图中所示出的特定实施例来呈现对本发明原理的具体描述。附图描绘了本公开的示例性实施例,因此不应被认为限制其范围。所描述的实施例可进行组合,以形成具有特定优点的实施例。以下附图中,与在先的附图中已经描述的项目具有相同附图标记的项目将不会被再次描述,以避免不必要地使本公开变得不清楚。将参考以下附图描述示例性实施例:

图1示出了实现音频/视频接收器的dvr/pvr功能的示例性环境。

图2是图1所示的机顶盒的示例性实施例的示意图。

图3进一步示出了通过二进制读写测试来评估存储设备的性能的本发明原理。

图4是根据本发明原理的特定实施例的流程图。

具体实施方式

图1示出了实现音频/视频接收器11的dvr/pvr功能的示例性环境。如本领域所公知的,音频/视频接收器设备11是用于从卫星14接收音频/视频流的机顶盒(stb)。从卫星14和接收天线15接收音频/视频流。stb11将音频/视频信号发送到数字电视13以用于再现。存储设备12连接到stb11。通过遥控器(rc)10操作stb11。

如背景技术部分中简要讨论的,音频/视频接收器11包括用于连接存储设备12的数据通信端口(未示出)。虽然音频/视频接收器11包括dvr/pvr功能,但它需要存储设备12的存在来向消费者提出dvr/pvr功能。存储设备通常不与音频/视频接收器11一起提供,而是由消费者提供。消费者具有存储设备类型、型号和品牌的广泛选择。例如,消费者可以提供usb记忆棒。usb记忆棒符合各种标准(例如,usb1.0、2.0或3.0)并且具有各种质量。已经发现,虽然usb记忆棒电气上符合给定的标准,但是最大数据传输速率有时比根据其应该符合的标准所预期的低。与usb记忆棒不同,针对sd卡类型的存储设备限定了速度等级。然而,即使在用户手册中指出对于dvr/pvr操作的良好性能,sd卡应以等于或高于给定值的速度等级来使用,也不能保证消费者遵守这一点。

因此,在开始将其用于dvr/pvr功能之前评估存储设备的性能是有用的,以避免dvr/pvr功能的故障。

图2是图1所示的机顶盒的示例性实施例的示意图。stb11包括:非易失性存储器(nvm)110、随机存取存储器(ram)111、图形和音频控制器112、遥控电路114、调谐器115、中央处理单元(cpu)116、音频/视频解码器(a/vdec)118以及例如根据通用串行总线(usb)、高清晰度多媒体接口(hdmi)、以太网、wifi、蓝牙或串行ata(sata)(仅举几例)的外围接口117。所有这些组件借助于内部数据和通信总线113互连。遥控电路114被配置为从遥控器10接收遥控命令。调谐器115被配置为从卫星天线15接收音频/视频流。外围接口117被配置为连接到存储设备12。图形控制器112被配置为连接到用于再现音频/视频的显示器13。stb存储器包括nvm110和ram111。nvm110包括例如可由cpu116执行并且包括用于实现设备11的功能的程序的计算机可读程序指令集。例如,该程序指令集包括固件、中间件和应用程序。nvm110还可以包括用于操作stb11的参数和变量,例如频道列表、用户偏好以及用于程序指令的内部参数和变量。ram111用于临时存储程序指令、变量和参数。图形和音频卡112被配置为驱动音频/视频再现设备13。音频/视频解码器118被配置为解码音频/视频流。

在stb11的操作期间,用户选择使用遥控器10调谐到的音频/视频频道。对应的指令被发送到cpu116,cpu116从nvm110取回频道列表,从频道列表提取相关联的调谐参数,并指示调谐器115调谐到由所提取的调谐参数指示的频率。然后,调谐器115接收在给定频率上广播的音频/视频流,并将接收的音频/视频流传送到音频/视频解码器118。音频/视频解码器118将经解码的音频/视频传送到图形/音频控制器112,其将音频/视频输出到再现设备13。当用户按下遥控器10上的暂停按钮以暂停所接收的广播频道时,stb11将从调谐器115接收的音频/视频流存储在存储设备12上。当用户随后重新开始播放时,stb11将所存储的音频/视频流传送到音频/视频解码器118,并且在再现设备13上再现经解码的音频/视频。在该时间期间,stb11继续将从调谐器115接收的音频/视频广播流存储在存储设备12上。在该配置中,存储设备12用作时移操作的缓冲存储器。因此可以看出,时移需要在存储设备12上同时进行读写操作。如果时移特征正确地起作用,则存储设备12的读写性能应当足以支持所得到的高数据通信速率和读写操作的频繁交替。

图3进一步示出了通过二进制读写测试来评估存储设备的性能的本发明原理。元素30是用于提供dvr/pvr功能的存储设备的存储器段。元素32是硬盘驱动器的硬盘。元素33是记忆棒。元素31是具有目录、子目录和文件的文件系统,其例如由设备32和33存储。作为存储设备的备选实现示出了元素32和33。未示出的其他实施例可以用于本发明原理的目的,诸如sd卡或任何种类的固态存储器,诸如固态盘(ssd)。典型的硬盘32是在同心轨道321和扇区322中的组织。典型的记忆棒是非易失性ram存储器331的存在。虚线指示存储器段30被存储在设备32和33上的位置:在硬盘32上的扇区322中,以及在记忆棒33上的存储器芯片331中。可以通过主机设备(例如,图1或图2的stb11)来测试存储设备32和33的读写性能。为此目的,针对长度n(例如,0x1000)从存储设备(例如,从存储设备32或33)上的起始地址x(例如,如所示的0x2ffo)读取二进制存储器段30,并且经由主机设备11保存到除了存储设备之外的可用于主机设备11的存储空间(例如,到nvm110、到网络存储空间或到云存储空间)。“二进制存储器段”在这里意味着存储器段不使用设备32或33的文件系统组织来读取,而是直接在驱动器级作为原始数据来读取。可以根据各种参数来确定起始地址x和段长度n。在读写测试正在进行时拔出存储设备可能导致存储设备上的数据被损坏。数据损坏可能或多或少严重。优选地,选择起始地址x和长度n,使得存储器段不落入文件分配表(fat)、主引导记录(mbr)或guid分区表(gpt)区段内,这是因为如果存储在主机设备上的数据段的原始内容不在存储设备上恢复,则由于存储设备的拔出而中断的该区段中正在进行的读写测试会导致完全的数据丢失。进一步讨论的不同实施例提出用于在正在进行的读写测试被中断的情况下数据恢复的解决方案。许多存储设备还在存储设备的存储空间的末端保持fat/mbr/gpt的备份副本。优选地,因此避免主fat/mbr/gtp区段和备份fat/mbr/gtp区段用于执行二进制读写测试。例如,如果存储设备的大小为m,则可以安全地用作起始地址m/2-n/2,其中n是起始于m/2的段的长度,并且被选为m的一部分,例如m的1/5、1/10或1/20,以便停留在fat/mbr/gpt区段之外。段的长度对性能评估的持续时间具有影响,尤其是因为性能评估包括将读写测试段复制到主机设备(=备份),并且在读写测试结束时将在主机上保存的所复制的读写测试段从主机重新写入到存储设备(=恢复),如将进一步讨论的。除了上面限定的有助于排除在fat/mbr/gpt区段中执行读写测试的规则之外,由备份和恢复操作引起的延迟因此可以被考虑以限定段的长度。优选地,选择段的长度,使得可以在短时间内(例如,在15、30、60或120秒内)完成性能评估,以避免妨碍插入存储设备的用户,因为他/她正在观看他/她想要记录或者他/她想要暂停的电视节目。

当连接存储设备时,设备驱动器将物理名称归属到存储设备,例如/dev/sda,或者如果设备具有两个分区,则是/dev/sda1和/dev/sda2。二进制读(和写)操作可以直接从(到)安装在主机设备上的这些分区完成。例如,当存储器段起始地址x对应于一个文件中的某处并且存储器段结束地址对应于存储在存储设备上的另一文件中的某处时,二进制段可以跨越若干文件。

然后,由主机设备对存储设备32或33中与二进制段30相对应的存储器段执行存储设备32或33的读写操作性能测试。为此目的,执行二进制读写测试。在此上下文中的“二进制”意味着读写操作在低抽象级别上被执行;例如,在驱动器级。当完成读写性能测试时,从可用于主机设备的存储空间(除存储设备之外)取回(备份)用于性能测试的存储设备上的存储器段的副本,并且通过对存储设备上在其原始位置处的存储器段的二进制写操作而将副本恢复到存储设备。这样,存储设备的存储器内容恢复到其原始状态,即,在执行二进制读写测试之前其所具有的状态。通过一组二进制读写操作并评估完成这些操作所需的时间来测试二进制读写性能。该组可以包括一、二、十、一百或一千或更多个读写操作。

根据不同的实施例,二进制读写测试包括确定读写比特率。例如,确定最小、最大或平均比特率。例如,为了确定平均比特率,限定了完成重复读写测试的延迟。当延迟到期时,累计完成的读写测试迭代的次数。然后,读写的数据量和完成的迭代次数允许确定平均读写比特率。例如,为了确定最大读写比特率,限定了完成重复读写测试的延迟。然后,当延迟到期时,通过将完成的读-写测试的每次迭代中读写的数据量除以完成迭代所需的时间,将所有完成的迭代的结果进行比较并且选择最高的读写比特率,来获得最大读写比特率。例如,为了确定最小读写比特率,将所有完成的迭代的结果进行比较,并选择最低的比特率。除了确定平均比特率之外,确定最小和最大比特率有利于确定存储设备的精确简档(profile)。例如,当存储设备具有足以提供dvr/pvr功能的平均比特率时,最小比特率低于最小阈值比特率,在这种情况下,最小比特率而不是平均比特率是用于确定存储设备的性能简档的良好指标。对性能简档进一步处理。例如,虽然平均和最小读写比特率足以支持dvr/pvr功能,但是最小和最大读写比特率之间的差异可能超过容差,在这种情况下,存储设备可被认为对于提供dvr/pvr功能太不可靠。

根据可有利地与先前实施例组合的不同实施例,二进制读写测试包括确定同时读写操作的最大数量。

如上所述,根据二进制读写测试的结果建立性能简档。性能简档指示存储设备适合于哪种用途。例如,性能简档通过在最大支持的视频分辨率等级中的分级来指示存储设备适合于(具有足够的性能能力)存储和回放标准清晰度(sd)、高清晰度(hd)或超高清晰度(uhd)类型的内容,或者换句话说,性能简档指示存储设备所具有的性能能力足以用作用于存储和取回具有与性能简档相对应的视频分辨率的视频数据的设备。性能简档还可以指示存储设备适合于存储和回放具有特定编码标准的一个或多个视频简档(例如,诸如针对mpeg2或h.264编码视频定义的高简档、主简档、基线简档)的内容。性能简档还可以指示存储设备适合于存储和回放例如与一个或多个标准相关联的一个或多个视频分辨率。例如,性能简档可以指示存储设备适合于存储和回放sd编码视频;sd和hd编码视频;mpeg2sd编码视频;h.264hd编码视频;mpeg2sd和h.264hd编码视频;mpeg2hd高简档和h.264uhd主简档编码视频。

性能简档还可以通过多记录等级中的分级来指示存储设备适合于同时记录多个音频/视频流。多个音频/视频流的同时记录可以例如允许同时记录来自若干tv频道的流,或者例如记录一个tv频道同时对另一个tv频道进行时移。例如,性能简档通过时移等级中的分级来指示存储设备适合于出于时移目的而同时记录音频/视频流并回放所记录的音频/视频流,而在单个记录等级中的分级指示存储设备适合于不包括时移的非同时单个记录和单次回放。例如,性能简档通过uhd等级中的分级来指示存储设备适合于uhd记录和回放,同时它适合于hd时移,并且因此适合于sd时移,但是排除uhd时移。例如,性能简档可以指示存储设备适合于uhd时移,并且因此适合于hd和sd时移。根据特定实施例,可以根据之前提及的平均、最小和/或最大比特率的阈值来操作分级。下面的表给出了基于平均读写比特率阈值的性能简档的简单和直接的示例。它例如不考虑先前讨论的最小和最大读写比特率的测量,也不考虑例如根据最大支持的视频分辨率等级的支持的区别。

音频/视频流的比特率可以根据编码类型、场景和编码质量而变化。例如,足球比赛的可变比特率mpeg-2编码的sd流的最高比特率可以接近其可变比特率hevc编码的hd流的最高比特率。根据不同的实施例,根据主机音频/视频接收器设备要接收的流的比特率,例如根据对于下标信道中的流可以预期的最高比特率,来确定阈值。

根据本发明原理的读写测试的二进制操作的优点是,二进制读写测试独立于存储设备上使用的文件系统类型、分区或格式化,这使得能够评估未格式化的存储设备或包括主机不支持的文件系统的存储设备或包括加密文件的存储设备的性能简档。因此,有利地,根据本发明原理的性能剖析允许确定在读写操作速率方面存储设备是否适合于与主机设备一起使用以实现dvr/pvr特征。例如,仅支持linux文件系统“ext”的主机设备可以对根据苹果公司的hfs文件系统格式化的存储设备执行性能剖析评估。然后,如果性能测试的结果是满意的,则主机可以通知用户性能测试成功,存储设备可以用作用于提供dvr/pvr功能的存储设备,并且可以询问用户他/她是否同意用与主机使用的文件系统兼容的文件系统重新格式化存储设备。例如,只有在性能评估的结果是存储设备适合于与主机设备一起用于dvr/pvr用途时才提出重新格式化。

根据不同的实施例,性能简档被存储在主机设备上。根据不同的实施例,性能简档与存储设备的标识相关或与例如包括存储设备的型号和品牌在内的存储设备的类型相关。根据不同的实施例,该关系被存储在主机设备上。然后,当存储设备被移除并且被相同类型或相同型号和品牌的另一设备替换时,可以从所存储的性能简档中确定针对该设备已经存在所存储的性能简档,并且不需要再次执行性能测试。多个性能简档可以被存储在例如数据库的表中。根据不同的实施例,性能简档被存储在存储设备上。根据不同的实施例,性能简档被存储在主机设备连接到的网络中的存储空间中。然后,如果存储设备连接到主机设备,则主机设备询问网络以确定针对该型号和品牌的存储设备是否存在性能简档。如果是,则不需要重新测试存储设备,并且存储在网络中的性能测试的结果可以由主机设备取回。有利地,主机设备因此使用用于存储存储设备的性能简档的网络存储空间来共享公共知识库,使得性能简档一旦由多个主机设备中的任一个建立则可以由多个主机设备中的任一个在稍后取回,从而避免针对相同型号和品牌的存储设备完成多次性能评估。

根据不同的实施例,提供了当二进制读写测试正在进行时防止拔出存储设备的保护,因为这可能导致存储设备上的数据损坏,如上面已经讨论的。为此,当在二进制读写测试期间拔出存储设备时,主机设备检测到拔出并且生成可听见和/或可见的消息以促使用户重新插入存储设备,从而避免存储设备上的数据损坏。根据不同的实施例,当存储设备被重新插入时,检验用于读写测试的段处于与它在拔出之前相同的状态。如果处于相同的状态,则读写测试可以继续;如果不是,则已经在其间使用存储设备,或者替代地已经插入了不同的存储设备。读写测试被中止,并且经由主机设备保存(备份)的数据不被恢复到存储设备的段,以避免覆写存储设备上的数据。

图4是根据由主机设备(例如,图2的设备11)实现的根据本发明原理的方法的特定实施例的流程图。步骤400是初始化步骤,其中对在执行步骤期间使用的变量进行初始化。在步骤401中,从存储器起始地址开始从存储设备读取存储器段,或者换句话说,经由主机设备将存储器段复制、保存、备份或缓存在:即,例如,主机设备自身的存储器中(例如,非易失性存储器中)、或附接到主机设备的网络存储器中或经由网络连接可用于主机设备的云存储器中。存储设备例如是图2所描绘的存储设备12。在步骤402中,对存储设备中的存储器段执行一个或多个二进制读写测试。在步骤403中,根据在步骤402中执行的二进制读写测试的结果确定针对存储设备的性能简档。为了建立性能简档,二进制读写测试步骤402可以被迭代,例如用于执行允许确定平均、最小或最大读写比特率或允许确定同时可执行的读写操作的最大数量的二进制读写测试的迭代。然后,在步骤404中,在步骤403中确定了性能简档之后,经由主机设备缓存的存储器段被重新写入或恢复到主机设备、到存储器起始地址,从而将存储设备恢复到其原始状态;即,在执行二进制读写测试之前其所具有的状态。所述方法结束于步骤405。存储设备现在可以用于dvr/pvr功能,只要性能剖析的结果是存储设备能够实现这些功能,如果性能简档不足以提供dvr/pvr功能,则存储设备仅用于数据存储(例如,用于文件下载),或者存储设备被拔出并重新用于其他目的。可以向用户示出指示针对存储设备评估的性能简档的消息。如果性能简档例如足以使存储设备用于dvr/pvr功能,则该消息可以询问用户存在于存储设备上的任何数据是否可以被覆写,或者可以为用户提供拔出存储设备,备份存在于存储设备上的数据,以及重新插入存储设备的机会。

如本领域技术人员所理解的,附图中的一些元素可以不在所有实施例中使用或是必需的。一些操作可以并行执行。与所示出和/或描述的实施例不同的实施例也是可能的。例如,虽然在图1-2中存储设备直接连接到主机设备,但是本领域技术人员将理解,存储设备还可以是例如连接到局域网的网络存储设备,而不偏离本发明原理。例如,本领域技术人员将容易理解,在图1-2中被描绘为在主机设备11外部的存储设备12还可以在主机设备内部,而不脱离本发明原理。同样地,在图1-2中被描绘为机顶盒的主机设备可以是不必从卫星接收音频/视频流而从电缆、经由互联网、4g或任何其他类型的数据传输介质接收音频/视频流的另一类型的设备,诸如接入网关、数字电视或智能电话。

本领域技术人员将理解的是,本发明原理的方案可被实现为系统、方法或用于存储在计算机可读介质上的计算机程序指令。因此,本发明原理的方案可采用完全硬件实施例的形式、完全软件实施例(包括固件、常驻软件、微代码等)的形式或组合了软硬件方案的实施例的形式,它们可一般地在此定义为“电路”、“模块”或“系统”。此外,本发明原理的方案可以采用计算机可读存储介质的形式。可以利用一个或多个计算机可读存储介质的任意组合。

因此,例如,本领域技术人员将理解的是,本文中所呈现的示图表示实现本公开的原理的说明性系统组件和/或电路的概念图。类似地,将理解的是,任意流图、流程图、状态转变图、伪码等表示可在计算机可读存储介质中充分表示并由计算机或处理器如此执行的各种处理,而不管是否明确地示出了这种计算机或处理器。

计算机可读存储介质可以采用计算机可读程序产品的形式,所述计算机可读程序产品体现在一个或多个计算机可读介质中,并且其中体现有可由计算机执行的计算机可读程序代码。如本文中使用的计算机可读存储介质被认为是非暂时性存储介质,其具有用来在其中存储信息的内在能力以及从中获取信息的内在能力。计算机可读存储介质可以是例如但不限于:电、磁、光、电磁、红外或半导体系统、装置或设备或前述系统、装置或设备的任意合适组合。应当认识到,尽管提供了可应用本发明原理的计算机可读存储介质的更具体示例,但如本领域普通技术人员更容易理解的,以下项仅是说明性的而非穷尽地列出:硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、便携式压缩盘只读存储器(cd-rom)、光存储设备、磁存储设备或前述项的任意合适组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1