CN106502586A - 一种提高固态硬盘顺序读性能的方法 - Google Patents

一种提高固态硬盘顺序读性能的方法 Download PDF

Info

Publication number
CN106502586A
CN106502586A CN201610900925.0A CN201610900925A CN106502586A CN 106502586 A CN106502586 A CN 106502586A CN 201610900925 A CN201610900925 A CN 201610900925A CN 106502586 A CN106502586 A CN 106502586A
Authority
CN
China
Prior art keywords
data
solid state
state hard
hard disc
subregion
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
CN201610900925.0A
Other languages
English (en)
Other versions
CN106502586B (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.)
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 CN201610900925.0A priority Critical patent/CN106502586B/zh
Publication of CN106502586A publication Critical patent/CN106502586A/zh
Application granted granted Critical
Publication of CN106502586B publication Critical patent/CN106502586B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开了一种提高固态硬盘顺序读性能的方法,其特征在于增加用户写指令数据和固态硬盘内部垃圾回收数据分离操作,在Flash的各个通道的空闲Block中都分别划分出N个Block的存储区域作为回收数据分区,各个通道的其它存储区域为用户数据分区;用户写指令数据写入用户数据分区;固态硬盘内部垃圾回收数据分离出来写入回收数据分区。通过识别和分离垃圾回收操作的写操作,避免垃圾回收对用户数据顺序写,也就说顺序写入各个通道的破坏,进而保证固态硬盘顺序读写的性能。

Description

一种提高固态硬盘顺序读性能的方法
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种提高固态硬盘顺序读性能的方法。
背景技术
在NAND flash SSD,数据的读写通过SSD控制器中通道channel去访问后端的NANDflash,在每个SSD控制器中都有多个通道来保证SSD控制器能够同时并发对NAND flash进行多个读写操作,来提高读写操作的速度。图1是主机Host data连续写入NAND FLASH的操作示意图,所以在SSD设计中,主机host的连续写入的数据,最终会连续的分布在不同的通道Channel下对应的数据块中,这样在对该写入数据进行读操作时,能够保证读操作的数据分布在不同的通道下面。图2是主机Host data连续读出NAND FLASH的操作示意图,Host可以连续并发的从各个Channel中都出数据,可以提高连续读的性能,需要2次就可以完成读出。
由于NAND flash的特性,SSD在写满的情况下,SSD中会进行垃圾回收简称GC的操作,该操作会搬移部分数据写入到新的位置,在这种情况下,host连续写入的数据会和GC写入的数据混合的写入到NAND flash中。图3是增加GC时与host混合写入NAND FLASH的示意图;GC操作会打乱host连续写入数据在不同通道上数据块的分布,可能导致host连续写入的数据集中写入某一个通道下的数据块;图4是增加GC时与host混合写入NAND FLASH后存储的数据读出示意图,最终会导致对该连续写入数据的读性能不佳,需要4次才可以完成读出,相比于无GC操作时所需时间明显增加了很多,没有很好的发挥出顺序读性能的最佳性能。
发明内容
针对以上缺陷,本发明目的如何消除垃圾回收操作对写入数据的连续性的破坏。
为了解决以上问题本发明提出了一种提高固态硬盘顺序读性能的方法,其特征在于增加用户写指令数据和固态硬盘内部垃圾回收数据分离操作,在Flash的各个通道的空闲Block中都分别划分出N个Block的存储区域作为回收数据分区,各个通道的其它存储区域为用户数据分区;用户写指令数据写入用户数据分区;固态硬盘内部垃圾回收数据分离出来写入回收数据分区。
所述的提高固态硬盘顺序读性能的方法,其特征在于NN在1到10内选择;当某个通道的回收数据分区写满数据后,自动该通道的空闲Block中重现划分出N个Block的存储区域作为回收数据分区。
本发明通过识别和分离垃圾回收操作的写操作,避免垃圾回收对用户数据顺序写,也就说顺序写入各个通道的破坏,进而保证固态硬盘顺序读写的性能。
附图说明
图1是主机Host data连续写入NAND FLASH的操作示意图;
图2是主机Host data连续读出NAND FLASH的操作示意图;
图3是增加GC时与host混合写入NAND FLASH的示意图;
图4是增加GC时与host混合写入NAND FLASH后存储的数据读出示意图;
图5是GC和用户数据分离后分别存储到回收数据分区和用户数据区的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图5是GC和用户数据分离后分别存储到回收数据分区和用户数据区的示意图,为这实现GC和用户数据分离,增加用户写指令数据和固态硬盘内部垃圾回收数据分离操作,在Flash的各个通道的空闲Block中都分别划分出N个Block的存储区域作为回收数据分区,各个通道的其它存储区域为用户数据分区;用户写指令数据写入用户数据分区;固态硬盘内部垃圾回收数据分离出来写入回收数据分区。实现GC和用户数据的分离,特别是不破坏用户数据的顺序写入特性,进而也就实现了保证固态硬盘尽可能的实现顺序读操作,发挥固态硬盘并行操作的最大优势。
假设固态硬盘支持4通道Channel,Block a和Block e都属于Channel 1;Block b和Block f都属于Channel 2;Block c和Block g都属于Channel 3;Block d和Block h都属于Channel 4;Block a、Block b、Block c和Block d分别属于4个通道的用户数据区;Blocke、Block f、Block g和Block h分别属于4个通道的回收数据分区。主机用户数据host data指令和GC数据gc data指令交替进入固态硬盘控制器,固态硬盘控制器对这些指令进行分离,控制用户数据host data指令保持原有的顺序,分别按顺序均匀的写入4个通道Channel中用户数据区;同样也保证GC数据gc data指令也分别按顺序均匀的4个通道Channel中的回收数据分区。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

Claims (2)

1.一种提高固态硬盘顺序读性能的方法,其特征在于增加用户写指令数据和固态硬盘内部垃圾回收数据分离操作,在Flash的各个通道的空闲Block中都分别划分出N个Block的存储区域作为回收数据分区,各个通道的其它存储区域为用户数据分区;用户写指令数据写入用户数据分区;固态硬盘内部垃圾回收数据分离出来写入回收数据分区。
2.根据权利要求1所述的提高固态硬盘顺序读性能的方法,其特征在于N在1到10内选择;当某个通道的回收数据分区写满数据后,自动该通道的空闲Block中重现划分出N个Block的存储区域作为回收数据分区。
CN201610900925.0A 2016-10-17 2016-10-17 一种提高固态硬盘顺序读性能的方法 Active CN106502586B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610900925.0A CN106502586B (zh) 2016-10-17 2016-10-17 一种提高固态硬盘顺序读性能的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610900925.0A CN106502586B (zh) 2016-10-17 2016-10-17 一种提高固态硬盘顺序读性能的方法

Publications (2)

Publication Number Publication Date
CN106502586A true CN106502586A (zh) 2017-03-15
CN106502586B CN106502586B (zh) 2019-10-25

Family

ID=58294351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610900925.0A Active CN106502586B (zh) 2016-10-17 2016-10-17 一种提高固态硬盘顺序读性能的方法

Country Status (1)

Country Link
CN (1) CN106502586B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107844432A (zh) * 2017-11-22 2018-03-27 深圳忆联信息***有限公司 一种固态硬盘动态垃圾回收的方法及固态硬盘
CN108572797A (zh) * 2018-03-07 2018-09-25 深圳忆联信息***有限公司 一种固态硬盘读性能加速方法
CN109144399A (zh) * 2017-06-16 2019-01-04 杭州海康威视数字技术股份有限公司 一种数据存储方法、装置及电子设备
CN110286846A (zh) * 2018-03-19 2019-09-27 深圳大心电子科技有限公司 数据移动方法及储存控制器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222179A (ja) * 1999-01-26 2000-08-11 Dell Usa Lp コンピュ―タシステムおよびコンピュ―タシステムを動作させる方法
CN102520885A (zh) * 2011-12-15 2012-06-27 清华大学 一种混合硬盘的数据管理***
CN102880553A (zh) * 2012-09-18 2013-01-16 武汉虹信通信技术有限责任公司 一种基于mcu的片外flash文件***的读写方法
CN103488583A (zh) * 2013-09-09 2014-01-01 华中科技大学 一种高性能高可靠的固态盘实现方法
CN105335100A (zh) * 2015-09-29 2016-02-17 华为技术有限公司 一种数据处理方法、装置及闪存设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000222179A (ja) * 1999-01-26 2000-08-11 Dell Usa Lp コンピュ―タシステムおよびコンピュ―タシステムを動作させる方法
CN102520885A (zh) * 2011-12-15 2012-06-27 清华大学 一种混合硬盘的数据管理***
CN102880553A (zh) * 2012-09-18 2013-01-16 武汉虹信通信技术有限责任公司 一种基于mcu的片外flash文件***的读写方法
CN103488583A (zh) * 2013-09-09 2014-01-01 华中科技大学 一种高性能高可靠的固态盘实现方法
CN105335100A (zh) * 2015-09-29 2016-02-17 华为技术有限公司 一种数据处理方法、装置及闪存设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144399A (zh) * 2017-06-16 2019-01-04 杭州海康威视数字技术股份有限公司 一种数据存储方法、装置及电子设备
CN109144399B (zh) * 2017-06-16 2021-12-17 杭州海康威视数字技术股份有限公司 一种数据存储方法、装置及电子设备
CN107844432A (zh) * 2017-11-22 2018-03-27 深圳忆联信息***有限公司 一种固态硬盘动态垃圾回收的方法及固态硬盘
CN108572797A (zh) * 2018-03-07 2018-09-25 深圳忆联信息***有限公司 一种固态硬盘读性能加速方法
CN110286846A (zh) * 2018-03-19 2019-09-27 深圳大心电子科技有限公司 数据移动方法及储存控制器
CN110286846B (zh) * 2018-03-19 2023-03-14 深圳大心电子科技有限公司 数据移动方法及储存控制器

Also Published As

Publication number Publication date
CN106502586B (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
CN106502586A (zh) 一种提高固态硬盘顺序读性能的方法
CN106681934B (zh) 一种存储设备垃圾回收的方法及设备
CN102622309B (zh) 数据安全擦除方法及装置
CN101727295B (zh) 一种基于虚拟块闪存地址映射的数据写入及读出方法
CN106776362B (zh) 存储器的控制方法及装置
US8433844B2 (en) Method for managing a memory device having multiple channels and multiple ways, and associated memory device and controller thereof
CN103577342B (zh) 管理闪存中所储存的数据的方法及相关记忆装置与控制器
CN106502587B (zh) 硬盘数据管理方法和硬盘控制装置
CN103608866A (zh) 用于闪存存储器的数据擦除方法及装置
CN108595110B (zh) 一种利用Nand特性提高读性能的方法及固态硬盘
CN107608625B (zh) 一种提升固存储设备读性能的方法
CN102819496A (zh) 闪存ftl的地址转换方法
JP2010531494A (ja) マルチチャンネル非揮発性固体記憶装置に基づくロジック・ストリップの制御方法
KR101374065B1 (ko) 칩 레벨 평행 플래시 메모리를 위한 정보 분별 방법 및 장치
CN104065906B (zh) 数字录像设备的录像方法及装置
CN109240939B (zh) 一种快速处理固态硬盘trim的方法
CN103955433A (zh) 盖瓦磁记录硬盘、盖瓦磁记录硬盘写数据的方法及装置
CN103970669A (zh) 用于加速在固态设备中的回收操作的物理到逻辑地址映射
CN103310842A (zh) 烧录***及烧录方法
JP4921174B2 (ja) フラッシュメモリのデータ書込み方法
US9361937B2 (en) Shingled magnetic recording data store
CN102792319B (zh) 数据记录装置、以及数据记录方法
CN105955669A (zh) 一种提升固态硬盘写性能的方法
CN109597570B (zh) 高速处理闪存的方法及基于该方法的设备和可读存储介质
CN101894077B (zh) 一种数据存储方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant