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: 10635330Abstract: 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: GrantFiled: December 29, 2016Date of Patent: April 28, 2020Assignee: EMC IP Holding Company LLCInventors: Milind M. Koli, Timothy C. Ng, Xiangqing Yang
-
Patent number: 10353588Abstract: 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: GrantFiled: June 30, 2016Date of Patent: July 16, 2019Assignee: EMC IP Holding Company LLCInventors: Milind Koli, Timothy C. Ng
-
Patent number: 10146454Abstract: 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: GrantFiled: June 30, 2016Date of Patent: December 4, 2018Assignee: EMC IP Holding Company LLCInventors: Milind M. Koli, Timothy C. Ng, James Mark Holt, David Haase, Vedashree Raman
-
Patent number: 10061540Abstract: 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: GrantFiled: June 30, 2016Date of Patent: August 28, 2018Assignee: EMC IP Holding Company LLCInventors: Milind M. Koli, Timothy C. Ng
-
Patent number: 10037157Abstract: 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: GrantFiled: December 22, 2016Date of Patent: July 31, 2018Assignee: EMC IP Holding Company LLCInventors: Milind M. Koli, Timothy C. Ng
-
Patent number: 10037289Abstract: 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: GrantFiled: December 17, 2015Date of Patent: July 31, 2018Assignee: EMC IP Holding Company LLCInventors: Milind M. Koli, Timothy C. Ng, James M. Holt
-
Patent number: 10025510Abstract: 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: GrantFiled: June 30, 2016Date of Patent: July 17, 2018Assignee: EMC IP Holding Company LLCInventors: Milind Koli, Timothy C. Ng, James Mark Holt, David Haase, Vedashree Anantha Raman
-
Patent number: 9934172Abstract: 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: GrantFiled: December 17, 2015Date of Patent: April 3, 2018Assignee: EMC IP Holding Company LLCInventors: Milind M. Koli, Timothy C. Ng, James M. Holt
-
Patent number: 9804797Abstract: 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: GrantFiled: September 29, 2014Date of Patent: October 31, 2017Assignee: EMC IP Holding Company LLCInventors: Timothy C. Ng, Alan L. Taylor, Nagapraveen V. Seela
-
Patent number: 5748945Abstract: 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: GrantFiled: May 31, 1996Date of Patent: May 5, 1998Assignee: International Business Machiens CorporationInventor: Timothy C. Ng
-
Patent number: 5748944Abstract: 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: GrantFiled: May 31, 1996Date of Patent: May 5, 1998Assignee: International Business Machines CorporationInventor: Timothy C. Ng