Patents by Inventor Phil C. Cayton

Phil C. Cayton has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10176116
    Abstract: Provided are a computer product, method, and system to virtualize target system storage resources as virtual target storage resources. Target storage resources available at a target system are discovered over a network. A configuration is determined of virtual target storage resources mapping to the target storage resources for a host node. The configuration is registered with a virtual target. The configuration maps the virtual target storage resources to the target storage resources at the target system and an access control list of the host node allowed to access the virtual target storage resources. A query is received from the host node for the target storage resources the host node is permitted to access according to the access control list. Host discovery information is returned to the requesting host node indicating the virtual target storage resources the requesting host node is provisioned to access from the virtual target.
    Type: Grant
    Filed: September 28, 2016
    Date of Patent: January 8, 2019
    Assignee: INTEL CORPORATION
    Inventors: Jay E. Sternberg, Phil C. Cayton, James P. Freyensee, Dave B. Minturn
  • Publication number: 20180188974
    Abstract: Provided are a computer program product, system, and method to allow a host and a storage device to communicate using different fabric, transport, and direct memory access protocols. An origination package is received from an originating node at a first physical interface over a first network to a destination node having a storage device including a first fabric layer encoded according to a first fabric protocol, a first transport layer encoded according to a first transport protocol including a storage Input/Output (I/O) request directed to the storage device at the destination node. At least one destination packet is encoded with a second fabric layer and a second protocol layer according to the first fabric protocol or a second fabric protocol and according to the first transport protocol or a second transport protocol depending on what the destination node uses.
    Type: Application
    Filed: June 22, 2017
    Publication date: July 5, 2018
    Inventors: Phil C. CAYTON, Jay E. STERNBERG, James P. FREYENSEE
  • Publication number: 20180189204
    Abstract: Provided are a computer program product, method, and system to transfer storage input/output (I/O) requests to host and target systems on different fabrics. An origination packet is received from an originating node over a first network to a destination node having a storage device. The origination packet includes a first fabric layer for transport through a first network, a command in a transport protocol with a storage Input/Output (I/O) request, with respect to the storage device at the destination node, and a host memory address. A destination packet is constructed including a second fabric layer for transport through a second network and the command in the transport protocol to send the storage I/O request and a transfer memory address that maps to the host memory address. The destination packet is sent over the second network to the destination node to perform the storage I/O request.
    Type: Application
    Filed: December 30, 2016
    Publication date: July 5, 2018
    Inventors: Jay E. STERNBERG, Phil C. CAYTON, James P. FREYENSEE
  • Patent number: 10013168
    Abstract: Systems, apparatuses and methods may provide for communicating, by a common layer, with a local block storage system and communicating, by a subsystem layer that is communicatively coupled to the common layer, with one or more subsystems. Additionally, the common layer may be disassociated with one or more hardware specific components of the subsystem layer. In one example, the common layer may export one or more callback functions to the subsystem layer, wherein the callback functions include a registration and/or deregistration function.
    Type: Grant
    Filed: December 24, 2015
    Date of Patent: July 3, 2018
    Assignee: Intel Corporation
    Inventors: Phil C. Cayton, Jay E. Sternberg, James P. Freyensee, Dave B. Minturn
  • Patent number: 9986028
    Abstract: Examples are disclosed for replicating data between storage servers. In some examples, a network input/output (I/O) device coupled to either a client device or to a storage server may exchange remote direct memory access (RDMA) commands or RDMA completion commands associated with replicating data received from the client device. The data may be replicated to a plurality of storage servers interconnect to each other and/or the client device via respective network communication links. Other examples are described and claimed.
    Type: Grant
    Filed: July 8, 2013
    Date of Patent: May 29, 2018
    Assignee: INTEL CORPORATION
    Inventors: Phil C. Cayton, Eliezer Tamir, Frank L. Berry, Donald E. Wood
  • Publication number: 20180089101
    Abstract: Provided are a computer product, method, and system to virtualize target system storage resources as virtual target storage resources. Target storage resources available at a target system are discovered over a network. A configuration is determined of virtual target storage resources mapping to the target storage resources for a host node. The configuration is registered with a virtual target. The configuration maps the virtual target storage resources to the target storage resources at the target system and an access control list of the host node allowed to access the virtual target storage resources. A query is received from the host node for the target storage resources the host node is permitted to access according to the access control list. Host discovery information is returned to the requesting host node indicating the virtual target storage resources the requesting host node is provisioned to access from the virtual target.
    Type: Application
    Filed: September 28, 2016
    Publication date: March 29, 2018
    Inventors: Jay E. STERNBERG, Phil C. CAYTON, James P. FREYENSEE, Dave B. MINTURN
  • Publication number: 20180063145
    Abstract: Provided are a computer product, method, and system to dynamically provide discovery services for host nodes of target systems and storage resources in a network. Discover on storage resources available at target systems. An access control list indicates subsets of the host nodes that can access the storage resources at the target systems. A query is received from a requesting host node comprising one of the host nodes for storage resources the host node is permitted to access according to the access control list. Host discovery information is returned to the requesting host node indicating the storage resources the requesting host node is provisioned to access, wherein the requesting host node establishes a connection with the target systems indicated in the returned host discovery information to access the storage resources the requesting host node is provisioned to access indicated in the access control list.
    Type: Application
    Filed: August 24, 2016
    Publication date: March 1, 2018
    Inventors: Phil C. CAYTON, James P. FREYENSEE, Jay E. STERNBERG, Dave B. MINTURN
  • Publication number: 20170344259
    Abstract: Provided are a computer product, method, and system to generate a virtual subsystem to process read and write requests to storage devices. A virtual subsystem is configured in the memory to provide a representation of a subsystem presented to at least one host system. The at least one host system is to communicate with the virtual subsystem to access the at least one storage device. At least one virtual namespace is configured in the memory for the virtual subsystem. Each of the at least one virtual namespace maps to at least one physical namespace in at least one storage device. Each virtual namespace is assigned to one host system to use to direct read and write requests to the at least one physical namespace of the at least one storage device assigned to the virtual namespace.
    Type: Application
    Filed: May 27, 2016
    Publication date: November 30, 2017
    Inventors: James P. FREYENSEE, Dave B. MINTURN, Phil C. CAYTON, Jay E. STERNBERG, Anthony J. KNAPP
  • Publication number: 20170185310
    Abstract: Systems, apparatuses and methods may provide for communicating, by a common layer, with a local block storage system and communicating, by a subsystem layer that is communicatively coupled to the common layer, with one or more subsystems. Additionally, the common layer may be disassociated with one or more hardware specific components of the subsystem layer. In one example, the common layer may export one or more callback functions to the subsystem layer, wherein the callback functions include a registration and/or deregistration function.
    Type: Application
    Filed: December 24, 2015
    Publication date: June 29, 2017
    Inventors: Phil C. Cayton, Jay E. Sternberg, James P. Freyensee, Dave B. Minturn
  • Publication number: 20170177216
    Abstract: Methods and apparatus related to enabling individual NVMe (Non-Volatile Memory express) IO (Input Output or I/O) queues on differing network addresses of an NVMe controller are described. In one embodiment, a plurality of backend controller logic is coupled to a plurality of non-volatile memory devices. One or more virtual controller target logic (coupled to the plurality of backend controller logic) transmit data from a first portion of a plurality of IO queues to a first backend controller logic of the plurality of the backend controller logic. The one or more virtual controller target logic transmit data from a second portion of the plurality of IO queues to a second backend controller logic of the plurality of backend controller logic. Other embodiments are also disclosed and claimed.
    Type: Application
    Filed: December 21, 2015
    Publication date: June 22, 2017
    Applicant: Intel Corporation
    Inventors: James P. Freyensee, Phil C. Cayton, Dave B. Minturn, Jay E. Sternberg
  • Patent number: 9467512
    Abstract: Examples include client access to a storage medium coupled with a server. A network input/output device for the server receives a remote direct memory access (RDMA) command including a steering tag (S-Tag) from a client remote to the server. For these examples, the network input/output device forwards the RDMA command to a Non-Volatile Memory Express (NVMe) controller and access is provided to a storage medium based on an allocation scheme that assigned the S-Tag to the storage medium. In some other examples, an NVMe controller generates a memory mapping of one or more storage devices controlled by the NVMe controller to addresses for a base address register (BAR) on a Peripheral Component Interconnect Express (PCIe) bus. PCIe memory access commands received by the NVMe controller are translated based on the memory mapping to provide access to the storage device.
    Type: Grant
    Filed: January 16, 2013
    Date of Patent: October 11, 2016
    Assignee: INTEL CORPORATION
    Inventors: Eliezer Tamir, Ben-Zion Friedman, Phil C. Cayton, Theodore L. Willke, Frank Berry
  • Patent number: 9311110
    Abstract: Examples are disclosed for remotely initializing or booting a client or host device. In some examples, a network (NW) input/output (I/O) device coupled to a host device connects to a remote server via a NW communication link. For these examples, modules of the network I/O device establishes a control path to a non-volatile memory express (NVMe) controller maintained at the remote server using a remote direct memory access (RDMA) protocol. Properties of a storage device controlled by the NVMe controller have an RDMA service tag (STag) to indicate accessible allocated portions of the storage device. A system basic I/O system (BIOS) is capable of using the RDMA STag to access the storage device and load an operating system (OS) kernel. Also, one or more device drivers can remotely boot the host device using the RDMA STag.
    Type: Grant
    Filed: July 8, 2013
    Date of Patent: April 12, 2016
    Assignee: INTEL CORPORATION
    Inventors: Eliezer Tamir, Prafulla Deuskar, Phil C. Cayton
  • Publication number: 20150012607
    Abstract: Examples are disclosed for replicating data between storage servers. In some examples, a network input/output (I/O) device coupled to either a client device or to a storage server may exchange remote direct memory access (RDMA) commands or RDMA completion commands associated with replicating data received from the client device. The data may be replicated to a plurality of storage servers interconnect to each other and/or the client device via respective network communication links. Other examples are described and claimed.
    Type: Application
    Filed: July 8, 2013
    Publication date: January 8, 2015
    Inventors: Phil C. Cayton, Eliezer Tamir, Frank L. Berry, Donald E. Wood
  • Publication number: 20150012735
    Abstract: Examples are disclosed for remotely initializing or booting a client or host device. In some examples, a network (NW) input/output (I/O) device coupled to a host device may connect to a remote server via a NW communication link. For these examples, modules of the network I/O device may establish a control path to a non-volatile memory express (NVMe) controller maintained at the remote server using a remote direct memory access (RDMA) protocol. Properties of a storage device controlled by the NVMe controller as well has an RDMA service tag (STag) to indicate allocated portions of the storage device may be obtained. A system basic I/O system (BIOS) may be capable of using the RDMA STag to access the storage device and load an operating system (OS) kernel and one or more device drivers to remotely boot the host device. Other examples are described and claimed.
    Type: Application
    Filed: July 8, 2013
    Publication date: January 8, 2015
    Inventors: Eliezer Tamir, Prafulla Deuskar, Phil C. Cayton
  • Publication number: 20140223026
    Abstract: Generally, this disclosure relates to a method of flow control. The method may include determining a server load in response to a request from a client; selecting a type of credit based at least in part on server load; and sending a credit to the client based at least in part on server load, wherein server load corresponds to a utilization level of a server and wherein the credit corresponds to an amount of data that may be transferred between the server and the client and the credit is configured to decrease over time if the credit is unused by the client.
    Type: Application
    Filed: January 10, 2012
    Publication date: August 7, 2014
    Inventors: Eliezer Tamir, Phil C. Cayton, Ben-Zion Friedman, Robert O. Sharp, Donald E. Wood, Vadim Makhervaks
  • Publication number: 20130198312
    Abstract: Examples are disclosed for client access to a storage medium coupled with a server. A network input/output device for the server may receive a remote direct memory access (RDMA) command including a steering tag (S-Tag) from a client remote to the server. For these examples, the network input/output device may forward the RDMA command to a Non-Volatile Memory Express (NVMe) controller and access provided to a storage medium based on an allocation scheme that assigned the S-Tag to the storage medium. In some other examples, an NVMe controller may generate a memory mapping of one or more storage devices controlled by the NVMe controller to addresses for a base address register (BAR) on a Peripheral Component Interconnect Express (PCIe) bus. PCIe memory access commands received by the NVMe controller may be translated based on the memory mapping to provide access to the storage device. Other examples are described and claimed.
    Type: Application
    Filed: January 16, 2013
    Publication date: August 1, 2013
    Inventors: Eliezer Tamir, Ben-Zion Friedman, Phil C. Cayton, Theodore L. Willke, Frank Berry
  • Patent number: 7103888
    Abstract: A channel based network is provided that allows one or more hosts to communicate with one or more remote fabric attached I/O units. A split-model network driver includes a host module driver and I/O unit module driver. The host module driver and the I/O unit module driver each includes a messaging layer that allows the hosts and I/O units to communicate over the switched fabric using a push-push messaging protocol. For a host to send data, the host either initiates a RDMA write to a pre-registered buffer or initiates a message Send to a pre-posted buffer on the target. For the RDMA case, the initiator would have to send the target some form of transfer indication specifying where the data has been written. This notification can be done with either a separate message or more preferably with immediate data that is included with the RDMA write.
    Type: Grant
    Filed: June 6, 2000
    Date of Patent: September 5, 2006
    Assignee: Intel Corporation
    Inventors: Phil C. Cayton, Harinarayanan Seshadri, Arlin R. Davis
  • Publication number: 20030043794
    Abstract: A technique for multiplexing data streams in a data network. To avoid copying the data when it is sent, the technique utilizes different operations such as the RDMA Read and RDMA Write operation. By utilizing this approach rather than the standard send and receive operations, it is not necessary to copy the data so that the number of messages and interrupts is reduced, thus reducing latency and the use of CPU time.
    Type: Application
    Filed: September 6, 2001
    Publication date: March 6, 2003
    Inventors: Phil C. Cayton, Ellen M. Deleganes, Frank L. Berry