CN103744615A - 一种动态补偿接收器及动态补偿接收方法 - Google Patents

一种动态补偿接收器及动态补偿接收方法 Download PDF

Info

Publication number
CN103744615A
CN103744615A CN201310695408.0A CN201310695408A CN103744615A CN 103744615 A CN103744615 A CN 103744615A CN 201310695408 A CN201310695408 A CN 201310695408A CN 103744615 A CN103744615 A CN 103744615A
Authority
CN
China
Prior art keywords
data
active page
lba
data block
solid state
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
Application number
CN201310695408.0A
Other languages
English (en)
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.)
Ramaxel Technology Shenzhen Co Ltd
Original Assignee
Ramaxel Technology Shenzhen Co Ltd
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 Ramaxel Technology Shenzhen Co Ltd filed Critical Ramaxel Technology Shenzhen Co Ltd
Priority to CN201310695408.0A priority Critical patent/CN103744615A/zh
Publication of CN103744615A publication Critical patent/CN103744615A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明适用于计算机技术领域,特别是基于NAND FLASH的固态硬盘领域。具体涉及一种固态硬盘及基于LBA排序的垃圾收集方法。该垃圾收集方法包括:在对闪存芯片中数据块进行数据搬移时,读出数据块中每个有效页对应的逻辑块地址;读出有效页的数据,并将有效页的数据按照逻辑块地址进行排序;将排序完成的数据依次写入一新数据块中的相邻位置,并将已经搬移完成的数据块进行擦除。借此,本发明能降低固态硬盘的写放大,降低垃圾收集的开销,提高固态硬盘的寿命和性能。

Description

