U.S. patent application number 12/902528 was filed with the patent office on 2011-04-14 for system, method and apparatus for embedded firmware code update.
Invention is credited to Akihiko Toyoshima.
Application Number | 20110087830 12/902528 |
Document ID | / |
Family ID | 26933063 |
Filed Date | 2011-04-14 |
United States Patent
Application |
20110087830 |
Kind Code |
A1 |
Toyoshima; Akihiko |
April 14, 2011 |
SYSTEM, METHOD AND APPARATUS FOR EMBEDDED FIRMWARE CODE UPDATE
Abstract
A wireless module is provided for wirelessly updating code to
any appropriate peripheral device and may allow for wireless
communication with the desired peripheral device to update an
operating software code. The wireless module has the similar size,
shape, and form factor as the current Memory Stick.TM.. In one
embodiment, the method of updating code to the wireless module
and/or the desired peripheral devices includes providing a
fail-safe code to the peripheral device, updating the peripheral
device with a new code utilizing the wireless module, and executing
a primary code for operation of the peripheral device. Further, the
wireless module may be provided to any number of peripheral devices
compatible with the Memory Stick.TM. removable data storage media.
The wireless module is removably connected to the desired
peripheral device and provides the peripheral device with a
fail-safe system, method and apparatus for updating the embedded
operational software code without recalling and servicing the
peripheral device.
Inventors: |
Toyoshima; Akihiko; (Tokyo,
JP) |
Family ID: |
26933063 |
Appl. No.: |
12/902528 |
Filed: |
October 12, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09972781 |
Oct 5, 2001 |
7890947 |
|
|
12902528 |
|
|
|
|
60240011 |
Oct 13, 2000 |
|
|
|
Current U.S.
Class: |
711/103 ;
709/217; 711/E12.001; 714/48; 714/E11.024 |
Current CPC
Class: |
H04M 1/72445 20210101;
H04L 63/0428 20130101; H04M 1/72409 20210101; H04M 1/0254 20130101;
H04M 1/72406 20210101; G06F 8/65 20130101; H04W 8/245 20130101 |
Class at
Publication: |
711/103 ;
709/217; 714/48; 714/E11.024; 711/E12.001 |
International
Class: |
G06F 15/16 20060101
G06F015/16; G06F 11/07 20060101 G06F011/07; G06F 12/00 20060101
G06F012/00 |
Claims
1-35. (canceled)
36. A method for updating code in a wireless communication device
(WCD), comprising: providing a first operational code to the WED,
the first operational code being useful by the WCD for effecting
wireless communication; engaging a module with the WCD, the module
including a removable memory medium holding an updated operational
code; and transferring the updated operational code from the module
to the WCD, wherein the memory medium includes a NAND FLASH
device.
37. A method for updating code in a wireless communication device
(WCD), comprising the acts of: providing a first operational code
to the WCD, the first operational code being useful by the WCD for
effecting wireless communication; engaging a module with the WCD,
the module including a removable memory medium holding an updated
operational code; and transferring the updated operational code
from the module to the WCD, wherein the updated operational code is
transmitted to the wireless module using at least one format
selected from the group consisting of: IS-95B, CDMA 2000 1x, CDMA
1.times.EV, CDMA ONE, Wideband CDMA, GSM, GPRS, and EDGE.
38. A method for updating code in a wireless communication device
(WCD), comprising the acts of: providing a first operational code
to the WCD, the first operational code being useful by the WCD for
effecting wireless communication; engaging a module with the WCD,
the module including a removable memory medium holding an updated
operational code; transferring the updated operational code from
the module to the WCD; checking the updated operational code for
errors; and only if the updated operational code is verified as
error free, using the updated operational code at the WCD in lieu
of the first operational code for effecting wireless
communication.
39. A method for updating code in a wireless communication device
(WCD), comprising the acts of: providing a first operational code
to the WCD, the first operational code being useful by the WCD for
effecting wireless communication; engaging a module with the WCD,
the module including a removable memory medium holding an updated
operational code; transferring the updated operational code from
the module to the WCD; and storing incidental information related
to the updated operational code to a NAND FLASH device in at least
one of: the wireless module, and the wireless telephone.
40. A method for updating code in a wireless communication device
(WCD), comprising the acts of: providing a first operational code
to the WCD, the first operational code being useful by the WCD for
effecting wireless communication; engaging a module with the WCD,
the module including a removable memory medium holding an updated
operational code; transferring the updated operational code from
the module to the WCD; and storing both operational codes in the
WCD for selective use thereof by the WCD.
41. A wireless communication device (WCD), comprising: means for
designating an initial operational code as a primary code to be
used for wireless communication; means for subsequently designating
an updated operational code as the primary code and undesignating
the initial operational code as the primary code; and means for
undesignating the updated operational code as the primary code and
redesignating the initial operational code as the primary code.
42. The device of claim 41, wherein the means for undesignating
executes in response to a user selection of a primary code.
43. The device of claim 41, wherein the means for subsequently
designating executes only if the updated code is verified to be
error-free.
44. A method for updating code in a wireless communication device
(WCD), comprising the acts of providing a first operational code to
the WCD, the first operational code being error-checked and being
useful by the WCD for effecting wireless communication; engaging a
module with the WED, the module including a removable memory medium
holding an updated operational code; and transferring the updated
operational code from the module to the WCD.
45. The method of claim 44, comprising wirelessly transmitting the
updated operational code to the module.
46. The device of claim 41, wherein the updated operational code is
received by means of at least one format selected from the group
consisting of: IS-95B, CDMA 2000 1x, CDMA 1x EV, CDMA ONE, Wideband
CDMA, GSM, GPRS, and EDGE.
47. The device of claim 41, comprising a storage means established
by a NAND FLASH device.
48. The device of claim 41, comprising a storage means established
by a DRAM device.
Description
[0001] This application is related to and incorporates herein by
reference U.S. patent application Ser. No. 09/______, of Akihiko
Toyoshima, for SYSTEM AND METHOD FOR ACTIVATION OF A WIRELESS
MODULE, filed concurrent herewith (Sony IPD 50R4257.01) U.S. patent
application Ser. No. 09/______, of Akhiko Toyoshima, for HOME
NETWORK USING WIRELESS MODULE, filed ______, 2001 (Sony IPD
50P4257.02); U.S. patent application Ser. No. 09/______, of Akhiko
Toyoshima, for MULTIPLE WIRELESS FORMAT PHONE SYSTEM AND METHOD,
filed concurrent herewith (Sony IPD No. 50P4257.03); U.S. patent
application Ser. No. 09/______, of Akhiko Toyoshima, for WIRELESS
MODEM MODULE SERVER SYSTEM, filed ______, 2001 (Sony IPD No.
50P4257.04); U.S. patent application Ser. No. 09/______, of Akihiko
Toyoshima, for WIRELESS MODULE SECURITY SYSTEM AND METHOD, filed
concurrent herewith (Sony IPD 50R4257.05), U.S. patent application
Ser. No. 09/______, of Akihiko Toyoshima, for A DEFAULT PORTAL SITE
ACCESS WITH WIRELESS MODULE (Sony LPD 50R4257.06), filed ______,
2001; and U.S. patent application Ser. No. 09/928,582, of
Baranowski, et al.; for WIRELESS MODULE, filed Aug. 13, 2001 (Sony
IPD 50N3390), and Provisional Patent Application Ser. No.
60/240,001; of Juan, et al, for PORTABLE WIRELESS MODEM, filed Oct.
13, 2000 (Sony IPD 50P4257), the benefit whose priority date is
hereby claimed.
COPYRIGHT NOTICE
[0002] A portion of the disclosure of this patent document contains
material which is subject to copyright protection. The copyright
owner has no objection to the facsimile reproduction of the patent
document or the patent disclosure, as it appears in the Patent and
Trademark Office patent file or records, but otherwise reserves all
copyright rights whatsoever.
FIELD OF THE INVENTION
[0003] This invention relates generally to the field of systems and
methods for updating an embedded operating software code. More
particularly, this invention relates to a wireless module system
and method for updating an embedded code.
BACKGROUND OF THE INVENTION
[0004] The need for portability of data has increased over the
years, and has spurred the development of removable memory devices.
For example, Memory Stick.TM. is a removable data storage device
made by Sony Corporation and is a recordable integrated circuit
(IC) digital storage device having a storage capacity greater than
a standard 3.5 inch floppy disk. Most importantly, Memory Stick.TM.
is smaller than a stick of gum, very lightweight, and therefore
ultra-portable. Recently, software code has increased in size and
complexity for a peripheral device. For example, a cellular phone
utilizes an embedded software code which brings many fancy and
convenient functions to a user. However, due to the site and
complexity of the software code, once a significant software code
bug or flaw is detected the user may be unable to operate their
peripheral device. Given the risks to manufactures and service
operators of peripheral devices, it would be desirable to provide
fail-safe system, method and apparatus for updating the code
without recalling and servicing peripheral devices.
SUMMARY OF THE INVENTION
[0005] In view of the foregoing, a wireless module is provided for
wirelessly updating code to a peripheral device.
[0006] In particular, a wireless module, in one embodiment, has the
similar size, shape, and form factor as the current Memory
Stick.TM.. Also, the wireless module allows for wireless
communication with digital storage functionality. In one
embodiment, a method of updating code includes providing a failsafe
code to a peripheral device, updating the peripheral device with a
new code utilizing the wireless module, and executing a primary
code for operation of the peripheral device.
[0007] In a further embodiment, the wireless module may be provided
to any number of peripheral devices compatible with the Memory
Stick.TM. removable data storage media.
[0008] These and other features and advantages of the invention
will be understood upon the consideration of the following detailed
description of the invention and accompanying drawings. The
features of the invention believed to be novel are set forth with
particularity in the appended claims. The invention itself however,
both as to organization and method of operation, together with
further objects and advantages thereof, may be best understood by
reference to the following description taken in conjunction with
the accompanying drawing.
BRIEF DESCRIPTION OF THE DRAWING
[0009] The following detailed description, given by way of example,
and not intended to limit the present invention solely thereto,
will best be understood in conjunction with the accompanying
drawings in which:
[0010] FIG. 1 is a block diagram of one embodiment of a wireless
module.
[0011] FIG. 2 is a flow diagram illustrating the steps of one
embodiment of a method for updating code to a peripheral device
utilizing the wireless module.
[0012] FIG. 3 is a table illustrating one embodiment of incidental
information provided when updating code.
[0013] FIG. 4 is a flow diagram illustrating a power-up procedure
after updating code.
DETAILED DESCRIPTION OF THE INVENTION
[0014] While the present invention has been particularly shown and
described with reference to an embodiment(s), it will be understood
that various changes and modifications may be made without
departing from the spirit and scope of this invention. It is
intended that the appended claims be interpreted to cover the
embodiments described herein and all equivalents thereto.
[0015] Turning now to FIG. 1, one embodiment of a wireless module
200 is shown. Wireless module 200 includes an antenna 10 connected
to a transceiver circuit 20. Transceiver circuit 20 includes a
duplexer 30, a transmitter 40, and a receiver 50. Transmitter 40
and receiver 50 of transceiver circuit 20 are connected to a
baseband signal processor circuit 60. Baseband signal processor
circuit 60 is connected to a microprocessor 70. A Not AND FLexible
Architecture for Shared memory (NAND FLASH) processor 80, a Dynamic
Random Access Memory (DRAM) circuit 90, and a user interface 100
are also connected to microprocessor 70. In another embodiment,
user interface 100 may include an input/output (I/O) interface (not
shown) and a peripheral device (not shown) may be connected to
wireless module 200 through the I/O.
[0016] In operation, wireless module 200 receives a signal(s)
containing data packets through antenna 10 and forwards the
received signals and data packets to duplexer 30, through receiver
50, and to baseband signal processor circuit 60. The data
packets/received signals will then be forwarded to microprocessor
70 and through user interface 100 and/or to NAND FLASH 80 and DRAM
90. For example, a wireless telephone, or any other type of device
or unit which can handle the data packets/received signals, may
contain wireless module 200 and user interface 100 may be a
speaker, microphone, key, and display for the wireless telephone.
Wireless module 200 receives and transmits data packets/received
signals utilizing at least one wireless format selected from the
group consisting of IS-95B, CDMA 2000 1X, CDMA 1X EV, CDMA ONE,
Wideband CDMA, GSM, GPRS and EDGE. In another embodiment, the
peripheral device may engage in simultaneous transmission and
reception of data packets through the I/O, microprocessor 70, NAND
FLASH 80, DRAM 90, baseband signal processor circuit 60, and
transceiver circuit 20.
[0017] FIG. 2 shows a flow diagram 210 illustrating the steps of
one embodiment of a method for updating code utilizing wireless
module 200 (shown in FIG. 1) to the peripheral device. Initially,
the method for updating code includes providing a fail-safe code
(not shown) to wireless module 200. In one embodiment, the
fail-safe code is stored in the peripheral device. In another
embodiment, the fail-safe code is stored inside NAND FLASH 80 in
wireless module 200. A step 220 of the method for updating code
includes starting a code update process and includes utilizing
wireless module 200 for wirelessly updating a new code (not shown).
In one embodiment, the new code is wirelessly transmitted utilizing
at least one wireless format selected from the group consisting of
IS-95B, CDMA 2000 1X, CDMA 1X EV, CDMA ONE, Wideband CDMA, GSM,
GPRS and EDGE. In one embodiment, once the new code is wirelessly
transmitted it is stored in the peripheral device. In another
embodiment, once the new code is wirelessly transmitted the new
code is then stored at least once to DRAM 90 in wireless module
200. Step 220 then progresses to a step 230 which illustrates that
an error check (not shown) on the new code takes place. If step 230
determines that no errors are found in the new code, then the
method for updating code further includes verifying that the new
code is an error free new code (not shown) and progresses to step
240 where storing the error free new code takes place. In one
embodiment, the error free new code is stored in the peripheral
device. In another embodiment, the error free new code is stored to
NAND FLASH 80 in wireless module 200. In a further embodiment,
incidental information (shown in FIG. 3) is also stored to NAND
FLASH 80. If step 230 determines that errors were found in the new
code, then the method for updating code fails in step 250 and a
recovery action (not shown) is begun until the method for updating
code is successfully executed. In one embodiment, the recovery
action includes operating the peripheral device with the fail-safe
code. In another embodiment, the recovery action includes operating
wireless module 200 with the fail-safe code. In a further
embodiment, the recovery action includes re-initiating step 220 and
starting the code update process.
[0018] Flow diagram 210 illustrates the conclusion to one
embodiment of the method for updating code by marking a primary
code (not shown) in a step 260. In one embodiment, the fail-safe
code is marked as the primary code and stored in NAND FLASH 80. In
another embodiment, the error free new code is marked as the
primary code and stored in NAND FLASH 80 and the fail-safe code is
un-marked as the primary code and also stored in NAND FLASH 80. In
a further embodiment, allowing selection of the primary code is
provided such that even after the code update process, if a user
detects some fatal operation errors when using the peripheral
device or wireless module 200, the user can manually switch the
primary code to the fail-safe code or any other code version stored
in NAND FLASH 80 until an improved code is available. The allowing
selection of the primary code also allows a manufacturer or an
provider to automatically switch the primary code to the fail-safe
code or any other code version as well, through wireless
communication with wireless module 200 and/or the peripheral device
without the awareness or any operation of the user.
[0019] FIG. 3 depicts a table 300 and one embodiment of incidental
information 310 provided when updating code utilizing wireless
module 200 (shown in FIG. 1). As shown, in one embodiment,
incidental information 310 includes a version number 320, a stored
address 330, a release date for updated code (not shown) 340, as
well as some notation as to primary code mark 350. A system (not
shown) for updating code includes wireless module 200 which is
configured to store the fail-safe code and the peripheral device
which is in electronic data communication with wireless module 200.
Wireless module 200 is further configured to receive and transmit
the updated code. The system for updating code further includes a
base station (not shown) in electronic data communication with
wireless module 200. The base station is configured to transmit the
updated code. In one embodiment, the system for updating code which
includes wireless module 200 also includes NAND FLASH 80 configured
to store the fail-safe code. In one embodiment, wireless module 200
further includes DRAM 90 in data communication with NAND FLASH 80,
where DRAM 90 is configured to store at least once the updated
code.
[0020] In one embodiment, NAND FLASH 80 is further configured to
receive and store the primary code, and DRAM 90 is further
configured to receive and load the primary code. In one embodiment,
the primary code is the fail-safe code, and in another embodiment
the primary code is the updated code. In a further embodiment,
wireless module 200 further includes NAND FLASH 80 which is
configured to allow for selection of the primary code. As shown in
FIG. 3, a version 1.10 (360) is marked as the primary code.
Incidental information 310 includes stored address 330 and release
date 340 of version 1.10 (360). Incidental information 310 may be
utilized by the user, the manufacturer, and/or the provider of the
updated code and/or wireless module 200 for the reason
aforementioned.
[0021] FIG. 4 depicts a flow diagram 400 of one embodiment of a
power-up procedure 410 utilizing wireless module 200 (shown in FIG.
1). As shown, in one embodiment, power-up procedure 340 includes a
power-up stage 420 of wireless module 200 and/or the peripheral
device. In one embodiment, once power-up stage 420 is completed,
power-up procedure 410 progresses to a loading stage 430 where
loading the primary code to DRAM 90 in wireless module 200 is
accomplished. Once the primary code is loaded, in one embodiment,
power-up procedure 410 progresses to an execution stage 440 where
executing the primary code for operation of wireless module 200
and/or the peripheral device is further accomplished. In one
embodiment, once power-up procedure 410 is performed wireless
module 200 and/or the peripheral device will function properly
and/or allow the user, manufacturer, and/or provider to switch the
primary code and re-initiating step 420 and restart power-up
procedure 410. In a further embodiment, the restarting of power-up
procedure 410 may be performed as many times as possible depending
upon the desire of the user, manufacturer, and/or service provider
with a different primary code for operation of wireless module 200
and/or the peripheral device.
[0022] Thus it is apparent that in accordance with the present
invention, an apparatus that fully satisfies the objectives, aims
and advantages is set forth above. While the invention has been
described in conjunction with specific embodiments, it is evident
that many alternatives, modifications, permutations and variations
will become apparent to those skilled in the art in light of the
foregoing description. Accordingly, it is intended that the present
invention embrace all such alternatives, modifications and
variations as fall within the scope of the appended claims.
* * * * *