公开了处理IO请求的方法及其存储控制器。提供的处理IO请求的方法,用于向多个存储器的多个并行单元分发IO请求,其中,为每个并行单元提供IO请求缓冲区,所述IO请求缓冲区包括读请求缓冲区、写请求缓冲区以及擦除请求缓冲区;该方法包括:接收IO请求,基于IO请求对应的物理地址以及访问类型,将IO请求填入该物理地址和访问类型对应的并行单元的IO请求缓冲区,所述访问类型包括读请求、写请求以及擦除请求;从IO请求缓冲区之一中读出IO请求;根据读出的IO请求访问并行单元。
【技术实现步骤摘要】
本专利技术涉及电子设备,更具体地,本专利技术涉固态硬盘处理IO请求的方法以及用于存储设备的存储控制器。
技术介绍
参看图1,以固态存储设备(SolidStorageDevice,SSD)作为电子设备的举例,图1展示了存储设备的框图。存储设备102同主机相耦合,用于为主机提供存储能力。主机同存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA、IDE、USB、PCIE、NVMe(NVMExpress)、SCSI、以太网、光纤通道、无线通信网络等连接主机与存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个NVM(非易失存储器,Non-VolatileMemory)存储芯片105以及固件存储器110。接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SCSI、iSCSI、Inifiband、以太网、光纤通道等方式与主机交换数据。控制部件104用于控制在接口103、NVM存储芯片105以及固件存储器110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。可通过软件、硬件、固件或其组合的多种方式实现控制部件104。控制部件104可以是FPGA(Field-programmablegatearray,现场可编程门阵列)、ASIC(ApplicationSpecificIntegratedCircuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器。控制部件104在运行时从固件存储器110加载固件。固件存储器110可以是NOR闪存、ROM、EEPROM等。固件用于提供电子设备底层功能,诸如BIOS、操作系统加载等。存储器目标(Target)是NAND闪存封装内的共享芯片使能(CE,ChipEnable)信号的一个或多个逻辑单元(LogicUnit)。每个逻辑单元具有逻辑单元号(LUN,LogicUnitNumber)。NAND闪存封装内可包括一个或多个管芯(Die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。在可从http://www.micron.com/~/media/Documents/Products/Other%20Documents/ONFI3_0Gold.ashx获得的“OpenNANDFlashInterfaceSpecification(Revision3.0)”中,提供了关于目标(target)、逻辑单元、LUN、平面(Plane)的含义。在固态存储设备中,利用FTL(FlashTranslationLayer,闪存转换层)来维护从逻辑地址到物理地址的映射信息。存储了从逻辑地址到物理地址的映射信息的表结构被称为FTL表。逻辑地址构成了操作系统等上层软件所感知到的固态存储设备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在现有技术中还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址进一步映射为物理地址。公开号为CN102177556A的中国专利申请公开了一种闪存转换层(FTL)。参看图2,其展示了用于FTL的并行单元的查找表的例子。由于闪存芯片中的逻辑单元(LogicUnit)可以并行方式存取,因而,并行单元可以是一逻辑单元。逻辑单元内可包括多个平面(Plane),并行单元也可为一平面。在一个例子中,固态驱动器包括8个信道(channel)(也称为“通道”)。每个通道上包括多个闪存芯片。通过图2中提供的查找表,将0-31的并行单元编号,映射到特定的通道、芯片启用(也称为“使能”)信号、逻辑单元以及平面。MLC(Multi-LevelCell,多级单元)NVM是在每个存储单元中能够存储至少两比特信息的非易失性存储器。同SLC(SingleLevelCell)NVM相比,具有存储容量大,成本低的特点,但存储的可靠性不如SLC。中国专利文献CN101710252B中公开了避免意外断电时存储设备的缓冲存储器中的数据丢失的方案。其中,在存储设备中提供备用电源,当发生意外断电时,由备用电源向存储设备提供临时的电能,用于将缓冲存储器(Cache)中的数据转存到闪存中。
技术实现思路
本专利技术的一个目的在于提供将IO请求在并行单元上进行调度的能力,从而使存储设备能够提供服务质量管理和控制,并能够降低IO请求延时的抖动。本专利技术的又一个目的在于在固态存储设备掉电后的有限时间内,能够可靠地存储数据。根据本专利技术的第一方面,提供了根据本专利技术第一方面的第一处理IO请求的方法,用于向多个存储器的多个并行单元分发IO请求,其中,为每个并行单元提供IO请求缓冲区,所述IO请求缓冲区包括读请求缓冲区、写请求缓冲区以及擦除请求缓冲区;所述方法包括:接收IO请求,基于IO请求对应的物理地址以及访问类型,将IO请求填入该物理地址和访问类型对应的并行单元的IO请求缓冲区,所述访问类型包括读请求、写请求以及擦除请求;从IO请求缓冲区之一中读出IO请求;根据读出的IO请求访问并行单元。根据本专利技术第一方面的第一处理IO请求的方法,提供了根据本专利技术第一方面的第二处理IO请求的方法,其中所述读请求缓冲区、写请求缓冲区以及擦除请求缓冲区对应不同的处理优先级,以及其中所述从IO请求缓冲区之一中读出IO请求,是根据处理优先级,选择IO请求缓冲区之一。根据本专利技术第一方面的第一处理IO请求的方法,提供了根据本专利技术第一方面的第三处理IO请求的方法,其中为每个并行单元提供执行状态指示单元,用于根据并行单元上正在处理的IO请求指示各个并行单元的IO请求处理能力,所述IO请求处理能力包括,能够执行读请求、能够执行写请求、和/或能够执行擦除请求;其中所述从IO请求缓冲区之一中读出IO请求,是根据并行单元的IO请求处理能力,选择IO请求缓冲区之一。根据本专利技术第一方面的第一处理IO请求的方法,提供了根据本专利技术第一方面的第四处理IO请求的方法,其中所述读请求缓冲区、写请求缓冲区以及擦除请求缓冲区对应不同的处理优先级,以及其中为每个并行单元提供执行状态指示单元,用于根据并行单元上正在处理的IO请求指示各个并行单元的IO请求处理能力,所述IO请求处理能力包括,能够执行读请求、能够执行写请求、和/或能够执行擦除请求;其中所述从IO请求缓冲区之一中读出IO请求,是根据并行单元的IO请求处理能力,获得该并行单元能够处理的访问类型,以及根据处理优先级,选择该并行单元能够处理的访问类型所对应的IO请求缓冲区之一。根据本专利技术第一方面的第三或第四处理IO请求的方法,提供了根据本专利技术第一方面的第五处理IO请求的方法,其中当所述并行单元正在执行擦除请求时,所述并行单元还能够执行读请求;当所述并行单元正在执行写请求时,所述并行单元还能够执行写请求或读请求;以及当所述并行单元正在执行读请求时,所述并行单元本文档来自技高网...

【技术保护点】
一种处理IO请求的方法,用于向多个存储器的多个并行单元分发IO请求,其中,为每个并行单元提供IO请求缓冲区,所述IO请求缓冲区包括读请求缓冲区、写请求缓冲区以及擦除请求缓冲区;所述方法包括:接收IO请求,基于IO请求对应的物理地址以及访问类型,将IO请求填入该物理地址和访问类型对应的并行单元的IO请求缓冲区,所述访问类型包括读请求、写请求以及擦除请求;从IO请求缓冲区之一中读出IO请求;根据读出的IO请求访问并行单元。
【技术特征摘要】
1.一种处理IO请求的方法,用于向多个存储器的多个并行单元分发IO请求,其中,为每个并行单元提供IO请求缓冲区,所述IO请求缓冲区包括读请求缓冲区、写请求缓冲区以及擦除请求缓冲区;所述方法包括:接收IO请求,基于IO请求对应的物理地址以及访问类型,将IO请求填入该物理地址和访问类型对应的并行单元的IO请求缓冲区,所述访问类型包括读请求、写请求以及擦除请求;从IO请求缓冲区之一中读出IO请求;根据读出的IO请求访问并行单元。2.根据权利要求1所述的方法,其中所述读请求缓冲区、写请求缓冲区以及擦除请求缓冲区对应不同的处理优先级,以及其中所述从IO请求缓冲区之一中读出IO请求,是根据处理优先级,选择IO请求缓冲区之一。3.根据权利要求1所述的方法,其中为每个并行单元提供执行状态指示单元,用于根据并行单元上正在处理的IO请求指示各个并行单元的IO请求处理能力,所述IO请求处理能力包括,能够执行读请求、能够执行写请求、和/或能够执行擦除请求;其中所述从IO请求缓冲区之一中读出IO请求,是根据并行单元的IO请求处理能力,选择IO请求缓冲区之一。4.根据权利要求1所述的方法,其中所述读请求缓冲区、写请求缓冲区以及擦除请求缓冲区对应不同的处理优先级,以及其中为每个并行单元提供执行状态指示单元,用于根据并行单元上正在处理的IO请求指示各个并行单元的IO请求处理能力,所述IO请求处理能力包括,能够执行读请求、能够执行写请求、和/或能够执行擦除请求;其中所述从IO请求缓冲区之一中读出IO请求,是根据并行单元的IO请求处理能力,获得该并行单元能够处理的访问类型,以及根据处理优先级,选择该并行单元能够处理的访问类型所对应的IO请求缓冲区之一。5.根据权利要求3或4之一所述的方法,其中当所述并行单元正在执行擦除请求时,所述并行单元还能够执行读请求;当所述并行单元正...
【专利技术属性】
技术研发人员:刘绍宗,
申请(专利权)人:北京忆恒创源科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。