一种动态补偿接收器及动态补偿接收方法
技术领域
本发明涉及计算机技术领域,特别是基于NAND FLASH(NAND型闪存)的固态硬盘领域。具体涉及一种固态硬盘及基于LBA(Logical Block Address,逻辑块地址)排序的垃圾收集方法。
背景技术
固态硬盘在日常生活中应用越来越普遍,固态硬盘主要是由存储单元(NAND FLASH芯片)阵列组成,每个闪存芯片包括一个或多个晶粒,每个晶粒包括多个块,每个块中包含多个页。NAND FLASH芯片具有以下三个物理特性:1、先擦除,后读写。2、擦除以块为最小单位,读写以页为最小单位。3、NAND FLASH芯片的擦除次数有限。所以固体硬盘要做垃圾收集,以回收被无效数据占据的物理空间,供下次写入有效数据使用。
目前固态硬盘的垃圾收集方法在搬移数据时,只对数据进行物理位置的搬移,这样就有可能导致相同的数据多次进行搬移,引起固态硬盘的写放大上升,降低固态硬盘的寿命和性能。综上可知,现有垃圾收集方法在实际使用上显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种固态硬盘及基于LBA排序的垃圾收集方法,其能降低固态硬盘的写放大,提高固态硬盘的寿命和性能。
为了实现上述目的,本发明提供一种基于LBA排序的垃圾收集方法,包括:
在对闪存芯片中数据块进行数据搬移时,读出数据块中每个有效页对应的逻辑块地址;
读出所述有效页的数据,并将所述有效页的数据按照逻辑块地址进行排序;
将排序完成的数据依次写入一新数据块中的相邻位置,并将已经搬移完成的数据块进行擦除。
根据本发明的垃圾收集方法,将排序完成的数据依次写入一新数据块中的相邻位置的步骤之后还包括:更新写入数据的映射关系。
根据本发明的垃圾收集方法,所述有效页的数据按照逻辑块地址进行排序的步骤包括:
将所述有效页的数据按照逻辑块地址从小到大进行排序。
根据本发明的垃圾收集方法,所述方法还包括:
按照数据块中有效页的数目选择需要进行垃圾收集的数据块,有效页数量最少的块为需要进行垃圾收集的块。
根据本发明的垃圾收集方法,按照数据块中有效页的数目选择需要进行垃圾收集的数据块的步骤之前还包括:垃圾收集机制触发。
本发明相应提供一种固态硬盘,包括闪存以及闪存转换层,所述闪存转换层包括:
读地址单元,用于在对闪存芯片中数据块进行数据搬移时,读出数据块中每个有效页对应的逻辑块地址;
读数据单元,用于读出所述有效页的数据,
排序单元,用于将读出的所述有效页的数据按照逻辑块地址进行排序;
写数据单元,用于将排序完成的数据依次写入一新数据块中的相邻位置;
数据擦除单元,用于将已经搬移完成的数据块进行擦除。
根据本发明的固态硬盘,所述闪存转换层还包括映射单元,用于将排序完成的数据依次写入一新数据块中的相邻位置后,更新写入数据的映射关系。
根据本发明的固态硬盘,所述排序单元还用于将所述有效页的数据按照逻辑块地址从小到大进行排序。
根据本发明的固态硬盘,所述闪存转换层还包括:垃圾收集判定单元,用于按照数据块中有效页的数目选择需要进行垃圾收集的数据块,有效页数量最少的块为需要进行垃圾收集的块。
根据本发明的固态硬盘,所述闪存转换层还包括触发单元,用于根据垃圾收集机制触发垃圾收集。
本发明通过在对闪存芯片中数据块进行数据搬移时,读出数据块中每个有效页对应的逻辑块地址;读出有效页的数据,并将有效页的数据按照逻辑块地址进行排序;将排序完成的数据依次写入一新数据块中的相邻位置,并将已经搬移完成的数据块进行擦除。在搬移数据时先根据数据的LBA对数据进行排序,相近的LBA搬移到相近的物理位置,形成“连续”数据,从而降低了再次搬移的可能性,降低固态硬盘的写放大从而提高固态硬盘的寿命和性能。
附图说明
图1是本发明一种固态硬盘的原理结构图;
图2是本发明一种实施例中垃圾收集前的有效数据的数据分布示意图;
图3是本发明一种实施例中有效数据按照LBA排序后的示意图;
图4是本发明一种实施例中数据搬移完成后数据分布示意图;
图5是本发明一种实施例中闪存转换层进行垃圾收集的流程图;
图6是本发明一种基于LBA排序的垃圾收集方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明一种固态硬盘100,包括闪存10以及闪存转换层20。闪存转换层20包括:读地址单元21、读数据单元22、排序单元23、写数据单元24、数据擦除单元25、映射单元26、垃圾收集判定单元27以及触发单元28。
读地址单元21,用于在对闪存芯片中数据块进行数据搬移时,读出数据块中每个有效页对应的逻辑块地址。此数据块是指物理的nand block,做垃圾收集时需搬移nand block中的有效页中的数据。
读数据单元22,用于读出有效页的数据。
排序单元23,用于将读出的有效页的数据按照逻辑块地址进行排序。排序单元23还用于将有效页的数据按照逻辑块地址从小到大进行排序。显而易见排序单元23也可将有效页的数据按照逻辑块地址从大到小进行排序。
写数据单元24,用于将排序完成的数据依次写入一新数据块中的相邻位置。在搬移数据时先根据数据的逻辑块地址对数据进行排序,相近逻辑块地址的数据搬移到相近的物理位置,形成“连续”数据,从而降低了再次搬移的可能性,降低固态硬盘的写放大从而提高固态硬盘的寿命和性能。
数据擦除单元25,用于将已经搬移完成的数据块进行擦除。此处擦除的是旧的物理块,写入的是新的物理块,所以先搬移后擦除。
映射单元26,用于将排序完成的数据依次写入一新数据块中的相邻位置后,更新写入数据的映射关系。对于已经写入闪存芯片中相邻位置的数据更新其映射关系,形成相对线性的映射关系,即在物理介质中相对连续。在相对线性的映射关系中数据的读取性能获得提高;在相对线性的映射关系中数据的失效性也具有了相应的连续性,可以同时失效一个块从而降低垃圾收集的开销;降低垃圾收集的开销后,就可以提高固态硬盘的寿命、以及提高固态硬盘的性能。
“可以同时失效一个块”中的块是指包括多个页的数据块,也就是物理块,该物理块中的页具有逻辑上的连续性,可以同时失效,不用搬移即可直接擦除。
垃圾收集判定单元27,用于按照数据块中有效页的数目选择需要进行垃圾收集的数据块,有效页数量最少的块为需要进行垃圾收集的块。
触发单元28,用于根据垃圾收集机制触发垃圾收集。
图2是本发明一种实施例中垃圾收集前的有效数据的数据分布示意图;图3是本发明一种实施例中有效数据按照LBA排序后的示意图;图4是本发明一种实施例中数据搬移完成后数据分布示意图。如图2所示,在进行数据搬运之前,有效数据分散的分布在数据块中;在图3所示,在进行数据搬运时,排序单元23将有效页中的数据按照逻辑块地址进行升序排序;如图4所示,在数据搬运完成后,数据按照排好的顺序被依次写入新数据块中的相邻位置,已经搬移完成的数据块被擦除。
图5是本发明一种实施例中闪存转换层进行垃圾收集的流程图;该流程包括:
步骤S501,***环境触发垃圾收集机制。
步骤S502,闪存转换层根据数据块中有效页的数目选择源块,选择有效页数量最少的块作为源块。
步骤S503,读取源块中有效页的逻辑块地址。
步骤S504,对源块中有效页的数据按照逻辑块地址进行升序排序。
步骤S505,把经过排序的数据写入到一新数据块中的相邻的物理位置。
步骤S506,更新写入数据的映射关系。
步骤S507,擦除已经搬移完成的数据块,实现垃圾收集。
图6是本发明一种基于LBA排序的垃圾收集方法的流程图。该方法通过如图1所示的固态硬盘100实现,该方法包括:
步骤S601,在对闪存芯片中数据块进行数据搬移时,读出数据块中每个有效页对应的逻辑块地址;
步骤S602,读出有效页的数据,并将有效页的数据按照逻辑块地址进行排序。优选将有效页的数据按照逻辑块地址从小到大进行排序。
步骤S603,将排序完成的数据依次写入一新数据块中的相邻位置,并将已经搬移完成的数据块进行擦除。
优选的是,在步骤S603中,将排序完成的数据依次写入一新数据块中的相邻位置的步骤之后还包括:更新写入数据的映射关系。
优选的是,所述方法还包括:垃圾收集机制触发;按照数据块中有效页的数目选择需要进行垃圾收集的数据块,有效页数量最少的块为需要进行垃圾收集的块。
综上所述,本发明通过在对闪存芯片中数据块进行数据搬移时,读出数据块中每个有效页对应的逻辑块地址;读出有效页的数据,并将有效页的数据按照逻辑块地址进行排序;将排序完成的数据依次写入一新数据块中的相邻位置,并将已经搬移完成的数据块进行擦除。在搬移数据时先根据数据的LBA对数据进行排序,相近的LBA搬移到相近的物理位置,形成“连续”数据,从而降低了再次搬移的可能性,降低固态硬盘的写放大从而提高固态硬盘的寿命和性能。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (10)

