The digital storage of speech signals in a semiconducting memory is known in the art. Large quantities of storage space are required for storing speech signals and therefore, for long recordings for example dictations, a very large semiconductor memory is needed. This is advantageously implemented using a so-called flash memory. However, the contents of such a memory can only be erased in large sections at a time so that minor changes such as partial erasures and insertions are not possible. The total available memory is subdivided into clusters and a table of contents is created in which the stored files and the state occupation of each cluster is stored, at is known in the art concerning the DOS file manager. Moreover, information which indicates which cluster is the next cluster of a file is stored for each cluster in a file allocation table. This process in accordance with the invention allows for erasures or insertions to be carried out by altering the indication in the file allocation table to the following cluster. In this manner, clusters may be both inserted into and removed from a file. In addition, information on each cluster includes the number of speech frames stored in the cluster and from which address the first speech frame is stored. It is thereby possible to logically remove individual speech frames, forming the smallest subdivision of the stored speech signal, from the file at the beginning or end of a cluster without having to execute an erasing process.
A control means 24A reads an unrecorded area of a recording medium 25 in advance, and stores the read unrecorded area in a stack of a RAM 11. The unrecorded area is stored in the stack of the RAM 11 by being pushed onto the bottom of a stack pointer. When new data is recorded on the recording medium 25, recording is executed in order from the top of the stack pointer. Accordingly, information which continuously progresses in a time series manner can be recorded on the recording medium 25 without lack of the information which continuously progresses, and it is possible to reduce the time required to calculate and display the remaining recording time.
The present invention provides a semiconductor memory card which no longer allows an illegal practice of acquiring contents of a deleted file. Here, when a deletion event is generated, a deletion handler gives a priority to a null-clear operation of a file entry and a FAT for a file to be deleted over a null-clear operation to other constituents of the file. A null-clear operation to a file entity of the file is distributed to a plurality of event handlers including the deletion handler.
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.
A re-programmable non-volatile semiconductor memory, such as flash memory, operates to store files with logical addresses including a unique file identifier and offsets of data within the file, termed direct data file storage. Data files generated by a host may be stored directly in such a memory through a file interface. But if a traditional host/memory interface using a continuous logical address space is being used to identify multiple files, the address space is divided into contiguous logical files, and then these files are treated in the same manner as files obtained directly from a host. Both types of interfaces may be included in the same memory system.