加速UFS协议处理的方法与存储控制器技术

技术编号:24455621 阅读:39 留言:0更新日期:2020-06-10 15:27
提供了加速UFS协议处理的方法与存储控制器。所提供的UFS存储设备的控制部件,包括UPIU处理单元、命令槽分配单元、命令存储器、处理器与命令处理单元;UPIU处理单元从作为命令单元类型的UPIU提取第一命令,将第一命令提供给命令槽分配单元;命令槽分配单元为第一命令分配可用的命令槽,并将第一命令的第一部分存储到同命令槽关联的命令缓存单元,将为第一命令分配的命令槽提供给处理器;处理器根据命令槽生成一个或多个命令描述符并提供给命令处理单元;命令处理单元根据命令描述符通过UPIU处理单元发出UPIU。

Method of accelerating UFS protocol processing and storage controller

【技术实现步骤摘要】
加速UFS协议处理的方法与存储控制器
本申请涉及存储技术,具体地,涉及利用软硬件协同处理USF协议来加速UFS处理的方法与存储控制器。
技术介绍
图1展示了存储设备的框图。存储设备102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(SerialAdvancedTechnologyAttachment,串行高级技术附件)、SCSI(SmallComputerSystemInterface,小型计算机系统接口)、SAS(SerialAttachedSCSI,串行连接SCSI)、IDE(IntegratedDriveElectronics,集成驱动器电子)、USB(UniversalSerialBus,通用串行总线)、PCIE(PeripheralComponentInterconnectExpress,PCIe,高速外围组件互联)、NVMe(NVMExpress,高速非易失存储)、UFS(UniversalFlashStorage)、eMMC(embeddedMMC(MultiMediaCard))、以太网、光纤通道、无线通信网络等连接主机与存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个NVM芯片105以及可选地DRAM(DynamicRandomAccessMemory,动态随机访问存储器)110。NAND闪存、相变存储器、FeRAM(FerroelectricRAM,铁电存储器)、MRAM(MagneticRandomAccessMemory,磁阻存储器)、RRAM(ResistiveRandomAccessMemory,阻变存储器)、XPoint存储器等是常见的NVM。接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、UFS(UniversalFlashStorage)、以太网、光纤通道等方式与主机交换数据。控制部件104用于控制在接口103、NVM芯片105以及DRAM110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是FPGA(Field-programmablegatearray,现场可编程门阵列)、ASIC(ApplicationSpecificIntegratedCircuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理IO(Input/Output)命令。控制部件104还可以耦合到DRAM110,并可访问DRAM110的数据。在DRAM可存储FTL表和/或缓存的IO命令的数据。控制部件104包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发出命令,以操作NVM芯片105,并接收从NVM芯片105输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。UFS(UniversalFlashStorage)是JEDEC标准组织制定的用于闪存存储设备的接口标准,标准编号例如JESD220C。UFS协议以UPIU(UFSProtocolInformationUnit,UFS协议信息单元)为传输单元在主机与存储设备之间交换命令。UPIU包括多种类型,例如命令单元、RTT单元、读数据单元、写数据单元以及响应单元等。图2A与图2B展示了USF协议通过UPIU实施写命令与读命令的示意图。图2A用于描述写命令的处理过程。主机将代表写命令的作为命令单元类型的UPIU发送给设备。设备作为响应,在自身能接收写命令要写入的数据后,向主机发出作为RTT单元类型的UPIU,以告知主机自身可接收数据以及接收可数据的长度。主机作为对收到RTT单元类型的UPIU的响应,向设备发出写数据单元类型的UPIU。设备接收写数据单元类型的UPIU,并获取其携带的数据。设备还依据尚未获取写命令要写入的全部数据,而再次在自身能接收写命令要写入的数据后,向主机发出作为RTT单元类型的UPIU。主机作为对收到RTT单元类型的UPIU的响应,向设备发出写数据单元类型的UPIU。设备接收写数据单元类型的UPIU,并获取其携带的数据。设备响应于识别出已获取了写命令要写入的全部数据,向主机发出响应单元类型的UPIU。主机接收该响应单元类型的UPIU后,知晓写命令处理完成。图2B用于描述读命令的处理过程。主机将代表读命令的作为命令单元类型的UPIU发送给设备。设备作为响应,在自身获取了读命令要读出的数据后,向主机发出作为读数据单元类型的UPIU,以向主机提供读命令要读出的数据。设备还识别是否已向主机提供了读命令的所有要读取数据。如果还有其他要读出的数据要提供给主机,设备还向主机发出一个或多个作为读数据单元类型的UPIU,直到向主机提供了该读命令的所有要读取数据。以及设备响应于识别出已向主机提供了读命令要读取的全部数据,还向主机发出响应单元类型的UPIU。主机接收该响应单元类型的UPIU后,知晓读命令处理完成。遵循UFS协议的存储设备的控制部件,根据主机发出的命令与自身的处理能力,并根据UFS协议的要求,获取UPIU并向主机提供UPIU以完成对命令的处理。除了读命令、写命令,UFS协议还定义了任务管理命令、咨询命令、弹出命令、空命令等。
技术实现思路
UFS协议通常被用于便携式存储卡或嵌入智能移动终端的存储模块中。这类支持USF协议的存储设备属于小型设备,通常具有较少的计算资源与较低的功耗。通常,存储设备的控制部件由硬件提取UPIU,提出的UPIU被交由处理器核执行的软件识别其含义并处理。因而软件或执行软件的CPU核处理能力往往成为此类设备的性能瓶颈。希望由硬件分配软件的部分工作。根据本申请的实施例,由支持UFS协议的存储设备的硬件分担了软件的至少下列工作:(1)识别控制部件能并发处理的命令的数量,确保控制部件接受的命令数量不超出指定范围,并在控制部件并发处理的命令饱和时拒绝额外接收的命令;(2)向软件提供主机发出并被接受要处理的命令,响应于软件的指示向主机提供作为处理过程或结果的UPIU;(3)自动生成部分UPIU,从而软件不被为每一个UPIU的向主机发送而向硬件提供指示。根据本申请的第一方面,提供了根据本申请第一方面的第一UFS存储设备的控制部件,包括UPIU处理单元、命令槽分配单元、命令存储器、处理器与命令处理单元;UPIU处理单元从作为命令单元类型的UPIU提取第一命令,将第一命令提供给命令槽分配单元;命令槽分配单元为第一命令分配可本文档来自技高网
...

【技术保护点】
1.一种UFS存储设备的控制部件,包括UPIU处理单元、命令槽分配单元、命令存储器、处理器与命令处理单元;/nUPIU处理单元从作为命令单元类型的UPIU提取第一命令,将第一命令提供给命令槽分配单元;/n命令槽分配单元为第一命令分配可用的命令槽,并将第一命令的第一部分存储到同命令槽关联的命令缓存单元,将为第一命令分配的命令槽提供给处理器;/n处理器根据命令槽生成一个或多个命令描述符并提供给命令处理单元;/n命令处理单元根据命令描述符通过UPIU处理单元发出UPIU。/n

【技术特征摘要】
1.一种UFS存储设备的控制部件,包括UPIU处理单元、命令槽分配单元、命令存储器、处理器与命令处理单元;
UPIU处理单元从作为命令单元类型的UPIU提取第一命令,将第一命令提供给命令槽分配单元;
命令槽分配单元为第一命令分配可用的命令槽,并将第一命令的第一部分存储到同命令槽关联的命令缓存单元,将为第一命令分配的命令槽提供给处理器;
处理器根据命令槽生成一个或多个命令描述符并提供给命令处理单元;
命令处理单元根据命令描述符通过UPIU处理单元发出UPIU。


2.根据权利要求1所述的控制部件,还包括命令队列与一个或多个命令槽队列;
UPIU处理单元将提取出的第一命令添加到命令队列;
命令槽分配单元从命令队列获取第一命令;
命令槽分配单元将分配的命令槽添加到一个或多个命令槽队列之一;
处理器从一个或多个命令槽队列获取命令槽。


3.根据权利要求1或2所述的控制部件,其中
若没有可用的命令槽分配给第一命令,命令槽分配单元通过UPIU处理单元发出作为响应类型的UPIU以指示存储设备当前无法处理第一命令。


4.根据权利要求1-3之一所述的控制部件,其中
第一命令的第一部分包括从中提取第一命令的UPIU的头部信息;
命令槽分配单元将第一命令的第二部分添加到命令槽,其中第二命令的第二部分同所述处理器对命令的处理有关。


5.根据权利要求1-4之一所述的控制部件,还包括命令描述符寄存器;
处理器通过将生成的命令描述符写入命令描述符寄存器来将命令描述符提供给命令处理单元;
命令处理单元响应于根据命令描述符通过UPIU处理单元发出UPIU,还更新命令...

【专利技术属性】
技术研发人员:吴翰轩唐治龙李锐曹一君郑先翔
申请(专利权)人:厦门鑫忆讯科技有限公司
类型:发明
国别省市:福建;35

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

1