DE102011107936B4 - Halbleitervorrichtung und Verfahren für die Ablaufverfolgung elnes Speichers einer Halbleitervorrichtung - Google Patents

Halbleitervorrichtung und Verfahren für die Ablaufverfolgung elnes Speichers einer Halbleitervorrichtung Download PDF

Info

Publication number
DE102011107936B4
DE102011107936B4 DE102011107936.3A DE102011107936A DE102011107936B4 DE 102011107936 B4 DE102011107936 B4 DE 102011107936B4 DE 102011107936 A DE102011107936 A DE 102011107936A DE 102011107936 B4 DE102011107936 B4 DE 102011107936B4
Authority
DE
Germany
Prior art keywords
tracking
memory
memory area
semiconductor device
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102011107936.3A
Other languages
English (en)
Other versions
DE102011107936A1 (de
Inventor
Rainer Troppmann
Frank Noha
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.)
Texas Instruments Deutschland GmbH
Original Assignee
Texas Instruments Deutschland 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 Texas Instruments Deutschland GmbH filed Critical Texas Instruments Deutschland GmbH
Priority to DE102011107936.3A priority Critical patent/DE102011107936B4/de
Priority to US13/366,965 priority patent/US8738969B2/en
Publication of DE102011107936A1 publication Critical patent/DE102011107936A1/de
Application granted granted Critical
Publication of DE102011107936B4 publication Critical patent/DE102011107936B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Verfahren zum Nachverfolgen eines Speichers einer Halbleitervorrichtung (6), wobei der Speicher eine Mehrzahl von Speicherbereichen (2) aufweist, die jeweils eine Mehrzahl von Bit umfassen, wobei die Halbleitervorrichtung (6) ferner einen Etikettspeicher umfasst, der eine Mehrzahl von Nachverfolgungsetiketten (4) umfasst, wobei jedes Nachverfolgungsetikett (4) wenigstens ein Bit umfasst, wobei das Verfahren die folgenden Schritte umfasst: a) Abbilden jedes Speicherbereichs (2) des Speichers auf ein Nachverfolgungsetikett (4), das angibt, ob der jeweilige Speicherbereich (2) für die Nachverfolgung ausgewählt ist oder nicht, b) Zugreifen auf jeden Speicherbereich (2) des Speichers und Lesen des zugewiesenen Nachverfolgungsetiketts (4), und c) Erfassen von Daten der Speicherbereiche, falls das zugewiesene Nachverfolgungsetikett (4) angibt, dass der Speicherbereich (2) für die Nachverfolgung ausgewählt ist, und d) Verwerfen von Daten der Speicherbereiche (2), falls das zugewiesene Nachverfolgungsetikett (4) angibt, dass der Speicherbereich (4) nicht für die Nachverfolgung ausgewählt ist, dadurch gekennzeichnet, dass der Schritt des Zugreifens auf einen jeweiligen Speicherbereich (2) des Speichers und der Schritt des Lesens des zugewiesenen Nachverfolgungsetiketts (4) des Nachverfolgungsspeichers innerhalb eines selben Systemtaktzyklus ausgeführt werden

Description

  • GEBIET DER ERFINDUNG
  • Die Erfindung bezieht sich auf ein Verfahren für die Ablaufverfolgung eines Speichers einer Halbleitervorrichtung und ferner auf eine Halbleitervorrichtung, die einen Speicher und einen Ablaufverfolgungsetikettspeicher umfasst.
  • HINTERGRUND
  • Wegen der komplexen Architektur moderner Halbleitervorrichtungen wie etwa Mikrocontrollern, die aus mehreren System-Mastern bestehen können, die auf eine Mehrzahl verschiedener Speicher parallel und mit hoher Geschwindigkeit zugreifen, kann die Ablaufverfolgung des Speichers der Halbleitervorrichtung beim Ausführen einer Echtzeitspeicher- und -peripherieablaufverfolgung problematisch sein. Insbesondere dann, wenn große Bereiche des Speichers der Halbleitervorrichtung für die Ablaufverfolgung ausgewählt sind, gibt es eine große Menge von Ablaufverfolgungsdaten. Üblicherweise werden Ablaufverfolgungsdaten in einem Ablaufverfolgungspuffer eines internen oder externen Ablaufverfolgungsmoduls gespeichert. Danach werden sie aus dem Ablaufverfolgungspuffer über einen Ablaufverfolgungs-Port übertragen. Die Bandbreite der Schnittstelle des Ablaufverfolgungs-Ports kann insbesondere für die Ablaufverfolgungsleistung in Echtzeitumgebungen ein begrenzender Faktor sein. Dementsprechend ist es notwendig, die Menge der Ablaufverfolgungsdaten zu verringern. Diese Datenverringerung wird üblicherweise durch Vorfiltern der Ablaufverfolgungsdaten ausgeführt. Anhand der Notwendigkeiten der Anwendung wird die Menge der Ablaufverfolgungsdaten, die in dem Ablaufverfolgungspuffer gespeichert werden sollen und die über die Ablaufverfolgungs-Port-Schnittstelle übertragen werden sollen, verringert. Der Vorfilterungsschritt kann Verluste von Ablaufverfolgerungsdaten vermeiden, falls die Menge ungefilterter Daten höher als die Datenübertragungsgeschwindigkeit des verfügbaren Ablaufverfolgungs-Ports ist. Die Ablaufverfolgungs-Datenübertragung muss in einem verfügbaren Zeitfenster, das für diese Übertragung reserviert ist, abgeschlossen werden.
  • Gemäß dem Stand der Technik wird die Ablaufverfolgungsdatenfilterung hauptsächlich durch Definieren eines oder mehrerer Ablaufverfolgungsfenster für einen Adressenbereich des Speichers ausgeführt. Allerdings ist dieses Ablaufverfolgungsdaten-Filterungskonzept wegen Platz- und Gatteranzahlbeschränkungen und der Verschlechterung der Systemleistung, die den Ablaufverfolgungsprozess begleitet, sehr beschränkt. Insbesondere dann, wenn die Daten, deren Ablauf verfolgt werden soll, über eine sehr große Adressenbasis verteilt sind, ist eine sehr grobe Granularität für die Adressenbereiche möglich, d. h. notwendig. Dies erhöht die Menge der Ablaufverfolgungsdaten und führt zu den bereits erwähnten technischen Problemen.
  • Aus der US 7 702 964 B2 und der US 2004/0 030 957 A1 sind weitere Verfahren zur Nachverfolgung eines Speichers einer Halbleitervorrichtung bekannt, die jedoch ebenfalls die vorgenannten Nachteile nicht ausreichend beheben.
  • ZUSAMMENFASSUNG
  • Es ist eine Aufgabe der Erfindung, eine Halbleitervorrichtung und ein Verfahren für die Ablaufverfolgung eines Speichers einer Halbleitervorrichtung zu schaffen, die hinsichtlich der Nachteile des Standes der Technik verbessert sind.
  • Die Aufgabe der Erfindung wird durch die Gegenstände der Ansprüche 1 und 5 gelöst.
  • In Übereinstimmung mit einem Aspekt der Erfindung wird ein Verfahren für die Ablaufverfolgung eines Speichers einer Halbleitervorrichtung geschaffen. Der Speicher kann ein interner oder externer Speicher sein, auf den üblicherweise (aber nicht notwendig) durch eine Zentraleinheit (CPU) der Halbleitervorrichtung, die ein Mikrocontroller oder irgendeine andere integrierte Schaltung sein kann, zugegriffen werden kann. Der Speicher weist eine Mehrzahl von Speicherbereichen auf, wobei jeder Speicherbereich eine Mehrzahl von n Bit umfasst. Diese n Bit können aufeinander folgende Bit sein. Die Speicherbereiche können Standardspeicherblöcke in Übereinstimmung mit der Systemarchitektur der Halbleitervorrichtung sein. Der Speicher kann dann in Blöcken zu n Bit (z. B. 256 Bit) organisiert werden. Ein Zugriff (eine Lese- oder Schreiboperation) kann daraufhin für einen gesamten Block von n Bit ausgeführt werden. Die Nachverfolgungsoperation kann daraufhin ebenfalls für einen gesamten Block von n Bit ausgeführt werden. Jeder der Speicherbereiche des Speichers kann daraufhin auf ein Nachverfolgungsetikett abgebildet werden, wobei dieses Nachverfolgungsetikett angibt, ob der jeweilige Speicher für die Nachverfolgung ausgewählt ist oder nicht. Dementsprechend können die Daten, die in den Speicherbereich geschrieben oder aus dem Speicherbereich gelesen werden, entweder erfasst oder gespeichert oder über eine spezifische Schnittstelle (falls für die Nachverfolgung ausgewählt) übergeben oder verworfen werden.
  • Ferner kann die Halbleitervorrichtung einen Etikettspeicher umfassen, der eine Mehrzahl von Nachverfolgungsetiketten umfasst, wobei jedes Nachverfolgungsetikett wenigstens 1 Bit umfasst. In Übereinstimmung mit einem Aspekt der Erfindung ist das Nachverfolgungsetikett des Etikettspeichers ein Ein-Bit-Feld, wobei vorzugsweise eine logische "1" angibt, dass der jeweilige Speicherbereich für die Nachverfolgung ausgewählt ist, und eine logische "0" angibt, dass der zugewiesene Speicherbereich nicht für die Nachverfolgung ausgewählt ist.
  • In einer Ausführungsform kann ein Nachverfolgungsetikett außerdem mehrere Bit (m Bit) umfassen. Dies kann vorteilhaft für die Fehlercodierung sein. Anstelle eines einzelnen Bit können dann für das Nachverfolgungsetikett eine Mehrzahl von Bit verwendet werden. Falls die Mehrzahl von Bit vier ist, kann ein Einzelfehlerkorrektur-Doppelfehlererfassungs-Schema (SECDEC-Schema) angewendet werden.
  • Ferner kann der Etikettspeicher ein interner oder ein externer Speicher der Halbleitervorrichtung sein.
  • In einer Ausführungsform kann die Cache-Line der Halbleitervorrichtung in 256 Bit = 4×32-Bit-Wörtern organisiert sein. Der Speicherbereich kann ein 256-Bit-Block sein.
  • Falls auf einen jeweiligen Speicherbereich des Speichers zugegriffen (geschrieben oder gelesen) wird, kann das zugewiesene Nachverfolgungsetikett ebenfalls (z. B. in demselben Taktzyklus) gelesen werden. Falls das zugewiesene Nachverfolgungsetikett angibt, dass der Speicherbereich für die Nachverfolgung ausgewählt ist, werden die Daten des Speicherbereichs z. B. an ein Nachverfolgungsmodul oder über ein E/A- oder Bussystem an weitere Nachverfolgungsausrüstung geliefert, die intern oder extern zu der Halbleitervorrichtung sein kann. Falls das zugewiesene Nachverfolgungsetikett des Speicherbereichs angibt, dass der jeweilige Speicherbereich nicht für die Nachverfolgung ausgewählt ist, werden die Daten des Speicherbereichs verworfen.
  • Das Verfahren in Übereinstimmung mit Aspekten der Erfindung ermöglicht das Abbilden eines Nachverfolgungsspeichers auf den Adressenraum des Mikrocontrollers. Zur Nachverfolgung können spezifische Daten in dem Speicher der Halbleitervorrichtung ausgewählt werden. Selbst für Daten, die über einen weiten Bereich des Speichers verteilt sind, kann die Notwendigkeit für die Nachverfolgung großer Adressenbereiche überwunden werden. Die Nachverfolgungskonfiguration kann üblicherweise durch einen System-Master wie die CPU definiert werden. Allerdings kann sie ebenfalls von außerhalb der Halbleitervorrichtung, z. B. über eine JTAG-Austestschnittstelle eines Mikrocontrollers, konfiguriert werden. Das Verfahren in Übereinstimmung mit Aspekten der Erfindung ermöglicht das Zugreifen auf den Speicher einer Halbleitervorrichtung in Übereinstimmung mit der Systemarchitektur. Vorteilhaft kann eine feine Granularität der Datenfilterung sichergestellt werden. Da eine hohe Anzahl von Datennachverfolgungen konfiguriert werden können und diese über den gesamten Speicherinhalt verteilt werden können, kann die Effizienz der Nachverfolgung erhöht werden. Wegen der feinen Granularität des Filterungsprozesses kann dies im Vergleich zu bekannten Nachverfolgungsverfahren, die eine Filterung auf der Grundlage eines Nachverfolgungsfensters ausführen, bei wesentlich geringerem Aufwand erfolgen.
  • In Übereinstimmung mit weiteren Aspekten der Erfindung kann das Zugreifen und Erfassen oder Verwerfen von Daten für die Nachverfolgung auf spezifische Weise organisiert werden, um einen hohen Datendurchsatz zu erzielen. Dementsprechend werden das Zugreifen (Lesen und/oder Schreiben) eines jeweiligen Speicherbereichs des Speichers und das Lesen des zugewiesenen Nachverfolgungsetiketts des Etikettspeichers innerhalb desselben Systemtaktzyklus ausgeführt.
  • Darüber hinaus ist es vorteilhaft, wenn der Schritt des Lieferns oder Verwerfens von Daten aus dem jeweiligen Speicherbereich mit einem Nachverfolgungsetikett, das angibt, dass der zugewiesene Speicherbereich für die Nachverfolgung ausgewählt oder nicht ausgewählt ist, ebenfalls innerhalb eines zweiten einzelnen Systemtaktzyklus ausgeführt wird. Dieser zweite Systemtaktzyklus kommt vorzugsweise nach dem ersten Systemtaktzyklus, der den Schritt des Zugreifens (des Lesens oder Schreibens) des Speicherbereichs und des Lesens des zugewiesenen Nachverfolgungsetiketts umfasst. Vorteilhaft umfasst der zweite Systemtaktzyklus den Schritt des Zuweisens eines (nachfolgenden) Speicherbereichs und des Lesens des zugewiesenen Nachverfolgungsetiketts. Mit anderen Worten, ein nachfolgender Speicherbereich und das zugewiesene Nachverfolgungsetikett können innerhalb desselben Systemtaktzyklus gelesen oder geschrieben werden, der zum Erfassen oder Verwerfen von Nachverfolgungsdaten eines vorhergehenden Taktzyklus verwendet wird.
  • Das Verfahren in Übereinstimmung mit Aspekten der Erfindung fügt eine Latenzzeit oder Verzögerung von nur einem Systemtaktzyklus hinzu. Der zusätzliche Taktzyklus ist nur in dem Anfangszugriff erforderlich. Nachfolgende Zugriffe verbrauchen wegen des Pipeline-Wesens der Implementierung wie oben beschrieben nur einen Zyklus. Dies führt zu einer hohen Nachverfolgungsleistung. Das Verfahren in Übereinstimmung mit Aspekten der Erfindung kann als ein Filterverfahren auf der Grundlage eines Pipeline-Nachverfolgungsspeichers angesehen werden und weist eine sehr niedrige Latenzzeit der Übertragung der nachverfolgten Daten auf. Vorteilhaft ist dieses Verfahren nicht auf schnelle Speicher, bei denen z. B. die Lese- und Vergleichsschritte während desselben Systemtaktzyklus ausgeführt werden können, beschränkt. Das vorteilhafte Verfahren in Übereinstimmung mit Aspekten der Erfindung ist nicht auf einen Zweistufenprozess beschränkt.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung wird eine Halbleitervorrichtung, z. B. ein Mikrocontroller oder irgendeine andere integrierte Schaltung, die einen Speicher, z. B. einen externen oder internen Speicher, umfasst, auf den üblicherweise durch eine CPU zugegriffen werden kann, geschaffen. Der Speicher weist eine Mehrzahl von Speicherbereichen auf, die in Übereinstimmung mit der Systemarchitektur Datenblöcke von n Bit (z. B. 256-Bit-Blöcke) sein können. Ferner kann die Halbleitervorrichtung einen Etikettspeicher umfassen, der eine Mehrzahl von Nachverfolgungsetiketten aufweist, wobei jedes Nachverfolgungsetikett wenigstens ein einzelnes Bit umfasst. Jeder Speicherbereich ist einem Nachverfolgungsetikett zugewiesen, das angibt, ob der jeweilige Speicherbereich für die Nachverfolgung ausgewählt ist oder nicht. Ferner kann die Halbleitervorrichtung in Übereinstimmung mit Aspekten der Erfindung ein Nachverfolgungsmodul für das Empfangen von Daten aus Speicherbereichen, die für die Nachverfolgung ausgewählt sind, umfassen.
  • Vorteilhaft ermöglicht die Halbleitervorrichtung in Übereinstimmung mit Aspekten der Erfindung eine Implementierung des Verfahrens zum Betreiben derselben in Übereinstimmung mit den obenerwähnten Aspekten der Erfindung. Das Standardnachverfolgungsmodul kann beibehalten werden, wobei seine typische Fensterfilterungsfunktionsfähigkeit aber vorteilhaft entfernt ist.
  • In Übereinstimmung mit einem weiteren vorteilhaften Aspekt der Erfindung gibt es ein erstes Register der Halbleitervorrichtung, wobei dieses Register zum vorübergehenden Speichern einer Adresse (z. B. einer binären oder hexadezimalen Speicheradresse) eines ausgewählten Speicherbereichs konfiguriert ist. Ferner kann ein zweites Register vorgesehen sein. Dieses Register ist vorteilhaft zum vorübergehenden Speichern von Daten aus dem ausgewählten Speicherbereich konfiguriert. Zusätzlich kann ein drittes Register vorgesehen sein, das ferner zum vorübergehenden Speichern von Daten des Nachverfolgungsetiketts, das dem ausgewählten Speicherbereich zugewiesen ist, konfiguriert sein kann. In einem weiteren vorteilhaften Aspekt der Erfindung kann die Halbleitervorrichtung zum Weiterleiten der Adresse aus dem ersten Register zu dem Nachverfolgungsmodul konfiguriert sein. Ferner können Daten aus dem zweiten Register zu dem Nachverfolgungsmodul weitergeleitet werden, wenn das Nachverfolgungsetikett (das in dem dritten Register gespeichert ist) angibt, dass der jeweilige Speicherbereich für die Nachverfolgung ausgewählt ist. Der obenerwähnten Implementierung folgend, können die Zyklen Systemtaktzyklen, Zugriffszyklen oder irgendein anderer verfügbarer und geeigneter Taktzyklus der Halbleitervorrichtung sein. Je nach dem Signaltyp können die jeweiligen Taktsignale zum Auslösen der Register für die Adressendaten und das Nachverfolgungsetikett verwendet werden.
  • In Übereinstimmung mit einem weiteren Aspekt der Erfindung kann die Halbleitervorrichtung ferner einen ersten und einen zweiten Multiplexer umfassen. Der erste Multiplexer kann zum Empfangen der Adresse aus dem ersten Register konfiguriert sein und der zweite Multiplexer kann zum Empfangen von Daten aus dem zweiten Register konfiguriert sein. Ferner kann die Halbleitervorrichtung zum Weiterleiten der Adresse von dem ersten Multiplexer zu dem Nachverfolgungsmodul und zum Weiterleiten von Daten von dem zweiten Multiplexer zu dem Nachverfolgungsmodul konfiguriert sein. Falls das Nachverfolgungsetikett in dem dritten Register angibt, dass der jeweilige Speicherbereich für die Nachverfolgung ausgewählt ist, werden die Weiterleitungsschritte ausgeführt. Andererseits kann die Halbleitervorrichtung ferner zum Verwerfen der Adresse und zum Verwerfen von Daten, falls das Nachverfolgungsetikett in dem dritten Register angibt, dass der jeweilige Speicherbereich nicht für die Nachverfolgung ausgewählt ist, konfiguriert sein. Diese Konfiguration der Halbleitervorrichtung ermöglicht die Implementierung eines Eintaktzyklus-Betriebsverfahrens. Das erste Register und das zweite Register umfassen die Adresse und die Daten von einem ersten Taktzyklus. Das Nachverfolgungsetikett in dem dritten Register gibt an, ob Daten und Adresse zu erfassen oder zu verwerfen sind oder nicht. Vorteilhaft können Speicher von Speichervorrichtungen mit einer hohen Speicherfähigkeit mit feiner Granularität nachverfolgt werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Weitere Aufgaben der Erfindung gehen aus der folgenden Beschreibung beispielhafter Ausführungsformen der Erfindung mit Bezug auf die beigefügten Zeichnungen hervor, worin:
  • 1 schematisch eine Abbildung zwischen einem Speicher und einem Nachverfolgungsspeicher darstellt,
  • 2 ein Eintaktzyklus-Auslesen eines Speichers und eines Nachverfolgungsspeichers darstellt,
  • 3 eine Tabelle ist, die den Eintaktzyklus-Ausleseprozess für spezifische beispielhafte Taktzyklen darstellt, und
  • 4 ein Systemblockschaltplan ist, der eine Implementierung des Speichers, des Nachverfolgungsspeichers und des Nachverfolgungsmoduls in einer Halbleitervorrichtung in Übereinstimmung mit einer Ausführungsform der Erfindung darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG EINER BEISPIELHAFTEN AUSFÜH
  • RUNGSFORM
  • 1 stellt einen Abschnitt eines Datenspeichers und eines Etikettspeichers in Übereinstimmung mit einer Ausführungsform der Erfindung dar. Der Datenspeicher weist eine Mehrzahl von Speicherbereichen 2 auf, die jeweils eine Datenspeicherbreite von n Bit aufweisen. Die Datenspeicherbreite können 256 Bit sein. Die jeweilige Hexadezimalspeicheradresse ist für jeden der Speicherbereiche 2 in dem Feld "Adresse" bezeichnet. Jedem Speicherbereich 2 ist ein Nachverfolgungsetikett 4 eines Etikettspeichers zugewiesen. In dieser Ausführungsform umfasst das Nachverfolgungsetikett 4 m Bit. In einer Ausführungsform kann m 1 sein. In einer weiteren Ausführungsform kann m 4 sein. Die Verwendung von vier Bit ermöglicht eine Fehlerkorrektur eines Einbitfehlers. Hinsichtlich der Anzahl für das Nachverfolgungsetikett verwendeter Bit sind die durch das Etikett angegebenen Informationen entweder, dass der jeweilige Speicherbereich, dem das Etikett zugewiesen ist, nachverfolgt (d. h. erfasst) werden sollte oder nicht nachverfolgt (d. h. verworfen) werden sollte.
  • Falls der Nachverfolgungsetikettwert "0" ist, ist der zugewiesene Speicherbereich 2 nicht für die Nachverfolgung ausgewählt (Nachverfolgung gesperrt). Falls der Nachverfolgungsetikettwert "1" ist, ist der zugewiesene Speicherbereich 2 für die Nachverfolgung ausgewählt (Nachverfolgung freigegeben).
  • 2 zeigt einen Abschnitt eines Speichers und 3 zeigt einen Zeitablaufplan eines Zugriffs auf den in 2 gezeigten Speicher in Übereinstimmung mit einer Ausführungsform der Erfindung.
  • In einem ersten Zyklus n, der ein Systemtaktzyklus, ein Zugriffszyklus oder irgendein anderer geeigneter Taktzyklus sein kann, der in einer Halbleitervorrichtung wie z. B. in einem Mikrocontroller verfügbar ist, wird bei einem Adressenbus die Speicheradresse 0×08000040 von Daten eines ersten Speicherbereichs (durch "A" dargestellt) bereitgestellt.
  • In einem zweiten (nachfolgenden) Taktzyklus n + 1 wird auf den Speicherbereich "A" zugegriffen. Ein Zugriff kann eine Lese- oder Schreiboperation des Speicherbereichs "A" sein. In demselben Taktzyklus (dem zweiten Taktzyklus n + 1), in dem auf den Speicherbereich "A" zugegriffen wird, wird das Nachverfolgungsetikett 4 gelesen, das dem Speicherbereich "A" zugewiesen ist. Der Wert dieses Nachverfolgungsetiketts ist "1". Außerdem wird in dem zweiten Taktzyklus n + 1 die Adresse 0×08000060 für den Speicherblock "B" angewendet.
  • In einem (nachfolgenden) dritten Taktzyklus n + 2 wird auf den Speicherbereich 2 mit der Adresse 0×08000060, der die Daten "B" umfasst, zugegriffen (gelesen oder geschrieben) und wird das zugewiesene Nachverfolgungsetikett 4, das den Nachverfolgungsetikettwert "0" umfasst, ausgelesen. Als weitere Operation während des dritten Taktzyklus n + 2 werden die Daten "A" des Speicherbereichs 2 mit der Adresse 0×08000040 erfasst, da das Nachverfolgungsetikett 4, das "A" zugewiesen ist, einen Bitwert "1" aufweist, der angibt, dass der jeweilige Speicherbereich 2 (wie im Zyklus n + 1 in 3 bestimmt wurde) für die Nachverfolgung ausgewählt ist.
  • Diese Prozedur wird über alle oder über ausgewählte Speicherbereiche 2 des Datenspeichers fortgesetzt.
  • In einem weiteren Taktzyklus n + 3 wird auf Daten "C" des Speicherbereichs 2 mit der Adresse 0×08000080 zugegriffen und wird das zugewiesene Nachverfolgungsetikett 4, das einen Wert "1" umfasst, ausgelesen. Da das Nachverfolgungsetikett 4 des Speicherbereichs 2, das die Daten "B" umfasst, auf "0" gesetzt ist, wird der Dateninhalt, d. h. "B", während des Taktzyklus n + 3 wie in 3 gezeigt verworfen.
  • Da die entsprechenden Nachverfolgungsetiketten auf "1" eingestellt sind, werden die Daten "C" und die Daten "D" in den Taktzyklen n + 4 bzw. n + 5 erfasst.
  • Jeder Taktzyklus kann mit einer steigenden oder mit einer fallenden Flanke/Rampe beginnen. Durch eine doppelte Rampe ausgelöste Zugriffe sind ebenfalls möglich. Dies würde den Datendurchsatz um einen Faktor zwei erhöhen.
  • 4 ist ein Systemblockschaltplan einer elektronischen Halbleitervorrichtung 6 in Übereinstimmung mit einer Ausführungsform der Erfindung. Vorzugsweise ist die elektronische Halbleitervorrichtung 6 ein Mikrocontroller. Die Halbleitervorrichtung 6 umfasst einen Speicher oder Datenspeicher, der mit einem Steuerport gekoppelt ist, der Lese- und Schreibinformationen (R/W), Bitfreigabeinformationen (Bitfreigabe) und weitere Bitinformationen von einer Systemschnittstelle der Halbleitervorrichtung 6 (System-Master/Austesten, I/F) empfängt. Außerdem empfängt der Datenspeicher Adresseninformationen (Adresse). Zum Nachverfolgen des Speichers werden die jeweiligen Speicherbereiche, z. B. 256-Bit-Blöcke des Speichers, auf Nachverfolgungsetiketten 4 des Etikettspeichers (als solcher benannt) abgebildet. Es können Einbitnachverfolgungsetiketten 4 verwendet werden. Anstelle des Einbitwerts kann ein mehrbitcodierter Wert verwendet werden, um z. B. Sicherheitsanforderungen durch Anwendung von Fehlercodierungsund Fehlerkorrekturschemata usw. zu erfüllen. Die Nachverfolgungsauswahl oder -konfiguration ist über eine Konfigurationsschnittstelle (Konfigurations-I/F) mit dem Nachverfolgungsetikettspeicher gekoppelt. Zur Identifizierung der Speicherbereiche 2, die für die Nachverfolgung ausgewählt sind, empfängt der Etikettspeicher außerdem über den Port "Adresse" die jeweilige Datenblockadresse.
  • Während eines ersten Taktzyklus werden Adresseninformationen in einem ersten Register 8 gespeichert. Die Daten des entsprechenden Speicherbereichs 2 des Speichers werden in einem zweiten Register 10 gespeichert. Nachverfolgungsinformationen, d. h. die Daten des Nachverfolgungsetiketts 4, das dem jeweiligen Speicherbereich 2 zugewiesen ist, werden in einem dritten Register 12 gespeichert. Dieser Schritt ist in 4 schematisch bei der Strichlinie, die einen oberen Teil der Register 8, 10, 12 von ihrem unteren Teil trennt, durch "Zyklus 1" dargestellt.
  • In einem zweiten Zyklus werden die Adresseninformationen und die Daten aus dem Speicherbereich 2 zu einem ersten und zu einem zweiten Multiplexer 14 und 16 und weiter zu den Registern 18, 20 des Nachverfolgungsmoduls weitergeleitet. Die Halbleitervorrichtung 6 ist dafür konfiguriert zu entscheiden, ob Daten- und Adresseninformationen zu dem Nachverfolgungsmodul (als solches genannt) weitergeleitet werden oder ob diese Informationen verworfen werden. Dies wird unter Verwendung der Informationen in dem Nachverfolgungsetikett 4, das vorübergehend in dem dritten Register 12 gespeichert ist, ausgeführt. Dieser zweite Zyklus ist in 4 durch "Zyklus 2" dargestellt. Die Datenübertragung zwischen den Registern 8, 10, 12 zu den Registern des Nachverfolgungsmoduls über die Multiplexer 14 und 16 ist durch die zwei horizontalen Strichlinien dargestellt. Die Verbindungen "Nachverfolgung" und "keine Nachverfolgung" der Multiplexer 14, 16 geben an, ob Daten- und Adresseninformationen zu dem Nachverfolgungsmodul weitergeleitet oder im Fall von "keine Nachverfolgung" verworfen werden. Falls die Nachverfolgungsetikettinformationen in dem dritten Register 12 angeben, dass die Daten für die Nachverfolgung ausgewählt sind, werden die jeweiligen Informationen (einschließlich der Adresse) zu dem Nachverfolgungsmodul weitergeleitet. Nachverfolgungsdaten werden über dieses Modul zu der Nachverfolgungsschnittstelle (Nachverfolgungs-I/F) übertragen. Die Nachverfolgungsschnittstelle kann eine Standard-JTAG-Austestschnittstelle oder irgendeine andere Art einer schnellen Schnittstelle sein. Die weitere Konfiguration des Nachverfolgungsmoduls kann über die Konfigurationsschnittstelle (Konfigurations-I/F) ausgeführt werden.

Claims (5)

  1. Verfahren zum Nachverfolgen eines Speichers einer Halbleitervorrichtung (6), wobei der Speicher eine Mehrzahl von Speicherbereichen (2) aufweist, die jeweils eine Mehrzahl von Bit umfassen, wobei die Halbleitervorrichtung (6) ferner einen Etikettspeicher umfasst, der eine Mehrzahl von Nachverfolgungsetiketten (4) umfasst, wobei jedes Nachverfolgungsetikett (4) wenigstens ein Bit umfasst, wobei das Verfahren die folgenden Schritte umfasst: a) Abbilden jedes Speicherbereichs (2) des Speichers auf ein Nachverfolgungsetikett (4), das angibt, ob der jeweilige Speicherbereich (2) für die Nachverfolgung ausgewählt ist oder nicht, b) Zugreifen auf jeden Speicherbereich (2) des Speichers und Lesen des zugewiesenen Nachverfolgungsetiketts (4), und c) Erfassen von Daten der Speicherbereiche, falls das zugewiesene Nachverfolgungsetikett (4) angibt, dass der Speicherbereich (2) für die Nachverfolgung ausgewählt ist, und d) Verwerfen von Daten der Speicherbereiche (2), falls das zugewiesene Nachverfolgungsetikett (4) angibt, dass der Speicherbereich (4) nicht für die Nachverfolgung ausgewählt ist, dadurch gekennzeichnet, dass der Schritt des Zugreifens auf einen jeweiligen Speicherbereich (2) des Speichers und der Schritt des Lesens des zugewiesenen Nachverfolgungsetiketts (4) des Nachverfolgungsspeichers innerhalb eines selben Systemtaktzyklus ausgeführt werden
  2. Verfahren nach Anspruch 1, wobei eine Anzahl von Bit des Speicherbereichs (2) gleich einer einfachen oder mehrfachen Anzahl von Bit eines Standarddatenblocks in Übereinstimmung mit der Architektur der Halbleitervorrichtung (6) ist.
  3. Verfahren nach Anspruch 1 oder 2, wobei der Schritt des Erfassens oder Verwerfens von Daten des jeweiligen Speicherbereichs (2) mit einem Nachverfolgungsetikett (4), das angibt, dass der zugewiesene Speicherbereich für die Nachverfolgung ausgewählt ist oder nicht, in Bezug auf den Taktzyklus, in dem auf den Speicherbereich (2) und auf das zugewiesene Nachverfolgungsetikett (4) zugegriffen wird, in einem folgenden oder in dem nachfolgenden Systemtaktzyklus ausgeführt wird.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei jedes Nachverfolgungsetikett (4) des Etikettspeichers mehrere Bit umfasst.
  5. Halbleitervorrichtung (6), die einen Speicher mit einer Mehrzahl von Speicherbereichen, die eine Mehrzahl von Bit umfassen, und einen Nachverfolgungsspeicher mit einer Mehrzahl von Nachverfolgungsetiketten, die jeweils wenigstens ein Bit umfassen, umfasst, wobei jeder Speicherbereich (2) einem Nachverfolgungsetikett (4) zugewiesen ist, das angibt, ob der jeweilige Speicherbereich (2) zum Nachverfolgen ausgewählt ist oder nicht, wobei die Halbleitervorrichtung (6) ferner ein Nachverfolgungsmodul zum Empfangen von Daten von Speicherbereichen, die für die Nachverfolgung ausgewählt sind, umfasst, und wobei die Halbleitervorrichtung ferner umfasst: ein erstes Register (8), das zum vorübergehenden Speichern einer Adresse eines ausgewählten Speicherbereichs (2) konfiguriert ist, ein zweites Register (10), das zum vorübergehenden Speichern von Daten des ausgewählten Speicherbereichs (2) konfiguriert ist, und ein drittes Register (12), das zum vorübergehenden Speichern von Daten des Nachverfolgungsetiketts (4), das dem ausgewählten Speicherbereich (2) zugewiesen ist, konfiguriert ist, und wobei bei der die Halbleitervorrichtung (6) ferner zum Weiterleiten der Adresse von dem ersten Register (8) zu dem Nachverfolgungsmodul und zum Weiterleiten von Daten von dem zweiten Register (10) zu dem Nachverfolgungsmodul, falls das Nachverfolgungsetikett (4) angibt, dass der jeweilige Speicherbereich (2) für die Nachverfolgung ausgewählt ist, konfiguriert ist, dadurch gekennzeichnet, dass die Halbleitervorrichtung ferner einen ersten und einen zweiten Multiplexer (14, 16) umfasst, wobei der erste Multiplexer (14) zum Empfangen der Adresse von dem ersten Register (8) konfiguriert ist und wobei der zweite Multiplexer (16) zum Empfangen von Daten von dem zweiten Register (10) konfiguriert ist, wobei die Halbleitervorrichtung (6) ferner zum Weiterleiten der Adresse von dem ersten Multiplexer (14) zu dem Nachverfolgungsmodul und zum Weiterleiten von Daten von dem zweiten Multiplexer (16) zu dem Nachverfolgungsmodul, falls das Nachverfolgungsetikett (4) in dem dritten Register (12) angibt, dass der jeweilige Speicherbereich für die Nachverfolgung ausgewählt, konfiguriert ist, und wobei die Halbleitervorrichtung (6) ferner zum Verwerfen der Daten für die Nachverfolgung, falls das Nachverfolgungsetikett (4) in dem dritten Register (12) angibt, dass der jeweilige Speicherbereich (2) nicht für die Nachverfolgung ausgewählt ist, konfiguriert ist.
DE102011107936.3A 2011-07-19 2011-07-19 Halbleitervorrichtung und Verfahren für die Ablaufverfolgung elnes Speichers einer Halbleitervorrichtung Active DE102011107936B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102011107936.3A DE102011107936B4 (de) 2011-07-19 2011-07-19 Halbleitervorrichtung und Verfahren für die Ablaufverfolgung elnes Speichers einer Halbleitervorrichtung
US13/366,965 US8738969B2 (en) 2011-07-19 2012-02-06 Semiconductor device and method for tracing a memory of a semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102011107936.3A DE102011107936B4 (de) 2011-07-19 2011-07-19 Halbleitervorrichtung und Verfahren für die Ablaufverfolgung elnes Speichers einer Halbleitervorrichtung

Publications (2)

Publication Number Publication Date
DE102011107936A1 DE102011107936A1 (de) 2013-01-24
DE102011107936B4 true DE102011107936B4 (de) 2015-07-23

Family

ID=47502034

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011107936.3A Active DE102011107936B4 (de) 2011-07-19 2011-07-19 Halbleitervorrichtung und Verfahren für die Ablaufverfolgung elnes Speichers einer Halbleitervorrichtung

Country Status (2)

Country Link
US (1) US8738969B2 (de)
DE (1) DE102011107936B4 (de)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030957A1 (en) * 2002-08-12 2004-02-12 Sitaram Yadavalli Various methods and apparatuses to track failing memory locations to enable implementations for invalidating repeatedly failing memory locations
US7702964B2 (en) * 2004-05-11 2010-04-20 Qualcomm Incorporated Compression of data traces for an integrated circuit with multiple memories

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060277435A1 (en) * 2005-06-07 2006-12-07 Pedersen Frode M Mechanism for storing and extracting trace information using internal memory in microcontrollers
DE102007006508B4 (de) * 2007-02-09 2012-11-15 Texas Instruments Deutschland Gmbh Mikrocontroller mit Speicher-Trace-Modul
US8489919B2 (en) * 2008-11-26 2013-07-16 Arizona Board Of Regents Circuits and methods for processors with multiple redundancy techniques for mitigating radiation errors

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030957A1 (en) * 2002-08-12 2004-02-12 Sitaram Yadavalli Various methods and apparatuses to track failing memory locations to enable implementations for invalidating repeatedly failing memory locations
US7702964B2 (en) * 2004-05-11 2010-04-20 Qualcomm Incorporated Compression of data traces for an integrated circuit with multiple memories

Also Published As

Publication number Publication date
US8738969B2 (en) 2014-05-27
DE102011107936A1 (de) 2013-01-24
US20130024733A1 (en) 2013-01-24

Similar Documents

Publication Publication Date Title
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
DE69215538T2 (de) Verfahren zur verbesserung von partiellen streifenschreib-operationen einer speicherplattenanordnung
DE4402796C2 (de) Verbesserte Redundanzanalysiereinrichtung für eine automatische Speichertestvorrichtung
EP1720100B1 (de) Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit
DE60132726T2 (de) Speicherzugriffschaltung und Speicherzugriffsteuerungsschaltung
DE4129251A1 (de) Datenloesch- und datenschreibschaltkreis zur verwendung in einer integrierten mikrocomputer-schaltkreiseinrichtung
DE69029815T2 (de) Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung
DE2813080A1 (de) Einrichtung zur speicheradressierung
DE69118810T2 (de) Chipkarte
DE3634352A1 (de) Verfahren und anordnung zum testen von mega-bit-speicherbausteinen mit beliebigen testmustern im multi-bit-testmodus
DE112007003412T5 (de) Prüfgerät und elektronische Vorrichtung
DE102004012279B3 (de) Verfahren und Vorrichtung zum Speicherselbsttest von eingebetteten Speichern in Halbleiterchips
DE112004000694T5 (de) Ein Verfahren und eine Vorrichtung zur Verbesserung der Multi-CPU-Systemleistung für Speicherzugriffe
DE102007006508B4 (de) Mikrocontroller mit Speicher-Trace-Modul
DE102016201340A1 (de) Konfigurierung serieller Geräte
DE102011107936B4 (de) Halbleitervorrichtung und Verfahren für die Ablaufverfolgung elnes Speichers einer Halbleitervorrichtung
DE10134654A1 (de) Verfahren zur Fehleranalyse von Speichermodulen
DE112021004729T5 (de) Dreifarben-bitmap-array zur garbage-collection
EP1567938B1 (de) Speichersystem mit mehreren speichercontrollern and verfahren zu deren synchronisierung
DE4114545C2 (de) Schaltungsanordnung für einen Mikrocomputer
DE4124414C2 (de) Unterbrechungsanordnung
DE102017108216A1 (de) Steuersystem und Verfahren des Speicherzugriffs
DE19720168A1 (de) Steuerung für einen Cachespeicher
DE102017116304B4 (de) Steuerungssystem und verfahren zum durchführen einer operation
DE102008053201A1 (de) Histogrammerzeugung mit Mehrfachinkrement-Lese-Modifizier-Schreib-Zyklen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R082 Change of representative

Representative=s name: ZELLER, ANDREAS, DE