System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及固态硬盘,特别是涉及一种ssd控制器、固态硬盘及数据处理方法。
技术介绍
1、目前,ssd控制器在接收到主机发送的读写等操作命令后,会基于状态机的几个状态产生与当前操作对应的驱动信号发给nand phy,然后nand phy据此驱动信号操作固态硬盘的nand flash,以完成操作流程。ssd控制器、nand phy与nand flash之间的连接关系可参阅图1。
2、参阅图2(a),为原有legacy ca protocol接口(以下简称为legacy接口)的示意图,ce_0#/1#/2#/3#,ale,cle,we#信号和dq,dqs_t,dqs_c,re_t,re_c信号之间有相互关系,为一组总线信号。现有nand flash新增了sca(separate command address)接口,如图2(b)所示,在sca接口(scaprotocol)中,ca_ce_0#/1#/2#/3#,ca[0],ca[1],ca_clk(对应原来的ce,ale,cle,we#信号)和dq,dqs_t,dqs_c,re_t,re_c信号之间为两组总线信号,可分开操作。其中,可将ca_ce_0#/1#/2#/3#,ca[0],ca[1],ca_clk称为sca接口,dq,dqs_t,dqs_c,re_t,re_c称为数据接口,并且sca接口主要用于下发nand flash命令操作,数据接口主要用于传输数据。因此,对于sca接口,ssd控制器需要能执行命令和数据分离的双总线操作。
3、然而,如何在兼容原
技术实现思路
1、本申请的目的在于提供一种ssd控制器、固态硬盘及数据处理方法,能够在兼容原有legacy接口的基础上,实现对sca接口的支持,从而提高了数据传输效率,减少了读写延迟。
2、为达到上述目的:
3、第一方面,本申请提供了一种ssd控制器,包括:
4、预处理状态机,用于获取nand flash控制器针对nand flash存储器下发的命令,并根据所述命令的类型对应下发至第一缓存或第二缓存;
5、第一缓存,用于存储所述预处理状态机下发的sca命令;
6、第二缓存,用于存储所述预处理状态机下发的数据传输命令;
7、第一状态机,用于处理所述第一缓存中的命令;
8、第二状态机,用于处理所述第二缓存中的命令。
9、在一实施方式中,预处理状态机,还用于:
10、在获取到所述nand flash控制器针对所述nand flash存储器下发的类型为sca命令的第一命令时,检测所述第一命令对应操作的存储单元与所述第二缓存中已存储的第二命令对应操作的存储单元和/或所述第二状态机正在执行的第三命令对应操作的存储单元是否相同;
11、若是,则禁止下发所述第一命令至所述第一缓存。
12、在一实施方式中,所述第一命令包括ce命令和addr命令;
13、所述预处理状态机,具体用于:
14、根据所述ce命令,确定所述第一命令对应操作的flash颗粒的ce信息;
15、根据所述addr命令,确定所述第一命令对应操作的flash颗粒的地址信息;
16、基于所述ce信息和所述地址信息,生成所述第一命令对应操作的存储单元的标识信息;
17、检测所述第一命令对应操作的存储单元的标识信息与所述第二缓存中已存储的第二命令对应操作的存储单元的标识信息和/或所述第二状态机正在执行的第三命令对应操作的存储单元的标识信息是否相同;
18、若是,则禁止下发所述第一命令至所述第一缓存。
19、在一实施方式中,所述预处理状态机,具体用于:
20、对所述ce信息和所述地址信息进行组合,获得所述第一命令对应操作的存储单元的初始标识信息;
21、对所述初始标识信息进行信息提取,获得所述第一命令对应操作的存储单元的标识信息。
22、在一实施方式中,所述预处理状态机,还用于:
23、响应于预设旁路功能被使能,将所述nand flash控制器针对所述nand flash存储器下发的命令直接下发到所述第二缓存中;
24、所述第二缓存,还用于存储所述nand flash控制器对所述nand flash存储器下发的所有命令。
25、在一实施方式中,所述第二状态机,还用于在执行所述第三命令之前,通过预设第一切换表向所述第一状态机发送数据传输开始请求信号;
26、所述第一状态机,还用于接收到所述数据传输开始请求信号后,通过预设第二切换表向所述第二状态机发送数据传输开始响应信号;
27、所述第二状态机,还用于在检测到所述数据传输开始响应信号后,执行所述第三命令。
28、在一实施方式中,所述第二状态机,还用于在执行完所述第三命令之后,通过所述预设第一切换表向所述第一状态机发送数据传输停止请求信号;
29、所述第一状态机,还用于接收到所述数据传输停止请求信号后,通过所述预设第二切换表向所述第二状态机发送数据传输停止响应信号;
30、所述第二状态机,还用于在检测到所述数据传输停止响应信号后,对预设寄存器的状态进行重置。
31、在一实施方式中,所述第二状态机,还用于在执行所述第三命令之前,检测所述预设寄存器的状态是否为预设状态;若是,则执行所述第三命令。
32、第二方面,本申请提供了一种固态硬盘,包括:
33、缓存存储器;
34、nand flash存储器;以及,
35、如第一方面中任一项所述的ssd控制器,分别与所述缓存存储器和所述nandflash存储器电连接,还与主机通信连接。
36、第三方面,本申请还提供了一种数据处理方法,应用于如第一方面中任一项所述的ssd控制器,所述方法包括:
37、预处理状态机获取nand flash控制器针对nand flash存储器下发的命令,并根据所述命令的类型对应下发至第一缓存或第二缓存;
38、第一缓存存储所述预处理状态机下发的sca命令;
39、第二缓存存储所述预处理状态机下发的数据传输命令;
40、第一状态机处理所述第一缓存中的命令;
41、第二状态机处理所述第二缓存中的命令。
42、本申请实施例提供的ssd控制器、固态硬盘及数据处理方法中,所述ssd控制器包括:预处理状态机,用于获取nand flash控制器针对nand flash存储器下发的命令,并根据所述命令的类型对应下发至第一缓存或第二缓存;第一缓存,用于存储所述预处理状态机下发的sca命令;第二缓存,用于存储所述预处理状态机下发的数据传输命令;第一状态机,用于处理所述第一缓存中的命令;第二状态机,本文档来自技高网...
【技术保护点】
1.一种SSD控制器,其特征在于,包括:
2.根据权利要求1所述的SSD控制器,其特征在于,所述预处理状态机,还用于:
3.根据权利要求2所述的SSD控制器,其特征在于,所述第一命令包括CE命令和ADDR命令;
4.根据权利要求3所述的SSD控制器,其特征在于,所述预处理状态机,具体用于:
5.根据权利要求1至4中任一项所述的SSD控制器,其特征在于,所述预处理状态机,还用于:
6.根据权利要求1至4中任一项所述的SSD控制器,其特征在于,
7.根据权利要求6所述的SSD控制器,其特征在于,
8.根据权利要求7所述的SSD控制器,其特征在于,
9.一种固态硬盘,其特征在于,包括:
10.一种数据处理方法,应用于如权利要求1至8中任一项所述的SSD控制器,其特征在于,所述方法包括:
【技术特征摘要】
1.一种ssd控制器,其特征在于,包括:
2.根据权利要求1所述的ssd控制器,其特征在于,所述预处理状态机,还用于:
3.根据权利要求2所述的ssd控制器,其特征在于,所述第一命令包括ce命令和addr命令;
4.根据权利要求3所述的ssd控制器,其特征在于,所述预处理状态机,具体用于:
5.根据权利要求1至4中任一项所述的ssd控制器,其特征在...
【专利技术属性】
技术研发人员:陆震熙,葛春志,
申请(专利权)人:深圳大普微电子股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。