DE102019215292A1 - Datenstruktur, Speichermittel und Vorrichtung - Google Patents

Datenstruktur, Speichermittel und Vorrichtung Download PDF

Info

Publication number
DE102019215292A1
DE102019215292A1 DE102019215292.9A DE102019215292A DE102019215292A1 DE 102019215292 A1 DE102019215292 A1 DE 102019215292A1 DE 102019215292 A DE102019215292 A DE 102019215292A DE 102019215292 A1 DE102019215292 A1 DE 102019215292A1
Authority
DE
Germany
Prior art keywords
memory cell
data structure
storage means
user process
data
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.)
Pending
Application number
DE102019215292.9A
Other languages
English (en)
Inventor
Mathias Kraus
Dietrich Kroenke
Matthias Killat
Michael Poehnl
Christian Eltzschig
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102019215292.9A priority Critical patent/DE102019215292A1/de
Priority to CN202080084951.5A priority patent/CN114830089A/zh
Priority to US17/765,058 priority patent/US11972293B2/en
Priority to EP20781517.6A priority patent/EP4038502A1/de
Priority to KR1020227014974A priority patent/KR20220069113A/ko
Priority to PCT/EP2020/077204 priority patent/WO2021063933A1/de
Priority to JP2022520392A priority patent/JP2022552150A/ja
Publication of DE102019215292A1 publication Critical patent/DE102019215292A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

Datenstruktur (200) für ein Speichermittel (210), insbesondere ein gemeinsam genutztes Speichermittel (210), insbesondere zur Interprozesskommunikation, in einem Anwendungssystem, wobei das Speichermittel (210) eine Speicherzelle (215) aufweist, wobei die Datenstruktur (200) eine Verwaltungsstruktur (203) aufweist, wobei die Verwaltungsstruktur (203) dazu eingerichtet ist, ein Zeigerobjekt (20) auf die Speicherzelle (215) zu halten.

Description

  • Die vorliegende Erfindung schafft eine Datenstruktur für ein Speichermittel in einem Anwendungssystem, ein entsprechendes Speichermittel sowie eine Vorrichtung.
  • In Systemen, auf denen große Datenmengen verarbeitet werden, kann das Kopieren von Daten einen hohen Anteil der Systemressourcen in Beschlag nehmen und dadurch zu einer kostspieligen Angelegenheit werden.
  • In heutigen Systemen für Fahrerassistenz und zumindest teilweise automatisiertes Fahren werden mehrere Gigabytes pro Sekunde verarbeitet. Daher kann hier wertvolle Systemressource in Form von Rechenressource eingespart werden, wenn das Kopieren von Daten weitestgehend vermieden wird.
  • Um Sicherheitsanforderungen zu erfüllen, müssen Kommunikationsnetzwerke resilient ausgelegt werden, um einen Totalausfall zu verhindern. Daher müssen Strategien entwickelt werden, um die beschränkten Ressourcen zu managen.
  • Stand der Technik
  • Auf Systemen mit mehreren Rechenkernen bzw. verschiedenen Kontexten der Ausführung (z. B. Tasks in einem Betriebssystem nach dem OSEK-Spezifikation (OSEK-OS)) kommt häufig eine Kommunikations-Middleware zum Einsatz, die eine konsistente Übertragung der Daten zwischen nebenläufigen Teilen der Software sicherstellt. Eine solche Kommunikations-Middleware stellt Verfahren zur Verfügung, mit denen ein Produzent von Daten diese mittels der Middleware an einen oder mehrere Konsumenten übertragen (lassen) kann.
  • Es ist bekannt zum Vermeiden von Kopien der zu übertragenden Daten einen „zero-copy“-Ansatz zu verwenden. Eine Kommunikations-Middleware nach dem „zero-copy“-Ansatz übertragt Daten nach einem zweischrittigen Ansatz. In einem ersten Schritt fordert der Produzent Speicherplatz zum Ablegen der zu übertragenden Daten über die Kommunikations-Middleware an. In einem zweiten Schritt wird der angeforderte Speicherplatz dem oder den Konsumenten zum Auslesen der zu übertragenden Daten zugeführt.
  • Mit der Übergabe der zu übertragenden Daten an die Kommunikations-Middleware wird typischerweise die „Eigentümerschaft“ für den dazu genutzten Speicherplatz an die Middleware übertragen. Während des Ablegens durch den Produzenten und des Auslesens durch den Konsumenten liegt die „Eigentümerschaft“ des dafür genutzten Speicherplatzes bei dem jeweiligen Benutzer (Produzent, Konsument).
  • Unter „Eigentümerschaft“ wird dabei verstanden, dass nur der jeweilige Prozess (Produzent, Konsument, ggf. Middleware) exklusiven Zugriff (zum Schreiben bzw. Lesen) auf den Speicherplatz hat.
  • Im Automobilbereich ist der AUTOSAR Standard bekannt, der unter anderem Kommunikationsverfahren nach dem „zero-copy“-Ansatz bereitstellt.
  • Offenbarung der Erfindung
  • In Situationen, in denen ein Benutzer (Produzent, Konsument), mit anderen Worten ein Benutzerprozess, Eigentümer eines Speicherplatzes, mit anderen Wort einer Speicherzelle, ist und währenddessen dieser Benutzerprozess abnormal, mit anderen Worten fehlerhaft, beendet wird, kann es zu sog. Speicherlecks kommen.
  • Dies liegt daran, dass die genutzte Speicherzelle aufgrund des abnormalen Beendens des Benutzerprozesses nicht mehr freigegeben wird. Der Kommunikations-Middleware gegenüber wird die Speicherzelle als belegt angezeigt. Dies führt zu blockierten Speicherzellen in dem Speichermittel, auf die nicht mehr zugegriffen werden kann und die nicht von der Kommunikations-Middleware oder dem Betriebssystem aufgeräumt werden, mit anderen Worten, wieder zur Nutzung bereitgestellt werden.
  • Wird von einem Benutzerprozess zur Übertragung großer Datenmengen viel Speicherplatz angefordert, können Situationen, in denen Speicherlecks auftreten, zu einem totalen Systemausfall führen.
  • Vor diesem Hintergrund schafft die vorliegende Erfindung eine Datenstruktur für ein Speichermittel in einem Anwendungssystem, wobei das Speichermittel eine Speicherzelle aufweist.
  • Die Datenstruktur zeichnet sich durch eine Verwaltungsstruktur aus. Diese Verwaltungsstruktur ist dazu eingerichtet, ein Zeigerobjekt, mit anderen Worten, eine Referenz bzw. ein Zeiger (eng. Pointer), auf die Speicherzelle zu halten.
  • Mittels der Datenstruktur der vorliegenden Erfindung ist es nunmehr möglich belegte Speicherzellen aufzuräumen, wenn diese durch einen abnormal beendeten Benutzerprozess belegt sind.
  • Ob ein Benutzerprozess abnormal beendet wurde, kann beispielsweise mittels eines dem Fachmann bekannten Heartbeat-Verfahren erkannt werden.
  • Wurde das Abnormale Beenden eines Benutzerprozesses erkannt, so kann über die Verwaltungsstruktur der Datenstruktur der vorliegenden Erfindung anhand des dort gehaltenen Speichermittels auf die belegte Speicherzelle, die Speicherzelle erkannt und freigegeben werden.
  • Dadurch kann die Resilienz des Anwendungssystems erhöht werden.
  • Unter einem Anwendungssystem kann vorliegend ein System bestehend aus einer Menge von Anwendungsprogrammen, d. h. automatisierten Abläufen, die teilweise auf eine gemeinsame Hardware zurückgreifen verstanden werden. Ein Teil der gemeinsamen Hardware kann dabei ein gemeinsam genutztes Speichermittel sein. Das Anwendungssystem kann eingerichtet sein, um ein Fahrzeug zumindest teilweise automatisiert, bevorzugt hochautomatisiert, zu betreiben.
  • Bei dem Speichermittel kann es sich um ein gemeinsam genutztes Speichermittel handeln.
  • Unter einem gemeinsam genutzten Speichermittel (eng. Shared Memory) kann vorliegend ein Teil eines physikalischen Speichers verstanden werden, der von mehreren Prozessen eines Anwendungssystems genutzt wird.
  • Das gemeinsam genutzte Speichermittel kann dabei zur Interprozesskommunikation genutzt werden.
  • Mittels eines gemeinsam genutzten Speichermittels lässt sich auf einfache Art und Weise eine hoch performante Datenkommunikation zwischen mehreren Prozessen umsetzen.
  • Unter einer Speicherzelle kann vorliegend ein Teil des Speichermittels verstanden werden, der identifiziert, bevorzugt eindeutig identifiziert werden kann. Eine Identifikation erfolgt dabei typischerweise über eine Speicheradresse. Dabei kann es sich um eine virtuelle Speicheradresse handeln, die bspw. nur im Kontext eines Benutzerprozesses gültig ist, oder um eine physikalische Speicheradresse, die bspw. Systemweite gültig ist. Denkbar wäre auch eine andere, ggf. eindeutige, Kennung, die dazu geeignet ist, die Speicherzelle zu identifizieren.
  • Unter einem Anwendungssystem kann vorliegend ein System bestehend aus einer Menge von Anwendungsprogrammen, d. h. automatisierten Abläufen, die teilweise auf eine gemeinsame Hardware zurückgreifen verstanden werden. Ein Teil der gemeinsamen Hardware kann dabei ein gemeinsam genutztes Speichermittel sein. Das Anwendungssystem kann eingerichtet sein, um ein Fahrzeug zumindest teilweise automatisiert, bevorzugt hochautomatisiert, zu betreiben.
  • Nach einer Ausführungsform der Datenstruktur gemäß der vorliegenden Erfindung ist die Datenstruktur derart eingerichtet, das Zeigerobjekt aufzubauen, wenn die Speicherzelle von einem Benutzerprozess des Anwendungssystems angefordert wird.
  • Unter dem Aufbau eines Zeigerobjekts kann vorliegend verstanden werden, Speicherplatz für das Zeigerobjekt zu allokieren und einen entsprechenden Verweis auf das Ziel des Zeigerobjekts in dem Speicherplatz abzulegen. Der Verweis auf das Ziel kann dabei in Form einer Kennung bspw. in Form einer Anfangsadresse des Speicherplatzes des Ziels vorliegen.
  • Nach einer Ausführungsform der Datenstruktur gemäß der vorliegenden Erfindung ist die Datenstruktur derart eingerichtet, das Zeigerobjekt abzubauen, wenn die Speicherzelle von dem Benutzerprozess freigegeben wird.
  • Unter dem Abbauen eines Zeigerobjekts kann vorliegend verstanden werden, den Speicherplatz für das Zeigerobjekt freizugeben.
  • Nach einer Ausführungsform der Datenstruktur gemäß der vorliegenden Erfindung ist die Datenstruktur derart eingerichtet, dass die Speicherzelle freigegeben wird, wenn der Benutzerprozess abnormal beendet wurde.
  • Unter einem abnormalen Beenden eines Benutzerprozesses kann vorliegend ein fehlerhaftes bzw. frühzeitiges Beenden des Benutzerprozesses verstanden werden. Zu einem abnormalen Beenden kann es kommen, wenn einerseits ein Prozess-interner Grund für das vorzeitige Abbrechen des Prozesses vorliegt. Gründe dafür können ein Speicherüberlauf, eine fehlgeschlagene Speicherallokieren etc. sein. Oder andererseits ein Prozess-externer Grund für das vorzeitige Abbrechen des Prozesses vorliegt. Auch hier können mannigfaltige Gründe vorliegen.
  • Nach einer Ausführungsform der Datenstruktur gemäß der vorliegenden Erfindung weist die Datenstruktur für jeden Benutzerprozess eine jeweilige Verwaltungsstruktur auf.
  • Diese Ausführungsform weist den Vorteil auf, dass ein Aufräumen der durch einen jeweiligen Benutzerprozess belegten Speicherzellen auf einfache Art und Weise umgesetzt werden kann, da lediglich über die jeweilige Verwaltungsstruktur des betroffenen Benutzerprozesses iteriert werden muss, um alle von diesem Benutzerprozess belegten Speicherzellen freizugeben.
  • Nach einer Ausführungsform der Datenstruktur gemäß der vorliegenden Erfindung ist die Verwaltungsstruktur in dem gemeinsam genutzten Speichermittel abgelegt.
  • Diese Ausführungsform weist den Vorteil auf, dass die Benutzerprozesse (Produzent, Konsument) und ggf. ein zentraler Verwaltungsprozess des Anwendungssystem getrennte Prozesse sein können und dementsprechend verschiedenen Prozesskontexten laufen können. Durch die Ablage der Verwaltungsstruktur bzw. der jeweiligen Verwaltungsstrukturen in dem gemeinsam genutzten Speichermittel, können dennoch alle Prozess bei Bedarf auf die Verwaltungsstrukturen zugreifen.
  • Ein weiterer Aspekt der vorliegenden Erfindung ist ein Speichermittel. Das Speichermittel weist eine Datenstruktur gemäß der vorliegenden Erfindung auf.
  • Bei dem Speichermittel kann es sich um ein gemeinsam genutztes Speichermittel handeln.
  • Ein weiterer Aspekt der vorliegenden Erfindung ist eine Vorrichtung. Die Vorrichtung weist ein Speichermittel gemäß der vorliegenden Erfindung auf.
  • Bei der Vorrichtung kann es sich bspw. um ein Steuergerät für eine Maschine handeln. Denkbar ist dabei, dass es sich bei der Maschine um ein Fahrzeug handelt. Denkbar ist dabei ferner, dass es sich bei dem Fahrzeug um ein zumindest teilweise automatisiert betriebenes Fahrzeug handelt.
  • Unter einem Fahrzeug kann vorliegend ein mobiles Verkehrsmittel verstanden werden, das dem Transport von Personen (Personenverkehr), Gütern (Güterverkehr) oder Werkzeugen (Maschinen oder Hilfsmittel) dienen kann. Je nach Anwendungsfall wird von:
    • - Landfahrzeugen;
    • - Wasserfahrzeugen;
    • - Luftfahrzeugen
    gesprochen.
  • Nachfolgend werden Ausführungsformen der Erfindung anhand von Zeichnungen näher erläutert.
  • Es zeigen:
    • 1 zeigt ein Ablaufdiagramm eines Verfahrens mit einem „zero-copy“-Ansatz;
    • 2 zeigt ein Blockdiagramm einer Datenstruktur gemäß der vorliegenden Erfindung;
    • 3 zeigt ein Ablaufdiagramm eines Verfahrens mit Bezug zu der Datenstruktur gemäß der vorliegenden Erfindung.
  • 1 zeigt ein Ablaufdiagramm eines Verfahrens 100 mit einem „zero-copy“-Ansatz. Das Diagramm stellt das Verfahren 100 aus der Perspektive eines Produzenten 10 und aus der Perspektive eines Konsumenten 11 für Daten dar.
  • In Schritt 111 fordert der Produzent 10 eine Speicherzelle 215 (siehe 2) an. Die Anforderung 111 kann über eine Kommunikations-Middleware eines Anwendungssystems erfolgen.
  • Bei erfolgreicher Anforderung erhält der Produzent 10 ein Zeigerobjekt 20, mit anderen Worten eine Referenz, auf die angeforderte Speicherzelle 215. Mit erfolgreicher Anforderung, wird die Eigentümerschaft der Speicherzelle 215 auf den Produzenten 10 übertragen und die Middleware verliert sie.
  • In Schritt 112 schreibt der Produzent 10 die zu übertragenden Daten in die angeforderte Speicherzelle 215.
  • In Schritt 113 versendet der Produzent 10 die Speicherzelle 215 an den oder die Konsumenten 11. Das Versenden kann über die Kommunikations-Middleware des Anwendungssystems erfolgen. Das Versenden geschieht dabei auf Anforderung des Produzenten 10. Dabei wird die Eigentümerschaft über die Speicherzelle 215 wieder an die Middleware übertragen.
  • Wird ein Konsument 11 über den Empfang einer Speicherzelle 215 informiert. Die Information kann über die Kommunikations-Middleware des Anwendungssystems erfolgen. Dann fordert der Konsument 11 in Schritt 121 die empfange Speicherzelle an.
  • Bei erfolgreicher Anforderung erhält der Konsument 11 ebenfalls ein Zeigerobjekt 20 auf die angeforderte Speicherzelle 215. Mit erfolgreicher Anforderung, wird die Eigentümerschaft der Speicherzelle auf den Konsumenten 11 übertragen und die Middleware verliert sie.
  • In Schritt 122 liest der Konsument 11 die empfangenen Daten aus der Speicherzelle 215 aus.
  • In Schritt 123 gibt der Konsument 11 die angeforderte Speicherzelle 215 frei, d. h. typischerweise wird das Zeigerobjekt 20 des Konsumenten 11 auf die Speicherzelle 215 abgebaut. Das Freigeben geschieht dabei auf Anforderung des Konsumenten 11. Dabei wird die Eigentümerschaft über die Speicherzelle 215 wieder an die Middleware übertragen. Dadurch steht die Speicherzelle 215 weiteren Konsumenten und ggf. auch wieder dem Produzenten 10 oder weiteren Produzenten zur Verfügung. Über die Middleware kann die Speicherzelle 215 auch aufgeräumt oder anderweitig verwendet werden.
  • 2 zeigt ein Blockdiagramm einer Datenstruktur 200 gemäß der vorliegenden Erfindung.
  • Die Datenstruktur 200 weist eine Verwaltungsstruktur 203 auf, die derart eingerichtet ist, ein Zeigerobjekt 20 auf eine Speicherzelle 215 zu halten.
  • Die Verwaltung der Datenstruktur 200 läuft in einer Kommunikations-Middleware im Hintergrund zu bspw. einem „zero-copy“-Ansatz ab.
  • Denkbar ist hierbei das pro Benutzerprozess 201 (d..h pro Produzent 10 / Sender bzw. Konsument 11 / Empfänger) jeweils eine Verwaltungsstruktur 203 durch die Middleware angelegt wird, weil dadurch implizit alle Speicherzellen, die darin gelistet sind, dem jeweiligen Benutzerprozess 201 zugeordnet werden können.
  • Die Verwaltungsstruktur 203 hält dabei ein Zeigerobjekt 20 auf die Speicherzelle 215, welche von dem Benutzerprozess 201 genutzt wird.
  • Ferner zeigt das Blockdiagramm einen zentralen Dienst 202 zur Verwaltung der Datenstruktur 200. Der zentrale Dienst 202 kann dabei unterschiedliche Aufgaben übernehmen. Zum einen kann der zentrale Dienst dazu eingerichtet sein ein Heartbeat-Verfahren in Bezug auf den Benutzerprozess 201 auszuführen. Durch ein solches Verfahren kann der zentrale Dienst 202 erkennen, ob und wann ein Benutzerprozess 201 abnormal beendet wurde.
  • Im Falle, dass ein Benutzerprozess 201 abnormal beendet wurde, kann der zentrale Dienst 202 die Verwaltungsstruktur 203 nutzen, um bspw. über das bzw. die in der Verwaltungsstruktur 203 gehaltenen Zeigerobjekte 20, die von dem abnormal beendeten Benutzerprozess 201 genutzten Speicherzellen 215 im Speichermittel 210 zu identifizieren und ggf. aufzuräumen bzw. freizugeben, d. h. wieder den weiteren Benutzern in dem Anwendungssystem zur Verfügung zu stellen.
  • Die Identifikation der Speicherzellen 215 kann dabei durch die Adresse oder eine andere Form der Referenz im Speicher der Speicherzelle 215 erfolgen, da diese eindeutig zuordenbar ist.
  • Denkbar ist, dass der zentrale Dienst 202 Verfahren aufweist, die dazu geeignet sind einzelne Einträge in der Verwaltungsstruktur 203 zu suchen und ggf. zu entfernen.
  • 3 zeigt Ablaufdiagramm zeigt ein Ablaufdiagramm eines Verfahrens 300 mit Bezug zu der Datenstruktur 200 gemäß der vorliegenden Erfindung.
  • Der Produzent 10 fordert in Schritt 310 eine Speicherzelle an, um sie mit Daten zu übertragenden Daten zu beschreiben. Bevor die angeforderte Speicherzelle 215 dem Produzenten 10 übergeben wird, wird zunächst in Schritt 311 die Speicherzelle über die Kommunikations-Middleware angefordert. Anschließend folgt in Schritt 312 die Prüfung, ob die angeforderte Speicherzelle 215 gültig ist.
  • Im Falle, dass die angeforderte Speicherzelle 215 gültig ist, wird in Schritt 313 ein Zeigerobjekt 20, das auf die Speicherzelle verweist, aufgebaut. Dieses Zeigerobjekt 20 wird in Schritt 314 in der Verwaltungsstruktur 203 der Datenstruktur 200 abgelegt und dort gehalten.
  • Im Falle, dass die angeforderte Speicherzelle 215 nicht gültig ist, kann mit Schritt 315 ein Fehler ausgegeben werden.
  • Der Schritt des Anforderns 310 kann dabei mehrfach wiederholt werden.
  • Nachdem die Eigentümerschaft an der Speicherzelle 215 an den Produzenten 10 übergeben wurde, nutzt der Produzent 10 in Schritt 320 die Speicherzelle 215, um die zu übertragenden Daten in die Speicherzelle 215 zu schreiben.
  • Die Übergabe der Eigentümerschaft kann dabei bspw. durch die Übergabe eines Zeigerobjekts 20 auf die Speicherzelle 215 an den Produzenten 10 erfolgen. Bei dem übergebenen Zeigerobjekt 20 handelt es sich dabei um eine Kopie des Zeigerobjekts 20, das in der Verwaltungsstruktur 203 gehalten wird, während der Produzent 10 die Eigentümerschaft an der Speicherzelle 215 innehat.
  • Nach Beenden des Schreibens fordert der Produzent 10 das Versenden 330 der Speicherzelle 215 über die Kommunikations-Middleware an.
  • Dazu wird gemäß der dargestellten Ausführungsform durch den Produzenten 10 in Schritt 331 das Zeigerobjekt 20 auf die genutzte Speicherzelle 20 aus der Verwaltungsstruktur 203 entfernt. Anschließend erfolgt in Schritt 332 das Versenden der Speicherzelle mittels der Kommunikations-Middleware.
  • Denkbar ist dabei, dass der Schritt 331 nicht von dem Produzenten 10 ausgeführt wird, sondern durch die Kommunikations-Middleware im Zusammenhang mit dem Versenden der Speicherzelle 215.

Claims (8)

  1. Datenstruktur (200) für ein Speichermittel (210), insbesondere ein gemeinsam genutztes Speichermittel (210), insbesondere zur Interprozesskommunikation, in einem Anwendungssystem, wobei das Speichermittel (210) eine Speicherzelle (215) aufweist, dadurch gekennzeichnet, dass die Datenstruktur (200) eine Verwaltungsstruktur (203) aufweist, wobei die Verwaltungsstruktur (203) dazu eingerichtet ist, ein Zeigerobjekt (20) auf die Speicherzelle (215) zu halten.
  2. Datenstruktur (200) nach Anspruch 1, wobei die Datenstruktur (200) derart eingerichtet ist, das Zeigerobjekt (20) aufzubauen, wenn die Speicherzelle (215) von einem Benutzerprozess (10, 11, 201) des Anwendungssystems angefordert wird.
  3. Datenstruktur (200) nach Anspruch 1 oder 2, wobei die Datenstruktur (200) derart eingerichtet ist, das Zeigerobjekt (20) abzubauen, wenn die Speicherzelle (215) von dem Benutzerprozess (10, 11, 201) freigegeben wird.
  4. Datenstruktur (200) nach einem der vorhergehenden Ansprüche, wobei die Datenstruktur (200) derart eingerichtet ist, die Speicherzelle (215) freizugegeben wird, wenn der Benutzerprozess (10, 11, 201) abnormal beendet wurde.
  5. Datenstruktur (200) nach einem der vorhergehenden Ansprüche, wobei die Datenstruktur (200) für jeden Benutzerprozess (10, 11, 201) eine jeweilige Verwaltungsstruktur (203) aufweist.
  6. Datenstruktur (200) nach einem der vorhergehenden Ansprüche, wobei die Verwaltungsstruktur (203) in dem gemeinsam genutzten Speichermittel abgelegt (210) ist.
  7. Speichermittel (210), insbesondere gemeinsam genutztes Speichermittel (210), aufweisend eine Datenstruktur (200) nach einem der vorhergehenden Ansprüche.
  8. Vorrichtung, aufweisend ein Speichermittel (210) nach Anspruch 7.
