IP Library Granted Patent US 7,430,659
Granted Patent B2
US 7,430,659 · App. 10/723,706 · Granted Sep 30, 2008

System and method to initialize a multiple function device with a multi-part boot algorithm

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 7,430,659
App. No.
10/723,706
Granted
Sep 30, 2008
Kind
B2
Abstract

A method for “booting up” a multiple function device that involves first detecting the activation of the multiple function device. A 1 st boot algorithm, retrieved from read-only memory, is executed to identify the location of a 2 nd boot algorithm. The 2 nd boot algorithm, retrieved from a specified location based on the booting inputs, is verified for executability. When the 2 nd boot algorithm is executable, it is executed to retrieve the functional algorithms that configure the multiple function device in the desired configuration. When the 2 nd boot algorithm is not executable, and the multiple function device is operably coupled to a host, the correct functional algorithm or a default functional algorithm is downloaded and executed to configure the multiple function device. When an executable functional algorithm cannot be retrieved from memory or the host, the multiple function device powers down after a predetermined amount of time.

Claims (115)

1. A method for booting up a multiple function device, the method comprises:

detecting activation of the multiple function device;

retrieving a first boot algorithm from read only memory of the multiple function device in response to detecting the activation of the multiple function device;

executing the first boot algorithm based on booting inputs to identify a location of a second boot algorithm;

determining whether the second boot algorithm is stored at the identified location;

determining whether the second boot algorithm is executable when the second boot algorithm is stored at the identified location; and

executing the second boot algorithm to retrieve one of a plurality of functional algorithms when the second boot algorithm is executable.

2. The method of claim 1 further comprises:

determining whether the multiple function device is operably coupled to a host when the second boot algorithm is not stored at the identified location;

downloading a functional algorithm selected from the plurality of functional algorithms prior to expiration of a time out period when the multiple function device is operably coupled to the host; and

shutting down the multiple function device after expiration of a time out period when the multiple function device is not operably coupled to the host.

3. The method of claim 2 further comprises:

determining whether the multiple function device is operably coupled to a host when the second boot algorithm is not executable;

downloading a functional algorithm selected from the plurality of functional algorithms prior to expiration of a time out period when the multiple function device is operably coupled to the host; and

shutting down the multiple function device after expiration of a time out period when the multiple function device is not operably coupled to the host.

4. The method of claim 3 wherein the plurality of functional algorithms comprises at least two of:

a digital audio player;

a file storage;

a digital multimedia player;

an extended memory device;

a digital audio recorder;

a digital multimedia recorder;

a personal data assistant; and

an extended memory device with a set of instructions to repair the second boot algorithm.

5. The method of claim 2 further comprising monitoring for a change in status of an operable connection between the multiple function device and the host, wherein when the change occurs, the process for booting up the multiple function device restarts.

6. The method of claim 5 , wherein, prior to the change, the status of the operable connection is in a 1 st eternal state, and, following the change, the operable connection is in a 2 nd external state.

7. The method of claim 6 , wherein in the 1 st external state the multiple function device is operably coupled to the host and wherein in the 2 nd eternal state the multiple function device is not operably coupled to the host.

8. The method of claim 6 , wherein in the 1 st external state the multiple function device is not operably coupled to the host and wherein in the 2 nd external state the multiple function is operably coupled to the host.

9. The method of claim 6 , wherein in the 1 st external state the multiple function device is operably coupled to the host and wherein in the 2 nd external state the multiple function device is operably coupled to a second host.

10. The method of claim 1 , wherein the booting inputs comprise boot pins of an integrated circuit of the multiple function device, wherein input stimuli on the boot pins identifies an access port of the integrated circuit corresponding to the location of the second boot algorithm, wherein the access port includes at least one of: a universal serial bus (USB) interface, a flash memory interface, an electronically programmable read only memory (EPROM) interface, a multi-wire interface, and a hard drive interface.

11. The method of claim 1 , wherein the booting inputs comprise boot pins of an integrated circuit of the multiple function device, wherein input stimuli on the boot pins identifies an access port of the integrated circuit corresponding to the location of the second boot algorithm, wherein the access port includes at least one of: a universal serial bus (USB) interface, a flash memory interface, an electronically programmable read only memory (EPROM) interface, a multi-wire interface, and a hard drive interface.

12. A method for booting up a multiple function handheld device, the method comprises:

retrieving a first boot algorithm from read only memory of the multiple function handheld device;

executing the first boot algorithm to access a second boot algorithm;

determining whether to second boot algorithm is executable; and

when the second boot algorithm is executable, executing the second boot algorithm to retrieve on of a plurality of functional algorithms.

13. The method of claim 12 , further comprises:

waiting to operably couple with a host when the second boot algorithm is not executable; and

downloading on of the plurality of functional algorithms when operably coupled.

14. The method of claim 13 , wherein the second boot algorithm is not executable because the second boot algorithm is not stored at a specified location.

15. The method of claim 13 , wherein booting inputs identify the specified location.

16. The method of claim 15 , wherein the booting inputs comprise boot pins of an integrated circuit of the multiple function device, wherein stimuli on the boot pins identifies an access port of the integrated circuit corresponding to the location of the second boot algorithm, wherein the access port includes at least one of: a universal serial bus (USB) interface, a flash memory interface, an electronically programmable read only memory (EPROM) interface, a multi-wire interface, and a hard drive interface.

17. The method of claim 13 , wherein the second boot algorithm is not executable because the second boot algorithm is corrupt.

18. The method of claim 13 , further comprises shutting down the multiple function device after expiration of a time out period when the multiple function device is not operably coupled to the host.

19. The method of claim 13 , wherein the plurality of functional algorithms comprises at least two of:

a digital audio player;

a file storage;

a digital multimedia player;

an extended memory device;

a digital audio recorder;

a digital multimedia recorder;

a personal data assistant; and

an extended memory device with a set of instructions to repair the second boot algorithm.

20. The method of claim 13 further comprising monitoring for a change in status of an operable connection between the multiple function handheld device and the host, wherein when the change occurs, the method of booting up the multiple function handheld device restarts.

21. The method of claim 20 , wherein, prior to the change, the status of the operable connection is in a 1 st external state, and, following the change, the operable connection is in a 2 nd external state.

22. An apparatus for booting up a multiple function device, the apparatus comprises:

processing module;

read only memory; and

memory, wherein the processing module functions to:

detect activation of the multiple function device;

retrieve a first boot algorithm from the read only memory in response to detecting the activation of the multiple function device;

execute the first boot algorithm based on booting inputs to identify a location of a second boot algorithm;

determine whether the second boot algorithm is stored at the identified location;

determine whether the second boot algorithm is executable when the second boot algorithm is stored at the identified location; and

execute the second boot algorithm to retrieve one of a plurality of functional algorithms when the second boot algorithm is executable.

23. The apparatus of claim 22 , wherein the processing module further functions to:

determine whether the multiple function device is operably coupled to a host when the second boot algorithm is not executable;

download a functional algorithm selected from the plurality of functional algorithms prior to expiration of a time out period when the multiple function device is operably coupled to the host; and

shut down the multiple function device after expiration of a time out period when the multiple function device is not operably coupled to the host.

24. The apparatus of claim 23 , wherein the plurality of functional algorithms comprises at least two of:

a digital audio player;

a file storage;

a digital multimedia player;

an extended memory device;

a digital audio recorder;

a digital multimedia recorder;

a personal data assistant; and

an extended memory device with a set of instructions to repair the second boot algorithm.

25. The apparatus of claim 22 , wherein the processing module further functions to:

determine whether the multiple function device is operably coupled to a host when the second boot algorithm is not stored at the identified location;

download a functional algorithm selected from the plurality of functional algorithms prior to expiration of a time out period when the multiple function device is operably coupled to the host; and

shut down the multiple function device after expiration of a time out period when the multiple function device is not operably coupled to the host.

26. The apparatus of claim 25 , wherein the processing module further functions to monitor for a change in status of an operable connection between the multiple function device and the host, wherein when the change occurs, the process for booting up the multiple function device restarts.

27. The apparatus of claim 26 , wherein, prior to the change, the status of the operable connection is in a 1 st external state, and, following the change, the operable connection is in a 2 nd external state.

28. The apparatus of claim 27 , wherein in the 1 st external state the multiple function device is operably coupled to the host and wherein in the 2 nd external state the multiple function device is not operably coupled to the host.

29. The apparatus of claim 28 , wherein in the 1 st external state the multiple function device is not operably coupled to the host and wherein in the 2 nd external state the multiple function is operably coupled to the host.

30. The apparatus of claim 29 , wherein in the 1 st eternal state the multiple function device is operably coupled to the host and wherein in the 2 nd external state the multiple function device is operably coupled to a second host.

31. The apparatus of claim 22 , wherein the booting inputs comprise boot pins of an integrated circuit of the multiple function device, wherein input stimuli on the boot pins identifies an access port of the integrated circuit corresponding to the location of the second boot algorithm, wherein the access port includes at least one of: a universal serial bus (USB) interface, a flash memory interface, an electronically programmable read only memory (EPROM) interface, a multi-wire interface, and a hard drive interface.

32. An apparatus for booting up a multiple function handheld device, the apparatus comprises:

processing module;

read only memory; and

memory, wherein the processing module functions to:

retrieve a first boot algorithm from the read only memory;

execute the first boot algorithm to access a second boot algorithm;

determine whether the second boot algorithm is executable; and

when the second boot algorithm is executable, execute the second boot algorithm to retrieve one of a plurality of functional algorithms.

33. The apparatus of claim 32 , wherein the processing module further functions to:

wait to operably couple with a host when the second boot algorithm is not executable; and

download one of the plurality of functional algorithms when operably coupled.

34. The apparatus of claim 33 , wherein the second boot algorithm is not executable because the second boot algorithm is not stored at a specified location.

35. The apparatus of claim 33 , wherein booting inputs identify the specified location.

36. The apparatus of claim 35 , wherein the booting inputs comprise boot pins of an integrated circuit of the multiple function device, wherein input stimuli on the boot pins identifies an access port of the integrated circuit corresponding to the location of the second boot algorithm, wherein the access port includes at least one of: a universal serial bus (USB) interface, a flash memory interface, an electronically programmable read only memory (EPROM) interface, a multi-wire interface, and a hard drive interface.

37. The apparatus of claim 33 , wherein the second boot algorithm is not executable because the second boot algorithm is corrupt.

38. The apparatus of claim 33 , wherein the processing module further functions to shut down the multiple function device after expiration of a time out period when the multiple function device is not operably coupled to the host.

39. The apparatus of claim 33 , wherein the plurality of functional algorithms comprises at least two of:

a digital audio player;

a file storage;

a digital multimedia player;

an extended memory device;

a digital audio recorder;

a digital multimedia recorder;

a personal data assistant; and

an extended memory device with a set of instructions to repair the second boot algorithm.

40. The apparatus of claim 32 , wherein the processing module further functions to monitoring for a change in status of an operable connection between the multiple function handheld device and the host, wherein when the change occurs, the method of booting up the multiple function handheld device restarts.

41. The apparatus of claim 40 , wherein, prior to the change, the status of the operable connection is in a 1 st external state, and, following the change, the operable connection is in a 2 nd external state.

Assignments (12)
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 037354 FRAME: 0773. ASSIGNOR(S) HEREBY CONFIRMS THE PATENT RELEASE. Recorded Aug 15, 2016
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: SIGMATEL, LLC
Reel/Frame 039723/0777 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: SIGMATEL, INC.
Reel/Frame 037354/0734 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0757 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: SIGMATEL, INC.
Reel/Frame 037354/0773 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: SIGMATEL, INC.
Reel/Frame 037355/0838 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2015
From: ZENITH INVESTMENTS, LLC
To: APPLE INC.
Reel/Frame 034749/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2014
From: SIGMATEL, L.L.C.
To: ZENITH INVESTMENTS, LLC
Reel/Frame 033677/0968 →
SECURITY AGREEMENT Recorded May 10, 2010
From: SIGMATEL, LLC
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 024358/0439 →
SECURITY AGREEMENT Recorded Mar 16, 2010
From: SIGMATEL, LLC
To: CITIBANK, N.A.
Reel/Frame 024079/0406 →
SECURITY AGREEMENT Recorded Dec 9, 2008
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 021936/0772 →
SECURITY AGREEMENT Recorded Jul 9, 2008
From: SIGMATEL, INC.
To: CITIBANK, N.A.
Reel/Frame 021212/0372 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2003
From: JORDAN, MARC KEVIN; ZUDOCK, THOMAS A.; SCHULTZ, RUSSELL ALVIN
To: SIGMATEL, INC.
Reel/Frame 014802/0442 →