MEMORY SCRAMBLER UNIT (MSU)

Information

  • Patent Application
  • 20080152142
  • Publication Number
    20080152142
  • Date Filed
    December 18, 2007
    16 years ago
  • Date Published
    June 26, 2008
    16 years ago
Abstract
A memory scrambler unit (MSU) is provided wherein the MSU may be within a single chip wireless transceiver operable to perform voice, data and radio frequency (RF) processing. This processing may be divided between various processing modules that access memory. This MSU may be part of a memory interface operable to provide a multi-layered scrambling approach to protect against attack scenarios on volatile memories, SRAM, and SDRAM. The MSU can be programmed to scramble configurable address regions without crossing the page, blank, or row/column boundaries, which would incur performance penalties. As an additional security measure, data may also be scrambled.
Description
TECHNICAL FIELD OF THE INVENTION

The present invention relates generally to wireless communication systems and more particularly to integrated circuits of transceivers operating within such systems.


BACKGROUND OF THE INVENTION

Communication systems are known to support wireless and wire lined communications between wireless and/or wire lined communication devices. Such communication systems range from national and/or international cellular telephone systems to the Internet to point-to-point in-home wireless networks. Each type of communication system is constructed, and hence operates, in accordance with one or more communication standards. For instance, wireless communication systems may operate in accordance with one or more standards including, but not limited to, IEEE 802.11, Bluetooth, advanced mobile phone services (AMPS), digital AMPS, global system for mobile communications (GSM), code division multiple access (CDMA), local multi-point distribution systems (LMDS), multi-channel-multi-point distribution systems (MMDS), radio frequency identification (RFID), Enhanced Data rates for GSM Evolution (EDGE), General Packet Radio Service (GPRS), and/or variations thereof.


Depending on the type of wireless communication system, a wireless communication device, such as a cellular telephone, two-way radio, personal digital assistant (PDA), personal computer (PC), laptop computer, home entertainment equipment, RFID reader, RFID tag, et cetera communicates directly or indirectly with other wireless communication devices. For direct communications (also known as point-to-point communications), the participating wireless communication devices tune their receivers and transmitters to the same channel or channels (e.g., one of the plurality of radio frequency (RF) carriers of the wireless communication system or a particular RF frequency for some systems) and communicate over that channel(s). For indirect wireless communications, each wireless communication device communicates directly with an associated base station (e.g., for cellular services) and/or an associated access point (e.g., for an in-home or in-building wireless network) via an assigned channel. To complete a communication connection between the wireless communication devices, the associated base stations and/or associated access points communicate with each other directly, via a system controller, via the public switch telephone network, via the Internet, and/or via some other wide area network.


For each wireless communication device to participate in wireless communications, the wireless communication device includes a built-in radio transceiver (i.e., receiver and transmitter) or is coupled to an associated radio transceiver (e.g., a station for in-home and/or in-building wireless communication networks, RF modem, etc.). As is known, the receiver is coupled to an antenna and includes a low noise amplifier, one or more intermediate frequency stages, a filtering stage, and a data recovery stage. The low noise amplifier receives inbound RF signals via the antenna and amplifies then. The one or more intermediate frequency stages mix the amplified RF signals with one or more local oscillations to convert the amplified RF signal into baseband signals or intermediate frequency (IF) signals. The filtering stage filters the baseband signals or the IF signals to attenuate unwanted out of band signals to produce filtered signals. The data recovery stage recovers raw data from the filtered signals in accordance with the particular wireless communication standard. These networks also allow for the increased potential that data in memory of these devices be wrongly accessed.


As is also known, the transmitter includes a data modulation stage, one or more intermediate frequency stages, and a power amplifier. The data modulation stage converts raw data into baseband signals in accordance with a particular wireless communication standard. The one or more intermediate frequency stages mix the baseband signals with one or more local oscillations to produce RF signals. The power amplifier amplifies the RF signals prior to transmission via an antenna.


While transmitters generally include a data modulation stage, one or more IF stages, and a power amplifier, the particular implementation of these elements is dependent upon the data modulation scheme of the standard being supported by the transceiver. For example, if the baseband modulation scheme is Gaussian Minimum Shift Keying (GMSK), the data modulation stage functions to convert digital words into quadrature modulation symbols, which have a constant amplitude and varying phases. The IF stage includes a phase locked loop (PLL) that generates an oscillation at a desired RF frequency, which is modulated based on the varying phases produced by the data modulation stage. The phase modulated RF signal is then amplified by the power amplifier in accordance with a transmit power level setting to produce a phase modulated RF signal.


As the desire for wireless communication devices that integrate more functions increases, the potential for data in memory of these devices to be wrongfully accessed increases. Therefore, a need exists for an integrated circuit (IC) that implements secure or protected memory functions within the IC and its related devices.


SUMMARY OF THE INVENTION

Embodiments of the present invention are directed to systems and methods that are further described in the following description and claims. Advantages and features of embodiments of the present invention may become apparent from the description, accompanying drawings and claims.





BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following description taken in conjunction with the accompanying drawings in which like reference numerals indicate like features and wherein:



FIG. 1 is a schematic block diagram of a wireless communication environment in accordance with the present invention;



FIG. 2 is a schematic block diagram of another wireless communication environment in accordance with the present invention;



FIG. 3 is a schematic block diagram of an embodiment of a communication device in accordance with the present invention;



FIG. 4 is a schematic block diagram of another embodiment of a communication device in accordance with the present invention;



FIG. 5 is a schematic block diagram of another embodiment of a communication device in accordance with the present invention;



FIG. 6 is a schematic block diagram of another embodiment of a Voice Data RF IC in accordance with the present invention;



FIG. 7 is a schematic block diagram of another embodiment of a Voice Data RF IC in accordance with the present invention;



FIG. 8 is a schematic block diagram of another embodiment of a Voice Data RF IC in accordance with the present invention;



FIG. 9 is a schematic block diagram of another embodiment of a Voice Data RF IC in accordance with the present invention;



FIG. 10 provides a MSU, which may be employed by embodiment to the present invention;



FIG. 11 depicts the data flow to and from the MSU of FIG. 10 in accordance with embodiments of the present invention;



FIG. 12 shows that address information 1202 may be used to produce a scrambled address in accordance with embodiments of the present invention;



FIG. 13 provides a diagram illustrating input data scrambling in accordance with embodiments of the present invention;



FIG. 14 provides a diagram illustrating the output data descrambling process in accordance with embodiments of the present invention; and



FIG. 15 provides a logic flow diagram that describes an overview of the typical steps required for MSU Configuration in accordance with embodiments of the present invention.





DETAILED DESCRIPTION OF THE INVENTION

Preferred embodiments of the present invention are illustrated in the FIGs., like numerals being used to refer to like and corresponding parts of the various drawings.


Embodiments of the present invention provide a memory scrambler unit (MSU) wherein the MSU may be within a single chip or multi-chip wireless transceiver operable to perform voice, data and radio frequency (RF) processing. This MSU may be part of a memory interface operable to provide a multi-layered scrambling approach to protect against attack scenarios on volatile memories, SRAM, and SDRAM. The MSU can be programmed to scramble configurable address regions without crossing the page, blank, or row/column boundaries, which would incur performance penalties. As an additional security measure, data may also be scrambled.


The embodiments of the present invention may be practiced in a variety of settings that utilize a wireless communication receiver or other applications where a processor accesses local or remote volatile memory. The specific embodiments described below pertain to 3rd Generation Partnership Project (3GPP) telecommunication technology. However, the invention need not be limited to such applications and other embodiments of the invention may be implemented in other communications protocols and standards. Furthermore, the invention is not limited for use with WCDMA only and may be used in many other wired and wireless technologies as well.



FIG. 1 is a schematic block diagram of a wireless communication environment that includes a communication device 10 communicating with one or more of a wireline non-real-time device 12, a wireline real-time device 14, a wireline non-real-time and/or real-time device 16, a base station 18, a wireless non-real-time device 20, a wireless real-time device 22, and a wireless non-real-time and/or real-time device 24. The communication device 10, which may be a personal computer, laptop computer, personal entertainment device, cellular telephone, personal digital assistant, a game console, a game controller, and/or any other type of device that communicates real-time and/or non-real-time signals, may be coupled to one or more of the wireline non-real-time device 12, the wireline real-time device 14, and the wireline non-real-time and/or real-time device 16 via a wireless connection 28. The wireless connection 28 may be an Ethernet connection, a universal serial bus (USB) connection, a parallel connection (e.g., RS232), a serial connection, a fire-wire connection, a digital subscriber loop (DSL) connection, and/or any other type of connection for conveying data.


