CN101916228A - 带有数据压缩功能的闪存转换层及实现方法 - Google Patents

带有数据压缩功能的闪存转换层及实现方法 Download PDF

Info

Publication number
CN101916228A
CN101916228A CN2010102544098A CN201010254409A CN101916228A CN 101916228 A CN101916228 A CN 101916228A CN 2010102544098 A CN2010102544098 A CN 2010102544098A CN 201010254409 A CN201010254409 A CN 201010254409A CN 101916228 A CN101916228 A CN 101916228A
Authority
CN
China
Prior art keywords
data
buffer
flash memory
write
read
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.)
Granted
Application number
CN2010102544098A
Other languages
English (en)
Other versions
CN101916228B (zh
Inventor
刘芳
肖侬
蔡志平
刘志龙
陈志广
杜溢墨
安龙飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN2010102544098A priority Critical patent/CN101916228B/zh
Publication of CN101916228A publication Critical patent/CN101916228A/zh
Application granted granted Critical
Publication of CN101916228B publication Critical patent/CN101916228B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical 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 Translation Layer)的设计和实现方法。
背景技术
闪存(Flash Memory)是近年来应用广泛的一种半导体存储器,闪存技术的发展引起了存储领域新的变革。闪存体积小、重量轻、无噪声、抗震动,其能耗只有传统硬盘的1/5~1/6,是一种理想的存储介质。
闪存的一个重要特性就是修改数据时不能作覆盖写(over-write),也即当一页数据需要修改时,不能像磁盘那样直接在原地作修改,而需要将该页擦除后再重新写入数据。由于擦除操作延迟较大,一般将新的数据写到另一个空白页上,同时让原数据失效,这就是常说的非定点更新(out-place update),这一特性使得传统磁盘上的文件系统不能直接应用到闪存设备上。为充分利用传统磁盘领域积累的技术和大量软件产品,各大厂商纷纷将一个或多个闪存芯片组合封装成类似磁盘的固态盘SSD(Solid State Drive),为上层应用提供与磁盘一样的接口,而不需要修改应用和文件系统。闪存固态盘采用一个转换层FTL(Flash Translation 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所示,带有数据压缩功能的FTL主要由压缩器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.带有数据压缩功能的闪存转换层,其特征在于带有数据压缩功能的闪存转换层FTL主要由压缩器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。
CN2010102544098A 2010-08-17 2010-08-17 带有数据压缩功能的闪存转换层及实现方法 Expired - Fee Related CN101916228B (zh)

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 true CN101916228A (zh) 2010-12-15
CN101916228B 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)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298555A (zh) * 2011-08-22 2011-12-28 宜兴市华星特种陶瓷科技有限公司 基于nand技术的模块化闪存管理系统
CN102662856A (zh) * 2012-04-27 2012-09-12 中国科学院计算技术研究所 一种固态硬盘及其存取方法
CN102760045A (zh) * 2011-04-29 2012-10-31 无锡江南计算技术研究所 一种智能存储设备及其数据处理方法
CN103049222A (zh) * 2012-12-28 2013-04-17 中国船舶重工集团公司第七0九研究所 一种raid5的写io优化处理方法
CN103078647A (zh) * 2013-01-15 2013-05-01 中国科学院计算技术研究所 一种lz77压缩算法的硬件解码实现系统及方法
CN103136109A (zh) * 2013-02-07 2013-06-05 中国科学院苏州纳米技术与纳米仿生研究所 一种具有压缩功能的固态存储系统ftl写入及读取方法
CN103620564A (zh) * 2011-05-10 2014-03-05 马维尔国际贸易有限公司 用于存储器设备的数据压缩和紧缩
CN103823633A (zh) * 2012-11-16 2014-05-28 上海华虹集成电路有限责任公司 小文件管理电路
CN103838721A (zh) * 2012-11-20 2014-06-04 联想(北京)有限公司 一种信息处理方法及电子设备
WO2014101498A1 (zh) * 2012-12-26 2014-07-03 华为技术有限公司 压缩内存访问控制方法、装置及系统
CN104239231A (zh) * 2014-09-01 2014-12-24 上海爱数软件有限公司 一种加速二级缓存预热的方法及装置
CN104424991A (zh) * 2013-08-30 2015-03-18 北京兆易创新科技股份有限公司 一种串行接口nand闪存单元
CN105224474A (zh) * 2014-06-03 2016-01-06 深圳市腾讯计算机系统有限公司 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置
CN107436848A (zh) * 2017-08-03 2017-12-05 郑州云海信息技术有限公司 一种实现用户数据和压缩数据间转换的方法及装置
CN108334287A (zh) * 2018-01-30 2018-07-27 江苏华存电子科技有限公司 一种提高闪存每单位写入的资料量的方法及装置
CN109445691A (zh) * 2018-10-16 2019-03-08 深圳忆联信息系统有限公司 一种提高ftl算法开发和验证效率的方法及装置
CN109814809A (zh) * 2019-01-14 2019-05-28 杭州宏杉科技股份有限公司 数据压缩方法及装置
CN110134328A (zh) * 2018-02-02 2019-08-16 富士通株式会社 存储控制装置、存储控制方法和计算机可读记录介质
CN110309081A (zh) * 2019-06-03 2019-10-08 华侨大学 基于压缩存储和地址映射表项的ftl读写数据页的方法
CN111326195A (zh) * 2018-12-14 2020-06-23 北京兆易创新科技股份有限公司 一种存储器
CN111597128A (zh) * 2020-05-21 2020-08-28 北京泽石科技有限公司 固态非易失存储设备中数据的管理方法以及管理装置
CN111722794A (zh) * 2019-03-19 2020-09-29 铠侠股份有限公司 存储系统
US10963178B2 (en) 2019-06-05 2021-03-30 Solid State Storage Technology Corporation Repetitive data processing method for solid state drive
CN107037979B (zh) * 2015-11-16 2021-04-16 马维尔亚洲私人有限公司 用于在存储器设备中管理地址映射数据的系统和方法
WO2021082109A1 (zh) * 2019-10-31 2021-05-06 江苏华存电子科技有限公司 一种在静态随机存取存储器上的混合型映象表
CN117666968A (zh) * 2023-12-20 2024-03-08 之江实验室 一种固态盘存储系统的选择性数据压缩方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080112238A1 (en) * 2006-10-25 2008-05-15 Seon-Taek Kim Hybrid flash memory device and method for assigning reserved blocks thereof
US20090106486A1 (en) * 2007-10-19 2009-04-23 Inha-Industry Partnership Institute Efficient prefetching and asynchronous writing for flash memory
CN101727293A (zh) * 2008-10-23 2010-06-09 成都市华为赛门铁克科技有限公司 一种固态硬盘ssd存储的设置方法、装置和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080112238A1 (en) * 2006-10-25 2008-05-15 Seon-Taek Kim Hybrid flash memory device and method for assigning reserved blocks thereof
US20090106486A1 (en) * 2007-10-19 2009-04-23 Inha-Industry Partnership Institute Efficient prefetching and asynchronous writing for flash memory
CN101727293A (zh) * 2008-10-23 2010-06-09 成都市华为赛门铁克科技有限公司 一种固态硬盘ssd存储的设置方法、装置和系统

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102760045B (zh) * 2011-04-29 2015-07-08 无锡江南计算技术研究所 一种智能存储设备及其数据处理方法
CN102760045A (zh) * 2011-04-29 2012-10-31 无锡江南计算技术研究所 一种智能存储设备及其数据处理方法
CN103620564B (zh) * 2011-05-10 2017-03-15 马维尔国际贸易有限公司 用于存储器设备的数据压缩和紧缩
CN103620564A (zh) * 2011-05-10 2014-03-05 马维尔国际贸易有限公司 用于存储器设备的数据压缩和紧缩
CN102298555B (zh) * 2011-08-22 2016-04-27 宜兴市华星特种陶瓷科技有限公司 基于nand技术的模块化闪存管理系统
CN102298555A (zh) * 2011-08-22 2011-12-28 宜兴市华星特种陶瓷科技有限公司 基于nand技术的模块化闪存管理系统
CN102662856A (zh) * 2012-04-27 2012-09-12 中国科学院计算技术研究所 一种固态硬盘及其存取方法
CN102662856B (zh) * 2012-04-27 2015-10-28 中国科学院计算技术研究所 一种固态硬盘及其存取方法
CN103823633A (zh) * 2012-11-16 2014-05-28 上海华虹集成电路有限责任公司 小文件管理电路
CN103838721B (zh) * 2012-11-20 2017-06-27 联想(北京)有限公司 一种信息处理方法及电子设备
CN103838721A (zh) * 2012-11-20 2014-06-04 联想(北京)有限公司 一种信息处理方法及电子设备
WO2014101498A1 (zh) * 2012-12-26 2014-07-03 华为技术有限公司 压缩内存访问控制方法、装置及系统
CN103049222A (zh) * 2012-12-28 2013-04-17 中国船舶重工集团公司第七0九研究所 一种raid5的写io优化处理方法
CN103049222B (zh) * 2012-12-28 2016-05-25 中国船舶重工集团公司第七0九研究所 一种raid5的写io优化处理方法
CN103078647A (zh) * 2013-01-15 2013-05-01 中国科学院计算技术研究所 一种lz77压缩算法的硬件解码实现系统及方法
CN103136109A (zh) * 2013-02-07 2013-06-05 中国科学院苏州纳米技术与纳米仿生研究所 一种具有压缩功能的固态存储系统ftl写入及读取方法
CN104424991A (zh) * 2013-08-30 2015-03-18 北京兆易创新科技股份有限公司 一种串行接口nand闪存单元
CN105224474B (zh) * 2014-06-03 2019-05-31 深圳市腾讯计算机系统有限公司 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置
CN105224474A (zh) * 2014-06-03 2016-01-06 深圳市腾讯计算机系统有限公司 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置
CN104239231B (zh) * 2014-09-01 2018-01-30 上海爱数信息技术股份有限公司 一种加速二级缓存预热的方法及装置
CN104239231A (zh) * 2014-09-01 2014-12-24 上海爱数软件有限公司 一种加速二级缓存预热的方法及装置
CN107037979B (zh) * 2015-11-16 2021-04-16 马维尔亚洲私人有限公司 用于在存储器设备中管理地址映射数据的系统和方法
CN107436848B (zh) * 2017-08-03 2021-02-02 苏州浪潮智能科技有限公司 一种实现用户数据和压缩数据间转换的方法及装置
CN107436848A (zh) * 2017-08-03 2017-12-05 郑州云海信息技术有限公司 一种实现用户数据和压缩数据间转换的方法及装置
CN108334287A (zh) * 2018-01-30 2018-07-27 江苏华存电子科技有限公司 一种提高闪存每单位写入的资料量的方法及装置
CN110134328A (zh) * 2018-02-02 2019-08-16 富士通株式会社 存储控制装置、存储控制方法和计算机可读记录介质
CN109445691A (zh) * 2018-10-16 2019-03-08 深圳忆联信息系统有限公司 一种提高ftl算法开发和验证效率的方法及装置
CN111326195A (zh) * 2018-12-14 2020-06-23 北京兆易创新科技股份有限公司 一种存储器
CN109814809A (zh) * 2019-01-14 2019-05-28 杭州宏杉科技股份有限公司 数据压缩方法及装置
CN109814809B (zh) * 2019-01-14 2022-03-11 杭州宏杉科技股份有限公司 数据压缩方法及装置
CN111722794A (zh) * 2019-03-19 2020-09-29 铠侠股份有限公司 存储系统
CN110309081A (zh) * 2019-06-03 2019-10-08 华侨大学 基于压缩存储和地址映射表项的ftl读写数据页的方法
CN110309081B (zh) * 2019-06-03 2022-11-01 华侨大学 基于压缩存储和地址映射表项的ftl读写数据页的方法
US10963178B2 (en) 2019-06-05 2021-03-30 Solid State Storage Technology Corporation Repetitive data processing method for solid state drive
WO2021082109A1 (zh) * 2019-10-31 2021-05-06 江苏华存电子科技有限公司 一种在静态随机存取存储器上的混合型映象表
CN111597128A (zh) * 2020-05-21 2020-08-28 北京泽石科技有限公司 固态非易失存储设备中数据的管理方法以及管理装置
CN117666968A (zh) * 2023-12-20 2024-03-08 之江实验室 一种固态盘存储系统的选择性数据压缩方法及装置

Also Published As

Publication number Publication date
CN101916228B (zh) 2012-06-06

Similar Documents

Publication Publication Date Title
CN101916228B (zh) 带有数据压缩功能的闪存转换层及实现方法
CN101526923B (zh) 一种数据处理方法、装置和闪存存储系统
US20190340165A1 (en) Method of reducing redundancy between two or more datasets
US8799562B2 (en) Storage apparatus and data control method for generating and storing format data and guarantee codes
KR101994491B1 (ko) 데이터 중복제거를 위한 백업 및 복원 전략
CN101739352B (zh) 用来管理一记忆装置的方法以及其相关的记忆装置
US7529905B2 (en) Method of storing transformed units of data in a memory system having fixed sized storage blocks
US8868882B2 (en) Storage architecture for backup application
CN105027122A (zh) 压缩和重复数据删除分层驱动
CN102662856B (zh) 一种固态硬盘及其存取方法
US9335950B2 (en) Multiple stream compression and formatting of data for data storage systems
Park et al. zFTL: Power-efficient data compression support for NAND flash-based consumer electronics devices
US20060123035A1 (en) Applying multiple compression algorithms in a database system
US20070005911A1 (en) Operating System-Based Memory Compression for Embedded Systems
US9274978B2 (en) Migration of encrypted data for data storage systems
US9116904B2 (en) File system operation on multi-tiered volume
US11520698B2 (en) Data storage device in a key-value storage architecture with data compression, and non-volatile memory control method
KR101348255B1 (ko) 고정된 크기의 저장 블록을 가진 메모리 시스템에서데이터의 변환된 유닛의 저장
Lee et al. An efficient index buffer management scheme for implementing a B-tree on NAND flash memory
CN102147768A (zh) 存储器、固态缓存系统及缓存数据处理方法
US20190310788A1 (en) Similarity-based data deduplication on solid-state storage devices with embedded nonvolatile memory
CN1963810A (zh) 在Flash存储介质上的关于文件分配表的缓存实现方法
US20090282064A1 (en) On the fly compression and storage device, system and method
CN102792296B (zh) 移动终端中请求页面调度方法、控制器以及移动终端
US20230142948A1 (en) Techniques for managing context information for a storage device

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