Nova Patents
EP0740247A2

Data stream server system

Abstract

A server system (2) for storing and supplying data to a destination includes a plurality of disk drives (4) for storing data, a buffer memory (8) for temporarily storing a portion of the data from the disk drives (4), a reconstruction unit (10) for reconstructing a portion of the data from at least one of the disk drives (4) using a portion of the data from a plurality of the remaining disk drives (4) so that at least one of the disk drives (4) holding data belonging to the current parity group can be bypassed (either because that disk (4) is faulty or because there are already many queued read-requests for it), a control unit (12) for controlling the server system (2), and an output unit (14) for outputting data from either or both of the buffer memory (8) and the reconstruction unit (10). The server system (2) reduces congestion problems, reduces buffering requirements, and provides load balancing and fault tolerance. The server system may be a video storage server.

EP0740247A2, drawing sheet 1
Sheet 1 of 6

Term

Term ended

Projected expiry passed 19 April 2016, 10.4 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

15 claims: 5 independent, 10 dependent

  1. 1
    A server system for storing and supplying data, comprising:a plurality of memory units (4) each storing data;a buffer memory (8) operatively connected to said memory units, for temporarily storing a portion of data from said memory units;a reconstruction unit (10) operatively connected to said buffer memory for reconstructing a portion of data from at least one of said memory units using a portion of the data from a plurality of the remaining memory units so that at least one of said memory units can be bypassed;a control unit (12) operative to examine queues associated with said memory units to obtain queue information and then to decide on the basis thereof whether to bypass any of said memory units;and an output unit (14) for outputting data from either or both of said buffer memory and said reconstruction unit.
  2. 5
    A server system as recited in any preceding claim, wherein said control unit (12) comprises means for examining congestion at each of the queues;and means for identifying among said memory units holding data of a given set of data the one of said memory units associated with the queue with the most congestion.
  3. 8
    A server system as recited in any preceding claim, wherein said control unit (12) is operable to examine operational status of said memory units and to decide whether to bypass any of said memory units by using both queue information and operational information.
  4. 9
    A method of storing data in a number of memory units (4), comprising the steps of:(a) ordering the memory units to form a memory unit sequence;(b) partitioning data to be recorded into a plurality of data chunks;(c) selecting a set of consecutive data chunks of equal size;(d) respectively recording the set of data chunks on a set of the memory units in the sequence;(e) determining a redundancy chunk for the set of data chunks;and (f) recording the redundancy chunk on the next memory unit in the sequence.
  5. 10
    A method of supplying data streams from memory units (4) to a destination, the data streams being formed from data obtained from the memory units, data being partitioned into blocks, each block being partitioned into a set of data chunks which are stored on a set of different ones of the memory units, at least one redundancy chunk for each set of data chunks being stored in another of the memory units, one chunk per memory unit, the data chunks of each of the blocks of the data along with the at least one redundancy chunk form a group, said method comprising the steps of:(a) maintaining a queue of access requests for each of the memory units (4);(b) examining queue state information of the queues of the memory units associated with a group;(c) selectively reconstructing at least one of the data chunks of the set from the other data chunks of the set and the associated reconstruction chunk based on both queue state information corresponding to the reconstruction chunk and queue state information corresponding to at least one of the data chunks;and (d) supplying the data chunks to the destination.