Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
120 words
A method for operating a flash memory, which is divided into blocks, and where the blocks are subdivided into a plurality of segemnts, wherein data are stored in the form of files in segments, and files are marked for erasure in segments, said method comprising the steps of for each file marked for erasure, storing information in each segment which contains the data of the file. the information identifying the segment for erasure , determining an up-to-date degree of filling for the flash memory, wherein the number of occupied segments marked for erasure, and the number of unmarked and unoccupied segments are determined for each block, and performing a memory optimization after a degree of filling threshold has been exceeded.
Claim 2
Independent Claim
120 words
A method for operating a flash memory, which is divided into blocks, and where the blocks are subdivided into a plurality of segemnts, wherein data are stored in the form of files in segments, and files are marked for erasure in segments, said method comprising the steps of for each file marked for erasure, storing information in each segment which contains the data of the file. the information identifying the segment for erasure , determining an up-to-date degree of filling for the flash memory, wherein the number of occupied segments marked for erasure, and the number of unmarked and unoccupied segments are determined for each block, and performing a memory optimization after a degree of filling threshold has been exceeded.
Claim 3
Dependent Claim
37 words
A method as claimed in claim 1, further comprising the steps of shifting unmarked files in the direction of an unoccupied end of the flash memory, and erasing in blocks the remaining marked files in the blocks.
Claim 4
Dependent Claim
36 words
A method as claimed in claim 2, wherein the step of performing a memory optimization further comprises determining whether a block exists in which no occupied unmarked segments are located, and if so, erasing this block.
Claim 5
Dependent Claim
45 words
A method as claimed in claim 3, wherein the step of performing a memory optimization further comprises determining in which block the smallest number of occupied unmarked segments is located, copying these segments to unoccupied areas of other blocks, and erasing the previously determined block.
Claim 6
Dependent Claim
53 words
A method as claimed in claim 4, wherein the step of performing a memory optimization further comprises determining in which block the smallest number of occupied unmarked segments is located, temporarily storing these segments in a marked area of another block, erasing the previously determined block and reconstructing the temporarily stored data therein.
Claim 7
Dependent Claim
34 words
A method as claimed in claim 5, further comprising the step of causing a user inquiry to be made, whereby the user can indicate those data that are to be additionally marked for erasure.
Claim 8
Dependent Claim
41 words
A method as claimed in claim 6, further comprising the step of defining a file initiation label and a segment initiation label at the start of each file, and where two segment initiation labels are defined for each other pertinent segment.
Claim 9
Dependent Claim
35 words
A method as claimed in claim 7, wherein each file initiation label is occupied by zeros, and said method further comprises the step of identifying the type of stored data using the segment initiation label.
Claim 10
Dependent Claim
23 words
A method as claimed in claim 8, further comprising the step of identifying the marked segments by zeros in the segment initiation labels.
Claim 11
Dependent Claim
32 words
A method as claimed in claim 1 further comprising the step of inserting additional information at the start of the first segment of each file to identify files of the same type.
Claim 12
Dependent Claim
316 words
A memory encoded with executable instructions representing a program module for the operation of a flash memory divided into blocks, and in which blocks are subdivided into a number of segments, the segments comprising information identifying whether a particular segment is to be erased, the executable instructions representing the program module being capable of instructing a computer to determine an allowable degree of flash memory filling by the number of unoccupied, occupied and marked for erasure segments, and by occupied and unmarked segments of each block, and being capable of instructing the computer to perform a memory optimization by means of control commands, wherein a first control command causes segments occupied by files to be shifted, and a second control command erases remaining occupied segments which are marked for erasure, and in the event that files cannot be shifted, a third control command causes determination of a block in which no occupied and unmarked segments are located, which is then erased, and in the event that no block can be determined in which no occupied and unmarked segments are located, a fourth control command causes determination of the block containing the smallest number of occupied unmarked segments and copying of the occupied unmarked segments to unoccupied segments of other blocks, and in the event that occupied unmarked segments cannot be copied to unoccupied segments of other blocks a fifth control command causes determination of the block containing the smallest number of occupied unmarked segments and temporary storage of the occupied unmarked segments in marked segments of other blocks, and causes the erasure of the determined block, and causes reconstruction of the occupied unmarked segments and in the event that the block containing the smallest number of occupied unmarked segments cannot be temporarily stored in marked segments of other blocks a sixth control command causes a user inquiry, in which the user can mark files for erasure.
Claim 13
Dependent Claim
316 words
A memory encoded with executable instructions representing a program module for the operation of a flash memory divided into blocks, and in which blocks are subdivided into a number of segments, the segments comprising information identifying whether a particular segment is to be erased, the executable instructions representing the program module being capable of instructing a computer to determine an allowable degree of flash memory filling by the number of unoccupied, occupied and marked for erasure segments, and by occupied and unmarked segments of each block, and being capable of instructing the computer to perform a memory optimization by means of control commands, wherein a first control command causes segments occupied by files to be shifted, and a second control command erases remaining occupied segments which are marked for erasure, and in the event that files cannot be shifted, a third control command causes determination of a block in which no occupied and unmarked segments are located, which is then erased, and in the event that no block can be determined in which no occupied and unmarked segments are located, a fourth control command causes determination of the block containing the smallest number of occupied unmarked segments and copying of the occupied unmarked segments to unoccupied segments of other blocks, and in the event that occupied unmarked segments cannot be copied to unoccupied segments of other blocks a fifth control command causes determination of the block containing the smallest number of occupied unmarked segments and temporary storage of the occupied unmarked segments in marked segments of other blocks, and causes the erasure of the determined block, and causes reconstruction of the occupied unmarked segments and in the event that the block containing the smallest number of occupied unmarked segments cannot be temporarily stored in marked segments of other blocks a sixth control command causes a user inquiry, in which the user can mark files for erasure.
Claim 14
Dependent Claim
321 words
In a telephone answering machine, a memory encoded with executable instructions representing a program module for the operation of a flash memory divided into blocks, and in which blocks are subdivided into a number of segments, the segments comprising information identifying whether a particular segment is to be erased, the executable instructions representing the program module being capable of instructing a computer to determine an allowable degree of flash memory filling by the number of unoccupied, occupied and marked for erasure segments, and by occupied and unmarked segments of each block, and being capable of instructing the computer to perform a memory optimization by means of control commands, wherein a first control command causes segments occupied by files to be shifted, and a second control command erases remaining occupied segments which are marked for erasure, and in the event that files cannot be shifted, a third control command causes determination of a block in which no occupied and unmarked segments are located, which is then erased, and in the event that no block can be determined in which no occupied and unmarked segments are located, a fourth control command causes determination of the block containing the smallest number of occupied unmarked segments and copying of the occupied unmarked segments to unoccupied segments of other blocks, and in the event that occupied unmarked segments cannot be copied to unoccupied segments of other blocks a fifth control command causes determination of the block containing the smallest number of occupied unmarked segments and temporary storage of the occupied unmarked segments in marked segments of other blocks, and causes the erasure of the determined block, and causes reconstruction of the occupied unmarked segments and in the event that the block containing the smallest number of occupied unmarked segments cannot be temporarily stored in marked segments of other blocks a sixth control command causes a user inquiry, in which the user can mark files for erasure.
Claim 15
Dependent Claim
321 words
In a telephone answering machine, a memory encoded with executable instructions representing a program module for the operation of a flash memory divided into blocks, and in which blocks are subdivided into a number of segments, the segments comprising information identifying whether a particular segment is to be erased, the executable instructions representing the program module being capable of instructing a computer to determine an allowable degree of flash memory filling by the number of unoccupied, occupied and marked for erasure segments, and by occupied and unmarked segments of each block, and being capable of instructing the computer to perform a memory optimization by means of control commands, wherein a first control command causes segments occupied by files to be shifted, and a second control command erases remaining occupied segments which are marked for erasure, and in the event that files cannot be shifted, a third control command causes determination of a block in which no occupied and unmarked segments are located, which is then erased, and in the event that no block can be determined in which no occupied and unmarked segments are located, a fourth control command causes determination of the block containing the smallest number of occupied unmarked segments and copying of the occupied unmarked segments to unoccupied segments of other blocks, and in the event that occupied unmarked segments cannot be copied to unoccupied segments of other blocks a fifth control command causes determination of the block containing the smallest number of occupied unmarked segments and temporary storage of the occupied unmarked segments in marked segments of other blocks, and causes the erasure of the determined block, and causes reconstruction of the occupied unmarked segments and in the event that the block containing the smallest number of occupied unmarked segments cannot be temporarily stored in marked segments of other blocks a sixth control command causes a user inquiry, in which the user can mark files for erasure.
Claim 16
Independent Claim
134 words
A method for optimizing storage space in a flash memory divided into blocks, and where the blocks are subdivided into a plurality of segments, the segments comprising information identifying whether a particular segment is to be erased, wherein after a degree of filling threshold has been exceeded, as determined by the number of occupied segments marked for erasure, and the number of occupied unmarked segments and unoccupied segments of each block, determining the block containing the smallest number of occupied unmarked segments, shifting occupied unmarked segments of this block to segments of another block, which are marked for erasure, using a logic operation to combine the data of the occupied unmarked segments with the data of the segments marked for erasure, erasing the previously determined block containing the smallest number of occupied unmarked segments.
Claim 17
Independent Claim
134 words
A method for optimizing storage space in a flash memory divided into blocks, and where the blocks are subdivided into a plurality of segments, the segments comprising information identifying whether a particular segment is to be erased, wherein after a degree of filling threshold has been exceeded, as determined by the number of occupied segments marked for erasure, and the number of occupied unmarked segments and unoccupied segments of each block, determining the block containing the smallest number of occupied unmarked segments, shifting occupied unmarked segments of this block to segments of another block, which are marked for erasure, using a logic operation to combine the data of the occupied unmarked segments with the data of the segments marked for erasure, erasing the previously determined block containing the smallest number of occupied unmarked segments.
Claim 18
Dependent Claim
31 words
A method as claimed in claim 13, wherein the logic operation comprises a logical AND operation between data of the occupied unmarked segments and data in the segments marked for erasure.
Claim 19
Dependent Claim
31 words
A method as claimed in claim 13, wherein the logic operation comprises a logic OR operation between data of the occupied unmarked segments and data in the segments marked for erasure.
Claim 20
Dependent Claim
24 words
A method as claimed in claim 13, wherein the step of transferring the occupied unmarked segments is performed until an end criterion is fulfilled.
Claim 21
Dependent Claim
32 words
A method as claimed in claim 16, wherein the end criterion is fulfilled if at least one bit position of subsequent bytes of the logically combined data contains the same bit value.
Claim 22
Dependent Claim
22 words
A method as claimed in claim 17, further comprising the step of reconstructing the shifted data in the previously determined erased block.
Claim 23
Dependent Claim
378 words
A memory encoded with executable instructions representing a program module for the operation of a flash memory divided into blocks, and in which blocks are subdivided into a plurality of segments, the segments comprising information identifying whether a particular segment is to be erased, the executable instructions representing the program module being capable of instructing a computer to determine an allowable degree of flash memory filling through the number of unoccupied, occupied and marked for erasure segments, and by occupied and unmarked segments of each block, and being capable of instructing the computer to perform a memory optimization by means of control commands, wherein a first control command causes segments occupied by files to be shifted, and wherein the remaining occupied marked for erasure segments are erased by means of a second control command, and in the event that files cannot be shifted, a block is determined in which no occupied and unmarked segments are located, which is then erased by means of a third control command, and in the event that no block can be determined in which no occupied and unmarked segments are located, a block containing the smallest number of occupied unmarked segments is determined, which are then copied to unoccupied segments of other blocks by means of a fourth control command, and in the event that occupied unmarked segments cannot be copied to unoccupied segments of other blocks, the block containing the smallest number of occupied unmarked segments is determined, which are then temporarily stored in marked segments of other blocks by means of a fifth control command, and are then reconstructed after the determined block has been erased, and in the event that occupied unmarked segments cannot be copied to unoccupied segments of other blocks, the block containing the smallest number of occupied unmarked segments is determined, which are then copied to marked-for-erasure segments of another block, using a logic operation to combine data of the unmarked segments with data of the marked segments by means of a sixth control command, and in the event that the block containing the smallest number of occupied unmarked segments cannot be temporarily stored in marked segments of other blocks, a seventh control command causes a user inquiry, in which the user can mark files for erasure.
Claim 24
Dependent Claim
378 words
A memory encoded with executable instructions representing a program module for the operation of a flash memory divided into blocks, and in which blocks are subdivided into a plurality of segments, the segments comprising information identifying whether a particular segment is to be erased, the executable instructions representing the program module being capable of instructing a computer to determine an allowable degree of flash memory filling through the number of unoccupied, occupied and marked for erasure segments, and by occupied and unmarked segments of each block, and being capable of instructing the computer to perform a memory optimization by means of control commands, wherein a first control command causes segments occupied by files to be shifted, and wherein the remaining occupied marked for erasure segments are erased by means of a second control command, and in the event that files cannot be shifted, a block is determined in which no occupied and unmarked segments are located, which is then erased by means of a third control command, and in the event that no block can be determined in which no occupied and unmarked segments are located, a block containing the smallest number of occupied unmarked segments is determined, which are then copied to unoccupied segments of other blocks by means of a fourth control command, and in the event that occupied unmarked segments cannot be copied to unoccupied segments of other blocks, the block containing the smallest number of occupied unmarked segments is determined, which are then temporarily stored in marked segments of other blocks by means of a fifth control command, and are then reconstructed after the determined block has been erased, and in the event that occupied unmarked segments cannot be copied to unoccupied segments of other blocks, the block containing the smallest number of occupied unmarked segments is determined, which are then copied to marked-for-erasure segments of another block, using a logic operation to combine data of the unmarked segments with data of the marked segments by means of a sixth control command, and in the event that the block containing the smallest number of occupied unmarked segments cannot be temporarily stored in marked segments of other blocks, a seventh control command causes a user inquiry, in which the user can mark files for erasure.