DE69916583T2 - Medienspeichervorrichtung mit eingebettetem datenfilter zur dynamischen datenverarbeitung während lese- und schreiboperationen - Google Patents

Medienspeichervorrichtung mit eingebettetem datenfilter zur dynamischen datenverarbeitung während lese- und schreiboperationen Download PDF

Info

Publication number
DE69916583T2
DE69916583T2 DE69916583T DE69916583T DE69916583T2 DE 69916583 T2 DE69916583 T2 DE 69916583T2 DE 69916583 T DE69916583 T DE 69916583T DE 69916583 T DE69916583 T DE 69916583T DE 69916583 T2 DE69916583 T2 DE 69916583T2
Authority
DE
Germany
Prior art keywords
data
storage device
media storage
register
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69916583T
Other languages
English (en)
Other versions
DE69916583D1 (de
Inventor
D. Scott SMYERS
Bruce Fairman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Electronics Inc
Original Assignee
Sony Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Electronics Inc filed Critical Sony Electronics Inc
Publication of DE69916583D1 publication Critical patent/DE69916583D1/de
Application granted granted Critical
Publication of DE69916583T2 publication Critical patent/DE69916583T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • G11B20/10046Improvement or modification of read or write signals filtering or equalising, e.g. setting the tap weights of an FIR filter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40058Isochronous transmission
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40065Bandwidth and channel allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40117Interconnection of audio or video/imaging devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40123Interconnection of computers and peripherals

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Image Processing (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft das Gebiet eines Schreibens von Daten auf eine und Lesens von Daten von einer Medienspeichervorrichtung. Insbesondere betrifft die vorliegende Erfindung das Gebiet eines Manipulierens der Daten, die von einer Medienspeichervorrichtung gelesen oder in diese geschrieben werden.
  • HINTERGRUND DER ERFINDUNG
  • Der IEEE 1394-1995-Standard 1394-Standard For A High Performance Serial Bus ist ein internationaler Standard zum Implementieren einer billigen Hochgeschwindigkeits-Seriellbusarchitektur, die sowohl asynchrone als auch isochrone Formatdatentransfers stützt. Außerdem weist der IEEE 1394-1995-Bus einen universellen Taktgeber bzw. Takt auf, der als der Zykluszeitgeber bezeichnet wird. Dieser Takt ist bei allen Knoten synchronisiert. Isochrone Datentransfers sind Realzeittransfers, die auf der Basis des universellen Taktes derart stattfinden, dass die Zeitintervalle zwischen signifikanten Beispielen bzw. Fällen sowohl bei Sende- als auch Empfangsanwendungen die gleiche Dauer haben. Jedes Paket aus isochron transferierten Daten wird in seiner eigenen Zeitperiode transferiert. Ein Beispiel einer idealen Anwendung für den isochronen Datentransfer wäre die von einem Videorekorder zu einem Fernsehgerät. Der Videorekorder zeichnet Bilder und Töne auf und sichert die Daten in diskreten Blöcken oder Paketen. Der Videorekorder transferiert dann jedes Paket, welches das Bild und den Ton darstellt, die über einer begrenzten Zeitperiode aufgezeichnet sind, während dieser Zeitperio de zur Anzeige durch das Fernsehgerät. Die IEEE 1394-1995-Standardbusarchitektur stellt mehrfache unabhängige Kanäle zum isochronen Datentransfer zwischen Anwendungen bereit. Mit den Daten wird eine Sechs-Bit-Kanalnummer rundfunkgesendet, um den Empfang durch die passende Anwendung sicherzustellen. Dies erlaubt mehrfachen Anwendungen, isochrone Daten über die Busstruktur gleichzeitig zu senden. Asynchrone Transfers sind traditionelle zuverlässige Datentransferoperation, die stattfinden, sobald Entscheidung gewonnen ist, und die eine maximale Datenmenge von einer Quelle zu einem Ziel bzw. Bestimmungsort bzw. einer Bestimmung transferieren.
  • Der IEEE 1394-1995-Standard stellt einen Hochgeschwindigkeits-Seriellbus zum miteinander Verbinden von digitalen Vorrichtungen bereit, wodurch eine universelle E/A-Verbindung bereitgestellt ist. Der IEEE 1394-1395-Standard definiert eine digitale Schnittstelle für die Anwendungen, wodurch die Notwendigkeit für eine Anwendung, digitale Daten in analoge Daten umzuwandeln, bevor sie über den Bus gesendet werden, eliminiert ist. Demgemäss empfängt eine empfangende Anwendung digitale Daten vom Bus, nicht analoge Daten, und muss deshalb nicht analoge Daten in digitale Daten umwandeln. Das vom IEEE 1394-1995-Standard benötigte Kabel ist im Vergleich zu anderen sperrigeren Kabeln, die zum Verbinden solcher Vorrichtungen in anderen Verbindungsschemen verwendet sind, in der Größe sehr dünn. Zu einem IEEE 1394-1995-Bus können Vorrichtungen hinzugefügt und vom Bus entfernt werden während der Bus in Betrieb ist. Wenn eine Vorrichtung so hinzugefügt oder entfernt wird, rekonfiguriert sich der Bus dann zur Übertragung von Daten zwischen den dann existierenden Knoten automatisch selbst. Ein Knoten wird als eine logische Entität mit einer eindeutigen Adresse auf der Busstruktur betrachtet. Jeder Knoten stellt einen Standardadressenraum, einen Identifikations-ROM, einen standardisierten Satz aus Steuer-Registern und außerdem seinen eigenen Adressenraum bereit.
  • Der IEEE 1394-1995-Standard definiert ein wie in 1 dargestelltes Protokoll. Dieses Protokoll enthält einen an eine Transaktionsschicht 12 gekoppelten Seriellbus-Verwal tungs- bzw. -Managementblock 10, eine Verbindungsschicht 14 und eine Bitübertragungsschicht bzw. physikalische Schicht 16. Die physikalische Schicht 16 stellt die elektrische und mechanische Verbindung zwischen einer Vorrichtung und dem IEEE 1394-1995-Kabel bereit. Die physikalische Schicht 16 stellt auch Entscheidung bereit, um sicherzustellen, dass alle an den IEEE 1394-1995-Bus gekoppelten Vorrichtungen entschiedenen Zugriff auf den Bus sowie tatsächliche Datenübertragung bzw. -sendung und -empfang haben. Die Verbindungsschicht 14 stellt einen Datenpaket-Ausgabedienst für sowohl asynchronen als auch isochronen Datenpakettransport bereit. Dies stützt sowohl asynchronen Datentransport, der ein Quittierungsprotokoll verwendet, als auch isochronen Datentransport, ein nicht quittiertes, Realzeit-garantiertes Bandbreitenprotokoll für sofortige bzw. rechtzeitige Datenausgabe bereitstellt. Die Transaktionsschicht 12 stützt die zum Vervollständigen asynchroner Datentransfer notwendigen Befehle, darunter Lesen, Schreiben und Verriegeln bzw. Sperren. Der Seriellbus-Managementblock 10 enthält einen isochronen Ressourcenverwalter bzw. -manager zum Verwalten bzw. Managen isochroner Datentransfers. Der Seriellbus-Managementblock 10 stellt auch eine Gesamtkonfigurationssteuerung des seriellen Busses in der Form von optimierendem Entscheidungstiming, Garantieren adäquater elektrischer Leistung für alle Vorrichtungen auf dem Bus, Zuordnung des Taktführers bzw. Zyklusmasters, Zuordnung isochroner Kanal- und Bandbreitenressourcen und grundlegender bzw. elementarer Meldung bzw. Notifikation von Fehlern bereit.
  • Ein eine IEEE 1394-1994-Seriellbusschnittstelle enthaltendes Hart- bzw. Festplattenlaufwerk ist in 2 dargestellt. Das Festplattenlaufwerk 20 enthält die IEEE 1394-1995-Seriellbusschnittstellenschaltung 22 zum Schnittstellen-Verbinden mit einem IEEE 1394-1995-Seriellbusnetzwerk bzw. -netz. Die Schnittstellenschaltung 22 ist an eine Puffersteuerung bzw. einen Pufferkontroller 24 gekoppelt. Der Pufferkontroller 24 ist an einen Speicher mit wahlfreiem Zugriff bzw. Direktzugriffsspeicher (RAM) 26 und an eine Lese/Schreib- Kanalschaltung 28 gekoppelt. Die Lese/Schreib-Kanalschaltung 28 ist an die Medien 30 gekoppelt, auf denen im Festplattenlaufwerk 20 Daten gespeichert sind. Die Lese/Schreib-Kanalschaltung 28 steuert die Speicheroperationen auf den Medien 30, darunter das Lesen von Daten von den Medien 30 und Schreiben von Daten in bzw. auf die Medien 30.
  • Während einer Schreiboperation in das Festplattenlaufwerk 20 wird ein Datenstrom von einer durch die IEEE 1394-1995-Schnittstellenschaltung 22 an die IEEE 1394-1995-Seriellbusstruktur gekoppelten Vorrichtung empfangen. Dieser Datenstrom wird von der IEEE 1394-1995-Schnittstellenschaltung 22 an den Pufferkontroller 24 weitergeleitet. Der Pufferkontroller 24 speichert dann diese Daten zeitweilig in einem Puffer im RAM 26. Wenn die Lese/Schreib-Kanalschaltung 28 verfügbar ist, liest der Pufferkontroller 24 die Daten vom RAM 26 und sendet bzw. leitet sie an die Lese/Schreib-Kanalschaltung 28 weiter. Die Lese/Schreib-Kanalschaltung 28 schreibt dann die Daten auf die Medien 30.
  • Während einer Leseoperation vom Festplattenlaufwerk 20 wird ein Datenstrom durch die Lese/Schreib-Kanalschaltung 28 von den Medien 30 gelesen. Dieser Datenstrom wird von der Lese/Schreib-Kanalschaltung 28 an den Pufferkontroller 24 weitergeleitet. Der Pufferkontroller 24 speichert dann diese Daten zeitweilig in einem Puffer im RAM 26. Wenn die IEEE 1394-1995-Seriellbusschnittstellenschaltung 22 verfügbar ist, liest der Pufferkontroller 24 die Daten vom RAM 26 und leitet sie zur Schnittstellenschaltung 22 weiter. Die IEEE 1394-1995-Seriellbusschnittstellenschaltung 22 formatiert dann die Daten entsprechend den Erfordernissen des IEEE 1394-1995-Standards und überträgt diese Daten über den IEEE 1394-1995-Seriellbus zu der geeigneten bzw. passenden Vorrichtung oder den passenden Vorrichtungen.
  • Ein wie beschriebenes traditionelles Plattenlaufwerk 20 zeichnet Daten auf und gibt sie wieder entsprechend Befehlen, die von einem externen Kontroller, der ein Protokoll wie beispielsweise das Seriellbusprotokoll (SBP) verwendet, empfangen werden. Der externe Kontroller stellt dem Festplatten laufwerk 20 Befehlsdatenstrukturen bereit, die das Festplattenlaufwerk 20 darüber informieren, wo auf die Medien 30 im Fall einer Schreiboperation die Daten zu schreiben sind oder im Fall einer Leseoperation von ihnen zu lesen sind. Die Funktion des Festplattenlaufwerks 20 während einer Leseoperation ist, den originalen unmodifizierten Datenstrom, der vorher auf die Medien 30 geschrieben wurde, wiederherzustellen.
  • Mit der wachsenden Verwendung des IEEE 1394-1995-Seriellbusses sind nun Personalcomputer in IEEE 1394-1995-Netzen mit Vorrichtungen zusammen gekoppelt, die traditionell nicht mit Personalcomputern gekoppelt gewesen sind. Beispiele solcher Vorrichtungen sind Unterhaltungs- bzw. Konsumelektronikvorrichtungen wie beispielsweise Videokassettenrekorder, Videocamcorder bzw. Videokamaerarekorder, Digitalvideoplattenspieler und Kompaktdiscspieler bzw. CD-Spieler. Rohdaten von diesen Konsumvorrichtungen sind nicht immer direkt von einem Personalcomputer verwendbar. Die typische Lösung dieses Problems ist, ein Anwendungssoftwareprogramm zu schreiben, das auf dem Personalcomputer läuft und die notwendige Datenmanipulation zum Transformieren der Daten in ein Format ausführt, das mit anderen auf dem Personalcomputer laufenden Anwendungen verwendbar ist.
  • Was notwendig ist, ist eine Filterungs- bzw. Filtereinrichtung, die zum Manipulieren der Daten von einer Konsumvorrichtung in ein von einem Personalcomputer oder einer anderen Vorrichtung benötigtes Format verwendet werden kann. Was außerdem notwendig ist, ist eine Filterungs- bzw. Filtereinrichtung die auch die Daten von einer Personalcomputervorrichtung in ein von einer Konsumelektronikvorrichtung benötigtes Format manipulieren kann.
  • Die europäische Patentanmeldung EP 0860 823 A1 , die mit der in japanischer Sprache veröffentlichten internationalen Patentanmeldung WO 98/02881 korrespondiert, offenbart ein Gerät, das eine digitale Schnittstelle gemäß IEEE 1394 (D-Schnittstelle) aufweist, und ein Netzwerk- bzw. Netzsystem, das ein Kopierschutzgerät und ein Kopierschutzverfahren anwendet. Das Kopierschutzgerät ist so ausgebildet, dass es Ko pieerzeugungs-Managementinformation unter Verwendung einer Kopiekennzeichen-Detektionsschaltung detektiert. Die Kopieerzeugungsinformation wird in einen CIP-Teil eines Kopfteils bzw. Headers eines IEEE 1394-Pakets zur Übertragung eingesetzt. Eine Ausgabeverarbeitungsschaltung wandelt Eingabedaten in das D-Schnittstellenformat um.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Medienspeichervorrichtung enthält ein eingebettetes Filter zum Manipulieren eines universellen Taktes auf der Basis von Datenströmen, wenn sie in die Medienspeichervorrichtung geschrieben oder von dieser gelesen werden. Die Medienspeichervorrichtung manipuliert auch Datenströme, die nicht in die Medienspeichervorrichtung geschrieben oder von dieser gelesen werden. Vorzugsweise ist das eingebettete Filter in der Medienspeichervorrichtung ein isochroner Datenaustauschkanal bzw. isochrones Datenfilter bzw. Datenrohr bzw. eine isochrone Datenpipe, der bzw. das bzw. die programmierte Instruktionen von einem externen Kontroller empfängt und Datenströme entsprechend den programmierten Instruktionen in Realzeit, koordiniert mit dem universellen Takt, manipuliert. Alternativ dazu enthält die isochrone Datenpipe feste Firmware zur Ausführung der geeigneten bzw. passenden Manipulationen. Die Medienspeichervorrichtung ist auch vorzugsweise an eine IEEE 1394-1995-Seriellbusstruktur gekoppelt. Wenn Datenströme von der Medienspeichervorrichtung während einer Schreiboperation empfangen werden, können diese Datenströme vom eingebetteten Filter in ein anderes Format manipuliert werden, bevor sie auf den Medien in der Medienspeichervorrichtung gespeichert werden. Wenn Datenströme von der Medienspeichervorrichtung während einer Leseoperation übertragen werden, können diese Datenströme vom eingebetteten Filter in ein anderes Format manipuliert werden, bevor sie auf die IEEE 1394-1995-Seriellbusstruktur übertragen werden. In beiden Fällen kann der universelle Takt zum Synchronisieren der Datenströme verwendet werden. Die Medienspeichervorrichtung benutzt auch das eingebettete Filter zum Manipulieren von Datenströmen, die auf der IEEE 1394-1995-Seriellbusstruktur zwischen zwei anderen Vorrichtungen übertragen werden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 stellt einen vom IEEE 1394-1995-Standard definierten Protokollstapel dar.
  • 2 stellt ein Blockschaltbild einer Medienspeichervorrichtung des Standes der Technik dar.
  • 3 stellt ein Blockschaltbild einer Medienspeichervorrichtung gemäß der vorliegenden Erfindung dar.
  • 4 stellt eine Registerdatei in der isochronen Datenpipe dar.
  • 5 stellt eine Registerdatei im isochronen Datenpipesequenzer dar.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Eine Medienspeichervorrichtung nach der vorliegenden Erfindung enthält ein eingebettetes Datenfilter zur Filterung von Daten, wenn sie entweder in die Medienspeichervorrichtung geschrieben oder von der Medienspeichervorrichtung gelesen werden. Vorzugsweise ist dieses eingebettete Datenfilter eine isochrone Datenpipe, die programmierbar ist und Datenströme und den universellen Takt in das richtige Format manipuliert. Die isochrone Datenpipe wird vorzugsweise für die passenden Manipulationen von einem externen Kontroller programmiert, der die Medienspeichervorrichtung steuert bzw. kontrolliert. Alternativ dazu enthält die isochrone Datenpipe feste Firmware zur Ausführung der passenden Manipulationen.
  • Die Medienspeichervorrichtung mit dem eingebetteten Filter nach der vorliegenden Erfindung zieht Vorteil aus der zentralen Rolle der Medienspeichervorrichtung bei der Kommunikation von Daten zwischen Konsumelektronikvorrichtungen und einem Personalcomputer in einem IEEE 1394-1995-Seriellbusnetz. Das eingebettete Filter in der Medienspeichervorrichtung fügt die Fähigkeit hinzu, Daten innerhalb der Medienspeichervorrichtung zu filtern, wenn sie gerade in die Medienspeichervorrichtung geschrieben oder von der Medienspei chervorrichtung gelesen werden. Die Medienspeichervorrichtung mit dem eingebetteten Filter kann auch zum Filtern eines Datenstroms verwendet werden, selbst wenn die Daten gerade nicht in die Medienspeichervorrichtung geschrieben oder von dieser gelesen werden.
  • In der Medienspeichervorrichtung manipuliert das eingebettete Filter einen Datenstrom in ein für die Vorrichtung, zu der die Daten unter der Steuerung der externen Steuerungsvorrichtung geleitet werden, richtiges Format. Als Beispiel manipuliert beim Speichern von Kommunikationen von einer Konsumvorrichtung, die von einem Personalcomputer zu benutzen sind, das eingebettete Filter in der Medienspeichervorrichtung diese Kommunikationen vom empfangenen Format in ein für den Personalcomputer richtiges Format. Wenn die Kommunikationen vom Personalcomputer von der Medienspeichervorrichtung gelesen werden, sind die Kommunikationen dann in dem für den Personalcomputer richtigen Format. Der Personalcomputer muss nicht irgendeine weitere Manipulation der Kommunikationen ausführen, um sie wie es notwendig ist zu verwenden. Wenn notwendig, können die Kommunikationen vom eingebetteten Filter auch ein zweites Mal manipuliert werden, wenn sie vom Personalcomputer von der Medienspeichervorrichtung gelesen werden. In der gleichen Weise können die Kommunikationen vom Personalcomputer zu einer Konsumvorrichtung vom eingebetteten Filter in das richtige Format für die Konsumvorrichtung manipuliert werden.
  • Eine Medienspeichervorrichtung gemäß der vorliegenden Erfindung ist in der 3 dargestellt. Die Medienspeichervorrichtung 44 enthält eine IEEE 1394-1995-Seriellbusschnittstellenschaltung 32 zum Senden von Kommunikationen zu und empfangen von Kommunikationen von anderen an das IEEE 1394-1995-Seriellbusnetz gekoppelten Vorrichtungen. Die Schnittstellenschaltung 32 ist an ein eingebettetes Filter 42 gekoppelt. Vorzugsweise ist das eingebettete Filter 42 eine isochrone Datenpipe. Das eingebettete Filter 42 ist an einen Pufferkontroller 34 gekoppelt. Der Pufferkontroller 34 ist auch an einen RAM 36 und an eine Lese/Schreib-Kanalschaltung 38 gekoppelt. Die Lese/Schreib-Kanalschaltung 38 ist an Medien 40 gekoppelt, auf denen Daten in der Medienspeichervorrichtung 44 gespeichert sind. Die Lese/Schreib-Kanalschaltung 38 steuert die Steuerungsoperationen auf den Medien 40, darunter das Lesen von Daten von den Medien 40 und Schreiben von Daten auf die Medien 40. Ein externer Kontroller 46 ist an das eingebettete Filter 42 zur Steuerung der Manipulation von Datenströmen und an den Pufferkontroller 34 zur Steuerung von Lese- und Schreiboperationen bei den Medien 40 gekoppelt.
  • Während einer Schreiboperation in die Medienspeichervorrichtung 44 empfängt die IEEE 1394-1995-Seriellbusschnittstellenschaltung 32 einen Datenstrom vom IEEE 1394-1995-Seriellbus. Die Schnittstellenschaltung 32 leitet dann diese Daten zum eingebetteten Filter 42 weiter. Das eingebettete Filter 42 modifiziert die Daten Byte um Byte, wie es von den programmierten Instruktionen aus dem externen Kontroller 46 spezifiziert wird, und leitet die modifizierten Daten zum Pufferkontroller 34 weiter. Der Pufferkontroller 34 speichert dann diese modifizierten Daten zeitweilig in einem Puffer im RAM 36. Wenn die Lese/Schreib-Kanalschaltung 38 verfügbar ist, liest der Pufferkontroller 34 die Daten vom RAM 36 und leitet sie zur Lese/Schreib-Kanalschaltung 38 weiter. Die Lese/Schreib-Kanalschaltung 38 schreibt dann die Daten auf die Medien 40. Da das eingebettete Filter 42 programmierbar ist, können die Daten während einer Schreiboperation, während einer Leseoperation oder während sowohl Schreib- als auch Leseoperationen manipuliert werden.
  • Während einer Leseoperation von der Medienspeichervorrichtung 44 wird von der Lese/Schreib-Kanalschaltung 38 ein Datenstrom von den Medien 40 gelesen. Dieser Datenstrom wird von der Lese/Schreib-Kanalschaltung 38 zum Pufferkontroller 34 weitergeleitet. Der Pufferkontroller 34 steuert dann diese Daten zeitweilig in einem Zirkularpuffer im RAM 36. Wenn die IEEE 1394-1995-Seriellbusschnittstellenschaltung 32 verfügbar ist, liest der Pufferkontroller 34 die Daten vom RAM 36 und leitet sie zum eingebetteten Filter 42 weiter. Wenn das ein gebettete Filter 42 programmiert wird bzw. ist, um den Datenstrom während einer Leseoperation zu manipulieren, wird diese Manipulation ausgeführt, und die Daten werden zur IEEE 1394-1995-Seriellbusschnittstelle 32 weitergeleitet. Die IEEE 1394-1995-Seriellbusschnittstelle 32 formatiert dann die Daten entsprechend den Erfordernissen des IEEE 1394-1995-Standards und sendet diese Daten über den IEEE 1394-1995-Seriellbus zu der oder den passenden Vorrichtungen.
  • Das eingebettete Filter 42 in der Medienspeichervorrichtung 44 nach der vorliegenden Erfindung kann zum Manipulieren eines auf die Medien 40 geschriebenen oder von diesen gelesenen Datenstroms verwendet werden. Das eingebettete Filter 42 kann auch zum Manipulieren eines zwischen zwei Vorrichtungen auf den IEEE 1394-1995-Seriellbus übertragenen Datenstroms verwendet werden, der nicht auf die Medien 40 geschrieben oder von diesen gelesen wird. Während einer solchen Operation wird der Datenstrom von der Schnittstellenschaltung 32 empfangen und zum eingebetteten Filter 42 weitergeleitet. Das eingebettete Filter 42 manipuliert dann diese Daten entsprechend einer programmierten Funktion und leitet die Daten zum Pufferkontroller 34 weiter. Der Pufferkontroller 34 speichert dann die Daten zeitweilig in einem Zirkularpuffer im RAM 36. Der Pufferkontroller 34 liest dann diese Daten vom RAM 36 und leitet sie zum eingebetteten Filter 42 weiter. Wenn das eingebettete Filter 42 auch programmiert ist, um den Datenstrom zu manipulieren, bevor er rückübertragen wird, wird diese Manipulation ausgeführt, und die Daten werden zur IEEE 1394-1995-Seriellbusschnittstellenschaltung 32 weitergeleitet. Die Schnittstellenschaltung 32 überträgt dann die manipulierten Daten auf die IEEE 1394-1995-Seriellbusstruktur neu.
  • Das eingebettete Filter 42 wird vorzugsweise vom externen Kontroller 46 programmiert, um von der Medienspeichervorrichtung 44 empfangene oder zu dieser zu übertragende Datenströme zu manipulieren. Alternativ dazu enthält das eingebettete Filter 42 feste Firmware zur Ausführung der passenden Manipulationen. Das eingebettete Filter 42 kann zum Manipulieren von Datenströmen auf dem Weg in die Medienspeichervor richtung und auf dem Weg aus der Medienspeichervorrichtung programmiert werden. Als ein Beispiel der Verwendung des eingebetteten Filters in einem IEEE 1394-1995-Seriellbusnetz können Datenströme, die von irgendeiner Vorrichtung oder dem Netz in die Medienspeichervorrichtung geschrieben werden, alle in ein erstes Format formatiert werden, wenn sie auf den Medien 40 gespeichert werden. Wenn dann Daten von den Medien 40 zur Übertragung zu einer speziellen Vorrichtung gelesen werden, können diese Daten vom eingebetteten Filter 42 in ein geeignetes Format für die spezielle Vorrichtung manipuliert werden. Zusätzlich kann das eingebettete Filter 42 in speziellen Fällen zum Manipulieren von Datenströmen von einer ersten Vorrichtung zu einer zweiten Vorrichtung auf der IEEE 1394-1995-Seriellbusstruktur verwendet werden.
  • Wie oben beschrieben ist das eingebettete Filter 42 vorzugsweise eine isochrone Datenpipe. Eine bevorzugte Ausführungsform der isochronen Datenpipe 42 ist in der US-Patentanmeldung, Seriennummer 08/612322, angemeldet am 7. März 1996 und betitelt mit "ISOCHRONOUS DATA PIPE FOR MANAGING AND MANIPULATING A HIGH SPEED STREAM OF ISOCHRONOUS DATA FLOWING BETWEEN AN APPLICATION AND A BUS STRUCTURE", gelehrt. Die isochrone Datenpipe 42 ist programmierbar und führt eine Serie von Instruktionen an einem Datenstrom aus, um Manipulationen an den Daten auszuführen, wie es zum Setzen der Daten in das passende Format erforderlich ist. Die isochrone Datenpipe 42 kann zum Manipulieren sowohl asynchroner als auch isochroner Daten programmiert werden.
  • Für jedes übertragene Datenquadlett führt die isochrone Datenpipe 42 eine vorbestimmte Zahl Instruktionen zum Manipulieren der Daten wie es notwendig ist vom empfangenen Format in das empfangende Format aus. Beim Umwandeln von Daten arbeitet die isochrone Datenpipe 42 auf jedem Datenquadlett unabhängig. Die isochrone Datenpipe 42 führt eine programmierbare Zahl von Instruktionen auf jedem Quadlett aus, um die Daten wie notwendig zu manipulieren. Die isochrone Datenpipe 42 enthält auch eine unabhängige dedizierte Registerdatei 48.
  • Die isochrone Datenpipe 42 wird von einer wie in 4 dargestellten unabhängigen, dedizierten Registerdatei gesteuert. Die Registerdatei wird von einem externen Kontroller 46 programmiert und zum Manipulieren der durch die isochrone Datenpipe 42 fließenden Daten wie es notwendig ist manipuliert. Die Registerdatei 180 enthält vorzugsweise 120 Datenbytes, die hexadezimal von 0 bis 77 nummeriert sind. Bei der 4 ist die Registerdatei 180 in einem Tabellenformat mit 30 horizontalen Reihen bzw. Zeilen, deren jede vier Datenbytes enthält, dargestellt. In der 4 ist eine Versatzspalte 182 enthalten, um den Versatz des beginnenden Bytes in jeder Zeile von der Adresse des Beginns der Registerdatei 180 zu zeigen. Es ist auch eine Lese/Schreib-Spalte 184 enthalten, um zu zeigen, ob die Felder in jeder Zeile entweder ausgelesen und beschrieben oder nur ausgelesen werden können.
  • Das Zykluszeit-Feld cycle_time ist ein Zwanzig-Bit-Feld in Bytes 0–2 der Registerdatei 180. Das Zykluszeit-Feld kann ausgelesen und beschrieben werden. Wenn das nachstehend diskutierte Steuerereignis-Feld den Zykluszahlwert enthält, hält das Zykluszeit-Feld die Zykluszeit, bei der wie nachstehend beschrieben das Kanalmasken-Feld vom Hängendkanalmasken-Feld geladen wird.
  • Das Steuer-Feld ist ein Zweiunddreißig-Bit-Feld in den Bytes 4–7 der Registerdatei 180. Das Steuer-Feld kann ausgelesen und beschrieben werden. Das Steuer-Feld enthält ein Ereignis-Feld, ein Ausgabefreigabe-Feld, ein Stopp-bei-Fehler-Feld, ein Übertragungsfreigabe-Feld und ein Spring- bzw. Geh-Feld. Das Ereignis-Feld ist ein Vier-Bit-Feld in den Bits 28–31 des Steuer-Registers. Der Wert im Ereignis-Feld definiert das Busereignis für die isochrone Datenpipe 42 zum Verwenden als ein Auslöser bzw. Trigger. Wenn dieses Busereignis auftritt, transferiert die isochrone Datenpipe 42 den im Hängendkanalmasken-Register pending_ch_mask gespeicherten Wert zum Laufendkanalmasken-Register_ch_mask. Das Ereignis-Feld wird für die möglichen Busereignisse wie in der nachstehenden Tabelle I dargestellt codiert.
  • TABELLE I
    Figure 00130001
  • Wenn deshalb von einem externen Kontroller ein Wert gleich 0 in das Ereignis-Feld geschrieben wird, transferiert die isochrone Datenpipe unmittelbar den Wert im Kanälehängend-Register zum Kanalmasken-Register. Wenn das Ereignis-Feld einen Wert gleich 1 hält, transferiert die isochrone Datenpipe den Wert im Kanälehängend-Register in der wie oben beschriebenen Zykluszeit zum Kanalmasken-Register.
  • Das Ausgabefreigabe-Feld ist ein Vier-Bit-Feld in den Bits 4–7 des Steuer-Feldes. Wenn irgendwelche der Bits im Ausgabefreigabe-Feld auf einen logisch hohen Pegel gesetzt sind, stellt der korrespondierende DMR-Kanal sicher, dass der passenden Pfad voll gehalten wird.
  • Das Stopp-bei-Fehler-Feld ist ein Ein-Bit-Feld in Bit 3 des Steuer-Feldes. Wenn das Stopp-bei-Fehler-Bit auf einen logisch hohen Wert gesetzt ist, stoppt die isochrone Datenpipe 42 die laufende Operation beim entgegentretenden ersten Fehler durch Setzen des Wertes im Kanalmasken-Register auf einen logisch niedrigen Wert. Mögliche Fehler beim Senden von Daten enthalten einen Datenunterlauf oder ein fehlendes Zyklusstartpaket. Mögliche Fehler beim Empfang von Daten enthalten einen Datenüberlauf, ein fehlendes Zyklusstartpaket, einen Daten-CRC-Fehler, einen Fehler im Paketformat oder einen Kanalfehlfehler.
  • Das Übertragungsfreigabe-Feld ist ein Ein-Bit-Feld im Bit 1 des Steuer-Feldes. Wenn das Übertragungsfreigabe-Bit auf einen logisch hohen Wert gesetzt ist, beginnt die isochrone Datenpipe 42 die Ausführung des Ausgabesteuervorratprogramms. Wenn das Geh-Bit auf einem logisch niedrigen Wert ist oder das Ausgabesteuervorratprogramm eine Rückkehrinstruktion ausführt, wird das Übertragungsfreigabe-Bit gelöscht.
  • Das Geh-Feld ist ein Ein-Bit-Feld im Bit 0 des Steuer-Feldes. Die Anwendung setzt das Geh-Bit auf einen logisch hohen Wert, um die isochrone Datenpipe zum Beobachten eines Ereignisses freizugeben. Wenn die spezifizierte Ereignisbedingung erfüllt ist, transferiert die isochrone Datenpipe 42 die Inhalte des Hängendkanalmasken-Registers zum Laufendkanalmasken-Register.
  • Das Status-Feld ist ein Zeiunddreißig-Bit-Feld in den Bytes 8-B der Registerdatei 180. Das Status-Feld kann ausgelesen und beschrieben werden. Das Status-Feld enthält Statusinformation, die über den laufenden Zustand der isochronen Datenpipe 42 berichtet. Die Bits 0–7 des Status-Feldes korrespondieren mit den Bits 0–7 des Steuer-Feldes und enthalten ein Ausgabe-Feld, ein Stopp-bei-Fehler-Feld, ein Übertragungsfreigabe-Feld und ein aktives Feld. Der Wert dieser Felder im Status-Register zeigt den laufenden Betriebszustand der isochronen Datenpipe 42 an. Die Bits 8–27 des Status-Felds sind reserviert. Im Status-Feld ist das aktive Feld ein Ein-Bit-Feld im Bit 0 des Status-Feldes, das anzeigt, ob die isochrone Datenpipe aktiv ist oder nicht. Vorzugsweise ist, wenn das aktive Bit gleich einem logisch hohen Wert ist, die isochrone Datenpipe laufend aktiv und transferiert Daten. Wenn das aktive Bit gleich einem logisch niedrigen Pegel ist, ist die isochrone Datenpipe nicht laufend aktiv. Das Fehler-Feld ist ein Vier-Bit-Feld in den Bits 28–31 des Status-Feldes. Wenn die isochrone Datenpipe 42 aufgrund eines Fehlers den Betrieb bzw. die Operation anhält, enthält das Fehler-Feld einen den Fehlerzustand anzeigenden Wert. Das Fehler-Feld ist nur gültig, wenn das aktive Bit gleich einem logisch niedrigen Wert ist. Die möglichen Werte für das Fehler-Feld und die Fehler, mit denen sie korrespondieren, sind in der nachstehenden Tabelle II aufgelistet.
  • TABELLE II
    Figure 00150001
  • Das Hängendkanalmaskenhoch-Feld pending_ch_mask_hi ist ein Vier-Byte-Feld in den Bytes 20–23 der Registerdatei 180. Das Hängendkanalmaskenniedrig-Feld pending_ch_mask_lo ist ein Vier-Byte-Feld in den Bytes 24–27 der Registerdatei 180. Zusammen bilden die zwei Hängendkanalmasken-Felder pending_ch_mask_hi und pending_ch_mask_lo ein Acht-Byte-Feld, das die Maske isochroner Kanalnummern für die zu empfangende isochrone Datenpipe 42 enthält. Die isochrone Datenpipe 42 transferiert die Inhalte dieses Feldes zum Kanalmasken-Register, wenn das programmierte Triggerereignis auftritt. Die Bitzuordnung des Hängendkanalmasken-Feldes ist die gleiche wie die Bitzuordnung des im Kapitel 8 des IEEE 1394-1995-Standards definierten Kanäleverfügbar-Registers.
  • Das Laufendkanalmaskenhoch-Feld ch_mask_hi ist ein Vier-Byte-Feld in den Bytes 28–2 der Registerdatei 180. Das Laufendkanalmaskenniedrig-Feld ch_mask_lo ist ein Vier-Byte-Feld in den Bytes 2C–2F der Registerdatei 180. Zusammen bilden die zwei Laufendkanalmasken-Felder ch_mask_hi und ch_mask_lo ein Acht-Byte-Feld, das die laufend in Betrieb befindliche Kanalmaske enthält, wobei jedes Bit in den Laufendkanalmasken-Feldern einen isochronen Kanal repräsentiert. Das Kanalmasken-Feld wird nur vom Hängendkanalmasken-Feld geladen, wenn ein Triggerereignis auftritt. Die isochrone Datenpipe 42 ignoriert empfangene Isochronkanalnummern, für die das korrespondierende Bit im Laufendkanalmasken-Feld auf einen logisch niedrigen Wert gesetzt ist.
  • Das Steuervorratausgabe-Feld CS_output ist ein Ein-Byte-Feld im Byte 34 der Registerdatei 180. Das Steuervorratausgabe-Feld CS_output enthält die Steuervorratadresse im Steuervorratsspeicher, zu dem die isochrone Datenpipe 42 sendet, wenn Übertragung freigegeben ist. Der Steuervorratsspeicher enthält Instruktionen, die von der isochronen Datenpipe bei der Ausführung ihrer Operationen an einem Datenstrom verwendet werden.
  • Das Steuervorratzyklusstartadressen-Feld CS_addr_CS ist ein Ein-Byte-Feld im Byte 37 der Registerdatei 180. Das Steuervorratadressen-Feld CS_addr_CS enthält die Steuervorratadresse, zu der die isochrone Datenpipe abzweigt, wenn das Zyklusstartpaket empfangen wird. Das dem Steuervorratprogramm verfügbare erste Quadlett ist das erste Quadlett des Zyklusstartpakets. Die Steuervorratsadressen-Felder CS_addr_0 bis CS_addr_63 sind jeweils Ein-Byte-Felder in den Bytes 38 bis 77 der Registerdatei 180. Diese Felder enthalten den Steuervorratsadressenspeicher bzw. -vorrat, bei dem die isochrone Datenpipe beim Empfang von Daten auf dem zur Byte-Nummer des Steuervorratsadressen-Feldes passenden isochronen Kanal abzuzweigen hat. Beispielsweise enthält das Steuervorratsadressen-Feld CS_addr_10 die Adresse im Steuerspeicher bzw. Steuervorrat, bei der die isochrone Datenpipe beim Empfang von Daten auf der Isochronkanalnummer 10 abzuzweigen hat. Die isochrone Datenpipe ignoriert alle isochronen Kanäle, für die der korrespondierende Wert im Steuervorratsadressen-Feld gleich FFh ist. Nach Senden zu einer in entweder dem Steuervorratszyklusstartadressen-Feld CS_addr_CS oder einem der Steuervorratsadressen-Felder CS_addr_0 bis CS_addr_63 spezifizierten Steuervorratsadresse führt die isochrone Datenpipe von dieser Steuervorratsadresse aus, bis sie auf eine Rückkehrinstruktion trifft. Wenn die isochrone Datenpipe auf eine Rückkehrinstruktion trifft, kehrt die isochrone Datenpipe entweder zum Ruhezustand bzw. freien Zustand zurück, wenn nicht vorher eine Übertragung freigegeben war, oder sie kehrt zu der Stelle im Übertragungssteuervorratsprogramm zurück, bei dem sie vor dem Senden war.
  • Es gibt vierundsechzig potentielle isochrone Kanäle 0–63. Die Steuervorratsadressen-Felder CS_addr_0 bis CS_addr_63 korrespondieren jeweils mit einem isochronen Kanal und enthalten die Adresse im Steuervorratsspeicher, bei der die Instruktionen für diesen isochronen Kanal beginnen. Wenn demgemäss die isochrone Datenpipe 42 Daten auf einem speziellen isochronen Kanal empfängt, zweigt die isochrone Datenpipe 42 zu der im korrespondierenden Steuervorratsadressen-Feld enthaltenen Adresse ab, um die Instruktionen zum Manipulieren der Daten für diesen Kanal zu erhalten. Isochrone Kanäle, für die der korrespondierende Wert im Steuervorratsadressen-Feld gleich FFh ist, werden ignoriert, da sie Kanäle sind, die mit Bits im Laufendkanalmasken-Register korrespondieren, die gleich 0 sind.
  • Ein Strom aus isochronen Daten wird von einem oder mehreren isochronen Kanäle gebildet. Die isochrone Datenpipe 42 empfängt isochrone Kanäle, für welche das korrespondierende Bit im Laufendkanalmasken-Feld auf einen logisch hohen Wert gesetzt ist. Die isochrone Datenpipe 42 überträgt isochrone Daten entsprechend dem bei der Steuervorratsadresse, die durch den Wert im Steuervorratsausgabe-Register CS_output angezeigt wird, beginnenden Steuervorratsprogramm.
  • Die isochrone Datenpipe 42 ist in Wirklichkeit ein programmierbarer Sequenzer, der um Ausführen von Operationen am empfangen Datenstrom programmiert werden kann. Der isochrone Datenpipesequenzer enthält eine wie in 5 dargestellte Registerdatei. In der Registerdatei 190 ist das Unmittelbarwert-Register IMM ein Vierunddreißig-Bit-Register mit einem Registercode von „0", das nur ein Quellen-Register sein kann. Das Unmittelbarwert-Register IMM spezifiziert, dass das Vierunddreißig-Bit-Unmittelbar-Feld der Instruktion die Quellendaten für die gegebene Operation enthält.
  • Das Buseingabe-Register BUS_IN ist ein Zweiunddreißig-Bit-Register mit einem Registercode von „1", das nur ein Quellen-Register sein kann. Ein Zugriff auf das Buseingabe-Register BUS_IN ist eine Quelle eines Operationstakte-Eins-Quadletts von Daten durch die isochrone Datenpipe 42. Nach folgende Zugriffe auf das Buseingabe-Register BUS_IN greifen auf nachfolgende Datenquadletts im eingegebenen Datenstrom zu.
  • Das Busausgabe-Register BUS_OUT ist ein Vierunddreißig-Bit-Register mit einem Registercode von „2", das nur ein Bestimmungs-Register sein kann. Ein Zugriff auf das Busausgabe-Register BUS_OUT ist eine Bestimmung eines Operationstakte-Eins-Quadletts von Daten durch die isochrone Datenpipe 42. Nachfolgende Zugriffe auf das Busausgabe-Register BUS_OUT takten nachfolgende Datenquadletts im ausgegebenen Datenstrom.
  • Die Daten-Register D0–D7 sind jeweils Vierunddreißig-Bit-Register mit einem Registercode von „4", „5", „6", „7", „8", „9", „A" bzw. „B", die entweder ein Quellen- oder Bestimmungs-Register sein können. Die Daten-Register D0–D7 können als das Quellen- oder Bestimmungs-Register für jede Operation verwendet werden.
  • Die Datenschnittstellen-Register DATA_0-DATA_3 sind jeweils Zweiunddreißig-Bit-Register mit einem Registercode von „10", „11", „12" bzw. „13", die entweder ein Quellen- oder Bestimmungs-Register sein können. Jedes der Datenschnittstellen-Register DATA_0-DATA_3 greift auf einen anderen DMA-Kanal zu. Die Verwendung dieser Register muss mit der Programmierung des Ausgabefreigabe-Feldes DMA_out_en konsistent sein.
  • Die isochrone Datenpipe 42 implementiert einen aus einer linearen Liste von acht Ein-Byte-Registern gebildeten Stapel. Auf die Stapel-Register wird nur während eines Abzweigs zu einer Subroutineninstruktion und einer Rückkehrinstruktion zugegriffen. Bei der bevorzugten Ausführungsform der vorliegenden Erfindung weisen die Stapel-Register S0–S7 je eine jeweilige Registeradresse 0–7 auf. Alternativ dazu variiert die Zahl Stapel-Register tatsächlich von der spezifischen Implementation abhängig. Beim Laden des Steuervorratsprogramms wird der Stapelzeiger automatisch auf den Wert 0 initialisiert, wodurch er auf das korrespondierende Stapel-Register 50 zeigt.
  • Wenn die isochrone Datenpipe 42 zu einer Subroutine abzweigt, speichert die isochrone Datenpipe 42 die Adresse der nächsten Steuervorratsoperation im laufenden Stapel-Register, inkrementiert den Wert des Stapelzeigers und zweigt dann zu der im Niedrigordnungsbyte des Quellen-Feldes enthaltenen Steuervorratsinstruktion ab. Wenn die isochrone Datenpipe 42 eine Rückkehrinstruktion ausführt, dekrementiert sie den Stapelzeiger und zweigt dann zu der im laufenden Stapel-Register enthaltenen Steuervorratsinstruktion ab. Wird der Stapelzeiger dekrementiert, wenn er einen Wert gleich 0 enthält, bleibt der Wert des Stapelzeigers bei 0, und die isochrone Datenpipe 42 hält die Operation, bis sie ein isochrones Datenpaket oder ein Zyklusstartpaket empfängt. Wenn die isochrone Datenpipe ein Ausgabesteuervorratsprogramm ausführt und ein Zyklusstartpaket oder ein freigegebener isochroner Kanal empfangen wird, unterbricht die isochrone Datenpipe 42 die Ausführung des Ausgabesteuervorratsprogramms, sichert die Adresse der laufenden Instruktion im Stapel, dekrementiert den Stapelzeiger und sendet dann zur richtigen Stelle, um das empfangene Paket zu behandeln.
  • Jede isochrone Steuervorratsinstruktion enthält ein Operationscode-Feld bzw. OpCode-Feld, ein Quellen-Feld, ein Bestimmungs-Feld, ein Unmittelbarwert-Feld, ein Unmittelbar-Feld und ein Reserviert-Feld. Das OpCode-Feld ist ein Sechs-Bit-Feld, das eine auszuführende Operation beschreibt. Das Quellen-Feld src ist ein Vier-Bit-Feld, das ein Register oder einen Unmittelbarwert spezifiziert, das bzw. der den Quellenwert der spezifizierten Operation enthält. Das Bestimmungs-Feld dest ist ein Vier-Bit-Feld, das ein Bestimmungs-Register für die spezifizierte Operation spezifiziert. Das Unmittelbarwert-Feld imm_val ist ein Ein-Bit-Feld, das, wenn auf einen logisch hohen Wert gesetzt, spezifiziert, dass einer der Operanden im Unmittelbar-Feld enthalten ist. Das Unmittelbar-Feld imm ist ein Vierunddreißig-Bit-Feld, das einen Unmittelbarwert zur Verwendung für eine Operation spezifiziert, wenn das Unmittelbarwert-Feld imm_val auf einen logisch hohen Wert gesetzt ist. Bei der bevorzugten Ausführungsform der vorlie genden Erfindung enthält das Reserviert-Feld dreizehn Bits, die zur Verwendung bei alternativen Ausführungsformen der isochronen Datenpipe 20 reserviert sind.
  • Die Operationscodes, die durch die bevorzugte Ausführungsform des isochronen Datenpipesequenzers während einer Manipulation eines Datenstroms implementiert werden und im OpCode-Feld enthalten sein können, sind in der nachstehenden Tabelle III aufgelistet. Die isochrone Datenpipe 42 speichert die Resultate für jede dieser Operationen in irgendeinem der in 5 dargestellten Register, das eine Bestimmung sein kann, einschließlich der Daten-Register D0–D7 und irgendeines DMA-Kanals, der als eine Bestimmung konfiguriert ist.
  • TABELLE III
    Figure 00200001
  • Figure 00210001
  • Für die meisten der in Tabelle III aufgelisteten Operationen sind zwei mnemotechnische Instruktionen enthalten. Die ein „I" enthaltende mnemotechnische Instruktion spezifiziert die Operation, die unter Verwendung des unmittelbaren Wertes durchzuführen ist. Die mnemotechnische Instruktion, die kein „I" enthält, spezifizierte Operation, die zwischen den Werten in den Quellen- und Bestimmungs-Registern einzuleiten sind.
  • Beim Ausführen einer MOVE-Operation wird der Wert in dem im Quellen-Feld src spezifierten Register zu dem im Bestimmungs-Feld dest spezifizierten Register bewegt. Wenn das im Quellen-Feld sre spezifizierte Register ein Vierunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Zweiunddreißig-Bit-Register ist, gehen die zwei Bits hoher Ordnung verloren. Wenn das im Quellen-Feld src spezifizierte Register ein zweiunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Vierunddreißig-Bit-Register ist, werden die zwei Bits hoher Ordnung auf einen logisch niedrigen Pegel gesetzt.
  • Beim Ausführen einer MOVE-Multiple-Operation wird eine von einem Zählwert spezifizierte Zahl Datenquadletts von dem im Quellen-Feld src spezifizierten Register zu dem im Bestimmungs-Feld dest spezifizierten Register bewegt. Der Zählwert wird in dem im Unmittelbar-Feld der Instruktion bezeichneten Register gespeichert. Vorzugsweise ist für die MOVE-Multiple-Operation das im Quellen-Feld src spezifizierte Register eines der Datenschnittstellen-Register DATA_0-DATA_3, das auf einen DMA-Kanal zugreift, oder das Buseingabe-Register BUS_IN. Vorzugsweise ist für diese Operation das im Bestimmungs-Feld dest spezifizierte Register eines der Datenschnittstellen-Register DATA_0-DATA_3, das auf einen DMA-Kanal zugreift, oder das Busausgabe-Register BUS_OUT.
  • Während einer AND-Operation wird eine logische UND-Operation an den Werten im Quellen-Feld src und dem Bestimmungs-Feld dest ausgeführt, und das Resultat wird in dem im Bestimmungs-Feld dest spezifizierten Register gespeichert. Die ANDI-Form dieser Instruktion verwendet den Wert im Unmittelbar-Feld anstelle des Wertes im Bestimmungs-Feld als einen der Operanden und speichert das Resultat in dem im Bestimmungs-Feld dest spezifizierten Register. Wenn das im Quellen-Feld src spezifizierte Register ein Vierunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Zweiunddreißig-Bit-Register ist, gehen die zwei Bits hoher Ordnung verloren. Wenn das im Quellen-Feld src spezifizierte Register ein Zweiunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Vierunddreißig-Bit-Register ist, dann werden die zwei Bits hoher Ordnung beide auf einen logisch niedrigen Wert gesetzt. Wenn die im Quellen-Feld src spezifizierten Register und das im Bestimmungs-Feld dest spezifizierte Register beide Vierund dreißig-Bit-Register sind, wird die AND-Operation an allen vierunddreißig Bits ausgeführt.
  • Während einer OR-Operation wird eine logische ODER-Operation an den Werten in den durch das Quellen-Feld src und das Bestimmungs-Feld dest spezifizierten Registern ausgeführt, und das Resultat wird in dem im Bestimmungs-Feld dest spezifizierten Register gespeichert. Die ORI-Form dieser Instruktion verwendet den Wert im Unmittelbar-Feld anstelle des Wertes im Bestimmungs-Feld als einen der Operanden und speichert das Resultat in dem im Bestimmungs-Feld dest spezifizierten Register. Wenn das im Quellen-Feld src spezifizierte Register ein Vierunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Zweiunddreißig-Bit-Register ist, gehen die zwei Bits hoher Ordnung verloren. Wenn das im Quellen-Feld src spezifizierte Register ein Zweiunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Vierunddreißig-Bit-Register ist, werden die zwei Bits hoher Ordnung beide auf einen logisch niedrigen Wert gesetzt. Wenn das im Quellen-Feld src spezifizierte Register und das im Bestimmungs-Feld dest spezifizierte Register beide Vierunddreißig-Bit-Register sind, wird die OR-Operation an allen vierunddreißig Bits ausgeführt.
  • Beim Ausführen einer SHIFT-Operation wird der Wert im Bestimmungs-Register dest um eine vom Wert im Quellen-Register src spezifizierte Zahl Bits verschoben, und das Resultat wird in dem im Bestimmungs-Feld dest spezifizierten Register gespeichert. Ein positiver Verschiebewert verschiebt den Wert im Bestimmungs-Register nach rechts zum niedrigstwertigen Bit, und zum Auffüllen der verschobenen Bits auf der linken Seite werden beginnend mit dem höchstwertigen Bit Nullen verwendet. Ein negativer Verschiebewert verschiebt den Wert im Bestimmungs-Register nach links zum höchstwertigen Bit, und zum Auffüllen der verschobenen Bits auf der rechten Seite werden beginnend mit dem niedrigstwertigen Bit Nullen verwendet. Die SHIFTI-Form der Instruktion verschiebt den Wert im Quellen-Register um die im Unmittelbar-Feld spezifizierte Zahl Bits und speichert das Resultat in dem im Bestimmungs-Feld spezifizierten Register. Wenn das im Quellen-Feld src spezifizierte Register ein Vierunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Zweiunddreißig-Bit-Register ist, gehen die zwei Bits hoher Ordnung verloren. Wenn das im Quellen-Feld src spezifizierte Register ein Zweiunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Vierunddreißig-Bit-Register ist, werden die zwei Bits hoher Ordnung beide auf einen logisch niedrigen Wert gesetzt. Wenn das im Quellen-Feld src spezifizierte Register und das im Bestimmungs-Feld dest spezifizierte Register beide Vierunddreißig-Bit-Register sind, wird die Verschiebeoperation an nur den Zweiunddreißig Bits niedriger Ordnung ausgeführt.
  • Beim Ausführen CMP-Operation wird der Wert im Quellen-Register src vom Wert im Bestimmungs-Feld dest subtrahiert. Wenn das Resultat der CMP-Operation gleich Null ist, wird das Z-Bit auf einen logisch hohen Wert gesetzt. Wenn das Resultat der CMP-Operation nicht gleich Null ist, wird das Z-Bit auf einen logisch niedrigen Wert gesetzt. Die Resultate der CMP-Operation werden nicht irgendwo gespeichert. Die CMP-Form der Instruktion subtrahiert den unmittelbaren Wert vom Wert im Quellen-Register src und setzt das wie oben spezifizierte Z-Bit entsprechend dem Resultat. Diese Instruktion speichert das Resultat der Operation ebenfalls nicht.
  • Beim Ausführen einer ADD-Operation wird der Wert im Quellen-Register src zum Wert im Bestimmungs-Register dest addiert, und das Resultat wird im Bestimmungs-Register dest gespeichert. Die ADDI-Form dieser Instruktion addiert den Wert im Quellen-Register src zum unmittelbaren Wert und speichert das Resultat im Bestimmungs-Register dest. Wenn das im Quellen-Feld src spezifizierte Register ein Vierunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Zweiunddreißig-Bit-Register ist, gehen die zwei Bits hoher Ordnung verloren. Wenn das im Quellen-Feld src spezifizierte Register ein Zweiunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Vierunddreißig-Bit-Register ist, werden die zwei Bits hoher Ordnung beide auf einen logisch niedrigen Wert gesetzt. Wenn das im Quellen-Feld src spezifizierte Register und das im Bestimmungs-Feld dest spezifizierte Register beide Vierunddreißig-Bit-Register sind, wird die ADD-Operation an nur den zweiunddreißig Bits niedriger Ordnung ausgeführt.
  • Beim Ausführen einer SUB-Operation wird der Wert im Bestimmungs-Register dest vom Wert im Quellen-Register src subtrahiert, und das Resultat wird im Bestimmungs-Register dest gespeichert. Die SUBI-Form dieser Instruktion subtrahiert den unmittelbaren Wert vom Wert im Quellen-Register, und das Resultat wird im Bestimmungs-Register dest gespeichert. Wenn das im Quellen-Feld src spezifizierte Register ein Vierunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Zweiunddreißig-Bit-Register ist, gehen die zwei Bits hoher Ordnung verloren. Wenn das im Quellen-Feld src spezifizierte Register ein Zweiunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Vierunddreißig-Bit-Register ist, werden die zwei Bits hoher Ordnung beide auf einen logisch niedrigen Wert gesetzt. Wenn das im Quellen-Feld src spezifizierte Register und das im Bestimmungs-Feld dest spezifizierte Register beide Vierunddreißig-Bit-Register sind, wird die SUB-Operation an nur den zweiunddreißig Bits niedriger Ordnung ausgeführt.
  • Beim Ausführen einer MULT-Operation wird der Wert im Quellen-Register src mit dem Wert im Bestimmungs-Register dest multipliziert, und das Resultat wird im Bestimmungs-Register dest gespeichert. Die MULTI-Form dieser Instruktion multipliziert den unmittelbaren Wert mit dem Wert im Quellen-Register src, und das Resultat wird Bestimmungs-Register dest gespeichert. Wenn das im Quellen-Feld src spezifizierte Register ein Vierunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Zweiunddreißig-Bit-Register ist, gehen die zwei Bits hoher Ordnung verloren. Wenn das im Quellen-Feld src spezifizierte Register ein Zweiunddreißig-Bit-Register ist und das im Bestimmungs-Feld dest spezifizierte Register ein Vierunddreißig-Bit-Register ist, werden die zwei Bits hoher Ordnung beide auf einen logisch niedrigen Wert gesetzt. Wenn das im Quellen-Feld src spezifizierte Register und das im Bestimmungs-Feld dest spezifizierte Register beide Vierunddreißig-Bit-Register sind, wird die MULT-Operation an nur den zweiunddreißig Bits niedriger Ordnung ausgeführt.
  • Beim Ausführen einer BRANCH-Operation zweigt die isochrone Datenpipe 42 zu der im Byte niedriger Ordnung des Quellen-Feldes src enthaltenen Steuervorratsadresse ab. Das Quellen-Feld src kann ein Register oder einen unmittelbaren Wert spezifizieren.
  • Beim Ausführen einer BRANCH ON ZERO-Operation zweigt die isochrone Datenpipe 42 zu der im Byte niedriger Ordnung des Quellen-Feldes src enthaltenen Steuervorratsadresse ab, wenn das Resultat der letzten Arithmetik- oder Bewegungssteuervorratsinstruktion gleich null war. Das Quellen-Feld src kann ein Register oder einen unmittelbaren Wert spezifizieren.
  • Beim Ausführen einer BRANCH ON NOT ZERO-Operation zweigt die isochrone Datenpipe 42 zu der im Byte niedriger Ordnung des Quellen-Feldes src enthaltenen Steuervorratsadresse ab, wenn das Resultat der letzten Arithmetik- oder Bewegungssteuervorratsinstruktion nicht gleich Null war. Das Quellen-Feld kann ein Register oder einen unmittelbaren Wert spezifizieren.
  • Beim Ausführen einer BSR-Operation wird die Adresse der nächsten Steuervorratsinstruktion in den Stapel eingespeichert und die isochrone Datenpipe 42 zweigt zu der im Byte niedriger Ordnung des Quellen-Feldes src enthaltenen Steuervorratsadresse ab. Das Quellen-Feld src kann ein Register oder einen unmittelbaren Wert spezifizieren.
  • Beim Ausführen einer BSR ON ZERO-Operation werden, wenn das Resultat der letzten Arithmetik- oder Bewegungssteuervorratsinstruktion gleich Null war, die Adressen der nächsten Steuervorratsinstruktion in den Stapel eingespeichert, und die isochrone Datenpipe 42 zweigt zu der im Byte niedriger Ordnung des Quellen-Feldes src enthaltenen Steuervorratsad resse ab. Das Quellen-Feld src kann ein Register oder einen unmittelbaren Wert spezifizieren.
  • Beim Ausführen einer BSR ON NOT ZERO-Operation werden, wenn das Resultat der letzten Arithmetik- oder Bewegungssteuervorratsinstruktion nicht gleich Null war, die Adressen der nächsten Steuervorratsinstruktion in den Stapel eingespeichert, und die isochrone Datenpipe 42 zweigt zu der im Byte niedriger Ordnung des Quellen-Feldes src enthaltenen Steuervorratsadresse ab. Das Quellen-Feld src kann ein Register oder einen unmittelbaren Wert spezifizieren.
  • Beim Ausführen einer RETURN-Operation wird die letzte Steuervorratsadresse aus dem Stapel ausgespeichert, und die isochrone Datenpipe 42 zweigt zu dieser Adresse ab.
  • Die isochrone Datenpipe 42 der bevorzugten Ausführungsform wird durch eine Vorrichtung programmiert, bevor sie Daten transferieren oder manipulieren kann. Einmal programmiert und initialisiert wird das Steuer-Register zum Ändern des Operationszustandes der isochronen Datenpipe 42 verwendet. Der laufende Operationszustand ist durch den Wert im Laufendkanalmasken-Register und die im Byte niedriger Ordnung des Status-Registers enthaltenen Information vollständig definiert.
  • Um den Zustand der isochronen Datenpipe 42 zu ändern, wird ein neuer Kanalmaskenwert in das Hängendkanalmasken-Register und ein neuer Operationszustand in das Steuer-Register programmiert. Beim gleichen Registerzugriff auf das Steuer-Register wird auch das Geh-Bit gesetzt und ein Ereignis in das Ereignis-Feld programmiert. Beim Auftreten eines programmierten Ereignisses transferiert die isochrone Datenpipe 42 den Wert im Hängendkanalmasken-Register zum Laufendkanalmasken-Register. Die isochrone Datenpipe 42 transferiert auch die Information im Byte niedriger Ordnung des Steuer-Registers in das Byte niedriger Ordnung des Status-Registers.
  • Um die Operation der isochronen Datenpipe 42 zu stoppen wird in das Hängendkanalmasken-Register ein Wert aus allen Nullen und in das Übertragungsfreigabe-Register im Steuer-Register ein logisch niedriger Wert programmiert. Wie bei je der Zustandsänderung wird auch das Geh-Bit gesetzt, und in das Ereignis-Feld des Steuer-Registers wird ein Ereignis programmiert. Wenn das Ereignis auftritt, wird der Wert im Laufendkanalmasken-Register gleich null, und das Übertragungsfreigabe-Bit im Status-Register wird auf einen logisch niedrigen Wert gezogen, wodurch die Operation der isochronen Datenpipe 42 gestoppt wird. Wenn die Operation der isochronen Datenpipe 42 gestoppt ist, wird das aktive Bit im Status-Register ebenfalls auf einen logisch niedrigen Wert gezogen.
  • Um die isochrone Datenpipe 42 zu aktivieren, wird ein Steuervorratsprogramm geladen, und die richtigen Steuervorratsverschiebungen werden in die Steuervorratsadressen-Registerdatei programmiert. Dann wird das Hängendkanalmasken-Register mit einer Bitmaske der Kanäle, welche die isochrone Datenpipe 42 zu empfangen hat, programmiert. Wenn die isochrone Datenpipe 42 keine Daten empfängt, wird der Wert im Hängendkanalmasken-Register auf null programmiert. Das Geh-Bit im Steuer-Register wird auf einen logisch hohen Wert gesetzt, um eine Zustandsänderung anzuzeigen. Das Übertragungsfreigabe-Bit im Steuer-Register wird auf einen logisch hohen Wert gesetzt, wenn die isochrone Datenpipe 42 isochrone Daten zu übertragen hat. Das Stop-bei-Fehler-Bit im Steuer-Register wird auf einen logisch hohen Wert gesetzt, wenn die isochrone Datenpipe 42 bei irgendeinem Fehler die Operation zu stoppen hat. Wenn die isochrone Datenpipe 42 isochrone Daten überträgt, werden die Ausgabefreigabe-Bits im Steuer-Register, die mit den in die Übertragung isochroner Daten involvierten DMA-Kanäle korrespondieren, auf einen logisch hohen Wert gesetzt. Das Ereignis-Feld im Steuer-Register wird auf ein Ereignis programmiert, bei dem die isochrone Datenpipe 42 den Zustand zu ändern hat.
  • Bei einer alternativen Ausführungsform der Medienspeichervorrichtung 44 der vorliegenden Erfindung enthält die isochrone Datenpipe 42 fest codierte feste Firmware zum Manipulieren von Datenpaketen. Bei dieser Ausführungsform manipuliert die isochrone Datenpipe 42 nur Kommunikationen in besondere programmierte Formate. Die isochrone Datenpipe in der bevorzugten Ausführungsform der vorliegenden Erfindung kann durch den externen Kontroller 46 programmiert und zum Manipulieren von Datenpaketen in jedes gewünschte Format konfiguriert werden. Bei der bevorzugten Ausführungsform wird der passende Umwandlungscode vom externen Kontroller 46 zur isochronen Datenpipe 42 heruntergeladen.
  • Wenn vorzugsweise der externe Kontroller 46 direkt an die Medienspeichervorrichtung 44 gekoppelt ist, so ist auch zu erkennen, dass der externe Kontroller 46 alternativ dazu durch das IEEE 1394-1995-Seriellbusnetz an die Medienspeichervorrichtung 44 gekoppelt sein kann.
  • Das eingebettete Filter 42 ist in der Medienspeichervorrichtung 44 enthalten, um Vorteil aus der Tatsache zu ziehen, dass die meisten Datenströme auf die Medienspeichervorrichtung 44 geschrieben und von dieser gelesen werden. Demgemäss können die auf die Medienspeichervorrichtung 44 geschriebenen und von dieser gelesenen Daten vom eingebetteten Filter 42 ohne Unterbrechung ihres Flusses manipuliert werden. Daten, die nicht in die Medienspeichervorrichtung geschrieben oder von dieser gelesen werden, können auch vom eingebetteten Filter 42 manipuliert werden, da sie auf der IEEE 1394-1995-Seriellbusstruktur von einer Vorrichtung zu einer anderen Vorrichtung übertragen werden. Während Datenoperationen, welche die Medienspeichervorrichtung 44 involvieren, können die Daten, wenn sie auf die Medien 40 geschrieben sind oder nachdem sie von den Medien gelesen worden sind und bevor sie auf dem IEEE 1304-1995-Seriellbus übertragen werden, manipuliert werden. Die Daten können auch manipuliert werden sowohl wenn sie auf die Medien 40 geschrieben als auch von diesen gelesen werden.
  • Die vorliegende Erfindung ist in Form von spezifischen Ausführungsformen beschrieben worden, welche Details zum Erleichtern des Verständnisses von Konstruktions- und Funktions- bzw. Betriebs- bzw, Operationsprinzipien der Erfindung enthalten, Eine solche hier gegebene Bezugnahme auf spezifische Ausführungsformen und deren Details ist nicht dazu gedacht, den Rahmen bzw. Schutzbereich der hier beigefügten An sprüche zu beschränken. Insbesondere ist für den Fachmann zu erkennen, dass, wenn die bevorzugte Ausführungsform der vorliegenden Erfindung mit einer IEEE 1394-1995-Seriellbusstruktur verwendet ist, die vorliegende Erfindung auch bei allen anderen passenden Busstrukturen implementiert werden kann.

Claims (20)

  1. Filtereinrichtung, die in eine zur Kopplung an andere Vorrichtungen zum Empfang und zur Übertragung von zu einer Bestimmungsvorrichtung geführten Datenströmen konfigurierte Vorrichtung (44) eingebettet ist, wobei die Filtereinrichtung aufweist: a) eine Steuerschaltung (48), die zum Empfang von Instruktionen von einem externen Kontroller (46) zur Umwandlung von Datenströmen von einem ersten Format in ein mit der Bestimmungsvorrichtung korrespondierendes zweites Format konfiguriert ist, und b) eine an die Steuerschaltung gekoppelte Manipulationsschaltung (42) zum Manipulieren von im ersten Format empfangenen Datenströmen in manipulierte Datenströme im zweiten Format entsprechend den Instruktionen in der Steuerschaltung.
  2. Filtereinrichtung nach Anspruch 1, wobei die Filtereinrichtung in eine Medienspeichervorrichtung (44) eingebettet ist.
  3. Filtereinrichtung nach Anspruch 2, wobei die Medienspeichervorrichtung (44) zum Koppeln an eine IEEE 1394-1995-Seriellbusstruktur konfiguriert ist.
  4. Filtereinrichtung nach Anspruch 3, wobei die Manipulationsschaltung (42) isochrone Datenströme manipuliert.
  5. Filtereinrichtung nach Anspruch 3, wobei die Manipulationsschaltung (42) sowohl isochrone als auch asynchrone Datenströme manipuliert.
  6. Filtereinrichtung nach Anspruch 5, wobei die Instruktionen in eine Firmware der Steuerschaltung (48) programmiert sind.
  7. Filtereinrichtung nach Anspruch 5, wobei die Instruktionen in einem Nurlesespeicher in der Steuerschaltung (48) gespeichert sind.
  8. Medienspeichervorrichtung, mit: a) einer Schnittstellenschaltung (32) zum Empfang eines Datenstroms und dadurch Bilden eines empfangenen Datenstroms und auch zur Übertragung eines manipulierten Datenstroms in einem mit einer Bestimmungsvorrichtung korrespondierenden Format, b) einer an die Schnittstellenschaltung (32) gekoppelten Filterungsschaltung (42) zum Manipulieren des empfangenen Datenstroms in ein vorbestimmtes Format und dadurch Bilden des manipulierten Datenstroms, und c) einer an die Filterungsschaltung (42) gekoppelten programmierbaren Steuerschaltung (48) zum Ausführen von programmierten Instruktionen, die von einem externen Kontroller (46) empfangen werden, hinsichtlich des Manipulierens des empfangenen Datenstroms in den manipulierten Datenstrom.
  9. Medienspeichervorrichtung nach Anspruch 8, außerdem mit an die Filterungsschaltung (42) gekoppelten Medien (40), auf denen ein vorbestimmter des empfangenen Datenstroms und des manipulierten Datenstroms gespeichert ist.
  10. Medienspeichervorrichtung nach Anspruch 9, außerdem mit einer an die Filterungsschaltung (42) und an die Medien (40) gekoppelten Lese/Schreib-Kanalschaltung (38) zur Steuerung von Lese- und Schreiboperationen von den und auf die Medien.
  11. Medienspeichervorrichtung nach Anspruch 8, wobei die Filterungsschaltung (42) eine isochrone Datenpipe ist, die aufweist: a) einen Steuervorratsspeicher, in welchem die programmierten Instruktionen zum Manipulieren des empfangenen Datenstroms in den manipulierten Datenstrom gespeichert sind, und b) eine an den Steuervorratsspeicher gekoppelte Manipulationsschaltung zum Erhalten der programmierten Instruktionen, Manipulieren des empfangenen Datenstroms in den manipulierten Datenstrom entsprechend den programmierten Instruktionen und Bereitstellen des manipulierten Datenstroms.
  12. Medienspeichervorrichtung nach Anspruch 11, wobei die programmierten Instruktionen in dem Steuervorratsspeicher vom externen Kontroller gespeichert werden.
  13. Medienspeichervorrichtung nach Anspruch 8, wobei die Schnittstellenschaltung (32) an die IEEE 1394-1995-Seriellbusstruktur gekoppelt ist.
  14. Medienspeichervorrichtung nach Anspruch 13, wobei, die Filterungsschaltung (42) sowohl isochrone als auch asynchrone Datenströme manipuliert.
  15. Verfahren zum Schreiben von Daten in eine Medienspeichervorrichtung (44), mit den Schritten: a) Empfangen eines in die Medienspeichervorrichtung (44) zu schreibenden empfangenen Datenpakets, b) Manipulieren des empfangenen Datenpakets entsprechend programmierten Instruktionen, die von einem externen Kontroller (46) programmiert werden oder sind; und dadurch Bilden eines manipulierten Datenpakets, wobei das manipulierte Datenpaket eine andere Form als das empfangene Datenpaket aufweist, und c) Speichern des manipulierten Datenpakets auf Medien (40) in der Medienspeichervorrichtung (44).
  16. Verfahren nach Anspruch 15, wobei das empfangene Datenpaket von einer IEEE 1394-1995-Seriellbusstruktur empfangen wird.
  17. Verfahren nach Anspruch 16, wobei der Schritt des Manipulierens durch eine isochrone Datenpipe (42) ausgeführt wird.
  18. Verfahren zum Lesen von Daten von einer Medienspeichervorrichtung (44), mit den Schritten: a) Lesen eines vorher gespeicherten Datenpakets von Medien (40) in der Medienspeichervorrichtung (44), und b) Manipulieren des vorher gespeicherten Datenpakets entsprechend programmierten Instruktionen, die von einem externen Kontroller (46) programmiert werden oder sind, und dadurch Bilden eines manipulierten Datenpakets, wobei das manipulierte Datenpaket eine andere Form als das vorher gespeicherte Datenpaket aufweist.
  19. Verfahren nach Anspruch 18, außerdem mit dem Schritt eines Übertragens des manipulierten Datenpakets zu einer anderen Vorrichtung.
  20. Verfahren nach Anspruch 19, wobei der Schritt des Übertragens ein Übertragen des manipulierten Datenpakets auf eine IEEE 1304-1995-Seriellbusstruktur enthält.
DE69916583T 1998-02-12 1999-02-03 Medienspeichervorrichtung mit eingebettetem datenfilter zur dynamischen datenverarbeitung während lese- und schreiboperationen Expired - Lifetime DE69916583T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US22926 1998-02-12
US09/022,926 US6292844B1 (en) 1998-02-12 1998-02-12 Media storage device with embedded data filter for dynamically processing data during read and write operations
PCT/US1999/002389 WO1999041744A1 (en) 1998-02-12 1999-02-03 Media storage device with embedded data filter for dynamically processing data during read and write operations

Publications (2)

Publication Number Publication Date
DE69916583D1 DE69916583D1 (de) 2004-05-27
DE69916583T2 true DE69916583T2 (de) 2005-03-31

Family

ID=21812139

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69916583T Expired - Lifetime DE69916583T2 (de) 1998-02-12 1999-02-03 Medienspeichervorrichtung mit eingebettetem datenfilter zur dynamischen datenverarbeitung während lese- und schreiboperationen

Country Status (10)

Country Link
US (1) US6292844B1 (de)
EP (1) EP1055236B1 (de)
JP (1) JP2003524848A (de)
KR (1) KR100475586B1 (de)
AT (1) ATE265085T1 (de)
AU (1) AU2657099A (de)
CA (1) CA2320275C (de)
DE (1) DE69916583T2 (de)
HK (1) HK1033384A1 (de)
WO (1) WO1999041744A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112087417A (zh) * 2020-07-22 2020-12-15 深圳奇迹智慧网络有限公司 终端权限控制方法、装置、计算机设备和存储介质

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6272546B1 (en) * 1998-03-12 2001-08-07 Sony Corporation Method of and apparatus for managing resource allocation and bandwidth overflow in a cooperative, distributed computing environment
US7392234B2 (en) 1999-05-18 2008-06-24 Kom, Inc. Method and system for electronic file lifecycle management
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US6859846B2 (en) * 1999-05-12 2005-02-22 Sony Corporation Method of distributed recording whereby the need to transition to a second recording device from a first recording device is broadcast by the first recording device
US6721859B1 (en) * 1999-10-21 2004-04-13 Sony Corporation Multi-protocol media storage device implementing protocols optimized for storing and retrieving both asynchronous and isochronous data
US6393578B1 (en) * 1999-12-08 2002-05-21 Sony Corporation Method and system for locating digital contents in a recorded digital file without knowing its encoding format
US6738823B1 (en) * 2000-01-31 2004-05-18 Microsoft Corporation Use of isochronous packets to eliminate redundant acknowledgments
US7720821B1 (en) 2000-06-30 2010-05-18 Sony Corporation Method of and apparatus for writing and reading time sensitive data within a storage device
DE10291762B4 (de) 2001-04-25 2014-07-10 Sony Corporation Datenübertragungsverfahren und Datenübertragungsgerät zum Übertragen von Datenstromdaten
US7124292B2 (en) * 2001-05-21 2006-10-17 Sony Corporation Automatically configuring storage array including a plurality of media storage devices for storing and providing data within a network of devices
US6986007B1 (en) * 2001-11-30 2006-01-10 Western Digital Technologies, Inc. Disk drive comprising an asynchronous partition located on a disk between two isochronous partitions
JP3689063B2 (ja) * 2002-04-19 2005-08-31 松下電器産業株式会社 データ受信装置及びデータ配信システム
US8032672B2 (en) 2006-04-14 2011-10-04 Apple Inc. Increased speed of processing of audio samples received over a serial communications link by use of channel map and steering table
WO2008070172A2 (en) 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for remote direct memory access to a solid-state storage device
US7962638B2 (en) * 2007-03-26 2011-06-14 International Business Machines Corporation Data stream filters and plug-ins for storage managers
US8750468B2 (en) * 2009-10-05 2014-06-10 Callspace, Inc. Contextualized telephony message management
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
WO2012050935A2 (en) * 2010-09-28 2012-04-19 Fusion-Io, Inc. Apparatus, system, and method for data transformations within a data storage device
US9251058B2 (en) 2010-09-28 2016-02-02 SanDisk Technologies, Inc. Servicing non-block storage requests
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US8527693B2 (en) 2010-12-13 2013-09-03 Fusion IO, Inc. Apparatus, system, and method for auto-commit memory
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US20140344486A1 (en) * 2013-05-20 2014-11-20 Advanced Micro Devices, Inc. Methods and apparatus for storing and delivering compressed data
KR102103543B1 (ko) 2013-11-28 2020-05-29 삼성전자 주식회사 내부 하드웨어 필터를 포함하는 일체형 데이터 저장 장치, 이의 동작 방법, 및 상기 데이터 저장 장치를 포함하는 시스템

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4298932A (en) 1979-06-11 1981-11-03 International Business Machines Corporation Serial storage subsystem for a data processor
US4304001A (en) 1980-01-24 1981-12-01 Forney Engineering Company Industrial control system with interconnected remotely located computer control units
US4493021A (en) 1981-04-03 1985-01-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Multicomputer communication system
US4972470A (en) * 1987-08-06 1990-11-20 Steven Farago Programmable connector
US5008819A (en) 1987-10-07 1991-04-16 Gorbatenko George G Memory spaced array
US4998245A (en) 1987-12-17 1991-03-05 Matsushita Electric Industrial Co., Ltd. Information transmission system having collective data transmission and collection devices
US4979169A (en) * 1989-02-14 1990-12-18 Data General Corporation Method and apparatus for performing format conversion between bit streams
US5359713A (en) 1989-06-01 1994-10-25 Legato Systems, Inc. Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system
JPH03156554A (ja) 1989-11-14 1991-07-04 Hitachi Ltd データ転送制御方式
JP2831087B2 (ja) * 1990-03-19 1998-12-02 株式会社日立製作所 データ記憶システム
JP2861404B2 (ja) * 1991-01-10 1999-02-24 ブラザー工業株式会社 印字装置
US5307491A (en) 1991-02-12 1994-04-26 International Business Machines Corporation Layered SCSI device driver with error handling circuit providing sense data from device directly to the driver on the occurrence of an error
US5369773A (en) 1991-04-26 1994-11-29 Adaptive Solutions, Inc. Neural network using virtual-zero
JP3013599B2 (ja) 1991-07-10 2000-02-28 株式会社日立製作所 磁気記録再生装置
US5214705A (en) * 1991-10-01 1993-05-25 Motorola Circuit and method for communicating digital audio information
JPH05165687A (ja) 1991-12-16 1993-07-02 Matsushita Electric Ind Co Ltd 記憶装置割当方法
US5471632A (en) 1992-01-10 1995-11-28 Digital Equipment Corporation System for transferring data between a processor and a system bus including a device which packs, unpacks, or buffers data blocks being transferred
EP0588046A1 (de) 1992-08-14 1994-03-23 International Business Machines Corporation Standard IEEE 802.2 virtueller Gerättreiber
US5647057A (en) 1992-08-24 1997-07-08 Texas Instruments Incorporated Multiple block transfer mechanism
EP0596651A1 (de) 1992-11-02 1994-05-11 National Semiconductor Corporation Datennetz mit isochroner Übertragungsfähigkeit
EP0596648A1 (de) 1992-11-02 1994-05-11 National Semiconductor Corporation Erkennung du Fähigkeiten eines Netzendpunkts
KR100305268B1 (ko) 1992-11-02 2001-11-22 아담 씨. 스트리겔 스위칭메카니즘에서의등시(等時)데이타의국부루프백
US5550802A (en) 1992-11-02 1996-08-27 National Semiconductor Corporation Data communication network with management port for isochronous switch
US5544324A (en) 1992-11-02 1996-08-06 National Semiconductor Corporation Network for transmitting isochronous-source data using a frame structure with variable number of time slots to compensate for timing variance between reference clock and data rate
EP0681721B1 (de) 1993-02-01 2005-03-23 Sun Microsystems, Inc. Archivierungsdateiensystem für datenanbieter in einer verteilten netzwerkumgebung
US5689678A (en) 1993-03-11 1997-11-18 Emc Corporation Distributed storage array system having a plurality of modular control units
US5509126A (en) 1993-03-16 1996-04-16 Apple Computer, Inc. Method and apparatus for a dynamic, multi-speed bus architecture having a scalable interface
US5559967A (en) 1993-03-18 1996-09-24 Apple Computer, Inc. Method and apparatus for a dynamic, multi-speed bus architecture in which an exchange of speed messages occurs independent of the data signal transfers
US5887145A (en) * 1993-09-01 1999-03-23 Sandisk Corporation Removable mother/daughter peripheral card
US5473362A (en) 1993-11-30 1995-12-05 Microsoft Corporation Video on demand system comprising stripped data across plural storable devices with time multiplex scheduling
US5835726A (en) * 1993-12-15 1998-11-10 Check Point Software Technologies Ltd. System for securing the flow of and selectively modifying packets in a computer network
US5659780A (en) 1994-02-24 1997-08-19 Wu; Chen-Mie Pipelined SIMD-systolic array processor and methods thereof
US5491810A (en) 1994-03-01 1996-02-13 International Business Machines Corporation Method and system for automated data storage system space allocation utilizing prioritized data set parameters
US5893148A (en) 1994-03-03 1999-04-06 International Business Machines Corporation System and method for allocating cache memory storage space
EP0957608B1 (de) 1994-03-09 2001-03-14 Matsushita Electric Industrial Co., Ltd. Datenübertragungssystem und Verfahren
JP3458469B2 (ja) 1994-07-15 2003-10-20 ソニー株式会社 信号受信装置及び通信方法
US5603058A (en) 1994-09-08 1997-02-11 International Business Machines Corporation Video optimized media streamer having communication nodes received digital data from storage node and transmitted said data to adapters for generating isochronous digital data streams
US5586264A (en) 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
US5548587A (en) 1994-09-12 1996-08-20 Efficient Networks, Inc. Asynchronous transfer mode adapter for desktop applications
US5617419A (en) 1994-09-20 1997-04-01 International Business Machines Corporation Adapting switch port and work station communication adapters to data frame types with disparate formats and data rates
JP3371174B2 (ja) 1994-09-22 2003-01-27 ソニー株式会社 パケット受信装置
US5640592A (en) * 1994-09-30 1997-06-17 Mitsubishi Kasei America, Inc. System for transferring utility algorithm stored within a peripheral device to a host computer in a format compatible with the type of the host computer
US5602853A (en) 1994-11-03 1997-02-11 Digital Equipment Corporation Method and apparatus for segmentation and reassembly of ATM packets using only dynamic ram as local memory for the reassembly process
US5704052A (en) 1994-11-06 1997-12-30 Unisys Corporation Bit processing unit for performing complex logical operations within a single clock cycle
US5671441A (en) 1994-11-29 1997-09-23 International Business Machines Corporation Method and apparatus for automatic generation of I/O configuration descriptions
US5664124A (en) 1994-11-30 1997-09-02 International Business Machines Corporation Bridge between two buses of a computer system that latches signals from the bus for use on the bridge and responds according to the bus protocols
KR0138964B1 (ko) * 1994-12-14 1998-06-15 김주용 데이타 포멧 변화기를 포함한 차분 펄스 코드 변조기
US5559796A (en) 1995-02-28 1996-09-24 National Semiconductor Corporation Delay control for frame-based transmission of data
JP3249334B2 (ja) * 1995-04-06 2002-01-21 株式会社東芝 ディジタルインターフェース装置及びディジタルインターフェース方法
FI98028C (fi) * 1995-05-03 1997-03-25 Nokia Mobile Phones Ltd Datasovitin
US5699503A (en) 1995-05-09 1997-12-16 Microsoft Corporation Method and system for providing fault tolerance to a continuous media server system
US5815678A (en) 1995-07-14 1998-09-29 Adaptec, Inc. Method and apparatus for implementing an application programming interface for a communications bus
US5781615A (en) 1995-08-30 1998-07-14 Lucent Technologies Inc. Fully distributed message storage facilities in a distributed switching system
US5692211A (en) 1995-09-11 1997-11-25 Advanced Micro Devices, Inc. Computer system and method having a dedicated multimedia engine and including separate command and data paths
US5970236A (en) * 1995-11-14 1999-10-19 Compaq Computer Corporation Circuit for selectively performing data format conversion
US5812883A (en) * 1995-11-22 1998-09-22 Mitsubishi Chemical America, Inc. System for reading and storing formatting information after formatting a first storage medium and using the stored formatting information to format a second storage medium
US5991520A (en) 1996-02-02 1999-11-23 Sony Corporation Application programming interface for managing and automating data transfer operations between applications over a bus structure
US6233637B1 (en) * 1996-03-07 2001-05-15 Sony Corporation Isochronous data pipe for managing and manipulating a high-speed stream of isochronous data flowing between an application and a bus structure
US6519268B1 (en) * 1996-03-07 2003-02-11 Sony Corporation Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure
US5761430A (en) 1996-04-12 1998-06-02 Peak Audio, Inc. Media access control for isochronous data packets in carrier sensing multiple access systems
WO1998002881A1 (fr) * 1996-07-15 1998-01-22 Kabushiki Kaisha Toshiba Appareil comportant une interface numerique, systeme de reseau mettant en oeuvre cet appareil et procede de protection contre la copie
US5960036A (en) 1996-11-04 1999-09-28 Motorola, Inc. Apparatus and method for auto-configuring a communication system
US5835694A (en) 1996-12-06 1998-11-10 International Business Machines Corporation Raid-configured disk drive array wherein array control occurs at the disk drive level
AU2669797A (en) * 1997-04-15 1998-11-11 Sony Electronics Inc. Protocol processor for manipulating a stream of data
US5928331A (en) 1997-10-30 1999-07-27 Matsushita Electric Industrial Co., Ltd. Distributed internet protocol-based real-time multimedia streaming architecture
US6064676A (en) 1998-01-14 2000-05-16 Skystream Corporation Remultipelxer cache architecture and memory organization for storing video program bearing transport packets and descriptors
US6085270A (en) 1998-06-17 2000-07-04 Advanced Micro Devices, Inc. Multi-channel, multi-rate isochronous data bus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112087417A (zh) * 2020-07-22 2020-12-15 深圳奇迹智慧网络有限公司 终端权限控制方法、装置、计算机设备和存储介质
CN112087417B (zh) * 2020-07-22 2022-10-21 深圳奇迹智慧网络有限公司 终端权限控制方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
KR100475586B1 (ko) 2005-03-10
AU2657099A (en) 1999-08-30
CA2320275C (en) 2007-01-09
DE69916583D1 (de) 2004-05-27
WO1999041744A1 (en) 1999-08-19
CA2320275A1 (en) 1999-08-19
US6292844B1 (en) 2001-09-18
HK1033384A1 (en) 2001-08-24
KR20010034476A (ko) 2001-04-25
EP1055236A1 (de) 2000-11-29
EP1055236B1 (de) 2004-04-21
ATE265085T1 (de) 2004-05-15
JP2003524848A (ja) 2003-08-19

