IP Library Granted Patent US 9,928,203
Granted Patent B1
US 9,928,203 · App. 14/800,570 · Granted Mar 27, 2018

Object storage monitoring

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 9,928,203
App. No.
14/800,570
Granted
Mar 27, 2018
Kind
B1
Abstract

Systems and methods are disclosed for monitoring object storage in a data storage system. A storage device tray assembly includes a plurality of data storage bays configured to receive data storage devices, a plurality of data storage devices mounted in the plurality of data storage bays, and an interface expander device communicatively coupled to each of the data storage devices over a first communication interface. The interface expander device may include non-volatile memory storing object storage monitor code and operating system code, and one or more processors configured to perform port or switch initialization for communications to the plurality of data storage devices and execute the operating system code and the object storage monitor code to provide object storage monitor functionality for the plurality of data storage devices.

Claims (47)

1. A storage device tray assembly comprising:

a plurality of data storage bays configured to receive a plurality of data storage devices; and

a first interface expander device configured to be communicatively coupled to each of the plurality of data storage devices over a communication interface, the first interface expander device comprising:

non-volatile memory storing distributed data storage monitor code and operating system code; and

one or more processors configured to:

perform port or switch initialization for communications to the plurality of data storage devices;

execute the operating system code; and

perform a first portion of a monitor server node workload at least in part by performing distributed data storage monitoring for the plurality of data storage devices using the distributed data storage monitor code;

wherein:

said performing distributed data storage monitoring comprises managing data mapping information for data stored across the plurality of data storage devices; and

the first interface expander device is configured to communicate with a second interface expander device of a separate storage drive tray assembly that performs a second portion of the monitor server node workload.

2. The storage device tray assembly of claim 1 , wherein at least one of the one or more processors of the first interface expander device is a reduced instruction set computing (RISC) processor.

3. The storage device tray assembly of claim 1 , wherein the plurality of data storage devices are Ethernet storage devices.

4. The storage device tray assembly of claim 1 , wherein the plurality of data storage bays consists of 15 bays.

5. The storage device tray assembly of claim 1 , wherein the plurality of data storage bays consists of 30 bays.

6. The storage device tray assembly of claim 1 , wherein the plurality of data storage devices are Ceph object storage devices.

7. The storage device tray assembly of claim 1 , wherein the distributed data storage monitor code, when executed by the one or more processors, is configured to cause the one or more processors to perform one or more of status monitoring and data robustness services for the plurality of data storage devices.

8. The storage device tray assembly of claim 1 , wherein the one or more processors are further configured to perform routing functionalities for the plurality of data storage devices.

9. A computing system comprising:

a plurality of data storage device tray assemblies, comprising:

a first tray assembly comprising a first network switching device conforming to a communication interface and configured to use one or more embedded processors of the first network switching device to:

perform port initialization for communications to a first plurality of data storage devices of the first tray assembly; and

perform a first portion of a monitor server node workload at least in part by performing distributed data storage monitoring for the first plurality of data storage devices, said performing distributed data storage monitoring for the first plurality of data storage devices comprising managing data mapping information for data stored across the first plurality of data storage devices; and

a second tray assembly comprising a second network switching device conforming to the communication interface and configured to use one or more embedded processors of the second network switching device to:

perform port initialization for communications to a second plurality of data storage devices of the second tray assembly; and

perform a second portion of the monitor server node workload at least in part by performing distributed data storage monitoring for the second plurality of data storage devices, said performing distributed data storage monitoring for the second plurality of data storage devices comprising managing data mapping information for data stored across the second plurality of data storage devices.

10. The computing system of claim 9 , wherein the computing system is configured to provide distributed data storage monitor functionality for the first and second pluralities of data storage devices without a distributed data storage monitor server node separate from the plurality of data storage device tray assemblies.

11. The computing system of claim 9 , wherein at least one of the one or more embedded processors of the first network switching device is configured to execute Linux kernel code.

12. The computing system of claim 9 , wherein the plurality of data storage device tray assemblies is mounted in a data storage rack assembly.

13. The computing system of claim 9 , wherein the first and second network switching devices are configured to perform the first and second portions of the monitor server node workload, respectively, through inter-communication between the first and second network switching devices.

14. A method of monitoring distributed data storage in a computing system comprising a plurality of data storage devices mounted in a plurality of data storage bays of a data storage device tray assembly, the method comprising:

using one or more processors of an interface expander device of the data storage device tray assembly that is communicatively coupled to each of the plurality of data storage devices over a first communication interface to:

perform port or switch initialization for communications to the plurality of data storage devices;

execute distributed data storage monitor code to perform a first portion of a monitor server workload at least in part by monitoring the plurality of data storage devices, said monitoring the plurality of data storage devices comprising managing data mapping information for data stored across the plurality of data storage devices; and

communicate with a separate interface expander device to coordinate performance of a second portion of the monitor server workload by the separate interface expander device.

15. The method of claim 14 , wherein at least one of the one or more processors of the interface expander device is a reduced instruction set computing (RISC) processor.

16. The method of claim 14 , wherein the distributed data storage monitor code, when executed by the one or more processors of the interface expander device, is configured to cause the one or more processors to perform one or more of data redundancy and data robustness services in the data storage device tray assembly with respect to the plurality of data storage devices.

17. An interface expander device comprising:

non-volatile memory storing distributed data storage monitor code and operating system code; and

a processor configured to:

perform port or switch initialization for communications to a plurality of data storage devices mounted in a storage device tray assembly associated with the interface expander device; and

execute the operating system code and the distributed data storage monitor code to:

perform a first portion of a monitor server node workload at least in part by performing distributed data storage monitor functionality for the plurality of data storage devices, said performing distributed data storage monitor functionality for the plurality of data storage devices comprising managing data mapping information for data stored across the plurality of data storage devices;

wherein:

the interface expander device is communicatively coupled to each of the data storage devices over a first communication interface; and

the interface expander device is configured to be communicatively coupled to a separate interface expander device configured to perform a second portion of the monitor server node workload.

18. The interface expander device of claim 17 , wherein the interface expander device is a network switching device.

Assignments (6)
RELEASE OF SECURITY INTEREST AT REEL 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2015
From: JENKINS, DEAN MITCHAM; MAIN, DALE CHARLES
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 036804/0360 →