1.一种基于LBA排序的垃圾收集方法,其特征在于,包括:
在对闪存芯片中数据块进行数据搬移时,读出数据块中每个有效页对应的逻辑块地址;
读出所述有效页的数据,并将所述有效页的数据按照逻辑块地址进行排序;
将排序完成的数据依次写入一新数据块中的相邻位置,并将已经搬移完成的数据块进行擦除。
2.根据权利要求1所述的垃圾收集方法,其特征在于,将排序完成的数据依次写入一新数据块中的相邻位置的步骤之后还包括:
更新写入数据的映射关系。
3.根据权利要求1所述的垃圾收集方法,其特征在于,所述有效页的数据按照逻辑块地址进行排序的步骤包括:
将所述有效页的数据按照逻辑块地址从小到大进行排序。
4.根据权利要求1所述的垃圾收集方法,其特征在于,所述方法还包括:
按照数据块中所述有效页的数目选择需要进行垃圾收集的数据块,有效页数量最少的块为需要进行垃圾收集的块。
5.根据权利要求1所述的垃圾收集方法,其特征在于,按照数据块中所述有效页的数目选择需要进行垃圾收集的数据块的步骤之前还包括:
垃圾收集机制触发。
6.一种固态硬盘,包括闪存以及闪存转换层,其特征在于,所述闪存转换层包括:
读地址单元,用于在对闪存芯片中数据块进行数据搬移时,读出数据块中每个有效页对应的逻辑块地址;
读数据单元,用于读出所述有效页的数据,
排序单元,用于将读出的所述有效页的数据按照逻辑块地址进行排序;
写数据单元,用于将排序完成的数据依次写入一新数据块中的相邻位置;
数据擦除单元,用于将已经搬移完成的数据块进行擦除。
7.根据权利要求6所述的固态硬盘,其特征在于,所述闪存转换层还包括映射单元,用于将排序完成的数据依次写入一新数据块中的相邻位置后,更新写入数据的映射关系。
8.根据权利要求6所述的固态硬盘,其特征在于,所述排序单元还用于将所述有效页的数据按照逻辑块地址从小到大进行排序。
9.根据权利要求6所述的固态硬盘,其特征在于,所述闪存转换层还包括:垃圾收集判定单元,用于按照数据块中有效页的数目选择需要进行垃圾收集的数据块,有效页数量最少的块为需要进行垃圾收集的块。
10.根据权利要求9所述的固态硬盘,其特征在于,所述闪存转换层还包括触发单元,用于根据垃圾收集机制触发垃圾收集。
CN201310695408.0A 2013-12-17 2013-12-17 一种动态补偿接收器及动态补偿接收方法 Pending CN103744615A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310695408.0A CN103744615A (zh) 2013-12-17 2013-12-17 一种动态补偿接收器及动态补偿接收方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310695408.0A CN103744615A (zh) 2013-12-17 2013-12-17 一种动态补偿接收器及动态补偿接收方法

Publications (1)

Publication Number Publication Date
CN103744615A true CN103744615A (zh) 2014-04-23

Family

ID=50501636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310695408.0A Pending CN103744615A (zh) 2013-12-17 2013-12-17 一种动态补偿接收器及动态补偿接收方法

Country Status (1)

Country Link
CN (1) CN103744615A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201326A (zh) * 2014-12-29 2016-12-07 株式会社东芝 信息处理装置
US9645922B2 (en) 2015-09-10 2017-05-09 HoneycombData Inc. Garbage collection in SSD drives
CN108021512A (zh) * 2017-11-22 2018-05-11 深圳忆联信息***有限公司 一种固态硬盘映射管理方法及固态硬盘
CN108241471A (zh) * 2017-11-29 2018-07-03 深圳忆联信息***有限公司 一种提升固态硬盘性能的方法
CN108563585A (zh) * 2018-03-27 2018-09-21 深圳忆联信息***有限公司 一种降低ssd写放大的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120036309A1 (en) * 2010-08-05 2012-02-09 Ut-Battelle, Llc Coordinated garbage collection for raid array of solid state disks
US20120198124A1 (en) * 2011-01-28 2012-08-02 Apple Inc. Methods and systems for optimizing read operations in a non-volatile memory
CN102768644A (zh) * 2011-05-06 2012-11-07 创惟科技股份有限公司 闪存***及其闪存无效数据页信息的管理方法与回收方法
CN102799535A (zh) * 2012-06-29 2012-11-28 记忆科技(深圳)有限公司 固态硬盘的数据处理方法及固态硬盘
CN102981975A (zh) * 2012-11-16 2013-03-20 深圳市江波龙电子有限公司 闪存数据的管理方法和***
US20130096237A1 (en) * 2010-07-05 2013-04-18 Evonik Roehm Gmbh Composite material made of a material containing cellulose with pmma as a plastic matrix using different coupling components
CN103150258A (zh) * 2013-03-20 2013-06-12 中国科学院苏州纳米技术与纳米仿生研究所 一种固态存储***的写入、读取及垃圾收集方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130096237A1 (en) * 2010-07-05 2013-04-18 Evonik Roehm Gmbh Composite material made of a material containing cellulose with pmma as a plastic matrix using different coupling components
US20120036309A1 (en) * 2010-08-05 2012-02-09 Ut-Battelle, Llc Coordinated garbage collection for raid array of solid state disks
US20120198124A1 (en) * 2011-01-28 2012-08-02 Apple Inc. Methods and systems for optimizing read operations in a non-volatile memory
CN102768644A (zh) * 2011-05-06 2012-11-07 创惟科技股份有限公司 闪存***及其闪存无效数据页信息的管理方法与回收方法
CN102799535A (zh) * 2012-06-29 2012-11-28 记忆科技(深圳)有限公司 固态硬盘的数据处理方法及固态硬盘
CN102981975A (zh) * 2012-11-16 2013-03-20 深圳市江波龙电子有限公司 闪存数据的管理方法和***
CN103150258A (zh) * 2013-03-20 2013-06-12 中国科学院苏州纳米技术与纳米仿生研究所 一种固态存储***的写入、读取及垃圾收集方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王超等: "RM-LCDF:一种块级连续数据保护高效数据恢复方法", 《计算机科学》 *
钟诚等: "一种多路Flash存储结构的热数据判断方法", 《计算机工程》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106201326A (zh) * 2014-12-29 2016-12-07 株式会社东芝 信息处理装置
CN106201326B (zh) * 2014-12-29 2019-12-10 东芝存储器株式会社 信息处理装置
US9645922B2 (en) 2015-09-10 2017-05-09 HoneycombData Inc. Garbage collection in SSD drives
CN108021512A (zh) * 2017-11-22 2018-05-11 深圳忆联信息***有限公司 一种固态硬盘映射管理方法及固态硬盘
CN108241471A (zh) * 2017-11-29 2018-07-03 深圳忆联信息***有限公司 一种提升固态硬盘性能的方法
CN108563585A (zh) * 2018-03-27 2018-09-21 深圳忆联信息***有限公司 一种降低ssd写放大的方法

Similar Documents

Publication Publication Date Title
CN102576293B (zh) 固态存储设备和分层存储***中的数据管理
CN101288054B (zh) 闪存管理方法、***、存储设备、以及闪存设备
Chung et al. A survey of flash translation layer
KR101257691B1 (ko) 메모리 컨트롤러 및 이의 데이터 관리방법
CN101236789B (zh) 检测静态数据区、磨损均衡和合并数据单元的方法和装置
KR101852668B1 (ko) 어드레스 매핑
US20140129758A1 (en) Wear leveling in flash memory devices with trim commands
CN103049349B (zh) 基于分层存储的快照方法及***
CN102054533A (zh) 隔离顺序、随机和***数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器
CN101241471A (zh) 快闪存储器***及其垃圾收集方法
CN102292711A (zh) 固态存储器格式化
CN102419735A (zh) 存储器***
JP2012519899A (ja) メモリブロックの選択
CN110032521A (zh) 用于增强闪存转换层映射灵活性以得到性能和寿命改进的方法和***
CN102576332A (zh) 电力中断管理
CN103744615A (zh) 一种动态补偿接收器及动态补偿接收方法
KR101374065B1 (ko) 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치
CN103744798A (zh) 固态硬盘的垃圾回收方法
CN101383190A (zh) 应用于固态硬盘的闪存均衡损耗算法
CN107092563B (zh) 一种垃圾回收方法及装置
CN102662856A (zh) 一种固态硬盘及其存取方法
CN103543955A (zh) 利用固态硬盘作为设备读缓存的方法、***及固态硬盘
CN101556555B (zh) 用于闪存的区块管理方法、其控制器与储存***
US20090132757A1 (en) Storage system for improving efficiency in accessing flash memory and method for the same
CN103677670A (zh) 读数据的方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20140423