当前位置: 首页 > 专利查询>忆锐公司专利>正文

基于闪存的储存器及其控制器制造技术

技术编号:21183495 阅读:25 留言:0更新日期:2019-05-22 14:37
本申请公开了基于闪存的储存器及其控制器。提供了一种基于闪存的存储设备,其包括闪存介质和该闪存介质的包括多个处理器核心的控制器。控制器的闪存固件被分解成多个功能,该多个功能由多个处理器核心上的多个线程实现,多个功能中的不同功能由多个线程中的不同线程实现,并且多个线程中的至少一个线程被映射在多个处理器核心之一上。

Flash-based memory and its controller

This application discloses a Flash-based memory and its controller. A memory device based on flash memory is provided, which includes a flash memory medium and a controller comprising a plurality of processor cores. The controller's flash firmware is decomposed into multiple functions, which are implemented by multiple threads on multiple processor cores, different functions in multiple functions are implemented by different threads in multiple threads, and at least one thread in multiple threads is mapped on one of the processor cores.

【技术实现步骤摘要】
基于闪存的储存器及其控制器相关申请的交叉引用本申请要求于2017年11月15日提交的韩国专利申请号为10-2017-0152433和2018年6月14日提交的申请号为10-2018-0068359的优先权和权益,这些申请的全部内容通过引用并入本文。背景(a)领域所描述的技术大体上涉及基于闪存的存储设备及其控制器。(b)相关技术的描述闪速存储器被用作半导体存储器中的非易失性存储器。闪速存储器提供了某些优势,诸如快速读取速度、低功耗和非常密集的数据存储容量。因此,基于闪速存储器的存储设备被广泛用于替换硬盘。最近,基于闪存的存储设备(如固态硬盘(SSD))被用于不同计算域中的时间关键型应用,诸如高速缓存、数据库和引导驱动器。此外,诸如非易失性存储器标准(NVMe)的存储器接口被设计成使得基于闪存的存储设备能够充分利用并行性。尽管新的存储器接口带来了诸多好处,但对于单个存储设备来说单独并行管理大量的I/O请求是有意义的。具体地,高性能的基于闪存的存储设备可以并行处理每秒一百万个I/O请求(MIOPS)。概述本专利技术的实施例提供了一种基于闪存的存储设备及其控制器,用于能够在短时间内处理许多I/O请求。根据本专利技术的实施例,提供了一种基于闪存的存储设备,其包括闪存介质和该闪存介质的包括多个(apluralityof)处理器核心的控制器。控制器的闪存固件被分解成多个功能,该多个功能由多个处理器核心上的多个线程实现,多个功能中的不同功能由多个线程中的不同线程实现,并且多个线程中的至少一个线程被映射在多个处理器核心之一上。基于闪存的存储设备还可以包括内部存储器。多个功能可以包括解析来自主机的队列的输入/输出(I/O)请求的第一功能、将I/O请求的逻辑地址转换成对于闪存介质的物理地址的第二功能、以及基于I/O请求的物理地址构成对于闪存介质的闪存事务的第三功能。多个线程可以包括用于实现第一功能的至少一个第一线程、用于实现第二功能的至少一个第二线程、以及用于实现第三功能的至少一个第三线程。可以由多个线程在第一线程和第三线程之间形成用于处理多个I/O请求的多个路径。至少一个第一线程可以包括多个第一线程。队列可以包括提交队列,并且控制器可以将其中存储有多个I/O请求的提交队列的条目复制到在内部存储器中创建的提交队列缓冲器。每个第一线程可以解析来自提交队列缓冲器的多个I/O请求中的相应一个。多个第一线程可以并行解析多个I/O请求。每个第一线程可以用相应的I/O请求的结果更新在内部存储器中创建的完成队列缓冲器。控制器可以将完成队列缓冲器的条目复制到主机的完成队列。多个第一线程可以按照无序方式用多个I/O请求的结果更新完成队列缓冲器。至少一个第二线程可以包括多个第二线程。在第一线程中使用的逻辑地址空间可以被划分成分别对应于多个第二线程的N个地址块,其中N是第二线程的数目。I/O请求的逻辑地址可以由多个第二线程中的第二线程转换成物理地址,该第二线程具有对应于在N个地址块中该逻辑地址所属的地址块的索引。至少一个第二线程可以包括多个第二线程。I/O请求的逻辑地址可以由多个第二线程中的第二线程转换成物理地址,该第二线程具有对应于通过加扰逻辑地址获得的结果的索引。逻辑地址可以被分成多个位组,每个位组由n个位组成,其中n是第二线程的数目(N)的二进制对数(log2N)。索引可以对应于通过对多个位组执行逐位XOR运算而获得的结果。至少一个第二线程可以包括多个第二线程。对于闪存介质的地址空间的多个物理块可以以块交织被分配给多个第二线程。每个第二线程可以将I/O请求的逻辑地址转换为对应于分配的物理块的物理地址。多个功能还可以包括第四功能,该第四功能获取用于排除对I/O请求的逻辑地址的其他I/O请求的锁。多个线程还可以包括用于实现第四功能的至少一个第四线程。至少一个第一线程可以包括多个第一线程。第四线程可以从多个第一线程中的目标第一线程接收针对I/O请求的逻辑地址的锁获取请求,并且当没有已经获取了针对逻辑地址的范围的锁的第一线程时,获取针对该逻辑地址的范围的锁。当另一个第一线程已经获取了针对逻辑地址的范围的锁时,目标第一线程可以将I/O请求转发给该另一个第一线程。多个功能还可以包括第四功能,当I/O请求满足预定条件时,该第四功能通过内部存储器处理I/O请求。多个线程还可以包括用于实现第四功能的至少一个第四线程。当I/O请求不满足预定条件时,第一线程可以绕过第四线程将I/O请求传送到第二线程。第一线程可以查找内部存储器的高速缓存映射表,以确定I/O请求是否满足预定条件,该高速缓存映射表包括映射到物理地址的逻辑地址被写入其中的第一条目和其逻辑地址被逐出到闪存介质的第二条目。预定条件可以包括I/O请求的逻辑地址被写入第一条目或第二条目的条件。多个功能还可以包括执行垃圾收集的第四功能和执行日志记录的第五功能。多个线程还可以包括用于实现第四功能的至少一个第四线程和用于实现第五功能的至少一个第五线程。第四线程和第五线程可以独立于第一线程、第二线程和第三线程来执行。当没有活动的第一线程时,第四线程可以执行垃圾收集。多个线程可以是独立的。根据本专利技术的另一实施例,提供了包括闪存介质和内部存储器的基于闪存的存储设备的控制器。控制器包括多个处理器核心。控制器的闪存固件被分解成多个功能,该多个功能由多个处理器核心上的多个线程实现,多个功能中的不同功能由多个线程中的不同线程实现,并且多个线程中的至少一个线程被映射在多个处理器核心之一上。多个功能包括解析来自主机的队列的输入/输出(I/O)请求的第一功能、将I/O请求的逻辑地址转换为对于闪存介质的物理地址的第二功能、基于I/O请求的物理地址构成对于闪存介质的闪存事务的第三功能、获取用于排除针对I/O请求的逻辑地址的其他I/O请求的锁的第四功能、以及当I/O请求满足预定条件时通过内部存储器处理I/O请求的第五功能。多个线程包括用于实现第一功能的至少一个第一线程、用于实现第二功能的至少一个第二线程、用于实现第三功能的至少一个第三线程、用于实现第四功能的至少一个第四线程、用于实现第五功能的至少一个第五线程。由多个线程在第一线程和第三线程之间形成用于处理多个I/O请求的多个路径。多个功能还可以包括执行垃圾收集的第六功能和执行日志记录的第七功能。根据又一实施例,提供了包括控制器、闪存介质和内部存储器的基于闪存的存储设备。根据本专利技术的实施例,闪存固件的功能可以分解成多个功能,并且每个功能可以由多个处理器核心上的线程实现,使得许多I/O请求可以在短时间内被处理。附图说明图1是根据本专利技术的实施例的计算设备的示意性框图。图2和图3是根据本专利技术的实施例的用于解释SSD控制器中的数据路径的图。图4A是示出根据闪存芯片的数量在带宽和执行延迟之间的关系的图。图4B是示出根据核心数量的SSD性能的图。图5是根据本专利技术的实施例的SSD的示意性框图。图6是根据本专利技术的实施例的SSD控制器的示意性框图。图7是示出根据本专利技术的实施例的用于在SSD控制器中将FTL核心分解成功能的架构的图。图8和图9是示出了根据本专利技术的实施例的SSD控制器中的线程的操作的图。图10是根据本专利技术的实施例的用于解释SSD控制器中的NVMQ的操作的图。图11是根据本专利技术的实施例的用本文档来自技高网...

【技术保护点】
1.一种基于闪存的存储设备,包括:闪存介质;和所述闪存介质的控制器,其包括多个处理器核心,其中,所述控制器的闪存固件被分解成多个功能,所述多个功能由所述多个处理器核心上的多个线程实现,所述多个功能中的不同功能由所述多个线程中的不同线程实现,并且所述多个线程中的至少一个线程被映射在所述多个处理器核心之一上。

【技术特征摘要】
2017.11.15 KR 10-2017-0152433;2018.06.14 KR 10-2011.一种基于闪存的存储设备,包括:闪存介质;和所述闪存介质的控制器,其包括多个处理器核心,其中,所述控制器的闪存固件被分解成多个功能,所述多个功能由所述多个处理器核心上的多个线程实现,所述多个功能中的不同功能由所述多个线程中的不同线程实现,并且所述多个线程中的至少一个线程被映射在所述多个处理器核心之一上。2.根据权利要求1所述的基于闪存的存储设备,还包括内部存储器,其中,所述多个功能包括:第一功能,其解析来自主机的队列的输入/输出(I/O)请求;第二功能,其将所述I/O请求的逻辑地址转换为对于所述闪存介质的物理地址;和第三功能,其基于所述I/O请求的物理地址构成关于所述闪存介质的闪存事务,其中,所述多个线程包括用于实现所述第一功能的至少一个第一线程、用于实现所述第二功能的至少一个第二线程和用于实现所述第三功能的至少一个第三线程,以及其中,用于处理多个I/O请求的多个路径由所述多个线程在所述第一线程和所述第三线程之间形成。3.根据权利要求2所述的基于闪存的存储设备,其中,所述至少一个第一线程包括多个第一线程,其中,所述队列包括提交队列,并且所述控制器将所述提交队列中的多个I/O请求被存储在其中的条目复制到在所述内部存储器中创建的提交队列缓冲器,以及其中,每个第一线程解析来自所述提交队列缓冲器的所述多个I/O请求中的相应一个。4.根据权利要求3所述的基于闪存的存储设备,其中,所述多个第一线程并行解析所述多个I/O请求。5.根据权利要求3所述的基于闪存的存储设备,其中,每个第一线程用相应的I/O请求的结果更新在所述内部存储器中创建的完成队列缓冲器,以及其中,所述控制器将所述完成队列缓冲器的条目复制到所述主机的完成队列。6.根据权利要求5所述的基于闪存的存储设备,其中,所述多个第一线程以无序方式用所述多个I/O请求的结果更新所述完成队列缓冲器。7.根据权利要求2所述的基于闪存的存储设备,其中,所述至少一个第二线程包括多个第二线程,其中,在所述第一线程中使用的逻辑地址空间被划分成分别对应于所述多个第二线程的N个地址块,其中N是所述第二线程的数量,以及其中,所述I/O请求的逻辑地址由所述多个第二线程中的具有对应于在所述N个地址块中所述逻辑地址所属的地址块的索引的第二线程转换成所述物理地址。8.根据权利要求2所述的基于闪存的存储设备,其中,所述至少一个第二线程包括多个第二线程,以及其中,所述I/O请求的逻辑地址由所述多个第二线程中的具有对应于通过加扰所述逻辑地址获得的结果的索引的第二线程转换成所述物理地址。9.根据权利要求8所述的基于闪存的存储设备,其中,所述逻辑地址被分成多个位组,每个位组由n位组成,其中n是所述第二线程的数量(N)的二进制对数(log2N),以及其中,所述索引对应于通过对所述多个位组执行逐位XOR运算而获得的结果。10.根据权利要求2所述的基于闪存的存储设备,其中,所述至少一个第二线程包括多个第二线程,其中,用于所述闪存介质的地址空间的多个物理块以块交织的方式分配给所述多个第二线程,以及其中,每个第二线程将所述I/O请求的逻辑地址转换为对应于所分配的物理块的物理地址。11.根据权利要求2所述的基于闪存的存储设备,其中,所述多个功能还包括第四功能,所述第四功能获取用于排除针对所述I/O请求的逻辑地址的其他...

【专利技术属性】
技术研发人员:郑溟随权美玲张杰
申请(专利权)人:忆锐公司延世大学校产学协力团
类型:发明
国别省市:韩国,KR

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1