-
公开(公告)号:US12204777B2
公开(公告)日:2025-01-21
申请号:US18187088
申请日:2023-03-21
Applicant: Lemon Inc.
Inventor: Ping Zhou , Kan Frankie Fan , Chaohong Hu , Longxiao Li , Hui Zhang , Fei Liu
IPC: G06F3/06
Abstract: Systems and methods for space allocation for block device compression are provided. In particular, a computing device may receive an allocation request to write the compressed data, select a range list adequate for serving the allocation request from a plurality of range list, dequeue a range entry from the selected range list to allocate free space for the compressed data, and allocate the free space corresponding to the range entry to the compressed data to serve the allocation request.
-
公开(公告)号:US20240126686A1
公开(公告)日:2024-04-18
申请号:US18396842
申请日:2023-12-27
Applicant: Lemon Inc. , Beijing Volcano Engine Technology Co., Ltd.
Inventor: Ping Zhou , Kan Frankie Fan , Hui Zhang
IPC: G06F12/02
CPC classification number: G06F12/0246
Abstract: A system includes a host device, a hardware offload engine, and a non-volatile storage to store on-disk data. The hardware offload engine is represented to the host device as being a storage having a virtual storage capacity, and the host device transmits an offload command to the hardware offload engine as a data write command without requiring kernel changes or special drivers.
-
公开(公告)号:US20240264970A1
公开(公告)日:2024-08-08
申请号:US18640868
申请日:2024-04-19
Applicant: Lemon Inc.
Inventor: Ping Zhou , Kan Frankie Fan
CPC classification number: G06F13/4221 , G06F13/4068 , G06F2213/0026
Abstract: Described are examples of a remote memory bridge, or a method for providing or operating a remote memory bridge, that may include a host interface configured to access one or more memories of a host device, and a remote interface configured to provide, to one or more remote devices, a remote memory device function to access the one or more memories of the host device.
-
公开(公告)号:US20230273727A1
公开(公告)日:2023-08-31
申请号:US18312170
申请日:2023-05-04
Applicant: Lemon Inc.
Inventor: Ping Zhou , Kan Frankie Fan
IPC: G06F3/06
CPC classification number: G06F3/0608 , G06F3/0659 , G06F3/0631 , G06F3/067
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.
-
公开(公告)号:US12282655B2
公开(公告)日:2025-04-22
申请号:US18163612
申请日:2023-02-02
Applicant: Lemon Inc.
Inventor: Ping Zhou , Longxiao Li , Peng Xu , Kan Frankie Fan , Chaohong Hu , Fei Liu , Hui Zhang , Di Xu
IPC: G06F3/06
Abstract: A method for adaptive mapping for data compression includes determining an input/output (I/O) request pattern, dynamically switching between a segment mapping mode and a flat hash table mapping mode based on the determined I/O request pattern, updating a shared mapping table for the segment mapping mode and the flat hash table mapping mode, and adjusting an entry of the mapping table based on the determined I/O request pattern and a status of the entry.
-
公开(公告)号:US12197727B2
公开(公告)日:2025-01-14
申请号:US18312170
申请日:2023-05-04
Applicant: Lemon Inc.
Inventor: Ping Zhou , Kan Frankie Fan
IPC: G06F3/06
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.
-
公开(公告)号:US12093175B2
公开(公告)日:2024-09-17
申请号:US18053908
申请日:2022-11-09
Applicant: Lemon Inc.
Inventor: Peng Xu , Ping Zhou , Chaohong Hu , Fei Liu , Changyou Xu , Kan Frankie Fan
IPC: G06F12/08 , G06F12/02 , G06F12/0804
CPC classification number: G06F12/0804 , G06F12/0246 , G06F12/0292 , G06F2212/7201
Abstract: Described are examples for storing data on a storage device, including storing, in a live write stream cache, one or more logical blocks (LBs) corresponding to a data segment, writing, 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, 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 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 the table entry to point to a physical address of a first LB of the contiguous LBs on the storage device.
-
公开(公告)号:US12189969B2
公开(公告)日:2025-01-07
申请号:US18066973
申请日:2022-12-15
Applicant: Lemon Inc.
Inventor: Ping Zhou , Kan Frankie Fan , Chaohong Hu , Longxiao Li , Peng Xu , Fei Liu , Hui Zhang
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.
-
公开(公告)号:US12204750B2
公开(公告)日:2025-01-21
申请号:US17953242
申请日:2022-09-26
Applicant: Lemon Inc.
Inventor: Ping Zhou , Chaohong Hu , Kan Frankie Fan , Fei Liu , Longxiao Li , Hui Zhang
IPC: G06F3/06
Abstract: The present disclosure describes techniques of metadata management for transparent block level compression. A first area may be created in a backend solid state drive. The first area may comprise a plurality of entries. The plurality of entries may be indexed by addresses of a plurality of blocks of uncompressed data. Each of the plurality of entries comprises a first part configured to store metadata and a second part configured to store compressed data. Each of the plurality blocks of uncompressed data may be compressed individually to generate a plurality of compressed blocks. Metadata and at least a portion of compressed data associated with each of the plurality of compressed blocks may be stored in one of the plurality of entries based on an address of a corresponding block of uncompressed data. A second area may be created in the backend solid state drive for storing the rest of the compressed data.
-
公开(公告)号:US20240248625A1
公开(公告)日:2024-07-25
申请号:US18099750
申请日:2023-01-20
Applicant: Lemon Inc.
Inventor: Ping Zhou , Chaohong HU , Kan Frankie Fan , Fei Liu , Longxiao Li , Hui Zhang
IPC: G06F3/06
CPC classification number: G06F3/0641 , G06F3/0608 , G06F3/067
Abstract: Systems and methods for accessing block storage devices are provided. In particular, a computing device may receive a write request including an uncompressed data and an uncompressed block address associated with the uncompressed data, generate compressed data by compressing the uncompressed data, determine 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.
-
-
-
-
-
-
-
-
-