IP Library Granted Patent US 8,185,715
Granted Patent B1
US 8,185,715 · App. 11/694,698 · Granted May 22, 2012

Method and system for managing metadata in storage virtualization environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,185,715
App. No.
11/694,698
Granted
May 22, 2012
Kind
B1
Abstract

Method and system for managing metadata for a plurality of storage platforms that provide virtualization services is provided. The method includes requesting a memory chunk for storing metadata; wherein a data processing agent operating in a storage platform requests the memory chunk and a centralized metadata controller for the plurality of storage platforms receives the request for the memory chunk; determining the memory chunk size and allocating the memory chunk from a pool of memory chunks; and assigning the allocated memory chunk to a virtualization mapping object.

Claims (29)

1. A method comprising:

providing a cluster of a plurality of storage platforms that are operationally coupled to a plurality of storage devices and to a plurality of client computing systems;

wherein each storage platform presents virtual storage to a client computing system and appears as a virtual computing system to a storage device for providing virtualization services to the client computing system and the storage device; and

wherein one of the storage platforms includes a centralized metadata controller for managing metadata for the plurality of storage platforms;

a data processing agent operating in another of the storage platforms requesting a memory chunk for storing metadata;

the centralized metadata controller for the plurality of storage platforms operating in the one of the storage platforms receiving the request for the memory chunk;

the centralized metadata controller determining the memory chunk size and allocating the memory chunk from a pool of memory chunks managed by the centralized metadata controller;

the centralized metadata controller assigning the allocated memory chunk to a virtualization mapping object of the storage platform executing the data processing agent that requested the memory chunk; and

the data processing agent of the another storage platform obtains control of the allocated memory chunk and populates the memory chunk with metadata.

2. The method of claim 1 , wherein the data processing agent of the another storage platform passes control of the memory chunk to the metadata controller after the data processing agent has completed storing the metadata.

3. The method of claim 1 , wherein if the data processing agent fails before passing off control of the memory chunk to the metadata controller then the metadata controller reclaims control of the memory chunk.

4. The method of claim 3 , wherein the metadata controller stores the memory chunk after reclaiming control.

5. A storage area network, comprising:

a plurality of virtualization modules that are coupled together in a cluster;

wherein the plurality of virtualization modules are operationally coupled to a plurality of storage devices and to a plurality of client computing systems, and each virtualization module presents virtual storage to a client computing system and appears as a virtual computing system to a storage device for providing virtualization services to the client computing system and the storage device; and

wherein each virtualization module runs a data processing agent for providing the virtualization services, and one of the virtualization modules runs a centralized metadata controller for the cluster that controls allocation of memory chunks to store metadata; and

wherein the metadata controller receives a request for a memory chunk from the data processing agent of another one of the virtualization modules, determines the memory chunk size, allocates the memory chunk from a pool of memory chunks, and assigns the allocated memory chunk to a virtualization mapping object of the another virtualization module; and

wherein the data processing agent of the another virtualization module gets control of the allocated memory chunk and populates the memory chunk with the metadata.

6. The storage area network of claim 5 , wherein the data processing agent of the another virtualization module passes control of the memory chunk to the metadata controller after the data processing agent has completed storing the metadata.

7. The storage area network of claim 6 , wherein if the data processing agent fails before passing off control of the memory chunk to the metadata controller then the metadata controller reclaims control of the memory chunk.

8. The storage area network of claim 7 , wherein the metadata controller stores the memory chunk after reclaiming control.

9. A virtualization module coupled to other virtualization modules in a cluster, comprising:

a data processing agent executed by each of the virtualization modules for providing virtualization services;

wherein the plurality of virtualization modules are operationally coupled to a plurality of storage devices and to a plurality of client computing systems, and each virtualization module presents virtual storage to a client computing system and appears as a virtual computing system to a storage device for providing the virtualization services to the client computing system and the storage device; and

a centralized metadata controller for the cluster that runs in one of the virtualization modules and controls allocation of memory chunks to store metadata; and the metadata controller receives a request for a memory chunk from the data processing agent of another one of the virtualization modules, determines the memory chunk size, allocates the memory chunk from a pool of memory chunks, and assigns the allocated memory chunk to a virtualization mapping object of the another virtualization module; and

wherein the data processing agent of the another virtualization module gets control of the allocated memory chunk and populates the memory chunk with the metadata.

10. The virtualization module of claim 9 , wherein the data processing agent passes control of the memory chunk to the metadata controller after the data processing agent has completed storing the metadata.

11. The virtualization module of claim 10 , wherein if the data processing agent fails before passing off control of the memory chunk to the metadata controller then the metadata controller reclaims control of the memory chunk.

12. The virtualization module of claim 11 , wherein the metadata controller stores the memory chunk after reclaiming control.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053179/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: CAVIUM, LLC
To: CAVIUM INTERNATIONAL
Reel/Frame 051948/0807 →
CHANGE OF NAME Recorded Oct 8, 2018
From: CAVIUM, INC.
To: CAVIUM, LLC
Reel/Frame 047205/0953 →
RELEASE OF SECURITY INTEREST Recorded Jul 6, 2018
From: JP MORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: CAVIUM, INC; CAVIUM NETWORKS LLC; QLOGIC CORPORATION
Reel/Frame 046496/0001 →
MERGER Recorded Oct 18, 2017
From: QLOGIC CORPORATION
To: CAVIUM, INC.
Reel/Frame 044812/0504 →
SECURITY AGREEMENT Recorded Mar 1, 2017
From: QLOGIC CORPORATION
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 041854/0119 →