Patents by Inventor Cheng-Chung Song

Cheng-Chung Song 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: 11016940
    Abstract: Techniques for selecting a storage node of a storage system to store data include applying a first function to at least some data chunks of an extent to provide respective first values for each of the at least some data chunks. A storage node, included within multiple storage nodes of a storage system, is selected to store the extent based on a majority vote derived from the respective first values.
    Type: Grant
    Filed: November 28, 2017
    Date of Patent: May 25, 2021
    Assignee: International Business Machines Corporation
    Inventors: Nikolas Ioannou, Ioannis Koltsidas, Roman A. Pletka, Cheng-Chung Song, Radu Stoica, Sasa Tomic, Andrew D. Walls
  • Publication number: 20200057814
    Abstract: Techniques for selecting a storage node of a storage system to store data include applying a first function to at least some data chunks of an extent to provide respective first values for each of the at least some data chunks. A storage node, included within multiple storage nodes of a storage system, is selected to store the extent based on a majority vote derived from the respective first values.
    Type: Application
    Filed: November 28, 2017
    Publication date: February 20, 2020
    Inventors: NIKOLAS IOANNOU, IOANNIS KOLTSIDAS, ROMAN A. PLETKA, CHENG-CHUNG SONG, RADU STOICA, SASA TOMIC, ANDREW D. WALLS
  • Publication number: 20190163764
    Abstract: Techniques for selecting a storage node of a storage system to store data include applying a first function to at least some data chunks of an extent to provide respective first values for each of the at least some data chunks. A storage node, included within multiple storage nodes of a storage system, is selected to store the extent based on a majority vote derived from the respective first values.
    Type: Application
    Filed: November 28, 2017
    Publication date: May 30, 2019
    Inventors: NIKOLAS IOANNOU, IOANNIS KOLTSIDAS, ROMAN A. PLETKA, CHENG-CHUNG SONG, RADU STOICA, SASA TOMIC, ANDREW D. WALLS
  • Patent number: 10235396
    Abstract: A controller of a data storage system generates fingerprints of data blocks written to the data storage system. The controller maintains, in a data structure, respective state information for each of a plurality of data blocks. The state information for each data block can be independently set to indicate any of a plurality of states, including at least one deduplication state and at least one non-deduplication state. At allocation of a data block, the controller initializes the state information for the data block to a non-deduplication state and, thereafter, in response to detection of a write of duplicate of the data block to the data storage system, transitions the state information for the data block to a deduplication state. The controller selectively performs data deduplication for data blocks written to the data storage system based on the state information in the data structure and by reference to the fingerprints.
    Type: Grant
    Filed: August 29, 2016
    Date of Patent: March 19, 2019
    Assignee: International Business Machines Corporation
    Inventors: Nikolas Ioannou, Roman A. Pletka, Cheng-Chung Song, Radu Stoica, Sasa Tomic, Andrew D. Walls
  • Publication number: 20180060367
    Abstract: A controller of a data storage system generates fingerprints of data blocks written to the data storage system. The controller maintains, in a data structure, respective state information for each of a plurality of data blocks. The state information for each data block can be independently set to indicate any of a plurality of states, including at least one deduplication state and at least one non-deduplication state. At allocation of a data block, the controller initializes the state information for the data block to a non-deduplication state and, thereafter, in response to detection of a write of duplicate of the data block to the data storage system, transitions the state information for the data block to a deduplication state. The controller selectively performs data deduplication for data blocks written to the data storage system based on the state information in the data structure and by reference to the fingerprints.
    Type: Application
    Filed: August 29, 2016
    Publication date: March 1, 2018
    Inventors: NIKOLAS IOANNOU, ROMAN A. PLETKA, CHENG-CHUNG SONG, RADU STOICA, SASA TOMIC, ANDREW D. WALLS
  • Patent number: 9892128
    Abstract: Techniques for selecting a storage node of a storage system to store data include applying a first function to at least some data chunks of an extent to provide respective first values for each of the at least some data chunks. A storage node, included within multiple storage nodes of a storage system, is selected to store the extent based on a majority vote derived from the respective first values.
    Type: Grant
    Filed: June 16, 2017
    Date of Patent: February 13, 2018
    Assignee: International Business Machines Corporation
    Inventors: Nikolas Ioannou, Ioannis Koltsidas, Roman A. Pletka, Cheng-Chung Song, Radu Stoica, Sasa Tomic, Andrew D. Walls
  • Publication number: 20170351698
    Abstract: Techniques for selecting a storage node of a storage system to store data include applying a first function to at least some data chunks of an extent to provide respective first values for each of the at least some data chunks. A storage node, included within multiple storage nodes of a storage system, is selected to store the extent based on a majority vote derived from the respective first values.
    Type: Application
    Filed: June 16, 2017
    Publication date: December 7, 2017
    Inventors: NIKOLAS IOANNOU, IOANNIS KOLTSIDAS, ROMAN A. PLETKA, CHENG-CHUNG SONG, RADU STOICA, SASA TOMIC, ANDREW D. WALLS
  • Patent number: 9798676
    Abstract: Provided are a computer program product, system, and method for managing caching of extents of tracks in a first cache, second cache and storage device. A determination is made of an eligible track in a first cache eligible for demotion to a second cache, wherein the tracks are stored in extents configured in a storage device, wherein each extent is comprised of a plurality of tracks. A determination is made of an extent including the eligible track and whether second cache caching for the determined extent is enabled or disabled. The eligible track is demoted from the first cache to the second cache in response to determining that the second cache caching for the determined extent is enabled. Selection is made not to demote the eligible track in response to determining that the second cache caching for the determined extent is disabled.
    Type: Grant
    Filed: October 24, 2014
    Date of Patent: October 24, 2017
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael T. Benhase, Lokesh M. Gupta, Paul H. Muench, Cheng-Chung Song
  • Patent number: 9785575
    Abstract: A data storage system includes a pre-cache and a plurality of storage devices across which a data storage array is distributed. In response to receipt of a write request specifying a logical address and write data, the data storage system buffers the write request among a plurality of write requests in the pre-cache without provisioning in the data storage array a physical extent corresponding to the logical address. A management node analyzes the plurality of write requests buffered in the pre-cache. In response to the analyzing identifying a first pattern of write requests, the management node provisions, in the data storage array, a first physical extent having a smaller grain size and destages the write data to the first physical extent. In response to the analyzing identifying a second pattern of write requests, the management node provisions a second physical extent having a larger grain size and destages the write data from the pre-cache to the second physical extent.
    Type: Grant
    Filed: December 30, 2014
    Date of Patent: October 10, 2017
    Assignee: International Business Machines Corporation
    Inventors: Cheng-Chung Song, Andrew D. Walls
  • Patent number: 9690801
    Abstract: Techniques for selecting a storage node of a storage system to store data include applying a first function to at least some data chunks of an extent to provide respective first values for each of the at least some data chunks. A storage node, included within multiple storage nodes of a storage system, is selected to store the extent based on a majority vote derived from the respective first values.
    Type: Grant
    Filed: June 2, 2016
    Date of Patent: June 27, 2017
    Assignee: International Business Machines Corporation
    Inventors: Nikolas Ioannou, Ioannis Koltsidas, Roman A. Pletka, Cheng-Chung Song, Radu Stoica, Sasa Tomic, Andrew D. Walls
  • Patent number: 9632702
    Abstract: In at least one embodiment, a data storage system has a plurality of non-volatile storage devices, a higher level controller and one or more lower level controllers. In response to one or more inputs, the higher level controller of the data storage system issues an initialization command specifying initialization of a storage extent. In response to the initialization command, one or more lower level controllers issue dataless initialization commands to the plurality of non-volatile storage devices. In response to the dataless initialization commands, multiple first non-volatile storage devices among the plurality of non-volatile storage devices each initialize a respective data portion of the storage extent and a second non-volatile storage device among the plurality of non-volatile storage devices initializes a data protection portion of the storage extent.
    Type: Grant
    Filed: October 15, 2014
    Date of Patent: April 25, 2017
    Assignee: International Business Machines Corporation
    Inventors: Cheng-Chung Song, Andrew D. Walls
  • Patent number: 9626121
    Abstract: A mechanism is provided for performing de-duplication process on a set of non-volatile memories as part of another process routinely performed on the set of non-volatile memories. A hash value of data stored at a first physical location in a non-volatile memory in the set of non-volatile memories is received from a non-volatile memory controller associated with the non-volatile memory. Responsive to the hash value matching one or more existing hash values for data stored at one or more other physical locations in the set of non-volatile memories, an optimal physical location is identified from the first physical location and the one or more other physical locations. Responsive to identifying the optimal physical location, a set of logical addresses associated with the hash values is updated to point to the optimal physical location. The non-optimal physical locations are further invalidated in order that the non-optimal physical locations are erased.
    Type: Grant
    Filed: December 19, 2014
    Date of Patent: April 18, 2017
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Camp, Timothy J. Fisher, Cheng-Chung Song, Robert W. Tillerson, Andrew D. Walls
  • Patent number: 9471506
    Abstract: For data processing in a computing storage environment by a processor device, the environment incorporating at least high-speed and lower-speed caches, and managed tiered levels of storage, groups of data segments are migrated between the tiered levels of storage such that clumped uniformly hot ones of the groups of data segments are migrated to use a Solid State Drive (SSD) portion of the tiered levels of storage; uniformly hot groups of data segments are determined using a first, largest granulated, heat map for a selected one of the group of the data segments; a second heat map, which is smaller than the first and having the largest granularity of the first heat map, is used to determine the clumped hot groups; and sparsely hot groups are determined when neither the first heat map nor the second heat map are hotter than the first and second predetermined thresholds, respectively.
    Type: Grant
    Filed: April 22, 2015
    Date of Patent: October 18, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael T. Benhase, Lokesh M. Gupta, Cheng-Chung Song
  • Patent number: 9465554
    Abstract: For data processing in a distributed computing storage environment by a processor device, the distributed computing environment incorporating at least high-speed and lower-speed caches, and managed tiered levels of storage, groups of data segments and clumped hot ones of the data segments are migrated between the tiered levels of storage such that uniformly hot ones of the groups of data segments are migrated to use a Solid State Drive (SSD) portion of the tiered levels of storage; uniformly hot groups of data segments are determined using a first, heat map for a selected one of the group of the data segments; and a second heat map is used to determine the clumped hot groups.
    Type: Grant
    Filed: January 18, 2016
    Date of Patent: October 11, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael T. Benhase, Lokesh M. Gupta, Cheng-Chung Song
  • Patent number: 9411742
    Abstract: For data processing in a computing storage environment by a processor device, the computing storage environment incorporating at least high-speed and lower-speed caches, and tiered levels of storage, groups of data segments are migrated between the tiered levels of storage such that if a selected group is cached in the lower-speed cache and is determined to become uniformly hot, migrating the selected group from the lower-speed cache to the SSD portion while refraining from processing data retained in the lower-speed cache until the selected group is fully migrated to the SSD portion.
    Type: Grant
    Filed: October 5, 2015
    Date of Patent: August 9, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael T. Benhase, Lokesh M. Gupta, Cheng-Chung Song
  • Publication number: 20160188211
    Abstract: A data storage system includes a pre-cache and a plurality of storage devices across which a data storage array is distributed. In response to receipt of a write request specifying a logical address and write data, the data storage system buffers the write request among a plurality of write requests in the pre-cache without provisioning in the data storage array a physical extent corresponding to the logical address. A management node analyzes the plurality of write requests buffered in the pre-cache. In response to the analyzing identifying a first pattern of write requests, the management node provisions, in the data storage array, a first physical extent having a smaller grain size and destages the write data to the first physical extent. In response to the analyzing identifying a second pattern of write requests, the management node provisions a second physical extent having a larger grain size and destages the write data from the pre-cache to the second physical extent.
    Type: Application
    Filed: December 30, 2014
    Publication date: June 30, 2016
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: CHENG-CHUNG SONG, ANDREW D. WALLS
  • Publication number: 20160179433
    Abstract: A mechanism is provided for performing de-duplication process on a set of non-volatile memories as part of another process routinely performed on the set of non-volatile memories. A hash value of data stored at a first physical location in a non-volatile memory in the set of non-volatile memories is received from a non-volatile memory controller associated with the non-volatile memory. Responsive to the hash value matching one or more existing hash values for data stored at one or more other physical locations in the set of non-volatile memories, an optimal physical location is identified from the first physical location and the one or more other physical locations. Responsive to identifying the optimal physical location, a set of logical addresses associated with the hash values is updated to point to the optimal physical location. The non-optimal physical locations are further invalidated in order that the non-optimal physical locations are erased.
    Type: Application
    Filed: December 19, 2014
    Publication date: June 23, 2016
    Inventors: Charles J. Camp, Timothy J. Fisher, Cheng-Chung Song, Robert W. Tillerson, Andrew D. Walls
  • Patent number: 9361207
    Abstract: Provided are techniques for receiving an error inject script that describes one or more error inject scenarios that define under which conditions at least one error inject is to be executed and compiling the error inject script to output an error inject data structure. While executing code that includes the error inject, an indication that an event has been triggered is received, conditions defined in the one or more error inject scenarios are evaluated using the error inject data structure, and, for each of the conditions that evaluates to true, one or more actions defined in the error inject script for the condition are performed.
    Type: Grant
    Filed: December 27, 2013
    Date of Patent: June 7, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cheng-Chung Song
  • Publication number: 20160132273
    Abstract: For data processing in a distributed computing storage environment by a processor device, the distributed computing environment incorporating at least high-speed and lower-speed caches, and managed tiered levels of storage, groups of data segments and clumped hot ones of the data segments are migrated between the tiered levels of storage such that uniformly hot ones of the groups of data segments are migrated to use a Solid State Drive (SSD) portion of the tiered levels of storage; uniformly hot groups of data segments are determined using a first, heat map for a selected one of the group of the data segments; and a second heat map is used to determine the clumped hot groups.
    Type: Application
    Filed: January 18, 2016
    Publication date: May 12, 2016
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Michael T. Benhase, Lokesh M. Gupta, Cheng-Chung Song
  • Patent number: 9329977
    Abstract: Provided are techniques for receiving an error inject script that describes one or more error inject scenarios that define under which conditions at least one error inject is to be executed and compiling the error inject script to output an error inject data structure. While executing code that includes the error inject, an indication that an event has been triggered is received, conditions defined in the one or more error inject scenarios are evaluated using the error inject data structure, and, for each of the conditions that evaluates to true, one or more actions defined in the error inject script for the condition are performed.
    Type: Grant
    Filed: December 27, 2013
    Date of Patent: May 3, 2016
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Cheng-Chung Song