IP Library Granted Patent US 10,355,823
Granted Patent B2
US 10,355,823 · App. 16/105,917 · Granted Jul 16, 2019

System and method for block-coding transcoding

Inventor: Steven Scott Gorshe (Beaverton, OR)
Assignee: Microsemi Storage Solutions, Inc.
H04L1/0058H03M7/40H04B10/66H04L1/0041H04L1/0045H04L1/0625H04L1/0057
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,355,823
App. No.
16/105,917
Granted
Jul 16, 2019
Kind
B2
Abstract

A system and method for block-code transcoding. An input signal is analyzed to determine if the input signal includes multiple control words, multiple data words and a single control word or only data words. If the input signal comprises multiple control words, the method includes, generating a control word location map and mapping the control codes and any data words to a block-code encoded transmission signal. If the input signal comprises a single control word and multiple data words, the method includes, generating a control word location address indicating a location of the single control word and mapping the control code and the multiple data words to a block-code encoded transmission signal. If the input signal comprises only data words, the method includes, mapping the data words sequentially into the block-code encoded transmission signal. Accordingly, the bandwidth efficiency of the transmission signal is improved by varying the encoding technique used dependent upon the contents of the input signal.

Claims (101)

1. A method for block-code transcoding, the method comprising:

receiving a block-code encoded input signal at a decoder, the block-code encoded input signal encoded using a first block-code, and decoding the block-code encoded input signal to generate a decoded input signal;

receiving the decoded input signal at a block-code encoder, the decoded input signal to be mapped into a block-code encoded transmission signal encoded using a second block-code, wherein the second block-code is more bandwidth efficient than the first block-code;

determining at the block-code encoder if the decoded input signal comprises multiple control words and if the decoded input signal comprises multiple control words, the method further comprising:

generating a control word location map;

encoding each of the multiple control words to generate multiple control codes;

mapping the control word location map, each of the multiple control codes and each data word in the decoded input signal into the block-code encoded transmission signal to indicate a location of each of the multiple control words in the decoded input signal;

determining at the block-code encoder if the decoded input signal comprises a single control word and if the decoded input signal comprises a single control word, the method further comprising:

generating a control word location address indicating a location of the single control word in the decoded input signal;

encoding the single control word to a control code;

mapping the control word location address, the control code and each of the data words in the decoded input signal into the block-code encoded transmission signal; and

determining at the block-code encoder if the decoded input signal comprises data words only and if the decoded input signal comprises data words only, the method further comprising mapping each of the data words in the decoded input signal into the block-code encoded transmission signal.

2. The method of claim 1 , wherein if the decoded input signal comprises multiple control words and at least one data word, the method further comprising mapping each of the data words and each of the multiple control codes into the block-code encoded transmission signal at locations corresponding to the location of the data words and each of the multiple control words in the decoded input signal.

3. The method of claim 1 , wherein if the decoded input signal comprises multiple control words and at least one data word, the method further comprising mapping each of the multiple control codes into a beginning of a block of the block-code encoded transmission signal and mapping each of the data words into the block following the multiple control codes, according to the order of the data words in the decoded input signal.

4. The method of claim 1 , wherein if the decoded input signal comprises multiple control words, the method further comprising:

setting a control block indicator flag bit for the block-code encoded transmission signal to a first logic level;

setting a multiple control word indicator for the block-code encoded transmission signal to the first logic level;

mapping the control block indicator flag bit into the block-code encoded transmission signal; and

mapping the multiple control word indicator into the block-code encoded transmission signal.

5. The method of claim 1 , wherein the control word location map explicitly indicates whether each word in the decoded input signal contains a data word or a control word, except for the last word of the decoded input signal, and the mapping each of the multiple control codes and each data word in the decoded input signal into the block-code encoded transmission signal implicitly indicates whether the last word of the decoded input signal contains a data word or a control word, wherein:

two control codes mapped to a byte of the block-code encoded transmission signal associated with the last control word location explicitly indicated by the control word location map implies that the last word of the decoded input signal is a control word; and

two control codes mapped to a byte of the block-code encoded transmission signal associated with the next to last control word location explicitly indicated by the control word location map implies that the last word of the decoded input signal is a data word.

6. The method of claim 1 , wherein if the decoded input signal comprises multiple data words and a single control word, the method further comprising:

setting a control block indicator flag bit of the block-code encoded transmission signal to a first logic level;

setting the multiple control word indicator to a second logic level opposite to the first logic level;

mapping the control block indicator flag bit into the block-code encoded transmission signal; and

mapping the multiple control word indicator into the block-code encoded transmission signal.

7. The method of claim 1 , wherein if the decoded input signal comprises multiple data words only, the method further comprising:

setting the control block indicator flag for the block-code encoded transmission signal to a second logic level opposite the first logic level; and

mapping the control block indicator flag into the block-code encoded transmission signal.

8. The method of claim 1 , wherein the first block-code is an 8B/10B block-code and the second block-code is a 64B/65B block-code.

9. The method of claim 1 , wherein the first block-code is a 64B/66B block-code and the second block-code is a 512B/513B block-code.

10. The method of claim 1 , wherein, if the decoded input signal comprises multiple control words and does not include any data words, the mapping the control word location map, each of the multiple control codes and each data word in the decoded input signal into the block-code encoded transmission signal to indicate a location of each of the multiple control words in the decoded input signal further comprises mapping the control word location map and each of the multiple control codes into the block-code encoded transmission signal to indicate a location of each of the multiple control words in the decoded input signal.

11. The method of claim 4 , wherein mapping the multiple control word indicator, the control word location map, each of the multiple control codes and each data word in the decoded input signal into the block-code encoded transmission signal further comprises, for each block of the block-code encoded transmission signal, wherein each block comprises a plurality of bytes:

mapping the multiple control word indicator and the control word location map to a first byte of the block;

mapping, beginning with a second byte of the block, each data word in the decoded input signal into the block according to the order of the data word in the decoded input signal until a control word is reached in the decoded input signal, and when a control word is reached:

mapping the control code associated with the control word of the decoded input signal to a first plurality of bits at a control word location of the block; and

mapping the control code associated with a next control word in the decoded input signal to a second plurality of bits at the control word location if the next control word is the last control word in the decoded input signal or mapping padding bits to the second plurality of bits of the byte if the next control word is not the last control word in the decoded input signal.

12. The method of claim 6 , wherein mapping the multiple control word indicator, the control word location address, the control code for the single control word and the multiple data words into the block-code encoded transmission signal further comprises, for each block of the block-encoded transmission signal, wherein each block comprises a plurality of bytes:

mapping the multiple control word indicator to a first bit of a first byte of a block of the block-code encoded transmission signal;

mapping the control word location address to a first plurality of bits following the first bit of the first byte of the block of the block-code encoded transmission signal;

mapping the control code for the single control word to a second plurality of bits following the first plurality of bits of the first byte of the block of the block-code encoded transmission signal; and

mapping, beginning with a second byte of the block, the multiple data words into the block according to the order of the multiple data words in the decoded input signal.

13. A method for block-code transcoding, the method, the method comprising:

receiving a block-code encoded input signal at a decoder, the block-code encoded input signal encoded using a first block-code, and decoding the block-code encoded input signal to generate a decoded input signal;

receiving the decoded input signal at a block-code encoder, the decoded input signal to be mapped into a block-code encoded transmission signal encoded using a second block-code, wherein the second block-code is more bandwidth efficient than the first block-code;

determining at the block-code encoder if the decoded input signal comprises multiple control words and if the decoded input signal comprises multiple control words, the method further comprising:

setting a control block indicator flag bit for the block-code encoded transmission signal to a first logic level;

setting a multiple control word indicator for the block-code encoded transmission signal to the first logic level;

generating a control word location map;

encoding each of the multiple control words to generate multiple control codes;

mapping the control block indicator flag bit, the multiple control word indicator, the control word location map, each of the multiple control codes and each data word in the decoded input signal into the block-code encoded transmission signal to indicate a location of each of the multiple control words in the decoded input signal;

determining at the block-code encoder if the decoded input signal comprises multiple data words and a single control word and if the decoded input signal comprises multiple data words and a single control word, the method further comprising:

setting a control block indicator flag bit of the block-code encoded transmission signal to a first logic level;

setting the multiple control word indicator to a second logic level opposite to the first logic level;

generating a control word location address indicating a location of the single control word in the decoded input signal;

encoding the single control word to a control code;

mapping the control block indicator flag bit, the multiple control word indicator, the control word location address, the control code and the multiple data words into the second block-code encoded transmission signal;

determining at the block-code encoder if the decoded input signal comprises data words only and if the decoded input signal comprises data words only, the method further comprising:

setting the control block indicator flag for the block-code encoded transmission signal to a second logic level opposite the first logic level;

mapping the control block indicator flag and the data words sequentially into the block-code encoded transmission signal; and

transmitting the block-code encoded transmission signal from a transmitter.

14. A system for block-code transcoding, the system comprising:

a block-code encoder including a circuit configured to receive an input signal, the block-code encoder configured to:

determine if the received input signal comprises multiple control words and if the received input signal comprises multiple control words, the block-code encoder further configured to

generate a control word location map,

encode each of the multiple control words to generate multiple control codes and,

map the control word location map, each of the multiple control codes and each data word in the input signal into a block-code encoded transmission signal to indicate a location of each of the multiple control words in the input signal;

determine if the input signal comprises a single control word and if the input signal comprises a single control word, the block-code encoder further configured to

generate a control word location address indicating a location of the single control word in the decoded input signal,

encode the single control word to a control code, and

map the control word location address, the control code and each of the data words in the input signal into the block-code encoded transmission signal; and

determine if the input signal comprises only data words and if the input signal comprises only data words, the block-code encoder further configured to map each of the data words in the input signal sequentially into the block-code encoded transmission signal; and

a transmitter coupled to the encoder, the transmitter configured to transmit the block-code encoded transmission signal.

15. The system of claim 14 , further comprising a decoder coupled to the block-code encoder, the decoder configured for receiving a block-code encoded input signal encoded using a first block-code, wherein the decoder is configured for decoding the block-code encoded input signal to generate the input signal for the block-code encoder.

16. The system of claim 14 , wherein if the input signal comprises multiple control words and at least one data word, the block-code encoder is further configured to map each of the data words in the input signal and each of the multiple control codes into the block-code encoded transmission signal at locations corresponding to the location of each of the data words and each of the multiple control words in the input signal.

17. The system of claim 14 , wherein if the input signal comprises multiple control words and at least one data word, the block-code encoder is further configured to map each of the multiple control codes into a beginning of a block of the block-code encoded transmission signal and map each of the data words into the block following the multiple control codes, according to the order of the data words in the input signal.

18. The system of claim 14 , wherein if the input signal comprises multiple control words, the block-code encoder is further configured to, for each block of the block-code encoded transmission signal:

set a control block indicator flag bit for the block of the block-code encoded transmission signal to a first logic level;

set a multiple control word indicator for the block of the block-code encoded transmission signal to the first logic level;

map the multiple control word indicator and the control word location map to a first byte of the block of the block-code encoded transmission signal;

map, beginning with a second byte of the block, the data words into the block according to the order of the data words in the input signal until a control word is reached in the input signal, and when a control word is reached;

map the control code associated with the control word of the input signal to a first plurality of bits at a control word location of the block; and

map the control code associated with a next control word in the input signal to a second plurality of bits at the control word location if the next control word is the last control word in the input signal or map padding bits to the second plurality of bits at the control word location if the next control word is not the last control word in the input signal.

19. The system of claim 14 , wherein the control word location map explicitly indicates whether each word in the input signal contains a data word or a control word, except for the last word of the input signal, and the mapping of each of the multiple control codes and the multiple data words into the block-code encoded transmission signal implicitly indicates whether the last word of the input signal contains a data word or a control word, wherein:

two control codes mapped to a byte of the block-code encoded transmission signal associated with the last control word location explicitly indicated by the control word location map implies that the last word of the input signal is a control word; and

two control codes mapped to a byte of the block-code encoded transmission signal associated with the next to last control word location explicitly indicated by the control word location map implies that the last word of the input signal is a data word.

20. An integrated circuit device comprising:

a circuit configured to receive a block-code encoded input signal encoded using a first block-code;

a decoder coupled to the circuit configured to receive the block-code encoded input signal, the decoder configured for decoding the block-code encoded input signal;

a block-code encoder coupled to the decoder, the block-code encoder configured to:

determine if the decoded input signal comprises multiple control words and if the decoded input signal comprises multiple control words, the block-code encoder further configured to:

generate a control word location map,

encode each of the multiple control words to generate multiple control codes, and

map the control word location map, each of the multiple control codes and each data word in the input signal into a block-code encoded transmission signal to indicate a location of each of the multiple control words in the decoded input signal;

determine if the decoded input signal comprises a single control word and if the decoded input signal comprises a single control word, the block-code encoder further configured to:

generate a control word location address indicating a location of the single control word in the decoded input signal,

encode the single control word to a control code, and

map the control word location address, the control code and each of the data words in the decoded input signal into the block-code encoded transmission signal; and

determine if the decoded input signal comprises only data words and if the decoded input signal comprises only data words, the block-code encoder further configured to map each of the data words in the decoded input signal sequentially into the block-code encoded transmission signal; and

a transmitter coupled to the encoder, the transmitter including a circuit configured to transmit the block-code encoded transmission signal.

Assignments (14)
RELEASE OF SECURITY INTEREST Recorded Mar 14, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 060894/0437 →
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059363/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059863/0400 →
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0335 →
RELEASE OF SECURITY INTEREST Recorded Feb 28, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059263/0001 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 19, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 058214/0625 →
SECURITY INTEREST Recorded Jun 4, 2021
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 057935/0474 →
SECURITY INTEREST Recorded Dec 24, 2020
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 055671/0612 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052856/0909 →
SECURITY INTEREST Recorded Jun 5, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 053468/0705 →
RELEASE OF SECURITY INTEREST Recorded May 30, 2020
From: JPMORGAN CHASE BANK, N.A, AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 053466/0011 →
SECURITY INTEREST Recorded Apr 24, 2020
From: MICROCHIP TECHNOLOGY INC.; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 053311/0305 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2018
From: GORSHE, STEVEN SCOTT
To: MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 046771/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2018
From: GORSHE, STEVEN SCOTT
To: MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 046882/0634 →
Continuity (2)
Provisional Application 62549283 · Aug 23, 2017
Related Publication 20190068323A1 · Feb 28, 2019