WO2001035232A1 - Device for storing audio/video data and non audio/video data - Google Patents

Device for storing audio/video data and non audio/video data Download PDF

Info

Publication number
WO2001035232A1
WO2001035232A1 PCT/US2000/030926 US0030926W WO0135232A1 WO 2001035232 A1 WO2001035232 A1 WO 2001035232A1 US 0030926 W US0030926 W US 0030926W WO 0135232 A1 WO0135232 A1 WO 0135232A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
type
storage device
stored
media
Prior art date
Application number
PCT/US2000/030926
Other languages
French (fr)
Inventor
Ibrahim C. Duruoz
Original Assignee
Sony Electronics Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Electronics Inc. filed Critical Sony Electronics Inc.
Priority to JP2001536699A priority Critical patent/JP2003514301A/en
Priority to EP00980330A priority patent/EP1228436A1/en
Priority to AU17606/01A priority patent/AU1760601A/en
Priority to KR1020027005270A priority patent/KR20020044573A/en
Publication of WO2001035232A1 publication Critical patent/WO2001035232A1/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • 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/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
    • H04N21/43632Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network involving a wired protocol, e.g. IEEE 1394
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • G11B2020/10675Data buffering arrangements, e.g. recording or playback buffers aspects of buffer control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver

Definitions

  • the present invention relates to the field of writing data to and reading data from a media storage device. More particularly, the present invention relates to the field of writing multiple types of data each having different properties to a media storage device.
  • the IEEE 1394-1995 standard " 1394 Standard For A High Performance Serial Bus, " is an international standard for implementing an inexpensive high-speed serial bus architecture which supports both asynchronous and isochronous format data transfers.
  • the IEEE 1394-1995 bus has a universal clock called the cycle timer. This clock is synchronized on all nodes. Isochronous data transfers are real-time transfers which take place based on the universal clock such that the time intervals between significant instances have the same duration at both the transmitting and receiving applications. Each packet of data transferred isochronously is transferred in its own time period. An example of an ideal application for the transfer of data isochronously would be from a video recorder to a television set.
  • the video recorder records images and sounds and saves the data in discrete chunks or packets.
  • the video recorder then transfers each packet, representing the image and sound recorded over a limited time period, during that time period, for display by the television set.
  • the IEEE 1394-1995 standard bus architecture provides multiple independent channels for isochronous data transfer between applications. A six bit channel number is broadcast with the data to ensure reception by the appropriate application. This allows multiple applications to simultaneously transmit isochronous data across the bus structure. Asynchronous transfers are traditional reliable data transfer operations which take place as soon as arbitration is won and transfer a maximum amount of data from a source to a destination.
  • the IEEE 1394-1995 standard provides a high-speed serial bus for interconnecting digital devices thereby providing a universal I/O connection.
  • the IEEE 1394-1995 standard defines a digital interface for the applications thereby eliminating the need for an application to convert digital data to analog data before it is transmitted across the bus.
  • a receiving application will receive digital data from the bus, not analog data, and will therefore not be required to convert analog data to digital data.
  • the cable required by the IEEE 1394-1995 standard is very thin in size compared to other bulkier cables used to connect such devices in other connection schemes.
  • Devices can be added and removed from an IEEE 1394-1995 bus while the bus is operational. If a device is so added or removed the bus will then automatically reconfigure itself for transmitting data between the then existing nodes.
  • a node is considered a logical entity with a unique address on the bus structure. Each node provides in a standard address space, an identification ROM, a standardized set of control registers and in addition, its own address space.
  • the IEEE 1394-1995 standard defines a protocol as illustrated in Figure 1.
  • This protocol includes a serial bus management block 10 coupled to a transaction layer 12, a link layer 14 and a physical layer 16.
  • the physical layer 16 provides the electrical and mechanical connection between a device and the IEEE 1394-1995 cable.
  • the physical layer 16 also provides arbitration to ensure that all devices coupled to the IEEE 1394-1995 bus have arbitrated access to the bus as well as actual data transmission and reception.
  • the link layer 14 provides data packet delivery service for both asynchronous and isochronous data packet transport. This supports both asynchronous data transport, using an acknowledgement protocol, and isochronous data transport, providing an unacknowledged real-time guaranteed bandwidth protocol for just- in-time data delivery.
  • the transaction layer 12 supports the commands necessary to complete asynchronous data transfers, including read, write and lock.
  • the serial bus management block 10 contains an isochronous resource manager for managing isochronous data transfers.
  • the serial bus management block 10 also provides overall configuration control of the serial bus in the form of optimizing arbitration timing, guarantee of adequate electrical power for all devices on the bus, assignment of the cycle master, assignment of isochronous channel and bandwidth resources and basic notification of errors.
  • a hard disk drive including an IEEE 1394-1995 serial bus interface is illustrated in Figure 2.
  • the hard disk drive 20 includes the IEEE 1394-1995 serial bus interface circuit
  • the interface circuit 22 for interfacing to an IEEE 1394-1995 serial bus network.
  • the interface circuit 22 is coupled to a buffer controller 24.
  • the buffer controller 24 is coupled to a random access memory (RAM) 26 and to a read/ write channel circuit 28.
  • the read/ write channel circuit 28 is coupled to the media 30 on which data is stored within the hard disk drive 20.
  • the read/write channel circuit 28 controls the storage operations on the media 30, including reading data from the media 30 and writing data to the media 30.
  • a stream of data is received from a device coupled to the IEEE 1394-1995 serial bus structure by the IEEE 1394-1995 interface circuit 22. This stream of data is forwarded from the IEEE 1394-1995 interface circuit 22 to the buffer controller 24.
  • the buffer controller 24 then stores this data temporarily in a buffer in the RAM 26.
  • the buffer controller 24 reads the data from the RAM 26 and forwards it to the read/write channel circuit 28.
  • the read/write channel circuit 28 then writes the data onto the media 30.
  • a stream of data is read from the media 30 by the read/ write channel circuit 28. This stream of data is forwarded by the read/ write channel circuit 28 to the buffer controller 24.
  • the buffer controller 24 then stores this data temporarily in a buffer in the RAM 26.
  • the buffer controller 24 reads the data from the RAM 26 and forwards it to the interface circuit 22.
  • the IEEE 1394-1995 serial bus interface circuit 22 then formats the data according to the requirements of the IEEE 1394-1995 standard and transmits this data to the appropriate device or devices over the IEEE 1394- 1995 serial bus.
  • the external controller provides command data structures to the hard disk drive 20 which inform the hard disk drive 20 where on the media 30 the data is to be written, in the case of a write operation, or read from, in the case of a read operation.
  • the function of the hard disk drive 20 during a read operation is to recreate the original, unmodified stream of data which was previously written on the media 30.
  • Examples of such devices are consumer electronic devices such as video cassette recorders, video camcorders, digital video disk players and compact disk players.
  • the properties of the data necessary for the personal computer are different than the properties of the data utilized by these other devices.
  • the audio/video data utilized by such devices as video cassette recorders, video camcorders, digital video disk players and compact disk players is typically time-based data and must be reproduced in a manner which recognizes the associated time constraints of this type of data.
  • Traditional computer data or non audio/ video data does not typically have any such associated time constraints.
  • Use of a media storage device, such as a hard disk drive, for storing streams of audio and video data is taught in U.S.
  • media storage devices which are utilized to store audio/ video data. However, traditionally, these media storage devices do not store both audio/video data and non audio/video data within the same device.
  • a media storage device utilizes a dynamic partitioning method in order to store data on media within the media storage device.
  • the media storage device stores a first type or group of data on the media to increasing addresses beginning at the lowest address within the partition.
  • a first pointer is maintained at a location above which there is none of the first type of data stored on the media.
  • a second type or group of data is stored on the media to decreasing addresses beginning at the highest address within the partition.
  • a second pointer is maintained at a location below which there is none of the second type of data of the first and second types stored on the media.
  • the locations of the first and second pointers dynamically change as data is stored on the media.
  • a partition pointer is maintained between the first and second pointers.
  • the first type of data is audio/ video data and the second type of data is non audio/ video data.
  • the audio/ video data is preferably stored in contiguous addresses.
  • the media storage device is also preferably coupled to an IEEE 1394-1995 serial bus structure.
  • the media storage device is preferably a stand-alone device, but alternatively is resident within another device.
  • the media storage device As files or tracks of the first type of data are deleted, the media storage device generates secondary partitions within the areas from which data has been deleted. Within the secondary partitions, both types of data can be stored, and secondary partition pointers are also maintained.
  • a method of partitioning media within a media storage device comprises storing a first type of data at increasing addresses beginning at a lowest available address within a partition and storing a second type of data at decreasing addresses beginning at a highest available address within the partition.
  • the method further comprises receiving data to be recorded and determining if the data is of the first type.
  • the method further comprises maintaining a first pointer representing a first boundary of the first type of data and a second pointer representing a second boundary of the second type of data. The first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored.
  • the method further comprises determining if data of the first type is deleted and maintaining a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
  • the first and second types of data are stored on a media within a media storage device.
  • the media storage device is preferably coupled to a network of devices which substantially complies with a version of an IEEE 1394 standard.
  • the first type of data is audio/ video data and the second type of data is non audio/video data.
  • a method of recording data within a media storage device comprises receiving data to be recorded, determining if the data is of a first type, recording the data at increasing addresses beginning at a lowest available address, if the data is of the first type and recording the data at decreasing addresses within a memory space beginning at a highest available address, if the data is not of the first type.
  • the method further comprises maintaining a first pointer representing a first boundary of the first type of data and a second pointer representing a secondary boundary of the second type of data.
  • the first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored.
  • the method further comprises determining if data of the first type is deleted and maintaining a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
  • the first and second types of data are stored on a media within a media storage device.
  • the first type of data is audio/ video data and the second type of data is non audio/video data.
  • the first type of data is time-based data and the second type of data is non time-based data.
  • a media storage device comprises means for receiving data to be stored and means for storing data coupled to the means for receiving for storing the data at increasing addresses beginning at a lowest available address when the data is of a first type and for storing the data at decreasing addresses beginning at a highest available address when the data is of a second type.
  • the media storage device further comprises a means for determining coupled to the means for receiving and to the means for storing for determining if the data is of the first type and of the second type.
  • the means for receiving data is coupled to a network of devices.
  • the network of devices preferably substantially complies with a version of an IEEE 1394 standard.
  • the means for storing data includes media on which the data is stored.
  • the media storage device further comprises a read/write channel circuit coupled to the means for interfacing and to the media for controlling read and write operations from and to the media.
  • the first type of data is audio/ video data and the second type of data is non audio/ video data.
  • the first type of data is time-based data and the second type of data is non time-based data.
  • the audio/ video data is preferably stored contiguously.
  • the non audio/ video data is preferably stored using dynamic allocation.
  • the means for storing maintains a first pointer representing a first boundary of the first type of data and a second pointer representing a second boundary of the second type of data.
  • the first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored.
  • the means for storing further determines if data of the first type is deleted and maintains a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
  • a media storage device comprises an interface circuit configured to receive data to be stored and a storage circuit coupled to the interface circuit to receive the data, to store the data at increasing addresses beginning at a lowest available address when the data is of a first type and to store the data at decreasing addresses beginning at a highest available address when the data is of a second type.
  • the media storage device further comprises a control circuit coupled to the interface circuit and to the storage circuit to determine if the data is of the first type and of the second type.
  • the interface circuit is coupled to a network of devices.
  • the network of devices preferably substantially complies with a version of an IEEE 1394 standard.
  • the storage circuit includes media on which the data is stored.
  • the media storage device further comprises a read/write channel circuit coupled to the interface circuit and to the media to control read and write operations from and to the media.
  • the first type of data is audio/ video data and the second type of data is non audio/ video data.
  • the first type of data is time-based data and the second type of data is non time-based data.
  • the audio/ video data is preferably stored contiguously.
  • the non audio/ video data is preferably stored using dynamic allocation.
  • the storage circuit maintains a first pointer representing a first boundary of the first type of data and a second pointer representing a second boundary of the second type of data. The first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored.
  • the storage circuit further determines if data of the first type is deleted and maintains a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
  • a media storage device comprises an interface circuit configured to receive data to be stored, a media on which the data is stored, wherein the media is dynamically partitioned to store data of different types and a control circuit coupled to the interface circuit and to the media to control the storage of the data at increasing addresses beginning at a lowest available address when the data is of a first type and to store the data at decreasing addresses beginning at a highest available address when the data is of a second type, wherein a first pointer is maintained representing a first boundary of the first type of data on the media and a second pointer is maintained representing a second boundary of the second type of data on the media.
  • the first boundary changes as data of the first type is stored on the media and the second boundary changes as data of the second type is stored on the media.
  • the control circuit further determines if the data is of the first type and of the second type.
  • the interface circuit is configured to couple to a network of devices.
  • the network of devices preferably substantially complies with a version of an IEEE 1394 standard.
  • the first type of data is audio/ video data and the second type of data is non audio/ video data.
  • the first type of data is time-based data and the second type of data is non time-based data.
  • the control circuit further determines if data of the first type is deleted and maintains a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
  • a network of devices comprises one or more source devices for generating and transmitting data and a media storage device coupled to the one or more source devices for receiving and storing the data, the media storage device which includes an interface circuit configured to receive the data to be stored and a storage circuit coupled to the interface circuit to receive the data, to store the data at increasing addresses beginning at a lowest available address when the data is of a first type and to store the data at decreasing addresses beginning at a highest available address when the data is of a second type.
  • the media storage device further comprises a control circuit coupled to the interface circuit and to the storage circuit to determine if the data is of the first type and of the second type.
  • the network of devices preferably substantially complies with a version of an IEEE 1394 standard.
  • the storage circuit includes media on which the data is stored.
  • the first type of data is audio/ video data and the second type of data is non audio/ video data.
  • the first type of data is time-based data and the second type of data is non time-based data.
  • the storage circuit maintains a first pointer representing a first boundary of the first type of data and a second pointer representing a second boundary of the second type of data. The first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored.
  • the storage circuit further determines if data of the first type is deleted and maintains a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
  • Figure 1 illustrates a protocol stack defined by the IEEE 1394-1995 standard.
  • Figure 2 illustrates a block diagram of a media storage device of the prior art.
  • Figure 3 illustrates an exemplary IEEE 1394-1995 serial bus network of devices including a video camera, a video cassette recorder, a settop box, a television, a computer system and an audio/ video hard disk drive of the present invention.
  • Figure 4 illustrates a block diagram of a media storage device of the preferred embodiment of the present invention.
  • Figure 5 illustrates a dynamic partitioning scheme within a media storage device according to the preferred embodiment of the present invention.
  • Figure 6 illustrates a secondary partition within the dynamic partitioning scheme in a media storage device according to the preferred embodiment of the present invention.
  • a media storage device utilizes a dynamic partitioning method in order to store data on media within the media storage device.
  • the media storage device stores a first type or group of data on the media to increasing addresses beginning at the lowest address within the partition.
  • a first pointer is maintained at a location above which there is none of the first type of data stored on the media. As data of the first type is stored on the media, the location of the first pointer dynamically changes.
  • a second type or group of data is stored on the media to decreasing addresses beginning at the highest address within the partition.
  • a second pointer is maintained at a location below which there is none of the second type of data stored on the media. As data of the second type is stored on the media, the location of the second pointer dynamically changes.
  • a partition pointer is maintained between the first and second pointers. The media storage device knows that the media is full for the first type of data when the first pointer, the second pointer and the partition pointer all represent the same location.
  • the first type of data is audio/video data and the second type of data is non audio/video data.
  • the audio/video data is preferably stored in contiguous addresses.
  • the media storage device is also preferably coupled to an IEEE 1394-1995 serial bus structure including other devices.
  • the media storage device is preferably a stand-alone device, but alternatively is resident within another device.
  • the media storage device As files or tracks of the first type of data are deleted, the media storage device generates secondary partitions within the area designated for the first type of data. Within the secondary partitions, both the first type of data and the second type of data can be stored. Further, within the secondary partition, secondary partition pointers are also maintained, representing the boundary of the first type of data, the boundary of the second type of data and the partition boundary between the first and second types of data within the secondary partition.
  • Figure 3 illustrates an exemplary network of devices including a video camera 46, a video cassette recorder (VCR) 48, a settop box 54, a computer system 60 with an associated display 58, and a media storage device 62 connected together by IEEE 1394- 1995 cables 40, 42, 44, 50 and 52.
  • VCR video cassette recorder
  • the IEEE 1394-1995 cable 50 couples the video camera 46 to the VCR 48, allowing the video camera 46 to send data, commands and parameters to the VCR 48 for recording.
  • the IEEE 1394-1995 cable 44 couples the VCR 48 to the computer system 60.
  • the IEEE 1394-1995 cable 42 couples the computer system 60 to the media storage device 62.
  • the IEEE 1394-1995 cable 40 couples the computer system 60 to the television 56.
  • the IEEE 1394-1995 cable 52 couples the television 56 to the settop box 54.
  • the configuration illustrated in Figure 3 is exemplary only. It should be apparent that a network could include many different combinations of components.
  • the devices within such an IEEE 1394-1995 network are autonomous devices, meaning that in an IEEE 1394-1995 network, as the one illustrated in Figure 3, in which a computer system is one of the devices, there is not a true "master-slave" relationship between the computer system and the other devices.
  • a computer system may not be present. Even in such configurations, the devices within the network are fully capable of interacting with each other on a peer basis. It should be recognized that data, commands and parameters can be sent between all of the devices within the IEEE 1394-1995 network, as appropriate.
  • the media storage device 62 preferably includes an IEEE 1394-1995 serial bus interface circuit 72 for interfacing to the IEEE 1394-1995 serial bus network.
  • the interface circuit 72 is coupled to a buffer controller 74.
  • the buffer controller 74 is coupled to a random access memory (RAM) 76 and to a read/ write channel circuit 78.
  • the read/write channel circuit 78 is coupled to the media 80 on which data is stored within the media storage device 62.
  • the read/write channel circuit 78 controls the storage operations on the media 80, including reading data from the media 80 and writing data to the media 80 utilizing the dynamic partitioning method of the present invention.
  • the media storage device 62 is a stand-alone device within a network of devices. However, as should be apparent to those skilled in the art, the media storage device 62 of the present invention alternatively is resident within another device such as the computer system 60.
  • the media storage device when storing multiple types of data having different properties, such as audio/video data and non audio/video data, is partitioned into multiple fixed spaces, one for each different type of data.
  • each type of data is saved in its corresponding space within the media storage device according to an appropriate allocation method.
  • it is beneficial to save the audio/ video data using contiguous allocation such that the data is saved in the appropriate order and in contiguous locations within the media storage device.
  • the contiguous locations can be according to either physical block addresses or logical block addresses, according to the addressing scheme implemented by the particular media storage device. Saving the audio/video data in contiguous memory locations preserves the time component of the data and allows the data to be easily retrieved in the appropriate order and in a manner which allows the integrity of the data to be preserved during playback.
  • dynamic allocation is generally more efficient, allowing the data to be saved wherever memory space is available within the corresponding space.
  • While partitioning the media storage device into fixed spaces for different types of data is one way to save multiple types of data having different properties within a media storage device, this method is not preferred because potentially large amounts of disk space can go unused.
  • the initial partition is generated and the memory spaces fixed, if the media storage device is not used to save a particular type of data, the memory space allocated to that type of data will go unused, while the space allocated to another type of data may get filled. For example, if a media storage device is partitioned for audio/ video data and non audio/ video data, the space allocated to the audio/ video data may fill up while the space allocated to the non audio/video data may stay close to empty.
  • a dynamic partitioning scheme is used in the media storage device of the preferred embodiment. This dynamic partitioning scheme starts to fill the media 80 within the media storage device 62 from one end for the first type of data, such as audio/ video data, and from the other end for the second type of data, such as non audio/video data. A partition boundary is maintained between the two types of data, however, this boundary dynamically changes, as appropriate, to adapt to the data that is actually stored within the media storage device 62.
  • a dynamic partitioning scheme within the media storage device 62 of the preferred embodiment of the present invention is illustrated in Figure 5.
  • the media 80 is shown in a table representation to illustrate how the data is stored within the media storage device 62.
  • Audio/ video data is stored in a contiguous fashion, as described above, to increasing addresses beginning at the lowest address space of the media 80.
  • the group 120 of audio/video data was stored first beginning at the lowest address space of the media 80.
  • the group 118 of audio/video data was stored beginning at the next available lowest address space of the media 80.
  • the group 116 of audio/video data was stored beginning at the next available lowest address space of the media 80.
  • the audio/video pointer pWR-AV is used to mark the boundary of audio/video data on the media 80 and represents the lowest address space above which there is no audio/video data.
  • Non audio/video data is preferably stored using dynamic allocation, to decreasing addresses beginning at the highest address space of the media 80.
  • Any appropriate method of dynamic allocation can be used to store the non audio/video data within the media storage device 62 of the present invention including, first fit, best fit and worst fit algorithms. Accordingly, there is always the possibility that there will be available empty spaces within the non audio/video data space of the media 80 as files stored within this space are deleted or edited. In the example shown in Figure 5, the group 102 of non audio/video data was stored beginning at the highest address space of the media 80.
  • the groups 106, 108 and 112 were also stored as non audio/video data within the media storage device 62.
  • the empty spaces 104 and 110 resulted either from data being deleted, edited or otherwise removed. These empty spaces 104 and 110 can be used, as appropriate, to store additional non audio/ video data.
  • the non audio/ video pointer PWR- nAV is used to mark the boundary of non audio/video data on the media 80 and represents the highest address space below which there is no non audio/video data.
  • the available space 114 within the media 80 is available for storing both audio/video data and non audio/video data.
  • the media storage device 62 stores this data contiguously beginning at the location represented by the audio/video pointer pWR-AV.
  • the location represented by the audio/ video pointer pWR-AV will dynamically change to represent the boundary of the audio/video data.
  • the media storage device 62 stores this data within the non audio/ video space of the media 80. If additional space is needed for the non audio/ video data, then the media storage device 62 stores this data beginning at the location represented by the non audio/video pointer pWR-nAV.
  • the location represented by the non audio/video pointer pWR-nAV will dynamically change to represent the boundary of the non audio/video data. Since the pointers pWR-AV and pWR-nAV keep dynamically moving as data is stored within the media storage device 62, to reflect the boundaries of the corresponding data, the partition boundary on the media 80 of the preferred embodiment of the present invention changes dynamically to allow the media storage device 62 to adapt and efficiently store whichever type of data it receives.
  • the thick arrows within Figure 5 illustrate the direction in which the data is preferably written on the media 80.
  • the audio/ video data is written contiguously to increasing addresses beginning from the lowest address on the media 80.
  • the non audio/video data is written to decreasing addresses beginning from the highest address on the media 80.
  • the audio/video pointer pWR-AV marks the boundary of the audio/video data
  • the non audio/video pointer pWR-nAV marks the boundary of the non audio/video data.
  • the partition pointer pPART represents a location between the boundaries of the audio/ video data and the non audio/video data.
  • the media storage device 62 When the location represented by the audio/video pointer pWR-AV is equal to the location represented by the non audio/video pointer pWR-nAV, then the media storage device 62 knows that the media 80 is full with respect to the storage of audio/video data. When this condition occurs, non audio/video data can still be stored within the non audio/video space, depending on the size of the data to be stored and the available empty spaces within the media 80. The media storage device 62 keeps track of the location of the audio/video pointer pWR-AV and the location of the non audio/video pointer pWR-nAV to determine when the media 80 is full.
  • the media storage device 62 determines that the media 80 is full, the media storage device 62 then warns an application attempting to store audio/video data within the media storage device 62. If a simultaneous write of audio/video data and non audio/video data is performed by the media storage device 62 which results in the media 80 becoming full, the media storage device 80 then will be unable to store the remaining data on the media 80.
  • the dynamic partitioning scheme of the present invention also utilizes secondary partitions to fill and efficiently use large portions of the media 80 which become empty due to the deletion of a file or files.
  • a dynamic partitioning scheme within the media storage device 62 of the preferred embodiment of the present invention utilizing a secondary partition is illustrated in Figure 6.
  • the media 80 is full for audio/video data because the location represented by the audio/video pointer pWR-AN is equal to the location represented by the non audio/ video pointer pWR- nAV. Because the media 80 has been filled, the location of the partition pointer pPART is also equal to the location represented by the pointers pWR-AV and pWR-nAV.
  • the audio/ video file or track represented by the reference numeral 216 has been deleted within the portion of the media 80 in which audio/ video data is stored, thereby opening up this space.
  • the media storage device 62 then generates a secondary partition within this empty space 216 and can then store additional data within this space, in the same manner as discussed above. Accordingly, audio/video data can be stored to increasing addresses beginning at the lowest address within this secondary partition and non audio/video data can be stored to decreasing addresses beginning at the highest address within this secondary partition.
  • the non audio/ video data group 222 is stored within the highest addresses of the space 216.
  • the pointers pWR-AVj, pWR-nAV ! and pPARTj are maintained.
  • the partition audio/ video pointer pWR-AV j is used to mark the boundary of audio/video data within the secondary partition and represents the lowest address space above which there is no audio/video data within the secondary partition.
  • the partition non audio/ video pointer pWR-nAVj is used to mark the boundary of audio/ video data within the secondary partition and represents the highest address space below which there is no non audio/video data within the secondary partition.
  • the partition pointer pPART] represents a location between the boundaries of the audio/video data and the non audio/ video data within the secondary partition. As additional audio/ video data is stored on the media 80, the location represented by the partition audio/ video pointer pWR-AVj will dynamically change to represent the boundary of the audio/video data within the secondary partition.
  • the location represented by the partition non audio/video pointer pWR-nAV ! will dynamically change to represent the boundary of the non audio/video data within the secondary partition.
  • multiple secondary partitions can be maintained on the media 80, within the media storage device 62 of the present invention.
  • the non audio/video data is stored in decreasing addresses from the highest address on the media 80, using dynamic allocation.
  • this scheme may require some hardware changes within existing media storage devices. If the granularity is on the level of sectors on the media 80, then the implementation of writing to decreasing addresses can be done in software, thereby utilizing decreasing physical addresses of sectors while the data within a particular sector is written on the media 80 to increasing addresses.
  • the audio/video portion could be written to decreasing addresses starting at the highest address on the media 80 and the non audio/video portion written to increasing addresses beginning at the lowest address on the media 80.
  • This alternative embodiment would allow the non audio/video data to be written to the media 80 in a conventional manner with increasing addresses. In this embodiment, the decreasing address scheme would then be implemented for the audio/video data which is written contiguously.
  • the principles of the media storage device and the dynamic partitioning method of the present invention could also be used with other types of data.
  • the dynamic partitioning method of the present invention could also be used for media storage devices that are conventionally partitioned, even if those devices are not utilized to store audio/ video or time-based data.
  • the dynamic partitioning method of the present invention would eliminate the need for the correct estimation of the usage of each partition when the media is initialized and therefore eliminate the space potentially wasted by under usage of a certain type of data or region of the media.
  • the media storage device 62 of the present invention stores data on the media 80.
  • the media storage device 62 preferably maintains an audio/video pointer pWR-AV which marks the boundary of the audio/ video data.
  • the audio/video pointer pWR-AV has a starting location corresponding to the lowest address within the partition to be filled on the media.
  • the media storage device 62 also preferably maintains a non audio/video pointer pWR-nAV which marks the boundary of the non audio/video data.
  • the non audio/ video pointer pWR-nAV has a starting location corresponding to the highest address within the partition to be filled on the media.
  • the media storage device 62 preferably implements secondary partitions within which both audio/video data and non audio/video data can be written, as described herein.
  • the media storage device preferably implements a dynamic partitioning scheme, which allows the media storage device to fully and efficiently utilize the space available on the media, as the different types of data are stored within the media storage device.
  • the partition or boundary between the different types of data dynamically moves as data of one or both types are stored on the media. In this manner, the media storage device of the present invention minimizes the unused space on the media and maximizes the space used, based on the type of data that it receives.

Abstract

A media storage device (62) utilizes a dynamic partitioning method in order to store data on media (80) within the media storage device. The media storage device (62) stores a first type or group of data (116-120) on the media (80) to increasing addresses beginning at the lowest address within the partition. A first pointer is maintained at a location above which there is none of the first type of data stored on the media (80). A second type or group of data (102-112) is stored on the media (80) to decreasing addresses beginning at the highest address within the partition. A second pointer is maintained at a location below which there is none of the second type of data of the first and second types stored on the media (80). The locations of the first and second pointers dynamically change as data is stored on the media (80). A partition pointer is maintained between the first and second pointers. Preferably, the first type of data is audio/video data and the second type of data is non audio/video data. The audio/video data is preferably stored in contiguous addresses. The media storage device (62) is also preferably coupled to an IEEE 1394-1995 serial bus structure (72). The media storage device (62) is preferably a stand-alone device, but alternatively is resident within another device. As files or tracks of the first type of data are deleted, the media storage device generates secondary partitions within the areas from which data has been deleted. Within the secondary partitions, both types of data can be stored, and secondary partition pointers are also maintained.

Description

DEVICE FOR STORING AUDIO/VIDEO DATA AND NON AUDIO/VIDEO DATA
RELATED APPLICATIONS:
This application claims priority under 35 U.S. C. § 119(e) of the co-pending U.S. provisional application Serial Number 60/164,784 filed on November 10, 1999 and entitled "Dynamic Partitioning In AV-Hard Disk Drives. " The provisional application Serial Number 60/164,784 filed on November 10, 1999 and entitled "Dynamic Partitioning In AN-Hard Disk Drives" is also hereby incorporated by reference.
FIELD OF THE INVENTION:
The present invention relates to the field of writing data to and reading data from a media storage device. More particularly, the present invention relates to the field of writing multiple types of data each having different properties to a media storage device.
BACKGROUND OF THE INVENTION:
The IEEE 1394-1995 standard, " 1394 Standard For A High Performance Serial Bus, " is an international standard for implementing an inexpensive high-speed serial bus architecture which supports both asynchronous and isochronous format data transfers. In addition, the IEEE 1394-1995 bus has a universal clock called the cycle timer. This clock is synchronized on all nodes. Isochronous data transfers are real-time transfers which take place based on the universal clock such that the time intervals between significant instances have the same duration at both the transmitting and receiving applications. Each packet of data transferred isochronously is transferred in its own time period. An example of an ideal application for the transfer of data isochronously would be from a video recorder to a television set. The video recorder records images and sounds and saves the data in discrete chunks or packets. The video recorder then transfers each packet, representing the image and sound recorded over a limited time period, during that time period, for display by the television set. The IEEE 1394-1995 standard bus architecture provides multiple independent channels for isochronous data transfer between applications. A six bit channel number is broadcast with the data to ensure reception by the appropriate application. This allows multiple applications to simultaneously transmit isochronous data across the bus structure. Asynchronous transfers are traditional reliable data transfer operations which take place as soon as arbitration is won and transfer a maximum amount of data from a source to a destination. The IEEE 1394-1995 standard provides a high-speed serial bus for interconnecting digital devices thereby providing a universal I/O connection. The IEEE 1394-1995 standard defines a digital interface for the applications thereby eliminating the need for an application to convert digital data to analog data before it is transmitted across the bus. Correspondingly, a receiving application will receive digital data from the bus, not analog data, and will therefore not be required to convert analog data to digital data. The cable required by the IEEE 1394-1995 standard is very thin in size compared to other bulkier cables used to connect such devices in other connection schemes. Devices can be added and removed from an IEEE 1394-1995 bus while the bus is operational. If a device is so added or removed the bus will then automatically reconfigure itself for transmitting data between the then existing nodes. A node is considered a logical entity with a unique address on the bus structure. Each node provides in a standard address space, an identification ROM, a standardized set of control registers and in addition, its own address space.
The IEEE 1394-1995 standard defines a protocol as illustrated in Figure 1. This protocol includes a serial bus management block 10 coupled to a transaction layer 12, a link layer 14 and a physical layer 16. The physical layer 16 provides the electrical and mechanical connection between a device and the IEEE 1394-1995 cable. The physical layer 16 also provides arbitration to ensure that all devices coupled to the IEEE 1394-1995 bus have arbitrated access to the bus as well as actual data transmission and reception. The link layer 14 provides data packet delivery service for both asynchronous and isochronous data packet transport. This supports both asynchronous data transport, using an acknowledgement protocol, and isochronous data transport, providing an unacknowledged real-time guaranteed bandwidth protocol for just- in-time data delivery. The transaction layer 12 supports the commands necessary to complete asynchronous data transfers, including read, write and lock. The serial bus management block 10 contains an isochronous resource manager for managing isochronous data transfers. The serial bus management block 10 also provides overall configuration control of the serial bus in the form of optimizing arbitration timing, guarantee of adequate electrical power for all devices on the bus, assignment of the cycle master, assignment of isochronous channel and bandwidth resources and basic notification of errors.
A hard disk drive including an IEEE 1394-1995 serial bus interface is illustrated in Figure 2. The hard disk drive 20 includes the IEEE 1394-1995 serial bus interface circuit
22 for interfacing to an IEEE 1394-1995 serial bus network. The interface circuit 22 is coupled to a buffer controller 24. The buffer controller 24 is coupled to a random access memory (RAM) 26 and to a read/ write channel circuit 28. The read/ write channel circuit 28 is coupled to the media 30 on which data is stored within the hard disk drive 20. The read/write channel circuit 28 controls the storage operations on the media 30, including reading data from the media 30 and writing data to the media 30.
During a write operation to the hard disk drive 20, a stream of data is received from a device coupled to the IEEE 1394-1995 serial bus structure by the IEEE 1394-1995 interface circuit 22. This stream of data is forwarded from the IEEE 1394-1995 interface circuit 22 to the buffer controller 24. The buffer controller 24 then stores this data temporarily in a buffer in the RAM 26. When the read/ write channel circuit 28 is available, the buffer controller 24 reads the data from the RAM 26 and forwards it to the read/write channel circuit 28. The read/write channel circuit 28 then writes the data onto the media 30. During a read operation from the hard disk drive 20, a stream of data is read from the media 30 by the read/ write channel circuit 28. This stream of data is forwarded by the read/ write channel circuit 28 to the buffer controller 24. The buffer controller 24 then stores this data temporarily in a buffer in the RAM 26. When the IEEE 1394-1995 serial bus interface circuit 22 is available, the buffer controller 24 reads the data from the RAM 26 and forwards it to the interface circuit 22. The IEEE 1394-1995 serial bus interface circuit 22 then formats the data according to the requirements of the IEEE 1394-1995 standard and transmits this data to the appropriate device or devices over the IEEE 1394- 1995 serial bus.
A traditional hard disk drive 20, as described, records data and plays it back according to commands received from an external controller using a protocol such as the serial bus protocol (SBP). The external controller provides command data structures to the hard disk drive 20 which inform the hard disk drive 20 where on the media 30 the data is to be written, in the case of a write operation, or read from, in the case of a read operation. The function of the hard disk drive 20 during a read operation is to recreate the original, unmodified stream of data which was previously written on the media 30. With the growing use of the IEEE 1394-1995 serial bus, personal computers are now being coupled together in IEEE 1394-1995 networks with devices which have not traditionally been coupled to personal computers. Examples of such devices are consumer electronic devices such as video cassette recorders, video camcorders, digital video disk players and compact disk players. The properties of the data necessary for the personal computer are different than the properties of the data utilized by these other devices. The audio/video data utilized by such devices as video cassette recorders, video camcorders, digital video disk players and compact disk players is typically time-based data and must be reproduced in a manner which recognizes the associated time constraints of this type of data. Traditional computer data or non audio/ video data does not typically have any such associated time constraints. Use of a media storage device, such as a hard disk drive, for storing streams of audio and video data is taught in U.S. Patent Application Serial Number 09/022,926, filed on February 12, 1998 and entitled "MEDIA STORAGE DEVICE WITH EMBEDDED DATA FILTER FOR DYNAMICALLY PROCESSING DATA DURING READ AND WRITE OPERATIONS," which is hereby incorporated by reference. There are other types of media storage devices which are utilized to store audio/ video data. However, traditionally, these media storage devices do not store both audio/video data and non audio/video data within the same device.
SUMMARY OF THE INVENTION: A media storage device utilizes a dynamic partitioning method in order to store data on media within the media storage device. The media storage device stores a first type or group of data on the media to increasing addresses beginning at the lowest address within the partition. A first pointer is maintained at a location above which there is none of the first type of data stored on the media. A second type or group of data is stored on the media to decreasing addresses beginning at the highest address within the partition. A second pointer is maintained at a location below which there is none of the second type of data of the first and second types stored on the media. The locations of the first and second pointers dynamically change as data is stored on the media. A partition pointer is maintained between the first and second pointers. Preferably, the first type of data is audio/ video data and the second type of data is non audio/ video data. The audio/ video data is preferably stored in contiguous addresses. The media storage device is also preferably coupled to an IEEE 1394-1995 serial bus structure. The media storage device is preferably a stand-alone device, but alternatively is resident within another device. As files or tracks of the first type of data are deleted, the media storage device generates secondary partitions within the areas from which data has been deleted. Within the secondary partitions, both types of data can be stored, and secondary partition pointers are also maintained.
In one aspect of the present invention, a method of partitioning media within a media storage device comprises storing a first type of data at increasing addresses beginning at a lowest available address within a partition and storing a second type of data at decreasing addresses beginning at a highest available address within the partition. The method further comprises receiving data to be recorded and determining if the data is of the first type. The method further comprises maintaining a first pointer representing a first boundary of the first type of data and a second pointer representing a second boundary of the second type of data. The first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored. The method further comprises determining if data of the first type is deleted and maintaining a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition. The first and second types of data are stored on a media within a media storage device. The media storage device is preferably coupled to a network of devices which substantially complies with a version of an IEEE 1394 standard. Preferably, the first type of data is audio/ video data and the second type of data is non audio/video data. Alternatively, the first type of data is time-based data and the second type of data is non time-based data. The audio/video data is preferably stored contiguously. The non audio/video data is preferably stored using dynamic allocation. In another aspect of the present invention, a method of recording data within a media storage device comprises receiving data to be recorded, determining if the data is of a first type, recording the data at increasing addresses beginning at a lowest available address, if the data is of the first type and recording the data at decreasing addresses within a memory space beginning at a highest available address, if the data is not of the first type. The method further comprises maintaining a first pointer representing a first boundary of the first type of data and a second pointer representing a secondary boundary of the second type of data. The first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored. The method further comprises determining if data of the first type is deleted and maintaining a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition. The first and second types of data are stored on a media within a media storage device. Preferably, the first type of data is audio/ video data and the second type of data is non audio/video data. Alternatively, the first type of data is time-based data and the second type of data is non time-based data. The data is preferably received from a bus structure which substantially complies with a version of an IEEE 1394 standard. In yet another aspect of the present invention, a media storage device comprises means for receiving data to be stored and means for storing data coupled to the means for receiving for storing the data at increasing addresses beginning at a lowest available address when the data is of a first type and for storing the data at decreasing addresses beginning at a highest available address when the data is of a second type. The media storage device further comprises a means for determining coupled to the means for receiving and to the means for storing for determining if the data is of the first type and of the second type. The means for receiving data is coupled to a network of devices. The network of devices preferably substantially complies with a version of an IEEE 1394 standard. The means for storing data includes media on which the data is stored. The media storage device further comprises a read/write channel circuit coupled to the means for interfacing and to the media for controlling read and write operations from and to the media. Preferably, the first type of data is audio/ video data and the second type of data is non audio/ video data. Alternatively, the first type of data is time-based data and the second type of data is non time-based data. The audio/ video data is preferably stored contiguously. The non audio/ video data is preferably stored using dynamic allocation. The means for storing maintains a first pointer representing a first boundary of the first type of data and a second pointer representing a second boundary of the second type of data. The first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored. The means for storing further determines if data of the first type is deleted and maintains a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
In still yet another aspect of the present invention, a media storage device comprises an interface circuit configured to receive data to be stored and a storage circuit coupled to the interface circuit to receive the data, to store the data at increasing addresses beginning at a lowest available address when the data is of a first type and to store the data at decreasing addresses beginning at a highest available address when the data is of a second type. The media storage device further comprises a control circuit coupled to the interface circuit and to the storage circuit to determine if the data is of the first type and of the second type. The interface circuit is coupled to a network of devices. The network of devices preferably substantially complies with a version of an IEEE 1394 standard. The storage circuit includes media on which the data is stored. The media storage device further comprises a read/write channel circuit coupled to the interface circuit and to the media to control read and write operations from and to the media. Preferably, the first type of data is audio/ video data and the second type of data is non audio/ video data. Alternatively, the first type of data is time-based data and the second type of data is non time-based data. The audio/ video data is preferably stored contiguously. The non audio/ video data is preferably stored using dynamic allocation. The storage circuit maintains a first pointer representing a first boundary of the first type of data and a second pointer representing a second boundary of the second type of data. The first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored. The storage circuit further determines if data of the first type is deleted and maintains a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
In another aspect of the present invention, a media storage device comprises an interface circuit configured to receive data to be stored, a media on which the data is stored, wherein the media is dynamically partitioned to store data of different types and a control circuit coupled to the interface circuit and to the media to control the storage of the data at increasing addresses beginning at a lowest available address when the data is of a first type and to store the data at decreasing addresses beginning at a highest available address when the data is of a second type, wherein a first pointer is maintained representing a first boundary of the first type of data on the media and a second pointer is maintained representing a second boundary of the second type of data on the media. The first boundary changes as data of the first type is stored on the media and the second boundary changes as data of the second type is stored on the media. The control circuit further determines if the data is of the first type and of the second type. The interface circuit is configured to couple to a network of devices. The network of devices preferably substantially complies with a version of an IEEE 1394 standard. Preferably, the first type of data is audio/ video data and the second type of data is non audio/ video data. Alternatively, the first type of data is time-based data and the second type of data is non time-based data. The control circuit further determines if data of the first type is deleted and maintains a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition. In yet another aspect of the present invention, a network of devices comprises one or more source devices for generating and transmitting data and a media storage device coupled to the one or more source devices for receiving and storing the data, the media storage device which includes an interface circuit configured to receive the data to be stored and a storage circuit coupled to the interface circuit to receive the data, to store the data at increasing addresses beginning at a lowest available address when the data is of a first type and to store the data at decreasing addresses beginning at a highest available address when the data is of a second type. The media storage device further comprises a control circuit coupled to the interface circuit and to the storage circuit to determine if the data is of the first type and of the second type. The network of devices preferably substantially complies with a version of an IEEE 1394 standard. The storage circuit includes media on which the data is stored. Preferably, the first type of data is audio/ video data and the second type of data is non audio/ video data. Alternatively, the first type of data is time-based data and the second type of data is non time-based data. The storage circuit maintains a first pointer representing a first boundary of the first type of data and a second pointer representing a second boundary of the second type of data. The first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored. The storage circuit further determines if data of the first type is deleted and maintains a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
BRIEF DESCRIPTION OF THE DRAWINGS:
Figure 1 illustrates a protocol stack defined by the IEEE 1394-1995 standard. Figure 2 illustrates a block diagram of a media storage device of the prior art.
Figure 3 illustrates an exemplary IEEE 1394-1995 serial bus network of devices including a video camera, a video cassette recorder, a settop box, a television, a computer system and an audio/ video hard disk drive of the present invention.
Figure 4 illustrates a block diagram of a media storage device of the preferred embodiment of the present invention.
Figure 5 illustrates a dynamic partitioning scheme within a media storage device according to the preferred embodiment of the present invention. Figure 6 illustrates a secondary partition within the dynamic partitioning scheme in a media storage device according to the preferred embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT: A media storage device utilizes a dynamic partitioning method in order to store data on media within the media storage device. The media storage device stores a first type or group of data on the media to increasing addresses beginning at the lowest address within the partition. A first pointer is maintained at a location above which there is none of the first type of data stored on the media. As data of the first type is stored on the media, the location of the first pointer dynamically changes.
A second type or group of data is stored on the media to decreasing addresses beginning at the highest address within the partition. A second pointer is maintained at a location below which there is none of the second type of data stored on the media. As data of the second type is stored on the media, the location of the second pointer dynamically changes. A partition pointer is maintained between the first and second pointers. The media storage device knows that the media is full for the first type of data when the first pointer, the second pointer and the partition pointer all represent the same location.
Preferably, the first type of data is audio/video data and the second type of data is non audio/video data. The audio/video data is preferably stored in contiguous addresses.
The media storage device is also preferably coupled to an IEEE 1394-1995 serial bus structure including other devices. The media storage device is preferably a stand-alone device, but alternatively is resident within another device.
As files or tracks of the first type of data are deleted, the media storage device generates secondary partitions within the area designated for the first type of data. Within the secondary partitions, both the first type of data and the second type of data can be stored. Further, within the secondary partition, secondary partition pointers are also maintained, representing the boundary of the first type of data, the boundary of the second type of data and the partition boundary between the first and second types of data within the secondary partition. Figure 3 illustrates an exemplary network of devices including a video camera 46, a video cassette recorder (VCR) 48, a settop box 54, a computer system 60 with an associated display 58, and a media storage device 62 connected together by IEEE 1394- 1995 cables 40, 42, 44, 50 and 52. The IEEE 1394-1995 cable 50 couples the video camera 46 to the VCR 48, allowing the video camera 46 to send data, commands and parameters to the VCR 48 for recording. The IEEE 1394-1995 cable 44 couples the VCR 48 to the computer system 60. The IEEE 1394-1995 cable 42 couples the computer system 60 to the media storage device 62. The IEEE 1394-1995 cable 40 couples the computer system 60 to the television 56. The IEEE 1394-1995 cable 52 couples the television 56 to the settop box 54.
The configuration illustrated in Figure 3 is exemplary only. It should be apparent that a network could include many different combinations of components. The devices within such an IEEE 1394-1995 network are autonomous devices, meaning that in an IEEE 1394-1995 network, as the one illustrated in Figure 3, in which a computer system is one of the devices, there is not a true "master-slave" relationship between the computer system and the other devices. In many IEEE 1394-1995 network configurations, a computer system may not be present. Even in such configurations, the devices within the network are fully capable of interacting with each other on a peer basis. It should be recognized that data, commands and parameters can be sent between all of the devices within the IEEE 1394-1995 network, as appropriate.
A block diagram of a hardware system resident in the media storage device of the preferred embodiment of the present invention is illustrated in Figure 4. The media storage device 62 preferably includes an IEEE 1394-1995 serial bus interface circuit 72 for interfacing to the IEEE 1394-1995 serial bus network. The interface circuit 72 is coupled to a buffer controller 74. The buffer controller 74 is coupled to a random access memory (RAM) 76 and to a read/ write channel circuit 78. The read/write channel circuit 78 is coupled to the media 80 on which data is stored within the media storage device 62. The read/write channel circuit 78 controls the storage operations on the media 80, including reading data from the media 80 and writing data to the media 80 utilizing the dynamic partitioning method of the present invention.
Within the preferred embodiment of the present invention, the media storage device 62 is a stand-alone device within a network of devices. However, as should be apparent to those skilled in the art, the media storage device 62 of the present invention alternatively is resident within another device such as the computer system 60.
In one embodiment of the present invention, when storing multiple types of data having different properties, such as audio/video data and non audio/video data, the media storage device is partitioned into multiple fixed spaces, one for each different type of data.
Then each type of data is saved in its corresponding space within the media storage device according to an appropriate allocation method. For example, when saving audio/ video data, it is beneficial to save the audio/ video data using contiguous allocation, such that the data is saved in the appropriate order and in contiguous locations within the media storage device. The contiguous locations can be according to either physical block addresses or logical block addresses, according to the addressing scheme implemented by the particular media storage device. Saving the audio/video data in contiguous memory locations preserves the time component of the data and allows the data to be easily retrieved in the appropriate order and in a manner which allows the integrity of the data to be preserved during playback. When saving other non time-based data, such as traditional computer data, it is not necessary to save the data in contiguous locations. For this type of data, dynamic allocation is generally more efficient, allowing the data to be saved wherever memory space is available within the corresponding space.
While partitioning the media storage device into fixed spaces for different types of data is one way to save multiple types of data having different properties within a media storage device, this method is not preferred because potentially large amounts of disk space can go unused. Once the initial partition is generated and the memory spaces fixed, if the media storage device is not used to save a particular type of data, the memory space allocated to that type of data will go unused, while the space allocated to another type of data may get filled. For example, if a media storage device is partitioned for audio/ video data and non audio/ video data, the space allocated to the audio/ video data may fill up while the space allocated to the non audio/video data may stay close to empty. In this example, the media storage device could not be used to store any more audio/ video data even though there was space available within the media storage device. A dynamic partitioning scheme, as described herein, is used in the media storage device of the preferred embodiment. This dynamic partitioning scheme starts to fill the media 80 within the media storage device 62 from one end for the first type of data, such as audio/ video data, and from the other end for the second type of data, such as non audio/video data. A partition boundary is maintained between the two types of data, however, this boundary dynamically changes, as appropriate, to adapt to the data that is actually stored within the media storage device 62. A dynamic partitioning scheme within the media storage device 62 of the preferred embodiment of the present invention is illustrated in Figure 5. Within Figure 5, the media 80 is shown in a table representation to illustrate how the data is stored within the media storage device 62. Audio/ video data is stored in a contiguous fashion, as described above, to increasing addresses beginning at the lowest address space of the media 80. In the example shown in Figure 5, the group 120 of audio/video data was stored first beginning at the lowest address space of the media 80. Next, the group 118 of audio/video data was stored beginning at the next available lowest address space of the media 80. Then, the group 116 of audio/video data was stored beginning at the next available lowest address space of the media 80. The audio/video pointer pWR-AV is used to mark the boundary of audio/video data on the media 80 and represents the lowest address space above which there is no audio/video data. Since a contiguous allocation method is used for storing the audio/video data, unless data is deleted, as will be discussed below, there are no empty spaces for addresses less than the address represented by the audio/video pointer pWR- AV. Non audio/video data is preferably stored using dynamic allocation, to decreasing addresses beginning at the highest address space of the media 80. Any appropriate method of dynamic allocation can be used to store the non audio/video data within the media storage device 62 of the present invention including, first fit, best fit and worst fit algorithms. Accordingly, there is always the possibility that there will be available empty spaces within the non audio/video data space of the media 80 as files stored within this space are deleted or edited. In the example shown in Figure 5, the group 102 of non audio/video data was stored beginning at the highest address space of the media 80. The groups 106, 108 and 112 were also stored as non audio/video data within the media storage device 62. The empty spaces 104 and 110 resulted either from data being deleted, edited or otherwise removed. These empty spaces 104 and 110 can be used, as appropriate, to store additional non audio/ video data. The non audio/ video pointer PWR- nAV is used to mark the boundary of non audio/video data on the media 80 and represents the highest address space below which there is no non audio/video data.
The available space 114 within the media 80 is available for storing both audio/video data and non audio/video data. As additional audio/video data is stored on the media 80, the media storage device 62 stores this data contiguously beginning at the location represented by the audio/video pointer pWR-AV. As additional audio/video data is stored on the media 80, the location represented by the audio/ video pointer pWR-AV will dynamically change to represent the boundary of the audio/video data. As additional non audio/ video data is stored on the media 80, the media storage device 62 stores this data within the non audio/ video space of the media 80. If additional space is needed for the non audio/ video data, then the media storage device 62 stores this data beginning at the location represented by the non audio/video pointer pWR-nAV. As additional non audio/ video data is stored on the media 80, the location represented by the non audio/video pointer pWR-nAV will dynamically change to represent the boundary of the non audio/video data. Since the pointers pWR-AV and pWR-nAV keep dynamically moving as data is stored within the media storage device 62, to reflect the boundaries of the corresponding data, the partition boundary on the media 80 of the preferred embodiment of the present invention changes dynamically to allow the media storage device 62 to adapt and efficiently store whichever type of data it receives.
The thick arrows within Figure 5 illustrate the direction in which the data is preferably written on the media 80. The audio/ video data is written contiguously to increasing addresses beginning from the lowest address on the media 80. The non audio/video data is written to decreasing addresses beginning from the highest address on the media 80. As described above, the audio/video pointer pWR-AV marks the boundary of the audio/video data and the non audio/video pointer pWR-nAV marks the boundary of the non audio/video data. The partition pointer pPART represents a location between the boundaries of the audio/ video data and the non audio/video data. When the location represented by the audio/video pointer pWR-AV is equal to the location represented by the non audio/video pointer pWR-nAV, then the media storage device 62 knows that the media 80 is full with respect to the storage of audio/video data. When this condition occurs, non audio/video data can still be stored within the non audio/video space, depending on the size of the data to be stored and the available empty spaces within the media 80. The media storage device 62 keeps track of the location of the audio/video pointer pWR-AV and the location of the non audio/video pointer pWR-nAV to determine when the media 80 is full. When the media storage device 62 determines that the media 80 is full, the media storage device 62 then warns an application attempting to store audio/video data within the media storage device 62. If a simultaneous write of audio/video data and non audio/video data is performed by the media storage device 62 which results in the media 80 becoming full, the media storage device 80 then will be unable to store the remaining data on the media 80.
The dynamic partitioning scheme of the present invention also utilizes secondary partitions to fill and efficiently use large portions of the media 80 which become empty due to the deletion of a file or files. A dynamic partitioning scheme within the media storage device 62 of the preferred embodiment of the present invention utilizing a secondary partition is illustrated in Figure 6. In the example illustrated in Figure 6, the media 80 is full for audio/video data because the location represented by the audio/video pointer pWR-AN is equal to the location represented by the non audio/ video pointer pWR- nAV. Because the media 80 has been filled, the location of the partition pointer pPART is also equal to the location represented by the pointers pWR-AV and pWR-nAV. In the example illustrated in Figure 6, the audio/ video file or track represented by the reference numeral 216 has been deleted within the portion of the media 80 in which audio/ video data is stored, thereby opening up this space. The media storage device 62 then generates a secondary partition within this empty space 216 and can then store additional data within this space, in the same manner as discussed above. Accordingly, audio/video data can be stored to increasing addresses beginning at the lowest address within this secondary partition and non audio/video data can be stored to decreasing addresses beginning at the highest address within this secondary partition. In the example illustrated in Figure 6, the non audio/ video data group 222 is stored within the highest addresses of the space 216. Within the secondary partition, the pointers pWR-AVj, pWR-nAV! and pPARTj are maintained. The partition audio/ video pointer pWR-AVj is used to mark the boundary of audio/video data within the secondary partition and represents the lowest address space above which there is no audio/video data within the secondary partition. The partition non audio/ video pointer pWR-nAVj is used to mark the boundary of audio/ video data within the secondary partition and represents the highest address space below which there is no non audio/video data within the secondary partition. The partition pointer pPART] represents a location between the boundaries of the audio/video data and the non audio/ video data within the secondary partition. As additional audio/ video data is stored on the media 80, the location represented by the partition audio/ video pointer pWR-AVj will dynamically change to represent the boundary of the audio/video data within the secondary partition. Correspondingly, as additional non audio/video data is stored on the media 80, the location represented by the partition non audio/ video pointer pWR-nAV! will dynamically change to represent the boundary of the non audio/video data within the secondary partition. In this manner, multiple secondary partitions can be maintained on the media 80, within the media storage device 62 of the present invention.
As described above, preferably, the non audio/video data is stored in decreasing addresses from the highest address on the media 80, using dynamic allocation. Depending on the granularity of the media storage device 62, this scheme may require some hardware changes within existing media storage devices. If the granularity is on the level of sectors on the media 80, then the implementation of writing to decreasing addresses can be done in software, thereby utilizing decreasing physical addresses of sectors while the data within a particular sector is written on the media 80 to increasing addresses. Alternatively, the audio/video portion could be written to decreasing addresses starting at the highest address on the media 80 and the non audio/video portion written to increasing addresses beginning at the lowest address on the media 80. This alternative embodiment would allow the non audio/video data to be written to the media 80 in a conventional manner with increasing addresses. In this embodiment, the decreasing address scheme would then be implemented for the audio/video data which is written contiguously.
It should be apparent to those skilled in the art that while the examples discussed herein utilize audio/ video and non audio/ video data, the principles of the media storage device and the dynamic partitioning method of the present invention could also be used with other types of data. Further, the dynamic partitioning method of the present invention could also be used for media storage devices that are conventionally partitioned, even if those devices are not utilized to store audio/ video or time-based data. The dynamic partitioning method of the present invention would eliminate the need for the correct estimation of the usage of each partition when the media is initialized and therefore eliminate the space potentially wasted by under usage of a certain type of data or region of the media.
In operation, the media storage device 62 of the present invention stores data on the media 80. The media storage device 62 preferably maintains an audio/video pointer pWR-AV which marks the boundary of the audio/ video data. The audio/video pointer pWR-AV has a starting location corresponding to the lowest address within the partition to be filled on the media. As audio/video data is written on the media to increasing contiguous addresses, the location represented by the audio/ video pointer pWR-AV correspondingly increases. The media storage device 62 also preferably maintains a non audio/video pointer pWR-nAV which marks the boundary of the non audio/video data. The non audio/ video pointer pWR-nAV has a starting location corresponding to the highest address within the partition to be filled on the media. As non audio/video data is written on the media to decreasing addresses, the location represented by the non audio/video pointer pWR-nAV correspondingly decreases. As tracks or files of audio/ video data are deleted from the media 80, the media storage device 62 preferably implements secondary partitions within which both audio/video data and non audio/video data can be written, as described herein.
According to the method and apparatus of the present invention, different types of data can be stored on the same media within a media storage device. The media storage device preferably implements a dynamic partitioning scheme, which allows the media storage device to fully and efficiently utilize the space available on the media, as the different types of data are stored within the media storage device. The partition or boundary between the different types of data dynamically moves as data of one or both types are stored on the media. In this manner, the media storage device of the present invention minimizes the unused space on the media and maximizes the space used, based on the type of data that it receives.
The present invention has been described in terms of specific embodiments incorporating details to facilitate the understanding of principles of construction and operation of the invention. Such reference herein to specific embodiments and details thereof is not intended to limit the scope of the claims appended hereto. It will be apparent to those skilled in the art that modifications may be made in the embodiment chosen for illustration without departing from the spirit and scope of the invention. Specifically, it will be apparent to those skilled in the art that while the preferred embodiment of the present invention is used with an IEEE 1394-1995 serial bus structure, the present invention could also be implemented on any other appropriate bus structures.

