CN1154941C - 数据传送方法及设备 - Google Patents

数据传送方法及设备 Download PDF

Info

Publication number
CN1154941C
CN1154941C CNB991055179A CN99105517A CN1154941C CN 1154941 C CN1154941 C CN 1154941C CN B991055179 A CNB991055179 A CN B991055179A CN 99105517 A CN99105517 A CN 99105517A CN 1154941 C CN1154941 C CN 1154941C
Authority
CN
China
Prior art keywords
data
piece
block
scsi
cpu
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
CNB991055179A
Other languages
English (en)
Other versions
CN1234563A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN1234563A publication Critical patent/CN1234563A/zh
Application granted granted Critical
Publication of CN1154941C publication Critical patent/CN1154941C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/4226Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Information Transfer Systems (AREA)

Abstract

一种使用SCSI进行传送的数据传送装置,保存块信息时能够集合传送大小不同的块。从开头存储对应于第一块的长度的量的数据,接着存储第一块数据。如果数据大小小于指定大小,就进行填零。接下来存储对应于第二块的长度的数据,并存储第二块数据。如果传送N个块,类似重复上述过程,直到存储第N个块数据为止。在第N个块数据之后,存储一次传送的块的总数(N)。在保存块信息的同时,连续传送大小不同的多个块。

Description

数据传送方法及设备
技术领域
本发明涉及一种数据传送方法及设备,这种方法和设备适合用于连续记录大容量数据的磁带机(tape streamer)并能够高速读写块(block)大小可变的数据。
背景技术
随着数据容量的增大,作为存储大容量数据的装置,把数据记录在磁带上的数据记录设备的必要性正在增加。与使用盘进行记录的记录媒体不同,在如磁带这样的记录媒体上,数据几乎都是连续记录的。像这样一种记录设备适合用来备份大容量硬盘。
例如:把这样一种记录设备通过预定的接口连接到用作主机的计算机,主机经该接口把表示执行数据复制的命令发送到记录设备。在根据连接接口进行预定的发送和接收之后,主机就把数据传送到记录设备,并且该数据被记录设备写到例如磁带上。
迄今为止,SCSI(小型计算机系统接口)已经主要被用作连接主机和记录设备的接口,在SCSI中,连接到SCSI母线的设备被分选到一个发送SCSI命令的初始器(initiotor)(例如SCSI板)和一个接收并执行SCSI命令的目标(例如硬盘)。数据在初始器和目标之间传送。在上述的例子中,SCSI板连接到计算机,记录设备用作一个目标。
在SCSI中,以块为单位处理数据,该“块(block)”是具有预定大小的数据的集合,把多个块集合起来构成文件。在主机侧形成任意大小的块,该块形成一个文件,为了保存块信息,SCSI以块为单位进行数据传送。
虽然为SCSI也准备把多个块集合到一个块内并传送的模式,但是,在这种模式下,要被集合传送的块的大小必须相等。在这种情况下,能够用一个命令传送多个块。然而,如果要被传送的块大小不同,所出现的问题是一次传送即从初始器发送的一个命令仅能传送一个块。
为了进行一次传送,除传送数据主体的传送时间之外,还必需有占用(仲裁)母线的时间以及接收和发送命令的时间,这些时间周期构成数据主体传送时间的辅助时间。
当块大小相对较大时,辅助时间不成为大的问题。然而,当所要传送的块的大小较小时,每个块所花费的辅助时间就不能忽略,所存在的问题是总体传送速度下降。
发明内容
因此,本发明的目的是提供一种能够集合传送不同大小的块的数据传送方法和设备。
为了解决上述问题,按照本发明,提供一种用来传送其块大小可变的数字数据的数据传送方法和设备,其特征在于,在用指示传送的一个命令传送具有不同块大小的多个数据块时,多个块的块信息与多个块一起传送。
如上所述,按照本发明,由于多个数据块的块信息与多个数据块一起传送,所以,在保存块信息时能够连续传送块大小可变的多个数据块。
附图说明
结合附图阅读如下的详细说明将会使本发明的上述以及其他的目的、特点和优点更加清楚。
图1是本发明的第一和第二实施例共用的每个装置的连接状态的一个例子的方框图;
图2A和2B是原理性地表示磁带上的数据图像的一个例子的示意图;
图3示意性地表示磁带机的结构的方框图;
图4是从终端到磁带机中的存储器的结构的方框图;
图5是示意性地表示作为磁带机结构中心的存储器中的数据结构的方框图;
图6是写/读命令结构的一个例子的示意图;
图7是写入时形成的块表的一个例子的示意图;
图8是示意性地表示把数据记录到磁带机时的过程的流程图;
图9A和9B是与普通方法比较,写入时数据传送状态的示意图;
图10A和10B是用来说明用按照第一实施例的方法减少传送时间的示意图;
图11是表示从磁带机读出数据时的过程的流程图;
图12是读出时形成的块表的一个例子的方框图;
图13A和13B是与普通方法比较,读出时数据传送状态的示意图;
图14A和14B是用来说明用按照第一实施例的方法减少传送时间的示意图;
图15是按照第二实施例的传送数据的结构的一个例子的示意图;
图16是表示按照第二实施例对磁带机进行数据写入过程的流程图;
图17是表示按照第二实施例从磁带机读出数据过程的流程图;
图18是用来说明块、文件、集合、卷、物理装置和存储系统的层次关系的示意图;
图19是按照第三实施例的块表的结构示意图;
图20是按照第四实施例的块表的结构示意图。
具体实施方式
现在参照附图来说明本发明的实施例。图1是能够共同应用于本发明的第一和第二实施例的每个设备的连接状态的例子,SCSI板(未示出)被安装在主计算机1内,SCSI电缆2连接到SCSI板,本发明采用的主计算机1和磁带机3用SCSI电缆2连接起来,磁带机3有一个CPU和一个存储器,并且用来在CPU的控制下对作为记录媒体的装在盒内的磁带进行数据的记录/重放。
SCSI板例如有一个CPU,并且根据由主计算机1产生的命令发送一个SCSI命令,在SCSI板中,由主计算机1的命令来进行各种相位数据传送的控制。经SCSI电缆2根据SCSI命令进行与一个目标(该例中是磁带机3)的通信,并在主计算机1和磁带机3之间传送数据。
图2A和2B表示能够共同用于本发明的第一和第二实施例的磁带机3中的磁带上的数据图像。如图2A所示,以文件为单位把数据写在磁带上。在每个文件的结尾处写上一个作为文件定界符代码的标记TM,在该标记TM之后写入一个新文件。如图2B所示,每个文件由一个或多个块构成,至于块的大小有两种情况,一种情况是块的大小都不同,如图2B所示;另一种情况是它们的大小都一样。
虽然没有表示,但是在整个磁带的开头处有一个管理写到磁带上的数据的管理表,当把磁带装到磁带机3上时,读取该管理表就能够访问文件分布等。
磁带机3用螺旋扫描系统对磁带进行记录。因此在磁带上形成螺旋轨迹。四条轨迹形成一个轨迹组,以轨迹组为单位对磁带进行数据写入。用来区分轨迹组和另一个轨迹组的ID加在每个轨迹组上,在一个轨迹组中,子代码数据区被安排在存储数据主体和写入ID的区域的开头处。管理数据主体的块结构的块管理表被安排在存储数据主体的区域的结尾处。
图3示意性地表示能够共用于本发明的第一、第二、第三和第四实施例的磁带机3的结构的一例。SCSI电缆2连接到输入端10,在写入数据时,从输入端10把由主计算机1传送的数据送到SCSI控制器11。在该SCSI控制器11中,分析或执行从输入端10送来的SCSI命令,并把被传送的数据主体和与其相关的数据分离开。
分离的数据主体被输入到数据压缩控制器ALDC 12,并用预定的方法进行压缩编码,然后把所得到的数据这到地址控制器ADC 13。地址控制器ADC 13对存储器14进行地址控制,并控制存储器14中的数据的读写操作。例如,为存储器14指定一个开始访问的地址作为指针,地址控制器ADC 13还指定被访问的数据的大小。在地址控制器ADC 13的控制下,数据被存储在存储器14中作为磁带18上的数据图像。
在地址控制器13的控制下,对应于写入定时,从存储器14读出该数据,并送到ECC编码/解码器15。ECC编码/解码器15在写入数据时用作编码器,在读出时用作解码器。在写入时,用现成的代码例如里德索罗门代码(ReedSolomn code)对所送来的数据进行纠错编码,然后把经纠错编码的数据送到均衡器16。
送到均衡器16的数据被转换为适合于记录在记录媒体上的信号,然后用记录磁头17作为旋转磁头写入所得到的数据,并作为螺旋轨迹记录在磁带18上,在该例中,把四条轨迹作为一个轨迹组进行记录。
虽然在图3中作了省略,但是SCSI控制器11、数据压缩控制器ALDC12、地址控制器ADC 13和均衡器16都适宜按照类似于ECC编码/解码器15的方式进行写入和记录操作。
在读出时,用作为旋转磁头的重放磁头19从磁带18上读出的信号,经均衡器16送到ECC编码/解码器15,由ECC编码/解码器15对数据进行纠错。然后,由地址控制器ADC 13的控制把所得到的数据写到存储器14内。
被写入到存储器14中的数据在地址控制器ADC 13的控制下按预定的时序读出来,并送到数据压缩控制器ALDC 12。把压缩编码的数据解压并把所得到的数据送到SCSI控制器11。在SCSI控制器11的控制下,经SCSI电缆2把该数据从输入端10传送到主计算机1。
磁带机3具有三个CPU 20、22和23,CPU 20控制SCSI控制器11、数据压缩控制器12和地址控制器ADC 13。与数据主体有关的数据和由SCSI控制器11从所送来的主体数据分离出来的数据被送到CPU 20。
在CPU 20的控制下,SCSI控制器11在SCSI控制器11和主计算机1上的SCSI板之间发送和接收该数据和命令。
CPU 22控制ECC编码/解码器15。ECC编码/解码器15的执行结果被送到CPU 22。CPU 23用形成在磁带18纵向的轨迹的信号控制马达25的旋转,并用固定磁头24读出驱动磁带18的马达25的旋转的检测信号。
连接在CPU 20和CPU 22之间的DPRAM21是一个双端口RAM,该双端口RAM执行CPU 20和CPU 22之间的通信,虽然在图3中未示出,但是CPU 22和CPU 23也进行同样的通信。虽然在这里使用了三个CPU即CPU20、22和23,但是本发明并不局限于该例,也可以整体采用一个CPU或两个专用的CPU结合使用。
图4更详细地表示了图3结构中的从输入端10到存储器14的部分。如该图所示,SCSI控制器11、数据压缩控制器12和地址控制器13都有一个FIFO,即:在输入端10的对面一侧上,SCSI控制器11有FIFO 111:数据压缩控制器12在两侧面上有FIFO 121和122;在存储器14的对面一侧上,地址控制器13有FIFO 131。在SCSI控制器11和数据压缩控制器12之间还设置有用CPU 20控制写读定时的FIFO 112。
图5示意性地表示以存储器14的数据结构为中心的图3的构成。如上所述,把数据作为对磁带18的写入图形存储到存储器14内,以上述由四条轨迹构成的轨迹组为单位对磁带18进行写入。在存储器14中,同样以轨迹组为单位设置地址,并写入数据,可以把多个块的数据包含在一个轨迹组内。
数据被排列在存储器14内,从而能够对每一个轨迹组进行寻址,例如,如图5所示,一个轨迹组被安排到存储器14内的一列地址上,从存储器14对每一个轨迹组读出数据,并把四条轨迹的数据写入到磁带18上。
当数据被写入到磁带机3时,从主计算机1经SCSI板发送指示磁带机3写入数据的WRITE命令,同时,在主计算机1内形成块表,并经SCSI板传送到磁带机。
采用类似的过程用READ命令从磁带机3读出数据,也就是说主计算机1把READ命令发送到磁带机3,在磁带机3中,根据该命令从磁带上把数据读出来,并根据所读出的数据形成块表,块数据被传送之后,再传送块表。
主计算机1内的这些过程处在比如OS(操作系统)和应用方之间,并由一装置驱动器来执行,该装置驱动器用于对连接到主计算机1的外围设备进行管理等。因此,在应用方,本发明可以用类似于原始文件读写操作的程序来进行这些过程,而无须知道这些程序。本发明并不局限于此,也可以在应用方直接执行这些程序。
图6表示后面将要说明的WRITE命令和READ命令的结构例,该命令由6个字节构成,第一字节被设定为操作码,命令的种类由存储在该操作码内的值来识别,在该例中,WRITE命令用“0Ah”(h表示16进制)表示,READ命令用“08h”表示。在下一个字节内存储各种参数,如逻辑单元号等。接下来的三个字节表示要传送的数据的大小(总传送长度),最后一个字节表示控制码。WRITE/READ命令共同用于第一和第二实施例。
现在来描述本发明的第一实施例。按照本发明,能够集合传送不同大小的块,在第一实施例中,已经写入每个块大小等的块表附加到一次传送的多个块上。
图7表示写入时形成的块表的一例。如上所述,写入时要被传送的块数目(N)存储在块表的第一4字节,接下来,每4字节按照块的传送次序存储块的长度。
图8是表示把数据记录到磁带机3时的过程的流程图。磁带机3接收被传送的块表(步骤S10);在磁带机3中分析所接收到的块表(步骤S11);然后,接收与起始一个数据块大小相同的数据(步骤S12)。在步骤S13形成块图形,按照所形成的块图形把数据写到磁带上,处理程序返回到步骤S11,进行下一个块的处理。当按照在步骤S10接收到的块表完成整个过程(步骤S14)时,设备等待接收下一个块表。
图9A和9B表示上述进行的数据传送状态,以与现有技术方法进行比较。图9A表示用现有技术的方法传送并写入多个不同大小的数据块的例子,如上所述,必须对每一个不同大小的块发送WRITE命令。按照图9B所示的本发明的方法,在传送多个数据块时,仅发送一次WRITE命令,然后传送块表,按照该块表一个接一个地传送数据块。
如上所述,采用首先传送块表然后传送块的方法,与对每一个块发送WRITE命令的现有技术方法相比,能够明显地减少传送数据所需要的时间。如图10A中的一个例子所示,按照现有技术的方法,对每个块发送的每个命令需要辅助时间,即:对于从传送一个块到传送下一个块的时间周期要花费一个预定的辅助时间。
另一方面,按照本发明的方法,用第一个WRITE命令传送块表,并根据该块表的内容连续传送该块。因此,如图10B中的一个例子所示,对于每个块的传送时间周期仅花费块表的分析时间,因此,即使在传送与图10A的例子中同样的块的情况下,也能够极大地减少传送时间。
图11是表示从磁带机3读取数据时的过程的流程图。在从磁带机3读出数据时,主计算机1经SCSI板发送指示磁带机3读出数据的READ命令。
在磁带机3中,根据所接收的READ命令读取磁带上的数据。所读出的数据一次存储在存储器内,并分析数据的块(步骤S20);在下一个步骤S21中,仅把所分析的块中的一个块传送到主计算机1的SCSI板,在磁带机3中,例如,在存储器内形成有关该传送块的块表(步骤S22)。
图12表示读出时形成的块表的一个例子。按照类似于前述的写入时的块表的方式,在读出时的块表内,根据块的传送次序连续地从表的开头把块的长度存储到每4个字节,即:连续地堆叠被读出并传送的块的长度数据。在存储了要被传送的所有块的长度时,要被传送的块数目(N)连续地用四个字节来表示,并被存储起来。
重复步骤S20到S22的过程,直到用READ命令指示的所有数据被传送完为止。数据传送完成之后(步骤S23),把在步骤S22形成的包括所有被传送数据的块信息的块表从磁带机3传送到主计算机1的SCSI板(步骤S24)。
图13A和13B表示上述进行的数据传送状态,以与现有技术方法进行比较。图13A表示用现有技术的方法读出并传送多个不同大小的数据块的例子。如果块大小不同,如上所述,用一个READ命令只能读出一个数据块。按照图13B所示的本发明的方法,用一个READ命令传送多个数据块,然后传送块表。在接收数据的一方,可以参照所传送的块表分析数据结构。
如上所述,通过传送由分析从磁带读出的数据的块而形成的块表,与对每一个块发送READ命令的现有技术方法相比,能够明显地减少传送数据所需要的时间。如图14A中的一个例子所示,按照现有技术的方法,对每个块发送的每个命令需要辅助时间,即:对于从传送一个块到传送下一个块的时间周期要花费一个预定的辅助时间。
另一方面,按照本发明的方法,用第一个READ命令连续传送块,最后传送存储每个块的信息的块表。因此,如图14B中的一个例子所示,对于每个块的传送时间周期仅花费块表的分析时间,因此,即使在传送与图14A的例子中同样的块的情况下,也能够明显地减少传送时间。
如上所述,采用块表来进行传送能够实现传送时间的明显的减少,即:实际上块表的大小比被传送的数据主体的大小要小得多,并且在CPU内的简单计算就能进行块分析,从而对于数据的传送时间来说,可以忽略块分析所需要的时间。与这样一个时间相比,由于按照现有技术方法的辅助时间所花费的时间包括母线等的控制等所需时间,所以辅助时间所花费的时间要长。严格地说,就是
块表的传送时间+(块表的分析时间×N)<辅助时间×(N+1)
在这种条件下,按照本发明的传送时间更为优越。
现在来描述本发明的第二实施例,在上述的第一实施例中,在把数据写入到磁带机3时与读出时的块表的格式是不同的。在第二实施例中,使写入和读出时的数据格式一样,从而更容易执行程序。
图15表示按照第二实施例的传送数据的结构的一例,现在假定集合传送N个块,第一次传送的块的长度被存储在开头4字节,接下来存储第一块的数据主体。块的末尾填“0”,填零是以4字节为单位使该块完整。
由块长度数据和块主体的数据(和填零)构成的一组仅重复要被传送的块数目次,在传送N个块的本例中,重复一组直到存储了第N个块的数据主体为止。在存储了所有的被传送的块时,把传送块数目(N)存储到最后4个字节中。
图16是表示在磁带机3内按照第二实施例根据这种数据结构进行数据写入的过程的流程图。在执行该流程之前,在主计算机1中,要写入磁带机3的数据被制成文件,且例如,指示把文件复制到磁带机3,主计算机1根据该指示发送WRITE命令,所发送的WRITE命令经SCSI电缆2传送到磁带机3的SCSI控制器11,并从SCSI控制器11发送到CPU 20。
在第一步骤S30,从CPU 20把4字节大的数据的传送命令发送到SCSI控制器11,该4字节数据是表示要被传送的块的大小的块大小数据,该数据被存储到SCSI控制器11的内装FIFO 111中;在步骤S31,当把传送结束通知从SCSI控制器11发送到CPU 20时,CPU 20就在步骤S32把存储在FIFO111中的块大小数据导出。
当导出块大小数据时,在步骤S33把辅助数据长度加到所得到的块数据大小上,由此来设定表示被传送的数据长度的传送长度。辅助数据长度由作为填零长度的填零长度和下一个块大小数据的4个字节构成,传送长度被设定在SCSI控制器11的内装FIFO 111中。
在下一个步骤S34中,CPU 20把要被传送到存储器14中的块(假定为#n)的起始地址和到块#n的定界符的传送长度设定到地址控制器ADC 13中,CPU 20发送传送起始命令。
就起始地址而言,例如假定块#n是首先传送的块,存储器中的预定地址被设定于该起始地址上。如果块#n不是首先传送的块,就根据先前被传送的块的地址得到起始地址,从步骤S33导出的传送长度获得到块#n的定界符的传送长度。
CPU 20发送传送起始命令来启动块#n的传送,并把块#n的数据从主计算机1经SCSI电缆2传送到磁带机3,所传送的数据经SCSI控制器11、数据压缩控制器ALDC 12和地址控制器ADC 13存储到存储器14内的预定地址。
当地址控制器ADC 13把表示块#n的传送完成的信息通知CPU 20时(步骤S35),CPU 20就在步骤S36把存储器14上起动块#n后的块的地址,和直到块#n末端的传送长度的填充数据长度,设定到地址控制器ADC 13内,CPU 20发送传送起始命令。
当地址控制器ADC 13把表示块#n的传送完成的信息通知CPU 20时(步骤S37),CPU 20就在步骤S38得到在存储器14写入下一个块#(n+1)的地址。在下一个步骤S39,把在步骤S38得到的地址和对应于块大小数据的4字节设定到地址控制器ADC 13中,CPU 20发送传送起始命令,把该块大小数据写入到存储器14内。
当地址控制器ADC 13把表示块#(n+1)的传送完成的消息通知CPU 20时(步骤S40),在下一个步骤S41把写入到存储器14内的块大小数据读出来,并得到要连续传送的块的块大小。CPU 20使量值与块大小数据(4字节)一样大的存储器14内的指针返回,这样,下一个块就接续续刚刚写入的块被写入到存储器14内。
在下一个步骤S43,进行检查,以审查用WRITE命令进行的所有传送过程是否都已经完成,把要被传送的数据大小即总传送长度写在WRITE命令内。如图15所示,被传送的块的总数(N)已经被存储到数据的末端,使用总传送长度和块总数(N)作为传送末端条件来进行上述的确认,如果还有未传送的块,程序路径就返回到步骤S34。
现在来描述从磁带机3读出数据的操作,在第二实施例中,也把与写入时一样的数据结构用于数据的读出。图17是表示磁带机3中的数据读出过程的流程图。
执行该流程之前,主计算机1向磁带机3请求所装的磁带的信息,在磁带机3中,把磁带开头的管理表读出来,并把写在磁带上的文件的信息传送到主计算机1。在主计算机1中,根据这个信息发送指定要从磁带机3读出的数据的READ命令,经SCSI电缆2把READ命令传送到磁带机3的SCSI控制器11,并从SCSI控制器11发送到CPU 20。
在第一个步骤S50,在CPU 20的控制下根据READ命令从磁带18读出数据,经均衡器16把所读出的数据送到ECC编码/解码器15,并按照预定的方法进行纠错处理。这时,如果在数据中存在不可纠正的错误,处理过程就跳到后面将要描述的步骤S64(步骤S51),在步骤S64,例如把所传送的块的数目设定为“0”,并结束处理。
如果在步骤S51中不存在错误,就经地址控制器ADC 13把经过纠错的数据按照记录图形从存储器14中的预定地址写到磁带上;在下一个步骤S52,CPU 20从存储器14中读出块管理表,并得到要被传送的块的块大小,表示块大小的块大小数据被传送到SCSI控制器11内装的FIFO 111(步骤S53)。
如果完成了块大小数据的传送(步骤S54),CPU 20就在步骤S55把所传送的块大小作为传送长度设定到SCSI控制器11的寄存器内。
在步骤S56,CPU 20把块#n的起始地址作为写到存储器14内的传送块和到块#n的定界符的传送长度设定到地址控制器ADC 13内;在步骤S57,把传送起始命令从CPU 20发送到地址控制器ADC 13。
根据这个命令,把仅对应于传送长度所指定的长度的量的数据从存储器14的块#n的起始地址读出来,所读出来的数据经地址控制器ADC 13和数据压缩控制器ADC 12送到SCSI控制器11。在SCSI控制器11中,执行SCSI母的控制等,并经SCSI电缆2把块#n从输入端10传送到主计算机1。
当传送完成时(步骤S58),CPU 20在步骤S59把存储器14中块#n的下一个块起始的地址设定到地址控制器ADC 13内,并把到块#n末端的长度设定为传送长度;在步骤S60,发送起始传送命令并开始传送。
当传送完成时(步骤S61),处理流程进到步骤S62,CPU 20把填充数据传送到SCSI控制器11的内装FIFO 111。
在下一个步骤S63,进行检查,以审查用READ命令进行的所有传送过程是否都已经完成。把要被传送的数据大小即总传送长度写在READ命令内。如图15所示,被传送的块的总数(N)已经被存储到数据的末端,使用总传送长度和块总数(N)作为传送末端条件来进行上述的确认,如果还有未传送的块,程序路径就返回到步骤S52。
当在步骤S63确定传送已经完成时,处理流程进到步骤S64。CPU 20把所传送的块数目(N)传送到SCSI控制器11的内装FIFO 111,在步骤S65等待传送结束之后,就完成了一系列过程。
现在来描述本发明的第三实施例,在本发明的第三实施例中,通过将表示属性的一个字节的数据插入到本发明的第一实施例的块表中,即使连续记录包括分级块、文件、集、卷、物理装置和存储系统的数据,也能够在重放时识别每一级的块、文件、集、卷和物理装置的每个边界。
图18表示块、文件、集(目录)、卷、物理装置和存储系统之间的关系,存储系统200有一个或多个物理装置210,物理装置是硬盘、软盘、光盘等。每个物理装置210有一个或多个卷220,每卷220有一个或多个集230。每个集230有一个或多个文件240,每个文件240有一个或多个块250。
如上所述,块、文件、集、卷、物理装置和存储系统相互具有分级关系。
现在参照图19详细描述按照本发明的第三实施例的块表的结构。图19表示按照本发明的第三实施例的写入时形成的块表的一例,如图19所示,用第一个4字节来表示要被传送的块的数据(N)。
在表示块数目(N)的数据后面存储表示属性的一个字节的数据和表示第i(i=0,1,2,…,N)块长度的数据,表示属性的数据由8位构成,文件标志、集标志、卷标志和物理装置标志用这些数据的值来表示。
如图19所示,表示属性的1字节数据之后接着存储表示第i(i=0,1,2,…,N)块长度的数据。当文件、集、卷或物理装置的边界即定界符处在第i块的位置时,把表示第i块的长度的数据设定为[0],并用表示属性的1字节数据来表示文件、集、卷和物理装置的边界之一。
例如,如果8位的属性数据的值等于[10000000],它表示文件的边界;如果8位的属性数据的值等于[01000000],它表示集的边界;如果8位的属性数据的值等于[00100000],它表示卷的边界;如果8位的属性数据的值等于[00010000],它表示物理装置的边界。如果它们没有边界,8位的属性数据的值就设定为[00000000]。
仅把与块数目(N)一样多的表示属性的1字节数据和表示第i块的长度的数据存储到块表内。
如上述,由于在块表内设置有表示文件、集、卷和物理装置的每个边界存在或不存在的属性数据,所以,即使连续记录包括分级块、文件、集、卷、物理装置和存储系统的数据,也能够在重放时识别每一级的块、文件、集、卷和物理装置的每个边界。
现在来描述本发明的第四实施例,在本发明的第四实施例中,通过将表示属性的一个字节的数据插入到本发明的第二实施例的块表中,即使连续记录包括分级块、文件、集、卷、物理装置和存储系统的数据,也能够在重放时识别每一级的块、文件、集、卷和物理装置的每个边界。
因为已经用图18描述了块、文件、集、卷、物理装置和存储系统,所以,这里省略了对它们的说明。
现在详细描述按照本发明的第四实施例的块表的结构。图20表示按照本发明的第四实施例的写入时形成的块表的一例,如图20所示,在表示第i(i=0,1,2,…,N)块长度的数据前存储表示属性的8位的数据,在表示第i块长度的数据后存储第i块的数据主体,在数据主体的末端填充必要数量的[0]数据,进行填零是为在4字节单位的基础上使数据主体完整。
按照类似于前述的本发明的第三实施例的方式,当文件、集、卷和物理装置的边界即定界符处在第i块的位置时,把表示第i块的长度的数据设定为[0],并用表示属性的1字节数据来表示文件、集、卷和物理装置的边界之一,这样的边界未在图中示出。
例如,如果8位的属性数据的值等于[10000000],它表示文件的边界;如果8位的属性数据的值等于[01000000],它表示集的边界;如果8位的属性数据的值等于[00100000],它表示卷的边界;如果8位的属性数据的值等于[00010000],它表示物理装置的边界。如果它们没有边界,8位的属性数据的值就设定为[00000000]。
仅把与块数目(N)一样多的表示属性的1字节数据、表示第i块的长度的数据和数据主体存储到块表内。当存储与所有要传送的块有关的数据时,把表示传送块的数目(N)的数据存储到最后的4字节内。
如上所述,由于在块表内设置有表示文件、集、卷和物理装置的每个边界存在或不存在的属性数据,所以,即使连续记录包括分级块、文件、集、卷、物理装置和存储系统的数据,也能够在重放时识别每一组的块、文件、集、卷和物理装置的每个边界。
如上所述,按照本发明的第三和第四实施例,由于在磁带上设置有像文件标志、集标志、卷标志和物理装置标志,所以,能够重放数据,而无须使用专门的应用软件来构成结合成一组的多个文件、集、卷和物理装置。
虽然上面已经对本发明应用于SCSI协议的情况进行了说明,但是本发明并不局限于这样的例子,例如,本发明还可以应用于像IPI-3(智能外设接口)之类的数据传送协议,本发明也适宜应用于其他使命令间的辅助操作时间大的协议。
因为把数据写入到磁带机3上时的格式类似于现有技术的格式,所以,即使使用现有的装置驱动器也能够读写用本发明的方法传送的数据。
如上所述,按照数据传送设备,由于发送一次WRITE/READ命令就能够传送不同大小的多个块,所以,能够显著地减少命令之间的辅助操作时间,并能够明显地提高数据传送速度。
由于使用具有普通结构的硬件并且还能够用固件(firmwore)来执行程序,所以,即使在把本发明应用于现有技术的设备,也不会使成本提高。
另外,按照第一实施例,由于块的结构按照表的形式附加到数据上,所以,在首先把块表传送到主计算机之后,能够分析信息结构。
按照本发明,由于把多个不同大小的数据集合为一个大的数据进行传送,所以,能够提高母线的使用效率。另外的效果是其他装置可以使用普通的辅助操作时间。
上面已经参照附图说明了本发明的特定的优选实施例,应该理解,本发明并不局限于那些具体的实施例,所属领域的技术人员可以在不背离权利要求所限定的本发明的精神或宗旨的范围内实现各种变化和改型。

Claims (7)

1.一种传送块大小不同的数字数据的数据传送方法,包括如下步骤:
用一个指示传送的命令来传送块大小不同的多个数据块;
与所述多个数据块一起传送所述多个数据块的每一个的块信息。
2.根据权利要求1所述的数据传送方法,其特征在于,所述块信息是所述数据块的所述块大小信息。
3.根据权利要求1所述的数据传送方法,其特征在于,所述多个数据块的所述块信息被集合为一个块信息,并作为一个表进行传送。
4.根据权利要求1所述的数据传送方法,其特征在于,在传送所述多个数据块时,连续传送包含所述数据块的一个集和对应于所述数据块的所述块信息。
5.根据权利要求1所述的数据传送方法,其特征在于,表示文件、集、卷和物理装置的至少一种的边界的属性信息包括在所述块信息内。
6.一种用来传送块大小不同的数字数据的数据传送装置,包括:
用一个指示传送的命令来传送块大小不同的多个数据块的装置;和
与所述多个数据块一起传送所述多个数据块的每一个的块信息的装置。
7.一种传送数字数据的数据传送装置,包括:
用一个指示传送的命令来传送多个数据块的装置;和
与所述多个数据块一起传送所述多个数据块的每一个的块信息的装置;
其特征在于,所述块信息具有表示文件、集、卷和物理装置的至少一种的边界的属性信息。
CNB991055179A 1998-02-17 1999-02-14 数据传送方法及设备 Expired - Fee Related CN1154941C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP34669/98 1998-02-17
JP34669/1998 1998-02-17
JP3466998 1998-02-17
JP23073898A JP4324993B2 (ja) 1998-02-17 1998-08-17 データ転送方法および装置
JP230738/98 1998-08-17
JP230738/1998 1998-08-17

Publications (2)

Publication Number Publication Date
CN1234563A CN1234563A (zh) 1999-11-10
CN1154941C true CN1154941C (zh) 2004-06-23

Family

ID=26373504

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991055179A Expired - Fee Related CN1154941C (zh) 1998-02-17 1999-02-14 数据传送方法及设备

Country Status (5)

Country Link
US (1) US6349348B1 (zh)
EP (1) EP0936561A3 (zh)
JP (1) JP4324993B2 (zh)
KR (1) KR100659915B1 (zh)
CN (1) CN1154941C (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10216921A1 (de) * 2002-04-15 2003-10-23 Bosch Gmbh Robert Verfahren und Vorrichtung zum Auffüllen von Datenabschnitten sowie Bussystem
US6907478B2 (en) * 2003-02-18 2005-06-14 Adaptec, Inc. Systems and methods optimizing data transfer throughput of a system on chip
US7496492B2 (en) * 2003-08-29 2009-02-24 Microsoft Corporation Software-aided storage device emulation in a physical storage device
CN100358320C (zh) * 2003-12-24 2007-12-26 华为技术有限公司 一种数据包存储的管理方法和装置
JP4679234B2 (ja) * 2005-05-19 2011-04-27 Hoya株式会社 動画記録装置
JP4286858B2 (ja) 2006-11-06 2009-07-01 シャープ株式会社 測定データ通信装置、情報取得装置、およびシステム
US8908314B2 (en) * 2011-08-19 2014-12-09 Oracle International Corporation Data file information based selection of tape drive tape speed
JP5172005B2 (ja) * 2011-10-17 2013-03-27 京セラ株式会社 情報処理装置、転送データ数表示方法、及び転送データ数表示プログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4525837A (en) * 1982-07-07 1985-06-25 Fuji Xerox Co., Ltd. Digital signal transmission system
US5335328A (en) * 1989-06-28 1994-08-02 International Business Machines Corporation Methods for recording and reading data from a record member having data in any one of a plurality of block formats including determining length of records being transferred
JP2755370B2 (ja) * 1991-10-30 1998-05-20 インターナショナル・ビジネス・マシーンズ・コーポレイション 周辺記憶システム及びデータ処理システムの制御方法
JP3134424B2 (ja) * 1991-10-31 2001-02-13 ソニー株式会社 可変長符号化方法及び装置
US5647057A (en) * 1992-08-24 1997-07-08 Texas Instruments Incorporated Multiple block transfer mechanism
JP3446237B2 (ja) * 1993-04-16 2003-09-16 ソニー株式会社 可変長符号テーブル生成方法及び装置
US5410546A (en) * 1993-11-01 1995-04-25 Storage Technology Corporation Apparatus and method for CRC computation over fixed length blocks containing variable length packets of data received out of order
JPH07191899A (ja) * 1993-12-27 1995-07-28 Hitachi Ltd ファイル転送方法、データアクセス方法およびデータ書き込み方法
GB2285525B (en) * 1994-01-11 1998-04-01 Dascom Software Dev Services L A tape database control process
US5581790A (en) * 1994-06-07 1996-12-03 Unisys Corporation Data feeder control system for performing data integrity check while transferring predetermined number of blocks with variable bytes through a selected one of many channels
US5841598A (en) * 1994-10-28 1998-11-24 Olympus Optical Co., Ltd. Information recording/reproducing apparatus and data processing method
JP3720439B2 (ja) * 1995-01-06 2005-11-30 キヤノン株式会社 データ入出力制御装置及びデータ入出力制御方法
US5886841A (en) * 1995-02-24 1999-03-23 Sony Corporation Apparatus and method for copying data between tape streamers which provides an indication of a difference in the amount of data requested to be copied and the amount of data sent
JPH0982039A (ja) * 1995-09-18 1997-03-28 Sony Corp 情報記録方法および追記型光ディスク記録方法
US6188807B1 (en) * 1995-10-04 2001-02-13 Canon Kabushiki Kaisha Scanner server apparatus and scanner server system
JPH09261232A (ja) * 1996-03-19 1997-10-03 Fujitsu Ltd Atm交換機における複数応答通信制御方法
EP0845738A3 (en) * 1996-11-28 2006-09-20 Hitachi, Ltd. Storage system which transfers a command and data corresponding to said command subsequent to said command
US6160778A (en) * 1999-03-08 2000-12-12 Matsushita Electric Industrial Co., Ltd. Information recording medium, information recording method, information recording apparatus and information reproducing apparatus

Also Published As

Publication number Publication date
US6349348B1 (en) 2002-02-19
EP0936561A2 (en) 1999-08-18
CN1234563A (zh) 1999-11-10
EP0936561A3 (en) 2003-10-15
JP4324993B2 (ja) 2009-09-02
JPH11306124A (ja) 1999-11-05
KR100659915B1 (ko) 2006-12-21
KR19990072581A (ko) 1999-09-27

Similar Documents

Publication Publication Date Title
CN1191518C (zh) 用于分级存储管理系统的转换廉价磁盘冗余阵列
CN1848069A (zh) 数据存储设备、重构控制设备、重构控制方法及存储介质
CN1773470A (zh) 库系统、虚拟库装置、缓存器恢复方法及可机读记录介质
CN1904858A (zh) 数据存储设备、数据存储方法以及记录/再现系统
CN1161754C (zh) 数据记录、数据再现、数据记录/再现设备与方法
CN101031891A (zh) 虚拟排序的写
CN1783029A (zh) 再现装置和再现方法
CN1441430A (zh) 信息再现设备、数据管理信息获得方法、程序和存储介质
CN1848070A (zh) 数据存储设备、重构控制设备、重构控制方法与存储介质
CN101064191A (zh) 闪存装置和闪存的访问方法
CN1154941C (zh) 数据传送方法及设备
CN1241098C (zh) 存储系统中检验数据的方法及设备
CN1339787A (zh) 含有虚拟删除信息的记录媒体及其记录、再现方法和装置
CN1218237C (zh) 用于访问存储介质上的数据块的系统和方法
CN1321310A (zh) 记录再生装置
CN1112631C (zh) 信号再现装置和方法
CN1848280A (zh) 记录装置
CN1188929A (zh) 发送数据的方法、发送数据的设备以及媒体
CN1264095C (zh) 盘存储装置和访问包含备用扇区的盘的方法
CN1110754C (zh) 计算机硬盘数据复制方法及系统
CN1867914A (zh) 文件管理设备
CN1685435A (zh) 回放装置与方法、记录介质以及程序
CN101078972A (zh) 数据存储装置和数据存取方法
US7149757B2 (en) Information processing apparatus, method of controlling information processing apparatus, control program for information processing apparatus and recording medium having control program recorded thereon for information processing apparatus
CN1261944C (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: 20040623

Termination date: 20100214