A method for reading, by a first computing node (102-1, 102-2) using remote direct memory access, RDMA, at least a portion of a first data block from a non-volatile cache, NV cache, said NV cache allocated from NVRAM (123-1, 123-2) of a second computing node (122-1, 122-2), wherein said first data block is stored at a home location in persistent storage (129-1, 129-2) of said second computing node (122-1, 122-2), said persistent storage (129-1, 129-2) not including said NVRAM (123-1, 123-2), said method comprising: determining, by said first computing node (102-1, 102-2), said home location at which said first data block is stored in said persistent storage (129-1, 129-2); applying, by said first computing node (102-1, 102-2), a hash function to said home location, to identify a first hash table bucket (202-x) of a hash table (129-1, 129-2) as corresponding to said first data block, wherein said hash function is a hash function for said hash table and wherein said hash table is stored in random access memory, RAM (123-1, 123-2, 124-1, 124-2), of said second computing node (122-1, 122-2); said first computing node (102-1, 102-2) reading, using a single RDMA read, the entire first hash table bucket (202-x) from said hash table (129-1,129-2), wherein said single RDMA read reads an address space in which said first hash table bucket (202-x) is stored contiguously; wherein said hash table (129-1, 129-2) comprises a plurality of hash table buckets (202-1,..., 202-N) including said first hash table bucket (202-x), each hash table bucket (202-1,..., 202-N) of said plurality of hash table buckets (202-1,..., 202-N) comprising a respective plurality of elements (204-1,..., 204-N) that correspond to a respective plurality of data blocks cached in said NV cache; determining that a first element (204-x) in said first hash table bucket (202-x) corresponds to said first data block cached at a particular cache location within said NV cache; and said first computing node (102-1, 102-2) reading, using RDMA, at least said portion of said first data block from said particular cache location in said NV cache. determining, by said first computing node (102-1, 102-2), said home location at which said first data block is stored in said persistent storage (129-1, 129-2); applying, by said first computing node (102-1, 102-2), a hash function to said home location, to identify a first hash table bucket (202-x) of a hash table (129-1, 129-2) as corresponding to said first data block, wherein said hash function is a hash function for said hash table and wherein said hash table is stored in random access memory, RAM (123-1, 123-2, 124-1, 124-2), of said second computing node (122-1, 122-2); said first computing node (102-1, 102-2) reading, using a single RDMA read, the entire first hash table bucket (202-x) from said hash table (129-1,129-2), wherein said single RDMA read reads an address space in which said first hash table bucket (202-x) is stored contiguously; wherein said hash table (129-1, 129-2) comprises a plurality of hash table buckets (202-1,..., 202-N) including said first hash table bucket (202-x), each hash table bucket (202-1,..., 202-N) of said plurality of hash table buckets (202-1,..., 202-N) comprising a respective plurality of elements (204-1,..., 204-N) that correspond to a respective plurality of data blocks cached in said NV cache; determining that a first element (204-x) in said first hash table bucket (202-x) corresponds to said first data block cached at a particular cache location within said NV cache; and said first computing node (102-1, 102-2) reading, using RDMA, at least said portion of said first data block from said particular cache location in said NV cache.