闪存的控制器及控制方法与流程

文档序号:18475008发布日期:2019-08-20 20:54阅读:128来源:国知局
本发明是关于一种闪存,尤指一种控制闪存的控制器及控制方法。
背景技术
::由于电子产品蓬勃发展,驱使消费者对储存媒体的需求随而增加。由于可覆写式非挥发性内存(rewritablenon-volatilememory)具有可重复写入数据、读写数据速度快、数据非挥发性、省电与体积小等特性,因此可覆写式非挥发性内存最适合作为电子产品的储存媒体,尤其是闪存(flashmemory)。一般而言,部分闪存的一些储存区在出厂时就已经损坏,虽然数据仍然可以写入至该些损坏储存区,但是从该些损坏储存区读取出的数据并不同于原先数据,其表示该些损坏储存区无法正常储存数据。因此,当写入数据至闪存时,当然需写入数据至闪存的未损坏储存区而并不需写入数据至损坏储存区。在现有技术,写入数据至闪存的未损坏储存区时,亦会写入固定的常数至损坏储存区,其表示写入相同的值至各损坏储存区,此数笔固定的常数是无效数据,而写入至未损坏储存区的数据为有效数据。写入数据至闪存是藉由电压改变闪存的储存元件的储存状态,此电压是藉由充电电路进行充电而产生,写入的数据不同,充电电路所产生的电压就会不同。在现有技术,以充电电路进行充电而写入一常数至损坏储存区时,充电电路的充电过程会因耦合效应而干扰邻近损坏储存区的未损坏储存区的储存元件,且此干扰可能会影响未损坏储存区的储存元件的储存状态,其表示未损坏储存区所储存的有效数据可能发生错误,如此即降低闪存的可靠度。换句话说,在多次写入固定的常数至复数损坏储存区的充电期间,若写入此固定的常数所对应的充电过程对邻近的未损坏储存区的储存元件有较大耦合干扰,如此多次写入此固定的常数至复数损坏储存区时,邻近的未损坏储存区的储存电压因受多次的较大耦合干扰即容易产生电压偏移的现象,如此未损坏储存区所储存的数据将可能被改变成非原储存数据。此外,若未损坏储存区位于两个损坏储存区之间,由于此两个损坏储存区被写入固定常数(无效数据),所以此两个损坏储存区的充电电路的充电过程皆会影响位于两者之间的未损坏储存区的储存元件,而提升此未损坏储存区所储存的有效数据的错误率,在这样情况下,即会把此未损坏储存区列为损坏储存区,如此即会减少闪存的可用储存空间。另外,基于某些需求下,例如便于管理闪存的需求,闪存具有一些未利用储存区,此未利用储存区不储存有效数据。于现有技术,当写入有效数据至闪存时,有效数据即不会写入至此未利用储存区,但是系统会内定写入固定常数的无效数据至此未利用储存区。一般而言,未利用储存区邻近于可利用储存区。当邻近于未利用储存区的可利用储存区并未损坏时,有效数据即会被写入至此可利用储存区。然而,以充电电路进行充电而写入固定常数(无效数据)至未利用储存区时,充电电路的充电过程会干扰邻近的可利用储存区的储存元件,且此干扰可能会影响可利用储存区的储存元件的储存状态,其表示可利用储存区所储存的有效数据即可能错误,如此即降低闪存的可靠度。基于上述问题,本发明提供一种闪存的控制器及控制方法,其可降低损坏储存区对未损坏储存区的干扰,以及降低未利用储存区对未损坏储存区的干扰,如此可提高闪存的可靠度以及提高闪存的可用储存空间。技术实现要素:本发明的一目的,在于提供一种闪存的控制器及控制方法,其可写入并非为固定常数的无效数据至损坏储存区,以可降低损坏储存区对未损坏储存区的干扰,如此可提高闪存的可靠度以及可用储存空间。本发明的一目的,在于提供一种闪存的控制器及控制方法,其可写入并非为固定常数的无效数据至未利用储存区,以可降低未利用储存区对未损坏储存区的干扰,如此可提高闪存的可靠度。本发明揭示一种闪存的控制器,其包含一扰乱电路以及一控制电路。扰乱电路接收至少一输入数据,并扰乱输入数据而产生至少一有效数据;控制电路接收至少一无效数据与扰乱电路产生的该至少一有效数据,该至少一无效数据并非为一固定常数,控制电路写入该至少一有效数据至闪存的至少一有效储存区,以及写入该至少一无效数据至闪存的至少一无效储存区。本发明揭示一种闪存的控制方法,其包含接收至少一输入数据;扰乱该至少一输入数据而产生至少一有效数据;提供至少一无效数据,该至少一无效数据并非为一固定常数;写入该至少一有效数据至闪存的至少一有效储存区;以及写入该至少一无效数据至闪存的至少一无效储存区。实施本发明产生的有益效果是:本发明可降低损坏储存区对未损坏储存区的干扰,以及降低未利用储存区对未损坏储存区的干扰,如此可提高闪存的可靠度以及提高闪存的可用储存空间。附图说明图1为本发明的闪存的控制器的一实施例的方块图;图2为本发明的闪存的一实施例的示意图;图3为本发明的闪存的一储存页的一实施例的示意图;图4a为本发明的闪存的储存页尚未被写入数据的一实施例的示意图;图4b为图4a的储存页被写入数据的示意图;图5a为本发明的闪存的储存页尚未被写入数据的另一实施例的示意图;以及图5b为图5a的储存页被写入数据的示意图。【图号对照说明】5主机10闪存101储存区块20控制器21主机接口22缓冲器23控制电路24选择电路25扰乱电路26闪存接口27储存单元28数据筛选单元29解扰乱电路p1~pn储存页c11~c1m储存栏c21~c25储存栏c31~c35储存栏具体实施方式为了使本发明的架构特征及所达成的功效有更进一步的了解与认识,特用实施例及配合详细的说明,说明如下:在说明书及后续的权利要求范围当中使用了某些词汇指称特定的元件。所属本发明
技术领域
:的技术人员应可理解,硬件制造商可能会用不同的名词称呼同一个元件。本说明书及后续的权利要求范围并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准则。在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。以外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述一第一装置耦接一第二装置,则代表该第一装置可直接电气连接该第二装置,或可透过其他装置或其他连接手段间接地电气连接至该第二装置。请参阅图1,其为本发明的闪存的控制器的一实施例的方块图。如图所示,本发明揭示一控制器20,其耦接一闪存10,以控制闪存10,控制器20更耦接一主机5,控制器20可接收主机5所传送的数据,并可以写入数据至闪存10,以储存主机5所传送的数据于闪存10,控制器20也可以从闪存10读取数据并传送所读取的数据至主机5。上述的主机5为可与控制器20相配合,以储存数据至闪存10的任意电子装置,例如计算机系统、移动电话、数字相机、音频播放器或者视讯播放器等。上述主机5传送至控制器20而欲储存至闪存10的数据为输入数据。本发明的控制器20欲储存至少一输入数据至闪存10时,控制器20扰乱该至少一输入数据而产生至少一有效数据,并写入该至少一有效数据至闪存10的可利用的至少一未损坏储存区,且分别写入至少一无效数据至闪存10的至少一损坏储存区与至少一未利用储存区,无效数据并非为固定常数,非固定常数表示写入至各损坏储存区与各未利用储存区的无效数据并不相同。由于有效数据储存至可利用的未损坏储存区,而不会储存至损坏储存区与未利用储存区,因此可利用的未损坏储存区为有效储存区,而损坏储存区与未利用储存区为无效储存区。由于控制器20写入有效数据至有效储存区的过程,控制器20亦写入非固定常数的无效数据至无效储存区,如此可降低无效储存区对邻近的有效储存区的耦合干扰(电容耦合效应或讯号传导干扰),因此可提高闪存10的可靠度以及可利用的储存空间。以下详细说明控制器20的架构与运作。如图1所示,本发明的控制器20包含一主机接口21、一缓冲器22、一控制电路23、一选择电路24、一扰乱电路25与一闪存接口26。主机接口21耦接主机5,主机5传送输入数据与命令至主机接口21。上述主机5透过主机接口21传送输入数据至控制器20,其目的是透过控制器20储存此输入数据于闪存10。主机接口21更耦接缓冲器22与控制电路23,主机接口21传送命令至控制电路23。于本实施例中,命令可为写入命令或者为读取命令。控制电路23依据命令即可得知主机5欲要写入输入数据至闪存10或者从闪存10读取数据。此外,主机接口21传送输入数据至缓冲器22,缓冲器22用于缓冲输入数据。缓冲器22更耦接选择电路24,并传送输入数据至选择电路24。由上述可知,主机接口21传送主机5的命令至控制电路23,且提供主机5所传送的输入数据至选择电路24。此外,选择电路24更接收一参考数据,选择电路24更耦接控制电路23,控制电路23控制选择电路24选择参考数据或者主机5的输入数据,而输出参考数据或者此输入数据。于本发明的一实施例中,选择电路24可为一复用器(multiplexer),及参考数据可为固定的常数数据,例如一笔参考数据可以为ff或aa(以16进制而言),如此即表示参考数据的每一个字节(byte)为固定f或a的常数数据。换句话说,实施例中的固定常数可以表示每一笔数据内的每一个字节的数值皆相同。复参阅图1,扰乱电路25耦接选择电路24,而接收选择电路24所输出的输入数据与参考数据,并扰乱输入数据而产生有效数据,且更可扰乱参考数据而产生无效数据。参考数据经扰乱后为非固定常数的无效数据,例如,非固定常数可以为f1或a2;同理,每一笔输入数据经由扰乱电路25扰乱后而为不同数值的有效数据(非固定常数),以可降低每笔有效数据于写入闪存10的充电期间相互耦合干扰。于本发明的一实施例中,扰乱电路25具有默认的至少一扰乱参数,扰乱电路25运用扰乱参数对输入数据进行逻辑运算,以扰乱输入数据而产生有效数据。此外,扰乱电路25可以具有复数扰乱参数,而使非固定常数的无效数据的数值与有效数据的数值有所差异,或完全不同于有效数据的数值。由上述说明可知,缓冲器22缓冲输入数据,以可透过选择电路24提供输入数据至扰乱电路25。于本发明的一实施例中,上述的逻辑运算可以是互斥(xor)运算或是其他算法,但并非限制扰乱电路25仅能进行互斥运算扰乱输入数据而产生有效数据。于本发明的另一实施例中,扰乱电路25可为一随机数生成电路。此外,扰乱电路25运用上述的方式扰乱参考数据而产生无效数据。于本发明的一实施例中,扰乱电路25可具有复数扰乱参数,且该些扰乱参数并非相同,因此扰乱电路25可运用不同扰乱参数而扰乱参考数据,以产生并非固定常数的无效数据。扰乱电路25更耦接控制电路23,而传送有效数据与无效数据至控制电路23。复参阅图1,闪存接口26耦接于控制电路23与闪存10之间。控制电路23接收扰乱电路25所产生的有效数据与无效数据,并传输有效数据与无效数据至闪存接口26,以写入有效数据至有效储存区,且写入无效数据至无效储存区。控制器20储存输入数据至闪存10时,控制电路23会从闪存10的一地址开始写入数据至储存区,此地址可预先设定于控制器20。控制电路23写入有效数据至有效储存区,若有效储存区邻近的储存区为无效储存区(损坏储存区或者未利用储存区),控制电路23则会写入非固定常数的无效数据至无效储存区,如此可降低无效储存区对邻近的有效储存区的耦合干扰,因此可提高闪存的可靠度以及可利用的储存空间。于本发明的一实施例中,可预先检测闪存10,以得知闪存10的各储存区的状态,而得知哪些储存区为损坏储存区,控制器20可预先纪录损坏储存区的位置信息与未利用储存区的位置信息,因此控制电路23可预先得知无效储存区的位置信息,即可预先得知有效储存区是否相邻无效储存区。控制电路23即可依据无效储存区的位置信息控制选择电路24选择参考数据,而输出参考数据至扰乱电路25,以产生无效数据并提供至控制电路23,以写入无效数据(非固定常数)至无效储存区。同理,控制器20可预先纪录有效储存区的位置信息,控制电路23即可依据有效储存区的位置信息控制选择电路24选择输入数据,而输出该输入数据至扰乱电路25,以产生有效数据并提供至控制电路23,以写入有效数据至有效储存区。于此实施例,控制器20更可包含一储存单元27,其可储存无效储存区的位置信息、有效储存区的位置信息与参考数据。储存单元27耦接选择电路24,以提供参考数据至选择电路24。此外,储存单元27耦接控制电路23,以提供无效储存区的位置信息或者有效储存区的位置信息至控制电路23。复参阅图1,控制器20更可包含一数据筛选单元28与一解扰乱电路29。数据筛选单元28耦接控制电路23与解扰乱电路29。解扰乱电路29更耦接缓冲器22。当控制电路23接收主机5的读取命令时,控制电路23即会经由闪存接口26从闪存10读取一数据序列。由于闪存10包含有效储存区与无效储存区,因此数据序列包含有效数据与无效数据,其中有效数据为用户欲储存的数据,而无效数据非为用户欲储存的数据。控制电路23传输此数据序列至数据筛选单元28。数据筛选单元28接收数据序列,并从数据序列筛选出有效数据,以传输有效数据至解扰乱电路29。于本发明的一实施例中,数据筛选单元28依据无效储存区的位置信息从数据序列中筛选掉无效数据,而筛选出有效数据。数据筛选单元28更可耦接储存单元27,以得知无效储存区的位置信息。此外,数据筛选单元28可依据有效储存区的位置信息从数据序列中筛选出有效数据。数据筛选单元28可从储存单元27得知有效储存区的位置信息。解扰乱电路29接收数据筛选单元28输出的有效数据,并解扰乱有效数据,而产生至少一输出数据。于本发明的一实施例中,解扰乱电路29具有解扰乱参数,此解扰乱参数相同于扰乱电路25的扰乱参数,以对有效数据进行运算,以解扰乱有效数据而产生输出数据,如此输出数据即可相同于输入数据。解扰乱电路29传送输出数据至缓冲器22,缓冲器22缓冲输出数据并提供输出数据至主机接口21,以传送输出数据至主机5。请参阅图2,其为本发明的闪存的一实施例的示意图。如图所示,闪存10具有至少一储存区块(block)101,而储存区块101具有复数储存页(page)p1~pn。每一储存页p1~pn分别具有复数储存栏(column),如图3所示,第一储存页p1具有复数储存栏c11~c1m。于本发明的一实施例中,控制电路23写入数据至闪存10的最小单位为一个储存栏,但并非仅限于此。此外,一个储存栏的储存空间至少有一个字节(byte)。控制电路23写入数据至闪存10时,基本上,控制电路23从一地址开始依序写入数据至闪存10,例如控制电路23从第一储存页p1的第一储存栏c11开始依序写入数据至闪存10。于本发明的一实施例中,每一个储存栏即为一个储存区。若储存栏的状态为损坏或者未利用,其表示此储存栏为无效储存区;若储存栏的状态为未损坏且可利用,其表示此储存栏为有效储存区。以下举例说明控制器20写入数据至闪存10的规则。请参阅图4a,其为本发明的闪存10的储存页尚未被写入数据的一实施例的示意图。如图所示,第一储存页p1具有五个储存栏c11~c15,其中第三储存栏c13与第五储存栏c15已损坏而为损坏储存区(无效储存区),其余储存栏c11、c12、c14并未损坏而为未损坏储存区(有效储存区)。当控制器20从第一储存页p1的第一储存栏c11开始写入有效数据至第一储存页p1时,由于第一储存栏c11并非为无效储存区,所以控制电路23控制选择电路24选择主机5的输入数据,选择电路24并输出此输入数据至扰乱电路25,以产生有效数据。如图4b所示,控制电路23写入有效数据至第一储存栏c11。接续,由于第二储存栏c12也是有效储存区,如图4b所示,控制电路23接续写入下一笔有效数据至第二储存栏c12。接着,由于第三储存栏c13为损坏储存区(无效储存区),所以控制电路23控制选择电路24选择参考数据,并输出此参考数据至扰乱电路25,以产生无效数据(非固定常数),如图4b所示,控制电路23写入无效数据至第三储存栏c13。接续,因为第四储存栏c14为有效储存区,所以控制电路23控制选择电路24输出主机5的输入数据至扰乱电路25,以产生有效数据,如图4b所示,控制电路23写入有效数据至第四储存栏c14。由于第五储存栏c15是损坏储存区(无效储存区),所以控制电路23控制选择电路24输出参考数据至扰乱电路25,以产生无效数据,如图4b所示,控制电路23写入无效数据至第五储存栏c15。由上述说明可知,控制电路23依据储存区的状态控制选择电路24选择输入数据或者参考数据,其表示选择电路24依据储存区的状态输出该输入数据或者参考数据至扰乱电路25,以产生有效数据或者无效数据,如此控制电路23即可依据储存区的状态储存有效数据至有效储存区,并储存无效数据至邻近于有效储存区的无效储存区。由于扰乱电路25产生的无效数据并非为固定常数,所以写入至第三储存栏c13的无效数据并不同于写入至第五储存栏c15的无效数据。如此,即可降低对应于第三储存栏c13与第五储存栏c15的充电电路的充电对邻近的第一储存栏c11、第二储存栏c12与第四储存栏c14的耦合干扰,而提高第一储存栏c11、第二储存栏c12与第四储存栏c14于储存状态上的可靠度。举例来说,写入16进制的ff、00数据至闪存10所对应的电压准位分别为最低电压准位与最高电压准位,而有效储存区(例如第一储存栏c11)原储存有效数据为aa。在现有技术中,多次写入固定数值的无效数据至复数无效储存区(例如第三储存栏c13及第五储存栏c15)的充电过程中,假若无效数据为ff,则固定数值的无效数据ff所对应的电压会持续拉低邻近有效储存区的电压;假若无效数据为00,则固定数值的无效数据00所对应的电压会持续拉高邻近有效储存区的电压。由于,本发明的控制器20写入不同数值的无效数据至每一无效储存区,所以可以降低写入无效数据至无效储存区所对应的充电对邻近有效储存区的储存元件耦合干扰的程度。同理,当每一有效储存区写入不同的有效数据时,亦可以降低有效储存区之间的耦合干扰,以此类推,每一储存页p1-pn之间的耦合干扰也可获得改善。此外,由于降低第三储存栏c13与第五储存栏c15分别对第四储存栏c14的干扰,所以可以降低储存于第四储存栏c14的数据的错误率,因此第四储存栏c14即可用于储存有效数据。其表示运用本发明的控制器20与控制方法控制闪存10,位于两损坏储存区(c13、c15)之间的未损坏储存区(c14)可以作为有效储存区,以储存有效数据,而不同于习用技术将位于两损坏储存区之间的未损坏区作为无效储存区,而不储存有效数据,因此本发明的控制器20与控制方法相较于习用技术下,本发明的控制器20与控制方法可以提高闪存10的可用储存空间。请参阅图5a,其为本发明的闪存10的储存页尚未被写入数据的另一实施例的示意图。如图所示,第二储存页p2具有五个储存栏c21~c25,第三储存页p3同样具有五个储存栏c31~c35,其中储存栏c22、c24、c32、c33、c34已损坏而为损坏储存区(无效储存区),储存栏c21、c23、c31、c35并未损坏而为未损坏储存区(有效储存区)。此实施例中,第三储存页p3仅有储存栏c31、c35为未损坏储存区,其表示第三储存页p3仅有两个有效储存区可以储存有效数据。为了便于管理闪存10的储存空间,管理者会设定相邻的两储存页的有效储存容量相同。于此实施例中,预设第二储存页p2的第五个储存栏c25为未利用储存区(无效储存区)而不储存有效数据,以使得相邻的第二储存页p2与第三储存页p3具有相同数量的有效储存区(2个有效储存区),即让第二储存页p2的有效储存容量相同于第三储存页p3的有效储存容量。如图5b所示,由于储存栏c22、c24、c25、c32、c33、c34为无效储存区而不储存有效数据,所以控制电路23写入无效数据至该些储存栏c22、c24、c25、c32、c33、c34,而写入有效数据至储存栏c21、c23、c31、c35。复参阅图1,于本发明的一实施例中,控制器20可以预先储存至少一无效数据,且该至少一无效数据并非为固定常数,以提供给控制电路23,例如该些无效数据储存于储存单元27,如此控制器20可不需要选择电路24选择参考数据,控制电路23可写入储存单元27所提供的无效数据至无效储存区,而缓冲器22可直接提供该至少一输入数据至扰乱电路25。综上所述,本发明的闪存的控制器及控制方法提供至少一无效数据,该至少一无效数据并非为固定常数,当执行写入主机传送的至少一输入数据至闪存的作业时,扰乱该至少一输入数据而产生至少一有效数据,并写入该至少一有效数据至闪存的至少一有效储存区,且写入该至少一无效数据至有效储存区所邻近的至少一无效储存区。如此可以降低无效储存区对有效储存区的干扰,而可以提高闪存的可靠度以及可用的储存空间。上文仅为本发明的实施例而已,并非用来限定本发明实施的范围,凡依本发明权利要求范围所述的架构、特征及精神所为的均等变化与修饰,均应包括于本发明的权利要求范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1