DATA STORAGE SYSTEM WITH NON-DISRUPTIVE UPGRADE USING CO-EXISTING RING-BASED AND POOL-BASED WRITE LOGS

    公开(公告)号:US20240168677A1

    公开(公告)日:2024-05-23

    申请号:US17992152

    申请日:2022-11-22

    IPC分类号: G06F3/06

    摘要: A data storage system non-disruptively transitions from using a ring-based write log to using a pool-based write log for buffering data being written to persistent secondary storage. The system initially creates the pool-based write log based on contents of the ring-based write log, and begins to mirror updates of the ring-based write log to the pool-based write log to establish synchronism. Subsequently, and based on an update flag indicating that an update process for the system has not yet completed, the system continues to mirror updates of the ring-based write log to the pool-based write log to maintain synchronism therebetween. Subsequently, and based on the update flag indicating that the update process for the system has completed, the system commences exclusive use of the pool-based write log and making the ring-based write log available for eventual removal.

    Data storage system with non-disruptive upgrade using co-existing ring-based and pool-based write logs

    公开(公告)号:US11989447B1

    公开(公告)日:2024-05-21

    申请号:US17992152

    申请日:2022-11-22

    IPC分类号: G06F3/06

    摘要: A data storage system non-disruptively transitions from using a ring-based write log to using a pool-based write log for buffering data being written to persistent secondary storage. The system initially creates the pool-based write log based on contents of the ring-based write log, and begins to mirror updates of the ring-based write log to the pool-based write log to establish synchronism. Subsequently, and based on an update flag indicating that an update process for the system has not yet completed, the system continues to mirror updates of the ring-based write log to the pool-based write log to maintain synchronism therebetween. Subsequently, and based on the update flag indicating that the update process for the system has completed, the system commences exclusive use of the pool-based write log and making the ring-based write log available for eventual removal.

    STORAGE ALLOCATION TECHNIQUES FOR LARGE WRITES

    公开(公告)号:US20240319925A1

    公开(公告)日:2024-09-26

    申请号:US18731828

    申请日:2024-06-03

    IPC分类号: G06F3/06

    摘要: Techniques of the present disclosure can include: identifying blocks of storage available for allocation; generating a list denoting an allocation order of storage chunks of the blocks; receiving a write I/O operation that writes data to a first logical address; allocating a storage chunk in accordance with the allocation order of the list, wherein a first block includes the storage chunk and a second storage chunk; storing the first data in the storage chunk of the first block; removing the second storage chunk from the list; and creating a mapping between the first logical address and the first block indicating the second storage chunk is reserved for storing content written to a logical address included in a volume logical address range comprising the first logical address. The allocation order can spread allocation distance between blocks and chunks of the same block to avoid contention during flushes.

    Techniques for reclaiming dirty cache pages

    公开(公告)号:US11782842B1

    公开(公告)日:2023-10-10

    申请号:US17722696

    申请日:2022-04-18

    IPC分类号: G06F12/0891 G06F12/02

    摘要: In a log based system, a reclamation list of cache pages containing dirty data can be maintained and used. The cached dirty data pages identified by the reclamation list can be candidates for eviction from the cache. A cached dirty data page on the reclamation list can be persistently logged in a transaction log extension having storage allocated from a non-volatile solid state drive (SSD). The reclamation list can include descriptors of the cached dirty data pages prioritized for eviction in accordance with a least recently used (LRU) policy so that the LRU cached dirty data page can be selected for eviction. When a dirty data page which was evicted from the cache is reloaded into cache, the dirty data page can be added to the reclamation list by adding its page descriptor to the reclamation list. A dirty data page can be removed from the reclamation list once flushed.

    Storage allocation techniques for large writes based on reserving one or more additional chunks of a block

    公开(公告)号:US12045517B1

    公开(公告)日:2024-07-23

    申请号:US18094116

    申请日:2023-01-06

    IPC分类号: G06F3/06

    摘要: Techniques of the present disclosure can include: identifying blocks of storage available for allocation; generating a list denoting an allocation order of storage chunks of the blocks; receiving a write I/O operation that writes data to a first logical address; allocating a storage chunk in accordance with the allocation order of the list, wherein a first block includes the storage chunk and a second storage chunk; storing the first data in the storage chunk of the first block; removing the second storage chunk from the list; and creating a mapping between the first logical address and the first block indicating the second storage chunk is reserved for storing content written to a logical address included in a volume logical address range comprising the first logical address. The allocation order can spread allocation distance between blocks and chunks of the same block to avoid contention during flushes.

    Storage management system and method

    公开(公告)号:US11994999B2

    公开(公告)日:2024-05-28

    申请号:US17869892

    申请日:2022-07-21

    IPC分类号: G06F12/08 G06F12/0891

    CPC分类号: G06F12/0891 G06F2212/1024

    摘要: A method, computer program product, and computing system for generating a page buffer pool within a data journal of a storage node. A plurality of IO operations may be processed on a storage array using the storage node. A plurality of pages may be persisted in a plurality of page buffers within the page buffer pool based upon, at least in part, the processing of the plurality of IO operations. For each page buffer in the page buffer pool, a hash of the page buffer may be generated, thus defining a page buffer hash. The page buffer hash may be stored in a page descriptor associated with the page buffer.

    STORAGE ALLOCATION TECHNIQUES FOR LARGE WRITES BASED ON RESERVING ONE OR MORE ADDITIONAL CHUNKS OF A BLOCK

    公开(公告)号:US20240241675A1

    公开(公告)日:2024-07-18

    申请号:US18094116

    申请日:2023-01-06

    IPC分类号: G06F12/1009

    CPC分类号: G06F12/1009 G06F2212/1024

    摘要: Techniques of the present disclosure can include: identifying blocks of storage available for allocation; generating a list denoting an allocation order of storage chunks of the blocks; receiving a write I/O operation that writes data to a first logical address; allocating a storage chunk in accordance with the allocation order of the list, wherein a first block includes the storage chunk and a second storage chunk; storing the first data in the storage chunk of the first block; removing the second storage chunk from the list; and creating a mapping between the first logical address and the first block indicating the second storage chunk is reserved for storing content written to a logical address included in a volume logical address range comprising the first logical address. The allocation order can spread allocation distance between blocks and chunks of the same block to avoid contention during flushes.

    Storage Management System and Method
    9.
    发明公开

    公开(公告)号:US20240028520A1

    公开(公告)日:2024-01-25

    申请号:US17869892

    申请日:2022-07-21

    IPC分类号: G06F12/0891

    CPC分类号: G06F12/0891 G06F2212/1024

    摘要: A method, computer program product, and computing system for generating a page buffer pool within a data journal of a storage node. A plurality of TO operations may be processed on a storage array using the storage node. A plurality of pages may be persisted in a plurality of page buffers within the page buffer pool based upon, at least in part, the processing of the plurality of TO operations. For each page buffer in the page buffer pool, a hash of the page buffer may be generated, thus defining a page buffer hash. The page buffer hash may be stored in a page descriptor associated with the page buffer.

    TECHNIQUES FOR RECLAIMING DIRTY CACHE PAGES
    10.
    发明公开

    公开(公告)号:US20230333986A1

    公开(公告)日:2023-10-19

    申请号:US17722696

    申请日:2022-04-18

    IPC分类号: G06F12/0891 G06F12/02

    摘要: In a log based system, a reclamation list of cache pages containing dirty data can be maintained and used. The cached dirty data pages identified by the reclamation list can be candidates for eviction from the cache. A cached dirty data page on the reclamation list can be persistently logged in a transaction log extension having storage allocated from a non-volatile solid state drive (SSD). The reclamation list can include descriptors of the cached dirty data pages prioritized for eviction in accordance with a least recently used (LRU) policy so that the LRU cached dirty data page can be selected for eviction. When a dirty data page which was evicted from the cache is reloaded into cache, the dirty data page can be added to the reclamation list by adding its page descriptor to the reclamation list. A dirty data page can be removed from the reclamation list once flushed.