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

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

Info

Publication number
CN1218237C
CN1218237C CN018013899A CN01801389A CN1218237C CN 1218237 C CN1218237 C CN 1218237C CN 018013899 A CN018013899 A CN 018013899A CN 01801389 A CN01801389 A CN 01801389A CN 1218237 C CN1218237 C CN 1218237C
Authority
CN
China
Prior art keywords
bunch
stream
piece
block length
length
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 - Lifetime
Application number
CN018013899A
Other languages
English (en)
Other versions
CN1426552A (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

Classifications

    • 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
    • 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
    • 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

用于访问存储介质上的数据块的系统和方法
技术领域
本发明有关一个用于周期性地从一个存储介质中读取数据块,并以流的形式提供这些数据块的系统。
本发明还有关一个系统,用于周期性地向一个存储介质中写入数据块。
本发明还有关一种方法,用于周期性地从一个存储介质上的一个文件中取出数据块,并以流的形式提供这些数据块。
本发明还有关一种方法,用于周期性地将数据块写入一个存储介质上的一个文件中。
背景技术
美国专利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个块完全写入。这就允许存储介质被组织为一些有一定簇长的簇,这些簇被用于写入文件数据。当接收到一个请求(该请求希望接纳一个新流)时,当即就可以根据该新流为写入这样一个文件的块选择一个块长,同时,仍能够通过一次寻道操作写一个块。
确定写入数据块块长的方式与确定读出数据块块长的方式类似。
在从属权利要求中描述了各种推荐实例。
本发明的另一目的是提供一种用于周期性地读取数据块的方法,其中解决了已知系统的问题。该目的是通过根据本发明的方法实现的,其中该方法用于周期性地从一个存储介质上的一个文件中读取数据块,并以流的形式提供这些数据块,其中,数据块是从一个包含逻辑上连续的簇的文件中读取的,一个簇的簇长为C,并有物理上连续的存储扇区,用于存储数据,该方法包括以下步骤:
-控制一个最大比特率为cmax的新流的接纳,和
-周期性地从存储介质中为各个流读取数据块,一个周期的最大持续时间为P,所述流包括新的流,
其中控制接纳该新流这一步骤包括:
-为该新流的数据块确定一个最小块长Blower,块长Blower足够大以维持在长度为P的时间区间内以速率cmax消耗数据,
-确定在一个长度为C的簇中,块长Blower能出现的次数k,
-通过将该簇长C平均分入k个块长中,来为要被用来读该簇的k个块确定一个相应的块长,以使该簇能由k个块完全读完。
在从属权利要求中描述了各种推荐实例。
本发明的另一目的是提供一种用于写数据块的方法,其中解决了已知系统的问题。该目的是通过根据本发明的方法实现的,其中该方法用于周期性地向一个存储介质上的一个文件中写入数据块,借此以流的形式接收数据块,其中,数据块被存入一个包含逻辑上连续的簇的文件中,一个簇的簇长为C,并有物理上连续的存储扇区,用于存储数据,该方法包括以下步骤:
-控制一个最大比特率为cmax的新流的接纳,和
-周期性地向存储介质中为各个流存入数据块,一个周期的最大持续时间为P。
其中控制是接纳该新流这一步骤包括:
-为该新流的数据块确定一个最小块长Blower,块长Blower足够大以存储在长度为P的时间区间内以速率cmax接收的数据,
-确定在一个长度为C的簇中,一个块长lower能出现的次数k,
-通过将该簇长C平均分入k个块长中,来为要被用来向该簇写入的k个块确定一个相应的块长,以使该簇能由k个块完全写入。
在从属权利要求中描述了各种推荐实例。
附图说明
借助于实例和附图,可以更清楚地理解本发明及其优点。
图1概述了一个按本发明读取数据块的系统,
图2概略示出了存储介质上一个文件的安排方式,
图3概略示出了一个按照本发明,周期性地将数据块写入一个存储介质的系统。
图中,相应的特性由相同的参考符号表示。
具体实施方式
图1概述了一个按本发明读取数据块的系统。该系统100是在已知结构的通用计算机的基础上构造的。该系统有一个处理器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示出了一个要被读出的块210的例子,它包含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概略示出了一个按照本发明,周期性地向一个存储介质写入数据块的系统。该系统300的结构与图1中所示的读取数据块的系统非常相似,其中有许多部分相同。用于写数据块的系统以某一速度接收一个数据流。这一流可通过一个线路108接收,不过,也可从另一资源始发,例如一个磁带。该流被暂时存放在一个缓冲空间118中,一个写模块302从该空间将数据块写入存储介质106上的一个文件中。该系统以一个最大持续时间为P的周期工作,在该周期内,所支持的各种流的数据块被写入一个文件中。该文件的组织方式与以上所描述的相同。确定要写入磁盘的块的长度的方法与从磁盘读数据块时的情况类似,如以上所示。
另外,可以将读取数据的系统和写入数据的系统组合在一个支持这两种类型的流的单独的系统中。该系统能从磁盘上相应的文件中读出块并将所读出的数据以流的形式提供给用户,并且,该系统能从外部资源接收流并将数据以块的形式写入磁盘上相应的文件中,这样一个组合系统可用于一个请求式视频服务器中。请求式视频服务器向各个用户提供一些流,例如,向各个用户呈现存储在磁盘上的影片,并接收一个或多个要被存储在磁盘上的流,例如,要被添加到服务器的保留剧目中的新影片。在这种情况下,在向请求式视频服务器加入新素材的同时,请求式视频服务器应该仍是可操作的。这样一个组合系统的另一个例子是一个基于磁盘存储的视频记录装置。这样一个装置有一个或多个调谐器,用于接收包含程序的广播信号。所接收的程序可被存储在磁盘上以供以后浏览。对一个具体程序的存储可以是由用户明确编程的,或者是根据一个用户协议子集自动启动的。用户可以挑选所存储的某个程序来浏览。随后,从该具体的文件中读出数据块,并以流的形式呈现在用户的显示设备上。该装置被用于存储当前所接收的一个或多个程序,同时,向用户呈现以前所存储的素材。在这种情况下,该系统足够快以便在将输入流存入磁盘的同时,能向用户提供不间断的流。
应指出,上述实例只起举例说明的作用,并不限制本发明的范围,在不脱离所附权利要求的范围的情况下,本技术专业人士可以设计许多替换的实例。在权利要求中,括号内的任何参考符号并不限制权利要求的范围。“包含”一词并不排除出现除权利要求所列出的元件或步骤之外的元件和步骤。一个元件前的“一个”并不排除出现多个这类元件。本发明可借助于包括几种不同元件的硬件和一个适当编程的计算机实现。在所声明设备中列举的几个元件中,其中的一些元件可由同一硬件实现。

Claims (18)

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.权利要求10中所要求的方法,其中按以下公式确定最小块长Blower
           Blowerb=P·cmax
12.权利要求10中所要求的方法,其中按以下公式确定次数k:
              k=floor(C/Blower)
其中,C和Blower是以扇区数表示的。
13.权利要求10中所要求的方法,其中要被用来读取该簇的k个块设置为(C mod k)个块的长度等于(C/k)的上舍入值,(k-C modk)个块的长度等于(C/k)的下舍入值。
14.权利要求10中所要求的方法,其中用来读取该簇的k个块的相应的块长互相相等并且是C的除数,簇长C和相应的块长是以扇区数表示的。
15.权利要求10中所要求的方法,其中的簇长C有至少2,3,4,5,6,7,8,9和10作为除数,簇长C是以扇区数表示的。
16.权利要求10中所要求的一个系统,其中为新流的块确定一个最大块长Bupper,块长Bupper足够小以使得在一个长度为P的周期内,该块可被从存储介质中取出,同时,在同一周期内,现有流的块被取出,并且,若新流对于用于读该簇的k个块中至少一个块要求大于该最大块长Bupper的块长,则不允许接受该新流。
17.权利要求10中所要求的方法,其中按以下公式确定最大块长Bupper
P ≥ Σ j = 1 n + 1 B j r min + s ( n + 1 )
其中:
Bj,upper是流j的最大块长,
rmin是存储介质的保证传输率,
n是现有流的数量,在这些流中,要加入新流,
s(x)是在一个时间区间P内,对存储介质的x次访问的转换用系统开销,
P是从存储介质读取块的周期的最大持续时间。
18.一种方法,用于周期性地向一个存储介质上的一个文件中写入数据块,借此以流的形式接收数据块,其中,数据块被存入一个包含逻辑上连续的簇的文件中,一个簇的簇长为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 CN1426552A (zh) 2003-06-25
CN1218237C true 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)

Families Citing this family (19)

* 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
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
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
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
CN1312570C (zh) * 2004-08-06 2007-04-25 威盛电子股份有限公司 进行硬盘阵列数据迁移的方法及相关装置
US7702849B2 (en) * 2004-09-03 2010-04-20 Nokia Corporation Method and apparatus for dividing and storing data into plural files
US9588809B2 (en) * 2006-10-10 2017-03-07 Invistasking LLC Resource-based scheduler
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
GB2439577B (en) * 2006-06-30 2011-12-14 Data Equation Ltd Data processing
CN102203717A (zh) * 2007-10-05 2011-09-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
ES2191759T3 (es) * 1995-07-13 2003-09-16 Koninkl Philips Electronics Nv Metodo y sistema para la repeticion de datos entre agrupamientos logicamente sucesivos.
JPH0981497A (ja) * 1995-09-12 1997-03-28 Toshiba Corp 実時間ストリームサーバ並びに実時間ストリームデータの格納方法および転送方法
DE69610552T2 (de) * 1995-12-01 2001-05-31 Koninkl Philips Electronics Nv Datenleseverfahren und -system für eine anzahl von verwendern
JP2001502458A (ja) * 1997-07-02 2001-02-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データストリーム供給システム
US6018359A (en) * 1998-04-24 2000-01-25 Massachusetts Institute Of Technology System and method for multicast video-on-demand delivery system
KR100746842B1 (ko) * 1999-03-23 2007-08-09 코닌클리케 필립스 일렉트로닉스 엔.브이. 멀티미디어 서버

Also Published As

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

Similar Documents

Publication Publication Date Title
CN1218237C (zh) 用于访问存储介质上的数据块的系统和方法
JP4135747B2 (ja) データ処理装置及びフラッシュメモリへのアクセス方法
US6321237B1 (en) Recording and reproducing apparatus and method for accessing data stored on a randomly accessible recording medium, and for managing data thereon
Ghandeharizadeh et al. Mitra: A scalable continuous media server
CN1950793A (zh) 数据存取方法,执行数据存取方法的器件及记录介质
CN1117168A (zh) 用于数据存储设备物理格式的用户定义的系统与方法
GB2416225A (en) Dynamically partitioning a storage device for mixed applications
CN1303094A (zh) 记录有数据结构的记录介质及记录/再现方法和设备
CN1308804A (zh) 用于固定和可变速率数据流的代码转换器
CN1848280A (zh) 记录装置
KR20050088460A (ko) 휴대용 스트리밍 디바이스들을 위한 전력 절약 방법
CN1795442A (zh) 用于在主存储器和存储装置之间传送数据的方法和设备
US6564231B1 (en) Method for managing optical disk library files in accordance with the frequency of playback requests selected simultanenously at a specified time intervals
CN1107258C (zh) 数据记录/再现装置和数据记录方法
CN1272207A (zh) 在/从盘形记录载体上记录/再现和/或编辑实时信息
US7016598B2 (en) Data recording/reproduction apparatus and data recording/reproduction method
CN1967505A (zh) 信息处理装置、图像摄取装置、信息处理方法及计算机程序
US8520478B2 (en) Readout device, readout method, program, and program recording medium
US20070014198A1 (en) Recording device, recording method, recording program, and program recording medium
CN1143300C (zh) 记录/重放设备、记录/重放方法
CN1258073A (zh) 记录和/或再现设备和方法以及分配媒体
CN1574052A (zh) 将可交换存储装置用于存储节目数据的系统和方法
Seo et al. Allocation strategies of multimedia data on disk arrays
CN1582436A (zh) 用于本地视频服务器的许可控制系统
To et al. Dynamic optimization of readsize in hypermedia servers

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