CN111913662B - Slc写性能提升方法、装置、计算机设备及存储介质 - Google Patents
Slc写性能提升方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111913662B CN111913662B CN202010744654.0A CN202010744654A CN111913662B CN 111913662 B CN111913662 B CN 111913662B CN 202010744654 A CN202010744654 A CN 202010744654A CN 111913662 B CN111913662 B CN 111913662B
- Authority
- CN
- China
- Prior art keywords
- data
- command
- writing
- write
- nand flash
- 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.)
- Active
Links
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/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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及SLC写性能提升方法、装置、计算机设备及存储介质,该方法包括获取来自主机的写数据命令;根据写数据命令分配DRAM或SRAM以进行数据的写入和读取,以得到待写入数据;将所述待写入数据写入Nand Flash中。本发明通过获取写数据命令,并根据写数据命令查询写入的位置,按照数据写入Nand Flash的方式为SLC的命令则写入SRAM内,数据写入Nand Flash的方式为TLC的命令则写入DRAM内的原则,将数据写入并从对应的位置读取后写入至Nand Flash内,解决SLC写性能受DRAM性能瓶颈约束的问题,实现提升SSD SLC写性能,又不增加整体成本。
Description
技术领域
本发明涉及固态硬盘,更具体地说是指SLC写性能提升方法、装置、计算机设备及存储介质。
背景技术
NAND Flash闪存芯片是SSD(固态硬盘,Solid State Disk)存储数据的主要部分。目前市场主流的闪存芯片是TLC(单个存储单元存储三比特的数据,Triple-Level Cell),TLC的特点是读写速度慢,约500-1500次擦写寿命,寿命短;价格便宜。而SLC(单个存储单元存储一比特的数据,Single-Level Cell)的特点是读写速度快,但是价格贵,TLC SSD为了解决NAND Flash读写慢的问题,固件会分配一定比例的SLC高速缓冲区域,SLC高速缓冲区域是在既有的TLC NAND Flash里面划出一部分空间作为SLC使用,以提升SSD的读写性能,因此对于提升SSD写性能的关键在于如何提升SLC的写性能。主机在往SSD写入数据过程需要将数据在内存中缓存,对于512G SSD的数据缓冲器需要8M左右,综合内存的价格和空间大小考虑,SSD厂商通常将数据存放于DRAM(动态随机存取存储器,Dynamic Random AccessMemory)中,16位宽的DRAM读写共享带宽理论性能是2.4GB/S,写性能理论为1.2GB/S,但是512G的SSD写性能SPEC要求大于1.6GB/S,受DRAM带宽限制无法满足要求。
目前SSD主要使用DRAM作为主机写数据的数据缓冲器,且不区分SLC和TLC。对于512G的SSD来说,SLC写性能理论上可以达到1.8GB/S,但使用DRAM作为主机写数据的数据缓冲器,受DRAM带宽限制,性能只能达到1.2GB/S。而如果使用SRAM(静态随机存取存储器,Static Random-Access Memory)或者TCM(终端设备至计算机多路转接器,Terminal toComputer Multiplexer)作为数据缓冲器性能可以达到1.8GB/S,但是高速的内存价格较高,因此增加这些存储空间,会导致SSD的成本增加很多,降低市场竞争力,且目前主机写命令的处理流程为主机下发写命令,将数据放入DRAM,SSD控制器下发写命令,将数据从DRAM读出,写入NAND Flash,DRAM带宽被读写各占一半,因此对于16位宽的DRAM来说,写性能理论最高1.2GB/S。由于性能测试过程中写操作主要写入SLC空间,且SLC写入量相对TLC较小,SSD写性能较低。
因此,有必要设计一种新的方法,实现提升SSD SLC写性能,又不增加整体成本。
发明内容
本发明的目的在于克服现有技术的缺陷,提供SLC写性能提升方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:SLC写性能提升方法,包括:
获取来自主机的写数据命令;
根据写数据命令分配DRAM或SRAM以进行数据的写入和读取,以得到待写入数据;
将所述待写入数据写入Nand Flash中。
其进一步技术方案为:所述根据写数据命令分配DRAM或SRAM以进行数据的写入和读取,以得到待写入数据,包括:
根据所述写数据命令查询写入位置,以得到目标位置;
将所述写数据命令内的数据写入目标位置;
下发Nand Flash写命令,并从所述目标位置中读取对应的数据,以得到待写入数据。
其进一步技术方案为:所述根据所述写数据命令查询写入位置,以得到目标位置,包括:
判断所述写数据命令是否是数据写入Nand Flash的方式为SLC的命令;
若所述写数据命令是数据写入Nand Flash的方式为SLC的命令,则分配SRAM为写入位置,以得到目标位置;
若所述写数据命令不是数据写入Nand Flash的方式为SLC的命令,则分配DRAM为写入位置,以得到目标位置。
其进一步技术方案为:所述下发Nand Flash写命令,并从所述目标位置中读取对应的数据,以得到待写入数据,包括:
下发Nand Flash写命令;
根据所述Nand Flash写命令以及目标位置的地址读取对应的数据,以得到待写入数据。
其进一步技术方案为:所述将所述待写入数据写入Nand Flash中,包括:
将所述待写入数据写入Nand Flash中相应的物理空间;
更新Nand Flash中的映射表。
本发明还提供了SLC写性能提升装置,包括:
命令获取单元,用于获取来自主机的写数据命令;
处理单元,用于根据写数据命令分配DRAM或SRAM以进行数据的写入和读取,以得到待写入数据;
写入单元,用于将所述待写入数据写入Nand Flash中。
其进一步技术方案为:所述处理单元包括:
位置查询子单元,用于根据所述写数据命令查询写入位置,以得到目标位置;
数据写入子单元,用于将所述写数据命令内的数据写入目标位置;
数据读取子单元,用于下发Nand Flash写命令,并从所述目标位置中读取对应的数据,以得到待写入数据。
其进一步技术方案为:所述位置查询子单元包括:
命令判断模块,用于判断所述写数据命令是否是数据写入Nand Flash的方式为SLC的命令;
第一分配模块,用于若所述写数据命令是数据写入Nand Flash的方式为SLC的命令,则分配SRAM为写入位置,以得到目标位置;
第二分配模块,用于若所述写数据命令不是数据写入Nand Flash的方式为SLC的命令,则分配DRAM为写入位置,以得到目标位置。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过获取写数据命令,并根据写数据命令查询写入的位置,按照数据写入Nand Flash的方式为SLC的命令则写入SRAM内,数据写入Nand Flash的方式为TLC的命令则写入DRAM内的原则,将数据写入并从对应的位置读取后写入至Nand Flash内,解决SLC写性能受DRAM性能瓶颈约束的问题,实现提升SSD SLC写性能,又不增加整体成本。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的SLC写性能提升方法的应用场景示意图;
图2为本发明实施例提供的SLC写性能提升方法的流程示意图;
图3为本发明实施例提供的SLC写性能提升方法的子流程示意图;
图4为本发明实施例提供的SLC写性能提升方法的子流程示意图;
图5为本发明实施例提供的SLC写性能提升方法的子流程示意图;
图6为本发明实施例提供的SLC写性能提升方法的子流程示意图;
图7为本发明实施例提供的SLC写性能提升装置的示意性框图;
图8为本发明实施例提供的SLC写性能提升装置的处理单元的示意性框图;
图9为本发明实施例提供的SLC写性能提升装置的位置查询子单元的示意性框图;
图10为本发明实施例提供的SLC写性能提升装置的数据读取子单元的示意性框图;
图11为本发明实施例提供的SLC写性能提升装置的写入单元的示意性框图;
图12为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的SLC写性能提升方法的应用场景示意图。图2为本发明实施例提供的SLC写性能提升方法的示意性流程图。该SLC写性能提升方法应用于固态硬盘中,该固态硬盘与服务器进行数据交互,其中,服务器作为主机,向固态硬盘下发写入数据的命令,固态硬盘根据该命令分配DRAM或SRAM作为数据缓冲器进行数据缓冲,进而写入至Nand Flash中。
图2是本发明实施例提供的SLC写性能提升方法的流程示意图。如图2所示,该方法包括以下步骤S110至S130。
S110、获取来自主机的写数据命令。
在本实施例中,写数据命令是指主机下发且请求将数据写入至Nand Flash中对应的命令,具体地,该写数据命令包括两种形式,一种是该数据写入Nand Flash中所用的方式是SLC,另外一种是该数据写入Nand Flash中所用的方式是TLC,根据写入的方式不同采用不同的缓冲器进行数据缓冲,以提升整个SSD写性能。
S120、根据写数据命令分配DRAM或SRAM以进行数据的写入和读取,以得到待写入数据。
在本实施例中,待写入数据是指将要写入至Nand Flash中的数据。
在一实施例中,请参阅图3,上述的步骤S120可包括步骤S121~S123。
S121、根据所述写数据命令查询写入位置,以得到目标位置。
在本实施例中,目标位置包括DRAM和SRAM,均是用于缓存数据的缓冲器。
在一实施例中,请参阅图4,上述的步骤S121可包括步骤S1211~S1213。
S1211、判断所述写数据命令是否是数据写入Nand Flash的方式为SLC的命令;
S1212、若所述写数据命令是数据写入Nand Flash的方式为SLC的命令,则分配SRAM为写入位置,以得到目标位置;
S1213、若所述写数据命令不是数据写入Nand Flash的方式为SLC的命令,则分配DRAM为写入位置,以得到目标位置。
写入SLC的数据缓冲器的资源分配为SRAM;写入TLC的数据缓冲器的资源分配为DRAM,提前预判数据将写到TLC还是SLC,分别将TLC和SLC的写数据缓冲器对应放在DRAM和SRAM,解决SLC写性能受DRAM性能瓶颈约束的问题,有效提高SLC写性能,提升用户体验。对于大部分性能测试,数据都会优先写入SLC空间,此时数据缓冲器的读写操作都使用SRAM,有效提高SSD写性能。
S122、将所述写数据命令内的数据写入目标位置;
S123、下发Nand Flash写命令,并从所述目标位置中读取对应的数据,以得到待写入数据。
在一实施例中,请参阅图5,上述的步骤S123可包括步骤S1231~S1232。
S1231、下发Nand Flash写命令;
S1232、根据所述Nand Flash写命令以及目标位置的地址读取对应的数据,以得到待写入数据。
当数据写在SRAM中时,下发命令将数据从SRAM读出;当数据写在DRAM中时,下发命令将数据从DRAM读出。
S130、将所述待写入数据写入Nand Flash中。
在一实施例中,请参阅图6,上述的步骤S130可包括步骤S131~S132。
S131、将所述待写入数据写入Nand Flash中相应的物理空间;
S132、更新Nand Flash中的映射表。
主机写入数据时,先调用算法模块接口,查询写入位置,如果写入SLC则分配SRAM的数据缓存空间,如果写入TLC则分配DRAM的数据缓存空间,下发Nand Flash写命令时,再从相应的数据缓存的地址读取数据。对于大部分性能测试,数据都会优先写入SLC空间,此时数据缓存的读写操作都使用SRAM,有效提高SSD写性能,解决SLC写性能受DRAM性能瓶颈约束的问题,有效提高SLC写性能,提升用户体验。
上述的SLC写性能提升方法,通过获取写数据命令,并根据写数据命令查询写入的位置,按照数据写入Nand Flash的方式为SLC的命令则写入SRAM内,数据写入Nand Flash的方式为TLC的命令则写入DRAM内的原则,将数据写入并从对应的位置读取后写入至NandFlash内,解决SLC写性能受DRAM性能瓶颈约束的问题,实现提升SSD SLC写性能,又不增加整体成本。
图7是本发明实施例提供的一种SLC写性能提升装置300的示意性框图。如图7所示,对应于以上种SLC写性能提升方法,本发明还提供一种种SLC写性能提升装置300。该种SLC写性能提升装置300包括用于执行上述种SLC写性能提升方法的单元,该装置可以被配置于固态硬盘中。具体地,请参阅图7,该种SLC写性能提升装置300包括命令获取单元301、处理单元302以及写入单元303。
命令获取单元301,用于获取来自主机的写数据命令;处理单元302,用于根据写数据命令分配DRAM或SRAM以进行数据的写入和读取,以得到待写入数据;写入单元303,用于将所述待写入数据写入Nand Flash中。
在一实施例中,如图8所示,所述处理单元302包括位置查询子单元3021、数据写入子单元3022以及数据读取子单元3023。
位置查询子单元3021,用于根据所述写数据命令查询写入位置,以得到目标位置;数据写入子单元3022,用于将所述写数据命令内的数据写入目标位置;数据读取子单元3023,用于下发Nand Flash写命令,并从所述目标位置中读取对应的数据,以得到待写入数据。
在一实施例中,如图9所示,所述位置查询子单元3021包括命令判断模块30211、第一分配模块30212以及第二分配模块30213。
命令判断模块30211,用于判断所述写数据命令是否是数据写入Nand Flash的方式为SLC的命令;第一分配模块30212,用于若所述写数据命令是数据写入Nand Flash的方式为SLC的命令,则分配SRAM为写入位置,以得到目标位置;第二分配模块30213,用于若所述写数据命令不是数据写入Nand Flash的方式为SLC的命令,则分配DRAM为写入位置,以得到目标位置。
在一实施例中,如图10所示,所述数据读取子单元3023包括写命令下发模块30231以及读取模块30232。
写命令下发模块30231,用于下发Nand Flash写命令;读取模块30232,用于根据所述Nand Flash写命令以及目标位置的地址读取对应的数据,以得到待写入数据。
在一实施例中,如图11所示,所述写入单元303包括数据处理子单元3031以及更新子单元3032。
数据处理子单元3031,用于将所述待写入数据写入Nand Flash中相应的物理空间;更新子单元3032,用于更新Nand Flash中的映射表。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述SLC写性能提升装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述SLC写性能提升装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图12所示的计算机设备上运行。
请参阅图12,图12是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以带有固态硬盘的设备中。
参阅图12,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种SLC写性能提升方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种SLC写性能提升方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
获取来自主机的写数据命令;根据写数据命令分配DRAM或SRAM以进行数据的写入和读取,以得到待写入数据;将所述待写入数据写入Nand Flash中。
在一实施例中,处理器502在实现所述根据写数据命令分配DRAM或SRAM以进行数据的写入和读取,以得到待写入数据步骤时,具体实现如下步骤:
根据所述写数据命令查询写入位置,以得到目标位置;将所述写数据命令内的数据写入目标位置;下发Nand Flash写命令,并从所述目标位置中读取对应的数据,以得到待写入数据。
在一实施例中,处理器502在实现所述根据所述写数据命令查询写入位置,以得到目标位置步骤时,具体实现如下步骤:
判断所述写数据命令是否是数据写入Nand Flash的方式为SLC的命令;若所述写数据命令是数据写入Nand Flash的方式为SLC的命令,则分配SRAM为写入位置,以得到目标位置;若所述写数据命令不是数据写入Nand Flash的方式为SLC的命令,则分配DRAM为写入位置,以得到目标位置。
在一实施例中,处理器502在实现所述下发Nand Flash写命令,并从所述目标位置中读取对应的数据,以得到待写入数据步骤时,具体实现如下步骤:
下发Nand Flash写命令;根据所述Nand Flash写命令以及目标位置的地址读取对应的数据,以得到待写入数据。
在一实施例中,处理器502在实现所述将所述待写入数据写入Nand Flash中步骤时,具体实现如下步骤:
将所述待写入数据写入Nand Flash中相应的物理空间;更新Nand Flash中的映射表。
应当理解,在本申请实施例中,处理器502可以是中央处理单元302(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
获取来自主机的写数据命令;根据写数据命令分配DRAM或SRAM以进行数据的写入和读取,以得到待写入数据;将所述待写入数据写入Nand Flash中。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据写数据命令分配DRAM或SRAM以进行数据的写入和读取,以得到待写入数据步骤时,具体实现如下步骤:
根据所述写数据命令查询写入位置,以得到目标位置;将所述写数据命令内的数据写入目标位置;下发Nand Flash写命令,并从所述目标位置中读取对应的数据,以得到待写入数据。
在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述写数据命令查询写入位置,以得到目标位置步骤时,具体实现如下步骤:
判断所述写数据命令是否是数据写入Nand Flash的方式为SLC的命令;若所述写数据命令是数据写入Nand Flash的方式为SLC的命令,则分配SRAM为写入位置,以得到目标位置;若所述写数据命令不是数据写入Nand Flash的方式为SLC的命令,则分配DRAM为写入位置,以得到目标位置。
在一实施例中,所述处理器在执行所述计算机程序而实现所述下发Nand Flash写命令,并从所述目标位置中读取对应的数据,以得到待写入数据步骤时,具体实现如下步骤:
下发Nand Flash写命令;根据所述Nand Flash写命令以及目标位置的地址读取对应的数据,以得到待写入数据。
在一实施例中,所述处理器在执行所述计算机程序而实现所述将所述待写入数据写入Nand Flash中步骤时,具体实现如下步骤:
将所述待写入数据写入Nand Flash中相应的物理空间;更新Nand Flash中的映射表。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元302中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (6)
1.SLC写性能提升方法,其特征在于,包括:
获取来自主机的写数据命令;
根据写数据命令分配DRAM或SRAM以进行数据的写入和读取,以得到待写入数据;
将所述待写入数据写入Nand Flash中;
所述根据写数据命令分配DRAM或SRAM以进行数据的写入和读取,以得到待写入数据,包括:
根据所述写数据命令查询写入位置,以得到目标位置;
将所述写数据命令内的数据写入目标位置;
下发Nand Flash写命令,并从所述目标位置中读取对应的数据,以得到待写入数据;
所述根据所述写数据命令查询写入位置,以得到目标位置,包括:
判断所述写数据命令是否是数据写入Nand Flash的方式为SLC的命令;
若所述写数据命令是数据写入Nand Flash的方式为SLC的命令,则分配SRAM为写入位置,以得到目标位置;
若所述写数据命令不是数据写入Nand Flash的方式为SLC的命令,则分配DRAM为写入位置,以得到目标位置。
2.根据权利要求1所述的SLC写性能提升方法,其特征在于,所述下发Nand Flash写命令,并从所述目标位置中读取对应的数据,以得到待写入数据,包括:
下发Nand Flash写命令;
根据所述Nand Flash写命令以及目标位置的地址读取对应的数据,以得到待写入数据。
3.根据权利要求2所述的SLC写性能提升方法,其特征在于,所述将所述待写入数据写入Nand Flash中,包括:
将所述待写入数据写入Nand Flash中相应的物理空间;
更新Nand Flash中的映射表。
4.SLC写性能提升装置,其特征在于,包括:
命令获取单元,用于获取来自主机的写数据命令;
处理单元,用于根据写数据命令分配DRAM或SRAM以进行数据的写入和读取,以得到待写入数据;
写入单元,用于将所述待写入数据写入Nand Flash中;
所述处理单元包括:
位置查询子单元,用于根据所述写数据命令查询写入位置,以得到目标位置;
数据写入子单元,用于将所述写数据命令内的数据写入目标位置;
数据读取子单元,用于下发Nand Flash写命令,并从所述目标位置中读取对应的数据,以得到待写入数据;
所述位置查询子单元包括:
命令判断模块,用于判断所述写数据命令是否是数据写入Nand Flash的方式为SLC的命令;
第一分配模块,用于若所述写数据命令是数据写入Nand Flash的方式为SLC的命令,则分配SRAM为写入位置,以得到目标位置;
第二分配模块,用于若所述写数据命令不是数据写入Nand Flash的方式为SLC的命令,则分配DRAM为写入位置,以得到目标位置。
5.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至3中任一项所述的方法。
6.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010744654.0A CN111913662B (zh) | 2020-07-29 | 2020-07-29 | Slc写性能提升方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010744654.0A CN111913662B (zh) | 2020-07-29 | 2020-07-29 | Slc写性能提升方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111913662A CN111913662A (zh) | 2020-11-10 |
CN111913662B true CN111913662B (zh) | 2023-07-04 |
Family
ID=73287723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010744654.0A Active CN111913662B (zh) | 2020-07-29 | 2020-07-29 | Slc写性能提升方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111913662B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559385A (zh) * | 2020-12-22 | 2021-03-26 | 深圳忆联信息系统有限公司 | 提升ssd写性能的方法、装置、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104126203A (zh) * | 2011-12-30 | 2014-10-29 | 桑迪士克科技股份有限公司 | 使用平面之间的片上页面交换的元块尺寸缩小 |
CN107506137A (zh) * | 2017-08-11 | 2017-12-22 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘写性能的方法 |
CN107967121A (zh) * | 2017-10-25 | 2018-04-27 | 华为技术有限公司 | 数据写入方法和存储设备 |
CN110209357A (zh) * | 2019-06-04 | 2019-09-06 | 深圳忆联信息系统有限公司 | 提高ssd大文件写性能的方法、装置、计算机设备及存储介质 |
CN110413222A (zh) * | 2018-04-30 | 2019-11-05 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN110750215A (zh) * | 2019-10-14 | 2020-02-04 | 深圳忆联信息系统有限公司 | 提升固态硬盘随机读性能方法、装置和计算机设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9146851B2 (en) * | 2012-03-26 | 2015-09-29 | Compellent Technologies | Single-level cell and multi-level cell hybrid solid state drive |
US9213633B2 (en) * | 2013-04-30 | 2015-12-15 | Seagate Technology Llc | Flash translation layer with lower write amplification |
US20170285967A1 (en) * | 2016-03-29 | 2017-10-05 | Samsung Electronics Co., Ltd. | Multi-ware smart ssd |
-
2020
- 2020-07-29 CN CN202010744654.0A patent/CN111913662B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104126203A (zh) * | 2011-12-30 | 2014-10-29 | 桑迪士克科技股份有限公司 | 使用平面之间的片上页面交换的元块尺寸缩小 |
CN107506137A (zh) * | 2017-08-11 | 2017-12-22 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘写性能的方法 |
CN107967121A (zh) * | 2017-10-25 | 2018-04-27 | 华为技术有限公司 | 数据写入方法和存储设备 |
CN110413222A (zh) * | 2018-04-30 | 2019-11-05 | 爱思开海力士有限公司 | 数据存储装置及其操作方法 |
CN110209357A (zh) * | 2019-06-04 | 2019-09-06 | 深圳忆联信息系统有限公司 | 提高ssd大文件写性能的方法、装置、计算机设备及存储介质 |
CN110750215A (zh) * | 2019-10-14 | 2020-02-04 | 深圳忆联信息系统有限公司 | 提升固态硬盘随机读性能方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111913662A (zh) | 2020-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10296224B2 (en) | Apparatus, system and method for increasing the capacity of a storage device available to store user data | |
US20180275921A1 (en) | Storage device | |
US10402335B2 (en) | Method and apparatus for persistently caching storage data in a page cache | |
US20160232103A1 (en) | Block storage apertures to persistent memory | |
US9588896B2 (en) | Computer and memory control method | |
US9396141B2 (en) | Memory system and information processing device by which data is written and read in response to commands from a host | |
US10430329B2 (en) | Quality of service aware storage class memory/NAND flash hybrid solid state drive | |
KR20220060548A (ko) | 데이터가 저장된 메모리 디바이스를 식별하기 위해 저장된 메타데이터 액세싱 | |
US10635356B2 (en) | Data management method and storage controller using the same | |
KR102374239B1 (ko) | 판독 지연 시간 단축 방법 및 장치 | |
US11645006B2 (en) | Read performance of memory devices | |
US10769074B2 (en) | Computer memory content movement | |
US20200293441A1 (en) | Data storage devices and data processing methods | |
CN109799959B (zh) | 一种提高开放通道固态盘写并行性的方法 | |
US20190042153A1 (en) | Mass storage device capable of fine grained read and/or write operations | |
KR20180013693A (ko) | 초과 공급 메모리 장치들을 통합하기 위한 시스템 및 방법 | |
US10528285B2 (en) | Data storage device and method for operating non-volatile memory | |
US20210294528A1 (en) | Data processing device | |
US20190042415A1 (en) | Storage model for a computer system having persistent system memory | |
CN102567225A (zh) | 一种管理系统内存的方法及装置 | |
US9904622B2 (en) | Control method for non-volatile memory and associated computer system | |
KR102596964B1 (ko) | 맵 캐시 버퍼 크기를 가변시킬 수 있는 데이터 저장 장치 | |
US10185501B2 (en) | Method and apparatus for pinning memory pages in a multi-level system memory | |
CN111913662B (zh) | Slc写性能提升方法、装置、计算机设备及存储介质 | |
CN110737607A (zh) | 管理hmb内存的方法、装置、计算机设备及存储介质 |
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 |