Claims Analysis
Total Claims: 16
Claim 1
Independent Claim
201 words
In a solid state memory having a plurality of blocks of memory wherein a portion of each block is located in at least one associated nonvolatile memory device, a method of allocating free memory to a calling process for a unit of data having a variable given size, the method comprising the steps of: A) selecting as a selected block a first block of memory to which data was last allocated if the first block has an amount of free memory equal to or greater than the given size; B) if the amount of free memory in the first block is less than the given size, then 1) for each appropriate block of memory: a) generating a first number corresponding to an amount of free memory in that block; b) generating a second number corresponding to an amount of memory containing invalid data in that block; and c) summing the first and second numbers to generate a score; 2) selecting a second block having a greatest score as the select, block, if an amount of free memory in the selected block is not less than the given size; and C) reserving the given size of free memory in the selected block.
Claim 2
Dependent Claim
201 words
In a solid state memory having a plurality of blocks of memory wherein a portion of each block is located in at least one associated nonvolatile memory device, a method of allocating free memory to a calling process for a unit of data having a variable given size, the method comprising the steps of: A) selecting as a selected block a first block of memory to which data was last allocated if the first block has an amount of free memory equal to or greater than the given size; B) if the amount of free memory in the first block is less than the given size, then 1) for each appropriate block of memory: a) generating a first number corresponding to an amount of free memory in that block; b) generating a second number corresponding to an amount of memory containing invalid data in that block; and c) summing the first and second numbers to generate a score; 2) selecting a second block having a greatest score as the select, block, if an amount of free memory in the selected block is not less than the given size; and C) reserving the given size of free memory in the selected block.
Claim 3
Dependent Claim
41 words
The method of claim 1 wherein the step of reserving the given size of free memory in the selected block further comprises the step of storing a first offset representative of the given size into a header in the selected block.
Claim 4
Dependent Claim
52 words
The method of claim 1 wherein appropriate blocks excludes at least one of the following types of blocks: blocks having a busy associated nonvolatile memory device, blocks having an associated nonvolatile memory device selected for clean-up, blocks selected for clean-up, bad blocks, blocks having a maximum number of headers already written into.
Claim 5
Dependent Claim
197 words
In a solid state memory having a plurality of blocks of memory wherein a portion of each block is located in at least one associated nonvolatile memory device, a method of allocating free memory to a calling process for a unit of data having a variable given size, the method comprising the steps of: A) selecting as a selected block a first block of memory to which data was last allocated if the first block has an amount of free memory equal to or greater than the given size; B) if the amount of free memory in the first block is less than the given size, then 1) for each appropriate block of memory: a) generating a first number corresponding to an amount of free memory in that block: b) generating a second number corresponding to a cycle count for that block; and c) summing the first and second numbers to generate a score; 2) selecting a second block having a greatest score as the selected block, if an amount of free memory in the selected block is not less than the given size; and C) reserving the given size of free memory in the selected block.
Claim 6
Dependent Claim
197 words
In a solid state memory having a plurality of blocks of memory wherein a portion of each block is located in at least one associated nonvolatile memory device, a method of allocating free memory to a calling process for a unit of data having a variable given size, the method comprising the steps of: A) selecting as a selected block a first block of memory to which data was last allocated if the first block has an amount of free memory equal to or greater than the given size; B) if the amount of free memory in the first block is less than the given size, then 1) for each appropriate block of memory: a) generating a first number corresponding to an amount of free memory in that block: b) generating a second number corresponding to a cycle count for that block; and c) summing the first and second numbers to generate a score; 2) selecting a second block having a greatest score as the selected block, if an amount of free memory in the selected block is not less than the given size; and C) reserving the given size of free memory in the selected block.
Claim 7
Dependent Claim
41 words
The method of claim 4 wherein the step of reserving the given size of free memory in the selected block further comprises the step of storing a first offset representative of the given size into a header in the selected block.
Claim 8
Dependent Claim
52 words
The method of claim 4 wherein appropriate blocks excludes at least one of the following types of blocks: blocks having a busy associated nonvolatile memory device, blocks having an associated nonvolatile memory device selected for clean-up, blocks selected for clean-up, bad blocks, blocks having a maximum number of headers already written into.
Claim 9
Dependent Claim
221 words
In a solid state memory having a plurality of blocks of memory wherein a portion of each block is located in at least one associated nonvolatile memory device, a method of allocating free memory to a calling process for a unit of data having a variable given size, the method comprising the steps of: A) selecting as a selected block a first block of memory to which data was last allocated if the first block has an amount of free memory equal to or greater than the given size; B) if the amount of free memory in the first block is less than the given size, then 1) for each appropriate block of memory: a) generating a first number corresponding to an amount of free memory in that block; b) generating a second number corresponding to an amount of memory containing invalid data as compared to a possible maximum amount of memory that can contain invalid data for all nonvolatile memory devices associated with that block; and c) summing the first and second numbers to generate a score; 2) selecting a second block having a greatest score as the selected block, if an amount of free memory in the selected block is not less than the given size; and C) reserving the given size of free memory in the selected block.
Claim 10
Dependent Claim
221 words
In a solid state memory having a plurality of blocks of memory wherein a portion of each block is located in at least one associated nonvolatile memory device, a method of allocating free memory to a calling process for a unit of data having a variable given size, the method comprising the steps of: A) selecting as a selected block a first block of memory to which data was last allocated if the first block has an amount of free memory equal to or greater than the given size; B) if the amount of free memory in the first block is less than the given size, then 1) for each appropriate block of memory: a) generating a first number corresponding to an amount of free memory in that block; b) generating a second number corresponding to an amount of memory containing invalid data as compared to a possible maximum amount of memory that can contain invalid data for all nonvolatile memory devices associated with that block; and c) summing the first and second numbers to generate a score; 2) selecting a second block having a greatest score as the selected block, if an amount of free memory in the selected block is not less than the given size; and C) reserving the given size of free memory in the selected block.
Claim 11
Dependent Claim
41 words
The method of claim 7 wherein the step of reserving the given size of free memory in the selected block further comprises the step of storing a first offset representative of the given size into a header in the selected block.
Claim 12
Dependent Claim
52 words
The method of claim 7 wherein appropriate blocks excludes at least one of the following types of blocks: blocks having a busy associated nonvolatile memory device, blocks having an associated nonvolatile memory device selected for clean-up, blocks selected for clean-up, bad blocks, blocks having a maximum number of headers already written into.
Claim 13
Dependent Claim
207 words
In a solid state memory having a plurality of blocks of memory wherein a portion of each block is located in at least one associated nonvolatile memory device, a method of allocating free memory to a calling process for a unit of data having a variable given size, the method comprising the steps of: A) selecting as a selected block a first block of memory to which data was last allocated if the first block has an amount of free memory equal to or greater than the given size; B) if the amount of free memory in the first block is less than the given size, then 1) for each appropriate block of memory: a) generating a first number corresponding to an amount of free memory in that block; b) generating a second number corresponding to a number of block portions already allocated in all nonvolatile memory devices associated with that block; and c) summing the first and second numbers to generate a score; 2) selecting a second block having a greatest score as the selected block, if an amount of free memory in the selected block is not less than the given size; and C) reserving the given size of free memory in the selected block.
Claim 14
Dependent Claim
207 words
In a solid state memory having a plurality of blocks of memory wherein a portion of each block is located in at least one associated nonvolatile memory device, a method of allocating free memory to a calling process for a unit of data having a variable given size, the method comprising the steps of: A) selecting as a selected block a first block of memory to which data was last allocated if the first block has an amount of free memory equal to or greater than the given size; B) if the amount of free memory in the first block is less than the given size, then 1) for each appropriate block of memory: a) generating a first number corresponding to an amount of free memory in that block; b) generating a second number corresponding to a number of block portions already allocated in all nonvolatile memory devices associated with that block; and c) summing the first and second numbers to generate a score; 2) selecting a second block having a greatest score as the selected block, if an amount of free memory in the selected block is not less than the given size; and C) reserving the given size of free memory in the selected block.
Claim 15
Dependent Claim
41 words
The method of claim 10 wherein the step of reserving the given size of free memory in the selected block further comprises the step of storing a first offset representative of the given size into a header in the selected block.
Claim 16
Dependent Claim
52 words
The method of claim 10 wherein appropriate blocks excludes at least one of the following types of blocks: blocks having a busy associated nonvolatile memory device, blocks having an associated nonvolatile memory device selected for clean-up, blocks selected for clean-up, bad blocks, blocks having a maximum number of headers already written into.