闪存的模拟方法与模拟器.pdf

上传人:111****112 文档编号:6118214 上传时间:2019-04-13 格式:PDF 页数:15 大小:2.66MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210466885.5

申请日:

2012.11.19

公开号:

CN103823704A

公开日:

2014.05.28

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 9/455申请日:20121119|||公开

IPC分类号:

G06F9/455; G06F9/30

主分类号:

G06F9/455

申请人:

群联电子股份有限公司

发明人:

郑国义; 黄毅宏; 陈皇亨

地址:

中国台湾苗栗县竹南镇群义路1号

优先权:

专利代理机构:

北京同立钧成知识产权代理有限公司 11205

代理人:

臧建明

PDF下载: PDF下载
内容摘要

本发明提供一种闪存的模拟方法与模拟器。此模拟器用以电性连接至一存储器控制器。此模拟方法包括:设定一预置反应条件;提供多个指令表,其中每一个指令表是对应至一个存储器类型;接收来自存储器控制器的第一指令;根据第一指令识别上述指令表中的第二指令;判断第二指令是否符合预置反应条件;根据预置反应条件,取得对应第二指令的第一信号;以及传送第一信号至存储器控制器。藉此,模拟器的使用会具有弹性。

权利要求书

权利要求书
1.  一种闪存的模拟方法,用于一模拟器,其特征在于,该模拟器用以电性连接至一存储器控制器,该模拟方法包括:
设定一预置反应条件;
提供多个指令表,其中每一该些指令表是对应至一存储器类型;
接收来自该存储器控制器的一第一指令;
根据该第一指令识别指令表中的一第二指令;
判断该第二指令是否符合该预置反应条件;
根据该预置反应条件,取得对应该第二指令的一第一信号;以及
传送该第一信号至该存储器控制器。

2.  根据权利要求1所述的模拟方法,其特征在于,该第二指令为一写入指令,并且该写入指令是指示写入一第一数据至一第一存储器地址,该模拟方法还包括:
将该第一数据存储至该模拟器中的一缓存;
通过该模拟器的一非闪存接口传送一中断信号、该写入指令与该第一存储器地址至一数据处理单元,其中该数据处理单元用以根据该预置反应条件产生该第一信号;以及
由该数据处理单元通过该非闪存接口从该缓存中读取该第一数据并且将该第一数据存储至该数据处理单元中。

3.  根据权利要求1所述的模拟方法,其特征在于,该第二指令为一读取指令,并且该读取指令是指示读取一第二存储器地址,该模拟方法还包括:
通过该模拟器的一非闪存接口传送一中断信号、该读取指令与该第二存储器位置至一数据处理单元,其中该数据处理单元用以根据该预置反应条件产生该第一信号;以及
由该数据处理单元通过该非闪存接口将对应于该第二存储器地址的一第二数据写入至该模拟器的一缓存中。

4.  根据权利要求1所述的模拟方法,其特征在于,还包括:
提供该存储器控制器该些存储器类型的其中之一的一识别信息,且于该接收来自该存储器控制器的该第一指令的步骤中,该第一指令是属于该 其中之一存储器类型的指令。

5.  根据权利要求1所述的模拟方法,其特征在于,该些指令表包括一第一指令表,并且该第一指令表包括多个第三指令,其中根据该第一指令识别该些指令表中的该第二指令的步骤包括:
根据一指标从一阵列中取得该第一指令;
判断该第一指令是否符合该些第三指令的其中之一;
若该第一指令符合该些第三指令的其中之一,更新该指标,其中该第一指令符合的该第三指令为该第二指令;以及
若该第一指令不符合该些第三指令的其中之一,维持该指标不变。

6.  根据权利要求5所述的模拟方法,其特征在于,还包括:
若该第一指令符合该些第三指令的其中之一,产生一重置信号,其中该重置信号指示开始识别该阵列中的一第四指令,其中该第四指令的一阵列顺序是在该第一指令的一阵列顺序之后。

7.  根据权利要求5所述的模拟方法,其特征在于,还包括:
若该第一指令符合该些第三指令的其中之一,传送一忙碌信号给该存储器控制器。

8.  根据权利要求5所述的模拟方法,其特征在于,还包括:
若该第一指令符合该些第三指令的其中之一,传送一中断信号给该数据处理单元以通知该第二指令。

9.  一种模拟器,用以模拟一闪存,其特征在于,该模拟器包括:
一闪存接口,用以电性连接至一存储器控制器,并且接收来自该存储器控制器的一第一指令;
一检测器,电性连接至该闪存接口,用以提供多个指令表,其中每一指令表是对应至一存储器类型,并且该检测器用以根据该第一指令识别该些指令表中的一第二指令;
一处理机,电性连接至该检测器;以及
一非闪存接口,电性连接至该处理机,用以电性连接至一数据处理单元,其中该数据处理单元用以设定一预置反应条件,并且判断该第二指令是否符合该预置反应条件,
其中该处理机用以根据该预置反应条件,取得对应该第二指令的一第 一信号,并且传送该第一信号至该存储器控制器。

10.  根据权利要求9所述的模拟器,其特征在于,该第二指令为一写入指令,该写入指令是指示写入一第一数据至一第一存储器地址,该模拟器还包括:
一缓存,
其中,该处理机还用以将该第一数据存储至该缓存,并且通过该非闪存接口传送一中断信号、该写入指令与该第一存储器地址至该数据处理单元,
其中,该数据处理单元用以通过该非闪存接口读取该缓存中的该第一数据,并且将该第一数据存储至该数据处理单元中。

11.  根据权利要求9所述的模拟器,其特征在于,该第二指令为一读取指令,并且该读取指令是指示读取一第二存储器地址,该模拟器还包括:
一缓存,
其中,该处理机通过该非闪存接口传送一中断信号、该读取指令与该第二存储器位置至该数据处理单元,其中该数据处理单元通过该非闪存接口将对应于该第二存储器地址的一第二数据写入至该缓存中。

12.  根据权利要求9所述的模拟器,其特征在于,该处理机还用以提供该存储器控制器该些存储器类型的其中之一的一识别信息。

13.  根据权利要求9所述的模拟器,其特征在于,该些指令表包括一第一指令表,该第一指令表包括多个第三指令,该检测器包括一子单元,并且该子单元包括:
一指标生成器,用以产生一指标;
一多路复用器,电性连接至该指标生成器,用以根据该指标从一阵列中取得该第一指令;
一指令分析器,电性连接至该多路复用器,用以分析该第一指令以产生一分析结果;以及
一比较器,电性连接至该指令分析器与该指标生成器,用以根据该分析结果判断该第一指令是否符合该些第三指令的其中之一,
若该第一指令符合该些第三指令的其中之一,该指标生成器用以更新该指标,其中该第一指令符合的该第三指令为该第二指令,
若该第一指令不符合该些第三指令的其中之一,该指标生成器用以维持该指标不变。

14.  根据权利要求13所述的模拟器,其特征在于,该子单元还包括一重置信号生成器,若该第一指令符合该些第三指令的其中之一,该重置信号生成器用以产生一重置信号,其中该重置信号指示开始识别该阵列中的一第四指令,并且该第四指令的一阵列顺序是在该第一指令的一阵列顺序之后。

15.  根据权利要求13所述的模拟器,其特征在于,该子单元还包括一忙碌信号生成器,若该第一指令符合该些第三指令的其中之一,该忙碌信号生成器用以传送一忙碌信号给该存储器控制器。

16.  根据权利要求13所述的模拟器,其特征在于,该子单元还包括一中断信号生成器,若该第一指令符合该些第三指令的其中之一,该中断信号生成器用以传送一中断信号给该数据处理单元以通知该第二指令。

17.  根据权利要求9所述的模拟器,其特征在于,该闪存接口、该检测器、该处理机、该非闪存接口与该缓存是以系统单芯片或系统封装的方式封装。

说明书

