-
公开(公告)号:EP4414822A1
公开(公告)日:2024-08-14
申请号:EP24155617.4
申请日:2024-02-02
Applicant: Lemon Inc.
Inventor: LEE, Chul , ZHOU, Ping , ZHANG, Hui , LIU, Fei
CPC classification number: G06F3/061 , G06F3/0679 , G06F3/0604 , G06F3/064 , G06F3/0644 , G06F3/0659 , G06F2212/720820130101 , G06F12/0246 , G06F2212/101620130101 , G06F2212/720420130101 , G06F2212/720120130101 , G06F12/0207
Abstract: A method for accessing blocks of a solid state drive is described. A starting position is received. The starting position identifies a first block (312) of a contiguous block region (310) within a namespace (300) of the solid state drive (200) to be accessed according to a single input/output operation. The namespace (300) comprises two dimensions of logical address space with respective indices for indexing blocks within a corresponding dimension of the logical address space. A first dimensional identifier that identifies a size of the contiguous block region (310) in a first dimension of the namespace and a second dimensional identifier that identifies a size of the contiguous block region (310) in a second dimension of the namespace is received. Blocks of the contiguous block region are accessed in response to the single input/output operation according to the starting position, the first dimensional identifier, and the second dimensional identifier.
-
公开(公告)号:EP4435580A1
公开(公告)日:2024-09-25
申请号:EP24164405.3
申请日:2024-03-19
Applicant: Lemon Inc.
Inventor: ZHOU, Ping , FAN, Kan Frankie , HU, Chaohong , LI, Longxiao , ZHANG, Hui , LIU, Fei
IPC: G06F3/06
CPC classification number: G06F3/0683 , G06F3/0659 , G06F3/064 , G06F3/0608 , G06F3/0631
Abstract: Systems and methods for space allocation for block device compression are provided. In particular, a computing device may receive (204) an allocation request to write the compressed data, select (210) a range list adequate for serving the allocation request from a plurality of range list, dequeue (214) a range entry from the selected range list to allocate free space for the compressed data, and allocate (216) the free space corresponding to the range entry to the compressed data to serve the allocation request.
-
公开(公告)号:EP4386566A1
公开(公告)日:2024-06-19
申请号:EP23215492.2
申请日:2023-12-11
Applicant: Lemon Inc.
Inventor: ZHOU, Ping , FAN, Kan Frankie , HU, Chaohong , LI, Longxiao , XU, Peng , LIU, Fei , ZHANG, Hui
CPC classification number: G06F3/061 , G06F3/0679 , G06F3/064 , G06F3/0631 , G06F3/0614 , G06F12/023 , G06F2212/720220130101 , G06F12/0238
Abstract: A system and method are described to efficiently allocate memory space with low latency overhead by allocating blocks of non-volatile memory on a storage device according to a tree data structure comprising a plurality of counter sets, each counter set including one or a plurality of counters indicating numbers of unallocated blocks of memory space within the non-volatile memory.
-
公开(公告)号:EP4459874A1
公开(公告)日:2024-11-06
申请号:EP24173204.9
申请日:2024-04-29
Applicant: Lemon Inc.
Inventor: ZHOU, Ping , FAN, Kan Frankie
Abstract: Methods and systems for adaptive mapping for data compression on a storage device is provided. The method includes determining a data request pattern of a workload, determining whether to use at least one of a segment mapping mode or a hash mapping mode for mapping the workload, dividing a space on the storage device into a plurality of defrag units for storing data, and assigning the plurality of defrag units as being at least one of a segment defrag unit or a hash defrag unit. The method also includes when the data request pattern is for the segment mapping mode, storing the data on at least one of the plurality of defrag units assigned as the segment defrag unit, and when the data request pattern is for the hash mapping mode, storing the data on at least one of the plurality of defrag units assigned as the hash defrag unit.
-
公开(公告)号:EP4372539A1
公开(公告)日:2024-05-22
申请号:EP23208304.8
申请日:2023-11-07
Applicant: Lemon Inc.
Inventor: ZHOU, Ping , LI, Longxiao , HU, Chaohong , LIU, Fei , FAN, Kan Frankie , ZHANG, Hui
CPC classification number: G06F3/061 , G06F3/0608 , G06F3/0689 , G06F3/067 , G06F3/064 , G06F3/0661 , G06F12/02
Abstract: A flat hash table includes a plurality of entries, and each entry includes a hash function index and a usage bitmap. A method for block device level compression mapping using the flat hash table includes compressing uncompressed data to compressed data, retrieving an entry of the flat hash table using an uncompressed block address of the uncompressed data, determining a compressed block address of the compressed data by executing at least one hash function and by determining a hash function in the at least one hash function for mapping the uncompressed block address to the compressed block address that corresponds to a space in a block storage device, storing the compressed data to the space that corresponds to the compressed block address, and updating the hash function index of the entry of the flat hash table with an index indicative of the hash function.
-
公开(公告)号:EP4411530A1
公开(公告)日:2024-08-07
申请号:EP24154012.9
申请日:2024-01-25
Applicant: Lemon Inc.
Inventor: ZHOU, Ping , LI, Longxiao , XU, Peng , FAN, Kan Frankie , HU, Chaohong , LIU, Fei , ZHANG, Hui , XU, Di
CPC classification number: G06F3/061 , G06F3/064 , G06F3/0659 , G06F3/067 , G06F3/0608 , G06F3/0634 , G06F2212/101620130101 , G06F12/0292 , G06F12/1408 , G06F12/04 , G06F12/0284 , G06F2212/720120130101 , G06F2212/26120130101 , G06F2212/26320130101
Abstract: A method for adaptive mapping for data compression includes determining (1030) an input/output (I/O) request pattern, dynamically switching (1040) between a segment mapping mode and a flat hash table mapping mode based on the determined I/O request pattern, updating (470) a shared mapping table for the segment mapping mode and the flat hash table mapping mode, and adjusting an entry of the mapping table (710) based on the determined I/O request pattern and a status of the entry.
-
公开(公告)号:EP4404042A1
公开(公告)日:2024-07-24
申请号:EP23211762.2
申请日:2023-11-23
Applicant: Lemon Inc.
Inventor: ZHOU, Ping , HU, Chaohong , FAN, Kan Frankie , LIU, Fei , LI, Longxiao , ZHANG, Hui
CPC classification number: G06F3/0608 , G06F3/0631 , G06F3/064 , G06F3/0661 , G06F3/067 , G06F3/0689
Abstract: Systems and methods for accessing block storage devices are provided. In particular, a computing device may receive (204) a write request including an uncompressed data and an uncompressed block address associated with the uncompressed data, generate (206) compressed data by compressing the uncompressed data, determine (208) a plurality of mapping candidates of compressed data blocks in the block storage devices based on the uncompressed block address, select a compressed data block from the plurality of mapping candidates that has sufficient capacity to store the compressed data, write the compressed data to the selected compressed data block, update metadata of the selected compressed data block to link the uncompressed block address to a compressed block address of the selected compressed data block, and write the selected compressed data block back to a respective block storage device of the block storage devices.
-
公开(公告)号:EP4369206A1
公开(公告)日:2024-05-15
申请号:EP23208640.5
申请日:2023-11-08
Applicant: Lemon Inc.
Inventor: XU, Peng , ZHOU, Ping , HU, Chaohong , LIU, Fei , XU, Changyou , FAN, Kan Frankie
IPC: G06F12/02 , G06F12/0866
CPC classification number: G06F12/0246 , G06F2212/720120130101 , G06F2212/720320130101 , G06F2212/720720130101 , G06F12/0866
Abstract: Described are examples for storing data on a storage device, including storing (702), in a live write stream cache, one or more logical blocks, LBs, corresponding to a data segment, writing (704), for each LB in the data segment, a cache element of a cache entry that points to the LB in the live write stream cache, where the cache entry includes multiple cache elements corresponding to the multiple LBs of the data segment, writing (706), for the cache entry, a table entry in a mapping table that points to the cache entry, and when a storage policy is triggered for the cache entry, writing (710) the multiple LBs, pointed to by each cache element of the cache entry, to a stream for storing as contiguous LBs on the storage device, and updating (712) the table entry to point to a physical address of a first LB of the contiguous LBs on the storage device.
-
-
-
-
-
-
-