US7966403B2

Performance profiling for improved data throughput

Summary by NHIP

Dynamic Buffer Reallocation

The system opens a high-performance connection with a first host and a low-performance connection with a second host. It reallocates memory buffers reserved for solicited write data from the first host to store unsolicited write data from the second host during oversubscription.

Claim Score by NHIP

Read claim 16, the broadest

Abstract

A computer-implemented system and method for performance profiling on a target device. The computer-implemented method includes configuring the target device to operate in a first mode or a second mode, and receiving a write command from a host device. When the target device is configured to operate in the first mode, the method includes sending an authorization to send write data to the host device, and receiving write data from the host device. When the target device is configured to operate in the second mode, the method includes allocating a reserved write buffer on the target device, and receiving write data from the host device using the write buffer.

US7966403B2, drawing sheet 1
Sheet 1 of 13

Term

Term ended

Expired 3 March 2024, 2.6 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

19 claims: 4 independent, 15 dependent

  1. 1
    A computer-implemented method for oversubscribing write data on a target device, the method comprising:opening, at the target device, a first connection with a first host device in a high-performance mode, wherein opening a first connection includes allocating a number of memory buffers for solicited write data received from the first host device within the target device and additionally reserving a number of other memory buffers for unsolicited write data received from the first host device within the target device;opening a second connection with a second host device in a low-performance mode, wherein opening a second connection includes allocating a number of memory buffers for solicited write data received from the second host device within the target device;and initiating an oversubscription process on the target device for the second connection, wherein initiating an oversubscription process includes reallocating a portion of the memory buffers reserved for the first host device as memory to store unsolicited write data received from the second host device, wherein reallocating includes analyzing use of the memory allocated for solicited write data and using a portion of the memory allocated for solicited write data as memory for unsolicited write data from the second host device, wherein, when the oversubscription process is initiated for one of the connections, the target device receives write data from its corresponding host device in a high-performance mode.
  2. 8
    A target device for managing network-storage, comprising:a network interface used to couple the device to a network;a memory used to hold write data;a processor, wherein the processor is capable of: opening a first connection with a first host device in a high-performance mode, wherein opening a first connection includes allocating a number of memory buffers for solicited write data received from the first host device within the target device and additionally reserving a number of other memory buffers for unsolicited write data received from the first host device within the target device;opening a second connection with a second host device in a low-performance mode, wherein opening a second connection includes allocating a number of memory buffers for solicited write data received from the second host device within the target device;and initiating an oversubscription process, wherein initiating includes reallocating memory allocated for one of the connections to be used by the other connection, wherein initiating an oversubscription process includes reallocating, for the second connection, a portion of the memory buffers reserved for the first host device as memory to store unsolicited write data received from the second host device, wherein reallocating includes analyzing use of the memory allocated for solicited write data and using a portion of the memory allocated for solicited write data as memory for unsolicited write data received from the second host device;wherein, when the oversubscription process is initiated for one of the connections, the target device receives write data from its corresponding host device in a high-performance mode.
  3. 12
    A system for transferring data, comprising:a plurality of host devices including a first host device and a second host device;and a target device, wherein the target device includes: a network interface used to couple the device to a network;a memory used to hold write data;a processor, wherein the processor is capable of: opening a first connection with the first host device in a high-performance mode, wherein opening a first connection includes allocating a number of memory buffers for solicited write data received from the first host device within the target device and additionally reserving a number of other memory buffers for unsolicited write data received from the first host device within the target device;opening a second connection with the second host device in a low-performance mode, wherein opening a second connection includes allocating a number of memory buffers for solicited write data received from the second host device within the target device;and initiating an oversubscription process, wherein initiating includes reallocating memory allocated for one of the connections to be used by the other connection, wherein initiating an oversubscription process includes reallocating, for the second connection, a portion of the memory buffers reserved for the first host device as memory to store unsolicited write data received from the second host device, wherein reallocating includes analyzing use of the memory allocated for solicited write data and using a portion of the memory allocated for solicited write data as memory for unsolicited write data from the second host device;wherein each host device sends write data via its respective connection to the target device;and wherein, when the oversubscription process is initiated for one of the connections, the target device receives write data from its corresponding host device in a high-performance mode.
  4. 16
    Broadest claimClaim Score 28, narrow(NHIP)A non-transitory computer-readable medium storing instructions that, when executed by a computer, cause the computer to perform:opening, at a target device, a first connection with a first host device in a high-performance mode, wherein opening a first connection includes allocating a number of memory buffers for solicited write data received from the first host device within the target device and additionally reserving a number of other memory buffers for unsolicited write data received from the first host device within the target device;opening a second connection with the second host device in a low-performance mode, wherein opening a second connection includes allocating a number of memory buffers for solicited write data received from the second host device within the target device;and initiating an oversubscription process on the target device, wherein initiating includes reallocating memory allocated for one of the connections to be used by the other connection, wherein initiating an oversubscription process includes reallocating, for the second connection, a portion of the memory buffers reserved for the first host device as memory to store unsolicited write data received from the second host device, wherein reallocating includes analyzing use of the memory allocated for solicited write data and using a portion of the memory allocated for solicited write data as memory for unsolicited write data received from the second host device;wherein, when the oversubscription process is initiated for one of the connections, the target device receives write data from its corresponding host device in a high-performance mode.