Patents by Inventor Daniel I. Tan

Daniel I. Tan 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: 11182358
    Abstract: A controller-implemented method includes reading, by a controller, a scrub unit containing a read unit and, in response to determining that the scrub unit is not marked as being scrubbed in a current scrub cycle, storing, by the controller, the scrub unit to a memory. The method also includes marking, by the controller, another scrub unit associated with the stored scrub unit as a scrub-pending scrub unit and reading, by the controller, the scrub-pending scrub unit in response to determining that a subsequent read matches predefined criteria. The method includes performing, by the controller, a scrub using the stored scrub unit and the scrub-pending scrub unit. A system includes a processor and logic integrated with the processor, executable by the processor, or integrated with and executable by the processor. The logic is configured to perform the foregoing method.
    Type: Grant
    Filed: July 18, 2019
    Date of Patent: November 23, 2021
    Assignee: International Business Machines Corporation
    Inventors: Gregory Kishi, Itzhack Goldberg, Daniel I. Tan
  • Publication number: 20210019293
    Abstract: A controller-implemented method includes reading, by a controller, a scrub unit containing a read unit and, in response to determining that the scrub unit is not marked as being scrubbed in a current scrub cycle, storing, by the controller, the scrub unit to a memory. The method also includes marking, by the controller, another scrub unit associated with the stored scrub unit as a scrub-pending scrub unit and reading, by the controller, the scrub-pending scrub unit in response to determining that a subsequent read matches predefined criteria. The method includes performing, by the controller, a scrub using the stored scrub unit and the scrub-pending scrub unit. A system includes a processor and logic integrated with the processor, executable by the processor, or integrated with and executable by the processor. The logic is configured to perform the foregoing method.
    Type: Application
    Filed: July 18, 2019
    Publication date: January 21, 2021
    Inventors: Gregory Kishi, Itzhack Goldberg, Daniel I. Tan
  • Patent number: 10747610
    Abstract: A computer-implemented method, according to one embodiment, includes: determining whether an error has occurred for each block of storage space in memory by sequentially evaluating each of the blocks of storage space. In response to determining that an error has occurred for a given block, the given block is scanned for an identifier at an end of data stored in the given block, and a trailer appended to the identifier is located. Metadata included in the trailer is further used to identify each additional block which corresponds to a same file as the given block, and a data scrubbing procedure is performed on the given block and each of the additional identified blocks. A result of the scrubbing procedure is also output in response to detecting an error in the given block and/or the additional identified blocks.
    Type: Grant
    Filed: September 21, 2018
    Date of Patent: August 18, 2020
    Assignee: International Business Machines Corporation
    Inventors: Gregory T. Kishi, Daniel I. Tan, Itzhack Goldberg, Shazad Naviwala
  • Patent number: 10712941
    Abstract: A computer-implemented method, according to one embodiment, includes: receiving an access request for data in a first block of storage space in memory, and returning the data in the first block of storage space in response to the access request. An identifier at an end of the data in the first block of storage space is also located, and pointers included in a trailer appended to the identifier are used to identify additional blocks of storage space which include data having temporal locality with the data in the first block of storage space. The data in each of the identified additional blocks of storage space is further prepared for use.
    Type: Grant
    Filed: September 21, 2018
    Date of Patent: July 14, 2020
    Assignee: International Business Machines Corporation
    Inventors: Gregory T. Kishi, Daniel I. Tan, Itzhack Goldberg, Shazad Naviwala
  • Publication number: 20200097173
    Abstract: A computer-implemented method, according to one embodiment, includes: receiving an access request for data in a first block of storage space in memory, and returning the data in the first block of storage space in response to the access request. An identifier at an end of the data in the first block of storage space is also located, and pointers included in a trailer appended to the identifier are used to identify additional blocks of storage space which include data having temporal locality with the data in the first block of storage space. The data in each of the identified additional blocks of storage space is further prepared for use.
    Type: Application
    Filed: September 21, 2018
    Publication date: March 26, 2020
    Inventors: Gregory T. Kishi, Daniel I. Tan, Itzhack Goldberg, Shazad Naviwala
  • Publication number: 20200097356
    Abstract: A computer-implemented method, according to one embodiment, includes: determining whether an error has occurred for each block of storage space in memory by sequentially evaluating each of the blocks of storage space. In response to determining that an error has occurred for a given block, the given block is scanned for an identifier at an end of data stored in the given block, and a trailer appended to the identifier is located. Metadata included in the trailer is further used to identify each additional block which corresponds to a same file as the given block, and a data scrubbing procedure is performed on the given block and each of the additional identified blocks. A result of the scrubbing procedure is also output in response to detecting an error in the given block and/or the additional identified blocks.
    Type: Application
    Filed: September 21, 2018
    Publication date: March 26, 2020
    Inventors: Gregory T. Kishi, Daniel I. Tan, Itzhack Goldberg, Shazad Naviwala
  • Patent number: 10198190
    Abstract: A system and method for data storage management is disclosed. The method includes determining, by an access tracking component, a quantity of access requests for at least one data block, and determining a quantity of current copies of the data block. The method also includes creating, by a duplication component, at least one additional copy of the data block when the quantity of the access requests exceeds an access request threshold. Additionally, a deduplication component removes at least one current copy of the data block when the quantity of the access requests falls below the access request threshold. The access request threshold can be a threshold number of access requests for the data block, the presence of an input/output bottleneck, or a given length of a read latency when accessing the data block. Further, data coloring techniques can be used to distribute current copies of the data block.
    Type: Grant
    Filed: October 31, 2016
    Date of Patent: February 5, 2019
    Assignee: International Business Machines Corporation
    Inventors: Joseph W. Dain, Itzhack Goldberg, Gregory T. Kishi, Daniel I. Tan
  • Publication number: 20180260141
    Abstract: A system and method for data storage management is disclosed. The method includes determining, by an access tracking component, a quantity of access requests for at least one data block, and determining a quantity of current copies of the data block. The method also includes creating, by a duplication component, at least one additional copy of the data block when the quantity of the access requests exceeds an access request threshold. Additionally, a deduplication component removes at least one current copy of the data block when the quantity of the access requests falls below the access request threshold. The access request threshold can be a threshold number of access requests for the data block, the presence of an input/output bottleneck, or a given length of a read latency when accessing the data block. Further, data coloring techniques can be used to distribute current copies of the data block.
    Type: Application
    Filed: May 25, 2018
    Publication date: September 13, 2018
    Inventors: Joseph W. Dain, Itzhack Goldberg, Gregory T. Kishi, Daniel I. Tan
  • Publication number: 20180260142
    Abstract: A system and method for data storage management is disclosed. The method includes determining, by an access tracking component, a quantity of access requests for at least one data block, and determining a quantity of current copies of the data block. The method also includes creating, by a duplication component, at least one additional copy of the data block when the quantity of the access requests exceeds an access request threshold. Additionally, a deduplication component removes at least one current copy of the data block when the quantity of the access requests falls below the access request threshold. The access request threshold can be a threshold number of access requests for the data block, the presence of an input/output bottleneck, or a given length of a read latency when accessing the data block. Further, data coloring techniques can be used to distribute current copies of the data block.
    Type: Application
    Filed: May 25, 2018
    Publication date: September 13, 2018
    Inventors: Joseph W. Dain, Itzhack Goldberg, Gregory T. Kishi, Daniel I. Tan
  • Patent number: 10013182
    Abstract: A system and method for data storage management is disclosed. The method includes determining, by an access tracking component, a quantity of access requests for at least one data block, and determining a quantity of current copies of the data block. The method also includes creating, by a duplication component, at least one additional copy of the data block when the quantity of the access requests exceeds an access request threshold. Additionally, a deduplication component removes at least one current copy of the data block when the quantity of the access requests falls below the access request threshold. The access request threshold can be a threshold number of access requests for the data block, the presence of an input/output bottleneck, or a given length of a read latency when accessing the data block. Further, data coloring techniques can be used to distribute current copies of the data block.
    Type: Grant
    Filed: July 31, 2017
    Date of Patent: July 3, 2018
    Assignee: International Business Machines Corporation
    Inventors: Joseph W. Dain, Itzhack Goldberg, Gregory T. Kishi, Daniel I. Tan
  • Publication number: 20180121105
    Abstract: A system and method for data storage management is disclosed. The method includes determining, by an access tracking component, a quantity of access requests for at least one data block, and determining a quantity of current copies of the data block. The method also includes creating, by a duplication component, at least one additional copy of the data block when the quantity of the access requests exceeds an access request threshold. Additionally, a deduplication component removes at least one current copy of the data block when the quantity of the access requests falls below the access request threshold. The access request threshold can be a threshold number of access requests for the data block, the presence of an input/output bottleneck, or a given length of a read latency when accessing the data block. Further, data coloring techniques can be used to distribute current copies of the data block.
    Type: Application
    Filed: July 31, 2017
    Publication date: May 3, 2018
    Inventors: Joseph W. Dain, Itzhack Goldberg, Gregory T. Kishi, Daniel I. Tan
  • Publication number: 20180121104
    Abstract: A system and method for data storage management is disclosed. The method includes determining, by an access tracking component, a quantity of access requests for at least one data block, and determining a quantity of current copies of the data block. The method also includes creating, by a duplication component, at least one additional copy of the data block when the quantity of the access requests exceeds an access request threshold. Additionally, a deduplication component removes at least one current copy of the data block when the quantity of the access requests falls below the access request threshold. The access request threshold can be a threshold number of access requests for the data block, the presence of an input/output bottleneck, or a given length of a read latency when accessing the data block. Further, data coloring techniques can be used to distribute current copies of the data block.
    Type: Application
    Filed: October 31, 2016
    Publication date: May 3, 2018
    Inventors: Joseph W. Dain, Itzhack Goldberg, Gregory T. Kishi, Daniel I. Tan