CN1426552A - 用于访问存储介质上的数据块的系统和方法 - Google Patents

用于访问存储介质上的数据块的系统和方法 Download PDF

Info

Publication number
CN1426552A
CN1426552A CN01801389A CN01801389A CN1426552A CN 1426552 A CN1426552 A CN 1426552A CN 01801389 A CN01801389 A CN 01801389A CN 01801389 A CN01801389 A CN 01801389A CN 1426552 A CN1426552 A CN 1426552A
Authority
CN
China
Prior art keywords
cluster
length
blocks
block
stream
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
CN01801389A
Other languages
English (en)
Other versions
CN1218237C (zh
Inventor
J·H·M·科斯特
N·拉姆伯特
R·M·托尔
A·J·M·德尼森
M·L·L·比斯特维德
H·李
R·乔彻森
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.)
Corey Technology Solutions Ltd
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1426552A publication Critical patent/CN1426552A/zh
Application granted granted Critical
Publication of CN1218237C publication Critical patent/CN1218237C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers

Landscapes

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

Abstract

一个系统(100,300)(例如一个请求式视频服务器),包含一个具有一些文件(200)的存储介质(106),可从这些文件中读取数据或向这些文件写入数据。一个文件包含一些簇(202,204,206),每个簇包含一些存储扇区(208),它们在存储介质上是物理上连续地安排的。当请求一个新流时,不管是读或写,都为该新流确定一个块长(210)。该块长足够大以支持该流的速度,并且块长是这样选择的,通过将该簇大小平均分入用来读该簇的块长中,使得一个簇能由整数个块读取。

Description

用于访问存储介质上的数据块的系统和方法
本发明有关一个用于周期性地从一个存储介质中读取数据块,并以流的形式提供这些数据块的系统,此处,数据块是从一个包含逻辑上连续的簇的文件中提取的,一个簇的簇长为C,并有物理上连续的存储扇区以保存数据,该系统包含接纳控制装置,用于控制是否接纳一个最大比特率为cmax的新流,并包括读出装置,用于在一个最大持续时间为P的周期内,从存储介质中为各个流取出数据块。
本发明还有关一个系统,用于周期性地向一个存储介质中写入数据块,借此,以流的形式接收数据块,此处,数据块被存入一个包含逻辑上连续的簇的文件中,一个簇的长度为C,并有物理上连续的扇区以保存数据,该系统包含接纳控制装置,用于控制是否接纳一个最大比特率为cmax的新流,并包括写入装置,用于在一个最大持续时间为P的周期内,向存储介质中为各个流存入数据块。
本发明还有关一种方法,用于周期性地从一个存储介质上的一个文件中取出数据块,并以流的形式提供这些数据块,此处,数据块是从一个包含逻辑上连续的簇的文件中读取的,一个簇的簇长度为C,并有物理上连续的存储扇区以保存数据,该方法包含这样一些步骤,即,控制是否接纳一个最大比特率为cmax的新流,并周期性地从存储介质中为各个流读取数据块,一个周期的最大持续时间为P。
本发明还有关一种方法,用于周期性地将数据块写入一个存储介质上的一个文件中,这些块是以流的形式接收的,进而,这些数据块被存入一个包含逻辑上连续的簇的文件中,一个簇的长度为C,并有物理上连续的存储扇区以保存数据,该方法包含一些步骤,即,控制是否接纳一个最大比特率为cmax的新的流,并周期性地向存储介质中为各个流存入数据块,一个周期的最大持续时间为P。
美国专利5,890,168描述了一个系统,称为请求式视频服务器。这样一个服务器包含一个或多个磁盘,可在其上存储文件。一个文件一般包含一个影片,服务器按要求向用户提供该影片。磁盘上的一个文件是以一些簇的形式组织的,这些簇有一个逻辑上的次序并可以散布在磁盘上。这些文件一般有相当大的规模,因此不希望将它们中的每一个都连续地存储在磁盘上。删除和添加这种连续文件将引入磁盘上较大的碎片,这种较大的碎片比较难修补。一个簇包含物理上连续的带有该文件数据的扇区。带有该文件数据的扇区被成块地从磁盘上取出,放入一个缓冲区中,从该缓冲区中,数据以流的形式呈现给用户,其速率对应于该影片的计时速率。
该请求式视频服务器的设计思想是:以所要求的速率维持该流,以确保用户能不间断地浏览。一种已知的实现方法为双缓冲器策略。从磁盘取出的数据块的长度等于用户缓冲器的长度,因此,缓冲器总是被所取出的块完全占据。在双缓冲器策略中,系统为一个用户分配两个缓冲器:第一个缓冲器中是正在呈现给用户的数据,第二个缓冲器可用来存储来自磁盘的下一个块。该系统以一个最大持续时间循环操作,即,在第一个缓冲器中的所有数据全部呈现给用户之前,下一个块出现在第二缓冲器中。在这一时刻,第一和第二缓冲器交换功能,进程在下一个循环中重复。
从磁盘上的文件中为用户缓冲区取出一个块一般要求磁头的寻道操作,因为要读取的扇区在簇中是物理上连续地安排的。因此,要读的块必须完全在一个簇中,不然的话,就必须有第二次寻道操作以便移动到该文件的下一个簇的位置。在美国5,890,168所描述的一个系统中,一个文件的一个簇的结尾处的一些扇区中的数据在该文件的下一个逻辑簇的开始处的扇区中重复。这就允许在该文件的任意位置处开始读一个数据块,而只需要一次寻道操作,只要被重复的扇区数不小于所要读的块的长度就可以。进一步,在读取一个块仍只需要一次寻道操作的前提下,这一重复措施增加了选择该块长度的灵活性,这是因为一个单独的块完全位于一个簇中。另外,只需要所重复的扇区数不小于该块的长度。重复一些扇区内的数据要求占用磁盘上额外的存储空间。特别是当该系统必须支持一个相当大的块长时,则附加的存储空间构成总存储空间的一个重要部分。进一步,存储一个带有数据重复的文件的系统对磁盘要求额外的带宽,以允许拷贝该数据,或者,若该拷贝被延迟,则要求有附加的薄记以供以后的数据拷贝使用。
本发明的一目的是提供一个如前面所述的用于读取数据块的系统,该系统能解决已知系统中所出现的问题。这一目的是通过一个按照本发明的系统达到的,该系统的特点在于,它有一个接纳控制装置,用于为新流的数据块确定一个最小块长Blower,该块长Blower足够大以维持在一个长度为P的周期内,以速率cmax消耗这些数据,并且,该接纳控制装置确定在长度为C簇中,长度为Blower的块能出现的次数k,而且,该接纳控制装置还通过将要被用来读一个簇的k个块平均分布在该簇上,来为这k个块确定一个相应的块长,以使得该簇能由这k个块完全读取。通过使要被读取的簇正好被划分为整数个块,而每个块都足够大以维持一个不间断的流,可以做到由一次寻道操作读取每一个块。发明者认识到,有可能使要被用来读数的块长适应于簇长,以使这些块一起正好划分该簇。为做到这一点,允许要被用来读取一个单独的簇的块有互相不同的块长。
按本发明读取数据块的系统的一个实例在权利要求2中作了描述。这是一种清晰而简单的方式,用于为新流的块计算最小块长。
按本发明读取数据块的系统的一个实例在权利要求8中作了描述。只要确定新流的最大块长足够短,能满足这一公式,则在该系统周期内,可为所有的流,即,现有的流和将要接纳的新流,取出一个数据块。
按本发明读取数据块的系统的一个实例在权利要求5中作了描述。在上述限制条件之内,将新流的块长选为簇长的除数,是一种简单的方式,可以直接实现用整数个块读取一个簇的情况。
按本发明读取数据块的系统的一个实例在权利要求6中作了描述。使一个簇长有较多的除数是比较有利的,因此,可能经常使得被用来读该簇的块的块长等于最小块长或稍大于该最小块长。将块长选得尽可能小是有利的,因为这能节省从存储介质中为这一特定的流读取数据块时所需的带宽,因此能服务多个来自同一存储介质的流。另外,能节省缓冲器中用于暂时存放数据块(以供消耗)的存储空间。
本发明的另一个目的是提供一个如前面所述的用于写入数据块的系统,该系统能解决已知系统中所出现的问题。这一目的是通过一个按照本发明的系统达到的,该系统的特点在于,它有一个接纳控制装置,用于为新流的数据块确定一个最小块长Blower,该块长Blower足够大以存储在一个长度为P的周期内,以速率cmax接收的数据,并且,该接纳控制装置确定在长度为C簇中,长度为Blower的块能出现的次数k,而且,该接纳控制装置还通过将这k个块平均分布在该簇上,来为这k个要被用来向该簇写入的块确定一个相应的块长,以使得该簇能由这k个块完全写入。这就允许存储介质被组织为一些有一定簇长的簇,这些簇被用于写入文件数据。当接收到一个请求(该请求希望接纳一个新流)时,当即就可以根据该新流为写入这样一个文件的块选择一个块长,同时,仍能够通过一次寻道操作写一个块。
确定写入数据块块长的方式与确定读出数据块块长的方式类似。
在从属权利要求中描述了各种推荐实例。
借助于实例和附图,可以更清楚地理解本发明及其优点。
图1概述了一个按本发明读取数据块的系统,
图2概略示出了存储介质上一个文件的安排方式,
图3概略示出了一个按照本发明,周期性地将数据块写入一个存储介质的系统。
图中,相应的特性由相同的参考符号表示。
图1概述了一个按本发明读取数据块的系统。该系统是在已知结构的通用计算机的基础上构造的。该系统有一个处理器102,用于执行工作存储器104中的一个程序的程序指令。该系统还包括一个存储介质106,用于存储一个文件,该文件的数据要被提供给用户。该存储单元可以是一个磁盘或磁性硬盘组,不过,也可以使用其它合适的存储设备,例如光盘。该设备特别适合于向一些用户提供数据,该数据是通过一个线路108提供给这些用户的,线路108可提供对与该用户相连的一个网络(例如,通过同轴电缆)的访问。该系统有一个接口110,用于同外部设备(例如存储介质106和线路108)通信。进一步,该系统有一个总线112,用于在该系统的不同部分之间交换命令和数据。
该系统的功能是通过装入工作存储器中的一些程序模块实现的。该系统有一个接纳控制模块114,它确认是否可以批准对一个新流的请求,若可以,则初始化该新流。该系统有一个读模块116,它从存储介质中读数据块并将其放入一个缓冲存储空间118中,从那里,它们被特定用户以期望速率的流的形式消耗。一般,每个被服务的用户都有一个缓冲器,他可从该缓冲器中接收他的数据流。该系统在一个最大持续时间为P的周期内工作。在该周期的开始,检查在该期内可以从哪一个流中读取数据块。然后,在该周期内读取这些块并将它们放入缓冲器中,以便在下一周期内使用。该系统的组织方式是,用户缓冲区既不下溢也不上溢。因此,只有在用户缓冲器中有一个数据块的空间时,才读取该数据块,另外,在一个周期的开始,每一个用户缓冲器中至少有足够在最大持续时间为P的时间区间内使用的数据。实现这一方法的一个策略的例子是美国专利5,950,015中描述的双扫策略。在该策略中,一个用户有一个可容纳两个数据块的缓冲区,一般,每隔一次扫描,一个用户就被服务一次,这是访问存储设备的一个周期。双扫策略允许不同比特率的流,而不需要相应地增加缓冲区长度。也可以使用其它不同的缓冲策略,这可由该系统所用的条件来定,本发明不对具体的策略加以限制。
图2概略示出了存储介质上一个文件的安排。文件200有簇202,204,206,在存储介质上(该例中是一个磁盘),它们不必是物理上互相连续地存储的。这些簇有一个逻辑上连续的次序,即,扇区中包含有时间数据,该时间数据与由数据代表的视频或音频段的实际时间相关。对于正常的复现,这些簇将按这一逻辑上连续的次序读出。各个簇可自由地放在磁盘上这一事实,可以避免在磁盘上为每个文件分配一个大的连续区间。这就使得较容易管理每个磁盘上的多个文件,例如,移动文件,删除文件,或添加新的文件。一个簇包含一些存储扇区,它们是物理上连续地存储在磁盘上的;例如,簇202有一些存储扇区,其中,存储扇区208就是一个例子。存储扇区中包含组成文件内容的数据。一个存储扇区是可在磁盘上读写的最小数据数量。读一个扇区要求一些转换用系统开销,这包括一个将读出头放在该扇区位置处的阶段,并包含一个传输阶段用于将数据从磁盘拷入存储器的缓冲区中。将数据写入一个数据扇区的过程也是一样的。在使用一个磁盘的情况下,这种转换用系统开销包括读出头的一个径向运动,以移动到包含所需扇区的磁道,并包含一个旋转等待,直到所期望扇区的起始点正好经过该读出头的下面。这种转换用系统开销的时间远大于传输一个单独的扇区的传输时间。这种转换用系统开销是10ms级的,而传输阶段是0.1ms级的。为了更有效地使用磁盘,数据是按每组扇区(称为块)存取的。读一块扇区要求一个阶段,首先是一个转换阶段,将读出头置于该块的第一个扇区,然后是一个传输阶段,用于传输所有的扇区。这是在这些扇区是连续存储的条件下的,因此,读出头不必移动到读出扇区间的其它位置。这一实例中一些典型的数据是,一个扇区512字节,一个簇大约10M字节,一个文件大约1G字节。块的大小是根据访问一个文件的具体的应用程序而挑选的,如以下将解释的,并且,举例来说,可以是128K字节。
如以上所描述的,该系统在最大持续时间为P的周期内工作。该系统可被设计为,在一个长度为P的时间区间内,为每个流读取一个数据块。为了尽可能高效地使用磁盘以服务尽可能多的流,以这样一种方法来读取一个数据块,即,只涉及对磁盘的一次单独的访问,也就是说,只有一次单独的转换用系统开销。这意味着,要读取的一个数据块必须整个都在一个簇内。若该数据块在两个簇内,则必须有读出头的第二次定位,因为下一个簇的存储扇区与第一个簇结尾处的扇区并非是连续的。图2示出了一个要被读出的块201的例子,它包含11个扇区,而整个簇包含44个扇区。这意味着该簇正好可以由4个块读出,因此最后一个块也可在对磁盘的一次存取中读出。这些数字只是为了起到说明的目的,因为实际的数量可能更高。在访问一个文件时,希望实际的块长符合该访问应用,例如,在为一个有相当高的消耗速率的流读该文件时,块长最好较大,而在为一个有相当低的消耗速率的流读该文件时,块长最好较小。在多数情况下,最好为一个流选用一个与该流的消耗速率成比例的块长。两个这类不同的应用的例子是,利用与一个文件内容的定时相对应的速度,复现该文件的内容,即,一个影片被实时地呈现给服务器,另一个是,将该文件下载给另一个用户。第一个应用要求一个速率相对较慢的流,而第二个应用一般要求使用一个尽可能高速率的流,以尽可能快地完成任务。
本发明可根据应用程序所要求的速率,确定访问文件时的块长。在请求一个新流时,首先确定一个保持一个不间断的流所要求的最小块长。一个块必须足够大以包含足够的数据,这些数据足够在系统从磁盘读出块的时间期间内,以该新流的最大速率被消耗。在这一实例中使用的合适的最小块长由以下公式给出:
        Blowerb=P·cmax             (1)
