Managing a LBA interface in a direct data file memory system
First Claim
1. A method of assigning addresses to data of file objects within a continuous logical address space, comprising:
- divide the continuous logical address space into logical blocks of addresses, said logical blocks having a capacity, maintain at least one list including logical blocks that individually contain addresses assigned to an amount of valid data less than a the capacity of the logical blocks, select a logical block from said at least one list, copy the addresses assigned to valid data from the selected logical block into another logical block, and thereafter utilize the selected logical block for storing addresses for other data, wherein selecting a logical block includes selecting the logical block from said at least one list that has the least amount of valid data with assigned addresses in such logical block relative to the amount of valid data with assigned addresses in other logical blocks on the list.
3 Assignments
0 Petitions
Accused Products
Abstract
Data files are assigned addresses within one or more logical blocks of a continuous logical address space interface (LBA interface) of a usual type of flash memory system with physical memory cell blocks. This assignment may be done by the host device which typically, but not necessarily, generates the data files. The number of logical blocks containing data of any one file is controlled in a manner that reduces the amount of fragmentation of file data within the physical memory blocks, thereby to maintain good memory performance. The host may configure the logical blocks of the address space in response to learning the physical characteristics of a memory to which it is connected.
101 Citations
4 Claims
-
1. A method of assigning addresses to data of file objects within a continuous logical address space, comprising:
divide the continuous logical address space into logical blocks of addresses, said logical blocks having a capacity, maintain at least one list including logical blocks that individually contain addresses assigned to an amount of valid data less than a the capacity of the logical blocks, select a logical block from said at least one list, copy the addresses assigned to valid data from the selected logical block into another logical block, and thereafter utilize the selected logical block for storing addresses for other data, wherein selecting a logical block includes selecting the logical block from said at least one list that has the least amount of valid data with assigned addresses in such logical block relative to the amount of valid data with assigned addresses in other logical blocks on the list. - View Dependent Claims (2)
-
3. A method of managing a continuous logical address space at an interface, comprising:
-
dividing the logical address space into logical blocks of distinct addresses, initially designating addresses of data of individual file objects to be within certain first logical block of the logical blocks, and thereafter redesignating addresses for at least some of the data of at least one of the individual file objects in at least one second logical block different than the first logical block initially designated, so that the redesignated addresses of said at least some of the data of at least one of the individual file objects in the second logical block are different from the initially designating addresses within the first logical block. - View Dependent Claims (4)
-
Specification