DE102019211856A1 - Data structure, control system for reading in such a data structure and method - Google Patents
Data structure, control system for reading in such a data structure and method Download PDFInfo
- Publication number
- DE102019211856A1 DE102019211856A1 DE102019211856.9A DE102019211856A DE102019211856A1 DE 102019211856 A1 DE102019211856 A1 DE 102019211856A1 DE 102019211856 A DE102019211856 A DE 102019211856A DE 102019211856 A1 DE102019211856 A1 DE 102019211856A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- data packets
- identifier value
- data structure
- sink
- 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
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000005540 biological transmission Effects 0.000 claims abstract description 20
- 230000015654 memory Effects 0.000 claims description 55
- 230000003936 working memory Effects 0.000 claims description 7
- 230000002093 peripheral effect Effects 0.000 description 19
- RRLHMJHRFMHVNM-BQVXCWBNSA-N [(2s,3r,6r)-6-[5-[5-hydroxy-3-(4-hydroxyphenyl)-4-oxochromen-7-yl]oxypentoxy]-2-methyl-3,6-dihydro-2h-pyran-3-yl] acetate Chemical compound C1=C[C@@H](OC(C)=O)[C@H](C)O[C@H]1OCCCCCOC1=CC(O)=C2C(=O)C(C=3C=CC(O)=CC=3)=COC2=C1 RRLHMJHRFMHVNM-BQVXCWBNSA-N 0.000 description 2
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Abstract
Die Erfindung betrifft eine Datenstruktur (10) zur Übertragung von einer Datenquelle an eine Datensenke durch ein Übertragungsmodul, aufweisend:eine Datei, die in ein oder mehrere aufeinanderfolgende Datenpakete (11_1,..,11_N) unterteilt ist,einen oder mehrere voneinander verschiedene Kennzeichenwerte (12_1,..., 12_N),welche zur Kennzeichnung des jeweiligen Endes des eines oder mehreren Datenpaketes (11_1,..,11_N) am jeweiligen Ende des einen oder mehreren Datenpaketes (11_1,..,11_N) in der Datenstruktur (10) abgelegt sind,einen Dateikopf (13), welcher zum Aufzeigen der Position der einen oder mehreren voneinander verschiedenen Kennzeichenwerte (12_1,... ,12_N) in der Datei,konfiguriert ist, und welcher ferner zur Angabe zumindest der Größe und der Anzahl der ein oder mehreren Datenpakete (11_1,..,11_N) konfiguriert ist, wobei der Dateikopf (13) weiter so konfiguriert ist, dass vor dem Übertragen der ein odermehreren Datenpakete (11_1,..,11_N) an eine dafür vorgesehene Datensenke zunächst ein Einlesen eines von dem jeweiligen ein oder mehreren Kennzeichenwerten (12_1,...,12_N) unterschiedlichen Platzhalters in die Datensenke an derjenigen Adresse, an der später der jeweilige Kennzeichenwert (12_1,...,12_N) des ein oder mehreren jeweiligen Datenpaketes (11_1,..,11_N) eingelesen ist, bewirkt wird.Ferner betrifft die Erfindung ein Steuerungssystem zum Einlesen einer solchen Datenstruktur und Verfahren.The invention relates to a data structure (10) for transmission from a data source to a data sink by a transmission module, comprising: a file which is subdivided into one or more consecutive data packets (11_1, .., 11_N), one or more different identifier values ( 12_1, ..., 12_N), which is used to identify the respective end of the one or more data packets (11_1, .., 11_N) at the respective end of the one or more data packets (11_1, .., 11_N) in the data structure (10) are stored, a file header (13) which is configured to indicate the position of the one or more different identifier values (12_1, ..., 12_N) in the file, and which is also configured to indicate at least the size and the number of a or several data packets (11_1, .., 11_N) is configured, wherein the file header (13) is further configured in such a way that prior to the transmission of the one or more data packets (11_1, .., 11_N) to a data sink provided for this purpose, hst a reading of a placeholder different from the respective one or more identifier values (12_1, ..., 12_N) into the data sink at the address at which the respective identifier value (12_1, ..., 12_N) of the one or more respective data packet will later be read (11_1, .., 11_N) is read in. Furthermore, the invention relates to a control system for reading in such a data structure and method.
Description
Die Erfindung betrifft eine Datenstruktur zur Übertragung von einer Datenquelle an eine Datensenke durch ein Übertragungsmodul. Ferner betrifft die Erfindung ein Steuerungssystem zum Einlesen einer solchen Datenstruktur. Weiterhin betrifft die Erfindung noch ein Verfahren zum verbesserten Laden und Weiterverarbeiten einer Datei, welche auf einer Datenquelle zur Übertragung an eine Datensenke angelegt ist.The invention relates to a data structure for transmission from a data source to a data sink by a transmission module. The invention also relates to a control system for reading in such a data structure. The invention also relates to a method for improved loading and further processing of a file which is created on a data source for transmission to a data sink.
Komplexe Steuerungssysteme beispielsweise SOCs (System-on-a-Chip) weisen heutzutage mindestens einen direkten Speicherzugriff, auch DMA-Controller (Direct Memory Access) genannt, auf. Dabei sind solche SOC komplexe, heterogene Systeme, die eine Hardware-Plattform, mit z. B. Prozessoren, Busse, Speicher und Peripheriegeräte sowie eine Software wie z. B. Gerätetreiber, Firmware, Betriebssysteme umfassen. Die SoCs können in eingebetteten Systemen eingesetzt werden.Complex control systems, for example SOCs (System-on-a-Chip), nowadays have at least one direct memory access, also known as a DMA controller (Direct Memory Access). Such SOCs are complex, heterogeneous systems that use a hardware platform with z. B. processors, buses, memory and peripherals and software such as. B. device drivers, firmware, operating systems. The SoCs can be used in embedded systems.
Ein solcher DMA-Controller greift über ein Bussystem direkt auf üblicherweise einen Arbeitsspeicher zu. In SOCs werden solche DMA-Controller dazu eingesetzt, um Daten zwischen Peripheriegeräten und dem zentralen, wiederbeschreibbaren RAM- (Random Access Memory)-Arbeitsspeicher zu transportieren.Such a DMA controller usually accesses a main memory directly via a bus system. In SOCs, such DMA controllers are used to transport data between peripheral devices and the central, rewritable RAM (Random Access Memory) main memory.
Dies entlastet den zentralen Prozessor; die CPU. DMA-Controller benötigen für die Ausführung der Datenübertragung Steuer- und Parameterinformationen. Diese Informationen werden von der CPU bereitgestellt. Wenn der DMA-Controller eine Datenübertragungsanforderung von dem Peripheriegerät erhält, erhält er von der CPU ein Bussteuerrecht. Der DMA-Controller startet so das Einschreiben der Daten von dem Peripheriegerät in den Arbeitsspeicher. Wenn die Datenübertragung abgeschlossen und die Daten validiert/verifiziert sind, schickt der DMA-Controller ein Abschlusssignal an das Peripheriegerät und an die CPU. Anschließend können die nächsten Daten übertragen werden. Einfache DMA-Controller zeigen dabei lediglich einen Abschluss der übertragenen Daten an.This relieves the central processor; the CPU. DMA controllers require control and parameter information to carry out the data transfer. This information is provided by the CPU. When the DMA controller receives a data transfer request from the peripheral device, it receives bus control rights from the CPU. The DMA controller thus starts writing the data from the peripheral device to the main memory. When the data transfer is complete and the data has been validated / verified, the DMA controller sends a completion signal to the peripheral device and to the CPU. The next data can then be transferred. Simple DMA controllers only indicate the completion of the transferred data.
Bei einfachen DMA-Controllern ist es jedoch nicht möglich, auszulesen wieviel Daten in den Arbeitsspeicher gelesen wurden; es kann nur eine Information über den vollständigen Abschluss des Einlesens geliefert werden. Somit kann ein Weiterverarbeiten der übertragenen Daten erst nach dem vollständigen Ladevorgang gestartet werden.With simple DMA controllers, however, it is not possible to read out how much data has been read into the main memory; only information about the complete completion of the reading can be provided. This means that further processing of the transferred data can only be started after the loading process has been completed.
Die
Aufgabe der Erfindung ist daher, Mittel anzugeben, welche eine verbesserte Datenübertragung zwischen einer Datensenke und einer Datenquelle ermöglichen.The object of the invention is therefore to provide means which enable an improved data transmission between a data sink and a data source.
Diese Aufgabe wird durch eine Datenstruktur mit den Merkmalen des Anspruchs 1 und ein Steuerungssystem mit den Merkmalen des Anspruchs 6 gelöst.This object is achieved by a data structure with the features of
Ferner wird die Aufgabe gelöst durch ein Verfahren zum verbesserten Laden und Weiterverarbeiten einer Datei mit den Merkmalen des Anspruchs 10.The object is also achieved by a method for improved loading and further processing of a file having the features of
In den Unteransprüchen sind weitere vorteilhafte Maßnahmen aufgelistet, die beliebig geeignet miteinander kombiniert werden können, um weitere Vorteile zu erzielen.The subclaims list further advantageous measures that can be combined with one another in any suitable manner in order to achieve further advantages.
Die Aufgabe wird gelöst durch die Angabe einer Datenstruktur zur Übertragung von einer Datenquelle an eine Datensenke durch ein Übertragungsmodul, aufweisend:
- - eine Datei, die in ein oder mehrere aufeinanderfolgende Datenpakete unterteilt ist,
- - einen oder mehrere voneinander verschiedene Kennzeichenwerte, welche zur Kennzeichnung des jeweiligen Endes des eines oder mehreren Datenpaketes am jeweiligen Ende des einen oder mehreren Datenpaketes in der Datenstruktur abgelegt sind,
- - einen Dateikopf, welcher zum Aufzeigen der Position der einen oder mehreren voneinander verschiedenen Kennzeichenwerte in der Datei konfiguriert ist, und welcher ferner zur Angabe zumindest der Größe und der Anzahl der ein oder mehreren Datenpakete konfiguriert ist, wobei der Dateikopf so konfiguriert ist, dass vor dem Übertragen der ein oder mehreren Datenpakete an eine dafür vorgesehene Datensenke zunächst ein Einlesen eines von dem jeweiligen ein oder mehreren Kennzeichenwerten unterschiedlichen Platzhalters in die Datensenke an derjenigen Adresse, an der später der jeweilige Kennzeichenwert des ein oder mehreren jeweiligen Datenpaketes eingelesen ist, bewirkt wird.
- - a file that is divided into one or more consecutive data packets,
- - one or more different identifier values which are stored in the data structure to identify the respective end of the one or more data packet at the respective end of the one or more data packet,
- a file header which is configured to indicate the position of the one or more mutually different identifier values in the file, and which is further configured to indicate at least the size and the number of the one or more data packets, the file header being configured in such a way that before before transmitting the one or more data packets to a data sink provided for this purpose, initially one of the respective one or more identifier values is read in different placeholders in the data sink at the address at which the respective identifier value of the one or more respective data packet is later read in.
Das bedeutet, dass jedes der Datenpakete an seinem Ende einen Kennzeichenwert, beispielsweise 4 Byte, aufweist. Diese Kennzeichenwerte werden jedem Datenpaket bei Aufteilung der Datei in die vorzugsweise mehreren einzelnen Datenpakete beigefügt.This means that each of the data packets has an identifier value, for example 4 bytes, at its end. These identifier values are added to each data packet when the file is divided into the preferably several individual data packets.
Im Dateikopf, welcher vor dem Laden der einzelnen Datenpakete ausgeführt wird, ist gespeichert, an welcher Stelle diese Kennzeichenwerte stehen. Zunächst bewirkt das Ausführen des Dateikopfs ein Einlesen von Platzhaltern, welche an diejenigen Adressen in der Datensenke eingelesen werden, an der später die Kennzeichenwerte der einzelnen Datenpakete geschrieben werden. Das heißt, es stehen vor dem Einlesen der Datei bzw. den einzelnen Datenpaketen andere Werte, nämlich die Platzhalter, als die original Kennzeichenwerte an den dafür vorgesehenen Stellen/Adressen in der Datensenke. Werden die einzelnen Datenpakete dann sukzessive eingelesen, so werden die Platzhalter sukzessive von den „richtigen“ Kennzeichenwerten überschrieben.The file header, which is executed before the individual data packets are loaded, stores the position of these identifier values. Initially, the execution of the file header causes placeholders to be read in, which are read in at those addresses in the data sink to which the identifier values of the individual data packets are later written. This means that before the file or the individual data packets are read in, there are other values, namely the placeholders, than the original identifier values at the locations / addresses provided for this in the data sink. If the individual data packets are then read in successively, the placeholders are successively overwritten by the "correct" identifier values.
Je nach Fortschritt der Datenübertragung kann nun abgefragt werden, welche der Platzhalter bereits mit dem richtigen Kennzeichenwerten überschrieben worden ist. Das heißt, während ein Übertragungsmodul, beispielsweise ein DMA-Controller im Hintergrund arbeitet, kann festgestellt werden, wieviel Datenpakete bereits in die Datensenke geschrieben worden sind. Die bereits vollständig geladenen Datenpakete können, zeitgleich während dem Laden nachfolgender Datenpakete bereits weiterverarbeitet werden.Depending on the progress of the data transfer, you can now query which of the placeholders has already been overwritten with the correct indicator values. This means that while a transmission module, for example a DMA controller, is working in the background, it can be determined how many data packets have already been written into the data sink. The data packages that have already been fully loaded can be processed further at the same time as the subsequent data packages are being loaded.
Es kann mit dem Weiterverarbeiten eines Datenpaketes begonnen werden, sobald der zu dem Datenpaket zugehörige Kennzeichenwert in der Datensenke den korrespondierenden Platzhalter überschrieben hat. Steht der zu dem Datenpaket zugehörige Kennzeichenwert noch nicht in der Datensenke, so kann mit dem Weiterverarbeiten noch nicht begonnen werden, da dieses Datenpaket noch nicht vollständig in der Datensenke angekommen ist.Further processing of a data packet can begin as soon as the identifier value associated with the data packet has overwritten the corresponding placeholder in the data sink. If the identifier value associated with the data packet is not yet in the data sink, further processing cannot yet be started, since this data packet has not yet fully arrived in the data sink.
Der Dateikopf ist so konfiguriert, dass er als erstes von dem Übertragungsmodul, beispielsweise dem DMA-Controller ausgeführt wird. Die Position des Dateikopfes kann dabei in den zu übertragenden Daten unterschiedlich sein, beispielsweise als Header am Anfang oder am Ende oder in der Mitte.The file header is configured in such a way that it is executed first by the transmission module, for example the DMA controller. The position of the file header can be different in the data to be transmitted, for example as a header at the beginning or at the end or in the middle.
Durch die Datenstruktur ist eine Parallelisierung von Laden und Weiterverarbeiten einer in vorzugsweise mehrere Datenpakete unterteilte Datei unabhängig von dem verwendeten Übertragungsmodul, welches zur Übertragung der Datenstruktur von der Datenquelle zu der Datensenke verwendet wird, möglich.The data structure enables parallel loading and further processing of a file, which is preferably divided into several data packets, independently of the transmission module used, which is used to transmit the data structure from the data source to the data sink.
Vorzugsweise ist der Dateikopf derart konfiguriert, dass die ein oder mehreren Datenpakete in einer vorgegebenen Reihenfolge ausgelesen werden. Vorzugsweise werden die Datenpakete als Datenfluss, also einfach hintereinander, ausgelesen.The file header is preferably configured in such a way that the one or more data packets are read out in a predetermined sequence. The data packets are preferably read out as a data flow, i.e. simply one after the other.
In bevorzugter Ausgestaltung umfasst der Dateikopf die Größe der Datenstruktur und die Anzahl der Datenpakete. Dabei kann die Anzahl auch eins sein.In a preferred embodiment, the file header includes the size of the data structure and the number of data packets. The number can also be one.
Weiterhin ist der Dateikopf derart konfiguriert, dass ein der Größe der Datenstruktur entsprechender Platzbedarf in der Datensenke reserviert wird.Furthermore, the file header is configured in such a way that a space requirement corresponding to the size of the data structure is reserved in the data sink.
Bevorzugt ist die Datenstruktur zur Speicherung auf einer Datenquelle ausgebildet. Dabei ist die Datenquelle vorzugsweise eine Peripherie-Speichereinheit, beispielsweise ein USB-Speicher etc.The data structure is preferably designed for storage on a data source. The data source is preferably a peripheral storage unit, for example a USB storage device, etc.
Ferner wird die Aufgabe gelöst durch ein Steuerungssystem zum Einlesen einer wie oben beschriebenen Datenstruktur, das Steuerungssystem umfassend:
- eine Datensenke mit einem Arbeitsspeicher,
- eine direkte Speicherzugriffseinheit zum direkten Einlesen der Datenstruktur von einer Datenquelle in den Arbeitsspeicher der Datensenke, wobei die direkte Speicherzugriffseinheit dazu ausgebildet ist, zunächst den Dateikopf auszuführen, wobei die Speicherzugriffseinheit ferner dazu konfiguriert ist, durch Ausführen des Dateikopfes den für das Einlesen der ein oder mehreren Datenpakete benötigten Arbeitsspeicher mit einer ersten zu beschreibenden Adresse und einer letzten zu beschreibenden Adresse zur Verfügung zu stellen und wobei die direkte Speicherzugriffseinheit dazu konfiguriert ist, in die letzte zu beschreibende Adresse des jeweiligen Datenpaketes einen jeweils von dem Kennzeichenwert unterschiedlichen Platzhalter zu speichern,
- so dass beim Speichern des ein oder mehreren Datenpaketes der jeweilige Platzhalter erst dann mit dem Kennzeichenwert des ein oder mehreren Datenpaketes überschrieben ist, wenn das zu dem jeweiligen Kennzeichenwert gehörende jeweilige Datenpaket vollständig in der Datensenke gespeichert ist.
- a data sink with a working memory,
- a direct memory access unit for reading the data structure directly from a data source into the main memory of the data sink, the direct memory access unit being designed to initially execute the file header, the memory access unit also being configured to execute the file header for reading in the one or more To provide data packets required main memory with a first address to be written and a last address to be written, and wherein the direct memory access unit is configured to store a placeholder different from the identifier value in the last address of the respective data package,
- so that when the one or more data packets are saved, the respective placeholder is only overwritten with the identifier value of the one or more data packet when the respective data packet belonging to the respective identifier value is completely stored in the data sink.
Dabei kann das Steuerungssystem in allen Bereichen eingesetzt werden, bei denen große Datenmengen geladen und weiterverarbeitet werden müssen. Durch das erfindungsgemäße Steuerungssystem ist es möglich, den aktuellen Übertragungsstand abzufragen, in dem geprüft wird, ob einer der Platzhalter mit dem dafür vorgesehenen Kennzeichenwert überschrieben worden ist. Ist dies der Fall, so ist das zu dem Kennzeichenwert gehörende Datenpaket bereits vollständig geladen und kann bereits weiterverarbeitet werden, während das anschließend zu ladende Datenpaket zeitgleich gerade in die Datensenke eingelesen wird.The control system can be used in all areas where large amounts of data have to be loaded and processed. By the invention Control system, it is possible to query the current transfer status by checking whether one of the placeholders has been overwritten with the intended code value. If this is the case, the data packet belonging to the identifier value has already been fully loaded and can already be processed further while the data packet to be subsequently loaded is being read into the data sink at the same time.
Durch ein solches Steuerungssystem kann das Laden und Weiterverarbeiten von Datenpaketen parallel erfolgen, obwohl die direkte Speicherzugriffseinheit keine Information darüber bereitstellt, wie viele Daten bzw. Datenpakete schon gelesen wurden. Da die gesamte Datenmenge bei der Datenquelle, vorzugsweise der Peripherie-Speichereinheit angefordert wird, erfolgt die Übertragung selber ohne jegliche Verzögerung durch neues Adressieren des nächsten Datenpaketes. Somit wird eine erhebliche Zeitersparnis ermöglicht.With such a control system, the loading and further processing of data packets can take place in parallel, although the direct memory access unit does not provide any information about how many data or data packets have already been read. Since the entire amount of data is requested from the data source, preferably the peripheral storage unit, the transmission itself takes place without any delay by re-addressing the next data packet. This enables considerable time savings.
Vorzugsweise ist die Datensenke selber als Arbeitsspeicher ausgebildet. Dieser wird von der direkten Speicherzugriffseinheit vorzugsweise über einen Bus angesteuert.The data sink itself is preferably designed as a working memory. This is controlled by the direct memory access unit, preferably via a bus.
Weiterhin vorzugsweise ist die direkte Speicherzugriffseinheit als DMA-Controller ausgebildet. Dabei ist als DMA-Controller jede Hardware zu verstehen, die einen direkten Speicherzugriff entweder auf den Arbeitsspeicher selbst oder auf eine Peripherie-Speichereinheit durchführen kann, ohne dabei die CPU in Anspruch zu nehmen.The direct memory access unit is also preferably designed as a DMA controller. A DMA controller is to be understood as any hardware that can perform direct memory access either to the main memory itself or to a peripheral memory unit without using the CPU.
Vorzugsweise ist das Steuerungssystem auf einem SOC (System-on-a-Chip) angeordnet. Ein solcher SOC wird vorzugsweise in eingebetteten Systemen eingesetzt.The control system is preferably arranged on an SOC (System-on-a-Chip). Such a SOC is preferably used in embedded systems.
Ferner wird die Aufgabe gelöst durch ein Verfahren zum verbesserten Laden und Weiterverarbeiten einer Datei, welche auf einer Datenquelle zur Übertragung an eine Datensenke angelegt ist, umfassend der Schritte:
- - Laden und Auslesen eines Dateikopfes einer Datenstruktur durch einen DMA-Controller, wobei die Datenstruktur ein oder mehrere Datenpakete mit jeweils einem unterschiedlichen Kennzeichenwert umfasst, wobei der jeweilige Kennzeichenwert am einzulesenden Ende des einen oder mehreren Datenpaketes angeordnet ist,
- - Bereitstellen des benötigten Speicherplatzes für die ein oder mehreren Datenpakete mit den jeweils einem unterschiedlichen Kennzeichenwert in einem Speicher der Datensenke durch den DMA-Controller,
- - Einlesen eines jeweiligen zu den jeweils einem unterschiedlichen Kennzeichenwert korrespondierenden Platzhalters an diejenige Adresse, welche für den jeweils einen unterschiedlichen Kennzeichenwert in der Datensenke vorgesehen ist, wobei sich der jeweilige Platzhalter von dem jeweiligen Kennzeichenwert unterscheidet, so dass beim Speichern des einen oder mehreren Datenpaketes der jeweilige Platzhalter erst dann mit dem jeweiligen Kennzeichenwert des einen oder mehreren Datenpaketes überschrieben ist, wenn das zu dem jeweiligen Kennzeichenwert gehörende Datenpaket vollständig in dem vom DMA-Controller zur Verfügung gestellten Speicher der Datensenke gespeichert ist,
- - Sukzessives Laden und Auslesen der ein oder mehreren Datenpakete mit den unterschiedlichen Kennzeichenwerten.
- - Loading and reading out a file header of a data structure by a DMA controller, the data structure comprising one or more data packets each with a different identifier value, the respective identifier value being arranged at the end of the one or more data packets to be read,
- - Provision of the required storage space for the one or more data packets, each with a different identifier value in a memory of the data sink by the DMA controller,
- - Reading in a respective placeholder corresponding to a different identifier value to the address which is provided for each different identifier value in the data sink, the respective placeholder differing from the respective identifier value, so that when the one or more data packets are saved the the respective placeholder is only overwritten with the respective identifier value of the one or more data packets when the data packet belonging to the respective identifier value is completely stored in the data sink memory provided by the DMA controller,
- - Successive loading and reading of the one or more data packets with the different identification values.
Vorzugsweise umfasst das Verfahren den weiteren Schritt:
- - Abfragen, ob der jeweilige Platzhalter für den jeweiligen Kennzeichenwert schon mit dem jeweiligen Kennzeichenwert überschrieben worden ist.
- - Query whether the respective placeholder for the respective license plate value has already been overwritten with the respective license plate value.
In weiterer vorzugsweiser Ausgestaltung wird bei einem Bereitstellen von mehreren Datenpaketen bei einem überschriebenen ersten Platzhalter durch den entsprechenden ersten Kennzeichenwert eines ersten Datenpaketes, das zu dem ersten Kennzeichenwert darauffolgende zweite Datenpaket mit einem zweiten Kennzeichenwert geladen, während das erste, gerade geladene Datenpaket weiterverarbeitet wird. So wird für alle vorhandenen Datenpakete verfahren. Dabei bedeutet erstes und zweites Datenpaket eine Reihenfolge und ist nicht auf die Stellung eines Datenpaketes in der Datei bezogen.In a further preferred embodiment, when several data packets are provided with an overwritten first placeholder, the second data packet following the first identifier value is loaded with a second identifier value through the corresponding first identifier value of a first data packet, while the first, just loaded data packet is further processed. This is the procedure for all existing data packets. The first and second data packet mean a sequence and are not related to the position of a data packet in the file.
Werden die Datenpakete durch den DMA-Controller gelesen, wird zunächst der Dateikopf gelesen, welcher die Kennzeichenwerte und deren Position in der Datei enthält. An die für die Kennzeichenwerte vorgesehenen Adressen im Arbeitsspeicher werden vom DMA-Controller zu den Kennzeichenwerten unterschiedliche Platzhalter geschrieben. Dadurch kann durch Auslesen des Arbeitsspeichers, während der DMA-Controller im Hintergrund arbeitet, festgestellt werden, ob ein erstes Datenpaket im Arbeitsspeicher angekommen ist. Steht im Arbeitsspeicher an der angegebenen Adresse der erste Kennzeichenwert, so sind alle Daten des ersten Datenpaketes gelesen und das Weiterverarbeiten des ersten Datenpaketes kann gestartet werden. Steht der erste Kennzeichenwert noch nicht im Arbeitsspeicher, kann noch nicht mit dem Weiterverarbeiten des ersten Datenpaketes begonnen werden, da er noch nicht vollständig gelesen wurde.If the data packets are read by the DMA controller, the file header is first read, which contains the identifier values and their position in the file. The DMA controller writes different placeholders for the identifier values to the addresses in the main memory provided for the identifier values. As a result, by reading out the main memory while the DMA controller is working in the background, it can be determined whether a first data packet has arrived in the main memory. If the first identifier value is in the main memory at the specified address, then all the data of the first data packet have been read and the further processing of the first data packet can be started. If the first identifier value is not yet in the main memory, further processing of the first data packet cannot yet be started because it has not yet been completely read.
Dies wird solange fortgeführt, bis alle Datenpakete gelesen wurden.This continues until all data packets have been read.
Durch dieses Verfahren ist die Parallelisierung von Laden und Weiterverarbeiten einer Datei möglich, obwohl der DMA-Controller keine Information darüber bereit zu stellen braucht, wie viele Daten schon gelesen wurden. Da die gesamte Datenmenge beim externen Speicher angefordert wird, erfolgt die Übertragung selber ohne jegliche Verzögerung durch neues Adressieren des nächsten Datenpaketes. Somit wird eine erhebliche Zeitersparnis ermöglicht.This method enables the parallelization of loading and further processing of a file, although the DMA controller does not need to provide any information about how much data has already been read. Since the entire amount of data is requested from the external memory, the transmission itself takes place without any delay by re-addressing the next data packet. This enables considerable time savings.
Das erfindungsgemäße Verfahren, sowie die erfindungsgemäße Datenstruktur kann in allen Bereichen, in denen große Datenmengen an den Arbeitsspeicher beispielsweise eines SOCs eines eingebetteten Systems übertragen, und dann innerhalb des eingebetteten Systems weiterverarbeitet werden müssen, Verwendung finden.The method according to the invention and the data structure according to the invention can be used in all areas in which large amounts of data are transmitted to the main memory, for example of an SOC of an embedded system, and then have to be further processed within the embedded system.
Somit kann auch bei beispielsweise einfachen DMA-Controllern der aktuelle Stand der übertragenen Daten abgefragt werden. Dadurch kann ein Weiterverarbeiten der Daten stattfinden, auch wenn die Daten noch nicht vollständig geladen worden sind.This means that the current status of the transmitted data can be queried even with simple DMA controllers, for example. This enables the data to be processed further, even if the data has not yet been fully loaded.
Weitere Merkmale, Eigenschaften und Vorteile der vorliegenden Erfindung ergeben sich aus der nachfolgenden Beschreibung unter Bezugnahme auf die beiliegenden Figuren. Darin zeigen schematisch:
-
1 : einen erfindungsgemäßen DMA-Controller, -
2 : ein erfindungsgemäßes System-on-Chip (SOC), -
3 : eine Peripherie-Speichereinheit mit einer erfindungsgemäßen Datenstruktur, -
4 : eine Ausgestaltung eines erfindungsgemäßen Verfahrens.
-
1 : a DMA controller according to the invention, -
2 : a system-on-chip (SOC) according to the invention, -
3 : a peripheral storage unit with a data structure according to the invention, -
4th : an embodiment of a method according to the invention.
Obwohl die Erfindung im Detail durch die bevorzugten Ausführungsbeispiele näher illustriert und beschrieben wurde, ist die Erfindung nicht durch die offenbarten Beispiele eingeschränkt. Variationen hiervon können vom Fachmann abgeleitet werden, ohne den Schutzumfang der Erfindung, wie er durch die nachfolgenden Patentansprüche definiert wird, zu verlassen.Although the invention has been illustrated and described in detail by the preferred exemplary embodiments, the invention is not restricted by the examples disclosed. Variations on this can be derived by the person skilled in the art without departing from the scope of protection of the invention as defined by the following patent claims.
Ein solcher DMA (Direct Memory Access, Speicherdirektzugriff) Controller
Der DMA-Controller
Ferner existieren Systeme mit einem zentralen DMA-Controller
Der DMA-Controller
Ein einfacher DMA -Controller 1 verfügt über vorzugsweise zumindest eine DMA -Steuerungseinheit 2 und zumindest einen Datenpuffer
Ein solcher DMA-Controller
Das System-on-Chip 14 weist ferner eine Input-Output Einheit
Die Datenstruktur
Ferner ist ein Dateikopf
Ferner ist der Dateikopf
Ferner ist der Dateikopf
Auch kann der Dateikopf
Als erster Verfahrensschritt
Durch das Auslesen werden die Datenstruktur
In einem zweiten Verfahrensschritt
In einem dritten Verfahrensschritt
In einem vierten Verfahrensschritt
In einem fünften Verfahrensschritt
In einem alternativen sechsten Verfahrensschritt
In einem siebten Verfahrensschritt
In einem alternativen achten Verfahrensschritt
Dies wird durchgeführt, bis alle vorhandenen Datenpakete
Durch das erfindungsgemäße Verfahren kann eine Parallelisierung von Laden und Weiterverarbeiten von Daten beispielsweise Datenpaketen erzielt werden, obwohl die Hardware, hier der DMA-Controller
Die Vorteile der Erfindung können besonders auch bei Steuerungssystemen in Fahrzeugen, die große Daten zur Verfügung stellen, austauschen bzw. abrufen, eingesetzt werden. Dies ist insbesondere in Fahrzeugen der Fall, die beim hochautomatisierten Fahren eingesetzt werden sollen.The advantages of the invention can also be used in particular in control systems in vehicles that make large data available, exchange or retrieve. This is particularly the case in vehicles that are to be used in highly automated driving.
ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturPatent literature cited
- DE 102004006767 B4 [0006]DE 102004006767 B4 [0006]
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019211856.9A DE102019211856A1 (en) | 2019-08-07 | 2019-08-07 | Data structure, control system for reading in such a data structure and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102019211856.9A DE102019211856A1 (en) | 2019-08-07 | 2019-08-07 | Data structure, control system for reading in such a data structure and method |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102019211856A1 true DE102019211856A1 (en) | 2021-02-11 |
Family
ID=74188494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102019211856.9A Pending DE102019211856A1 (en) | 2019-08-07 | 2019-08-07 | Data structure, control system for reading in such a data structure and method |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102019211856A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283883A (en) * | 1991-10-17 | 1994-02-01 | Sun Microsystems, Inc. | Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput |
DE102004006767B4 (en) * | 2004-02-11 | 2011-06-30 | Infineon Technologies AG, 81669 | Method and device for transporting data sections by means of a DMA controller |
US8941674B2 (en) * | 2012-11-30 | 2015-01-27 | Analog Devices, Inc. | System and method for efficient resource management of a signal flow programmed digital signal processor code |
-
2019
- 2019-08-07 DE DE102019211856.9A patent/DE102019211856A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5283883A (en) * | 1991-10-17 | 1994-02-01 | Sun Microsystems, Inc. | Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput |
DE102004006767B4 (en) * | 2004-02-11 | 2011-06-30 | Infineon Technologies AG, 81669 | Method and device for transporting data sections by means of a DMA controller |
US8941674B2 (en) * | 2012-11-30 | 2015-01-27 | Analog Devices, Inc. | System and method for efficient resource management of a signal flow programmed digital signal processor code |
Non-Patent Citations (2)
Title |
---|
Dateisystem In: Wikipedia, Die freie Enzyklopädie Bearbeitungsstand: 04.05.2019 um 14:17 Uhr URL: https://de.wikipedia.org/w/index.php?title=Dateisystem&oldid=188211769 [abgerufen am 15.07.2020] * |
Direct memory access In: Wikipedia, Die freie Enzyklopädie Bearbeitungsstand: 27.07.2019 um 12:08 Uhr URL: https://en.wikipedia.org/w/index.php?title=Direct_memory_access&oldid=908097646 [abgerufen am 15.07.2020] * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE602005003987T2 (en) | Method of programming a system on chip DMA control, as well as a system on chip for it. | |
DE4237417C2 (en) | Data processing system | |
DE602005002691T2 (en) | Method of programming a system on chip DMA control, as well as a system on chip for it. | |
DE102009061252B3 (en) | Apparatus, method and system for processing a transaction on a PCI bus using a root complex | |
DE2227882A1 (en) | Virtual memory array | |
DE10048072A1 (en) | Direct memory access (DMA) descriptor architecture for access to computer storage devices has increased access speed by enabling one DMA descriptor to contain more that one data pointer | |
DE112010005609T5 (en) | Storing data in one of a plurality of buffers in a memory controller | |
DE10056827A1 (en) | Method of using a data link between a source and a cache, esp. for computer multi-level cache memory, involves transmitting data from source to target along data link while the memory array is bypassed | |
DE112014000340T5 (en) | Prefetching data for a chip with a parent core and a scout core | |
DE112005002355T5 (en) | Device for retrieving data in a processor cache | |
DE112020003004T5 (en) | DMA SCATTER AND GATHER OPERATIONS FOR NONCONTINUOUS MEMORY | |
DE602004008060T2 (en) | USB HOST CONTROLLER WITH MEMORY FOR TRANSFER DESCRIBERS | |
DE19729618A1 (en) | Microprocessor for multiprocessor system | |
DE2539929C2 (en) | Data processing system with a central unit and peripheral device control arrangements connected to the central unit via a bus | |
EP1079307A1 (en) | Method for operating a memory system as well as memory system | |
EP0347970B1 (en) | Read-only memory test method, and device for carrying out the method | |
DE102006009034B3 (en) | Bus system method for operating a bus system has transmission channels for linking masters and slaves to each other and linking each master to an arbiter | |
DE102019211856A1 (en) | Data structure, control system for reading in such a data structure and method | |
DE112004001248T5 (en) | Memory-to-load forwarding buffer using an indexed management | |
DE10306285A1 (en) | Microcomputer system | |
EP1428105A2 (en) | Programme-controlled unit | |
DE69729598T2 (en) | A method and apparatus for address parity checking for multiple overlapping address areas on a common bus | |
EP1316891B1 (en) | Data communication system | |
DE19580638B4 (en) | A computer system and method for controlling a peripheral device in a computer system | |
DE102021115365A1 (en) | OVERHEAD REDUCTION IN DATA TRANSFER PROTOCOL FOR NAND STORAGE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R081 | Change of applicant/patentee |
Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE GMBH, 30165 HANNOVER, DE |
|
R081 | Change of applicant/patentee |
Owner name: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, DE Free format text: FORMER OWNER: CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH, 30165 HANNOVER, DE |