-
Ausführungsformen der vorliegenden Erfindung betreffen ein Verfahren und eine Vorrichtung zur Bearbeitung eines Zielspeichers, insbesondere zur effizienten Fortsetzung der Nutzung eines Speichers für eine Anwendung selbst bei Ausfall einer Speicherzelle des Speichers.
-
Eine Aufgabe besteht insbesondere darin, eine effiziente Speichernutzung zu ermöglichen.
-
Diese Aufgabe wird gemäß den Merkmalen der unabhängigen Ansprüche gelöst. Bevorzugte Ausführungsformen sind insbesondere den abhängigen Ansprüchen entnehmbar.
-
Diese hierin vorgeschlagenen Beispiele können insbesondere auf zumindest einer der nachfolgenden Lösungen basieren. Insbesondere können Kombinationen der nachfolgenden Merkmale eingesetzt werden, um ein gewünschtes Ergebnis zu erreichen. Die Merkmale des Verfahrens können mit (einem) beliebigen Merkmal(en) der Vorrichtung, des Geräts oder Systems oder umgekehrt kombiniert werden.
-
Es wird ein Verfahren vorgeschlagen zur Bearbeitung eines Zielspeichers, wobei das Verfahren folgende Schritte umfasst:
- – Überprüfen des Zielspeichers nach einem auf den Zielspeicher ausgerichteten Löschvorgang;
- – Ersetzen des Zielspeichers durch einen freien Speicher falls ein Defekt detektiert wurde.
-
Somit wird aufgrund eines Löschvorgangs der Zielspeicher überprüft.
-
Bei dem Defekt kann es sich um einen einzelnen Defekt oder eine Reihe von Defekten handeln, die einen vorbestimmten Schwellenwert erreichen und/oder überschreiten. Der Fehler kann ermittelt werden, z.B. wenn ein vorliegender Fehlerkorrekturcode (ECC) nicht ausreicht, um den Fehler zu korrigieren. Der Defekt kann insbesondere auf eine fehlerhafte Speicherzelle zurückzuführen sein, die auf Grundlage eines Lesevorgangs ermittelt wird.
-
Wenn die Überprüfung einen solchen Defekt aufdeckt, wird der Zielspeicher durch den freien Speicher ersetzt.
-
Vorzugsweise kann es sich bei dem Zielspeicher um einen Speicheranteil handeln, der durch eine Vorrichtung oder für den Betrieb einer Vorrichtung verwendet wird. Der Zielspeicher, der dem Löschvorgang unterzogen wird, kann dieselbe Größe und/oder Struktur wie der freie Speicher aufweisen.
-
Somit ermöglicht die Lösung vorteilhafterweise einen transparenten Reparaturvorgang für einen fehlerhaften oder teilweise fehlerhaften Zielspeicher.
-
Es ist eine Weiterbildung, dass der Zielspeicher dieselbe Größe oder Struktur aufweist wie der freie Speicher.
-
Es ist eine Weiterbildung, dass das Verfahren ferner folgenden Schritt umfasst:
- – Nicht-Ersetzen des Zielspeichers durch einen freien Speicher, falls kein Defekt detektiert wurde.
-
Es ist eine Weiterbildung, dass der Zielspeicher ein Bereich eines Speichers ist, der als Ganzes einem Löschvorgang unterzogen wird.
-
Somit kann der Zielspeicher (und auch der freie Speicher) einem Speicherbereich entsprechen, der durch den Löschvorgang vollständig gelöscht wird.
-
Es ist eine Weiterbildung, dass das Verfahren ferner nach dem Ersetzen des Zielspeichers durch den freien Speicher folgenden Schritt umfasst:
- – Zuordnen des freien Speichers, der anstelle des Zielspeichers zu verwenden ist.
-
Es ist eine Weiterbildung, dass der Zielspeicher Speicherzellen eines Flash-Speichers umfasst.
-
Es ist eine Weiterbildung, dass der Zielspeicher eine Seite umfasst und der freie Speicher eine Seite umfasst.
-
Es ist eine Weiterbildung, dass der Zielspeicher einen Zielsektor umfasst und bei dem der freie Speicher einen freien Sektor umfasst, wobei jeder Sektor mehrere Seiten umfasst.
-
Es ist eine Weiterbildung, dass das Verfahren ferner folgende Schritte umfasst:
- – Überprüfen der Zielseite nach einem auf die Zielseite ausgerichteten Löschvorgang;
- – Ersetzen der Zielseite durch eine freie Seite, falls ein Defekt detektiert wurde.
-
Es ist eine Weiterbildung, dass das Verfahren ferner folgende Schritte umfasst:
- – wenn eine freie Seite des freien Sektors bereits für den Zielsektor verwendet wurde, Durchführen folgender Schritte:
– Ersetzen des Zielsektors durch den freien Sektor;
– Löschen des freien Sektors;
– Zuordnen des anstelle des Zielsektors zu verwendenden freien Sektors;
- – wenn eine freie Seite des freien Sektors nicht für den Zielsektor verwendet wurde, Durchführen folgender Schritte:
– Löschen des Zielsektors;
– Überprüfen des Zielsektors;
– Ersetzen des Zielsektors durch den freien Sektor und Zuordnen des anstelle des Zielsektors zu verwendenden freien Sektors falls ein Defekt detektiert wurde;
– Zuordnen des anstelle des Zielsektors zu verwendenden freien Sektors.
-
Es ist eine Weiterbildung, dass das Verfahren ferner folgenden Schritt umfasst:
- – Nicht-Ersetzen des Zielsektors durch den freien Sektor, wenn kein Defekt detektiert wurde.
-
Es ist eine Weiterbildung, dass der freie Speicher während eines Produktionstests getestet wird.
-
Der freie Speicher, z.B. der freie Sektor oder die freie Seite, kann getestet und/oder gelöscht werden, bevor er verwendet wird, z.B. während eines Produktionstests.
-
Weiterhin wird eine Vorrichtung zur Bearbeitung eines Zielspeichers vorgeschlagen, wobei die Vorrichtung eine Bearbeitungseinheit umfasst, die eingerichtet ist zum
- – Überprüfen des Zielspeichers nach einem auf den Zielspeicher ausgerichteten Löschvorgang;
- – Ersetzen des Zielspeichers durch einen freien Speicher bei Detektion eines Defekts.
-
Es ist anzumerken, dass die hierin angeführten Verfahrensschritte ebenfalls durch diese Bearbeitungseinheit ausführbar sein können.
-
Es ist ferner anzumerken, dass die Bearbeitungseinheit zumindest ein und insbesondere mehrere Mittel umfassen kann, die angeordnet sind, um die hierin beschriebenen Verfahrensschritte auszuführen. Die Mittel können logisch oder physisch getrennt sein; insbesondere könnten mehrere logisch separate Mittel in zumindest einer physischen Einheit kombiniert werden.
-
Die Bearbeitungseinheit kann zumindest eines der folgenden Elemente umfassen: einen Prozessor, eine Mikrosteuervorrichtung, eine festverdrahtete Schaltung, einen ASIC, ein FPGA, eine Logikvorrichtung.
-
Es ist eine Weiterbildung, dass die Vorrichtung den Zielspeicher und den freien Speicher umfasst.
-
Es ist eine Weiterbildung, dass der Zielspeicher dieselbe Größe oder Struktur wie der freie Speicher aufweist.
-
Es ist eine Weiterbildung, dass die Bearbeitungseinheit eingerichtet ist zum
- – Nicht-Ersetzen des Zielspeichers durch einen freien Speicher, wenn kein Defekt detektiert wurde.
-
Es ist eine Weiterbildung, dass der Zielspeicher Speicherzellen eines Flash-Speichers umfasst.
-
Es ist eine Weiterbildung, dass der Zielspeicher eine Seite umfasst und der freie Speicher eine Seite umfasst.
-
Es ist eine Weiterbildung, dass der Zielspeicher einen Zielsektor umfasst und bei der der freie Speicher einen freien Sektor umfasst, wobei jeder Sektor jeweils mehrere Seiten umfasst.
-
Es ist eine Weiterbildung, dass die Bearbeitungseinheit eingerichtet ist zum Durchführen folgender Schritte:
- – wenn eine freie Seite des freien Sektors bereits für den Zielsektor verwendet wurde, Durchführen folgender Schritte:
– Ersetzen des Zielsektors durch den freien Sektor;
– Löschen des freien Sektors;
– Zuordnen des anstelle des Zielsektors zu verwendenden freien Sektors;
- – wenn eine freie Seite des freien Sektors nicht für den Zielsektor verwendet wurde, Durchführen folgender Schritte:
– Löschen des Zielsektors;
– Überprüfen des Zielsektors;
– Ersetzen des Zielsektors durch den freien Sektor und Zuordnen des anstelle des Zielsektors zu verwendenden freien Sektors bei Detektion eines Defekts;
– Zuordnen des anstelle des Zielsektors zu verwendenden freien Sektors.
-
Auch wird ein Computerprogrammprodukt angegeben, das direkt in einen Speicher eines digitalen Computers geladen werden kann und Software-Code-Teile für das Durchführen der Schritte des hierin beschriebenen Verfahrens umfasst.
-
Ferner wird ein computerlesbares Medium vorgeschlagen, das durch einen Computer ausführbare Befehle aufweist, um ein Computersystem zu veranlassen, das hierin beschriebene Verfahren durchzuführen.
-
Ausführungsformen werden unter Bezugnahme auf die Zeichnungen dargestellt und veranschaulicht. Die Zeichnungen dienen zur Veranschaulichung des grundlegenden Prinzips, so dass nur Aspekte, die für das Verständnis dieses grundlegenden Prinzips erforderlich sind, dargestellt sind. Die Zeichnungen sind nicht maßstabsgetreu. In den Zeichnungen bezeichnen dieselben Bezugszeichen ähnliche Merkmale.
-
1 zeigt ein schematisches Flussdiagramm, das Schritte eines Online-Reparaturvorgangs für das Löschen von Seiten zeigt;
-
2 zeigt ein schematisches Flussdiagramm, das Schritte eines Online-Reparaturvorgangs für das Löschen von Seiten zeigt;
-
3 zeigt ein schematisches Diagramm, das den Online-Reparaturvorgang für Seiten veranschaulicht;
-
4 zeigt ein schematisches Diagramm, das den Online-Reparaturvorgang für Sektoren veranschaulicht.
-
Speicherzellen, z.B. Flash-Zellen, können lokale Defekte erleiden, die während eines Herstellungsverfahrens verursacht werden. Ein solcher lokaler Defekt kann zu einer Schwachstelle in der Isolation zwischen der Speicherzelle und anderen Strukturen, wie z.B. Source- oder Drainkontakten, führen. Spannungen, die zum Programmieren der Speicherzelle verwendet werden, und (womöglich andere) Spannungen, die zum Löschen der Speicherzelle oder eines Speicherbereichs (z.B. einer Seite oder eines Sektors) verwendet werden, der die Speicherzelle umfasst, können zu einem Schaden an der Isolation führen und damit zu zumindest einer defekten Speicherzelle.
-
Nach dem Herstellungsverfahren von Speicherzellen kann ein Testprogramm ausgeführt werden, um die Speicherzellen vor deren Verkauf oder Inbetriebnahme zu testen. Es kann jedoch sein, dass das Testprogramm nicht alle defekten Speicherzellen oder alle potenziell defekten Speicherzellen aufdeckt. Der Zustand mancher Speicherzellen kann sich insbesondere im Lauf der Zeit verschlechtern, und sie erreichen einen defekten Zustand erst nach Inbetriebnahme. Zusätzlich dazu ist das Testprogramm zeitaufwändig und teuer und deckt möglicherweise in manchen Produkten nicht alle Defekte ab.
-
Die Speicherzellen können Flash-Speicherzellen oder eingebettete Speicherzellen sein, wie z.B. FLASH- oder EEPROM-Speicherzellen in eigenständigen oder eingebetteten Vorrichtungen.
-
Beispiele, die hiermit bereitgestellt sind, stellen ein Online-Reparaturkonzept vor, das eine Reduktion der Auswirkungen möglicher Defekte von Speicherzellen ermöglicht. Ein solches Online-Reparaturkonzept kann auf Speicherzellen angewandt werden, die bereits ausgeführt und in einer Vorrichtung verwendet werden. Die Lösung ermittelt insbesondere zumindest eine defekte Speicherzelle und stellt eine Maßnahme bereit, um diese zumindest eine defekte Speicherzelle nicht zu verwenden. Es ist anzumerken, dass sich die Bezeichnung „Reparatur“ auf das Ergebnis beziehen kann, dass die Funktionalität eines logischen Speicherbereichs erhalten bleibt, obwohl ein Zielspeicher durch einen freien Speicher ersetzt wurde. In diesem Zusammenhang umfasst „Reparatur“ die Bedeutung des Ersetzens durch einen freien Speicher(-abschnitt).
-
Bereitgestellte Beispiele können auch eine Kombination von Seiten- und Sektorlöschvorgängen für einen freien Speicherabschnitt, d.h. einen freien Sektor, nutzen, der mehrere freie Seiten umfasst. Eine freie Seite des freien Sektors kann beispielsweise anstelle einer Zielseite (eines Zielsektors) verwendet werden, wenn das Löschen der Zielseite einen Fehler aufweist. Der freie Sektor kann auch anstelle des Zielsektors verwendet werden, wenn das Löschen des Zielsektors einen Fehler aufweist.
-
Die angeführten Beispiele erfordern keine Verschiebung von Daten an einen anderen Ort und keine erneute Abbildung der Adressinformationen (an einen anderen Ort). Solche Datenverschiebungen sind zeitaufwändig und mit dem Risiko verbunden, dass Daten verloren gehen, wenn die Energieversorgung während einer solchen Datenverschiebung unterbrochen wird.
-
Vorteilhafterweise detektieren und reparieren (z.B. umgehen) die angeführten Lösungen Fehler, die während eines Löschvorgangs auftreten. Demnach müssen keine Kundendaten verschoben werden.
-
Der Ansatz ermöglicht auch den Umgang mit dem Ausfall zumindest einer Speicherzelle während des Löschens eines Sektors oder einer Seite eines Speicherbereichs und kann für den normalen Benutzerbetrieb vollkommen transparent (unsichtbar) ablaufen. Vorzugsweise werden Daten, die nicht gelöscht werden sollten, nicht durch die hierin vorgeschlagene Fehlerbehandlung beeinflusst.
-
Der angeführte Ansatz kann insbesondere in Software, Hardware und/oder Firmware umgesetzt werden.
-
Vorteilhafterweise wird ein freier Speicherabschnitt (z.B. ein freier Sektor) bereitgestellt und kann für den Reparaturvorgang verwendet werden. Der freie Speicherabschnitt kann während eines Produktionstests getestet und/oder gelöscht werden.
-
Als Beispiel kann eine (Abbildungs-)Information über die Verwendung des freien Speicherabschnitts in einem nicht-flüchtigen Konfigurationsbereich, der zur Wiederherstellung von Daten nach einem Einschalten verwendet werden kann, gespeichert werden.
-
Beispiel: Online-Reparaturvorgang für das Löschen von Seiten
-
1 zeigt ein schematisches Flussdiagramm, das Schritte eines Online-Reparaturvorgangs für das Löschen von Seiten umfasst.
-
Es ist anzumerken, dass eine Zielseite ein Speicherabschnitt eines Speichers ist, der mehrere Speicherzellen umfasst. Der Zielspeicher (derzeit verwendeter Speicher) kann mehrere (Ziel-)Sektoren umfassen, wobei jeder (Ziel-)Sektor mehrere (Ziel-)Seiten umfassen kann.
-
Die Zielseite kann defekte Speicherzellen umfassen, die während eines Löschvorgangs der Zielseite ermittelt werden. Der Löschvorgang kann auf die gesamte Seite ausgerichtet sein, d.h. alle Speicherzellen der Zielseite werden durch den Löschvorgang gelöscht.
-
Ein freier Sektor, der mehrere freie Seiten umfasst, kann bereitgestellt sein. Eine freie Seite kann als Ersatz für eine Zielseite verwendet werden. Der freie Sektor kann dieselbe Dimension aufweisen wie ein beliebiger der Zielsektoren. Gegebenenfalls können mehrere freie Sektoren bereitgestellt sein.
-
In einem Schritt 101 wird die Zielseite gelöscht. Nach dem Löschvorgang wird die Zielseite in einem Schritt 102 überprüft. Eine solche Überprüfung kann Lesevorgänge umfassen, um gelöschte Daten zu überprüfen. In einem Schritt 103 wird überprüft, ob während der Überprüfung der Zielseite ein Fehler aufgetreten ist. Wenn kein Fehler aufgetreten ist, folgt ein Schritt 104, bei dem die freie Seite verwendet wird, wenn diese freie Seite abgebildet ist, z.B. in einem Konfigurations(speicher)bereich.
-
Wird in Schritt 103 ein Fehler detektiert, wird zu einem Schritt 105 gesprungen. In diesem Schritt 105 wird die Zielseite durch eine freie Seite des freien Sektors ersetzt. Die freie Seite kann dieselbe physische Position innerhalb des freien Sektors aufweisen wie die Zielseite innerhalb des Zielsektors.
-
Dann wird in einem Schritt 106 die freie Seite abgebildet und in einem Schritt 107 werden die Abbildungsinformationen in den Konfigurationsbereich geschrieben, um anzugeben, welcher Speicherabschnitt durch das System oder Programm zu verwenden ist.
-
Der Konfigurationsbereich kann während eines Einschaltvorgangs überprüft werden, um zu ermitteln, ob eine freie Seite verwendet werden soll und welche Zielseite durch die freie Seite ersetzt wird.
-
Nach Schritt 107 gibt Schritt 104 an, dass aufgrund der in dem Konfigurationsbereich gefundenen Abbildungsinformationen ab sofort die freie Seite verwendet wird.
-
3 zeigt ein schematisches Diagramm, das den Online-Reparaturvorgang für Seiten darstellt. Ein (Ziel-)Speicher 301 umfasst mehrere Zielsektoren 302 bis 304, wobei jeder der Zielsektoren 302 bis 304 mehrere Zielseiten umfasst. Ein Löschvorgang für den Zielspeicher 301 kann auf eine einzige Zielseite eines beliebigen Zielsektors 302 bis 304 oder auf einen beliebigen Zielsektor 302 bis 304 ausgerichtet sein.
-
Ein Beispiel für einen freien Sektor 305 weist dieselbe physische Struktur auf wie alle Zielsektoren 302 bis 304, d.h. er umfasst dieselbe Anzahl an Seiten. In dem in 3 dargestellten Beispiel weist die erste Zielseite in dem Zielsektor 302 (zumindest) eine defekte Zelle auf, die während eines Überprüfungsvorgangs nach einem Löschvorgang, der auf diese Zielzelle angewandt wurde, erkannt wurde. Die erste freie Seite des freien Sektors 305 wird dann verwendet, um diese Zielseite zu ersetzen.
-
Abbildungsinformationen, die in einem Konfigurationsbereich gespeichert sind, stellen sicher, dass die Daten in dem aktuell verwendeten physischen Speicherabschnitt, z.B. der/den freien Seite/n des Sektors 305, aufgefunden werden können.
-
Beispiel: Online-Reparaturvorgang für das Löschen von Sektoren
-
2 zeigt ein schematisches Flussdiagramm eines Online-Reparaturvorgangs für das Löschen von Sektoren.
-
In einem Schritt 201 wird überprüft, ob eine freie Seite eines freien Sektors bereits für den Zielsektor verwendet wird. Wenn das der Fall ist, ist zumindest eine Speicherzelle einer Zielseite des Zielsektors defekt und für diese Zielseite wurde bereits eine freie Seite abgebildet. In einem folgenden Schritt 208 (angenommen, dass in dem Zielsektor eine freie Seite verwendet wird) wird der Zielsektor somit durch den freien Sektor ersetzt. Dann wird der freie Sektor gelöscht. In einem nächsten Schritt 209 wird der freie Sektor abgebildet, und in einem Schritt 210 werden die Abbildungsinformationen in den Konfigurationsbereich geschrieben, um den freien Sektor anstelle des Zielsektors zu verwenden. In einem nächsten Schritt 205 wird der freie Sektor verwendet, wenn er in dem Konfigurationsbereich abgebildet ist; andernfalls wird der Zielsektor verwendet.
-
Der Konfigurationsbereich kann während eines Einschaltvorgangs überprüft werden, um zu ermitteln, ob eine freie Seite (oder ein freier Sektor) zu verwenden ist oder nicht und welche Zielseite (oder welcher Zielsektor) durch die freie Seite (oder den freien Sektor) ersetzt wird. Zu diesem Zweck kann der Konfigurationsbereich zwei Einträge (für jeden freien Sektor verfügbar) umfassen. Beide Einträge können zu Beginn gelöscht werden. Die freie Seite kann in den ersten Eintrag geschrieben werden und der freie Sektor in den zweiten.
-
Wenn während des Einschaltens der erste Eintrag nicht leer ist und der zweite Eintrag leer ist, werden die Informationen aus dem ersten Eintrag verwendet, um zu ermitteln, welche Seite des freien Sektors anstelle der entsprechenden Seite welches Zielsektors zu verwenden ist. Gegebenenfalls können mehrere Seiten identifiziert werden, um mehrere Seiten eines Zielsektors durch entsprechende Seiten des freien Sektors zu ersetzen.
-
Wenn während des Einschaltens der zweite Eintrag nicht leer ist, bestimmt der zweite Eintrag, welcher Zielsektor durch den freien Sektor ersetzt wird.
-
Optional können mehrere freie Sektoren bereitgestellt sein. In einem solchen Fall kann der Konfigurationsbereich zwei Einträge für jeden der freien Sektoren bereitstellen, um (während des Einschaltens) zu ermöglichen, dass ermittelt wird, welche(r) Zielseite(n) und/oder Zielsektor(en) durch (eine) freie Seite(n) und/oder (einen) freie(n) Zielsektor(en) ersetzt werden kann.
-
Wenn Schritt 201 zeigt, dass keine freie Seite des freien Sektors für den Zielsektor verwendet wird, wird der Zielsektor in einem Schritt 202 gelöscht. In einem folgenden Schritt 203 wird der Zielsektor überprüft. Eine solche Überprüfung kann Lesevorgänge umfassen, um gelöschte Daten auf allen Zielseiten des Zielsektors zu prüfen. In einem Schritt 204 wird überprüft, ob während des Überprüfens des Zielsektors ein Fehler aufgetreten ist. Ist kein Fehler aufgetreten, folgt Schritt 205, bei dem der Zielsektor verwendet wird (da der freie Sektor nicht abgebildet war).
-
Wird in Schritt 204 ein Fehler detektiert, wird zu einem Schritt 206 gesprungen. In diesem Schritt 206 wird der Zielsektor durch den freien Sektor ersetzt. In einem nächsten Schritt 207 wird der freie Sektor in dem Konfigurationsbereich abgebildet, um den freien Sektor anstelle des Zielsektors zu verwenden. Darauf folgt Schritt 205, der angibt, dass der zuvor abgebildete freie Sektor anstelle des Zielsektors zu verwenden ist.
-
4 zeigt eine schematische Darstellung, die einen Online-Reparaturvorgang für Sektoren veranschaulicht. 4 basiert auf 3. Anstelle der Verwendung von bloßen freien Seiten, wird der gesamte freie Sektor 305 verwendet, um den Zielsektor 302 zu ersetzen, da auf der ersten Zielseite des Zielsektors ein Fehler vorliegt. Ein solches Ersetzen erfolgt nach einem auf den Sektor 302 ausgerichteten Löschvorgang. Dementsprechend werden alle freien Seiten des freien Sektors 305 anstelle der Zielseiten des Zielsektors 302 verwendet.
-
Es ist anzumerken, dass mehrere freie Sektoren (durch einen zweiten freien Sektor 306 angezeigt) bereitgestellt sein können, wenn weitere Fehler in Speicherzellen auftreten und Zielseiten und/oder Zielsektoren nach einem Löschvorgang ersetzt werden müssen.
-
Weitere(r) Vorteil(e) und Ausführungsform(en)
-
Es stellt einen Vorteil dar, dass keine Benutzerdaten verschoben werden müssen. Der vorgeschlagene Ansatz wird insbesondere durch einen Löschvorgang ausgelöst und stellt einen transparenten Mechanismus zur Reparatur von Zielspeicherbereichen auf Grundlage eines solchen Löschvorgangs bereit. Infolge des angeforderten Löschvorgangs wird ein gelöschter Zielspeicherbereich oder (bei Detektion eines Fehlers) ein gelöschter freier Speicherbereich bereitgestellt. In Anbetracht der Lebensdauer einer Vorrichtung ist der Ansatz effizient und bewirkt keine signifikante Verschlechterung der für den Löschvorgang erforderlichen Zeit.
-
Die hierin vorgeschlagenen Beispiele können insbesondere auf zumindest einer der folgenden Lösungen beruhen. Insbesondere können Kombinationen der folgenden Merkmale angewandt werden, um ein gewünschtes Ergebnis zu erzielen. Die Merkmale des Verfahrens könnten mit einem beliebigen Merkmal/beliebigen Merkmalen der Vorrichtung, des Geräts oder des Systems oder umgekehrt kombiniert werden.
-
In einem oder mehreren Beispielen können die hierin beschriebenen Funktionen zumindest teilweise als Hardware umgesetzt sein, wie z.B. in Form spezifischer Hardware-Komponenten oder eines Prozessors. Allgemeiner können die Techniken in Hardware, Prozessoren, Software, Firmware oder einer beliebigen Kombination davon umgesetzt werden. Bei Umsetzung als Software können die Funktionen auf einem computerlesbaren Medium gespeichert oder über dieses in Form von einem oder mehreren Befehlen oder Code übermittelt und durch eine Hardware-basierte Bearbeitungseinheit ausgeführt werden. Computerlesbare Medien können computerlesbare Speichermedien einschließen, die einem greifbaren Medium, wie z.B. einem Datenspeichermedium, oder einem Kommunikationsmedium entsprechen, das ein beliebiges Medium umfasst, das die Übertragung eines Computerprogramms von einem Ort an einen anderen, z.B. gemäß einem Kommunikationsprotokoll, ermöglicht. Auf diese Weise können computerlesbare Medien im Allgemeinen (1) greifbaren computerlesbaren Speichermedien, die nicht flüchtig sind, oder (2) einem Kommunikationsmedium, wie z.B. einem Signal oder einer Trägerwelle, entsprechen. Datenspeichermedien können beliebige verfügbare Medien sein, auf die durch einen oder mehrere Computer oder einen oder mehrere Prozessoren zugegriffen werden kann, um Befehle, Code und/oder Datenstrukturen zur Umsetzung der in der vorliegenden Offenbarung beschriebenen Verfahren abzurufen. Ein Computerprogrammprodukt kann ein computerlesbares Medium umfassen.
-
Beispielsweise und nicht als Einschränkung kann ein solches computerlesbares Medium RAM, ROM, EEPROM, CD-ROM oder das Speichern auf einer anderen optischen Speicherplatte, das Speichern auf magnetischen Speicherplatten oder andere magnetische Speichervorrichtungen, Flash-Speicher oder ein anderes Medium umfassen, das verwendet werden kann, um den gewünschten Programmcode in Form von Befehlen oder Datenstrukturen zu speichern, und auf das durch einen Computer zugegriffen werden kann. Jede Verbindung wird ebenfalls richtigerweise als computerlesbares Medium bezeichnet, d.h. ein computerlesbares Übertragungsmedium. Wenn Befehle beispielsweise von einer Webseite, einem Server oder einer anderen entfernten Quelle unter Verwendung eines Koaxialkabels, eines faseroptischen Kabels, eines verdrillten Kabels, einer digitalen Teilnehmeranschlussleitung (DSL-Leitung) oder drahtloser Technologien, wie z.B. Infrarot, Funk oder Mikrowellen, übertragen werden, dann sind das Koaxialkabel, das faseroptische Kabel, das verdrillte Kabel, die DSL-Leitung oder die drahtlosen Technologien wie Infrarot, Funkt und Mikrowellen in der Definition des Mediums eingeschlossen. Es sollte jedoch klar sein, dass computerlesbare Speichermedien und Datenspeichermedien keine Verbindungen, Trägerwellen, Signale oder andere flüchtige Medien einschließen, sondern indessen auf nicht flüchtige, greifbare Speichermedien ausgerichtet sein. Disks und Discs schließen, wie hierin verwendet, Compact Discs (CD), Laser Discs, optische Discs, DVDs (Digital Versatile Disc), Disketten (Floppy Disks) und Blu-Ray Discs ein, wobei Disks Daten üblicherweise magnetisch wiedergeben, während Discs diese optisch mit Lasern wiedergeben. Kombinationen der oben angeführten sind auch Teil des Umfangs von computerlesbaren Medien.
-
Befehle können durch einen oder mehrere Prozessoren ausgeführt werden, wie z.B. durch einen oder mehrere Zentralprozessoren (CPU), digitale Signalprozessoren (DSP), allgemeine Mikroprozessoren, anwendungsspezifische integrierte Schaltungen (ASIC), frei programmierbare Verknüpfungsfelder (FPGA) oder andere gleichwertige integrierte oder diskrete logische Schaltungen. Dementsprechend kann sich die Bezeichnung „Prozessor“, wie hierin verwendet, auf eine beliebige der oben angeführten Strukturen oder jede andere Struktur beziehen, die zur Ausführung der hierin beschriebenen Verfahren geeignet ist. Zusätzlich dazu kann die hierin beschriebene Funktionalität mit dedizierten Hardware- und/oder Softwaremodulen bereitgestellt sein, die zum Kodieren und Dekodieren konfiguriert sind, oder Teil eines kombinierten Codec sein. Die Verfahren könnten auch vollständig in einer oder mehreren Schaltungen oder logischen Elementen ausgeführt werden.
-
Die Verfahren der vorliegenden Offenbarung können in einer Vielfalt von Vorrichtungen oder Geräten umgesetzt werden, einschließlich in einem drahtlosen Mobiltelefon, einer integrierten Schaltung (IC) oder einer Reihe von IC (z.B. einem Chip-Satz). Unterschiedliche Komponenten, Module oder Einheiten sind in der vorliegenden Offenbarung beschrieben, um funktionelle Aspekte der Vorrichtungen hervorzuheben, die zur Durchführung der offenbarten Verfahren konfiguriert sind, aber nicht notwendigerweise die Umsetzung durch unterschiedliche Hardware-Einheiten erfordern. Wie oben beschrieben können unterschiedliche Einheiten in einer einzigen Hardware-Einheit kombiniert werden oder durch eine Anordnung interoperativer Hardware-Einheiten bereitgestellt sein, einschließlich durch einen oder mehrere Prozessoren, wie oben beschrieben, in Verbindung mit geeigneter Software und/oder Firmware.
-
Wenngleich unterschiedliche Ausführungsbeispiele der Erfindung offenbart wurden, ist Fachleuten auf dem Gebiet der Erfindung klar, dass verschiedene Veränderungen und Modifikationen vorgenommen werden können, durch die einige der Vorteile der Erfindung erreicht werden können, ohne vom Wesen und Schutzumfang der Erfindung abzuweichen. Für Fachleute auf dem Gebiet der Erfindung ist offensichtlich, dass andere Komponenten, die dieselben Funktionen ausführen, auf geeignete Weise als Ersatz verwendet werden können. Es ist anzumerken, dass unter Bezugnahme auf eine bestimmte Figur beschriebene Merkmale mit Merkmalen anderer Figuren kombiniert werden können, selbst in jenen Fällen, in denen das nicht explizit angeführt ist. Außerdem können die erfindungsgemäßen Verfahren als Software-Ausführungen unter Verwendung der geeigneten Prozessorbefehle oder in Hybridausführungen, die eine Kombination von Hardware-Logik und Software-Logik nutzen, um dieselben Ergebnisse zu erzielen, umgesetzt werden. Solche Modifikationen des erfinderischen Konzepts sind durch die beigefügten Ansprüche abgedeckt.