CN101159158A - 检测数据块中的损坏的方法和系统 - Google Patents

检测数据块中的损坏的方法和系统 Download PDF

Info

Publication number
CN101159158A
CN101159158A CNA2007101620124A CN200710162012A CN101159158A CN 101159158 A CN101159158 A CN 101159158A CN A2007101620124 A CNA2007101620124 A CN A2007101620124A CN 200710162012 A CN200710162012 A CN 200710162012A CN 101159158 A CN101159158 A CN 101159158A
Authority
CN
China
Prior art keywords
data block
data
tape recorder
task
tape
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
CNA2007101620124A
Other languages
English (en)
Other versions
CN101159158B (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101159158A publication Critical patent/CN101159158A/zh
Application granted granted Critical
Publication of CN101159158B publication Critical patent/CN101159158B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1879Direct read-after-write methods
    • 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
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • 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
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10629Data buffering arrangements, e.g. recording or playback buffers the buffer having a specific structure
    • G11B2020/10638First-in-first-out memories [FIFO] buffers
    • 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
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • G11B2020/10703Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control processing rate of the buffer, e.g. by accelerating the data output
    • 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
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/1075Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data
    • G11B2020/10759Data buffering arrangements, e.g. recording or playback buffers the usage of the buffer being restricted to a specific kind of data content data
    • 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
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10805Data buffering arrangements, e.g. recording or playback buffers involving specific measures to prevent a buffer overflow
    • 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
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • G11B2020/1823Testing wherein a flag is set when errors are detected or qualified
    • 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
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • G11B2020/183Testing wherein at least one additional attempt is made to read or write the data when a first attempt is unsuccessful
    • 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
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • G11B2020/1843Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a cyclic redundancy check [CRC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明涉及一种用于检测要被磁带记录装置存储的数据块中的损坏的方法,磁带记录装置包括写入头、读取头和存储缓冲器,所述磁带记录装置与服务器系统链接,服务器系统执行应用和设备驱动程序,磁带记录装置能够被所述应用经由第一任务和第二任务通过所述设备驱动程序访问。经由第一任务向所述磁带记录装置发送所述数据块。磁带记录装置通过使用所述写入头向磁带写入所述数据块,并且通过使用读取头从磁带重读写入的数据块。所述磁带记录装置然后在存储缓冲器中存储所重读的数据块。然后从存储缓冲器经由第二任务读取所述重读的数据块。然后比较数据块和所述重读的数据块,其中,如果所述数据块和所述重读的数据块的比较显示差别,则检测到损坏。

Description

检测数据块中的损坏的方法和系统
技术领域
本发明涉及用于检测数据块中的损坏(corruption)的方法。在其他方面,本发明涉及计算机程序产品,其适于执行按照本发明的方法,并且本发明涉及一种数据处理系统和一种磁带记录装置。
背景技术
已知在经由磁带记录装置访问的磁带上备份在诸如计算机系统的硬盘之类的主存储器上存储的数据。使用磁带作为备份存储介质的主要原因之一是其提供了用于存储大量备份数据的稳定的、可靠的和较为便宜的选择。
作为由与磁带记录装置链接的计算机系统容纳的计算机程序产品的应用可以经由磁带记录装置的驱动器向磁带记录装置提供要备份的数据。所述数据通常被提供为数据块序列,其中,每个数据块具有预先给定的块尺寸,例如256千字节。
按照现有技术,由所述应用提供的数据块由磁带记录装置写入到磁带驱动器,并且仅仅被检查在磁带记录装置侧上的写入误差。所述应用本身不在写入处理期间检查是否被写入的数据块已经被正确地写到磁带。这样做是为了保持磁带记录装置工作在流模式中,以便将写入处理量和对应的磁带记录装置的性能保持在高水平。为了验证数据块没有被损坏并且被正确地写入到磁带记录装置,所述应用可以再次读取整个磁带。通常这样做是当磁带记录装置不用于备份操作的时候,并且可能是相对于当数据已经被提供到磁带记录装置的时间点的几天、几个星期或者甚至几年后。这从应用视角看不是理想的,因为当检测到损坏时,可能不再能够获得已经被存储的初始数据。
因此需要一种用于检测数据块中的损坏的改进的方法,并且需要一种改进的数据处理系统,其允许检测损坏,特别是在数据块已经被写入到磁带后。因此还需要一种改进的磁带记录装置。
发明内容
按照本发明的一个实施例,提供了一种用于检测要被磁带记录装置存储的数据块中的损坏的方法。所述磁带记录装置包括写入头、读取头和存储缓冲器。所述磁带记录装置还与服务器系统链接,所述服务器系统执行应用和设备驱动程序(device driver)。所述磁带记录装置可以被所述应用经由第一任务和第二任务通过所述设备驱动程序访问。按照本发明的所述方法包括步骤:经由第一任务向所述磁带记录装置发送所述数据块,其中,所述磁带记录装置通过使用所述写入头向磁带写入所述数据块,其中,所述磁带记录装置通过使用读取头从磁带读取写入的数据块,其中,所述磁带记录装置在所述存储缓冲器中存储所重读的数据块。在另一个步骤中,从所述存储缓冲器经由所述第二任务读取所述重读的数据块。然后在所述应用侧比较所述数据块和所述重读的数据块,其中,如果所述数据块和所述重读的数据块的比较显示差别,则检测到损坏。
按照本发明的方法特别有益,因为在所述数据块已经被写入到磁带和提供到第二任务后或多或少地被直接重读,以便它可以被所述应用检查损坏,而不用重新定位所述磁带(例如反绕)并且不用中断向磁带的写入。因此,可以基本上实时地检测到数据块中的损坏,而不影响磁带记录装置的写入处理量(性能)。由此,当在原始数据块和重读的数据块之间的比较显示差别时,数据块被识别为损坏。所述损坏可能是由于写入误差或者例如经由存储区域网络(SAN)从服务器系统向所述磁带驱动装置的数据块传送期间在数据块中包括的数据的改变。
所述第一任务和第二任务是同时或者准同时运行的、由所述应用产生的任务。所述第一和第二任务可以涉及例如由所述应用产生或者从所述应用派生的线程、子程序或者(子)进程,如果可以从所述应用产生线程或者进程,则所述应用到基本上依赖于下层的操作系统。
按照本发明的一个实施例,所述方法还包括步骤:如果数据块和重读的数据块之间的比较显示差别,则停止经由第一任务来发送另外的数据块。然后,经由所述第二任务来向所述第一任务发送第一消息,其中,所述第一消息指示所述数据块已经被错误地存储。所述数据块被经由第一任务再次重发到磁带记录装置,以便例如在“一次写入-多次读取”(WORM)媒体的情况下,可以由重发的数据块改写原始存储的数据块,或者可以将原始存储的数据块标注为被损坏、被重发和被附加。在检测到错误地在磁带上存储数据块后将所述数据块替换为重发的数据块提供了下述优点:当要由所述应用存储的所有数据块被写入到磁带时,所述磁带可以被归档,并且不能再次被重读以检查任何损坏。
按照本发明的一个实施例,响应于接收到输入/输出消息或者中断信号,通过第二任务从所述存储缓冲器读取所述重读的数据块,其中,从所述磁带记录装置向所述服务器系统发送所述输入/输出消息或者中断信号。所述磁带记录装置仅仅可以被一个任务使用。因此,其控制所述磁带记录装置的情况下,仅仅第一任务与所述磁带记录装置直接通信。所述磁带记录装置还适于内部检查是否数据块的写入已经成功和无错误。然后所述磁带记录装置信号通过使用所述输入/输出消息或者中断信号向所述第二任务以信号通知(signal)它已经提供了所述存储缓冲器中的数据块。这提供了下述优点:一方面,由所述磁带记录装置向所述第二任务通知其应当从所述存储缓冲器读出数据,并且检查数据块损坏,另一方面,仅仅所述第一任务能够写入数据块和向所述磁带记录装置发送包括指令的消息。
按照本发明的一个实施例,所述数据块包括第一数据和第二数据,其中,所述第二数据提供关于循环冗余校验的信息,其中,在已经经由所述第一任务向所述磁带记录装置发送所述数据块之前,所述应用对于所述第一数据执行所述循环冗余校验,其中,通过对于在重读的数据块中包括的所述第一数据执行另一个循环冗余校验,所述第二应用任务产生第三数据,并且其中,通过第二和第三数据的比较来比较所述数据块和所述重读的数据块。所述应用由此从已经实际创建所述第一数据的另一个应用接收要存储的所述第一数据。然后对所述第一数据执行循环冗余校验,由此产生所述第二数据。包括所述第一和第二数据的所述数据块然后被发送到所述磁带记录装置。然后从所述重读的数据块提取所述第一数据,并且通过对于所述第一数据执行循环冗余校验而产生第三数据。如果所述第三数据匹配所述第二数据,则所述重读的数据块的所述第一数据匹配由所述另一个应用原始接收的所述第一数据,因此,所述第一数据已经被正确地存储和归档在磁带上。如果所述第三数据与所述第二数据不匹配,则所述重读的数据块的所述第一数据可能与由所述另一个应用原始接收的所述第一数据不同,因此必须向磁带重写所述第一数据。
按照本发明的一个实施例,所述数据块被存储在所述服务器系统上,并且例如经由所存储的数据块和所述重读的数据块的逐位比较,将所述数据块直接与所述重读的数据块相比较。然后,在已经执行了所述比较后,删除所存储的数据块。在前一个实施例中所述的循环冗余校验的使用提供了下述优点:当经由所述第二数据和所述第三数据的比较而比较所述数据块和所述重读的数据块时不在应用侧上保存所述数据块。所述第一数据是应当在磁带上备份的数据。所述第二数据是写入数据块之前从所述第一数据产生的数据,并且所述第三数据是在已经重读所述数据块后从所述第一数据产生的数据。因此,检查所述数据块所需要的信息被保持在所述第二数据中,并且被存储在磁带上。相反,在服务器侧保持所述数据块提供了优点:不是必须执行确定所述第二和第三数据的步骤。这可以提高服务器系统的整体性能,因为不需要用于确定所述第二和第三数据的CPU时间。
在另一个方面,本发明涉及一种计算机程序产品,其包括计算机可执行指令,用于执行上述的按照本发明的方法。
在另一个方面,本发明涉及一种用于检测在要由磁带记录装置存储的数据块中的损坏的方法,其中,所述磁带记录装置包括写入头、读取头和存储缓冲器。所述磁带记录装置适于接收磁带,并且与服务器系统链接。所述服务器系统执行应用和设备驱动程序。所述应用能够经由第一任务和第二任务通过所述设备驱动程序来访问所述磁带记录系统,并且按照本发明的所述方法包括步骤:从所述第一任务接收所述数据块。而且,所述数据块被使用所述写入头写入到磁带,并且通过使用所述读取头从所述磁带再次重读。在另一个步骤中,所述重读的数据块被存储在所述存储缓冲器中,并且被提供到所述第二任务,而不中断向磁带的应用写入。
按照本发明的一个实施例,实现了一种存储缓冲器管理,用于防止磁带驱动器用完存储缓冲器空间。所述重读的数据块被使用先入先出(FIFO)算法被置于存储缓冲器中。对于存储缓冲器管理定义了低和高门限值,其也被表示为低和高水线标志(water mark)。只要重读的数据块填充存储缓冲器使得存储缓冲器的填充水平未达到低的水线标志,则所述磁带记录装置以最大的写入速度工作。一旦填充水平达到低水线标志,则磁带驱动器开始将写入变慢。这导致磁带记录装置将较少的重读数据块置入存储缓冲器中,因为如果写入较少的数据块,则较少的数据块被重读和置于存储缓冲器中。所述磁带记录装置根据在低和高水线标志之间的存储缓冲器利用率来动态调节其写入处理量。在存储缓冲器利用率等于所定义的低水线标志的情况下,所述磁带记录装置(最低程度地)放慢向磁带写入数据块。所述磁带记录装置越来越放慢向磁带写入数据块,直到在填充水平达到高水线标志的点达到最大程序的变慢。一旦存储缓冲器利用率达到所定义的高水线标志,则所述磁带记录装置可以停止向磁带写入数据块,或者可以开始从存储缓冲器删除重读的数据块。使用FIFO算法来进行从存储缓冲器删除重读的数据块(首先删除在存储缓冲器中的最旧的重读的数据块)。当停止向磁带写入数据块时,所述应用可以验证存储缓冲器中的所有数据块,但是磁带记录装置的写入处理量受到负面的影响。相反,当从存储缓冲器删除重读的数据块时,所述应用不能验证所有的重读数据块,对于写入处理量的影响被最小化。可以由所述应用通过向所述磁带记录装置发送指令来控制当存储缓冲器利用率达到所定义的高水线标志时所述磁带记录装置如何动作。
按照本发明的一个实施例,在第二任务已经从所述存储缓冲器读取重读的数据块后从所述存储缓冲器删除重读的数据块。由于所述存储缓冲器应当向所述第二任务提供数据,可以在由所述第二任务读出重读的数据块后将其删除,以便不浪费在所述存储缓冲器上的任何存储空间。
按照本发明的一个实施例,按照本发明的所述方法包括步骤:从所述第一任务接收指令,其中,所述指令包括关于在所述存储缓冲器中的数据块的处理的信息。
按照本发明的一个实施例,按照本发明的所述方法还包括步骤:通过所述第一任务检测所述磁带记录装置的卸下(dismount);向所述第二任务以信号通知所述卸下。所述第二任务仅仅是读取已经被置于所述磁带记录装置的存储缓冲器中的数据块。当不必要时,所述第二任务不定位磁带驱动器,并且不向所述磁带记录装置发送任何控制命令。如果不能在存储缓冲器中获得数据,则第二任务等待直到可以获得数据或者所述磁带被卸下。如果在第一任务和第二任务之间没有同步,则必须有一种机制来向第二任务以信号通知所述第一任务不向所述磁带记录装置提供任何其他的数据块,并且可以中止第二任务。这是通过经由输入/输出消息或者中断信号向所述第二任务以信号通知磁带的卸下来完成的。
在另一个方面,本发明涉及一种计算机程序产品,其包括计算机可执行指令,用于执行按照本发明的上述方法。
而且,本发明涉及一种数据处理系统,其包括磁带记录装置和服务器系统。所述磁带记录装置包括写入头、读取头和存储缓冲器,所述磁带记录装置与所述服务器系统链接。所述服务器系统适于执行应用和设备驱动程序,所述应用能够经由第一任务和第二任务通过所述设备驱动程序访问所述磁带记录装置。所述数据处理系统还包括用于经由所述第一任务向所述磁带记录装置发送数据块的装置,其中,所述磁带记录装置通过使用写入头向磁带写入所述数据块,其中,所述磁带记录装置通过使用读取头从磁带读取写入的数据块,其中,所述磁带记录装置在所述存储缓冲器中存储所重读的数据块。所述数据处理系统还包括:用于从所述存储缓冲器经由所述第二任务读取所述重读的数据块的装置;以及,用于比较所述数据块和所述重读的数据块的装置,其中,如果所述数据块和所述重读的数据块的比较显示差别,则检测到损坏。
在另一个方面,本发明涉及一种磁带记录装置,其包括写入头、读取头和存储缓冲器,并且适于接收磁带。所述磁带记录装置与服务器系统链接,所述服务器系统能够执行应用和设备驱动程序。所述应用能够经由第一任务和第二任务通过所述设备驱动程序访问所述磁带记录装置,并且所述磁带记录装置包括接收部件,用于从所述第一任务接收所述数据块。所述磁带记录装置还包括写入部件,用于通过使用写入头向磁带写入所述数据块;读取部件,用于通过使用读取头从磁带读取数据块。而且,所述磁带记录装置包括:存储部件,用于在所述存储缓冲器中存储所重读的数据块;以及用于向所述第二任务提供所述重读的数据块的装置。
附图说明
下面,仅仅参见附图通过示例来更详细地说明本发明的优选实施例,其中:
图1示出了一种数据处理系统的方框图,
图2示出了图解按照本发明的方法的基本步骤的流程图,
图3示出了图解按照本发明的方法的基本步骤的流程图,
图4示意地示出了如何比较数据块和重读的数据块,
图5示出了数据处理系统的另一个方框图,
图6示意地示出了存储缓冲器的填充水平的图。
具体实施方式
图1示出了数据处理系统100的方框图。所述数据处理系统100包括服务器系统102和磁带记录装置104。服务器系统102还包括微处理器106、存储设备108、输入设备110和屏幕112。服务器系统102可以被看作计算机系统,其中,用户能够通过使用输入设备110(键盘或者指示设备等)和屏幕112交互。
微处理器106执行用于磁带记录装置104的计算机程序产品114和设备驱动程序116。计算机程序产品114和设备驱动程序116都被永久存储在存储设备108上,并且例如在下述时间被装载到微处理器106中:当上述的用户请求执行将其数据备份在磁带记录装置104上或者当服务器系统102被启动时。
服务器系统102和磁带记录装置104通过连接118而彼此连接。连接118可以例如是SCSI电缆或者经由诸如存储区域网络(SAN)的网络的连接。
磁带记录装置104包括微处理器120、写入头122、读取头124、磁带126和存储缓冲器128。写入头122和读取头124被布置成使得读取头124能够从磁带读取先前被写入头122写入的数据块,而不必反绕磁带。因此,磁带记录装置104可以工作在流模式中,因此数据块可以被写入头122写入到磁带126,并且被读取头124随后重读。
磁带记录装置104的微处理器120也执行计算机程序产品130,所述计算机程序产品130永久地被存储在存储设备上(在图1中为了简单而未示出),并且当磁带记录装置104启动时,被装载到微处理器120中。
计算机程序产品114可以被看作将数据从服务器系统向磁带记录装置104迁移的应用。为此,计算机程序产品114使用第一线程132和第二线程134。因此在此处所述的实施例中,所述第一任务和第二任务分别涉及第一和第二线程。在运行中,经由第一线程132向磁带记录装置104发送数据块136。第一线程132向设备驱动程序116发送所述数据块136。所述设备驱动程序116进一步经由连接118向磁带记录装置104传送所述数据块136。
计算机程序产品130被适配使得其能够接收数据块136,并且其控制写入头122来向磁带126写入数据块136。然后由读取头124重读数据块136,并且所述重读的数据块138被存储在存储缓冲器128中,从这里使得其能够访问第二线程134。
第二线程134从存储缓冲器128读出重读的数据块138。然后将数据块136与重读的数据块138相比较。如果在数据块136和重读的数据块138之间检测到差别,则显示数据块136的损坏。
如果检测到损坏,则第二线程134向第一线程132发送第一消息140。第一消息140指示数据块136被错误地写入。第一线程132然后停止发送另外的数据块。数据块136被重发到磁带记录装置104,第一线程132启动磁带126反绕到已经存储数据块136的位置,并且在接收到重发的数据块后,旧的数据块136被重写,因此被替换为新的重发的数据块。在WORM磁带媒体的情况下,不能重写损坏的数据块。因此,损坏的数据块被无效,并且将重发的数据块附加到磁带上的数据的末尾。
为了使得第一和第二线程132和134使用磁带记录装置104,设备驱动程序116必须创建两个独立的设备专用文件,以便每个线程可以使用与磁带记录装置104相关联的设备专用文件之一。因此,从逻辑的角度来看,磁带记录装置104可被计算机程序产品114看为两个磁带记录装置。但是,第二线程134不与磁带记录装置104通信以对其进行控制。第二线程134仅仅读取被置于存储缓冲器128中的数据块;其既不将磁带126定位到写入头122,也不将磁带126定位到读取头124。
图2示出了图解由用于检测要由磁带记录装置存储的数据块中的损坏的方法执行的基本步骤的方框图,其中,所述磁带记录装置包括写入头、读取头和存储缓冲器,其中,所述磁带记录装置还与服务器系统链接,其中,所述服务器系统执行应用,其中,所述磁带记录装置可以被所述应用经由第一任务和第二任务访问。在步骤200中,经由第一任务向所述磁带记录装置发送所述数据块。所述磁带记录装置通过使用所述写入头向磁带写入所述数据块,并且通过使用读取头从磁带再次读取写入的数据块。重读的数据块被存储在所述磁带记录装置的存储缓冲器中。在步骤202中,从所述存储缓冲器经由所述第二任务读取所述重读的数据块。在步骤204中,比较所述数据块和所述重读的数据块,其中,如果所述数据块和所述重读的数据块的比较显示差别,则检测到损坏。
图3示出了图解了由用于检测要由磁带记录装置存储的数据块中的损坏的方法执行的基本步骤的方框图。所述磁带记录装置包括写入头、读取头和存储缓冲器。所述磁带记录装置与服务器系统链接。所述服务器系统执行应用,所述应用能够经由第一任务和第二任务来访问所述磁带记录装置。在由按照本发明的方法执行的步骤300中,从所述第一任务接收所述数据块。在步骤302中,所述数据块被使用所述写入头写入到磁带,并且在步骤304,通过使用所述读取头从所述磁带读取所述数据块。在步骤306中,所述重读的数据块被存储在磁带记录装置的所述存储缓冲器中。而且,在步骤308中,所述重读的数据块被提供到所述第二任务。
图4图解了如何可以比较数据块136和重读的数据块138。为了便于理解所述比较过程,参见图1中所述的部件。重读的数据块138比较第一数据400和第二数据402。第一数据400引用由计算机程序产品114初始接收并且应当被备份的数据。计算机程序产品114对于第一数据400执行循环冗余校验,由此产生第二数据402。因此,第二数据402被计算机程序产品114增加。包括第一数据400和第二数据402的数据块136然后被传送到已经在图1中描述的磁带记录装置。重读的数据块138因此包括第一数据400和第二数据402。当第一数据400是要备份的数据时,重要的是,在第一数据400中没有损坏。为了检查损坏,通过再次对于第一数据400执行如箭头所示的循环冗余校验(CRC)而产生第三数据404。然后,将第二数据402与第三数据404相比较。如果第二和第三数据匹配,则数据块136已经被无错误地写入。否则,数据块136需要被再次写入磁带。
图5示出了数据处理系统500的方框图。所述数据处理系统500包括服务器系统502和磁带记录装置504。服务器系统502对于服务器系统502的微处理器执行计算机程序产品506(所述微处理器在图5中未示出)。计算机程序产品506包括第一线程508和第二线程510。服务器系统502还在服务器系统502的微处理器上执行设备驱动程序512。
磁带记录装置504包括写入头514、读取头516、存储缓冲器517和磁带518。磁带的运动方向由箭头指示。所述设备驱动程序512提供第一设备句柄(handle)520和第二设备句柄522,其中,第一设备句柄520与第一设备专用文件名称相关联,其中,第二设备句柄522与第二设备专用文件名称相关联。所述第一线程508经由第一数据句柄520的第一设备专用文件名称与磁带记录装置504通信,并且所述第二线程510经由所述第二设备句柄522的第二设备专用文件名称与所述磁带记录装置链接。
设备句柄520与光纤耦合接口524链接,所述光纤耦合接口524经由连接532与磁带记录装置504的光纤耦合接口528连接。类似地,设备句柄522与光纤耦合接口526链接,所述光纤耦合接口526经由连接534与磁带记录装置504的光纤耦合接口530连接。因此,由于提供了与光纤耦合接口524和528或者光纤耦合接口526和530相关联的两个连接532和534,因此设备驱动程序能够将磁带记录装置504表示为两个逻辑磁带记录装置。
第一线程508经由设备句柄520和连接532向所述磁带记录装置发送数据块序列,诸如数据块n 536、数据块n+1 538、数据块n+2 540和数据块n+3 542。所述磁带记录装置向磁带518写入数据块536、......、542序列。在图5上指示了在磁带518上写入数据块536、......、542的位置。
读取头516还重读先前已经被写入头写入的数据块。读取头已经例如读取了数据块n-4 550、数据块n-3 548、数据块n-2 546和数据块n-1 544,并且存储在存储缓冲器517上,从那里,它们被第二线程510读出。
将重读的数据块544、......、550中的每一个与原始的数据块相比较。所述比较可以例如基于上面例如在图4的说明中所述的循环冗余校验。
如果例如数据块n-2 546被检测为错误地写入到磁带518,则第二线程510以信号通知第一线程508,数据块n-2 546没有被正确地存储。于是所述磁带被反绕。数据块的序列的发送以数据块546再次开始,后随数据块544、536、538、......。
图6示意地示出了存储缓冲器的填充水平600的图。所述填充水平600涉及相对于由存储缓冲器提供的存储空间的总量的被占用的存储空间量。因此,0百分比的填充水平指示存储缓冲器完全空,而100%的填充水平指示存储缓冲器完全被填满数据。诸如数据块606、608和610的数据块在它们已经如上所述从磁带被读取后被存储在存储缓冲器中。数据块606、608和610中的每个数据块对于提高填充水平做出贡献。通过使用先入先出算法来存储数据块606、608和610。第一门限值602和第二门限值604被定义(它们例如被存储在磁带记录装置104的存储器件上,从那里,它们可以被计算机程序产品130访问,参考图1)。只要重读的数据块606、608和610未填充存储缓冲器使得填充水平600超过第一门限值602,则所述磁带记录装置以最大的写入速度操作。一旦重读的数据块606、608和610填充存储缓冲器以至于填充水平600超过第一门限值602,则磁带驱动器开始将写入变慢。这导致由所述磁带记录装置将较少的另外的重读数据块置于存储缓冲器中,因为如果较少的数据块被写入,则较少的数据块被重读和置于存储缓冲器中。所述磁带记录装置根据在第一和第二门限值602和604之间的填充水平来动态地调整其写入处理量。如果所述填充水平等于第一门限值,则所述磁带记录装置(最小程度地)放慢向磁带的数据块写入,所述磁带记录装置越来越放慢向磁带的数据块写入。直到在填充水平达到第二门限值604的点达到最大程度的放慢。一旦所述填充水平达到第二门限值604,则所述磁带记录装置可以停止向磁带写入数据块,或者可以开始从存储缓冲器删除重读的数据块606、608和610。使用FIFO算法来进行从存储缓冲器删除重读的数据块(首先删除存储缓冲器中最旧的重读数据块)。停止向磁带写入数据块使得所述应用可以验证存储缓冲器中的所有数据块,但是对写入处理量产生负面影响,因为磁带记录装置需要停止写入数据块。从存储缓冲器删除重读的数据块的方法不允许所述应用验证所有的重读数据块,但是对于写入处理量没有影响,因为所述磁带记录装置可以在任何时间继续向磁带写入。可以由所述应用例如通过向所述磁带记录装置发送指令来控制当填充水平600达到第二门限值604时所述磁带记录装置如何动作。

Claims (18)

1.一种用于检测要被磁带记录装置(104)存储的数据块(136)中的损坏的方法,所述磁带记录装置包括写入头(122)、读取头(124)和存储缓冲器(128),所述磁带记录装置与服务器系统(102)链接,所述服务器系统执行应用(114)和设备驱动程序(116),所述磁带记录装置能够被所述应用经由第一任务(132)和第二任务(134)通过所述设备驱动程序访问,所述方法包括步骤:
-经由所述第一任务向所述磁带记录装置发送所述数据块,所述磁带记录装置通过使用所述写入头向磁带(126)写入所述数据块,所述磁带记录装置通过使用所述读取头从所述磁带读取所述写入的数据块,所述磁带记录装置在所述存储缓冲器中存储所述重读的数据块(138);
-从所述存储缓冲器经由所述第二任务读取所述重读的数据块,而不反绕所述磁带并且不中断写入操作;
-比较所述数据块(136)和所述重读的数据块(138),其中,如果所述数据块和所述重读的数据块的所述比较显示出差别,则检测到所述写入错误。
2.按照权利要求1的方法,所述方法还包括:
-如果所述数据块和所述重读的数据块之间的比较显示出差别,则向第一任务发送第一消息,所述第一消息指示所述数据块被错误地存储;
-响应于接收到所述第一消息,停止经由所述第一任务来发送另外的数据块;
-经由所述第一任务来向所述磁带记录装置重发所述数据块;
-重写所述数据块,或者使所述数据块无效并且将重发的数据块附加到磁带上的数据的末尾。
3.按照权利要求1或者2的方法,其中,在由所述第二任务从所述磁带记录装置接收到输入/输出消息或者中断信号后,从所述存储缓冲器读取所述重读的数据块。
4.按照权利要求1-3中的任何一项的方法,其中,所述数据块(136)包括第一数据(400)和第二数据(402),所述第二数据提供关于循环冗余校验的信息,其中,在经由所述第一任务(132)向所述磁带记录装置(104)发送所述数据块之前,所述应用(114)对于所述第一数据执行所述循环冗余校验,其中,通过由第二任务(134)对于包括在重读的数据块中的第一数据(400)执行另一个循环冗余校验,所述应用(114)产生第三数据(404),并且其中通过所述第二和第三数据的比较来比较所述数据块和所述重读的数据块。
5.按照权利要求1-3中的任何一项的方法,所述方法还包括在所述服务器系统(102)上存储所述数据块(136),其中,经由所述存储的数据块和所述重读的数据块的逐位比较,将所述数据块与所述重读的数据块(138)相比较。
6.一种计算机程序产品,包括计算机可执行指令,用于执行按照前述权利要求中的任何一项的方法。
7.一种用于检测要由磁带记录装置(104)存储的数据块(136)中的损坏的方法,所述磁带记录装置包括写入头(122)、读取头(124)和存储缓冲器(128),所述磁带记录装置与服务器系统(102)链接,所述服务器系统执行应用(114),所述应用能够经由第一任务(132)和第二任务(134)来访问所述磁带记录装置,所述方法包括:
-从所述第一任务接收所述数据块;
-通过使用所述写入头将所述数据块写入磁带(126);
-通过使用所述读取头从所述磁带读取所述数据块;
-将所述重读的数据块(138)存储在所述存储缓冲器中;
-向所述第二任务提供所述重读的数据块。
8.按照权利要求7的方法,还包括:
-监视所述存储缓冲器的填充水平;
-通过使用先入先出(FIFO)算法在所述存储器中存储所述重读的数据块(138);
-按照所述FIFO算法删除已经存储在所述存储缓冲器中的重读的数据块;
-如果所述填充水平小于预设的第一门限值,则以最大的写入速度向所述磁带(126)写入所述数据块(136);
-如果所述填充水平超过所述第一门限值,但是不超过预设的第二门限值,则以降低的写入速度来写入所述数据块;
-如果所述填充水平超过所述第二门限值,则不用第二任务执行验证,停止写入所述数据块或者与按照FIFO算法从存储缓冲器删除重读的数据块相结合继续写入所述数据块。
9.按照权利要求7的方法,还包括:
-从所述第一任务接收指令,所述指令包括关于在所述存储缓冲器中的所述重读的数据块(138)的处理的信息。
10.按照权利要求7、8或者9的方法,还包括:如果所述第二任务已经读出所述重读的数据块,则从所述存储缓冲器删除所述重读的数据块(138)。
11.一种数据处理系统,包括磁带记录装置(104)和服务器系统(102),所述磁带记录装置包括写入头(122)、读取头(124)和存储缓冲器(128),所述磁带记录装置与所述服务器系统链接,所述服务器系统适于执行应用(114)和设备驱动程序(116),所述应用能够经由第一任务(132)和第二任务(134)通过所述设备驱动程序访问所述磁带记录装置,所述数据处理系统包括:
-用于经由所述第一任务向所述磁带记录装置发送数据块(136)的装置,所述磁带记录装置通过使用所述写入头向磁带(126)写入所述数据块,所述磁带记录装置通过使用所述读取头从所述磁带读取所述写入的数据块,所述磁带记录装置在所述存储缓冲器中存储所述重读的数据块;
-用于从所述存储缓冲器经由所述第二任务读取所述重读的数据块(138)的装置;
-用于比较所述数据块和所述重读的数据块的装置,其中,如果所述数据块和所述重读的数据块的比较显示出差别,则检测到所述损坏。
12.按照权利要求11的数据处理系统,还包括:
-用于如果所述数据块和所述重读的数据块的比较显示出差别、则停止经由所述第二任务发送另外的数据块的装置;
-用于向所述第一任务发送第一消息的装置,所述第一消息指示所述数据块被错误地存储;
-用于经由所述第一任务向所述磁带记录装置重发所述数据块的装置。
13.按照权利要求11或者12的数据处理系统,还包括:
-用于从所述磁带记录装置接收输入/输出消息或者中断信号的装置;
-用于在接收到所述输入/输出消息或者中断信号后启动所述第一数据的所述读取的装置;
-用于重写所述数据块的装置。
14.按照权利要求11-13中的任何一项的数据处理系统,所述数据处理系统还包括:
-用于接收第一数据(400)的装置;
-用于通过使用所述第一数据的循环冗余校验来产生第二数据(402)的装置;
-用于从所述第一数据和所述第二数据产生所述数据块的装置;
-用于通过使用在所述重读的数据块中包括的第一数据的循环冗余校验而产生第三数据(404)的装置;
-用于比较所述第二数据与所述第三数据的装置;
-用于检测在所述第二和第三数据之间的差别的装置。
15.一种磁带记录装置(104),包括写入头(122)、读取头(124)和存储缓冲器(128),所述磁带记录装置适于接收磁带(126),所述磁带记录装置与服务器系统(102)链接,所述服务器系统能够执行应用(114)和设备驱动程序(116),所述应用能够经由第一任务(132)和第二任务(134)通过所述设备驱动程序访问所述磁带记录装置,所述磁带记录装置包括:
-接收部件,用于从所述第一任务接收所述数据块;
-写入部件,用于通过使用所述写入头向所述磁带写入所述数据块;
-读取部件,用于通过使用所述读取头从所述磁带读取所述数据块;
-存储部件,用于在所述存储缓冲器上存储所述重读的数据块;
-用于向所述第二任务提供所述重读的数据块的装置。
16.按照权利要求15的磁带记录装置,还包括:
-用于在所述第二任务已经从所述存储缓冲器读取所述重读的数据块后从所述存储缓冲器删除所述重读的数据块的装置;
-用于向磁带上先前写入初始数据块的位置重写所述数据块的装置;
-用于使所述数据块无效、并且将重发的数据块附加到用于WORM媒体的磁带上的数据的末尾的装置。
17.按照权利要求15或者16的磁带记录装置,还包括:用于从所述第一任务接收指令的装置,所述指令包括关于在所述存储缓冲器中的所述数据块的处理的信息和/或关于使得能够将所述重读的数据块置于所述存储缓冲器中的信息。
18.按照权利要求15、16或者17的磁带记录装置,还包括:
-用于监视所述存储缓冲器的填充水平的装置;
-用于通过使用先入先出(FIFO)算法来在所述存储缓冲器中存储所述重读的数据块的装置;
-用于按照所述FIFO算法删除已经在所述存储缓冲器中存储的重读的数据块的装置;
-用于如果所述填充水平低于预设的第一门限值、则以最大的写入速度向所述磁带(126)写入所述数据块(138)的装置;
-用于如果所述填充水平超过所述第一门限值但是不超过预设的第二门限值、则以降低的写入速度写入所述数据块的装置;
-用于如果所述填充水平超过所述第二门限值、则丢弃所述数据块的装置。
CN2007101620124A 2006-10-02 2007-09-29 检测数据块中的损坏的方法和系统 Expired - Fee Related CN101159158B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06121596 2006-10-02
EP06121596.8 2006-10-02

Publications (2)

Publication Number Publication Date
CN101159158A true CN101159158A (zh) 2008-04-09
CN101159158B CN101159158B (zh) 2010-07-21

Family

ID=39262431

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101620124A Expired - Fee Related CN101159158B (zh) 2006-10-02 2007-09-29 检测数据块中的损坏的方法和系统

Country Status (2)

Country Link
US (1) US7793159B2 (zh)
CN (1) CN101159158B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105830042A (zh) * 2013-08-31 2016-08-03 慧与发展有限责任合伙企业 描述对象和描述符
CN112820325A (zh) * 2021-01-27 2021-05-18 天津航大雄英航空工程有限公司 一种飞参记录器破损磁带数据读取的掩膜方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5044822B2 (ja) * 2008-05-02 2012-10-10 インターナショナル・ビジネス・マシーンズ・コーポレーション データをテープ媒体に書き込む装置及び方法
CN108712236B (zh) * 2018-07-06 2023-08-22 北京比特大陆科技有限公司 一种信息处理方法、装置以及电子设备
US11211094B1 (en) * 2021-05-11 2021-12-28 Western Digital Technologies, Inc. Data storage device duplicating an ECC sub-block in downstream ECC super-block

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3794818A (en) * 1972-07-03 1974-02-26 Us Navy Automatic memory test and correction system
JPS6117273A (ja) * 1984-07-04 1986-01-25 Nec Corp 回転形磁気記録装置
US5200960A (en) * 1990-09-21 1993-04-06 Xerox Corporation Streaming tape diagnostic
US5557740A (en) * 1995-05-30 1996-09-17 International Business Machines Corporation Method and system for providing device support testing for a plurality of operating systems
US6115206A (en) * 1996-10-17 2000-09-05 Leggett; Dennis Performance optimized magnetic tape assembly
US6307701B1 (en) * 1998-10-20 2001-10-23 Ecrix Corporation Variable speed recording method and apparatus for a magnetic tape drive
US6557141B1 (en) * 1999-12-01 2003-04-29 Storage Technology Corporation Magnetic media certification
US6469854B1 (en) * 1999-12-01 2002-10-22 Storage Technology Corporation Recording error history embedded rewritable media
US20030028841A1 (en) * 2001-07-31 2003-02-06 Rushton Nigel Kevin Data transfer device and method
CN1708030A (zh) 2004-06-11 2005-12-14 华为技术有限公司 分组业务网络流量控制系统及其方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105830042A (zh) * 2013-08-31 2016-08-03 慧与发展有限责任合伙企业 描述对象和描述符
CN105830042B (zh) * 2013-08-31 2019-06-18 慧与发展有限责任合伙企业 利用描述读取和写入请求的数据迁移系统和方法
CN112820325A (zh) * 2021-01-27 2021-05-18 天津航大雄英航空工程有限公司 一种飞参记录器破损磁带数据读取的掩膜方法

Also Published As

Publication number Publication date
US20080082862A1 (en) 2008-04-03
US7793159B2 (en) 2010-09-07
CN101159158B (zh) 2010-07-21

Similar Documents

Publication Publication Date Title
US7444465B2 (en) Tape emulating disk based storage system and method
US8898394B2 (en) Data migration method
US6779057B2 (en) Method, system, and program for indicating data transmitted to an input/output device as committed
US8694970B2 (en) Unified debug system with multiple user-configurable trace volumes and trace buffers
US8806173B2 (en) Elimination of duplicate written records
US20080010324A1 (en) System and method for high speed device access
US20060256466A1 (en) Device, Method And Program For Controlling Drive Of Recording Medium
CN101159158B (zh) 检测数据块中的损坏的方法和系统
EP1758112A2 (en) Information recording apparatus, information recording method and computer program
US20120072660A1 (en) Optical disc recorder and buffer management method thereof
US20070168605A1 (en) Information storage device and its control method
US8380952B2 (en) Storage system and data storage method using storage system which decides size of data to optimize the total of data size transfer efficiency
US7234078B2 (en) Data recovery method and data recording apparatus
US7978427B2 (en) Device for embedding information into data
KR20060017764A (ko) 자기 테이프 데이터 저장 시스템 버퍼 관리
CN101276257A (zh) 采用非易失性高速缓冲存储器的存储设备及其控制方法
US8176243B2 (en) Tape recording apparatus and method
JPWO2010058655A1 (ja) テープ記録装置におけるデータの上書き制御方法、上書き制御プログラム、及びテープ記録装置
US6571304B1 (en) Control system for using memory on cartridges to overcome tape drive problems
US8760781B2 (en) System utility for controling data synchronization in a tape data storage system
JP2014071917A (ja) ファイル記録装置、フィルシステム管理方法、ファイル修復方法およびチェンジャドライブ
GB2378536A (en) A method of logging message activity
JP3599138B2 (ja) ジャーナルバックアップ方法及びシステム
JP5044822B2 (ja) データをテープ媒体に書き込む装置及び方法
US8055868B2 (en) Apparatus and method to store original point-in-time data

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100721

Termination date: 20150929

EXPY Termination of patent right or utility model