Patents by Inventor Brent William Jacobs

Brent William Jacobs 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: 10235069
    Abstract: A method and apparatus for accessing a storage device is disclosed. More specifically, for load balancing by dynamically transferring memory address range assignments. In one embodiment, a storage device receives, from a host apparatus, an access request directed at two or more storage addresses, assigns, based on a first storage address of the two or more storage addresses, the access request to a first processor of two or more processors of the storage device, obtains a local memory lock based on the first storage address, determines, based on a second storage address of the two or more storage addresses, that the second storage address is assigned to a second processor of the two or more processors, obtains a remote memory lock from the second processor based on the second storage address and processes the access request.
    Type: Grant
    Filed: December 22, 2016
    Date of Patent: March 19, 2019
    Assignee: Western Digital Technologies, Inc.
    Inventors: Adam Michael Espeseth, Brent William Jacobs
  • Publication number: 20180181328
    Abstract: A method and apparatus for accessing a storage device is disclosed. More specifically, for load balancing by dynamically transferring memory address range assignments. In one embodiment, a storage device receives, from a host apparatus, an access request directed at two or more storage addresses, assigns, based on a first storage address of the two or more storage addresses, the access request to a first processor of two or more processors of the storage device, obtains a local memory lock based on the first storage address, determines, based on a second storage address of the two or more storage addresses, that the second storage address is assigned to a second processor of the two or more processors, obtains a remote memory lock from the second processor based on the second storage address and processes the access request.
    Type: Application
    Filed: December 22, 2016
    Publication date: June 28, 2018
    Inventors: Adam Michael ESPESETH, Brent William JACOBS
  • Patent number: 8245233
    Abstract: A method, a system and a computer program product for selecting a primary controller for a server system based on the services offered by each controller. A primary controller designator (PCD) utility determines the relative importance of a controller based upon the services provided by the controller and the weighted importance assigned to these services. The PCD utility classifies the services provided by a system-controller according to the following: (1) the number of OS partitions a system-controller is able to communicate with; and (2) the number of hardware devices that a controller has access to. The importance of the services is determined by the host OS partition information and the degree of importance of a partition that utilizes/requires the particular service(s). The PCD utility designates a controller as a “Primary” if the designated “Primary” is capable of providing services that are required for the most important OS partitions, according to the classification of controller services.
    Type: Grant
    Filed: December 16, 2008
    Date of Patent: August 14, 2012
    Assignee: International Business Machines Corporation
    Inventors: Anis M. Abdul, Brent William Jacobs, Ajay Kumar Mahajan, Atit D. Patel
  • Patent number: 7996359
    Abstract: A method, system, and computer usable program product for managing multi-node multi-version systems are provided in the illustrative embodiments. A process associates a version identifier with a first version of data available at a first node in the multi-node multi-version system. The version identifier corresponds to the first version of the data. The data includes an update. The process sends the data and the associated version identifier to a second node without learning a second version of data available at the second node. In one embodiment, the first version of data may be a subset of the second version of data. In another embodiment the second version of data may be a subset of the first version of data. The process repeats the sending for each update at the first node.
    Type: Grant
    Filed: June 16, 2008
    Date of Patent: August 9, 2011
    Assignee: International Business Machines Corporation
    Inventors: Nicholas Anthony Pietraniec, Ajay Kumar Mahajan, Anis M Abdul, Brent William Jacobs
  • Patent number: 7941652
    Abstract: A method, apparatus and computer program product are provided for implementing atomic data tracing in a processor system including an auxiliary processor unit (APU) coupled to a central processor unit (CPU). The auxiliary processor unit (APU) processes a trace instruction. When a trace instruction is identified by the APU, the APU signals the CPU with a pipeline stall signal for stalling the CPU and checks for an enabled trace engine as specified by the trace instruction. When the trace engine for the trace instruction is enabled, then the trace data is written into a trace buffer. The APU signals the CPU with an op done signal for allowing the CPU to continue with instruction processing.
    Type: Grant
    Filed: April 28, 2008
    Date of Patent: May 10, 2011
    Assignee: International Business Machines Corporation
    Inventors: Kraig Allan Bottemiller, Brent William Jacobs, James Albert Pieterick
  • Publication number: 20100153679
    Abstract: A method, a system and a computer program product for selecting a primary controller for a server system based on the services offered by each controller. A primary controller designator (PCD) utility determines the relative importance of a controller based upon the services provided by the controller and the weighted importance assigned to these services. The PCD utility classifies the services provided by a system-controller according to the following: (1) the number of OS partitions a system-controller is able to communicate with; and (2) the number of hardware devices that a controller has access to. The importance of the services is determined by the host OS partition information and the degree of importance of a partition that utilizes/requires the particular service(s). The PCD utility designates a controller as a “Primary” if the designated “Primary” is capable of providing services that are required for the most important OS partitions, according to the classification of controller services.
    Type: Application
    Filed: December 16, 2008
    Publication date: June 17, 2010
    Applicant: International Business Machines Corporation
    Inventors: Anis M. Abdul, Brent William Jacobs, Ajay Kumar Marajian, Atit D. Patel
  • Patent number: 7657730
    Abstract: In response to the start of an initialization sequence at a service processor, if power to a main processor was interrupted at a most-recent time that an operating system executed on the main processor, power to the main processor is turned on, the operating system is started executing on the main processor, data from the non-volatile memory of the service processor is provided to the operating system, and the service processor is reset, which restarts the initialization sequence. If the power to the main processor was not interrupted at the most-recent time that the operating system executed on the main processor, and if the operating system is currently executing on the main processor, a monitoring function is started in the service processor, which monitors for errors at a computer system.
    Type: Grant
    Filed: July 7, 2006
    Date of Patent: February 2, 2010
    Assignee: International Business Machines Corporation
    Inventors: Salim Ahmed Agha, Gary Dean Anderson, Wayne Allan Britson, Brent William Jacobs, William Thomas Truskowski
  • Publication number: 20090313257
    Abstract: A method, system, and computer usable program product for managing multi-node multi-version systems are provided in the illustrative embodiments. A process associates a version identifier with a first version of data available at a first node in the multi-node multi-version system. The version identifier corresponds to the first version of the data. The data includes an update. The process sends the data and the associated version identifier to a second node without learning a second version of data available at the second node. In one embodiment, the first version of data may be a subset of the second version of data. In another embodiment the second version of data may be a subset of the first version of data. The process repeats the sending for each update at the first node.
    Type: Application
    Filed: June 16, 2008
    Publication date: December 17, 2009
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Nicholas Anthony Pietraniec, Ajay Kumar Mahajan, Anis M. Abdul, Brent William Jacobs
  • Patent number: 7536493
    Abstract: The aspects of the present invention provide a computer implemented method, an apparatus, and a computer usable program code for identifying a service processor with current setting information. First stored information for a service processor is retrieved from a first memory in the first service processor. Second stored information for the service processor is retrieved from a second memory in a data processing system to which the service processor is connected. The first stored information is compared with the second stored information to form a comparison as to whether the service processor was previously connected to the data processing system and to determine whether the service processor was a last service processor to fully communicate with system firmware in the data processing system. The service processor has current setting information if the service processor was previously connected to the data processing system and was the last service processor to fully communicate with the system firmware.
    Type: Grant
    Filed: April 12, 2006
    Date of Patent: May 19, 2009
    Assignee: International Business Machines Corporation
    Inventors: Gary Dean Anderson, Joseph Donald Armstrong, Brent William Jacobs, Ajay Kumar Mahajan
  • Publication number: 20080201615
    Abstract: A method, apparatus and computer program product are provided for implementing atomic data tracing in a processor system including an auxiliary processor unit (APU) coupled to a central processor unit (CPU). The auxiliary processor unit (APU) processes a trace instruction. When a trace instruction is identified by the APU, the APU signals the CPU with a pipeline stall signal for stalling the CPU and checks for an enabled trace engine as specified by the trace instruction. When the trace engine for the trace instruction is enabled, then the trace data is written into a trace buffer. The APU signals the CPU with an op done signal for allowing the CPU to continue with instruction processing.
    Type: Application
    Filed: April 28, 2008
    Publication date: August 21, 2008
    Applicant: International Business Machines Corporation
    Inventors: Kraig Allan Bottemiller, Brent William Jacobs, James Albert Pieterick
  • Patent number: 7383428
    Abstract: A method, apparatus and computer program product are provided for implementing atomic data tracing in a processor system including an auxiliary processor unit (APU) coupled to a central processor unit (CPU). The auxiliary processor unit (APU) processes a trace instruction. When a trace instruction is identified by the APU, the APU signals the CPU with a pipeline stall signal for stalling the CPU and checks for an enabled trace engine as specified by the trace instruction. When the trace engine for the trace instruction is enabled, then the trace data is written into a trace buffer. The APU signals the CPU with an op done signal for allowing the CPU to continue with instruction processing.
    Type: Grant
    Filed: September 11, 2003
    Date of Patent: June 3, 2008
    Assignee: International Business Machines Corporation
    Inventors: Kraig Allan Bottemiller, Brent William Jacobs, James Albert Pieterick
  • Publication number: 20080010445
    Abstract: In response to the start of an initialization sequence at a service processor, if power to a main processor was interrupted at a most-recent time that an operating system executed on the main processor, power to the main processor is turned on, the operating system is started executing on the main processor, data from the non-volatile memory of the service processor is provided to the operating system, and the service processor is reset, which restarts the initialization sequence. If the power to the main processor was not interrupted at the most-recent time that the operating system executed on the main processor, and if the operating system is currently executing on the main processor, a monitoring function is started in the service processor, which monitors for errors at a computer system.
    Type: Application
    Filed: July 7, 2006
    Publication date: January 10, 2008
    Inventors: Salim Ahmed Agha, Gary Dean Anderson, Wayne Allan Britson, Brent William Jacobs, William Thomas Truskowski
  • Patent number: 7308609
    Abstract: A method, computer program product, and a data processing system for generating a data dump in a data processing system is provided. A system boot of the data processing system is initialized. A firmware that includes fault collection logic is executed. A data dump is created in a persistent storage of the data processing system. An attempt is made to complete the system boot of the data processing system.
    Type: Grant
    Filed: April 8, 2004
    Date of Patent: December 11, 2007
    Assignee: International Business Machines Corporation
    Inventors: Marc Alan Dickenson, Brent William Jacobs, Michael Youhour Lim
  • Patent number: 7266083
    Abstract: A method, apparatus and computer program product are provided for implementing queue pair connection protection over an interconnect network, such as InfiniBand. A message packet is received for a queue pair (QP) and the QP is checked for an imminent connection failure. Responsive to identifying an imminent connection failure, a special message processing mode is established for the QP. After the special message processing mode is established, packets of the message are received without establishing a message queue entry and without storing packet data.
    Type: Grant
    Filed: February 26, 2003
    Date of Patent: September 4, 2007
    Assignee: International Business Machines Corporation
    Inventors: Michael Joseph Carnevale, Charles Scott Graham, Brent William Jacobs, Daniel Frank Moertl, Timothy Jerry Schimke, Lee Anton Sendelbach
  • Patent number: 7089396
    Abstract: A method and profiling cache for management of virtual memory includes a set of entries stored in the profiling cache. Each entry of the set of entries includes a page address, a time stamp for the page address and a least recently used (LRU) count; and the LRU count is updated for each access of the page address. Entries in the profiling cache are cast out using the LRU counts. A translation lookaside buffer (TLB) includes a first TLB section for storing a plurality of temporarily pinned entries and a second TLB section for storing a plurality of non-pinned entries. Responsive to a TLB interrupt, an entry is loaded in the second TLB section using a first in first out algorithm for replacing the non-pinned entries. The first TLB portion is periodically updated utilizing identified ones of the set of entries in the profiling cache having oldest time stamps.
    Type: Grant
    Filed: October 10, 2002
    Date of Patent: August 8, 2006
    Assignee: International Business Machines Corporation
    Inventors: Kraig Allan Bottemiller, Brent William Jacobs, James A. Pieterick
  • Patent number: 7003647
    Abstract: A method, apparatus and computer program product are provided for dynamically minimizing translation lookaside buffer (TLB) entries across contiguous memory. A page table with page table entries (PTEs) is provided for mapping multiple sized pages from a virtual address space to a physical address space. Each of the multiple sized pages is a multiple of a base page size. A region of memory having a starting address and a length is divided into a minimum number of natural blocks for the memory region. Once the region of memory is divided into the natural blocks, page table entries (PTEs) are assigned to map each natural block. Multiple identical PTEs are required to map each natural block greater than a base page size. Only one TLB entry is used to map each natural block.
    Type: Grant
    Filed: April 24, 2003
    Date of Patent: February 21, 2006
    Assignee: International Business Machines Corporation
    Inventors: Brent William Jacobs, James Albert Pieterick
  • Patent number: 6922765
    Abstract: In a physical memory space, a pinned memory region is defined at one end of the space and a non-pinned region is defined at the other end of the space. A free region is between the pinned and non-pinned regions. Requests for pinned memory allocations are satisfied either by using holes in the pinned region or by appending the requested block to the end of the pinned region in the free region. The free region may be widened to accommodate pinned memory allocations. Requests for non-pinned memory allocations are satisfied by holes in the non-pinned region, by being appended to the non-pinned region in the free region or by filling holes in the pinned region, in that order.
    Type: Grant
    Filed: June 21, 2001
    Date of Patent: July 26, 2005
    Assignee: International Business Machines Corporation
    Inventor: Brent William Jacobs
  • Publication number: 20040215918
    Abstract: A method, apparatus and computer program product are provided for dynamically minimizing translation lookaside buffer (TLB) entries across contiguous memory. A page table with page table entries (PTEs) is provided for mapping multiple sized pages from a virtual address space to a physical address space. Each of the multiple sized pages is a multiple of a base page size. A region of memory having a starting address and a length is divided into a minimum number of natural blocks for the memory region. Once the region of memory is divided into the natural blocks, page table entries (PTEs) are assigned to map each natural block. Multiple identical PTEs are required to map each natural block greater than a base page size. Only one TLB entry is used to map each natural block.
    Type: Application
    Filed: April 24, 2003
    Publication date: October 28, 2004
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Brent William Jacobs, James Albert Pieterick
  • Publication number: 20040165607
    Abstract: A method, apparatus and computer program product are provided for implementing queue pair connection protection over an interconnect network, such as InfiniBand. A message packet is received for a queue pair (QP) and the QP is checked for an imminent connection failure. Responsive to identifying an imminent connection failure, a special message processing mode is established for the QP. After the special message processing mode is established, packets of the message are received without establishing a message queue entry and without storing packet data.
    Type: Application
    Filed: February 26, 2003
    Publication date: August 26, 2004
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael Joseph Carnevale, Charles Scott Graham, Brent William Jacobs, Daniel Frank Moertl, Timothy Jerry Schimke, Lee Anton Sendelbach
  • Patent number: 6745288
    Abstract: When a new control thread is initialized in a multi-thread software program, it is determined whether a like control thread has previously been instantiated. If so, a stack offset for the new control thread is set to be staggered from the stack offset for the previously instantiated like thread. By staggering the stack offsets of respective duplicate control threads, cache conflicts may be minimized.
    Type: Grant
    Filed: May 21, 2002
    Date of Patent: June 1, 2004
    Assignee: International Business Machines Corporation
    Inventor: Brent William Jacobs