CN111312305A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN111312305A CN111312305A CN201910909102.8A CN201910909102A CN111312305A CN 111312305 A CN111312305 A CN 111312305A CN 201910909102 A CN201910909102 A CN 201910909102A CN 111312305 A CN111312305 A CN 111312305A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- program
- logical page
- pieces
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- 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/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1057—Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/26—Sensing or reading circuits; Data output circuits
-
- 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/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1084—Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种存储器控制器,该存储器控制器控制包括存储器单元的存储器装置,该存储器控制器包括:输入/输出缓冲器,存储从主机提供的输入数据;数据转换器,生成通过转换输入数据而获得的编程数据,使得待存储在存储器单元中的数据模式之中的特定数据模式的数量发生改变;以及操作控制器,向存储器装置提供编程数据。通过选择性地反转输入数据中包括的多条逻辑页面数据来生成编程数据。
Description
相关申请的交叉引用
本申请要求于2018年12月11日提交的申请号为10-2018-0159490的韩国专利申请的优先权,其全部公开内容通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种电子装置,且更特别地,涉及一种存储装置和操作该存储装置的方法。
背景技术
通常,存储装置在诸如计算机或智能手机的主机装置的控制下存储数据。存储装置可包括被配置成存储数据的存储器装置,以及被配置成控制存储器装置的存储器控制器。存储器装置主要分类为易失性存储器装置和非易失性存储器装置。
易失性存储器装置仅在被供应电力时存储数据。电源断开时会丢失所存储的数据。易失性存储器装置的示例包括静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。
在非易失性存储器装置中,即使在电源断开时,也将保持所存储的数据。非易失性存储器装置的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)以及闪速存储器。
发明内容
本公开的各个实施例涉及一种具有提高的可靠性的存储装置及操作该存储装置的方法。
本公开的实施例可提供一种存储器控制器,该存储器控制器被配置成控制包括存储器单元的存储器装置,该存储器控制器包括:输入/输出缓冲器,被配置成存储从主机提供的输入数据;数据转换器,被配置成生成通过转换输入数据而获得的编程数据,使得待存储在存储器单元中的数据模式之中的特定数据模式的数量发生改变;以及操作控制器,被配置成向存储器装置提供编程数据,其中通过选择性地反转输入数据中包括的多条逻辑页面数据来生成该编程数据。
本公开的实施例可提供一种存储器控制器,该存储器控制器被配置成控制包括存储器单元的存储器装置,该存储器控制器包括:操作控制器,被配置成从存储器装置接收通过读取存储器单元中存储的数据而获得的读取数据,该读取数据包括多条逻辑页面数据和对应于该多条逻辑页面数据的反转信息;数据转换器,被配置成生成输出数据,该输出数据为通过基于该反转信息来选择性地反转多条逻辑页面数据而获得的数据;以及输入/输出缓冲器,被配置成向主机提供该输出数据。
本公开的实施例可提供一种操作存储器控制器的方法,该存储器控制器被配置成控制包括存储器单元的存储器装置,该方法包括:生成通过转换从主机提供的输入数据而获得的编程数据,使得存储器单元中存储的数据模式之中的特定数据模式的数量发生改变;并且向存储器装置提供用于将编程数据存储在存储器装置中的编程命令,其中通过选择性地反转输入数据中包括的多条逻辑页面数据来生成该编程数据。
本公开的实施例可提供一种存储装置,该存储装置包括:存储器装置,包括存储器单元;以及存储器控制器,被配置成从主机接收输入数据,生成通过转换输入数据而获得的编程数据,使得待存储在存储器单元中的数据模式之中的特定数据模式的数量发生改变,并且将编程数据存储在存储器单元中,其中通过选择性地反转输入数据中包括的多条逻辑页面数据来生成该编程数据,并且该编程数据包括对应于多条逻辑页面数据的反转信息。
本公开的实施例可提供一种存储装置,该存储装置包括:存储器装置,包括对应于多层逻辑页面的物理页面;以及控制器,被配置成:通过以降序或升序选择性地反转分别对应于多层逻辑页面的多层原始数据条来生成反转数据,生成表示经反转数据条的反转信息,并且控制存储器装置以将经反转数据条和反转信息存储到物理页面中,其中与当未反转的当前层数据条和先前层数据条组合时相比,当将经反转的当前层数据条和先前层数据条组合时,如果原始数据中的模式出现数量增加或减少,则控制器反转该多层数据条之中的当前层数据条。
本公开的实施例可提供一种存储装置,包括:存储器装置,包括对应于多层逻辑页面的物理页面,并且被配置成存储反转数据和反转信息;以及控制器,被配置成通过根据反转信息选择性地反转多层反转数据条来恢复原始数据,其中反转数据被存储为多层原始数据条,该多层原始数据条分别对应于以降序或升序选择性反转的多层逻辑页面,其中与未反转的当前层原始数据条和先前层原始数据条的组合相比,当将经反转的当前层原始数据条和先前层原始数据条组合时,如果待存储在物理页面内的每个单元中的原始数据的设置模式的数量增加或减少,则多层反转数据条之中的当前层反转数据条被存储为经反转的。
附图说明
图1是示出根据本公开的实施例的存储装置的框图。
图2是示出诸如图1的存储器装置的配置的示图。
图3是示出诸如图2的存储器单元阵列的实施例的示图。
图4是示出根据本公开的实施例的图3的存储块BLK1至BLKz中的代表性存储块BLKa的电路图。
图5是示出根据本公开的另一实施例的图3的存储块BLK1至BLKz中的代表性存储块BLKb的电路图。
图6是示出根据本公开的实施例的图2的存储块BLK1至BLKz中的代表性存储块BLK1的区域的示意图。
图7是示出根据本公开的实施例的存储器单元的阈值电压分布和逻辑页面数据的示图。
图8是示出根据本公开的实施例的存储器控制器的配置和操作的示图。
图9是示出图8的数据编码器的配置和操作的示图。
图10是示出图8的数据解码器的配置和操作的示图。
图11是示出根据本公开的实施例的转换数据使得特定数据模式的数量增加的进程的示图。
图12是示出根据本公开的实施例的转换数据使得特定数据模式的数量减少的进程的示图。
图13是示出根据本公开的实施例的存储器控制器的操作的流程图。
图14是示出根据本公开的实施例的存储器控制器的操作的流程图。
图15是示出根据本公开的实施例的存储器控制器的操作的流程图。
图16是示出根据本公开的实施例的存储装置的操作的流程图。
图17是示出图1的存储器控制器的实施例的示图。
图18是示出根据本公开的实施例的采用存储装置的存储卡系统的框图。
图19是示出根据本公开的实施例的采用存储装置的固态驱动器(SSD)系统的框图。
图20是示出根据本公开的实施例的采用存储装置的用户系统的框图。
具体实施方式
本文呈现的具体结构和功能描述针对本公开的实施例。然而,本发明不限于所提供的具体描述或本文描述的任何实施例。
虽然详细地描述了各个实施例,但本发明不限于任何特定的实施例。相反,本发明包含落入本公开的实质和范围内的所有替代方案、修改方案、等同方案和其它实施例。
将理解的是,虽然可在本文中使用术语“第一”、“第二”等来识别各个元件,但是这些元件不应受这些术语的限制。这些术语仅用于将一个元件与另外具有相同或相似名称的另一个元件区分开。例如,在不背离本公开的教导的情况下,一个实例中的第一元件在另一实例中可被称为第二元件。
将理解的是,当元件被称为“联接”或“连接”到另一元件时,其可以直接联接或连接到另一元件,或者在其间可存在一个或多个中间元件。相反地,应理解的是,当元件被称为“直接联接”或“直接连接”到另一元件时,则不存在中间元件。诸如“在……之间”、“直接在……之间”、“相邻于”或“直接相邻于”的解释元件之间的关系的其它表述应以相同的方式解释。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制。在本公开中,除非上下文另有明确说明,否则单数形式旨在包括复数形式,反之亦然。将进一步理解的是,当在本说明书中使用时,术语“包括”、“包含”、“具有”等指示所陈述的特征、整数、步骤、操作、元件、组件和/或其组合的存在,但并不排除一个或多个其它特征、整数、步骤、操作、元件、组件和/或其组合的存在或添加。
除非另有定义,否则本文使用的包括技术和科学术语的所有术语具有与本公开所属领域的普通技术人员通常理解的相同的含义。将进一步理解的是,本文使用的术语应当被解释为具有与其在本说明书和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
将省略对本领域技术人员公知的功能和结构的详细描述,以避免模糊本公开的主题。这旨在使本公开的主题更加清晰。
下面参照附图详细描述本公开的各个实施例,以使本领域技术人员能够实践本发明。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
图1是示出根据本公开的实施例的存储装置50的示图。
参照图1,存储装置50可包括存储器装置100和被配置成控制存储器装置100的操作的存储器控制器200。存储装置50可被配置成在诸如以下的主机300的控制下存储数据:蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统。
根据作为与主机300之间的通信系统的主机接口,存储装置50可被配置成各种类型的存储装置中的任意一种。例如,存储装置50可被配置成SSD,MMC、eMMC、RS-MMC或微型-MMC型多媒体卡,SD、迷你-SD、微型-SD型安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-e或PCIe)型存储装置,紧凑型闪存(CF)卡,智能媒体卡和/或记忆棒。
存储装置50可被制造为各种封装类型中的任意一种。例如,存储装置50可被制造成堆叠封装(POP)类型、系统级封装(SIP)类型、片上系统(SOC)类型、多芯片封装(MCP)类型、板上芯片(COB)类型、晶圆级制造封装(WFP)类型以及晶圆级堆叠封装(WSP)类型。
存储器装置100可在其中存储数据。存储器装置100可在存储器控制器200的控制下操作。存储器装置100可包括存储器单元阵列,该存储器单元阵列包括被配置成在其中存储数据的多个存储器单元。
存储器单元可包括能够存储单个数据位的单层单元(SLC)、能够存储两个数据位的多层单元(MLC)、能够存储三个数据位的三层单元(TLC)或能够存储四个数据位的四层单元(QLC)。
存储器单元阵列可包括多个存储块。
每个存储块可包括多个存储器单元。每个存储块可包括多个页面。在实施例中,页面可以是将数据存储在存储器装置100中或从存储器装置100读取所存储数据的单位。存储块可以是擦除数据的单位。在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移力矩随机存取存储器(STT-RAM)。在本说明书中,作为示例,在存储器装置100是NAND闪速存储器的背景下描述本发明的特征和各方面。
存储器装置100可从存储器控制器200接收命令和地址,并且访问存储器单元阵列的、通过地址选择的区域。换言之,存储器装置100可对通过地址选择的区域执行与命令相对应的操作。例如,存储器装置100可执行写入(编程)操作、读取操作和擦除操作。在编程操作期间,存储器装置100可将数据编程到通过地址选择的区域。在读取操作期间,存储器装置100可从通过地址选择的区域读取数据。在擦除操作期间,存储器装置100可从通过地址选择的区域擦除数据。
存储器控制器200可控制存储装置50的全部操作。
当向存储装置50施加电力时,存储器控制器200可执行固件。在存储器装置100为闪速存储器装置的情况下,存储器控制器200可执行诸如闪存转换层(FTL)的固件,以控制主机300和存储器装置100之间的通信。
在实施例中,存储器控制器200可从主机300接收数据和逻辑块地址(LBA),并且将LBA转换成物理块地址(PBA),该物理块地址指示将存储数据的存储器单元的地址,存储器单元被包括在存储器装置100中。
存储器控制器200可响应于来自主机300的请求而控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可向存储器装置100提供编程命令、PBA和数据。在读取操作期间,存储器控制器200可向存储器装置100提供读取命令和PBA。在擦除操作期间,存储器控制器200可向存储器装置100提供擦除命令和PBA。
在实施例中,存储器控制器200可不考虑来自主机300的请求而自主地生成编程命令、地址和数据,并且将它们传输到存储器装置100。例如,存储器控制器200可向存储器装置100提供命令、地址和数据以执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,存储器控制器200可控制至少两个或更多个存储器装置100。在这种情况下,存储器控制器200可以交错方式来控制存储器装置100,以便增强操作性能。交错方案可以是两个或多个存储器装置100的操作时段重叠的操作方案。
在实施例中,存储器控制器200可包括输入/输出缓冲器210、数据转换器220和操作控制器230。
输入/输出缓冲器210可存储响应于主机300的写入请求而输入的数据。输入/输出缓冲器210可将所存储的数据提供到数据转换器220。输入/输出缓冲器210可存储响应于主机300的读取请求而待输出到主机300的数据。输入/输出缓冲器210可从数据转换器220接收这种数据。
数据转换器220可转换从输入/输出缓冲器210提供的数据,并且生成待存储在存储器装置100中的编程数据。数据转换器220可通过转换输入数据来生成编程数据,使得待存储在存储器装置100中的数据模式之中的特定数据模式的数量增加。在实施例中,数据转换器220可通过转换输入数据来生成编程数据,使得待存储在存储器装置100中的数据模式之中的特定数据模式的数量减少。增加或减少特定数据模式的数量表示在具有多个数据模式的数据值之中调整具有特定数据模式的数据值的数量。基于存储器单元存储的数据位的数量来确定多个数据模式。例如,单层单元(SLC)可具有两个数据模式(0,1)。多层单元(MLC)可具有四个数据模式(00,01,10,11)。每个数据模式可分别对应于参照图7的存储器单元具有的擦除状态和多个编程状态中的一个。
特定数据模式中的每一个可以是预设数据模式。具体地,可调整具有特定数据模式的数据值的数量,以改善编程干扰、存储器单元保持、随机化等。换言之,可根据数据转换的目的来不同地确定特定数据模式。例如,可将对应于最高编程状态或最低编程状态的数据模式设置为特定数据模式,以减少编程干扰。可将对应于最大数量的数据值或最小数量的数据值的数据模式设置为特定数据模式,以在随机化中均匀地分布数据。
数据转换器220可生成通过选择性地反转输入数据中包括的多条逻辑页面数据而获得的经转换数据,使得特定数据模式的数量增加或减少。数据转换器220可生成指示多条逻辑页面数据中的每一条是否已被反转的反转信息。数据转换器220可生成包括经转换数据和反转信息的编程数据,并且将所生成的编程数据提供到操作控制器230。
数据转换器220可从操作控制器230接收通过读取存储器单元中存储的数据而获得的读取数据。此处,读取数据可包括多条逻辑页面数据和对应于该多条逻辑页面数据中的每一条的反转信息。反转信息可以是指示相应的逻辑页面数据是否已被反转的信息。
数据转换器220可通过使用读取数据中包括的反转信息转换读取数据来生成输出数据。在实施例中,数据转换器220可通过基于反转信息而选择性地反转读取数据中包括的多条逻辑页面数据来生成输出数据。数据转换器220可将所生成的输出数据提供到输入/输出缓冲器210。
操作控制器230可将从数据转换器220提供的编程数据存储在存储器装置100中。操作控制器230可将通过读取存储器装置100中存储的数据而获得的读取数据提供到数据转换器220。
主机300可使用诸如以下的各种通信方法中的至少一种来与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及负载减小的DIMM(LRDIMM)通信方法。
图2是示出图1的存储器装置100的配置的示图。
参照图2,存储器装置100可包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110可包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL联接到地址解码器121。存储块BLK1至BLKz可通过位线BL1至BLm联接到读取/写入电路123。存储块BLK1至BLKz中的每一个可包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。多个存储器单元之中的联接到相同字线的存储器单元被定义为一个页面。换言之,存储器单元阵列110由多个页面形成。在实施例中,存储器单元阵列110中的存储块BLK1至BLKz中的每一个可包括多个虚设单元。此处,一个或多个虚设单元可串联联接在漏极选择晶体管与存储器单元之间以及源极选择晶体管与存储器单元之间。
存储器装置100的存储器单元中的每一个可由能够存储单个数据位的单层单元(SLC)、能够存储两个数据位的多层单元(MLC)、能够存储三个数据位的三层单元(TLC)或能够存储四个数据位的四层单元(QLC)形成。
外围电路120可包括地址解码器121、电压生成器122、读取/写入电路123、数据输入/输出电路124以及感测电路125。
外围电路120可驱动存储器单元阵列110。例如,外围电路120可驱动存储器单元阵列110,以执行编程操作、读取操作或擦除操作。
地址解码器121通过行线RL联接到存储器单元阵列110。行线RL可包括漏极选择线、字线、源极选择线和共源线。在实施例中,字线可包括普通字线和虚设字线。在实施例中,行线RL可进一步包括管道选择线。
地址解码器121可在控制逻辑130的控制下操作。地址解码器121可从控制逻辑130接收地址ADDR。
地址解码器121可对接收到的地址ADDR中的块地址进行解码。地址解码器121可根据解码的块地址来选择存储块BLK1至BLKz中的至少一个。地址解码器121可对接收到的地址ADDR中的行地址RADD进行解码。地址解码器121可根据解码的行地址RADD,通过将从电压生成器122供应的电压施加到至少一个字线WL来选择所选择的存储块的至少一个字线WL。
在编程操作期间,地址解码器121可将编程电压施加到所选择的字线并将电平低于编程电压的电平的通过电压施加到未选择的字线。在编程验证操作期间,地址解码器121可将验证电压施加到所选择的字线并将具有高于验证电压的电平的验证通过电压施加到未选择的字线。
在读取操作期间,地址解码器121可将读取电压施加到所选择的字线并将具有高于读取电压的电平的读取通过电压施加到未选择的字线。
在实施例中,可基于存储块来执行存储器装置100的擦除操作。在擦除操作期间,待输入到存储器装置100的地址ADDR包括块地址。地址解码器121可对块地址进行解码,并根据解码的块地址选择相应的存储块。在擦除操作期间,地址解码器121可将接地电压施加到与所选择的存储块联接的字线。
在本公开的实施例中,地址解码器121可对传输的地址ADDR中的列地址进行解码。经解码列地址可被传输到读取/写入电路123。例如,地址解码器121可包括诸如行解码器、列解码器和地址缓冲器的组件。
电压生成器122可使用供应到存储器装置100的外部供给电压来生成多个操作电压Vop。电压生成器122可在控制逻辑130的控制下进行操作。
在实施例中,电压生成器122可通过调节外部供给电压来生成内部供给电压。从电压生成器122生成的内部供给电压可用作存储器装置100的操作电压。
在实施例中,电压生成器122可使用外部供给电压或内部供给电压来生成多个操作电压Vop。电压生成器122可生成存储器装置100所需的各种电压。例如,电压生成器122可生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压以及多个未选择读取电压。
电压生成器122可包括被配置成接收内部供给电压的多个泵浦电容器以生成具有各种电压电平的多个操作电压Vop,并且可在控制逻辑130的控制下通过选择性地启用多个泵浦电容器来生成多个操作电压Vop。
所生成的操作电压Vop可通过地址解码器121供应到存储器单元阵列110。
读取/写入电路123可包括可分别通过第一至第m位线BL1至BLm联接到存储器单元阵列110的第一至第m页面缓冲器PB1至PBm。第一至第m页面缓冲器PB1至PBm可在控制逻辑130的控制下操作。
第一至第m页面缓冲器PB1至PBm可与数据输入/输出电路124通信数据DATA。在编程操作期间,第一至第m页面缓冲器PB1至PBm可通过数据输入/输出电路124和数据线DL接收待存储的数据DATA。
在编程操作期间,当编程脉冲被施加到所选择的字线时,第一至第m页面缓冲器PB1至PBm可通过位线BL1到BLm将通过数据输入/输出电路124接收的数据DATA传输到所选择的存储器单元。所选择的页面中的存储器单元基于传输的数据DATA进行编程。联接到被施加编程启用电压(例如,接地电压)的位线的存储器单元可具有增加的阈值电压。联接到被施加编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可被保持。在编程验证操作期间,第一至第m页面缓冲器PB1至PBm可通过位线BL1至BLm从所选择的存储器单元读取数据DATA。
在读取操作期间,读取/写入电路123可通过位线BL从所选择的页面中的存储器单元中读取数据DATA,并且将所读取的数据DATA存储在第一至第m页面缓冲器PB1至PBm中。
在擦除操作期间,读取/写入电路123可使位线BL浮置。在实施例中,读取/写入电路123可包括列选择电路。
在实施例中,当读取/写入电路123中的多个页面缓冲器中的一些页面缓冲器中存储的数据被编程到存储器单元阵列110时,其它页面缓冲器可从存储器控制器200接收新数据并存储该新数据。
数据输入/输出电路124通过数据线DL联接到第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124可在控制逻辑130的控制下操作。
数据输入/输出电路124可包括用于接收输入数据DATA的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124可从外部控制器(未示出)接收待存储的数据DATA。在读取操作期间,数据输入/输出电路124可将从读取/写入电路123中包括的第一至第m页面缓冲器PB1至PBm接收的数据DATA输出到外部控制器。
在读取操作或验证操作期间,感测电路125可响应于由控制逻辑130生成的使能位信号VRYBIT而生成参考电流,并且将从读取/写入电路123接收的感测电压VPB与由参考电流生成的参考电压进行比较,并将通过信号或失败信号输出到控制逻辑130。
控制逻辑130可联接到地址解码器121、电压生成器122、读取/写入电路123、数据输入/输出电路124以及感测电路125。控制逻辑130可控制存储器装置100的全部操作。控制逻辑130可响应于从外部装置传输的命令CMD而进行操作。
控制电路130可响应于命令CMD和地址ADD生成各种信号,并且控制外围电路120。例如,控制逻辑130可响应于命令CMD和地址ADD,生成操作信号OPSIG、行地址RADD、读取/写入电路控制信号PBSIGNALS、使能位信号VRYBIT。控制逻辑130可向电压生成器122输出操作信号OPSIG,向地址解码器121输出行地址RADD,向读取/写入电路123输出读取/写入控制信号,并且向感测电路125输出使能位信号VRYBIT。此外,控制逻辑130可响应于从感测电路125输出的通过信号PASS或失败信号FAIL来确定目标存储器单元在验证操作期间已经通过验证还是未通过验证。
图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中,可在行方向(即+X方向)上布置m个单元串。在图4中,示出了在列方向(即+Y方向)上布置两个单元串。然而,该图示是为了清楚;将理解的是,可在列方向上布置三个或更多个单元串。
多个单元串CS11至CS1m和CS21至CS2m中的每一个可包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至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的源极选择晶体管可共同联接到单个源极选择线。
每个单元串中的第一至第n存储器单元MC1至MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一至第n存储器单元MC1至MCn可被划分成第一至第p存储器单元MC1至MCp和第p+1至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp被连续地布置在-Z方向上,并且串联联接在源极选择晶体管SST和管道晶体管PT之间。第p+1至第n存储器单元MCp+1至MCn被连续地布置在+Z方向上,并且串联联接在管道晶体管PT和漏极选择晶体管DST之间。第一至第p存储器单元MC1至MCp和第p+1至第n存储器单元MCp+1至MCn通过管道晶体管PT而彼此联接。每个单元串的第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至WLn。
单元串的管道晶体管PT的各个栅极联接到管线PL。
每个单元串的漏极选择晶体管DST联接在相应的位线和存储器单元MCp+1至MCn之间。布置在行方向上的单元串联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11至CS1m的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21至CS2m的漏极选择晶体管联接到第二漏极选择线DSL2。
布置在列方向上的单元串可联接到在列方向上延伸的位线。在图4中,第一列中的单元串CS11和CS21联接到第一位线BL1。第m列中的单元串CS1m和CS2m联接到第m位线BLm。
布置在行方向上的单元串中的、联接到相同字线的存储器单元形成单个页面。例如,在第一行中的单元串CS11至CS1m之中,联接到第一字线WL1的存储器单元形成单个页面。在第二行中的单元串CS21至CS2m之中,联接到第一字线WL1的存储器单元形成另一单个页面。当选择漏极选择线DSL1和DSL2中的任意一个时,可选择布置在单个行方向上的相应单元串。当选择字线WL1至WLn中的任意一个时,可从所选择的单元串之中选择相应单个页面。
在实施例中,可设置偶数位线和奇数位线代替第一至第m位线BL1至BLm。布置在行方向上的单元串CS11至CS1m或CS21至CS2m中的第偶数个单元串可联接到各自的偶数位线。布置在行方向上的单元串CS11至CS1m或CS21至CS2m中的第奇数个单元串可联接到各自的奇数位线。
在实施例中,第一至第n存储器单元MC1至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'中的每一个可包括堆叠在衬底(未示出)上的至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST,其中衬底设置在存储块BLKb的下部。
每个单元串的源极选择晶体管SST联接在共源线CSL和存储器单元MC1至MCn之间。布置在相同行中的单元串的源极选择晶体管联接到相同的源极选择线。布置在第一行中的单元串CS11'至CS1m'的源极选择晶体管可联接到第一源极选择线SSL1。布置在第二行中的单元串CS21'至CS2m'的源极选择晶体管可联接到第二源极选择线SSL2。在实施例中,单元串CS11'至CS1m'和CS21'至CS2m'的源极选择晶体管可共同联接到单个源极选择线。
每个单元串中的第一至第n存储器单元MC1至MCn串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至WLn。
每个单元串的漏极选择晶体管DST联接在对应的位线和存储器单元MC1至MCn之间。布置在行方向上的单元串的漏极选择晶体管可联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11'至CS1m'的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21至CS2m的漏极选择晶体管可联接到第二漏极选择线DSL2。
因此,除从每个单元串去除管道晶体管PT之外,图5的存储块BLKb可具有与图4的存储块BLKa的电路相似或等效的电路。
在实施例中,可设置偶数位线和奇数位线代替第一至第m位线BL1至BLm。布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'中的第偶数个单元串可联接到各自的偶数位线,布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'中的第奇数个单元串可联接到各自的奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可用作虚设存储器单元。例如,可设置一个或多个虚设存储器单元以减少源极选择晶体管SST与存储器单元MC1至MCn之间的电场。可选地,可设置一个或多个虚设存储器单元以减少漏极选择晶体管DST与存储器单元MC1至MCn之间的电场。随着虚设存储器单元的数量增加,可提高存储块BLKb的操作可靠性,但可能增加了存储块BLKb的大小。随着虚设存储器单元的数量减少,可减小存储块BLKb的大小,但可能降低了存储块BLKb的操作可靠性。
为了有效地控制虚设存储器单元,虚设存储器单元中的每一个可具有所需的阈值电压。在对存储块BLKb执行擦除操作之前或之后,可对全部或一些虚设存储器单元执行编程操作。在执行了编程操作之后执行擦除操作的情况下,通过控制待施加到与各个虚设存储器单元联接的虚设字线的电压,虚设存储器单元可具有所需的阈值电压。
图6是示出根据本公开的实施例的图2的存储块BLK1至BLKz中的代表性存储块BLK1的示图。
参照图6,存储块BLK1可包括主区域(Main Area)和备用区域(Spare Area)。阴影部分可以是备用区域。无阴影部分可以是主区域。
在存储块BLK1中的存储器单元之中,主区域中的存储器单元可以是主单元,备用区域中包括的存储器单元可以是备用单元。用户数据可存储在主单元中。与用户数据相关的信息可存储在备用单元中。
存储块BLK1可包括第0至第n字线WL0至WLn(n为1或更大的自然数)。每个字线可与主单元和备用单元联接。
联接到每个字线的存储器单元可以以物理页面为单位来存储数据。根据能够存储在每个存储器单元中的数据位的数量,每个物理页面可对应于多个逻辑页面。例如,如果存储器单元是能够存储三个数据位的三层单元,则一个物理页面可对应于三个逻辑页面。三个逻辑页面可以是最低有效位(LSB)页面、中间有效位(CSB)页面和最高有效位(MSB)页面。
在实施例中,多条逻辑页面数据可存储在与所选择字线联接的主单元中。参照图1描述的反转信息可存储在与所选择字线联接的备用单元中。反转信息可指示多条逻辑页面数据中的每一条是否已被反转。
图7是示出根据本公开的实施例的存储器单元的阈值电压分布和逻辑页面数据的示图。
参照图7,每个图的横轴指示阈值电压的电平,纵轴指示存储器单元的数量。
在图(a)至图(d)中,假设可存储在每个存储器单元中的数据位的数量处于1至4的范围内。然而,这个范围是示例性的;每个存储器单元中可存储多于4个的数据位。
图(a)示出单层单元(SLC)的阈值电压分布,每个SLC能够存储单个数据位。单层单元可具有擦除状态E或编程状态P1中的任意一种状态。
读取电压Va1可用于区分擦除状态E和编程状态P1。当使用读取电压Va1读取具有擦除状态E的单层单元时,该单层单元可被读取为ON单元。ON单元可对应于逻辑值“1”。当使用读取电压Va1读取具有编程状态P1的单层单元时,该单层单元可被读取为OFF单元。OFF单元可对应于逻辑值“0”。
图(b)示出多层单元(MLC)的阈值电压分布,每个MLC能够存储两个数据位。多层单元可具有擦除状态E和第一至第三编程状态P1至P3中的任意一种状态。
第一至第三读取电压Vb1至Vb3可以用于将擦除状态E与第一至第三编程状态P1至P3彼此区分开。第一读取电压Vb1可区分擦除状态E和第一编程状态P1。第二读取电压Vb2可区分第一编程状态P1和第二编程状态P2。第三读取电压Vb3可区分第二编程状态P2和第三编程状态P3。
根据使用第一至第三读取电压Vb1至Vb3读取多层单元的结果,多层单元可被确定为具有擦除状态E和第一至第三编程状态P1至P3中的任意一种状态。
擦除状态E和第一至第三编程状态P1至P3可分别对应于逻辑数据“11”、“01”、“00”和“10”。然而,这些状态和它们各自的逻辑数据之间的关系不限于这种特定的布置。
存储在联接到一个字线的多层单元中的逻辑页面可以是最高有效位(MSB)页面和最低有效位(LSB)页面。MSB页面可存储可被存储在每个多层单元中的两个数据位的最高有效数据位。LSB页面可存储可被存储在每个多层单元中的两个数据位的最低有效数据位。
图(c)示出三层单元(TLC)的阈值电压分布,每个TLC能够存储三个数据位。三层单元可具有擦除状态E和第一至第七编程状态P1至P7中的任意一种状态。
第一至第七读取电压Vc1至Vc7可以用于将擦除状态E与第一至第七编程状态P1至P7彼此区分开。第一读取电压Vc1可区分擦除状态E和第一编程状态P1。第二读取电压Vc2可区分第一编程状态P1和第二编程状态P2。同样地,第七读取电压Vc7可区分第六编程状态P6和第七编程状态P7。
根据使用第一至第七读取电压Vc1至Vc7读取三层单元的结果,三层单元可被确定为具有擦除状态E和第一至第七编程状态P1至P7中的任意一种状态。
擦除状态E和第一至第七编程状态P1至P7可分别对应于逻辑数据“111”、“110”、“100”、“000”、“010”、“011”、“001”和“101”。然而,这些状态和它们各自的逻辑数据之间的关系不限于这种特定的布置。
存储在联接到每个字线的三层单元中的逻辑页面可以是MSB页面、中间有效位(CSB)页面和LSB页面。MSB页面可存储可被存储在每个三层单元中的三个数据位的最高有效数据位。CSB页面可存储可被存储在每个三层单元中的三个数据位的中间有效数据位。LSB页面可存储可被存储在每个三层单元中的三个数据位的最低有效数据位。
图(d)示出四层单元(QLC)的阈值电压分布,每个QLC能够存储四个数据位。四层单元可具有擦除状态E和第一至第十五编程状态P1至P15中的任意一种状态。
第一至第十五读取电压Vd1至Vd15可以是用于将擦除状态E与第一至第十五编程状态P1至P15彼此区分开。第一读取电压Vd1可区分擦除状态E和第一编程状态P1。第二读取电压Vd2可区分第一编程状态P1和第二编程状态P2。同样地,第十五读取电压Vd15可区分第十四编程状态P14和第十五编程状态P15。
根据使用第一至第十五读取电压Vd1至Vd15读取四层单元的结果,四层单元可被确定为具有擦除状态E和第一至第十五编程状态P1至P15中的任意一种状态。
擦除状态E和第一至第十五编程状态P1至P15可分别对应于逻辑数据“1111”、“1110”、“1100”、“1000”、“0000”、“0100”、“0101”、“0111”、“0110”、“0010”、“1010”、“1011”、“0011”、“0001”、“1001”和“1101”。然而,这些状态和它们各自的逻辑数据之间的关系不限于这种特定的布置。
存储在联接到每个字线的四层单元中的逻辑页面可以是更高有效位(USB)页面、MSB页面、CSB页面和LSB页面。USB页面可存储可被存储在每个四层单元中的四个数据位的第一有效数据位。MSB页面可存储可被存储在每个四层单元中的四个数据位的第二有效数据位。CSB页面可存储可被存储在每个四层单元中的四个数据位的第三有效数据位。LSB页面可存储可被存储在每个四层单元中的四个数据位的第四有效数据位。
将图(a)至(d)相互进行比较,随着可存储在每个存储器单元中的数据位的数量增加,可由每个存储器单元表示的编程状态的数量和用于将各个编程状态彼此区分的读取电压的数量可能增加。随着可由每个存储器单元表示的编程状态的数量增加,对应于各个编程状态的阈值电压分布所在的整个宽度可能增加。一方面,随着可由每个存储器单元表示的编程状态的数量增加,对应于每个编程状态的阈值电压分布的宽度可能减小。
图8是示出根据本公开的实施例的例如存储器控制器200的存储器控制器的配置和操作的示图。
参照图8,存储器控制器200可包括输入/输出缓冲器210、数据转换器220和操作控制器230。
输入/输出缓冲器210可存储响应于主机300的写入请求而输入的数据。输入/输出缓冲器210可将所存储的数据提供到数据转换器220。输入/输出缓冲器210可存储响应于主机300的读取请求而待输出到主机300的数据。输入/输出缓冲器210可从数据转换器220接收数据。
数据转换器220可包括数据编码器221和数据解码器222。
数据编码器221可转换从输入/输出缓冲器210提供的数据,并且生成待存储在存储器装置100中的编程数据。数据编码器221可通过转换输入数据来生成编程数据,使得待存储在存储器装置100中的数据模式之中的特定数据模式的数量增加。在实施例中,数据编码器221可通过转换输入数据来生成编程数据,使得待存储在存储器装置100中的数据模式之中的特定数据模式的数量减少。特定数据模式可以是预设数据模式。
数据编码器221可通过选择性地反转输入数据中的多条逻辑页面数据来生成经转换数据,使得特定数据模式的数量增加或减少。数据编码器221可生成指示多条逻辑页面数据中的每一条是否已被反转的反转信息。数据编码器221可生成包括经转换数据和反转信息的编程数据,并且将所生成的编程数据提供到操作控制器230。
数据解码器222可从操作控制器230接收通过读取存储器单元中存储的数据而获得的读取数据。此处,读取数据可包括多条逻辑页面数据和对应于该多条逻辑页面数据中的每一条的反转信息。反转信息可指示相应的逻辑页面数据是否已被反转。
数据解码器222可通过使用读取数据中的反转信息转换读取数据来生成输出数据。在实施例中,数据解码器222可通过基于反转信息而选择性地反转读取数据中的多条逻辑页面数据来生成输出数据。数据解码器222可将所生成的输出数据提供到输入/输出缓冲器210。
操作控制器230可将从数据编码器221接收的编程数据存储在存储器装置100中包括的存储器单元中。操作控制器230可向存储器装置100提供用于将编程数据存储在存储器装置100中的编程命令。此处,编程数据中包括的经转换数据可存储在参照图6描述的主单元中,并且反转信息可存储在参照图6描述的备用单元中。
操作控制器230可响应于主机的读取请求,向存储器装置100提供用于读取存储器装置100中包括的存储器单元中存储的编程数据的读取命令。作为执行读取命令的结果,操作控制器230可向数据解码器222提供通过读取存储器装置中存储的编程数据而获得的读取数据。
图9是示出图8的数据编码器221的配置和操作的示图。
参照图9,数据编码器221可包括数据模式计数器221a、数据反转器221b和编码数据缓冲器221c。
数据模式计数器221a可通过将从参照图8描述的输入/输出缓冲器提供的输入数据与编码数据缓冲器221c中存储的经转换数据组合来对特定数据模式的数量进行计数。特定数据模式中的每一个可以是预设数据模式。
详细地,数据模式计数器221a可通过将输入数据中包括的多条逻辑页面数据之中的尚未执行数据转换操作的逻辑页面数据与输入数据中包括的多条逻辑页面数据之中的通过执行数据转换操作而获得的经转换数据组合来对特定数据模式的数量进行计数。
数据模式计数器221a可控制数据反转器221b以选择性地反转输入数据中包括的多条逻辑页面数据中的每一条,使得待存储在参照图8描述的存储器单元中的数据模式之中的特定数据模式的数量增加或减少。
换言之,数据模式计数器221a可生成反转控制信息并且将该反转控制信息提供到数据反转器221b,使得特定数据模式的数量增加或减少。反转控制信息可以是指示是否反转从数据模式计数器221提供到数据反转器221b的多条逻辑页面数据中的每一条的信息。数据模式计数器221a可将输入数据中包括的多条逻辑页面数据中的每一条提供到数据反转器221b。
在实施例中,数据模式计数器221a可根据逻辑页面数据的优先级来将输入数据中包括的多条逻辑页面数据连续地提供到数据反转器221b。数据模式计数器221a可以从最低有效优先级的逻辑页面数据到最高有效优先级的逻辑页面数据的顺序,来将多条逻辑页面数据提供到数据反转器221b。
数据模式计数器221a可向数据反转器221b提供与提供到数据反转器221b的多条逻辑页面数据中的每一条相对应的反转控制信息。
反转控制信息可指示是否反转对应于该反转控制信息的逻辑页面数据。在实施例中,如果反转控制信息具有逻辑值“1”,则可指示将反转逻辑页面数据的逻辑值,而如果反转控制信息具有逻辑值“0”,则可指示将不反转逻辑页面数据的逻辑值。在实施例中,如果反转控制信息具有逻辑值“0”,则可指示将反转逻辑页面数据的逻辑值,而如果反转控制信息具有逻辑值“1”,则可指示将不反转逻辑页面数据的逻辑值。
数据反转器221b可从数据模式计数器221a接收逻辑页面数据和反转控制信息。
数据反转器221b可基于反转控制信息来转换所提供的逻辑页面数据并且生成经转换数据,并且可将所生成的经转换数据提供到编码数据缓冲器221c。数据反转器221b可将反转信息连同经转换数据一起提供到编码数据缓冲器221c。
反转信息可指示经转换数据是否已被反转,其中经转换数据为通过执行数据转换操作而获得的逻辑页面数据。在实施例中,如果反转信息具有逻辑值“1”,则可指示经转换数据已被反转,而如果反转信息具有逻辑值“0”,则可指示经转换数据未被反转。在实施例中,如果反转信息具有逻辑值“0”,则可指示经转换数据已被反转,而如果反转信息具有逻辑值“1”,则可指示经转换数据未被反转。
在实施例中,数据反转器221b可将通过基于反转控制信息来反转所提供的逻辑页面数据的逻辑值而获得的经转换数据连同反转信息一起提供到编码数据缓冲器221c。
例如,在输入逻辑页面数据为“11110000”的情况下,如果反转控制信息具有逻辑值“1”,则数据反转器221b可反转输入逻辑页面数据的逻辑值,以生成经转换数据“00001111”并且将该经转换数据提供到编码数据缓冲器221c。数据反转器221b可连同经转换数据一起提供具有逻辑值“1”的反转信息,其中逻辑值“1”指示经转换数据已被反转。
在实施例中,在输入逻辑页面数据为“11110000”的情况下,如果反转控制信息具有逻辑值“0”,则数据反转器221b可不反转输入逻辑页面数据的逻辑值,因此可向编码数据缓冲器221c提供数据“11110000”。数据反转器221b可连同该数据一起提供具有逻辑值“0”的反转信息,其中逻辑值“0”指示该经转换数据未被反转。
编码数据缓冲器221c可存储从数据反转器221b提供的经转换数据和反转信息。编码数据缓冲器221c可向数据模式计数器221a提供编码数据缓冲器221c中存储的数据。
编码数据缓冲器221c可向参照图8描述的操作控制器230提供包括从数据反转器221b接收的经转换数据和反转信息的编程数据。因为在参照图3描述的3D存储块的情况下,执行了单触发编程操作,所以编程数据可包括对应于多个各自逻辑页面数据的所有经转换/未转换数据和反转信息。单触发编程操作可以是通过单个进程对多条逻辑页面数据进行编程的操作。
当针对输入数据中包括的多个各自逻辑页面数据的所有数据转换操作都完成时,编码数据缓冲器221c可向操作控制器230提供编程数据。
图10是示出图8的数据解码器222的配置和操作的示图。
参照图10,数据解码器222可包括反转数据处理器222a和解码数据缓冲器222b。
反转数据处理器222a可从参照图8描述的操作控制器接收读取数据。读取数据可以是通过读取参照图8描述的存储器单元中存储的数据而获得的数据。读取数据可包括多个逻辑页面和对应于多个各自逻辑页面的反转信息。反转信息可指示对应于该反转信息的逻辑页面是否已被反转。
反转数据处理器222a可根据读取数据中包括的反转信息,通过选择性地反转读取数据中的多条逻辑页面数据来生成恢复数据。
例如,读取数据中的多条逻辑页面数据可包括MSB页面数据、CSB页面数据和LSB页面数据。
当MSB页面数据为“11111111”且与该MSB页面数据对应的反转信息具有逻辑值“1”时,对应于该MSB页面数据的恢复数据可以是“00000000”。
当CSB页面数据为“00000000”且与该CSB页面数据对应的反转信息具有逻辑值“1”时,对应于该CSB页面数据的恢复数据可以是“11111111”。
当LSB页面数据为“10101010”且与该LSB页面数据对应的反转信息具有逻辑值“0”时,对应于该LSB页面数据的恢复数据可以是“10101010”。
解码数据缓冲器222b可从反转数据处理器222a接收恢复数据,并且存储所接收的恢复数据。
解码数据缓冲器222b可向参照图8描述的输入/输出缓冲器210提供输出数据。输出数据可包括对应于多个各自逻辑页面数据的所有恢复数据。当针对读取数据中包括的多个各自逻辑页面数据的所有数据转换操作都完成时,解码数据缓冲器222b可向输入/输出缓冲器210提供输出数据。
在实施例中,输出数据可以是对应于多条逻辑页面数据中的每一条的恢复数据。每当针对读取数据中包括的多条逻辑页面数据的每一条的数据转换操作都完成时,解码数据缓冲器222b可向输入/输出缓冲器210提供输出数据。
图11是示出根据本公开的实施例的转换数据使得特定数据模式的数量增加的进程的示图。
参照图11,输入数据中包括的逻辑页面数据可包括USB页面数据、MSB页面数据、CSB页面数据和LSB页面数据。
在实施例中,USB页面数据可以是“11100101”。MSB页面数据可以是“01000010”。CSB页面数据可以是“01011101”。LSB页面数据可以是“10110101”。
输入数据中包括的逻辑页面数据的数量和各自逻辑页面数据的逻辑值不限于本实施例中的那些。
在一个实施例中,数据转换操作可以从最低有效优先级的逻辑页面数据到最高有效优先级的逻辑页面数据的顺序来执行。在另一个实施例中,数据转换操作可以相反的顺序来执行。然而,待被执行数据转换操作的逻辑页面数据的顺序不限于上述顺序。
参照图11,可执行数据转换操作,使得特定数据模式的数量增加。特定数据模式中的每一个可以是预设数据模式。在实施例中,预设数据模式可包括具有值“1”的USB'数据、具有值“1”的MSB'数据、具有值“1”的CSB'数据和具有值“1”的LSB'数据。例如,USB'数据可表示输入USB数据的转换完成数据。预设数据模式不限于该实施例中的预设数据模式。
因为输入数据中包括的逻辑页面数据的项目数量为四个(即,LSB、CSB、MSB和USB页面数据),所以可执行总共四个数据转换操作。已被执行数据转换操作的相应输入逻辑页面数据可以是经转换数据。对应于经转换数据的反转信息可指示该经转换数据是否已被反转。如果反转信息具有逻辑值“1”,则可指示经转换数据已被反转。如果反转信息具有逻辑值“0”,则可指示经转换数据未被反转。
例如,在第一数据转换操作期间,根据预设数据模式中的具有值“1”的经转换数据LSB',可确定当将LSB页面数据反转为LSB_inv时,经转换数据LSB'中包括的1的数量是否增加。
LSB页面数据“10110101”中的1的数量为五,经反转的LSB页面数据LSB_inv“01001010”中的1的数量为三。如果将LSB页面数据反转为LSB_inv,则经转换数据LSB'中的1的数量不会增加。因此,在第一数据转换操作期间,不反转LSB页面数据。因此,经转换数据LSB'为“10110101”,并且对应于经转换数据LSB'的反转信息可具有逻辑值“0”。
在第二数据转换操作期间,可确定当将CSB页面数据反转为CSB_inv时,经转换数据LSB'和CSB'中的CSB'数据和LSB'数据(预设数据模式)的数量是否增加。
当将经转换数据LSB'“10110101”和CSB页面数据“01011101”组合时,CSB'数据和LSB'数据(预设数据模式)的数量为三。当将经转换数据LSB'“10110101”和经反转的CSB页面数据CSB_inv“10100010”组合时,CSB'数据和LSB'数据(预设数据模式)的数量为二。
如果CSB页面数据被反转为CSB_inv,则经转换数据LSB'和CSB'中的CSB'数据和LSB'数据(预设数据模式)的数量不增加。因此,在第二数据转换操作期间,不反转CSB页面数据。因此,经转换数据CSB'为“01011101”,并且对应于该经转换数据CSB'的反转信息可具有逻辑值“0”。
在第三数据转换操作期间,可确定当MSB页面数据被反转为MSB_inv时,经转换数据LSB'、CSB'和MSB'中的MSB'数据、CSB'数据和LSB'数据(预设数据模式)的数量是否增加。
当将经转换数据LSB'“10110101”、经转换数据CSB'“01011101”和MSB页面数据“01000010”组合时,MSB'数据、CSB'数据和LSB'数据(预设数据模式)的数量为零。当将经转换数据LSB'和CSB'以及经反转的MSB页面数据MSB_inv“10111101”组合时,MSB'数据、CSB'数据和LSB'(预设数据模式)的数量为三。
如果MSB页面数据被反转为MSB_inv,则经转换数据LSB'、CSB'和MSB'中的MSB'数据、CSB'数据和LSB'数据(预设数据模式)的数量增加。因此,在第三数据转换操作期间,反转MSB页面数据。因此,经转换数据MSB'为“10111101”,并且对应于该经转换数据MSB'的反转信息可具有逻辑值“1”。
在第四数据转换操作期间,可确定当USB页面数据被反转为USB_inv时,经转换数据LSB'、CSB'、MSB'和USB'中的USB'数据、MSB'数据、CSB'数据和LSB'数据(预设数据模式)的数量是否增加。
当将经转换数据LSB'“10110101”、经转换数据CSB'“010111101”、经转换数据MSB'“10111101”和USB页面数据“11100101”组合时,USB'数据、MSB'数据、CSB'数据和LSB'数据(预设数据模式)的数量为二。当将经转换数据LSB'、CSB'和MSB'与经反转的USB页面数据USB_inv“00011010”组合时,USB'数据、MSB'数据、CSB'数据和LSB'数据(预设数据模式)的数量为一。
如果USB页面数据被反转为USB_inv,则经转换数据LSB'、CSB'、MSB'和USB'中的USB'数据、MSB'数据、CSB'数据”和LSB'数据(预设数据模式)的数量不增加。因此,在第四数据转换操作期间,不反转USB页面数据。因此,经转换数据USB'为“11100101”,并且对应于该经转换数据USB'的反转信息可具有逻辑值“0”。
图12是示出根据本公开的实施例的转换数据使得特定数据模式的数量减少的进程的示图。
参照图12,虽然输入数据和特定数据模式与图11中的相同,但可执行数据转换操作,使得特定数据模式的数量减少。特定数据模式可以是预设数据模式。
例如,在第一数据转换操作期间,根据预设数据模式中的具有值“1”的LSB'数据,可确定当LSB页面数据被反转为LSB_inv时,经转换数据LSB'中的1的数量是否减少。
LSB页面数据“10110101”中的1的数量为五,经反转的LSB页面数据LSB_inv“01001010”中包括的1的数量为三。如果LSB页面数据被反转为LSB_inv,则经转换数据LSB'中的1的数量减少。因此,在第一数据转换操作期间,反转LSB页面数据。因此,经转换数据LSB'为“01001010”,并且对应于该经转换数据LSB'的反转信息可具有逻辑值“1”。
在第二数据转换操作期间,可确定当CSB页面数据被反转为CSB_inv时,经转换数据LSB'和CSB'中的CSB'数据和LSB'数据(预设数据模式)的数量是否减少。
当将经转换数据LSB'“01001010”和CSB页面数据“01011101”组合时,CSB'数据和LSB'数据(预设数据模式)的数量为二。当将经转换数据LSB'“01001010”和经反转的CSB页面数据CSB_inv“10100010”组合时,CSB'数据和LSB'数据(预设数据模式)的数量为一。
如果CSB页面数据被反转为CSB_inv,则经转换数据LSB'和CSB'中的CSB'数据和LSB'数据(预设数据模式)的数量减少。因此,在第二数据转换操作期间,反转CSB页面数据。因此,经转换数据CSB'为“10100010”,并且对应于该经转换数据CSB'的反转信息可具有逻辑值“1”。
在第三数据转换操作期间,可确定当MSB页面数据被反转为MSB_inv时,经转换数据LSB'、CSB'和MSB'中的MSB'数据、CSB'数据和LSB'数据(预设数据模式)的数量是否减少。
当将经转换数据LSB'“01001010”、经转换数据CSB'“10100010”和MSB页面数据“01000010”组合时,MSB'数据、CSB'数据和LSB'数据(预设数据模式)的数量为一。当将经转换数据LSB'和CSB'以及经反转的MSB页面数据MSB_inv“10111101”组合时,MSB'数据、CSB'数据和LSB'数据(预设数据模式)的数量为零。
如果MSB页面数据被反转,则经转换数据LSB'、CSB'和MSB'中包括的预设数据模式的数量减少。因此,在第三数据转换操作期间,反转MSB页面数据。因此,经转换数据MSB'为“10111101”,并且对应于该经转换数据MSB'的反转信息可具有逻辑值“1”。
在第四数据转换操作期间,可确定当USB页面数据被反转时,经转换数据LSB'、CSB'、MSB'和USB'中的USB'数据、MSB'数据、CSB'数据和LSB'数据(预设数据模式)的数量是否减少。
当将经转换数据LSB'“01001010”、经转换数据CSB'“10100010”、经转换数据MSB'“10111101”和USB页面数据“11100101”组合时,预设数据模式的数量为零。当将经转换数据LSB'、CSB'、MSB'和经反转的USB页面数据USB_inv“00011010”组合时,预设数据模式的数量为零。
如果USB页面数据被反转,则经转换数据LSB'、CSB'、MSB'和USB'中包括的预设数据模式的数量不减少。因此,在第四数据转换操作期间,不反转USB页面数据。因此,经转换数据USB'为“11100101”,并且对应于该经转换数据USB'的反转信息可具有逻辑值“0”。
图13是示出根据本公开的实施例的存储器控制器的操作的流程图。
参照图13,在步骤S1301中,存储器控制器可从主机接收写入请求和对应于该写入请求的输入数据。
在步骤S1303中,存储器控制器可通过选择性地反转输入数据中包括的多条逻辑页面数据来生成经转换数据,使得待存储在存储器装置的存储器单元中的数据模式之中的特定数据模式的数量减少。
在步骤S1305中,存储器控制器可生成包括经转换数据和反转信息的编程数据,该反转信息指示多条逻辑页面数据中的每一条是否已被反转。
在步骤S1307中,存储器控制器可将编程数据存储在存储器装置中。
图14是示出根据本公开的实施例的存储器控制器的操作的流程图。
参照图14,在步骤S1401中,存储器控制器可从主机接收写入请求和对应于该写入请求的输入数据。
在步骤S1403中,存储器控制器可通过选择性地反转输入数据中包括的多条逻辑页面数据来生成经转换数据,使得待存储在存储器装置的存储器单元中的数据模式之中的特定数据模式的数量增加。
在步骤S1405中,存储器控制器可生成包括经转换数据和反转信息的编程数据,该反转信息指示多条逻辑页面数据中的每一条是否已被反转。
在步骤S1407中,存储器控制器可将编程数据存储在存储器装置中。
图15是示出根据本公开的实施例的存储器控制器的操作的流程图。
参照图15,在步骤1501中,存储器控制器可从主机接收读取请求。
在步骤S1503中,存储器控制器可响应于主机的读取请求来读取存储器装置的存储器单元中存储的数据。
在步骤S1505中,存储器控制器可通过基于读取数据中包括的反转信息而选择性地反转读取数据中包括的多条逻辑页面数据来生成输出数据。反转信息可以是指示多条逻辑页面数据中的每一条是否已被反转的信息。
在步骤S1507中,存储器控制器可向主机提供输出数据。
图16是示出根据本公开的实施例的存储装置的操作的流程图。
参照图16,在步骤S1601中,存储装置可从主机接收写入请求和输入数据。
在步骤S1603中,存储装置可通过选择性地反转输入数据中包括的多条逻辑页面数据来生成经转换数据,使得待存储在存储器单元中的数据模式之中的特定数据模式的数量发生改变。
在步骤S1605中,存储装置可生成包括经转换数据和反转信息的编程数据,该反转信息指示多条逻辑页面数据中的每一条是否已被反转。
在步骤S1607中,存储装置可将编程数据存储在存储器单元中。
在步骤S1609中,存储装置可从主机接收读取请求。读取请求可以是指示读取存储器单元中存储的编程数据的请求。
在步骤S1611中,存储装置可读取存储器单元中存储的编程数据。
在步骤S1613中,存储装置可通过基于读取数据中包括的反转信息而选择性地反转读取数据中包括的多条逻辑页面数据来生成输出数据。
在步骤S1615中,存储装置可向主机提供输出数据。
图17是示出图1的存储器控制器的实施例的示图。
参照图17,存储器控制器1000联接到主机和存储器装置,例如,联接到图1的主机300和存储器装置100。响应于来自主机的请求,存储器控制器1000可访问存储器装置。例如,存储器控制器1000可控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000可提供存储器装置与主机之间的接口。存储器控制器1000可驱动固件以控制存储器装置。
存储器控制器1000可包括处理器1010、存储器缓冲器1020、错误校正码(ECC)电路1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可提供存储器控制器1000的组件之间的通道。
处理器1010可控制存储器控制器1000的全部操作并且执行逻辑操作。处理器1010可通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。另外,处理器1010可通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可使用存储器缓冲器1020作为操作存储器、高速缓冲存储器或缓冲存储器来控制存储装置的操作。
处理器1010可执行闪存转换层(FTL)的功能。处理器1010可通过FTL将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。FTL可接收LBA并且使用映射表来将LBA转换成PBA。可根据映射单位来以各种方式修改使用FTL的地址映射方法。代表性的地址映射方法可包括页面映射方法、块映射方法和混合映射方法。
处理器1010可将从主机接收的数据随机化。例如,处理器1010可使用随机化种子来将从主机接收的数据随机化。经随机化数据可作为待存储的数据而被提供到存储器装置,并且可被编程到存储器单元阵列。
在读取操作期间,处理器1010可将从存储器装置100接收的数据去随机化。例如,处理器1010可使用去随机化种子来将从存储器装置接收的数据去随机化。经去随机化数据可被输出到主机。
在实施例中,处理器1010可驱动软件或固件来执行随机化操作或去随机化操作。
存储器缓冲器1020可用作处理器1010的操作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可存储待由处理器1010运行的代码和命令。存储器缓冲器1020可存储待由处理器1010处理的数据。存储器缓冲器1020可包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路1030可执行错误校正。ECC电路1030可基于待通过存储器接口1060而写入存储器装置100的数据来执行ECC编码操作。经ECC编码的数据可通过存储器接口1060而传输到存储器装置。ECC电路1030可对通过存储器接口1060而从存储器装置接收的数据执行ECC解码操作。例如,ECC电路1030可作为存储器接口1060的组件而被包括在存储器接口1060中。
主机接口1040可在处理器1010的控制下与外部主机通信。主机接口1040可使用诸如以下的各种通信方法中的至少一种来执行通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及负载减小的DIMM(LRDIMM)通信方法。
缓冲器控制电路1050可在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060可在处理器1010的控制下与存储器装置100通信。存储器接口1060可通过通道与存储器装置通信命令、地址和数据。
例如,存储器控制器1000可既不包括存储器缓冲器1020也不包括缓冲器控制电路1050。
例如,处理器1010可使用代码来控制存储器控制器1000的操作。处理器1010可从设置在存储器控制器1000中的非易失性存储器装置(例如,只读存储器)加载代码。可选地,处理器1010可通过存储器接口1060从存储器装置加载代码。
例如,存储器控制器1000的总线1070可被划分成控制总线和数据总线。数据总线可在存储器控制器1000中传输数据。控制总线可在存储器控制器1000中传输诸如命令和地址的控制信息。数据总线和控制总线可彼此分隔开,以便既不互相干扰也不互相影响。数据总线可联接到主机接口1040、缓冲器控制电路1050、ECC电路1030和存储器接口1060。控制总线可联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图18是示出根据本公开的实施例的应用了存储装置的存储卡系统2000的框图。
参照图18,存储卡系统2000可包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100可访问存储器装置2200。例如,存储器控制器2100可控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可提供存储器装置2200与主机之间的接口。存储器控制器2100可驱动固件以控制存储器装置2200。存储器控制器2100可以与参照图1描述的存储器控制器200相同的方式来实现。
在实施例中,存储器控制器2100可包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和ECC电路的组件。
存储器控制器2100可通过连接器2300与外部装置通信。存储器控制器2100可基于具体通信协议与外部装置(例如,主机)通信。在实施例中,存储器控制器2100可通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机小型接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及高速非易失性存储器(NVMe)协议。在实施例中,连接器2300可由上述各种通信协议中的至少一种来定义。
在实施例中,存储器装置2200可被实施成诸如以下的各种非易失性存储器装置中的任意一种:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。
在实施例中,存储器控制器2100和存储器装置2200可被集成到单个半导体装置中以形成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)、紧凑型闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC或微型MMC)、SD卡(SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。
图19是示出根据本公开的实施例的采用存储装置的固态驱动器(SSD)系统3000的框图。
参照图19,SSD系统3000可包括主机3100和SSD 3200。SSD 3200可通过信号连接器3001与主机3100交换信号SIG,并且可通过电源连接器3002接收电力PWR。SSD 3200可包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可执行以上参照图1描述的存储器控制器200的功能。
SSD控制器3210可响应于从主机3100接收的信号SIG来控制多个闪速存储器3221至322n。在实施例中,信号SIG可基于主机3100和SSD 3200之间的接口。例如,信号SIG可由诸如以下的各种接口中的至少一种限定:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机小型接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及高速非易失性存储器(NVMe)接口。
辅助电源3230可通过电源连接器3002联接到主机3100。辅助电源3230可被供给来自主机3100的电力PWR并且可由电力PWR充电。当来自主机3100的电力的供应未平稳执行时,辅助电源3230可供应SSD 3200的电力。在实施例中,辅助电源3230可设置在SSD 3200内部,或者设置为SSD 3200外部的独立组件。例如,辅助电源3230可被设置在主板中并且可向SSD 3200供应辅助电力。
缓冲存储器3240可服务于SSD 3200。例如,缓冲存储器3240可临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可被实施为诸如DRAM、SDRAM、DDRSDRAM、LPDDR SDRAM和GRAM的各种易失性存储器中的任意一种或诸如FRAM、ReRAM、STT-MRAM和PRAM的各种非易失性存储器中的任意一种。
图20是示出根据本公开的实施例的应用了存储装置的用户系统4000的框图。
参照图20,用户系统4000可包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可运行包括在用户系统4000中的组件、操作系统(OS)或用户程序。在实施例中,应用处理器4100可包括用于控制包括在用户系统4000中的组件的控制器、接口、图形引擎等。应用处理器4100可被设置为片上系统(SoC)。
存储器模块4200可用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可被实施为诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDARM和/或LPDDR3 SDRAM的易失性RAM,或者被实施为诸如PRAM、ReRAM、MRAM和/或FRAM的非易失性RAM。在实施例中,应用处理器4100和存储器模块4200可基于堆叠封装(POP)而被封装成单个半导体封装。
网络模块4300可与外部装置通信。例如,网络模块4300可支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、WiMAX、WLAN、UWB、蓝牙或Wi-Fi通信的无线通信。在实施例中,网络模块4300可包括在应用处理器4100中。
存储模块4400可在其中存储数据。例如,存储模块4400可存储从应用处理器4100接收的数据。可选地,存储模块4400可将存储在存储模块4400中的数据传输到应用处理器4100。在实施例中,存储模块4400可被实施为诸如以下的非易失性半导体存储器装置:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪速存储器、NOR闪速存储器或具有三维(3D)结构的NAND闪速存储器。在实施例中,存储模块4400可被设置为可移动存储介质(即,可移动驱动器),诸如用户系统4000的存储卡或外部驱动器。
在实施例中,存储模块4400可包括多个非易失性存储器装置,并且多个非易失性存储器装置中的每一个可以与以上参照图1描述的存储器装置100相同的方式操作。存储模块4400可与以上参照图1描述的存储装置50相同的方式操作。
用户接口4500可包括用于向应用处理器4100输入数据或指令或者用于将数据输出到外部装置的接口。在实施例中,用户接口4500可包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口4500可进一步包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监控器。
如上所述,本公开的各个实施例可提供一种具有提高可靠性的存储装置以及操作该存储装置的方法。
虽然已经公开了本公开的实施例,但本领域的技术人员根据本公开将理解的是,在不脱离本公开的范围和实质的情况下,可进行各种修改、添加和替换。
因此,本发明的范围由所附权利要求及其等同方案来限定,而非由之前的描述来限定。
在上述实施例中,在一些情况下,可选择性地执行或跳过一个或多个步骤。另外,并非总以常规顺序来执行这些步骤。此外,本文公开的实施例旨在帮助本领域普通技术人员更清楚地理解本发明,而不是旨在限制本公开的范围。换言之,本公开所属领域的普通技术人员将能够容易地理解,基于本公开的技术范围,可以进行各种修改。
已经参照附图描述了本公开的实施例,并且在说明书中使用的特定术语或词语应当根据本发明的实质来解释,而不限制本发明的主题。应当理解的是,本文描述的基本发明构思的许多变化和修改将仍然落入所附权利要求及其等同方案所限定的本发明的实质和范围内。
Claims (15)
1.一种存储器控制器,所述存储器控制器控制包括存储器单元的存储器装置,所述存储器控制器包括:
输入/输出缓冲器,存储从主机提供的输入数据;
数据转换器,生成通过转换所述输入数据而获得的编程数据,使得待存储在所述存储器单元中的数据模式之中的特定数据模式的数量发生改变;以及
操作控制器,向所述存储器装置提供所述编程数据,
其中通过选择性地反转所述输入数据中包括的多条逻辑页面数据来生成所述编程数据。
2.根据权利要求1所述的存储器控制器,其中所述编程数据包括反转信息,所述反转信息指示所述多条逻辑页面数据是否已被反转。
3.根据权利要求2所述的存储器控制器,
其中所述存储器单元包括被提供为存储用户数据的主单元和被提供为存储备用数据的备用单元,并且
其中所述反转信息存储在所述备用单元中。
4.根据权利要求1所述的存储器控制器,其中所述数据转换器包括:
数据模式计数器,生成反转控制信息,所述反转控制信息指示是否反转所述多条逻辑页面数据,使得所述特定数据模式的数量发生改变;
数据反转器,通过基于所述反转控制信息而选择性地反转所述多条逻辑页面数据来生成所述编程数据;以及
编码数据缓冲器,存储所述编程数据。
5.根据权利要求4所述的存储器控制器,其中所述数据模式计数器生成所述反转控制信息,使得所述特定数据模式的数量减少。
6.根据权利要求4所述的存储器控制器,其中所述数据模式计数器生成所述反转控制信息,使得所述特定数据模式的数量增加。
7.根据权利要求1所述的存储器控制器,其中所述特定数据模式是预设数据模式。
8.根据权利要求7所述的存储器控制器,其中所述预设数据模式包括与所述存储器单元的编程状态之中的、具有最高阈值电压的编程状态相对应的数据模式或与擦除状态相对应的数据模式。
9.一种存储器控制器,所述存储器控制器控制包括存储器单元的存储器装置,所述存储器控制器包括:
操作控制器,从所述存储器装置接收通过读取所述存储器单元中存储的数据而获得的读取数据,所述读取数据包括多条逻辑页面数据和对应于所述多条逻辑页面数据的反转信息;
数据转换器,生成通过基于所述反转信息来选择性地反转所述多条逻辑页面数据而获得的输出数据;以及
输入/输出缓冲器,向主机提供所述输出数据。
10.根据权利要求9所述的存储器控制器,其中所述反转信息指示所述多条逻辑页面数据是否已被反转。
11.根据权利要求9所述的存储器控制器,
其中所述存储器单元包括被提供为存储用户数据的主单元和被提供为存储备用数据的备用单元,并且
其中所述反转信息存储在所述备用单元中。
12.一种操作存储器控制器的方法,所述存储器控制器控制包括存储器单元的存储器装置,所述方法包括:
生成通过转换从主机提供的输入数据而获得的编程数据,使得待存储在所述存储器单元中的数据模式之中的特定数据模式的数量发生改变;并且
向所述存储器装置提供用于将所述编程数据存储在所述存储器装置中的编程命令,
其中通过选择性地反转所述输入数据中包括的多条逻辑页面数据来生成所述编程数据。
13.根据权利要求12所述的方法,其中所述编程数据包括反转信息,所述反转信息指示所述多条逻辑页面数据是否已被反转。
14.根据权利要求12所述的方法,其中生成所述编程数据包括选择性地反转所述多条逻辑页面数据,使得所述特定数据模式的数量增加。
15.根据权利要求12所述的方法,其中生成所述编程数据包括选择性地反转所述多条逻辑页面数据,使得所述特定数据模式的数量减少。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180159490A KR102669450B1 (ko) | 2018-12-11 | 2018-12-11 | 저장 장치 및 그 동작 방법 |
KR10-2018-0159490 | 2018-12-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111312305A true CN111312305A (zh) | 2020-06-19 |
Family
ID=70970503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910909102.8A Withdrawn CN111312305A (zh) | 2018-12-11 | 2019-09-25 | 存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11055019B2 (zh) |
KR (1) | KR102669450B1 (zh) |
CN (1) | CN111312305A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11823739B2 (en) | 2020-04-06 | 2023-11-21 | Crossbar, Inc. | Physically unclonable function (PUF) generation involving high side programming of bits |
US11423984B2 (en) | 2020-04-06 | 2022-08-23 | Crossbar, Inc. | Distinct chip identifier sequence utilizing unclonable characteristics of resistive memory on a chip |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6172917B1 (en) * | 1998-05-12 | 2001-01-09 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory device and regulator |
JP2009146555A (ja) * | 2007-11-20 | 2009-07-02 | Toshiba Corp | 不揮発性半導体記憶装置 |
US20100125701A1 (en) * | 2008-11-18 | 2010-05-20 | Ki Tae Park | Multi-Level Non-Volatile Memory Device, Memory System Including the Same, and Method of Operating the Same |
US20100293393A1 (en) * | 2009-05-18 | 2010-11-18 | Park Kitae | Memory Controller, Memory System Including the Same, and Method for Operating the Same |
CN102099864A (zh) * | 2008-07-02 | 2011-06-15 | 莫塞德技术公司 | 具有极性控制的每单元多比特(mbc)的非易失性存储器设备和系统及其编程方法 |
CN105679364A (zh) * | 2014-12-08 | 2016-06-15 | 桑迪士克技术有限公司 | 具有软解码优化的可重写多比特非易失性存储器 |
KR20180057028A (ko) * | 2016-11-21 | 2018-05-30 | 에스케이하이닉스 주식회사 | 데이터 반전 회로 |
KR20180087496A (ko) * | 2017-01-23 | 2018-08-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59168542A (ja) * | 1983-03-15 | 1984-09-22 | Ricoh Co Ltd | 情報記憶装置 |
JP3426693B2 (ja) * | 1994-03-07 | 2003-07-14 | 株式会社日立製作所 | 半導体記憶装置 |
WO2008067494A1 (en) * | 2006-11-29 | 2008-06-05 | Rambus Inc. | Integrated circuit with built-in heating circuitry to reverse operational degeneration |
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 |
KR101436506B1 (ko) | 2008-07-23 | 2014-09-02 | 삼성전자주식회사 | 메모리 장치 및 메모리 데이터 프로그래밍 방법 |
JP2013004136A (ja) * | 2011-06-15 | 2013-01-07 | Elpida Memory Inc | 半導体装置 |
US9491469B2 (en) * | 2011-06-28 | 2016-11-08 | Qualcomm Incorporated | Coding of last significant transform coefficient |
US9648321B2 (en) * | 2011-12-02 | 2017-05-09 | Qualcomm Incorporated | Coding picture order count values identifying long-term reference frames |
KR20130080203A (ko) | 2012-01-04 | 2013-07-12 | 삼성전자주식회사 | 셀 상태들의 비대칭 특성을 고려한 프로그램 데이터를 생성하는 방법 및 그것을 이용한 메모리 시스템 |
KR102029933B1 (ko) * | 2012-09-04 | 2019-10-10 | 에스케이하이닉스 주식회사 | 불휘발성 메모리 장치 및 그것을 포함하는 데이터 저장 장치 |
KR20140076128A (ko) * | 2012-12-12 | 2014-06-20 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치 및 동작 방법과, 이를 포함하는 데이터 처리 시스템 |
KR20140076127A (ko) * | 2012-12-12 | 2014-06-20 | 에스케이하이닉스 주식회사 | 비휘발성 메모리 장치 및 동작 방법과, 이를 포함하는 데이터 처리 시스템 |
KR20140078893A (ko) * | 2012-12-18 | 2014-06-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치의 동작 방법 |
KR101949987B1 (ko) * | 2012-12-18 | 2019-02-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20140132103A (ko) * | 2013-05-07 | 2014-11-17 | 에스케이하이닉스 주식회사 | 메모리 시스템, 반도체 메모리 장치 및 그것들의 동작 방법 |
KR20150020384A (ko) * | 2013-08-13 | 2015-02-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
-
2018
- 2018-12-11 KR KR1020180159490A patent/KR102669450B1/ko active IP Right Grant
-
2019
- 2019-08-15 US US16/541,804 patent/US11055019B2/en active Active
- 2019-09-25 CN CN201910909102.8A patent/CN111312305A/zh not_active Withdrawn
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6172917B1 (en) * | 1998-05-12 | 2001-01-09 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory device and regulator |
JP2009146555A (ja) * | 2007-11-20 | 2009-07-02 | Toshiba Corp | 不揮発性半導体記憶装置 |
CN102099864A (zh) * | 2008-07-02 | 2011-06-15 | 莫塞德技术公司 | 具有极性控制的每单元多比特(mbc)的非易失性存储器设备和系统及其编程方法 |
CN104599710A (zh) * | 2008-07-02 | 2015-05-06 | 考文森智财管理公司 | 具有极性控制的每单元多比特(mbc)的非易失性存储器设备和系统及其编程方法 |
US20100125701A1 (en) * | 2008-11-18 | 2010-05-20 | Ki Tae Park | Multi-Level Non-Volatile Memory Device, Memory System Including the Same, and Method of Operating the Same |
US20100293393A1 (en) * | 2009-05-18 | 2010-11-18 | Park Kitae | Memory Controller, Memory System Including the Same, and Method for Operating the Same |
CN105679364A (zh) * | 2014-12-08 | 2016-06-15 | 桑迪士克技术有限公司 | 具有软解码优化的可重写多比特非易失性存储器 |
KR20180057028A (ko) * | 2016-11-21 | 2018-05-30 | 에스케이하이닉스 주식회사 | 데이터 반전 회로 |
KR20180087496A (ko) * | 2017-01-23 | 2018-08-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
Also Published As
Publication number | Publication date |
---|---|
US11055019B2 (en) | 2021-07-06 |
KR20200071599A (ko) | 2020-06-19 |
US20200183614A1 (en) | 2020-06-11 |
KR102669450B1 (ko) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110069212B (zh) | 存储装置及存储装置的操作方法 | |
US11137912B2 (en) | Memory controller and method of operating the same | |
KR102596407B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN111258793B (zh) | 存储器控制器及其操作方法 | |
CN111105832B (zh) | 存储装置和操作存储装置的方法 | |
CN110287130B (zh) | 存储装置及其操作方法 | |
KR102620255B1 (ko) | 저장 장치 및 그 동작 방법 | |
US11119950B2 (en) | Storage device and method of operating the same | |
CN111984186A (zh) | 装置及其操作方法 | |
CN111105836B (zh) | 存储装置及其操作方法 | |
CN111580744B (zh) | 存储器控制器及其操作方法 | |
CN112988049A (zh) | 存储装置及其操作方法 | |
CN111752856A (zh) | 存储器控制器及其操作方法 | |
CN111338978B (zh) | 存储装置以及操作存储装置的方法 | |
CN112002367A (zh) | 存储器装置以及操作该存储器装置的方法 | |
KR102501778B1 (ko) | 저장 장치 및 그 동작 방법 | |
CN111338979A (zh) | 存储器控制器及其操作方法 | |
CN111192617A (zh) | 存储装置及其操作方法 | |
CN112289361B (zh) | 存储器装置及其操作方法 | |
CN111312305A (zh) | 存储装置及其操作方法 | |
CN111341372B (zh) | 存储装置以及操作存储装置的方法 | |
KR102640951B1 (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN111506515A (zh) | 存储器控制器及其操作方法 | |
CN114388038A (zh) | 存储器设备及其操作方法 | |
CN114300021A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200619 |