A prepended parity data encoder is loaded with sets of data and constant data, which are used for parity calculation. A shift circuit shifts each of the plural sets of data and the constant data, one bit at a time in parallel. When the constant data is output from the shift circuit, a parity generator dynamically generates prepended parity data based on the constant data and the plural sets of data.
|
1. An encoder, comprising:
a shift circuit that is loaded with plural sets of data and constant data, which are used for parity calculation, wherein the shift circuit shifts each of the plural sets of data and the constant data one bit at a time in parallel; and
a parity generator, connected to the shift circuit, that dynamically generates, based on the constant data and the plural sets of data, prepended parity data that is attached to the plural sets of data when the constant data is shifted out of the shift circuit, wherein the shift circuit includes:
a data shifter that is loaded with and outputs the plural sets of data; and
an extended shifter, connected to the data shifter, that is loaded with the constant data and sequentially outputs the constant data and the plural sets of data output from the data shifter.
15. An encoder, comprising:
a data shifter that is loaded with plural sets of data, wherein the data shifter shifts each of the plural sets of data one bit at a time in parallel;
an extended shifter, connected to the data shifter, that is loaded with constant data used for parity calculation, wherein the extended shifter sequentially shifts the constant data and the plural sets of data output from the data shifter, one bit at a time;
a parity generator, connected to the data shifter and the extended shifter, that dynamically generates, based on the constant data and the plural sets of data, prepended parity data; and
an output selection circuit connected to the parity generator and the extended shifter, wherein the output selection circuit selectively outputs the prepended parity data generated by the parity generator, and the shift data that is output from the extended circuit.
2. The encoder of
3. The encoder of
5. The encoder of
6. The encoder of
7. The encoder of
8. The encoder of
9. The encoder of
10. The encoder of
wherein the extended shifter shifts and outputs the constant data one bit at a time and, after the constant data, shifts and outputs bit data that is sequentially output from the data shifter one bit at a time.
11. The encoder of
an output selection circuit connected to the parity generator and the extended shifter, wherein the extended shifter is arranged between the data shifter and the output selection circuit.
12. The encoder of
14. The encoder of
16. The encoder of
17. The encoder of
|
The present disclosure is related to an encoder for generating parity data and, more particularly, to an encoder for generating parity data that is prepended to data and serially transmitted.
In digital data serial communication systems, parity data normally is appended to transmission data. The parity data is used to detect transmission errors.
When a data stream including N sets of data is transmitted from a transmitter, every one of the N sets of data is necessary to calculate parity. Accordingly, when appending parity data to the data, the transmitter dynamically calculates the parity data while sequentially transmitting data. In this case, a receiver first receives the N sets of data and then receives the appended parity data, which were generated based on the N sets of data. Thus, the parity data is not received until all of the N sets of data have been received. Accordingly, after receiving all of the data, an error check using the parity data is performed. Thus, when using appended parity data, a communication error cannot be detected at an early stage.
To cope with this problem, parity data may be prepended to the N sets of data that are to be transmitted. Then, for example, if a short circuit occurs in a communication line and produces an error in which all of the received data is fixed to 0 or 1, the use of prepended parity data would enable the receiver to detect such an erroneous state during an initial period of the communication. Thus, it would be advantageous to have an encoder that generates prepended parity data.
The invention, together with objects and advantages thereof, may best be understood by reference to the following description of the presently preferred embodiments together with the accompanying drawings in which:
In the drawings, like numerals are used for like elements throughout. The present invention provides a logic circuit that generates prepended parity bits.
In one embodiment, the present invention is an encoder that includes a shift circuit that is loaded with plural sets of data, and constant data that is used for parity calculation. The shift circuit shifts each of the plural sets of data and the constant data one bit at a time in parallel. A parity generator dynamically generates, based on the constant data and the plural sets of data, parity data that is prepended to the plural sets of data when the constant data is output from the shift circuit.
A further aspect of the present invention is an encoder that includes a data shifter that is loaded with plural sets of data. The data shifter shifts each of the plural sets of data one bit at a time in parallel. An extended shifter is loaded with constant data used for parity calculation. The extended shifter sequentially shifts the constant data and the plural sets of data, which are output from the data shifter, one bit at a time. A parity generator dynamically generates, based on the constant data and the plural sets of data, parity data that is prepended to the plural sets of data when the constant data is being shift-output from the extended shifter. An output selection circuit is connected to the parity generator and the extended shifter. The output selection circuit selectively outputs the prepended parity data, and the shift data output from the extended circuit.
Another aspect of the present invention is a method for transmitting a data stream including prepended parity data. The method includes shifting constant data for parity calculation one bit at a time and outputting the constant data as shift data, shifting each of plural sets of data one bit at a time in parallel with the shifting of the constant data to output plural sets of data as the shift data after the constant data, dynamically generating prepended parity data based on the constant data and the plural sets of data when the constant data is being output as the shift data, and transmitting the data stream including the prepended parity data and the following plural sets of data to a serial communication channel.
Other aspects and advantages of the present invention will become apparent from the following description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
A communication system, which employs one embodiment of a parity encoder 20 in accordance with the present invention, will now be discussed.
The transmitter 10 includes the encoder 20, which functions as a parity generator for generating the parity data 16. The encoder 20 comprises an integrated circuit (IC) formed with random logic gates. In one embodiment, the encoder 20 uses constant data 22 to generate the parity data 16 for the N sets of data 0 to N−1. For example, when each of the N sets of data includes M bits, the constant data 22 also will include M bits. The constant data 22 is set to a value that is in accordance with a calculation equation for the parity data 16 (e.g., even parity calculation or odd parity calculation) and/or the type of the communication channel 14 (i.e., communication protocol). For example, the constant data may be “00000000” or “0Fh” (in which h expresses a hexadecimal numeral). The constant data 22 is combined with the N sets of data to generate the desired parity data 16.
The receiver 12 receives the data stream transmitted from the transmitter 10 via the communication channel 14. Since the parity data 16 is transmitted by the transmitter 10 first, the receiver 12 receives the parity data 16 and then sequentially receives the data 0 to data N−1 afterwards.
The receiver 12 includes a calculator 26, which functions as an error detector for checking the received data for errors. For example, when the receiver 12 is in the process of receiving a data stream, a communication error (data corruption) may occur if noise 18 is mixed with the data in the communication channel 14. The calculator 26 dynamically performs calculation with the N sets of data sequentially received via the channel 14 and determines whether or not each bit of the received data, or a parity check result 24, is the same as an expected value (not shown). If the result 24 and the expected value are the same, the calculator 26 determines that the received data (here, the N sets of data) is free from errors and thus outputs the received data to an internal circuit (not shown) of the receiver 12. The calculator 26 of the receiver 12 may be a microprocessor, which uses software to perform parity checks. Alternatively, the calculator 26 may be hardware, which uses random logic gates or the like.
Referring now to
Each XOR gate 32 is, for example, formed by an XOR gate including (N+1) inputs. The XOR gate 32 receives bits (e.g., the LSB of each data) selected from each of the data 0 to N−1 and the constant data 22 one bit at a time and performs an XOR with N+1 bits in total. In this case, the parity encoder 30 includes M XOR gates.
However, in an actual circuit, an (N+1)-input XOR gate is not formed by a single XOR gate. For example, when using an XOR gate having two inputs, a single (N+1)-input XOR gate is formed by N two-input XOR gates. Accordingly, in the encoder structure of
In one example, a single data frame, which is transmitted and received via serial communication, includes twelve sets of data (i.e., N=12), each having a data length of two bytes (i.e., M=16). In this case, the parity encoder 30 combines the twelve sets of data with two bytes of the constant data 22 to generate two bytes of parity data 16. To form the encoder 30 with the structure shown in
To decrease the number of elements in the logic circuit and reduce the size (area) of the parity encoder, the present invention provides a parity encoder that dynamically generates prepended parity data with a logic circuit.
Referring now to
The shift circuit 42 is loaded in advance with N sets of data (each having M bits), which are included in a single data frame, and constant data 22 (M bits), which is in accordance with a predetermined parity equation. The shift circuit 42 shifts each of the data 0 to N−1 and the constant data 22 one bit at a time, in parallel, in accordance with a serial clock CLK. As a result, shift data Sout is shifted out from the shift circuit 42 bit by bit to the MUX 46.
Further, in accordance with the serial clock CLK, the shift circuit 42 provides the parity generator 44 with each of the data 0 to N−1 and the constant data 22 one bit at a time in parallel from the LSB to the MSB. Accordingly, while performing data shifting and providing the MUX 46 with the shift data Sout, the shift circuit 42 simultaneously provides the parity generator 44 with a plurality of bits (i.e., N+1 bits for each clock cycle) extracted one bit at a time in parallel from each of the data 0 to N−1 and constant data 22. In this case, the data shifting performed with the shift circuit 42 continues until the shift circuit 42 has output all of the constant data 22 and N sets of data. In the shift circuit 42, when the M bits of constant data 22 have all been provided from the shift circuit 42 to the parity generator 44, the N sets of data have also all been provided to the parity generator 44.
The shift circuit 42 includes a data shifter 52, which is loaded with the N sets of data (M bits×N), and an extended shifter 54, which is loaded with the constant data 22 (M bits). The data shifter 52 and the extended shifter 54 are clocked with the serial clock CLK.
The extended shifter 54 is arranged between the data shifter 52 and the MUX 46 so that the constant data 22 (specifically, the LSB of the constant data 22) is output first from the extended shifter 54. The extended shifter 54 shifts data one bit at a time in accordance with the serial clock CLK.
The data shifter 52 is loaded with data 0 to N−1 in the order the data stream is transmitted over the channel 14. The data shifter 52 shifts each of the data 0 to N−1 one bit at a time, in parallel, in accordance with the serial clock CLK. The bit data shifted out from the data shifter 52 is provided to the MUX 46 via the extended shifter 54. Accordingly, the shift circuit 42 outputs the data 0 (specifically, the LSB of the data 0) after the constant data 22. Then, the shift circuit 42 outputs the data 1 to N−1. For example, the LSB of the data 0, which has been transferred from the data shifter 52 to the extended shifter 54, first undergoes data shifting by M bits in the extended shifter 54 and is then output to the MUX 46 from the extended shifter 54.
Based on the N+1 bits selected in a single clock cycle, the parity generator 44 generates part of the parity data 16 as a parity bit Pout. In other words, to generate the single parity bit Pout, N+1 bits, which are extracted one bit at a time in parallel from each of the data 0 to N−1 and constant data 22, are all used. Accordingly, the parity data 16 (i.e., M bits of parity Pout) is generated using all of the N sets of data and the constant data 22.
The parity generator 44 dynamically generates the parity data 16 in synchronism with the timing at which the shift circuit 42 extracts the N+1 bits in each clock cycle. Accordingly, the parity generator 44 also operates in synchronism with the serial clock CLK. As a result, during the period in which the constant data 22 (M bits of shift data Sout) is output from the shift circuit 42, the parity generator 44 outputs the parity data 16 (M bits of parity Pout). In other words, while shifting out the shift data Sout from the shift circuit 42 and transmitting the data 0 to N−1 (data stream formation), the encoder 40 dynamically generates the parity data 16 with the parity generator 44. The extended shifter 54 first outputs the constant data 22 as the shift data Sout. Thus, the data 0 to N−1 is shifted out with a delay corresponding to M bits from the output of the constant data 22. Due to this delay, the encoder 40 dynamically generates the parity data 16 without having to suspend or delay shifting of the data. Accordingly, the shift circuit 42 of the encoder 40 is suitable for the generation of the parity data 16 that is prepended to the data 0 to N−1.
The parity generator 44 is formed, for example, by an XOR gate having N+1 inputs. The (N+1) input XOR gate receives bits selected from each of the data 0 to N−1 and the constant data 22 one bit at a time in parallel and thus XORs N+1 bits in total. In this case, the parity generator 44 includes a single (N+1)-input XOR circuit that is not dependent on the data length M.
If 2-input XOR gates were used to form the (N+1)-input XOR circuit, the parity generator 44 would be formed with N two-input XOR gates. That is, for the encoder structure shown in
When the shift data Dout is shifted out from the shift circuit 42, the MUX 46 selectively outputs the shift data Dout and the parity Pout. Accordingly, the MUX 46 outputs data in synchronism with the serial clock CLK. The MUX may be directly provided with the serial clock CLK. More specifically, the MUX 46 first selects the parity data 16 (M bits of parity Pout) output from the parity generator 44 and then selects the data 0 to N−1 (M bits×N of data Sout).
The encoder 40 may optionally include a fixed data shifter 50, which operates in accordance with the serial clock CLK. The fixed data shifter 50 is used to provide, for example, header data (e.g., M bits) for a device ID or the like. In this case, the MUX 46 selects the parity data 16 (M bits of parity Pout) after the header data output from the fixed data shifter 50 and then selects the data Sout. Further, the encoder 40 may optionally include an input terminal for receiving a constant DC value. The constant DC value is, for example, “0” and used to set any data bit to “0” in accordance with the communication protocol being used.
The MUX 46 has an output terminal connected to an output circuit 48. The output circuit 48 is, for example, a D flip-flop (DFF) and outputs the output data of the MUX 46 as transmission data in synchronism with the serial clock CLK.
The parity encoder 40 has the following advantages. When the constant data 22 is being output from the shift circuit 42 (preferably, the extended shifter 54), the encoder 40 dynamically generates the parity data 16 (prepended parity data) based on the constant data 22 and data 0 to N−1. Accordingly, the encoder 40 is ideal for a communication protocol that uses prepended parity data.
The shift circuit 42 includes the extended shifter 54, which outputs the constant data 22 before outputting the data 0 to N−1. Thus, after transmitting the parity data 16 in correspondence with the data length (M) of the constant data 22, the encoder 40 transmits the data 0 to N−1 without any delays.
The parity generator 44 may comprise a single (N+1)-input XOR circuit that is not dependent on the data length (M) of each of the data 0 to N−1 and constant data 22. This reduces the number of XOR gates for the parity generator 44. For example, the parity generator 44 may be formed with N two-input XOR gates that are not dependent on the data length (M). Accordingly, the number of XOR gates is decreased to 1/M compared to that of the encoder structure (parity generator) shown in
It should be apparent to those skilled in the art that the present invention may be embodied in many other specific forms without departing from the spirit or scope of the invention. Particularly, it should be understood that the present invention may be embodied in the following forms.
The shift circuit 42 does not have to be functionally divided into the data shifter 52 and the extended shifter 54. Further, the parity generator 44 is not limited to the use of N two-input XOR gates. Multi-input XOR gates other than two-input XOR gates may be used.
The present examples and embodiments are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalence of the appended claims.
Patent | Priority | Assignee | Title |
10721022, | May 18 2016 | Sony Semiconductor Solutions Corporation | Communication apparatus, communication method, program, and communication system |
Patent | Priority | Assignee | Title |
3727192, | |||
4430737, | Jun 25 1981 | International Business Machines Corporation | Exclusive or circuit and parity checking circuit incorporating the same |
4979185, | Oct 30 1989 | Texas Instruments Incorporated | High speed serial data link |
5608713, | Feb 09 1994 | Sony Corporation | Bit allocation of digital audio signal blocks by non-linear processing |
5778007, | Jun 01 1995 | Micron Technology, Inc. | Method and circuit for transferring data with dynamic parity generation and checking scheme in multi-port DRAM |
7062702, | Mar 14 2001 | VALTRUS INNOVATIONS LIMITED | Efficient parity operations |
20080208939, | |||
20080235556, | |||
20090089642, | |||
JP8050553, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 02 2009 | Freescale Semiconductor, Inc. | (assignment on the face of the patent) | / | |||
Jun 02 2009 | SHINTOMI, YUJI | Freescale Semiconductor, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 022770 | /0543 | |
Aug 04 2009 | Freescale Semiconductor, Inc | CITIBANK, N A | SECURITY AGREEMENT | 023273 | /0099 | |
May 21 2013 | Freescale Semiconductor, Inc | CITIBANK, N A , AS NOTES COLLATERAL AGENT | SECURITY AGREEMENT | 030633 | /0424 | |
Nov 01 2013 | Freescale Semiconductor, Inc | CITIBANK, N A , AS NOTES COLLATERAL AGENT | SECURITY AGREEMENT | 031591 | /0266 | |
Dec 07 2015 | CITIBANK, N A | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS | 053547 | /0421 | |
Dec 07 2015 | CITIBANK, N A | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS | 041703 | /0536 | |
Dec 07 2015 | CITIBANK, N A | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS | 053547 | /0421 | |
Dec 07 2015 | CITIBANK, N A , AS COLLATERAL AGENT | Freescale Semiconductor, Inc | PATENT RELEASE | 037354 | /0823 | |
Dec 07 2015 | CITIBANK, N A | MORGAN STANLEY SENIOR FUNDING, INC | ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS | 037486 | /0517 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 042762 | /0145 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | SECURITY AGREEMENT SUPPLEMENT | 038017 | /0058 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051145 | /0184 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051029 | /0387 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051029 | /0001 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051145 | /0184 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 039361 | /0212 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051030 | /0001 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051029 | /0387 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 051029 | /0001 | |
Feb 18 2016 | NXP B V | MORGAN STANLEY SENIOR FUNDING, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058 ASSIGNOR S HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT | 042985 | /0001 | |
May 25 2016 | Freescale Semiconductor, Inc | MORGAN STANLEY SENIOR FUNDING, INC | SUPPLEMENT TO THE SECURITY AGREEMENT | 039138 | /0001 | |
Jun 22 2016 | MORGAN STANLEY SENIOR FUNDING, INC | NXP B V | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001 ASSIGNOR S HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST | 052915 | /0001 | |
Jun 22 2016 | MORGAN STANLEY SENIOR FUNDING, INC | NXP B V | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001 ASSIGNOR S HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST | 052915 | /0001 | |
Jun 22 2016 | MORGAN STANLEY SENIOR FUNDING, INC | NXP B V | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 040928 | /0001 | |
Sep 12 2016 | MORGAN STANLEY SENIOR FUNDING, INC | NXP, B V F K A FREESCALE SEMICONDUCTOR, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001 ASSIGNOR S HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST | 052917 | /0001 | |
Sep 12 2016 | MORGAN STANLEY SENIOR FUNDING, INC | NXP, B V F K A FREESCALE SEMICONDUCTOR, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001 ASSIGNOR S HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST | 052917 | /0001 | |
Sep 12 2016 | MORGAN STANLEY SENIOR FUNDING, INC | NXP, B V , F K A FREESCALE SEMICONDUCTOR, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 040925 | /0001 | |
Nov 07 2016 | Freescale Semiconductor, Inc | NXP USA, INC | CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0241 ASSIGNOR S HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME | 041260 | /0850 | |
Nov 07 2016 | Freescale Semiconductor, Inc | NXP USA, INC | MERGER SEE DOCUMENT FOR DETAILS | 040652 | /0241 | |
Feb 17 2019 | MORGAN STANLEY SENIOR FUNDING, INC | SHENZHEN XINGUODU TECHNOLOGY CO , LTD | CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536 ASSIGNOR S HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS | 048734 | /0001 | |
Feb 17 2019 | MORGAN STANLEY SENIOR FUNDING, INC | SHENZHEN XINGUODU TECHNOLOGY CO , LTD | CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536 ASSIGNOR S HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS | 048734 | /0001 | |
Sep 03 2019 | MORGAN STANLEY SENIOR FUNDING, INC | NXP B V | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 050744 | /0097 |
Date | Maintenance Fee Events |
Feb 08 2016 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Dec 17 2019 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Mar 25 2024 | REM: Maintenance Fee Reminder Mailed. |
Sep 09 2024 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Oct 25 2024 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Oct 25 2024 | M1558: Surcharge, Petition to Accept Pymt After Exp, Unintentional. |
Oct 25 2024 | PMFG: Petition Related to Maintenance Fees Granted. |
Oct 25 2024 | PMFP: Petition Related to Maintenance Fees Filed. |
Date | Maintenance Schedule |
Aug 07 2015 | 4 years fee payment window open |
Feb 07 2016 | 6 months grace period start (w surcharge) |
Aug 07 2016 | patent expiry (for year 4) |
Aug 07 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 07 2019 | 8 years fee payment window open |
Feb 07 2020 | 6 months grace period start (w surcharge) |
Aug 07 2020 | patent expiry (for year 8) |
Aug 07 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 07 2023 | 12 years fee payment window open |
Feb 07 2024 | 6 months grace period start (w surcharge) |
Aug 07 2024 | patent expiry (for year 12) |
Aug 07 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |