Patents by Inventor Timothy C. Ng

Timothy C. Ng 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: 10635330
    Abstract: A method performed by a mapping driver executing on a DSS includes (a) receiving a data storage command that identifies a portion of storage of the DSS having a given size to which the data storage command is directed, (b) generating a plurality of derived data storage (DDS) instructions from the received data storage command, each DDS instruction of the plurality of DDS instructions identifying a respective sub-portion of the portion to which that DDS instruction is directed, each sub-portion having a respective sub-portion size smaller than the given size, and (c) issuing each DDS instruction separately to a data storage coordination driver also executing on the DSS, the data storage coordination driver being configured to cause each DDS instruction to be performed with respect to storage of the DSS. An apparatus, system, and computer program product for performing a similar method are also provided.
    Type: Grant
    Filed: December 29, 2016
    Date of Patent: April 28, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Milind M. Koli, Timothy C. Ng, Xiangqing Yang
  • Patent number: 10353588
    Abstract: In a data storage system a host I/O request is received from a host-side interface, the host I/O request specifying a range of logical block addresses (LBAs) of a mapped logical unit (MLU). Mapping information is obtained for a plurality of extents of the underlying logical units of storage. If there are a sufficient number of free sub-I/O request tracking structures to track completion of a plurality of respective sub-I/O requests for the extents, then the sub-I/O requests are concurrently issued to the device-side interface, using the mapping information. Upon receiving transfer initiation responses for the sub-I/O requests to initiate transfer of the respective extents, they are forwarded to the host-side interface to cause the respective extents to be transferred to/from the host. As the transfer initiation responses are forwarded to the host-side interface, the respective sub-I/O request tracking structures are freed for use in processing subsequent host I/O requests.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: July 16, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Milind Koli, Timothy C. Ng
  • Patent number: 10146454
    Abstract: A method is provided for performance by an I/O Coordination module of a computing device operating as a data storage system in order to obtain and process physical extent mappings in the context of an XCOPY Lite or XCOPY type operation. The method involves breaking down the source region into physical source extents with reference to a container filesystem representing the logical volume of the source as a file. The I/O Coordination module is then able to separately process each of these physical source extents and also obtain its corresponding physical destination extents with reference to the container filesystem, which also represents the logical volume of the destination as a file. The I/O Coordination module is then able to cause integrated copy commands to be issued to an underlying physical storage driver. An apparatus, system, and computer program product for performing a similar method are also provided.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: December 4, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Milind M. Koli, Timothy C. Ng, James Mark Holt, David Haase, Vedashree Raman
  • Patent number: 10061540
    Abstract: A method is provided for performance by a mapping driver of a computing device operating as a data storage system. The method includes (a) receiving, from a storage driver stack, a first data storage command (DSC), (b) receiving, from the storage driver stack, a second DSC, (c) determining that the first DSC and the second DSC are both related aspects of a combined storage command, (d) in response to determining, establishing a pairing structure to pair the first DSC and the second DSC together, and (e) fulfilling the combined storage command by fulfilling both the first DSC and the second DSC with reference to the pairing structure. An apparatus, system, and computer program product for performing a similar method are also provided.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: August 28, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Milind M. Koli, Timothy C. Ng
  • Patent number: 10037157
    Abstract: Techniques are provided for implementing a zero detection feature in the middle of a I/O driver stack that is able to function properly on migration of a thickly-provisioned logical disk to a thinly-provisioned logical disk. This may be accomplished by creating the destination thinly-provisioned logical disk with a Zero Detect mode that is initially set to active upon a migration. The zero detection feature implemented in the middle of the I/O driver stack is configured to require any writes to a logical disk to be buffered when that logical disk is in active Zero Detect mode, and to automatically apply zero detection to such writes to prevent writing entire blocks of zeroes. The Zero Detect mode may then be set to passive upon completion of the migration, allowing zero detection to be applied only to select write operations in the normal course of operation.
    Type: Grant
    Filed: December 22, 2016
    Date of Patent: July 31, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Milind M. Koli, Timothy C. Ng
  • Patent number: 10037289
    Abstract: In a data storage system a host I/O request is received from a host-side interface, the host I/O request specifying a range of logical block addresses (LBAs) of a mapped logical unit (MLU). Mapping information is obtained for a plurality of extents of the underlying logical units of storage. If there are a sufficient number of free sub-I/O request tracking structures to track completion of a plurality of respective sub-I/O requests for the extents, then the sub-I/O requests are concurrently issued to the device-side interface, using the mapping information. Upon receiving transfer initiation responses for the sub-I/O requests to initiate transfer of the respective extents, they are forwarded to the host-side interface to cause the respective extents to be transferred to/from the host. As the transfer initiation responses are forwarded to the host-side interface, the respective sub-I/O request tracking structures are freed for use in processing subsequent host I/O requests.
    Type: Grant
    Filed: December 17, 2015
    Date of Patent: July 31, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Milind M. Koli, Timothy C. Ng, James M. Holt
  • Patent number: 10025510
    Abstract: A technique for use in managing data storage in a data storage system is disclosed. A first and second data storage commands (DSC) are received from a storage driver stack. Determining if the first DSC and the second DSC are both related aspects of a combined storage command and if so, establishing a pairing structure to pair the first DSC and the second DSC together. Fulfilling the combined storage command by fulfilling both the first DSC and the second DSC with reference to the pairing structure.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: July 17, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Milind Koli, Timothy C. Ng, James Mark Holt, David Haase, Vedashree Anantha Raman
  • Patent number: 9934172
    Abstract: A method in a data storage system includes receiving a host I/O request from a host-side interface specifying a range of logical block addresses (LBAs) of a mapped logical storage unit (MLU) mapped through a device-side interface to underlying units of storage. Mapping information is obtained for extents of the underlying logical storage units mapped to sub-ranges of the range of LBAs. Sub-I/O requests for the extents are concurrently issued to the device-side interface based on the mapping information, subject to a throttling mechanism to manage performance. The device-side interface provides transfer initiation responses to initiate transfer of the extents, the responses being forwarded to the host-side interface to cause the host-side interface to transfer the extents in a transfer phase. The transfer initiation responses may be re-ordered as necessary to enable the host-side interface to transfer the extents in address order in satisfaction of the host I/O request.
    Type: Grant
    Filed: December 17, 2015
    Date of Patent: April 3, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Milind M. Koli, Timothy C. Ng, James M. Holt
  • Patent number: 9804797
    Abstract: The subject disclosure is generally directed towards load balancing between storage processors based upon dynamic redirection statistics, in which load balancing includes changing a preferred path/a mounted file system from one storage processor to another. In one example, load balancing technology compares a current delta of directed and redirected I/O counts to a previous delta. If the result turns from negative to positive, that is, redirection is becoming prevalent, a load balancing threshold may be changed based upon the current delta value. Load balancing is thus based on the latest trend of I/O redirection.
    Type: Grant
    Filed: September 29, 2014
    Date of Patent: October 31, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Timothy C. Ng, Alan L. Taylor, Nagapraveen V. Seela
  • Patent number: 5748945
    Abstract: Method for providing slave direct memory access (DMA) support on a computer system bus that does not support slave devices, such as the personal computer interconnect or "PCI" bus. Using the method, an adapter card or microprocessor with a local DMA controller can be operated as a busmaster and simulate a system DMA controller which would normally be used during slave DMA operations. Alternatively, the method allows a local DMA controller to work with an existing system DMA controller so that application software receives the correct status when polling registers in the system DMA controller. The method allows the system DMA controller to operate as if the system DMA controller is controlling DMA transfers. In this way device contention between the system DMA controller and the local DMA controller is avoided.
    Type: Grant
    Filed: May 31, 1996
    Date of Patent: May 5, 1998
    Assignee: International Business Machiens Corporation
    Inventor: Timothy C. Ng
  • Patent number: 5748944
    Abstract: Apparatus for providing slave direct memory access (DMA) support on a computer system bus that does not support slave devices, such as the personal computer interconnect or "PCI" bus. An adapter card or microprocessor has a local DMA controller that can act as a busmaster and simulate a system DMA controller which would normally be used during slave DMA operations. Alternatively, the local DMA controller can work with an existing system DMA controller so that application software receives the correct status when polling registers in the system DMA controller. The local DMA controller allows the system DMA controller to operate as if the system DMA controller is controlling DMA transfers. In this way device contention between the system DMA controller and the local DMA controller is avoided.
    Type: Grant
    Filed: May 31, 1996
    Date of Patent: May 5, 1998
    Assignee: International Business Machines Corporation
    Inventor: Timothy C. Ng