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.