DE112012001611T5 - Optimizing the performance of storage adapters - Google Patents
Optimizing the performance of storage adapters Download PDFInfo
- Publication number
- DE112012001611T5 DE112012001611T5 DE112012001611.4T DE112012001611T DE112012001611T5 DE 112012001611 T5 DE112012001611 T5 DE 112012001611T5 DE 112012001611 T DE112012001611 T DE 112012001611T DE 112012001611 T5 DE112012001611 T5 DE 112012001611T5
- Authority
- DE
- Germany
- Prior art keywords
- control block
- chain
- event queue
- hardware
- predefined
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Abstract
Ein Verfahren und eine Steuereinheit zum Realisieren der Leistungsoptimierung von Speicheradaptern mit verketteten Hardwareoperationen, die die Interaktionen zwischen Hardware und Firmware minimieren, sowie eine Schaltungsentwurfsstruktur, auf der sich die Schaltung der betreffenden Steuereinheit befindet. Die Steuereinheit weist eine Vielzahl von Hardwaremodulen auf; und einen oder mehrere Prozessoren. Eine Ereigniswarteschlange ist mit mindestens einem Prozessor verbunden und benachrichtigt den Prozessor über eine Vielzahl von vordefinierten Ereignissen. Ein Steuerblock dient zur Steuerung einer Operation in einem der Vielzahl von Hardwaremodulen, wozu auch das Schreiben eines Ereigniswarteschlangeneintrags durch das Hardwaremodul gehört. Eine Vielzahl der Steuerblöcke ist selektiv in einer vordefinierten Kette angeordnet, um das Schreiben von Ereigniswarteschlangeneinträgen auf den Prozessor durch das Hardwaremodul zu minimieren.A method and a control unit for implementing the performance optimization of memory adapters with concatenated hardware operations that minimize the interactions between hardware and firmware, and a circuit design structure on which the circuit of the relevant control unit resides. The control unit has a plurality of hardware modules; and one or more processors. An event queue is connected to at least one processor and notifies the processor of a variety of predefined events. A control block is used to control an operation in one of the plurality of hardware modules, which also includes the writing of an event queue entry by the hardware module. A plurality of the control blocks are selectively arranged in a predefined chain to minimize the writing of event queue entries to the processor by the hardware module.
Description
Gebiet der ErfindungField of the invention
Die vorliegende Erfindung betrifft allgemein das Gebiet der Datenverarbeitung und insbesondere ein Verfahren und eine Steuereinheit zum Realisieren der Leistungsoptimierung von Speicheradaptern mit verketteten Hardwareoperationen, die die Interaktionen zwischen Hardware und Firmware minimieren, sowie eine Schaltungsentwurfsstruktur, auf der sich die Schaltung der betreffenden Steuereinheit befindet.The present invention relates generally to the field of data processing, and more particularly to a method and controller for implementing performance optimization of memory adapters with chained hardware operations that minimize hardware-firmware interactions, and a circuit design structure that houses the circuitry of that particular control unit.
Beschreibung des Stands der TechnikDescription of the Related Art
Speicheradapter werden verwendet, um ein Host-Computersystem mit peripheren Speicher-E/A-Einheiten wie zum Beispiel Festplattenlaufwerken, Halbleiterlaufwerken, Bandlaufwerken, Compact-Disk-Laufwerken und Ähnlichem zu verbinden. Gegenwärtig werden verschiedene schnelle Verbindungssysteme wie zum Beispiel Peripheral Component Interconnect Express (PCIe), Serial Attach SCSI (SAS), Fibre Channel und InfiniBand verwendet, um das Host-Computersystem mit dem Speicheradapter und den Speicheradapter mit den E/A-Speichereinheiten zu verbinden.Storage adapters are used to connect a host computer system to peripheral storage I / O devices such as hard disk drives, solid state drives, tape drives, compact disk drives, and the like. Currently, various fast connection systems such as Peripheral Component Interconnect Express (PCIe), Serial Attach SCSI (SAS), Fiber Channel, and InfiniBand are used to connect the host computer system with the storage adapter and the storage adapter with the I / O storage units.
Schon seit vielen Jahren bilden Festplattenlaufwerke (Hard Disk Drive, HDD) oder rotierende Laufwerke die vorherrschende Speicher-E/A-Einheit zur dauerhaften Speicherung von Computerdaten, die einen Online-Zugriff erfordern. Seit Kurzem finden Halbleiterlaufwerke (Solid State Drive, SSD) wegen ihrer überragenden Leistungsfähigkeit immer größere Verbreitung. Insbesondere sind SSDs normalerweise in der Lage, mehr E/A-Operationen pro Sekunde (I/Os per seconds, IOPS) als HDDs durchzuführen, selbst wenn ihre maximale Übertragungsgeschwindigkeit nicht immer höher als die von HDDs ist.For many years, Hard Disk Drive (HDD) or rotating disk drives have been the predominant storage I / O unit for the permanent storage of computer data requiring online access. Recently, Solid State Drives (SSDs) are gaining in popularity due to their superior performance. In particular, SSDs are usually capable of performing more I / Os per second (IOPS) than HDDs, even though their maximum transmission speed is not always higher than that of HDDs.
Vom Gesichtspunkt des Betriebsverhaltens aus betrachtet würde ein idealer Speicheradapter für das System keinesfalls einen Leistungsengpass bilden. In Wirklichkeit stellen Speicheradapter jedoch oftmals einen Leistungsengpass für das Computersystem dar. Eine Auswirkung der zunehmenden Verbreitung von SSDs besteht darin, dass der Speicheradapter immer häufiger der Leistungsengpass im Computersystem ist.From an operational standpoint, an ideal storage adapter for the system would not be a bottleneck in performance. In reality, however, storage adapters often present a performance bottleneck for the computer system. One effect of the increasing popularity of SSDs is that the storage adapter is becoming an increasingly bottleneck in the computer system.
Es besteht ein Bedarf an einem effizienten Verfahren und einer effizienten Steuereinheit zur Realisierung einer Leistungsoptimierung von Speicheradaptern. Es besteht ein Bedarf an einem derartigen Verfahren und an einer derartigen Steuereinheit, die in Verbindung mit entweder HDDs oder SSDs verwendet werden und die die für eine E/A-Operation benötigte Zeit erheblich verringern, während gleichzeitig die benötigten Funktionen des Speicheradapters für verschiedene Anordnungen des Speicheradapters und der E/A-Einheiten des Speichers, zum Beispiel die Nutzung des Zwischenspeicherns von Schreibvorgängen, Konfigurationen mit zwei Steuereinheiten und Schreib- und Leseoperationen bei einem redundanten Array aus kostengünstigen Laufwerken (RAID), wirksam und effizient aufrechterhalten werden.There is a need for an efficient method and an efficient control unit for implementing performance optimization of memory adapters. There is a need for such a method and controller that are used in conjunction with either HDDs or SSDs, and which significantly reduce the time required for an I / O operation while preserving the required functions of the memory adapter for various arrangements of the present invention Memory adapters and I / O devices of the memory, such as the use of caching of writes, two-controller configurations, and write and read operations on a redundant array of low cost drives (RAID), can be effectively and efficiently maintained.
Die in der folgenden Beschreibung und in den Ansprüchen verwendeten Begriffe „Steuereinheit” und „Steuereinheitenschaltung” sind in einem breiten Sinne so zu verstehen, dass sie einen Eingangs- und Ausgangsadapter (Input/Output Adapter, IOA) und einen IO-RAID-Adapter einschließen, mit denen verschiedene Anordnungen eines Host-Computersystems und peripherer Speicher-E/A-Einheiten, unter anderem Festplattenlaufwerke, Halbleiterlaufwerke, Bandlaufwerke, Compact-Disk-Laufwerke und Ähnliches verbunden sind.The terms "controller" and "controller circuit" as used in the following description and claims are to be understood in a broad sense to include an input and output adapter (IOA) and an IO-RAID adapter to which various arrangements of a host computer system and peripheral storage I / O units, among others, hard disk drives, semiconductor drives, tape drives, compact disk drives and the like are connected.
Kurzdarstellung der ErfindungBrief description of the invention
Die vorliegende Erfindung soll ein Verfahren und eine Steuereinheit zur Realisierung der Leistungsoptimierung von Speicheradaptern mit verketteten Hardwareoperationen bereitstellen, die die Interaktionen zwischen Hardware und Firmware minimieren, sowie eine Schaltungsentwurfsstruktur, auf der sich die Schaltung der betreffenden Steuereinheit befindet. Die vorliegende Erfindung soll ein derartiges Verfahren, eine derartige Steuereinheit und Schaltungsentwurfsstruktur ohne negative Auswirkungen bereitstellen, wobei viele der Nachteile der Anordnungen überwunden werden, die dem Stand der Technik entsprechen.The present invention is intended to provide a method and control unit for realizing the performance optimization of memory adapters with chained hardware operations that minimize the hardware-firmware interactions, and a circuit design structure that houses the circuitry of that control unit. The present invention seeks to provide such a method, control unit and circuit design structure without adverse effects, overcoming many of the disadvantages of the prior art arrangements.
Kurz gesagt sollen ein Verfahren und eine Steuereinheit zur Realisierung der Leistungsoptimierung von Speicheradaptern mit verketteten Hardwareoperationen bereitgestellt werden, die die Interaktionen zwischen Hardware und Firmware minimieren, sowie eine Schaltungsentwurfsstruktur, auf der sich die Schaltung der betreffenden Steuereinheit befindet. Die Steuereinheit weist eine Vielzahl von Hardwaremodulen und einen Prozessor auf. Eine Ereigniswarteschlange, die den Prozessor über eine Vielzahl von vordefinierten Ereignissen benachrichtigt, ist mit dem Prozessor verbunden. Ein Steuerblock dient zur Steuerung einer Operation in einem der Vielzahl von Hardwaremodulen, wozu auch das Schreiben eines Ereigniswarteschlangeneintrags durch das Hardwaremodul gehört. Eine Vielzahl der Steuerblöcke ist selektiv in einer vordefinierten Kette angeordnet, um das Schreiben von Ereigniswarteschlangeneinträgen auf den Prozessor durch das Hardwaremodul zu minimieren. Briefly, it is intended to provide a method and controller for implementing performance optimization of memory adapters with chained hardware operations that minimize hardware-firmware interactions, and a circuit design structure that houses the circuitry of that particular controller. The control unit has a plurality of hardware modules and a processor. An event queue that notifies the processor of a variety of predefined events is connected to the processor. A control block is used to control an operation in one of the plurality of hardware modules, including the writing of an event queue entry by the hardware module. A plurality of the control blocks are selectively arranged in a predefined chain to minimize the writing of event queue entries to the processor by the hardware module.
Gemäß Merkmalen der Erfindung weist jede vordefinierte Kette aufeinanderfolgende Steuerblöcke auf, die in einem zusammenhängenden Speicherbereich gespeichert sind. Jeder Steuerblock kann mit einem beliebigen anderen Steuerblock oder mehreren anderen Steuerblöcken verknüpft sein, die eine Kette von Operationen definieren. Jede vordefinierte Kette definiert Steuerelemente, die auf entsprechende Hardwaremodule angewendet werden. Jede vordefinierte Kette ist änderbar, um Steuerelemente selektiv zu definieren, die auf die betreffenden Hardwaremodule angewendet werden.In accordance with features of the invention, each predefined chain has consecutive control blocks stored in a contiguous memory area. Each control block may be linked to any other control block or to several other control blocks that define a chain of operations. Each predefined chain defines controls that are applied to appropriate hardware modules. Each predefined chain is modifiable to selectively define controls that are applied to the respective hardware modules.
Gemäß Merkmalen der Erfindung weist jeder Steuerblock einen gemeinsamen Kopf einschließlich einer Steuerblockkennung, einer Kettenposition und einer Kennung des nächsten Steuerblocks auf. Die Kettenposition des Steuerblocks kennzeichnet einen Steuerblock als ersten in der Kette, letzten in der Kette, mittleren in der verknüpften Kette oder als eigenständig. Der gemeinsame Kopf weist einen vordefinierten Hardware-Ereigniswarteschlangeneintrag auf, der selektiv geschrieben wird, wenn der Block beendet wird. Der vordefinierte Hardware-Ereigniswarteschlangeneintrag wird geschrieben, wenn ein eigenständiger Steuerblock beendet wird und wenn der letzte Steuerblock in der Kette beendet wird. Der vordefinierte Hardware-Ereigniswarteschlangeneintrag wird geschrieben, wenn ein Steuerblock mit einem Fehler fehlschlägt.According to features of the invention, each control block has a common header including a control block identifier, a chain position and an identifier of the next control block. The control block's chain position identifies a control block as first in the chain, last in the chain, middle in the linked chain, or as stand-alone. The shared header has a predefined hardware event queue entry that is selectively written when the block is terminated. The predefined hardware event queue entry is written when a standalone control block terminates and when the last control block in the chain terminates. The predefined hardware event queue entry is written when a control block fails with an error.
Gemäß Merkmalen der Erfindung wird die vordefinierte Kette der Vielzahl der Steuerblöcke ohne jegliche Firmware-Interaktion zwischen der anfänglichen Einrichtung und der Beendigung der Reihe von Operationen ausgeführt. Die vordefinierte Kette minimiert die Interaktion zwischen den Hardwaremodulen und dem Prozessor und stellt eine erhebliche Verringerung des Codepfades für Einrichtung und Beendigung jeder Host-Operation bereit.In accordance with features of the invention, the predefined chain of the plurality of control blocks is executed without any firmware interaction between the initial device and the completion of the series of operations. The predefined chain minimizes the interaction between the hardware modules and the processor and provides a significant reduction in the code path for establishing and terminating each host operation.
Kurzbeschreibung der ZeichnungenBrief description of the drawings
Im Folgenden werden Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beispielhaft beschrieben, wobei:Embodiments of the present invention will now be described by way of example with reference to the accompanying drawings, in which:
die
die
die
Ausführliche Beschreibung der bevorzugten AusführungsformenDetailed Description of the Preferred Embodiments
In der folgenden ausführlichen Beschreibung von Ausführungsformen der Erfindung wird Bezug auf die beigefügten Zeichnungen genommen, die beispielhafte Ausführungsformen veranschaulichen, mit deren Hilfe die Erfindung in die Praxis umgesetzt werden kann. Es versteht sich, dass andere Ausführungsformen genutzt und strukturelle Änderungen vorgenommen werden können, ohne vom Schutzbereich der Erfindung abzuweichen.In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings, which illustrate exemplary embodiments by means of which the invention may be practiced. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the invention.
Die hierin verwendete Terminologie dient ausschließlich zur Beschreibung bestimmter Ausführungsformen und ist nicht als Einschränkung der Erfindung gedacht. Die hier verwendeten Einzahlformen „ein/eine” und „der/die/das” schließen auch die Pluralformen ein, sofern im Kontext nicht ausdrücklich etwas anderes angegeben ist. Es versteht sich des Weiteren, dass die Begriffe „weist auf bzw. „aufweisen/aufweisend” bei Verwendung in der vorliegenden Beschreibung das Vorhandensein angegebener Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten bezeichnen, jedoch das Vorhandensein oder die Hinzufügung eines bzw. einer oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon nicht ausschließen.The terminology used herein is intended solely to describe particular embodiments and is not intended to limit the invention. The singular forms "a / a" and "the" used here also include plurals, unless expressly stated otherwise in the context. It is further understood that the terms "having / having" as used in the present specification refer to the presence of specified features, integers, steps, operations, elements and / or components, but the presence or addition of a or one or more other features, integers, steps, operations, elements, components and / or groups thereof.
Gemäß Merkmalen der Erfindung werden ein Verfahren und eine Steuereinheit bereitgestellt, die ein verbessertes Betriebsverhalten und eine Leistungsoptimierung von Speicheradaptern mit verketteten Hardwareoperationen realisieren, die die Interaktionen zwischen Hardware und Firmware minimieren, sowie eine Schaltungsentwurfsstruktur, auf der sich die Schaltung der betreffenden Steuereinheit befindet.In accordance with features of the invention, a method and controller are provided that realize improved performance and performance optimization of memory adapters with chained hardware operations that minimize hardware-firmware interactions, and a circuit design structure that houses the circuitry of that particular controller.
Unter Bezugnahme auf die Zeichnungen ist in
Gemäß Merkmalen der Erfindung realisiert die Steuereinheit
Der Steuergeräte-Halbleiterchip
Gemäß Merkmalen der Erfindung wird der größte Teil der herkömmlichen Firmwarefunktion auf HW-Operationen verlagert, die durch die Hardwaremodule
Wie gezeigt weist der Steuergeräte-Halbleiterchip
Beispielsweise speichert DS
Der Steuerspeicher (Control Store, CS)
Unter Bezugnahme auf
Gemäß Merkmalen der Erfindung gehören zu den Arten verketteter Operationen die Operationen „Puffer zuordnen”, „Pufferzuordnung aufheben”, „SAS-Lesen-XOR”, „SAS schreiben” und „Speicherbedarf zur Paritätsaktualisierung (PUFP) setzen”, „PUFP löschen”, „Gespiegeltes Schreiben eines PUFP auf einen entfernt angeordneten Adapter”, „Gespiegeltes Schreiben von Cache-Zwischenspeicherdaten auf einen entfernt angeordneten Adapter” und dergleichen. Das Folgende ist ein Beispiel verketteter Operationen bei einem RAID-5-Schreibvorgang: a) Puffer zuordnen, b) Lesen-XOR von Daten, c) Setzen des PUFP, d) Schreiben von Daten, e) Paritätsspeicherbedarf aktualisieren, f) Lesen-XOR der Parität, g) Schreiben der Parität, h) Löschen des PUFP und i) Pufferzuordnung aufheben.According to features of the invention, the types of concatenated operations include the operations "allocate buffer", "unblock buffer", "read SAS read XOR", "write SAS" and "set memory requirement for parity update (PUFP)", "delete PUFP", "Mirrored Writing of a PUFP to a Remote Adapter", "Mirrored Writing of Cache Buffer Data to a Remote Adapter," and the like. The following is an example of concatenated operations in a
Unter Bezugnahme auf
Gemäß Merkmalen der Erfindung weist jede vordefinierte Kette aufeinanderfolgende Steuerblöcke
Unter Bezugnahme auf
Jede der Vielzahl von Hardware-Arbeitswarteschlangen
Die Hardwaremodule
Gemäß Merkmalen der Erfindung weist jeder Steuerblock
Unter Bezugnahme auch auf
Jeder Steuerblockkopf
Jeder Steuerblockkopf
Jeder Steuerblockkopf
Die Ausführung verketteter oder eigenständiger CBs beginnt, wenn ein Eintrag aus der globalen HW-Arbeitswarteschlange
Unter Bezugnahme auf
Speicherbedarf setzen/aktualisieren/löschen/spiegeln – F
CL setzen/löschen/spiegeln – M
SAS-Op senden – S
Zugeordnete Seiten freigeben – D
SOP-Modul ausführen – X
Seiten zuordnen – A
HDMA-Op senden – H und
Komp/Dekompression – CWith reference to
Set / update / delete / mirror memory requirements - F
Set / delete / mirror CL - M
Send SAS-Op - p
Release assigned pages - D
Execute SOP module - X
Assign Pages - A
Send HDMA Op - H and
Comp / decompression - C
Beim Steuerblock „Speicherbedarf setzen/aktualisieren/löschen/spiegeln – F”
Beim Steuerblock „CL setzen/löschen/spiegeln – M”
Beim Steuerblock „SAS-Op – S”
Bei den Steuerblöcken „Zugeordnete Seiten freigeben – D” und „Seiten zuordnen – A”
Beim Steuermodul „SOP-Modul ausführen – X”
Beim Steuerblock „Komp/Dekompression – C”
Eine entsprechende beispielhafte Kette von Steuerblöcken
Unter Bezugnahme auf die
In Schritt 1 werden die A-Liste und B-Liste für Puffer A
In Schritt 4 wird das Schreiben von Daten aus dem Puffer C
In Schritt 8 werden durch das HW-Modul
Unter Bezugnahme auf die
In Schritt 1 werden die A-Liste und B-Liste für Puffer A
In Schritt 4 wird das Schreiben von Daten aus dem Puffer C
Als Nächstes wird in Schritt 7 das Schreiben von Daten aus dem Puffer A
In Schritt 11 werden durch das HW-Modul
Unter Bezugnahme auf die
In Schritt 1 werden bei Bedarf Seitenlisten bei Steuerblock A1 des Kettenpaares
In Schritt 3 werden bei Steuerblock F3 des Kettenpaares
In Schritt 4 wird das Durchführen des überlappten Schreibens von Daten auf mehrere Laufwerke
In Schritt 6 werden durch das HW-Modul
Der Entwurfsprozess
Der Entwurfsprozess
Obwohl die vorliegende Erfindung unter Bezugnahme auf die Einzelheiten der in der Zeichnung gezeigten Ausführungsformen der Erfindung beschrieben wurde, sind diese Einzelheiten nicht als Einschränkung des in den beigefügten Ansprüchen beanspruchten Schutzbereiches der Erfindung gedacht.Although the present invention has been described with reference to the details of the embodiments of the invention shown in the drawings, these details are not intended to limit the scope of the invention claimed in the appended claims.
Claims (25)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
USUS-13/114,107 | 2011-05-24 | ||
US13/114,107 US8544029B2 (en) | 2011-05-24 | 2011-05-24 | Implementing storage adapter performance optimization with chained hardware operations minimizing hardware/firmware interactions |
US13/114,107 | 2011-05-24 | ||
PCT/EP2012/058162 WO2012159863A1 (en) | 2011-05-24 | 2012-05-03 | Storage adapter performance optimization |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112012001611T5 true DE112012001611T5 (en) | 2014-12-11 |
DE112012001611B4 DE112012001611B4 (en) | 2021-05-27 |
Family
ID=46085911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112012001611.4T Active DE112012001611B4 (en) | 2011-05-24 | 2012-05-03 | Optimizing the performance of storage adapters |
Country Status (4)
Country | Link |
---|---|
US (1) | US8544029B2 (en) |
DE (1) | DE112012001611B4 (en) |
GB (1) | GB2506046B (en) |
WO (1) | WO2012159863A1 (en) |
Families Citing this family (138)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US8868828B2 (en) | 2011-05-24 | 2014-10-21 | International Business Machines Corporation | Implementing storage adapter performance optimization with cache data/directory mirroring |
US8886881B2 (en) * | 2011-05-24 | 2014-11-11 | International Business Machines Corporation | Implementing storage adapter performance optimization with parity update footprint mirroring |
US8589640B2 (en) | 2011-10-14 | 2013-11-19 | Pure Storage, Inc. | Method for maintaining multiple fingerprint tables in a deduplicating storage system |
US9158698B2 (en) | 2013-03-15 | 2015-10-13 | International Business Machines Corporation | Dynamically removing entries from an executing queue |
US9122413B2 (en) | 2013-08-15 | 2015-09-01 | International Business Machines Corporation | Implementing hardware auto device operations initiator |
US9836234B2 (en) | 2014-06-04 | 2017-12-05 | Pure Storage, Inc. | Storage cluster |
US9367243B1 (en) | 2014-06-04 | 2016-06-14 | Pure Storage, Inc. | Scalable non-uniform storage sizes |
US9213485B1 (en) | 2014-06-04 | 2015-12-15 | Pure Storage, Inc. | Storage system architecture |
US11652884B2 (en) | 2014-06-04 | 2023-05-16 | Pure Storage, Inc. | Customized hash algorithms |
US10574754B1 (en) | 2014-06-04 | 2020-02-25 | Pure Storage, Inc. | Multi-chassis array with multi-level load balancing |
US11399063B2 (en) | 2014-06-04 | 2022-07-26 | Pure Storage, Inc. | Network authentication for a storage system |
US9003144B1 (en) | 2014-06-04 | 2015-04-07 | Pure Storage, Inc. | Mechanism for persisting messages in a storage system |
US9218244B1 (en) | 2014-06-04 | 2015-12-22 | Pure Storage, Inc. | Rebuilding data across storage nodes |
US11960371B2 (en) | 2014-06-04 | 2024-04-16 | Pure Storage, Inc. | Message persistence in a zoned system |
US11068363B1 (en) | 2014-06-04 | 2021-07-20 | Pure Storage, Inc. | Proactively rebuilding data in a storage cluster |
US8850108B1 (en) | 2014-06-04 | 2014-09-30 | Pure Storage, Inc. | Storage cluster |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US11604598B2 (en) | 2014-07-02 | 2023-03-14 | Pure Storage, Inc. | Storage cluster with zoned drives |
US11886308B2 (en) | 2014-07-02 | 2024-01-30 | Pure Storage, Inc. | Dual class of service for unified file and object messaging |
US9836245B2 (en) * | 2014-07-02 | 2017-12-05 | Pure Storage, Inc. | Non-volatile RAM and flash memory in a non-volatile solid-state storage |
US10114757B2 (en) | 2014-07-02 | 2018-10-30 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US9021297B1 (en) | 2014-07-02 | 2015-04-28 | Pure Storage, Inc. | Redundant, fault-tolerant, distributed remote procedure call cache in a storage system |
US10853311B1 (en) | 2014-07-03 | 2020-12-01 | Pure Storage, Inc. | Administration through files in a storage system |
US9747229B1 (en) | 2014-07-03 | 2017-08-29 | Pure Storage, Inc. | Self-describing data format for DMA in a non-volatile solid-state storage |
US8874836B1 (en) | 2014-07-03 | 2014-10-28 | Pure Storage, Inc. | Scheduling policy for queues in a non-volatile solid-state storage |
US9811677B2 (en) | 2014-07-03 | 2017-11-07 | Pure Storage, Inc. | Secure data replication in a storage grid |
US9558069B2 (en) | 2014-08-07 | 2017-01-31 | Pure Storage, Inc. | Failure mapping in a storage array |
US9082512B1 (en) | 2014-08-07 | 2015-07-14 | Pure Storage, Inc. | Die-level monitoring in a storage cluster |
US9483346B2 (en) | 2014-08-07 | 2016-11-01 | Pure Storage, Inc. | Data rebuild on feedback from a queue in a non-volatile solid-state storage |
US9766972B2 (en) | 2014-08-07 | 2017-09-19 | Pure Storage, Inc. | Masking defective bits in a storage array |
US9495255B2 (en) | 2014-08-07 | 2016-11-15 | Pure Storage, Inc. | Error recovery in a storage cluster |
US10983859B2 (en) | 2014-08-07 | 2021-04-20 | Pure Storage, Inc. | Adjustable error correction based on memory health in a storage unit |
US10079711B1 (en) | 2014-08-20 | 2018-09-18 | Pure Storage, Inc. | Virtual file server with preserved MAC address |
US9948615B1 (en) | 2015-03-16 | 2018-04-17 | Pure Storage, Inc. | Increased storage unit encryption based on loss of trust |
US11294893B2 (en) | 2015-03-20 | 2022-04-05 | Pure Storage, Inc. | Aggregation of queries |
US9940234B2 (en) | 2015-03-26 | 2018-04-10 | Pure Storage, Inc. | Aggressive data deduplication using lazy garbage collection |
US10082985B2 (en) | 2015-03-27 | 2018-09-25 | Pure Storage, Inc. | Data striping across storage nodes that are assigned to multiple logical arrays |
US10178169B2 (en) | 2015-04-09 | 2019-01-08 | Pure Storage, Inc. | Point to point based backend communication layer for storage processing |
US9672125B2 (en) | 2015-04-10 | 2017-06-06 | Pure Storage, Inc. | Ability to partition an array into two or more logical arrays with independently running software |
US10140149B1 (en) | 2015-05-19 | 2018-11-27 | Pure Storage, Inc. | Transactional commits with hardware assists in remote memory |
US9817576B2 (en) | 2015-05-27 | 2017-11-14 | Pure Storage, Inc. | Parallel update to NVRAM |
US10846275B2 (en) | 2015-06-26 | 2020-11-24 | Pure Storage, Inc. | Key management in a storage device |
US10983732B2 (en) | 2015-07-13 | 2021-04-20 | Pure Storage, Inc. | Method and system for accessing a file |
US11232079B2 (en) | 2015-07-16 | 2022-01-25 | Pure Storage, Inc. | Efficient distribution of large directories |
US10108355B2 (en) | 2015-09-01 | 2018-10-23 | Pure Storage, Inc. | Erase block state detection |
US11341136B2 (en) | 2015-09-04 | 2022-05-24 | Pure Storage, Inc. | Dynamically resizable structures for approximate membership queries |
US10762069B2 (en) | 2015-09-30 | 2020-09-01 | Pure Storage, Inc. | Mechanism for a system where data and metadata are located closely together |
US9768953B2 (en) | 2015-09-30 | 2017-09-19 | Pure Storage, Inc. | Resharing of a split secret |
US10853266B2 (en) | 2015-09-30 | 2020-12-01 | Pure Storage, Inc. | Hardware assisted data lookup methods |
US9843453B2 (en) | 2015-10-23 | 2017-12-12 | Pure Storage, Inc. | Authorizing I/O commands with I/O tokens |
US9940258B2 (en) * | 2015-11-09 | 2018-04-10 | International Business Machines Corporation | Implementing hardware accelerator for storage write cache management for merging data with existing data on fast writes to storage write cache |
US9858146B2 (en) | 2015-12-21 | 2018-01-02 | International Business Machines Corporation | Reducing latency for raid destage operations |
US10007457B2 (en) | 2015-12-22 | 2018-06-26 | Pure Storage, Inc. | Distributed transactions with token-associated execution |
US10261690B1 (en) | 2016-05-03 | 2019-04-16 | Pure Storage, Inc. | Systems and methods for operating a storage system |
US11861188B2 (en) | 2016-07-19 | 2024-01-02 | Pure Storage, Inc. | System having modular accelerators |
US9672905B1 (en) | 2016-07-22 | 2017-06-06 | Pure Storage, Inc. | Optimize data protection layouts based on distributed flash wear leveling |
US10768819B2 (en) | 2016-07-22 | 2020-09-08 | Pure Storage, Inc. | Hardware support for non-disruptive upgrades |
US11449232B1 (en) | 2016-07-22 | 2022-09-20 | Pure Storage, Inc. | Optimal scheduling of flash operations |
US10216420B1 (en) | 2016-07-24 | 2019-02-26 | Pure Storage, Inc. | Calibration of flash channels in SSD |
US11080155B2 (en) | 2016-07-24 | 2021-08-03 | Pure Storage, Inc. | Identifying error types among flash memory |
US11604690B2 (en) | 2016-07-24 | 2023-03-14 | Pure Storage, Inc. | Online failure span determination |
US11886334B2 (en) | 2016-07-26 | 2024-01-30 | Pure Storage, Inc. | Optimizing spool and memory space management |
US11734169B2 (en) | 2016-07-26 | 2023-08-22 | Pure Storage, Inc. | Optimizing spool and memory space management |
US10366004B2 (en) | 2016-07-26 | 2019-07-30 | Pure Storage, Inc. | Storage system with elective garbage collection to reduce flash contention |
US11797212B2 (en) | 2016-07-26 | 2023-10-24 | Pure Storage, Inc. | Data migration for zoned drives |
US10203903B2 (en) | 2016-07-26 | 2019-02-12 | Pure Storage, Inc. | Geometry based, space aware shelf/writegroup evacuation |
US11422719B2 (en) | 2016-09-15 | 2022-08-23 | Pure Storage, Inc. | Distributed file deletion and truncation |
US9747039B1 (en) | 2016-10-04 | 2017-08-29 | Pure Storage, Inc. | Reservations over multiple paths on NVMe over fabrics |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US11550481B2 (en) | 2016-12-19 | 2023-01-10 | Pure Storage, Inc. | Efficiently writing data in a zoned drive storage system |
US11307998B2 (en) | 2017-01-09 | 2022-04-19 | Pure Storage, Inc. | Storage efficiency of encrypted host system data |
US9747158B1 (en) | 2017-01-13 | 2017-08-29 | Pure Storage, Inc. | Intelligent refresh of 3D NAND |
US11955187B2 (en) | 2017-01-13 | 2024-04-09 | Pure Storage, Inc. | Refresh of differing capacity NAND |
US10979223B2 (en) | 2017-01-31 | 2021-04-13 | Pure Storage, Inc. | Separate encryption for a solid-state drive |
US10528488B1 (en) | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
US11016667B1 (en) | 2017-04-05 | 2021-05-25 | Pure Storage, Inc. | Efficient mapping for LUNs in storage memory with holes in address space |
US10944671B2 (en) | 2017-04-27 | 2021-03-09 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US10516645B1 (en) | 2017-04-27 | 2019-12-24 | Pure Storage, Inc. | Address resolution broadcasting in a networked device |
US10141050B1 (en) | 2017-04-27 | 2018-11-27 | Pure Storage, Inc. | Page writes for triple level cell flash memory |
US11467913B1 (en) | 2017-06-07 | 2022-10-11 | Pure Storage, Inc. | Snapshots with crash consistency in a storage system |
US11138103B1 (en) | 2017-06-11 | 2021-10-05 | Pure Storage, Inc. | Resiliency groups |
US11782625B2 (en) | 2017-06-11 | 2023-10-10 | Pure Storage, Inc. | Heterogeneity supportive resiliency groups |
US11947814B2 (en) | 2017-06-11 | 2024-04-02 | Pure Storage, Inc. | Optimizing resiliency group formation stability |
US10425473B1 (en) | 2017-07-03 | 2019-09-24 | Pure Storage, Inc. | Stateful connection reset in a storage cluster with a stateless load balancer |
US10402266B1 (en) | 2017-07-31 | 2019-09-03 | Pure Storage, Inc. | Redundant array of independent disks in a direct-mapped flash storage system |
US10877827B2 (en) | 2017-09-15 | 2020-12-29 | Pure Storage, Inc. | Read voltage optimization |
US10210926B1 (en) | 2017-09-15 | 2019-02-19 | Pure Storage, Inc. | Tracking of optimum read voltage thresholds in nand flash devices |
US10496330B1 (en) | 2017-10-31 | 2019-12-03 | Pure Storage, Inc. | Using flash storage devices with different sized erase blocks |
US10884919B2 (en) | 2017-10-31 | 2021-01-05 | Pure Storage, Inc. | Memory management in a storage system |
US11024390B1 (en) | 2017-10-31 | 2021-06-01 | Pure Storage, Inc. | Overlapping RAID groups |
US10515701B1 (en) | 2017-10-31 | 2019-12-24 | Pure Storage, Inc. | Overlapping raid groups |
US10545687B1 (en) | 2017-10-31 | 2020-01-28 | Pure Storage, Inc. | Data rebuild when changing erase block sizes during drive replacement |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10990566B1 (en) | 2017-11-20 | 2021-04-27 | Pure Storage, Inc. | Persistent file locks in a storage system |
US10929053B2 (en) | 2017-12-08 | 2021-02-23 | Pure Storage, Inc. | Safe destructive actions on drives |
US10719265B1 (en) | 2017-12-08 | 2020-07-21 | Pure Storage, Inc. | Centralized, quorum-aware handling of device reservation requests in a storage system |
US10929031B2 (en) | 2017-12-21 | 2021-02-23 | Pure Storage, Inc. | Maximizing data reduction in a partially encrypted volume |
US10733053B1 (en) | 2018-01-31 | 2020-08-04 | Pure Storage, Inc. | Disaster recovery for high-bandwidth distributed archives |
US10467527B1 (en) | 2018-01-31 | 2019-11-05 | Pure Storage, Inc. | Method and apparatus for artificial intelligence acceleration |
US10976948B1 (en) | 2018-01-31 | 2021-04-13 | Pure Storage, Inc. | Cluster expansion mechanism |
US11036596B1 (en) | 2018-02-18 | 2021-06-15 | Pure Storage, Inc. | System for delaying acknowledgements on open NAND locations until durability has been confirmed |
US11494109B1 (en) | 2018-02-22 | 2022-11-08 | Pure Storage, Inc. | Erase block trimming for heterogenous flash memory storage devices |
US10931450B1 (en) | 2018-04-27 | 2021-02-23 | Pure Storage, Inc. | Distributed, lock-free 2-phase commit of secret shares using multiple stateless controllers |
US11385792B2 (en) | 2018-04-27 | 2022-07-12 | Pure Storage, Inc. | High availability controller pair transitioning |
US10853146B1 (en) | 2018-04-27 | 2020-12-01 | Pure Storage, Inc. | Efficient data forwarding in a networked device |
US11436023B2 (en) | 2018-05-31 | 2022-09-06 | Pure Storage, Inc. | Mechanism for updating host file system and flash translation layer based on underlying NAND technology |
US11438279B2 (en) | 2018-07-23 | 2022-09-06 | Pure Storage, Inc. | Non-disruptive conversion of a clustered service from single-chassis to multi-chassis |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US11520514B2 (en) | 2018-09-06 | 2022-12-06 | Pure Storage, Inc. | Optimized relocation of data based on data characteristics |
US11868309B2 (en) | 2018-09-06 | 2024-01-09 | Pure Storage, Inc. | Queue management for data relocation |
US11354058B2 (en) | 2018-09-06 | 2022-06-07 | Pure Storage, Inc. | Local relocation of data stored at a storage device of a storage system |
CN109376020B (en) * | 2018-09-18 | 2021-02-12 | 中国银行股份有限公司 | Data processing method, device and storage medium under multi-block chain interaction concurrence |
US10454498B1 (en) | 2018-10-18 | 2019-10-22 | Pure Storage, Inc. | Fully pipelined hardware engine design for fast and efficient inline lossless data compression |
US10976947B2 (en) | 2018-10-26 | 2021-04-13 | Pure Storage, Inc. | Dynamically selecting segment heights in a heterogeneous RAID group |
US11334254B2 (en) | 2019-03-29 | 2022-05-17 | Pure Storage, Inc. | Reliability based flash page sizing |
US11775189B2 (en) | 2019-04-03 | 2023-10-03 | Pure Storage, Inc. | Segment level heterogeneity |
US11099986B2 (en) | 2019-04-12 | 2021-08-24 | Pure Storage, Inc. | Efficient transfer of memory contents |
US11714572B2 (en) | 2019-06-19 | 2023-08-01 | Pure Storage, Inc. | Optimized data resiliency in a modular storage system |
US11281394B2 (en) | 2019-06-24 | 2022-03-22 | Pure Storage, Inc. | Replication across partitioning schemes in a distributed storage system |
US11893126B2 (en) | 2019-10-14 | 2024-02-06 | Pure Storage, Inc. | Data deletion for a multi-tenant environment |
US11704192B2 (en) | 2019-12-12 | 2023-07-18 | Pure Storage, Inc. | Budgeting open blocks based on power loss protection |
US11416144B2 (en) | 2019-12-12 | 2022-08-16 | Pure Storage, Inc. | Dynamic use of segment or zone power loss protection in a flash device |
US11847331B2 (en) | 2019-12-12 | 2023-12-19 | Pure Storage, Inc. | Budgeting open blocks of a storage unit based on power loss prevention |
US11188432B2 (en) | 2020-02-28 | 2021-11-30 | Pure Storage, Inc. | Data resiliency by partially deallocating data blocks of a storage device |
US11507297B2 (en) | 2020-04-15 | 2022-11-22 | Pure Storage, Inc. | Efficient management of optimal read levels for flash storage systems |
US11256587B2 (en) | 2020-04-17 | 2022-02-22 | Pure Storage, Inc. | Intelligent access to a storage device |
US11416338B2 (en) | 2020-04-24 | 2022-08-16 | Pure Storage, Inc. | Resiliency scheme to enhance storage performance |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
US11768763B2 (en) | 2020-07-08 | 2023-09-26 | Pure Storage, Inc. | Flash secure erase |
US11513974B2 (en) | 2020-09-08 | 2022-11-29 | Pure Storage, Inc. | Using nonce to control erasure of data blocks of a multi-controller storage system |
US11681448B2 (en) | 2020-09-08 | 2023-06-20 | Pure Storage, Inc. | Multiple device IDs in a multi-fabric module storage system |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
US11630593B2 (en) | 2021-03-12 | 2023-04-18 | Pure Storage, Inc. | Inline flash memory qualification in a storage system |
US11507597B2 (en) | 2021-03-31 | 2022-11-22 | Pure Storage, Inc. | Data replication to meet a recovery point objective |
US11832410B2 (en) | 2021-09-14 | 2023-11-28 | Pure Storage, Inc. | Mechanical energy absorbing bracket apparatus |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2066566C (en) | 1989-09-08 | 2001-12-25 | David Hitz | Multiple facility operating system architecture |
US5644789A (en) | 1995-01-19 | 1997-07-01 | Hewlett-Packard Company | System and method for handling I/O requests over an interface bus to a storage disk array |
US5812877A (en) * | 1996-03-15 | 1998-09-22 | Adaptec, Inc. | I/O command block chain structure in a memory |
US20040236877A1 (en) | 1997-12-17 | 2004-11-25 | Lee A. Burton | Switch/network adapter port incorporating shared memory resources selectively accessible by a direct execution logic element and one or more dense logic devices in a fully buffered dual in-line memory module format (FB-DIMM) |
US6324599B1 (en) | 1999-01-11 | 2001-11-27 | Oak Technology | Computer system and method for tracking DMA transferred data within a read-ahead local buffer without interrupting the host processor |
US6684270B1 (en) | 2000-06-02 | 2004-01-27 | Nortel Networks Limited | Accelerated file system that recognizes and reroutes uncontested read operations to a second faster path for use in high-capacity data transfer systems |
US6912612B2 (en) | 2002-02-25 | 2005-06-28 | Intel Corporation | Shared bypass bus structure |
US20040162926A1 (en) | 2003-02-14 | 2004-08-19 | Itzhak Levy | Serial advanced technology attachment interface |
US20050114561A1 (en) | 2003-11-24 | 2005-05-26 | Ho-Keng Lu | Method for performing DMA transfers with dynamic descriptor structure |
US7484016B2 (en) | 2004-06-30 | 2009-01-27 | Intel Corporation | Apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine |
US7496695B2 (en) | 2005-09-29 | 2009-02-24 | P.A. Semi, Inc. | Unified DMA |
US7844752B2 (en) * | 2005-11-30 | 2010-11-30 | International Business Machines Corporation | Method, apparatus and program storage device for enabling multiple asynchronous direct memory access task executions |
US9015501B2 (en) * | 2006-07-13 | 2015-04-21 | International Business Machines Corporation | Structure for asymmetrical performance multi-processors |
US7555599B2 (en) | 2006-09-06 | 2009-06-30 | International Business Machines Corporation | System and method of mirrored RAID array write management |
JP4356765B2 (en) | 2007-04-20 | 2009-11-04 | ソニー株式会社 | Information processing apparatus and method, and program |
US7743191B1 (en) * | 2007-12-20 | 2010-06-22 | Pmc-Sierra, Inc. | On-chip shared memory based device architecture |
US7979655B2 (en) | 2008-03-04 | 2011-07-12 | International Business Machines Corporation | Dynamic optimization of device limits and thresholds in a write cache |
US20100199039A1 (en) | 2009-01-30 | 2010-08-05 | International Business Machines Corporation | Systems and Methods for Optimizing Host Reads and Cache Destages in a Raid System |
-
2011
- 2011-05-24 US US13/114,107 patent/US8544029B2/en not_active Expired - Fee Related
-
2012
- 2012-05-03 WO PCT/EP2012/058162 patent/WO2012159863A1/en active Application Filing
- 2012-05-03 DE DE112012001611.4T patent/DE112012001611B4/en active Active
- 2012-05-03 GB GB1322050.4A patent/GB2506046B/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2012159863A1 (en) | 2012-11-29 |
US20120304198A1 (en) | 2012-11-29 |
GB2506046B (en) | 2014-12-03 |
GB201322050D0 (en) | 2014-01-29 |
GB2506046A (en) | 2014-03-19 |
US8544029B2 (en) | 2013-09-24 |
DE112012001611B4 (en) | 2021-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112012001611B4 (en) | Optimizing the performance of storage adapters | |
DE102019122363A1 (en) | PROGRAMMABLE DOUBLE-ROW WORK MEMORY MODULE ACCELERATOR CARD (DIMM ACCELERATOR CARD) | |
DE102013205973B4 (en) | "Data storage system, method, controller, and design structure for realizing performance optimization on storage adapters by performing hardware operations collectively | |
DE112016004527T5 (en) | Implement a hardware accelerator for the management of a memory write cache | |
DE102017104150B4 (en) | Wear compensation in memory devices | |
DE102019116213A1 (en) | Quality of service-based arbitration optimized for enterprise semiconductor drives | |
DE102017104448A1 (en) | Data storage device | |
DE102011075814B4 (en) | Memory buffer with accessible information after a write error | |
US20150347012A1 (en) | System and method of interleaving data retrieved from first and second buffers | |
DE102005006176A1 (en) | Transaction processing systems and methods that use non-disk persistent storage | |
DE10348326A1 (en) | Permanent storage device connected to a communication link | |
DE112014005266T5 (en) | Method and system for forward reference logging in a persistent data store | |
DE112018003524T5 (en) | DYNAMIC DATA MOVEMENT USING LIBRARIES ON A CLOUD BASE | |
DE102013205571B4 (en) | Method, computer program product and apparatus for migrating data carriers with lean memory allocation in multilayer memory architectures | |
DE102013209318B4 (en) | Perform asynchronous delete scans with caching and paging operations | |
DE112007001135T5 (en) | Sharing data through partitions in a partitionable system | |
DE112018005121T5 (en) | STORAGE SYSTEM USING CLOUD STORAGE AS A STORAGE BANK | |
DE112012000282T5 (en) | Application recovery in a file system | |
DE112016005988T5 (en) | BREAKING BLOCKS STORE STACK | |
DE112012002796T5 (en) | Transfer deduplicated data organized in virtual media to a target set of physical media | |
DE112019005392T5 (en) | INCREASING DATA PERFORMANCE BY TRANSFERRING DATA BETWEEN STORAGE LEVELS USING WORKLOAD CHARACTERISTICS | |
DE102015005817A1 (en) | System and method for caching solid state read request results | |
DE102020211544A1 (en) | CONTROL, OPERATING PROCEDURES OF THE CONTROL AND STORAGE DEVICE WITH THE SAME | |
DE102020115969A1 (en) | STORAGE DEVICES, STORAGE SYSTEMS, AND METHODS OF OPERATING STORAGE DEVICES | |
US20120303886A1 (en) | Implementing storage adapter performance optimization with hardware chains to select performance path |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0003060000 Ipc: G06F0013280000 |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0003060000 Ipc: G06F0013280000 Effective date: 20141212 |
|
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R084 | Declaration of willingness to licence | ||
R020 | Patent grant now final |