Similar Documents

Publication Publication Date Title
DE69916583T2 (de) Medienspeichervorrichtung mit eingebettetem datenfilter zur dynamischen datenverarbeitung während lese- und schreiboperationen
DE69731421T2 (de) Verfahren zum Verknüpfen eines Datenpaketes mit einem Kanal in einem IEEE1394-Datenübertragungssystem
DE69703732T2 (de) Asynchrones datenübertragungsgerät zur verwaltung asynchroner datenübertragungen zwischen einem anwendungsprogramm und einer busstruktur
US7287113B2 (en) Method of and apparatus for controlling bidirectional streams of isochronous data flowing between an application and a bus structure
DE69920782T2 (de) Verfahren unf Vorrichtung zur bidirektionalen Datenübertragung zwischen einem IEEE1394 Bus und einem Gerät
DE69937394T2 (de) Verfahren und vorrichtung zur prädikativen zeitstempelung isochroner datenpakete
DE69033679T2 (de) Datenübertragungsadaptervorrichtung
DE69531015T2 (de) Datenübertragungssystem und Verfahren
DE68917388T2 (de) Rechneranlage mit einer zentralen Zwischenverbindung.
DE69524975T2 (de) System und verfahren zur befehlsverarbeitung und datenübertragung in einem schallrechnersystem
DE19805799C2 (de) Datensendeapparat und Datenempfangsapparat
DE60316758T2 (de) System zur Synchronisierung von Befehlen, sowie ein Verfahren, ein Steuerungsgerät und ein Zielgerät für dasselbe System
DE69935940T2 (de) Zielknoten, Datenkommunikationssystem, Kontrollverfahren eines Zielknotens und Verfahren zum Betreiben eines Datenkommunikationssystems
DE60036317T2 (de) Verfahren und Busschnittstelle zur Verbindung eines Buses mit einer Anwendungsvorrichtung
DE69733617T2 (de) Protokoll verarbeitungsgerät für datenstromverarbeitung
DE60215997T2 (de) Vorrichtung zur Ausgabe von Befehlen an einer seriellen Hochgeschwindigkeitschnittstelle
DE102005019264B4 (de) Speichersystem für Digital-Video und sich darauf beziehendes Verfahren zur Speicherung von Digital-Video-Daten
DE69729068T2 (de) Vorrichtung und Verfahren zum Übertragen von digitalen Audio- und Videodaten
DE60001363T2 (de) Verfahren zur kompilierung von buspaketen für isochronen datenübertragung über einen datenbus, und vorrichtung zur durchführung des verfahrens
DE69807738T2 (de) Verfahren und vorrichtung zur byteausrichtung
DE60019218T2 (de) Datenübertragung in einem IEEE 1394 seriellen Bus
DE60109558T2 (de) Verfahren und Vorrichtung zum verwalten eines Kommunikationsnetzes
DE69736937T2 (de) Anordnung zur Steuerung der Übertragung von Datenpaketen
DE60309518T2 (de) Kommunikationsgerät und Netzwerksystem mit einer schnellen digitalen Schnittstelle
DE60114952T2 (de) Informationssteuerungsverfahren, Informationsverarbeitungsvorrichtung, und Informationssteuerungssystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition