IP Library Granted Patent US 8,291,165
Granted Patent B2
US 8,291,165 · App. 12/723,589 · Granted Oct 16, 2012

Electronic devices using removable and programmable active processing modules

Assignee: Spansion LLC
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,291,165
App. No.
12/723,589
Granted
Oct 16, 2012
Kind
B2
Abstract

System and methods for assembling electronic devices ( 110 ) using removable programmable active processing modules ( 120 ) are provided. An active processing module includes a first input/output (I/O) interface ( 202 ) and a second I/O interface ( 204 ). The active processing module also includes a controller ( 206 ) communicatively coupled to the first and the second I/O interfaces, where the controller is configured for selectively operating the active processing module in a programming mode or at least one component mode. In the programming mode, the active processing module is enabled to receive a plurality of operating parameters from a first electronic device via the first I/O interface to configure the active processing module to provide a functionality of a component for a second electronic device via at least one of the first and the second I/O interfaces. In the component mode, the active processing module is configured to operate according to the plurality of operating parameters.

Claims (25)

1. A method of assembling an electronic system using at least one active processing module having a first input/output (I/O) interface and a second I/O interface, comprising: communicatively coupling said active processing module and a first electronic device using said first I/O interface; programming a plurality of operating parameters for said active processing module using said first electronic device to configure said active processing module to provide a functionality of a component in a second electronic device; communicatively coupling said active processing module and said second electronic device using at least one of said first and said second I/O interfaces; and performing operations of said second electronic device requiring said component using said active processing module, wherein said programming further comprises configuring said active processing module to operate as an electronic component selected from the group consisting of a central processing unit, a graphics processing unit, a signal processing unit, a memory controller, a memory module, and an electronic device bridging unit.

2. The method of claim 1 , further comprising:

evaluating a performance of said active processing module during said operations; and

if said performance meets a performance criteria, designing said component for said second electronic device based on said programming, else repeating said interfacing, programming, interfacing, performing, evaluating steps using a new value for at least one of said plurality of operating parameters.

3. The method according to claim 1 , wherein said programming further comprises setting a value for at least one of a plurality of operating parameters of said electronic device using parameter setting software stored on said active processing module.

4. The method of claim 1 , wherein said coupling said active processing module and said first electronic device further comprises executing application development software on said first electronic device.

5. The method of claim 1 , wherein said coupling said active processing module and said first electronic device further comprises:

providing a set of configuration commands at said first I/O interface associated with a mass storage device I/O protocol; and

automatically configuring said active processing module to operate as a mass storage device for said first electronic device responsive to said set of configuration commands.

6. The method of claim 1 , wherein said coupling said active processing module and said second electronic device further comprises:

waiting for a first period of time for a set of configuration commands at said first I/O interface associated with a mass storage device I/O protocol; and

if said set of configurations commands appear during said first period of time, automatically configuring said active processing module to operate as a mass storage device for said second electronic device, else automatically configuring said active processing module to operate as said component for said second electronic device.

7. A programmable active processing module, comprising:

a first input/output (I/O) interface; a second I/O interface; a controller communicatively coupled to said first and said second I/O interfaces, said controller configured for selectively operating said active processing module in a programming mode or at least one component mode, said programming mode comprising enabling said active processing module to receive a plurality of operating parameters from a first electronic device via said first I/O interface to configure said active processing module to provide a functionality of a component for a second electronic device via at least one of said first and said second I/O interfaces, and said component mode comprising configuring said active processing module to operate according to said plurality of operating parameters, wherein said controller is further configured during said component mode for configuring said active processing module to operate as an electronic component selected from the group consisting of a central processing unit, a graphics processing unit, a signal processing unit, a memory controller, a memory module, and an electronic device bridging unit.

8. The active processing module of claim 7 , wherein said controller further comprises at least one central processing unit, at least one memory element, and at least one field-programmable gate array (FPGA) element.

9. The active processing module of claim 7 , wherein said controller is further configured during said programming mode for setting a value for at least one of said plurality of operating parameters using parameter setting software stored on said active processing module.

10. The active processing module of claim 7 , wherein said controller is further configured during said programming mode for setting a value for at least one of said plurality of operating parameters using application development software executed on said first electronic device.

11. The active processing module of claim 7 , wherein controller is configured for selecting said programming mode responsive to detecting a set of configuration commands at said first I/O interface associated with a mass storage device I/O protocol.

12. The active processing module of claim 7 , wherein controller is configured for automatically configuring said active processing module to operate as a mass storage device for said first electronic device during said programming mode.

13. The active processing module of claim 7 , wherein controller is configured for selecting said programming mode responsive to waiting a first period of time for a set of configuration commands at said first I/O interface associated with a mass storage device I/O protocol, and if said set of configurations commands appear during said first period of time, automatically configuring said active processing module to operate as a mass storage device for said second electronic device, else automatically configuring said active processing module to operate as said component for said second electronic device.

14. An electronic system comprising:

at least one external input/output (I/O) component; at least one removable active processing module having a first I/O interface and a second I/O interface, said active processing module configured for selectively operating in a mass storage mode and at least one processing mode, said programming mode comprising enabling said active processing module to receive a plurality of operating parameters from a programming device via said first I/O interface to configure said active processing module to provide a functionality of an internal component for said electronic system via at least one of said first and said second I/O interfaces, and said component mode comprising configuring said active processing module to operate according to said plurality of operating parameters; and at least one interface component for communicatively coupling said external I/O component and said active processing module, wherein said active processing module is configured during said processing mode to operate as an electronic component selected from the group consisting of a central processing unit, a graphics processing unit, a signal processing unit, a memory controller, a memory module, and an electronic device bridging unit.

15. The programmable active processing module of claim 7 , wherein said controller further comprises at least one central processing unit, at least one memory element, and at least one field-programmable gate array (FPGA) element.

16. The active processing module of claim 7 , wherein active processing module is configured to monitor said first I/O interface for a first period of time at power-up and select one of said mass storage and said processing modes, wherein said active processing module is configured to select said mass storage mode if a set of configuration commands associated with a mass storage device I/O protocol are received said first I/O interface during said first period, else said active processing module is configured to select said processing mode.

17. The active processing module of claim 7 , wherein said active processing element is further configured to store application development software executable by an external computing device interfacing with said active processing element via said first I/O interface for setting a value for at least one of said plurality of operating parameters using parameter setting software stored on said active processing module.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2025
From: MONTEREY RESEARCH LLC
To: SOUTHFORK IP HOLDINGS LLC
Reel/Frame 071299/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2016
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MONTEREY RESEARCH, LLC
Reel/Frame 040911/0238 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 11, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 039708/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2015
From: SPANSION, LLC
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 036051/0256 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Dec 30, 2014
From: BARCLAYS BANK PLC
To: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY INC.; SPANSION TECHNOLOGY LLC
Reel/Frame 034715/0305 →
SECURITY AGREEMENT Recorded Aug 23, 2012
From: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY INC.; SPANSION TECHNOLOGY LLC
To: BARCLAYS BANK PLC
Reel/Frame 028837/0076 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2012
From: TOM, JOE
To: SPANSION LLC
Reel/Frame 027568/0763 →
Continuity (1)
Related Publication 20110225348A1 · Sep 15, 2011