CN110431534A - 用于用户体验事件处理和分析的方法和系统 - Google Patents

用于用户体验事件处理和分析的方法和系统 Download PDF

Info

Publication number
CN110431534A
CN110431534A CN201880018679.3A CN201880018679A CN110431534A CN 110431534 A CN110431534 A CN 110431534A CN 201880018679 A CN201880018679 A CN 201880018679A CN 110431534 A CN110431534 A CN 110431534A
Authority
CN
China
Prior art keywords
video
equipment
recorded
storage
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201880018679.3A
Other languages
English (en)
Other versions
CN110431534B (zh
Inventor
L·沙罗妮
I·希洛
M·萨皮尔
A·马尔库
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western Digital Technologies Inc
Original Assignee
Western Digital Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of CN110431534A publication Critical patent/CN110431534A/zh
Application granted granted Critical
Publication of CN110431534B publication Critical patent/CN110431534B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/61Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54
    • H04H60/64Arrangements for services using the result of monitoring, identification or recognition covered by groups H04H60/29-H04H60/54 for providing detail information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • H04H60/81Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself
    • H04H60/82Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself the transmission system being the Internet
    • H04H60/83Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself the transmission system being the Internet accessed over telephonic networks
    • H04H60/85Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself the transmission system being the Internet accessed over telephonic networks which are mobile communication networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了一种用于用户体验事件处理和分析的方法和系统。在一个实施方案中,提供了一种方法,该方法包括:接收所记录的主机设备的显示器的视频和参考视频;将所记录的视频与参考视频进行比较以标识差异,其中所记录的视频和参考视频是基于内容而不是基于时间来同步的;接收指示主机设备的存储设备的活动的数据;将差异与指示存储设备的活动的数据相关;以及生成相关性的分析。其他实施方案是可能的,并且实施方案中的每个实施方案可单独使用或组合在一起使用。

Description

用于用户体验事件处理和分析的方法和系统
背景技术
当今的移动平台(例如,电话、平板电脑或可穿戴设备)是包含许多元件(硬件和软件两者)的复杂系统。一个此类元件是用于数据存储和检索的存储系统(嵌入式或可移除的)。这些平台的存储系统的典型设计过程通常仅认为存储芯片的内部测量是相关的,几乎不考虑可能与存储性能相关或者可能不与存储性能相关的潜在瓶颈的长链的末端处的用户体验(UX)。用户体验例如受在移动设备的图形用户界面(GUI)上在填充以内容之前作为黑色区域看到的时滞强烈地影响。过去,移动平台上的用户体验测量是手动进行的,其中人员观察在移动设备的图形用户界面上显示的测试场景以确定是否存在可视滞后。
附图说明
专利或申请文件包含至少一个以颜色执行的绘图。具有彩色图的本专利或专利申请公布的副本将在请求并支付所需费用后由专利局提供。
图1A是一个实施方案的非易失性存储系统的框图。
图1B是示出一个实施方案的示例性存储模块的框图。
图1C是示出一个实施方案的分级存储系统的框图。
图2A是示出根据一个实施方案的图1A所示的非易失性存储系统的控制器的示例性部件的框图。
图2B是示出根据一个实施方案的图1A所示的非易失性存储器存储系统的示例性部件的框图。
图3是一个实施方案的主机设备和其他部件的图示。
图4是一个实施方案的用户体验处理和分析方法的图示。
图5是一个实施方案的用户体验处理和分析方法的流程图。
图6是示出所检测到的预定义的用户体验事件和指示存储设备在一个时间段内的活动的数据之间的相关性的一个实施方案的图。
图7是一个实施方案的观察器系统的框图。
图8是一个实施方案的移动平台和处理站点的框图。
图9A和图9B是一个实施方案的“应用程序启动”和“应用程序就绪”图像的图示。
图10是在应用程序图标被选择之后一个实施方案的移动设备的图形用户界面的图示。
图11是在应用程序启动之后一个实施方案的移动设备的图形用户界面的图示。
图12是示出应用程序延迟的一个实施方案的图。
图13是一个实施方案的数据库生成器的图形用户界面的图示。
图14是在被用于创建电话图标网格时一个实施方案的数据库生成器的图形用户界面的图示。
图15是一个实施方案的移动设备的屏幕截图。
图16是一个实施方案的照片校正方法的流程图。
图17是用于比较基于内容而不是基于时间同步的两个视频的一个实施方案的方法的流程图。
图18是一个实施方案的观察器的图形用户界面的图示。
图19是示出所生成的图的一个实施方案的观察器的图形用户界面的图示。
图20是用于检测丢帧的一个实施方案的方法的流程图。
图21是示出丢帧的一个实施方案的观察器的图形用户界面的图示。
图22是一个实施方案的待测视频和参考视频的图示。
图23是一个实施方案的待测视频与参考视频的比较的图示。
具体实施方式
概述
通过介绍,下面的实施方案涉及用于用户体验事件处理和分析的方法和系统。在一个实施方案中,提供了一种用于分析用户体验事件的方法。该方法在与主机设备通信的计算设备中执行,其中主机设备包括存储设备。该方法包括接收所记录的主机设备的图形用户界面在一个时间段内的视频;接收指示存储设备在所述时间段内的活动的数据,其中所述数据是与所记录的视频同步的;在所记录的视频中检测预定义的用户体验事件;将所检测到的预定义的用户体验事件与指示存储设备在所述时间段内的活动的数据相关;以及生成相关性的分析。
在一些实施方案中,主机设备的图形用户界面的视频是使用主机设备外部的相机记录的。
在一些实施方案中,主机设备的图形用户界面的视频是使用在主机设备上运行的应用程序记录的。
在一些实施方案中,预定义的用户体验事件是使用图像处理算法和预定义的模板数据库(即,一个或多个预定义的模板)来检测。
在一些实施方案中,所述分析包括报告。
在一些实施方案中,所述分析包括图。
在一些实施方案中,主机设备上的应用程序通过将所述记录何时开始的时间戳写到包含指示存储设备的活动的数据的文件中的日志中来将指示存储设备的活动的数据与所记录的视频同步。
在一些实施方案中,该方法还包括过滤视频以考虑以下中的一者或多者:视频压缩和质量劣化。
在一些实施方案中,预定义的用户体验事件涉及以下中的一者或多者:应用程序启动/应用程序就绪、相册加载、屏幕轻扫,应用程序安装的开始/结束、以及相机连拍照片的开始或结束。
在一些实施方案中,存储设备包括三维存储器。
在另一实施方案中,提供了一种系统,该系统包括:事件检测器,该事件检测器被配置为在所记录的主机设备的图形用户界面在一个时间段内的视频中检测用户体验事件;数据库生成器(即,参考图像生成器),该数据库生成器被配置为创建参考图像数据库(即,一个或多个参考图像)用于供事件检测器使用来在所记录的视频中检测用户体验事件,以及分析器,该分析器被配置为将所检测到的用户体验事件与主机设备中的存储设备在所述时间段内的活动的追踪相关并且生成相关性的分析。
在一些实施方案中,主机设备的图形用户界面的视频是使用主机设备外部的相机记录的。
在一些实施方案中,主机设备的图形用户界面的视频是使用在主机设备上运行的应用程序记录的。
在一些实施方案中,事件检测器使用图像处理算法。
在一些实施方案中,所述分析包括报告。
在一些实施方案中,所述分析包括图。
在一些实施方案中,主机设备上的应用程序通过将记录何时开始的时间戳写到追踪器文件中的日志中来将所述追踪与所记录的视频同步。
在一些实施方案中,事件检测器还被配置为过滤视频以考虑视频压缩和质量劣化中的一者或两者。
在一些实施方案中,用户体验事件涉及以下中的一者或多者:应用程序启动/应用程序就绪、相册加载、屏幕轻扫,应用程序安装的开始/结束、以及相机连拍照片的开始或结束。
在一些实施方案中,存储设备包括三维存储器。
在另一实施方案中,提供了一种系统,该系统包括:用于接收所记录的主机设备的图形用户界面在一个时间段内的视频的装置;用于接收指示主机设备的存储设备在所述时间段内的活动的数据的装置,其中所述数据是与所记录的视频同步的;用于在所记录的视频中检测预定义的用户体验事件的装置;用于将所检测到的预定义的用户体验事件与指示存储设备在所述时间段内的活动的数据相关的装置;以及用于生成相关性的分析的装置。
在一些实施方案中,存储设备包括三维存储器。
在另一实施方案中,提供了一种用于分析用户体验事件的方法。该方法在与主机设备通信的计算设备中执行。该方法包括接收所记录的主机设备的显示器的视频和参考视频;将所记录的主机设备的显示器的视频与所述参考视频进行比较以标识差异,其中所记录的主机设备的显示器的视频和所述参考视频是基于内容而不是基于时间同步的;接收指示主机设备的存储设备的活动的数据;将所述差异与指示存储设备的活动的数据相关;以及生成相关性的分析。
在一些实施方案中,所述差异是丢帧。
在一些实施方案中,所述差异是重复帧。
在一些实施方案中,主机设备的显示器的视频是使用相机记录的。
在一些实施方案中,主机设备的显示器的视频是使用主机设备中的应用程序记录的。
在一些实施方案中,所述分析包括报告和图中的至少一者。
在一些实施方案中,所记录的主机设备的显示器的视频是通过以下方式基于内容而不是基于时间与参考视频同步的:将这两个视频分成帧,对每个帧编号,并且然后将经编号的帧重建成新视频。
在一些实施方案中,该方法还包括过滤主机设备的显示器的视频以考虑以下中的一者或多者:视频压缩和质量劣化。
在一些实施方案中,存储设备包括三维存储器。
在另一实施方案中,提供了一种系统,该系统包括被配置为存储所记录的主机设备的显示器的视频、参考视频和指示主机设备的存储设备的活动的数据的存储设备;以及观察器模块,该观察器被配置为比较所记录的主机设备的显示器的视频和所述参考视频以标识差异,将所述差异与指示存储设备的活动的数据相关,以及生成相关性的分析,其中主机设备的显示器的视频和所述参考视频是基于内容而不是基于时间同步的。
在一些实施方案中,所述差异是丢帧。
在一些实施方案中,所述差异是重复帧。
在一些实施方案中,主机设备的显示器的视频是使用相机记录的。
在一些实施方案中,主机设备的显示器的视频是使用主机设备上的应用程序记录的。
在一些实施方案中,所述分析包括报告和图中的至少一者。
在一些实施方案中,所记录的主机设备的显示器的视频是通过以下方式基于内容而不是基于时间与参考视频同步的:将这两个视频分成帧,对每个帧编号,并且然后将经编号的帧重建成新视频。
在一些实施方案中,该系统还包括图像处理模块,该图像处理模块被配置为过滤第一视频和第二视频中至少一者以考虑以下中的一者或多者:视频压缩和质量劣化。
在一些实施方案中,第一主机设备和第二主机设备中至少一者的存储设备包括三维存储器。
在另一实施方案中,提供了一种系统,该系统包括:用于接收所记录的主机设备的显示器的视频和参考视频的装置;用于将所记录的主机设备的显示器的视频与所述参考视频进行比较以标识差异的装置,其中所记录的主机设备的显示器的视频和所述参考视频是基于内容而不是基于时间同步的;用于接收指示主机设备的存储设备的活动的数据的装置;用于将所述差异与指示存储设备的活动的数据相关的装置;以及用于生成相关性的分析的装置。
在一些实施方案中,存储设备包括三维存储器。
其他实施方案是可能的,并且实施方案中的每个实施方案可单独使用或组合在一起使用。因此,现在将参考附图描述各种实施方案。
示例性实施方案
以下实施方案可以在任何合适类型的数字数据存储系统(在本文中有时称为存储设备)中实现,包括固态(例如,闪存存储器)存储系统以及硬盘驱动器。因此,尽管将使用固态存储系统来例示以下示例,但应当理解,这些实施方案可以使用硬盘驱动器或其他类型的存储系统来实现。因此,除非在本文中明确指出,否则不应将固态存储系统的使用读入到权利要求书中。适用于实现这些实施方案的各方面的固态存储器系统在图1A至图1C中示出。图1A是示出根据本文所述主题的一个实施方案的非易失性存储器系统100的框图。参考图1A,非易失性存储器系统100包括控制器102和可由一个或多个非易失性存储器管芯104构成的非易失性存储器。如本文所述,术语管芯是指在单个半导体基板上形成的非易失性存储器单元的集合,以及用于管理那些非易失性存储器单元的物理操作的相关联的电路。控制器102与主机系统进行交互,并且将用于读取操作、编程操作和擦除操作的命令序列传输到非易失性存储器管芯104。
控制器102(可以是闪存存储器控制器)可采用以下形式:例如,处理电路、微处理器或处理器,以及存储可由(微)处理器执行的计算机可读程序代码的计算机可读介质(例如固件)、逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器和嵌入式微控制器。控制器102可以配置有硬件和/或固件,以执行下面描述并且在流程图中示出的各种功能。另外,示出为控制器内部的一些部件可也存储在控制器外部,并且可以使用其他部件。此外,短语“操作地与...通信”可能意味着直接或间接地(有线或无线)与一个或多个部件通信、通过一个或多个部件通信,其可在本文中示出或未示出。
如本文所用,闪存存储器控制器是管理存储在闪存存储器上的数据并且与主机诸如计算机或电子设备通信的设备。除了这里描述的特定功能外,闪存存储器控制器可以具有各种功能。例如,闪存存储器控制器可以对闪存存储器进行格式化以确保存储器正确操作,标出坏的闪存存储器单元,并且分配备用单元以替代将来的故障单元。备用单元中的部分备用单元可以用来容纳固件以操作闪存存储器控制器并且实现其他特征。在操作中,当主机需要从闪存存储器读取数据或向闪存存储器写入数据时,它将与闪存存储器控制器通信。如果主机提供要读取/写入数据的逻辑地址,则闪存存储器控制器可以将从主机接收的逻辑地址转换为闪存存储器中的物理地址。(另选地,主机可提供物理地址。)闪存存储器控制器可还执行各种存储器管理功能,诸如但不限于损耗均衡(分配写入以避免损耗否则将被重复写入的特定存储器块)和垃圾收集(在块已满之后,仅将有效的数据页面移动到新块,因此可以擦除并且重用完整块)。
非易失性存储器管芯104可以包括任何合适的非易失性存储介质,包括NAND闪存存储器单元和/或NOR闪存存储器单元。存储器单元可以采用固态(例如,闪存)存储器单元的形式,并且可以是一次可编程、几次可编程或多次可编程的。存储器单元也可以是单级单元(SLC)、多级单元(MLC)、三级单元(TLC),或者使用现在已知或之后开发的其他存储器单元级技术。另外,存储器单元可被制造成二维方式或三维方式。
控制器102和非易失性存储器管芯104之间的交互可以是任何合适的闪存交互,诸如切换模式200、400或800。在一个实施方案中,存储器系统100可为基于卡的系统,诸如安全数字(SD)或微型安全数字(micro-SD)卡。在另选的实施方案中,存储器系统100可为嵌入式存储器系统的一部分。
虽然在图1A所示的示例中,非易失性存储器系统100(在本文中有时称为存储模块)包括控制器102和非易失性存储器管芯104之间的单个信道,但是本文描述的主题不限于具有单个存储器信道。例如,在一些NAND存储器系统架构中(诸如图1B和图1C中所示的架构),在控制器和NAND存储器设备之间可以存在2个、4个、8个或更多个NAND信道,取决于控制器能力。在本文描述的任何实施方案中,即使在附图中示出单个信道,控制器和存储器管芯之间也可以存在多于一个单个信道。
图1B示出了包括多个非易失性存储器系统100的存储模块200。因此,存储模块200可以包括存储控制器202,该存储控制器与主机以及包括多个非易失性存储器系统100的存储系统204交互。存储控制器202和非易失性存储器系统100之间的接口可以是总线接口,诸如串行高级技术附件(SATA)或外围设备快速互连(PCIe)接口。在一个实施方案中,存储模块200可以是固态驱动器(SSD),诸如在便携式计算设备诸如膝上型计算机和平板电脑中存在的。
图1C是示出分级存储系统的框图。分级存储系统250包括多个存储控制器202,该多个存储控制器中的每个存储控制器控制相应的存储系统204。主机系统252可经由总线接口访问存储系统内的存储器。在一个实施方案中,总线接口可以是NVMe或以太网光纤信道(FCoE)接口。在一个实施方案中,图1C所示的系统可以是机架可安装的大容量存储系统,该机架可安装的大容量存储系统能够由多个主机计算机访问,诸如在数据中心中或在需要大容量存储的其他位置中可以找到。
图2A是更详细地示出控制器102的示例性部件的框图。控制器102包括与主机进行交互的前端模块108、与一个或多个非易失性存储器管芯104进行交互的后端模块110、以及执行现在将详细描述的功能的各种其他模块。模块可以采用以下形式:例如,设计用于与其他部件一起使用的封装功能硬件单元、能够由通常执行相关功能的特定功能的(微)处理器或处理电路执行的程序代码的一部分(例如,软件或固件),或者与更大系统进行交互的独立硬件或软件部件。
再次参考控制器102的模块,缓冲区管理器/总线控制器114管理随机存取存储器(RAM)116中的缓冲区,并且控制控制器102的内部总线仲裁。只读存储器(ROM)118存储系统引导代码。虽然图2A所示为与控制器102分开定位,但在其他实施方案中,RAM 116和ROM118中的一者或两者可以定位在控制器内。在又其他实施方案中,RAM和ROM的部分可以定位在控制器102内和控制器外部。
前端模块108包括提供与主机或下一级存储控制器的电接口的主机接口120和物理层接口(PHY)122。可取决于所使用的存储器的类型来选择主机接口120的类型。主机接口120的示例包括但不限于SATA、SATA Express、SAS、光纤信道、USB、PCIe和NVMe。主机接口120通常有利于数据、控制信号和定时信号的传输。
后端模块110包括错误校正控制器(ECC)引擎124,该ECC引擎对从主机接收的数据字节进行编码,并且对从非易失性存储器读取的数据字节进行解码和错误校正。命令定序器126生成命令序列,诸如编程命令序列和擦除命令序列,以传输到非易失性存储器管芯104。RAID(独立驱动器冗余阵列)模块128管理RAID奇偶校验的生成和失败数据的恢复。RAID奇偶校验可用作写入到存储器设备104中的数据的附加级的完整性保护。在一些情况下,RAID模块128可以是ECC引擎124的一部分。存储器接口130向非易失性存储器管芯104提供命令序列,并且从非易失性存储器管芯104接收状态信息。在一个实施方案中,存储器接口130可以是双倍数据速率(DDR)接口,诸如切换模式200、400或800接口。闪存控制层132控制后端模块110的总体操作。
图2A所示的系统100的附加部件包括追踪器111,其将在下文中更详细地讨论。一般来讲,系统100的模块(包括追踪器111)可由被形成作为存储器控制器102(其可为专用集成电路或ASIC)的一部分的专用硬件来实现,通过存储器控制器102中的软件或固件来实现,或者通过硬件和软件的组合来实现。
存储器系统100还包括其他分立部件140,诸如外部电接口、外部RAM、电阻器、电容器或可与控制器102进行交互的其他部件。在另选实施方案中,物理层接口122、RAID模块128、媒体管理层138和缓冲区管理/总线控制器114的一者或多者是控制器102中不需要的任选的部件。
图2B是更详细地示出非易失性存储器管芯104的示例性部件的框图。非易失性存储器管芯104包括外围电路141和非易失性存储器阵列142。非易失性存储器阵列142包括用于存储数据的非易失性存储器单元。非易失性存储器单元可以是任何合适的非易失性存储器单元,包括采用二维配置和/或三维配置的NAND闪存存储器单元和/或NOR闪存存储器单元。外围电路141包括提供状态信息到控制器102的状态机152。非易失性存储器管芯104还包括缓存数据的数据高速缓存156。
如上所述,存储系统100可为主机设备的一部分。例如,如图3所示,存储系统100可嵌入在或可移除地连接到主机设备,诸如移动设备300。如本文所用,移动设备可以是指能由普通用户携带的具有处理器的设备。移动设备300可采取任何合适的形式,诸如但不限于智能电话、平板电脑、“平板手机”、图书阅读器、或数字媒体播放器。如图3所示,在该实施方案中,移动设备300包括处理器302、存储器304和显示设备306(例如,触敏显示器)。处理器302可执行计算机可读程序代码(例如,被存储在移动设备300的存储器304中或被存储在存储系统100中)来为移动设备300提供各种功能。例如,处理器302可执行计算机可读程序代码来为用户提供“应用程序”。
在一个实施方案中,移动设备300可包含无线接口和/或有线接口(未示出),以将移动设备300置于与另一设备通信。例如,图3示出了经由网络(例如,因特网或互联网)或硬线连接325与计算设备350(例如,PC或服务器)通信的移动设备300。在该实施方案中,计算设备350包括处理器352和存储器354,并且与显示设备356通信以显示来自处理器352的图形输出。处理器352可执行计算机可读程序代码(例如,被存储在计算设备350的存储器354中或被存储在其他地方)来为计算设备350提供各种功能。例如,计算机设备350中的硬件和/或软件可用于用户体验处理和分析。
如上所讨论,当今的移动平台(例如,电话、平板电脑或可穿戴设备)是包含许多元件(硬件和软件两者)的复杂系统。一个此类元件是用于数据存储和检索的存储系统(嵌入式或可移除的)。这些平台的存储系统的典型设计过程通常仅认为存储芯片的内部测量是相关的,几乎不考虑可能与存储性能相关或者可能不与存储性能相关的潜在瓶颈的长链的末端处的用户体验(UX)。用户体验例如受在移动设备的图形用户界面(GUI)上在填充以内容之前作为黑色区域看到的时滞强烈地影响。
理想的是,此类时滞不应发生,并且如果确实发生,则可对它们进行分析,以便确定延迟是归因于存储设备还是归因于主机应用程序。过去,在移动平台上进行的用户体验测量是以原始方式执行的:用例的输入是手动进行的,并且基于眼睛估计。这些方法不准确、不一致并且主观。在许多情况下,无法生成相同的准确测试场景,和/或观察测试场景的不同人可能看到不同的结果。以下实施方案提供一种工具,该工具可测量存储系统100对用户体验的影响,这可帮助更好地将移动平台理解为存储系统100的生态系统并且可允许更好的存储系统设计。这个工具在本文中有时将被称为“观察器”、“观察器工具”或“观察器系统”。
通常,观察器系统可用于将存储系统行为与移动设备300的用户体验事件相关。在一个实施方案中,观察器系统被配置为使用计算机视觉和图像处理算法自动分析显示在移动设备300的显示器306上的图形用户界面,以便检测某些用户界面事件、将那些事件与存储系统100中的读取/写入活动的追踪同步、通过检查存储系统追踪来将用户界面事件与存储系统性能相关、以及提供那个相关性的分析(例如,与存储系统追踪叠加和同步的各种用户界面事件的报告或图)。这个分析以相同前置条件在相同平台上比较不同存储系统(例如,具有不同参数的相同设备、来自不同供应商的相同设备类型、以及不同设备)对于存储系统研究人员、系统工程师和技术市场专业人员可以是有用的。
在一个实施方案中,观察器系统是基于MATLAB的工具,其可通过应用图像处理算法分析用户体验事件来将存储行为和移动平台用户体验事件相关,并且通过检查系统追踪将那些事件与存储性能相关。在操作中,该工具可获取视频和存储追踪的集合作为输入,并输出若干图用于分析以及在用户体验事件和系统追踪之间相关。该工具还可执行单个视频的独立分析以查找特定用户体验事件。在一个具体实施中,该工具包含用于分析两个视频的专用视频播放器、用于生成将移动设备的用户界面和该存储系统的行为相关的存储和用户体验事件图的机构、以及用于使得能够分析这些关系的不同控件。当然,其他具体实施也是可能的。
再次转到附图,图4和图5是一个实施方案的用户体验处理和分析方法的图示和流程图500。在该示例中,移动设备300采取平板电脑的形式,并且流程图500中的方法由计算设备350执行。如这些附图所示,移动设备300的图形用户界面显示输出,该输出可以是使用自动应用程序执行算法执行的一个或多个测试事件(使用场景)的输出,该算法模拟人类用户选择不同的屏幕输入。计算设备350接收所记录的移动/主机设备300的图形用户界面在一个时间段内的视频(动作510)。在这个示例中,使用外部相机400(例如,高速相机(-200帧/秒))来标识显示在移动设备300的显示设备上的短延迟事件。然而,在其他实施方案中,移动设备300的图形用户界面的视频是使用在移动设备300上运行的应用程序记录的。
所接收的视频可被存储在快速存取存储装置中,在计算设备350的内部(例如,存储器354)或外部。另外,任选地,计算设备350可过滤视频以考虑视频压缩、质量劣化和/或其他现象。计算设备350还接收指示存储设备100在所述时间段内的活动的数据(动作520)。存储设备活动可采取例如输入/输出操作的形式,诸如但不限于(随机或顺序)读取、(随机或顺序)写入、擦除、移动、修整和丢弃。存储设备100的活动可呈现为追踪(或追踪文件),其可以是输入/输出操作及其特征(参数)的日志。输入/输出操作特征(参数)也可采用任何合适的形式,包括但不限于引发和完成的时间戳、外围数据(例如,功率状态和聚合队列深度)、存储器空间中的地址、以及命令的大小。所述活动也可以与例如CPU利用、RAM使用、和内核/操作系统事件相关。
在一个实施方案中,指示存储设备100在所述时间段内的活动的数据是与所记录的视频同步的。这可例如通过使启动自动化的移动设备300上的程序在追踪器文件的日志文件中写入指示自动显示开始时间的条目(例如,时间戳和/或评论)来完成。自动化程序也可发送信号以启动所显示输出的相机或应用程序记录。
接着,计算设备350在所记录的视频中检测预定义的用户体验事件(动作530)。这在图4中被称为“离线视频处理和分析”(离线意指其是基于所记录的视频,而不是在移动设备100上实时的)。如下文将更详细地讨论的,预定义的用户体验事件可使用图像处理算法和预定义的模板数据库来检测。如下文也将更详细地讨论的,预定义的用户体验事件可涉及以下中的一者或多者:应用程序启动/应用程序就绪、相册加载、屏幕轻扫,应用程序安装的开始/结束、以及相机连拍照片的开始或结束。
计算设备350然后将所检测到的预定义的用户体验事件与指示存储设备100在所述时间段内的活动的数据相关(动作540)。在用户体验事件的记录和存储设备活动同步的情况下,这个步骤可涉及查看在给定用户体验事件发生时发生什么存储设备活动。
最后,计算设备350生成相关性的分析(动作550)。在一个实施方案中,所述分析包括报告或图。图6是示出所检测到的预定义的用户体验事件和指示存储设备100在所述时间段内的活动的数据之间的相关性的一个实施方案的图。
如上所述,上文所讨论的用户体验处理和分析方法可在移动设备100外部的计算设备350中实施。可使用任何合适的具体实施,并且图7和图8提供此类具体实施的示例。应当指出的是,这些仅仅是示例,并且这些示例的细节不应被读入到权利要求书中。而且,可使用其他具体实施。
首先转到图7,图7示出可利用图3的计算设备350实现的一个实施方案的观察器系统700。如图7所示,这个实施方案的观察器系统700包括计算机视觉和图像处理模块710,其自身包括事件检测模块712、观察器分析模块714和其他模块716。在这个实施方案中,观察器系统700还包括观察器存储装置720和观察器显示器730。
一般来讲,观察器系统700被配置为接收经由外部相机或由主机执行的提供主机所记录的屏幕的视频文件的内部应用程序所记录的主机显示器GUI。此外,观察器系统700被配置为接收存储设备追踪,其可包括用于与所记录的GUI同步的标记事件。观察器系统700被配置为对被存储在观察器存储装置720中的所接收的视频文件使用计算机视觉和图像处理模块710来检测用户体验事件。观察器系统700还被配置为将所检测到的用户体验事件与存储追踪同步并在显示器730上提供报告和图。
在一个实施方案中,观察器系统700在检测用户体验事件的过程中使用事件检测模块712、观察器分析模块714、和数据库生成器。例如,在一个实施方案中,事件检测模块(或事件检测器)712被配置为在所记录的主机设备的图形用户界面在一个时间段内的视频(例如,单屏幕记录的视频)中检测用户体验事件。如本文所讨论,事件检测器712可使用数据库生成器来为事件检测器712创建参考图像数据库。
事件检测器712可使用图像处理算法,并且还可过滤视频以考虑视频压缩、质量劣化和/或其他现象。数据库生成器被配置为创建参考图像数据库用于供事件检测器712使用来在所记录的视频中检测用户体验事件,并且事件检测器712被配置为将所检测到的用户体验事件与主机设备中存储设备在所述时间段内的活动的追踪相关并且生成相关性的分析。
图8示出另一具体实施,其中移动平台800(例如,移动设备300)与处理站点810(例如,计算设备350)通信。如图8所示,移动平台800包括自动化应用程序模块820、屏幕记录器830、和存储追踪器840。处理站点810包括图像处理模块850、计算机视觉模块860、同步模块870和分析模块880。
在操作中,在这个实施方案中,移动平台800获取用例脚本作为输入,以自动化模块820将其自动化,并且记录存储活动(利用存储追踪器740)以及呈现在屏幕上的任何内容(GUI)(利用屏幕记录器830(因此,这个实施方案不使用外部相机))两者。观察器系统在这个实施方案中被实现在处理站点800中,并且被配置为从移动平台800接收视频文件。以图像处理模块850使用计算机视觉系统860的预定义的模板数据库来处理视频文件。图像处理模块850还可过滤视频以考虑视频压缩、质量劣化和/或其他现象。预定义的用户体验事件(例如,应用程序启动/就绪时间、相册加载、轻扫、相机连拍、应用程序安装等)被标识并与存储追踪同步(使用同步模块870),并且相关数据被输入给分析模块880,该分析模块将预定义的存储模式与所测试的存储追踪进行比较并输出结果(例如,报告或图)。
本段落和以下段落提供各种可被处理和分析的用户体验事件的示例。例如,在一个实施方案中,观察器系统被用于检测应用程序被启动(“应用程序启动”)和其准备好被使用(“应用程序就绪”)之间的时滞。在这个实施方案中,事件检测模块712(图7)(或更一般性地,计算机设备350中的处理器352(图3))可分析图形用户界面显示器的记录以检测指示应用程序何时被启动以及应用程序何时准备好被使用的视觉线索。例如,事件检测模块712可使用关于在移动设备的主屏幕上显示的应用程序图标的网格的信息(例如,图标的数量和电话启动器网格上所述图标的位置)、每个图标在被选择以启动应用程序时将看起来像什么的列表(动画应用程序启动器可被用于检测用户应用程序启动按钮按压)、以及每个应用程序的“应用程序就绪”图像(在应用程序在启动完成之后准备好被使用时将显示的图像)的列表,具有所述图像的屏幕位置。在一个实施方案中,这个信息是XML文件的一部分,并且每个移动设备平台可具有其自己的XML文件(实用工具可被用于创建XML文件和图像)。
图9A至13提供这个示例的图示。图9A是Facebook应用程序图标在用户按压该图标以在移动设备300上启动Facebook应用程序时将会呈现的图像。(Facebook仅仅是一个示例,并且其他或不同的应用程序可与这些实施方案一起使用。)这个图标是正常呈现的图标的“加阴影”(例如,“变灰”)版本,并且图标的“加阴影”性质表示该图标被按压(并且应用程序正在启动)。图9B是在Facebook应用程序已被启动并准备好被使用之后会在移动设备300的图形用户界面上呈现的内容的预定义的图像。这个图像显示在Facebook准备好被使用时会显示的内容的顶部和底部“锚点”。
如图10所示,事件检测模块712(使用上文所讨论的预定义的XML)标识所记录的移动设备300的显示器上图形用户界面的视频中的电话图标网格布局。事件检测模块712(例如,使用变化状态机)查找这些图标中任何变化成该图标的加阴影版本的图标,如在XML文件中预定义的。这可以通过对单个视频执行算法检测在其XML定义中定义的应用程序启动事件来完成。此处,当Facebook图标变化成加阴影版本时(例如,在移动设备300中的动画启动器应用程序(例如,Nova)导致图标被选择之后),事件检测模块712标识Facebook图标中的变化;具体而言,它看起来像XML文件中预定义的加阴影版本。事件检测模块712然后针对指示应用程序已准备好被使用的应用程序就绪事件图像(在该示例中是图9B中的“锚点”图像)搜索图形用户界面。这可以使用预定义的图像模板列表来完成。图像的列表可以作为输入给事件检测模块712的XML文件来提供(可以有实用程序可帮助创建这个XML文件,这会有助于支持新平台和应用程序)。如图11所示,当移动设备300的图形用户界面显示图9B的应用程序就绪图像时,事件检测模块712推断应用程序准备好被使用。事件检测模块712然后可计算在图9A和图9B中两个图像的显示之间的时间,并且然后显示应用程序启动事件(和其他应用程序启动事件)相对于启动应用程序的延迟(例如,在将应用程序启动事件的列表生成到原始数据文本文件中之后)的图(参见图12)。事件检测模块712还可将所述延迟与移动设备300中存储设备100的活动相关,并且生成相关性的分析,如上所讨论。在一个实施方案中,事件检测模块712输出“.app”文件,该文件是其中具有用户体验事件的经修改的存储追踪文件。这个“.app文件”可以使用单独的工具被显示为图形。
如上所讨论,事件检测模块712使用预定义的模板数据库来针对应用程序启动和应用程序就绪图像搜索所记录的视频图像,以确定启动应用程序的延迟。应当指出的是,不同的预定义的模板数据库可被用于在所记录的视频图像中搜索其他预定义的用户体验事件,这允许事件检测模块712与多个其他用例一起使用。在提供这些其他用例中的一些的示例之前,以下段落将讨论数据库生成器,该数据库生成器可被用于为事件检测模块712创建参考图像数据库。
通常,数据库生成器是可在计算设备350或某些其他设备上运行以创建事件检测模块712将在来自移动设备300的显示器306的单个记录的图像中查找的一组图像的软件。例如,在以上用例中,数据库生成器可被用于创建可由事件检测模块712的图像处理分析检测以检测应用程序启动事件的一组应用程序图标/应用程序就绪图像。数据库生成器的输出可以是被用作事件检测模块712的数据库的一组XML文本文件。
数据库生成器可提供图形用户界面(GUI)(参见图13)以供用户在创建数据库中使用。在操作中,用户可选择平台类型(例如,电话或平板电脑)并将参考视频加载到数据库生成器中以用于分析。如图13所示,用于数据库生成器的GUI具有用于参考视频的播放器控件、前一帧预览区域、当前帧区域、下一帧预览区域、以及用于输入各种数据诸如机器名、加载路径的各种区域、和网格创建按钮。使用这个GUI,用户可浏览参考视频并标识事件检测模块712后续在分析所记录的待测试移动设备300的视频时将查找的各种图像(预定义的用户体验事件)。
例如,图14是数据库生成器GUI在被用于创建前面段落中所讨论的电话图标网格时的图示。使用这个GUI,用户将播放参考影片,直到到达主电话屏幕启动器。然后,用户将选择“创建网格”按钮,并且然后使用鼠标指针点击每个图标的中间点。最后,在这个示例中,应该有20个点,每个图标中间一个点。用户然后可使用数据库生成器GUI来选择用于标识的应用程序图像。例如,用户可选择要检测的第一应用程序的图标。然后,数据库生成器将查找这个图标变化并将其连接到应用程序启动。用户可播放该影片直到到达该应用程序的就绪图像。当用户选择该就绪图像时,用户可点击新模板按钮以添加应用程序就绪图像,在此之后,用户可选择该就绪图像,使得应用程序检测器可在应用程序就绪时进行检测。
如上所述,在一个实施方案中,数据库生成器的输出可以是被用作事件检测模块712的数据库的一组XML文本文件(当然,可以生成其他输出)。在操作中,用户可点击数据库生成器GUI上的“导出XML”按钮以生成将被应用程序检测器用于分析所记录的待测试移动设备的视频的XML数据库。
应当指出的是,虽然以上示例使用事件检测模块712分析单个屏幕/移动设备300的所记录的视频中的预定义的用户体验事件以确定应用程序启动和应用程序就绪图像之间的延迟,但事件检测模块712可通过改变事件检测模块712正查找的预定义的用户体验事件而被用于其他用例。例如,在另一实施方案中,事件检测模块712被用于确定在移动设备300上加载相册要用多久(即,总图像加载时间和/或被加载的帧的数量)。为了加载相册,移动设备300会点击图标网格屏幕上的照片图标。因此,数据库生成器可被用于查找特定于照片应用程序的“照片图标点击”和应用程序就绪图像,就像以上示例中那样。但是,在本示例中,数据库生成器也可被用于添加两个更多阶段给数据库:起始相册和结束相册。起始相册图像可以是相册中最早一张(第一张)照片。由于相册中的最后一张照片可能是未知的或可随时间推移而改变,因此结束相册指示器可以是在自动化导致在所有照片已被加载之后命中后退按钮之后显示的图像(应用程序就绪屏幕)。如果存在多于一页的照片,则事件检测模块712可检测滚动/轻扫到最后一页。在这种情况下,事件检测模块712可积累自轻扫结束起直到一页图像被完全加载或直到新的交换开始的时间。
如图15所示,在一个实施方案中,网格线可围绕图像放置以协助事件检测模块712注意轻扫并跟踪轻扫开始/完成。另外,在一个实施方案中,所记录的待测试移动设备300的视频被加载以预定义的数量的照片(例如,4GB,其为约600个图像),清除其照片应用程序高速缓存,并进入预加载的图像数据库相册。待测移动设备300中的自动脚本可在屏幕轻扫之间等待预定量的时间。
为了进一步协助分析,事件检测模块712可执行照片的图像处理。图16是可被用于协助该过程的一个实施方案的图像处理方法的方法的流程图1600。在一个实施方案中,该算法由图7中的计算机视觉和图像处理模块710运行。如图16所示,事件检测模块712可执行待分析视频的边缘检测(1610)、权重生成(1620)、和卷积(1630)。这个处理的输出是照片的网格位置,其与视频一起被定位模块(1640)处理。在色彩空间映射(1650)之后,提供标准(1660)和直方图(1670)输出。
如上所述,以上对事件检测模块712可检测的内容的描述仅为示例,并且可使用其他用例。例如,事件检测模块712可被用于检测相机连拍照片的开始或结束(例如,检测快照按钮上的点击)或应用程序安装的开始/结束(例如,使用状态栏图标作为指示)。如从本文所提供的许多示例中应当清楚地看出的,各种用例可与这些实施方案一起使用,并且具体的用例(无论是否在本文中描述)不应被读入权利要求书中。
另外,虽然以上实施方案被描述成检测用户体验事件并将其与存储设备追踪相关,但观察器系统可包含附加或另选功能。例如,再次参考图7,观察器系统700可附加地或另选地包括观察器分析模块(或观察器)714。在这个实施方案中,观察器714是用于从两个(或更多个)移动设备的屏幕记录的视频的基于用户体验的比较工具。这里,这两个视频是基于内容而不是基于时间同步的,使得观察器714可检测丢帧和/或重复帧,将其与移动设备的存储设备的使用活动/追踪相关,并输出分析(例如,报告和/或图)。在一个实施方案中,观察器714可包含专用视频播放器用于加载和比较两个视频(参考视频和测试视频),同步视频和存储设备追踪,检测丢帧和/或重复帧,生成丢帧和/或重复帧和存储设备追踪的相关性的分析,生成四视图视频(例如,两个视频来自帧同步,并且两个视频用于时间同步),以及输出存储设备和用户体验事件(例如,丢帧/或重复帧)之间的关系的分析。
应当指出的是,比较两个视频并且检测丢帧/重复帧并且将其与存储设备追踪相关的这个实施方案可单独使用或与以上检测用户体验事件并将其与存储设备追踪相关的实施方案结合使用。另外,所述系统的各种特征可单独使用或组合使用。另外,当两个实施方案的部分或全部一起使用时,系统可被配置为基于例如测量、算法或启发而手动地或(半)自动地在操作模式之间切换。此外,这个工具可被用于分析系统中其他元件(例如,DRAM、图形处理单元(GPU)等)的影响。
图17是可由观察器714实现以比较相同用例的两个视频的一个实施方案的方法的流程图1700。在一个具体实施中,这个算法不需要任何先前信息,并且所述比较将生成这两个视频之间的超前-滞后映射。如图17所示,在所述实施方案中,在两个移动平台上记录自动相同用例(动作1710)。在一个实施方案中,这两个移动平台相同并且被类似地设置(例如,相同的图标、墙纸、时间、网络连接、状态栏图标、版本号等)。接着,这两个移动平台生成相应的视频和存储追踪(动作1720)。如以上实施方案那样,来自所述移动设备中一者或两者的视频可使用移动设备外部的相机进行记录,或者可由在移动设备中运行的应用程序捕获。
观察器714然后加载这两个视频(动作1730)并生成这两个文件的比较(动作1740)。任选地,观察器714可过滤一个或两个视频以考虑视频压缩、质量劣化和/或其他现象。如上所述,在这个实施方案中,被比较的两个视频是基于内容而不是基于时间进行同步的。为此,观察器714可将这两个视频分成帧,对每个帧编号,并且然后将经编号的帧重建为新视频。观察器714可将视频中的一者(测试视频)分成帧,并且在原始编号的视频的帧和待测视频的帧之间进行比较。
图18是示出所述比较的一个实施方案的观察器714的GUI的图示。如图18所示,GUI正在经由专用视频播放器显示两个视频(例如,配置不同(一个是参考,一个是待测试)的两个相同移动设备的视频)。观察器714允许并排回放以匹配内容,而不考虑回放时间。因此,两个回放窗口将显示相同事件发生。这样,用户可说出这两个视频之间的时间差/帧号,这如下文所讨论可有助于检测丢帧和/或重复帧。观察器714还加载这两个追踪文件(动作1750)并将存储追踪同步到视频(动作1760)。最后,观察器714生成并分析视频比较报告或图(动作1770)。这些图中一些的示例在图19中示出。
如上所述,观察器714可被用于检测待测试视频中相对于原始视频或参考视频的丢帧。一个实施方案使用派生图和缺失帧定时来表示缺失帧。一般来讲,这个实施方案中由观察器714执行的丢帧算法根据图像中的大变化将影片分成场景。然后,算法在两个阶段:大搜索阶段和小搜索阶段中在待测视频中搜索原始影片的每个帧。在大搜索阶段,根据所呈现的图像,算法搜索给定帧的场景最高概率与什么相关。在小搜索阶段,根据帧顶部的数字,算法在特定场景内搜索特定帧号。在这个扫描方法中,算法将所考虑的帧号与特定场景中的所有帧号进行比较。如果算法没有找到该数字,则该帧是丢帧。
图20是观察器714在一个实施方案中可实施的方法的流程图2000。如图20所示,第一步骤是以观察器714对影片中的帧进行编号(动作2010)。接着,经编号的影片被复制到移动设备300(例如,移动电话)(动作2020)。然后,经编号的影片的回放被记录(例如,利用外部相机或移动设备300上的记录应用程序)(动作2030)。然后,所记录的视频被复制到计算设备350(动作2040)。然后,文件被加载到观察器714中:首先是原始编号图像,然后是来自移动设备300的视频(动作2050)。然后,观察器714运行比较测试检查丢帧(动作2060)并且分析视频并生成比较图(动作2070)。图21是观察器714的GUI的图示,示出两个影片的比较和所得的丢帧分析图。
也如上所述,观察器714可被用于检测待测试视频中相对于原始视频或参考视频的重复帧。如图22所示,由于移动设备中的特定设置和特征,在移动设备上回放的视频可相对于参考视频具有重复帧。例如,在图22所示的视频中,在参考视频中有三个帧用于应用程序启动阶段,而在待测试视频中有五个帧用于那个阶段。因此,基于所述比较,在待测试视频中相对于参考视频有三个重复帧。
可以任何合适的方式进行所述比较。例如,图23示出两种不同的视频比较方法。在左侧的方法中,这两个视频在视频之间的相等片段上同步。在这个示例中,这个比较显示存在150帧的帧差,这在使用30Hz帧速率时为约五秒。相比之下,右侧的比较使视频以其原始节奏运行。因此,右边双视频无论内容如何都从起始播放到结束(顶部的帧号是相同的),而左边双视频是使用上述算法显示,因此可以看到内容中的相关性(顶部的帧号不同)。
概括地说,观察器714可展现通过内容而不是时间同步两个视频的双视频播放器。假设两个视频展现相同场景,则观察器714可将帧的显示相关,使得无论时间差如何,两个视频都将显示相同的事件。观察器714可生成具有交互图的文件(每个视频一个),该交互图具有连接到视频播放器的指示器并且在图上显示对应的时间点(在播放器上看到的帧与图上的指示器同时发生)。
最后,如上所述,可以使用任何合适类型的存储器。半导体存储器设备包括易失性存储器设备,诸如动态随机存取存储器(“DRAM”)或静态随机存取存储器(“SRAM”)设备,非易失性存储器设备,诸如电阻式随机存取存储器(“ReRAM”)、电可擦除可编程只读存储器(“EEPROM”)、闪存存储器(也可以被认为是EEPROM的子集)、铁电随机存取存储器(“FRAM”)和磁阻随机存取存储器(“MRAM”),以及能够存储信息的其他半导体元件。每种类型的存储器设备可具有不同的配置。例如,闪存存储器设备可以NAND配置或NOR配置进行配置。
该存储器设备可由无源元件和/或有源元件以任何组合形成。以非限制性示例的方式,无源半导体存储器元件包括ReRAM设备元件,该无源半导体存储器元件在一些实施方案中包括电阻率切换存储元件诸如反熔丝、相变材料等,以及任选地包括导引元件诸如二极管等。进一步以非限制性示例的方式,有源半导体存储器元件包括EEPROM和闪存存储器设备元件,该有源半导体存储器元件在一些实施方案中包括具有电荷存储区域的元件,诸如浮栅、导电纳米粒子或电荷存储介电材料。
多个存储器元件可被配置为使得它们串联连接或者使得每个元件可被单独访问。以非限制性示例的方式,NAND配置中的闪存存储器设备(NAND存储器)通常包含串联连接的存储器元件。NAND存储器阵列可被配置为使得该阵列由存储器的多个串构成,其中串由共享单个位线并作为组被访问的多个存储器元件构成。另选地,可配置存储器元件,使得每个元件可被单独访问,例如NOR存储器阵列。NAND和NOR存储器配置是示例性的,并且存储器元件可以其他方式配置。
定位在基板内和/或上方的半导体存储器元件可被布置成两个或三个维度,诸如二维存储器结构或三维存储器结构。
在二维存储器结构中,半导体存储器元件被布置在单个平面或单个存储器设备级中。通常,在二维存储器结构中,存储器元件被布置在平面中(例如,在x-z方向平面中),该平面基本上平行于支撑存储器元件的基板的主表面延伸。基板可以是存储器元件的层在其之上或之中形成的晶圆,或者其可以是在存储器元件形成后附接到其的承载基板。作为非限制性示例,基板可包括半导体,诸如硅。
存储器元件可被布置在处于有序阵列中(诸如在多个行和/或列中)的单个存储器设备级中。然而,存储器元件可以非常规配置或非正交配置排列。存储器元件可各自具有两个或更多个电极或接触线,诸如位线和字线。
三维存储器阵列被布置成使得存储器元件占据多个平面或多个存储器设备级,从而形成三个维度(即,在x方向、y方向和z方向上,其中y方向基本上垂直于基板的主表面,并且x方向和z方向基本上平行于基板的主表面)的结构。
作为非限制性示例,三维存储器结构可被垂直地布置为多个二维存储器设备级的堆叠。作为另一个非限制性示例,三维存储器阵列可被布置为多个垂直列(例如,基本上垂直于基板的主表面延伸的列,即,在y方向上),其中在每一列中每一列均具有多个存储器元件。列可以二维配置例如在x-z平面中布置,从而得到存储器元件的三维布置,其中元件位于多个垂直堆叠的存储器平面上。三维存储器元件的其他配置也可构成三维存储器阵列。
以非限制性示例的方式,在三维NAND存储器阵列中,存储器元件可耦接在一起以在单个水平(例如,x-z)存储器设备级内形成NAND串。另选地,存储器元件可耦接在一起以形成横贯多个水平存储器设备级的垂直NAND串。可设想到其他三维配置,其中一些NAND串包含在单个存储器级中的存储器元件,而其他串则包含跨越多个存储器级的存储器元件。三维存储器阵列也可以NOR配置以及ReRAM配置来设计。
通常,在单片三维存储器阵列中,一个或多个存储器设备级在单个基板上方形成。任选地,单片三维存储器阵列还可具有至少部分地在单个基板内的一个或多个存储器层。作为非限制性示例,基板可包括半导体,诸如硅。在单片三维阵列中,构成阵列的每个存储器设备级的层通常形成在阵列的底层存储器设备级的层上。然而,单片三维存储器阵列的相邻存储器设备级的层可被共享或具有在存储器设备级之间的居间层。
然后,可单独形成二维阵列,并且然后封装在一起以形成具有多个存储器层的非单片存储器设备。例如,非单片的堆叠存储器可通过在单独的基板上形成存储器级并且然后将存储器级堆叠在彼此之上而构造。可在堆叠前将基板减薄或从存储器设备级移除,但由于存储器设备级在单独的基板上初始形成,因此所得的存储器阵列不是单片的三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片)可在单独的芯片上形成,并且然后封装在一起以形成堆叠的芯片存储器设备。
通常需要相关联的电路来操作存储器元件并与存储器元件通信。作为非限制性示例,存储器设备可具有用于控制并驱动存储器元件以实现诸如编程和读取的功能的电路。该相关联的电路可与存储器元件位于同一基板上和/或位于单独的基板上。例如,用于存储器读取-写入操作的控制器可定位在单独的控制器芯片上和/或定位在与存储器元件相同的基板上。
本领域的技术人员将认识到,本发明不限于所述的二维和三维示例性结构,但涵盖如本文所述的并且如本领域的技术人员所理解的本发明的实质和范围内的所有相关存储器结构。
预期将前面的详细描述理解为本发明可以采用的选定形式的说明,而不是作为本发明的定义。预期只有以下权利要求(包括所有等同物)限定要求保护的本发明的范围。最后,应当指出的是,本文所述的任何优选实施方案的任何方面均可单独使用或彼此组合使用。

Claims (20)

1.一种用于分析用户体验事件的方法,所述方法包括:
在与主机设备通信的计算设备中执行以下操作:
接收所记录的所述主机设备的显示器的视频和参考视频;
将所记录的视频与所述参考视频进行比较以标识差异,其中所记录的视频和所述参考视频是基于内容而不是基于时间同步的;
接收指示所述主机设备的存储设备的活动的数据;
将所述差异与指示所述存储设备的活动的所述数据相关;以及
生成相关性的分析。
2.根据权利要求1所述的方法,其中所述差异是丢帧。
3.根据权利要求1所述的方法,其中所述差异是重复帧。
4.根据权利要求1所述的方法,其中所述主机设备的所述显示器的所述视频是使用相机记录的。
5.根据权利要求1所述的方法,其中所述主机设备的所述显示器的所述视频是使用所述主机设备中的应用程序记录的。
6.根据权利要求1所述的方法,其中所述分析包括报告和图中的至少一者。
7.根据权利要求1所述的方法,其中所记录的视频是通过以下方式基于内容而不是基于时间与所述参考视频同步的:将所述两个视频分成帧,对每个帧编号,并且然后将经编号的帧重建成新视频。
8.根据权利要求1所述的方法,所述方法还包括过滤所记录的视频以考虑以下中的一者或多者:视频压缩和质量劣化。
9.根据权利要求1所述的方法,其中所述存储设备包括三维存储器。
10.一种系统,所述系统包括:
存储设备,所述存储设备被配置为存储所记录的主机设备的显示器的视频、参考视频和指示所述主机设备的存储设备的活动的数据;和
观察器模块,所述观察器模块被配置为:
比较所记录的视频和所述参考视频以标识差异;
将所述差异与指示所述存储设备的活动的所述数据相关;并且
生成相关性的分析,其中所记录的视频和所述参考视频是基于内容而不是基于时间同步的。
11.根据权利要求10所述的系统,其中所述差异是丢帧。
12.根据权利要求10所述的系统,其中所述差异是重复帧。
13.根据权利要求10所述的系统,其中所述主机设备的所述显示器的所述视频是使用相机记录的。
14.根据权利要求10所述的系统,其中所述主机设备的所述显示器的所述视频是使用所述主机设备上的应用程序记录的。
15.根据权利要求10所述的系统,其中所述分析包括报告和图中的至少一者。
16.根据权利要求10所述的系统,其中所记录的视频是通过以下方式基于内容而不是基于时间与所述参考视频同步的:将所记录的视频和所述参考视频分成帧,对每个帧编号,并且然后将经编号的帧重建成新视频。
17.根据权利要求10所述的系统,所述系统还包括图像处理模块,所述图像处理模块被配置为过滤所记录的视频和所述参考视频中的至少一者以考虑以下中的一者或多者:视频压缩和质量劣化。
18.根据权利要求10所述的系统,其中所述存储设备包括三维存储器。
19.一种系统,所述系统包括:
用于接收所记录的主机设备的显示器的视频和参考视频的装置;
用于将所记录的视频与所述参考视频进行比较以标识差异的装置,其中所记录的视频和所述参考视频是基于内容而不是基于时间来同步的;
用于接收指示所述主机设备的存储设备的活动的数据的装置;
用于将所述差异与指示所述存储设备的活动的所述数据相关的装置;和
用于生成相关性的分析的装置。
20.根据权利要求19所述的系统,其中所述存储设备包括三维存储器。
CN201880018679.3A 2017-06-13 2018-02-23 用于用户体验事件处理和分析的方法和系统 Active CN110431534B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/621,476 2017-06-13
US15/621,476 US10154429B1 (en) 2017-06-13 2017-06-13 Method and system for user experience event processing and analysis
PCT/US2018/019525 WO2018231289A1 (en) 2017-06-13 2018-02-23 Method and system for user experience event processing and analysis

Publications (2)

Publication Number Publication Date
CN110431534A true CN110431534A (zh) 2019-11-08
CN110431534B CN110431534B (zh) 2023-06-20

Family

ID=61656350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880018679.3A Active CN110431534B (zh) 2017-06-13 2018-02-23 用于用户体验事件处理和分析的方法和系统

Country Status (4)

Country Link
US (1) US10154429B1 (zh)
CN (1) CN110431534B (zh)
DE (1) DE112018000884T5 (zh)
WO (1) WO2018231289A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486934A (zh) * 2020-08-21 2021-03-12 海信视像科技股份有限公司 一种文件同步方法及显示设备

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109348276B (zh) * 2018-11-08 2019-12-17 北京微播视界科技有限公司 视频画面调整方法、装置、计算机设备和存储介质
US11461212B2 (en) 2019-02-12 2022-10-04 Lakeside Software, Llc Apparatus and method for determining the underlying cause of user experience degradation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020144277A1 (en) * 2001-03-30 2002-10-03 Friedman David R. Method for field-programming a solid-state memory device with a digital media file
US20050091311A1 (en) * 2003-07-29 2005-04-28 Lund Christopher D. Method and apparatus for distributing multimedia to remote clients
US20070237227A1 (en) * 2006-04-05 2007-10-11 Kai-Chieh Yang Temporal quality metric for video coding
CN105325009A (zh) * 2013-07-23 2016-02-10 英特尔公司 用于流式传输视频质量分析的改进技术
US9294710B2 (en) * 2008-02-29 2016-03-22 Lg Electronic Inc. Image comparison device using personal video recorder and method using the same

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079037B2 (en) 2005-10-11 2011-12-13 Knoa Software, Inc. Generic, multi-instance method and GUI detection system for tracking and monitoring computer applications
US8655623B2 (en) 2007-02-13 2014-02-18 International Business Machines Corporation Diagnostic system and method
WO2009143152A1 (en) 2008-05-19 2009-11-26 Citrix Systems, Inc. Systems and methods for automatically testing an application
AU2011340789B2 (en) 2010-12-08 2014-03-27 Remasys Pty Ltd End-user performance monitoring for mobile applications
US9448908B2 (en) 2012-09-10 2016-09-20 Applitools Ltd. System and method for model based session management
US9152872B2 (en) 2012-11-12 2015-10-06 Accenture Global Services Limited User experience analysis system to analyze events in a computer desktop
WO2014166523A1 (en) 2013-04-09 2014-10-16 Nokia Solutions And Networks Oy Method and apparatus for generating insight into the customer experience of web based applications
US10552290B2 (en) 2014-05-15 2020-02-04 Micro Focus Llc Measuring user interface responsiveness
US10609164B2 (en) 2015-10-16 2020-03-31 International Business Machines Corporation System and method for diagnosing an unfavorable mobile application user experience

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020144277A1 (en) * 2001-03-30 2002-10-03 Friedman David R. Method for field-programming a solid-state memory device with a digital media file
US20050091311A1 (en) * 2003-07-29 2005-04-28 Lund Christopher D. Method and apparatus for distributing multimedia to remote clients
US20070237227A1 (en) * 2006-04-05 2007-10-11 Kai-Chieh Yang Temporal quality metric for video coding
US9294710B2 (en) * 2008-02-29 2016-03-22 Lg Electronic Inc. Image comparison device using personal video recorder and method using the same
CN105325009A (zh) * 2013-07-23 2016-02-10 英特尔公司 用于流式传输视频质量分析的改进技术

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486934A (zh) * 2020-08-21 2021-03-12 海信视像科技股份有限公司 一种文件同步方法及显示设备
CN112486934B (zh) * 2020-08-21 2023-06-09 海信视像科技股份有限公司 一种文件同步方法及显示设备

