TECHNICAL FIELD

The application relates to a processing device and a communication device comprising such a processing device. Furthermore, the application also relates to corresponding methods, a computer program, and a computer program product.

BACKGROUND

In the next generation wireless systems, such as 5G systems, the requirements on data rates are increasing and data rates of 20 Gbit/s in downlink and 10 Gbit/s data in uplink are being discussed. These requirements put a significant burden on communication devices and their ability to process data efficiently.

The processing of data in a conventional communication device involves a number of transfers of data between different functions and/or memories within the communication device. These transfers sometimes take place over a system bus, which can become a bottleneck when trying to achieve very high data rates. In some configurations, the system bus needs to be dimensioned to take three times the wanted maximum data rate to allow a sustained data rate to and from the communication device.

Consequently, there is a need for solutions which reduce the load on the system bus in communication devices.

SUMMARY

An objective of embodiments of the application is to provide a solution which mitigates or solves the drawbacks and problems of conventional solutions.

Another objective of embodiments of the application is to provide a solution which provides a more efficient processing in a communication device so as to reduce the load on the system bus.

The above and further objectives are solved by the subject matter of the independent claims. Further advantageous implementation forms of the application can be found in the dependent claims.

According to a first aspect of the application, the above mentioned and other objectives are achieved with a processing device comprising:

a buffer coupled to a system bus,

a ciphering device coupled to the system bus, and

a memory coupled to the ciphering device;

wherein the processing device is configured to operate in at least one of a deciphering mode and

a ciphering mode;

wherein the ciphering device, when the processing device is configured to operate in the deciphering mode, is configured to:

receive a ciphered data unit directly from the buffer over the system bus,decipher the ciphered data unit so as to obtain a deciphered data unit,transfer the deciphered data unit to the memory;wherein the ciphering device, when the processing device is configured to operate in the ciphering mode, is configured toreceive a data unit from the memory,cipher the data unit so as to obtain a ciphered data unit,transfer the ciphered data unit directly to the buffer over the system bus.

A ciphering device may herein be understood to mean a device capable of performing ciphering of a data unit and deciphering of a ciphered data unit. The ciphering device can e.g. be implemented as a hardware device performing one or more ciphering functions.

The processing device according to the first aspect provides a number of advantages over conventional solutions. One such advantage is that the number of data transfers over the system bus required to cipher and/or decipher a data unit is reduced compared to conventional solutions. The load on the system bus is thereby reduced, e.g. leading to lower power consumption and lower latency in the processing device.

In a first implementation form of a processing device according to the first aspect, the processing device, when configured to operate in the deciphering mode, is further configured to:read a protocol header carried by a data block comprising the ciphered data unit,extract at least one ciphering parameter from the protocol header,provide the ciphering parameter to the ciphering device.

A ciphering parameter may herein be understood to mean a parameter used for producing configuration parameters for the ciphering device, e.g. a Packet Data Convergence Protocol (PDCP) Sequence Number (SN).

The first implementation form enables the configuration of the ciphering device for deciphering of the ciphered data unit.

In a second implementation form of a processing device according to the first implementation form of the first aspect, the ciphering device is further configured to:receive the ciphering parameter,decipher the ciphered data unit based on the received ciphering parameter so as to obtain the deciphered data unit.

The second implementation form provides the ciphering parameter to the ciphering device such that the ciphered data unit is deciphered by the ciphering device.

In a third implementation form of a processing device according to the second implementation form of the first aspect, the processing device is further configured to:read the protocol header directly from the buffer.

The third implementation form provides an efficient way of accessing the protocol header.

In a fourth implementation form of a processing device according to any of the first to third implementation forms of the first aspect or to the first aspect as such, the memory is coupled to the system bus and the processing device is further configured to:transfer at least one first segment of a ciphered data unit from the buffer to the memory if no protocol header for the ciphered data unit is available.