其中
Blowerb是以字节表示的最小块长,
p是以秒表示的系统操作周期的最大持续时间,
cmax是以每秒字节数表示的新流的最大消耗速度。
随后,以扇区大小除最小块长Blowerb,并取其上限值,即对结果向上舍入,可以得到最小块长Blowerb,为保持该新流,一个块中必须至少包含该数量的扇区。
下一个步骤是确定簇中有多少个块长Blower,该数量是由以下公式给出的:
         k=floor(C/Blower)             (2)
其中,C是以扇区数表示的簇大小,Blower是以扇区数表示的最小块长。
若最小块长是簇长的除数,则该块长可用于读该新流。这是有利的,因为块长越小,对缓冲器的存储空间的要求越小。进一步,从该磁盘上读取该流时所要求的最大带宽越小。基于以上所描述的,簇长C最好选为包含较多的除数。这样,对于多数流来说,相应的最小块长可以是该簇长的一个除数,这样,就能为这些流选择最佳的块长。
若最小块长Blower不是簇大小的除数,该簇中不是所有的扇区都能用块长为Blower的k个块读取。为解决这一问题,可将剩余的扇区数在k个块长中进行平分,从而增加各个块长。这就使得在k个块中完全读出该簇,其中,有些块的块长比另一些块的块长大1。块长是利用以下公式计算的:
(C mod k)个块的块长等于(C/K)的上舍入值      (3)
(k-C mod k)个块的块长等于(C/K)的下舍入值    (4)
其中,
C是以扇区数表示的簇大小,
k是按以上的公式(2)给定的。
因此,该文件是以不同长度的块读出的,块长最大相差1个扇区,以确保该簇能由整数个块完全读出。这也确保了该文件的每个块可由对磁盘的一次访问读出。一个簇中所用的不同块长的次序是无关紧要的,只要不同长度的块的数量符合公式(3)和(4)就行了。
由于编辑操作,或在其它情况下,一个文件可包含大小互相不同的簇。在这种情况下,按照上面所描述的,单独为每个不同的簇长确定相应的块长。在读文件时,对于当前正在读取的簇,使用为它计算的块长。这能为读应用提供较大的灵活性,并能有效地利用系统。灵活性可以使得应用程序能以与所期望的消耗速度相匹配的块长读取该文件。系统的有效利用是这样实现的,选择一个最佳块长,即,在能保持期望速度的流的情况下,选择尽可能小的块长,以使缓冲器的存储空间较小,并使访问存储介质的带宽较小。
当接收到对一个新流的请求时,接纳控制模块可以验证系统是否有足够的资源供这一新流和现有的流使用。举例来说,要被验证的资源可以是,缓冲器可用的存储空间,访问磁盘的可用带宽。后者与本发明特别相关。随后,接纳控制模块验证在任何时间,新流所需的最大带宽加上现有的流所需的最大带宽是否超过最小可用带宽。这一验证过程可以这样实现,测试在一个长度为P的区间内(它是系统工作周期的最大持续时间),是否可以从磁盘中为每流取出一个块。如以上所描述的,在不同的时间,一个流可以有不同的块长,在这一测试过程中必须使用某个流中所用的最大的块长。在按本发明的系统的一个实例中,以下公式可被用于测试是否可以接纳该新流: P ≥ Σ j = 1 n + 1 B j r min + s ( n + 1 ) - - - ( 5 )
其中:
Bj,upper是流j的最大块长,
rmin是存储介质的保证传输率,
n是现有流的数量,在这些流中,要加入新流,
s(x)是在一个时间区间P内,对存储介质的x次访问的转换用系统开销,
P是从存储介质读取块的周期的最大持续时间。
图3概略示出了一个按照本发明,周期性地向一个存储介质写入数据块的系统。该系统的结构与图1中所示的读取数据块的系统非常相似,其中有许多部分相同。用于写数据块的系统以某一速度接收一个数据流。这一流可通过一个线路108接收,不过,也可从另一资源始发,例如一个磁带。该流被暂时存放在一个缓冲空间118中,一个写模块从该空间将数据块写入存储介质106上的一个文件中。该系统以一个最大持续时间为P的周期工作,在该周期内,所支持的各种流的数据块被写入一个文件中。该文件的组织方式与以上所描述的相同。确定要写入磁盘的块的长度的方法与从磁盘读数据块时的情况类似,如以上所示。
另外,可以将读取数据的系统和写入数据的系统组合在一个支持这两种类型的流的单独的系统中。该系统能从磁盘上相应的文件中读出块并将所读出的数据以流的形式提供给用户,并且,该系统能从外部资源接收流并将数据以块的形式写入磁盘上相应的文件中,这样一个组合系统可用于一个请求式视频服务器中。请求式视频服务器向各个用户提供一些流,例如,向各个用户呈现存储在磁盘上的影片,并接收一个或多个要被存储在磁盘上的流,例如,要被添加到服务器的保留剧目中的新影片。在这种情况下,在向请求式视频服务器加入新素材的同时,请求式视频服务器应该仍是可操作的。这样一个组合系统的另一个例子是一个基于磁盘存储的视频记录装置。这样一个装置有一个或多个调谐器,用于接收包含程序的广播信号。所接收的程序可被存储在磁盘上以供以后浏览。对一个具体程序的存储可以是由用户明确编程的,或者是根据一个用户协议子集自动启动的。用户可以挑选所存储的某个程序来浏览。随后,从该具体的文件中读出数据块,并以流的形式呈现在用户的显示设备上。该装置被用于存储当前所接收的一个或多个程序,同时,向用户呈现以前所存储的素材。在这种情况下,该系统足够快以便在将输入流存入磁盘的同时,能向用户提供不间断的流。
应指出,上述实例只起举例说明的作用,并不限制本发明的范围,在不脱离所附权利要求的范围的情况下,本技术专业人士可以设计许多替换的实例。在权利要求中,括号内的任何参考符号并不限制权利要求的范围。“包含”一词并不排除出现除权利要求所列出的元件或步骤之外的元件和步骤。一个元件前的“一个”并不排除出现多个这类元件。本发明可借助于包括几种不同元件的硬件和一个适当编程的计算机实现。在所声明设备中列举的几个元件中,其中的一些元件可由同一硬件实现。

Claims (11)

1.一种系统,用来周期性地从一个存储介质中读取数据块,并以流的形式提供这些数据块,其中,数据块是从包含逻辑上连续的簇的文件中读取的,一个簇有一个簇长C,并有物理上连续的存储扇区,用于存储数据,该系统包括:
-接纳控制装置,用于控制是否接纳一个最大比特率为cmax的新流,和
-读取装置,用于在一个最大持续时间为P的周期内,从存储介质中为各个流读取数据块。
其中的接纳控制装置是这样安排的:
-为该新流的数据块确定一个最小块长Blower,块长Blower足够大以维持在长度为P的时间区间内以速率cmax消耗,
-确定在一个大小为C的簇中,块长Blower存在的次数k,
-通过将该簇长C平均分入k个块长,来为要被用来读该簇的k个块确定一个相应的块长,以使该簇能由k个块完全读完。
2.权利要求1中所要求的一个系统,其中的接纳控制装置是这样安排的,即,按以下公式确定最小块长Blower
          Blowerb=P·cmax
3.权利要求1中所要求的一个系统,其中的接纳控制装置是这样安排的,即,按以下公式确定k:
                 k=floor(C/Blower)
其中,C和Blower是以扇区数表示的。
4.权利要求1中所要求的一个系统,其中的接纳控制装置是这样安排的,即,对于要被用来读取该簇的k个块,(C mod k)个块的长度等于(C/K)的上舍入值,(k-C mod k)个块的长度等于(C/K)的下舍入值。
5.权利要求1中所要求的一个系统,其中要被用来读取该簇的k个块的相应的块长互相相等并且是C的除数,簇长C和相应的块长是以扇区数表示的。
6.权利要求1中所要求的一个系统,其中的簇长C有至少2,3,4,5,6,7,8,9和10个除数,簇长C是以扇区数表示的。
7.权利要求1中所要求的一个系统,其中的接纳控制装置是这样安排的,即,为新流的块确定一个最大块长Bupper,块长Bupper足够小以使得在一个长度为P的周期内,该块可被从存储介质中取出,同时,在同一周期内,现有流的块也可被取出,并且,若新流所要求的用于读一个簇的k个块中至少有一个块的块长大于该最大块长Bupper,则接纳控制装置不允许接受该新流。
8.权利要求1中所要求的一个系统,其中的接纳控制装置按以下公式确定最大块长Bupper P ≥ Σ j = 1 n + 1 B j r min + s ( n + 1 )
其中:
Bj,upper是流j的最大块长,
rmin是存储介质的保证传输率,
n是现有流的数量,在这些流中,要加入新流,
s(x)是在一个时间区间P内,对存储介质的x次访问的转换用系统开销,
P是从存储介质读取块的周期的最大持续时间。
9.一个系统,用于周期性地向一个存储介质写入数据块,借此以流的形式接收数据块,其中,数据块被存入一个包含逻辑上连续的簇的文件中,一个簇的簇长为C,并有物理上连续的存储扇区,用于存储数据,该系统包括:
-接纳控制装置,用于控制是否接纳一个最大比特率为cmax的新流,和
-写入装置,用于在一个最大持续时间为P的周期内,向存储介质中为各个流存入数据块。
其中的接纳控制装置是这样安排的:
-为该新流的数据块确定一个最小块长Blower,块长Blower足够大以存储在长度为P的周期内以速率cmax接收的数据,
-确定在一个长度为C的簇中,块长Blower能出现的次数k,
-通过将该簇大小C平均分入k个块长中,来为要被用来向该簇写入的k个块确定一个相应的块长,以使该簇能由k个块完全写入。
10.一种方法,用于周期性地从一个存储介质上的一个文件中读取数据块,并以流的形式提供这些数据块,其中,数据块是从一个包含逻辑上连续的簇的文件中读取的,一个簇的簇长为C,并有物理上连续的存储扇区,用于存储数据,该方法包括以下步骤:
-控制一个最大比特率为cmax的新流的接纳,和
-周期性地从存储介质中为各个流读取数据块,一个周期的最大持续时间为P。
其中控制接纳该新流这一步骤包括:
-为该新流的数据块确定一个最小块长Blower,块长Blower足够大以维持在长度为P的时间区间内以速率cmax消耗数据,
-确定在一个长度为C的簇中,块长Blower能出现的次数k,
-通过将该簇长C平均分入k个块长中,来为要被用来读该簇的k个块确定一个相应的块长,以使该簇能由k个块完全读完。
11.一种方法,用于周期性地向一个存储介质上的一个文件中写入数据块,借此以流的形式接收数据块,其中,数据块被存入一个包含逻辑上连续的簇的文件中,一个簇的簇长为C,并有物理上连续的存储扇区,用于存储数据,该方法包括以下步骤:
-控制一个最大比特率为cmax的新流的接纳,和
-周期性地向存储介质中为各个流存入数据块,一个周期的最大持续时间为P。
其中控制是接纳该新流这一步骤包括:
-为该新流的数据块确定一个最小块长Blower,块长Blower足够大以存储在长度为P的时间区间内以速率cmax接收的数据,
-确定在一个长度为C的簇中,一个块长Blower能出现的次数k,
-通过将该簇长C平均分入k个块长中,来为要被用来向该簇写入的k个块确定一个相应的块长,以使该簇能由k个块完全写入。
CN018013899A 2000-03-24 2001-03-13 用于访问存储介质上的数据块的系统和方法 Expired - Lifetime CN1218237C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00201075.9 2000-03-24
EP00201075 2000-03-24

Publications (2)

Publication Number Publication Date
CN1426552A true CN1426552A (zh) 2003-06-25
CN1218237C CN1218237C (zh) 2005-09-07

Family

ID=8171251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN018013899A Expired - Lifetime CN1218237C (zh) 2000-03-24 2001-03-13 用于访问存储介质上的数据块的系统和方法

Country Status (6)

Country Link
US (1) US7096327B2 (zh)
EP (1) EP1287425A2 (zh)
JP (1) JP2003529146A (zh)
KR (1) KR20020020891A (zh)
CN (1) CN1218237C (zh)
WO (1) WO2001073537A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1312570C (zh) * 2004-08-06 2007-04-25 威盛电子股份有限公司 进行硬盘阵列数据迁移的方法及相关装置

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7934232B1 (en) 2000-05-04 2011-04-26 Jerding Dean F Navigation paradigm for access to television services
US7194563B2 (en) 2001-12-05 2007-03-20 Scientific-Atlanta, Inc. Disk driver cluster management of time shift buffer with file allocation table structure
US7962011B2 (en) 2001-12-06 2011-06-14 Plourde Jr Harold J Controlling substantially constant buffer capacity for personal video recording with consistent user interface of available disk space
US8565578B2 (en) 2001-12-06 2013-10-22 Harold J. Plourde, Jr. Dividing and managing time-shift buffering into program specific segments based on defined durations
US7120782B2 (en) * 2002-01-16 2006-10-10 Telefonaktiebolaget Lm Ericsson (Publ) Methods, systems and computer program products for accessing descriptive information associated with a TDMA/GSM switch
US7293150B2 (en) * 2002-06-28 2007-11-06 Microsoft Corporation Method and system for creating and restoring an image file
US8181205B2 (en) 2002-09-24 2012-05-15 Russ Samuel H PVR channel and PVR IPG information
CN1922688A (zh) * 2003-12-03 2007-02-28 皇家飞利浦电子股份有限公司 用于处理一组至少一个数据对象的方法和设备
US8161388B2 (en) 2004-01-21 2012-04-17 Rodriguez Arturo A Interactive discovery of display device characteristics
US7702849B2 (en) * 2004-09-03 2010-04-20 Nokia Corporation Method and apparatus for dividing and storing data into plural files
US8239869B2 (en) 2006-06-19 2012-08-07 Condusiv Technologies Corporation Method, system and apparatus for scheduling computer micro-jobs to execute at non-disruptive times and modifying a minimum wait time between the utilization windows for monitoring the resources
US8056083B2 (en) 2006-10-10 2011-11-08 Diskeeper Corporation Dividing a computer job into micro-jobs for execution
US9588809B2 (en) * 2006-10-10 2017-03-07 Invistasking LLC Resource-based scheduler
GB2439577B (en) * 2006-06-30 2011-12-14 Data Equation Ltd Data processing
KR20100071063A (ko) * 2007-10-05 2010-06-28 디스키퍼 코포레이션 고체 상태 드라이브 최적화기
KR101433860B1 (ko) * 2007-10-10 2014-08-26 삼성전자주식회사 파일을 효율적으로 관리할 수 있는 정보 처리 장치
JP5607175B2 (ja) 2010-03-08 2014-10-15 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. データ記憶装置及び方法
US9680689B2 (en) * 2013-02-14 2017-06-13 Comcast Cable Communications, Llc Fragmenting media content

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5701582A (en) * 1989-08-23 1997-12-23 Delta Beta Pty. Ltd. Method and apparatus for efficient transmissions of programs
DE69626478T2 (de) * 1995-07-13 2003-11-20 Koninklijke Philips Electronics N.V., Eindhoven Verfahren und system zum wiederholen von daten zwischen logisch aufeinanderfolgenden cluster
JPH0981497A (ja) * 1995-09-12 1997-03-28 Toshiba Corp 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法
WO1997021173A2 (en) * 1995-12-01 1997-06-12 Philips Electronics N.V. Method and system for reading data for a number of users
WO1999001808A2 (en) * 1997-07-02 1999-01-14 Koninklijke Philips Electronics N.V. System for supplying data streams
US6018359A (en) * 1998-04-24 2000-01-25 Massachusetts Institute Of Technology System and method for multicast video-on-demand delivery system
WO2000057635A1 (en) * 1999-03-23 2000-09-28 Koninklijke Philips Electronics N.V. Multimedia server

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1312570C (zh) * 2004-08-06 2007-04-25 威盛电子股份有限公司 进行硬盘阵列数据迁移的方法及相关装置

Also Published As

Publication number Publication date
EP1287425A2 (en) 2003-03-05
JP2003529146A (ja) 2003-09-30
WO2001073537A3 (en) 2002-11-14
CN1218237C (zh) 2005-09-07
WO2001073537A2 (en) 2001-10-04
KR20020020891A (ko) 2002-03-16
US20010032293A1 (en) 2001-10-18
US7096327B2 (en) 2006-08-22

Similar Documents

Publication Publication Date Title
CN1218237C (zh) 用于访问存储介质上的数据块的系统和方法
US5913026A (en) Method of allocating multiple users to a multiple user data distribution system
EP1262062B1 (en) A disk scheduling system with reordering of a bounded number of requests
Gemmell et al. Multimedia storage servers: A tutorial
JP3308814B2 (ja) ビデオサーバシステムに於いて平均的なシーク時間及びバンド幅を達成するための方法及びシステム
EP0886971B1 (en) Method and system for supplying data streams
US5708796A (en) Method of retrieving continuous and non-continuous media data from a file system
US6934818B2 (en) Access control apparatus and method for controlling access to storage medium
CA2207076C (en) Methods and apparatus for controlling access to a recording disk
EP0701198A1 (en) Method for operating an array of storage units
US6564231B1 (en) Method for managing optical disk library files in accordance with the frequency of playback requests selected simultanenously at a specified time intervals
US7016598B2 (en) Data recording/reproduction apparatus and data recording/reproduction method
EP1362290A1 (en) Device and method for managing the access to a storage medium
EP2250568B1 (en) A method for data storage means and a system with data storage means
US8520478B2 (en) Readout device, readout method, program, and program recording medium
JPH07220457A (ja) ディスク状記録媒体のアクセス方法、記録再生装置及び情報データ記録再生システム
JPH07220389A (ja) ディスク状記録媒体のアクセス方法、記録再生装置及び情報データ記録再生システム
Huang Storage placement and disk scheduling algorithm for real-time multimedia editing and retrieval
JPH07220390A (ja) ディスク状記録媒体のアクセス方法、記録再生装置及び情報データ記録再生システム

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
ASS Succession or assignment of patent right

Owner name: IPG ELECTRONICS 503 CO., LTD.

Free format text: FORMER OWNER: ROYAL PHILIPS ELECTRONICS CO., LTD.

Effective date: 20090821

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20090821

Address after: British Channel Islands

Patentee after: Koninkl Philips Electronics NV

Address before: Holland Ian Deho Finn

Patentee before: Koninklike Philips Electronics N. V.

ASS Succession or assignment of patent right

Owner name: KERUI TECHNOLOGY SOLUTIONS CO., LTD.

Free format text: FORMER OWNER: IPG ELECTRONICS 503 LIMITED

Effective date: 20120524

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20120524

Address after: Delaware

Patentee after: Corey Technology Solutions Ltd

Address before: British Channel Islands

Patentee before: Koninkl Philips Electronics NV

CX01 Expiry of patent term

Granted publication date: 20050907

CX01 Expiry of patent term