IP Library Granted Patent US 7,167,326
Granted Patent B1
US 7,167,326 · App. 11/026,079 · Granted Jan 23, 2007

Tape drive that supports update-in-place

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,167,326
App. No.
11/026,079
Granted
Jan 23, 2007
Kind
B1
Abstract

A method in a data processing system is disclosed for permitting update-in-place in a tape drive. Data in a particular record in a tape that is mounted on the tape drive is modified. The particular record is located in a particular one of multiple different tracks in the tape. A first end-of-data mark is written after the modified data. Data in the particular one of the different tracks that is located after the first end-of-data mark is invalidated. All remaining data in all others of the tracks remain valid after the first end-of-data mark is written.

Claims (64)

1. A method in a data processing system for permitting update-in-place in a tape that is mounted on a tape drive, said tape including a plurality of tracks, said method comprising:

receiving a command to modify data in a particular record in said tape, said particular record being located in one of said plurality of different tracks;

permitting update-in-place modification by permitting modification of said one of said plurality of different tracks by modifying said record without invalidating data that is stored in others of said plurality of tracks;

maintaining multiple different end-of-data marks for respective tracks in said tape concurrently;

maintaining the location of a respective most current end-of-data mark in a media information region at the beginning of said tape for each of said plurality of tracks that contains an end-of-data mark; and

determining whether data in said tape is valid or invalid by locating each respective most current end-of-data mark that is stored in said tape, wherein on a first track, data stored at a location after a respective most current end-of-data mark is invalid.

2. The method according to claim 1 , further comprising:

utilizing said media information region to locate each end-of-data mark.

3. The method according to claim 1 , further comprising:

writing a first end-of-data mark after said modified data;

invalidating data in said one of said plurality of different tracks that is located after said first end-of-data mark; and

all remaining data in all others of said plurality of different tracks remaining valid after said first end-of-data mark is written.

4. The method according to claim 3 , further comprising:

modifying second data in a second particular record in said tape, said second particular record being located in a second one of said plurality of different tracks in said tape;

writing a second end-of-data mark after said second modified data;

invalidating data in said second one of said plurality of different tracks that is located after said second end-of-data mark;

all remaining data in all others of said plurality of different tracks remaining valid after said second end-of-data mark is written; and

said first end-of-data mark remaining valid after said second end-of-data mark was written.

5. The method according to claim 4 , further comprising:

receiving a command to access a second record;

identifying one of said plurality of tracks in which said second record is located;

determining whether a second end-of-data mark is stored in said identified one of said plurality of tracks;

in response to determining that said second end-of data mark is stored in said identified one of said plurality of tracks, determining whether said second record is located before or after said second end-of-data mark;

in response to determining that said second record is located before said second end-of-data mark, accessing said second record; and

in response to determining that said second record is located after said second end-of-data mark, returning a status that said second record does not exist.

6. The method according to claim 1 , further comprising:

said tape being a virtual tape; and

said virtual tape being implemented using a physical disk drive, said physical disk drive including a plurality of separately addressable blocks.

7. The method according to claim 6 , further comprising:

each one of said plurality of tracks being one of said plurality of blocks in said virtual tape.

8. An apparatus in a data processing system for permitting update-in-place in a tape that is mounted on a tape drive, said tape including a plurality of tracks, said apparatus comprising:

a command to modify data in a particular record in said tape, said particular record being located in one of said plurality of different tracks;

said tape drive including a tape controller for permitting update-in-place modification by modifying said record without invalidating data that is stored in others of said plurality of tracks;

a first end-of-data mark written after said modified data;

data in said one of said plurality of different tracks that is located after said first end-of-data mark being invalidated; and

all remaining data in all others of said plurality of different tracks being valid after said first end-of-data mark is written.

9. The apparatus according to claim 8 , further comprising:

said tape including multiple different end-of-data marks stored in multiple different tracks in said tape concurrently.

10. The apparatus according to claim 9 , further comprising:

for each of said plurality of tracks, a location for a most current end-of-data mark being stored in a media information region at the beginning of said tape.

11. The apparatus according to claim 10 , further comprising:

each most current end-of-data mark being utilized for determining whether data in a respective track of said tape is valid or invalid.

12. The apparatus according to claim 11 , further comprising:

said media information region being searched to locate each end-of-data mark.

13. The apparatus according to claim 8 , further comprising:

second data in a second particular record in said tape being modified, said second particular record being located in a second one of said plurality of different tracks in said tape;

a second end-of-data mark being written after said second modified data;

data in said second one of said plurality of different tracks that is located after said second end-of-data mark being invalidated;

all remaining data in all others of said plurality of different tracks being valid after said second end-of-data mark is written; and

said first end-of-data mark being valid after said second end-of-data mark was written.

14. The apparatus according to claim 13 , further comprising:

a command to access a second record;

one of said plurality of tracks being identified in which said second record is located;

said tape drive including a controller for determining whether a second end-of-data mark is stored in said identified one of said plurality of tracks;

in response to determining that said second end-of data mark is stored in said identified one of said plurality of tracks, said controller for determining whether said second record is located before or after said second end-of-data mark;

in response to determining that said second record is located before said second end-of-data mark, said controller for accessing said second record; and

in response to determining that said second record is located after said second end-of-data mark, said controller for returning a status that said second record does not exist.

15. The apparatus according to claim 8 , further comprising:

said tape drive being a physical tape drive.

16. The apparatus according to claim 8 , further comprising:

said tape drive being a virtual tape drive;

said tape being a virtual tape;

said virtual tape being implemented using a physical disk drive, said physical disk drive including a plurality of separately addressable blocks; and

each one of said plurality of tracks being one of said plurality of blocks in said virtual tape.

Assignments (3)
MERGER Recorded Feb 4, 2016
From: STORAGE TECHNOLOGY CORPORATION
To: SUN MICROSYSTEMS, INC.
Reel/Frame 037692/0820 →
MERGER AND CHANGE OF NAME Recorded Feb 4, 2016
From: SUN MICROSYSTEMS, INC.; ORACLE USA, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037694/0966 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2004
From: BLENDERMANN, STEPHEN H.; MURRAY, THOMAS J.
To: STORAGE TECHNOLOGY CORPORATION
Reel/Frame 016147/0185 →