US2009019245A1PendingUtilityA1

Methods for implementation of data formats on a removable disk drive storage system

50
Assignee: PROSTOR SYSTEMS INCPriority: Jul 10, 2007Filed: Feb 1, 2008Published: Jan 15, 2009
Est. expiryJul 10, 2027(~1 yrs left)· nominal 20-yr term from priority
G06F 16/10
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An archiving system including one or more removable disk drives embedded in removable disk cartridges, referred to simply as removable disk drives. The removable disk drives allow for expandability and replacement such that the archiving system need not be duplicated to add new or more storage capacity. In embodiments, the removable disk drives store metadata that contain information about the data stored on the removable disk drive. The metadata allows the system to retrieve the correct data from the random access memory and establishes controls on the data stored on the removable disk drive. In embodiments, the metadata is stored in two locations, such that, if the metadata in one location is corrupted, the second copy of the metadata may be retrieved.

Claims

exact text as granted — not AI-modified
1 . A modular drive bay in a network storage system for archiving data, the modular drive bay comprising:
 one or more removable disk drives, the one or more removable disk drives operable to store archival data, the one or more removable disk drives operable to maintain data as immutable, each removable disk drive comprising:
 a data cartridge case; 
 a connector; 
 an embedded memory, the embedded memory physically attached to the data cartridge case, the embedded memory electrically connected to the connector, the embedded memory operable to store archival data, the embedded memory operable to ensure that archival data cannot be overwritten; 
   a modular drive bay, the modular drive bay comprising:
 two or more drive ports, each drive port including a data cartridge connector which mates with the connector to communicate with the embedded memory; and 
 a hardware/firmware, the hardware/firmware in communication with one or more application servers, the hardware/firmware receiving write requests associated with archival data from the one or more application servers, the hardware/firmware operable to store metadata in the embedded memory to allow for access to the archival data in the embedded memory. 
   
   
   
       2 . The modular drive bay as defined in  claim 1 , wherein the hardware/firmware comprises:
 a first interface, the first interface operable to receive the write request from the host;   a second interface, the second interface operable to send the write request to the one or more removable disk drives at an address;   a memory, the memory operable to store one or more items of metadata, at least one item of metadata providing a pointer to the first unused memory block; and   a processor in communication with the first interface, the second interface, and the memory, the processor operable to associate the address with the pointer and to generate the write command sent to the one or more removable disk drives.   
   
   
       3 . The modular drive bay as defined in  claim 2 , wherein the processor includes executable software modules, the software modules comprising:
 an interface selection module, the interface selection module receiving the write request;   a metadata datastore, the metadata datastore storing one or more items of metadata read from the one or more removable disk drives, the metadata including the pointer; and   an access control module in communication with the interface selection module and the metadata datastore, the access control module receiving the write request, the access control module determining the address associated with the pointer for the first unused data block, the access control module generating a write command addressed to the address associated with the pointer.   
   
   
       4 . The modular drive bay as defined in  claim 3 , further comprising a command pass-through module in communication with the access control module, the command pass-through module receiving the address and executing the write request at the address. 
   
   
       5 . The modular drive bay as defined in  claim 4 , wherein the command pass-through module is operable to write two or more data blocks to the embedded memory and wherein the command pass-through writes the two or more data blocks sequentially in an order received by the interface selection module. 
   
   
       6 . The modular drive bay as defined in  claim 4 , wherein the command pass-through module is operable to write two or more data blocks to the embedded memory, wherein the access control module is operable to determine if one or more of the data blocks received is an update to one or more data blocks already stored in the embedded memory, and wherein, if one or more of the data blocks are an update, the command pass-through module is operable to write the updated data blocks to one or more unused memory blocks in the embedded memory and to update the metadata to point to the updated data blocks. 
   
   
       7 . The modular drive bay as defined in  claim 2 , wherein the network storage system cannot access the hardware/firmware that controls writing of the one or more data blocks. 
   
   
       8 . An archive in an embedded memory of a removable disk drive of an archiving system, the embedded memory storing immutable data, the archive comprising:
 one or more data blocks, the one or more data blocks comprising data stored in the embedded memory, the one or more data blocks providing data to the archiving system if accessed by random access and read, the one or more data blocks containing immutable data;   one or more unused memory blocks, the one or more unused memory blocks accepting archival data when written to by the archiving system; and   root metadata, root metadata including static data about one of characteristics about the removable disk drive, characteristics about the embedded memory, or characteristics about the data blocks, the root metadata also including a pointer to at least one linked metadata; and   linked metadata, the linked metadata including a pointer, the pointer associated with an address of the first unused memory block that can accept archival data, the pointer preventing the archiving system from writing to the one or more data blocks that precede the pointer, the linked metadata also including a metadata pointer to a new linked metadata section.   
   
   
       9 . The archive as defined in  claim 8 , wherein new linked metadata is stored in the new linked metadata section after a subsequent write session, and the metadata pointer in the linked metadata then points to the new linked metadata. 
   
   
       10 . The archive as defined in  claim 8 , wherein the one or more data blocks are written in sequential order in an order received by the archiving system and wherein a new linked metadata is stored after each data block is written. 
   
   
       11 . The archive as defined in  claim 8 , wherein one or more data blocks are reorganized by the archiving system and stored in a write session and wherein new linked metadata is stored after the write session. 
   
   
       12 . The archive as defined in  claim 8 , further comprising a second section of metadata stored at a maximum block address, the second section of metadata having the same metadata as the root metadata and the linked metadata. 
   
   
       13 . The archive as defined in  claim 12 , wherein if the root metadata or the linked metadata is corrupted, retrieving the metadata from the second section of metadata. 
   
   
       14 . The archive as defined in  claim 13 , wherein the root metadata and the linked metadata are compared to the second section of metadata to determine if the root metadata or the linked metadata is corrupted. 
   
   
       15 . A method, executable in a computer system, for retrieving data in an embedded memory of a removable disk drive, the method comprising:
 receiving a read request for one or more data blocks;   reading metadata from the embedded memory;   determining, from the metadata, a pointer to a first data block for the one or more data blocks in the embedded memory; and   reading the one or more data blocks starting at the pointer in the embedded memory.   
   
   
       16 . The method as defined in  claim 15 , wherein the one or more data blocks are read sequentially. 
   
   
       17 . The method as defined in  claim 15 , further comprising:
 extracting an address for the one or more data blocks from the read request; and   correlating the address to the pointer in the metadata.   
   
   
       18 . The method as defined in  claim 15 , further comprising:
 determining a last data block; and   reading the data to the last data block.   
   
   
       19 . The method as defined in  claim 18 , wherein determining the pointer comprises:
 reading a root metadata to determine a pointer to a linked metadata;   reading the pointer from the linked metadata.   
   
   
       20 . The method as defined in  claim 19 , wherein the linked metadata includes a second pointer to a new linked metadata and the pointer is read from the new linked metadata.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.