Device for accessing semiconductor memory card, computer- readable data carrier, initialization method and semiconductor memory card

FIELD: data carriers.

SUBSTANCE: device has calculating, reserving and recording modules. Each variant of semiconductor memory card contains area for recording user data for controlling volume and area for recording user data. On carrier method for computer initialization is recorded, including calculation of size of volume control information, reserving areas and recording therein of control information for volume and user data, recording main boot record and sectors table in first section of first area, skipping preset number of sectors, recording information of boot sector of section, file allocation table and root directory element to following sectors.

EFFECT: higher efficiency.

5 cl, 59 dwg

 

The technical field to which the invention relates.

The present invention relates to an access device for accessing the semiconductor memory card, which contains an internal non-volatile memory, for example, EEPROM (electrically reprogrammable permanent storage device), a computer-readable medium of account for program entry initialization of the semiconductor memory card, the initialization method and a semiconductor memory card and, in particular, to improvements to increase the efficiency of overwriting data in nonvolatile memory.

The level of technology

Thanks to its advantages as small size and weight, the semiconductor memory card significantly strengthen its position as the recording media in a wide range of applications. The semiconductor memory card contains a built-in nonvolatile memory, so-called EEPROM, access to which is carried out using the connected device that allows you to use a semiconductor memory card as the recording media. Data can be directly written to an empty sector EEPROM in the same way as when recording on magnetic or optical disks. However, if the EEPROM sectors contain data before you write to the sectors of new data sectors is necessary in order to return the empty state, deleting previously recorded data. In EEPROM type non-And used in many semiconductor memory cards, the returning operation of the sector in the empty state is necessary to carry out simultaneously on 32 sectors (in this type of non-volatile memory a group of 32 sectors forms a so-called clean block). Therefore, the semiconductor memory card contains specialized internal governance, which manage memory using purified blocks as basic access area. The operation control status cleared blocks, reading data from a cleared blocks and writing data in the treated units are under control of this control scheme.

Thus, the semiconductor memory card has a unique hardware structure (physical layer), which is fundamentally different from the structure used in magnetic or optical disks. However, the model levels shown on figa, as in the case of magnetic or optical disk, includes the physical level, file system level and application level. On FIGU shows a detailed diagram of the physical layer. According to the drawing, the physical layer contains the volume formed by the combination of cleared blocks. Each cleaned the block consists of 32 sectors which has a data length of 16 KB. On figs shows a diagram of a file system level, which is usually of the so-called FAT (file allocation table). The FAT file system operates on a region of the volume as a collection of so-called clusters. At the beginning of the volume regions is information management volume, and directly after the information of the control volume is a custom scope, designed to record user data. Information management volume includes headache boot record, partition table, boot sector of the partition, duplicate file allocation table (FAT) and the element of the root directory. Duplicate FAT specifies relationships between many clusters that make up the region of the volume. Due to the presence of such a file system level, you can save the data at the application level in a hierarchical structure formed by directories and files. This model levels enables the access device to use when accessing the semiconductor memory card, the same procedure that you use when accessing the recording media such as magnetic or optical disk, despite the differences that exist at the physical level.

However, the user has many possibilities to determine the size of the data area of the volume, while maintaining the data volume of the file with the system. When you change the size of the volume at the user's request, the number of clusters included in the scope of the volume, respectively is increased or decreased. When increasing or decreasing the number of clusters, FAT, formed by the elements corresponding to these clusters, also, respectively, is increased or decreased as well as the size of the control volume, which includes FAT. When to increase or decrease the size of the control volume, the starting address of the user area, the following for information management volume also changes. The starting address of the user area is changed according to the size of the sphere volume. Therefore, the start address of each cluster are also changed in accordance with the size of the user area.

When you change the start address of each cluster in accordance with the size of the user area, the clusters can overlap the border between the two cleared the blocks, and the tail part of the information management volume can be accommodated in the same cleaned the block and cluster located at the beginning of the user area. In the diagram pane of the volume shown fig.1D, it is shown that the tail part of the information management volume and the cluster at the beginning of the user area, are located in one and the same ocide the th block. When the clusters are in accordance with the drawing, and the user wishes to change the data stored in a particular cluster, two of the purified block that host cluster, you need to consider, and then return the empty state. However, the non-volatile memory consists of memory components, each of which contains the floating gate electrode, immersed in an insulating layer. This component memory can be cleared only several tens of times to several thousand hits, so if it often happens that changes to the same cluster have to clear two of the purified block, the lifetime of the nonvolatile memory is markedly reduced.

In the General case, when the 32 sectors are managed as a single cluster, the writing of data in the cluster can be performed for 32× 200 µs (200 µs is the time required to write each sector), if the place under the entry already cleared. If the location for the record, the first clean, then add the scavenging period to 2 MS. If the cluster overlaps the border between the two cleared blocks, you need to clean both units and site clearance for the record, took 4 MS. As a result, the time spent on data entry, increases markedly.

The invention

The present invention is an access device, which can reduce the processing time required for ISM is in a cleared blocks, as well as the formation of the storage format of data in the semiconductor memory card that allows you to increase the life of the nonvolatile memory.

The semiconductor memory card type SD (digital security) allow you to achieve great success in the solution of the above challenges, reduce processing time and improve the service life of the non-volatile memory for the following reasons. In the memory card type SD provided by the so-called protected area, which a normal user cannot use. This protected area is intended for storing secret information such as encryption key used to encrypt data, information on the accounts that are used to provide user accounts for the reproduction of copyrighted material, etc. the Amount of data subject to secrecy varies depending on the type of the application program, so that the size of the protected area should be changed in accordance with the application type. If the size of the protected area changes, this means that the circuit area of the volume is also changed in accordance with the application type. In such a schema change is the area of the volume that often happens is that the clusters overlap boundaries between cleared blocks, causing the solution to the above problem becomes which becomes extremely necessary. To solve this problem we propose the following structure of the access device to the semiconductor memory card. The access device provides access to files stored on a semiconductor memory card that contains a memory area consisting of multiple sectors, operating data in each group of the 2jsectors (j - 0 or positive integer) as a cluster, and in one or more clusters as a file. In this case, each group of 2iconsecutive sectors in the memory area forming a block (i is 0 or a positive integer), which is the smallest area of memory in which you can perform the erase operation. The access device includes a computing module, reserving module and a recording module. Computing module computes the size of the control volume on the basis of the number of clusters in the memory area that you want to manipulate. In this case, information management volume contains a file allocation table that indicates for each file, links between clusters corresponding to the file. Reserving module reserves a first area for recording control information volume and a second area for recording user data. The first area is characterized by a data size exceeding chislenny the size of the control volume, and consists of mgisectors (m is a positive integer), whereas the second area consists of blocks following the first area. The recording module records information management volume in the first area, the user data in the second area and operates information management volume and user data as a set of clusters. Device access reserves in the area volume area size in m clusters (m is a positive integer) for recording information management volume that is not possible, while maintaining the cluster, to overlap the border between the two cleared blocks. The boundaries of the clusters can be aligned to the boundaries of the cleared blocks and border control information volume can be aligned to the boundaries of the cleared blocks. Therefore, in the transfer of the cluster you want to clear only one clean block, which reduces the number of cleaning operations unit cleared. Reducing the number of cleaning operations unit allows to reduce the time for writing data in the semiconductor memory card, and to increase the lifetime of the nonvolatile memory.

In this case, information management volume may contain, in addition to the file allocation table, headache boot record, partition table information of the partition boot sector and root element catalogurl, the recording module records the head boot record and the partition table in the first sector of the first area, skips a certain number of sectors and writes information of the partition boot sector, file allocation table and the root in the following sectors. This gives you the opportunity to align the end of the first region with the end item in the root directory. The number of sectors between the parent boot record indicating the beginning of the drive, and the boot sector of the partition that indicates the start of the partition can be adjusted in such a way as to limit the placement of information management volume the first area consists of m clusters, and to maintain compatibility with devices that use the FAT file system.

In this case, the computational module can calculate the sum by summing the number of sectors used to record the information of the partition boot sector, file allocation table and root directory. Reserving module reserves a first region, calculating the value of m based on equation (1): NOM+SUM=2j×m. In this case, NOM is the number of sectors. The recording module computes a certain number of sectors, subtracting 1 from the number of sectors NOM. Even if the size of the file allocation table is modified first region, the amount of which exceeds the size of the control volume, a multiple of the size of the purified block remains constant. Thus, for the first area reserve required minimum size is not dependent on the calculated size of the file allocation table.

In this case, the recording module may set a predetermined number of sectors in the partition table, recording the management information volume. With this structure, even in case of changing the size of the first region, which leads to a change start address of the second area, the number of sectors obtained by subtracting 1 from the number of sectors NOM, can be obtained from the partition table, so that the access device can accurately access the user area, referring to the partition table.

To solve the above problem, the invention provides an access device for accessing files stored in the semiconductor memory card that contains a memory area consisting of multiple sectors, with the access device operates the data in each group of the 2jsectors (j is 0 or a positive integer) as a cluster, and operates one or more clusters as a file, each group of 2iconsecutive sectors in the memory area of obrazu the block (i is 0 or a positive integer), which is the smallest area of memory in which you can perform the erase operation. This access device includes a computing module configured to compute the size of the control volume on the basis of the number of clusters in the memory area that you want to manipulate and control the volume contains a headache boot record, partition table information of the partition boot sector, file allocation table and the root, and the file allocation table specifies for each file, links between clusters corresponding to this file. The access device also includes a backup module, configured to reserve the first area used for recording information management volume, and a second area used for recording user data. The first area is characterized by a data size greater than the calculated size of the control volume, and includes two or more blocks, and the second area consists of the blocks following the first area. In addition, the access device includes a recording module configured to record the management information volume in the first area, and user data in the second area, and record head loading is loading record and the partition table in the first sector of the first block of the first region, to skip a predetermined number of sectors and then to record the partition boot sector, file allocation table and the root in the following sectors to align the end of the first region with the end item in the root directory. The information of the partition boot sector, file allocation table and the root is recorded in at least one block that is different from the first block.

According to one of the preferred embodiments mentioned access device, the computing module is configured to calculate a sum by summing the number of sectors used to record the information of the partition boot sector, file allocation table and root, with the first area consists of the m× 2jsectors (m is a positive integer), the backup module is configured to reserve the first area by calculating the value of m based on the equation NOM + SUM=m× 2jwhere NOM is the number of sectors, and the recording module is configured to calculate a predetermined number of sectors by subtracting 1 from the number of sectors NOM. Preferably, the number of sectors used to record the file allocation table, is calculated on the basis of the AI is the number of clusters in the memory area, you want to operate.

In addition, according to this preferred variant implementation, the file allocation table contains many elements, and the number of elements equal to the number of clusters to be written to the second area, and each element of the set of elements indicates a connection with another cluster of the same file. When the access device includes a receiving module, configured to accept setting total number of sectors and the total number of clusters in the memory area. The processing module includes a first calculation module, configured to calculate the total number of clusters by dividing the total number of sectors in the memory area for the number of sectors 2jand to calculate the size of the file allocation table by multiplying the total number of clusters on the length of the element in bits and reserving module includes a module for the second calculation, performed with the opportunity to calculate the sum by summing the size of the file allocation table with quantities sectors, forming, respectively, the information of the partition boot sector and root, and calculate the value of m by substituting the value of sum of SUM in equation NOM + SUM=m× 2j.

To solve you izlojennoi task of the invention is a semiconductor memory card, which contains a memory area consisting of multiple sectors, and operates the data in each group of the 2jsectors (j is 0 or a positive integer) as a cluster, and one or more clusters as a file, each group of 2iconsecutive sectors in the memory area forming a block (i is 0 or a positive integer), which is the smallest area of memory in which you can perform the erase operation. This semiconductor memory card includes a first area containing two or more unit used for recording information management volume, and the second area consisting of blocks following the first area, and used for recording user data. The information management volume includes headache boot record, partition table information of the partition boot sector, file allocation table and the root, and the file allocation table specifies for each file, links between clusters corresponding to the file, and headache boot record and the partition table is written in the first sector of the first block of the first field with skipping a predetermined number of sectors, the information of the partition boot sector, file allocation table and the item Kornev the first directory recorded in the following sectors to align the end of the first region with the end item in the root directory. The information of the partition boot sector, file allocation table and the root is recorded in at least one block that is different from the first block.

According to one of the preferred embodiments mentioned semiconductor memory card, the first area consists of the m× 2jsectors (m is a positive integer), a predetermined number of sectors is calculated by subtracting 1 from the number of sectors NOM, which satisfies the equation NOM + SUM=m× 2jwhen this sum is calculated by summing the number of sectors used to record the information of the partition boot sector, file allocation table and root. Preferably, the number of sectors used to record the file allocation table, is calculated on the basis of the number of clusters in the memory area that you want to manipulate.

In addition, according to this preferred variant implementation, the file allocation table contains many elements, and the number of elements equal to the number of clusters, and each element of the set of elements indicates a connection with another cluster of the same file. The size of the file allocation table is calculated by calculating the total number of clusters by dividing with marnoso number of sectors in the memory area for the number of sectors 2 jand multiplying the total number of clusters on the length of the element in bits, and the value of m is calculated by calculating the sum SUM by summing the size of the file allocation table with quantities sectors, forming, respectively, the information of the partition boot sector and root, and by substituting the value of SUM in equation NOM + SUM=m× 2j.

To solve the above problem, the invention provides a method of initializing a computer, allowing the computer to access the files stored in the semiconductor memory card that contains a memory area consisting of multiple sectors, operating data in each group of the 2jsectors (j is 0 or a positive integer) as a cluster, and in one or more clusters as a file, each group of 2iconsecutive sectors in the memory area forming a block (i is 0 or a positive integer), which is the smallest area of memory in which you can perform the erase operation. According to this method calculates the size of the control volume on the basis of the number of clusters in the memory area that you want to manipulate and control the volume includes headache boot record, partition table information, zagrosek the CSO sector of the partition, the file allocation table, root, and the file allocation table specifies for each file, links between clusters corresponding to the file. Also according to this method, first reserve area used for recording information management volume, and a second area used for recording user data, and the first region is characterized by a data size greater than the calculated size of the control volume, and includes two or more blocks, and the second area consists of the blocks following the first area. In addition, according to this method writes the management information volume in the first area, and user data in the second area, and a write head boot record and the partition table in the first sector of the first block of the first area, pass a predetermined number of sectors and then record information of the partition boot sector, file allocation table and the root in the following sectors to align the end of the first region with the end item in the root directory, with information of the partition boot sector, file allocation table and the root record in at least one block that is different from the first block.

To solve the foregoing ass the Chi of the invention is the recording medium, where in machine-readable format is stored initialization routine of a computer, allowing him to access the semiconductor memory card that contains a memory area consisting of multiple sectors, operating data in each group of the 2jsectors (j is 0 or a positive integer) as a cluster, and in one or more clusters as a file, each group of 2iconsecutive sectors in the memory area forming a block (i is 0 or a positive integer), which is the smallest area of memory in which you can perform the erase operation. The program on this recording medium enables the computer to calculate the size of the control volume on the basis of the number of clusters in the memory area that you want to manipulate and control the volume contains a headache boot record, partition table information of the partition boot sector, file allocation table, root. The file allocation table specifies for each file, links between clusters corresponding to the file. In addition, the program mentioned on the recording medium allows the computer to reserve the first area used for recording information management volume, and a second area used for recording uses the research data, the first region is characterized by a data size greater than the calculated size of the control volume, and includes two or more blocks, and the second area consists of the blocks following the first area. In addition, the program mentioned on the recording medium allows the computer to record information control volume in the first area, and user data in the second area, and record head boot record and the partition table in the first sector of the first block of the first region, to skip a predetermined number of sectors and then to record the partition boot sector, file allocation table and the root in the following sectors to align the end of the first region with the end item in the root directory. The information of the partition boot sector, file allocation table and the root is recorded in at least one block that is different from the first block.

According to one of the preferred embodiments mentioned recording media, when the above-mentioned calculation calculates the total SUM by summing the number of sectors used to record the information of the partition boot sector, file allocation table and root; when referred to reserve the implement is reserved first region by calculating the value of m based on the equation NOM + SUM=m× 2jwhere NOM is the number of sectors; and when these records is calculated a predetermined number of sectors by subtracting 1 from the number of sectors NOM. Preferably, the number of sectors used to record the file allocation table, is calculated on the basis of the number of clusters in the memory area that you want to manipulate.

In addition, according to this preferred variant implementation, the file allocation table contains many elements, and the number of elements equal to the number of clusters to be written to the second area, and each element of the set of elements indicates a connection with another cluster of the same file. The program on the recording medium also allows the computer to accept the setting total number of sectors and the total number of clusters in the memory area. Preferably, the above calculation includes the first calculation to calculate the total number of clusters by dividing the total number of sectors in the memory area for the number of sectors 2jand calculate the size of the file allocation table by multiplying the total number of clusters on the length of the element in bits, and the aforementioned reservation includes a second calculation to calculate the total SUM by sum the financing of the size of the file allocation table with quantities of sectors, forming, respectively, the information of the partition boot sector and root, and calculate the value of m by substituting the value of sum of SUM in equation NOM + SUM=m× 2j.

In addition, according to this preferred variant implementation, the memory area includes a protected area that is accessible to the device connected to the semiconductor memory card only after the confirmation of the authenticity of the connected device, and the user data area available to the device connected to the semiconductor card, regardless of the result of authentication of the connected device. Taken from a source external to the access device, the set value of the number of sectors subject to the allocation of the protected area and the user data area. When the first calculation, based on the received set values, calculates the size of the file allocation table for the protected area and the size of the file allocation table for the user data area. In the second calculation we compute two sums SUM for each protected area and the user data area, respectively, by summing the size of the file allocation table of the protected area and the size of the file allocation table area the user is skih data from a number of sectors, forming information of the partition boot sector of the corresponding area, and the number of sectors forming the root of the corresponding region, and calculates the value of m, respectively, for each of the protected area and the user data area by substituting the appropriate value of the sum of the SUM in equation

NOM + SUM=m× 2j.

Brief description of drawings

Figa - model levels, providing physical level, file system level meeting ISO/IEC9293, and application layer.

Figv and 1C - format physical layer and file system level.

Fig.1D - region of the volume, when the tail part of the information management volume and the cluster in the beginning of the user area, occupy the same unit cleared.

Figa external view of the semiconductor memory card.

Figv and 2C - external types of access devices.

Figa internal structure of the semiconductor memory card and access device.

Figw - model levels for the software used by the access device.

4 is a data storage format that meets the ISO/IEC9293 used non-volatile memory 1.

Figure 5 - structure management section, the system area and the user area, are included in the scope of the volume.

Figv structure of the partition boot sector.

Figa structure redundant FAT.

Figw - element structure of the root directory.

Figs - structure of the custom field.

Fig is an example of how to save files.

Fig.9 is an example of a task item in the root directory and FAT when you save the file AOB001.SA1 in multiple clusters.

Figa the ratio between treated units and clusters.

Figv clusters when n=1.

Figs clusters when n=16.

Figa case for recording information management volume dedicated m clusters of s cleared blocks.

Figw - the number of clusters selected for recording information management volume when n=1.

Figs - the number of clusters selected for recording information management volume when n=16.

Fig - drawing obtained by the construction management section, system area and cluster sizes are calculated using equations (11) and (12).

Fig - block diagram of the initialization procedure for the area of the volume.

Fig - structure of the device accessing the semiconductor memory card according to the second variant implementation.

Fig internal structure of the module 11 safe handling.

Fig - detailed diagram of the structure of the volume regions, savienosanai area.

Fig illustrative diagram of the user data area.

Fig illustrative diagram of a secure area.

Fig - the internal structure of module 2 access control according to the third variant of implementation.

Figa and 20V - processing sequence carried out when overwriting a cleared block.

Fig internal structure of the module 9 file system operations according to the third variant of implementation.

Fig - detailed block diagram of the processing implemented by the module 9 file system operations according to the third variant of implementation.

Figa and 23C - cleaning process performed by the cleaning unit according to the third variant of implementation.

Fig - the internal structure of module 2 access control according to the fourth variant implementation.

Fig - detailed block diagram of the processing implemented by the module 9 file system operations according to the fourth variant implementation.

Figa and 26V - cleaning process performed by the cleaning unit according to the fourth variant implementation.

Figa and 27B is a causal relationship between fragmentation and overhead costs when issuing the command.

Fig - detailed block diagram of the processing sequence to remove fragmentation performed on the logical address.

Figa-29D - model is, considered for each of the variables s, t, u, v and y, shown in the block diagram depicted in Fig.

Figa-30C show how to eliminate fragmentation according to the fifth variant implementation.

Fig - new extended attributes, specified using the extended attribute using the implementation in the UDF.

Fig internal structure of the semiconductor memory card is equipped with a backup area.

Fig internal structure of the semiconductor memory card according to the sixth variant implementation.

Figa-34C - content of processing performed by the module 9 file system operations according to the seventh variant implementation.

Preferred embodiments of the inventions

The following is a description of embodiments of the semiconductor memory card and the system containing the semiconductor memory card and access device, with reference to the drawings.

On figa shows an external view of a semiconductor card 100 memory, and figv and 2C shows an external types of access devices. On figa shows the internal structure of the semiconductor card 100 and memory device 200 of access.

The semiconductor memory card is 100 depicted in figa, has a length 32.0 mm, width 24.0 mm and a thickness of 2.1 mm, i.e. a size comparable with a stamp and is so small that the user can hold the tested it on the tip of your finger. The semiconductor memory card is 100 has nine connectors to connect to the device 200 of access, on the one hand it has the protect switch write, using which the user can enable or disable overwriting of the recorded data. As shown in the lower part figa, the semiconductor memory card is 100 includes non-volatile memory 1, representing EEPROM type Nei, module 2 access control and memory 3. Module 2 access control writes data to the nonvolatile memory 1, reads data from the nonvolatile memory 1 and erases data in accordance with commands received from the device 200 of access. The RAM 3 is used for temporary storage of data read from the nonvolatile memory before re-writing data in the nonvolatile memory.

Now describe the device 200 of access, which can be household audio system, depicted in FIGU, or information-processing device type personal computer shown in figs. Such a device 200 of the access slot 4 contains the map, the secondary memory 5, the CPU 6 and the primary memory 7. Connector 4 under the map is designed to connect a semiconductor card 100 memory. The secondary memory 5 is used to store a variety of software provide the treatment, required to provide access to the semiconductor card 100 memory. The CPU 6 performs the General control device 200 of access. The primary memory 7 is designed for temporary storage of FAT and root when accessing the semiconductor card 100 memory. On FIGU depicts the levels for the software used in the device 200 of access. According to the drawing, software access device contains an application program 8 module 9 file system operations and the driver device 10. The application program 8 carries out processing, such as audio and video corresponding to the destination device 200 of access. Module 9 file system operations performs the operation of reading files, writing files, erase files and modify (overwrite) file provided by the file system, in accordance with the instructions of the application program 8. Driver device 10 performs file system operations, producing the semiconductor card 100 memory commands read and write.

Now consider an illustrative format for storing data in the nonvolatile memory 1. Non-volatile memory 1 performs the storage of the data in the format shown in figure 4. In the drawing all non-volatile memory 1 is represented as the area of the volume. The area that is and is divided into clusters, which are the basic areas that are subject to management, and contains the control section and the section itself (also called a regular region). The section is divided into a system area and a user area that is depicted in the right part of figure 4.

The starting address of the user area immediately after the system area. However, the amount of redundant FAT stored in the system depends on the size of the user area, so the starting address of the user area change accordingly, as explained in the section “prior art”. Each sector area volume specified physical address relative to the beginning of the volume regions.

Now let's look at each of the areas included in the scope of the volume. Figure 5 shows the structure of the management section, the system area and the user area included in the area of the volume.

Region management section contains the sector head boot record and partition table, and the area 1/2 and 2/2 backup information. On figa illustrates in greater detail the structure of the sector head boot record and partition table. In the drawing the contents of the sector head boot record and partition table are shown in a hierarchical order between the two arrows ky1. Sector head MBR tables and the partition contains a headache boot record, four tables of sections 1, 2, 3, 4, and signature word.

Head boot record is a sign pointing device 200 of access that the subsequent region, from the physical point of view, represents a single media (a single physical media). According figa, area volume contains only head boot record, in accordance with the device 200 of access recognizes a region of the volume as a single physical media. If the volume regions attended two head boot record, the device 200 of access would be recognized two physical media.

Partition table is a table in which is recorded information in sections. As shown by the arrows ky2, when the semiconductor memory card is 100 plays the role of a boot disk, the partition table contains the following fields: “preloader”, “initial head”, “start sector/starting cylinder”, “ID systems”, “head end”, “end sector/end cylinder”, “number of sectors offset” and “total number of sectors”. The “meter” is set equal to '0× 80'. The field “initial head” specifies the starting cylinder for the partition. Start sector/starting cylinder” specifies the starting sector and the starting cylinder for the partition. Field ID system specifies the file system type, and set equal to '01', it is when the partition size is less than 32680 bytes and '04'when the partition size is less than 65536 bytes. The “target sector/end cylinder” specifies the destination sector and ending cylinder for the partition. The “number of sectors offset” specifies the number of sectors, having place before the starting sector of the partition. The field “total number of sectors specifies the number of sectors on the volume.

Now consider a section of a semiconductor card 100 memory. The section consists of the system, followed by a custom scope, but we will start with a description of the custom field, referring to figs.

In the user field of the files stored in the unit storage is not smaller than the cluster. Arrow ff2 on figs shows the set of clusters 002, 003, 004, 005,... , included in the user area. Rooms 002, 003, 004, 005, 006, 007, 008,... , used on pigs represent a three-digit hexadecimal numbers of clusters, each of which uniquely identifies a particular cluster. Since the basic scope of access is one cluster, the storage position in the user indicates with the help of cluster numbers.

The system area contains the partition boot sector, duplicate the file allocation table and the root. Consider the partition boot sector, redundant FAT and element cor is avago directory link accordingly, figw, 7A and 7B.

In the partition boot sector has extended descriptor ODG (controller floppy disk), an information field which is shown in figv. Extended descriptor ODG contains the following fields: “transition team”, “ID generation system”, “sector size”, “number of sectors per cluster”, “count of reserved sectors”, “number of FAT” (the amount of FAT included in the duplicated FAT), “the number of elements in the root directory (the length of the data item in the root directory), “total sectors”, “media ID”, “number of sectors per FAT”, “number of sectors per track, number of sides, number of hidden sectors”, “total number of sectors (total number of sectors in the system area and the user area), “physical drive number”, “extended signature boot record”, “the ID number of the volume”, “volume label, file system type” and “signature word.”

Duplicate FAT consists of two FAT in accordance with ISO/IEC (international organization for standardization/international electrotechnical Commission) 9293. Each FAT contains a collection of elements FAT, each of which is associated with the cluster. The FAT element indicates whether the corresponding CL is erased, and takes the value '0'if the cluster is not used, or the number of the cluster if the cluster is used. The cluster number indicates a reference to the next cluster, which should be read after this cluster. Arrow ff1 on figa shows a collection of elements 002, 003, 004, 005,... , forming FAT. Numeric values 002, 003, 004, 005,... , assigned to each element of FAT, indicate the number of the cluster.

Element root directory contains a set of file elements for the set of files present in the root directory. Each file element contains file name for an existing file, “file ID”, “number of the first cluster of the file, i.e. the number of cluster that contains the beginning of the file, the file attribute”, “record” and “record date”indicating when the file was recorded, and the length of the file.

Now let us describe the way you save the file, showing, with reference to Fig, as the file under the name “AOB001.SA1” save in the root directory. Since elementary area of circulation in the user area is one cluster, the file “AOB001.SA1” you want to save the field data in the form of segments, not smaller than one cluster. So when you save a file AOB001.SA1” must first be broken down into clusters. According pig, file AOB001.SA1” is divided into five segments with the accordance with the cluster size, and the resulting segments remain in clusters under the numbers 003, 004, 005, E and 00C.

Figure 9 shows one example of how to define the item in the root directory and FAT when you save the file “AOB001.SA1” by breaking it into segments. According to the drawing, the beginning of the file AOB001.SA1” remain in the cluster 003, therefore, the cluster number 003 record in the field “number of the first cluster of the file” item in the root directory, to specify the cluster that contains the first segment of the file. Subsequent segments file “AOB001.SA1” keep in clusters 004 and 005. Thus, the element of FAT 003 (004) corresponding to the cluster 003, which contains the first segment of the file “AOB001.SA1”indicates the cluster 004, in which is stored the next segment of the file “AOB001.SA1”. Similarly, the elements of FAT 004 (005) and 005 (A), respectively, correspond to the clusters 004 and 005, which are stored in the following segments file “AOB001.SA1”, these elements are, respectively, indicate the cluster 005 and cluster A, which are stored in the following segments file “AOB001.SA1”. Reading clusters, whose numbers recorded in these items FAT, in the order shown in Fig.9 arrows fk1, fk2, fk3, fk4, fk5... , you can read all the segments obtained by splitting the file “AOB001.SA1”. As explained above, access to the user area of the semiconductor card 100 memory exercise from cluster to cluster, each of which is points the user with one or another element of FAT. Note that the FAT element corresponding to the cluster that contains the last segment of the file AOW (in the example shown in Fig.9, this cluster 00C) assign a cluster number 'FFF'to show that the corresponding cluster is stored the last segment of the file.

The above explanation is a brief overview of the file system non-volatile memory 1, which meets the present invention. Now, let's concentrate on the main tasks that your options for implementation, and describe how to align the edges of the clusters and the boundaries of cleared blocks, in other words, how to align the boundary between the system area and the user area of the border between the two cleared blocks. To implement this boundary alignment, implementation options provide two improvements. The first one is that the cluster size is set equal to 1/nth the size of the purified block (n = 1, 2, 4, 8, 16, or 32). On figa shows the relationship between cleared blocks and clusters. In this case, the cluster size is equal to 1/n the size of the purified block, i.e. to 1/n of 16 KB (1/n from 32 sectors). On FIGU shows the case n=1, figs - case n=16.

The second enhancement is that for recording information control volume in the volume regions allocate region whose size is m times etc which increases the size of the cluster. On figa presents the case when for recording information management volume of s· n clusters included in s cleared blocks, allocate m clusters. If for recording information management volume dedicated m clusters, then s cleared blocks, information management volume occupied by m/n of cleared blocks, and the other (s· n-m)/n purified blocks allocated to the user area.

Setting the size of the control volume so that it was in m times the size of the cluster, information management, volume and s· n-m clusters can be placed so that the clusters do not overlap the border between the two cleared blocks.

On FIGU shows how many clusters are allocated for information management volume when n=1, and figs shows how many clusters are allocated for information management volume when n=16. From these drawings it is evident that when the selection information under control volume, many clusters exactly fit in many of cleared blocks, so that none of the cluster does not overlap the boundary between the treated blocks. A detailed map of the region of the volume, the size of which is adjusted in a similar manner shown in figure 5. According to the drawing, the area size control section (in sectors) is equal to NOM, the size of the boot sector of the partition (in sectors) is equal to the RSC, the amount of redundant FAT (in sectors)is equal Size1× 2, the element size of the root directory (in sectors) is equal to the RDE, the total number of sectors is equal to TS and the number of sectors in the cluster is equal to SC.

According to figure 5, the size Size1 separate the FAT part of the redundant FAT, determine, based on the total size of TS sectors. Specifically, this value is calculated using the following equation (11).

Equation (11)

For FAT12: Size1=(((((TS-(RSC+RDE))/SC)+2)× 12/8)+511)/512

For FAT16: Size1=(((((TS-(RSC+RDE))/SC)+2)× 16/8)+511)/512

In this case, the designation FAT12 specifies the type of file system in which every element FAT allocated 12 bits, FAT16 and indicates the type of file system in which every element FAT is allocated 16 bits.

In equation (11) expression (TS-(RSC+RDE))/SC is the number of clusters required to write performed by a custom field. To this number add the number of indicators 2, and the obtained value is multiplied by the length of the FAT element in bits (12 or 16), and then divide by 8 to get the length of the FAT in bytes. The result of this calculation adds the offset value is equal to 511 bytes, and the resulting expression is divided by the length of a sector in bytes, i.e. 512 to calculate the number of sectors required to save one FAT. If the data length FAT was equal to 1 byte (integer) divide this value by 512 would give a value of '0', i.e. the number of sectors, the separation of the TES under FAT would equal zero. Therefore, adding the offset value 511, in equation 11, we guarantee that the computation Size1 will give at least one sector.

Considering figure 5, it should be noted one important point, namely that the area size control section is equal to NOM. Is NOM set equal to SC+α , and select α so that the area control section, and a system area were placed in different clusters. Is NOM ask such a way as to avoid crashes when changing clusters in the system because of the “stuffing” in the management section. In other words, if the sector head boot record and partition table management section will be damaged as a result of such failure changes, the device 200 of access will not be able to recognize semiconductor card 100 memory as usable recording medium. To avoid this worst case scenario, the value of NOM set equal to SC+α .

The value of SC+α specify as follows. To get the value α find the remainder of integer division (RSC+RDE+Size1x2) on SC and subtract the value obtained from the SC. Thus, NOM is calculated in accordance with equation (12).

Equation (12)

NOM=(SC(RSC+RDE+Size1× 2)%SC)+SC

When α set in this Way, the region control section and the user area exactly fall in with oxoprost cleared blocks, what determines the alignment of the boundary between the system area and the user area is cleaned border blocks. The alignment of these boundaries leads to the alignment of the boundaries of all subsequent clusters with the boundaries of the cleared blocks.

Consider the example of computing NOM and Size1, when the size of cluster, SC, equal to 32 sectors (16 KB), the size of the item in the root directory, RDE, equal to 32 sectors, the size of the partition boot sector, RSC, equal to 1 sector, and the total number of sectors, TS, is 65600 sectors. If duplicated FAT refers to the type FAT12, Size1 find from equation (11) as follows.

Size1=(((((TS-(RSC+RDE))/SC)+2)× 12/8)+511)/512=

=(((((65600-(1+32))/32+2)× 12/8)+511)/512=7 sectors.

Now, according to equation (12), we calculate NOM.

NOM=(SC(RSC+RDE+Size1× 2)%SC)+SC=

=(32-(1+32+7× 2)%32)+32=49 sector.

On Fig shows the area control section, the system area and the clusters in accordance with the calculated size. Sector head boot record and partition table and backup information are 1/2 in sectors PSN000-PSN031, and backup information 2/2, the partition boot sector and redundant FAT are located in sectors PSN032-PSN063. The root is placed in sectors PSN064-PSN095. One cleaned the unit area of the volume consists of 32 sectors, so head boot record, partition table, and backup information is I 1/2 are placed in the first cleaning unit 001, backup information 2/2, the partition boot sector and redundant FAT are placed in the second cleaning unit 002, and the root is placed in the third cleaning unit 003. Element root directory is stored in the cleaning unit of the same size, so the border between the user area and the system area coincides with the boundary between the treated blocks.

The above-described region of the volume is implemented when the module 9 file system operations performs initialization on the nonvolatile memory 1. On Fig depicts a block diagram describing the procedure by which this procedure initialization.

At step S1, the module 9 file system operations determines the size of the cluster in accordance with the size of the area you want to format (TS), and total capacity of the semiconductor memory card 100 to the memory, the operating system used by the device 200 of access, and regulations of the user.

Once you have identified the size of the cluster, at step S2 module 9 file system operations, based on the cluster size of the SC and the total number of sectors TS, chooses to use file system FAT12 or FAT16. Once you have all of the necessary file system, FAT12 or FAT16, at step S3 module 9 file system operations defines the length of the RDE element Korneva what about the directory (according to the considered variants of implementation, the length of the RDE has a fixed value of 32 sectors), then, at step S4, determines the length of the RSC of the partition boot sector (according to the considered variants of implementation, the length of the RSC has a fixed value of 1 sector). Once you have identified the RDE and RSC module 9 file system operations, using equation (11), calculates the length of the FAT data at step S5. Then, at step S6, the module 9 file system operations, using equation (12), finds that the value of NOM, in which the head boot record and the boot sector of the partition are located in different clusters.

Processing, carried out on the above-mentioned steps S5 and S6 fully meets the previously described equations (11) and (12). However, the processing performed at steps S7 and S8, is mentioned in this flowchart for the first time. At step S7 module 9 file system operations, calculates the number of clusters CN in the user area using equation (13).

Equation (13)

CN=(TS-(RSC+RDE+Size1× 2+NOM))/SC

At step S8 module 9 operations file system re-calculates the length of the FAT data, using equation (14).

Equation 14

For FAT12: Size2=(((CN+2)× 12/8+511)/512

For FAT16: Size2=(((CN+2)× 16/8+511)/512

At step S9 module 9 file system operations compares Size1 obtained at the step S5, and Size2 obtained at the step S8, and if these two values match, ends the processing. Well, if these values do not match, the module 9 file system operations, at step S10, replaces the value Size1 value Size2, goes to step S6 and recalculates NOM. Since replacement Size1 has a different value, the calculation is re-produced at the step S6, may give a different result. Then the module 9 file system operations recalculates Size2 at step S8, based on the newly calculated values of NOM, and if at the step S9 is that Size1 and Size2 are equal, ends the processing.

The value of NOM, calculated using the above procedure, put in the “number of sectors” move partition table indicating the number of sectors before the start sector of the partition, and the value of TS is placed in the “total number of sectors in the partition table.

The value of SC is placed in the “number of sectors per cluster partition table indicating the number of sectors in each cluster. In addition, the value of RDE indicating the number of sectors, multiplied by the length of a sector is 512 bytes, then divide by 32 to get the number of file elements, and this number is placed in the “number of elements in the root directory of the partition boot sector. The value Size1 put in the “number of sectors per FAT boot sector of the partition that specifies the number of sectors in each of the FAT. The device 200 of access refers to the values specified in the partition table and boot sector of the partition, when allocating space for the redundant FAT, root and custom field.

The explanations relating to the flowchart depicted in Fig completed. Now consider an example calculation illustrating how to calculate the size of the partition and the system tray, when TS is equal to 65568.

Based on the value of TS is equal to 65568, at step S1, the module 9 file system operations specifies the cluster size is 32 sectors. After it is determined that the cluster size is 32 sectors, at step S2 module 9 file system operations based on the size of the cluster SC and the total number of clusters TS, determines what needs to use a file system FAT12. According to the considered variants of implementation, the size of the RDE and RSC have fixed values, respectively, 32 sector 1 sector, so the calculation at steps S3 and S4 do not produce. At step S5 module 9 operations of the file system finds the data length FAT from equation (11). Since, in this case, FAT is a FAT12, use the following variant of calculation

Size1=(((((TS-(RSC+RDE))/SC)+2)× 12/8)+511) /512=(((((65568-(1+32))/32)+2)× 12/8)+511)/512=7 sectors

Once calculated Size1, step S6 module 9 file system operations using urav the mode (12), finds the value of NOM, in which the head boot record and the boot sector of the partition are located in different clusters.

NOM=(SC(RSC+RDE+Size1× 2)%SC)+SC=

=(32-(1+32+7× 2)%32)+32=49 sector.

Once calculated NOM, module 9 file system operations on the step S7 calculates the number of clusters in the user area using equation (13)

CN=(TS-(RSC+RDE+Size1× 2+NOM))/SC=

=(65568-(1+32+7× 2+49))/32=2046 cluster.

At step S8 module 9 operations file system re-calculates the length of the FAT data using equation (14).

For FAT12: Size2=(((CN+2)× 12/8)+511)/512=

=(((2046+2)× 12/8)+511)/512=6 sectors.

At step S9 module 9 file system operations compares Size1 calculated at the step S5, and Size2 calculated at step S8. In this case, Size1 is 7 sectors, a Size2 equal to 6 sectors.

Since these values are not equal to each other, the module 9 file system operations is returned to step S6 and recalculates NOM.

NOM=(SC(RSC+RDE+Size1× 2)%SC)+SC=

=(32-(1+32+6× 2)%32)+32=51 sector.

Once calculated NOM, at step S7 module 9 file system operations, calculates the number of clusters in the regular region.

CN=(TS-(RSC+RDE+Size1× 2+NOM))/SC=

=(65568-(1+32+6× 2+49))/32=2046 the clusters. At step S8 calculates the data length of the FAT. For FAT12: Size2=(((CN+2)× 12/8)+511)/512=

=(((2046+2)× 12/8)+511)/512=6 sectors.

After this calculation, at step 39 module 9 Opera is the second file system compares Size1 and Size2, and, since these two values are identical, the procedure is completed, presents the block diagram.

According to the above, this alternative implementation provides for the calculation of this NOM, in which the area size control section, and the size of the system is expressed by an integer quantities cleared blocks, allowing a single cluster does not overlap the border between the two cleared blocks. The boundaries of the clusters can be aligned with the boundaries of the cleared blocks and border control information Tom - border cleanable unit, in order to rewrite a single cluster, it was necessary to clean only one clean unit that reduces the frequency of cleaning operations cleared blocks. Thus, the time required to write data in the semiconductor card 100 of the memory is reduced, which prolongs the lifetime of the nonvolatile memory 1.

The second option exercise

According to the second variant of implementation, in the field of volume highlight the area intended for access by a normal user (user data area)and the area intended for the storage of protected data (protected area). On Fig shows the structure of the device 200 of access and semiconductor card 100 memory in accordance with the second embodiment. The internal structure, while the data on the drawing, differs from that shown in figa the fact that the non-volatile memory 1 contains the protected area, and, in addition, the semiconductor memory card is 100 and the device 200 of access provided, respectively, the modules 11 and 12 are protected processing.

Now consider the module 11 protective treatment provided for protected read from the secure area of the non-volatile memory 1 and is write protected it. According pig, the module 11 is protected processing system contains region 13, a masked area 14 module 15 of the PCR, the module 16 Ks-decryption module 17 Ks-encoding.

System area 13 is read-only, and it stores the key block to the media (PEM) and media ID. GIR and media ID stored in this area are not overwritten. Assume that the semiconductor memory card is 100 connected to the device 200 of access, and the device 200 of access reads GIR and media ID. If the device 200 of access correctly implements a given computational operation using PEM, media ID, and put in it the key device Kd, it receives the correct encryption key Kmu.

In the hidden area 14 stores the correct value of the encryption key Kmu, in other words, the encryption key Kmu, the device 200 of access should be obtained by appropriate computational operacijos use suitable key device Kd.

Module 15 DIC (authentication and key exchange) performs mutual authentication device 200 of access and semiconductor card 100 memory method call response authenticates the response of the device and, if the response device unusable, stops the procedure. If the response device is suitable, the device 200 of access and the semiconductor memory card is 100 have the ability to share the encryption key (session key Ks). The device 200 of access produces recognition in three stages. First, during the first call, the device 200 of access generates a random number, encrypts the random number using the encryption key Kmu, and transmits the encrypted random number of the semiconductor card 100 memory as calling value A. Then, at the stage of first response, the semiconductor memory card is 100 uses the stored encryption key Kmu to decrypt the call value and transmits the decrypted value to the device 200 of access as the return value C. then, during the first scan, the device 200 of access decrypts the stored calling value And using its encryption key Kmu, and compares the decrypted value with the return value obtained from the semiconductor card 100 memory.

The semiconductor memory card is 100 also PR is torturing recognition in three stages. First, on the second call, the semiconductor memory card is 100 generates a random number, encrypts the random number using the encryption key Kmu, and transmits the encrypted random number to the device 200 of access as calling value C. Then, on the second response, the device 200 uses the stored encryption key Kmu to decrypt the outside values and transmits the decrypted value of the semiconductor card 100 memory in response to the value D. then, in the second stage of the test, the semiconductor memory card is 100 decrypts the stored calling value using the encryption key Kmu, and compares the decrypted value with return the value D obtained from the device 200 of access.

If the device 200 uses for the implementation of mutual recognition unsuitable encryption key Kmu, the first stage of the test it is determined that the call is not the same as a return value, and the phase of the second test it is determined that the call value does not coincide with a return value of D, this procedure mutual recognition stops. In the case of authentication to recognize each other's devices, the module 15 DIC performs the logical operation “Exclusive OR” on call by value and return the value With which receives the session key s, desirous the result of the Exclusive OR operation using the encryption key Kmu.

When the device 200 of access that is connected to the semiconductor memory card is 100, and outputs the encrypted data to be write protected area, the module 16 Ks-decryption uses the session key Ks to decrypt the data, which was encrypted using the session key Ks before they were withdrawn. The data obtained as a result of this decryption, write to the protected area as a source of data.

Module 17 Ks-encoding accept from the device 200 of access that is connected to the semiconductor memory card is 100, a command to read data, encrypts the data stored in the protected area using the session key Ks, and then outputs the encrypted data to the device 200 of access. Reading data from a protected area and write data in it is carried out after the decryption performed by the module 16 Ks-decryption and encryption performed by the module 17 Ks-encoding, so the access to the protected area is only possible after the semiconductor memory card is 100 and connected to the device 200 of access has successfully completed the operation OPK.

Now let's describe the format of the volume regions according to the second variant of implementation, with reference to Fig, which depicts a detailed diagram of the field volume, part of the cat is included Roy protected area. According to the scheme if the total size of the volume is “Rasmita”, then under the area Poleski allocate data area, the size of which is equal to the Size of the volume× (1-β )”, and which starts from the beginning of the volume regions, and under the protected area isolated area, the size of which is equal to the Size of the volume× β ”following the user data area. In this case β represents the value of the minimum value of which is equal to 0.01. For example, the volume size is 64 MB, and β equal to 0.01. Then the size of the protected area is 640 KB in size. The format of the user data area and the protected area is implemented when the module 9 file system operations performs the initialization procedure presented on Fig.9.

Now describe an example of the calculations performed to calculate the size of the area control section, and a system area in the user data area, when the total number of TS sectors in the user data area is 124160.

Based on the value of TS is equal to 124160, module 9 operations, the file system determines at step S1 that the cluster size is 32 sectors. After it is determined that the cluster size is 32 sectors, at step S2 module 9 file system operations, based on the cluster size of the SC and the total number of sectors TS, o is open, that's supposed to use a file system FAT12. In considering options for implementation dimensions RDE and RSC have fixed values, respectively, 32 sectors and sector 1, so the calculations in steps S3 and S4 do not produce. At step S5 module 9 file system operations calculates the length of the FAT data using equation (11). Since, in this case, FAT is a FAT12, perform the following calculation.

Size1=(((((TS-(RSC+RDE))/SC)+2)× 12/8)+511)/512=(((((124160-(1+32))/32)+2)× 12/8)+511)/512=12 sectors.

Once calculated Size1, step S6 module 9 file system operations, using equation (12), finds that the value of NOM, in which the head boot record and the boot sector of the partition are located in different clusters

NOM=(SC(RSC+RDE+Size1× 2)%SC)+SC=

=(32-(1+32+12× 2)%32)+32=39 sector.

Once calculated NOM, module 9 file system operations on the step S7 calculates the number of clusters in the user area using equation (13)

CN=(TS-(RSC+RDE+Size1× 2+NOM))/SC=

=(124160-(1+32+12× 2+39))/32=3877 cluster.

At step S8 module 9 operations file system re-calculates the length of the FAT data using equation (14).

For FAT12: Size2=(((CN+2)× 12/8)+511)/512=

=(((3877+2)× 12/8)+511)/512==12 sectors.

At step S9 module 9 file system operations compares Size1 calculated at the step S5, and Size2 calculated at step S8. In this case, the BA calculated values, Size1 and Size2, 12 equal sectors, which implies that these values are the same, and the procedure represented by the flowchart is terminated.

Diagram of the user data area, in which the size of the system and management section, determined in accordance with TS, Size1, NOM, obtained by the above calculations, shown in Fig. Comparing this figure with Fig, you can see that, as the size of the duplicated FAT increased from 14 to 24 sectors, and the size of the backup information 2/2 decreased from 17 to 7 sectors, the region control section, and a system area, still, exactly fit into three of the purified block.

Now describe an example of the calculations made to estimate the size of the management partition and the system area in the protected area when the total number of sectors in the protected area is 1280.

Based on the value of TS is equal to 1280, module 9 file system operations in step S1 determines that the cluster size is equal to 2 sectors (1 KB of memory, i.e. only 1/16 of the size of the cluster in the user data area). After it is determined that the cluster size is equal to 2 sectors, at step S2 module 9 file system operations, based on the cluster size of the SC and the total number of sectors TS, determines that it is proper to use a file system FAT12. According to the considered variations there of implementation, the size of the RDE and RSC have a fixed value, respectively, 32 sector 1 sector, so the calculation at steps S3 and S4 do not produce. At step S5 module 9 file system operations calculates the length of the FAT data using equation (11). Since, in this case, FAT is a FAT12, perform the following calculation.

Size1=(((((TS-(RSC+RDE))/SC)+2)× 12/8)+511)/512=

=(((((1280-(1+32))/2)+2)× 12/8)+511)/512=2 sector.

Once calculated Size1, step S6 module 9 file system operations, using equation (12), finds that the value of NOM, in which the head boot record and the boot sector of the partition are located in different clusters.

NOM=(SC(RSC+RDE+Size1× 2)%SC)+SC=

=(2-(1+32+2× 2)%2)+2=3 sector.

Once calculated NOM, module 9 file system operations on the step S7 calculates the number of clusters in the user area using equation (13)

CN=(TS-(RSC+RDE+Size1× 2+NOM))/SC=

=(1280-(1+32+2× 2+3))/2=620 cluster.

At step 38 module 9 operations file system re-calculates the length of the FAT data using equation (14). For FAT12: Size2=(((CN+2)× 12/8)+511)/512=(((620+2)× 12/8)+511)/512=2 sector.

At step S9 module 9 file system operations compares Size1 calculated at the step S5, and Size2 calculated at step S8. In this case, both the calculated values, Size1 and Size2 = 2 sectors, which implies that these values are the same, and the procedure p is establisha block diagram, completed.

The scheme of the protected area, in which the size of the system and management section, determined in accordance with TS, Size1, NOM, obtained by the above calculations, shown in Fig. According to the considered variants of implementation, as the user data area and the protected area contains an area control section, the system area and the user area, so the device 200 of access refers to each of these two regions as independent physical media. Thus, although the user data area and the protected area are characterized by different cluster size, the boundaries of the clusters in the user data area and the protected area can be aligned with the boundaries of the cleared blocks.

According to the above variant implementation, even if the scope of the volume contains two areas, the user data area and the protected area, the boundaries of such areas are aligned with the boundaries of the cleared blocks that allows to overwrite the clusters within a short period of time. Furthermore, the reduced frequency of cleaning operations cleared blocks, which provides the extension of the service life of the nonvolatile memory.

A third option exercise

A third option implementation provides improved% the fool wipe data, stored in the treated blocks operated by means of logical addresses and physical addresses. On Fig shows the structure of a module 2 access control in accordance with the third embodiment. According to the drawing, module 2 access control module contains 21 decoding commands, the module 22 for translating the logical/physical address, the module 23 controls the reading module 24 changes the selection module 25 controls the recording module 26 controls the cleaning and module 27 management change.

Module 21 decoding commands accept a command issued by the device 200 of access, and restores the original contents of the command at the time of issuance. After receiving the read command, the module 21 decode command instructs the module 23 controls the read to read data from the nonvolatile memory 1 (Count). Receiving a write command, the module 21 decode command instructs the module 25 controls the entry to record the data in the nonvolatile memory 1 (Record). If the received write command sets the access target of the crude unit, the module 21 decode command instructs the module 27 management change change (overwrite) the data stored in the nonvolatile memory 1 (Change). Receiving a command to obtain status, module 21 decoding commands ordering the displays module 24 changes the selection to consider (described below), the list of treated units. After receiving a reset, the module 21 decode command instructs the module 24 changes the selection to clear preset clear the block.

Module 22 for translating the logical/physical address contains a table of addresses, which establishes the correspondence between logical and physical addresses of cleared blocks. Received from the device 200 of access logical access address, the module 22 for translating the logical/physical address refers to the lookup table address, finds the physical address corresponding to the given logical address, and displays the found physical address on the module 23 controls the reading module 24 changes the allocation and module 27 management change.

When the device 200 of access issues a read command, the module 23 controls the reading exercises control so that the device 200 of access could read the data stored at the read address specified by the read command.

Module 24 changes the selection maintains a list of treated units in which physical addresses are cleared blocks that have been cleaned, organized in the format of “first-in, first-out (FIFO). When the device 200 of access issues a write command, the module 24 changes the allocation checks in the list of cleared blocks of physical addresses, it is suitable what about the logical address of record. In case the physical address, the module 24 changes the selection displays the physical address of the module 25 controls the entry and removes the physical address from the list of treated units. If the corresponding physical address indicates a cleared block that has not yet cleared, the module 24 changes the allocation allocates a logical address of the write physical address in the beginning of the list of treated units, and transmits the selected physical address of the module 25 management account, and the physical address that was previously allocated to a logical address of record, adds to the end of the list of treated units. If the device 200 of access issues a command to obtain the status, the module 24 changes the selection, using the lookup table address, replaces the physical addresses specified in the list of treated blocks on the logical address and outputs to the device 200 of access list of treated units in which they are specified by a logical address. If the device 200 of access gives the wipe command, specifying the logical address, the module 24 changes the selection determines the physical address corresponding to the logical address, and adds it to the list of treated units.

Module 25 management account, when receiving a write command instructing to write unit writes the data in the nonvolatile memory 1 to the physical address, received from the unit 24 changes the selection.

Module 26 controls the cleaning periodically polls the list of treated blocks for new physical address is not yet cleared block. Find the physical address, the module 26 controls the cleaning cleans cleaned the block on this physical address.

Module 27 managing change, when receiving a write command instructing to change the cleaned block, which is already recorded data, reads data from the nonvolatile memory 1 in the RAM 3, modifies the data loaded in the RAM 3, and then writes the modified data in the nonvolatile memory 1. Module 27 managing change provides the procedure for changes in interaction with the module 24 changes the selection. The sequence of operations performed by the module 27 controls change when you change the data shown on Fig in the order of their execution.

In the initial state shown in figa, data is stored in blocks, indicated by shading (with physical address 001, 002, 004, 007-015), and the remaining blocks 003, 005 and 006 cleared. The physical address of treated blocks placed in the treated blocks. According to the table of addresses that establishes the correspondence between logical and physical addresses, logical addresses, 001, 02, 003, 004 and 005 are responsible, respectively, the physical addresses 001, 002, 003, 004 and 005.

For example, the device 200 of access issues a write command that specifies a logical address 001 cleared block in which you want to write a new value. Then the module 21 controls the change moves the data previously written to the block specified by the logical address 001, from the nonvolatile memory 1 in the RAM 3 (see arrowCount on figa). Then, the module 27 change function changes the data loaded in the RAM 3 (see arrowChange on figa) from the block specified by the logical address 001.

Then, according figv module 27 change function reads [receives from module 24 changes highlight] physical address 003 at the top of the list of treated units, as shown by the arrow BN1, and writes the modified data block specified by the physical address 003, as shown by the arrowRecord. Then, according figs module 24 changes the allocation of places the physical address 001, indicating that the unit be cleaned in the list of treated units, as shown by the arrow.

Finally, the module 24 changes the selection changes the graph of the correspondence between logical addresses and physical addresses to the to shown in fig.20D. In this case, the physical address 003 allocate logical address 001 and physical address 001 allocate logical address 003. Thus, the overwrite data to a logical address 001 can be recorded data on the physical address 003 and changing the schedule match between logical and physical addresses.

We will continue analyzing the internal structure of the device 200 of access. On Fig shows the internal structure of the module 9 file system operations, included in the device 200 of access, according to the third variant of implementation. Module 9 file system operations, shown in the drawing, contains the module 28 delete files and module 29 management pre-emptive clearing.

Module 28 delete files delete files by updating the FAT, read into primary memory 7, and write the updated FAT in the semiconductor card 100 memory. If the application program 8 instructs to delete the file, the module 28 delete file deletes the file, setting the elements of the FAT corresponding to the clusters that store segments of this file is '0', indicating that these clusters are not used. However, clusters (cleared units), which are stored in the segments of the file, not necessarily return the empty state, so, before you write in the same cluster another file, these clusters need to be cleared. As a result, the ATA, the more you want to delete old files and record new files, the more time-consuming cleanup.

Module 29 management pre-emptive clearing, issuing a semiconductor card 100 memory command get status, instructing her to read the list of free purified memory (list of treated blocks, waits for instructions of the application program 8. After the command is issued, and a list of free purified memory display module 29 management pre-emptive clearing takes all of the free list cleared the memory and compares it with the FAT, in order to identify clear the blocks corresponding to the clusters defined in FAT as unused. (When one cleaned the block contains a set of clusters that can be identified only clear the blocks that are formed solely for unused clusters). Then, among these blocks cleaned, identify blocks that are not specified in the list of treated units. The identified blocks are cleared blocks that are not used, but still not cleared and the module 29 management pre-emptive clearing issues a semiconductor card 100 memory wipe command instructing to clear these blocks. The wipe command contains the logical address and the instruction to add the physical address corresponding to the logical address to the list of treated units. When the adding the physical address to the list of treated units with the command cleanup the block that is specified in this command, cleanup, clean in the same way as other crude unused blocks when the module 26 controls the cleaning carries out the survey. All untreated unused blocks undergo the same procedure. The block diagram depicted in Fig, helps describe in detail the operation of the module 29 management pre-emptive clearing.

According to this variant implementation, after activation, the module 29 management proactive cleaning implements the loop containing steps S21, S22. At step S21 module 29 management pre-emptive clearing of checks they have received from the application program 8 command access, and at step S22 determines expired if a particular sampling period. If the command from the application program 8 is entered, the module 29 management pre-emptive clearing proceeds to step S23, and carries out the operation of the file system and access to the semiconductor card 100 memory, in accordance with the command. If a particular polling period has expired, the module 29 management pre-emptive clearing proceeds from step S22 to step S24 and grants semiconductor card 100 memory command get status to read the purified list of free memory. Then, at step S25, the module 29 management pre-emptive clearing pending receipt of the list of treated units. Reading the list of treated units, the module 29 controls redusa cleaning, at step S26, identifies the logical address of all cleared blocks which are formed by clusters specified in FAT as unused, and which are absent in the list of treated units.

At step S27 module 29 management pre-emptive clearing of checks cleaned unused blocks that have not yet cleared, and, if such blocks are not, returns to the loop containing steps S21 and S22. If such blocks exist, the module 29 management proactive cleaning implements the loop containing steps S28-S30. In other words, the module 29 management pre-emptive clearing issues a semiconductor card 100 memory wipe command, causing the Erasure of data for each of the physical address indicating an unused but not yet cleared cleared blocks identified in step S26. In accordance with these commands, addresses all of these blocks are added to the list of treated units, and therefore, these blocks have to be cleaned.

Now let us illustrate the operation of the module 29 management pre-emptive clearing in the example shown in figs and 23C. In the initial state shown in figa, cleaned the block at address 0001 specified in the FAT used and physical addresses 0003, 0005 and 0006 placed in the treated blocks as the treated units. Data is stored in blocks of nonvolatile memory, which is indicated on the drawing stri ovcoy (addresses 0000, 0001, 0002, 0004). If, however, from the application program 8 is not received instructions, then, after a certain period of the survey (step S21 is No, step S22 is Yes), the module 9 file system operations, included in the device 200 of access, reads the list of treated blocks, which produces semiconductor card 100 memory command get status (step S24), and compares the read list of treated units with FAT (step S25). This comparison allows to identify the blocks that are specified in FAT as unused, and whose logical address is not in the list of treated units (cleared blocks with addresses 0000, 0002, 0004). Because these blocks are not used, the module 9 file system operations issues a semiconductor card 100 memory wipe command to clear these clear the blocks (steps S28-S30). Thus, addresses 0000, 0002 and 0004 are added to the list of treated blocks, as shown in figv, resulting in a clearing of blocks specified by these addresses.

According to the above variant implementation, device 200 of access reads the list of cleared blocks of the semiconductor card 100 to the memory and compares the FAT with a few list of treated blocks, identifying unused clear the blocks that are not cleared, as a result, instructs the semiconductor card 100 memory to clear these blocks. Thus, the module 9 Opera is the second file system can clean cleaned unused blocks, still not cleared in between execution of instructions of the application program 8, which allows better cleaning of unused blocks.

In addition, cleanup of unused blocks can be performed whenever the device 200 of access freely, which greatly increases the possibility of cleaning blocks. As a result, excluded any possibility of lack of physical addresses in the list of treated units and substantially increases the efficiency of processing performed when modifying and rewriting blocks.

According to this variant implementation, device 200 of access reads from the semiconductor card 100-memory list of treated units and identifies blocks that are not used, but have not yet cleared. However, the module 26 of the control treatment, which is part of module 2 access control, part of the semiconductor card 100 to the memory of perhaps turning to FAT itself to identify blocks that are unused and, at the same time, untreated, and then to clear these blocks. In this case, module 2 access control replaces the physical address included in the list of treated blocks, logical addresses, and transmits the replaced address device 200 of access. However, the device 200 can transmit the list of treated units in sovocool is with a lookup table of addresses, and to replace physical addresses, logical addresses on the device 200 of access. Data Erasure can be performed when a file is deleted or parallel execution of another command. In addition, instead of a list of treated units, which contains the physical address of treated blocks, you can use other information, for example, a list of raw blocks, which contains the physical address of the crude purified blocks. This alternative implementation is described in relation to FAT, but the information can be stored in the form of a list or other similar format.

The fourth option exercise

The fourth option exercise involves improvement of the third variant implementation, consisting in the use table cleanup blocks instead of a list of treated units. On Fig shows the internal structure of the device 200 of access according to the fourth variant implementation. If this figure to compare with Fig, you will notice that the list of treated units replaced aging table blocks. Table cleaning blocks according to the fourth variant implementation, consists of elements corresponding to each loading unit. If the block is cleared, the corresponding element is set to '1'and if the block is not cleared, the corresponding element is set to '0'. In table cleanup blocks the TATUS cleaning cleaned each block is specified by the value '1' or '0'.

The replacement list treated block table cleanup blocks, the processing performed by the module 25 controls the recording and module 26 controls the clearance according to the fourth variant of implementation differs from the processing performed according to the third variant of implementation, the following relation.

When the device 200 of access generates a write command, the control module 25 record, according to the fourth variant implementation, accesses the table clean blocks and checks cleared if the unit address of record, and whether this unit is unused. If a block to be write is unused block, the module 25 controls the recording instructs the module 26 controls the cleaning wipe data from this block, and then writes the new data block. In other words, the control module 25 record, according to the fourth variant implementation, deletes the first data, and then writes the data.

Now consider the operation of the module 29 management pre-emptive treatment, according to the fourth variant implementation. Module 29 management proactive cleaning makes cleaning cleaned units, when not busy executing instructions of the application program 8. The cleanup procedure similar to that described in the third embodiment, and shows the block diagram of the image is defined on Fig. This block diagram similar to that at Fig except that the words “list of treated blocks” is replaced by “table cleanup blocks”, and because in the context of no significant changes, the detailed description of the flowchart is omitted. Now consider the operation of the module 29 management pre-emptive clearing in the example shown in figa and 26C.

In the initial state shown in figa, the block address 0001 is listed as a used block, and blocks with addresses 0003, 0005 and 0006 are listed in table cleanup blocks as the blocks from which the deleted data. Data is stored in blocks of non-volatile memory, which are indicated in the drawing by shading (addresses 0000, 0001, 0002, 0004). If, in this initial state, there are blocks that are not in use, but contains data that, when a write command instructing writing of data in the unused blocks needed, the erase operation. According to this variant implementation, if the module 29 management pre-emptive clearing waiting for instructions of the application program 8, then, after a certain period of the survey (step S21 is No, step S22 is Yes), the module 29 management pre-emptive clearing reads the table cleaning block, producing the semiconductor card 100 memory command get status (step S24), and compares the table cleanup blocks FAT (step S25). This comparison of photosensivity blocks, specified in FAT as unused, and whose logical address is not marked in the table of treated units (cleared blocks with addresses 0000, 0002, 0004) (step S26). According pig, the value '0' is assigned in FAT and in the table of treated blocks, blocks with addresses 0000, 0002 and 0004, i.e. these blocks are not used, but have not yet cleared. Because these blocks are not used, and thus the data can be erased without fear of losing useful information, the module 29 management pre-emptive clearing shall issue a wipe command, in accordance with which each of the corresponding addresses in the table cleaning units must be set to '1'indicating that these blocks have to be cleaned (steps S28-S30). As a result, all data in unused blocks are erased, and these blocks are marked in the table cleaning units treated as blocks. You can then perform the above procedure write data by allocating unused blocks, which does not require clean-up operations and allows to achieve high-speed data recording.

The fifth option exercise

The fifth option exercise provides the solution to the problem of file fragmentation. Fragmentation of files is usually understood as a process in which the file is divided into a set of file segments and these segments remain in memory in any order. If multiple the s segments of the file are stored in random order on the recording media type of an optical disk or a magnetic disk, then to read the file segments stored in an arbitrary order, require a large number of operations supply heads, which increases the duration of the read operations. To solve the problems caused by fragmentation, module 9 operations, the file system reads the segments of the file stored in an arbitrary order, and again stores them in memory one after the other (defragmentation). Due to such processing, the segments of the file, creating the file, you can read in a row, and you do not need to perform supply of the head, which increases the speed of reading data. So, in General, looks like the decision provided for elimination of fragmentation on the disk. Now consider the fragmentation occurring in the semiconductor card 100 memory. When reading data from a semiconductor card 100 memory does not require a supply of heads, so the fact that the segments of the file are stored in arbitrary order, does not increase the processing time.

However, despite the lack of problems associated with the supply of heads, fragmentation causes a significant increase in: 1) the overhead associated with issuing commands, and 2) cache misses that occur when reading FAT (both instances are described in more detail below), which leads to increased time spent on reading the file.

1. Cont. the performance costs associated with issuing commands

To better understand how fragmentation affects the overhead associated with issuing commands, refer to figa and 27B. On figa presents the case when the file size 48 KB and is divided into three segments file size 16 KB, is stored in three randomly selected areas of memory. On FIGU presents the case when the file size 48 KB is stored in consecutive locations in the memory. According figa and 27B, the module 9 file system operations, by reading data from the nonvolatile memory, issues a semiconductor memory card, a read command format Read (address, size)”. Here the parameter “address” expresses the logical block address, which should be read, and the parameter “size” specifies the size of the data to be read. The time spent by each team read is equal to the sum of the time required for reading data, which is proportional to the length of the data to be read, and a fixed period of time-related overhead in issuing a read command to. When placing data shown in figa to read the file 1 needs to issue three commands read: Read (0000, 16 KB)”, “Count (0002, 16 KB)” and “Count (0004, 16 KB)”. This means that the time spent with SGAs is Ivanyi this file, 36 MS (=(8+4)× 3). If data is placed according figv, all 48 KB file data can be considered, issuing a single command Read (0000, 48 KB)”. Therefore, the time when the file is read, well in this case, 28 MS (=(8× 3+4)). Thus, you can see that the overhead associated with issuing commands, increase in proportion to the degree of arbitrariness in the choice of blocks for storing segments of the file.

2. Caching FAT

Caching FAT this is a preliminary reading of FAT placed in the system area of the semiconductor card 100 memory, the internal memory device 200 of access, which allows you to speed up the conversion to FAT by accessing the internal memory. If the device 200 of access is a portable device with a small amount of internal memory, the caching frequency FAT is great. Caching FAT exercise by reading segments of the FAT in the order in which they are stored in memory. However, in the case of fragmentation FAT, when caching FAT is necessary in order to read out the internal memory as segments FAT, and the other data segments. In the case of reading of other data, in addition to FAT, is loaded into the internal memory of a large amount of data is not cacheable, i.e. a cache miss. The more is such a cache is Romanov, the more you want to perform a read operation to the internal memory, and consequently, increase the time spent on reading FAT.

Despite the presence of these two problems, to eliminate fragmentation in the semiconductor card 100 memory by the same means and on the disk, it is impractical. The fact that changes data stored in blocks of a semiconductor card 100 of the memory you want to erase the stored data, and for this erase require more time than when performing similar operations on the disk. This version of the implementation, as a means of eliminating fragmentation, leading to increased overhead on the output of the commands and the emergence of cache misses, provides for the rescheduling of correspondence between physical addresses and logical addresses. In other words, instead of changing the physical placement of the segments of the FAT in memory, change the schedule of correspondence between physical addresses and logical addresses to organize logical block addresses, which are stored in the segments FAT.

Thus, the device 200 can access to read the file size 48 KB and is divided into three segments with the size of 16 KB and stored in three separate areas (blocks) of memory, as shown in figa, despite the fact that the logical block addresses follow about is in another. In addition, the implementation of reading requires only one read command that specifies the first of the set of logical addresses, and the data length of the file (in this case 48 KB). In addition, if the FAT is divided into three segments and stored in three memory areas (blocks), the device 200 can access orderly to read into internal memory segments FAT stored in random order in the case, when the logical address blocks follow one another. In this case, for the implementation of the read commands are required reading, in which, as a read address, in turn, is specified each of the successive logical addresses. Such processing eliminates any possibility of occurrence of cache misses. Thus, even if multiple segments of the file, or FAT stored in randomly selected areas, these areas can be distinguished consecutive logical addresses, which solves the problem of overhead associated with issuing commands reading, and allows you to avoid cache misses.

On Fig depicts a flowchart of the procedure for addressing fragmentation through operations on logical addresses, implemented by the module 29 management pre-emptive treatment. On Fig depicts an illustrative objects, which correspond to the variables t, u, v, and at present is the block diagram. At step S50 module 29 management pre-emptive clearing specifies the initial values of the variables x and y (x← 1, y← 1). This means that the processing is subject to the first segment of the first file. Then, at step S51, the module 29 management pre-emptive clearing compares the logical address s block, which contains the y-th segment of the x-th file, and the logical address t block, which is stored (y+1)-th segment of x of the file to determine the order of these blocks. If, as shown in figa, y-th segment and (y+1)-th segment are stored in the order I→ y+1, which corresponds to the “Yes” at step S52, and, moreover, not in the neighbouring cleaned the blocks, the module 29 management pre-emptive clearing proceeds to step S54.

If the segments are stored in the order I+1→ as shown in figv, the module 29 management pre-emptive clearing proceeds to step S53, and allocates a logical address t physical address u, and the logical address s - physical address v. As a result, the allocation of physical addresses to logical addresses is changed, as shown in figv arrows rv1 and rv2. Then, at step S54, the module 29 management pre-emptive clearing checks whether the logical address of the purified block in which is stored (y+1)-th segment, immediately after the logical address of the purified block that stores the y-th segment. If a cleared block in which is stored (y+1)is the segment immediately after the cleaned unit that stores the y-th segment, as shown in figs, the ratio s+1=t is true, which corresponds to the “Yes” of step S54, and the procedure goes to step S56. If you clear the blocks, which are stored in the y-th segment and (y+1)-th segment, are not adjacent, then the ratio of s+1=t it is unfair that corresponds to the “No” of step S54, and the procedure goes to step S55. In this case, if the logical address s+1 corresponds to a physical address w, then at step S55 physical address v cleared block in which is stored (y+1)-th segment, allocate the logical address s+1, and the physical address w allocate logical address t. In step S55, when the y-th and (y+1)-th segments are stored, as shown in fig.29D, graph matching address is changed, as shown by the arrows rv3 and rv4.

Upon completion of the above operations, at step S56 module 29 management pre-emptive clearing finds out whether a variable is 'y' the number of the last segment. If 'y' is the number of the last segment, the module 29 management pre-emptive clearing at step S57 increases in per unit, and the procedure returns to step S51. Steps S51-S57 procedure is repeated for each segment of the x-th file, each time checking at the step S56, and reporting 'y' single increment at step S57.

If step S56 Mae is the result “Yes”, the module 29 management pre-emptive clearing at step S58 determines whether 'x' number of the last file, and, if the result is negative, it goes to step S59, i.e. increases the variable x (x← x+1) and, at step S60, sets the variable to the original value. Thus, steps S51-S57 is repeated for all of the files each time checks at step S58, and reporting of the variable 'x' is a single increment at step S59.

Now consider the problem of fragmentation, in the present embodiment, a specific example shown in Fig. In the initial state shown in figa, segments 1-1/3, 1-2/3 and 1-3/3, forming the file 1 is stored in the treated blocks corresponding to the logical addresses 0000, 0001 and 0004. In addition, the segments 2-1/4, 2-2/4, 2-3/4 and 2-4/4, forming the file 2 is stored in the treated blocks corresponding to the logical address 0002, 0003, 0005, and 0006.

The file segment 2-1/4 is stored in the cleaning unit corresponding to the address (logical address 0002)that follows a logical address 0001, indicating a block in which is stored the file segment 1-2/3, and the file segment 1-3/3 is stored in the cleaning unit corresponding to the logical address 0004.

If you apply a procedure represented by the flowchart depicted in Fig, for example, on this scheme, it determines that the order of the segments file is 1-1/3 1-2/3 coincides with the order of the corresponding logical addresses 0000 and 0001, so the line between them should be maintained. However, if we consider the order of file segments 1-2/3 and 1-3/3, you can see that, although the cleaned unit that stores the file segment 1-2/3 corresponds to the logical address 0001, but in the cleaned block corresponding to the logical address 0002, stores the file segment 2-1/4. Therefore step S54 gives the result “No”, the procedure goes to step S55. At step S55, the logical address that corresponds to a physical address of the purified block in which is stored the file segment 1-3/3, assign a physical address of the purified block in which is stored the file segment 2-1/4, and Vice versa. Now the segments file 1-2/3 and 1-3/3 shows sequential logical addresses, so that the physical address 0002 cleanable unit that stores the file segment 2-1/4 allocated to a logical address 0004, and Vice versa, the physical address 0004 cleanable unit that stores the file segment 1-3/3 allocated to a logical address 0002. The graph of the correspondence between logical and physical addresses obtained as a result of this change, shown in figv. Upon completion of the processing in relation to the file segment 1-3/3, handle in relation to the file segment 2-2/4. According figv, the ratio between the segments of the file 2-1/4 2-2/4 is such that the file segment 2-1/4 is stored in the cleaning unit, the corresponding logical address 0004, and the next file segment 2-2/4 is stored in the cleaning unit corresponding to the logical address 0003. Thus the logical addresses assigned to these segments, followed in reverse order. As a result, at step S52 get the answer “No”and the processing proceeds to step S53, where the order of addresses corresponding to segments of the file 2-1/4 2-2/4, changed to the opposite. In this case, the physical address 0002, the corresponding cleaning unit that stores the segment of the file, 2-1/4, allocate the logical address 0003, and physical address 0003 corresponding cleaning unit that stores the file segment 2-2/4, allocate the logical address 0004. As a result of this processing, the segments of the file that make up the files 1 and 2, indicated sequential logical addresses.

According to this variant implementation, even if the segments of the file are stored in memory one after the other, these memory areas can be distinguished consecutive logical addresses, which allows to reduce the overhead caused by issuing commands read, and cache misses that occur when caching FAT and files.

The sixth option exercise

The sixth option exercise involves improvement used when writing to non-volatile memory a variety of material using SL is JBI distribution and playback of recorded material on a portable player. In this case, in the semiconductor card 100 memory often write files with various attributes, namely, music, images, games, and text. Because, depending on the type of file, reading and editing, module 9 file system operations, included in the device 200 of access, should check the contents of the file before executing a read or edit. The need to perform this check every time before reading or editing a file hinders the operation of the module 9 file system operations. Therefore, the universal disk format (UDF) data storage on digital versatile disks (DVD) provides for each file extended attribute that allows you to instantly recognize the type of data stored in the file without checking the contents of the file.

On Fig shows an example of an extended attribute. The attribute shown in the drawing, represents a new type of extended attribute, formed on the basis of the extended attribute using the implementation provided in the UDF. Extended attribute field contains 2000 type attribute field 2010 subtype attribute, backup region 2020, box 2030 length of attribute field 2040 length of use of the implement, box 2050 ID implementation (they are identical to the fields of the extended attribute d is recycling in UDF, therefore, a more detailed explanation is here omitted) and field 2060 use implementation. Box 2060 using the implementation contains a field 2061 header checksum, which is stored checksum of the header segment of the extended attribute field 2063 name that stores the file name and box 2062 flag that stores the attribute of the file. Each bit of the flag

2062 set equal to '0' or '1'to specify the file attribute. The first bit of the flag 2062 specifies whether this file is a text file, the second bit indicates whether the file is an image file, and the region, beginning with the third file is a backup area.

Storage of the extended attribute in the semiconductor card 100 memory is faced with obvious difficulty. The fact that the management information volume stored in the semiconductor card 100 of the memory that corresponds to the data structure specified above ISO/IEC 9293, which does not provide for the supply of each file advanced attribute.

According to this variant implementation, the extended attribute is stored in a secure area and/or in the overlapping region. The protected area was described in a second variant implementation, therefore, in the future, we will not consider. The backup area is controlled separately from the normal section is and the user data area. If in the user data area of the nonvolatile memory appears to be corrupted sector, the module 24 changes the selection selects the sector from the backup area to replace the damaged sectors. On Fig shows the internal structure of the semiconductor card 100 memory, which includes overlapping region. New extended attributes that cannot be set in a FAT file system, you can specify for each file, keeping these attributes in a secure area or in the overlapping region. Furthermore, since the user area and the user data area used by a normal user, use a traditional file system, which is not related to the new extended attributes, the system is compatible with other systems. In addition, as the device 200 of access should only implement the necessary operations for each file type, the device 200 implements access fewer operations, which can reduce the amount of memory device 200 of access. In addition, because the file type for each file, you can determine just referring to the information of the extended attribute, instead, to refer to the contents of a file, you can improve the speed of operations.

The seventh option exercise

This option assistanceprogram additional improvements to protect files by setting file in a FAT file system of the ban on entry and deny read. Traditional FAT file system provides the setting for an individual file attributes such as the ban on entry or a ban on reading in the file elements. Module 9 file system operations, included in the device 200 of access, being connected to the semiconductor card 100 memory, reads and stores the management information volume and refers to the attribute of a single file to determine whether to read or write this file. If the application program 8 incorporated in the device 200 of access, accesses the semiconductor card 100 memory by module 9 file system operations, then the attributes specified in the file items that have value. If the application program 8 refers to a semiconductor card 100 memory bypass module 9 file system operations and carries out a write operation or read by issuing a write command or read directly semiconductor card 100 memory, then any attributes of the ban on entry or deny read specified file in elements which do not have any power. This alternative implementation provides the structure of a semiconductor card 100 of the memory depicted in Fig, thus, the attributes of the ban on the account and ban the reading will remain in effect even if the direct address of the application program 8 to polypr vodnikova map 100 memory. On Fig shows the internal structure of the semiconductor card 100 memory according to the seventh variant implementation. The distinctive features of this drawing is that in the overlapping region of the nonvolatile memory 1 stores the attribute table blocks.

The attribute table of the blocks consists of elements corresponding to the cleared blocks within the field volume. When the element is equal to '1', it means that the corresponding block is write-protected. When the element is equal to '2', it means that the corresponding block is protected from reading. Module 9 file system operations and module 2 access control described according to the fifth variant implementation, carry out operations on the attribute table blocks, and file elements. If the application program 8 instructs the module 9 file system operations to open the file to set the attribute, then the module 9 file system operations specifies the attribute on file element corresponding to this file. For example, if the application program 8 instructs to set the file write protection, then the corresponding file element set the attribute of the ban on entry. If the application program 8 instructs to set the file protection is not read, then the corresponding file element set the attribute of the ban on reading. If the applied p is ogramme 8 instructs to make a file hidden the module 9 file system operations sets in the corresponding file attribute of the ban on reading.

If the file attributes are specified in a similar manner in the appropriate file elements, the module 9 operations file system divides the file into segments the size of the cluster and writes these segments in the user area in the form of a set of clusters. Specifying the segments of the file in the form of clusters, module 9 file system operations sets the file attribute in the table element attribute blocks, which correspond to each loading unit in which you saved the file. If the file is write-protected, the module 9 file system operations specifies the attribute of the prohibition of recording elements corresponding to each of the clusters, which are stored in the segments of the file and if the file is protected against reading, the module 9 file system operations specifies the attribute of the ban on reading elements corresponding to each of the clusters, which are stored in the segments file. If the file has the hidden attribute, then the module 9 file system operations specifies the attribute of the ban on reading elements corresponding to each of the clusters, which are stored in the segments of the file.

If the file recorded in the user area so that the data read or write in blocks in accordance with the attributes that are listed in the table attributableto. In other words, if the device 200 of access issues a read command, the module 23 controls the read accesses to the table element, attribute blocks corresponding to the read address. If the item indicates that the reading is enabled, the module 23 controls the reading reads the data of the block specified by the read address, and if the item indicates that a read - Smoking-does not read data from the block specified by the read address.

If the device 200 of access issues a write command, the module 25 controls the recording and / or module 27 managing change refers to the element the attribute table of the blocks corresponding to the address of record. If the item indicates that the entry is enabled, the module 25 controls the recording and / or module 27 change function writes the data in the block specified by the address of record, and if the item indicates that the entry - Smoking-does not write data in the block specified by the address of record.

This kind of recording and reading is carried out regardless of issues whether the application program 8 a write command or read through module 9 file system operations, or directly, bypassing the module 9 file system operations. Thus the read and write units, it is possible to limit regardless of use if the device 200 of access com is NDI module 9 file system operations when performing write operations and read.

On Fig the specific example of module 9 file system operations under this option implementation. According figa, the data contained in the file 1 is stored in the treated blocks at addresses 0000, 0002 and 0003, the data contained in the file 2 is stored in the cleaning blocks according to the address 0001 and 0004, data contained in the file 3 is stored in the cleaning unit at address 0005, and the data contained in the file 4, is stored in the cleaning unit at address 0006. On FIGU shows the case when file 1 is the attribute of the ban on entry. In the attribute table blocks, the elements corresponding to the blocks, which are stored in the segments file 1 (identified by the address 0000, 0002, and 0003)assigned the value '1'that corresponds to the attribute of the ban on entry. If the attribute table blocks are set so that the module 25 controls the recording will ignore commands to the implementation of write operations in blocks at addresses 0000, 0002, and 0003.

On figs shows the case when the non-volatile memory 1 save file 2 with the attribute of the ban on reading. In this case, the items in the table of attributes of the blocks, which correspond to the file 2, assign a value corresponding to an attribute of the ban on reading. Then file 2 is divided into a set of segments and retain these segments together blocks of the user area. If the segments file 2 grants is in blocks, the specified logical address 0001 and 0004, items in the attribute table of the blocks corresponding to these blocks contain the value '2', indicating the presence of the ban on reading. If the attribute table blocks are set so that the module 23 controls the reading ignores commands to read data from blocks of addresses 0001 and 0004.

According to the above variant implementation, the attributes of the ban on reading and prohibition on entry corresponding to each block can be set in the semiconductor card 100 memory, so even if the application program 8 refers to a semiconductor card 100 memory directly, bypassing the module 9 operations of the file system itself semiconductor memory card is 100 can prevent access to protected files. Therefore, establishing in this way the attributes of the ban on reading and not writing for blocks in which the file is stored, you can protect the file, and if file content is under copyright protection, you can also prevent unauthorized copying.

According to this variant implementation, the flag indicating the attribute of the ban on the entry has the value '1', and the flag indicating the attribute of the ban on reading, has a value of '2', but this is only illustrative option does not limit the patent protection of the invention. In addition, with the according to this variant implementation, to assign each block of non-volatile memory 1 attributes of a ban on write and read, use the attribute table blocks, but since the attribute set for each block separately, you can also use a list or similar structure. According to this variant implementation, the described method for the job in the nonvolatile memory 1 attributes of the ban on reading and writing, but as block attributes, you can also use the information other than as described in the above embodiments, implementation. Perhaps such management units where access is only given to users with root privileges when each block compares the user ID, and access is only given to users with this ID, or each individual user assigns access privileges to the blocks. As described above, as a file system use the FAT file system, but similar results can be obtained using other traditional file systems, for example, D.O. or Windows NT file system™ (NTFS), or a specialized file system. In addition, according to the above variants of implementation, one cleaned the block contains 32 sectors, but this value is selected by way of example only, and the number of sectors in od is om the cleaning unit may be more or less than this number.

Industrial application

The semiconductor card 100 memory that meets the present invention makes it possible to increase the service life of the nonvolatile memory 1. Therefore, even when the repeated rewriting in such a semiconductor card 100 to the memory of the musical material obtained through the distribution of digital music, when the music I write and then erase and write on it with another musical material, the service life of the nonvolatile memory 1 is not reduced. This allows to reuse the same semiconductor card 100 memory for recording musical material obtained through the distribution of digital music.

1. The access device for accessing files stored in the semiconductor memory card that contains a memory area consisting of multiple sectors, with the access device operates the data in each group of the 2jsectors (j is 0 or a positive integer) as a cluster, and operates one or more clusters as a file, each group of 2iconsecutive sectors in the memory area forming a block (i is 0 or a positive integer), which is the smallest area of memory in which you can perform the erase operation, including the abuser computing module, made with the possibility to calculate the size of the control volume on the basis of the number of clusters in the memory area that you want to manipulate and control the volume contains a headache boot record, partition table information of the partition boot sector, file allocation table and the root, and the file allocation table specifies for each file, links between clusters corresponding to this file, backup module, configured to reserve the first area used for recording information management volume, and a second area used for recording user data, and the first region is characterized by a data size greater than the calculated size information control volume, and includes two or more blocks, and the second area consists of the blocks following the first area, and a recording module configured to record the management information volume in the first area, and user data in the second area and write head boot record and the partition table in the first sector of the first block of the first region, to skip a predetermined number of sectors and then to record the partition boot sector, file allocation table and the root element is wow directory in the following sectors to align the end of the first region with the end item in the root directory, the information of the partition boot sector, file allocation table and the root is recorded in at least one block that is different from the first block.

2. The access device according to claim 1, characterized in that the first block of the first region consists of the first sector and the first group of segments used to record part of reserved information, and at least one unit different from the first block consists of sectors used to record the information of the partition boot sector, file allocation table and root, and the second group of segments used to record other part of the reserved information.

3. The access device according to claim 1, wherein the computing module is configured to calculate a sum by summing the number of sectors used to record the information of the partition boot sector, file allocation table and root, the first area consists of the m·2jsectors (m is a positive integer) of the reserving module configured to reserve the first area by calculating the value m on the basis of equations (1)

where NOM is the number of sectors

the recording module is made with the possibility of vechicle is ü a predetermined number of sectors by subtracting 1 from the number of sectors NOM.

4. The access device according to claim 3, wherein the recording module is configured to set the number of sectors NOM in the partition table when recording information management volume.

5. The access device according to claim 3, characterized in that the number of sectors used to record the file allocation table, is calculated on the basis of the number of clusters in the memory area that you want to manipulate.

6. The access device according to claim 5, wherein the file allocation table contains many elements, and the number of elements equal to the number of clusters to be written to the second area, and each element of the set of elements indicates a connection with another cluster of the same file, the access device includes a receiving module, configured to accept setting total number of sectors and the total number of clusters in the memory area of the computing module includes a first calculation module, configured to calculate the total number of clusters by dividing the total number of sectors in the memory area for the number of sectors 2jand to calculate the size of the file allocation table by multiplying the total number of clusters on the length of the element in bits, reserving module includes a second module in which the calculations, made with the possibility to calculate the sum by summing the size of the file allocation table with quantities sectors, forming respectively the information of the partition boot sector and root, and calculate the value of m by substituting the value of sum of SUM in equation (1).

7. The access device according to claim 6, wherein the memory area includes a protected area that is accessible to the device connected to the semiconductor memory card only after the confirmation of the authenticity of the connected device, and the user data area available to the device connected to the semiconductor card, regardless of the result of authentication of the connected device, and the receiving module configured to receive from a source external to the access device, the set value of the number of sectors and the number of clusters, subject to allocation of the protected area and the user data area, the first calculation module configured to based on the received set values to calculate the size the file allocation table for the protected area and the size of the file allocation table for the user data area, the second module of the calculations with the ability to calculate two sums SUM for each secure the area and a user data area, respectively, by summing the size of the file allocation table of the protected area and the size of the file allocation table area of the user data with the number of sectors, forming information of the partition boot sector, and the number of sectors forming the element of the root directory, and calculate the value of m for each of the protected area and the user data area by substituting the appropriate value of the sum of the SUM in equation (1).

8. The access device according to claim 7, characterized in that the clusters in protected areas vary in size from clusters in the user data area.

9. The access device according to claim 6, characterized in that a recording module configured to record the second area of the user data is divided into many segments, in the form of a set of clusters, with each segment of the multiple segments is stored in the second area in the form of one of the set of clusters to define many of the elements of the file allocation table, where each element of the set of elements specifies the relationship between clusters, and to write to the root file name and the location information indicating the location of the first cluster of the file.

10. A semiconductor memory card that contains a memory area consisting of multiple sectors, and operates the data in each group of the 2jsectors (j is 0 or a positive integer) as a cluster, and one or more clusters as a file, is eating each group of 2 iconsecutive sectors in the memory area forming a block (i is 0 or a positive integer), which is the smallest area of memory in which you can perform the erase operation, including the first area comprising two or more blocks used to record the information of the control volume, and the second area consisting of blocks following the first area, and used for recording user data, the information management volume includes headache boot record, partition table information of the partition boot sector, file allocation table and the root, and the file allocation table specifies for each file, links between clusters corresponding to the file, with headache boot record and the partition table is written in the first sector of the first block of the first field with skipping a predetermined number of sectors, the information of the partition boot sector, file allocation table and root recorded in the following sectors to align the end of the first region with the end item in the root directory, and the partition boot sector, file allocation table and the root is recorded in at least one unit, which differs from p is pout block.

11. The semiconductor memory card of claim 10, wherein the first block of the first region consists of the first sector and the first group of segments used to record part of reserved information, and at least one unit different from the first block consists of sectors used to record the information of the partition boot sector, file allocation table and root, and the second group of segments used to record other part of the reserved information.

12. The semiconductor memory card of claim 10, wherein the first region consists of m·2jsectors (m is a positive integer), a predetermined number of sectors is calculated by subtracting 1 from the number of sectors NOM, which satisfies the following equation (1)

this sum is calculated by summing the number of sectors used to record the information of the partition boot sector, file allocation table and root.

13. The semiconductor memory card of claim 10, wherein the predetermined number of sectors is specified in the partition table when recording information management volume.

14. The semiconductor memory card according to item 12, characterized in that the amount of CE is tori, used to write the file allocation table, is calculated on the basis of the number of clusters in the memory area that you want to manipulate.

15. The semiconductor memory card according to 14, wherein the file allocation table contains many elements, and the number of elements equal to the number of clusters and each element of the set of elements indicates a connection with another cluster of the same file, the size of the file allocation table is calculated by calculating the total number of clusters by dividing the total number of sectors in the memory area for the number of sectors 2jand multiplying the total number of clusters on the length of the element in bits, the value of m is calculated by calculating the sum SUM by summing the size of the file allocation table with quantities sectors, forming respectively the information of the partition boot sector and root, and by substituting the value of SUM in equation (1).

16. The semiconductor memory card according to item 15, wherein the set of clusters in the second region obtained by dividing the user data, the set of elements in the file allocation table show the relationships between different clusters, the item in the root directory includes the file name and location information, which indicated the em location of the first cluster among the clusters, forming a file.

17. The semiconductor memory card according to item 16, characterized in that the part of the file name recorded in the user data area.

18. A semiconductor memory card having a memory area, which includes the protected area, accessible connected to the semiconductor card device made with the possibility of a physical connection to the semiconductor memory card, the data read from the semiconductor memory card and/or write data to the semiconductor memory card only after you confirm the authenticity of the connected device, and the user data area available to the device connected to the semiconductor memory card, regardless of the result of authentication of the connected device, while the protected area and the user data area includes multiple sectors and operate data in each group of the 2jsectors (j is 0 or a positive integer) as a cluster, and one or more clusters as a file, each group of 2iconsecutive sectors in the memory area forming a block (i is 0 or a positive integer), which is the smallest area of memory in which you can perform the erase operation, at least one protected area and is blasti user data mentioned semiconductor memory card includes the first region, including two or more unit and used for recording information control volume, the second area consisting of blocks following the first area, and used for recording user data, the information management volume includes headache boot record, partition table information of the partition boot sector, file allocation table and the root, and the file allocation table specifies for each file, links between clusters corresponding to the file, with headache boot record and the partition table is written in the first sector of the first block of the first field with skipping a predetermined number of sectors, information the partition boot sector, file allocation table and root recorded in the following sectors to align the end of the first region with the end item in the root directory, and the partition boot sector, file allocation table and root recorded in at least one block that is different from the first block.

19. The semiconductor memory card according p, characterized in that the first block of the first region consists of the first sector and the first group of segments used to record part of reserved information, and measures at the one unit, different from the first block consists of sectors used to record the information of the partition boot sector, file allocation table and root, and the second group of segments used to record other part of the reserved information.

20. The semiconductor memory card according p, characterized in that the first area consists of the m·2jsectors (m is a positive integer), a predetermined number of sectors is calculated by subtracting 1 from the number of sectors NOM, which satisfies the following equation (1)

this sum is calculated by summing the number of sectors used to record the information of the partition boot sector, file allocation table and root.

21. The semiconductor memory card according to claim 20, characterized in that the number of sectors NOM is set in the partition table.

22. The semiconductor memory card according to claim 20, characterized in that the number of sectors used to record the file allocation table, is calculated on the basis of the number of clusters in the memory area that you want to manipulate.

23. The semiconductor memory card according to item 22, wherein the file allocation table contains many elements, and the number of the element is in equal to the number of clusters and each element of the set of elements indicates a connection with another cluster of the same file, the size of the file allocation table is calculated by calculating the total number of clusters by dividing the total number of sectors number of sectors 2jand multiplying the total number of clusters on the length of the element in bits, the value of m is calculated by calculating the sum SUM by summing the size of the file allocation table with quantities sectors, forming respectively the information of the partition boot sector and root, and by substituting the value of SUM in equation (1).

24. The semiconductor memory card according to item 23, wherein the clusters in protected areas vary in size from clusters in the user data area.

25. The semiconductor memory card according to item 23, wherein the set of clusters in the second region obtained by dividing the user data, the set of elements in the file allocation table show the relationships between different clusters, the item in the root directory includes the file name and location information that indicates the location of the first cluster among the clusters that make up the file.

26. The method of initializing a computer, allowing the computer to access the files stored in the semiconductor memory card that contains a memory area consisting of plural is and sectors, operating data in each group of the 2jsectors (j is 0 or a positive integer) as a cluster, and in one or more clusters as a file, each group of 2iconsecutive sectors in the memory area forming a block (i is 0 or a positive integer), which is the smallest area of memory in which you can perform the erase operation, according to which calculates the size of the control volume on the basis of the number of clusters in the memory area that you want to manipulate and control the volume includes headache boot record, partition table information of the partition boot sector, file allocation table, root, and the file allocation table specifies for each file, links between clusters corresponding to the file, first reserve area used for recording information management volume and a second area used for recording user data, and the first region is characterized by a data size greater than the calculated size of the control volume, and includes two or more blocks, and the second area consists of the blocks following the first area, and writes the management information volume in the first area, and user data in the second the region, write head boot record and the partition table in the first sector of the first block of the first area, pass a predetermined number of sectors and then record information of the partition boot sector, file allocation table and the root in the following sectors to align the end of the first region with the end item in the root directory, with information of the partition boot sector, file allocation table and the root record in at least one block that is different from the first block.

27. The method of initializing a computer on p, characterized in that the first block of the first region consists of the first sector and the first group of segments used to record part of reserved information, and blocks, different from the first block consists of sectors used to record the information of the partition boot sector, file allocation table and root, and the second group of segments used to record other part of the reserved information.

28. The method of initializing a computer on p, characterized in that the first area consists of the m·2jsectors (m is a positive integer), a predetermined number of sectors is calculated by subtracting 1 from the number of sectors NOM, notoriuosly the following equation (1)

this sum is calculated by summing the number of sectors used to record the information of the partition boot sector, file allocation table and root.

29. Recording medium, in which a machine-readable format is stored initialization routine of a computer, allowing him to access the semiconductor memory card that includes a memory area consisting of multiple sectors, operating data in each group of the 2jsectors (j is 0 or a positive integer) as a cluster, and in one or more clusters as a file, each group of 2iconsecutive sectors in the memory area forming a block (i is 0 or a positive integer), which is the smallest area of memory in which you can perform the erase operation and the program on the recording medium enables the computer to calculate the size of the control volume on the basis of the number of clusters in the memory area that you want to manipulate and control the volume contains a headache boot record, partition table information of the partition boot sector, file allocation table, root, and the file allocation table specifies for ka the Dogo file, links between clusters, the relevant file to reserve the first area used for recording information management volume, and a second area used for recording user data, and the first region is characterized by a data size greater than the calculated size of the control volume, and includes two or more blocks, and the second area consists of the blocks following the first area, and to record the management information volume in the first area, and user data in the second area, to record headache boot record and the partition table in the first sector of the first block of the first region, to skip a predetermined number of sectors and then write the boot sector information partition, the file allocation table and the root in the following sectors to align the end of the first region with the end item in the root directory, and the information of the partition boot sector, file allocation table and the root is recorded in at least one block that is different from the first block.

30. The recording medium according to clause 29, wherein the first block of the first region consists of the first sector and the first group of segments used to record part of reserved information, and at least one unit different from the lane is on the block, consists of sectors used to record the information of the partition boot sector, file allocation table and root, and the second group of segments used to record other part of the reserved information.

31. The recording medium according to clause 29, characterized in that when the above-mentioned calculation calculates the total SUM by summing the number of sectors used to record the information of the partition boot sector, file allocation table and root, when the above-mentioned reservation reserved first region by calculating the value m on the basis of equations (1)

where NOM is the number of sectors

and when these records is calculated a predetermined number of sectors by subtracting 1 from the number of sectors NOM.

32. The recording medium on p, characterized in that when these records is set to a predetermined number of sectors in the partition table when recording information management volume.

33. The recording medium on p, characterized in that the number of sectors used to record the file allocation table, is calculated on the basis of the number of clusters in the memory area that you want to manipulate.

34. The recording medium on p, otlichalis the same time, the file allocation table contains many elements, and the number of elements equal to the number of clusters to be written to the second area, and each element of the set of elements indicates a connection with another cluster of the same file, the program on the recording medium also allows the computer to accept the setting total number of sectors and the total number of clusters in the memory area, the above calculation includes the first calculation to calculate the total number of clusters by dividing the total number of sectors in the memory area for the number of sectors 2jand calculate the size of the file allocation table by multiplying the total number of clusters on the length of the element in bits, and the above-mentioned reservation includes a second calculation to calculate the total SUM by summing the size of the file allocation table with quantities sectors, forming respectively the information of the partition boot sector and root, and calculate the value of m by substituting the value of sum of SUM in equation (1).

35. The recording medium according to clause 34, wherein the memory area includes a protected area that is accessible to the device connected to the semiconductor memory card only after authentication by the connected device, and the area of the user data available to the device connected to the semiconductor card, regardless of the result of authentication of the connected device, and with said admission are accepted from a source external to the access device, the set value of the number of sectors subject to the allocation of the protected area and the user data, with said first calculating, on the basis of the received set values to calculate the size of the file allocation table for the protected area and the size of the file allocation table for the user data, with said second calculation calculate two sums SUM for each protected area and the user data area, respectively, by summing the size the file allocation table of the protected area and the size of the file allocation table area of the user data with the number of sectors forming information of the partition boot sector of the corresponding area, and the number of sectors forming the root of the corresponding region, and calculates the value of m, respectively, for each of the protected area and the user data area by substituting the appropriate value of the sum of the SUM in equation (1).

36. The recording medium on p, from which causesa fact, the clusters in protected areas vary in size from clusters in the user data area.



 

Same patents:

FIELD: data carriers.

SUBSTANCE: device has input zone, data recording zone, which is formed at outer peripheral side of input zone and into which multiple parts of content are recorded, and output zone, formed at outer peripheral side of zone for recording data. First and second information concerning control of copyright protection, by means of which copyright for multiple content portions is controlled, is recorded on data carrier is varying positions, secrecy of which is different from each other.

EFFECT: higher efficiency.

4 cl, 21 dwg

FIELD: data carriers.

SUBSTANCE: disk has several zones, while each zone has an area for user data for storing user data, and several zones form a group for controlling defects of data carrier, backup area for swapping defects for group is placed on disk, and data about source position for each zone is stored in previously set disk area, while method has following steps: reading of data concerning starting position for each zone, and access to data, on basis of read information concerning source position.

EFFECT: higher recording and reproduction stability due to possible processing of larger defects during hot swap, provided by joining several zones within limits of one group.

5 cl, 9 dwg

FIELD: optical data carriers.

SUBSTANCE: method includes following stages: forming of a group of multiple zones on disk, while a group includes data area of user, including code block with correction of mistakes, distribution of primary, free space for the group. Additional free space is distributed with possible exclusion of discontinuousness of code block with correction of mistakes contained in user data area, at the limit between zones and distribution of it at two zones. Such distribution may be realized by skipping sectors at the end of zone, of their number is less than needed for forming code block with correction of mistakes with correction of primary position of code block with correction of mistakes at limit between zones.

EFFECT: higher efficiency.

3 cl, 9 dwg

FIELD: optical data carriers.

SUBSTANCE: data carrier has data area. The latter has multiple zones, in which code blocks with error corrections are formed and sectors remaining as a result of sliding replacement at the end of zone, number of which is less than necessary for forming of one code block with error corrections. Said sectors are not used for recording one code block with error corrections and are skipped, and said code block with error corrections is formed at the beginning of next zone after skipping sectors of zone noted above. Carrier has additional free space, necessary for skipping sectors remaining at the end of zone during sliding replacement process.

EFFECT: higher efficiency.

2 cl, 9 dwg

FIELD: data carriers.

SUBSTANCE: at least one free area is determined in location, following said user data area. Said free data area is distributed in reverse order from the last element of noted area. When replacing damaged elements of user data it is used starting from last elements of noted free data area.

EFFECT: higher efficiency.

2 cl, 5 dwg

FIELD: data carriers.

SUBSTANCE: data carrier has formatted information for data and manufacturer information, containing identification information for recording device, which forms or modifies data on data carrier, and normalizes information, related to modification of data on carrier. Manufacturer information has individual format, incompatible to other manufacturers.

EFFECT: higher efficiency.

7 cl, 8 dwg

FIELD: optical data carriers.

SUBSTANCE: at least one free area is determined in position, following noted data area of user. Said free area is distributed in backward order from the last element of noted area. When replacing damaged elements of user data it is used from last elements of said free data area.

EFFECT: higher efficiency.

2 cl, 7 dwg

FIELD: optical data carriers.

SUBSTANCE: for protecting optical disk from recording, information concerning protection from recording is read, which is previously recorded in at least one zone of starting or ending area of data carrier, and it is determined, whether the latter is in state of recording protection. In variant, when carrier is placed in cassette body, and body has aperture for forbidding recording protection of data on disk, it is determined, if recording protection state of recording protection data written on disk is matches with state of recording protection of said aperture, and recording of new data is prevented, if said protection data and aperture position forbid recording. In a variant information concerning recording protection is stored in zones of disk identification of at least one of zones of starting and ending area of carrier.

EFFECT: higher efficiency.

5 cl, 16 dwg

The invention relates to a system for recording and/or playback in real-time the real-time files

The invention relates to the media, as well as recording, playback and transmission of video

FIELD: data carriers.

SUBSTANCE: device for reproduction of data from data carrier, program zone of which is used for recording a set of files, and control zone - for controlling copy protection data concerning the file, recorded in program zone, has computer for calculating copy protection information for each time file is reproduced, comparison means for comparing value, calculated on reproduction command, being prior to current one, to value, calculated on current reproduction command, and if these values coincide, the last value is stored as copy protection value, calculated on reproduction command , prior to current one and control means for allowing reproduction of file, appropriate for current command, if value, calculated as response to command, previous relatively to current command, coincides as a result of comparison to value, calculated as a response to current command.

EFFECT: higher reliability, higher efficiency.

4 cl, 46 dwg

FIELD: computer science.

SUBSTANCE: method includes protective mathematical conversion of service data of network frame prior to transfer to environment for transfer of a LAN. To said protective conversion the data is subjected, which is contained in headers of network frames of channel level, and also in headers of all encapsulated network packets and segments. As a result the very possibility of interception is prevented.

EFFECT: higher efficiency.

7 cl, 2 dwg

FIELD: digital memory technologies.

SUBSTANCE: board has rewritable power-independent memory and control circuit, means for storing address, pointing at limit between authentication area and non-authentication area, circuit for changing size of said areas. Reading device contains estimation means, reading information, pointing at number of times, for which digital data can be read, and playback means. Second device variant additionally has means for digital output of contents.

EFFECT: higher efficiency.

3 cl, 23 dwg

FIELD: microprocessors.

SUBSTANCE: device has central processing devices, including first cryptographic block, at least one peripheral block, including second cryptographic block, device also has data bus, random numbers generator, conductor for supplying clock signal, conductor for providing random numbers signal, set of logical communication elements, while each cryptographic block has register of displacement with check connection.

EFFECT: higher level of unsanctioned access protection.

7 cl, 1 dwg

FIELD: electronics.

SUBSTANCE: device has signaling bus, loaded with clock signal, at least one couple of buses serving for encoding one bit, detector circuit, multiplexer. According to method in case of first value of signal of signal bus two buses of one couple detect same level of signal, and in case of second value of signal of signal bus two buses of one couple detect different signal levels, detect forbidden states during operation of board, change process of system functioning, to generate alarm in that way.

EFFECT: higher reliability of protection.

2 cl, 7 dwg

FIELD: copy protection.

SUBSTANCE: system has content distribution block, multiple recording and playback devices for digital data, calculations processing block, meant to perform communications with recording and playback devices and performing calculations processing for transferring license payments.

EFFECT: higher reliability of copy protection.

5 cl, 55 dwg

FIELD: computers.

SUBSTANCE: method includes, on basis of contents of central processor registers, received after processor performs some sort of command, by means of mathematical logical operation, forming certain finite control sum and storing it in memory, and on basis of contents of registers, received before start of execution by said processor of directly next command, certain starting checksum is formed, while if starting checksum mismatches finite checksum, error message is generated, which can be followed by halting of processor operation or blocking of chip board with its removal from circulation.

EFFECT: higher reliability.

2 cl, 2 dwg

FIELD: technologies for authentication of information.

SUBSTANCE: method includes performing absolute identification for confirming legality of data carrier according to first rule in preset time. Authentication information is recorded on this data carrier in previously set position. Process of arbitrary authentication is performed for confirming legality of said data carrier in accordance to second rule in arbitrary time. First rule includes announcing confirmation of standard match, if information for authentication is detected as registered in selected preset position. Second rule in given arbitrary authentication process includes announcing standard match, if information for authentication is detected as not registered in arbitrary positions, different from given preset position.

EFFECT: higher reliability.

6 cl, 12 dwg

Processor // 2248608

FIELD: computers, data protection.

SUBSTANCE: processor has bus interface device, device for selection/decoding of commands, device for dispatching/execution, program string decoding device, which string is selected from program and loaded in first levels command cash, which contains a set of N two-input elements XOR, keys memory, storing different N-bit decoding keys.

EFFECT: higher efficiency.

2 dwg

The invention relates to computing

Processor // 2248608

FIELD: computers, data protection.

SUBSTANCE: processor has bus interface device, device for selection/decoding of commands, device for dispatching/execution, program string decoding device, which string is selected from program and loaded in first levels command cash, which contains a set of N two-input elements XOR, keys memory, storing different N-bit decoding keys.

EFFECT: higher efficiency.

2 dwg

Up!