| CPC G06F 12/0802 (2013.01) [G06F 12/0864 (2013.01)] | 14 Claims |

|
1. A storage device comprising:
a memory for storing a plurality of data segments; and
a controller configured to control a data segment cache capable of caching all or part of the plurality of data segments,
wherein the data segment cache is a hash table comprising N buckets each of which is able to cache one or more data segments,
wherein the controller is configured to determine a target bucket, which is a bucket in which a target data segment is to be cached, among the N buckets based on a result of executing a hash function on the target data segment among the plurality of data segments, and cache the target data segment in the target bucket,
wherein the hash function is a function which outputs an index of the target bucket based on N, an index of the target data segment, and a seed value, and N is a natural number of 2 or more, and
wherein the seed value is randomly changed when a power cycle or power mode of the storage device is changed.
|