直接存取长期存储装置的系统和方法

文档序号:7564634阅读:388来源:国知局
专利名称:直接存取长期存储装置的系统和方法
技术领域
本发明涉及到获得最大的计算机长期存储器输入/输出率的领域,而更具体地涉及到下一领域不经过中央处理器和主存而直接向/从长期存储装置输入/输入。
计算机系统一般包括一个中央处理器、一个输入/输出接口、多个输入/输入装置(键盘、显示器、打印机等)和一个存储系统。中央处理器使用存储系统来存储程序及其所用数据,根据现代计算机原理,存储系统是按层次结构加以组织的,也即,经常存取的数据存于高速的存储器中(也即高速缓存),不很经常存取的数据存于主存中(随机存取存储器或RAM),以及不常存取的数据存于低速的存储器内,例如硬盘或软盘,现在还包括如CDROM和数字磁带那样的装置。
在此层次结构内,存于盘上或其它长期存储装置上的数据由中央处理单元(CPU)复制写入主存,以供使用。存于长期存储装置上的数据也可传送出计算机系统之外,但通常要在CPU控制下通过主存送出即使使用直接存储存取(DMA)方式将数据传送入主存或从主存送出,系统仍从CPU“挪用周期”,因当DMA存取在进行时CPU无法访问存储器。这样来传送数据是比较慢的。其中CPU是一个典型的瓶颈,但对大多数交互式计算机程序和诸如声响或视频任务那样专门的数据传送系统来讲,它也是够用的了。
在计算机系统的数据传送中还有一个数据流瓶颈,就是输入/输出(I/O)接口装置。I/O接口装置一般是一个集中的系统,所有进入CPU和主存以及从它们出来的数据必须通过I/O接口装置。所有从磁盘系统输出到外界的数据必须先通过I/O装置进入主存,然后再从主存通过I/O装置输出到外界。
要求从大的长期存储系统传送大量数据的新的应用项目是点叫录像。在点叫录像中,顾客点叫一个电影或其它节目,系统进行响应,将此节目传送给顾客。这类节目以数字形式传送给装置顶盒转换器,而装置顶盒则将此节目转换成提供给电视装置的模拟量输入。由于节目是以数字形式存储的,它们存放在包括诸如CD ROM、计算机盘、大规模RAM阵列、和/或数字带那样的介质的大的计算机存储系统中。能将一个节目作多种放像,每个顾客可在不同时间从头观看每个可点叫的节目。因此,每个介质必须有能力读取同一个节目的多个不同位置的内容,而且同时传送每个节目内容。
使用现有技术的层次结构来建立点叫录像系统时,需要将数据从存储介质通过I/O系统送到主存,并在那里加以格式化,以便传给顾客。数据接着通过I/O系统送回到网络接口。按照点叫录像系统的需要,能够同时从多个存储介质和从每个介质的多个地址读取数据时系统需要一个非常快的处理器,速度很高的主存和一个复杂的I/O系统。要同时将所有数据通过I/O装置从存储介质传送到主存并接着通过I/O装置送到众多目的地,就要求同时进行多项操作,还可能要求对同样的数据进行多项操作,以便将同一个程序送往几个不同地点。此外,计算机必须接受顾客的点叫要求、记录记帐信息、向顾客显示用于停止、往后退、快速向前移或调换节目的信号。所有这些同时执行的功能要求CPU不丢失周期或具有大量的并行处理。
构成点叫录象系统的另一个问题是每个节目有其单独的频宽要求,而后者和其它节目不同。例如,单声道的黑白电影要求较少数据,因此比现代的耗费巨资拍摄的立体声的(或加强型立体声)彩色电影的频带要窄。所用频带愈宽,则CPU能完成处理操作(例如接受点叫要求)就愈少,因传送数据要占用CPU、主存和I/O装置。
因此,技术中的问题是没有系统可用于将大量的具有不同频宽要求的数据从长期存储器传送至外界装置而不必由中央处理器将数据送入主存。
这个问题得到了解决,一种系统和方法取得了技术上的进展,该系统和方法可用于将诸如硬盘、CD ROM等长期存储装置的输出直接传送给它的目的地,而不需首先通过中央处理器、主存或集中的I/O系统。按照本发明的一种装置从众多的长期存储装置获取数据,并将数据通过众多通道传送给包网络,每个这样的通道要求特定的频宽。该装置包括一个连接到长期存储装置(例如磁盘系统、CDROM等)的存储装置适配器。该适配器对应于所选通道,从存储装置读取数据并将数据送至存储器的一个位置。网络接口从缓冲存储器中该位置读取数据,将数据加以格式化,并对应于所选通道将数据送到包网络。控制器如此选择通道,以便所有通道接受它们所需频宽。该控制器最好包括一个具有众多入口的表,其中每个入口可包括一个通道标帜。所有通道在表中都至少有一个入口。而需要更宽频带的通道在表中具有多个入口。控制器轮流地访问表中每个入口和选择入口中包含的通道。因此,所有数据通过该装置加以传送而不牵涉到CPU、主存或集中I/O装置,将CPU释放出来用于接受点叫要求,记帐和其他工作。此外,每个通道可以不干扰CPU的工作而具有自己的频宽要求。
根据本发明的又一个装置提供点叫录象。该装置接受顾客用于标志所需节目(或其他用于操纵节目的命令)的信号。一个或更多个内容存储单元接收该信号并作出相应的反应。初始时,内容存储单元从一个或更多个长期存储装置读取数据,将数据加以格式化以便在包网络上加以传送,并在包网络上传送数据。每个内容存储单元最好包括一个存储装置适配器,一个缓存和一个网络接口。存储装置适配器为所选通道从存储装置读取数据,并将数据移入缓存。网络接口在缓存中存放所选通道数据的位置读取数据,将数据加以格式化以便在包网络上传送,并在包网络上传送数据。内容存储单元最好有一个可选择通道的控制器。该控制器包括一个具有众多入口的表,其中每个入口可包含一个入口标识。所有通道在表中具有至少一个入口,而要求更宽频带的通道在表中具有多个入口。控制器轮流访问每个入口并选择入口中包含的通道。因此可以实现点叫录象装置,后者没有以下多重操作通过I/O装置将数据读入主存,在主存中将数据格式化和通过I/O装置将数据送回到外面。
结合附图和下面的描述,可以对本发明有更全面的了解,附图中有

图1是根据本发明实施例直接将数据从长期存储装置传送到网络接口的交互式视频服务器的实施例的框图;图2是根据本发明实施例的图1的内容存储单元的框图;图3是图2的内容存储单元的操作流程图;图4是根据本发明实施例的图2的内容存储单元所用时间片表实例;以及图5是根据本发明实施例的图2的内容存储单元所用通道描述表实施例。
图1是显示了根据本发明实施例的交互式视频服务器10,它能直接将数据从长期存储装置传送出来而不必将获取的数据通过集中I/O装置或主存,或挪用CPU周期。交互式视频服务器10将视频节目(也即电影或其他节目的材料)提供给众多顾客。这些顾客可以向系统送出信号,提出他们所要的节目,从而点节目,以及可以通过同一信号通道将节目停止、暂停、快速向前移、往后倒或加以调换。响应于顾客的要求,交互式视频服务器10直接向长期存储单元存取并向顾客网络提供数字编码的视频图象,以备传送到它的目的地。
在本发明的实施例的交互式视频服务器10中,有众多的由12、14和16代表的点叫处理器,后者接受顾客信号并送回确认信号或其他数据给顾客。点叫处理器12、14和16确定所点叫节目的存储位置和顾客的目的地址,以及将这些数据送到局域网(LAN)18。在本实施例中,LAN18是一个以太LAN,这是技术中大家所熟知的。LAN18在点叫处理器12、14和16,以及由内容存储单元20所代表的众多内容存储单元问提供通信。
点叫处理器12、14和16可以是大家熟悉的具有CPU,主存和I/O装置的计算机。另一方案是,点叫处理器12、14和16可以是用于接受信号的输入/输出装置,并是更大的分布式计算机的一部分。这种情况下,还会有一个CPU(未示出)连到LAN18。一个主存单元(未示出)也可以连到CPU或LAN18。内容存储单元20是单独的,并和其他这类单元分开,它的操作独立于点叫处理器12、14和16以及LAN18上的任何其他计算机。
根据本实施例,内容存储单元20对由盘22和24代表的长期存储单元进行访问,该盘22和24存有符合电影专家组(MPEG-2)标准的组包的音频和视频信号。内容存储单元20将这类数据送给由26、28和30代表的众多的网络链路。这些链路可将内容存储单元20连至其他单元,连至一个网络,或连至个别顾客。
内容存储单元20包括一个连接至LAN18并因而和点叫处理器12、14和16通信的控制器32。控制器32对从LAN18接收到的对视频服务的要求进行管理,并将存储装置适配器34、缓存36和网络接口38加以配置,以便将数据从存储装置22、24送到网络链路26-30。如下面将结合图2所描述的存储装置适配器34访问存储装置22、24并将从这些存储装置所获取的数据传送入缓存36网络接口38按照下面将结合图3所描述的算法将存在缓存36内的数据移出,并将这些数据送至网络链路26、28和30。
当点叫请求到达例如点叫处理器12时,后者在数据库(未示出)中进行巡视,以确定众多内容存储单元20中哪一个单元和所需节目材料相关连。于是点叫处理器12将所需节目材料的标识和顾客的目的地址放入一条信息中,并将它通过LAN18送至合适的内容存储单元,本例中是内容存储单元20。内容存储单元20中的控制器32接收节目请求并确定众多存储装置22-24中哪一个持有该节目。接着控制器32为该节目建立一条通道,以便提供路径,将节目材料通过内容存储单元20送至网络链路,例如28。于是节目数据即从一个装置,例如22,读取出来并送入缓存36。网络接口38接着将数据从缓存36移出,将数据格式化以备在网络链路28上传送,并将数据送到网络链路此外,点叫处理器12可能收到将节目停止、暂停、快速向前移或往后倒的命令。点叫处理器12将这些命令放入一条信息并将它送上LAN18,该信息然后由控制器32接收。控制器32将它的表加以更新并使内容存储单元采取恰当的行动。
现参照图2,图中示出了一个内容存储单元20(来自图1)。如上所述,一般情况下内容存储单元20包括一个连至LAN18并从它接受命令的控制器32。控制器32使存储装置适配器34去访问由22和24代表的众多的所连的存储装置中的一个,并将数据传送给缓存36。存储装置22和24在图上示如磁盘系统,但它们可以是任何形式的存储装置,如CD ROM8mm DAT或4mmDAT。在本发明的实施例中,存储装置适配器34和存储装置22、24之间的连接是SCSI双向链路,以便从存储装置22、24向存储装置适配器34传送数据,或从存储装置适配器34向存储装置22、24传送数据。当例如节目材料(或数据)从另一个内容存储单元装入存储介质时,这种向存储装置22、24传送数据是需要的。例如,当需要一个卖座电影的多个拷贝时这是有用处的。
如上所述,控制器32为每个从存储装置22、24读取和传送到网络链路26-30的程序建立起一条通道。对每一条通道而言,在缓冲存储器36中有一个或多个位置,供特定程序向这些位置传送数据,当一个通道中数据送入缓冲存储器36时,网络接口38为另一个通道将其他数据移走。网络接口38将数据从缓冲存储器36移出,将它们格式化,并将它们送上网络链路26-30中合适的通道。网络链路26、28、30是网络连接的例子。如网络链路26、28、或30中的一个频宽大于或等于网络接口38的总频宽,则只需要一个多路传送的网络。
在本发明的实施例中,数据存于MPEG-2传送流包内,后者每包包括188字节,正如技术中所知的,一个ATM单元包括一个首部,其中有目的地址和一个48字节的载包,根据MPEG-2标准,一个47字节的MPEG-2传送流包装入每个ATM载包。该48字节是一个ATM适应层(AAL)首部,它和ATM中MPEG-2传送流包部分的顺序保持一致。
缓冲36从存储适配器34接收MPEG-2包,以及网络接口从缓冲36读取47字节的部分并将它们封装入一个ATM单元,以便在通道26-30上传送。发送器202附加上ATM首部信息,后者包括从控制器32接到的特定顾客的目的地址。发送器202将该ATM包送至一个FIFO204。FIFO204用作包传送的适配缓存。FIFO204将ATM单元送至接口206,后者再将ATM单元送至目的网络链路26-30。
网络接口38也可以从网络链路26-30接收数据。接口206接收数据并将它们送至FIFO208(适配缓存),以供接收器210处理。接收器210将ATM单元从FIFO208移来,剥去ATM首部,并根据特定通道将它送入缓冲存储器36。存储装置适配器34接着从缓冲存储器36读取该特定通道并将缓冲存储器36的内容送至有关的存储装置。
发送器202从网络钟源接收网络同步脉冲212,该网络钟源具有层1精度。如下面将描述那样,发送器202将网络同步脉冲212用于协调它的操作。
现参照图3,示出的流程图描述了控制器32的操作。处理从动作盒300开始,其中将控制器初始化,并将用于访问时间片表(图4)的索引初始化为零值。处理进入判别盒310,其中判别是否接收到时钟同步脉冲。如未接收到时钟同步脉冲,处理即在判别盒310等待。当判别盒310中接收到时钟同步脉冲后,处理即进入动作盒320,其中使用索引值去读取时间片表,以确定是否有通道需要服务。
参照图4,图中显示了用于控制器32的时间片表。内容存储单元20的一个用途是支持多个频宽值,以使每个通道可以具有它自己的频宽要求。本发明实施例使用时间片表,其中每个表入口可以在其中具有一个通道ID(或一个零入口)。控制器轮流访问表入口,并为每个找到的有效通道ID将该通道所用47字节的数据从缓存36移入网络接口38,附加ATM首部信息,并允许将该单元传送到ATM网络。这样做法,可让一个特定通道在表中占用多个入口,以便获得更大频宽。每个通道肯定在表中至少有一个入口。因此频宽的量度是表中入口的数目。
根据图4,可用下法获得该表,假设同步信号212具有周期f,可使用对应于时钟周期整数倍的网络同步信号来算出时钟频率,该时钟周期对于传送通道是必要的(47字节的MPEG-2传送流包可封装在一个ATM单元内并在一个时钟周期内传送)。因此需要4个这样的时钟周期来传送一个完整的188字节的MPEG-2传送流包。t是此时钟频率的周期,其中f/t是一个整数。C是网络接口的频宽能力。对一个SONETSTS-3C端口的ATM输出而言,可用的频宽大约为132Mbps。一个超帧周期F选来代表将整个表处理一遍所需时间。超帧中的时间片的数目是P,因而F=P·t。r是通向输出端口的一个视频通道的最小频宽以保证P·r≤C,如n是单独视频通道的数目,每个通道通向输出端口的不同率值为ri,则下列条件应该成立Σj=1n(ri)≤C]]>。每个率值ri是率值r的整数倍。在本发明最佳实施例中,P应大而F应为小f值的整倍数。r等于C/P,其值很小。
如最小频宽希望很小,则如果f(同步信号的时钟周期)等于125微秒,及C(ATM输出端口的频宽能力)等于132.352Mb/s(SONETSTS-3C端口),则f/t=44及t=2.841微秒。如P=5000(表中有5000个入口),则F(处理一遍表所需时间)=P·t(每个入口所需时间),等于5000×2.841=14.205毫秒,以及r(频宽分辨率)=C/P=132.352/5000=26.47Kb/6否则,为了得到最大通过量,F=f=125微秒,125微秒中47个字节的速率是3.008Mbps。如此率值是r,则t=1/r=2.841微秒。因此P=F/t=125/2.841=44入口在表中。
回到图3,处理从动作盒320进行到判别盒330,其中对在时间片表中找到的通道ID检查其有效性。如通道ID无效,也即,超出可用通道ID的范围,则处理进到动作盒340,并将索引值增1,处理即回至判别盒310循环的顶部,去等待下一个时钟同步信号。
如在判别盒330内发现由表400来的通道ID有效,则处理进入动作盒350,其中将通道ID用作索引,读取描述表。一个典型的描述表示于图5,在盒360中,首先确定通道是否激活。在图5例中通道1的通道状态是“激活”。当通道未被激活时,如通道2是“暂停”,通道5是“停止”,则可选用一种确定操作,来确定ATM适应层(AAL)顺序计数是否为零。AAL顺序记数记下了每个MPEG-2传送包送出的ATM单元数目。由于需要4个ATM包来传送1个MPEG-2传送流包,该系统必须注意是否整个MPEG-2包已送出。这是重要的,例如当顾客“停止”或“暂停”后而又重新起动流时,可以将MPEG-2包送完而防止出现同步问题。
实际上,通道2的AAL顺序记数是零。因此不必再做什么,处理进入盒340,将索引值增1,再回到判别盒310去等待网络同步信号。如AAL顺序记数不是零,例如通道5中为1,则处理必须将AAL顺序送完。继续在此通道上操作,直至AAL顺序计数又回到零值(也即,所有4个包含MPEG-2传送流包的ATM包都已送出且AAL顺序计数回到零值)。
进一步还可选用检查操作,来检查通道类型和缓存状态域。缓存状态可以是“满”(有需要传送的数据),“空”(没有数据要传送),“存储装置”(存储装置正写入缓存),或ATM(发送器正读取缓存)。发送器202应经常看到此域中为“满”,并接着将状态改变为“ATM”。如状态总是“空”,则可能会出现错误情况。接着去了解通道类型,如通道类型为“常值”,则缓存中应有数据,因它们以常速被读取。缓存状态为“空”时就出现错误,如通道类型为“变值”,则“空”的状态只意味着此时无数据要读取,因此该通道可跳过。
如通道状态是激活(或AAL顺序记数不是零),则正如判别盒360中确定的,处理进入动作盒370,其中读取起始和终结的缓存地址。这些数值用来保证在读取47字节时,读取操作不会越过终结地址(当数据写入缓存36时,终结地址增值以反映出缓存中有更多数据)。处理即进入盒380,其中将47字节(1个ATM单元的载包)从缓存36读入发送器202,并将读取指针更新。发送器202接着为该特定通道附加上ATM目的地首部,并将完整的ATM单元放入FIFO204,以等待下一次通过接口206传送出去。
处理进入动作盒340,将索引值增1并检查其范围,如该索引值超出可用时间片的范围,则它被设置回到第一入口,于是处理回至判别盒310,等待下一个时钟同步。
应该理解,上面所描述的实施例只是为了解释本发明的原理,因此熟悉技术的人可以在不背离本发明范围的情况下作很多改动。例如,本系统可用于将数据从一个计算机传送至另一计算机。这两台系统都不用CPU周期,因此提高了传送效率,因此认为这种改动包括在权利要求书的范围内。
权利要求
1.一种用于从众多长期存储装置获取数据并将所述数据直接送至包网络的装置,所述装置支持所述数据使用众多通道,每个所述通道具有一个预定的频宽要求,所述装置包括连接至所述众多长期存储装置,用来对应于所选通道从所述众多长期存储装置中所选的一个存储装置内读取数据的存储装置适配装置;连接至所述存储装置适配装置的用于存放数据的缓冲存储装置,所述缓冲存储装置具有多个位置,所述缓冲存储装置从所述存储装置适配装置接收数据,并对应于所述所选通道将所述数据存放于众多位置中的一个位置;连接至所述缓冲存储装置,用于从所述缓冲存储装置读取数据,并对应于所述所选通道将所述数据传送给所述网络的网络接口装置;以及用于从所述众多通道中选取所述所选通道,并使所述众多通道的每个通道的预定频宽要求都得到满足的控制装置。
2.根据权利要求1的装置,其中所述包网络包括一个异步传送模式ATM网络以及数据在ATM单元中加以传送,所述ATM单元具有一个首部和一个载包,其中所述网络接口装置包括用于在所述缓冲存储器中读取其长度等于所述ATM单元载包大小的所述数据的那部分并将所述数据写入ATM单元的装置,还包括用于将一个ATM首部附加到所述ATM单元的装置。
3.根据权利要求1的装置,其中所述控制装置还包括一个具有众多人口的表,所述控制装置具有在所述表中选取一个入口的装置,其中每个所述通道在所述表中具有至少一个入口,而需要更大频宽的通道在所述表中具有多个入口。
4.一种提供点叫录象的装置,所述装置接收顾客信号,并对应于所述顾客信号在一个包网络上将代表节目材料的数据传送给所述顾客,所述装置包括一个或更多个对所述顾客信号作出响应,用于直接从长期存储装置读取数据,将所述数据加以格式化,以便在所述包网络上传送,以及将所述数据在所述包网络上加以传送的内容存储装置,所述内容存储装置包括一个存储单元适配器,一个缓存和一个网络接口,所述存储单元适配器用于从所述长期存储单元读取数据并将数据送入所述缓存,以及所述网络接口用于读取所述缓存、附加上可由所述包网络使用的地址并在所述包网络上传送所述包。
5.根据权利要求4的装置,其中所述装置支持所述数据的众多通道,以及所述存储单元适配器、缓存和网络接口对应于一条所选通道,用于将数据从所述长期存储装置、通过所述存储单元适配器、所述缓存和所述网络接口传送至所述网络。
6.根据权利要求5的装置,其中每个通道具有预定的频宽,所述装置还包括一个用于从所述众多通道中选取所述所选通道的控制装置,其中所述控制装置包括一个具有众多入口的表,每个所述通道在所述表中具有至少一个入口,所述控制装置具有用于在所述表中的所述众多入口中选取一个入口的装置,其中需要更大频宽的通道具有所述表中的多个入口。
全文摘要
一种装置,它从众多长期存储装置中获取数据并在众多通道上将数据传给包网络。其中每个通道有一个特定的频宽要求。该装置包括一个接连至长期存储装置(例如磁盘系统、CD ROM等)的存储装置适配器。对应于一条所述通道,该适配器从存储装置读取数据,将数据送至缓冲存储器的一个位置。网络接口从该缓冲存储器的该位置读取数据,将数据格式化,并将数据送至包网络。一个控制器选取一条通道,并使所有通道都接收它们所需频宽。
文档编号H04N7/173GK1118474SQ94119918
公开日1996年3月13日 申请日期1994年12月27日 优先权日1993年12月30日
发明者斯瑞尼瓦·V·马克姆 申请人:美国电报电话公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1