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 list 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.
22 Citations
22 Claims
-
1. A method for storing and accessing a list 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. The method of
claim 5 , 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. - View Dependent Claims (6)
-
7. A method for storing and accessing a preferred roaming list (PRL) stored in a mobile telephone, the PRL being formed of a plurality of variable size system records, each of the system records including 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 including a network identification field, a priority field, and a roaming indicator field, comprising the steps of:
-
(A) storing the network identification fields, the priority fields and the roaming indicator fields in the plurality of system records in a first array;
storing the system identification fields and the geographical region indicator fields in the plurality of system records in a second array;
storing a first bit of the network identification included fields and the preferred_negative fields in the plurality of system records in a third array;
storing a second bit of the network identification included fields in the plurality of system records in a fourth array; and
storing the acquisition parameter information fields in the plurality of system records in a fifth array;
(B) receiving a first index value corresponding to a selected one of the plurality of system records to be accessed;
(C) evaluating, in response to the first index value, entries in the third array in order to access the first bit of the network identification included field and the preferred_negative field associated with the selected system record and in order to determine a second index value for locating any network identification field, priority field or roaming indicator field associated with the selected system record in the first array;
(D) accessing, in response to the second index value, any network identification field, priority field or roaming indicator field associated with the selected system record in the first array; and
(E) accessing, in response to the first index value, the system identification field and the geographical region indicator field associated with the selected system record and stored in the second array. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for storing and accessing a preferred roaming list (PRL) stored in a mobile telephone, the PRL being formed of a plurality of variable size system records, each of the system records including 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 including a network identification field, a priority field, and a roaming indicator field, comprising the steps of:
-
(A) storing the network identification fields, the priority fields and the roaming indicator fields in the plurality of system records in a first array;
storing the system identification fields and the geographical region indicator fields in the plurality of system records in a second array;
storing a first bit of the network identification included fields and the preferred_negative fields in the plurality of system records in a third array;
storing a second bit of the network identification included fields in the plurality of system records in a fourth array; and
storing the acquisition parameter information fields in the plurality of system records in a fifth array;
(B) receiving a first index value corresponding to a selected one of the plurality of system records to be accessed; and
(C) accessing, in response to the first index value, the system identification field associated with the selected system record and stored in the second array.
-
-
21. An apparatus for storing and accessing a preferred roaming list (PRL) stored in a mobile telephone, the PRL being formed of a plurality of variable size system records, each of the system records including 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 including a network identification field, a priority field, and a roaming indicator field, comprising:
-
(A) a random access memory that stores the network identification fields, the priority fields and the roaming indicator fields in the plurality of system records in a first array;
the random access memory storing the system identification fields and the geographical region indicator fields in the plurality of system records in a second array;
the random access memory storing a first bit of the network identification included fields and the preferred_negative fields in the plurality of system records in a third array;
the random access memory storing a second bit of the network identification included fields in the plurality of system records in a fourth array; and
the random access memory storing the acquisition parameter information fields in the plurality of system records in a fifth array; and
(B) a microprocessor, coupled to the random access memory, that receives a first index value corresponding to a selected one of the plurality of system records to be accessed and then evaluates, in response to the first index value, entries in the third array in order to access the first bit of the network identification included field and the preferred_negative field associated with the selected system record and in order to determine a second index value for locating any network identification field, priority field or roaming indicator field associated with the selected system record in the first array;
(C) wherein said microprocessor accesses, in response to the second index value, any network identification field, priority field or roaming indicator field associated with the selected system record in the first array; and
(D) wherein said microprocessor accesses, in response to the first index value, the system identification field and the geographical region indicator field associated with the selected system record and stored in the second array.
-
-
22. An apparatus for storing and accessing a preferred roaming list (PRL) stored in a mobile telephone, the PRL being formed of a plurality of variable size system records, each of the system records including 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 including a network identification field, a priority field, and a roaming indicator field, comprising:
-
(A) a random access memory that stores the network identification fields, the priority fields and the roaming indicator fields in the plurality of system records in a first array;
the random access memory storing the system identification fields and the geographical region indicator fields in the plurality of system records in a second array;
the random access memory storing a first bit of the network identification included fields and the preferred_negative fields in the plurality of system records in a third array;
the random access memory storing a second bit of the network identification included fields in the plurality of system records in a fourth array; and
the random access memory storing the acquisition parameter information fields in the plurality of system records in a fifth array; and
(B) a microprocessor, coupled to the random access memory, that receives a first index value corresponding to a selected one of the plurality of system records to be accessed and then accesses, in response to the first index value, the system identification field associated with the selected system record and stored in the second array.
-
Specification