IP Library Granted Patent US 7,444,465
Granted Patent B2
US 7,444,465 · App. 11/215,740 · Granted Oct 28, 2008

Tape emulating disk based storage system and method

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,444,465
App. No.
11/215,740
Granted
Oct 28, 2008
Kind
B2
Abstract

A data protection and storage system includes an array of disk drives for data storage. Data is received for storage on the disk drive via an interface that is configured to emulate a tape drive interface. A virtual tape data structure is created and stored on the disk drives. The data structure includes entry tables that form a linked list where each contain links to other entry tables and information defining data storage sectors allocated to records associates a virtual tape.

Claims (35)

1. A data storage system comprising:

at least one hard disk drive comprising a magnetic data storage area partitioned into a plurality of data storage sectors;

wherein at least one data storage sector stores virtual tape header data comprising information defining data storage sectors allocated to a virtual tape;

wherein a plurality of data storage sectors allocated to said virtual tape store a plurality of entry tables, each entry table comprising (1) an entry header comprising links to one or more other entry headers associated with said plurality of entry tables, and (2) information defining data storage sectors allocated to one or more individual records associated with said virtual tape; and

wherein at least one data storage sector allocated to said individual data records stores at least some of said one or more individual data records.

2. The data storage system of claim 1 , wherein said entry table comprises links to one or more data records.

3. The data storage system of claim 1 , wherein said virtual tape header comprises data fields defining a beginning of media sector and an end of media sector.

4. The data storage system of claim 1 , wherein said virtual tape header comprises data fields defining an early warning sector between said beginning of media sector and an end of media sector.

5. The data storage system of claim 1 , wherein at least one of said entry headers stores a forward link to a data storage sector storing a next entry table and a reverse link to a data storage sector storing a previous entry table.

6. A method of appending a record to a virtual tape comprising:

loading virtual tape header information from a data field stored on a hard disk drive;

reading the total number of logical blocks stored on said virtual tape from said virtual tape header;

setting a current block number as one plus the total number of logical blocks stored on said virtual tape;

setting a current sector of said virtual tape to an end of data sector stored in said virtual tape header;

reading a current entry table specified in the virtual tape header, wherein said current entry table comprises a link to an entry header included in a first entry table, said first entry table comprising information defining data storage sectors allocated to one or more individual records associated with said first entry table;

allocating new entry in the first entry table for use, said new entry comprising information identifying said end of data sector, or allocating said new entry as a first entry in a new entry table if no entry location is available in the first entry table;

writing a data record on sectors defined by the allocated entry; and

upon allocating the new entry in the new entry table, setting the new entry table as the current entry table, and setting the new entry table as a next entry table specified in the entry header included in the first entry table.

7. The method of claim 6 , additionally comprising:

incrementing the end of data sector by a size of the written data record;

incrementing the current block number by the number of logical blocks in the written data record; and

setting the current sector location to the incremented end of data sector.

8. The method of claim 6 , further comprising:

setting the location of the new entry table as the end of data sector; and

incrementing the end of data sector by a size of the data record written in the new entry table.

9. A method of reading or writing over a desired data record at a desired block number on a virtual tape comprising:

determining data storage sectors associated with said desired block number, said determining comprising:

reading a current entry table defining stored block numbers associated with said entry table, said current entry table comprising an entry header comprising links to a previous entry table and a subsequent entry table in a bi-directionally linked list of entry tables associated with the virtual tape;

updating said current entry table with the previous or the subsequent entry table if said desired block number is not associated with said current entry table;

repeating said reading and updating until an entry table associated with said desired block number is stored as said current entry table; and

reading said current entry table to identify said data storage sectors; and

reading or writing over one or more of said data storage sectors.

10. A method of emulating data storage on a magnetic tape media using one or more hard disk drives, said method comprising:

allocating a set of logical sectors of said one or more hard disk drives to a virtual tape;

allocating a first subset of said set of logical sectors to a plurality of bi-directionally linked tables, wherein each table stores information allocating a second subset of said set of logical sectors to data records stored on said virtual tape, and each table comprises one or more links to a previous entry table and/or a subsequent entry table in the bi-directionally linked list of tables associated with the virtual tape.

Assignments (3)
SECURITY INTEREST Recorded Nov 2, 2020
From: OVERLAND STORAGE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 054237/0284 →
SECURITY INTEREST Recorded Oct 10, 2019
From: OVERLAND STORAGE, INC.; OVERLAND TECHNOLOGIES LUXEMBOURG S.À R.L.; TANDBERG DATA HOLDINGS S.À R.L.
To: JMB CAPITAL PARTNERS LENDING, LLC
Reel/Frame 050681/0213 →
SECURITY INTEREST Recorded Jun 20, 2017
From: OVERLAND STORAGE, INC.; SPHERE 3D CORP.; SPHERE 3D INC.; V3 SYSTEMS HOLDINGS, INC.
To: OPUS BANK
Reel/Frame 042921/0674 →