Format and method for recording optimization

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: US5485321
  • Application Number: US8176162
  • Filing date: 12/29/1993
  • Issue date: 01/16/1996
  • Predicted expiration date: 12/29/2013
Explore Your Innovation Network™ for an introduction to:

Innovation Network Your First Name:
Last Name:
 
Already a member? Sign In
  • U.S. Classifications: 360/48  · 360/61  ·
  • International Classifications: G11B 509 ·
  • International Classifications: 36061;48;32;63;77.08;40;49 ·
  • View document at: (opens new window):
    USPTO  ·  PAIR  ·  esp@cenet  ·  Patent Family
    * Related patent documents may or may not exist on these sites
43 Claims, No Drawings


Abstract

A performance optimized computer data recording media format and associated control logic method is disclosed. Localized data block recording, such as by concurrent parallel or serpentine recording techniques, is used to create a series of Virtual Volumes on a single physical volume. Physical localization of data blocks records is achieved which tends to minimize access time. Using the Virtual Volume construct, other industry standard data storage systems can be emulated. Many data storage operations requesting physical motion are translated into virtual motion which in turn results in significantly less physical motion than that requested, thereby reducing access times and media and drive apparatus wear.

References Cited

U.S. Patent Documents

Document NumberAssigneesInventorsIssue/Pub Date
US3916440 IBM Irwin Oct 1975
US4539605 Ltd. Hitachi Hoshino et al. Sep 1985
US4646170 Ltd. Hitachi Kobayashi et al. Feb 1987
US5270877 Matsushita Electric Industrial Co., Ltd. Fukushima et al. Dec 1993
US5272691 Matsushita Electric Industrial Co., Ltd. Watanabe Dec 1993
US5274510 Sony Corporation Sugita et al. Dec 1993
US5274772 International Business Machines Corporation Dunn et al. Dec 1993
US5325239 U.S. Philips Corporation Hoogendoorn et al. Jun 1994

Other Publications

American National Standards Institute, "ANSI for Recorded Magnetic Tape for Information Interchange (800 CPI, NRZI)" Aug. 1983 pp. 6-14.
American National Standard Institute, "ANSI for Recorded Magnetic Tape for Information Interchange (1600 CPI, Phase Encoded)", Jan. 1986, pp. 7-14.

Referenced By

Document NumberAssigneeInventorsIssue/Pub Date
US7372657Sun Microsystems, Inc.Richard Allen Gill et al.May 2008
US5805919Micropolis CorporationMichael H. AndersonSep 1998
US6288862Storage Technology CorporationBenjamin Joseph Baron et al.Sep 2001
US6226727Kabushiki Kaisha ToshibaSeigo ItoMay 2001
US6204987Tandberg Data ASAOle Christian DahlerudMar 2001
US7254672Storage Technology CorporationThomas J. Murray et al.Aug 2007
US5608905Software Architects, Inc.Mark R. WeinsteinMar 1997
US6154334U.S. Philips CorporationGregory E. PineNov 2000
US6970311International Business Machines CorporationGlen Alan JaquetteNov 2005
US7042667Hewlett-Packard Development Company, L.P.Catharine Anne Maple et al.May 2006
US7454529Netapp, Inc.Roger Keith Stager et al.Nov 2008
US6295177Hewlett-Packard CompanyRichard Arthur Bickers et al.Sep 2001
US6574064Thomson Licensing S.A.Jrgen KaadenJun 2003
US6857044International Business Machines CorporationRalph Thomas Beeston et al.Feb 2005
US7127388Advanced Digital Information CorporationNeville Yates et al.Oct 2006
US7559088NETAPP, Inc.Gavin David Cohen et al.Jul 2009
US6256706International Business Machines CorporationWayne Charles Carlson et al.Jul 2001
US6173359International Business Machines Corp.Wayne Charles Carlson et al.Jan 2001
US6779080International Business Machines CorporationRobert Beverley Basham et al.Aug 2004
US6950257International Business Machines CorporationPaul Merrill Greco et al.Sep 2005
US7426617Network Appliance, Inc.Roger Keith Stager et al.Sep 2008
EP0795862International Business Machines CorporationRobert Beverly Basham et al.Jul 2002
US7487009Netapp, Inc.Don Alvin Trimmer et al.Feb 2009
US6282039Hewlett-Packard CompanyPaul Frederick BartlettAug 2001
US7119974International Business Machines CorporationGlen Alan JaquetteOct 2006
US7529054Seagate Technology LLCJimmy TzeMing Pang et al.May 2009
US5710676International Business Machines CorporationScott Milton Fry et al.Jan 1998
US6958873Hewlett-Packard Development Company, L.P.Jorge Antonio SvedOct 2005
US7325159Network Appliance, Inc.Roger Keith Stager et al.Jan 2008
US7437492Netapp, IncRoger Stager et al.Oct 2008
US7315965Network Appliance, Inc.Roger Keith Stager et al.Jan 2008
US5774287Michael L. Leonhardt et al.Jun 1998
US6031698Iomega CorporationRefael BarFeb 2000
US6745207Hewlett-Packard Development Company, L.P.James E. Reuter et al.Jun 2004
US6785078International Business Machines CorporationRobert Beverley Basham et al.Aug 2004
US6978414Hewlett-Packard Development Company, L.P.Catharine Anne Maple et al.Dec 2005
US6226712International Business Machines CorporationWayne Charles Carlson et al.May 2001
US6237062International Business Machines CorporationWayne Charles Carlson et al.May 2001
US7124124Quantum CorporationGeorge A. SalibaOct 2006
US7406488NetAppRoger Keith Stager et al.Jul 2008
US7526620Netapp, Inc.William P. McGovernApr 2009
US7558839Netapp, Inc.William P. McGovernJul 2009
US5956745Novell, Inc.Ted Kelly Bradford et al.Sep 1999
US6477628International Business Machines CorporationThomas William Bish et al.Nov 2002
US6441980Storage Technology CorporationBenjamin Joseph Baron et al.Aug 2002
US6496791Neville Yates et al.Dec 2002
US6339810International Business Machines CorporationRobert Beverley Basham et al.Jan 2002
US6349356International Business Machines CorporationRobert Beverley Basham et al.Feb 2002
US7167326Storage Technology CorporationStephen H. Blendermann et al.Jan 2007
US7490103NetApp, Inc.Roger Keith Stager et al.Feb 2009
US7568067Fujitsu LimitedTomonori Mase et al.Jul 2009
EP0965127QUANTUM CORPORATIONGeorge A. SALIBA et al.Jul 2006
US5758151Storage Technology CorporationCharles A. Milligan et al.May 1998
US5940849Fujitsu LimitedSusumu KoyamaAug 1999
US6172833International Business Machines CorporationScott Milton Fry et al.Jan 2001
US6016233Deutsche Thomson-Brandt GmbHWerner Scholz et al.Jan 2000
US6268973Hewlett-Packard CompanyRichard Arthur BickersJul 2001
US6282609International Business Machines CorporationWayne Charles CarlsonAug 2001
US7401198NetAppCraig Anthony Johnston et al.Jul 2008
US7567993Netapp, Inc.Don Alvin Trimmer et al.Jul 2009
US7581118Netapp, Inc.William P. McGovernAug 2009

Patent Family

The current document is not in a family.

Read Patent

Read patent

View Drawings


Independent Claims | See all claims (43)

  1. 1. A data storage method for linearly recording data blocks on a physical recording medium, having at least one data recording domain having a predetermined cross-width dimension and a longitudinal length dimension, said method comprising:a. demarcating said domain into "a" number of longitudinal segments, where "a" is an integer greater than 1;b. partitioning each said longitudinal segment across said cross-width dimension of said recording domain into "b" number of cross-width segments, where "b" is an integer greater than or equal to 1, each said cross-width segment having "c" number of parallel recording tracks, where "c" is an integer greater than or equal to 1; andc. recording, beginning at any position within said recording domain, a collection of related data blocks on said recording tracks within a sequence of one or more allocation units,such that each said collection of related data blocks defines a virtual medium, and each physical medium comprises "d" number of virtual media, where "d" is an integer greater than or equal to one.
  2. 14. In a tape drive apparatus, having a read-write recording head means, a tape transport means, and an interface means for connecting said tape drive apparatus to a host computer, a method of recording and retrieving data blocks on a tape adapted to be compatible with said tape transport means, said tape having a recordable recording domain having a predetermined longitudinal length from end-to-end and a predetermined cross-width from edge-to-edge, said method comprising:a. demarcating said recording domain into "a" longitudinal data recording segments, where "a" is an integer greater than one, spaced longitudinally along the entire length of said recording domain to define segments of said domain;b. demarcating said tape across said recording domain cross-width into "b" cross-width data segments, where "b" is an integer greater than or equal to one;c. partitioning said segments into allocation units;d. writing within an allocation unit an index marker to mark a virtual beginning of tape position within said allocation unit;e. recording a collection of data blocks received from said host computer via said interface in a sequence of one or more allocation units in a serpentine recording mode following said virtual beginning of tape index marker until said collection of data blocks has been fully recorded;f. writing a virtual end of tape index marker following said collection of data blocks.
  3. 26. A computer peripheral apparatus for storage of data on and retrieval of data from a recording medium, said apparatus having a movable read-write recording head means, a means for positioning said head means to a desired location on said medium, a recording medium transport means for moving said recording medium across aid head means, and an interface means for coupling said apparatus to a host computer, said apparatus comprising:a. means, coupled to said interface means, for controlling said head means to read and write predetermined timing markers on said media;b. means, coupled to said interface means, for controlling said head means to read and write markers to partition said media across a full cross-width dimension thereof between said timing markers;c. means, coupled to said interface means, for controlling said head means to write and read in a serpentine recording method collections of blocks of data on multiple tracks within one or more contiguous partition markers, such that said recording begins at any position on said medium; andd. means, coupled to said interface means, for controlling said head means to record and read a header track for each said partition, containing predetermined codes for apparatus recording management information and controls;whereby each said partition of medium recorded with each said collection of data block defines a virtual medium, and each physical medium comprises multiple, contiguous virtual media.
  4. 29. A method for recording computer data blocks on a tape in a magnetic tape recording apparatus for storage and retrieval of computer data, having a movable read-write recording head means, a positioning means for locating said head means to a desired position with respect to said tape, a tape transport means for moving a length of tape across said head means, and an interface means for connecting said tape recording apparatus to a host computer, said tape having a recordable recording domain having a predetermined longitudinal length dimension from end-to-end and a predetermined cross-width dimension from edge-to-edge adapted to support multiple parallel recording tracks thereon, said method for recording said computer data comprising:a. formatting a tape by:i. recording for substantially all said longitudinal length of said recording domain to form a location units at least one said track as a primary header track by:(1) recording redundant sets of first predetermined, recording method information codes in said primary header track, and(2) recording marker codes at regular intervals to demarcate said recording domain into a multiplicity of longitudinal data recording segments, such that each said segment contains at least one set of said recording method information codes; andii. partitioning said recording domain in said cross-width dimension into at least one cross-width data recording segment in each said longitudinal segment by defining at least one servo-track for substantially all said longitudinal length of said recording domain;b. dividing said longitudinal length of said recording domain into multiple tape sections by recording pairs of predetermined marker codes as logical beginning of tape and logical ending of tape indicators, wherein each said section encompasses at least one said allocation unit;c. enabling a pair of virtual beginning of tape and virtual end of medium tape markers to float within the bounds of said logical beginning of tape and logical ending of tape markers;d. recording each of said computer data blocks in a serpentine manner on a multiplicity of tracks between said virtual beginning of tape and virtual end of tape indicators, including:i. retaining at least one set of said first, predetermined recording method information codes of sad primary header track;ii. recording second, predetermined, recording method information codes representative of management information and controls related to collections of said computer data blocks being currently recorded over a portion of said primary header track not containing said first, predetermined recording method information codes;iii. including among said second, predetermined recording method information codes a pointer code indicative of:(1) a location on said tape of the next pair of said virtual beginning of tape and virtual end of tape indicators, and(2) a location on said tape of said second, predetermined, recording method information codes most recently recorded.
  5. 35. A data storage method for linearly recording data blocks on a physical media, having at least one physical recording domain having at least one logical recording domain, said logical recording domains structured within "n" recording dimensions (where "n"=an integer 1 through "n"), including at least a cross-width dimension and a longitudinal length dimension of said physical recording domain, said method comprising:a. demarcating said "n" longitudinal dimensions of said logical recording domain into "a.sub.i " number of segments (where "i"=an integer 1 through "n"), where "a" is an integer greater than or equal to 1;b. partitioning said logical recording domain and grouping sets of minimum allocation units comprising "j.sub.i " said segments (where "j.sub.i " is an integer greater than or equal to one and less than or equal to "a.sub.i ") across each said "n" dimensions of said logical recording domain into "b" number of group allocation units, where "b" is an integer greater than or equal to 1, each said group allocation unit having "c" number of concurrent recording tracks, where "c" is an integer greater than or equal to 1; andc. recording, beginning at any position within said logical recording domain, a collection of related data blocks on said recording tracks within a sequence of one or more group allocation units,such that each said collection of related data blocks defines a subset of a virtual media, and each physical media comprises "d" number of virtual media, where "d" is an integer greater than or equal to one.
  6. 42. A data storage method for linearly recording data blocks in discrete tracks on a physical media, having at least one data recording domain structured into a predetermined number "n" recording dimensions, RDn (where "n" is an integer 1 through "n") including at least a predetermined cross-width dimension and a longitudinal length dimension, said method comprising:recording, beginning at any position within said recording domain, a block of data on said tracks in a hierarchy of groups of minimum allocation units (GAU.sub.i) defined by the form:GAU.sub.i =SG.sub.g1 +SG.sub.gk + . . . SG.sub.gn, where:SG.sub.gk =segment grouping in a "k" dimension at level "g.sub.k ";k=1 through n;n=RDn;each g.sub.k is greater than or equal to zero;the maximum of g.sub.k =i;and for each possible i,GAU.sub.i =SG.sub.g1 +SG.sub.g2 + . . . SG.sub.gn ;andGAU.sub.i+1 =SG.sub.g1 +SG.sub.g2 . . . SG.sub.gn,where each g.sub.k for GAU.sub.i+1 is greater than or equal to g.sub.k for GAU.sub.i ;at least one g.sub.k for GAU.sub.i+1 is one greater than g.sub.k for GAU.sub.i ; andthe maximum g.sub.k for GAU.sub.i+1 =i+1; and, whereGAU.sub.i =SG.sub.g1 +SG.sub.g2 + . . . SG.sub.gn and,GAU.sub.i '=SG.sub.g1 +SG.sub.gk + . . . SG.sub.gn,where g.sub.k for GAU.sub.i ' are simply not all equal to g.sub.k for GAU.sub.i, andthe maximum g.sub.k for GAU.sub.i =the maximum g.sub.k for GAU.sub.i '=i, and wherein segment grouping levels are defined as:g.sub.1 . . . g.sub.n >g.sub.k=0 for basic segmentation, no groupings;=1 for groups of segments;=2 for groups of groups of segments;=>2 for groups of groups of groups of segments.
  7. 43.43. A recording medium having a format having at least one logical recording domain structured into a predetermined number "n" recording dimensions, RDn (where "n" is an integer 1 through "n") including at least a predetermined cross-width dimension and a longitudinal length dimension, said format comprising:a. first index markers recorded in said medium demarcating "n" longitudinal dimensions of said logical recording domain into "a.sub.i " number of segments (where "i"=an integer 1 through "n"), where "a" is an integer greater than or equal to 1;b. second index markers recorded in said medium partitioning said logical recording domain and grouping sets of allocation units comprising "j.sub.i " said segments (where "j.sub.i " is an integer greater than or equal to one and less than or equal to "a.sub.i ") across each said "n" dimensions of said logical recording domain into "b" number of group allocation units, where "b" is an integer greater than or equal to 1, each said group allocation unit having "c" number of concurrent recording tracks, where "c" is an integer greater than or equal to 1; andc. data recording domains, bounded by said first and second index markers, for recording, beginning at any position within said logical recording domain, a collection of related data blocks on said recording tracks within a sequence of one or more group allocation units,such that each said collection of related data blocks defines a subset of a virtual media, and each physical media comprises "d" number of virtual media, where "d" is an integer greater than or equal to one.