-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung bezieht sich auf ein Magnetbandmedium zum Speichern von Daten, auf ein Verfahren zum Schreiben von Servodaten auf ein Magnetbandmedium, auf ein Verfahren zum Lesen von Servodaten von einem Magnetbandmedium, auf eine Vorrichtung zum Schreiben von Servodaten auf ein Magnetbandmedium, auf eine Vorrichtung zum Lesen von Servodaten von einem Magnetbandmedium und auf ein zugehöriges Computerprogrammprodukt.
-
HINTERGRUND
-
Speichermedien weisen normalerweise Servodaten auf, die in einem oder mehreren zugeordneten Servobändern voraufgezeichnet sind, die sich neben den Datenspuren zum Speichern von Daten erstrecken, wobei sich diese Servobänder in Längsrichtung entlang des Bands erstrecken. Ein Servoband wird normalerweise von einem zugeordneten Servoleser eines Bandkopfs eines Bandlaufwerks gelesen, in das eine das Bandmedium enthaltende Kassette eingelegt wird. Die Lese-Servodaten ermöglichen das Ermitteln einer seitlichen Abweichung des Bands von einer seitlichen Bezugsposition, wobei die seitliche Bezugsposition zum korrekten Lesen der Daten von und Schreiben der Daten auf das Band durch zugeordnete Lese- und Schreibelemente des Bandkopfs gewünscht wird. Ein vom Servoleser geliefertes Positionsfehlersignal kann in ein Steuersignal für ein Stellglied übersetzt werden, um die seitliche Position des Bandkopfs gegenüber dem Band zu steuern.
-
TBS (Timing-based servo) ist eine insbesondere für lineare Bandlaufwerke in den späten '90er Jahren entwickelte Technologie. Bei TBS-Systemen weisen aufgezeichnete Servomuster Übergänge mit zwei unterschiedlichen Azimut-Steigungen auf. Die seitliche Position des Bandkopfs wird aus der relativen Zeitspanne der Impulse abgeleitet, die von einem das Servomuster lesenden Servoleser erzeugt werden. Die Servomuster werden auf fünf zugeordneten Servobändern geschrieben, die beiderseits von vier Datenbändern liegen. Das vollständige Format für LTO(Linear Tape Open)-Bandlaufwerke der ersten Generation wurde von der European Computer Manufacturers Association (ECMA) 2001 als ECMA-319 standardisiert.
-
KURZE ZUSAMMENFASSUNG DER ERFINDUNG
-
Gemäß einer Ausführungsform eines Aspekts der Erfindung wird ein Magnetbandmedium zum Speichern von Daten bereitgestellt, das mindestens ein Servoband aufweist, das sich entlang des Magnetbandmediums erstreckt und Servodaten aufweist, um zu ermöglichen, dass eine seitliche Abweichung eines die Servodaten lesenden Servolesers von einer seitlichen Bezugsposition auf dem Servoband ermittelt wird. Die zusätzlichen Daten werden in die Servodaten integriert, wobei die zusätzlichen Daten durch ein M-näres Alphabet A codiert werden, das M > 2 unterschiedliche Symbole aufweist und in einer Wortmenge angeordnet ist. Jedes Wort der Wortmenge enthält
- – Synchronisationsdaten, wobei jedes Symbol, das zum Darstellen der Synchronisationsdaten verwendet wird, aus einer Menge B von m Symbolen stammt, wobei es sich bei der Menge B um eine echte Teilmenge der Symbole in dem Alphabet A handelt, sodass 1 ≤ m < M;
- – Längspositionsdaten, wobei jedes Symbol, das zum Darstellen der Längspositionsdaten verwendet wird, aus einer Menge C von M – m Symbolen stammt, wobei es sich bei der Menge C um eine Ergänzungsmenge zur Menge B in Bezug auf das Alphabet A handelt; und
- – andere Daten, wobei jedes zum Darstellen der anderen Daten verwendete Symbol aus der Menge C von M – m Symbolen stammt.
-
In Ausführungsformen kann die Speichersteuereinheit eines oder mehrere der folgenden Merkmale aufweisen:
- – jedes Wort der Wortmenge enthält eine Anzahl von p Symbolen Si mit 0 ≤ i < p und p > 0 zum Darstellen der Synchronisationsdaten, wobei die Synchronisationsdaten eine Bezugsposition innerhalb des Worts darstellen,
- – jedes Wort der Wortmenge enthält eine Anzahl von k Symbolen Li mit 0 ≤ i < k und k > 0 zum Darstellen der Längspositionsdaten, wobei die Längspositionsdaten das Ableiten einer vorliegenden Längsposition auf dem Magnetbandmedium ermöglichen,
- – jedes Wort der Wortmenge enthält eine Anzahl von j Symbolen Ti mit 0 i < j und j > 0 zum Darstellen anderer Daten,
- – bei der Menge C handelt es sich insofern um die Ergänzungsmenge der Menge B, als das Alphabet A die Vereinigung der Symbole in den Mengen B und C ist und die Schnittmenge der Symbole in den Mengen B und C eine leere Menge ist;
- – die Symbole L0, ..., Lk-1 stellen einen Längspositionswert LPOS zum Zeitpunkt n dar gemäß:
- – die k Symbole L0, ..., Lk-1 stellen einen Längspositionswert in einem komprimierten Format mit k < k1 dar, wobei k1 eine Anzahl von Symbolen L0, ..., Lk1-1 ist, die einen Längspositionswert LPOS in einem nicht komprimierten Format zum Zeitpunkt n darstellen gemäß:
- – die k Symbole L0, ..., Lk-1 stellen einen Längspositionswert in einem Fehlerkorrektur-codierten Format mit k > k2 dar, wobei k2 eine Anzahl von Symbolen L0, ..., Lk2-1 ist, die einen Längspositionswert LPOS in einem Format ohne angewendete Fehlerkorrektur-Codierung zum Zeitpunkt n darstellen gemäß:
- – die k Symbole L0, ..., Lk-1 stellen einen Längspositionswert LPOS in einem komprimierten und Fehlerkorrektur-codierten Format dar;
- – die k Symbole L0, ..., Lk-1 weisen q Symbole auf, die für die Fehlerkorrektur-Codierung der Längspositionsdaten und der anderen Daten erforderlich sind;
- – die Servodaten sind in Servorahmen organisiert, die entlang des Servobands angeordnet sind und wiederholt werden, jeder Servorahmen weist eine Menge von Servoblöcken auf, und jeder Servoblock weist eine Menge paralleler Streifen auf, wobei jeder Streifen von zwei magnetischen Übergängen dargestellt wird, wobei die Streifen gegenüber einer Seitenachse des Bandspeichermediums senkrecht zu seiner Längserstreckung geneigt sind;
- – pro Servorahmen wird ein einziges Symbol codiert, das Symbol wird in mindestens einem Servoblock aus der Menge der Servoblöcke codiert, und das Codieren des Symbols weist eine Positionsmodulation von mindestens einem Streifen aus der Menge der Streifen dieses mindestens einen Blocks auf;
- – das Codieren der verschiedenen Symbole aus dem Alphabet A weist eine Positionsmodulation des mindestens einen Streifens in unterschiedliche Positionen in Bezug auf eine Standardposition des mindestens einen Streifens auf;
- – der Servorahmen weist vier Servoblöcke auf, die Streifen aufeinander folgender Servorahmen sind mit einem positiven bzw. einem negativen Winkel gegenüber der Seitenachse geneigt, das in dem Servorahmen codierte Symbol wird in zwei benachbarten Servoblöcken codiert, und pro Symbol werden zwei Streifen pro Servoblock codiert, wobei es sich bei den zwei Streifen um den zweiten und den vierten Streifen in der fünf Streifen aufweisenden Menge von Streifen handelt.
-
Gemäß einer Ausführungsform eines weiteren Aspekts der vorliegenden Erfindung wird ein Verfahren zum Schreiben von Servodaten auf ein Magnetbandmedium gemäß einer der obigen Ausführungsformen bereitgestellt, wobei die Servodaten mit den in die Servodaten integrierten zusätzlichen Daten auf ein oder mehrere Servobänder des Magnetbandmediums geschrieben werden.
-
Gemäß einer Ausführungsform eines weiteren Aspekts der vorliegenden Erfindung wird ein Verfahren zum Lesen von Servodaten von einem Magnetbandmedium gemäß einer der obigen Ausführungsform bereitgestellt, aufweisend
- – Ermitteln einer seitlichen Abweichung eines die Servodaten lesenden Servolesers von einer seitlichen Bezugsposition auf dem Servoband,
- – Neupositionieren des Servolesers auf der seitlichen Bezugsposition durch Neupositionieren eines den Servoleser aufweisenden Bandkopfs,
- – Demodulieren der vom Servoleser gelesenen Zusatzdaten,
- – Decodieren eines Längspositionswerts aus den synchronisierten zusätzlichen Daten.
-
Gemäß einer Ausführungsform eines weiteren Aspekts der vorliegenden Erfindung wird eine Vorrichtung zum Schreiben von Servodaten auf ein Magnetbandmedium bereitgestellt, die einen Servoschreiber zum Schreiben auf das Magnetbandmedium und eine Steuereinheit zum Ansteuern des Servoschreibers, damit er auf das Magnetbandmedium schreibt, gemäß dem Verfahren zum Schreiben von Servodaten auf ein Magnetbandmedium aufweist.
-
Gemäß einer Ausführungsform eines weiteren Aspekts der vorliegenden Erfindung wird eine Vorrichtung zum Lesen von Servodaten von einem Magnetbandmedium bereitgestellt, die einen Servoleser zum Lesen von Servodaten von dem Magnetbandmedium und eine Steuereinheit zum Umsetzen der Schritte des Verfahrens zum Lesen von Servodaten von einem Magnetbandmedium aufweist.
-
Gemäß einer Ausführungsform eines weiteren Aspekts wird ein Computerprogrammprodukt bereitgestellt, das ein computerlesbares Medium mit damit verkörpertem computerlesbarem Programmcode aufweist, wobei der computerlesbare Programmcode einen computerlesbaren Programmcode aufweist, der dazu konfiguriert ist, ein Verfahren zum Schreiben von Servodaten auf ein Magnetbandmedium oder ein Verfahren zum Lesen von Servodaten von einem Magnetbandmedium auszuführen.
-
Es versteht sich, dass Verfahrensschritte in einer anderen als der in einem Verfahrensanspruch aufgeführten Reihenfolge ausgeführt werden können. Eine solche andere Reihenfolge ist ebenso im Geltungsbereich eines solchen Anspruchs enthalten wie die Reihenfolge der Schritte, wie sie vorliegend aufgeführt ist.
-
Ausführungsformen, die im Zusammenhang mit dem Bandspeichermedium beschrieben werden, sind auch als Ausführungsformen zu betrachten, die in Verbindung mit einer der anderen Kategorien wie beispielsweise den Verfahren, der Vorrichtung, dem Computerprogrammprodukt usw. offenbart werden.
-
In einem weiteren Aspekt bezieht sich die Erfindung auf ein Verfahren zum Schreiben von Servodaten auf ein Magnetbandmedium gemäß einer Ausführungsform der Erfindung, wobei die Servodaten mit den in die Servodaten integrierten zusätzlichen Daten auf ein oder mehrere Servobänder des Magnetbandmediums geschrieben werden.
-
In einem weiteren Aspekt bezieht sich die Erfindung auf eine Vorrichtung zum Schreiben von Servodaten auf ein Magnetbandmedium, aufweisend:
- – einen Servoschreiber zum Schreiben von Servodaten auf das Magnetbandmedium und
- – eine Steuereinheit zum Ansteuern des Servoschreibers, um gemäß dem oben beschriebenen Verfahren auf das Magnetbandmedium zu schreiben.
-
Es versteht sich, dass ein/eine oder mehrere der vorgenannten Ansprüche und/oder Ausführungsformen kombiniert werden können, solange sich die kombinierten Elemente nicht gegenseitig ausschließen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Die Erfindung und ihre Ausführungsformen werden durch Bezugnahme auf die folgende ausführliche Beschreibung der derzeit bevorzugten, gleichwohl aber veranschaulichenden Ausführungsformen gemäß der vorliegenden Erfindung umfassender verständlich sein, wenn sie in Verbindung mit den beiliegenden Zeichnungen gelesen werden.
-
Die Figuren veranschaulichen:
-
1 ein erstes Beispiel eines codierten Servorahmens, wie er in einer Ausführungsform der vorliegenden Erfindung verwendet wird,
-
2 ein zweites Beispiel eines codierten Servorahmens, wie er in einer Ausführungsform der vorliegenden Erfindung verwendet wird,
-
3 eine Kompressionstabelle zur Verwendung in einer Ausführungsform der vorliegenden Erfindung, und
-
4 eine weitere Kompressionstabelle zur Verwendung in einer Ausführungsform der vorliegenden Erfindung.
-
AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
-
Als Einführung in die folgende Beschreibung wird zuerst auf einen allgemeinen Aspekt der Erfindung hingewiesen, der ein in einem Bandspeichersystem zu verwendendes Servoformat betrifft, in dem zusätzliche Daten mittels eines Mehrebenen-Alphabets codiert werden. Ein Mehrebenen-Alphabet ist in diesem Zusammenhang so definiert, dass es mehr als zwei Symbole, beispielsweise drei, vier, sechs oder acht Symbole, aufweist. Die zusätzlichen Daten weisen Daten bezüglich einer Längsposition – auch als LPOS abgekürzt – des Bandmediums auf. Infolgedessen wird eine LPOS-Wortspezifikation offenbart, bei der eine erste Symbolmenge aus dem Mehrebenen-Alphabet zum Definieren eines Rahmensynchronisationsmusters reserviert ist. Eine zweite Symbolmenge aus dem Mehrebenen-Alphabet, wobei die zweite Menge in Bezug auf die erste Symbolmenge disjunkt ist, wird zum Codieren der LPOS-Daten und vorzugsweise zusätzlich zum Codieren anderer Daten wie beispielsweise Fertigungsdaten verwendet.
-
Insbesondere weist ein Wort gemäß einem solchen Format x Symbole auf, wobei die x Symbole aufweisen:
- – p aufeinander folgende, den Synchronisationsdaten zugeordnete Symbole, d. h. die Symbole S0, ..., Sp-1, oder, in einer anderen Schreibweise, die Symbole Si mit 0 ≤ i < p,
- – k aufeinander folgende, den LPOS-Daten zugeordnete Symbole, d. h. die Symbole L0, ..., Lk-1, oder, in einer anderen Schreibweise, die Symbole Li mit 0 ≤ i < k und
- – j aufeinanderfolgende, anderen Daten zugeordnete Symbole, d. h. die Symbole T0, ..., Tj-1, oder, in einer anderen Schreibweise, die Symbole Ti mit 0 ≤ i < j.
-
Die Anzahl der Symbole, die ein Wort bilden, beträgt x = p + k + j. Vorzugsweise erstrecken sich die Symbole eines Worts über aufeinander folgende Servorahmen. Insbesondere stammen alle Symbole aus einem M-nären Alphabet A und M > 2. Die zum Beschreiben der Synchronisationsdaten verwendeten Symbole Si stammen alle aus einer Symbolmenge B mit m Elementen, wobei B eine echte Teilmenge von A ist, d. h. 1 ≤ m < M. Die zum Beschreiben der LPOS-Daten verwendeten Symbole Li stammen alle aus einer Symbolmenge C mit M – m Elementen, wobei C eine echte Teilmenge von A ist, d. h. 1 ≤ (M – m) < M, und wobei C eine Ergänzungsmenge zur Menge B ist. Das bedeutet, dass die M Symbole des Alphabets A die Vereinigung der Symbolmenge B und der Symbolmenge C sind. Eine Schnittmenge der Mengen B und C ist eine leere Menge. Die für andere Daten verwendeten Symbole Ti stammen alle aus der Symbolmenge C. Daher bettet die offenbarte Wortspezifikation wirksam ein eindeutiges Synchronisationsmuster sowie LPOS- und andere Daten ein. Demzufolge wird eine hohe Auflösung der Längspositionsschätzung erreicht.
-
Speichermedien weisen normalerweise Servodaten auf, die in einem oder mehreren zugeordneten Servobändern voraufgezeichnet sind, die sich neben den Datenspuren zum Speichern von Daten erstrecken, wobei sich diese Servobänder in Längsrichtung entlang des Bands erstrecken. Beispielsweise werden auf einem Bandmedium fünf zugeordnete Servobänder bereitgestellt, wobei die fünf Servobänder jeweils beiderseits von vier mehrere Datenspuren aufweisenden Datenbändern liegen. Ein Servoband auf einem Bandmedium einer Bandkassette wird normalerweise von einem zugeordneten Servoleser eines Bandkopfs eines Bandlaufwerks gelesen. Die Lese-Servodaten ermöglichen das Ermitteln einer seitlichen Abweichung des Bands von einer seitlichen Bezugsposition, wobei gewünscht wird, dass die seitliche Bezugsposition über den gesamten Betrieb des Bandlaufwerks aufrechterhalten wird, um Daten korrekt von zugeordneten Lese- und Schreibelementen des Bandkopfs von dem Band zu lesen und darauf zu schreiben. Ein vom Servoleser geliefertes Positionsfehlersignal (PES, position error signal) kann in ein Steuersignal für ein Stellglied übersetzt werden, um die seitliche Position des Bandkopfs gegenüber dem Band zu steuern.
-
Vorzugsweise wird ein TBS(timing-based servo)-Ansatz verwendet. Der TBS-Ansatz nutzt das Abtasten von sequentiell entlang des Servobands angeordneten Servoblöcken. Jeder Servoblock weist vorzugsweise ein Muster auf, das sich vorzugsweise über eine Breite des Servobands erstreckt und zusätzlich eine Asymmetrie sowohl in Bezug auf eine Längsmittellinie des Servobands als auch in Bezug auf eine Seitenachse zeigt, sodass für jede Position des Servolesers, die seitlich gegenüber ihrer Bezugsposition versetzt ist, Impulse in dem Positionsfehlersignal zu Zeiten auftauchen, die gegenüber einem Impuls verschieden sind, der von einem an seiner Bezugsposition positionierten Servoleser ausgehen würde. Vorzugsweise kann mit Hilfe des Auswertens eines Intervalls zwischen von dem Servoleser erzeugten Impulsen eine seitliche Abweichung des Servolesers gegenüber seiner Bezugsposition und somit eine Abweichung des gesamten Bandkopfs im Verhältnis zu dem Bandmedium ermittelt werden. In diesem Zusammenhang wird eine zeitabhängige Auswertung des von dem Servoleser gelieferten Positionsfehlersignals durchgeführt, indem die relative Zeitspanne von Impulsen ausgewertet wird. Vorzugsweise sind die Servodaten in mehreren Servorahmen angeordnet, die sich sequentiell entlang des Servobands erstrecken, wobei jeder Servorahmen ein Servomuster aufweist. Jeder Servorahmen weist vorzugsweise mehrere Servoblöcke auf, wobei jeder Servoblock ein Servountermuster aufweist. In einer bevorzugten Ausführungsform besteht ein Servountermuster aus einer Menge paralleler Streifen von magnetischen Übergängen, wobei sich die Menge der Streifen entlang der Breite des Servobands erstreckt und um einen Winkel +α oder –α gegenüber der Seitenachse geneigt ist. Vorzugsweise ist die Menge der Streifen aufeinander folgender Servoblöcke zueinander nicht parallel, sondern eine Menge von Streifen ist um einen Winkel +α geneigt, während eine nächste Menge um einen Winkel –α geneigt ist. In einer bevorzugten Ausführungsform weist ein Servorahmen vier Servoblöcke auf, wobei der erste und der dritte Servoblock zueinander parallele Streifen aufweisen und wobei der zweite und der vierte Servoblock zueinander parallele Streifen aufweisen. Die Streifen benachbarter Servoblöcke sind jedoch nicht parallel zueinander.
-
Insbesondere wird pro Servorahmen ein einziges Symbol des M-nären Alphabets A codiert. Deshalb werden zum Codieren eines Worts gemäß dem eingeführten Format x Servorahmen verwendet. Innerhalb eines Servorahmens kann das Symbol redundant in mehr als einem Servoblock codiert werden, oder es kann nicht redundant auf der Grundlage eines Servoblocks codiert sein, sodass nur ein einziger Block die codierten Daten enthält. In der oben eingeführten besonderen Ausführungsform, bei der der Servorahmen vier Servoblöcke aufweist, kann das Symbol nur in zwei aufeinander folgenden Servoblöcken und vorzugsweise in den ersten beiden Servoblöcken codiert werden. Allerdings können auch andere Codierkonfigurationen innerhalb eines Servorahmens möglich sein. Innerhalb eines Servoblocks und unter der Voraussetzung, dass ein Servoblock ein Untermuster in Form einer Menge von Streifen enthält, kann nur eine Untermenge der Menge von Streifen zum Codieren eines Symbols verwendet werden. In einer Ausführungsform kann ein einziger Streifen der Menge von Streifen zum Codieren eines Symbols verwendet werden. In einer anderen Ausführungsform können mehrere Streifen, z. B. zwei Streifen aus der Menge von Streifen, mit einem Symbol codiert werden, und vorzugsweise können alle diese Streifen durch dasselbe Symbol codiert werden, bei dem es sich um das einzige Symbol handelt, das in dem vorliegenden Servorahmen codiert wird. Das redundante Codieren eines Symbols in mehrere Streifen und/oder in mehrere Servoblöcke verbessert weiter das zuverlässige Decodieren eines solchen Symbols.
-
Eine bevorzugte Technik des Codierens eines Symbols in einen Streifen eines Servoblocks kann eine Pulspositionscodierung sein. Bei einer solchen Codierungstechnik kann der Streifen gegenüber seiner normalen Position versetzt angeordnet werden, um eines der Symbole des Alphabets darzustellen, dieser Streifen ist dabei aber immer noch parallel zu den anderen Streifen der Menge von Streifen angeordnet. Ein solcher Streifen kann somit seinen Abstand zu einem seiner benachbarten Streifen verringern und seinen Abstand zu dem anderen seiner benachbarten Streifen gegenüber seiner normalen Position vergrößern, vorausgesetzt, dass alle Streifen in der Menge von Streifen, wenn sie sich in ihrer normalen Position befinden, gleiche Abstände aufweisen. Eine Mehrebenen-Codierungstechnik kann nun beispielsweise die für einen Streifen zulässigen mehreren Versatzpositionen nutzen, um unterschiedliche Symbole des Alphabets darzustellen. Diese Versatzpositionen können in einer ersten Ausführungsform Versatzpositionen nur in Richtung einer einzigen seiner benachbarten Streifen aufweisen, während in einer anderen Ausführungsform Versatzpositionen des betroffenen Streifens in beide Richtungen, d. h. zu beiden seiner benachbarten Streifen, zulässig sein können. Eine normale Position des betroffenen Steifens, d. h. eine Position ohne Versatz, kann ein Symbol des Alphabets darstellen, muss es aber nicht.
-
In der bevorzugten Ausführungsform eines Servorahmens, der vier Servoblöcke aufweist, können die ersten beiden Servoblöcke jeweils fünf Streifen aufweisen, während die zweiten die zweiten beiden Servoblöcke jeweils vier Streifen aufweisen können. Das Symbol wird in den ersten beiden Servoblöcken mit fünf Streifen codiert, wobei vorzugsweise der zweite und der vierte Streifen dieser Menge von Streifen zum Codieren des Symbols verwendet werden. Somit wird dasselbe Symbol an der Position des zweiten und des vierten Streifens von jedem der ersten beiden Servoblöcke codiert, sodass dasselbe Symbol zur Erhöhung der Redundanz vier Mal pro Servorahmen codiert wird.
-
Das Integrieren von LPOS-Daten in die durch Servodaten auf zugeordneten Servobändern dargestellten Servodaten ermöglicht das Lesen und Decodieren dieser LPOS-Daten durch den Servoleser während des Betriebs des Bandlaufwerks. Daher kann die Längsposition des gerade gelesenen Bandmediums auf der Grundlage der von dem Servoleser gelesenen LPOS-Daten erkannt werden. Diese LPOS-Daten können zum Spulen des Bandmediums bis zu einer gegebenen Längsposition und beispielsweise zum Starten des Lesens oder Schreibens an dieser angegebenen Längsposition verwendet werden. Andere Daten wie beispielsweise Fertigungsdaten können ebenfalls hinzugefügt werden, die zum Beispiel den Hersteller der Bandkassette, das Herstellungsdatum der Bandkassette, Daten wie beispielsweise die Norm, der die vorliegende Kassette ggf. entspricht, usw. angeben. Die Synchronisationsdaten ermöglichen vorzugsweise das Erkennen des Beginns eines neuen Worts und können zum korrekten Interpretieren der LPOS-Daten benötigt werden. Vorzugsweise wird ein synchroner Servokanal zum Erkennen der Servomuster verwendet. Verwendet werden kann ein Interpolator/Korrelator mit Optimalfilter, der sicherstellt, dass eine optimale Filterung des Servoleser-Signals nicht nur bei konstanter Bandgeschwindigkeit durchgeführt wird, sondern auch bei Beschleunigung und Verzögerung. Ein synchroner Servokanal garantiert so eine optimale Verarbeitung eines Servosignals zur Erzeugung von Schätzungen der seitlichen Position des Kopfs, Geschwindigkeitsschätzungen und LPOS-Daten.
-
Das Codieren zusätzlicher Daten in die Servodaten gemäß den obigen Ausführungsformen ermöglicht es den Servomustern immer noch, ein zuverlässiges Positionsfehlersignal (PES) zu erzeugen, das alle zum Ermitteln eines seitlichen Versatzes des Bands gegenüber dem Bandkopf erforderlichen Daten bereitstellt. Die vorliegende Idee eines Bandmediums und eines LPOS-Wortformats ist auf eine Optimierung einer Servomustergeometrie hin konzipiert, die ihrerseits wichtig ist, um eine maximale Gesamtleistung des Systems zu erreichen, wozu eine Minimierung der Standardabweichung eines Positionsfehlersignals, eine Maximierung einer Parameteraktualisierungsrate zur Erhöhung der Bandbreite eines Steuersystems und auch eine Optimierung einer Rate der in den modulierten Servountermustern eingebetteten Daten gehört, dies alles bei hohen Flächendichten.
-
In den Figuren werden gleiche oder ähnliche Elemente mit denselben Bezugszeichen bezeichnet.
-
1 veranschaulicht einen einzelnen Servorahmen eines auf ein Bandmedium geschriebenen Servobands. Eine Längserstreckung des spezifischen Servobands und das Bandmedium im Allgemeinen erstrecken sich entlang der Achse x. Im vorliegenden Beispiel fällt die Achse x mit der Mittellinie des Servobands zusammen, d. h. der in Längsrichtung verlaufenden Mitte des Servobands, die im vorliegenden Beispiel auch mit der seitlichen Bezugsposition zusammenfällt, welches die gewünschte Position für den Servoleser ist, d. h. seine Position, an der keine seitliche Ansteuerung des Bandkopfs erforderlich ist. Eine seitliche Erstreckung des Servobands und des Bandmediums im Allgemeinen ist durch die Seitenachse y gegeben. Somit können eine Breite des Servobands und des Servorahmens zum Beispiel 93 μm betragen. Eine Länge des gesamten Servorahmens beträgt 152 μm. Der Servorahmen weist vier Servoblöcke A, B, C und D auf.
-
Die Servountermuster der Blöcke A und B weisen jeweils fünf Streifen auf, während die Servountermuster der Blöcke C und D jeweils vier Streifen aufweisen. Die Streifen von Block A und Block C sind parallel angeordnet, und die Streifen von Block B und Block C sind parallel angeordnet. Die Streifen von Block A und Block C sind um einen Winkel α von +12 Grad gegenüber der Seitenachse y angeordnet, und die Streifen von Block B und Block D sind in einem Winkel α von –12 Grad gegenüber der Seitenachse y angeordnet. Ein Streifen weist eine magnetische Ausrichtung auf, die sich von ihrer Umgebung unterscheidet, sodass ein Streifen einen Übergang in der magnetischen Ausrichtung bedeutet. Beispielsweise kann eine Streifenbreite von 1,26 μm verwendet werden, und der Abstand zwischen Streifen desselben Servoblocks kann zum Beispiel 3 μm betragen, und die Breite des Servobands kann 93 μm betragen.
-
In dem vorliegenden Beispiel wird eine Pulspositionsmodulation (PPM) verwendet. Bei den Streifen, auf die die Modulation angewendet wird, handelt es sich um den zweiten und vierten Streifen jedes der Servountermuster der Blöcke A und B. Eine Modulation, die eines der M Symbole des Alphabets A darstellt, kann zum Beispiel einen Versatz des betroffenen Streifens – wobei dieser Versatz auch als Modulationstiefe bezeichnet wird – von z. B. 0,167 μm aufweisen. In dem vorliegenden Beispiel wird das Symbol codiert, indem die Impulsposition des zweiten Streifens in dem Block A um –0,167 μm moduliert und gleichzeitig die Impulsposition des vierten Streifens im Block A um +0,167 μm moduliert wird. Dieselbe Codierung wird im Block B wiederholt. Ein LPOS-Wort im vorliegenden Beispiel kann beispielsweise 36 Symbole enthalten, die durch 36 Servorahmen dargestellt werden, und es kann Daten zu einer bestimmten absoluten Längsadresse bereitstellen. Deshalb kann ein LPOS-Wort alle 5,47 mm entlang des Bandmediums erscheinen, d. h. einmal alle 36 Servorahmen, von denen jeder 152 μm lang ist und 1 Datensymbol codiert.
-
2 veranschaulicht in schematischer Weise einen Servorahmen, der dieselben Servodaten aufweist wie in 1 gezeigt. In diesem Beispiel wird eine quaternäre Pulspositionsmodulation zum Codieren verwendet, sodass das Alphabet A aus vier Symbolen besteht. Die Modulation der Streifen, d. h. der Versatz eines betroffenen Streifens aus seiner nicht modulierten Mittelposition, in der ein Abstand zu beiden seiner benachbarten Streifen gleich ist, kann definiert werden als ±Δs1 = 0,167 μm und ±Δs2 = 0,5 μm, wobei angenommen wird, dass die Nullverschiebungsposition, d. h. die Standardposition, nicht als gültige Modulationsebene verwendet wird und die maximale Verschiebung ±0,5 μm beträgt. Wieder kann ein Symbol pro Servorahmen codiert werden. Die Tabelle neben dem Schaubild in 2 zeigt eine Übersetzung der Symbole des Alphabets A in ein binäres System, das für eine nachfolgende Verarbeitung bevorzugt werden kann. In einer alternativen Ausführungsform kann mehr als ein Symbol in einem Servorahmen codiert werden, wodurch die Auflösung der Längspositionsschätzung erhöht wird, die auch als „LPOS-Granularität” bezeichnet wird. Bei einer oktalen Pulspositionsmodulation, d. h. einem aus acht Symbolen bestehenden Alphabet, werden drei Bits benötigt, um ein solches Symbol darzustellen, sodass das Codieren von einem dieser Symbole in dem Servorahmen dem Codieren von drei Bits pro Servorahmen entspricht. Eine solche Mehrebenen-Codierungstechnik ist jedoch insofern vorteilhaft, als keine anderen Änderungen gegenüber einem herkömmlichen LTO-Servorahmen erforderlich sind. Es ist auch möglich, z. B. eine senäre Pulspositionsmodulation zu verwenden, bei der sechs Symbole/Ebenen verwendet werden können, um log2(6) = 2,58 Datenbits zu codieren. Die Anzahl der Symbole wird abhängig vom Betriebspunkt und dem vorgesehenen Signal-Rausch-Verhältnis (SNR) des Servokanals in einem Bandlaufwerk festgelegt.
-
In einer bevorzugten Ausführungsform wird zum Codieren von LPOS-Daten ein oktales Alphabet A berücksichtigt, wobei die einzelnen Symbole in A = {a0, a1, ..., a7} sind. Es sei GF(7) der Galois-Körper (Galois field) mit sieben Elementen. Im Folgenden sind die Elemente von GF(7) die ersten sieben Elemente von A und werden dargestellt durch a0, a1, ..., a6, was unter Verwendung einer Tabellensuche in drei Bits übersetzt werden kann. Der Galois-Körper in diesem Beispiel würde eine Symbolmenge C darstellen, wobei es sich bei dieser Menge C um eine echte Teilmenge des Alphabets A handelt. In diesem Beispiel gehört das Symbol a7 im Alphabet A nicht zu GF(7). Zum Zweck der Rahmensynchronisation wird das ausgeschlossene Symbol a7 als Synchronisationsmarke Sy verwendet, sodass Sy nur am Beginn eines LPOS-Worts auftreten kann. Daher stellt das Symbol a7 eine Menge B dar, wobei es sich bei dieser Menge B um eine Teilmenge des Alphabets A und um eine Ergänzungsmenge der Menge C handelt, wobei eine Vereinigung der Symbole in den Mengen B und C das Alphabet A ergibt und wobei die Schnittmenge der Symbole in den Mengen B und C eine leere Menge ist.
-
In dem betrachteten Servoformat mit Symbolen aus dem Alphabet A codiert jeder Servorahmen vorzugsweise ein Symbol. Ein LPOS-Wort weist eine Länge von 10 Servorahmen auf und ist als Folge von Symbolen definiert: Sy, L0, L1, L2, ..., L7, Tx.
-
Das Symbol Sy ist hier die Synchronisationsmarke, die Synchronisationsdaten darstellt und die erste Position in dem Wort einnimmt, während die Symbole L0, ..., L7 LPOS-Daten codieren und die folgenden acht Positionen in dem Wort einnehmen, und das Symbol Tx codiert andere Daten wie beispielsweise fertigungsspezifische Daten und nimmt die letzte Position in dem Wort ein.
-
In einer Ausführungsform, in der die Symbole L0, ..., L7 Längspositionsdaten in Form von absoluten Längspositionswerten darstellen, die die Längsposition des Bandmediums bezeichnen, die aktuell gelesen wird und wobei diese Position in einem einzigen Wort codiert ist, wird der aktuelle LPOS-Wert, bei dem es sich um den LPOS-Wert zum gegenwärtigen Zeitpunkt n handelt, ausgedrückt als
wobei die Grundlage dieses Ausdrucks eine Positionsschreibweise zur Basis 7 ist, denn in der Menge C sind sieben Symbole versammelt. L
i ist ein Koeffizient für die jeweilige Position, sodass L
0 und L
7 das niederwertigste bzw. das höchstwertige Symbol in Längsposition sind. Zu beachten ist, dass die maximale Anzahl an LPOS-Werten, die in dieser Schreibweise dargestellt werden können, 7
8 = 5764801 ist, während heutige LTO-Kassetten einen Bereich von etwa 100000 aufeinander folgenden LPOS-Werten umfassen.
-
In der obigen Ausführungsform werden die LPOS-Werte nicht weiter codiert, sondern in die jeweiligen Rahmen geschrieben. Definitionsgemäß wird jeder dieser LPOS-Werte gegenüber dem in das vorhergehende Wort geschriebenen vorherigen LPOS-Wert um eins heraufgesetzt – oder um eins heruntergesetzt, wenn sich das Band in Rückwärtsrichtung bewegt. Dies kann für eine große inhärente Redundanz in der Gesamtfolge der LPOS-Werte von einem Beginn des Bands bis zu einem Ende des Bands sorgen. In einer bevorzugten Ausführungsform kann ein wirksames Kompressionsschema eingeführt werden. Der Kompressionsschritt in dieser bevorzugten Ausführungsform des Wortformats, der das wirksame Schema nutzt, kann wie folgt unter Bezugnahme auf 3 definiert werden, worin die Anzahl der für die LPOS-Codierung verwendeten Symbole in dem obigen Beispiel von acht auf zwei verringert ist oder allgemeiner von k1, was die Anzahl der zum Codieren nicht komprimierter LPOS-Werte erforderlichen Symbole bezeichnet, auf k, was die Anzahl der zum Codieren komprimierter Längspositionsdaten erforderlichen Symbole bezeichnet.
-
Die Kompressionstabelle in 3 ist unter der Annahme eines Alphabets A mit 8 Symbolen, einer Teilmenge C mit M – m = 7 Symbolen zum Codieren von Längspositionsdaten und einem nicht komprimierten LPOS-Wert mit acht Symbolen aufgebaut; die Kompressionsregel ist wie folgt zu lesen: Wenn das Symbol L0(n) in dem vorliegenden LPOS-Wort gleich 0 ist, stellen nur die beiden Symbole L0(n) und L1(n) in der ersten Zeile der Tabelle die Symbole in dem vorliegenden Wort, d. h. LPOS(n) dar, nachdem die Kompression angewendet wurde; wenn das Symbol L0(n) in dem vorliegenden LPOS-Wort gleich 1 ist, stellen nur die beiden Symbole L0(n) und L2(n) in der zweiten Zeile der Tabelle die Symbole in dem vorliegenden Wort, d. h. LPOS(n) dar, nachdem die Kompression angewendet wurde; und so weiter. Die erste Spalte gibt das Symbol L0(n) in dem vorliegenden LPOS-Wort an, das immer in dem komprimierten LPOS-Wort enthalten ist, während die zweite Spalte die Auswahl des zweiten Symbols in dem komprimierten LPOS-Wort angibt, die von L0(n) abhängt. Diese Kompressionscodierung wählt zum Beispiel die Symbole L0(n) und L5(n) des nicht komprimierten Formats aus, d. h. das erste und das sechste Symbol des nicht komprimierten LPOS-Worts, das in dem obigen Beispiel aus acht Symbolen besteht, falls das erste Symbol des nicht komprimierten LPOS-Worts das Symbol 4 ist. Statt des Erzeugens eines LPOS-Worts mit L0(n), L1(n), L2(n), L3(n), L4(n), L5(n), L6(n), L7(n), wird das komprimierte LPOS-Wort infolgedessen nur von L0(n), L5(n) des nicht komprimierten Formats gebildet.
-
Mit anderen Worten: Aus den acht oktalen Symbolen von dem einen LPOS-Wert definierenden Alphabet A wird nur eine Teilmenge von zwei Symbolen aus GF(7) dem LPOS-Wert für ein bestimmtes LPOS-Wort zugeordnet. Dies entspricht einem festen Kompressionsverhältnis von Rcomp = 4. Ein Kompressor zum Umsetzen einer solchen Kompression kann als Block-Codierer verkörpert sein, während ein Dekompressor als Gleitblock-Decodierer mit einer Fenstergröße von vierzehn Symbolen aus GF(7) verkörpert sein kann, was sieben LPOS-Wörtern entspricht. Daher wird im vorliegenden Beispiel eine Folge von mindestens sieben aufeinander folgenden komprimierten LPOS-Wörtern benötigt, um den aktuellen LPOS-Wert zu rekonstruieren. Nachdem ein LPOS-Wert rekonstruiert worden ist, ist die Kenntnis des folgenden komprimierten LPOS-Worts ausreichend, um den nächsten LPOS-Wert zu erhalten.
-
Gemäß einer weiteren Ausführungsform der vorliegenden Erfindung kann eine Fehlerkorrektur-Codierung (ECC, error correction coding) entweder auf einen nicht komprimierten LPOS-Wert oder komprimierte Längspositionsdaten angewendet werden. In der Praxis kann ein Servoband für eine kurze Strecke des Bands einen Schaden erlitten haben oder kann aufgrund von Mediendefekten keine sinnvollen Informationen liefern. Deshalb werden Fehler in einem LPOS-Wort in diesen bevorzugten Ausführungsformen toleriert, um den Betrieb des Bandlaufwerks nicht zu unterbrechen, insbesondere während des Schreibens von Daten auf das Band. Mit anderen Worten ist eine Robustheit des LPOS-Worts gegenüber mehreren Fehlern wünschenswert, um die Häufigkeit von Schreibabbruchereignissen zu verringern.
-
Unter der Annahme eines Alphabets A mit 8 Symbolen, einer Teilmenge C mit M – m = 7 Symbolen und eines nicht komprimierten LPOS-Werts mit acht Symbolen wird ein Schritt der Fehlerkorrektur-Codierung in dieser bevorzugten Ausführungsform des Servoformats, der ein wirksames Schema nutzt, wie folgt definiert:
Statt eines nicht komprimierten LPOS-Werts mit Symbolen L0(n), L1(n), L2(n), L3(n), L4(n), L5(n), L6(n), L7(n)
werden nun die acht Positionen, die die LPOS-Daten darstellen, wie folgt zugewiesen: C0(n), C1(n), P1(n), P2(n), P3(n), P4(n), P5(n), P6(n).
-
C0(n) und C1(n) können zwei oktale Symbole aus GF(7) sein, die ein komprimiertes LPOS-Wort gemäß der Tabelle in 3 darstellen, während P1(n) bis P6(n) sechs Symbole aus GF(7) sind, die Paritätssymbole eines doppelt erweiterten Reed-Solomon(RS)-Codes über GF(7) mit N = 8, K = 2 und ECC-Fähigkeit zum Korrigieren von bis zu t = 3 Symbolen darstellen. Die Rate des RS-Codes beträgt RECC = 2/8 = 0,25, und in dem RS-Codierer und -Decodierer wird eine Modulo-7-Arithmetik verwendet. Deshalb beträgt die Gesamtrate des Kompressions-/Fehlerkorrektur-Schemas Rtotal = Rcomp RECC = 1.
-
Das Gesamt-LPOS-Wort ist somit gegeben durch Sy, C0(n), C1(n), P1(n), P2(n), P3(n), P4(n), P5(n), P6(n), Tx(n).
-
Zu beachten ist, dass gemäß dem obigen Kompressionsverfahren C0(n) := L0(n) für jedes LPOS-Wort ist, während C1(n) := Li(n) ist, wobei i vom Wert von C0(n) abhängt.
-
Die obige Vorgehensweise zur Definition eines LPOS-Worts unter Verwendung eines Mehrebenen-Alphabets kann wie folgt verallgemeinert werden.
-
Es sei GF(2q – 1) ein Galois-Körper mit 2q – 1 Elementen. Da die einzigen aufeinander folgenden Potenzen (unter Ausschluss von 0 und 1) 8 = 23 und 9 = 32 sind, existiert GF(2q – 1), wenn und nur wenn 2q – 1 eine Primzahl p ist, z. B. q = 3 oder q = 5. Infolgedessen kann für Codier- und Decodier-Operationen eine einfache Modulo-p-Arithmetik verwendet werden. Der Fall q = 3, p = 7 entspricht der obigen Ausführungsform. Im Folgenden werden die Elemente von GF(2q – 1) durch 0, 1, ..., 2q – 2 oder durch q Bits unter Verwendung einer Tabellensuche dargestellt. Beispielsweise kann das q-Bit-Symbol entweder für „alle null” oder „alle eins” ausgeschlossen werden. Im Allgemeinen kann zum Zweck der Rahmensynchronisation das ausgeschlossene Symbol in das Synchronisationssymbol Sy eingebettet werden, und das Synchronisationssymbol Sy kann nur am Beginn eines LPOS-Worts auftreten. Beispielsweise kann die Wiederholung des ausgeschlossenen Symbols in Betracht gezogen werden, um die Zuverlässigkeit der Rahmensynchronisation zu verbessern.
-
Das verallgemeinerte LPOS-Wort– in dem die LPOS-Symbole Li(n), i = 0, 1, ... 2q – 1, einschließlich der ECC-Paritätssymbole Pi(n), die ebenfalls zu den LPOS-Symbolen im Geist der Ansprüche beitragen, und beispielsweise das die Fertigung betreffende Symbol Tx(n) alle in GF(2q – 1) liegen – wird gemäß der Tabelle in 4 definiert. Die verlustfreie Datenkompressionsrate beträgt Rcomp = 2q/2 = 2q-1, wobei ein geeigneter Kompressor ein Block-Codierer ist. Ein Dekompressor kann ein Gleitblock-Decodierer mit einer Fenstergröße von 2(2q – 1) komprimierten Symbolen aus GF(2q – 1) sein. Wie in der ersten bevorzugten Ausführungsform kann es sich bei dem ECC-Code um einen doppelt erweiterten RS-Code über GF(2q – 1) mit N = 2q, K = 2 und ECC-Fähigkeit t = 2q-1 – 1 Symbolen handeln. Die Rate des RS-Codes beträgt RECC = 2/2q = 2–q+1, und in dem RS-Codierer und -Decodierer wird eine Modulo(2q – 1)-Arithmetik verwendet. Die Gesamtrate des verallgemeinerten Kompressions-/Fehlerkorrektur-Schemas beträgt Rtotal = Rcomp RECC = 1.
-
Im Allgemeinen erhöht das Anwenden einer Fehlerkorrektur-Codierung in Kombination mit einer Mehrebenen-Pulpositionsmodulation die Robustheit des Erkennens der LPOS-Daten bei Vorliegen von Stromrauschen und anderen Störungen.
-
In einer weiteren bevorzugten Ausführungsform ist das LPOS-Wort unter Verwendung eines M-nären Alphabets A, wobei M eine ganze Zahl größer zwei ist, definiert als Sy, L0(n), L1(n), L2(n), ..., Lk(n), Tx(n), wobei es sich bei den (k + 1) LPOS-Symbolen Li(n), i = 0, ..., k, und dem fertigungsspezifischen Symbol Tx(n) um uncodierte Symbole aus einem (M – 1)-nären Alphabet handelt und Sy die Synchronisationsmarke ist, die das Symbol aus dem M-nären Alphabet aufweist, das nicht zum Darstellen der LPOS- und fertigungsspezifischen Symbole verwendet wird. Diese Ausführungsform hat den Vorteil, dass das erste erkannte LPOS-Wort sofort den aktuellen LPOS-Wert bereitstellt, ohne die in der ersten Ausführungsform erforderliche Decodierverzögerung. Dies wird jedoch auf Kosten einer niedrigeren Zuverlässigkeit der LPOS-Erkennung erreicht.
-
Beispielsweise beträgt unter der Annahme eines Servorahmens mit einer Länge von 100 μm und einer Codierung eines M-nären Symbols mit M = 8 sowie eines LPOS-Worts mit k = 7 die Länge des Bands, um „einen Treffer zu bekommen”, d. h. einen LPOS-Wert zu erkennen, 1 mm für den uncodierten LPOS-Fall, während er für den in den obigen Ausführungsformen mit Anwenden von Kompression beschriebenen LPOS-Fall 7 mm beträgt. Als weitere Anmerkung sei gesagt, dass die Granularität des LPOS-Werts sowohl für den codierten als auch den uncodierten LPOS-Fall gleich 1 mm ist, was einer Länge von 10 Servorahmen entspricht. Zum Vergleich wird in der heutigen LTO-Spezifikation eine Bandlänge von 7,2 mm benötigt, um „einen Treffer zu bekommen”, was auch der LPOS-Granularität für LTO entspricht. Zu beachten ist, dass die Länge des Bands, um „einen Treffer zu bekommen”, für den codierten LPOS-Fall erheblich verringert werden kann, wenn eine weniger leistungsfähige ECC gewählt wird, sodass man eine LPOS-Wortlänge kleiner als 10 erhält. Wenn beispielsweise ein einfacher RS-Code mit halber Rate über GF(7) mit N = 4 und K = 2 verwendet wird, wird die Bandlänge, um „einen Treffer zu bekommen”, 4,2 mm für eine Servorahmenlänge von 100 μm, da ein LPOS-Wort durch 6 Servorahmen codiert wird. In diesem Fall wird auch die LPOS-Granularität gegenüber der ersten bevorzugten Ausführungsform verringert und ist gleich 0,6 mm, was einer 12-fachen Verringerung der LPOS-Granularität gegenüber LTO entspricht.
-
Wie für einen Fachmann verständlich sein wird, können Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt verkörpert sein. Dementsprechend können Aspekte der vorliegenden Erfindung, insbesondere in Form der Steuereinheit, die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardware-Aspekte miteinander verbindet und die hier alle allgemein als ”Schaltkreis”, ”Modul” oder ”System” bezeichnet werden können. Darüber hinaus können Aspekte der vorliegenden Erfindung, beispielsweise die Lese- und Schreibverfahren, die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medium (Medien) verkörpert ist, auf denen ein computerlesbarer Programmcode verkörpert ist.
-
Jede Kombination von einem oder mehreren computerlesbaren Medium (Medien) kann genutzt werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich beispielsweise und ohne darauf beschränkt zu sein um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit oder jede geeignete Kombination der Vorstehenden handeln. Zu konkreteren Beispielen (einer keinen Anspruch auf Vollständigkeit erhebenden Liste) des computerlesbaren Speichermediums würden die folgenden gehören: eine elektrische Verbindung mit einem oder mehreren Drähten, eine tragbare Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM- oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compactdisc-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination der Vorstehenden. Im Zusammenhang mit diesem Dokument kann es sich bei einem computerlesbaren Speichermedium um ein beliebiges materielles Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Befehlen enthalten oder speichern kann.
-
Bei einem computerlesbaren Signalmedium kann es sich um ein verbreitetes Datensignal mit computerlesbarem Programmcode handeln, der darin verkörpert ist, beispielsweise im Basisband oder als Teil einer Trägerwelle. Ein solches verbreitetes Signal kann eine beliebige aus einer Vielzahl von Formen annehmen, unter anderem und ohne darauf beschränkt zu sein elektromagnetische, optische oder jede geeignete Kombination davon. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Befehlen übertragen, verbreiten oder transportieren kann.
-
Auf einem computerlesbaren Medium verkörperter Programmcode kann unter Verwendung jedes geeigneten Mediums übertragen werden, unter anderem und ohne darauf beschränkt zu sein drahtlos, drahtgebunden, mittels Lichtwellenleiterkabel, HF usw. oder jeder geeigneten Kombination der Vorstehenden.
-
Computerprogrammcode zum Ausführen von Funktionen für Aspekte der vorliegenden Erfindung kann in jeder Kombination von einer oder mehreren Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie beispielsweise Java, Smalltalk, C++ oder dergleichen und herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als unabhängiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernten Computer oder vollständig auf dem entfernten Computer oder Server ausgeführt werden. In dem letztgenannten Szenario kann der entfernte Computer mit dem Computer des Benutzers über jede Art von Netzwerk verbunden sein, darunter ein Nahbereichs-Netzwerk (LAN) oder ein Weitverkehrs-Netzwerk (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Verwendung eines Internet-Dienstanbieters).
-
Computerprogrammbefehle können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder anderer programmierbarer Datenverarbeitungs-Vorrichtungen bereitgestellt werden, sodass eine Maschine in der Weise hervorgebracht wird, dass die Befehle, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungs-Vorrichtungen ausgeführt werden, Mittel zum Umsetzen der Funktionen/Handlungen erstellen.
-
Diese Computerprogrammbefehle können auch auf einem computerlesbaren Medium gespeichert werden, das einen Computer oder andere programmierbare Datenverarbeitungs-Vorrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass die auf dem computerlesbaren Medium gespeicherten Befehle ein Herstellungsprodukt hervorbringen, das Befehle aufweist, die die aufgeführten Funktionen/Handlungen umsetzen.
-
Die Computerprogrammbefehle können auch in einen Computer, andere programmierbare Datenverarbeitungs-Vorrichtungen oder andere Einheiten geladen werden, um zu veranlassen, dass eine Reihe von Funktionsschritten auf dem Computer, den anderen programmierbaren Vorrichtungen oder anderen Einheiten ausgeführt wird, um einen durch Computer umgesetzten Prozess in der Weise hervorzubringen, dass die Befehle, die auf einem Computer oder anderen programmierbaren Vorrichtungen ausgeführt werden, Prozesse zum Umsetzen der aufgeführten Funktionen/Handlungen bereitstellen.