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: 11593205Abstract: 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: GrantFiled: December 2, 2020Date of Patent: February 28, 2023Assignee: International Business Machines CorporationInventors: Rodolfo Lopez, Stephen M. Tee, Zhibao Hu
-
Publication number: 20220171677Abstract: 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: ApplicationFiled: December 2, 2020Publication date: June 2, 2022Inventors: Rodolfo LOPEZ, Stephen M. TEE, Zhibao HU
-
Patent number: 9239797Abstract: 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: GrantFiled: August 15, 2013Date of Patent: January 19, 2016Assignee: GLOBALFOUNDRIES Inc.Inventors: Robert E. Galbraith, Dennis C. Mairet, William J. Maitland, Jr., Stephen M. Tee, Rick A. Weckwerth
-
Patent number: 9098466Abstract: 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: GrantFiled: October 29, 2012Date of Patent: August 4, 2015Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Jeffrey M. Barnes, Gary S. Domrow, Nicholas S. Ham, Carol S. Mellgren, Jared M. Minch, Stephen M. Tee
-
Patent number: 9069571Abstract: 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: GrantFiled: December 1, 2010Date of Patent: June 30, 2015Assignee: International Business Machines CorporationInventors: Eric P. Fried, Rajeev Mishra, Lance W. Russell, Chris A. Schwendiman, Stephen M. Tee, Stephen J. Tovcimak
-
Publication number: 20150052385Abstract: 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: ApplicationFiled: August 15, 2013Publication date: February 19, 2015Applicant: International Business Machines CorporationInventors: Robert E. Galbraith, Dennis C. Mairet, William J. Maitland, JR., Stephen M. Tee, Rick A. Weckwerth
-
Publication number: 20140122816Abstract: 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: ApplicationFiled: October 29, 2012Publication date: May 1, 2014Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Jeffrey M. BARNES, Gary S. DOMROW, Nicholas S. HAM, Carol S. MELLGREN, Jared M. MINCH, Stephen M. TEE
-
Patent number: 8271706Abstract: 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: GrantFiled: May 22, 2008Date of Patent: September 18, 2012Assignee: International Business Machines CorporationInventors: John L. Neemidge, Nishant B. Shah, Stephen M. Tee, Teerasit Tinnakul
-
Publication number: 20120143892Abstract: 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: ApplicationFiled: December 1, 2010Publication date: June 7, 2012Applicant: International Business Machines CorporationInventors: ERIC P. FRIED, Rajeev Mishra, Lance W. Russell, Chris A. Schwendiman, Stephen M. Tee, Stephen J. Tovcimak
-
Patent number: 8185676Abstract: 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: GrantFiled: July 20, 2011Date of Patent: May 22, 2012Assignee: International Business Machines CorporationInventors: James P. Allen, Nicholas S. Ham, John L. Neemidge, Stephen M. Tee
-
Patent number: 8135924Abstract: 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: GrantFiled: January 14, 2009Date of Patent: March 13, 2012Assignee: International Business Machines CorporationInventors: James P Allen, Gary Steven Domrow, John Leslie Neemidge, Stephen M Tee
-
Patent number: 8086896Abstract: 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: GrantFiled: December 28, 2009Date of Patent: December 27, 2011Assignee: International Business Machines CorporationInventors: James P. Allen, Kiran K. Anumalasetty, Sudhir Maddali, Bhyrav M. Mutnury, James A. Pafumi, Sanket Rathi, Stephen M. Tee
-
Publication number: 20110276729Abstract: 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: ApplicationFiled: July 20, 2011Publication date: November 10, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: James P. Allen, Nicholas S. Ham, John L. Neemidge, Stephen M. Tee
-
Patent number: 8041987Abstract: 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: GrantFiled: November 10, 2008Date of Patent: October 18, 2011Assignee: International Business Machines CorporationInventors: James P. Allen, Robert G. Kovacs, James A. Pafumi, James B. Partridge, Jacob J. Rosales, Stephen M. Tee
-
Patent number: 8024498Abstract: 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: GrantFiled: December 15, 2008Date of Patent: September 20, 2011Assignee: International Business Machines CorporationInventors: James P. Allen, Nicholas S. Ham, John L. Neemidge, Stephen M. Tee
-
Publication number: 20110161725Abstract: 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: ApplicationFiled: December 28, 2009Publication date: June 30, 2011Applicant: International Business Machines CorporationInventors: James P. Allen, Kiran K. Anumalasetty, Sudhir Maddali, Bhyrav M. Mutnury, James A. Pafumi, Sanket Rathi, Stephen M. Tee
-
Patent number: 7783663Abstract: 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: GrantFiled: February 11, 2008Date of Patent: August 24, 2010Assignee: International Business Machines CorporationInventors: James P. Allen, Timothy M. Damron, Stephen M. Tee, Teerasit Tinnakul
-
Publication number: 20100180086Abstract: 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: ApplicationFiled: January 14, 2009Publication date: July 15, 2010Applicant: International Business Machines CorporationInventors: James P. Allen, Gary Steven Domrow, John Leslie Neemidge, Stephen M. Tee
-
Publication number: 20100153593Abstract: 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: ApplicationFiled: December 15, 2008Publication date: June 17, 2010Applicant: International Business Machines CorporationInventors: James P. Allen, Nicholas S. Ham, John L. Neemidge, Stephen M. Tee
-
Publication number: 20100122111Abstract: 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: ApplicationFiled: November 10, 2008Publication date: May 13, 2010Applicant: International Business Machines CorporationInventors: James P. Allen, Robert G. Kovacs, James A. Pafumi, James B. Partridge, Jacob J. Rosales, Stephen M. Tee