CN106681663A - 一种固态硬盘多流写入的方法 - Google Patents
一种固态硬盘多流写入的方法 Download PDFInfo
- Publication number
- CN106681663A CN106681663A CN201611246462.7A CN201611246462A CN106681663A CN 106681663 A CN106681663 A CN 106681663A CN 201611246462 A CN201611246462 A CN 201611246462A CN 106681663 A CN106681663 A CN 106681663A
- Authority
- CN
- China
- Prior art keywords
- data
- write
- subregion
- solid state
- partition
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-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
本发明公开了一种固态硬盘多流写入的方法,其特征在于增加了数据流识别模块,将数据流分为多个顺序数据流和随机数据流,对应固态硬盘中开辟顺序数据写入分区和随机数据写入分区;数据流识别模块根据主机写入的数据的逻辑地址判断是否命中当前已开辟的顺序数据写入分区,如果存在则转入该顺序数据写入分区写入;否则通过随机数据写入分区写入;如果一段时间内当前已开辟的某个顺序数据写入分区都无数据命中,则销毁该顺序数据写入分区,将该数据写入分区释放为空闲写入分区。将顺序连续的逻辑地址的数据顺序写入到相同的物理块,尽可能避免出现跨度很大的逻辑地址的数据混合写入到相同的物理块上,有效降低了数据混合写入带来的写放大。
Description
技术领域
本发明涉及信息存储领域,尤其涉及一种固态硬盘多流写入的方法。
背景技术
SSD(固态硬盘)的存储结构为多个块Block构成,每个Block由多个页Page构成。Block是擦除操作的最小单元,Page为编程的最小单元。由于SSD的这些特性决定了SSD的寿命取决于擦除和写的次数;因此作为SSD关键指标之一:写放大,是影响产品寿命、性能的主要因素。该指标除了与静态的因素有关外,如厂商提供的额外空间,也与运行时刻动态的因素密切相关。因此,在实际系统行为下,如何针对主机负荷降低写放大,是SSD厂商重点考量的设计目标。
现有系统的应用中,主机中一般都是包括多个分区的应用,而不同的分区存在并行的操作FLASH的情况。图1是数据混合写入的示意图,假设支持两个分区并行操作,两个分区1和分区2并行写入数据,由于两个分区的数据交替进入,在实际写入数据时,在同一个Block中交替存在分区1和分区2的数据。而分区1和分区2的数据的有效时间不同,当其中一个分区数据发生失效或者需要改变时,两个分区的数据都会受到影响。比如发生失效需要数据回收时,有两种处理方法:将另一分区数据进行搬移,对该Block进行回收,这个必然会造成写放大;另一种处理是不处理,但这样会造成该无效数据存放的存储空间无法回收,造成空间浪费的问题。
发明内容
针对以上缺陷,本发明目的在于如何降低SSD的写放大,提高SSD的使用寿命和空间利用率。
为了实现上述目的,本发明提供了一种固态硬盘多流写入的方法,其特征在于增加了数据流识别模块,所述数据流识别模块动态根据主机访问固态硬盘数据流的逻辑地址将数据流分为多个顺序数据流和随机数据流,对应固态硬盘中在不同的通道中为每个顺序数据流开辟一个顺序数据写入分区,并单独设置一个通道为随机数据流开辟一个随机数据写入分区;数据流识别模块根据主机写入的数据的逻辑地址判断是否命中当前已开辟的顺序数据写入分区,如果存在则转入该顺序数据写入分区写入;否则通过随机数据写入分区写入;如果一段时间内当前已开辟的某个顺序数据写入分区都无数据命中,则销毁该顺序数据写入分区,将该数据写入分区释放为空闲写入分区。
所述的固态硬盘多流写入的方法,其特征在于当所述的随机数据写入分区上连续多个写入数据的逻辑地址为顺序连续地址,则将该随机数据写入分区转换为顺序数据写入分区,从空闲写入分区中分配一个为随机数据写入分区。
本发明通过识别主机写入的数据的逻辑地址,将顺序连续的逻辑地址的数据顺序写入到相同的物理块,尽可能避免出现跨度很大的逻辑地址的数据混合写入到相同的物理块上,有效降低了数据混合写入带来的写放大。
附图说明
图1是数据混合写入的示意图;
图2是增加数据流识别模块后的数据写入的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2是增加数据流识别模块后的数据写入的示意图,在系统中增加数据流识别模块后,数据流识别模块动态根据主机访问固态硬盘数据流的逻辑地址分离出多个顺序数据流Active Stream和随机数据流Random/Candidate Stream,对应固态硬盘中在不同的通道中为每个顺序数据流开辟一个顺序数据写入分区,并单独设置一个通道为随机数据流开辟一个随机数据写入分区;顺序数据流Active Stream携带期望的下一个数据写入的逻辑块地址lba信息以及该顺序数据流Active Stream覆盖的最大范围,当新命令进入了Stream识别模块时,会依次判断是否在该已存在的Active Stream的覆盖范围内,如果符合则则判定为命中当前已开辟的顺序数据写入分区,转入该顺序数据写入分区写入;如果都不在已有的顺序数据流的覆盖范围,则通过随机数据写入分区写入;如果一段时间内当前已开辟的某个顺序数据写入分区都无数据命中,则销毁该顺序数据写入分区,将该数据写入分区释放为空闲写入分区。
当所述的随机数据写入分区上连续多个写入数据的逻辑地址为顺序连续地址,则将该随机数据写入分区转换为顺序数据写入分区,从空闲写入分区中分配一个为随机数据写入分区。动态根据应用数据访问的数据流特性动态调整各个数据写入分区的类别,来适应数据流的特性,尽可能实现数据的顺序写入。保证不同应用的数据发生变化时,需要对该数据进行复写,不涉及到其它应用的数据,也就是不带来写放大。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (2)
1.一种固态硬盘多流写入的方法,其特征在于增加了数据流识别模块,所述数据流识别模块动态根据主机访问固态硬盘数据流的逻辑地址将数据流分为多个顺序数据流和随机数据流,对应固态硬盘中在不同的通道中为每个顺序数据流开辟一个顺序数据写入分区,并单独设置一个通道为随机数据流开辟一个随机数据写入分区;数据流识别模块根据主机写入的数据的逻辑地址判断是否命中当前已开辟的顺序数据写入分区,如果存在则转入该顺序数据写入分区写入;否则通过随机数据写入分区写入;如果一段时间内当前已开辟的某个顺序数据写入分区都无数据命中,则销毁该顺序数据写入分区,将该数据写入分区释放为空闲写入分区。
2.根据权利要求1所述的固态硬盘多流写入的方法,其特征在于当所述的随机数据写入分区上连续多个写入数据的逻辑地址为顺序连续地址,则将该随机数据写入分区转换为顺序数据写入分区,从空闲写入分区中分配一个为随机数据写入分区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611246462.7A CN106681663A (zh) | 2016-12-29 | 2016-12-29 | 一种固态硬盘多流写入的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611246462.7A CN106681663A (zh) | 2016-12-29 | 2016-12-29 | 一种固态硬盘多流写入的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106681663A true CN106681663A (zh) | 2017-05-17 |
Family
ID=58872026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611246462.7A Pending CN106681663A (zh) | 2016-12-29 | 2016-12-29 | 一种固态硬盘多流写入的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106681663A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241471A (zh) * | 2017-11-29 | 2018-07-03 | 深圳忆联信息系统有限公司 | 一种提升固态硬盘性能的方法 |
CN113138719A (zh) * | 2021-04-29 | 2021-07-20 | 山东华芯半导体有限公司 | 一种实现ssd快速随机写并避免写重复的方法 |
US11556249B2 (en) | 2020-09-01 | 2023-01-17 | Western Digital Technologies, Inc. | Delaying random data relocation for reducing write amplification in storage devices |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1208234A (zh) * | 1997-08-11 | 1999-02-17 | 三菱电机株式会社 | 单片时钟同步式存储器 |
CN102054533A (zh) * | 2009-10-27 | 2011-05-11 | 西部数据技术公司 | 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 |
CN102667736A (zh) * | 2010-01-27 | 2012-09-12 | 株式会社东芝 | 存储器管理装置及存储器管理方法 |
CN102687125A (zh) * | 2010-01-27 | 2012-09-19 | 株式会社东芝 | 存储器设备和主机设备 |
CN104679437A (zh) * | 2013-11-27 | 2015-06-03 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器储存装置 |
CN106201916A (zh) * | 2016-07-25 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 一种面向ssd的非易失缓存机制 |
-
2016
- 2016-12-29 CN CN201611246462.7A patent/CN106681663A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1208234A (zh) * | 1997-08-11 | 1999-02-17 | 三菱电机株式会社 | 单片时钟同步式存储器 |
CN102054533A (zh) * | 2009-10-27 | 2011-05-11 | 西部数据技术公司 | 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 |
CN102667736A (zh) * | 2010-01-27 | 2012-09-12 | 株式会社东芝 | 存储器管理装置及存储器管理方法 |
CN102687125A (zh) * | 2010-01-27 | 2012-09-19 | 株式会社东芝 | 存储器设备和主机设备 |
CN104679437A (zh) * | 2013-11-27 | 2015-06-03 | 群联电子股份有限公司 | 数据写入方法、存储器控制电路单元与存储器储存装置 |
CN106201916A (zh) * | 2016-07-25 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 一种面向ssd的非易失缓存机制 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241471A (zh) * | 2017-11-29 | 2018-07-03 | 深圳忆联信息系统有限公司 | 一种提升固态硬盘性能的方法 |
US11556249B2 (en) | 2020-09-01 | 2023-01-17 | Western Digital Technologies, Inc. | Delaying random data relocation for reducing write amplification in storage devices |
CN113138719A (zh) * | 2021-04-29 | 2021-07-20 | 山东华芯半导体有限公司 | 一种实现ssd快速随机写并避免写重复的方法 |
CN113138719B (zh) * | 2021-04-29 | 2022-11-01 | 山东华芯半导体有限公司 | 一种实现ssd快速随机写并避免写重复的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105589812B (zh) | 磁盘碎片整理方法、装置及主机 | |
US8312248B2 (en) | Methods and apparatus for reallocating addressable spaces within memory devices | |
CN100492322C (zh) | 非易失性存储系统中的损耗平衡 | |
CN101483067B (zh) | 快闪存储器数据写入方法及其快闪存储器控制器 | |
CN101169760B (zh) | 电子硬盘的存储空间的管理方法 | |
CN103902475B (zh) | 一种基于队列管理机制的固态硬盘并行访问方法及装置 | |
CN101236530A (zh) | 高速缓存替换策略的动态选择方法 | |
CN111324303B (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
CN106681663A (zh) | 一种固态硬盘多流写入的方法 | |
KR101403922B1 (ko) | 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법 | |
CN101339806A (zh) | 防止非易失性存储器中的数据丢失的设备和方法 | |
CN106776362A (zh) | 存储器的控制方法及装置 | |
CN101419573A (zh) | 一种存储管理的方法、系统和存储设备 | |
CN100433195C (zh) | 闪存介质数据写入方法 | |
CN117524279A (zh) | 具有虚拟体化架构的sram及包括其的系统和方法 | |
TW201734797A (zh) | 資料儲存裝置及其資料維護方法 | |
US20190347037A1 (en) | Data storage apparatus and system information programming method therefor | |
CN102789422B (zh) | 固态硬盘的数据写入方法 | |
CN101894077B (zh) | 一种数据存储方法及系统 | |
CN113900591A (zh) | 延长存储器寿命的方法、装置、电子设备及存储介质 | |
US11023170B2 (en) | Writing method for multi-stream write solid state drive | |
CN101364205A (zh) | 闪存储存系统 | |
CN107451069A (zh) | 基于预留空间的固态盘阵列的垃圾回收方法 | |
CN102160038A (zh) | 管理非易失性磁盘高速缓存的方法和设备 | |
CN105868046B (zh) | 存储装置中管理、写入及加载固件代码的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for 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: 20170517 |