DE112010004982B4 - Fortschrittliche Stromverwaltung von Plattenlaufwerken auf der Grundlage des höchsten Systemdurchsatzes - Google Patents

Fortschrittliche Stromverwaltung von Plattenlaufwerken auf der Grundlage des höchsten Systemdurchsatzes Download PDF

Info

Publication number
DE112010004982B4
DE112010004982B4 DE112010004982.3T DE112010004982T DE112010004982B4 DE 112010004982 B4 DE112010004982 B4 DE 112010004982B4 DE 112010004982 T DE112010004982 T DE 112010004982T DE 112010004982 B4 DE112010004982 B4 DE 112010004982B4
Authority
DE
Germany
Prior art keywords
data storage
active
storage device
data
active disk
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
DE112010004982.3T
Other languages
English (en)
Other versions
DE112010004982T5 (de
Inventor
Yuri Volobuev
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 DE112010004982T5 publication Critical patent/DE112010004982T5/de
Application granted granted Critical
Publication of DE112010004982B4 publication Critical patent/DE112010004982B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • 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/0625Power saving in storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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/0629Configuration or reconfiguration of storage systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Verfahren, umfassend:Bestimmen (208; 236) einer Datenspeicheranforderung anhand der Datenübertragungsrate durch einen Engpaß eines hierarchischen Speicher-Teilsystems;Erzeugen (210; 236) einer Liste aktiver Platten auf der Grundlage der Datenspeicheranforderung, wobei eine Auswahl von Datenspeichereinheiten aus einer Vielzahl von Datenspeichereinheiten (131 - 134), die in einer Liste aktiver Platten aufgeführt sind, ausreicht, um die Datenspeicheranforderung zu erfüllen;Sicherstellen, dass jede bestimmte in der Liste aktiver Platten aufgeführte Datenspeichereinheit aktiv ist und dass jede nicht in der Liste aktiver Platten aufgeführte Datenspeichereinheit inaktiv ist;erneutes Bewerten (238) des Datendurchsatzes des Rechensystems während des Betriebs des Rechensystems, um eine geänderte Datenspeicheranforderung zu erzeugen;Erzeugen (240) einer geänderten Liste aktiver Platten auf der Grundlage der geänderten Datenspeicheranforderung, wobei eine geänderte Auswahl von Datenspeichereinheiten aus der Vielzahl von Datenspeichereinheiten, die in der geänderten Liste aktiver Platten aufgeführt sind, ausreicht, um die geänderte Datenspeicheranforderung zu erfüllen; undSicherstellen, dass jede bestimmte in der geänderten Liste aktiver Platten aufgelistete Datenspeichereinheit aktiv ist und dass eine nicht in der geänderten Liste aktiver Platten aufgelistete Datenspeichereinheit inaktiv ist.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf das Verteilen von Schreib/Leseaufgaben zwischen einer Gruppe aktiver Laufwerke in einem hierarchischen Speicher-Teilsystem auf der Grundlage des verfügbaren höchsten Schreib/Lese-Leistungsvermögens des hierarchischen Speicher-Teilsystems.
  • HINTERGRUND DER ERFINDUNG
  • In modernen Computersystemen ist es üblich, dass ein Speicher-Teilsystem in einer zutiefst hierarchischen Weise umgesetzt wird. Bevor Benutzerdaten eine physische Platteneinheit erreichen, müssen sie möglicherweise mehrere Schichten von Software und Hardware durchlaufen. Dies trifft insbesondre auf Rechenzentren von Unternehmen zu. In einer üblichen Konfiguration, in der Daten auf einem Netzwerk-Dateiserver gespeichert werden, müsste ein Datenpaket beispielsweise durchlaufen:
    1. 1) Netzwerkverbindung zwischen dem Client und dem Server des Netzwerks
    2. 2) Software-Schicht, die Netzwerk-Dateidienste bereitstellt, z.B. NFS
    3. 3) Dateisystemschicht
    4. 4) Schicht der logischen Volumenverwaltung (Logical Volume Manager, LVM)
    5. 5) Dateiserver-Hardware und ihre Verbindung zur Plattensteuereinheit
    6. 6) An die Plattensteuereinheit angeschlossenes Plattenlaufwerk
  • Die Anzahl der Software- und Hardware-Schichten kann in den besonderen Konfigurationen jeweils verschieden sein, zu den gemeinsamen Wesenszügen moderner Speicher-Teilsysteme gehören jedoch: Hierarchie der Abstraktionsebenen; und Zusammenfassung mehrerer Speicherressourcen. Zum Beispiel kann eine Plattensteuereinheit mehrere physische Platten zu einem logischen Verband (array) zusammenfassen, und eine LVM- oder Dateisystem-Schicht kann logische Plattenverbände noch weiter zu einer höheren Abstraktionsebene zusammenfassen. Dies ermöglicht zwar ein höheres Maß an Flexibilität beim Bereitstellen des verfügbaren Plattenplatzes, die Vielzahl der Abstraktionsschichten führt aber auch zu einigen Effizienzeinbußen. Eine der Effizienzeinbußen ist das Fehlen einer Stromverwaltung der aktiven Platten.
  • Bekannt ist die Arbeit mit einer Gruppe von Platten (beispielsweise einem „Plattenpark“), wobei eine Anzahl physischer Platten, Plattensteuereinheiten und Dateiserver-Knoten dazu dient, eine geforderte Menge an Speicherplatz bereitzustellen und ein gefordertes Maß an Leistungsfähigkeit zu erreichen. Derartige physische Platten können ungeachtet der Arbeitslast des Speichersystems ständig eingeschaltet sein und sich mit einer unterstützten Höchstgeschwindigkeit drehen, sodass sie eine beträchtliche Menge an Strom verbrauchen und eine entsprechende Menge an Wärme erzeugen. In einer Umgebung mit einer großen Anzahl an Plattenlaufwerken stellen der Gesamtstromverbrauch und die Wärmeableitung eine Herausforderung dar. Zudem kann es die mittlere Lebensdauer der Platten verkürzen, wenn man ein Plattenlaufwerk eingeschaltet lässt und es sich ständig dreht.
  • In der in den USA veröffentlichten Patentanmeldung US 2009 / 0 240 992 A1 wird ein Verfahren zum Ausschalten eines Satzes aktiver Platten in einem hierarchischen Speichersystem durch Überprüfen der Anzahl der in dem hierarchischen Teilsystem auftretenden Plattenfehler beschrieben. In der in den USA veröffentlichten Patentanmeldung US 2005 / 0 111 249 A1 wird ein Verfahren zum Verteilen von Schreib/Leseaufgaben zwischen einem Satz aktiver Laufwerke in einem Plattenverband auf der Grundlage der für den Satz aktiver Laufwerke berechneten Gesamtlebenserwartung beschrieben. In der US-Patentschrift US 6 311 251 B1 wird ein Verfahren zum Verteilen von Schreib/Leseaufgaben zwischen einer Gruppe von Laufwerken beschrieben, die aus einem Verband von Laufwerken gewählt werden, sodass sichergestellt ist, dass alle Platten gleichmäßig genutzt werden. In der in den USA veröffentlichten Patentanmeldung US 2008 / 0 172 525 A1 wird ein Verfahren zum Stromsparen durch Verteilen von Schreib/Leseaufgaben zwischen einem Satz aktiver Laufwerke in einem Speicherverband auf der Grundlage der Gesamtdaten beschrieben, die nach der Komprimierung der ursprünglichen Daten zu schreiben/lesen sind. In der US-Patentschrift US 7 089 359 B2 wird ein Verfahren zum Berechnen des effektiven Speichervermögens eines Plattenverbandes in einem hierarchischen Speicher-Teilsystem beschrieben, wobei die aufgrund der hierarchischen Struktur verursachten Einschränkungen berücksichtigt werden. In dem Aufsatz „Write Off-Loading: Practical Power Management for Enterprise Storage" (Dushyanth Narayanan et al., 6th USENIX Conference on File and Storage Technologies, 2008) wird ein Verfahren zur Auslagerung der Last der Schreibaufgaben von einer Platte im eigenen System (home) in einen Satz anderer Platten in einem Speichersystem beschrieben, um die Auswirkungen der Drehzahlverringerung (spin-down) bei den Platten zu verdecken.
  • Die EP 1 895 396 A 1 betrifft eine Speichervorrichtung, die in der Lage ist, die Kosten für die Verwaltung der Datenpflege zu reduzieren, wobei die Leistung sowohl sehr zuverlässig als auch schnell ist. Bei der Speichervorrichtung ist eine Zwischenvorrichtung zwischen einer Steuereinheit und einer Mehrzahl von Plattenvorrichtungen unterschiedlicher Leistung angeordnet ist, die in einer hierarchischen Weise angeordnet sind. Die Steuereinheit führt auf Grundlage von Zugriffsanforderungen, die von der Host-Vorrichtung (2) gesendet werden, E/A-Zugriffe zu und von den Plattenvorrichtungen über die Zwischenvorrichtungen aus. Die Zwischenvorrichtung beinhaltet eine Energiespar-Steuerungsfunktion für die Plattenvorrichtung und führt eine Betriebssteuerung wie z. B. das Aus- und Einschalten von Plattenvorrichtung in Übereinstimmung mit im Voraus festgelegten Bedingungen durch.
  • Die EP 2 026 185 B1 betrifft ein Verfahren zum Speichern von Informationen in mehreren Speichervorrichtungen, aufweisend eine Mehrzahl von logischen Datenträgern mit benutzter und unbenutzter Kapazität. Das Verfahren weist das Konsolidieren der unbenutzten Kapazität in weniger als allen der Speichervorrichtungen auf. Das Konsolidieren der unbenutzten Kapazität weist auf: a. Mounten eines ersten logischen Datenträgers; b. Bestimmen, ob der gemountete logische Datenträger ein erkanntes Format hat; c. wenn das Format nicht erkannt ist, Mounten des nächsten logischen Datenträgers; d. wenn das Format des gemounteten logischen Datenträgers erkannt ist, Identifizieren von Bereichen von benutzter und unbenutzter Kapazität des gemounteten logischen Datenträgers; e. Konsolidieren der benutzten Kapazität des gemounteten logischen Datenträgers zu angrenzenden Speicherblöcken; f. Hinzufügen eines Puffers von unbenutzter Kapazität zu den angrenzenden Blöcken von benutzter Kapazität; g. Bestimmen, ob mehr logische Datenträger vorhanden sind, und wenn ja, Mounten des nächsten logischen Datenträgers; h. sobald alle logischen Datenträger gemountet sind und benutzte Kapazität konsolidiert wurde, Bestimmen einer Anzahl von Speichervorrichtungen, die benötigt werden, um die angrenzenden Speicherblöcke und die Puffer, die in den Schritten e. und f. für alle der gemounteten logischen Datenträger bestimmt wurden, zu speichern; und i. Transferieren der angrenzenden Informationsblöcke zu der bestimmten Anzahl von Speichervorrichtungen; j. Abschalten der Speichervorrichtungen, die nur unbenutzte Kapazität haben; k. Überwachen für jeden gemounteten logischen Datenträger. Das Überwachen weist die folgenden sequentiellen Schritte auf: Bestimmen einer Menge verbleibenden Puffers unbenutzter Kapazität; Vergleichen der bestimmten Menge des Puffers unbenutzter Kapazität mit einem vorbestimmten Schwellpufferplatz, um zu bestimmen, ob ein angemessener Puffer für das Speichern von Informationen verfügbar ist; und in Antwort auf das Bestimmen, dass der Puffer unbenutzter Kapazität weniger als die vorbestimmte Schwelle ist, Starten einer abgeschalteten Speichervorrichtung zum Erhöhen der Größe des Puffers von unbenutzter Kapazität.
  • Die US 2005 / 0 268 121 A1 betrifft ein Verfahren, ein System und ein Programm für die Energieverwaltung von Speichereinheiten in einem Speicherarray. Es wird auf ein Leistungsprofil für ein Speicherarray zugegriffen, das eine Mehrzahl von Speichereinheiten umfasst, wobei jede Speichereinheit aktiviert ist, um in einem von einer Mehrzahl von Leistungs-Modi zu arbeiten, und wobei das Leistungsprofil einen Leistungs-Modus angibt, der einen Leistungs-Verbrauchs-Modus spezifiziert. Daten werden von mindestens einer Speichereinheit zu mindestens einer Speichereinheit migriert, die als eine aktive Speichereinheit bezeichnet wird, die in einem aktiven Leistungs-Modus Leistung verbraucht. Der Leistungsverbrauchsmodus der mindestens einen Speichereinheit, die nicht als aktiv bezeichnet wird, wird in den spezifizierten Leistungsverbrauchsmodus geändert, der im Zugriffsprofil angegeben ist, wobei der spezifizierte Leistungsverbrauchsmodus weniger Leistung verbraucht als der aktive Leistungsverbrauchsmodus.
  • ZUSAMMENFASSUNG
  • Der Erfindung liegt die Aufgabe zugrunde ein Verfahren, eine Vorrichtung und ein Computerprogramm für eine fortschrittliche Stromverwaltung von Plattenlaufwerken zu schaffen. Die der Erfindung zugrunde liegende Aufgabe wird durch die Merkmale der unabhängigen Patentansprüche gelöst. Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.
  • Bereitgestellt wird ein beispielhaftes Verfahren zum Verringern des Stromverbrauchs in einem Computersystem durch Festlegen von Teilmengen von Speichereinheiten, die in eine Bereitschaftskonfiguration versetzt werden können. In einem modernen Computersystem werden Speicher-Teilsysteme gewöhnlich in hierarchischer Weise umgesetzt. Bevor beispielsweise Benutzerdaten an eine Platteneinheit übertragen oder von ihr abgerufen werden, müssen die Daten mehrere Software- und Hardware-Schichten durchlaufen. Dies trifft insbesondere in Bezug auf Rechenzentren von Unternehmen zu. In einer üblichen Konfiguration, in der Daten auf einem Netzwerk-Dateiserver gespeichert werden, kann ein Datenpaket die folgenden Schichten durchlaufen:
    1. 1) Netzwerkverbindung zwischen einem Client und einem Server des Netzwerks;
    2. 2) Software-Schicht, die Netzwerk-Dateidienste bereitstellt (z.B. Netzwerkdateisystem - Network File System oder „NFS“);
    3. 3) Dateisystemschicht;
    4. 4) Schicht der logischen Volumenverwaltung (Logical Volume Manager, LVM);
    5. 5) Dateiserver-Hardware und die Verbindung zu einer Plattensteuereinheit; und
    6. 6) An die Plattensteuereinheit angeschlossenes Plattenlaufwerk.
  • Selbstverständlich kann die Anzahl der Software- und Hardware-Schichten abhängig von einer bestimmten Konfiguration unterschiedlich sein. Beispielsweise kann zu einigen Konfigurationen auch ein Speicherbereichs-Netzwerk (Storage Area Network, SAN) gehören. Viele moderne Speicher-Teilsysteme weisen jedoch hierarchische Abstraktionsebenen und Zusammenfassungen mehrerer Speicherressourcen auf. Beispielsweise kann eine Plattensteuereinheit mehrere physische Platten zu einem logischen Verband zusammenfassen, und eine LVM- oder Dateisystemschicht kann logische Plattenverbände noch weiter zu einer höheren Abstraktionsebene zusammenfassen.
  • Ein weiteres beispielhaftes Verfahren umfasst die folgenden Vorgänge: Bewerten des Datendurchsatzes eines Rechensystems, um eine Datenspeicheranforderung zu erzeugen; Erzeugen einer Liste aktiver Platten auf der Grundlage der Datenspeicheranforderung, wobei eine Auswahl der Datenspeichereinheiten aus einer Vielzahl von Datenspeichereinheiten, die in der Liste aktiver Platten aufgeführt sind, zum Erfüllen der Datenspeicheranforderung ausreicht; Sicherstellen, dass jede bestimmte in der Liste aktiver Platten aufgeführte Datenspeichereinheit aktiv ist und dass eine nicht in der Liste aktiver Platten aufgeführte Datenspeichereinheit inaktiv ist; erneutes Bewerten des Datendurchsatzes des Rechensystems während des Betriebs des Rechensystems, um eine geänderte Datenspeicheranforderung zu erzeugen; Erzeugen einer geänderten Liste aktiver Platten auf der Grundlage der geänderten Datenspeicheranforderung, wobei eine geänderte Auswahl von Datenspeichereinheiten aus der Vielzahl von Datenspeichereinheiten, die in der geänderten Liste aktiver Platten aufgeführt sind, ausreicht, um die geänderte Datenspeicheranforderung zu erfüllen; und Sicherstellen, dass jede bestimmte in der geänderten Liste aktiver Platten aufgelistete Datenspeichereinheit aktiv ist und dass eine nicht in der geänderten Liste aktiver Platten aufgelistete Datenspeichereinheit inaktiv ist.
  • Diese Zusammenfassung ist nicht als umfassende Beschreibung des beanspruchten Gegenstandes gedacht, sondern soll vielmehr einen kurzen Überblick über einen Teil der damit verbundenen Funktionalität geben. Andere Systeme, Verfahren, Funktionen, Merkmale und Vorteile des beanspruchten Gegenstandes werden dem Fachmann bei der Prüfung der folgenden Figuren und der ausführlichen Beschreibung ersichtlich werden.
  • Figurenliste
  • Bevorzugte Ausführungsformen der vorliegenden Erfindung werden nun lediglich als Beispiel mit Bezug auf die folgenden Zeichnungen beschrieben, auf denen:
    • 1 ein Funktionsschaubild eines Beispiels einer Rechensystem-Architektur darstellt, die den beanspruchten Gegenstand umsetzen kann.
    • 2 ein Funktionsschaubild eines Datenspeicher-Stromoptimierungssystems (Data Storage Power Optimization System, DSPOS) darstellt, das eine Ausführungsform des beanspruchten Gegenstandes umsetzt.
    • 3 einen Ablaufplan eines Prozesses „DSPOS-Einrichtung“ darstellt, der zu dem DSPOS von 2 gehört.
    • 4 einen Ablaufplan eines Prozesses „DSPOS-Betrieb“ darstellt, der zu dem DSPOS von 2 gehört.
    • 5 einen Ablaufplan eines Prozesses „Umsetzung des Stromoptimierungsplans (POS)“ (für „Power Optimization Scheme“) darstellt, der einen Aspekt des Prozesses „DSPOS-Betrieb“ von 4 umsetzen kann.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Wie für einen Fachmann verständlich sein wird, können Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogramm-Erzeugnis verkörpert sein. Dementsprechend können Aspekte der vorliegenden Erfindung die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform annehmen, die Software- und Hardware-Aspekte miteinander verbindet und die hier alle allgemein als „Schaltkreis“, „Modul“ oder „System“ bezeichnet werden können. Darüber hinaus können Aspekte der vorliegenden Erfindung die Form eines Computerprogramm-Erzeugnisses annehmen, das in einem oder mehreren computerlesbaren Medium (Medien) verkörpert ist, auf denen ein computerlesbarer Programmcode verkörpert ist.
  • Eine Ausführungsform gemäß dem beanspruchten Gegenstand ist auf ein programmiertes Verfahren zur Stromverwaltung in einem Datenspeicher-Teilsystem ausgerichtet. In der hier verwendeten Weise ist der Begriff „programmiertes Verfahren“ so festgelegt, dass er einen oder mehrere gegenwärtig durchgeführte Prozessschritte bezeichnet; oder alternativ einen oder mehrere Prozessschritte, die zur Durchführung zu einem künftigen Zeitpunkt freigegeben werden. Der Begriff „programmiertes Verfahren“ sieht drei alternative Formen vor. Erstens umfasst ein programmiertes Verfahren gegenwärtig durchgeführte Prozessschritte. Zweitens umfasst ein programmiertes Verfahren ein computerlesbares Medium, das Computerbefehle verkörpert, die bei Ausführung durch einen Computer einen oder mehrere Prozessschritte durchführen. Schließlich umfasst ein programmiertes Verfahren ein Computersystem, das durch Software, Hardware, Firmware oder eine beliebige Kombination davon so programmiert wurde, dass es einen oder mehrere Prozessschritte durchführt. Es versteht sich, dass der Begriff „programmiertes Verfahren“ nicht so auszulegen ist, als würde es mehr als eine alternative Form gleichzeitig aufweisen, sondern vielmehr im wahrsten Sinne einer alternativen Form auszulegen ist, wobei zu jedem gegebenen Zeitpunkt nur eine aus der Vielzahl alternativer Formen vorhanden ist.
  • Jede Kombination von einem oder mehreren computerlesbaren Medium (Medien) kann genutzt werden. Bei dem computerlesbaren Medium kann es sich um ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium handeln. Bei einem computerlesbaren Speichermedium kann es sich unter anderem und ohne einschränkende Wirkung beispielsweise um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine derartige Vorrichtung oder Einheit oder jede geeignete Kombination der Vorstehenden handeln. Zu konkreteren Beispielen (einer keinen Anspruch auf Vollständigkeit erhebenden Liste) des computerlesbaren Speichermediums würden die folgenden gehören: eine elektrische Verbindung mit einem oder mehreren Drähten, eine tragbare Computerdiskette, eine Festplatte, ein Speicher mit wahlfreiem Zugriff (RAM), ein Nurlesespeicher (ROM), ein löschbarer programmierbarer Nurlesespeicher (EPROM- oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compactdisc-Nurlesespeicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination der Vorstehenden. Im Zusammenhang mit diesem Dokument kann es sich bei einem computerlesbaren Speichermedium um ein beliebiges materielles Medium handeln, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Befehlen enthalten oder speichern kann.
  • Bei einem computerlesbaren Signalmedium kann es sich um ein ausgebreitetes Datensignal mit computerlesbarem Programmcode handeln, der darin verkörpert ist, beispielsweise im Basisband oder als Teil einer Trägerwelle. Ein solches ausgebreitetes Signal kann eine beliebige aus einer Vielzahl von Formen annehmen, unter anderem und ohne einschränkende Wirkung elektromagnetische, optische oder jede geeignete Kombination davon. Bei einem computerlesbaren Signalmedium kann es sich um ein beliebiges computerlesbares Medium handeln, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Ausführung von Befehlen übertragen, ausbreiten oder transportieren kann.
  • Auf einem computerlesbaren Medium verkörperter Programmcode kann unter Verwendung jedes geeigneten Mediums übertragen werden, unter anderem und ohne einschränkende Wirkung drahtlos, drahtgebunden, Lichtwellenleiterkabel, HF usw. oder jede geeignete Kombination der Vorstehenden.
  • Computerprogrammcode zum Ausführen von Funktionen für Aspekte der vorliegenden Erfindung kann in jeder Kombination von einer oder mehreren Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie beispielsweise Java, Smalltalk, C++ oder dergleichen und herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als unabhängiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernten Computer oder vollständig auf dem entfernten Computer oder Server ausgeführt werden. In dem letztgenannten Szenario kann der entfernte Computer mit dem Computer des Benutzers über jede Art von Netzwerk verbunden sein, darunter ein Nahbereichs-Netzwerk (LAN) oder ein Weitbereichs-Netzwerk (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Verwendung eines Internet-Diensteanbieters).
  • Aspekte der vorliegenden Erfindung werden weiter unten mit Bezug zu Ablaufplan-Veranschaulichungen und/oder Funktionsschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogramm-Erzeugnissen gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufplan-Veranschaulichungen und/oder Funktionsschaubilder und Kombinationen der Blöcke in den Ablaufplan-Veranschaulichungen und/oder Funktionsschaubildern durch Computerprogrammbefehle umgesetzt werden können. Diese Computerprogrammbefehle können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder anderer programmierbarer Datenverarbeitungs-Vorrichtungen bereitgestellt werden, sodass eine Maschine in der Weise hervorgebracht wird, dass die Befehle, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungs-Vorrichtungen ausgeführt werden, Mittel zum Umsetzen der Funktionen/Handlungen schaffen, die in dem Block oder den Blöcken der Ablaufpläne und/oder Funktionsschaubilder festgelegt sind.
  • Diese Computerprogrammbefehle können auch auf einem computerlesbaren Medium gespeichert werden, das einen Computer oder andere programmierbare Datenverarbeitungs-Vorrichtungen oder andere Einheiten anweist, in einer bestimmten Weise zu funktionieren, sodass die auf dem computerlesbaren Medium gespeicherten Befehle ein Herstellungserzeugnis hervorbringen, das Befehle aufweist, die Funktionen/Handlungen umsetzen, die in dem Block oder den Blöcken der Ablaufpläne und/oder Funktionsschaubilder festgelegt sind.
  • Die Computerprogrammbefehle können auch in einen Computer, andere programmierbare Datenverarbeitungs-Vorrichtungen oder andere Einheiten geladen werden, um zu veranlassen, dass eine Reihe von Funktionsschritten auf dem Computer, den anderen programmierbaren Vorrichtungen oder anderen Einheiten ausgeführt wird, um einen durch Computer umgesetzten Prozess in der Weise hervorzubringen, dass die Befehle, die auf einem Computer oder anderen programmierbaren Vorrichtungen ausgeführt werden, Prozesse zum Umsetzen der Funktionen/Handlungen bereitstellen, die in dem Block oder den Blöcken der Ablaufpläne und/oder Funktionsschaubilder festgelegt sind.
  • Wie die Erfinder im vorliegenden Dokument anerkannt haben, bieten hierarchische Abstraktionsebenen und Zusammenfassungen mehrerer Speicherressourcen zwar ein höheres Maß an Flexibilität bei der Bereitstellung von verfügbarem Datenspeicherplatz, dabei entstehen aber auch Effizienzeinbußen, von denen eine das Fehlen einer Stromverwaltung der aktiven Platten ist.
  • Bei einem „Plattenpark“ ist es üblich, dass dieser eine große Anzahl physischer Platten, Plattensteuereinheiten und Dateiserver-Knoten aufweist, um eine notwendige Menge an Speicherplatz bereitzustellen und ein spezifisches gefordertes Maß an Leistungsfähigkeit zu erreichen. In einem solchen Aufbau werden üblicherweise ungeachtet der tatsächlichen Arbeitslast des Speichersystems alle physischen Platten mit Strom versorgt und drehen sich mit der von der Platte unterstützten Höchstgeschwindigkeit. Eine solche Nutzungsweise verbraucht eine große Menge an Strom und erzeugt eine entsprechende Menge an Wärme. In einer Umgebung mit einer großen Anzahl von Plattenlaufwerken stellen Fragen im Zusammenhang mit dem Gesamtstromverbrauch und der Wärmeableitung eine Herausforderung dar. Zudem kann es die Lebensdauer des Laufwerks verkürzen, wenn ein Plattenlaufwerk in einem Zustand mit voller Stromaufnahme und voller Drehzahl gehalten wird.
  • Die offenbarte Technologie erkennt Engpässe in einem hierarchischen Speicher-Teilsystem und ermittelt auf der Basis der Datenübertragungsrate, mit der Daten durch einen bestimmten Engpass übertragen werden können, die kleinste Anzahl von Plattenlaufwerken, die zum Erreichen dieser Übertragungsrate erforderlich ist. Wenn die erforderliche Anzahl von Platten kleiner ist als die Gesamtzahl der Platten, wird nur eine Teilmenge der Gesamtzahl in einem aktiven Zustand gehalten, während die übrigen entweder in eine „Bereitschafts-“ oder eine „ausgeschaltete“ Betriebsart versetzt werden. Auf diese Weise wird der Gesamtstromverbrauch des Systems verringert. In einer Ausführungsform werden die offenbarten Techniken durch Verwaltung der aktiven Platten auf einer hohen Ebene der Speicherinfrastruktur umgesetzt.
  • Wenn man sich nun den Figuren zuwendet, stellt 1 ein Funktionsschaubild eines Beispiels einer Rechensystem-Architektur 100 dar, in der die offenbarte Technologie umgesetzt werden kann. Ein Datenserver 102 weist eine zentrale Verarbeitungseinheit (CPU) 104 auf, die mit einem Bildschirm 106, einer Tastatur 108 und einer Maus 110 verbunden ist, die zusammen die Interaktion eines Menschen mit dem Rechensystem 100 und dem Datenserver 102 ermöglichen. Die CPU 104 würde gewöhnlich einen oder mehrere (nicht dargestellte) Prozessoren und andere Komponenten aufweisen, unter anderem und ohne einschränkende Wirkung beispielsweise einen (nicht dargestellten) Daten-Cache-Speicher und einen (nicht dargestellten) Datenbus, die dem Fachmann auf dem Gebiet der Computertechnik vertraut sein sollten. Eine Datenspeicherkomponente oder DS_1 112 ist ebenfalls im Datenserver 102 enthalten und zu der CPU 104 gehörig. DS_1 112 kann entweder in die CPU 104 integriert, d.h. eine interne Einheit, oder extern mittels verschiedener, allgemein verfügbarer Verbindungseinheiten an die CPU 104 angeschlossen sein, unter anderem und ohne einschränkende Wirkung beispielsweise mittels eines (nicht dargestellten) universellen seriellen Bus- (USB) Anschlusses. DS_1 112 ist so veranschaulicht, dass sie ein Betriebssystem (OS) 114 und ein Dateisystem (FS) 116 speichert, das in das OS 114 integriert sein kann, ein Datenspeicher-Stromoptimierungssystem (DSPOS) 118, das Teil des FS 116 sein kann, und eine logische Volumenverwaltungs- (LVM) Komponente 120. Das DSPOS 118, bei dem es sich um ein Beispiel einer Einheit handelt, die den beanspruchten Gegenstand umsetzen kann, wird weiter unten ausführlicher in Verbindung mit 2 bis 5 beschrieben.
  • Der Datenserver 102 ist mit der Fähigkeit zur Datenübertragung mit einem Speicherbereichs-Netzwerk (SAN) 122 verbunden, das mit einer Anzahl von Plattensteuereinheiten, d.h. einer Steuereinheit_1 124 und einer Steuereinheit_2 126, verbunden ist. Jede Plattensteuereinheit ist mit einer Anzahl von Speichereinheiten verbunden, d.h. Steuereinheit_1 124 ist mit einem Datenspeicher_1 (DS_1) 131 und einem DS_2 132 verbunden, und Steuereinheit_2 126 ist mit einem DS_3 133 und einem DS_4 134 verbunden. Es sollte sich verstehen, dass die Komponenten 122, 124, 126 und 131 bis 134 lediglich veranschaulichenden Zwecken dienen. Ein üblicher Datenserver kann mit mehreren SANs und einer großen Anzahl von Steuereinheiten und Datenspeichereinheiten verbunden sein. Der Einfachheit halber sind nur ein (1) SAN, zwei (2) Steuereinheiten und vier (4) Datenspeichereinheiten veranschaulicht. Zudem sollte für den Fachmann verständlich sein, dass die offenbarte Technologie in gleicher Weise auf andere Arten von Komponenten und Konfigurationen anwendbar ist.
  • Ebenfalls veranschaulicht sind ein erstes Client-System oder CS_1 142 und ein zweites Client-System oder CS_2 144, die beide wie der Datenserver 102 üblicherweise Komponenten wie die CPU 104, den Bildschirm 106, eine Tastatur 108, die Maus 110 und den Datenspeicher 112 aufweisen. Sowohl CS_1 142 als auch CS_2 144 sind mit der Fähigkeit zur Datenübertragung mit einem Nahbereichs-Netzwerk (LAN) 140 verbunden, das mit dem Dateiserver 102 verbunden ist. Das LAN 140 dient lediglich der Veranschaulichung und sollte so verstanden werden, dass CS_1 142, CS_2 144 und der Dateiserver 102 auch durch direkte Anschlüsse oder Netzwerke anderer Art wie beispielsweise ein virtuelles privates Netzwerk (VPN), ein Weitbereichs-Netzwerk (WAN), das Internet oder eine Kombination von Netzwerken oder anderen Verbindungen angeschlossen werden können. CS_1 142 und CS_2 144 werden in der Patentbeschreibung durchweg als Beispiele von Einheiten verwendet, die auf die Dienste des Datenservers 102 zugreifen können.
  • Es sollte sich verstehen, dass in die Architektur 100 noch weitere Clients, Server und Datenübertragungseinheiten, in die die beanspruchte Technologie integriert ist, einbezogen sein können als die wenigen veranschaulichten Einheiten. Ferner sollte beachtet werden, dass es viele mögliche Rechensystem-Konfigurationen geben kann, von denen die Rechensystem-Architektur 100 nur ein einfaches, der Veranschaulichung dienendes Beispiel ist.
  • 2 ist ein genaueres Funktionsschaubild des DSPOS 118, das zuerst weiter oben in Verbindung mit 1 eingeführt wurde. Das DSPOS 118 enthält ein Eingabe/Ausgabe- (E/A) Modul 150, ein Datenmodul 152, ein Datenfluss-Analysemodul 154, ein Datenanalysemodul 156 und ein Platten- und Daten-Steuermodul 158. Für die nachfolgenden Beispiele sei angenommen, dass das DSPOS 118 auf dem DS_1 112 von Datenserver 102 gespeichert und auf einem oder mehreren der CPU 104 zugehörigen Prozessoren ausgeführt wird. Obwohl das DSPOS 118 als unabhängige Komponente veranschaulicht ist, kann es als Funktionalität des FS 116 (1) und/oder des OS 114 umgesetzt werden.
  • Es sollte sich verstehen, dass der beanspruchte Gegenstand in vielen Arten von Rechensystemen und Datenspeicherstrukturen umgesetzt werden kann, dass er der Einfachheit halber aber nur in Bezug auf den Server 102 und die Systemarchitektur 100 (1) beschrieben wird. Ferner handelt es sich bei der Darstellung des DSPOS 118 in 2 um ein logisches Modell. Anders ausgedrückt, können die Komponenten 150, 152, 154, 156 und 158 in derselben oder in getrennten Dateien gespeichert werden und innerhalb des Datenservers 102 und des Systems 100 entweder als einzelnes System oder als getrennte Prozesse geladen und/oder ausgeführt werden, die über beliebige verfügbare Datenübertragungstechniken zwischen Prozessen (Inter Process Communication, IPC) miteinander in Wechselwirkung treten.
  • Das E/A-Modul 150 wickelt jede Datenübertragung ab, die das DSPOS 118 mit anderen Komponenten des Datenservers 102 und des Systems 100 ausführt. Das Datenmodul 152 ist ein Datenaufbewahrungsort für Daten, darunter Einstellungen und Parameter, die das DSPOS 118 während des normalen Betriebs benötigt. Zu Beispielen für die Art der im Datenmodul 152 gespeicherten Daten gehören ein DSPOS-Konfigurationsmodul 162, ein System-Konfigurationsmodul 164 und ein Daten-Cache-Speicher 166. In der DSPOS-Konfiguration 162 sind die Parameter und sonstigen Daten gespeichert, die den Betrieb des DSPOS 118 steuern. Zu Beispielen für die Art der Daten gehören unter anderem und ohne einschränkende Wirkung:
    1. 1) Auswahl verschiedener Funktionspläne zur Steuerung der Datenspeicherung;
    2. 2) Mindestanzahl der eingeschaltet zu haltenden Platten;
    3. 3) Funktionspläne für die Zeitsteuerung zum In- und Außerbetriebnehmen von Platten; und
    4. 4) Leistungsfähigkeitsparameter für das System als Ganzes.
  • Die Systemkonfiguration 164 speichert Daten auf verschiedenen Komponenten des Systems 100, darunter jene, die Auswirkungen auf den Betrieb des DSPOS 118 haben, und jene, die vom DSPOS 118 gesteuert werden. Zu Beispielen für die Art der Daten gehören unter anderem und ohne einschränkende Wirkung:
    1. 1) Einheiten in dem System;
    2. 2) Hierarchie der Einheiten mit dem System;
    3. 3) Status und Konfiguration von Einheiten in dem System;
    4. 4) Zu den Einheiten gehörige Datenübertragungsparameter;
    5. 5) Zu den Einheiten gehörige Leistungsfähigkeitsparameter;
    6. 6) Speichervermögen der Datenspeichereinheiten; und
    7. 7) Ort bestimmter besonderer Daten wie beispielsweise Metadaten.
  • Es sollte beachtet werden, dass einige der oben aufgeführten Daten dem FS 116 und/oder dem OS 114 bekannt sein könnten und/oder von ihm gesammelt werden. Des Weiteren können Daten dynamisch vom DSPOS 118, FS 116 und/oder OS 114 während des Betriebs des Systems 100 gesammelt oder von einem Systemadministrator eingegeben werden, dem die Leistungsmerkmale des Systems 100 und der ihm zugehörigen Komponenten bekannt sind. Der Daten-Cache-Speicher 166 speichert die Ergebnisse der Zwischenberechnungen, die dem Betrieb des DSPOS 118 zugehörig sind, sowie etwaige flüchtige Daten, die während der Betriebstätigkeit des DSPOS 118 verwendet werden (siehe 230, 4). Beispiele flüchtiger Daten sind unter anderem und ohne einschränkende Wirkung Daten, die jene Datenspeichereinheiten kennzeichnen, die gerade aktiv sind, und jene, die gerade verfügbar sind. Die Komponenten 150, 152, 154, 156, 158, 162, 164 und 166 werden weiter unten ausführlicher in Verbindung mit den 3 bis 5 beschrieben.
  • Das Datenfluss-Analysemodul 154 analysiert die Aktivität des Datenservers 102 sowie geeigneter Komponenten des Systems 100, um die aktuelle Situation in Bezug auf die Verschiebung von Daten zu ermitteln (siehe 236, 4). Zu den Beispielen von Aktivitäten, die bewertet werden können, gehören unter anderem und ohne einschränkende Wirkung Änderungen im Aktivitätsgrad von Clients, z.B. CS_1 142 und CS_2 144 (1), die aktuelle Systemkonfiguration, z.B. Netzwerkverbindungen, Platten oder Plattensteuereinheiten, die entweder nicht in Betrieb sind oder zu dem System 100 hinzugefügt wurden, die Zusammensetzung der Arbeitslast, z.B. das Verhältnis von Datenlese- zu Datenschreibvorgängen, und die Ausnutzung des Plattenplatzes sowohl innerhalb als auch außerhalb des aktiven Plattensatzes.
  • Das Datenanalysemodul 156 analysiert die Zugriffsfähigkeit und die Art der auf den Datenspeichereinheiten, beispielsweise den Einheiten 131 bis 134 (1), gespeicherten Daten. Zum Beispiel kann es im Fall eines geringen Systemdurchsatzes vorteilhaft sein, Datenblöcke für jede einzelne Datei auf einer kleinen Teilmenge von Datenspeichereinheiten aufrechtzuerhalten. Falls der Durchsatz ansteigt, kann es vorteilhaft sein, Datenblöcke einer bestimmten Datei über eine größere Anzahl von Platten zu verteilen, um das Erreichen der Leistungsfähigkeitsziele zu erleichtern. Zusätzlich kann es erforderlich sein, bestimmte Arten von Dateien auf aktiven Datenspeichereinheiten aufrechtzuerhalten. Beispielsweise belegen Metadaten, z.B. Inodes, indirekte Blöcke, Verzeichnisse usw., üblicherweise deutlich weniger Speicherplatz und können deshalb in ihrer Gesamtheit auf einer kleinen Anzahl von Einheiten gespeichert werden. Da Metadaten-Zugriffsmuster für gewöhnlich auch wahlfreier sind und Zugriffsverzögerungen störender sind als bei gewöhnlichen Datenzugriffsmustern und Verzögerungen, können Metadaten entweder auf Datenspeichereinheiten gehalten werden, die betriebsbereit (online) verbleiben, oder sie können innerhalb des Systems verschoben werden, wenn Datenspeichereinheiten aktiviert und deaktiviert werden.
  • In einem Dateisystem mit erweiterten Fähigkeiten zur Informations-Lebenszyklus-Verwaltung (ILF) können ILF-Daten genutzt werden, um die Wahrscheinlichkeit zu erhöhen, dass „heiße“ Datenblöcke auf Datenspeichereinheiten gespeichert werden, die laut Plan betriebsbereit (online) sein sollen. Daten mit geringer Zugriffswahrscheinlichkeit, z.B. Daten in älteren Momentaufnahmen oder einmalig geschriebene Daten, können auf Datenspeichereinheiten gespeichert oder in sie verschoben werden, die laut Plan in eine nicht betriebsbereite Betriebsart (offline) versetzt werden sollen.
  • 3 stellt einen Ablaufplan eines Prozesses „DSPOS-Einrichtung“ 200 dar, der dem DSPOS 118 von 1 und 2 entspricht. In diesem Beispiel ist die dem Prozess 200 zugehörige Logik auf DS_1 112 des Datenservers 102 (1) gespeichert und wird von einem oder mehreren zu der CPU 104 gehörenden Prozessoren in Verbindung mit dem DSPOS 118 (1 und 2) ausgeführt. Alternativ kann der Prozess 200 in das OS 114 (1) oder in ein Dateiverwaltungssystem wie das FS 116 (1) integriert sein.
  • Der Prozess 200 beginnt in einem Block 202 „Beginne Einrichtung des Datenspeicher-Stromoptimierungssystems (DSPOS)“ und fährt unmittelbar mit Block 204 „Frage DSPOS-Daten ab“ fort. Während des Blocks 204 fragt der Prozess 200 die Konfigurationsdaten ab (siehe 162, 2), die den Betrieb des DSPOS 118 steuern (siehe 230, 4). Wie weiter oben in Verbindung mit 2 beschrieben, gehören zu Beispielen von Konfigurationsdaten unter anderem und ohne einschränkende Wirkung die Auswahl verschiedener Funktionspläne zur Steuerung der Datenspeicherung, die Mindestanzahl der eingeschaltet zu haltenden Platten, globale Abschaltparameter bei Inaktivität, Funktionspläne für die Zeitsteuerung zum In- und Außerbetriebnehmen von Platten sowie Leistungsfähigkeitsparameter für das System als Ganzes.
  • Während eines Blocks 206 „Frage Systemdaten ab“ fragt der Prozess 200 Daten ab, die sich auf das System beziehen, auf dem das DSPOS 118 installiert ist und von denen erwartet wird, dass sie es überwachen und steuern (siehe 164, 2), darunter Daten, die das DSPOS 118 in die Lage versetzen, die Anzahl der verfügbaren Datenspeichereinheiten zu ermitteln sowie ob bestimmte Einheiten gemäß dem beanspruchten Gegenstand aktiv gesteuert werden können oder nicht. Während eines Blocks 208 „Stelle Größe des aktiven Plattensatzes fest“ ermittelt das DSPOS 118 unter Verwendung von Daten, die während der Blöcke 204 und 206 abgefragt wurden, die Anzahl der Datenspeichereinheiten, die benötigt werden, damit das aktuelle Leistungsfähigkeitsziel erreicht wird, und die somit in den aktiven Satz aufgenommen werden müssen (siehe 166, 2). Zu Beispielen von Einheiten, die sich in dem aktiven Satz befinden können, gehören unter anderem und ohne einschränkende Wirkung die Steuereinheit_1 124 (1), die Steuereinheit 2 126 (1) und die Datenspeichereinheiten 131 bis 134 (1).
  • Während eines Blocks 210 „Definiere aktiven Satz“ ermittelt der Prozess 200 auf der Grundlage der Daten, die während der Blöcke 206 und 208 abgefragt wurden, die Anzahl der Datenspeichereinheiten, die aktiv sein müssen, damit das aktuelle Leistungsfähigkeitsziel erfüllt wird. Des Weiteren ermittelt der Prozess 200, ob bestimmte Datenspeichereinheiten aktiv bleiben müssen oder nicht (siehe 154, 2). Anhand dieser Daten erstellt der Prozess 200 eine Liste aktiver Einheiten oder einen „aktiven Satz“, der der spezifischen Liste der Datenspeichereinheiten entspricht, die aktiv sein sollten. Während eines Blocks 212 „Erzeuge Prozess „Betrieb”” wird ein Prozess „Betrieb“ (siehe 230, 4) eingeleitet. Nachdem der Prozess „Betrieb“ gestartet wurde, wird eine Meldung dieser Daten wahlweise an einen Systemadministrator (SA), eine Protokolldatei oder beide während eines Blocks 214 „Benachrichtige SA“ übertragen. Üblicherweise sind ein SA oder Protokolldaten zum Datenserver 102 gehörig, doch die Einleitung, die Lösung von Problemen und die Pflege des DSPOS 118 können auch aus der Ferne durchgeführt werden. Schließlich fährt der Prozess 200 mit einem Block 229 „Beende DSPOS-Einrichtung“ fort, mit dem der Prozess 200 abgeschlossen ist.
  • 4 stellt einen Ablaufplan eines Prozesses 230 „DSPOS-Betrieb“ dar, der dem DSPOS 118 von 1 und 2 entspricht. Wie beim Prozess 200 (3) ist in diesem Beispiel die dem Prozess 230 zugehörige Logik auf DS_1 112 des Datenservers 102 (1) gespeichert und wird von einem oder mehreren zu der CPU 104 gehörenden Prozessoren in Verbindung mit dem DSPOS 118 (1 und 2) ausgeführt. Alternativ kann der Prozess 230 in das OS 114 (1) oder ein Dateiverwaltungssystem wie das FS 116 (1) integriert sein.
  • Der Prozess 230 beginnt in einem Block 232 „Beginne DSPOS-Betrieb“ und fährt unmittelbar mit einem Block 234 „Setze Funktionsplan um“ fort. Während des Blocks 234 setzt der Prozess 230 den Stromoptimierungs-Funktionsplan um, der während des Prozesses 200 „DSPOS-Einrichtung“ (3) festgelegt wurde. Ein Beispiel der Verarbeitung, die dem Block 234 zugehörig ist, wird weiter unten ausführlicher in Verbindung mit einem Prozess 260 „Umsetzung des Stromoptimierungs-Funktionsplans (POS)“ von 5 beschrieben.
  • Während eines Blocks 236 „Beurteile Situation“ werden der Datenserver 102 sowie geeignete Komponenten des Systems 100 bewertet, um die aktuelle Situation in Bezug auf die Verschiebung von Daten zu bewerten. Zu den Beispielen von Aktivitäten, die bewertet werden können, gehören unter anderem und ohne einschränkende Wirkung Änderungen im Aktivitätsgrad von Clients, z.B. CS_1 142 und CS_2 144, die aktuelle Systemkonfiguration, z.B. Netzwerkverbindungen, Platten oder Plattensteuereinheiten, die entweder nicht in Betrieb sind oder zu dem System 100 hinzugefügt wurden, die Zusammensetzung der Arbeitslast, z.B. das Verhältnis von Datenlese- zu Datenschreibvorgängen, und die Ausnutzung des Plattenplatzes, beides sowohl innerhalb als auch außerhalb des aktiven Plattensatzes. Während eines Blocks 238 „Neuer AP-Satz erforderlich?“ (wobei AP für „aktive Platten“ steht) ermittelt der Prozess 230 auf der Grundlage der während Block 236 ausgeführten Beurteilung der Situation, ob die aktuelle Datenspeicherkonfiguration annehmbar ist oder geändert werden muss. Wenn nicht, kehrt die Steuerung zu Block 236 „Beurteile Situation“ zurück, und die Verarbeitung wird wie oben beschrieben fortgesetzt. Selbstverständlich kann eine gewisse Verzögerung in das System eingebaut werden, sodass sich der Prozess 232 in einer Schlafstellung befindet und in regelmäßigen Abständen aktiviert wird, um die Speicheranforderungen zu ermitteln und bei Bedarf anzupassen.
  • Wenn der Prozess 230 während des Blocks 238 feststellt, dass eine neue Liste aktiver Platten erforderlich ist, fährt die Steuerung mit einem Block 240 „Berechne neuen AP-Satz“ fort. Während des Blocks 240 erzeugt der Prozess 230 eine Liste von Datenspeichereinheiten, die aktiv sein sollten, darunter jene, die aktiv bleiben sollten, und jene, die aktiviert werden sollten (siehe 154, 2). Es sollte beachtet werden, dass zusätzlich zu Änderungen bei Datenspeicheranforderungen auf der Grundlage von Zugriffsmustern der Bedarf für einen neuen Satz aktiver Platten auch auf Erwägungen wie beispielsweise einem Funktionsplan beruhen kann, dessen Grundlage Faktoren wie die Sicherstellung einer gleichmäßigen Verteilung der Daten über alle Datenspeichereinheiten und die Maximierung der Lebensdauer von Plattenlaufwerken bilden. Anders ausgedrückt, kann die Berechnung eines Satzes aktiver Platten von einem Wunsch abhängen, eine gleichmäßige Datenverteilung und gleichmäßige Arbeitszyklen der Speichereinheit zu schaffen, und sie kann sowohl auf statischen Konfigurationsdaten als auch dynamischen Leistungsfähigkeitsmessungen beruhen. Nachdem eine neue Liste aktiver Platten erzeugt wurde, kehrt die Steuerung zu Block 234 „Setze Funktionsplan um“ zurück, und die Verarbeitung wird wie oben beschrieben fortgesetzt.
  • Der Prozess 230 wird mittels eines asynchronen Interrupt-Befehls 246 angehalten, der die Steuerung an einen Block 248 „Bereinigung“ übergibt. Während des Blocks 248 wird der dem Prozess 230 zugehörige Speicher frei gemacht, und jegliche sonstigen für ein ordnungsgemäßes Herunterfahren erforderlichen Funktionen werden ausgeführt. Der Interrupt-Befehl 246 wird üblicherweise erzeugt, wenn das OS, das Dateisystem oder das DSPOS, von dem die Prozesse 230 ein Teil sind, selbst angehalten wird, entweder ausdrücklich von einem Systemadministrator oder aufgrund einer Stromabschaltungssituation. Während des Betriebs unter Nennbedingungen führt der Prozess 230 fortlaufend Schleifen durch die Blöcke 234, 236, 238 und 240 aus und passt dabei den Funktionsplan der Datenspeicherung gemäß der beanspruchten Technologie an. Schließlich wird der Prozess 230 während eines Blocks 249 „Beende DSPOS-Betrieb“ abgeschlossen.
  • 5 stellt einen Ablaufplan eines Prozesses 260 „Umsetzung des Stromoptimierungsplans (POS)“ dar, der einen Aspekt des Prozesses 230 „DSPOS-Betrieb“ von 4 umsetzen kann. Wie bei den Prozessen 200 (3) und 230 (4) ist in diesem Beispiel die dem Prozess 260 zugehörige Logik auf DS_1 112 des Datenservers 102 (1) gespeichert. und wird von einem oder mehreren zu der CPU 104 gehörenden Prozessoren in Verbindung mit dem DSPOS 118 (1 und 2) ausgeführt. Alternativ kann der Prozess 260 in das OS 114 (1) oder in ein Dateiverwaltungssystem wie das FS 116 (1) integriert sein.
  • Der Prozess 260 beginnt in einem Block 262 „Beginne POS-Umsetzung“ und fährt unmittelbar mit einem Block 264 „Aktiviere zusätzliche Platten“ fort. Während des Blocks 264 aktiviert der Prozess 260 etwaige Datenspeichereinheiten in dem während des Blocks 240 von Prozess 230 erzeugten AP-Satz, (4), die gerade inaktiv sind oder sich in einem Schlafbetrieb befinden. Die Aktivierung kann bewirkt werden, indem ein tatsächlicher Befehl an die Einheit oder die Steuereinheit der Einheit übertragen wird, oder einfach durch eine E/A-Anforderung an die bestimmte Einheit, je nach Konfiguration des Systems 100 und/oder der bestimmten Einheit.
  • Während eines Blocks 266 „Bewerte Daten“ führt der Prozess 260 eine Bewertung der Datenanforderungen aus, die der Umsetzung der neuen Liste aktiver Platten zugehörig sind (siehe 156, 2). Während eines Blocks 268 „Datenverschiebung erforderlich?“ ermittelt der Prozess 260, ob die während des Blocks 266 durchgeführte Datenanalyse angegeben hat, dass Daten verschoben werden müssen, und zwar ob von einer Platte, die gleich deaktiviert wird, zu einer gerade aktivierten oder umgekehrt. Wenn dem so ist, fährt der Prozess 260 mit einem Block 270 „Verschiebe Daten“ fort, während dessen die vorgesehenen Daten gemäß den ermittelten Anforderungen verschoben werden.
  • Nachdem die Daten während des Blocks 270 verschoben wurden, oder wenn der Prozess 260 während des Blocks 268 festgestellt hat, dass keine Daten verschoben zu werden brauchen, fährt die Steuerung mit einem Block 272 „Aktive Steuerung?“ fort. Während des Blocks 272 ermittelt der Prozess 260, ob eine bestimmte Einheit, das DSPOS 118, der Datenserver 102 und das System 100 so konfiguriert sind, dass sie die aktive Steuerung von Datenspeichereinheiten freigeben oder nicht. Wenn dem so ist, fährt der Prozess 260 mit einem Block 274 „Versetze Platten in Bereitschaft“ fort, während dessen Befehle vom DSPOS 118 zu jeder Datenspeichereinheit übertragen werden, die für eine aktive Steuerung konfiguriert ist und die nicht als aktiv bleibend gekennzeichnet ist, d.h. auf der Liste aktiver Platten steht. Alternativ zur aktiven Steuerung, die bei Bedarf jeweils für eine einzelne Einheit umgesetzt werden kann, können Einheiten auch durch Zeitsteuerungen zur automatischen Abschaltung bei Inaktivität von Platten oder Plattensteuereinheiten deaktiviert oder in Bereitschaft versetzt werden.
  • Nachdem Platten während des Blocks 274 in einen Bereitschaftsbetrieb versetzt wurden oder wenn der Prozess 260 während des Blocks 272 festgestellt hat, dass das DSPOS 118 nicht für eine aktive Steuerung konfiguriert ist, fährt die Steuerung schließlich mit einem Block 279 „Beende POS-Umsetzung“ fort, mit dem der Prozess 260 abgeschlossen wird.
  • Die hier verwendete Begrifflichkeit dient lediglich zur Beschreibung bestimmter Ausführungsformen und soll die Erfindung nicht einschränken. In der hier verwendeten Weise sollen die Einzahlformen „ein“, „einer“ „eine“ und „der“ „die“ „das“ auch die Mehrzahlformen einschließen, außer wenn der Zusammenhang eindeutig etwas anderes angibt. Weiterhin gilt, dass die Begriffe „umfassen“ und/oder „umfassend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein der angegebenen Merkmale, Ganzzahlen, Funktionen, Elemente und/oder Komponenten festlegen, aber das Vorhandensein oder die Hinzufügung von einem oder mehreren weiteren Merkmalen, Ganzzahlen, Funktionen, Elementen und/oder Komponenten und/oder Gruppen von ihnen nicht ausschließen.
  • Die zugehörigen Strukturen, Werkstoffe, Handlungen und gleichwertigen Gegebenheiten aller Mittel oder Elemente von Schritt plus Funktion in den nachfolgenden Ansprüchen sollen jegliche Strukturen, Werkstoffe oder Handlungen zum Durchführen der Funktion in Verbindung mit anderen beanspruchten Elementen in der speziell beanspruchten Weise einschließen. Die Beschreibung der Ausführungsformen der vorliegenden Erfindung wurde zur Veranschaulichung und Beschreibung vorgelegt, sie ist jedoch nicht als erschöpfend gedacht und soll nicht auf die Erfindung in der beschriebenen Form beschränkt sein. Für den Fachmann werden viele Abwandlungen und Varianten ersichtlich sein, ohne den Geltungsbereich der Erfindung zu verlassen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundsätze der Erfindung und die praktische Anwendung bestmöglich zu erklären und einen anderen Fachmann in die Lage zu versetzen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen für den jeweils in Betracht gezogenen Gebrauch geeigneten Abwandlungen zu verstehen.
  • Der Ablaufplan und die Funktionsschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb von möglichen Umsetzungen von Systemen, Verfahren und Computerprogramm-Erzeugnissen gemäß den verschiedenen Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in dem Ablaufplan oder den Funktionsschaubildern ein Modul, Segment oder den Teil eines Codes darstellen, der einen oder mehrere ausführbare Befehle zur Umsetzung der festgelegten logischen Funktion(en) umfasst.
  • Es sollte auch beachtet werden, dass in einigen alternativen Umsetzungen die in dem Block angegebenen Funktionen in einer anderen als der in den Figuren angegebenen Reihenfolge stattfinden können. Beispielsweise können je nach betroffener Funktionalität zwei als aufeinander folgend dargestellte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden. Es wird auch angemerkt, dass jeder Block der Veranschaulichung in den Funktionsschaubildern und/oder in dem Ablaufplan und Kombinationen der Blöcke in der Veranschaulichung der Funktionsschaubilder und/oder des Ablaufplans durch Hardware-Spezialsysteme umgesetzt werden können, die die festgelegten Funktionen oder Handlungen durchführen, oder durch Kombinationen von Spezial-Hardware und Computerbefehlen.

Claims (15)

  1. Verfahren, umfassend: Bestimmen (208; 236) einer Datenspeicheranforderung anhand der Datenübertragungsrate durch einen Engpaß eines hierarchischen Speicher-Teilsystems; Erzeugen (210; 236) einer Liste aktiver Platten auf der Grundlage der Datenspeicheranforderung, wobei eine Auswahl von Datenspeichereinheiten aus einer Vielzahl von Datenspeichereinheiten (131 - 134), die in einer Liste aktiver Platten aufgeführt sind, ausreicht, um die Datenspeicheranforderung zu erfüllen; Sicherstellen, dass jede bestimmte in der Liste aktiver Platten aufgeführte Datenspeichereinheit aktiv ist und dass jede nicht in der Liste aktiver Platten aufgeführte Datenspeichereinheit inaktiv ist; erneutes Bewerten (238) des Datendurchsatzes des Rechensystems während des Betriebs des Rechensystems, um eine geänderte Datenspeicheranforderung zu erzeugen; Erzeugen (240) einer geänderten Liste aktiver Platten auf der Grundlage der geänderten Datenspeicheranforderung, wobei eine geänderte Auswahl von Datenspeichereinheiten aus der Vielzahl von Datenspeichereinheiten, die in der geänderten Liste aktiver Platten aufgeführt sind, ausreicht, um die geänderte Datenspeicheranforderung zu erfüllen; und Sicherstellen, dass jede bestimmte in der geänderten Liste aktiver Platten aufgelistete Datenspeichereinheit aktiv ist und dass eine nicht in der geänderten Liste aktiver Platten aufgelistete Datenspeichereinheit inaktiv ist.
  2. Verfahren nach Anspruch 1, wobei das Sicherstellen, dass eine bestimmte Datenspeichereinheit aus der Vielzahl von Datenspeichereinheiten inaktiv ist, das Verhindern von Eingabe/Ausgabe-Anforderungen an die bestimmte Datenspeichereinheit umfasst.
  3. Verfahren nach Anspruch 1, wobei das Sicherstellen, dass eine bestimmte Datenspeichereinheit aus der Vielzahl von Datenspeichereinheiten inaktiv ist, das Übertragen eines Abschaltbefehls an die bestimmte Datenspeichereinheit umfasst.
  4. Verfahren nach Anspruch 1, wobei das Bewerten des Datendurchsatzes der Datenspeicherung des Rechensystems zum Erzeugen der Datenspeicheranforderung umfasst: Ermitteln (208) der Größe eines aktiven Plattensatzes auf der Grundlage des Datendurchsatzes; und Erzeugen (210) der Liste aktiver Platten auf der Grundlage der Größe des aktiven Plattensatzes.
  5. Verfahren nach Anspruch 1, vor dem Sicherstellen, dass eine bestimmte gerade aktive Datenspeichereinheit aus der Vielzahl von Datenspeichereinheiten, die nicht in der geänderten Liste aktiver Platten aufgeführt ist, inaktiv ist, weiterhin umfassend das Speichern von Daten von der gerade aktiven Datenspeichereinheit auf eine Datenspeichereinheit, die in der geänderten Liste aktiver Platten aufgeführt ist.
  6. Verfahren nach Anspruch 1, wobei es sich bei der Vielzahl von Datenspeichereinheiten um Plattenlaufwerke handelt.
  7. Verfahren nach Anspruch 1, wobei es sich bei der Vielzahl von Datenspeichereinheiten um Datensteuereinheiten handelt.
  8. Verfahren zum Steuern einer Datenspeichereinheit, umfassend: Bestimmen (208; 236) einer Datenspeicheranforderung anhand der Datenübertragungsrate durch einen Engpaß eines hierarchischen Speicher-Teilsystems; Erzeugen (210; 236) einer Liste aktiver Platten auf der Grundlage der Datenspeicheranforderung, wobei eine Auswahl von Datenspeichereinheiten aus einer Vielzahl von Datenspeichereinheiten (131 - 134), die in einer Liste aktiver Platten aufgeführt sind, zum Erfüllen der Datenspeicheranforderung ausreicht; Sicherstellen, dass eine bestimmte Datenspeichereinheit aus der Vielzahl von Datenspeichereinheiten aktiv ist, wenn die bestimmte Datenspeichereinheit in der Liste aktiver Platten aufgeführt ist; Sicherstellen, dass die bestimmte Datenspeichereinheit inaktiv ist, wenn die bestimmte Datenspeichereinheit nicht in der Liste aktiver Platten aufgeführt ist; Erneutes Bewerten (238) des Datendurchsatzes des Rechensystems während des Betriebs des Rechensystems, um eine geänderte Datenspeicheranforderung zu erzeugen; Erzeugen (240) einer geänderten Liste aktiver Platten auf der Grundlage der geänderten Datenspeicheranforderung, wobei eine geänderte Auswahl von Datenspeichereinheiten aus der Vielzahl von Datenspeichereinheiten, die in der geänderten Liste aktiver Platten aufgeführt sind, ausreicht, um die geänderte Datenspeicheranforderung zu erfüllen; Sicherstellen, dass die bestimmte Datenspeichereinheit inaktiv ist, wenn die bestimmte Datenspeichereinheit nicht in der geänderten Liste aktiver Platten aufgeführt ist; und Sicherstellen, dass jede bestimmte in der geänderten Liste aktiver Platten aufgelistete Datenspeichereinheit aktiv ist und dass eine nicht in der geänderten Liste aktiver Platten aufgelistete Datenspeichereinheit inaktiv ist.
  9. Verfahren nach Anspruch 8, wobei das Sicherstellen, dass die bestimmte Datenspeichereinheit inaktiv ist, das Verhindern von Eingabe/Ausgabe-Anforderungen an die bestimmte Datenspeichereinheit umfasst.
  10. Verfahren nach Anspruch 8, wobei das Sicherstellen, dass die bestimmte Datenspeichereinheit inaktiv ist, das Übertragen eines Abschaltbefehls an die bestimmte Datenspeichereinheit umfasst.
  11. Verfahren nach Anspruch 8, wobei das Bewerten des Datendurchsatzes der Datenspeicherung des Rechensystems zum Erzeugen der Datenspeicheranforderung umfasst: Ermitteln (208) der Größe eines aktiven Plattensatzes auf der Grundlage des Datendurchsatzes; und Erzeugen (210) der Liste aktiver Platten auf der Grundlage der Größe des aktiven Plattensatzes.
  12. Verfahren nach Anspruch 8, weiterhin umfassend vor dem Sicherstellen, dass die bestimmte Datenspeichereinheit inaktiv statt aktiv ist, das Speichern von Daten von der bestimmten Datenspeichereinheit auf eine zweite Datenspeichereinheit aus der Vielzahl von Datenspeichereinheiten, für die sichergestellt ist, dass sie aktiv ist.
  13. Verfahren nach Anspruch 1, wobei es sich bei der Vielzahl von Datenspeichereinheiten um Plattenlaufwerke handelt.
  14. Vorrichtung, umfassend: einen Prozessor (104); einen mit dem Prozessor verbundenen computerlesbaren physischen Speicher (112); eine Vielzahl von Datenspeichereinheiten (131 - 134); und auf dem computerlesbaren physischen Speicher gespeicherte Logik, die ein Verfahren nach einem der Ansprüche 1 bis 13 ausführt.
  15. Computerprogramm mit Anweisungen zum Ausführen eines Verfahrens nach einem der Ansprüche 1 bis 13.
DE112010004982.3T 2009-12-24 2010-12-10 Fortschrittliche Stromverwaltung von Plattenlaufwerken auf der Grundlage des höchsten Systemdurchsatzes Active DE112010004982B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/647,339 US8732394B2 (en) 2009-12-24 2009-12-24 Advanced disk drive power management based on maximum system throughput
US12/647,339 2009-12-24
PCT/EP2010/069361 WO2011076589A1 (en) 2009-12-24 2010-12-10 Advanced disk drive power management based on maximum system throughput

Publications (2)

Publication Number Publication Date
DE112010004982T5 DE112010004982T5 (de) 2012-11-29
DE112010004982B4 true DE112010004982B4 (de) 2021-10-21

Family

ID=43530662

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112010004982.3T Active DE112010004982B4 (de) 2009-12-24 2010-12-10 Fortschrittliche Stromverwaltung von Plattenlaufwerken auf der Grundlage des höchsten Systemdurchsatzes

Country Status (5)

Country Link
US (1) US8732394B2 (de)
CN (1) CN102667705B (de)
DE (1) DE112010004982B4 (de)
GB (1) GB2488917B (de)
WO (1) WO2011076589A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8869148B2 (en) 2012-09-21 2014-10-21 International Business Machines Corporation Concurrency identification for processing of multistage workflows
US20150324135A1 (en) * 2014-05-06 2015-11-12 Netapp, Inc. Automatic storage system configuration based on workload monitoring
JP2016058033A (ja) * 2014-09-12 2016-04-21 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
US10289326B2 (en) 2015-09-14 2019-05-14 HGST Netherlands, B.V. Optimized data layout for object store system
US10073625B2 (en) * 2016-01-06 2018-09-11 HGST Netherlands B.V. Variable-RPM hard disk drive control

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311251B1 (en) 1998-11-23 2001-10-30 Storage Technology Corporation System for optimizing data storage in a RAID system
US20050111249A1 (en) 2003-11-26 2005-05-26 Hitachi, Ltd. Disk array optimizing the drive operation time
US20050268121A1 (en) 2004-05-26 2005-12-01 Intel Corporation Power management of storage units in a storage array
US7089359B2 (en) 2003-10-21 2006-08-08 Hitachi, Ltd. Management of hierarchically configured storage
EP1895396A2 (de) 2006-08-10 2008-03-05 Hitachi, Ltd. Speichervorrichtung und Verfahren zur Datenverwaltung mit der Speichervorrichtung
US20080172525A1 (en) 2007-01-15 2008-07-17 Hitachi, Ltd. Storage system and method of controlling a storage system
US20090240992A1 (en) 2006-02-10 2009-09-24 Hitachi, Ltd. Storage system and control method thereof
EP2026185B1 (de) 2007-08-14 2012-08-08 Dell Products, L.P. System und Verfahren zur Verwaltung der Kapazitätsnutzung einer Speichervorrichtung

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496899B1 (en) * 2000-02-28 2002-12-17 Sun Microsystems, Inc. Disk scheduling system with bounded request reordering
US7143433B1 (en) * 2000-12-27 2006-11-28 Infovalve Computing Inc. Video distribution system using dynamic segmenting of video data files
JP2005063591A (ja) 2003-08-18 2005-03-10 Matsushita Electric Ind Co Ltd ディスクアレイ装置
US7634615B2 (en) * 2004-06-10 2009-12-15 Marvell World Trade Ltd. Adaptive storage system
US8006111B1 (en) * 2007-09-21 2011-08-23 Emc Corporation Intelligent file system based power management for shared storage that migrates groups of files based on inactivity threshold

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311251B1 (en) 1998-11-23 2001-10-30 Storage Technology Corporation System for optimizing data storage in a RAID system
US7089359B2 (en) 2003-10-21 2006-08-08 Hitachi, Ltd. Management of hierarchically configured storage
US20050111249A1 (en) 2003-11-26 2005-05-26 Hitachi, Ltd. Disk array optimizing the drive operation time
US20050268121A1 (en) 2004-05-26 2005-12-01 Intel Corporation Power management of storage units in a storage array
US20090240992A1 (en) 2006-02-10 2009-09-24 Hitachi, Ltd. Storage system and control method thereof
EP1895396A2 (de) 2006-08-10 2008-03-05 Hitachi, Ltd. Speichervorrichtung und Verfahren zur Datenverwaltung mit der Speichervorrichtung
US20080172525A1 (en) 2007-01-15 2008-07-17 Hitachi, Ltd. Storage system and method of controlling a storage system
EP2026185B1 (de) 2007-08-14 2012-08-08 Dell Products, L.P. System und Verfahren zur Verwaltung der Kapazitätsnutzung einer Speichervorrichtung

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
„Write Off-Loading: Practical Power Management for Enterprise Storage" (Dushyanth Narayanan et al., 6th USENIX Conference on File and Storage Technologies, 2008)
NARAYANAN, Dushyanth ; DONNELLY, Austin ; ROWSTRON, Antony: Write off-loading: practical power management for enterprise storage. In: Proceedings FAST ’08: 6th USENIX Conference on File and Storage Technologies, February 2008, S.253-267

