Video server memory management method

Abstract: The present invention relates to a video server memory management for a video server transmitting video signals (VS) to user stations in response to control signals issued by these stations. This method includes the steps of providing a memory constituted by a plurality of random access memories (HD1/../HD4) and subdividing each of said video signals in a plurality of distinct blocks (BL1/../BLQ) each typically corresponding to less than a second of the video signal. It is further proposed to include in this method the step of storing any two blocks (BL1/../BLQ) which normally are to be consecutively retrieved from the memory in distinct random access memories (HD1/../HD4). In this way the full interactive video on demand service, giving the user stations control over the way in which the blocks are retrieved from the memory, is improved as is the rate at which a predetermined sequence of blocks is retrieved from the memory.

Description: The present invention relates to a video server memory management method including the steps of providing a memory constituted by a plurality of random access memories each having a single output for retrieving data stored therein, subdividing each of said video signals in a plurality of distinct blocks corresponding to successive parts of said video signal, storing at least two of said blocks in each of said random access memories, and, retrieving said blocks from said random access memories in a predetermined sequence, and two consecutive blocks of said predetermined sequence being stored in distinct ones of said random access memories, said plurality of random access memories being constituted by an even number of disk shaped memories each having a plurality of cylinders constituting equally large first and second subsets of memories, said method further including the step of storing consecutive odd numbered blocks and consecutive even numbered blocks of said sequence in successive cylinders of said first and of said second subset respectively. A similar memory management method is already known from the PCT application WO-A-90/07184. This known method has the drawback that the rate at which data can be retrieved is restricted. In using hard disks or other disk shaped memories and applying the method described in the above PCT application this rate is equal to the average transfer rate at which data may be retrieved from the "memory banks" on the disks. An object of the present invention consists in providing a memory management method of the above known type but allowing the above predetermined sequence to be retrieved at a rate exceeding the above mentioned average transfer rate thereby improving the number of blocks that can be retrieved and hence also the "granularity" with which the video signal can be provided to the user stations in using a predetermined number of hard disks. This object is achieved thanks to a feature of the present method which consists in that said storing of said consecutive odd numbered blocks and said consecutive even numbered blocks of said sequence in successive cylinders of said first and of said second subset respectively is done in first and second directions respectively which are mutually opposite. In this way, and taking for instance a plurality of two disk shaped memories, the rate at which the predetermined sequence can be generated substantially equals the average of the maximum sustainable transfer rate corresponding to the inner cylinder of the disk shaped memory and the maximum transfer rate of the disk shaped memory corresponding to its outer cylinder. Indeed, in considering the retrieval of any two blocks which are consecutively retrieved according to the predetermined sequence, for instance the one described in the above mentioned article, the first and second of these blocks are retrieved with transfer rates respectively smaller and larger than the above average rate which verifiably leads to a generation rate equalling the above average rate. A further advantage of this feature is that random access memories may be formatted according to the same memory management method suitable for providing the large number of "blocks" as well as the interactive video on demand service. If care is taken that any two consecutive blocks of the video signal correspond to two blocks consecutively retrieved in accordance with the predetermined sequence, this is even the case when this predetermined sequence is arrived at via the above known block interleaving scheme. A further feature of the present invention is that said plurality of memories comprises a sequence of M consecutively numbered random access memories and said plurality of blocks comprises a sequence of Q consecutively numbered blocks and that each of said blocks with sequence number Y is stored in the random access memory with sequence number equal to Y mod M. In this way a simple mathematical relation for distributing the blocks over said plurality of random access memories is provided for the cases in which M is larger than two. This is advantageous since for instance a complete video signal of 100 minutes may then be fully distributed over for instance 8 available memories, thus allowing 40 user stations to start viewing the video signal almost simultaneously and permitting each of these user stations to fast forward or rewind through the full video signal. The above relation further not only simplifies the control of the retrieval process when the blocks are stored in more than two random access memories but also ensures that all user stations, after having retrieved a block from one of the random access memories, must retrieve their next block from a same next random access memory so avoiding in a simple way that conflicts arise between the retrieval processes of distinct user stations. Still a further feature of the present invention is that said single outputs of said plurality of random access memories are controlled from a same memory controller via a bus. Since in so doing all random access memories over which a same video signal or portion thereof is distributed are controlled by a single memory controller, the present memory management method does not require synchronization as would be necessary when distinct controllers would have to be used. Yet another feature of the present invention is that said method further includes the step of providing within said video signal a spread mode indicator indicating the number M of said plurality of memories. As the way in which the video signal or portion thereof is stored in the plurality of random access memories is thus defined within the video signal itself, it can be seen, also taking the mentioned mathematical relation into account, that a reduction of the control signals required to retrieve the video signal is so obtained. The above mentioned and other objects and features of the invention will become more apparent and the invention itself will be best understood by referring to the following description of an embodiment taken in conjunction with the accompanying drawings wherein: Fig. 1 shows a format in which a video signal VS is stored in memories HD1-4 and HD11-22 represented in Figs. 2 and 3 respectively; Fig. 2 schematically depicts how, according to the method of the present invention, the video signal VS of Fig. 1 is distributed over the memories HD1-4 having an associated control structure SCSI, SCSIC; and, Fig. 3 schematically depicts how the video signal VS is stored within disk shaped memories HD11-22 according to the method of the present invention. The present video server memory management method is used to store the video signal VS in and retrieve it from the memories of the video server described in detail in the co-pending European Patent Application N° EP-A-0 625 857 of even date and entitled "Video server". Before discussing the management method itself the format in which the video signal is stored on such memories is briefly discussed with reference to Fig. 1. The digital video signal VS of Fig. 1 is obtained from a so called MPEG bitstream, i.e. a bitstream obtained by applying the coding method proposed by the Moving Pictures Expert Group MPEG and standardized by the International Standards Organisation ISO. This coding method aims at a transmission rate of up to about 1.5 Mbit/s but can also be used for coding rates such as 4 Mbit/s, which can already be achieved with state of the art technology. To obtain the format shown in Fig. 1, the MPEG-coded bitstream is further coded according to a proprietary code, e.g. a Reed-Solomon code. An ATM Adaptation Layer byte AAL together with each set of 47 consecutive bytes B2-48 of this coded bitstream constitutes the payload DC of a data packet DP which further includes timing information TI consisting of a time stamp TS and a transfer next block bit TNB. A number R of data packets DP1, .., DPR constitute a block BL and a number Q of these blocks BL1, .., BLQ together with a segment header SH form a segment SE. Finally, a video signal VS consists of a number P of segments SE1, .., SEP, the latter number P being a function of the length of the video signal VS. As discussed in more detail in the above mentioned copending European Patent Application, each segment SE of such a video signal VS is stored within a set of hard disks such as HD1-4 or HD11-22 according to a memory management method described in more detail below. As also discussed in the latter application the video signal VS is retrieved from the hard disks HD1-4/HD11-22 on a block by block basis and each block BL therefore has a length of e.g. 256 Kbyte, this length being inferior to the size of the cache buffer (not shown) of these hard disks, typically 1 Mbyte. Fig. 2 shows such a set of M=4 hard disks HD1-4 each having a respective single output 01-4 via which data stored on the associated disk may be retrieved. These outputs 01-4 are all connected to a bus SCSI according to the well known Small Computer Standard Interface SCSI-2 and this bus SCSIC is also connected to an individual memory controller SCSI specifically designed for controlling memory devices coupled to the bus SCSI and known as such. The latter controller controls the retrieval of data from the hard disks HD1-4 and reacts to commands which are generated in the way described in the above European Patent Application. To be noted that maximally 7 hard disks may be connected to a same bus SCSI. The video server management method then consists in distributing the blocks BL of which BL1-12 of a particular segment SE are shown in Fig. 2 over the M hard disks HD1-4 in the way described hereafter. First the sequence in which the blocks BL are to be retrieved from the hard disks is considered, this sequence is for the example considered in Fig. 2 the sequence in which these blocks will normally be displayed, i.e. BL1, BL2, BL3, ... The first block BL1 is stored in HD1, the second BL2 in HD2, the third BL3 in HD3, the fourth BL4 in HD4, the fifth BL5 in HD1 and so on until the last block of a segment SE is reached. Fig. 2 shows the result of this method for the twelve blocks BL1-12. It can be easily verified that this storage method corresponds to the formula X = Y MOD M with X the sequence number of one of the M hard disks HD1-4, Y the sequence number of one of the Q blocks BL1-Q of a segment SE, M the number of hard disks over which these blocks BL1-Q are distributed and MOD the modulo operator. For a particular user station requesting to view the video signal VS this means that the controller SCSIC will alternately connect each of the hard disks HD1-4 to the bus SCSI and so restore the desired retrieval sequence already mentioned above. It is to be noted that SCSIC in retrieving the segment header SH from hard disk HD1 subsequent to the receipt of the appropriate command can itself derive the required sequence of operations needed to retrieve the video signal VS from the hard disks HD1-4. Indeed, this segment header SH includes a spread mode indicator providing the number M and possibly the identities of the hard disks HD1-4 over which the video signal VS is so distributed. It is to be noted that the same management method can be used to distribute the blocks BL1-Q of a segment SE over distinct parts of a hard disk with multiple parallel heads such as described in the article by W. Sincoskie, "System architecture for a large scale video on demand service", Computer Networks and ISDN Systems 22, 1991 pp. 155-162 each of the parallel heads corresponding to one of the outputs 01-4 and a controller similar to SCSIC being provided within the hard disk itself. It is also to be noted that the method may also be applied by distributing the Q blocks BL1-Q over hard disks such as HD1-4 but coupled to distinct controllers such as SCSIC. In this way the distribution can be made over more than 7 hard disks which allows a possible further service improvement permitting the full video signal VS and not only a portion or segment SE thereof to be stored in the above way. In the latter case the retrieval process of the distinct controllers such as SCSIC involved needs to be synchronized by a control structure as for instance disclosed in the above mentioned European Patent Application. Fig. 3 represents a more detailed way, taking into account the physical structure of the random access memories, of storing the video signal VS on two hard disks HD11-22 and more particularly of storing the blocks BL1-Q of the video signal VS in specific memory locations of these two disks. This feature allows an increase in the retrieval rate of the video signal VS in case a user station cannot modify the sequence with which the Q blocks BL1-Q are retrieved. More particularly, Fig. 3 shematically represents the memory locations on the surfaces of the two hard disks HD11-22 wherein the blocks BL1-6 are stored, as well as an arrow for each disk HD11-22 indicating the direction in which consecutive further blocks of the sequence are to be stored. The hard disks HD11-22 are characterized by a maximum sustainable transfer rate of 20 Mbit/sec corresponding to the transfer rate of the innermost cylinder, i.e. the cylinder closest to the centre of the disk. For intermediate cylinders the transfer rate increases in a substantially linear way to reach the maximum transfer rate of the disk corresponding to the transfer rate of 40 Mbit/s of the outermost cylinder, i.e. of the cylinder closest to the edge of the disk. In accordance with the above basic characteristics of the present memory management method the odd numbered blocks BL1, BL3, BL5, ... are stored in successive cylinders of hard disk HD11 whilst the even numbered blocks BL2, BL4, BL6, ... are stored in successive cylinders of hard disk HD22. More particularly and as shown in Fig. 3, BL1 is stored in the outermost cylinder of HD11 whilst the further blocks BL3, BL5, ... are stored in cylinders indicated by the arrow which are closer and closer to the centre of the hard disk HD11 until eventually a last block of the above series of odd blocks is stored in the innermost cylinder of HD11. On the contrary, in HD22 the first block BL2 of the sequence BL2, BL4, BL6, ... is stored in the innermost cylinder whilst further even numbered blocks BL4, BL6, ... are stored on cylinders as indicated by the arrow, i.e. progressively closer to the peripheral edge of the hard disk HD22 until in this case the last block of this series is stored in the outermost cylinder of HD22. When defining the middle cylinder of hard disks such as HD11-22, as the cylinder having a diameter which is the average of the diameters of the inner- and outermost cylinders and when these blocks BL1-Q are retrieved in sequence from the hard disks HD11-22, a controller such as SCSIC alternately retrieves a block with relatively high transfer rate, i.e. higher than the average transfer rate provided by the middle cylinder, and a block with relatively low transfer rate, i.e. lower than the above average rate. It can then be seen that the average sustainable transfer rate in retrieving the blocks from the hard disks HDA11 and HDA22 is substantially equal to the mentioned average rate which in the present example is 30 Mbit/s. It is to be noted that the example shown in Fig. 3 only serves to show the principle of the memory management method as normally each hard disk comprises a plurality, i.e. typically 10 to 20, surfaces on which data may be stored and that each cylinder, certainly if this cylinder comprises a plurality of tracks on distinct surfaces, may be used to store a large number of distinct blocks BL with a length of 256 Kbyte. The application of the principle shown in Fig. 1 to a hard disk with a more realistic structure is however straightforward and well within the capabilities of a person skilled in the art and is therefore not discussed in any more detail here. Furthermore, the numerical values given above are also applicable to such more realistic structures for the hard disks HD11-22. Finally, for the application of the latter memory management method to produce predetermined sequences over which the user stations have no control, it is important to note that these predetermined sequences may deviate from the above sequence corresponding to the sequence in which the blocks are displayed. More particularly, the sequence which corresponds to the block interleaving scheme discussed in the mentioned article by W. Sincoskie may be used. This sequence allows a large number of so called "phases" to be produced at a high retrieval rate as the hard disk may be read in a continuous way so avoiding a reduction of the retrieval rate due to the repeated repositioning of the read head of the hard disks. It is to be noted in this respect that the present video server memory management method allows to produce 1.5 times as many "phases" per hard disk HD11-22 thanks to the above described increase in the sustainable transfer rate since the number of "phases" with the known method has to be dimensioned for the the maximum sustainable transfer rate or the transfer rate of the innermost cylinders which is only 20 Mbit/s. While the principles of the invention have been described above in connection with specific apparatus, it is to be clearly understood that this description is made only by way of example and not as a limitation on the scope of the invention.

Claims: Video server memory management method including the steps of providing a memory constituted by a plurality of random access memories (HD1/../HD4) each having a single output (O1/../O4) for retrieving data stored therein, subdividing each of said video signals in a plurality of distinct blocks (BL1/../BLQ) corresponding to successive parts of said video signal, storing at least two of said blocks in each of said random access memories, and, retrieving said blocks from said random access memories in a predetermined sequence, any two consecutive blocks (BL1/../BLQ) of said predetermined sequence being stored in distinct ones of said random access memories (HD1/../HD4), said plurality of random access memories (HD1/../HDM) being constituted by an even number of disk shaped memories (HD11, HD22) each having a plurality of cylinders constituting equally large first and second subsets of memories, said method further including the step of storing consecutive odd numbered blocks (BL1, BL3, ..) and consecutive even numbered blocks (BL2, BL4, ..) of said sequence in successive cylinders of said first (HD11) and of said second subset (HD22) respectively wherein said storing of said consecutive odd numbered blocks (BL1, BL3, ..) and said consecutive even numbered blocks (BL2, BL4,...) of said sequence in successive cylinders of said first (HD11) and of said second subset (HD22) respectively is done in first and second directions respectively which are mutually opposite. Video server memory management method according to claim 1, characterized in that said plurality of memories comprises a sequence of M consecutively numbered random access memories and said plurality of blocks comprises a sequence of Q consecutively numbered blocks and that each of said blocks with sequence number Y is stored in the random access memory with sequence number equal to Y mod M. Video server memory management method according to claim 1, characterized in that said single outputs (O1/../O4) of said plurality of random access memories (HD1/../HD4) are controlled from a same memory controller (SCSIC) via a bus (SCSI). Video server memory management method according claim 2, characterized in that said method further includes the step of providing within said video signal (VS) a spread mode indicator indicating the number M of said plurality of memories (HD1/../HD4).

Inventors: DEFOORT FRANK CYRIEL MICHEL, VAN DER PUTTEN FRANK OCTAAF, VERMEULEN CHRISTOPHE DANIEL GH, VOETEN BART FRANS, DEFOORT, FRANK CYRIEL MICHEL, VAN DER PUTTEN, FRANK OCTAAF, VERMEULEN, CHRISTOPHE DANIEL GHISLAIN, VOETEN, BART FRANS
Applicants: ALSTHOM CGE ALCATEL, ALCATEL
Application year: 1993
Main classification: H04N7
IPC codes: G11C7, H04N5, G06F13, H04N7