The fourth implementation form enables efficient handling of a segment of a ciphered data unit with no protocol header comprising one or more ciphering parameters, i.e. a segment which cannot be deciphered right away due to missing ciphering parameters. The buffer has limited memory resources. By transferring the segment of the ciphered data unit from the buffer to the memory, memory resources in the buffer are released. In addition, the segment can later be fetched from the memory for deciphering without using the system bus thereby reducing load on the system bus.

In a fifth implementation form of a processing device according the fourth implementation form of the first aspect, the ciphering device is further configured to:receive a ciphering parameter for the ciphered data unit,fetch the first segment of the ciphered data unit from the memory,receive a second segment of the ciphered data unit directly from the buffer over the system bus, wherein the second segment is a remaining segment of the ciphered data unit;decipher the first segment and the second segment of the ciphered data unit based on the received ciphering parameter so as to obtain a deciphered data unit.

The fifth implementation form enables a previously received segment of a ciphered data unit with no protocol header to be efficiently deciphered once the ciphering parameters for the segment is available. The deciphering of the previously received segment of the ciphered data unit can be performed without using the system bus as the segment has been stored in the memory which is directly accessible by the ciphering device thereby reducing load on the system bus.

In a sixth implementation form of a processing device according to any of the preceding the implementation forms of the first aspect or to the first aspect as such, the system bus is coupled to the memory only through the ciphering device so that access to the memory over the system bus is only possible through the ciphering device.

The sixth implementation form provides the deciphering of a ciphered data unit at the input interface to the memory and the ciphering of a data unit at the output interface from the memory, without any data units being transferred over the system bus between the ciphering device and the memory.

In a seventh implementation form of a processing device according to any of the preceding implementation forms of the first aspect or to the first aspect as such, the buffer is a reception buffer when the processing device is configured to operate in the deciphering mode, and the buffer is a transmission buffer when the processing device is configured to operate in the ciphering mode.

The seventh implementation form enables the deciphering to be performed without having to transfer the ciphered data unit from a reception buffer to another dedicated deciphering buffer. In a similar way, the ciphering can be performed without having to transfer the data unit from another dedicated ciphering buffer to a transmission buffer. The number of required buffers is thereby reduced.

In an eighth implementation form of a processing device according to the eighth implementation form of the first aspect, the buffer is a Hybrid Automatic Repeat Request (HARQ) buffer.

The eighth implementation form enables the processing device to be used in a Hybrid Automatic Repeat Request (HARQ) transmission system.

In a ninth implementation form of a processing device according to any of preceding implementation forms of the first aspect or to the first aspect as such, when configured to operate in the ciphering mode, the processing device is configured to cipher the data unit with a ciphering parameter so as to obtain the ciphered data unit, and transfer the ciphering parameter directly to the buffer over the system bus.

The ninth implementation form enables the configuration of the ciphering device for ciphering of the data unit with at least one ciphering parameter and provides the ciphering parameter to the buffer and maybe further to the other ciphering device such that the ciphered data unit can be deciphered by the other ciphering device.

In a tenth implementation form of a processing device according to the ninth implementation form of the first aspect, the ciphering device is configured to transfer the ciphering parameter in a protocol header of a data block (DB), directly to the buffer.

The tenth implementation form provides an efficient way of transferring the ciphering parameter.

In an eleventh implementation form of a processing device according to the tenth implementation form of the first aspect, the ciphering device is configured to, directly to the buffer, transfer the data block carrying a first segment of the ciphered data unit together with the ciphering parameter in the protocol header and to transfer another data block carrying a second segment of the ciphered data unit but not carrying the ciphering parameter.

The eleventh implementation form enables to transfer different segments of a data unit in different data blocks and the ciphering parameter used to cipher the segments is not necessarily transferred for multiple times, thereby further reduce the load on the system bus.

According to a second aspect of the application, the above mentioned and other objectives are achieved with a communication device for a communication system, the communication device comprising a processing device according to any of the preceding implementation forms of the first aspect or to the first aspect as such.

The communication device according to the second aspect provides a number of advantages over conventional solutions. One such advantage is that processing device provides a more efficient processing of data in the communication device. The power consumption in the communication device will thereby be reduced.

According to a third aspect of the application, the above mentioned and other objectives are achieved with a method for a processing device, the processing device comprises a buffer coupled to a system bus, a ciphering device coupled to the system bus, and a memory coupled to the ciphering device; the processing device is configured to operate in at least one of a deciphering mode and in a ciphering mode; the method comprises:

when the processing device is configured to operate in the deciphering mode,

receiving, by the ciphering device, a ciphered data unit directly from a buffer over a system bus,deciphering, by the ciphering device, the ciphered data unit so as to obtain a deciphered data unit,transferring, by the ciphering device, the deciphered data unit to a memory;when the processing device is configured to operate in the ciphering mode,receiving, by the ciphering device, a data unit from the memory,ciphering, by the ciphering device, the data unit so as to obtain a ciphered data unit,transferring, by the ciphering device, the ciphered data unit directly to the buffer over the system bus.

In a first implementation form of a method according to the third aspect, the method, when the processing device is configured to operate in the deciphering mode, further comprises:

reading, by the processing device, a protocol header carried by a data block comprising the ciphered data unit,extracting, by the processing device, at least one ciphering parameter from the protocol header,providing, by the processing device, the ciphering parameter to the ciphering device.

In a second implementation form of a method according to the first implementation form of the third aspect, the method further comprisesreceiving, by the ciphering device, the ciphering parameter,deciphering, by the ciphering device, the ciphered data unit based on the received ciphering parameter so as to obtain the deciphered data unit.

In a third implementation form of a method according to the second implementation form of the third aspect, the method further comprisesreading, by the processing device, the protocol header directly from the buffer.

In a fourth implementation form of a method according to any of the first to third implementation forms of the third aspect or to the third aspect as such, the memory is coupled to the system bus and the method further comprisestransferring, by the processing device, at least one first segment of a ciphered data unit from the buffer to the memory if no protocol header for the ciphered data unit is available.

In a fifth implementation form of a method according the fourth implementation form of the third aspect, the method further comprisesreceiving, by the ciphering device, a ciphering parameter for the ciphered data unit,fetching, by the ciphering device, the first segment of the ciphered data unit from the memory,receiving, by the ciphering device, a second segment of the ciphered data unit directly from the buffer over the system bus, wherein the second segment is a remaining segment of the ciphered data unit;deciphering, by the ciphering device, the first segment and the second segment of the ciphered data unit based on the received ciphering parameter so as to obtain a deciphered data unit.

In a sixth implementation form of a method according to any of the preceding implementation forms of the third aspect or to the third aspect as such, the system bus is coupled to the memory only through the ciphering device so that access to the memory over the system bus is only possible through the ciphering device.

In a seventh implementation form of a method according to any of the preceding implementation forms of the third aspect or to the third aspect as such, the buffer is a reception buffer when the processing device is configured to operate in the deciphering mode, and the buffer is a transmission buffer when the processing device is configured to operate in the ciphering mode.

In an eighth implementation form of a method according to the eighth implementation form of the third aspect, the buffer is a Hybrid Automatic Repeat Request (HARQ) buffer.

The advantages of any method according to the third aspect are the same as those for the corresponding processing device claims according to the first aspect.

The application also relates to a computer program, characterized in code means, which when run by processing means causes said processing means to execute any method according to the present application. Further, the application also relates to a computer program product comprising a computer readable medium and said mentioned computer program, wherein said computer program is included in the computer readable medium, and comprises one or more from the group: ROM (Read-Only Memory), PROM (Programmable ROM), EPROM (Erasable PROM), Flash memory, EEPROM (Electrically EPROM) and hard disk drive.

Further applications and advantages of the present application will be apparent from the following detailed description.

