IP Library Granted Patent US 9,021,223
Granted Patent B2
US 9,021,223 · App. 14/159,293 · Granted Apr 28, 2015

Resilient mirroring

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,021,223
App. No.
14/159,293
Granted
Apr 28, 2015
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 (21)

1. A master intelligent storage element (ISE) and a redundant ISE each individually connectable in communication with a host device via a computer network connection, the master ISE executing data path algorithms stored in a computer memory and configured so that the master ISE, in response to receiving an access command from the host device for a logical unit (LUN) that is controlled by the master ISE, establishes a peer-to-peer communication connection with the redundant ISE via the network that exists independently of the redundant ISE network connection with the host device, the peer-to-peer communication connection used to perform data transfers between the master ISE and the redundant ISE that are predefined by the data path algorithms to maintain data coherency between the master ISE and the redundant ISE by ensuring that the master ISE marks transferred data as being dirty before the redundant ISE marks the transferred data as being dirty during the data transfers.

2. The ISEs of claim 1 wherein the redundant ISE receives a command from the master ISE via the peer-to-peer connection to mark data associated with the access command as being dirty in the redundant ISE.

3. The ISEs of claim 2 wherein the redundant ISE sends a cache lock request to the master ISE to obtain a cache lock in the master ISE.

4. The ISEs of claim 3 wherein after the redundant ISE sends the cache lock request to the master ISE, the redundant ISE subsequently receives a cache lock request from the master ISE to obtain a cache lock in the redundant ISE.

5. An apparatus comprising:

a master data storage element and a redundant data storage element, each independently connectable to a host via a network; and

each data storage element having a dedicated host exchange function controller with programmed data path algorithms that are configured so that the master data storage controller, in response to an access command from the host for a logical unit (LUN) that is controlled by the master data controller, establishes a peer-to-peer communication connection via the network with the redundant data storage element that exists independently of the network connection between the redundant data storage element and the host, the master data storage element and the redundant data storage element communicating via the peer-to-peer connection to maintain data coherency by marking data dirty in the master data storage element before marking the data dirty in the redundant data storage element.

6. The apparatus of claim 5 wherein the redundant data storage element sends a cache lock request to the master data storage element to obtain a cache lock of the master data storage element.

7. The apparatus of claim 6 wherein after the redundant data storage element sends the cache lock request to the master data storage element, the redundant data storage element subsequently receives a cache lock request from the master data storage element to obtain a cache lock of the redundant data storage element.

8. The apparatus of claim 7 wherein the access command is characterized as a read command, and wherein after the redundant data storage element obtains the cache lock the redundant data storage element obtains the read data from the LUN and sends the obtained read data to the host.

9. The apparatus of claim 8 wherein after the redundant data storage element obtains cache lock the redundant data storage element sends a read request to the master data storage element to obtain the read data from the corresponding LUN.

10. The apparatus of claim 9 wherein after the redundant data storage element sends the read request the redundant data storage element subsequently receives the read data from the master data storage element.

11. The apparatus of claim 7 wherein the data access command is characterized as a write command, and wherein the redundant data storage element after obtaining cache lock sends the write command to the master data storage element.

12. A method comprising:

independently connecting a master intelligent storage element (ISE) and a redundant ISE to a host device via a network;

receiving a data access command by the master ISE from the host device via the network connection for a logical unit (LUN) that is accessible by the master ISE and the redundant ISE;

in response to the receiving step, executing data path algorithms stored in a computer memory of the master ISE to establish a peer-to-peer communication connection between the master ISE and the redundant ISE via the network; and

transferring data between the master ISE and the redundant ISE via the peer-to-peer communication connection according to operations that are predefined by the data path logic to maintain data coherency between the master ISE and the redundant ISE by ensuring the transferred data is marked dirty in the master ISE before the transferred data is marked dirty in the redundant ISE.

13. The method of claim 12 wherein the executing comprises the redundant ISE sending via the peer-to-peer connection a cache lock request to the master ISE to obtain a cache lock of the master ISE.

14. The method of claim 13 wherein the master ISE marks the data associated with the access command as being dirty.

15. The method of claim 14 wherein the master ISE commands the redundant ISE to mark the data associated with the access command as being dirty.

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 Jan 21, 2014
From: ELKINGTON, SUSAN; WALKER, MICHAEL
To: XIOTECH CORPORATION
Reel/Frame 032007/0268 →