DE102008061098A1 - Nichtflüchtiger Speicher mit Typenkennung - Google Patents

Nichtflüchtiger Speicher mit Typenkennung Download PDF

Info

Publication number
DE102008061098A1
DE102008061098A1 DE200810061098 DE102008061098A DE102008061098A1 DE 102008061098 A1 DE102008061098 A1 DE 102008061098A1 DE 200810061098 DE200810061098 DE 200810061098 DE 102008061098 A DE102008061098 A DE 102008061098A DE 102008061098 A1 DE102008061098 A1 DE 102008061098A1
Authority
DE
Germany
Prior art keywords
memory
data
area
access
realized
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE200810061098
Other languages
English (en)
Inventor
Frank Wolz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE200810061098 priority Critical patent/DE102008061098A1/de
Publication of DE102008061098A1 publication Critical patent/DE102008061098A1/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification

Abstract

Die Erfindung geht aus von einem nichtflüchtigen Speicher mit Typenkennung, insbesondere Flash-Speicher mit Typenkennung, und mit Speicherzugriffsmittel zur Realisierung von sequentiellen Speicherzugriffen. Der Speicher wird erfindungsgemäß derart realisiert, dass ein Speicherbereich vorgesehen wird, welcher zur Erzeugung von Befehlssequenzen für ein Datenverarbeitungsprogramm erforderliche Daten umfasst. Dies hat den Vorteil, dass der Speicher selbst alle Informationen in sich trägt die erforderlich sind, um einen softwareseitigen Speicherzugriff zu implementieren.

Description

  • Die Erfindung betrifft einen nichtflüchtiger Speicher und ein Verfahren zu dessen Herstellung.
  • Aus dem Stand der Technik sind sogenannte Flash-Speicherbausteine bekannt. Flash-Speicherbausteine sind digitale Speicherchips, die auch als Flash-EEPROM bekannt sind. Im Gegensatz zu gewöhnlichen EEPROM-Speichern lassen sich aber bei einem Flash-EEPROM die kleinsten adressierbaren Speichereinheiten nicht einzeln löschen, denn ein Flash-Speicher ist mittels feingranularer Speicherstrukturen (Pages) realisiert, welche als nur komplett, blockweise oder sektorweise gelöscht werden können, sofern man ihren Dateninhalt ersetzen will. Für den Zugriff auf den Speicher umfassen diese Speicherbausteine in der Regel ein paralleles oder ein serielles Kommunikationsinterface. Insbesondere Bausteine mit seriellem Kommunikationsinterface (SPI) werden nachfolgend betrachtet, weil diese sehr kompakt realisierbar und preiswert sind. Unter Verwendung einer externen Datenverarbeitungseinheit ist ein Speicherzugriff auf den Flash-Speicher mittels des seriellen Interfaces jederzeit möglich. Für die Durchführung des Zugriffs hält der Flash-Speicher einen Befehlssatz bereit, welcher interne Speicheroperationen des Flash-Bausteins ausführt.
  • Es gibt mittlerweile am Markt eine Vielzahl von Flash-Bausteinen mit seriellem Dateninterface, welche sich nicht nur durch ihre unterschiedliche Geometrie (Granularität der Speicherstrukturen), sondern auch durch ihr Architektur und ihren Befehlssatz mehr oder weniger stark unterscheiden. Wird ein solcher Baustein in Verbindung mit einem Mikrocontroller beispielsweise im Rahmen eines eingebetteten Systems eingesetzt, so muss ein entsprechender Software-Treiber zur Ansteuerung des Bausteins implementiert werden. Häufig geht man beim Entwurf eines solchen Treibers von einem konkreten SPI-Flash eines bestimmten Herstellers aus und stimmt den Code des Treibers auf die herstellerspezifischen Daten ab. Muss nun beispielsweise im Rahmen einer Hardwareänderung der Baustein gegen den Baustein eines anderen Herstellers ausgetauscht werden, so entsteht zwangsläufig, beispielsweise wegen eines unterschiedlichen Befehlssatzes, die Notwendigkeit auch den Treiber für den neuen Baustein anzupassen. Grund für die Verwendung eines neuen Speichers könnte beispielsweise erhöhter Speicherbedarf oder die Abkündigung des Speichers durch den Speicherhersteller sein. Unter den zuvor genannten Umständen sind Modifikationen am Treiber jedoch unerwünscht. Zur Reduzierung von Kosten und Aufwand muss eine bestehende Software aus Kompatibilitätsgründen unabhängig von der Speicherhardware funktionieren.
  • Die Erfindung geht aus von einem nichtflüchtiger Speicher, insbesondere einem Flash-Speicher, mit Speicherzugriffsmittel zur Realisierung von sequentiellen Speicherzugriffen. In diesem Speicher wird erfindungsgemäß ein spezieller Speicherbereich vorgesehen, welcher Informationen bezüglich des Speichers umfasst. Dieser spezielle Speicherbereich kann von einem auf den Speicher zugreifenden Datenverarbeitungsprogramm zur Erzeugung von für den Speicher spezifischen Befehlssequenzen unter Verwendung der im Speicher abgelegten Informationen genutzt werden.
  • Der Speicherbaustein trägt alle für die Implementierung eines Speicherzugriffes notwendigen Informationen in sich, so dass diese von einem auf einer separaten Datenverarbeitungseinheit ablaufenden Datenverarbeitungsprogramm mittels eines sequentiellen Speicherzugriffes abgerufen werden können. Das Datenverarbeitungsprogramm kann sich somit selbsttätig bezüglich gegebenenfalls vorhandener neuer Hardwarebedingungen konfigurieren und muss damit nicht bei einem Wechsel der Speicherhardware manuell adaptiert werden. Vorzugsweise sind aus dem Speicher die für den Speicher relevanten Speicherzugriffszeiten und/oder Speicherbereichsgrößen auslesbar. Dadurch könnten gegebenenfalls erforderliche Anpassungen bezüglich des Timings beim Zugriff auf die Speicherschnittstelle automatisch erfolgen. Besonders bevorzugt ist ein Speicherbereich umfasst, aus dem für das Speicherzugriffsmittel spezifische Kommandos auslesbar sind und ganz besonders bevorzugt sind für die Kommandos spezifische Kommandosequenzanforderungen ebenfalls aus dem Speicher auslesbar. Ein Datenverarbeitungsprogramm, welches auf den Speicher zugreifen muss, könnte sich damit bezüglich der für den Speicher spezifischen Kommandosequenzen selbsttätig konfigurieren und den Speicherzugriff bei einem etwaigen Hardwarewechsel automatisieren.
  • Ein Problem besteht jedoch im Auffinden dieser Informationen zu einem Zeitpunkt, wenn der Flashtyp dem Datenverarbeitungsprogramm noch nicht bekannt ist (Initialisierungsphase). Zu diesem Zeitpunkt sind dem Datenverarbeitungsprogramm auch die für den Speicher charakteristischen Daten noch nicht bekannt. Das Datenverarbeitungsprogramm kann sich demnach auch nicht selbsttätig konfigurieren. Um dieses Problem zu lösen wird eine Speicherkennung zur Kennzeichnung des Beginns des Speicherbereiches, in dem die zuvor genannten charakteristischen Daten des Speichers abgelegt sind, vorgesehen (sogenanntes Magic Word). Das Datenverarbeitungsprogramm durchsucht in diesem Falle zunächst mittels eines Standardlesekommandos, welches allen Speichertypen gemeinsam ist, den Speicher nach dieser Kennzeichnung. Findet es die Kennzeichnung, so ist auch der Beginn des Speicherbereiches identifiziert.
  • Vorteilhafter wird zusätzlich zur zuvor genannten Kennzeichnung auch eine Versionskennzeichnung vorgesehen, aus welcher die Anordnung der Informationen im Speicher ableitbar ist und welche für ein externes Datenverarbeitungsprogramm auslesbar ist. Zur Sicherung des gesamten Informationsblockes im Speicher wird eine Prüfsumme vorgesehen.
  • Vorzugsweise wir ein Programmiermodul für eine parametrierbare Einrichtung realisiert, welches einen erfindungsgemäßen Speicher umfasst und welches derart realisiert ist, dass die für eine Parametrierung der Einrichtung erforderlichen Parameter auf dem Speicher abgespeichert werden können. Im Zuge zukünftiger Anpassungen kann die Hardware und insbesondere der Speicher des Programmiermoduls jederzeit ersetzt bzw. erweitert werden, ohne dass die für den Speicherzugriff relevanten Module eines Datenverarbeitungsprogramms geändert werden müssten. Dasselbe gilt für eine parametrierbare Einrichtung zum Betrieb eines Servomotors, umfassend einen Speicher gemäß einem der vorhergehenden Ansprüche sowie umfassend ein Mittel zur Verarbeitung der in dem Speicher abgelegten Parameter. Das Mittel ist derart realisiert, dass ein Datenzugriff auf die Parameter realisierbar ist. Die zuvor erwähnte Einrichtung kann von einem ein Antriebssystem umfasst sein, welches seinerseits einen Servomotor umfasst, der mittels der Einrichtung regelbar ist.
  • Die Erfindung stellt ebenfalls ein Verfahren zur Herstellung eines nichtflüchtigen Speichers mit Speicherzugriffsmitteln bereit, insbesondere eines Flash-Speichers. Im Rahmen dieses Verfahrens wird ein Bereich des Speichers mit für einen Zugriff auf den Speicher zumindest teilweise erforderlichen charakteristischen Daten für den Speicher beschrieben. Diese Daten sind dann unter Verwendung des Speicherzugriffsmittels mittels eines externen Datenverarbeitungsmittels auslesbar.
  • Weitere vorteilhaften Ausgestaltungsformen des erfindungsgemäßen Verfahrens ergeben sich aus den abhängigen Verfahrensansprüchen.
  • Durch die erfindungsgemäße Lösung kann der Flash-Speicher in der Anwendung flexibel und zeiteffizient ausgetauscht und in Betrieb genommen werden. Ein auf den Speicher zugreifendes Datenverarbeitungsprogramm kann derart realisiert werden, dass sich dieses selbsttätig für den Datenzugriff konfiguriert.
  • Die 1 und 2 zeigen, wie der erfindungsgemäße Speicher intern zur Ablage der Informationen organisiert sein könnte. 1 zeigt beispielhaft die Verwendung eines sogenannten Magic Words. Zum Auffinden des erfindungsgemäßen Speicherbereiches kann das allgemeine Flash-Kommando „Fast Continuous Read” (0x0B) verwendet werden, welches von allen Flash-Bausteinen mit serieller Schnittstelle (SPI) unterstützt wird. Mittels dieses Kommandos wird der Flash-Speicher solange durchsucht, bis das Magic Word gefunden wurde. Die Adresse, an der das Magic Word liegt, entspricht dann der Anfangsadresse des erfindungsgemäßen Speicherbereiches. Die Versionskennung „FIP-Version” folgt in diesem Beispiel nach dem Magic Word und kann weitere wichtige Daten bzgl. des Speicherbereiches codieren. 2 zeigt beispielhaft wie ein erfindungsgemäßer Speicherbereich mit für den Baustein charakteristischen Daten aufgebaut sein kann. Die Spalten „Beispiel 1” und „Beispiel 2” zeigen die möglichen Inhalte für zwei unterschiedliche Speichertypen an. Bei einem konkreten Speicher ist dann nur eine der beiden Spalten vorhanden. Der Speicherbereich enthält neben Daten zur Speichergröße und bzgl. der Zugriffszeiten auch speicherspezifische Kommandos und Informationen zu Kommandosequenzen. Die Ziffern in den der Kommandosequenzliste zugeordneten Spalten beziehen sich auf die in der Kommandoliste aufgeführten Kommandos. Aus der Kommandosequenzliste ist auch ableitbar in welcher Reihenfolge die Kommandos auszuführen sind. Der in 2 gezeigte Inhalt des Speicherbereiches ist nur beispielhaft zu sehen. Es können auch Speicherbereiche mit nur teilweise hier gezeigtem Inhalt oder auch mit hier nicht gezeigtem Inhalt realisiert werden.

Claims (17)

  1. Nichtflüchtiger Speicher, insbesondere Flash-Speicher, mit Speicherzugriffsmittel zur Realisierung von sequentiellen Speicherzugriffen, dadurch gekennzeichnet, dass der Speicher derart realisiert ist, dass ein Speicherbereich vorgesehen ist, welcher zur Erzeugung von Befehlssequenzen für ein Datenverarbeitungsprogramm erforderliche Daten umfasst, wobei dieser Speicherbereich mittels des Speicherzugriffsmittels zugänglich ist.
  2. Nichtflüchtiger Speicher gemäß Anspruch 1, wobei ein Speicherbereich umfasst ist, aus dem für den Speicher relevante Speicherzugriffszeiten und/oder Speicherbereichsgrößen auslesbar sind.
  3. Nichtflüchtiger Speicher gemäß einem der vorhergehenden Ansprüche, wobei ein Speicherbereich umfasst ist, aus dem für das Speicherzugriffsmittel spezifische Kommandos auslesbar sind.
  4. Nichtflüchtiger Speicher gemäß Anspruch 3, wobei ein Speicherbereich umfasst ist, aus dem für die Kommandos spezifische Kommandosequenzanforderungen auslesbar sind.
  5. Nichtflüchtiger Speicher gemäß einem der vorhergehenden Ansprüche, wobei eine Speicherkennung zur Kennzeichnung des Beginns des Speicherbereiches, in dem die charakteristischen Daten abgespeichert sind, auslesbar ist.
  6. Nichtflüchtiger Speicher gemäß einem der vorhergehenden Ansprüche, wobei eine Versionskennzeichnung mittels welcher die Anordnung der Daten im Speicher ableitbar ist, auslesbar ist.
  7. Nichtflüchtiger Speicher gemäß einem der vorhergehenden Ansprüche, wobei eine Prüfsumme zur Gewährleistung der Datenintegrität auslesbar ist.
  8. Programmiermodul für eine parametrierbare Einrichtung umfassend einen nichtflüchtigen Speicher gemäß einem der vorhergehenden Ansprüche, wobei das Programmiermodul derart realisiert ist, dass Parameter auf dem Speicher abspeicherbar sind.
  9. Parametrierbare Einrichtung zum Betrieb eines Servomotors umfassend einen Speicher gemäß einem der vorhergehenden Ansprüche sowie umfassend ein Mittel zur Verarbeitung der in dem Speicher abgelegten Parameter, wobei das Mittel derart realisiert ist, dass ein Datenzugriff, auf die Parameter realisierbar ist.
  10. Antriebssystem umfassend eine Einrichtung gemäß Anspruch 9 und einen Servomotor, welcher mittels der Einrichtung regelbar ist.
  11. Verfahren zur Herstellung eines nichtflüchtigen Speichers umfassend ein Speicherzugriffsmittel, insbesondere eines Flash-Speichers, wobei ein Bereich des Speichers mit für einen Zugriff auf den Speicher zumindest teilweise erforderlichen Daten des Speichers beschrieben wird, so dass diese Daten unter Verwendung des Speicherzugriffsmittels mittels eines externen Datenverarbeitungsmittels auslesbar sind.
  12. Verfahren gemäß Anspruch 11, wobei der Speicher mit Daten beschrieben wird, welche Speicherzugriffszeiten des Speichers betreffen.
  13. Verfahren gemäß einem der vorhergehenden Verfahrensansprüche, wobei der Speicher mit Daten beschrieben wird, welche für Speicherzugriffsmittel spezifische Kommandos betreffen.
  14. Verfahren gemäß Anspruch 13, wobei der Speicher mit Daten beschrieben wird, welche für die Kommandos spezifische Kommandosequenzanforderungen betreffen.
  15. Verfahren gemäß einem der vorhergehenden Verfahrensansprüche, wobei der Beginn des Speicherbereiches, an dem die Daten abgespeichert werden, mit einer Speicherbereichskennung versehen wird.
  16. Verfahren gemäß einem der vorhergehenden Verfahrensansprüche, wobei der Speicher mit einer Versionskennzeichnung beschrieben wird, aus welcher die Anordnung der Daten im Speicher ableitbar ist.
  17. Verfahren gemäß einem der vorhergehenden Verfahrensansprüche, wobei die Daten unter Verwendung einer Prüfsumme zur Gewährleistung der Eindeutigkeit und Integrität der Daten abgesichert werden.
DE200810061098 2008-12-08 2008-12-08 Nichtflüchtiger Speicher mit Typenkennung Pending DE102008061098A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200810061098 DE102008061098A1 (de) 2008-12-08 2008-12-08 Nichtflüchtiger Speicher mit Typenkennung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200810061098 DE102008061098A1 (de) 2008-12-08 2008-12-08 Nichtflüchtiger Speicher mit Typenkennung

Publications (1)

Publication Number Publication Date
DE102008061098A1 true DE102008061098A1 (de) 2010-06-10

Family

ID=42145684

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200810061098 Pending DE102008061098A1 (de) 2008-12-08 2008-12-08 Nichtflüchtiger Speicher mit Typenkennung

Country Status (1)

Country Link
DE (1) DE102008061098A1 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6462985B2 (en) * 1999-12-10 2002-10-08 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory for storing initially-setting data
DE10152916A1 (de) * 2001-10-26 2003-05-22 Infineon Technologies Ag Informationsenthaltungseinrichtung für Speichermodule und Speicherchips

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6462985B2 (en) * 1999-12-10 2002-10-08 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory for storing initially-setting data
DE10152916A1 (de) * 2001-10-26 2003-05-22 Infineon Technologies Ag Informationsenthaltungseinrichtung für Speichermodule und Speicherchips

Similar Documents

Publication Publication Date Title
DE19882933B4 (de) Flash-Speicher-Unterteilung für Lese-während-Schreiboperationen
EP1101153B1 (de) Verfahren zum applizieren von steuerdaten eines elektronischen kraftfahrzeug-steuergeräts
DE112010000955T5 (de) NAND-Flasharchitektur mit mehrstufiger Zeilendecodierung
DE102006030765A1 (de) Halbleiterspeicherbauelement, Programmier- und Leseverfahren
WO2014079550A1 (de) VERFAHREN ZUR STEUERUNG EINES FLASH-SPEICHERS ZUR MASSENSPEICHERUNG, DER VON EINEM AN EINEN HOST ANSCHLIEßBAREN KOMMUNIKATIONSGERÄT UMFASST IST, UND COMPUTERPROGRAMMPRODUKT ZUR AUSFÜHRUNG DES VERFAHRENS
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE102008061098A1 (de) Nichtflüchtiger Speicher mit Typenkennung
DE102004013493B4 (de) Zugriffs-Verfahren für einen NAND-Flash-Speicherbaustein und ein entsprechender NAND-Flash-Speicherbaustein
DE102004054968A1 (de) Verfahren zum Reparieren und zum Betreiben eines Speicherbauelements
EP2284809A2 (de) Chipkarte und Verfahren zur softwarebasierten Modifikation einer Chipkarte
EP1197854B1 (de) Verfahren zum Starten einer Datenverarbeitungsanlage sowie zugehörige Komponenten
DE102006000883A1 (de) Betriebsverfahren für ein Speicherbauelement
DE102021115365A1 (de) Overhead-reduktion im datenübertragungsprotokoll für nand-speicher
DE60003989T2 (de) Seitenprogrammiermodus für EEPROM und zugehörige Schaltung
EP2003566B1 (de) Verfahren und Steuergerät zum Betreiben eines nichtflüchtigen Speichers, insbesondere zum Einsatz in Kraftfahrzeugen
DE10124278B4 (de) Integrierter Speicher
EP0960362A1 (de) Steuergerät, insbesondere für den einsatz in einem kraftfahrzeug
DE10064649A1 (de) Schnittstelle für einen Speicher und Verfahren zum variablen Konfigurieren einer Speichervorrichtung
DE10107833B4 (de) Speicheranordnung und Verfahren zum Auslesen einer Speicheranordnung
DE10257861A1 (de) Speichersystem mit einem nichtflüchtigen Speicherelement, das direkt ohne Redundanz überschreibt, sowie das dazugehörige Schreibverfahren
DE102016225308A1 (de) Verfahren und Vorrichtung zum Kalibrieren eines Steuergerätes
DE102008061093B4 (de) Verfahren zur Realisierung von Zugriffen auf einen nichtflüchtigen Speicher mittels eines computerausführbaren Programms
DE102015114721A1 (de) Verfahren, Gerät und System zur Datenverarbeitung
DE10128752A1 (de) Verfahren zur Ablage von Daten in einen Speicherbaustein
DE102011010610B4 (de) Schaltung zum Generieren einer Startsequenz und Verfahren zum Generieren einer Startfrequenz

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
R012 Request for examination validly filed
R016 Response to examination communication