CN107291631A - 一种提高固态硬盘中多流读出时性能的方法 - Google Patents

一种提高固态硬盘中多流读出时性能的方法 Download PDF

Info

Publication number
CN107291631A
CN107291631A CN201710371733.XA CN201710371733A CN107291631A CN 107291631 A CN107291631 A CN 107291631A CN 201710371733 A CN201710371733 A CN 201710371733A CN 107291631 A CN107291631 A CN 107291631A
Authority
CN
China
Prior art keywords
stream
order
sequence command
solid state
hard disc
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
CN201710371733.XA
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 CN201710371733.XA priority Critical patent/CN107291631A/zh
Publication of CN107291631A publication Critical patent/CN107291631A/zh
Pending legal-status Critical Current

Links

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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种提高固态硬盘中多流读出时性能的方法,其特征在于在固态硬盘中增加了命令分离模块,命令分离模块初始时缓存一段时间内接收到的多条读流命令,将逻辑地址相邻的读流命令分离为同一顺序命令流,并记录顺序命令流的地址信息;命令分离模块后续新接收到读命令时,先根据读地址信息判定是属于已有的顺序命令流,如果是则加入对应的顺序命令流,如果否则重新建立一个新的顺序命令流。通过对混合命令流进行分离,将临近一段时间内的读指令按照逻辑地址关系恢复为多个顺序流,尽可能利用固态硬盘的预读机制,实现提升主机混合下发顺序流的性能。

Description

一种提高固态硬盘中多流读出时性能的方法
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种提高固态硬盘中多流读出时性能的方法。
背景技术
所谓预读机制指的是SSD检测到主机发起顺序读取流(顺序读取流由多个顺序读命令构成)时,在空闲期或前一读指令执行后自发先将后续的数据从Nand Flash预读到DRAM,待主机命令下发后直接从DRAM传输数据至主机,性能会大大提升。
主机一般都支持多任务系统,多任务存在同时访问固态硬盘的情况,当然也存在同一任务中交叉着多个对固态硬盘的访问。可能从单个应用或任务单独访问时为顺序读取指令,但混合在一起下发到固态硬盘。使得原本是多条顺序读取指令的混合在一起发往SSD后,SSD端接受到的将是一条乱序的读取流,图1是主机乱序下发命令示意图,假设主机准备下发两条顺序读取流,顺序流1为cmd0~5,这些命令的逻辑块地址LBA(Logical BlockAddress)是连续的;顺序流2为cmd6~11,这些命令的LBA也是连续的,主机将这两条流混合下发至SSD,SSD接收到将是一条乱序流:cmd0,cmd6,cmd1,cmd7,cmd2,cmd8,cmd3,cmd9,cmd4,cmd10,cmd5,cmd11。SSD现有技术中乱序的读取流,无法启用预读机制,所以每个读命令的数据都将从Nand Flash上读取,性能不高。
发明内容
针对以上缺陷,本发明目的是如何针对主机乱序下发指令的情况,提高固态硬盘预读机制触发频率。
为了解决以上问题本发明提出了一种提高固态硬盘中多流读出时性能的方法,其特征在于在固态硬盘的固件中增加了命令分离模块,命令分离模块初始时缓存一段时间内接收到的多条读流命令,将逻辑地址相邻的读流命令分离为同一顺序命令流,并记录顺序命令流的地址信息;命令分离模块后续新接收到读命令时,先根据读地址信息判定是属于已有的顺序命令流,如果是则加入对应的顺序命令流,如果否则重新建立一个新的顺序命令流。
所述的提高固态硬盘中多流读出时性能的方法,其特征在于命令分离模块中还包括回收模块,所述回收模块通过定期或者外部触发扫描已存在的顺序命令流,当顺序命令流超过预先设定的时间不存在更新时,则将删除对应的顺序命令流。
所述的提高固态硬盘中多流读出时性能的方法,其特征在于命令分离模块分离出的任意一个顺序命令流的命令数超过20~40个,优选30个时,则触发该顺序命令流的预读操作。
本发明通过对混合命令流进行分离,将临近一段时间内的读指令按照逻辑地址关系恢复为多个顺序流,尽可能利用固态硬盘的预读机制,实现提升主机混合下发顺序流的性能。
附图说明
图1是主机乱序下发命令示意图;
图2是分离后的主机乱序下发命令示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对主机乱序下发命令的情况,在固态硬盘的固件中增加了命令分离模块,命令分离模块初始时缓存一段时间内接收到的多条读流命令,将逻辑地址相邻的读流命令分离为同一顺序命令流,并记录顺序命令流的地址信息;命令分离模块后续新接收到读命令时,先根据读地址信息判定是属于已有的顺序命令流,如果是则加入对应的顺序命令流,如果否则重新建立一个新的顺序命令流。
图2是分离后的主机乱序下发命令示意图。同样以图1中的混合流为例,新增了由命令分离模块。
cmd0穿过命令分离模块时,命令分离模块为该命令形成顺序流1,该顺序流的最新LBA信息为cmd0的LBA信息。
cmd6穿过命令分离模块时,发现cmd6与存在的顺序流1不存在顺序关系,那么命令分离模块为cmd6形成顺序流2,该流的最新LBA信息为cmd6的LBA信息。
cmd1穿过命令分离模块时发现cmd1的LBA信息与流1的LBA信息形成顺序关系,那么则认为cmd1属于顺序流1,并用cmd1的LBA更新顺序流1的LBA信息。
以此类推,当cmd11穿过命令分离模块后,就分离(识别)出了主机的两条顺序流,SSD将对两条流分别启用预读机制,总体提升主机混合下发顺序流的性能。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。

Claims (3)

1.一种提高固态硬盘中多流读出时性能的方法,其特征在于在固态硬盘的固件中增加了命令分离模块,命令分离模块初始时缓存一段时间内接收到的多条读流命令,将逻辑地址相邻的读流命令分离为同一顺序命令流,并记录顺序命令流的地址信息;命令分离模块后续新接收到读命令时,先根据读地址信息判定是否属于已有的顺序命令流,如果是则加入对应的顺序命令流,如果否则重新建立一个新的顺序命令流。
2.根据权利要求1所述的提高固态硬盘中多流读出时性能的方法,其特征在于命令分离模块中还包括回收模块,所述回收模块通过定期或者外部触发扫描已存在的顺序命令流,当顺序命令流超过预先设定的时间不存在更新时,则将删除对应的顺序命令流。
3.根据权利要求1或2所述的提高固态硬盘中多流读出时性能的方法,其特征在于命令分离模块分离出的任意一个顺序命令流的命令数超过20~40个,优选30个时,则触发该顺序命令流的预读操作。
CN201710371733.XA 2017-05-24 2017-05-24 一种提高固态硬盘中多流读出时性能的方法 Pending CN107291631A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710371733.XA CN107291631A (zh) 2017-05-24 2017-05-24 一种提高固态硬盘中多流读出时性能的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710371733.XA CN107291631A (zh) 2017-05-24 2017-05-24 一种提高固态硬盘中多流读出时性能的方法

Publications (1)

Publication Number Publication Date
CN107291631A true CN107291631A (zh) 2017-10-24

Family

ID=60094688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710371733.XA Pending CN107291631A (zh) 2017-05-24 2017-05-24 一种提高固态硬盘中多流读出时性能的方法

Country Status (1)

