本发明属于闪存技术领域,尤其涉及一种固态硬盘微码的设计方法及系统。
背景技术:
随着互联网、云计算、物联网等技术的发展,固态硬盘作为新的一代存储,被广泛应用。我们通常所说的固态硬盘就是基于闪存的固态硬盘(SSD),其采用闪存芯片作为存储介质。固态硬盘(SSD)的基本组成结构包括闪存颗粒和闪存控制器,闪存控制器中有芯片,负责闪存的读写、磨损均衡、寿命监控等等。NAND是目前闪存颗粒用的技术,SSD里面的存储颗粒就是一颗颗NAND Flash(NAND闪存)。目前生产NAND颗粒的厂商很多,制作工艺存在差异性,不同厂商生产出来的同样用于企业级或消费级的颗粒质量也存在差异性,主要是PE性能(可写、可擦除的次数)、读写擦操作的时序不一致。而同一厂商正常生产出来的不同颗粒质量不同,会筛选出用于企业级和消费级的。
目前,NAND颗粒类型和和闪存控制器程序的耦合性较高,因为适用的Fireware程序中通道信息都是固定好的,这导致在更换NAND颗粒时,需要修改相应的闪存控制器程序,从而引入非必要的工作量。
技术实现要素:
下面对本发明中出现的名词作以下解释:
固态硬盘:英文全称Solid State Drives,简称SSD,用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片或DRAM芯片)组成,控制单元主要包括特定型号固态硬盘中的固件程序,闪存转换层和闪存控制器等控制模块,存储单元主要是由半导体公司生产的闪存存储颗粒(NAND颗粒)。
闪存通道控制器:英文全称Flash Channel Controller,简称FCC,每个通道对应一个闪存通道控制器,其基于闪存独特的结构特性,设计固态硬盘时采用多个FCC并行技术来实现多通道数据的并发读写操作,因此有效地提高了固体盘整体的读写性能。
引导加载程序:英文全称:Boot Loader,其会引导操作系统。当机器引导它的操作系统时,基本输入输出系统(Basic Input Output System,简称BIOS)会读取引导介质上最前面的512字节(即人们所知的主引导记录(Master Boot Record,简称MBR))。在单一的MBR中只能存储一个操作系统的引导记录,所以当需要多个操作系统时就会出现问题。所以需要更灵活的引导加载程序。引导加载程序通常配置为两种方式的其中之一:要么是作为主引导加载程序(Primary Boot Loader,简称PBL),要么是作为二级引导加载程序(Secondary Boot Loader,简称SBL)。主引导程序是安装在MBR上的第一阶段引导加载程序。二级引导加载程序是安装在可引导分区的第一阶段引导加载程序。必须在MBR上安装单独的引导加载程序,并配置它将控制权转交给二级引导加载程序。现在两个引导加载程序:LILO和GRUB。
带电可擦可编程只读存储器:英文全称:Electrically Erasable Programmable Read-Only Memory,简称EEPROM,是一种掉电后数据不丢失的存储芯片。EEPROM可以在电脑上或专用设备上擦除已有信息,重新编程。一般为即插即用。
逻辑单元:英文全称Logical Unit Number,简称LUN,是NAND芯片中可以独立地执行命令的最小单位,一个NAND芯片中有一个或多个LUN。
针对以上技术问题,本发明的目的是提供一种固态硬盘微码的设计方法及系统,避免了更换NAND颗粒时修改控制器程序的麻烦。
为达到上述目的,本发明通过以下技术方案实现:
本发明提供一种固态硬盘微码的设计方法,包括:
根据待更换的NAND颗粒类型,获取需要配置的通道信息和时序信息;
SBL将NAND颗粒的微码加载到FCC中;
FCC配置NAND颗粒的通道信息和时序。
优选地,在SBL将NAND颗粒的微码加载到FCC中之前,还包括:PBL将NAND颗粒的微码从EEPROM导入SBL。
优选地,在FCC配置NAND颗粒的通道信息和时序之后,还包括:软件复位并初始化固态硬盘。
优选地,所述通道信息包括NAND颗粒的物理页大小、物理页数目、逻辑单元的数目。
本发明还提供一种固态硬盘微码的设计系统,包括EEPROM,PBL,SBL,FCC,所述EEPROM依次连接PBL、SBL和FCC,所述EEPROM中存有NAND颗粒的微码;所述PBL将EEPROM中的NAND颗粒的微码导入SBL;所述SBL将NAND颗粒的微码加载到FCC中;所述FCC配置NAND颗粒的通道信息和时序。
优选地,所述通道信息包括NAND颗粒的物理页大小、物理页数目、逻辑单元的数目。
与现有技术相比,本发明的有益效果如下:
本发明通过将NAND颗粒的微码提前存入到EEPROM,SBL只需要将微码加载到FCC中,再由FCC中配置NAND颗粒的通道信息和时序,降低了控制器程序和NAND颗粒类型的耦合性,避免了更换NAND颗粒时修改控制器程序的麻烦,极大地节约了时间和成本。
附图说明
图1为本发明一种固态硬盘微码的设计方法的流程示意图之一。
图2为本发明一种固态硬盘微码的设计方法的流程示意图之二。
图3为本发明一种固态硬盘微码的设计系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和具体实施方式对本发明一种固态硬盘微码的设计方法及系统作进一步地说明:
实施例1
如图1所示,一种固态硬盘微码的设计方法,包括以下步骤:
步骤S101,根据待更换的NAND颗粒类型,获取需要配置的通道信息和时序信息;
步骤S102,SBL将NAND颗粒的微码加载到FCC中;
步骤S103,FCC配置NAND颗粒的通道信息和时序;
步骤S104,软件复位并初始化固态硬盘。
上述步骤S101中的通道信息包括NAND颗粒的物理页大小、物理页数目、逻辑单元的数目。
上述步骤S103中时序是指NAND颗粒的主要操作“读写擦”的顺序。
作为一种实施方式,微码可以包括ALE,CLE,REN,WEN,DQS,CEN,REV。
实施例2
如图2所示,一种固态硬盘微码的设计方法,包括以下步骤:
步骤S201,根据待更换的NAND颗粒类型,获取需要配置的通道信息和时序信息;
步骤S202,PBL将NAND颗粒的微码从EEPROM导入SBL;
步骤S203,SBL将NAND颗粒的微码加载到FCC中;
步骤S204,FCC配置NAND颗粒的通道信息和时序;
步骤S205,软件复位并初始化固态硬盘。
上述步骤S201中的通道信息包括NAND颗粒的物理页大小、物理页数目、逻辑单元的数目。
上述步骤S204中时序是指NAND颗粒的主要操作“读写擦”的顺序。
作为一种实施方式,微码可以包括ALE,CLE,REN,WEN,DQS,CEN,REV。
实施例3
如图3所示,一种固态硬盘微码的设计系统,其特征在于,包括EEPROM,PBL,SBL,FCC,所述EEPROM依次连接PBL、SBL和FCC,所述EEPROM中存有NAND颗粒的微码;所述PBL将EEPROM中的NAND颗粒的微码导入SBL;所述SBL将NAND颗粒的微码加载到FCC中,所述FCC配置NAND颗粒的通道信息和时序;所述通道信息包括NAND颗粒的物理页大小、物理页数目、逻辑单元的数目;所述微码可以包括ALE,CLE,REN,WEN,DQS,CEN,REV。
以上所述仅为本发明示意性的具体实施方式,并非用以限定本发明的范围,任何本领域的技术人员在不脱离本发明构思和原则的前提下所做出的等同变化与修改,均应属于本发明保护的范围。