CN103377694B - 控制非易失性存储设备的操作方法以及映射图案选择方法 - Google Patents
控制非易失性存储设备的操作方法以及映射图案选择方法 Download PDFInfo
- Publication number
- CN103377694B CN103377694B CN201310136844.4A CN201310136844A CN103377694B CN 103377694 B CN103377694 B CN 103377694B CN 201310136844 A CN201310136844 A CN 201310136844A CN 103377694 B CN103377694 B CN 103377694B
- Authority
- CN
- China
- Prior art keywords
- code word
- bit
- mapped
- data
- volatile memory
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1072—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56004—Pattern generation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56008—Error analysis, representation of errors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
非易失性存储设备控制器的操作方法包括:通过信息位的极性编码产生码字;读取映射图案;通过映射图案的重复产生重复映射图案;以及基于所述重复映射图案将码字的每一位映射到非易失性存储设备的多位数据的特定位上。
Description
相关申请的交叉引用
本申请主张于2012年4月19日在韩国知识产权局提交的韩国专利申请第10-2012-0040909号的优先权和权益,通过参考将其全部内容合并于此。
技术领域
本公开涉及半导体存储设备,并且更具体地说,涉及用于控制非易失性存储设备的控制器的操作方法,以及用于选择将被极性编码的码字映射到非易失性存储设备的多位数据的映射图案的映射图案选择方法。
背景技术
半导体存储设备是使用诸如硅(Si)、锗(Ge)、砷化镓(GaAs)、磷化铟(InP)等半导体来制成的存储设备。半导体存储设备可以分为易失性存储设备和非易失性存储设备。
易失性存储设备在断电时会丢失所存储内容。易失性存储设备包括诸如静态随机存取存储器(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)等的各种随机存取存储器(RAM)设备。非易失性存储设备即使在断电时也可以保留所存储内容。非易失性存储设备包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、快闪存储设备、相变RAM(PRAM)、磁RAM(MRAM)、电阻RAM(RRAM)、铁电RAM(FRAM)等等。快闪存储设备大致分为NOR型和NAND型。
近年来,人们引入了极性编码(polar encoding)作为用于大通道种类的低复杂度编码方案。典型地,极性编码通过使用两个极性或幅度等级:正和负,来表示位。极性编码的一般类型是非归零(NRZ)。利用NRZ,信号电平由被发送的二级制数字来确定。正电压指示二进制1并且负电压指示二进制0。然而,需要被配置使用极性编码来控制非易失性存储设备的方法和装置。
发明内容
本发明构思的示例实施例提供被配置控制非易失性存储设备的存储控制器的操作方法。所述操作方法包括:通过信息位的极性编码产生码字,读取映射图案,通过映射图案的重复产生重复映射图案,以及基于重复映射图案将所述码字的每一位映射到非易失性存储设备的多位数据的特定位上。
在示例实施例中,重复映射图案的长度可以等于码字的长度。
在示例实施例中,将码字的每一位映射到非易失性存储设备的多位数据的特定位上可以包括根据所述的重复映射图案将码字的每一位映射到最低有效位或者最高有效位。
在示例实施例中,将码字的每一位映射到非易失性存储设备的多位数据的特定位上可以包括根据所述的重复映射图案将码字的每一位映射到最低有效位、中间有效位、或者最高有效位。
在示例实施例中,所述操作方法可以进一步包括将被映射码字作为多位写数据转移到非易失性存储设备。
在示例实施例中,所述操作方法可以进一步包括:从非易失性存储设备接收多位读数据,基于所述的重复映射图案将多位读数据转换为读码字(read code word),以及解码所述的读码字。
在示例实施例中,所述操作方法可以进一步包括:对被映射的码字执行纠错编码,以及将被编码码字作为多位写数据转移到非易失性存储设备。
在示例实施例中,所述操作方法可以进一步包括:从非易失性存储设备接收多位读数据,对多位读数据执行纠错解码,基于所述的重复映射图案将被解码的多位读数据转换为读码字,以及解码所述的读码字。
本发明构思的示例实施例也提供选择被用于将被极性编码的码字映射到非易失性存储设备的多位上的映射图案的方法,所述方法包括:产生多个图案,经由所述多个图案的每一个的重复产生多个重复图案,以及根据所计算的差错率选择多个重复图案之一。
在示例实施例中,基于多位(multi bits)的概率密度函数可以执行所述差错率的计算。
在示例实施例中,所述差错率的计算可以包括,基于所述多位的概率密度函数计算极性编码器的输入级的位的差错率。
在示例实施例中,所述极性编码器的输入级的位的差错率的至少之一可以超过参考值,不选择相应的重复图案。
在示例实施例中,可以选择具有极性编码器的输入级的位的最低平均差错率的重复图案。
在示例实施例中,所述方法可以进一步包括,在控制非易失性存储设备的控制器中存储与所选择重复图案相对应的图案。
在示例实施例中,重复图案的长度可以等于被极性编码的码字的长度。
本发明构思的示例实施例也提供响应于从主机到存储控制器的请求,在主机和非易失性存储设备之间转移数据的方法,其中存储控制器被配置来控制读操作和写操作。所述方法包括:一旦从主机接收到写操作数据,则存储控制器通过对从主机输入的数据执行极性码编码并且将被极性编码的码字的位映射到多位数据上来写入编码数据到非易失性存储设备,以便被映射到最高有效位上的极化码字位作为最高有效位被写到非易失性存储设备,被映射到中间有效位上的极化码字位作为中间有效位被写到非易失性存储设备,以及被映射到最低有效位上的极化码字位作为最低有效位被写到非易失性存储设备;以及一旦从非易失性存储设备接收到读操作编码数据,存储控制器经过重映射从非易失性存储设备读取的最低有效位、中间有效位和最高有效位,通过对从非易失性存储设备输入的数据的极化码解码来为主机恢复数据。
在示例实施例中,当配置非易失性存储设备的一个存储单元存储2位数据并且码字的长度为2位时,可以将所述码字映射到多位数据上,以便:将码字的第一位映射到最低有效位上,并且将其第二位映射到最高有效位上,或者,将码字的第一位映射到最高有效位上,并且将其第二位映射到最低有效位上。
在示例实施例中,当非易失性存储设备的一个存储单元被配置存储2位数据并且码字的长度为4位时,可以将所述码字映射到多位数据上以便:(1)可以将所述码字的第一位映射到最高有效位上,可以将其第二位映射到最低有效位上,可以将码字的第三位映射到最高有效位上,以及可以将其第四位映射到最低有效位上;或者(2)将码字的第一位映射到最高有效位,将其第二位映射到最低有效位,将码字的第三位映射到最低有效位上,以及将其第四位映射到最高有效位;或者(3)将码字的第一位映射到最低有效位,将其第二位映射到最高有效位,将码字的第三位映射到最高有效位,以及将其第四位映射到最低有效位;或者(4)将码字的第一位映射到最低有效位,将其第二位映射到最低有效位,将码字的第三位映射到最高有效位,以及将其第四位映射到最高有效位;或者(5)将码字的第一位映射到最低有效位,将其第二位映射到最高有效位,将码字的第三位映射到最高有效位,以及将其第四位映射到最低有效位。
在示例实施例中,当一个存储单元被配置存储2位数据并且码字具有长度为n位时,可以根据使用以下方程计算的图案之一将所述码字映射到多位数据上:
在示例实施例中,当一个存储单元存储m位数据并且码字的长为n位时,可以根据使用以下方程所计算的图案之一将所述码字映射到多位数据上:
附图说明
现在将参照以下图形描述示例实施例,其中,除非被另外规定,在各种图形中相似的参考编号指代相似的部件。
图1是概略性地示出根据本发明构思的示例实施例的存储系统的框图。
图2是概略性地示出根据本发明构思的示例实施例的非易失性存储设备的框图。
图3是概略性地示出根据本发明构思的示例实施例的存储单元阵列的电路图。
图4是概略性地示出根据本发明构思的示例实施例的存储单元阵列的透视电路图。
图5是概略性地示出根据本发明构思的示例实施例的控制器的框图。
图6是示出通过极性码编码器/解码器将码字映射到多位数据的实例的表格。
图7是示出根据本发明构思的示例实施例的控制器的操作方法的流程图。
图8是概略性地示出根据本发明构思的示例实施例的极性码编码器/解码器的框图。
图9是示出极性码编码器/解码器的编码操作的表格。
图10是概略性地示出根据本发明构思的示例实施例的产生矩阵编码单元的图示。
图11是概略性地示出根据本发明构思的示例实施例的产生矩阵编码单元的图示。
图12是概略性地示出根据本发明构思的示例实施例的产生矩阵编码单元的图示。
图13是概略性地示出与图1中的非易失性存储设备和控制器相连接的测试设备1300的框图。
图14是示出根据本发明构思的示例实施例的映射图案选择方法的流程图。
图15是概略性地示出图13中测试设备的框图。
图16是概略性地示出根据本发明构思的示例实施例的控制器的框图。
图17是示出图1中的存储系统的应用的框图。
图18是示出根据本发明构思的示例实施例的存储卡的图示。
图19是示出根据本发明构思的示例实施例的固态驱动器的图示。
图20是示出根据本发明构思的示例实施例的计算系统的框图。
具体实施方式
将参照附图详细地描述实施例。除非另有说明,在整个附图和所写的描述中相似的参考编号表示相似的元件,因此将不重复描述。在附图中,为了清晰可以夸大层和区域的尺寸和相对尺寸。
将理解,尽管这里可以使用术语“第一”、“第二”、“第三”等描述各种元件、组件、区域、层和/或部分,这些元件、组件、区域、层和/或部分不局限于这些术语。这些术语仅仅被用于将一个元件、组件、区域、层或部分与另一个区域、层或部分区别开。因此,在不脱离本发明构思的教示的情况下,以下描述的第一元件、组件、区域、层或部分可以被称为第二元件、组件、区域、层或部分。
将理解,当元件或层被称为在另一元件或层“之上”、“被连接到”、“被耦接到”、或者“邻近于”另一元件或层时,可以存在介于中间的元件或层。相反,当元件被称为“直接在”另一元件或层之上、“被直接连接到”、“被直接耦接到”、或者“立即邻近于”另一元件或层时,不存在介于中间的元件或层。
图1是概略性地示出根据本发明构思的示例实施例的存储系统的框图。参照图1,存储系统1000可以包括非易失性存储设备1100和控制器1200。
可以将控制器1200连接到主机1400和非易失性存储设备1100。响应于主机1400的请求,可以配置控制器1200存取非易失性存储设备1100。例如,可以配置控制器1200控制非易失性存储设备1100的读操作、写操作、擦除操作、读操作以及背景操作。可以配置控制器1200提供在非易失性存储设备1100和主机1400之间的接口。可以配置控制器1200驱动用于控制非易失性存储设备1100的固件。
控制器1200可以从主机1400接收数据。控制器1200可以编码输入数据以产生被编码的数据DATA_C。可以配置控制器1200向非易失性存储设备1100提供控制信号CTRL、命令CMD以及地址ADDR。可以配置控制器1200与非易失性存储设备1100交换被编码的数据DATA_C。可以配置控制器1200通过解码从非易失性存储设备1100输入的被编码数据DATA_C来恢复数据。控制器1200可以向主机1400提供被恢复的数据。
图2是概略性地示出根据本发明构思的示例实施例的非易失性存储设备的框图。参照图2,根据本发明构思的示例实施例的非易失性存储设备1100可以包括存储单元阵列1110、地址解码器1120、读/写电路1130以及控制逻辑1140。
经由字线WL可以将存储单元阵列1110连接到地址解码器1120以及经由位线BL可以将存储单元阵列1110连接到读/写电路1130。存储单元阵列1110可以包括多个存储单元。在示例实施例中,可以将被排列在行方向中的存储单元连接到字线WL,并且将被排列在列方向中的存储单元连接到位线BL。例如,被排列在列方向中的存储单元可以形成被分别连接到位线的多个单元组(例如,串)。在示例实施例中,存储单元阵列1110可以包括多个每一个存储一个或多个数据位的存储单元。
经由字线WL可以将地址解码器1120连接到存储单元阵列1110。地址解码器可以响应于控制逻辑1140的控制来操作。
地址解码器1120可以解码输入地址ADDR的行地址,并且可以响应于被解码的行地址来选择字线WL。地址解码器1120可以解码输入地址ADDR的列地址并且将它作为被解码的列地址DCA转移到读/写电路1130。在示例实施例中,地址解码器1120可以包括诸如行解码器、列解码器、地址缓冲器等的构成元件。
经由位线BL可以将读/写电路1130耦接到存储单元阵列1110。可以配置读/写电路1130与外部设备交换数据。读/写电路1130可以响应于控制逻辑1140的控制来操作。响应于从地址解码器1120提供的被解码的列地址DCA,读/写电路1130可以选择位线BL。
在示例实施例中,读/写电路1130可以从外部设备接收被编码的数据DATA_C并且将其写在存储单元阵列1110中。读/写电路1130可以从存储单元阵列1110读取被编码的数据DATA_C并且将其输出到外部设备。读/写电路1130可以从存储单元阵列1110的第一存储区域读取数据并且将它写到其第二存储区域中。即,读/写电路1130可以执行复制操作。
在示例实施例中,读/写电路1130可以包括诸如页面缓冲器(或者页面寄存器)、列选择电路、数据缓冲器等的构成元件。在其它示例实施例中,读/写电路1130可以包括诸如感知放大器、写驱动器、列选择电路、数据缓冲器等的构成元件。
可以将控制逻辑1140耦接到地址解码器1120和读/写电路1130。可以配置控制逻辑1140控制非易失性存储设备1100的整个操作。
图3是概略性地示出根据本发明构思的示例实施例的存储单元阵列的电路图。参照图3,可以将沿行方向被排列的存储单元MC1、MC2、…MCm连接到各自的字线WL1、WL2、…WLm,即,可以将属于相同行的存储单元与相同字线连接。
可以将沿列方向被排列的存储单元MC1、MC2、…MCm连接到位线BL1、BL2、…BLn,即,可以将属于相同列的存储单元与相同位线连接。
可以在位线BL1、BL2、…BLn的位线和它的存储单元MC1、MC2、…MCm之间连接串选择晶体管SST。可以将串选择晶体管SST连接到串选择线SSL。可以在存储单元MC1、MC2、…MCm和共源线CSL之间连接地选择晶体管GST。可以将地选择晶体管GST连接到地选择线GSL。
存储单元阵列1110a可以是平面NAND快闪存储阵列。
图4是概略性地示出根据本发明构思的示例实施例的存储单元阵列的透视电路图。参照图4,可以在位线BL1、BL2和共源线CSL之间提供单元串CS11、CS12、CS21、CS22。在第一位线BL1和共源线CSL之间可以连接单元串CS11和单元串CS21。在第二位线BL2和共源线CSL之间可以连接单元串CS12、CS22。
可以将被放置在相同高度的存储单元与字线(或者,虚设的字线)共同连接。因此,当将电压施加到被安置在特定高度的字线(或者,虚设的字线)时,可以将它施加到在特定高度的所有单元串CS11、CS12、CS21、CS22。
可以将在不同行的单元串分别与不同的串选择线SSL1、SSL2连接。通过选择和不选择第一和第二串选择线SSL1、SSL2,可以按行来选择和不选择单元串CS11、CS12、CS21、CS22。例如,可以将与未被选择的串选择线SSL1或SSL2相连接的单元串CS11、CS12或CS21、CS22与位线BL1、BL2电气分开。可以将与被选择的串选择线SSL2或SSL1相连接的单元串CS21、CS22或CS11、CS12与位线BL1、BL2电气连接。
可以按列将单元串CS11、CS12、CS21、CS22与位线BL1、BL2连接。可以将单元串CS11、CS21与位线BL1连接,并且可以将单元串CS12、CS22与位线BL2连接。通过选择和不选择位线BL1、BL2,可以按列选择和不选择单元串CS11、CS12、CS21、CS22。
存储单元阵列1110b可以是垂直的NAND快闪存储阵列。
图5是概略性地示出根据本发明构思的示例实施例的控制器的框图。参照图5,控制器1200可以包括系统总线1210、处理器1220、RAM 1230、主机接口1240、存储器接口1250以及极性码编码器/解码器1260。系统总线1210可以提供构成元件1220至1260当中的通道。
处理器1220可以控制控制器1200的整个操作。
RAM 1230可以被用作处理器1220的工作存储器、高速缓存存储器、和缓冲存储器中的一个。
主机接口1240可以根据具体的通信标准与非易失性存储设备1100通信。在示例实施例中,控制器1200可以经由诸如通用串行总线(USB)、多媒体卡(MMC)、外设组件互联标准(PCI)、PCI-express(PCI-E)、先进技术附件(ATA)、串行-ATA、并行-ATA、小型计算机系统接口(SCSI)、增强的小磁盘接口(ESDI)、电子集成驱动器(IDE)、火线等的各种通信标准的至少之一与外部设备(例如,主机1400)通信。
存储器接口1250可以与非易失性存储设备1100连接。例如,存储器接口1250可以包括NAND接口或NOR接口。
极性码编码器/解码器1260可以对从图1中所示的外部主机1400输入的数据执行极性码编码或者对从非易失性存储设备1100输入的数据执行极性码解码。
当非易失性存储设备1100包括存储多位数据(例如,两个或多个数据位)的多位单元(multi-bit cell)时,可以配置极性码编码器/解码器1260将被极性编码的码字的位映射到多位数据上(例如,最低有效位、中间有效位和最高有效位)。被映射到最高有效位的码字位(code word bit)可以被写入非易失性存储设备1100作为最高有效位。被映射到中间有效位的码字位可以被写入非易失性存储设备1100作为中间有效位。被映射到最低有效位的码字位可以被写入非易失性存储设备1100作为最低有效位。
可以配置极性码编码器/解码器1260通过从非易失性存储设备1100读取的最低、中间和最高有效位的重新映射来恢复码字。
图6是示出通过极性码编码器/解码器将码字映射到多位数据上的实例的表格。参照图5和图6,当一个存储单元存储2位数据并且码字具有2位的长度时,可以根据两个图案(pattern)之一将码字映射到多位数据上。例如,可以将码字的第一位映射到最低有效位上,并且可以将其第二位映射到最高有效位上。另一方面,可以将码字的第一位映射到最高有效位上,并且将其第二位映射到最低有效位上。
当一个存储单元存储2位数据并且码字具有4位的长度时,可以根据六个图案之一将所述码字映射到多位数据上。例如,可以将码字的第一位映射到最高有效位上,可以将其第二位映射到最高有效位上,可以将码字的第三位映射到最低有效位上,并且可以将其第四位映射到最低有效位上。
在其它示例实施例中,可以将码字的第一位映射到最高有效位上,可以将其第二位映射到最低有效位上,可以将码字的第三位映射到最高有效位上,并且可以将其第四位映射到最低有效位上。
在其它示例实施例中,可以将码字的第一位映射到最高有效位上,可以将其第二位映射到最低有效位上,可以将码字的第三位映射到最低有效位上,并且可以将其第四位映射到最高有效位上。
在其它示例实施例中,可以将码字的第一位映射到最低有效位上,可以将其第二位映射到最高有效位上,可以将码字的第三位映射到最高有效位上,并且可以将其第四位映射到最高有效位上。
在其它示例实施例中,可以将码字的第一位映射到最低有效位上,可以将其第二位映射到最低有效位上,可以将码字的第三位映射到最高有效位上,并且可以将其第四位映射到最高有效位上。
在其它示例实施例中,可以将码字的第一位映射到最低有效位上,可以将其第二位映射到最高有效位上,可以将码字的第三位映射到最高有效位上,并且可以将其第四位映射到最低有效位上。
当一个存储单元存储2位数据并且码字具有n位的长度时,可以根据使用以下方程1所计算的图案之一将所述码字映射到多位数据上。
【方程1】
当一个存储单元存储m位数据并且码字具有n位长度时,可以根据使用以下方程2所计算的图案之一将所述码字映射到多位数据上。
【方程2】
码字的长度越长或者在存储单元保存的数据位的数量越多,则被映射到码字上的图案的数量越多。
如果从图案中选择具有最低差错率的图案并且根据所选择的图案在码字位和多位数据之间映射,则可以改善存储系统1000的可靠性。然而,会产生间接开销,用于搜寻具有最低差错率的图案。即,必须进行根据方程2的图案的差错率的计算以及所计算结果的比较以便搜寻具有最低差错率的图案。
为了防止以上所述问题,根据本发明构思的示例实施例的极性码编码器/解码器1260可以反复地产生具有长度小于码字长度的图案并且根据被重复的图案将码字位映射到多位数据上。
图7是示出根据本发明构思的示例实施例的控制器的操作方法的流程图。在示例实施例中,通过控制器1200的极性码编码器/解码器1260可以执行图7中所描述的操作方法。参照图5和图7,在操作S110中,控制器1200可以通过将冻结的位加到从外部设备接收的信息位上产生输入字,并且通过在输入字上计算产生矩阵可以产生被极性编码的码字。
在操作S120中,控制器1200可以读取映射图案。控制器1200可以读取被存储在控制器1200内的映射图案。
在操作S130中,控制器1200可以重复该映射图案。控制器1200通过被读取图案的重复可以产生重复图案。所述重复图案的长度可以等于被极性编码的码字的长度。
在操作S140中,控制器1200根据被重复的映射图案可以将码字映射到多位数据上。当在非易失性存储设备1100的每一个存储单元存储2位数据时,控制器1200根据被重复的映射图案可以将码字的每一位映射到最低有效位(LSB)和最高有效位(MSB)上。
当在非易失性存储设备1100的每一个存储单元存储3位数据时,控制器1200根据被重复的映射图案可以将码字的每一位映射到LSB、中间有效位(CSB)和MSB上。
当在非易失性存储设备1100的每一个存储单元存储m位数据时,控制器1200根据被重复的映射图案可以将码字的每一位映射到m多位数据之一上。
在示例实施例中,通过图5中的极性码编码器/解码器1260可以执行编码和映射。在其它示例实施例中,通过图5中的极性码编码器/解码器1260可以执行编码,并且通过控制器1200内提供的独立功能块可以执行映射。
图8是概略性地示出根据本发明构思的示例实施例的极性码编码器/解码器的框图。参照图5和图8,极性码编码器/解码器1260可以包括图案和位置信息存储单元1261、冻结位插入单元1262、产生矩阵编码单元1263、图案重复单元1264、位分类单元1265、映射和解映射单元1266、以及逐次取消解码单元1267。
可以配置图案和位置信息存储单元1261存储图案P和位置信息LI。图案P可以是用于在码字Cn和多位数据之间进行映射的数据。被存储于图案和位置信息存储单元1261的图案P的长度可以短于码字Cn的长度。被存储于图案和位置信息存储单元1261的图案P的长度可以是码字Cn长度的因子之一或者是其至少两个或多个因子的乘积。
位置信息LI可以指示与插入冻结位的位置相关联的信息。
冻结位插入单元1262可以接收信息位Ik。例如,可以通过主机接口1240从外部主机1400接收信息位Ik。信息位的长度可以是k。冻结位插入单元1262可以从图案和位置信息存储单元1261接收位置信息LI。冻结位插入单元1262可以将冻结位插入到由位置信息LI指明的信息位Ik的位置。冻结位插入单元1262通过将冻结位插入到信息位Ik可以产生输入字Un。
产生矩阵编码单元1263可以从冻结位插入单元1262接收输入字Un。产生矩阵编码单元1263可以计算输入字Un和产生矩阵。产生矩阵编码单元1263可以输出编码结果作为码字Cn。码字Cn的长度可以是n。
图案重复单元1264可以从图案和位置信息存储单元1261接收图案P。图案重复单元1264可以重复输入图案P以产生重复的图案RP。图案重复单元1264可以重复图案P以便被重复的图案RP的长度变为等于码字Cn的长度。
位分类单元1265可以从图案重复单元1264接收重复的图案RP。位分类单元1265可以基于重复的图案RP产生位设置数据S1、S2…Sm。位设置数据S1可以指示要被映射到多位数据的第一位上(例如,LSB)的码字位。位设置数据S2可以指示要被映射到多位数据的第二位上(例如,CSB)的码字位。位设置数据Sm可以指示要被映射到多位数据的第m位上(例如,MSB)的码字位。在示例实施例中,位设置数据S1、S2…Sm可以指示码字位的位置。
映射和解映射单元1266可以从产生矩阵编码单元1263接收码字Cn并且从位分类单元1265接收位设置数据S1、S2…Sm。映射和解映射单元1266可以将与位设置数据S1相对应的码字位映射到LSB数据上。映射和解映射单元1266可以将与位设置数据S2相对应的码字位映射到CSB数据上。映射和解映射单元1266可以将与位设置数据Sm相对应的码字位映射到MSB数据上。映射结果可以被输出作为被编码的数据DATA-C。例如,通过存储接口1250可以将被编码的数据DATA-C转移到非易失性存储设备1100。
映射和解映射单元1266可以接收被编码的数据DATA_C’。例如,被写入非易失性存储设备1100的被编码的数据DATA_C可以被读出,并且通过存储接口1250可以向映射和解映射单元1266提供被读取的数据DATA_C’。
被读取的数据DATA_C’可以是多位数据。被读取的数据DATA_C’可以包括LSB数据、CSB数据和MSB数据。映射和解映射单元1266基于来自位分类单元1265的位设置S1、S2…Sm可以恢复被读取的码字Cn’。映射和解映射单元1266通过基于包括在位设置数据S1、S2…Sm中的映射信息顺序地逐位排列被读取的数据DATA_C’可以恢复被读取的码字Cn’。被读取的码字Cn’的长度可以是n。
逐次取消解码单元1267可以从图案和位置信息存储单元1261接收位置信息LI并且可以从映射和解映射单元1266接收被读取的码字Cn’。逐次取消解码单元1267基于位置信息LI和被读取的码字Cn’可以执行逐次取消解码。所述的逐次取消解码结果可以被输出作为读取信息位Ik’。例如,读取信息位Ik’可以经由主机接口1240被输出到外部主机1400。读取信息位Ik’的长度可以是k。
在其它示例实施例中,位分类单元1265和映射和解映射单元1266的映射部分可以形成多路复用器。多路复用器可以接收重复图案RP作为图案重复单元1264的选择信号输出。多路复用器可以接收从产生矩阵编码单元1263输出的码字Cn作为输入信号。
多路复用器根据作为选择信号的重复图案RP是否指示MSB、CSB或LSB可以输出码字Cn的每一位作为MSB、CSB或LSB位。
在示例实施例中,可以描述执行逐次取消解码的实例。然而,本发明构思不局限于此。例如,可以将本发明构思应用于能够解码被极性编码的码字的各种方法(例如,置信传播,用于对图形模型执行推断的消息传递算法)。
图9是示出极性码编码器/解码器的编码操作的表格。参照图8和图9,产生矩阵编码单元1263可以产生‘100110011011’的码字Cn。图案和位置信息存储单元1261可以输出LSB-CSB-MSB-CSB-MSB-LSB的图案P。
图案重复单元1264可以接收图案P并且可以重复图案P以便产生具有与码字Cn相同长度的重复图案RP。在示例实施例中,如果码字Cn的长度是12并且图案P的长度是6,则通过重复图案P两次可以产生重复图案RP。重复图案RP可以是LSB-CSB-MSB-CSB-MSB-LSB-LSB-CSB-MSB-CSB-MSB-LSB。
位分类单元1265基于重复图案RP可以产生位设置数据S1、S2…Sm。在示例实施例中,位设置数据S1可以指示被映射到LSB上的码字位。在重复图案RP中,因为第1、第6、第7和第10位可以指示LSB,所以位设置数据S1可以指示‘1’、‘6’、‘7’和‘12’,作为被映射到LSB上的码字位的位置。
位设置数据S2可以指示被映射到CSB的码字位。在重复图案RP中,因为第2、第4、第8和第11位可以指示CSB,所以位设置数据S2可以指示‘2’、‘4’、‘8’和‘10’,作为被映射到CSB上的码字位的位置。
位设置数据S3可以指示被映射到MSB上的码字。在重复图案RP中,由于第3、第5、第9和第12位可以指示MSB,位设置数据S3可以指示‘3’、‘5’、‘9’和‘11’,作为被映射到MSB上的码字位的位置。
映射和解映射单元1266基于位设置数据S1和S2可以将码字Cn映射到多位数据上。由于指示LSB数据的位设置数据S1是码字Cn的‘1’、‘6’、‘7’和‘12’,作为第1、第6、第7和第12位的‘1001’可以被映射到LSB上。由于指示CSB数据的位设置数据S2是码字Cn的‘2’、‘4’、‘8’和‘10’,作为第2、第4、第8和第10位的‘0110’可以被映射到CSB上。由于指示MSB数据的位设置数据S3是码字Cn的‘3’、‘5’、‘9’和‘11’,作为第3、第5、第9和第11位的‘0111’可以被映射到MSB上。
如上所述,控制器1200通过以前所存储图案P的重复可以产生重复图案RP,并且基于重复图案RP将码字Cn映射到多位数据上。由于用于存储图案P的设备变成小尺寸的或者不需要用于计算图案P的设备,可以减小使用极性编码的控制器1200的复杂度。此外,通过极性编码可以提高控制器的可靠性。
图10是概略性地示出根据本发明构思的示例实施例的产生矩阵编码单元的图示。在示例实施例中,被提供给产生矩阵编码单元1263a的输入字Un的长度可以是2,并且由产生矩阵编码单元1263a产生的码字Cn的长度可以是2。
参照图10,产生矩阵编码单元1263a可以输出两个输入位之和作为第一输出位,以及输出第二输入位作为第二输出位。
图11是概略性地示出根据本发明构思的示例实施例的产生矩阵编码单元的图示。在示例实施例中,被提供给产生矩阵编码单元1263b的输入字Un的长度可以是4,并且由产生矩阵编码单元1263b产生的码字Cn的长度可以是4。
参照图11,产生矩阵编码单元1263b可以包括参照图10所描述的2长度产生矩阵编码单元1263a。可以根据码字Cn的长度布置2长度产生矩阵编码单元1263a。在前级可以提供2长度产生矩阵编码单元1263a作为交叉级。
图12是概略性地示出根据本发明构思的示例实施例的产生矩阵编码单元的图示。在示例实施例中,被提供给产生矩阵编码单元1263c的输入字Un的长度可以是8,并且由产生矩阵编码单元1263c产生的码字Cn的长度可以是8。
参照图12,产生矩阵编码单元1263c可以包括参照图10被描述的2长度产生矩阵编码单元1263a,以及参照图11被描述的4长度产生矩阵编码单元1263b。可以根据码字Cn的长度布置4长度产生矩阵编码单元1263c。在前级可以提供2长度产生矩阵编码单元1263a作为交叉级。
正如参照图10至12所描述,用于将n长度输入字Un转换为n长度码字Cn的产生矩阵编码单元1263可以包括两个n/2长度产生矩阵编码单元和被布置在其前级的交叉级。
在图10至12中可以描述输出长度为2n的码字Cn的产生矩阵编码单元1263。然而,本发明构思不限于此。例如,可以配置产生矩阵编码单元1263输出具有与至少一个质数的平方相对应的长度或者与至少两个或多个质数的平方的乘积相对应的长度的码字Cn。
图13是概略性示出被连接到图1中的非易失性存储设备和控制器的测试设备1300的框图。参照图13,测试设备1300可以被配置用于在控制器1200中存储图案P。测试设备1300可以基于关于非易失性存储设备1100和控制器1200的信息选择图案P。测试设备1300可以在控制器1200中存储所选择的图案P。
图14是示出根据本发明构思的示例实施例的映射图案选择方法的流程图。参照图13和14,在操作S210中,测试设备1300可以产生图案。在操作S220中,测试设备1300通过重复所述图案可以产生重复图案。在操作S230中,测试设备1300可以计算重复图案的差错率。在示例实施例中,可以根据LSB的概率密度函数(或者,近似概率密度函数)、CSB的概率密度函数(或者,近似概率密度函数)、以及MSB的概率密度函数(或者,近似概率密度函数)来计算重复图案的差错率。在操作S240中,测试设备1300可以根据所计算的差错率来选择图案。可以将所选择图案存储在控制器1200中。
图15是概略性示出图13中的测试设备的框图。参照图13和15,测试设备1300可以包括图案产生单元1310、参数存储单元1320、差错估计单元1330、以及选择单元1340。
图案产生单元1310可以被配置产生多个图案P。在示例实施例中,如参照图1至12所描述,可以选择短于码字Cn长度的长度。图案产生单元1310可以产生具有所选择长度的图案P。在示例实施例中,图案产生单元1310可以产生其数量参照图6被描述的图案P。
参数存储单元1320可以被配置提供关于非易失性存储设备1100和控制器1200的信息。参数存储单元1320可以被配置存储非易失性存储设备1100的通道信息CI。在示例实施例中,可以存储关于存储单元的概率密度函数(或者,近似概率密度函数)的信息。码字可以被编程在非易失性存储设备1100的存储单元中并且从那里被读出。码字Cn可以是源数据,并且从非易失性存储设备1100读出的数据可以是通过由多个存储单元所形成的通道所接收的数据。参数存储单元1320可以存储与对应于非易失性存储设备1100的通道(即,存储多位数据的通道)的概率密度函数相关联的信息(此后,将存储单元的通道称为第一通道)。
参数存储单元1320可以被配置存储控制器1200的产生矩阵编码单元1263的产生矩阵信息GMI。例如,参数存储单元1320可以存储指示输入字Un通过任何计算被转换为码字Cn的信息。
差错估计单元1330可以从图案产生单元1310接收图案P,并且从参数存储单元1320接收通道信息CI和产生矩阵信息GMI。差错估计单元1330基于通道信息CI和产生矩阵信息GMI,可以估计通过其输入字Un的位被转移的通道的差错率。此后,可以将通过其输入字Un被转移的通道称为第二通道。例如,可以估计被解码的位差错率(bit error rate,BER),即,当执行与经由第二通道被转移的输入字Un有关的极性编码和极性解码时的差错率。
可以将输入字Un的位转换为将被写到非易失性存储设备1100的码字Cn。可以执行与从非易失性存储设备1100被读出数据有关的逐次取消解码以恢复读输入字Un’。此时,输入字Un的位可以被理解为经由第二通道被转移。经由第二通道被发送的信息以及被接收的信息可以是读输入字Un’。
可以将码字Cn的位编程到非易失性存储设备1100的存储单元。从非易失性存储设备1100的存储单元中读出的数据可以是读码字Cn’。经由第二通道可以转移码字Cn的位的每一个。经由第二通道被发送的信息可以是码字Cn,并且输入信息可以是读码字Cn’。
第一通道的差错率可以包括LSB差错概率和MSB差错概率。第一通道的差错率可以从非易失性存储设备1100的存储单元的特性来获得。例如,第一通道的差错率可以通过测试非易失性存储设备1100的存储单元或者从基于存储单元的编程/擦除周期的计算来获得。所获得的差错率可以是在码字Cn的位上产生差错的机率。
可以根据从图案产生单元1310所产生的图案P确定码字Cn的特定位是否被映射到LSB或MSB。LSB差错概率可以不同于MSB差错概率。于是,码字Cn的特定位的差错概率,即,在第二通道的特定通道上产生差错的差错率可以根据图案P而变化。
输入字Un通过与产生矩阵的计算可以被转换为码字Cn。如果码字Cn的位的差错概率被产生矩阵逆转换,则转换结果可以指示输入字Un的位的差错概率(例如,第二通道的差错概率)。
于是,获得存储单元(或者,第一通道)的差错概率(例如,即,产生矩阵信息GMI是通道信息CI和产生矩阵的转换信息),可以估计出输入字Un的每一位的差错概率。
差错估计单元1330可以选择图案P之一以使用所选择图案估计输入字Un的每一位的差错概率。差错估计单元1330可以估计在图案P的每一个上的差错概率。差错估计单元1330可以将差错估计结果ER转移到选择单元1340。
在示例实施例中,差错估计单元1330通过所选择图案的重复可以产生重复图案RP,并且可以使用所述的重复图案RP估计差错概率。
选择单元1340可以从差错估计单元1330接收差错估计结果ER,并且从图案产生单元1310接收图案P。选择单元1340可以根据差错估计结果ER选择图案P之一作为最终图案。例如,选择单元1340可以选择这种图案以便第二通道的平均差错率最低。如果第二通道的差错率的至少之一超过参考值,则选择单元1340可以不选择相应的图案。可以在控制器1200的图案和位置信息存储单元1261中存储最终选择的图案。
如上所述,代替估计和选择与码字Cn长度相对应的映射图案的差错率,可以估计和选择具有长度短于码字长度Cn的图案的差错率。当执行极性编码时,通过重复所选择图案可以产生与码字Un长度相对应的重复图案RP。基于重复图案RP可以将码字Cn映射到多位数据上。由于图案具有缩短的长度,可以降低控制器1200和测试器1300的复杂度。
图16是概略性示出根据本发明构思的示例实施例的控制器的框图。与图5中的控制器1200相比,图16中的控制器1200’可以进一步包括纠错码(ECC)模块1270。ECC模块1270可以使用纠错码执行编码和解码。ECC模块1270可以使用使用有限字段(BCH码)、非二进制循环纠错里德-所罗门码(RS码)、高性能前向纠错吗(turbo码)、线性纠错低密度奇偶校验码(LDPC码)等等被构建的一类循环纠错码来编码和解码。
参照图1、8和16,通过ECC模块1270可以编码使用重复图案RP被映射到LSB和MSB上的码字位。可以将被编码数据作为LSB数据和MSB数据写到非易失性存储设备1100。通过ECC模块1270可以解码从非易失性存储设备1100被读出的LSB数据和MSB数据。极性码编码器/解码器1260可以对被解码LSB和MSB数据执行逐次取消解码。
在其它示例实施例中,通过ECC模块1270可以编码输入字Un。通过极性码编码器/解码器1260可以编码被编码的数据,并且可以根据重复图案RP将其映射到LSB数据和MSB数据上。在非易失性存储设备1100中可以写入被映射的LSB数据和MSB数据。极性码编码器/解码器1260可以对从非易失性存储设备1100读取的LSB数据和MSB数据执行逐次取消解码。被解码数据可以通过ECC模块1270进行解码。
图17是示出图1中的存储系统的应用程序的框图。参照图17,存储系统2000可以包括非易失性存储设备2100和控制器2200。非易失性存储设备2100可以包括形成多个组的多个非易失性存储芯片。在每一组中的非易失性存储芯片可以被配置经由一个公共通道与控制器2200通信。在示例实施例中,所述多个非易失性存储芯片可以经由多个通道CH1至CHk与控制器2200通信。
在图17中描述了将一个通道与多个非易失性存储芯片相连接的情形。然而,可以修改存储系统2000使得将一个通道与一个非易失性存储芯片相连接。
图18是示出根据本发明构思示例实施例的存储卡的图示。参照图18,存储卡3000可以包括非易失性存储设备3100、控制器3200、以及连接器3300。
连接器3300可以电气连接存储卡3000和主机1400。
存储卡3000可以由诸如PC个人计算机存储卡国际协会(PCMCIA)卡、小型快闪(CF)卡、智能媒介(SM)存储卡、存储棒、多媒体卡(MMC、RS-MMC、MMCmicro)、安全卡(SD、miniSD、microSD、SDHC)、通用快闪存储(UFS)设备)、等等的存储卡所形成。
图19是示出根据本发明构思的示例实施例的固态驱动器的图示。参照图19,固态驱动器4000可以包括多个非易失性存储设备4100、控制器4200、以及连接器4300。
连接器4300可以电连接固态驱动器4000和主机1400。
图20是示出根据本发明构思的示例实施例的计算系统的框图。参照图20,计算系统5000可以包括中央处理单元5100、RAM5200、用户接口5300、调制解调器5400、系统总线5500、以及存储系统5600。
可以经由系统总线5500将存储系统5600与元件5100、5200、……5400电连接。可以将经由用户接口5300被提供的数据或者被中央处理单元5100处理的数据存储在存储系统5600中。
存储系统5600可以包括非易失性存储设备5610和控制器5620。非易失性存储设备5610可以包括多个非易失性存储芯片。存储系统5600可以是参照图1或17被描述的存储系统1000或2000。
在图20中示出了经由控制器5620将非易失性存储设备5610连接到系统总线5500的情形。然而,非易失性存储设备5610能够直接电连接到系统总线5500。
尽管已经参照示例实施例描述了本发明构思,在不脱离本发明精神和范围的情况下可以对其进行各种改变和修改,这对本领域技术人员将是显而易见的。因此,应当理解以上实施例不是限制性的,而是示意性的。
Claims (20)
1.一种被配置控制非易失性存储设备的存储控制器的操作方法,所述操作方法包括:
通过信息位的极性编码产生码字;
读取映射图案;
通过映射图案的重复产生重复映射图案;以及
基于所述重复映射图案将码字的每一位映射到非易失性存储设备的多位数据的特定位上。
2.如权利要求1所述的操作方法,其中,重复映射图案的长度等于所述码字的长度。
3.如权利要求1所述的操作方法,其中,将码字的每一位映射到非易失性存储设备的多位数据的特定位上包括,根据重复映射图案将码字的每一位映射到最低有效位或者最高有效位上。
4.如权利要求1所述的操作方法,其中,将码字的每一位映射到非易失性存储设备的多位数据的特定位上包括,根据重复映射图案将码字的每一位映射到最低有效位、中间有效位或最高有效位上。
5.如权利要求1所述的操作方法,进一步包括,将被映射的码字作为多位写数据转移到非易失性存储设备。
6.如权利要求5所述的操作方法,进一步包括:
从所述的非易失性存储设备接收多位读数据;
基于重复映射图案将多位读数据转换为读码字;以及
解码所述的读码字。
7.如权利要求1所述的操作方法,进一步包括:
对被映射的码字执行纠错编码;以及
将被编码的码字作为多位写数据转移到非易失性存储设备。
8.如权利要求7所述的操作方法,进一步包括:
从非易失性存储设备接收多位读数据;
对多位读数据执行纠错解码;
基于重复映射图案将被解码的多位读数据转换为读码字;以及
解码所述的读码字。
9.一种选择用于将被极性编码的码字映射到非易失性存储设备的多位上的映射图案的方法,包括:
产生多个图案;
通过多个图案的每一个的重复产生多个重复图案;
计算多个重复图案的差错率;以及
根据所计算的差错率选择多个重复图案之一。
10.如权利要求9所述的方法,其中,基于多位的概率密度函数执行差错率的计算。
11.如权利要求10所述的方法,其中,计算差错率包括基于多位的概率密度函数计算极性编码器输入级的位的差错率。
12.如权利要求11所述的方法,其中,极性编码器输入级的位的差错率的至少之一超过参考值,则不选择相应的重复图案。
13.如权利要求11所述的方法,其中,选择具有极性编码器输入级的位的最低平均差错率的重复图案。
14.如权利要求9所述的方法,进一步包括:
在控制非易失性存储设备的控制器中存储与所选择的重复图案相对应的图案。
15.如权利要求9所述的方法,其中,重复图案的长度等于被极性编码的码字的长度。
16.一种响应于从主机到存储控制器的请求在主机和非易失性存储设备之间转移数据的方法,其中存储控制器被配置来控制读操作和写操作,所述方法包括:
一旦从主机接收到写操作数据,则存储控制器通过对从主机输入的数据执行极性码编码以及将被极性编码的码字的位映射到多位数据来向非易失性存储设备写入被编码的数据,以便将被映射到最高有效位上的极性码字位写入非易失性存储设备作为最高有效位,将被映射到中间有效位上的极性码字位写入非易失性存储设备作为中间有效位,将被映射到最低有效位上的极性码字位写入非易失性存储设备作为最低有效位;以及
一旦从非易失性存储设备接收到读操作编码数据,则存储控制器通过对通过从非易失性存储设备读取的最低有效位、中间有效位和最高有效位的重映射从非易失性存储设备输入的数据的极性码解码来为主机恢复数据。
17.如权利要求16所述的方法,其中,当非易失性存储设备的一个存储单元被配置存储2位数据并且码字具有两位长度时,将所述码字映射到多位数据上,以便:
将码字的第一位映射到最低有效位上,并且将其第二位映射到最高有效位上,或者
将码字的第一位映射到最高有效位上,并且将其第二位映射到最低有效位上。
18.如权利要求16所述的方法,其中当非易失性存储设备的一个存储单元被配置存储2位数据并且码字具有四位长度时,将所述码字映射到多位数据上,以便:
(1)能够将码字的第一位映射到最高有效位上,将其第二位映射到最低有效位上,将码字的第三位映射到最高有效位上,并且将其第四位映射到最低有效位上,或者
(2)将码字的第一位映射到最高有效位上,将其第二位映射到最低有效位上,将码字的第三位映射到最低有效位上,并且将其第四位映射到最高有效位上,或者
(3)将码字的第一位映射到最低有效位上,将其第二位映射到最高有效位上,将码字的第三位映射到最高有效位上,并且将其第四位映射到最高有效位上,或者
(4)将码字的第一位映射到最低有效位上,将其第二位映射到最低有效位上,将码字的第三位映射到最高有效位上,并且将其第四位映射到最高有效位上,或者
(5)将码字的第一位映射到最低有效位上,将其第二位映射到最高有效位上,将码字的第三位映射到最高有效位上,并且将其第四位映射到最低有效位上。
19.如权利要求16所述的方法,其中当一个存储单元被配置存储2位数据并且码字具有长度为n位时,根据使用以下表达式所计算的图案之一将所述码字映射到多位数据上:
20.如权利要求16所述的方法,其中当一个存储单元存储m位数据并且码字具有长度为n位时,根据使用以下表达式所计算的图案中之一将所述码字映射到多位数据上:
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120040909A KR101919934B1 (ko) | 2012-04-19 | 2012-04-19 | 불휘발성 메모리 장치를 제어하는 컨트롤러의 동작 방법 및 극 부호화된 부호어를 불휘발성 메모리 장치의 멀티 비트 데이터에 매핑하는 매핑 패턴을 선택하는 매핑 패턴 선택 방법 |
KR10-2012-0040909 | 2012-04-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103377694A CN103377694A (zh) | 2013-10-30 |
CN103377694B true CN103377694B (zh) | 2018-01-23 |
Family
ID=49290281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310136844.4A Active CN103377694B (zh) | 2012-04-19 | 2013-04-19 | 控制非易失性存储设备的操作方法以及映射图案选择方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9164835B2 (zh) |
JP (1) | JP6250299B2 (zh) |
KR (1) | KR101919934B1 (zh) |
CN (1) | CN103377694B (zh) |
DE (1) | DE102013103391B4 (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102015121B1 (ko) | 2012-10-17 | 2019-08-28 | 삼성전자주식회사 | 불휘발성 메모리 장치를 제어하도록 구성되는 컨트롤러 및 컨트롤러의 동작 방법 |
WO2015074192A1 (zh) | 2013-11-20 | 2015-05-28 | 华为技术有限公司 | 极化码的处理方法和设备 |
US9602241B2 (en) | 2013-12-17 | 2017-03-21 | Samsung Electronics Co., Ltd. | Computing system with polar processing mechanism and method of operation thereof |
CN110572165B (zh) * | 2014-02-20 | 2020-07-24 | 华为技术有限公司 | 编码的速率匹配处理方法和装置 |
US9504042B2 (en) | 2014-05-28 | 2016-11-22 | Samsung Electronics Co., Ltd. | System and method for encoding and decoding of data with channel polarization mechanism |
CN105512056A (zh) * | 2014-09-24 | 2016-04-20 | 中兴通讯股份有限公司 | 数据保存方法、装置及终端 |
TWI566249B (zh) * | 2014-11-21 | 2017-01-11 | 慧榮科技股份有限公司 | 快閃記憶體的資料寫入方法與其控制裝置 |
US9479291B2 (en) | 2015-02-13 | 2016-10-25 | Samsung Electronics Co., Ltd. | Apparatus and method of constructing polar code |
CA2989338A1 (en) | 2015-03-10 | 2016-09-15 | Huawei Technologies Co., Ltd. | Method and communications device for transmitting information |
KR20160123843A (ko) * | 2015-04-17 | 2016-10-26 | 에스케이하이닉스 주식회사 | 반도체 장치 |
US9722635B2 (en) * | 2015-07-01 | 2017-08-01 | Nandext Srl | Controller for a solid-state drive, and related solid-state |
US9715943B2 (en) * | 2015-08-12 | 2017-07-25 | Texas Instruments Incorporated | Semiconductor memory cell multi-write avoidance encoding apparatus, systems and methods |
US10581462B2 (en) | 2015-12-01 | 2020-03-03 | Huawei Technologies Co., Ltd. | Signature-enabled polar encoder and decoder |
TW201733322A (zh) * | 2015-12-14 | 2017-09-16 | Idac控股公司 | 使用極化碼凍結位元之wtru識別 |
US10312947B2 (en) * | 2016-01-21 | 2019-06-04 | Huawei Technologies Co., Ltd. | Concatenated and sliding-window polar coding |
US9941906B2 (en) | 2016-02-18 | 2018-04-10 | Samsung Electronics Co., Ltd. | Sliced polar codes |
WO2017176309A1 (en) * | 2016-04-08 | 2017-10-12 | Intel Corporation | Polar codes for harq transmissions |
US10432234B2 (en) | 2016-07-19 | 2019-10-01 | Mediatek Inc. | Low complexity rate matching for polar codes |
US10461887B2 (en) * | 2016-08-10 | 2019-10-29 | Huawei Technologies Co., Ltd. | Methods and systems for blind detection with polar code |
US10320428B2 (en) * | 2016-08-15 | 2019-06-11 | Qualcomm Incorporated | Outputting of codeword bits for transmission prior to loading all input bits |
KR102706981B1 (ko) * | 2016-08-23 | 2024-09-19 | 에스케이하이닉스 주식회사 | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 |
US10069510B2 (en) | 2016-11-21 | 2018-09-04 | Samsung Electronics Co., Ltd. | System and method for maximal code polarization |
US10049764B2 (en) | 2016-12-13 | 2018-08-14 | Macronix International Co., Ltd. | Control method for memory device and memory controller |
US9823961B1 (en) | 2016-12-13 | 2017-11-21 | Macronix International Co., Ltd. | Memory controller and operating method thereof |
US10425111B2 (en) | 2017-02-06 | 2019-09-24 | Mediatek Inc. | Polar code interleaving and bit selection |
TWI653840B (zh) | 2017-02-06 | 2019-03-11 | 聯發科技股份有限公司 | 極化碼打孔方法及裝置 |
EP3602796A1 (en) * | 2017-04-18 | 2020-02-05 | Huawei Technologies Duesseldorf GmbH | Polar coding with dynamic frozen bits |
DE102018113351A1 (de) * | 2017-06-08 | 2018-12-13 | Samsung Electronics Co., Ltd. | Polares Codieren und Decodieren unter Verwendung von vordefinierten Informationen |
US10505566B2 (en) * | 2017-06-15 | 2019-12-10 | Huawei Technologies Co., Ltd. | Methods and apparatus for encoding and decoding based on layered polar code |
TWI657454B (zh) * | 2017-09-07 | 2019-04-21 | 群聯電子股份有限公司 | 資料編碼方法、記憶體控制電路單元與記憶體儲存裝置 |
KR102426047B1 (ko) * | 2017-11-06 | 2022-07-26 | 삼성전자주식회사 | 폴라 부호 복호화 장치 및 방법 |
US11115062B2 (en) * | 2018-03-16 | 2021-09-07 | SK Hynix Inc. | Memory system with adaptive threshold decoding and method of operating such memory system |
US11237902B2 (en) * | 2019-03-15 | 2022-02-01 | Innogrit Technologies Co., Ltd. | Systems and methods for an ECC architecture with memory mapping |
US11043154B1 (en) * | 2019-12-02 | 2021-06-22 | Tcl China Star Optoelectronics Technology Co., Ltd. | Signal processing method for display panel and device using same |
US11791844B2 (en) * | 2021-12-22 | 2023-10-17 | Huawei Technologies Co., Ltd. | Systems and methods for using special nodes for polar encoding in polar codes |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101124638A (zh) * | 2004-12-06 | 2008-02-13 | 哈佛大学 | 基于纳米尺度线的数据存储 |
CN101145575A (zh) * | 2006-09-15 | 2008-03-19 | 应用智慧有限公司 | 非易失性存储单元及阵列 |
CN102332290A (zh) * | 2010-05-24 | 2012-01-25 | 慧荣科技股份有限公司 | 用来管理和存取闪存模块的控制器 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5150245B2 (ja) * | 2007-12-27 | 2013-02-20 | 株式会社東芝 | 半導体記憶装置 |
KR101466695B1 (ko) * | 2008-04-30 | 2014-12-01 | 삼성전자주식회사 | 멀티 비트 레벨 데이터의 부호화 및 복호화 방법 |
US20090282316A1 (en) | 2008-05-07 | 2009-11-12 | Texas Instruments Incorporated | Memory Access in Low-Density Parity Check Decoders |
KR101518199B1 (ko) | 2008-05-23 | 2015-05-06 | 삼성전자주식회사 | 오류 정정 장치, 그 방법 및 상기 장치를 포함하는 메모리장치 |
KR101403314B1 (ko) | 2008-05-23 | 2014-06-05 | 삼성전자주식회사 | 메모리 장치 및 데이터 비트 저장 방법 |
JP2011044200A (ja) * | 2009-08-20 | 2011-03-03 | Toshiba Corp | 不揮発性半導体記憶装置 |
US8270835B2 (en) | 2010-03-31 | 2012-09-18 | Fujitsu Limited | Method and system for reducing cross-phase modulation in an optical signal |
JP2012014807A (ja) | 2010-07-02 | 2012-01-19 | Toshiba Corp | 不揮発性半導体記憶装置 |
KR101191347B1 (ko) | 2010-10-20 | 2012-10-15 | (주)클래시스 | 고강도집속초음파장치용 3차원이송식 핸드피스 |
US9503126B2 (en) * | 2012-07-11 | 2016-11-22 | The Regents Of The University Of California | ECC polar coding and list decoding methods and codecs |
-
2012
- 2012-04-19 KR KR1020120040909A patent/KR101919934B1/ko active IP Right Grant
-
2013
- 2013-03-13 US US13/801,297 patent/US9164835B2/en active Active
- 2013-04-05 DE DE102013103391.1A patent/DE102013103391B4/de active Active
- 2013-04-19 JP JP2013088461A patent/JP6250299B2/ja active Active
- 2013-04-19 CN CN201310136844.4A patent/CN103377694B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101124638A (zh) * | 2004-12-06 | 2008-02-13 | 哈佛大学 | 基于纳米尺度线的数据存储 |
CN101145575A (zh) * | 2006-09-15 | 2008-03-19 | 应用智慧有限公司 | 非易失性存储单元及阵列 |
CN102332290A (zh) * | 2010-05-24 | 2012-01-25 | 慧荣科技股份有限公司 | 用来管理和存取闪存模块的控制器 |
Also Published As
Publication number | Publication date |
---|---|
US20130283128A1 (en) | 2013-10-24 |
JP6250299B2 (ja) | 2017-12-20 |
CN103377694A (zh) | 2013-10-30 |
DE102013103391A1 (de) | 2013-10-24 |
KR20130118035A (ko) | 2013-10-29 |
JP2013225307A (ja) | 2013-10-31 |
KR101919934B1 (ko) | 2018-11-20 |
US9164835B2 (en) | 2015-10-20 |
DE102013103391B4 (de) | 2023-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103377694B (zh) | 控制非易失性存储设备的操作方法以及映射图案选择方法 | |
CN110444246B (zh) | 用于存储器系统的相邻辅助校正错误恢复及其方法 | |
CN108121669A (zh) | 存储器系统及其操作方法 | |
CN110399311A (zh) | 存储器系统及该存储器系统的操作方法 | |
KR20190019427A (ko) | 메모리 장치 및 그 동작 방법 | |
CN110047544B (zh) | 用于包括qlc单元的存储器装置的编码方法及系统 | |
TWI681401B (zh) | 半導體記憶體裝置和其之操作方法 | |
CN110362270A (zh) | 存储器系统及其操作方法 | |
CN111540393B (zh) | 用于基于字线分组的读取操作的存储器系统和方法 | |
CN112241333B (zh) | 用于存储器系统的编码器及其方法 | |
CN109949839A (zh) | 存储器控制器及存储器控制器的操作方法 | |
CN115620759A (zh) | 非参数化pv电平建模和读取阈值电压估计的系统和方法 | |
CN106716536A (zh) | 数据存储设备的锁存器初始化 | |
CN116361064A (zh) | 使用多级级联码的分层纠错码解码 | |
CN107170485A (zh) | 半导体存储设备及其操作方法 | |
CN109697995A (zh) | 半导体存储器装置及其操作方法 | |
CN110277129B (zh) | 用于包括qlc单元的存储器装置的编码方法和系统 | |
CN110569143B (zh) | 用于存储器系统的解码器及其方法 | |
CN116153364A (zh) | 估计非参数化最佳读取阈值的系统和方法 | |
CN113936715A (zh) | 使用域变换的读取阈值优化系统和方法 | |
CN112416298B (zh) | 闪速存储器的基于原始读取的物理不可克隆功能 | |
KR20190134096A (ko) | 반도체 메모리 장치 및 그 동작 방법 | |
CN109308923A (zh) | 存储器装置及其操作方法 | |
US11967391B2 (en) | System and method for testing multicore SSD firmware based on preconditions generation | |
CN112992205A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |