IP Library Patent Application 15103578
Patent Application
App. No. 15/103,578

COMMUNICATION SYSTEM, METHODS AND APPARATUS FOR INTER-PARTITION COMMUNICATION

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 None
App. No.
15/103,578
Abstract

A communication system comprises a plurality of software partitions operably coupled to one another via at least one hardware module, wherein each of the plurality of software partitions comprises memory allocated to store data for use solely by the respective software partition, wherein the hardware module is arranged to copy data from a first memory location of a first software partition to second memory location of a second software partition wherein the second memory location is selected by the second software partition.

Claims (30)

1 . A communication system, comprising:

a plurality of software partitions operably coupled to one another via at least one hardware module comprising a buffer manager, wherein each of the plurality of software partitions comprises memory allocated to store data for use solely by the respective software partition,

which hardware module is arranged to copy data from a first memory location of a first software partition to second memory location of a second software partition wherein the second memory location is selected by the buffer manager.

2 . The communication system of claim 1 , wherein a first software partition of the plurality of software partitions is arranged to configure the hardware module with a set of instructions.

3 . The communication system of claim 2 , wherein the set of instructions comprise at least one of: one or more classification rule(s) for transfer of data; one or more input queue(s) to use for transfer of data with the first software partition; one or more output queue(s) to use for communication with the first software partition; one or more buffer pools to use for communication with the first software partition.

4 . The communication system of claim 3 , wherein the one or more classification rule(s) for transfer of data comprises instructions to the hardware module to parse, classify and distribute data frames between software partitions.

5 . The communication system of claim 3 , wherein the hardware module is arranged to receive from the first software partition a descriptor of data stored in buffers from a first buffer pool of the first software partition and apply a previously received classification rule to distribute data to at least one identified output queue(s).

6 . The communication system of claim 1 , wherein the hardware module is further arranged to:

fetch data pointed to by a first software partition,

make a copy of the data, and

distribute the copied data to a buffer from a second buffer pool of a second software partition of the plurality of software partitions.

7 . The communication system of claim 6 , wherein the distribution of copied data is based on the hardware module matching at least one rule to at least a part of a datagram payload.

8 . The communication system of claim 6 , wherein the hardware module is further arranged to store the copied data in a buffer from a third buffer pool of the second software partition for processing by the second software partition.

9 . The communication system of claim 6 , wherein the hardware module is further arranged to issue an interrupt to the second software partition that notifies the second software partition that data is available.

10 . The communication system of claim 9 , wherein the interrupt comprises a reference to the buffer from the third buffer pool and a memory location of the buffer holding the stored data.

11 . The communication system of claims 8 , wherein at least one of the second software partition, the hardware module is arranged to release the buffer holding the stored data back into the third buffer pool after the data has been processed by the second software partition.

12 . The communication system of claim 1 , wherein at least one software partition of the plurality of software partitions is arranged to de-allocate buffers from buffer pools of the software partition.

13 . The communication system of claim 12 , wherein the at least one software partition periodically de-allocates buffers from the buffer pools.

14 . The communication system of claim 1 , wherein at least one software partition comprises a single buffer pool configured to support both transmit data frames and receive data frames.

15 . The communication system of claim 1 , wherein a first software partition acquiring at least one buffer from a first buffer pool of the first memory location, and the hardware module 203 releases at least one buffers to the first buffer pool.

16 . The communication system of claim 1 , wherein at least one software partition of the plurality of software partitions is arranged to perform a draining operation of data from the first memory location of the first software partition.

17 . The communication system of claim 16 , wherein the at least one software partition is arranged to periodically drain at least one descriptor from a buffer pool of the first memory location of the first software partition.

18 . A method of transferring data in a communication system, comprising a plurality of software partitions operably coupled to one another via at least one hardware module comprising a buffer manager, wherein each of the plurality of software partitions comprises memory allocated to store data for use solely by the respective software partition, wherein the method comprises:

instructing the at least one hardware module to transfer data from a first memory location of a first software partition to second memory location of a second software partition;

selecting, by the buffer manager, the second memory location to receive the data from the first memory location; and

copying, by the at least one hardware module, data from the first memory location of the first software partition to the second memory location of the second software partition.

19 . The method of claim 18 , further comprising configuring the at least one hardware module with a set of instructions by a first software partition of the plurality of software partitions.

20 . The method of claim 18 , further comprising the hardware module:

fetching data pointed to by a first software partition,

making a copy of the data, and distributing the copied data to a buffer from a second buffer pool of a second software partition of the plurality of software partitions.

Assignments (5)
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. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
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. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 040626 FRAME: 0683. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME EFFECTIVE NOVEMBER 7, 2016. Recorded Jan 12, 2017
From: NXP SEMICONDUCTORS USA, INC. (MERGED INTO); FREESCALE SEMICONDUCTOR, INC. (UNDER)
To: NXP USA, INC.
Reel/Frame 041414/0883 →
CHANGE OF NAME Recorded Nov 16, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040626/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2016
From: SOVAIALA, CRISTIAN CONSTANTIN; BUCUR, MADALIN-CRISTIAN
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 038879/0316 →