Also Published As

Publication number Publication date
US10154429B1 (en) 2018-12-11
DE112018000884T5 (de) 2019-10-24
CN110431534B (zh) 2023-06-20
WO2018231289A1 (en) 2018-12-20
US20180359652A1 (en) 2018-12-13

Similar Documents

Publication Publication Date Title
US10503526B2 (en) Method and system for user experience event processing and analysis
CN109791520B (zh) 物理介质感知的空间耦合的日志记录和重放
TWI645404B (zh) 資料儲存裝置以及非揮發式記憶體操作方法
US9946469B2 (en) Solid state storage system with latency management mechanism and method of operation thereof
TW200839773A (en) Wear-leveling management and file distribution management of hybrid density memory
CN106716544A (zh) 基于统计的裸芯性能被延迟直到封装之后的非易失性存储器测试
CN110431534A (zh) 用于用户体验事件处理和分析的方法和系统
CN107799150A (zh) 3d nand闪存的错误缓解
US20150269018A1 (en) Fault Testing in Storage Devices
CN110188306A (zh) 一种网页表单自动填写的方法及装置
CN105469834B (zh) 嵌入式闪存的测试方法
CN106255953A (zh) 持久性数据存储体中的前向参考记录的方法和系统
CN107799142A (zh) 存储设备及其操作方法
CN109427406A (zh) 用于3-d nand存储器的具有自适应阈值的读取干扰检测和恢复
CN104700896B (zh) 存储器系统和包括所述存储器系统的用户装置
CN109417584A (zh) 基于图像文件参数来建议供删除的图像文件
CN107810533A (zh) 使用位线缺陷信息解码数据
CN107924700A (zh) 自适应多阶段擦除
US11409441B2 (en) Operation method of a storage controller configured to control a nonvolatile memory device
CN109558066B (zh) 存储系统中恢复元数据的方法和装置
CN107967118A (zh) 一种实现硬盘数据快速转储和查看的方法及设备
CN107562766B (zh) 一种数据文件写入方法、装置及系统
CN109582527A (zh) 存储服务器及其固态硬盘寿命监控方法
CN103955678A (zh) 一种图像的识别方法和装置
CN108062965A (zh) 半导体存储装置、控制器及其操作方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant