CN111857572B - Tlc固态硬盘的数据写入方法、装置、设备及存储介质 - Google Patents

Tlc固态硬盘的数据写入方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN111857572B
CN111857572B CN202010569341.6A CN202010569341A CN111857572B CN 111857572 B CN111857572 B CN 111857572B CN 202010569341 A CN202010569341 A CN 202010569341A CN 111857572 B CN111857572 B CN 111857572B
Authority
CN
China
Prior art keywords
data
writing
logic unit
num
unit numbers
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
Application number
CN202010569341.6A
Other languages
English (en)
Other versions
CN111857572A (zh
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010569341.6A priority Critical patent/CN111857572B/zh
Publication of CN111857572A publication Critical patent/CN111857572A/zh
Application granted granted Critical
Publication of CN111857572B publication Critical patent/CN111857572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

Abstract

本发明涉及一种TLC固态硬盘的数据写入方法、装置、设备及存储介质。所述方法包括:获取TLC固态硬盘的多个逻辑单元号;连续接收多个数据写入请求;根据预设写分发规则将所述多个数据写入请求分发给所述多个逻辑单元号,其中,所述预设分发规则为将任意两个连续的数据写入请求分别分发给不同的两个逻辑单元号;将所述多个数据写入请求的数据写入对应的逻辑单元号中。本发明的方案改变了传统的顺序写的规则,通过预设分发规则将任意两个连续的数据写入请求分别分发给不同的两个逻辑单元号,使得两个连续的写请求不会写入相同的逻辑单元号中,方便后续使用多个逻辑单元号并发进行顺序读。

Description

TLC固态硬盘的数据写入方法、装置、设备及存储介质
技术领域
本发明涉及固态硬盘技术领域,具体来说涉及一种TLC固态硬盘的数据写入方法、装置、设备及存储介质。
背景技术
固态硬盘的NAND闪存颗粒的类型分为四种,分别是单层式存储单元(SLC)、双层式存储单元(MLC)、三层式存储单元(TLC)、以及四层式存储单元(QLC)。对于NAND闪存颗粒为三层式存储单元的固态硬盘(以下简称TLC固态硬盘),逻辑单元号(Logical Unit Number,简称lun)是TLC固态硬盘的组成单位,lun由若干物理块(block)组成,物理块由物理页(page)组成,不同的lun能够并发执行读/写命令,而一个lun一次只能执行一个命令。lun是TLC固态硬盘并发的单位,即数据在读取时可以同时读取多个lun中的数据。
目前,TLC固态硬盘在在顺序写时按照收到的数据的顺序将数据写入到lun的各个物理页(page)中,其写的单位是三个物理页;举例来说,请参照图1所示,假设连续收到的三个数据写请求即page1,page2和page3,TLC固态硬盘在写时是以三个物理页为单位进行写,因而page1,page2和page3会被一同写入到lun1中;而在TLC固态硬盘进行数据读取时读取的单位是一个物理页,lun1需要执行三次读指令才能将page1,page2和page3读取出来;由此可见现有的TLC固态硬盘读和写单位不匹配,导致不能利用lun并发读取连续写入的数据,影响了顺序读的性能。
发明内容
有鉴于此,有必要针对以上技术问题,提供了一种能够匹配固态硬盘以一个物理页为单位进行顺序读的TLC固态硬盘的数据写入方法、装置、设备及存储介质。
根据本发明的一面,提供了一种TLC固态硬盘的数据写入方法,所方法包括:
获取TLC固态硬盘的多个逻辑单元号;
连续接收多个数据写入请求;
根据预设写分发规则将所述多个数据写入请求分发给所述多个逻辑单元号,其中,所述预设分发规则为将任意两个连续的数据写入请求分别分发给不同的两个逻辑单元号;
将所述多个数据写入请求的数据写入对应的逻辑单元号中。
在其中一个实施例中,所述根据预设写分发规则将所述多个数据写入请求分发给所述多个逻辑单元号的步骤还包括:
对所述多个数据写入请求顺序分配标号,以得到排列次序;
获取所述TLC固态硬盘的RAID长度,以及内存中可缓存数据帧的个数;
根据所述排列次序、所述RAID长度、所述可缓存数据帧的个数以及预设公式得到每个数据写入请求对应的逻辑单元号。
在其中一个实施例中,所述预设公式为:
lun=wr_num / (3 * num_of_turns) % (RAID / num_of_turns) * num_of_turns + wr_num % num_of_turns
其中,lun为逻辑单元号,wr_num为数据写入请求的排列次序,num_of_turns为可缓存数据帧的个数,RAID为RAID长度值,%为取余运算。
在其中一个实施例中,所述将所述多个数据写入请求的数据写入对应的逻辑单元号包括:采用并发方式向所述多个逻辑单元号写入数据。
根据本发明的另一方面,提供了一种TLC固态硬盘的数据写入装置,所述装置包括:
第一获取模块,用于获取TLC固态硬盘的多个逻辑单元号;
写请求接收模块,用于连续接收多个数据写入请求;
写请求分发模块,用于根据预设写分发规则将所述多个数据写入请求分发给所述多个逻辑单元号,其中,所述预设分发规则为将任意两个连续的数据写入请求分别分发给不同的两个逻辑单元号;
数据写入模块,用于将所述多个数据写入请求的数据写入对应的逻辑单元号中。
在其中一个实施例中,所述写请求分发模块还包括:
排序模块,用于对所述多个数据写入请求顺序分配标号,以得到排列次序;
第二获取模块,用于获取所述TLC固态硬盘的RAID长度,以及内存中可缓存数据帧的个数;
分配模块,用于根据所述排列次序、所述RAID长度、所述可缓存数据帧的个数以及预设公式得到每个数据写入请求对应的逻辑单元号。
在其中一个实施例中,所述数据写入模块采用并发方式同时向所述多个逻辑单元号写入数据。
根据本发明的又一方面还提供了一种TLC固态硬盘的数据读取方法,其特征在于,采用并发方式读取以上所述方法的多个逻辑单元号中的数据。
根据本发明的又一方面,还提供了一种计算机设备,该计算机设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的TLC固态硬盘的数据写入方法。
根据本发明的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的TLC固态硬盘的数据写入方法。
上述TLC固态硬盘的数据写入方法、装置、设备及存储介质,改变了传统的顺序写的规则,通过预设分发规则将任意两个连续的数据写入请求分别分发给不同的两个逻辑单元号,使得两个连续的写请求不会写入相同的逻辑单元号中,方便后续使用多个逻辑单元号并发进行顺序读。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为传统的TLC固态硬盘顺序写分发规则的示意图;
图2为本发明一个实施例中提供的一种TLC固态硬盘的数据写入方法的流程示意图;
图3为本发明另一个实施例中步骤600的子流程示意图;
图4为本发明一个实施例中预设写分发规则的示意图;
图5为本发明又一个实施例中提供的一种TLC固态硬盘的数据写入装置的结构示意图;
图6为本发明另一个实施例中算机设备的内部结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
在一个实施例中,请参照如图2所示,提供了一种TLC固态硬盘的数据写入方法,具体的该方法包括以下步骤:
S200,获取TLC固态硬盘的多个逻辑单元号。
S400,连续接收多个数据写入请求。
S600,根据预设写分发规则将多个数据写入请求分发给多个逻辑单元号,其中,预设分发规则为将任意两个连续的数据写入请求分别分发给不同的两个逻辑单元号。
S800,将多个数据写入请求的数据写入对应的逻辑单元号中。
上述TLC固态硬盘的数据写入方法改变了传统的顺序写的规则,通过预设分发规则将任意两个连续的数据写入请求分别分发给不同的两个逻辑单元号,使得两个连续的写请求不会写入相同的逻辑单元号中,方便后续使用多个逻辑单元号并发进行顺序读。
在又一个实施例中,请参照图3所示,上述步骤600具体包括以下子步骤:
S620,对多个数据写入请求顺序分配标号,以得到排列次序。
其中,顺序分配标号是指依次对收到的请求进行编号排序,例如收到九个数据写入请求,则将九个数据写入请求page1、page2、page3、……page9,则将page1记为wr_num1,page2记为wr_num2…依次类推。
S640,获取TLC固态硬盘的RAID长度,以及内存中可缓存数据帧的个数。
其中,可缓存数据帧的个数即为固态硬盘内存中可缓存的空间,可缓存数据帧的个数就lun是能够轮转的个数记为num_of_turns。
其中,RAID长度是指RAID组包含多少个逻辑单元号的相同位置的物理块中的相同位置的物理页的数量,例如RAID长度可以时32、64、128等。
S660,根据写请求排列次序、RAID长度、可缓存数据帧的个数以及预设公式得到每个数据写入请求对应的逻辑单元号。
优选的,预设公式为:lun=wr_num / (3 * num_of_turns) % (RAID / num_of_turns) * num_of_turns + wr_num % num_of_turns其中,lun为逻辑单元号,wr_num为排列次序,num_of_turns为可缓存数据帧的个数,RAID为RAID长度值,%为取余运算。
上述TLC固态硬盘的数据写入方法,兼顾了内存中能缓存的数据帧的个数和固态硬盘的lun的个数,将连续的写请求在多个lun中进行轮转,从而使得两个连续的写请求不会写到相同的lun上。
在又一个实施例中,请参照图4所示,为了便于理解本发明的技术方案,下面以连续接收到九个数据写入请求page1-page9,内存中可缓存的数据帧的个数是三个为例说明:从全部的lun中选取三个lun,即lun1、lun2和lun3;在将数据请求写入lun1、lun2和lun3时,本发明方法将page1、page4和page7的数据写入请求分发给lun1,将page2、page5、page7的数据写入请求分发给lun2,以及将page3、page6、page9的数据写入请求分发给lun3;由此任意两个连续数据写入请求对应的数据都会分配到两个不同的lun中。后续可以采用并发方式向lun1、lun2和lun3写入各自对应的数据。
在另一个实施例中,本发明还提供了一种TLC固态硬盘的数据读取方法,具体的,该方法采用并发方式读取以上所述TLC固态硬盘的数据写入方法的多个逻辑单元号中的数据。请再次参照图4所所示,举例来说并发读取lun1、lun2和lun3数据,对于连续的写入的page1、page2和page3主要读取一次就能完成顺序读,实现了顺序读时最大程度的并发、提高了带宽。
应该理解的是,虽然图2和3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在又一个实施例中,请参照图5所示,提供了一种TLC固态硬盘的数据写入装置90,具体的该装置包括:
第一获取模块91,用于获取TLC固态硬盘的多个逻辑单元号;
写请求接收模块92,用于连续接收多个数据写入请求;
写请求分发模块93,用于根据预设写分发规则将多个数据写入请求分发给多个逻辑单元号,其中,预设分发规则为将任意两个连续的数据写入请求分别分发给不同的两个逻辑单元号;
数据写入模块,用于将多个数据写入请求的数据写入对应的逻辑单元号中,优选地,数据写入模块采用并发方式同时向多个逻辑单元号写入数据。
在又一个实例中,写请求分发模块93还包括:
排序模块,用于对多个数据写入请求顺序分配标号,以得到排列次序
第二获取模块,用于获取TLC固态硬盘的RAID长度,以及内存中可缓存数据帧的个数;
分配模块,用于根据排列次序、RAID长度、可缓存数据帧的个数以及预设公式得到每个数据写入请求对应的逻辑单元号。
需要说明的是,关于TLC固态硬盘的数据写入装置的具体限定可以参见上文中对于TLC固态硬盘的数据写入方法的限定,在此不再赘述。上述TLC固态硬盘的数据写入装置中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各单元可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个单元对应的操作。
在又一个实施例中,请参照图提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现以上所述的TLC固态硬盘的数据写入方法。
根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的TLC固态硬盘的数据写入方法。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,TLC固态硬盘的数据写入方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM 可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。
在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (7)

1.一种TLC固态硬盘的数据写入方法,其特征在于,所述方法包括:
获取TLC固态硬盘的多个逻辑单元号;
连续接收多个数据写入请求;
根据预设写分发规则将所述多个数据写入请求分发给所述多个逻辑单元号,其中,所述预设写分发规则为将任意两个连续的数据写入请求分别分发给不同的两个逻辑单元号;
将所述多个数据写入请求的数据写入对应的逻辑单元号中;
所述根据预设写分发规则将所述多个数据写入请求分发给所述多个逻辑单元号的步骤还包括:
对所述多个数据写入请求顺序分配标号,以得到排列次序;
获取所述TLC固态硬盘的RAID长度,以及内存中可缓存数据帧的个数;
根据所述排列次序、所述RAID长度、所述可缓存数据帧的个数以及预设公式得到每个数据写入请求对应的逻辑单元号;
所述预设公式为:
lun=wr_num / (3 * num_of_turns) % (RAID / num_of_turns) * num_of_turns +wr_num % num_of_turns
其中,lun为逻辑单元号,wr_num为排列次序,num_of_turns为可缓存数据帧的个数,RAID为RAID长度值,%为取余运算。
2.根据权利要求1所述的方法,其特征在于,所述将所述多个数据写入请求的数据写入对应的逻辑单元号包括:采用并发方式向所述多个逻辑单元号写入数据。
3.一种TLC固态硬盘的数据写入装置,其特征在于,所述装置包括:
第一获取模块,用于获取TLC固态硬盘的多个逻辑单元号;
写请求接收模块,用于连续接收多个数据写入请求;
写请求分发模块,用于根据预设写分发规则将所述多个数据写入请求分发给所述多个逻辑单元号,其中,所述预设写分发规则为将任意两个连续的数据写入请求分别分发给不同的两个逻辑单元号;
数据写入模块,用于将所述多个数据写入请求的数据写入对应的逻辑单元号中;
其中,所述写请求分发模块还包括:
排序模块,用于对所述多个数据写入请求顺序分配标号,以得到排列次序
第二获取模块,用于获取所述TLC固态硬盘的RAID长度,以及内存中可缓存数据帧的个数;
分配模块,用于根据所述排列次序、所述RAID长度、所述可缓存数据帧的个数以及预设公式得到每个数据写入请求对应的逻辑单元号;
所述预设公式为:
lun=wr_num / (3 * num_of_turns) % (RAID / num_of_turns) * num_of_turns +wr_num % num_of_turns
其中,lun为逻辑单元号,wr_num为排列次序,num_of_turns为可缓存数据帧的个数,RAID为RAID长度值,%为取余运算。
4.根据权利要求3所述的装置,其特征在于,所述数据写入模块采用并发方式同时向所述多个逻辑单元号写入数据。
5.一种TLC固态硬盘的数据读取方法,其特征在于,采用并发方式读取权利要求1-2任意一项所述方法的多个逻辑单元号中的数据。
6.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行权利要求1-2任意一项所述的方法。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-2任意一项所述的方法。
CN202010569341.6A 2020-06-20 2020-06-20 Tlc固态硬盘的数据写入方法、装置、设备及存储介质 Active CN111857572B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010569341.6A CN111857572B (zh) 2020-06-20 2020-06-20 Tlc固态硬盘的数据写入方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010569341.6A CN111857572B (zh) 2020-06-20 2020-06-20 Tlc固态硬盘的数据写入方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN111857572A CN111857572A (zh) 2020-10-30
CN111857572B true CN111857572B (zh) 2022-07-26

Family

ID=72987702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010569341.6A Active CN111857572B (zh) 2020-06-20 2020-06-20 Tlc固态硬盘的数据写入方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN111857572B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259474B (zh) 2021-06-10 2021-10-08 苏州浪潮智能科技有限公司 一种存储管理方法、系统、存储介质及设备
CN115080470B (zh) * 2022-06-27 2024-02-20 中国科学技术大学 基于模式检测器的逐束团多数据同步方法及电子设备
CN115185471B (zh) * 2022-09-05 2022-12-23 北京得瑞领新科技有限公司 Nand闪存颗粒及其逻辑单元筛选方法、电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107665097A (zh) * 2017-08-22 2018-02-06 深圳市硅格半导体股份有限公司 一种固态硬盘分区的方法、装置及计算机可读存储介质
CN111240595A (zh) * 2020-01-10 2020-06-05 苏州浪潮智能科技有限公司 一种存储缓存优化的方法、系统、设备及介质
CN111433753A (zh) * 2017-10-30 2020-07-17 美光科技公司 动态l2p高速缓存

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107665097A (zh) * 2017-08-22 2018-02-06 深圳市硅格半导体股份有限公司 一种固态硬盘分区的方法、装置及计算机可读存储介质
CN111433753A (zh) * 2017-10-30 2020-07-17 美光科技公司 动态l2p高速缓存
CN111240595A (zh) * 2020-01-10 2020-06-05 苏州浪潮智能科技有限公司 一种存储缓存优化的方法、系统、设备及介质

Also Published As

Publication number Publication date
CN111857572A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111857572B (zh) Tlc固态硬盘的数据写入方法、装置、设备及存储介质
CN101288054B (zh) 闪存管理方法、系统、存储设备、以及闪存设备
US10275361B2 (en) Managing multiple namespaces in a non-volatile memory (NVM)
US20080195833A1 (en) Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit
US7526600B2 (en) Data management device and method for flash memory
US20110022807A1 (en) Write once recording device
US20190146925A1 (en) Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
JP2001350665A (ja) ブロックアラインメント機能付き半導体記憶装置
DE102009026178A1 (de) Mehrstufiger Controller mit intelligentem Speicher-Transfer-Manager zum Verschachteln mehrfacher Ein-Chip-Flash-Speichereinheiten
US20150317083A1 (en) Synergetic deduplication
US8892812B2 (en) Flash memory device and data writing method for a flash memory
US11379155B2 (en) System and method for flash storage management using multiple open page stripes
CN111796759B (zh) 多平面上的片段数据读取的计算机可读取存储介质及方法
US20210141721A1 (en) System and method for facilitating efficient utilization of nand flash memory
EP3752905A1 (en) Append only streams for storing data on a solid state device
CN114203237A (zh) 分区命名空间设备中的读取处置
US8176103B2 (en) File access method and system
JP2006039772A (ja) メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法
US20190347037A1 (en) Data storage apparatus and system information programming method therefor
CN104133640B (zh) 从休眠快速恢复
CN105912279B (zh) 固态存储回收系统及固态存储回收方法
US11934264B2 (en) ECC parity biasing for Key-Value data storage devices
JP2004151939A (ja) 記憶装置
KR20150142250A (ko) 컨트롤러의 작동 방법과 상기 컨트롤러를 포함하는 장치의 작동 방법
CN115857811A (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