CN100371876C - 多媒体文件的输入/输出控制方法和设备 - Google Patents

多媒体文件的输入/输出控制方法和设备 Download PDF

Info

Publication number
CN100371876C
CN100371876C CNB2006100033068A CN200610003306A CN100371876C CN 100371876 C CN100371876 C CN 100371876C CN B2006100033068 A CNB2006100033068 A CN B2006100033068A CN 200610003306 A CN200610003306 A CN 200610003306A CN 100371876 C CN100371876 C CN 100371876C
Authority
CN
China
Prior art keywords
input
output commands
output
data
dish
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.)
Expired - Fee Related
Application number
CNB2006100033068A
Other languages
English (en)
Other versions
CN1815432A (zh
Inventor
沈俊锡
博卓夫·萨格依
柳在敏
元裕集
张亨圭
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1815432A publication Critical patent/CN1815432A/zh
Application granted granted Critical
Publication of CN100371876C publication Critical patent/CN100371876C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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/3409Recording 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 for performance assessment
    • 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/3409Recording 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 for performance assessment
    • G06F11/3433Recording 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 for performance assessment for load management
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供一种输入/输出子系统中的数据输入/输出控制方法和设备。用于根据从盘驱动器提供的输入/输出命令来将数据输入到盘扇区/从盘扇区输出数据的系统中的该数据输入/输出控制方法包括:(a)从盘驱动器提取用于将数据输入到盘扇区/从盘扇区输出数据的输入/输出命令,并且产生一组输入/输出命令;(b)基于该组输入/输出命令来分析输入/输出命令的负载特征;(c)确定输入/输出命令的负载与多媒体应用程序是否对应;和(d)根据确定结果来控制输入到盘/从盘输出的数据,以与多媒体应用程序对应。

Description

多媒体文件的输入/输出控制方法和设备
技术领域
本发明涉及一种输入/输出子系统中的数据输入/输出控制方法和设备,更具体地讲,涉及这样一种方法和设备,其用于分析应用程序的输入/输出命令的负载特征,确定输入/输出命令的负载与多媒体应用程序是否对应,并且根据确定结果控制传送到盘的数据输入/输出命令,以与多媒体应用程序对应。
背景技术
在过去的30年中,从大型机到膝上型计算机,盘已经执行了存储数据的重要功能。过去,主要关注的是盘的数据存储容量。但是,由于近年来盘的数据存储容量已经充分地增加,所以盘的智能已经变为焦点,以允许盘执行输入/输出子系统的功能。
图1是一般的输入/输出子系统的功能方框图。该输入/输出子系统包括应用层110、文件系统层120、盘驱动器层130和盘140。
操作系统从作为操作系统的上层的应用层110接收由用户输入的文件名称,并且从整个目录检索该文件名称,该整个目录由操作系统管理。在操作系统中,使用称为文件描述符的文件标识信息来识别输入文件。
盘的存储空间包括诸如轨道和扇区的空间部分,并且文件系统层120执行将空间部分组织为逻辑块的线性阵列的功能。在一般的文件系统层中,每个文件与数据结构连接,该数据结构被称为信息节点(inode)并具有文件相关信息,诸如在其中存储有数据的逻辑块的位置、最后更新时间和存取模式。文件系统层120从文件描述符检索与作为输入/输出操作的目标连接的信息节点,从该信息节点取出文件相关信息,并且执行输入/输出操作,其中,文件描述符从操作系统被接收。
盘驱动器层130将盘140连接到操作系统。被输出作为输入/输出操作的结果的逻辑块号被传送到盘驱动器层130。由于盘140不识别逻辑块号,所以盘驱动器层130将逻辑块号转换为物理空间信息,诸如柱面、轨道和扇区,并且将该物理空间信息传送到盘140。盘140使用该物理空间信息来执行输入/输出操作。
不管作为输入/输出命令的目标的文件是文本文件还是多媒体文件,一般的输入/输出子系统根据从盘驱动器层130接收的输入/输出命令,来将数据输入到盘140/从盘140输出数据。
与通用计算机不同,具有诸如信息处理、传输和存储的计算机功能的信息电子装置具有输入/输出命令的专用负载,输入/输出命令例如是记录或回放诸如视频文件和音乐文件的多媒体数据。
因此,需要这样一种输入/输出子系统中的数据输入/输出控制方法和设备,其确定输入/输出命令的负载与多媒体应用程序是否对应,并且根据确定结果控制传送到盘的数据输入/输出命令,以与多媒体应用程序的最佳模式对应。
发明内容
本发明提供一种方法,该方法用于确定输入/输出命令的负载与多媒体应用程序是否对应,并且根据确定结果控制传送到盘的数据输入/输出命令,以与多媒体应用程序的最佳模式对应。
本发明还提供一种设备,该设备用于确定输入/输出命令的负载与多媒体应用程序是否对应,并且根据确定结果控制传送到盘的数据输入/输出命令,以与多媒体应用程序的最佳模式对应。
根据本发明的一方面,提供一种系统中的数据输入/输出控制方法,该系统用于根据从盘驱动器提供的输入/输出命令来将数据输入到盘扇区/从盘扇区输出数据,该方法包括:(a)从盘驱动器提取用于将数据输入到盘扇区/从盘扇区输出数据的输入/输出命令,并且从所述输入/输出命令产生一组输入/输出命令;(b)基于该组输入/输出命令来分析输入/输出命令的负载特征;(c)基于输入/输出命令的负载特征,来确定输入/输出命令的负载与多媒体应用程序是否对应;和(d)根据确定结果来控制输入到盘/从盘输出的数据,以与多媒体应用程序对应。
操作(a)可包括:(a1)从盘驱动器提取用于将数据输入到盘扇区/从盘扇区输出数据的输入/输出命令,以在第一时间期间存储所述输入/输出命令;和(a2)从在第一时间期间存储的所述输入/输出命令中产生由第二时间期间的最近的输入/输出命令组成的一组输入/输出命令。
操作(b)可包括:从该组输入/输出命令提取输入/输出命令的负载特征;和从输入/输出命令的负载特征计算输入/输出命令的负载特征的统计量,并且分析输入/输出命令的负载特征。
操作(c)可包括:由分类单元根据输入/输出命令的负载特征的统计量将输入/输出命令的负载特征分类,其中,通过学习多媒体应用程序的输入/输出命令的负载特征来产生所述分类单元;和基于分类单元的分类来确定输入/输出命令的负载与多媒体应用程序是否对应。
操作(d)可包括:(d1)根据确定结果来设置用于表示输入/输出命令的负载与多媒体应用程序是否对应的字段值;和(d2)基于设置的字段值来控制输入到盘/从盘输出的数据。
根据本发明的另一方面,提供一种系统中的数据输入/输出控制设备,该系统用于根据从盘驱动器提供的输入/输出命令来将数据输入到盘扇区/从盘扇区输出数据,该设备包括:提取单元,用于从盘驱动器提取用于将数据输入到盘扇区/从盘扇区输出数据的输入/输出命令,并且从提取的输入/输出命令产生一组输入/输出命令;分析单元,用于基于该组输入/输出命令来分析输入/输出命令的负载特征;确定单元,用于基于输入/输出命令的负载特征,来确定输入/输出命令的负载与多媒体应用程序是否对应;和控制单元,用于根据确定结果来控制输入到盘/从盘输出的数据,以与多媒体应用程序对应。
提取单元可包括:存储单元,用于在第一时间期间存储所述用于将数据输入到盘扇区/从盘扇区输出数据的输入/输出命令;和产生单元,用于从在第一时间期间存储的所述输入/输出命令中产生由第二时间期间的最近的输入/输出命令组成的一组输入/输出命令。
产生单元可包括:第一提取单元,用于提取所述输入/输出命令并将其存储在存储单元中;更新单元,用于如果从盘驱动器请求新的输入/输出命令,那么从在第一时间期间存储的输入/输出命令去除最旧的输入/输出命令,并且将所述新的输入/输出命令添加到第一时间期间的输入/输出命令,以更新第一时间期间的输入/输出命令;和输入/输出命令集产生单元,用于从更新的输入/输出命令中产生由第二时间期间的最近的输入/输出命令组成的一组输入/输出命令。
分析单元可包括:第二提取单元,用于从该组输入/输出命令提取输入/输出命令的负载特征;和计算单元,用于从输入/输出命令的负载特征计算输入/输出命令的负载特征的统计量。
确定单元可包括:分类单元,用于基于通过学习多媒体应用程序的输入/输出命令的负载特征而产生的学习结果以及输入/输出命令的负载特征的统计量,来将输入/输出命令的负载特征分类;和负载确定单元,用于基于分类单元的分类来确定输入/输出命令的负载与多媒体应用程序是否对应。
控制单元可包括:设置单元,用于根据确定结果来设置用于表示输入/输出命令的负载与多媒体应用程序是否对应的字段值;和输入/输出控制单元,用于基于设置的字段值来控制输入到盘/从盘输出的数据。
附图说明
通过结合附图对本发明的实施例进行详细描述,本发明以上和其它特点及优点将会变得更加清楚,其中:
图1是一般的输入/输出子系统的功能方框图;
图2是根据本发明实施例的数据输入/输出控制设备的功能方框图;
图3是图2中所示的数据输入/输出控制设备的提取单元和分析单元的功能方框图;
图4是图2中所示的数据输入/输出控制设备的确定单元的功能方框图;
图5是图2中所示的数据输入/输出控制设备的控制单元的功能方框图;
图6是显示根据本发明实施例的数据输入/输出控制方法的流程图;
图7是图6中的用于产生一组输入/输出命令的操作和用于分析输入/输出命令的特征的操作的流程图;
图8是图6中的用于确定输入/输出命令的负载与多媒体应用程序是否对应的操作和用于控制输入到盘/从盘输出的数据的操作的流程图;
图9A至图9M显示了多个多媒体应用程序的一组输入/输出命令,即,显示了输入/输出命令的轨迹(trace);和
图10是显示图9A至图9M中所示的多媒体播放器的输入/输出命令的轨迹的特性的表。
具体实施方式
图2是根据本发明实施例的数据输入/输出控制设备的功能方框图。
虚拟文件系统210包括字段(未显示),该字段用于当文件被应用程序(未显示)选择时控制该文件的输入/输出。该字段包括用于控制数据的输入/输出的值,诸如用于控制由输入/输出命令请求的盘扇区的尺寸(以下称为预读取的尺寸)的字段值以及用于控制从盘读取的数据中的错误是否将被纠正的字段值。虚拟文件系统210根据字段值控制所选择的文件的数据的输入/输出。文件系统220根据虚拟文件系统210的控制来指定与选择的文件相应的逻辑块,并且将指定的逻辑块传送到盘驱动器230。盘驱动器230将输入/输出命令传送到盘240,该输入/输出命令用于将数据输入到与逻辑块相应的盘扇区/从与逻辑块相应的盘扇区输出数据。
盘驱动器230包括第一存储器(未显示),第一存储器用于存储传送到盘240的输入/输出命令。提取单元250从盘驱动器230提取传送到盘240的输入/输出命令。由提取单元250提取的输入/输出命令被存储在包括于提取单元250中的第二存储器(未显示)中。每当新的输入/输出命令从盘驱动器230被传送到盘240,提取单元250去除存储在第二存储器中的最旧的输入/输出命令,并且将该新的输入/输出命令存储在第二存储器中,以更新输入/输出命令。一组输入/输出命令(称为输入/输出命令的轨迹)从更新的输入/输出命令被产生,并且被提供给分析单元260。
分析单元260分析从盘驱动器230传送到盘240的输入/输出命令的负载特征。分析单元260从该组输入/输出命令提取输入/输出命令的负载特征,并且计算输入/输出命令的负载特征的统计量。
确定单元270基于由分析单元260分析的输入/输出命令的负载特征,来确定输入/输出命令的负载与多媒体应用程序是否对应。
控制单元280根据确定单元270的确定结果来将虚拟文件系统210的字段值设置为多媒体应用程序的输入/输出命令的负载,并且根据该字段值来控制数据的输入/输出。通过将该字段值设置为多媒体应用程序的输入/输出命令的负载,输入/输出命令所请求的盘扇区的最大尺寸不增加,或者从盘读取的数据中的错误不被纠正。
图3是根据本发明实施例的提取单元250和分析单元260的功能方框图。提取单元250包括产生单元310和存储单元320,分析单元260包括第二提取单元330和计算单元340。
首先将描述提取单元250。提取单元250的产生单元310在所存储的输入/输出命令中产生由第二时间期间的最近的输入/输出命令组成的一组输入/输出命令。产生单元310包括输入/输出命令集产生单元312、第一提取单元314和更新单元316。第一提取单元314从盘驱动器230提取传送到盘240的输入/输出命令。提取单元250包括存储单元320,存储单元320用于在第一时间期间存储由第一提取单元314提取的输入/输出命令。
当盘驱动器230请求盘240更新新的输入/输出命令时,更新单元316去除第一时间期间的最旧的输入/输出命令,并且将新的输入/输出命令添加给第一时间期间的输入/输出命令,以更新第一时间期间的输入/输出命令。输入/输出命令集产生单元312从由更新单元316更新的第一时间期间的输入/输出命令中产生由第二时间期间的输入/输出命令组成的一组输入/输出命令。
根据本发明的应用领域,存储单元320可包括:第一存储单元(以下称为空闲列表),其是一组可用存储空间;和第二存储单元(以下称为被使用列表),其是一组被使用的存储空间。由第一提取单元314提取的第一时间期间的输入/输出命令存储在被使用列表中。当新的输入/输出命令被提取时,更新单元316从在其中存储有新的输入/输出命令的空闲列表中取出存储空间,并且将该存储空间连接到被使用列表。另外,更新单元316去除存储在被使用列表中的最旧的输入/输出命令,并且将在其中存储所去除的输入/输出命令的存储空间返还给空闲列表。输入/输出命令集产生单元312从存储在被使用列表中的输入/输出命令中产生由第二时间期间的最近的输入/输出命令组成的一组输入/输出命令。根据本发明的应用领域,第一时间的长度可等于第二时间的长度。这包括在本发明的范围内。
根据本发明的应用领域,存储单元320可以是由通用接口连接的大容量存储介质。在这种情况下,由第一提取单元314提取的输入/输出命令被连续地存储在存储单元320中,并且输入/输出命令集产生单元312从存储在存储单元320中的输入/输出命令中产生由第二时间期间的最近的输入/输出命令组成的一组输入/输出命令。
分析单元260包括第二提取单元330和计算单元340,并且基于该组输入/输出命令来分析输入/输出命令的负载特征。第二提取单元330提取组成该组输入/输出命令的输入/输出命令的负载特征。从盘驱动器230传送到盘240的输入/输出命令包括用于将数据输入到盘240的扇区/从盘240的扇区输出数据的信息,所述数据被请求以用于执行应用程序中的文件。第二提取单元330从该信息提取输入/输出命令的负载特征,例如,输入/输出请求时间、输入/输出扇区的数量以及输入/输出扇区的位置。
计算单元340计算输入/输出命令的负载特征的统计量。输入/输出命令的负载特征的统计量代表从盘驱动器230传送到盘240的输入/输出命令的负载,并且可以是输入/输出请求时间间隔的平均值、标准差、中值、输入/输出请求时间间隔的范围、在单位时间期间读取的扇区的数量或单位时间期间的输入/输出命令的数量。
图4是根据本发明实施例的确定单元270的功能方框图。确定单元270包括分类单元410和负载确定单元420。
分类单元410基于输入/输出命令的负载特征的统计量来将输入/输出命令的负载分类。基于通过学习至少一个多媒体应用程序的输入/输出命令的负载特征而产生的学习结果,来产生分类单元410。
在至少一个多媒体应用程序(诸如mpeg2dec、xine或mplayer)执行至少一个多媒体文件(诸如低质量新闻、高质量新闻、低质量音乐视频或高质量音乐视频)期间,与单位时间期间的输入/输出请求时间相关的材料以及输入/输出扇区的数量被提取。使用提取的材料来产生输入变量。输入变量是输入/输出请求时间间隔的平均值、标准差、中值、输入/输出请求时间间隔的范围、在单位时间期间读取的扇区的数量或单位时间期间的输入/输出命令的数量,这些值从提取的材料来计算。计算的输入变量被输入到提升(boosting)算法,并且基于输入结果来产生判定树。
分类单元410基于产生的判定树来分类该组输入/输出命令与多媒体应用程序是否对应。即,分类单元410接收该组输入/输出命令的统计量,并且基于判定树来分类输入/输出命令的负载与多媒体应用程序是否对应。
根据本发明的应用领域,多媒体应用程序的输入/输出命令的负载特征可通过另一学习方法被学习,该另一学习方法诸如Baysian学习、神经网络或支持矢量机。这些包括在本发明中。
负载确定单元420基于分类单元410的分类来确定输入/输出命令的负载与多媒体应用程序是否对应。
图5是根据本发明实施例的控制单元280的功能方框图。控制单元280包括设置单元510和输入/输出控制单元520,并且根据确定单元270的确定结果来控制输入到盘240/从盘240输出的数据,以与多媒体应用程序对应。
设置单元510根据确定单元的确定结果来设置文件对象的字段值,以表示输入/输出命令的负载与多媒体应用程序是否对应。如果文件在预定的应用程序中被选择,那么代表该应用程序的进程和所选择的文件之间的关系的文件对象被产生。文件对象包括用于控制所选择的文件的输入/输出的字段。设置单元510将用于相应于多媒体应用程序最佳地输入/输出所选择的文件的字段值设置为第一值。
由一般的输入/输出命令请求的盘扇区的最大尺寸是256。由于一个扇区的尺寸是512字节,所以读取256个扇区的数据率(千字节)是128千字节。就流式传输服务而言,数据率可以是1024千字节,即,1兆字节。这对应于HD电影最多0.1秒,并且不适合于读取大的多媒体文件。因此,如果在确定单元270中确定输入/输出命令的负载与多媒体应用程序对应,那么因为多媒体文件连续地存储在盘中,所以当再现多媒体文件时,最好增加可由输入/输出命令请求的盘扇区的最大尺寸,即,预读取的尺寸。设置单元510将该字段值设置为第一值,以增加预读取的尺寸。
当多媒体文件被应用程序再现时,多媒体文件的最后存取时间并不重要。因此,当再现多媒体文件时,将文件连接时间记录在信息节点中的操作并不重要。因此,如果确定输入/输出命令的负载与多媒体应用程序对应,那么最好不将文件的存取时间记录在信息节点中。设置单元510将该字段值设置为第一值,从而文件的存取时间不被记录在信息节点中。
当两个非相邻的扇区A和B被读取时,扇区A被读取,然后通过将盘臂(disk arm)移动到扇区B的轨道来读取扇区B。在一般的盘读取调度中,盘处于空闲,直到盘臂到达扇区B,这降低了盘读取效率。但是,如果确定输入/输出命令的负载与多媒体应用程序对应,那么因为多媒体文件被顺序地读取,所以位于盘臂从扇区A移动到扇区B的路径中的扇区最好先被读取。设置单元510将该字段值设置为第一值,从而位于盘臂从扇区A移动到扇区B的路径中的扇区先被读取。
当从盘的扇区读取数据时,检验在数据中是否存在任何错误。如果这样的话,那么盘臂移动到在其中存在错误的数据的扇区,该数据被再次读取。但是,当再现多媒体文件时,小错误是无关紧要的。事实上,由于移动盘臂而花费的时间,所以纠正这样的错误可导致差的再现。因此,如果确定输入/输出命令的负载与多媒体应用程序对应,那么最好下一扇区的数据被读取,而不纠正该错误。设置单元510将该字段值设置为第一值,从而下一扇区的数据被读取,而不纠正该错误。
输入/输出控制单元520控制输入/输出数据,从而根据设置的字段值,相应于多媒体应用程序来最佳地输入/输出所选择的文件。输入/输出控制单元520包括尺寸控制单元522、错误控制单元524、调度控制单元526和命令控制单元528。
尺寸控制单元522控制文件系统,从而如果该字段值被设置为第一值,那么在文件系统中扇区的最大尺寸增加。错误控制单元524控制输入/输出数据,从而如果该字段值被设置为第一值,那么在文件系统中不执行用于纠正错误的处理。调度控制单元526控制输入/输出数据,从而如果该字段值被设置为第一值,那么在文件系统中预先读取位于盘臂移动的路径中的扇区。命令控制单元528控制输入/输出数据,从而如果该字段值被设置为第一值,那么在文件系统中不执行再现多媒体文件不需要的命令,例如写命令。
图6是显示根据本发明实施例的数据输入/输出控制方法的流程图。在该数据输入/输出控制方法中,从盘驱动器提取用于将数据输入到盘扇区/从盘扇区输出数据的输入/输出命令,并且从提取的输入/输出命令产生一组输入/输出命令(操作610)。从该组输入/输出命令提取输入/输出命令的负载特征,并且计算负载特征的统计量以分析输入/输出命令的负载特征(操作620)。基于输入/输出命令的负载特征,来确定输入/输出命令的负载与多媒体应用程序是否对应(操作630)。根据确定结果来控制输入到盘的数据/从盘输出的数据,以与多媒体应用程序对应(操作640)。
图7是用于产生该组输入/输出命令的操作610和用于分析输入/输出命令的负载特征的操作620的流程图。从盘驱动器提取用于将数据输入到盘扇区/从盘扇区输出数据的输入/输出命令(操作710)。提取的输入/输出命令在第一时间期间被存储在存储单元中。如果新的输入/输出命令从盘驱动器被传送到盘,那么从第一时间期间的输入/输出命令中去除最旧的输入/输出命令,并且该新的输入/输出命令被添加到第一时间期间的输入/输出命令。即,每当传送新的输入/输出命令时,第一时间期间的输入/输出命令被更新(操作720)。从更新的第一时间期间的输入/输出命令产生由第二时间期间的输入/输出命令组成的一组输入/输出命令(操作730)。操作710至730一起构成操作610。
从该组输入/输出命令提取输入/输出命令的负载特征,诸如输入/输出命令的输入/输出请求时间、输入/输出扇区的数量以及输入/输出扇区的位置(操作740)。从输入/输出命令的负载特征计算该组输入/输出命令的负载的统计量(操作750)。统计量可以是输入/输出请求时间间隔的平均值、标准差、中值、输入/输出请求时间间隔的范围、在单位时间期间读取的扇区的数量或单位时间期间的输入/输出命令的数量。操作740和750一起构成操作620。根据本发明的应用领域,可使用不同类型的输入/输出命令的负载特征和输入/输出命令的负载的统计量。这些包括在本发明的范围内。
图8显示了用于确定输入/输出命令的负载与多媒体应用程序是否对应的操作630和用于控制输入到盘/从盘输出的数据的操作640。分类单元根据由计算单元产生的输入/输出命令的负载特征的统计量,来将输入/输出命令的负载特征分类(操作810),其中,通过学习多媒体应用程序的输入/输出命令来产生分类单元。基于分类单元的分类来确定输入/输出命令的负载与多媒体应用程序是否对应(操作820)。根据该确定结果,用于表示输入/输出命令的负载与多媒体应用程序是否对应的字段值被设置为第一值(操作830)。
基于设置的字段值来控制输入到盘/从盘输出的数据(操作840)。如果该字段值被设置为第一值,那么数据被控制,以使得预读取的最大尺寸增加,错误不被纠正,并且输入/输出命令的类型被过滤以使得不必要的输入/输出命令不被执行。最好,对于多媒体应用程序不必要的输入/输出命令是写命令,该写命令用于更新信息节点的存取时间,该信息节点存储与多媒体文件相关的信息。另外,如果该字段值被设置为第一值,那么盘读取调度被控制,从而位于盘臂移动的路径上的扇区被读取。
现在将参照图9A至图9M和图10来描述多媒体应用程序的输入/输出命令的特征,该特征被学习以产生分类单元。
图9A至图9M显示了多个多媒体应用程序的一组输入/输出命令,即,显示了输入/输出命令的轨迹。图9A至图9M显示了广泛使用的例如xine、mpeg2dec或mplayer的多个多媒体应用程序访问盘的形式。X轴表示输入/输出命令加入(accession)的时间,Y轴表示传送到盘的输入/输出命令的扇区的数量。
图9A显示了在xine中以8.76Mb/s再现的高质量新闻的输入/输出命令的轨迹,图9B显示了在mpeg2dec中以8.76Mb/s再现的高质量新闻的输入/输出命令的轨迹,图9C显示了在mplayer中以8.76Mb/s再现的高质量新闻的输入/输出命令的轨迹,图9D显示了在xine中以0.38Mb/s再现的低质量新闻的输入/输出命令的轨迹,图9E显示了在mplayer中以0.38Mb/s再现的低质量新闻的输入/输出命令的轨迹,图9F显示了在xine中以1.18Mb/s再现的高质量音乐视频的输入/输出命令的轨迹,图9G显示了在mplayer中以1.18Mb/s再现的高质量音乐视频的输入/输出命令的轨迹,图9H显示了在xine中以0.67Mb/s再现的低质量音乐视频的输入/输出命令的轨迹,图9I显示了在mplayer中以0.67Mb/s再现的低质量音乐视频的输入/输出命令的轨迹,图9J显示了在xine中以2.60Mb/s再现的高质量音乐视频的输入/输出命令的轨迹,图9K显示了在mplayer中以2.60Mb/s再现的高质量音乐视频的输入/输出命令的轨迹,图9L显示了在xine中以1.16Mb/s再现的低质量音乐视频的输入/输出命令的轨迹,图9M显示了在mplayer中以1.16Mb/s再现的低质量音乐视频的输入/输出命令的轨迹。(本段中的这些信息可按照表的形式更容易地取得。)
图10是显示图9A至图9M中所示的多媒体播放器的输入/输出命令的轨迹的特性的表。这里,1至6分别表示8.76Mb/s高质量新闻、0.38Mb/s低质量新闻、1.18Mb/s高质量音乐视频、0.67Mb/s低质量音乐视频、2.60Mb/s高质量音乐视频和1.16Mb/s低质量音乐视频。另外,A至H分别表示读取请求加入的定时之间的间隔的平均值(ms)、读取请求加入的定时之间的间隔的标准差(ms)、读取请求加入的定时之间的间隔的中值(ms)、读取请求加入的定时之间的间隔的范围(ms)、读取请求尺寸(扇区数)的平均值、写请求尺寸(扇区数)的平均值、读取请求率(%)和写请求率(%)。
参照图9A至图9M和图10,诸如xine、mplayer和mpeg2dec的多媒体播放器的输入/输出命令根据多媒体播放器的类型和运动图像的质量而具有不同的特征,并且还具有以下共同特征。
第一,周期性地向盘请求特定量的数据。第二,所有的多媒体播放器具有输入/输出命令的轨迹,所述输入/输出命令重复地产生具有连续248或8扇区的输入/输出请求。因为多媒体文件连续地存储在盘中,所以产生了这种情况。第三,虽然多媒体播放器读取多媒体文件,但是用于周期性地更新该文件的信息节点的写操作也被产生。
如图9A至图9M和图10所示,多媒体应用程序的输入/输出命令具有共同特征。由于分类单元能够检验这些共同特征,所以可确定输入/输出命令的负载与多媒体应用程序是否对应。
虽然本发明是参照其示例性的实施例被具体显示和描述的,但是本领域的普通技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对其进行形式和细节的各种改变。

Claims (30)

1.一种系统中的数据输入/输出控制方法,该系统用于根据来自盘驱动器的输入/输出命令来将数据输入到盘扇区/从盘扇区输出数据,该方法包括:
(a)从盘驱动器提取用于将数据输入到盘扇区/从盘扇区输出数据的输入/输出命令,并且从所述输入/输出命令产生一组输入/输出命令;
(b)基于产生的该组输入/输出命令来分析提取的输入/输出命令的负载特征;
(c)基于分析的输入/输出命令的负载特征,来确定输入/输出命令的负载与多媒体应用程序是否对应;和
(d)根据确定结果来控制输入到盘扇区/从盘扇区输出的数据,以与多媒体应用程序对应。
2.根据权利要求1所述的方法,其中,操作(a)包括:
(a1)从盘驱动器提取用于将数据输入到盘扇区/从盘扇区输出数据的输入/输出命令,并且在第一时间期间存储所述输入/输出命令;和
(a2)从在第一时间期间存储的所述输入/输出命令中产生由第二时间期间的最近的输入/输出命令组成的一组输入/输出命令。
3.根据权利要求2所述的方法,其中,操作(a1)包括:
从盘驱动器提取用于将数据输入到盘扇区/从盘扇区输出数据的输入/输出命令;
在第一时间期间存储所述输入/输出命令;和
如果从盘驱动器请求新的输入/输出命令,那么从在第一时间期间存储的输入/输出命令去除最旧的输入/输出命令,并且提取所述新的输入/输出命令,以将其添加到第一时间期间的输入/输出命令。
4.根据权利要求3所述的方法,其中,第一时间的长度和第二时间的长度彼此相等。
5.根据权利要求2所述的方法,其中,操作(b)包括:
从该组输入/输出命令提取输入/输出命令的负载特征;和
通过从输入/输出命令的负载特征计算输入/输出命令的负载特征的统计量,来分析提取的输入/输出命令的负载特征。
6.根据权利要求5所述的方法,其中,输入/输出命令的负载特征是输入/输出请求时间、输入/输出扇区的数量和输入/输出扇区的位置。
7.根据权利要求5所述的方法,其中,输入/输出命令的负载特征的统计量是输入/输出请求时间间隔的平均值、标准差、中值、输入/输出请求时间间隔的范围、在单位时间期间读取的扇区的数量以及单位时间期间的输入/输出命令的数量。
8.根据权利要求5所述的方法,其中,操作(c)包括:
由分类单元根据输入/输出命令的负载特征的统计量将输入/输出命令的负载特征分类,其中,通过学习多媒体应用程序的输入/输出命令的负载特征来产生所述分类单元;和
基于分类单元的分类来确定输入/输出命令的负载与多媒体应用程序是否对应。
9.根据权利要求8所述的方法,其中,通过Baysian学习、神经网络、提升或支持矢量机方法来学习多媒体应用程序的输入/输出命令的负载特征。
10.根据权利要求8所述的方法,其中,操作(d)包括:
(d1)根据确定结果来设置用于表示输入/输出命令的负载与多媒体应用程序是否对应的字段值;和
(d2)基于设置的字段值来控制输入到盘/从盘输出的数据。
11.根据权利要求10所述的方法,其中,操作(d2)包括:
如果所述设置的字段值被设置为表示输入/输出命令的负载与多媒体应用程序对应的第一值,那么控制所述数据,以使得由输入/输出命令请求的盘扇区的最大尺寸增加。
12.根据权利要求10所述的方法,其中,操作(d2)包括:
如果所述设置的字段值被设置为表示输入/输出命令的负载与多媒体应用程序对应的第一值,那么控制所述数据,以使得从盘读取的数据中的错误不被纠正。
13.根据权利要求10所述的方法,其中,操作(d2)包括:
如果所述设置的字段值被设置为表示输入/输出命令的负载与多媒体应用程序对应的第一值,那么控制所述数据,以使得输入/输出命令的类型被过滤,并且对于多媒体应用程序不必要的输入/输出命令不被执行。
14.根据权利要求13所述的方法,其中,对于多媒体应用程序不必要的输入/输出命令是写命令,所述写命令用于更新存储与文件相关的信息的信息节点的存取时间。
15.根据权利要求10所述的方法,其中,在操作(d2)中,如果所述设置的字段值被设置为表示输入/输出命令的负载与多媒体应用程序对应的第一值,那么控制所述数据,以使得位于盘臂移动以读取预定扇区的路径上的扇区被读取。
16.一种系统中的数据输入/输出控制设备,该系统用于根据从盘驱动器提供的输入/输出命令来将数据输入到盘扇区/从盘扇区输出数据,该设备包括:
提取单元,用于从盘驱动器提取用于将数据输入到盘扇区/从盘扇区输出数据的输入/输出命令,并且从提取的输入/输出命令产生一组输入/输出命令;
分析单元,用于基于产生的该组输入/输出命令来分析提取的输入/输出命令的负载特征;
确定单元,用于基于分析的输入/输出命令的负载特征,来确定输入/输出命令的负载与多媒体应用程序是否对应;和
控制单元,用于根据确定结果来控制输入到盘扇区/从盘扇区输出的数据,以与多媒体应用程序对应。
17.根据权利要求16所述的设备,其中,提取单元包括:
存储单元,用于在第一时间期间存储所述用于将数据输入到盘扇区/从盘扇区输出数据的输入/输出命令;和
产生单元,用于从在第一时间期间存储的所述输入/输出命令中产生由第二时间期间的最近的输入/输出命令组成的一组输入/输出命令。
18.根据权利要求17所述的设备,其中,产生单元包括:
第一提取单元,用于提取所述输入/输出命令并将其存储在存储单元中;
更新单元,用于如果从盘驱动器请求新的输入/输出命令,那么从在第一时间期间存储的输入/输出命令去除最旧的输入/输出命令,并且将所述新的输入/输出命令添加到第一时间期间的输入/输出命令,以更新第一时间期间的输入/输出命令;和
输入/输出命令集产生单元,用于从更新的输入/输出命令中产生由第二时间期间的最近的输入/输出命令组成的一组输入/输出命令。
19.根据权利要求18所述的设备,其中,第一时间的长度和第二时间的长度彼此相等。
20.根据权利要求17所述的设备,其中,分析单元包括:
第二提取单元,用于从该组输入/输出命令提取输入/输出命令的负载特征;和
计算单元,用于从输入/输出命令的负载特征计算输入/输出命令的负载特征的统计量。
21.根据权利要求20所述的设备,其中,输入/输出命令的负载特征是输入/输出请求时间、输入/输出扇区的数量和输入/输出扇区的位置。
22.根据权利要求20所述的设备,其中,输入/输出命令的负载特征的统计量是输入/输出请求时间间隔的平均值、标准差、中值、输入/输出请求时间间隔的范围、在单位时间期间读取的扇区的数量以及单位时间期间的输入/输出命令的数量。
23.根据权利要求20所述的设备,其中,确定单元包括:
分类单元,用于基于通过学习多媒体应用程序的输入/输出命令的负载特征而产生的学习结果以及输入/输出命令的负载特征的统计量,来将输入/输出命令的负载特征分类;和
负载确定单元,用于基于分类单元的分类来确定输入/输出命令的负载与多媒体应用程序是否对应。
24.根据权利要求23所述的设备,其中,通过Baysian学习、神经网络、提升或支持矢量机方法来学习多媒体应用程序的输入/输出命令的负载特征。
25.根据权利要求23所述的设备,其中,控制单元包括;
设置单元,用于根据确定结果来设置用于表示输入/输出命令的负载与多媒体应用程序是否对应的字段值;和
输入/输出控制单元,用于基于设置的字段值来控制输入到盘/从盘输出的数据。
26.根据权利要求25所述的设备,其中,如果所述字段值被设置为表示输入/输出命令的负载与多媒体应用程序对应的第一值,那么输入/输出控制单元控制所述数据,以使得由输入/输出命令请求的盘扇区的最大尺寸增加。
27.根据权利要求25所述的设备,其中,如果所述字段值被设置为表示输入/输出命令的负载与多媒体应用程序对应的第一值,那么输入/输出控制单元控制所述数据,以使得从盘读取的数据中的错误不被纠正。
28.根据权利要求25所述的设备,其中,如果所述字段值被设置为表示输入/输出命令的负载与多媒体应用程序对应的第一值,那么输入/输出控制单元控制所述数据,以使得输入/输出命令的类型被过滤,并且对于多媒体应用程序不必要的输入/输出命令不被执行。
29.根据权利要求28所述的设备,其中,对于多媒体应用程序不必要的输入/输出命令是写命令,所述写命令用于更新存储与文件相关的信息的信息节点的存取时间。
30.根据权利要求25所述的设备,其中,如果所述字段值被设置为表示输入/输出命令的负载与多媒体应用程序对应的第一值,那么输入/输出控制单元控制所述数据,以使得位于盘臂移动以读取预定扇区的路径上的扇区被读取。
CNB2006100033068A 2005-02-04 2006-02-05 多媒体文件的输入/输出控制方法和设备 Expired - Fee Related CN100371876C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050010856 2005-02-04
KR1020050010856A KR100618887B1 (ko) 2005-02-04 2005-02-04 멀티미디어 파일의 데이터 입출력 제어 방법 및 장치

Publications (2)

Publication Number Publication Date
CN1815432A CN1815432A (zh) 2006-08-09
CN100371876C true CN100371876C (zh) 2008-02-27

Family

ID=36907656

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100033068A Expired - Fee Related CN100371876C (zh) 2005-02-04 2006-02-05 多媒体文件的输入/输出控制方法和设备

Country Status (4)

Country Link
US (1) US7464196B2 (zh)
JP (1) JP4369436B2 (zh)
KR (1) KR100618887B1 (zh)
CN (1) CN100371876C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101123403B1 (ko) * 2009-04-28 2012-03-23 주식회사 인스프리트 위젯 검증 시스템 및 이를 이용한 위젯 제공 방법
KR101338566B1 (ko) * 2010-12-28 2013-12-06 한양대학교 산학협력단 저장 장치에 대한 입출력 특성 분류 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1155731A (zh) * 1995-11-28 1997-07-30 株式会社日立制作所 信息存储控制方法
JP2000013728A (ja) * 1997-09-17 2000-01-14 Matsushita Electric Ind Co Ltd 光ディスク記録装置、ファイル管理プログラムを記録したコンピュータ読み取り可能な記憶媒体および光ディスク
CN1245381A (zh) * 1998-08-19 2000-02-23 惠普公司 存储不间断数字视频流的方法和装置
WO2001035405A1 (en) * 1999-11-10 2001-05-17 Thomson Licensing S.A. Buffer optimization for simultaneous encoding-decoding and pause-catch-up for real-time dvd recorder

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09134367A (ja) * 1995-11-10 1997-05-20 Hitachi Ltd マルチメディアデータ処理システム
KR20010003383A (ko) * 1999-06-23 2001-01-15 정선종 멀티미디어 파일 시스템 및 이를 이용한 멀티미디어 데이터 처리 방법
US7149248B2 (en) * 2001-09-12 2006-12-12 Broadcom Corporation Command packet system and method supporting improved trick mode performance in video decoding systems
JP4009840B2 (ja) 2002-06-27 2007-11-21 ソニー株式会社 情報処理装置、情報処理方法および情報処理プログラム
KR100465913B1 (ko) * 2003-05-27 2005-01-13 한국과학기술원 보조프로세서를 이용한 멀티미디어 처리를 위한 가속장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1155731A (zh) * 1995-11-28 1997-07-30 株式会社日立制作所 信息存储控制方法
JP2000013728A (ja) * 1997-09-17 2000-01-14 Matsushita Electric Ind Co Ltd 光ディスク記録装置、ファイル管理プログラムを記録したコンピュータ読み取り可能な記憶媒体および光ディスク
CN1245381A (zh) * 1998-08-19 2000-02-23 惠普公司 存储不间断数字视频流的方法和装置
WO2001035405A1 (en) * 1999-11-10 2001-05-17 Thomson Licensing S.A. Buffer optimization for simultaneous encoding-decoding and pause-catch-up for real-time dvd recorder

Also Published As

Publication number Publication date
KR20060090027A (ko) 2006-08-10
CN1815432A (zh) 2006-08-09
JP2006216056A (ja) 2006-08-17
US7464196B2 (en) 2008-12-09
JP4369436B2 (ja) 2009-11-18
US20060206630A1 (en) 2006-09-14
KR100618887B1 (ko) 2006-09-01

Similar Documents

Publication Publication Date Title
US9946924B2 (en) System and method for automating information abstraction process for documents
US8161240B2 (en) Cache management
CN101373476B (zh) 信息处理设备和信息处理方法
US10678764B2 (en) Heterogeneous type database storage system based on optical disc, and method for using system
US9996557B2 (en) Database storage system based on optical disk and method using the system
CN104731896A (zh) 一种数据处理方法及系统
US7996409B2 (en) System and method for content-based object ranking to facilitate information lifecycle management
JP4490012B2 (ja) ファイル検索装置、ファイル検索プログラム
JP7060792B2 (ja) 情報処理装置、ファイル格納方法およびプログラム
CN101667205A (zh) 一种面向快速回放的实时测点数据存储方法
CN111125658A (zh) 识别欺诈用户的方法、装置、服务器和存储介质
US20240015206A1 (en) Data stream management method and device
CN100371876C (zh) 多媒体文件的输入/输出控制方法和设备
CN100489779C (zh) 输入/输出子系统中确定命令的装载的方法和设备
CN108763253B (zh) 一种投资组合的大数据可视化系统与方法
CN103870476A (zh) 检索方法及设备
CN106202340B (zh) 基于光盘的数据库双核存储系统及利用该系统的方法
CN113127636B (zh) 一种文本聚类类簇中心点选取方法及装置
CN114610960A (zh) 基于item2vec和向量聚类的实时推荐方法
JP2021152751A (ja) 分析支援装置及び分析支援方法
CN107430633A (zh) 与数据存储系统相关联的经相关优化的代表性内容
WO2007049330A1 (ja) ファイルのディスクメディア上の配置を定める方法、システム、及び配置デ-タを生産する方法
Valdés et al. A framework for video abstraction systems analysis and modelling from an operational point of view
CN117806555A (zh) 基于闪存的存储数据管理系统及方法
CN115438201A (zh) 数据推荐方法及装置、存储介质、电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080227

Termination date: 20140205