Claims

C L A I M S I Claim:
1. A method of partitioning media within a media storage device comprising: a. storing a first type of data at increasing addresses beginning at a lowest available address within a partition; and b. storing a second type of data at decreasing addresses beginning at a highest available address within the partition.
2. The method as claimed in claim 1 further comprising receiving data to be recorded and determining if the data is of the first type.
3. The method as claimed in claim 1 further comprising maintaining a first pointer representing a first boundary of the first type of data and a second pointer representing a second boundary of the second type of data.
4. The method as claimed in claim 3 wherein the first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored.
5. The method as claimed in claim 1 further comprising: a. determining if data of the first type is deleted; and b. maintaining a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
6. The method as claimed in claim 1 wherein the first and second types of data are stored on a media within a media storage device.
7. The method as claimed in claim 6 wherein the media storage device is coupled to a network of devices which substantially complies with a version of an IEEE 1394 standard.
8. The method as claimed in claim 7 wherein the first type of data is time- based data and the second type of data is non time-based data.
9. The method as claimed in claim 7 wherein the first type of data is audio/ video data and the second type of data is non audio/ video data.
10. The method as claimed in claim 9 wherein the audio/ video data is stored contiguously.
11. The method as claimed in claim 10 wherein the non audio/ video data is stored using dynamic allocation.
12. A method of recording data within a media storage device comprising: a. receiving data to be recorded; b. determining if the data is of a first type; c. recording the data at increasing addresses beginning at a lowest available address, if the data is of the first type; and d. recording the data at decreasing addresses within a memory space beginning at a highest available address, if the data is not of the first type.
13. The method as claimed in claim 12 further comprising maintaining a first pointer representing a first boundary of the first type of data and a second pointer representing a secondary boundary of the second type of data.
14. The method as claimed in claim 13 wherein the first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored.
15. The method as claimed in claim 12 further comprising: a. determining if data of the first type is deleted; and b. maintaining a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
16. The method as claimed in claim 12 wherein the first and second types of data are stored on a media within a media storage device.
17. The method as claimed in claim 12 wherein the first type of data is time- based data and the second type of data is non time-based data.
18. The method as claimed in claim 12 wherein the first type of data is audio/ video data and the second type of data is non audio/ video data.
19. The method as claimed in claim 12 wherein the data is received from a bus structure which substantially complies with a version of an IEEE 1394 standard.
20. A media storage device comprising: a. means for receiving data to be stored; and b. means for storing data coupled to the means for receiving for storing the data at increasing addresses beginning at a lowest available address when the data is of a first type and for storing the data at decreasing addresses beginning at a highest available address when the data is of a second type.
21. The media storage device as claimed in claim 20 further comprising a means for determining coupled to the means for receiving and to the means for storing for determining if the data is of the first type and of the second type.
22. The media storage device as claimed in claim 20 wherein the means for receiving data is coupled to a network of devices.
23. The media storage device as claimed in claim 22 wherein the network of devices substantially complies with a version of an IEEE 1394 standard.
24. The media storage device as claimed in claim 20 wherein the means for storing data includes media on which the data is stored.
25. The media storage device as claimed in claim 24 further comprising a read/write channel circuit coupled to the means for interfacing and to the media for controlling read and write operations from and to the media.
26. The media storage device as claimed in claim 20 wherein the first type of data is time-based data and the second type of data is non time-based data.
27. The media storage device as claimed in claim 20 wherein the first type of data is audio/ video data and the second type of data is non audio/ video data.
28. The media storage device as claimed in claim 27 wherein the audio/video data is stored contiguously.
29. The media storage device as claimed in claim 28 wherein the non audio/video data is stored using dynamic allocation.
30. The media storage device as claimed in claim 20 wherein the means for storing maintains a first pointer representing a first boundary of the first type of data and a second pointer representing a second boundary of the second type of data.
31. The media storage device as claimed in claim 30 wherein the first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored.
32. The media storage device as claimed in claim 20 wherein the means for storing further determines if data of the first type is deleted and maintains a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
33. A media storage device comprising: a. an interface circuit configured to receive data to be stored; and b. a storage circuit coupled to the interface circuit to receive the data, to store the data at increasing addresses beginning at a lowest available address when the data is of a first type and to store the data at decreasing addresses beginning at a highest available address when the data is of a second type.
34. The media storage device as claimed in claim 33 further comprising a control circuit coupled to the interface circuit and to the storage circuit to determine if the data is of the first type and of the second type.
35. The media storage device as claimed in claim 33 wherein the interface circuit is coupled to a network of devices.
36. The media storage device as claimed in claim 35 wherein the network of devices substantially complies with a version of an IEEE 1394 standard.
37. The media storage device as claimed in claim 33 wherein the storage circuit includes media on which the data is stored.
38. The media storage device as claimed in claim 37 further comprising a read/write channel circuit coupled to the interface circuit and to the media to control read and write operations from and to the media.
39. The media storage device as claimed in claim 33 wherein the first type of data is time-based data and the second type of data is non time-based data.
40. The media storage device as claimed in claim 33 wherein the first type of data is audio/video data and the second type of data is non audio/video data.
41. The media storage device as claimed in claim 40 wherein the audio/video data is stored contiguously.
42. The media storage device as claimed in claim 41 wherein the non audio/ video data is stored using dynamic allocation.
43. The media storage device as claimed in claim 33 wherein the storage circuit maintains a first pointer representing a first boundary of the first type of data and a second pointer representing a second boundary of the second type of data.
44. The media storage device as claimed in claim 43 wherein the first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored.
45. The media storage device as claimed in claim 33 wherein the storage circuit further determines if data of the first type is deleted and maintains a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
6. A media storage device comprising: a. an interface circuit configured to receive data to be stored; b. a media on which the data is stored, wherein the media is dynamically partitioned to store data of different types; and c. a control circuit coupled to the interface circuit and to the media to control the storage of the data at increasing addresses beginning at a lowest available address when the data is of a first type and to store the data at decreasing addresses beginning at a highest available address when the data is of a second type, wherein a first pointer is maintained representing a first boundary of the first type of data on the media and a second pointer is maintained representing a second boundary of the second type of data on the media.
47. The media storage device as claimed in claim 46 wherein the first boundary changes as data of the first type is stored on the media and the second boundary changes as data of the second type is stored on the media.
48. The media storage device as claimed in claim 46 wherein the control circuit further determines if the data is of the first type and of the second type.
49. The media storage device as claimed in claim 46 wherein the interface circuit is configured to couple to a network of devices.
50. The media storage device as claimed in claim 49 wherein the network of devices substantially complies with a version of an IEEE 1394 standard.
51. The media storage device as claimed in claim 46 wherein the first type of data is time-based data and the second type of data is non time-based data.
52. The media storage device as claimed in claim 46 wherein the first type of data is audio/ video data and the second type of data is non audio/ video data.
53. The media storage device as claimed in claim 46 wherein the control circuit further determines if data of the first type is deleted and maintains a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
54. A network of devices comprising: a. one or more source devices for generating and transmitting data; and b. a media storage device coupled to the one or more source devices for receiving and storing the data, the media storage device including: i. an interface circuit configured to receive the data to be stored; and ii. a storage circuit coupled to the interface circuit to receive the data, to store the data at increasing addresses beginning at a lowest available address when the data is of a first type and to store the data at decreasing addresses beginning at a highest available address when the data is of a second type.
55. The network of devices as claimed in claim 54 wherein the media storage device further comprises a control circuit coupled to the interface circuit and to the storage circuit to determine if the data is of the first type and of the second type.
56. The network of devices as claimed in claim 54 wherein the network of devices substantially complies with a version of an IEEE 1394 standard.
57. The network of devices as claimed in claim 54 wherein the storage circuit includes media on which the data is stored.
58. The network of devices as claimed in claim 54 wherein the first type of data is time-based data and the second type of data is non time-based data.
59. The network of devices as claimed in claim 54 wherein the first type of data is audio/ video data and the second type of data is non audio/ video data.
60. The network of devices as claimed in claim 54 wherein the storage circuit maintains a first pointer representing a first boundary of the first type of data and a second pointer representing a second boundary of the second type of data.
61. The network of devices as claimed in claim 60 wherein the first boundary changes as additional data of the first type is stored and the second boundary changes as additional data of the second type is stored.
62. The network of devices as claimed in claim 54 wherein the storage circuit further determines if data of the first type is deleted and maintains a secondary partition in an available location from which data of the first type has been deleted, wherein data of the first type is stored at increasing addresses within the secondary partition beginning at a lowest available address within the secondary partition and data of the second type is stored at decreasing addresses within the secondary partition beginning at a highest available address within the secondary partition.
PCT/US2000/030926 1999-11-10 2000-11-08 Device for storing audio/video data and non audio/video data WO2001035232A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2001536699A JP2003514301A (en) 1999-11-10 2000-11-08 Device for storing audio / video data and non-audio / video data
EP00980330A EP1228436A1 (en) 1999-11-10 2000-11-08 Device for storing audio/video data and non audio/video data
AU17606/01A AU1760601A (en) 1999-11-10 2000-11-08 Device for storing audio/video data and non audio/video data
KR1020027005270A KR20020044573A (en) 1999-11-10 2000-11-08 Device for storing audio/video data and non audio/video data

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US16478499P 1999-11-10 1999-11-10
US60/164,784 1999-11-10
US62474300A 2000-07-25 2000-07-25
US09/624,743 2000-07-25

Publications (1)

Publication Number Publication Date
WO2001035232A1 true WO2001035232A1 (en) 2001-05-17

Family

ID=26860843

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/030926 WO2001035232A1 (en) 1999-11-10 2000-11-08 Device for storing audio/video data and non audio/video data

Country Status (5)

Country Link
EP (1) EP1228436A1 (en)
JP (1) JP2003514301A (en)
KR (1) KR20020044573A (en)
AU (1) AU1760601A (en)
WO (1) WO2001035232A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422733A (en) * 2021-12-02 2022-04-29 深圳市金溢科技股份有限公司 Internal network management method, controller, integrated device, apparatus, and medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5838783B2 (en) * 2011-12-20 2016-01-06 アイシン精機株式会社 How to write data to flash memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687392A (en) * 1994-05-11 1997-11-11 Microsoft Corporation System for allocating buffer to transfer data when user buffer is mapped to physical region that does not conform to physical addressing limitations of controller
US5845083A (en) * 1996-03-07 1998-12-01 Mitsubishi Semiconductor America, Inc. MPEG encoding and decoding system for multimedia applications
US5890207A (en) * 1996-11-27 1999-03-30 Emc Corporation High performance integrated cached storage device
US5970086A (en) * 1997-05-22 1999-10-19 Itt Manufacturing Enterprises Radio remote interface for modulating/demodulating data in a digital communication system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5687392A (en) * 1994-05-11 1997-11-11 Microsoft Corporation System for allocating buffer to transfer data when user buffer is mapped to physical region that does not conform to physical addressing limitations of controller
US5845083A (en) * 1996-03-07 1998-12-01 Mitsubishi Semiconductor America, Inc. MPEG encoding and decoding system for multimedia applications
US5890207A (en) * 1996-11-27 1999-03-30 Emc Corporation High performance integrated cached storage device
US5970086A (en) * 1997-05-22 1999-10-19 Itt Manufacturing Enterprises Radio remote interface for modulating/demodulating data in a digital communication system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422733A (en) * 2021-12-02 2022-04-29 深圳市金溢科技股份有限公司 Internal network management method, controller, integrated device, apparatus, and medium
CN114422733B (en) * 2021-12-02 2024-03-01 深圳市金溢科技股份有限公司 Internal network management method, controller, integrated device, apparatus, and medium

