CN108170380A - 一种固态硬盘提升顺序读性能的方法及固态硬盘 - Google Patents
一种固态硬盘提升顺序读性能的方法及固态硬盘 Download PDFInfo
- Publication number
- CN108170380A CN108170380A CN201711461395.5A CN201711461395A CN108170380A CN 108170380 A CN108170380 A CN 108170380A CN 201711461395 A CN201711461395 A CN 201711461395A CN 108170380 A CN108170380 A CN 108170380A
- Authority
- CN
- China
- Prior art keywords
- concatenation unit
- read command
- sequence
- solid state
- read
- 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
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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- 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/061—Improving I/O performance
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)
- Read Only Memory (AREA)
Abstract
本发明公开了一种固态硬盘提升顺序读性能的方法及固态硬盘,其特征在于在读操作中增加一个拼接单元和命令判断模块,所述命令判断模块根据输入的读命令的逻辑地址是否连续判断一定间隔内的命令是否属于顺序读命令,如果是则将当前的顺序读请求加入拼接单元,将读命令按照写入的规则进行拼接,完成拼接后实现同一个拼接单元的读命令按并行读取的方式访问存储单元。简单的根据读命令的逻辑地址是否连续判定是否为顺序读命令,通过增加的拼接单元,将读命令按照写入的规则进行拼接,实现多个命令并行的读取操作,有效地提升了顺序读性能。
Description
技术领域
本发明涉及固态硬盘控制技术,特别涉及一种固态硬盘提升顺序读性能的方法及固态硬盘。
背景技术
图1是Nand Flash的内部组成示意图:通道Die,可独立并发操作的单元;块Block,擦除的单元;页Page,读写的单元。
图2是每个Die的内部组织结构图。平面Plane 0和平面Plane 1的Block组织在一起进行并行操作即为Multi_Plane操作,Multi_Plane操作能有效提升Nand Flash的利用率,其要求是Block组属于不同的Plane,且操作的Page需一致(Erase除外)。以Read为例,读取Block 0和Block 1的Page 0,如果是非Multi_Plane操作,则需要两个读时钟tR,如果是Multi_Plane操作,则仅需要一个读时钟tR。。
发明内容
针对以上缺陷,本发明目的是如何提高顺序读可并行操作的概率,整体上提高固体硬盘的性能。
为了解决以上问题本发明提出了一种固态硬盘提升顺序读性能的方法,其特征在于在读操作中增加一个拼接单元和命令判断模块,所述命令判断模块根据输入的读命令的逻辑地址是否连续判断一定间隔内的命令是否属于顺序读命令,如果是则将当前的顺序读请求加入拼接单元,将读命令按照写入的规则进行拼接,完成拼接后实现同一个拼接单元的读命令按并行读取的方式访问存储单元。
所述的固态硬盘提升顺序读性能的方法,其特征在于新产生的顺序读命令在加入拼接单元前先判断新的顺序读命令是否与已有的拼接单元符合拼接规则,如果是则直接加入拼接单元,如果不是则将已有拼接单元刷新执行,并生成新的拼接单元,将顺序读命令加入新的拼接单元。
所述的固态硬盘提升顺序读性能的方法,其特征在于还包括超时触发模块,当一个拼接单元超过预先设定的时间没有新的读命令加入拼接单元,则将已有拼接单元刷新执行。
一种固态硬盘,其特征在于在读操作中增加一个拼接单元和命令判断模块,所述命令判断模块根据输入的读命令的逻辑地址是否连续判断一定间隔内的命令是否属于顺序读命令,如果是则将当前的顺序读请求加入拼接单元,完成拼接后实现同一个拼接单元的读命令按并行读取的方式访问存储单元。
所述的固态硬盘,其特征在于新产生的顺序读命令在加入拼接单元前先判断新的顺序读命令是否与已有的拼接单元符合拼接规则,如果是则直接加入拼接单元,如果不是则将已有拼接单元刷新执行,并生成新的拼接单元,将顺序读命令加入新的拼接单元。
所述的固态硬盘,其特征在于还包括超时触发模块,当一个拼接单元超过预先设定的时间没有新的读命令加入拼接单元,则将已有拼接单元刷新执行。
本发明的有益效果是:简单的根据读命令的逻辑地址是否连续判定是否为顺序读命令,通过增加的拼接单元,将读命令按照写入的规则进行拼接,实现多个命令并行的读取操作,有效地提升了顺序读性能。
附图说明
图1是Nand Flash内部组成示意图;
图2是每个Die内部组织结构示意图;
图3是连续LPA的写入地址分配规则示意图;
图4是任务驱动时的执行流程图;
图5是超时机制触发的执行流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
具体实现以前文所述的技术要点的顺序展开。
顺序读场景中,读请求的逻辑地址LPA是连续的,且读请求的量级比较大,被读取数据在Nand Flash上的源地址与这些数据的写入分配规则相关图3是连续LPA的写入地址分配规则示意图,能简单表示写入分配规则产生的效果,这种写入分配规则在顺序读场景时能最大机率触发并行读操作Multi_Plane Read。LPA 0-LPA 7分散到Block n和Block m同一个索引Index的Page,Block n和Block m属于一个Die下两个不同的Plane,符合并行Multi_Plane规则,可使得LPA 0-LPA 7的读取可以通过Nand Flash端的并行读操作Multi_Plane Read来实现。
对于如何识别出顺序读请求,本专利的做法是固件***判断读请求的LPA ID,如果连续的LPA达到一定的数量,则认定当前是***处于顺序读场景,且将这些及后续的连续LPA的读请求标记为顺序读。
顺序读场景中,拼接机制执行(专指拼接成Multi_Plane操作)流程如图4和图5所示。图4是任务驱动时的执行流程图;图5是超时机制触发的执行流程图。任务驱动和超时机制相配合,任务驱动的拼接机制流程执行依赖输入的请求。首先解析请求、并根据请求类型作判断,如果当前请求是顺序读请求,则依据当前是否存在拼接单元以继续流程。当***中存在拼接单元时,表明前面的顺序读请求新生成或者集合成了拼接单元,此时输入的顺序读请求根据是否符合拼接单元的Multi_Plane规则来确定是否加入此拼接单元。若不符合拼接单元的Multi_Plane拼接规则,则刷新当前的拼接单元(即让Nand Flash端执行此拼接单元对应的Multi_Plane Read操作),同时输入的顺序读请求新生成对应的拼接单元。每当当前的顺序读请求加入拼接单元后,***进行拼接单元的检查,确认更新后的拼接单元是否已经达到此拼接单元的最大容纳能力。举例说明,LPA 0-LPA 7的顺序读场景,LPA 0的读请求新生成Page 0的Multi_Plane拼接单元,LPA 1-LPA 7的读请求与Page 0拼接单元符合Multi_Plane规则,加入拼接单元中,当LPA7加入拼接单元集合中后,此时拼接单元包含LPA0-LPA 7的读请求,拼接单元的检查发现已经达到最大容纳能力(图3中可看出Block n、Block m Page 0的Multi_Plane Read最大的LPA ID只能支持到LPA 7),随后进行拼接单元的刷新动作。
超时机制能增加顺序读请求时间量上的弹性,避免拼接单元的长时间等待,同时也能避免请求的延时引起的拼接单元未组成Multi_Plane操作而被刷新执行。考虑没有超时机制控制的顺序读场景,本模块一次性接收到LPA 0–LPA 3的顺序读请求并集合成一个拼接单元(一次性只接收到LPA 0-LPA 3的读请求而非一次性接收到LPA 0-LPA 7的读请求的原因在于模块的调度策略和请求的饱和程度),存在两种对拼接单元处理的可能策略:①立即刷新,接收到最后一个顺序读请求后刷新拼接单元,即接收到最后一个LPA 3顺序读请求后刷新拼接单元,此时拼接单元实际上只有Block n Page 0的Signle_Plane Read;②一直等到下一个请求驱动拼接单元的刷新(请求与拼接单元不符合Multi_Plane拼接规则)或者更新(顺序读请求加入拼接单元),即接收到最后一个LPA 3顺序读请求后,等待时间未知。当采用策略①时,有可能下一批LPA 4-LPA 7的顺序读请求随后就到,本来可以进行Block n、Block m Page 0的Multi_Plane Read被分解成Block 0Page 0的Signle_PlaneRead和Block m Page 0的Signle_Plane Read,同样的LPA 0-LPA 7的读,Nand Flash端的执行时间被延长。当采用策略②后,由于等待时间未知,本可以在等待的这段时间内完成的LPA 0-LPA 3读请求一直在等待,严重浪费性能。本专利引入超时机制控制,在新生成的拼接单元的同时记录其时间点,当当前拼接单元等待超过一定的时间立即刷新执行。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (6)
1.一种固态硬盘提升顺序读性能的方法,其特征在于在读操作中增加一个拼接单元和命令判断模块,所述命令判断模块根据输入的读命令的逻辑地址是否连续判断一定间隔内的命令是否属于顺序读命令,如果是则将当前的顺序读请求加入拼接单元,将读命令按照写入的规则进行拼接,完成拼接后实现同一个拼接单元的读命令按并行读取的方式访问存储单元。
2.根据权利要求1所述的固态硬盘提升顺序读性能的方法,其特征在于新产生的顺序读命令在加入拼接单元前先判断新的顺序读命令是否与已有的拼接单元符合拼接规则,如果是则直接加入拼接单元,如果不是则将已有拼接单元刷新执行,并生成新的拼接单元,将顺序读命令加入新的拼接单元。
3.根据权利要求1所述的固态硬盘提升顺序读性能的方法,其特征在于还包括超时触发模块,当一个拼接单元超过预先设定的时间没有新的读命令加入拼接单元,则将已有拼接单元刷新执行。
4.一种固态硬盘,其特征在于在读操作中增加一个拼接单元和命令判断模块,所述命令判断模块根据输入的读命令的逻辑地址是否连续判断一定间隔内的命令是否属于顺序读命令,如果是则将当前的顺序读请求加入拼接单元,将读命令按照写入的规则进行拼接,完成拼接后实现同一个拼接单元的读命令按并行读取的方式访问存储单元。
5.根据权利要求4所述的固态硬盘,其特征在于新产生的顺序读命令在加入拼接单元前先判断新的顺序读命令是否与已有的拼接单元符合拼接规则,如果是则直接加入拼接单元,如果不是则将已有拼接单元刷新执行,并生成新的拼接单元,将顺序读命令加入新的拼接单元。
6.根据权利要求4所述的固态硬盘,其特征在于还包括超时触发模块,当一个拼接单元超过预先设定的时间没有新的读命令加入拼接单元,则将已有拼接单元刷新执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711461395.5A CN108170380B (zh) | 2017-12-28 | 2017-12-28 | 一种固态硬盘提升顺序读性能的方法及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711461395.5A CN108170380B (zh) | 2017-12-28 | 2017-12-28 | 一种固态硬盘提升顺序读性能的方法及固态硬盘 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108170380A true CN108170380A (zh) | 2018-06-15 |
CN108170380B CN108170380B (zh) | 2021-02-05 |
Family
ID=62519254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711461395.5A Active CN108170380B (zh) | 2017-12-28 | 2017-12-28 | 一种固态硬盘提升顺序读性能的方法及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108170380B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271107A (zh) * | 2018-09-01 | 2019-01-25 | 苏州韦科韬信息技术有限公司 | 一种提升固态硬盘顺序读性能的方法 |
CN110990301A (zh) * | 2019-11-15 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 多plane存储介质的顺序读方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
CN103562895A (zh) * | 2011-06-01 | 2014-02-05 | 国际商业机器公司 | 通过选择性聚合相邻数据单元来便于路由 |
US9229854B1 (en) * | 2013-01-28 | 2016-01-05 | Radian Memory Systems, LLC | Multi-array operation support and related devices, systems and software |
US20160283111A1 (en) * | 2015-03-26 | 2016-09-29 | Intel Corporation | Read operations in memory devices |
CN106339326A (zh) * | 2016-08-26 | 2017-01-18 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘顺序读性能的方法 |
CN107273304A (zh) * | 2017-05-24 | 2017-10-20 | 记忆科技(深圳)有限公司 | 一种提高固态硬盘顺序读性能的方法及固态硬盘 |
-
2017
- 2017-12-28 CN CN201711461395.5A patent/CN108170380B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
CN103562895A (zh) * | 2011-06-01 | 2014-02-05 | 国际商业机器公司 | 通过选择性聚合相邻数据单元来便于路由 |
US9229854B1 (en) * | 2013-01-28 | 2016-01-05 | Radian Memory Systems, LLC | Multi-array operation support and related devices, systems and software |
US20160283111A1 (en) * | 2015-03-26 | 2016-09-29 | Intel Corporation | Read operations in memory devices |
CN106339326A (zh) * | 2016-08-26 | 2017-01-18 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘顺序读性能的方法 |
CN107273304A (zh) * | 2017-05-24 | 2017-10-20 | 记忆科技(深圳)有限公司 | 一种提高固态硬盘顺序读性能的方法及固态硬盘 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271107A (zh) * | 2018-09-01 | 2019-01-25 | 苏州韦科韬信息技术有限公司 | 一种提升固态硬盘顺序读性能的方法 |
WO2020042388A1 (zh) * | 2018-09-01 | 2020-03-05 | 苏州韦科韬信息技术有限公司 | 一种提升固态硬盘顺序读性能的方法 |
CN110990301A (zh) * | 2019-11-15 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 多plane存储介质的顺序读方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108170380B (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515859B (zh) | 一种固态硬盘读写请求并行处理方法 | |
US10049040B2 (en) | Just in time garbage collection | |
CN109388590B (zh) | 提升多通道dma访问性能的动态缓存块管理方法和装置 | |
CN108733578A (zh) | 快闪存储器的垃圾回收断电回复方法及使用该方法的装置 | |
CN101740102B (zh) | 一种多通道闪存芯片阵列结构及其写入和读出方法 | |
CN104461936A (zh) | 缓存数据的刷盘方法及装置 | |
CN106951488B (zh) | 一种日志记录方法和装置 | |
US8996794B2 (en) | Flash memory controller | |
CN109582227A (zh) | 固态硬盘写入方法、装置、计算机设备和存储介质 | |
CN106201355A (zh) | 数据处理方法和装置以及存储*** | |
CN109814811B (zh) | 一种减小NVMe SSD响应延迟影响高速数据存储设备写入速度的方法 | |
CN106557442B (zh) | 一种芯片*** | |
CN105243033A (zh) | 数据处理方法及电子设备 | |
CN106909318A (zh) | 固态硬盘使用方法及装置 | |
CN111506269A (zh) | 一种磁盘存储空间分配方法、装置、设备及存储介质 | |
CN101799744A (zh) | 固态驱动器命令分组 | |
US20230394307A1 (en) | Data caching method and apparatus for multiple concurrent deep learning training tasks | |
CN108170380A (zh) | 一种固态硬盘提升顺序读性能的方法及固态硬盘 | |
CN109491592B (zh) | 存储设备及其数据写入方法、存储装置 | |
CN105955748A (zh) | 应用程序的返回场景处理方法及装置 | |
CN109144419A (zh) | 一种固态硬盘内存读写方法及*** | |
CN112068777A (zh) | 数据存储介质的管理方法、***、终端设备及存储介质 | |
CN108196954A (zh) | 一种文件读写方法、***、设备及计算机存储介质 | |
KR102408350B1 (ko) | 에너지 효율을 개선할 수 있는 그래픽 처리 장치를 위한 메모리 컨트롤러 및 이의 메모리 제어 방법 | |
CN112650449A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |