CN101908378A - 闪存的控制器以及于闪存存取数据的方法 - Google Patents

闪存的控制器以及于闪存存取数据的方法 Download PDF

Info

Publication number
CN101908378A
CN101908378A CN 200910168024 CN200910168024A CN101908378A CN 101908378 A CN101908378 A CN 101908378A CN 200910168024 CN200910168024 CN 200910168024 CN 200910168024 A CN200910168024 A CN 200910168024A CN 101908378 A CN101908378 A CN 101908378A
Authority
CN
China
Prior art keywords
data
mapping
enum
flash memory
cross correlation
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
Application number
CN 200910168024
Other languages
English (en)
Other versions
CN101908378B (zh
Inventor
杨宗杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huirong Technology (Shenzhen) Co.,Ltd.
Silicon Motion Inc
Original Assignee
Silicon Motion Shenzhen Inc
Silicon Motion Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Silicon Motion Shenzhen Inc, Silicon Motion Inc filed Critical Silicon Motion Shenzhen Inc
Publication of CN101908378A publication Critical patent/CN101908378A/zh
Application granted granted Critical
Publication of CN101908378B publication Critical patent/CN101908378B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种闪存的控制器,其包括一选择性映像器以及一错误修正码编码器;该选择性映像器接收一第一原始数据,依据多个随机序列分别处理该第一原始数据以产生多个第一映射数据,分别计算该等第一映射数据与一前次数据之多个互相关值,依据该等互相关值自该等第一映射数据中选取一最佳映射数据,并依据该最佳映射数据产生一输出映射数据;该错误修正码编码器依据该输出映射数据编码一第一错误修正码,以供储存于该闪存中。本发明还涉及一种于闪存存取数据的方法。本发明可通过改变储存于闪存中的数据的相关性,降低写入/读取数据的干扰,从而增进闪存所储存的数据的稳定度。

Description

闪存的控制器以及于闪存存取数据的方法
技术领域
本发明涉及数据通信技术领域,更具体地说,涉及一种闪存的控制器以及于闪存存取数据的方法。
背景技术
闪存为一种可由电编程及清除其数据的非挥发性内存。闪存主要用来作记忆卡及通用序列总线(Universal Serial Bus,USB)装置,以供计算机及其它数字产品的一般性数据储存。闪存包含多个记忆单元,每一记忆单元用以储存数据。闪存可依其记忆单元储存的数据位数目分为两类。单层单元(singlelevel cell,SLC)闪存的单一记忆单元仅能储存一位数据。多层单元(multi-levelcell,MLC)闪存的单一记忆单元可储存多位数据。
闪存通常系以页(page)为单位进行数据写入或读取。当控制器欲储存数据于闪存时,闪存的相邻页所储存的数据的稳定度会随着该等相邻页所储存的数据的位内容而变化。图1A是一单层单元闪存100的部分电路图。单层单元闪存100包括多列记忆单元101~104,111~114,121~124,...,1N1~1N4。每一记忆单元仅可储存一位数据。假设控制器先储存一笔N位的数据于闪存100的第一页11,继而再储存一笔N位的数据于闪存100的第二页12。第一页11的记忆单元101、111、121、...、1N1分别与第二页的记忆单元102、112、122、...、1N2具有相邻关系。当相邻的记忆单元101与102、111与112、1N1与1N2系储存不同数值的数据位(0与1)时,由于相邻的记忆单元所储存的数据位的电性会互相吸引,因此具有较高的数据稳定性。反之,当相邻的记忆单元101与102、111与112、1N1与1N2系储存相同数值的数据位(0与0或1与1)时,由于相邻的记忆单元所储存的数据位的电性会互相排斥,因此具有较低的数据稳定性。
图1B是一多层单元闪存的一记忆单元的临界电压机率分布示意图。假设多层单元闪存的记忆单元可储存两位。当此两位为(0,0)时,记忆单元的临界电压大致为t1。当此两位分别为(0,1)、(1,0)、(1,1)时,记忆单元的临界电压大致分别为t2、t3、t4。当控制器储存数据时,相邻页的对应数据位(例如第1页的第3位及第2页的第3位)会被储存于多层单元闪存的同一记忆单元。由图1B中可见,当相邻页的对应数据位为(0,0)及(1,1)时,由于多层单元闪存的记忆单元的临界电压分别为最低值t1及最高值t4,因此具有较高的数据稳定性。相反的,当相邻页的对应数据位为(0,1)及(1,0)时,由于多层单元闪存的记忆单元的临界电压分别为中等值t2及t3,因此具有较低的数据稳定性。
由图1A及图1B的实例,可知不同型态的闪存由于具有不同的电路结构,会需要储存不同位内容的数据,以提高数据的稳定度。因此,需要一种闪存的控制器,可更动欲储存至闪存的数据位的内容,以提高闪存所储存的数据的稳定度。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供闪存的控制器以及于闪存存取数据的方法。
本发明解决其技术问题所采用的技术方案之一是:构造一种闪存的控制器,其包括一选择性映像器(selective mapper)以及一错误修正码编码器(error correction code encoder);该选择性映像器接收一第一原始数据,依据多个随机序列(random sequence)分别处理该第一原始数据以产生多个第一映射数据,分别计算该等第一映射数据与一前次数据的多个互相关值(crosscorrelation value),依据该等互相关值自该等第一映射数据中选取一最佳映射数据,并依据该最佳映射数据产生一输出映射数据;该错误修正码编码器依据该输出映射数据编码一第一错误修正码,以供储存于该闪存中。
本发明所述的控制器,其中该选择性映射器产生用以辨识供产生该最佳映射数据的随机序列的一第一附带信息并附加该第一附带信息于该最佳映射数据之后以产生该输出映射数据。
本发明所述的控制器,其中该选择性映射器包括:
多个搅乱器,分别依据该等多个随机序列其中之一以处理该第一原始数据,以产生该等第一映射数据;
一互相关评估模块,分别计算该等第一映射数据与该前次数据的该等互相关值,并依据一选取规则自该等互相关值中选取一最佳互相关值;以及
一选择器,自该等第一映射数据中选取对应该最佳互相关值的第一映射数据以输出该最佳映射数据。
本发明所述的控制器,其中该选择性映射器更包括:一附带信息附加器,产生关于对应于该最佳互相关值的随机序列的该第一附带信息,并附加该第一附带信息于该最佳映射数据之后以产生该输出映射数据。
本发明所述的控制器,其中该等搅乱器分别对该第一原始数据与该等随机序列其中之一的对应位进行XOR运算,以产生该等第一映射数据。
本发明所述的控制器,其中该闪存系一多层单元闪存,该第一错误修正码的位与该前次数据的位系储存于该闪存的同一记忆单元,且该互相关评估模块自该等互相关值中选取一最大互相关值作为该最佳互相关值。
本发明所述的控制器,其中该闪存系一单层单元闪存,该第一错误修正码的位与该前次数据的位系储存于该闪存的相邻的记忆单元,且该互相关评估模块自该等互相关值中选取一最小互相关值作为该最佳互相关值。
本发明所述的控制器,其中该控制器更包括:
一错误修正码解码器,自该闪存接收一第二错误修正码,并解码该第二错误修正码以得到一输入映射数据;以及
一选择性解映像器,自该输入映射数据取出一第二映射数据以及一第二附带信息,依据该第二附带信息自该等多个随机序列中选取一解映射随机序列,并依据该解映像随机序列处理该第二映射数据以还原一第二原始数据,以供传送至该主机。
本发明所述的控制器,其中该选择性解映射器包括:
一附带信息分离器,自该输入映射数据取出该第二映射数据以及该第二附带信息;
一选择器,依据该第二附带信息自该等多个随机序列中选取该解映射随机序列;
一解搅乱器,依据该解映像随机序列处理该第二映射数据以还原该第二原始数据。
本发明所述的控制器,其中该解搅乱器对该第二映射数据与该解映像随机序列的对应位进行XOR运算,以产生该第二原始数据。
本发明解决其技术问题所采用的技术方案之二是:构造一种于闪存存取数据的方法,其包括下列步骤:接收一第一原始数据;依据多个随机序列(random sequence)分别处理该第一原始数据,以产生多个第一映射数据;分别计算该等第一映射数据与一前次数据的多个互相关值(cross correlationvalue);依据该等互相关值自该等第一映射数据中选取一最佳映射数据;依据该最佳映射数据产生一输出映射数据,以供储存于该闪存中。
本发明所述的于闪存存取数据的方法,其中该方法更包括:依据该输出映射数据编码一第一错误修正码,以供储存于该闪存中。
本发明所述的于闪存存取数据的方法,其中该输出映射数据的产生包括:产生用以辨识供产生该最佳映射数据的随机序列的一第一附带信息;以及附加该第一附带信息于该最佳映射数据之后以产生该输出映射数据。
本发明所述的于闪存存取数据的方法,其中该等该第一原始数据的处理包括:分别对该第一原始数据与该等随机序列其中之一的对应位进行XOR运算,以产生该等第一映射数据。
本发明所述的于闪存存取数据的方法,其中该闪存系一多层单元闪存,该第一错误修正码的位与该前次数据的位系储存于该闪存的同一记忆单元,且该最佳映射数据的选取包括:
自该等互相关值中选取一最大互相关值;以及
自该等该等第一映射数据中选取对应于该最大互相关值的第一映射数据作为该最佳映射数据。
本发明所述的于闪存存取数据的方法,其中该闪存系一单层单元闪存,该第一错误修正码的位与该前次数据的位系储存于该闪存的相邻的记忆单元,且该最佳映射数据的选取包括:
自该等互相关值中选取一最小互相关值;以及
自该等该等第一映射数据中选取对应于该最小互相关值的第一映射数据作为该最佳映射数据。
本发明所述的于闪存存取数据的方法,其中该方法更包括:接收一输入映射数据;自该输入映射数据取出一第二映射数据以及一第二附带信息;依据该第二附带信息自该等多个随机序列中选取一解映射随机序列;以及依据该解映像随机序列处理该第二映射数据以还原一第二原始数据,以供传送至一主机。
本发明所述的于闪存存取数据的方法,其中该方法更包括:自该闪存接收一第二错误修正码;以及解码该第二错误修正码以得到该输入映射数据。
本发明所述的于闪存存取数据的方法,其中对该第二映射数据的处理包括:对该第二映射数据与该解映像随机序列的对应位进行XOR运算,以产生该第二原始数据。
本发明解决其技术问题所采用的技术方案之三是:构造一种控制器,耦接至一闪存与一主机,该控制器包括一错误修正码编码器(error correctioncode encoder)以及一选择性映像器(selective mapper);该错误修正码编码器接收一第一原始数据,并依据该第一原始数据编码一第一错误修正码;该选择性映像器依据多个随机序列(random sequence)分别处理该第一错误修正码以产生多个第一映射数据,分别计算该等第一映射数据与一前次数据的多个互相关值(cross correlation value),依据该等互相关值自该等第一映射数据中选取一最佳映射数据,并依据该最佳映射数据产生一输出映射数据,以供储存于该闪存中。
本发明所述的控制器,其中该选择性映射器产生用以辨识供产生该最佳映射数据的随机序列的一第一附带信息,并附加该第一附带信息于该最佳映射数据之后以产生该输出映射数据。
本发明所述的控制器,其中该选择性映射器包括:
多个搅乱器,分别依据该等多个随机序列其中之一处理该第一错误修正码,以产生该等第一映射数据;
一互相关评估模块,分别计算该等第一映射数据与该前次数据的该等互相关值,并依据一选取规则自该等互相关值中选取一最佳互相关值;
一选择器,自该等第一映射数据中选取对应该最佳互相关值的第一映射数据以输出该最佳映射数据;以及
一附带信息附加器,产生关于对应于该最佳互相关值的随机序列的该第一附带信息,并附加该第一附带信息于该最佳映射数据之后以产生该输出映射数据。
本发明所述的控制器,其中该等搅乱器分别对该第一错误修正码与该等随机序列其中之一的对应位进行XOR运算,以产生该等第一映射数据。
本发明所述的控制器,其中该控制器更包括:
一选择性解映像器,自该闪存接收一输入映射数据,自该输入映射数据取出一第二映射数据以及一第二附带信息,依据该第二附带信息自该等多个随机序列中选取一解映射随机序列,并依据该解映像随机序列处理该第二映射数据以还原一第二错误修正码;以及
一错误修正码解码器,解码该第二错误修正码以得到一第二原始数据,以供传送至该主机。
本发明所述的控制器,其中该选择性解映射器包括:
一附带信息分离器,自该输入映射数据取出该第二映射数据以及该第二附带信息;
一选择器,依据该第二附带信息自该等多个随机序列中选取该解映射随机序列;
一解搅乱器,依据该解映像随机序列处理该第二映射数据以还原该第二错误修正码。
本发明所述的控制器,其中该解搅乱器对该第二映射数据与该解映像随机序列的对应位进行XOR运算,以产生该第二错误修正码。
本发明所述的控制器,其中该闪存系一多层单元闪存,该输出映射数据的位与该前次数据的位系储存于该闪存的同一记忆单元,且该互相关评估模块自该等互相关值中选取一最大互相关值作为该最佳互相关值。
本发明所述的控制器,其中该闪存系一单层单元闪存,该输出映射数据的位与该前次数据的位系储存于该闪存的相邻的记忆单元,且该互相关评估模块自该等互相关值中选取一最小互相关值作
实施本发明的技术方案,具有以下有益效果:可通过改变储存于闪存中的数据的相关性,降低写入/读取数据的干扰,从而增进闪存所储存的数据的稳定度。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1A是一单层单元闪存的部分电路图;
图1B是一多层单元闪存的一记忆单元的临界电压机率分布示意图;
图2是本发明中快闪记忆装置的方块图;
图3是本发明中选择性映射器的方块图;
图4是本发明中将原始数据转换为输出映射数据的方法的流程图;
图5是本发明中选择性解映射器的区块图;
图6是本发明中将输入映射数据还原为原始数据的方法的流程图;
图7是本发明中控制器所产生的供写入闪存的数据的过程的示意图;
图8是本发明中快闪记忆装置的另一实施例的方块图。
图中,101-104,111-114,121-124,1N1-1N4是记忆单元;202是主机;204是快闪记忆装置;206是控制器;208是闪存;212是选择性映射器;214是错误修正码编码器;216是错误修正码解码器;218是选择性解映射器;300是选择性映射器;301-30N是搅乱器;312是互相关评估模块;314是选择器;316是附带信息附加器;500是选择性解映射器;502是附带信息分离器;504是解搅乱器;506是选择器;802是主机;804是快闪记忆装置;806是控制器;808是闪存;812是错误修正码编码器;814是选择性映射器;816是选择性解映射器;818是错误修正码解码器。
具体实施方式
图2是本发明中快闪记忆装置204的方块图。快闪记忆装置204耦接至主机202,用以储存数据。于一实施例中,快闪记忆装置204包括一控制器206及一闪存208。控制器206管理闪存208的数据存取。当主机202欲储存数据至快闪记忆装置204时,耦接于主机202的控制器206自主机202接收数据,再将数据写入闪存208。当主机202欲自快闪记忆装置204提取数据时,控制器206自闪存208读取数据,再将数据传递至主机202。
于一实施例中,控制器206包括选择性映射器(selective mapper)212、错误修正码编码器(error correction code encoder)214、错误修正码解码器(errorcorrection code decoder)216、以及选择性解映像器(selective demapper)218。当主机202欲储存原始数据D1至快闪记忆装置204时,控制器206接收原始数据D1。首先,选择性映像器212将原始数据D1转换为一输出映射数据M1,其中该输出映射数据M1与一前次储存数据间的互相关值(cross correlationvalue)较原始数据D1与前次储存数据间的互相关值有所变化。接着,错误修正码编码器214再将该输出映射数据M1编码为错误修正码C1,以供储存于闪存208中。由于错误修正码编码器214于编码时仅依据输出映射数据M1编码一检查码(parity),再将检查码附加于输出映射数据M1之后以得到错误修正码C1,而检查码仅占错误修正码C1一小部分的长度,因此错误修正码C1与前次储存数据间的互相关值仍可大幅度地被选择性映像器212所决定。
因此,控制器206可改变所欲储存的错误修正码C1与前次储存数据间的互相关值,以提升闪存208所储存的数据的稳定度。举例来说,假设闪存208为多层单元(multi-level cell,MLC)闪存,则控制器206提升所欲储存的错误修正码C1与前次储存数据间的互相关值,以增加闪存208所储存的数据的稳定度。假设闪存208为单层单元(single level cell,SLC)闪存,则控制器206减低所欲储存的错误修正码C1与前次储存数据间的互相关值,以增加闪存208所储存的数据的稳定度。当主机202欲自快闪记忆装置204提取数据时,控制器206首先自闪存208读取错误修正码C2。接着,错误修正码解码器216将错误修正码C2解码,以得到输入映射数据M2。接着,选择性解映像器218再将输入映射数据M2还原为原始数据D2,并将原始数据D2递送至主机202,以完成数据的读取。
图3是本发明中选择性映射器300的方块图。于一实施例中,选择性映射器300包括多个搅乱器301、302、...、30N,互相关评估模块312,选择器314,以及附带信息附加器316。选择性映像器300系依据图4的将原始数据D1转换为输出映射数据M1的方法400进行运作。首先,选择性映像器300接收一原始数据(步骤402)。接着,搅乱器301、302、...、30N分别依据多个不同的随机序列P1、P2、...、PN其中之一处理原始数据,以产生多个不同的映射数据S1、S2、...、SN(步骤404)。于一实施例中,搅乱器301、302、...、30N分别对原始数据与该等随机序列P1、P2、...、PN其中之一的对应位进行XOR运算,以分别产生该等映射数据S1、S2、...、SN的位。
接着,互相关评估模块312分别计算该等映射数据S1、S2、...、SN与一前次数据的多个互相关值(cross correlation value)(步骤406)。于一实施例中,互相关评估模块312对映射数据S1、S2、...、SN与前次数据的对应位进行XOR运算以得到多个XOR值,随后再将对应同一映射数据的多个XOR值相加,以产生该等互相关值。在一实施例中,互相关评估模块312对映射数据S1的第一位及前次数据C0的第一位进行进行XOR运算以得到第一个XOR值、对映射数据S1的第二位及前次数据C0的第二位进行进行XOR运算以得到第二个XOR值......、对映射数据S1的第N位及前次数据C0的第N位进行进行XOR运算以得到第N个XOR值,随后再将第一到第N个XOR值相加,以产生映射数据S1的互相关值,其余映射数据的互相关值亦以类似方式产生,在此不再赘述。接着,互相关评估模块312依据一选取规则自该等互相关值中选取一最佳互相关值J(步骤408)。于一实施例中,闪存208系一多层单元闪存,而互相关评估模块312自该等互相关值中选取一最大互相关值作为该最佳互相关值K,以提升闪存208所储存数据的稳定度。于一实施例中,闪存208系一单层单元闪存,而互相关评估模块312自该等互相关值中选取一最小互相关值作为该最佳互相关值J,以提升闪存208所储存数据的稳定度。接着,选择器314自映射数据S1、S2、...、SN中选取对应互相关评估模块312输出的最佳互相关值(例如最佳互相关值K或J)的映射数据以输出为最佳映射数据S(步骤409)。最后,附带信息附加器316产生关于对应于该最佳互相关值J的随机序列的附带信息(side information),并附加该附带信息于最佳映射数据S之后以产生输出映射数据M1(步骤410)。
图5是本发明中选择性解映射器500的方块图。于一实施例中,选择性解映像器500包括附带信息分离器502、选择器506、以及解搅乱器504。选择性解映像器500系依据图6的将输入映射数据M2还原为原始数据D2的方法600进行运作。首先,选择性解映像器500接收一输入映射数据M2(步骤602)。接着,附带信息分离器502自输入映射数据M2取出其所包含之一映射数据S以及一附带信息I(步骤604)。接着,选择器506依据该附带信息I自多个随机序列P1、P2、P3、...、PN中选取一解映射随机序列P*(步骤606),该解映像随机序列P*即为当初产生映射数据S所依据的随机序列。接着,解搅乱器504依据解映像随机序列P*处理该映射数据S以将映射数据S还原为原始数据D2(步骤608)。最后,控制器将选择性解映像器500所产生的原始数据D2递送至主机,以完成数据读取动作。
图7是本发明中控制器所产生的供写入闪存的数据的过程的示意图。于图7(a)中,假设控制器206收到一原始数据D1。接着,选择性映像器212将原始数据D1转换为图7(b)中的映射数据M1(已包含附带信息)。接着,错误修正码编码器214依据映射数据M1产生检查码K,并附加检查码K于映射数据M1的后端以产生图7(b)中的编码数据C1。一般而言,原始数据D1及映射数据M1的大小约为主机的一个数据区段(sector)或闪存的一页,亦可为任意大小。然而,选择性映像器300会需要以多个缓存器储存搅乱器301、302、...、30N所产生的多笔映射数据S1、S2、...、SN。当映射数据S1、S2、...、SN的大小过大时,会增加选择性映像器300的缓存器的生产成本。
因此,于一实施例中,控制器206自主机202接收原始数据D1后,会先将原始数据D1分割成图7(c)的多个原始数据D11、D12、D13、...、D1N,再将原始数据D11、D12、D13、...、D1N依序送至选择性映射器300,以依序产生图7(d)的多个映射数据M11、M12、M13、...、M1N。接着,再由错误修正码编码器214依序将映射数据M11、M12、M13、...、M1N编码为图7(e)的编码数据C11、C12、C13、...、C1N。由于原始数据D11、D12、D13、...、D1N的大小已缩减,因此可减少选择性映像器300的缓存器的容量大小,进而减少选择性映像器300的缓存器的生产成本。
图2的控制器206中,错误修正码编码器214系耦接于选择性映射器212的后端。于另一实施例中,错误修正码编码器亦可耦接于选择性映射器的前端。图8是本发明中快闪记忆装置804的另一实施例的方块图。快闪记忆装置804包括一控制器806及一闪存808。控制器806包括错误修正码编码器812、选择性映射器814、选择性解映像器816、以及错误修正码解码器818。当控制器806自主机802接收一原始数据D1,错误修正码编码器812首先将原始数据D1编码为错误修正码C1’。接着,选择性映射器814将错误修正码C1’转换为输出映射数据M1’,以供储存于闪存808中。选择性映像器814的电路结构同于图3的选择性映像器300。
如图7(f)所示,错误修正码编码器812将原始数据D1编码为包含检查码K的错误修正码C1’。接着,选择性映射器814再将图7(f)的错误修正码C1’转换为图7(g)的输出映射数据M1’。因此,相较于图2的控制器206,图8的控制器806可改变包含检查码K的整体储存数据与前次储存数据的互相关值,以增进储存数据的稳定度。当主机802欲自快闪记忆装置804读取数据,控制器806首先自闪存808读取输入映射数据M2’。接着,选择性解映像器816将映射数据M2’转换为错误修正码C2’。选择性解映像器816的电路结构类似于图5的选择性解映像器500。最后,错误修正码解码器818解码错误修正码C2’以还原原始数据D2。控制器806接着将原始数据D2递送至主机802,以完成数据读取动作。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何熟习此项技术者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视后附的申请专利范围所界定者为准。

Claims (29)

1.一种控制器,耦接至一闪存与一主机,其特征在于,包括:
一选择性映像器,接收一第一原始数据,依据多个随机序列分别处理该第一原始数据以产生多个第一映射数据,分别计算该等第一映射数据与一前次数据的多个互相关值,依据该等互相关值自该等第一映射数据中选取一最佳映射数据,并依据该最佳映射数据产生一输出映射数据;以及
一错误修正码编码器,依据该输出映射数据编码一第一错误修正码,以供储存于该闪存中。
2.根据权利要求1所述的控制器,其特征在于,其中该选择性映射器产生用以辨识供产生该最佳映射数据的随机序列的一第一附带信息并附加该第一附带信息于该最佳映射数据之后以产生该输出映射数据。
3.根据权利要求2所述的控制器,其特征在于,其中该选择性映射器包括:
多个搅乱器,分别依据该等多个随机序列其中之一以处理该第一原始数据,以产生该等第一映射数据;
一互相关评估模块,分别计算该等第一映射数据与该前次数据的该等互相关值,并依据一选取规则自该等互相关值中选取一最佳互相关值;以及
一选择器,自该等第一映射数据中选取对应该最佳互相关值的第一映射数据以输出该最佳映射数据。
4.根据权利要求3所述的控制器,其特征在于,其中该选择性映射器更包括:
一附带信息附加器,产生关于对应于该最佳互相关值的随机序列的该第一附带信息,并附加该第一附带信息于该最佳映射数据之后以产生该输出映射数据。
5.根据权利要求3所述的控制器,其特征在于,其中该等搅乱器分别对该第一原始数据与该等随机序列其中之一的对应位进行XOR运算,以产生该等第一映射数据。
6.根据权利要求3所述的控制器,其特征在于,其中该闪存系一多层单元闪存,该第一错误修正码的位与该前次数据的位系储存于该闪存的同一记忆单元,且该互相关评估模块自该等互相关值中选取一最大互相关值作为该最佳互相关值。
7.根据权利要求3所述的控制器,其特征在于,其中该闪存系一单层单元闪存,该第一错误修正码的位与该前次数据的位系储存于该闪存的相邻的记忆单元,且该互相关评估模块自该等互相关值中选取一最小互相关值作为该最佳互相关值。
8.根据权利要求2所述的控制器,其特征在于,其中该控制器更包括:
一错误修正码解码器,自该闪存接收一第二错误修正码,并解码该第二错误修正码以得到一输入映射数据;以及
一选择性解映像器,自该输入映射数据取出一第二映射数据以及一第二附带信息,依据该第二附带信息自该等多个随机序列中选取一解映射随机序列,并依据该解映像随机序列处理该第二映射数据以还原一第二原始数据,以供传送至该主机。
9.根据权利要求8所述的控制器,其特征在于,其中该选择性解映射器包括:
一附带信息分离器,自该输入映射数据取出该第二映射数据以及该第二附带信息;
一选择器,依据该第二附带信息自该等多个随机序列中选取该解映射随机序列;
一解搅乱器,依据该解映像随机序列处理该第二映射数据以还原该第二原始数据。
10.根据权利要求9所述的控制器,其特征在于,其中该解搅乱器对该第二映射数据与该解映像随机序列的对应位进行XOR运算,以产生该第二原始数据。
11.一种于闪存存取数据的方法,其特征在于,包括下列步骤:
接收一第一原始数据;
依据多个随机序列分别处理该第一原始数据以产生多个第一映射数据;
分别计算该等第一映射数据与一前次数据的多个互相关值;
依据该等互相关值自该等第一映射数据中选取一最佳映射数据;以及
依据该最佳映射数据产生一输出映射数据,以供储存于该闪存中。
12.根据权利要求11所述的于闪存存取数据的方法,其特征在于,其中该方法更包括:
依据该输出映射数据编码一第一错误修正码,以供储存于该闪存中。
13.根据权利要求11所述的于闪存存取数据的方法,其特征在于,其中该输出映射数据的产生包括:
产生用以辨识供产生该最佳映射数据的随机序列的一第一附带信息;以及
附加该第一附带信息于该最佳映射数据之后以产生该输出映射数据。
14.根据权利要求11所述的于闪存存取数据的方法,其特征在于,其中该等该第一原始数据的处理包括:
分别对该第一原始数据与该等随机序列其中之一的对应位进行XOR运算,以产生该等第一映射数据。
15.根据权利要求12所述的于闪存存取数据的方法,其特征在于,其中该闪存系一多层单元闪存,该第一错误修正码的位与该前次数据的位系储存于该闪存的同一记忆单元,且该最佳映射数据的选取包括:
自该等互相关值中选取一最大互相关值;以及
自该等该等第一映射数据中选取对应于该最大互相关值的第一映射数据作为该最佳映射数据。
16.根据权利要求12所述的于闪存存取数据的方法,其特征在于,其中该闪存系一单层单元闪存,该第一错误修正码的位与该前次数据的位系储存于该闪存的相邻的记忆单元,且该最佳映射数据的选取包括:
自该等互相关值中选取一最小互相关值;以及
自该等该等第一映射数据中选取对应于该最小互相关值的第一映射数据作为该最佳映射数据。
17.根据权利要求13所述的于闪存存取数据的方法,其特征在于,其中该方法更包括:
接收一输入映射数据;
自该输入映射数据取出一第二映射数据以及一第二附带信息;
依据该第二附带信息自该等多个随机序列中选取一解映射随机序列;以及
依据该解映像随机序列处理该第二映射数据以还原一第二原始数据,以供传送至一主机。
18.根据权利要求17所述的于闪存存取数据的方法,其特征在于,其中该方法更包括:
自该闪存接收一第二错误修正码;以及
解码该第二错误修正码以得到该输入映射数据。
19.根据权利要求17所述的于闪存存取数据的方法,其特征在于,其中对该第二映射数据的处理包括:
对该第二映射数据与该解映像随机序列的对应位进行XOR运算,以产生该第二原始数据。
20.一种控制器,耦接至一闪存与一主机,其特征在于,包括:
一错误修正码编码器,接收一第一原始数据,并依据该第一原始数据编码一第一错误修正码;以及
一选择性映像器,依据多个随机序列分别处理该第一错误修正码以产生多个第一映射数据,分别计算该等第一映射数据与一前次数据的多个互相关值,依据该等互相关值自该等第一映射数据中选取一最佳映射数据,并依据该最佳映射数据产生一输出映射数据,以供储存于该闪存中。
21.根据权利要求20所述的控制器,其特征在于,其中该选择性映射器产生用以辨识供产生该最佳映射数据的随机序列的一第一附带信息,并附加该第一附带信息于该最佳映射数据之后以产生该输出映射数据。
22.根据权利要求21所述的控制器,其特征在于,其中该选择性映射器包括:
多个搅乱器,分别依据该等多个随机序列其中之一处理该第一错误修正码,以产生该等第一映射数据;
一互相关评估模块,分别计算该等第一映射数据与该前次数据的该等互相关值,并依据一选取规则自该等互相关值中选取一最佳互相关值;
一选择器,自该等第一映射数据中选取对应该最佳互相关值的第一映射数据以输出该最佳映射数据;以及
一附带信息附加器,产生关于对应于该最佳互相关值的随机序列的该第一附带信息,并附加该第一附带信息于该最佳映射数据之后以产生该输出映射数据。
23.根据权利要求22所述的控制器,其特征在于,其中该等搅乱器分别对该第一错误修正码与该等随机序列其中之一的对应位进行XOR运算,以产生该等第一映射数据。
24.根据权利要求20所述的控制器,其特征在于,其中该控制器更包括:
一选择性解映像器,自该闪存接收一输入映射数据,自该输入映射数据取出一第二映射数据以及一第二附带信息,依据该第二附带信息自该等多个随机序列中选取一解映射随机序列,并依据该解映像随机序列处理该第二映射数据以还原一第二错误修正码;以及
一错误修正码解码器,解码该第二错误修正码以得到一第二原始数据,以供传送至该主机。
25.根据权利要求24所述的控制器,其特征在于,其中该选择性解映射器包括:
一附带信息分离器,自该输入映射数据取出该第二映射数据以及该第二附带信息;
一选择器,依据该第二附带信息自该等多个随机序列中选取该解映射随机序列;
一解搅乱器,依据该解映像随机序列处理该第二映射数据以还原该第二错误修正码。
26.根据权利要求25所述的控制器,其特征在于,其中该解搅乱器对该第二映射数据与该解映像随机序列的对应位进行XOR运算,以产生该第二错误修正码。
27.根据权利要求22所述的控制器,其特征在于,其中该闪存系一多层单元闪存,该输出映射数据的位与该前次数据的位系储存于该闪存的同一记忆单元,且该互相关评估模块自该等互相关值中选取一最大互相关值作为该最佳互相关值。
28.根据权利要求22所述的控制器,其特征在于,其中该闪存系一单层单元闪存,该输出映射数据的位与该前次数据的位系储存于该闪存的相邻的记忆单元,且该互相关评估模块自该等互相关值中选取一最小互相关值作为该最佳互相关值。
29.一种于闪存存取数据的方法,其特征在于,包括下列步骤:
接收一第一原始数据;
依据该第一原始数据编码一第一错误修正码;
依据多个随机序列分别处理该第一错误修正码以产生多个第一映射数据;
分别计算该等第一映射数据与一前次数据的多个互相关值;
依据该等互相关值自该等第一映射数据中选取一最佳映射数据;以及
依据该最佳映射数据产生一输出映射数据,以供储存于该闪存中。
CN 200910168024 2009-06-02 2009-08-10 闪存的控制器以及于闪存存取数据的方法 Active CN101908378B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US18316309P 2009-06-02 2009-06-02
US61/183,163 2009-06-02

Publications (2)

Publication Number Publication Date
CN101908378A true CN101908378A (zh) 2010-12-08
CN101908378B CN101908378B (zh) 2013-03-27

Family

ID=43263810

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910168024 Active CN101908378B (zh) 2009-06-02 2009-08-10 闪存的控制器以及于闪存存取数据的方法

Country Status (3)

Country Link
CN (1) CN101908378B (zh)
TW (1) TWI415130B (zh)
WO (1) WO2010139131A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064755A (zh) * 2013-01-25 2013-04-24 珠海全志科技股份有限公司 Nand闪存写数据处理方法和装置
CN104102587A (zh) * 2014-07-09 2014-10-15 昆腾微电子股份有限公司 Nvm数据处理方法和装置
CN104679448A (zh) * 2015-02-05 2015-06-03 深圳市硅格半导体有限公司 数据比特流转换的方法和装置
CN107918571A (zh) * 2016-10-08 2018-04-17 上海宝存信息科技有限公司 测试储存单元的方法以及使用该方法的装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147200A (zh) * 2018-02-13 2019-08-20 矽创电子股份有限公司 闪存的控制器及控制方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6987693B2 (en) * 2002-09-24 2006-01-17 Sandisk Corporation Non-volatile memory and method with reduced neighboring field errors
JP2004361986A (ja) * 2003-04-08 2004-12-24 Sharp Corp スクランブル回路
US7739577B2 (en) * 2004-06-03 2010-06-15 Inphase Technologies Data protection system
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
WO2007132453A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
US8127200B2 (en) * 2006-12-24 2012-02-28 Sandisk Il Ltd. Flash memory device and system with randomizing for suppressing errors
KR100822030B1 (ko) * 2006-12-26 2008-04-15 삼성전자주식회사 고 부호화율 부호를 이용한 멀티 레벨 셀 메모리 장치
KR100866627B1 (ko) * 2007-01-29 2008-11-03 삼성전자주식회사 컨트롤 플로우를 이용한 페이지 프리로드 방법 및 그시스템
CN100468576C (zh) * 2007-05-30 2009-03-11 忆正存储技术(深圳)有限公司 闪存数据读写处理方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064755A (zh) * 2013-01-25 2013-04-24 珠海全志科技股份有限公司 Nand闪存写数据处理方法和装置
CN103064755B (zh) * 2013-01-25 2015-03-25 珠海全志科技股份有限公司 Nand闪存写数据处理方法和装置
CN104102587A (zh) * 2014-07-09 2014-10-15 昆腾微电子股份有限公司 Nvm数据处理方法和装置
CN104679448A (zh) * 2015-02-05 2015-06-03 深圳市硅格半导体有限公司 数据比特流转换的方法和装置
CN104679448B (zh) * 2015-02-05 2017-10-03 深圳市硅格半导体有限公司 数据比特流转换的方法和装置
CN107918571A (zh) * 2016-10-08 2018-04-17 上海宝存信息科技有限公司 测试储存单元的方法以及使用该方法的装置
CN107918571B (zh) * 2016-10-08 2021-04-30 上海宝存信息科技有限公司 测试储存单元的方法以及使用该方法的装置

Also Published As

Publication number Publication date
WO2010139131A1 (zh) 2010-12-09
TWI415130B (zh) 2013-11-11
TW201044404A (en) 2010-12-16
CN101908378B (zh) 2013-03-27

Similar Documents

Publication Publication Date Title
CN107403646B (zh) 闪存装置及闪存存储管理方法
CN106409344A (zh) 数据储存设备及其操作方法
US7900118B2 (en) Flash memory system and method for controlling the same
CN103782266B (zh) 针对存储器持久性操作的设备及方法
CN103827833A (zh) 存储数据的系统和方法
CN101573694A (zh) 用于小数据结构的ecc保护的方法、系统和装置
CN104081378B (zh) 充分利用并行处理器用于数据处理的方法和系统
CN101908378B (zh) 闪存的控制器以及于闪存存取数据的方法
CN110352408A (zh) 具有应用程序感知纠错码的非易失性存储系统
CN102208210B (zh) 闪存设备及其数据存储方法
CN101901169B (zh) 扫描装置及方法
CN106855832A (zh) 数据存储装置及其操作方法
CN101572125A (zh) 错误更正电路及其方法
CN111710358B (zh) 闪存装置、闪存控制器及闪存存储管理方法
CN103631670B (zh) 存储器储存装置、存储器控制器与数据处理方法
CN105808170B (zh) 一种能够修复单磁盘错误的raid6编码方法
CN110457160B (zh) 一种纠错方法及装置
CN104425018B (zh) 存取快闪存储器中储存单元的方法以及使用该方法的装置
CN109002369A (zh) 基于汉明距离的对数字的二进制表示
CN101587744A (zh) 一种大规模flash存储阵列的多层次数据冗余方法
CN102915207A (zh) 固态储存装置及其数据储存方法
CN102096610B (zh) 利用纠错码和同步信息的数据行存储及传输
CN104348571B (zh) 数据分块方法及装置
CN101256521A (zh) 提高闪存资料存取可靠性的方法
CN105336379B (zh) 一种信息处理方法及固态存储器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: Chegongmiao Futian Tian'an Science and Technology Venture Park B901, B902 and B903, Futian District, Shenzhen City, Guangdong Province

Co-patentee after: Silicon Motion, Inc.

Patentee after: Huirong Technology (Shenzhen) Co.,Ltd.

Address before: 518040 Guangdong, Shenzhen, Futian District, Che Kung Temple Futian Tian Tian science and Technology Pioneer Park B901, B902, B903

Co-patentee before: Silicon Motion, Inc.

Patentee before: SILICON MOTION SHENZHEN Inc.

CP03 Change of name, title or address