CN1167943A - 带记录中的自适应压缩高速缓冲 - Google Patents
带记录中的自适应压缩高速缓冲 Download PDFInfo
- Publication number
- CN1167943A CN1167943A CN97102020A CN97102020A CN1167943A CN 1167943 A CN1167943 A CN 1167943A CN 97102020 A CN97102020 A CN 97102020A CN 97102020 A CN97102020 A CN 97102020A CN 1167943 A CN1167943 A CN 1167943A
- Authority
- CN
- China
- Prior art keywords
- data
- cache memory
- record
- compressor
- tape drive
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00007—Time or data compression or expansion
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0682—Tape device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00007—Time or data compression or expansion
- G11B2020/00079—Time or data compression or expansion the compression ratio or quality level being adapted to circumstances, e.g. to the available recording space
Abstract
本发明所涉及的带记录中的自适应压缩高速缓冲改善了计算机系统中主机与诸如数字线性带驱动器的存储装置之间的数据转移效率,它提供了一种采用了数据压缩器的更为有效的存储系统,主要特点在于控制电路通过响应于高速缓冲存储器的数据记录水平而使能或旁路数据压缩器,以将高速缓冲存储器中的记录水平保持在所希望的值上,从而优化主计算机至带驱动器的转移速率以及带的启动-停止操作的次数。
Description
本发明涉及一种带有数据压缩器和缓存器的带驱动器,其中缓存器暂时存储驱动器与主计算机之间所传送的记录。更具体地,本发明涉及自适应压缩输入的数据记录以优化主机带驱动器的数据传送速率的方法。
本发明涉及共同转让给Bitner的美国专利第5210829号-标题为“用于缓存器管理的可调阈值”,其公开的内容在此被引用作为参考。
带驱动器是计算系统中大规模外设装置的一种。带驱动器完成与数据存储和恢复有关的若干重要功能。带存储的一个主要功能是为诸如硬盘驱动器的其他存储资源提供归档和备份。另一个功能是例如经过一个可拆下的带盒而从一个计算系统或环境至另一个系统或环境的数据转移。第三个功能涉及大量的物理顺序数据文件的批处理—其间不需要对数据的随机存取。第四个功能是提供大量的在线信息,例如在图书馆系统中。在这后一种功能中,带驱动器可以与带盒装载器共同运行以增大可以由相连的中央处理单元(CPU)或其他用户所直接存取的记录信息量。
具有几乎即时启动-停止能力的大型带驱动器系统,在现有技术中是已知的。然而,更近一些时间,较小的线性带驱动器(被称为“流水式(streaming)”带驱动器)、数字线性带驱动器(DLTTM)、以及螺旋扫描带驱动器(被称为“数字声频带”或DAT),在很多计算环境中已经变得很常见。这些较小的驱动器不适合于即时的启动和停止操作。因此,送到或从这些较小带驱动器恢复的用户数据通常被与驱动器相连的一个主计算系统格式化或封装成多个块或记录。
当要写一个块时,带驱动器将带速度逐渐增大至一个额定的写入速度,把一或多个块或记录写入带,并随后把带速度逐渐降至零。为了给下一个写入操作预定位带位置,也为了使带上的可用记录空间达到最大,在装置停止了带的运动之后,它把带在刚写入的区域上方卷回一段距离,以为下一个写入操作期间在下一个可用的带区之前提供一个速度逐渐增大的空间。通过适当的同步,当带驱动器到达其上将要写入新的块的带的空白部分时,带将已经达到其额定写入速度,且能够安全地开始新数据的写入操作,而相邻的记录存储区间的分隔空隙达到了最小。
所希望的是尽量地减小带驱动器的启动-停止活动的量,以延长带的寿命、减小读写头的磨损并减小功率消耗。现有技术中已知的一种解决方案,是在带驱动器中提供一个电子高速缓冲存储器。对缓存器大小的一个实际限制,是与带介质相比半导体存储器的费用较高。对于能够保持至少几个压缩的用户数据记录的大型高速缓冲存储器,这种记录能够得到累积并随后在一个单个的事务中“流入(streamed)”到带上,从而减小了带驱动器装置的启动-停止操作的次数。上述的美国专利第5210829号描述了用于在带驱动器缓存器中调节一个水位标志以尽量减小主机带数据转移的停顿并尽量增大数据转移的串长度以尽量减少带的启动-停止操作的方法。
另外,对数据记录进行压缩以存储到带上是已知的。在Severtson等人的美国专利第5194995号—标题为“用于在DAT介质上记录压缩数据的方法和设备”—中,给出了采用选择数据压缩的DAT驱动器的一个例子;该公开的内容在此被引用作为参考。这种现有技术方法采用了一种算法来判定数据压缩是否满足了预定的效率标准。如果压缩没有达到效率标准,则以未压缩的形式记录数据。Severtson等人描述的方法假定数据压缩器的运行速率远高于主计算机与DAT装置之间的有效数据传送速率。
数据压缩器通常采用一种模式识别算法,以识别用户数据串中的重复图案。以一种已知的方式用短的码字来取代检测到的图案。压缩器在数据串中向回看的越远,数据压缩处理就越有效,但向回看得越远就需要更快的压缩器。在理论上,如果数据压缩器能够以相对于数据交换速率来说非常高的速度运行,就可以实现全交换速率的数据存储装置。然而,实际的数据压缩器不能以无限高的速度运行。当主机与带驱动器之间的数据记录转移速率很高时,实际而有效的数据压缩变得非常困难。数据压缩器的速度是有限的,且在高的转移速率下,数据压缩器可能不能跟上主机,特别是当它是基于一个查询表压缩算法时。当主机与带驱动器之间的数据转移速率超过了数据压缩器的最大处理速度时,转移被停止,且主机变为“停顿”,直到数据压缩器能够处理完其等侯压缩的用户数据排队并从而赶上记录转移。
一种可能的解决方案,是把若干个数据压缩器并联,以处理输入的数据。这种并联压缩器处理方法倾向是不方便而昂贵的。另外,由于并联的每一个数据压缩器不与其他的数据压缩器检验同一用户数据串,并联数据压缩器方法不如单个数据压缩器处理有效。
另一种可能是把转移速率限制在数据压缩器能压缩数据的某一最大数据速率。如果进入压缩器的转移速率被限制在例如五兆字节/每秒(MBS),且压缩器达到了二比一的压缩比,则出来的数据速率将为两个半MBS,这将大大低于至带驱动器带的转移速率。如果当输入数据速率被限制在5MBS的情况下实现了三比一的压缩比,至带的转移速率将为1.67MBS,这大大低于带转移速率。典型的数据压缩比为2或2.5,且对于用户数据记录中经常遇到的图案通常会达到三或四比一的数据压缩比。
类似地,如果数据记录以例如5MBS进入带驱动器,且数据压缩器以2或3比1的压缩比对数据进行压缩,带输送机将以最大数据速率的一半或三分之一有效地接收压缩的数据,从而迫使带装置以不希望的启动-停止模式运行,而不是进行连续的串流水式操作。
因此,采用数据压缩器的带驱动器仍然有一个至今未解决的需要—即在主机不停顿的情况下在主机与带之间实现更为优化的数据记录转移速率,并以比以前更少的带驱动器启动-停止中断来实现至带的更为连续的串流水式操作。
本发明的总目的是改善计算系统中主机与诸如数字线性带驱动器的存储装置之间的数据转移效率。
本发明的另一个目的是提供一种它采用了数据压缩器的更为有效的带存储系统,其中主机至带驱动器的数据转移速率达到甚至超过了数据压缩器的有效数据转移速率。
根据本发明的原理,一个带驱动器被连接到一个主计算机以存储和读取用户数据记录。该带驱动器包括用于记录用户数据记录的带。该带每当把至少一个用户数据记录写入其上时和每当至少一个用户数据记录被从其读取时都进行机械运动。一个电子接口经过一个适当的接口路径结构而将带驱动器连接到主计算机。提供了一个机电式带传动机构,最好但不是在必须地以流水式带工作模式将带传送过一个读/写头结构。在接口与带之间的路径中的一个数据压缩器分别在写入和读取操作期间有选择地压缩和去压缩用户数据记录。一个电子高速缓冲存储器也位于接口与带之间的路径中,并提供暂时存储以暂时存储用户数据记录。一个电子控制电路响应于高速缓冲存储器的数据记录水平并有选择地使能和例如通过激活一个数据旁路通路而禁止所述数据压缩器,以保持高速缓冲存储器中的所希望的数据记录水平,从而优化至少一个主计算机至带驱动器的转移速率以及带传送装置的流水式操作的带的启动-停止操作之间的时间。
根据本发明的一个方面,提供了用于有选择地地压缩进入诸如数字线性带驱动器的数据存储装置的数据的一种方法,该装置包括一个数据压缩器、在数据压缩器周围有选择地地得到启动的一个旁路通路、一个高速缓冲存储器、以及一个所连接的用以在流水式操作中从高速缓冲存储器接收数据的存储介质(诸如磁存储带)。该方法包括以下步骤:
从与该装置相连的主计算机接收具有预定大小的多个数据记录,
通过使该记录通过数据压缩器并随后进入高速缓冲存储器,而对多个数据记录之一进行压缩,
判定在接收了这一个数据记录之后高速缓冲存储器的数据水平是否高于预定的水位标志基准,且如果是这样的话则使能数据压缩器周围的旁路通路,
在数据压缩器周围传送一个未压缩的第二数据记录并将其输入高速缓冲存储器,
在第二数据记录传送之后再判定高速缓冲存储器的数据水平,且
根据再判定的高速缓冲存储器的数据水平有选择地禁止或继续该旁路通路。
从以下结合附图对最佳实施例的详细描述,本发明的这些和其他的目的、优点、方面和特征对于本领域的技术人员来说将变得更为显而易见。
在附图中:
图1是根据本发明的原理的带驱动器的简化框图,该带驱动器与一个主计算机环境相连。
图2是图1所示的带驱动器的操作方法的第一最佳方法的流程图。
图3是显示了图1所示的带驱动器的操作的所示最佳方法的第一个例子。
图4是显示了图1所示的带驱动器的操作的所示最佳方法的第二个例。
图5是显示了包含本发明的原理的带驱动器的操作方法的进一步的最佳实施例和方法的第三个例子。
图1表示了一个示例性的计算机环境,用于说明本发明的原理。在此例子中,一个主计算机20包括至少一个中央处理单元(CPU)22和一个主存储器24;主计算机20经过一个接口总线结构26而与外设计算设备进行通信,其中接口总线结构26可以是宽带平行或串行双向通路或其他适当的互连装置。外设可以包括硬盘驱动器30、其他装置32-诸如打印机、终端等等、以及带驱动器34。
带驱动器34包括用于把带驱动器34连接到总线结构26的带驱动器/主机接口电路36。带驱动器34还包括一个数据压缩器电路38-它根据传统的数据压缩算法(诸如Lempel-Zev,类型1(LZ1))而进行工作。带驱动器34包括适当大小的高速缓冲存储器40-它在此例中可以是包括一个阵列控制器(未单独画出)的四兆字节固态随机存取存储器阵列。带驱动器34包括经编程的微控制器42,用于以如下所详细描述的方式控制各种电路元件和处理。带驱动器34还包括马达速度、带张力以及头定位伺服电路44、以及至带传动装置50(它在图1中用虚线与带驱动器34的其他电子电路相分离地画出)中的头结构48的数据读/写电子通道46。
从例如一个单供给卷轴带盒54提供的磁记录带52,在弯曲通过了多个带导向辊58并通过了头结构48之后,被卷绕在一个内部收起卷轴56上。在此例中,一个自动带扣接装置(未画出且与理解本发明没有特别的关系)使来自带盒54的带耦合到收起卷轴56上的一个引导头上。
带驱动器/主机接口电路36经过一个内部数据路径64而与头结构48相连,而内部数据路径64包括数据压缩器38、高速缓冲存储器40和读取/写入电路46。根据本发明的各方面,两个控制节点66和68在数据路径64中跨越了数据压缩器38并由一个旁路通路70互连,其功能将在下面详细描述。
微控制器42与一个内部控制总线结构62相连,而总线结构62使能微控制器42以监测并控制带驱动器/主机接口电路36、数据压缩器38、高速缓冲存储器40、伺服电路44、以及读/写信道电子电路46。微控制器42还控制跨越数据压缩器38的两个控制节点66和68。因而应该理解的是,根据跨越内部数据路径64中的数据压缩器38的控制节点66和68的状态,从主计算机20(或盘驱动器30)进入的用户数据记录可以直接进入数据压缩器38并随后以压缩的形式进入高速缓冲存储器40,或者数据记录可以不经压缩而直接进入高速缓冲存储器40。另外,应该理解的是,在数据压缩器38中存在有某些处理等待时间,因而从未编码的用户数据记录进入数据压缩器38至从用户数据记录导出的压缩数据从压缩器的输出完成需要一定的时间。
现在描述用于控制节点66和68与微控制器42的操作的机制。在以下的描述中,以下的术语被定义为常数或基准值:
Cr等于总体的系统压缩比,并在下面得到了更为准确的定义。
“Wm”等于或高速缓冲存储器40中设定的基准水位标志;且“Ws”等于当压缩数据已经被转移到高速缓冲存储器中且数据被转移出高速缓冲存储器40而到达带52之前所确定的动态水位标志水平。在此术语“基准水位标志”指的是高速缓冲存储器中的用户数据的水平,当达到该水平时微控制器42将使带驱动装置50开始带卷绕和数据转移操作。在此意思下,它与上述的美国专利第5210829号描述的相同。
“A”等于根据本发明的方法旁路数据压缩器38的相继记录转移周期的整数数目。在迅速改变的操作环境—其中主机记录数据转移速率是改变的—中,A可以是一(Unity)。在其中主机数据转移速率为常数的情况下,A可以是一(Unity)的适当的整数倍,诸如四或五;A还可以取决于用户数据的类型和用户数据记录的大小。
以下的术语在此被定义为变量:
“M”等于数据压缩器38的用户数据字节的数目。
“N”等于旁路数据压缩器38并以未压缩的形式达到高速缓冲存储器40的用户数据字节的数目。
“N+M”等于带驱动器34在给定的记录转移事务中从主机20接收的数据字节的总数。
“K”表示通过数据压缩器38的数据的压缩比。
“R”等于用户记录块的大小。该记录块大小是由主计算机20建立的,且通常为例如10千字节、16千字节或32千字节。该记录大小是微控制器42所知道的,并使其能够监测至和来自主机20的整个记录的转移。
“D”等于在从主机的记录转移完成之后残留在高速缓冲存储器40中的用户数据字节数目。
现在参见图2,微控制器42作为启动处理步骤102而进入一个自适应数据压缩/高速缓冲存储器控制程序。上述的某些常数和变量作为初始值而在步骤104得到设定。这些缺省设定包括一个初始高速缓冲存储器基准水位标志设定Wm以及一个初始旁路记录计数A-它表示在不先受到数据压缩器38的压缩的情况下将要被送入高速缓冲存储器40的数据记录的数目。在开始时所选择的缺省设定是为了以使带驱动器的操作向着使用数据压缩而离开旁路通路70的方向偏置。因此,初始条件是这样的,即至少一个数据记录—且可能是多个数据记录—在被转移到高速缓冲存储器40之前将受到压缩。当数据转移条件、数据压缩条件以及高速缓冲存储器水平变化时,带驱动器34将动态地调节缺省设定并适当地激活旁路模式,以尽量增大带驱动器34与主机20之间的数据转移速率,并其次尽量减小数字线性带装置50的启动-停止操作次数。
带驱动器34监测接口26,且当主机发出写入指令时,它在步骤106进行接收和解码。这种指令可以包括诸如记录量和所要转移的记录的数目的信息。当主计算机20通知至带驱动器34的一个数据记录要转移时,它在处理步骤110在程序控制下通过数据压缩器38而进行转移。
当第一个数据记录得到压缩并已经作为M/K字节而被转移到高速缓冲存储器中时,到达逻辑步骤111以判定压缩比是否小于1.5。由于在步骤104设定了1.5或更大的缺省值,首先传来的答复是“否”且流程进行到处理步骤112。如果在随后的逻辑步骤138动态地判定压缩比小于诸如1.5,则带数据压缩的数据流处理接近最佳,从而不需要旁路数据压缩器。在此情况下,在111的答复为“是”,并返回到步骤108以使下一个数据记录流经数据压缩器38。然而,如果压缩比Cr等于或大于例如1.5-如在逻辑步骤138所测量到的,则该事实被记录下来,且当在逻辑节点111进行测试时,控制程序进行到处理步骤112。
当到达处理步骤112时,判定高速缓冲存储器数据水平L。然后在逻辑步骤114判定该高速缓冲存储器数据水平是否上升到缺省水位标志Wm之上。如果不是,高速缓冲存储器至带的数据转移速率被保持在与输入的压缩数据速率一致,且数据压缩器38保持为有效。到达一个逻辑步骤116,它判定高速缓冲存储器中的记录是否是本主机写入指令的最后一个记录。如果是,则返回上述的步骤106,且带驱动器等候接收下一个主机写入指令。然而,如果在高速缓冲存储器中的压缩记录不是最后的记录,则返回到上述的步骤108,且从主机获得下一个记录并经过步骤110、112和114。
如果在记录转移操作的某点高速缓冲存储器水平L在逻辑步骤114被判定为已经上升到缺省水位标志基准值Wm之上,则到达一个处理步骤120-它激活控制节点66和68以使能数据压缩旁路。一个处理步骤122随后标出动态水位标志水平Ws-即表示了高速缓冲存储器40在已经接收到最后一个压缩数据记录之后的水平。一个处理步骤124随后监测一个未压缩数据记录从主机20经过旁路通路70至高速缓冲存储器40的转移。一个处理步骤随后判定残余的高速缓冲存储器水平D,作为在未压缩数据记录的转移完成时剩下的需要转移至带上的用户数据字节的数目。随后到达一个逻辑步骤128,它测试两种不同的条件。第一种条件是新的剩余值D是否小于(或等于)在步骤122标出的动态水位标志水平Ws减掉未压缩记录量R(加上或减去一个容差值ε,它在此例中可以是未压缩记录量的例如10%)而得到的差。逻辑节点128测试的第二个条件,是新的剩余值D是否大于在步骤122标出的动态水位标志水平Ws。
第一种条件(D≤(Ws-R)±ε)表示高速缓冲存储器中的数据水平显著下降。如果主机20正在以间断或分散的方式向带驱动器转移数据,就获得这种情况。如果这样,带驱动器34将被置于一种启动-停止模式,且数据压缩将得到使能。高速缓冲存储器将充满被转移到带上之前的压缩数据记录,且带的启动-停止操作的次数由于数据压缩而被减至最小。
第二种条件(D>Ws)是高速缓冲存储器40正在被等候被转移到带上的未转移数据所充满。这第二种条件表示进入的用户数据正在得到有效压缩,从而当经过通路70而旁路数据压缩时,至带的数据转移速率被进入的未压缩的数据转移速率所超过,且需要立即恢复数据压缩,且从逻辑步骤128直接到达一个处理步骤134-它通过在控制节点66和68禁止旁路通路70而把数据压缩器38置于ON。
如果第一与第二种条件都不是真的,则D大于Ws与记录量R之差,且小于动态水位标志水平Ws,从而适合于为后面的记录继续旁路数据压缩。相应地,一个处理步骤130标出一个新的动态水位标志水平Ws-它反映了在第一未压缩记录在旁路通路70上的转移结束时在高速缓冲存储器中的数据水平。一个处理步骤132随后转移数目与值A相对应的(例如设在一与四个数据记录之间的)记录;且到达处理步骤134-在此数据压缩器38得到使能。
随后在处理步骤136根据以下关系确定一个更新总数据压缩比Cr∶
Cr=(N+M/K)/(N+M) (公式1)其中N等于进入高速缓冲存储器的未压缩用户数据记录的字节数,M/K等于进入高速缓冲存储器的压缩数据的字节数,且N+M等于在现行数据转移操作期间从主机接收到的未压缩用户数据的字节数。微控制器42例如监测从主机20流出的字节(N+M)以及来自数据压缩器38的字节(M/K),以在处理步骤136计算公式1。
一个逻辑步骤138随后判定在步骤136确定的总压缩比Cr是否小于或等于一个预定的基准压缩水平,诸如1.5。如果总压缩比Cr小于或等于1.5,则一个处理步骤140将高速缓冲存储器的基准水位标志Wm设定得较低,例如设在总暂时存储容量的10%。这种低设定意味着数据压缩器38很少受到旁路。高速缓冲存储器40必须清除至底部,即低于10%的低基准水位标志Wm,然后旁路模式才得到使能。然而,如果压缩比Cr大于1.5,则到达一个处理步骤142,它将高速缓冲存储器的基准水位标志Wm设定得较高,例如在总暂时存储容量的60%。这种较高的基准水位标志Wm当数据压缩效率导致了高速缓冲存储器数据水平的大的相对摆动时是适当的,且旁路模式提供了不中断地进行数据转移带操作的可能。随后到达逻辑步骤116,并判定进入高速缓冲存储器40的最后一个记录是否来自主机的现行指令中所要转移的最后一个记录。
如已经描述的,从高速缓冲存储器40至带52的数据转移是在带流水式操作期间发生的。直到高速缓冲存储器40中的数据水平L第一次上升至预定的带转移水位标志之上,带52是停止的。一旦带转移水位标志(它不同于压缩基准水位标志Wm和动态水位标志水平Ws)被通过,带驱动器50使带52加速至写入速度,且高速缓冲存储器40中的数据随后以预定的转移速率(例如5MBS)被流水式转移到带上,直到高速缓冲存储器变空。根据主机的转移速率和记录转移的频率,以及根据本发明的原理的自适应数据压缩,带驱动器50可以基本上恒定地操作,或者可以在启动-停止模式下进行操作,而启动-停止操作的次数被有效减小了。管理从高速缓冲存储器40至带52的数据转移的一种最佳方法,在美国专利第5210829号中得到了描述。
现在给出几个例子,以显示几种控制情况。参见图3,在步骤106接收到的一个主机转移指令要求将一系列用户数据记录DB1-DB8转移到带。这些记录中的第一个,DB1,是在步骤108从主机获得的并在步骤110被通过数据压缩器38。被数据压缩器38压缩成M/K字节后,压缩数据记录CB1被转移到高速缓冲存储器40中。由于这是转移的第一个记录,高速缓冲存储器水平L远低于初始水位标志基准水平Wm,且其他的数据块继续被接收到数据压缩器38中并受到其压缩。
当在带驱动器34接收到第三数据记录DB3且它受到数据压缩器的压缩时,高速缓冲存储器数据水平L超过了初始设定的基准水位标志Wm,且对于下一个数据记录DB4进行随后的旁路处理步骤120,122,124,126和128(数据记录DB4旁路数据压缩器38并以未压缩数据形式进入高速缓冲存储器40)。在步骤128,判定是否继续旁路模式还是恢复数据压缩。在图3的例子的一种情况下,残留水平D(标号152)高于Ws标志(标号150),这意味着压缩的中断已经使高速缓冲存储器40中的未转移数据水平L在接收到未压缩数据块DB4时迅速上升(假定带流水式操作以最大的流水式速率继续)。在此情况下,逻辑步骤128决定只让一个记录DB4旁路数据压缩器38,而四个随后的记录DB5-DB8受到压缩并变成压缩记录CB5-CB8。
应该注意的是,在各个记录被转移到高速缓冲存储器40上之后,由步骤136和138进行压缩比Cr的一个修改判定,且可能在步骤140或142对基准水位标志Wm进行调节。
在图3的例子的另一种情况下,在数据记录DB4已经旁路了数据压缩器38之后,处理步骤128判定数据残留水平D(标号154)小于动态水平Ws(标号156)减去未压缩记录量R的差,检测到了显著的高速缓冲存储器水平下降,且数据压缩也得到再使能,因为带装置50很可能在随后的记录DB6-8中被强迫进入启动-停止模式。在后一种情况下,压缩模式在逻辑步骤128得到激活,以尽量增大带装置50的启动与停止操作之间的间隔,以尽量减小带和头的磨损。
在图4的例子中,以7.5MBS的速率从主机转移了八个数据块DB1-DB8。如在图3的例子中那样,首先的三个块DB1-DB3通过了数据压缩器38,且压缩的数据块CB1-CB3在水平L超过水位标志基准水平Wm(标号160)之前进入了高速缓冲存储器40。在此例子中,在第一旁路块DB4旁路期间在步骤122标出的动态水位标志水平Ws(标号162)低于基准水位标志Wm,且在步骤126确定的残留水平D(标号164)低于动态水位标志水平Ws(标号162)。在此情况下,在逻辑步骤128测试的两种条件都不为真,从而步骤130和132得到激活—借助它们预定数目(A)的数据记录在达到高速缓冲存储器40之前被从数据压缩器38旁路。在图4所示的例子中,预定数目A为2,因而在为块DB7和DB8恢复了数据压缩之前,块DB5和DB6也进入了高速缓冲存储器40。
如所述,通过图2的流程图的各个操作包括对总数据压缩比Cr的再确定—其中考虑了进入高速缓冲存储器40的未压缩数据记录转移的效果。如果总压缩比(公式1)较低,例如低于或等于1.5比1,数据压缩器38以几乎满转移速度运行,且基准水位标志Wm被设定在非常低,例如为缓存器容量的10%,从而使数据压缩器38几乎从不被旁路。借助10%的Wm设定,在旁路通路70被使能之前高速缓冲存储器40必须几乎是空的。如果总压缩比(公式1)很高,例如在1.5比1以上,则在记录转移操作期间将发生大的高速缓冲存储器存储水平动态移动,且例如60%的较高基准水位标志Wm是适当的。在此情况下,很多但不是所有用户数据记录将通过数据压缩器38。
现在参见图5,一个带驱动器34A包括略微不同的结构和操作原理,但仍然在本发明的范围之内。其中,所示的主机20正在转移例如8个数据记录DB1-DB8。通路控制器66A基本上与66相同,但引向记录缓存器67以及旁路通路70A-它在此例子中进入一个双输入端口高速缓冲存储器40A。记录缓存器67向数据压缩器38提供将要压缩的记录,它还直接向双输入端口高速缓冲存储器40A的第二输入端口直接进行馈送。应该理解和记住的是,数据压缩器38施加了一个处理时间或等待时间,以压缩各个数据块。根据数据压缩器38的处理等待时间,可以把一个数据记录—例如DB2-旁路并将其以一个字节一个字节的方式与包括数据记录DB1的压缩数据字节相交织(数据记录DB1将离开数据压缩器38并在数据记录DB2经过旁路通路70直接进入高速缓冲存储器40A的同时进入高速缓冲存储器40A)。一个存储器控制处理(未显示)为在高速缓冲存储器40A中同时接收的数据流适当地设置了双指针,并传送连接在一起的记录,例如CB1、DB2,CB3、DB4、CB5、DB6、CB7、DB8以记录在带52上。这种设置因而实现了比在前面描述的在提供给高速缓冲存储器40的时间压缩数据记录更为有利的数据转移。以此方式,例如每个奇数的数据块将得到压缩,而每一个偶数的数据块将沿着旁路通路,且在双端口高速缓冲存储器40A的两个同时出现的数据流被记录并送到带52。这里描述的类型的双水位标志方案得到保持,以控制这种操作。在读取期间,该过程被反向,且压缩的数据块由数据压缩器38有选择地地去压缩,同时未压缩的数据块被直接传送至主机。
对于本领域的技术人员,在考虑到产生的前述描述且不脱离本发明的精神的情况下,很多改变和修正都是显而易见的,而本发明的范围由所附的权利要求书具体确定。这里的描述和公布只是以说明的方式进行的,且不应该被理解为对本发明的限制,而本发明的范围只由所附权利要求书限定。
Claims (18)
1.一种与主计算机相连的带驱动器,用于存储和读取用户数据记录,所述带驱动器包括:
用于记录所述用户数据记录的带,所述带每当至少一个用户数据记录被写入到所述带上时且每当至少一个用户数据记录被从所述带上读出时进行机械运动,
一个电子接口,用于经过一个接口路径结构而与所述主计算机相连接,
一个机电带传送装置,用于将所述带传送过一个读取/写入头结构,
在所述接口与所述带之间的一个路径中的一个数据压缩器,用于有选择地压缩和去压缩所述用户数据记录,
在所述接口与所述带之间的路径中的电子高速缓冲存储器,用于暂时存储所述用户数据记录,以及
响应于所述高速缓冲存储器的数据记录水平的电子控制装置,用于有选择地使能和禁止所述数据压缩器以保持所述高速缓冲存储器中所希望的数据记录水平。
2.根据权利要求1的带驱动器,其中电子控制装置有选择地使能和禁止所述数据压缩器以保持所述高速缓冲存储器中的一个所希望的数据记录水平,以尽量增大所述主计算机与所述带之间的数据转移速率。
3.根据权利要求1的带驱动器,其中电子控制装置有选择地使能和禁止所述数据压缩器以保持所述高速缓冲存储器中的一个所希望的数据记录水平,以尽量减小机电带传送装置的启动和停止操作的次数。
4.根据权利要求1的带驱动器,其中电子控制装置一个数据记录一个数据记录地有选择地使能和禁止所述数据压缩器。
5.根据权利要求1的带驱动器,进一步包括一个输入控制点和从该输入控制点至电子高速缓冲存储器的一个旁路通路,该电子控制装置用于控制该控制点以有选择地使记录通过数据压缩器和通过旁路通路。
6.根据权利要求5的带驱动器,进一步包括在数据压缩器与电子高速缓冲存储器之间并与旁路通路相连的压缩器控制点,压缩器控制点受到电子控制装置的控制以有选择地使来自数据压缩器的压缩记录和在旁路通路上的未压缩记录到达电子高速缓冲存储器。
7.根据权利要求5的带驱动器,其中电子高速缓冲存储器是一个双输入端口高速缓冲存储器,一个端口与数据压缩器相连,另一个端口与旁路通路相连,并进一步包括在输入控制点与数据压缩器之间的一个记录缓存器。
8.一种用于有选择地压缩进入数据存储装置的数据的方法,该装置包括一个数据压缩器、在该数据压缩器周围有选择地得到使能的一条旁路通路、一个高速缓冲存储器、以及被适当连接以从高速缓冲存储器接收数据的存储介质,该方法包括以下步骤:
从与该数据存储装置相连的主计算机接收预定量的多个数据记录,
通过使该多个数据记录中的至少一个通过数据压缩器而使该数据记录受到压缩并随后进入高速缓冲存储器,
在接收了多个数据记录中的至少一个之后判定高速缓冲存储器的数据水平是否高于一个预定的水位标志基准,且如果是这样的话则使能数据压缩器周围的该旁路通路,
把数据压缩器周围的多个数据记录中未压缩的下一个传送到高速缓冲存储器中,
在传送了多个数据记录中未压缩的下一个之后,再判定高速缓冲存储器的数据水平,
根据再判定的高速缓冲存储器的数据水平,有选择地禁止旁路通路,以及
将高速缓冲存储器中的数据转移到存储介质。
9.根据权利要求8的方法,进一步包括根据压缩数据记录和未压缩数据记录至高速缓冲存储器的转移而确定数据存储装置总压缩水平的步骤。
10.根据权利要求9的方法,其中确定数据存储装置总压缩水平Cr的方法是根据以下公式进行的:
Cr=(N+M/K)/(N+M)其中
M等于进入数据压缩器的用户数据字节数,
N等于旁路了数据压缩器并以未压缩形式到达高速缓冲存储器的用户数据字节数,
N+M等于存储装置在用户数据记录转移操作期间从主计算机接收的数据字节的总数,且K表示通过数据压缩器的数据的压缩比。
11.根据权利要求9的方法,进一步包括根据总压缩比Cr是高于还是低于一个基准值而向上或下调节预定的水位标志基准的步骤。
12.根据权利要求11的方法,其中该基准值是1.5。
13.根据权利要求8的方法,其中在转移了多个数据记录中未压缩的下一个数据记录之后的高速缓冲存储器数据水平再判定步骤包括判定一个剩余数据水平D是否大于在该一个压缩数据记录被转移到高速缓冲存储器之后的一个动态水位标志水平Ws的步骤。
14.根据权利要求8的方法,其中在转移了多个数据记录中未压缩的下一个数据记录之后的高速缓冲存储器数据水平再判定步骤包括这样的一个步骤,即该步骤判定一个剩余数据水平D是否大体上小于在该一个压缩数据记录被转移到高速缓冲存储器之后的一个动态水位标志水平Ws与主计算机所建立的一个记录量R之间的差。
15.根据权利要求14的方法,其中如果剩余数据水平D被判定为大于动态水位标志水平Ws,则多个数据记录中在该下一个数据记录之后的数据记录也旁路通过数据压缩器。
16.根据权利要求15的方法,其中如果剩余数据水平D大体上小于动态水位标志水平Ws与记录量R之差,则多个数据记录中在下一个数据记录之后的数据记录也旁路通过数据压缩器。
17.根据权利要求8的方法,其中数据存储装置包括一个数字线性带驱动器,其中在高速缓冲存储器中的数据以转移串的方式被流水式转移到带上。
18.根据权利要求8的方法,进一步包括把多个数据记录中被压缩的至少一个与多个数据记录中未压缩的下一个在其进入之前同时转移到高速缓冲存储器的双输入端口中以转移到存储介质中的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/584,598 US5671389A (en) | 1996-01-11 | 1996-01-11 | Adaptive compression caching for tape recording |
US584,598 | 1996-01-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1167943A true CN1167943A (zh) | 1997-12-17 |
Family
ID=24338015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97102020A Pending CN1167943A (zh) | 1996-01-11 | 1997-01-10 | 带记录中的自适应压缩高速缓冲 |
Country Status (8)
Country | Link |
---|---|
US (1) | US5671389A (zh) |
EP (1) | EP0784261A1 (zh) |
JP (1) | JP3789183B2 (zh) |
KR (1) | KR970059971A (zh) |
CN (1) | CN1167943A (zh) |
AU (1) | AU1004697A (zh) |
CA (1) | CA2194823A1 (zh) |
SG (1) | SG50000A1 (zh) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2312319B (en) | 1996-04-15 | 1998-12-09 | Discreet Logic Inc | Video storage |
CA2201679A1 (en) | 1996-04-15 | 1997-10-15 | Raju C. Bopardikar | Video data storage |
JP3580982B2 (ja) * | 1997-04-30 | 2004-10-27 | パイオニア株式会社 | 情報記録方法及び装置 |
JPH1166730A (ja) * | 1997-08-18 | 1999-03-09 | Fujitsu Ltd | 磁気テープ装置の制御方法 |
US6138201A (en) * | 1998-04-15 | 2000-10-24 | Sony Corporation | Redundant array of inexpensive tape drives using data compression and data allocation ratios |
US6078541A (en) * | 1998-04-28 | 2000-06-20 | Mitsumi Electronics Co., Ltd. | Device controller having volatile and non-volatile memory for storage of decompressed and compressed data |
US6618216B2 (en) | 1998-07-16 | 2003-09-09 | Mitsumi Electric Co., Ltd. | Digital tape drive |
US6101575A (en) * | 1998-10-20 | 2000-08-08 | Hewlett-Packard Company | Tape drive data buffering |
US6624761B2 (en) | 1998-12-11 | 2003-09-23 | Realtime Data, Llc | Content independent data compression method and system |
US6591365B1 (en) * | 1999-01-21 | 2003-07-08 | Time Warner Entertainment Co., Lp | Copy protection control system |
US6604158B1 (en) | 1999-03-11 | 2003-08-05 | Realtime Data, Llc | System and methods for accelerated data storage and retrieval |
US6601104B1 (en) | 1999-03-11 | 2003-07-29 | Realtime Data Llc | System and methods for accelerated data storage and retrieval |
US6785815B1 (en) | 1999-06-08 | 2004-08-31 | Intertrust Technologies Corp. | Methods and systems for encoding and protecting data using digital signature and watermarking techniques |
US6469705B1 (en) | 1999-09-21 | 2002-10-22 | Autodesk Canada Inc. | Cache addressing |
US6318156B1 (en) * | 1999-10-28 | 2001-11-20 | Micro Motion, Inc. | Multiphase flow measurement system |
US6446145B1 (en) * | 2000-01-06 | 2002-09-03 | International Business Machines Corporation | Computer memory compression abort and bypass mechanism when cache write back buffer is full |
US7181608B2 (en) | 2000-02-03 | 2007-02-20 | Realtime Data Llc | Systems and methods for accelerated loading of operating systems and application programs |
US8959582B2 (en) | 2000-03-09 | 2015-02-17 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US8230482B2 (en) | 2000-03-09 | 2012-07-24 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20060143253A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US20050015608A1 (en) | 2003-07-16 | 2005-01-20 | Pkware, Inc. | Method for strongly encrypting .ZIP files |
US20060143180A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US6879988B2 (en) | 2000-03-09 | 2005-04-12 | Pkware | System and method for manipulating and managing computer archive files |
US20060143237A1 (en) * | 2000-03-09 | 2006-06-29 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
US7844579B2 (en) | 2000-03-09 | 2010-11-30 | Pkware, Inc. | System and method for manipulating and managing computer archive files |
JP3992419B2 (ja) * | 2000-03-27 | 2007-10-17 | パイオニア株式会社 | 情報再生装置 |
US7417568B2 (en) | 2000-10-03 | 2008-08-26 | Realtime Data Llc | System and method for data feed acceleration and encryption |
US8692695B2 (en) | 2000-10-03 | 2014-04-08 | Realtime Data, Llc | Methods for encoding and decoding data |
US9143546B2 (en) | 2000-10-03 | 2015-09-22 | Realtime Data Llc | System and method for data feed acceleration and encryption |
US7386046B2 (en) | 2001-02-13 | 2008-06-10 | Realtime Data Llc | Bandwidth sensitive data compression and decompression |
US6779057B2 (en) * | 2001-04-18 | 2004-08-17 | International Business Machines Corporation | Method, system, and program for indicating data transmitted to an input/output device as committed |
GB2374749B (en) * | 2001-04-20 | 2005-04-06 | Discreet Logic Inc | Image data processing |
US7248632B1 (en) | 2002-06-28 | 2007-07-24 | Len Gollobin | Video data storage and transmission system and method |
US7395355B2 (en) | 2002-07-11 | 2008-07-01 | Akamai Technologies, Inc. | Method for caching and delivery of compressed content in a content delivery network |
GB0304052D0 (en) * | 2003-02-22 | 2003-03-26 | Hewlett Packard Development Co | Improved streaming in data storage drive |
US7412564B2 (en) * | 2004-11-05 | 2008-08-12 | Wisconsin Alumni Research Foundation | Adaptive cache compression system |
US20070005893A1 (en) * | 2005-06-30 | 2007-01-04 | Intel Corporation | Correlated logic micro cache |
JP4993674B2 (ja) * | 2005-09-09 | 2012-08-08 | キヤノン株式会社 | 情報処理装置、検証処理装置及びそれらの制御方法、コンピュータプログラム及び記憶媒体 |
KR20110002014A (ko) * | 2008-03-27 | 2011-01-06 | 에이저 시스템즈 인크 | 감소된 전력 소비를 갖는 프로세서, 전력 소비 감소 방법, 집적 회로 및 전자 시스템 |
US9727272B2 (en) | 2012-01-31 | 2017-08-08 | International Business Machines Corporation | Increased destaging efficiency for smoothing of destage tasks based on speed of disk drives |
US9442847B2 (en) * | 2012-01-31 | 2016-09-13 | International Business Machines Corporation | Increased destaging efficiency by smoothing destaging between current and desired number of destage tasks |
US9093110B2 (en) | 2013-07-30 | 2015-07-28 | Dell Products, Lp | System and method for calculating data compression ratio without writing data to media |
US9928187B2 (en) * | 2016-02-18 | 2018-03-27 | Xerox Corporation | Increasing data throughput in the image processing path of a document reproduction device |
KR20210076652A (ko) | 2019-12-16 | 2021-06-24 | 현대자동차주식회사 | 차량용 멀티미디어 시스템 및 그를 위한 메모리 관리 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5210851A (en) * | 1988-01-08 | 1993-05-11 | Hewlett-Packard Company | High capacity tape drive transparently writes and reads large packets of blocked data between interblock gaps |
US4974189A (en) * | 1988-08-16 | 1990-11-27 | Hewlett Packard Company | Magnetic tape packet assembler/disassembler safeguards existing data with pretries during appends |
US5210829A (en) * | 1990-12-12 | 1993-05-11 | Digital Equipment Corporation | Adjustable threshold for buffer management |
US5194995A (en) * | 1991-01-09 | 1993-03-16 | Wangdat, Inc. | Method and apparatus for recording compressed data on DAT media |
JP2570003B2 (ja) * | 1991-06-06 | 1997-01-08 | 日本電気株式会社 | 磁気テープ制御装置 |
US5159336A (en) * | 1991-08-13 | 1992-10-27 | Iomega Corporation | Tape controller with data compression and error correction sharing a common buffer |
US5357614A (en) * | 1992-09-17 | 1994-10-18 | Rexon/Tecmar, Inc. | Data compression controller |
-
1996
- 1996-01-11 US US08/584,598 patent/US5671389A/en not_active Expired - Lifetime
-
1997
- 1997-01-07 AU AU10046/97A patent/AU1004697A/en not_active Abandoned
- 1997-01-09 EP EP97300110A patent/EP0784261A1/en not_active Withdrawn
- 1997-01-10 JP JP00312097A patent/JP3789183B2/ja not_active Expired - Fee Related
- 1997-01-10 CA CA002194823A patent/CA2194823A1/en not_active Abandoned
- 1997-01-10 CN CN97102020A patent/CN1167943A/zh active Pending
- 1997-01-11 SG SG1997000059A patent/SG50000A1/en unknown
- 1997-01-11 KR KR1019970000588A patent/KR970059971A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
AU1004697A (en) | 1997-07-17 |
CA2194823A1 (en) | 1997-07-12 |
SG50000A1 (en) | 1998-06-15 |
JPH09212310A (ja) | 1997-08-15 |
KR970059971A (ko) | 1997-08-12 |
JP3789183B2 (ja) | 2006-06-21 |
EP0784261A1 (en) | 1997-07-16 |
US5671389A (en) | 1997-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1167943A (zh) | 带记录中的自适应压缩高速缓冲 | |
US7111142B2 (en) | System for quickly transferring data | |
US4956808A (en) | Real time data transformation and transmission overlapping device | |
CN1113365C (zh) | 实现数据的读修改写操作的方法和电路以及半导体存储器 | |
CN1049928A (zh) | 数字信号处理系统 | |
CN103402136A (zh) | 自适应调整缓存的控制方法、装置及自适应播放器 | |
CN1218237C (zh) | 用于访问存储介质上的数据块的系统和方法 | |
JP2004362534A (ja) | 伝送レートを高速化可能なストレージデバイス | |
CN103823783A (zh) | 用于捕获串行输入数据的设备和方法 | |
US7631141B2 (en) | Tape drive storage device for writing data forward and backward in predetermined lengths | |
CN101387985A (zh) | 信息处理装置、记录方法和计算机程序 | |
CN109375868B (zh) | 一种数据存储方法、调度装置、系统、设备及存储介质 | |
WO2004057455A2 (en) | Power saving method for portable streaming devices | |
CN101425310A (zh) | 在音频视频交织记录期间保留索引存储空间的方法 | |
KR19980070862A (ko) | 고속데이터 기록 및 재생장치 및 방법 | |
EP0838763A2 (en) | Method for managing files in library and server device for library | |
CN100486318C (zh) | 记录和再现装置、记录装置、编辑装置、信息记录介质、记录和再现方法,记录方法和编辑方法 | |
CN1177806A (zh) | 数据记录/再现装置 | |
CN100357920C (zh) | 平行输入/输出数据传输控制器 | |
CN108052464A (zh) | 用于分散与降低非易失性储存装置峰值电流与功耗的方法 | |
CN1232909C (zh) | 路由器流量管理芯片缓存管理实现方法与系统 | |
US5276841A (en) | Audio/video data reproducing apparatus which generates end of data transfer signal and which transfers data after communication error without resetting address data | |
CN101064516B (zh) | 数据处理器和数据处理方法 | |
CN1164118C (zh) | 数字解码方法 | |
US20090094392A1 (en) | System and Method for Data Operations in Memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C01 | Deemed withdrawal of patent application (patent law 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |