A system for cache management, the system comprising: a cache including a plurality of cache lines corresponding to a plurality of device endpoints, a device endpoint including a portion of a universal-serial-bus, USB, device; and a cache-management component configured to: receive one or more first transfer request blocks, TRBs, for data transfer involving a first device endpoint; determine whether a cache line in the cache is assigned to the first device endpoint and if yes, store the one or more first TRBs in the cache line assigned to the device endpoint; in response to no cache line in the cache being assigned to the first device endpoint, determine whether the cache includes an empty cache line that contains no valid TRBs; in response to the cache including an empty cache line, assign the empty cache line to the first device endpoint, and store the one or more first TRBs to the empty cache line; in response to the cache not including an empty cache line, assign a predetermined cache line to the first device endpoint, the predetermined cache line corresponding to a cache line that includes one or more second TRBs most recently received before the first TRBs, and store the one or more first TRBs to the predetermined cache line to replace the one or more second TRBs. a cache including a plurality of cache lines corresponding to a plurality of device endpoints, a device endpoint including a portion of a universal-serial-bus, USB, device; and a cache-management component configured to: receive one or more first transfer request blocks, TRBs, for data transfer involving a first device endpoint; determine whether a cache line in the cache is assigned to the first device endpoint and if yes, store the one or more first TRBs in the cache line assigned to the device endpoint; in response to no cache line in the cache being assigned to the first device endpoint, determine whether the cache includes an empty cache line that contains no valid TRBs; in response to the cache including an empty cache line, assign the empty cache line to the first device endpoint, and store the one or more first TRBs to the empty cache line; in response to the cache not including an empty cache line, assign a predetermined cache line to the first device endpoint, the predetermined cache line corresponding to a cache line that includes one or more second TRBs most recently received before the first TRBs, and store the one or more first TRBs to the predetermined cache line to replace the one or more second TRBs. receive one or more first transfer request blocks, TRBs, for data transfer involving a first device endpoint; determine whether a cache line in the cache is assigned to the first device endpoint and if yes, store the one or more first TRBs in the cache line assigned to the device endpoint; in response to no cache line in the cache being assigned to the first device endpoint, determine whether the cache includes an empty cache line that contains no valid TRBs; in response to the cache including an empty cache line, assign the empty cache line to the first device endpoint, and store the one or more first TRBs to the empty cache line; in response to the cache not including an empty cache line, assign a predetermined cache line to the first device endpoint, the predetermined cache line corresponding to a cache line that includes one or more second TRBs most recently received before the first TRBs, and store the one or more first TRBs to the predetermined cache line to replace the one or more second TRBs.