CN101916228B - 带有数据压缩功能的闪存转换层及实现方法 - Google Patents
带有数据压缩功能的闪存转换层及实现方法 Download PDFInfo
- Publication number
- CN101916228B CN101916228B CN2010102544098A CN201010254409A CN101916228B CN 101916228 B CN101916228 B CN 101916228B CN 2010102544098 A CN2010102544098 A CN 2010102544098A CN 201010254409 A CN201010254409 A CN 201010254409A CN 101916228 B CN101916228 B CN 101916228B
- Authority
- CN
- China
- Prior art keywords
- data
- buffer
- flash memory
- read
- write
- 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.)
- Expired - Fee Related
Links
- 238000013144 data compression Methods 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000013519 translation Methods 0.000 title description 5
- 238000013507 mapping Methods 0.000 claims abstract description 34
- 238000007906 compression Methods 0.000 claims abstract description 31
- 230000006835 compression Effects 0.000 claims abstract description 31
- 230000006870 function Effects 0.000 claims abstract description 27
- 230000006837 decompression Effects 0.000 claims abstract description 8
- 239000000284 extract Substances 0.000 claims description 3
- 241001269238 Data Species 0.000 claims 1
- 239000003638 chemical reducing agent Substances 0.000 claims 1
- 239000007787 solid Substances 0.000 abstract description 19
- 238000005516 engineering process Methods 0.000 abstract description 11
- 238000007726 management method Methods 0.000 abstract description 6
- 238000006243 chemical reaction Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
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
-
- 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/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本发明公开了带有数据压缩功能的闪存转换层及实现方法。带有数据压缩功能的FTL主要由压缩器Compressor、解压器Decompressor、缓冲区Buffer、地址映射管理模块、垃圾回收模块和损耗均衡模块组成。对写入数据的压缩和读出数据的解压缩采用了基于LZ77算法的单页压缩策略。利用数据压缩技术对读/写数据进行解/压缩,并在FTL中实现了一个软buffer,减少了每次实际写入和读出闪存固态盘的数据量,从而提高闪存固态盘的整体读写性能。
Description
技术领域
本发明涉及闪存固态盘中一种具有数据压缩功能的闪存转换层FTL(Flash TranslationLayer)的设计和实现方法。
背景技术
闪存(Flash Memory)是近年来应用广泛的一种半导体存储器,闪存技术的发展引起了存储领域新的变革。闪存体积小、重量轻、无噪声、抗震动,其能耗只有传统硬盘的1/5~1/6,是一种理想的存储介质。
闪存的一个重要特性就是修改数据时不能作覆盖写(over-write),也即当一页数据需要修改时,不能像磁盘那样直接在原地作修改,而需要将该页擦除后再重新写入数据。由于擦除操作延迟较大,一般将新的数据写到另一个空白页上,同时让原数据失效,这就是常说的非定点更新(out-place update),这一特性使得传统磁盘上的文件系统不能直接应用到闪存设备上。为充分利用传统磁盘领域积累的技术和大量软件产品,各大厂商纷纷将一个或多个闪存芯片组合封装成类似磁盘的固态盘SSD(Solid State Drive),为上层应用提供与磁盘一样的接口,而不需要修改应用和文件系统。闪存固态盘采用一个转换层FTL(FlashTranslation Layer)将闪存模拟成磁盘设备。FTL主要完成以下几项功能:地址映射、损耗均衡、垃圾回收,其中地址映射实现了闪存地址空间到磁盘地址空间的转换,损耗均衡和垃圾回收在保证各闪存块擦除次数均衡的前提下对失效闪存块进行回收。
在小量随机访问情况下,闪存的写性能是一个瓶颈。同时,闪存中每一块被擦除的次数有限,约为1万次~10万次。当闪存芯片中某一块的被擦除次数临近闪存有限的擦除次数导致闪存固态盘的使用寿命远不能满足用户的需求。现有的FTL中的损耗均衡功能虽然可以均衡各个闪存块的擦写次数,但并不能减少对闪存的总擦写次数,而在FTL中采用数据压缩技术可以减少每次实际写入闪存的数据总量,从而提高其读写性能,同时由于减少对闪存的实际擦除次数,相应地延长了闪存固态盘的使用寿命。目前,数据压缩技术有部分直接应用于嵌入式闪存芯片中,而将数据压缩技术引入闪存固态盘的转换层(FTL)中,利用压缩技术对闪存固态盘的性能和寿命进行优化的方法在国内外尚无公开出版的技术资料。
发明内容
本发明所要解决的技术问题是,针对闪存固态盘随机写性能较差和使用寿命有限的问题,将数据压缩技术引入闪存固态盘的设计中,实现一个带有数据压缩功能的闪存转换系统。在保证正确的地址映射、损耗均衡和垃圾回收功能的情况下,利用数据压缩技术对读/写数据进行解/压缩,提高闪存固态盘的整体读写性能,并有效延长其使用寿命。
本发明的技术方案是:在实现地址映射、损耗均衡和垃圾回收功能的FTL中,加入压缩和解压缩模块。带有数据压缩功能的FTL主要由压缩器Compressor、解压器Decompressor、缓冲区Buffer、地址映射管理模块、垃圾回收模块和损耗均衡模块组成。Compressor将主机发出的待写数据进行压缩后写入Buffer;Decompressor将从Buffer或闪存中读出的数据解压缩后返回给主机;Buffer接收Compressor送来的压缩数据并拼接成若干完整的闪存数据页;地址映射管理模块负责整个读写过程中的地址映射关系的正确无误;垃圾回收模块负责对失效闪存块进行回收;损耗均衡模块负责均衡对各个闪存块的擦写次数。
本发明中对写入数据的压缩和读出数据的解压缩采用了基于LZ77算法的单页压缩策略。单页压缩方案中对于要写入闪存的数据,以一页为单位进行压缩,主机发出一个写操作就进行一次压缩,将压缩后的数据放在缓存中,当缓存中剩余的空间不够再放入压缩数据时,将几次写操作的压缩数据在缓存中拼接成若干个完整的闪存数据页,写入闪存;读数据时,因为待读取数据对应的压缩数据在闪存中要么分布在一个物理页上,要么分布在两个物理页上,所以至多只需读出两个闪存物理页,提取相应压缩数据,进行解压缩操作,即得到要读取的数据。与多页压缩方案相比,单页压缩方案具有读延时较小、写更新处理流程简单、空间利用率高等优点,可以有效提高整个系统的性能。而针对单页压缩策略的压缩率稍低的缺点,本发明中采用了对小文件压缩性能较好的LZ77压缩算法来弥补。
与普通的不带数据压缩功能的FTL相比,本发明的FTL中的地址映射管理模块不同之处在于,多个逻辑地址上的数据在经过数据压缩并进行拼接之后可能会被写入同一个闪存物理页上,也可能一个逻辑地址上的数据在压缩并和其他压缩数据进行拼接后被分两成部分写在两个物理页上,即多个逻辑地址可能对应一个物理地址,而一个逻辑地址也可能对应两个物理地址。
本发明中提出了一种基于单页压缩策略的地址映射方案。主机逻辑地址和闪存物理地址之间的地址映射有两种基本方案:块映射和页映射。在块映射中,逻辑地址由逻辑块地址和块内偏移组成,在进行地址映射时,只有逻辑块地址被转换成物理块地址,而块内偏移是不变的,这就要求逻辑地址上的数据在物理块中的块内偏移和逻辑块内偏移是相同的。相比之下,页映射方案可以提供更加灵活地数据管理,因为一个逻辑数据页可以被映射到任何一个闪存物理页,而没有块内偏移的限制。当有写操作时,只需将数据写在当前空闲的物理页上即可,如果是写更新,还需要将旧版本数据所在的物理页置为失效。当空闲块数目达到一定阈值时,根据损耗均衡策略,找到要被擦除的块,将其上的有效数据页写入到空闲物理页上,然后将该块擦除以供重新使用。在采用单页压缩策略时,采用页映射方案更为合适。对闪存而言,连续读写性能要大大优于随机读写性能,为了使启用的数据压缩的FTL仍能保持较高的性能,应充分利用闪存连续读写性能好的特性,块映射方案难以满足这一要求,因为它可能造成两个连续的数据页分别分布在某一物理块和它对应的替代块上,这破坏了读取数据的连续性,将带来额外的延时开销。而在加入了压缩功能之后,这种破坏会更加严重,因为一个数据页经过压缩并进行拼接之后可能分布在两个物理页上,此时若这两个物理页在两个物理块上,则除了连续读取不在同一物理块上的多页的延时外,又加大了读取单个数据页的延时。所以,本发明采用基于单页压缩策略的页映射方案,将主机发出的逻辑地址映射到闪存物理页地址、数据在物理页上的起始位置以及长度,即可以用元组:物理页地址1,起始位置1,长度1,或物理页地址1,物理页地址2,起始位置1,起始位置2,长度1,长度2,来表示一条逻辑地址与物理地址的映射关系。
在带有数据压缩功能的FTL中,使用了以下几个重要的数据结构:
1、buffer_next:指向Buffer中下一个空白位置;
2、BoF:下标为逻辑地址,表项值为0标识该逻辑地址对应的数据是在Buffer中,为1标识该逻辑地址对应的数据在闪存中,为-1表示该逻辑地址还未进行写入操作。表项个数为闪存的总页数。
3、sltable:每个表项有三个字段:
LogicAddress:标识该表项指向的Buffer中一段压缩数据所对应的逻辑地址;
startpos:标识这一段压缩数据在Buffer中的起始位置;
length:这一段压缩数据的长度;
表项个数为闪存的总页数。
4、sltable_next:指向sltable下一个可用的表项。
5、lttable:下标为逻辑地址,每个表项有四个字段:
tag:标识该表项逻辑地址对应的压缩数据在闪存物理页上的分布,值为1表示在一个物理页内,为2表示跨两个物理页;
p[2]:为闪存物理页地址结构体数组,标识该表项逻辑地址对应的压缩数据存储在闪存中的物理页地址,视tag的值为p[0]有效或p[0]和p[1]有效;
offset[2]:数组,视tag的值表示压缩数据在1个或2个闪存物理页上的起始位置;
length[2]:数组,视tag的值表示压缩数据在1个或2个闪存物理页上的长度;
表项个数为闪存的总页数。
6、isvalid:因为一个闪存物理页上可能包含多段压缩数据,所以只有当这些压缩数据段全部失效时该物理页才能被置为失效,每一个表项代表一个闪存物理页上当前有效地压缩数据段数,当其减少到0时,该物理页可被置为无效。表项个数为闪存的总页数。
本发明的带有数据压缩功能的FTL的具体实现和读写过程详见附图说明。
使用本发明能达到以下有益效果:
1.针对闪存固态盘随机写性能较差的问题,利用数据压缩技术对读/写数据进行解/压缩,并在FTL中实现了一个软buffer,减少了每次实际写入和读出闪存固态盘的数据量,从而提高闪存固态盘的整体读写性能。
2.针对闪存固态盘使用寿命有限的问题,将数据压缩技术引入闪存固态盘的设计中,由于减少了每次实际写入的数据量,相应地减少了对闪存的实际擦写次数,从而可以有效延长其使用寿命。
附图说明
图1是本发明实现的带有数据压缩功能的闪存转换层总体结构图;
图2是本发明提出的一种基于单页压缩策略的页映射方案;
图3是本发明在读取压缩数据时的示意图;
图4是本发明在压缩要写入数据的示意图;
图5是本发明在将压缩数据写入Buffer时的示意图;
图6是本发明在将Buffer中数据写入闪存的示意图;
图7是本发明带有数据压缩功能的FTL对不同类型文件的平均压缩率对比示意图;
图8是采用带有数据压缩功能的FTL和不带数据压缩功能的FTL相比,对于不同类型文件,闪存固态盘平均读/写延时降低比例的示意图。
具体实施方式
以下结合附图对本发明做进一步详细说明。
如图1所示,带有数据压缩功能的闪存转换系统由压缩器Compressor、解压器Decompressor、缓冲区Buffer、地址映射管理模块、垃圾回收模块和损耗均衡模块组成。Compressor将主机发出的待写数据进行压缩后写入Buffer;Decompressor将从Buffer或闪存中读出的数据解压缩后返回给主机;Buffer接收Compressor送来的压缩数据并拼接成若干完整的闪存数据页;地址映射管理模块负责整个读写过程中的地址映射关系的正确无误;垃圾回收模块负责对失效闪存块进行回收;损耗均衡模块负责均衡对各个闪存块的擦写次数。
如图2所示,在本发明的单页压缩策略的页映射方案下,假设主机有4块数据A、B、C、D要写入闪存,这四块数据的逻辑地址分别为12、25、34、46,大小均为512Bytes,经过压缩以后得到A′、B′、C′、D′,其中A′大小为308Bytes,B′大小为296Bytes,C′大小为300Bytes,D′大小为316Bytes,则Buffer中经过拼接之后形成3个数据页,将这三个数据页写入闪存中,其中则A′、C′分布在一个闪存物理页上,B′、D′分布在两个物理页上,用元组(6,0,308)表示数据A的地址映射关系,用元组(6,7,308,0,204,92)表示数据B的地址映射关系,用元组(7,92,300)表示数据C的地址映射关系,用元组(7,8,392,0,220,96)来表示数据D的地址映射关系,将这四个元组写入地址映射表的第12、25、34、46项。
当主机要读出逻辑地址12上的数据A时,找到地址映射表的第12项:(6,0,308),读出物理页地址为6的闪存页,从位置0开始,连续读出308个字节的数据(即A′),然后进行解压缩即得到主机要读取的数据A。
图3是从闪存中读出压缩数据的示意图,包括五个主要步骤:
1)主机发出要读取的数据的逻辑地址LogicAddress:LAi;
2)以该逻辑地址为下标,查询BoF表,即根据BoF[LAi]的值,确定要读取的数据是在Buffer中还是在闪存中;
3)若要读取的数据在Buffer中,则顺序查找sltable表,找到相应的表项,该表项的LogicAddress字段等于主机发出的逻辑地址LAi;然后根据该表项的startpos和length字段,从Buffer的startpos位置开始,连续读取length字节的数据,这段数据即为主机要读取的数据所对应的压缩数据;
4)若要读取的数据在闪存中,则以该逻辑地址为下标,查询lttable表,若lttable[LAi].tag=1,则主机要读取的数据对应的压缩数据在一个闪存物理页上,将地址为lttable[LAi].p[0]的物理页读出,根据lttable[LAi].offset[0]和lttable[LAi].length[0]的值,从读出的物理页中提取主机要读取的数据对应的压缩数据;若lttable[LAi].tag=2,则按照前述方法读出两段压缩数据拼接起来即为主机要读取的数据对应的压缩数据;
5)将读出的压缩数据解压,返回给主机。
图4、图5和图6是将数据写入闪存的示意图(压缩待写入的数据、将压缩数据写入Buffer、将Buffer中数据写入闪存),主要包括六个步骤:
1)主机发出要写入的数据以及它的逻辑地址LogicAddress:LAi;
2)将要写入的数据进行压缩,得到压缩后数据长度destlen;
3)以该逻辑地址为下标,查询BoF表,即根据BoF[LAi]的值,确定逻辑地址LogicAddress是第一次被写入还是写更新。写更新分为两种情况:要更新的数据在Buffer中和在闪存中;
4)若是第一次被写入,若是Buffer中剩余的空间大于等于压缩后的数据大小,根据buffer_next的值,则将压缩后的数据写入Buffer,然后根据sltable_next找到sltable中下一个可用的表项,登记相应信息;若是Buffer中剩余的空间小于压缩后的数据大小,则先将Buffer中的数据全部写入闪存中,并在lttable中登记相应信息,然后再将压缩数据写入Buffer中并在sltable中登记相应信息;
5)若是写更新且要更新的数据在闪存中,则首先按照步骤4进行操作,最后更新isvalid表,将原来压缩数据对应的物理页上的有效压缩数据段数减1;
6)若是写更新且要更新的数据在Buffer中,若是Buffer中剩余的空间大于等于压缩后的数据大小,根据buffer_next的值,先将压缩数据写入Buffer中,然后调整Buffer内容,将LAi原来对应的压缩数据覆盖,并调整sltable中的相应表项;若是Buffer中剩余的空间小于压缩后的数据大小,则先将Buffer中的数据写入闪存中,并在lttable中登记相应信息,然后将压缩数据写入Buffer中并在sltable中登记相应信息,最后更新isvalid表,将原压缩数据对应的物理页上的有效压缩数据段数减1。
图7是本发明带有数据压缩功能的FTL对不同类型文件的平均压缩率对比。可以看出,除FLV类型文件外,其它五种类型的文件的平均压缩率都在65%以下,其中Word文档的平均压缩率最高,达到了36%。而FLV文件则几乎无法进行压缩,这是因为FLV文件本身是一种压缩视频格式,再用LZ77算法进行压缩几乎没有效果。所以,在一些针对文本型数据存储的特定应用场合,本发明带有数据压缩功能的FTL,可以将一个待写入闪存固态盘的文件实际写入的数据量减少到其自身大小的60%左右,与不带数据压缩功能的闪存固态盘相当,增加了约40%的存储空间。
图8是采用带有数据压缩功能的FTL和不带数据压缩功能的FTL相比,对于不同类型文件,闪存固态盘平均读/写延时降低比例的示意图。可以看出,使用本发明带数据压缩功能的FTL,对不同类型文件,闪存固态盘的读延时和写延时都有了显著降低:读延时的降低比例可以达到48%~59%,写延时的降低比例可以达到42%~76%,尤其是对Word文档、C程序代码和网页文件的写延时降低比例都超过了60%。
Claims (4)
1.一种带有数据压缩功能的闪存转换系统,其特征在于该系统由压缩器Compressor、解压器Decompressor、缓冲区Buffer、地址映射管理模块、垃圾回收模块和损耗均衡模块组成,Compressor将主机发出的待写数据进行压缩后写入Buffer;Decompressor将从Buffer或闪存中读出的数据解压缩后返回给主机;Buffer接收Compressor送来的压缩数据并拼接成若干完整的闪存数据页;地址映射管理模块负责整个读写过程中的地址映射关系的正确无误;垃圾回收模块负责对失效闪存块进行回收;损耗均衡模块负责均衡对各个闪存块的擦写次数。
2.一种带有数据压缩功能的闪存转换系统的实现方法,其特征在于:对写入数据的压缩和读出数据的解压缩采用基于LZ77算法的单页压缩策略,对于要写入闪存的数据,以一页为单位进行压缩,主机发出一个写操作就进行一次压缩,将压缩后的数据放在缓存中,当缓存中剩余的空间不够再放入压缩数据时,将几次写操作的压缩数据在缓存中拼接成若干个完整的闪存数据页,写入闪存;读数据时,读出两个闪存物理页,提取相应压缩数据,进行解压缩操作,即得到要读取的数据;将主机发出的逻辑地址映射到闪存物理页地址、数据在物理页上的起始位置以及长度,用元组:物理页地址1,起始位置1,长度1,或物理页地址1,物理页地址2,起始位置1,起始位置2,长度1,长度2,来表示一条逻辑地址与物理地址的映射关系。
3.根据权利要求2所述的一种带有数据压缩功能的闪存转换系统的实现方法,其特征在于在从闪存中读出压缩数据包括五个主要步骤:
1)主机发出要读取的数据的逻辑地址LogicAddress:LAi;
2)以该逻辑地址为下标,查询BoF表,即根据BoF[LAi]的值,确定要读取的数据是在Buffer中还是在闪存中;
3)若要读取的数据在Buffer中,则顺序查找sltable表,找到相应的表项,该表项的LogicAddress字段等于主机发出的逻辑地址LAi;然后根据该表项的startpos和length字段,从Buffer的startpos位置开始,连续读取length字节的数据,这段数据即为主机要读取的数据所对应的压缩数据;
4)若要读取的数据在闪存中,则以该逻辑地址为下标,查询lttable表,若lttable[LAi].tag=1,则主机要读取的数据对应的压缩数据在一个闪存物理页上,将地址为lttable[LAi].p[0]的物理页读出,根据lttable[LAi].offset[0]和lttable[LAi].length[0]的值,从读出的物理页中提取主机要读取的数据对应的压缩数据;若lttable[LAi].tag=2,则按照前述方法读出两段压缩数据拼接起来即为主机要读取的数据对应的压缩数据;
5)将读出的压缩数据解压,返回给主机。
4.根据权利要求2所述的一种带有数据压缩功能的闪存转换系统的实现方法,其特征在压缩待写入的数据、将压缩数据写入Buffer、将Buffer中数据写入闪存,主要包括六个步骤:
1)主机发出要写入的数据以及它的逻辑地址LogicAddress:LAi;
2)将要写入的数据进行压缩,得到压缩后数据长度destlen;
3)以该逻辑地址为下标,查询BoF表,即根据BoF[LAi]的值,确定逻辑地址LogicAddress是第一次被写入还是写更新;写更新分为两种情况:要更新的数据在Buffer中和在闪存中;
4)若是第一次被写入,若是Buffer中剩余的空间大于等于压缩后的数据大小,根据buffer_next的值,则将压缩后的数据写入Buffer,然后根据sltable_next找到sltable中下一个可用的表项,登记相应信息;若是Buffer中剩余的空间小于压缩后的数据大小,则先将Buffer中的数据全部写入闪存中,并在lttable中登记相应信息,然后再将压缩数据写入Buffer中并在sltable中登记相应信息;
5)若是写更新且要更新的数据在闪存中,则首先按照步骤4进行操作,最后更新isvalid表,将原来压缩数据对应的物理页上的有效压缩数据段数减1;
6)若是写更新且要更新的数据在Buffer中,若是Buffer中剩余的空间大于等于压缩后的数据大小,根据buffer_next的值,先将压缩数据写入Buffer中,然后调整Buffer内容,将LAi原来对应的压缩数据覆盖,并调整sltable中的相应表项;若是Buffer中剩余的空间小于压缩后的数据大小,则先将Buffer中的数据写入闪存中,并在lttable中登记相应信息,然后将压缩数据写入Buffer中并在sltable中登记相应信息,最后更新isvalid表,将原压缩数据对应的物理页上的有效压缩数据段数减1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102544098A CN101916228B (zh) | 2010-08-17 | 2010-08-17 | 带有数据压缩功能的闪存转换层及实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102544098A CN101916228B (zh) | 2010-08-17 | 2010-08-17 | 带有数据压缩功能的闪存转换层及实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101916228A CN101916228A (zh) | 2010-12-15 |
CN101916228B true CN101916228B (zh) | 2012-06-06 |
Family
ID=43323745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102544098A Expired - Fee Related CN101916228B (zh) | 2010-08-17 | 2010-08-17 | 带有数据压缩功能的闪存转换层及实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101916228B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102760045B (zh) * | 2011-04-29 | 2015-07-08 | 无锡江南计算技术研究所 | 一种智能存储设备及其数据处理方法 |
US8949513B2 (en) * | 2011-05-10 | 2015-02-03 | Marvell World Trade Ltd. | Data compression and compacting for memory devices |
CN102298555B (zh) * | 2011-08-22 | 2016-04-27 | 宜兴市华星特种陶瓷科技有限公司 | 基于nand技术的模块化闪存管理系统 |
CN102662856B (zh) * | 2012-04-27 | 2015-10-28 | 中国科学院计算技术研究所 | 一种固态硬盘及其存取方法 |
CN103823633A (zh) * | 2012-11-16 | 2014-05-28 | 上海华虹集成电路有限责任公司 | 小文件管理电路 |
CN103838721B (zh) * | 2012-11-20 | 2017-06-27 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN103902467B (zh) * | 2012-12-26 | 2017-02-22 | 华为技术有限公司 | 压缩内存访问控制方法、装置及系统 |
CN103049222B (zh) * | 2012-12-28 | 2016-05-25 | 中国船舶重工集团公司第七0九研究所 | 一种raid5的写io优化处理方法 |
CN103078647A (zh) * | 2013-01-15 | 2013-05-01 | 中国科学院计算技术研究所 | 一种lz77压缩算法的硬件解码实现系统及方法 |
CN103136109B (zh) * | 2013-02-07 | 2016-06-15 | 中国科学院苏州纳米技术与纳米仿生研究所 | 一种具有压缩功能的固态存储系统ftl写入及读取方法 |
CN104424991A (zh) * | 2013-08-30 | 2015-03-18 | 北京兆易创新科技股份有限公司 | 一种串行接口nand闪存单元 |
CN105224474B (zh) * | 2014-06-03 | 2019-05-31 | 深圳市腾讯计算机系统有限公司 | 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置 |
CN104239231B (zh) * | 2014-09-01 | 2018-01-30 | 上海爱数信息技术股份有限公司 | 一种加速二级缓存预热的方法及装置 |
US10255004B2 (en) * | 2015-11-16 | 2019-04-09 | Marvell World Trade Ltd. | Systems and methods for managing address-mapping data in memory devices |
CN107436848B (zh) * | 2017-08-03 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种实现用户数据和压缩数据间转换的方法及装置 |
CN108334287A (zh) * | 2018-01-30 | 2018-07-27 | 江苏华存电子科技有限公司 | 一种提高闪存每单位写入的资料量的方法及装置 |
JP6443571B1 (ja) * | 2018-02-02 | 2018-12-26 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム |
CN109445691B (zh) * | 2018-10-16 | 2022-03-29 | 深圳忆联信息系统有限公司 | 一种提高ftl算法开发和验证效率的方法及装置 |
CN111326195A (zh) * | 2018-12-14 | 2020-06-23 | 北京兆易创新科技股份有限公司 | 一种存储器 |
CN109814809B (zh) * | 2019-01-14 | 2022-03-11 | 杭州宏杉科技股份有限公司 | 数据压缩方法及装置 |
JP2020154525A (ja) * | 2019-03-19 | 2020-09-24 | キオクシア株式会社 | メモリシステムおよび情報処理システム |
CN110309081B (zh) * | 2019-06-03 | 2022-11-01 | 华侨大学 | 基于压缩存储和地址映射表项的ftl读写数据页的方法 |
CN112053735B (zh) | 2019-06-05 | 2023-03-28 | 建兴储存科技(广州)有限公司 | 固态存储装置的重复数据处理方法 |
CN110806987A (zh) * | 2019-10-31 | 2020-02-18 | 江苏华存电子科技有限公司 | 一种在静态随机存取存储器上的混合型映象表 |
CN111597128B (zh) * | 2020-05-21 | 2023-07-14 | 北京泽石科技有限公司 | 固态非易失存储设备中数据的管理方法以及管理装置 |
CN117666968B (zh) * | 2023-12-20 | 2024-06-28 | 之江实验室 | 一种固态盘存储系统的选择性数据压缩方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100858241B1 (ko) * | 2006-10-25 | 2008-09-12 | 삼성전자주식회사 | 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법 |
US8024545B2 (en) * | 2007-10-19 | 2011-09-20 | Inha-Industry Partnership Institute | Efficient prefetching and asynchronous writing for flash memory |
CN101727293B (zh) * | 2008-10-23 | 2012-05-23 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘ssd存储的设置方法、装置和系统 |
-
2010
- 2010-08-17 CN CN2010102544098A patent/CN101916228B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101916228A (zh) | 2010-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101916228B (zh) | 带有数据压缩功能的闪存转换层及实现方法 | |
Park et al. | zFTL: Power-efficient data compression support for NAND flash-based consumer electronics devices | |
US8495282B2 (en) | Flash-aware storage optimized for mobile and embedded DBMS on NAND flash memory | |
CN103136109B (zh) | 一种具有压缩功能的固态存储系统ftl写入及读取方法 | |
US8171219B2 (en) | Method and system to perform caching based on file-level heuristics | |
US11030156B2 (en) | Key-value store with partial data access | |
CN102662856B (zh) | 一种固态硬盘及其存取方法 | |
US8799562B2 (en) | Storage apparatus and data control method for generating and storing format data and guarantee codes | |
US8364931B2 (en) | Memory system and mapping methods using a random write page mapping table | |
US20080263114A1 (en) | Efficient access of flash databases | |
US20170177497A1 (en) | Compressed caching of a logical-to-physical address table for nand-type flash memory | |
US20130117503A1 (en) | Servicing non-block storage requests | |
US20170139825A1 (en) | Method of improving garbage collection efficiency of flash-oriented file systems using a journaling approach | |
US20140281302A1 (en) | Multiple stream compression and formatting of data for data storage systems | |
TW202042067A (zh) | 用來存取至少一非揮發性記憶體元件的處理單元 | |
US11520698B2 (en) | Data storage device in a key-value storage architecture with data compression, and non-volatile memory control method | |
WO2007066720A1 (ja) | 不揮発性記憶装置並びにデータ書込み方法及びデータ読み出し方法 | |
US20200225882A1 (en) | System and method for compaction-less key-value store for improving storage capacity, write amplification, and i/o performance | |
US10754785B2 (en) | Checkpointing for DRAM-less SSD | |
CN103744611A (zh) | 基于固态硬盘为缓存的计算机系统及缓存加速方法 | |
CN111966281B (zh) | 数据储存装置与数据处理方法 | |
KR20080074124A (ko) | 고정된 크기의 저장 블록을 가진 메모리 시스템에서데이터의 변환된 유닛의 저장 | |
Park et al. | Compression support for flash translation layer | |
CN102792296B (zh) | 移动终端中请求页面调度方法、控制器以及移动终端 | |
US10444991B1 (en) | In-place resumable partial decompression |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120606 Termination date: 20140817 |
|
EXPY | Termination of patent right or utility model |