IP Library Granted Patent US 7,870,316
Granted Patent B1
US 7,870,316 · App. 11/648,017 · Granted Jan 11, 2011

System and method for providing an inline data conversion for multiplexed data streams

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 7,870,316
App. No.
11/648,017
Granted
Jan 11, 2011
Kind
B1
Abstract

A computing system having an apparatus for providing an inline data conversion processor. The inline data conversion processor includes a host processor interface, a network interface, a peripheral interface, and a packer stream address for defining a data transformation applied to a block of data as it passes between the host processor interface and the peripheral and network interfaces.

Claims (49)

1. An apparatus for providing an inline data conversion processor to a computing system to receive an incoming data stream and a packer stream address (PSA) and to generate an outgoing data stream, the apparatus comprising:

a host processor interface for connecting the apparatus to a host processing unit within the computing system;

a network interface for connecting the apparatus to a communications network within the computing system;

a peripheral interface for connecting the apparatus to a peripheral device within the computing system;

a stream decode module for decoding a first portion of the PSA to generate a transformation definition;

an address generation module for decoding a second portion of the PSA to generate an outgoing data address associated with each data word of the outgoing data stream; and

a data transform module for generating the outgoing data stream from the incoming data stream using the transformation definition.

2. The apparatus according to claim 1 , wherein the transformation definition comprises a byte swap definition corresponding to transforming the incoming data stream to the outgoing data stream by switching the byte order between a big endian byte order and a little endian byte order.

3. The apparatus according to claim 2 , wherein the transformation definition further comprises a remote selection definition corresponding to selecting between the plurality of data input interfaces for use in generation of the output data stream.

4. The apparatus according to claim 3 , wherein the transformation definition further comprises a non-data byte order transformation definition corresponding to a definition of a functional data transformation applied to the incoming data stream to generate the outgoing data stream.

5. The apparatus according to claim 1 , wherein the outgoing data stream is generated by data transform module applying the transformation definition to each data word of the incoming data stream during successive data transfer cycles of a DMA data transfer operation.

6. The apparatus according to claim 1 , wherein the plurality of data interfaces provide data correspond to a 180-byte data blocks defined by 30 six-byte, 48 bit data words.

7. The apparatus according to claim 6 , wherein the 180-byte data blocks are stored within contiguous storage blocks within 512-byte data blocks.

8. The apparatus according to claim 6 , wherein two 180-byte data blocks are stored within each storage blocks, the storage blocks correspond to 512-byte data blocks.

9. The apparatus according to claim 8 , wherein the outgoing data address generated by the address generation module corresponds to storage addresses within the 180-byte data blocks.

10. A method for providing an inline data conversion processing upon an incoming data stream as part of a data transfer, the method comprising:

receiving a packer stream address (PSA) associated with a transformation performed upon the incoming data stream;

decoding a first portion of the PSA to determine a transformation definition of the transformation performed upon the incoming data stream;

generating an outgoing data address associated with each data word of an outgoing data stream from a second portion of the PSA;

receiving the incoming data stream from a data source;

generating the outgoing data stream by applying the transformation definition to the incoming data stream; and

transmitting the outgoing data stream to a data destination.

11. The method according to claim 10 , wherein the data source comprises a digital data device attached to one of a plurality of data interfaces.

12. The method according to claim 11 , wherein the data destination comprises a digital data device attached to one of the plurality of data interfaces.

13. The method according to claim 12 , wherein the plurality of data interfaces comprises a host processor interface, a network interface, and a peripheral interface.

14. The method according to claim 11 , wherein the transformation definition comprises a byte swap definition corresponding to transforming the incoming data stream to the outgoing data stream by switching the byte order between a big endian byte order and a little endian byte order.

15. The method according to claim 14 , wherein the transformation definition further comprises a remote selection definition corresponding to selecting between the plurality of data input interfaces for use in generation of the output data stream.

16. The method according to claim 15 , wherein the transformation definition further comprises a non-data byte order transformation definition corresponding to a definition of a functional data transformation applied to the incoming data stream to generate the outgoing data stream.

17. The method according to claim 10 , wherein the outgoing data stream is generated by applying the transformation definition to the incoming data stream during successive data transfer cycles of a DMA data transfer operation.

18. The method according to claim 11 , wherein the plurality of data interfaces provide data correspond to a 180-byte data blocks defined by 30 six-byte, 48 bit data words.

19. The method according to claim 18 , wherein the 180-byte data blocks are stored within contiguous storage blocks within 512-byte data blocks.

20. The method according to claim 18 , wherein two 180-byte data blocks are stored within each storage blocks, the storage blocks correspond to 512-byte data blocks.

21. A digital data storage media containing encoded data corresponding to instructions for a programmable processor implementing a method for providing an inline data conversion processing upon an incoming data stream as part of a data transfer, the method comprising:

receiving a packer stream address (PSA) associated with a transformation performed upon the incoming data stream;

decoding a first portion of the PSA to determine a transformation definition of the transformation performed upon the incoming data stream;

generating an outgoing data address associated with an outgoing data stream from a second portion of the PSA;

receiving the incoming data stream from a data source;

generating the outgoing data stream by applying the transformation definition to the incoming data stream; and

transmitting the outgoing data stream to a data destination.

22. The digital data storage media according to claim 21 , wherein the data source comprises a digital data device attached to one of a plurality of data interfaces.

23. The digital data storage media according to claim 22 , wherein the data destination comprises a digital data device attached to one of the plurality of data interfaces.

24. The digital data storage media according to claim 23 , wherein the plurality of data interfaces comprises a host processor interface, a network interface, and a peripheral interface.

25. The digital data storage media according to claim 22 , wherein the transformation definition comprises a byte swap definition corresponding to transforming the incoming data stream to the outgoing data stream by switching the byte order between a big endian byte order and a little endian byte order.

26. The digital data storage media according to claim 25 , wherein the transformation definition further comprises a remote selection definition corresponding to selecting between the plurality of data input interfaces for use in generation of the output data stream.

27. The digital data storage media according to claim 26 , wherein the transformation definition further comprises a non-data byte order transformation definition corresponding to a definition of a functional data transformation applied to the incoming data stream to generate the outgoing data stream.

28. The digital data storage media according to claim 21 , wherein the outgoing data stream is generated by applying the transformation definition to the incoming data stream during successive data transfer cycles of a DMA data transfer option.

29. The digital data storage media according to claim 22 , wherein the plurality of data interfaces provide data correspond to a 180-byte data blocks defined by 30 six-byte, 48 bit data words.

30. The digital data storage media according to claim 29 , wherein the 180-byte data blocks are stored within contiguous storage blocks within 512-byte data blocks.

31. The digital data storage media according to claim 30 , wherein two 180-byte data blocks are stored within each storage blocks, the storage blocks correspond to 512-byte data blocks.

Assignments (13)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
RELEASE OF SECURITY INTEREST Recorded Oct 28, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: UNISYS CORPORATION
Reel/Frame 054231/0496 →
RELEASE OF SECURITY INTEREST Recorded Nov 9, 2017
From: WELLS FARGO BANK, NATIONAL ASSOCIATION (SUCCESSOR TO GENERAL ELECTRIC CAPITAL CORPORATION)
To: UNISYS CORPORATION
Reel/Frame 044416/0358 →
SECURITY INTEREST Recorded Oct 6, 2017
From: UNISYS CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044144/0081 →
PATENT SECURITY AGREEMENT Recorded Apr 27, 2017
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 042354/0001 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2013
From: DEUTSCHE BANK TRUST COMPANY AMERICAS, AS COLLATERAL TRUSTEE
To: UNISYS CORPORATION
Reel/Frame 030082/0545 →
RELEASE OF SECURITY INTEREST Recorded Mar 15, 2013
From: DEUTSCHE BANK TRUST COMPANY
To: UNISYS CORPORATION
Reel/Frame 030004/0619 →
SECURITY AGREEMENT Recorded Jun 27, 2011
From: UNISYS CORPORATION
To: GENERAL ELECTRIC CAPITAL CORPORATION, AS AGENT
Reel/Frame 026509/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2011
From: UNISYS CORPORATION
To: DEUTSCHE BANK NATIONAL TRUST COMPANY
Reel/Frame 026176/0275 →
RELEASE BY SECURED PARTY Recorded Sep 14, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023263/0631 →
RELEASE BY SECURED PARTY Recorded Jul 31, 2009
From: CITIBANK, N.A.
To: UNISYS CORPORATION; UNISYS HOLDING CORPORATION
Reel/Frame 023312/0044 →
SECURITY AGREEMENT SUPPLEMENT Recorded Apr 13, 2007
From: UNISYS CORPORATION
To: CITIBANK, N.A.
Reel/Frame 019188/0840 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2007
From: PEACOCK, RICHARD; WEBER, WILLIAM L.
To: UNISYS CORPORATION
Reel/Frame 018964/0524 →