-
QUERVERWEIS ZU VERWANDTEN ANMELDUNGEN
-
Ein Anspruch nach 35 U.S.C. § 119(a) auf die
koreanische Patentanmeldung Nr. 10-2013-0026326 wird erhoben, die am 12. März 2013 eingereicht wurde, deren Inhalt hiermit durch Bezug hierin aufgenommen wird.
-
HINTERGRUND
-
Mit steigender Computerleistung in Mobilgeräten, wie beispielsweise in einem Smartphone und in einem Tablet-Personal-Computer (PC), ist es möglich, eine Vielzahl von Anwendungen zur selben Zeit in dem Mobilgerät zu betreiben.
-
Wenn viele Anwendungen zur selben Zeit laufen, sinkt die Kapazität eines Systemspeichers des Mobilgeräts, und Multitasking-Probleme können auftreten.
-
Zur Überwindung dieser Probleme, kann ein Datenauslagerungs-Vorgang benutzt werden. In einem Datenauslagerungs-Vorgang werden Daten, die in dem Systemspeicher gespeichert sind, der in einer Anwendung benutzt wird, aber nicht im Vordergrund arbeitet, auf eine externe Speichervorrichtung verschoben. Während dem Datenauslagerungs-Vorgang werden alle zu übertragenden Daten komprimiert, um die Übertragungsgeschwindigkeit der Daten, die auf die externe Speichervorrichtung bewegt werden zu erhöhen, und um die Lebenszeit der externen Speichervorrichtung zu verlängern.
-
ZUSAMMENFASSUNG
-
Wenigstens eine Ausführungsform der erfinderische Ideen bezieht sich auf eine Datenverarbeitungstechnik, und genauer, auf ein Verfahren zum wahlweisen Komprimieren eines Teils von unkomprimierten Daten, welcher ausgelagert werden wird, basierend auf einem Kompressionsverhältnis für den Rest der unkomprimierten Daten und/oder eine Vorrichtung zum Ausführen des Verfahrens.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, beinhaltet ein Verfahren zum Betreiben eines Datenverarbeitungssystem das Komprimieren eines ersten Teils von unkomprimierten Daten, und das Ermitteln, ob ein zweiter Teil der unkomprimierten Daten komprimiert werden soll, basierend auf einer erwarteten Datengröße des komprimierten ersten Teils und einer tatsächlichen Datengröße des komprimierten ersten Teils. Das Verfahren umfasst das Übertragen von ersten Übertragungsdaten und/oder zweiten Übertragungsdaten an eine externe Speichervorrichtung, basierend auf einem Ergebnis der Ermittlung. Die ersten Übertragungsdaten beinhalten den komprimierten ersten und zweiten Teil, und die zweiten Übertragungsdaten beinhalten den ersten und zweiten Teil der unkomprimierten Daten.
-
Gemäß wenigstens einer beispielhaften Ausführungsform beinhaltet das Komprimieren ein Komprimieren des ersten Teils der unkomprimierten Daten mit einem ersten Kompressionsalgorithmus von wenigstens einem Kompressionsalgorithmus beinhaltet. Das Ermitteln beinhaltet das Vergleichen der erwarteten Datengröße des komprimierten ersten Teils mit der tatsächlichen Datengröße des komprimierten ersten Teils, und Ermitteln auf Basis eines Ergebnisses des Vergleichs, ob der zweite Teil komprimiert werden soll.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, beinhaltet das Verfahren des Weiteren das Berechnen der erwarteten Datengröße, basierend auf einem minimalen Kompressionsverhältnis, einem Kompressionsverhältnis des ersten Kompressionsalgorithmus, und einer Bezugs-Datenblockgröße.
-
Gemäß wenigstens einer beispielhaften Ausführungsform werden das minimale Kompressionsverhältnis und die Bezugs-Datenblockgröße von einem Hersteller und/oder einem Benutzer eingestellt.
-
Gemäß wenigstens einer beispielhaften Ausführungsform ist das minimale Kompressionsverhältnis ein Verhältnis zwischen einer minimal benötigten Datengröße des komprimierten ersten Teils und einer Datengröße des ersten Teils der unkomprimierten Daten.
-
Gemäß wenigstens einer beispielhaften Ausführungsform beinhaltet das Verfahren des weiteren das Berechnen eines erwarteten Kompressionsverhältnisses des ersten Teils, basierend auf einem minimalen Kompressionsverhältnis und einem Verhältnis eines Kompressionsverhältnisses zwischen dem ersten Kompressionsalgorithmus und einem gesamten Kompressionsverhältnis des wenigstens einen Kompressionsalgorithmus Das Verfahren beinhaltet das Berechnen der erwarteten Daten Größe, basierend auf dem erwarteten Kompressionsverhältnis und einer Bezugs-Datenblockgröße.
-
Gemäß wenigstens einer beispielhaften Ausführungsform beinhaltet das Vergleichen der erwarteten Datengröße mit der tatsächlichen Datengröße das Erzeugen eines Zählwerts, durch Zählen einer Datengröße eines ersten Teils der unkomprimierten Daten, und Vergleichen der erwarteten Datengröße mit der tatsächlichen Datengröße, falls eine Bezugs-Datenblockgröße gleich dem Zählwert ist.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, beinhaltet der erste Teil der unkomprimierten Daten einen ersten Datenblock von einer Vielzahl von Datenblöcken, die in den unkomprimierten Daten beinhaltet sind.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, beinhaltet ein Datenverarbeitungssystem eine interne Speichervorrichtung, die dazu ausgelegt ist, unkomprimierte Daten zu speichern, und einen Prozessor. Der Prozessor ist ausgelegt zum Komprimieren eines ersten Teils der unkomprimierten Daten, Ermitteln, ob ein zweiter Teil der unkomprimierten Daten komprimiert werden soll, basierend auf einer erwarteten Datengröße des komprimierten ersten Teils und einer tatsächlichen Datengröße des komprimierten ersten Teils, und Steuern einer Direktspeicherzugriffs-(DMS-)Steuerung, um erste Übertragungsdaten oder zweite Übertragungsdaten von der internen Speichervorrichtung an eine externe Speichervorrichtung zu übertragen, basierend auf einem Ergebnis der Ermittlung. Die ersten Übertragungsdaten beinhalten den komprimierten ersten und zweiten komprimierten Teil. Die zweiten Übertragungsdaten beinhalten den ersten und zweiten Teil der unkomprimierten Daten.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, ist der Prozessor ausgelegt zum Komprimieren des ersten Teils der unkomprimierten Daten mit einem ersten Kompressionsalgorithmus von wenigstens einem Kompressionsalgorithmus, Vergleichen der erwarteten Datengröße des komprimierten ersten Teils mit der tatsächlichen Datengröße des komprimierten ersten Teils, und Steuern der DMA-Steuerung auf Basis eines Ergebnisses des Vergleichs.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, ist der Prozessor dazu ausgelegt, einen Zählwert zu erzeugen, durch Zählen einer Datengröße eines ersten Teils der unkomprimierten Daten, und ausgelegt zum Vergleichen der erwarteten Datengröße mit der tatsächlichen Datengröße, falls eine Bezugs-Datenblockgröße gleich dem Zählwert ist.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, beinhaltet ein Datenverarbeitungssystem eine interne Speichervorrichtung, die dazu ausgelegt ist, unkomprimierte Daten zu speichern, und eine Kompressionsschaltung. Die Kompressionsschaltung ist ausgelegt zum Komprimieren eines ersten Teils der unkomprimierten Daten, zum Ermitteln, ob ein zweiter Teil der unkomprimierten Daten komprimiert werden soll, basierend auf einer erwarteten Datengröße des komprimierten ersten Teils und einer tatsächlichen Datengröße des komprimierten ersten Teils, und zum Ausgeben eines Ermittlungssignals, basierend auf der Ermittlung. Das Datenverarbeitungssystem beinhaltet eine zentrale Verarbeitungseinheit, die dazu ausgelegt ist, ein Steuersignal zu erzeugen, basierend auf dem Ermittlungssignal, und eine Direktspeicherzugriffs-(DMS-)Steuerung, die dazu ausgelegt ist, erste Übertragungsdaten oder zweite Übertragungsdaten von der internen Speichervorrichtung an eine externe Speichervorrichtung zu übertragen, basierend auf dem Steuersignal. Die ersten Übertragungsdaten beinhalten den komprimierten ersten und zweiten Teil, und die zweiten Übertragungsdaten beinhalten den ersten und zweiten Teil der unkomprimierten Daten.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, ist die Kompressionsschaltung ausgelegt zum Komprimieren des ersten Teils der unkomprimierten Daten mit einem ersten Kompressionsalgorithmus von wenigstens einem Kompressionsalgorithmus, Vergleichen der erwarteten Datengröße des komprimierten ersten Teils mit der tatsächlichen Datengröße des komprimierten ersten Teils, und Ausgeben des Ermittlungssignals auf Basis eines Ergebnisses des Vergleichs.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, ist die Kompressionsschaltung dazu ausgelegt, einen Zählwert zu erzeugen, durch Zählen einer Datengröße eines ersten Teils der unkomprimierten Daten, zum Vergleichen der erwarteten Datengröße mit der tatsächlichen Datengröße, falls eine Bezugs-Datenblockgröße gleich dem Zählwert ist, und Erzeugen des Ermittlungssignals, basierend auf dem Ergebnis des Vergleichs.
-
Gemäß wenigstens einer beispielhaften Ausführungsform beinhaltet die Kompressionsschaltung einen Komprimierer, der ausgelegt ist zum Komprimieren des ersten Teils der unkomprimierten Daten, einen Dateigrößenerwartungs-Rechner, der dazu ausgelegt ist, die erwartete Datengröße auf Basis eines minimalen Kompressionsverhältnisses und einer Bezugs-Datenblockgröße zu berechnen. Die Kompressionsermittlungsschaltung ist ausgelegt, zum Vergleichen der erwarteten Datengröße mit der tatsächlichen Größe des komprimierten ersten Teils, das von dem Komprimierer ausgegeben wird, und zum Ausgeben des Ermittlungssignals, basierend auf einem Ergebnis des Vergleichs.
-
Gemäß wenigstens einer beispielhaften Ausführungsform beinhaltet die Kompressionsschaltung des Weiteren eine Freigabesteuerschaltung, die ausgelegt ist, zum Berechnen einer Größe des ersten Teils der unkomprimierten Daten, und Vergleichen eines Freigabesignals, falls die berechnete Größe des ersten Teils gleich der Bezugs-Datenblockgröße ist. Die Kompressionsermittlungsschaltung ist ausgelegt, zum Vergleichen, in Reaktion auf das Freigabesignal, der erwarteten Datengröße mit der tatsächlichen Größe des komprimierten ersten Teils, und zum Ausgeben des Ermittlungssignals, basierend auf dem Ergebnis des Vergleichs.
-
Gemäß wenigstens einer beispielhaften Ausführungsform ist der Komprimierer ein erster Komprimierer von einer Vielzahl von Komprimierern, die in Reihe zueinander geschaltet sind.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, ist das Datenverarbeitungssystem ein Ein-Chip-System.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, beinhaltet die Kompressionsschaltung einen Komprimierer, der ausgelegt ist, zum Komprimieren des ersten Teils der unkomprimierten Daten, einen ersten Zähler, der ausgelegt ist, zum Zählen einer Datengröße des ersten Teils der unkomprimierten Daten und Ausgeben eines ersten Zählwerts, ein zweiter Zähler, der ausgelegt ist, zum Zählen einer Datengröße des komprimierten ersten Teils, der von dem Komprimierer ausgegeben wird und Ausgeben eines zweiten Zählwerts, ein Dateigrößenerwartungs-Rechner, der ausgelegt ist, zum Berechnen der erwarteten Datengröße, basierend auf einem minimalen Kompressionsverhältnis, einer Bezugs-Datenblockgröße und einem Kompressionsverhältnis des Komprimierers, und eine Kompressionsermittlungsschaltung. Die Kompressionsermittlungsschaltung ist ausgelegt, zum Vergleichen der erwarteten Datengröße mit dem zweiten Zählwert, und zum Ausgeben des Ermittlungssignals, basierend auf dem Ergebnis des Vergleichs.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, beinhaltet die Kompressionsschaltung des Weiteren eine Freigabesteuerschaltung, die dazu ausgelegt ist, ein Freigabesignal zu erzeugen, falls die Bezugs-Datenblockgröße gleich dem ersten Zielwert ist. die Kompressionsermittlungsschaltung ist ausgelegt, zum Vergleichen der erwarteten Datengröße mit dem zweiten Zählwert, in Reaktion auf das Freigabesignal, und zum Ausgeben des Ermittlungssignals, basierend auf dem Ergebnis des Vergleichs.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, beinhaltet ein Mobilgerät eine zentrale Verarbeitungseinheit, die ausgelegt ist, zum Ausführen von mobilen Anwendungen, eine interne Speichervorrichtung, die ausgelegt ist, zum Speichern von unkomprimierten Daten, die in der mobilen Anwendung verwendet werden, und eine Kompressionsschaltung. Die Kompressionsschaltung ist ausgelegt, zum Berechnen einer erwarteten Datengröße für einen ersten Teil der unkomprimierten Daten, basierend auf einem minimalen Kompressionsverhältnis, einem Kompressionsverhältnis von wenigstens einem Kompressionsalgorithmus, der zur Kompression benutzt wird, und einer Bezugs-Datenblockgröße, und Ermitteln, ob ein zweiter Teil der unkomprimierten Daten komprimiert werden soll, basierend auf einem Ergebnis der Berechnung Das Mobilgerät beinhaltet eine Direktspeicherzugriffs-(DMS-)Steuerung, die dazu ausgelegt ist, erste Übertragungsdaten oder zweite Übertragungsdaten von der internen Speichervorrichtung an eine externe Speichervorrichtung zu übertragen, basierend auf dem Steuersignal. Die ersten Übertragungsdaten beinhalten den komprimierten ersten und zweiten Teil, und die zweiten Übertragungsdaten beinhalten den ersten und zweiten Teil der unkomprimierten Daten.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, ist die Kompressionsschaltung ausgelegt zum Komprimieren des ersten Teils der unkomprimierten Daten mit einem ersten Kompressionsalgorithmus von wenigstens einem Kompressionsalgorithmus, Vergleichen der erwarteten Datengröße mit einer komprimierten Datengröße des ersten Teils, und Ermitteln, ob der zweite Teil komprimiert werden soll, basierend auf einem Ergebnis des Vergleichs.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, ist die Kompressionsschaltung ausgelegt, zum Erzeugen eines Zählwerts für den ersten Teil der unkomprimierten Daten, und ausgelegt zum Vergleichen der erwarteten Datengröße mit der komprimierten Datengröße, falls die Bezugs-Datenblockgröße gleich dem Zählwert ist.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, beinhaltet die Kompressionsschaltung einen Komprimierer, der ausgelegt ist, zum Komprimieren des ersten Teils der unkomprimierten Daten, einen ersten Zähler, der ausgelegt ist, zum Zählen einer Datengröße des ersten Teils der unkomprimierten Daten und Ausgeben eines ersten Zählwerts, ein zweiter Zähler, der ausgelegt ist, zum Zählen einer Datengröße des komprimierten ersten Teils, der von dem Komprimierer ausgegeben wird und Ausgeben eines zweiten Zählwerts, ein Dateigrößenerwartungs-Rechner, der ausgelegt ist, zum Berechnen der erwarteten Datengröße, und eine Kompressionsermittlungsschaltung. Die Kompressionsermittlungsschaltung ist ausgelegt, zum Vergleichen der erwarteten Datengröße mit dem zweiten Zählwert, und zum Ermitteln, ob der zweite Teil komprimiert werden soll, basierend auf einem Ergebnis des Vergleichs.
-
Gemäß wenigstens einer beispielhaften Ausführungsform ist der Komprimierer ein erster Komprimierer von einer Vielzahl von Komprimierern, die in Reihe zueinander geschaltet sind.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, ist eine Datenverarbeitungsvorrichtung ausgelegt, zum Komprimieren eines ersten unkomprimierten Teils von unkomprimierten Daten, um erste komprimierte Daten zu erzeugen, Ermitteln aus Basis einer erwarteten Datengröße des ersten unkomprimierten teils und einer tatsächlichen Datengröße des ersten komprimierten Teils, ob ein zweiter unkomprimierter Teil der unkomprimierten Daten komprimiert werden soll, um zweite komprimierte Daten zu erzeugen, und Übertragen von ersten Übertragungsdaten und zweiten Übertragungsdaten und einen externen Speicher, basierend auf der Ermittlung. Die ersten Übertragungsdaten beinhalten den ersten und zweiten komprimierten Teil, und die zweiten Übertragungsdaten beinhalten den ersten und zweiten Teil der unkomprimierten Daten.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, falls die tatsächliche Datengröße des ersten komprimierten Teils kleiner oder gleich der erwarteten Datengröße des ersten komprimierten Teils ist, ist die Datenverarbeitungsvorrichtung ausgelegt, zum Komprimieren des zweiten unkomprimierten Teils der unkomprimierten Daten, und Übertragen der ersten Übertragungsdaten an den externen Speicher.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, falls die tatsächliche Datengröße des ersten komprimierten Teils größer als der erwarteten Datengröße des ersten komprimierten Teils ist, ist die Datenverarbeitungsvorrichtung ausgelegt, zum Beenden einer Kompressionsoperation des zweiten unkomprimierten Teil, und Übertragen der zweiten Übertragungsdaten an den externen Speicher.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, basiert die erwartete Datengröße auf einem gewünschten minimalen Kompressionsverhältnis, auf einem Kompressionsverhältnis eines Kompressionsalgorithmus zum Komprimieren des ersten unkomprimierten teils, und auf einer Bezugs-Datenblockgröße.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, entsprechen der erste und zweite Teil der unkomprimierten Daten jeweils ersten und zweiten Datenblöcken.
-
Gemäß wenigstens einer beispielhaften Ausführungsform, entsprechen der erste und zweite Teil der unkomprimierten Daten jeweils dem ersten und zweiten Teil eines einzelnen Datenblocks.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die obigen und andere Merkmale und Vorteile der erfinderischen Ideen werden klarer durch die ausführliche Beschreibung von beispielhaften Ausführungsformen davon, mit Bezug auf die angehängten Zeichnungen, in denen folgendes gilt:
-
1 ist ein Blockdiagramm eines Datenverarbeitungssystems, gemäß wenigstens einer beispielhaften Ausführungsform der erfinderischen Ideen;
-
2 ist ein entwurfsmäßiges Diagramm zur Erklärung eines beispielhaften Betriebs eines Datenverarbeitungssystems, welches eine Kompressionsschaltung, gemäß wenigstens einer beispielhaften Ausführungsform der erfinderische Ideen beinhaltet;
-
3 ist ein entwurfsmäßiges Diagramm eines mittleren Kompressionsverhältnisses und eines erwarteten Kompressionsverhältnisses in dem Betrieb der Kompressionsschaltung, wie in 2 veranschaulicht;
-
4 ist ein entwurfsmäßiges Diagramm zur Erklärung beispielhafter Operationen einer Freigabesteuerschaltung und einer Kompressionsermittlungsschaltung, die in 2 veranschaulicht sind;
-
5 ist ein entwurfsmäßiges Diagramm zur Erklärung einer beispielhaften Operation der Kompressionsschaltung, wie in 2 veranschaulicht;
-
6 ist ein entwurfsmäßiges Diagramm zur Erklärung eines beispielhaften Betriebs eines Datenverarbeitungssystems, welches eine Kompressionsschaltung, gemäß wenigstens einer beispielhaften Ausführungsform der erfinderische Ideen beinhaltet;
-
7 ist ein entwurfsmäßiges Diagramm eines mittleren Kompressionsverhältnisses und eines erwarteten Kompressionsverhältnisses in dem Betrieb der Kompressionsschaltung, wie in 6 veranschaulicht;
-
8 ist ein entwurfsmäßiges Diagramm zur Erklärung beispielhafter Operationen einer Freigabesteuerschaltung und einer Kompressionsermittlungsschaltung, die in 6 veranschaulicht sind;
-
9 ist ein entwurfsmäßiges Diagramm zur Erklärung einer beispielhaften Operation der Kompressionsschaltung, wie in 6 veranschaulicht;
-
10 ist ein Blockdiagramm eines Datenverarbeitungssystems 100C, gemäß wenigstens einer beispielhaften Ausführungsform der erfinderischen Ideen;
-
11 ist ein Diagramm des Flusses der Signale in einem beispielhaften Betrieb des Datenverarbeitungssystems, das in 10 veranschaulicht ist. und
-
12 ist ein Fließdiagramm eines Verfahrens zum Betreiben eines Datenverarbeitungssystems, gemäß wenigstens einer beispielhaften Ausführungsform der erfinderischen Ideen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die erfinderischen Ideen werden nun vollständig, mit Bezug auf die angehängten Zeichnungen beschrieben, in denen beispielhafte Ausführungsformen gezeigt sind. Die erfinderischen Ideen können jedoch durch vielerlei verschiedene Formen verkörpert werden und sollten nicht als beschränkend, auf die Ausführungsformen, die im Folgenden kommen, ausgelegt werden. Vielmehr werden diese Ausführungsformen erbracht, so dass diese Offenbarung sorgfältig und vollständig sein wird, und dass Konzept der beispielhaften Ausführungsformen vollständig an den Fachmann vermittelt wird. In den Zeichnungen sind die Größe und die relativen Größen der Schichten und Bereiche zur Klarheit übertrieben dargestellt. Gleiche Bezugszeichen beziehen sich durchgehend auf gleiche Elemente.
-
Es versteht sich, dass wenn ein Element als ”verbunden mit”, oder ”befestigt mit” einem anderen Element bezeichnet wird, so kann es direkt verbunden oder befestigt mit dem anderen Element, oder es können dazwischenliegende Elemente vorhanden sein. Wenn im Gegensatz dazu ein Element als ”direkt verbunden mit” oder ”direkt befestigt mit” einem anderen Element bezeichnet wird, so sind keine dazwischenliegenden Elemente vorhanden. Der hierin benutzte Begriff ”und/oder” beinhaltet jede Kombination von einem oder mehreren der dazugehörigen, aufgelisteten Gegenstände und kann durch ”/” verkürzt werden.
-
Es versteht sich, dass auch wenn die Begriffe erste(r), zweite(r), usw. hierin benutzt werden können, um verschiedene Elemente zu beschreiben, diese Elemente nicht auf diese Begriffe eingeschränkt werden. Diese Begriffe werden benutzt um ein Element von einem anderen zu unterscheiden. Zum Beispiel könnte ein erstes Signal als ein zweites Signal bezeichnet werden, und, in ähnlicher Weise könnte ein zweites Signal als ein erstes Signal bezeichnet werden, ohne von dem Umfang der beispielhaften Ausführungsformen abzuweichen.
-
Das hierin benutzte Fachvokabular hat nur den Zweck bestimmte Ausführungsformen zu beschreiben und es nicht dazu gedacht, die beispielhaften Ideen einzuschränken. Die hierin benutzten Singularformen ”ein(e)” und ”der/die/das”, sind so gemeint, dass sie ebenso die Pluralformen beinhalten, es sei denn, der Kontext deutet dies eindeutig nicht an. Es versteht sich weiterhin, dass die Begriffe „umfasst”, „umfassend”, „beinhaltet” und/oder „beinhaltend”, wenn sie in dieser Beschreibung benutzt werden, die Anwesenheit von genannten Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, und/oder Komponenten angeben, jedoch nicht die Anwesenheit oder Ergänzung von weiteren, einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten, und/oder daraus bestehenden Gruppen ausschließt.
-
Wenn nicht anders festgelegt, so haben alle hierin benutzten Begriffe (einschließlich technische und wissenschaftliche Begriffe) die selbe Bedeutung, wie sie von einem Fachmann auf dem Gebiet der Technik, zu welchem die beispielhaften Ideen gehören, verstanden werden. Es versteht sich weiterhin, dass Begriffe, wie zum Beispiel solche, die in allgemein benutzten Wörterbüchern festgelegt werden, so verstanden werden, dass sie eine Bedeutung haben, welche konsistent ist mit ihrer Bedeutung im Zusammenhang der relevanten Technik und/oder der zu Grunde liegenden Beschreibung, und sollte nicht in einer idealisierten oder übermäßig formalen Art interpretiert werden, es sei denn, dies ist hierin ausdrücklich so festgelegt.
-
Ein Datenaustauschvorgang, oder ein Speicherkopievorgang, die im Folgenden offenbart sind, können unter Benutzung von Hardware und/oder Software ausgeführt werden. Der Datenaustauschvorgang, oder der Speicherkopievorgang bezeichnet einen Vorgang, in dem komprimierte oder unkomprimierte Daten von einer internen Speichervorrichtung an eine externe Speichervorrichtung übertragen oder bewegt werden.
-
1 ist ein Blockdiagramm eines Datenverarbeitungssystems 100A, gemäß wenigstens einer beispielhaften Ausführungsform der erfinderischen Ideen.
-
Das Datenverarbeitungssystem 100A kann als ein Personalcomputer (PC) oder als ein Mobilgerät zur Anwendung gebracht werden.
-
Das Mobilgerät kann ein Laptopcomputer, ein Mobiltelefon, ein Smartphone, ein Tablet-PC, ein persönlicher digitaler Assistent (PDA), ein digitaler Assistent für Unternehmen (EDA), ein tragbarer Multimediaplayer (PMP), ein persönliches Navigationssystem oder tragbares Navigationssystem (PND), eine tragbare Spielkonsole, ein mobiles Internetgerät (MID), ein E-Book, usw. sein.
-
Das Datenverarbeitungssystem 100A beinhaltet eine Datenverarbeitungsvorrichtung 200A, eine externe Speichervorrichtung 300, und eine Anzeige 310. Das Datenverarbeitungssystem 100A kann außerdem eine Antenne ANT zur drahtlosen Datenübertragung beinhalten.
-
Das Datenverarbeitungssystem 200A kann als eine integrierte Schaltung (IC) oder als ein Ein-Chip-System (system an chip, SoC) zur Anwendung gebracht werden. Alternativ kann das Datenverarbeitungssystem 200A als ein mobiler Anwendungsprozessor zur Anwendung gebracht werden.
-
Die Datenverarbeitungsvorrichtung 200A kann eine zentrale Recheneinheit (CPU) 210, eine Betriebsspeichervorrichtung 220, eine Kompressionsschaltung 230, eine interne Speichervorrichtung 240, eine Direktspeicherzugriffssteuerung (DMA-controller) 250, eine Speichersteuerung 260, und eine Anzeigesteuerung 270 beinhalten.
-
Die Datenverarbeitungsvorrichtung 200A kann außerdem eine drahtlose Datenübertragungsschnittstelle 280 beinhalten, die mit anderen Mobilgeräten über die Antenne ANT drahtlose Datenübertragung ausführt.
-
Die CPU 210 kann auf die Betriebsspeichervorrichtung 220, die interne Speichervorrichtung 240, und die externe Speichervorrichtung 300 über die Speichersteuerung 260 zugreifen. Die CPU 210 kann den Betrieb von wenigstens einer der Betriebsspeichervorrichtung 220, der Kompressionsschaltung 230, der internen Speichervorrichtung 240, der DMA-Steuerung 250, der Speichersteuerung 260, der Anzeigesteuerung 270, und/oder der drahtlosen Datenübertragung Schnittstelle 280 über einen Bus steuern. Die CPU 210 kann durch einen Prozessor oder einen Mehrkern-Prozessor zur Anwendung gebracht werden.
-
Die Betriebsspeichervorrichtung 220 kann durch eine nichtflüchtige Speichervorrichtung, wie beispielsweise ein Nur-Lesespeicher (ROM) und/oder eine Flash-Speichervorrichtung, oder durch eine flüchtige Speichervorrichtung, wie beispielsweise ein Direktzugriffsspeicher (RAM) zur Anwendung gebracht werden. Die Betriebsspeichervorrichtung 220 kann Programme und/oder Daten, die für den Betrieb der CPU 210 nötig sind speichern.
-
Die Kompressionsschaltung 230 kann ein Kompressionsverhältnis (oder die Größe von komprimierten Daten) für einen Teil der Daten berechnen (oder vorhersagen), die ausgelagert oder speicher-kopiert (memory copied) werden sollen. Die Kompressionsschaltung 230 kann außerdem ermitteln, ob der verbleibende Teil der Daten komprimiert werden soll, basierend auf dem Ergebnis der Berechnung (oder Vorhersage).
-
Die interne Speichervorrichtung 240 kann unkomprimierte Daten und/oder Daten, die von der Kompressionsschaltung 230 komprimiert wurden beinhalten. Die interne Speichervorrichtung 240 kann als eine nichtflüchtige Speichervorrichtung, wie beispielsweise einer Flash-Speichervorrichtung und/oder als eine flüchtige Speichervorrichtung, wie beispielsweise ein dynamischer Direktzugriffsspeicher (DRAM) zur Anwendung gebracht werden.
-
Die DMA-Steuerung 250 kann entsprechend der Steuerung der CPU 210 und/oder einem Ermittlungssignal, das von der Kompressionsschaltung 230 ausgegeben wird, komprimierte Daten und/oder unkomprimierte Daten durch die Speichersteuerung 260 an die externe Speichervorrichtung 300 übertragen.
-
Die Speichersteuerung 260 kann eine Schnittstelle für Befehlssignale und/oder Daten zwischen der Datenverarbeitungsvorrichtung 200A und der externen Speichervorrichtung 300 sein, basierend auf der Steuerung der CPU 210 und/oder der Steuerung der DMA-Steuerung 250.
-
Die Anzeigesteuerung 270 kann Daten verarbeiten, die auf der Anzeige 310 angezeigt werden sollen, gemäß der Steuerung der CPU 210.
-
Die externe Speichervorrichtung 300 kann als eine eingebettete Speichervorrichtung oder als eine außerhalb angebrachte Speichervorrichtung zur Anwendung gebracht werden.
-
Die externe Speichervorrichtung 300 kann als ein DRAM, eine Flash-Speichervorrichtung, eine eingebettete Multimediakarte (embedded multimedia card, eMMC), ein universeller Flash-speicher (universal flash storage, UFS) usw. zur Anwendung gebracht werden.
-
2 ist ein entwurfsmäßiges Diagramm zur Erklärung eines beispielhaften Betriebs des Datenverarbeitungssystems 100A, welches die Kompressionsschaltung 230, gemäß wenigstens einer beispielhaften Ausführungsform der erfinderische Ideen beinhaltet.
-
Eine Kompressionsschaltung 230A, d. h. ein Beispiel der Kompressionsschaltung 230, wie in 1 veranschaulicht, kann unkomprimierte Daten (UCD) komprimieren, unter Benutzung eines einzelnen Komprimierungsalgorithmus, d. h. ein Ein-Schritt-Komprimierungsverfahren.
-
Die Kompressionsschaltung 230A prognostiziert (oder erwartet) für einen Teil der unkomprimierten Daten UCD ein Kompressionsverhältnis und ermittelt auf Basis des Ergebnisses der Prognostizierung (oder Erwartung), ob bei dem verbleibenden Teil der unkomprimierten Daten UCD Komprimierung durchgeführt werden soll, oder ob auf alle unkomprimierten Daten UCD ein Speicherkopiervorgang angewandt werden soll.
-
Die Kompressionsschaltung 230A beinhaltet einen Komprimierer 231, eine Freigabesteuerschaltung 233, eine Kompressionsermittlungsschaltung 235, und einen Dateigrößenerwartungs-Rechner 237.
-
Die Kompressionsschaltung 230A kann den Teil der unkomprimierten Daten UCD Komprimieren, der von der internen Speichervorrichtung 240 ausgegeben wird, ermitteln (z. B. gleichzeitig ermitteln) ob der verbleibende Teil der unkomprimierten Daten UCD komprimiert werden soll, und ein Ermittlungssignal COMP erzeugen, basierend auf dem Ergebnis der Ermittlung.
-
Die unkomprimierten Daten UCD können in eine Vielzahl von Datenblöcken geteilt werden und der Komprimierer 231 kann jeden der Datenblöcke komprimieren. Eine Datenblockgröße kann basierend auf einem Kompressionsalgorithmus ermittelt werden, der in dem Komprimierer 231 benutzt wird.
-
Zur Einfachheit der Erklärung wird angenommen, dass eine Datenblockgröße, die von einem Benutzer oder einem Hersteller (im Nachfolgenden als ”Bezugs-Datenblockgröße TS” bezeichnet) eingestellt wird, gleich 90 Kbytes groß ist, ein Kompressionsverhältnis, das von dem Benutzer oder dem Hersteller (im Nachfolgenden als ”minimales Kompressionsverhältnis M” bezeichnet) eingestellt wird, gleich 0,4 ist, und ein entsprechender Komprimierer 231 und/oder 232 Daten in Einheiten von Datenblöcken komprimiert.
-
Es wird weiter angenommen, dass ein mittleres Kompressionsverhältnis eines Kompressionsalgorithmus (im Nachfolgenden als ein ”mittleres Kompressionsverhältnis PRM” bezeichnet) ein experimenteller Mittelwert ist und von dem Benutzer oder dem Hersteller eingestellt werden kann. Es versteht sich, dass ein Kompressionsverhältnis ein Verhältnis zwischen einer verkleinerten Größe DS, aus der Kompression, und einer unkomprimierten Datengröße ist, d. h. die Bezugs-Datenblockgröße TS, wie in 3 gezeigt.
-
Der Komprimierer 231 kann die unkomprimierten Daten UCD, die von der internen Speichervorrichtung 240 in Einheiten von Datenblöcken ausgegeben wird komprimieren und komprimierte Daten CD an die interne Speichervorrichtung 240 übertragen.
-
Der Komprimierer 231 kann einen ersten Zähler 231A, eine Kompressionslogik 231-1, und einen zweiten Zähler 231B beinhalten.
-
Der erste Zähler 231A zählt die Große eines Datenblocks, der komprimiert werden soll und gibt einen Eingangsdaten-Index IDI auf Basis des Zählergebnisses aus. Zum Beispiel kann der erste Zähler 231A die Größe des zu komprimierenden Datenblocks in Bytes zählen.
-
Die Kompressionslogik 231-1 ist ein Logikschaltkreis, der die unkomprimierten Daten UCD komprimiert und die komprimierten Daten CD erzeugt.
-
Der zweite Zähler 231B zählt die Größe der komprimierten Daten CD, die von der Kompressionslogik 231-1 ausgegeben werden und gibt einen Ausgangsdaten-Index ODI auf Basis des Zählergebnisses aus. Der Ausgangsdaten-Index ODI kann der tatsächlichen Datengröße der komprimierten Daten entsprechen, die von der Kompressionslogik 231-1 ausgegeben werden. Zum Beispiel kann der zweite Zähler 231B die Größe der komprimierten Daten CD in Bytes zählen. In wenigstens einer Ausführungsform können die Zähler 231A und 231B die Größe eines Datenblocks in Bits, auf Basis eines Taktsignals zählen.
-
Auch wenn in den Ausführungsformen, die in 2 veranschaulicht sind, die Zähler 231A und 231B als innerhalb des Komprimierers 231 implementiert gezeigt sind, können diese in wenigstens einer anderen Ausführungsform außerhalb des Komprimierers 231 implementiert sein. Zum Beispiel kann der erste Zähler 231A innerhalb der Freigabesteuerschaltung 233 implementiert sein.
-
Die Freigabesteuerschaltung 233 kann ein Freigabesignal (enable signal) EN zum Erkennen eines Vergleichstaktes der Kompressionsermittlungsschaltung 235 und/oder einen Ausgangstakt des Ermittlungssignals COMP erzeugten. Die Freigabesteuerschaltung 233 kann die Bezugs-Datenblockgröße TS mit dem Eingangsdaten-Index IDI vergleichen und das Freigabesignal EN, auf Basis des Vergleichsergebnisses erzeugen.
-
Die Bezugs-Datenblockgröße TS gibt die Größe von zu komprimierenden Eingangsdaten an, die Menge von Referenzdaten, die zur Vorhersage eines Kompressionsverhältnisses benutzt werden an, und/oder die Menge von Daten an, die nötig sind um einen einzelnen Datenblock zu konstruieren. Die Bezugs-Datenblockgröße TS kann von einem Benutzer oder einem Hersteller programmiert werden. Mit anderen Worten, die Freigabesteuerschaltung 233 kann das Freigabesignal EN erzeugen, welches aktiviert ist, wenn die Bezugs-Datenblockgröße TS, z. B. 92, 160, dieselbe ist, wie der Eingangsdaten-Index IDI, z. B. 92, 160, wie in 4 oder 8 gezeigt.
-
Die Kompressionsermittlungsschaltung 235 kann eine erwartete Datengröße S1 mit dem Ausgangsdaten-Index ODI vergleichen, d. h. mit der tatsächlichen Größe von Daten, die von dem Komprimierer 231 in Reaktion auf das Freigabesignal EN komprimiert werden, welches aktiviert wurde, und kann dass Ermittlungssignal COMP, welches einen anderen Pegel entsprechend des Vergleichsergebnisses aufweist, an den Komprimierer 231 und die CPU 210 übertragen.
-
Das Ermittlungssignal COMP kann standardmäßig auf einen ersten Pegel, z. B. einen hohen Pegel eingestellt sein. Wenn das Ermittlungssignal COMP in dem ersten Pegel ist, wird der Komprimierer 231 freigegeben und daher führt der Komprimierer 231 Komprimierung auf dem Teil der unkomprimierten Daten UCD aus. Wenn das Ermittlungssignal COMP sich in dem ersten Pegel befindet, kann die CPU 210 ein erstes Steuersignal CTRL zum Deaktivieren der DMA-Steuerung 250 erzeugen.
-
Zur Vereinfachung der Erklärung, wird angenommen, dass der Teil der unkomprimierten Daten UCD ein erster Datenblock unter einer Vielzahl von Datenblöcken ist, die in den unkomprimierten Daten UCD beinhaltet sind. Die Anzahl an Datenblöcken, die in dem Teil der unkomprimierten Daten UCD beinhaltet sind, kann sich mit dem Design ändern.
-
Der Dateigrößenerwartungs-Rechner 237 kann, mittels dem mittleren Kompressionsverhältnis PRM eines Kompressionsalgorithmus, der in dem Komprimierer 231 benutzt wird, die erwartete Datengröße S1, das minimale Kompressionsverhältnis M, und die Bezugs-Datenblockgröße TS berechnen.
-
Der Speichersteuerung 260 kann Übertragungsdaten (d. h. die unkomprimierten Daten UCD oder die komprimierten Daten CD) von der internen Speichervorrichtung 240 an die externe Speichervorrichtung 300 übertragen, basierend auf einem zweiten Steuersignal CTRL2, welches von der DMA-Steuerung 250 ausgegeben wird.
-
3 ist ein entwurfsmäßiges Diagramm eines mittleren Kompressionsverhältnisses und eines erwarteten Kompressionsverhältnisses in dem Betrieb der Kompressionsschaltung 230A, wie in 2 veranschaulicht.
-
In Bezug auf 2 und 3, kennzeichnet ein Bezugszeichen C ein gesamtes Kompressionsverhältnis des Komprimierers 231, ein Bezugszeichen C1 bezeichnet das mittlere Kompressionsverhältnis eines Kompressionsalgorithmus, der in dem Komprimierer 231 benutzt wird, ein Bezugszeichen E1 bezeichnet ein erwartetes Kompressionsverhältnis, dass von dem Dateigrößenerwartungs-Rechner 237 berechnet wurde, und das Bezugszeichen S1 bezeichnet die erwartete Dateigröße, die von dem Dateigrößenerwartungs-Rechner 237 berechnet wurde.
-
Der Dateigrößenerwartungs-Rechner 237 berechnet die erwartete Dateigröße S1 unter Benutzung der Eingabeparameter PRM, M, und TS und Gleichung 1: C = 1 – (1 – C1)
E1 = M·C1/C
S1 = TS·(1 – E1), (1)
-
Wobei PRM das gleiche ist wie C1. Wie oben beschrieben, können die Eingabeparameter PRM, M, und TS von einem Hersteller oder einem Benutzer eingestellt oder programmiert werden.
-
4 ist ein entwurfsmäßiges Diagramm zur Erklärung beispielhafter Operationen der Freigabesteuerschaltung 233 und der Kompressionsermittlungsschaltung 235, die in 2 veranschaulicht sind. 5 ist ein entwurfsmäßiges Diagramm zur Erklärung einer beispielhaften Operation der Kompressionsschaltung 230A, wie in 2 veranschaulicht.
-
Wenn das mittlere Kompressionsverhältnis PRM gleich 0,6 ist, das minimale Kompressionsverhältnis M gleich 0,4 ist, und die Bezugs-Datenblockgröße TS gleich 90 Kbytes ist; wird die Operation der Kompressionsschaltung 230A mit Bezug auf 2 bis 5 unten beschrieben.
-
Der Dateigrößenerwartungs-Rechner 237 kann die erwartete Dateigröße S1 mittels Gleichung 1 berechnen. Zu dieser Zeit ist die erwartete Dateigröße S1 gleich 55296.
-
Da das Ermittlungssignal COMP auf den ersten Pegel eingestellt ist, wird der Komprimierer 231 freigegeben, um den Teil, z. B. einen ersten Datenblock BLOCK1, der unkomprimierten Daten UCD, zu komprimieren und die DMA-Steuerung 250 ist deaktiviert, in Reaktion auf das erste Steuersignal CTRL1, das von der CPU 210 ausgegeben wird.
-
Der erste Zähler 231A zählt die Größe des ersten Datenblocks BLOCK1 in Bytes und erzeugt den Eingangsdaten-Index IDI. Der zweite Zähler 231B zählt die Größe der Daten, die von der Kompressionslogik 231-1 komprimiert wurden, in Bytes und erzeugt den Ausgangsdaten-Index ODI.
-
In einem Vergleichsintervall CT, d. h. wenn der Eingangsdaten-Index IDI (= 92160) der gleiche ist wie die Bezugs-Datenblockgröße TS (= 92160), gibt die Freigabesteuerschaltung 233 das aktivierte Freigabesignal EN aus. Die Kompressionsermittlungsschaltung 235 vergleicht den Ausgangsdaten-Index ODI mit der erwarteten Daten Größe S1 in Reaktion auf das aktivierte Freigabesignal EN und erzeugt das Ermittlungssignal COMP.
-
Wenn zum Beispiel der Ausgangsdaten-Index ODI (oder die tatsächliche Datengröße der komprimierten Daten) gleich oder kleiner ist, als die erwartete Datengröße S1 in dem Vergleichsintervall CT (FALL1) aus 4, erzeugt die Kompressionsermittlungsschaltung 235 das Ermittlungssignal COMP, welches in dem ersten Pegel bleibt (z. B. in einem hohen Pegel). In Reaktion auf das Ermittlungssignal COMP in dem ersten Pegel, kann der Komprimierer 231 die verbleibenden Datenblöcke BLOCK2 bis BLOCKm (wobei ”m” eine natürliche Zahl ist), die in den unkomprimierten Daten UCS beinhaltet sind, fortlaufend komprimieren.
-
Der Komprimierer 231 komprimiert die Datenblöcke BLOCK1 bis BLOCKm fortlaufend und speichert die komprimierten Daten CD in der internen Speichervorrichtung 240. Wenn der deaktivierte DMA-Steuerung 250 freigegeben wird und das zweite Steuersignal CTRL2 an die Speichersteuerung 260 ausgibt, überträgt die Speichersteuerung 260 die komprimierten Daten CD von der internen Speichervorrichtung 240 an die externe Speichervorrichtung 300. Mit anderen Worten, die Speichersteuerung 260 führt den Datenauslagerungs-Vorgang und/oder den Daten-Kopiervorgang mit den komprimierten Daten CD aus.
-
Wenn jedoch der Ausgangsdaten-Index ODI (oder die tatsächliche Datengröße der komprimierten Daten) größer ist, als die erwartete Datengröße S1 in dem Vergleichsintervall CT (FALL2) aus 4, erzeugt die Kompressionsermittlungsschaltung 235 das Ermittlungssignal COMP, welches von dem ersten Pegel in einen zweiten Pegel übergeht, der sich von dem ersten Pegel unterscheidet (z. B. ein niedriger Pegel).
-
In Reaktion auf das Ermittlungssignal COMP in dem zweiten Pegel, z. B. einem niedrigen Pegel, ist der Komprimierer 231 inaktiv und folglich stoppt der Komprimierer 231 mit dem Komprimieren von Daten. Zu dem Zeitpunkt überträgt die CPU 210 das erste Steuersignal CTRL1 an die DMA-Steuerung 250, in Reaktion auf das Ermittlungssignal COMP in dem zweiten Pegel.
-
Das erste Steuersignal CTRL1 beinhaltet Signale zum Übertragen der unkomprimierten Daten UCD von der internen Speichervorrichtung 240 an die externe Speichervorrichtung 300. Die Signale können eine Adresse beinhalten, die einen Speicherbereich in der internen Speichervorrichtung 240 angibt, in welcher Daten gespeichert wurden, die Datenauslagerung und/oder Speicherkopie unterworfen sind, eine Adresse, die einen Speicherbereich in der externen Speichervorrichtung 300 angibt, in welchem die Daten gespeichert werden, und ein Signal, welches die Menge an Daten angibt.
-
Die DMA-Steuerung 250 überträgt das zweite Steuersignal CTRL2 an die Speichersteuerung 260, in Reaktion auf das erste Steuersignal CTRL1. Daher überträgt die Speichersteuerung 260 die unkomprimierten Daten UCD von der internen Speichervorrichtung 240 an die externe Speichervorrichtung 300, in Reaktion auf das zweite Steuersignal CTRL2. Mit anderen Worten, die Speichersteuerung 260 führt den Datenauslagerungs-Vorgang und/oder den Daten-Kopiervorgang mit den unkomprimierten Daten CD aus. Zu dem Zeitpunkt können komprimierte Daten, die dem ersten Datenblock BLOCK1 entsprechen, von der internen Speichervorrichtung 240 verworfen werden.
-
6 ist ein entwurfsmäßiges Diagramm zur Erklärung eines beispielhaften Betriebs eines Datenverarbeitungssystems 100B, welches eine Kompressionsschaltung 230B, gemäß wenigstens einer beispielhaften Ausführungsform der erfinderische Ideen beinhaltet. Die Kompressionsschaltung 230B kann die unkomprimierten Daten UCD komprimieren, unter der Benutzung von einer Vielzahl von Kompressionsalgorithmen, d. h. mit einem Mehrstufenkompressionsverfahren.
-
Die Struktur und der Betrieb des Datenverarbeitungssystems 100B, wie in 6 veranschaulicht, sind im Wesentlichen gleich zu denen des Datenverarbeitungssystems 100A, wie in 1 veranschaulicht, mit der Ausnahme, dass die Kompressionsschaltung 230B eine Vielzahl von Komprimierern 231 und 232 beinhaltet, die in Reihe zueinander geschaltet sind. Der Komprimierer 231 kann einen anderen Kompressionsalgorithmus, als Komprimierer 232 benutzen. Zum Beispiel kann die Kompressionsschaltung 230B ein Komprimierer sein, der einen DEFLATE-Algorithmus verwendet.
-
Auch wenn zwei Komprimierer 231 und 232 in 6 veranschaulicht sind, kann die Kompressionsschaltung 230B drei oder mehrere Komprimierer beinhalten, die in Reihe zueinander geschaltet sind.
-
7 ist ein entwurfsmäßiges Diagramm eines mittleren Kompressionsverhältnisses und eines erwarteten Kompressionsverhältnisses in dem Betrieb der Kompressionsschaltung 230B, wie in 6 veranschaulicht.
-
In Bezug auf 6 und 7, bezeichnet das Bezugszeichen C ein gesamtes Kompressionsverhältnis der Kompressionsschaltung 230B mit den Komprimierern 231 und 232, Bezugszeichen C1 bezeichnet das erste mittlere Kompressionsverhältnis eines Kompressionsalgorithmus, der in dem ersten Komprimierer 231 benutzt wird, Bezugszeichen C2 bezeichnet das zweite mittlere Kompressionsverhältnis eines Kompressionsalgorithmus, der in dem zweiten Komprimierer 232 benutzt wird, Bezugszeichen E1 bezeichnet ein erwartetes Kompressionsverhältnis des ersten Komprimierers 231, das von dem Dateigrößenerwartungs-Rechner 237 berechnet wurde, Bezugszeichen E2 bezeichnet ein erwartetes Kompressionsverhältnis des zweiten Komprimierers 232, das von dem Dateigrößenerwartungs-Rechner 237 berechnet wurde, und Bezugszeichen S1 bezeichnet die erwartete Dateigröße, die von dem Dateigrößenerwartungs-Rechner 237 berechnet wurde.
-
Der Dateigrößenerwartungs-Rechner 237 berechnet die erwartete Dateigröße S1 unter Benutzung der Eingabeparameter PRM, M, und TS und Gleichung 2: C = 1 – (1 – C1)·(1 – C2)
E1 = M·C1/C
E2 = M·C2/C
S1 = TS·(1 – E1), (2)
-
In diesem Fall beinhaltet das mittlere Kompressionsverhältnis PRM das erste mittlere Kompressionsverhältnis C1 und das zweite mittlere Kompressionsverhältnis C2. Wenn die Kompressionsschaltung 230B wenigstens drei Komprimierer beinhaltet, die in Reihe zueinander geschaltet sind, kann das mittlere Kompressionsverhältnis PRM mittlere Kompressionsverhältnisse der drei entsprechenden Komprimierer beinhalten.
-
8 ist ein entwurfsmäßiges Diagramm zur Erklärung beispielhafter Operationen der Freigabesteuerschaltung 233 und der Kompressionsermittlungsschaltung 235, die in 6 veranschaulicht sind. 9 ist ein entwurfsmäßiges Diagramm zur Erklärung einer beispielhaften Operation der Kompressionsschaltung 230B, wie in 6 veranschaulicht.
-
Zur Einfachheit der Erklärung, wird angenommen, dass der erste Komprimierer 231 einen LZ77-Algorithmus verwendet, das erste mittlere Kompressionsverhältnis C1 des ersten Komprimierers gleich 0,6 ist, der zweite Komprimierer 232 einen Huffman-Coding-Algorithmus verwendet, das zweite mittlere Kompressionsverhältnis C des zweiten Komprimierers 232 gleich 0,18 ist, dass minimale Kompressionsverhältnis M gleich 0,4 ist, die Bezugs-Datenblockgröße TS gleich 90 Kbytes ist, uns die Größe von jedem der Datenblöcke BLOCK1 bis BLOCKn (wobei ”n” eine natürliche Zahl ist) gleich 90 Kbytes ist. Der Dateigrößenerwartungs-Rechner 237 berechnet die folgenden Werte, unter der Benutzung von Gleichung 2: C = 0;672; E1 = 3;357142857; und S1 = 92160·(1 – 0,357142857) = 59245,71429 ≈ 59246.
-
Da das Ermittlungssignal COMP auf den ersten Pegel eingestellt ist, wird der Komprimierer 231 freigegeben, um den ersten Datenblock BLOCK1 zu komprimieren und die DMA-Steuerung 250 ist deaktiviert, in Reaktion auf das erste Steuersignal CTRL1, das von der CPU 210 ausgegeben wird.
-
Der erste Zähler 231A des ersten Komprimierers 231 zählt die Größe des ersten Datenblocks BLOCK1 der unkomprimierten Daten UCD in Bytes und erzeugt den Eingangsdaten-Index IDI. Der zweite Zähler 231B des ersten Komprimierers 231 zählt die Größe der unkomprimierten Daten CD, die von der Kompressionslogik 231-1 ausgegeben werden, in Bytes und erzeugt den Ausgangsdaten-Index ODI.
-
Wenn der Eingangsdaten-Index IDI (= 92160) der gleiche ist, wie die Bezugs-Datenblockgröße TS (= 92160), gibt die Freigabesteuerschaltung 233 das aktivierte Freigabesignal EN in dem Vergleichsintervall CT aus 8 aus.
-
Die Kompressionsermittlungsschaltung 235 vergleicht den Ausgangsdaten-Index ODI mit der erwarteten Daten Größe S1 in Reaktion auf das aktivierte Freigabesignal EN und erzeugt das Ermittlungssignal COMP.
-
Wenn zum Beispiel der Ausgangsdaten-Index ODI (= 40001) (oder die tatsächliche Datengröße der komprimierten Daten) gleich oder kleiner ist, als die erwartete Datengröße S1 (= 59246) in dem Vergleichsintervall CT (FALL3 aus 8), erzeugt die Kompressionsermittlungsschaltung 235 das Ermittlungssignal COMP, welches in dem ersten Pegel bleibt (z. B. in einem hohen Pegel).
-
In Reaktion auf das Ermittlungssignal COMP in dem ersten Pegel, können die Komprimierer 231 und 232 die Datenblöcke BLOCK1 bis BLOCKn fortlaufend komprimieren, die in den unkomprimierten Daten UCD beinhaltet sind, unter Benutzung des Mehrstufenkompressionsverfahrens (CASE3 aus 9).
-
Nachdem die, von dem zweiten Komprimierer 232 ausgegebenen, komprimierten Daten in der internen Speichervorrichtung 240 gespeichert werden, wird die DMA-Steuerung 250 von der CPU 210 frei gegeben. In Reaktion auf das zweite Steuersignal CTRL2, überträgt die Speichersteuerung 260 die komprimierten Daten CD von der internen Speichervorrichtung 240 an die externe Speichervorrichtung 300.
-
Wenn jedoch der Ausgangsdaten-Index ODI (= 59247) (oder die tatsächliche Datengroße der komprimierten Daten) größer ist, als die erwartete Datengröße S1 (= 59246) in dem Vergleichsintervall CT (FALL4) aus 8, erzeugt die Kompressionsermittlungsschaltung 235 das Ermittlungssignal COMP, welches von dem ersten Pegel in einen zweiten Pegel übergeht.
-
In Reaktion auf das Ermittlungssignal COMP in dem zweiten Pegel, z. B. dem niedrigen Pegel, sind die Komprimierer 232 und 232 deaktiviert. Daher stoppen die Komprimierer 231 und 232 mit dem Komprimieren von Daten. Zu dem Zeitpunkt überträgt die CPU 210 das erste Steuersignal CTRL1 an die DMA-Steuerung 250, in Reaktion auf das Ermittlungssignal COMP in dem zweiten Pegel. Das erste Steuersignal CTRL1 beinhaltet Signale zum Übertragen der unkomprimierten Daten UCD von der internen Speichervorrichtung 240 an die externe Speichervorrichtung 300.
-
Die DMA-Steuerung 250 überträgt das zweite Steuersignal CTRL2 an die Speichersteuerung 260, in Reaktion auf das erste Steuersignal CTRL1. Daher überträgt die Speichersteuerung 260 die unkomprimierten Daten UCD von der internen Speichervorrichtung 240 an die externe Speichervorrichtung 300, in Reaktion auf das zweite Steuersignal CTRL2.
-
Wie in 9 gezeigt ist, wird die erste Kompression von dem ersten Komprimierer 231 und die zweite Kompression von dem zweiten Komprimierer 232 ausgeführt. Die Vorhersage wird ausgeführt, wenn die erste Kompression auf dem ersten Datenblock BLOCK1 ausgeführt ist. Ausführlicher beschrieben, wird die Vorhersage in dem Moment ausgeführt, wenn die erste Kompression auf dem ersten Datenblock BLOCK1 beendet ist.
-
Die Datenverarbeitungsvorrichtung 200A führt nur eine erste Kompression auf einem Teil, z. B. dem ersten Datenblock BLOCK1, der unkomprimierten Daten UCD aus und dann, wenn die Größe der Daten, die von dem ersten Komprimierer 231 komprimiert wurden, d. h. der Ausgangsdaten-Index ODI (oder die tatsächliche Größe der komprimierten Daten) größer ist, als die erwartete Datengröße S1, stoppt die Datenverarbeitungsvorrichtung 200A weitere Kompression für andere Datenblöcke und kann all die unkomprimierten Daten UCD mittels Datenauslagerung und/oder Speicherkopie an die externe Speichervorrichtung 300 übertragen.
-
Entsprechend ermittelt die Datenverarbeitungsvorrichtung 200A in einem Frühstadium, in dem die Datenauslagerung oder die Datenkopie ausgeführt wird, ob die unkomprimierten Daten UCD komprimiert werden sollen, wodurch die Datenauslagerung und/oder die Datenkopie zuverlässig ausgeführt wird, selbst wenn die Anzahl von Multitask-Anwendungen ansteigt. Als Ergebnis dessen, erhöht die Datenverarbeitungsvorrichtung 200 die Zuverlässigkeit eines Betriebssystems (OS) in einem Mobilgerät.
-
10 ist ein Blockdiagramm eines Datenverarbeitungssystems 100C, gemäß wenigstens einer beispielhaften Ausführungsform der erfinderischen Ideen. 11 ist ein Diagramm des Flusses der Signale in dem Betrieb des Datenverarbeitungssystems 100C, das in 10 veranschaulicht ist.
-
In Bezug auf 1 und 10, wird der Datenauslagerungs-Vorgang durch eine Softwareeinheit (SW) in der CPU 210 in dem Datenverarbeitungssystem 100C ausgeführt, und daher beinhaltet ein Datenverarbeitungsvorrichtung 200C keine separate Kompressionsschaltung.
-
Die Softwareeinheit SW, welche die Datenauslagerungs-Vorgang, entsprechend einer beispielhaften Ausführungsform ausführt, wird von der Betriebsspeichervorrichtung 220 in eine Speichervorrichtung 211 geladen, welche in der CPU 210 beinhaltet ist und von der CPU 210 ausgeführt wird. Die Softwareeinheit SW kann zum Beispiel durch einen Computer-Prozessor innerhalb der CPU 210 verkörpert sein. Die Softwareeinheit SW kann außerdem als Teil der CPU 210 verkörpert werden. Die Speichervorrichtung 211 kann durch RAM oder statischen RAM (SRAM) zur Anwendung gebracht werden. Entsprechend von wenigstens einer beispielhaften Ausführungsform, kann die Speichervorrichtung 211 außerhalb der CPU 210 implementiert werden.
-
Die Funktion der Komprimierer 231 und 232, die Funktion der Freigabesteuerschaltung 233, die Funktion der Kompressionsermittlungsschaltung 235, und die Funktion des Dateigrößenerwartungs-Rechners 237 können in einem Programmcode und/oder einem Befehlsvorrat implementiert werden.
-
Zum Beispiel kann die CPU 210 eine mobile Anwendung ausführen und die interne Speichervorrichtung 240 kann unkomprimierte Daten speichern, die in der mobilen Anwendung genutzt wird. Die mobile Anwendung kann in der Betriebsspeichervorrichtung 220, der internen Speichervorrichtung 240, und/oder der externen Speichervorrichtung 300 gespeichert werden.
-
Die Softwareeinheit SW kann ein Kompressionsverhältnis für den Teil der unkomprimierten Daten UCD oder die erwartete Datengröße S1 berechnen, basierend auf dem minimalen Kompressionsverhältnis M, dem mittleren Kompressionsverhältnis PRM von wenigstens einem Kompressionsalgorithmus, der für die Kompression benutzt werden soll, und die Bezugs-Datenblockgröße TS berechnen. In Operation S110 kann die CPU 210 dann das Ermittlungssignal COMP erzeugen, welches ermittelt, ob der verbleibende Teil der unkomprimierten Daten UCD komprimiert werden soll, basierend auf dem Ergebnis der Berechnung.
-
Entsprechend dem Ermittlungssignal COMP, kann der verbleibende Teil der unkomprimierten Daten UCD mit dem wenigstens einen Kompressionsalgorithmus (FALL1 aus 4 und FALL3 aus 9) kontinuierlich komprimiert werden, oder weitere Kompression für den verbleibenden Teil der unkomprimierten Daten UCD kann gestoppt werden (FALL2 aus 4 und FALL4 aus 9).
-
In Operation S120 kann die CPU 210 das erste Steuersignal CTRL1 zum Aktivieren oder Deaktivieren der DMA-Steuerung 250, auf Basis des Pegels des Ermittlungssignals COMP erzeugen.
-
In Operation S130 kann die DMA-Steuerung 250 das zweite Steuersignal CTRL2 zum Steuern der Datenauslagerung der komprimierten Daten CD oder der Datenauslagerung der unkomprimierten Daten UCD an die Speichersteuerung 260 übertragen, basierend auf dem ersten Steuersignal CTRL1, welches von der CPU 210 empfangen wurde.
-
In Operation S140 kann die Speichersteuerung 260, in Reaktion auf das zweite Steuersignal CTRL2, eine Leseoperation auf die interne Speichervorrichtung 240 ausführen. In Operation S150 kann die Speichersteuerung 260 die gelesenen Daten CD und/oder UCD in die externe Speichervorrichtung 300 schreiben.
-
Wenn das Ermittlungssignal COMP zum Beispiel in dem ersten Pegel ist, kann die Speichersteuerung 260 die komprimierten Daten CD von der internen Speichervorrichtung 240, in Reaktion auf das zweite Steuersignal CTRL2 lesen (Operation S140), und die komprimierten Daten CD in die externe Speichervorrichtung 300 schreiben (Operation S150).
-
Wenn das Ermittlungssignal COMP jedoch in dem zweiten Pegel ist, kann die Speichenteuerung 260 die unkomprimierten Daten UCD von der internen Speichervorrichtung 240, in Reaktion auf das zweite Steuersignal CTRL2 lesen (Operation S140), und die unkomprimierten Daten UCD in die externe Speichervorrichtung 300 schreiben (Operation S150).
-
12 ist ein Fließdiagramm eines Verfahrens zum Betreiben eines Datenverarbeitungssystems, gemäß wenigstens einer beispielhaften Ausführungsform der erfinderischen Ideen. Die Operationen der Datenverarbeitungsvorrichtung 200A oder 200C werden mit Bezug auf 1 bis 12 beschrieb.
-
In Operation S210 komprimiert die Datenverarbeitungsvorrichtung 200A oder 200C einen Teil der unkomprimierten Daten UCD und ermittelt, ob mit dem Komprimieren des verbleibenden Teils der unkomprimierten Daten UCD fortgesetzt werden soll.
-
In Operation S220 ermittelt die Datenverarbeitungsvorrichtung 200A oder 200C, ob die Kompression fortgeführt werden sollte, basierend auf dem Ergebnis der Ermittlung. In Operation S230, falls die Datenverarbeitungsvorrichtung 200A oder 200C ermittelt, dass die Kompression fortgesetzt werden sollte, komprimiert die Datenverarbeitungsvorrichtung 200A oder 200C den verbleibenden Teil der unkomprimierten Daten UCD mit wenigstens einem Kompressionsalgorithmus. In Operation S240 speichert die Datenverarbeitungsvorrichtung 200A oder 200C die komprimierten Daten CD in der internen Speichervorrichtung 240, und überträgt die komprimierten Daten CD von der internen Speichervorrichtung 240 an die externe Speichervorrichtung 300, unter Benutzung des Speicherkopiervorgangs.
-
Wenn die Datenverarbeitungsvorrichtung 200A oder 200C jedoch auf Basis des Ergebnisses der Ermittlung feststellt, dass die Kompression nicht fortgesetzt werden sollte, stoppt die Datenverarbeitungsvorrichtung 200A oder 200C weitere Kompression für den verbleibenden Teil der unkomprimierten Daten UCD. In Operation S250 verwirft die Datenverarbeitungsvorrichtung 200A oder 200C komprimierte Daten, und überträgt all die unkomprimierten Daten UCD, welche in der internen Speichervorrichtung 240 als ein Target der Speicherkopie gespeichert wurden, an die externe Speichervorrichtung 300.
-
Wie oben entsprechend wenigstens einer beispielhaften Ausführungsform der erfinderischen Ideen beschrieben ist, wird ein Teil der unkomprimierten Daten komprimiert, ob der verbleibende Teil der unkomprimierten Daten komprimiert werden soll, wird ermittelt, und all die unkomprimierten Daten werden an eine externe Speichervorrichtung übertragen, basierend auf dem Ergebnis der Ermittlung in einem Datenauslagerungs-Vorgang, der von einem Datenverarbeitungssystem ausgeführt wird, womit der Datenauslagerungs-Vorgang zuverlässig ausgeführt wird, selbst wenn die Anzahl von Multitasking-Anwendungen ansteigt. Als Ergebnis wird die Zuverlässigkeit eines mobilen OS erhöht.
-
Während die erfinderischen Ideen gezeigt und geschrieben wurden, mit Bezug auf beispielhafte Ausführungsformen davon, versteht der Fachmann, dass vielerlei Veränderungen in der Form und den Details gemacht werden können, ohne von dem Geiste und dem Umfang der vorliegenden Erfindung abzuweichen, wie sie in den anhängigen Ansprüchen festgelegt ist.
-
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
-