IP Library Granted Patent US 8,677,341
Granted Patent B2
US 8,677,341 · App. 11/735,019 · Granted Mar 18, 2014

Software-delivered dynamic persistent data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,677,341
App. No.
11/735,019
Granted
Mar 18, 2014
Kind
B2
Abstract

A method and apparatus for dynamically managing non-volatile memory items in a wireless device, the method comprising the steps of: checking the non-volatile memory items for a unique identifier item; if the unique identifier item exists, comparing an identifier stored within the unique identifier item with a software identifier located in software on the wireless device; and if the unique identifier item does not exist or if the identifier is different from the software identifier, performing the steps of: updating the non-volatile memory items; and writing the software identifier to the unique identifier item. The method may further include a rollback scheme for previous software versions.

Claims (28)

1. A method to provide for rollback to a previous software load on a mobile device, the method comprising the steps of:

creating, by a processor of the mobile device, non-volatile memory items for a software load;

preventing, by the processor of the mobile device, deletion of any non-volatile memory items once the non-volatile memory items are created;

adding, by the processor of the mobile device, when upgrading to a new software load, a new non-volatile memory item rather than replacing a value in an existing non-volatile memory item when the new non-volatile memory item corresponds to the existing non-volatile memory item; and

mapping, by the processor of the mobile device, the existing non-volatile memory item to the new non-volatile memory item so that requests for a non-volatile memory item are mapped to a correct non-volatile memory item;

wherein the adding step and the preventing step allow utilization of non-volatile memory items and non-volatile memory item values from the previous software load when rolling back to the previous software load.

2. The method of claim 1 , further comprising the step of avoiding non-volatile memory items created by default or refurbished non-volatile memory files.

3. The method of claim 2 , further comprising the step of creating a new non-volatile memory item to replace the non-volatile memory items created by default or part of the refurbished non-volatile memory files.

4. The method of claim 3 , further comprising the step of barring use of the non-volatile memory items created by default or the refurbished non-volatile memory files.

5. The method of claim 1 , wherein the mapping step is based on a map that is changed in the new software load.

6. The method of claim 5 , wherein the requests for a non-volatile memory item are mapped from a non-volatile memory item number or a non-volatile memory item index to a correct non-volatile memory item number.

7. A wireless communications device comprising:

a receiver configured to receive signals;

a transmitter configured to transmit signals;

a digital signal processor configured to process signals to be transmitted on the transmitter and received on the receiver;

a processor configured to communicate with the digital signal processor;

a non-volatile memory having program storages and non-volatile memory items, wherein the non-volatile memory is configured to communicate with the processor; and

input and output subsystems configured to interact with the processor, wherein the processor includes:

means for creating non-volatile memory items for a software load;

means for preventing deletion of any non-volatile memory items once the non-volatile memory items are created;

means for adding, when upgrading to a new software load, a new non-volatile memory item rather than replacing a value in an existing non-volatile memory item when the new non-volatile memory item corresponds to the existing non-volatile memory item; and

a map adapted to map the existing non-volatile memory item to the new volatile non-volatile memory item so that requests for a non-volatile memory item are mapped to a correct non-volatile memory item;

wherein the means for adding and the means for preventing are configured to allow utilization of non-volatile memory items and non-volatile memory item values from a previous software load when rolling back to the previous software load.

8. The wireless communications device of claim 7 , further comprising means for avoiding non-volatile memory items created by default or refurbished non-volatile memory files.

9. The wireless communications device of claim 8 , further comprising means for creating a new non-volatile memory item to replace the non-volatile memory items created by default or part of the refurbished non-volatile memory files.

10. The wireless communications device of claim 9 , further comprising means for barring use of the non-volatile memory items created by default or the refurbished non-volatile memory files.

11. The wireless communications device of claim 7 , wherein the map is changed in the new software load.

12. The wireless communications device of claim 11 , wherein the map is further adapted to map the requests for a non-volatile memory item from a non-volatile memory item number or a non-volatile memory item index to a correct non-volatile memory item number.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: BLACKBERRY LIMITED
To: MALIKIE INNOVATIONS LIMITED
Reel/Frame 064104/0103 →
CHANGE OF NAME Recorded Jan 23, 2014
From: RESEARCH IN MOTION LIMITED
To: BLACKBERRY LIMITED
Reel/Frame 032124/0009 →