Pooling blocks for erasure coding write groups

    公开(公告)号:US11175989B1

    公开(公告)日:2021-11-16

    申请号:US16858376

    申请日:2020-04-24

    申请人: NetApp, Inc.

    IPC分类号: G06F11/10 H03M13/15 H03M7/30

    摘要: A technique provides efficient data protection, such as erasure coding, for data blocks of volumes served by storage nodes of a cluster. Data blocks associated with write requests of unpredictable client workload patterns may be compressed. A set of the compressed data blocks may be selected to form a write group and an erasure code may be applied to the group to algorithmically generate one or more encoded blocks in addition to the data blocks. Due to the unpredictability of the data workload patterns, the compressed data blocks may have varying sizes. A pool of the various-sized compressed data blocks may be established and maintained from which the data blocks of the write group are selected. Establishment and maintenance of the pool enables selection of compressed data blocks that are substantially close to the same size and, thus, that require minimal padding.

    BIN SYNCING TECHNIQUE FOR MULTIPLE DATA PROTECTION SCHEMES

    公开(公告)号:US20210248254A1

    公开(公告)日:2021-08-12

    申请号:US16788979

    申请日:2020-02-12

    申请人: NetApp, Inc.

    IPC分类号: G06F21/62 G06F16/27 H04L9/32

    摘要: A bin syncing technique ensures continuous data protection, such as replication and erasure coding, for content driven distribution of data served by storage nodes of a cluster in the event of failure to one or more block services configured to process the data. The cluster maintains information about the block services assigned to host a bin with a copy of the data in a bin assignment table associated with a state. The copies of the data are named, e.g., replica 0 (R0), replica 1 (R1) or replica 2 (R2). In response to failure of one or more block services assigned to host a bin with a replica of the data, an alternate or replacement block service may access the assignments maintained in the bin assignment table, which specify names of the replicas associated with the state.

    Bin syncing technique for multiple data protection schemes

    公开(公告)号:US11514181B2

    公开(公告)日:2022-11-29

    申请号:US16788979

    申请日:2020-02-12

    申请人: NetApp, Inc.

    摘要: A bin syncing technique ensures continuous data protection, such as replication and erasure coding, for content driven distribution of data served by storage nodes of a cluster in the event of failure to one or more block services configured to process the data. The cluster maintains information about the block services assigned to host a bin with a copy of the data in a bin assignment table associated with a state. The copies of the data are named, e.g., replica 0 (R0), replica 1 (R1) or replica 2 (R2). In response to failure of one or more block services assigned to host a bin with a replica of the data, an alternate or replacement block service may access the assignments maintained in the bin assignment table, which specify names of the replicas associated with the state.

    Pooling blocks for erasure coding write groups

    公开(公告)号:US11693737B2

    公开(公告)日:2023-07-04

    申请号:US17527852

    申请日:2021-11-16

    申请人: NetApp, Inc.

    IPC分类号: G06F11/10 H03M13/15 H03M7/30

    摘要: A technique provides efficient data protection, such as erasure coding, for data blocks of volumes served by storage nodes of a cluster. Data blocks associated with write requests of unpredictable client workload patterns may be compressed. A set of the compressed data blocks may be selected to form a write group and an erasure code may be applied to the group to algorithmically generate one or more encoded blocks in addition to the data blocks. Due to the unpredictability of the data workload patterns, the compressed data blocks may have varying sizes. A pool of the various-sized compressed data blocks may be established and maintained from which the data blocks of the write group are selected. Establishment and maintenance of the pool enables selection of compressed data blocks that are substantially close to the same size and, thus, that require minimal padding.

    POOLING BLOCKS FOR ERASURE CODING WRITE GROUPS

    公开(公告)号:US20220075691A1

    公开(公告)日:2022-03-10

    申请号:US17527852

    申请日:2021-11-16

    申请人: NetApp, Inc.

    IPC分类号: G06F11/10 H03M13/15

    摘要: A technique provides efficient data protection, such as erasure coding, for data blocks of volumes served by storage nodes of a cluster. Data blocks associated with write requests of unpredictable client workload patterns may be compressed. A set of the compressed data blocks may be selected to form a write group and an erasure code may be applied to the group to algorithmically generate one or more encoded blocks in addition to the data blocks. Due to the unpredictability of the data workload patterns, the compressed data blocks may have varying sizes. A pool of the various-sized compressed data blocks may be established and maintained from which the data blocks of the write group are selected. Establishment and maintenance of the pool enables selection of compressed data blocks that are substantially close to the same size and, thus, that require minimal padding.

    NON-DISRPUTIVE TRANSITIONING BETWEEN REPLICATION SCHEMES

    公开(公告)号:US20210334241A1

    公开(公告)日:2021-10-28

    申请号:US16858294

    申请日:2020-04-24

    申请人: NetApp, Inc.

    摘要: A technique transitions data blocks of volumes served by storage nodes of a storage cluster from an old data protection scheme (DPS) to a new DPS in a non-disruptive manner. Slice services of the storage nodes forward the data blocks associated with write requests to the block services for storage on storage devices of the nodes. Mapping of volume logical block addresses to block identifiers are contained in slice files, wherein there is a single slice file for each volume. To transition a volume between the old and new DPSs, the slice service tags the data blocks with the new DPS when forwarding new write requests to the block services. In accordance with a background transitioning process, the slice service also retrieves every data block referenced by the to slice file and then resends the data to the block service with the new DPS.