IP Library Granted Patent US 7,100,011
Granted Patent B2
US 7,100,011 · App. 10/376,381 · Granted Aug 29, 2006

Method and system for reducing storage requirements for program code in a communication device

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,100,011
App. No.
10/376,381
Granted
Aug 29, 2006
Kind
B2
Abstract

A software routine that writes downloaded updated operating system software over existing application code to flash memory of a cable modem in an inverted arrangement. If the download process is interrupted before the update can be verified, a pointer still points to the existing code to facilitate update-interruption recovery. After verifying a successful update, a new pointer is generated that points to the updated operating system. Then, updated application code can be downloaded and stored in the flash memory over the old operating system code. Thus, each time an update is performed, the location of the operating system within the flash memory with respect to the location of the application code is inverted. This allows the size of flash memory to be reduced, as only one copy of the operating system and application code must be stored, while retaining capability to recovery from an incomplete download.

Claims (20)

1. A method for updating the software load of a network communication device with updated software code received from a head end and stored into RAM memory of the communication device comprising:

determining whether sufficient storage capacity exists within a flash memory device for storing updated essential code thereto while maintaining existing essential code therein, the flash memory device having stored therein one copy of the existing essential code and one copy of existing non-essential code;

writing the updated essential code from the RAM device to the flash device such that the existing essential code is not overwritten by the updated essential code;

verifying that the updated essential code has been written to the flash memory device without error;

writing updated non-essential application code to the flash memory device beginning at an address where the previously existing essential code begins; and

wherein the flash device has enough capacity to store one copy of essential code and one copy of non-essential code, but not enough capacity to store two copies of essential code and two copies of non-essential code.

2. The method of claim 1 wherein the nonessential application code includes code for operating a telephony device.

3. The method of claim 2 wherein the nonessential application code includes PacketCable code.

4. The method of claim 1 wherein a pointer D 1 and a pointer A 1 , which are stored in a first NVM pointer sector and a second NVM pointer sector, each NVM pointer sector a duplicate of the other, point in the flash memory device to the addresses of the existing essential code and the existing non-essential code, respectively, further comprising:

storing a pointer D 2 , which points in the flash memory device to the beginning address of the updated essential code, to the first NVM pointer sector after said updated essential code has been written to the flash memory device;

storing a pointer A 2 , which points in the flash memory device to the beginning address of the updated non-essential code, to the first NVM pointer sector after said updated non-essential code has been written to the flash memory device; and

copying the pointers from the first NVM pointer sector to the second NVM pointer sector.

5. The method of claim 4 further comprising:

erasing the existing non-essential code portion before writing the updated essential code there over;

erasing D 1 and A 1 from the first NVM pointer sector before storing D 2 and A 2 thereto; and

erasing the existing essential code after verifying that the updated essential code was written without error, but before writing the updated non-essential code.

6. The method of claim 1 further including using a runtime check algorithm to limit the number of times the operating system essential code attempts to call the non-essential code.

7. The method of claim 1 further comprising the step of booting the communication device from the existing essential code following a loss of power to the communication device that occurred during the process of updating the software load, but before the step of verifying that the updated essential code has been written to the flash memory device without error has been performed.

8. The method of claim 7 wherein upon reboot, the communication device requests of the head end that the updated software code be re-sent and stored to RAM, after which the steps of claim 1 are performed.

9. The method of claim 1 further comprising verifying that the updated non-essential code has been written to the flash memory device without error.

Assignments (11)
RELEASE OF SECURITY INTEREST AT REEL/FRAME 049905/0504 Recorded Dec 19, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: ARRIS ENTERPRISES LLC (F/K/A ARRIS ENTERPRISES, INC.); ARRIS TECHNOLOGY, INC.; ARRIS SOLUTIONS, INC.; COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; RUCKUS WIRELESS, LLC (F/K/A RUCKUS WIRELESS, INC.)
Reel/Frame 071477/0255 →
SECURITY INTEREST Recorded Nov 19, 2021
From: ARRIS SOLUTIONS, INC.; ARRIS ENTERPRISES LLC; COMMSCOPE TECHNOLOGIES LLC; COMMSCOPE, INC. OF NORTH CAROLINA; RUCKUS WIRELESS, INC.
To: WILMINGTON TRUST
Reel/Frame 060752/0001 →
ABL SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049892/0396 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 3, 2019
From: COMMSCOPE, INC. OF NORTH CAROLINA; COMMSCOPE TECHNOLOGIES LLC; ARRIS ENTERPRISES LLC; ARRIS TECHNOLOGY, INC.; RUCKUS WIRELESS, INC.; ARRIS SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 049905/0504 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2019
From: ARRIS ENTERPRISES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 049820/0495 →
CHANGE OF NAME Recorded Jun 25, 2019
From: ARRIS ENTERPRISES, INC.
To: ARRIS ENTERPRISES LLC
Reel/Frame 049586/0470 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 8, 2019
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS, INC.; BIG BAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
Reel/Frame 048825/0294 →
CHANGE OF NAME Recorded Mar 14, 2017
From: ARRIS ENTERPRISES INC
To: ARRIS ENTERPRISES LLC
Reel/Frame 041995/0031 →
SECURITY AGREEMENT Recorded May 28, 2013
From: ARRIS GROUP, INC.; ARRIS ENTERPRISES, INC.; ARRIS SOLUTIONS, INC.; ARRIS KOREA, INC.; ARRIS HOLDINGS CORP. OF ILLINOIS; BIGBAND NETWORKS, INC.; TEXSCAN CORPORATION; POWER GUARD, INC.; 4HOME, INC.; ACADIA AIC, INC.; AEROCAST, INC.; BROADBUS TECHNOLOGIES, INC.; GENERAL INSTRUMENT CORPORATION; GENERAL INSTRUMENT AUTHORIZATION SERVICES, INC.; GENERAL INSTRUMENT INTERNATIONAL HOLDINGS, INC.; IMEDIA CORPORATION; JERROLD DC RADIO, INC.; LEAPSTONE SYSTEMS, INC.; MODULUS VIDEO, INC.; MOTOROLA WIRELINE NETWORKS, INC.; NETOPIA, INC.; NEXTLEVEL SYSTEMS (PUERTO RICO), INC.; QUANTUM BRIDGE COMMUNICATIONS, INC.; SETJAM, INC.; SUNUP DESIGN SYSTEMS, INC.; UCENTRIC SYSTEMS, INC.; GIC INTERNATIONAL HOLDCO LLC; GIC INTERNATIONAL CAPITAL LLC; CCE SOFTWARE LLC; THE GI REALTY TRUST 1996
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030498/0023 →
MERGER Recorded Apr 16, 2013
From: ARRIS GROUP, INC.
To: ARRIS ENTERPRISES, INC.
Reel/Frame 030223/0244 →
MERGER Recorded Oct 29, 2012
From: ARRIS INTERNATIONAL, INC.
To: ARRIS GROUP, INC.
Reel/Frame 029206/0400 →