DE102020209128A1 - Resumption of a write operation in a memory element after an interruption - Google Patents
Resumption of a write operation in a memory element after an interruption Download PDFInfo
- Publication number
- DE102020209128A1 DE102020209128A1 DE102020209128.5A DE102020209128A DE102020209128A1 DE 102020209128 A1 DE102020209128 A1 DE 102020209128A1 DE 102020209128 A DE102020209128 A DE 102020209128A DE 102020209128 A1 DE102020209128 A1 DE 102020209128A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- point
- section
- resume
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
Abstract
Die Erfindung betrifft ein Verfahren zum Wiederaufnehmen eines Schreibvorgangs in einem nichtflüchtigen Speicherelement (110), umfassend: Empfangen (320) eines Datenabschnitts (202, 204, 206, 208), wobei ein Transferpunkt (TD) definiert ist, welcher einen Beginn des Datenabschnitts anzeigt; Verarbeiten (330) des empfangenen Datenabschnitts (202, 204, 206, 208); Erzeugen (340) eines Speicherabschnitts (222, 224, 226, 228) durch Schreiben des verarbeiteten Datenabschnitts in das nichtflüchtige Speicherelement, wobei ein Speicherpunkt (SP) des Datenabschnitts definiert ist, welcher einen Beginn des aus dem Datenabschnitt erzeugten Speicherabschnitts anzeigt; wobei in dem nichtflüchtigen Speicherelement (110) ein oder mehrere Speicheradressen als Wiederaufnahmepunkte (RP) definiert sind, an denen ein Schreiben in das nichtflüchtige Speicherelement nach einer Unterbrechung wieder aufgenommen werden kann; Prüfen (360), ob mindestens ein Wiederaufnahmepunkt (RP) in dem erzeugten Speicherabschnitt liegt; und falls dies der Fall ist, Abspeichern (370) des Transferpunkts und des Speicherpunkts des Datenabschnitts, und Abspeichern des letzten Wiederaufnahmepunkts, der in dem geschriebenen Speicherabschnitt liegt.The invention relates to a method for resuming a write operation in a non-volatile memory element (110), comprising: receiving (320) a data section (202, 204, 206, 208), wherein a transfer point (TD) is defined, which indicates a beginning of the data section ; processing (330) the received portion of data (202, 204, 206, 208); creating (340) a memory section (222, 224, 226, 228) by writing the processed data section to the non-volatile memory element, wherein a memory point (SP) of the data section is defined which indicates a beginning of the memory section created from the data section; wherein in the non-volatile memory element (110) one or more memory addresses are defined as resume points (RP) at which writing to the non-volatile memory element can be resumed after an interruption; checking (360) whether at least one resume point (RP) is in the created portion of memory; and if so, storing (370) the transfer point and the save point of the data portion, and storing the last resume point that is in the written portion of memory.
Description
Die vorliegende Erfindung betrifft ein Verfahren zur Wiederaufnahme eines Schreibvorgangs in einem Speicherelement nach einer Unterbrechung, insbesondere für ein Speicherelement in einem Steuergerät, sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung.The present invention relates to a method for resuming a write operation in a memory element after an interruption, in particular for a memory element in a control unit, and a computing unit and a computer program for carrying it out.
Stand der TechnikState of the art
Die Programmierung von Steuergeräten, beispielsweise über das gemäß ISO-14229 definierte UDS-Protokoll (Unified Diagnostic Services) ist im Automobilbereich weit verbreitet. Dabei werden üblicherweise Daten zur Neuprogrammierung von einer externen Quelle an das Steuergerät übertragen, wo dann entsprechende Speicherbereiche gelöscht und mit den neuen Daten überschrieben werden. Zur Übertragung von Daten an das Steuergerät sieht das UDS-Protokoll neben einer normalen Übertragung auch eine verschlüsselte oder komprimierte Übertragung vor. Diese beiden Varianten gewinnen im Rahmen der größer werdenden Datenmengen und der erhöhten Sicherheitsanforderungen immer stärker an Bedeutung.The programming of control units, for example using the UDS protocol (Unified Diagnostic Services) defined according to ISO-14229, is widespread in the automotive sector. In this case, data for reprogramming is usually transmitted from an external source to the control unit, where corresponding memory areas are then deleted and overwritten with the new data. In addition to normal transmission, the UDS protocol also provides for encrypted or compressed transmission of data to the control unit. These two variants are becoming more and more important in the context of increasing data volumes and increased security requirements.
Da eine derartige Programmierung nicht mehr ausschließlich in Werkstätten, sondern auch im Feld über drahtlose Verbindungen (over the air) erfolgt, wo die Datenübertragung häufiger unterbrochen werden kann, spielt der Umgang mit derartigen Unterbrechungen und der Wiederaufnahme der Programmierung nach einer Unterbrechung eine große Rolle. Während die Programmierung und auch die Wiederaufnahme einer Programmierung nach einer Unterbrechung üblicherweise auf feste physikalische Speicheradressen im Speicher eines Steuergeräts gerichtet ist, ist eine direkte lineare Zuordnung von gesendeten Datenbereichen zu den Speicheradressen nicht zwingend möglich, falls die Daten vor der Speicherung noch verarbeitet werden, beispielsweise dekomprimiert oder entschlüsselt werden.Since such programming is no longer exclusively done in workshops, but also in the field via wireless connections (over the air), where data transmission can be interrupted more frequently, dealing with such interruptions and resuming programming after an interruption plays a major role. While programming and also the resumption of programming after an interruption is usually aimed at fixed physical memory addresses in the memory of a control unit, a direct linear assignment of sent data areas to the memory addresses is not necessarily possible if the data is still being processed before it is stored, for example be decompressed or decrypted.
Offenbarung der ErfindungDisclosure of Invention
Erfindungsgemäß werden ein Verfahren zur Wiederaufnahme eines Schreibvorgangs in einem nichtflüchtigen Speicherelement nach einer Unterbrechung sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.According to the invention, a method for resuming a write operation in a non-volatile memory element after an interruption as well as a computing unit and a computer program for its implementation with the features of the independent patent claims are proposed. Advantageous configurations are the subject of the dependent claims and the following description.
Im Rahmen der Erfindung werden Datenabschnitte empfangen und verarbeitet, um daraus Speicherabschnitte zu erzeugen, die dann hintereinander in dem nichtflüchtigen Speicherelement gespeichert werden. Die Datenabschnitte können dabei insbesondere komprimierte und/oder verschlüsselte Daten enthalten, wobei das Verarbeiten dementsprechend ein Dekomprimieren bzw. Entschlüsseln umfasst. In dem nichtflüchtigen Speicherelement sind ein oder mehrere Speicheradressen als Wiederaufnahmepunkte definiert, an denen ein Schreiben in das nichtflüchtige Speicherelement nach einer Unterbrechung wiederaufgenommen werden kann. Wenn nun beim Schreiben eines Speicherabschnitts ein solcher Wiederaufnahmepunkt erreicht wird, wird dieser zusammen mit dem Beginn des aktuellen Speicherabschnitts (im Folgenden als Speicherpunkt bezeichnet) und dem Beginn des aktuellen Datenabschnitts (im Folgenden als Transferpunkt bezeichnet) gespeichert, um eine spätere Wiederaufnahme der Speicherung zu ermöglichen. Bei einer späteren Wiederaufnahme bleiben die Teile des Speicherabschnitts zwischen Speicherpunkt und Wiederaufnahmepunkt erhalten und das weitere Schreiben in den Speicherabschnitt beginnt am Wiederaufnahmepunkt.In the context of the invention, data sections are received and processed in order to generate memory sections therefrom, which are then successively stored in the non-volatile memory element. The data sections can in particular contain compressed and/or encrypted data, with the processing correspondingly including decompression or decryption. In the non-volatile memory element, one or more memory addresses are defined as resume points at which writing to the non-volatile memory element can be resumed after an interruption. If such a resume point is reached when writing a memory section, this is saved together with the beginning of the current memory section (hereinafter referred to as memory point) and the beginning of the current data section (hereinafter referred to as transfer point) in order to allow storage to be resumed later enable. If resumed later, the portions of the memory section between the save point and the resume point are preserved and further writing to the memory section begins at the resume point.
Das Verfahren kann bevorzugt angewendet werden, wenn ein oder mehrere Datenabschnitte ein Datenobjekt bilden, wobei die vorstehend genannten Schritte wiederholt werden, bis alle Datenabschnitte eines Datenobjekts in das nichtflüchtige Speicherelement geschrieben wurden.The method can preferably be applied when one or more data sections form a data object, the above steps being repeated until all data sections of a data object have been written to the non-volatile memory element.
Durch die Speicherung von Wiederaufnahmepunkten kann damit auch bei einer Unterbrechung des Schreibvorgangs ermittelt werden, bis wohin Daten des Datenobjekts bereits geschrieben sind. Bei Daten, bei denen beispielsweise durch Komprimierung oder Verschlüsselung nicht auf die zugehörige Transferadresse bzw. den Transferpunkt rückgeschlossen werden kann, wird durch die zusätzliche Festlegung eines zugehörigen Speicherpunkts ermöglicht, einen Schreibvorgang bzw. eine Programmierung von empfangenen Datenabschnitten an definierten Stellen wieder aufzunehmen. Damit entfällt die neue Übertragung und Speicherung größerer Mengen bereits geschriebener Daten, und es ist möglich, einen Schreibvorgang stückweise erfolgen zu lassen.As a result of the storage of resume points, it is also possible to determine up to where data of the data object have already been written, even if the writing process is interrupted. In the case of data for which the associated transfer address or transfer point cannot be deduced, for example due to compression or encryption, the additional definition of an associated memory point makes it possible to resume a writing process or programming of received data sections at defined points. This eliminates the need to retransmit and store large amounts of data that has already been written, and it is possible to have a write process performed piecemeal.
Ein oder mehrere der erzeugten Speicherabschnitte, die aus Datenabschnitten eines Datenobjekts erzeugt wurden, können dabei ein gespeichertes Datenobjekt bilden, wobei Transferpunkte und/oder Speicherpunkte eines Datenabschnitts als relative Speicheradressen in Bezug auf das Datenobjekt definiert werden können. Damit kann beispielsweise bestimmt werden, welcher Teil bzw. welcher Datenabschnitt eines Datenobjekts bereits übertragen und/oder geschrieben wurde. Beispielsweise kann am Beginn eines Datenobjekts ein erster Transferpunkt mit dem Wert 0 definiert werden, und am Beginn eines gespeicherten Datenobjekts kann ein erster Speicherpunkt mit dem Wert 0 definiert werden, wobei weitere Transfer- und Speicherpunkte dann relativ zu diesem ersten Punkt festgelegt werden können.One or more of the created memory sections, which were created from data sections of a data object, can form a stored data object, whereby transfer points and/or memory points of a data section can be defined as relative memory addresses in relation to the data object. It can thus be determined, for example, which part or which data section of a data object has already been transmitted and/or written. For example, a first transfer point with the
Auch die Wiederaufnahmepunkte können als relative oder auch als absolute Speicheradressen definiert sein. Beispielsweise können die Wiederaufnahmepunkte auch als physikalische Speicheradresse in dem Speicherelement definiert sein, oder sie können alternativ relativ zu einer physikalischen Speicheradresse definiert sein, welche den Beginn des gespeicherten Datenobjekts angibt.The resume points can also be defined as relative or absolute memory addresses. For example, the resume points may also be defined as a physical memory address in the memory element, or alternatively they may be defined relative to a physical memory address indicating the beginning of the stored data object.
Das Verfahren kann beispielsweise vorteilhaft in Fällen angewendet werden, in denen das Verarbeiten des Datenabschnitts eine Veränderung der Größe des Datenabschnitts oder der Anordnung der Daten innerhalb des Datenabschnitts bewirkt. In solchen Fällen ist damit dennoch eine Zuordnung der Datenabschnitte und der bereits geschriebenen Speicherabschnitte relativ zu Wiederaufnahmepunkten möglich.For example, the method can be used to advantage in cases where the processing of the data chunk causes a change in the size of the data chunk or the arrangement of the data within the data chunk. In such cases, it is still possible to allocate the data sections and the memory sections that have already been written relative to resume points.
Es ist beispielsweise möglich, dass der empfangene Datenabschnitt komprimiert und/oder verschlüsselt ist, wobei das Verarbeiten des Datenabschnitts ein Dekomprimieren und/oder Entschlüsseln des Datenabschnitts umfasst. Da insbesondere drahtlos übertragene Daten, aber auch drahtgebunden übertragene Daten häufig komprimiert oder verschlüsselt sind, kann damit auch für diese Daten, bei denen eine Zuordnung der Datenabschnitte und Speicheradressen ansonsten erschwert wäre, eine sichere Zuordnung und damit die Möglichkeit einer Wiederaufnahme des Schreibvorgangs nach einer Unterbrechung sichergestellt werden.It is possible, for example, for the received data section to be compressed and/or encrypted, with the processing of the data section comprising decompressing and/or decrypting the data section. Since data transmitted wirelessly in particular, but also data transmitted by wire, is often compressed or encrypted, a secure assignment and thus the possibility of resuming the writing process after an interruption can also be made for this data, for which an assignment of the data sections and memory addresses would otherwise be difficult be ensured.
Gemäß einer beispielhaften Ausführungsform umfasst das Verfahren außerdem das Zurücksetzen von Variablen für das Abspeichern des Transferpunkt, des Speicherpunkts und des Wiederaufnahmepunkts vor dem Erzeugen eines ersten Speicherabschnitts. Beispielsweise können alle Werte auf Null gesetzt werden.According to an exemplary embodiment, the method also includes resetting variables for storing the transfer point, the save point, and the resume point prior to creating a first portion of memory. For example, all values can be set to zero.
Vorteilhafterweise wird geprüft, ob beim Empfangen eines Datenabschnitts und/oder beim Erzeugen eines Speicherabschnitts ein Fehler aufgetreten ist, und falls dies der Fall ist, wird ein zuletzt abgespeicherter Transferpunkt an einen Sender, von dem der Datenabschnitt empfangen wurde, übermittelt; der Datenabschnitt, der dem übermittelten Transferpunkt entspricht, erneut empfangen und verarbeitet; Daten, die beim Erzeugen des Speicherabschnitts aus dem erneut empfangenen Datenabschnitt für Speicheradressen zwischen dem zuletzt gespeicherten Speicherpunkt und dem zuletzt gespeicherten Wiederaufnahmepunkt vorgesehen sind, werden verworfen (d.h. die dort bereits zuvor geschriebenen Daten bleiben erhalten), und die nicht verworfenen Daten des verarbeiteten Datenabschnitts nach dem zuletzt gespeicherten Wiederaufnahmepunkt werden geschrieben.It is advantageously checked whether an error has occurred when receiving a data section and/or when generating a memory section, and if this is the case, a transfer point last stored is transmitted to a transmitter from which the data section was received; re-receive and process the portion of data corresponding to the transmitted transfer point; Data intended for memory addresses between the last saved memory point and the last saved resume point when creating the memory section from the re-received data section is discarded (i.e. the data already previously written there is preserved), and the non-discarded data of the processed data section after the last saved resume point are written.
Auf diese Weise kann dem Sender der Datenabschnitte, also z.B. einem Programmiermodul, mitgeteilt werden, ab welcher Adresse (entsprechend einem Transferpunkt) die Daten nach einer Unterbrechung des Schreibvorgangs erneut gesendet werden müssen. Dabei können dann in der Regel auch Daten gesendet werden, die schon im Speicherelement geschrieben sind. Diese bereits geschriebenen Daten können aber anhand der Speicherpunkte und Wiederaufnahmepunkte in den verarbeiteten (z.B. entschlüsselten oder dekomprimierten) Daten identifiziert und verworfen werden, so dass nur die noch nicht gespeicherten Daten geschrieben werden müssen.In this way, the sender of the data sections, e.g. a programming module, can be informed from which address (corresponding to a transfer point) the data must be sent again after an interruption in the write process. In this case, as a rule, data can also be sent that have already been written in the memory element. However, this already written data can be identified by the save points and resume points in the processed (e.g. decrypted or decompressed) data and discarded so that only the unsaved data needs to be written.
Beispiele für derartige Fehler sind etwa ein Verbindungsabbruch, ein Fehler beim Schreiben des verarbeiteten Datenabschnitts, oder eine übermäßige Verzögerung beim Empfangen des Datenabschnitts.Examples of such errors include a disconnect, an error writing the processed data portion, or an excessive delay in receiving the data portion.
Darüber hinaus kann in beispielhaften Ausführungsformen vor der Prüfung, ob ein Wiederaufnahmepunkt in dem erzeugten Speicherabschnitt liegt, zusätzlich geprüft werden, ob der empfangene Datenabschnitt der letzte Datenabschnitt eines Datenobjekts ist. Falls dies der Fall ist, muss kein Markierungspunkt, also kein Speicherpunkt, Wiederaufnahmepunkt oder Transferpunkt mehr gespeichert werden, so dass das Verfahren abgebrochen werden kann, bevorzugt nach dem erfolgreichen Erzeugen des Speicherabschnitts aus dem letzten Datenabschnitt.In addition, in exemplary embodiments, before checking whether a resume point is in the generated memory section, it can also be checked whether the received data section is the last data section of a data object. If this is the case, no marker point, i.e. no save point, resume point or transfer point, has to be stored anymore, so that the method can be terminated, preferably after the memory section has been successfully generated from the last data section.
Die beschriebenen Ausführungsformen eignen sich beispielsweise für das Schreiben in einem nichtflüchtigen Speicherelement, das zum Speichern der Steuerung einer Steuereinheit vorgesehen ist. Es kann sich dabei etwa um ein Steuergerät eines Fahrzeugs, wie beispielsweise ein Motorsteuergerät handeln, bei dem eine Programmierung oder Neuprogrammierung zumindest eines Teils der Steuerung durch Schreiben in das Speicherelement erfolgen soll.The described embodiments are suitable, for example, for writing in a non-volatile memory element which is provided for storing the control of a control unit. This can be a control device of a vehicle, such as an engine control device, in which programming or reprogramming of at least a part of the control is to take place by writing to the memory element.
Das Empfangen von Datenabschnitten und das Übermitteln von Daten kann zum Beispiel gemäß dem Unified Diagnostic Services-Protokoll durchgeführt werden, was im Fahrzeugbereich ein häufig angewandtes Protokoll zur Kommunikation und Diagnostik darstellt.The receiving of data sections and the transmission of data can be carried out, for example, according to the Unified Diagnostic Services protocol, which is a frequently used protocol for communication and diagnostics in the automotive field.
Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät eines Kraftfahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.A computing unit according to the invention, for example a control unit of a motor vehicle, is, in particular their programming, set up to carry out a method according to the invention.
Auch die Implementierung eines erfindungsgemäßen Verfahrens in Form eines Computerprogramms oder Computerprogrammprodukts mit Programmcode zur Durchführung aller Verfahrensschritte ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.The implementation of a method according to the invention in the form of a computer program or computer program product with program code for carrying out all method steps is advantageous because this causes particularly low costs, especially if an executing control device is also used for other tasks and is therefore available anyway. Suitable data carriers for providing the computer program are, in particular, magnetic, optical and electrical memories, such as hard drives, flash memories, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and refinements of the invention result from the description and the attached drawing.
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.The invention is shown schematically in the drawing using exemplary embodiments and is described below with reference to the drawing.
Figurenlistecharacter list
-
1 zeigt beispielhaft ein System, in dem Ausführungsformen der Erfindung verwendet werden können,1 shows an example of a system in which embodiments of the invention can be used, -
2 zeigt schematisch zu programmierende Daten mit verschiedenen Wiederaufnahmepunkten, und2 shows schematically data to be programmed with different resume points, and -
3 zeigt beispielhafte Verfahrensschritte in einem Ablaufdiagramm.3 shows exemplary method steps in a flowchart.
Ausführungsformen der ErfindungEmbodiments of the invention
In
Die Steuereinheit 100 weist bevorzugt ein nichtflüchtiges Speicherelement 110 auf, das zur Speicherung der erforderlichen Software der Steuerung und von sonstigen Daten dienen kann. Dabei kann es sich beispielsweise um einen Flash-Speicher oder ein (nicht flashbasiertes) EEPROM handeln. Abhängig von der Speichertechnologie sind unterschiedliche Schritte erforderlich, um einen Bereich des Speicherelements neu zu programmieren. Ein direktes Überschreiben von Daten ist meist nicht möglich, stattdessen müssen die jeweiligen Bereiche zunächst gelöscht und anschließend neu beschrieben werden. Während bei einem klassischen EEPROM in kleinen Blöcken bzw. byteweise gelöscht werden muss, erlaubt Flash-Speicher ein schnelleres Löschen in größeren Blöcken.The
Ein häufig verwendetes Protokoll zur Diagnostik und Kommunikation im Fahrzeugbereich ist das UDS-Protokoll (Unified Diagnostic Services). In diesem Protokoll ist auch eine Neuprogrammierung bzw. Aktualisierung der Programmierung eines Steuergeräts vorgesehen. Zu diesem Zweck kann auf der Seite eines über eine Busschnittstelle drahtlos oder drahtgebunden verbundenen Fahrzeugdiagnosegeräts 130, bei dem es sich beispielsweise auch um einen PC mit entsprechenden Softwaremodulen handeln kann, ein softwarebasiertes Programmiermodul 132 (Flash Tool) vorhanden sein, welches Daten zur Programmierung und zugehörige Parameter an Steuereinheiten senden kann.A frequently used protocol for diagnostics and communication in the vehicle sector is the UDS protocol (Unified Diagnostic Services). This protocol also provides for reprogramming or updating the programming of a control unit. For this purpose, a software-based programming module 132 (flash tool) can be present on the side of a vehicle
Dabei können Daten von oder zu der Steuereinheit 100 in vorgegebenen Datenabschnitten übertragen werden. Die Größe dieser Abschnitte kann beispielsweise durch das Kommunikationsprotokoll vorgegeben sein, welches die Übertragung der Daten regelt. Dabei kann die Größe auch durch veränderbare Parameter vorgegeben sein. Im UDS-Protokoll als Beispiel können Daten in beide Übertragungsrichtungen durch einen Dienst mit dem Namen „Transfer Data“ übertragen werden, wobei mehrere Transfer-Data-Vorgänge verwendet werden können, falls die zu übertragenden Datenobjekte größer sind als die vorgegebene Abschnittsgröße. Für eine Aktualisierung bzw. Neuprogrammierung von Teilen der Steuerungssoftware wird dies üblicherweise der Fall sein. Ähnliche Abläufe sind aber auch in anderen Umgebungen und Protokollen möglich. Die so empfangenen Daten können dann in einen nichtflüchtigen Speicher geschrieben werden, optional an einer bestimmten, physikalischen Speicheradresse.In this case, data can be transmitted from or to the
Dabei ist auf der linken Seite ein Datenobjekt 200 gezeigt, das von der Steuereinheit 100 empfangen wird und eine Größe von mehreren Speichereinheiten aufweist. Dabei können die Speichereinheiten auf unterschiedliche Arten definiert sein. Beispielsweise kann einen Speichereinheit einem Byte entsprechen, es können aber auch andere Größen festgelegt werden, je nachdem, in welcher Weise die Adressierung in der jeweiligen Ausführungsform stattfindet. In der Figur sind die Speichereinheiten ohne Größeneinheit angegeben und als beispielhafte Darstellung zu verstehen.A
Wie bereits beschrieben, können die Daten an die Steuereinheit in mehreren Datenabschnitten 202, 204, 206, 208 übertragen werden, wobei die Größe der Datenabschnitte vorgegeben sein kann und das Datenobjekt somit in mehrere Übertragungen dieser Größe unterteilt werden kann. Die mit TD1, TD2.... bezeichneten Transferpunkte bezeichnen jeweils die Startposition eines neuen Datenabschnitts in den empfangenen Daten und können mit den festgelegten Speichereinheiten als Parameter angegeben sein. Im vorliegenden Beispiel entspricht der erste Transferpunkt TD1 dem Beginn des gesamten Datenobjekts 200 sowie dem Beginn des ersten Datenabschnitts 202 und damit dem Wert TD1 = 0, der zweite Transferpunkt ist der Beginn des zweiten Datenabschnitts 204 bei einem Wert von TD2 = 10, der dritte Transferpunkt kennzeichnet den Beginn des dritten Datenabschnitts 206 bei TD3 = 20, und so weiter. Im vorliegenden Beispiel weist also jeder Datenabschnitt eine Länge von 10 Speichereinheiten auf.As already described, the data can be transmitted to the control unit in
Das als Beispiel angegebene UDS-Protokoll erlaubt Nachrichten beliebiger Länge, so dass die maximale Größe der Datenabschnitte dort durch das eingesetzte Transportprotokoll vorgegeben wird. Beim häufig verwendeten ISO-TP, einem häufig eingesetzten Transportprotokoll für fahrzeugspezifische Bussysteme, sind zum Beispiel Botschaften bis zu einer Länge von 4095 Byte erlaubt. Zur Verwendung in der vorliegenden Erfindung kann dann beispielsweise die tatsächliche Länge der Abschnitte in Byte für die Transferpunkte angegeben sein; wahlweise können aber auch größere Einheiten mit mehreren Byte als Speichereinheiten für die Transferpunkte gewählt werden, so dass etwa wie im Beispiel ein Wert von 10 Speichereinheiten 640 Byte oder jeder anderen geeigneten Anzahl entsprechen kann.The UDS protocol given as an example allows messages of any length, so that the maximum size of the data sections there is specified by the transport protocol used. With the frequently used ISO-TP, a frequently used transport protocol for vehicle-specific bus systems, for example, messages up to a length of 4095 bytes are permitted. For use in the present invention, then, for example, the actual length of the sections in bytes can be specified for the transfer points; Alternatively, however, larger units with several bytes can be selected as storage units for the transfer points, so that, for example, as in the example, a value of 10 storage units can correspond to 640 bytes or any other suitable number.
Nach dem Empfangen der Datenabschnitte 202, 204, 206, 208 kann die Steuereinheit bzw. ein geeignetes Modul der Steuereinheit diese Daten noch weiter verarbeiten, bevor sie zur Programmierung der Steuereinheit, also zum Schreiben in das Speicherelement 110, bereit sind. Falls die Datenabschnitte komprimiert sind, können sie also nun dekomprimiert werden; zusätzlich oder alternativ können verschlüsselte Daten vor dem Schreiben entschlüsselt werden. Optional kann dabei der Steuereinheit durch einen entsprechenden Indikator in den empfangenen Daten mitgeteilt werden, ob die empfangenen Datenabschnitte verschlüsselt oder komprimiert sind. Ebenso ist auch möglich, dass Informationen über die Verschlüsselung oder Komprimierung der empfangenen Daten z.B. beim Einleiten des Datenempfangs ausgetauscht wurden.After receiving the
Die so verarbeiteten Daten können nun in den nichtflüchtigen Speicher an den vorgegebenen physikalischen Speicheradressen geschrieben werden. Das vorhergehende Löschen der erforderlichen Speicherbereiche ist hier nicht näher beschrieben.The data processed in this way can now be written to the specified physical memory addresses in the non-volatile memory. The previous deletion of the required memory areas is not described in detail here.
Das abgespeicherte Datenobjekt 220 ist rechts gezeigt. Da aber die Adresse in den verarbeiteten, gespeicherten Daten nicht der Adresse in den übertragenen Daten entspricht, da z.B. die dekomprimierten Daten mehr Bytes bzw. Speichereinheiten aufweisen als die komprimierten Daten, kann nun in den gespeicherten Daten zu jedem übertragenen Datenabschnitt ein Speicherpunkt SP definiert werden, welcher den Beginn des Speicherabschnitts 222, 224, 226, 228 bezeichnet, in dem die verarbeiteten Daten des zugehörigen Datenabschnitts 202, 204, 206, 208 geschrieben wurden. Ein erster Speicherpunkt SP1 am Beginn des ersten Speicherabschnitts 222 entspricht also einem ersten Transferpunkt TD1, der den Beginn des ersten übertragenen Datenabschnitts 202 bezeichnet. Ein zweiter Speicherpunkt SP2 entspricht dann einem zweiten Transferpunkt TD2, welcher den Beginn des zweiten Datenabschnitts 204 angibt, der auf den ersten Datenabschnitt 202 folgt. Der zweite Speicherpunkt SP2 kennzeichnet also in den gespeicherten Daten den Beginn des zweiten Speicherabschnitts 224, in welchem die verarbeiteten Daten des zweiten Datenabschnitts abgespeichert sind. Ebenso sind auch zu den weiteren übertragenen Datenabschnitten und abgespeicherten Speicherabschnitten jeweils Transferpunkte und zugehörige Speicherpunkte definiert.The saved
Das in der Figur dargestellte Beispiel zeigt komprimierte Daten, so dass die gespeicherten, nicht mehr komprimierten Abschnitte 222, 224, 226, 228 im Vergleich zu den übertragenen Datenabschnitten 202, 204, 206, 208 größer sind. Beispielsweise ist der zweite Transferpunkt TD2 bei 10 Speichereinheiten gezeigt, während der zugehörige zweite Speicherpunkt SP2 einen Wert von 18 aufweist. Ebenso liegt der dritte Transferpunkt TD3 bei 20 Speichereinheiten, während der zugehörige dritte Speicherpunkt bei SP3 = 36 liegt.The example shown in the figure shows compressed data, so that the stored, no longer compressed
Ebenso könnten die gespeicherten Daten in anderen Fällen aber auch eine geringere Größe als die übertragenen Daten aufweisen, beispielsweise bei bestimmten Verschlüsselungsmethoden.In other cases, the stored data could also be smaller than the transmitted data, for example with certain encryption methods.
Zusätzlich können in dem Speicherelement der Steuereinheit Wiederaufnahmepunkte RP definiert werden, welche sich bevorzugt auf physikalische Speicheradressen des Speicherelements beziehen und damit zunächst unabhängig von den gespeicherten Daten sind. Diese Wiederaufnahmepunkte können angeben, ab welchen Punkten bzw. Adressen jeweils eine Wiederaufnahme des Schreibvorgangs nach einer Unterbrechung möglich ist. Dabei kann ein Wiederaufnahmepunkt als absolute Adresse oder als relative Adresse mit Bezug auf das Schreiben des aktuellen Datenobjekts definiert werden. Bei einer relativen Angabe kann ein Wert von null für den Wiederaufnahmepunkt der Speicheradresse entsprechen, ab dem das gesamte Datenobjekt geschrieben werden soll, während die folgenden Werte wieder in Speichereinheiten relativ zu dieser Adresse angegeben sein können.In addition, resume points RP can be defined in the memory element of the control unit, which preferably relate to physical memory addresses of the memory element and are therefore initially independent of the stored data. These resume points can indicate from which points or addresses the write process can be resumed after an interruption. A resume point can be defined as an absolute address or as a relative address with reference to the writing of the current data object. When relative, a resume point value of zero may correspond to the memory address from which the entire data object is to be written, while subsequent values may again be specified in memory units relative to that address.
Beim Schreiben von erhaltenen Daten im Speicherelement, also bei der Neuprogrammierung bestimmter Programmabschnitte, kann dann nach jedem erhaltenen und verarbeiteten Datenabschnitt abgespeichert werden, welcher Wiederaufnahmepunkt RP erreicht wurde und welcher der entsprechende zugehörige Transferpunkt TD und Speicherpunkt SP ist. Diese Markierungspunkte 250 können beispielsweise in Form eines Zählers bzw. als Variable, welche die betreffenden Markierungspunkte in einer vorgegebenen Einheit (z.B. den zuvor beschriebenen Speichereinheiten) angibt, in einem nichtflüchtigen Speicherelement der Steuereinheit abgespeichert werden. Dabei kann es sich um das Speicherelement handeln, in dem auch das Steuerungsprogramm gespeichert ist; grundsätzlich kann es sich aber auch um ein anderes Speicherelement handeln.When writing received data in the memory element, i.e. when reprogramming certain program sections, it can then be stored after each received and processed data section which resume point RP was reached and which is the corresponding associated transfer point TD and memory point SP. These marking
Falls die Datenübertragung während der Programmierung unterbrochen wird, können die zuletzt abgespeicherten Werte ausgewertet und/oder an das Programmiermodul übermittelt werden, um anzuzeigen, bis zu welcher Stelle die übertragenen Daten bereits abgespeichert wurden. Dies ermöglicht es, bereits vollständig programmierte Datenabschnitte auch bei komprimierten, verschlüsselten oder anderweitig verarbeiteten Daten nicht erneut zu übertragen und die Übertragung und Einspeicherung der Daten an einer geeigneten Stelle fortzusetzen. Die Werte für den letzten Transferpunkt, Speicherpunkt und Wiederaufnahmepunkt, die nach Erhalt und Speicherung eines Datenabschnitts abgespeichert werden, können dabei jeweils den vorherigen gespeicherten Wert für diese Punkte überschreiben. Alternativ können auch die zugehörigen Punkte mehrerer empfangener Datenabschnitte abgespeichert werden, beispielsweise bis zur erfolgreichen Programmierung des gesamten Datenobjekts.If the data transmission is interrupted during programming, the last stored values can be evaluated and/or transmitted to the programming module in order to indicate up to which point the transmitted data have already been stored. This makes it possible not to transmit data sections that have already been fully programmed, even in the case of compressed, encrypted or otherwise processed data, and to continue the transmission and storage of the data at a suitable point. The values for the last transfer point, save point and resume point, which are saved after a data section has been received and saved, can each overwrite the previously saved value for these points. Alternatively, the associated points of several received data sections can also be stored, for example until the entire data object has been successfully programmed.
Im Folgenden wird zunächst ein nicht unterbrochener Übertragungs- und Schreibvorgang gemäß einer Ausführungsform beschrieben.In the following, an uninterrupted transmission and writing process according to an embodiment is first described.
Dabei wird in Schritt 300 ein Abruf eines Datenobjekts 200 eingeleitet, das in der Steuereinheit gespeichert werden soll. Zu diesem Zweck kann einen entsprechende Nachricht von dem Programmiertool an die Steuereinheit oder umgekehrt gesendet werden. Optional können dabei auch bestimmte Parameter übermittelt und/oder geprüft werden, um beispielsweise festzustellen, ob das Steuergerät bereit für eine Programmierung ist (kein aktiver Betrieb etc.). Auch Kennungen von Hardware oder Software können optional zwischen den beteiligten Seiten ausgetauscht werden. Ebenso können in diesem Schritt beispielsweise die Grö-ße des gesamten Datenobjekts, die Größe und/oder Anzahl der zu übertragenden Datenabschnitte, die das Datenobjekt bilden, und weitere Parameter übertragen werden.In this case, in step 300 a retrieval of a
In Schritt 310 kann dann zunächst der Zähler für alle Markierungspunkte, also für die Transferpunkte, die Speicherpunkte und die Wiederaufnahmepunkte auf null gesetzt werden. Falls nicht für alle Punkte relative Adressen verwendet werden, kann stattdessen beispielsweise der entsprechende Anfangswert für die Speicheradresse gesetzt werden. In Schritt 320 kann ein erster Datenabschnitt 202 von dem Programmiertool in der Steuereinheit empfangen werden, der in Schritt 330 von der Steuereinheit auf vorgesehene Weise bearbeitet wird, also beispielsweise dekomprimiert und/oder entschlüsselt wird.In
In Schritt 340 werden die bearbeiteten Daten beginnend an einer vorgegebenen Speicheradresse in den nichtflüchtigen Speicher geschrieben und bilden so einen ersten Speicherabschnitt 222. In Schritt 350 wird jeweils geprüft, ob es sich bei dem empfangenen Datenabschnitt um den letzten übertragenen Datenabschnitt des Datenobjekts handelt. Dieser Schritt kann optional auch vor dem Schreiben oder Verarbeiten stattfinden.In
Anschließend wird in Schritt 360 geprüft, ob bei diesem ersten Transfer- und Speicherschritt mindestens ein Wiederaufnahmepunkt überschritten wurde. Falls dies der Fall ist, wird in Schritt 370 der letzte überschrittene Wiederaufnahmepunkt abgespeichert. Im Beispiel aus
Falls damit nicht bereits das vollständige Datenobjekt 200 übertragen wurde, dessen Länge beispielsweise in Schritt 300 mitgeteilt wurde, wird das Verfahren nun erneut mit Schritt 320 mit dem Empfang eines weiteren Datenabschnitts fortgesetzt, der wiederum in Schritt 330 verarbeitet wird und in Schritt 340 anschließend an den vorherigen Speicherabschnitt in den nichtflüchtigen Speicher geschrieben wird. Wie in
Auf diese Weise können die vorstehenden Schritte wiederholt durchlaufen werden, bis alle Datenabschnitte an die Steuereinheit übertragen und dort korrekt gespeichert wurden. Erneut mit Bezug auf das Ausführungsbeispiel aus
Schließlich wird nach der Übertragung des vierten Datenabschnitts 208 in Schritt 350 festgestellt, dass es sich um den letzten übertragenen Datenabschnitt des Datenobjekts 200 handelt, so dass keine weitere Speicherung von Markierungspunkten notwendig ist. Der nun ebenfalls überschrittene Wiederaufnahmepunkt RP4 = 50 muss daher nicht abgespeichert werden. Bevorzugt kann diese Prüfung auch erst dann stattfinden, wenn sichergestellt ist, dass die Daten korrekt in den nichtflüchtigen Speicher eingespeichert wurden und beispielsweise keine Fehler beim Schreiben aufgetreten sind.Finally, after the
Während vorstehend eine ungestörte Übertragung und Speicherung von Programmdaten in die Steuereinheit beschrieben wurde, wird nun - wieder mit Bezug auf die
Es kann somit nach oder während jedem der Schritte 320 (Empfang eines neuen Datenabschnitts), 330 (Verarbeitung des Datenabschnitts), und/oder 340 (Schreiben des verarbeiteten Datenabschnitts) in den zugehörigen Prüfschritten 322, 332 und 342 überprüft werden, ob diese Vorgänge fehlerfrei durchgeführt wurden oder ob beispielsweise in Schritt 320 der erwartete Datenabschnitt nicht bzw. nicht korrekt empfangen wurde.It can thus be checked after or during each of steps 320 (receipt of a new data section), 330 (processing of the data section), and/or 340 (writing of the processed data section) in the associated
Bei einer fehlerhaften Übertragung oder einer anderen Störung, falls also in einem der Schritte 322, 332 oder 342 ein Fehler festgestellt wurde, kann die Steuereinheit eine Meldung an das übertragende Programmiermodul senden, in dem angegeben wird, welche Daten erneut übertragen werden müssen. Zu diesem Zweck kann die Steuereinheit nun in Schritt 380 die letzten gespeicherten Markierungspunkte auslesen und den gespeicherten Wert für den Transferpunkt TD an das Programmiermodul übermitteln. In Folge kann das Programmiermodul die Übertragung der Datenabschnitte unmittelbar mit dem durch den übermittelten Transferpunkt angegebenen Datenabschnitt fortsetzen, so dass die Steuereinheit in Schritt 382 diesen Datenabschnitt erneut empfängt.In the event of a failed transmission or other failure, that is, if an error is detected in any of
Die Steuereinheit kann dann wiederum den erneut übertragenen Datenabschnitt wie zuvor in Schritt 384 bearbeiten, also z.B. dekomprimieren und entschlüsseln, aber dann die Daten, die zwischen dem letzten abgespeicherten Speicherpunkt und dem letzten gespeicherten Wiederaufnahmepunkt liegen, verwerfen. Erst die Daten des Speicherabschnitts, die nach dem letzten Wiederaufnahmepunkt liegen, werden dann in Schritt 386 in den nichtflüchtigen Speicher geschrieben. Die Daten, die bereits vor diesem Wiederaufnahmepunkt in den Speicher geschrieben wurden, müssen daher nicht erneut geschrieben werden.Again, the controller may operate on the retransmitted portion of data as before in
Es versteht sich, dass auch während dieser erneuten Übertragung im Fehlerfall nach oder bei jedem Schritt geprüft werden kann, ob dieser Schritt fehlerfrei erfolgt ist, also ob z.B. der erneut übertragene Datenabschnitt nun erfolgreich übermittelt wurde, und dass ansonsten auch wiederholt die Verfahrensschritte ab Schritt 380 durchgeführt werden können, auch wenn dies in
Falls der Fehler nicht in der Übertragung aufgetreten ist, sondern beispielsweise beim Schreiben der verarbeiteten Daten, und falls die erforderlichen Daten des durch den gespeicherten Transferpunkt angegebenen Datenabschnitts noch in der Steuereinheit vorhanden sind, beispielsweise in einem flüchtigen Zwischenspeicher, kann die erneute Übertragung alternativ ausgelassen werden und wie beschrieben die Daten nach dem Wiederaufnahmepunkt geschrieben werden, während die übrigen Daten zwischen dem letzten Speicherpunkt und dem Wiederaufnahmepunkt verworfen werden.Alternatively, if the error did not occur in the transmission, but e.g. when writing the processed data, and if the required data of the data section specified by the stored transfer point is still present in the control unit, e.g. in a volatile buffer, the retransmission can alternatively be omitted and as described, writing the data after the resume point while discarding the remaining data between the last save point and the resume point.
So können in einem Beispielfall wie in
Nach dieser erneuten Übertragung 384 des zweiten Datenabschnitts kann die Übertragung, Verarbeitung und Speicherung der übrigen Daten mit dem dritten und jedem weiteren Datenabschnitt wie bereits beschrieben in Schritt 320 fortgesetzt werden, bis alle Datenabschnitte übertragen wurden und das gesamte Datenobjekt in den Speicher der Steuereinheit geschrieben wurde.After this
Da in diesem speziellen Beispiel mit dem dritten Speicherabschnitt 226 (zwischen SP3 und SP4 in
Mittels der beschriebenen Verfahren kann also ein Wiederaufsetzen einer Programmierung nach einer Unterbrechung auch bei Datenobjekten eingesetzt werden, bei denen die Größe der empfangenen Datenabschnitte noch durch einen Verarbeitungsschritt in der Steuereinheit verändert wird. Die Schritte sind jedoch ebenso auf nicht verschlüsselte oder komprimierte Daten anwendbar, bzw. auf Daten, die bei einer eventuellen Verarbeitung keine Änderung der Größe ergeben. Optional kann in beispielhaften Ausführungsformen geprüft werden, ob die Daten komprimiert, verschlüsselt oder anderweitig in ihrer Größe verändert sind, und dann wahlweise die beschriebenen Schritte mit Übertragung der Transferpunkte oder eine direkte Adressierung über die Wiederaufnahmepunkte nutzen.Using the methods described, programming can be restarted after an interruption even in the case of data objects in which the size of the received data sections is still changed by a processing step in the control unit. However, the steps are equally applicable to non-encrypted or compressed data, respectively Data that, if processed, do not result in a change in size. Optionally, in exemplary embodiments, it can be checked whether the data is compressed, encrypted or otherwise resized, and then optionally use the described steps with transmission of the transfer points or direct addressing via the resumption points.
Es versteht sich, dass zusätzlich zu den genannten Schritten weitere Verfahrensschritte stattfinden können und weitere oder andere Nachrichten gesendet werden können, die hier nicht ausdrücklich genannt sind. Weitere Details der Datenübertragung können sich dabei nach dem jeweils verwendeten Kommunikationsprotokoll bzw. Transportprotokoll richten und diesem entnommen werden.It goes without saying that, in addition to the steps mentioned, further method steps can take place and further or other messages can be sent that are not expressly mentioned here. Further details of the data transmission can depend on the communication protocol or transport protocol used in each case and can be taken from this.
Das Verfahren kann in allen Fällen verwendet werden, in denen die Daten vor dem Speichern verarbeitet werden und dabei die Adresse in den übertragenen Daten nicht der Adresse in den gespeicherten Daten entspricht, d.h. wenn die Größe der übertragenen Abschnitte sich von der Größe der gespeicherten Abschnitte unterscheidet. Dies ist insbesondere der Fall, wenn übertragene Daten zunächst dekomprimiert und/oder entschlüsselt werden müssen.The method can be used in all cases where the data is processed before storage and the address in the transferred data does not correspond to the address in the stored data, ie when the size of the transferred sections differs from the size of the stored sections . This is particularly the case when transmitted data must first be decompressed and/or decrypted.
Die vorstehenden Beispiele wurden in Bezug auf das UDS-Protokoll beschrieben, jedoch kann die Idee grundsätzlich auch mit anderen Protokollen eingesetzt werden, die ähnliche Abläufe beim Neuprogrammieren einer Vorrichtung anwenden.The examples above have been described in relation to the UDS protocol, but the idea can in principle be used with other protocols that use similar procedures when reprogramming a device.
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020209128.5A DE102020209128A1 (en) | 2020-07-21 | 2020-07-21 | Resumption of a write operation in a memory element after an interruption |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102020209128.5A DE102020209128A1 (en) | 2020-07-21 | 2020-07-21 | Resumption of a write operation in a memory element after an interruption |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102020209128A1 true DE102020209128A1 (en) | 2022-01-27 |
Family
ID=79179304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102020209128.5A Pending DE102020209128A1 (en) | 2020-07-21 | 2020-07-21 | Resumption of a write operation in a memory element after an interruption |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102020209128A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018105427A1 (en) | 2017-05-11 | 2018-11-15 | Western Digital Technologies, Inc. | Maintaining data during power off |
-
2020
- 2020-07-21 DE DE102020209128.5A patent/DE102020209128A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102018105427A1 (en) | 2017-05-11 | 2018-11-15 | Western Digital Technologies, Inc. | Maintaining data during power off |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3326101B1 (en) | Method and system for firmware-updating a control device for process control | |
EP2702497B1 (en) | Method and device for serial data transmission which is adapted to memory sizes | |
DE102010043011A1 (en) | Parallel programming and updating of building services bus subscribers | |
DE10318031A1 (en) | Method to ensure the integrity and authenticity of Flashware for ECUs | |
DE19839680A1 (en) | Altering control equipment memory contents involves securing first and/or second programs and/or data by copying before clearing, copying and/or reading in program/data | |
DE102017127903A1 (en) | Connection device for a data exchange between a fieldbus network and a cloud | |
DE102014001462B4 (en) | Field bus module, machine control and method for parameterizing an, in particular safety-related, field bus module | |
EP1417469A2 (en) | Communication method and communication module | |
DE102020209128A1 (en) | Resumption of a write operation in a memory element after an interruption | |
EP3811261A1 (en) | Cryptography module and method for operating same | |
EP2297967B1 (en) | Devices and method for processing data packets of a data stream and use of said devices | |
WO2023036597A1 (en) | Method and system for controlling a transmission of data on the basis of at least one attribute of a file | |
DE102013214795A1 (en) | Tachograph arrangement and method for operating a tachograph arrangement | |
DE112021004928T5 (en) | ELECTRONIC CONTROL DEVICE | |
DE102009027168B4 (en) | Method for determining a transmitted telegram data length | |
EP3797352B1 (en) | Method for exchanging a first executable program code and a second executable program code, and control unit | |
WO2021197820A1 (en) | Method for handling an anomaly in data, in particular in a motor vehicle | |
EP1876533A1 (en) | Assembly and method for loading data into a storage device | |
DE102018221954A1 (en) | Computing device and method for operating a computing device | |
EP3871393A1 (en) | Method for monitoring a data transmission system, data transmission system and motor vehicle | |
DE102021002488A1 (en) | Method for error analysis of a functionality provided by an embedded system on a developer system | |
DE112018007104T5 (en) | Information processing device, method and program | |
WO2021197828A1 (en) | Method for processing a data anomaly, in particular in a motor vehicle | |
EP4300893A1 (en) | Device and method for coupling a device network and a communication network and automation system | |
WO2024008460A1 (en) | Method for processing log files, data processing system and vehicle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R012 | Request for examination validly filed |