DE102016110078A1 - Datenverarbeitungsvorrichtung und Verfahren zum Auslagern von Daten zu einer fernen Datenverarbeitungsvorrichtung - Google Patents

Datenverarbeitungsvorrichtung und Verfahren zum Auslagern von Daten zu einer fernen Datenverarbeitungsvorrichtung Download PDF

Info

Publication number
DE102016110078A1
DE102016110078A1 DE102016110078.1A DE102016110078A DE102016110078A1 DE 102016110078 A1 DE102016110078 A1 DE 102016110078A1 DE 102016110078 A DE102016110078 A DE 102016110078A DE 102016110078 A1 DE102016110078 A1 DE 102016110078A1
Authority
DE
Germany
Prior art keywords
data packets
data
data processing
remote
portions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102016110078.1A
Other languages
English (en)
Inventor
Ulrich Leucht-Roth
Xiaoning Nie
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel IP Corp
Original Assignee
Intel IP Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel IP Corp filed Critical Intel IP Corp
Priority to DE102016110078.1A priority Critical patent/DE102016110078A1/de
Priority to US15/497,764 priority patent/US10440158B2/en
Publication of DE102016110078A1 publication Critical patent/DE102016110078A1/de
Priority to US16/549,696 priority patent/US11019184B2/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/323Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the physical layer [OSI layer 1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0446Resources in time domain, e.g. slots or frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

Die Offenbarung betrifft eine Datenverarbeitungsvorrichtung, welche Folgendes umfasst: ein Verarbeitungselement, das dafür ausgelegt ist, mehrere Datenpakete gemäß einem Kommunikationsprotokoll zu verarbeiten, um mehrere verarbeitete Datenpakete bereitzustellen, die jeweils einen ersten Teil und einen zweiten Teil umfassen, und eine Schnittstelle, die dafür ausgelegt ist, die zweiten Teile der mehreren verarbeiteten Datenpakete zu einer fernen Datenverarbeitungsvorrichtung auszulagern, und dafür ausgelegt ist, die ferne Verarbeitungsvorrichtung über das Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete zu benachrichtigen.

Description

  • GEBIET
  • Die Offenbarung betrifft eine Datenverarbeitungsvorrichtung mit einer Schnittstelle zum Auslagern von Daten zu einer fernen Datenverarbeitungsvorrichtung, eine ferne Datenverarbeitungsvorrichtung zum Empfangen der ausgelagerten Daten und ein Verfahren zum Auslagern der Daten. Die Offenbarung betrifft insbesondere das Aufteilen des Schicht-2-(L2)-Pufferraums eines Mobilfunkkommunikationsprozessors in einen lokalen und einen fernen Teil und das Auslagern des fernen Teils zu einem Anwendungsprozessorspeicher über eine Geteilter-Speicher-Schnittstelle in der Art von PCIe.
  • HINTERGRUND
  • In Drahtloskommunikationssystemen 100 in der Art der in 1 beispielhaft dargestellten müssen Daten typischerweise zwischen dem Kommunikationsprozessor 101, der auch als Modem bezeichnet wird, und dem Anwendungsprozessor 103 mit hohen Datenraten ausgetauscht werden. Um diese hohen Datenraten zu ermöglichen, wird ein Schicht-2-(L2)-Puffer am CP-Speicher 105 für das Puffern von Datenpaketen verwendet. Der Platz des CP-Speichers 105 ist jedoch begrenzt und wird für das Speichern von Daten und Code verwendet. Es ist demgemäß wünschenswert, ein Konzept zum Verkleinern des L2-Pufferplatzes auf dem CP-Speicher 105 bereitzustellen, ohne die Datenraten zwischen dem CP 101 und dem AP 103 zu beeinflussen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die anliegenden Zeichnungen sollen ein weiteres Verständnis von Aspekten bieten, und sie sind in diese Beschreibung aufgenommen und bilden einen Teil davon. Die Zeichnungen veranschaulichen Aspekte und dienen zusammen mit der Beschreibung der Erklärung von Grundgedanken von Aspekten. Andere Aspekte und viele der vorgesehenen Vorteile von Aspekten werden leicht verstanden werden, wenn sie mit Bezug auf die folgende detaillierte Beschreibung besser verstanden werden. Gleiche Bezugszahlen bezeichnen entsprechende ähnliche Teile. Es zeigen:
  • 1 ein Blockdiagramm eines Drahtloskommunikationssystems 100 mit einem Kommunikationsprozessor (CP) 101 und einem Anwendungsprozessor (AP) 103, die durch eine PCIe-Schnittstelle 102 zum Auslagern von Daten gekoppelt sind,
  • 2 ein Blockdiagramm eines Kommunikationssystems 200 mit einem Kommunikationsprozessor (CP) 201 und einem Anwendungsprozessor (AP) 203, die durch eine physikalische Schnittstelle 202 zum Auslagern von Daten gekoppelt sind. Die physikalische Schnittstelle kann eine PCIe-Schnittstelle sein, die für mehrere Zwecke unter Verwendung logischer Kanäle verwendet wird,
  • 3 ein Blockdiagramm eines Kommunikationssystems 300 mit einem Kommunikationsprozessor (CP) 310 und einem Anwendungsprozessor (AP) 320, die durch eine PCIe-Schnittstelle 330 und einen Interprozessorkommunikations-(IPC)-Dienst 336 zum Auslagern von Daten gekoppelt sind. Die IPC verwendet die PCIe-Schnittstelle. IPC ist eine SW-Schicht als Protokoll über dem PCIe-Bus.
  • 4 ein schematisches Diagramm von Verarbeitungsschritten (1–10) gemäß einem Verfahren 400 zur Verarbeitung des Datenaustausches zwischen einem CP 310 und einem AP 320 eines Kommunikationssystems 300, wie in 3 dargestellt,
  • 5 ein Blockdiagramm eines Kommunikationssystems 500 mit einem Kommunikationsprozessor (CP) 310 und einem Anwendungsprozessor (AP) 320, die durch eine PCIe-Schnittstelle 330 und einen Interprozessorkommunikations-(IPC)-Dienst 336 zum Auslagern von Daten gekoppelt sind, und einem zusätzlichen Puffer zum Zwischenspeichern auszutauschender Daten und
  • 6 ein schematisches Diagramm eines Verfahrens 600 zum Auslagern von Daten von einer Datenverarbeitungsvorrichtung zu einer fernen Datenverarbeitungsvorrichtung.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden detaillierten Beschreibung wird auf die anliegenden Zeichnungen Bezug genommen, die Teil davon sind und worin zur Erläuterung spezifische Aspekte dargestellt sind, in denen die Erfindung verwirklicht werden kann. Es sei bemerkt, dass andere Aspekte verwendet werden können und dass strukturelle oder logische Änderungen vorgenommen werden können, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen. Die folgende detaillierte Beschreibung ist daher nicht als einschränkend anzusehen, und der Schutzumfang der vorliegenden Erfindung ist durch die anliegenden Ansprüche definiert.
  • Die folgenden Begriffe, Abkürzungen und Bezeichnungen werden hier verwendet:
  • CP:
    Kommunikationsprozessor, Modem
    AP:
    Anwendungsprozessor
    PCI:
    Peripheriekomponentenverbindung
    PCIe:
    PCI-Express
    IPC:
    Interprozessorkommunikation
    L2:
    Schicht 2 des Mobilfunkkommunikationsprotokolls nach OSI
    DL:
    Abwärtsverbindung
    UL:
    Aufwärtsverbindung
    ROHC:
    Robuste Kopfkompression
    IP:
    Internetprotokoll
    IMS:
    IP-Multimediasystem
    VoIP:
    Sprache-über-Internet-Protokoll
    TTI:
    Übertragungszeitintervall
    C-PS:
    Mobilfunkprotokollstapel
    PDCP:
    Paketdatenkonvergenzprotokoll
    DMAC:
    Direktspeicherzugriffskommunikation
    PDU:
    Protokolldateneinheit
    ATU:
    Adressübersetzungseinheit
    TD:
    Übertragungsbeschreiber
    MCM:
    Speicher- und Verbindungsmanager
    MSI:
    Nachrichten-signalisierte Unterbrechung (Teil der PCIe-Norm)
    MIPI:
    MIPI-Allianz (Normierung)
    LLI:
    Schnittstelle mit geringer Latenz
    DMI2:
    Direktmedienschnittstelle Version 2
    DRAM:
    Dynamischer Direktzugriffsspeicher
    3GPP:
    3rd Generation Partnership Project
    LTE:
    Long Term Evolution
    LTE-A:
    LTE Advanced, Ausgabe 10 und höhere Versionen von 3GPP LTE
    HF:
    Hochfrequenz
    UE:
    Benutzergerät, Mobilstation
    OFDM:
    Orthogonale Frequenzmultiplexverfahren
    NodeB:
    Basisstation
    MIMO:
    Mehrere-Eingänge-mehrere-Ausgänge
  • Die hier beschriebenen Verfahren und Vorrichtungen können auf Kommunikationsprozessoren, Anwendungsprozessoren, PCIe-Schnittstellen und Interprozessorkommunikationsschnittstellen beruhen. Es sei bemerkt, dass in Zusammenhang mit einem beschriebenen Verfahren gegebene Kommentare auch für eine entsprechende Vorrichtung gelten können, die dafür ausgelegt ist, das Verfahren auszuführen, und umgekehrt. Falls beispielsweise ein spezifischer Verfahrensschritt beschrieben wird, kann eine entsprechende Vorrichtung eine Einheit zum Ausführen des beschriebenen Verfahrensschritts aufweisen, selbst wenn eine solche Einheit in den Figuren nicht explizit beschrieben oder dargestellt ist. Ferner ist zu verstehen, dass die Merkmale der verschiedenen hier beschriebenen als Beispiel dienenden Aspekte miteinander kombiniert werden können, es sei denn, dass etwas anderes spezifisch erwähnt wird.
  • Die hier beschriebenen Verfahren und Vorrichtungen können in Drahtloskommunikationsnetzen, insbesondere Kommunikationsnetzen auf Mobilkommunikationsnormen in der Art von LTE, insbesondere LTE-A und/oder OFDM, beruhen. Die nachstehend beschriebenen Verfahren und Vorrichtungen können in mobilen Vorrichtungen (oder Mobilstationen oder Benutzergeräten (UE)) implementiert werden und auch auf Funkzellen in der Art von Basisstationen (NodeB, eNodeB) angewendet werden. Die beschriebenen Vorrichtungen können integrierte Schaltungen und/oder passive Elemente aufweisen und gemäß verschiedenen Technologien hergestellt werden. Beispielsweise können die Schaltungen als integrierte Logikschaltungen, analoge integrierte Schaltungen, integrierte Mischsignalschaltungen, optische Schaltungen, Speicherschaltungen und/oder integrierte passive Elemente ausgelegt sein.
  • Die hier beschriebenen Verfahren und Vorrichtungen können dafür ausgelegt sein, Funksignale zu senden und/oder zu empfangen. Funksignale können Hochfrequenzsignale sein oder aufweisen, die von einer Funksendevorrichtung (oder einem Funksender) mit einer in einem Bereich von etwa 3 Hz bis 300 GHz liegenden Hochfrequenz ausgestrahlt werden. Der Frequenzbereich kann Frequenzen von elektrischen Wechselstromsignalen entsprechen, die für das Erzeugen und Erfassen von Funkwellen verwendet werden.
  • Die nachstehend beschriebenen Verfahren und Vorrichtungen können gemäß Mobilkommunikationsnormen in der Art beispielsweise der Long-Term-Evolution-(LTE)-Norm oder der weiterentwickelten Version LTE-A davon ausgelegt werden. LTE (Long Term Evolution), das als 4G, 5G LTE und darüber hinaus vertrieben wird, ist eine Norm für die Drahtloskommunikation mit hoher Datenübertragungsgeschwindigkeit für Mobiltelefone und Datenendgeräte.
  • Die nachstehend beschriebenen Verfahren und Vorrichtungen können in OFDM-Systemen angewendet werden. OFDM ist ein Schema zum Codieren digitaler Daten auf mehreren Trägerfrequenzen. Eine große Anzahl dicht beabstandeter orthogonaler Unterträgersignale kann zur Übertragung von Daten verwendet werden. Infolge der Orthogonalität der Unterträger kann ein Übersprechen zwischen Unterträgern unterdrückt werden.
  • Die nachstehend beschriebenen Verfahren und Vorrichtungen können in MIMO-Systemen angewendet werden. Drahtlose Kommunikationssysteme mit mehreren Eingängen und mehreren Ausgängen (MIMO) verwenden mehrere Antennen am Sender und am Empfänger, um die Systemkapazität zu erhöhen und eine bessere Dienstqualität zu erreichen. Im räumlichen Multiplexmodus können MIMO-Systeme höhere Spitzendatenraten erreichen, ohne die Bandbreite des Systems zu erhöhen, indem mehrere Datenströme im selben Frequenzband parallel übertragen werden.
  • Die nachstehend beschriebenen Verfahren und Vorrichtungen können Daten über eine Busschnittstelle in der Art des PCIe-Busses übertragen. Der PCI-Express-Bus ist ein schneller serieller Ersatz für den älteren PCI/PCI-X-Bus. PCI-Express beruht auf einer Punkt-zu-Punkt-Topologie, wobei getrennte serielle Verbindungen jede Vorrichtung mit dem Host verbinden. Die PCI-Express-Busverbindung unterstützt eine Vollduplexkommunikation zwischen jeweiligen zwei Endpunkten ohne inhärente Beschränkung bei einem konkurrierenden Zugriff über mehrere Endpunkte. PCIe-Vorrichtungen müssen PCIe-Adressen verwenden, um Pakete über eine PCIe-Verbindung zu senden/zu empfangen. Die Adressübersetzungseinheit (ATU) innerhalb des PCIe-Moduls übersetzt die vorrichtungsinterne Adresse in eine PCIe-Adresse und umgekehrt. Die PCIe-Adresse kann beispielsweise eine 32-Bit- oder eine 64-Bit-Adresse sein. Für die abgehende Transaktion übersetzt die Abgehend-ATU die vorrichtungsinterne Adresse in eine PCIe-Adresse. Die Daten mit einer PCIe-Adresse werden über die PCIe-Verbindung zur anderen Vorrichtung übertragen. Für die eingehende Transaktion akzeptiert das Basisadressregister (BAR) im PCIe-Modul bestimmte PCIe-Adressen und weist die anderen zurück. Die Daten mit einer akzeptierten PCIe-Adresse gehen durch die Eingehend-ATU und werden nach der Adressübersetzung in den vorrichtungsinternen Speicher übertragen.
  • Die nachstehend beschriebenen Verfahren und Vorrichtungen können Daten über Interprozessorkommunikations-(IPC)-Dienste übertragen. Die Interprozessorkommunikation (IPC) definiert das Protokoll und den Betriebsmodus, welche zwei Systeme verwenden, um einen Austausch von Nachrichten zu erreichen, die sich auf die Steuer- und die Datenebene beziehen.
  • 1 ist ein Blockdiagramm eines Drahtloskommunikationssystems 100 mit einem Kommunikationsprozessor (CP) 101 und einem Anwendungsprozessor (AP) 103, die mit einer PCIe-Schnittstelle 102 für das Auslagern von Daten gekoppelt sind. Das Kommunikationssystem kann auf Mobilkommunikationen in der Art von LTE, beispielsweise Ausgabe 13, angewendet werden. Ein Hochfrequenz-(HF)-Prozessor 113 empfängt ein Abwärtsverbindungs-(DL)-Signal von einer Antenne 115, wendet eine HF-Verarbeitung auf das DL-Signal an und überträgt DL-Datenpakete zum Kommunikationsprozessor (CP) 101, der einen CP-Speicher 105 zum Speichern der empfangenen DL-Datenpakete und eine Verarbeitungseinheit 109 zur L2-Verarbeitung der empfangenen DL-Datenpakete aufweist. Ein Anwendungsprozessor (AP) 103 ist über eine PCIe-Schnittstelle 102 mit dem CP 101 gekoppelt, um höhere Protokollstapel zu verarbeiten. Der AP 103 weist einen AP-Speicher 107 und eine Verarbeitungseinheit 111 auf und ist mit einem Netz 117 zur Weiterleitung der verarbeiteten Daten zu den entsprechenden Anschlussstellen gekoppelt. Der CP 101 kann eine Datenverarbeitungsvorrichtung sein, wie nachstehend mit Bezug auf die 2 bis 5 beschrieben wird. Der AP 103 kann eine ferne Datenverarbeitungsvorrichtung sein, wie nachstehend mit Bezug auf die 2 bis 5 beschrieben wird.
  • Bei einer Implementation, die sich auf LTE Ausgabe 13 bezieht, wurde für eine 800-Mbps-DL-Datenübertragung der erforderliche Speicheraufwand als 21,9 MB, einschließlich einer Dualverbindbarkeit [(800 DL 12,5 MB + DC 6,1 MB)·1,175], geschätzt. Durch die Verwendung von Techniken gemäß der Offenbarung, wie nachstehend beschrieben, kann der Speicheraufwand für den L2-Pufferspeicher (am CP-Speicher 105) auf fast 0, d.h. wenige kBytes, verringert werden.
  • 2 ist ein Blockdiagramm eines Kommunikationssystems 200 mit einem Kommunikationsprozessor (CP) 201 und einem Anwendungsprozessor (AP) 203, die durch eine Speicherteilungsschnittstelle 202 zum Auslagern von Daten gekoppelt sind.
  • Das Kommunikationssystem 200 umfasst eine Datenverarbeitungsvorrichtung (DPD) 201, beispielsweise einen Kommunikationsprozessor, wie nachstehend mit Bezug auf die 3 bis 5 beschrieben, und eine ferne Datenverarbeitungsvorrichtung (DPD) 203, beispielsweise einen Anwendungsprozessor, wie nachstehend mit Bezug auf die 3 bis 5 beschrieben. Die DPD 201 und die ferne DPD 203 sind über eine Schnittstelle 202, beispielsweise eine PCIe-Schnittstelle, wie nachstehend mit Bezug auf die 3 bis 5 beschrieben, und einen Dienst als Interprozessorkommunikation (IPC), wie nachstehend mit Bezug auf die 3 bis 5 beschrieben, zum Auslagern von Daten von der Datenverarbeitungsvorrichtung 201 zur fernen Datenverarbeitungsvorrichtung 203 gekoppelt.
  • Die Datenverarbeitungsvorrichtung 201 weist ein Verarbeitungselement 209 und eine Schnittstelle 202 auf. Das Verarbeitungselement 209 verarbeitet mehrere Datenpakete 205 gemäß einem Kommunikationsprotokoll, um mehrere verarbeitete Datenpakete bereitzustellen, wobei jedes der verarbeiteten Datenpakete einen ersten Teil und einen zweiten Teil aufweist. Der erste Teil kann Kopfdaten aufweisen, während der zweite Teil Nutzinformationsdaten aufweisen kann.
  • Die Schnittstelle 202 ist dafür ausgelegt, die zweiten Teile der mehreren verarbeiteten Datenpakete zur fernen Datenverarbeitungsvorrichtung 203 auszulagern 206 und der fernen Datenverarbeitungsvorrichtung 203 das Auslagern 206 der zweiten Teile der mehreren verarbeiteten Datenpakete mitzuteilen 208. Die zweiten Teile der verarbeiteten Datenpakete können zu einem Speicher 207 der fernen Datenverarbeitungsvorrichtung 203 ausgelagert werden. Die Mitteilung 208 des Auslagerns 206 ist vom Auslagern 206 der zweiten Teile der verarbeiteten Datenpakete entkoppelt.
  • Das Verarbeitungselement 209 kann ein Datenpaket von den mehreren Datenpaketen pro einzelnem Übertragungszeitintervall (TTI) verarbeiten. Der IPC-Dienst kann der fernen Verarbeitungsvorrichtung 203 das Auslagern pro einzelnem TTI oder pro mehreren TTI mitteilen.
  • Die ersten Teile der verarbeiteten Datenpakete können beispielsweise Datenköpfe für die jeweiligen Datenpakete aufweisen, während die zweiten Teile der verarbeiteten Datenpakete die Benutzerdaten der jeweiligen Datenpakete aufweisen können. Das Verarbeitungselement 209 kann die mehreren Datenpakete dechiffrieren, um die Benutzerdaten bereitzustellen.
  • Bei einer als Beispiel dienenden Implementation kann die Schnittstelle 202 eine PCIe-Schnittstelle, beispielsweise wie nachstehend mit Bezug auf die 3 bis 5 beschrieben, oder eine Geteilter-Speicher-Schnittstelle oder eine Schnittstelle gemäß einem von PCI oder einer Interprozessorkommunikation abgeleiteten Busprotokoll, beispielsweise wie nachstehend mit Bezug auf die 3 bis 5 beschrieben, oder eine Die-zu-Die-Schnittstelle, eine Schnittstelle niedriger Latenz oder eine Netzschnittstelle sein.
  • Das Verarbeitungselement 209 kann die mehreren Datenpakete entsprechend einem Schicht-2-Mobilfunknetzprotokoll, beispielsweise wie nachstehend mit Bezug auf die 3 bis 5 beschrieben, verarbeiten. Das Verarbeitungselement 209 kann die mehreren Datenpakete vor dem Auslagern 206 der zweiten Teile der mehreren verarbeiteten Datenpakete wieder anfordern. Das Verarbeitungselement 209 kann ein RLC-Wiederübertragungsprotokoll zum Wiederanfordern der mehreren Datenpakete 205 verarbeiten.
  • Die Datenverarbeitungsvorrichtung 201 kann einen ersten Puffer für das Speichern der mehreren Datenpakete 205 entsprechend einem Schicht-1-Mobilfunknetzprotokoll, beispielsweise einen Schicht-1-Puffer, wie nachstehend mit Bezug auf die 3 bis 5 beschrieben, aufweisen. Das Verarbeitungselement 209 kann die mehreren Datenpakete 205 aus dem ersten Puffer abrufen. Die Datenverarbeitungsvorrichtung 201 kann einen zweiten Puffer zum Speichern der ersten Teile der mehreren verarbeiteten Datenpakete 205, beispielsweise einen Schicht-2-Puffer, wie nachstehend mit Bezug auf die 3 bis 5 beschrieben, aufweisen.
  • Die Datenverarbeitungsvorrichtung 201 kann einen Zwischenpuffer zum Zwischenspeichern der zweiten Teile der mehreren verarbeiteten Datenpakete 205 vor dem Auslagern 206 der zweiten Teile der fernen Datenverarbeitungsvorrichtung 203, beispielsweise einen Zwischenpuffer, wie nachstehend mit Bezug auf 5 beschrieben, aufweisen.
  • Die Datenverarbeitungsvorrichtung 201 kann ein zweites Verarbeitungselement zum Bereitstellen eines Orts der zweiten Teile der mehreren im Zwischenpuffer gespeicherten verarbeiteten Datenpakete für die Schnittstelle zur Steuerung des Auslagerns 206 der zweiten Teile, beispielsweise einen IPC-Prozessor, wie nachstehend mit Bezug auf 5 beschrieben, aufweisen. Der Zwischenpuffer kann eine Größe zum Speichern einer als Beispiel dienenden Anzahl von zwei oder vier zweiten Teilen in der Art der Köpfe der mehreren verarbeiteten Datenpakete aufweisen.
  • Die ferne Datenverarbeitungsvorrichtung 203 weist eine Schnittstelle 202 und einen Speicher 207 auf. Die Schnittstelle 202 ist dafür ausgelegt, die mehreren zweiten Teile der verarbeiteten Datenpakete, die von der Datenverarbeitungsvorrichtung 201 ausgelagert werden, zu empfangen und die Mitteilung 208 von der Datenverarbeitungsvorrichtung 202 über das Auslagern 206 der zweiten Teile zu empfangen. Der Speicher 207 ist dafür ausgelegt, die von der Datenverarbeitungsvorrichtung 201 ausgelagerten mehreren zweiten Teile der verarbeiteten Datenpakete zu speichern, wie beispielsweise nachstehend mit Bezug auf die 3 bis 5 beschrieben wird. Der Speicher 207 kann ein geteilter Speicher zwischen der DPD 201 und der fernen DPD 203 sein.
  • Die Mitteilung 208 des Auslagerns 206 ist vom Empfang der mehreren ausgelagerten zweiten Teile der verarbeiteten Datenpakete entkoppelt.
  • Die ferne Datenverarbeitungsvorrichtung 203 weist ein Verarbeitungselement 211 auf, das die mehreren zweiten Teile der verarbeiteten Datenpakete aus dem Speicher 207 zur Weiterverarbeitung abruft. Das Verarbeitungselement 211 der fernen DPD 203 kann die mehreren zweiten Teile der verarbeiteten Datenpakete auf der Grundlage der Mitteilung 208 von der DPD 201 aus dem Speicher 207 abrufen.
  • Die Schnittstelle 202 kann die zweiten Teile pro einzelnem TTI empfangen. Der IPC-Dienst 204 kann die Mitteilung 208 von der Datenverarbeitungsvorrichtung 201 pro einzelnem TTI oder pro mehreren TTI empfangen. Die zweiten Teile der verarbeiteten Datenpakete können Benutzerdaten, beispielsweise Datagramme oder IP-Pakete, aufweisen, wie nachstehend mit Bezug auf die 3 bis 5 beschrieben wird. Die zweiten Teile können entsprechend einem Schicht-2-Mobilfunknetzprotokoll verarbeitet werden.
  • Die mehreren zweiten Teile verarbeiteter Datenpakete können in einer einer anfänglichen Übertragungssequenz entsprechenden Sequenz empfangen werden. Der Speicher 207 kann einen Satz von Datenpuffern und einen Ringpuffer von Übertragungsbeschreibern aufweisen. Ein Übertragungsbeschreiber des Ringpuffers kann einen spezifischen Datenpuffer des Satzes von Datenpuffern angeben, beispielsweise wie nachstehend mit Bezug auf 4 beschrieben. Die Schnittstelle 202 kann dafür ausgelegt sein, die empfangenen mehreren zweiten Teile verarbeiteter Datenpakete im Satz von Datenpuffern des Speichers 207 zu speichern. Der IPC-Dienst 204 kann wenigstens einen Übertragungsbeschreiber empfangen, der den Satz von Datenpuffern angibt, worin die empfangenen mehreren zweiten Teile verarbeiteter Datenpakete gespeichert sind, beispielsweise wie nachstehend mit Bezug auf 4 beschrieben.
  • Das Kommunikationssystem 200 kann auf einem Einzelchip integriert sein. Die ferne Datenverarbeitungsvorrichtung 203 kann einen geteilten Speicher 207 zum Speichern der zweiten Teile der mehreren verarbeiteten Datenpakete aufweisen. Die Datenverarbeitungsvorrichtung 201 kann einen zweckgebundenen Speicher zum Speichern der ersten Teile der mehreren verarbeiteten Datenpakete aufweisen. Der zweckgebundene Speicher kann vor einem Zugriff durch die ferne Datenverarbeitungsvorrichtung 203 geschützt sein.
  • 3 ist ein Blockdiagramm eines Kommunikationssystems 300 mit einem Kommunikationsprozessor (CP) 310 und einem Anwendungsprozessor (AP) 320, die durch eine PCIe-Schnittstelle 330 und eine Interprozessorkommunikation (IPC) 336 für das Auslagern von Daten gekoppelt sind. Das Kommunikationssystem 300 ist eine als Beispiel dienende Implementation des vorstehend mit Bezug auf 2 beschriebenen Kommunikationssystems 200.
  • Das Modem oder der Kommunikationsprozessor (CP) 310 weist einen Schicht-1-(L1)-Puffer 311, einen Schicht-2-(L2)-Prozessor 313, einen Kopfpuffer 315 und eine Interprozessorkommunikation (IPC) 317 auf. Der L1-Puffer 311 wird für das Puffern empfangener Datenpakete, beispielsweise von einem Hochfrequenzprozessor 113 empfangener Datenpakete, wie vorstehend mit Bezug auf 1 beschrieben, verwendet. Der L2-Prozesor ruft Datenpakete aus dem L1-Puffer 311 ab und verarbeitet diese Datenpakete entsprechend einem L2-Netzprotokoll, einschließlich einer Dechiffrierung, um verarbeitete Datenpakete mit einem Kopfteil und einem Benutzerdatenteil bereitzustellen. Der Benutzerdatenteil kann ein Datagramm oder ein IP-Paket aufweisen. Der Kopfteil wird im Kopfpuffer 315 gespeichert, während der Benutzerdatenteil über eine PCIe-Schnittstelle 330 zum Anwendungsprozessor (AP) 320 übertragen wird. Nach der Übertragung eines oder mehrerer Benutzerdatenteile teilt die IPC-Vorrichtung 317 die Übertragung dem AP 320 über einen IPC-Dienst 336 mit.
  • Der AP 320 weist einen Puffer 321 mit einem Beschreiberbereichsraum 327 und einem IP-Paketraum 329, eine IPC 323 und einen Netzprozessor 325 auf. Die Benutzerdatenteile, d.h. vom CP 310 über die PCIe-Schnittstelle 330 übertragene IP-Pakete, werden im IP-Paketraum 329 des Puffers 321 gespeichert. Ihr Ort wird im Beschreiberbereich 327 des Puffers 321 angegeben, wo den Ort der IP-Pakete im Puffer 321 beschreibende Beschreiber durch die IPC 317 des CP 310 gespeichert werden, wenn die IP-Pakete über die PCIe-Schnittstelle 330 übertragen werden. Die IPC 323 des AP 320 kann die Beschreiber aus dem Beschreiberbereich 327 des Puffers 321 abrufen und den Netzprozessor 325 zur Weiterverarbeitung der IP-Pakete durch den Netzprozessor 325 über den Ort der IP-Pakete informieren.
  • Das Grundprinzip besteht darin, den Schicht-2-(L2)-Pufferraum in einen lokalen und einen fernen Teil zu unterteilen, die hier als erster Teil oder Kopfteil und zweiter Teil oder IP-Paketteil bezeichnet werden. Der ferne Teil wird zum Anwendungsprozessor (AP) ausgelagert, der über die Geteilter-Speicher-Schnittstelle als PCIe zugänglich ist. Der Speicher der L2-Protokolldateneinheiten (PDU) wird nach dem Dechiffrieren von der Mitteilung von IP-Paketen zur Netzschnittstelle des AP entkoppelt. Das gleiche Prinzip ist für integrierte Modem- oder andere Geteilter-Speicher-Schnittstellen anwendbar.
  • Der Hauptanwendungsfall für ferne Puffer ist DL-Benutzerdaten (IP-Datagramme), wo ein Schicht-2-Pufferauslagern zu einem fernen AP-DRAM ausgeführt wird, wobei sich auf den 90%-Fall konzentriert wird. Anwendungsfälle, die bei lokalen Puffern verbleiben, sind Steuerebene, UL-Daten und Abläufe, die eine IP-Kopfmanipulation erfordern, beispielsweise eine ROHC- bezogene IP-Kopfverarbeitung oder eine Adressierung von IP-Clients auf der Modemseite (IMS, VoIP). Ferner erfordert ein Host-Schlafzustand mit Aufweckfiltern ein dynamisches Schalten zwischen einer fernen und lokalen Pufferverwendung.
  • Nachfolgend wird ein Beispiel für den Hauptanwendungsfall einer Abwärtsdatenübertragung beschrieben. Das Modem (CP) ist durch Block 310 repräsentiert, während der AP durch Block 320 repräsentiert ist. Die oberen Blöcke 311, 315, 321 zeigen Speicherstellen, während die unteren Blöcke 313, 317, 323, 325 die Verarbeitungselemente repräsentieren. Der Vorgang in Abwärtsrichtung weist die folgenden Schritte auf: Pro TTI empfangene PDU von Schicht 1 des Mobilfunkprotokollstapels (L1 C-PS) werden lokal auf der Modemseite 302 gespeichert. Das Schicht-2-Verarbeitungselement PDCP initialisiert das Dechiffrieren, und Datagramme (IP-Pakete) werden im L2-Pufferraum auf der AP-Seite 332 gespeichert. Der PDU-Puffer wird vom fernen Pufferpool bedient, der sich am AP-Speicher befindet. Das Dechiffrierelement (im L2-Prozessor 313) kann durch den CP physikalisch programmiert bleiben, und die Übersetzung in die physikalische Host-Adresse erfolgt über die PCIe-ATU 331 für einen direkten PDU-Pufferzugriff. Nach einer Neuanforderung und einer anderen Mobilfunkprotokollstapel-(C-PS)-L2-Verarbeitung wird eine neue Datenangabe zum IPC-Treiber pro einzelnem TTI oder pro mehreren TTI 306 gesendet. Durch die neue Datenangabe ausgelöst beginnt der IPC-Treiber auf der Modemseite mit der Übertragung der IP-Pakete 334, 332 zur Speicherstelle auf der AP-Seite über die PCIe-Verbindung 330. Die empfangenen Pakete werden dann durch die Netzschnittstelle auf der AP-Seite 322, 324 verarbeitet und zur entsprechenden Anschlussstelle weitergeleitet.
  • Eine lokale Kopie der ersten 16–128B (Größe konfigurierbar) der ausgelagerten PDU kann, wenn erforderlich, lokal gespeichert werden, um die Inspektion des IP-Kopfs auf der CP-Seite zu vereinfachen. Im Allgemeinen wird eine sehr enge Integration zwischen dem AP und dem CP auf der Datenebene und der Steuerung davon in Bezug auf die Speicherverringerung, Energieeinsparung und Leistungsfähigkeit erreicht. Eine CP-DRAM-Speicherverringerung wird durch vollständiges Auslagern für ferne Puffer, beispielsweise etwa 21,9 MB, erreicht. Eine Energieeinsparung wird durch Beseitigen des CP-DRAM-Zugriffs für die PDU-Speicherung im Speicher und Verbindungsmanager-(MCM)-Puffern erreicht. Die Leistungsfähigkeit wird erhöht, indem keine HW-DMA-Beschreiber durch den IPC-Treiber für ferne Puffer verarbeitet werden.
  • Die Energieeffizienz über die PCIe-Verbindung erfordert einen Race-to-off-Betrieb bei Übertragungen vom PDB (d.h. Schicht-1-Puffer) zu fernen Puffern, und der AP muss in Bezug auf die Leistungsfähigkeit die Latenz und den Durchsatz während 1 TTI über die PCIe-Verbindung garantieren. Die zusätzliche Komplexität auf der AP-Seite, die darin besteht, dass die AP-IPDU-Zuordnung auf das ATU-Fenster (beispielsweise 256 MB bis 1 GB) beschränkt ist, kann überwunden werden, indem eine physikalische Host-Adressierung zur Dechiffriermaschine ermöglicht wird. Die nachstehend beschriebene 4 zeigt die Verarbeitungsschritte in weiteren Einzelheiten.
  • 4 ist ein schematisches Diagramm von Verarbeitungsschritten (1–10) gemäß einem Verfahren 400 zur Verarbeitung eines Datenaustausches zwischen einem CP 310 und einem AP 320 eines Kommunikationssystems 300, wie in 3 dargestellt ist. Das Kommunikationssystem 300 ist eine als Beispiel dienende Implementation des vorstehend mit Bezug auf 2 beschriebenen Kommunikationssystems 200.
  • Die oberen Blöcke 325, 323, 317, 313 zeigen Verarbeitungselemente entsprechend den vorstehend mit Bezug auf 3 beschriebenen Verarbeitungselementen 325, 323, 317, 313, während die unteren Blöcke 401, 403, 405, 407, 409, 411, 413 Dateneinheiten repräsentieren. Block 313, der L2-Prozessor, weist einen Mobilfunkprotokollstapel (C-PS) 313a und einen Speicher- und Verbindungsmanager (MCM) 313b auf. Block 317, die IPC-Vorrichtung des CP 310, weist einen IPC-Treiber 317a und IPC-Hardware (HW) 317b auf. Block 323, die IPC-Vorrichtung des AP 320, weist einen IPC-Treiber 323a und IPC-Hardware (HW) 323b auf. Die IPC-HW ist PCIe.
  • Es gibt einen Ringpuffer 409 von Übertragungsbeschreibern (TD) für jede logische Pipeline für jede Richtung. 4 zeigt einen DL-TD-Ringpuffer 409 für eine einzelne Pipeline. Jeder TD-Eintrag zeigt auf ein Paket in einem Container 401 auf der AP-Speicherseite 420. Die Eigentümerschaft von Puffern zwischen dem AP und dem CP wird durch Aktualisieren von Kopf- und Endzeigern der TD-Ringpuffer 409 behandelt. Die Verarbeitung hat folgende Vorbedingung: AP NetIf 325 oder die IPC 323 hat einen leeren Container 401 zugeordnet und die Eigentümerschaft über einen Containerringpuffer (nicht dargestellt) auf CP IPC DRV 317a übertragen, und CP IPC 317 hat den Container 401 MCM 313b durch Abbilden der physikalischen Host-Adresse auf die physikalische CP-Adresse (inverses ATU-Nachschlagen) bereitgestellt.
  • Die Verarbeitungsschritte werden nachfolgend beschrieben:
    In einem ersten Schritt (1) erhält der PDCP über den L2-Coprozessor, d.h. C-PS 313a einen leeren Puffer vom MCM 313b (pro PDU zugeordnet) und programmiert den L2-Coprozessor 313a, beispielsweise über EGDCI, um dechiffrierte Datagramme in Datenpuffer 403 zu schreiben, die sich auf der AP-Seite 420 auf Containern 409 befinden (pro 1–2 TTI). In einem zweiten Schritt (2) aktualisiert der PDCP die Segmentbeschreiber 407 für beschriebene Datenpuffer (pro 1–2 TTI). In einem dritten Schritt (3) signalisiert der PDCP eine neue Datenangabe über den Mobilfunkprotokollstapel (C-PS) 313a / den Speicher- und Verbindungsmanager (MCM) 313b zur IPC 317 (pro Übertragungsintervall, beispielsweise 2 ms). In einem vierten Schritt (4) liest der CP IPC DRV 317a die verknüpfte Liste von Segmentbeschreibern 407. In einem fünften Schritt (5) aktualisiert der IPC DRV 317a die TDR-Einträge 411. In einem sechsten Schritt (6) signalisiert der CP IPC DRV 317a eine neue Datenangabe, beispielsweise über die Mediendienstschnittstelle (MSI), zum AP IPC DRV 323a. In einem siebten Schritt (7) liest der AP IPC DRV 323 neue TD, beispielsweise unter Verwendung von Zeigern 415 des Steuerblocks 413, die auf TD im TD-Ringpuffer 409 zeigen. In einem achten Schritt (8) aktualisiert der AP IPC DRV 323a die Pufferbeschreiber 405. In einem neunten Schritt (9) signalisiert der AP IPC DRV 323a der NetIf 325 eine neue Datenangabe. In einem zehnten Schritt (10) verbraucht die NetIf 325 Datagramme. In einem elften Schritt (in 4 nicht dargestellt) gibt der CP IPC DRV 317a die Datenpuffer nach vollständiger Verwendung durch den MCM 313b (MCM-Mitteilung) über den BDR-Ringpuffer (nicht dargestellt) wieder zurück. In einem zwölften Schritt (in 4 nicht dargestellt) werden die Datenpuffer befreit, wenn alle Datagramme verbraucht wurden (Referenzzähler).
  • Die Zeit für das Speichern dechiffrierter PDU (Schritt 1–2) ist von der Zeit entkoppelt, zu der die Netzschnittstelle 325 auf der AP-Seite 420 über IP-Pakete informiert wird (Schritte 3ff), die in Sequenz überbracht werden. Zwischen Schritt 2 und Schritt 3 kann eine beliebige Neuübertragung auf der Mobilfunknetzseite geschehen. Ein bestimmtes IP-Paket kann mehrere Millisekunden auf der AP-Seite 420 verbleiben, bis der AP durch einen aktualisierten TD über dieses Paket informiert wird. Eine alternative Implementation wird nachstehend mit Bezug auf 5 gezeigt.
  • 5 ist ein Blockdiagramms eines Kommunikationssystems 500 mit einem Kommunikationsprozessor (CP) 310 und einem Anwendungsprozessor (AP) 320, die durch eine PCIe-Schnittstelle 330 und eine Interprozessorkommunikation (IPC) 336 zum Auslagern von Daten gekoppelt sind, und einem zusätzlichen Puffer zum Zwischenspeichern auszutauschender Daten. Das Kommunikationssystem 500 ist eine als Beispiel dienende Implementation des vorstehend mit Bezug auf 2 beschriebenen Kommunikationssystems 200. Das Kommunikationssystem 500 entspricht dem vorstehend mit Bezug auf die 3 und 4 beschriebenen Kommunikationssystem 300, es ist jedoch ein zusätzlicher L2-Puffer 501 zum Zwischenspeichern von Datenpaketen, beispielsweise von zwei Datenpaketen A und B, wie in 5 dargestellt, in den CP 310 aufgenommen.
  • Hier wird der eingeschobene Zwischenspeicher (Tmp) durch einen PCIe-DMA-Kanal 503 zum AP 320 bedient. Das Herausschieben kann durch ein Doppelpufferschalten, beispielsweise bei jedem zweiten TTI (oder Pufferstatuspegel) gesteuert werden. Der Vorteil dieser Implementation des Kommunikationssystems 500 besteht darin, den kritischen Durchsatz und die Latenzabhängigkeit zum AP 320 über die PCIe-Verbindung 330 zu verringern.
  • Das Kommunikationssystem 500 stellt noch eine Entkopplung der Datenbewegung von einer neuen Datenangabe 306 zum AP 320 durch Auslagern der Schicht-2-Pufferung für Außerhalb-der-Abfolge-PDU bereit. Die CP-DRAM-Speicherverringerung ist bei Berücksichtigung des tmp-Pufferraums 501 für ein teilweises Auslagern zu fernen Puffern etwas geringer. Beispielsweise kann eine 21,4-MB-Verringerung (21,9 MB–0,5 MB) (2-TTI-Doppelpuffer) erreicht werden.
  • Das Kommunikationssystem 500 stellt hauptsächlich Vorteile in Bezug auf die Entkopplung des CP 310 und des AP 320 bereit, weil noch vom CP-DRAM in alle PDU geschrieben wird/daraus gelesen wird und der IPC-Treiber noch DMA-Beschreiber verarbeiten muss.
  • Die vorstehend mit Bezug auf die 3 bis 5 beschriebenen Kommunikationssysteme 300 und 500 ermöglichen eine Neuaufteilung von Verarbeitungsaufgaben zwischen dem CP 310 und dem AP 320. Schicht-2-Verarbeitungsaufgaben des Mobilfunkprotokollstapels können zusammen mit den dechiffrierten L2-PDU zur AP-Treiberseite verschoben werden.
  • 6 ist ein schematisches Diagramm eines Verfahrens 600 zum Auslagern von Daten von einer Datenverarbeitungsvorrichtung zu einer fernen Datenverarbeitungsvorrichtung.
  • Das Verfahren 600 beinhaltet das Verarbeiten 601 mehrerer Datenpakete entsprechend einem Kommunikationsprotokoll, um mehrere verarbeitete Datenpakete bereitzustellen, die jeweils einen ersten Teil und einen zweiten Teil aufweisen. Das Verfahren 600 beinhaltet das Auslagern 602 der zweiten Teile der mehreren verarbeiteten Datenpakete zur fernen Datenverarbeitungsvorrichtung. Das Verfahren 600 beinhaltet das Benachrichtigen 603 der fernen Datenverarbeitungsvorrichtung über das Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete.
  • Das Benachrichtigen 603 über das Auslagern durch den IPC-Dienst ist vom Auslagern 602 der zweiten Teile der mehreren verarbeiteten Datenpakete entkoppelt.
  • Das Verfahren 600 kann ferner Folgendes beinhalten: Verarbeiten eines Datenpakets von den mehreren Datenpaketen pro einzelnem Übertragungszeitintervall (TTI) und Benachrichtigen der fernen Verarbeitungsvorrichtung über das Auslagern pro einzelnem TTI oder pro mehreren TTI.
  • Der erste Teil eines verarbeiteten Datenpakets kann Kopfdaten aufweisen. Der zweite Teil eines verarbeiteten Datenpakets kann Benutzerdaten aufweisen. Die Verarbeitung der mehreren Datenpakete kann das Dechiffrieren der mehreren Datenpakete, um die Benutzerdaten bereitzustellen, beinhalten.
  • Das Auslagern kann über eine physikalische Schnittstelle, beispielsweise eine PCIe-Schnittstelle, eine Geteilter-Speicher-Schnittstelle oder eine Schnittstelle gemäß einem von PCI abgeleiteten Busprotokoll erfolgen. Das Benachrichtigen kann über einen Interprozessorkommunikationsdienst, eine Die-zu-Die-Schnittstelle, eine Geteilter-Speicher-Schnittstelle, eine Schnittstelle mit niedriger Latenz, eine PCIe-Schnittstelle oder eine Netzschnittstelle erfolgen.
  • Die Verarbeitung der mehreren Datenpakete kann die Verarbeitung der mehreren Datenpakete gemäß einem Schicht-2-Mobilfunknetzprotokoll beinhalten. Die Verarbeitung der mehreren Datenpakete kann das Neuanfordern der mehreren Datenpakete, bevor die zweiten Teile der mehreren verarbeiteten Datenpakete ausgelagert werden, beinhalten. Das Neuanfordern der mehreren Datenpakete kann eine Verarbeitung gemäß einem RLC-Neuübertragungsprotokoll beinhalten.
  • Das Verfahren 600 kann ferner das Speichern der mehreren Datenpakete gemäß einem Schicht-1-Mobilfunknetzprotokoll vor der Verarbeitung der mehreren Datenpakete beinhalten. Das Verfahren 600 kann ferner das Speichern der ersten Teile der mehreren verarbeiteten Datenpakete beinhalten.
  • Das Verfahren 600 kann ferner das Zwischenspeichern der zweiten Teile der mehreren verarbeiteten Datenpakete in einem Zwischenpuffer vor dem Auslagern der zweiten Teile zur fernen Datenverarbeitungsvorrichtung beinhalten. Das Verfahren 600 kann ferner das Bereitstellen eines Orts der zweiten Teile der mehreren im Zwischenpuffer gespeicherten verarbeiteten Datenpakete zum Steuern des Auslagerns der zweiten Teile beinhalten. Das Verfahren 600 kann ferner das Zwischenspeichern einer Anzahl von zwei oder vier zweiten Teilen der mehreren verarbeiteten Datenpakete im Zwischenpuffer beinhalten.
  • Das Verfahren 600 kann auf einer Datenverarbeitungsvorrichtung 201, wie vorstehend mit Bezug auf 2 beschrieben, oder auf einem CP 310, wie vorstehend mit Bezug auf die 3 bis 5 beschrieben, ausgeführt werden.
  • Ein entsprechendes Verfahren zum Auslagern von Daten von einer Datenverarbeitungsvorrichtung zu einer fernen Datenverarbeitungsvorrichtung, wie nachstehend beschrieben, kann auf einer fernen Datenverarbeitungsvorrichtung 203, wie vorstehend mit Bezug auf 2 beschrieben, oder auf einem AP 320, wie vorstehend mit Bezug auf die 3 bis 5 beschrieben, ausgeführt werden.
  • Das entsprechende Verfahren beinhaltet das Empfangen mehrerer zweiter Teile verarbeiteter Datenpakete, die von der Datenverarbeitungsvorrichtung ausgelagert wurden, das Empfangen einer Benachrichtigung von der Verarbeitungsvorrichtung über das Auslagern der zweiten Teile und das Speichern der mehreren zweiten Teile verarbeiteter Datenpakete, die von der Datenverarbeitungsvorrichtung ausgelagert wurden, in einem Speicher der fernen Datenverarbeitungsvorrichtung.
  • Die Benachrichtigung über das Auslagern ist vom Empfang der mehreren ausgelagerten zweiten Teile der verarbeiteten Datenpakete entkoppelt.
  • Das entsprechende Verfahren kann ferner das Abrufen der mehreren zweiten Teile verarbeiteter Datenpakete vom Speicher zur Weiterverarbeitung beinhalten. Das Abrufen kann auf der Benachrichtigung beruhen.
  • Die hier beschriebenen Verfahren, Systeme und Vorrichtungen ermöglichen Produkte mit kleineren und kostengünstigeren DRAM-Vorrichtungen auf der CP-Seite. Die beschriebenen Techniken können für das Implementieren integrierter Modems verwendet werden, wobei der CP und der AP in einer einzigen Modemvorrichtung integriert sind, die auf einem Einzelchip implementiert werden kann.
  • Die hier beschriebenen Verfahren, Systeme und Vorrichtungen können als Software in einem digitalen Signalprozessor (DSP), in einer Mikrosteuereinrichtung oder einem Prozessor einer anderen Seite oder als Hardwareschaltung auf einem Chip oder innerhalb einer anwendungsspezifischen integrierten Schaltung (ASIC) implementiert werden.
  • In dieser Offenbarung beschriebene Ausführungsformen können in einer digitalen elektronischen Schaltungsanordnung oder in Computerhardware, -firmware, -software oder in Kombinationen davon, beispielsweise in verfügbarer Hardware mobiler Vorrichtungen oder in neuer Hardware, die dafür vorgesehen ist, die hier beschriebenen Verfahren auszuführen, implementiert werden.
  • Die vorliegende Offenbarung unterstützt auch ein Computerprogrammprodukt, das durch einen Computer ausführbaren Code oder durch einen Computer ausführbare Befehle aufweist, die, wenn sie ausgeführt werden, wenigstens einen Computer veranlassen, die hier beschriebenen Durchführungs- und Rechenblöcke, insbesondere die Verfahren 600 und 400, die vorstehend mit Bezug auf die 6 und 4 beschrieben wurden, auszuführen. Ein solches Computerprogrammprodukt kann ein lesbares Speichermedium aufweisen, welches einen Programmcode zur Verwendung durch einen Prozessor speichert, wobei der Programmcode Befehle zur Ausführung jeglicher Blöcke der Verfahren 400, 600 aufweist, wie vorstehend beschrieben wurde.
  • BEISPIELE
  • Die folgenden Beispiele betreffen weitere Ausführungsformen. Beispiel 1 ist eine Datenverarbeitungsvorrichtung, welche Folgendes umfasst: ein Verarbeitungselement, das dafür ausgelegt ist, mehrere Datenpakete gemäß einem Kommunikationsprotokoll zu verarbeiten, um mehrere verarbeitete Datenpakete bereitzustellen, die jeweils einen ersten Teil und einen zweiten Teil umfassen, und eine Schnittstelle, die dafür ausgelegt ist, die zweiten Teile der mehreren verarbeiteten Datenpakete zu einer fernen Datenverarbeitungsvorrichtung auszulagern, und dafür ausgelegt ist, die ferne Verarbeitungsvorrichtung über das Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete zu benachrichtigen.
  • In Beispiel 2 kann der Gegenstand von Beispiel 1 optional einschließen, dass die Benachrichtigung über das Auslagern vom Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete entkoppelt ist.
  • In Beispiel 3 kann der Gegenstand eines der Beispiele 1–2 optional einschließen, dass das Verarbeitungselement dafür ausgelegt ist, ein Datenpaket von den mehreren Datenpaketen pro einzelnem Übertragungszeitintervall (TTI) zu verarbeiten, und dafür ausgelegt ist, die ferne Verarbeitungsvorrichtung über das Auslagern pro einzelnem TTI oder pro mehreren TTI zu benachrichtigen.
  • In Beispiel 4 kann der Gegenstand eines der Beispiele 1–3 optional einschließen, dass der erste Teil eines verarbeiteten Datenpakets Kopfdaten umfasst und der zweite Teil eines verarbeiteten Datenpakets Benutzerdaten umfasst.
  • In Beispiel 5 kann der Gegenstand von Beispiel 4 optional einschließen, dass das Verarbeitungselement dafür ausgelegt ist, die mehreren Datenpakete zu dechiffrieren, um die Benutzerdaten bereitzustellen.
  • In Beispiel 6 kann der Gegenstand eines der Beispiele 1–5 optional einschließen, dass die Schnittstelle entweder eine PCIe-Schnittstelle, eine Geteilter-Speicher-Schnittstelle oder eine Schnittstelle gemäß einem von PCI abgeleiteten Busprotokoll ist.
  • In Beispiel 7 kann der Gegenstand eines der Beispiele 1–6 optional einschließen, dass das Verarbeitungselement dafür ausgelegt ist, die mehreren Datenpakete gemäß einem Schicht-2-Mobilfunknetzprotokoll zu verarbeiten.
  • In Beispiel 8 kann der Gegenstand eines der Beispiele 1–7 optional einschließen, dass das Verarbeitungselement dafür ausgelegt ist, die mehreren Datenpakete vor dem Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete neu anzufordern.
  • In Beispiel 9 kann der Gegenstand von Beispiel 8 optional einschließen, dass das Verarbeitungselement dafür ausgelegt ist, ein RLC-Neuübertragungsprotokoll zum erneuten Anfordern der mehreren Datenpakete zu verarbeiten.
  • In Beispiel 10 kann der Gegenstand eines der Beispiele 1–9 optional einen ersten Puffer einschließen, der dafür ausgelegt ist, die mehreren Datenpakete gemäß einem Schicht-1-Mobilfunknetzprotokoll zu speichern, und dass das Verarbeitungselement dafür ausgelegt ist, die mehreren Datenpakete aus dem ersten Puffer abzurufen.
  • In Beispiel 11 kann der Gegenstand eines der Beispiele 1–10 optional einen zweiten Puffer einschließen, der dafür ausgelegt ist, die ersten Teile der mehreren verarbeiteten Datenpakete zu speichern.
  • In Beispiel 12 kann der Gegenstand eines der Beispiele 1–11 optional einen Zwischenpuffer einschließen, der dafür ausgelegt ist, die zweiten Teile der mehreren verarbeiteten Datenpakete zwischenzuspeichern, bevor die zweiten Teile zur fernen Datenverarbeitungsvorrichtung ausgelagert werden.
  • In Beispiel 13 kann der Gegenstand von Beispiel 12 optional ein zweites Verarbeitungselement einschließen, das dafür ausgelegt ist, einen Ort der zweiten Teile der mehreren verarbeiteten Datenpakete, die im Zwischenpuffer gespeichert sind, der Schnittstelle bereitzustellen, um das Auslagern der zweiten Teile zu steuern.
  • In Beispiel 14 kann der Gegenstand eines der Beispiele 12–13 optional einschließen, dass der Zwischenpuffer eine Größe für das Speichern von zwei oder vier zweiten Teilen der mehreren verarbeiteten Datenpakete aufweist.
  • Beispiel 15 ist eine ferne Datenverarbeitungsvorrichtung, welche Folgendes umfasst: eine Schnittstelle, die dafür ausgelegt ist, mehrere zweite Teile verarbeiteter Datenpakete zu empfangen, die von einer Datenverarbeitungsvorrichtung ausgelagert wurden, und dafür ausgelegt ist, eine Benachrichtigung von der Datenverarbeitungsvorrichtung über das Auslagern der zweiten Teile zu empfangen, und einen Speicher, der dafür ausgelegt ist, die mehreren zweiten Teile verarbeiteter Datenpakete, die von der Datenverarbeitungsvorrichtung ausgelagert wurden, zu speichern.
  • In Beispiel 16 kann der Gegenstand von Beispiel 15 optional einschließen, dass die Benachrichtigung über das Auslagern vom Empfang der mehreren ausgelagerten zweiten Teile verarbeiteter Datenpakete entkoppelt ist.
  • In Beispiel 17 kann der Gegenstand eines der Beispiele 15–16 optional ein Verarbeitungselement einschließen, das dafür ausgelegt ist, die mehreren zweiten Teile verarbeiteter Datenpakete zur Weiterverarbeitung aus dem Speicher abzurufen.
  • In Beispiel 18 kann der Gegenstand von Beispiel 17 optional einschließen, dass das Verarbeitungselement dafür ausgelegt ist, die mehreren zweiten Teile verarbeiteter Datenpakete auf der Grundlage der Benachrichtigung aus dem Speicher abzurufen.
  • In Beispiel 19 kann der Gegenstand eines der Beispiele 15–18 optional einschließen, dass die Schnittstelle dafür ausgelegt ist, die zweiten Teile pro einzelnem TTI zu empfangen, und dafür ausgelegt ist, die Benachrichtigung von der Datenverarbeitungsvorrichtung pro einzelnem TTI oder pro mehreren TTI zu empfangen.
  • In Beispiel 20 kann der Gegenstand eines der Beispiele 15–19 optional einschließen, dass die zweiten Teile der verarbeiteten Datenpakete Benutzerdaten umfassen.
  • In Beispiel 21 kann der Gegenstand eines der Beispiele 15–20 optional einschließen, dass die Schnittstelle entweder eine PCIe-Schnittstelle, eine Geteilter-Speicher-Schnittstelle oder eine Schnittstelle gemäß einem von PCI abgeleiteten Busprotokoll ist.
  • In Beispiel 22 kann der Gegenstand eines der Beispiele 15–21 optional einschließen, dass die zweiten Teile Datagramme von Datenpaketen umfassen, die gemäß einem Schicht-2-Mobil-funknetzprotokoll verarbeitet wurden.
  • In Beispiel 23 kann der Gegenstand von Beispiel 22 optional einschließen, dass die Datagramme Internetprotokoll-(IP)-Pakete umfassen.
  • In Beispiel 24 kann der Gegenstand eines der Beispiele 15–23 optional einschließen, dass die mehreren zweiten Teile verarbeiteter Datenpakete in einer einer anfänglichen Übertragungssequenz entsprechenden Sequenz empfangen werden.
  • In Beispiel 25 kann der Gegenstand eines der Beispiele 15–24 optional einschließen, dass der Speicher einen Satz von Datenpuffern und einen Ringpuffer von Übertragungsbeschreibern umfasst und dass ein Übertragungsbeschreiber des Ringpuffers einen spezifischen Datenpuffer des Satzes von Datenpuffern angibt.
  • In Beispiel 26 kann der Gegenstand von Beispiel 25 optional einschließen, dass die Schnittstelle dafür ausgelegt ist, die empfangenen mehreren zweiten Teile verarbeiteter Datenpakete im Satz von Datenpuffern des Speichers zu speichern.
  • In Beispiel 27 kann der Gegenstand von Beispiel 26 optional einschließen, dass die Schnittstelle dafür ausgelegt ist, wenigstens einen Übertragungsbeschreiber zu empfangen, der den Satz von Datenpuffern angibt, welche die empfangenen mehreren zweiten Teile der verarbeiteten Datenpakete speichern.
  • Beispiel 28 ist ein Kommunikationssystem, welches Folgendes umfasst: eine Datenverarbeitungsvorrichtung nach einem der Beispiele 1 bis 13 und eine ferne Datenverarbeitungsvorrichtung nach einem der Beispiele 15 bis 27, wobei die Datenverarbeitungsvorrichtung und die ferne Datenverarbeitungsvorrichtung über die Schnittstelle zum Auslagern der Daten von der Datenverarbeitungsvorrichtung zur fernen Datenverarbeitungsvorrichtung gekoppelt sind.
  • In Beispiel 29 kann der Gegenstand von Beispiel 28 optional einschließen, dass das Kommunikationssystem auf einem Einzelchip integriert ist.
  • In Beispiel 30 kann der Gegenstand eines der Beispiele 28–29 optional einschließen, dass die ferne Datenverarbeitungsvorrichtung einen geteilten Speicher zum Speichern der zweiten Teile der mehreren verarbeiteten Datenpakete umfasst.
  • In Beispiel 31 kann der Gegenstand eines der Beispiele 28–30 optional einschließen, dass die Datenverarbeitungsvorrichtung einen zweckgebundenen Speicher zum Speichern der ersten Teile der mehreren verarbeiteten Datenpakete umfasst und dass der zweckgebundene Speicher vor einem Zugriff von der fernen Datenverarbeitungsvorrichtung geschützt ist.
  • In Beispiel 32 kann der Gegenstand eines der Beispiele 28–31 optional einschließen, dass die Datenverarbeitungsvorrichtung einen Kommunikationsprozessor umfasst und dass die ferne Datenverarbeitungsvorrichtung einen Anwendungsprozessor umfasst.
  • Beispiel 33 ist ein Verfahren zum Auslagern von Daten von einer Datenverarbeitungsvorrichtung zu einer fernen Datenverarbeitungsvorrichtung, welches folgende Schritte umfasst: Verarbeiten mehrerer Datenpakete gemäß einem Kommunikationsprotokoll, um mehrere verarbeitete Datenpakete bereitzustellen, die jeweils einen ersten Teil und einen zweiten Teil umfassen, Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete zur fernen Datenverarbeitungsvorrichtung und Benachrichtigen der fernen Verarbeitungsvorrichtung über das Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete.
  • In Beispiel 34 kann der Gegenstand von Beispiel 33 optional einschließen, dass das Benachrichtigen über das Auslagern vom Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete entkoppelt ist.
  • In Beispiel 35 kann der Gegenstand eines der Beispiele 33–34 optional Folgendes einschließen: Verarbeiten eines Datenpakets von den mehreren Datenpaketen pro einzelnem Übertragungszeitintervall (TTI) und Benachrichtigen der fernen Verarbeitungsvorrichtung über das Auslagern pro einzelnem TTI oder pro mehreren TTI.
  • In Beispiel 36 kann der Gegenstand eines der Beispiele 33–35 optional einschließen, dass der erste Teil eines verarbeiteten Datenpakets Kopfdaten umfasst und dass der zweite Teil eines verarbeiteten Datenpakets Benutzerdaten umfasst.
  • In Beispiel 37 kann der Gegenstand von Beispiel 36 optional einschließen, dass das Verarbeiten der mehreren Datenpakete das Dechiffrieren der mehreren Datenpakete zum Bereitstellen der Benutzerdaten umfasst.
  • In Beispiel 38 kann der Gegenstand eines der Beispiele 33–37 optional einschließen, dass das Auslagern über eine Schnittstelle erfolgt, die entweder eine PCIe-Schnittstelle, eine Geteilter-Speicher-Schnittstelle oder eine Schnittstelle gemäß einem von PCI abgeleiteten Busprotokoll ist.
  • In Beispiel 39 kann der Gegenstand eines der Beispiele 33–38 optional einschließen, dass die Verarbeitung der mehreren Datenpakete die Verarbeitung der mehreren Datenpakete gemäß einem Schicht-2-Mobilfunknetzprotokoll umfasst.
  • In Beispiel 40 kann der Gegenstand eines der Beispiele 33–39 optional einschließen, dass die Verarbeitung der mehreren Datenpakete das erneute Anfordern der mehreren Datenpakete vor dem Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete umfasst.
  • In Beispiel 41 kann der Gegenstand von Beispiel 40 optional einschließen, dass das erneute Anfordern der mehreren Datenpakete eine Verarbeitung gemäß einem RLC-Neuübertragungsprotokoll umfasst.
  • In Beispiel 42 kann der Gegenstand eines der Beispiele 33–41 optional Folgendes einschließen: Speichern der mehreren Datenpakete gemäß einem Schicht-1-Mobilfunknetzprotokoll vor der Verarbeitung der mehreren Datenpakete.
  • In Beispiel 43 kann der Gegenstand eines der Beispiele 33–42 optional Folgendes einschließen: Speichern der ersten Teile der mehreren verarbeiteten Datenpakete.
  • In Beispiel 44 kann der Gegenstand eines der Beispiele 33–43 optional Folgendes einschließen: Zwischenspeichern der zweiten Teile der mehreren verarbeiteten Datenpakete in einem Zwischenpuffer vor dem Auslagern der zweiten Teile zur fernen Datenverarbeitungsvorrichtung.
  • In Beispiel 45 kann der Gegenstand von Beispiel 44 optional Folgendes einschließen: Bereitstellen des Orts der zweiten Teile der mehreren im Zwischenpuffer gespeicherten verarbeiteten Datenpakete zum Steuern des Auslagerns der zweiten Teile.
  • In Beispiel 46 kann der Gegenstand eines der Beispiele 44–45 optional Folgendes einschließen: Zwischenspeichern einer Anzahl von zwei oder vier zweiten Teilen der mehreren verarbeiteten Datenpakete im Zwischenpuffer.
  • Beispiel 47 ist ein Verfahren zum Auslagern von Daten von einer Datenverarbeitungsvorrichtung zu einer fernen Datenverarbeitungsvorrichtung, welches folgende Schritte umfasst: Empfangen mehrerer zweiter Teile verarbeiteter Datenpakete, die von der Datenverarbeitungsvorrichtung ausgelagert wurden, Empfangen einer Benachrichtigung von der Verarbeitungsvorrichtung über das Auslagern der zweiten Teile und Speichern der mehreren zweiten Teile verarbeiteter Datenpakete, die von der Datenverarbeitungsvorrichtung ausgelagert wurden, in einem Speicher der fernen Datenverarbeitungsvorrichtung.
  • In Beispiel 48 kann der Gegenstand von Beispiel 47 optional einschließen, dass die Benachrichtigung über das Auslagern vom Empfang der mehreren ausgelagerten zweiten Teile verarbeiteter Datenpakete entkoppelt ist.
  • In Beispiel 49 kann der Gegenstand eines der Beispiele 47–48 optional Folgendes einschließen: Abrufen der mehreren zweiten Teile verarbeiteter Datenpakete aus dem Speicher zur Weiterverarbeitung.
  • In Beispiel 50 kann der Gegenstand von Beispiel 49 optional Folgendes einschließen: Abrufen der mehreren zweiten Teile verarbeiteter Datenpakete aus dem Speicher auf der Grundlage der empfangenen Benachrichtigung.
  • Beispiel 51 ist ein computerlesbares nicht flüchtiges Medium, worauf Computerbefehle gespeichert sind, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen, das Verfahren nach einem der Beispiele 33 bis 50 auszuführen.
  • Beispiel 52 ist eine Vorrichtung zum Auslagern von Daten von einer Datenverarbeitungsvorrichtung zu einer fernen Datenverarbeitungsvorrichtung, wobei die Vorrichtung Folgendes umfasst: Mittel zum Verarbeiten mehrerer Datenpakete gemäß einem Kommunikationsprotokoll, um mehrere verarbeitete Datenpakete bereitzustellen, die jeweils einen ersten Teil und einen zweiten Teil umfassen, Mittel zum Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete zur fernen Datenverarbeitungsvorrichtung und Mittel zum Benachrichtigen der fernen Verarbeitungsvorrichtung über das Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete.
  • In Beispiel 53 kann der Gegenstand von Beispiel 52 optional einschließen, dass das Benachrichtigen über das Auslagern vom Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete entkoppelt ist.
  • Beispiel 54 ist eine Vorrichtung zum Auslagern von Daten von einer Datenverarbeitungsvorrichtung zu einer fernen Datenverarbeitungsvorrichtung, wobei die Vorrichtung Folgendes umfasst: Mittel zum Empfangen mehrerer zweiter Teile verarbeiteter Datenpakete, die von der Datenverarbeitungsvorrichtung ausgelagert wurden, Mittel zum Empfangen einer Benachrichtigung von der Verarbeitungsvorrichtung über das Auslagern der zweiten Teile und Mittel zum Speichern der mehreren zweiten Teile verarbeiteter Datenpakete, die von der Datenverarbeitungsvorrichtung ausgelagert wurden, in einem Speicher der fernen Datenverarbeitungsvorrichtung.
  • In Beispiel 55 kann der Gegenstand von Beispiel 54 optional einschließen, dass die Benachrichtigung über das Auslagern vom Empfang der mehreren ausgelagerten zweiten Teile verarbeiteter Datenpakete entkoppelt ist.
  • Wenngleich ein bestimmtes Merkmal oder ein bestimmter Aspekt der Erfindung mit Bezug auf nur eine von mehreren Implementationen offenbart worden sein kann, kann dieses Merkmal oder dieser Aspekt zusätzlich mit einem oder mehreren anderen Merkmalen oder Aspekten der anderen Implementationen kombiniert werden, wie es für eine gegebene oder spezielle Anwendung erwünscht und vorteilhaft sein kann. Ferner sollen in dem Maße, dass die Begriffe „aufweisen“, „haben“, „mit“ oder andere Varianten davon entweder in der detaillierten Beschreibung oder den Ansprüchen verwendet werden, diese Begriffe in einer ähnlichen Art wie der Begriff „umfassen“ als einschließend verstanden werden. Ferner ist zu verstehen, dass Aspekte der Erfindung in diskreten Schaltungen, teilweise integrierten Schaltungen oder vollständig integrierten Schaltungen oder Programmiermitteln implementiert werden können. Auch sind die Begriffe „als Beispiel dienend“, „beispielsweise“ und „z.B.“ nur als ein Beispiel und nicht als die beste oder optimale Möglichkeit vorgesehen.
  • Wenngleich hier spezifische Aspekte erläutert und beschrieben wurden, werden Durchschnittsfachleute verstehen, dass eine Vielzahl alternativer und/oder gleichwertiger Implementationen die dargestellten und beschriebenen spezifischen Aspekte ersetzen können, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen. Diese Anmeldung soll beliebige Anpassungen oder Variationen der hier erörterten spezifischen Aspekte abdecken.

Claims (25)

  1. Datenverarbeitungsvorrichtung, welche Folgendes umfasst: ein Verarbeitungselement, das dafür ausgelegt ist, mehrere Datenpakete gemäß einem Kommunikationsprotokoll zu verarbeiten, um mehrere verarbeitete Datenpakete bereitzustellen, die jeweils einen ersten Teil und einen zweiten Teil umfassen, und eine Schnittstelle, die dafür ausgelegt ist, die zweiten Teile der mehreren verarbeiteten Datenpakete zu einer fernen Datenverarbeitungsvorrichtung auszulagern, und dafür ausgelegt ist, die ferne Verarbeitungsvorrichtung über das Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete zu benachrichtigen.
  2. Datenverarbeitungsvorrichtung nach Anspruch 1, wobei die Benachrichtigung über das Auslagern vom Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete entkoppelt ist.
  3. Datenverarbeitungsvorrichtung nach Anspruch 1 oder 2, wobei das Verarbeitungselement dafür ausgelegt ist, ein Datenpaket von den mehreren Datenpaketen pro einzelnem Übertragungszeitintervall (TTI) zu verarbeiten, und dafür ausgelegt ist, die ferne Verarbeitungsvorrichtung über das Auslagern pro einzelnem TTI oder pro mehreren TTI zu benachrichtigen.
  4. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei der erste Teil eines verarbeiteten Datenpakets Kopfdaten umfasst und wobei der zweite Teil eines verarbeiteten Datenpakets Benutzerdaten umfasst.
  5. Datenverarbeitungsvorrichtung nach Anspruch 4, wobei das Verarbeitungselement dafür ausgelegt ist, die mehreren Datenpakete zu dechiffrieren, um die Benutzerdaten bereitzustellen.
  6. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei die Schnittstelle entweder eine PCIe-Schnittstelle, eine Geteilter-Speicher-Schnittstelle oder eine Schnittstelle gemäß einem von PCI abgeleiteten Busprotokoll ist.
  7. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei das Verarbeitungselement dafür ausgelegt ist, die mehreren Datenpakete gemäß einem Schicht-2-Mobilfunknetzprotokoll zu verarbeiten.
  8. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, wobei das Verarbeitungselement dafür ausgelegt ist, die mehreren Datenpakete vor dem Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete neu anzufordern.
  9. Datenverarbeitungsvorrichtung nach Anspruch 8, wobei das Verarbeitungselement dafür ausgelegt ist, ein RLC-Neuübertragungsprotokoll zum erneuten Anfordern der mehreren Datenpakete zu verarbeiten.
  10. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, welche Folgendes umfasst: einen ersten Puffer, der dafür ausgelegt ist, die mehreren Datenpakete gemäß einem Schicht-1-Mobilfunknetzprotokoll zu speichern, und wobei das Verarbeitungselement dafür ausgelegt ist, die mehreren Datenpakete aus dem ersten Puffer abzurufen.
  11. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, welche Folgendes umfasst: einen zweiten Puffer, der dafür ausgelegt ist, die ersten Teile der mehreren verarbeiteten Datenpakete zu speichern.
  12. Datenverarbeitungsvorrichtung nach einem der vorhergehenden Ansprüche, welche Folgendes umfasst: einen Zwischenpuffer, der dafür ausgelegt ist, die zweiten Teile der mehreren verarbeiteten Datenpakete zwischenzuspeichern, bevor die zweiten Teile zur fernen Datenverarbeitungsvorrichtung ausgelagert werden.
  13. Datenverarbeitungsvorrichtung nach Anspruch 12, welche Folgendes umfasst: ein zweites Verarbeitungselement, das dafür ausgelegt ist, einen Ort der zweiten Teile der mehreren verarbeiteten Datenpakete, die im Zwischenpuffer gespeichert sind, der Schnittstelle bereitzustellen, um das Auslagern der zweiten Teile zu steuern.
  14. Datenverarbeitungsvorrichtung nach Anspruch 12 oder 13, wobei der Zwischenpuffer eine Größe für das Speichern von zwei oder vier zweiten Teilen der mehreren verarbeiteten Datenpakete aufweist.
  15. Ferne Datenverarbeitungsvorrichtung, welche Folgendes umfasst: eine Schnittstelle, die dafür ausgelegt ist, mehrere zweite Teile verarbeiteter Datenpakete zu empfangen, die von einer Datenverarbeitungsvorrichtung ausgelagert wurden, und dafür ausgelegt ist, eine Benachrichtigung von der Datenverarbeitungsvorrichtung über das Auslagern der zweiten Teile zu empfangen, und einen Speicher, der dafür ausgelegt ist, die mehreren zweiten Teile verarbeiteter Datenpakete, die von der Datenverarbeitungsvorrichtung ausgelagert wurden, zu speichern.
  16. Ferne Datenverarbeitungsvorrichtung nach Anspruch 15, wobei die Benachrichtigung über das Auslagern vom Empfang der mehreren ausgelagerten zweiten Teile verarbeiteter Datenpakete entkoppelt ist.
  17. Ferne Datenverarbeitungsvorrichtung nach Anspruch 15 oder 16, welche Folgendes umfasst: ein Verarbeitungselement, das dafür ausgelegt ist, die mehreren zweiten Teile verarbeiteter Datenpakete zur Weiterverarbeitung aus dem Speicher abzurufen.
  18. Ferne Datenverarbeitungsvorrichtung nach Anspruch 17, wobei das Verarbeitungselement dafür ausgelegt ist, die mehreren zweiten Teile verarbeiteter Datenpakete auf der Grundlage der Benachrichtigung aus dem Speicher abzurufen.
  19. Ferne Datenverarbeitungsvorrichtung nach einem der Ansprüche 15 bis 18, wobei die Schnittstelle dafür ausgelegt ist, die zweiten Teile pro einzelnem TTI zu empfangen, und dafür ausgelegt ist, die Benachrichtigung von der Datenverarbeitungsvorrichtung pro einzelnem TTI oder pro mehreren TTI zu empfangen.
  20. Ferne Datenverarbeitungsvorrichtung nach einem der Ansprüche 15 bis 19, wobei die zweiten Teile der verarbeiteten Datenpakete Benutzerdaten umfassen.
  21. Ferne Datenverarbeitungsvorrichtung nach einem der Ansprüche 15 bis 20, wobei die Schnittstelle entweder eine PCIe-Schnittstelle, eine Geteilter-Speicher-Schnittstelle oder eine Schnittstelle gemäß einem von PCI abgeleiteten Busprotokoll ist.
  22. Kommunikationssystem, welches Folgendes umfasst: eine Datenverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 14 und eine ferne Datenverarbeitungsvorrichtung nach einem der Ansprüche 15 bis 21, wobei die Datenverarbeitungsvorrichtung und die ferne Datenverarbeitungsvorrichtung über die Schnittstelle zum Auslagern von Daten von der Datenverarbeitungsvorrichtung zur fernen Datenverarbeitungsvorrichtung gekoppelt sind.
  23. Kommunikationssystem nach Anspruch 22, welches auf einem Einzelchip integriert ist.
  24. Verfahren zum Auslagern von Daten von einer Datenverarbeitungsvorrichtung zu einer fernen Datenverarbeitungsvorrichtung, welches folgende Schritte umfasst: Verarbeiten mehrerer Datenpakete gemäß einem Kommunikationsprotokoll, um mehrere verarbeitete Datenpakete bereitzustellen, die jeweils einen ersten Teil und einen zweiten Teil umfassen, Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete zur fernen Datenverarbeitungsvorrichtung und Benachrichtigen der fernen Verarbeitungsvorrichtung über das Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete.
  25. Verfahren nach Anspruch 24, wobei das Benachrichtigen über das Auslagern vom Auslagern der zweiten Teile der mehreren verarbeiteten Datenpakete entkoppelt ist.
DE102016110078.1A 2016-06-01 2016-06-01 Datenverarbeitungsvorrichtung und Verfahren zum Auslagern von Daten zu einer fernen Datenverarbeitungsvorrichtung Withdrawn DE102016110078A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102016110078.1A DE102016110078A1 (de) 2016-06-01 2016-06-01 Datenverarbeitungsvorrichtung und Verfahren zum Auslagern von Daten zu einer fernen Datenverarbeitungsvorrichtung
US15/497,764 US10440158B2 (en) 2016-06-01 2017-04-26 Data processing device and method for offloading data to remote data processing device
US16/549,696 US11019184B2 (en) 2016-06-01 2019-08-23 Data processing device and method for offloading data to remote data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016110078.1A DE102016110078A1 (de) 2016-06-01 2016-06-01 Datenverarbeitungsvorrichtung und Verfahren zum Auslagern von Daten zu einer fernen Datenverarbeitungsvorrichtung

Publications (1)

Publication Number Publication Date
DE102016110078A1 true DE102016110078A1 (de) 2017-12-07

Family

ID=60327846

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016110078.1A Withdrawn DE102016110078A1 (de) 2016-06-01 2016-06-01 Datenverarbeitungsvorrichtung und Verfahren zum Auslagern von Daten zu einer fernen Datenverarbeitungsvorrichtung

Country Status (2)

Country Link
US (2) US10440158B2 (de)
DE (1) DE102016110078A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016110078A1 (de) 2016-06-01 2017-12-07 Intel IP Corporation Datenverarbeitungsvorrichtung und Verfahren zum Auslagern von Daten zu einer fernen Datenverarbeitungsvorrichtung
US11930484B2 (en) 2019-03-26 2024-03-12 Charter Communications Operating, Llc Methods and apparatus for system information management in a wireless system
US11412406B2 (en) * 2020-02-13 2022-08-09 Charter Communications Operating, Llc Apparatus and methods for user device buffer management in wireless networks
US11606316B2 (en) * 2020-11-20 2023-03-14 Qualcomm Incorporated System and method for modem stabilization when waiting for AP-driven link recovery
US20220232552A1 (en) * 2021-01-20 2022-07-21 Samsung Electronics Co., Ltd. Methods, electronic devices and computer-readable media for data buffer memory management in wireless network

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110222537A1 (en) * 2010-03-10 2011-09-15 Ren Wang Network controller circuitry to issue at least one portion of packet payload to device in manner that by-passes communication protocol stack involvement

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6032190A (en) * 1997-10-03 2000-02-29 Ascend Communications, Inc. System and method for processing data packets
US6591302B2 (en) * 1997-10-14 2003-07-08 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
EP1283474A4 (de) * 2000-03-23 2007-04-04 Tietech Co Ltd Verfahren und vorrichtung zur persönlichen identifizierung
TWI290799B (en) * 2005-12-16 2007-12-01 Ind Tech Res Inst Extensible protocol processing system
US8392632B2 (en) * 2007-02-14 2013-03-05 Samsung Electronics Co., Ltd Method and apparatus for data processing in mobile communication system
US20090106436A1 (en) * 2007-10-23 2009-04-23 Telefonaktiebolaget Lm Ericsson (Publ) Methods and systems for offload processing
ATE540498T1 (de) * 2009-04-27 2012-01-15 Ericsson Telefon Ab L M Verfahren zur durchführung einer schicht 2 verarbeitung unter verwendung einer verteilten speicherarchitektur
US8774087B2 (en) * 2010-03-26 2014-07-08 T-Mobile Usa, Inc. Signaling message prioritization
CN103546424A (zh) * 2012-07-10 2014-01-29 华为技术有限公司 一种tcp数据传输方法、tcp卸载引擎及系统
US9985886B2 (en) * 2015-03-27 2018-05-29 Intel Corporation Technologies for network packet pacing during segmentation operations
US10356657B2 (en) * 2015-04-10 2019-07-16 Samsung Electronics Co., Ltd. Method and apparatus for receiving MAC PDU in mobile communication system
DE102016110078A1 (de) 2016-06-01 2017-12-07 Intel IP Corporation Datenverarbeitungsvorrichtung und Verfahren zum Auslagern von Daten zu einer fernen Datenverarbeitungsvorrichtung

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110222537A1 (en) * 2010-03-10 2011-09-15 Ren Wang Network controller circuitry to issue at least one portion of packet payload to device in manner that by-passes communication protocol stack involvement

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SESIA, S. [et al.]: LTE – The UMTS Long Term Evolution, From Theory to Practice. Second Edition. Wiley, 2011. Seiten 98 bis 101 *

Also Published As

Publication number Publication date
US20170353586A1 (en) 2017-12-07
US11019184B2 (en) 2021-05-25
US10440158B2 (en) 2019-10-08
US20200053191A1 (en) 2020-02-13

Similar Documents

Publication Publication Date Title
DE102016110078A1 (de) Datenverarbeitungsvorrichtung und Verfahren zum Auslagern von Daten zu einer fernen Datenverarbeitungsvorrichtung
DE102016206167B4 (de) Adaptives Halbduplex-/Vollduplex-Verfahren für batterie- und antennen-abhängige Geräte
DE69635468T2 (de) Netzwerksystem und Verfahren zur Hochgeschwindigkeitsdatenübertragung
DE69633894T2 (de) Modem zur Kommunikation von Hochgeschwindigkeitsdaten
DE112015005888B4 (de) Sub-Frame-Zuteilung für energieeffiziente LTE
DE112017008206T5 (de) Vorübergehende Behandlung der Funktionen drahtloser Kommunikationsvorrichtungen
DE112008002097B4 (de) Verfahren und Vorrichtung für die Zuweisung von Antennen bei einer Mehrfunk-Plattform
DE112018003906T5 (de) Verfahren und Vorrichtung zur flexiblen Aufteilung der physikalischen Fronthaul-Schicht für Cloud-Funkzugangsnetze
DE102005021849B4 (de) Embedded-Kommunikationsendgerät
DE102014200013A1 (de) Verfahren und Gerät für eine erweiterte Steuerungssignalisierung in einem LTE-Netzwerk
DE112018007288T5 (de) Verfahren und vorrichtungen zur durchführung einer multi-band-link-aggregation in einem drahtlosen netzwerk
DE112017003698T5 (de) Mobil-Telekommunikationssystemverfahren, Benutzergerät und Basisstation zum Senden von bedarfsgesteuerten Systeminformationen
DE112019004843T5 (de) Verteilte einheit, zentrale einheit und verfahren dafür
DE112016006139T5 (de) Neue Vorrichtungskategorie in 3GPP-Kommunikation
DE112018006903T5 (de) Vorrichtung, system und verfahren zum kommunizieren während einer sendegelegenheit (txop)
DE112019003206B4 (de) System und verfahren zum arbitrieren von kommunikationen durch an einem gleichen ort angeordnete kommunikationsschaltkreise
DE102021109367A1 (de) Synchronisationssignal-multiplexing für drahtlos-systeme
DE102004009518B4 (de) Direktverschlüsselung/Entschlüsselung für WLAN-Kommunikation
KR102312234B1 (ko) 통신 방법, 단말 장치, 및 네트워크 장치
DE102018006445A1 (de) Direkte Funkschnittstelle
DE112018005254T5 (de) Vorrichtung, system und verfahren zur videocodierung
US10897324B2 (en) Uplink orthogonal frequency multiple access (UL-OFDMA) resource unit (RU) distribution among deinterleavers
DE102015110027B4 (de) Kommunikationsvorrichtung und verfahren zum speichern von daten
DE102020135159A1 (de) Linkspezifische blockbestätigung für multilink-kommunikation
DE102021112311A1 (de) Unterstützung von bandbreitenbegrenzten benutzergeräten in neuer funk-systemen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R082 Change of representative

Representative=s name: VIERING, JENTSCHURA & PARTNER MBB PATENT- UND , DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee