CN109799959A - 一种提高开放通道固态盘写并行性的方法 - Google Patents
一种提高开放通道固态盘写并行性的方法 Download PDFInfo
- Publication number
- CN109799959A CN109799959A CN201910058679.2A CN201910058679A CN109799959A CN 109799959 A CN109799959 A CN 109799959A CN 201910058679 A CN201910058679 A CN 201910058679A CN 109799959 A CN109799959 A CN 109799959A
- Authority
- CN
- China
- Prior art keywords
- data
- state disk
- open channel
- buffer circle
- write
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种提高开放通道固态盘写并行性的方法,包括:创建N个环形缓冲区,分别用于缓存由N个CPU发送的写请求写入的数据;分别在各环形缓冲区的元数据中记录写回通道编号,用于标识将环形缓冲区中的数据写入开放通道固态盘时所选择的通道编号;初始时刻,写回通道编号相同的环形缓冲区数不超过对于每一个环形缓冲区Bi,持续检测其中缓存的数据量Di;在数据量Di大于或等于预设的数据量阈值时获得环形缓冲区Bi的写回通道编号Pi,并通过编号为Pi的通道将环形缓冲区Bi中的全部或部分数据写入开放通道固态盘;其中,N为主机中的CPU总数,M为开放通道固态盘中的通道总数。本发明能够有效提高开放通道固态盘的写并行性。
Description
技术领域
本发明属于固态存储领域领域,更具体地,涉及一种提高开放通道固态盘写并行性的方法。
背景技术
开放通道固态盘(Open-Channel SSD)是一种新型的固态盘设备。区别于传统的固态盘设备,开放通道固态盘不包含闪存转换层,将对闪存物理地址交给主机管理。
主机对于开放通道固态盘的管理方法主要分为三类:(1)在设备驱动程序中实现闪存转换层,对上层提供通用块接口;(2)在文件系统中实现闪存转换层,对上层提供通用的文件读写接口;(3)在应用程序中实现闪存转换层,直接对闪存进行使用。相比于另外两种管理方法,在设备驱动程序中实现闪存转换层具有更高的兼容性,现有的应用程序与文件系统不需要修改就可以直接对其进行使用。
现有的闪存设备驱动程序,通常会对写请求进行缓存。一种直接的方法是使用一个环形缓冲区。当用户写请求来临时,在环形缓冲区中申请空闲页,然后将数据写入环形缓冲区中。操作系统维持一个内核线程不断检查环形缓冲区中的数据量,一旦超过预先设置的阈值,就将数据写入开放通道固态盘中。由于可能会有多个应用程序同时发起写请求,申请环形缓冲区空闲页时需要对环形缓冲区加自旋锁,从而保证申请空闲页操作的正确性。当用户线程很多时,线程间需要互相竞争以获得缓冲区的自旋锁,没有获得锁的线程会反复查看自旋锁的状态,直到获得锁为止。由于自旋锁的特点,反复查看自旋锁状态的线程不可以被调度,从而会浪费大量处理器时间,进而降低系统性能。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种提高开放通道固态盘写并行性的方法,其目的在于提高开放通道固态盘的写并行性。
为实现上述目的,本发明提供了一种提高开放通道固态盘写并行性的方法,用于在驱动程序中实现对开放通道固态盘的管理,包括:
创建N个环形缓冲区,分别用于缓存由N个CPU发送的写请求写入的数据;
分别在各环形缓冲区的元数据中记录写回通道编号,用于标识将环形缓冲区中的数据写入开放通道固态盘时所选择的通道编号;初始时刻,写回通道编号相同的环形缓冲区数不超过
其中,N为主机中的CPU总数,M为开放通道固态盘中的通道总数,表示向上取整。
在处理写请求时,一个用户线程占用一个CPU,本发明通过创建与主机中多个CPU一一对应的多个环形缓冲区,可以有效减少用户程序在发送写请求时对环形缓冲区的竞争;通过分别记录各环形缓冲区的写回通道编号,可以使得不同环形缓冲区中的数据尽量通过不同的通道写回开放通道固态盘,由此能够有效减小对通道的竞争。总的来说,本发明能够在数据缓存时有效减少对环形缓冲区的竞争,并在数据写回时有效减少对通道的竞争,从而有效提高开放通道固态盘写并行性,进而提高系统的整体写性能。
进一步地,本发明所提供的提高开放通道固态盘写并行性的方法,还包括:
对于每一个环形缓冲区Bi,持续检测其中缓存的数据量Di;
在数据量Di大于或等于预设的数据量阈值时获得环形缓冲区Bi的写回通道编号Pi,并通过编号为Pi的通道将环形缓冲区Bi中的全部或部分数据写入开放通道固态盘。
更进一步地,若开放通道固态盘支持multi-plane操作,则数据量阈值为开放通道固态盘中multi-plane操作的写入数据量;否则,数量阈值为开放通道固态盘中闪存页大小;
数据量Di大于或等于数据量阈值时,写入开放通道固态盘的数据量等于数据量阈值;由此在支持multi-plane操作的开放通道固态盘中能够利用multi-plane操作将环形缓冲区中的数据写入开放通道固态盘,从而充分利用开放通道固态盘内部的写并行性。
更近一步地,本发明所提供的提高开放通道固态盘写并行性的方法,还包括:
将环形缓冲区Bi中的全部或部分数据写入开放通道固态盘后,更新环形缓冲区Bi的写回通道编号Pi。
在数据写入完成后更新对应的写回通道编号,能够将同一个环形缓冲区中的数据较为均匀地经由多个通道写回,从而有效避免在用户线程较少(少于通道数)时无法充分利用总的通道带宽。
进一步地,本发明所提供的提高开放通道固态盘写并行性的方法,还包括:
(S1)对于任意一个写请求W,根据发送写请求W的CPU确定用于缓存待写入数据的环形缓冲区B;
(S2)判断环形缓冲区B中的可用空间是否足以存储待写入数据,若是,则将待写入数据写入环形缓冲区B,写请求处理W处理结束;否则,等待一个预设的时间间隔后转入(S2)。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)通过创建与主机中多个CPU一一对应的多个环形缓冲区,可以有效减少用户程序在发送写请求时对环形缓冲区的竞争;通过分别记录各环形缓冲区的写回通道编号,可以使得不同环形缓冲区中的数据尽量通过不同的通道写回开放通道固态盘,由此能够有效减小对通道的竞争。总的来说,本发明能够在数据缓存时有效减少对环形缓冲区的竞争,并在数据写回时有效减少对通道的竞争,从而有效提高开放通道固态盘写并行性,进而提高系统的整体写性能。
(2)通过在数据写入完成后更新对应的写回通道编号,能够将同一个环形缓冲区中的数据较为均匀地经由多个通道写回,从而有效避免在用户线程较少时无法充分利用总的通道带宽。
(3)对于支持multi-plane操作的开放通道固态盘,通过设置数据量阈值为multi-plane操作的写入数据量,且数据量Di大于或等于数据量阈值时,写入开放通道固态盘的数据量等于数据量阈值,能够在支持multi-plane操作的开放通道固态盘中利用multi-plane操作将环形缓冲区中的数据写入开放通道固态盘,从而充分利用开放通道固态盘内部的写并行性,进而提高系统的整体写性能。
附图说明
图1为本发明实施例提供的提高开放通道固态盘写并行性的方法示意图;
图2为本发明实施例提供的写请求处理方法示意图;
图3为本发明实施例提供的写回数据的方法流程图;
图4为本发明实施例提供的应用实例示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
为了解决现有的开放通道固态盘中由于环形缓冲区和通道的竞争而导致的系统性能不高的问题,本发明本发明提供了一种提高开放通道固态盘写并行性的方法,用于在驱动程序中实现对开放通道固态盘的管理,如图1所示,本发明提供了一种提高开放通道固态盘写并行性的方法包括:
创建N个环形缓冲区,分别用于缓存由N个CPU发送的写请求写入的数据;N为主机中的CPU总数;
分别在各环形缓冲区的元数据中记录写回通道编号,用于标识将环形缓冲区中的数据写入开放通道固态盘时所选择的通道编号;初始时刻,写回通道编号相同的环形缓冲区数不超过M为开放通道固态盘中的通道总数,表示向上取整;
在一个可选的实施方式中,具体在各环形缓冲区的元数据区中记录一个P值,分别用于标识将环形缓冲区中的数据写入开放通道固态盘时所选择的通道编号,并且在初始时刻,各环形缓冲区中P值为对应的CPU编号与通道总数M取模运算的结果;
在处理写请求时,一个用户线程占用一个CPU,本发明通过创建与主机中多个CPU一一对应的多个环形缓冲区,可以有效减少用户程序在发送写请求时对环形缓冲区的竞争;通过分别记录各环形缓冲区的写回通道编号,可以使得不同环形缓冲区中的数据尽量通过不同的通道写回开放通道固态盘,由此能够有效减小对通道的竞争。总的来说,本发明能够在数据缓存时有效减少对环形缓冲区的竞争,并在数据写回时有效减少对通道的竞争,从而有效提高开放通道固态盘写并行性,进而提高系统的整体写性能。
为了减少数据缓存时对环形缓冲区的竞争,如图2所示,本发明实施例所提供的提高开放通道固态盘写并行性的方法,还包括:
(S1)对于任意一个写请求W,根据发送写请求W的CPU确定用于缓存待写入数据的环形缓冲区B;
(S2)判断环形缓冲区B中的可用空间是否足以存储待写入数据,若是,则将待写入数据写入环形缓冲区B,写请求处理W处理结束;否则,等待一个预设的时间间隔后转入(S2)。
为了减少数据写入时对通道的竞争,如图3所示,本发明实施例所提供的提高开放通道固态盘写并行性的方法,还包括:
对于每一个环形缓冲区Bi,持续检测其中缓存的数据量Di;
在数据量Di大于或等于预设的数据量阈值时获得环形缓冲区Bi的写回通道编号Pi,并通过编号为Pi的通道将环形缓冲区Bi中的全部或部分数据写入开放通道固态盘;
在一个可选的实施方式中,若开放通道固态盘支持multi-plane操作,数据量阈值为multi-plane操作的写入数据量;否则,数量阈值为开放通道固态盘中闪存页大小;
数据量Di大于或等于数据量阈值时,写入开放通道固态盘的数据量等于数据量阈值;
multi-plane是当前市场上许多闪存芯片都支持的一个高级命令;具体的,当控制电路对闪存芯片写入数据时,首先将一部分待写入的数据(大小为一个闪存页)写入芯片的一个寄存器中,再将另一部分待写入的数据(大小为一个闪存页)写入芯片的另一个寄存器中,两个寄存器同属于芯片内的一个可并行单元(LUN);最后控制电路传递给芯片一个信号,芯片同时将两个寄存器中的数据写入芯片内LUN中页号相同的两个闪存页中;multi-plane操作可以让芯片并行地写入多个闪存页,从而最大限度利用芯片内部的并行性;
对于支持multi-plane操作的开放通道固态盘,通过设置数据量阈值为开放通道固态盘中multi-plane操作的写入数据量,且数据量Di大于或等于数据量阈值时,写入开放通道固态盘的数据量等于数据量阈值,能够利用multi-plane操作将环形缓冲区中的数据写入开放通道固态盘,从而充分利用开放通道固态盘内部的写并行性,提升体统整体的写性能。
为了充分利用通道带宽,本发明实施例所提供的提高开放通道固态盘写并行性的方法,还包括:
将环形缓冲区Bi中的全部或部分数据写入开放通道固态盘后,更新环形缓冲区Bi的写回通道编号Pi;
在一个可选的实施方式中,对于环形缓冲区Bi,每完成一次写回操作,就将其写回通道编号Pi(环形缓冲区Bi的元数据区中的P值)的取值加1,如果更新完成后写回通道编号Pi=M,就将写回通道编号Pi置为0;
在数据写入完成后更新对应的写回通道编号,能够将同一个环形缓冲区中的数据较为均匀地经由多个通道写回,从而有效避免在用户线程较少(少于通道数)时无法充分利用总的通道带宽。
应用实例
如图4所示,开放通道固态盘中通道总数为M=2,主机中CPU总数为N=4;在某一时刻,用户共发送了4个写请求(写请求1~4),每个请求写入16KB数据,其中写请求1和写请求3由CPU0发送,写请求2和写请求4由CPU1发送,CPU2和CPU3上没有发送写请求。
初始化时,驱动程序申请了4个环形缓冲区(环形缓冲区0~环形缓冲区3)和相应的元数据区,分别与4个CPU(CPU0~CPU3)进行绑定,将CPU编号与通道总数取模运算的结果相应地设置为各环形缓冲区的P值,设置完成后,环形缓冲区0~3的P值分别为0、1、0和1(如图4中的箭头箭头1、2、3和4所示);
驱动程序初始化时,分配4个写回线程(写回线程0~3)与4个环形缓冲区一一对应,分别用于在后台持续检测各环形缓冲区中的数据量,并在环形缓冲区中的数据量大于或等于预设的数据量阈值Dth时将环形缓冲区中的全部或部分数据通过对应P值所标识的通道写入开放通道固态盘;在本应用实例中,数据量阈值Dth等于multi-plane操作的写入数据量,具体为16KB,并且将环形缓冲区中的数据写入开放通道固态盘时,写入数据量也为16KB;
当发送自CPU0的写请求1到来时,由于环形缓冲区0为空,有足够空间,直接将数据写入环形缓冲区0,写请求1完成;
当发送自CPU1的写请求2到来时,由于环形缓冲区1为空,有足够空间,直接将数据写入环形缓冲区1,写请求2完成;
写请求1完成后,写回线程0检测到环形缓冲区0中的数据量D0=Dth,需要将环形缓冲区0中的数据写入开放通道固态盘,读取环形缓冲区0的元数据区P值为0,故通过第0号通道将环形缓冲区0中16KB数据写入开放通道固态盘;写入结束后,环形缓冲区0为空,更新环形缓冲区的P值为1(如图4中虚线箭头5所示);
写请求2完成后,写回线程1检测到环形缓冲区1中的数据量D1=Dth,需要将环形缓冲区1中的数据写入开放通道固态盘,读取环形缓冲区1的元数据区P值为1,故通过第1号通道将环形缓冲区1中16KB数据写入开放通道固态盘;写入结束后,环形缓冲区1为空,更新环形缓冲区的P值为2,由于此时P值等于通道总数,重新设置P值为0(如图4中虚线箭头6所示);
当发送自CPU0的写请求3到来时,由于环形缓冲区0为空,有足够空间,直接将数据写入了环形缓冲区0中,写请求3完成;
当发送自CPU1的写请求4到来时,由于环形缓冲区1为空,有足够空间,直接将数据写入了环形缓冲区1中,写请求4完成;
写请求3完成后,写回线程0检测到环形缓冲区0中的数据量D0=Dth,需要将环形缓冲区0中的数据写入开放通道固态盘,读取环形缓冲区0的元数据区P值为1,故通过第1号通道将环形缓冲区0中16KB数据写入开放通道固态盘;写入结束后,环形缓冲区0为空,更新环形缓冲区0的P值为2,由于此时P值等于通道总数,重新设置P值为0(如图4中箭头1所示);
写请求4完成后,写回线程1检测到环形缓冲区1中的数据量D1=Dth,需要将环形缓冲区1中的数据写入开放通道固态盘,读取环形缓冲区1的元数据区P值为0,故通过第0号通道将环形缓冲区1中16KB数据写入开放通道固态盘;写入结束后,环形缓冲区1为空,更新环形缓冲区1的P值为1(如图4中箭头2所示)。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种提高开放通道固态盘写并行性的方法,用于在驱动程序中实现对开放通道固态盘的管理,其特征在于,包括:
创建N个环形缓冲区,分别用于缓存由N个CPU发送的写请求写入的数据;
分别在各环形缓冲区的元数据中记录写回通道编号,用于标识将环形缓冲区中的数据写入所述开放通道固态盘时所选择的通道编号;初始时刻,写回通道编号相同的环形缓冲区数不超过
其中,N为主机中的CPU总数,M为所述开放通道固态盘中的通道总数,表示向上取整。
2.如权利要求1所述的提高开放通道固态盘写并行性的方法,其特征在于,还包括:
对于每一个环形缓冲区Bi,持续检测其中缓存的数据量Di;
在所述数据量Di大于或等于预设的数据量阈值时获得所述环形缓冲区Bi的写回通道编号Pi,并通过编号为Pi的通道将所述环形缓冲区Bi中的全部或部分数据写入所述开放通道固态盘。
3.如权利要求2所述的提高开放通道固态盘写并行性的方法,其特征在于,若所述开放通道固态盘支持multi-plane操作,则所述数据量阈值为所述开放通道固态盘中multi-plane操作的写入数据量;否则,所述数量阈值为所述开放通道固态盘中闪存页大小;
所述数据量Di大于或等于所述数据量阈值时,写入所述开放通道固态盘的数据量等于所述数据量阈值。
4.如权利要求2所述的提高开放通道固态盘写并行性的方法,其特征在于,还包括:
将所述环形缓冲区Bi中的全部或部分数据写入所述开放通道固态盘后,更新所述环形缓冲区Bi的写回通道编号Pi。
5.如权利要求1所述的提高开放通道固态盘写并行性的方法,其特征在于,还包括:
(S1)对于任意一个写请求W,根据发送所述写请求W的CPU确定用于缓存待写入数据的环形缓冲区B;
(S2)判断所述环形缓冲区B中的可用空间是否足以存储所述待写入数据,若是,则将所述待写入数据写入所述环形缓冲区B,所述写请求处理W处理结束;否则,等待一个预设的时间间隔后转入(S2)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910058679.2A CN109799959B (zh) | 2019-01-22 | 2019-01-22 | 一种提高开放通道固态盘写并行性的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910058679.2A CN109799959B (zh) | 2019-01-22 | 2019-01-22 | 一种提高开放通道固态盘写并行性的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109799959A true CN109799959A (zh) | 2019-05-24 |
CN109799959B CN109799959B (zh) | 2020-07-10 |
Family
ID=66559967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910058679.2A Active CN109799959B (zh) | 2019-01-22 | 2019-01-22 | 一种提高开放通道固态盘写并行性的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109799959B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111913658A (zh) * | 2020-07-13 | 2020-11-10 | 华中科技大学 | 一种提升云对象存储系统中负载性能的方法及系统 |
WO2020238106A1 (zh) * | 2019-05-24 | 2020-12-03 | 深圳云天励飞技术有限公司 | 一种数据处理方法、电子装置及计算机可读存储介质 |
CN112346666A (zh) * | 2020-11-30 | 2021-02-09 | 华中科技大学 | 基于ocssd的键值存储系统的写、块粒度压缩合并方法和系统 |
CN117056245A (zh) * | 2023-08-18 | 2023-11-14 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘的面向日志记录应用的数据组织方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256526A (zh) * | 2008-03-10 | 2008-09-03 | 清华大学 | 检查点容错技术中文件状态一致性维护的实现方法 |
CN101644995A (zh) * | 2008-08-05 | 2010-02-10 | 晶天电子(深圳)有限公司 | 多层控制多闪存装置、存储装置和数据分割固态硬盘 |
CN102799392A (zh) * | 2012-06-16 | 2012-11-28 | 北京忆恒创源科技有限公司 | 存储设备及其中断控制方法 |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
CN103902403A (zh) * | 2012-12-27 | 2014-07-02 | Lsi公司 | 经由冗余阵列的非易失性存储器编程故障恢复 |
CN103995578A (zh) * | 2013-03-15 | 2014-08-20 | 晶天电子(深圳)有限公司 | 一种具有绿能数据持续模式的器件驱动器 |
CN104899182A (zh) * | 2015-06-09 | 2015-09-09 | 中国人民解放军国防科学技术大学 | 一种支持可变分块的矩阵乘加速方法 |
CN107430493A (zh) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | 顺序写入流管理 |
US20170351427A1 (en) * | 2016-06-06 | 2017-12-07 | Toshiba Corporation | Dynamic processing of storage command based on internal operations of storage system |
CN108074593A (zh) * | 2016-11-11 | 2018-05-25 | 桑迪士克科技有限责任公司 | 用于非易失性存储器的接口 |
US20180262567A1 (en) * | 2017-03-10 | 2018-09-13 | Toshiba Memory Corporation | Large scale implementation of a plurality of open channel solid state drives |
-
2019
- 2019-01-22 CN CN201910058679.2A patent/CN109799959B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256526A (zh) * | 2008-03-10 | 2008-09-03 | 清华大学 | 检查点容错技术中文件状态一致性维护的实现方法 |
CN101644995A (zh) * | 2008-08-05 | 2010-02-10 | 晶天电子(深圳)有限公司 | 多层控制多闪存装置、存储装置和数据分割固态硬盘 |
CN102799392A (zh) * | 2012-06-16 | 2012-11-28 | 北京忆恒创源科技有限公司 | 存储设备及其中断控制方法 |
CN103902403A (zh) * | 2012-12-27 | 2014-07-02 | Lsi公司 | 经由冗余阵列的非易失性存储器编程故障恢复 |
CN103488578A (zh) * | 2012-12-28 | 2014-01-01 | 晶天电子(深圳)有限公司 | 虚拟存储设备(vmd)应用/驱动器 |
CN103995578A (zh) * | 2013-03-15 | 2014-08-20 | 晶天电子(深圳)有限公司 | 一种具有绿能数据持续模式的器件驱动器 |
CN107430493A (zh) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | 顺序写入流管理 |
CN104899182A (zh) * | 2015-06-09 | 2015-09-09 | 中国人民解放军国防科学技术大学 | 一种支持可变分块的矩阵乘加速方法 |
US20170351427A1 (en) * | 2016-06-06 | 2017-12-07 | Toshiba Corporation | Dynamic processing of storage command based on internal operations of storage system |
CN108074593A (zh) * | 2016-11-11 | 2018-05-25 | 桑迪士克科技有限责任公司 | 用于非易失性存储器的接口 |
US20180262567A1 (en) * | 2017-03-10 | 2018-09-13 | Toshiba Memory Corporation | Large scale implementation of a plurality of open channel solid state drives |
Non-Patent Citations (3)
Title |
---|
JEONG-UK KANG等: "A multi-channel architecture for high-performance", 《JOURNAL OF SYSTEMS ARCHITECTURE》 * |
SEON-YEONG PARK等: "Exploiting Internal Parallelism of Flash-based SSDs", 《IEEE COMPUTER ARCHITECTURE LETTERS》 * |
宋俊辉: "面向高级命令的闪存转换层", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020238106A1 (zh) * | 2019-05-24 | 2020-12-03 | 深圳云天励飞技术有限公司 | 一种数据处理方法、电子装置及计算机可读存储介质 |
CN111913658A (zh) * | 2020-07-13 | 2020-11-10 | 华中科技大学 | 一种提升云对象存储系统中负载性能的方法及系统 |
CN112346666A (zh) * | 2020-11-30 | 2021-02-09 | 华中科技大学 | 基于ocssd的键值存储系统的写、块粒度压缩合并方法和系统 |
CN117056245A (zh) * | 2023-08-18 | 2023-11-14 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘的面向日志记录应用的数据组织方法 |
CN117056245B (zh) * | 2023-08-18 | 2024-02-23 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘的面向日志记录应用的数据组织方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109799959B (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10782910B2 (en) | Methods for internal data movements of a flash memory device and apparatuses using the same | |
US20230297271A1 (en) | Nand-based storage device with partitioned nonvolatile write buffer | |
US10162759B2 (en) | Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same | |
CN109799959A (zh) | 一种提高开放通道固态盘写并行性的方法 | |
US20180275921A1 (en) | Storage device | |
TWI678618B (zh) | 快閃記憶裝置的命名空間操作方法及裝置 | |
US10402335B2 (en) | Method and apparatus for persistently caching storage data in a page cache | |
WO2015051711A1 (zh) | 一种基于多通道slc nand与dram缓存的新usb协议计算机加速设备 | |
JP2014515534A (ja) | メモリシステムコントローラを含む装置および関連する方法 | |
KR20140013098A (ko) | 메모리 시스템 컨트롤러들을 포함하는 장치 및 관련 방법들 | |
EP3511814A1 (en) | Storage device storing data in order based on barrier command | |
US11210226B2 (en) | Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof | |
US11138104B2 (en) | Selection of mass storage device streams for garbage collection based on logical saturation | |
CN111399750B (zh) | 闪存数据写入方法及计算机可读取存储介质 | |
EP3926451B1 (en) | Communication of data relocation information by storage device to host to improve system performance | |
US10528285B2 (en) | Data storage device and method for operating non-volatile memory | |
US11550740B2 (en) | Data storage device with an exclusive channel for flag checking of read data, and non-volatile memory control method | |
US20230120184A1 (en) | Systems, methods, and devices for ordered access of data in block modified memory | |
Ou et al. | Gemini: a novel hardware and software implementation of high-performance PCIe SSD | |
US11494113B2 (en) | Computer program product and method and apparatus for scheduling execution of host commands | |
CN107797756A (zh) | 固态硬盘系统的优先写入方法以及使用该方法的装置 | |
CN114625307A (zh) | 计算机可读存储介质、闪存芯片的数据读取方法及装置 | |
US20240061786A1 (en) | Systems, methods, and apparatus for accessing data in versions of memory pages | |
US20240143512A1 (en) | Write buffer linking for easy cache reads | |
CN110968537B (zh) | 一种基于pcie ssd的fpga搜索匹配方法 |
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 |