eMMC的控制方法及基于FPGA的eMMC控制器与流程

文档序号:11136067阅读:来源:国知局

技术特征:

1.一种eMMC的控制方法,其特征在于,应用于基于FPGA的eMMC控制器,所述eMMC控制器与N片eMMC相连,N为大于1的正整数;

所述控制方法包括:

向所述N片eMMC并行发送操作指令;

并行接收所述N片eMMC响应所述操作指令分别发送的反馈信息,所述反馈信息指示每片eMMC是否成功实现所述操作指令;

根据所述反馈信息确定未成功实现所述操作指令的eMMC,并向所述未成功实现所述操作指令的eMMC并行发送所述操作指令,直到所述N片eMMC都成功实现所述操作指令。

2.根据权利要求1所述的控制方法,其特征在于,当所述操作指令为读取指令时,所述读取指令携带所述每片eMMC的标识和与所述标识对应的eMMC的读取起始地址和读取结束地址;

所述反馈信息指示所述每片eMMC向所述eMMC控制器反馈数据;

相应的,确定所述N片eMMC都成功实现所述操作指令之后,还包括:

接收所述每片eMMC依据与该eMMC对应的反馈信息反馈的数据,所述数据为所述读取起始地址至所述读取结束地址所构成的数据存储空间中的数据;

将接收的所述每片eMMC反馈的数据缓存至与所述每片eMMC对应的数据缓存器中;

判断所述每个数据缓存器的缓存状态是否均为非空状态;

当判断结果为是时,并行发送N个所述数据缓存器中的数据给用户;

当判断结果为否时,监测不是非空状态的数据缓存器的缓存状态,直到不是非空状态的数据缓存器的缓存状态变为非空状态,并行发送N个所述数据缓存器中的数据给用户。

3.根据权利要求1所述的控制方法,其特征在于,当所述操作指令为写入指令时,所述写入指令携带所述每片eMMC的标识和所述该标识对应的eMMC的写入起始地址和写入结束地址;

所述反馈信息指示所述每片eMMC是否成功接收所述写入指令;

相应的,确定所述N片eMMC都成功实现所述操作指令之后,还包括:

将待写入的数据分割成N个数据包,每个数据包的数据量为每片eMMC每次可写入的数据量;

将所述N个数据包分别缓存至N个数据缓存器中,所述N个数据缓存器与所述N片eMMC一一对应;

判断所述N个数据包的总数据量是否小于所述待写入的数据的数据量;

当判断结果为是时,将所述待写入的数据中未被缓存至所述N个数据缓存器中的数据作为新的待写入数据,并将所述新的待写入数据分割成N个所述数据包,直到分割后的所述数据包的总数据量等于所述待写入数据的数据量;

当判断结果为否时,将缓存在所述N个数据缓存器中的数据包并行发送至与所述N个数据缓存器对应的所述N片eMMC中,以使所述N片eMMC将数据包分别写入与所述每片eMMC对应的由写入起始地址和写入结束地址构成的数据存储空间中。

4.根据权利要求3所述的控制方法,其特征在于,将缓存在所述N个数据缓存器中的数据包并行发送至与所述N个数据缓存器对应的N片eMMC中,包括:

对并行发送的所述数据包中的每个数据包进行冗余校验;

将所述冗余校验后的校验数据附在所述每个数据包的结尾;

将带有校验数据的所述数据包发送至所述N片eMMC中。

5.根据权利要求1所述的控制方法,其特征在于,所述操作指令为擦除指令,所述擦除指令携带所述每片eMMC的标识和与所述标识对应的eMMC的擦除起始地址和擦除结束地址;

所述反馈信息指示所述每片eMMC是否成功擦除从所述擦除起始地到所述擦除结束地址所构成的数据存储空间中的数据;

相应的,确定所述N片eMMC都成功实现所述操作指令之后,还包括:

向用户返回指示对所述N片eMMC擦除成功的信息。

6.一种基于FPGA的eMMC控制器,其特征在于,所述eMMC控制器与N片eMMC相连,N为大于1的正整数;

所述eMMC控制器包括:

第一发送单元,用于向所述N片eMMC并行发送操作指令;

