CN114153398A - 固态硬盘性能优化方法、装置、计算机设备及存储介质 - Google Patents
固态硬盘性能优化方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114153398A CN114153398A CN202111483566.0A CN202111483566A CN114153398A CN 114153398 A CN114153398 A CN 114153398A CN 202111483566 A CN202111483566 A CN 202111483566A CN 114153398 A CN114153398 A CN 114153398A
- Authority
- CN
- China
- Prior art keywords
- programming
- physical
- solid state
- rate
- state disk
- 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
- 239000007787 solid Substances 0.000 title claims abstract description 73
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000005457 optimization Methods 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004519 manufacturing process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请涉及一种固态硬盘性能优化方法、装置、计算机设备及存储介质,其中该方法包括:获取固态硬盘性能优化请求;根据所述固态硬盘性能优化请求通过扫描物理块和物理页的编程速率建立编程速率表;所述固态硬盘上电后加载所述编程速率表;在主机写入数据时根据所述编程速率表跳过编程速率慢的物理块和物理页,优先使用编程速率快的物理块和物理页。本发明针对NAND物理块/页编程速率波动的特征,在量产时扫描各个物理块/页的编程参数形成编程速率表,进而在运行时刻针对主机的写入选用较高速率的物理块/页,从而保证了主机写入的性能。
Description
技术领域
本发明涉及存储系统技术领域,特别是涉及一种固态硬盘性能优化方法、装置、计算机设备及存储介质。
背景技术
随着固态硬盘技术的发展,SSD(Solid State Disk,固态硬盘)已经被广泛应用于各种场合,在PC市场已经逐步替代传统的HDD(Hard Disk Drive,硬盘驱动器),从可靠性和性能方面为用户提供较好的体验。
随着接口速率的提升,SSD的带宽越来越高,然而,与此同时随着NAND工艺的演进,其物理一致性存在较大的波动。典型地,某些NAND的物理页编程时间较大,当主机数据写入对应的物理页时,则会性能较低,给以用户比较差的体验。而为了取得较好的一致性,传统的方法通常会在NAND或者SSD量产的时候进行筛选,将不满足要求的剔除出去,如此导致额外的测试成本,且生产的良率会大大降低,增加了成本。
发明内容
基于此,有必要针对上述技术问题,提供一种固态硬盘性能优化方法、装置、计算机设备及存储介质。
一种固态硬盘性能优化方法,所述方法包括:
获取固态硬盘性能优化请求;
根据所述固态硬盘性能优化请求通过扫描物理块和物理页的编程速率建立编程速率表;
所述固态硬盘上电后加载所述编程速率表;
在主机写入数据时根据所述编程速率表跳过编程速率慢的物理块和物理页,优先使用编程速率快的物理块和物理页。
在其中一个实施例中,所述根据所述固态硬盘性能优化请求通过扫描物理块和物理页的编程速率建立编程速率表的步骤还包括:
建立编程速率表,所述编程速率表中的字段包含DIE、Block、Page及速率;
根据固态硬盘的产品规格定义一个编程时间阈值;
对所述固态硬盘各个DIE的物理块和物理页进行编程并度量编程所需时间;
如果编程时间大于所述编程时间阈值,则在对应的编程速率表中标志对应DIE、Block、Page的速率字段为Slow;
如果编程时间小于等于所述编程时间阈值,则在对应的编程速率表中标志对应DIE、Block、Page的速率字段为Fast;
完成后将对应的编程速率表保存到固态硬盘中。
在其中一个实施例中,所述在主机写入数据时根据所述编程速率表跳过编程速率慢的物理块和物理页,优先使用编程速率快的物理块和物理页的步骤还包括:
在数据写入的过程中,根据写入的DIE以及物理块和物理页查询编程速率表;
判断对应的速率字段是否为Fast;
若对应的速率字段为Fast则写入数据到NAND。
在其中一个实施例中,在所述判断对应的速率字段是否为Fast的步骤之后还包括:
若对应的速率字段为Slow则跳过当前物理页,并根据写入顺序查找下一个Fast类型的物理块和物理页进行数据的写入。
一种固态硬盘性能优化装置,所述装置包括:
获取模块,所述获取模块用于获取固态硬盘性能优化请求;
速率表建立模块,所述速率表建立模块用于根据所述固态硬盘性能优化请求通过扫描物理块和物理页的编程速率建立编程速率表;
速率表加载模块,所述速率表加载模块用于所述固态硬盘上电后加载所述编程速率表;
数据写入模块,所述数据写入模块用于在主机写入数据时根据所述编程速率表跳过编程速率慢的物理块和物理页,优先使用编程速率快的物理块和物理页。
在其中一个实施例中,所述速率表建立模块还用于:
建立编程速率表,所述编程速率表中的字段包含DIE、Block、Page及速率;
根据固态硬盘的产品规格定义一个编程时间阈值;
对所述固态硬盘各个DIE的物理块和物理页进行编程并度量编程所需时间;
如果编程时间大于所述编程时间阈值,则在对应的编程速率表中标志对应DIE、Block、Page的速率字段为Slow;
如果编程时间小于等于所述编程时间阈值,则在对应的编程速率表中标志对应DIE、Block、Page的速率字段为Fast;
完成后将对应的编程速率表保存到固态硬盘中。
在其中一个实施例中,所述数据写入模块还用于:
在数据写入的过程中,根据写入的DIE以及物理块和物理页查询编程速率表;
判断对应的速率字段是否为Fast;
若对应的速率字段为Fast则写入数据到NAND。
在其中一个实施例中,所述数据写入模块还用于:
若对应的速率字段为Slow则跳过当前物理页,并根据写入顺序查找下一个Fast类型的物理块和物理页进行数据的写入。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
上述固态硬盘性能优化方法、装置、计算机设备及存储介质通过获取固态硬盘性能优化请求;根据所述固态硬盘性能优化请求通过扫描物理块和物理页的编程速率建立编程速率表;所述固态硬盘上电后加载所述编程速率表;在主机写入数据时根据所述编程速率表跳过编程速率慢的物理块和物理页,优先使用编程速率快的物理块和物理页。本发明针对NAND物理块/页编程速率波动的特征,在量产时扫描各个物理块/页的编程参数形成编程速率表,进而在运行时刻针对主机的写入选用较高速率的物理块/页,从而保证了主机写入的性能。
附图说明
图1为一个典型的SSD写入模型的结构示意图;
图2为一个物理块/页编程时间较长时所发生情形的示意图;
图3为一个实施例中固态硬盘性能优化方法的流程示意图;
图4为另一个实施例中固态硬盘性能优化方法的流程示意图;
图5为再一个实施例中固态硬盘性能优化方法的流程示意图;
图6为一个实施例中引入的编程速率表的示意图;
图7为一个实施例中SSD运行时刻写入模型的示意图;
图8为一个实施例中SSD在通过查询编程速率表写入过程的示意图;
图9为一个实施例中固态硬盘性能优化装置的结构框图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
典型的NAND组成如下,包括:DIE,可独立并发操作的单元;Block,可独立擦除的单元,其内各个物理位置的数据写入后在下一次写之前必须要将整个Block擦除;Page,读写单元,同一物理块内的Page必需按顺序编程:0->1->2->3…。随着NAND技术的演进,其物理块/页的编程时间一致性差异很大,进而导致写入的性能波动较大。
如图1所示,为典型的SSD写入模型。为便于说明,本发明中使用4个DIE的模型进行举例说明。具体地,主机写入4页数据:H_Data_0,H_Data_1,H_Data_2,H_Data_3。SSD内部依次写入到DIE 0/1/2/3的Page 1上。由于数据写入顺序的要求,主机数据需要顺序生效。所以在回收对应的写入请求、释放对应的资源时,也必需按照写入的顺序依次回收H_Data_0,H_Data_1,H_Data_2,H_Data_3,也就是DIE 0Page 1,DIE 1Page 1,DIE 2Page 1,DIE3Page 1。
如图2所示,为某个DIE例如DIE0的物理块/页编程时间较长时所发生情形的示意。DIE 0Page 1编程时间较长。DIE 1/2/3Page 1编程时间较短。由于顺序回收资源的需求约束,DIE 1/2/3Page 1的编程必需要等待DIE 0Page 1编程完成。在此模型下,整体编程时间被编程较慢的DIE0拉长,进而导致性能下降严重。
基于此,本发明提出一种固态硬盘性能优化方法,旨在能够进一步提高主机写入性能。
在一个实施例中,如图3所示,提供了一种固态硬盘性能优化方法,该方法包括:
步骤302,获取固态硬盘性能优化请求;
步骤304,根据固态硬盘性能优化请求通过扫描物理块和物理页的编程速率建立编程速率表;
步骤306,固态硬盘上电后加载编程速率表;
步骤308,在主机写入数据时根据编程速率表跳过编程速率慢的物理块和物理页,优先使用编程速率快的物理块和物理页。
在本实施例中,提供了一种固态硬盘性能优化方法,该方法针对NAND物理块/页编程速率波动的特征,在量产时扫描各个物理块/页的编程参数,形成编程速率表,进而在运行时刻针对主机的写入选用较高速率的物理块/页,从而保证了主机写入的性能。
在一个实施例中,如图4所示,提供了一种固态硬盘性能优化方法,该方法中根据固态硬盘性能优化请求通过扫描物理块和物理页的编程速率建立编程速率表的步骤还包括:
步骤402,建立编程速率表,编程速率表中的字段包含DIE、Block、Page及速率;
步骤404,根据固态硬盘的产品规格定义一个编程时间阈值;
步骤406,对固态硬盘各个DIE的物理块和物理页进行编程并度量编程所需时间;
步骤408,如果编程时间大于编程时间阈值,则在对应的编程速率表中标志对应DIE、Block、Page的速率字段为Slow;
步骤410,如果编程时间小于等于编程时间阈值,则在对应的编程速率表中标志对应DIE、Block、Page的速率字段为Fast;
步骤412,完成后将对应的编程速率表保存到固态硬盘中。
具体地,可参考图6所示的编程速率表,具体地:
首先,建立一张编程速率快慢表,包含DIE/BLOCK/PAGE/速率等各个字段。接着,根据SSD产品规格,定义一个物理页编程时间阈值PROG_TH。在SSD出厂前,对其内各个DIE的物理块、页进行编程,度量其所需时间。
如果其编程时间大于PROG_TH,则在对应的编程速率表中,标志对应DIE/BLOCK/PAGE的速率字段为SLOW。如果其编程时间小于等于PROG_TH,则在对应的编程速率表中,标志对应DIE/BLOCK/PAGE的速率字段为FAST。完成后,将对应的编程速率表保存到SSD中。
参考图7所示的SSD运行时刻写入模型的示意图,具体地:
首先,在SSD上电时加载编程速率表。然后,主机写入4页数据:H_Data_0,H_Data_1,H_Data_2,H_Data_3。接着,SSD内部根据编程速率表,依次写入到各个DIE的快速编程页上:
根据编程速率表,查询到DIE 0Block 0Page 0为Fast类型,故将H_Data_0写入。
根据编程速率表,查询到DIE 1Block 0Page 0为Slow类型,故跳过该页,查询该DIE/Block内的Fast类型的Page(Page 1),将H_Data_1写入DIE 1Block0Page 1。
根据编程速率表,查询到DIE 2Block 0Page 0为Slow类型,故跳过该页,查询该DIE/Block内的Fast类型的Page(Page 1),将H_Data_2写入DIE 2Block0Page 1。
根据编程速率表,查询到DIE 3Block 0Page 0为Fast类型,故将H_Data_3写入。
在上述实施例中,通过获取固态硬盘性能优化请求;根据所述固态硬盘性能优化请求通过扫描物理块和物理页的编程速率建立编程速率表;所述固态硬盘上电后加载所述编程速率表;在主机写入数据时根据所述编程速率表跳过编程速率慢的物理块和物理页,优先使用编程速率快的物理块和物理页。上述方案针对NAND物理块/页编程速率波动的特征,在量产时扫描各个物理块/页的编程参数形成编程速率表,进而在运行时刻针对主机的写入选用较高速率的物理块/页,从而保证了主机写入的性能。
在一个实施例中,如图5所示,提供了一种固态硬盘性能优化方法,该方法中在主机写入数据时根据编程速率表跳过编程速率慢的物理块和物理页,优先使用编程速率快的物理块和物理页的步骤还包括:
步骤502,在数据写入的过程中,根据写入的DIE以及物理块和物理页查询编程速率表;
步骤504,判断对应的速率字段是否为Fast;
步骤506,若对应的速率字段为Fast则写入数据到NAND;
步骤508,若对应的速率字段为Slow则跳过当前物理页,并根据写入顺序查找下一个Fast类型的物理块和物理页进行数据的写入。
在本实施例中,参考图8所示SSD在通过查询编程速率表写入过程的示意图,该方法具体的执行步骤如下:
8.1、加载保存的编程速率表。
8.2、主机写入数据。
8.3、根据所需写入的DIE以及物理块/页信息查询编程速率快慢表。
8.4、是否为Fast类型。若是,跳转到8.6;若否,继续8.5。
8.5、根据写入顺序,查找下一个Fast类型的编程块/页。
8.6、写入主机数据到NAND。
在本实施例中,在主机写入时,根据预先测定的编程速率表跳过一些编程较慢的物理块/页,而总是写入编程较快的物理块/页,有效地保障了主机写入的性能。
应该理解的是,虽然图1-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种固态硬盘性能优化装置900,该装置包括:
获取模块901,所述获取模块用于获取固态硬盘性能优化请求;
速率表建立模块902,所述速率表建立模块用于根据所述固态硬盘性能优化请求通过扫描物理块和物理页的编程速率建立编程速率表;
速率表加载模块903,所述速率表加载模块用于所述固态硬盘上电后加载所述编程速率表;
数据写入模块904,所述数据写入模块用于在主机写入数据时根据所述编程速率表跳过编程速率慢的物理块和物理页,优先使用编程速率快的物理块和物理页。
在一个实施例中,速率表建立模块902还用于:
建立编程速率表,所述编程速率表中的字段包含DIE、Block、Page及速率;
根据固态硬盘的产品规格定义一个编程时间阈值;
对所述固态硬盘各个DIE的物理块和物理页进行编程并度量编程所需时间;
如果编程时间大于所述编程时间阈值,则在对应的编程速率表中标志对应DIE、Block、Page的速率字段为Slow;
如果编程时间小于等于所述编程时间阈值,则在对应的编程速率表中标志对应DIE、Block、Page的速率字段为Fast;
完成后将对应的编程速率表保存到固态硬盘中。
在一个实施例中,数据写入模块904还用于:
在数据写入的过程中,根据写入的DIE以及物理块和物理页查询编程速率表;
判断对应的速率字段是否为Fast;
若对应的速率字段为Fast则写入数据到NAND。
在一个实施例中,数据写入模块904还用于:
若对应的速率字段为Slow则跳过当前物理页,并根据写入顺序查找下一个Fast类型的物理块和物理页进行数据的写入。
关于固态硬盘性能优化装置的具体限定可以参见上文中对于固态硬盘性能优化方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图10所示。该计算机设备包括通过装置总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作装置、计算机程序和数据库。该内存储器为非易失性存储介质中的操作装置和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种固态硬盘性能优化方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种固态硬盘性能优化方法,其特征在于,所述方法包括:
获取固态硬盘性能优化请求;
根据所述固态硬盘性能优化请求通过扫描物理块和物理页的编程速率建立编程速率表;
所述固态硬盘上电后加载所述编程速率表;
在主机写入数据时根据所述编程速率表跳过编程速率慢的物理块和物理页,优先使用编程速率快的物理块和物理页。
2.根据权利要求1所述的固态硬盘性能优化方法,其特征在于,所述根据所述固态硬盘性能优化请求通过扫描物理块和物理页的编程速率建立编程速率表的步骤还包括:
建立编程速率表,所述编程速率表中的字段包含DIE、Block、Page及速率;
根据固态硬盘的产品规格定义一个编程时间阈值;
对所述固态硬盘各个DIE的物理块和物理页进行编程并度量编程所需时间;
如果编程时间大于所述编程时间阈值,则在对应的编程速率表中标志对应DIE、Block、Page的速率字段为Slow;
如果编程时间小于等于所述编程时间阈值,则在对应的编程速率表中标志对应DIE、Block、Page的速率字段为Fast;
完成后将对应的编程速率表保存到固态硬盘中。
3.根据权利要求2所述的固态硬盘性能优化方法,其特征在于,所述在主机写入数据时根据所述编程速率表跳过编程速率慢的物理块和物理页,优先使用编程速率快的物理块和物理页的步骤还包括:
在数据写入的过程中,根据写入的DIE以及物理块和物理页查询编程速率表;
判断对应的速率字段是否为Fast;
若对应的速率字段为Fast则写入数据到NAND。
4.根据权利要求3所述的固态硬盘性能优化方法,其特征在于,在所述判断对应的速率字段是否为Fast的步骤之后还包括:
若对应的速率字段为Slow则跳过当前物理页,并根据写入顺序查找下一个Fast类型的物理块和物理页进行数据的写入。
5.一种固态硬盘性能优化装置,其特征在于,所述装置包括:
获取模块,所述获取模块用于获取固态硬盘性能优化请求;
速率表建立模块,所述速率表建立模块用于根据所述固态硬盘性能优化请求通过扫描物理块和物理页的编程速率建立编程速率表;
速率表加载模块,所述速率表加载模块用于所述固态硬盘上电后加载所述编程速率表;
数据写入模块,所述数据写入模块用于在主机写入数据时根据所述编程速率表跳过编程速率慢的物理块和物理页,优先使用编程速率快的物理块和物理页。
6.根据权利要求5所述的固态硬盘性能优化装置,其特征在于,所述速率表建立模块还用于:
建立编程速率表,所述编程速率表中的字段包含DIE、Block、Page及速率;
根据固态硬盘的产品规格定义一个编程时间阈值;
对所述固态硬盘各个DIE的物理块和物理页进行编程并度量编程所需时间;
如果编程时间大于所述编程时间阈值,则在对应的编程速率表中标志对应DIE、Block、Page的速率字段为Slow;
如果编程时间小于等于所述编程时间阈值,则在对应的编程速率表中标志对应DIE、Block、Page的速率字段为Fast;
完成后将对应的编程速率表保存到固态硬盘中。
7.根据权利要求6所述的固态硬盘性能优化装置,其特征在于,所述数据写入模块还用于:
在数据写入的过程中,根据写入的DIE以及物理块和物理页查询编程速率表;
判断对应的速率字段是否为Fast;
若对应的速率字段为Fast则写入数据到NAND。
8.根据权利要求7所述的固态硬盘性能优化装置,其特征在于,所述数据写入模块还用于:
若对应的速率字段为Slow则跳过当前物理页,并根据写入顺序查找下一个Fast类型的物理块和物理页进行数据的写入。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111483566.0A CN114153398A (zh) | 2021-12-07 | 2021-12-07 | 固态硬盘性能优化方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111483566.0A CN114153398A (zh) | 2021-12-07 | 2021-12-07 | 固态硬盘性能优化方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114153398A true CN114153398A (zh) | 2022-03-08 |
Family
ID=80452999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111483566.0A Pending CN114153398A (zh) | 2021-12-07 | 2021-12-07 | 固态硬盘性能优化方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114153398A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104142801A (zh) * | 2013-05-09 | 2014-11-12 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
US20170256320A1 (en) * | 2016-03-07 | 2017-09-07 | Sandisk Technologies Inc. | Adaptive Determination Of Program Parameter Using Program Of Erase Rate |
US20180341418A1 (en) * | 2016-06-20 | 2018-11-29 | Samsung Electronics Co., Ltd. | Morphic storage device |
CN111863077A (zh) * | 2019-04-30 | 2020-10-30 | 爱思开海力士有限公司 | 存储装置、控制器以及操作控制器的方法 |
CN112199038A (zh) * | 2019-07-08 | 2021-01-08 | 爱思开海力士有限公司 | 基于i/o吞吐量确定缓冲器使用的存储器系统及其操作方法 |
-
2021
- 2021-12-07 CN CN202111483566.0A patent/CN114153398A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104142801A (zh) * | 2013-05-09 | 2014-11-12 | 群联电子股份有限公司 | 数据写入方法、存储器控制器与存储器储存装置 |
US20170256320A1 (en) * | 2016-03-07 | 2017-09-07 | Sandisk Technologies Inc. | Adaptive Determination Of Program Parameter Using Program Of Erase Rate |
US20180341418A1 (en) * | 2016-06-20 | 2018-11-29 | Samsung Electronics Co., Ltd. | Morphic storage device |
CN111863077A (zh) * | 2019-04-30 | 2020-10-30 | 爱思开海力士有限公司 | 存储装置、控制器以及操作控制器的方法 |
CN112199038A (zh) * | 2019-07-08 | 2021-01-08 | 爱思开海力士有限公司 | 基于i/o吞吐量确定缓冲器使用的存储器系统及其操作方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110568998B (zh) | 基于固态硬盘的Trim命令实现方法、装置和计算机设备 | |
CN111966281A (zh) | 数据储存装置与数据处理方法 | |
CN114253483A (zh) | 基于命令的写缓存管理方法、装置、计算机设备及存储介质 | |
CN113010111A (zh) | Ssd访问加速方法、装置、计算机设备及存储介质 | |
CN114153398A (zh) | 固态硬盘性能优化方法、装置、计算机设备及存储介质 | |
CN115563021A (zh) | 基于固态硬盘的重复读性能提升方法、装置和计算机设备 | |
CN115344387A (zh) | 一种内存分配装置、方法、设备及介质 | |
JP6471012B2 (ja) | 半導体メモリ、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法 | |
CN114115745A (zh) | 多Pass编程NAND的RAID优化方法、装置及计算机设备 | |
CN114138176A (zh) | Nor Flash的擦除、升级方法及装置、计算机设备和存储介质 | |
CN110275596B (zh) | 基于固态硬盘的上电初始化加速方法、装置和计算机设备 | |
CN114187959A (zh) | Nand芯片性能测试方法、板卡、系统和存储介质 | |
US8503241B2 (en) | Electronic apparatus and data reading method | |
CN114047880B (zh) | 多Pass编程的NAND写入功耗优化方法、装置及计算机设备 | |
CN114415944A (zh) | 固态硬盘物理块管理方法、装置、计算机设备及存储介质 | |
CN110750215A (zh) | 提升固态硬盘随机读性能方法、装置和计算机设备 | |
CN114185620B (zh) | 加速ssd固件加载实现方法、装置、计算机设备及存储介质 | |
CN114327274B (zh) | 基于固态硬盘的映射表加载检查方法、装置及计算机设备 | |
CN115878038A (zh) | 提升固态硬盘读性能的实现方法、装置和计算机设备 | |
CN109686394B (zh) | Nand Flash Phy参数配置方法和装置 | |
CN110888823B (zh) | 页扫描效率的提升方法、装置及计算机设备 | |
CN115220662A (zh) | 基于Dramless固态硬盘的垃圾回收方法、装置和计算机设备 | |
CN114003438A (zh) | 固态硬盘的映射表恢复方法、装置、计算机设备及存储介质 | |
CN118035001A (zh) | 基于qlc固态硬盘的trim数据上电恢复方法和装置 | |
KR20100059666A (ko) | 비휘발성 메모리 장치 |
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: 20220308 |