Patents by Inventor Mark J. Thompson

Mark J. Thompson 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: 7426633
    Abstract: There is provided a system and a method for reflashing disk drive firmware. Specifically, there is provided a method comprising storing a firmware flash image in a storage area on a disk drive, initiating power-on self test operations for the computer, and reflashing firmware associated with the disk drive using the firmware flash image stored on the disk drive, wherein the reflashing occurs during the power-on self test operations.
    Type: Grant
    Filed: May 12, 2005
    Date of Patent: September 16, 2008
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Mark J. Thompson, Mark B. Harris, Peter C. Fry
  • Publication number: 20080209198
    Abstract: Boot acceleration for computer systems is disclosed. In an exemplary embodiment, a method of boot acceleration for a computer system may comprise monitoring data requests during a boot procedure. The method may also comprise pre-fetching data from a storage device during a subsequent boot procedure based at least in part on the monitored data requests. The method may also comprise accessing the pre-fetched data from a cache to accelerate the subsequent boot procedure.
    Type: Application
    Filed: February 26, 2007
    Publication date: August 28, 2008
    Inventors: Timothy W. Majni, Mark J. Thompson
  • Publication number: 20080065875
    Abstract: A computing apparatus comprises a system Read-Only Memory (ROM) comprising a system Basic Integrated Operating System (BIOS) that implements Redundant Array of Independent Disks (RAID) protection on a boot volume.
    Type: Application
    Filed: September 8, 2006
    Publication date: March 13, 2008
    Inventor: Mark J. Thompson
  • Publication number: 20080028162
    Abstract: An embodiment of a data misalignment correction method for a mass storage controller system that couples drives having large internal block sizes to a computer operating system having input/output data block requests, including automatically determining an amount of misalignment between a request of the input/output data block to the storage controller and the controller's current data alignment configuration and using the amount of misalignment to realign the mass storage controller system configuration to match the operating system's input/output requests for optimizing input/output performance with the attached drives.
    Type: Application
    Filed: July 26, 2006
    Publication date: January 31, 2008
    Inventor: Mark J. Thompson
  • Patent number: 7296135
    Abstract: An embodiment of a data misalignment correction method for a mass storage drive array subsystem coupled to a computer operating system having input/output data block requests is provided. The data misalignment correction method includes automatically determining an amount of misalignment between a requested data block and a current data block alignment configuration, using the amount of misalignment to determine a preferred data bock alignment and realigning data block requests on the mass storage device according to the preferred data block alignment.
    Type: Grant
    Filed: October 5, 2005
    Date of Patent: November 13, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Mark J. Thompson
  • Patent number: 7281089
    Abstract: Storage controllers and related methods of operation are described. One method tracks storage access operations to a logical disk. The method persistently identifies storage blocks that have been accessed. Responsive to the identifying, the method selectively skips subsequent operations to storage blocks that have not been accessed.
    Type: Grant
    Filed: February 28, 2005
    Date of Patent: October 9, 2007
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Mark J. Thompson, Stephen M. Schultz
  • Patent number: 6918007
    Abstract: A single read request to a memory controller generates multiple read actions along with XOR/DATUM manipulation of that read data. Fewer memory transfers are required to accomplish a RAID5/DATUM parity update. This allows for higher system performance when memory bandwidth is the limiting system component. In implementation, a read buffer with XOR capability is tightly coupled to a memory controller. New parity does not need to be stored in the controller's memory. Instead, a memory read initiates multiple reads from memory based on an address decode. The data from the reads are multiplied and XOR'd before being returned to the requestor. In the case of a PCI-X requestor, this occurs as a split-completion.
    Type: Grant
    Filed: September 9, 2002
    Date of Patent: July 12, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Albert H. Chang, Jeff M. Carlson, Christopher Garza, Mark J. Thompson
  • Patent number: 6898668
    Abstract: A method of operating a storage controller that receives data access requests containing a logical block address and a count of blocks involved in the access request. A record is generated and persistently stored indicating whether particular logical block addresses have been accessed since creation. The persistent record is subsequently accessed to enable selected operations to be skipped or aborted when they selected operations involve logical block addresses that have never been accessed.
    Type: Grant
    Filed: June 24, 2002
    Date of Patent: May 24, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Mark J. Thompson, Stephen M. Schultz
  • Patent number: 6772310
    Abstract: A computer system that cleans buffer memory as a background task. The system includes a transfer buffer, a memory that stores an index or table indicating free and non-zero data sectors within the transfer buffer, and processing logic that uses the transfer buffer for data transfer operations, and when otherwise idle, that scans the index table for contiguous sections of free and non-zero data sectors of the transfer buffer and that zeroes at least one of the contiguous sections. The system allocates buffer memory and performs parallel logic operations into the buffer, such as XOR logic operations to generate new parity data. The buffer must first be zeroed or cleaned prior to the parallel operations. With the background task, the system is more likely to find an appropriate size buffer of free and zeroed data sectors in the transfer buffer to perform the parallel logic operations.
    Type: Grant
    Filed: December 4, 2001
    Date of Patent: August 3, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Mark J. Thompson, Vincent J. Zimmer
  • Publication number: 20040049632
    Abstract: A single read request to a memory controller generates multiple read actions along with XOR/DATUM manipulation of that read data. Fewer memory transfers are required to accomplish a RAID5/DATUM parity update. This allows for higher system performance when memory bandwidth is the limiting system component. In implementation, a read buffer with XOR capability is tightly coupled to a memory controller. New parity does not need to be stored in the controller's memory. Instead, a memory read initiates multiple reads from memory based on an address decode. The data from the reads are multiplied and XOR'd before being returned to the requestor. In the case of a PCI-X requestor, this occurs as a split-completion.
    Type: Application
    Filed: September 9, 2002
    Publication date: March 11, 2004
    Inventors: Albert H. Chang, Jeff M. Carlson, Christopher Garza, Mark J. Thompson
  • Patent number: 6694479
    Abstract: A method and related system for generating error correction or parity information in a multiple disk computer system supporting multiple drive fault tolerance. The method involves defining parity equations to be based not only on data written to drives of the computer system but also on other parity information such that in solving for missing data, specific equations need not be used. Defining parity equations in this manner, in combination with a coefficient matrix that defines the coefficients of the various parity equations, ensures the ability to solve for the missing data even if some of the failed drives contain parity information.
    Type: Grant
    Filed: May 23, 2000
    Date of Patent: February 17, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Purna C. Murthy, Sohail Hameed, Mark J. Thompson
  • Publication number: 20030236944
    Abstract: A method of operating a storage controller that receives data access requests containing a logical block address and a count of blocks involved in the access request. A record is generated and persistently stored indicating whether particular logical block addresses have been accessed since creation. The persistent record is subsequently accessed to enable selected operations to be skipped or aborted when they selected operations involve logical block addresses that have never been accessed.
    Type: Application
    Filed: June 24, 2002
    Publication date: December 25, 2003
    Inventors: Mark J. Thompson, Stephen M. Schultz
  • Patent number: 6609145
    Abstract: A new and improved apparatus and method for rebuilding a replacement disk of a fault tolerant, mass storage drive array subsystem of a computer system. The method calls for a microprocessor to check a stripe for consistency. If the stripe is inconsistent, the microprocessor rebuilds a predetermined number of stripes. If the checked stripe is consistent, then the microprocessor checks a next stripe and repeats the above-described process. Because the drive array subsystem receives both system requests and rebuild requests, the present invention allows a user to select the drive array subsystem's priority in processing system requests versus rebuild requests, thereby allowing greater system access to the drive array subsystem during peak times of system requests.
    Type: Grant
    Filed: September 22, 1998
    Date of Patent: August 19, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Mark J. Thompson, Stephen M. Schultz
  • Publication number: 20020065984
    Abstract: A computer system that cleans buffer memory as a background task. The system includes a transfer buffer, a memory that stores an index or table indicating free and non-zero data sectors within the transfer buffer, and processing logic that uses the transfer buffer for data transfer operations, and when otherwise idle, that scans the index table for contiguous sections of free and non-zero data sectors of the transfer buffer and that zeroes at least one of the contiguous sections. The system allocates buffer memory and performs parallel logic operations into the buffer, such as XOR logic operations to generate new parity data. The buffer must first be zeroed or cleaned prior to the parallel operations. With the background task, the system is more likely to find an appropriate size buffer of free and zeroed data sectors in the transfer buffer to perform the parallel logic operations.
    Type: Application
    Filed: December 4, 2001
    Publication date: May 30, 2002
    Inventors: Mark J. Thompson, Vincent J. Zimmer
  • Patent number: 6341342
    Abstract: An array controller that cleans buffer memory as a background task. The controller includes a transfer buffer, a memory that stores an index or table indicating free and non-zero data sectors within the transfer buffer, and processing logic that uses the transfer buffer for data transfer operations, and when otherwise idle, that scans the index table for contiguous sections of free and non-zero data sectors of the transfer buffer and that zeroes at least one of the contiguous sections. The controller allocates buffer memory and performs parallel logic operations into the buffer, such as XOR logic operations to generate new parity data. The buffer must first be zeroed or cleaned prior to the parallel operations. With the background task, the controller is more likely to find an appropriate size buffer of free and zeroed data sectors in the transfer buffer to perform the parallel logic operations.
    Type: Grant
    Filed: November 4, 1997
    Date of Patent: January 22, 2002
    Assignee: Compaq Information Technologies Group, L.P.
    Inventors: Mark J. Thompson, Vincent J. Zimmer
  • Patent number: 6101559
    Abstract: A method and apparatus which indicates the physical location of one or more peripheral devices. A system operator uses an input device to select an icon that is displayed on a display device. The icon represents a single peripheral device or a group of peripheral devices among a plurality of peripheral devices. For example, an icon may represent a disk drive, a group of disk drives disposed within a storage unit, an array of disk drives, an array of disk drives disposed within one or more storage units, etc. After the system operator selects the icon, an indicator light associated with each of the one or more peripheral devices represented by the icon illuminates to identify the physical location of the selected peripheral device or devices. Other peripheral devices are contemplated, such as a bank of modems, floppy drives, CD-ROM drives, etc.
    Type: Grant
    Filed: October 22, 1997
    Date of Patent: August 8, 2000
    Assignee: Compaq Computer Corporation
    Inventors: Stephen M. Schultz, Mark J. Thompson
  • Patent number: 6092169
    Abstract: In a computer system there is a storage subsystem and an array controller circuit controlling an array of hard drives in the storage subsystem. Upon powering the storage subsystem, the array controller automatically determines whether the hard drives have been moved to new bay locations in the storage subsystem and whether a new complete logical drive, consisting of at least one hard drive, has been added to the storage subsystem. Upon discovery of any drive movement or logical drive unit addition, the array controller automatically reconfigures each hard drive by at least updating the configuration information in accordance with the changes.
    Type: Grant
    Filed: April 2, 1997
    Date of Patent: July 18, 2000
    Assignee: Compaq Computer Corporation
    Inventors: Purna C. Murthy, Mark J. Thompson
  • Patent number: 6058489
    Abstract: A system for performing on-line reconfiguration of a disk array in which a source logical volume is reconfigured to a destination logical volume. Disk array configuration is invoked if a new physical drive is inserted, or a drive is removed. Reconfiguration can also be performed if the user desires to change the configuration of a particular logical volume, such as its stripe size. The disk array reconfiguration is run as a background task by firmware on a disk controller board. The reconfigure task first moves data from the source logical volume to a posting memory such as RAM memory. The reconfigure task operates one stripe at a time, with the stripe size being that of the destination logical volume. Once a stripe of data is moved into the posting memory, it is written back to corresponding locations in the destination logical volume. The reconfigure task continues until all data in the source logical volume have been moved into the destination logical volume.
    Type: Grant
    Filed: August 20, 1998
    Date of Patent: May 2, 2000
    Assignee: Compaq Computer Corporation
    Inventors: Stephen M. Schultz, Mark J. Thompson
  • Patent number: 5961652
    Abstract: A new and improved apparatus and method for rebuilding a replacement disk of a fault tolerant, mass storage drive array subsystem of a computer system. The method calls for a microprocessor to check a stripe for consistency. If the stripe is inconsistent, the microprocessor rebuilds a predetermined number of stripes. If the checked stripe is inconsistent, then the microprocessor checks a next stripe and repeats the above-described process. Because the drive array subsystem receives both system requests and rebuild requests, the present invention allows a user to select the drive array subsystem's priority in processing system requests versus rebuild requests, thereby allowing greater system access to the drive array subsystem during peak times of system requests.
    Type: Grant
    Filed: June 23, 1997
    Date of Patent: October 5, 1999
    Assignee: Compaq Computer Corporation
    Inventor: Mark J. Thompson
  • Patent number: 5829019
    Abstract: A computer system according to the invention includes a posted write cache for writing to a mass storage subsystem. Upon restart, the computer system determines whether the mass storage subsystem has been interveningly written to by another computer system since the computer system last wrote to that mass storage subsystem. If so, the computer system flushes its posted write cache, thus prevent invalid data from being written to the mass storage subsystem.
    Type: Grant
    Filed: April 22, 1997
    Date of Patent: October 27, 1998
    Assignee: Compaq Computer Corporation
    Inventors: Mark J. Thompson, Randy D. Schneider