Patents by Inventor Stephen M. Tee

Stephen M. Tee 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: 11593205
    Abstract: Systems and methods for replacing and testing a data storage device are disclosed. In disclosed embodiments, a system including a data storage array (DSA) including a plurality of data storage devices (DSDs) in an enclosure. The system further includes an I/O server coupling the DSA to a client node and configured to provide data access between the client node and the DSA. The system further includes a management server coupled to the DSA, configured to detect a failed DSD in the DSA, detect a replacement DSD in the enclosure that replaces the failed DSD, and add the replacement DSD to a logical path of the DSA. The management server is further configured to display an indication of a state of the DSA based on the comparing.
    Type: Grant
    Filed: December 2, 2020
    Date of Patent: February 28, 2023
    Assignee: International Business Machines Corporation
    Inventors: Rodolfo Lopez, Stephen M. Tee, Zhibao Hu
  • Publication number: 20220171677
    Abstract: Systems and methods for replacing and testing a data storage device are disclosed. In disclosed embodiments, a system including a data storage array (DSA) including a plurality of data storage devices (DSDs) in an enclosure. The system further includes an I/O server coupling the DSA to a client node and configured to provide data access between the client node and the DSA. The system further includes a management server coupled to the DSA, configured to detect a failed DSD in the DSA, detect a replacement DSD in the enclosure that replaces the failed DSD, and add the replacement DSD to a logical path of the DSA. The management server is further configured to display an indication of a state of the DSA based on the comparing.
    Type: Application
    Filed: December 2, 2020
    Publication date: June 2, 2022
    Inventors: Rodolfo LOPEZ, Stephen M. TEE, Zhibao HU
  • Patent number: 9239797
    Abstract: A method, system and computer program product are provided for implementing enhanced data caching and takeover of non-owned storage devices in a computer system. Each of a first controller and a second controller has a cache memory. During normal run-time, each storage device controller validates cached write data after it is written to its cache memory by reading the write data from its cache memory. If any error is detected on the read, then unit check failed storage device controller, which results in a reset of the failed storage device controller. When a storage device controller detects its dual partner controller fails, the surviving storage device controller queues host read/write operations for its storage devices already owned, and tests a cache mirrored copy from its cache memory of the failed first storage device controller before takeover of the failed controller's storage devices.
    Type: Grant
    Filed: August 15, 2013
    Date of Patent: January 19, 2016
    Assignee: GLOBALFOUNDRIES Inc.
    Inventors: Robert E. Galbraith, Dennis C. Mairet, William J. Maitland, Jr., Stephen M. Tee, Rick A. Weckwerth
  • Patent number: 9098466
    Abstract: Techniques for switching between mirrored volumes are described. A system may comprise a multi-path device driver and a processor device, in communication with the multi-path device driver, operable in the computing storage environment. The processor device creates a copy relation identification (ID) between mirrored volumes for using the copy relation ID in conjunction with a multi-path device driver for switching input/output (I/O) for applications between a first path to a second path between the mirrored volumes.
    Type: Grant
    Filed: October 29, 2012
    Date of Patent: August 4, 2015
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jeffrey M. Barnes, Gary S. Domrow, Nicholas S. Ham, Carol S. Mellgren, Jared M. Minch, Stephen M. Tee
  • Patent number: 9069571
    Abstract: A unique device name is assigned to each of a plurality of shared storage devices in a cluster configuration database defining membership of nodes in a cluster. A particular node among the nodes defined by the cluster configuration database as a member of the cluster searches the cluster configuration database for a device identifier matching a device identifier of a shared storage device hosted by the particular node. In response to finding a matching device identifier in the cluster configuration database, the particular node renames, in a local configuration maintained at the particular node, a storage device associated with the matching device identifier with the unique name assigned to that storage device in the cluster configuration database.
    Type: Grant
    Filed: December 1, 2010
    Date of Patent: June 30, 2015
    Assignee: International Business Machines Corporation
    Inventors: Eric P. Fried, Rajeev Mishra, Lance W. Russell, Chris A. Schwendiman, Stephen M. Tee, Stephen J. Tovcimak
  • Publication number: 20150052385
    Abstract: A method, system and computer program product are provided for implementing enhanced data caching and takeover of non-owned storage devices in a computer system. Each of a first controller and a second controller has a cache memory. During normal run-time, each storage device controller validates cached write data after it is written to its cache memory by reading the write data from its cache memory. If any error is detected on the read, then unit check failed storage device controller, which results in a reset of the failed storage device controller. When a storage device controller detects its dual partner controller fails, the surviving storage device controller queues host read/write operations for its storage devices already owned, and tests a cache mirrored copy from its cache memory of the failed first storage device controller before takeover of the failed controller's storage devices.
    Type: Application
    Filed: August 15, 2013
    Publication date: February 19, 2015
    Applicant: International Business Machines Corporation
    Inventors: Robert E. Galbraith, Dennis C. Mairet, William J. Maitland, JR., Stephen M. Tee, Rick A. Weckwerth
  • Publication number: 20140122816
    Abstract: For switching between mirrored volumes, a copy relation identification (ID) is created between mirrored volumes for using the copy relation ID in conjunction with a multi-path device driver for switching input/output (I/O) for applications between a first path to a second path between the mirrored volumes.
    Type: Application
    Filed: October 29, 2012
    Publication date: May 1, 2014
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Jeffrey M. BARNES, Gary S. DOMROW, Nicholas S. HAM, Carol S. MELLGREN, Jared M. MINCH, Stephen M. TEE
  • Patent number: 8271706
    Abstract: The present invention provides a computer implemented method and apparatus to revising logical unit ownership in a host. A host receives an error message from a storage subsystem having at least two storage controllers and at least one logical unit coupled to at least one of the storage controllers. The host suspends I/O from the host to the storage subsystem. The host transmits a verification of logical unit ownership query to the storage subsystem. The host determines that ownership between a host and a logical unit on the at least one of the storage controllers has changed from a mapping table of the host. Responsive to a determination that ownership has changed, the host updates ownership in a mapping table of the host to reflect the ownership between the host and the logical unit. The host resumes I/O from the host to the storage subsystem, wherein the host routinely exchanges I/O with the storage subsystem.
    Type: Grant
    Filed: May 22, 2008
    Date of Patent: September 18, 2012
    Assignee: International Business Machines Corporation
    Inventors: John L. Neemidge, Nishant B. Shah, Stephen M. Tee, Teerasit Tinnakul
  • Publication number: 20120143892
    Abstract: A unique device name is assigned to each of a plurality of shared storage devices in a cluster configuration database defining membership of nodes in a cluster. A particular node among the nodes defined by the cluster configuration database as a member of the cluster searches the cluster configuration database for a device identifier matching a device identifier of a shared storage device hosted by the particular node. In response to finding a matching device identifier in the cluster configuration database, the particular node renames, in a local configuration maintained at the particular node, a storage device associated with the matching device identifier with the unique name assigned to that storage device in the cluster configuration database.
    Type: Application
    Filed: December 1, 2010
    Publication date: June 7, 2012
    Applicant: International Business Machines Corporation
    Inventors: ERIC P. FRIED, Rajeev Mishra, Lance W. Russell, Chris A. Schwendiman, Stephen M. Tee, Stephen J. Tovcimak
  • Patent number: 8185676
    Abstract: Disclosed is a computer implemented method and apparatus for queuing I/O requests to a pending queue. The I/O device driver sets a maximum ordered queue length for an I/O device driver coupled to a storage device then receives an I/O request from an application. The I/O device driver determines whether the pending queue is sorted and responds to a determination that the pending queue is sorted, determining if queued I/O requests exceed the maximum ordered queue length. Responding to a determination that the pending queue exceeds the maximum ordered queue length, the I/O device driver adds the I/O request based on a high pointer, and points the high pointer to the I/O request.
    Type: Grant
    Filed: July 20, 2011
    Date of Patent: May 22, 2012
    Assignee: International Business Machines Corporation
    Inventors: James P. Allen, Nicholas S. Ham, John L. Neemidge, Stephen M. Tee
  • Patent number: 8135924
    Abstract: A method, system, and computer usable program product for an improved data storage device driver are provided in the illustrative embodiments. For managing an elevator queue, several requests are stored in the elevator queue. A determination is made whether the elevator queue is sorted. A number of requests in the elevator queue is determined if the elevator queue is unsorted. The unsorted elevator queue is monitored. Reaching a threshold condition in the unsorted elevator queue is detected. Sorting of the unsorted elevator queue is initiated. The requests may be I/O requests for a data storage device. The elevator queue may be sorted according to an ascending or descending order of data block addresses in the requests. The monitoring may monitor a remaining number of unsorted requests in the elevator queue as requests are removed from the elevator queue. The threshold condition may be associated with a threshold value.
    Type: Grant
    Filed: January 14, 2009
    Date of Patent: March 13, 2012
    Assignee: International Business Machines Corporation
    Inventors: James P Allen, Gary Steven Domrow, John Leslie Neemidge, Stephen M Tee
  • Patent number: 8086896
    Abstract: In virtualized environments, storage may be managed dynamically due to the changing data storage requirements. In such environments, logical storage unit identifiers (LUN IDs) may be modified as a result of deleting an existing mapping between physical storage and a virtualization server and recreating the mapping. This can result in I/O request failure. Techniques for resolving errors resulting from LUN ID modifications can be time-intensive and labor-intensive and can disrupt a communication path between a host device and the physical storage. Functionality can be implemented to dynamically identify the LUN ID modifications, determine valid LUN IDs, and retransmit failed I/O requests. This can help minimize I/O request failures due to LUN ID modifications without disrupting the communication path between the host device and the physical storage.
    Type: Grant
    Filed: December 28, 2009
    Date of Patent: December 27, 2011
    Assignee: International Business Machines Corporation
    Inventors: James P. Allen, Kiran K. Anumalasetty, Sudhir Maddali, Bhyrav M. Mutnury, James A. Pafumi, Sanket Rathi, Stephen M. Tee
  • Publication number: 20110276729
    Abstract: Disclosed is a computer implemented method and apparatus for queuing I/O requests to a pending queue. The I/O device driver sets a maximum ordered queue length for an I/O device driver coupled to a storage device then receives an I/O request from an application. The I/O device driver determines whether the pending queue is sorted and responds to a determination that the pending queue is sorted, determining if queued I/O requests exceed the maximum ordered queue length. Responding to a determination that the pending queue exceeds the maximum ordered queue length, the I/O device driver adds the I/O request based on a high pointer, and points the high pointer to the I/O request.
    Type: Application
    Filed: July 20, 2011
    Publication date: November 10, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: James P. Allen, Nicholas S. Ham, John L. Neemidge, Stephen M. Tee
  • Patent number: 8041987
    Abstract: Embodiments that dynamically manage physical and virtual multipath I/O are contemplated. Various embodiments comprise one or more computing devices, such as one or more servers, having at least two HBAs. At least one of the HBAs may be associated with a virtual I/O server that employs the HBA to transfer data between a plurality of virtual clients and one or more storage devices of a storage area network. The embodiments may monitor the availability of the HBAs, such as monitoring the HBAs for a failure of the HBA or a device coupled to the HBA. Upon detecting the unavailability of one of the HBAs, the embodiments may switch, dynamically, from the I/O path associated with the unavailable HBA to the alternate HBA.
    Type: Grant
    Filed: November 10, 2008
    Date of Patent: October 18, 2011
    Assignee: International Business Machines Corporation
    Inventors: James P. Allen, Robert G. Kovacs, James A. Pafumi, James B. Partridge, Jacob J. Rosales, Stephen M. Tee
  • Patent number: 8024498
    Abstract: Disclosed is a computer implemented method and apparatus for queuing I/O requests to a pending queue. The I/O device driver sets a maximum ordered queue length for an I/O device driver coupled to a storage device then receives an I/O request from an application. The I/O device driver determines whether the pending queue is sorted and responds to a determination that the pending queue is sorted, determining if queued I/O requests exceed the maximum ordered queue length. Responding to a determination that the pending queue exceeds the maximum ordered queue length, the I/O device driver adds the I/O request based on a high pointer, and points the high pointer to the I/O request.
    Type: Grant
    Filed: December 15, 2008
    Date of Patent: September 20, 2011
    Assignee: International Business Machines Corporation
    Inventors: James P. Allen, Nicholas S. Ham, John L. Neemidge, Stephen M. Tee
  • Publication number: 20110161725
    Abstract: In virtualized environments, storage may be managed dynamically due to the changing data storage requirements. In such environments, logical storage unit identifiers (LUN IDs) may be modified as a result of deleting an existing mapping between physical storage and a virtualization server and recreating the mapping. This can result in I/O request failure. Techniques for resolving errors resulting from LUN ID modifications can be time-intensive and labor-intensive and can disrupt a communication path between a host device and the physical storage. Functionality can be implemented to dynamically identify the LUN ID modifications, determine valid LUN IDs, and retransmit failed I/O requests. This can help minimize I/O request failures due to LUN ID modifications without disrupting the communication path between the host device and the physical storage.
    Type: Application
    Filed: December 28, 2009
    Publication date: June 30, 2011
    Applicant: International Business Machines Corporation
    Inventors: James P. Allen, Kiran K. Anumalasetty, Sudhir Maddali, Bhyrav M. Mutnury, James A. Pafumi, Sanket Rathi, Stephen M. Tee
  • Patent number: 7783663
    Abstract: A mechanism is provided for balancing I/O among available paths connected to a device. The mechanism partitions paths so a device can use all or only a subset of available paths to a device, depending on the load of I/O for other devices that are sharing the paths. The partitioning of paths is dynamic, readjusting as I/O loads change for the devices.
    Type: Grant
    Filed: February 11, 2008
    Date of Patent: August 24, 2010
    Assignee: International Business Machines Corporation
    Inventors: James P. Allen, Timothy M. Damron, Stephen M. Tee, Teerasit Tinnakul
  • Publication number: 20100180086
    Abstract: A method, system, and computer usable program product for an improved data storage device driver are provided in the illustrative embodiments. For managing an elevator queue, several requests are stored in the elevator queue. A determination is made whether the elevator queue is sorted. A number of requests in the elevator queue is determined if the elevator queue is unsorted. The unsorted elevator queue is monitored. Reaching a threshold condition in the unsorted elevator queue is detected. Sorting of the unsorted elevator queue is initiated. The requests may be I/O requests for a data storage device. The elevator queue may be sorted according to an ascending or descending order of data block addresses in the requests. The monitoring may monitor a remaining number of unsorted requests in the elevator queue as requests are removed from the elevator queue. The threshold condition may be associated with a threshold value.
    Type: Application
    Filed: January 14, 2009
    Publication date: July 15, 2010
    Applicant: International Business Machines Corporation
    Inventors: James P. Allen, Gary Steven Domrow, John Leslie Neemidge, Stephen M. Tee
  • Publication number: 20100153593
    Abstract: Disclosed is a computer implemented method and apparatus for queuing I/O requests to a pending queue. The I/O device driver sets a maximum ordered queue length for an I/O device driver coupled to a storage device then receives an I/O request from an application. The I/O device driver determines whether the pending queue is sorted and responds to a determination that the pending queue is sorted, determining if queued I/O requests exceed the maximum ordered queue length. Responding to a determination that the pending queue exceeds the maximum ordered queue length, the I/O device driver adds the I/O request based on a high pointer, and points the high pointer to the I/O request.
    Type: Application
    Filed: December 15, 2008
    Publication date: June 17, 2010
    Applicant: International Business Machines Corporation
    Inventors: James P. Allen, Nicholas S. Ham, John L. Neemidge, Stephen M. Tee
  • Publication number: 20100122111
    Abstract: Embodiments that dynamically manage physical and virtual multipath I/O are contemplated. Various embodiments comprise one or more computing devices, such as one or more servers, having at least two HBAs. At least one of the HBAs may be associated with a virtual I/O server that employs the HBA to transfer data between a plurality of virtual clients and one or more storage devices of a storage area network. The embodiments may monitor the availability of the HBAs, such as monitoring the HBAs for a failure of the HBA or a device coupled to the HBA. Upon detecting the unavailability of one of the HBAs, the embodiments may switch, dynamically, from the I/O path associated with the unavailable HBA to the alternate HBA.
    Type: Application
    Filed: November 10, 2008
    Publication date: May 13, 2010
    Applicant: International Business Machines Corporation
    Inventors: James P. Allen, Robert G. Kovacs, James A. Pafumi, James B. Partridge, Jacob J. Rosales, Stephen M. Tee