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

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

Info

Publication number
CN106502586B
CN106502586B CN201610900925.0A CN201610900925A CN106502586B CN 106502586 B CN106502586 B CN 106502586B CN 201610900925 A CN201610900925 A CN 201610900925A CN 106502586 B CN106502586 B CN 106502586B
Authority
CN
China
Prior art keywords
data
hard disk
solid state
state hard
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.)
Active
Application number
CN201610900925.0A
Other languages
English (en)
Other versions
CN106502586A (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.)
Memory Technology (shenzhen) Co Ltd
Original Assignee
Memory 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 Memory Technology (shenzhen) Co Ltd filed Critical Memory 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]

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 CN106502586A (zh) 2017-03-15
CN106502586B true 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)

Families Citing this family (4)

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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880553A (zh) * 2012-09-18 2013-01-16 武汉虹信通信技术有限责任公司 一种基于mcu的片外flash文件系统的读写方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298427B1 (en) * 1999-01-26 2001-10-02 Dell Usa, L.P. Method and apparatus for mapping hard disk partitions and block devices to logical drives in a computer system
CN102520885B (zh) * 2011-12-15 2015-04-15 清华大学 一种混合硬盘的数据管理系统
CN103488583B (zh) * 2013-09-09 2016-08-10 华中科技大学 一种高性能高可靠的固态盘实现方法
CN106484331B (zh) * 2015-09-29 2019-04-12 华为技术有限公司 一种数据处理方法、装置及闪存设备

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880553A (zh) * 2012-09-18 2013-01-16 武汉虹信通信技术有限责任公司 一种基于mcu的片外flash文件系统的读写方法

Also Published As

Publication number Publication date
CN106502586A (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
CN106502586B (zh) 一种提高固态硬盘顺序读性能的方法
CN100543876C (zh) 存取存储器的方法
CN103577342B (zh) 管理闪存中所储存的数据的方法及相关记忆装置与控制器
CN105988718B (zh) 非挥发性储存装置与控制器进行的控制方法
US9292432B2 (en) Garbage collection method for flash memory
US8433844B2 (en) Method for managing a memory device having multiple channels and multiple ways, and associated memory device and controller thereof
US8996791B2 (en) Flash memory device, memory control device, memory control method, and storage system
TWI409819B (zh) 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
JP2012190532A (ja) 方法、装置および記憶装置
CN104699622B (zh) 数据储存装置以及其数据抹除方法
JP2008529130A5 (zh)
US8892812B2 (en) Flash memory device and data writing method for a flash memory
CN103608866A (zh) 用于闪存存储器的数据擦除方法及装置
CN109977034A (zh) 数据储存装置以及非挥发式存储器操作方法
CN102622310A (zh) 无效数据擦除方法、装置及系统
CN103955433A (zh) 盖瓦磁记录硬盘、盖瓦磁记录硬盘写数据的方法及装置
CN108804019A (zh) 一种数据存储方法及装置
JP4921174B2 (ja) フラッシュメモリのデータ書込み方法
US8572307B2 (en) Memory controller, memory card, and nonvolatile memory system
CN105988950B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN103092849A (zh) 文件系统簇管理方法
CN112445429A (zh) 固态硬盘物理块的管理方法及系统
CN103700401A (zh) 快闪存储器编程及读取的方法
CN101894077B (zh) 一种数据存储方法及系统
CN105955669A (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