Patents by Inventor David R. Noeldner

David R. Noeldner 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: 9063561
    Abstract: Described embodiments provide for transferring data from one location to another location in a memory of a media controller. A transmit data path and a receive data path of the media controller are linked with a generic direct memory access (GDMA). The transmit data path includes a transmit (TX) buffer and the receive data path includes a receive (RX) buffer. The GDMA is programmed with a total transfer count and a transfer mode. The GDMA processes the movable data based on the total transfer count and the transfer mode by converting one or more portions of the movable data in the TX buffer into a predefined frame structure defined with status entries, which translates frames of the moveable data between the TX data path and the RX data path and synchronizes the movable data between the TX buffer and the RX buffer with the status entries.
    Type: Grant
    Filed: November 23, 2010
    Date of Patent: June 23, 2015
    Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
    Inventors: David R. Noeldner, Michael Bratvold
  • Patent number: 8868809
    Abstract: Described embodiments provide a media controller for servicing contexts corresponding to data transfer requests from host devices. The media controller includes a context generator for generating contexts corresponding to the data transfer requests and a buffer for storing one or more context pointers, each pointer corresponding to a context and an action by a system module associated with the context. A context processor is configured to complete a context when the action by a media controller module associated with the context is complete, remove each pointer from the buffer associated with the completed context, and determine whether an interrupt corresponds to the completed context and removed pointer. If no interrupt corresponds to the completed context, the completed context is cleared. If an interrupt corresponds to the completed context, the interrupt is provided to a master processor and a completed context recycler for recycling the completed context pointer to the context generator.
    Type: Grant
    Filed: November 23, 2010
    Date of Patent: October 21, 2014
    Assignee: LSI Corporation
    Inventors: David R. Noeldner, Michael Bratvold, Paul H. Smith
  • Patent number: 8583839
    Abstract: Described embodiments provide a method of transferring data from host devices to a media controller. The media controller generates a transfer context for each write request received from a host device. Receive-data threads corresponding to data transfer contexts for each transfer context are generated, each receive-data thread corresponding to a data transfer between a host device and the media controller. Buffer threads corresponding to data transfer contexts for each transfer context are generated, each buffer thread corresponding to a data transfer between the receive data path and a buffer subsystem. The receive-data and buffer threads are tracked for each transfer context. For each tracked transfer context, data from the receive datapath is iteratively transferred to the buffer subsystem for a previous data transfer context of the buffer thread while data from the host device is transferred to the receive datapath for a subsequent data transfer context of the receive-data thread.
    Type: Grant
    Filed: November 23, 2010
    Date of Patent: November 12, 2013
    Assignee: LSI Corporation
    Inventors: David R. Noeldner, Michael Bratvold
  • Patent number: 8352689
    Abstract: Described embodiments provide a method of allocating resources of a media controller for a data transfer. A data transfer request is received from at least one host device, and includes a host device ID and a data transfer request ID. The media controller generates a Tag ID of the data transfer request based on the host device ID and the data transfer request ID, and generates a starting memory address of a tag table based on the Tag ID of the data transfer request. A tag count value is read from the starting memory address of the tag table. If the tag count value reaches a threshold, an absence of a tag overlap is determined and the Tag ID of the data transfer request is added to the tag table at the starting memory address.
    Type: Grant
    Filed: November 23, 2010
    Date of Patent: January 8, 2013
    Assignee: LSI Corporation
    Inventors: David R. Noeldner, Michael Bratvold, Paul H. Smith
  • Patent number: 8296480
    Abstract: Described embodiments provide a media controller for processing one or more data transfer requests received from at least one host device. The media controller includes a buffer to receive data of a data transfer request from a communication link and a command parser to generate one or more contexts corresponding to the data transfer request. The one or more contexts are stored in the buffer. At least one queue of the media controller includes a regular context queue for queuing regular-priority contexts, and a high-priority context queue for queuing high-priority contexts. A context manager coordinates processing of regular-priority contexts and high-priority contexts of the at least one queue based on context boundaries, wherein, when a context is processed at a context boundary, data corresponding to the processed context is data is transferred between the communication link and at least one of the buffer and the at least one storage media.
    Type: Grant
    Filed: November 23, 2010
    Date of Patent: October 23, 2012
    Assignee: LSI Corporation
    Inventors: David R. Noeldner, Michael Bratvold, Paul H. Smith
  • Patent number: 8200857
    Abstract: Described embodiments provide for transferring data between a host device and a storage media. A host data transfer request is received and a total size of the data transfer is determined. One or more contexts corresponding to the total size of the requested transfer are generated and are associated with transfers of data. If the data transfer is a write operation, one or more data segments from the host device are transferred into a buffer. The combined size of the data segments corresponds to the total size of the data transfer. In accordance with the contexts, the one or more data segments are transferred from the buffer to the storage media. If the requested data transfer is a read operation, in accordance with the contexts, data from the storage media is retrieved into a buffer and grouped into one or more segments, which are transmitted to the host device.
    Type: Grant
    Filed: November 23, 2010
    Date of Patent: June 12, 2012
    Assignee: LSI Corporation
    Inventors: David R. Noeldner, Michael Bratvold
  • Publication number: 20110131351
    Abstract: Described embodiments provide for transferring data between a host device and a storage media. A host data transfer request is received and a total size of the data transfer is determined. One or more contexts corresponding to the total size of the requested transfer are generated and are associated with transfers of data. If the data transfer is a write operation, one or more data segments from the host device are transferred into a buffer. The combined size of the data segments corresponds to the total size of the data transfer. In accordance with the contexts, the one or more data segments are transferred from the buffer to the storage media. If the requested data transfer is a read operation, in accordance with the contexts, data from the storage media is retrieved into a buffer and grouped into one or more segments, which are transmitted to the host device.
    Type: Application
    Filed: November 23, 2010
    Publication date: June 2, 2011
    Inventors: David R. Noeldner, Michael Bratvold
  • Publication number: 20110131357
    Abstract: Described embodiments provide a media controller for servicing contexts corresponding to data transfer requests from host devices. The media controller includes a context generator for generating contexts corresponding to the data transfer requests and a buffer for storing one or more context pointers, each pointer corresponding to a context and an action by a system module associated with the context. A context processor is configured to complete a context when the action by a media controller module associated with the context is complete, remove each pointer from the buffer associated with the completed context, and determine whether an interrupt corresponds to the completed context and removed pointer. If no interrupt corresponds to the completed context, the completed context is cleared. If an interrupt corresponds to the completed context, the interrupt is provided to a master processor and a completed context recycler for recycling the completed context pointer to the context generator.
    Type: Application
    Filed: November 23, 2010
    Publication date: June 2, 2011
    Inventors: David R. Noeldner, Michael Bratvold, Paul H. Smith
  • Publication number: 20110131375
    Abstract: Described embodiments provide a method of allocating resources of a media controller for a data transfer. A data transfer request is received from at least one host device, and includes a host device ID and a data transfer request ID. The media controller generates a Tag ID of the data transfer request based on the host device ID and the data transfer request ID, and generates a starting memory address of a tag table based on the Tag ID of the data transfer request. A tag count value is read from the starting memory address of the tag table. If the tag count value reaches a threshold, an absence of a tag overlap is determined and the Tag ID of the data transfer request is added to the tag table at the starting memory address.
    Type: Application
    Filed: November 23, 2010
    Publication date: June 2, 2011
    Inventors: David R. Noeldner, Michael Bratvold, Paul H. Smith
  • Publication number: 20110131346
    Abstract: Described embodiments provide a method of transferring data from host devices to a media controller. The media controller generates a transfer context for each write request received from a host device. Receive-data threads corresponding to data transfer contexts for each transfer context are generated, each receive-data thread corresponding to a data transfer between a host device and the media controller. Buffer threads corresponding to data transfer contexts for each transfer context are generated, each buffer thread corresponding to a data transfer between the receive data path and a buffer subsystem. The receive-data and buffer threads are tracked for each transfer context. For each tracked transfer context, data from the receive datapath is iteratively transferred to the buffer subsystem for a previous data transfer context of the buffer thread while data from the host device is transferred to the receive datapath for a subsequent data transfer context of the receive-data thread.
    Type: Application
    Filed: November 23, 2010
    Publication date: June 2, 2011
    Inventors: David R. Noeldner, Michael Bratvold
  • Publication number: 20110131374
    Abstract: Described embodiments provide for transferring data from one location to another location in a memory of a media controller. A transmit data path and a receive data path of the media controller are linked with a generic direct memory access (GDMA). The transmit data path includes a transmit (TX) buffer and the receive data path includes a receive (RX) buffer. The GDMA is programmed with a total transfer count and a transfer mode. The GDMA processes the movable data based on the total transfer count and the transfer mode by converting one or more portions of the movable data in the TX buffer into a predefined frame structure defined with status entries, which translates frames of the moveable data between the TX data path and the RX data path and synchronizes the movable data between the TX buffer and the RX buffer with the status entries.
    Type: Application
    Filed: November 23, 2010
    Publication date: June 2, 2011
    Inventors: David R. Noeldner, Michael Bratvold
  • Publication number: 20110131360
    Abstract: Described embodiments provide a media controller for processing one or more data transfer requests received from at least one host device. The media controller includes a buffer to receive data of a data transfer request from a communication link and a command parser to generate one or more contexts corresponding to the data transfer request. The one or more contexts are stored in the buffer. At least one queue of the media controller includes a regular context queue for queuing regular-priority contexts, and a high-priority context queue for queuing high-priority contexts. A context manager coordinates processing of regular-priority contexts and high-priority contexts of the at least one queue based on context boundaries, wherein, when a context is processed at a context boundary, data corresponding to the processed context is data is transferred between the communication link and at least one of the buffer and the at least one storage media.
    Type: Application
    Filed: November 23, 2010
    Publication date: June 2, 2011
    Inventors: David R. Noeldner, Michael Bratvold, Paul H. Smith
  • Patent number: 7181548
    Abstract: The present invention includes a Command Queuing Engine (CQE) that is a firmware-assist block which processes some of the firmware tasks related to command and context management preferably for SCSI. When enabled, CQE will decode SCSI commands as they arrive, and determine if DMA contexts can be automatically configured and started to transfer the data for those commands. CQE can also program DMA contexts to automatically return status information either after the disk has completed a transfer (as in non-cached writes) or after the DMA transfer is completed (as in reads or cached writes). CQE also utilizes a buffer-based linked-list to queue the SCSI commands as they arrive for future DMA context configuration. The present invention provides automated recognition and linking of commands belonging to a common thread, i.e., are sequential. The present invention also provides extensive thread boundary information and flexible firmware control for reordering commands.
    Type: Grant
    Filed: October 30, 1998
    Date of Patent: February 20, 2007
    Assignee: LSI Logic Corporation
    Inventors: Jackson L. Ellis, David R. Noeldner, David M. Springberg, Graeme M. Weston-Lewis
  • Patent number: 6449666
    Abstract: The present invention includes a Command Queuing Engine (CQE) that is a firmware-assist block which processes some of the firmware tasks related to command and context management preferably for SCSI. When enabled, CQE will decode SCSI commands as they arrive, and determine if DMA contexts can be automatically configured and started to transfer the data for those commands. CQE can also program DMA contexts to automatically return status information either after the disk has completed a transfer (as in non-cached writes) or after the DMA transfer is completed (as in reads or cached writes). CQE also utilizes a buffer-based linked-list to queue the SCSI commands as they arrive for future DMA context configuration. The present invention provides automated recognition and linking of commands belonging to a common thread, i.e., are sequential. The present invention also provides extensive thread boundary information and flexible firmware control for reordering commands.
    Type: Grant
    Filed: December 31, 1998
    Date of Patent: September 10, 2002
    Assignee: LSI Logic Corporation
    Inventors: David R. Noeldner, Graeme M. Weston-Lewis, Jackson L. Ellis
  • Publication number: 20020108003
    Abstract: The present invention includes a Command Queuing Engine (CQE) that is a firmware-assist block which processes some of the firmware tasks related to command and context management preferably for SCSI. When enabled, CQE will decode SCSI commands as they arrive, and determine if DMA contexts can be automatically configured and started to transfer the data for those commands. CQE can also program DMA contexts to automatically return status information either after the disk has completed a transfer (as in non-cached writes) or after the DMA transfer is completed (as in reads or cached writes). CQE also utilizes a buffer-based linked-list to queue the SCSI commands as they arrive for future DMA context configuration. The present invention provides automated recognition and linking of commands belonging to a common thread, i.e., are sequential. The present invention also provides extensive thread boundary information and flexible firmware control for reordering commands.
    Type: Application
    Filed: October 30, 1998
    Publication date: August 8, 2002
    Inventors: JACKSON L. ELLIS, DAVID R. NOELDNER, DAVID M. SPRINGBERG, GRAEME M. WESTON-LEWIS
  • Publication number: 20020013866
    Abstract: The present invention includes a Command Queuing Engine (CQE) that is a firmware-assist block which processes some of the firmware tasks related to command and context management preferably for SCSI. When enabled, CQE will decode SCSI commands as they arrive, and determine if DMA contexts can be automatically configured and started to transfer the data for those commands. CQE can also program DMA contexts to automatically return status information either after the disk has completed a transfer (as in non-cached writes) or after the DMA transfer is completed (as in reads or cached writes). CQE also utilizes a buffer-based linked-list to queue the SCSI commands as they arrive for future DMA context configuration. The present invention provides automated recognition and linking of commands belonging to a common thread, i.e., are sequential. The present invention also provides extensive thread boundary information and flexible firmware control for reordering commands.
    Type: Application
    Filed: December 31, 1998
    Publication date: January 31, 2002
    Inventors: DAVID R. NOELDNER, GRAEME M. WESTON-LEWIS, JACKSON L. ELLIS
  • Patent number: 6324594
    Abstract: The present invention includes a Command Queuing Engine (CQE) that is a firmware-assist block which processes some of the firmware tasks related to command and context management preferably for SCSI. When enabled, CQE will decode SCSI commands as they arrive, and determine if DMA contexts can be automatically configured and started to transfer the data for those commands. CQE can also program DMA contexts to automatically return status information either after the disk has completed a transfer (as in non-cached writes) or after the DMA transfer is completed (as in reads or cached writes). CQE also utilizes a buffer-based linked-list to queue the SCSI commands as they arrive for future DMA context configuration. The present invention provides automated recognition and linking of commands belonging to a common thread, i.e., are sequential. The present invention also provides extensive thread boundary information and flexible firmware control for reordering commands.
    Type: Grant
    Filed: December 31, 1998
    Date of Patent: November 27, 2001
    Assignee: LSI Logic Corporation
    Inventors: Jackson L. Ellis, David R. Noeldner, David M. Springberg, Graeme M. Weston-Lewis
  • Patent number: 6247040
    Abstract: In a storage target device controller capable of managing multiple command contexts, methods and associated apparatus are provided for automatically managing the plurality of contexts using a state machine model. The state machine model is operable on a target device controller having an active context register set for processing of the presently active transfer on the host channel and an inactive context register set for storing an inactive context. The active context register set and inactive context register set are rapidly and automatically swapped by operation of the state machine model to resume or start processing of an inactive context. Additional inactive contexts are stored in a buffer memory associated with the target device controller. The inactive context register set is automatically stored into a selected one of the additional inactive contexts or loaded from a selected one of the additional inactive contexts by operation of the state machine model of the present invention.
    Type: Grant
    Filed: September 30, 1996
    Date of Patent: June 12, 2001
    Assignee: LSI Logic Corporation
    Inventors: Richard M. Born, Jackson L. Ellis, David R. Noeldner
  • Patent number: 6148326
    Abstract: In a storage target device controller capable of managing multiple command contexts, methods and associated apparatus are provided for enabling simultaneous, independent operation of the disk channel and the host channel. In a multi-context target device controller, an active context initiates a requested exchange of data blocks between the host channel and the disk channel of the target device. The controller may swap the active context with an inactive context to better utilize resources of the target device such as the host channel bandwidth. The present invention provides for continued independent operation of the host channel and the disk channel. Counters associated with the active context are only updated by operation of the disk channel if the active context is the initiating context of the disk operations.
    Type: Grant
    Filed: September 30, 1996
    Date of Patent: November 14, 2000
    Assignee: LSI Logic Corporation
    Inventors: Richard M. Born, Jackson L. Ellis, David R. Noeldner
  • Patent number: 6081849
    Abstract: A storage target device controller (such as an embedded controller in a SCSI disk drive) processes multiple commands concurrently in accordance with the methods and structures of the present invention. Each command is stored within its own context within the target device controller to retain all unique parameters required for the processing of each command. Processing of multiple commands permits switching of command contexts within the target device to improve utilization of resources associated with the target device. For example, when a first, active, command context is prevented from further processing due to the status of the disk channel, an inactive command context may be swapped with the active command context to better utilize the host channel communication bandwidth. Similarly, a first active command context may be configured to automatically switch to a linked command context upon completion of processing to further ease management of multiple contexts.
    Type: Grant
    Filed: October 1, 1996
    Date of Patent: June 27, 2000
    Assignee: LSI Logic Corporation
    Inventors: Richard M. Born, Jackson L. Ellis, David M. Springberg, David R. Noeldner, Graeme M. Weston-Lewis