Also Published As

Publication number Publication date
CN102667705A (zh) 2012-09-12
US20110161582A1 (en) 2011-06-30
GB2488917A (en) 2012-09-12
DE112010004982T5 (de) 2012-11-29
WO2011076589A1 (en) 2011-06-30
US8732394B2 (en) 2014-05-20
GB201205113D0 (en) 2012-05-09
CN102667705B (zh) 2016-01-27
GB2488917B (en) 2014-07-23

Similar Documents

Publication Publication Date Title
DE112018000193B4 (de) Daten sequenziell in Zonen in einem verstreuten Speichernetzwerk speichern
DE602005005557T2 (de) Modul zur Verminderung der Leistungsaufnahme eines Festplattenlaufwerks
DE102004064069B4 (de) Plattenarrayvorrichtung
DE102012216035B4 (de) Aktivierung der drosselung auf den durchschnittlichen schreibdurchsatz bei festkörperspeichereinheiten
DE102008022831B4 (de) Arbeitsverfahren für ein Speichersubsystem und Vorrichtungen zur Durchführung des Arbeitsverfahrens
DE112011104419B4 (de) Bereichsmigration für gepaarte Speicherung
DE602005004120T2 (de) System und verfahren zur übernahme von partnerbetriebsmitteln in verbindung mit coredump
DE102004025921A1 (de) Speichersystem mit mehreren Schnittstellen sowie Datenzugriffsverfahren in einem derartigen Speichersystem
DE112010004982B4 (de) Fortschrittliche Stromverwaltung von Plattenlaufwerken auf der Grundlage des höchsten Systemdurchsatzes
DE102008015185A1 (de) Hierarchisches Speichersystem mit vorausschauender Datenübertragung
DE112012000953T5 (de) Dynamisches Beseitigen von Leistungsungleichgewicht zur Laufzeit
DE102012216022A1 (de) Verwaltung einer Zeitpunktkopie-Beziehung für platzsparende Datenträger
DE202017007217U1 (de) Multicluster-Lager
DE102013209528A1 (de) Benutzergesteuerte Replikation in einem System für synchronisierte Objektreplikationen
DE102013205069A1 (de) Erhöhte effizienz bei inline-deduplizierungen
DE10348326A1 (de) Permanentspeichervorrichtung, die an eine Kommunikationsverbindung angeschlossen ist
DE102007048505A1 (de) Server, konfiguriert zum Verwalten von Leistung und Betriebsverhalten
DE102020103817A1 (de) Speicherklasse speicher queue depth threshold adjustment
DE102012215918A1 (de) Spiegeln virtueller Maschinen von einem primären auf einen sekundären Host
DE112013006564T5 (de) Computersystem und Steuerungsverfahren für Computersystem
DE102009031125A1 (de) Nand-Fehlerbehandlung
DE102013205571B4 (de) Verfahren, Computerprogrammprodukt und Vorrichtung zum Migrieren von Datenträgern mit schlanker Speicherzuweisung in mehrschichtigen Speicherarchitekturen
DE112013007300T5 (de) Speichersysteme mit adaptiver Löschcode-Generierung
DE602004007884T2 (de) Speichersteuerungssystem und -Verfahren
DE102013210719B4 (de) Verfahren und Systeme zum Verwalten von Cache-Speichern

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: G11B0019200000

R016 Response to examination communication
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