US20170017541A1 - Logical block protection for tape interchange - Google Patents

Logical block protection for tape interchange Download PDF

Info

Publication number
US20170017541A1
US20170017541A1 US15/216,358 US201615216358A US2017017541A1 US 20170017541 A1 US20170017541 A1 US 20170017541A1 US 201615216358 A US201615216358 A US 201615216358A US 2017017541 A1 US2017017541 A1 US 2017017541A1
Authority
US
United States
Prior art keywords
data record
updated
data
record
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.)
Abandoned
Application number
US15/216,358
Inventor
Kevan Flint Rehm
Judith Ann Schmitz
Joseph Carl Nemeth
John Michael Sygulla
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Silicon Graphics International 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 Silicon Graphics International Corp filed Critical Silicon Graphics International Corp
Priority to US15/216,358 priority Critical patent/US20170017541A1/en
Assigned to SILICON GRAPHICS INTERNATIONAL CORP. reassignment SILICON GRAPHICS INTERNATIONAL CORP. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NEMETH, JOSEPH CARL, REHM, KEVAN FLINT, SCHMITZ, JUDITH ANN, SYGULLA, JOHN MICHAEL
Publication of US20170017541A1 publication Critical patent/US20170017541A1/en
Assigned to HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP reassignment HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SILICON GRAPHICS INTERNATIONAL CORP.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0673Single storage device
    • G06F3/0682Tape device
    • 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/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1201Formatting, e.g. arrangement of data block or words on the record carriers on tapes
    • G11B20/1202Formatting, e.g. arrangement of data block or words on the record carriers on tapes with longitudinal tracks only
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/008Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
    • G11B5/00813Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes
    • 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]

