DE112013006305T5 - Speichersystem und Verfahren zum Zuweisen von Ressourcen - Google Patents

Speichersystem und Verfahren zum Zuweisen von Ressourcen Download PDF

Info

Publication number
DE112013006305T5
DE112013006305T5 DE112013006305.0T DE112013006305T DE112013006305T5 DE 112013006305 T5 DE112013006305 T5 DE 112013006305T5 DE 112013006305 T DE112013006305 T DE 112013006305T DE 112013006305 T5 DE112013006305 T5 DE 112013006305T5
Authority
DE
Germany
Prior art keywords
operating system
storage
block
hardware resource
hypervisor
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.)
Withdrawn
Application number
DE112013006305.0T
Other languages
English (en)
Inventor
Ai Satoyama
Yoshiaki Eguchi
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE112013006305T5 publication Critical patent/DE112013006305T5/de
Withdrawn legal-status Critical Current

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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

In herkömmlichen Unified-Storage-Systemen werden eine Eingabe/Ausgabe für Blockspeicher und eine Eingabe/Ausgabe für Dateispeicher in einem einzelnen Betriebssystem verarbeitet, ohne voneinander unterschieden zu werden, so dass es nicht möglich war, Prozesse für schnelle Fehlerdetektierung oder zur Verbesserung der Leistungsfähigkeit, wie zum Beispiel die Förderung der Leistungsfähigkeit durch direkte Überwachung der Hardware, durchzuführen. Die vorliegende Erfindung löst das Problem, indem ein Blockspeicherseiten-Betriebssystem und eine Gruppe von Betriebssystemen, die mehrere Systeme verwalten, die ein anderes Dateisystem als das Blockspeicherseiten-Betriebssystem enthalten, in einem Speichersystem nebeneinander bestehen, wobei die Gruppe von Betriebssystemen, die verschiedene Systeme verwaltet, die ein anderes Dateisystem als das Blockspeicherseiten-Betriebssystem enthalten, von einem Hypervisor virtualisiert wird, wobei eine Blockspeicher-Mikrosteuereinrichtung und der Hypervisor bei der Ausführung der Prozesse zusammenarbeiten können.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft ein Speichersystem und ein Verfahren zum Zuweisen von Ressourcen.
  • Stand der Technik
  • Es wurden Computersysteme bereitgestellt, die Host-Computern Datenspeicherdienste im großen Ausmaß bereitstellen. Bekannterweise umfasst ein solches System einen Host-Computer, ein Speicheruntersystem, mit dem der Host-Computer verbunden ist, und eine Verwaltungsvorrichtung des Speicheruntersystems. Das Speicheruntersystem verwaltet eine Vielzahl von Festplatten über eine RAID(Redundant Array of Independent/Inexpensive Disks)-Konfiguration. Das System logisiert physische Speicherbereiche, die in einer Vielzahl von Festplatten enthalten sind, und stellt diese dem Host-Computer als logische Datenträger bereit. Der Host-Computer greift auf die logischen Datenträger zu und fordert das Lesen und Schreiben von Daten an.
  • In letzter Zeit gibt es einen technischen Trend der Nachfrage nach Verkleinerung des Platzes für das Speicheruntersystem, Reduzierung der Betriebsverwaltungskosten, Erleichterung der Wartung und effizienter Nutzung der zentralen Steuereinheit (CPU) und anderer Ressourcen. In Verbindung damit richtet sich die Aufmerksamkeit auf ein Unified-Storage-System, das ein integriertes Speicheruntersystem ist, das mit einer Vielzahl von Protokollen, wie zum Beispiel FC (Fibre Channel), iSCSI, FCoE (Fibre Channel over Ethernet) und NAS (Network Attached Storage), über eine einzelne Maschine korrespondieren kann. Der Vorteil einer integrierten Maschine besteht darin, dass sie eine direkte Verbindung von Elementen ermöglicht, die Entwicklungskosten reduziert und die Leistungsfähigkeit sicherstellt. Darüber hinaus ist eine Weise bekannt, Hardware-Ressourcen, die in einem Speichersystem enthalten sind, das mit einem Netzwerk verbunden ist, und Dateizugriffe empfängt (wie zum Beispiel ein NAS) logisch zu unterteilen und die einzelnen logischen Partitionen (virtuelle Speicheruntersysteme) unabhängig voneinander zu betreiben (siehe Patentliteratur 1).
  • Literaturliste
  • Patentliteratur
  • PDL1
    • Die japanische offengelegte Patentanmeldung mit der Veröffentlichungsnummer 2005-128733 ( US Patent Veröffentlichungsnummer 2005/0091454 )
  • Kurzzusammenfassung der Erfindung
  • Technisches Problem
  • Gemäß einem herkömmlichen integrierten Speichersystem wird innerhalb der Verarbeitung des einzelnen Betriebssystems, das sie verarbeitet, nicht zwischen Eingabe/Ausgabe für Blockspeicher und Eingabe/Ausgabe für Dateispeicher unterschieden. Deshalb können gemäß dem Blockspeicheruntersystem des Standes der Technik keine Prozesse zur Verbesserung der Leistungsfähigkeit ausgeführt werden. Zum Beispiel kann in einem Blockspeicheruntersystem die Zuverlässigkeit des Systems durch unmittelbares Detektieren von Fehlern über ein Echtzeit-Betriebssystem verbessert werden oder das Fördern der Leistungsfähigkeit kann durch direktes Überwachen des Betriebs der Hardware ausgeführt werden, aber in einer Einzel-Betriebssystems-Konfiguration können solche Prozesse nicht ausgeführt werden. Aus diesem Grund besteht die Aufgabe der vorliegenden Erfindung darin, ein Speichersystem bereitzustellen, das die hohe Leistungsfähigkeit des Blockspeicheruntersystems voll nutzen kann, und ein Verfahren zum Zuweisen von Ressourcen in solch einem System bereitzustellen.
  • Lösung des Problems
  • Die vorliegende Erfindung stellt ein Unified-Storage-Untersystem bereit, das einen Dienst unter Verwendung einer Vielzahl von Betriebssystemen, wie zum Beispiel ein Betriebssystem für Blockspeicherung und ein Betriebssystem für ein Dateiensystem, das ein anderes ist als das Betriebssystem für Blockspeicher, bereitstellt. Mit anderen Worten stellt das vorliegende System einen Dienst, der auf einer Blockschnittstelle basiert, die das Betriebssystem für Blockspeicherung verwendet, und ein System zum Bereitstellen eines Dienstes, der auf einer Dateischnittstelle basiert, die das Betriebssystem als Dateiensystem verwendet (wie zum Beispiel ein Suchsystem oder Windows) bereit. Der Hauptaspekt der vorliegenden Erfindung zum Lösen der Probleme des Standes der Technik besteht darin, dass das Betriebssystem für Blockspeicherung, das ein Echtzeit-Betriebssystem ist, von dem Betriebssystem für Dateiensysteme getrennt ist. Ferner kann das Speicheruntersystem, da eine Vielzahl von Betriebssystemen in einem einzigen Gehäuse vorhanden ist, eine Vielzahl von Betriebssystem haben, die zusammen arbeiten. Ferner ist es, um ein Unified-Storage-Untersystem umzusetzen, das die überlegenen Funktionen eines hochwertigen Speicheruntersystems voll nützt, notwendig, zentrale Steuereinheiten und Speicher zuzuweisen, die das hochwertige Speicheruntersystem zum Arbeiten benötigt. Deshalb stellt die vorliegende Erfindung ein Verfahren zum Definieren (Zuweisen) von Hardware-Ressourcen bereit, die es ermöglichen, dass das hochwertige Speicheruntersystem seine überlegenen Leistungen ausführt.
  • Gemäß der vorliegenden Erfindung wird eine Konfiguration bereitgestellt, in der eine Vielzahl von Betriebssystemen nebeneinander bestehen. Zuerst werden die Betriebssysteme in eine Blockspeicher-Mikrosteuereinrichtung (Blockspeicherseiten-Betriebssystem) und ein anderes Betriebssystem als der Blockspeicher unterteilt, wobei das andere Betriebssystem als der Blockspeicher in einem Hypervisor gebildet ist. Ein Hypervisor ist eine Software, die dazu in der Lage ist, eine virtuelle Umgebung zum Ausführen einer Vielzahl von verschiedenen Betriebssystemen parallel zu realisieren. Die Prozesse der Blockspeicher-Mikrosteuereinrichtung und des Hypervisors werden auf eine zusammenarbeitende Art ausgeführt. Das Speicheruntersystem, das Daten speichert, bildet ein hochwertiges Speicheruntersystem und die Blockspeicher-Mikrosteuereinrichtung führt die Prozesse aus.
  • Vorteilhafte Wirkungen der Erfindung
  • Durch das Ausführen von Hardware-Ressourcen-Definition gemäß der vorliegenden Erfindung wird es möglich, das System zu betreiben, ohne Ressourcen zu verschwenden und ohne die Prozesswirksamkeit und Leistungsfähigkeit zu verschlechtern.
  • Da eine Ressource zuerst der Steuerung der Blockspeicher-Mikrosteuereinrichtung-Seite zugewiesen wird, kann die Leistungsfähigkeit der Speicher Mikrosteuereinrichtung gewährleistet werden. Dadurch kann die Leistungsfähigkeit des gesamten Systems gewährleistet werden. Die Fähigkeit des Prozesses und der Funktion der Blockspeicher-Mikrosteuereinrichtung-Seite können effektiv genutzt werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein konzeptuelles Diagramm des Verfahrens zum Zuweisen von Hardware-Ressourcen in einem Unified-Storage-Untersystem.
  • 2 ist ein anderes konzeptuelles Diagramm eines Verfahrens zum Zuweisen von Ressourcen.
  • 3 zeigt ein Beispiel des Gesamtkonfigurationsdiagramms von Hardware in dem Speichersystem.
  • 4A ist eine Ansicht, die ein Beispiel zeigt, in dem ein zweites Speicheruntersystem mit dem Unified-Storage-Systemen gekoppelt ist.
  • 4B ist eine Ansicht, die ein Beispiel zeigt, in dem ein drittes Speicheruntersystem über ein SAN mit dem Unified-Storage-Untersystem gekoppelt ist.
  • 5 ist eine Bildansicht von Hardware und Software zum Beschreiben des Betriebs des Speichersystems.
  • 6 ist eine Ansicht, die den Überblick über den Ablauf von Eingabe/Ausgabe-Verarbeitung zu der Blockspeicherseite zeigt.
  • 7 ist eine Ansicht, die den Überblick über den Prozess zeigt, wenn ein Dateien-Betriebssystem eine Eingabe/Ausgabe empfängt, als ein Beispiel für eine andere Eingabe/Ausgabe-Verarbeitung als den Blockspeicher.
  • 8A zeigt ein Beispiel einer Hardware-Ressourcen-Verwaltungstabelle, die eine Hardware-Ressourcen-Verwaltungsinformation ist, die in einer Blockspeicher-Mikrosteuereinrichtung gespeichert ist,
  • 8B zeigt ein Beispiel einer Hardware-Ressourcen-Verwaltungstabelle, die eine Hardware-Ressourcen-Verwaltungsinformation ist, die in einem Hypervisor gespeichert ist.
  • 8C zeigt ein Beispiel einer Hardware-Ressourcen-Verwaltungstabelle, die eine Hardware-Ressourcen-Verwaltungsinformation ist, die in jedem anderen Betriebssystem als dem Blockspeicher gespeichert ist.
  • 9 zeigt ein Beispiel einer Verzeichnisvorrichtungsinformationstabelle.
  • 10 ist eine Ansicht zum Beschreiben der gemeinsamen Nutzung von Befehlen mit der Blockspeicher-Mikrosteuereinrichtungs-Seite.
  • 11A zeigt einen Prozess zum Zuweisen von Hardware-Ressourcen zu einer Blockspeicheruntersystemseite.
  • 11B zeigt einen Prozess zum Zuweisen einer Hardware-Ressource zu einem anderen Betriebssystem als dem Blockspeicher.
  • 11FC zeigt einen weiteren Prozess zum Zuweisen einer Hardware-Ressource.
  • 12 zeigt einen Prozess zum Definieren einer Konfiguration, wenn eine Ressource hinzugefügt wird.
  • 13 ist ein Ablaufdiagramm, das einen Prozess zur dynamischen Neuzuweisung einer Hardware-Ressource des Blockspeichers zu einem anderen Ziel als dem Blockspeicher zeigt.
  • 14 ist ein Ablaufdiagramm des Prozesses zur dynamischen Neuzuweisung eine Hardware-Ressource unter Verwendung eines anderen Systems als dem Blockspeicher zu der Blockspeicherseite.
  • 15 ist ein Ablaufdiagramm, das einen Schreibprozess zeigt, der zu der Blockspeicherseite ausgeführt wird.
  • 16 ist ein Ablaufdiagramm, das einen Leseprozess zeigt, der zu der Blockspeicherseite ausgeführt wird.
  • 17 ist eine Ansicht, die den Bereich zeigt, wo ein fehlerhaftes Programm innerhalb des Speicheruntersystems existiert.
  • 18 ist ein Gesamtkonfigurationsdiagramm der Hardware des Speichersystems gemäß einer anderen Ausführungsform.
  • 19 zeigt ein Ablaufdiagramm eines Schreibprozesses, der zur Seite des Dateien-Betriebssystems ausgeführt wird.
  • 20 ist ein Ablaufdiagramm eines Leseprozesses, der zur Seite des Dateien-Betriebssystems ausgeführt wird.
  • 21 ist eine Ansicht, die sich auf den Fehler bezieht, der in einer Hardware auftritt, die ausschließlich zur Blockspeicherseite gehört.
  • 22 ist eine Ansicht, die den Fehler zeigt, der in einer anderen gemeinsam genutzten Hardware als der Blockspeicherseite auftritt.
  • 23 ist eine Ansicht, die eine Informationsverwaltungstabelle zeigt, die Information im Zusammenhang mit der Fehlerüberwachung speichert.
  • Jetzt werden die bevorzugten Ausführungsformen der vorliegenden Erfindung mit Bezug auf die Zeichnungen beschrieben. Die in der vorliegenden Beschreibung dargestellten Ausführungsformen sind lediglich Beispiele zum Umsetzen der vorliegenden Erfindung und sollen den technischen Schutzbereich der vorliegenden Erfindung auf keine Art beschränken. Die gemeinsamen Komponenten in den entsprechenden Zeichnungen sind mit den gleichen Bezugszeichen bezeichnet. In der folgenden Beschreibung sind verschiedene Informationen gemäß der vorliegenden Erfindung im „Tabellen”-Format beschrieben, aber diese Informationen können auch über andere Datenstrukturen als Tabellen ausgedrückt werden, wie zum Beispiel Listen, Datenbanken und Warteschlangen. Um anzuzeigen, dass die Information nicht von der Datenstruktur abhängt, sind die „Tabellen”, „Listen”, „Datenbanken” und „Warteschlangen” manchmal einfach als Information bezeichnet. Ausdrücke wie zum Beispiel „Identifikationsinformation”, „Identifikator”, „Name” und „ID” können zur Beschreibung der Inhalte der entsprechenden Information verwendet werden, und diese Ausdrücke sind gegeneinander austauschbar.
  • Die Prozesse sind manchmal unter Verwendung des Ausdrucks „Programm” als das Subjekt beschrieben. Das Programm wird von einem Prozessor zum Ausführen vorbestimmten Prozesse unter der Verwendung von Speichern und Kommunikationsanschlüssen (Kommunikationssteuereinheiten) ausgeführt, so dass ein Prozessor auch als das Subjekt der Prozesse verwendet werden kann. Die beschriebenen Prozesse, die das Programm als das Subjekt verwenden, können auch als Prozesse eingestellt werden, die von Computern und Informationsverarbeitungsvorrichtungen, wie zum Beispiel Verwaltungsservern, ausgeführt werden. Ein Teil oder alle Programme können durch eine zugeordnete Hardware umgesetzt werden oder können in Modulen gebildet werden. Verschiedene Programme können zum Beispiel auf den entsprechenden Computern über einen Programmverteilungsserver oder Speichermedien installiert sein.
  • 1 zeigt eine konzeptuelle Ansicht eines Unified-Storage-Systems im Zusammenhang mit einem Verfahren zum Zuweisen von Hardware-Ressourcen in einer Blockspeicher-Mikrosteuereinheitsseite und einer anderen Steuerseite als der Blockspeicher-Mikrosteuereinrichtungs-Seite. Eine Vielzahl von Betriebssystemen existiert gemeinsam innerhalb eines Unified-Storage-Systems. Ein „Teil der Hardware” der gesamten Hardware, die mit dem Unified-Storage-System verbunden ist, wird auf eine „priorisierte Art” einem spezifischen Betriebssystem zugewiesen. In dem vorliegenden Beispiel ist das spezifische Betriebssystem die Blockspeicher-Mikrosteuereinheit. Die übrige Hardware, die der Blockspeicher-Mikrosteuereinheit nicht zugewiesen wurde, wird dem anderen Betriebssystem als der Blockspeicher-Mikrosteuereinheit zugewiesen.
  • In 1 sind eine Vielzahl von anderen Betriebssystem als die Blockspeicher-Mikrosteuereinheit gezeigt und sind als eine Software zum Virtualisieren der Vielzahl von Betriebssystemen Hardware-Ressourcen über einen Supervisor verteilt. In dem vorliegenden Beispiel wird ein LPAR (Logical PARtitioning), was eine Art von Ausführung einer logischen Partitionierung ist, zum Ausführen der Zuweisung verwendet. Der Hypervisor weist die zuweisbaren Hardware-Ressourcen den Zielbetriebssystemen gleichzeitig zu. Hardware-Ressourcen umfassen zum Beispiel Steuerprozessoren (CPU), Anschlüsse, Hardware zur Überwachung von Fehlern, Speicher und Platten, wie zum Beispiel Festplatten, als Speichervorrichtungen.
  • Im Stand der Technik wird die Hardware nach der Zuweisung von Hardware-Ressourcen zu dem Speicheruntersystem, wenn die zugeordnete Hardware (nachfolgend auch den Zustand der Verwendung umfassend) von der erkannten Hardware definiert und in den Speicheruntersystem gespeichert wird, in einen verwendbaren Zustand übergehen. Die übrigen Ressourcen, die nicht von dem Speicheruntersystem zugewiesen sind, werden als ein „vakanter” Zustand identifiziert, der nicht in Verwendung ist. Die Ressourcen im „vakanten” Zustand können zum Beispiel anstatt eines Hardware-Elements, das während der Verwendung Fehler aufweist, oder für Erweiterungen bei einem Mangel an Leistungsfähigkeit oder Kapazität des Systems verwendet werden.
  • Jedoch werden gemäß dem Speichersystem der vorliegenden Erfindung die Ressourcen, die nicht von der Blockspeicher-Mikrosteuereinrichtung zugewiesen wurden, nicht als Ressourcen des Blockspeicheruntersystems verwendet und sind keine „vakanten” Ressourcen, so dass sie im Grunde später nicht von der Blockspeicher-Mikrosteuereinrichtung verwendet werden können. Gemäß der Konfiguration des Systems des Standes der Technik könnten, wenn ein solcher Ressourcen-Zustand nicht auftritt, die Ressourcen nicht von dem Speicheruntersystem als „vakanter” Status erkannt werden.
  • 2 ist ein konzeptionelles Diagramm eines anderen Ressourcenzuweisungsverfahrens. Die Zeichnung zeigt eine Konfiguration eines Unified-Storage-Systems, in dem eine Vielzahl von Betriebssystemen nebeneinander existiert und es zum Beispiel ein einzelnes Betriebssystem OS1 und eines oder mehrere OS2 gibt. In der Beschreibung ist eine Blockspeicher-Mikrosteuereinrichtung als ein Beispiel zur Bereitstellung eines Dienstes über eine Blockschnittstelle gezeigt und ein Dateiensystem, ein Suchsystem – oder breiter – Windows, sind Beispiele von Systemen, die Dienste über eine Dateischnittstelle bereitstellen. Ein in einem Virtualisierungsprogramm betriebenes System, mit anderen Worten ein Hypervisor, wird als ein System zur Bereitstellung von Diensten über eine Dateischnittstelle gezeigt.
  • 3 ist ein Beispiel, das ein Gesamtkonfigurationsdiagramm der Hardware zeigt, die in dem Speichersystem enthalten ist. Das System umfasst Client-Vorrichtungen 101A und 101B, mindestens eine Verwaltungsvorrichtung (Verwaltungscomputer) 20 und mindestens ein Speicheruntersystem 30, mit dem diese Vorrichtungen verbunden sind. Das Speicheruntersystem 30 kann hier auch als ein Speichersystem oder ein Unified-Storage-System bezeichnet werden.
  • Die Client-Vorrichtungen 101A und 101B sind externe Computer, die das Speicheruntersystem 30 verwenden. Die Client-Vorrichtung 101B ist eine Dateien-Client-Vorrichtung, die Schreiben, Lesen und Erzeugen von Dateien bezüglich des Speicheruntersystems 30 anfordert. Die Client-Vorrichtung 101A ist eine Block-Client Vorrichtung, die auf die logischen Speicherressourcen des Speicheruntersystems 30 zugreift. Die eigentlichen Vorrichtungen umfassen zum Beispiel Personal Computer.
  • Die Client-Vorrichtungen 101A und 101B sind mit einer Eingabevorrichtung, einer Ausgabevorrichtung, einem Steuerprozessor, einem Speicher und einem Host-Adapter oder Netzwerkadapter ausgestattet. Der Hostadapter oder der Netzwerkadapter sendet und empfängt Daten über das Speicheruntersystem 30 und Netzwerke 106 und 107. Die Client-Vorrichtung 101A kann eine Server-Vorrichtung mit einem FC (Fibre Channel) oder einem iSCI sein, die Blockschnittstellen sind. Die Client-Vorrichtung 101B kann eine Vorrichtung mit einem NFS oder einem CIFS sein, die Dateischnittstellen sind.
  • Die Verwaltungsvorrichtung 20 verwaltet die Konfiguration des Speicherbereichs des Speicheruntersystems 30. Die Verwaltungsvorrichtung 20 besteht aus den folgenden Elementen. Die Eingabevorrichtung 210 empfängt eine Eingabe von Administratoren oder Ähnlichem, die die Verwaltungsvorrichtung 20 betreiben, und ist aus einer Tastatur oder Ähnlichem gebildet. Die Ausgabevorrichtung 220 zeigt den Zustand der Verwaltungsvorrichtung 20 oder eingestellten Elementen an und ist aus einer Anzeigeeinheit oder Ähnlichem gebildet.
  • Der Steuerprozessor 230 liest ein Verwaltungsprogramm, das in einem Plattenlaufwerk 260 gespeichert ist, in einen Speicher 240 und führt auf der Grundlage des Programms eine Verwaltungsverarbeitung des Speicheruntersystems 30 aus. Der Speicher 240 ist aus einem RAM oder Ähnlichem gebildet und speichert Programme und Daten.
  • Ein Netzwerkadapter 250 überträgt und empfängt Daten mit den Client-Vorrichtungen 101A und 101B oder dem Speicheruntersystem 30 über ein Verwaltungsnetzwerk 108. Das Verwaltungsnetzwerk 108 ist zum Beispiel aus Ethernet (eingetragenes Markenzeichen) gebildet. Das Plattenlaufwerk 260 ist zum Beispiel aus einer Festplattenvorrichtung gebildet, die Daten und Programme speichert.
  • Das Speicheruntersystem 30 speichert Daten in den Speicherbereich, der in einer physischen Vorrichtung 34 eingestellt ist. Das Speicheruntersystem 30 umfasst mindestens einen Steuerprozessor, einen Speicher und eine physische Vorrichtung 34 und umfasst genauer eine zentrale Steuereinheit 31 als einen Steuerprozessor, einen Speicher 32, eine Plattenschnittstelle 33, einen HBA (Host Bus Adaptor) 35, der eine FC-Schnittstelle ist, (was ein HBA-Ziel ist, also auch als Adapter bezeichnet) und eine Netzwerkkarte 36, die eine LAN-Schnittstelle ist.
  • Die elektronische Steuereinheit 31, der Speicher 32, der HBA 35, die NIC 36 und die Plattenschnittstelle 33 sind miteinander über einen Bus 37 verbunden. Der Bus ist zum Beispiel ein PCI-EX oder kann aus Schaltern gebildet sein.
  • Die CPU 31 ist eine arithmetische Verarbeitungseinheit, die verschiedene Programme und Module ausführt, die in dem Speicher 32 gespeichert sind. Die CPU (Steuerprozessor) 31 steuert die Speicherung von Daten in einen Speicherbereich, der sich in der physischen Vorrichtung 34 befindet.
  • Der Speicher 32 ist eine sogenannte interne Speichervorrichtung, die sowohl einen nichtflüchtigen Speicher, der in einer CPU (Steuerprozessor) 31 betriebene Programme und Konfigurationsinformationen speichert, und einen flüchtigen Speicher zum vorübergehenden Speichern des Ergebnisses von arithmetischer Verarbeitung umfasst. Der nichtflüchtige Speicher innerhalb des Speichers 32 ist aus Festplatten und Flash-Speichern gebildet. Der Cache-Speicher-Teil in dem Speicher 32 speichert die von der physischen Vorrichtung 34 geschriebenen oder gelesenen Daten vorübergehend. Ein gemeinsam genutzter Speicherabschnitt speichert die Konfigurationsinformation des Speicheruntersystems 30 oder der physischen Vorrichtung 34. Die Plattenschnittstelle 33 sendet und empfängt Daten mit der physischen Vorrichtung 34, dem Speicher 32 und Ähnlichem.
  • Die physische Vorrichtung 34 ist aus einer Vielzahl von Plattenvorrichtungen gebildet. Die Plattenvorrichtungen (Speichervorrichtungen) sind zum Beispiel aus Festplattenlaufwerken gebildet und speichern hauptsächlich Nutzerdaten. Die Speichervorrichtungen können Laufwerke sein, die aus Halbleiterspeichern, wie zum Beispiel Flash-Speichern, gebildet sind.
  • Der HBA 35 ist mit dem Netzwerk 106 verbunden und führt Senden und Empfangen von Befehlen und Daten über Protokolle aus, die für Datenübertragung mit der Block-Client-Vorrichtung 101A (oder dem Host-Computer) geeignet sind. Das Netzwerk 106 kann ein FC (Fibre Channel), ein Internet oder Ähnliches sein.
  • Die NIC 36 ist mit einem Netzwerk 107 verbunden und führt Senden und Empfangen von Befehlen und Daten über Protokolle, wie zum Beispiel NFS und CIFS, mit der Datei-Client-Vorrichtung 101B aus. Das Netzwerk 107 kann ein LAN oder Internet sein.
  • Mehrere Anschlüsse sind für einen einzelnen HBA und eine einzelne NIC bereitgestellt. Die Client-Vorrichtungen 101A und 101B senden und empfangen Daten, die für die Systemverwaltung erforderlich sind (Verwaltungsinformation), über das Verwaltungsnetzwerk 108 mit der Verwaltungsvorrichtung 20.
  • Das Speicheruntersystem 30 ist mit einer Wartungsverwaltungsschnittstelle 39 ausgestattet. Die Schnittstelle 39 ist mit dem Steuerprozessor 31 über ein Netzwerk 38 verbunden, das sich von dem Bus 37 unterscheidet. Das Netzwerk kann zum Beispiel ein LAN sein. Wenn ein Fehler in einem anderen Abschnitt als der CPU in dem Speicheruntersystem 30 auftritt, kann der Fehler der Verwaltungsvorrichtung 20 über die CPU 31 mitgeteilt werden. Das Programm kann nicht nur in dem Speicher 32, sondern auch in der physischen Vorrichtung 34 gespeichert werden.
  • 18 zeigt ein Gesamtkonfigurationsdiagramm von Hardware eines Speichersystems gemäß einer anderen Ausführungsform der vorliegenden Erfindung. Gemäß dieser anderen Ausführungsform sind zwei Steuereinrichtungsplatten 41 in dem Speicheruntersystem 30 angeordnet. Ein auf der Steuereinrichtungsplatte 41A montierter Steuerprozessor 31A ist mit einem auf der Steuereinrichtungsplatte 41B montierten Steuerprozessor 31B über eine Leitung 42 verbunden. Die Leitung 42 kann ein Verbindungsmechanismus, wie zum Beispiel ein zugeordneter Bus oder Schalter, sein. Zum Beispiel kann der Steuerprozessor 31A über den Steuerprozessor 31B unter Verwendung dieser Leitung 42 auf einen Gegenspeicher 32B zugreifen. Ein Cluster 50 umfasst die Steuereinrichtungsplatte 41, den HBA 35, der die Host-Seiten-Schnittstelle ist, die NIC 36, die Plattenschnittstelle 33 und die NIC 39, die eine Wartungsverwaltungsschnittstelle ist. Eine normale Cluster-Server-Konfiguration ist mittels eines Betriebssystems, das in einem anderen Hypervisor als der Blockspeicher-Mikrosteuereinrichtung in dem Cluster 50A betrieben wird, und eines anderen in dem Hypervisor betriebenen Betriebssystems als der Blockspeicher-Mikrosteuereinrichtung im Cluster 50B gebildet. Zum Beispiel bildet im Falle eines Dateien-Betriebssystems, das ein Betriebssystem ist, das ein Dateisystem verwendet, ein gewisses Dateien-Betriebssystem des Clusters 50A und ein gewisses Dateien-Betriebssystem des Clusters 50B im Voraus eine Cluster-Konfiguration, wobei ein Dateien-Betriebssystem in dem primären Cluster 50A und ein Dateien-Betriebssystem in dem sekundären Cluster 50B über eine Einrichtung, wie zum Beispiel Heartbeat, konstant bestätigen, ob das andere Dateien-Betriebssystem innerhalb von gewissen Zeiteinheiten normal arbeitet. Wenn das Dateien-Betriebssystem in dem sekundären Cluster 50B detektiert, dass ein Fehler in dem Dateisystem auf der primären Cluster 50A Seite aufgetreten ist, bestimmt das Cluster 50B, dass das Dateien-Betriebssystem eines gesamten Clusters 50A fehlerhaft ist, und übernimmt das Dateien-Betriebssystem des Clusters 50B den Prozess des Dateien-Betriebssystems das Clusters 50A, um den Betrieb weiterzuführen, wodurch eine Ausfallssicherung realisiert wird. Durch Übernahme einer solchen Konfiguration kann die Zuverlässigkeit des Gesamtsystems verbessert werden. Eine Blockspeicher-Mikrosteuereinrichtung 314 wird gespreizt als Cluster 50A und Cluster 50B einer einzelnen gemeinsamen Steuereinrichtung betrieben. Mit anderen Worten arbeiten der Prozessor von Cluster 50A und der Prozessor von Cluster 50B durch Bezugnahme auf eine einzige Steuerinformation. Gemäß einer anderen Variante ist die Leitung 42 in der Lage, Kommunikation nur zwischen Blockspeicher-Mikrosteuereinrichtungen 314 in Steuerprozessoren 31A und 31B zu realisieren, wobei der Speicher 31A, der von der Blockspeicher-Mikrosteuereinrichtung 314A verwendet wird, und der Speicher 32B, der von der Blockspeicher-Mikrosteuereinrichtung 314B verwendet wird, von Blockspeicher-Mikrosteuereinrichtungen 314A und 314B gemeinsam genutzt wird und die Inhalte der Speicher 31A und 31B die gleichen sein können.
  • 4 zeigt ein Beispiel einer Variante der Gesamtkonfiguration des Unified-Storage-Systems. Zum Beispiel kann ein externes Speichersystem mit dem Unified-Storage-System gekoppelt sein (4A). Das Unified-Storage-System 30A hat eine externe Verbindungsfunktion. Das zweite Speicheruntersystem 30B kann extern mit dem Unified-Storage-System 30A über diese Funktion verbunden sein. Die externe Verbindungsfunktion ist in dem japanischen Patent mit der Nummer 4704659 offenbart.
  • Jetzt wird die externe Verbindungsfunktion beschrieben. Das zweite Speicheruntersystem 30B kann das gleiche oder ein anderes sein als das Unified-Storage-System 30A. Darüber hinaus entspricht das Unified-Storage-System 30A dem in 3 gezeigten Speicheruntersystem 30.
  • Wie bereits beschrieben, stellt das Unified-Storage-System 30A dem Server einen oder mehrere logische Datenträger bereit. Jeder logische Datenträger wird als eine einzelne Speichervorrichtung von dem Server erkannt. Zum Beispiel ist der von dem Unified-Storage-System 30A bereitgestellte logische Datenträger der physischen Vorrichtung 34 (oder der aus der physischen Vorrichtung 34 geschaffenen virtuellen Vorrichtung) in dem Unified-Storage-System 30A zugeordnet. In diesem Fall werden Daten, wenn das Unified-Storage-System 30A einen Schreibbefehl in den logischen Datenträger empfängt, in der physischen Vorrichtung 34 gespeichert, die dem logischen Datenträger zugeordnet ist.
  • Ferner kann der von dem Unified-Storage-System 30A bereitgestellte logische Datenträger der physischen Vorrichtung 34B in dem zweiten Speicheruntersystem 30B zugeordnet sein. In diesem Fall wird, wenn das Unified-Storage-System 30A einen Schreibbefehl in den logischen Datenträger empfängt, ein Schreibbefehl zum Schreiben von Daten in die physische Vorrichtung 34B erzeugt, die dem logischen Datenträger zugeordnet ist. Das Unified-Storage-System 30A sendet den erzeugten Schreibbefehl an das zweite Speicheruntersystem 30B. Das zweite Speicheruntersystem 30B speichert die Daten in der physischen Vorrichtung 34B auf der Grundlage des von dem Unified-Storage-Systems 30A empfangenen Befehls.
  • Wie beschrieben, wird die Funktion zum Speichern der in dem von dem Unified-Storage-System 30A bereitgestellten logischen Datenträger gespeicherten Daten eigentlich in dem zweiten Speicheruntersystem 30B, das außerhalb des Unified-Storage-Untersystems 30A verbunden ist, als externe Verbindungsfunktion bezeichnet.
  • Ferner kann das Unified-Storage-System 30A mit einem SAN oder einem anderen externen Netzwerk verbunden sein. 4B zeigt ein Beispiel, in dem das Unified-Storage-Untersystem 30A extern mit dem dritten Speichersystem 30C über ein SAN verbunden ist.
  • 5 zeigt eine Bildansicht einer Hardware und einer Software zum Beschreiben des Betriebs des Speichersystems. Zur Vereinfachung sind nur die für die Beschreibung der Hardwarekonfiguration aus 3 notwendigen Abschnitte gezeigt. Die jeweiligen Betriebssysteme und die Blockspeicher-Mikrosteuereinheit arbeiten innerhalb eines Kerns einer CPU als Steuerprozessor. Eigentlich ist das Betriebssystem ein Programm, das in einem Speicher gespeichert ist, und wird das Programm von der CPU gelesen und darin betrieben, aber zur Beschreibung wird jedes Betriebssystem als in einem Kern angeordnet dargestellt. Normalerweise befindet sich eine Vielzahl von Kernen in dem Paket einer einzelnen CPU, und um Redundanz zum Ansprechen auf Fehler oder Ähnliches zu schaffen, wird die Anzahl der Pakete in Einheiten von zwei erhöht oder verringert. Mit anderen Worten ist die Anzahl der Pakete in einer Minimalkonfiguration zwei. Als ein Beispiel für die Verwendung des Prozessorkerns können die gleichen Typen von Betriebssystem in einem einzelnen Paket konzentriert sein oder kann das Betriebssystem verteilt sein, um eine Unterteilung in physische Pakete zu ermöglichen. Die Auslegung kann durch Berücksichtigung der Frage, ob die Leistungsfähigkeit, die Verfügbarkeit oder Ähnliches Priorität haben soll, durchgeführt werden.
  • Da der Hypervisor auch eine Software ist, ist er in einem Speicher gespeichert. Da der Hypervisor in jedem Betriebssystem betrieben wird, entspricht er nicht jedem Kern, so dass er andere Betriebssysteme als die Blockspeicher-Mikrosteuereinrichtung speichert. In 5 befinden sich eine Vielzahl von Kernen in einem gewissen Steuerprozessor 31 oder Paket und sind jedem Kern ein Dateien-Betriebssystem 311A, ein Suchsystem 312, ein Windows 315 und Blockspeicher-Mikrosteuereinrichtungen 314A und 314B zugeordnet.
  • Der Hypervisor 313 ist an jedem der Dateien-Betriebssysteme 311A, dem Suchsystem 312 und Windows 315 angebracht. In dem Hypervisor 313 werden die Dateien-Betriebssysteme 311A, das Suchsystem 312 und Windows 315 betrieben. In einigen Fällen sind andere Dateien-Betriebssysteme 311B und andere Systeme 313 in einem anderen Steuerprozessor angeordnet. In diesem Fall können die Dateien-Betriebssysteme 311B und die anderen Betriebssysteme 313 in dem Hypervisor 313 oder in einem anderen Hypervisor 313B betrieben werden. Hier bezieht sich Dateien-Betriebssystem auf das Betriebssystem, das das Dateisystem verwendet. Der Hypervisor kann auch in einem spezifischen Kern betrieben werden.
  • Speicher mit unterschiedlichen Eigenschaften, wie zum Beispiel nicht flüchtige Speicher und flüchtige Speicher, können in einer Mischung als Speicher vorhanden sein. In jedem Fall sind die Speicher dupliziert, um Redundanz aufrechtzuhalten. Speicher umfassen Konfigurationsinformation des Speicheruntersystems, Steuerinformation, wie zum Beispiel Anforderungsbefehle und Adressenabbildungsinformation, und Cache-Speicher-artige Elemente zum Speichern von Lese- und Schreibdaten.
  • Der Speicher zum Speichern der Steuerinformation (oder Konfigurationsinformation) und der mit einem Cache-Speicher-artigen Zweck verwendete Speicher zum Speichern von Daten sollte die zu verwendenden Bereiche entweder logisch oder physisch unterteilt haben. Die Speicher können verschiedene Typen von Speichern umfassen, wie zum Beispiel nichtflüchtige Speicher und flüchtige Speicher. Die Speicher, die Steuerinformation speichern, und die Speicher, die für Cache-Speicher-artige Zwecke verwendet werden, sollten die zu verwendenden Bereiche für jede Blockspeicher-Mikrosteuereinrichtung, das Dateien-Betriebssystem und andere Betriebssysteme, die den Speicher verwenden, logisch oder physisch unterteilt haben.
  • 5 zeigt ein Zuweisungsbeispiel des Speichers 32. Der Speicher 32 ist ein physisch unterteilter Speicher, der aus einem Speicher 321 zum Speichern von Steuerinformation und einem Speicher 322 zum Speichern von Daten gebildet ist. Die Speicher 321 und 322 werden durch Unterteilung nach Adressenbereichen, die jedem verwendeten Betriebssystem entsprechen, verwendet. Jedes Betriebssystem kann nur den ihm zugewiesenen Speicherplatz erkennen. Zum Beispiel erkennt das Dateien-Betriebssystem 311A nur den Platz des Dateien-Betriebssystems 3211A und des Dateien-Betriebssystems 3221A und verwendet deren Plätze. Ein Dateien-Betriebssystem-Programm ist in dem Dateien-Betriebssystem 3211A und dem Dateien-Betriebssystem 3211A gespeichert.
  • Die Blockspeicher-Mikrosteuereinrichtung 3214 des Speichers 321 speichert die verschiedenen Programme, die über den Prozessor 31 gelesen und ausgeführt werden, eine Konfigurationsinformation, die in Verbindung mit der Einstellung des logischen Datenträgers steht, und Pool-Information, die in Verbindung mit der Einstellung des Pools steht. Übertragungsdaten und Ähnliches werden in der Blockspeicher-Mikrosteuereinrichtung 3224 des Speichers 322 gespeichert.
  • Die verschiedenen über den Steuerprozessor 31 gelesenen und ausgeführten Programme umfassen die folgenden. Ein Befehlssteuerprogramm interpretiert den Befehl von der Client-Vorrichtung 101 oder der Verwaltungsvorrichtung 20 und führt den in dem Befehl festgelegten Prozess aus. Ein Konfigurationssteuerprogramm setzt Prozesse, wie zum Beispiel das Einstellen der Konfiguration des Speicheruntersystems 30 oder eine Aktualisierung davon, um. Ein Platten-Eingabe/Ausgabe-Programm steuert die Zugriffe auf die physische Vorrichtung 34.
  • Konfigurationsinformation ist Information, die für die Einstellung der Umgebungen des Speichersystems, wie zum Beispiel virtuelle Vorrichtungen, logische Vorrichtungen, Schichten und RAD-Gruppen, erforderlich ist. Ferner werden eine Adressenverwaltungstabelle und eine Verwaltungstabelle für die logische Vorrichtung als Konfigurationsinformation gespeichert.
  • Die Adressenverwaltungstabelle umfasst Adressabbildungsinformationen von Zielvorrichtungen, logischen Vorrichtungen, virtuellen Vorrichtungen und physischen Vorrichtungen, Abbildungsinformationen der Zielvorrichtungen und logischen Vorrichtungen, Abbildungsinformationen von logischen Vorrichtungen und virtuellen Vorrichtungen und Abbildungsinformationen von virtuellen Vorrichtungen und physischen Vorrichtungen.
  • Das Speicheruntersystem 30 kann durch Bezugnahme auf die Adressen-Verwaltungstabelle erkennen, welche Adresse einer logischen Vorrichtung der Adresse der Zielvorrichtung entspricht. Ferner kann das Speicheruntersystem 30 erkennen, welche Adresse einer virtuellen Vorrichtung der Adresse der logischen Vorrichtung entspricht. Darüber hinaus kann das Speicheruntersystem 30 erkennen, zu welcher RAID-Gruppe die Adresse der virtuellen Vorrichtung gehört, und welcher Adresse welcher physischen Vorrichtung die virtuelle Vorrichtung entspricht.
  • Ob die Daten an einer gewissen physischen Stelle gespeichert werden oder über die Kapazitätsvirtualisierungsfunktion gespeichert werden, wird durch die Steuerung des Blockspeichers bestimmt. Wenn die Festplatte der Blockspeicherseite verwendet wird, kann der Speicherort durch Unterscheiden, ob die Festplatte eine Eingabe/Ausgabe eines Dateien-Betriebssystems oder eines Blocks ist, bestimmt werden.
  • 6 zeigt einen Überblick über den Ablauf des Prozesses, wenn eine Eingabe/Ausgabe in die Blockspeicherseite empfangen wird. Der Prozess wird mit Bezugnahme auf das Ablaufdiagramm aus 15 beschrieben. Eine Block-Client-Vorrichtung 101A gibt einen Schreibbefehl an P#1 aus, der ein #0 Anschluss von HBA 35 ist (S610). Die folgenden Prozesse werden über eine Blockspeicher-Mikrosteuereinrichtungseinheit 314B innerhalb des Steuerprozessors 31 (ein einzelner Kern in der Prozessorplatte) ausgeführt. Andere Betriebssysteme als das Blockspeicherbetriebssystem, wie zum Beispiel das Dateien-Betriebssystem, sind auch in dem Steuerprozessor 31 angeordnet, stehen jedoch nicht in Verbindung mit der Ausführung. Die Blockspeicher-Mikrosteuereinrichtung erkennt den Typ von Befehl. Wenn der Befehl ein Schreibbefehl ist, fährt der Prozess mit S612 fort, und wenn der Befehl ein Lesebefehl ist, fährt der Prozess mit S642 fort (S611).
  • Wenn die vorstehend erwähnte Anforderung in dem Pufferbereich des HBA 35 gespeichert wird, wandelt die Blockspeicher-Mikrosteuereinrichtung die von der Schreibanforderung betroffenen Daten in die zu speichernden Adresse, d. h. in einen Befehl in einer Form, die von dem Blockspeicher verarbeitet werden kann, um. Hier wird der Blockspeicher in die LU umgewandelt und die Adressennummer dem Server bereitgestellt (612S). Die Blockspeicher-Mikrosteuereinrichtung speichert den umgewandelten Befehl in ihrem eigenen Speicherbereich (S6114). Während des Speicherns werden die Daten auch redundant verarbeitet, wie zum Beispiel durch Duplexverarbeitung.
  • Das Befehlssteuerprogramm führt eine Umwandlung der Adresse LU – logische Vorrichtung – virtuelle Vorrichtung aus (S616). Danach wird eine Trefferverfehlungsbestimmung ausgeführt, ob die Schreibzieladresse in einem Cache-Speicher zugewiesen ist oder nicht (S617). Wenn Trefferverfehlung bestimmt wird (wenn der Cache-Speicher nicht der Schreibzieladresse zugewiesen ist) (S6117: Nein), weist das Befehlssteuerprogramm einen Cache-Speicherbereich zum Speichern der Schreibdaten zu (S618).
  • Als Nächstes berichtet das Befehlssteuerprogramm der Block-Client-Vorrichtung 101A, dass die Datenempfangsvorbereitung eingestellt ist (S620). Wenn das Befehlssteuerprogramm die Übertragungsdaten von der Block-Client-Vorrichtung 101A empfängt, speichert das Programm die Daten in einem zugewiesenen Cache-Speicher (S624) und sendet einen kompletten Schreibbericht an die Block-Client-Vorrichtung 101A (S626).
  • Die Blockspeicher-Mikrosteuereinrichtung speichert eine Anforderung in einer Prozess-Standby-Warteschlange (S630). Die Blockspeicher-Mikrosteuereinrichtung extrahiert eine Anforderung sequenziell aus der Prozess-Standby-Warteschlange und führt die Verarbeitung in der gleichen Reihenfolge aus. Dies ist der gleiche Ablauf wie die Verarbeitung von Blockspeicherdaten gemäß dem Stand der Technik. In anderen Worten führt das Befehlssteuerprogramm eine Umwandlung der Adresse virtuelle Vorrichtung – physische Vorrichtung/externe LU aus, berechnet die Adresse der Medien, die die Schreibzieldaten speichern, (S634) und schreibt die in dem Cache-Speicher gespeicherten Daten in die Medienadresse (S636).
  • Ein Speicher 3214B speichert eine Eingabe/Ausgabe-Warteschlange zum Einreihen in die Warteschlange, um die Anforderungsbefehle sequenziell zu verarbeiten. Ein Speicher 3224B speichert einen Cache-Speicher zum Speichern von Daten, einen Puffer für CPU-Betrieb und so weiter.
  • Leseverarbeitung wird auf eine ähnliche Weise ausgeführt. Ein Ablaufdiagramm des Prozesses ist in 16 gezeigt. Der Prozess ist der gleiche wie der Schreibprozess, bis der Befehl empfangen wird. Die Block-Client-Vorrichtung 101A gibt eine Leseanforderung aus. Die Prozesse von S644 bis S648 sind die gleichen wie die vorstehend beschriebenen Prozesse S612 bis S616. Das Befehlssteuerprogramm führt eine Umwandlung der Adresse LU – logische Vorrichtung – virtuelle Vorrichtung aus und führt eine Trefferverfehlungsbestimmung aus, ob die Daten der Lesezieladresse in einem Cache-Speicher vorhanden sind oder nicht (S6150).
  • Wenn die Daten der Lesezieladresse in einem Cache sind (S650: Ja), sendet das Befehlssteuerprogramm die Daten in dem Cache an die Block-Client-Vorrichtung 101A (S660) und benachrichtigt die Block-Client-Vorrichtung 101A von der Fertigstellung (S662).
  • Wenn die Daten der Lesezieladresse nicht in dem Cache sind (S650: Nein), führt das Befehlssteuerprogramm eine Umwandlung der Adresse virtuelle Vorrichtung – physische Vorrichtung/externe LU aus (S652), berechnet die Adresse der Medien, die die Lesezieldaten speichern (S654) und startet ein Medienzugriffsprogramm.
  • Das Medienzugriffsprogramm liest Daten aus der berechneten Medienadresse, speichert sie in dem Cache (S656) und benachrichtigt das Befehlssteuerprogramm darüber, dass Daten im Cache-Speicher gespeichert wurden (S658). Wenn eine Benachrichtigung von dem Medienzugriffsprogramm empfangen wird, überträgt das Befehlssteuerprogramm die Daten in dem Cache an die Block-Client-Vorrichtung 101A (S660) und teilt die Fertigstellung mit (S662).
  • Wie oben beschrieben, durchläuft die Verarbeitung der Eingabe/Ausgabe in die Blockspeicherseite keinen Hypervisor. Somit wird der Overhead, der durch das Durchlaufen eines Hypervisors entsteht, entfernt und wird die Verschlechterung der Leistungsfähigkeit verringert.
  • Als ein Beispiel der Eingabe/Ausgabe, die nicht an den Blockspeicher gerichtet ist, zeigt 7 einen Ablauf des Prozesses, wenn das Dateien-Betriebssystem eine Eingabe/Ausgabe empfängt, was mit Bezugnahme auf das Ablaufdiagramm in 19 beschrieben wird. Eine Datei-Client-Vorrichtung 101B sendet eine Schreibanforderung an einen Anschluss (S710). In der Zeichnung wird die Anforderung an den Anschluss P#2 von #0 der NIC 36 gesendet. Das Dateien-Betriebssystem 311A erkennt den Typ des Befehls. Wenn der Befehl ein Schreibbefehl ist, fährt der Prozess mit S712 fort, und wenn der Befehl ein Lesebefehl ist, fährt der Prozess mit S712 fort (S711). Die Form der Anforderung umfasst eine Schreibanforderung an ein Dateisystem oder eine Anforderung in Form einer Verzeichnisinformation.
  • Anschluss P#2 von #0 der NIC 36 überträgt die Anforderung an das zugeordnete Betriebssystem (S712). In 7 speichert das Dateien-Betriebssystem 311A die Schreibanforderung in einem Speicher, der ausschließlich von dem Dateien-Betriebssystem verwendet wird. Ein Pufferbereich zum Speichern der Schreibdaten wird von dem Dateien-Betriebssystembereich des Speichers 322 zugewiesen (S714). Wenn der Bereich zugewiesen wird, wird ein Bericht über die Zuweisung an die Datei-Client-Vorrichtung 101B gesendet (S716). Die Datei-Client-Vorrichtung 101B überträgt nach Empfang des Berichts die Schreibdaten an das Dateien-Betriebssystem (S718).
  • Wenn der Hypervisor virtuell den HBA bereitstellt und die Anforderung in dem virtuellen HBA speichert, wandelt das Dateien-Betriebssystem den Anforderungsbefehl in LU-Nummer und -Adresse um (S720). Die Anforderung wird in dem Speicher in der umgewandelten Form gespeichert. Jetzt ist der virtuelle HBA zum Beispiel eine Software, die innerhalb des Steuerspeichers des Dateien-Betriebssystems vorgesehen ist. Der Speicher, der die Anforderung speichert, wird zum Beispiel als ein gemeinsam genutzter Bereich der Blockspeicher-Mikrosteuereinrichtung und dem Dateien-Betriebssystem definiert und als ein Speicherbereich eingestellt, auf den sowohl die Blockspeicher-Mikrosteuereinrichtung und als auch das Dateien-Betriebssystem zugreifen können. Dadurch kann die Blockspeicher-Mikrosteuereinrichtung den gespeicherten Anforderungsbefehl direkt lesen und den Prozess starten. Gemäß einem anderen Verfahren hat das System keinen gemein gemeinsam genutzten Bereich und kopiert das Dateien-Betriebssystem die Anforderung von dem Dateien-Betriebssystems-Bereich in dem Blockspeicher-Mikrosteuereinrichtungs-Bereich oder wechselt die Speicherbereiche der Blockspeicher-Mikrosteuereinrichtung und des Dateien-Betriebssystems.
  • Um die Blockspeicher-Mikrosteuereinrichtungs-Seite darüber zu benachrichtigen, dass die Anforderung an die Dateien-Betriebssystem-Seite in einem gemeinsam genutzten Bereich gespeichert wurde, wird entweder eine Unterbrechung von der Dateien-Betriebssystem-Seite an die Blockspeicher-Mikrosteuereinheit geschickt oder überprüft die Blockspeicher-Mikrosteuereinheit die Anforderungswarteschlange in vorgegebenen Intervallen und wählt eine Anforderung aus und führt Prozesse durch, wenn ein Prozess-Standby-Befehl existiert (S722).
  • In dem folgenden Prozess wird Adressenumwandlung auf ähnliche Weise wie der Prozess von S616 und danach über die Blockspeicher-Mikrosteuereinrichtung (S724) ausgeführt, um eine Trefferverfehlungsbestimmung auszuführen (S726). Wenn ein Cache zugewiesen ist, wird ein Bericht an die Dateien-Betriebssystem-Seite geschickt, um Daten zu übertragen (S730), durch den Daten von dem Dateien-Betriebssystem an die Blockspeicherseite übertragen werden (S732), wobei die Daten in dem Cache auf der Blockspeicher-Mikrosteuereinrichtungs-Seite gespeichert werden (S734).
  • Eigentlich wird die Datenübertragung durch einen Kopiervorgang von Daten zwischen Speichern von einer Speicheradresse, die von dem Dateien-Betriebssystem verwendet wird, der Daten speichert, in eine Speicheradresse, die von den Blockspeicher verwendet wird, ausgeführt. In einem anderen Beispiel werden die Adressen eines Speicherbereichs, der die zu verwaltenden Daten speichert, und eines Speicherbereichs des Kopierziels Blockspeicher-Mikrosteuereinrichtungs-Seite umgewandelt. Wenn die Adressen der physischen Datenspeicher der Kopierquelle und des Kopierziels die gleichen sind, findet möglicherweise kein wesentlicher Datenkopierprozess statt. In diesem Fall führt das Programm in dem Hypervisor einen Prozess aus, um anzunehmen, dass die Daten in einem anderen Bereich gespeichert werden und in diesen kopiert werden.
  • Wenn der Cache-Speicher der Blockspeicherseite zugewiesen und vorbereitet ist, wird eine Mitteilung an die Dateien-Betriebssystem-Seite geschickt, um die Datenübertragung zu starten. Es wird entweder eine Unterbrechung von der Blockspeicher-Mikrosteuereinrichtung an das Dateien-Betriebssystem gesendet oder eine Nachricht übertragen. Die Dateien-Betriebssystem-Seite kopiert nach Empfang der Anforderung die Daten in den Blockseitenspeicher, wenn die Daten in dessen eigenem Speicherbereich gespeichert sind, und falls nicht, lässt er die Schreibdaten von der Datei-Client-Vorrichtung dahin übertragen.
  • Wenn Schreibdaten in dem Cache der Blockspeicher-Mikrosteuereinrichtungs-Seite gespeichert sind, wird ein Fertigstellungsbericht an die Dateien-Betriebssystem-Seite geschickt (S736). Das Dateien-Betriebssystem empfängt einen Fertigstellungsbericht von der Blockspeicher-Mikrosteuereinrichtungs-Seite und benachrichtigt die Datei-Client-Vorrichtung von der Fertigstellung des Schreibvorgangs (S737). Die Prozesse von S738 und danach sind somit den Prozessen von Schritten S630 und danach aus 15 ähnlich.
  • Die Leserverarbeitung wird auf ähnliche Weise ausgeführt. 20 zeigt ein Ablaufdiagramm davon. Die Schritte bis zum Befehlsempfang sind ähnlich wie bei der Schreibverarbeitung. Die Datei-Client-Vorrichtung 101B gibt eine Leseanforderung aus. Die Prozesse von S754 bis S764 sind die gleichen wie die Prozesse von S712 bis S724. Das Befehlssteuerprogramm führt eine Umwandlung der Adresse LU-logische Vorrichtung/virtuelle Vorrichtung aus (S764) und führt eine Trefferverfehlungsbestimmung aus, ob die Daten der Lesezieladresse in dem Cache-Speicher gespeichert sind oder nicht (S766).
  • Wenn die Daten der Lesezieladresse in dem Cache gespeichert sind (S766: Ja), überträgt das Befehlssteuerprogramm die Daten in dem Cache an das Dateien-Betriebssystem (S776) und benachrichtigt das Dateien-Betriebssystem über die Fertigstellung (S780).
  • Wenn die Daten der Lesezieladresse sich nicht in dem Cache befinden (S766: Nein), führt das Befehlssteuerprogramm eine Umwandlung der Adresse virtuelle Vorrichtung – physische Vorrichtung/externe LU aus, berechnet die Adresse der Medien, die die Lesezieldaten speichern, (S770) und startet ein Medienzugriffsprogramm.
  • Das Medienzugriffsprogramm liest Daten von der Adresse der berechneten Medien und speichert sie in dem Cache (S772) und benachrichtigt das Befehlssteuerprogramm darüber, dass die Daten in dem Cache gespeichert wurden (S774). Wenn das Befehlssteuerprogramm die Benachrichtigung von dem Medienzugriffsprogramm empfängt, überträgt es die Daten in dem Cache an das Dateien-Betriebssystem (S776) und gibt einen Fertigstellungsbericht aus (S780).
  • Die Übertragung der Daten an die Dateien-Betriebssystem-Seite wird eigentlich über einen Kopiervorgang zwischen Speichen ausgeführt. Dieser Prozess ist ähnlich dem während der Schreibverarbeitung ausgeführten. Das Dateien-Betriebssystem erkennt, dass Daten übertragen wurden, d. h., Daten in seinem eigenen Bereich gespeichert wurden, oder dass die Daten in einem gemeinsam genutzten Bereich des Speichers gespeichert wurden (mittels eines ähnlichen Verfahrens wie die Schreibverarbeitung) (S778). Das Dateien-Betriebssystem überträgt Daten an die Datei-Client-Vorrichtung 101B (S782).
  • Als eine andere Ausführungsform ist ein Cache-Speicher nicht nur auf der Blockspeicher-Mikrosteuereinrichtungs-Seite, sondern auch auf der Dateien-Betriebssystem-Seite angeordnet. In diesem Fall wird die Cache-Trefferverfehlungsbestimmung auch in der Dateien-Betriebssystem-Seite ausgeführt. Wenn Daten bereits in der Dateien-Betriebssystem-Cache-Seite existieren, werden Daten übertragen, wie es während einer Leseanforderung geschieht, und der Prozess kann fertiggestellt werden. Im Fall einer Schreibanforderung kann der Prozess zu dem Zeitpunkt fertig gestellt werden, wenn Schreibdaten in dem Cache auf der Dateien-Betriebssystem-Seite gespeichert werden, oder kann zu dem Zeitpunkt fertig gestellt werden, wenn Schreibdaten in der Blockspeicher-Mikrosteuereinrichtungs-Seite gespeichert werden.
  • In dem Prozess aus 6 und 7 kann die Anforderungswarteschlange, die von der Blockspeicher-Mikrosteuereinrichtung verarbeitet wird, vorgesehen sein. Die in S614 gespeicherte Anforderung kann in die Warteschlange in dem gemeinsam genutzten Bereich 3220 eingegeben werden. Ferner kann nach dem vorübergehenden Speichern der Anforderung in den gemeinsam genutzten Bereich 3220 in S738 die Anforderung in die Anforderungswarteschlange in der Blockspeicher-Mikrosteuereinrichtung 3214A eingegeben werden.
  • In einem normalen Dateien-Betriebssystem ist der HBA in einer Hardware erhalten, wird in einen SCS Befehl umgewandelt und wird darauf über die FCI/F und SAN zu der Speicheruntersystemseite zugegriffen. Wie beschrieben, wird gemäß einer Konfiguration mit integriertem Speichersystem ein teurer HBA überflüssig und wird eine direkte Verbindung mit der Konfiguration realisiert, so dass die Kosten reduziert werden können und die Leistungsfähigkeit verbessert werden kann, da keine Notwendigkeit besteht, ein SAN dazwischen bereitzustellen.
  • 8 zeigt ein Beispiel einer Hardware-Ressourcen-Verwaltungstabelle. Auf der Grundlage dieser Informationen ist es möglich, zu erkennen, welche Hardware betrieben wird oder aufgrund eines Fehlers geschlossen wird, sowie welches Betriebssystem oder welcher Blockspeicher die Hardware verwendet.
  • 8A zeigt eine Hardware-Ressourcen-Verwaltungsinformation 801A, die die Blockspeicher-Mikrosteuereinrichtung speichert. Diese Information bezieht sich auf die komplette Hardware-Ressource, die in dem Speicheruntersystem 30 angeordnet ist. Die Tabelle speichert einen Ressourcennamen 802A, der die CPU-Nummer speichert, eine Kernnummer 803A für jede CPU und Information 804A darüber, ob sie in der Blockspeicherseite definiert ist.
  • In 804A wird „definiert” für die Ressource gespeichert, die von dem Blockspeicher verwendet wird, und „undefiniert” für die Ressource gespeichert, die nicht davon verwendet wird. CPU1 und CPU2 speichern „definiert”, da sie von dem Blockspeicher verwendet werden. CPU3 speichert „undefiniert”, da sie nicht von der Blockspeicher-Mikrosteuereinrichtung zugewiesen ist, und erkennt, dass sie von einem anderen Betriebssystem als der Blockspeicher-Mikrosteuereinrichtung verwendet wird. Normalerweise wird Information gespeichert, die anzeigt, dass sie undefiniert ist, aber als eine Variante ist es möglich, die von dem Hypervisor verwendete Hardware-Information von einem anderen System als der Blockspeicher-Mikrosteuereinrichtung (wie zum Beispiel einem Hypervisor, einem Verwaltungsserver oder einer anderen Vorrichtung) zu empfangen und den eigentlichen Ressourcenzuweisungszustand darin einzugeben.
  • In 812A wird der Ressourcenname des Speichers gespeichert und in 813A wird die Adresse des Speicherorts gespeichert. Ob die Blockspeicher-Mikrosteuereinrichtungs-Seite jede Adresse zugewiesen hat oder nicht, wird in 814A gespeichert. Die Adresse 1001 und darauffolgende werden mit einem anderen Betriebssystem gemeinsam genutzt. Zum Beispiel wird während der mit Bezugnahme auf 7 beschriebenen Lese/Schreib-Anforderungsverarbeitung der Anforderungsbefehl mit dem Ziel Dateien-Betriebssystem oder andere Systeme als die Blockspeicher-Mikrosteuereinrichtung umgewandelt. Jetzt ist die oben beschriebene Adresse die Adresse, die den umgewandelten Befehl speichert, wenn der Prozess der Blockspeicher-Mikrosteuereinrichtung zugewiesen ist, wobei die Adresse der Bereich ist, auf den sowohl die Dateien-Betriebssystem-Seite, die den Befehl umwandelt, als auch die Blockspeicher-Mikrosteuereinrichtung, die sich auf den Befehl bezieht und Verarbeitung ausführt, zugegriffen werden. Die Information von 814A verwaltet nicht, ob die Information gemeinsam genutzt wird, und verwaltet, ob der Blockspeicher verwendet werden kann oder nicht.
  • Eine ähnliche Verwaltung wird für andere Hardware-Ressourcen, wie zum Beispiel Anschlüsse und Festplatten ausgeführt. Im Fall von Anschlüssen gibt es zum Beispiel FC-Anschlüsse und Ethernet, deren Nummern entsprechend verwaltet werden.
  • Die Tabelle, die nur Information über die Ressourcen speichert, die in dem Blockspeicher definiert sind, wird auf der Grundlage der Verwaltungsinformation der gesamten Hardware aus Tabelle 801A erstellt. Beispiele für solche Tabellen sind Tabellen 821A und 831A, die in 8A dargestellt sind. Tabelle 821A zeigt die Information der CPU, die der Blockspeicher verwendet, wobei CPU1 und CPU2 CPU sind, die von dem Blockspeicher verwendet werden, sowie auch den Zustand der Verwendung derselben während der Verwendung. Der Verwendungszustand 823A speichert Informationen wie zum Beispiel während der Verwendung oder während des Abbruchs aufgrund eines Fehlers. Auf Tabelle 801A beziehen sich sowohl die Blockspeicher-Mikrosteuereinrichtung als auch der Hypervisor, so dass die Tabelle in einem Speicherbereich gespeichert wird, der von beiden Elementen einsehbar ist.
  • 8 zeigt die Hardware-Ressourcen-Verwaltungsinformation, die der Hypervisor speichert. Hardware-Ressourcen-Verwaltungsinformation 801B und 811B sind Informationen, die der Hypervisor hat, und werden in einem von dem Hypervisor verwendeten Speicherbereich gespeichert. Auf die Tabelle 801A, die die Verwaltungsinformation der gesamten Hardware speichert, die die Blockspeicher-Mikrosteuereinrichtung hat, wird Bezug genommen und nur diejenigen mit dem undefinierten Verwendungszustand werden in die Tabellen 801B und 811B eingegeben (Anschlüsse sind nicht dargestellt und HDD sind nicht enthalten, da sie nicht verwendet werden). Zuerst wird gespeichert, ob diese Ressource bereits verwendet wird oder nicht (mit anderen Worten, ob die Ressource bereits in der Blockspeicher-Mikrosteuereinrichtungs-Seite zugewiesen ist oder nicht) und danach wird das Ergebnis der Unterteilung der Ressource und der Zuweisung zu dem Dateien-Betriebssystem oder anderen Betriebssystemen gespeichert. Der Hypervisor verwaltet die Nutzer der entsprechenden Ressourcen.
  • Die Adressen 1001 bis 2000 in dem Speicher sind gemeinsam mit dem Blockspeicher genutzte Bereiche, sind jedoch als der Hypervisor Bereich eingestellt. Der Hypervisor virtualisiert Hardware-Ressourcen und legt sie dem Dateien-Betriebssystem oder Ähnlichem dar, so dass, wie in 821B gezeigt, eine physische einzelne CPU3 als eine Vielzahl von CPU, VCPU1 bis VCPU4 virtualisiert wird, wobei jede der Vielzahl von CPU dem in dem Hypervisor gespeicherten Betriebssystem zugewiesen wird. Aus diesem Grund ist es, wenn ein später beschriebener Fehler auftritt und dieser Fehler detektiert wird, notwendig, das Ausmaß des Einflusses des Fehlers auf das Betriebssystem zu untersuchen und eine Fehlerverarbeitung auszuführen, wenn ein physischer Fehler auftritt.
  • Eine Hardware-Ressourcen-Verwendungsinformation 801C aus 8C ist die Information, die die entsprechenden anderen Betriebssysteme als den Blockspeicher haben, und es wird nur die Ressourcen-Information, die intern verwendet werden kann, gespeichert. Da der bereits beschriebene Bereich, der mit der Blockspeicher-Mikrosteuereinrichtung gemeinsam genutzt werden kann, auch intern genutzt werden kann, wird der Verwendungszustand davon wie während der Verwendung verwaltet.
  • 9 zeigt eine Verzeichnisvorrichtungsinformationstabelle 901, die als Information zum Umwandeln des Anforderungsbefehls der Dateien-Betriebssystem-Seite verwendet wird. Die Verzeichnisvorrichtungsinformationstabelle 901 zeigt die entsprechende Beziehung zwischen dem Dateisystemnamen oder Verzeichnisinformation und der LU-Information, die von der Speicherseite als der Ort bereitgestellt wird, in dem sich die Datei befindet. Diese Tabelle wird in der Dateien-Betriebssystem-Seite gespeichert. In der vorliegenden Ausführungsform wird die LU von der Speicherseite in einer 1:1-Beziehung bezüglich des Dateisystems bereitgestellt. Als eine andere Variante kann nicht nur die LU-Information, sondern auch die entsprechende Beziehung mit der Adresseninformation innerhalb der LU gespeichert werden.
  • 10 zeigt ein Verfahren zum gemeinsamen Nutzen der Befehle von dem Dateien-Betriebssystem zu der Blockspeicher-Mikrosteuereinrichtungs-Seite. Spalte 913 speichert die Anforderungsquelle eines Befehls, der das Ziel des Sendens des Fertigstellungsberichts klärt, wenn die Verarbeitung des Befehls fertiggestellt ist. Zum Beispiel wird im Fall eines Blockspeichers, da der Anschluss und die LU-Nummer als die Befehlsausgabequelle erkannt werden, diese Information gespeichert. Nach der Verarbeitung eines Befehls kann eine Zeitsteuerung durch Unterscheiden der Anforderungsquelle ausgeführt werden, so dass die Anforderungsquelle durch Speichern der ID des SCSI oder des WWN unterschieden wird. Die Blockseitenanforderung tritt gleichzeitig auf, wobei die Anforderung in die gleiche Anforderungsbefehlswarteschlange geschrieben werden kann, oder die Anforderungsbefehlswarteschlange in einem anderen Speicherbereich gespeichert werden kann. Wenn die Anforderung getrennt gespeichert wird, wird eine Regel notwendig, um die Verarbeitungsreihenfolge unter den Warteschlangen zu bestimmen. Wenn ein Befehl komplett ausgeführt wurde, berichtet der Block die Fertigstellung des Befehls.
  • 11A und 11B zeigen die Schritte des Prozesses zum Zuweisen einer Hardware-Ressource zu einer Blockspeichersystemseite und zu anderen Betriebssystemen. Zuerst wird die Energieversorgung des Speicheruntersystems 30 eingeschaltet (S1110). Es wird nur die Blockspeicher-Mikrosteuereinrichtung gestartet (S1112). Wie beschrieben, ist die vorliegende Vorrichtung dadurch gekennzeichnet, dass sie nur einen Teil des Systems in einem einzelnen Gehäuse startet. Die Konfiguration der Blockspeicher-Mikrosteuereinrichtung wird so bestimmt, dass sie im Eingangszustand eine Minimalkonfiguration ist (oder in einem Zustand, wo detektiert wird, dass eine Konfigurationsdatei nicht definiert ist) (S1114). Minimalkonfiguration bezieht sich auf die Blockspeicherseitenkonfiguration, die zum Beispiel eine 2PK(Paket)-Konfiguration ist, innerhalb eines Maximums einer 8PK-Konfiguration. Wie beschrieben, wird im Normal-Zustand die Blockspeicher-Mikrosteuereinrichtung in einer Minimalkonfiguration gestartet. Die physischen CPU-Kerne und Speicher, die bei der Bildung der Steuerung über eine Minimalkonfiguration verwendet werden, werden im Voraus bestimmt. Zu diesem Zeitpunkt wird das System neu gestartet, um die Konfiguration festzulegen (S1115).
  • Der Nutzer berücksichtigt die Blockspeicherseitenkonfiguration über die Verwaltungsvorrichtung im Voraus und die Information der Bestimmung der Anzahl von Hardwarekomponenten, die in der Vorrichtungskonfiguration erforderlich sind, wird in der Konfigurationsdatei gespeichert (S1116). Es wird ein Blockspeicheruntersystem auf der Grundlage der in der Konfigurationsdatei gespeicherten Konfiguration gebildet. Der Nutzer berücksichtigt die Anzahl von Hardware-Ressourcen, die jede Komponente, die das Block Speicheruntersystem bildet, benötigt, und der Ressourcen, die das andere Betriebssystem oder Dateien-Betriebssystem als das Blockspeichersystem benötigt, und bestimmt die Anzahl davon so, dass die von dem Dateien-Betriebssystem oder Ähnlichem benötigten notwendigen Ressourcen verbleiben. Bei der Durchführung eines Neustarts kann die Blockspeicher-Mikrosteuereinrichtung die Hardware erkennen, die in dem Speicheruntersystem 30 verbunden ist, und die Verwaltungstabelle von 801A erstellen (S1117). Diese Information wird in dem Speicherbereich gespeichert, wenn die Steuerung über eine Minimalkonfiguration gestartet wird.
  • Als Nächstes werden auf der Grundlage der Inhalte der Nutzerdefinitionskonfigurationsdatei die Hardware-Ressourcen, die mit dem Blockspeicheruntersystem verbunden sind, erkannt (S1118). Die erkannten Hardware-Ressourcen werden in der Verwaltungstabelle von 801A gespeichert. Die Hardware-Ressourcen werden auf der Grundlage der Inhalte der Nutzerdefinitionskonfigurationsdatei zugewiesen und die Konfiguration wird definiert (S1120). Tatsächlich wird „definiert” in den Verwendungszustand von 801A gespeichert. Tabellen 821A und 831A, die die Informationen über die verwendeten Hardware-Ressourcen speichern, werden gebildet und in dem Steuerspeicher gespeichert, der für die Blockspeicher-Mikrosteuereinrichtung zugewiesen ist (S1122). Das System wird neu gestartet, um die Konfiguration festzulegen (S1123).
  • Ferner wird der Hypervisor aktiviert (S1124). Der Hypervisor bezieht sich auf die Hardware-Verwaltungsinformation 801A, die in dem Speicherbereich gespeichert ist, der mit der Blockspeicher-Mikrosteuereinrichtung gemeinsam genutzt wird, und erkennt die gesamte Hardware (S1126). Der Hypervisor speichert die Information mit dem Verwendungszustand „undefiniert” in seinem eigenen Speicherbereich (S1128). Der Hypervisor erkennt, dass die undefinierten Hardware-Ressourcen verwendet werden können, und erstellt Hardware-Verwaltungsinformationstabellen 801B und 811B für den Hypervisor (S1132). Der Hypervisor startet sein System neu und legt die Konfiguration fest (S1134). Der Hypervisor bildet ferner Tabelle 821B, weist sie der Vielzahl von Betriebssystemen zu, die in dem Hypervisor betrieben werden, und speichert die zugewiesene Informationen in Tabellen 811B und 812B (S1136).
  • Als ein weiteres Verfahren (11C), wird der Hypervisor gestartet (S1142). Der Hypervisor erkennt die gesamten Hardware-Ressourcen, die in dem Speicheruntersystem 30 verbunden sind (S1144). Der Hypervisor sendet einen Bericht an die Blockspeicher-Mikrosteuereinrichtung, dass der Hypervisor aktiviert ist (S1146). Die Blockspeicher-Mikrosteuereinrichtung stellt nach Empfang des Berichtes dem Hypervisor diese Ressourcen-Information bereit, die die Einheit verwendet, die in ihrem Speicher gespeichert ist (S1148). Der Hypervisor speichert die empfangene Information in seinem eigenen Speicherbereich (S1150). Der Hypervisor erkennt zuerst, welche Hardware-Ressource verwendet werden kann, auf der Grundlage der empfangenen Informationen und weist den Speicherbereich für den Hypervisor zu (S1152).
  • Eine Hardware-Verwaltungsinformationstabelle für den Hypervisor wird in dem zugewiesenen Speicherbereich erstellt und darin gespeichert (S1154). Der Hypervisor wird dann neu gestartet (S1156). Die Ressourcen, die verwendet werden können, werden der Vielzahl von Betriebssystemen zugewiesen, die in dem Hypervisor betrieben werden (S1158). Die zugewiesene Information wird entsprechend in dem Speicherbereich, den jedes Betriebssystem verwendet, gespeichert (S1160). Jetzt ist es nicht notwendig, der Blockspeicher-Mikrosteuereinrichtung eine Ressourcenzuweisungsinformation der Hypervisor-Seite bereitzustellen. Es gibt ein Verfahren zum gemeinsamen Nutzen von Informationen durch gemeinsames Nutzen der Adresseninformation oder zum Durchführen eines Kopiervorgangs zwischen Speichern als ein Verfahren zum Übergeben der Information oder verwendeten Hardware-Ressourcen von der Blockspeicher-Mikrosteuereinrichtung an den Hypervisor.
  • Die Prozesse von S1146 bis S1150 sind die Prozesse, die der Hypervisor des Standes der Technik nicht ausführt. Der Prozess, den der Hypervisor zur Zuweisung von Ressourcen zu einem Gast-Betriebssystem ausführt, existieren im Stand der Technik, aber der Prozess des Empfangens einer verwendbaren Ressourcen-Information von anderen Betriebssystemen und der Prozess des Bestimmens der zu verwendenden Ressourcen auf der Grundlage der empfangenen Information existieren im Stand der Technik nicht. Die Zuweisung von Speicher wird durch Bestimmen einer Adresse oder einer Kapazität innerhalb eines Speicherplatzes ausgeführt. Die Zuweisung wird in einer duplizierten Konfiguration unter Berücksichtigung von Fehlern oder Ähnlichem ausgeführt.
  • 12 ist ein Ablaufdiagramm, das die Schritte zum Definieren der Konfiguration zeigt, wenn Ressourcen hinzugefügt werden. Wenn eine Hardware-Ressource hinzugefügt wird, erstellt der Nutzer wieder eine Konfigurationsdatei in der Verwaltungsvorrichtung, die die hinzugefügte Ressource beinhaltet, und speichert sie. In dem EIN-Zustand erkennt die Blockspeicher-Mikrosteuereinrichtung die damit verbundene Hardware-Ressource gemäß der von dem Nutzer konfigurierten definierten Konfigurationsdatei. Der Auslöser für die Erkennung kann als ein Befehl vom Nutzer an das Speicheruntersystem 30 ausgegeben werden oder kann eine Detektionseinrichtung sein, die das Speicheruntersystem 30 hat. Die Konfiguration wird auf eine ähnliche Weise definiert wie in dem Ablaufdiagramm von 11. Im Grunde bezieht der Vorgang sich auf die Zuweisung der hinzugefügten Hardware-Ressource und die bereits verwendeten Ressourcen bleiben in ihren ursprünglich zugewiesenen Zustand. Der auf der Hypervisor-Seite ausgeführte Prozess ist der gleiche wie die Schritte beginnend mit S1126 aus 11B.
  • Wenn eine Ressource hinzugefügt wird, bleiben die derzeit zugewiesenen Ressourcen im zugewiesenen Zustand. Die hinzugefügte Ressource wird der Blockspeicher-Mikrosteuereinrichtungs-Seite und anderen Seiten zugewiesen. Die vorliegende Ausführungsform unterscheidet sich vom Stand der Technik darin, dass während der Hinzufügung einer Ressource der Hypervisor nicht neu startet, sondern die Information über die Hinzufügung von Ressourcen und die Verwendungsfähigkeit von der Blockspeicher-Mikrosteuereinrichtung bezieht und die Zuweisung zu einem Gast-Betriebssystem ausführt.
  • Als nächstes wird der Prozess der Reduzierung der Ressourcen beschrieben, d. h. Löschen der Ressourcen. Wenn die Ressource, die das Ziel des Löschvorgangs ist, der Speicherort ist, wird bestimmt, von wo in dem Speicherort die Speicherkapazität gelöscht werden soll. Die in dem Speicherort gespeicherten zu löschenden Daten und die Steuerinformationen werden in dem nicht gelöschten Speicherort gespeichert. Für den darauf folgenden Schritt werden die Kopierzieldaten verwendet. Ähnlich wie bei dem Ablaufdiagramm aus 12 erstellt der Nutzer die über die Verwaltungsvorrichtung gelöschte Speicherortadresse erneut als eine Konfigurationsdatei und zeichnet sie auf. Die folgenden Schritte sind die gleichen wie in dem Ablaufdiagramm von 12.
  • Wenn die Ressource, die das Löschziel ist, ein Prozessor ist, wird, wenn ein Löschbefehl ausgegeben wird, der Prozessor, der das Löschziel ist, keinen neuen Prozess starten, bis ein laufender Prozess fertiggestellt und beendet ist. Bei einer Unterbrechung des Prozesses werden die Daten, wie zum Beispiel die Prozess-Standby-Warteschlange, die der zu löschende Prozessor hat, einem anderen Prozessor zugewiesen. Der Prozessor mit den zugewiesenen Daten führt die Information mit der Prozesswarteschlange zusammen, die der Prozessor ursprünglich hat, und speichert die Information in seinem eigenen Speicher. Ein unverwendbarer (oder geschlossener) Zustand wird in der Information der zu löschenden Ressource gespeichert. Die folgenden Schritte sind ähnlich wie das Ablaufdiagramm aus 12. Das Löschen von Platten kann auf eine ähnliche Weise wie bei Verfahren von Speichersystemen des Standes der Technik ausgeführt werden.
  • 13 ist ein Ablaufdiagramm, das den Prozess zur dynamischen Neuzuweisung einer Hardware-Ressource eines Blockspeichers zu einem anderen System als dem Blockspeicher zeigt. Die Verwendung einer Ressource, die ein Löschziel ist, aus der auf der Blockspeicherseite verwendeten Hardware wird auf der Grundlage des vorherstehend beschriebenen Ressourcen-Löschprozesses gestoppt. Die zu löschende Ressource wird in einen unverwendbaren Zustand oder Ähnliches eingestellt und ihre Verwendung wird verhindert (S1310). Wenn der Nutzer eine Konfigurationsdatei neu erstellt, wird die Ressource, die das Löschziel ist, als nicht ausgewählt zugeordnet (S1312). Dies kann zum Beispiel realisiert werden, indem eine unverwendbare Speicheradresse nicht zugeordnet wird. Auf der Grundlage der von dem Nutzer neu erstellten Konfigurationsdatei wird eine Ressource von der verbundenen Hardware-Ressource zugewiesen und wird die Konfiguration definiert (S1316). Danach wird der Verwendungszustand der Hardware von einem unverwendbaren Zustand in einen verwendbaren Zustand geändert (S1318). Die anschließenden Schritte sind die gleichen wie Schritte S1126 bis S1136 aus 11B.
  • 14 ist ein Ablaufdiagramm, das den Prozess zur dynamischen Neuzuweisung einer Hardware-Ressource, die von einer anderen Einheit als dem Blockspeicher verwendet wird, zu der Blockspeicherseite zeigt. Zum Beispiel kann, wenn die Hardware-Leistung übermäßig wird, wie zum Beispiel durch Verkleinern des Dateisystems auf der Dateien-Betriebssystem-Seite, Hardware von der Dateien-Betriebssystem-Seite freigegeben werden und der Blockspeicherseite neu zugewiesen werden.
  • Der Prozess des Löschens einer Hardware-Ressource wird mittels des früher beschriebenen Prozesses ausgeführt. Der Hypervisor startet eine Löschverarbeitung (S1410) und veranlasst die jeweiligen Betriebssysteme, die Löschverarbeitung auszuführen (S1412). Nach der Ausführung des Löschvorgangs weist der Hypervisor die Ressource, die gegenwärtig verwendet werden kann, neu zu (S1416) und speichert die Information in dem Hypervisor (S1420). Die Neuerstellung der Konfigurationsdatei und die Neuzuweisung (Hinzufügung) der Hardware-Ressourcen zu der Blockspeicherseite, die folgt, werden ähnlich wie in dem Ablaufdiagramm von 12 ausgeführt.
  • Einer der Zusammenarbeitsprozesse der Blockspeicher-Mikrosteuereinrichtung und des Hypervisors ist eine Fehlerverarbeitung. Herkömmlicherweise war das Betriebssystem in jedem Gehäuse des Speicheruntersystems angeordnet und hat jedes Betriebssystem ein Umgebungssystemprogramm oder ein übliches Logikprogramm zum Ausführen von Fehlerverwaltung gespeichert (wie zum Beispiel das in 17 gezeigte Fehlerprogramm 316). Wenn ein Fehler auf der Hardwareseite aufgetreten ist, wurde einen Fehlerbericht an jedes Betriebssystem gesendet und ein Fehleransprechprogramm gestartet und in jedem Betriebssystem ausgeführt.
  • Gemäß dem Speichersystem der vorliegenden Erfindung ist es notwendig, die Umgebungssystemprogramme und übliche Logikprogramme, die in jedem Betriebssystem gespeichert wurden, anzuordnen. Wenn ein Fehler in der Hardware auftritt, die von dem Hypervisor verwaltet wird, und jedes der Fehlerprogramme gestartet wird, wird, da die Toleranz gegenüber der Verfügbarkeit sich von der des Blockspeicheruntersystems unterscheidet, wenn diese Bestimmung bezüglich eines Fehlers das Hypervisors übernommen wird, die Verfügbarkeit des Blockspeicheruntersystems verschlechtert.
  • Ferner wird gemäß dem Blockspeicher-Mikrosteuereinrichtungs-Seiten-Prozess durch Durchlaufen des Supervisors Overhead veranlasst, so dass die Verarbeitungsfähigkeit der Blockspeicheruntersystemseite sich möglicherweise verschlechtert. Um Zusammenarbeitsprozesse ohne Verschlechterung der Verfügbarkeit des Blockspeicheruntersystems zu ermöglichen, wird die Initiierung der Fehlerverarbeitung der Blockspeicher-Mikrosteuereinrichtungs-Seite bereitgestellt. Dadurch wird bei der der Detektierung eines Fehlers ein Prozess des ersten Berichts an die Blockspeicher-Mikrosteuereinrichtungs-Seite ausgeführt.
  • Jedoch kann es, wie für die nur von der Hypervisor-Seite verwendete Hardware unnötig sein, Fehlerverarbeitung auszuführen. Deshalb werden die Ressourcen, die das Ziel der Fehlerverarbeitung sind, zwischen dem Blockspeicher und dem Hypervisor getrennt (das für diese Ressource verantwortliche System wird bestimmt). Wenn in den Ressourcen ein Fehler auftritt, wird bestimmt, ob der Speicherbereich, der die Informationen über das Auftreten eines Fehlers aufzeichnet (Fehlerauftrittsinformation), auf der Hypervisor-Seite oder auf der Blockspeicher-Mikrosteuereinrichtungs-Seite sein soll. Wenn sich der Ressourcenfehler auf Fehlerverarbeitung der Blockspeicher-Mikrosteuereinrichtung bezieht, wird die Fehlerauftrittsinformation in dem Speicherbereich auf der Blockspeicher-Mikrosteuereinrichtungs-Seite gespeichert und wird die Information dadurch auf der Seite der Steuereinheit, die sich auf die Informationen bezieht, platziert.
  • Als Nächstes wird die Fehlerverarbeitung beschrieben. Ähnlich wie bei der Fehlerverarbeitung müssen die Blockspeicher-Mikrosteuereinrichtung und der Hypervisor die Verarbeitung in Zusammenarbeit ausführen. Wenn ein Fehler in einer Hardware in dem Speicheruntersystem 30 auftritt, detektiert die Fehlerüberwachungseinrichtung, die Hardware zum Detektieren von Fehlern, den Fehler.
  • Die Zielhardware-Ressourcen können in die folgenden vier Typen eingeteilt werden.
    • (1) Eine Ressource, die von einem Blockspeicher und einem anderen System als dem Blockspeicher gemeinsam genutzt wird (ein Hypervisor und eine Gruppe von Betriebssystemen, die in dem Hypervisor betrieben werden)
    • (2) Ressourcen, die ausschließlich von den Blockspeicher verwendet werden
    • (3) Eine Ressource, die von Betriebssystemen gemeinsam genutzt wird, die in anderen Hypervisoren als dem Blockspeicher betrieben werden
    • (4) Eine Ressource, die ausschließlich von dem Betriebssystem verwendet wird, das in einem anderen Hypervisor als dem Blockspeicher betrieben wird.
  • Jede Hardware-Ressource übermittelt den Fehler an die im Voraus eingestellte Seite und gibt eine Unterbrechung aus. Im Fall von (1) und (2), in 21 gezeigt, wird ein Fehler der Blockspeicher-Mikrosteuereinrichtung mitgeteilt und wird eine Unterbrechung ausgegeben. In dem Fall von (3), wie in 22 gezeigt, wird dem Hypervisor ein Fehler mitgeteilt und wird eine Unterbrechung ausgegeben. Im Fall von (4), wird der Fehler jedem Betriebssystem mitgeteilt und wird eine Unterbrechung ausgegeben.
  • Um dies auszuführen, muss jede Hardware-Ressource das Mitteilungsziel bezüglich des Ziels der Fehlermitteilung speichern. Bereiche zur Fehlerverarbeitung sind in dem Speicher 321 zugewiesen und Fehlerberichtziele aller Hardware-Ressourcen sind in einer Informationsverwaltungstabelle gespeichert, wobei bei der Detektierung eines Fehlers Bezug auf die Informationsverwaltungstabelle genommen wird und das Auftreten des Fehlers dem Fehlerberichtziel mitgeteilt wird. Die Informationsverwaltungstabelle ist in 23 gezeigt. Zum Beispiel ist die in 2314 gespeicherte Nutzerinformation der Fehlerverwaltungstabelle 2300 der CPU das Fehlermitteilungsziel. Wenn der Nutzer ein Block ist, wird eine Antwort an die Blockspeicher-Mikrosteuereinrichtungs-Seite geschickt, und wenn der Nutzer ein Dateien-Betriebssystem ist, wird eine Antwort an das Dateien-Betriebssystem geschickt.
  • Ein Beispiel des vorstehend beschriebenen Falles (1) ist ein Festplattenfehler. Festplatten werden von dem Block Speicher und verschiedenen Betriebssystemen, wie zum Beispiel dem Dateien-Betriebssystem verwendet. Deshalb verwaltet, wenn ein Festplattenfehler auftritt, die Plattensteuerseite nicht, zu welchem Betriebssystem die in dem Fehlerabschnitt gespeicherten Daten gehören, so dass das Auftreten eines Fehlers dem gesamten System mitgeteilt wird.
  • Ferner wird im Fall des in 23 gezeigten Speichers bestimmt, ob jede Speichereinheit einen Fehler aufweist oder nicht. Im vorliegenden Fall wird der Speicher gemeinsam genutzt (im Fall von (1) wie vorstehend beschriebenen), wird der Fehler an den Block zurückgemeldet, der den Speicher verwendet.
  • Als ein Verfahren zur Fehlerdetektierung kann die Hardware, wie zum Beispiel die CPU, der Speicher oder die Platte, einen internen Fehler über Fehlerüberwachung erkennen. Da ein Anschluss sich selber keiner Detektierung unterziehen kann, kann eine Aufgabe erstellt werden, so dass ein Fehlerdetektionsprogramm oder Ähnliches in bestimmten Intervallen überprüft, ob ein Fehler aufgetreten ist. Wenn ein Fehler festgestellt wird, wird Bezug auf eine Informationsverwaltungstabelle genommen, die das Fehlerberichtziel aufzeichnet, und wird das Fehlerziel gesucht, um den Fehler zu berichten. Der Anschluss berichtet entweder an (2) oder (4), wie oben beschrieben.
  • Wenn ein Fehler in einer Ressource auftrifft, die ausschließlich von einem der Betriebssysteme verwendet wird, die in dem Hypervisor betrieben werden, und das Betriebssystem eine Ausfallsicherung ausführen muss, wird der Fehler von dem Hypervisor, in dem das Betriebssystem angeordnet ist, der Blockspeicher-Mikrosteuereinrichtung mitgeteilt.
  • Herkömmlicherweise erkennt der Hypervisor sämtliche mit ihm verbundenen Hardware-Ressourcen und versucht, Fehler darin zu detektieren. Ferner versucht der Blockspeicher auf ähnliche Weise, einen Fehler sämtlicher Hardware-Ressourcen zu detektieren. Jedoch wird in einem Unified-Storage-System, da die Hardware-Ressourcen in eine Blockspeicherseite und eine Hypervisor-Seite unterteilt sind und dementsprechend zugewiesen werden, Fehlerverarbeitung auch auf eine getrennte Art ausgeführt. Mit anderen Worten werden die in jedem Betriebssystem abgeschlossenen Prozesse in dem Betriebssystem ausgeführt, wohingegen das Betriebssystem, das für den Prozess bezüglich eines Ziels, das gemeinsam von beiden Seiten verwendet wird, zuständig ist, im Voraus bestimmt werden muss. Gemäß dem vorliegenden Verfahren liegt die Initiierung der Fehlerverarbeitung bei der Blockspeicher-Mikrosteuereinrichtungs-Seite mit einer hohen Wiederherstellungsleistung, aber bezüglich der Hardware, die nicht mit der Blockspeicher-Mikrosteuereinrichtungs-Seite verbunden ist, wird die Verarbeitung von jedem Betriebssystem oder dem Hypervisor ausgeführt.
  • Bei anderen Konfigurationsvarianten hat die erste Variante ein Fehlerprogramm, das nur in dem Hypervisor angeordnet ist, wobei der Hypervisor sowohl die Hypervisor-Seite als auch die Blockspeichersteuerseite verwaltet. Wenn der Blockspeicher nicht in dem Speichersystem existiert, wird ein Fehlerbericht an den Hypervisor gesendet und das Fehlerverarbeitungsprogramm in dem Hypervisor verwendet, um den Fehler zu beheben. Diese Fehlerverarbeitung wird auf einem Niveau ausgeführt, das mit dem Server oder dem Dateisystem umgehen kann.
  • Die zweite Variante hat ein Fehlerprogramm, das nur in der Blockspeicher-Mikrosteuereinrichtung angeordnet ist. Dieses Beispiel entspricht dem Fall, in dem nicht von Anfang an ein Hypervisor existiert oder wo der Hypervisor zwischendurch gelöscht wird. Ein Blockspeicherniveau-Fehlerverarbeitungsprogramm wird gestartet. Wenn ein Hypervisor zwischendrin gelöscht wird, wird als eine Vorverarbeitung zum Löschen des Hypervisors die Fehlerverarbeitung, die vom Hypervisor ausgeführt wurde, von der Blockspeicher-Mikrosteuereinrichtung übernommen.
  • Die vorliegende Erfindung ist nicht auf die bevorzugten Ausführungsformen beschränkt, sondern die vorliegende Erfindung kann durch Modifizieren und Realisieren der Komponenten umgesetzt werden, ohne vom Schutzumfang der Erfindung abzuweichen. Verschiedene Modifikationen der Erfindung können durch geeignetes Kombinieren der Vielzahl von Komponenten, die in den vorhandenen vorliegenden Ausführungsformen gelehrt werden, realisiert werden. Zum Beispiel können einige Komponenten von den in den Ausführungsformen dargestellten Komponenten gelöscht werden. Ferner können Komponenten von anderen Ausführungsformen beliebig angeordnet werden.
  • Ein Teil oder sämtliche Komponenten, Funktionen, Verarbeitungseinheiten, Verarbeitungseinrichtungen und Ähnliches, die in dem bevorzugten Ausführungsformen dargestellt sind, können durch Hardware umgesetzt werden, wie zum Beispiel durch Gestalten einer integrierten Schaltung. Ferner können die oben beschriebene Konfiguration und Funktionen durch Hardware umgesetzt werden, indem der Prozess jedes Programm, das die entsprechenden Funktionen umsetzt, interpretiert und ausführt. Die Information, wie zum Beispiel die Programme, Tabellen und Dateien, die die entsprechenden Funktionen umsetzen, können in einem Speicher oder einer Speichervorrichtung, wie zum Beispiel einem Speicher, einer Festplatte oder einer SSD (Solid State Drive) oder einem Aufzeichnungsmedium oder einem Speichermedium, wie zum Beispiel einer integrierte Schaltungskarte (IC) einer SD-Speicherkarte oder einer DVD (Digital Versatile Disk) und Ähnlichem gespeichert sein.
  • Ferner sind gemäß den vorstehend beschriebenen bevorzugten Ausführungsformen nur die für die Beschreibung als notwendig erachteten Steuerleitungen und Informationsleitungen dargestellt und sind nicht notwendigerweise alle für die Herstellung erforderlichen Steuerleitungen und Informationsleitungen dargestellt. Alle Komponenten können miteinander verbunden sein.
  • Bezugszeichenliste
  • 20
    Verwaltungsvorrichtung
    30
    Speicheruntersystem
    31
    Steuerprozessor (CPU)
    32
    Speicher
    33
    Platten-Schnittstelle
    34
    Physische Vorrichtung
    35
    HBA
    36
    NIC
    37
    Bus
    39
    Wartungsverwaltungsschnittstelle
    101
    Client-Vorrichtung
    106, 107
    Netzwerk
    108
    Verwaltungsnetzwerk

