【技术实现步骤摘要】
本专利技术涉及嵌入式存储
,尤其涉及一种FLASH(闪存)的控制方法和控制器。
技术介绍
目前,大多数嵌入式设备,如手机和机顶盒等,都需要外部存储芯片来存储程序数据和用户数据,常见的外部存储芯片类型有安全数码卡(SD,SecureDigitalMemoryCard)、嵌入式多媒体卡(EMMC,EmbeddedMultiMediaCard)、编码型闪存NORFLASH和储存型闪存(NANDFLASH)。其中,SD卡是可热插拔的,通常用于存储用户数据;EMMC具有容量大、可实现芯片内部错误检查和纠正(ECC,ErrorCheckingandCorrecting)以及坏块管理功能等优点,但其成本较高,适用于数据量需求较大的嵌入式设备;NORFLASH读写速度快,但容量小、成本高;NANDFLASH可以做到容量高、成本低,但由于工艺问题,在出厂时或使用过程中容易产生坏块,但综合其容量和成本,NANDFLASH通常用于对存储容量要求不高的低成本嵌入式设备。对于NANDFLASH设备,由于物理特性限制,其在读写时是以页为基本单位,在擦除时是以块为基本单位,每块由若干页组成;在每次写的过程中,需要先将当前块擦除后,才能按页写入数据,这些通常是由驱动开发者通过软件开发实现的,需要软件干预。对于NORFLASH设备,其在写之前也需要先擦除当前块,之后才能写入数据,数据读写的速度慢。现有的NANDFLASH和NORFL ...
【技术保护点】
一种闪存FLASH的控制器,其特征在于,包括:地址控制单元、高速缓存、擦除单元和FLASH命令执行单元,所述地址控制单元,用于接收中央处理器CPU输入的FLASH读或写命令、FLASH的读或写地址和长度、以及芯片内部缓存buffer的地址,向所述FLASH命令执行单元发送读或写命令并接收所述FLASH命令执行单元返回的命令执行状态、或向所述擦除单元发送擦除命令;所述高速缓存,用于缓存来自所述内部buffer的预写入FLASH的数据、或从所述FLASH命令执行单元读出的数据,将从所述FLASH命令执行单元读出的数据发送到所述内部buffer、或将所述内部buffer中预写入FLASH的数据发送至所述FLASH命令执行单元;所述FLASH命令执行单元,用于执行所述地址控制单元发送的读或写命令、或执行所述擦除单元发送的擦除命令,并向所述地址控制单元返回命令执行状态,所述FLASH命令执行单元在执行读命令时将读出的数据发送至所述高速缓存,在执行写命令时对所述高速缓存发送的数据执行FLASH写入;所述擦除单元,用于执行所述地址控制单元发送的擦除命令,并在擦除完成后通知所述地址控制单元向所述FLA ...
【技术特征摘要】
1.一种闪存FLASH的控制器,其特征在于,包括:地址控制单元、高速
缓存、擦除单元和FLASH命令执行单元,
所述地址控制单元,用于接收中央处理器CPU输入的FLASH读或写命令、
FLASH的读或写地址和长度、以及芯片内部缓存buffer的地址,向所述FLASH
命令执行单元发送读或写命令并接收所述FLASH命令执行单元返回的命令执
行状态、或向所述擦除单元发送擦除命令;
所述高速缓存,用于缓存来自所述内部buffer的预写入FLASH的数据、或
从所述FLASH命令执行单元读出的数据,将从所述FLASH命令执行单元读出
的数据发送到所述内部buffer、或将所述内部buffer中预写入FLASH的数据发
送至所述FLASH命令执行单元;
所述FLASH命令执行单元,用于执行所述地址控制单元发送的读或写命
令、或执行所述擦除单元发送的擦除命令,并向所述地址控制单元返回命令执
行状态,所述FLASH命令执行单元在执行读命令时将读出的数据发送至所述
高速缓存,在执行写命令时对所述高速缓存发送的数据执行FLASH写入;
所述擦除单元,用于执行所述地址控制单元发送的擦除命令,并在擦除完
成后通知所述地址控制单元向所述FLASH命令执行单元发送写命令。
2.根据权利要求1所述FLASH的控制器,其特征在于,所述地址控制单
元进一步用于,将收到的所述读或写命令写入命令寄存器,将收到的所述
FLASH的读或写地址写入FLASH地址寄存器,将收到的所述FLASH的读或
写长度写入长度寄存器,将收到的所述内部buffer的地址写入FLASH的buffer
地址寄存器。
3.根据权利要求1或2所述FLASH的控制器,其特征在于,所述地址控
制单元进一步用于,在收到所述CPU输入的FLASH读命令、FLASH的读地址
和长度、以及内部buffer的地址时,判断所述FLASH的读地址和长度是否页对
齐;在收到所述CPU输入的FLASH写命令、FLASH的写地址和长度、以及内
\t部buffer的地址时,判断所述FLASH的写地址和长度是否块对齐;
根据所述判断结果,所述地址控制单元向所述FLASH命令执行单元发送
相应命令,所述FLASH命令执行单元执行相应处理。
4.根据权利要求3所述FLASH的控制器,其特征在于,
所述地址控制单元在判断所述FLASH的读地址和长度页对齐时,按页依
次发送读命令和页地址给所述FLASH命令执行单元;
所述FLASH命令执行依据所述读命令和页地址按页读取数据并送入所述
高速缓存,在完成每页数据读取时将执行状态发送给所述地址控制单元,并在
达到所述FLASH的读长度或所述高速缓存满时,通知所述CPU通知所述地址
控制单元将所述高速缓存中的数据发送到所述内部buffer;
所述地址控制单元在判断所述FLASH的读地址和长度页不对齐时,按页
依次发送读命令、页地址和页内偏移地址给所述FLASH命令执行单元;
所述FLASH命令执行单元依据所述读命令、页地址和页内偏移地址按页
读取数据并送入所述高速缓存,在完成每页数据读取时将执行状态发送给所述
地址控制单元,并在达到所述FLASH的读长度或所述高速缓存满时,通知所
述CPU通知所述地址控制单元将所述高速缓存中的数据发送到所述内部buffer;
所述地址控制单元还用于,依据所述页地址和页内偏移地址对所述高速缓存中
的数据进行整理。
5.根据权利要求3所述FLASH的控制器,其特征在于,
所述地址控制单元进在判断所述FLASH的写地址和长度块对齐时,发送
擦除一块或多块命令给所述擦除单元;
所述擦除单元在执行相应块的擦除命令后,...
【专利技术属性】
技术研发人员:臧晓峰,于翔,
申请(专利权)人:深圳市中兴微电子技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。