Definitions

  • the present invention relates data storage using LBP.
  • the present invention relates to implementing CRC data storage techniques across many different devices.
  • LBP logical block detection
  • CRC cyclic redundancy check
  • IBM has more recently publicized this method through a change to the T10 SCSI specification, which allows the tape drive to make the CRC visible to the application.
  • the application now adds the CRC to the record using the IBM rules, the drive verifies it before writing it to tape, verifies it on read back, and supplies it to the application for verification after receipt. This provides “End-To-End” protection of the data from its origin before transmission.
  • the details of computing and formatting the CRC checksum are published as part of the specification so that the application can create a CRC that the drive can verify.
  • LBP LBP
  • a data manager adds a 32-bit CRC to its records and writes them on an old IBM drive, that drive will automatically append an additional 32-bit CRC before writing it to tape. If that tape is then placed in a new drive with the LBP feature turned on, the new drive will supply both CRC values, which is not the record that was written to tape. Similarly, if the record with CRC is written to the new drive with LBP enabled, the record will be written to tape exactly as delivered. If it is then placed in an old drive and read, the CRC will be stripped and will not be delivered to the application. This, again, is not what was written to the tape.
  • Other non-IBM drives e.g. the STK T10KC
  • the present invention utilizes a two part process for modifying records to be written and retrieved from tape devices to ensure the records are accurate when received and written to different tape devices having different error checking methods.
  • a record is first accessed and a cyclic redundancy check is appended to the end of the record. After appending the CRC, a string of zeros is appended to the end of the CRC as part of the record.
  • the record with an additional CRC and the string of zeros, may then be submitted to tape drives which are logical block protection enabled. Drives which are logical block protection (LBP) enabled will not remove any of the digits from the record.
  • LBP logical block protection
  • drives other than IBM LTO (Linear Open Tape) tape drives may behave in a manner similar to IBM LTO tape drives as described above, and will be handled in a similar manner, depending on whether these drives support LBP.
  • FIG. 1 is a block diagram of a tape storage system.
  • FIG. 2 is a method of writing data to a tape drive.
  • FIG. 3 is a method of reading tape from a tape drive.
  • FIG. 4 is a block diagram of a computing system for implementing a data storage manager.
  • a two part process is used for modifying records to be written and retrieved from tape devices to ensure the records are accurate when received and written to different tape devices having different error checking methods.
  • a record is first accessed and a cyclic redundancy check is appended to the end of the record. After appending the CRC, a string of zeros is appended to the end of the CRC as part of the record.
  • the record, with an additional CRC and the string of zeros, may then be submitted to tape drives which are logical block protection enabled. Drives which are logical block protection (LBP) enabled will not remove any of the digits from the record.
  • LBP logical block protection
  • drives that are not LBP enabled For drives that are not LBP enabled, the string of zeros at the end of the record is removed prior to sending the record, and restored after receiving the data on read back. This is done because non-LBP enabled drives will add a string of zeros themselves. Thus, there would be too much information appended to the drive if the zeros were left in the record. Similarly, the non-LBP enabled drives will strip the drive-appended zeros on read back, and would thus return too little information.
  • drives other than IBM LTO (Linear Open Tape) tape drives may behave in a manner similar to IBM LTO tape drives as described above, and will be handled in a similar manner, depending on whether these drives support LBP.
  • FIG. 1 is a block diagram of a tape storage system.
  • the tape storage system of FIG. 1 includes data storage manager 110 , and tape storage devices 120 , 130 , and 140 .
  • Each tape storage device may include one or more tape devices used to store data provided by data storage manager 110 .
  • Each device within tape storage 120 may be written to or read from.
  • the devices may be different types of devices, and may be logical block protection enabled or not. Some of the devices may be LTO drives, for example from IBM or other manufacturers.
  • Data storage manager 110 includes application 115 .
  • Application 115 may access tape storage devices on tape storage systems 120 - 140 , determine whether drives within the storage systems are LBP compliant, determine if the drives are LTO drives by IBM or other manufacturers, append the records to be written and read from the drives with data, and perform other data storage management functions.
  • Application 115 may perform the functionality described herein and is stored in memory on a data storage manager 110 and executed by a data storage manager processor.
  • FIG. 2 is a method of writing data to a tape drive.
  • the method of FIG. 2 begins with accessing a record to be written to the tape drive at step 210 . Once accessed, application 115 may append the record with a 32 bit CRC at step 220 . The record and CRC may then be appended further with a 32 bit zero at step 230 . Next, a determination is made as to whether the tape drive to receive the data is LBP capable. If the tape drive is LBP capable at step 240 , the LBP function is enabled at step 250 and the record is written to the drive with the CRC and 32 bit zero appended to the record.
  • the drive is an IBM LTO drive and is not LBP capable, or is any drive that behaves in a manner similar to the IBM LTO LCP-incapable tape drive
  • the 32 bit zero is stripped from the record.
  • the record is then sent to the tape drive with the 32 bit CRC and the drive is recorded with the 32 bit CRC at step 290 .
  • the drive which is not LBP capable will typically append a 32 bit zero to the end of the record.
  • FIG. 3 is a method of reading data from a tape drive.
  • a determination is made as to whether the tape drive to read the data from is LBP capable at step 310 . If the tape drive to read the data from is LBP capable, the LBP feature is enabled at step 320 and the record is read with a CRC and 32 bit zero appended to the record at step 330 . If the tape drive to read the data from is an IBM LTO tape drive and is not LBP capable, or is any drive that behaves in a manner similar to the IBM LTO-incapable tape drive, the record may be read at step 340 and will only include a 32 bit CRC. Application 115 may then append the record and CRC with a 32 bit zero at step 350 .
  • FIG. 4 is a block diagram of a computing system for implementing a data storage manager.
  • the computing system 400 of FIG. 4 includes one or more processors 410 and memory 420 .
  • Main memory 420 stores, in part, instructions and data for execution by processor 410 .
  • Main memory 420 can store the executable code when in operation.
  • the system 400 of FIG. 4 further includes a mass storage device 430 , portable storage medium drive(s) 440 , output devices 450 , user input devices 460 , a graphics display 470 , and peripheral devices 480 .
  • processor unit 410 and main memory 420 may be connected via a local microprocessor bus, and the mass storage device 430 , peripheral device(s) 480 , portable storage device 440 , and display system 470 may be connected via one or more input/output (I/O) buses.
  • I/O input/output
  • Mass storage device 430 which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit 410 .
  • Mass storage device 430 can store the system software for implementing embodiments of the present invention for purposes of loading that software into main memory 420 .
  • Portable storage device 440 operates in conjunction with a portable non-volatile storage medium, such as a floppy disk, compact disk or Digital video disc, to input and output data and code to and from the computer system 400 of FIG. 4 .
  • the system software for implementing embodiments of the present invention may be stored on such a portable medium and input to the computer system 400 via the portable storage device 440 .
  • Input devices 460 provide a portion of a user interface.
  • Input devices 460 may include an alpha-numeric keypad, such as a keyboard, for inputting alpha-numeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys.
  • the system 400 as shown in FIG. 4 includes output devices 450 . Examples of suitable output devices include speakers, printers, network interfaces, and monitors.
  • Display system 470 may include a liquid crystal display (LCD) or other suitable display device.
  • Display system 470 receives textual and graphical information, and processes the information for output to the display device.
  • LCD liquid crystal display
  • Peripherals 480 may include any type of computer support device to add additional functionality to the computer system.
  • peripheral device(s) 480 may include a modem or a router.
  • the components contained in the computer system 400 of FIG. 4 are those typically found in computer systems that may be suitable for use with embodiments of the present invention and are intended to represent a broad category of such computer components that are well known in the art.
  • the computer system 400 of FIG. 4 can be a personal computer, hand held computing device, telephone, mobile computing device, workstation, server, minicomputer, mainframe computer, or any other computing device.
  • the computer can also include different bus configurations, networked platforms, multi-processor platforms, etc.
  • Various operating systems can be used including Unix, Linux, Windows, Macintosh OS, Palm OS, and other suitable operating systems.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

