Virtual integrated cartridge loader for virtual tape storage system

Share
Save
Discuss
Claim

Share On Facebook Share On Twitter Share By Email
Save Item
Save Item
Add to
my lists

Filing Information

  • Patent Number: US5805864
  • Application Number: US8707891
  • Filing date: 09/10/1996
  • Issue date: 09/08/1998
  • Predicted expiration date: 09/10/2016
Explore Your Innovation Network™ for an introduction to:

Innovation Network Your First Name:
Last Name:
 
Already a member? Sign In
  • U.S. Classifications: 395/500  · 360/92  ·
  • International Classifications: G06F 1206 ·
  • International Classifications: 395500;82;182.04;821;839;860;888 ·
  • View document at: (opens new window):
    USPTO  ·  PAIR  ·  esp@cenet  ·  Patent Family
    * Related patent documents may or may not exist on these sites
56 Claims, No Drawings


Abstract

Virtual data storage cartridges are created on a data storage subsystem to/from which volume writes and reads are directed. When a number of data volumes have been written, the controller may migrate them to the tape drive, a much faster process than writing directly to tape and enabling multiple logical volumes to be written to a single physical tape. With the present invention, virtual scratch cartridges are virtually premounted in a virtual drive loader while the virtual drive is accessing another virtual cartridge. When the host calls for a new scratch cartridge, it can be mounted in the virtual drive almost immediately, having already been virtually pre-loaded.

Referenced By

Document NumberAssigneeInventorsIssue/Pub Date
US6658526Storage Technology CorporationThai Nguyen et al.Dec 2003
US7434097Copan System, Inc.Aloke Guha et al.Oct 2008
US7127388Advanced Digital Information CorporationNeville Yates et al.Oct 2006
US7559088NETAPP, Inc.Gavin David Cohen et al.Jul 2009
US6862656Alacritus, Inc.Don Alvin Trimmer et al.Mar 2005
US6842841Storage Technology CorporationTimothy John Kuik et al.Jan 2005
US7266668Copan Systems Inc.Steven Fredrick Hartung et al.Sep 2007
US7454529Netapp, Inc.Roger Keith Stager et al.Nov 2008
US6529996Storage Technology CorporationThai Nguyen et al.Mar 2003
US6779080International Business Machines CorporationRobert Beverley Basham et al.Aug 2004
US6779077Storage Technology CorporationMark A. Bakke et al.Aug 2004
US7426617Network Appliance, Inc.Roger Keith Stager et al.Sep 2008
US7434090Copan System, Inc.Steve Fredrick Hartung et al.Oct 2008
US6343342International Business Machiness CorporationWayne Charles CarlsonJan 2002
US6636778International Business Machines CorporationRobert Beverley Basham et al.Oct 2003
US6925525Storage Technology CorporationStephen H. Blendermann et al.Aug 2005
US7062614Hewlett-Packard Development Company, L.P.Peter Thomas Camble et al.Jun 2006
US7082497Hewlett-Packard Development Company, L.P.Alastair Michael Slater et al.Jul 2006
US6049848Sutmyn Storage CorporationNeville Yates et al.Apr 2000
US6260006Storage Technology CorporationPatrick K. Wong et al.Jul 2001
US7000085Hewlett-Packard Development Company, L.P.Peter Thomas Camble et al.Feb 2006
US7363425Hewlett-Packard Development Company, L.P.Peter Thomas Camble et al.Apr 2008
US7373559Copan Systems, Inc.Aloke GuhaMay 2008
US6845431Hewlett-Packard Development Company, L.P.Peter Thomas Camble et al.Jan 2005
US7325159Network Appliance, Inc.Roger Keith Stager et al.Jan 2008
US7437492Netapp, IncRoger Stager et al.Oct 2008
US7380060Copan Systems, Inc.Aloke Guha et al.May 2008
US7315965Network Appliance, Inc.Roger Keith Stager et al.Jan 2008
US6044442International Business Machines CorporationLeonard George JesionowskiMar 2000
US6324497Sutmyn Storage CorporationNeville Yates et al.Nov 2001
US6496791Neville Yates et al.Dec 2002
US6339810International Business Machines CorporationRobert Beverley Basham et al.Jan 2002
US7308528Hitachi, Ltd.Manabu Kitamura et al.Dec 2007
US7490103NetApp, Inc.Roger Keith Stager et al.Feb 2009
US6098148International Business Machines CorporationWayne Charles CarlsonAug 2000
US6594677SimDesk Technologies, Inc.Ray Charles Davis et al.Jul 2003
US6675260Hewlett-Packard Development Company, L.P.William W. Torrey et al.Jan 2004
US6715031Hewlett-Packard Development Company, L.P.Peter Thomas Camble et al.Mar 2004
US6851031Alacritus, Inc.Don Alvin Trimmer et al.Feb 2005
US7437387Netapp, Inc.Gavin David Cohen et al.Oct 2008
US6519678International Business Machines CorporationRobert Beverley Basham et al.Feb 2003
US6999999Hewlett-Packard Development Company, L.P.Peter Thomas Camble et al.Feb 2006
US7401198NetAppCraig Anthony Johnston et al.Jul 2008
US7472245Hewlett-Packard Development Company, L.P.Peter Thomas Camble et al.Dec 2008
US7567993Netapp, Inc.Don Alvin Trimmer et al.Jul 2009
US7581118Netapp, Inc.William P. McGovernAug 2009
US7631157Hitachi, Ltd.Yoshiki KanoDec 2009
US7487009Netapp, Inc.Don Alvin Trimmer et al.Feb 2009
US6094605Storage Technology CorporationStephen H. Blendermann et al.Jul 2000
US6317814Storage Technology CorporationStephen H. Blendermann et al.Nov 2001
US6304880International Business Machines CorporationGregory Tad KishiOct 2001
US6338006International Business Machines CorporationLeonard George Jesionowski et al.Jan 2002
US6839824Hewlett-Packard Development Company, L.P.Peter Thomas Camble et al.Jan 2005
US7114013Storage Technology CorporationMark Alan Bakke et al.Sep 2006
US5999982International Business Machines CorporationGregory Tad Kishi et al.Dec 1999
US6289425Storage Technology CorporationStephen H. Blendermann et al.Sep 2001
US7069466Alacritus, Inc.Don Alvin Trimmer et al.Jun 2006
US7127575Hitachi, Ltd.Yoshiki KanoOct 2006
US7406488NetAppRoger Keith Stager et al.Jul 2008
US7526620Netapp, Inc.William P. McGovernApr 2009
US7558839Netapp, Inc.William P. McGovernJul 2009

Patent Family

The current document is not in a family.

Read Patent

Read patent

View Drawings


Independent Claims | See all claims (56)

  1. 1. In a data storage system that provides an interface between a host and a data storage device ("DSD"), said interface emulating a virtual cartridge data storage library in communicating with the host, said virtual cartridge data storage library including a plurality of virtual cartridges, a method for virtually pre-loading virtual cartridges comprising the steps of:maintaining an available cartridge database containing a list of virtual cartridges, each virtual cartridge identified in the available cartridge database by a virtual cartridge identifier;maintaining an active cartridge map cross-referencing each item of data stored on the DSD with one of the virtual cartridges;selecting a virtual cartridge identifier from the available database;entering the selected virtual cartridge identifier in a pre-load map;receiving from a host a scratch mount request; andsatisfying the scratch mount request by performing steps comprising:choosing one of the cartridge identifiers from the pre-load map; andremoving the chosen virtual cartridge identifier from the pre-load map.
  2. 7. In a data storage system that provides an interface between a host and a cache, said interface emulating a virtual cartridge data storage library in communicating with the host, said virtual cartridge data storage library including a plurality of virtual cartridges, a method for virtually pre-loading virtual cartridges comprising the steps of:maintaining an available cartridge database containing a list of virtual cartridges, each virtual cartridge identified in the available cartridge database by a virtual cartridge identifier;maintaining an active cartridge map cross-referencing each item of data stored on the cache with one of the virtual cartridges;selecting a virtual cartridge identifier from the available database;entering the selected virtual cartridge identifier in a pre-load map;receiving from a host a scratch mount request; andsatisfying the scratch mount request by performing steps comprising:choosing one of the cartridge identifiers from the pre-load map; andremoving the chosen virtual cartridge identifier from the pre-load map.
  3. 11. In a data storage system that provides an interface between a host and a data storage device ("DSD"), said interface emulating a virtual cartridge data storage library in communicating with the host, said virtual cartridge data storage library including a plurality of virtual cartridges, said virtual cartridges having multiple different data formats, a method for virtually pre-loading virtual cartridges comprising the steps of:maintaining an available cartridge database containing a list of virtual cartridges, each virtual cartridge identified in the available cartridge database by a virtual cartridge identifier;maintaining an active cartridge map cross-referencing each item of data stored on the DSD with one of the virtual cartridges;for each data format, selecting a virtual cartridge identifier of the corresponding data format from the available database and entering the selected virtual cartridge identifier in a pre-load map;receiving from a host a scratch mount request for a virtual cartridge of a specified data format; andsatisfying the scratch mount request by performing steps comprising:choosing from the pre-load map one of the cartridge identifiers having the specified data format; andremoving the chosen virtual cartridge identifier from the pre-load map.
  4. 17. In a data storage system that provides an interface between a host and a data storage device ("DSD"), said interface emulating a virtual cartridge data storage library in communicating with the host, said virtual cartridge data storage library including a plurality of virtual cartridges, said library also including multiple virtual drives, a method for virtually pre-loading virtual cartridges comprising the steps of:maintaining an available cartridge database containing a list of virtual cartridges, each virtual cartridge identified in the available cartridge database by a virtual cartridge identifier;maintaining an active cartridge map cross-referencing each item of data stored on the DSD with one of the virtual cartridges;for each virtual drive, performing steps comprising:selecting a virtual cartridge identifier from the available database;entering the selected virtual cartridge identifier in a pre-load map associated with that drive;receiving from a host a scratch mount request and selection of one of the virtual drives to satisfy the mount request; andsatisfying the scratch mount request by performing steps comprising:choosing one of the cartridge identifiers from the pre-load map associated with the selected virtual drive; andremoving the chosen virtual cartridge identifier from the pre-load map associated with the selected virtual drive.
  5. 20. An article of manufacture comprising a data storage medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform method steps for virtually pre-loading virtual cartridges in a data storage system that provides an interface between a host and a data storage device ("DSD"), said interface emulating a virtual cartridge data storage library in communicating with the host, said virtual cartridge data storage library including a plurality of virtual cartridges, said method steps comprising:maintaining an available cartridge database containing a list of virtual cartridges, each virtual cartridge identified in the available cartridge database by a virtual cartridge identifier;maintaining an active cartridge map cross-referencing each item of data stored on the DSD with one of the virtual cartridges;selecting a virtual cartridge identifier from the available database;entering the selected virtual cartridge identifier in a pre-load map;receiving from a host a scratch mount request; andsatisfying the scratch mount request by performing steps comprising:choosing one of the cartridge identifiers from the pre-load map; andremoving the chosen virtual cartridge identifier from the pre-load map.
  6. 25. An article of manufacture comprising a data storage medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform method steps for virtually pre-loading virtual cartridges in a data storage system that provides an interface between a host and a cache, said interface emulating a virtual cartridge data storage library in communicating with the host, said virtual cartridge data storage library including a plurality of virtual cartridges, said method steps comprising:maintaining an available cartridge database containing a list of virtual cartridges, each virtual cartridge identified in the available cartridge database by a virtual cartridge identifier;maintaining an active cartridge map cross-referencing each item of data stored on the cache with one of the virtual cartridges;selecting a virtual cartridge identifier from the available database;entering the selected virtual cartridge identifier in a pre-load map;receiving from a host a scratch mount request; andsatisfying the scratch mount request by performing steps comprising:choosing one of the cartridge identifiers from the pre-load map; andremoving the chosen virtual cartridge identifier from the pre-load map.
  7. 29. An article of manufacture comprising a data storage medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform method steps for virtually pre-loading virtual cartridges in a data storage system that provides an interface between a host and a data storage device ("DSD"), said interface emulating a virtual cartridge data storage library in communicating with the host, said virtual cartridge data storage library including a plurality of virtual cartridges, said virtual cartridges having multiple different data formats, said method steps comprising:maintaining an available cartridge database containing a list of virtual cartridges, each virtual cartridge identified in the available cartridge database by a virtual cartridge identifier;maintaining an active cartridge map cross-referencing each item of data stored on the DSD with one of the virtual cartridges;for each data format, selecting a virtual cartridge identifier of the corresponding data format from the available database and entering the selected virtual cartridge identifier in a pre-load map;receiving from a host a scratch mount request for a virtual cartridge of a specified data format; andsatisfying the scratch mount request by performing steps comprising:choosing from the pre-load map one of the cartridge identifiers having the specified data format; andremoving the chosen virtual cartridge identifier from the pre-load map.
  8. 34. An article of manufacture comprising a data storage medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform method steps for virtually pre-loading virtual cartridges in a data storage system that provides an interface between a host and a data storage device ("DSD"), said interface emulating a virtual cartridge data storage library in communicating with the host, said virtual cartridge data storage library including a plurality of virtual cartridges, said library also including multiple virtual drives, said method steps comprising:maintaining an available cartridge database containing a list of virtual cartridges, each virtual cartridge identified in the available cartridge database by a virtual cartridge identifier;maintaining an active cartridge map cross-referencing each item of data stored on the DSD with one of the virtual cartridges;for each virtual drive, performing steps comprising:selecting a virtual cartridge identifier from the available database;entering the selected virtual cartridge identifier in a pre-load map associated with that drive;receiving from a host a scratch mount request and selection of one of the virtual drives to satisfy the mount request; andsatisfying the scratch mount request by performing steps comprising:choosing one of the cartridge identifiers from the pre-load map associated with the selected virtual drive; andremoving the chosen virtual cartridge identifier from the pre-load map associated with the selected virtual drive.
  9. 36. A virtual cartridge data storage system, comprising:a data storage device ("DSD");an interface interposed between the DSD and a host, said interface emulating a virtual cartridge data storage library in communicating with the host, said virtual cartridge data storage library including a plurality of virtual cartridges, said interface being programmed to virtually pre-load virtual cartridges by performing steps comprising:maintaining an available cartridge database containing a list of virtual cartridges, each virtual cartridge identified in the available cartridge database by a virtual cartridge identifier;maintaining an active cartridge map cross-referencing each item of data stored on the DSD with one of the virtual cartridges;selecting a virtual cartridge identifier from the available database;entering the selected virtual cartridge identifier in a pre-load map;receiving from a host a scratch mount request; andsatisfying the scratch mount request by performing steps comprising:choosing one of the cartridge identifiers from the pre-load map; andremoving the chosen virtual cartridge identifier from the pre-load map.
  10. 44. A virtual cartridge data storage system, comprising:a cache memory;an interface interconnected between the cache and a host, said interface emulating a virtual cartridge data storage library in communicating with the host, said virtual cartridge data storage library including a plurality of virtual cartridges, said interface being programmed to virtually pre-load virtual cartridges by performing steps comprising:maintaining an available cartridge database containing a list of virtual cartridges, each virtual cartridge identified in the available cartridge database by a virtual cartridge identifier;maintaining an active cartridge map cross-referencing each item of data stored on the cache with one of the virtual cartridges;selecting a virtual cartridge identifier from the available database;entering the selected virtual cartridge identifier in a pre-load map;receiving from a host a scratch mount request; andsatisfying the scratch mount request by performing steps comprising:choosing one of the cartridge identifiers from the pre-load map; andremoving the chosen virtual cartridge identifier from the pre-load map.
  11. 48. A virtual cartridge data storage system, comprising:a data storage device ("DSD");an interface providing an interface between the DSD and a host, said interface emulating a virtual cartridge data storage library in communicating with the host, said virtual cartridge data storage library including a plurality of virtual cartridges, said virtual cartridges having multiple different data formats, said interface being programmed to virtually pre-load virtual cartridges by performing steps comprising:maintaining an available cartridge database containing a list of virtual cartridges, each virtual cartridge identified in the available cartridge database by a virtual cartridge identifier;maintaining an active cartridge map cross-referencing each item of data stored on the DSD with one of the virtual cartridges;for each data format, selecting a virtual cartridge identifier of the corresponding data format from the available database and entering the selected virtual cartridge identifier in a pre-load map;receiving from a host a scratch mount request for a virtual cartridge of a specified data format; andsatisfying the scratch mount request by performing steps comprising:choosing from the pre-load map one of the cartridge identifiers having the specified data format; andremoving the chosen virtual cartridge identifier from the pre-load map.
  12. 55. A virtual cartridge data storage system, comprising:a data storage device ("DSD");an interface coupled between a host and the DSD, said interface emulating a virtual cartridge data storage library in communicating with the host, said virtual cartridge data storage library including a plurality of virtual cartridges, said library also including multiple virtual drives, a method for virtually pre-loading virtual cartridges comprising the steps of:maintaining an available cartridge database containing a list of virtual cartridges, each virtual cartridge identified in the available cartridge database by a virtual cartridge identifier;maintaining an active cartridge map cross-referencing each item of data stored on the DSD with one of the virtual cartridges;for each virtual drive, performing steps comprising:selecting a virtual cartridge identifier from the available database;entering the selected virtual cartridge identifier in a pre-load map associated with that drive;receiving from a host a scratch mount request and selection of one of the virtual drives to satisfy the mount request; andsatisfying the scratch mount request by performing steps comprising:choosing one of the cartridge identifiers from the pre-load map associated with the selected virtual drive; andremoving the chosen virtual cartridge identifier from the pre-load map associated with the selected virtual drive.