IP Library Granted Patent US 7,376,943
Granted Patent B2
US 7,376,943 · App. 10/771,588 · Granted May 20, 2008

Safe method for upgrading firmware of optical disk product

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,376,943
App. No.
10/771,588
Granted
May 20, 2008
Kind
B2
Abstract

The present invention provides a safe method for upgrading firmware code for optical disk products without corrupting firmware even if an abnormality occurs during a upgrading a firmware process. A nonvolatile memory device of the present invention may store a boot system image and an application ware image separately. End users may update the application ware image by executing an upgraded application program. However the boot system image stored in the nonvolatile memory device may not be modified at any event and it may be used to restore the optical disk product from a system failure caused by a corrupted firmware.

Claims (42)

1. A method for upgrading code of an appliance comprising:

storing a boot system program in a first portion of a nonvolatile memory device;

storing an application program in a second portion of said nonvolatile memory device, said boot system program being operable when executed to restore said appliance and said application program being operable when executed to operate said appliance;

receiving signals from an interface circuit;

performing input/output decoding on said signals received by said interface circuit;

loading an upgraded application program from a source external of said appliance to a volatile memory device upon a reception of a rewriting command; and

writing the contents of said upgraded application program to said second portion of said nonvolatile memory device in accordance with said upgraded application program.

2. The method for upgrading code of an appliance of claim 1 , further comprising, determining said signals received by said interface circuit whether said rewriting command has been received.

3. The method for upgrading code of an appliance of claim 1 wherein said appliance is a DVD product.

4. The method for upgrading code of an appliance of claim 1 , wherein said interface circuit is an ATAPI interface circuit.

5. A method for upgrading code of an appliance comprising:

storing a first program in a first portion of a nonvolatile memory device;

storing a second program in a second portion of said nonvolatile memory device, said first program being operable when executed to restore said appliance and said second program being operable when executed to operate said appliance;

receiving signals from an interface circuit;

performing input/output decoding on said signals received by said interface circuit;

loading said first program stored in said first portion of said nonvolatile memory device to a volatile memory device upon reception of a restoring command;

executing said first program loaded in said volatile memory device; and

loading a valid second program into said volatile memory device;

wherein said valid second program is provided from a source external of said appliance.

6. The method for upgrading code of an appliance of claim 5 , further comprising, determining said signals received by said interface circuit whether said restoring command has been received.

7. The method for upgrading code of an appliance of claim 6 , wherein said first program comprises an interface circuit driver and a file system code.

8. The method for upgrading code of an appliance of claim 7 , further comprising,

initializing said interface circuit by executing said interface circuit driver; and

executing said file system code.

9. The method for upgrading code of an appliance of claim 8 , further comprising,

loading an upgraded second program from a source external of said appliance to said volatile memory device upon reception of rewriting command;

erasing said second program stored in said second portion of said nonvolatile memory device;

writing the contents of said upgraded second program to said second portion of said nonvolatile memory device in accordance with said upgraded second program after erasing said second program stored in said second portion.

10. The method for upgrading code of an appliance of claim 5 , wherein said appliance is a DVD product.

11. The method for upgrading code of an appliance of claim 5 , wherein said interface circuit is an ATAPI interface circuit.

12. A method for upgrading code of an appliance comprising,

storing a first program in a first portion of a nonvolatile memory device;

storing a second program in a second portion of said nonvolatile memory device, said first program being operable when executed to restore the appliance and said second program being operable when executed to operate the appliance;

receiving signals from a ATAPI circuit;

performing input/output decoding on said signals received by said ATAPI circuit to determine whether a rewriting command has been received or a restoring command has been received;

in the event of reception of said rewriting command, loading an upgraded second program to a volatile memory device, erasing said second program stored in said second portion of said nonvolatile memory device and writing the contents of said upgraded second program to said second portion of said nonvolatile memory device in accordance with said upgraded second program; and

in the event of reception of said restoring command, loading said first program stored in said first portion of said nonvolatile memory device to a volatile memory device upon a restoring application operation received, initializing interface circuit, executing file system, reading a valid second program through said ATAPI circuit, loading said valid second program into said volatile memory device;

wherein said valid second program is provided from an optical disk.

13. The method for upgrading code of an appliance of claim 12 , further comprising,

checking a validity of said second program provided from said source external of said appliance; and

when an invalid second program is provided, waiting for said valid second program.

14. The method for upgrading code of an appliance of claim 12 , wherein said nonvolatile memory device is a Flash memory device.

Assignments (11)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERROR IN RECORDING THE MERGER PREVIOUSLY RECORDED AT REEL: 047357 FRAME: 0302. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048674/0834 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER PREVIOUSLY RECORDED ON REEL 047195 FRAME 0658. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047357/0302 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047195/0658 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035058/0248 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
CHANGE OF NAME Recorded Apr 15, 2008
From: LSI LOGIC CORPORATION
To: LSI CORPORATION
Reel/Frame 020809/0057 →
MERGER Recorded Feb 19, 2008
From: LSI SUBSIDIARY CORP.
To: LSI CORPORATION
Reel/Frame 020548/0977 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2004
From: LU, KARL
To: LSI LOGIC CORPORATION
Reel/Frame 014965/0023 →