A reproducing apparatus for reproducing data from a record medium having a program area and a management area, the program area being used for recording a plurality of files, the management area being used for managing forging prohibition information against a particular file recorded in the program area is disclosed, the apparatus comprising a calculating means for calculating the forging prohibition information managed in the management area of the record medium whenever a file recorded in the recorde medium is reproduced, a comparing means for comparing a value calculated by the calculating means corresponding to a former reproduction command with a value calculated by the calculating means corresponding to a current reproduction command, and a controlling means for permitting the file corresponding to the current reproduction command to be reproduced when the value calculated corresponding to the former reproduction command is the same as the value calculated corresponding to the current reproduction command as the result of the comparing means.
The invention provides a data storage device and a method of updating management information, capable of dealing with management information in a highly reliable manner so that information is not easily lost when an error occurs. File management information such as a FAT serving as address management information in a flash memory is stored in a management information area of the memory, a pair of blocks is assigned as blocks for use to store data of the FAT, and writing of updated FAT information is performed by alternately using the two blocks of the block pair such that previous FAT information is retained in one of the two blocks of the block pair, and updated FAT information is written in the other block of the block pair, whereby, even when an error occurs in the middle of the process of writing the updated management information, a process using the retained previous FAT information is possible.
An information recording apparatus has a content encryption section which encrypts content information with an encryption key and outputs encrypted content information, a control section which identifies an already moved area in the content information and generates a reproduction enable condition containing reproducible area information indicating a movable area, a hash arithmetic device which executes hash calculation for the reproduction enable condition and stores an arithmetic result in a register, and a hard disk drive which records the encrypted content information output from the encryption section and the reproduction enable condition. Even content information that remains after interruption during movement can be moved.
Detection as to the reproduction expiration time of contents is executed, using the measured time of a system clock managed based on system time data from a base station BS. If the reproduction expiration time of the contents is not exceeded, the contents can be reproduced, whereas if it is exceeded, the contents are not reproduced, and a message "Expired" is generated and displayed on a display.
A change in the amount of data to be stored that results from various encoding, compression, encryption or other data transformation algorithms, is handled by individually identifying distinct units of the transformed data and storing such units in physical succession within storage blocks of a memory system such as flash memory. The data being stored may come from a host system external to the memory system or from an application running on a processor within the memory system.
Host system data files are written directly to a large erase block flash memory system with a unique identification of each file and offsets of data within the file but without the use of any intermediate logical addresses or a virtual address space for the memory. Directory information of where the files are stored in the memory is maintained within the memory system by its controller, rather than by the host. A type of memory block is selected to receive additional data of a file that depends upon the types of blocks into which data of the file have already been written. Blocks containing data are selected for reclaiming any unused capacity therefrom by a process that selects blocks in order starting with those containing the least amount of valid data.