{"id":7999,"date":"2025-11-29T08:36:45","date_gmt":"2025-11-29T07:36:45","guid":{"rendered":"https:\/\/web-dev-weissblau.de\/microconsult\/?p=7999"},"modified":"2026-02-13T05:09:39","modified_gmt":"2026-02-13T04:09:39","slug":"hardware-and-software-aspects-for-optimizing-embedded-system-designs","status":"publish","type":"post","link":"https:\/\/www.microconsult.de\/en\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\/","title":{"rendered":"Hardware and software aspects for optimizing embedded system designs"},"content":{"rendered":"<h2>Erh\u00f6hung der Systemsicherheit durch die Wahl ECC-geeigneter Prozessoren und Speicher<\/h2>\n<p>Autor: Kei Thomsen, MicroSys Electronics GmbH<\/p>\n<h3>Beitrag &#8211; Embedded Software Engineering Kongress 2016<\/h3>\n<p><strong>Mit hochintegrierten und leistungsf\u00e4higen System on Chip L\u00f6sungen wandert zunehmend Intelligenz bis auf die Sensorebene von komplexen embedded Anwendungen. Wie Zuverl\u00e4ssigkeit im Design auch bei kleinen Systemstrukturen zu erreichen ist, gepaart mit hoher Performance und geringer Leistungsaufnahme, ist nach wie vor eine wichtige Kompetenz modernen Systemengineerings.<\/strong><\/p>\n<p>Im Vortrag\/Artikel werden gleichschnell getaktete ARM-, PowerPC- und X86- Plattformen bez\u00fcglich Gesamtperformance und Systemsicherheit (Safety) verglichen. Anhand zweier C-Code Anwendungsbeispiele, die in erster Betrachtung fast identisch aufgebaut sind, wird erkl\u00e4rt, wie mit durchdachter Programmierung Leistungssteigerungen bis zu Faktor 30 m\u00f6glich sind. Durch die immer kleiner werdenden Chip-Strukturen wird die Wichtigkeit von ECC-Memory (Error Correcting Code) und Prozessorunterst\u00fctzung erl\u00e4utert. Dar\u00fcber hinaus gibt es neue Erkenntnisse zum Thema NAND-Flash-Speicher. Hier werden Methoden wie z.B. das Scrubbing bei NAND-Flashes erkl\u00e4rt.<\/p>\n<h2>Teil 1: CPU-Plattformvergleich hinsichtlich Systemleistung<\/h2>\n<ul>\n<li>C-Code Beispiel: &#8222;gute&#8220; und &#8222;schlechte&#8220; Programmierung bei Speicherzugriffen<\/li>\n<li>Ergebnisse des C-Beispiels auf ARM, PowerPC und X86 Plattformen mit etwa gleich schnell getakteten CPUs<\/li>\n<li>Ursache und Unterschiede, und was bedeutet das f\u00fcr die Gesamtperformance<\/li>\n<\/ul>\n<h2>Teil 2: Speicherarchitekturen und Systemzuverl\u00e4ssigkeit<\/h2>\n<ul>\n<li>Hintergrundinformationen zu immer kleineren Chipstrukturen bei Speichern und verbundene Fehlerquellen<\/li>\n<li>Erh\u00f6hung der Zuverl\u00e4ssigkeit f\u00fcr CPU Plattformen und Speicher durch ECC<\/li>\n<li>NAND (SLC, MLC, TLC) Flashes und deren Sicherung gegen Datenverlust<\/li>\n<\/ul>\n<h2>1. CPU-Plattformenvergleich hinsichtlich Systemleistung<\/h2>\n<p>Es gibt immer wieder Streit dar\u00fcber, welches der performantere und bessere Prozessor f\u00fcr eine gegebene Anwendung ist. Meist stehen hier X86, PowerPC und ARM in ihren unterschiedlichen Auspr\u00e4gungen gegeneinander. Vorweg: Gleich schnell getaktete Prozessoren sind auch in etwa gleich scnell, +\/- ein paar Prozente. Da ein Gro\u00dfteil der lokalen Daten im Cache landen, sind hier kaum Unterschiede sichtbar. Sobald es jedoch ins externe RAM hinausgeht, kommt die Busbreite, Speichertyp und Cache-RAM Verbindung ins Spiel. Ob und wo ein Unterschied besteht, zeigen die n\u00e4chsten Abschnitte.<\/p>\n<h3>C-Code Beispiel: &#8222;gute&#8220; und &#8222;schlechte&#8220; Programmierung bei Speicherzugriffen<\/h3>\n<p>Doch zun\u00e4chst zu dem C-Code Beispiel, mit dem die Messung durchgef\u00fchrt werden. Warum \u201egute\u201c und \u201eschlechte\u201c Programmierung? H\u00e4ufig wird einfach programmiert und das Ergebnis als Gott gegeben hingenommen. Mit ein wenig Verst\u00e4ndnis, wie der Prozessor mit dem Cache und RAM arbeitet, k\u00f6nnen speicherintensive Funktionen um Faktoren schneller ablaufen.<\/p>\n<p>Als Beispeil werden hier 2 fast gleiche C-Funktionen benutzt.<\/p>\n<p class=\"quellcode\">long array[1024][1024];<br \/>\nfor (i = 0; i &lt; 1024; i++)<br \/>\nfor (j = 0; j &lt; 1024; j++)<br \/>\nb += array[<strong>j<\/strong>][<strong>i<\/strong>];<\/p>\n<p><em>C-Source Code 1<\/em><\/p>\n<p class=\"quellcode\">long array[1024][1024];<br \/>\nfor (i = 0; i &lt; 1024; i++)<br \/>\nfor (j = 0; j &lt; 1024; j++)<br \/>\nb += array[<strong>i<\/strong>][<strong>j<\/strong>];<\/p>\n<p><em>C-Source Code 2<\/em><\/p>\n<h3>Ergebnisse des C-Beispiels auf ARM, PowerPC und X86 Plattformen mit etwa gleich schnell getakteten CPUs<\/h3>\n<p>100 * die C Schleifen = 100 * 4MB lesen und aufaddieren<\/p>\n<div>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"124\"><strong>CPU<\/strong><\/td>\n<td valign=\"top\" width=\"55\"><strong>MHz<\/strong><\/td>\n<td valign=\"top\" width=\"76\"><strong>Vertikal<\/strong><\/p>\n<p><strong>(links)<\/strong><\/p>\n<p><strong>msec<\/strong><\/td>\n<td valign=\"top\" width=\"76\"><strong>Vertikal<\/strong><\/p>\n<p><strong>MB\/sec<\/strong><\/td>\n<td valign=\"top\" width=\"76\"><strong>Horiz.<\/strong><\/p>\n<p><strong>(rechts)<\/strong><\/p>\n<p><strong>msec<\/strong><\/td>\n<td valign=\"top\" width=\"66\"><strong>Horiz.<\/strong><\/p>\n<p><strong>MB\/sec<\/strong><\/td>\n<td valign=\"top\" width=\"99\"><strong>Faktor<\/strong><\/p>\n<p><strong>Verti.\/Horiz.<\/strong><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"124\">ARM Cortex-A9 NXP i.MX6<\/td>\n<td valign=\"top\" width=\"55\">800<\/td>\n<td valign=\"top\" width=\"76\">19782<\/td>\n<td valign=\"top\" width=\"76\">20<\/td>\n<td valign=\"top\" width=\"76\">1209<\/td>\n<td valign=\"top\" width=\"66\">338<\/td>\n<td valign=\"top\" width=\"99\"><strong>16<\/strong><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"124\">ARM Cortex-A9 Xilinx Zynq<\/td>\n<td valign=\"top\" width=\"55\">666<\/td>\n<td valign=\"top\" width=\"76\">20077<\/td>\n<td valign=\"top\" width=\"76\">20<\/td>\n<td valign=\"top\" width=\"76\">1399<\/td>\n<td valign=\"top\" width=\"66\">292<\/td>\n<td valign=\"top\" width=\"99\"><strong>14<\/strong><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"124\">PowerPC<br \/>\nQorIQ P2020<\/td>\n<td valign=\"top\" width=\"55\">1200<\/td>\n<td valign=\"top\" width=\"76\">41415<\/td>\n<td valign=\"top\" width=\"76\">9<\/td>\n<td valign=\"top\" width=\"76\">1351<\/td>\n<td valign=\"top\" width=\"66\">303<\/td>\n<td valign=\"top\" width=\"99\"><strong>30<\/strong><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"124\">Vortex86-DX<\/td>\n<td valign=\"top\" width=\"55\">800<\/td>\n<td valign=\"top\" width=\"76\">15676<\/td>\n<td valign=\"top\" width=\"76\">26<\/td>\n<td valign=\"top\" width=\"76\">5246<\/td>\n<td valign=\"top\" width=\"66\">78<\/td>\n<td valign=\"top\" width=\"99\"><strong>3<\/strong><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"124\">Intel i7<\/td>\n<td valign=\"top\" width=\"55\">2100<\/td>\n<td valign=\"top\" width=\"76\">1480<\/td>\n<td valign=\"top\" width=\"76\">270<\/td>\n<td valign=\"top\" width=\"76\">376<\/td>\n<td valign=\"top\" width=\"66\">1080<\/td>\n<td valign=\"top\" width=\"99\"><strong>4<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>Tabelle 1<\/em><\/p>\n<\/div>\n<p>In der Tabelle 1 sind die Ergebnisse exemplarisch f\u00fcr einige CPUs dargestellt. Andere CPUs mit anderen Speichern ergeben nat\u00fcrlich andere Werte! Wichtige Erkenntnisse liefert der Faktor der Beschleunigung (rechte Spalte, Tabelle 1). Dieser variiert zwischen 3 und 30. Eine &#8222;gute&#8220; Programmierung kann damit oftmals von sehr viel gr\u00f6\u00dferer Bedeutung sein als eine schnellere CPU.<\/p>\n<h3>Ursache der Unterschiede und was bedeutet das f\u00fcr die Gesamtperformance<\/h3>\n<p>Das Ausf\u00fchren von C-Source 1 wird in Tabelle 2 (siehe\u00a0<a title=\"Hard- und Softwareaspekte zur Optimierung von embedded Systemdesigns (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/echtzeit_hardsoftwareaspekte_microsys_electronics_thomsen.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) dargestellt und zeigt das Lesen von Daten in vertikaler Reihenfolge. Das Ausf\u00fchren von C-Source 2 wird in Tabelle 3 (siehe\u00a0<a title=\"Hard- und Softwareaspekte zur Optimierung von embedded Systemdesigns (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/echtzeit_hardsoftwareaspekte_microsys_electronics_thomsen.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>) dargestellt und zeigt das Lesen von Daten in horizontaler Reihenfolge.<\/p>\n<p>Zun\u00e4chst die Analyse von Tabelle 3. Es soll von Adresse $0000 ein 32bit Wert geladen werden. Der Wert befindet sich nicht im L1\/L2 Cache, deswegen wird per Burst Read mit 32 oder 64 Byte (je nach Cache Line Size) das RAM gelesen. Dieses dauert im Vergleich zum Lesen aus dem Cache extrem lange. Die CPU wartet (stallt), bis der Wert im L1-Cache angekommen ist und gelesen werden kann. Die n\u00e4chsten Zugriffe auf $4, $8, , $10\u2026 kommen dann nur noch aus dem L1-Cache, sind also extrem schnell.<\/p>\n<p>In Tabelle 2 hingegen wird $0 und dann $1000 gelesen. Es muss also gleich wieder gewartet werden, bis das RAM ausgelesen wurde, weil die n\u00e4chsten Daten noch nicht im Cache vorliegen. Typischerweise sind die L1 Caches 32KB gro\u00df und beinhalten 1024 Daten Lines a 32 Byte (Cache Line Size). In dem Beispiel werden jetzt auch genau 1024 Zeilen gelesen, wodurch der Cache exakt genau gef\u00fcllt sind. Somit k\u00f6nnen die weiteren Daten bei \/ \/ bei der n\u00e4chsten Runde nun aus dem Cache gelesen werden.<\/p>\n<p>Weiterhin spielt die MMU (Memory Management Unit) noch eine ma\u00dfgebliche Rolle f\u00fcr die Systemleistung. Jede MMU Page ist typischerweise 4 KB gro\u00df (ARM kann auch 64KB). Ein Eintrag zeigt also auf genau eine Datenzeile von 1024*32bit. Da die Adresse $0 nicht in der MMU-Tabelle zu finden ist, wird eine Exception ausgel\u00f6st, um per Software den MMU-Eintrag f\u00fcr diese Adresse neu zu laden, was folglich f\u00fcr jeden Zugriff geschieht. Hier hat der PowerPC einen kleinen Nachteil, da er nicht wie bei ARM &amp; X86 mit L1\/L2 Tabellen arbeitet, sondern 512 Eintr\u00e4ge a 4KB besitzt und somit in jedem Durchlauf eine Exception f\u00fcr die Zeile erzeugt, was den schlechteren Faktor 30 (Tabelle 1) f\u00fcr den PowerPC erkl\u00e4rt. Wenn das Beispiel etwas ge\u00e4ndert wird (512*512 statt 1024*1024), dann hat der PowerPC nur noch den Faktor 8, w\u00e4hrend ARM immer noch bei 10-12 bleibt.\u00a0<strong>Somit bleibt: Entwerfe und optimiere deinen Benchmark so, dass dein gew\u00fcnschtes Ergebnis herauskommt!<\/strong><\/p>\n<p>Zusammenfassung zum Speicherzugriff: Es kommt ma\u00dfgeblich auf die Architektur an, wie sich &#8222;schlechtes Programmieren&#8220; auf die Performance auswirkt. Bei &#8222;guter Programmierung&#8220; sind alle Prozessoren etwa gleich schnell (bei gleichen Speichertypen) und nur minimal abh\u00e4ngig von der CPU-Geschwindigkeit (666 \/ 800 \/ 1200 MHz im Beispiel). Die CPU-Geschwindigkeit kommt erst dann zum Zug, wenn viel gerechnet wird und die Daten gr\u00f6\u00dftenteils im L1-Cache vorliegen. Der Intel i7 Prozessor sticht heraus, weil der Speicher bei diesem Board mit 128Bit Dual Channel angebunden ist und damit in 2 Zyklen eine Cacheline f\u00fcllt, f\u00fcr das die anderen Systeme 8 Zyklen ben\u00f6tigen.<\/p>\n<h2>2. Speicherarchitektur und Systemzuverl\u00e4ssigkeit<\/h2>\n<h3>Hintergrundinformationen zu immer kleineren Chipstrukturen bei Speichern und verbundenen Fehlerquellen<\/h3>\n<p>Moderne Halbleiterstrukturen werden immer kleiner und erm\u00f6glichen dabei immer mehr Speicherplatz. Das gilt f\u00fcr RAMs (DDR3\/4) ebenso wie f\u00fcr NAND-Flashes. Betrachten wir hinsichtlich der Systemsicherheit zun\u00e4chst die RAMs.<\/p>\n<p>Die aktuelle Gr\u00f6\u00dfe der Chip-Struktur eines DDR4 RAMs betr\u00e4gt 20nm und wird mit einer Spannung von 1.2V betrieben, um die zu bewegende Ladung (&lt; 20000 Elektronen) gering zu halten. Das ist notwendig, um den Stromverbrauch zu reduzieren und die Geschwindigkeit zu erh\u00f6hen. Damit besteht aber die Gefahr von Soft-Error-St\u00f6rungen durch H\u00f6hen- und radioaktive Strahlung sowie durch energiereiche Strahlung von Elektromotoren und statischen Feldern. Diese Effekte bezeichnen wir als Single Event Upsets &#8211; SEU. H\u00e4ufig snd auch die RAM Timings nicht genau berechnet und eingestellt. Da das Timing temperaturabh\u00e4ngig ist, kann es bei hohen oder niedrigen Temperaturen zu Bit-Fehlern kommen. Ohne geeignete Gegenma\u00dfnahmen kann das hinsichtlich eines sicheren Systembetriebs recht gef\u00e4hrlich werden! Hier ist f\u00fcr sicherheitskritische Anwendung eine geeignete Ma\u00dfnahme der Einsatz von ECC-Speicher (Error Correction Code).<\/p>\n<h3>Erh\u00f6hung der Zuverl\u00e4ssigkeit f\u00fcr CPU Plattformen und Speicher durch ECC<\/h3>\n<p>Um Speicherfehler zu erkennen und zu korrigieren, kommt in den meisten F\u00e4llen ein Hardware-ECC zum Einsatz. Dazu wird das 64 Bit breite RAM um 8 Bit auf 72 Bit erweitert (bei 32 Bit + 7 Bit). Damit l\u00e4sst sich ein 1-Bit-Fehler direkt korrigieren und ein 2-Bit-Fehler erkennen, was nat\u00fcrlich vom Memory Controller unterst\u00fctzt werden muss. Jedoch haben heute bei weitem nicht alle Prozessoren einen solchen ECC-f\u00e4higen Memory Controller auf dem Chip (System On Chip &#8211; SOC). Fast alle PowerPC-Prozessoren besitzen einen ECC-f\u00e4higen Controller. F\u00fcr ARM-CPUs ist das hingegen die Ausnahme, und bei X86-CPUs sind es meist nur die gr\u00f6\u00dferen Server Chipsets und nur selten die Embedded SOCs, die mit dieser Funktion ausgestattet sind.<\/p>\n<p>Wenn der SOC nun ECC unterst\u00fctzt und auch die richtige Anzahl von RAMs vorhanden ist (dann sind typischerweise 5 oder 9 RAMs auf dem Board), dann sollte dieses Feature nat\u00fcrlich auch genutzt werden. Hierbei stellt sich gleich die Frage, wie viel zus\u00e4tzliche Verarbeitungszeit das kostet. Aus unseren Erfahrungen mit PowerPC-Boards und ARM Xilinx ZYNQ Systemen sind das weniger als 5% Verluste der Memory Performance. Es ist sinnvoll, ECC Interrupts von dem Betriebssystem zu unterst\u00fctzen, um die Fehler \u00fcberhaupt sichtbar zu machen. Der Memory Controller kann bei einem ECC-korrigierbaren Einzel-Bit-Fehler ein Interrupt ausl\u00f6sen. In der Interrupt-Behandlung wird nun die Speicherzelle ausgelesen und neu geschrieben, denn die gelesenen Daten sind ja (noch) korrekt. Bei einem Multi-Bit-Error geht das jedoch nicht mehr, und es muss speziell entschieden werden, wie damit umgegangen werden soll -&gt; sicherer Zustand, Fehlermeldung, Reboot, \u2026 Das l\u00e4sst sich auch sehr sch\u00f6n Testen, da jeder ECC-f\u00e4hige Controller auch die M\u00f6glichkeit einer Error Injection besitzt, um Fehler zu simulieren.<\/p>\n<p>Weshalb sind ECC-Speicher so wichtig f\u00fcr die Systemzuverl\u00e4ssigkeit? Ein Single-Bit-Fehler wird im Speicher, wodurch auch immer, verursacht. Mit ECC-Speicher wird eine Meldung ausgegeben, und die Daten werden korrigiert zur\u00fcckgeschrieben, alles gut! Ohne ECC-Speicher sind im besten Fall die Daten nur ein wenig falsch, im schlimmsten Fall ist das im Betriebssystem-Code passiert und ein Sprung geht nicht +100 Byte nach vorne, sondern -100 r\u00fcckw\u00e4rts. Na dann, Prost!<\/p>\n<h3>NAND (SLC, MLC, TLC) Flashes und deren Sicherung gegen Datenverlust<\/h3>\n<p>Richtig gruselig wird es jedoch bei den NAND-Flash-Speichern, die in allen g\u00e4ngigen Speicherkarten wie USB-Stick, CF, SD, \u00b5SD und SSD enthalten sind, wenn sie in zuverl\u00e4ssigen embedded Systemen zu Einsatz kommen sollen. Normalerweise w\u00fcrde man annehmen: 1 Speicherzelle = 1 Bit. Das stimmt grade mal bei den SLC-Flash-Bausteinen. SLC = Single Level Cells, MLC = Multi Level Cells, TLC = Three Level Cells.<\/p>\n<p>Besonders kritisch sind die MLC- und TLC-Technologien. Bei MLC (Schwarze Magie) werden pro Zelle 2 Bit gespeichert, also 0, 0.33, 0.66 und 1. Bei TLC (Alien Technologie) sind es sogar 3 Bit. Die Zelle wird also mit 8 unterschiedlichen Zust\u00e4nden geladen.<\/p>\n<p>Man kann sich vorstellen, was innerhalb der Chips f\u00fcr ein Aufwand getrieben werden muss, um diese minimalen Ladungsunterschiede noch voneinander unterscheiden zu k\u00f6nnen. Um die Daten korrekt zu halten, wird der ECC in den OutOfBand (OOB) Daten gespeichert, was ein zus\u00e4tzlicher Datenbereich zu den eigentlichen Daten ist (16Byte OOB \/ 512Byte Nutzdaten). Bei SLC werden typischerweise 3 Byte pro 512 Byte f\u00fcr den ECC genutzt; bei MLC und TLC wird fast der gesamte 16 Byte Bereich dazu benutzt. Die meisten NAND-Flash-Controller auf den SOCs benutzen die 3 Byte, um eine 1-Bit Error Correction per Hardware zu erzeugen. Werden mehr ECC-Bits ben\u00f6tigt, dann muss das in der Treiber-Software gel\u00f6st werden. Da die Zellen nur eine gewisse Anzahl an Schreib-L\u00f6sch-Zyklen vertragen (SLC ~100.000, MLC ~10.000, TLC ~ 3 &#8211; 5.000), m\u00fcssen die Daten mit einem Wear-Leveling gleichm\u00e4\u00dfig auf die NAND-Bl\u00f6cke verteilt werden. Diese Arbeit wird bei SD, \u00b5SD, CF, USB-Stick und SSD in dem eingebauten Flash-Controller geleistet. Bei eingel\u00f6teten NAND-Flashes organisiert das ein entsprechendes Filesystem wie UBIFS, JFFS2 oder YAFFS2.<\/p>\n<p>Bereits vor einigen Jahren haben die NAND-Flashes eine Speicherdichte pro mm\u00b2 erreicht, bei denen nach einigen Monaten einzelne Bits von selbst kippen, und das sogar in Sektoren, die t\u00e4glich nur 1-2-mal beim Booten gelesen werden. Nach intensivem Nachfragen bei den Herstellern bekommt man irgendwann mal die Auskunft, dass das im Erwartungsbereich liegt. Und das f\u00fcr den Einsatz im industriellen Umfeld!<\/p>\n<p>In Datenbl\u00e4ttern ist so etwas nirgends zu finden. Aufgefallen ist uns das dadurch, dass ein NAND-Flash nach 12 Monaten pl\u00f6tzlich das Linux nicht mehr lesen konnte, da in einem 512-Byte Sektor 2 Bits umgekippt waren, die dann nicht mehr mit dem 1-Bit-ECC korrigiert werden konnten. Abhilfe kann hier schaffen, regelm\u00e4\u00dfig (alle 1-2 Monate) einmal das gesamte NAND-Flash zu lesen und dabei den Fehler-Status vom NAND-Flash-Controller zu \u00fcberpr\u00fcfen.<\/p>\n<p>Meldet der Controller, dass er ein Bit korrigiert hat, kann man diesen Sektor einfach \u00fcberschreiben und neu \u00fcberpr\u00fcfen. Wenn man diese Information vom Controller nicht bekommen kann, dann hilft nur ein regelm\u00e4\u00dfiges Scrubbing, bei dem die Sektoren gelesen und wieder \u00fcberschrieben werden. Das sollten die externen Flash-Speicher-Medien idealerweise selbstst\u00e4ndig machen. Nur, wie macht das z.B. eine SD-Karte, die als Backup bereits seit 3 Jahren im Schrank liegt?<\/p>\n<p>Eine befreundete Firma hat in diesem Zusammenhang herausgefunden, dass z.B. neuere SanDisk CF-Karten (&gt;= 2GB) scheinbar aus Geschwindigkeitsgr\u00fcnden das Wear-Leveling nicht mehr \u00fcber den gesamten Bereich, sondern nur \u00fcber den f\u00fcr den FAT32 ben\u00f6tigten Bereich durchf\u00fchren, wie er typischerweise in Kameras benutzt wird. Somit sind fremde Filesysteme wie EXT2\/3\/4, OS-9, QNX u.a., die nicht in dem Wear-Leveling-Bereich angelegt sind, t\u00f6dlich und verweigern nach ein paar tausend Zugriffen die Funktion.<\/p>\n<p>In unseren Marktuntersuchungen fanden sich nur wenige CF-Karten als industrietauglich, die mit SLC-Technologie und Wear-Leveling \u00fcber den gesamten Bereich arbeiten. Vom Gebrauch von MLC- oder TLC-Technologien wird f\u00fcr den industriellen Einsatz deshalb ganz abgeraten. Wie das bei SD-Karten aussieht\u2026 keine Idee!<\/p>\n<p>Jetzt fragen Sie sich sicherlich, wie verh\u00e4lt es sich nun in diesem Zusammenhang mit den zunehmend verbreiteten SSD-Festplatten?<\/p>\n<p>Ja, SSD-Platten basieren auf NAND-Flashes. Auch hier gibt es SLC-, MLC- und TLC-Festplatten. Je lauter die Werbung schrillt: &#8222;bahnbrechende 3D-NAND-Technik&#8220;, desto vorsichtiger sollte man sein, denn damit wird meist MLC oder TLC beworben. G\u00fcnstig sind sie schon, aber wie steht es um deren langfristige Zuverl\u00e4ssigkeit?<\/p>\n<p>SSDs mit SLC hingegen muss man speziell suchen, und die sind dann auch keine Billigheimer mehr, aber f\u00fcr den industriellen Einsatz sicherlich geeignet. Ich habe bei den Recherchen zum dem Artikel im E4You-Verein (Zusammenschluss von mehr als 30 embedded L\u00f6sungsanbietern) nachgefragt, ob jemand besondere Erfahrungen mit SSD-Technik gemacht hat. Und prompt kam zur\u00fcck: &#8222;Wir haben in 10 Rechnern seit 1 \u00bd Jahren SSD-Platten im Entwicklungseinsatz und innerhalb von 2 Wochen sind 3 SSD-Platten so ausgefallen, dass gar nichts mehr ging. Sie lie\u00dfen sich \u00fcberhaupt nicht mehr lesen. Zum Gl\u00fcck hatten wir bei 2 davon ein Backup, der nicht \u00e4lter als 1 Woche war.&#8220;<\/p>\n<p>Ich m\u00f6chte noch auf einen Test hinweisen, bei dem versucht wird, 1 Petabyte Daten zyklisch auf 250GB SSD-Platten zu speichern (1 Petabyte = 1024 Terabyte). Hierbei konnten 3 SSD-Platten von insgesamt 6 nur knapp \u00fcber 700 Terabyte beschrieben werden, bevor sie komplett ausfielen. Ausf\u00fchrliche Informationen \u00fcber diese Untersuchungen sind auf nachfolgender Webseite zu finden (siehe\u00a0<a title=\"Hard- und Softwareaspekte zur Optimierung von embedded Systemdesigns (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/echtzeit_hardsoftwareaspekte_microsys_electronics_thomsen.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>).<\/p>\n<h2>3. Zusammenfassung &amp; Diskussion<\/h2>\n<p>Durch die zunehmend kleiner werdenden Strukturen und die eingesetzten Alien-Technologien werden Sicherungsma\u00dfnahmen durch das SOC, das Betriebssystem und die Filesystemen immer wichtiger. Bei industriellem Einsatz unter extremen Bedingungen, wie Temperatur und St\u00f6rfeldern, sollte\u00a0<strong>immer\u00a0<\/strong>versucht werden, ECC- Speicher zu nutzen, da sonst die Folgen desastr\u00f6s sein k\u00f6nnen. Der minimale Verlust an Performance wird durch massive Verbesserung der Stabilit\u00e4t und Systemzuverl\u00e4ssigkeit mehr als wettgemacht. Da ECC schon lange Standard bei PowerPC-Prozessoren ist, sind diese Prozessoren zumindest in unserem Haus f\u00fcr weiterhin die erste Wahl f\u00fcr Applikationen mit besonderen Anforderungen.<\/p>\n<p>Die meisten ARM-Prozessoren hingegen sind f\u00fcr Commercial Use gebaut und haben nur selten einen ECC-f\u00e4higen Speicher-Controller. Bei den NAND-Flashes sind im industriellen Einsatz eigentlich nur Flashes mit SLC-Technologie guten Gewissens zu empfehlen. Alles andere w\u00e4re an der falschen Stelle gespart. Wie zu Anfang beschrieben, ist Performance durch nichts zu ersetzen als durch noch mehr Performance. Die bekommt man aber nicht alleine von der Hardware, sondern auch zum gro\u00dfen Teil von gut geschriebenen Programmen.<\/p>\n<h2>4. Quellen<\/h2>\n<ul>\n<li><a title=\"DDR RAM\" href=\"https:\/\/de.wikipedia.org\/wiki\/Dynamic_Random_Access_Memory\" target=\"_blank\" rel=\"noopener\">DDR RAM<\/a><\/li>\n<li><a title=\"Soft Error\" href=\"https:\/\/de.wikipedia.org\/wiki\/Soft_Error\" target=\"_blank\" rel=\"noopener\">Soft Error<\/a><\/li>\n<li><a title=\"ECC\" href=\"https:\/\/de.wikipedia.org\/wiki\/Fehlerkorrekturverfahren\" target=\"_blank\" rel=\"noopener\">ECC<\/a><\/li>\n<li>Heavy Ion sensitivity of 16\/32-Gbit NAND-Flash and 4-Gbit DDR3 SDRAM, ESA 3.2.2012<\/li>\n<li><a title=\"SLC - MLC - TLC\" href=\"https:\/\/www.speedguide.net\/faq\/slc-mlc-or-tlc-nand-for-solid-state-drives-406\" target=\"_blank\" rel=\"noopener\">SLC, MLC, TLC<\/a><\/li>\n<li>CF Karten Problem: Bericht von ESD<\/li>\n<li><a title=\"SSD Petabyte Club\" href=\"https:\/\/techreport.com\/review\/26523\/the-ssd-endurance-experiment-casualties-on-the-way-to-a-petabyte\" target=\"_blank\" rel=\"noopener\">SSD Petabyte Club<\/a><\/li>\n<\/ul>\n<p><a title=\"Hard- und Softwareaspekte zur Optimierung von embedded Systemdesigns (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/11\/echtzeit_hardsoftwareaspekte_microsys_electronics_thomsen.pdf\" target=\"_blank\" rel=\"noopener\"><strong>Beitrag als PDF-Datei downloaden<\/strong><\/a><\/p>\n<hr \/>\n<h2>Echtzeit &#8211; MicroConsult Trainings &amp; Coachings<\/h2>\n<p><strong>Wollen Sie sich auf den aktuellen Stand der Technik bringen?<\/strong><\/p>\n<p>Dann informieren Sie sich\u00a0<a title=\"Alle Trainings und Termine\" href=\"https:\/\/www.microconsult.de\/alle-trainings-termine-komplettuebersicht\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong>\u00a0<\/a>zu Schulungen\/ Seminaren\/ Trainings\/ Workshops und individuellen Coachings von MircoConsult zum Thema Embedded- und Echtzeit-Softwareentwicklung.<\/p>\n<p><strong>Training &amp; Coaching zu den weiteren Themen unseren Portfolios finden Sie\u00a0<a title=\"Training &amp; Beratung - alle Themen\" href=\"https:\/\/www.microconsult.de\/training-beratung\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n<hr \/>\n<h2>Echtzeit &#8211; Fachwissen<\/h2>\n<p>Wertvolles Fachwissen zum Thema Embedded- und\u00a0 Echtzeit-Softwareentwicklung steht <a title=\"Embedded- und Echtzeit-Softwareentwicklung\" href=\"https:\/\/www.microconsult.de\/embedded-und-echtzeit-softwareentwicklung\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong>\u00a0<\/a>f\u00fcr Sie zum kostenfreien Download bereit.<\/p>\n<p><a title=\"Embedded- und Echtzeit-Softwareentwicklung\" href=\"https:\/\/www.microconsult.de\/embedded-und-echtzeit-softwareentwicklung\/\" target=\"_blank\" rel=\"noopener\"><strong>Zu den Fachinformationen<\/strong><\/a><\/p>\n<p><strong>Fachwissen zu weiteren Themen unseren Portfolios finden Sie <a title=\"Fachinformationen\" href=\"https:\/\/www.microconsult.de\/fachwissen\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Erh\u00f6hung der Systemsicherheit durch die Wahl ECC-geeigneter Prozessoren und Speicher Autor: Kei Thomsen, MicroSys Electronics GmbH Beitrag &#8211; Embedded Software Engineering Kongress 2016 Mit hochintegrierten und leistungsf\u00e4higen System on Chip L\u00f6sungen wandert zunehmend Intelligenz bis auf die Sensorebene von komplexen embedded Anwendungen. Wie Zuverl\u00e4ssigkeit im Design auch bei kleinen Systemstrukturen zu erreichen ist, gepaart mit [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[],"tags":[],"class_list":["post-7999","post","type-post","status-publish","format-standard","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Hard- und Softwareaspekte zur Optimierung von embedded Systemdesigns - MicroConsult Academy GmbH<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microconsult.de\/en\/hardware-and-software-aspects-for-optimizing-embedded-system-designs\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hard- und Softwareaspekte zur Optimierung von embedded Systemdesigns - MicroConsult Academy GmbH\" \/>\n<meta property=\"og:description\" content=\"Erh\u00f6hung der Systemsicherheit durch die Wahl ECC-geeigneter Prozessoren und Speicher Autor: Kei Thomsen, MicroSys Electronics GmbH Beitrag &#8211; Embedded Software Engineering Kongress 2016 Mit hochintegrierten und leistungsf\u00e4higen System on Chip L\u00f6sungen wandert zunehmend Intelligenz bis auf die Sensorebene von komplexen embedded Anwendungen. Wie Zuverl\u00e4ssigkeit im Design auch bei kleinen Systemstrukturen zu erreichen ist, gepaart mit [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microconsult.de\/en\/hardware-and-software-aspects-for-optimizing-embedded-system-designs\/\" \/>\n<meta property=\"og:site_name\" content=\"MicroConsult Academy GmbH\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-29T07:36:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-13T04:09:39+00:00\" \/>\n<meta name=\"author\" content=\"weissblau media\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"weissblau media\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\\\/\"},\"author\":{\"name\":\"weissblau media\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"headline\":\"Hard- und Softwareaspekte zur Optimierung von embedded Systemdesigns\",\"datePublished\":\"2025-11-29T07:36:45+00:00\",\"dateModified\":\"2026-02-13T04:09:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\\\/\"},\"wordCount\":2663,\"commentCount\":0,\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\\\/\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\\\/\",\"name\":\"Hard- und Softwareaspekte zur Optimierung von embedded Systemdesigns - MicroConsult Academy GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\"},\"datePublished\":\"2025-11-29T07:36:45+00:00\",\"dateModified\":\"2026-02-13T04:09:39+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.microconsult.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hard- und Softwareaspekte zur Optimierung von embedded Systemdesigns\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/\",\"name\":\"MicroConsult Academy GmbH\",\"description\":\"Professionelle Schulungen, Beratung und Projektunterst\u00fctzung\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.microconsult.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\",\"name\":\"weissblau media\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"caption\":\"weissblau media\"},\"sameAs\":[\"https:\\\/\\\/www.microconsult.de\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hardware and software aspects for optimizing embedded system designs - MicroConsult Academy GmbH","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microconsult.de\/en\/hardware-and-software-aspects-for-optimizing-embedded-system-designs\/","og_locale":"en_GB","og_type":"article","og_title":"Hard- und Softwareaspekte zur Optimierung von embedded Systemdesigns - MicroConsult Academy GmbH","og_description":"Erh\u00f6hung der Systemsicherheit durch die Wahl ECC-geeigneter Prozessoren und Speicher Autor: Kei Thomsen, MicroSys Electronics GmbH Beitrag &#8211; Embedded Software Engineering Kongress 2016 Mit hochintegrierten und leistungsf\u00e4higen System on Chip L\u00f6sungen wandert zunehmend Intelligenz bis auf die Sensorebene von komplexen embedded Anwendungen. Wie Zuverl\u00e4ssigkeit im Design auch bei kleinen Systemstrukturen zu erreichen ist, gepaart mit [&hellip;]","og_url":"https:\/\/www.microconsult.de\/en\/hardware-and-software-aspects-for-optimizing-embedded-system-designs\/","og_site_name":"MicroConsult Academy GmbH","article_published_time":"2025-11-29T07:36:45+00:00","article_modified_time":"2026-02-13T04:09:39+00:00","author":"weissblau media","twitter_card":"summary_large_image","twitter_misc":{"Written by":"weissblau media","Estimated reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microconsult.de\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\/#article","isPartOf":{"@id":"https:\/\/www.microconsult.de\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\/"},"author":{"name":"weissblau media","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"headline":"Hard- und Softwareaspekte zur Optimierung von embedded Systemdesigns","datePublished":"2025-11-29T07:36:45+00:00","dateModified":"2026-02-13T04:09:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microconsult.de\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\/"},"wordCount":2663,"commentCount":0,"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microconsult.de\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microconsult.de\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\/","url":"https:\/\/www.microconsult.de\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\/","name":"Hardware and software aspects for optimizing embedded system designs - MicroConsult Academy GmbH","isPartOf":{"@id":"https:\/\/www.microconsult.de\/#website"},"datePublished":"2025-11-29T07:36:45+00:00","dateModified":"2026-02-13T04:09:39+00:00","author":{"@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"breadcrumb":{"@id":"https:\/\/www.microconsult.de\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microconsult.de\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.microconsult.de\/hard-und-softwareaspekte-zur-optimierung-von-embedded-systemdesigns\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microconsult.de\/"},{"@type":"ListItem","position":2,"name":"Hard- und Softwareaspekte zur Optimierung von embedded Systemdesigns"}]},{"@type":"WebSite","@id":"https:\/\/www.microconsult.de\/#website","url":"https:\/\/www.microconsult.de\/","name":"MicroConsult Academy GmbH","description":"Professional training, consulting and project support","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microconsult.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a","name":"weissblau media","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","caption":"weissblau media"},"sameAs":["https:\/\/www.microconsult.de"]}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/7999","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/comments?post=7999"}],"version-history":[{"count":6,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/7999\/revisions"}],"predecessor-version":[{"id":11655,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/7999\/revisions\/11655"}],"wp:attachment":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/media?parent=7999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/categories?post=7999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/tags?post=7999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}