说明书闪存的模拟方法与模拟器
技术领域
本发明是有关于一种闪存的模拟方法与模拟器。
背景技术
数字相机、行动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内装在上述所举例的各种可携式多媒体装置中。
一般来说,一个闪存会电性连接至一个存储器控制器,并由此存储器控制器下达指令。然而,在一些应用中,存储器控制器会电性连接至不同存储器类型的闪存,而不同存储器类型的闪存可能有不同的物体特性或内部操作。当存储器控制器与闪存之间的操作发生错误时,不容易发现是由于存储器控制器的操作发生错误或是闪存的操作发生错误。因此,如何产生一个用以模拟闪存的模拟器,使得此模拟器可被控制且可以支持不同的存储器类型,为此领域技术人员所关心的议题。
发明内容
本发明的实施例中提供一种闪存的模拟方法与模拟器,可以使模拟器支持不同的存储器类型。
本发明一实施例提供一种闪存的模拟方法。此方法用于模拟器,而此模拟器用以电性连接至一存储器控制器。此模拟方法包括:设定一预置反应条件;提供多个指令表,其中每一个指令表是对应至一个存储器类型;接收来自存储器控制器的第一指令;根据第一指令识别上述指令表中的第二指令;判断第二指令是否符合预置反应条件;根据预置反应条件,取得对应第二指令的第一信号;以及传送第一信号至存储器控制器。
在一实施例中,上述的第二指令为写入指令,并且写入指令是指示写 入第一数据至第一存储器地址。此模拟方法还包括:将第一数据存储至模拟器中的一个缓存;通过模拟器的一个非闪存接口传送中断信号、写入指令与第一存储器地址至一个数据处理单元,其中数据处理单元用以根据预置反应条件产生上述的第一信号;以及由数据处理单元通过非闪存接口从缓存中读取第一数据并且将第一数据存储至数据处理单元中。
在一实施例中,上述的第二指令为一读取指令,并且读取指令是指示读取第二存储器地址。此模拟方法还包括:通过模拟器的非闪存接口传送中断信号、读取指令与第二存储器位置至数据处理单元,其中数据处理单元用以根据预置反应条件产生第一信号;以及由数据处理单元通过非闪存接口将对应于第二存储器地址的第二数据写入至模拟器的缓存中。
在一实施例中,上述的模拟方法还包括:提供存储器控制器所述存储器类型的其中之一的识别信息。
在一实施例中,上述的指令表包括第一指令表,第一指令表包括多个第三指令。其中根据第一指令识别指令表中的第二指令的步骤包括:根据一个指标从一个阵列中取得第一指令;判断第一指令是否符合第三指令的其中之一;若第一指令符合第三指令的其中之一,更新指标;以及若第一指令不符合第三指令的其中之一,维持指标不变。其中第一指令符合的第三指令为第二指令。
在一实施例中,上述的模拟方法还包括:若第一指令符合第三指令的其中之一,产生一重置信号。其中重置信号指示开始识别阵列中的第四指令,而第四指令的阵列顺序是在第一指令的阵列顺序之后。
在一实施例中,上述的模拟方法还包括:若第一指令符合第三指令的其中之一,传送一忙碌信号给存储器控制器。
在一实施例中,上述的模拟方法还包括:若第一指令符合第三指令的其中之一,传送一中断信号给数据处理单元以通知第二指令。
以另外一个角度来说,本发明一实施例提供一种模拟器,用以模拟闪存。此模拟器包括:闪存接口、检测器、处理机与非闪存接口。闪存接口是用以电性连接至存储器控制器,并且接收来自存储器控制器的第一指令。检测器是电性连接至闪存接口,用以提供多个指令表。其中每一个指令表是对应至一存储器类型,并且检测器用以根据第一指令识别这些指令 表中的第二指令。处理机是电性连接至检测器。非闪存接口是电性连接至处理机,用以电性连接至一数据处理单元。数据处理单元用以设定一预置反应条件,并且判断第二指令是否符合预置反应条件。处理机用以根据预置反应条件,取得对应第二指令的第一信号,并且传送第一信号至存储器控制器。
在一实施例中,上述的第二指令为写入指令,并且此写入指令是指示写入第一数据至第一存储器地址。此外,模拟器还包括一缓存。处理机还用以将第一数据存储至缓存,并且通过非闪存接口传送中断信号、写入指令与第一存储器地址至数据处理单元。数据处理单元用以根据预置反应条件产生第一信号。并且,数据处理单元会通过非闪存接口读取缓存中的第一数据,并且将第一数据存储至数据处理单元中。
在一实施例中,上述的第二指令为读取指令,并且此读取指令是指示读取第二存储器地址。处理机会通过非闪存接口传送中断信号、读取指令与第二存储器位置至数据处理单元。数据处理单元用以根据预置反应条件产生第一信号,并且数据处理单元会通过非闪存接口将对应于第二存储器地址的第二数据写入至缓存中。
在一实施例中,上述的处理机还用以提供存储器控制器所述存储器类型的其中之一的识别信息。
在一实施例中,上述的指令表包括第一指令表,而第一指令表包括多个第三指令。上述的检测器包括子单元,并且此子单元包括指标生成器、多路复用器、指令分析器与比较器。指标生成器是用以产生一指标。多路复用器是电性连接至指标生成器,用以根据指标从一阵列中取得第一指令。指令分析器是电性连接至多路复用器,用以分析第一指令以产生分析结果。比较器,电性连接至指令分析器与指标生成器,用以根据此分析结果判断第一指令是否符合第三指令的其中之一。若第一指令符合第三指令的其中之一,指标生成器用以更新指标。其中第一指令符合的第三指令为第二指令。若第一指令不符合第三指令的其中之一,指标生成器用以维持指标不变。
在一实施例中,上述的子单元还包括一重置信号生成器。若第一指令符合第三指令的其中之一,重置信号生成器用以产生重置信号。此重置信 号指示开始识别阵列中的第四指令,并且第四指令的阵列顺序是在第一指令的阵列顺序之后。
在一实施例中,上述的子单元还包括一忙碌信号生成器。若第一指令符合第三指令的其中之一,忙碌信号生成器用以传送一忙碌信号给存储器控制器。
在一实施例中,上述的子单元还包括一中断信号生成器。若第一指令符合第三指令的其中之一,中断信号生成器用以传送中断信号给数据处理单元以通知第二指令。
基于上述,本发明实施例所提供的模拟方法与模拟器,可以支持不同的存储器类型。并且,每一个存储器类型所对应的指令表可以被更新。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是示出存储器存储装置的概要方块图;
图2是一实施例示出模拟闪存的系统示意图;
图3是一实施例示出一个子单元的操作示意图;
图4是一实施例示出闪存的模拟方法的流程图。
附图标记说明
100:存储器存储装置;
101:主机系统;
102:连接器;
104:存储器控制器
106:可复写式非易失性存储器;
108(0)~108(A):实体删除单元;
200:模拟器;
202:闪存接口;
210:检测器;
211~214:子单元;
220:处理机;
230:非闪存接口;
240:缓存;
250:数据处理单元;
310:阵列;
311、312:指令;
320:指标生成器;
330:多路复用器;
340:指令分析器;
350:比较器;
360:指令表;
370:忙碌信号生成器;
380:重置信号生成器;
390:中断信号生成器;
S402、S404、S406、S408、S410、S412、S414:可复写式非易失性存储器的模拟方法的步骤。
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与存储器控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是示出存储器存储装置的概要方块图。
请参照图1,存储器存储装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模块106。
连接器102是用以电性连接至主机系统101。主机系统101会下达指令给存储器存储装置100。在本实施例中,连接器102是相容于串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102也可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高 速周边零件连接快捷外设互联接口(Peripheral Component InterconnectExpress,PCI Express)标准、通用序列总线(Universal Serial Bus,USB)标准、安全数字(Secure Digital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、记忆棒(Memory Stick,MS)接口标准、多媒体存储卡(Multi Media Card,MMC)接口标准、崁入式嵌入式多媒体存储卡(Embedded Multimedia Card,eMMC)接口标准、通用闪存(Universal Flash Storage,UFS)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子集成电路设备接口(Integrated Device Electronics,IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬体型式或韧体型式实作的多个逻辑门或控制指令,并且根据主机系统101的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与删除等操作。另一方面,欲写入至可复写式非易失性存储器模块106的数据会通过存储器控制器104转换为可复写式非易失性存储器模块106所能接受的格式。
可复写式非易失性存储器模块106(也称闪存)是电性连接至存储器控制器104,并且用以存储主机系统101所写入的数据。可复写式非易失性存储器模块106具有实体删除单元108(0)~108(A)。例如,实体删除单元108(0)~108(A)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体删除单元分别具有复数个实体程序化单元,并且属于同一个实体删除单元的实体程序化单元可被独立地写入且被同时地删除。例如,每一实体删除单元是由128个实体程序化单元所组成。然而,必须了解的是,本发明不限于此,每一实体删除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,实体删除单元为删除的最小单位。也即,每一实体删除单元含有最小数目的一并被删除之记忆胞。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。每一实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以存储使用者的数据,而冗余比特区用以存储系统的数据(例如,控制信息与错误更正码)。在本实施例中,每一个实体程序化单元的数据比特区中会包含4个实体存取地址,且一个实体存取地址的大小为512比特组 (byte,B)。然而,在其他实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,实体删除单元为实体区块,并且实体程序化单元为实体页面或实体扇。
在本实施例中,可复写式非易失性存储器模块106为多阶记忆胞(MultiLevel Cell,MLC)NAND型闪存模块,即一个记忆胞中可存储至少2个比特数据。然而,本发明不限于此,可复写式非易失性存储器模块106也可是单阶记忆胞(Single Level Cell,SLC)NAND型闪存模块、复数阶记忆胞(Trinary Level Cell,TLC)NAND型闪存模块、其他闪存模块或其他具有相同特性的存储器模块。
图2是一实施例示出模拟闪存的系统示意图。
请参照图2,模拟器200电性连接至存储器控制器104与数据处理单元250。模拟器200是用以模拟可复写式非易失性存储器模块106的行为。特别的是,模拟器可以支持不同的存储器类型。例如,单阶记忆胞NAND型闪存模块、多阶记忆胞NAND型闪存模块与复数阶记忆胞NAND型闪存模块可属于不同的存储器类型。或者,不同的制造商所制造出的可复写式非易失性存储器模块106可属于不同的存储器类型。值得注意的是,不同的存储器类型可对应到不同的指令表,而不同的指令表之间可能不相容。举例来说,某一制造商所定义的写入指令可能不同于另一个制造商所定义的写入指令。然而,模拟器200会提供多个存储器类型所对应的多个指令表,并且这些指令表可以被更新。
数据处理单元250包括一或多个处理机与一个存储单元,并且数据处理单元250会设定一个预置反应条件。若数据处理单元250接受到来自于模拟器200的一个指令,数据处理单元250会判断此指令是否符合此预置反应条件并且根据此预置反应条件产生一个第一信号。此外,数据处理单元250会将此第一信号传送给模拟器200。举例来说,若预置反应条件为对第n个写入指令产生一写入失败的回应,其中n为正整数,则当数据处理单元250从模拟器200接收了一个写入指令,而此写入指令是要写入一笔数据至一个实体程序化单元。而,则数据处理单元250会根据此预置反应条件判断此写入指令是否为从模拟器200接收到的第n个指令,其中n 为正整数。若此写入指令为第n个指令,则数据处理单元250会产生代表写入失败的第一信息,并且将第一信息传送给模拟器200。然而,数据处理单元250也可以设定其他的预置反应条件,也可以根据预置反应条件产生读取错误信息、读取成功信息或写入成功信息,本发明并不在此限。值得注意的是,在本实施例中,数据处理单元250中可能不去执行真正写入的程序,而直接回复写入失败,或数据处理单元250不具有实体程序化单元,上述代表写入失败的第一信息是模拟出来的。
具体来说,模拟器200包括了闪存接口202、检测器210、处理机220、非闪存接口230与缓存240。
闪存接口202是用以电性连接至存储器控制器104。例如,闪存接口202会包括一或多个脚位与至少一个总线。存储器控制器104会致能这些脚位并将数据放在总线上,藉此传送一个指令给模拟器200。
检测器210电性连接至闪存接口202。检测器210是用以接收来自存储器控制器104的指令(也称第一指令),并且根据此第一指令识别模拟器200所提供的多个指令表中的一个第二指令。例如,检测器210中包括了子单元211~214。每一个子单元211~214是对应至一个指令表,而每一个指令表中还包括多个指令。当检测器210接收到第一指令以后,子单元211会判断此第一指令是否符合所对应的多个指令的其中之一。相同的,子单元212~214也会判断第一指令是否符合所对应的多个指令的其中之一。然而,在其他实施例中,检测器210中可包括数目更多或更少的子单元,本发明并不在此限。
处理机220是用以控制模拟器200的整体操作。例如,处理机220是微处理机。然而,在其他实施例中,处理机220也可以是可程序化控制器、特殊应用积体电路(Application Specific Integrated Circuits,ASIC)或可程序化逻辑装置(Programmable Logic Device,PLD)。
非闪存接口230电性连接至处理机220,并且用以电性连接至数据处理单元250。在本实施例中,非闪存接口230相容于USB标准。然而,在其他实施例中,非闪存接口230也可是相容于PATA标准、IEEE1394标准、PCI Express标准、SATA标准、SD接口标准、UHS-I接口标准、UHS-II接口标准、MS接口标准、MMC接口标准、eMMC接口标准、UFS接口 标准、CF接口标准、IDE标准、或其他适合的无线通讯标准(例如,WiFi或蓝芽通讯)。
缓存240电性连接至检测器210、处理机220与非闪存接口230,用以存储数据或指令。其中,在本实施例中,模拟器200可为一颗芯片,即将闪存接口202、检测器210、处理机220、非闪存接口230与缓存240以系统单芯片(System-on-a-chip,SoC)或系统封装(system in package,SiP)的方式封装在一颗芯片中。
当模拟器200电性连接至存储器控制器104以后,处理机220会通过闪存接口202与存储器控制器104交换多个信息。例如,处理机220会决定模拟器200所要模拟的一个存储器类型,并且传送此存储器类型的识别码信息给存储器控制器104。存储器控制器104可以根据此识别信息判断模拟器200是属于SLC或是MLC型的闪存。或者,存储器控制器104也可以根据此识别信息得到一个闪存的制造商识别码。得到识别信息以后,存储器控制器104会传送符合模拟器200所模拟的存储器类型的指令给模拟器200。
存储器控制器104可通过闪存接口202上的接脚与总线传送一个指令给模拟器200。例如,存储器控制器104会致能一个写入接脚,并且在总线上传送一个指令识别码。模拟器200检测到写入接脚被致能以后会从总线读取指令识别码。接着,存储器控制器104会通过总线传送一个存储器地址与所要写入的第一数据给模拟器200。藉此,存储器控制器104可以将一个写入指令传送至模拟器200。换言之,此写入指令会包括一个指令识别码字段、一个存储器地址字段与一个数据字段,分别存储指令识别码、存储器地址与第一数据。在模拟器200接收到一个指令以后,子单元211~214会识别此指令是否符合对应的指令表。
图3是一实施例示出一个子单元的操作示意图。
请参照图3,子单元211是对应至某一个存储器类型,而指令表360会包括对应于此存储器类型的多个指令。子单元211包括指标生成器320、多路复用器330、指令分析器340、比较器350、忙碌信号生成器370、重置信号生成器380与中断信号生成器390。其中多路复用器330电性连接至指标生成器320,指令分析器340电性连接至多路复用器330,并且比 较器350电性连接至指令分析器340与指标生成器320。
若子单元211从存储器控制器104接收到一个指令,会将此指令存储在阵列310当中。例如,子单元211是先接收到指令311,再接收到指令312。其中指令312的阵列顺序是在指令311的阵列顺序之后。在此实施例中,阵列310是存储在缓存240当中。然而,在其他实施例中,阵列310也可以是存储在子单元211的一个存储器当中,本发明并不在此限。
指标生成器320会产生一个指标,多路复用器330会根据此指标从阵列310中选择一个指令并将此指令传送给指令分析器340。在此假设多路复用器330选择了指令311。指令分析器340会分析指令311以产生一个分析结果。例如,指令分析器340会判断指令311中包括了指令识别码字段,存储器地址字段,以及数据字段。指令分析器340会将此分析结果传送给比较器350。比较器350会根据此分析结果判断指令311是否符合指令表360所包括的多个指令(也称第三指令)的其中之一。例如,比较器350会判断指令表360中每一个指令的指令识别码是否相同于指令311的指令识别码。比较器350也可以进一步判断指令表360中的指令是否有相对应的存储器地址字段与数据字段。若比较器350判断指令311符合指令表360中的一个指令(也称第二指令),则比较器350会驱动指标生成器320以更新指标(例如,将指标加上1),而更新后的指标用以指向阵列310中的下一个指令(例如,指令312)。若比较器350判断指令311不符合指令表360中的任何一个指令,则指标生成器320会维持指标不变。
此外,若比较器350判断指令311符合指令表360中的第一指令,忙碌信号生成器370、重置信号生成器380与中断信号生成器390会产生对应的信号。例如,若指令311符合指令表360中的一个写入指令,则忙碌信号生成器370会产生一个忙碌信号并传送给存储器控制器104,用以表示模拟器200正在处理一个指令,并不能接收其他信号。另外,重置信号生成器380会产生一个重置信号,此重置信号是用以指示开始识别阵列310中的下一个指令。例如,重置信号可用以改变子单元211中的变数或指标。另一方面,中断信号生成器390会产生一个中断信号,此中断信息是用以传送给数据处理单元250以通知识别出的第二指令。
请参照回图2,若检测器210所识别出的指令为写入指令,处理机220 会将此写入指令所要写入的第一数据存储在缓存240中。处理机220也会将中断信号生成器390所产生的中断信息、此写入指令、此写入指令所要写入的存储器地址(也称第一存储器地址)传送给数据处理单元250。数据处理单元250会判断写入指令是否符合预置反应条件,并且根据预测条件产生一个第一信号。数据处理单元250会将此第一信号传送给处理机220。并且,数据处理单元250会发送一个读取指令给非闪存接口230,藉此从缓存240中读取第一数据。数据处理单元250会将此第一数据存储在数据处理单元250当中的存储单元(例如,一个易失性存储器或是硬碟)。接下来,检测器210会致能闪存接口202中的一个准备好/忙碌(Ready/Busy)接脚。存储器控制器104检测到准备好/忙碌接脚被致能以后,存储器控制器104可继续下达另一个指令给模拟器200。
另一方面,若检测器210所识别出的指令为读取指令,处理机220会将中断信号生成器390所产生的中断信息、此读取指令,此读取指令所要读取的存储器地址(也称第二存储器地址)传送给数据处理单元250。接收到此读取指令以后,数据处理单元250会判断此读取指令是否符合预置反应条件,并且根据预测条件产生第一信号。此外,数据处理单元250也会取得对应于第二存储器地址的第二数据。例如,数据处理单元250会在其中的一个存储单元中纪录每一个存储器地址所对应的数据,数据处理单元250可以根据第二存储器地址从存储单元中取得第二数据。接着,数据处理单元250会下达一个写入指令给非闪存接口230,藉此将第二数据写入至缓存240。检测器210会致能闪存接口202中的准备好/忙碌接脚。若存储器控制器104检测到准备好/忙碌接脚被致能,会致能闪存接口202中的一个读取接脚,藉此检测器210会将第二数据通过闪存接口202传送给存储器控制器104。
在另一实施例中,数据处理单元250所执行的步骤是由处理机220所执行,而数据处理单元250可被实作为一个外部存储器。并且,处理机220会将写入指令所要写入的第一数据存储在此外部存储器当中。
图4是一实施例示出闪存的模拟方法的流程图。
请参照图4,在步骤S402中,设定一预置反应条件。在步骤S404中,提供多个指令表,其中每一个指令表是对应至一存储器类型。在步骤S406 中,接收来自存储器控制器的第一指令。在步骤S408中,根据第一指令识别上述指令表中的第二指令。在步骤S410中,判断是否符合预置反应条件。在步骤S412中,根据预置反应条件,取得对应第二指令的一信号。在步骤S414中,传送此信号至存储器控制器。
值得注意的是,在此实施例中,步骤S402、S410与S412可以由数据处理单元250或是处理机220执行,并且图4中各步骤可以有其他的执行顺序(例如,步骤S402可以被执行在步骤S408之后),本发明并不在此限。然而,图4中各步骤已说明如上,在此便不再赘述。
综上所述,本发明实施例所提供的模拟方法与模拟器,可以支持不同的存储器类型,并且这些存储器类型的指令表可被更新。此外,回应给存储器控制器的信号是根据预置反应条件所产生。因此,此模拟器的使用会更有弹性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

闪存的模拟方法与模拟器.pdf_第1页
第1页 / 共15页
闪存的模拟方法与模拟器.pdf_第2页
第2页 / 共15页
闪存的模拟方法与模拟器.pdf_第3页
第3页 / 共15页
点击查看更多>>
资源描述

《闪存的模拟方法与模拟器.pdf》由会员分享,可在线阅读,更多相关《闪存的模拟方法与模拟器.pdf(15页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103823704 A (43)申请公布日 2014.05.28 CN 103823704 A (21)申请号 201210466885.5 (22)申请日 2012.11.19 G06F 9/455(2006.01) G06F 9/30(2006.01) (71)申请人 群联电子股份有限公司 地址 中国台湾苗栗县竹南镇群义路 1 号 (72)发明人 郑国义 黄毅宏 陈皇亨 (74)专利代理机构 北京同立钧成知识产权代理 有限公司 11205 代理人 臧建明 (54) 发明名称 闪存的模拟方法与模拟器 (57) 摘要 本发明提供一种闪存的模拟方法与模拟器。 此模拟器用。

2、以电性连接至一存储器控制器。此 模拟方法包括 : 设定一预置反应条件 ; 提供多个 指令表, 其中每一个指令表是对应至一个存储器 类型 ; 接收来自存储器控制器的第一指令 ; 根据 第一指令识别上述指令表中的第二指令 ; 判断第 二指令是否符合预置反应条件 ; 根据预置反应条 件, 取得对应第二指令的第一信号 ; 以及传送第 一信号至存储器控制器。 藉此, 模拟器的使用会具 有弹性。 (51)Int.Cl. 权利要求书 3 页 说明书 8 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书8页 附图3页 (10)申请公布号 CN 1038237。

3、04 A CN 103823704 A 1/3 页 2 1. 一种闪存的模拟方法, 用于一模拟器, 其特征在于, 该模拟器用以电性连接至一存储 器控制器, 该模拟方法包括 : 设定一预置反应条件 ; 提供多个指令表, 其中每一该些指令表是对应至一存储器类型 ; 接收来自该存储器控制器的一第一指令 ; 根据该第一指令识别指令表中的一第二指令 ; 判断该第二指令是否符合该预置反应条件 ; 根据该预置反应条件, 取得对应该第二指令的一第一信号 ; 以及 传送该第一信号至该存储器控制器。 2. 根据权利要求 1 所述的模拟方法, 其特征在于, 该第二指令为一写入指令, 并且该写 入指令是指示写入一第一。

4、数据至一第一存储器地址, 该模拟方法还包括 : 将该第一数据存储至该模拟器中的一缓存 ; 通过该模拟器的一非闪存接口传送一中断信号、 该写入指令与该第一存储器地址至一 数据处理单元, 其中该数据处理单元用以根据该预置反应条件产生该第一信号 ; 以及 由该数据处理单元通过该非闪存接口从该缓存中读取该第一数据并且将该第一数据 存储至该数据处理单元中。 3. 根据权利要求 1 所述的模拟方法, 其特征在于, 该第二指令为一读取指令, 并且该读 取指令是指示读取一第二存储器地址, 该模拟方法还包括 : 通过该模拟器的一非闪存接口传送一中断信号、 该读取指令与该第二存储器位置至一 数据处理单元, 其中该。

5、数据处理单元用以根据该预置反应条件产生该第一信号 ; 以及 由该数据处理单元通过该非闪存接口将对应于该第二存储器地址的一第二数据写入 至该模拟器的一缓存中。 4. 根据权利要求 1 所述的模拟方法, 其特征在于, 还包括 : 提供该存储器控制器该些存储器类型的其中之一的一识别信息, 且于该接收来自该存 储器控制器的该第一指令的步骤中, 该第一指令是属于该其中之一存储器类型的指令。 5. 根据权利要求 1 所述的模拟方法, 其特征在于, 该些指令表包括一第一指令表, 并且 该第一指令表包括多个第三指令, 其中根据该第一指令识别该些指令表中的该第二指令的 步骤包括 : 根据一指标从一阵列中取得该第。

6、一指令 ; 判断该第一指令是否符合该些第三指令的其中之一 ; 若该第一指令符合该些第三指令的其中之一, 更新该指标, 其中该第一指令符合的该 第三指令为该第二指令 ; 以及 若该第一指令不符合该些第三指令的其中之一, 维持该指标不变。 6. 根据权利要求 5 所述的模拟方法, 其特征在于, 还包括 : 若该第一指令符合该些第三指令的其中之一, 产生一重置信号, 其中该重置信号指示 开始识别该阵列中的一第四指令, 其中该第四指令的一阵列顺序是在该第一指令的一阵列 顺序之后。 7. 根据权利要求 5 所述的模拟方法, 其特征在于, 还包括 : 若该第一指令符合该些第三指令的其中之一, 传送一忙碌信。

7、号给该存储器控制器。 权 利 要 求 书 CN 103823704 A 2 2/3 页 3 8. 根据权利要求 5 所述的模拟方法, 其特征在于, 还包括 : 若该第一指令符合该些第三指令的其中之一, 传送一中断信号给该数据处理单元以通 知该第二指令。 9. 一种模拟器, 用以模拟一闪存, 其特征在于, 该模拟器包括 : 一闪存接口, 用以电性连接至一存储器控制器, 并且接收来自该存储器控制器的一第 一指令 ; 一检测器, 电性连接至该闪存接口, 用以提供多个指令表, 其中每一指令表是对应至一 存储器类型, 并且该检测器用以根据该第一指令识别该些指令表中的一第二指令 ; 一处理机, 电性连接至。

8、该检测器 ; 以及 一非闪存接口, 电性连接至该处理机, 用以电性连接至一数据处理单元, 其中该数据处 理单元用以设定一预置反应条件, 并且判断该第二指令是否符合该预置反应条件, 其中该处理机用以根据该预置反应条件, 取得对应该第二指令的一第一信号, 并且传 送该第一信号至该存储器控制器。 10. 根据权利要求 9 所述的模拟器, 其特征在于, 该第二指令为一写入指令, 该写入指 令是指示写入一第一数据至一第一存储器地址, 该模拟器还包括 : 一缓存, 其中, 该处理机还用以将该第一数据存储至该缓存, 并且通过该非闪存接口传送一中 断信号、 该写入指令与该第一存储器地址至该数据处理单元, 其中。

9、, 该数据处理单元用以通过该非闪存接口读取该缓存中的该第一数据, 并且将该 第一数据存储至该数据处理单元中。 11. 根据权利要求 9 所述的模拟器, 其特征在于, 该第二指令为一读取指令, 并且该读 取指令是指示读取一第二存储器地址, 该模拟器还包括 : 一缓存, 其中, 该处理机通过该非闪存接口传送一中断信号、 该读取指令与该第二存储器位置 至该数据处理单元, 其中该数据处理单元通过该非闪存接口将对应于该第二存储器地址的 一第二数据写入至该缓存中。 12. 根据权利要求 9 所述的模拟器, 其特征在于, 该处理机还用以提供该存储器控制器 该些存储器类型的其中之一的一识别信息。 13. 根据。

10、权利要求 9 所述的模拟器, 其特征在于, 该些指令表包括一第一指令表, 该第 一指令表包括多个第三指令, 该检测器包括一子单元, 并且该子单元包括 : 一指标生成器, 用以产生一指标 ; 一多路复用器, 电性连接至该指标生成器, 用以根据该指标从一阵列中取得该第一指 令 ; 一指令分析器, 电性连接至该多路复用器, 用以分析该第一指令以产生一分析结果 ; 以 及 一比较器, 电性连接至该指令分析器与该指标生成器, 用以根据该分析结果判断该第 一指令是否符合该些第三指令的其中之一, 若该第一指令符合该些第三指令的其中之一, 该指标生成器用以更新该指标, 其中该 第一指令符合的该第三指令为该第二。

11、指令, 权 利 要 求 书 CN 103823704 A 3 3/3 页 4 若该第一指令不符合该些第三指令的其中之一, 该指标生成器用以维持该指标不变。 14. 根据权利要求 13 所述的模拟器, 其特征在于, 该子单元还包括一重置信号生成器, 若该第一指令符合该些第三指令的其中之一, 该重置信号生成器用以产生一重置信号, 其 中该重置信号指示开始识别该阵列中的一第四指令, 并且该第四指令的一阵列顺序是在该 第一指令的一阵列顺序之后。 15. 根据权利要求 13 所述的模拟器, 其特征在于, 该子单元还包括一忙碌信号生成器, 若该第一指令符合该些第三指令的其中之一, 该忙碌信号生成器用以传送。

12、一忙碌信号给该 存储器控制器。 16. 根据权利要求 13 所述的模拟器, 其特征在于, 该子单元还包括一中断信号生成器, 若该第一指令符合该些第三指令的其中之一, 该中断信号生成器用以传送一中断信号给该 数据处理单元以通知该第二指令。 17. 根据权利要求 9 所述的模拟器, 其特征在于, 该闪存接口、 该检测器、 该处理机、 该 非闪存接口与该缓存是以系统单芯片或系统封装的方式封装。 权 利 要 求 书 CN 103823704 A 4 1/8 页 5 闪存的模拟方法与模拟器 技术领域 0001 本发明是有关于一种闪存的模拟方法与模拟器。 背景技术 0002 数字相机、 行动电话与 MP3。

13、 播放器在这几年来的成长十分迅速, 使得消费者对存 储媒体的需求也急速增加。由于可复写式非易失性存储器模块 ( 例如, 闪存 ) 具有数据非 易失性、 省电、 体积小, 以及无机械结构等特性, 所以非常适合内装在上述所举例的各种可 携式多媒体装置中。 0003 一般来说, 一个闪存会电性连接至一个存储器控制器, 并由此存储器控制器下达 指令。然而, 在一些应用中, 存储器控制器会电性连接至不同存储器类型的闪存, 而不同存 储器类型的闪存可能有不同的物体特性或内部操作。 当存储器控制器与闪存之间的操作发 生错误时, 不容易发现是由于存储器控制器的操作发生错误或是闪存的操作发生错误。因 此, 如何。

14、产生一个用以模拟闪存的模拟器, 使得此模拟器可被控制且可以支持不同的存储 器类型, 为此领域技术人员所关心的议题。 发明内容 0004 本发明的实施例中提供一种闪存的模拟方法与模拟器, 可以使模拟器支持不同的 存储器类型。 0005 本发明一实施例提供一种闪存的模拟方法。此方法用于模拟器, 而此模拟器用以 电性连接至一存储器控制器。此模拟方法包括 : 设定一预置反应条件 ; 提供多个指令表, 其 中每一个指令表是对应至一个存储器类型 ; 接收来自存储器控制器的第一指令 ; 根据第一 指令识别上述指令表中的第二指令 ; 判断第二指令是否符合预置反应条件 ; 根据预置反应 条件, 取得对应第二指令。

15、的第一信号 ; 以及传送第一信号至存储器控制器。 0006 在一实施例中, 上述的第二指令为写入指令, 并且写入指令是指示写入第一数据 至第一存储器地址。此模拟方法还包括 : 将第一数据存储至模拟器中的一个缓存 ; 通过模 拟器的一个非闪存接口传送中断信号、 写入指令与第一存储器地址至一个数据处理单元, 其中数据处理单元用以根据预置反应条件产生上述的第一信号 ; 以及由数据处理单元通过 非闪存接口从缓存中读取第一数据并且将第一数据存储至数据处理单元中。 0007 在一实施例中, 上述的第二指令为一读取指令, 并且读取指令是指示读取第二存 储器地址。 此模拟方法还包括 : 通过模拟器的非闪存接口。

16、传送中断信号、 读取指令与第二存 储器位置至数据处理单元, 其中数据处理单元用以根据预置反应条件产生第一信号 ; 以及 由数据处理单元通过非闪存接口将对应于第二存储器地址的第二数据写入至模拟器的缓 存中。 0008 在一实施例中, 上述的模拟方法还包括 : 提供存储器控制器所述存储器类型的其 中之一的识别信息。 0009 在一实施例中, 上述的指令表包括第一指令表, 第一指令表包括多个第三指令。 其 说 明 书 CN 103823704 A 5 2/8 页 6 中根据第一指令识别指令表中的第二指令的步骤包括 : 根据一个指标从一个阵列中取得第 一指令 ; 判断第一指令是否符合第三指令的其中之一。

17、 ; 若第一指令符合第三指令的其中之 一, 更新指标 ; 以及若第一指令不符合第三指令的其中之一, 维持指标不变。其中第一指令 符合的第三指令为第二指令。 0010 在一实施例中, 上述的模拟方法还包括 : 若第一指令符合第三指令的其中之一, 产 生一重置信号。其中重置信号指示开始识别阵列中的第四指令, 而第四指令的阵列顺序是 在第一指令的阵列顺序之后。 0011 在一实施例中, 上述的模拟方法还包括 : 若第一指令符合第三指令的其中之一, 传 送一忙碌信号给存储器控制器。 0012 在一实施例中, 上述的模拟方法还包括 : 若第一指令符合第三指令的其中之一, 传 送一中断信号给数据处理单元以。

18、通知第二指令。 0013 以另外一个角度来说, 本发明一实施例提供一种模拟器, 用以模拟闪存。 此模拟器 包括 : 闪存接口、 检测器、 处理机与非闪存接口。 闪存接口是用以电性连接至存储器控制器, 并且接收来自存储器控制器的第一指令。检测器是电性连接至闪存接口, 用以提供多个指 令表。其中每一个指令表是对应至一存储器类型, 并且检测器用以根据第一指令识别这些 指令表中的第二指令。处理机是电性连接至检测器。非闪存接口是电性连接至处理机, 用 以电性连接至一数据处理单元。数据处理单元用以设定一预置反应条件, 并且判断第二指 令是否符合预置反应条件。 处理机用以根据预置反应条件, 取得对应第二指令。

19、的第一信号, 并且传送第一信号至存储器控制器。 0014 在一实施例中, 上述的第二指令为写入指令, 并且此写入指令是指示写入第一数 据至第一存储器地址。此外, 模拟器还包括一缓存。处理机还用以将第一数据存储至缓存, 并且通过非闪存接口传送中断信号、 写入指令与第一存储器地址至数据处理单元。数据处 理单元用以根据预置反应条件产生第一信号。并且, 数据处理单元会通过非闪存接口读取 缓存中的第一数据, 并且将第一数据存储至数据处理单元中。 0015 在一实施例中, 上述的第二指令为读取指令, 并且此读取指令是指示读取第二存 储器地址。处理机会通过非闪存接口传送中断信号、 读取指令与第二存储器位置至。

20、数据处 理单元。数据处理单元用以根据预置反应条件产生第一信号, 并且数据处理单元会通过非 闪存接口将对应于第二存储器地址的第二数据写入至缓存中。 0016 在一实施例中, 上述的处理机还用以提供存储器控制器所述存储器类型的其中之 一的识别信息。 0017 在一实施例中, 上述的指令表包括第一指令表, 而第一指令表包括多个第三指令。 上述的检测器包括子单元, 并且此子单元包括指标生成器、 多路复用器、 指令分析器与比较 器。指标生成器是用以产生一指标。多路复用器是电性连接至指标生成器, 用以根据指标 从一阵列中取得第一指令。指令分析器是电性连接至多路复用器, 用以分析第一指令以产 生分析结果。 。

21、比较器, 电性连接至指令分析器与指标生成器, 用以根据此分析结果判断第一 指令是否符合第三指令的其中之一。若第一指令符合第三指令的其中之一, 指标生成器用 以更新指标。其中第一指令符合的第三指令为第二指令。若第一指令不符合第三指令的其 中之一, 指标生成器用以维持指标不变。 0018 在一实施例中, 上述的子单元还包括一重置信号生成器。若第一指令符合第三指 说 明 书 CN 103823704 A 6 3/8 页 7 令的其中之一, 重置信号生成器用以产生重置信号。此重置信号指示开始识别阵列中的第 四指令, 并且第四指令的阵列顺序是在第一指令的阵列顺序之后。 0019 在一实施例中, 上述的子。

22、单元还包括一忙碌信号生成器。若第一指令符合第三指 令的其中之一, 忙碌信号生成器用以传送一忙碌信号给存储器控制器。 0020 在一实施例中, 上述的子单元还包括一中断信号生成器。若第一指令符合第三指 令的其中之一, 中断信号生成器用以传送中断信号给数据处理单元以通知第二指令。 0021 基于上述, 本发明实施例所提供的模拟方法与模拟器, 可以支持不同的存储器类 型。并且, 每一个存储器类型所对应的指令表可以被更新。 0022 为让本发明的上述特征和优点能更明显易懂, 下文特举实施例, 并配合附图作详 细说明如下。 附图说明 0023 图 1 是示出存储器存储装置的概要方块图 ; 0024 图 。

23、2 是一实施例示出模拟闪存的系统示意图 ; 0025 图 3 是一实施例示出一个子单元的操作示意图 ; 0026 图 4 是一实施例示出闪存的模拟方法的流程图。 0027 附图标记说明 0028 100 : 存储器存储装置 ; 0029 101 : 主机系统 ; 0030 102 : 连接器 ; 0031 104 : 存储器控制器 0032 106 : 可复写式非易失性存储器 ; 0033 108(0) 108(A) : 实体删除单元 ; 0034 200 : 模拟器 ; 0035 202 : 闪存接口 ; 0036 210 : 检测器 ; 0037 211 214 : 子单元 ; 0038 。

24、220 : 处理机 ; 0039 230 : 非闪存接口 ; 0040 240 : 缓存 ; 0041 250 : 数据处理单元 ; 0042 310 : 阵列 ; 0043 311、 312 : 指令 ; 0044 320 : 指标生成器 ; 0045 330 : 多路复用器 ; 0046 340 : 指令分析器 ; 0047 350 : 比较器 ; 0048 360 : 指令表 ; 0049 370 : 忙碌信号生成器 ; 说 明 书 CN 103823704 A 7 4/8 页 8 0050 380 : 重置信号生成器 ; 0051 390 : 中断信号生成器 ; 0052 S402、 。

25、S404、 S406、 S408、 S410、 S412、 S414 : 可复写式非易失性存储器的模拟方法 的步骤。 具体实施方式 0053 一般而言, 存储器存储装置(也称, 存储器存储系统)包括可复写式非易失性存储 器模块与存储器控制器 ( 也称, 控制电路 )。通常存储器存储装置是与主机系统一起使用, 以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。 0054 图 1 是示出存储器存储装置的概要方块图。 0055 请参照图 1, 存储器存储装置 100 包括连接器 102、 存储器控制器 104 与可复写式 非易失性存储器模块 106。 0056 连接器 102 是。

26、用以电性连接至主机系统 101。主机系统 101 会下达指令给存储器 存储装置 100。在本实施例中, 连接器 102 是相容于串行高级技术附件 (Serial Advanced Technology Attachment, SATA) 标准。然而, 必须了解的是, 本发明不限于此, 连接器 102 也可以是符合并行高级技术附件 (Parallel Advanced Technology Attachment, PATA) 标 准、 电 气 和 电 子 工 程 师 协 会 (Institute of Electrical and Electronic Engineers, IEEE)1394标。

27、准、 高速周边零件连接快捷外设互联接口(Peripheral Component InterconnectExpress, PCI Express)标准、 通用序列总线(Universal Serial Bus, USB)标 准、 安全数字 (Secure Digital, SD) 接口标准、 超高速一代 (Ultra High Speed-I, UHS-I) 接口标准、 超高速二代 (Ultra High Speed-II, UHS-II) 接口标准、 记忆棒 (Memory Stick, MS)接口标准、 多媒体存储卡(Multi Media Card, MMC)接口标准、 崁入式嵌入式多。

28、媒体存储 卡 (Embedded Multimedia Card, eMMC) 接口标准、 通用闪存 (Universal Flash Storage, UFS) 接口标准、 小型快闪 (Compact Flash, CF) 接口标准、 整合式驱动电子集成电路设备接 口 (Integrated Device Electronics, IDE) 标准或其他适合的标准。 0057 存储器控制器 104 用以执行以硬体型式或韧体型式实作的多个逻辑门或控制指 令, 并且根据主机系统101的指令在可复写式非易失性存储器模块106中进行数据的写入、 读取与删除等操作。另一方面, 欲写入至可复写式非易失性存。

29、储器模块 106 的数据会通过 存储器控制器 104 转换为可复写式非易失性存储器模块 106 所能接受的格式。 0058 可复写式非易失性存储器模块 106( 也称闪存 ) 是电性连接至存储器控制器 104, 并且用以存储主机系统 101 所写入的数据。可复写式非易失性存储器模块 106 具有实体删 除单元 108(0) 108(A)。例如, 实体删除单元 108(0) 108(A) 可属于同一个存储器晶粒 (die) 或者属于不同的存储器晶粒。每一实体删除单元分别具有复数个实体程序化单元, 并且属于同一个实体删除单元的实体程序化单元可被独立地写入且被同时地删除。例如, 每一实体删除单元是由。

30、 128 个实体程序化单元所组成。然而, 必须了解的是, 本发明不限于 此, 每一实体删除单元是可由 64 个实体程序化单元、 256 个实体程序化单元或其他任意个 实体程序化单元所组成。 0059 更详细来说, 实体删除单元为删除的最小单位。 也即, 每一实体删除单元含有最小 数目的一并被删除之记忆胞。 实体程序化单元为程序化的最小单元。 即, 实体程序化单元为 说 明 书 CN 103823704 A 8 5/8 页 9 写入数据的最小单元。每一实体程序化单元通常包括数据比特区与冗余比特区。数据比特 区包含多个实体存取地址用以存储使用者的数据, 而冗余比特区用以存储系统的数据 ( 例 如,。

31、 控制信息与错误更正码 )。在本实施例中, 每一个实体程序化单元的数据比特区中会包 含 4 个实体存取地址, 且一个实体存取地址的大小为 512 比特组 (byte, B)。然而, 在其他 实施例中, 数据比特区中也可包含 8 个、 16 个或数目更多或更少的实体存取地址, 本发明并 不限制实体存取地址的大小以及个数。 例如, 实体删除单元为实体区块, 并且实体程序化单 元为实体页面或实体扇。 0060 在本实施例中, 可复写式非易失性存储器模块 106 为多阶记忆胞 (MultiLevel Cell, MLC)NAND 型闪存模块, 即一个记忆胞中可存储至少 2 个比特数据。然而, 本发明不。

32、限 于此, 可复写式非易失性存储器模块106也可是单阶记忆胞(Single Level Cell, SLC)NAND 型闪存模块、 复数阶记忆胞 (Trinary Level Cell, TLC)NAND 型闪存模块、 其他闪存模块或 其他具有相同特性的存储器模块。 0061 图 2 是一实施例示出模拟闪存的系统示意图。 0062 请参照图 2, 模拟器 200 电性连接至存储器控制器 104 与数据处理单元 250。模拟 器 200 是用以模拟可复写式非易失性存储器模块 106 的行为。特别的是, 模拟器可以支持 不同的存储器类型。例如, 单阶记忆胞 NAND 型闪存模块、 多阶记忆胞 NA。

33、ND 型闪存模块与复 数阶记忆胞 NAND 型闪存模块可属于不同的存储器类型。或者, 不同的制造商所制造出的可 复写式非易失性存储器模块 106 可属于不同的存储器类型。值得注意的是, 不同的存储器 类型可对应到不同的指令表, 而不同的指令表之间可能不相容。 举例来说, 某一制造商所定 义的写入指令可能不同于另一个制造商所定义的写入指令。然而, 模拟器 200 会提供多个 存储器类型所对应的多个指令表, 并且这些指令表可以被更新。 0063 数据处理单元 250 包括一或多个处理机与一个存储单元, 并且数据处理单元 250 会设定一个预置反应条件。若数据处理单元 250 接受到来自于模拟器 2。

34、00 的一个指令, 数 据处理单元 250 会判断此指令是否符合此预置反应条件并且根据此预置反应条件产生一 个第一信号。此外, 数据处理单元 250 会将此第一信号传送给模拟器 200。举例来说, 若预 置反应条件为对第n个写入指令产生一写入失败的回应, 其中n为正整数, 则当数据处理单 元 250 从模拟器 200 接收了一个写入指令, 而此写入指令是要写入一笔数据至一个实体程 序化单元。而, 则数据处理单元 250 会根据此预置反应条件判断此写入指令是否为从模拟 器 200 接收到的第 n 个指令, 其中 n 为正整数。若此写入指令为第 n 个指令, 则数据处理 单元 250 会产生代表写。

35、入失败的第一信息, 并且将第一信息传送给模拟器 200。然而, 数据 处理单元 250 也可以设定其他的预置反应条件, 也可以根据预置反应条件产生读取错误信 息、 读取成功信息或写入成功信息, 本发明并不在此限。 值得注意的是, 在本实施例中, 数据 处理单元 250 中可能不去执行真正写入的程序, 而直接回复写入失败, 或数据处理单元 250 不具有实体程序化单元, 上述代表写入失败的第一信息是模拟出来的。 0064 具体来说, 模拟器 200 包括了闪存接口 202、 检测器 210、 处理机 220、 非闪存接口 230 与缓存 240。 0065 闪存接口202是用以电性连接至存储器控。

36、制器104。 例如, 闪存接口202会包括一 或多个脚位与至少一个总线。存储器控制器 104 会致能这些脚位并将数据放在总线上, 藉 此传送一个指令给模拟器 200。 说 明 书 CN 103823704 A 9 6/8 页 10 0066 检测器 210 电性连接至闪存接口 202。检测器 210 是用以接收来自存储器控制器 104 的指令 ( 也称第一指令 ), 并且根据此第一指令识别模拟器 200 所提供的多个指令表中 的一个第二指令。例如, 检测器 210 中包括了子单元 211 214。每一个子单元 211 214 是对应至一个指令表, 而每一个指令表中还包括多个指令。当检测器 21。

37、0 接收到第一指令 以后, 子单元 211 会判断此第一指令是否符合所对应的多个指令的其中之一。相同的, 子单 元 212 214 也会判断第一指令是否符合所对应的多个指令的其中之一。然而, 在其他实 施例中, 检测器 210 中可包括数目更多或更少的子单元, 本发明并不在此限。 0067 处理机 220 是用以控制模拟器 200 的整体操作。例如, 处理机 220 是微处 理机。然而, 在其他实施例中, 处理机 220 也可以是可程序化控制器、 特殊应用积体 电 路 (Application Specific Integrated Circuits, ASIC) 或 可 程 序 化 逻 辑 。

38、装 置 (Programmable Logic Device, PLD)。 0068 非闪存接口 230 电性连接至处理机 220, 并且用以电性连接至数据处理单元 250。 在本实施例中, 非闪存接口230相容于USB标准。 然而, 在其他实施例中, 非闪存接口230也 可是相容于 PATA 标准、 IEEE1394 标准、 PCI Express 标准、 SATA 标准、 SD 接口标准、 UHS-I 接口标准、 UHS-II 接口标准、 MS 接口标准、 MMC 接口标准、 eMMC 接口标准、 UFS 接口标准、 CF 接口标准、 IDE 标准、 或其他适合的无线通讯标准 ( 例如, 。

39、WiFi 或蓝芽通讯 )。 0069 缓存 240 电性连接至检测器 210、 处理机 220 与非闪存接口 230, 用以存储数据或 指令。其中, 在本实施例中, 模拟器 200 可为一颗芯片, 即将闪存接口 202、 检测器 210、 处 理机 220、 非闪存接口 230 与缓存 240 以系统单芯片 (System-on-a-chip, SoC) 或系统封装 (system in package, SiP) 的方式封装在一颗芯片中。 0070 当模拟器200电性连接至存储器控制器104以后, 处理机220会通过闪存接口202 与存储器控制器 104 交换多个信息。例如, 处理机 220。

40、 会决定模拟器 200 所要模拟的一个 存储器类型, 并且传送此存储器类型的识别码信息给存储器控制器 104。存储器控制器 104 可以根据此识别信息判断模拟器 200 是属于 SLC 或是 MLC 型的闪存。或者, 存储器控制器 104也可以根据此识别信息得到一个闪存的制造商识别码。 得到识别信息以后, 存储器控制 器 104 会传送符合模拟器 200 所模拟的存储器类型的指令给模拟器 200。 0071 存储器控制器 104 可通过闪存接口 202 上的接脚与总线传送一个指令给模拟器 200。 例如, 存储器控制器104会致能一个写入接脚, 并且在总线上传送一个指令识别码。 模 拟器 20。

41、0 检测到写入接脚被致能以后会从总线读取指令识别码。接着, 存储器控制器 104 会通过总线传送一个存储器地址与所要写入的第一数据给模拟器 200。藉此, 存储器控制 器 104 可以将一个写入指令传送至模拟器 200。换言之, 此写入指令会包括一个指令识别 码字段、 一个存储器地址字段与一个数据字段, 分别存储指令识别码、 存储器地址与第一数 据。在模拟器 200 接收到一个指令以后, 子单元 211 214 会识别此指令是否符合对应的 指令表。 0072 图 3 是一实施例示出一个子单元的操作示意图。 0073 请参照图 3, 子单元 211 是对应至某一个存储器类型, 而指令表 360 。

42、会包括对应于 此存储器类型的多个指令。子单元 211 包括指标生成器 320、 多路复用器 330、 指令分析器 340、 比较器350、 忙碌信号生成器370、 重置信号生成器380与中断信号生成器390。 其中多 路复用器 330 电性连接至指标生成器 320, 指令分析器 340 电性连接至多路复用器 330, 并 说 明 书 CN 103823704 A 10 7/8 页 11 且比较器 350 电性连接至指令分析器 340 与指标生成器 320。 0074 若子单元 211 从存储器控制器 104 接收到一个指令, 会将此指令存储在阵列 310 当中。例如, 子单元 211 是先接收。

43、到指令 311, 再接收到指令 312。其中指令 312 的阵列顺 序是在指令 311 的阵列顺序之后。在此实施例中, 阵列 310 是存储在缓存 240 当中。然而, 在其他实施例中, 阵列310也可以是存储在子单元211的一个存储器当中, 本发明并不在此 限。 0075 指标生成器 320 会产生一个指标, 多路复用器 330 会根据此指标从阵列 310 中选 择一个指令并将此指令传送给指令分析器 340。在此假设多路复用器 330 选择了指令 311。 指令分析器 340 会分析指令 311 以产生一个分析结果。例如, 指令分析器 340 会判断指令 311 中包括了指令识别码字段, 存。

44、储器地址字段, 以及数据字段。指令分析器 340 会将此分 析结果传送给比较器350。 比较器350会根据此分析结果判断指令311是否符合指令表360 所包括的多个指令 ( 也称第三指令 ) 的其中之一。例如, 比较器 350 会判断指令表 360 中 每一个指令的指令识别码是否相同于指令 311 的指令识别码。比较器 350 也可以进一步判 断指令表 360 中的指令是否有相对应的存储器地址字段与数据字段。若比较器 350 判断指 令 311 符合指令表 360 中的一个指令 ( 也称第二指令 ), 则比较器 350 会驱动指标生成器 320 以更新指标 ( 例如, 将指标加上 1), 而更。

45、新后的指标用以指向阵列 310 中的下一个指令 ( 例如, 指令 312)。若比较器 350 判断指令 311 不符合指令表 360 中的任何一个指令, 则指 标生成器 320 会维持指标不变。 0076 此外, 若比较器 350 判断指令 311 符合指令表 360 中的第一指令, 忙碌信号生成器 370、 重置信号生成器 380 与中断信号生成器 390 会产生对应的信号。例如, 若指令 311 符 合指令表 360 中的一个写入指令, 则忙碌信号生成器 370 会产生一个忙碌信号并传送给存 储器控制器104, 用以表示模拟器200正在处理一个指令, 并不能接收其他信号。 另外, 重置 信。

46、号生成器 380 会产生一个重置信号, 此重置信号是用以指示开始识别阵列 310 中的下一 个指令。例如, 重置信号可用以改变子单元 211 中的变数或指标。另一方面, 中断信号生成 器 390 会产生一个中断信号, 此中断信息是用以传送给数据处理单元 250 以通知识别出的 第二指令。 0077 请参照回图 2, 若检测器 210 所识别出的指令为写入指令, 处理机 220 会将此写入 指令所要写入的第一数据存储在缓存 240 中。处理机 220 也会将中断信号生成器 390 所产 生的中断信息、 此写入指令、 此写入指令所要写入的存储器地址(也称第一存储器地址)传 送给数据处理单元 250。

47、。数据处理单元 250 会判断写入指令是否符合预置反应条件, 并且 根据预测条件产生一个第一信号。数据处理单元 250 会将此第一信号传送给处理机 220。 并且, 数据处理单元 250 会发送一个读取指令给非闪存接口 230, 藉此从缓存 240 中读取第 一数据。数据处理单元 250 会将此第一数据存储在数据处理单元 250 当中的存储单元 ( 例 如, 一个易失性存储器或是硬碟 )。接下来, 检测器 210 会致能闪存接口 202 中的一个准备 好 / 忙碌 (Ready/Busy) 接脚。存储器控制器 104 检测到准备好 / 忙碌接脚被致能以后, 存 储器控制器 104 可继续下达另。

48、一个指令给模拟器 200。 0078 另一方面, 若检测器210所识别出的指令为读取指令, 处理机220会将中断信号生 成器390所产生的中断信息、 此读取指令, 此读取指令所要读取的存储器地址(也称第二存 储器地址 ) 传送给数据处理单元 250。接收到此读取指令以后, 数据处理单元 250 会判断 说 明 书 CN 103823704 A 11 8/8 页 12 此读取指令是否符合预置反应条件, 并且根据预测条件产生第一信号。 此外, 数据处理单元 250也会取得对应于第二存储器地址的第二数据。 例如, 数据处理单元250会在其中的一个 存储单元中纪录每一个存储器地址所对应的数据, 数据处。

49、理单元 250 可以根据第二存储器 地址从存储单元中取得第二数据。接着, 数据处理单元 250 会下达一个写入指令给非闪存 接口 230, 藉此将第二数据写入至缓存 240。检测器 210 会致能闪存接口 202 中的准备好 / 忙碌接脚。 若存储器控制器104检测到准备好/忙碌接脚被致能, 会致能闪存接口202中的 一个读取接脚, 藉此检测器 210 会将第二数据通过闪存接口 202 传送给存储器控制器 104。 0079 在另一实施例中, 数据处理单元250所执行的步骤是由处理机220所执行, 而数据 处理单元 250 可被实作为一个外部存储器。并且, 处理机 220 会将写入指令所要写入的第 一数据存储在此外部存储器当中。 0080 图 4 是一实施例示出闪存的模拟方法的流程图。 0081 请参照图4, 在步骤S402中, 设定一预置反应条件。 在步骤S404中, 提供多个指令 表, 其中每一个指令表是对应至一存储器类型。在步。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1