DE102019215292.9A 2019-10-04 2019-10-04 Datenstruktur, Speichermittel und Vorrichtung Pending DE102019215292A1 (de)

Priority Applications (7)

Application Number Priority Date Filing Date Title
DE102019215292.9A DE102019215292A1 (de) 2019-10-04 2019-10-04 Datenstruktur, Speichermittel und Vorrichtung
CN202080084951.5A CN114830089A (zh) 2019-10-04 2020-09-29 数据结构、存储器装置和设备
US17/765,058 US11972293B2 (en) 2019-10-04 2020-09-29 Data structure, memory means and device
EP20781517.6A EP4038502A1 (de) 2019-10-04 2020-09-29 Datenstruktur, speichermittel und vorrichtung
KR1020227014974A KR20220069113A (ko) 2019-10-04 2020-09-29 데이터 구조, 저장 수단 및 장치
PCT/EP2020/077204 WO2021063933A1 (de) 2019-10-04 2020-09-29 Datenstruktur, speichermittel und vorrichtung
JP2022520392A JP2022552150A (ja) 2019-10-04 2020-09-29 データ構造、メモリ手段、および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019215292.9A DE102019215292A1 (de) 2019-10-04 2019-10-04 Datenstruktur, Speichermittel und Vorrichtung

Publications (1)

Publication Number Publication Date
DE102019215292A1 true DE102019215292A1 (de) 2021-04-08

Family

ID=72670739

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019215292.9A Pending DE102019215292A1 (de) 2019-10-04 2019-10-04 Datenstruktur, Speichermittel und Vorrichtung

Country Status (7)

Country Link
US (1) US11972293B2 (de)
EP (1) EP4038502A1 (de)
JP (1) JP2022552150A (de)
KR (1) KR20220069113A (de)
CN (1) CN114830089A (de)
DE (1) DE102019215292A1 (de)
WO (1) WO2021063933A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021111809A1 (de) 2021-05-06 2022-11-10 Bayerische Motoren Werke Aktiengesellschaft Verfahren und system zum übertragen von daten

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832529A (en) * 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6151658A (en) * 1998-01-16 2000-11-21 Advanced Micro Devices, Inc. Write-buffer FIFO architecture with random access snooping capability
US7761666B2 (en) * 2006-10-26 2010-07-20 Intel Corporation Temporally relevant data placement
US8443155B2 (en) * 2009-12-31 2013-05-14 Facebook, Inc. Lock-free concurrent object dictionary
US8966203B2 (en) * 2013-01-04 2015-02-24 Microsoft Corporation Shared and managed memory unified access
US9229848B2 (en) * 2013-01-21 2016-01-05 Micron Technology, Inc. Determining soft data for fractional digit memory cells
CN105094751B (zh) * 2015-07-20 2018-01-09 中国科学院计算技术研究所 一种用于流式数据并行处理的内存管理方法
US10509722B2 (en) * 2017-08-31 2019-12-17 Micron Technology, Inc. Memory device with dynamic cache management
KR20190123990A (ko) * 2018-04-25 2019-11-04 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11550714B2 (en) 2019-04-15 2023-01-10 International Business Machines Corporation Compiling application with multiple function implementations for garbage collection

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021111809A1 (de) 2021-05-06 2022-11-10 Bayerische Motoren Werke Aktiengesellschaft Verfahren und system zum übertragen von daten

Also Published As

Publication number Publication date
JP2022552150A (ja) 2022-12-15
CN114830089A (zh) 2022-07-29
KR20220069113A (ko) 2022-05-26
EP4038502A1 (de) 2022-08-10
US20220350661A1 (en) 2022-11-03
WO2021063933A1 (de) 2021-04-08
US11972293B2 (en) 2024-04-30

Similar Documents

Publication Publication Date Title
DE112019002411T5 (de) Fahrzeuggebundene Aktualisierungseinrichtung, Aktualisierungsprozessverfahren und Aktualisierungsprozessprogramm
DE112018001894T5 (de) Steuervorrichtung, Übertragungsverfahren und Computerprogramm
DE102018220823A1 (de) Dynamische routing-einrichtung und verfahren fur can-nachricht von fahrzeug
DE102021130897A1 (de) Elektronische steuerungseinheit, softwareaktualisierungsverfahren, softwareaktualisierungsprogramm und elektronisches steuerungssystem
DE102018220822A1 (de) Vorrichtung und Verfahren zum Steuern eines prioritätsbasierten Fahrzeug-Multimastermoduls
DE102019215292A1 (de) Datenstruktur, Speichermittel und Vorrichtung
DE102019117946A1 (de) Verfahren zum Übertragen eines oder mehrerer Datenelemente von einem Fahrzeug an einen Server, computerlesbares Medium, System, und Fahrzeug
DE102021130896A1 (de) Elektronische steuerungseinheit, zeitinformationsbereitstellungsverfahren, zeitinformationsbereitstellungsprogramm und elektronisches steuerungssystem
WO2019091519A1 (de) Steuergerät für ein kraftfahrzeug und verfahren zum betreiben des steuergeräts
DE102022208218A1 (de) Einrichtung zum Durchführen eines OTA-Updates für ein Fahrzeug und Verfahren derselben
DE102022110251A1 (de) Ota-master, center, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102022109778A1 (de) Ota-master, verfahren und nicht-transitorisches speichermedium
DE102017129307A1 (de) Onboard-Kommunikationssystem und Steuerverfahren für ein Onboard-Kommunikationssystem
DE102020105613A1 (de) Echtzeit-steuersystem für ein fahrzeug und verfahren zur ausführung der steuerung des fahrzeugs über das echtzeit-steuerungssystem
DE102020206262A1 (de) Datenumschreibverfahren und Datenumschreibsystem
DE102014207417A1 (de) Schnittstelleneinheit
EP4144003B1 (de) Verfahren zum erzeugen einer softwarekomponente für eine elektronische recheneinrichtung eines kraftfahrzeugs, computerprogrammprodukt, computerlesbares speichermedium sowie kraftfahrzeugexternes aktualisierungssystem
DE102021115171A1 (de) Steuersystem für ein Fahrzeug und Verfahren zum Betreiben eines Steuersystems eines Fahrzeugs
DE102021209364A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Daten
DE102023109186A1 (de) Elektronische steuerungsvorrichtung
DE102020215920A1 (de) Verfahren zum Betreiben eines Recheneinheitensystems und Recheneinheitensystem
DE102022109324A1 (de) Verfahren und Vorrichtung zum Schutz von Nutzer-spezifischen Daten
DE102022110824A1 (de) Ota-master, system, verfahren, nicht-transitorisches speichermedium und fahrzeug
DE102023112890A1 (de) Elektronische steuerungseinheit, software-aktualisierungsverfahren und software-aktualisierungsprogramm
DE102021130898A1 (de) Elektronische steuerungseinheit, softwareaktualisierungsverfahren, softwareaktualisierungsprogramm und elektronisches steuerungssystem