DE112012005383B4 - Speichereinheit-Zugriffssystem - Google Patents

Speichereinheit-Zugriffssystem Download PDF

Info

Publication number
DE112012005383B4
DE112012005383B4 DE112012005383.4T DE112012005383T DE112012005383B4 DE 112012005383 B4 DE112012005383 B4 DE 112012005383B4 DE 112012005383 T DE112012005383 T DE 112012005383T DE 112012005383 B4 DE112012005383 B4 DE 112012005383B4
Authority
DE
Germany
Prior art keywords
data
address
section
frequently used
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE112012005383.4T
Other languages
English (en)
Other versions
DE112012005383T5 (de
Inventor
c/o IBM Tokyo Laboratory Matsuse Shuhsaku
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112012005383T5 publication Critical patent/DE112012005383T5/de
Application granted granted Critical
Publication of DE112012005383B4 publication Critical patent/DE112012005383B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/27Using a specific cache architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data

Abstract

Speichereinheit-Zugriffssystem (100) zum Schreiben und Lesen von Daten in Bezug auf eine Speichereinheit; wobei das System (100) aufweist:einen Adresssuchabschnitt (10) zum Speichern einer Adresse für eine Mehrzahl von häufig genutzten Daten und eines der Adresse zugeordneten Datenindexes (14), zum Erfassen der Adresse der Schreib- oder Lesedaten und zum Durchsuchen gespeicherter Adressen mit der erfassten Adresse;einen Speicherabschnitt (20) für häufig genutzte Daten zum Speichern eines Tag, der mit der Mehrzahl von häufig genutzten Daten und dem Datenindex assoziiert ist, zum Erfassen des Datenindexes, wenn eine vom Adresssuchabschnitt (10) erfasste Adresse einen Treffer bezüglich einer gespeicherten Adresse erzielt hat, und zum Identifizieren von häufig genutzten Daten, die dem mit dem erfassten Datenindex assoziierten Tag entsprechen;eine Datenvergleichseinheit (30) zum Erfassen der häufig verwendeten Daten aus dem Speicherabschnitt (20) für häufig genutzte Daten, zum Vergleichen der Daten mit den Schreibdaten und zum Identifizieren von häufig genutzten Daten, die einen Treffer bezüglich der Schreibdaten erzielt haben;einen Komprimierungs-/Dekomprimierungsabschnitt (40) zum Erfassen und Komprimieren der Schreibdaten und der häufig genutzten Daten aus der Datenvergleichseinheit (30) und zum Erfassen und Dekomprimieren der Lesedaten aus der Speichereinheit;eine Schreibdaten-Auswahleinheit (80) zum Erfassen der Schreibdaten und der häufig genutzten Daten, die vom Komprimierungs-Dekomprimierungsabschnitt komprimiert wurden, zum Empfangen einer Anweisung von der Datenvergleichseinheit (30) und zum Auswählen der komprimierten Schreibdaten oder der häufig genutzten Daten; undeine Lesedaten-Auswahleinheit (90) zum Erfassen der identifizierten Lesedaten innerhalb des häufig genutzten Daten aus dem Speicherabschnitt (20) für häufig genutzte Daten, wenn die Adresse der Lesedaten einen Treffer bezüglich der Speicheradresse des Adresssuchabschnitts erzielt hat, zum Erfassen der Lesedaten, die aus der Speichereinheit gelesen und durch den Komprimierungs-/Dekomprimierungsabschnitts (40) dekomprimiert wurden, wenn die Daten keinen Treffer erzielen, zum Auswählen der identifizierten Lesedaten oder der dekomprimierten Lesedaten unter einer Anweisung aus dem Adresssuchabschnitt.

Description

  • Technisches Gebiet
  • Diese Erfindung bezieht sich auf Speichereinheit-Zugriffssysteme zum Schreiben von Daten in eine Speichereinheit oder Lesen von Daten aus dieser, und insbesondere bezieht sie sich auf Speicherzugriffs-Zugriffssysteme, die Funktionen zur Datenkomprimierung/-dekomprimierung bereitstellen.
  • Stand der Technik
  • Um Daten effizienter in einer Speichereinheit zu speichern, komprimierten (kodierten) Systeme früher Daten beim Schreiben und dekomprimierten (dekodierten) Daten beim Lesen.
  • Beispielsweise offenbaren die Patentliteratur 1 und 2 eine Halbleiter-Speichereinheit, die so ausgelegt ist, dass sie Daten unter Komprimierung schreibt und Daten unter Dekomprimierung liest, durch Bilden von Funktionen zur Datenkomprimierung/-dekomprimierung.
  • In der Patentliteratur 3 wird eine Dateikomprimierungs-Verarbeitungseinheit offenbart, die eine Hochgeschwindigkeitswiedergabe von Dateien ohne Durchführung einer Komprimierung der Dateien ermöglicht, und die eine effiziente Dateinutzung durch Auswählen eines geeigneten Komprimierungsverfahrens auf der Grundlage des Dateityps und der Zugriffshäufigkeit ermöglicht.
  • In der Patentliteratur 4 wird eine Dateikomprimierungs-Verarbeitungseinheit offenbart, die ermöglicht, dass ein Leistungsabfall verhindert wird, indem der Zeitaufwand für den Vorgang des Öffnens von Dateien durch Nicht-Komprimieren von Dateien mit hoher Zugriffshäufigkeit verringert wird, und die das Verwalten von Dateien mit einer Speicherkapazität über der tatsächlichen Kapazität durch Komprimieren von Dateien mit niedriger Zugriffshäufigkeit ermöglicht.
  • Im Hinblick auf die Speicherkapazität ist es zu bevorzugen, dass alle Daten unter Komprimierung in die Speichereinheit geschrieben und alle Daten unter Dekomprimierung aus dieser gelesen werden, in Anbetracht der Verarbeitungsleistung werden Daten für gewöhnlich jedoch wie sie sind ohne Komprimierung gespeichert (in diese geschrieben), da viel Kapazität zur Verfügung steht und die Nutzungshäufigkeit hoch ist. Demgemäß wurde das Schreiben von Daten unter Komprimierung und das Lesen von Daten unter Dekomprimierung nur durchgeführt, um die Nutzung der Speicherkapazität zu erleichtern und nicht, um die Schreib- und Lesegeschwindigkeit zu erhöhen.
  • In diesem Kontext gibt es bereits andere veröffentlichte Dokumente: Das Dokument US 5 584 008 A beschreibt ein externes Speichersystem, das an ein Host-System angeschlossen ist und eine Mehrzahl von Speichervorrichtungen aufweist. Eine Steuerungseinheit sorgt für eine Kontrolle der beschriebenen Mehrzahl von Speichervorrichtungen, wobei die Steuereinheit den Speicherplatz der Speichereinheiten durch eine Aufteilung der Speicherplatzes in einen ersten Speicherpool, der direkt durch das-System zu greifbar ist und einen nicht direkt durch das Host-System zu greifbaren Speicher-Pool aufteilt.
  • Außerdem ist in dem Dokument US 6 564 305 B1 eine Vorrichtung beschrieben, die eine Speicherkompression und eine Isolierung von Anwendungen gegenüber dem komprimierten Speicher aufweist. Außerdem ist die Vorrichtung in der Lage, Informationen von dem komprimierten Speicherbereich in einen unkomprimierten Speicherbereich zu übertragen.
  • Liste der Entgegenhaltungen
  • Patentliteratur
    • Patentliteratur 1: Japanische offengelegte Veröffentlichung JP H05- 204 747 A
    • Patentliteratur 2: Japanische offengelegte Veröffentlichung JP 2007 - 94 639 A
    • Patentliteratur 3: Japanische offengelegte Veröffentlichung JP 2002 - 49 512 A
    • Patentliteratur 4: Japanische offengelegte Veröffentlichung JP 2000 - 29 756 A
  • Kurzfassung der Erfindung
  • Technische Probleme
  • Der Zweck dieser Erfindung besteht in der Umsetzung eines Speichereinheit-Zugriffssystems, das nicht nur die effiziente Nutzung von Speicherkapazität der Speichereinheit, sondern auch das Erhöhen der Schreib- und Lesegeschwindigkeit ermöglicht. Innerhalb des Zwecks dieser Erfindung fällt das Bereitstellen eines solchen Speichereinheit-Zugriffssystems.
  • Problemlösung
  • Das Speichereinheit-Zugriffssystem der ersten Ausführungsform, die von dieser Erfindung bereitgestellt wird, ist so strukturiert, dass es Folgendes aufweist. Insbesondere weist es einen Adresssuchabschnitt zum Speichern einer Adresse für eine Vielzahl von häufig genutzten Daten und eines der Adresse zugeordneten Datenindexes, zum Erfassen der Adresse zum Lesen oder Schreiben von Daten und zum Durchsuchen von gespeicherten Adressen mit der erfassten Adresse; einen Speicherabschnitt für häufig genutzte Daten zum Speichern eines Tag, der mit der Vielzahl von häufig genutzten Daten und dem Datenindex assoziiert ist, zum Erfassen des Datenindexes, wenn eine vom Adresssuchabschnitt erfasste Adresse einen Treffer bezüglich einer gespeicherten Adresse erzielt hat, und zum Identifizieren von häufig genutzten Daten, die dem mit dem erfassten Datenindex assoziierten Tag entsprechen; eine Datenvergleichseinheit zum Erfassen der häufig verwendeten Daten aus dem Speicherabschnitt für häufig genutzte Daten, zum Vergleichen der Daten mit den Schreibdaten und zum Identifizieren von häufig genutzten Daten, die einen Treffer bezüglich der Schreibdaten erzielt haben; einen Komprimierungs-/Dekomprimierungsabschnitt zum Erfassen und Komprimieren der Schreibdaten und der häufig genutzten Daten aus der Datenvergleichseinheit und zum Erfassen und Dekomprimieren der Lesedaten aus der Speichereinheit; eine Schreibdaten-Auswahleinheit zum Erfassen der Schreibdaten und der häufig genutzten Daten, die vom Komprimierungs-Dekomprimierungsabschnitt komprimiert wurden, zum Empfangen einer Anweisung von der Datenvergleichseinheit und zum Auswählen der komprimierten Schreibdaten oder der häufig genutzten Daten; und eine Lesedaten-Auswahleinheit zum Erfassen der identifizierten Lesedaten innerhalb des häufig genutzten Daten aus dem Speicherabschnitt für häufig genutzte Daten, wenn die Adresse der Lesedaten einen Treffer bezüglich der Speicheradresse des Adresssuchabschnitts erzielt hat, zum Erfassen der Lesedaten, die aus der Speichereinheit gelesen und durch den Komprimierungs-/ Dekomprimierungsabschnitts dekomprimiert wurden, wenn die Daten keinen Treffer erzielen, zum Auswählen der identifizierten Lesedaten oder der dekomprimierten Lesedaten unter einer Anweisung aus dem Adresssuchabschnitt auf.
  • Wenn der Speicherabschnitt für häufig genutzte Daten von der Datenvergleichseinheit angewiesen wurde, dass die Schreibdaten einen Treffer bezüglich der häufig genutzten Daten erzielt haben, benachrichtigt der Speicherabschnitt für häufig genutzte Daten vorzugsweise den Adresssuchabschnitt über den Tag für die häufig genutzten Daten, für die ein Treffer erzielt wurde, und weist ein Überschreiben der gespeicherten Adresse mit dem ältesten Tag im Adresssuchabschnitt auf die erfasste Adresse an; und wenn der Speicherabschnitt für häufig genutzte Daten von der Datenvergleichseinheit angewiesen wurde, dass die erfasste Adresse einen Treffer bezüglich der gespeicherten Adresse im Adresssuchabschnitt erzielt hat, aber die Schreibdaten keinen Treffer bezüglich der vom entsprechenden Tag identifizierten häufig genutzten Daten erzielt hat, weist der Speicherabschnitt für häufig genutzte Daten den Adresssuchabschnitt an, eine Invalidierung der gespeicherten Adresse durchzuführen, für die ein Treffer erzielt wurde.
  • Vorzugsweise weist der Adresssuchabschnitt eine Tabelle auf, die für jeden Eintrag ein Adressfeld zum Speichern der Adresse, ein Markierungsfeld zum Speichern einer Markierung, die anzeigt, wie oft ein Schreib- oder Lesevorgang für die Adresse durchgeführt wurde, und ein Datenindexfeld zum Speichern eines Datenindexes für die Adresse des Adressfelds beinhaltet, und besteht die Tabelle aus einer Vielzahl von Einträgen.
  • Wenn der Speicherabschnitt für häufig genutzte Daten den Adresssuchabschnitt angewiesen hat, eine Aufhebung der gespeicherten Adresse durchzuführen, für die ein Treffer erzielt wurde, wird die Markierung im Markierungsfeld des Eintrags für die gespeicherte Adresse, für die ein Treffer erzielt wurde, vorzugsweise auf einen vorgeschriebenen Wert gesetzt, der die Invalidierung ausdrückt.
  • Vorzugsweise weist der Speicherabschnitt für häufig genutzte Daten eine Tabelle auf, die für jeden Eintrag ein Tag-Feld zum Speichern des Tags und ein Feld für häufig genutzte Daten zum Speichern von häufig genutzten Daten beinhaltet, die dem Tag des Tag-Felds entsprechen, und besteht die Tabelle aus einer Vielzahl von Einträgen.
  • Vorzugsweise speichert das Feld für häufig genutzte Daten Daten für eine Grunddatenlänge mit häufig genutzten Daten, die in der Speichereinheit verzeichnet wird.
  • Vorzugsweise weist die Datenvergleichseinheit eine Vielzahl von Vergleichseinheiten zum Vergleichen aller entsprechenden häufig genutzten Daten mit den Schreibdaten auf.
  • Vorzugsweise weist der Komprimierungs-/Dekomprimierungsabschnitt ein Komprimierungsmodul, das zumindest einen Komprimierungsschaltkreis zum Komprimieren der Schreibdaten und der Lesedaten bereitstellt, ein Dekomprimierungsmodul, das zumindest einen Dekomprimierungsschaltkreis zum Dekomprimieren der Lesedaten aus der Speichereinheit bereitstellt, und einen Komprimierungs-/Dekomprimierungs-Wörterbuchabschnitt auf, der zumindest eine Datenkodierungs-Unterstützungstabelle zum Unterstützen einer Kodierung bereitstellt, um die vom Komprimierungsschaltkreis komprimierten Daten mit jedem Dekomprimierungsschaltkreis zu dekomprimieren.
  • Vorzugsweise wird die Datenkodierungs-Unterstützungstabelle zum Unterstützen einer Entsprechung zwischen dem Dekomprimierungsschaltkreis und dem Komprimierungsschaltkreis bereitgestellt und sind die Daten der Datenkodierungs-Unterstützungstabelle häufig genutzte Daten, die im Speicherabschnitt für häufig genutzte Daten gespeichert sind.
  • Vorzugsweise weist die Schreibdaten-Auswahleinheit eine Auswahleinheit zum Auswählen der komprimierten Schreibdaten oder der häufig genutzten Daten in Reaktion auf eine Anweisung von der Datenvergleichseinheit auf.
  • Vorzugsweise weist die Lesedaten-Auswahleinheit eine Auswahleinheit zum Auswählen der identifizierten Lesedaten oder der dekomprimierten Lesedaten in Reaktion auf eine Anweisung von der Datenvergleichseinheit auf.
  • Vorteilhafte Auswirkungen der Erfindung
  • Durch Verwendung dieser Erfindung wird ein Speichereinheit-Zugriffssystem umgesetzt, das nicht nur die effiziente Nutzung von Speicherkapazität der Speichereinheit, sondern auch das Erhöhen der Schreib- und Lesegeschwindigkeit ermöglicht. Insbesondere besteht die Möglichkeit, die Schreib- und Lesegeschwindigkeit für häufig genutzte Daten innerhalb der Speichereinheit zu erhöhen, sogar wenn Daten unter Komprimierung geschrieben und Daten unter Dekomprimierung gelesen werden.
  • Figurenliste
    • 1 ist eine Zeichnung, die ein Strukturbeispiel des Speichereinheit-Zugriffssystems gemäß einer ersten Ausführungsform dieser Erfindung zeigt.
    • 2 ist eine Zeichnung, die ein Strukturbeispiel eines Adresssuchabschnitts im Speichereinheit-Zugriffssystem zeigt.
    • 3 ist eine Zeichnung, die ein Strukturbeispiel eines Speicherabschnitts für häufig genutzte Daten im Speichereinheit-Zugriffssystem zeigt.
    • 4 ist eine Zeichnung, die ein Strukturbeispiel einer Datenvergleichseinheit im Speichereinheit-Zugriffssystem zeigt.
    • 5 ist eine Zeichnung, die ein Strukturbeispiel eines Komprimierungs-/ Dekomprimierungsabschnitts im Speichereinheit-Zugriffssystem zeigt.
    • 6 ist eine Zeichnung, die ein Strukturbeispiel einer Schreibdaten-Auswahleinheit im Speichereinheit-Zugriffssystem zeigt.
    • 7 ist eine Zeichnung, die ein Strukturbeispiel einer Lesedaten-Auswahleinheit im Speichereinheit-Zugriffssystem zeigt.
    • 8 ist eine Zeichnung, die den Ablauf einer Schreibverarbeitung im Speichereinheit-Zugriffssystem zeigt.
    • 9 ist eine Zeichnung, die den Ablauf einer Leseverarbeitung im Speichereinheit-Zugriffssystem zeigt.
  • Beschreibung der Ausführungsform
  • Im folgenden Abschnitt wird ein optimaler Modus zur Umsetzung dieser Erfindung auf der Grundlage der Zeichnungen ausführlich beschrieben. Die vorliegende Erfindung kann in vielen unterschiedlichen Modi ausgeführt werden. Darüber hinaus werden in der gesamten Beschreibung der Ausführungsform die gleichen Symbole für die gleichen Strukturabschnitte und Strukturelemente verwendet.
  • 1 ist eine Zeichnung, die ein Strukturbeispiel des Speichereinheit-Zugriffssystems gemäß einer ersten Ausführungsform dieser Erfindung zeigt. Ein Zugriffssystem 100 ist zwischen einem Bus 110 auf dem Chip, der z. B. ein PLB (Processor Local Bus, Lokaler Prozessorbus) ist, und einer Schreib-Lese-Steuereinheit 120 für die Speichereinheit angeordnet. Die Speichereinheit kann von einem beliebigen Typ sein. Beispielsweise kann sie eine Speichereinheit wie ein Cachespeicher oder ein Hauptspeicher sein, die innerhalb des Chips angeordnet ist, oder sie kann eine Speichereinheit wie ein HDD (Hard Disk Drive, Festplattenlaufwerk) oder SSD (Solid State Drive, Halbleiterlaufwerk) sein, die außerhalb des Chips angeordnet ist. In 1 sind z.B. eine Speichereinheit 130 und ein HDD/SDD 140 gezeigt. Jede Adresse und sämtliche Schreibdaten werden vom Bus 110 auf dem Chip über eine Adressleitung und eine Datenleitung an das Zugriffssystem 100 bereitgestellt, und Lesedaten werden vom Zugriffssystem 100 über eine Datenleitung an einen Bus 110 auf dem Chip bereitgestellt.
  • Das Zugriffssystem 100 beinhaltet: einen Adresssuchabschnitt 10; einen Speicherabschnitt 20 für häufig genutzte Daten; eine Datenvergleichseinheit 30; einen Komprimierungs-/Dekomprimierungsabschnitt 40, der ein Komprimierungsmodul 50, ein Komprimierungs-/Dekomprimierungs-Wörterbuch 60 und ein Komprimierungsmodul 70 bereitstellt; eine Schreibdaten-Auswahleinheit 80; und eine Lesedaten-Auswahleinheit 90.
  • Eine Adresse wird in den Adresssuchabschnitt 10 eingegeben. Der Adresssuchabschnitt 10 verwaltet eine Adresse für jede einer Vielzahl von häufig genutzten Daten innerhalb einer Speichereinheit 130 oder HDD/SSD 140 sowie einen jeder Adresse zugeordneten Datenindex. Die Vielzahl von häufig genutzten Daten, die vorab festgelegt werden kann, ist z.B. A110 oder A111 sowie eine 32-Bit-Folge von 0 oder 1 oder ist ein Datenmuster, das durch Analysieren des Ausführungscodes beim Kompilieren eines Programms erhalten wird; und eine Adresse für häufig genutzte Daten wird erstellt und im Adresssuchabschnitt 10 gespeichert.
  • 2 zeigt ein Strukturbeispiel für einen Adresssuchabschnitt 10. Der Adresssuchabschnitt 10 weist eine Tabelle 11 auf, die aus einer Vielzahl von Einträgen besteht. Die Eintragsmenge kann beliebig festgelegt werden, es wird jedoch bevorzugt, sie entsprechend der Adressmenge für häufig verwendete Daten festzulegen, die im Adresssuchabschnitt 10 gespeichert ist. Innerhalb jedes Eintrags in der Tabelle 11 wird ein Adressfeld 12 zum Speichern der Adresse, ein Datenindexfeld 14 zum Speichern eines Datenindexes für die Adresse des Adressfelds 12 und ein Markierungsfeld 13 zum Speichern einer Markierung erstellt, die anzeigt, wie häufig ein Schreib- oder Lesevorgang für die Adresse des Adressfelds 12 durchgeführt wurde. Tabelle 11 kann nach CAM (Content Addressable Memory, Inhaltsadressierbarer Speicher) oder RAM (Random Access Memory, Speicher mit wahlfreiem Zugriff) strukturiert sein. Das Adressfeld 12 ist nach CAM strukturiert, um die Adresssuche zu beschleunigen, und das Markierungsfeld 13 und das Datenindexfeld 14, die dem Adressfeld 12 entsprechen, sind nach RAM strukturiert.
  • Für jeden Eintrag wird innerhalb des Adressfelds 12 eine Adresse für häufig genutzte Daten im gleichen Format wie die Voll-Bit-Adresse erstellt und gespeichert, die z.B. von der Adresszeile vom Bus 110 auf dem Chip bereitgestellt wird. Das Markierungsfeld 13 ist ein Zähler-Bit zum Speichern der Anzahl der Häufigkeit, mit der ein Schreib- oder Lesevorgang für die Adresse des Adressfelds 12 durchgeführt wurde. Die Markierung des Markierungsfelds 13 ermöglicht das Speichern des Verlaufs für die Adresse des Adressfelds 12, und sie erfasst die Zugriffshäufigkeit für häufig genutzte Daten, wie von der Adresse festgelegt, zum Zeitpunkt der tatsächlichen Nutzung der Speichereinheit automatisch.
  • Wenn der Adresssuchabschnitt 10 eine Adresse erfasst, verwendet er diese erfasste Adresse, um nach den Adressen des Adressfelds 12 in der Tabelle 11 zu suchen. Wenn die erfasste Adresse einen Treffer bezüglich einer Adresse im Adressfeld 12 erzielt (Adressentreffer), gibt der Adresssuchabschnitt 10 das Tag an den Speicherabschnitt 20 für häufig genutzte Daten aus, das mit dem im Datenindexfeld 14 für die Adresse, für die ein Treffer erzielt wurde, gespeicherten Datenindex assoziiert ist. Die erfasste Adresse für Schreibdaten wird an die Schreib-Lese-Steuereinheit 120 ausgegeben, unabhängig davon, ob sie einen Treffer bezüglich einer Adresse im Adressfeld 12 erzielt. Wenn eine erfasste Adresse für Lesedaten keinen Treffer bezüglich einer Adresse im Adressfeld 12 erzielt (kein Lesetreffer), wird sie an die Schreib-Lese-Steuereinheit 120 ausgegeben, aber wenn sie einen Treffer erzielt (Lesetreffer), wird sie nicht an die Schreib-Lese-Steuereinheit 120 ausgegeben. Dies ist darauf zurückzuführen, dass, wenn eine erfasste Adresse für Lesedaten einen Treffer bezüglich einer Adresse im Adressfeld 12 erzielt (Lesetreffer), es keine Adresse zum Erfassen von Lesedaten aus der Speichereinheit ist, und aus diesem Grund werden die im Speicherabschnitt 20 für häufig genutzte Daten gespeicherten häufig genutzten Daten als die Lesedaten bereitgestellt. Zu diesem Zeitpunkt weist der Adresssuchabschnitt 10 die Auswahl von Lesedaten in der Lesedaten-Auswahleinheit 90 an, die im Speicherabschnitt 20 für häufig genutzte Daten gespeicherten häufig genutzten Daten als die Lesedaten auszuwählen.
  • Wenn die von der Datenvergleichseinheit 30 eingegebenen Schreibdaten einen Treffer bezüglich im Speicherabschnitt 20 für häufig genutzte Daten gespeicherter häufig genutzter Daten erzielen (Datentreffer), wird der Adresssuchabschnitt 10 über ein Tag für die häufig genutzten Daten, für die ein Treffer erzielt wurde, aus dem Datenspeicher 20 für häufig genutzte Daten benachrichtigt, empfängt er eine Anweisung zum Überschreiben der Speicheradresse für das älteste Tag innerhalb des Adressfelds 12 mit der erfassten Adresse für diese Schreibdaten und führt er das Überschreiben durch. Die Speicheradresse für das älteste Tag innerhalb des Adressfelds 12 wird durch Prüfen der Markierungen im Markierungsfeld 13 bestimmt. Durch dieses Überschreiben speichert der Eintrag, der die Speicheradresse für das älteste Tag enthält, die erfasste Adresse im Adressfeld 12, speichert eine neue Markierung im Markierungsfeld 13 und speichert das benachrichtigte Tag im Datenindexfeld 14. Wenn die erfasste Adresse für die eingegebenen Schreibdaten einen Treffer bezüglich einer Speicheradresse im Adresssuchabschnitt 10 erzielt und die Schreibdaten keinen Treffer bezüglich der vom Speicherabschnitt 20 für häufig genutzte Daten festgelegten häufig genutzten Daten erzielt, wird der Adresssuchabschnitt 10 vom Speicherabschnitt 20 für häufig genutzte Daten darüber hinaus angewiesen, eine Invalidierung der Speicheradresse durchzuführen, für die ein Treffer erzielt wurde (Invalidieren), und die Speicheradresse, für die ein Treffer erzielt wurde, wird invalidiert. Eine Invalidierung wird durch Festlegen eines vorgeschriebenen Werts, z.B. 0, für die Markierung des Markierungsfelds 13 durchgeführt.
  • Der Speicherabschnitt 20 für häufig genutzte Daten speichert ein Tag, das eine Beziehung zwischen der Vielzahl von Daten innerhalb der Speichereinheit, auf die es zuzugreifen gilt, und dem Datenindex innerhalb des Adresssuchabschnitts 10 herstellt. Darüber hinaus stellt der Speicherabschnitt 20 für häufig genutzte Daten alle gespeicherten häufig genutzten Daten an eine Datenvergleichseinheit 30 bereit, um der Datenvergleichseinheit 30 ein Vergleichen dieser Daten mit den Schreibdaten aus dem Bus 110 auf dem Chip zu ermöglichen.
  • 3 zeigt ein Strukturbeispiel für den Speicherabschnitt 20 für häufig genutzte Daten. Der Speicherabschnitt 20 für häufig genutzte Daten weist eine Tabelle 21 auf, die aus einer Vielzahl von Einträgen besteht. Die Eintragsmenge kann beliebig festgelegt werden, es wird jedoch bevorzugt, sie entsprechend der Menge an häufig genutzten Daten festzulegen, die im Speicherabschnitt 20 für häufig genutzte Daten gespeichert ist. Sämtliche häufig genutzten Daten können von einer Vielzahl von unterschiedlichen Adressen festgelegt werden, und somit enthält die Tabelle 21 eine Eintragsmenge, die zumindest so zahlreich wie die Eintragsmenge in Tabelle 11 ist. Innerhalb jedes Eintrags in der Tabelle 21 wird ein Tag-Feld 22 zum Speichern eines Tags und ein Feld 23 für häufig genutzte Daten zum Speichern von häufig genutzten Daten erstellt, die vorab und entsprechend jedem Tag gebildet wurden. Das Verfahren zum Speichern der häufig genutzten Daten im Feld 23 für häufig genutzte Daten ist nicht spezifisch eingeschränkt, beispielsweise jedoch kann vorgesehen sein, dass häufig genutzte Daten im Feld 23 für häufig genutzte Daten entsprechend einer Zugriffshäufigkeits-Reihenfolge auf der Grundlage einer Zugriffshäufigkeit gespeichert werden, die aus der Markierung des Adresssuchabschnitts 10 erhalten werden kann.
  • Für jeden Eintrag wird innerhalb des Tag-Felds 22 ein Tag gespeichert, das dem im Datenindexfeld 14 des Adresssuchabschnitts 10 speicherten Datenindex entspricht. Demgemäß wird im Tag-Feld 22 ein numerischer Wert gespeichert, der in der Reihenfolge von 0 zugeordnet wird, z.B. identisch mit dem für das Datenindexfeld 14. Im Feld 23 für häufig genutzte Daten werden häufig genutzte Daten gespeichert, die die Datenlänge aufweisen, bei der ein Schreiben und Lesen in geeigneten Einheiten durchgeführt wird, z.B. die Grunddatenlänge, die aus dem Bus 110 auf dem Chip geschrieben und in diesen gelesen wird, die Pixellänge für ein Bild oder die Zeilenlänge für einen Cachespeicher. Die häufig genutzten Daten sind z.B. A110 oder A111 als 32-Bit-Folge von 0 oder 1 oder ein Datenmuster, das durch Analysieren des Ausführungsmodus beim Kompilieren eines Programms erhalten wurde.
  • Wenn die erfasste Adresse einen Treffer bezüglich einer gespeicherten Adresse im Adresssuchabschnitt 10 erzielt (Adressentreffer), erfasst der Speicherabschnitt 20 für häufig genutzte Daten ein Tag aus dem Adresssuchabschnitt 10, das dem Datenindex für die gespeicherten Adressen entspricht, für die Treffer erzielt wurden. Der Speicherabschnitt 20 für häufig genutzte Daten erkennt, das das Tag mit einem Tag aus dem Tag-Feld 22 der Tabelle 21 übereinstimmt, das dem erfassten Datenindex entspricht, und identifiziert die häufig genutzten Daten, die dem übereinstimmenden Tag entsprechen.
  • Beim Schreiben werden die identifizierten häufig genutzten Daten von der Datenvergleichseinheit 30 mit den Schreibdaten aus dem Bus 110 auf dem Chip verglichen, wie sie mit anderen häufig genutzten Daten verglichen wurden, die im Feld 23 für häufig genutzte Daten gespeichert sind. Wenn die identifizierten häufig genutzten Daten Schreibdaten sind und sie einen Treffer bezüglich anderer häufig genutzter Daten erzielt haben, empfängt der Speicherabschnitt 20 für häufig genutzte Daten auf der Datenvergleichseinheit 30 eine Anweisung, dass die häufig genutzten Daten aus der Datenvergleichseinheit 30 einen Treffer erzielt haben (Datentrefferanweisung), benachrichtigt er den Adresssuchabschnitt 10 über ein Tag, das im Tag-Feld 22 des Eintrags für die häufig genutzten Daten, für die ein Treffer erzielt wurde (Datentreffer), gespeichert ist, und weist er an, die Speicheradresse des ältesten Tag im Adresssuchabschnitt 10 mit der erfassten Adresse zu überschreiben. Wenn die Schreibdaten keinen Treffer bezüglich identifizierter häufig genutzter Daten in der Datenvergleichseinheit 30 erzielt haben, weist der Speicherabschnitt 20 für häufig genutzte Daten den Adresssuchabschnitt 10 an, die Speicheradresse zu invalidieren, für die ein Treffer auf dem Adresssuchabschnitt 10 erzielt wurde (Invalidierung einer Adresse, für die ein Treffer erzielt wurde). Beim Lesen werden die identifizierten häufig genutzten Daten (Lesetreffer) als Lesedaten an die Lesedaten-Auswahleinheit 90 bereitgestellt.
  • Die Datenvergleichseinheit 30 erfasst die gespeicherten häufig genutzten Daten aus dem Speicherabschnitt 20 für häufig genutzte Daten und vergleicht diese mit der Schreibdateneingabe aus dem Bus 110 auf dem Chip. 4 zeigt ein Strukturbeispiel für eine Datenvergleichseinheit 30. Die Datenvergleichseinheit 30 beinhaltet die Vielzahl von Vergleichseinheiten 31a, 31b ... 31n, die alle der entsprechenden häufig genutzten Daten mit den Schreibdaten vergleichen. Wenn Schreibdaten einen Treffer bezüglich der häufig genutzten Daten erzielen, erstellt die Vielzahl von Vergleichseinheiten 31a, 31b ... 31n eine Anweisung für den Treffer (Datentreffer) und gibt die Anweisung an den Speicherabschnitt 20 für häufig genutzte Daten und die Schreibdaten-Auswahleinheit 80 aus. Nachdem sämtliche eingegebenen häufig genutzten Daten verglichen wurden, stellt die Vielzahl von Vergleichseinheiten 31a, 31b ... 31n die Daten an das Komprimierungsmodul 50 des Komprimierungs-/Dekomprimierungsabschnitts 40 bereit. Die Schreibdaten werden darüber hinaus an das Komprimierungsmodul 50 aus der Datenvergleichseinheit 30 bereitgestellt.
  • Der Komprimierungs-/Dekomprimierungsabschnitt 40 erfasst und komprimiert Schreibdaten und häufig genutzte Daten aus der Datenvergleichseinheit 30 und erfasst und dekomprimiert Lesedaten aus der Schreib-Lese-Steuereinheit 120 in Bezug auf die Speichereinheit. 5 zeigt ein Strukturbeispiel für den Komprimierungs-/Dekomprimierungsabschnitt 40. Der Komprimierungs-/ Dekomprimierungsabschnitt 40 weist ein Komprimierungsmodul 50, ein Komprimierungs-/Dekomprimierungs-Wörterbuch 60 und ein Dekomprimierungsmodul 70 auf. Das Komprimierungsmodul 50 enthält die Vielzahl von Komprimierungsschaltkreisen 51a, 51b ... 51m, die sich nach Komprimierungsverfahren unterscheiden, und komprimiert die Schreibdaten und häufig genutzten Daten, die aus der Datenvergleichseinheit 30 erfasst wurden. Die Komprimierungsschaltkreise 51a, 51b ... 51m sind Schaltkreise, die Hardware verwenden, um z.B. Algorithmen eines verlustlosen Komprimierungsverfahrens (LHA usw.) zu erzeugen. Das Komprimierungsmodul 50 verwendet die Komprimierungsschaltkreise, um die Schreibdaten und häufig genutzten Daten zu komprimieren und stellt die Daten an die Schreibdaten-Auswahleinheit 80 bereit. Das Dekomprimierungsmodul 70 entspricht dem Komprimierungsmodul 50 und enthält die Vielzahl von Dekomprimierungsschaltkreisen 71a, 71b ... 71m, die sich nach Dekomprimierungsverfahren unterscheiden, und dekomprimiert die aus der Schreib-Lese-Steuereinheit 120 erfassten Lesedaten. Das Dekomprimierungsmodul 70 verwendet die Dekomprimierungsschaltkreise, um die Lesedaten zu dekomprimieren und stellt die Daten an die Lesedaten-Auswahleinheit 90 bereit. Das Erfassen von Lesedaten aus der Schreib-Lese-Steuereinheit 120 erfolgt, wenn es keine häufig genutzten Daten im Speicherabschnitt 20 für häufig genutzte Daten gibt, die zu den Lesedaten werden (Kein Lesetreffer). Das Komprimierungs-/Dekomprimierungs-Wörterbuch 60 enthält eine Datenkodierungs-Unterstützungstabelle 61a, 61b ... 61m, die eine Entsprechung der von den Komprimierungsschaltkreisen 51a, 51b ... 51m zu komprimierenden Daten mit der Kodierung durchführt, die die Daten auf den Dekomprimierungsschaltkreisen 71a, 71b ... 71m dekomprimiert. Darüber hinaus ist eine solche Strukturierung denkbar, bei der im Speicherabschnitt 20 für häufig genutzte Daten gespeicherte Daten durch die Datenkodierungs-Unterstützungstabelle 61a, 61b ... 61m komprimiert werden, wodurch sowohl den Komprimierungsschaltkreisen 51a, 51b ... 51m als auch den Dekomprimierungsschaltkreisen 71a, 71b ... 71m entsprochen wird.
  • Die Schreibdaten-Auswahleinheit 80 erfasst die Schreibdaten und häufig genutzten Daten, die vom Komprimierungs-/Dekomprimierungsabschnitt 40 komprimiert wurden, und wählt gemäß Anweisung von der Datenvergleichseinheit 30 die komprimierten Schreibdaten oder die komprimierten häufig genutzten Daten aus, die im Komprimierungs-/Dekomprimierungs-Wörterbuch 60 verzeichnet sind. 6 zeigt ein Strukturbeispiel für die Schreibdaten-Auswahleinheit 80. Die Schreibdaten-Auswahleinheit 80 weist eine Auswahleinheit 81 zum Antworten auf die Anweisung von der Datenvergleichseinheit 30, zum Auswählen der komprimierten Schreibdaten oder der komprimierten häufig genutzten Daten und zum Bereitstellen der Daten an die Schreib-Lese-Steuereinheit 120 auf.
  • Wenn die Adresse der aus dem Bus 110 auf dem Chip erfassten Lesedaten einen Treffer bezüglich einer Speicheradresse im Adresssuchabschnitt 10 erzielt (Lesetreffer), erfasst die Lesedaten-Auswahleinheit 90 die identifizierten häufig genutzten Daten innerhalb der häufig genutzten Daten aus dem Speicherabschnitt 20 für häufig genutzte Daten; und wenn die Daten keinen Treffer erzielt haben (kein Lesetreffer), erfasst sie die Lesedaten, die aus der Schreib-Lese-Steuereinheit 120 in Bezug auf die Speichereinheit gelesen und durch den Komprimierungs-/ Dekomprimierungsabschnitt 40 dekomprimiert wurden. Die Lesedaten-Auswahleinheit 90 wählt gemäß Anweisung von der Datenvergleichseinheit 30 die identifizierten häufig genutzten Daten oder die dekomprimierten Lesedaten aus. 7 zeigt ein Strukturbeispiel für die Lesedaten-Auswahleinheit 90. Die Lesedaten-Auswahleinheit 90 umfasst eine Leseeinheit 91 zum Antworten auf die Anweisung vom Adresssuchabschnitt 10, zum Auswählen der identifizierten häufig genutzten Daten oder der dekomprimierten Lesedaten und zum Bereitstellen der Daten an den Bus 110 auf dem Chip.
  • 8 zeigt den Ablauf der Leseverarbeitung im Speichereinheit-Zugriffssystem 100. Das Zugriffssystem 100 beginnt mit Schritt 801, wenn eine Eingabe einer Adresse oder Schreibdaten aus dem Bus 110 auf dem Chip vorhanden ist bzw. sind. Die in Schritt 802 eingegebene Adresse oder eingegebenen Schreibdaten wird bzw. werden vom Zugriffssystem 100 erfasst, und in Schritt 803 wird vom Adresssuchabschnitt 10 eine Adresssuche für die erfasste Adresse durchgeführt, wobei die gespeicherten Adressen durchsucht werden. In Schritt 803 geht der Prozess zu Schritt 804 über, wenn die durchgeführte Adresssuche zu keinem Treffer führt (Nein), bei einem Treffer (Ja) geht er zu Schritt 805 über. Sowohl in Schritt 804 als auch Schritt 805 vergleicht die Datenvergleichseinheit 30 die Schreibdaten mit häufig genutzten Daten aus dem Speicherabschnitt 20 für häufig genutzte Daten. Wenn der Datenvergleich in Schritt 804 oder Schritt 805 zu einem Datentreffer (Übereinstimmung) führt (Ja), geht der Prozess zu Schritt 806 über, und der Adresssuchabschnitt 10, der vom Speicherabschnitt 20 für häufig genutzte Daten über ein Tag für die häufig genutzten Daten benachrichtigt wurde, für die ein Treffer erzielt wurde, empfängt eine Anweisung zum Überschreiben der Speicheradresse mit dem ältesten Tag innerhalb des Adressfelds 12 auf die erfasste Adresse und führt das Überschreiben durch. Wenn der Datenvergleich in Schritt 805 zu keinem Datentreffer führt (Nein), geht der Prozess zu Schritt 807 über, und der Adresssuchabschnitt 10, der vom Speicherabschnitt 20 für häufig genutzte Daten zur Durchführung einer Invalidierung der Speicheradresse angewiesen wurde, für die ein Treffer erzielt wurde (Invalidieren), invalidiert die Speicheradresse, für die ein Treffer erzielt wurde. Wenn der Datenvergleich in Schritt 804 zu keinem Datentreffer führt (Nein) und die Speicheradresse, für die ein Treffer erzielt wurde, in Schritt 807 invalidiert wurde, geht der Prozess zu Schritt 808 über und die Schreibdaten werden vom Komprimierungs-/Dekomprimierungs-Abschnitt 40 komprimiert. Wenn die Speicheradresse mit dem ältesten Tag in Schritt 806 auf die erfasste Adresse überschrieben wird, werden die Schreibdaten und die häufig genutzten Daten, für die ein Treffer erzielt wurde, vom Komprimierungs-/Dekomprimierungsabschnitt 40 komprimiert. Nachdem die Daten komprimiert wurden, wird die erfasste Adresse in Schritt 809 vom Adresssuchabschnitt 10 ausgegeben, wenn kein Lesetreffer vorliegt, und gemäß Anweisung durch die Datenvergleichseinheit 30 erfolgt eine Auswahl und eine Ausgabe der komprimierten Schreibdaten oder der komprimierten häufig genutzten Daten, die im Komprimierungs-/Dekomprimierungs-Wörterbuch 60 verzeichnet sind, aus der Datenauswahleinheit 80. Wenn die erfasste Adresse und die erfassten komprimierten Daten in Schritt 809 ausgegeben wurden, geht der Prozess zu Schritt 810 über, und der Adresssuchabschnitt 10 beendet den Datenschreibprozess.
  • 9 zeigt den Ablauf der Schreibverarbeitung im Speichereinheit-Zugriffssystem 100. Das Zugriffssystem 100 beginnt mit Schritt 901, wenn eine Eingabe einer Adresse aus dem Bus 110 auf dem Chip vorhanden ist bzw. sind. Die in Schritt 902 eingegebene Adresse wird vom Zugriffssystem 100 erfasst, und in Schritt 903 wird vom Adresssuchabschnitt 10 eine Adresssuche für die erfasste Adresse durchgeführt, wobei die gespeicherten Adressen durchsucht werden. Wenn die durchgeführte Adresssuche in Schritt 903 zu einem Treffer führt (Ja), insbesondere zu einem Lesetreffer, geht der Prozess zu Schritt 904 über, und wenn kein Treffer erzielt wird (Nein), insbesondere bei keinem Lesertreffer, geht er zu Schritt 906 über. Bei einem Lesetreffer werden die häufig genutzten Daten, die einen Treffer bezüglich der erfassten Adresse erzielen, in Schritt 904 aus dem Speicherabschnitt 20 für häufig genutzte Daten erfasst, und die häufig genutzten Daten werden in Schritt 905 ausgewählt und als Lesedaten ausgegeben. Liegt kein Lesertreffer vor, wird die erfasste Adresse in Schritt 906 hingegen aus dem Adresssuchabschnitt 10 an die Schreib-Lese-Steuereinheit 120 ausgegeben, und die komprimierten Daten für diese Adresse werden aus der Speichereinheit erfasst. In Schritt 907 werden die erfassten komprimierten Daten vom Komprimierungs-/ Dekomprimierungsabschnitt 40 dekomprimiert. In Schritt 908 werden die dekomprimierten Daten von der Lesedaten-Auswahleinheit 90, die die Daten als Lesedaten auswählt und ausgibt, aus dem Komprimierungs-/
    Dekomprimierungsabschnitt 40 erfasst. Wenn die häufig genutzten Daten in Schritt 905 als Lesedaten ausgegeben werden oder die dekomprimierten Daten in Schritt 908 als Lesedaten ausgegeben werden, geht der Prozess zu Schritt 909 über, und der Adresssuchabschnitt 10 beendet den Leseprozess.
  • Bezugszeichenliste
  • 10
    Adresssuchabschnitt
    20
    Speicherabschnitt für häufig genutzte Daten
    30
    Datenvergleichseinheit
    40
    Komprimierungs-/Dekomprimierungsabschnitt
    80
    Schreibdaten-Auswahleinheit
    90
    Lesedaten-Auswahleinheit
    100
    Speichereinheit-Zugriffssystem

Claims (11)

  1. Speichereinheit-Zugriffssystem (100) zum Schreiben und Lesen von Daten in Bezug auf eine Speichereinheit; wobei das System (100) aufweist: einen Adresssuchabschnitt (10) zum Speichern einer Adresse für eine Mehrzahl von häufig genutzten Daten und eines der Adresse zugeordneten Datenindexes (14), zum Erfassen der Adresse der Schreib- oder Lesedaten und zum Durchsuchen gespeicherter Adressen mit der erfassten Adresse; einen Speicherabschnitt (20) für häufig genutzte Daten zum Speichern eines Tag, der mit der Mehrzahl von häufig genutzten Daten und dem Datenindex assoziiert ist, zum Erfassen des Datenindexes, wenn eine vom Adresssuchabschnitt (10) erfasste Adresse einen Treffer bezüglich einer gespeicherten Adresse erzielt hat, und zum Identifizieren von häufig genutzten Daten, die dem mit dem erfassten Datenindex assoziierten Tag entsprechen; eine Datenvergleichseinheit (30) zum Erfassen der häufig verwendeten Daten aus dem Speicherabschnitt (20) für häufig genutzte Daten, zum Vergleichen der Daten mit den Schreibdaten und zum Identifizieren von häufig genutzten Daten, die einen Treffer bezüglich der Schreibdaten erzielt haben; einen Komprimierungs-/Dekomprimierungsabschnitt (40) zum Erfassen und Komprimieren der Schreibdaten und der häufig genutzten Daten aus der Datenvergleichseinheit (30) und zum Erfassen und Dekomprimieren der Lesedaten aus der Speichereinheit; eine Schreibdaten-Auswahleinheit (80) zum Erfassen der Schreibdaten und der häufig genutzten Daten, die vom Komprimierungs-Dekomprimierungsabschnitt komprimiert wurden, zum Empfangen einer Anweisung von der Datenvergleichseinheit (30) und zum Auswählen der komprimierten Schreibdaten oder der häufig genutzten Daten; und eine Lesedaten-Auswahleinheit (90) zum Erfassen der identifizierten Lesedaten innerhalb des häufig genutzten Daten aus dem Speicherabschnitt (20) für häufig genutzte Daten, wenn die Adresse der Lesedaten einen Treffer bezüglich der Speicheradresse des Adresssuchabschnitts erzielt hat, zum Erfassen der Lesedaten, die aus der Speichereinheit gelesen und durch den Komprimierungs-/Dekomprimierungsabschnitts (40) dekomprimiert wurden, wenn die Daten keinen Treffer erzielen, zum Auswählen der identifizierten Lesedaten oder der dekomprimierten Lesedaten unter einer Anweisung aus dem Adresssuchabschnitt.
  2. Speichereinheit-Zugriffssystem (100) nach Anspruch 1, wobei, wenn der Speicherabschnitt (20) für häufig genutzte Daten von der Datenvergleichseinheit (30) angewiesen wurde, dass die Schreibdaten einen Treffer bezüglich der häufig genutzten Daten erzielt haben, der Speicherabschnitt (20) für häufig genutzte Daten den Adresssuchabschnitt (10) über den Tag für die häufig genutzten Daten benachrichtigt, für die ein Treffer erzielt wurde, und ein Überschreiben der gespeicherten Adresse mit dem ältesten Tag im Adresssuchabschnitt (10) auf die erfasste Adresse anweist; und wenn der Speicherabschnitt (20) für häufig genutzte Daten von der Datenvergleichseinheit (30) angewiesen wurde, dass die erfasste Adresse einen Treffer bezüglich der gespeicherten Adresse im Adresssuchabschnitt (10) erzielt hat, aber die Schreibdaten keinen Treffer bezüglich der vom entsprechenden Tag identifizierten häufig genutzten Daten erzielt hat, der Speicherabschnitt (20) für häufig genutzte Daten den Adresssuchabschnitt (10) anweist, eine Invalidierung der gespeicherten Adresse durchzuführen, für die ein Treffer erzielt wurde.
  3. Speichereinheit-Zugriffssystem (100) nach Anspruch 1, wobei der Adresssuchabschnitt (10) eine Tabelle aufweist, die für jeden Eintrag ein Adressfeld (12) zum Speichern der Adresse, ein Markierungsfeld (13) zum Speichern einer Markierung, die anzeigt, wie oft ein Schreib- oder Lesevorgang für die Adresse durchgeführt wurde, und ein Datenindexfeld (14) zum Speichern eines Datenindexes (14) für die Adresse des Adressfelds (12) aufweist, und die Tabelle (11) aus einer Vielzahl von Einträgen besteht.
  4. Speichereinheit-Zugriffssystem (100) nach Anspruch 2 und 3, wobei, wenn der Speicherabschnitt (20) für häufig genutzte Daten den Adresssuchabschnitt (10) angewiesen hat, eine Aufhebung der gespeicherten Adresse durchzuführen, für die ein Treffer erzielt wurde, die Markierung im Markierungsfeld (13) des Eintrags für die gespeicherte Adresse, für die ein Treffer erzielt wurde, auf einen vorgeschriebenen Wert gesetzt wird, der die Invalidierung ausdrückt.
  5. Speichereinheit-Zugriffssystem (100) nach einem der Ansprüche 1 bis 4, wobei der Speicherabschnitt (20) für häufig genutzte Daten eine Tabelle (21) aufweist, die für jeden Eintrag ein Tag-Feld (22) zum Speichern des Tags und ein Feld für häufig genutzte Daten zum Speichern von häufig genutzten Daten aufweist, die dem Tag des Tag-Felds (22) entsprechen, und die Tabelle (21) aus einer Mehrzahl von Einträgen besteht.
  6. Speichereinheit-Zugriffssystem (100) nach Anspruch 5, wobei das Feld für häufig genutzte Daten Daten für eine Grunddatenlänge mit häufig genutzten Daten speichert, die in der Speichereinheit verzeichnet wird.
  7. Speichereinheit-Zugriffssystem (100) nach einem der Ansprüche 1 bis 6, wobei die Datenvergleichseinheit (30) eine Mehrzahl von Vergleichseinheiten (31a, 31b ... 31n) zum Vergleichen aller entsprechenden häufig genutzten Daten mit den Schreibdaten aufweist.
  8. Speichereinheit-Zugriffssystem (100) nach einem der Ansprüche 1 bis 7, wobei der Komprimierungs-/Dekomprimierungsabschnitt (40) ein Komprimierungsmodul (50), das zumindest einen Komprimierungsschaltkreis (51a, 51b ... 51m) zum Komprimieren der Schreibdaten und der Lesedaten bereitstellt, ein Dekomprimierungsmodul (70), das zumindest einen Dekomprimierungsschaltkreis (71a, 71b ... 71m) zum Dekomprimieren der Lesedaten aus der Speichereinheit bereitstellt, und einen Komprimierungs-/Dekomprimierungs-Wörterbuch(-60-)abschnitt aufweist, der zumindest eine Datenkodierungs-Unterstützungstabelle (61a, 61b ... 61m) zum Unterstützen einer Kodierung bereitstellt, um die vom Komprimierungsschaltkreis (51a, 51b ... 51m) komprimierten Daten mit dem Dekomprimierungsschaltkreis (71a, 71b ... 71m) zu dekomprimieren.
  9. Speichereinheit-Zugriffssystem (100) nach Anspruch 8, wobei die Datenkodierungs-Unterstützungstabelle (61a, 61b ... 61m) zum Unterstützen einer Entsprechung zwischen dem Dekomprimierungsschaltkreis (71a, 71b ... 71m) und dem Komprimierungsschaltkreis (51a, 51b ... 51m) bereitgestellt wird und die Daten der Datenkodierungs-Unterstützungstabelle (61a, 61b ... 61m) häufig genutzte Daten sind, die im Speicherabschnitt (20) für häufig genutzte Daten gespeichert sind.
  10. Speichereinheit-Zugriffssystem (100) nach einem der Ansprüche 1 bis 9, wobei die Schreibdaten-Auswahleinheit (80) eine Auswahleinheit zum Auswählen der komprimierten Schreibdaten oder der häufig genutzten Daten in Reaktion auf eine Anweisung von der Datenvergleichseinheit (30) aufweist.
  11. Speichereinheit-Zugriffssystem (100) nach einem der Ansprüche 1 bis 10, wobei die Lesedaten-Auswahleinheit (90) eine Auswahleinheit zum Auswählen der identifizierten Lesedaten oder der dekomprimierten Lesedaten in Reaktion auf eine Anweisung von der Datenvergleichseinheit (30) aufweist.
DE112012005383.4T 2011-12-22 2012-10-03 Speichereinheit-Zugriffssystem Active DE112012005383B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011-282034 2011-12-22
JP2011282034 2011-12-22
PCT/JP2012/075606 WO2013094280A1 (ja) 2011-12-22 2012-10-03 記憶装置アクセス・システム

Publications (2)

Publication Number Publication Date
DE112012005383T5 DE112012005383T5 (de) 2014-09-11
DE112012005383B4 true DE112012005383B4 (de) 2022-03-10

Family

ID=48655555

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012005383.4T Active DE112012005383B4 (de) 2011-12-22 2012-10-03 Speichereinheit-Zugriffssystem

Country Status (6)

Country Link
US (1) US9146933B2 (de)
JP (1) JP5629392B2 (de)
CN (1) CN103999061B (de)
DE (1) DE112012005383B4 (de)
GB (1) GB2510523B (de)
WO (1) WO2013094280A1 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013094280A1 (ja) 2011-12-22 2013-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置アクセス・システム
US8611437B2 (en) 2012-01-26 2013-12-17 Nvidia Corporation Ground referenced single-ended signaling
US9338036B2 (en) 2012-01-30 2016-05-10 Nvidia Corporation Data-driven charge-pump transmitter for differential signaling
US9171607B2 (en) 2013-03-15 2015-10-27 Nvidia Corporation Ground-referenced single-ended system-on-package
US9153539B2 (en) 2013-03-15 2015-10-06 Nvidia Corporation Ground-referenced single-ended signaling connected graphics processing unit multi-chip module
US9147447B2 (en) * 2013-03-15 2015-09-29 Nvidia Corporation Ground-referenced single-ended memory interconnect
US9170980B2 (en) 2013-03-15 2015-10-27 Nvidia Corporation Ground-referenced single-ended signaling connected graphics processing unit multi-chip module
US9153314B2 (en) 2013-03-15 2015-10-06 Nvidia Corporation Ground-referenced single-ended memory interconnect
US9430375B2 (en) * 2013-12-30 2016-08-30 International Business Machines Corporation Techniques for storing data in bandwidth optimized or coding rate optimized code words based on data access frequency
JP2015176245A (ja) 2014-03-13 2015-10-05 株式会社東芝 情報処理装置及びデータ構造
JP2016057763A (ja) * 2014-09-08 2016-04-21 株式会社東芝 キャッシュ装置、及びプロセッサ
US9684602B2 (en) 2015-03-11 2017-06-20 Kabushiki Kaisha Toshiba Memory access control device, cache memory and semiconductor device
CN108563532B (zh) * 2018-02-28 2021-01-19 深圳和而泰家居在线网络科技有限公司 数据处理方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5584008A (en) 1991-09-12 1996-12-10 Hitachi, Ltd. External storage unit comprising active and inactive storage wherein data is stored in an active storage if in use and archived to an inactive storage when not accessed in predetermined time by the host processor
JP2000029756A (ja) 1998-07-13 2000-01-28 Nec Corp ファイル圧縮管理方式
JP2002049512A (ja) 1992-10-22 2002-02-15 Nec Corp ファイル圧縮処理装置
US6564305B1 (en) 2000-09-20 2003-05-13 Hewlett-Packard Development Company Lp Compressing memory management in a device
JP2007060639A (ja) 2006-06-21 2007-03-08 Teruhiro Hirata 立体テレビ放送システムとその鑑賞器

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5007A (en) * 1847-03-13 Improvement in steam-presses
JPH0319351U (de) * 1989-07-07 1991-02-26
JPH0572213A (ja) * 1991-01-24 1993-03-23 Hitachi Ltd 自動分析装置の測定方法
JP2818324B2 (ja) * 1991-07-02 1998-10-30 株式会社ナックス ソフトウェアの自動販売システム
JPH05189360A (ja) * 1992-01-14 1993-07-30 Shikoku Nippon Denki Software Kk データ転送および記憶方式
JPH05204747A (ja) 1992-01-29 1993-08-13 Mitsubishi Electric Corp 半導体メモリコントローラ
CA2108833A1 (en) * 1992-10-22 1994-04-23 Masanori Ishii File compression processor
JPH07160430A (ja) 1993-12-03 1995-06-23 Fuji Xerox Co Ltd 自動入出力管理装置
JP3019351U (ja) * 1995-06-13 1995-12-12 株式会社ハドソン コンピュータ用外部記憶装置
JPH09212505A (ja) 1996-01-30 1997-08-15 Canon Inc 文書処理装置および方法
JPH09219647A (ja) 1996-02-09 1997-08-19 Casio Comput Co Ltd ファイル処理装置
JP3781224B2 (ja) * 1997-03-19 2006-05-31 株式会社ルネサステクノロジ 半導体装置
JPH1124974A (ja) 1997-07-08 1999-01-29 Canon Inc ファイル管理装置及びファイル管理方法
JP2000066844A (ja) 1998-08-17 2000-03-03 Nec Off Syst Ltd ディスク装置圧縮システム
JP2000163264A (ja) 1998-11-30 2000-06-16 Ricoh Co Ltd Cpu用のプログラム記憶装置
US6779100B1 (en) * 1999-12-17 2004-08-17 Hewlett-Packard Development Company, L.P. Method and device for address translation for compressed instructions
JP2002132546A (ja) 2000-10-24 2002-05-10 Xaxon R & D Corp 記憶装置
US7188227B2 (en) 2003-09-30 2007-03-06 International Business Machines Corporation Adaptive memory compression
JP2007094639A (ja) 2005-09-28 2007-04-12 Tdk Corp メモリコントローラ及びフラッシュメモリシステム
JP4921080B2 (ja) * 2006-09-01 2012-04-18 キヤノン株式会社 メモリ制御回路及びメモリ制御方法
JP5782214B2 (ja) 2008-05-30 2015-09-24 富士通株式会社 情報検索プログラム、情報検索装置および情報検索方法
JP5621229B2 (ja) 2009-08-27 2014-11-12 日本電気株式会社 ストレージシステム、管理方法及びプログラム
JP5204747B2 (ja) 2009-12-10 2013-06-05 日東精工株式会社 ねじ部品締結機
JP2012014493A (ja) * 2010-07-01 2012-01-19 Sony Corp メモリ管理装置、メモリ管理方法及びプログラム
US9141527B2 (en) * 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US8838897B2 (en) * 2011-06-29 2014-09-16 New Jersey Institute Of Technology Replicating tag entries for reliability enhancement in cache tag arrays
WO2013094280A1 (ja) 2011-12-22 2013-06-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 記憶装置アクセス・システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5584008A (en) 1991-09-12 1996-12-10 Hitachi, Ltd. External storage unit comprising active and inactive storage wherein data is stored in an active storage if in use and archived to an inactive storage when not accessed in predetermined time by the host processor
JP2002049512A (ja) 1992-10-22 2002-02-15 Nec Corp ファイル圧縮処理装置
JP2000029756A (ja) 1998-07-13 2000-01-28 Nec Corp ファイル圧縮管理方式
US6564305B1 (en) 2000-09-20 2003-05-13 Hewlett-Packard Development Company Lp Compressing memory management in a device
JP2007060639A (ja) 2006-06-21 2007-03-08 Teruhiro Hirata 立体テレビ放送システムとその鑑賞器

Also Published As

Publication number Publication date
US9146933B2 (en) 2015-09-29
DE112012005383T5 (de) 2014-09-11
WO2013094280A1 (ja) 2013-06-27
GB2510523B (en) 2014-12-10
CN103999061B (zh) 2016-08-17
GB2510523A (en) 2014-08-06
CN103999061A (zh) 2014-08-20
US20130166519A1 (en) 2013-06-27
JP5629392B2 (ja) 2014-11-19
JPWO2013094280A1 (ja) 2015-04-27
GB201408611D0 (en) 2014-06-25

Similar Documents

Publication Publication Date Title
DE112012005383B4 (de) Speichereinheit-Zugriffssystem
DE69432878T2 (de) Informationsverarbeitungssystem mit Flash-Speicher und Cache-Speicher
DE4410060B4 (de) Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse
DE102010030745B4 (de) Nicht-flüchtiger Speicher zum Speichern von Speicher-Umabbildungs-Informationen
DE102013205738A1 (de) Erfassung von tabellengrenzen in datenblöcken zur kompression
DE102018005977A1 (de) Gleitkomma- zu festkomma-umwandlung
DE102013206744A1 (de) Deduplizierende speicherung mit verbesserter erkennung von häufigen blöcken
DE112015003540T5 (de) Zwischenspeichertechnologien unter Einsatz von Datenkomprimierung
DE112018004637B4 (de) Maschinelles lernen zum verbessern von wiederherstellungen von redundanten anordnungen von unabhängigen festplatten
DE10339225A1 (de) Speichereinrichtung mit optimierter Kompression
DE202019005682U1 (de) Hardwaregestützte Paging-Mechanismen
DE112013000734B4 (de) Multiplex-Klassifizierung zum Komprimieren von Tabellendaten
DE102005033274A1 (de) Mustervergleichsarchitektur
DE112017004916T5 (de) Verwendung von Kompression zur Kapazitätserhöhung eines speicherseitigen Caches mit grosser Blockgrösse
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
DE112012004796T5 (de) Periodische Auslagerung von Innen- und Aussendurchmessern von Platten zum Verbessern von Lesereaktionszeiten
DE102021107126A1 (de) Zonenzuordnung für datenspeichervorrichtung basierend auf zonenrücksetzverhalten
DE112019000627T5 (de) Speicherstrukturbasiertes Coherency Directory Cache
DE60006007T2 (de) Verfahren und gerät zur kombinierten umordnung von transaktionen und pufferverwaltung
DE102017001995A1 (de) Effiziente geräteübergreifende redundanzimplementierung auf direkt angeschlossenen, nicht-flüchtigen hochleistungsspeichern mit datenreduktion
DE102014002898A1 (de) Verzweigungszielpuffer mit einer effizienten Rückgabevorhersagefähigkeit
DE112016006050T5 (de) Verfahren zum erkennen von schadsoftware mit minimaler leistungsminderung
DE102006026474A1 (de) System und Verfahren für das automatische Optimieren von erhältlichen virtuellem Speicher
DE2906789A1 (de) Speicherpruefsystem
DE112008003409T5 (de) Redundante Bitmuster für die Spaltendefekt-Codierung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0012040000

Ipc: G06F0012080000

Effective date: 20140811

R082 Change of representative

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final