Patents by Inventor Richard Eugene Kessler

Richard Eugene Kessler 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).

  • Publication number: 20160011877
    Abstract: Executing instructions in a processor includes determining identifiers corresponding to instructions in at least one decode stage of a pipeline of the processor. A set of identifiers for at least one instruction include: at least one operation identifier identifying an operation to be performed by the instruction, at least one storage identifier identifying a storage location for storing an operand of the operation, and at least one storage identifier identifying a storage location for storing a result of the operation. A multi-dimensional identifier is assigned to at least one storage identifier.
    Type: Application
    Filed: July 11, 2014
    Publication date: January 14, 2016
    Inventors: Shubhendu Sekhar Mukherjee, Richard Eugene Kessler, David Albert Carlson
  • Publication number: 20160011876
    Abstract: Executing instructions in a processor includes classifying, in at least one stage of a pipeline of the processor, operations to be performed by instructions. The classifying includes: classifying a first set of operations as operations for which out-of-order execution is allowed, and classifying a second set of operations as operations for which out-of-order execution with respect to one or more specified operations is not allowed, the second set of operations including at least store operations. Results of instructions executed out-of-order are selected to commit the selected results in-order. The selecting includes, for a first result of a first instruction and a second result of a second instruction executed before and out-of-order relative to the first instruction: determining which stage of the pipeline stores the second result, and committing the first result directly from the determined stage over a forwarding path, before committing the second result.
    Type: Application
    Filed: July 11, 2014
    Publication date: January 14, 2016
    Inventors: Shubhendu Sekhar Mukherjee, Richard Eugene Kessler, David Albert Carlson
  • Publication number: 20150317091
    Abstract: A new approach is proposed that contemplates systems and methods to support mapping/importing remote storage devices as NVMe namespace(s) via an NVMe controller using a storage network protocol and utilizing one or more storage devices locally coupled to the NVMe controller as caches for fast access to the mapped remote storage devices. The NVMe controller exports and presents the NVMe namespace(s) of the remote storage devices to one or more VMs running on a host attached to the NVMe controller. Each of the VMs running on the host can then perform read/write operations on the logical volumes. During a write operation, data to be written to the remote storage devices by the VMs is stored in the locally coupled storage devices first before being transmitted over the network. The locally coupled storage devices may also cache data intelligently pre-fetched from the remote storage devices based on reading patterns and/or pre-configured policies of the VMs in anticipation of read operations.
    Type: Application
    Filed: June 27, 2014
    Publication date: November 5, 2015
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Brian FOLSOM, Richard Eugene KESSLER
  • Publication number: 20150319237
    Abstract: A new approach is proposed that contemplates systems and methods to support extensible/flexible storage access in real time by virtualizing a plurality of remote storage devices as NVMe namespace(s) via an NVMe controller using a storage network protocol. The NVMe controller exports and presents the remote storage devices to one or more VMs running on a host attached to the NVMe controller as the NVMe namespace(s), wherein these remote storage devices appear virtually as one or more logical volumes of a collection of logical blocks in the NVMe namespace(s) to the VMs. As a result, each of the VMs running on the host can access these remote storage devices to perform read/write operations as if they were local storage devices via the NVMe namespace(s).
    Type: Application
    Filed: June 10, 2014
    Publication date: November 5, 2015
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Brian FOLSOM, Richard Eugene KESSLER
  • Publication number: 20150317176
    Abstract: A new approach is proposed that contemplates systems and methods to support a plurality of value-added services for storage operations on a plurality of remote storage devices virtualized as extensible/flexible storages and NVMe namespace(s) via an NVMe controller in real time. First, the NVMe controller virtualizes and presents the remote storage devices to one or more VMs running on a host attached to the NVMe controller as logical volumes so that each of the VMs running on the host can perform read/write operations on the emote storage devices as if they were local storage devices. The NVMe controller then monitors and meters the resources consumed by the activities/operations by the VMs to the virtualized remote storage devices as well as the data being transmitted during such operations in real time and creates analytics for billing purposes.
    Type: Application
    Filed: August 29, 2014
    Publication date: November 5, 2015
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Brian FOLSOM, Richard Eugene KESSLER
  • Publication number: 20150317177
    Abstract: A new approach is proposed that contemplates systems and methods to support (live or quiesced) migration of virtual machines (VMs) accessing a set of remote storage devices over a network via non-volatile memory express (NVMe) controllers from a current host to a destination host. At the time of the VM migration, a first virtual NVMe controller running on a first physical NVMe controller enables a first VM running on the current host to access and perform a plurality of storage operations to one or more logical volumes mapped to the remote storage devices over the network as if they were local storage volumes. During the VM migration process, the current host puts the first virtual NVMe controller serving the first VM into a quiesce state, captures and saves an image of states of the first virtual NVMe controller on the first host.
    Type: Application
    Filed: November 10, 2014
    Publication date: November 5, 2015
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Brian FOLSOM, Richard Eugene KESSLER
  • Publication number: 20150317088
    Abstract: A new approach is proposed that contemplates systems and methods to virtualize a physical NVMe controller associated with a computing device or host so that every virtual machine running on the host can have its own dedicated virtual NVMe controller. First, a plurality of virtual NVMe controllers are created on a single physical NVMe controller, which is associated with one or more storage devices. Once created, the plurality of virtual NVMe controllers are provided to VMs running on the host in place of the single physical NVMe controller attached to the host, and each of the virtual NVMe controllers organizes the storage units to be accessed by its corresponding VM as a logical volume. As a result, each of the VMs running on the host has its own namespace(s) and can access its storage devices directly through its own virtual NVMe controller.
    Type: Application
    Filed: May 16, 2014
    Publication date: November 5, 2015
    Applicant: CAVIUM, INC.
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Brian FOLSOM, Richard Eugene KESSLER
  • Publication number: 20150319243
    Abstract: A new approach is proposed that contemplates systems and methods to support hot plugging and/or unplugging one or more of remote storage devices virtualized as extensible/flexible storages and NVMe namespace(s) via an NVMe controller during operation. First, the NVMe controller virtualizes and presents a set of remote storage devices to one or more VMs running on a host attached to the NVMe controller as logical volumes in the NVMe namespace(s) so that each of the VMs running on the host can access these remote storage devices to perform read/write operations as if they were local storage devices.
    Type: Application
    Filed: September 25, 2014
    Publication date: November 5, 2015
    Inventors: Muhammad Raghib HUSSAIN, Vishal MURGAI, Manojkumar PANICKER, Faisal MASOOD, Brian FOLSOM, Richard Eugene KESSLER
  • Publication number: 20150242655
    Abstract: A semiconductor includes a set of protected hardware resources, where at least one protected hardware resource stores a secure key. The semiconductor also includes a computation kernel and a memory to store a resource enablement module executed by the computation kernel. The resource enablement module selectively enables a protected hardware resource in response to a delivered key corresponding to the secure key.
    Type: Application
    Filed: February 24, 2015
    Publication date: August 27, 2015
    Applicant: Cavium, Inc.
    Inventors: Amer Haider, Muhammad Raghib Hussain, Richard Eugene Kessler
  • Publication number: 20150220872
    Abstract: A method and a system embodying the method for processing conflicting work, comprising: receiving a work request, the work request indicating one or more groups from a plurality of groups; finding work by arbitrating among a plurality of queues of the one or more groups; determining whether the found work conflicts with another work; returning the found work when the determination is negative; and adding the found work into a tag-chain when the determination is affirmative is disclosed.
    Type: Application
    Filed: February 3, 2014
    Publication date: August 6, 2015
    Applicant: CAVIUM, INC.
    Inventors: Wilson Parkhurst Snyder, II, Richard Eugene Kessler, Daniel Edward Dever, David Kravitz
  • Publication number: 20150222698
    Abstract: A method and a system embodying the method for work request arbitration, comprising receiving a work request, the work request indicating one or more groups from a plurality of groups; determining at least one of a plurality of parameters in accordance with the received work request; determining eligibility to provide work among the one or more groups that have work in a work queue in accordance with a first set of the plurality of parameters; and selecting one of the determined eligible groups to provide the work in accordance with a second set of the plurality of parameters is disclosed.
    Type: Application
    Filed: February 3, 2014
    Publication date: August 6, 2015
    Applicant: CAVIUM, INC.
    Inventors: Wilson Parkhurst Snyder, II, Richard Eugene Kessler, Daniel Edward Dever, Nitin Dhiroobhai Godiwala, David Kravitz
  • Publication number: 20150220360
    Abstract: A method and a system embodying the method for pre-fetching and processing work for processor cores in a network processor, comprising requesting pre-fetch work by a requestor; determining that the work may be pre-fetched for the requestor; searching for the work to pre-fetch; and pre-fetching the found work into one of one or more pre-fetch work-slots associated with the requestor is disclosed.
    Type: Application
    Filed: February 3, 2014
    Publication date: August 6, 2015
    Applicant: CAVIUM, INC.
    Inventors: Wilson Parkhurst Snyder, II, Richard Eugene Kessler, Daniel Edward Dever, Nitin Dhiroobhai Godiwala
  • Publication number: 20150188816
    Abstract: A method and a system embodying the method for information lookup request processing at a look-aside processor unit comprising storing a received lookup transaction request in a first buffer; rebuilding the lookup transaction request into a request packet; transmitting the request packet; receiving a packet; determining whether the received packet comprises a response packet or an exception packet; and processing the received packet in accordance with the determining is disclosed. Furthermore, a method and a system embodying the method for exception packet processing at a look-aside processor unit comprising storing at least one received lookup transaction request in a first buffer; receiving a packet; determining that the received packet comprises an exception packet; and associating the exception packet with one of the at least one stored lookup transaction request in accordance with an identifier of the first buffer is disclosed.
    Type: Application
    Filed: December 27, 2013
    Publication date: July 2, 2015
    Applicant: CAVIUM, INC.
    Inventors: Wilson Parkhurst Snyder, II, Steven Craig Barner, Richard Eugene Kessler
  • Patent number: 8544106
    Abstract: Systems and methods are disclosed for enabling access to a protected hardware resource. A hardware component includes at least one protected hardware resource. A unique hardware ID and a unique cryptographically secure or randomly generated enable value (EV) are integrated in the hardware component at the time of manufacturing. At run-time, special software generates or receives from an external source an enable register (ER) value and a comparison is made with the stored enable value. If the ER value and the EV match, access to the protected hardware resource is allowed.
    Type: Grant
    Filed: August 1, 2010
    Date of Patent: September 24, 2013
    Assignee: Cavium, Inc.
    Inventors: Amer Haider, Steven Craig Barner, Richard Eugene Kessler
  • Publication number: 20120027199
    Abstract: Systems and methods are disclosed for enabling access to a protected hardware resource. A hardware component includes at least one protected hardware resource. A unique hardware ID and a unique cryptographically secure or randomly generated enable value (EV) are integrated in the hardware component at the time of manufacturing. At run-time, special software generates or receives from an external source an enable register (ER) value and a comparison is made with the stored enable value. If the ER value and the EV match, access to the protected hardware resource is allowed.
    Type: Application
    Filed: August 1, 2010
    Publication date: February 2, 2012
    Applicant: CAVIUM NETWORKS
    Inventors: Amer Haider, Steven Craig Barner, Richard Eugene Kessler
  • Patent number: 6463523
    Abstract: Load/store execution order violations in an out-of-order processor are reduced by determining whether a source address of a load instruction is the same as a destination address of a store instruction on which execution the load instruction depends. If they are the same, then execution of the load instruction is delayed until execution of the store instruction. In an system where virtual registers are mapped to a physical register, the physical registers mapped by the store and load instructions are compared. A table has entries corresponding to instructions in an instruction queue. In each table entry corresponding to a store instruction, the store instruction's destination address offset and physical register reference are saved. A load instruction's source address offset and physical reference are compared with each of the table entries corresponding to store instructions to determine whether a dependency exists.
    Type: Grant
    Filed: July 29, 1999
    Date of Patent: October 8, 2002
    Assignee: Compaq Information Technologies Group, L.P.
    Inventors: Richard Eugene Kessler, Rahul Razdan, Edward John Mclellan