A run-length limited (RLL) DC-free encoder includes a determination module that receives input words and that determines whether each input word is a member of one of a first input set and a second input set, a first mapping module that maps the first ones of the input words of the first input set to corresponding output words that are run-length limited and DC-free, a second mapping module that maps the second ones of the input words of the second input set to corresponding output words that are run-length limited and have a negative digital sum, and an inverter module that selectively inverts the output words from the second mapping module based on a cumulative digital sum of the output words.
|
23. A decoding method, comprising:
receiving encoded input words;
determining whether hamming weights of the input words are equal to a predetermined hamming weight;
mapping the input words to first corresponding output words when the hamming weights of the input words are equal to the predetermined hamming weight; and
mapping the input words to second corresponding output words when the hamming weights of the input words are not equal to the predetermined hamming weight.
38. A decoder comprising:
determination means for receiving encoded input words and determining whether hamming weights of the input words are equal to a predetermined hamming weight;
first mapping means for mapping the input words to first corresponding output words when the hamming weights of the input words are equal to the predetermined hamming weight; and
second mapping means for mapping the input words to second corresponding output words when the hamming weights of the input words are not equal to the predetermined hamming weight.
8. A decoder comprising:
a determination module that receives encoded input words and that determines whether a hamming weight of the input words is equal to a predetermined hamming weight;
a first mapping module that maps the input words to first corresponding output words when the hamming weights of the input words are equal to the predetermined hamming weight; and
a second mapping module that maps the input words to second corresponding output words when the hamming weights of the input words are not equal to the predetermined hamming weight.
16. A run-length limited (RLL) DC-free encoding method, comprising:
receiving input words and determining whether each input word is a member of one of a first input set and a second input set,
mapping the first ones of the input words of the first input set to corresponding output words that are run-length limited and DC-free;
mapping the second ones of the input words of the second input set to corresponding output words that are run-length limited and have a negative digital sum; and
selectively inverting the output words from the second mapping module based on a cumulative digital sum of the output words.
31. A run-length limited (RLL) DC-free encoder, comprising:
determination means for receiving input words and determining whether each input word is a member of one of a first input set and a second input set,
first mapping means for mapping the first ones of the input words of the first input set to corresponding output words that are run-length limited and DC-free;
second mapping means for mapping the second ones of the input words of the second input set to corresponding output words that are run-length limited and have a negative digital sum; and
inverter means for selectively inverting the output words from the second mapping module based on a cumulative digital sum of the output words.
1. A run-length limited (RLL) DC-free encoder, comprising:
a determination module that receives input words and that determines whether each input word is a member of one of a first input set and a second input set,
a first mapping module that maps the first ones of the input words of the first input set to corresponding output words that are run-length limited and DC-free;
a second mapping module that maps the second ones of the input words of the second input set to corresponding output words that are run-length limited and have a negative digital sum; and
an inverter module that selectively inverts the output words from the second mapping module based on a cumulative digital sum of the output words.
2. The encoder of
3. The encoder of
4. The encoder of
5. The encoder of
6. The encoder of
7. The encoder of
9. The decoder of
10. The decoder of
11. The decoder of
12. The decoder of
13. The decoder of
14. The decoder of
15. The decoder of
17. The method of
18. The method of
19. The method of
20. The method of
21. The method of
24. The method of
25. The method of
26. The method of
27. The method of
29. The method of
32. The encoder of
33. The encoder of
34. The encoder of
35. The encoder of
36. The encoder of
37. The encoder of
39. The decoder of
40. The decoder of
41. The decoder of
42. The decoder of
43. The decoder of
44. The decoder of
45. The decoder of
46. The encoder of
47. The encoder of
49. The decoder of
50. The decoder of
|
This application claims the benefit of U.S. Provisional Application No. 60/783,943, filed on Mar. 20, 2006. The disclosure of the above application is incorporated herein by reference in its entirety.
The present disclosure relates to networks, and more particularly to data coding in physical coding sublayers of physical layer devices in network devices.
The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Referring now to
A run-length limited (RLL) DC-free encoder includes a determination module that receives input words and that determines whether each input word is a member of one of a first input set and a second input set, a first mapping module that maps the first ones of the input words of the first input set to corresponding output words that are run-length limited and DC-free, a second mapping module that maps the second ones of the input words of the second input set to corresponding output words that are run-length limited and have a negative digital sum, and an inverter module that selectively inverts the output words from the second mapping module based on a cumulative digital sum of the output words.
In other features the second mapping module determines the Hamming weight of each of the second ones of the input words of the second input set and maps each of the second ones of the input words to the corresponding output word based on the Hamming weight of the input word. The output words are encoded in a non-return to zero (NRZ) format. The input words are 7-bit words and the output words are 8-bit words. The first mapping module appends one of a 1 and a 0 to each 7-bit word in the first input set based on the Hamming weight of the 7-bit word. The second mapping module includes a table of functions that is indexed by variables y and d, wherein the second mapping module sets y=x and d=0 when H(x) is less than or equal to three and sets y= and d=1 when H(x) is greater than or equal to four and maps y to one of the output words based on the function selected from the table based on y and d, wherein x is one of the 7-bit words, and wherein H(x) is the Hamming weight of x. The first and second mapping modules employ respective block codes.
A decoder includes a determination module that receives encoded input words and that determines whether a Hamming weight of the input words is equal to a predetermined Hamming weight, a first mapping module that maps the input words to first corresponding output words when the Hamming weights of the input words are equal to the predetermined Hamming weight, and a second mapping module that maps the input words to second corresponding output words when the Hamming weights of the input words are not equal to the predetermined Hamming weight.
In other features the second mapping module includes an inverter that inverts the input words when the Hamming weights of the input words exceed the predetermined Hamming weight. The second mapping module maps the inverted input words to the corresponding output words when the Hamming weights of the input words exceed the predetermined Hamming weight. The output words are encoded in a non-return to zero (NRZ) format. The input words are 8-bit words and the output words are 7-bit words. The first mapping module deletes a predetermined bit from the input words. The first mapping module selectively inverts remaining bits of the input words based on the deleted bit. The first and second mapping modules employ respective block codes.
A run-length limited (RLL) DC-free encoding method includes receiving input words and determining whether each input word is a member of one of a first input set and a second input set, mapping the first ones of the input words of the first input set to corresponding output words that are run-length limited and DC-free, mapping the second ones of the input words of the second input set to corresponding output words that are run-length limited and have a negative digital sum; and selectively inverting the output words from the second mapping module based on a cumulative digital sum of the output words.
In other features the method includes determining the Hamming weight of each of the second ones of the input words of the second input set and mapping each of the second ones of the input words to the corresponding output word based on the Hamming weight of the input word. The output words are encoded in a non-return to zero (NRZ) format. The input words are 7-bit words and the output words are 8-bit words. The method includes appending one of a 1 and a 0 to each 7-bit word in the first input set based on the Hamming weight of the 7-bit word. Mapping the second ones of the input words includes employing a table of functions that is indexed by variables y and d, setting y=x and d=0 when H(x) is less than or equal to three and setting y= and d=1 when H(x) is greater than or equal to four, and mapping y to one of the output words based on the function selected from the table based on y and d, wherein x is one of the 7-bit words, and wherein H(x) is the Hamming weight of x. Each of the mapping steps employ respective block codes.
A decoding method includes receiving encoded input words, determining whether Hamming weights of the input words are equal to a predetermined Hamming weight, mapping the input words to first corresponding output words when the Hamming weights of the input words are equal to the predetermined Hamming weight, and mapping the input words to second corresponding output words when the Hamming weights of the input words are not equal to the predetermined Hamming weight.
In other features the method includes inverting the input words when the Hamming weights of the input words exceed the predetermined Hamming weight. The method includes mapping the inverted input words to the corresponding output words when the Hamming weights of the input words exceed the predetermined Hamming weight. The output words are encoded in a non-return to zero (NRZ) format. The input words are 8-bit words and the output words are 7-bit words. The method includes deleting a predetermined bit from the input words. The method includes selectively inverting remaining bits of the input words based on the deleted bit. The mapping steps employ respective block codes.
A run-length limited (RLL) DC-free encoder includes determination means for receiving input words and determining whether each input word is a member of one of a first input set and a second input set, first mapping means for mapping the first ones of the input words of the first input set to corresponding output words that are run-length limited and DC-free, second mapping means for mapping the second ones of the input words of the second input set to corresponding output words that are run-length limited and have a negative digital sum, and inverter means for selectively inverting the output words from the second mapping module based on a cumulative digital sum of the output words.
In other features the second mapping means determines the Hamming weight of each of the second ones of the input words of the second input set and maps each of the second ones of the input words to the corresponding output word based on the Hamming weight of the input word. The output words are encoded in a non-return to zero (NRZ) format. The input words are 7-bit words and the output words are 8-bit words. The first mapping means appends one of a 1 and a 0 to each 7-bit word in the first input set based on the Hamming weight of the 7-bit word. The second mapping means includes a table of functions that is indexed by variables y and d, wherein the second mapping means sets y=x and d=0 when H(x) is less than or equal to three and sets y= and d=1 when H(x) is greater than or equal to four and maps y to one of the output words based on the function selected from the table based on y and d, wherein x is one of the 7-bit words, and wherein H(x) is the Hamming weight of x. The first and second mapping means employ respective block codes.
A decoder includes determination means for receiving encoded input words and determining whether Hamming weights of the input words are equal to a predetermined Hamming weight, first mapping means for mapping the input words to first corresponding output words when the Hamming weights of the input words are equal to the predetermined Hamming weight, and second mapping means for mapping the input words to second corresponding output words when the Hamming weights of the input words are not equal to the predetermined Hamming weight.
In other features the second mapping means includes inverter means for inverting the input words when the Hamming weights of the input words exceed the predetermined Hamming weight. The second mapping means maps the inverted input words to the corresponding output words when the Hamming weights of the input words exceed the predetermined Hamming weight. The output words are encoded in a non-return to zero (NRZ) format. The input words are 8-bit words and the output words are 7-bit words. The first mapping means deletes a predetermined bit from the input words. The first mapping means selectively inverts remaining bits of the input words based on the deleted bit. The first and second mapping means employ respective block codes.
A computer program for operating a run-length limited (RLL) DC-free encoder is executed by one or more processors. The computer program can reside on a computer readable medium such as but not limited to memory, non-volatile data storage and/or other suitable tangible storage mediums. The computer program includes receiving input words and determining whether each input word is a member of one of a first input set and a second input set, mapping the first ones of the input words of the first input set to corresponding output words that are run-length limited and DC-free, mapping the second ones of the input words of the second input set to corresponding output words that are run-length limited and have a negative digital sum; and selectively inverting the output words from the second mapping module based on a cumulative digital sum of the output words.
In other features the computer program includes determining the Hamming weight of each of the second ones of the input words of the second input set and mapping each of the second ones of the input words to the corresponding output word based on the Hamming weight of the input word. The output words are encoded in a non-return to zero (NRZ) format. The input words are 7-bit words and the output words are 8-bit words. The computer program includes appending one of a 1 and a 0 to each 7-bit word in the first input set based on the Hamming weight of the 7-bit word. Mapping the second ones of the input words includes employing a table of functions that is indexed by variables y and d, setting y=x and d=0 when H(x) is less than or equal to three and setting y= and d=1 when H(x) is greater than or equal to four, and mapping y to one of the output words based on the function selected from the table based on y and d, wherein x is one of the 7-bit words, and wherein H(x) is the Hamming weight of x. Each of the mapping steps employ respective block codes.
A computer program for decoding run-length limited (RLL) words is executed by one or more processors. The computer program can reside on a computer readable medium such as but not limited to memory, non-volatile data storage and/or other suitable tangible storage mediums. The computer program includes receiving encoded input words, determining whether Hamming weights of the input words are equal to a predetermined Hamming weight, mapping the input words to first corresponding output words when the Hamming weights of the input words are equal to the predetermined Hamming weight, and mapping the input words to second corresponding output words when the Hamming weights of the input words are not equal to the predetermined Hamming weight.
In other features the computer program includes inverting the input words when the Hamming weights of the input words exceed the predetermined Hamming weight. The computer program includes mapping the inverted input words to the corresponding output words when the Hamming weights of the input words exceed the predetermined Hamming weight. The output words are encoded in a non-return to zero (NRZ) format. The input words are 8-bit words and the output words are 7-bit words. The computer program includes deleting a predetermined bit from the input words. The computer program includes selectively inverting remaining bits of the input words based on the deleted bit. The mapping steps employ respective block codes.
Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the disclosure, are intended for purposes of illustration only and are not intended to limit the scope of the disclosure.
The present disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein:
The following description is merely exemplary in nature and is in no way intended to limit the disclosure, its application, or uses. For purposes of clarity, the same reference numbers will be used in the drawings to identify similar elements. As used herein, the term module refers to an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A or B or C), using a non-exclusive logical or. It should be understood that steps within a method may be executed in different order without altering the principles of the present disclosure.
Referring now to
Processors 104 send and receive data. Each MAC 106 forms packets based on the data that is being sent from its respective processor 104. Each MAC 106 also unpacks data from packets that are received from channel 102 and then communicates the unpacked data to its respective receiving processor 104. Each TX PHY 108 includes a first 7/8 lookup table 112 and second 7/8 lookup table 114 that are employed to encode data packets from the associated MAC 106. In some embodiments combinatorial logic and/or state-dependent logic can be employed to implement some or all of the coding that is provided by first and second 7/8 lookup tables 112,114. Each RX PHY 110 includes a respective 8/7 lookup table that is employed to decode 8-bit data words that arrive via channel 102. In some embodiments combinatorial logic and/or state-dependent logic can be employed to implement some or all of the coding that is provided by 8/7 lookup table 116.
The code that is employed by TX PHY 108 and RX PHY 110 will now be described in more detail. The code is a rate-7/8 direct-current (DC)-free runlength limited (RLL) code with a maximum runlength of 6. The digital sum variation of the code is 15, so the code is DC-free. It should be noted that in the discussion below
The ensuing description of the 7/8 code employs the following nomenclature. A Hamming weight of a binary word w, denoted by H(w), is the number of 1's in w. A digital sum of the binary word w, denoted by DS(w), is defined as the number of 1's in w minus the number of 0's in w. Note that DS(w)=2H(w)−|w|, where |w| is the length of w. The digital sum variation (DSV) of the binary word w is defined as
where wli is the prefix length i of w. The DSV can be defined for a right infinite sequence as well. An infinite sequence is DC-free if its DSV is bounded.
Note that if an infinite sequence has a finite DSV N then its spectrum has a null at DC with the cutoff frequency ω0 given by
For an ensemble of maxentropic sequences, the above equation becomes an equality with both sides being the sum variance. With N=15, the 7/8 DC-free RLL code has cutoff frequency ω0=0.0598. If the transmission rate is, by example, 1 GHz and a high-pass filter is used, then the high-pass cutoff must be much smaller than 1000×2×0.0598=120 MHz to limit signal distortion.
Referring now to
The 7/8 code maps the 7-bit words x to a set W of 8-bit words w. The set W includes all 8-bit words having leading and trailing runlengths of at most three. That is, the set W excludes 8-bit words that begin or end with four 1's or four 0's, i.e. 0000XXXX, 1111XXXX, XXXX0000, and XXXX1111. The set W therefore contains 196 8-bit words.
The set W includes a subset W− and a subset W+. The subset W− includes the 8-bit words w with a Hamming weight less than or equal to 4. The set W+ includes only the 8-bit words w with a Hamming weight greater than or equal to 4. The 8-bit words w that have a Hamming weight equal to 4 belong to an intersecting set 124 of subset W− and subset W+.
The subset W− and the subset W+ each include 132 8-bit words. Observe that |W−|=|W+|=132≧128. Therefore, two functions ƒ− and ƒ+ can map any 7-bit word x to a corresponding 8 bit word w. The functions ƒ− and ƒ+ are one-to-one and the ranges of functions ƒ− and ƒ+ are contained in the subsets W− and W+, respectively. If a word w is in the ranges of ƒ− and ƒ+, then ƒ−−1(w)=ƒ+−1(w). Referring briefly to
Referring now to
Returning now to decision block 144, if the 7-bit word x is not in the subset X, (i.e. the 7-bit word is in the subset X′ by default), then control branches to decision block 146 and determines if the present value of the cumulative digital sum is less than zero. If so, then control branches to block 156 and generates the corresponding 8-bit word w based on the function
Returning now to decision block 146, if the present value of the cumulative digital sum is greater than or equal to zero then control branches to block 148 and generates the corresponding 8-bit word w based on the function h(x). The function h(x) is chosen to generate 8-bit words w that reduce the cumulative digital sum and have a run length of at most 4. An example function h(x) is described below. From block 148 control branches to block 150 and updates the cumulative digital sum based the new 8-bit word w.
The functions g(x), h(x), and
An implementation of the functions h(x) and
Referring now to
Control enters via block 172 and immediately proceeds to decision block 174. In decision block 174 control determines whether H(x) is equal to 3. If so, then control branches to block 180 and implements g(x) by appending a 1 to x. If H(x) is not equal to 3 in decision block 174 then control can assume that H(x) is equal to 4 (since x is a member of the subset X) and implement g(x) by branching to block 176 to append a 0 to the 7-bit word x. Control returns to other processes via exit block 178 after appending the 0 or 1 in blocks 176 and 180, respectively.
Referring now to
Control enters via block 186 and immediately proceeds to decision block 188. In decision block 188 control determines whether H(x) is less than or equal to 3. If so, then control branches to block 190 to set the variable y equal to x and sets the variable d equal to 0. Control then branches to block 192 and looks up h(x) in the table of
Referring now to
Referring now to
A first module 226 and second module 228 simultaneously receive the 8-bit word x. First module 226 generates an output signal based on g−1(x) and discarding the bit that was appended by TX PHY 108 (see flowchart 170 of
Second module 228 selectively inverts w based on the first control signal 223 and then communicates the result to a third module 230. Third module 230 generates an output signal based on h−1(x). The output signal of third module 230 is communicated to the second input 229 of multiplexer 224. The output 227 of multiplexer 224 provides the decoded 7-bit word x based on the multiplexer control signal in the signals at first input 225 and second input 229.
TX PHY 108 can periodically insert a sync word into the coded sequence of 8-bit words x. RX PHY 110 can then synchronize with the incoming stream of 8-bit words x based on the inserted sync words.
The sync word may be chosen such that it satisfies the runlength constraint and has zero disparity (number of 0's=number of 1's). However, it is possible that the sync word pattern may appear in the coded data. If there is a timing problem and re-sync is needed, then there is a chance that the sync word is detected incorrectly. Thus, a sync word may be chosen that violates the runlength constraint. Examples of sync words are v=00000001 and w=111111110. TX PHY 108 inserts v if the cumulative digital sum is greater than or equal to zero and inserts w if the cumulative digital sum is less than zero. These sync words increase maximum runlength from 6 to 10. Degradation of maximum runlength can be reduced if longer sync words are used, such as v=100000001 and w=011111110. However, the length of these sync words (9 bits) is not as convenient to implement since the block length of the code is 8. Another choice is to use single 16-bit DC-free word such as 1110000000110111.
Referring now to
The HDD PCB 202 includes the read channel 209, a hard disk controller (HDC) module 210, a buffer 211, nonvolatile memory 212, a processor 213, and a spindle/VCM driver module 214. The read channel 209 processes data received from and transmitted to the preamplifier device 208 in accordance with the 28/30 DC-free RLL code. The HDC module 210 controls components of the HDA 201 and communicates with an external device (not shown) via an I/O interface 215. The external device may include a computer, a multimedia device, a mobile computing device, etc. The I/O interface 215 may include wireline and/or wireless communication links.
The HDC module 210 may receive data from the HDA 201, the read channel 209, the buffer 211, nonvolatile memory 212, the processor 213, the spindle/VCM driver module 214, and/or the I/O interface 215. The processor 213 may process the data, including encoding, decoding, filtering, and/or formatting. The processed data may be output to the HDA 201, the read channel 209, the buffer 211, nonvolatile memory 212, the processor 213, the spindle/VCM driver module 214, and/or the I/O interface 215.
The HDC module 210 may use the buffer 211 and/or nonvolatile memory 212 to store data related to the control and operation of the HDD 200. The buffer 211 may include DRAM, SDRAM, etc. The nonvolatile memory 212 may include flash memory (including NAND and NOR flash memory), phase change memory, magnetic RAM, or multi-state memory, in which each memory cell has more than two states. The spindle/VCM driver module 214 controls the spindle motor 206 and the VCM 207. The HDD PCB 202 includes a power supply 216 that provides power to the components of the HDD 200.
Referring now to
The DVD control module 221 controls components of the DVDA 220 and communicates with an external device (not shown) via an I/O interface 229. The external device may include a computer, a multimedia device, a mobile computing device, etc. The I/O interface 229 may include wireline and/or wireless communication links.
The DVD control module 221 may receive data from the buffer 222, nonvolatile memory 223, the processor 224, the spindle/FM driver module 225, the analog front-end module 226, the write strategy module 227, the DSP module 228, and/or the I/O interface 229. The processor 224 may encode and decode the data in accordance with the 28/30 DC-free RLL code. The processor 224 may also process the data, including filtering, and/or formatting. The DSP module 228 performs signal processing, such as video and/or audio coding/decoding. The processed data may be output to the buffer 222, nonvolatile memory 223, the processor 224, the spindle/FM driver module 225, the analog front-end module 226, the write strategy module 227, the DSP module 228, and/or the I/O interface 229.
The DVD control module 221 may use the buffer 222 and/or nonvolatile memory 223 to store data related to the control and operation of the DVD drive 218. The buffer 222 may include DRAM, SDRAM, etc. The nonvolatile memory 223 may include flash memory (including NAND and NOR flash memory), phase change memory, magnetic RAM, or multi-state memory, in which each memory cell has more than two states. The DVD PCB 219 includes a power supply 230 that provides power to the components of the DVD drive 218.
The DVDA 220 may include a preamplifier device 231, a laser driver 232, and an optical device 233, which may be an optical read/write (ORW) device or an optical read-only (OR) device. A spindle motor 234 rotates an optical storage medium 235, and a feed motor 236 actuates the optical device 233 relative to the optical storage medium 235.
When reading data from the optical storage medium 235, the laser driver provides a read power to the optical device 233. The optical device 233 detects data from the optical storage medium 235, and transmits the data to the preamplifier device 231. The analog front-end module 226 receives data from the preamplifier device 231 and performs such functions as filtering and A/D conversion. To write to the optical storage medium 235, the write strategy module 227 transmits power level and timing data to the laser driver 232. The laser driver 232 controls the optical device 233 to write data to the optical storage medium 235.
Referring now to
The HDTV 237 can receive input signals from the LAN interface 243A, the modem 243B and/or the external interface 245, which send and receive information via cable, wired or wireless broadband Internet, and/or satellite. The HDTV control module 238 may process the input signals, including encoding, decoding, filtering, and/or formatting, and generate output signals. The output signals may be communicated to one or more of the display 239, memory 241, the storage device 242, the LAN interface 243A, the modem 243B, and the external interface 245.
Memory 241 may include random access memory (RAM) and/or nonvolatile memory such as flash memory, phase change memory, or multi-state memory, in which each memory cell has more than two states. The storage device 242 may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The HDTV control module 238 communicates externally via the LAN interface 243A, the modem 243B, and/or the external interface 245. The power supply 240 provides power to the components of the HDTV 237.
Referring now to
The vehicle control system 247 may communicate with one or more sensors 254 and generate one or more output signals 256. The sensors 254 may include temperature sensors, acceleration sensors, pressure sensors, rotational sensors, airflow sensors, etc. The output signals 256 may control engine operating parameters, transmission operating parameters, suspension parameters, etc.
The power supply 248 provides power to the components of the vehicle 246. The vehicle control system 247 may store data in memory 249 and/or the storage device 250. Memory 249 may include random access memory (RAM) and/or nonvolatile memory such as flash memory, phase change memory, or multi-state memory, in which each memory cell has more than two states. The storage device 250 may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The vehicle control system 247 may use the LAN interface 252 to communicate with other vehicles and/or land-based communications infrastructure.
Referring now to
The phone control module 260 may receive input signals from the cellular network interface 267, the LAN interface 268, the microphone 270, and/or the user input device 276. The phone control module 260 may process signals, including encoding, decoding, filtering, and/or formatting, and generate output signals. The output signals may be communicated to one or more of memory 264, the storage device 266, the cellular network interface 267, the LAN interface 268, and the audio output 272.
Memory 264 may include random access memory (RAM) and/or nonvolatile memory such as flash memory, phase change memory, or multi-state memory, in which each memory cell has more than two states. The storage device 266 may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The power supply 262 provides power to the components of the cellular phone 258.
Referring now to
The set top control module 280 may receive input signals from the LAN interface 285 and an external interface 287, which can send and receive information via cable, broadband Internet, and/or satellite. The set top control module 280 may process signals, including encoding, decoding, filtering, and/or formatting, and generate output signals. The output signals may include audio and/or video signals in standard and/or high definition formats. The output signals may be communicated to the LAN interface 285A, the modem 285B, and/or to the display 281. The display 281 may include a television, a projector, and/or a monitor.
The power supply 282 provides power to the components of the set top box 278. Memory 283 may include random access memory (RAM) and/or nonvolatile memory such as flash memory, phase change memory, or multi-state memory, in which each memory cell has more than two states. The storage device 284 may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD).
Referring now to
The mobile device control module 290 may receive input signals from the LAN interface 294 and/or the external interface 299. The external interface 299 may include USB, infrared, and/or Ethernet. The input signals may include compressed audio and/or video, and may be compliant with the MP3 format. Additionally, the mobile device control module 290 may receive input from a user input 296 such as a keypad, touchpad, or individual buttons. The mobile device control module 290 may process input signals, including encoding, decoding, filtering, and/or formatting, and generate output signals.
The mobile device control module 290 may output audio signals to an audio output 297 and video signals to a display 298. The audio output 297 may include a speaker and/or an output jack. The display 298 may present a graphical user interface, which may include menus, icons, etc. The power supply 291 provides power to the components of the mobile device 289. Memory 292 may include random access memory (RAM) and/or nonvolatile memory such as flash memory, phase change memory, or multi-state memory, in which each memory cell has more than two states. The storage device 293 may include an optical storage drive, such as a DVD drive, and/or a hard disk drive (HDD). The mobile device may include a personal digital assistant, a media player, a gaming console or other mobile computing device.
Those skilled in the art can now appreciate from the foregoing description that the broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, the specification and the following claims.
Wu, Zining, Chaichanavong, Panu
Patent | Priority | Assignee | Title |
10944435, | Mar 27 2020 | NXP B.V. | Tearing save encoding |
7675436, | Mar 20 2006 | Marvell International Ltd. | Rate-7/8 direct-current free and runlength limited code |
8831142, | Dec 18 2012 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Adaptive cancellation of voltage offset in a communication system |
Patent | Priority | Assignee | Title |
6337909, | Oct 10 1996 | Certicom Corp | Generation of session keys for El Gamal-like protocols from low hamming weight integers |
6425107, | Jan 30 1997 | Fujitsu Network Communications, Inc.; Fujitsu Limited | Data encoder/decoder for a high speed serial link |
6480125, | Jun 09 2000 | Seagate Technology LLC | Method and apparatus for efficient encoding of large data words at high code rates |
7149955, | Mar 07 2001 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Encoding and decoding apparatus and method with hamming weight enhancement |
7218255, | Dec 04 2002 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Methods and apparatus for improving minimum Hamming weights of a sequence |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 03 2007 | CHAICHANAVONG, PANU | MARVELL SEMICONDUCTOR, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018884 | /0439 | |
Jan 03 2007 | WU, ZINING | MARVELL SEMICONDUCTOR, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018884 | /0439 | |
Jan 04 2007 | Marvell International Ltd. | (assignment on the face of the patent) | / | |||
Jan 04 2007 | MARVELL SEMICONDUCTOR, INC | MARVELL INTERNATIONAL LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018763 | /0900 | |
Dec 31 2019 | MARVELL INTERNATIONAL LTD | CAVIUM INTERNATIONAL | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 052918 | /0001 | |
Dec 31 2019 | CAVIUM INTERNATIONAL | MARVELL ASIA PTE, LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 053475 | /0001 |
Date | Maintenance Fee Events |
Mar 16 2012 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Mar 16 2016 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
May 04 2020 | REM: Maintenance Fee Reminder Mailed. |
Oct 19 2020 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Sep 16 2011 | 4 years fee payment window open |
Mar 16 2012 | 6 months grace period start (w surcharge) |
Sep 16 2012 | patent expiry (for year 4) |
Sep 16 2014 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 16 2015 | 8 years fee payment window open |
Mar 16 2016 | 6 months grace period start (w surcharge) |
Sep 16 2016 | patent expiry (for year 8) |
Sep 16 2018 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 16 2019 | 12 years fee payment window open |
Mar 16 2020 | 6 months grace period start (w surcharge) |
Sep 16 2020 | patent expiry (for year 12) |
Sep 16 2022 | 2 years to revive unintentionally abandoned end. (for year 12) |