IP Library Granted Patent US 8,635,420
Granted Patent B2
US 8,635,420 · App. 13/189,238 · Granted Jan 21, 2014

Resilient mirroring utilizing peer-to-peer storage

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,635,420
App. No.
13/189,238
Granted
Jan 21, 2014
Kind
B2
Abstract

An apparatus and associated method including a first storage device and a second storage device, each coupled to a remote server independently of the other via a network. Resilient mirroring logic is stored in each of the storage devices that establishes a peer-to-peer communication connection with the other storage device in response to receiving a data access command from the remote server.

Claims (23)

1. First and second self-contained intelligent storage elements (ISEs) individually connectable in communication with a remote device via a network, each ISE executing resilient mirroring processing instructions stored in a respective memory so that the first ISE, in response to receiving a write command from the remote device for a logical unit (LUN) that is mastered by the second ISE, sends the write command to the second ISE via a peer-to-peer connection existing independently of the second ISE network connection with the remote device, and the first ISE receives a command from the second ISE via the peer-to-peer connection to mark the write data dirty in the first ISE.

2. The first and second self-contained ISEs of claim 1 wherein the first ISE sends a cache lock request to the second ISE to lock a cache in the second ISE.

3. The first and second self-contained ISEs of claim 2 wherein after the first ISE sends the cache lock request to the second ISE, the first ISE subsequently receives a cache lock request from the second ISE to lock a cache in the first ISE.

4. The first and second self-contained ISEs of claim 1 wherein the second ISE marks the write data dirty before the first ISE marks the write data dirty.

5. The first and second ISEs of claim 1 wherein the first ISE subsequently in response to a read command for the LUN sends a request to the second ISE to lock the second ISE cache, and receives a command from the second ISE to lock the first ISE cache.

6. The first and second ISEs of claim 5 wherein the first ISE obtains the read data and sends the read data to the remote device.

7. The first and second ISEs of claim 5 wherein the first ISE sends a read command to the second ISE for the read data.

8. The first and second ISEs of claim 7 wherein the first ISE receives the read data from the second ISE.

9. An apparatus comprising:

a first storage device having a first controller and a second storage device having a second controller, each storage device independently connectable to a remote server via a network; and

resilient mirroring logic stored in each of the storage devices that is executable so that the first storage device, in response to an access command from the remote device for a logical unit (LUN) that is mastered by the second controller, establishes a peer-to-peer communication connection via the network with the second storage device and sends a cache lock request to the second storage device to lock a cache of the second storage device.

10. The apparatus of claim 9 wherein after the first storage device sends the cache lock request to the second storage device, the first storage device subsequently receives a cache lock request from the second storage device to lock a cache of the first storage device.

11. The apparatus of claim 10 wherein the data access command is characterized as a read command, and wherein after the first storage device obtains the cache lock the first storage device obtains the read data from the corresponding LUN and sends the obtained read data to the remote server.

12. The apparatus of claim 11 wherein after the first storage device obtains cache lock the first storage device sends a read request to the second controller to obtain the read data from the corresponding LUN.

13. The apparatus of claim 12 wherein after the first storage device sends the read request the first storage device subsequently receives the read data from the second storage device.

14. The apparatus of claim 10 wherein the data access command is characterized as a write command, and wherein the first storage device after obtaining cache lock sends the write command to the second storage device.

15. The apparatus of claim 14 wherein the second storage device marks the write data dirty.

16. The apparatus of claim 15 wherein the second storage device commands the first storage device to mark the write data dirty.

17. The apparatus of claim 9 wherein at least one of the first and second storage devices is an intelligent storage element.

18. A method comprising:

independently connecting a first self-contained intelligent storage element (ISE) and a second self-contained ISE to a remote device via a network;

receiving a data access command by the first ISE from the remote device via the network connection for a logical unit (LUN) that is mastered accessible by the second ISE;

in response to the receiving step, executing resilient mirroring processing instructions stored in a respective memory within each of the first and second ISEs to establish a peer-to-peer communication connection between the first and second ISEs via the network, the first ISE sending via the peer-to-peer connection a cache lock request to the second storage device to lock a cache of the second storage device.

Assignments (6)
CORRECTIVE ASSIGNMENT TO REMOVE US PATENT NO. 9013874 PREVIOUSLY RECORDED UNDER REEL AND FRAME 064272/0249. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 17, 2024
From: VSIP HOLDINGS LLC (F/K/A VIOLIN SYSTEMS LLC)
To: INNOVATIONS IN MEMORY LLC
Reel/Frame 068998/0780 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2023
From: VSIP HOLDINGS LLC (F/K/A VIOLIN SYSTEMS LLC)
To: INNOVATIONS IN MEMORY LLC
Reel/Frame 064272/0249 →
CHANGE OF NAME Recorded May 25, 2021
From: VIOLIN SYSTEMS LLC
To: VSIP HOLDINGS LLC
Reel/Frame 056366/0849 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING ADDRESS PREVIOUSLY RECORDED AT REEL: 047484 FRAME: 0869. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 17, 2019
From: XIOTECH CORPORATION
To: VIOLIN SYSTEMS LLC
Reel/Frame 049547/0469 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2018
From: XIOTECH CORPORATION
To: VIOLIN SYSTEMS LLC
Reel/Frame 047484/0869 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2011
From: ELKINGTON, SUSAN; WALKER, MICHAEL
To: XIOTECH CORPORATION
Reel/Frame 026649/0140 →