IP Library Granted Patent US 7,721,025
Granted Patent B2
US 7,721,025 · App. 11/470,539 · Granted May 18, 2010

Reusing task object and resources

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,721,025
App. No.
11/470,539
Granted
May 18, 2010
Kind
B2
Abstract

A session-level cache provides space to reuse a task object and associated memory resources for a new request. Any additional resources necessary for the task are allocated by the system memory allocator.

Claims (44)

1. A method of allocating a task object and buffer space therefor using a network storage controller programmed to perform the method, the method comprising:

determining a session size fit from among at least one session in a session-level task cache of the network storage controller, the at least one session comprising at least one previously allocated task object and associated buffer space, the determining in response to a request for a task object and buffer space therefore, wherein each of the at least one task object and the requested task object comprises an iSCSI task object;

allocating the requested task object and buffer space from the session-level task cache based on the session size fit determined;

wherein if the session size fit determined comprises a larger buffer space than required by the request, then the determined session is allocated with the larger buffer space;

wherein if the session size fit determined comprises a smaller buffer space than required by the request, then the determined session is allocated with the additional buffer space required by the request; and

wherein each of the at least one task object and the requested task object comprises an iSCSI task object.

2. A method of managing memory for task objects and associated buffer space, the method comprising:

reclaiming at least a portion of a previously allocated session from a session-level task cache of a network storage controller in response to a request, the session comprising at least one iSCSI task object and a predetermined amount of associated buffer space, if a predetermined condition exists

wherein if the session size comprises a larger buffer space than required by the request, then the session is allocated with the larger buffer space;

wherein if the session size comprises a smaller buffer space than required by the request, then the session is allocated with the additional buffer space required by the request; and

wherein the predetermined condition comprises one of a predetermined time period of nonuse of the at least a portion of the session-level task cache, to address network resource needs, and to improve performance.

3. Apparatus for allocating a task object and buffer space therefor, the apparatus comprising:

a network storage controller, comprising a session-level task cache storing a plurality of task objects and associated buffer space from an end of processing therefor, the network storage controller further comprising memory storing a driver for the network storage controller to determine a size fit from among the plurality of task objects and associated buffer space, and to allocate a task object and associated buffer space from the session-level task cache based on the size fit in response to a request in order to reuse at least some of the task object and associated buffer space from the plurality of task objects and associated buffer space

wherein if the size fit determined comprises a larger buffer space than required by the request, then the determined task object and associated buffer space is allocated with the larger buffer space;

wherein if the size fit determined comprises a smaller buffer space than required by the request, then the determined task object and associated buffer space is allocated with the additional buffer space required by the request; and

wherein each of the plurality of task objects comprises an SCSI task object.

4. The apparatus of claim 3 , wherein the driver further allocates any additional resources necessary for the determined task object.

5. Apparatus for allocating a task object and buffer space therefor, the apparatus comprising:

a network storage controller comprising:

a session-level task cache comprising at least one session comprising at least one previously allocated task object and associated buffer space, wherein at least one of the at least one session comprises a predetermined amount of buffer space; memory storing a driver to;

determine a session size fit from among the at least one session, in response to a request for a task object and buffer space therefore;

allocate the requested task object and buffer space from the session-level task cache based on the session size fit determined;

wherein if the at least one session comprises a session having a larger buffer space than required by the request, then the driver stored in the memory proceeds to allocate the larger buffer space;

wherein if the at least one session comprises a session having a smaller buffer space than required by the request, then the driver stored in the memory allocates additional buffer space required by the request; and

wherein each of the at least one task object and the requested task object comprises an iSCSI task object.

6. Apparatus for managing memory for task objects and associated buffer space, the apparatus comprising:

a network storage controller comprising:

a session-level task cache comprising at least one previously allocated iSCSI task object and a predetermined amount of associated buffer space for re-allocation; memory storing a driver for the network storage controller to reclaim at least a portion of the session-level task cache if a predetermined condition exists;

wherein if the at least a portion comprises a larger buffer space than required by the request, then the at least a portion is allocated with the larger buffer space;

wherein if the at least a portion comprises a smaller buffer space than required by the request, then the at least a portion is allocated with the additional buffer space required by the request; and

wherein the predetermined condition comprises one of a predetermined time period of nonuse of the at least a portion of the session-level task cache, to address network resource needs, and to improve performance.

7. At least one program storage device readable by a network storage controller and embodying at least one program of instructions executable by the network storage controller to perform a method of allocating a task object and buffer space therefor, the method comprising:

providing a session-level task cache comprising at least one session comprising at least one task object and associated buffer space, wherein at least one of the at least one session comprises a predetermined amount of buffer space;

determining a session size fit from among the at least one session, in response to a request for a task object and buffer space therefore, wherein each of the at least one previously allocated task object and the requested task object comprises an iSCSI task object;

allocating the requested task object and buffer space from the session-level task cache based on the determining;

wherein if the session size fit determined comprises a larger buffer space than required by the request, then the determined session is allocated with the larger buffer space;

wherein if the session size fit determined comprises a smaller buffer space than required by the request, then the determined session is allocated with the additional buffer space required by the request; and

wherein each of the at least one task object and the requested task object comprises an iSCSI task object.

8. At least one program storage device readable by a network storage controller and embodying at least one program of instructions executable by the network storage controller to perform a method of managing memory for task objects and associated buffer space, the method comprising:

providing a session-level task cache comprising at least one previously allocated iSCSI task object and associated buffer space for re-allocation;

reclaiming at least a portion of the session-level task cache if a predetermined condition exists;

wherein if the at least a portion of the session-level task cache comprises a lamer buffer space than required, then it is allocated with the lamer buffer space;

wherein if the at least a portion of the session-level task cache comprises a smaller buffer space than required, then it is allocated with the additional buffer space required by the request; and

wherein the predetermined condition comprises one of a predetermined time period of nonuse of the at least a portion of the session-level task cache, to address network resource needs, and to improve performance.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 040545/0362 →
SECURITY INTEREST Recorded Mar 13, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035200/0722 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2014
From: STARBOARD STORAGE SYSTEMS, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 031989/0981 →