Claims (15)

  1. Speichersystem, das umfasst: ein Blockspeicherseiten-Betriebssystem und eine Gruppe von Betriebssystemen, die mehrere Systeme verwalten, die eine Vielzahl von anderen Betriebssystemen als das Blockspeicherseiten-Betriebssystem einschließen, die in einem Hypervisor arbeiten; eine Hardware-Ressource, die Folgendes einschließt: einen ersten Ressourcenabschnitt, der dem Blockspeicherseiten-Betriebssystem dadurch direkt zugewiesen ist, und einen zweiten Ressourcenabschnitt, der den Betriebssystemen in der Gruppe von Betriebssystemen, die eine logische Partition verwenden, durch den Hypervisor zugewiesen ist.
  2. Speichersystem nach Anspruch 1, wobei der erste Ressourcenabschnitt mit Priorität gegenüber der Zuweisung des zweiten Ressourcenabschnitts durch den Hypervisor zugewiesen wird.
  3. Speichersystem nach Anspruch 1, wobei das Blockspeicherseiten-Betriebssystem und die anderen Betriebssysteme als das Blockspeicherseiten-Betriebssystem unabhängig in der Reihenfolge gestartet werden.
  4. Speichersystem nach Anspruch 1, wobei die Verarbeitung des gesamten Speichersystems mit Initiierung durch das Blockspeicherseiten-Betriebssystem ausgeführt wird.
  5. Speichersystem nach Anspruch 1, das umfasst: eine erste Konfigurationsverwaltungstabelle, die von dem Blockspeicherseiten-Betriebssystem auf der Grundlage der Information zum Einstellen einer Konfiguration der Hardware-Ressourcen erstellt wird, zum Zuweisen des ersten Ressourcenabschnitts zu dem Blockspeicherseiten-Betriebssystem; und eine zweite Konfigurationsverwaltungstabelle, die von dem Hypervisor auf der Grundlage der ersten Konfigurationsverwaltungstabelle erstellt wird, so dass der Hypervisor den zweiten Ressourcenabschnitt den Betriebssystemen in der Gruppe von Betriebssystemen zuweist.
  6. Speichersystem nach Anspruch 1, das umfasst: eine erste Konfigurationsverwaltungstabelle, die von dem Blockspeicherseiten-Betriebssystem erstellt wird, zum Zuweisen des ersten Ressourcenabschnitts zu dem Blockspeicherseiten-Betriebssystem auf der Grundlage der Information zum Einstellen einer Konfiguration der Hardware-Ressource; und eine zweite Konfigurationsverwaltungstabelle, die von dem Hypervisor durch Empfangen der Information des ersten Ressourcenabschnitts von dem Blockspeicherseiten-Betriebssystem erstellt wird, so dass der Hypervisor den zweiten Ressourcenabschnitt dem Betriebssystem in der Gruppe von Betriebssystemen zuweist.
  7. Speichersystem nach Anspruch 5, wobei beim Hinzufügen einer Hardware-Ressource: das Blockspeicherseiten-Betriebssystem die erste Konfigurationsverwaltungstabelle durch Erkennen der hinzuzufügenden Hardware-Ressource rekonstruiert, und wenn ein Teil der Hardware-Ressource als der erste Ressourcenabschnitt verwendet wird, einen Teil der Hardware-Ressource dem Blockspeicherseiten-Betriebssystem zuweist; und der Hypervisor die zweite Konfigurationsverwaltungstabelle auf der Grundlage der ersten Konfigurationsverwaltungstabelle rekonstruiert und den Rest der Hardware-Ressource als den zweiten Ressourcenabschnitt verwendet.
  8. Speichersystem nach Anspruch 5, wobei beim Löschen einer Hardware-Ressource das Blockspeicherseiten-Betriebssystem die erste Konfigurationsverwaltungstabelle durch Erkennen der zu löschenden Hardware-Ressource rekonstruiert, und wenn die zu löschende Hardware-Ressource darin zugewiesen ist, den Zustand davon in einen unverwendbaren Zustand einstellt, und der Hypervisor eine zweite Konfigurationsverwaltungstabelle auf der Grundlage der ersten Konfigurationsverwaltungstabelle rekonstruiert und, wenn die zu löschende Hardware-Ressource darin zugewiesen ist, den Status davon in einen unverwendbaren Status einstellt.
  9. Speichersystem nach Anspruch 5, wobei, wenn die in dem Blockspeicherseiten-Betriebssystem zugewiesene Hardware-Ressource dynamisch einem anderen Ziel als dem Betriebssystem neu zuzuweisen ist, das Blockspeicherseiten-Betriebssystem den Zustand der Hardware-Ressource, die das Ziel ist, das dynamisch in einen unverwendbaren Zustand neu zuzuweisen ist, einstellt und nach der Rekonstruktion der ersten Konfigurationsverwaltungstabelle den Zustand wieder in den verwendbaren Zustand einstellt; und der Hypervisor die zweite Konfigurationsverwaltungstabelle auf der Grundlage der ersten Konfigurationsverwaltungstabelle rekonstruiert und die Hardware-Ressource in dem verwendbaren Zustand zuweist.
  10. Speichersystem nach Anspruch 5, wobei, wenn die irgendeinem anderen Betriebssystem der Gruppe von Betriebssystemen als dem Blockspeicherseiten-Betriebssystem zugewiesene Hardware-Ressource dynamisch dem Blockspeicherseiten-Betriebssystem neu zuzuweisen ist, der Hypervisor den Zustand der Hardware-Ressource, die dem einen der Betriebssysteme in der Gruppe von Betriebssystemen zugewiesen ist, in einen unverwendbaren Zustand einstellt und nach Rekonstruktion der zweiten Konfigurationsverwaltungstabelle den Zustand wieder in den verwendbaren Zustand einstellt; und das Blockspeicherseiten-Betriebssystem die erste Konfigurationsverwaltungstabelle auf der Grundlage der zweiten Konfigurationsverwaltungstabelle rekonstruiert und die Hardware-Ressource in dem verwendbaren Zustand zuweist.
  11. Speichersystem nach Anspruch 1, wobei, wenn ein Fehler in der Hardware-Ressource auftritt: wenn die Hardware-Ressource, in der der Fehler aufgetreten ist, ausschließlich zu dem Blockspeicherseiten-Betriebssystem oder einem der Betriebssysteme in der Gruppe von Betriebssystemen gehört, das Auftreten des Fehlers dem Betriebssystem mitgeteilt wird, zu dem die Hardware-Ressource ausschließlich gehört; wenn die Hardware-Ressource, in der der Fehler aufgetreten ist, von dem Blockspeicherseiten-Betriebssystem, dem Hypervisor und der Gruppe von Betriebssystemen, die in dem Hypervisor arbeiten, gemeinsam genutzt wird, das Auftreten des Fehlers dem Blockspeicherseiten-Betriebssystem mitgeteilt wird; und wenn die Hardware-Ressource, in der der Fehler aufgetreten ist, von irgendwelchen der Betriebssysteme, die in dem Hypervisor arbeiten, gemeinsam genutzt wird, das Auftreten des Fehlers dem Hypervisor mitgeteilt wird.
  12. Verfahren zum Zuweisen einer Hardware-Ressource in einem Speichersystem, in dem ein Blockspeicherseiten-Betriebssystem und eine Gruppe von Betriebssystemen, die mehrere Systeme verwalten, die ein anderes Dateisystem als das Blockspeicherseiten-Betriebssystem enthalten, nebeneinander existieren, wobei das Verfahren umfasst: einen ersten Schritt das Startens des Blockspeicherseiten-Betriebssystems, wobei das Betriebssystem eine erste Konfigurationsverwaltungstabelle auf der Grundlage einer Einstellung der Konfigurationsinformationen der Hardware-Ressource erstellt und dann die von ihm selbst verwendete Hardware-Ressource zuweist; und einen nach dem ersten Schritt ausgeführten zweiten Schritt des Startens eines Hypervisors zum Virtualisieren der Gruppe von anderen Betriebssystemen als dem Blockspeicherseiten-Betriebssystem, wobei der Hypervisor eine zweite Konfigurationsverwaltungstabelle auf der Grundlage der ersten Konfigurationsverwaltungstabelle erstellt und die nicht von dem Blockspeicherseiten-Betriebssystem zugewiesene Hardware-Ressource als die von ihm selbst verwendete zuweist.
  13. Verfahren zum Zuweisen einer Hardware-Ressource nach Anspruch 12, wobei das Verfahren beim weiteren Hinzufügen einer Hardware-Ressource ferner beinhaltet: einen dritten Schritt des Erkennens der hinzuzufügenden Hardware-Ressource und der Neuerstellung der ersten Konfigurationsverwaltungstabelle, wobei, wenn die Hardware-Ressource von sich selber verwendet wird, die hinzugefügte Hardware-Ressource zugewiesen wird; und einen nach dem dritten Schritt ausgeführten vierten Schritt der Neuerstellung der zweiten Konfigurationsverwaltungstabelle in dem Hypervisor auf der Grundlage der ersten Konfigurationsverwaltungstabelle, wobei, wenn die hinzuzufügende Hardware-Ressource nicht von dem Blockspeicherseiten-Betriebssystemen zugewiesen ist, die Hardware-Ressource als die von ihm selber verwendete Hardware-Ressource zugewiesen wird.
  14. Verfahren zum Zuweisen einer Hardware-Ressource nach Anspruch 12, wobei das Verfahren beim dynamischen Neuzuweisen der von dem Blockspeicherseiten-Betriebssystem zugewiesenen Hardware-Ressource zu einem anderen Ziel ferner beinhaltet: einen fünften Schritt, in dem das Blockspeicherseiten-Betriebssystem die Hardware-Ressource, die das Ziel der dynamischen Neuzuweisung ist, in den verwendbaren Zustand einstellt, woraufhin die erste Konfigurationsverwaltungstabelle neu erstellt wird, und dann des Zurückführens der Hardware-Ressource in den verwendbaren Zustand; und einen nach dem fünften Schritt ausgeübten sechsten Schritt der Neuerstellung der zweiten Konfigurationsverwaltungstabelle durch den Hypervisor auf der Grundlage der ersten Konfigurationsverwaltungstabelle und danach des Zuweisens der Hardware-Ressource in dem verwendbaren Zustand.
  15. Verfahren zum Zuweisen einer Hardware-Ressource nach Anspruch 12, wobei das Verfahren beim dynamischen Neuzuweisen der Hardware-Ressource, die in irgendeinem anderen Betriebssystem der Gruppe von Betriebssystemen als dem Blockspeicherseiten-Betriebssystem zugewiesen ist, zu dem Blockspeicherseiten-Betriebssystem ferner beinhaltet: einen vom Hypervisor ausgeführten siebten Schritt des Einstellens der in einem der in der Gruppe von Betriebssystemen enthaltenen Betriebssysteme zugewiesenen Hardware-Ressource in den unverwendbaren Zustand, des Neuerstellens der zweiten Konfigurationsverwaltungstabelle und danach Zurückführens der Hardware-Ressource in den verwendbaren Zustand; und einen nach dem siebten Schritt von dem Blockspeicherseiten-Betriebssystem ausgeführten achten Schritt des Neuerstellens der ersten Konfigurationsverwaltungstabelle auf der Grundlage der zweiten Konfigurationsverwaltungstabelle und dann des Zuweisens der Hardware-Ressource in dem verwendbaren Zustand.
DE112013006305.0T 2013-01-28 2013-01-28 Speichersystem und Verfahren zum Zuweisen von Ressourcen Withdrawn DE112013006305T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/000430 WO2014115188A1 (en) 2013-01-28 2013-01-28 Storage system and method for allocating resource

Publications (1)

Publication Number Publication Date
DE112013006305T5 true DE112013006305T5 (de) 2015-09-10

Family

ID=47741223

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013006305.0T Withdrawn DE112013006305T5 (de) 2013-01-28 2013-01-28 Speichersystem und Verfahren zum Zuweisen von Ressourcen

Country Status (6)

Country Link
US (2) US9396029B2 (de)
JP (1) JP5877552B1 (de)
CN (1) CN104956310B (de)
DE (1) DE112013006305T5 (de)
GB (1) GB2524910A (de)
WO (1) WO2014115188A1 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US9286086B2 (en) 2012-12-21 2016-03-15 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US9740702B2 (en) 2012-12-21 2017-08-22 Commvault Systems, Inc. Systems and methods to identify unprotected virtual machines
US20140196038A1 (en) 2013-01-08 2014-07-10 Commvault Systems, Inc. Virtual machine management in a data storage system
US9939981B2 (en) 2013-09-12 2018-04-10 Commvault Systems, Inc. File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
US9811427B2 (en) 2014-04-02 2017-11-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
CN106959927B (zh) * 2016-01-08 2020-08-25 阿里巴巴集团控股有限公司 获取虚拟机中的逻辑分区的位置信息的方法及装置
US10565067B2 (en) 2016-03-09 2020-02-18 Commvault Systems, Inc. Virtual server cloud file system for virtual machine backup from cloud operations
US10417102B2 (en) 2016-09-30 2019-09-17 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10474542B2 (en) 2017-03-24 2019-11-12 Commvault Systems, Inc. Time-based virtual machine reversion
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
CN107273187A (zh) * 2017-06-29 2017-10-20 深信服科技股份有限公司 读取位置获取方法及装置、计算机装置、可读存储介质
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US10872069B2 (en) * 2019-01-22 2020-12-22 Commvault Systems, Inc. File indexing for virtual machine backups in a data storage management system
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11500669B2 (en) 2020-05-15 2022-11-15 Commvault Systems, Inc. Live recovery of virtual machines in a public cloud computing environment
JP7100090B2 (ja) 2020-07-31 2022-07-12 株式会社日立製作所 ストレージシステム、連携方法、およびプログラム
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11726827B2 (en) 2021-02-19 2023-08-15 Vast Data Ltd. Hierarchical workload allocation in a storage system
US20220269424A1 (en) * 2021-02-19 2022-08-25 Vast Data Ltd. Resource allocation in a storage system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3160149B2 (ja) * 1994-05-13 2001-04-23 株式会社日立製作所 ディスク制御装置の無停止プログラム変更方法およびディスク制御装置
JP4156817B2 (ja) * 2001-07-27 2008-09-24 株式会社日立製作所 記憶装置システム
JP4704659B2 (ja) 2002-04-26 2011-06-15 株式会社日立製作所 記憶装置システムの制御方法および記憶制御装置
US20030236852A1 (en) * 2002-06-20 2003-12-25 International Business Machines Corporation Sharing network adapter among multiple logical partitions in a data processing system
US7873700B2 (en) * 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
JP4257783B2 (ja) 2003-10-23 2009-04-22 株式会社日立製作所 論理分割可能な記憶装置及び記憶装置システム
US20060149899A1 (en) 2004-12-30 2006-07-06 Zimmer Vincent J Method and apparatus for ongoing block storage device management
US7774391B1 (en) 2006-03-30 2010-08-10 Vmware, Inc. Method of universal file access for a heterogeneous computing environment
US7606868B1 (en) 2006-03-30 2009-10-20 Wmware, Inc. Universal file access architecture for a heterogeneous computing environment
US8307359B1 (en) 2006-06-23 2012-11-06 Emc Corporation Embedded virtual storage area network using a virtual block network fabric
US8386704B2 (en) * 2006-10-25 2013-02-26 HGST Netherlands B.V. Techniques for improving hard disk drive efficiency
US8127292B1 (en) * 2007-06-22 2012-02-28 Parallels Holdings, Ltd. Virtualization system with hypervisor embedded in bios or using extensible firmware interface
US8060685B2 (en) * 2007-07-31 2011-11-15 Hewlett-Packard Development Company, L.P. Electronic device data access system and method
US8627312B2 (en) * 2008-08-28 2014-01-07 Netapp, Inc. Methods and systems for integrated storage and data management using a hypervisor
US20100100718A1 (en) * 2008-10-20 2010-04-22 Novell, Inc. In-the-flow security services for guested virtual machines
US8914598B2 (en) * 2009-09-24 2014-12-16 Vmware, Inc. Distributed storage resource scheduler and load balancer
US8671414B1 (en) 2011-05-09 2014-03-11 Emc Corporation Accelerating data intensive computing applications by reducing overhead associated with communication protocols
US8683548B1 (en) 2011-09-30 2014-03-25 Emc Corporation Computing with policy engine for multiple virtual machines
US8726337B1 (en) 2011-09-30 2014-05-13 Emc Corporation Computing with presentation layer for multiple virtual machines

Also Published As

Publication number Publication date
WO2014115188A1 (en) 2014-07-31
GB2524910A (en) 2015-10-07
US9606745B2 (en) 2017-03-28
JP5877552B1 (ja) 2016-03-08
CN104956310B (zh) 2019-03-05
CN104956310A (zh) 2015-09-30
US9396029B2 (en) 2016-07-19
US20140215482A1 (en) 2014-07-31
JP2016508240A (ja) 2016-03-17
GB201510088D0 (en) 2015-07-22
US20160239238A1 (en) 2016-08-18

Similar Documents

Publication Publication Date Title
DE112013006305T5 (de) Speichersystem und Verfahren zum Zuweisen von Ressourcen
EP3188449B1 (de) Verfahren und system zur gemeinsamen nutzung von speicherressourcen
US8984221B2 (en) Method for assigning storage area and computer system using the same
US8250327B2 (en) Storage apparatus and its control method
US8307171B2 (en) Storage controller and storage control method for dynamically assigning partial areas of pool area as data storage areas
DE112013006655T5 (de) Speichervorrichtung und Verfahren zum Steuern der Speichervorrichtung
DE112013006298T5 (de) Verfahren und Einrichtung für einen komprimierten und verdichteten virtuellen Speicher
GB2410816A (en) Logically partitioned computer and storage system
DE202010017613U1 (de) Datenspeichervorrichtung mit host-gesteuerter Speicherbereinigung
DE112021003061T5 (de) Ausgleichen von resilienz und leistung durch selektive verwendung von verschlechterten schreibvorgängen und freier kapazität in speichersystemen
DE112011103408T5 (de) Verwalten von komprimiertem Speicher unter Verwendung gestaffelter Interrupts
DE102013205571B4 (de) Verfahren, Computerprogrammprodukt und Vorrichtung zum Migrieren von Datenträgern mit schlanker Speicherzuweisung in mehrschichtigen Speicherarchitekturen
WO2013061376A1 (en) Storage system and data processing method in storage system
US9110591B2 (en) Memory resource provisioning using SAS zoning
WO2015087442A1 (ja) ストレージシステムの移行方式および移行方法
DE112019000992T5 (de) Verwaltung virtueller Speicherlaufwerke in einem Datenspeichersystem
JP2006285808A (ja) ストレージシステム
JPWO2014155555A1 (ja) 管理システム及び管理プログラム
DE112018005121T5 (de) Speichersystem unter verwendung von cloud-speicher als eine speicherbank
DE112011100854B4 (de) Schnelle Datenfernübertragung und Fernberechnung zwischen Prozessoren
US8688908B1 (en) Managing utilization of physical storage that stores data portions with mixed zero and non-zero data
DE112019000756T5 (de) Datenmigration in einem hierarchischen Speicherverwaltungssystem
JP2005092308A (ja) ディスク管理方法およびコンピュータシステム
US8990523B1 (en) Storage apparatus and its data processing method
DE112021006922T5 (de) Mehrstufige persistente Speicherzuweisung

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

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee