CN115509454A - 一种固态硬盘数据的写入方法、装置、电子设备以及介质 - Google Patents
一种固态硬盘数据的写入方法、装置、电子设备以及介质 Download PDFInfo
- Publication number
- CN115509454A CN115509454A CN202211202690.XA CN202211202690A CN115509454A CN 115509454 A CN115509454 A CN 115509454A CN 202211202690 A CN202211202690 A CN 202211202690A CN 115509454 A CN115509454 A CN 115509454A
- Authority
- CN
- China
- Prior art keywords
- data
- solid state
- state disk
- optimization
- erased
- 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 217
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000005457 optimization Methods 0.000 claims abstract description 272
- 238000004422 calculation algorithm Methods 0.000 claims description 51
- 230000006870 function Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 10
- 230000003321 amplification Effects 0.000 description 9
- 238000003199 nucleic acid amplification method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000001960 triggered effect Effects 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/0674—Disk device
- G06F3/0676—Magnetic 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种固态硬盘数据的写入方法、装置、电子设备以及介质,应用于操作系统,所述方法包括:获取固态硬盘中待擦除块存储的待擦除数据,并确定所述待擦除数据中的有效数据;响应于针对所述固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项;根据每个优化项的优化信息在所述一个或多个优化项中确定目标优化项,并执行所述目标优化项,以对所述固态硬盘的性能进行调整;确定所述写入操作对应的写入数据,并将所述写入数据和所述有效数据写入到所述固态硬盘中。通过本发明实施例,实现了进行固态硬盘数据的写入前,进行固态硬盘的性能调整,优化固态硬盘性能,从而实现了在写入数据时降低SSD峰值延迟。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种固态硬盘数据的写入方法、装置、电子设备以及介质。
背景技术
固态硬盘(Solid State Disk,SSD)与传统磁盘相比具有非常大的性能优势以及较多的长处,随着应用场景日趋复杂,工作负载需要更优化的存储解决方案,针对固态硬盘的降低延迟需求变得越来越重要。针对固态硬盘的峰值延迟会影响应用程序性能、客户满意度以及释放共享资源的速度。
在固态硬盘进行写入操作之前,需要先标记待擦除的块,并将块中的有效数据读出,在进行写入操作时,与新写入的数据一同写入,并在写入同时进行擦除操作,在这个过程中,数据反复读取与写入以及在写入同时进行擦除,会导致SSD的损耗,降低固态硬盘性能。
发明内容
鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种固态硬盘数据的写入方法、装置、电子设备以及介质,包括:
一种固态硬盘数据的写入方法,应用于操作系统,所述方法包括:
获取固态硬盘中待擦除块存储的待擦除数据,并确定所述待擦除数据中的有效数据;
响应于针对所述固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项;
根据每个优化项的优化信息在所述一个或多个优化项中确定目标优化项,并执行所述目标优化项,以对所述固态硬盘的性能进行调整;
确定所述写入操作对应的写入数据,并将所述写入数据和所述有效数据写入到所述固态硬盘中。
可选地,所述执行所述目标优化项,包括:
当所述目标优化项为针对CPU模式的优化项时,确定所述目标优化项对应的目标CPU模式;其中,所述目标CPU模式为所述操作系统中能耗最低的CPU模式。
将CPU当前的运行模式调整为所述目标CPU模式。
可选地,所述执行所述目标优化项,包括:
当所述目标优化项为针对CPU负载状态的优化项时,获取CPU的当前负载状态;
根据所述当前负载状态确定负载均衡模式,并执行所述负载均衡模式。
可选地,所述执行所述目标优化项,包括:
当所述目标优化项为针对IO调度算法的优化项时,确定所述目标优化项对应的目标IO调度算法;
将所述固态硬盘当前的调度算法调整为所述目标IO调度算法。
可选地,所述执行所述目标优化项,包括:
当所述目标优化项为针对所述固态硬盘的TRIM功能的优化项时,开启TRIM功能;并将所述待擦除数据从所述待擦除块中擦除。
可选地,还包括:
在检测到所述固态硬盘的当前性能低于预设性能时,获取用于调整固态硬盘性能的一个或多个优化项;
根据每个优化项的优化信息在所述一个或多个优化项中确定目标优化项,并执行所述目标优化项,以对所述固态硬盘的性能进行调整。
可选地,所述目标IO调度算法为Deadline算法或noop算法。
一种固态硬盘数据的写入装置,应用于操作系统,所述装置包括:
有效数据确定模块,用于获取固态硬盘中待擦除块存储的待擦除数据,并确定所述待擦除数据中的有效数据;
优化项获取模块,用于响应于针对所述固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项;
优化项执行模块,用于根据每个优化项的优化信息在所述一个或多个优化项中确定目标优化项,并执行所述目标优化项,以对所述固态硬盘的性能进行调整;
写入模块,用于确定所述写入操作对应的写入数据,并将所述写入数据和所述有效数据写入到所述固态硬盘中。
一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述固态硬盘性能的调整方法。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述固态硬盘性能的调整方法。
本发明实施例具有以下优点:
本发明实施例通过获取固态硬盘中待擦除块存储的待擦除数据,并确定待擦除数据中的有效数据,进而可以响应于针对固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项,并可以根据每个优化项的优化信息在一个或多个优化项中确定目标优化项,并执行目标优化项,以对固态硬盘的性能进行调整,确定写入操作对应的写入数据,并将写入数据和有效数据写入到固态硬盘中,实现了进行固态硬盘数据的写入前,进行固态硬盘的性能调整,优化固态硬盘性能,从而实现了在写入数据时降低SSD峰值延迟。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种固态硬盘数据的写入方法的步骤流程图;
图2是本发明一实施例提供的另一种固态硬盘数据的写入方法的步骤流程图;
图3是本发明一实施例提供的另一种固态硬盘数据的写入方法的步骤流程图;
图4是本发明一实施例提供的另一种固态硬盘数据的写入方法的步骤流程图;
图5是本发明一实施例提供的另一种固态硬盘数据的写入方法的步骤流程图;
图6是本发明一实施例提供的另一种固态硬盘数据的写入方法的步骤流程图;
图7是本发明一实施例提供的另一种固态硬盘数据的写入方法的步骤流程图;
图8是本发明一实施例提供的固态硬盘数据的写入装置的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,写入在SSD中的数据是不能够直接更新的,仅仅能通过扇区覆盖重写,而在覆盖重写之前须对待写入数据进行擦除操作,而擦除操作不能在扇区上做的,需要在磁盘的块上来进行,从而,在未写入之前,先标记磁盘中待擦除的块,当需要对磁盘进行写入操作时,在擦除块之前须要将原有的还有效的数据先读出,然后再与新来的数据一起写入,这些反复的操作不但会添加写入的数据量,还会降低闪存的寿命,更吃光闪存的可用带宽,从而间接影响随机写入性能。
在SSD在测试读写性能延迟时,通常会通过擦除SSD上已有数据来使性能能够达到预期结果,但是,每个SSD都有固定数量的擦除周期,如果在很短时间内写到SSD太多数据,或当写入SSD的物理数据量大于应用程序打算写入SSD的逻辑数据量时,就会造成“写入放大”,导致SSD损耗太快,从而影响SSD硬盘速度和硬盘寿命,进而SSD的峰值延迟升高,即影响了SSD的性能。
在本发明实施例中,是在SSD正式写入数据之前,通过调整SSD性能的预选优化项对SSD性能提前进行优化,以在写入数据时,减少损耗。提高写入速度,降低SSD的峰值延迟。
参照图1,示出了本发明一实施例提供的一种固态硬盘数据的写入方法的步骤流程图,应用于操作系统,具体可以包括如下步骤:
步骤101,获取固态硬盘中待擦除块存储的待擦除数据,并确定待擦除数据中的有效数据;
其中,待擦除块为固态硬盘中计划进行擦除,并写入数据的块区域;在固态硬盘中,可以按照预设的擦除周期,检测固态硬盘中的块区域,并确定待擦除块,并对待擦除块进行标记。
待擦除数据是指待擦除块中存储的所有数据,可以包括有效数据和无效的待清理数据,其中,有效数据可以先被读出,并在新数据写入SSD过程中,再次写入SSD;而无效的待清理数据则随着擦除处理过程被清理。
在固态硬盘(SSD)进行新数据写入时,SSD内部需要进行块级别的“垃圾回收”,在SSD内部不断的回收块以前使用的页面空间,然后才能在这个块上写入新数据。
SSD可以按照预设的擦除周期,对自身存储的数据进行定期清理,以维持SSD较大的存储空间,以提高读写性能。
在擦除处理过程中,可以获取待擦除的块,确定待擦除块中存储的待擦除数据,进而确定待擦除数据中需要回收的有效数据。
在实际应用中,可以文件系统使用较新的ext4或XFS作为擦除工具进行数据擦除,在使用ext4或XFS进行磁盘数据擦除时,可以先标记固态硬盘中的待擦除块的待擦除数据,并不会立即对待擦除数据进行擦除,而是在当检测到针对SSD写入新数据时,将写入数据和有效数据写入到SSD的同时进行磁盘数据的擦除。
步骤102,响应于针对固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项;
检测到需针对固态硬盘进行数据写入时,在数据写入之前,可以获取针对固态硬盘性能进行调整的一个或多个优化项。
其中,优化项可以是针对CPU模式的优化项、针对CPU负载状态的优化项、针对IO调度算法的优化项、针对固态硬盘的TRIM功能的优化项中任一项。
步骤103,根据每个优化项的优化信息在一个或多个优化项中确定目标优化项,并执行目标优化项,以对固态硬盘的性能进行调整。
每个优化项针对固态硬盘的不同方面进行优化,对固态硬盘产生不同的优化效果,从而,每个优化项具有对应的优化信息,优化信息可以包括优化项的类型、优化效果等。
在确定优化信息后,可以从一个或多个优化项中基于优化信息选择一个或多个优化项作为目标优化项,并可以在确定目标优化项后,执行该目标优化项,以在写入之前进行固态硬盘的性能调整。
例如,可以将针对CPU模式的优化项、针对CPU负载状态的优化项分为第一类优化项,该类优化项针对SSD的读写环境进行优化。
可以将针对IO调度算法的优化项、针对固态硬盘的TRIM功能的优化项划分为第二类优化项,该类优化项针对SSD的读写过程进行优化。
从而,在进行优化项分类后,从第一类优化项中选择第一优化项,从第二类优化项中选择第二优化项,将第一优化项和第二优化项进行组合,得到目标优化项。
例如,还可以基于多个优化项的优化效果,进行分析,确保最佳的优化项组合方案,从而确定目标优化项。
步骤104,确定写入操作对应的写入数据,并将写入数据和有效数据写入到固态硬盘中。
其中,写入数据是需要写入到硬盘中的新数据。
在对固态硬盘进行优化后,可以确定写入操作对应的写入数据,将写入数据和有效数据写入固态硬盘中的待擦除块中。
在本发明实施例中,通过获取固态硬盘中待擦除块存储的待擦除数据,并确定待擦除数据中的有效数据,进而可以响应于针对固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项,并可以根据每个优化项的优化信息在一个或多个优化项中确定目标优化项,并执行目标优化项,以对固态硬盘的性能进行调整,确定写入操作对应的写入数据,并将写入数据和有效数据写入到固态硬盘中,实现了进行固态硬盘数据的写入前,进行固态硬盘的性能调整,优化固态硬盘性能,从而实现了在写入数据时降低SSD峰值延迟。
参照图2,示出了本发明一实施例提供的另一种固态硬盘数据的写入方法的步骤流程图,具体可以包括如下步骤:
步骤201,获取固态硬盘中待擦除块存储的待擦除数据,并确定待擦除数据中的有效数据;
其中,待擦除块为固态硬盘中计划进行擦除,并写入数据的块区域;在固态硬盘中,可以按照预设的擦除周期,检测固态硬盘中的块区域,并确定待擦除块,并对待擦除块进行标记。
待擦除数据是指待擦除块中存储的所有数据,可以包括有效数据和无效的待清理数据,其中,有效数据可以先被读出,并在新数据写入SSD过程中,再次写入SSD;而无效的待清理数据则随着擦除处理过程被清理。
在固态硬盘(SSD)进行新数据写入时,SSD内部需要进行块级别的“垃圾回收”,在SSD内部不断的回收块以前使用的页面空间,然后才能在这个块上写入新数据。
SSD可以按照预设的擦除周期,对自身存储的数据进行定期清理,以维持SSD较大的存储空间,以提高读写性能。
在擦除处理过程中,可以获取待擦除的块,确定待擦除块中存储的待擦除数据,进而确定待擦除数据中需要回收的有效数据。
在实际应用中,可以文件系统使用较新的ext4或XFS作为擦除工具进行数据擦除,在使用ext4或XFS进行磁盘数据擦除时,可以先标记固态硬盘中的待擦除块的待擦除数据,并不会立即对待擦除数据进行擦除,而是在当检测到针对SSD写入新数据时,将写入数据和有效数据写入到SSD的同时进行磁盘数据的擦除。
步骤202,响应于针对固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项;
步骤203,根据每个优化项的优化信息在一个或多个优化项中确定目标优化项;
步骤204,当目标优化项为针对CPU模式的优化项时,确定目标优化项对应的目标CPU模式;
在操作系统中可以设置CPU的模式,当应用不同的CPU模式时,SSD在不同模式运行时的性能不同。
例如,当操作系统开启CPU节能模式时,可以通过调整CPU电压与核心频率,减少功耗和发热量;当CPU关闭节能模式,会提高工作频率,将操作系统性能调整为高性能,从而可以使SSD在高性能的环境中运行。
当目标优化项为针对CPU模式的优化项时,可以确定目标优化项对应的目标CPU模式,目标CPU模式可以是关闭CPU节能模式下的高性能CPU模式。
步骤205,将CPU当前的运行模式调整为目标CPU模式,以对固态硬盘的性能进行调整。
在确定目标CPU模式后,将按照目标CPU模式进行调整,例如,当CPU当前的运行模式为CPU节能模式,则可以通过关闭CPU节能模式将CPU当前的运行模式调整为高性能CPU模式,提高工作频率,提高性能,以实现在SSD写入数据时降低峰值延迟。
针对CPU模式的调整具体可以包括以下步骤:
a.在/etc/default/grub的GRUB_CMDLINE_LINUX增加intel_pstate=disable
关闭节能。
b.然后使用如下命令重新生成grub.cfg
Legacy BIOS:grub2-mkconfig–o/boot/grub2/grub.cfg
UEFI:grub2-mkconfig–o/boot/efi/EFI/redhat/grub.cfg
系统指令,使修改的文件生效。
c.编辑/etc/sysconfig/cpupower文件的如下选项(永久生效):
CPUPOWER_START_OPTS="frequency-set-g powersave"
CPUPOWER_STOP_OPTS="frequency-set-g powersave"
调节CPU主频参数来提高计算性能或降低功耗。
d.重启cpupower service:
#systemctl enable cpupower.service
#systemctl restart cpupower.service
系统指令,使步骤c生效。
e.重启系统。
步骤206,确定写入操作对应的写入数据,并将写入数据和有效数据写入到固态硬盘中。
其中,写入数据是需要写入到硬盘中的新数据,
在对固态硬盘进行优化后,可以确定写入操作对应的写入数据,将写入数据和有效数据写入固态硬盘中的待擦除块中。
在本发明实施例中,获取固态硬盘中待擦除块存储的待擦除数据,并确定待擦除数据中的有效数据;响应于针对固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项,并可以根据每个优化项的优化信息在一个或多个优化项中确定目标优化项,当目标优化项为针对CPU模式的优化项时,确定目标优化项对应的目标CPU模式,将CPU当前的运行模式调整为目标CPU模式,以对固态硬盘的性能进行调整,确定写入操作对应的写入数据,并将写入数据和有效数据写入到固态硬盘中,实现了通过调整CPU模式,提高工作效率,优化SSD的性能,从而实现了在写入数据时降低SSD峰值延迟。
参照图3,示出了本发明一实施例提供的另一种固态硬盘性能的调整方法的步骤流程图,应用于操作系统,具体可以包括如下步骤:
步骤301,获取固态硬盘中待擦除块存储的待擦除数据,并确定待擦除数据中的有效数据;
其中,待擦除块为固态硬盘中计划进行擦除,并写入数据的块区域;在固态硬盘中,可以按照预设的擦除周期,检测固态硬盘中的块区域,并确定待擦除块,并对待擦除块进行标记。
待擦除数据是指待擦除块中存储的所有数据,可以包括有效数据和无效的待清理数据,其中,有效数据可以先被读出,并在新数据写入SSD过程中,再次写入SSD;而无效的待清理数据则随着擦除处理过程被清理。
在固态硬盘(SSD)进行新数据写入时,SSD内部需要进行块级别的“垃圾回收”,在SSD内部不断的回收块以前使用的页面空间,然后才能在这个块上写入新数据。
SSD可以按照预设的擦除周期,对自身存储的数据进行定期清理,以维持SSD较大的存储空间,以提高读写性能。
在擦除处理过程中,可以获取待擦除的块,确定待擦除块中存储的待擦除数据,进而确定待擦除数据中需要回收的有效数据。
在实际应用中,可以文件系统使用较新的ext4或XFS作为擦除工具进行数据擦除,在使用ext4或XFS进行磁盘数据擦除时,可以先标记固态硬盘中的待擦除块的待擦除数据,并不会立即对待擦除数据进行擦除,而是在当检测到针对SSD写入新数据时,将写入数据和有效数据写入到SSD的同时进行磁盘数据的擦除。
步骤302,响应于针对固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项;
步骤303,根据每个优化项的优化信息在一个或多个优化项中确定目标优化项;
步骤304,当目标优化项为针对CPU负载状态的优化项时,获取CPU的当前负载状态;
当目标优化项为针对CPU负载状态的优化项时,可以开启cpu负载均衡,进而,操作系统可以通过负载均衡会自动收集系统数据以分析负载均衡的使用模式,其中,系统数据可以包括CPU的当前负载状态。
步骤305,根据当前负载状态确定负载均衡模式,并执行负载均衡模式,以对固态硬盘的性能进行调整;
在确定当前负载状态之后,可以根据当前负载状态确定负载均衡模式,例如,当前负载状态为高负载的第一负载状态时,对应的负载均衡模式为Performance mode(性能模式);当前负载状态为低负载的第二负载状态时,对应的负载均衡模式为Power-save mode(节电模式)。
在确定CPU的负载均衡模式后,可以执行相应的负载均衡模式,从而实现优化中断。
具体代码如下:
#systemctl start irqbalance.service
开启CPU负载均衡Irqbalance。
#systemctl enable irqbalance.service
持续运行CPU负载均衡Irqbalance。
例如,在开启CPU负载均衡Irqbalance后,可以建立中断数据库,清除历史统计的信息,通过/proc/interrupts文件读取中断,并记录中断计数数,在/proc/stat获取每个CPU的负载信息,并依次计算每个层次每个节点的辅助以及每个中断负载,通过平衡算法找出需要重新分配的中断,并把需要重新分配的中断加入到新的节点中,配置smp_affinity使处理生效,以此实现优化中断。
步骤306,确定写入操作对应的写入数据,并将写入数据和有效数据写入到固态硬盘中。
其中,写入数据是需要写入到硬盘中的新数据,
在对固态硬盘进行优化后,可以确定写入操作对应的写入数据,将写入数据和有效数据写入固态硬盘中的待擦除块中。
在本发明实施例中,获取固态硬盘中待擦除块存储的待擦除数据,并确定待擦除数据中的有效数据;响应于针对固态硬盘的写入操作,在检测到预设的固态硬盘事件时,获取用于调整固态硬盘性能的一个或多个优化项;根据每个优化项的优化信息在一个或多个优化项中确定目标优化项;当目标优化项为针对CPU负载状态的优化项时,获取CPU的当前负载状态;根据当前负载状态确定负载均衡模式,并执行负载均衡模式,以对固态硬盘的性能进行调整;确定写入操作对应的写入数据,并将写入数据和有效数据写入到固态硬盘中,实现了通过负载均衡模式,优化中断分配,优化固态硬盘的性能,从而实现了在写入数据时降低SSD峰值延迟。
参照图4,示出了本发明一实施例提供的另一种固态硬盘性能的调整方法的步骤流程图,应用于操作系统,具体可以包括如下步骤:
步骤401,获取固态硬盘中待擦除块存储的待擦除数据,并确定待擦除数据中的有效数据;
其中,待擦除块为固态硬盘中计划进行擦除,并写入数据的块区域;在固态硬盘中,可以按照预设的擦除周期,检测固态硬盘中的块区域,并确定待擦除块,并对待擦除块进行标记。
待擦除数据是指待擦除块中存储的所有数据,可以包括有效数据和无效的待清理数据,其中,有效数据可以先被读出,并在新数据写入SSD过程中,再次写入SSD;而无效的待清理数据则随着擦除处理过程被清理。
在固态硬盘(SSD)进行新数据写入时,SSD内部需要进行块级别的“垃圾回收”,在SSD内部不断的回收块以前使用的页面空间,然后才能在这个块上写入新数据。
SSD可以按照预设的擦除周期,对自身存储的数据进行定期清理,以维持SSD较大的存储空间,以提高读写性能。
在擦除处理过程中,可以获取待擦除的块,确定待擦除块中存储的待擦除数据,进而确定待擦除数据中需要回收的有效数据。
在实际应用中,可以文件系统使用较新的ext4或XFS作为擦除工具进行数据擦除,在使用ext4或XFS进行磁盘数据擦除时,可以先标记固态硬盘中的待擦除块的待擦除数据,并不会立即对待擦除数据进行擦除,而是在当检测到针对SSD写入新数据时,将写入数据和有效数据写入到SSD的同时进行磁盘数据的擦除。
步骤402,响应于针对固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项;
步骤403,根据每个优化项的优化信息在一个或多个优化项中确定目标优化项;
步骤404,当目标优化项为针对IO调度算法的优化项时,确定目标优化项对应的目标IO调度算法;
在本发明一实施例中,目标IO调度算法为Deadline算法或noop算法。
对于高速SSD存储介质,内核的I/O调度操作会导致性能损失,选择不同的IO调度算法对SSD写入操作的性能影响不同。其中,内核用于管理系统资源,可以对SSD进行访问。
步骤405,将固态硬盘当前的调度算法调整为目标IO调度算法,以对固态硬盘的性能进行调整。
例如,当采用noop算法时,可以将调度器设置为noop后,内核不做任何操作,可以直接将I/O请求下发给SSD,以获取更好的性能。同时,noop调度器也有较好的普适性。
对于SSD而言,为了避免磁头抖动,还可以通过调度器对写请求进行合并。当目标IO调度算法为Deadline算法时,将调度器设置为Deadline,Deadline调度器对读请求具有高优先调度权,这种处理可以保证读请求的延迟时间最小化;对请求的顺序批量处理,这种顺序批量处理的方法可以最大程度的减少磁盘抖动。对每个请求都赋予了一个最大延迟时间,如果达到延迟时间的上限,那么这个请求就会被提前处理掉,保证了每个请求的最大延迟时间,从而可以保证读写请求延迟时间,降低SSD峰值延迟。
调整目标IO调度算法的具体代码如下:
a.RHEL7修改/etc/default/grub,GRUB_CMDLINE_LINUX行增加elevator=deadline,或elevator=noop
如:GRUB_CMDLINE_LINUX="vconsole.font=latarcyrheb-sun16vconsole.keymap=us rd.lvm.lv=vgroot/root elevator=deadline crashkernel=auto rhgb quiet"
修改IO调度算法。
b.然后重新生成grub文件:
Leagcy模式:#grub2-mkconfig-o/boot/grub2/grub.cfg
UEFI模式:#grub2-mkconfig-o/boot/efi/EFI/redhat/grub.cfg
在Leagcy模式或UEFI模式下执行IO调度算法。
步骤406,确定写入操作对应的写入数据,并将写入数据和有效数据写入到固态硬盘中。
其中,写入数据是需要写入到硬盘中的新数据,
在对固态硬盘进行优化后,可以确定写入操作对应的写入数据,将写入数据和有效数据写入固态硬盘中的待擦除块中。
在本发明实施例中,获取固态硬盘中待擦除块存储的待擦除数据,并确定待擦除数据中的有效数据;响应于针对固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项,根据每个优化项的优化信息在一个或多个优化项中确定目标优化项,当目标优化项为针对IO调度算法的优化项时,确定目标优化项对应的目标IO调度算法,将固态硬盘当前的调度算法调整为目标IO调度算法,以对固态硬盘的性能进行调整,确定写入操作对应的写入数据,并将写入数据和有效数据写入到固态硬盘中,实现了通过调整IO调度算法,实现了减少磁盘抖动,进而保证固态硬盘的读写请求延迟时间,从而实现了在写入数据时降低SSD峰值延迟。
参照图5,示出了本发明一实施例提供的另一种固态硬盘性能的调整方法的步骤流程图,应用于操作系统,具体可以包括如下步骤:
步骤501,获取固态硬盘中待擦除块存储的待擦除数据,并确定待擦除数据中的有效数据;
其中,待擦除块为固态硬盘中计划进行擦除,并写入数据的块区域;在固态硬盘中,可以按照预设的擦除周期,检测固态硬盘中的块区域,并确定待擦除块,并对待擦除块进行标记。
待擦除数据是指待擦除块中存储的所有数据,可以包括有效数据和无效的待清理数据,其中,有效数据可以先被读出,并在新数据写入SSD过程中,再次写入SSD;而无效的待清理数据则随着擦除处理过程被清理。
在固态硬盘(SSD)进行新数据写入时,SSD内部需要进行块级别的“垃圾回收”,在SSD内部不断的回收块以前使用的页面空间,然后才能在这个块上写入新数据。
SSD可以按照预设的擦除周期,对自身存储的数据进行定期清理,以维持SSD较大的存储空间,以提高读写性能。
在擦除处理过程中,可以获取待擦除的块,确定待擦除块中存储的待擦除数据,进而确定待擦除数据中需要回收的有效数据。
在实际应用中,可以文件系统使用较新的ext4或XFS作为擦除工具进行数据擦除,在使用ext4或XFS进行磁盘数据擦除时,可以先标记固态硬盘中的待擦除块的待擦除数据,并不会立即对待擦除数据进行擦除,而是在当检测到针对SSD写入新数据时,将写入数据和有效数据写入到SSD的同时进行磁盘数据的擦除。
步骤502,响应于针对固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项;
步骤503,根据每个优化项的优化信息在一个或多个优化项中确定目标优化项;
步骤504,当目标优化项为针对固态硬盘的TRIM功能的优化项时,开启TRIM功能,并将待擦除数据从待擦除块中擦除。
在实际应用中,在机械硬盘写入数据时,操作系统会通知硬盘先将以前数据的擦除,再将新的数据写入到磁盘中。而在删除数据时,操作系统只会在此处做个标记,说明这里应该是没有东西了,等到真正要写入数据时再来真正删除。
并且做标记这个动作会保留在磁盘缓存中,等到磁盘空闲时再执行。这样一来,磁盘需要更多的时间来执行以上操作,速度当然会慢下来。
而当操作系统识别到SSD,并确认SSD支持Trim功能后,在开启Trim功能的情况下,在删除数据时,可以不向硬盘通知删除指令,只使用VolumeBitmap来记住这里的数据已经删除,而Volume Bitmap只是一个磁盘快照,其建立速度比直接读写硬盘去标记删除区域要快得多,从而可以节约读写时间。
然后,在写入数据的时候,由于NAND闪存保存数据是纯粹的数字形式,从而可以直接根据Volume Bitmap的情况,向快照中已删除的区块写入新的数据,而不用花时间去擦除原本的数据。即在写入数据之前,将待擦除块中的数据进行擦除,避免了在写入同时进行擦除,以提高SSD的写入性能,降低SSD峰值延迟。
此外,当写入SSD的物理数据量大于应用程序打算写入SSD的逻辑数据量时,就会造成“写入放大”,写入放大通过写入放大系数,写入放大系数代表物理写入SSD的数据和应用程序写入的逻辑数据之比。
例如,当写入放大系统为2时,就表示写入每10KB的逻辑数据,SSD实际上写了20KB。
为了控制SSD的年损耗率,可以通过尽量降低写入放大系数,获得了更高的写吞吐量,延长了驱动器的使用寿命。
在开启Trim功能后,SSD可以在收到操作系统的Trim命令后,SSD内部的控制器会更新其内部数据页面地图,以便在写入新数据时不去保留无效页面。并且,在垃圾回收期间不会负责无效页面,这样就实现了更有效的垃圾收集,也就降低了写入放大系数。
开启Trim功能的具体代码如下:
#hdparm-I/dev/sda
--Data Set Management TRIM supported(支持)
#在/etc/fstab中添加discard开启TRIM功能,同时加上noatime,禁止记录最近一次访问时间戳:
如:/dev/sda1/ext4 noatime,discard,defaults
步骤505,确定写入操作对应的写入数据,并将写入数据和有效数据写入到固态硬盘中。
其中,写入数据是需要写入到硬盘中的新数据,
在对固态硬盘进行优化后,可以确定写入操作对应的写入数据,将写入数据和有效数据写入固态硬盘中的待擦除块中。
在本发明实施例中,获取固态硬盘中待擦除块存储的待擦除数据,并确定待擦除数据中的有效数据;响应于针对固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项;根据每个优化项的优化信息在一个或多个优化项中确定目标优化项;当目标优化项为针对固态硬盘的TRIM功能的优化项时,开启TRIM功能,并将待擦除数据从待擦除块中擦除,确定写入操作对应的写入数据,并将写入数据和有效数据写入到固态硬盘中,实现了在写入前将数据擦除,增大固态硬盘内存,降低放大系数,优化了固态硬盘的性能,从而实现了在写入数据时降低SSD峰值延迟。
参照图6,示出了本发明一实施例提供的一种固态硬盘数据的写入方法的步骤流程图,应用于操作系统,具体可以包括如下步骤:
步骤601,获取固态硬盘中待擦除块存储的待擦除数据,并确定待擦除数据中的有效数据;
其中,待擦除块为固态硬盘中计划进行擦除,并写入数据的块区域;在固态硬盘中,可以按照预设的擦除周期,检测固态硬盘中的块区域,并确定待擦除块,并对待擦除块进行标记。
待擦除数据是指待擦除块中存储的所有数据,可以包括有效数据和无效的待清理数据,其中,有效数据可以先被读出,并在新数据写入SSD过程中,再次写入SSD;而无效的待清理数据则随着擦除处理过程被清理。
在固态硬盘(SSD)进行新数据写入时,SSD内部需要进行块级别的“垃圾回收”,在SSD内部不断的回收块以前使用的页面空间,然后才能在这个块上写入新数据。
SSD可以按照预设的擦除周期,对自身存储的数据进行定期清理,以维持SSD较大的存储空间,以提高读写性能。
在擦除处理过程中,可以获取待擦除的块,确定待擦除块中存储的待擦除数据,进而确定待擦除数据中需要回收的有效数据。
在实际应用中,可以文件系统使用较新的ext4或XFS作为擦除工具进行数据擦除,在使用ext4或XFS进行磁盘数据擦除时,可以先标记固态硬盘中的待擦除块的待擦除数据,并不会立即对待擦除数据进行擦除,而是在当检测到针对SSD写入新数据时,将写入数据和有效数据写入到SSD的同时进行磁盘数据的擦除。
步骤602,在检测到固态硬盘的当前性能低于预设性能时,获取用于调整固态硬盘性能的一个或多个优化项;
其中,预设性能可以设置为可以确保SSD进行写入操作的性能要求。
在SSD运行过程中,可以针对固态硬盘的性能进行实时检测,当检测到固态硬盘的当前性能低于预设性能时,可以触发对固态硬盘的性能进行调整。
从而,可以获取用于调整固态硬盘性能的一个或多个优化项,其中,优化项可以是针对CPU模式的优化项、针对CPU负载状态的优化项、针对IO调度算法的优化项、针对固态硬盘的TRIM功能的优化项中任一项。
步骤603,根据每个优化项的优化信息在一个或多个优化项中确定目标优化项,并执行目标优化项,以对固态硬盘的性能进行调整。
每个优化项针对固态硬盘的不同方面进行优化,对固态硬盘产生不同的优化效果,从而,每个优化项具有对应的优化信息,优化信息可以包括优化项的类型、优化效果等。
在确定优化信息后,可以从一个或多个优化项中基于优化信息选择一个或多个优化项作为目标优化项,并可以在确定目标优化项后,执行该目标优化项,以在写入之前进行固态硬盘的性能调整。
例如,可以将针对CPU模式的优化项、针对CPU负载状态的优化项分为第一类优化项,该类优化项针对SSD的读写环境进行优化;
可以将针对IO调度算法的优化项、针对固态硬盘的TRIM功能的优化项划分为第二类优化项,该类优化项针对SSD的读写过程进行优化。
从而,在进行优化项分类后,从第一类优化项中选择第一优化项,从第二类优化项中选择第二优化项,将第一优化项和第二优化项进行组合,得到目标优化项。
例如,还可以基于多个优化项的优化效果,进行分析,确保最佳的优化项组合方案,从而确定目标优化项。
在实际应用中,当固态硬盘的性能进行调整后,可以再次检测固态硬盘此时的性能状态,如性能状态达到预设性能,则执行步骤604,如性能状态未达到预设性能,则反馈用户进行手动性能优化调整或者继续进行自动优化。
步骤604,响应于针对固态硬盘的写入操作,确定写入操作对应的写入数据,并将写入数据和有效数据写入到固态硬盘中。
其中,写入数据是需要写入到硬盘中的新数据,
在对固态硬盘进行优化后,操作系统可以响应于针对固态硬盘的写入操作,确定写入操作对应的写入数据,将写入数据和有效数据写入固态硬盘中的待擦除块中。
以下结合图7对本发明上述实施例进行示例性说明:
如图7所示,为一种SSD的数据写入的方法,具体包括以下步骤:
步骤S701,文件系统使用较新的ext4或XFS进行数据擦除。
步骤S702,关闭CPU节能模式。(即目标优化项为针对CPU模式的优化项)
通过关闭CPU节能模式,可以提高工作频率,使系统处于高性能运行状态。
步骤S703,开启cpu负载均衡irqbalance。(即目标优化项为针对CPU负载状态的优化项)
通过开启cpu负载均衡,可以有效优化中断分配。
步骤S704,更改IO调度算法为Deadline算法或noop算法。(即目标优化项为针对IO调度算法的优化项)
步骤S705,开启TRIM功能。(即目标优化项为针对所述固态硬盘的TRIM功能的优化项)
步骤S706,将数据写入SSD。
其中步骤S702至步骤S705可以为并列步骤,不区分先后顺序。
在关闭CPU节能模式、开启cpu负载均衡irqbalance的前提下,通过开启TRIM功能,使用较新的ext4或XFS进行SSD擦除来降低写入放大系数,从而减少SSD的损耗,延长SSD的寿命,最后设置更改IO调度算法为Deadline或noop,以使SSD延迟最小化,从而获得性能的最大化
需要说明的是,对于方法实施例,为了简单描述,故将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图8,示出了本发明一实施例提供的一种固态硬盘数据的写入装置的结构示意图,应用于操作系统,具体可以包括如下模块:
有效数据确定模块801,用于获取固态硬盘中待擦除块存储的待擦除数据,并确定所述待擦除数据中的有效数据;
优化项获取模块802,用于响应于针对所述固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项;
优化项执行模块803,用于根据每个优化项的优化信息在所述一个或多个优化项中确定目标优化项,并执行所述目标优化项,以对所述固态硬盘的性能进行调整;
写入模块804,用于确定所述写入操作对应的写入数据,并将所述写入数据和所述有效数据写入到所述固态硬盘中。
在本发明一实施例中,所述优化项执行模块803可以包括:
CPU模式确定子模块,用于当所述目标优化项为针对CPU模式的优化项时,确定所述目标优化项对应的目标CPU模式;其中,所述目标CPU模式为所述操作系统中能耗最低的CPU模式;
CPU模式调整子模块,用于将CPU当前的运行模式调整为所述目标CPU模式。
在本发明一实施例中,所述优化项执行模块803可以包括:
负载状态确定子模块,用于当所述目标优化项为针对CPU负载状态的优化项时,获取CPU的当前负载状态;
负载均衡模式确定子模块,用于根据所述当前负载状态确定负载均衡模式,并执行所述负载均衡模式。
在本发明一实施例中,所述优化项执行模块803可以包括:
IO调度算法确定子模块,用于当所述目标优化项为针对IO调度算法的优化项时,确定所述目标优化项对应的目标IO调度算法;
IO调度算法调整子模块,用于将所述固态硬盘当前的调度算法调整为所述目标IO调度算法。
在本发明一实施例中,所述优化项执行模块803可以包括:
TRIM功能开启子模块,用于当所述目标优化项为针对所述固态硬盘的TRIM功能的优化项时,开启TRIM功能,并将所述待擦除数据从所述待擦除块中擦除。
在本发明一实施例中,所述装置还可以包括:
性能对比模块,用于在检测到所述固态硬盘的当前性能低于预设性能时,获取用于调整固态硬盘性能的一个或多个优化项;
性能优化模块,根据每个优化项的优化信息在所述一个或多个优化项中确定目标优化项,并执行所述目标优化项,以对所述固态硬盘的性能进行调整。
在本发明一实施例中,所述目标IO调度算法为Deadline算法或noop算法。
本发明一实施例还提供了一种电子设备,可以包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上固态硬盘数据的写入方法。
本发明一实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上固态硬盘数据的写入方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对所提供的一种固态硬盘数据的写入方法、装置、电子设备以及介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种固态硬盘数据的写入方法,其特征在于,应用于操作系统,所述方法包括:
获取固态硬盘中待擦除块存储的待擦除数据,并确定所述待擦除数据中的有效数据;
响应于针对所述固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项;
根据每个优化项的优化信息在所述一个或多个优化项中确定目标优化项,并执行所述目标优化项,以对所述固态硬盘的性能进行调整;
确定所述写入操作对应的写入数据,并将所述写入数据和所述有效数据写入到所述固态硬盘中。
2.根据权利要求1所述的方法,其特征在于,所述执行所述目标优化项,包括:
当所述目标优化项为针对CPU模式的优化项时,确定所述目标优化项对应的目标CPU模式;
将CPU当前的运行模式调整为所述目标CPU模式。
3.根据权利要求1所述的方法,其特征在于,所述执行所述目标优化项,包括:
当所述目标优化项为针对CPU负载状态的优化项时,获取CPU的当前负载状态;
根据所述当前负载状态确定负载均衡模式,并执行所述负载均衡模式。
4.根据权利要求1或2或3所述的方法,其特征在于,所述执行所述目标优化项,包括:
当所述目标优化项为针对IO调度算法的优化项时,确定所述目标优化项对应的目标IO调度算法;
将所述固态硬盘当前的调度算法调整为所述目标IO调度算法。
5.根据权利要求1或2或3所述的方法,其特征在于,所述执行所述目标优化项,包括:
当所述目标优化项为针对所述固态硬盘的TRIM功能的优化项时,开启TRIM功能,并将所述待擦除数据从所述待擦除块中擦除。
6.根据权利要求1所述的方法,其特征在于,还包括:
在检测到所述固态硬盘的当前性能低于预设性能时,执行获取用于调整固态硬盘性能的一个或多个优化项;
根据每个优化项的优化信息在所述一个或多个优化项中确定目标优化项,并执行所述目标优化项,以对所述固态硬盘的性能进行调整。
7.根据权利要求4所述的方法,其特征在于,所述目标IO调度算法为Deadline算法或noop算法。
8.一种固态硬盘数据的写入装置,其特征在于,应用于操作系统,所述装置包括:
有效数据确定模块,用于获取固态硬盘中待擦除块存储的待擦除数据,并确定所述待擦除数据中的有效数据;
优化项获取模块,用于响应于针对所述固态硬盘的写入操作,获取用于调整固态硬盘性能的一个或多个优化项;
优化项执行模块,用于根据每个优化项的优化信息在所述一个或多个优化项中确定目标优化项,并执行所述目标优化项,以对所述固态硬盘的性能进行调整;
写入模块,用于确定所述写入操作对应的写入数据,并将所述写入数据和所述有效数据写入到所述固态硬盘中。
9.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述固态硬盘性能的调整方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述固态硬盘性能的调整方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211202690.XA CN115509454A (zh) | 2022-09-29 | 2022-09-29 | 一种固态硬盘数据的写入方法、装置、电子设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211202690.XA CN115509454A (zh) | 2022-09-29 | 2022-09-29 | 一种固态硬盘数据的写入方法、装置、电子设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115509454A true CN115509454A (zh) | 2022-12-23 |
Family
ID=84509006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211202690.XA Pending CN115509454A (zh) | 2022-09-29 | 2022-09-29 | 一种固态硬盘数据的写入方法、装置、电子设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115509454A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116126239A (zh) * | 2022-12-30 | 2023-05-16 | 武汉麓谷科技有限公司 | 一种提高zns固态硬盘nor flash写入性能的方法 |
-
2022
- 2022-09-29 CN CN202211202690.XA patent/CN115509454A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116126239A (zh) * | 2022-12-30 | 2023-05-16 | 武汉麓谷科技有限公司 | 一种提高zns固态硬盘nor flash写入性能的方法 |
CN116126239B (zh) * | 2022-12-30 | 2024-01-23 | 武汉麓谷科技有限公司 | 一种提高zns固态硬盘nor flash写入性能的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704239B2 (en) | Garbage collection method for storage medium, storage medium, and program product | |
JP6817318B2 (ja) | フラッシュメモリデバイスにアクセスするための方法および装置 | |
US9110669B2 (en) | Power management of a storage device including multiple processing cores | |
US8793427B2 (en) | Remote memory for virtual machines | |
KR101894625B1 (ko) | 데이터 저장 시스템들에 대한 우선순위 기반 가비지 수집 | |
JP4802284B2 (ja) | 半導体記憶装置及びその制御方法 | |
US8397017B2 (en) | Controller and data storage device | |
US20120317337A1 (en) | Managing data placement on flash-based storage by use | |
JP6527577B2 (ja) | ファイルシステムにおけるフラッシング | |
WO2009006803A1 (fr) | Procédé et appareil pour effectuer un nivellement d'usure en mémoire | |
KR20070089460A (ko) | 우선 순위에 따른 비휘발성 메모리의 연산 처리 장치 및방법 | |
CN111026326A (zh) | 存储器控制器、存储装置及管理元数据的方法 | |
CN111880723B (zh) | 数据储存装置与数据处理方法 | |
JP6167646B2 (ja) | 情報処理装置、制御回路、制御プログラム、および制御方法 | |
US20170017405A1 (en) | Systems and methods for improving flash-oriented file system garbage collection | |
CN110674056A (zh) | 一种垃圾回收方法及装置 | |
CN115509454A (zh) | 一种固态硬盘数据的写入方法、装置、电子设备以及介质 | |
US11698742B2 (en) | Garbage collection in a memory component using an adjusted parameter | |
CN101859278B (zh) | 用于闪存的数据储存方法及储存系统 | |
US20170017406A1 (en) | Systems and methods for improving flash-oriented file system garbage collection | |
CN113961517A (zh) | 文件系统管理方法、电子设备及存储介质 | |
CN112286843B (zh) | 数据存储系统的系统和方法 | |
CN113918094A (zh) | 一种ssd写带宽控制方法 | |
CN115079959B (zh) | 一种文件管理的方法、装置及电子设备 | |
TWI773371B (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 |