Self-steering point-to-point storage protocol

US9641616B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9641616-B2
Application numberUS-201414328446-A
CountryUS
Kind codeB2
Filing dateJul 10, 2014
Priority dateJul 10, 2014
Publication dateMay 2, 2017
Grant dateMay 2, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are disclosed for processing a self-steering storage command via a point-to-point communication protocol. A network adapter in a storage node receives an instance of a current command frame directed to a group of storage nodes and performs a storage operation in response to a storage command associated with the current command frame. The network adapter determines whether all storage nodes have received an instance of the current command frame. If all storage nodes have received an instance of the current command frame, then the network adapter transmits a final completion status frame to a computation node that originated the current command frame. Otherwise, the network adapter generates a next instance of the command frame, and transmits the next instance of the current command frame to an additional storage node in the group of storage nodes.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for processing a self-steering storage command via a point-to-point communication protocol, the method implemented in a current storage node that is one of a plurality of storage nodes, comprising: receiving, at the current storage node, a current instance of a current command frame directed to the plurality of storage nodes; performing a storage operation in response to a storage command associated with the current command frame; determining whether all storage nodes in the plurality of storage nodes have received an instance of the current command frame, based on address information in the current command frame; when it is determined that all storage nodes in the plurality of storage nodes have received an instance of the current command frame based on the address information in the current command frame, transmitting a final completion status frame directly to a computation node that originated the current command frame; and when it is determined that all storage nodes in the plurality of storage nodes have not received an instance of the current command frame based on the address information in the current command frame, generating a next instance of the current command frame, and transmitting the next instance of the current command frame directly to another storage node in the plurality of storage nodes. 2. The method of claim 1 , wherein the storage command comprises a copy on write command, and the storage operation comprises storing data of a data payload portion of the current instance of the current command frame at a location within the current storage node. 3. The method of claim 1 , wherein the storage command comprises a read and compare command, and the storage operation comprises: retrieving data from a location within the current storage node; determining whether no other storage node in the plurality of storage nodes has received an instance of the current command frame; when it is determined that no other storage node in the plurality of storage nodes has received an instance of the current command frame, transmitting the data directly to the computation node; and when it is determined that at least one other storage node in the plurality of storage nodes has received an instance of the current command frame, comparing the retrieved data with a data payload portion of the current instance of the current command frame, and upon determining that the retrieved data differs from the data payload portion, transmitting a mis-compare status frame directly to the computation node. 4. The method of claim 1 , wherein the storage command comprises a read, compare, and replace command, and the storage operation comprises: retrieving data from a location within the current storage node; determining whether no other storage node in the plurality of storage nodes has received an instance of the current command frame; when it is determined that no other storage node in the plurality of storage nodes has received an instance of the current command frame, transmitting the data directly to the computation node, and when it is determined that at least one other storage node in the plurality of storage nodes has received an instance of the current command frame, comparing the retrieved data with a data payload portion of the current instance of the current command frame, and upon determining that the retrieved data differs from the data payload portion, transmitting a mis-compare status frame directly to the computation node, and storing the data of the data payload portion at the location within the current storage node. 5. The method of claim 1 , wherein the storage command comprises a read, compare, and delete command, and the storage operation comprises: retrieving data from a location within the current storage node; determining whether no other storage node in the plurality of storage nodes has received an instance of the current command frame; when it is determined that no other storage node in the plurality of storage nodes has received an instance of the current command frame, transmitting the data directly to the computation node; and when it is determined that at least one other storage node in the plurality of storage nodes has received an instance of the current command frame, comparing the retrieved data with a data payload portion of the current instance of the current command frame, and upon determining that the retrieved data differs from the data payload portion, transmitting a mis-compare status frame directly to the computation node, and deleting the data at the location within the current storage node. 6. The method of claim 1 , wherein the storage command comprises a read and copy command, and the storage operation comprises: retrieving data from a location within the current storage node; determining whether no other storage node in the plurality of storage nodes has received an instance of the current command frame; when it is determined that no other storage node in the plurality of storage nodes has received an instance of the current command frame, transmitting the data directly to the computation node; and when it is determined that at least one other storage node in the plurality of storage nodes has received an instance of the current command frame, storing the data of the data payload portion at the location within the current storage node. 7. The method of claim 1 , wherein the storage command comprises a mass delete command, and the storage operation comprises deleting data at a location within the current storage node. 8. The method of claim 1 , further comprising: when it is determined that all storage nodes in the plurality of storage nodes have not received an instance of the current command frame, determining that the current command frame directs all storage nodes in the plurality of storage nodes to report status upon performing the storage operation, and transmitting a node completion status frame directly to the computation node. 9. The method of claim 8 , wherein the current instance of the current command frame comprises a first tag value, the next instance of the current command frame comprises a second tag value, the node completion status frame comprises a third tag value, and wherein the first tag value, the second tag value, and the third tag value are equal. 10. The method of claim 9 , further comprising, upon transmitting the node completion status frame to the computation node, then receiving, at the current storage node, an instance of a next command frame directed to the plurality of storage nodes. 11. The method of claim 9 , wherein the instance of a next command frame comprises a fourth tag value that is different from the first tag value. 12. The method of claim 1 , wherein the point-to-point communication protocol comprises Ethernet protocol. 13. A non-transitory computer-readable storage medium including instructions that, when executed by a processor of a current storage node that is one of a plurality of storage nodes, cause the processor to process a self-steering storage command via a point-to-point communication protocol, by performing the steps of: receiving, at the current storage node, a current instance of a current command frame directed to the plurality of storage nodes; performing a storage operation in response to a storage command associated with the current command frame; determining whether all storage nodes in the plurality of storage nodes have received an instance of the current command frame, based on address information in the current command frame; when it is determined that all storage nodes in the plurality of

Assignees

Inventors

Classifications

  • Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes · CPC title

  • Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9641616B2 cover?
Techniques are disclosed for processing a self-steering storage command via a point-to-point communication protocol. A network adapter in a storage node receives an instance of a current command frame directed to a group of storage nodes and performs a storage operation in response to a storage command associated with the current command frame. The network adapter determines whether all storage…
Who is the assignee on this patent?
Toshiba Kk
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 02 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).