The communication device 10 communicates RF non-real-time data 25 and/or RF real-time data 26 with one or more of the base station 18, the wireless non-real-time device 20, the wireless real-time device 22, and the wireless non-real-time and/or real-time device 24 via one or more channels in a frequency band (fbA) that is designated for wireless communications. For example, the frequency band may be 900 MHz, 1800 MHz, 1900 MHz, 2100 MHz, 2.4 GHz, 5 GHz, any ISM (industrial, scientific, and medical) frequency bands, and/or any other unlicensed frequency band in the United States and/or other countries. As a particular example, wideband code division multiple access (WCDMA) utilizes an uplink frequency band of 1920-1980 MHz and a downlink frequency band of 2110-2170 MHz. As another particular example, EDGE, GSM and GPRS utilize an uplink transmission frequency band of 890-915 MHz and a downlink transmission band of 935-960 MHz. As yet another particular example, IEEE 802.11 (g) utilizes a frequency band of 2.4 GHz frequency band.


The wireless real-time device 22 and the wireline real-time device 14 communicate real-time data that, if interrupted, would result in a noticeable adverse affect. For example, real-time data may include, but is not limited to, voice data, audio data, and/or streaming video data. Note that each of the real-time devices 14 and 22 may be a personal computer, laptop computer, personal digital assistant, a cellular telephone, a cable set-top box, a satellite set-top box, a game console, a wireless local area network (WLAN) transceiver, a Bluetooth transceiver, a frequency modulation (FM) tuner, a broadcast television tuner, a digital camcorder, and/or any other device that has a wireline and/or wireless interface for conveying real-time data with another device.


The wireless non-real-time device 20 and the wireline non-real-time device 12 communicate non-real-time data that, if interrupted, would not generally result in a noticeable adverse affect. For example, non-real-time data may include, but is not limited to, text messages, still video images, graphics, control data, emails, and/or web browsing. Note that each of the non-real-time devices 14 and 22 may be a personal computer, laptop computer, personal digital assistant, a cellular telephone, a cable set-top box, a satellite set-top box, a game console, a global positioning satellite (GPS) receiver, a wireless local area network (WLAN) transceiver, a Bluetooth transceiver, a frequency modulation (FM) tuner, a broadcast television tuner, a digital camcorder, and/or any other device that has a wireline and/or wireless interface for conveying real-time data with another device.


Depending on the real-time and non-real-time devices coupled to the communication unit 10, the communication unit 10 may participate in cellular voice communications, cellular data communications, video capture, video playback, audio capture, audio playback, image capture, image playback, voice over internet protocol (i.e., voice over IP), sending and/or receiving emails, web browsing, playing video games locally, playing video games via the internet, word processing generation and/or editing, spreadsheet generation and/or editing, database generation and/or editing, one-to-many communications, viewing broadcast television, receiving broadcast radio, cable broadcasts, and/or satellite broadcasts.



FIG. 2 is a schematic block diagram of another wireless communication environment that includes a communication device 30 communicating with one or more of the wireline non-real-time device 12, the wireline real-time device 14, the wireline non-real-time and/or real-time device 16, a wireless data device 32, a data base station 34, a voice base station 36, and a wireless voice device 38. The communication device 30, which may be a personal computer, laptop computer, personal entertainment device, cellular telephone, personal digital assistant, a game console, a game controller, and/or any other type of device that communicates data and/or voice signals, may be coupled to one or more of the wireline non-real-time device 12, the wireline real-time device 14, and the wireline non-real-time and/or real-time device 16 via the wireless connection 28.


The communication device 30 communicates RF data 40 with the data device 32 and/or the data base station 34 via one or more channels in a first frequency band (fb1) that is designated for wireless communications. For example, the first frequency band may be 900 MHz, 1800 MHz, 1900 MHz, 2100 MHz, 2.4 GHz, 5 GHz, any ISM (industrial, scientific, and medical) frequency bands, and/or any other unlicensed frequency band in the United States and/or other countries.


The communication device 30 communicates RF voice 42 with the voice device 38 and/or the voice base station 36 via one or more channels in a second frequency band (fb2) that is designated for wireless communications. For example, the second frequency band may be 900 MHz, 1800 MHz, 1900 MHz, 2100 MHz, 2.4 GHz, 5 GHz, any ISM (industrial, scientific, and medical) frequency bands, and/or any other unlicensed frequency band in the United States and/or other countries. In a particular example, the first frequency band may be 900 MHz for EDGE data transmissions while the second frequency band may the 1900 MHz and 2100 MHz for WCDMA voice transmissions.


The voice device 38 and the voice base station 36 communicate voice signals that, if interrupted, would result in a noticeable adverse affect (e.g., a disruption in a communication). For example, the voice signals may include, but is not limited to, digitized voice signals, digitized audio data, and/or streaming video data. Note that the voice device 38 may be a personal computer, laptop computer, personal digital assistant, a cellular telephone, a game console, a wireless local area network (WLAN) transceiver, a Bluetooth transceiver, a frequency modulation (FM) tuner, a broadcast television tuner, a digital camcorder, and/or any other device that has a wireless interface for conveying voice signals with another device.


The data device 34 and the data base station 34 communicate data that, if interrupted, would not generally result in a noticeable adverse affect. For example, the data may include, but is not limited to, text messages, still video images, graphics, control data, emails, and/or web browsing. Note that the data device 32 may be a personal computer, laptop computer, personal digital assistant, a cellular telephone, a cable set-top box, a satellite set-top box, a game console, a global positioning satellite (GPS) receiver, a wireless local area network (WLAN) transceiver, a Bluetooth transceiver, a frequency modulation (FM) tuner, a broadcast television tuner, a digital camcorder, and/or any other device that has a wireless interface for conveying data with another device.


Depending on the devices coupled to the communication unit 30, the communication unit 30 may participate in cellular voice communications, cellular data communications, video capture, video playback, audio capture, audio playback, image capture, image playback, voice over internet protocol (i.e., voice over IP), sending and/or receiving emails, web browsing, playing video games locally, playing video games via the internet, word processing generation and/or editing, spreadsheet generation and/or editing, database generation and/or editing, one-to-many communications, viewing broadcast television, receiving broadcast radio, cable broadcasts, and/or satellite broadcasts.



FIG. 3 is a schematic block diagram of an embodiment of a communication device 10 that includes a Voice Data RF (radio frequency) IC (integrated circuit) 50 having ARM 51 and DSP 53, an antenna interface 52, memory 54, a display 56, a keypad and/or key board 58, at least one microphone 60, at least one speaker 62, and a wireline port 64. The memory 54 may be NAND flash, NOR flash, SDRAM, and/or SRAM for storing data and/or instructions to facilitate communications of real-time and non-real-time data via the wireline port 64 and/or via the antenna interface 52. In addition, or in the alternative, the memory 54 may store video files, audio files, and/or image files for subsequent wireline or wireless transmission, for subsequent display, for file transfer, and/or for subsequent editing. Accordingly, when the communication device supports storing, displaying, transferring, and/or editing of audio, video, and/or image files, the memory 54 would further store algorithms to support such storing, displaying, and/or editing. For example, the may include, but is not limited to, file transfer algorithm, video compression algorithm, video decompression algorithm, audio compression algorithm, audio decompression algorithm, image compression algorithm, and/or image decompression algorithm, such as MPEG (motion picture expert group) encoding, MPEG decoding, JPEG (joint picture expert group) encoding, JPEG decoding, MP3 encoding, and MP3 decoding.


For outgoing voice communications, the at least one microphone 60 receives an audible voice signal, amplifies it, and provide the amplified voice signal to the Voice Data RF IC 50. The Voice Data RF IC 50 processes the amplified voice signal into a digitized voice signal using one or more audio processing schemes (e.g., pulse code modulation, audio compression, etc.). The Voice Data RF IC 50 may transmit the digitized voice signal via the wireless port 64 to the wireline real-time device 14 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 50 may transmit the digitized voice signal as RF real-time data 26 to the wireless real-time device 22, and/or to the wireless non-real-time and/or real-time device 24 via the antenna interface 52.


For outgoing real-time audio and/or video communications, the Voice Data RF IC 50 retrieves an audio and/or video file from the memory 54. The Voice Data RF IC 50 may decompress the retrieved audio and/or video file into digitized streaming audio and/or video. The Voice Data RF IC 50 may transmit the digitized streaming audio and/or video via the wireless port 64 to the wireline real-time device 14 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 50 may transmit the digitized streaming audio and/or video as RF real-time data 26 to the wireless real-time device 22, and/or to the wireless non-real-time and/or real-time device 24 via the antenna interface 52. Note that the Voice Data RF IC 50 may mix a digitized voice signal with a digitized streaming audio and/or video to produce a mixed digitized signal that may be transmitted via the wireline port 64 and/or via the antenna interface 52.


In a playback mode of the communication device 10, the Voice Data RF IC 50 retrieves an audio and/or video file from the memory 54. The Voice Data RF IC 50 may decompress the retrieved audio and/or video file into digitized streaming audio and/or video. The Voice Data RF IC 50 may convert an audio portion of the digitized streaming audio and/or video into analog audio signals that are provided to the at least one speaker 62. In addition, the Voice Data RF IC 50 may convert a video portion of the digitized streaming audio and/or video into analog or digital video signals that are provided to the display 56, which may be a liquid crystal (LCD) display, a plasma display, a digital light project (DLP) display, and/or any other type of portable video display.


The processing modules within Voice Data RF IC include ARM microprocessor 51 and a digital signal processor (DSP) 53. This arrangement allows bifurcated processing, in one embodiment such a bifurcation may be configured where the DSP supports more physical layer type applications while the ARM supports higher layer applications. Further bifurcation may be based on voice applications, data applications, and/or RF control. For instance, a vocoder may be done in the DSP. This provides efficient use of the processing resources within a single voice/data/RF chip. FIG. 5 illustrates that the ARM microprocessor 51 and DSP 53 are within the baseband processing module. However, this may take place within any processing module of the Voice Data RF IC.


For incoming RF voice communications, the antenna interface 52 receives, via an antenna, inbound RF real-time data 26 (e.g., inbound RF voice signals) and provides them to the Voice Data RF IC 50. The Voice Data RF IC 50 processes the inbound RF voice signals into digitized voice signals. The Voice Data RF IC 50 may transmit the digitized voice signals via the wireless port 64 to the wireline real-time device 14 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 50 may convert the digitized voice signals into an analog voice signals and provide the analog voice signals to the speaker 62.


The Voice Data RF IC 50 may receive digitized voice-audio-&/or-video signals from the wireline connection 28 via the wireless port 64 or may receive RF signals via the antenna interface 52, where the Voice Data RF IC 50 recovers the digitized voice-audio-&/or-video signals from the RF signals. The Voice Data RF IC 50 may then compress the received digitized voice-audio-&/or-video signals to produce voice-audio-&/or-video files and store the files in memory 54. In the alternative, or in addition to, the Voice Data RF IC 50 may convert the digitized voice-audio-&/or-video signals into analog voice-audio-&/or-video signals and provide them to the speaker 62 and/or display.


For outgoing non-real-time data communications, the keypad/keyboard 58 (which may be a keypad, keyboard, touch screen, voice activated data input, and/or any other mechanism for inputted data) provides inputted data (e.g., emails, text messages, web browsing commands, etc.) to the Voice Data RF IC 50. The Voice Data RF IC 50 converts the inputted data into a data symbol stream using one or more data modulation schemes (e.g., QPSK, 8-PSK, etc.). The Voice Data RF IC 50 converts the data symbol stream into RF non-real-time data signals 24 that are provided to the antenna interface 52 for subsequent transmission via the antenna. In addition to, or in the alternative, the Voice Data RF IC 50 may provide the inputted data to the display 56. As another alternative, the Voice Data RF IC 50 may provide the inputted data to the wireline port 64 for transmission to the wireline non-real-time data device 12 and/or the non-real-time and/or real-time device 16.


For incoming non-real-time communications (e.g., text messaging, image transfer, emails, web browsing), the antenna interface 52 receives, via an antenna, inbound RF non-real-time data signals 24 (e.g., inbound RF data signals) and provides them to the Voice Data RF IC 50. The Voice Data RF IC 50 processes the inbound RF data signals into data signals. The Voice Data RF IC 50 may transmit the data signals via the wireless port 64 to the wireline non-real-time device 12 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 50 may convert the data signals into analog data signals and provide the analog data signals to an analog input of the display 56 or the Voice Data RF IC 50 may provide the data signals to a digital input of the display 56.



FIG. 4 is a schematic block diagram of another embodiment of a communication device 3010 that includes a Voice Data RF (radio frequency) IC (integrated circuit) 70, a first antenna interface 72, a second antenna interface 74, memory 54, the display 56, the keypad and/or key board 58, the at least one microphone 60, the at least one speaker 62, and the wireline port 64. The memory 54 may be NAND flash, NOR flash, SDRAM, and/or SRAM for storing data and/or instructions to facilitate communications of real-time and non-real-time data via the wireline port 64 and/or via the antenna interfaces 72 and/or 74. In addition, or in the alternative, the memory 54 may store video files, audio files, and/or image files for subsequent wireline or wireless transmission, for subsequent display, for file transfer, and/or for subsequent editing. Accordingly, when the communication device 30 supports storing, displaying, transferring, and/or editing of audio, video, and/or image files, the memory 54 would further store algorithms to support such storing, displaying, and/or editing. For example, the may include, but is not limited to, file transfer algorithm, video compression algorithm, video decompression algorithm, audio compression algorithm, audio decompression algorithm, image compression algorithm, and/or image decompression algorithm, such as MPEG (motion picture expert group) encoding, MPEG decoding, JPEG (joint picture expert group) encoding, JPEG decoding, MP3 encoding, and MP3 decoding.


For outgoing voice communications, the at least one microphone 60 receives an audible voice signal, amplifies it, and provide the amplified voice signal to the Voice Data RF IC 70. The Voice Data RF IC 70 processes the amplified voice signal into a digitized voice signal using one or more audio processing schemes (e.g., pulse code modulation, audio compression, etc.). The Voice Data RF IC 70 may transmit the digitized voice signal via the wireless port 64 to the wireline real-time device 14 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 70 may transmit the digitized voice signal as RF real-time data 26 to the wireless real-time device 22, and/or to the wireless non-real-time and/or real-time device 24 via the antenna interface 72 using a first frequency band (fb1).


For outgoing real-time audio and/or video communications, the Voice Data RF IC 70 retrieves an audio and/or video file from the memory 54. The Voice Data RF IC 70 may decompress the retrieved audio and/or video file into digitized streaming audio and/or video. The Voice Data RF IC 70 may transmit the digitized streaming audio and/or video via the wireless port 64 to the wireline real-time device 14 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 70 may transmit the digitized streaming audio and/or video as RF real-time data 26 to the wireless real-time device 22, and/or to the wireless non-real-time and/or real-time device 24 via the antenna interface 72 using the first frequency band (fb1). Note that the Voice Data RF IC 70 may mix a digitized voice signal with a digitized streaming audio and/or video to produce a mixed digitized signal that may be transmitted via the wireline port 64 and/or via the antenna interface 72.


In a playback mode of the communication device 10, the Voice Data RF IC 70 retrieves an audio and/or video file from the memory 54. The Voice Data RF IC 70 may decompress the retrieved audio and/or video file into digitized streaming audio and/or video. The Voice Data RF IC 70 may convert an audio portion of the digitized streaming audio and/or video into analog audio signals that are provided to the at least one speaker 62. In addition, the Voice Data RF IC 70 may convert a video portion of the digitized streaming audio and/or video into analog or digital video signals that are provided to the display 56, which may be a liquid crystal (LCD) display, a plasma display, a digital light project (DLP) display, and/or any other type of portable video display.


For incoming RF voice communications, the antenna interface 72 receives, via an antenna within the first frequency band, inbound RF real-time data 26 (e.g., inbound RF voice signals) and provides them to the Voice Data RF IC 70. The Voice Data RF IC 70 processes the inbound RF voice signals into digitized voice signals. The Voice Data RF IC 70 may transmit the digitized voice signals via the wireless port 64 to the wireline real-time device 14 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 70 may convert the digitized voice signals into an analog voice signals and provide the analog voice signals to the speaker 62.


The Voice Data RF IC 70 may receive digitized voice-audio-&/or-video signals from the wireline connection 28 via the wireless port 64 or may receive RF signals via the antenna interface 72, where the Voice Data RF IC 70 recovers the digitized voice-audio-&/or-video signals from the RF signals. The Voice Data RF IC 70 may then compress the received digitized voice-audio-&/or-video signals to produce voice-audio-&/or-video files and store the files in memory 54. In the alternative, or in addition to, the Voice Data RF IC 70 may convert the digitized voice-audio-&/or-video signals into analog voice-audio-&/or-video signals and provide them to the speaker 62 and/or display.


For outgoing non-real-time data communications, the keypad/keyboard 58 provides inputted data (e.g., emails, text messages, web browsing commands, etc.) to the Voice Data RF IC 70. The Voice Data RF IC 70 converts the inputted data into a data symbol stream using one or more data modulation schemes (e.g., QPSK, 8-PSK, etc.). The Voice Data RF IC 70 converts the data symbol stream into RF non-real-time data signals 24 that are provided to the antenna interface 74 for subsequent transmission via an antenna in a second frequency band (fb2). In addition to, or in the alternative, the Voice Data RF IC 70 may provide the inputted data to the display 56. As another alternative, the Voice Data RF IC 70 may provide the inputted data to the wireline port 64 for transmission to the wireline non-real-time data device 12 and/or the non-real-time and/or real-time device 16.


For incoming non-real-time communications (e.g., text messaging, image transfer, emails, web browsing), the antenna interface 74 receives, via an antenna within the second frequency band, inbound RF non-real-time data signals 24 (e.g., inbound RF data signals) and provides them to the Voice Data RF IC 70. The Voice Data RF IC 70 processes the inbound RF data signals into data signals. The Voice Data RF IC 70 may transmit the data signals via the wireless port 64 to the wireline non-real-time device 12 and/or to the wireline non-real-time and/or real-time device 16. In addition to, or in the alternative, the Voice Data RF IC 70 may convert the data signals into analog data signals and provide the analog data signals to an analog input of the display 56 or the Voice Data RF IC 70 may provide the data signals to a digital input of the display 56.



FIG. 5 is a schematic block diagram of another embodiment of a communication device 10 that includes the Voice Data RF IC 50, the antenna interface 52, the memory 54, the keypad/keyboard 58, the at least one speaker 62, the at least one microphone 60, and the display 56. The Voice Data RF IC 50 includes a baseband processing module 80, a radio frequency (RF) section 82, an interface module 84, an audio codec 86, a keypad interface 88, a memory interface 90, a display interface 92, and an advanced high-performance (AHB) bus matrix 94. The baseband processing module 80 may be a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions. The processing module 80 may have an associated memory and/or memory element, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of the processing module 80. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that when the processing module 80 implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory and/or memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. Further note that, the memory element stores, and the processing module 80 executes, hard coded and/or operational instructions corresponding to at least some of the steps and/or functions illustrated in the FIGs.


In one embodiment, the baseband processing module, interface module, RF section or any other processing module within the IC includes an ARM microprocessor and a DSP. Such a bifurcation may be done where the DSP supports more physical layer type applications associated with and the ARM supports higher layer applications. Further bifurcation may be based on voice applications, data applications, and/or RF control. For instance, a vocoder may be done in the DSP. This provides efficient use of the processing resources within a single voice/data/RF chip.


The baseband processing module 80 converts an outbound voice signal 96 into an outbound voice symbol stream 98 in accordance with one or more existing wireless communication standards, new wireless communication standards, modifications thereof, and/or extensions thereof (e.g., GSM, AMPS, digital AMPS, CDMA, etc.). The baseband processing module 80 may perform one or more of scrambling, encoding, constellation mapping, modulation, frequency spreading, frequency hopping, beam forming, space-time-block encoding, space-frequency-block encoding, and/or digital baseband to IF conversion to convert the outbound voice signal 96 into the outbound voice symbol stream 98. Depending on the desired formatting of the outbound voice symbol stream 98, the baseband processing module 80 may generate the outbound voice symbol stream 98 as Cartesian coordinates (e.g., having an in-phase signal component and a quadrature signal component to represent a symbol), as Polar coordinates (e.g., having a phase component and an amplitude component to represent a symbol), or as hybrid coordinates as disclosed in co-pending patent application entitled HYBRID RADIO FREQUENCY TRANSMITTER, having a filing date of Mar. 24, 2006, and an application Ser. No. 11/388,822, and co-pending patent application entitled PROGRAMMABLE HYBRID TRANSMITTER, having a filing date of Jul. 26, 2006, and an application Ser. No. 11/494,682.


The interface module 84 conveys the outbound voice symbol stream 98 to the RF section 82 when the Voice Data RF IC 50 is in a voice mode. The voice mode may be activated by the user of the communication device 10 by initiating a cellular telephone call, by receiving a cellular telephone call, by initiating a walkie-talkie type call, by receiving a walkie-talkie type call, by initiating a voice record function, and/or by another voice activation selection mechanism.


The RF section 82 converts the outbound voice symbol stream 98 into an outbound RF voice signal 114 in accordance with the one or more existing wireless communication standards, new wireless communication standards, modifications thereof, and/or extensions thereof (e.g., GSM, AMPS, digital AMPS, CDMA, etc.). In one embodiment, the RF section 82 receives the outbound voice symbol stream 98 as Cartesian coordinates. In this embodiment, the RF section 82 mixes the in-phase components of the outbound voice symbol stream 98 with an in-phase local oscillation to produce a first mixed signal and mixes the quadrature components of the outbound voice symbol stream 98 to produce a second mixed signal. The RF section 82 combines the first and second mixed signals to produce an up-converted voice signal. The RF section 82 then amplifies the up-converted voice signal to produce the outbound RF voice signal 114, which it provides to the antenna interface 52. Note that further power amplification may occur between the output of the RF section 82 and the input of the antenna interface 52.


In other embodiments, the RF section 82 receives the outbound voice symbol stream 98 as Polar or hybrid coordinates. In these embodiments, the RF section 82 modulates a local oscillator based on phase information of the outbound voice symbol stream 98 to produce a phase modulated RF signal. The RF section 82 then amplifies the phase modulated RF signal in accordance with amplitude information of the outbound voice symbol stream 98 to produce the outbound RF voice signal 114. Alternatively, the RF section 82 may amplify the phase modulated RF signal in accordance with a power level setting to produce the outbound RF voice signal 114.


For incoming voice signals, the RF section 82 receives an inbound RF voice signal 112 via the antenna interface 52. The RF section 82 converts the inbound RF voice signal 112 into an inbound voice symbol stream 100. In one embodiment, the RF section 82 extracts Cartesian coordinates from the inbound RF voice signal 112 to produce the inbound voice symbol stream 100. In another embodiment, the RF section 82 extracts Polar coordinates from the inbound RF voice signal 112 to produce the inbound voice symbol stream 100. In yet another embodiment, the RF section 82 extracts hybrid coordinates from the inbound RF voice signal 112 to produce the inbound voice symbol stream 100. The interface module 84 provides the inbound voice symbol stream 100 to the baseband processing module 80 when the Voice Data RF IC 50 is in the voice mode.


The baseband processing module 80 converts the inbound voice symbol stream 100 into an inbound voice signal 102. The baseband processing module 80 may perform one or more of descrambling, decoding, constellation demapping, modulation, frequency spreading decoding, frequency hopping decoding, beam forming decoding, space-time-block decoding, space-frequency-block decoding, and/or IF to digital baseband conversion to convert the inbound voice symbol stream 100 into the inbound voice signal 102, which is placed on the AHB bus matrix 94.


In one embodiment, the outbound voice signal 96 is received from the audio codec section 86 via the AHB bus 94. The audio codec section 86 is coupled to the at least one microphone 60 to receive an analog voice input signal there from. The audio codec section 86 converts the analog voice input signal into a digitized voice signal that is provided to the baseband processing module 80 as the outbound voice signal 96. The audio codec section 86 may perform an analog to digital conversion to produce the digitized voice signal from the analog voice input signal, may perform pulse code modulation (PCM) to produce the digitized voice signal, and/or may compress a digital representation of the analog voice input signal to produce the digitized voice signal.


The audio codec section 86 is also coupled to the at least one speaker 62. In one embodiment the audio codec section 86 processes the inbound voice signal 102 to produce an analog inbound voice signal that is subsequently provided to the at least one speaker 62. The audio codec section 86 may process the inbound voice signal 102 by performing a digital to analog conversion, by PCM decoding, and/or by decompressing the inbound voice signal 102.


For an outgoing data communication (e.g., email, text message, web browsing, and/or non-real-time data), the baseband processing module 80 receives outbound data 108 from the keypad interface 88 and/or the memory interface 90. The baseband processing module 80 converts outbound data 108 into an outbound data symbol stream 110 in accordance with one or more existing wireless communication standards, new wireless communication standards, modifications thereof, and/or extensions thereof (e.g., EDGE, GPRS, etc.). The baseband processing module 80 may perform one or more of scrambling, encoding, constellation mapping, modulation, frequency spreading, frequency hopping, beam forming, space-time-block encoding, space-frequency-block encoding, and/or digital baseband to IF conversion to convert the outbound data 108 into the outbound data symbol stream 110. Depending on the desired formatting of the outbound data symbol stream 110, the baseband processing module 80 may generate the outbound data symbol stream 110 as Cartesian coordinates (e.g., having an in-phase signal component and a quadrature signal component to represent a symbol), as Polar coordinates (e.g., having a phase component and an amplitude component to represent a symbol), or as hybrid coordinates as disclosed in co-pending patent application entitled HYBRID RADIO FREQUENCY TRANSMITTER, having a filing date of Mar. 24, 2006, and an application Ser. No. 11/388,822, and co-pending patent application entitled PROGRAMMABLE HYBRID TRANSMITTER, having a filing date of Jul. 26, 2006, and an application Ser. No. 11/494,682. In addition to, or in the alternative of, the outbound data 108 may be provided to the display interface 92 such that the outbound data 108, or a representation thereof, may be displayed on the display 56.


