IP Library Granted Patent US 7,916,727
Granted Patent B2
US 7,916,727 · App. 11/344,874 · Granted Mar 29, 2011

Low level storage protocols, systems and methods

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 7,916,727
App. No.
11/344,874
Granted
Mar 29, 2011
Kind
B2
Abstract

Communication protocols, systems, and methods that facilitate communication between disaggregated elements, and also to devices adapted to function as such disaggregated elements, particularly across peer-to-peer (masterless) and include one or more unique features such as packet atomicity, blind ACKs, NAT bridging, locking, multicast spanning and mirroring, and authentication.

Claims (62)

1. A method of transferring data to a block of a target storage device using a packet that includes: an address of a storage area of the target storage device; a logical block address (LBA) of the block; and the data, the method comprising:

incorporating the address of the storage area of the target storage device into a protocol header of the packet; and

incorporating the LBA of the block into the packet;

wherein the protocol header is associated with a protocol that operates lower than a universal datagram protocol (UDP) and a transmission control protocol (TCP) in an open systems interconnect (OSI) model, and the address of the storage area distinctly identifies the storage area from at least one other storage area on the target storage device.

2. The method of claim 1 , wherein the packet does not comprise UDP or TCP protocol headers.

3. The method of claim 1 , further comprising transporting the packet using the protocol that operates lower than UDP and TCP.

4. The method of claim 1 , further comprising broadcasting the packet.

5. The method of claim 1 , wherein the packet comprises information indicating a command associated with an advanced technology attachment (ATA) interface, a small computer system interface (SCSI), or an ATA packet interface (ATAPI).

6. The method of claim 1 , wherein the target storage device comprises a disk drive.

7. The method of claim 1 , further comprising:

transmitting, to the target storage device, a request for an allocation of storage; and

receiving, from the target storage device, a response including the address of the storage area of the target storage device.

8. The method of claim 1 , wherein said incorporating the LBA of the block into the packet comprises:

incorporating the LBA of the block into a data portion of the packet.

9. The method of claim 1 , wherein the storage area is a physical partition.

10. A storage system comprising:

a first and second storage device that are individually accessible across a network, wherein the first storage device is adapted to receive a packet that includes

an address of a storage area of the first storage device in a protocol header of the packet, wherein the protocol header is associated with a protocol that operates lower than a universal datagram protocol (UDP) and a transmission control protocol (TCP) in an open systems interconnect (OSI) model, and the address of the storage area distinctly identifies the storage area from at least one other storage area of the first storage device,

a logical block address (LBA) of a block within the first storage device or the second storage device, and

data.

11. The storage system of claim 10 , wherein the packet does not comprise UPD or TCP protocol headers.

12. The storage system of claim 10 , wherein the data comprises the LBA.

13. The storage system of claim 10 , wherein the first storage device comprises a first name and the second storage device comprises a second name that is different from the first name.

14. The storage system of claim 10 , wherein the packet includes a command indicating the data is to be written to at least one of the first and second storage device.

15. The storage system of claim 10 , wherein the packet includes a command indicating other data is to be read from at least one of the first and second storage device.

16. The storage system of claim 10 , wherein the first and second storage devices are disk drives.

17. The storage system of claim 10 , wherein the first storage device is further adapted

to receive a request from a requestor over the network;

to allocate the storage area on the first storage device and another storage area on the second storage device based on the request; and

to provide the requestor with the address that is associated with the storage area and the another storage area.

18. The storage system of claim 17 , wherein the address is a multicast address.

19. The storage system of claim 10 , wherein the storage area is a physical partition.

20. A method comprising:

receiving a packet at a storage device from a requestor over a network, the packet including a network address in a header portion of the packet, a block identifier, and a command to read data from, or write data to, a storage block associated with the block identifier, wherein the network address uniquely identifies one or more storage areas of a plurality of storage areas of the storage device, the one or more storage areas of the storage device being less than the plurality of storage areas of the storage device, and the header portion of the packet is associated with a protocol that operates lower than a universal datagram protocol (UDP) and a transmission control protocol (TCP) in an open systems interconnect (OSI) model; and

reading data from, or writing data to, the storage block based on said receiving of the packet.

21. The method of claim 20 , wherein the packet does not comprise UDP or TCP protocol headers.

22. The method of claim 20 , wherein the storage device is a first storage device, and the method further comprises:

receiving, at the first storage device, a request from the requestor over the network, the request seeking an allocation of storage that exceeds an amount of allocatable storage of the first storage device;

allocating the one or more storage areas on the first storage device and another storage area on a second storage device to the requestor based on the request; and

transmitting, to the requestor, a response that includes the network address to facilitate access to the one or more storage areas and the another storage area.

23. The method of claim 22 , wherein the request is a first request and said allocating the another storage area comprises:

transmitting, to the second storage device, a second request to allocate storage based on said receiving of the first request.

24. The method of claim 22 , wherein the network address is a multicast address associated with both the one or more storage areas and the another storage area.

25. The method of claim 22 , wherein the block identifier is a logical block address (LBA) that corresponds to the another storage area and the method further comprises:

transmitting another packet, to the second storage device, to execute the command with respect to the LBA.

26. The method of claim 22 , wherein the request includes another network address associated with a network interface of the first storage device.

27. The method of claim 22 , wherein the first storage device and the second storage device are peers.

28. The method of claim 20 , wherein the network address uniquely identifies the one or more storage areas among the plurality of storage areas.

29. The method of claim 20 , wherein the network address is an Internet protocol address.

30. The method of claim 20 , wherein the one or more storage areas are one or more physical partitions.

31. An apparatus comprising:

a network interface;

a first storage medium; and

a controller coupled to the network interface and the first storage medium and configured to:

receive, a packet from a requestor via the network interface, the packet including a network address in a header portion of the packet, a block identifier, and a command to read data from, or write data to, a storage block associated with the block identifier, wherein the network address uniquely identifies one or more storage areas of a plurality of storage areas of the first storage medium, the one or more storage areas being less than the plurality of storage areas of the first storage medium, and the header portion of the packet is associated with a protocol that operates lower than a universal datagram protocol (UDP) and a transmission control protocol (TCP) in an open systems interconnect (OSI) model.

32. The apparatus of claim 31 , wherein the packet does not comprise UDP or TCP protocol headers.

33. The apparatus of claim 31 , wherein the controller is further configured to:

receive a request from the requestor via the network interface, the request seeking an allocation of storage that exceeds an amount of allocatable storage of the first storage medium;

allocate one or more first storage areas on the first storage medium and another storage area on a second storage medium to the requestor based at least in part on the request; and

transmit, to the requestor via the network interface, a response that includes the network address to facilitate access to the one or more first storage areas and the another storage area.

34. The apparatus of claim 33 , wherein the storage block is in the another storage area.

35. The apparatus of claim 31 , wherein the network address uniquely identifies the one or more storage areas among the plurality of storage areas.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2022
From: INTELLECTUAL VENTURES ASSETS 177 LLC
To: SERVSTOR TECHNOLOGIES, LLC
Reel/Frame 058537/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2021
From: INTELLECTUAL VENTURES I LLC
To: INTELLECTUAL VENTURES ASSETS 177 LLC
Reel/Frame 057274/0141 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2020
From: RATEZE REMOTE MGMT. L.L.C.
To: INTELLECTUAL VENTURES I LLC
Reel/Frame 052437/0635 →