Segmenting Read Requests and Interleaving Segmented Read and Write Requests to Reduce Latency and Maximize Throughput in a Flash Storage Device

    公开(公告)号:US20170315736A1

    公开(公告)日:2017-11-02

    申请号:US15654495

    申请日:2017-07-19

    Abstract: In an all-flash storage array, write requests can take about 9 to 10 times longer than a read request of the same size. There could be several problems when reading or writing from all-flash storage, such as a large write request slowing down small read requests, or other write requests. Also, a large read request may slow down smaller read requests by filling the incoming requests queue. In one implementation, a determination is made on what is the maximum size of a request to flash storage that improves the throughput of a flash chip (e.g., write requests beyond a certain size do not improve throughput). A chunklet is defined as a block of data having the calculated maximum size. As write requests come in, the write requests are broken into chunklets, and then the chunklets are queued for processing by the flash chip. One chunklet is processed at a time per write request. This way, one write request does not monopolize the use of the flash chip for a period of time, allowing other requests to be queued while the chunklet is being processed by the all-flash storage.

    SHARED STORAGE ALLOCATION AMONG DATA SERVICES

    公开(公告)号:US20230121626A1

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

    申请号:US17451245

    申请日:2021-10-18

    Abstract: In some examples, a system allocates a plurality of partitions of a shared storage to respective data services. Based on respective utilizations of the plurality of partitions, the system selects, for a given data service of the data services, between a global storage apportionment process to rebalance shares of the shared storage among the data services, and a local storage apportionment process, where the rebalancing includes releasing a partition of the given data service, and the local storage apportionment process comprising freeing segments within the partition of the given data service.

    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.

    Segmenting read requests and interleaving segmented read and write requests to reduce latency and maximize throughput in a flash storage device

    公开(公告)号:US10042563B2

    公开(公告)日:2018-08-07

    申请号:US15654495

    申请日:2017-07-19

    Abstract: In an all-flash storage array, write requests can take about 9 to 10 times longer than a read request of the same size. There could be several problems when reading or writing from all-flash storage, such as a large write request slowing down small read requests, or other write requests. Also, a large read request may slow down smaller read requests by filling the incoming requests queue. In one implementation, a determination is made on what is the maximum size of a request to flash storage that improves the throughput of a flash chip (e.g., write requests beyond a certain size do not improve throughput). A chunklet is defined as a block of data having the calculated maximum size. As write requests come in, the write requests are broken into chunklets, and then the chunklets are queued for processing by the flash chip. One chunklet is processed at a time per write request. This way, one write request does not monopolize the use of the flash chip for a period of time, allowing other requests to be queued while the chunklet is being processed by the all-flash storage.

    Storing data in a distributed storage system

    公开(公告)号:US10705911B2

    公开(公告)日:2020-07-07

    申请号: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.

Patent Agency Ranking