The interface module 84 conveys the outbound data symbol stream 110 to the RF section 82 when the Voice Data RF IC 50 is in a data mode. The data mode may be activated by the user of the communication device 10 by initiating a text message, by receiving a text message, by initiating a web browser function, by receiving a web browser response, by initiating a data file transfer, and/or by another data activation selection mechanism.


The RF section 82 converts the outbound data symbol stream 110 into an outbound RF data signal 118 in accordance with the one or more existing wireless communication standards, new wireless communication standards, modifications thereof, and/or extensions thereof (e.g., EDGE, GPRS, etc.). In one embodiment, the RF section 82 receives the outbound data symbol stream 110 as Cartesian coordinates. In this embodiment, the RF section 82 mixes the in-phase components of the outbound data symbol stream 110 with an in-phase local oscillation to produce a first mixed signal and mixes the quadrature components of the outbound data symbol stream 110 to produce a second mixed signal. The RF section 82 combines the first and second mixed signals to produce an up-converted data signal. The RF section 82 then amplifies the up-converted data signal to produce the outbound RF data signal 118, which it provides to the antenna interface 52. Note that further power amplification may occur between the output of the RF section 82 and the input of the antenna interface 52.


In other embodiments, the RF section 82 receives the outbound data symbol stream 110 as Polar or hybrid coordinates. In these embodiments, the RF section 82 modulates a local oscillator based on phase information of the outbound data symbol stream 110 to produce a phase modulated RF signal. The RF section 82 then amplifies the phase modulated RF signal in accordance with amplitude information of the outbound data symbol stream 110 to produce the outbound RF data signal 118. Alternatively, the RF section 82 may amplify the phase modulated RF signal in accordance with a power level setting to produce the outbound RF data signal 118.


For incoming data communications, the RF section 82 receives an inbound RF data signal 116 via the antenna interface 52. The RF section 82 converts the inbound RF data signal 116 into an inbound data symbol stream 104. In one embodiment, the RF section 82 extracts Cartesian coordinates from the inbound RF data signal 116 to produce the inbound data symbol stream 104. In another embodiment, the RF section 82 extracts Polar coordinates from the inbound RF data signal 116 to produce the inbound data symbol stream 104. In yet another embodiment, the RF section 82 extracts hybrid coordinates from the inbound RF data signal 116 to produce the inbound data symbol stream 104. The interface module 84 provides the inbound data symbol stream 104 to the baseband processing module 80 when the Voice Data RF IC 50 is in the data mode.


The baseband processing module 80 converts the inbound data symbol stream 104 into inbound data 106. The baseband processing module 80 may perform one or more of descrambling, decoding, constellation demapping, modulation, frequency spreading decoding, frequency hopping decoding, beam forming decoding, space-time-block decoding, space-frequency-block decoding, and/or IF to digital baseband conversion to convert the inbound data symbol stream 104 into the inbound data 106, which is placed on the AHB bus matrix 94.


In one embodiment, the display interface 92 retrieves the inbound data 106 from the AHB bus matrix 94 and provides it, or a representation thereof, to the display 56. In another embodiment, the memory interface 90 retrieves the inbound data 106 from the AHG bus matrix 94 and provides it to the memory 54 for storage therein.



FIG. 6 is a schematic block diagram of another embodiment of a communication device 10 that includes the Voice Data RF IC 50, the antenna interface 52, the memory 54, the keypad/keyboard 58, the at least one speaker 62, the at least one microphone 60, the display 56, and at least one of: a SIM (Security Identification Module) card 122, a power management (PM) IC 126, a second display 130, a SD (Secure Digital) card or MMC (Multi Media Card) 134, a coprocessor IC 138, a WLAN transceiver 142, a Bluetooth (BT) transceiver 144, an FM tuner 148, a GPS receiver 154, an image sensor 158 (e.g., a digital camera), a video sensor 162 (e.g., a camcorder), and a TV tuner 166. The Voice Data RF IC 50 includes the baseband processing module 80, the RF section 82, the interface module 84, the audio codec 86, the keypad interface 88, the memory interface 90, the display interface 92, the advanced high-performance (AHB) bus matrix 94, a processing module 125, and one or more of: a universal subscriber identity module (USIM) interface 120, power management (PM) interface 124, a second display interface 126, a secure digital input/output (SDIO) interface 132, a coprocessor interface 136, a WLAN interface 140, a Bluetooth interface 146, an FM interface 150, a GPS interface 152, a camera interface 156, a camcorder interface 160, a TV interface 164, and a Universal Serial Bus (USB) interface 165. While not shown in the present figure, the Voice Data RF IC 50 may further included one or more of a Universal Asynchronous Receiver-Transmitter (UART) interface coupled to the AHB bus matrix 94, a Serial Peripheral Interface (SPI) interface coupled to the AHB bus matrix 94, an I2S interface coupled to the AHB bus matrix 94, and a pulse code modulation (PCM) interface coupled to the AHB bus matrix 94.


The processing module 125 may be a single processing device or a plurality of processing devices. Processing module 125 within the Voice Data RF IC may include ARM microprocessors and DSPs. This arrangement allows bifurcated processing, in one embodiment such a bifurcation may be configured where the DSP supports more physical layer type applications while the ARM supports higher layer applications. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions. The processing module 125 may have an associated memory and/or memory element, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of the processing module 125. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that when the processing module 125 implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory and/or memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. Further note that, the memory element stores, and the processing module 125 executes, hard coded and/or operational instructions corresponding to at least some of the steps and/or functions illustrated in the Figs.


In this embodiment, the Voice Data RF IC 50 includes one or more of a plurality of interfaces that enable the communication device 10 to include one or more of a plurality of additional circuits. For example, the communication device 10 may be a cellular telephone that provides voice, data, and at least one other service via the Voice Data RF IC 50, which, in this instance, is a cellular telephone IC. An example of another service includes WLAN access via a WLAN transceiver to support voice over IP communications, internet access, etc. Another service example includes Bluetooth access via a Bluetooth transceiver to support a Bluetooth wireless headset, file transfers, and other piconet services.


For wireline connectivity to another device, the Voice Data RF IC 50 may include a USB interface 165, an SPI interface, and I2S interface, and/or another other type of wired interface. In this instance, file transfers are easily supported by the wireline connectivity and can be managed by the processing module 125. Further, video games may be downloaded to the communication device 10 via the wireline connectivity and subsequently played as administered by the processing module 125. Alternatively, the wireline connectivity provides coupling to a game console such that the communication device 10 acts as the display and/or controller of the video game.


With the various interface options of the Voice Data RF IC 50, the communication device 10 may function as a personal entertainment device to playback audio files, video files, image files, to record images, to record video, to record audio, to watch television, to track location, to listen to broadcast FM radio, etc. Such personal entertainment functions would be administered primarily by the processing module 125.


With the inclusion of one or more display interfaces 92 and 128, the communication device may include multiple displays 56 and 130. The displays 56 and 130 may be a liquid crystal (LCD) display, a plasma display, a digital light project (DLP) display, and/or any other type of portable video display. Note that the display interfaces 92 and 128 may be an LCD interface, a mobile industry processor interface (MIPI), and/or other type of interface for supporting the particular display 56 or 130.


The Voice Data RF IC 50 includes security interface options to protect the data stored in the communication device and/or to insure use of the communication device is by an authorized user. For example, the Voice Data RF IC 50 may include the USIM interface 120 and/or the SDIO interface 132 for interfacing with a SIM card, a Secure Data card and/or a multi media card.


Of the various interfaces that may be included on the Voice Data RF IC 50, I2S is an industry standard 3-wire interface for streaming stereo audio between devices and the PCM interface is a serial interface used to transfer speech data. Of the external components of the communication device 10 with respect to the IC 50, a Secure Digital (SD) is a flash memory (non-volatile) memory card format used in portable devices, including digital cameras and handheld computers. SD cards are based on the older Multi-Media-Card (MMC) format, but most are physically slightly thicker than MMC cards. A (SIM) card that stores user subscriber information, authentication information and provides storage space for text messages and USIM stores a long-term preshared secret key K, which is shared with the Authentication Center (AuC) in the network. The USIM also verifies a sequence number that must be within a range using a window mechanism to avoid replay attacks, and is in charge of generating the session keys CK and IK to be used in the confidentiality and integrity algorithms of the KASUMI block cipher in UMTS.



FIG. 7 is a schematic block diagram of another embodiment of a Voice Data RF IC 50 that includes the RF section 82, the interface module 84, the voice baseband processing module 170, the data baseband processing module 172, the AHB bus matrix 94, a microprocessor core 190, a memory interface 90, and one or more of a plurality of interface modules. The plurality of interface modules includes a mobile industry processor interface (MIPI) interface 192, a universal serial bus (USB) interface 194, a secure digital input/output (SDIO) interface 132, an I2S interface 196, a Universal Asynchronous Receiver-Transmitter (UART) interface 198, a Serial Peripheral Interface (SPI) interface 200, a power management (PM) interface 124, a universal subscriber identity module (USIM) interface 120, a camera interface 156, a pulse code modulation (PCM) interface 202, and a video codec 204.


The video codec 204 performs coding and decoding of video signals, where encoded video signals may be stored in memory coupled to the memory interface 90. Such coding and decoding may be in accordance with various video processing standards such as MPEG (Motion Picture Expert Group), JPEG (Joint Picture Expert Group), etc.



FIG. 8 is a schematic block diagram of another embodiment of a Voice Data RF IC 50 that includes the RF section 82, the interface module 84, the DSP 210, the AHB bus matrix 94, the microprocessor core 190, the memory interface 90, the data interface 182, the display interface 184, the video codec 204, the mobile industry processor interface (MIPI) interface 192, an arbitration module 212, a direct memory access (DMA) 215, a demultiplexer 218, a security engine 224, a security boot ROM 226, an LCD interface 222, a camera interface 156, a 2nd AHB bus 220, a real time clock (RTC) module 225, a general purpose input/output (GPIO) interface 228, a Universal Asynchronous Receiver-Transmitter (UART) interface 198, a Serial Peripheral Interface (SPI) interface 200, and an I2S interface 196. The arbitration module 212 is coupled to the SDIO interface 132, a universal serial bus (USB) interface 194, and a graphics engine 216.


DSP 210 converts an outbound voice signal 96 into an outbound voice symbol stream 98 in accordance with one or more existing wireless communication standards, new wireless communication standards, modifications thereof, and/or extensions thereof (e.g., GSM, AMPS, digital AMPS, CDMA, etc.). The DSP 210 may perform one or more of scrambling, encoding, constellation mapping, modulation, frequency spreading, frequency hopping, beam forming, space-time-block encoding, space-frequency-block encoding, and/or digital baseband to IF conversion to convert the outbound voice signal 96 into the outbound voice symbol stream 98. Depending on the desired formatting of the outbound voice symbol stream 98, the DSP may generate the outbound voice symbol stream 98 as Cartesian coordinates, as Polar coordinates, or as hybrid coordinates.


The interface module 84 conveys the outbound voice symbol stream 98 to the RF section 82 when the Voice Data RF IC 50 is in a voice mode. The RF section 82 converts the outbound voice symbol stream 98 into an outbound RF voice signal 114 as previously discussed.


The DSP 210 converts the inbound voice symbol stream 100 into an inbound voice signal 102. The DSP 210 may perform one or more of descrambling, decoding, constellation demapping, modulation, frequency spreading decoding, frequency hopping decoding, beam forming decoding, space-time-block decoding, space-frequency-block decoding, and/or IF to digital baseband conversion to convert the inbound voice symbol stream 100 into the inbound voice signal 102.


For an outgoing data communication (e.g., email, text message, web browsing, and/or non-real-time data), the DSP 210 converts outbound data 108 into an outbound data symbol stream 110 in accordance with one or more existing wireless communication standards, new wireless communication standards, modifications thereof, and/or extensions thereof (e.g., EDGE, GPRS, etc.). The DSP 210 may perform one or more of scrambling, encoding, constellation mapping, modulation, frequency spreading, frequency hopping, beam forming, space-time-block encoding, space-frequency-block encoding, and/or digital baseband to IF conversion to convert the outbound data 108 into the outbound data symbol stream 110. Depending on the desired formatting of the outbound data symbol stream 110, the DSP 210 may generate the outbound data symbol stream 110 as Cartesian coordinates, as Polar coordinates, or as hybrid coordinates.


The interface module 84 conveys the outbound data symbol stream 110 to the RF section 82 when the Voice Data RF IC 50 is in a data mode. The RF section 82 converts the outbound data symbol stream 110 into an outbound RF data signal 118 as previously described.


For incoming data communications, the RF section 82 converts the inbound RF data signal 116 into an inbound data symbol stream 104 as previously discussed with reference to FIG. 7. The interface module 84 provides the inbound data symbol stream 104 to the DSP 210 when the Voice Data RF IC 50 is in the data mode.


The DSP 210 converts the inbound data symbol stream 104 into inbound data 106. The DSP 210 may perform one or more of descrambling, decoding, constellation demapping, modulation, frequency spreading decoding, frequency hopping decoding, beam forming decoding, space-time-block decoding, space-frequency-block decoding, and/or IF to digital baseband conversion to convert the inbound data symbol stream 104 into the inbound data 106.


In this embodiment, the microprocessor core 190 may retrieve from memory via memory interface 90 and/or may generate the outbound data 108 and/or the outbound voice signal 96. Note that, in this embodiment, the outbound voice signal 96 may be a voice signal of a cellular telephone call, an audio signal (e.g., music, a voice recording, etc.) a video signal (e.g., a movie, TV show, etc), and/or an image signal (e.g., a picture).


In addition, the microprocessor core 190 may store the inbound voice signal 102 and/or the inbound data 106 in the memory via the memory interface 90. Note that, in this embodiment, the inbound voice signal 102 may be a voice signal of a cellular telephone call, an audio signal (e.g., music, a voice recording, etc.) a video signal (e.g., a movie, TV show, etc), and/or an image signal (e.g., a picture).



FIG. 9 is a schematic block diagram of another embodiment of a Voice Data RF IC 70 includes the data RF section 236, the voice RF section 238, the interface module 234, the voice baseband processing module 230, the data baseband processing module 232, the AHB bus matrix 94, the microprocessor core 190, the memory interface 90, and one or more of a plurality of interface modules. The plurality of interface modules includes the mobile industry processor interface (MIPI) interface 192, the universal serial bus (USB) interface 194, the secure digital input/output (SDIO) interface 132, the I2S interface 196, the Universal Asynchronous Receiver-Transmitter (UART) interface 198, the Serial Peripheral Interface (SPI) interface 200, the power management (PM) interface 124, the universal subscriber identity module (USIM) interface 120, the camera interface 156, the pulse code modulation (PCM) interface 202, the video codec 204, the second display interface 126, the coprocessor interface 136, the WLAN interface 140, the Bluetooth interface 146, the FM interface 150, the GPS interface 152, the camcorder interface 160, and the TV interface 164.


Data RF section 236, the voice RF section 238, the interface module 234, the voice baseband processing module 230, the data baseband processing module 232, microprocessor core 190, the memory interface 90, and one or more of a plurality of interface modules may be implemented with ARM microprocessors and DSPs. These implementations allow bifurcated processing to provide efficient use of the processing resources within these processing modules.


In one embodiment, the baseband processing module, the RF circuit or section 82, , and the on-chip baseband-to-RF interface module are fabricated on a single die using a complimentary metal oxide semiconductor (CMOS) process of at most sixty-five nano-meters.


Embodiments of the present invention provide a memory scrambler unit (MSU), wherein the MSU may be within a single chip wireless transceiver operable to perform voice, data and radio frequency (RF) processing as described in the preceding FIGs. This MSU may be part of a memory interface operable to provide a multi-layered scrambling approach to protect against attack scenarios on volatile memories, SRAM, and SDRAM. The MSU can be programmed to scramble configurable address regions without crossing the page, blank, or row/column boundaries, which would incur performance penalties. As an additional security measure, data may also be scrambled.



FIG. 10 provides a MSU, which may be employed by embodiment to the present invention. This MSU may be located within the memory interface such as Memory Interface 90 that facilitates the passage of information or data between AHB Bus matrix 94 and Memory Module 54. Memory Interface 90 may include a memory controller 1002 and Memory Scrambler Unit (MSU) 1004. Memory Module 54 may include volatile memory such as SRAM 1006 and SDRAM 1008.


By default, scrambling is disabled. However, once enabled, scrambling cannot be turned off unless the chip is reset from power-up. The scrambling will consist of generating a random number (key 1204 as discussed below) during the boot cycle, typically in the authenticated boot image (ABI). Care must be taken by software to ensure that scrambling is not enabled in the middle of a memory access, as this can corrupt the memory. Also, any data stored in the device will be unrecoverable once the MSU is enabled.


The random number is XORed with each address to provide the scrambling (linear). Additionally a mux is used to permute data within the address lines based on a programmed random number (non-linear). The use of this mechanism will be off in development mode and will be turned on based on the authenticated header from the FLASH during the ABI sequence. The following are some recommended steps that should be followed:

    • (1) To prevent timing attacks, the code from the FLASH will be decrypted in 4 Kbyte blocks in random order. The processor will use a random number to insert dummy cycles to SDRAM by writing scratch data locations at the same time as the DMA is loading the code base.
    • (2) The processor will wait a random number of cycles prior to executing the load process to ensure a timing attack is not simple.
    • (3) The processor should use a random number to determine how memory allocation occurs in the MMU for the ARM to further prevent tracking by external hardware.



FIG. 11 depicts the data flow to and from MSU 1004 of FIG. 10 showing the inputs and outputs of the memory scrambler unit. The memory scrambler unit 1004 will receive address data in and produce a scrambled address and scrambled data which may be retrieved later and unscrambled to produce unscrambled data. These processes may be described as reference to FIGS. 12, 13 and 14.


The MSU is controlled by registers accessible from the APB bus. When data scrambling is enabled, the entire multi-bit data word is scrambled. Address scrambling is configurable and is enabled on a per-bit basis.


The scrambling algorithm consists of two parts, the XOR with a random key and the swizzle, which consists of a programmable bit selection of bits within a nibble. To scramble data, the data is XORed first with the key, then swizzled. To unscramble data, the data must first be inverse swizzled, then XORed with the masked key.


Each bit within a nibble can be programmed to select one of the 4 bits within that nibble. This is controlled by the control registers. Each bit has a two-bit value that does the selection. Care should be taken to ensure that a valid swizzle algorithm is programmed, otherwise data may be lost. For any nibble, every pre-scramble bit and post-scramble bit must be accounted for, otherwise the swizzle is invalid and will result in data loss. Finally, the scrambling is enabled through the scramble control register bits. There are cases when scrambling must be disabled. These exceptions include but are not limited to external peripherals attached to the memory interface, SRAM Memory configuration accesses, and SDRAM Memory refresh accesses.



FIG. 12 shows that address information 1202 may be used to produce a scrambled address 1210. This may be done using a random numbered key 1204 which is applied (XORed) and swizzled (rearranged) with Address 1202 within block 1212. Multiplexer 1208 depending on whether or not address scrambling is enabled will output a scrambled address or unscrambled address.



FIG. 13 provides a diagram illustrating input data scrambling in accordance with embodiments of the present invention. This process is similar to the address scrambling of FIG. 12. Here Data 1302 is received and Multiplexer 1208 may be used to produce an data output 1304 which will be scrambled data or unscrambled data depending on whether or not input data scrambling is enabled by flag 1206. A random key 1204 may again be applied to data 1302 in an XOR and swizzled (rearranged) process to produce a scrambled input to multiplexer 1208. The multiplexer 1208 will select and output either a scrambled or unscrambled output based on the data scrambling enable flag 1206.



FIG. 14 provides a diagram illustrating the output data descrambling process in accordance with embodiments of the present invention. Scrambled data 1402 is received by Multiplexer 1404. An XOR and inverse swizzle is applied in processing module 1406. Key 1204 is provided to processing module 1406 in order to properly inversely swizzle (re-order) or XOR the scrambled data. To enable data scrambling/de-scrambling, data scrambling enable flag 1206 may be used by Multiplexer 1404 to select the proper output as data 1408.


The scramble region must be specified using the Address Scramble region registers. The input address is masked with ADDR_SCR_BASE_MSK_REG and compared to the ADDR_SCR_BASE_REG. If they match, the access falls within the scrambled memory region. The way scramble regions are defined places constraints on the acceptable sizes and locations of the memory scrambling. The memory region must be aligned to the base register and the size of the memory region is determined by the most significant “0” in the ADDR_SCR_BASE_MSK_REG.


Some SRAM controllers allow configuration accesses to their registers and are specified using memory access signals. Typically these configuration accesses are specified either by software or hardware “MRS” signal. For software accesses, prior to the configuration cycle, the enable signal, BYPASS_SCR must be asserted. BYPASS_SCR may be modified as long as the lock bit, BYPASS_SCR_LOCK is not asserted. Once the final configuration cycle is complete, scrambling should be enabled and locked.


For hardware accesses to the SRAM configuration space, accesses are specified by the MRS signal. While MRS is “1”, all address and data will be not be scrambled, as long as the MRS functionality is not disabled via the MRS control bits, MRS_DISABLE and MRS_DISABLE_LOCK.


In secure systems, it is the duty of the authenticated boot image (ABI) to enable bypass, configure the SRAM controller, and then disable bypass and lock the bit from further tampering.


The impact of refresh cycles is dependent on the memory controller. It may be necessary to bypass the memory scrambling using the BYPASS_SCR control bit in the SCR_CONTROL_REG for every refresh cycle. In order this to work, the lock bit for the bypass, BYPASS_SCR_LOCK must not be set, otherwise there will be no way to enable, disable, and re-enable scrambling.



FIG. 15 provides a logic flow diagram that describes an overview of the typical steps required for MSU Configuration in accordance with embodiments of the present invention. Steps 1500 begin with step 1502 where a RNG is used to generate random numbers for use as address and data keys. (This generally takes a long time and should be done as early as possible.) In step 1504 memory region(s) are specified to be scrambled using ADDR_SCR_BASE_REG and ADDR_SCR_BASE_MSK_REG. In step 1506 the address bits to be scrambled using the ADDR_SCR_MSK_REG are specified. One should ensure that ADDR_SCR_MSK_REG does not have any bits that overlap ADDR_SCR_BASE_MSK_REG, otherwise some address, after scrambling, may be mapped into addresses outside the scrambled address region. In step 1508 a valid scrambling algorithm using the address and data swizzle control registers is specified, using ADDR_SWZ_CTRL_LO_REG, ADDR_SWZ_CTRL_HI_REG, DATA_SWZ_CTRL_LO_REG, DATA_SWZ_CTRL_HI_REG. Before enabling scrambling, Step 1510 issue configuration writes to memories, and if possible, lock down the bits to prevent tampering (BYPASS_SCR and BYPASS_SCR_LOCK bits in SCR_CONTROL_REG register). In step 1512 a decision is made if MRS access are allowed, and lock the enable/disable bit (MRS_DISABLE and MRS_DISABLE_LOCK bits in SCR_CONTROL_REG). Step 1514 uses RNG data for address and data keys and program ADDR_KEY_REG and DATA_KEY_REG. Step 1516 enables address and data scrambling by writing “1” to the ADDR_SCR_EN and ADDR_SCR_EN bits in SCR_CONTROL_REG.


As a security precaution, all registers (except for the control register) may be write-only, and while enabled, none of the settings may be changed. Furthermore, once enabled, memory scrambling cannot be disabled, until the chip is reset and the SCR_CONTROL_REG reverts back to a default (disabled) value.


In summary, the present invention provides a memory scrambler unit (MSU), wherein the MSU may be within a single chip wireless transceiver operable to perform voice, data and radio frequency (RF) processing. This processing may be divided between various processing modules that access memory. This MSU may be part of a memory interface operable to provide a multi-layered scrambling approach to protect against attack scenarios on volatile memories, SRAM, and SDRAM. The MSU can be programmed to scramble configurable address regions without crossing the page, blank, or row/column boundaries, which would incur performance penalties. As an additional security measure, data may also be scrambled.


As may be used herein, the terms “substantially” and “approximately” provides an industry-accepted tolerance for its corresponding term and/or relativity between items. Such an industry-accepted tolerance ranges from less than one percent to fifty percent and corresponds to, but is not limited to, component values, integrated circuit process variations, temperature variations, rise and fall times, and/or thermal noise. Such relativity between items ranges from a difference of a few percent to magnitude differences. As may also be used herein, the term(s) “coupled to” and/or “coupling” and/or includes direct coupling between items and/or indirect coupling between items via an intervening item (e.g., an item includes, but is not limited to, a component, an element, a circuit, and/or a module) where, for indirect coupling, the intervening item does not modify the information of a signal but may adjust its current level, voltage level, and/or power level. As may further be used herein, inferred coupling (i.e., where one element is coupled to another element by inference) includes direct and indirect coupling between two items in the same manner as “coupled to”. As may even further be used herein, the term “operable to” indicates that an item includes one or more of power connections, input(s), output(s), etc., to perform one or more its corresponding functions and may further include inferred coupling to one or more other items. As may still further be used herein, the term “associated with”, includes direct and/or indirect coupling of separate items and/or one item being embedded within another item. As may be used herein, the term “compares favorably”, indicates that a comparison between two or more items, signals, etc., provides a desired relationship. For example, when the desired relationship is that signal 1 has a greater magnitude than signal 2, a favorable comparison may be achieved when the magnitude of signal 1 is greater than that of signal 2 or when the magnitude of signal 2 is less than that of signal 1.


The present invention has also been described above with the aid of method steps illustrating the performance of specified functions and relationships thereof. The boundaries and sequence of these functional building blocks and method steps have been arbitrarily defined herein for convenience of description. Alternate boundaries and sequences can be defined so long as the specified functions and relationships are appropriately performed. Any such alternate boundaries or sequences are thus within the scope and spirit of the claimed invention.


The present invention has been described above with the aid of functional building blocks illustrating the performance of certain significant functions. The boundaries of these functional building blocks have been arbitrarily defined for convenience of description. Alternate boundaries could be defined as long as the certain significant functions are appropriately performed. Similarly, flow diagram blocks may also have been arbitrarily defined herein to illustrate certain significant functionality. To the extent used, the flow diagram block boundaries and sequence could have been defined otherwise and still perform the certain significant functionality. Such alternate definitions of both functional building blocks and flow diagram blocks and sequences are thus within the scope and spirit of the claimed invention. One of average skill in the art will also recognize that the functional building blocks, and other illustrative blocks, modules and components herein, can be implemented as illustrated or by discrete components, application specific integrated circuits, processors executing appropriate software and the like or any combination thereof


Although the present invention is described in detail, it should be understood that various changes, substitutions and alterations can be made hereto without departing from the spirit and scope of the invention as described by the appended claims.

Claims
  • 1. A wireless transceiver operable to perform voice, data and radio frequency (RF) processing, comprising: an advanced high-performance (AHB) bus matrix;a memory module coupled to the AHB bus matrix, the memory module comprising: a memory controller;a memory scrambler unit (MSU); andmemory;a first processing module operably coupled to the AHB bus matrix, the first processing module executes a protocol stack operable to perform voice baseband processing, data baseband processing, and RF processing; anda wireless interface coupled to the AHB bus matrix, the wireless interface operable to transceive RF signals and communicate the transceived RF signals with the first processing module.
  • 2. The wireless transceiver of claim 1, wherein the memory comprises: volatile memories;SRAM; and/orSDRAM.
  • 3. The wireless transceiver of claim 1, wherein an advanced high-performance (AHB) bus matrix communicatively couples the: memory module;first processing module; andwireless interface.
  • 4. The wireless transceiver of claim 3, wherein a scrambling function of the memory module is selected and initialized during a boot cycle.
  • 5. The wireless transceiver of claim 1, wherein the MSU utilizes a random number or key generated during the boot cycle to scramble and retrieve scrambled data stored to memory.
  • 6. The wireless transceiver of claim 5, wherein the random number or key is XORed with an address of data to be stored to memory.
  • 7. The wireless transceiver of claim 5, wherein the random number or key is XORed with an address of data and data to be stored to memory.
  • 8. The wireless transceiver of claim 7, wherein the first processing module further comprises a microprocessor core coupled to the AHB bus matrix.
  • 9. The wireless transceiver of claim 7 further comprises at least one of: a mobile industry processor interface (MIPI) coupled to the AHB bus matrix;a universal serial bus (USB) interface coupled to the AHB bus matrix;an external memory interface coupled to the AHB bus matrix;a secure digital input/output (SDIO) interface coupled to the AHB bus matrix;an I2S interface coupled to the AHB bus matrix;a Universal Asynchronous Receiver-Transmitter (UART) interface coupled to the AHB bus matrix;a Serial Peripheral Interface (SPI) interface coupled to the AHB bus matrix;a power management interface;a universal subscriber identity module (USIM) interface coupled to the AHB bus matrix;a camera interface coupled to the AHB bus matrix; anda pulse code modulation (PCM) interface coupled to the AHB bus matrix.
  • 10. The wireless transceiver of claim 1 wherein upper layers of the protocol stack execute a video codec.
  • 11. A wireless transceiver operable to perform voice, data and radio frequency (RF) processing, comprising: an advanced high-performance (AHB) bus matrix;a microprocessor core coupled to the AHB bus matrix;a digital signal processing (DSP) module coupled to the AHB bus matrix;a memory module communicatively coupled to the AHB bus matrix, the memory module comprises: a memory controller;a memory scrambler unit (MSU) operable to scramble user data and addresses to be stored to memory; andmemory;wherein the microprocessor core and DSP module are operable to execute a protocol stack operable to perform voice baseband processing, data baseband processing, and RF processing;a data input interface coupled to the AHB bus matrix, wherein the data input interface receives the outbound data; anda display interface coupled to the AHB bus matrix, wherein the display interface provides the inbound data to an off-IC display.
  • 12. The wireless transceiver of claim 11, wherein the memory comprises: volatile memories;SRAM; and/orSDRAM.
  • 13. The wireless transceiver of claim 11, wherein a scrambling function of the memory module is selected and initialized during a boot cycle.
  • 14. The wireless transceiver of claim 13, wherein the MSU utilizes a random number or key generated during the boot cycle to scramble and retrieve scrambled data stored to memory.
  • 15. The wireless transceiver of claim 14, wherein the random number or key is XORed with an address of data to be stored to memory.
  • 16. The wireless transceiver of claim 14, wherein the random number or key is XORed with an address of data and data to be stored to memory.
  • 17. The wireless transceiver of claim 11 further comprises at least one of: a mobile industry processor interface (MIPI) coupled to the AHB bus matrix;a universal serial bus (USB) interface coupled to the AHB bus matrix;an external memory interface coupled to the AHB bus matrix;a secure digital input/output (SDIO) interface coupled to the AHB bus matrix;an I2S interface coupled to the AHB bus matrix;a Universal Asynchronous Receiver-Transmitter (UART) interface coupled to the AHB bus matrix;a Serial Peripheral Interface (SPI) interface coupled to the AHB bus matrix;a power management interface;a universal subscriber identity module (USIM) interface coupled to the AHB bus matrix;a camera interface coupled to the AHB bus matrix; anda pulse code modulation (PCM) interface coupled to the AHB bus matrix.
  • 18. A Voice-Data-RF integrated circuit (IC) comprises: a bus matrix;a memory module coupled to the bus matrix, the memory module comprising: a memory controller;a memory scrambler unit (MSU); andmemory;a first processing module operably coupled to the bus matrix, the first processing module executes a protocol stack operable to perform voice baseband processing, data baseband processing, and RF processing; anda wireless interface coupled to the bus matrix, the wireless interface operable to transceive RF signals and communicate the transceived RF signals with the first processing module.
  • 19. The Voice-Data-RF IC of claim 18, wherein the memory comprises: volatile memories;SRAM; and/orSDRAM.
  • 20. The Voice-Data-RF IC of claim 18, wherein a scrambling function of the memory module is selected and initialized during a boot cycle.
  • 21. The Voice-Data-RF IC of claim 18, wherein the MSU utilizes a random number or key generated during the boot cycle to scramble and retrieve scrambled data stored to memory.
  • 22. The wireless transceiver of claim 5, wherein the random number or key is XORed with an address of data to be stored to memory.
  • 23. The wireless transceiver of claim 5, wherein the random number or key is XORed with an address of data and data to be stored to memory.
  • 24. A method to store data within a Voice-Data-RF IC, comprising: generating a random number or key;receiving user data to be stored, wherein an address is associated with the user data;combining the address of user data with the random number or key to produce a scrambled user data address; andstoring the user data with the scrambled user data address.
  • 25. The method of claim 23, further comprising: combining the user data with the random number or key to produce scrambled user data; andstoring the scrambled user data with the scrambled user data address.
CROSS REFERENCE TO RELATED APPLICATIONS

The present U.S. Utility Patent Application claims priority pursuant to 35 U.S.C. §119(e) to the following U.S. Provisional Patent Applications which are hereby incorporated herein by reference in their entirety and made part of the present U.S. Utility Patent Application for all purposes: 1. U.S. Provisional Application Ser. No. 60/870,903, entitled “MEMORY SCRAMBLER UNIT,” (Attorney Docket No. BP5796) filed Dec. 20, 2006, pending. The present U.S. Utility Patent Application claims priority pursuant to 35 U.S.C. §119(e) to the following U.S. Provisional Patent Applications which are hereby incorporated herein by reference in their entirety and made part of the present U.S. Utility Patent Application for all purposes: 1. U.S. patent application Ser. No. 11/388,82 entitled HYBRID RADIO FREQUENCY TRANSMITTER, having a filing date of Mar. 24, 2006, pending.2. U.S. patent application Ser. No. 11/494,682 entitled PROGRAMMABLE HYBRID TRANSMITTER, having a filing date of Jul. 26, 2006, pending.

Provisional Applications (2)
Number Date Country
60870912 Dec 2006 US
60870903 Dec 2006 US