CN108549610A - 一种NVMe扩展的实现方法及固态硬盘 - Google Patents
一种NVMe扩展的实现方法及固态硬盘 Download PDFInfo
- Publication number
- CN108549610A CN108549610A CN201810258978.6A CN201810258978A CN108549610A CN 108549610 A CN108549610 A CN 108549610A CN 201810258978 A CN201810258978 A CN 201810258978A CN 108549610 A CN108549610 A CN 108549610A
- Authority
- CN
- China
- Prior art keywords
- mapping
- map
- host
- module
- order
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- 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
-
- 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]
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种NVMe扩展的实现方法及固态硬盘,其特征在于SSD接收到主机端读命令后,按照该命令的逻辑空间查询SSD内部的无映射管理表,判断该命令是否为无映射命令,如果是则直接将完成队列条目中用于标识是否为无映射的映射状态位设置为1,并直接结束该命令,并返回主机;否则根据该命令的逻辑空间地址读取数据,读完成后,将映射状态位设置为0,再返回主机;主机接收到完成队列条目后先判读映射状态位是否为1,如果是则直接由主机端将该命令对应的缓存置0后返回应用或直接返回应用。通过优化读处理流程,由于减少了SSD到Host之间的数据传输,所以命令响应延迟以及服务时间大大地得到了降低,其实测带宽可有效突破PCIe的物理限制。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种NVMe扩展的实现方法及固态硬盘。
背景技术
SSD(固态硬盘)已经被广泛应用于各种场合,随着PC的性能要求提升,作为关键因素之一的存储设备的性能是影响全局性能的重点因素。
通过对目前一些主流的性能测试工具测试模型的分析,我们发现一种数据类型极大地影响测试结果。这种特殊的数据,称为No-Map(无映射)数据,其代表对应的逻辑空间不存在有效数据。
发生这种场景主要是因为SSD在出厂后从来没有写入数据或者主机端通过特殊的命令(TRIM,Security Erase等)废弃了其中数据。对于这种数据,主机只预期其返回特定的数据(如全0)。
图1是传统PCIe/NVMe接口协议下的主机与SSD读流程:
-S0:主机写入读命令到SQ(命令提交队列,Submission Queue);
-S1:主机触发SSD端的SQ Doorbell,通知SSD有新的命令到达;
-S2:SSD从主机端SQ获取读命令到本地;
-S3:SSD内部发起内部数据加载:将逻辑地址翻译成物理地址,从物理地址读取数据;
-S4:SSD将数据传输到主机端对应Buffer;
-S5:SSD格式化Completion Queue Entry,并提交到主机端的CQ;
-S6:SSD触发中断,通知主机新的命令已经完成;
-S7:Host获取CQ,解析其中状态字段并将数据返回应用层;
-S8:Host触发SSD端的CQ Doorbell,释放CQ Entry;
-S9:SSD完成对应命令处理,释放对应资源,并继续处理新的命令。
图2是SSD内部读通路示意图;主机提交读命令到SSD的前端模块;SSD前端模块将命令分割成映射单元(典型如4KB),提交到读写缓冲区管理模块;读写缓冲区管理模块从缓存Memory中(典型如DRAM)分配空间,后再提交操作请求到映射表管理模块中;映射表管理模块负责把逻辑地址转换成NAND物理地址,后再提交操作请求到后端模块,后端模块根据物理地址发起对NAND读请求,并等待NAND操作请求完成,此时数据已经加载到预先分配的Memory中,控制操作请求依次返回上层模块。前端模块接收到完成的控制操作请求后,构建数据传输命令,实际发起对主机的数据传输。从上面整个流程来看,从SSD接收到主机命令,到真正发起数据传输,中间需要经过众多环节,命令的响应延迟以及服务时间很大。
对于磁盘数据来说,存在一种特殊的数据,其代表对应的逻辑空间实际上不存在有效数据:出厂后从来没有写入数据或者主机通过特殊的命令废弃了其中数据,我们称此种数据为no-map数据(无映射数据)。对于此类型的数据,只需返回协议规定的特定数据即可(例如全0)。因此现有的处理流程还具有较大的改进空间。
发明内容
针对以上缺陷,本发明目的在于如何提高对于No-Map的命令的响应速度,进而整体上提高固态硬盘读性能。
为了实现上述目的,本发明提供了一种NVMe扩展的实现方法,其特征在于SSD接收到主机端读命令后,按照该命令的逻辑空间查询SSD内部的无映射管理表,判断该命令是否为无映射命令,如果是则直接将完成队列条目中用于标识是否为无映射的映射状态位设置为1,并直接结束该命令,并返回主机;否则根据该命令的逻辑空间地址读取数据,读完成后,将映射状态位设置为0,再返回主机;主机接收到完成队列条目后先判读映射状态位是否为1,如果是则直接由主机端将该命令对应的缓存置0后返回应用或直接返回应用。
所述的NVMe扩展的实现方法,其特征在于将NVMe标准协议的完成队列条目的状态字的bit 28作为映射状态位。
所述的NVMe扩展的实现方法,其特征在于判断该命令是否为无映射命令,增加无映射检查模块,SSD的前端模块中的命令接收模块负责命令解析和逻辑地址空间提取,完成后将命令提交给无映射检查模块,所述无映射检查模块根据主机提交的读命令的逻辑地址空间判断当前读取的空间是否属于无映射no-map,如果属于则直接构建状态字Bit 28为1的条目到完成队列中,而不需要进行数据传输。
所述的NVMe扩展的实现方法,其特征在于包括no-map加速模块和no-map映射表,所述no-map映射表记录了当前固态硬盘中处于no-map的地址信息,所述no-map映射表维护两种颗粒度的两级映射表,所述无映射检查模块根据主机提交的读命令的逻辑地址空间查找no-map映射表,判断该读命令上的地址空间是否都为无映射状态,如果是则直接提交给no-map加速模块,no-map加速模块直接构建状态字Bit 28为1的条目到完成队列中,而不需要进行数据传输。
所述的NVMe扩展的实现方法,其特征在于所述无映射检查模块根据主机提交的读命令的逻辑地址空间判断当前读取的空间存在非无映射no-map时,将该读命令提交读写缓冲区管理模块,读写缓冲区管理模块按照LPA映射颗粒度(4KB)切分成连续的控制请求,提交到映射表管理模块;映射表管理模块,对于每个4KB的控制请求,分别查询逻辑物理映射表;如果为no-map的,则标志该4KB为no-map,后端模块获取到该命令一系列的4KB读控制请求后,查询其状态标志,如果是no-map的,则不再往后继模块提交NAND读写请求,而是直接提交到no-map加速模块,no-map加速模块的no-map数据传输模块直接构建NVMe传输命令,将预先格式化好的数据发送给主机。
一种固态硬盘,其特征在于主机和SSD控制器之间通过NVMe协议进行通信,SSD接收到主机端读命令后,按照该命令的逻辑空间查询SSD内部的无映射管理表,判断该命令是否为无映射命令,如果是则直接将完成队列条目中用于标识是否为无映射的映射状态位设置为1,并直接结束该命令,并返回主机;否则根据该命令的逻辑空间地址读取数据,读完成后,将映射状态位设置为0,再返回主机;主机接收到完成队列条目后先判读映射状态位是否为1,如果是则直接由主机端将该命令对应的缓存置0后返回应用或直接返回应用。
所述的固态硬盘,其特征在于将NVMe标准协议的完成队列条目的状态字的bit 28作为映射状态位。
所述的固态硬盘,其特征在于判断该命令是否为无映射命令,增加无映射检查模块,SSD的前端模块中的命令接收模块负责命令解析和逻辑地址空间提取,完成后将命令提交给无映射检查模块,所述无映射检查模块根据主机提交的读命令的逻辑地址空间判断当前读取的空间是否属于无映射no-map,如果属于则直接构建状态字Bit 28为1的条目到完成队列中,而不需要进行数据传输。
所述的固态硬盘,其特征在于包括no-map加速模块和no-map映射表,所述no-map映射表记录了当前固态硬盘中处于no-map的地址信息,所述no-map映射表维护两种颗粒度的两级映射表,所述无映射检查模块根据主机提交的读命令的逻辑地址空间查找no-map映射表,判断该读命令上的地址空间是否都为无映射状态,如果是则直接提交给no-map加速模块,no-map加速模块直接构建状态字Bit 28为1的条目到完成队列中,而不需要进行数据传输。
所述的固态硬盘,其特征在于所述无映射检查模块根据主机提交的读命令的逻辑地址空间判断当前读取的空间存在非无映射no-map时,将该读命令提交读写缓冲区管理模块,读写缓冲区管理模块按照LPA映射颗粒度(4KB)切分成连续的控制请求,提交到映射表管理模块;映射表管理模块,对于每个4KB的控制请求,分别查询逻辑物理映射表;如果为no-map的,则标志该4KB为no-map,后端模块获取到该命令一系列的4KB读控制请求后,查询其状态标志,如果是no-map的,则不再往后继模块提交NAND读写请求,而是直接提交到no-map加速模块,no-map加速模块的no-map数据传输模块直接构建NVMe传输命令,将预先格式化好的数据发送给主机。
本发明通过综合针对no-map Command读处理流程来看,由于减少了SSD到Host之间的数据传输,所以命令响应延迟以及服务时间大大地得到了降低,其实测带宽可有效突破PCIe的物理限制。
附图说明
图1是传统PCIe/NVMe接口协议下的主机与SSD读流程;
图2是SSD内部读通路示意图;
图3是两级no-map映射表构成示意图;
图4是结合CQ Entry定义修改后的NVMe层交互流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图3是两级no-map映射表构成示意图,SSD内部涉及到的映射表、颗粒度以及转换规则,其中:逻辑页地址LBA:为主机端访问的最小可寻址单元,一般为512Bytes;逻辑块地址LPA:为SSD内部的逻辑映射单元,一般为4KB;无映射单元CMD No-Map Entry:一般为512KB。
LBA->LPA的转换规则,按照线性转换原则,从0开始,连续的8个LBA对应唯一的LPA(例如LBA 0–7,对应LPA 0);连续的1024个LBA对应唯一的CMD no-map entry(例如LBA 0–1023,对应CMD No-Map Entry Index 0);“逻辑到物理映射表”,简称L2P表,其表索引由LPA索引,其值表示物理地址。
“No-Map映射管理表”,其表索引由CMD No-Map Entry Index索引;其值有两个可能性:1表示对应LBA/LPA范围全部是no-map的;0表示非全no-map;要么全部有map,要么部分有map部分无map,需要结合L2P表在4KB级别做进一步查询。
对现有的NVMe Specification中协议进行改进:在SSD完成数据传输后,提交CQEntry到主机CQ完成队列(Completion Queue)时,其格式改为协议约定好的格式。一个CQEntry包含4个DWORD,分别为DWORD 0、DWORD 1、DWORD 2和DWORD 3,每个DWORD为32bit,其中DWORD3中bit 25~bit31定义为一个15bit的Status字段,Status字段除了bit 28/29外,其余所有bit都已经被使用,用来指示当前命令完成状况,数据是否有错等;本实施例通过使用bit28来指示整个命令的数据都是no-map。如果该字段为1,则表述该命令所有的逻辑空间都是属于no-map数据;如果为0,则表示非全no-map的。
图4是结合CQ Entry定义修改后的NVMe层交互流程图;传统PCIe/NVMe接口协议下的主机与SSD读流程中,数据需要从SSD端透过PCIe总线写入到HostBuffer,而PCIe总线是有带宽限制的(典型如Gen 3x1,有效带宽800MB/s);对于no-map的command处理流程可大大简化,并能极大地提升no-map的读性能。
F0:主机写入读命令到SQ(命令提交队列,Submission Queue);
F1:主机触发SSD端的命令提交队列通知SQ Doorbell,通知SSD有新的命令到达;
F2:SSD从主机端SQ获取读命令到本地;
F3:SSD内部对该读命令进行处理,与传统模型不同的是,按照该命令逻辑空间,查询涉及到的“No-Map映射管理表”表项,若所有表项的值都为1,则该命令我们称之为no-map命令。此类命令将按如下的新流程执行(非no-map命令可按传统模式继续处理);
F4:SSD格式化完成队列条目(Completion Queue Entry),并提交到主机端的CQ,此处我们将Status字段的bit 28标识为1;
F5:SSD触发中断,通知主机新的命令已经完成;
F6:Host获取CQ,解析其中状态字段;
F7:Host发现此Status中no-map字段为1,则使用快速引擎(如DMA);将对应Buffer直接初始化为全0,然后将数据返回应用层;
F8:Host触发SSD端的CQ Doorbell,释放CQ Entry;
F9:SSD完成对应命令处理,释放对应资源,并继续处理新的命令。
综合针对no-map Command读处理流程来看,由于减少了SSD到Host之间的数据传输,所以命令响应延迟以及服务时间大大地得到了降低,其实测带宽可有效突破PCIe的物理限制。如PCIe Gen 3x1的情形,对于no-map读带宽能够提升到4GB+/s,远远大于原来的800MB/s。
作为进一步的优化项,如果主机不关心no-map数据的具体内容,我们可以F7环节省略掉Host端Buffer格式化全0过程,由此,对于no-map的读带宽能够提升到数十GB每秒。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于本发明所涵盖的范围。
Claims (10)
1.一种NVMe扩展的实现方法,其特征在于SSD接收到主机端读命令后,按照该命令的逻辑空间查询SSD内部的无映射管理表,判断该命令是否为无映射命令,如果是则直接将完成队列条目中用于标识是否为无映射的映射状态位设置为1,并直接结束该命令,并返回主机;否则根据该命令的逻辑空间地址读取数据,读完成后,将映射状态位设置为0,再返回主机;主机接收到完成队列条目后先判读映射状态位是否为1,如果是则直接由主机端将该命令对应的缓存置0后返回应用或直接返回应用。
2.根据权利要求1所述的NVMe扩展的实现方法,其特征在于将NVMe标准协议的完成队列条目的状态字的bit 28作为映射状态位。
3.根据权利要求2所述的NVMe扩展的实现方法,其特征在于判断该命令是否为无映射命令,增加无映射检查模块,SSD的前端模块中的命令接收模块负责命令解析和逻辑地址空间提取,完成后将命令提交给无映射检查模块,所述无映射检查模块根据主机提交的读命令的逻辑地址空间判断当前读取的空间是否属于无映射no-map,如果属于则直接构建状态字Bit 28为1的条目到完成队列中,而不需要进行数据传输。
4.根据权利要求3所述的NVMe扩展的实现方法,其特征在于包括no-map加速模块和no-map映射表,所述no-map映射表记录了当前固态硬盘中处于no-map的地址信息,所述no-map映射表维护两种颗粒度的两级映射表,所述无映射检查模块根据主机提交的读命令的逻辑地址空间查找no-map映射表,判断该读命令上的地址空间是否都为无映射状态,如果是则直接提交给no-map加速模块,no-map加速模块直接构建状态字Bit 28为1的条目到完成队列中,而不需要进行数据传输。
5.根据权利要求4所述的NVMe扩展的实现方法,其特征在于所述无映射检查模块根据主机提交的读命令的逻辑地址空间判断当前读取的空间存在非无映射no-map时,将该读命令提交读写缓冲区管理模块,读写缓冲区管理模块按照LPA映射颗粒度(4KB)切分成连续的控制请求,提交到映射表管理模块;映射表管理模块,对于每个4KB的控制请求,分别查询逻辑物理映射表;如果为no-map的,则标志该4KB为no-map,后端模块获取到该命令一系列的4KB读控制请求后,查询其状态标志,如果是no-map的,则不再往后继模块提交NAND读写请求,而是直接提交到no-map加速模块,no-map加速模块的no-map数据传输模块直接构建NVMe传输命令,将预先格式化好的数据发送给主机。
6.一种固态硬盘,其特征在于主机和SSD控制器之间通过NVMe协议进行通信,SSD接收到主机端读命令后,按照该命令的逻辑空间查询SSD内部的无映射管理表,判断该命令是否为无映射命令,如果是则直接将完成队列条目中用于标识是否为无映射的映射状态位设置为1,并直接结束该命令,并返回主机;否则根据该命令的逻辑空间地址读取数据,读完成后,将映射状态位设置为0,再返回主机;主机接收到完成队列条目后先判读映射状态位是否为1,如果是则直接由主机端将该命令对应的缓存置0后返回应用或直接返回应用。
7.根据权利要求6所述的固态硬盘,其特征在于将NVMe标准协议的完成队列条目的状态字的bit 28作为映射状态位。
8.根据权利要求7所述的固态硬盘,其特征在于判断该命令是否为无映射命令,增加无映射检查模块,SSD的前端模块中的命令接收模块负责命令解析和逻辑地址空间提取,完成后将命令提交给无映射检查模块,所述无映射检查模块根据主机提交的读命令的逻辑地址空间判断当前读取的空间是否属于无映射no-map,如果属于则直接构建状态字Bit 28为1的条目到完成队列中,而不需要进行数据传输。
9.根据权利要求8所述的固态硬盘,其特征在于包括no-map加速模块和no-map映射表,所述no-map映射表记录了当前固态硬盘中处于no-map的地址信息,所述no-map映射表维护两种颗粒度的两级映射表,所述无映射检查模块根据主机提交的读命令的逻辑地址空间查找no-map映射表,判断该读命令上的地址空间是否都为无映射状态,如果是则直接提交给no-map加速模块,no-map加速模块直接构建状态字Bit 28为1的条目到完成队列中,而不需要进行数据传输。
10.根据权利要求9所述的固态硬盘,其特征在于所述无映射检查模块根据主机提交的读命令的逻辑地址空间判断当前读取的空间存在非无映射no-map时,将该读命令提交读写缓冲区管理模块,读写缓冲区管理模块按照LPA映射颗粒度(4KB)切分成连续的控制请求,提交到映射表管理模块;映射表管理模块,对于每个4KB的控制请求,分别查询逻辑物理映射表;如果为no-map的,则标志该4KB为no-map,后端模块获取到该命令一系列的4KB读控制请求后,查询其状态标志,如果是no-map的,则不再往后继模块提交NAND读写请求,而是直接提交到no-map加速模块,no-map加速模块的no-map数据传输模块直接构建NVMe传输命令,将预先格式化好的数据发送给主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810258978.6A CN108549610B (zh) | 2018-03-27 | 2018-03-27 | 一种NVMe扩展的实现方法及固态硬盘 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810258978.6A CN108549610B (zh) | 2018-03-27 | 2018-03-27 | 一种NVMe扩展的实现方法及固态硬盘 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108549610A true CN108549610A (zh) | 2018-09-18 |
CN108549610B CN108549610B (zh) | 2021-02-23 |
Family
ID=63517324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810258978.6A Active CN108549610B (zh) | 2018-03-27 | 2018-03-27 | 一种NVMe扩展的实现方法及固态硬盘 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108549610B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582227A (zh) * | 2018-11-15 | 2019-04-05 | 深圳忆联信息系统有限公司 | 固态硬盘写入方法、装置、计算机设备和存储介质 |
CN109902033A (zh) * | 2019-02-13 | 2019-06-18 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
CN110147335A (zh) * | 2018-02-09 | 2019-08-20 | 三星电子株式会社 | 用于ssd储存器中nvme命令间关联的系统和方法 |
CN110333826A (zh) * | 2019-07-04 | 2019-10-15 | 深圳忆联信息系统有限公司 | Ssd读写性能提升方法、装置、计算机设备及存储介质 |
CN110399312A (zh) * | 2019-07-30 | 2019-11-01 | 深圳大普微电子科技有限公司 | 提高固态硬盘读性能的方法、固态硬盘及存储介质 |
CN110888602A (zh) * | 2019-11-18 | 2020-03-17 | 深圳忆联信息系统有限公司 | 基于固态硬盘的读性能提升方法、装置及计算机设备 |
CN112230855A (zh) * | 2020-10-20 | 2021-01-15 | 英韧科技(上海)有限公司 | 固态硬盘及其读写方法 |
CN112612410A (zh) * | 2020-12-01 | 2021-04-06 | 苏州浪潮智能科技有限公司 | 一种应用于固态硬盘内命令的异常处理的方法及装置 |
CN113093989A (zh) * | 2019-12-23 | 2021-07-09 | 三星电子株式会社 | 管理完成时刻的存储控制器及其操作方法 |
CN113296691A (zh) * | 2020-07-27 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理系统、方法、装置以及电子设备 |
CN113590026A (zh) * | 2021-06-24 | 2021-11-02 | 杭州电子科技大学 | 一种基于eMMC的NVMe存储设备的数据传输优化方法 |
WO2021218101A1 (zh) * | 2020-04-26 | 2021-11-04 | 北京泽石科技有限公司 | 固态硬盘的缓存管理系统、方法、装置 |
CN114461145A (zh) * | 2022-01-19 | 2022-05-10 | 合肥大唐存储科技有限公司 | 一种扩容固态硬盘及其扩容、数据写入和数据读取方法 |
CN114817093A (zh) * | 2022-06-30 | 2022-07-29 | 苏州浪潮智能科技有限公司 | 一种数据传输方法、系统、装置及存储介质 |
US12013796B2 (en) | 2019-12-23 | 2024-06-18 | Samsung Electronics Co., Ltd. | Storage controller managing completion timing, and operating method thereof |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110314166A1 (en) * | 2008-09-05 | 2011-12-22 | Telefonaktiebolaget L M Ericsson (Publ) | End-to-End Address Transfer |
CN102591825A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 基于 sync 机制的sata 控制器与闪存控制器间的传输装置及方法 |
US20130198311A1 (en) * | 2012-01-17 | 2013-08-01 | Eliezer Tamir | Techniques for Use of Vendor Defined Messages to Execute a Command to Access a Storage Device |
CN104461387A (zh) * | 2014-12-02 | 2015-03-25 | 记忆科技(深圳)有限公司 | 一种提高固态硬盘对未映射区域的读性能的方法 |
US9009397B1 (en) * | 2013-09-27 | 2015-04-14 | Avalanche Technology, Inc. | Storage processor managing solid state disk array |
CN104536701A (zh) * | 2014-12-23 | 2015-04-22 | 记忆科技(深圳)有限公司 | 一种nvme协议多命令队列的实现方法及系统 |
CN105159622A (zh) * | 2015-10-22 | 2015-12-16 | 湖南国科微电子股份有限公司 | 一种减小ssd读写io时延的方法与系统 |
CN105556930A (zh) * | 2013-06-26 | 2016-05-04 | 科内克斯实验室公司 | 针对远程存储器访问的nvm express控制器 |
CN107818056A (zh) * | 2016-09-14 | 2018-03-20 | 杭州华为数字技术有限公司 | 一种队列管理方法及装置 |
CN107832237A (zh) * | 2017-11-22 | 2018-03-23 | 深圳忆联信息系统有限公司 | 一种快速重建未映射表的方法及固态硬盘 |
-
2018
- 2018-03-27 CN CN201810258978.6A patent/CN108549610B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110314166A1 (en) * | 2008-09-05 | 2011-12-22 | Telefonaktiebolaget L M Ericsson (Publ) | End-to-End Address Transfer |
CN102591825A (zh) * | 2011-12-30 | 2012-07-18 | 记忆科技(深圳)有限公司 | 基于 sync 机制的sata 控制器与闪存控制器间的传输装置及方法 |
US20130198311A1 (en) * | 2012-01-17 | 2013-08-01 | Eliezer Tamir | Techniques for Use of Vendor Defined Messages to Execute a Command to Access a Storage Device |
CN105556930A (zh) * | 2013-06-26 | 2016-05-04 | 科内克斯实验室公司 | 针对远程存储器访问的nvm express控制器 |
US9009397B1 (en) * | 2013-09-27 | 2015-04-14 | Avalanche Technology, Inc. | Storage processor managing solid state disk array |
CN104461387A (zh) * | 2014-12-02 | 2015-03-25 | 记忆科技(深圳)有限公司 | 一种提高固态硬盘对未映射区域的读性能的方法 |
CN104536701A (zh) * | 2014-12-23 | 2015-04-22 | 记忆科技(深圳)有限公司 | 一种nvme协议多命令队列的实现方法及系统 |
CN105159622A (zh) * | 2015-10-22 | 2015-12-16 | 湖南国科微电子股份有限公司 | 一种减小ssd读写io时延的方法与系统 |
CN107818056A (zh) * | 2016-09-14 | 2018-03-20 | 杭州华为数字技术有限公司 | 一种队列管理方法及装置 |
CN107832237A (zh) * | 2017-11-22 | 2018-03-23 | 深圳忆联信息系统有限公司 | 一种快速重建未映射表的方法及固态硬盘 |
Non-Patent Citations (2)
Title |
---|
OH, YONGSEOK; LEE, EUNJAE; HYUN, CHOULSEUNG: "Enabling Cost-Effective Flash based Caching with an Array of Commodity SSDs", 《PROCEEDINGS OF THE 16TH ANNUAL MIDDLEWARE CONFERENCE》 * |
彭振翼: "固态存储系统PCIe接口的设计方法与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147335A (zh) * | 2018-02-09 | 2019-08-20 | 三星电子株式会社 | 用于ssd储存器中nvme命令间关联的系统和方法 |
CN110147335B (zh) * | 2018-02-09 | 2022-04-26 | 三星电子株式会社 | 用于ssd储存器中nvme命令间关联的系统和方法 |
CN109582227A (zh) * | 2018-11-15 | 2019-04-05 | 深圳忆联信息系统有限公司 | 固态硬盘写入方法、装置、计算机设备和存储介质 |
CN109582227B (zh) * | 2018-11-15 | 2022-01-21 | 深圳忆联信息系统有限公司 | 固态硬盘写入方法、装置、计算机设备和存储介质 |
CN109902033A (zh) * | 2019-02-13 | 2019-06-18 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
CN109902033B (zh) * | 2019-02-13 | 2023-03-14 | 山东华芯半导体有限公司 | 应用于NVMe SSD控制器的namespace的LBA分配方法和映射方法 |
CN110333826A (zh) * | 2019-07-04 | 2019-10-15 | 深圳忆联信息系统有限公司 | Ssd读写性能提升方法、装置、计算机设备及存储介质 |
CN110399312A (zh) * | 2019-07-30 | 2019-11-01 | 深圳大普微电子科技有限公司 | 提高固态硬盘读性能的方法、固态硬盘及存储介质 |
CN110888602A (zh) * | 2019-11-18 | 2020-03-17 | 深圳忆联信息系统有限公司 | 基于固态硬盘的读性能提升方法、装置及计算机设备 |
CN113093989A (zh) * | 2019-12-23 | 2021-07-09 | 三星电子株式会社 | 管理完成时刻的存储控制器及其操作方法 |
US12013796B2 (en) | 2019-12-23 | 2024-06-18 | Samsung Electronics Co., Ltd. | Storage controller managing completion timing, and operating method thereof |
WO2021218101A1 (zh) * | 2020-04-26 | 2021-11-04 | 北京泽石科技有限公司 | 固态硬盘的缓存管理系统、方法、装置 |
CN113296691A (zh) * | 2020-07-27 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 数据处理系统、方法、装置以及电子设备 |
CN113296691B (zh) * | 2020-07-27 | 2024-05-03 | 阿里巴巴集团控股有限公司 | 数据处理系统、方法、装置以及电子设备 |
CN112230855A (zh) * | 2020-10-20 | 2021-01-15 | 英韧科技(上海)有限公司 | 固态硬盘及其读写方法 |
CN112612410A (zh) * | 2020-12-01 | 2021-04-06 | 苏州浪潮智能科技有限公司 | 一种应用于固态硬盘内命令的异常处理的方法及装置 |
CN112612410B (zh) * | 2020-12-01 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 一种应用于固态硬盘内命令的异常处理的方法及装置 |
CN113590026A (zh) * | 2021-06-24 | 2021-11-02 | 杭州电子科技大学 | 一种基于eMMC的NVMe存储设备的数据传输优化方法 |
CN114461145A (zh) * | 2022-01-19 | 2022-05-10 | 合肥大唐存储科技有限公司 | 一种扩容固态硬盘及其扩容、数据写入和数据读取方法 |
CN114817093B (zh) * | 2022-06-30 | 2022-12-02 | 苏州浪潮智能科技有限公司 | 一种数据传输方法、系统、装置及存储介质 |
WO2024001338A1 (zh) * | 2022-06-30 | 2024-01-04 | 苏州元脑智能科技有限公司 | 一种数据传输方法、系统、装置及存储介质 |
CN114817093A (zh) * | 2022-06-30 | 2022-07-29 | 苏州浪潮智能科技有限公司 | 一种数据传输方法、系统、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108549610B (zh) | 2021-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108549610A (zh) | 一种NVMe扩展的实现方法及固态硬盘 | |
CN110830392B (zh) | 启用存储介质上的虚拟功能 | |
TWI772611B (zh) | 主機系統及其方法和加速模組 | |
US11467975B2 (en) | Data processing method and NVMe storage device | |
KR102466353B1 (ko) | SSD 스토리지의 NVMe 명령간 연관을 위한 시스템 및 방법 | |
CN102681952B (zh) | 将数据写入存储设备的方法与存储设备 | |
CN102171649B (zh) | 用于用单个命令对多个不连续地址范围的传送进行排队的方法和系统 | |
JP5729774B2 (ja) | いくつかのコマンドを処理するためのメモリコントローラ、メモリシステム、ソリッドステートドライブ、および方法 | |
US10740018B2 (en) | Data migration method and apparatus applied to computer system, and computer system | |
CN109983449A (zh) | 数据处理的方法和存储系统 | |
CN103034454B (zh) | 柔性闪存命令 | |
CN103092782A (zh) | 用于闪存器件的闪存控制器硬件架构 | |
CN108572797A (zh) | 一种固态硬盘读性能加速方法 | |
CN108563401A (zh) | 一种ssd性能加速方法 | |
US20110225371A1 (en) | Data prefetch for scsi referrals | |
WO2021035555A1 (zh) | 一种固态硬盘的数据存储方法、装置及固态硬盘ssd | |
CN103092781A (zh) | 闪存接口的有效利用 | |
CN109213423B (zh) | 基于地址屏障无锁处理并发io命令 | |
CN207115383U (zh) | 一种基于fpga+emmc存储阵列的存储系统 | |
WO2019174206A1 (zh) | 一种存储设备的数据读取方法、装置、终端设备和存储介质 | |
US20060107002A1 (en) | Method, system, and program for an adaptor to read and write to system memory | |
CN112732176B (zh) | 基于fpga的ssd访问方法及装置、存储系统及存储介质 | |
CN111290975A (zh) | 使用统一缓存处理读命令与预读命令的方法及其存储设备 | |
EP3846037B1 (en) | Storage device configured to support multi-streams and operation method thereof | |
US20060277326A1 (en) | Data transfer system and method |
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 |