Also Published As

Publication number Publication date
EP1228436A1 (en) 2002-08-07
JP2003514301A (en) 2003-04-15
AU1760601A (en) 2001-06-06
KR20020044573A (en) 2002-06-15

Similar Documents

Publication Publication Date Title
US6993646B2 (en) Automatically configuring storage array including plurality of media storage devices for storing and providing data within a network of devices
US7254702B2 (en) Method of distributed recording whereby the need to transition to a second recording device from a first recording device is broadcast by the first recording device
JPH10254811A (en) Electronic equipment controller and its method
US20010011310A1 (en) Method of and apparatus for capturing and processing continuous media-based data streams transmitted over an ieee 1394 serial bus
EP0939529B1 (en) Destination node, data communication system, method of controlling a destination node and method of operating a data communication system
US6937599B1 (en) Data source, data conversion device, inverse data conversion device, auxiliary data file generation device, reception method, medium and information aggregate
US7194548B1 (en) Data transmission apparatus, receiving apparatus, and sending apparatus
US6721859B1 (en) Multi-protocol media storage device implementing protocols optimized for storing and retrieving both asynchronous and isochronous data
US7124292B2 (en) Automatically configuring storage array including a plurality of media storage devices for storing and providing data within a network of devices
KR100311707B1 (en) Data communication system, data communication method, data communication apparatus, and digital interface
US20030187652A1 (en) Content recognition system for indexing occurrences of objects within an audio/video data stream to generate an index database corresponding to the content data stream
EP1228436A1 (en) Device for storing audio/video data and non audio/video data
KR100464469B1 (en) Data transfer controller and electronic device
US6421745B1 (en) Asynchronous connections with scattering page tables for transmitting data from a producer device to a consumer device over an IEEE 1394 serial data bus
JP4428750B2 (en) Data communication system
US7720821B1 (en) Method of and apparatus for writing and reading time sensitive data within a storage device
JP4046846B2 (en) Data communication system and data communication apparatus
JP4026979B2 (en) Data communication system
JPH10145435A (en) Converter and its method
JP2002135270A (en) Data asynchronous transfer system
JPH11184791A (en) Method for writing reception data in recording medium in computer and recording medium for recording program for describing the same
JPH11298509A (en) Data communication system, data communication method, data communication device and storage medium

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2000980330

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020027005270

Country of ref document: KR

ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 536699

Kind code of ref document: A

Format of ref document f/p: F

WWP Wipo information: published in national office

Ref document number: 1020027005270

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2000980330

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2000980330

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642