Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CIRCUITS, SYSTEMS, AND METHODS FOR DYNAMIC VOLTAGE LEVEL SHIFTING
Document Type and Number:
WIPO Patent Application WO/2011/127023
Kind Code:
A1
Abstract:
Dynamic voltage level shifting circuits, systems and methods are disclosed. A level shifting circuit comprises an input for accepting a first discrete voltage level to be shifted, a level shifting portion coupled to the input and to a second discrete voltage level, an enable portion having an enable input and coupled to the level shifting portion and an output. The level shifting circuit is configured to translate the data input at the first discrete voltage level into a second discrete voltage level. The enable portion is configured to selectively provide either the second discrete voltage level to the output or decouple at least a portion of the level shifting portion from the output based on the enable input.

Inventors:
LILES STEPHEN EDWARD (US)
CHAI CHIAMING (US)
MAMILETI LAKSHMIKANT (US)
Application Number:
PCT/US2011/031198
Publication Date:
October 13, 2011
Filing Date:
April 05, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
QUALCOMM INC (US)
LILES STEPHEN EDWARD (US)
CHAI CHIAMING (US)
MAMILETI LAKSHMIKANT (US)
International Classes:
H03K3/356; G11C11/419
Foreign References:
US6842043B12005-01-11
US4910713A1990-03-20
US5933386A1999-08-03
US20060273825A12006-12-07
US5774411A1998-06-30
US7053657B12006-05-30
US20070188194A12007-08-16
US5933386A1999-08-03
Attorney, Agent or Firm:
TALPALATSKY, Sam (San Diego, California, US)
Download PDF:
Claims:
What is claimed is:

1. A level shifting circuit, comprising:

a data input for accepting a first discrete voltage level to be shifted;

a level shifting portion coupled to the input and to a second discrete voltage level; an enable portion having an enable input and coupled to the level shifting

portion; and

an output;

wherein the level shifting circuit is configured to translate the data input at the first discrete voltage level into a second discrete voltage level; and

wherein the enable portion is configured to selectively provide either the second discrete voltage level to the output or decouple at least a portion of the level shifting portion from the output based on the enable input.

2. The level shifting circuit of claim 1, wherein the level shifting portion comprises a pull-up section and an evaluation section;

wherein the input comprises a data input and a complement data input; and wherein the output comprises a first output and a second data output;

wherein the pull-up section comprises a first pull-up circuit and a second pull-up circuit, the first pull-up circuit having a first feedback input and a first pull-up output and being coupled to the data input and to the second discrete voltage level, the second pull-up circuit having a second feedback input and a second pull-up output and being coupled to the complement data input and to the second discrete voltage level; and

wherein the evaluation section comprises a first evaluation circuit and a second evaluation circuit, the first evaluation circuit having a first evaluation output and being coupled to the data input and to ground, the second evaluation circuit having a second evaluation output and being coupled to the complement data input and to ground;

wherein the first pull-up output is coupled to the second feedback input and the second pull-up output is coupled to the first feedback input;

wherein the first pull-up output is coupled to the first data output and the second pull-up output is coupled to the second data output; and

wherein the true and complement data inputs are adapted to be driven by the first discrete voltage level.

3. The level shifting circuit of claim 2, wherein the first pull-up circuit and the second pull-up circuit each comprise a first PMOS transistor in series with a second PMOS transistor between the first supply and the pull-up output, wherein the first PMOS transistor is coupled to the second discrete voltage level and to the pull-up output of the other pull-up circuit and the second PMOS transistor is coupled to one of the data input and complement data input.

4. The level shifting circuit of claim 2, wherein the first evaluation circuit and the

second evaluation circuit each comprise a first NMOS transistor, the gate of the first NMOS transistor coupled to one of the data input and complement data input.

5. The level shifting circuit of claim 2, wherein the enable portion comprises a first enable circuit and a second enable circuit;

wherein the enable input is coupled to the first and second enable circuits;

wherein the first enable circuit is coupled between the first evaluation circuit and the first pull-up circuit;

and wherein the second enable circuit is coupled between the second evaluation circuit and the second pull-up circuit.

6. The level shifting circuit of claim 5, wherein the first enable circuit and the second enable circuit each comprise a second NMOS transistor, the gate of the second NMOS transistor coupled to the enable input.

7. The level shifting circuit of claim 2, wherein the first data output is coupled to a first bit line of a pair of bit lines and the second data output is coupled to a second bit line of the pair of bit lines.

8. The level shifting circuit of claim 7, wherein the level shifting circuit is coupled to at least one memory cell through the pair of bit lines.

9. The level shifting circuit of claim 8, wherein the pair of bit lines are used during both read and write operations of the at least one memory cell.

10. The level shifting circuit of claim 9, wherein the enable input is adapted to prevent the level shifting circuit from changing a state of either of the pair of bit lines during a read operation of the at least one memory cell.

11. The level shifting circuit of claim 1 , wherein the enable input is adapted to be driven by the first discrete voltage level.

12. The level shifting circuit of claim 1, wherein the enable input is adapted to be driven by the second discrete voltage level.

13. The level shifting circuit of claim 1, wherein the enable input is a write clock.

14. The level shifting circuit of claim 1 integrated into a semiconductor die.

15. The level shifting circuit of claim 1, further comprising a device selected from the group consisting of a set top box, an entertainment unit, a navigation device, a communications device, a personal digital assistant (PDA), a fixed location data unit, a mobile location data unit, a mobile phone, a cellular phone, a computer, a portable computer, a desktop computer, a monitor, a computer monitor, a television, a tuner, a radio, a satellite radio, a music player, a digital music player, a portable music player, a video player, a digital video player, a digital video disc (DVD) player, and a portable digital video player, into which the level shifting circuit is integrated.

16. A method of operating a memory comprising:

during a write operation:

receiving a data input driven by a first supply at a level shifting circuit; receiving a signal at an enable input of the level shifting circuit which enables the level shifting circuit; and

driving a level-shifted representation of the data input by a second supply onto a bit line; and

during a read operation:

receiving a signal at the enable input of the level shifting circuit which decouples at least a portion of the level shifting circuit from the bit line.

17. The method of claim 16, wherein the signal received at the enable input is driven by a first supply.

18. The method of claim 16, wherein the signal received at the enable input is driven by a second supply.

19. The method of claim 16, wherein the signal received at the enable input is a write clock.

20. A memory system comprising:

a plurality of columns in a first voltage domain; and

a plurality of level shifting circuits, each level shifting circuit of the plurality of level shifting circuit coupled to one of the columns of the plurality of columns; wherein each column comprises a plurality of bit cells each coupled to a pair of bit lines; wherein each level shifting circuit has a pair of complementary data inputs, an enable input and a pair of complementary data outputs, the pair of

complementary data outputs coupled to the pair of bit lines;

wherein in response to a signal at the enable input enabling the level shifting circuit, the level shifting circuit is adapted to receive signals at the pair of complementary data inputs from a second voltage domain and provide a representation of the signals translated into the first voltage domain to the pair of bit lines via the pair of complementary data outputs; and

wherein in response to a signal at the enable input disabling the level shifting circuit, decoupling a portion of the level shifting circuit from the pair of bit lines.

21. The memory system of claim 20, wherein the enable input of each of the plurality of level shifting circuits is coupled to a write clock.

22. The memory system of claim 21, wherein the write clock is driven by the first voltage domain.

23. The memory system of claim 22, wherein the write clock is driven by the second voltage domain.

24. The memory system of claim 20, wherein the pair of bit lines are shared read and write bit lines.

Description:
CIRCUITS, SYSTEMS, AND METHODS FOR DYNAMIC VOLTAGE LEVEL

SHIFTING

BACKGROUND

Field of the Disclosure

[0001] The technology of this disclosure relates generally to voltage level shifting circuits, and specifically to level shifting circuits providing dynamic voltage level shifting.

Background

[0002] Integrated circuits used in devices where power consumption is a concern may include a plurality of disparate voltage domains. In order for the different voltage domains to interoperate, voltage level shifting circuits may be employed. Generally, level shifting circuits receive a discrete input voltage and translate it to a discrete output voltage.

[0003] Level shifting circuits may employ one or more bias voltages in order to facilitate translation from one supply voltage to another. U.S. Patent No. 7,053,657 illustrates such bias voltages nbias and pbias, substantially reproduced in Figure 1, which may be distinct from the provided supply voltages Vint and Vext. The use of bias voltage(s) may increase the complexity of the overall design due to the need to generate and distribute the bias voltage(s).

[0004] Other conventional level shifting circuits may provide static voltage level shifting. U.S. Patent Application No. 2007/0188194 illustrates an exemplary static level shifting circuit substantially reproduced in Figure 2. A signal from a first voltage domain having a voltage supply Vdd appearing at input IN is provided to the level shifting circuit, which produces a level shifted representation of that input in a second voltage domain having a voltage supply Vpp. For some applications, it would be desirable to isolate the output of the level shifter from transitions on the input of the level shifter. For instance, in the case of a write bit line driver circuit in a memory having shared dynamic read and write bit lines, the bit lines may need to be able to decouple from ground (i.e. "float") so that they can be precharged. A static level shifting circuit coupled to the bit lines would hold the bit lines in complementary logic states and would propagate any changes on the data input to the bit lines, which could interfere with read and write operations in the memory. SUMMARY OF THE DISCLOSURE

[0005] Embodiments disclosed in the detailed description include dynamic voltage level shifting circuits, systems and methods that can provide a level shifted

representation as an output or present a high impedance state. The disclosed circuits, systems and methods may provide interoperability with circuits having dynamic node, for example in memory systems having a shared read and write bit line. The disclosed circuits, systems and methods may provide such interoperability concurrent with acceptable levels of silicon area and power consumption.

[0006] In one exemplary embodiment, a level shifting circuit comprises a data input for accepting a first discrete voltage level to be shifted, a level shifting portion coupled to the input and to a second discrete voltage level, an enable portion having an enable input and coupled to the level shifting portion and an output. The level shifting circuit is configured to translate the data input at the first discrete voltage level into a second discrete voltage level. The enable portion is configured to selectively provide either the second discrete voltage level to the output or decouple at least a portion of the level shifting portion from the output based on the enable input.

[0007] In another exemplary embodiment, a method of operating a memory comprises receiving a data input driven by a first supply at a level shifting circuit, receiving a signal at an enable input of the level shifting circuit which enables the level shifting circuit, driving a level-shifted representation of the data input by a second supply onto a bit line during a write operation. The method further comprises receiving a signal at the enable input of the level shifting circuit which decouples at least a portion of the level shifting circuit from the bit line during a read operation.

[0008] In another exemplary embodiment, a memory system comprises a plurality of columns in a first voltage domain and a plurality of level shifting circuits, each level shifting circuit of the plurality of level shifting circuit coupled to one of the columns of the plurality of columns. Each column comprises a plurality of bit cells each coupled to a pair of shared read and write bit lines. Each level shifting circuit has a pair of complementary data inputs, an enable input and a pair of complementary data outputs, where the pair of complementary data outputs are coupled to the pair of shared read and write bit lines. In response to a signal at the enable input enabling the level shifting circuit, the level shifting circuit is adapted to receive signals at the pair of

complementary data inputs from a second voltage domain and provide a representation of the signals translated into the first voltage domain to the pair of shared read and write bit lines via the pair of complementary data outputs. In response to a signal at the enable input disabling the level shifting circuit, the level shifting circuit is adapted to decouple a portion of the level shifting circuit from the pair of shared read and write bit lines.

BRIEF DESCRIPTION OF THE FIGURES

[0009] Figure 1 is a schematic diagram of an exemplary level shifting circuit having a bias voltage.

[0010] Figure 2 is a schematic diagram of an exemplary conventional level shifting circuit providing static level shifting of a data input.

[0011] Figure 3 is a block diagram of an illustrative dynamic voltage level shifting circuit.

[0012] Figure 4 is a schematic diagram of an illustrative dynamic voltage level shifting circuit.

[0013] Figure 5 is a block diagram of a memory system including a dynamic voltage level shifting circuit.

[0014] Figure 6 is a flowchart illustrating a method of operating a dynamic voltage level shifting circuit.

[0015] Figure 7 is a graphical illustration of a system where a dynamic voltage level shifting circuit may be used.

DETAILED DESCRIPTION

[0016] Figure 3 illustrates a high-level block diagram of a dynamic voltage level shifting circuit according to one embodiment, generally designated at 300. The dynamic level shifting circuit includes an input 310, a level shifting portion 320, an enable input 330, an enable portion 340 and an output 350.

[0017] The input 310 is coupled to the level shifting portion 320 and provides an input signal at a first discrete voltage level. The level shifting portion 320 translates the input signal at the first discrete voltage level into a second discrete voltage level which is different from the first discrete voltage level. For example, the first discrete voltage level may power circuits in a first voltage domain, and the second discrete voltage may power circuits in a second voltage domain. [0018] The level shifting portion 320 is coupled to the enable portion 340. The enable portion 340 is configured to selectively provide the second discrete voltage level to the output 350 or to decouple at least a portion of the level shifting portion 320 from the output 350 based on the enable input 330.

[0019] Figure 4 illustrates a dynamic voltage level shifting circuit, generally designated at 400 which includes a data input 410, a complement data input 412 and a level shift enable input 414. The level shifter circuit 400 further includes a pull-up section 420 coupled to a first supply 429 and an evaluation section 430 coupled to ground 439. The level shifter circuit 400 includes a complement data output 450 and a data output 452. The data input 410 and the complement data input 412 are driven by a circuit 460 coupled to a second supply 462.

[0020] The pull-up section 420 is configured to couple the couplement data output 450 and the data output 452 to the second supply 462 in response to the data input 410 and complement data input 412. With continuing reference to Figure 4, the pull-up section 420 comprises a first pull-up circuit 422 A and a second pull-up circuit 422B. In the illustrated embodiment, the first pull-up circuit 422A is comprised of a feedback PMOS transistor 423 A, a feedback input 424A, a data input PMOS transistor 425 A, a data input 426A and a pull-up output 428A. The feedback PMOS transistor 423A and the data input PMOS transistor 425A are coupled in series between the first supply 429 and the pull-up output 428A. The second pull-up circuit 422B is comprised of a feedback PMOS transistor 423B, a feedback input 424B, a data input PMOS transistor 425B, a data input 426B and a pull-up output 428B. The feedback PMOS transistor 423B and the data input PMOS transistor 425B are coupled in series between the first supply 429 and the pull-up output 428B. The data input 410 is coupled to the data input 426 A of the first pull-up circuit 422 A. The complement data input 412 is coupled to the data input 426B of the second pull-up circuit 422B. The pull-up output 428 A of the first pull-up circuit 422A is coupled to the feedback input 424B of the second pull-up circuit 422B, and the pull-up output 428B of the second pull-up circuit 422B is coupled to the feedback input 424A of the first pull-up circuit 422A. Those skilled in the art will recognize that other configurations of the pull-up section 420 are possible. For example, the feedback PMOS transistors 423A and the data input PMOS transistors 425A could be interchanged as could 423B and 425B. [0021] The evaluation section 430 is configured either to provide a complementary level-shifted representation of the data input 410 and complement data input 412 at the complement data output 452 and the data output 450 by coupling one of the

complement data output 450 and the data output 450 to the ground 439 when enabled, or to present a high impedance to the complement data output 450 and the data output 452 when not enabled. With continuing to Figure 4, the evaluation section 430 comprises a first evaluation circuit 432A and a second evaluation circuit 432B. The first evaluation circuit 432A is comprised of a data input NMOS transistor 433A, a data input 434A, an enable NMOS transistor 435A, an enable input 436A and an evaluation output 438A. The data input NMOS transistor 433A and the enable NMOS transistor 435 A are coupled in series between the ground 439 and the evaluation output 438 A. The second evaluation circuit 432B is comprised of a data input NMOS transistor 433B, a data input 434B, an enable NMOS transistor 435B, an enable input 436B and an evaluation output 438B. The data input NMOS transistor 433B and the enable NMOS transistor 435B are coupled in series between a ground 439 and the evaluation output 438B. The data input 410 is coupled to the data input 434A of the first evaluation circuit 432A. The complement data input 412 is coupled to the data input 434B of the second evaluation circuit 432B. The enable inputs 436A and 436B couple the level shift enable input 414 to enable NMOS transistors 435A and 435B, and allow the level shifting circuit 400 to isolate spurious logic low to logic high transitions on the data input 410 and complement data input 412 from the data output 452 and the complement data output 450.

[0022] Those skilled in the art will recognize that other configurations of the evaluation section 430 are possible. For example, in evaluation circuits 432A and 432B, the order of the data input NMOS transistors 433A and the enable NMOS transistors 435A could be interchanged, as could 433B and 435B. Alternatively, each evaluation circuit 432A and 432B could comprise a single NFET controlled by an AND gate, wherein in the first evaluation circuit the AND gate combines the data input 410 and the enable input 414 and in the second evaluation circuit the AND gate combines the complement data input 412 and the enable input 414.

[0023] In order to form the data output 452, the pull-up output 428B of the second pull-up circuit 422B and the evaluation output 438B of the second evaluation circuit 432B are coupled together. To form the complement data output 450, the pull-up output 428 A of the first pull-up circuit 422A and the evaluation output 438 A of the first evaluation circuit 432A are coupled together. Those skilled in the art will recognize that although the outputs of the level shifting circuit 400 are described as the data output 452 and the complement data output 450, the logic values of the data output 452 and the complement data output 450 are not always complementary. For example, during a precharge period, both the data output 452 and the complement data output 450 may both precharge to a logic high value. The data output 452 and the complement data output 450 may subsequently evaluate to complementary logic values in response to the data input 410 and the complement data input 412 when the level shifting circuit 400 is enabled.

[0024] With continuing reference to Figure 4, when a logic high signal is received at the level shift enable input 414, the level shifting circuit 400 receives data and complement data inputs driven by the second supply voltage at data input 410 and complement data input 412 and provides level shifted representations of the data inputs at the first supply voltage on the data output 452 and the complement data output 450. When a logic low signal is received at the level shift enable input 414, the evaluation section 430 of the level shifting circuit 400 is disabled, and the data output 452 and the complement data output 450 are able to be driven by other circuits without interference from the evaluation section 430 of the level shifting circuit 400.

[0025] Those skilled in the art will recognize that other configurations of the level shifting circuit 400 are possible. For example, each pull-up circuit could further include a third PMOS transistor coupled in series with the other two PMOS transistors and connected to a pull-up enable input. This would allow the level shifting circuit 400 to isolate spurious logic high to logic low transitions on the data input 410 and

complement data input 412 from the data output 452 and the complement data output 450. Such a modified pull-up circuit could be used with the evaluation circuit 432 illustrated in Figure 4. Additionally, the level shift enable input 414 or other enable inputs may be driven either by the first supply 429 or the second supply 462. The choice of supply may be influenced by various design considerations including but not limited to the tracking between devices in a memory coupled to the level shifters and the devices in the level shifter, power consumption and leakage of the devices coupled to the level shift enable input 414 or other enable inputs, and overall system topology and timing. [0026] A dynamic voltage level shifting circuit substantially as described may be employed in a memory system to provide voltage level shifted signals to or from the memory system. In this regard, Figure 5 illustrates a memory system 500 a memory 510 in a first voltage domain 520. The memory system 500 includes a plurality of dynamic voltage level shifting circuits shown at 532A - 532 M . The memory 510 is coupled to a circuit 560 in a second voltage domain 530 through the plurality of dynamic voltage level shifting circuits 532A - 532 M .

[0027] In the illustrated embodiment, the memory 510 is comprised of columns 570A - 570M- Each of columns 570A - 570M is comprised of a plurality of memory bit cells 512A - 512 N . Each memory bit cell 512A - 512 N is coupled to a pair of bit lines 514 and 516. Each pair of bit lines 514 and 516 is used during both read and write operations of the memory system 500. Each column 570A - 570M is coupled to one of the plurality of level shifting circuits 532A - 532 M through the pair of bit lines 514 and 516.

[0028] Each level shifting circuit 532 A - 532 M has an enable input 537, a data input 535 and complement data input 536 and a pair of complementary data outputs 533 and 534. In one embodiment, each level shifting circuit 532A - 532M is substantially the same as that presented in Figure 3. The data input 535 and complement data input 536 are coupled to the circuit 560 to receive data inputs from the second voltage domain 530. The pair of complementary data outputs 533 and 534 are coupled to the pair of bit lines 514 and 516 of each column 570A - 570M respectively. In one embodiment, the enable input 537 of each level shifting circuit 532A - 532 M is coupled to a write clock 539. In other embodiments, the enable input 537 of each level shifting circuit 532A - 532M may be tied to another type of enabling signal, or multiple enabling signals may be used.

[0029] During write operations, the write clock 539 is used to enable the level shifting circuits 532 A - 532 M , which translate the signals received via the data input 535 and complement data input 536 from the second voltage domain 530 and provide representations of those signals translated into the first voltage domain 520 via the complementary data outputs 533 and 534 onto the pairs of bit lines 514 and 516 for each column 570A - 570M- During read operations, the write clock 539 is used to disable the level shifting circuits 532 A - 532 M . This allows a value stored in one of the bit cells 512A- 512 to be read out onto the pair of bit lines 514 and 516 without interference from the level shifting circuits 532A - 532 M . [0030] Referring to Figure 6, the operation of a dynamic voltage level shifting circuit is disclosed and generally designated at 600. The operation may be employed by the plurality of dynamic voltage level shifting circuits 532A - 532 M illustrated in Figure 5, for example.

[0031] The method begins with the initiation of a memory operation at block 610. If the memory operation in block 610 is a write, proceed to block 620. At block 620, a data input at a first voltage supply level is received at a level shifting circuit. At block 630, the level shifting circuit receives a signal indicating that the level shifting circuit should be enabled. At block 640, the level shifting circuit is enabled in response to the signal. At block 650, the level shifting circuit provides a level shifted representation of the data input at a second voltage supply level at an output of the level shifting circuit. In one embodiment, the output of the level shifting circuit may be coupled to a shared dynamic read and write bit line of a memory, and the level shifting circuit may provide the level shifted representation of the data input to the shared dynamic read and write bit line. The method then ends at block 680.

[0032] If the memory operation in block 610 is a read, proceed to block 660. At block 660, the level shifting circuit receives a signal indicating that the level shifting circuit should be disabled. At block 670, the level shifting circuit is disabled in response to the signal. Disabling the level shifting circuit may include decoupling at least a portion of the level shifting circuit from the output of the level shifting circuit as described in reference to the embodiments described herein. The method then ends at block 680.

[0033] The level shifting circuit according to the designs and methods discussed herein may be included or integrated in a semiconductor die, integrated circuit, and/or device, including an electronic device and/or processor-based device or system.

Examples of such devices include, without limitation, a set top box, an entertainment unit, a navigation device, a communications device, a personal digital assistant (PDA), a fixed location data unit, a mobile location data unit, a mobile phone, a cellular phone, a computer, a portable computer, a desktop computer, a monitor, a computer monitor, a television, a tuner, a radio, a satellite radio, a music player, a digital music player, a portable music player, a video player, a digital video player, a digital video disc (DVD) player, and a portable digital video player. [0034] Figure 7 shows an exemplary wireless communication system 700 in which an embodiment of the disclosure may be advantageously employed. For purposes of illustration, Figure 7 shows three remote units 720, 730, and 740 and two base stations 750, 760. It will be recognized that wireless communication systems may have many more remote units and base stations. The remote units 720, 730, and 740 include improved semiconductor devices 725A, 725B, and 725C, respectively, which in various embodiments include dynamic voltage level shifting circuits, as discussed above.

Figure 7 shows the forward link signals 780 from the base stations 750, 760 and the remote units 720, 730, and 740 and the reverse link signals 790 from the remote units 720, 730, and 740 to base stations 750, 760.

[0035] In Figure 7, the remote unit 720 is shown as a mobile telephone, the remote unit 730 is shown as a portable computer, and the remote unit 740 is shown as a computer in a wireless local loop system. For example, the remote unit 720 may include mobile devices, such as cell phones, hand-held personal communication systems (PCS) units, portable data units such as personal data assistants. The remote unit 720 may also include fixed location data units such as meter reading equipment. Although Figure 7 illustrates remote units according to the teachings of the disclosure, the disclosure is not limited to these exemplary illustrated units. The disclosure may be suitably employed in any device which includes level shifting circuits. Although specific circuitry has been set forth, it will be appreciated by those skilled in the art that not all of the disclosed circuitry is required to practice the disclosure. Moreover, certain well known circuits have not been described in order to maintain focus on the disclosure.

[0036] The methodologies described herein may be implemented by various components depending upon the application. For example, these methodologies may be implemented in hardware, firmware, software, or any combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof. [0037] For a firmware and/or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in a memory and executed by a processor unit. Memory may be implemented within the processor unit or external to the processor unit. As used herein the term "memory" refers to any type of long term, short term, volatile, nonvolatile, or other memory and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.

[0038] If implemented in firmware and/or software, the functions may be stored as one or more instructions or code on a computer-readable medium. Examples include computer-readable media encoded with a data structure and computer-readable media encoded with a computer program. Computer-readable media includes physical computer storage media. A storage medium may be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer- readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer; disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

[0039] In addition to storage on computer readable medium, instructions and/or data may be provided as signals on transmission media included in a communication apparatus. For example, a communication apparatus may include a transceiver having signals indicative of instructions and data. The instructions and data are configured to cause one or more processors to implement the functions outlined in the claims.

[0040] Although the present disclosure and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the technology of the disclosure as defined by the appended claims. Moreover, the scope of the present application is not intended to be limited to the particular embodiments of the process, machine, manufacture, composition of matter, means, methods and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the disclosure, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed that perform substantially the same function or achieve substantially the same result as the corresponding embodiments described herein may be utilized according to the present disclosure. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.