Country Link
CN (1) CN107291631A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241471A (zh) * 2017-11-29 2018-07-03 深圳忆联信息系统有限公司 一种提升固态硬盘性能的方法
CN112084121A (zh) * 2020-09-11 2020-12-15 深圳佰维存储科技股份有限公司 硬盘预读方法、装置、计算机可读存储介质及电子设备
CN117032595A (zh) * 2023-10-09 2023-11-10 北京忆恒创源科技股份有限公司 顺序流检测方法及存储设备
CN112084121B (zh) * 2020-09-11 2024-06-11 深圳佰维存储科技股份有限公司 硬盘预读方法、装置、计算机可读存储介质及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298508A (zh) * 2011-09-07 2011-12-28 记忆科技(深圳)有限公司 基于流的固态硬盘预读取的方法及装置
CN102591686A (zh) * 2011-12-30 2012-07-18 记忆科技(深圳)有限公司 基于固态硬盘的系统启动方法及固态硬盘
US9292218B2 (en) * 2010-02-17 2016-03-22 Hitachi, Ltd. Method and apparatus to manage object based tier
CN106250067A (zh) * 2016-09-28 2016-12-21 深圳市金泰克半导体有限公司 一种基于数据特征的固态硬盘ssd加速系统的实现方法
CN106339326A (zh) * 2016-08-26 2017-01-18 记忆科技(深圳)有限公司 一种提升固态硬盘顺序读性能的方法
CN106557264A (zh) * 2015-09-25 2017-04-05 伊姆西公司 针对固态硬盘的存储方法及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292218B2 (en) * 2010-02-17 2016-03-22 Hitachi, Ltd. Method and apparatus to manage object based tier
CN102298508A (zh) * 2011-09-07 2011-12-28 记忆科技(深圳)有限公司 基于流的固态硬盘预读取的方法及装置
CN102591686A (zh) * 2011-12-30 2012-07-18 记忆科技(深圳)有限公司 基于固态硬盘的系统启动方法及固态硬盘
CN106557264A (zh) * 2015-09-25 2017-04-05 伊姆西公司 针对固态硬盘的存储方法及设备
CN106339326A (zh) * 2016-08-26 2017-01-18 记忆科技(深圳)有限公司 一种提升固态硬盘顺序读性能的方法
CN106250067A (zh) * 2016-09-28 2016-12-21 深圳市金泰克半导体有限公司 一种基于数据特征的固态硬盘ssd加速系统的实现方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241471A (zh) * 2017-11-29 2018-07-03 深圳忆联信息系统有限公司 一种提升固态硬盘性能的方法
CN112084121A (zh) * 2020-09-11 2020-12-15 深圳佰维存储科技股份有限公司 硬盘预读方法、装置、计算机可读存储介质及电子设备
CN112084121B (zh) * 2020-09-11 2024-06-11 深圳佰维存储科技股份有限公司 硬盘预读方法、装置、计算机可读存储介质及电子设备
CN117032595A (zh) * 2023-10-09 2023-11-10 北京忆恒创源科技股份有限公司 顺序流检测方法及存储设备
CN117032595B (zh) * 2023-10-09 2024-01-23 北京忆恒创源科技股份有限公司 顺序流检测方法及存储设备

Similar Documents

Publication Publication Date Title
CN101627373B (zh) 通过预擦除机制的存储器设备性能增强
US9635123B2 (en) Computer system, and arrangement of data control method
US20180173620A1 (en) Data erasure method for solid state drive, and apparatus
US9003135B2 (en) Efficient allocation and reclamation of thin-provisioned storage
US20120254524A1 (en) Memory device and host device
CN109582227B (zh) 固态硬盘写入方法、装置、计算机设备和存储介质
US20140189202A1 (en) Storage apparatus and storage apparatus control method
WO2016175028A1 (ja) 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム
US20160162187A1 (en) Storage System And Method For Processing Writing Data Of Storage System
US20120254513A1 (en) Storage system and data control method therefor
CN102541470B (zh) 数据对象的处理方法及装置
US20140317341A1 (en) System and apparatus for flash memory data management
US20140095773A1 (en) Solid state memory device logical and physical partitioning
CN104808951A (zh) 进行存储控制的方法和设备
KR101826047B1 (ko) 저장 장치 및 그 구동 방법
CN108475230B (zh) 一种存储系统和系统垃圾回收方法
WO2020172821A1 (zh) 固态硬盘写放大优化方法
CN106919471A (zh) 用于快照建立的方法和系统
CN107291631A (zh) 一种提高固态硬盘中多流读出时性能的方法
US20170123975A1 (en) Centralized distributed systems and methods for managing operations
CN102566939A (zh) 一种固态硬盘及其读-修改-写操作的数据管理方法
CN104834478B (zh) 一种基于异构混合存储设备的数据写入及读取方法
CN102654870A (zh) 一种基于fat32文件系统格式下的数据保护方法
CN101894077B (zh) 一种数据存储方法及系统
CN104462181A (zh) 一种ssd后端数据通路管理加速模块及ssd设备

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: 20171024