-
QUERVERWEIS
-
Die vorliegende Anmeldung beansprucht die Priorität gemäß 35 USC 119 der provisorischen
US-Patentanmeldung SN 62/468,198 mit dem Titel „Ultraminiature application-specific integrated circuit apparatus, system and methods“, eingereicht am 7. März 2017, deren Offenbarung hierin in ihrer Gesamtheit durch Bezugnahme eingeschlossen ist.
-
RECHTE DER REGIERUNG
-
Die vorliegende Erfindung wurde mit staatlicher Unterstützung gemäß Vertragsnummer HR0011-15-C-0010 gemacht, die von der Defense Advanced Research Projects Agency (Organisation für Forschungsprojekte des Verteidigungsministeriums der Vereinigten Staaten) gewährt wurde. Die Regierung hat bestimmte Rechte an der Erfindung.
-
TECHNISCHES GEBIET
-
Ausgestaltungen der vorliegenden Offenbarung beziehen sich allgemein auf integrierte Schaltungen wie anwendungsspezifische integrierte Schaltungen (ASICs). Spezieller, eine Ausgestaltung betrifft Ultra-Miniatur-ASIC-Bauelemente und Systeme sowie Verfahren zum Programmieren und Prüfen solcher Bauelemente und Systeme. Noch spezifischer, Aspekte der vorliegenden Ausgestaltung betreffen Miniatur-RFID-(Radiofrequenzidentifikation)-Komponenten für Markierung und/oder Verfolgung.
-
ZUSAMMENFASSUNG
-
Es werden hierin verschiedene Verfahren, Vorrichtungen und Systeme für eine integrierte Schaltung bereitgestellt.
-
In einer Ausgestaltung wird ein Verfahren zur Herstellung einer integrierten Schaltung erörtert. Das Verfahren beinhaltet Schritte wie die Folgenden: Erzeugen eines Wafers mit mehreren Chips, wobei jeder Chip seine eigene integrierte Schaltung enthält, deren Integrität zu verifizieren ist; Herstellen von Prüfschaltkreisen einschließlich mehrerer Instanzen von TAP-(Test Access Port)-Schaltkreisen, die sich in einem Rand zwischen Chips des Wafers befinden; Herstellen, auf dem Wafer, einer ersten Reihe von Prüfpads und Powerpads pro Gruppe von Chips auf dem Wafer, wobei die Reihe von Prüfpads und Powerpads elektrisch verbunden ist und von allen Chips in der Gruppe gemeinsam genutzt wird; mehrere Prüfpads und mehrere Powerpads sind mit einer Kette von mehreren Instanzen der TAP-Schaltungen verbunden, um Betriebsstrom und Prüfdaten zuzuführen, um eine Integrität jedes Chip in dieser Gruppe von Chips zu verifizieren; Vereinzeln der Chips zum Erzeugen jeder Instanz der integrierten Schaltung, und während des Vereinzelungsprozesses wird der Prüfschaltkreis, einschließlich der mehreren im Rand zwischen den Chips befindlichen Instanzen von TAP-Schaltungen, zerstört.
-
Es werden viele Ausgestaltungen erörtert.
-
Figurenliste
-
Die Zeichnungen beziehen sich auf einige Ausgestaltungen des hierin bereitgestellten Designs. Dabei zeigt:
- 1 ein Diagramm einer Ausgestaltung einer Slice-Gruppe von Chips auf einem Wafer, wobei jeder auf dem Wafer in dieser Gruppe hergestellte Chip geografisch keine Prüfpads oder andere Eingangspads hat, die auf dem Chip selbst instanziiert werden; und stattdessen jeder Chip und sein assoziierter TAP-Schaltkreis ihre(n) Prüfsignale und Strom von der einen Reihe von Prüf- und Powerpads pro Gruppe Chips auf dem Wafer während des Herstellungsprüfprozesses erhalten;
- 2 ein Diagramm einer Ausgestaltung einer beispielhaften Instanz einer TAP-Schaltung, die sowohl OTP-(One Time Programming)-Schaltkreise als auch Scan-Prüfschaltkreise enthält;
- 3 ein Diagramm einer Ausgestaltung eines externen Prüfers zum Zuführen von Daten und zum Herstellen von Verbindungen, so als wenn dieser externe Prüfer einen einzelnen Chip prüfen würde; dieser externe Prüfer prüft jedoch die gesamte Slice-Gruppe von Chips mit im Wesentlichen einem selben Satz von Daten und Verbindungen, so als wenn dieser externe Prüfer einen einzigen Chip prüfen würde;
- 4 ein Diagramm einer Ausgestaltung eines beispielhaften Scan-Prüftiming zum Einschieben von Scan-Prüfwörtern und Ausscannen der resultierenden Daten;
- 5 ein Diagramm einer Ausgestaltung einer beispielhaften einmaligen Programmierung von eindeutigen Daten in der Daisy-Chain von Chips und assoziierten TAP-Schaltungen in der Slice-Gruppe;
- 6 ein Diagramm einer Ausgestaltung von beispielhaften Zyklen und Zeiten von einmaliger Programmierung in einem Chip und seiner zugehörigen TAP-Schaltung;
- 7 ein Diagramm einer Ausgestaltung eines beispielhaften Systems für verbesserte Waferflächenausnutzung für Chips durch Anwenden skalierbarer Verfahren über eine parallele Prüf- und Programmierungshierarchie von Prüfchargen und Slice-Gruppen von Chips in einer Prüfcharge;
- 8 eine Übersicht einer Ausgestaltung einer beispielhaften Prüferzeit, die zum Programmieren eines Slice von OTPs in Abhängigkeit von Slice-Größe und Prüferfrequenz benötigt wird;
- 9 eine Tabelle einer Ausgestaltung einer beispielhaften Anzahl von Prüfergruppen pro Wafer unter Verwendung von unterschiedlichen Chips pro Gruppe;
- 10 ein Diagramm einer Ausgestaltung eines beispielhaften Slice-Programmierungswortformats für jedes OTP-Bit;
- 11 ein Diagramm einer Ausgestaltung einer beispielhaften Instanz einer anwendungsspezifischen integrierten Schaltung mit Radiofrequenz-Identifikationskomponenten und Schaltkreisen für Markierung/Verfolgung, wobei die ASIC ein unklonierbares Passwort in ihrem Speicher hat, weil die hergestellte ASIC nach einem Vereinzelungsprozess keine Prüfpads oder Powerpads geografisch auf der vereinzelten ASIC hat, mit denen Leitungen eines externen Prüfers verbunden werden könnten;
- 12 eine Ausgestaltung von einem oder mehreren Computergeräten, die Teil des Systems zur Herstellung einer integrierten Schaltung wie hierin erörtert sein kann.
-
Während das Design verschiedenen Modifikationen, Äquivalenten und alternativen Formen unterliegt, wurden in den Zeichnungen beispielhaft spezifische Ausgestaltungen davon gezeigt, die nunmehr ausführlich beschrieben werden. Es ist zu verstehen, dass das Design nicht auf die bestimmten offenbarten Ausgestaltungen begrenzt ist, sondern dass die Erfindung im Gegenteil alle Modifikationen, Äquivalente und alternativen Formen anhand der spezifischen Ausgestaltungen abdecken soll.
-
BESCHREIBUNG
-
In der nachfolgenden Beschreibung können zahlreiche spezifische Details dargelegt sein, wie Beispiele für spezifische Datensignale, benannte Komponenten, Anzahl von Frames usw., um ein tiefgreifendes Verständnis des vorliegenden Designs zu vermitteln. Es ist jedoch für die durchschnittliche Fachperson offensichtlich, dass das vorliegende Design auch ohne diese spezifischen Details umgesetzt werden kann. In anderen Fällen wurden gut bekannte Komponenten oder Verfahren nicht im Detail, sondern in einem Blockdiagramm beschrieben, um eine unnötige Verschleierung des vorliegenden Designs zu vermeiden. Ferner sind spezifische numerische Referenzen wie das erste Computergerät möglich. Die spezifische numerische Referenz ist jedoch nicht als eine buchstäbliche sequentielle Reihenfolge zu interpretieren, sondern stattdessen so zu interpretieren, dass sich das erste Computergerät vom zweiten Computergerät unterscheidet. So können die spezifischen dargelegten Details lediglich beispielhaft sein. Die spezifischen Details können abweichen und trotzdem als in Wesen und Umfang des vorliegenden Designs fallend angesehen werden. Der Begriff „gekoppelt“ wird so definiert, dass er entweder direkt mit der Komponente oder indirekt durch eine andere Komponente mit der Komponente verbunden bedeutet.
-
Im Allgemeinen werden eine oder mehrere Ausgestaltungen einer integrierten Schaltung mit einem einmalig programmierten Speicher erörtert, der keine Eingangspins oder Stromeingangspins hat. Keiner der auf dem Wafer geografisch hergestellten Chips hat Prüfpads oder sonstige Eingangspads, die auf dem Chip selbst instanziiert werden; stattdessen empfängt er seine(n) Prüfsignale und Strom von einer Reihe von Prüfpads und Powerpads pro Gruppe von Chips auf dem Wafer während des Herstellungs- und Prüfprozesses. Ebenso hat eine von dem Chip hergestellte integrierte Schaltung eine induktiv-kapazitive Schaltung zum drahtlosen Empfangen ihres Betriebsstroms während ihres Betriebs von einem externen drahtlosen Leser, weil die Reihe von Prüfpads und Powerpads während eines Chipvereinzelungsprozesses abgetrennt wurde.
-
1 illustriert ein Diagramm einer Ausgestaltung einer Slice-Gruppe von Chips auf einem Wafer, wobei keiner der auf dem Wafer in dieser Gruppe hergestellten Chips geografisch Prüfpads oder andere Eingangspads hat, die auf dem Chip selbst instanziiert werden; und stattdessen empfängt jeder Chip und sein assoziierter TAP-(Test Access Port)-Schaltkreis seine(n) Prüfsignale und Strom von der einen Reihe von Prüf- und Powerpads pro Gruppe von Chips auf dem Wafer während des Herstellungs- und Prüfprozesses.
-
Mit Bezug auf 1, die beispielhafte Slice-Gruppe 100 in 1 hat die folgenden Attribute: acht Spalten und sechzehn Reihen von Chips, was einhundertachtundzwanzig Chips pro Slice-Gruppe ergibt; vierundsechzig TAP-Schaltungen (zwei Chips pro Deserialisierer in einer TAP-Schaltung), die sich zwischen den Chips befinden und zu einer seriellen Kette geschaltet sind; und eine Reihe von fünf Prüfpads - Shift_In, Shift_Out, Shift-En, Shift_Clk, SMode (zum Auswählen von Scan-Prüfung oder OTP), und sechs Powerpads - vPP, vQQ, vRR, vDD, zwei für vSS. In der Figur ist jede dunkle Linie zwischen dem rechten und linken benachbarten Chip eine TAP-Schaltung. Die TAP-Schaltung liefert Prüfdaten zu diesen benachbarten Chips und sendet dann die Ausgabedaten parallel auf ihrem eigenen Datenbus. Die Sonden des externen Prüfers können mit den beispielhaften fünf Prüfpads sowie mit den beispielhaften sechs Powerpads in Kontakt kommen.
-
Der Wafer wird mit mehreren Chips erzeugt. Die Integrität jedes Chips muss nach der Herstellung mit den TAP-Schaltungen verifiziert werden. Demgemäß wird der Prüfschaltkreis, einschließlich mehrerer Instanzen des TAP-(Test Access Port)-Schaltkreises, in einem/r Rand/Straße zwischen Chips des Wafers hergestellt. Man beachte, dass die Integrität des gesamten Wafers oder eines Teils des Wafers überprüft werden kann. Der Prüfschaltkreis ist so konfiguriert, dass er die Programmierung von Inhalt in einen internen Festwertspeicher auf jedem Chip unterstützt und die Prüfung jedes Chips auf Waferebene unterstützt.
-
Auch hier befinden sich die TAP-Schaltungen geografisch in den Rändern zwischen Chips auf dem Wafer. Jede Slice-Gruppe ist eng in die schmalen Ränder zwischen Chips in der Slice-Gruppe gepackt. Die schmalen Ränder erlauben eine Platzierung von mehr Chips auf einem Wafer derselben Größe. So ist eine Vielzahl von TAP-Schaltungen seriell in dem Slice verbunden. Der Schaltkreis der TAP-Schaltungen befindet sich in den Rändern zwischen Chips (z. B. in ansonsten unbenutztem Raum). Der erste und letzte TAP-Controller in der seriellen Kette sind mit der Reihe von Prüfpads verbunden.
-
Es gibt zwei Gründe zum Positionieren der TAP-Schaltungen in den Rändern:
- 1) Es besteht die Möglichkeit, einen Deserialisierer in einer TAP-Schaltung gemeinsam zu nutzen, um mehr als eine OTP (in unterschiedlichen Chips) zu programmieren. Die Vorteile sind:
- a. Es können mehrere OTPs gleichzeitig programmiert werden; somit wird die Gesamtprogrammierzeit auf der Waferebene reduziert.
- b. Die Länge des Slice-Programmierworts (und somit die Verschiebungszeit) wird reduziert, was direkt proportional zur Anzahl von Deserialisierern in der Kette ist.
- c. Weniger Deserialisierer bedeutet weniger Stromverbrauch, was eine höhere Prüfer-Taktfrequenz zulassen könnte.
- 2) Eine parallele Schnittstelle in den Chip erschwert es einem Angreifer, erfolgreich in die OTP eines vereinzelten Chips zu hacken, weil wenigstens auf elf Pins, fünf Prüfpins und sechs Powerpins, zugegriffen werden müsste.
-
Die TAP-Schaltungen sind in Serie geschaltet. Die mehreren TAP-Schaltungen können innerhalb der Gruppe seriell als eine serielle Scan-Kette geschaltet werden. Die Länge der Kette ist skalierbar - es kann eine beliebige Zahl von bis zur Gesamtzahl von Chips auf dem Wafer geben.
-
Eine kleine TAP-Schaltung mit ihrer OTP-Programmierschaltung befindet sich in den Straßen zwischen den Chips, und dies wird während des Chipvereinzelungsprozesses rückgängig gemacht oder zerstört. So werden die Chips vereinzelt, um jede Instanz der integrierten Schaltung zu erzeugen. Während des Vereinzelungsprozesses wird der Prüfschaltkreis einschließlich der mehreren Instanzen von im Rand zwischen den Chips befindlichen TAP-Schaltkreisen zerstört. Die Straßen des Wafers können auf etwa 100 µm begrenzt werden, was eine Vereinzelung entweder mit einer Säge oder durch Ätzen zulässt.
-
In einem beispielhaften Prüfer kann eine parallele Schnittstelle vom externen Prüfer beispielsweise 23 Leitungen haben. Eine serielle Schnittstelle von diesem Prüfer würde weniger Prüfpads und Leitungen erfordern, benötigt aber Logik zum Deserialisieren, wie elf Leitungen und entsprechende Pads. Wie erörtert, befindet sich der TAP-Schaltkreis außerhalb des Chips in den Straßen. Wiederum bezieht sich ein triftiger Grund dafür, diesen TAP-Schaltkreis in den Straßen zu platzieren und eine parallele Schnittstelle zum Chip zu halten, auf Sicherheit. Die höhere Zahl von Leitungen und entsprechenden Prüf- und Powerpads, die bei der Vereinzelung abgetrennt werden, erschwert es einem Angreifer, eine funktionelle Schnittstelle zum OTP-Speicher wiederherzustellen. Zusätzlich repräsentiert der Programmierschaltkreis, wenn er auch klein ist, weiterhin einen Bereich und einen Strom, die nach der Erzeugung der endgültigen integrierten Schaltung keine betriebliche Verwendung mehr haben. Der OTP- Programmier- und Scan-Prüfschaltkreis (Deserialisierer) in der TAP-Schaltung für das vorgeschlagene Design ist recht einfach und lässt sich beispielsweise mit etwa 300 Quadratmikrometer schätzen, so dass er bequem in den Rand passt (es sind 80 µm × 40 µm = 320 µm2 verfügbar).
-
Als Nächstes bieten verschiedene Pads Zugang zu Strom und Daten von einem externen Prüfer zu den Chips auf dem Wafer. Die Prüfpads und Powerpads befinden sich geografisch auf dem Wafer außerhalb der Chips in der Gruppe. Eine beispielhafte Anzahl von einer Reihe von Prüfpads und Powerpads pro Gruppe von Chips auf dem Wafer wird auf dem Wafer hergestellt. Die Reihe von Prüfpads und Powerpads ist elektrisch mit allen Chips in der Gruppe verbunden und wird gemeinsam von diesen genutzt. Ein externer Prüfer greift auf den TAP-Schaltkreis über die Reihe von Prüfpads und Powerpads pro Gruppe von Chips auf dem Wafer zu. Mehrere Prüfpads und mehrere Powerpads sind mit einer Kette von mehreren Instanzen des TAP-Schaltkreises verbunden, um Betriebsstrom sowie Prüfdaten zuzuführen, um eine Integrität jedes Chips in dieser Gruppe von Chips zu verifizieren. Man beachte, dass die Prüfpads und Powerpads geografisch auf dem Wafer außerhalb der Chips in der Gruppe platziert sind.
-
Jede TAP-Schaltung hat einen skalierbaren Controller zum Koppeln mit zwei oder mehr Chips. Jede TAP-Schaltung beinhaltet auch Logik zum Zugreifen auf Schaltkreise von verbundenen Chips, die eine Scan-Prüfung durchlaufen. Der TAP-Schaltkreis beinhaltet auch Logik zum Zugreifen auf und Programmieren von Informationen für einen eingebetteten Speicher der verbundenen Chips für OTP-Programmierung. Der TAP-Schaltkreis beinhaltet auch einen Modusschaltkreis zum Konfigurieren von Routing-Pfaden und Komponenten in der TAP-Schaltung, um die Scan-Prüfdaten zuzuführen und die resultierenden Scan-Prüfdaten zu sammeln sowie Routing-Pfade und Komponenten in der TAP-Schaltung zu konfigurieren, um Informationen für jeden individuellen Chip in der Gruppe von Chips zu programmieren.
-
Die mehreren Instanzen von TAP-Schaltungen sind seriell innerhalb der Slice-Gruppe verbunden. Die erste und letzte TAP-Schaltung in der seriellen Kette von Instanzen von TAP-Schaltungen sind mit der ersten Reihe von Prüfpads und Powerpads für diese Gruppe von Chips verbunden. Ein externer Prüfer führt Daten zu und stellt Verbindungen her, so als wenn dieser Prüfer einen einzelnen Chip prüfen würde; dieser externe Prüfer prüft jedoch die gesamte Slice-Gruppe von Chips von mit im Wesentlichen einem selben Satz von Daten und Verbindungen, so als wenn dieser externe Prüfer einen einzelnen Chip prüfen würde.
-
Eine digitale Logik des Chips wird mit SCAN-Ketten und SCAN-Prüfvektoren über die Power- und Prüfpads durch die TAP-Schaltungen geprüft. Spezielle SCAN-Flipflops können in dem Design substituiert werden, um diesen Prüftyp zu unterstützen. Dies ist eine ausgezeichnete Prüfmethodik mit extrem guter Fehlerabdeckung und geringer Prüferzeit.
-
In einer Ausgestaltung besteht eine Absicht darin, den Einmalprogrammierungs-Bordspeicher bei der Prüfung auf Waferebene mit einem kommerziellen Prüfer (z.B. Terradyne J750) und einer Sondenkarte zu programmieren. Eine Herausforderung ist, dass die Sondierungspads fast so groß sind wie ein Chip. So eliminiert jedes Pad eine oder mehrere potentielle Chipstellen auf dem Wafer, wenn es zu einem Teil des hergestellten Chips gemacht wird. OTP erfordert Zugang beispielsweise zu 11 bis 23 Pins für die Programmierung. Die Reihe von Pads kann so lang sein wie die Anzahl von zum Prüfen mit dem Prüfer benötigten Pads. Die OTP-Programmierungs-Pins/Pads werden bei der Chipvereinzelung abgetrennt; der letzte Chip hat überhaupt keine EA-Pins/Pads. Ein Teil des OTP-Programmierungsschaltkreises könnte sich in den Rändern zwischen Chips befinden und könnte ebenfalls im Verlauf des Vereinzelungsprozesses zerstört werden. Nach dem Programmieren des OTP werden die OTP-Programmierpads für externe Leitungen während der Chipvereinzelung abgetrennt.
-
Dieser Prozess kann Instanzen einer integrierten Schaltung mit einem einmalig programmierbaren Speicher erzeugen, der keine Eingangspins oder Stromeingangspins hat. Jeder auf dem Wafer geografisch hergestellte Chip hat keine Prüfpads oder anderen Eingangspads, die auf dem Chip selbst instanziiert werden; stattdessen empfängt er seine(n) Prüfsignale und Strom von der einen Reihe von Prüfpads und Powerpads pro Gruppe von Chips auf dem Wafer während des Herstellungs- und Prüfprozesses. Jeder Chip hat eine Antennenschaltung zum drahtlosen Empfangen seines Betriebsstroms während seines Betriebs von einem externen drahtlosen Leser, weil diese Pins während eines Chipvereinzelungsprozesses abgetrennt wurden.
-
In einer Ausgestaltung ist eine auf dem Wafer hergestellte beispielhafte integrierte Schaltung eine anwendungsspezifische integrierte Schaltung mit Radiofrequenz-Identifikationskomponenten und Schaltungen für Markierung/Verfolgung. Die ASIC enthält ein unklonierbares Passwort auf ihrem Speicher, weil die hergestellte ASIC nach einem Vereinzelungsprozess keine Prüfpads oder Powerpads geografisch auf der vereinzelten ASIC hat, mit denen Leitungen eines externen Prüfers verbunden werden könnten.
-
In einer Ausgestaltung werden zwei oder mehr parallele Datenbusreihen von Daten zwischen Spalten von Chips instanziiert, um aus den TAP-Schaltungen verschobene Daten zu leiten. Die Instanzen der TAP-Schaltungen sind zu einer Kette verknüpft und zum Zuführen von Prüfdaten zu ihren benachbarten Chips konfiguriert. Die Instanzen der mit einer ersten Spalte von Chips verbundenen TAP-Schaltungen senden dann ihre Ausgangsdaten auf einem ersten Datenbus parallel zu den Instanzen der mit einer zweiten Spalte von Chips verbundenen TAP-Schaltungen, die dann ihre Ausgangsdaten auf einem zweiten Datenbus senden, so dass sowohl effektiv eine Länge der Scan-Kette von TAP-Schaltungen verkürzt wird, um Prüferzeit zu sparen, als auch die Verfolgung der Ausgangsdaten von den Spalten von Chips vereinfacht wird. Wiederum ist eine Slice-Gruppe von Chips dahingehend flexibel, dass sie eine skalierbare Anzahl von Chips pro TAP-Schaltung und eine beliebige Anzahl von TAP-Schaltungen in ihrer Kettenlänge aufnimmt.
-
Jeder TAP-Controller hat ein Paketformat, das zum Übermitteln von Prüf- und Programmierungsinformationen zu jedem individuellen Chip konfiguriert ist. In einer Ausgestaltung ist ein TAP-Controller mit einer ersten ASIC links vom TAP-Controller und einer zweiten ASIC rechts vom TAP-Controller gekoppelt. In einer Ausgestaltung ist ein TAP-Controller mit einer ersten ASIC links oben vom TAP-Controller, einer zweiten ASIC links unten vom TAP-Controller, einer dritten ASIC rechts oben vom TAP-Controller und einer vierten ASIC rechts unten vom TAP-Controller gekoppelt.
-
2 illustriert ein Diagramm einer Ausgestaltung einer TAP-Schaltung, die sowohl OTP-Programmierschaltkreise als auch Scan-Prüfschaltkreise enthält.
-
Mit Bezug auf 2, eine beispielhafte TAP-Schaltung 200 enthält eine Kombination aus einem Schieberegister, einer Zustandsmaschine, Multiplexern, gekoppelt mit Shift_In Eingang, Shift_Out Ausgang, Shift_Clock Eingang, Shift_Enable Eingang und SMode-Auswahleingang, einer Randerkennungsschaltung, einer Befehlsdecodierschaltung, einer Zustandsmaschine, einem Zähler und zahlreichen Routing-Pfaden zum Leiten dieser Scan-Prüfdaten und OTP-Inhalt. Die Instanzen des TAP-Schaltkreises enthalten Schaltkreise für Scan-Datenprüfung und Durchführung der Programmierung von Werten in Speichern auf jedem verbundenen Chip, und enthalten auch Schaltkreise zum Umschalten von Modi zwischen Scan-Datenprüfung und Durchführung der Programmierung von Werten.
-
Die Zustandsmaschine kann zum Konfigurieren der TAP-Schaltungen eingerichtet werden, so dass er in einem von zwei Modi arbeitet: OTP-Programmierung oder Scan-Prüfung auf der Basis des sMode-Eingangs.
-
Im Scan-Prüfmodus kann die TAP-Schaltung Scan-Prüfdaten einschieben und diese Prüfdaten dann ausschieben. Es wird auf 4 im Hinblick auf ein beispielhaftes Scan-Prüftiming zum Einschieben von Scan-Prüfwörtern und Ausscannen der resultierenden Daten verwiesen. Die SCAN-Prüfung erfolgt dann, wenn die SCAN-Kette durch alle Chips in einer Slice-Gruppe serialisiert wird. So können alle Chips einen Scan-Port gemeinsam nutzen (z. B. 4 Prüfpads).
-
Jede TAP-Schaltung enthält eine Kombination aus einem Schieberegister, einem Zähler und einer Zustandsmaschine zum Individualisieren der Programmierungsinformationen im eingebetteten Speicher jedes angeschlossenen Chips. Der eingebettete Speicher kann ein eingebetteter Festwertspeicher sein. Die Programmierungsinformationen im eingebetteten Festwertspeicher können Einmal-programmierungsinformationen von Sicherheitsinhalt im eingebetteten Festwertspeicher eines verbundenen Chips sein. Der programmierte Sicherheitsinhalt im eingebetteten Festwertspeicher eines mit dieser TAP-Schaltung verbundenen ersten Chips unterscheidet sich von dem Sicherheitsinhalt, der in den eingebetteten Festwertspeicher eines mit dieser TAP-Schaltung verbundenen zweiten Chips programmiert wurde. Derselbe Vorgang erfolgt für jeden verbundenen Chip.
-
OTP kann durch einen Teil derselben Scan-Kettenverdrahtung und Schaltkreise in der TAP-Schaltung programmiert werden.
-
Im OTP-Modus kann die TAP-Schaltung OTP-Daten einschieben. 6 zeigt ein Beispiel für das Timing des OTP-Programmierungszyklus. Ebenso zeigt 5 ein Beispiel für OTP-Programmierung von eindeutigen Daten in der Daisy-Chain von Chips und assoziierten TAP-Schaltungen in der Slice-Gruppe.
-
Man beachte, dass in einer Ausgestaltung ein beispielhaftes Slice-Programmierungswortformat in 10 für das illustrative Design präsentiert wird. Das Format ist dahingehend flexibel, dass es eine beliebige Anzahl von Chips pro TAP-Schaltung und eine beliebige Kettenlänge aufnimmt. Ein separates Enable (Shift_Enable) wird für jede OTP bereitgestellt, um individuelle Steuerung für Soak/Repair-Operationen bereitzustellen. Es ist ein Adressfeld vorhanden, um zufällige Adressierung für Soak/Repair bestimmter OTP-Bits zu unterstützen. Die Prüfer takten Frequenzen, so dass die OTP-Programmierschaltung die richtige Schreibpulsbreite auszählen kann. Ein Feld wird für das Q-Bit zugeordnet, und der Gedanke dahinter ist, dass die OTP-Programmierschaltung zuerst das Bit „schreibt“ und dann das Bit „liest“ und es in das Q-Feld für eine Verifikation zurück am Prüfer setzt. Es könnten zusätzliche Felder zugeordnet werden, um andere Prüfstati vom Chip zu melden (wie das Ergebnis eines BIST).
-
3 illustriert ein Diagramm einer Ausgestaltung eines externen Prüfers 300, der Daten zuführt und Verbindungen herstellt, so als wenn dieser externe Prüfer einen einzelnen Chip prüfen würde. Man beachte, dass das System eine Prüfgruppe (Charge) bildet, die aus vielen Slices besteht... so vielen, wie die Zahl der Prüfer-EA-Pins unterstützt. Dann wird die Prüfgruppe (Charge) parallel geprüft/programmiert. Die gesamte Charge inklusive Slices von Chips wird von diesem externen Prüfer mit im Wesentlichen einem selben Satz von Daten und Verbindungen geprüft, so als wenn dieser externe Prüfer einen einzelnen Chip prüfen würde. Chargen von Chips auf dem Wafer werden parallel getestet, wie Charge 0 bis Charge K. Innerhalb jeder individuellen Charge von parallel geprüften Chips werden auch Slice-Gruppen von Chips, jede Slice-Gruppe gebildet von ihrer eigenen Kette von TAP-Schaltungen und Reihe von Power- und Prüfpads, parallel im Wesentlichen mit einem selben Satz von Daten und Verbindungen geprüft, so als wenn dieser externe Prüfer einen einzelnen Chip prüfen würde. Siehe auch 7.
-
Beim Betrieb wird ein Datenstrom in die OTP-Programmierschaltungsstruktur jedes Chips in einem Slice eingeschoben; wenn alle Bits eingeschoben sind, dann wird die erste Adresse aller OTPs gleichzeitig in jeden Chip in der Kette von Chips programmiert, die diesen Slice bilden. Der Vorgang wird dann für alle Adressen wiederholt. Wenn der Datenstrom der zweiten Adresse eingeschoben wird, dann erscheint der vorherige Datenstrom (von der ersten Adresse) auf dem ShiftOut-Signal; dies bietet eine Möglichkeit für die OTP-Programmierungsschaltung, den Status anzugeben, wie z. B. ob das Bit erfolgreich programmiert wurde oder nicht.
-
Die zum Programmieren eines Satzes von OTPs mit diesem Verfahren benötigte Zeit ist die Summe der mit dem Verschieben verbrauchten Zeit und der mit dem Programmieren verbrauchten Zeit:
-
Ebenso kann Scan-Prüfung des digitalen Schaltkreises dieselben EA-Pads und dieselbe Verdrahtung benutzen. Das Konzept unterscheidet sich geringfügig dahingehend, dass die Scan-Daisy-Chain durch jeden Chip geht, wobei jeder Chip einen identischen Prüfvektor erhält. Die Prüfzeit wird wie folgt bestimmt:
-
Das System kann wiederum parallele Prüfung und Programmierung auf der Charge von Chips sowie an mehreren mit jedem TAP-Schaltkreis in der Kette von TAP-Schaltkreisen verbundenen Chips durchführen. Die Prüfchargen werden parallel geprüft und innerhalb einer Charge wird eine Anzahl von Slice-Gruppen parallel geprüft. Jede Slice-Gruppe wird als eine Einheit geprüft und programmiert, obwohl sie viele Chips enthält. Die Prüferzeit wird durch den Grad an Parallelismus drastisch reduziert (siehe 8). Auch die Anzahl von Slices in einer Prüfgruppe kann an die verfügbaren Prüfer angepasst werden, um die Gesamtprüfkosten zu minimieren (siehe 9). Zum Beispiel, ein gemeinsamer digitaler ASIC-Prüfer mit 512 Kanälen kann gleichzeitig 32 Slice-Gruppen prüfen, wobei jede Gruppe mehrere Chips wie 128 Chips hat.
-
Die Einstellung von Gruppengröße der Chips / Slice-Größe wird eingestellt, um eine Menge an verbrauchter Prüferzeit zu optimieren und eine Anzahl von Chips, die mit kleinen Rändern zwischen Chips pro Wafer gepackt werden, zu erhöhen. Die Skalierbarkeit der möglichen Größe einer Slice-Gruppe kann allgemein auf Prüferzeit, Menge an verfügbaren Prüfern basieren, und dies ist mit Größer einer Slice im Hinblick auf die Zahl von Chips gewichtet, wenn ein defekter TAP-Schaltkreis in der Kette von TAP-Schaltkreisen in einem der Prüf-TAP-Schaltkreise produziert wird, dann können alle Chips in dem Slice als defekt angesehen werden.
-
Eine Slice-Gruppe besteht beispielsweise aus einer Vielzahl von Chipeinheiten plus einem gemeinsamen Satz von Prüfschaltkreisen. Durch gemeinsames Nutzen des Prüfschaltkreises unter vielen Chips kann das Flächenverhältnis von erhaltbarem Produkt zu Prüfschaltkreis stark verbessert werden. Die beschriebenen Verfahren sind skalierbar und ermöglichen daher einen wirtschaftlichen Kompromiss in Bezug auf die Anzahl von Chips in einem Slice zum Optimieren der Gesamteinheitskosten jedes Chips und der resultierenden integrierten Schaltung. Ferner tragen die offenbarten Verfahren nicht wesentlich zur Fläche des Chips bei und können von mehreren Chips gemeinsam genutzt werden.
-
7 illustriert ein Diagramm einer Ausgestaltung eines beispielhaften Systems für verbesserte Waferflächennutzung für Chips anhand von skalierbaren Verfahren über eine parallele Prüf- und Programmierhierarchie von Prüfchargen und Slice-Gruppen von Chips innerhalb einer Prüfcharge. Nun mit Bezug auf 7, skalierbare Verfahren zum Prüfen und Programmieren von Ultra-Miniatur-ASICs für verbesserte Waferfläche beinhalten: ein hierarchisches Verfahren zur physischen Implementation zum Verbessern von Waferflächenausnutzung; ein hierarchisches Verfahren zur ASIC-Prüfung zum Verbessern der Waferflächenausnutzung; ein flächeneffizientes Mittel zum Initialisieren eines einmalig programmierbaren Speichers auf Ultra-Miniatur-ASICs; und ein flächeneffizientes Mittel zum Prüfen von Ultra-Miniatur-ASICs.
-
In derzeitigen Implementationen hat eine hochdichte Prüfpadstelle wenigstens 50 µm × 50 µm mit einer Teilung von 70 µm, wobei wenigstens 6 Pads zum Prüfen einer ASIC auf der Basis von üblicherweise benutzter „Scan“-Prüfung benötigt werden. Bei einer gestaffelten 3x2 Konfiguration wäre die Prüfpadstelle 230 µm × 140 µm. Ein Beispiel für eine Ultra-Miniatur-ASIC-Größe ist 100 µm × 100 µm. Das Ergebnis ist, dass nur 24 % der gesamten Waferfläche ein erhaltbares Produkt repräsentieren, die übrigen 76 % sind für die Prüfpads dediziert. Ferner erfordert die Programmierung eines Speicherbauelements, in der ASIC eingebettet, typischerweise viel mehr (als 6) Prüfpads zum Bilden eines Adressbusses und von Steuersignalen, was die Flächenausnutzung weiter vermindert. Zusätzlich ist, da das Problem eines von relativen Abmessungen unter Prüfschaltkreisen und Produktschaltkreisen ist, Skalierbarkeit für die Erzielung eines wirtschaftlichen Ausgleichs im allgemeinen Fall wesentlich.
-
Eine andere bekannte Begrenzung ist die „Ritzstraßen“-Breite, d. h. der Rand zwischen benachbarten ASICs. Es sind zwar kleinere Ränder möglich, aber eine typische Breite ist 80 µm, die die Kerbe der Schneidscheibe aufnimmt und eine Siliciumfläche für die ASIC-Gießerei zum Platzieren von „Waferakzeptanztest“-(WAT)-Schaltungen bietet. Im Vergleich zu den Abmessungen der beispielhaften 100 µm × 100 µm Ultra-Miniatur-ASIC ist das Ergebnis, dass nur 31 % der gesamten Waferfläche ein erhaltbares Produkt repräsentieren, während die übrigen 69 % für Ritzstraßen dediziert bleiben.
-
Die Flächenausnutzung kann mit einem hierarchischen Grundriss wie in 7 gezeigt optimiert werden. Es wird ein Reticle-Design zur Lieferung an die Gießerei bereitgestellt, eine Sammlung von ASICs, so als wenn es sich um ein einzelnes Design handeln würde. Größere äußere Ränder können außerhalb des Reticle vorliegen und können den WAT-Schaltkreis der Gießerei enthalten. Innerhalb des Reticle werden schmälere interne Ränder benutzt, die den Prüfschaltkreis beinhalten. Dieses Verfahren erlaubt es uns, eine hohe Ausnutzung innerhalb des Reticle beizubehalten.
-
Das Reticle kann in mehrere identische Slices unterteilt werden, die jeweils eine Anzahl von Chips/ASICs enthalten, die für Prüfimplementationszwecke optimiert ist. Jeder Slice hat seinen eigenen Satz von Sondenprüfpads für Strom, Prüfung und OTP-(einmalig programmierbar)-Programmierung. Ein Slice kann so groß sein wie ein Reticle.
-
Der hierarchische Grundriss bietet ein mehrschichtiges, skalierbares Mittel zur unabhängigen Optimierung von Siliciumflächenauslastung und ASIC-Prüfimplementation (einschließlich OTP-Programmierung).
-
Der hierarchische Grundriss besteht aus Slices, was es uns erlaubt, das Konzept einer „Prüfcharge“ einzuführen. Wie in 7 gezeigt, besteht die Prüfcharge ebenfalls aus einer Reihe von Slices, aber nicht unbedingt dieselbe wie das Reticle. Mit anderen Worten, die Prüfcharge ist eine „logische“ Gruppierung von Slices, während das Reticle eine physische Gruppierung von Slices ist. Da der Wafer ein regelmäßiges Muster von Retikeln und Slices umfasst, kann eine Sondenkarte und ein Step-and-Repeat-Muster zum Prüfen konstruiert werden, das auf Prüfchargen anstatt auf Reticles basiert.
-
Anhand der Prüfcharge ist der Waferprüfprozess völlig skalierbar, so dass die Waferprüfverarbeitung für verschiedene Prüfer wirtschaftlich optimiert werden kann, selbst nach der Herstellung des Wafers. Die Prüfung kann auf Slice-Basis, Reticle-Basis, Sub-Reticle-Basis, Multi-Reticle-Basis oder sogar Reticle-übergreifend erfolgen.
-
11 illustriert ein Diagramm einer Ausgestaltung einer beispielhaften Instanz einer anwendungsspezifischen integrierten Schaltung mit Radiofrequenz-Identifikationskomponenten und Schaltkreisen für Markierung/Verfolgung. Die ASIC enthält ein unklonierbares Passwort in ihrem Festwertspeicher, weil die hergestellte ASIC nach einem Vereinzelungsprozess keine Prüfpads oder Powerpads geografisch auf der vereinzelten ASIC hat, mit denen Leitungen eines externen Prüfers verbunden werden könnten.
-
Anwendungsspezifische integrierte Schaltungen in Ultra-Miniaturgröße können viele Implementationen haben. Ein Beispiel ist ein „unklonierbarer“ RFID-(Radiofrequenzidentifikation)-Chip wie der, der in der PCT-Patentanmeldungsveröffentlichung Nr.
WO 2016/133601 beschrieben ist.
-
Diese und andere Ultra-Miniatur-ASICs sind sehr klein, haben typischerweise eine zweidimensionale Fläche im Bereich von beispielsweise 100 Quadratmikrometern und eine Dicke im Bereich von etwa 50 Mikrometern oder weniger. Wenn man einen United States Penny betrachtet, der Präsident Abraham Lincoln zeigt, dann würde eine einzige Ultra-Miniatur-ASIC auf Lincolns Nase passen. Die Ultra-Miniatur-ASICs, z. B. RFID-Chips, können an einer Host-Komponente wie einem verpackten IC-(integrierte Schaltung)-Chip angebracht werden. Um diese Ultra-Miniatur-ASIC von der Host-Komponente zu unterscheiden, und aufgrund ihrer geringen Größe, kann der Begriff „Chip“ zum Bezeichnen der Ultra-Miniatur-ASIC benutzt werden.
-
„Unklonierbar“ kann sich auf den Einschluss eines Identifikationscode in den miniaturisierten Chip beziehen, der z. B. durch Verschlüsseln vor Eingriffen geschützt ist. Implementationen dieser miniaturisierten Chips können beispielsweise elektronische Tags beinhalten, die zum Authentifizieren der Herkunft von elektronischen Komponenten geeignet sind, mit dem Ziel, gefälschte Teile zu erkennen und/oder zu verhüten, und andere Formen von Lieferkettenqualitätssicherung. Diese miniaturisierten, sicheren elektronischen Tags können zum Bereitstellen „sicherer“ Versionen von Chipsätzen oder ICs oder zum Bereitstellen von Verifikation der Authentizität von Produkten benutzt werden, die fälschungsgefährdet sind, wie Verbraucherprodukte, einschließlich Spitzenweine, Kleidungsstücke, Uhren usw., sowie Pharmazeutika, Medikamente, Vorrichtungen (zum Beispiel Stents) usw.
-
In einigen Implementationen wird ein angepasster elektronischer „Chip“ mit kleinem Formfaktor (z. B. im Bereich von etwa 100 µm × 100 µm) bereitgestellt. Diese Implementationen können geringe Kosten pro Teil bieten, was eine weit verbreitete Akzeptanz ermöglicht. Einige beispielhafte Implementationen des miniaturisierten elektronischen Tag beinhalten volle 256-Bit-Verschlüsselung, sichere nichtflüchtige Schlüsselspeicher und einen unklonierbaren Eindringsensor. In einigen Designs der offenbarten elektronischen Tags können Strom- und Datenübertragungen durch induktive Kopplung durch RF-(Radiofrequenz)-Energie im Nahfeld einer Leser-„Sonde“ auftreten. Eine angepasste Lesersonde kann die geeignete RF-Frequenz und Strom zum Kommunizieren mit dem Tag über Strom- und Zweiweg-Datenkanäle enthalten, z. B. durch Arbeiten in einem Challenge/Response-Protokoll. Eine spezifische Leserplatte kann Schaltkreise zum Empfangen von Daten zurück vom Chip enthalten, und im Einklang mit einer sicheren Verbindung mit einem sicheren Verifikationsserverprozess werden diese verschlüsselten Daten (z. B. Chiffriertext) zum Bestimmen der Treue des Chips benutzt. In einigen Implementationen kann der Chip zu einem Paket einer „bekannt guten“ Host-IC zusammengesetzt werden, so dass periodische Checks zulässig werden, z. B. wenn die Host-Komponente durch eine Versorgungskette geleitet wird.
-
Das Design beinhaltet (i) Prüfung auf Waferebene und Programmierung von Ultra-Miniatur-ASICs (wobei „Ultra-Miniatur“ eine ASIC beinhaltet, deren rechteckige Abmessungen so gering sind, dass eine überproportionale Menge an Siliciumfläche für Prüfzugänglichkeit dediziert ist), und (ii) Leistungskopplung von einem Leser zum Chip, wo ein benötigter Kopplungsfaktor vom Leser zum Chip zum Gewährleisten eines erfolgreichen Chipbetriebs nötig ist.
-
Für Leistungskopplung können doppelte leserseitige Spulen verwendet werden, wobei eine leserseitige Spule für einen Stromkanal (oder Kanäle) und eine andere leserseitige Spule für einen Datenkanal (oder Kanäle) benutzt wird. Entsprechende Doppelspulen werden auf dem Chip vorgesehen und dienen zum Arbeiten auf den gewählten RF-Frequenzen für Strom- und Datenkanäle. Die leserseitigen Spulen sind beispielsweise zum Ermöglichen eines optimalen Kopplungsfaktors mit dem Chip konfiguriert.
-
Von den offenbarten Technologien kann jedes mit Ultra-Miniatur-Bauelementen involvierte ASIC-Design profitieren.
-
10 illustriert ein Diagramm einer Ausgestaltung eines beispielhaften Slice-Programmierwortformats 1100 für jedes OTP-Bit. Das Format ist dahingehend flexibel, dass es eine beliebige Anzahl von Chips pro TAP-Schaltung und eine beliebige Kettenlänge aufnimmt. Ein separates Enable ist für jedes OTP vorgesehen, um individuelle Steuerung für Soak/Repair-Operationen zu ermöglichen. Ein Adressfeld ist enthalten, um zufällige Adressierung für Soak/Repair bestimmter OTP-Bits zu unterstützen. Die Prüfer takten Frequenzen, so dass die OTP-Programmierschaltung die richtige Schreibpulsbreite auszählen kann. Ein Feld ist für das Q-Bit zugeordnet, und der Gedanke dahinter ist, dass die OTP-Programmierschaltung zunächst das Bit „schreibt“ und dann das Bit „liest“ und es in das Q-Feld zur Verifikation zurück am Prüfer setzt. Zusätzliche Felder könnten zugeordnet werden, um andere Prüfstati vom Chip zu melden (wie das Ergebnis eines BIST).
-
Es wird erwartet, dass die Rate, mit der OTP-Bits umprogrammiert (soaked) werden müssen, in der Größenordnung von 1 pro 10.000 Bits oder etwa 1 pro 22,3 Chips, also 1 oder 2 Repair/Soak-Vorgänge pro Slice liegt. Dieses Design basiert darauf, dass das Prüferprogramm die versagten Programmierungen verfolgt und den Repair/Soak-Befehl an der defekten Adresse ausgibt, so dass nur das eine Bauelement repariert werden muss.
-
Der OTP-Programmierungs- und Scan-Prüfschaltkreis für das illustrative Design ist recht einfach und nimmt schätzungsweise nur etwa 300 µm2 auf und passt bequem in die Straße (100 µm × 20 µm = 2000 µm2 verfügbar).
-
Obwohl nicht ausdrücklich angegangen, ist zu erwähnen, dass sich das illustrative Design leicht zum Vervollständigen des Prüfens des Chips anpassen lässt:
-
Das Datenformat kann Befehle zum Steuern von analogen und/oder digitalen eingebauten Selbsttests und Felder für einen Chip zum Melden von Ergebnissen enthalten.
-
8 illustriert eine Übersicht 800 einer Ausgestaltung einer beispielhaften Prüferzeit, die zum Programmieren eines Slice von OTPs je nach Slice-Größe und Prüferfrequenz benötigt wird. In einem Beispiel zeigt diese Übersicht 800 Daten auf der Basis von 448 programmierten Bits (illustratives Design) und ein 22-Bit-pro-Slice-Programmierwort. Die Prüf-/Programmierzeit für dieses bestimmte Design, auf der Basis von 64 Deserialisierern pro Slice, ist 56 ms bei Verwendung eines 50 MHz Prüfertakts. Die Scan-Prüfzeit, auf der Basis von 700 FFs/Chip und 25 Prüfvektoren, ist zusätzlich etwa 46 ms.
-
Eine Prüfgruppe kann so definiert werden, dass sie eine Anzahl von Slices gemäß den Fähigkeiten des Prüfers enthält. Zum Beispiel, Teradyne J750 kann 512 digitale EAs haben. Da ein Slice 4 Leitungen benötigt, ist es möglich, 128 Slices gleichzeitig zu programmieren. Wenn man dies ausrechnet, dann bedeutet dies 128 Slices/Gruppe × 128 Gruppen = 16384 Chips in etwa 50 ms programmiert und geprüft. Innerhalb einer Prüfgruppe ist es nicht notwendig, dass alle Slices zum selben Reticle gehören.
-
Man beachte, dass die atomare Einheit physisch ein Slice ist; die „Prüfgruppe“ ist lediglich konzeptionell - sie ist nicht Teil des physischen Designs und kann nachträglich an die Prüferfähigkeiten angepasst werden.
-
Mit den Attributen des illustrativen Designs fortfahrend, wird nun die Gesamtprüferzeit für den Wafer erörtert. 9 illustriert eine Tabelle 1000 einer Ausgestaltung einer beispielhaften Anzahl von Prüfergruppen pro Wafer unter Verwendung unterschiedlicher Chips pro Gruppe. In dem Beispiel von 9 gibt es illustrativ 122 Gruppen für einen Wafer mit 2.000.000 Chips. 122 × 102 ms = 12,44 Sekunden. Bei $0,10/sec berechnen wir $1,244 pro Wafer für Prüferzeit. Bei 2 Millionen Chips pro Wafer sind Prüfkosten pro Wafer vernachlässigbar, zumindest für die OTP-Programmierung.
-
Zurück zu 1, eine weitere Verbesserung kann durch dichteres Packen der Chips in einem Slice erzielt werden, während ein Standardabstand von Slice zu Slice beibehalten bleibt. Dieses Verfahren bietet Flächennutzungsverbesserungen bei gleichzeitiger Beibehaltung der normalen Ritzstraßen zum Sägen zwischen Slices und für WAT-Strukturen. Zum Beispiel, das Reduzieren der Ritzstraßenbreite auf 40 µm innerhalb des Slice verbessert die Flächenausnutzung innerhalb des Slice von 31 % auf 51 %. Bei Anwendung von Trockenätzverfahren für ASIC-Vereinzelung anstelle von mechanischem Sägen kann die Straßenbreite 10 µm oder weniger betragen, was die Slice-Flächenausnutzung auf 83 % verbessert.
-
12 illustriert eine Ausgestaltung von einem oder mehreren Computergeräten 900, das Teil des Systems zur Herstellung einer integrierten Schaltung wie hierin erörtert sein kann. Das Computergerät kann einen oder mehrere Prozessoren oder Verarbeitungseinheiten 920 zum Ausführen von Befehlen, einen oder mehrere Speicher 930-932 zum Speichern von Informationen, eine oder mehrere Dateneingabekomponenten 960-963 zum Empfangen von Dateneingaben eines Benutzers des Computergeräts 900, ein oder mehrere Module, die das Managementmodul beinhalten, eine Netzwerkschnittstellen-Kommunikationsschaltung 970 zum Aufbauen einer Kommunikationsverbindung zum Kommunizieren mit anderen Computergeräten außerhalb des Computergeräts, einen oder mehrere Sensoren, wobei ein Ausgang von den Sensoren zum Erfassen einer spezifischen Auslösebedingung und dann zum entsprechenden Erzeugen von einer oder mehreren vorprogrammierten Aktionen, einen Anzeigeschirm 991 zum Anzeigen von wenigstens einigen der in den ein oder mehreren Speichern 930-932 gespeicherten Informationen und andere Komponenten beinhalten. Man beachte, dass Teile dieses Systems, die in Software 944, 945, 946 implementiert sind, in den ein oder mehreren Speichern 930-932 gespeichert und von den ein oder mehreren Prozessoren 920 ausgeführt werden können.
-
Der Systemspeicher 930 beinhaltet Computerspeichermedien in Form von flüchtigem und/oder nichtflüchtigem Speicher als Festwertspeicher (ROM) 931 und Arbeitsspeicher (RAM) 932. Diese maschinenlesbaren Computermedien können beliebige verfügbare Medien sein, auf die das Computersystem 900 zugreifen kann. Zum Beispiel, und nicht zur Begrenzung, die Benutzung von maschinenlesbaren Computermedien beinhaltet das Speichern von Informationen wie computerlesbare Befehle, Datenstrukturen, sonstige ausführbare Software oder andere Daten. Computerspeichermedien beinhalten, aber ohne darauf begrenzt zu sein, RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologie, CD-ROM, Digital Versatile Disks (DVD) oder andere optische Plattenspeicher, Magnetkassetten, Magnetband, magnetische Plattenspeicher oder andere magnetische Speichergeräte oder andere fassbare Medien, die zum Speichern der gewünschten Informationen benutzt werden können und auf die das Computergerät 900 zugreifen kann. Flüchtige Medien wie drahtlose Kanäle sind nicht in den maschinenlesbaren Medien enthalten. Kommunikationsmedien verkörpern typischerweise computerlesbare Befehle, Datenstrukturen, sonstige ausführbare Software oder einen anderen Transportmechanismus und beinhalten beliebige Informationslieferungsmedien.
-
Das System beinhaltet ferner ein einfaches Ein-/Ausgabesystem 933 (BIOS), das die Basisroutinen enthält, die beim Übertragen von Informationen zwischen Elementen innerhalb des Computersystems 900 helfen, wie beim Start, und typischerweise im ROM 931 gespeichert ist. Der RAM 932 enthält typischerweise Daten und/oder Software, auf die das Verarbeitungsgerät 920 unmittelbar zugreifen kann und/oder auf die es aktuell einwirkt. Zum Beispiel, und nicht zur Begrenzung, der RAM 932 kann einen Teil des Betriebssystems 934, Anwendungsprogramme 935, sonstige ausführbare Software 936 und Programmdaten 937 beinhalten.
-
Das Computersystem 900 kann auch andere entfernbare/nicht entfernbare flüchtige/nichtflüchtige Computerspeichermedien beinhalten. Nur zum Beispiel, das System hat einen Festkörperspeicher 941. Der Festkörperspeicher 941 ist typischerweise über eine nicht entfernbare Speicherschnittstelle wie die Schnittstelle 940 mit dem Systembus 921 verbunden, und das USB-Laufwerk 951 ist typischerweise über eine entfernbare Speicherschnittstelle wie die Schnittstelle 950 mit dem Systembus 921 verbunden.
-
Ein Benutzer kann Befehle und Informationen in das Computersystem 900 durch Eingabegeräte wie eine Tastatur, einen Touchscreen oder Software- oder Hardware-Eingabetasten 962, ein Mikrofon 963, ein Zeigegerät und/oder scrollende Eingabekomponenten wie Maus, Trackball oder Touchpad in das Computersystem 900 eingeben. Diese und andere Eingabegeräte sind häufig über eine mit dem Systembus 921 gekoppelte Benutzereingabeoberfläche 960 mit der Verarbeitungseinheit 920 verbunden, können aber auch durch andere Schnittstellen- und Busstrukturen wie einen parallelen Port, Spieleport oder einen universellen seriellen Bus (USB) verbunden sein. Ein Anzeigemonitor 991 oder ein anderer Bildschirmgerätetyp ist ebenfalls über eine Schnittstelle wie eine Anzeigeschnittstelle 990 mit dem Systembus 921 verbunden. Zusätzlich zum Monitor 991 können Computergeräte auch andere periphere Ausgabegeräte wie Lautsprecher 997, einen Vibrator 999 und andere Ausgabegeräte beinhalten, die durch eine periphere Ausgabeschnittstelle 995 verbunden sein können.
-
Das Computergerät 900 kann in einer vernetzten Umgebung mit logischen Verbindungen zu einem oder mehreren fernen Computern/Client-Geräten wie einem fernen Computersystem 980 arbeiten. Das ferne Computersystem 980 kann ein PC, ein mobiles Computergerät, ein Server, ein Router, ein Netzwerk-PC, ein Peer-Gerät oder ein anderer gemeinsamer Netzwerkknoten sein und beinhaltet typischerweise viele oder alle der oben mit Bezug auf das Computersystem 900 beschriebenen Elemente. Die in 5 veranschaulichten logischen Verbindungen können ein Personal Area Network (PAN) 972 (z. B. Bluetooth®), ein lokales Netzwerk (LAN) 971 (z. B. WiFi) und ein Weitbereichsnetz (WAN) 973 (z. B. ein zelluläres Netzwerk) beinhalten, können aber auch andere Netzwerke wie ein Personal Area Network (z. B. Bluetooth®) beinhalten. Solche Vernetzungsumgebungen sind in Büros, unternehmensweiten Computernetzen, Intranetzen und dem Internet üblich. Eine Browser-Anwendung kann sich auf dem Computergerät befinden und im Speicher gespeichert sein.
-
Bei Einsatz in einer LAN-Vernetzungsumgebung wird das Computersystem 900 mit dem LAN 971 durch eine Netzwerkschnittstelle 970 verbunden, die beispielsweise ein Bluetooth® oder WiFi-Adapter sein kann. Bei Einsatz in einer WAN-Vernetzungsumgebung (z. B. Internet) beinhaltet das Computersystem 900 typischerweise ein Mittel zum Einrichten von Kommunikationen über das WAN 973. Mit Bezug auf mobile Telekommunikationstechnologien kann beispielsweise eine Funkschnittstelle, die intern oder extern sein kann, über die Netzwerkschnittstelle 970 oder einen anderen geeigneten Mechanismus mit dem Systembus 921 verbunden werden. In einer vernetzten Umgebung kann/können andere in Bezug auf das Computersystem 900 dargestellte Software oder Teile davon in dem fernen Memory-Speichergerät gespeichert werden. Zum Beispiel, und nicht zur Begrenzung, das System hat ferner Anwendungsprogramme 985, die sich auf dem fernen Computergerät 980 befinden. Man wird verstehen, dass die gezeigten Netzwerkverbindungen Beispiele sind und dass auch andere Mittel zum Einrichten einer Kommunikationsverbindung zwischen den Computergeräten benutzt werden können.
-
Wie erörtert, kann das Computersystem 900 mobile Geräte mit einer Verarbeitungseinheit 920, einem Speicher (z. B. ROM 931, RAM 932 usw.), einer eingebauten Batterie zum Speisen des Computergeräts, einem Wechselstromeingang zum Laden der Batterie, einem Anzeigeschirm, einem eingebauten WiFi-Schaltkreis zum drahtlosen Kommunizieren mit einem mit dem Netzwerk verbundenen fernen Computergerät beinhalten.
-
Es ist zu bemerken, dass das vorliegende Design auf einem Computersystem wie dem mit Bezug auf das hierin gezeigte beschriebenen durchgeführt werden kann. Das vorliegende Design kann jedoch auch auf einem Server, einem für Message-Handling dedizierten Computergerät oder auf einem verteilten System durchgeführt werden, in dem verschiedene Teile des vorliegenden Designs auf verschiedenen Teilen des verteilten Computersystems durchgeführt werden.
-
In einigen Ausgestaltungen kann die zum Erleichtern von hierin erörterten Algorithmen benutzte Software auf einem nichtflüchtigen maschinenlesbaren Medium ausgestaltet sein. Ein maschinenlesbares Medium beinhaltet jeden Mechanismus, der Informationen in einer von einer Maschine (z. B. einem Computer) lesbaren Form speichert. Zum Beispiel, ein nichtflüchtiges maschinenlesbares Medium kann Festwertspeicher (ROM), Arbeitsspeicher (RAM), magnetische Plattenspeichermedien, optische Speichermedien, Flash-Speichergeräte, Digital Versatile Disks (DVDs), EPROMs, EEPROMs, FLASH-Speicher, magnetische oder optische Karten oder irgendein Medientyp sein, der zum Speichern von elektronischen Befehlen geeignet ist.
-
Man beachte, eine hierin beschriebene Anwendung beinhaltet, aber ohne darauf begrenzt zu sein, Software-Anwendungen, mobile Anwendungen und Programme, die Teil einer Betriebssystemanwendung sind. Einige Teile der vorliegenden Beschreibung werden im Hinblick auf Algorithmen und symbolische Darstellungen von Operationen an Datenbits in einem Computerspeicher präsentiert. Diese algorithmischen Beschreibungen und Darstellungen sind die Mittel, die die Fachperson in der Datenverarbeitung benutzt, um anderen Fachpersonen die Substanz ihrer Arbeit am effektivsten zu vermitteln. Ein Algorithmus wird hier, und allgemein, als eine selbstkonsistente Sequenz von Schritten angesehen, die zu einem gewünschten Ergebnis führen. Die Schritte sind diejenigen, die physikalische Manipulationen physikalischer Größen erfordern. Gewöhnlich, obwohl nicht unbedingt, haben diese Größen die Form von elektrischen oder magnetischen Signalen, die gespeichert, übertragen, kombiniert, verglichen oder auf andere Weise manipuliert werden können. Es hat sich zuweilen als praktisch erwiesen, hauptsächlich aus Gründen des üblichen Gebrauchs, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Terme, Zahlen oder dergleichen zu bezeichnen. Diese Algorithmen können in einer Reihe von unterschiedlichen Software-Programmiersprachen wie C, C+, HTTP, Java oder anderen ähnlichen Sprachen geschrieben werden. Ebenso kann ein Algorithmus mit Code-Zeilen in Software, konfigurierten Logikgattern in Software oder einer Kombination von beiden implementiert werden. In einer Ausgestaltung besteht die Logik aus elektronischen Schaltungen, die den Regeln von Boolescher Logik folgen, Software, die Befehlsmuster enthält, oder einer beliebigen Kombination von beiden. In Software implementierte Teile eines Algorithmus können in einem ablauffähigen Format in einem Teil eines Speichers gespeichert werden und werden von einem oder mehreren Prozessoren ausgeführt.
-
Dabei ist jedoch zu beachten, dass alle diese und ähnliche Begriffe mit den geeigneten physikalischen Größen assoziiert werden sollen und lediglich auf diese Größen angewendete praktische Bezeichnungen sind. Wenn nicht speziell anderweitig angegeben, wie aus den obigen Erörterungen hervor geht, wird man verstehen, dass sich in der gesamten Beschreibung Erörterungen unter Verwendung von Begriffen wie „Verarbeitung“ oder „Datenverarbeitung“ oder „Berechnung“ oder „Bestimmung“ oder „Anzeigen“ oder dergleichen auf Aktionen und Prozesse eines Computersystems oder eines ähnlichen elektronischen Computergeräts beziehen, das Daten, die als physikalische (elektronische) Größen in den Registern und Speichern des Computersystems dargestellt werden, in andere Daten manipuliert und transformiert, die ebenso als physikalische Größen in den Speichern oder Registern des Computersystems oder anderen solchen Informationsspeichern, Übertragungs- oder Anzeigegeräten dargestellt werden.
-
Viele von elektronischen Hardware-Komponenten durchgeführte Funktionen können durch Software-Emulation dupliziert werden. So kann ein zum Ausführen dieser selben Funktionen geschriebenes Software-Programm die Funktionalität der Hardware-Komponenten in Ein-/Ausgangsschaltkreisen emulieren. So werden hierin ein oder mehrere nichtflüchtige maschinenlesbare Medien bereitgestellt, die zum Speichern von Befehlen und Daten konfiguriert sind, die bei Ausführung durch einen oder mehrere Prozessoren auf dem Computergerät des obigen Systems bewirken, dass das Computergerät die Operationen wie hierin umrissen durchführen.
-
Bezugnahmen in der vorliegenden Spezifikation auf „eine Ausgestaltung“, „ein Beispiel“ usw. zeigen an, dass die/das beschriebene Ausgestaltung oder Beispiel ein(e) bestimmte(s) Merkmal, Struktur oder Charakteristik beinhalten kann, aber nicht jede Ausgestaltung beinhaltet unbedingt die/das bestimmte Merkmal, Struktur oder Charakteristik. Solche Ausdrücke brauchen sich nicht unbedingt auf dieselbe Ausgestaltung zu beziehen. Ferner wird davon ausgegangen, dass es, wenn ein(e) bestimmte(s) Merkmal, Struktur oder Charakteristik in Verbindung mit einer Ausgestaltung beschrieben wird, im Kompetenzbereich einer Fachperson liegt, ein(e) solche(s) Merkmale, Struktur oder Charakteristik in Verbindung mit anderen Ausgestaltungen zu beeinflussen, ob explizit angezeigt oder nicht.
-
Während das obige Design und Ausgestaltungen davon ausführlich dargestellt wurden, ist es nicht die Absicht der Anmelder(in), dass das hierin bereitgestellte Design und Ausgestaltungen davon begrenzend sein sollen. Zusätzliche Adaptionen und/oder Modifikationen sind möglich und, in breiteren Aspekten, sind diese Adaptionen und/oder Modifikationen ebenfalls eingeschlossen. Demzufolge sind Abweichungen von dem/den obigen Design und Ausgestaltungen möglich, ohne von dem durch die nachfolgenden Ansprüche dargelegten Umfang abzuweichen, wobei dieser Umfang nur durch die Ansprüche, wenn angemessen ausgelegt, begrenzt wird.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 62468198 [0001]
- WO 2016/133601 [0052]