CN109949839B - 存储器控制器及存储器控制器的操作方法 - Google Patents
存储器控制器及存储器控制器的操作方法 Download PDFInfo
- Publication number
- CN109949839B CN109949839B CN201811019109.4A CN201811019109A CN109949839B CN 109949839 B CN109949839 B CN 109949839B CN 201811019109 A CN201811019109 A CN 201811019109A CN 109949839 B CN109949839 B CN 109949839B
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- random
- conversion
- unit
- 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
Images
Classifications
-
- 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
-
- 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- 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/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- 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
- 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/5642—Sensing or reading circuits; Data output 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- 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/36—Data generation devices, e.g. data inverters
-
- 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
- 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
- G11C2029/0411—Online error correction
-
- 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/5646—Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种存储器控制器,该存储器控制器在主机的请求下控制包括多个存储器单元的半导体存储器装置的操作。该存储器控制器包括数据转换单元。数据转换单元通过将第一数据与先前编程的第二数据比较来转换来自主机的第一数据。
Description
相关申请的交叉引用
本申请要求于2017年12月20日提交的申请号为10-2017-0176583的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本发明的各个实施例总体涉及一种电子装置,并且更特别地,涉及一种存储器控制器及存储器控制器的操作方法。
背景技术
通常,半导体存储器装置(在下文中也被简称为存储器装置)可以二维结构或者三维结构,在二维结构中,串在水平方向上被布置到半导体衬底,在三维结构中,串在垂直方向上被布置到半导体装置。三维存储器装置被设计成克服二维存储器装置的有限的集成度,并且可以包括垂直地堆叠在半导体衬底上的多个存储器单元。存储器控制器可以在来自主机的请求下控制半导体存储器装置的操作。
发明内容
本发明的各个实施例涉及一种具有改进性能的用于存储器装置的存储器控制器,包括该存储器控制器的存储器系统及该存储器控制器的操作方法。
根据实施例,一种存储器控制器,其在主机的请求下控制包括多个存储器单元的半导体存储器装置的操作,该存储器控制器可以包括数据转换单元,其中数据转换单元通过将第一数据与先前编程的第二数据比较来转换来自主机的第一数据。
第二数据可以被编程到第二物理页面中,第二物理页面被定位在邻近用第一数据编程的第一物理页面。
数据转换单元可以包括:第一转换器,通过随机化第一数据来生成随机数据;以及第二转换器,通过将随机数据与第二数据比较来生成转换数据。
第二转换器可以包括:参考数据缓冲器,存储第二数据;转换确定器(determiner),其通过将第二数据与随机数据比较来确定是否转换随机数据;以及转换运算器(operator),基于转换确定器的确定结果通过处理随机数据来生成转换数据。
转换确定器可以包括:XOR运算单元,对第二数据和随机数据执行异或(XOR)运算以生成XOR运算数据;以及结果比较单元,基于包括在XOR运算数据中的零位的数量来确定是否转换随机数据。
当包括在XOR运算数据中的零位的数量大于预定阈值时,结果比较单元可以确定转换随机数据,并且当包括在XOR运算数据中的零位的数量等于或小于预定阈值时,结果比较单元可以确定不转换随机数据。
转换运算器可以包括:数据反转单元,基于结果比较单元的确定结果反转随机数据以生成中间数据;以及标志填充单元,通过将标志位添加到中间数据来生成转换数据。
数据反转单元可以包括:反转器,反转随机数据以输出反转的随机数据;以及多路复用器,基于结果比较单元的确定结果来接收随机数据和反转的随机数据并输出随机数据和反转的随机数据中的一个作为中间数据。
根据实施例,一种存储器控制器,其在主机的请求下控制包括多个存储器单元的半导体存储器装置的操作,该存储器控制器可以包括数据转换单元,其中数据转换单元基于包括在第一数据中的标志位通过从半导体存储器装置恢复第一数据来生成第二数据。
数据转换单元可包括:第一转换器,基于第一数据的标志位生成随机数据;以及第二转换器,通过使随机数据去随机化来生成第二数据。
第一转换器可以包括:数据划分单元,划分第一数据以生成标志位和中间数据;反转确定单元,基于标志位的值确定是否反转中间数据;以及数据恢复单元,基于反转确定单元的确定结果从中间数据生成随机数据。
当标志位具有第一位值时,反转确定单元可以确定反转中间数据,并且当标志位具有第二位值时,反转确定单元可以确定保持中间数据。
数据恢复单元可以包括:反转器,反转中间数据以输出反转的中间数据;以及多路复用器,基于反转确定单元的确定结果来接收中间数据和反转的中间数据并输出中间数据和反转的中间数据中的一个作为随机数据。
根据实施例,一种控制半导体存储器装置的存储器控制器的操作方法可以包括:从主机接收第一数据,通过将第一数据与先前编程到半导体存储器装置中的第二数据比较来确定是否反转第一数据,并且基于确定结果转换第一数据。
第一数据可以完全地被随机化,并且第二数据可以被编程到第二物理页面,该第二物理页面邻近用第一数据编程的第一物理页面。
确定是否反转第一数据可以包括:执行第一数据和第二数据的异或(XOR)运算以生成XOR运算数据,将包括在XOR运算数据中的零位的数量与预定阈值比较,并且基于比较结果转换第一数据。
基于比较结果转换第一数据可以包括:当包括在XOR运算数据中的零位的数量大于预定阈值时,确定转换第一数据,并且当包括在XOR运算数据中的零位的数量等于或小于预定阈值时,确定保持第一数据。
当包括在XOR运算数据中的零位的数量可以大于预定阈值时,转换第一数据可以包括执行第一数据反转操作,并且用第一位值填充第一数据。
当包括在XOR运算数据中的零位的数量可以等于或小于预定阈值时,转换第一数据可以包括用第二位值填充第一数据。
根据实施例,一种控制半导体存储器装置的存储器控制器的操作方法可以包括:从半导体存储器装置接收第一数据;参考第一数据中的标志位;并且基于标志位通过转换第一数据来生成第二数据。
基于标志位转换第一数据可以包括:当标志位是第一位值时,通过反转第一数据中的除标志位之外的数据来生成第二数据,并且当标志位是不同于第一位值的第二位值时,生成第一数据中的除标志位之外的数据作为第二数据。
方法可以进一步包括在生成第二数据之后,使第二数据去随机化。
根据实施例,一种存储器系统包括存储器装置和控制器。存储器装置包括分别在行方向和列方向上联接到字线和位线的存储器单元阵列。控制器被配置为:通过使原始数据随机化生成随机化的数据;基于随机化的数据与存储在联接到一个或多个相邻字线的存储器单元阵列中的先前转换的数据之间的位相似性通过选择性地反转随机化的数据来生成当前转换的数据;生成标志位,其指示当前转换的数据为随机化的数据的反转版本和非反转版本之间的一个;并且控制存储器装置基于字线将当前转换的数据和标志位存储到存储器单元阵列中。
控制器可以进一步被配置为:控制存储器装置基于字线从存储器单元阵列读出当前转换的数据和标志位;根据标志位通过选择性地反转读出的转换数据来恢复随机化的数据;并且通过使恢复的随机化的数据去随机化来恢复原始数据。
附图说明
图1是示出根据本发明的实施例的存储器控制器、半导体存储器装置和包括存储器控制器和半导体存储器装置的存储器系统的框图;
图2是示出图1中所示的半导体存储器装置的示例性配置的框图;
图3示出图2中所示的存储器单元阵列的实施例;
图4是示出作为图3中所示的存储块BLK1至BLKz中的一个的存储块BLKa的实施例的电路图;
图5是示出作为图3中所示的存储块BLK1至BLKz中的一个的存储块BLKb的实施例的电路图;
图6是示出包括在图2中所示的存储器单元阵列中的作为存储块BLK1至BLKz中的一个的存储块BLKc的实施例的电路图;
图7是示出根据本发明的实施例的存储器控制器的数据转换单元的示例的框图;
图8是示出图7的第二转换器的示例性实施例的框图;
图9A是示出图8中所示的转换确定器的示例性实施例的框图;
图9B是示意性地示出由转换确定器执行的转换确定操作的示图;
图10A是示出图8中所示的转换运算器的示例性实施例的框图;
图10B是示意性地示出由转换确定器执行的转换确定操作的示图;
图11是示出图10A的数据反转单元的示例性实施例的框图;
图12是示出根据实施例的存储器控制器的操作方法的流程图;
图13是示出接收图12的第一数据和第二数据的步骤S110的示例的流程图;
图14是示出确定是否反转图12中所示的第二数据的步骤S130的示例的流程图;
图15是示出转换如图12所示的第二数据的步骤S150的示例的流程图;
图16是示出根据本发明的实施例的存储器控制器的数据转换单元的示例的框图;
图17A是示出图16的第三转换器的示例性实施例的框图;
图17B是示意性地示出通过第三转换器的数据转换的示例的示图;
图18是示出图17A的数据恢复单元的示例性实施例的框图;
图19是示出根据实施例的存储器控制器的操作方法的流程图;
图20是示出对如图19所示的接收数据的转换操作的流程图;
图21是示出图1中所示的存储器系统的实施例的框图;
图22是示出图20中所示的存储器系统的应用实施例的框图;以及
图23是示出根据实施例的包括参照图22描述的存储器系统的计算系统的框图。
具体实施方式
现在将在下文中参照附图更全面地描述本发明的示例性实施例。然而,它们可以以不同的形式实施并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本领域技术人员完全传达本示例性实施例的范围。
将理解的是,当元件被称为“联接”或“连接”到某个元件时,它可以直接地联接或连接到某个元件,或者可以间接地联接或连接到某个元件,其间存在中间元件。在本说明书中,当元件被称为“包括”或“包含”部件时,其不排除其它部件,但是也可以进一步包括其它部件。
在下文中,将参照附图详细描述本公开的示例性实施例,以便本领域技术人员能够容易地实施本公开的技术精神。此外,与公知功能或配置有关的详细描述将被省略以避免不必要地模糊本发明的主题。相同的附图标记在附图中始终表示相同的元件。
图1是示出根据本发明的实施例的存储器控制器200、半导体存储器装置100和包括存储器控制器200和半导体存储器装置100的存储器系统10的框图。
参照图1,存储器系统10可以包括半导体存储器装置100和存储器控制器200。半导体存储器装置100可以包括存储器单元阵列110。
存储器单元阵列110可以包括多个存储器区域。如图1所示,存储器区域中的每一个可以是多个存储块BLK1至BLKz。每个存储块可以用作擦除单元。多个存储块BLK1至BLKz中的每一个可以包括多个存储器单元。
半导体存储器装置100可以由存储器控制器200控制。
半导体存储器装置100可以响应于来自存储器控制器200的写入请求将数据写入到存储器单元阵列110中。当在写入请求下接收写入命令、地址和数据时,半导体存储器装置100可以将数据写入到由地址指示的存储器单元中。
半导体存储器装置100可以响应于来自存储器控制器200的读取请求来执行读取操作。当在来自存储器控制器200的读取请求下接收读取命令和地址时,半导体存储器装置100可以读取由地址指示的存储器单元的数据并且将读取数据输出到存储器控制器200。
根据实施例,半导体存储器装置100可以是闪速存储器装置。然而,本发明不限于此。根据实施例,存储器装置100可以是双数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。
根据实施例,存储器装置100可以具有三维阵列结构。本发明不仅可以应用于电荷存储层包括导电浮栅(FG)的闪速存储器,而且还可以被应用于电荷存储层包括绝缘层的电荷捕获闪存(CTF)存储器。
存储器控制器200可以联接在半导体存储器装置100和主机300之间。存储器控制器200可以被配置为接口连接主机300和半导体存储器装置100。主机300可以控制存储器控制器200将写入请求或读取请求传递到半导体存储器装置100。
存储器控制器200可以包括数据转换单元210。数据转换单元210可以转换从主机300传递的数据并且将转换的数据传递到半导体存储器装置100。更具体地,数据转换单元210可以包括随机发生器(未示出),并且随机发生器可以使接收的数据随机化。可以通过随机发生器改善行方向上的数据分布特性。
更具体地,随机发生器可以在写入操作期间被激活。当用于写入数据的存储块的块地址被提供给随机发生器(在下文中也称为目标存储块)时,随机发生器可以生成对应于目标存储块的随机化种子。换言之,随机发生器可以被配置为在对应于多个存储块BLK1至BLKz的随机化种子中生成对应于目标存储块的随机化种子。随机发生器可以通过对来自主机300的接收数据的操作和生成的随机化种子来生成随机化的数据。随机化的数据在行方向上的分布特性可以被改善。
通常,生成的随机化的数据可以被写入到半导体存储器装置的目标存储块中。众所周知,由于基于随机化种子操作的数据被写入到存储器单元阵列110中,因此可以改善存储器单元阵列110中的存储器单元的阈值电压分布,并且可以提高存储在存储器单元中的数据的可靠性。然而,上述的通用随机化方法仅在行方向上改善分布特性而不会在列方向上改善分布特性。
根据本发明的实施例的存储器控制器200的数据转换单元210可以转换随机化的数据(在下文中为‘随机数据’)以生成在列方向上具有改善的分布特性的‘转换数据’。数据转换单元210可以包括转换数据中的标志位。存储器控制器200可以将生成的转换数据传递到半导体存储器装置100。因此,可以进一步改善存储器单元阵列110中的存储器单元的阈值电压分布,并且可以进一步提高存储在存储器单元中的数据的可靠性。
在读取操作期间,数据转换单元210可以接收存储在半导体存储器装置100中的‘转换数据’。如上所述,转换数据可以在列方向以及行方向上具有改善的分布特性。数据转换单元210可以使转换数据逆转换以生成随机数据。当转换数据被写入到存储器装置100中时,转换数据可以通过参考被包括在转换数据中的标志位被逆转换为随机数据。下面将参照图10A和图10B描述标志位。如上所述,随机数据可以指使用随机化种子被随机化的数据。
数据转换单元210中的去随机发生器(未示出)可以被激活。可以生成对应于读取目标存储块的去随机化种子。换言之,当读取目标存储块的块地址被提供给去随机发生器时,去随机发生器可以生成对应于目标存储块的去随机化种子。换言之,去随机发生器可以被配置为在对应于多个存储块BLK1至BLKz的去随机化种子中生成对应于读取目标存储块的去随机化种子。
去随机发生器可以对随机数据执行操作,并且采用生成的去随机化种子使随机数据去随机化为原始数据。通过以上操作,去随机化的原始数据可以被传递到主机300。
如上所述,根据本发明的实施例的存储器控制器200不仅可以通过使待被存储在半导体存储器装置100中的数据随机化来改善行方向上的分布特性,而且可以通过进一步转换随机化的数据来生成在列方向上具有改善的分布特性的转换数据。因此,可以改善存储器单元阵列110中的存储器单元的阈值电压分布,并且可以提高存储在存储器单元中的数据的可靠性。
图2是示出图1所示的半导体存储器装置100的框图。
参照图2,半导体存储器装置100可以包括存储器单元阵列110、地址解码器120、读取和写入电路130、控制逻辑140和电压发生器150。
存储器单元阵列110可以包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz可以通过字线WL联接到地址解码器120。多个存储块BLK1至BLKz可以通过位线BL1至BLm联接到读取和写入电路130。多个存储块BLK1至BLKz中的每一个可以包括多个存储器单元。根据实施例,多个存储器单元可以是具有垂直通道结构的非易失性存储器单元。存储器单元阵列110可以具有二维结构。根据实施例,存储器单元阵列110可以具有三维结构。包括在存储器单元阵列110中的多个存储器单元中的每一个可以存储至少一位的数据。根据实施例,包括在存储器单元阵列110中的多个存储器单元中的每一个可以是存储1位数据的单层单元(SLC)。根据实施例,包括在存储器单元阵列110中的多个存储器单元中的每一个可以是存储2位数据的多层单元(MLC)。根据实施例,包括在存储器单元阵列110中的多个存储器单元中的每一个可以是存储3位数据的三层单元(TLC)。根据实施例,包括在存储器单元阵列110中的多个存储器单元中的每一个可以是存储4位数据的四层单元(QLC)。根据实施例,包括在存储器单元阵列110中的多个存储器单元中的每一个可以存储5位或更多位的数据。
地址解码器120、读取和写入电路130和控制逻辑140可以用作驱动存储器单元阵列110的外围电路。地址解码器120可以通过字线WL联接到存储器单元阵列110。地址解码器120可以由控制逻辑140来控制。地址解码器120可以通过半导体存储器装置100中的输入/输出缓冲器(未示出)接收地址。
地址解码器120可以被配置为解码接收的地址的块地址。地址解码器120可以根据解码的块地址来选择至少一个存储块。另外,在读取操作期间,地址解码器120可以将通过电压发生器150生成的读取电压Vread施加到选择的存储块的选择的字线,并且可以将通过电压Vpass施加到未被选择的字线。另外,在编程验证操作期间,由电压发生器150生成的验证电压可以被施加到选择的存储块的选择的字线,并且通过电压Vpass可以被施加到未被选择的字线。
地址解码器120可以被配置为解码接收的地址的列地址。地址解码器120可以将解码的列地址传递到读取和写入电路130。
半导体存储器装置100的读取操作和编程操作可以以页面为单位来执行。在针对读取操作和编程操作的请求下接收的地址可以包括块地址、行地址和列地址。地址解码器120可以响应于块地址和行地址来选择一个存储块和一个字线。列地址可以由地址解码器120解码,并且被提供给读取和写入电路130。
地址解码器120可以包括块解码器、行解码器、列解码器和地址缓冲器。
读取和写入电路130可以包括多个页面缓冲器PB1至PBm。读取和写入电路130可以在对存储器单元阵列110的读取操作期间用作读取电路,并且在对存储器单元阵列110的写入操作期间用作写入电路。页面缓冲器PB1至PBm可以通过位线BL1至BLm联接到存储器单元阵列110。在读取操作和编程验证操作期间,页面缓冲器PB1至PBm可以将感测电流连续地供给到联接到存储器单元的位线,以通过感测节点感测存储器单元的阈值电压并感测由与其对应的存储器单元的编程状态引起的电流量的变化,从而锁存感测数据。读取和写入电路130可以响应于从控制逻辑140输出的页面缓冲器控制信号来操作。
在读取操作期间,读取和写入电路130可以读出存储器单元的数据,临时存储读取的数据,并且将数据DATA输出到半导体存储器装置100的输入/输出缓冲器(未示出)。根据示例性实施例,除了页面缓冲器PB1至PBm(或页面寄存器)之外,读取和写入电路130可以包括列选择电路。
控制逻辑140可以联接到地址解码器120、读取和写入电路130以及电压发生器150。控制逻辑140可以通过半导体存储器装置100的输入/输出缓冲器(未示出)接收命令CMD和控制信号CTRL。控制逻辑140可以被配置为响应于控制信号CTRL来控制半导体存储器装置100的一般操作。另外,控制逻辑140可以输出控制信号以控制页面缓冲器PB1至PBm的感测节点预充电电势电平。控制逻辑140可以控制读取和写入电路130对存储器单元阵列110执行读取操作。
在读取操作期间,电压发生器150可以响应于从控制逻辑140输出的控制信号生成读取电压Vread和通过电压Vpass。电压发生器150可以包括多个泵电容器,其接收内部电源电压以生成具有各种电压水平的多个电压,并且可以响应于控制逻辑140的控制通过选择性地激活多个泵电容器来生成多个电压。
地址解码器120、读取和写入电路130以及电压发生器150可以用作被配置为对存储器单元阵列110执行读取操作、写入操作和擦除操作的外围电路。控制逻辑140可以控制外围电路对存储器单元阵列110执行读取操作、写入操作和擦除操作。
图3示出图2的存储器单元阵列110的实施例。
参照图3,存储器单元阵列110可以包括多个存储块BLK1至BLKz。存储块中的每一个可以包括三维结构。每个存储块可以包括堆叠在衬底上的多个存储器单元。多个存储器单元可以被布置在+X方向、+Y方向和+Z方向上。下面将参照图4和图5详细地描述每个存储块的结构。
图4是示出图3中所示的存储块BLK1至BLKz中的一个(BLKa)的电路图。
参照图4,存储块BLKa可以包括多个单元串CS11至CS1m和CS21至CS2m。根据实施例,单元串CS11至CS1m和CS21至CS2m中的每一个可以形成为‘U’形。在存储块BLKa中,m个单元串可以被布置在行方向(即,+X方向)上。如图4所示,为了便于说明,两个单元串可以被布置在列方向(即+Y方向)上。然而,理解的是,三个或更多个单元串可以被布置在列方向上。
单元串CS11至CS1m和CS21至CS2m中的每一个可以包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST中的每一个以及存储器单元MC1至MCn中的每一个可以具有彼此相似的结构。根据实施例,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括通道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。在实施例中,用于提供通道层的柱状物(pillar)可以被设置在每个单元串中。根据实施例,用于提供通道层、隧穿绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱状物可以被提供给每个单元串。
每个单元串的源极选择晶体管SST可以联接在共源线CSL与存储器单元MC1至MCp之间。
根据实施例,布置在相同行上的单元串的源极选择晶体管可以联接到在行方向上延伸的源极选择线,并且布置在不同上中的单元串的源极选择晶体管联接到不同的源极选择线。在图4中,第一行中的单元串CS11至CS1m的源极选择晶体管可以联接到第一源极选择线SSL1。第二行中的单元串CS21至CS2m的源极选择晶体管可以联接到第二源极选择线SSL2。
根据实施例,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可以共同地联接到一个源极选择线。
每个单元串的第一存储器单元MC1至第n存储器单元MCn可以联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一存储器单元MC1至第n存储器单元MCn可以被划分成第一存储器单元MC1至第p存储器单元MCp以及第(p+1)存储器单元MCp+1至第n存储器单元MCn。第一存储器单元MC1至第p存储器单元MCp可以顺序地被布置在与+Z方向相反的方向上并且串联地被联接在源极选择晶体管SST与管道晶体管PT之间。第(p+1)存储器单元MCp+1至第n存储器单元MCn可以顺序地被布置在+Z方向上并且串联地被联接在管道晶体管PT和漏极选择晶体管DST之间。第一存储器单元MC1至第p存储器单元MCp以及第(p+1)存储器单元MCp+1至第n存储器单元MCn可以通过管道晶体管PT联接。每个单元串的第一存储器单元MC1至第n存储器单元MCn的栅极可以分别被联接到第一字线WL1至第n字线WLn。
每个单元串的管道晶体管PT的栅极可以联接到管线PL。
每个单元串的漏极选择晶体管DST可以联接在对应的位线和存储器单元MCp+1至MCn之间。在行方向上布置的单元串可以联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11至CS1m的漏极选择晶体管可以联接到第一漏极选择线DSL1。第二行中的单元串CS21至CS2m的漏极选择晶体管可以联接到第二漏极选择线DSL2。
在列方向上布置的单元串可以联接到在列方向上延伸的位线。如图3所示,第一列中的单元串CS11和CS21可以联接到第一位线BL1。第m列中的单元串CS1m和CS2m可以联接到第m位线BLm。
在行方向上布置的单元串中的联接到相同字线的存储器单元可以形成单个页面。例如,第一行中的单元串CS11至CS1m中的联接到第一字线WL1的存储器单元可以构成单个页面。第二行中的单元串CS21到CS2m中的联接到第一字线WL1的存储器单元可以构成另一页面。当漏极选择线DSL1和DSL2中的一个被选择时,在一个行方向上布置的单元串可以被选择。当第一字线WL1至第n字线WLn中的一个被选择时,一个页面可以选自选择的单元串。
根据实施例,偶数位线和奇数位线可以代替第一位线BL1至第m位线BLm。另外,在行方向上布置的单元串CS11至CS1m或CS21至CS2m的偶数单元串可以分别联接到偶数位线,并且在行方向上布置的单元串CS11至CS1m或CS21至CS2m的奇数单元串可以分别联接到奇数位线。
根据实施例,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚拟存储器单元。例如,可以提供至少一个虚拟存储器单元以降低源极选择晶体管SST与存储器单元MC1至MCp之间的电场。可选地,可以提供至少一个虚拟存储器单元以减少漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。当提供较多的虚拟存储器单元时,可以增加存储块BLKa的操作可靠性,而存储块BLKa的大小可以增大。另一方面,当虚拟存储器单元的数量下降时,可以减小存储块BLKa的大小,并且可以降低存储块BLKa的操作可靠性。
为了高效地控制一个或多个虚拟存储器单元,虚拟存储器单元中的每一个可以具有所需的阈值电压。在对存储块BLKa执行擦除操作之前或之后,可以对虚拟存储器单元的部分或整体执行编程操作。当在执行编程操作之后执行擦除操作时,通过控制被施加到联接到各个虚拟存储器单元的虚拟字线的电压,虚拟存储器单元可以具有所需的阈值电压。
图5是示出作为图3中所示的存储块BLK1至BLKz中的存储块BLKb的实施例的电路图。
参照图5,存储块BLKb可以包括多个单元串CS11'至CS1m'和CS21'至CS2m'。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个可以在+Z方向上延伸。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个可以包括在存储块BLK1'下方在衬底(未示出)上方堆叠的至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn以及至少一个漏极选择晶体管DST。
每个单元串的源极选择晶体管SST可以联接在共源线CSL与第一存储器单元MC1至第n存储器单元MCn之间。在相同行中布置的单元串的源极选择晶体管可以联接到相同的源极选择线。在第一行中布置的单元串CS11'至CS1m'的源极选择晶体管可以联接到第一源极选择线SSL1。在第二行中布置的单元串CS21'至CS2m'的源极选择晶体管可以联接到第二源极选择线SSL2。根据实施例,单元串CS11'至CS1m'和CS21'至CS2m'的源极选择晶体管可以共同地联接到单个源极选择线。
每个单元串的第一存储器单元MC1至第n存储器单元MCn可以串联地联接在源极选择晶体管SST和漏极选择晶体管DST之间。第一存储器单元MC1至第n存储器单元MCn的栅极可以分别联接到第一字线WL1至第n字线WLn。
每个单元串的漏极选择晶体管DST可以联接在对应的位线和存储器单元MC1至MCn之间。在行方向上布置的单元串的漏极选择晶体管可以联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11'至CS1m'的漏极选择晶体管可以联接到第一漏极选择线DSL1。第二行中的单元串CS21'至CS2m'的漏极选择晶体管可以联接到第二漏极选择线DSL2。
因此,除了管道晶体管PT从存储块BLKb的每个单元串中被移除之外,图5所示的存储块BLKb可以具有与图4所示的存储块BLKa相似的等效电路。
根据实施例,偶数位线和奇数位线可以代替第一位线BL1至第m位线BLm。另外,在行方向上布置的单元串CS11'至CS1m'或CS21'至CS2m'的偶数单元串可以分别联接到偶数位线,并且在行方向上布置的单元串CS11'至CS1m'或CS21'至CS2m'的奇数单元串可以分别联接到奇数位线。
根据实施例,第一存储器单元MC1至第n存储器单元MCn中的至少一个可以用作虚拟存储器单元。例如,可以提供一个或多个虚拟存储器单元以减少源极选择晶体管SST与第一存储器单元MC1至第n存储器单元MCn之间的电场。可选地,可以提供一个或多个虚拟存储器单元以减少漏极选择晶体管DST与存储单元MC1至MCn之间的电场。当提供较多的虚拟存储器单元时,存储块BLKb的操作可靠性可以增加,而存储块BLKb的大小可以增大。另一方面,当虚拟存储器单元的数量下降时,可以减小存储块BLKb的大小,并且可以降低存储块BLKb的操作可靠性。
为了高效地控制一个或多个虚拟存储器单元,虚拟存储器单元中的每一个可以具有所需的阈值电压。在对存储块BLKb执行擦除操作之前或之后,可以对虚拟存储器单元的部分或整体执行编程操作。当在执行编程操作之后,执行擦除操作时,虚拟存储器单元的阈值电压可以控制被施加到联接到各个虚拟存储器单元的虚拟字线的电压,使得虚拟存储器单元可以具有所需的阈值电压。
图6是示出包括在图2所示的存储器单元阵列110中的作为存储块BLK1至BLKz中的一个的存储块BLKc的实施例的电路图。
参照图6,存储块BLKc可以包括多个单元串CS1至CSm。多个单元串CS1至CSm可以分别联接到多个位线BL1到BLm。单元串CS1至CSm中的每一个可以包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST中的每一个以及存储器单元MC1至MCn中的每一个可以具有彼此相似的结构。根据实施例,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括通道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。根据实施例,用于提供通道层的柱状物可以被设置在每个单元串中。根据实施例,用于提供通道层、隧穿绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱状物可以被提供给每个单元串。
每个单元串的源极选择晶体管SST可以联接在共源线CSL与第一存储器单元MC1至第n存储器单元MCn之间。
每个单元串的第一存储器单元MC1至第n存储器单元MCn可以联接在源极选择晶体管SST和漏极选择晶体管DST之间。
每个单元串的漏极选择晶体管DST可以联接在对应的位线和存储单元MC1至MCn之间。
联接到相同字线的存储器单元可以形成单个页面。当漏极选择线DSL被选择时,单元串CS1至CSm可以被选择。当字线WL1至WLn中的一个被选择时,一个页面可以选自选择的单元串。
根据实施例,偶数位线和奇数位线可以代替第一位线BL1至第m位线BLm。单元串CS1至CSm的偶数单元串可以分别联接到偶数位线,并且单元串CS1至CSm的奇数单元串可以分别联接到奇数位线。
图7是示出根据本发明的实施例的存储器控制器200的数据转换单元210的示例的框图。
参照图7,根据本发明的实施例的存储器控制器200可以包括第一转换器410和第二转换器430。第一转换器410和第二转换器430可以构成控制器200的数据转换单元210。
根据实施例,数据转换单元210可以进一步包括第三转换器610和第四转换器630,如稍后参照图16至图20所述的。
第一转换器410可以转换从主机300传递的数据DATA并且生成随机数据DATA_R。第一转换器410可以被配置为如上所述的随机发生器。第一转换器410可以生成随机化种子。另外,第一转换器410可以对从主机300接收的数据DATA执行操作,并且使用随机化种子来生成随机数据DATA_R。因此,随机数据DATA_R可以在行方向上具有改善的分布特性。由于第一转换器410是随机发生器,因此将省略其进一步的详细描述。第一转换器410可以是任何合适的随机发生器。第一转换器410可以是数据转换器210的部分,或者可选地可以与数据转换器210分离。
例如,如图6所示,随机数据DATA_R可以被存储在联接到存储块BLKc的第三字线WL3的存储器单元中。行方向可以指代图6的字线方向。存储在联接到第三字线WL3的存储器单元中的随机数据DATA_R可以在行方向,即字线WL3方向上具有改善的分布特性。然而,随机数据DATA_R不考虑关于存储在相邻字线,例如邻近第三字线WL3的字线WL2中的数据的分布特性。然而,因为存储在联接到第三字线WL3的存储器单元中的数据可以具有与存储在联接到第二字线WL2的存储器单元中的数据类似的分布特性,所以仅考虑行方向上的随机化的这种类型的随机化可能导致存储在联接到诸如在以上示例中的第二字线WL2和第三字线WL3的相邻字线的存储器单元中的数据的整体分布特性劣化的一些情况。根据本发明的实施例,通过提供存储器控制器200来解决该问题,该存储器控制器200可以进一步转换随机数据DATA_R以生成在存储器单元阵列110的行方向和列方向两者上具有改善的分布特性的转换数据。
第二转换器430可以转换随机数据DATA_R以生成转换数据DATA_C。可以通过将存储随机数据DATA_R的物理页面与相邻物理页面之间的分布特性比较来生成转换数据DATA_C。例如,可以通过将对应于第三字线WL3的随机数据DATA_R与先前存储在第二字线WL2中的数据比较来生成转换数据DATA_C。因此,可以在行方向和列方向两者上改善转换数据DATA_C的分布特性。因此,可以进一步改善存储器单元阵列110中的存储器单元的阈值电压分布,并且可以进一步提高存储在存储器单元中的数据的可靠性。
下面将参照图8至图11描述图7中所示的第二转换器430的详细描述。
图8是示出图7的第二转换器430的示例性实施例的框图。参照图8,第二转换器430可以包括参考数据缓冲器411、转换确定器413和转换运算器415。
参考数据缓冲器411可以存储参考数据Ref_DATA。参考数据Ref_DATA可以对应于与随机数据DATA_R比较的先前物理页面的数据。例如,随机数据DATA_R可以被存储在联接到图6中所示的第三字线WL3的物理页面中,并且参考数据可以是先前存储在联接到第二字线WL2的物理页面中的数据。
例如,当由数据转换单元210转换的数据被存储在联接到第二字线WL2的物理页面中时,联接到第二字线WL2的先前存储的物理页面的转换数据也可以被临时存储为参考数据缓冲器411中的参考数据Ref_DATA。临时存储的参考数据Ref_DATA可以用于转换待被存储在联接到第三字线WL3的物理页面中的当前随机数据DATA_R。每当转换数据DATA_C被写入到半导体存储器装置100中时,可以更新参考数据Ref_DATA。
转换确定器413可以接收随机数据DATA_R。随机数据DATA_R可以指由第一转换器410转换的数据。转换确定器413可以从参考数据缓冲器411接收参考数据Ref_DATA。转换确定器413可以将随机数据DATA_R与参考数据Ref_DATA比较以执行其操作,以生成指示是否转换随机数据DATA_R的确定结果DET。转换确定器413可以基于随机数据DATA_R和参考数据Ref_DATA之间的相似性来生成确定结果DET。例如,转换确定器413可以基于随机数据DATA_R的位和参考数据Ref_DATA的位之间的相同位的数量来生成确定结果DET。生成的确定结果DET可以指示是否转换随机数据DATA_R。例如,确定结果DET可以是指示是否反转随机数据DATA_R。下面将参照图9A和图9B描述转换确定器413的示例性实施例。
转换运算器415可以接收随机数据DATA_R和确定结果DET。转换运算器415可以响应于确定结果DET从随机数据DATA_R生成转换数据DATA_C。例如,转换数据DATA_C可以是随机数据DATA_R或反转的随机数据DATA_R。下面将参照图10A和图10B描述转换确定器415的示例性实施例。
图9A是示出图8中所示的转换确定器413的示例性实施例的框图。图9B是示意性地示出通过转换确定器413的转换确定操作的示图。在下文中,将参照图9A和图9B描述转换确定器413的操作。
参照图9A,转换确定器413可以包括XOR运算单元510和结果比较单元530。
XOR运算单元510可以执行随机数据DATA_R和参考数据Ref_DATA的异或(XOR)运算以生成XOR运算数据XOR_D。生成的XOR运算数据XOR_D可以被传递到结果比较单元530。
结果比较单元530可以将包括在XOR运算数据XOR_D中的零的数量与预定阈值Ref_N比较,以确定是否需要转换随机数据DATA_R,生成指示是否需要转换转换数据DATA_DATA_R的确定结果DET,并且将确定结果DET传输到转换运算器415。
图9B示出针对两种情况的转换确定器413的操作示例。在第一种情况(情况Ⅰ)下,参考数据Ref_DATA可以是“01010001”并且随机数据DATA_R可以是“11010101”。在第一种情况下,随机数据DATA_R“11010101”可以是由图7中所示的第一转换器410转换的数据。另外,参考数据Ref_DATA“01010001”可以是存储在图8中所示的参考数据缓冲器411中的数据。参照图6和图9B,当随机数据DATA_R“01010001”将被存储在联接到第三字线WL3的物理页面中时,参考数据Ref_DATA“01010001”可以被预先存储在联接到第二字线WL2的物理页面中。换言之,转换确定器413可以通过将随机数据DATA_R与存储在联接到邻近当前物理页面的字线的物理页面中的参考数据Ref_DATA比较来确定是否需要转换随机数据DATA_R。
通过XOR运算单元510,可以生成XOR运算数据XOR_D。更具体地,通过将参考数据Ref_DATA的各个位与随机数据DATA_R的各个位比较,当相同位置处的位相同时,可以生成为‘0’的数据,并且当相同位置处的位不同时,可以生成为‘1’的数据。更具体地,参考数据Ref_DATA的第一位是‘0’并且随机数据DATA_R的第一位是‘1’。由于两个位不同,因此XOR运算数据XOR_D的第一位可以是‘1’。另外,参考数据Ref_DATA的第二位是‘1’并且随机数据DATA_R的第二位是‘1’。由于两个位彼此相同,因此XOR运算数据XOR_D的第二位可以是‘0’。另外,参考数据Ref_DATA的第三位是‘0’并且随机数据DATA_R的第三位是‘0’。由于两个位彼此相同,因此XOR运算数据XOR_D的第三位可以是‘0’。以该方式,可以生成XOR运算数据XOR_D。
当XOR运算数据XOR_D被传递到结果比较单元530时,结果比较单元530可以将包括在XOR运算数据XOR_D中的零位的数量与预定阈值Ref_N进行比较,以生成确定结果DET。
例如,当阈值Ref_N是5时,结果比较单元530可以确定包括在XOR运算数据中的零位的数量是5还是更多。
对于第一种情况(情况Ⅰ),包括在XOR运算数据XOR_D中的零位的数量是6,该数量大于为5的阈值Ref_N。因此,可以生成值为1的确定结果DET,这意味着因为参考数据Ref_DATA和随机数据DATA_R具有相对较大数量的相同位,所以可能必须反转随机数据DATA_R。然后,生成的确定结果DET可以被传递到转换运算器415。
在第二种情况(情况Ⅱ)下,参考数据Ref_DATA可以与第一种情况(情况Ⅰ)的参考数据不同。例如,在第二种情况(情况Ⅱ)下,参考数据Ref_DATA可以是“01010001”。另外,在第二种情况(情况Ⅱ)下,参考数据Ref_DATA可以是“00110011”并且与第一种情况(情况Ⅰ)的参考数据不同。在第二种情况下,随机数据DATA_R“11010101”可以是由图7中所示的第一转换器410转换的数据。另外,参考数据Ref_DATA“00110011”可以是存储在图8中所示的参考数据缓冲器411中的数据。参照图6和图9B,当随机数据DATA_R将被存储在联接到第三字线WL3的物理页面中时,参考数据Ref_DATA可以被预先存储在联接到第二字线WL2的物理页面中。换言之,转换确定器413可以将随机数据与存储在紧接在当前物理页面之前的物理页面中的数据d比较。
通过XOR运算单元510,可以生成XOR运算数据XOR_D。更具体地,通过将参考数据Ref_DATA与随机数据DATA_R的各个位的位置比较,当相同位置处的位相同时,可以生成为‘0’的数据,并且当相同位置处的位不同时,可以生成为‘1’的数据。更具体地,参考数据Ref_DATA的第一位是‘0’并且随机数据DATA_R的第一位是‘1’。由于两个位彼此不同,因此XOR运算数据XOR_D的第一位可以是‘1’。另外,参考数据Ref_DATA的第二位是‘0’并且随机数据DATA_R的第二位是‘1’。由于两个位彼此不同,因此XOR运算数据XOR_D的第二位可以是‘1’。另外,参考数据Ref_DATA的第三位是‘1’并且随机数据DATA_R的第三位是‘0’。由于两个位彼此不同,因此XOR运算数据XOR_D的第三位可以是‘1’。以该方式,可以生成XOR运算数据XOR_D。
当XOR运算数据XOR_D被传递到结果比较单元530时,结果比较单元530可以将包括在XOR运算数据XOR_D中的零位的数量与预定阈值Ref_N比较,以生成确定结果DET。
例如,当阈值Ref_N是5时,结果比较单元530可以确定包括在XOR运算数据中的零位的数量是5还是更多。对于第二种情况(情况Ⅱ),包括在XOR运算数据XOR_D中的零位的数量是3,该数量小于为5的阈值Ref_N。因此,可以生成具有值‘0’的确定结果DET,这意味着因为参考数据Ref_DATA和随机数据DATA_R具有少量的彼此相同的位,所以可能不必反转随机数据DATA_R。生成的确定结果DET可以被传递到转换运算器415。
如图9B所示,参考数据Ref_DATA和随机数据DATA_R中的每一个可以包括8个位。然而,本发明不限于此。包括在参考数据Ref_DATA和随机数据DATA_R中的每一个中的位的数量可以根据设计而变化。
图10A是示出图8中所示的转换运算器415的示例性实施例的框图。图10B是示意性地示出转换运算器415的数据转换的示图。
转换运算器415可以包括数据反转单元550和标志填充单元570。
数据反转单元550可以接收随机数据DATA_R和确定结果DET。数据反转单元550可以响应于确定结果DET从随机数据DATA_R生成中间数据DATA_INV。中间数据DATA_INV可以是随机数据DATA_R或反转的随机数据。数据反转单元550可以直接地输出随机数据DATA_R,或者可以根据确定结果DET的值反转随机数据DATA_R以输出反转的随机数据。例如,当确定结果DET的值为‘1’时,数据反转单元550可以反转随机数据DATA_R并且输出反转的随机数据作为中间数据DATA_INV。当确定结果DET的值为‘0’时,数据反转单元550可以直接地输出随机数据DATA_R作为中间数据DATA_INV。
当对应的转换数据DATA_C被写入到半导体存储器装置100中时,中间数据DATA_INV可以被存储在参考数据缓冲器411中作为参考数据Ref_DATA,从而每当将转换数据DATA_C写入到半导体存储器装置100中时,更新参考数据Ref_DATA。
标志填充单元570可以接收中间数据DATA_INV和确定结果DET。标志填充单元570可以根据确定结果DET用标志位填充中间数据DATA_INV,并且可以输出填充的中间数据DATA_INV作为转换数据DATA_C。在下文中,参照图10B描述数据反转单元550的操作和标志填充单元570的操作。
图10B的第一种情况(情况Ⅰ)可以与图9B的第一种情况(情况Ⅰ)相同。在第一种情况(情况Ⅰ)下,由于确定结果DET是‘1’,因此数据反转单元550可以反转随机数据DATA_R并且输出反转的随机数据作为中间数据DATA_INV。由于随机数据DATA_R包括“11010101”的位,因此中间数据DATA_INV可以包括“00101010”的位。
标志填充单元570可以执行填充操作,使得标志位FB可以被包括在中间数据DATA_INV中。当确定结果DET为‘1’时,标志位FB也可以具有‘1’的位。具有值为‘1’的标志位FB可以表示中间数据DATA_INV包括反转的随机数据。
图10B的第二种情况(情况Ⅱ)与图9B的第二种情况(情况Ⅱ)相同。在第二种情况(情况Ⅱ)下,由于确定结果DET是‘0’,因此数据反转单元550可以直接地输出随机数据DATA_R作为中间数据DATA_INV。由于随机数据DATA_R包括“11010101”的位,因此中间数据DATA_INV可以包括“11010101”的位。
标志填充单元570可以执行填充操作,使得标志位FB可以被包括在中间数据DATA_INV中。当确定结果DET为‘0’时,标志位FB也可以具有‘0’的值。具有值‘0’的标志位FB可以表示中间数据DATA_INV包括未反转的随机数据。
当在后续进程中读取转换数据DATA_C时,标志位FB可以用于逆转换转换数据DATA_C。下面将参照图16和图20描述通过标志位FB逆转换转换数据DATA_C的操作。
图11是示出图10A的数据反转单元550的示例性实施例的框图。
参照图11,数据反转单元550可以包括反转器551和多路复用器553。多路复用器553可以接收随机数据DATA_R和反转的随机数据作为输入。另外,多路复用器553可以接收确定结果DET作为控制信号。当确定结果DET的值为‘0’时,多路复用器553可以选择并输出随机数据DATA_R作为中间数据DATA_INV。当确定结果DET为‘1’时,多路复用器553可以选择并输出从反转器551接收的反转的随机数据作为中间数据DATA_INV。如图11所示,数据反转单元550可以根据确定结果DET选择并输出随机数据DATA_R和反转的随机数据中的一个。
图12是根据实施例的存储器控制器200的操作方法的流程图。参照图12,存储器控制器200的操作方法可以包括在步骤S110处接收第一数据和第二数据,在步骤S130处通过将第一数据与第二数据比较来确定是否反转第二数据,并且在步骤S150处基于确定结果转换第二数据。在下文中,下面将参照图13至图15描述图12的操作方法。
图13是示出接收图12的第一数据和第二数据的步骤S110的示例的流程图。参照图13,在步骤S110处接收第一数据和第二数据可以包括在步骤S210处接收已经完成转换的第一数据,并且在步骤S230处接收已经完成随机化的第二数据。
在步骤S210处接收的第一数据可以指先前被编程到相邻物理页面中的数据。例如,第一数据可以是被临时存储在图8的参考数据缓冲器411中的参考数据Ref_DATA或中间数据DATA_INV。如上所述,当对应的转换数据DATA_C被写入到半导体存储器装置100中时,中间数据DATA_INV可以被存储在参考数据缓冲器411中作为参考数据Ref_DATA,从而每当将转换数据DATA_C写入到半导体存储器装置100中时,更新参考数据Ref_DATA。在步骤S230处接收的第二数据可以从主机300传递并且可以被编程到半导体存储器装置100中。更具体地,第二数据可以是由图7的第一转换器410完成随机化的随机数据DATA_R。
图14是示出作出是否反转图12中所示的第二数据的确定的步骤S130的示例的流程图。
参照图14,在步骤S130处确定是否反转第二数据可以包括在步骤S310处执行第一数据和第二数据的XOR运算,在步骤S330处确定作为XOR运算的结果的零的数量是否大于预定阈值Ref_N,并且在步骤S360处根据确定结果确定是否反转第二数据。步骤S360可以包括确定反转第二数据的步骤S350和确定保持第二数据的步骤S630。
在步骤S310处,可以执行第一数据和第二数据的XOR运算。例如,如上面参照图9A和图9B所述,可以执行参考数据Ref_DATA和随机数据DATA_R的XOR运算以生成XOR运算数据XOR_D。在如图9B所例示的第一种情况(情况Ⅰ)下,作为执行步骤S310的结果,可以生成包括‘10000100’的位的XOR运算数据XOR_D。在如图9B所例示的第二种情况(情况Ⅱ)下,作为执行步骤S310的结果,可以生成包括‘11100110’的位的XOR运算数据XOR_D。
在步骤S330处,可以将包括在XOR运算数据XOR_D中的零位的数量与预定阈值Ref_N比较。例如,阈值Ref_N可以是5。对于如图9B所例示的第一种情况(情况Ⅰ),由于包括在XOR运算数据XOR_D中的零位的数量是6,因此进程流程转到步骤S350。对于如图9B所例示的第二种情况(情况Ⅱ),由于包括在XOR运算数据XOR_D中的零位的数量是3,因此进程流程转到步骤S370。
在步骤S350处,由于包括在XOR运算数据XOR_D中的零位的数量大于5,因此确定反转第二数据。可以生成值为‘1’的确定结果DET。在步骤S370处,由于包括在XOR运算数据XOR_D中的零位的数量小于5,因此确定不反转第二数据。因此,可以生成值为‘0’的确定结果DET。
图15是示出转换图12中所示的第二数据的步骤S150的示例的流程图。
参照图15,在步骤S150处转换第二数据包括在步骤S410处确定是否反转第二数据并且在步骤S420处根据确定结果生成转换数据。步骤S420可以包括:当确定反转第二数据时,在步骤S430处执行对第二数据的反转操作;在步骤S450处利用第一位值填充反转的第二数据;并且当确定保持第二数据时,在步骤S470处利用第二位值填充第二数据。
在步骤S410处,可以参照例如确定结果DET来确定是否反转第二数据。例如,当确定结果DET具有值‘1’时,可以确定第二数据的反转并且处理流程可以进行到步骤S430。例如,当确定结果DET具有值‘0’时,可以确定保持而不反转第二数据,并且处理流程可以进行到步骤S470。
在步骤S430处,可以执行第二数据的反转操作。如图10B的第一种情况(情况Ⅰ)所示,可以通过反转随机数据DATA_R来生成中间数据DATA_INV。另外,在步骤S450处,可以利用第一位值填充反转的第二数据。例如,第一位值的值可以为‘1’。如图10B的第一种情况(情况Ⅰ)所示,可以生成包括‘010100011’的位的转换数据DATA_C。
在步骤S470处,在保持第二数据的同时,可以利用第二位值填充第二数据。例如,第二位值的值可以为‘0’。在该示例中,可以生成包括‘110101010’的位的转换数据DATA_C,其中在随机数据DATA_R中包括标志位“0”,如图10B的第二种情况(情况Ⅱ)所示。
图16是示出根据本发明的实施例的存储器控制器200的数据转换单元210的示例的框图。
参照图16,根据实施例的存储器控制器200的数据转换单元210可以包括第三转换器610和第四转换器630。根据实施例,数据转换单元210可以进一步包括如图7所示的第一转换器410和第二转换器430。
第三转换器610可以通过逆转换从半导体存储器装置100读取的转换数据DATA_C来生成随机数据DATA_R。图16中所示的转换数据DATA_C可以由图7中所示的第二转换器430生成并被存储在半导体存储器装置100中。
第四转换器630可以通过使随机数据DATA_R去随机化来生成原始数据DATA并且将原始数据DATA传递到主机300。第四转换器630可以由去随机发生器组成。第四转换器630可以生成去随机化种子。另外,第四转换器630可以执行来自第三转换器610的随机数据DATA_R和去随机化种子的操作,以将随机数据DATA_R去随机化为原始数据DATA。由于第四转换器630可以由公知的去随机发生器组成,因此将省略其详细描述。
图17A是示出图16中所示的第三转换器610的示例性实施例的框图。图17B是示意性地示出通过第三转换器610的数据转换的示图。在下文中,将参照图17A和图17B描述第三转换器610的操作。
参照图17A,第三转换器610可以包括数据划分单元710、反转确定单元730和数据恢复单元750。
数据划分单元710可以将从半导体存储器装置100读取的转换数据DATA_C划分成中间数据DATA_INV和标志位FB。标志位FB可以被传递到反转确定单元730。中间数据DATA_INV可以被传递到数据恢复单元750。反转确定单元730可以基于标志位FB的值生成指示是否反转中间数据DATA_INV的确定结果DET。确定结果DET可以被传递到数据恢复单元750。数据恢复单元750可以反转中间数据DATA_INV并且输出反转的中间数据DATA_INV作为随机数据DATA_R,或者可以直接地输出中间数据DATA_INV作为随机数据DATA_R。输出随机数据DATA_R可以被传递到第四转换器630。
图17B示出针对两种情况的第三转换器610的操作的示例。在第一种情况(情况Ⅰ)下,来自半导体存储器装置100的转换数据DATA_C可以包括‘001010101’的位。数据划分单元710可以将接收数据的最后位作为标志位FB传递到反转确定单元730,并且可以将剩余位‘00101010’作为中间数据DATA_INV传递到数据恢复单元750。对于第二种情况(情况Ⅱ),来自半导体存储器装置100的转换数据DATA_C可以包括‘110101010’的位。数据划分单元710可以将接收数据的最后位作为标志位FB传递到反转确定单元730,并且可以将剩余位‘11010101’作为中间数据DATA_INV传递到数据恢复单元750。
反转确定单元730可以根据标志位FB输出确定结果DET。例如,当标志位FB的位值为‘1’时,反转确定单元730可以将值为‘1’的确定结果DET输出到数据恢复单元750。当标志位FB的位值为‘0’时,反转确定单元730可以将值为‘0’的确定结果DET输出到数据恢复单元750。
数据恢复单元750可以根据确定结果DET将中间数据DATA_INV转换并输出为随机数据DATA_R。对于第一种情况(情况Ⅰ),由于确定结果DET的值为‘1’,因此数据恢复单元740可以反转包括在中间数据DATA_INV中的‘00101010’的位,并且可以输出反转的中间数据DATA_INV作为随机数据DATA_R。对于第二种情况(情况Ⅱ),由于确定结果DET的值为‘0’,因此数据恢复单元740可以直接地输出包括在中间数据DATA_INV中的‘11010101’的位作为随机数据DATA_R。
图18是示出图17A中所示的数据恢复单元750的示例性实施例的框图。
参照图18,数据恢复单元750可以包括反转器751和多路复用器753。多路复用器753可以接收中间数据DATA_INV和反转的中间数据作为输入。另外,多路复用器753可以接收确定结果DET作为控制信号。当确定结果DET的值为‘0’时,多路复用器753可以选择并输出中间数据DATA_INV作为随机数据DATA_R。当确定结果DET的值为‘1’时,多路复用器753可以选择并输出来自反转器751的反转的中间数据作为随机数据DATA_R。如图18所示,数据恢复单元750可以根据确定结果DET选择性地输出中间数据DATA_INV和反转的中间数据中的一个。输出数据可以被传递到第四转换器630作为随机数据DATA_R。如上所述,第四转换器630可以去随机化随机数据DATA_R并将随机数据DATA_R输出到主机300。
参照图7至图11的以上描述可以示出原始数据DATA被转换为转换数据DATA_C。转换数据DATA_C指代在行方向和列方向上具有改善的分布特性的数据。因此,可以改善存储器单元阵列110中的存储器单元的阈值电压分布,并且可以提高存储在存储器单元中的数据的可靠性。参照图16至图18的描述可以示出使用标志位将转换数据DATA_C恢复到原始数据DATA。在读取操作期间,参考数据Ref_DATA可以不被用于数据恢复。
图19是根据实施例的存储器控制器200的操作方法的流程图。参照图19,存储器控制器200的操作方法可以包括在步骤S510处从半导体存储器装置100接收数据,在步骤S530处参考接收的数据中的标志位,并且在步骤S550处基于标志位转换接收的数据。通过参照图19所述的步骤,存储在半导体存储器装置100中的转换数据可以被恢复并提供给主机300。
在步骤S510处,可以从半导体存储器装置100接收数据。接收的数据可以是参照图7至图10B所述的转换数据DATA_C。存储在半导体存储器装置100中的转换数据DATA_C可以响应于主机300的请求从半导体存储器装置100读取到存储器控制器200。
在步骤S530处,可以参考接收的数据中的标志位FB。例如,当标志位FB的位值为‘1’时,转换数据DATA_C中的中间数据DATA_INV可以是反转的随机数据DATA_R。当标志位FB的位值为‘0’时,转换数据DATA_C中的中间数据DATA_INV可以是未反转的随机数据DATA_R。
在步骤S550处,可以基于标志位FB来转换接收的中间数据DATA_INV。将参照图20更详细地描述步骤S550。
图20是示出如图19所示的接收的数据的转换的详细流程图。参照图20,可以确定包括在标志位FB中的标志数据是否指示第一位值,其中标志位FB包括在接收的数据中。例如,第一位值的值可以为‘1’。当标志数据为‘1’时,可以反转包括在转换数据DATA_C中的中间数据DATA_INV。例如,在图17B中所示的第一种情况(情况Ⅰ)下,可以反转接收的转换数据DATA_C中的中间数据DATA_INV的位‘00101010’以生成‘11010101’。
当标志数据为‘0’时,可以保持中间数据DATA_INV。例如,在图17B中所示的第二种情况(情况Ⅱ)下,可以保持接收的转换数据DATA_C中的中间数据DATA_INV‘11010101’。
虽然在图19和图20中未示出,但是根据实施例的存储器控制器200的操作方法可以进一步包括在步骤S550之后使转换的数据去随机化,在步骤S550中,接收的转换数据DATA_C被逆转换为随机数据DATA_R。可以通过图16中所示的第四转换器630对随机数据DATA_R执行去随机化操作。
如上所述,根据本发明的实施例的存储器控制器200及其操作方法,在行方向上随机化的数据(即,随机数据DATA_R)可以与先前编程到相邻物理页面中的数据(即,中间数据DATA_INV)比较,并且可以根据比较结果将随机数据DATA_R反转或保持为转换数据DATA_C。因此,可以改善列方向上的分布特性,可以改善存储器单元阵列110中的存储器单元的阈值电压分布,并且可以提高存储在存储器单元中的数据的可靠性。
图21是示出图1中所示的存储器系统10的实施例(1000)的框图。
参照图21,存储器系统1000可以包括半导体存储器装置100和存储器控制器1100。半导体存储器装置100可以是参照图1所述的半导体存储器装置100。在下文中,将省略重复的解释。
存储器控制器1100可以联接到主机和半导体存储器装置100。存储器装置1100可以对应于图1的存储器控制器200。存储器控制器1100可以被配置为在主机的请求下访问半导体存储器装置100。例如,存储器控制器1100可以控制半导体存储器装置100的读取操作、编程操作、擦除操作和/或后台操作。存储器控制器1100可以被配置为提供半导体存储器装置100和主机之间接口。存储器控制器1100可以被配置为驱动用于控制半导体存储器装置100的固件。
存储器控制器1100可以包括随机存取存储器(RAM)1110、处理单元1120、主机接口1130、存储器接口1140和错误校正块1150。RAM1110可以用作处理单元1120的操作存储器、半导体存储器装置100和主机之间的高速缓冲存储器以及半导体存储器装置100和主机之间的缓冲存储器中的至少一个。处理单元1120可以控制存储器控制器1100的总体操作。另外,在写入操作期间,存储器控制器1100可以临时存储从主机提供的编程数据。
主机接口1130可以包括用于在主机和存储器控制器1100之间交换数据的协议。根据示例性实施例,存储器控制器1100可以使用诸如以下的各种接口协议中的至少一种与主机通信:通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、高速PCI(PCI-E)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机小型接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、电子集成驱动器(IDE)协议和专用协议。
存储器接口1140可以接口连接半导体存储器装置100。例如,存储器接口包括NAND接口或NOR接口。
错误校正块1150使用错误校正码(ECC)来检测和校正从半导体存储器装置100接收的数据中的错误。处理单元1120可以根据错误校正块1150的错误检测结果来控制读取电压,并且控制半导体存储器装置100执行重新读取。根据示例性实施例,错误校正块1150可以被设置为存储器控制器1100的部件中的一个。
存储器控制器1100和半导体存储器装置100可以被集成到单个半导体装置中。在示例性实施例中,存储器控制器1100和半导体存储器装置100可以被集成到一个半导体装置中以构成存储卡。例如,存储器控制器1100和半导体存储器装置100可以被集成到单个半导体器装置中并形成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)、标准闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC或微型MMC)、SD卡(SD、迷你SD、微型SD或SDHC)、通用闪存(UFS)等。
存储器控制器1100和半导体存储器装置100可以被集成到单个半导体装置中以形成固态硬盘(SSD)。固态硬盘(SSD)可以包括被配置为将数据存储在半导体存储器中的存储装置。当存储器系统1000用作半导体驱动器(SSD)时,可以显著提高联接到存储器系统2000的主机的操作速度。
在示例中,存储器系统1000可以被设置为电子装置的诸如以下的各种元件中的一个:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、游戏机、导航系统、黑匣子、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图片播放器、数字图片记录器、数字视频记录器、能够在无线环境下传输/接收信息的装置、形成家庭网络的各种电子装置中的一个、形成计算机网络的各种电子装置中的一个、形成远程信息处理网络的各种电子装置中的一个、RFID装置、或形成计算系统的各种元件中的一个等。
在示例性实施例中,半导体存储器装置100或存储器系统1000可以被嵌入在各种形式的封装中。例如,半导体存储器装置100或存储器系统1000可以被嵌入在诸如以下的封装中:堆叠封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插封装(PDIP)、窝伏尔组件管芯、晶圆型管芯、板上芯片(COB)、陶瓷双列直插封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄四方扁平封装(TQFP)、小外形(SOIC)、收缩小外形封装(SSOP)、薄型小外形(TSOP)、薄四方扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)、晶圆级处理堆叠封装(WSP)等。
图22是示出图21中所示的存储器系统1100的应用示例(2000)的框图。
参照图22,存储器系统2000可以包括半导体存储器装置2100和存储器控制器2200。半导体存储器装置2100可以包括多个半导体存储器芯片。多个半导体存储器芯片可以被划分成多个组。
图22示出多个组通过第一通道CH1至第k通道CHk与存储器控制器2200通信。可以以与以上参照图1描述的半导体存储器装置100基本相同的方式配置和操作半导体存储器芯片1300中的每一个。
每个组可以被配置成通过单个公共通道与存储器控制器2200通信。存储器控制器2200可以以与参照图21描述的存储器控制器1100基本上相同的方式来配置,并且可以被配置为通过多个第一通道CH1至第k通道CHk来控制半导体存储器装置2100的多个存储器芯片。
图23是示出包括参照图22描述的存储器系统2000的计算系统3000的框图。
计算系统3000可以包括中央处理单元3100、随机存取存储器(RAM)3200、用户接口3300、电源3400、系统总线3500和存储器系统2000。
存储器系统2000可以通过系统总线3500电连接到中央处理单元3100、RAM 3200、用户接口3300和电源3400。通过用户接口3300提供的数据或由中央处理单元3100处理的数据被存储在存储器系统2000中。
图23示出半导体存储器装置2100通过存储器控制器2200联接到系统总线3500。然而,半导体存储器装置2100可以直接联接到系统总线3500。存储器控制器2200的功能可以由中央处理单元3100和RAM 3200执行。
图23示出提供以上参照图22描述的存储器系统2000。然而,可以利用参照图21描述的存储器系统1000替换存储器系统2000。在示例性实施例中,计算系统3000可以被配置为包括参照图21和图22描述的存储器系统1000和2000两者。
根据实施例,可以提供具有提高的性能的存储器控制器及其操作方法。
在以上讨论的实施例中,可以选择性地执行或跳过所有步骤。另外,可能并不总是以正常的顺序执行每个实施例中的步骤。此外,在本说明书和附图中公开的实施例旨在帮助本领域普通技术人员更清楚地理解本公开,而不是旨在限制本公开的范围。换言之,本公开所属领域的普通技术人员将能够容易地理解,基于本公开的技术范围,各种变型是可能的。
Claims (20)
1.一种存储器控制器,其在主机的请求下控制包括多个存储器单元的半导体存储器装置的操作,所述存储器控制器包括:
数据转换单元,
其中所述数据转换单元通过将第一数据与先前编程的第二数据比较来转换来自所述主机的第一数据,并且
其中所述数据转换单元包括:
第一转换器,其通过随机化所述第一数据生成随机数据;以及
第二转换器,其通过将所述随机数据与所述第二数据比较来生成转换数据。
2.根据权利要求1所述的存储器控制器,其中所述第二数据被编程到第二物理页面,所述第二物理页面被定位在邻近用所述第一数据将被编程的第一物理页面。
3.根据权利要求1所述的存储器控制器,其中所述第二转换器包括:
参考数据缓冲器,其存储所述第二数据;
转换确定器,其通过将所述第二数据与所述随机数据比较来确定是否转换所述随机数据;以及
转换运算器,其基于所述转换确定器的确定结果通过处理所述随机数据生成所述转换数据。
4.根据权利要求3所述的存储器控制器,其中所述转换确定器包括:
XOR运算单元,其执行所述第二数据和所述随机数据的异或运算,即XOR运算以生成XOR运算数据;以及
结果比较单元,其基于包括在所述XOR运算数据中的零位的数量来确定是否转换所述随机数据。
5.根据权利要求4所述的存储器控制器,其中当包括在所述XOR运算数据中的零位的数量大于预定阈值时,所述结果比较单元确定转换所述随机数据,并且当包括在所述XOR运算数据中的零位的数量等于或小于所述预定阈值时,所述结果比较单元确定不转换所述随机数据。
6.根据权利要求4所述的存储器控制器,其中所述转换运算器包括:
数据反转单元,其基于所述结果比较单元的确定结果来反转所述随机数据以生成中间数据;以及
标志填充单元,其通过将标志位添加到所述中间数据生成所述转换数据。
7.根据权利要求6所述的存储器控制器,其中所述数据反转单元包括:
反转器,其反转所述随机数据以输出反转的随机数据;以及
多路复用器,其接收所述随机数据和所述反转的随机数据并基于所述结果比较单元的确定结果输出所述随机数据和所述反转的随机数据中的一个作为所述中间数据。
8.一种存储器控制器,其在主机的请求下控制包括多个存储器单元的半导体存储器装置的操作,所述存储器控制器包括:
数据转换单元,
其中所述数据转换单元基于包括在第一数据中的标志位通过恢复所述半导体存储器装置的第一数据来生成第二数据,并且
其中所述数据转换单元包括:
第一转换器,其基于所述第一数据的标志位生成随机数据;以及
第二转换器,其通过使所述随机数据去随机化来生成所述第二数据。
9.根据权利要求8所述的存储器控制器,其中所述第一转换器包括:
数据划分单元,其划分所述第一数据以生成所述标志位和中间数据;
反转确定单元,其基于所述标志位的值确定是否反转所述中间数据;以及
数据恢复单元,其基于所述反转确定单元的确定结果从所述中间数据生成所述随机数据。
10.根据权利要求9所述的存储器控制器,其中当所述标志位具有第一位值时,所述反转确定单元确定反转所述中间数据,并且当所述标志位具有第二位值时,所述反转确定单元确定保持所述中间数据。
11.根据权利要求10所述的存储器控制器,其中所述数据恢复单元包括:
反转器,其反转所述中间数据以输出反转的中间数据;以及
多路复用器,其接收所述中间数据和所述反转的中间数据并基于所述反转确定单元的确定结果输出所述中间数据和所述反转的中间数据中的一个作为所述随机数据。
12.一种操作存储器控制器的方法,所述存储器控制器控制半导体存储器装置,所述方法包括:
从主机接收第一数据;
通过将所述第一数据与先前编程到所述半导体存储器装置中的第二数据比较来确定是否反转所述第一数据;并且
基于确定结果转换所述第一数据,
其中所述第一数据被完成随机化,并且所述第二数据被编程到第二物理页面,所述第二物理页面被定位在邻近用所述第一数据编程的第一物理页面。
13.根据权利要求12所述的方法,其中确定是否反转所述第一数据包括:
执行所述第一数据和所述第二数据的异或运算,即XOR运算以生成XOR运算数据;
将包括在所述XOR运算数据中的零位的数量与预定阈值比较;并且
基于比较结果转换所述第一数据。
14.根据权利要求13所述的方法,其中基于所述比较结果转换所述第一数据包括:
当包括在所述XOR运算数据中的零位的数量大于所述预定阈值时,确定转换所述第一数据,并且
当包括在所述XOR运算数据中的零位的数量等于或小于所述预定阈值时,确定保持所述第一数据。
15.根据权利要求14所述的方法,其中当包括在所述XOR运算数据中的零位的数量大于所述预定阈值时,转换所述第一数据包括:
执行所述第一数据的反转操作;并且
用第一位值填充所述第一数据。
16.根据权利要求15所述的方法,其中当包括在所述XOR运算数据中的零位的所述数量等于或小于所述预定阈值时,转换所述第一数据包括:
用第二位值填充所述第一数据。
17.一种操作存储器控制器的方法,所述存储器控制器控制半导体存储器装置,所述方法包括:
从所述半导体存储器装置接收第一数据;
参考所述第一数据中的标志位;并且
基于所述标志位通过转换所述第一数据生成第二数据
其中基于所述标志位转换所述第一数据包括:
当所述标志位是第一位值时,通过反转所述第一数据中的除标志位之外的数据生成所述第二数据,并且
当所述标志位是不同于所述第一位值的第二位值时,生成所述第一数据中的除所述标志位之外的所述数据作为第二数据。
18.根据权利要求17所述的方法,进一步包括在生成所述第二数据之后,使所述第二数据去随机化。
19.一种存储器系统,包括:
存储器装置,其包括分别在行方向和列方向上联接到字线和位线的存储器单元阵列;以及
控制器,其:
通过随机化原始数据生成随机化的数据;
基于所述随机化的数据与存储在联接到一个或多个相邻字线的所述存储器单元阵列中的先前转换的数据之间的位相似性通过选择性地反转所述随机化的数据生成当前转换的数据;
生成标志位,所述标志位指示所述当前转换的数据为所述随机化数据的反转版本和未反转版本之间的一个;并且
控制所述存储器装置基于字线将所述当前转换的数据和所述标志位存储到所述存储器单元阵列中。
20.根据权利要求19所述的存储器系统,其中所述控制器进一步:
控制所述存储器装置基于所述字线从所述存储器单元阵列读出所述当前转换的数据和所述标志位;
根据所述标志位通过选择性地反转所读出的转换数据来恢复所述随机化的数据;并且
通过使所述恢复的随机化数据去随机化恢复所述原始数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0176583 | 2017-12-20 | ||
KR1020170176583A KR20190074890A (ko) | 2017-12-20 | 2017-12-20 | 메모리 컨트롤러 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109949839A CN109949839A (zh) | 2019-06-28 |
CN109949839B true CN109949839B (zh) | 2023-03-21 |
Family
ID=66815194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811019109.4A Active CN109949839B (zh) | 2017-12-20 | 2018-09-03 | 存储器控制器及存储器控制器的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10692579B2 (zh) |
KR (1) | KR20190074890A (zh) |
CN (1) | CN109949839B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190033791A (ko) * | 2017-09-22 | 2019-04-01 | 에스케이하이닉스 주식회사 | 컨트롤러, 반도체 메모리 장치 및 이들을 포함하는 메모리 시스템 |
KR20190074890A (ko) | 2017-12-20 | 2019-06-28 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
JP2020095766A (ja) * | 2018-12-11 | 2020-06-18 | キオクシア株式会社 | 半導体記憶装置 |
CN114467143A (zh) | 2019-11-14 | 2022-05-10 | 长江存储科技有限责任公司 | 用于执行编程操作的方法及相关的存储器件 |
TWI737495B (zh) * | 2020-09-17 | 2021-08-21 | 大陸商珠海南北極科技有限公司 | 記憶體裝置的控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768630A (en) * | 1995-10-06 | 1998-06-16 | Lg Semicon Co., Ltd. | Apparatus for receiving and transmitting a serial data |
CN1967720A (zh) * | 2005-11-18 | 2007-05-23 | 松下电器产业株式会社 | 半导体存储器件及其控制方法 |
CN106326028A (zh) * | 2015-07-03 | 2017-01-11 | 爱思开海力士有限公司 | 具有不同奇偶校验区的存储器件 |
CN106708744A (zh) * | 2015-11-13 | 2017-05-24 | 爱思开海力士有限公司 | 存储系统和存储系统的操作方法 |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4718041A (en) * | 1986-01-09 | 1988-01-05 | Texas Instruments Incorporated | EEPROM memory having extended life |
JP3145251B2 (ja) * | 1994-07-05 | 2001-03-12 | シャープ株式会社 | 画像形成装置 |
US7002941B1 (en) * | 1997-10-14 | 2006-02-21 | Alvarion Israel (2003) Ltd. | Method and apparatus for synchronizing fast ethernet data packets to radio frames in a wireless metropolitan area network |
US20040230867A1 (en) * | 2003-05-15 | 2004-11-18 | Ramin Soheili | Method and system of using high-level code for independent debugging of a processor |
JP2004362206A (ja) * | 2003-06-04 | 2004-12-24 | Fujitsu Ltd | ストレージ装置およびデータ変換プログラム |
JP2006139661A (ja) * | 2004-11-15 | 2006-06-01 | Kumiko Mito | 記憶装置 |
US8552891B2 (en) * | 2006-05-27 | 2013-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for parallel data interfacing using combined coding and recording medium therefor |
JP2008084477A (ja) * | 2006-09-28 | 2008-04-10 | Fujitsu Ltd | データ書込装置及びデータ書込方法 |
JP5031392B2 (ja) * | 2007-02-13 | 2012-09-19 | 株式会社日立製作所 | 記憶制御装置及びストレージシステム |
JP4849073B2 (ja) * | 2008-01-16 | 2011-12-28 | セイコーエプソン株式会社 | 画像処理コントローラおよび印刷装置 |
US7986552B2 (en) * | 2008-03-10 | 2011-07-26 | Hynix Semiconductor Inc. | Nonvolatile memory device and method of operation to program/read data by encoding/decoding using actual data and random data for program/read operation |
US8154918B2 (en) | 2008-06-30 | 2012-04-10 | Sandisk Il Ltd. | Method for page- and block based scrambling in non-volatile memory |
KR101736251B1 (ko) * | 2010-03-04 | 2017-05-17 | 삼성전자주식회사 | 메모리 시스템 |
US8615703B2 (en) * | 2010-06-04 | 2013-12-24 | Micron Technology, Inc. | Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory |
US8543876B1 (en) * | 2010-06-18 | 2013-09-24 | Altera Corporation | Method and apparatus for serial scan test data delivery |
JP2012063871A (ja) * | 2010-09-14 | 2012-03-29 | Univ Of Tokyo | 制御装置およびデータ記憶装置 |
KR101678915B1 (ko) | 2010-12-27 | 2016-11-23 | 삼성전자주식회사 | 플래시 메모리 장치, 그것의 데이터 랜덤화 방법, 및 그것을 포함하는 메모리 시스템 |
KR101736337B1 (ko) | 2011-02-28 | 2017-05-30 | 삼성전자주식회사 | 비휘발성 메모리 장치, 상기 메모리 장치를 제어하는 컨트롤러, 및 상기 컨트롤러 동작 방법 |
KR20120107336A (ko) | 2011-03-21 | 2012-10-02 | 삼성전자주식회사 | 메모리 시스템 및 그것의 어드레싱 방법 |
JP5405513B2 (ja) * | 2011-03-22 | 2014-02-05 | 株式会社東芝 | メモリシステム、不揮発性記憶装置、不揮発性記憶装置の制御方法、及びプログラム |
US20120260034A1 (en) * | 2011-04-06 | 2012-10-11 | Hitachi, Ltd. | Disk array apparatus and control method thereof |
JP2012226822A (ja) | 2011-04-15 | 2012-11-15 | Samsung Electronics Co Ltd | 不揮発性メモリ装置 |
KR101818671B1 (ko) | 2011-04-19 | 2018-02-28 | 삼성전자주식회사 | 불휘발성 메모리 장치, 불휘발성 메모리 시스템 및 그것의 랜덤 데이터 읽기 방법 |
US9294564B2 (en) * | 2011-06-30 | 2016-03-22 | Amazon Technologies, Inc. | Shadowing storage gateway |
KR20130052811A (ko) | 2011-11-14 | 2013-05-23 | 에스케이하이닉스 주식회사 | 불휘발성 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치 |
EP2600284A1 (fr) * | 2011-12-02 | 2013-06-05 | bioMérieux, Inc. | Procédé d'identification de microorganismes par spectrométrie de masse et normalisation de scores |
US9053767B2 (en) * | 2011-12-21 | 2015-06-09 | SK Hynix Inc. | Semiconductor memory device and method of operating the same |
KR102036348B1 (ko) | 2012-02-27 | 2019-10-24 | 삼성전자 주식회사 | 메모리 컨트롤러 및 이의 동작 방법 |
JP5929790B2 (ja) * | 2012-06-19 | 2016-06-08 | ソニー株式会社 | 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法 |
US20140108716A1 (en) * | 2012-10-16 | 2014-04-17 | Samsung Electronics Co., Ltd. | Dynamic random access memory for storing randomized data and method of operating the same |
US20140115234A1 (en) | 2012-10-24 | 2014-04-24 | Samsung Electronics Co., Ltd. | Memory system comprising nonvolatile memory device and related method of operation |
KR102069864B1 (ko) | 2012-11-05 | 2020-01-23 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
US9471419B2 (en) * | 2013-03-12 | 2016-10-18 | Sandisk Technologies Llc | Systems and methods for performing data recovery in a memory system |
US20140310534A1 (en) * | 2013-04-15 | 2014-10-16 | Apple Inc. | Data scrambling in memory devices using combined sequences |
KR102211220B1 (ko) | 2013-11-12 | 2021-02-03 | 에스케이하이닉스 주식회사 | 반도체 장치 및 이의 동작 방법 |
KR102133542B1 (ko) | 2013-12-03 | 2020-07-14 | 에스케이하이닉스 주식회사 | 랜더마이저 및 디랜더마이저를 포함하는 메모리 시스템 |
KR20150078165A (ko) * | 2013-12-30 | 2015-07-08 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 |
KR102320864B1 (ko) * | 2015-03-24 | 2021-11-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
US20160291898A1 (en) * | 2015-04-02 | 2016-10-06 | Samsung Electronics Co., Ltd. | Methods and systems for processing files in memory |
JP6657634B2 (ja) * | 2015-07-24 | 2020-03-04 | ソニー株式会社 | 符号化装置、メモリシステム、通信システムおよび符号化方法 |
US9865338B2 (en) * | 2015-09-02 | 2018-01-09 | Toshiba Memory Corporation | Memory system and method of controlling nonvolatile memory by converting write data written to a page |
US10417122B2 (en) | 2015-09-30 | 2019-09-17 | Seagate Technology Llc | Data randomization using memory block access counts |
CN105679365B (zh) * | 2015-10-20 | 2020-04-10 | 中国科学院微电子研究所 | 半导体存储器操作方法 |
WO2017078985A1 (en) * | 2015-11-05 | 2017-05-11 | Dexcom, Inc. | Compatibility check for continuous glucose monitoring application |
US10372948B2 (en) | 2015-12-15 | 2019-08-06 | Taiwan Semiconductor Manufacturing Company Ltd. | Scrambling apparatus and method thereof |
US9723002B2 (en) * | 2016-01-04 | 2017-08-01 | International Business Machines Corporation | Protecting access to a hardware device through use of an aggregate identity instance |
US9898341B2 (en) * | 2016-02-25 | 2018-02-20 | Western Digital Technologies, Inc. | Adjustable priority ratios for multiple task queues |
US9910616B2 (en) * | 2016-04-13 | 2018-03-06 | Sap Se | Dynamic data access |
US9922686B2 (en) * | 2016-05-19 | 2018-03-20 | Micron Technology, Inc. | Apparatuses and methods for performing intra-module databus inversion operations |
KR20190052441A (ko) * | 2017-11-08 | 2019-05-16 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR20190074890A (ko) | 2017-12-20 | 2019-06-28 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
-
2017
- 2017-12-20 KR KR1020170176583A patent/KR20190074890A/ko unknown
-
2018
- 2018-08-10 US US16/101,038 patent/US10692579B2/en active Active
- 2018-09-03 CN CN201811019109.4A patent/CN109949839B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768630A (en) * | 1995-10-06 | 1998-06-16 | Lg Semicon Co., Ltd. | Apparatus for receiving and transmitting a serial data |
CN1967720A (zh) * | 2005-11-18 | 2007-05-23 | 松下电器产业株式会社 | 半导体存储器件及其控制方法 |
CN106326028A (zh) * | 2015-07-03 | 2017-01-11 | 爱思开海力士有限公司 | 具有不同奇偶校验区的存储器件 |
CN106708744A (zh) * | 2015-11-13 | 2017-05-24 | 爱思开海力士有限公司 | 存储系统和存储系统的操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US10692579B2 (en) | 2020-06-23 |
US20190189223A1 (en) | 2019-06-20 |
KR20190074890A (ko) | 2019-06-28 |
CN109949839A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109935267B (zh) | 半导体存储器装置及其操作方法 | |
CN107393592B (zh) | 半导体存储器件及其操作方法 | |
TWI725296B (zh) | 記憶體裝置及其操作方法 | |
CN109949839B (zh) | 存储器控制器及存储器控制器的操作方法 | |
CN107025923B (zh) | 半导体存储器装置及其操作方法 | |
KR102248835B1 (ko) | 불 휘발성 메모리 장치 및 그것의 동작 방법 | |
TW201913666A (zh) | 記憶體裝置及其操作方法 | |
US20190096485A1 (en) | Controller, semiconductor memory device, and memory system having the same | |
US8817540B2 (en) | Nonvolatile memory device and program method thereof | |
CN109493895B (zh) | 半导体存储器装置及其操作方法 | |
CN110197693B (zh) | 半导体存储器装置和与操作半导体存储器装置有关的方法 | |
KR20200021821A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
KR102479483B1 (ko) | 메모리 시스템 및 이의 동작 방법 | |
CN109979513B (zh) | 半导体存储器装置及其操作方法 | |
US9990969B2 (en) | Page buffer and memory device including the same | |
US20190138455A1 (en) | Memory controller and method of operating the same | |
US20190295654A1 (en) | Semiconductor memory device and method of operating the semiconductor memory device | |
CN112908370B (zh) | 存储器装置和操作该存储器装置的方法 | |
CN111341370B (zh) | 半导体存储器装置、控制器、存储装置及其操作方法 | |
CN112242155B (zh) | 半导体存储器装置 | |
US10937511B2 (en) | Semiconductor memory device, memory system including controller, and method of operating controller | |
CN114078532A (zh) | 半导体存储器装置及其操作方法 | |
CN112992205A (zh) | 具有随机化器的半导体存储器设备和存储器控制器 | |
KR102362858B1 (ko) | 반도체 메모리 장치 및 그 동작 방법 | |
CN112346651A (zh) | 用于半导体存储器器件的控制器及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |