CN104795102A - 随机数产生方法、内存存储装置及控制电路 - Google Patents
随机数产生方法、内存存储装置及控制电路 Download PDFInfo
- Publication number
- CN104795102A CN104795102A CN201410021256.0A CN201410021256A CN104795102A CN 104795102 A CN104795102 A CN 104795102A CN 201410021256 A CN201410021256 A CN 201410021256A CN 104795102 A CN104795102 A CN 104795102A
- Authority
- CN
- China
- Prior art keywords
- storage unit
- those
- read
- voltage
- current sensor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Read Only Memory (AREA)
Abstract
本发明提供一种随机数产生方法、内存存储装置及控制电路。本发明所提供的随机数产生方法用于可复写式非易失性内存模块,其中该可复写式非易失性内存模块包括多个存储单元,该随机数产生方法包括:将一数据写入至该些存储单元;重复以一第一读取电压来读取这些存储单元的至少其中之一,以取得多个感测电流;以及根据感测电流产生至少一随机数。本发明所提供的随机数产生方法、内存存储装置及控制电路,所产生的随机数不具有规律性。
Description
技术领域
本发明是有关于一种用于可复写式非易失性内存模块的随机数产生方法、内存存储装置及控制电路。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒介的需求也急速增加。由于可复写式非易失性内存模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内置于上述所举例的各种便携式多媒体装置中。
在部分加/解密技术中,随机数(random number)的使用是很普遍且重要的。标准的随机数必须符合无法预期、随时间改变及不会重复等原则。一般来说,随机数主要是通过随机数产生器(random number generator)来产生。但是,随着攻击技术不断地推陈出新,部分随机数产生器的随机数产生规则可以通过数据分析等手段而被破解。
发明内容
本发明提供一种随机数产生方法、内存存储装置及控制电路,可根据所读取到的感测电流来产生随机数,使得所产生的随机数不具有规律性。
本发明提供一种随机数产生方法,用于一可复写式非易失性内存模块,其中可复写式非易失性内存模块包括多个存储单元,随机数产生方法包括:将一数据写入至该些存储单元;重复以一第一读取电压来读取该些存储单元的至少其中之一,以取得多个感测电流;以及根据该些感测电流产生至少一随机数。
在本发明的一实施例中,所述重复以一第一读取电压来读取些存储单元的至少其中之一,以取得些多个感测电流包括:根据一默认读取电压设定第一读取电压;以及重复以该第一读取电压来读取些存储单元中的一第一存储单元,以取得些感测电流中对应于该第一存储单元的一第一感测电流以及一第二感测电流。
在本发明的一实施例中,所述重复以该默认读取电压读取该些存储单元的至少其中之一所得到的多个感测电流中任二者的差异,小于以该第一读取电压读取该些存储单元的至少其中之一所得到的多个感测电流之任二者的差异。
在本发明的一实施例中,所述重复以该第一读取电压来读取该些存储单元的至少其中之一,以取得该些感测电流包括:调整该些存储单元中与该些存储单元中的一第一存储单元属于同一比特线的至少一第二存储单元的导通电压;以及重复以该第一读取电压来读取该第一存储单元,以取得对应于该第一存储单元的一第一感测电流以及一第二感测电流。
在本发明的一实施例中,所述根据感测电流产生至少一随机数包括:取得对应于该些感测电流的多个验证位,并判断每一验证位是属于第一状态或第二状态;计算属于该第一状态的验证位的第一个数;以及根据该第一个数产生该至少一随机数。
在本发明的一实施例中,所述判断每一验证位是属于第一状态或第二状态包括:将具有第一值的验证位判定为属于该第一状态的验证位;以及将具有第二值的验证位判定为属于该第二状态的验证位。其中该第一值与该第二值不相同
在本发明的一实施例中,所述判断每一验证位是属于第一状态或第二状态包括:根据该数据的错误更正码对验证位执行错误检查与校正程序,以取得该些验证位中的多个错误位;以及判定该些错误位为属于该第一状态的验证位。
另一方面,本发明还提出一种内存存储装置,该内存存储装置包括:
一连接接口单元,用以电性连接至一主机系统;
一可复写式非易失性内存模块,包括多个存储单元;以及
一内存控制电路单元,电性连接至该连接接口单元与该可复写式非易失性内存模块,
其中,该内存控制电路单元用以将一数据写入该些存储包,
该内存控制电路单元还用以重复以一第一读取电压来读取该些存储单元的至少其中之一,以取得多个感测电流。该内存控制电路单元还用以根据该些感测电流产生至少一随机数。
在本发明的一实施例中,所述内存控制电路单元还用以根据一默认读取电压设定第一读取电压;以及重复以该第一读取电压来读取些存储单元中的一第一存储单元,以取得该些感测电流中对应于该第一存储单元的一第一感测电流以及一第二感测电流。
在本发明的一实施例中,所述重复以该默认读取电压读取该些存储单元的至少其中之一所得到的多个感测电流中任二者的差异,小于以第一读取电压读取该些存储单元的至少其中之一所得到的多个感测电流中任二者的差异。
在本发明的一实施例中,所述内存控制电路单元还用以调整该些存储单元中与该些存储单元中的一第一存储单元属于同一比特线的至少一第二存储单元的导通电压;以及重复以该第一读取电压来读取第一存储单元,以取得对应于该第一存储单元的一第一感测电流以及一第二感测电流。
在本发明的一实施例中,所述内存控制电路单元还用以取得对应于该些感测电流的多个验证位,并判断每一验证位是属于第一状态或第二状态;计算属于该第一状态的验证位的第一个数;以及根据该第一个数产生该至少一随机数。
在本发明的一实施例中,所述内存控制电路单元还用以将具有第一值的验证位判定为属于该第一状态的验证位;以及将具有第二值的验证位判定为属于该第二状态的验证位。其中该第一值与该第二值不相同。
在本发明的一实施例中,所述内存控制电路单元还用以根据该数据的错误更正码对验证位执行错误检查与校正程序,以取得该些验证位中的多个错误位;以及判定该些错误位为属于该第一状态的验证位。
另一方面,本发明还提出一种控制电路,该控制电路用于控制可复写式非易失性内存模块,该可复写式非易失性内存模块包括多个存储单元,该控制电路包括:
一接口,用以电性连接该些存储单元、多条字符线与多条比特线,其中每一存储单元与该些字符线的其中一条字符线以及该些比特线的其中一条比特线电性连接;以及
一内存管理电路,用以电性连接至该接口,并且将一数据写入至该些存储单元。其中该内存管理电路还用以重复以一第一读取电压来读取该些存储单元的至少其中之一,以取得多个感测电流。该内存管理电路还用以根据该些感测电流产生至少一随机数。
在本发明的一实施例中,所述内存管理电路还用以根据一默认读取电压设定该第一读取电压;以及重复以该第一读取电压来读取该些存储单元中的一第一存储单元,以取得该些感测电流中对应于第一存储单元的一第一感测电流以及一第二感测电流。
在本发明的一实施例中,所述重复以该默认读取电压读取该些存储单元的至少其中之一所得到的多个感测电流中任二者的差异,小于以该第一读取电压读取该些存储单元的至少其中之一所得到的多个感测电流中任二者的差异。
在本发明的一实施例中,所述内存管理电路还用以调整该些存储单元中与该些存储单元中的一第一存储单元属于同一比特线的至少一第二存储单元的导通电压;以及重复以第一读取电压来读取该第一存储单元,以取得对应于该第一存储单元的一第一感测电流以及一第二感测电流。
在本发明的一实施例中,所述内存管理电路还用以取得对应于该些感测电流的多个验证位,并判断每一验证位是属于第一状态或第二状态;计算属于该第一状态的验证位的第一个数;以及根据该第一个数产生该至少一随机数。
在本发明的一实施例中,所述内存管理电路还用以将具有第一值的验证位判定为属于该第一状态的验证位;以及将具一第二值的验证位判定为属于该第二状态的验证位。其中该第一值与该第二值不相同。
在本发明的一实施例中,所述内存管理电路还用以根据该数据的错误更正码对验证位执行错误检查与校正程序,以取得该些验证位中的多个错误位;以及判定该些错误位为属于该第一状态的验证位。
基于上述,本发明提供的随机数产生方法、内存存储装置及控制电路,可利用一第一读取电压来读取一个或多个存储单元,以取得对应于这些存储单元的多个感测电流,并且根据所取得的感测电流来产生随机数,使得所产生的随机数不具有规律性。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是本发明一实施例所示出的主机系统与内存存储装置的连接示意图;
图1B是本发明一实施例所示出的计算机、输入/输出装置与内存存储装置的示意图。
图1C是本发明一实施例所示出的主机系统与内存存储装置的示意图;
图2A是图1A所示的内存存储装置的结构示意图;
图2B是本发明一实施例所示出的可复写式非易失性内存模块的结构示意图;
图3是本发明一实施例所示出的一个NAND串的俯视图;
图4是本发明一实施例所示出的一个NAND串的等效电路图;
图5是本发明一实施例所示出的NAND串的侧视图;
图6是本发明一实施例所示出一个实体擦除单元的示意图;
图7是本发明一实施例所示出的内存控制电路单元的结构示意图;
图8是本发明一实施例所示出的读取存储单元的电压时序图;
图9是本发明一实施例所示出的读取电压与感测电流之间的关系曲线图;
图10是本发明一实施例所示出的多个第一存储单元的临界电压分布图;
图11是本发明一实施例所示出的随机数产生方法的流程图;
图12是本发明另一实施例所示出的随机数产生方法的流程图。
附图标记说明:
1000:主机系统;
1100:计算机;
1102:微处理器;
1104:随机存取内存;
1106:输入/输出装置;
1108:系统总线;
1110:数据传输接口;
1202:鼠标;
1204:键盘;
1206:显示器;
1208:打印机;
1212:随身盘;
1214:存储卡;
1216:固态硬盘;
1310:数码相机;
1312:SD卡;
1314:MMC卡;
1316:存储棒;
1318:CF卡;
1320:嵌入式存储装置;
100:内存存储装置;
102:连接接口单元;
104:内存控制电路单元;
106:可复写式非易失性内存模块;
108(0):实体擦除单元;
2202:存储单元数组;
2204:字符线控制电路;
2206:比特线控制电路;
2208:行译码器;
2210:数据输入/输出缓冲器;
2212:控制电路;
300、302、304、306、320、322、601、606:晶体管;
300CG、302CG、304CG、306CG、320CG、322CG:控制栅极;
300FG、302FG、304FG、306FG:浮动栅极;
326、328:接触点;
340:基底;
330、332、334、336、338:多晶硅层;
360、ST0~STN:NAND串;
SGD、SGS:选择线;
WL0~WL3:字符线;
BL(0)~BL(N):比特线;
602~605:存储单元
610:源极线;
702:内存管理电路;
704:主机接口;
706:内存接口;
708:缓冲存储器;
710:电源管理电路;
712:错误检查与校正电路;
t1~t8:时间点;
IFG:感测电流;
VFG:临界电压;
1020:曲线;
Vread、V'read:读取电压。
具体实施方式
一般而言,内存存储装置(也称,内存存储系统)包括可复写式非易失性内存模块与控制器(也称,控制电路)。通常内存存储装置是与主机系统一起使用,以使主机系统可将数据写入至内存存储装置或从内存存储装置中读取数据。
图1A是本发明一实施例所示出的主机系统与内存存储装置的连接示意图。图1B是本发明一实施例所示出的计算机、输入/输出装置与内存存储装置的示意图。图1C是本发明一实施例所示出的主机系统与内存存储装置的示意图。
请参照图1A,主机系统1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取内存(random access memory,RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106还可包括其他装置。
在本发明实施例中,内存存储装置100是通过数据传输接口1110与主机系统1000的其他组件电性连接。通过微处理器1102、随机存取内存1104与输入/输出装置1106的运作可将数据写入至内存存储装置100或从内存存储装置100中读取数据。例如,内存存储装置100可以是如图1B所示的随身盘1212、存储卡1214或固态硬盘(Solid State Drive,SSD)1216等的可复写式非易失性内存存储装置。
一般而言,主机系统1000为可与内存存储装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一实施例中主机系统1000可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。如图1C所示,在主机系统为数码相机(摄影机)1310时,可复写式非易失性内存存储装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick)1316、CF卡1318或嵌入式存储装置1320。嵌入式存储装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2A是图1A所示的内存存储装置的结构示意图。
请参照图2A,内存存储装置100包括连接接口单元102、内存控制电路单元104与可复写式非易失性内存模块106。
在本实施例中,连接接口单元102是兼容于序列先进附件(Serial AdvancedTechnology Attachment,简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102亦可以是符合并列先进附件(Parallel AdvancedTechnology Attachment,简称PATA)标准、电气和电子工程师协会(Institute ofElectrical and Electronic Engineers,简称IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,简称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)标准或其他适合的标准。连接接口单元102可与内存控制电路单元104封装在一个芯片中,或者连接接口单元102是布设于包含内存控制电路单元104的芯片外。
内存控制电路单元104用以执行以硬件或软件式的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性内存模块106中进行数据的写入、读取与擦除等动作。
可复写式非易失性内存模块106是电性连接至内存控制电路单元104,并且用以储存主机系统1000所写入的数据。
图2B是本发明一实施例所示出的可复写式非易失性内存模块的结构示意图。
请参照图2B,可复写式非易失性内存模块106包括存储单元数组2202、字符线控制电路2204、比特线控制电路2206、行译码器(column decoder)2208、数据输入/输出缓冲器2210与控制电路2212。
存储单元数组2202包括用以储存数据的多个存储单元。这些存储单元是以数组的方式配置在多条字符线与多条比特线的交叉点上。当从内存控制电路单元104接收到写入指令或读取指令时,控制电路2212会控制字符线控制电路2204、比特线控制电路2206、行译码器2208、数据输入/输出缓冲器2210来写入数据至存储单元数组2202或从存储单元数组2202中读取数据。此外,字符线控制电路2204用以控制施加至字符线的电压,比特线控制电路2206用以控制施加至比特线的电压,行译码器2208依据指令中的译码列地址以选择对应的比特线,并且数据输入/输出缓冲器2210用以暂存数据。
存储单元数组2202中的存储单元会被划分为多个实体擦除单元。这些实体擦除单元可属于同一个内存晶粒(die)或者属于不同的内存晶粒。以NAND型闪存为例,一个实体擦除单元会包括多个NAND串(NAND string)。每一个NAND串会包括多个彼此串联的晶体管。
图3是本发明一实施例所示出的一个NAND串的俯视图。图4是本发明一实施例所示出的一个NAND串的等效电路图。
请参照图3与图4,NAND串360包括了晶体管300、302、304、306、320与322。从接触点326至接触点328之间的线路称为一条比特线。晶体管320上的控制栅极320CG是电性连接至选择线SGD;晶体管300上的控制栅极300CG是电性连接至字符线WL3;晶体管302上的控制栅极302CG是电性连接至字符线WL2;晶体管304上的控制栅极304CG是电性连接至字符线WL1;晶体管306上的控制栅极3006G是电性连接至字符线WL0;晶体管322上的控制栅极322CG是电性连接至选择线SGS。每一个晶体管300、302、304与306还包括一个电荷捕捉层。电荷捕捉层是用以储存电子或是电洞。在此实施例中,电荷捕捉层被称为浮动栅极(floating gate),其材料包括经参杂的多晶硅。然而,在另一实施例中,电荷捕捉层可包括一个氧化硅-氮化硅-氧化硅复合层,或是其他可用以储存电子或电洞的材料,本发明并不在此限。在图3所示的实施例中,晶体管300具有浮动栅极300FG;晶体管302具有浮动栅极302FG;晶体管304具有浮动栅极304FG;晶体管306具有浮动栅极306FG。在此,晶体管300、302、304与306亦可被称为存储单元。
图5是本发明一实施例所示出的NAND串的侧视图。请参照图3至图5,NAND串360是设置在基底340上。控制栅极300CG、302CG、304CG与306CG是分别设置在浮动栅极300FG、302FG、304FG与306FG上。控制栅极300CG、302CG、304CG、306CG与浮动栅极300FG、302FG、304FG、306FG之间设置了介电层。浮动栅极300FG、302FG、304FG、306FG与基底340之间则设置了氧化层。图5中邻近的晶体管会分享经掺杂的多晶硅层330、332、334、336与338,并且一个多晶硅层会形成一个晶体管的源极或漏极。当要把数据写入(也称为程序化)至晶体管300、302、304和306时,适当的电压会被施加在控制栅极320CG与322CG上,使得晶体管320与322会被导通;并且接触点326与接触点328之间会有一电流。一个写入电压会被施加在欲被程序化的晶体管上的控制栅极,在此以控制栅极302CG为例,使得上述电流中的电子或是电洞会移动至浮动闸极302FG。当电子或是电洞被注入浮动闸极302FG以后,晶体管302的临界电压会改变,以此可以等效地储存一或多个位。值得注意的是,在其他的实施例中,NAND串360也可以包括更多的存储单元,本发明并不限制一个NAND串中存储单元的数目。此外,图3~图5只是一个范例,本发明并不限制可复写式非易失性内存模块106中存储单元的结构或是电路的电性连接关系。例如,在一实施例中,多个存储单元是彼此推叠,由此形成三维的闪存。
图6是本发明一实施例所示出的一个实体擦除单元的示意图。
请参照图6,以存储单元数组2202中的实体擦除单元108(0)为例,实体擦除单元108(0)包括了多个NAND串ST0~STN。NAND串ST0包括了晶体管601、606与存储单元602~605。NAND串ST0~STN与图4的NAND串360类似,在此不再赘述。实体擦除单元108(0)也包括了多条字符线WL0~WL3与多条比特线BL(0)~BL(N)。实体擦除单元108(0)中的每一个存储单元都会位于一条字符线与一条比特线。同一条字符在线的多个存储单元会形成一或多个实体程序化单元。具体来说,若每一个存储单元可储存x个比特,则同一条字符在线的多个存储单元至少会形成x个实体程序化单元,其中x为正整数。若正整数x大于1,则同一条字符线的x个实体程序化单元还可被分类为下实体程序化单元与上实体程序化单元。然而,本发明并不限制正整数x的数值。一般来说,下实体程序化单元的写入速度会大于上实体程序化单元的写入速度。在此实施例中,实体程序化单元为程序化的最小单元。即,
实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面或是实体扇(sector)。若实体程序化单元为实体页面,则每一个实体程序化单元通常包括数据位区与冗余位区。数据位区包含多个实体扇,用以储存用户的数据,而冗余位区用以储存系统的数据(例如,错误更正码)。在本实施例中,每一个数据位区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他实施例中,数据位区中也可包含8个、16个或数目更多或更少的实体扇,本发明并不限制实体扇的大小以及个数。
另一方面,NAND串ST0~STN都电性连接至源极线610。当实体擦除单元108(0)要被擦除时,一个擦除电压会被施加于实体擦除单元108(0)中的基底,使得实体擦除单元108(0)中所有的浮动栅极中的电子或是电洞都会离开所属的浮动栅极。在此实施例中,实体擦除单元为擦除的最小单位。亦即,每一实体擦除单元含有最小数目之一并被擦除的存储单元。例如,实体擦除单元为实体区块。
在本实施例中,可复写式非易失性内存模块106为单阶存储单元(SingleLevel Cell,SLC)NAND型闪存模块,即一个存储单元中可储存1个位。然而,本发明不限于此,可复写式非易失性内存模块106也可是多阶存储单元(MultiLevel Cell,MLC)NAND型闪存模块、复数阶存储单元(Trinary Level Cell,TLC)NAND型闪存模块、其他闪存模块或其他具有相同特性的内存模块。
图7是本发明一实施例所示出的内存控制电路单元的结构示意图。
请参照图7,内存控制电路单元104包括内存管理电路702、主机接口704与内存接口706。
内存管理电路702用以控制内存控制电路单元104的整体运作。具体来说,内存管理电路702具有多个控制指令,并且在内存存储装置100运作时,这些控制指令会被执行以进行数据的写入、读取与擦除等动作。
主机接口704是电性连接至内存管理电路702并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口704来传送至内存管理电路702。在本实施例中,主机接口704是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口704亦可以是兼容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
内存接口706是电性连接至内存管理电路702并且用以存取可复写式非易失性内存模块106。也就是说,欲写入至可复写式非易失性内存模块106的数据会经由内存接口706转换为可复写式非易失性内存模块106所能接受的格式。
在本发明一实施例中,内存控制电路单元104还包括缓冲存储器708、电源管理电路710与错误检查与校正电路712。
缓冲存储器708是电性连接至内存管理电路702并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性内存模块106的数据。
电源管理电路710是电性连接至内存管理电路702并且用以控制内存存储装置100的电源。
错误检查与校正电路712是电性连接至内存管理电路702并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当内存管理电路702从主机系统1000中接收到写入指令时,错误检查与校正电路712会为对应此写入指令的数据产生对应的错误更正码(Error Correcting Code,简称ECCCode),并且内存管理电路702会将对应此写入指令的数据与对应的错误更正码写入至可复写式非易失性内存模块106中。之后,当内存管理电路702从可复写式非易失性内存模块106中读取数据时会同时读取此数据对应的错误更正码,并且错误检查与校正电路712会依据此错误更正码对所读取的数据执行错误检查与校正程序。
图8是本发明一实施例所示出的读取存储单元的电压时序图。
请参照图6与图8,在此假设内存管理电路702传送了信号给可复写式非易失性内存模块106,以读取存储单元605中的数据。可复写式非易失性内存模块106会对应地改变选择线SGD、SGS、字符线WL0~WL3与比特线BL(0)~BL(N)上的电压准位,以此检测存储单元605的状态。具体来说,在初始阶段,图8中所有的电压都为低准位。在时间点t1,选择线SGD上的电压准位会被拉起(raised)以导通晶体管601。在时间点t2,字符线WL1~WL3上的电压准位会被拉起以导通存储单元602~604,并且一个读取电压会被施加在字符线WL0上。在时间点t4,比特线BL(0)上的电压准位会被拉起至一个预充电准位(pre-charge level)。在时间点t6,选择线SGS上的电压准位会被拉起以导通晶体管606。响应于存储单元605上的读取电压,比特线BL(0)上会产生一个感测电流。根据此感测电流的大小,比特线BL(0)的电压准位可能会下降(drop)。如果字符线WL0上的读取电压大于存储单元605的临界电压,则存储单元605会被导通且比特线BL(0)上的感测电流会使得比特线BL(0)上的电压准位下降。如果字符线WL0上的读取电压没有大于存储单元605的临界电压,则存储单元605会截止并且比特线BL(0)上的电压准位会维持不变。一般来说,比特线BL(0)可以电性连接至一个放大器,以检测比特线BL(0)上的电压准位。值得注意的是,图8只是一个范例,本发明并不限制选择线SGD、SGS、字符线WL0~3和比特线BL(0)~BL(N)上的电压准位被拉起的时间与顺序。
在一实施例中,内存管理电路702会将一数据写入存储单元数组2202的至少一个存储单元中。然后,内存管理电路702会重复以一读取电压(以下统称为第一读取电压)来读取被写入此数据的存储单元,以取得多个感测电流。以此数据被写入至一个存储单元为例,内存管理电路702可以先以第一读取电压来读取此存储单元,以取得对应于此存储单元的一个感测电流(以下统称为第一感测电流)。然后,内存管理电路702会重复以此第一读取电压来读取此存储单元,以取得对应于此存储单元的另一个感测电流(以下统称为第二感测电流),以此类推,直到内存管理电路702取得足够数量的感测电流为止。此外,在一实施例中,内存管理电路702也会根据一默认的读取电压(以下统称为默认读取电压)来设定一读取电压(以下统称为第一读取电压)。例如,内存管理电路702会将此第一读取电压设定在偏离默认读取电压的电压点,使得内存管理电路702重复以默认读取电压读取此存储单元所得到的多个感测电流中任二者的差异,会小于内存管理电路702以第一读取电压读取此存储单元所得到的多个感测电流中任二者的差异。也就是说,相对于将读取电压设定在默认读取电压(可稳定读取的电压点),内存管理电路702各次读取所取得的感测电流会有较大的机率是差异很大的。
然后,内存管理电路702会根据部分或全部的这些感测电流来产生随机数。例如,内存管理电路702可以将各个感测电流的值直接作为随机数,也可以将各个感测电流的值作简单的排列及/或加、减、乘、除等运算,以产生随机数,在此本发明并不加以限制。此外,内存管理电路702也可以先将各个感测电流的值转换为2进位、10进位或16进位的数值,然后再进行包括OR、XOR、AND及NAND的各种逻辑运算,以产生随机数。此外,内存管理电路702也可以搭配随机数产生算法来产生随机数。
在读取存储单元605中的数据时,由于晶体管601、606及存储单元602~604都会被导通,因此此时施加在选择线SGD、SGS及字符线WL1~WL3上的电压皆可称为导通电压。若晶体管601、606及存储单元602~604的至少其中之一的导通电压发生变化,则对应于存储单元605的读取电压的感测电流也会改变。因此,在一实施例中,内存管理电路702还会在重复读取上述存储单元之前,先调整与此存储单元属于同一条比特线的其他存储单元的导通电压。因而,当内存管理电路702重复读取上述存储单元时,内存管理电路702将有更大的机率取得相异的感测电流。
此外,内存管理电路702也可以将数据写入至存储单元数组2202的多个存储单元,并且以上述第一读取电压依序读取这些存储单元中的第一存储单元与第二存储单元等等,以取得多个感测电流,直到获得足够数量的感测电流或者有写入此数据的存储单元都被读取过为止。因而,内存管理电路702同样可以取得各不同或相同的多个感测电流,并且根据这些感测电流产生随机数。
请再次参照图8,在图8的实施例中,比特线BL(0)上的电压准位或对应于存储单元605的感测电流可以用来判断存储单元605是导通或是截止,而可复写式非易失性内存模块106会产生对应的验证位。例如,验证位“1”代表截止,而验证位“0”代表导通。然而,值得注意的是,随着读取电压的增加,实际上存储单元605并不会忽然地从截止变为导通。因此,在另一实施例中验证位不一定代表截止或是导通的状态。
图9是本发明一实施例所示出的读取电压与感测电流之间的关系曲线图。如图9所示,随着读取电压的增加,感测电流会逐渐的增加。因此,在一实施例中,可复写式非易失性内存模块106可以在感测电流大于一个第一临界值时设定验证位为“1”,若感测电流小于一个第二临界值时则设定验证位为“0”。第一临界值与第二临界值可以相同或是不同,本发明并不在此限。以另外一个角度来说,验证位可以用来表示存储单元605的临界电压是否大于被施加的读取电压。例如,在图9中,若感测电流大于电流值IFG,则表示读取电压大于临界电压VFG且验证位是“1”。然而,由于感测电流是逐渐的增加,因此依照不同的判断方法,临界电压VFG的数值也会不相同。本发明并不限制存储单元中临界电压的判断方法。在此实施例中,验证位可根据感测电流的大小、变化量、或是任意的电气特性来决定,或者是根据比特线的电压准位来决定,但本发明并不限制决定的方法。可复写式非易失性内存模块106会把取得的验证位传送给内存管理电路702。
因此,在一实施例中,在以第一读取电压来读取至少一个存储单元并且取得多个感测电流之后,内存管理电路702则是会取得对应于这些感测电流的多个验证位。然后,内存管理电路702会根据这些验证位来产生随机数。
图10是本发明一实施例所示出的多个第一存储单元的临界电压分布图。
内存管理电路702会先将数据写入至存储单元数组2202的多个存储单元。这些存储单元可以属于相同的实体擦除单元或是不同的实体擦除单元,例如,相同或不同的实体区块。此外,这些第一存储单元也可以属于相同的实体程序化单元或是不同的实体程序化单元,例如,相同或不同的实体页面,且本发明并不在此限。
图10是将数据写入至多个存储单元后的临界电压分布图,其中横轴是临界电压,而纵轴是存储单元个数。本发明不限制用来写入此数据的存储单元的个数。在本范例实施例中,此数据是相同的位(例如,“0”)。在一实施例中,此数据也可以是随机产生或用其他任意方式产生。此外,在另一实施例中,此数据还可以是来自主机系统1000的实时(real time)写入数据,本发明并不限制此数据的内容。
请参照图10,在将数据写入至这些存储单元之后,被写入该数据的存储单元的临界电压的分布如曲线1020。在此实施例中,内存管理电路702会根据第一读取电压Vread来读取这些存储单元,以取得对应于这些存储单元的多个感测电流,并且取得每一个感测电流所对应的验证位。然后,内存管理电路702会判断每一个所取得的验证位是属于第一状态或第二状态。
在本实施例中,验证位的第一状态与第二状态表示所施加的读取电压是否大于一存储单元的临界电压。当所施加的取读电压大于此存储单元的临界电压(例如,曲线1020中的斜线区域)时,对应于此存储单元的验证位会具有一第一值,并且此第一值例如是“1”。当所施加的读取电压小于或等于一存储单元的临界电压时,对应于此存储单元的验证位则会具有一第二值,并且此第二值例如是“0”。内存管理电路702会将具有第一值的验证位判定为属于第一状态的验证位,并且将具有第二值的验证位判定为属于第二状态的验证位。也就是说,在本实施例中,属于第一状态的验证位的个数会相同于临界电压小于第一读取电压Vread的存储单元的个数。然后,内存管理电路702会计算属于第一状态的验证位的个数(以下统称为第一个数)。
然而,本发明并不将第一状态与第二状态所代表的意义限定于上述。例如,在另一实施例中,第一状态与第二状态是表示验证位的数据正确与否。也就是说,当一验证位中的数据是错误的,则此验证位是属于第一状态,并且当一验证位中的数据是正确的,则此验证位是属于第二状态。在此实施例中,在取得对应于这些感测电流的多个验证位之后,错误检查与校正电路712会根据此数据的错误更正码对这些验证位进行错误检查与校正程序,以取得这些验证位中的多个错误位。以6个位的数据为例,当此数据是“000000”时,若对应于这些感测电流的验证位为“010110”,就表示此些验证位包含3个被错误地识别为“1”的错误位(即,第2、第4及第5个位)。内存管理电路702会判定这些错误位为属于第一状态的验证位,并将这些错误位的个数设定为上述第一个数。反之,验证位中不属于错误位的其他位(即,第1、第3及第6个位)则是属于第二状态的验证位。
一般来说,内存管理电路702会使用上述默认读取电压来读取可复写式非易失性内存模块106中的存储单元。但是,随着可复写式非易失性内存模块106的使用时间增加,可复写式非易失性内存模块106中的存储单元的临界电压会下降。因此,此默认读取电压往往也会随着可复写式非易失性内存模块106的使用时间增加而被适应性地调整,以使内存管理电路702根据此默认读取电压而取得的验证位的正确性会较高。
在一实施例中,内存管理电路702会使用默认读取电压来读取上述存储单元,但是这样有很大的可能性会无法取得足够的错误位,因为使用默认读取电压来读取存储单元的正确性太高。因此,在本实施例中,内存管理电路702会将第一读取电压Vread设定在相对于默认读取电压而言较不稳定或容易出错的电压点,使得内存管理电路702根据第一读取电压Vread所取得的验证位的正确性下降,从而可取得较多的错误位。也就是说,若将内存管理电路702根据默认读取电压来读取存储单元而产生的错误位的个数视为一初始个数,则内存管理电路702根据第一读取电压Vread来读取存储单元而产生的错误位的个数(即,第一个数)会大于此初始个数。此外,将第一读取电压Vread设定在相对于默认读取电压而较不稳定或容易出错的电压点,也可以增加每一次取得的错误位在数量上的差异,而较不容易取得连续两次或两次以上相同数量的错误位。
在图10的实施例中,假设默认读取电压是V'read,则内存管理电路702会将第一读取电压Vread设定在相对于默认读取电压V'read而言较不稳定或容易出错的电压点。例如,内存管理电路702可以将默认读取电压V'read加大一默认值,以取得第一读取电压Vread。当内存管理电路702根据第一读取电压Vread来读取这些存储单元时,第一读取电压Vread会大于部分存储单元的临界电压,而使得部分原先储存位“0”的存储单元(即,曲线1020中的斜线区域)被错误地识别为储存位“1”。内存管理电路702会计算这些被错误地识别为储存位“1”的存储单元所对应的验证位的个数,以取得属于第一状态的验证位的个数(即,第一个数)。反之,若内存管理电路702是根据默认读取电压是V'read来读取这些存储单元,则在此范例中,所有的存储单元都会被正确地识别为“0”。也就是说,通过将第一读取电压Vread操作在相对不稳定或容易出错的电压点,内存管理电路702就可以有效地取得没有规律且不容易预测的错误位,并且将此错误位的个数视为上述第一个数。
在此需注意的是,虽然第一读取电压Vread必须被操作在相对不稳定的电压点才能取得合适个数的错误位,但是在一实施例中,这些错误位的个数是可以被限制的。例如,当被写入的数据是来自主机系统1000的写入数据时,若无法正确地对读取此数据而产生的错误位进行校正,则读取出的数据就可能会不正确,降低使用者的使用意愿。
因此,在此实施例中,第一个数与对应于这些存储单元的所有验证位的一总个数的一比例值是小于或等于一预设比例值。此预设比例值的大小与由错误检查与校正电路712执行的错误检查与校正程序的一错误检查与校正能力成正相关(positive correlation)。错误检查与校正程序的错误检查与校正能力越高,则此预设比例值的大小可以加大。错误检查与校正电路712执行的错误检查与校正程序的错误检查与校正能力越低,则此预设比例值的大小则需要减少。例如,此预设比例值可以是50/70,且此预设比例值可以视错误检查与校正电路712的错误检查与校正能力而调整。若第一个数与所有验证位的总个数的比例值小于或等于此预设比例值,表示错误位在所有的验证位中所占的比例尚在容许范围内,因此验证位中所有的错误位都可以被找到并且被校正。反之,若此比例值大于此预设比例值,表示错误位在所有的验证位中所占的比例太高,因此验证位中部分的错误位便有可能无法被找到并且被校正。
如图10所示,若第一读取电压Vread越大或者越远离默认读取电压V'read,则根据第一读取电压Vread来读取第一存储单元而取得的错误位的个数也会增加。因此,在本实施例中,可通过将第一读取电压Vread设定为小于或等于一读取电压上限,以避免错误位在所取得的所有验证位中占有的比例太高。举例来说,此读取电压上限可以根据曲线1020与以下方程序(1)计算而得:
其中,V1是默认读取电压,V2是读取电压上限,D(V)是用来表示曲线1020的方程式,V是读取电压,并且CA是默认比例值。在已知V1、D(V)及CA的情况下,内存管理电路702可以根据方程式(1)而计算出读取电压上限V2。
在取得第一个数之后,内存管理电路702会根据此第一个数来产生随机数。例如,内存管理电路702可以直接将用来表示此第一个数的数字码作为随机数,或者将用来表示此第一个数的数字码作为随机数产生器的种子输入至随机数产生器,以产生随机数。此数字码例如是2进位、10进位或16进位的数字码,本发明不加以限制。此外,内存管理电路702也可以取得属于第二状态的验证位的个数,并根据属于第二状态的验证位的个数来单独或者撘配第一个数产生随机数。特别是,在一实施例中,当接收到来自主机系统1000的一写入数据并且将此写入数据写入至可复写式非易失性内存模块106时,内存管理电路702可以经由上述实施例中所介绍的方式获得对应于此写入数据的随机数。
此外,在一实施例中,内存管理电路702会通过默认的规则(也称为默认规则)来产生随机数。举例来说,假设一个随机数是由N个数值组成,其中N是正整数。内存管理电路702会先根据第一读取电压读取这些存储单元,以取得多个感测电流以及对应于这些感测电流的多个验证位。然后,内存管理电路702会计算属于第一状态的验证位的第一个数。此第一个数是用以决定随机数的N个数值中的第一个数值。然后,内存管理电路702会判断此第一个数是否足以产生随机数。在此范例实施例中,由于还需要N-1个数值,因此内存管理电路702会判断此第一个数不足以产生随机数,并且内存管理电路702会再次根据第一读取电压或与第一读取电压不相同的第二读取电压来读取这些存储单元或者与其他的存储单元,以重新取得多个感测电流以及对应于这些感测电流的多个验证位,并计算属于第一状态的验证位的个数。为方便说明,以下将第二次以后取得的属于第一状态的验证位的个数都称为第二个数。在重复读取这些存储单元N次后,内存管理电路702会取得1个第一个数与N-1个第二个数。此N-1个第二个数是用以决定随机数的N个数值中的第一个数值之后的N-1个数值。此时,内存管理电路702会判定所取得的第一个数与第二个数已足以产生所需的随机数。然后,内存管理电路702会根据此第一个数与此N-1个第二个数来产生随机数。
以N=2为例,在取得一个第一个数与一个第二个数之后,内存管理电路702会取得用以表示第一个数的第一数字码以及用以表示第二个数的第二数字码。例如,第一数字码与第二数字码分别是由至少一个2进位、10进位或16进位的数值组成。内存管理电路702会取得此第一数字码在第一位置上的第一数值,并取得第二数字码在第二位置上的第二数值。然后,内存管理电路702会根据此第一数值与此第二数值来产生随机数。以16进位为例,假设第一个数是57个,并且第二个数是52个,则第一数字码是“39”,并且第二数字码是“34”。内存管理电路702可以取第一数字码从右边数来第P个位置上的数值,作为第一数值,并且取第二数字码同样从右边数来第P个位置上的数值,作为第二数值,其中P为正整数。若以P=1为例,则第一数值是“9”,第二数值是“4”,并且内存管理电路702会根据“9”与“4”产生随机数。例如,内存管理电路702可以将“9”与“4”依序设定为随机数的2个数值,而产生的随机数为“94”。在此实施例中,第一位置与第二位置是相同的。但是,在另一实施例中,第一位置与第二位置则是不相同的。例如,在另一实施例中,内存管理电路702是取第一数字码从右边数来第P个位置上的数值,作为第一数值,并且取第二数字码同样从右边数来第Q个位置上的数值,作为第二数值。以P=1且Q=2为例,则第一数值例如是“9”,第二数值例如是“3”,并且所产生的随机数例如是“93”。此外,在另一实施例中,用来产生随机数的默认规则还可以是对第一数字码与第二数字码作包括OR、XOR、AND及NAND等各种逻辑运算,本发明不对其限制。因而,不管所需的随机数的长度与型态如何变化,内存管理电路702都可以适应性地产生没有规律且无法预测的随机数。
图11是本发明一实施例所示出的随机数产生方法的流程图。该方法的执行主体为内存管理电路702。
请参照图11,该方法具体包括如下步骤:
步骤1102、将一数据写入至多个存储单元。
该多个存储单元可以为可复写式非易失性内存模块106所包括的存储单元。
步骤1104、重复以一第一读取电压来读取这些存储单元的至少其中之一,以取得对应的多个感测电流。
步骤1106、根据这些感测电流产生至少一随机数。
图12是本发明另一实施例所示出的随机数产生方法的流程图。该方法的执行主体为内存管理电路702。
请参照图12,该方法具体包括如下步骤:
步骤1202、根据一读取电压读取多个存储单元。
该读取电压可以是上述第一读取电压或异于第一读取电压的第二读取电压。该多个存储单元可以为该可复写式非易失性内存模块106所包括的存储单元。
步骤1204、计算属于第一状态的验证位的个数。
此个数可以是上述第一个数或上述第二个数。
步骤1206、判断该个数是否足以产生随机数。
若内存管理电路702判断该个数足以产生随机数,则执行步骤1208;若内存管理电路702判断该个数仍不足以产生随机数,则内存管理电路702会重复执行步骤1202至步骤1206。
步骤1208、根据所获得的个数产生随机数。
举例来说,假设内存管理电路702是根据N个数值来产生随机数,若内存管理电路702已获得1个第一个数与N-1个第二个数,则在步骤S1206中,内存管理电路702会判断此1个第一个数与N-1个第二个数已经足以产生随机数,并且在步骤S1206之后接续执行步骤S1208。然而,若内存管理电路702仅获得1个第一个数与少于N-1个的第二个数,则表示还需要至少一个第二个数才能产生随机数。因此,在步骤S1206中,内存管理电路702会判断此1个第一个数与少于N-1个的第二个数仍不足以产生随机数,并且在步骤S1206之后重复执行步骤S1202至步骤S1206,直到获得1个第一个数与N-1个第二个数为止。
值得一提的是,图11与图12中各步骤实际可以作为多个程序代码或是电路,本发明并不在此限。此外,图11与图12的方法可以搭配以上实施例使用,也可以单独使用,本发明并不在此限。
值得一提的是,尽管在本实施例中内存管理电路202是处于在内存控制电路单元104中,但本发明不限于此。在本发明另一实施例中,内存管理电路202亦可处于可复写式非易失性内存模块106的控制电路2212中,并通过一接口电性连接至可复写式非易失性内存模块106的存储单元数组2202。
综上所述,本发明提供的随机数产生方法、内存存储装置及控制电路,可利用相对于默认读取电压而较不稳定的第一读取电压来读取一个或多个存储单元,以取得对应于这些第一存储单元的多个感测电流,并且根据所取得的感测电流来产生随机数。此外,本发明提供的随机数产生方法、内存存储装置及控制电路,还可更进一步取得对应于这些感测电流的多个识别位,并且根据属于第一状态的识别位的个数来产生随机数,使得所产生的随机数不具有规律性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (21)
1.一种随机数产生方法,用于可复写式非易失性内存模块,其特征在于,该可复写式非易失性内存模块包括多个存储单元,该随机数产生方法包括:
将一数据写入至该些存储单元;
重复以一第一读取电压来读取该些存储单元的至少其中之一,以取得多个感测电流;以及
根据该些感测电流产生至少一随机数。
2.根据权利要求1所述的随机数产生方法,其特征在于,所述重复以一第一读取电压来读取该些存储单元的至少其中之一,以取得多个感测电流包括:
根据一默认读取电压设定该第一读取电压;以及
重复以该第一读取电压来读取该些存储单元中的一第一存储单元,以取得该些感测电流中对应于该第一存储单元的一第一感测电流以及一第二感测电流。
3.根据权利要求2所述的随机数产生方法,其特征在于,所述重复以该默认读取电压读取该些存储单元的至少其中之一所得到的多个感测电流中任二者的差异,小于以该第一读取电压读取该些存储单元的至少其中之一所得到的多个感测电流中任二者的差异。
4.根据权利要求1所述的随机数产生方法,其特征在于,所述重复以该第一读取电压来读取该些存储单元的至少其中之一,以取得多个感测电流包括:
调整该些存储单元中与该些存储单元中的一第一存储单元属于同一比特线的至少一第二存储单元的导通电压;以及
重复以该第一读取电压来读取该第一存储单元,以取得对应于该第一存储单元的一第一感测电流以及一第二感测电流。
5.根据权利要求1所述的随机数产生方法,其特征在于,所述根据该些感测电流产生至少一随机数包括:
取得对应于该些感测电流的多个验证位,并判断每一验证位是属于第一状态或第二状态;
计算属于该第一状态的验证位的第一个数;以及
根据该第一个数产生该至少一随机数。
6.根据权利要求5所述的随机数产生方法,其特征在于,所述判断每一验证位是属于第一状态或第二状态包括:
将具有第一值的验证位判定为属于该第一状态的验证位;以及
将具有第二值的验证位判定为属于该第二状态的验证位,其中该第一值与该第二值不相同。
7.根据权利要求5所述的随机数产生方法,其特征在于,所述判断每一验证位是属于第一状态或第二状态包括:
根据该数据的错误更正码对该些验证位执行错误检查与校正程序,以取得该些验证位中的多个错误位;以及
判定该些错误位为属于该第一状态的验证位。
8.一种内存存储装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机系统;
一可复写式非易失性内存模块,包括多个存储单元;以及
一内存控制电路单元,电性连接至该连接接口单元与该可复写式非易失性内存模块,
其中该内存控制电路单元用以将一数据写入至该些存储单元,
该内存控制电路单元还用以重复以一第一读取电压来读取该些存储单元的至少其中之一,以取得多个感测电流,
该内存控制电路单元还用以根据该些感测电流产生至少一随机数。
9.根据权利要求8所述的内存存储装置,其特征在于,该内存控制电路单元还用以根据一默认读取电压设定该第一读取电压;以及
重复以该第一读取电压来读取该些存储单元中的一第一存储单元,以取得该些感测电流中对应于该第一存储单元的一第一感测电流以及一第二感测电流。
10.根据权利要求9所述的内存存储装置,其特征在于,所述重复以该默认读取电压读取该些存储单元的至少其中之一所得到的多个感测电流中任二者的差异,小于以该第一读取电压读取该些存储单元的至少其中之一所得到的多个感测电流中任二者的差异。
11.根据权利要求8所述的内存存储装置,其特征在于,该内存控制电路单元还用以调整该些存储单元中与该些存储单元中的一第一存储单元属于同一比特线的至少一第二存储单元的导通电压;以及
重复以该第一读取电压来读取该第一存储单元,以取得对应于该第一存储单元的一第一感测电流以及一第二感测电流。
12.根据权利要求8所述的内存存储装置,其特征在于,该内存控制电路单元还用以取得对应于该些感测电流的多个验证位,并判断每一验证位是属于第一状态或第二状态;
计算属于该第一状态的验证位的第一个数;以及
根据该第一个数产生该至少一随机数。
13.根据权利要求12所述的内存存储装置,其特征在于,该内存控制电路单元还用以将具有第一值的验证位判定为属于该第一状态的验证位;以及
将具有第二值的验证位判定为属于该第二状态的验证位,其中该第一值与该第二值不相同。
14.根据权利要求12所述的内存存储装置,其特征在于,该内存控制电路单元还用以根据该数据的错误更正码对该些验证位执行错误检查与校正程序,以取得该些验证位中的多个错误位;以及
判定该些错误位为属于该第一状态的验证位。
15.一种控制电路,用于控制可复写式非易失性内存模块,该可复写式非易失性内存模块包括多个存储单元,其特征在于,该控制电路包括:
一接口,用以电性连接该些存储单元、多条字符线与多条比特线,其中每一存储单元与该些字符线的其中一条字符线以及该些比特线的其中一条比特线电性连接;以及
一内存管理电路,用以电性连接至该接口,并且将一数据写入至该些存储单元,
其中该内存管理电路还用以重复以一第一读取电压来读取该些存储单元的至少其中之一,以取得多个感测电流,
该内存管理电路还用以根据该些感测电流产生至少一随机数。
16.根据权利要求15所述的控制电路,其特征在于,该内存管理电路还用以根据一默认读取电压设定该第一读取电压;以及
重复以该第一读取电压来读取该些存储单元中的一第一存储单元,以取得该些感测电流中对应于该第一存储单元的一第一感测电流以及一第二感测电流。
17.根据权利要求16所述的控制电路,其特征在于,该重复以该默认读取电压读取该些存储单元的至少其中之一所得到的多个感测电流中任二者的差异,小于以该第一读取电压读取该些存储单元的至少其中之一所得到的多个感测电流中任二者的差异。
18.根据权利要求15所述的控制电路,其特征在于,该内存管理电路还用以调整该些存储单元中与该些存储单元中的一第一存储单元属于同一比特线的至少一第二存储单元的导通电压;以及
重复以该第一读取电压来读取该第一存储单元,以取得对应于该第一存储单元的一第一感测电流以及一第二感测电流。
19.根据权利要求15所述的控制电路,其特征在于,该内存管理电路还用以取得对应于该些感测电流的多个验证位,并判断每一验证位是属于第一状态或第二状态;
计算属于该第一状态的验证位的第一个数;以及
根据该第一个数产生该至少一随机数。
20.根据权利要求19所述的控制电路,其特征在于,该内存管理电路还用以将具有第一值的验证位判定为属于该第一状态的验证位;以及
将具有第二值的验证位判定为属于该第二状态的验证位,其中该第一值与该第二值不相同。
21.根据权利要求19所述的控制电路,其特征在于,该内存管理电路还用以根据该数据的错误更正码对该些验证位执行错误检查与校正程序,以取得该些验证位中的多个错误位;以及
判定该些错误位为属于该第一状态的验证位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410021256.0A CN104795102B (zh) | 2014-01-17 | 2014-01-17 | 随机数产生方法、存储器存储装置及控制电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410021256.0A CN104795102B (zh) | 2014-01-17 | 2014-01-17 | 随机数产生方法、存储器存储装置及控制电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104795102A true CN104795102A (zh) | 2015-07-22 |
CN104795102B CN104795102B (zh) | 2019-04-23 |
Family
ID=53559856
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410021256.0A Active CN104795102B (zh) | 2014-01-17 | 2014-01-17 | 随机数产生方法、存储器存储装置及控制电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104795102B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325061A (zh) * | 2018-08-24 | 2019-02-12 | 北京天元创新科技有限公司 | 一种基于概率分布的异常数据处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020128928A1 (en) * | 2001-03-09 | 2002-09-12 | Hiroshi Sukegawa | Music distribution method for distributing production such as music, server used for said music distribution method, and music reproduction apparatus |
US20090165086A1 (en) * | 2007-12-21 | 2009-06-25 | Spansion Llc | Random number generation through use of memory cell activity |
CN102073476A (zh) * | 2009-11-24 | 2011-05-25 | 索尼公司 | 随机数生成装置、随机数生成方法以及安全芯片 |
-
2014
- 2014-01-17 CN CN201410021256.0A patent/CN104795102B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020128928A1 (en) * | 2001-03-09 | 2002-09-12 | Hiroshi Sukegawa | Music distribution method for distributing production such as music, server used for said music distribution method, and music reproduction apparatus |
US20090165086A1 (en) * | 2007-12-21 | 2009-06-25 | Spansion Llc | Random number generation through use of memory cell activity |
CN102073476A (zh) * | 2009-11-24 | 2011-05-25 | 索尼公司 | 随机数生成装置、随机数生成方法以及安全芯片 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109325061A (zh) * | 2018-08-24 | 2019-02-12 | 北京天元创新科技有限公司 | 一种基于概率分布的异常数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104795102B (zh) | 2019-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9465584B2 (en) | Method for generating random number, memory storage device and control circuit | |
US9257204B2 (en) | Read voltage setting method, and control circuit, and memory storage apparatus using the same | |
KR101975406B1 (ko) | 비휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템 및 그것의 메모리 블록 관리, 소거, 및 프로그램 방법들 | |
US9019770B2 (en) | Data reading method, and control circuit, memory module and memory storage apparatus and memory module using the same | |
US9703698B2 (en) | Data writing method, memory controller and memory storage apparatus | |
US9147483B2 (en) | Apparatus and method of operating memory device | |
KR20120058694A (ko) | 플래시 메모리 장치 및 그것의 읽기 방법 | |
KR20190020880A (ko) | 메모리 장치 및 그 동작 방법 | |
US10373689B2 (en) | Semiconductor memory device and method of operating the same | |
US20170025183A1 (en) | Semiconductor memory device and operating method thereof | |
CN104601178A (zh) | 解码方法、解码电路、存储器存储装置与控制电路单元 | |
CN105468292A (zh) | 数据存取方法、存储器储存装置及存储器控制电路单元 | |
CN103870399A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
KR20190033791A (ko) | 컨트롤러, 반도체 메모리 장치 및 이들을 포함하는 메모리 시스템 | |
KR20170052034A (ko) | 반도체 메모리 장치 및 그것의 동작 방법 | |
KR20190074890A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN105022674A (zh) | 解码方法、存储器存储装置、存储器控制电路单元 | |
CN104733051A (zh) | 奇偶校验码的解码方法、存储器储存装置及控制电路单元 | |
CN104424045A (zh) | 解码方法、存储器储存装置与非易失性存储器模块 | |
US10074439B2 (en) | Modeling method of threshold voltage distributions | |
US8830750B1 (en) | Data reading method, and control circuit, memory module and memory storage apparatus using the same | |
US20140050024A1 (en) | Data reading method, and circuit, rewritable non-volatile memory module and memory storage apparatus using the same | |
CN104679441A (zh) | 时间估测方法、存储器存储装置、存储器控制电路单元 | |
CN104778975A (zh) | 译码方法、存储器存储装置、存储器控制电路单元 | |
KR20180051984A (ko) | 반도체 메모리 장치 및 그것의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |