CN117851275A - 压缩型ssd的数据管理方法、压缩型ssd及存储介质 - Google Patents
压缩型ssd的数据管理方法、压缩型ssd及存储介质 Download PDFInfo
- Publication number
- CN117851275A CN117851275A CN202311830636.4A CN202311830636A CN117851275A CN 117851275 A CN117851275 A CN 117851275A CN 202311830636 A CN202311830636 A CN 202311830636A CN 117851275 A CN117851275 A CN 117851275A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- address
- compressed
- ssd
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007906 compression Methods 0.000 title claims abstract description 46
- 230000006835 compression Effects 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000013523 data management Methods 0.000 title claims abstract description 28
- 230000004044 response Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 2
- 230000006837 decompression Effects 0.000 abstract description 5
- 239000004065 semiconductor Substances 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 238000013507 mapping Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 238000013144 data compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 229920001485 poly(butyl acrylate) polymer Polymers 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及半导体技术领域,公开了一种压缩型SSD的数据管理方法、压缩型SSD及存储介质。该方法包括:检测到待存储的目标数据时,将目标数据拆分为至少一个数据块;对数据块执行压缩操作;存储压缩数据,并将压缩数据的基地址设置为0;将压缩数据的偏移地址指向基地址,以得到偏移地址相对于基地址的地址范围;根据基地址、偏移地址和基地址对应的逻辑地址,生成L2P索引表并存储;检测到读取请求时,根据索引信息,在L2P索引表中确定目标物理地址;根据目标物理地址对应的目标地址范围定位并读取目标压缩数据;根据目标压缩数据还原出待读取数据,以响应读取请求。在本发明实施例中,简化了寻址和解压缩的过程,从而提高了搜索的效率。
Description
技术领域
本发明涉及半导体技术领域,尤其涉及一种压缩型SSD的数据管理方法、压缩型SSD及存储介质。
背景技术
不同压缩操作后,其数据长度是不一样的。FTL(Flash Translation Layer)是一种管理闪存存储器的组件。在闪存设备中,数据被存储在物理页(page)中,而FTL负责将逻辑地址(LBA)映射为物理地址(PBA),以实现透明的数据访问。一个Frame是FTL中的一个管理单位,通常包含多个物理页面。一个Frame的大小通常为4KB或其倍数,存在一个Frame包含多个4k数据,也可能存在一个4k压缩后,分布在两个不同的Frame中。
在页表管理中,每个条目需要存储逻辑地址和物理地址之间的映射关系。若使用传统的L2P记录方式,需要足够的位宽才能实现。
发明内容
本发明的主要目的在于解决L2P记录所需位宽较高的技术问题。
本发明第一方面提供了一种压缩型SSD的数据管理方法,所述压缩型SSD的数据管理方法包括:
检测到待存储的目标数据时,以4K为单位将所述目标数据拆分为至少一个数据块;
对所述数据块执行压缩操作,得到压缩数据;
存储所述压缩数据,并将所述压缩数据的基地址设置为0;
将所述压缩数据的偏移地址指向所述基地址,以得到所述偏移地址相对于所述基地址的地址范围,所述地址范围包括偏移以及长度;
根据所述基地址、所述偏移地址和所述基地址对应的逻辑地址,生成L2P索引表并与所述压缩数据存储于同一Frame;
检测到读取请求时,提取所述读取请求携带的索引信息,并根据所述索引信息,在所述L2P索引表中确定目标物理地址,所述索引信息包括目标逻辑地址以及目标数据长度;
根据所述目标物理地址对应的目标地址范围定位并读取目标压缩数据;
根据所述目标压缩数据还原出待读取数据,以响应读取请求。
可选的,在本发明第一方面的第一种实现方式中,所述根据所述目标压缩数据还原出待读取数据,以响应读取请求的步骤包括:
解压所述目标压缩数据,得到目标数据块;
在所述目标数据块为多个时,合并所述数据块,得到待读取数据,以响应读取请求。
可选的,在本发明第一方面的第二种实现方式中,所述根据所述目标物理地址对应的目标地址范围定位并读取目标压缩数据的步骤包括:
在所述L2P索引表中查询所述目标物理地址关联的目标偏移以及目标长度;
将所述目标偏移以及所述目标长度作为目标地址范围,定位并读取目标压缩数据。
可选的,在本发明第一方面的第三种实现方式中,所述将所述目标偏移以及所述目标长度作为目标地址范围,定位并读取目标压缩数据的步骤包括:
根据所述目标物理地址和所述目标地址范围,确定需要读取的目标压缩数据所在的存储位置;
根据所述存储位置定位到所述目标压缩数据所在的物理位置;
在所述物理位置读取所述目标压缩数据。
可选的,在本发明第一方面的第四种实现方式中,所述根据所述基地址、所述偏移地址和所述基地址对应的逻辑地址,生成L2P索引表并存储的步骤包括:
根据所述基地址、所述偏移地址和所述基地址对应的逻辑地址,生成L2P索引表并与所述压缩数据存储于同一Frame。
可选的,在本发明第一方面的第五种实现方式中,所述检测到待存储的目标数据时,以4K为单位将所述目标数据拆分为至少一个数据块的步骤包括:
检测到待存储的目标数据时,判断所述压缩数据的长度是否大于4K;
若所述长度大于4K,以4K为单位将所述目标数据拆分为至少一个数据块。
可选的,在本发明第一方面的第六种实现方式中,所述检测到待存储的目标数据时,判断所述压缩数据的长度是否大于4K的步骤之后,所述方法还包括:
若所述长度小于等于4K,将所述目标数据作为所述数据块。
可选的,在本发明第一方面的第七种实现方式中,所述存储所述压缩数据的步骤包括:
选择空闲Frame;
将所述压缩数据存储至所述空闲Frame。
本发明第二方面提供了一种压缩型SSD,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述压缩型SSD执行上述的压缩型SSD的数据管理方法。
本发明的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的压缩型SSD的数据管理方法。
在本发明实施例中,压缩型SSD对待存储的目标数据进行压缩操作,可以有效减少数据的存储空间占用。由于采用了数据压缩技术,所需的存储空间更少,可以在有限的存储介质上存储更多的数据。通过生成L2P索引表,并将其与压缩数据存储在同一Frame中,可以实现对目标压缩数据的快速定位和读取。将压缩数据的基地址设置为0,并将偏移地址指向基地址,可以确定数据在压缩数据中的位置和长度。这样,在生成L2P索引表时,只需要记录基地址、逻辑地址和对应的压缩数据所在的Frame即可,无需额外记录所有的逻辑地址和物理地址之间的映射关系。同时,相较于传统的L2P记录方式,将压缩数据的基地址设置为0,并将偏移地址指向基地址,得到了相对于基地址的地址范围,简化了寻址和解压缩的过程,从而提高了搜索的效率。
附图说明
图1为本发明实施例中压缩型SSD的数据管理方法的一个实施例示意图;
图2为本发明实施例中压缩型SSD的数据管理方法的步骤105的一个具体实施例示意图;
图3为本发明实施例中压缩型SSD的数据管理方法的步骤107的一个具体实施例示意图;
图4为本发明实施例中压缩型SSD的数据管理方法的步骤108的一个具体实施例示意图;
图5为本发明实施例中压缩型SSD的一个实施例示意图。
具体实施方式
本发明实施例提供了一种压缩型SSD的数据管理方法、压缩型SSD及存储介质。
下面将参照附图更详细地描述本发明公开的实施例。虽然附图中显示了本发明公开的某些实施例,然而应当理解的是,本发明公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本发明公开的附图及实施例仅用于示例性作用,并非用于限制本发明公开的保护范围。
在本发明公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中压缩型SSD的数据管理方法的一个实施例包括:
101、检测到待存储的目标数据时,以4K为单位将所述目标数据拆分为至少一个数据块;
本实施例压缩型SSD是一种基于硬件压缩技术的固态硬盘。与传统的SSD相比,压缩型SSD可通过硬件压缩算法来减少数据在存储介质上所占用的空间,从而提高存储容量和性能。包括两个主要组成部分:硬件压缩引擎和存储控制器。硬件压缩引擎通常由专门的硬件芯片实现,可以对写入SSD的数据进行实时压缩,并在读取数据时进行解压缩。存储控制器则负责管理压缩型SSD的数据读写、坏块管理、错误修复等操作,并与主机系统进行通讯。
其中,压缩型SSD可在不影响性能的情况下提供更大的存储容量。例如,一个压缩型SSD可以将压缩操作至原始大小的一半,从而将其存储容量提高到原来的两倍。此外,由于硬件压缩引擎可以实现实时压缩和解压缩,因此压缩型SSD的读写性能通常也比传统SSD更好。
具体的,初始化一个空的数据块列表。将待存储的目标数据按照4K为单位进行拆分,每个数据块大小为4K。如果目标数据的长度小于等于4K,则将目标数据作为一个数据块加入数据块列表,并返回数据块列表。
否则,将目标数据的前4K字节作为一个数据块加入数据块列表。
从第5K字节开始,每4K字节为一个数据块,直到处理完所有的数据。返回数据块列表。
可选的,检测到待存储的目标数据时,判断所述压缩数据的长度是否大于4K;若所述长度大于4K,以4K为单位将所述目标数据拆分为至少一个数据块。其中,将待存储的目标数据拆分为多个数据块后,可以更好地利用压缩算法对数据进行压缩,降低数据存储的空间消耗。因为对于大的数据块,压缩算法的效果可能会降低,而对于小数据块,压缩算法的效果更好。
可选的,若所述长度小于等于4K,将所述目标数据作为所述数据块。
102、对所述数据块执行压缩操作,得到压缩数据;
具体的,初始化压缩引擎,选择预设的压缩算法(例如LZ77、LZ78、LZW等)。将待存储的目标数据作为输入传递给压缩引擎。压缩引擎执行压缩操作,将待存储的目标压缩操作为压缩数据。返回压缩数据作为输出结果。
103、存储所述压缩数据,并将所述压缩数据的基地址设置为0;
具体的,存储压缩数据后,压缩数据的基地址是指该数据存储在存储介质上的起始地址。在使用压缩算法对数据进行压缩时,生成的压缩数据会被写入到存储介质的某个位置,这个位置即为压缩数据的基地址。压缩数据的偏移地址指的是压缩数据中某个数据单元相对于整个压缩数据的起始位置的偏移量。
创建一个用于存储压缩数据的数据结构,例如数组或链表。
定义一个变量,将其初始值设置为0,作为压缩数据的基地址。
遍历所有的压缩数据,对于每个压缩数据执行以下步骤:
存储该压缩数据的长度信息,可以是一个字段或者在数据中定义一个固定长度的区域来存储长度。
存储该压缩数据的实际数据内容。
更新基地址,使其指向下一个可用的位置,以便存储下一个压缩数据的长度和数据。
完成所有压缩数据的存储后,可以使用基地址和数据结构来访问已存储的压缩数据。
可选的,选择空闲Frame;将所述压缩数据存储至所述空闲Frame。其中,由于压缩数据是由4K数据压缩得到的,并且一个空闲的Frame大小也为4K,所以可以将压缩数据直接存储在一个空闲的Frame中。同时,将压缩操作节省出来的空间用于存储L2P索引表,这样可以减少额外的存储开销。通过将L2P索引表存储在紧邻压缩数据的Frame中,可以提高读取效率。当需要读取压缩数据时,可以先读取L2P索引表,通过索引表找到对应的压缩数据所在的物理位置,然后再读取相应的压缩数据。这种方式可以避免在存储设备上进行无用的查找和读取操作,从而提高读取效率。
104,将所述压缩数据的偏移地址指向所述基地址,以得到所述偏移地址相对于所述基地址的地址范围,所述地址范围包括偏移以及长度。
其中,假设有一个偏移地址offset和长度length,并且基地址为baseAddress。
实施算法如下:
计算地址范围的起始地址startAddress=baseAddress+offset。
计算地址范围的结束地址endAddress=startAddress+length-1。
这样,startAddress和endAddress分别表示了偏移地址相对于基地址的地址范围的起始地址和结束地址。
105,根据所述基地址、所述偏移地址和所述基地址对应的逻辑地址,生成L2P索引表并与所述压缩数据存储于同一Frame;
具体的,遍历所有的逻辑地址,对于每个逻辑地址,将逻辑地址与对应的物理地址关联,得到L2P索引表,然后将L2P索引表与所述压缩数据存储于同一Frame。
Frame是物理内存中的一个固定大小的存储块。Frame也被称为物理页帧或物理页面,是操作系统用于分配给进程或内核使用的内存单元。Frame通常具有固定的大小,常见的大小包括4K、8K等,具体大小取决于硬件和操作系统的设计。本实施例优选4K。
具体的,参照图2,图2为本发明实施例中压缩型SSD的数据管理方法的步骤105的一个具体实施例示意图,105步骤包括以下具体实施方式:
1051、根据所述基地址、所述偏移地址和所述基地址对应的逻辑地址,生成L2P索引表并确定所述压缩数据所在的Frame;
1052、判定所述Frame是否存在空闲空间;
具体的,获取Frame的元数据信息,包括Frame的总大小和已使用的大小。计算空闲空间的大小,即将Frame的总大小减去已使用的大小。判断空闲空间的大小是否大于等于待存储数据的大小。如果是,则表示Frame存在足够的空闲空间;如果不是,则表示Frame的空闲空间不足。
1053、若所述Frame存在空闲空间,将所述L2P索引表存储于所述Frame。
在步骤1051-1053中,通过动态生成L2P索引表并将其存储于存在空闲空间的Frame中,可以更好地利用存储空间,避免出现存储碎片化和浪费的情况,从而优化存储空间的利用率。将L2P索引表存储于与所需压缩数据相邻的Frame中,可以减少数据访问的跨度,提高数据读取的效率和速度,从而提升系统的整体读取性能。通过在确定的Frame中存储L2P索引表,可以减少数据访问时的寻址和跳转操作,简化数据访问路径,降低访问延迟,从而优化数据访问的效率。
106、检测到读取请求时,提取所述读取请求携带的索引信息,并根据所述索引信息,在所述L2P索引表中确定目标物理地址,所述索引信息包括目标逻辑地址以及目标数据长度;
在读取数据时,根据给定的逻辑地址和目标数据长度,在L2P索引表中查找对应的物理地址,并使用物理地址来访问所述压缩数据。
107、根据所述目标物理地址对应的目标地址范围定位并读取目标压缩数据;
具体的,根据目标物理地址,确定其所在的Frame或者存储单元。
如果目标数据跨越多个Frame,则进行跨块读取。定位目标地址范围并读取目标压缩数据。
具体的,参照图3,图3为本发明实施例中压缩型SSD的数据管理方法的步骤107的一个具体实施例示意图,步骤107包括以下具体实施方式:
1071、在所述L2P索引表中查询所述目标物理地址关联的目标偏移以及目标长度;
1072、将所述目标偏移以及所述目标长度作为目标地址范围,定位并读取目标压缩数据。
在步骤1071-1072中,通过根据L2P索引表中的信息,对目标地址范围进行定位,可以直接读取目标压缩数据,而不需要逐个读取每个数据块并进行解压合并操作,从而提高了读取的效率。
具体的,步骤1072步骤包括以下具体实施方式:
10721、根据所述目标物理地址和所述目标地址范围,确定需要读取的目标压缩数据所在的存储位置;
10722、根据所述存储位置定位到所述目标压缩数据所在的物理位置;
10723、在所述物理位置读取所述目标压缩数据。
在步骤10721-10723中,由于确定了目标数据的存储位置,可以直接在该位置读取目标压缩数据,避免了在存储设备上进行无用的查找和读取操作,从而提高了读取的效率。
108、根据所述目标压缩数据还原出待读取数据,以响应读取请求。
具体的,对读取的数据进行解压缩,以得到原始数据。
具体的,参照图4,图4为本发明实施例中压缩型SSD的数据管理方法的步骤108的一个具体实施例示意图,步骤108包括以下具体实施方式:
1081、解压所述目标压缩数据,得到目标数据块;
1082、在所述目标数据块为多个时,合并所述数据块,得到待读取数据,以响应读取请求。
在步骤1081-1082中,通过解压目标压缩数据,可以将压缩过的数据恢复为原始的目标数据块。在目标数据拆分成多个数据块并进行压缩存储时,为了保持数据的完整性和一致性,记录了每个数据块的位置和长度信息。在响应读取请求时,将这些数据块合并后再返回给用户,可确保读取到的数据与原始数据一致,避免数据的不完整或错位。通过合并数据块,可以减少对存储设备的读取次数和寻址操作,从而提高读取性能。相比于逐个读取多个数据块再进行合并的方式,直接合并数据块可以减少磁头寻道时间和等待时间,提高读取的效率和响应速度。
在本发明实施例中,压缩型SSD对待存储的目标数据进行压缩操作,可以有效减少数据的存储空间占用。由于采用了数据压缩技术,所需的存储空间更少,可以在有限的存储介质上存储更多的数据。通过生成L2P索引表,并将其与压缩数据存储在同一Frame中,可以实现对目标压缩数据的快速定位和读取。将压缩数据的基地址设置为0,并将偏移地址指向基地址,可以确定数据在压缩数据中的位置和长度。这样,在生成L2P索引表时,只需要记录基地址、逻辑地址和对应的压缩数据所在的Frame即可,无需额外记录所有的逻辑地址和物理地址之间的映射关系。同时,相较于传统的L2P记录方式,将压缩数据的基地址设置为0,并将偏移地址指向基地址,得到了相对于基地址的地址范围,简化了寻址和解压缩的过程,从而提高了搜索的效率。
图5是本发明实施例提供的一种压缩型SSD的结构示意图,该压缩型SSD500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对压缩型SSD500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在压缩型SSD500上执行存储介质530中的一系列指令操作。
压缩型SSD500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,Free BSD等等。本领域技术人员可以理解,图5示出的压缩型SSD结构并不构成对压缩型SSD的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述压缩型SSD的数据管理方法的步骤。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (10)
1.一种压缩型SSD的数据管理方法,其特征在于,所述压缩型SSD的数据管理方法包括:
检测到待存储的目标数据时,以4K为单位将所述目标数据拆分为至少一个数据块;
对所述数据块执行压缩操作,得到压缩数据;
存储所述压缩数据,并将所述压缩数据的基地址设置为0;
将所述压缩数据的偏移地址指向所述基地址,以得到所述偏移地址相对于所述基地址的地址范围,所述地址范围包括偏移以及长度;
根据所述基地址、所述偏移地址和所述基地址对应的逻辑地址,生成L2P索引表并与所述压缩数据存储于同一Frame;
检测到读取请求时,提取所述读取请求携带的索引信息,并根据所述索引信息,在所述L2P索引表中确定目标物理地址,所述索引信息包括目标逻辑地址以及目标数据长度;
根据所述目标物理地址对应的目标地址范围定位并读取目标压缩数据;
根据所述目标压缩数据还原出待读取数据,以响应读取请求。
2.根据权利要求1所述的压缩型SSD的数据管理方法,其特征在于,所述根据所述目标压缩数据还原出待读取数据,以响应读取请求的步骤包括:
解压所述目标压缩数据,得到目标数据块;
在所述目标数据块为多个时,合并所述数据块,得到待读取数据,以响应读取请求。
3.根据权利要求1所述的压缩型SSD的数据管理方法,其特征在于,所述根据所述目标物理地址对应的目标地址范围定位并读取目标压缩数据的步骤包括:
在所述L2P索引表中查询所述目标物理地址关联的目标偏移以及目标长度;
将所述目标偏移以及所述目标长度作为目标地址范围,定位并读取目标压缩数据。
4.根据权利要求3所述的压缩型SSD的数据管理方法,其特征在于,所述将所述目标偏移以及所述目标长度作为目标地址范围,定位并读取目标压缩数据的步骤包括:
根据所述目标物理地址和所述目标地址范围,确定需要读取的目标压缩数据所在的存储位置;
根据所述存储位置定位到所述目标压缩数据所在的物理位置;
在所述物理位置读取所述目标压缩数据。
5.根据权利要求1所述的压缩型SSD的数据管理方法,其特征在于,所述根据所述基地址、所述偏移地址和所述基地址对应的逻辑地址,生成L2P索引表并存储的步骤包括:
根据所述基地址、所述偏移地址和所述基地址对应的逻辑地址,生成L2P索引表并确定所述压缩数据所在的Frame;
判定所述Frame是否存在空闲空间;
若所述Frame存在空闲空间,将所述L2P索引表存储于所述Frame。
6.根据权利要求1所述的压缩型SSD的数据管理方法,其特征在于,所述检测到待存储的目标数据时,以4K为单位将所述目标数据拆分为至少一个数据块的步骤包括:
检测到待存储的目标数据时,判断所述压缩数据的长度是否大于4K;
若所述长度大于4K,以4K为单位将所述目标数据拆分为至少一个数据块。
7.根据权利要求6所述的压缩型SSD的数据管理方法,其特征在于,所述检测到待存储的目标数据时,判断所述压缩数据的长度是否大于4K的步骤之后,所述方法还包括:
若所述长度小于等于4K,将所述目标数据作为所述数据块。
8.根据权利要求1所述的压缩型SSD的数据管理方法,其特征在于,所述存储所述压缩数据的步骤包括:
选择空闲Frame;
将所述压缩数据存储至所述空闲Frame。
9.一种压缩型SSD,其特征在于,所述压缩型SSD包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述压缩型SSD执行如权利要求1-8中任一项所述的压缩型SSD的数据管理方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的压缩型SSD的数据管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311830636.4A CN117851275A (zh) | 2023-12-27 | 2023-12-27 | 压缩型ssd的数据管理方法、压缩型ssd及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311830636.4A CN117851275A (zh) | 2023-12-27 | 2023-12-27 | 压缩型ssd的数据管理方法、压缩型ssd及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117851275A true CN117851275A (zh) | 2024-04-09 |
Family
ID=90533756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311830636.4A Pending CN117851275A (zh) | 2023-12-27 | 2023-12-27 | 压缩型ssd的数据管理方法、压缩型ssd及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117851275A (zh) |
-
2023
- 2023-12-27 CN CN202311830636.4A patent/CN117851275A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552044B2 (en) | Storage apparatus, data processing method and storage system wherein compressed data is read in parallel, said data stored in buffer by size and read from said buffer, in order of when said data is stored in said buffer | |
US10585856B1 (en) | Utilizing data access patterns to determine compression block size in data storage systems | |
US8745353B2 (en) | Block boundary resolution for mismatched logical and physical block sizes | |
US20110078393A1 (en) | Memory device and data access method | |
CN108052643B (zh) | 基于LSM Tree结构的数据存储方法、装置及存储引擎 | |
US10366026B1 (en) | Random access to decompressed blocks | |
KR20090026296A (ko) | 예측 데이터 로더 | |
EP3059679B1 (en) | Controller, flash memory device, method for identifying data block stability and method for storing data on flash memory device | |
US8209513B2 (en) | Data processing system with application-controlled allocation of file storage space | |
US11042328B2 (en) | Storage apparatus and method for autonomous space compaction | |
CN107135662B (zh) | 一种差异数据备份方法、存储系统和差异数据备份装置 | |
KR101400506B1 (ko) | 비휘발성 메모리 제어기 및 그 제어 방법 | |
CN115756312A (zh) | 数据访问系统、数据访问方法和存储介质 | |
US11593312B2 (en) | File layer to block layer communication for selective data reduction | |
CN111625531B (zh) | 基于可编程装置的合并装置、数据合并方法及数据库系统 | |
CN111966281A (zh) | 数据储存装置与数据处理方法 | |
US20160078051A1 (en) | Data pattern detecting device, semiconductor device including the same, and operating method thereof | |
KR101123335B1 (ko) | 해시 인덱스 구성 방법과 그 장치, 및 상기 장치를 구비하는 데이터 저장 장치, 및 상기 방법을 구현하는 프로그램이 기록된 기록매체 | |
WO2015162755A1 (ja) | データを圧縮して格納するストレージ装置 | |
US20240070120A1 (en) | Data processing method and apparatus | |
US10817417B1 (en) | Data storage efficiency using storage devices with variable-size internal data mapping | |
CN117851275A (zh) | 压缩型ssd的数据管理方法、压缩型ssd及存储介质 | |
CN114003169B (zh) | 一种用于ssd的数据压缩方法 | |
CN108334457B (zh) | 一种io处理方法及装置 | |
CN115495009A (zh) | 闪存的数据读取方法及闪存控制器与电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |