STORING DATA IN A DISTRIBUTED STORAGE SYSTEM

    公开(公告)号:US20180307560A1

    公开(公告)日:2018-10-25

    申请号:US15847585

    申请日:2017-12-19

    Abstract: According to examples, a storage node may include storage devices and a controller that may determine whether all of a plurality of data chunks of a first intra-node portion of a stripe have been stored on the storage node. Based on a determination that all of the data chunks have been stored, a first intra-node parity chunk may be stored at a second one of the storage devices, in which the first intra-node parity chunk may be determined from at least one of the data chunks of the first intra-node portion. Based on a determination that at least one of the data chunks has not been stored, storage of a first intra-node parity chunk of the stripe on the storage node may be delayed until a determination is made that all of the data chunks of the first intra-node portion have been stored at the storage node.

    Processing of incoming blocks in deduplicating storage system

    公开(公告)号:US09977746B2

    公开(公告)日:2018-05-22

    申请号:US14919414

    申请日:2015-10-21

    CPC classification number: G06F12/1009 G06F3/0641 G06F2212/65

    Abstract: Methods, systems, and computer programs are presented for deduplicating data. One method includes an operation for receiving a data block having a logical address. The storage system includes a logical address mapping index for mapping logical addresses to block numbers, a block index for mapping block numbers to physical locations, and a fingerprint index for mapping fingerprints of data blocks to block numbers. Additionally, the method includes an operation for inline processing the data block. Inline processing the data block includes determining a fingerprint of the data block, examining the fingerprint index to determine if the fingerprint is already mapped to an existing data block in the storage system, if the fingerprint is already mapped then adding a mapping of the logical address to the existing data block in the logical address mapping index, and if the fingerprint is not already mapped then creating the corresponding entries in the indices.

    Quality of service implementation in a networked storage system with hierarchical schedulers

    公开(公告)号:US10387202B2

    公开(公告)日:2019-08-20

    申请号:US15277779

    申请日:2016-09-27

    Abstract: Methods, systems, and computer programs are presented for allocating CPU cycles in a storage system. One method includes operations for receiving requests to be processed, and for associating each request to one task. A foreground task is for processing input/output requests, and the foreground task includes one or more flows. Each flow is associated with a queue and a flow counter value, where each queue is configured to hold requests. The method further includes an operation for selecting one task for processing by the CPU based on an examination of the number of cycles processed by the CPU for each task. When the selected task is the foreground task, the flow having the lowest flow counter is selected. The CPU processes a request from the queue of the selected flow, and the flow counter of the selected flow is increased based on the data consumption of the processed task.

    Access-based eviction of blocks from solid state drive cache memory

    公开(公告)号:US09880934B2

    公开(公告)日:2018-01-30

    申请号:US15256463

    申请日:2016-09-02

    Abstract: Methods and systems are presented for allocating CPU cycles among processes in a storage system. One method includes operations for maintaining segments in a first memory, each segment including blocks, and for maintaining a block temperature for each block in a second memory. The first memory is a read-cache where one segment is written at a time, and each block is readable from the first memory without reading the corresponding complete segment. The block temperature is based on the frequency of access to the respective block, and a segment temperature is based on the block temperature of its blocks. Additionally, the segment with the lowest segment temperature is selected for eviction from the second memory, and blocks in the selected segment with a block temperature greater than a threshold temperature are identified. The selected segment is evicted, and a segment with the identified blocks is written to the first memory.

    Merging buffered fingerprint index entries

    公开(公告)号:US11354289B2

    公开(公告)日:2022-06-07

    申请号:US16669930

    申请日:2019-10-31

    Abstract: In some examples, a system receives, in a synchronization buffer stored in a memory, fingerprint index entries for respective data units received by the system, each fingerprint index entry of the fingerprint index entries comprising a fingerprint computed for a corresponding data unit, and a storage location indicator for the corresponding data unit. The system merges the fingerprint index entries in the synchronization buffer with fingerprint index entries of a persistent fingerprint index in a hash data structure stored in persistent storage, the hash data structure comprising a plurality of buckets.

Patent Agency Ranking