Dynamically adjusted threshold for population of secondary cache

    公开(公告)号:GB2513741A

    公开(公告)日:2014-11-05

    申请号:GB201409211

    申请日:2012-10-19

    Applicant: IBM

    Abstract: The population of data to be inserted into secondary data storage cache is controlled by determining a heat metric of candidate data; adjusting a heat metric threshold; rejecting candidate data provided to the secondary data storage cache whose heat metric is less than the threshold; and admitting candidate data whose heat metric is equal to or greater than the heat metric threshold. The adjustment of the heat metric threshold is determined by comparing a reference metric related to hits of data most recently inserted into the secondary data storage cache, to a reference metric related to hits of data most recently evicted from the secondary data storage cache; if the most recently inserted reference metric is greater than the most recently evicted reference metric, decrementing the threshold; and if the most recently inserted reference metric is less than the most recently evicted reference metric, incrementing the threshold.

    SPEICHERCONTROLLER FÜR SOLID-STATE-SPEICHEREINHEITEN

    公开(公告)号:DE112020005695B4

    公开(公告)日:2025-03-27

    申请号:DE112020005695

    申请日:2020-10-26

    Applicant: IBM

    Abstract: Computersystem zum Steuern des Betriebes eines Array von nichtflüchtigen Speicherzellen (2), das Zellen aufweist, die selektiv für Einzelbit- und Multibit-Speicherung konfigurierbar sind, das Computersystem aufweisend:einen oder mehrere Computerprozessoren;einen Speichercontroller (4);ein oder mehrere von einem Computer lesbare Speichermedien; undProgrammanweisungen, die auf den von einem Computer lesbaren Speichermedien gespeichert sind, wobei die Programmanweisungen von einer Verarbeitungseinheit eines Speichercontrollers (4) ausführbar sind, um den Speichercontroller (4) zu veranlassen zum:selektiven Konfigurieren des Array (2) für den Betrieb in einem Hybrid-Modus, in dem das Array (2) sowohl für Einzelbit-Speicherung konfigurierte Zellen als auch für Multibit-Speicherung konfigurierte Zellen aufweist, und in einem Multibit-Modus, in dem alle Zellen in dem Array für Multibit-Speicherung konfiguriert sind; unddynamischen Umschalten zwischen der Hybrid-Modus- und der Multibit-Modus-Konfiguration des Array (2) in Abhängigkeit davon, ob eine Array-Kapazitätsnutzung einen definierten Schwellenwert überschreitet, der mit einer verbesserten Lebensdauer des Array verbunden ist; undvor dem Betrieb des Array, Definieren eines Schwellenwertes in Abhängigkeit eines Satzes von Systemparametern für das Array, wobei die Parameter auf Informationen hinweisen, die ausgewählt sind aus der Gruppe, die aus Folgendem besteht:- Rohzellenlebensdauer im Einzelbit-Modus und im Multibit-Modus,- Größe des Array (2),- Arbeitslast-Arten des Array (2),- eines von einem statischen Hybrid-Modus, bei dem ein Anteil der Einzelbit- und Multibit-Zellen statisch sind, und einem dynamischen Hybrid-Modus, bei dem der Anteil für den Betrieb des Array (2) in dem Hybrid-Modus dynamisch bestimmt wird,und- ob eine Schreib-Heat-Segregation für den Betrieb des Array (2) im Hybrid-Modus verfügbar ist.

    Calculating corrective read voltage offsets in non-volatile random access memory

    公开(公告)号:AU2020374243A1

    公开(公告)日:2022-03-31

    申请号:AU2020374243

    申请日:2020-10-16

    Applicant: IBM

    Abstract: A computer-implemented method, according to one approach, is for calibrating read voltages for a block of memory. The computer-implemented method includes: determining a current operating state of a block which includes more than one word-line therein, and where more than one read voltage is associated with each of the word-lines. Moreover, for each of the word-lines in the block: one of the read voltages associated with the given word-line is selected as a reference read voltage, and an absolute shift value is calculated for the reference read voltage. A relative shift value is determined for each of the remaining read voltages associated with the given word-line, where the relative shift values are determined with respect to the reference read voltage. Furthermore, each of the read voltages associated with the given word-line are adjusted using the absolute shift value and each of the respective relative shift values.

    Arbeitslastoptimierte Datendeduplizierung mittels Phantomfingerabdrücken

    公开(公告)号:DE112017002941T5

    公开(公告)日:2019-03-21

    申请号:DE112017002941

    申请日:2017-07-21

    Applicant: IBM

    Abstract: Ein Controller eines Datenspeichersystems erzeugt Fingerabdrücke von Datenblöcken, die in das Datenspeichersystem geschrieben werden. Der Controller verwaltet entsprechende Zustandsinformationen für jeden einer Vielzahl von Datenblöcken in einer Datenstruktur. Die Zustandsinformationen für jeden Datenblock können unabhängig gesetzt werden, um einen beliebigen einer Vielzahl von Zuständen anzugeben, darunter mindestens einen Deduplizierungszustand und mindestens einen Nicht-Deduplizierungszustand. Bei der Zuordnung eines Datenblocks initialisiert der Controller die Zustandsinformationen für den Datenblock auf einen Nicht-Deduplizierungszustand und danach, als Reaktion auf das Erkennen einer Schreiboperation eines Duplikats des Datenblocks in das Datenspeichersystem, überführt er die Zustandsinformationen für den Datenblock in einen Deduplizierungszustand Der Controller führt selektiv eine Datendeduplizierung für in das Datenspeichersystem geschriebene Datenblöcke basierend auf den Zustandsinformationen in der Datenstruktur und durch Verweis auf die Fingerabdrücke durch.

    Verfahren und Speichercontroller zur Bestimmung einer Zugriffscharakteristik einer Datenentität

    公开(公告)号:DE102012212183B4

    公开(公告)日:2017-10-05

    申请号:DE102012212183

    申请日:2012-07-12

    Applicant: IBM

    Abstract: Verfahren zur Bestimmung einer Charakteristik einer Datenentität, wobei diese Charakteristik auf einer Zugriffshäufigkeit auf diese Datenentität in einem Speichersystem beruht, umfassend das – Bereitstehen eines zählenden Bloomfilters (CBF), um während eines Zeitintervalls betrieben zu werden, wobei das zählende Bloomfilter (CBF) eine Gruppe (S1) von Zählern (C) umfasst, – Bereitstellen einer Datenstruktur, umfassend eine Gruppe von Elementen, wobei jedes Element der Gruppe von Elementen einem Zähler der Gruppe von Zählern zugeordnet ist, – Bestimmen der Charakteristik dieser Datenentität abhängig von einem Wert mindestens eines Elements der Gruppe von Elementen, – wobei für jedes Einzelzeitintervall, in welchem das zählende Bloomfilter betrieben wird, – die Zähler der Gruppe von Zählern am Anfang des Einzelzeitintervalls auf Null gesetzt werden, – ein Wert mindestens eines Zählers (C) jedes Mal, wenn während des Einzelzeitintervalls auf die Datenentität zugegriffen wird, erhöht wird, – Bestimmen der Charakteristik der Datenentität durch Gewichten des zugeordneten Zählerwertes (C) nach dem Einzelzeitiintervall (j) und Addieren des gewichteten Wertes (Ci) zu Beginn des Einzelzeitintervalls (j) anhand der folgenden Regel ci = αci + (1 –α)cj i – wobei α ein Gewichtungsfaktor ist, der auf 0,75 bis 0,95 gesetzt ist.

    Storage device with 2D configuration of phase change memory integrated circuits

    公开(公告)号:GB2524003A

    公开(公告)日:2015-09-16

    申请号:GB201404173

    申请日:2014-03-10

    Applicant: IBM

    Abstract: A storage device 100 and method of operation (figure 5), comprising a channel controller 10 and phase change memory integrated circuits 20, (PCM ICs) arranged in sub-channels 30, wherein each of the sub-channels 30 comprises several PCM ICs connected by at least one data bus line 35, in which at least one data bus line connects to the channel controller which is configured to write data to and/or read data from the PCM ICs according to a matrix configuration of PCM ICs. The number of columns of this matrix configuration respectively corresponds to a number Ns of the sub-channels, Ns ≥ 2, the sub-channels 30 forming a channel; and a number of rows of this matrix configuration respectively corresponds to a number Nl of sub-banks (40), Nl ≥ 2, the sub-banks 40 forming a bank, wherein each of the sub-banks 40 comprises PCM ICs that belong, each, to a distinct sub-channel 30. The channel controller is configured to break data (71,72 figure 2) to be written to the PCM ICs into data chunks (711-71n, 721-72n figure 2) and buffer data chunks according to the data bus lines 35 consistent with the organisation of the sub banks. Thus the asymmetry in the write/read times associated with PCM memories is mitigated.

    Einfügen eines Flash-Zwischenspeichers in große Speichersysteme

    公开(公告)号:DE112011100564B4

    公开(公告)日:2021-08-26

    申请号:DE112011100564

    申请日:2011-01-07

    Applicant: IBM

    Abstract: Vorrichtung für das Einfügen eines Flash-basierten Caches in ein Speichersystem (200), wobei die Vorrichtung Folgendes umfasst:ein Eingabe-/Ausgabe(E/A)-Gehäuse (202a-n) mit einer Vielzahl von Steckplätzen für die Aufnahme von Hostadapters (208a-n) und Einheitenadapters (210a-n);einen Hostadapter, der in einem ersten Steckplatz des E/A-Gehäuses so eingesetzt ist, dass sich der Hostadapter in einem Innenraum des E/A-Gehäuses befindet, wobei der Hostadapter konfiguriert ist, um einen Host (204a-n) mit dem E/A-Gehäuse zu verbinden;einen Einheitenadapter (210a-n), der in einem zweiten Steckplatz des E/A-Gehäuses so eingesetzt ist, dass sich der Einheitenadapter in dem Innenraum des E/A-Gehäuses befindet, wobei der Einheitenadapter konfiguriert ist, um eine Speichereinheit (206a-n) mit dem E/A-Gehäuse zu verbinden;eine Flash-basierte Caching-Einheit („Flash-Cache“) (220an), die in einem dritten Steckplatz des E/A-Gehäuses so eingesetzt ist, dass sich der Flash-Cache in dem Innenraum des E/A-Gehäuses befindet, wobei der Flash-Cache einen Flash-basierten Speicher umfasst, der so konfiguriert ist, dass er Daten zwischenspeichert, die Datenanforderungen zugehörig sind, welche durch das E/A-Gehäuse verarbeitet werden, wobei der Flash-Cache in Bereiche unterteilt ist, die umfassen: einen Lese-Cachebereich (304), der Daten zwischenspeichert, die Lese-Datenanforderungen zugehörig sind, einen Schreib-Cachebereich (302), der Daten zwischenspeichert, die Schreib-Datenanforderungen zugehörig sind, einen Zusatz-Lese-Cachebereich (306), der einen Cache mit Daten verwaltet, die bereits in eine Speichereinheit ausgelagert wurden, so dass die Daten aus dem Zusatz-Lese-Cachebereich abgerufen werden können, und einen Speicherbereich (308) für das Speichern von Daten, die nicht in eine Speichereinheit ausgelagert wurden, so dass die Daten aus dem Speicherbereich abgerufen werden;einen primären Prozessorkomplex (214a) außerhalb des E/A-Gehäuses, der Datenanforderungen verwaltet, welche durch das E/A-Gehäuse verarbeitet werden, wobei der primäre Prozessorkomplex mit dem Hostadapter, dem Einheitenadapter und dem Flash-Cache Daten austauscht, um die Datenanforderungen zu verwalten, wobei der primäre Prozessorkomplex einen ersten DRAM-Cache (Dynamic Random Access Memory, dynamischer Arbeitsspeicher) (216a) für das vorübergehende Zwischenspeichern von Daten umfasst, die Datenanforderungen zugehörig sind, welche durch das E/A-Gehäuse verarbeitet werden, wobei der primäre Prozessorkomplex so konfiguriert ist, dass er Daten, die in dem ersten DRAM-Cache zwischengespeichert sind, in den Flash-Cache auslagert;einen sekundären Prozessorkomplex (214b) außerhalb des E/A-Gehäuses, der als eine sekundäre Verwaltungseinheit für Datenanforderungen dient, welche durch das E/A-Gehäuse verarbeitet werden, wobei der sekundäre Prozessorkomplex mit dem Hostadapter, dem Einheitenadapter und dem Flash-Cache Daten austauscht, um als Reaktion auf einen Ausfall des primären Prozessorkomplexes Datenanforderungen zu verwalten, wobei der sekundäre Prozessorkomplex einen zweiten DRAM-Cache (216b) für das vorübergehende Zwischenspeichern von Daten umfasst, die Datenanforderungen zugehörig sind, welche durch das E/A-Gehäuse verarbeitet werden, wobei der sekundäre Prozessorkomplex so konfiguriert ist, dass er Daten, die in dem zweiten DRAM-Cache zwischengespeichert sind, in den Flash-Cache auslagert.

Patent Agency Ranking