Patents by Inventor Mahmoud K. Jibbe

Mahmoud K. Jibbe 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: 11301139
    Abstract: Systems and methods that result in a stable storage system are provided. In the storage system, the latency spikes may be reduced when multiple volumes are aggregated into transfer sets according to system characteristics. The storage system transfers ownership of volumes in each transfer set as a single transaction. In the storage system, connectivity between the host and the storage controller is re-established based on the connectivity in a physical transport layer and a single path. In the storage system, pre-mature failback is also avoided when ownership of volumes is transferred back to a preferred storage controller when the same number of paths existed between the host and the preferred storage controller before and after a failover operation. Further, the storage system generates connectivity reports that display connectivity paths between hosts, storage controllers, and volumes.
    Type: Grant
    Filed: December 20, 2019
    Date of Patent: April 12, 2022
    Assignee: NETAPP, INC.
    Inventors: Mahmoud K. Jibbe, Dean Lang, Joey Parnell, Ryan Rodine, Joshua Briner
  • Patent number: 11068171
    Abstract: A method, a computing device, and a non-transitory machine-readable medium for performing a multipath selection based on a determined quality of service for the paths. An example method includes a host computing device periodically polling a storage system for path information including an indication of a recommended storage controller. The host computing device periodically determines a quality of service information corresponding to a plurality of paths between the host computing device and a storage volume of the storage system, where at least one of the plurality of paths including the recommended storage controller. The host computing device identifies a fault corresponding to a path of the plurality of paths that routes I/O from the host computing device to the storage volume. The host computing device re-routes the I/O from the path to a different path of the plurality of paths, where the different path is selected for the re-routing based on the quality of service information and the path information.
    Type: Grant
    Filed: October 15, 2019
    Date of Patent: July 20, 2021
    Assignee: NETAPP, INC.
    Inventors: Joey Parnell, Steven Schremmer, Brandon Thompson, Mahmoud K. Jibbe
  • Patent number: 10691339
    Abstract: A method, non-transitory computer readable medium, and device that assists with reducing initialization duration and performance impact during configuration of storage drives includes identifying a plurality of new storage drives in a storage system. Next, one or more zeroed out storage drives is identified from the identified plurality of new storage drives based on information present in a data portion of each the identified plurality of new storage drives. A volume group comprising the identified one or more zeroed out drives is created and this created volume group is provided for data operation.
    Type: Grant
    Filed: April 24, 2019
    Date of Patent: June 23, 2020
    Assignee: NETAPP, INC.
    Inventors: Mahmoud K. Jibbe, Charles Binford
  • Patent number: 10664412
    Abstract: Systems and methods that select a cache flushing algorithm are provided. A stripe that spans multiple storage devices and includes a plurality of segments is provided. The stripe also includes dirty data stored in a picket-fence pattern in at least a subset of segments in the plurality of segments. A memory cache that stores data separately from the plurality of storage devices and a metadata cache that stores metadata associated with the dirty data are also provided. A cache flushing algorithm is selected using the metadata. The selected cache flushing algorithm flushes data from the memory cache to the stripe.
    Type: Grant
    Filed: October 27, 2017
    Date of Patent: May 26, 2020
    Assignee: NETAPP, INC.
    Inventors: Mahmoud K. Jibbe, Dean Lang, Scott Terrill, Matthew Buller, Jeffery Fowler
  • Publication number: 20200125274
    Abstract: Systems and methods that result in a stable storage system are provided. In the storage system, the latency spikes may be reduced when multiple volumes are aggregated into transfer sets according to system characteristics. The storage system transfers ownership of volumes in each transfer set as a single transaction. In the storage system, connectivity between the host and the storage controller is re-established based on the connectivity in a physical transport layer and a single path. In the storage system, pre-mature failback is also avoided when ownership of volumes is transferred back to a preferred storage controller when the same number of paths existed between the host and the preferred storage controller before and after a failover operation. Further, the storage system generates connectivity reports that display connectivity paths between hosts, storage controllers, and volumes.
    Type: Application
    Filed: December 20, 2019
    Publication date: April 23, 2020
    Inventors: Mahmoud K. Jibbe, Dean Lang, Joey Parnell, Ryan Rodine, Joshua Briner
  • Publication number: 20200042195
    Abstract: A method, a computing device, and a non-transitory machine-readable medium for performing a multipath selection based on a determined quality of service for the paths. An example method includes a host computing device periodically polling a storage system for path information including an indication of a recommended storage controller. The host computing device periodically determines a quality of service information corresponding to a plurality of paths between the host computing device and a storage volume of the storage system, where at least one of the plurality of paths including the recommended storage controller. The host computing device identifies a fault corresponding to a path of the plurality of paths that routes I/O from the host computing device to the storage volume. The host computing device re-routes the I/O from the path to a different path of the plurality of paths, where the different path is selected for the re-routing based on the quality of service information and the path information.
    Type: Application
    Filed: October 15, 2019
    Publication date: February 6, 2020
    Inventors: Joey Parnell, Steven Schremmer, Brandon Thompson, Mahmoud K. Jibbe
  • Patent number: 10521127
    Abstract: Systems and methods that result in a stable storage system are provided. In the storage system, the latency spikes may be reduced when multiple volumes are aggregated into transfer sets according to system characteristics. The storage system transfers ownership of volumes in each transfer set as a single transaction. In the storage system, connectivity between the host and the storage controller is re-established based on the connectivity in a physical transport layer and a single path. In the storage system, pre-mature failback is also avoided when ownership of volumes is transferred back to a preferred storage controller when the same number of paths existed between the host and the preferred storage controller before and after a failover operation. Further, the storage system generates connectivity reports that display connectivity paths between hosts, storage controllers, and volumes.
    Type: Grant
    Filed: September 13, 2017
    Date of Patent: December 31, 2019
    Assignee: NETAPP, INC.
    Inventors: Mahmoud K. Jibbe, Dean Lang, Joey Parnell, Ryan Rodine, Joshua Briner
  • Patent number: 10521345
    Abstract: A system and method for improving the management of data input and output (I/O) operations for Shingled Magnetic Recording (SMR) devices in a network storage system is disclosed. The storage system includes a storage controller that receives a series of write requests for data blocks to be written to non-sequential addresses within a pool of SMR devices. The storage controller writes the data blocks from the series of write requests to a corresponding sequence of data clusters allocated within a first data cache of the storage controller for a thinly provisioned volume of the pool of SMR devices. Upon determining that a current utilization of the first data cache's data storage capacity exceeds a threshold, the sequence of data clusters including the data blocks from the first data cache are transferred to sequential physical addresses within the SMR devices.
    Type: Grant
    Filed: August 27, 2018
    Date of Patent: December 31, 2019
    Assignee: NETAPP, INC.
    Inventors: Mahmoud K Jibbe, Keith Holt, Scott Terrill
  • Patent number: 10459640
    Abstract: A method, a computing device, and a non-transitory machine-readable medium for performing a multipath selection based on a determined quality of service for the paths. An example method includes a host computing device periodically polling a storage system for path information including an indication of a recommended storage controller. The host computing device periodically determines a quality of service information corresponding to a plurality of paths between the host computing device and a storage volume of the storage system, where at least one of the plurality of paths including the recommended storage controller. The host computing device identifies a fault corresponding to a path of the plurality of paths that routes I/O from the host computing device to the storage volume. The host computing device re-routes the I/O from the path to a different path of the plurality of paths, where the different path is selected for the re-routing based on the quality of service information and the path information.
    Type: Grant
    Filed: March 16, 2018
    Date of Patent: October 29, 2019
    Assignee: NETAPP, INC.
    Inventors: Joey Parnell, Steven Schremmer, Brandon Thompson, Mahmoud K. Jibbe
  • Publication number: 20190250829
    Abstract: A method, non-transitory computer readable medium, and device that assists with reducing initialization duration and performance impact during configuration of storage drives includes identifying a plurality of new storage drives in a storage system. Next, one or more zeroed out storage drives is identified from the identified plurality of new storage drives based on information present in a data portion of each the identified plurality of new storage drives. A volume group comprising the identified one or more zeroed out drives is created and this created volume group is provided for data operation.
    Type: Application
    Filed: April 24, 2019
    Publication date: August 15, 2019
    Inventors: Mahmoud K. Jibbe, Charles Binford
  • Patent number: 10303362
    Abstract: A method, non-transitory computer readable medium, and device that assists with reducing initialization duration and performance impact during configuration of storage drives includes identifying a plurality of new storage drives in a storage system. Next, one or more zeroed out storage drives is identified from the identified plurality of new storage drives based on information present in a data portion of each the identified plurality of new storage drives. A volume group comprising the identified one or more zeroed out drives is created and this created volume group is provided for data operation.
    Type: Grant
    Filed: February 15, 2017
    Date of Patent: May 28, 2019
    Assignee: NETAPP, INC.
    Inventors: Mahmoud K. Jibbe, Charles Binford
  • Publication number: 20190129863
    Abstract: Systems and methods that select a cache flushing algorithm are provided. A stripe that spans multiple storage devices and includes a plurality of segments is provided. The stripe also includes dirty data stored in a picket-fence pattern in at least a subset of segments in the plurality of segments. A memory cache that stores data separately from the plurality of storage devices and a metadata cache that stores metadata associated with the dirty data are also provided. A cache flushing algorithm is selected using the metadata. The selected cache flushing algorithm flushes data from the memory cache to the stripe.
    Type: Application
    Filed: October 27, 2017
    Publication date: May 2, 2019
    Inventors: Mahmoud K. Jibbe, Dean Lang, Scott Terrill, Matthew Buller, Jeffery Fowler
  • Publication number: 20190102093
    Abstract: A method, a computing device, and a non-transitory machine-readable medium for performing a multipath selection based on a determined quality of service for the paths. An example method includes a host computing device periodically polling a storage system for path information including an indication of a recommended storage controller. The host computing device periodically determines a quality of service information corresponding to a plurality of paths between the host computing device and a storage volume of the storage system, where at least one of the plurality of paths including the recommended storage controller. The host computing device identifies a fault corresponding to a path of the plurality of paths that routes I/O from the host computing device to the storage volume. The host computing device re-routes the I/O from the path to a different path of the plurality of paths, where the different path is selected for the re-routing based on the quality of service information and the path information.
    Type: Application
    Filed: March 16, 2018
    Publication date: April 4, 2019
    Inventors: Joey Parnell, Steven Schremmer, Brandon Thompson, Mahmoud K. Jibbe
  • Patent number: 10216597
    Abstract: A method, a computing device, and a non-transitory machine-readable medium for replacing an unreadable sector in a storage system is provided. In some embodiments, the method includes identifying a sector from a plurality of sectors in a physical memory of a storage device in a storage system as an unreadable sector. An unreadable sector is a sector that includes data that had been corrupted and cannot be recovered from data in the storage system. In some embodiments, the unreadable sector is recovered by receiving a copy of a sector identified as the unreadable sector from a cloud storage, where the copy of the sector stores readable data and the cloud storage is a separate storage from the storage system. The method then includes replacing the unreadable sector with the copy at the sector at a memory location in the physical memory occupied by the unreadable sector.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: February 26, 2019
    Assignee: NETAPP, INC.
    Inventors: Mahmoud K. Jibbe, Keith Holt
  • Publication number: 20190034094
    Abstract: Systems and methods that result in a stable storage system are provided. In the storage system, the latency spikes may be reduced when multiple volumes are aggregated into transfer sets according to system characteristics. The storage system transfers ownership of volumes in each transfer set as a single transaction. In the storage system, connectivity between the host and the storage controller is re-established based on the connectivity in a physical transport layer and a single path. In the storage system, pre-mature failback is also avoided when ownership of volumes is transferred back to a preferred storage controller when the same number of paths existed between the host and the preferred storage controller before and after a failover operation. Further, the storage system generates connectivity reports that display connectivity paths between hosts, storage controllers, and volumes.
    Type: Application
    Filed: September 13, 2017
    Publication date: January 31, 2019
    Inventors: Mahmoud K. Jibbe, Dean Lang, Joey Parnell, Ryan Rodine, Joshua Briner
  • Publication number: 20180365145
    Abstract: A system and method for improving the management of data input and output (I/O) operations for Shingled Magnetic Recording (SMR) devices in a network storage system is disclosed. The storage system includes a storage controller that receives a series of write requests for data blocks to be written to non-sequential addresses within a pool of SMR devices. The storage controller writes the data blocks from the series of write requests to a corresponding sequence of data clusters allocated within a first data cache of the storage controller for a thinly provisioned volume of the pool of SMR devices. Upon determining that a current utilization of the first data cache's data storage capacity exceeds a threshold, the sequence of data clusters including the data blocks from the first data cache are transferred to sequential physical addresses within the SMR devices.
    Type: Application
    Filed: August 27, 2018
    Publication date: December 20, 2018
    Inventors: Mahmoud K. Jibbe, Keith Holt, Scott Terrill
  • Patent number: 10073774
    Abstract: A system and method for improving the management of data input and output (I/O) operations for Shingled Magnetic Recording (SMR) devices in a network storage system is disclosed. The storage system includes a storage controller that receives a series of write requests for data blocks to be written to non-sequential addresses within a pool of SMR devices. The storage controller writes the data blocks from the series of write requests to a corresponding sequence of data clusters allocated within a first data cache of the storage controller for a thinly provisioned volume of the pool of SMR devices. Upon determining that a current utilization of the first data cache's data storage capacity exceeds a threshold, the sequence of data clusters including the data blocks from the first data cache are transferred to sequential physical addresses within the SMR devices.
    Type: Grant
    Filed: March 15, 2017
    Date of Patent: September 11, 2018
    Assignee: NETAPP, INC.
    Inventors: Mahmoud K. Jibbe, Keith Holt, Scott Terrill
  • Publication number: 20180232164
    Abstract: A method, non-transitory computer readable medium, and device that assists with reducing initialization duration and performance impact during configuration of storage drives includes identifying a plurality of new storage drives in a storage system. Next, one or more zeroed out storage drives is identified from the identified plurality of new storage drives based on information present in a data portion of each the identified plurality of new storage drives. A volume group comprising the identified one or more zeroed out drives is created and this created volume group is provided for data operation.
    Type: Application
    Filed: February 15, 2017
    Publication date: August 16, 2018
    Inventors: Mahmoud K. Jibbe, Charles Binford
  • Patent number: 9830094
    Abstract: A system, method, and computer program product is described for providing dynamic enabling and/or disabling of protection information (PI) in array systems during operation. A storage system receives a request to transition a volume from PI disabled to PI enabled during regular operation. The storage system synchronizes and purges the cache associated with the target volume. The storage system initiates an immediate availability format (IAF-PI) process to initialize PI for the associated data blocks of the volume's storage devices. The storage system continues receiving I/O requests as the IAF-PI process sweeps through the storage devices. The storage system inserts and checks PI for the write data as it is written to the storage devices. The storage system inserts PI for requested data above the IAF-PI boundary and checks PI for requested data below the IAF-PI boundary. The transition remains an online process that avoids downtime.
    Type: Grant
    Filed: June 23, 2015
    Date of Patent: November 28, 2017
    Assignee: NetApp, Inc.
    Inventors: Mahmoud K. Jibbe, Charles D. Binford, Wei Sun
  • Publication number: 20170315890
    Abstract: A method, a computing device, and a non-transitory machine-readable medium for replacing an unreadable sector in a storage system is provided. In some embodiments, the method includes identifying a sector from a plurality of sectors in a physical memory of a storage device in a storage system as an unreadable sector. An unreadable sector is a sector that includes data that had been corrupted and cannot be recovered from data in the storage system. In some embodiments, the unreadable sector is recovered by receiving a copy of a sector identified as the unreadable sector from a cloud storage, where the copy of the sector stores readable data and the cloud storage is a separate storage from the storage system. The method then includes replacing the unreadable sector with the copy at the sector at a memory location in the physical memory occupied by the unreadable sector.
    Type: Application
    Filed: April 29, 2016
    Publication date: November 2, 2017
    Inventors: Mahmoud K. Jibbe, Keith Holt