DE69731822T2 - Datenpuffersystem für mehrere datenspeicheranordnungen - Google Patents

Datenpuffersystem für mehrere datenspeicheranordnungen Download PDF

Info

Publication number
DE69731822T2
DE69731822T2 DE69731822T DE69731822T DE69731822T2 DE 69731822 T2 DE69731822 T2 DE 69731822T2 DE 69731822 T DE69731822 T DE 69731822T DE 69731822 T DE69731822 T DE 69731822T DE 69731822 T2 DE69731822 T2 DE 69731822T2
Authority
DE
Germany
Prior art keywords
data
disk
buffer
input
controllers
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 - Fee Related
Application number
DE69731822T
Other languages
English (en)
Other versions
DE69731822D1 (de
Inventor
Harrison Philips LUCHT
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Application granted granted Critical
Publication of DE69731822D1 publication Critical patent/DE69731822D1/de
Publication of DE69731822T2 publication Critical patent/DE69731822T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/002Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Bereich der Erfindung
  • Die vorliegende Erfindung bezieht sich auf ein System zur Anwendung beim Speichern und/oder beim Wiedergewinnen großer Mengen an Daten zum Beibehalten einer Vielzahl im Wesentlichen kontinuierlicher Datenströme, wobei dieses System die nachfolgenden Elemente umfasst:
    • – eine Anzahl Eingangs-/Ausgangsanordnungen mit je einer Anzahl Eingangs-Ausgangsdatenkanäle;
    • – eine Anzahl Anordnungscontroller, mit je einer Anzahl Diskcontrollerdatenkanäle;
    • – Kopplungsmittel zum Koppeln von Daten zwischen den genannten Eingangs/-Ausgangsanordnungen und der genannten Anzahl Anordnungscontroller;
    • – eine Anzahl Diskanordnungen, die mit den genannten Anordnungscontrollern gekoppelt sind, mit je einer Anzahl Diskspeicher, wobei die genannten Diskspeicher Datenstellenzeitintervalle aufweisen, wenn Daten gespeichert und/oder wieder gewonnen werden; und
    • – Übertragungsmittel, die mit den genannten Anordnungscontrollern zusammenarbeiten zum Übertragen von Daten zu und/oder von den genannten Diskanordnungen.
  • Die vorliegende Erfindung bezieht sich weiterhin auf ein Verfahren zur Anwendung beim Speichern und/oder Wiedergewinnen großer Mengen an Daten zum Beibehalten einer Anzahl im Wesentlichen kontinuierlicher Datenströme, wobei dieses Verfahren die nachfolgenden Verfahrensschritte umfasst:
    • – das Übertragen von Daten zu und/oder von einer Anzahl Eingangs-/Ausgangsdatenkanäle; und
    • – das Übertragen von Daten zu und/oder von einer Anzahl Diskspeicher, wobei die genannten Diskspeicher beim Speichern und/oder Wiederherstellen von Daten Datenstellenzeitintervalle aufweisen.
  • 2. Beschreibung des Standes der Technik
  • Die schnellen Fortschritte in der Technologie von Informationssystemen haben eine große Verbesserung in der Verteilung von Information und von Unterhaltungsmaterial ermöglicht. Einer derartigen Verteilung hilft die Entwicklung und die schnelle Zunahme von Informationsnetzwerken, wie geschaffen von Kabelfernsehsystemen oder dergleichen. Eine der meist versprechenden Informationssystementwicklungen in der Unterhaltungsindustrie ist die Verfügbarkeit von sog. "Video-auf-Antrag" für Fernsehzuschauer. Das Basiskonzept von Video auf Antrag ist relativ einfach und sehr interessant für den Konsumenten. Der Grundgedanke von Video auf Antrag macht, dass einzelne Konsumenten oder Zuschauer imstande sind, unabhängig von anderen auf die gespeicherte Datenquelle einer Anzahl gespeicherter Unterhaltungsprogramme, wie Filme oder dergleichen zuzugreifen. Dieser unabhängige Zugriff befreit die einzelnen Konsumenten von der beschränkenden Art geplanter Netzwerkverteilung heutiger Kabelsysteme. Auf diese Weise ist der Zuschauer in einem Video-auf-Antrag-System imstande auf einfache Weise die Medienspeicher- und Verteilungsanlage über das Kabelnetzwerk "anzurufen" und zu jeder beliebigen Zeit sich das gewünschte Programm anzusehen.
  • Während das Basiskonzept von Video auf Antrag einfach ist, ist die Implementierung in einer praktischen Umwelt extrem schwierig und Komplex. Im Wesentlichen muss das System imstande sein, jedem Zuschauer mit einem unabhängigen Zugriff auf das gespeicherte Unterhaltungsmaterial zu versehen. In einer typischen Kabelsystemumwelt werden Tausende und vielleicht Zehntausende von Zuschauern bedient. Um jedem mit einem unabhängigen Zugriff auf die große Menge an Programmmaterial innerhalb des massiven Medieninventars zu versehen ist eine entmutigende Aufgabe. Um das Problem noch weiter zu erschweren stellt die Art des Unterhaltungsmaterials, und zwar Video- und Audioinformation, eine Unmenge an Information dar, die übertragen werden soll. Auf diese Weise erfordert ein effektiven Video-auf-Antrag-System, dass eine Riesenmenge an Programminformation innerhalb der Massenmedien gespeichert wird und dass eine Vielzahl von Teilnehmern imstande sein soll, gleichzeitig oder nahezu gleichzeitig auf die gespeicherten Massenmedien zuzugreifen.
  • Die Notwendigkeit eines Zugriffs mit großer Menge und mit hoher Geschwindigkeit auf große Medienspeichersysteme ist aber nicht einzigartig für Video- und Audiovorgänge. In zugehörigem Gebrauch derartiger Informationssysteme, wie im interaktiven Video, ist die schnelle Speicherung und Wiedergewinnung von Daten und/oder Information aus den Massenmedien notwendig. Außerdem sind andere derartige Systeme auf interaktives Fernsehen und Fernsehsendevorgänge anwendbar. Weiterhin erfordern Filmin dustrieanwendungen, wie Spezialeffektproduktions- und Nachproduktionsprozesse eine schnelle Speicherung und/oder Wiedergewinnung großer Mengen an Daten.
  • Starke Rechensysteme erfordern auch Hochgeschwindigkeitszugriff auf große Datenspeichersysteme. Trotz des ähnlichen Bedürfnisses nach Zugriff mit hoher Geschwindigkeit und großer Bandbreite auf große Medienspeichersysteme, arbeiten Video-auf-Antrag-Systeme und Videoserver in einer wesentlich anspruchsvolleren und schwierigeren Umwelt als andere Rechensysteme. Videoserver müssen einer Vielzahl von Zuschauern oder Benutzer mit einem gleichzeitigen Zugriff versehen. Außerdem muss dieser Zugriff schnell sein und Geschwindigkeit und Kontinuität schaffen, die einem Echtzeitzugriff und einer Echtzeitdatenfluss ähnelt. Im Gegensatz zu Computersystemen, die imstande sind auf Daten zu warten, zeigen Video auf Antrag und Videoserver einen "Zusammenbruch", wenn Daten nicht rechtzeitig verfügbar sind. Mit anderen Worten, Videoserver müssen vorhersagbare oder sog. "deterministische" Bandbreiten in jedem Datenkanal verschaffen. Die Verschaffung dieser deterministischen Bandbreite in Videoservern und die kontinuierliche Lieferung rechtzeitiger Daten ist ein wesentliches Element der Systemleistung.
  • In dem Versuch, die erforderliche Bandbreite, Informationsspeicherung und Informationswiedergewinnung mit hoher Geschwindigkeit zu vielen Benutzern zu schaffen haben Techniker im Videoserverbereich ihre Zuflucht genommen zu immer schnelleren Prozessoren und parallele Verarbeitung, dies alles mit beschränktem Erfolg. Aber schnellere Prozessoren und parallele Verarbeitung allein haben nicht eine komplette Lösung für die spezialisierten Probleme von Videoservern gebracht. Bestimmte Begrenzungen in der Systemleistung rühren von den Charakteristiken von Speicheranordnungen selber her.
  • Die meisten, wenn nicht alle Systeme, die eine Speicherung und eine Wiedergewinnung großer Mengen an Daten erfordern, benutzen eine oder mehrere beliebig zugreifbare Speicheranordnungen, wie Plattenlaufwerkspeicher. Plattenlaufwerke sind äußerst effektiv in derartigen Anwendungsbereichen, und zwar wegen der Geschwindigkeit, mit der sie arbeiten und der beträchtlichen Speicherkapazität, die sie zeigen. Auf diese Weise schaffen Plattenlaufwerke einen beliebigen Zugriff, eine beträchtliche Kapazität und eine relativ schnelle Speicherung oder Wiedergewinnung von Information. Typischerweise werden zum Schaffen eines größeren Speichers Plattenlaufwerke in großen Anordnungen vorgesehen, die unter der Koordination und Schnittstelle eines oder mehrerer sog. Diskcontrol lern arbeiten. So gut derartige Plattenanordnungen und Diskcontroller auch sein mögen, deren Arbeitscharakteristiken begrenzen die Systemleistung.
  • Systemreaktionsgeschwindigkeit und die Fähigkeit kontinuierliche, zuverlässige und deterministische Kanalbandbreiten beizubehalten wird teilweise durch die Geschwindigkeit bestimmt, mit der die Systemplattenlaufwerke selber arbeiten.
  • Im Grunde muss zum Wiedergewinnen von Daten das Plattenlaufwerk zunächst diese Daten orten. Auf diese Weise ist ein Zeitintervall für den Kopf des Plattenlaufwerkes erforderlich zum Orten des betreffenden Teils der Platte, wo Daten gespeichert sind. Dieser Prozess erfordert im Wesentlichen dass der Kopf des Plattenlaufwerkes zu dem betreffenden Plattenradius geht (üblicherweise als "Suche" bezeichnet) und danach die Platte dreht, bis der gewünschte Plattenteil dem Kopf nähert (meistens als "Latenz" bezeichnet). Die wirkliche Zeit dieses Intervalls ist eine Charakteristik der betreffenden Herstellung des Plattenlaufwerkes und variiert zwischen Plattenlaufwerkentwürfen. Alle Plattenlaufwerke zeigen eine Datenortungszeitintervallcharakteristik. Dieses Datenortungszeitintervall stellt in Systemen, wie Videoservern dadurch "verlorene Zeit" dar, dass in diesem Zeitintervall keine Daten wiedergewonnen oder gespeichert werden können. Der gesamte Effekt derartiger verlorener Zeit ist kumulativ und reduziert unmittelbar die Bandbreite und Geschwindigkeit des Systems.
  • Ein System der eingangs beschriebenen Art ist bekannt aus dem US Patent 5.539.660, von der Anmelderin der vorliegenden Erfindung. Dieses Patent beschreibet ein Speicher- und Wiedergewinnungssystem, das eine Anzahl Plattenanordnungen zur sequentiellen Speicherung zusammenhängender Segmente eines Datenblocks umfasst. Im Falle von Filmen umfasst jedes Segment beispielsweise einige Sekunden jedes betreffenden Films. Ein elektronischer Kommutator verbindet sequentiell die Plattenanordnungen mit einer entsprechenden Anzahl Zugriffskanäle. Während die einzelnen Verbindungen zwischen jeder der Plattenanordnungen und jedem der Zugriffskanäle eine bestimmte Bitkapazität haben, ist die Gesamtbitkapazität des Systems diese bestimmte Bitkapazität mal der Anzahl entsprechender Plattenanordnungen und Zugriffskanäle. Der elektronische Kommutator schaltet sequentiell zwischen den betreffenden Verbindungen mit einer vorbestimmten Rate, die zu der Größe der auf den Plattenanordnungen gespeicherten Segmente proportional ist und von der erwünschten Wartezeit für einen Zugriffskanal abhängig ist, der mit jedem der Plattenanordnungen verbunden werden soll.
  • US Patent 5.442.390 beschreibt ein Video-auf-Antrag-System, wobei Daten stoßweise aus den Platten ausgelesen und in einem FIFO-Puffer gespeichert werden. Die Daten werden von einem Paketcontroller aus dem FIFO-Puffer ausgelesen und der Benutzeranordnung zugeführt. Der Paketcontroller liest ein Paket aus dem FIFO-Puffer wenn ein neues Paket erforderlich ist. Das System umfasst weiterhin einen Segmentpuffer, in dem eine Anzahl Pakete, die ein bestimmtes Zeitfenster des Videos darstellen, gespeichert sind. Der Segmentpuffer schafft eine schnelle interaktive Reaktion, wenn ein Benutzer vorwärts oder rückwärts in dem Fenster gehen möchte, da die Pakete nicht von der Platte wiedergewonnen zu werden brauchen, sondern bereits in dem Segmentpuffer verfügbar sind.
  • Die Europäische Patentanmeldung, veröffentlicht als EP 739 136 A2 , beschreibt ein Video-auf-Antrag-System mit vielen Verzweigungspunkten, die je Datenblöcke eines Videofilms speichern. Ein Zuschauer, der einen Film bestellt, wird mit dem Verzweigungspunkt verbunden, der diesen Film speichert. Es werden Datenblöcke des Films von der Platte wiedergewonnen und in einem RAM-Puffer an dem Verbindungspunkt gespeichert, von woraus der Benutzer bedient wird. Ein späterer Benutzer, der denselben Film bestellt, wird mit demselben RAM-Puffer verbunden, wodurch die Notwendigkeit die Datenblöcke von der Platte wieder zu gewinnen, vermieden wird.
  • Nach wie vor gibt es ein Bedürfnis nach besseren Videoserversystemen, die kontinuierliche, zuverlässige und deterministische Kanalbandbreiten beibehalten, während mehrere Anordnungen von Plattenspeichern und Diskcontrollern zur Datenspeicherung verwendet werden. Es gibt weiterhin nach wie vor ein Bedürfnis nach besseren Videoserversystemen, die den Effekt der Plattenlaufwerkdatenortungszeit auf Systembandbreiten reduzieren.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Auf entsprechende Weise ist es eine Aufgabe der vorliegende Erfindung, ein verbessertes Videoserversystem zu schaffen, das kontinuierliche, zuverlässige und deterministische Kanalbandbreiten beibehält, während viele Anordnungen von Plattenspeichern und Diskcontrollern zur Datenspeicherung verwendet werden. Es ist eine besondere Aufgabe der vorliegenden Erfindung, ein verbessertes Datenpuffersystem in einem Videoserver zu schaffen, das die Reduktion der Bandbreite, verursacht durch Plattenlaufwerkdatenortungszeit, minimiert.
  • Die vorliegende Erfindung schafft eine Struktur und ein Verfahren, durch die bzw. das die gesamte Effizienz und Effektivität eines Videoservers verbessert wird, und zwar unter Verwendung von Datenübertragungen zu und von der Anordnung von Plattenlaufwerken, die in Form lange dauernder Datensegmente übertragen werden, während Datenfluss in dem restlichen Teil des Systems unter Verwendung kurz dauernder Datenbursts übertragen werden. Die selektierte Datensegmentgröße ist gegenüber den Datenortungsintervallen des Plattenlaufwerkes relativ groß um den Verlust an Effizienz zu minimieren, der sonst auftreten würde. Um die effektive Datenburstübertragungen kurzer Dauer innerhalb des restlichen Teils des Systems beizubehalten, während derartige große Datensegmentübertragungen zu und von den Plattenlaufwerken benutzt werden, werden viele Segmentpuffer (einen je Datenkanal) vorgesehen.
  • Auf diese Art und Weise schafft die vorliegende Erfindung ein System, das dadurch gekennzeichnet ist, dass es weiterhin die nachfolgenden Elemente umfasst:
    • – eine Anzahl Pufferspeicher, die für jeden der genannten Diskcontrollerdatenkanäle einen Pufferspeicher bilden
    • – zum Empfangen von Daten von den genannten Eingangs-/Ausgangsanordnungen in Form von kurz dauernden Datenbursts und zum Sammeln der genannten kurz dauernden Datenbursts zum Bilden von Datensegmenten im Wesentlichen größer als die genannten Datenbursts und in der Dauer im Wesentlichen größer als die genannten Zeitintervalle und zum Liefern der genannten Datensegmente zu den genannten Anordnungscontrollern, und
    • – zum Empfangen von Daten von den genannten Anordnungscontrollern in Form der genannten Datensegmente und zum Liefern derartiger Daten zu den genannten Eingangs-/Ausgangsanordnungen in Form der genannten Datenbursts kurzer Dauer;
    und dass die Kopplungsmittel vorgesehen sind zum Koppeln von Daten zwischen den genannten Eingangs-/Ausgangsanordnungen und der genannten Anzahl Pufferspeicher in Form der genannten Datenbursts kurzer Dauer.
  • In der Durchführung der vorliegenden Erfindung wird ein Verfahren geschaffen, mit dem Kennzeichen, dass es weiterhin die nachfolgenden Verfahrensschritte umfasst:
    • – das Speichern von Daten, die von den genannten Eingangs-/Ausgangskanälen zu den genannten Diskspeichern in Form kurz dauernder Datenbursts übertragen worden sind, zum Sammeln der genannten kurz dauernden Datenbursts in Datensegmente, die wesentlich größer sind als die genannten Datenbursts und wesentlich größer in ihrer Dauer als die genannten Zeitintervalle; und
    • – das Puffern von Daten, die von den genannten Diskspeichern zu den genannten Eingangs-/Ausgangskanälen übertragen worden sind zum Bilden der genannten Datensegmente zu den genannten kurz dauernden Datenbursts.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im vorliegenden Fall näher beschrieben. Es zeigen:
  • 1 ein Blockschaltbild eines Videoserversystems, wobei ein Datenpuffersystem benutzt wird, konstruiert entsprechend der vorliegenden Erfindung,
  • 2 ein Blockschaltbild eines Ausführungsbeispiels eines Puffersystems, eines Anordnungscontrollers und einer Speicheranordnung, konstruiert entsprechend der vorliegenden Erfindung,
  • 3 ein Blockschaltbild des Datenpuffersystems nach der vorliegenden Erfindung und
  • 4 ein Betriebsdiagramm zur Erläuterung der Lösung des drehenden Prioritätsstreits des Datenpuffersystems nach der vorliegenden Erfindung.
  • (In den jeweiligen Figuren sind entsprechende Elemente durch gleiche Bezugszeichen angegeben).
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • 1 beschreibt ein Blockschaltbild eines Videoservers, wobei das Datenpuffersystem nach der vorliegenden Erfindung benutzt und allgemein durch das Bezugszeichen 10 angegeben ist. Der Videoserver 10 umfasst eine Anzahl Eingangs/Ausgangsanordnungen 11 bis 16, die mit einem Kommutator 17 gekoppelt sind. Der Kommutator 17 ist weiterhin mit einer Anzahl Speicheranordnungen 21 bis 26 gekoppelt. Jede der Speicheranordnungen 21 bis 26 umfasst einen betreffenden Anordnungscontroller, der auf wirksame Weise mit einer Anzahl Plattenspeicher gekoppelt ist, die eine Diskan ordnung bilden. Außerdem und entsprechend der vorliegenden Erfindung umfasst jede der Speicheranordnungen 21 bis 26 ein betreffendes Datenpuffersystem 31 bis 36, das nachstehend detailliert beschrieben wird.
  • Im Betrieb schaffen die Eingangs/Ausgangsanordnungen 11 bis 16 Schnittstellen zu einer Anzahl (nicht dargestellter) Benutzerkanäle. Entsprechend dem Betrieb des in der oben genannten eingereichten Patentanmeldung detailliert beschriebenen Kommutators 17 koppelt dieser Kommutator jede der Eingangs/Ausgangsanordnungen 11 bis 16 mit Speicheranordnungen 21 bis 26 in einer sich wiederholenden Sequenz. Diese sich wiederholende sequentielle Kopplung wird in einem "rotierenden" Muster durchgeführt, so dass jeweils jede Eingangs/Ausgangsanordnung auf wirksame Weise mit einem der Speicheranordnungen gekoppelt ist. Dieses kommutierende Muster wird zur Datenspeicherung sowie zur Datenwiedergewinnung benutzt. Daten innerhalb jeder Eingangs/Ausgangsanordnung werden zu einer Anzahl Datenkanäle mit Daten, wie Video, Audio oder Zeitcodeinformation organisiert.
  • Auf diese Weise werden beispielsweise, wenn Daten in Speicheranordnungen 21 bis 26 gespeichert werden müssen, die Daten, die an Eingangs/Ausgangsanordnungen 11 bis 16 empfangen werden, zu einheitlich bemessenen Datensegmenten gesammelt. Die Datensegmente werden sequentiell zu Speicheranordnungen 21 bis 26 durch den Datenstreifvorgang des Kommutators 17 übertragen. Dieser Datenstreifprozess ist in der oben genannten relatierten Patentanmeldung eingehend beschrieben worden. An dieser Stelle sei aber nur erwähnt, dass Datensegmente zu jeder der Speicheranordnungen 21 bis 26 sequentiell übertragen werden, und zwar in einem wiederholten Streifenmuster, das eine im Allgemeinen einheitliche Datenverteilung über die Speicheranordnungen schafft. Da Daten über die Speicheranordnungen gestreift werden, speichern die betreffenden Puffersysteme 31 bis 36 in den Speicheranordnungen 21 bis 26 vorübergehend die empfangenen Datensegmente für jeden Datenkanal und entsprechend der nachstehend detailliert beschrieben, und ermöglichen danach die Speicherung der Datensegmente in jeder betreffenden Diskanordnung.
  • Datenwiedergewinnungsvorgänge des Videoservers 10 werden in einem Prozess durchgeführt, der im Wesentlichen der umgekehrte Prozess der Datenspeicherung ist. Das heißt, jeder Anordnungscontroller in Speicheranordnungen 21 bis 26 gewinnt Daten aus der betreffenden Diskanordnung wieder und bildet die wieder gewonnenen Daten zu Datensegmenten, die vorübergehend in Puffern 31 bis 36 gespeichert werden. Die gepufferten Daten werden danach über den Kommutator 17 zu den Eingangs/Ausgangsanordnungen 11 bis 16 übertragen.
  • Entsprechend der Wirkungsweise von Datenpuffersystemen 31 bis 36, die nachstehend näher beschrieben wird, schafft das Puffersystem nach der vorliegenden Erfindung eine Vielzahl preisgünstiger DRAM-Speicheranordnungen, die unter Adressenlogiksteuerung arbeiten. Zur Steigerung der Geschwindigkeit und der Bandbreite des Systems benutzt die Adressenlogiksteuerung die Anzahl DRAM-Speicheranordnungen in einer Technik, bekannt als FPM-Betrieb ("Fast Page Mode"). Diese Betriebsart ist dadurch gekennzeichnet, dass sie die DRAM-Anordnungen in einem Reihen- und Spaltenadressformat organisiert und dass die Adresslogiksteuerung derart funktioniert, dass die Systemgeschwindigkeit dadurch verbessert wird, dass Daten in einer Folge von Adressen innerhalb derselben Reihe gelesen oder geschrieben werden. Die Adresslogiksteuerung schafft ebenfalls eine flexible programmierbare Adressierung, geeignet für das komplexe Schema von Datenstreifung und RAID-Fehlerkorrektur. Daten in der Form kurz dauernder Datenbursts werden in den Datenpuffern jedes Datenkanals gesammelt um Bilden größerer Datensegmente und umgekehrt.
  • Jedes Puffersystem umfasst einen Vermittler zum Erledigen gleichzeitiger Speicherzugriffsanträge. Der Vermittler benutzt ein drehendes Prioritätsschema, das nachstehend in 4 beschrieben wird. Ein wichtiger Aspekt des drehenden Prioritätsschemas ist die Einhaltung eines ausreichenden Datenflusses innerhalb der Diskanordnung um eine Unterbrechung des Datenflusses innerhalb der Anordnungscontroller zu vermeiden. Die Verwendung kleiner Datensegmente, aufgeteilt in noch kleinere Datenbursts zum Erzielen der Annäherung eines kontinuierlichen Datenflusses wird verbessert in der bevorzugten Wirkung des Systems nach der vorliegenden Erfindung durch Verwendung eine Ringpufferkonfiguration mit mehreren Segmenten innerhalb jedes Datenkanals. Dieses Letztere ermöglicht es, dass zu dem einen Teil eines Kanalringpuffers Daten geschrieben werden, während gleichzeitig vorher geschriebene Daten aus einem anderen Teil des Kanalringpufferns ausgelesen werden und, infolge des Schreib/Lesezyklus, dass der Ringpuffer "rotiert" wird. Wie nachstehend detailliert beschrieben, schafft das resultierende Puffersystem einen Puffer mit großer Kapazität, der mit hohen Datenraten und hohen Bandbreiten arbeitet, der einem großen Mehrfachport-Speicher, aber ohne die zugehörenden hohen Kosten, nahe kommt. Das komplexe Adressierungsschema des Gastgebersystems, erforderlich für Datenstreifung und RAID-Fehlerkorrektur ist in der Adresssteuerungslogik untergebracht, während die Verwendung von preisgünstigen DRAM-Anordnungen ermöglicht wird.
  • 2 zeigt ein Blockschaltbild eines Ausführungsbeispiels einer Speicheranordnung, konstruiert entsprechend der vorliegenden Erfindung und allgemein durch 40 bezeichnet. Die Speicheranordnung 40 illustriert Speicheranordnungen 21 bis 26 aus 1. Auf diese Weise sollen die Beschreibungen, die in Bezug auf die Speicheranordnung 40 folgen, derart verstanden werden, dass diese auch für die Speicheranordnungen 21 bis 26 aus 1 gelten.
  • Insbesondere umfasst die Speicheranordnung 40 einen Puffer 41, dargestellt durch gestrichelte Linien, der ein Paar Puffersysteme 44 und 45 aufweist, deren Struktur nachstehend in 3 detailliert beschrieben wird. Die Puffersysteme 44 und 45 sind mit Bussen 53 und 63 gekoppelt und sind ebenfalls gemeinsam mit einem RAID-Fehlerkorrektursystem 43 gekoppelt. Ein Serializer 47, der serielle Daten in parallele Daten und umgekehrt umwandelt, ist mit dem Fehlerkorrektursystem 43 gekoppelt. Eine Anzahl Diskspeichergruppen 50, 51, 52, 60, 61 und 62 umfassen je eine Anzahl Plattenspeicher und einen Plattencontroller, die je auf die Art und Weise, wie nachstehend in 3 beschrieben, konfiguriert sind. Diskspeichergruppen (DMG) 50, 51 und 52 sind gemeinsam mit einem Puffersystem 44 gekoppelt, während Diskspeichergruppen (DMG) 60, 61 und 62 gemeinsam mit einem Puffersystem 45 gekoppelt sind. Die Anordnung verteilt die Datenpufferbelastung in dem Puffer 41. Es dürfte aber einleuchten, dass im Rahmen der vorliegenden Erfindung alle sechs die Diskspeichergruppen mit einem einzigen großen Puffer gekoppelt sein können statt mit Puffersystemen 44 und 45.
  • Die Basisfunktion der Diskspeichergruppen aus 2 ist, Daten zu speichern und wieder zu gewinnen und für die effektive Übertragung von Daten zu und von Puffersystemen 44 und 45 über Kommunikationsbusse 53 bzw. 63 zu sorgen. Die Puffersysteme 44 und 45 werden nachstehen in 3 detailliert beschrieben. Es reicht aber an dieser Stelle zu erwähnen, dass wie oben erwähnt, jedes Puffersystem als Ringpuffer mit vielen Segmenten organisiert ist, wirksam zum Schaffen von Verhaltenscharakteristiken entsprechend Speicheranordnungen mit beliebigem Zugriff und mit vielen Porten und hoher Bandbreite.
  • Während eines Aufzeichnungsvorgangs werden Daten in den Diskspeichern der Gruppen 50 bis 52 und 60 bis 62 gespeichert. Ein serieller Datenstrom mit hoher Geschwindigkeit von dem Kommutator 17 (siehe 1) wird von dem Serializer 47 in parallele Daten umgewandelt, der seinerseits mit dem Fehlerkorrektursystem 43 gekoppelt ist. Innerhalb des Fehlerkorrektursystems 43 wird eine auf Parität basierte Fehlerkorrekturfunktion vom RAID-Typ, wie eine RAID-3 Fehlerkorrektur durchgeführt. Dieser Vorgang erfordert eine Kombination der Daten für jede aktive Disk innerhalb der Speichergruppe, wobei eine EXKLUSIV-ODER-Berechnung verwendet wird zum Schaffen von Paritätsdaten, die zusammen mit den restlichen Daten den Puffersystemen 44 und 45 zugeführt werden. Wie oben erwähnt sind die Puffersysteme 44 und 45 konfiguriert zum Schaffen einer Pufferung mit vielen Segmenten für jeden Datenkanal, unter Verwendung einer Anzahl Ringpufferanordnungen, die es ermöglichen, dass Daten in das eine Segment des Ringpuffers eingeschrieben werden, während gleichzeitig vorher eingeschriebene Daten aus einem anderen Segment des Ringpuffers ausgelesen werden. Auf diese Weise werden in jedem der Kanalringpuffer in den Puffersystemen 44 und 45 neu e Daten in Form von Datenbursts kurzer Dauer simultan in das eine Ringpuffersegment eingeschrieben und vorher eingeschriebene Daten werden aus einem anderen Ringpuffersegment in einem im Wesentlichen kontinuierlichen Prozess ausgelesen.
  • Beim Einschreiben von Daten in die Ringpuffer der Puffersysteme 44 und 45 werden Datenbursts in jedem Ringpuffersegment gesammelt bis ein vorbestimmtes einheitliches Datensegment gesammelt worden ist. Die Größe des benutzten Datensegmentes ist gewissermaßen eine Sache der Wahl des Entwurfs. Im Wesentlichen aber ist die Datensegmentgröße derart selektiert, dass ein ausreichend großer Betrag an Daten gegenüber den Such und Latenzcharakteristiken der Systemplattenlaufwerke geschaffen wird und dadurch die gesamte Systemeffizienz optimiert wird.
  • In jeder der Plattenspeichergruppen 50 bis 52 und 60 bis 62 werden eine Anzahl aktiver Plattenlaufwerke zusammen mit einem Plattenlaufwerk für Paritätsdaten von einem Diskcontroller gesteuert, der Daten zu und von den Plattenlaufwerken überträgt, und zwar unter Verwendung herkömmlicher Kommunikationsbusse. Diese Übertragungen werden über Kommunikationsbusse 53 und 63 geschaffen. Wie oben erwähnt, werden Daten, die in den Systemplattenlaufwerken gespeichert sind, gestreift oder "gespritzt" über die Plattenlaufwerkgruppen in einer im Allgemeinen einheitlichen Verteilung von Daten.
  • Während Wiedergabebetrieb werden Daten von den Plattenspeichergruppen wieder gewonnen, gepuffert, fehlerkorrigiert und in serielle Daten umgewandelt, die zu dem Kommutator 17 ausgeliefert werden zum Bilden eines seriellen Datenstroms an der Hochgeschwindigkeits-Übertragungslinie 46. Insbesondere werden Daten von den Plattenspeichern durch die betreffenden Diskcontroller wieder gewonnen oder ausgelesen. Die wieder gewonnenen Daten, in Form von Datensegmenten langer Dauer, werden danach den Puffersystemen 44 und 45 über die Kommunikationsbusse 53 bzw. 63 zugeführt. In den Puffersystemen 44 und 45 werden die Datensegmente mit langer Dauer aufgeteilt zum Bilden von Datenbursts mit kurzer Dauer, die schlussendlich über Fehlerkorrektur 43 und den Serializer 47 zu der Kommunikationsleitung 46 übertragen werden. Während der Übertragung von Daten zu und von den Puffersystemen 44 und 45 wird der oben beschriebene Ringpufferprozess mit vielen Segmenten in jedem Datenkanal durchgeführt, da Datensegmente gleichzeitig in die Ringpuffer eingeschrieben und aus denselben ausgelesen werden, und zwar auf dieselbe Art und Weise, wie oben bei dem Aufzeichnungsprozess beschrieben.
  • 3 zeigt ein Blockschaltbild der Speicheranordnung 40 mit einem detaillierten Blockschaltbild des Puffersystems 44. Es dürfte einleuchten, dass die Beschreibungen der Wirkungsweise des Puffersystems 44 ebenfalls illustrativ sind für die Wirkungsweise der restlichen Puffersysteme in den Speicheranordnungen 21 bis 26. Auf diese Weisesollen die Beschreibungen, die für 3 gelten, auch für das Puffersystem 45 aus 2 sowie für die restlichen Puffersysteme 31 bis 36 (siehe 1) gelten.
  • Das Puffersystem 44 (gestrichelt dargestellt) ist mit dem Fehlerkorrektursystem 43 gekoppelt und umfasst einen Zweirichtungen-FIFO-Puffer 72, der mit dem Fehlerkorrektursystem 43 gekoppelt ist. Der FIFO-Puffer 72 ist ebenfalls mit einem Datenbus 73 gekoppelt. Der Datenbus 73 und der zugehörige Adressbus 74 werden kombiniert zum Bilden des Kommunikationsbusses 53. Eine Anzahl Speicheranordnungen 50, 51 und 52 (gestrichelt dargestellt) enthalten je betreffende Diskcontroller 91, 92 und 93, die operativ mit dem Datenbus 73 und dem Adressbus 74 entsprechend herkömmlichen Herstellungstechniken gekoppelt sind. Die Diskcontroller 91, 92 und 93 umfassen je einen betreffenden Zweirichtungen-FIFO-Puffer 111, 112 und 113, über die Daten zu und von dem Datenbus 73 übertragen werden. Die Diskcontroller 91, 92 und 93 sind ebenfalls mit entsprechenden Plattenlaufwerkanordnungen 94, 95 und 96 über herkömmliche Busse 97, 98 und 99 ge koppelt. In der bevorzugten Ausführungsform der vorliegenden Erfindung arbeiten die Diskcontroller 91, 92 und 93 mit den Bussen 97, 98 und 99 zusammen entsprechend einem System, das als Kleincomputer-Systemschnittstelle oder "SCSI" bekannt ist. Auf diese Weise werden die Controller 91 und 92 nachstehend manchmal als SCSI-Controller bezeichnet und die Busse 97, 98 und 99 werden nachstehend manchmal als SCSI-Busse bezeichnet.
  • Ein Segmentpuffer 80, von dem ein Dateneingang mit dem Datenbus 73 gekoppelt ist und von dem ein Adresseingang mit einer Adressinkrementschaltung 81 gekoppelt ist, umfasst eine Anzahl Speicheranordnungen 86 bis 89. In der bevorzugten Form umfassen die Speicheranordnungen 86 bis 89 relativ preisgünstige Speicheranordnungen von dem in dem Stand der Technik als "SIMMs" bezeichneten Typ mit preisgünstigen DRAM-IC-Speicheranordnungen. Die Verwendung derart preisgünstiger Speicheranordnungen in Segmentpuffern 80 ermöglicht es, dass es kommerziell denkbar ist, einen Segmentpuffer zu schaffen mit genügend Kapazität um auf die Art und Weise zu funktionieren, wie dies von dem Gastgebersystem, wie dem System aus 1, gefordert wird.
  • Der Segmentpuffer 80 umfasst ebenfalls eine Steuerlogik 79 und eine Adresslogik 85, die miteinander zusammenarbeiten zum Organisieren und Betreiben der Vielzahl SIMMs-Speicheranordnungen (Speicher 86 bis 89) als eine Anzahl Ringpuffer. Die Basisorganisation der Speicheranordnungen 86 bis 89 umfasst eine Reihen- und Spaltenmatrix, welche die Steuerlogik 79 und die Adresslogik 85 Zugriff gewährt. Der Segmentpuffer 80 umfasst ebenfalls einen Adressinkrementor 81, der, wie nachstehend beschrieben, in dem "fast page" Betrieb des Segmentpuffers 80 benutzt wird.
  • In der bevorzugten Ausführungsform ist der Segmentpuffer 80 ausgebildet zum Benutzen von Speicheranordnungen 86 bis 89 in DRAM-Speicherkonfiguration mit einer Anzahl Doppelsegment-Ringpuffer (einen für jeden Kanal) (oft als Doppelpufferspeicher bezeichnet), wobei diese Konfiguration auf eine Weise mit vielen Porten arbeitet. Aus der nachfolgenden Beschreibung dürfte es einleuchten, dass das System nach der vorliegenden Erfindung auf alternative Weise andere Segmentringpuffer benutzen kann mit drei oder mehr Segmenten in den vielen Datenkanälen. Entsprechend den Datenerneuerungsanforderungen der DRAM-Anordnungen des Segmentpuffers 80 ist eine Speichererneuerungsschaltung 90 mit dem Segmentpuffer 80 gekoppelt. Außerdem ist eine zentrale Verarbeitungseinheitsschnittstelle 82 ebenfalls mit dem Segmentpuffer 80 gekoppelt.
  • Der FIFO-Puffer 72 ist durch einen Datenbus 70 mit der Fehlerkorrektur 43 gekoppelt und ist ebenfalls auf wirksame Weise mit dem Arbitrator 83 gekoppelt. In der bevorzugten Ausführungsform ist der FIFO 72 bidirektionell. Auf gleiche Weise soll daran erinnert werden, dass die FIFOs 111, 112 und 113 in den Diskcontrollern 91, 92 bzw. 93 ebenfalls bidirektionell sind.
  • Im Betrieb und als Übersicht werden Daten zwischen dem Puffersystem 44 und dem Fehlerkorrektursystem 43 über den FIFO-Puffer 72 und den Datenbus 70 übertragen. Der FIFO-Puffer 72 wird von dem Arbitrator 83 veraltet, der den Datenfluss in den beiden Richtungen überwacht, damit die Daten zu und von dem Segmentpuffer 80 über den Datenbuss 73 fließen. Daten in Form von Datenbursts kurzer Dauer werden in dem Segmentpuffer 80 gesammelt zum Bilden von Datensegmenten, die zu und von den Diskcontrollern 91 bis 93 über den Datenbus 73 übertragen werden. Jeder Diskcontroller an sich überträgt Daten zu und von der zugehörigen Plattenlaufwerkgruppe. Die zentrale Verarbeitungseinheit 75 steuert den Betrieb des Puffersystems 44 und liefert während der Wiedergabe die erforderlichen Adressen zu der Adresslogik 85 entsprechend den wiedergegebenen Datenströmen. Die Adresslogik 85 behält eine Sequenzliste mit Adressen bei, die zur sequentiellen Auslieferung von Daten an dem Datenbus 73 verwendet werden um den Betrag an Daten in dem FIFO 72 in einem vorbestimmten Bereich zu halten. Beim Aufzeichnen schafft die Adresslogik 85 Adressen, die auf die zentrale Verarbeitungseinheit 75 reagieren zur Speicherung von Daten in dem Segmentpuffer 80. Der Arbitrator 83 arbeitet entsprechend den unten beschriebenen Streitlösungsprioritäten zur Lösung von Streitigkeiten am Bus 53 und zum Steuern des Datenflusses zu und von dem Segmentpuffer 80. Auch der Arbitrator 83 priorisiert Anträge zum Zugreifen auf den Segmentpuffer 80 zum Beibehalten von Datenflüsse über den FIFO 72 und den FIFO 111, 112 und 113.
  • Insbesondere benutzt der Segmentpuffer 80 eine Anzahl SIMMs-Speicheranordnungen zum Schaffen einer Speicheranordnung, organisiert als eine Anzahl doppelt gepufferter Ringpuffer, die je genügend Kapazität haben zum Puffern der Hochgeschwindigkeitsdaten, übertragen über den Datenbus 73 zwischen dem FIFO-Puffer 72 und dem FIFO-Puffer 111, 112 und 113. Wie oben erwähnt, kann der Segmentpuffer 80 auf alternative Weise organisiert werden zum Schaffen von Ringpuffern, die eine größere Anzahl Ringpuffersegmente innerhalb jedes Kanalpuffers benutzen, wie eine dreifache oder vierfache Ringpufferung. Die Speicheranordnungen 86 bis 89 sind in einer Reihe und Spalten matrix "fast page" Betriebsart organisiert, so dass aufeinander folgende Schreib- oder Lesevorgänge eine Sequenz von Adressen in einer gemeinsamen Reihe benutzen. Auf diese Weise wird die Geschwindigkeit der Daten, die zu und von den Speicheranordnungen 86 bis 89 übertragen werden, erhöht. Die Verwendung von Speicheranordnungen 86 bis 89, organisiert zum Schaffen von zwei Ringpuffern ermöglicht es, dass die oben genannten gleichzeitig auftretenden Lese- und Schreibvorgänge weiter in der Geschwindigkeit, mit der die Daten zu und von dem Segmentpuffer 80 übertragen werden, erhöht werden können.
  • Weil der Segmentpuffer 80 in einer Reihen- und Spaltenadressmatrix organisiert ist, ist jede Speicherstelle innerhalb der Speicheranordnungen 86 bis 89 durch eine Reihennummer und eine Spaltennummer definiert. Seitenweiser Zugriffsmodusbetrieb (FPM) ist ein System des Speicherzugriffs, angewandt in derartigen Reihen- und Spaltenorganisierten Speichern, in denen die Spaltennummer einer Ausgangsadresse beim Start eines Lese- oder Schreibprozesses progressiv gesteigert wird zum Zugreifen auf jede Folgeadresse innerhalb derselben Reihe mit Adressen. Auf diese Weise fängt in dem System nach der vorliegenden Erfindung die Adresserhöhungsschaltung 81 bei einer bestimmten Ausgangsreihen- und Spaltenreihenadresse und erhöht danach progressiv den Spaltenteil der Ausgangsreihen- und Spaltenadresse um über die Speicheranordnung zu verlagern, indem dennoch innerhalb einer einzigen Reihe verblieben wird. Die Adresssteuerlogik innerhalb des Segmentpuffers 80 ist flexibel und programmierbar zum Begleichen von Änderungen in der Wirkungsweise des Systems und zum Erfüllen der relativ komplexen Adressierungsanforderungen, die durch die Verwendung von Fehlerkorrektur vom RAID-Typ entstanden sind.
  • Wie oben erwähnt, findet jede Übertragung von Daten zu und von den Systemplattenlaufwerken in Form eines einheitlich bemessenen Datensegmentes statt. In dem Pufferbetrieb sammelt der Segmentpuffer 80 Nummern von Datenbursts kurzer Dauer innerhalb jedes Datenkanals zum Bilden kompletter Datensegmente für die Datenkanäle und umgekehrt. Der Segmentpuffer 80 hat eine ausreichende Kapazität um eine Vielzahl Datensegmente für den Datenkanal jedes Plattenlaufwerkes innerhalb jeder der Plattenspeichergruppen zu speichern, die von Diskcontrollern 91 bis 93 gesteuert werden. Entsprechend einem wichtigen Aspekt der vorliegenden Erfindung ist die große Kapazität des Segmentpuffers 80 kosteneffektiv gemacht durch die Fähigkeit der vorliegenden Erfindung, preisgünstige SIMMs-Anordnungen in einer komplexen Umwelt zu verwenden.
  • Während eines Aufzeichnungsvorgangs, wobei innerhalb Diskanordnungen 94 bis 96 Daten gespeichert werden sollen, fließen Daten in den FIFO-Puffer 72. Von dem FIFO-Puffer 72 werden Daten für jeden Datenkanal in ein einziges Segment des Ringpuffers innerhalb des Segmentpuffers 80 geschrieben.
  • Gleichzeitig werden Daten, die vorher in ein anderes Segment jedes Ringpuffers innerhalb des Segmentpuffers 80 geschrieben wurden, aus dem Segmentpuffer 80 ausgelesen und über die Diskcontroller 91 bis 93 zu den Plattenlaufwerken übertragen, die sie steuern. Entsprechend dem Puffervorgang des Segmentpuffers 80 werden Daten nicht zu Diskcontrollern übertragen, bis ein ausreichender Betrag an Daten gesammelt worden ist um ein volles Segment zu enthalten. Dagegen fließen während eines Wiedergabevorgangs, in dem Daten aus den Plattenanordnungen 94 bis 96 wieder gewonnen werden, Daten in die FIFO-Puffer 111, 112 und 113. Aus den FIFO-Puffern 111, 112 und 113 werden Daten in ein Segment jedes Ringpuffers eines Kanals innerhalb des Segmentpuffers 80 geschrieben, während Daten gleichzeitig aus dem anderen Segment des Ringpufferns des Kanals innerhalb des Segmentpuffers 80 ausgelesen und zu dem FIFO 72 übertragen werden.
  • Der Arbitrator 83 steuert den Datenfluss zwischen dem Segmentpuffer 80 und dem FIFO-Puffer 72 und den FIFO-Puffern 111, 112 und 113 innerhalb der Diskcontroller 91, 92 und 93 auf die unten beschriebene Art und Weise. Jede Übertragung von Daten zu und von dem Segmentpuffer 80 rührt von Zugriffsanträgen durch Systemelemente her ermöglicht durch und gewährt von dem Arbitrator 83 entsprechend der Streitlösungspriorität des Arbitrators, wie nachstehend detailliert beschrieben. Zum Beibehalten eines Datenflusses mit hoher Geschwindigkeit wird jede Übertragung von Daten zu und von dem Segmentpuffer 80 in Form extrem kleiner Datenbursts durchgeführt, die mit ausreichender Geschwindigkeit auftreten um einer kontinuierlichen Datenübertragung für jeden auf das System zugreifenden Segmentpuffer 80 anzunähern. Auf diese Weise wird, jeweils wenn die Diskcontroller 91 bis 93 Zugriff auf den Segmentpuffer 80 erfordern, ein Antrag an den Arbitrator 83 gemacht. Auf gleiche Weise wird jeweils wenn die Adresslogik 85 Zugriff auf den Segmentpuffer 80 erfordert, um Daten zu und von dem FIFO-Puffer zu übertragen, ein Antrag von der Adresslogik 85 an den Arbitrator 83 gestellt. Zum Schluss wird jeweils, wenn die Erneuerungslogik 86 einen Datenerneuerungszyklus für den Segmentpuffer 80 beantragt, gewährt der Arbitrator 83 Zugriff auf den Segmentpuffer 80 für die Erneuerungslogik 86.
  • Wie oben erwähnt, löst der Arbitrator 83 alle Streitigkeiten zum Zugriff auf den Segmentpuffer 80. In der Durchführung dieser Funktion benutzt der Arbitrator 83 eine gesamte Streitlösungspriorität, wobei dem Antrag der Datenerneuerung die höchste Priorität erteilt wird, wobei dem Antrag der zentralen Verarbeitungseinheit 75 die nächste Priorität erteilt wird. Die nächste Priorität wird dem Antrag von der Zugriffslogik 84 erteilt zur Übertragung von Daten zu und von dem FIFO-Puffer 72 und die niedrigste Priorität erhalten die Diskcontroller 91 bis 93. Mit dieser aufgestellten gesamten Priorität muss auch ein Streit zwischen jedem der Diskcontroller 91, 92 und 93 durch den Arbitrator 83 gelöst werden. Bei dieser Lösung wird eine umlaufende Priorität, wie in 4 beschrieben, angewandt.
  • Der Arbitrator 83 steuert den Datenfluss durch Reaktion auf den Betrag an Daten innerhalb des FIFOs 72 und der FIFOs 111, 112 und 113. Abhängig von der Richtung des Datenflusses (Wiedergabe- oder Aufzeichnungsvorgang) wird der Arbitrator 83 dem Segmentpuffer 80 Zugriff gewähren um eine Überfüllung oder Entleerung des FIFOs 72 oder der FIFOs 111, 112 und 113 zu vermeiden. So fließen beispielsweise während des Wiedergabevorgangs Daten von dem Diskcontroller 91, 92 und 93 zu dem Kommutator 17 (siehe 1). Auf entsprechende Weise gewährt der Arbitrator 83 Zugriff auf den Segmentpuffer 80 zur Datenübertragung von den FIFOs 111, 112 und 113, ob sie zur Hälfte oder mehr gefüllt sind. Zugriff auf den Segmentpuffer 80 zur Datenübertragung zu dem FIFO 72 wird gewährt, wenn der FIFO 72 zur Hälfte oder weniger voll ist. Dagegen wird während des Aufzeichnungsvorgangs Zugriff auf den Segmentpuffer 80 zur Datenübertragung von dem FIFO 72 gewährt, wenn der FIFO 72 zur Hälfte oder mehr voll ist, während Zugriff zur Übertragung zu den FIFOs 111, 112 und 113 gewährt wird, wenn sie zur Hälfte oder weniger voll sind. Auf diese Weise ist der Arbitrator 83 durch "Auswuchtung" von Datenpegeln in dem FIFO 72 und in den FIFOs 111, 112 und 113 unter Verwendung des Segmentpuffers 80 imstande, einen Datenfluss zu und von der Speicheranordnung beizubehalten, der als kontinuierlich erscheint.
  • 4 zeigt ein Diagramm der rotierenden Priorität, von dem Arbitrator 83 benutzt zur Streitlösung zwischen den Diskcontrollern 91 bis 93. Wie bereits oben erwähnt, empfängt der Arbitrator 83 alle Zugriffsanträge für die Systemelemente, die Zugriff auf den Segmentpuffer 80 beantragen. Wie auch bereits oben erwähnt, stellt die gesamte Prioritätsliste für den Arbitrator 83 die höchste Priorität für die Datenerneuerung auf, die nächste Priorität für die zentrale Verarbeitungseinheit 75, die nächste Priorität für den FIFO-Puffer 72 und die niedrigste Priorität für die Diskcontroller 91 bis 93. Auf diese Weise sind die Streitigkeiten zwischen den Diskcontrollern 91 bis 93 die einzigen Streitigkeiten, die von dem Arbitrator 83 unter Verwendung des in 4 dargestellten drehenden Prioritätssatzes gelöst werden. Das gesamte Ziel der drehenden Priorität des Systems nach der vorliegenden Erfindung ist der Wunsch, eine Unterbrechung des Datenflusses für alle FIFO-Puffer in den Diskcontrollern 91 bis 93 zu vermeiden. Außerdem ist ein weiteres Ziel der Bildung der drehenden Priorität des System nach der vorliegenden Erfindung zu gewährleisten, dass minimale Zeit verloren geht bei Zugreifen auf den Segmentpuffer 80, der einem Diskcontroller zur Verfügung steht, der keinen Zugriff erfordert in einer Zeit, dass Zugriff verfügbar gestellt wird. Das heißt, beschäftigte Diskcontroller sollen nicht gezwungen werden zu warten, während freie oder weniger beschäftigte Diskcontrollern Zugriff auf den Segmentpuffer 80 gewährt wird. Da diese drehende Priorität nur zwischen streitenden Diskcontrollern angewandt wird, funktioniert sie nicht bei Prioritätsstreitigkeiten zwischen anderen Elementen des Systems.
  • Mit der oben stehenden Übersicht lassen sich die Einzelheiten der von dem Arbitrator 83 drehenden Priorität am besten verstehen durch Untersuchung des Diagramms nach 4. Eine Trio von Prioritätszuständen 100, 101 und 102 wird innerhalb des Arbitrators 83 gebildet, die sich im Uhrzeigersinn zwischen jedem der drei Zustände dreht. Es dürfte einleuchten, dass die Darstellung nach 4 und der Ausdruck "Drehung" zur Erläuterung des sequentiellen Betriebs des Arbitrators 83 zwischen den drei Prioritätszuständen und zur Erleichterung des Verständnisses des drehenden Prioritätssystems benutzt werden. Dieser sequentielle Vorgang kann in Software- oder in Firmwaresystemen implementiert werden.
  • Es wird nun zunächst vorausgesetzt, dass der Arbitrator 83 den Zustand 100 annimmt, dass die zwischen den Diskcontrollern 91 bis 93 aufgestellten Prioritäten den Controller 91 als höchste platziert, den Controller 92 danach und dass der Controller 93 die niedrigste Priorität hat. Dadurch, der Arbitrator 83 befindet sich in dem Zustand 100, wird dem Diskcontroller 91 zunächst Zugriff gewährt, danach dem Diskcontroller 92 und dann dem Diskcontroller 93. Der Arbitrator 83 bleibt in dem Prioritätszustand 100 bis ein Antrag zum Zugriff von dem Diskcontroller präsentiert wird, worauf eine Zugriffsgewährung an den beantragenden Diskcontroller folgt. Die Zugriffsgewährung an den Diskcontroller sorgt dafür, dass der Arbitrator 93 aus dem Zustand 100 in den Zustand 101 dreht. Es sei bemerkt, dass die Drehung des Arbitrators 83 nur in Reaktion auf die Gewährung des Zugriffs an einen der Diskcontroller auftritt, ungeachtet ob es zwischen beantragenden Controllern eines Streit gibt oder ob eine Streitigkeitslösung wirklich angefordert wurde. Auf diese Weise, wenn der Arbitrator 83 sich in dem Zustand 100 befindet und ein Antrag zum Zugriff wird von einem der Diskcontroller 91, 92 oder 93 gestellt und ein derartiger Zugriff wird gewährt, dann dreht der Arbitrator 83 in den Zustand 101.
  • In dem Zustand 101 bildet der Arbitrator 83 eine andere Priorität zwischen den Diskcontrollern, wobei der Controller 92 nun die höchste Priorität hat, wobei der Controller 93 die nächste Priorität hat und der Controller 91 die niedrigste Priorität hat. Auch an dieser Stelle soll erwähnt werden, dass der Arbitrator 83 in dem Zustand 101 bleibt, bis Zugriff beantragt und gewährt wird im Auftrag eines der Diskcontroller. In Reaktion darauf dass Zugriff von dem Diskcontroller beantragt und dieser Antrag gewährt wird, dreht der Arbitrator 83 in den Zustand 102. Der Zustand 102 wird gekennzeichnet durch eine andere Priorität, die dem Diskcontroller 93 die höchste Priorität gewährt, wobei die nächste Priorität dem Diskcontroller 91 gegeben wird und wobei die niedrigste Priorität für den Diskcontroller 92 ist. In Reaktion auf den nächsten Antrag auf Zugriff und die nächste Gewährung davon im Auftrag eines Diskcontrollers dreht der Arbitrator 83 wieder in den Zustand 100 und ordnet die Prioritäten beschrieben für den Zustand 100 zu. Dies drehende Priorität setzt sich zyklisch fort wenn aufeinander folgende Zugriffsanträge den jeweiligen Diskcontrollern gewährt werden. Auf diese Weise behält die drehende Priorität den höchsten Prioritätspegel der einheitlichen Aktivität und des Datenflusses im Auftrag der Diskcontroller 91 bis 93.
  • Was dargestellt worden ist, ist ein Datenpuffersystem zum Einsatz in einer Umgebung mit vielen Datenspeicheranordnungen, wie in einem Videoserver, wobei serielle Daten mit hoher Geschwindigkeit zu und von die vielen Plattenanordnungen kommuniziert werden. Das Datenpuffersystem benutzt relativ preisgünstige Speicheranordnungen in einer DRAM-Konfiguration zum Schaffen von Charakteristiken von Mehrfachanschlüssen. Die Speicheranordnungen sind vorgesehen zum Schaffen eines Betriebs in "fast page mode", was die Datengeschwindigkeit des Puffersystems steigert. Jeder Puffer ins konfiguriert zum Schaffen einer doppelten Pufferung innerhalb jedes Datenkanals unter Verwendung einer Anzahl Ringpuffer. Eine verbesserte Datenübertragungsgeschwindigkeit wird geschaffen durch gleichzeitigen Anwenden von Lese- und Schreibvorgängen innerhalb des Datenpuffers. Daten werden zu und von dem Datenpuffer in Form kur dauernder Datenbursts übertragen, wie innerhalb jedes Ringpuffers des Datenpuffers gesammelt werden zum Bilden größerer Datensegmente, in ihrer Größe geeignet um auf effiziente Art und Weise in Plattenlaufwerkspeicher innerhalb der Plattenanordnungen eingeschrieben und aus denselben ausgelesen zu werden. Ein Arbitrator zur Streitigkeitenlösung steuert den Zugriff auf den Datenpuffer und löst Streitigkeiten auf Basis einer Gesamtpriorität und einer drehenden Subpriorität.
  • Während spezielle Ausführungsformen der vorliegenden Erfindung dargestellt und beschrieben worden sind, dürfte es dem Fachmann einleuchten, dass im Rahmen der vorliegenden Erfindung in breiteren Aspekten Änderungen und Abwandlungen durchaus möglich sind.

Claims (6)

  1. System (10) zur Anwendung bei der Speicherung und/oder Wiedergewinnung großer Mengen an Daten zum Beibehalten einer Vielzahl im Wesentlichen kontinuierlicher Datenströme, wobei dieses System die nachfolgenden Elemente umfasst: – eine Anzahl Eingangs-/Ausgangsanordnungen (1116) mit je einer Anzahl Eingangs-/Ausgangsdatenkanäle; – eine Anzahl Anordnungscontroller (9193), mit je einer Anzahl Diskcontrollerdatenkanäle; – Kopplungsmittel (7074) zum Koppeln von Daten zwischen den genannten Eingangs/-Ausgangsanordnungen und der genannten Anzahl Anordnungscontroller; – eine Anzahl Diskanordnungen (9496), die mit den genannten Anordnungscontrollern gekoppelt sind, mit je einer Anzahl Diskspeicher, wobei die genannten Diskspeicher Datenstellenzeitintervalle aufweisen, wenn Daten gespeichert und/oder wiedergewonnen werden; und – Übertragungsmittel (9799), die mit den genannten Anordnungscontrollern zusammenarbeiten zum Übertragen von Daten zu und/oder von den genannten Diskanordnungen; dadurch gekennzeichnet, dass das System (10) weiterhin die nachfolgenden Elemente umfasst: – eine Anzahl Pufferspeicher (80), die für jeden der genannten Diskcontrollerdatenkanäle einen Pufferspeicher bilden – zum Empfangen von Daten von den genannten Eingangs-/Ausgangsanordnungen in Form von kurz dauernden Datenbursts und zum Sammeln der genannten kurz dauernden Datenbursts zum Bilden von Datensegmenten im Wesentlichen größer als die genannten Datenbursts und in der Dauer im Wesentlichen größer als die genannten Zeitintervalle und zum Liefern der genannten Datensegmente zu den genannten Anordnungscontrollern, und – zum Empfangen von Daten von den genannten Anordnungscontrollern in Form der genannten Datensegmente und zum Liefern derartiger Daten zu den genannten Eingangs/Ausgangsanordnungen in Form der genannten Datenbursts kurzer Dauer; und dass die Kopplungsmittel vorgesehen sind zum Koppeln von Daten zwischen den ge nannten Eingangs-/Ausgangsanordnungen und der genannten Anzahl Pufferspeicher in Form der genannten Datenbursts kurzer Dauer.
  2. System (10) nach Anspruch 1, wobei die genannten Kopplungsmittel einen Kommutator (17) aufweisen, der derart funktioniert, dass er jede der genannten Eingangs/Ausgangsanordnungen (1116) mit jedem der genannten Anordnungscontroller (9193) über die genannte Anzahl Pufferspeicher (80) entsprechend einer sich wiederholenden Sequenz sequentiell koppelt.
  3. System (10) nach Anspruch 2, wobei die genannten Kopplungsmittel (7074) weiterhin eine Anzahl Fehlerkorrekturschaltungen (43) enthalten, die zwischen dem genannten Kommutator (17) und der genannten Anzahl Pufferspeicher (80) vorgesehen sind.
  4. System (10) nach Anspruch 2, wobei die genannte Sequenz dafür sorgt, dass jede der genannten Eingangs-/Ausgangsanordnungen (1116) über die genannte Anzahl Pufferspeicher (80) wenigstens einmal während einer Zeitperiode T mit jedem der genannten Anordnungscontroller (9192) einzeln gekoppelt ist.
  5. Verfahren zur Anwendung beim Speichern und/oder Wiedergewinnen großer Mengen an Daten zum Beibehalten einer Anzahl im Wesentlichen kontinuierlicher Datenströme, wobei dieses Verfahren die nachfolgenden Verfahrensschritte umfasst: – das Übertragen von Daten zu und/oder von einer Anzahl Eingangs-/Ausgangsdatenkanäle; und – das Übertragen von Daten zu und/oder von einer Anzahl Diskspeicher, wobei die genannten Diskspeicher beim Speichern und/oder Wiederherstellen von Daten Datenstellenzeitintervalle aufweisen; dadurch gekennzeichnet, dass das Verfahren weiterhin die nachfolgenden Verfahrensschritte umfasst: – das Speichern von Daten, die von den genannten Eingangs-/Ausgangskanälen zu den genannten Diskspeichern in Form kurz dauernder Datenbursts übertragen worden sind, zum Sammeln der genannten kurz dauernden Datenbursts in Datensegmente, die wesentlich größer sind als die genannten Datenbursts und wesentlich größer in ihrer Dauer als die genannten Zeitintervalle; und – das Puffern von Daten, die von den genannten Diskspeichern zu den genannten Eingangs-/Ausgangskanälen übertragen worden sind zum Bilden der genannten Datensegmente zu den genannten kurz dauernden Datenbursts.
  6. Verfahren nach Anspruch 5, wobei das Verfahren weiterhin Folgendes umfasst: die Fehlerkorrektur an Daten, die von den genannten Datenkanälen zu den genannten Diskspeichern übertragen worden sind, und zwar vor der Pufferung derartiger Daten, und die Fehlerkorrektur an Daten, die von den genannten Diskspeichern zu den genannten Eingangs-/Ausgangskanälen übertragen worden sind, nach der Pufferung derartiger Daten.
DE69731822T 1996-11-20 1997-10-27 Datenpuffersystem für mehrere datenspeicheranordnungen Expired - Fee Related DE69731822T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/752,864 US5878280A (en) 1993-09-23 1996-11-20 Data buffering system for plural data memory arrays
US752864 1996-11-20
PCT/IB1997/001342 WO1998022868A1 (en) 1996-11-20 1997-10-27 Data buffering system for plural data memory arrays

Publications (2)

Publication Number Publication Date
DE69731822D1 DE69731822D1 (de) 2005-01-05
DE69731822T2 true DE69731822T2 (de) 2005-12-01

Family

ID=25028198

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69731822T Expired - Fee Related DE69731822T2 (de) 1996-11-20 1997-10-27 Datenpuffersystem für mehrere datenspeicheranordnungen

Country Status (5)

Country Link
US (1) US5878280A (de)
EP (1) EP0880736B1 (de)
JP (1) JP2000507017A (de)
DE (1) DE69731822T2 (de)
WO (1) WO1998022868A1 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038619A (en) * 1997-05-29 2000-03-14 International Business Machines Corporation Disk drive initiated data transfers responsive to sequential or near sequential read or write requests
US6178486B1 (en) * 1998-02-19 2001-01-23 Quantum Corporation Time allocation shared memory arbitration for disk drive controller
US6260090B1 (en) * 1999-03-03 2001-07-10 International Business Machines Corporation Circuit arrangement and method incorporating data buffer with priority-based data storage
US6748481B1 (en) * 1999-04-06 2004-06-08 Microsoft Corporation Streaming information appliance with circular buffer for receiving and selectively reading blocks of streaming information
US6820144B2 (en) 1999-04-06 2004-11-16 Microsoft Corporation Data format for a streaming information appliance
US6535920B1 (en) 1999-04-06 2003-03-18 Microsoft Corporation Analyzing, indexing and seeking of streaming information
US6463486B1 (en) * 1999-04-06 2002-10-08 Microsoft Corporation System for handling streaming information using a plurality of reader modules by enumerating output pins and associated streams of information
GB0008691D0 (en) * 2000-04-07 2000-05-31 Post Impressions Systems Ltd Input and output systems for data processing
US7406547B2 (en) * 2000-08-09 2008-07-29 Seagate Technology Llc Sequential vectored buffer management
FI116167B (fi) * 2001-12-18 2005-09-30 Valtion Teknillinen Arkistoiva tiedostopalvelin
JP2003281071A (ja) * 2002-03-20 2003-10-03 Seiko Epson Corp データ転送制御装置、電子機器及びデータ転送制御方法
KR100448905B1 (ko) * 2002-07-29 2004-09-16 삼성전자주식회사 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치
US20040268022A1 (en) * 2003-06-26 2004-12-30 Sheng-Zhong Shieh Method for expediting reading and writing on a non-volatile storage medium
US7454686B2 (en) * 2004-11-23 2008-11-18 International Business Machines Corporation Apparatus and method to check data integrity when handling data
US7657671B2 (en) * 2005-11-04 2010-02-02 Sun Microsystems, Inc. Adaptive resilvering I/O scheduling
US7478179B2 (en) * 2005-11-04 2009-01-13 Sun Microsystems, Inc. Input/output priority inheritance wherein first I/O request is executed based on higher priority
US20070106849A1 (en) * 2005-11-04 2007-05-10 Sun Microsystems, Inc. Method and system for adaptive intelligent prefetch
JP2008293484A (ja) * 2007-04-27 2008-12-04 Panasonic Corp バッファメモリ共有装置
US20090034110A1 (en) * 2007-07-30 2009-02-05 Kabushiki Kaisha Toshiba 1-1 Disk drive apparatus and multi-tasking method
US7777653B2 (en) 2008-07-15 2010-08-17 International Business Machines Corporation Decoding variable-length code (VLC) bitstream information
US7791509B2 (en) * 2008-07-15 2010-09-07 International Business Machines Corporation Preprocessing variable-length code (VLC) bitstream information
US8762602B2 (en) * 2008-07-22 2014-06-24 International Business Machines Corporation Variable-length code (VLC) bitstream parsing in a multi-core processor with buffer overlap regions
US8595448B2 (en) * 2008-07-22 2013-11-26 International Business Machines Corporation Asymmetric double buffering of bitstream data in a multi-core processor
JP5068300B2 (ja) * 2009-11-24 2012-11-07 インターナショナル・ビジネス・マシーンズ・コーポレーション データフロー及びプロセッサのメモリ共有化ための装置、方法及びプログラム
WO2015018065A1 (zh) 2013-08-09 2015-02-12 华为技术有限公司 一种文件处理方法、装置及存储设备
KR20180038875A (ko) * 2016-10-07 2018-04-17 삼성전자주식회사 데이터 입출력 유닛, 전자 장치 및 그 제어 방법들
US10684789B2 (en) * 2018-06-15 2020-06-16 International Business Machines Corporation Scheduled recall in a hierarchical shared storage system
US11869539B2 (en) * 2020-05-11 2024-01-09 Sony Group Corporation Information processing device and information processing method

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3893088A (en) * 1971-07-19 1975-07-01 Texas Instruments Inc Random access memory shift register system
FR2468990A1 (fr) * 1979-08-16 1981-05-08 France Etat Commutateur a plusieurs couches de points de croisement
US5038277A (en) * 1983-11-07 1991-08-06 Digital Equipment Corporation Adjustable buffer for data communications in a data processing system
FR2623682A1 (fr) * 1987-11-24 1989-05-26 Cgv Comp Gen Videotech Grille de commutation
US4949187A (en) * 1988-12-16 1990-08-14 Cohen Jason M Video communications system having a remotely controlled central source of video and audio data
DE68929288T2 (de) * 1988-12-19 2001-11-15 Nec Corp Datenübertragungsvorrichtung
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
US5206943A (en) * 1989-11-03 1993-04-27 Compaq Computer Corporation Disk array controller with parity capabilities
US5185876A (en) * 1990-03-14 1993-02-09 Micro Technology, Inc. Buffering system for dynamically providing data to multiple storage elements
US5179552A (en) * 1990-11-26 1993-01-12 Bell Communications Research, Inc. Crosspoint matrix switching element for a packet switch
US5311423A (en) * 1991-01-07 1994-05-10 Gte Service Corporation Schedule management method
US5237658A (en) * 1991-10-01 1993-08-17 Tandem Computers Incorporated Linear and orthogonal expansion of array storage in multiprocessor computing systems
JP2777301B2 (ja) * 1992-01-07 1998-07-16 三菱電機株式会社 記録装置
US5371532A (en) * 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
US5341474A (en) * 1992-05-15 1994-08-23 Bell Communications Research, Inc. Communications architecture and buffer for distributing information services
US5471640A (en) * 1992-07-06 1995-11-28 Hewlett-Packard Programmable disk array controller having n counters for n disk drives for stripping data where each counter addresses specific memory location by a count n
AU5442494A (en) * 1992-10-13 1994-05-09 Compaq Computer Corporation Disk array controller having advanced internal bus protocol
US5341258A (en) * 1992-11-25 1994-08-23 Gte Vantage Incorporated Automated cassette library system
US5442390A (en) * 1993-07-07 1995-08-15 Digital Equipment Corporation Video on demand with memory accessing and or like functions
US5440336A (en) * 1993-07-23 1995-08-08 Electronic Data Systems Corporation System and method for storing and forwarding audio and/or visual information on demand
US5392244A (en) * 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management
US5539660A (en) * 1993-09-23 1996-07-23 Philips Electronics North America Corporation Multi-channel common-pool distributed data storage and retrieval system
US5808607A (en) * 1995-04-07 1998-09-15 International Business Machines Corporation Multi-node media server that provides video to a plurality of terminals from a single buffer when video requests are close in time

Also Published As

Publication number Publication date
JP2000507017A (ja) 2000-06-06
WO1998022868A1 (en) 1998-05-28
EP0880736A1 (de) 1998-12-02
US5878280A (en) 1999-03-02
EP0880736B1 (de) 2004-12-01
DE69731822D1 (de) 2005-01-05

Similar Documents

Publication Publication Date Title
DE69731822T2 (de) Datenpuffersystem für mehrere datenspeicheranordnungen
DE69632424T2 (de) Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe
DE69534248T2 (de) Mehrbenutzersystem für Datenspeicherung, -zugriff und -verteilung, mit verteilter Speicherung eines kontinuierlichen Datenstromes
DE69534861T2 (de) Netzwerkvideoanbietersystem
DE69915243T2 (de) Speicherplattenanordnung-Steuerungsvorrichtung
DE2753063C3 (de)
DE60316141T2 (de) Echtzeit-speicherbereichsnetzwerk
DE69727721T2 (de) Rechnervorrichtung und Bussteuerungsschema
DE3935235A1 (de) Speicherungsverfahren fuer microcomputersysteme
DE2448212A1 (de) Asynchrone sammelleitung zur selbstbestimmten kommunikation zwischen mutterrechnergeraeten und tochtergeraeten
DE69632513T2 (de) Multimediadienstesystem
DE69534994T2 (de) Steuerungsvorrichtung für speicherplattenanordnung und speicherplattenanordnungsgerät
DE3704056A1 (de) Peripherer dma-controller fuer datenerfassungssysteme
DE69730399T2 (de) Schnittstellengerät zur Anpassung von Datenbreite an Systembusbreite
DE69733199T2 (de) Verfahren und audio-server-system für ein unzuverlässiges netzwerk
EP1234226B1 (de) Backup- und archivierungssystem mittels bandkassetten für datenverarbeitungsanlagen
DE602004008712T2 (de) Speicherbandbreiten-Steuereinrichtung
DE69918201T2 (de) Videodatenspeicherung und -übertragung sowie Verfahren dafür
DE602004005820T2 (de) Prozessorarray
DE60026836T2 (de) Anordnungen und verfahren für eine plattensteuerungspeicher architektur
DE2404887C2 (de) Schaltungsanordnung für den Informationsaustausch mit einem Rechner
DE69737962T2 (de) Netzwerkvideoserver
DE3801547A1 (de) Daten-ein/ausgabevorrichtung
DE102006052328A1 (de) Paralleles Datenspeichersystem
EP0528060B1 (de) Verfahren zur Durchführung von Ein-/Ausgabeoperationen in Datenverarbeitungssystemen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee