IP Library Granted Patent US 8,161,222
Granted Patent B1
US 8,161,222 · App. 12/048,256 · Granted Apr 17, 2012

Method and system and apparatus for use in data storage

Assignee: Augmentix Corporation
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,161,222
App. No.
12/048,256
Filed
Mar 14, 2008
Granted
Apr 17, 2012
Kind
B1
Art Unit
2111
USPC
710/315
Abstract

Systems, devices and methods for interfacing a single bus with multiple buses invisibly to devices using the single bus are presented. More specifically, in one embodiment an I/O bus may be interfaced with multiple other I/O buses of the same or different formats. Commands may be received on the first I/O bus and invisibly to a computing device or processor which issues the commands, translated into a set of commands configured to effectuate a received command in conjunction with storage media coupled to the other I/O buses. This set of commands may also be configured to implement additional functionality in conjunction with the storage media such as RAID or data encryption.

Claims (32)

1. A device, comprising:

a processor;

a first interface operable to interface with a first I/O bus and receive a command for storing data utilizing a first protocol, wherein the device appears as a single storage device on the first I/O bus;

a second interface operable to interface with a plurality of second I/O buses to store the data corresponding to the command, a first I/O bus of the plurality of second I/O buses utilizing a second protocol associated with a first type of storage device selected for non-critical data storage and a second I/O bus of the plurality of second I/O buses utilizing a third protocol associated with a second type of storage device selected for critical data storage and different from the second protocol, wherein each I/O bus of the plurality of second I/O buses is operable to couple to one or more storage devices;

a controller comprising a memory for storing:

a set of instructions executable by the processor to determine a type of storage device into which the data is to be stored;

a plurality of queues operable to buffer the command received on the first I/O bus, wherein a first set of queues is configured to buffer commands associated with the first type of storage device and a second set of queues is configured to buffer commands associated with the second type of storage device;

a map operable to map an address for the command received on the first I/O bus to one or more physical addresses corresponding to the one or more storage devices coupled to the second I/O buses associated with the type of storage device into which the data is to be stored; and

a translator operable to configure a communication in the first protocol, the second protocol or the third protocol,

wherein the controller is operable to store data on the one or more storage devices coupled to the plurality of second I/O buses and to implement a level of RAID in conjunction with two or more storage devices coupled to the plurality of second I/O buses by buffering the command received through the first interface in one queue of the first set of queues or the second set of queues based on the determination that the data is non-critical or critical and translating the command received on the first I/O bus to one or more second commands according to the second protocol or the third protocol to implement the command in conjunction with the level of RAID.

2. The device of claim 1 , wherein the RAID level is level 1, 3, 4, 5, 6 or 10.

3. The device of claim 1 , wherein the storage device is further operable to implement multi-RAID modes and cascaded storage devices.

4. The device of claim 1 , wherein the protocol associated with the first I/O bus of the plurality of second I/O buses is a SATA, PATA, SCSI, or FC.

5. The device of claim 4 , wherein the protocol associated with the second I/O bus of the plurality of second I/O buses is SATA, PATA, SCSI, or FC.

6. The device of claim 1 , wherein a first storage device coupled to the first I/O bus of the plurality of second I/O buses is a disk drive and a second storage device coupled to the second I/O bus of the plurality of second I/O buses is a solid state storage device.

7. The device of claim 6 , wherein the set of instructions is operable to allow a user to specify on which of the one or more storage device data is stored.

8. The device of claim 1 , further comprising encryption logic operable to implement one or more encryption algorithms to data being stored in, or retrieved from one or more of the one or more storage device.

9. A method of interfacing buses using a device having a processor and a non-transitory computer-readable medium storing a set of instructions executable for:

receiving a first command on a first I/O bus utilizing a first protocol;

determining a type of storage device into which data is to be stored, wherein the device comprises a plurality of second I/O buses including a first bus of the plurality of second I/O buses utilizing a second protocol associated with a first type of storage device selected for non-critical data storage and a second bus of the plurality of second I/O buses utilizing a third protocol associated with a second type of storage device selected for critical data storage and different from the second protocol, wherein each I/O bus of the plurality of second I/O buses is operable to couple to one or more storage devices;

buffering the first command in one or more of a plurality of queues, wherein a first set of the plurality of queues is configured to buffer commands associated with the first type of storage device and a second set of the plurality of queues is configured to buffer commands associated with the second type of storage device;

mapping an address for the first command received on the first I/O bus to one or more addresses corresponding to the one or more storage devices coupled to the plurality of second I/O buses;

translating the first command to one or more second commands according to the second protocol or the third protocol;

storing the data in the one or more storage devices, wherein the device is operable to map an address for the first command received on the first I/O bus to one or more addresses corresponding to the first type of storage devices coupled to the first bus of the plurality of second I/O buses or the second type of storage devices coupled to the second bus of the plurality of second I/O buses such that the device appears as a single storage device on the first I/O bus; and

implementing a level of RAID in conjunction with two or more storage devices coupled to the plurality of second I/O buses by buffering the first command in one queue of the first set of queues or the second set of queues based on the determination that the data is non-critical or critical and translating the first command received on the first I/O bus to one or more second commands according to the second protocol or the third protocol to implement the first command in conjunction with the level of RAID.

10. The method of claim 9 , wherein the RAID level is level 1, 3, 4, 5, 6 or 10.

11. The method of claim 9 , further comprising implementing multi-RAID modes and cascaded storage devices.

12. The method of claim 9 , wherein the first I/O bus is a SATA, PATA, SCSI, or FC bus.

13. The method of claim 12 , wherein each of the plurality of second I/O buses is a SATA, PATA, SCSI, or FC bus.

14. The method of claim 9 , wherein the first storage device coupled to the first bus of the plurality of second I/O buses is a disk drive and the second storage device coupled to the second bus of the plurality of second I/O buses is a solid state storage device.

15. The method of claim 14 , further comprising allowing a user to specify on which of the one or more storage device data is to be stored.

16. The method of claim 9 , further comprising encrypting data being stored in, or retrieved from one or more of the one or more storage device.

Assignments (16)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2013
From: AUGMENTIX CORPORATION
To: DELL PRODUCTS, L.P.
Reel/Frame 029775/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2008
From: CHAMSEDDINE, AHMAD; BRUCE, BRIAN
To: AUGMENTIX CORPORATION
Reel/Frame 021032/0122 →
Continuity (1)
Provisional Application 60961605 · Jul 23, 2007