第一接收单元,用于并行接收所述N片eMMC响应所述操作指令分别发送的反馈信息,所述反馈信息指示每片eMMC是否成功实现所述操作指令;

确定单元,用于根据所述反馈信息确定未成功实现所述操作指令的eMMC,并向所述未成功实现所述操作指令的eMMC并行发送所述操作指令,直到所述N片eMMC都成功实现所述操作指令。

7.根据权利要求6所述的eMMC控制器,其特征在于,当所述操作指令为读取指令时,所述读取指令携带所述每片eMMC的标识和与所述标识对应的eMMC的读取起始地址和读取结束地址;

所述反馈信息指示所述每片eMMC向所述eMMC控制器反馈数据;

相应的,还包括:

第二接收单元,用于确定所述N片eMMC都成功实现所述操作指令之后,接收所述每片eMMC依据与该eMMC对应的反馈信息反馈的数据,所述数据为所述读取起始地址至所述读取结束地址所构成的数据存储空间中的数据;

第一缓存单元,用于将接收的所述每片eMMC反馈的数据缓存至与所述每片eMMC对应的数据缓存器中;

第一判断单元,用于判断所述每个数据缓存器的缓存状态是否均为非空状态;

第二发送单元,用于当所述第一判断单元判断每个数据缓存器的缓存状态均为非空状态时,并行发送N个所述数据缓存器中的数据给用户;

监测单元,用于当所述第一判断单元判断每个数据缓存器中的缓存状态不均为非空状态时,监测不是非空状态的数据缓存器的缓存状态,直到不是非空状态的数据缓存器的缓存状态变为非空状态,并行发送N个所述数据缓存器中的数据给用户。

8.根据权利要求6所述的eMMC控制器,其特征在于,当所述操作指令为写入指令时,所述写入指令携带所述每片eMMC的标识和与所述标识对应的eMMC的写入起始地址和写入结束地址;

所述反馈信息指示所述每片eMMC是否成功接收所述写入指令;

相应的,还包括:

第一分割单元,用于确定所述N片eMMC都成功实现所述操作指令之后,将待写入的数据分割成N个数据包,每个数据包的数据量为每片eMMC每次可写入的数据量;

第二缓存单元,用于将所述N个数据包分别缓存至N个数据缓存器中,所述N个数据缓存器与所述N片eMMC一一对应;

第二判断单元,用于判断所述N个数据包的总数据量是否小于所述待写入的数据的数据量;

第二分割单元,用于当所述第二判断单元判断所述N个数据包的总数据量小于所述待写入的数据的数据量时,将所述待写入的数据中未被缓存至所述N个数据缓存器中的数据作为新的待写入数据,并将所述新的待写入数据分割成N片数据包,直到分割后的所述数据包的总数据量等于所述待写入数据的数据量;

第三发送单元,用于当所述第二判断单元判断所述N个数据包的总数据量不小于所述待写入的数据的数据量时,将缓存在所述N个数据缓存器中的数据包并行发送至与所述N个数据缓存器对应的所述N片eMMC中,以使所述N片eMMC将数据包分别写入与所述每片eMMC对应的由写入起始地址和写入结束地址构成的数据存储空间中。

9.根据权利要求8所述的eMMC控制器,其特征在于,所述第三发送单元,包括:

校验单元,用于对并行发送的所述数据包中的每个数据包进行冗余校验;

重组单元,用于将所述冗余校验后的校验数据附在所述每个数据包的结尾;

发送子单元,用于将带有校验数据的所述数据包发送至所述N片eMMC中。

10.根据权利要求6所述的eMMC控制器,其特征在于,所述操作指令为擦除指令,所述擦除指令携带所述每片eMMC的标识和与所述标识对应的eMMC的擦除起始地址和擦除结束地址;

所述反馈信息指示所述每片eMMC是否成功擦除从所述擦除起始地到所述擦除结束地址所构成的数据存储空间中的数据;

相应的,还包括:

第四发送单元,用于确定所述N片eMMC都成功实现所述操作指令之后,向用户返回指示对所述N片eMMC擦除成功的信息。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1