A method for accessing data stored in memory, the method comprising: receiving from a client, at a translation lookaside buffer ("TLB"), a request to initialize a pre-fetch stream for a set of contiguous virtual memory addresses, the request including a start virtual address and an end virtual address; responsive to the request, initializing the pre-fetch stream for the client, wherein the initializing includes performing a pre-fetch operation to fetch virtual-to-physical memory address translations into the TLB; responsive to performing the pre-fetch operation, transmitting an acknowledgment to the client that the pre-fetch stream is initialized; responsive to receiving the acknowledgment, generating a memory access request by the client to access data stored at virtual addresses for which the pre-fetch operation pre-fetched translations; continuing to pre-fetch translations into the TLB, by the TLB, until the pre-fetch stream is complete, while continuing to pre-fetch the translations into the TLB: receiving, from the client, a series of memory access requests to access data stored at virtual addresses for which translations are stored in the TLB; translating the virtual addresses to physical addresses based on the translations; and accessing memory based on the memory access request and the physical addresses; in response to accessing the last memory address, by the client, in the range defined by the start virtual address and the end virtual address, transmitting an invalidation request from the client to the TLB to invalidate the translations associated with the pre-fetch stream; and responsive to the invalidation request, invalidating entries in the TLB associated with the pre-fetch stream. receiving from a client, at a translation lookaside buffer ("TLB"), a request to initialize a pre-fetch stream for a set of contiguous virtual memory addresses, the request including a start virtual address and an end virtual address; responsive to the request, initializing the pre-fetch stream for the client, wherein the initializing includes performing a pre-fetch operation to fetch virtual-to-physical memory address translations into the TLB; responsive to performing the pre-fetch operation, transmitting an acknowledgment to the client that the pre-fetch stream is initialized; responsive to receiving the acknowledgment, generating a memory access request by the client to access data stored at virtual addresses for which the pre-fetch operation pre-fetched translations; continuing to pre-fetch translations into the TLB, by the TLB, until the pre-fetch stream is complete, while continuing to pre-fetch the translations into the TLB: receiving, from the client, a series of memory access requests to access data stored at virtual addresses for which translations are stored in the TLB; translating the virtual addresses to physical addresses based on the translations; and accessing memory based on the memory access request and the physical addresses; in response to accessing the last memory address, by the client, in the range defined by the start virtual address and the end virtual address, transmitting an invalidation request from the client to the TLB to invalidate the translations associated with the pre-fetch stream; and responsive to the invalidation request, invalidating entries in the TLB associated with the pre-fetch stream. receiving, from the client, a series of memory access requests to access data stored at virtual addresses for which translations are stored in the TLB; translating the virtual addresses to physical addresses based on the translations; and accessing memory based on the memory access request and the physical addresses; in response to accessing the last memory address, by the client, in the range defined by the start virtual address and the end virtual address, transmitting an invalidation request from the client to the TLB to invalidate the translations associated with the pre-fetch stream; and responsive to the invalidation request, invalidating entries in the TLB associated with the pre-fetch stream.