A two part process is used for modifying records to be written and retrieved from tape devices. A record is appended with a cyclic redundancy check and a string of zeros. Submitting the entire record to tape drives which are logical block protection enabled will result in no change. For drives that are not LBP enabled, the string of zeros at the end of the record is removed. In addition to determining whether a drive is LBP compliant, a determination may be made as to whether a drive is a linear tape open drive from a particular manufacturer. Linear tape open drives may behave similarly as drives which may not be enabled with logical block protection.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • The present application is a continuation and claims the priority benefit of U.S. patent application Ser. No. 14/521,326 filed Oct. 22, 2014, which is a continuation and claims the priority benefit of U.S. patent application Ser. No. 13/831,751 filed Mar. 15, 2013, the disclosures of which are incorporated herein by reference.
  • BACKGROUND OF THE INVENTION
  • Field of the Invention
  • The present invention relates data storage using LBP. In particular, the present invention relates to implementing CRC data storage techniques across many different devices.
  • Description of the Related Art
  • Detecting errors in data as a result of transmission, data operators, and other functions has been done with logical block detection (LBP), the technique of adding a 32-bit cyclic redundancy check (CRC) checksum to tape records, is an old technique. IBM Corporation has used this method invisibly on their a linear-tape-open (LTO) drives for years to ensure data integrity, adding the CRC to the data record before writing it to tape, then checking and stripping the CRC before returning it to the application on readback.
  • IBM has more recently publicized this method through a change to the T10 SCSI specification, which allows the tape drive to make the CRC visible to the application. The application now adds the CRC to the record using the IBM rules, the drive verifies it before writing it to tape, verifies it on read back, and supplies it to the application for verification after receipt. This provides “End-To-End” protection of the data from its origin before transmission. The details of computing and formatting the CRC checksum are published as part of the specification so that the application can create a CRC that the drive can verify.
  • The IBM implementation of LBP creates a tape interchange problem for data centers that utilize different tape devices. If a data manager adds a 32-bit CRC to its records and writes them on an old IBM drive, that drive will automatically append an additional 32-bit CRC before writing it to tape. If that tape is then placed in a new drive with the LBP feature turned on, the new drive will supply both CRC values, which is not the record that was written to tape. Similarly, if the record with CRC is written to the new drive with LBP enabled, the record will be written to tape exactly as delivered. If it is then placed in an old drive and read, the CRC will be stripped and will not be delivered to the application. This, again, is not what was written to the tape. Other non-IBM drives (e.g. the STK T10KC) implement LBP in ways that do not create this tape interchange problem, which complicates matters. What is needed is a method for storing data to tape devices that accounts for different LBP and CRC functionality that each drive exhibits.
  • SUMMARY OF THE CLAIMED INVENTION
  • The present invention utilizes a two part process for modifying records to be written and retrieved from tape devices to ensure the records are accurate when received and written to different tape devices having different error checking methods. A record is first accessed and a cyclic redundancy check is appended to the end of the record. After appending the CRC, a string of zeros is appended to the end of the CRC as part of the record. The record, with an additional CRC and the string of zeros, may then be submitted to tape drives which are logical block protection enabled. Drives which are logical block protection (LBP) enabled will not remove any of the digits from the record. For IBM LTO drives that are not LBP enabled, the string of zeros at the end of the record is removed prior to transmitting the record, and restored after receiving the data on read back. This is done because IBM non-LBP enabled drives will add a string of zeros themselves. Thus, there would be too much information written to tape if the zeros were left in the record. Similarly, the IBM non-LBP enabled drives will strip the drive-appended zeros on read back, and would thus return too little information if the zeros were not restored to the record. In some embodiments, drives other than IBM LTO (Linear Open Tape) tape drives may behave in a manner similar to IBM LTO tape drives as described above, and will be handled in a similar manner, depending on whether these drives support LBP.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a tape storage system.
  • FIG. 2 is a method of writing data to a tape drive.
  • FIG. 3 is a method of reading tape from a tape drive.
  • FIG. 4 is a block diagram of a computing system for implementing a data storage manager.
  • DETAILED DESCRIPTION
  • A two part process is used for modifying records to be written and retrieved from tape devices to ensure the records are accurate when received and written to different tape devices having different error checking methods. A record is first accessed and a cyclic redundancy check is appended to the end of the record. After appending the CRC, a string of zeros is appended to the end of the CRC as part of the record. The record, with an additional CRC and the string of zeros, may then be submitted to tape drives which are logical block protection enabled. Drives which are logical block protection (LBP) enabled will not remove any of the digits from the record.
  • For drives that are not LBP enabled, the string of zeros at the end of the record is removed prior to sending the record, and restored after receiving the data on read back. This is done because non-LBP enabled drives will add a string of zeros themselves. Thus, there would be too much information appended to the drive if the zeros were left in the record. Similarly, the non-LBP enabled drives will strip the drive-appended zeros on read back, and would thus return too little information. In some embodiments, drives other than IBM LTO (Linear Open Tape) tape drives may behave in a manner similar to IBM LTO tape drives as described above, and will be handled in a similar manner, depending on whether these drives support LBP.
  • FIG. 1 is a block diagram of a tape storage system. The tape storage system of FIG. 1 includes data storage manager 110, and tape storage devices 120, 130, and 140. Each tape storage device may include one or more tape devices used to store data provided by data storage manager 110. Each device within tape storage 120 may be written to or read from. The devices may be different types of devices, and may be logical block protection enabled or not. Some of the devices may be LTO drives, for example from IBM or other manufacturers.
  • Data storage manager 110 includes application 115. Application 115 may access tape storage devices on tape storage systems 120-140, determine whether drives within the storage systems are LBP compliant, determine if the drives are LTO drives by IBM or other manufacturers, append the records to be written and read from the drives with data, and perform other data storage management functions. Application 115 may perform the functionality described herein and is stored in memory on a data storage manager 110 and executed by a data storage manager processor.
  • FIG. 2 is a method of writing data to a tape drive. The method of FIG. 2 begins with accessing a record to be written to the tape drive at step 210. Once accessed, application 115 may append the record with a 32 bit CRC at step 220. The record and CRC may then be appended further with a 32 bit zero at step 230. Next, a determination is made as to whether the tape drive to receive the data is LBP capable. If the tape drive is LBP capable at step 240, the LBP function is enabled at step 250 and the record is written to the drive with the CRC and 32 bit zero appended to the record. If the drive is an IBM LTO drive and is not LBP capable, or is any drive that behaves in a manner similar to the IBM LTO LCP-incapable tape drive, the 32 bit zero is stripped from the record. The record is then sent to the tape drive with the 32 bit CRC and the drive is recorded with the 32 bit CRC at step 290. When writing the record, the drive which is not LBP capable will typically append a 32 bit zero to the end of the record.
  • FIG. 3 is a method of reading data from a tape drive. First, a determination is made as to whether the tape drive to read the data from is LBP capable at step 310. If the tape drive to read the data from is LBP capable, the LBP feature is enabled at step 320 and the record is read with a CRC and 32 bit zero appended to the record at step 330. If the tape drive to read the data from is an IBM LTO tape drive and is not LBP capable, or is any drive that behaves in a manner similar to the IBM LTO-incapable tape drive, the record may be read at step 340 and will only include a 32 bit CRC. Application 115 may then append the record and CRC with a 32 bit zero at step 350.
  • FIG. 4 is a block diagram of a computing system for implementing a data storage manager. The computing system 400 of FIG. 4 includes one or more processors 410 and memory 420. Main memory 420 stores, in part, instructions and data for execution by processor 410. Main memory 420 can store the executable code when in operation. The system 400 of FIG. 4 further includes a mass storage device 430, portable storage medium drive(s) 440, output devices 450, user input devices 460, a graphics display 470, and peripheral devices 480.
  • The components shown in FIG. 4 are depicted as being connected via a single bus 490. However, the components may be connected through one or more data transport means. For example, processor unit 410 and main memory 420 may be connected via a local microprocessor bus, and the mass storage device 430, peripheral device(s) 480, portable storage device 440, and display system 470 may be connected via one or more input/output (I/O) buses.
  • Mass storage device 430, which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit 410. Mass storage device 430 can store the system software for implementing embodiments of the present invention for purposes of loading that software into main memory 420.
  • Portable storage device 440 operates in conjunction with a portable non-volatile storage medium, such as a floppy disk, compact disk or Digital video disc, to input and output data and code to and from the computer system 400 of FIG. 4. The system software for implementing embodiments of the present invention may be stored on such a portable medium and input to the computer system 400 via the portable storage device 440.
  • Input devices 460 provide a portion of a user interface. Input devices 460 may include an alpha-numeric keypad, such as a keyboard, for inputting alpha-numeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys. Additionally, the system 400 as shown in FIG. 4 includes output devices 450. Examples of suitable output devices include speakers, printers, network interfaces, and monitors.
  • Display system 470 may include a liquid crystal display (LCD) or other suitable display device. Display system 470 receives textual and graphical information, and processes the information for output to the display device.
  • Peripherals 480 may include any type of computer support device to add additional functionality to the computer system. For example, peripheral device(s) 480 may include a modem or a router.
  • The components contained in the computer system 400 of FIG. 4 are those typically found in computer systems that may be suitable for use with embodiments of the present invention and are intended to represent a broad category of such computer components that are well known in the art. Thus, the computer system 400 of FIG. 4 can be a personal computer, hand held computing device, telephone, mobile computing device, workstation, server, minicomputer, mainframe computer, or any other computing device. The computer can also include different bus configurations, networked platforms, multi-processor platforms, etc. Various operating systems can be used including Unix, Linux, Windows, Macintosh OS, Palm OS, and other suitable operating systems.
  • The foregoing detailed description of the technology herein has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the technology and its practical application to thereby enable others skilled in the art to best utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claims

Claims (19)

1. (canceled)
2. A method for storing data on tape media, the method comprising:
identifying that a first tape drive supports logical block protection (LBP), wherein a first tape media resides at the first tape drive;
issuing a read command to the first tape drive to read a first record stored at the first tape media;
receiving the first data record and data associated with the first record stored at the first tape media, wherein the data associated with the first record stored at the first tape media includes a field of zeros associated with the first record;
receiving updated data to write to the first record at the first tape media;
appending a field of zeros to the updated data that are associated with the updated data;
issuing a write command to the first tape drive to write updated data with the appended field of zeros to the first data record stored at the first tape media, and
sending the updated data with the appended field of zeros to the first tape drive, wherein the first tape drive writes the updated data with the appended field of zeros to the first data record at the first tape media.
3. The method of claim 2, wherein the data read from the first data record also has cyclic redundancy check (CRC) bytes appended to the first data record, and the method further comprising:
stripping the CRC bytes from the first data record after receiving the first data record and the data associated with the first data record;
performing an error check of the first data record, wherein error check of the first data record is performed via the CRC bytes stripped from the first data record; and
identifying that the first data record read from the first tape drive does not include an error based on the error check; and
providing the first data record to an application program based on the first data record not including an error.
4. The method of claim 2, further comprising:
creating a CRC to append to the updated data record; and
appending the CRC to the updated data record before sending the updated data with the appended CRC and the appended field of zeros to the first tape drive.
5. The method of claim 2, further comprising receiving the update data record from an application program.
6. The method of claim 4, further comprising:
identifying that a second tape drive does not support LBP after the first tape media has been interchanged into the second tape drive
sending a read command to the second tape drive to read the updated first data record stored at the first tape media;
receiving the updated data record and associated data from the second tape drive, wherein the data associated with the updated data record received from the second tape drive does not include the field of zeros associated with the updated data record based on the second tape drive not supporting LBP, and the data associated with the updated data record also include the CRC associated with the updated data record;
appending a field of zeros to the updated first data record based on the second tape drive not supporting LBP;
stripping the CRC associated with the updated data record;
performing an error check of the data record according the CRC bytes associated with the updated data record;
identifying that the first data record read from the second tape drive does not include an error; and
providing the first data record to an application program based on the first data record not including an error.
7. The method of claim 6, further comprising:
receiving a second updated data record of the first record from the application program to write the first data record at the first tape media when the first tape media resides at the second tape drive;
generating an updated CRC based on the second updated data record; and
sending the second updated data record and other data to the second tape drive, wherein the other data includes the updated CRC and does not include a field of zeros appended to the second updated data record and the updated CRC, and the second updated data record and the updated CRC are written to the first data record of the first tape media.
8. A non-transitory computer readable storage medium having embodied thereon a program executable by a processor implementing a method for storing data on tape media, the method comprising:
identifying that a first tape drive supports logical block protection (LBP), wherein a first tape media resides at the first tape drive;
issuing a read command to the first tape drive to read a first record stored at the first tape media;
receiving the first data record and data associated with the first record stored at the first tape media, wherein the data associated with the first record stored at the first tape media includes a field of zeros associated with the first record;
receiving updated data to write to the first record at the first tape media;
appending a field of zeros to the updated data that are associated with the updated data;
issuing a write command to the first tape drive to write updated data with the appended field of zeros to the first data record stored at the first tape media, and
sending the updated data with the appended field of zeros to the first tape drive, wherein the first tape drive writes the updated data with the appended field of zeros to the first data record at the first tape media.
9. The non-transitory computer readable storage medium of claim 8, wherein the data read from the first data record also has cyclic redundancy check (CRC) bytes appended to the first data record, and the program is further executable to:
strip the CRC bytes from the first data record after receiving the first data record and the data associated with the first data record;
perform an error check of the first data record, wherein error check of the first data record is performed via the CRC bytes stripped from the first data record; and
identify that the first data record read from the first tape drive does not include an error based on the error check; and
provide the first data record to an application program based on the first data record not including an error.
10. The non-transitory computer readable storage medium of claim 8, the program is further executable to:
create a CRC to append to the updated data record; and
append the CRC to the updated data record before sending the updated data with the appended CRC and the appended field of zeros to the first tape drive.
11. The non-transitory computer readable storage medium of claim 8, the program is further executable to receive the update data record from an application program.
12. The non-transitory computer readable storage medium of claim 11, the program further executable to:
identify that a second tape drive does not support LBP after the first tape media has been interchanged into the second tape drive
send a read command to the second tape drive to read the updated first data record stored at the first tape media;
receive the updated data record and associated data from the second tape drive, wherein the data associated with the updated data record received from the second tape drive does not include the field of zeros associated with the updated data record based on the second tape drive not supporting LBP, and the data associated with the updated data record also include the CRC associated with the updated data record;
append a field of zeros to the updated first data record based on the second tape drive not supporting LBP;
stripping the CRC associated with the updated data record;
perform an error check of the data record according the CRC bytes associated with the updated data record;
identify that the first data record read from the second tape drive does not include an error; and
provide the first data record to an application program based on the first data record not including an error.
13. The non-transitory computer readable storage medium of claim 12, the program further executable to:
receive a second updated data record of the first record from the application program to write the first data record at the first tape media when the first tape media resides at the second tape drive;
generate an updated CRC based on the second updated data record; and
send the second updated data record and other data to the second tape drive, wherein the other data includes the updated CRC and does not include a field of zeros appended to the second updated data record and the updated CRC, and the second updated data record and the updated CRC are written to the first data record of the first tape media.
14. A system for storing data on tape media, the system comprising:
a first tape drive of a plurality of tape drives;
a second tape drive of the plurality of tape drives;
a memory; and
a processor, wherein the processor executing instructions out of the memory:
identifies that the first tape drive supports logical block protection (LBP), wherein a first tape media resides at the first tape drive,
issues a read command to the first tape drive to read a first record stored at the first tape media,
receives the first data record and data associated with the first record stored at the first tape media, wherein the data associated with the first record stored at the first tape media includes a field of zeros associated with the first record,
receives updated data to write to the first record at the first tape media; appending a field of zeros to the updated data that are associated with the updated data,
issues a write command to the first tape drive to write updated data with the appended field of zeros to the first data record stored at the first tape media, and
sends the updated data with the appended field of zeros to the first tape drive, wherein the first tape drive writes the updated data with the appended field of zeros to the first data record at the first tape media.
15. The system of claim 14, wherein:
the data read from the first data record also has cyclic redundancy check (CRC) bytes appended to the first data record,
the CRC bytes are stripped from the first data record after receiving the first data record and the data associated with the first data record,
an error check of the first data record is performed error via the CRC bytes stripped from the first data record,
the first data record read from the first tape drive is identified as not including an error based on the error check, and
the first data record is provided to an application program based on the first data record not including an error.
16. The system of claim 14, wherein:
a CRC is created to append to the updated data record, and
the CRC is appended to the updated data record before sending the updated data with the appended CRC and the appended field of zeros to the first tape drive.
17. The system of claim 14, wherein the updated data record is received from an application program.
18. The system of claim 16, wherein the processor:
identifies that a second tape drive does not support LBP after the first tape media has been interchanged into the second tape drive,
sends a read command to the second tape drive to read the updated first data record stored at the first tape media,
receives the updated data record and associated data from the second tape drive, wherein the data associated with the updated data record received from the second tape drive does not include the field of zeros associated with the updated data record based on the second tape drive not supporting LBP, and the data associated with the updated data record also include the CRC associated with the updated data record,
appends a field of zeros to the updated first data record based on the second tape drive not supporting LBP,
strips the CRC associated with the updated data record,
performs an error check of the data record according the CRC bytes associated with the updated data record,
identifies that the first data record read from the second tape drive does not include an error, and
provides the first data record to an application program based on the first data record not including an error.
19. The system of claim 18, wherein the processor:
receives a second updated data record of the first record from the application program to write the first data record at the first tape media when the first tape media resides at the second tape drive,
generates an updated CRC based on the second updated data record, and
sends the second updated data record and other data to the second tape drive, wherein the other data includes the updated CRC and does not include a field of zeros appended to the second updated data record and the updated CRC, and the second updated data record and the updated CRC are written to the first data record of the first tape media.
US15/216,358 2013-03-15 2016-07-21 Logical block protection for tape interchange Abandoned US20170017541A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/216,358 US20170017541A1 (en) 2013-03-15 2016-07-21 Logical block protection for tape interchange

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/831,751 US8879195B2 (en) 2013-03-15 2013-03-15 Logical block protection for tape interchange
US14/521,326 US9412412B2 (en) 2013-03-15 2014-10-22 Logical block protection for tape interchange
US15/216,358 US20170017541A1 (en) 2013-03-15 2016-07-21 Logical block protection for tape interchange

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US14/521,326 Continuation US9412412B2 (en) 2013-03-15 2014-10-22 Logical block protection for tape interchange

Publications (1)

Publication Number Publication Date
US20170017541A1 true US20170017541A1 (en) 2017-01-19

Family

ID=51526060

Family Applications (3)

Application Number Title Priority Date Filing Date
US13/831,751 Expired - Fee Related US8879195B2 (en) 2013-03-15 2013-03-15 Logical block protection for tape interchange
US14/521,326 Expired - Fee Related US9412412B2 (en) 2013-03-15 2014-10-22 Logical block protection for tape interchange
US15/216,358 Abandoned US20170017541A1 (en) 2013-03-15 2016-07-21 Logical block protection for tape interchange

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US13/831,751 Expired - Fee Related US8879195B2 (en) 2013-03-15 2013-03-15 Logical block protection for tape interchange
US14/521,326 Expired - Fee Related US9412412B2 (en) 2013-03-15 2014-10-22 Logical block protection for tape interchange

Country Status (1)

Country Link
US (3) US8879195B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8879195B2 (en) 2013-03-15 2014-11-04 Silicon Graphics International Corp. Logical block protection for tape interchange
USD836772S1 (en) 2018-07-25 2018-12-25 Vertice Pharma, Llc Syringe

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681364B1 (en) * 1999-09-24 2004-01-20 International Business Machines Corporation Cyclic redundancy check for partitioned frames
US20030023933A1 (en) * 2001-07-27 2003-01-30 Sun Microsystems, Inc. End-to-end disk data checksumming
US8572289B1 (en) * 2003-12-19 2013-10-29 Nvidia Corporation System, method and computer program product for stateless offloading of upper level network protocol operations
US7266760B1 (en) * 2004-09-30 2007-09-04 Altera Corporation Method and apparatus for calculating cyclic redundancy checks for variable length packets
US7398351B2 (en) * 2006-05-23 2008-07-08 International Business Machines Corporation Method and system for controlling access to data of a tape data storage medium using encryption/decryption of metadata
US7941727B2 (en) * 2006-10-31 2011-05-10 Hewlett-Packard Development Company, L.P. Checksum generator for variable-length data
GB2457670B (en) * 2008-02-20 2012-01-04 Hewlett Packard Development Co Data transfer device
US20100161895A1 (en) * 2008-12-22 2010-06-24 Qualls William R Securing data on data cartridges
JP2010267164A (en) * 2009-05-15 2010-11-25 Toshiba Storage Device Corp Storage device, data transfer control device, method and program for transferring data
US20120173952A1 (en) * 2010-12-29 2012-07-05 Kumar K Venkat Praveen Parallel crc computation with data enables
US20130055053A1 (en) * 2011-08-23 2013-02-28 International Business Machines Corporation End-to-end data protection supporting multiple crc algorithms
US8996828B2 (en) * 2012-04-20 2015-03-31 International Business Machines Corporation Systems and methods for migrating data
US8879195B2 (en) 2013-03-15 2014-11-04 Silicon Graphics International Corp. Logical block protection for tape interchange

Also Published As

Publication number Publication date
US20140268393A1 (en) 2014-09-18
US8879195B2 (en) 2014-11-04
US20150043102A1 (en) 2015-02-12
US9412412B2 (en) 2016-08-09

Similar Documents

Publication Publication Date Title
KR100962883B1 (en) Method, system, and program for migrating source data to target data
JP4843604B2 (en) Method and system for obtaining data storage device specific information from data storage device
US7395496B2 (en) Systems and methods for enhanced stored data verification utilizing pageable pool memory
US9652408B2 (en) System and method for providing data integrity
US6665743B2 (en) Method, system, and program for initializing a storage space
US6938136B2 (en) Method, system, and program for performing an input/output operation with respect to a logical storage device
US9405625B2 (en) Optimizing and enhancing performance for parity based storage
US20070094570A1 (en) Error detection in storage data
US20100049926A1 (en) Enhancement of data mirroring to provide parallel processing of overlapping writes
EP2369484A2 (en) Data integrity verification mechanism
US20060294299A1 (en) Techniques to verify storage of information
US9646033B2 (en) Building a metadata index from source metadata records when creating a target volume for subsequent metadata access from the target volume
US20150149415A1 (en) Rollback Mechanism for Linear Tape File Systems
US9087014B1 (en) Tape backup and restore in a disk storage environment
US20170017541A1 (en) Logical block protection for tape interchange
US20070294332A1 (en) Processing device for end customer operation
US9785517B2 (en) Rebuilding damaged areas of a volume table using a volume data set
US20190138404A1 (en) Recovering from a mistaken point-in-time copy restore
US8656066B2 (en) Monitoring input/output operations to specific storage locations
US11023341B2 (en) Injection of simulated hardware failure(s) in a file system for establishing file system tolerance-to-storage-failure(s)
CN104731672A (en) Data storage method and device
US11914883B2 (en) Copy from LTFS to disk
US11874878B2 (en) Replacing components of a data processing system
JP2024509218A (en) Recording changes to a record while maintaining immutability of the record
CN114327875A (en) Resource migration method, device, equipment and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: SILICON GRAPHICS INTERNATIONAL CORP., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:REHM, KEVAN FLINT;SCHMITZ, JUDITH ANN;NEMETH, JOSEPH CARL;AND OTHERS;SIGNING DATES FROM 20130326 TO 20130327;REEL/FRAME:040005/0780

AS Assignment

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, TEXAS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SILICON GRAPHICS INTERNATIONAL CORP.;REEL/FRAME:047720/0386

Effective date: 20170501

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE