Method and apparatus for fast and random access of variable sized records stored in a partitioned format
First Claim
1. A method for storing and accessing a preferred roaming list (PRL) stored in a random access memory, the list being formed of a plurality of variable size records, each of the records including a first fixed size field, each of the records optionally including a second field, wherein at least two of the variable size records in the list include the second field, comprising the steps of:
- (A) storing the second fields in the plurality of records in a first array, and storing the first fixed size fields in the plurality of system records in a second array;
(B) receiving a first index value corresponding to a selected one of the plurality of records to be accessed;
(C) evaluating, in response to the first index value, entries in the second array in order to access the first fixed size field associated with the selected record and in order to determine a second index value for locating any second field associated with the selected record in the first array, and (D) accessing, in response to the second index value, any second field associated with the selected record in the first array.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for storing and accessing a preferred roaming list formed of variable size system records each of which includes a system identification field, a network identification included field, a preferred_negative field, a geographical region indicator field, and an acquisition parameter information field. Each of the system records optionally includes a network identification field, a priority field, and a roaming indicator field. The network identification, priority and roaming indicator fields from the records are stored in a first array; the system identification and geographical region indicator fields are stored in a second array; the first bit of the network identification included and the preferred_negative fields are stored in a third array; the second bit of the network identification included fields from the records are stored in a fourth array; and the acquisition parameter information fields are stored in a fifth array. A first index value corresponding to a selected record to be accessed is received, and entries in the third array are evaluated in response to the first index value in order to access the first bit of the network identification included field and the preferred_negative field associated with the selected record and to determine a second index value for locating any network identification, priority or roaming indicator field associated with the selected record in the first array. Any network identification, priority or roaming indicator field associated with the selected record is then accessed in the first array using the second index value, and the system identification field and the geographical region indicator field associated with the selected record are accessed from the second array using the first index value.
33 Citations
6 Claims
-
1. A method for storing and accessing a preferred roaming list (PRL) stored in a random access memory, the list being formed of a plurality of variable size records, each of the records including a first fixed size field, each of the records optionally including a second field, wherein at least two of the variable size records in the list include the second field, comprising the steps of:
-
(A) storing the second fields in the plurality of records in a first array, and storing the first fixed size fields in the plurality of system records in a second array;
(B) receiving a first index value corresponding to a selected one of the plurality of records to be accessed;
(C) evaluating, in response to the first index value, entries in the second array in order to access the first fixed size field associated with the selected record and in order to determine a second index value for locating any second field associated with the selected record in the first array, and (D) accessing, in response to the second index value, any second field associated with the selected record in the first array. - View Dependent Claims (2, 3, 4, 5, 6)
(i) reading a first group of records from non-volatile memory;
storing the second fields associated with the first group of records in a first area in the RAM; and
storing the first fields associated with the first group of records in a first buffer;
(ii) marking a first end position in RAM of the second fields stored in step (i), and storing all remaining un-read records in the RAM following the first end position.
-
-
5. The method of claim 1, wherein step (A) further comprises the step of:
(iii) marking a second end position in the RAM corresponding to the end position in the RAM of the remaining un-read records stored in step (ii), and then storing a portion of the second array by copying the first buffer into the RAM following the second end position.
-
6. The method of claim 5, wherein step (A) further comprises the steps of:
-
(iv) reading, from the first end position in the RAM, a further group of records;
storing at the first end position in the RAM the second fields associated with the further group of records; and
storing the first fields associated with the further group of records in the first buffer;
(v) designating the end position in RAM of the first fields stored in step (iv) as the first end position, and then moving all remaining records following the first end position in RAM to the first end position;
(vi) designating the end position in the RAM of the records moved in step (v) as the second end position and moving the second array to the second end position;
(vii) storing a further portion of the second array in RAM by appending the first buffer to end of the second array moved in step (vi); and
(viii) repeating steps (iv) to (vii) until all records have been processed.
-
Specification