CN114675778A - 具有存储器控制器的存储器*** - Google Patents
具有存储器控制器的存储器*** Download PDFInfo
- Publication number
- CN114675778A CN114675778A CN202110906149.6A CN202110906149A CN114675778A CN 114675778 A CN114675778 A CN 114675778A CN 202110906149 A CN202110906149 A CN 202110906149A CN 114675778 A CN114675778 A CN 114675778A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- index data
- user data
- index
- 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.)
- Pending
Links
Images
Classifications
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/10—Address translation
- G06F12/1072—Decentralised address translation, e.g. in distributed shared memory systems
-
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- 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
- G06F13/1673—Details of memory controller using buffers
-
- 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
- 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
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- 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/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/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
- 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/08—Address circuits; Decoders; Word-line control 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
- G11C16/12—Programming voltage switching 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
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching 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/24—Bit-line control 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
- 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/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
-
- 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
- G06F2212/1036—Life time enhancement
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7207—Details relating to flash memory management management of metadata or control data
-
- 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
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)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种存储器***,该存储器***包括:存储块,包括多个页面,每个页面包括连接到位线和字线中的一条字线的多个存储器单元;地址管理器,被配置为输出与多个页面相对应的地址;以及***数据管理器,被配置为生成与地址中的每一个相对应的索引数据并且分别输出索引数据和关于待存储索引数据的存储器单元的信息,该索引数据指示用户数据是否被反转。该***数据管理器被配置为将来自与地址中的连续地址相对应的相邻页面中包括的存储器单元之中的连接到不同位线的存储器单元,确定为待存储与连续地址相对应的索引数据的存储器单元。
Description
相关申请的交叉引用
本申请要求于2020年12月24日提交的、申请号为10-2020-0183762的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本公开总体上涉及一种具有存储器控制器的存储器***,更特别地,涉及一种具有可以生成和管理***数据的存储器控制器的存储器***。
背景技术
存储器***可以包括能够存储数据的存储装置和能够控制存储装置的存储器控制器。
存储装置可以包括能够存储数据的存储器装置,并且存储器装置可以分类为易失性存储器装置和非易失性存储器装置。
易失性存储器装置是仅当供应电力时才存储数据而当中断电力供应时所存储的数据消失的存储器装置。易失性存储器装置可以包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
非易失性存储器装置是即使当中断电力供应时所存储的数据也不消失的存储器装置。非易失性存储器装置可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦ROM(EEPROM)、闪速存储器等。
发明内容
本公开的各个实施例提供一种具有存储器控制器的存储器***,该存储器控制器可以防止相同的数据存储在相同列中包括的标志单元中的现象。
根据本公开的一方面,提供一种存储器***,该存储器***包括:存储块,包括多个页面,其中该多个页面中的每一个包括连接到位线和字线中的一条字线的多个存储器单元;地址管理器,被配置为输出与多个页面相对应的地址,地址中的每一个指示多个页面之中的待存储用户数据的页面;以及***数据管理器,被配置为生成与地址中的每一个相对应的索引数据并且分别输出索引数据和关于待存储索引数据的存储器单元的信息,该索引数据指示用户数据是否被反转。该***数据管理器可以被配置为将来自与地址中的连续地址相对应的相邻页面中包括的存储器单元之中的连接到不同位线的存储器单元,确定为待存储与连续地址相对应的索引数据的存储器单元。
根据本公开的另一方面,提供一种存储器***,该存储器***包括:存储器装置,包括连接到第一位线和第一字线的第一存储器单元、连接到与第一位线相邻的第二位线和第一字线的第二存储器单元、连接到第一位线和与第一字线相邻的第二字线的第三存储器单元以及连接到第二位线和第二字线的第四存储器单元;以及存储器控制器,被配置为在编程操作中将包括索引数据的数据集传输到存储器装置。该存储器控制器可以生成数据集,使得索引数据存储在第一存储器单元至第四存储器单元中。
根据本公开的又一方面,提供一种存储器***,该存储器***包括:存储块,包括存储索引数据的第一区域和存储用户数据的第二区域;***电路,被配置为将索引数据和用户数据编程在存储块中;以及存储器控制器,被配置为根据用户数据的状态来生成索引数据,并且将用户数据和索引数据传输到***电路。索引数据可以具有预定的位大小。索引数据可以存储第一区域中的连接到不同位线的存储器单元中。
附图说明
现在将在下文中参照附图更充分地描述本公开的实施例;然而,实施例可以以不同的形式实现并且不应被解释为限于本文中阐述的实施例。相反,提供这些实施例以便本公开将是彻底且完整的,并且将把示例实施例的范围充分地传达给本领域技术人员。
在附图中,为了清楚地说明,可以夸大尺寸。将理解的是,当元件被称为在两个元件“之间”时,它可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。相同的附图标记始终指代相同的元件。
图1是示出根据本公开的实施例的存储器***的示图。
图2是示出存储器装置的示图。
图3是示出存储器单元阵列和页面缓冲器组的示图。
图4是示出存储块的示图。
图5是示出根据本公开的实施例的存储器控制器的示图。
图6是示出根据本公开的实施例的编程操作的示图。
图7A和图7B是示出根据本公开的实施例的由存储器控制器生成的数据集的示图。
图8是示出根据本公开的实施例的包括索引数据的***数据的模式的示图。
图9A和图9B是示出根据本公开的实施例的用于将存储器控制器所生成的数据集传输到存储器装置的方法的示图。
图10是示出根据本公开的第一实施例的***数据的模式的示图。
图11是示出根据本公开的第二实施例的***数据的模式的示图。
图12是示出根据本公开的第三实施例的***数据的模式的示图。
图13是示出根据本公开的第四实施例的***数据的模式的示图。
图14是示出根据本公开的第五实施例的***数据的模式的示图。
图15是示出根据本公开的实施例的读取操作的示图。
图16是示出应用了根据本公开的实施例的存储器装置的存储卡***的示图。
图17是示出应用了根据本公开的实施例的存储器装置的固态驱动器(SDD)的示图。
具体实施方式
为了描述根据本公开的概念的实施例,本文中所公开的特定结构或功能描述仅是说明性的。根据本公开的概念的实施例可以以各种形式来实施,并且不应被解释为限于本文中阐述的实施例。
本文中描述的方法、过程和/或操作可以由待由计算机、处理器、控制器或其他信号处理装置运行的代码或指令来执行。计算机、处理器、控制器或其他信号处理装置可以是本文中描述的那些或除本文中描述的元件之外的元件。因为详细描述了形成方法(或计算机、处理器、控制器或其他信号处理装置的操作)的基础的算法,所以用于实施方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理装置转换为用于执行本文的方法的专用处理器。
当至少部分地以软件来实施时,控制器、处理器、装置、模块、单元、复用器、生成器、逻辑、接口、解码器、驱动器、发生器以及其他信号生成和信号处理特征部件可以包括,例如用于存储待由例如计算机、处理器、微处理器、控制器或其他信号处理装置运行的代码或指令的存储器或其他存储装置。。
图1是示出根据本公开的实施例的存储器***的示图。
参照图1,存储器***1000可以包括存储装置1100和存储器控制器1200。存储装置1100可以包括多个存储器装置MD,而多个存储器装置MD可以通过输入/输出线连接到存储器控制器1200。
存储器控制器1200可以在主机1500与存储器装置MD之间通信。存储器控制器1200可以根据主机1500的请求RQ来生成用于控制存储器装置MD的命令CMD,并且即使当主机1500的请求RQ不存在时,也执行用于存储器***1000的性能改善的后台操作。
主机1500可以生成用于各种操作的请求RQ,并且将所生成的请求RQ输出到存储器***1000。例如,请求RQ可以包括能够控制编程操作的编程请求、能够控制读取操作的读取请求、能够控制擦除操作的擦除请求等。
主机1500可以通过诸如以下的各种通信标准和接口与存储器***1000通信:高速***组件互连(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、串列SCSI(SAS)、高速非易失性存储器(NVMe)、通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)。
根据本实施例的存储器控制器1200可以在编程操作中将用于编程操作的命令CMD、地址和数据传输到存储器装置MD并且可以在读取操作中接收从存储器装置MD读取的数据集。存储器控制器1200可以生成与从主机1500接收的用户数据相关的***数据,然后可以将包括用户数据和***数据的数据集传输到所选择的存储器装置MD,***数据由存储器控制器1200管理。存储器控制器1200可以根据存储器装置MD的编程操作和擦除操作的循环数量(以下简称为循环数量)来控制存储器装置MD以将用户数据存储为非反转版本和反转版本中的一个。当将用户数据存储到存储器装置MD中时,存储器控制器1200可以生成表示用户数据是存储为非反转版本还是反转版本的索引数据并且可以将索引数据包括到与(反转或非反转的)用户数据相关的***数据中以生成数据集。存储器控制器1200可以改变位置,例如数据集中包括的索引数据的列。例如,该列指根据待存储***数据的存储块中的串或位线而确定的区域(例如,存储器单元)。例如,在存储块中,可以根据字线来确定行区域(例如,页面),并且可以根据串或位线来确定列区域(例如,存储器单元)。列(或列地址)可以指示在第一方向(例如,列方向)上的存储位置(例如,存储器单元的位置)。此处,第一方向可以是与布置页面的第二方向(例如,行方向)不同的方向。列可以指示多条位线的布置。
因此,在读取操作中,存储器控制器1200可以根据从存储器装置MD读取的数据集的***数据来确定用户数据的状态。例如,在***数据中,当索引数据表示所读取的与索引数据相关的用户数据为反转版本时,存储器控制器1200可以确定所读取的用户数据为反转数据并且可以将所读取的用户数据恢复为非反转数据,然后将原始用户数据(即,非反转数据)输出到主机1500。
将详细描述图1所示的存储器装置MD如下。
图2是示出存储器装置的示图。
参照图2,存储器装置MD可以包括存储数据的存储器单元阵列110,用于执行编程操作、读取操作或擦除操作的***电路200,以及用于控制***电路200的逻辑电路160。
存储器单元阵列110可以包括存储数据的多个存储块BLK1至BLKi(i是正整数)。存储块BLK1至BLKi中的每一个可以包括多个存储器单元。存储器单元可以被实施为存储器单元平行于衬底布置的二维结构或者存储器单元沿垂直方向上堆叠在衬底上的三维结构。
***电路200可以包括电压生成器120、行解码器130、页面缓冲器组140以及输入/输出电路150。
电压生成器120可以响应于电压码VCD而生成并输出各种操作所必需的操作电压Vop。例如,电压生成器120可以生成并输出包括编程电压、验证电压、读取电压、通过电压、擦除电压等的操作电压Vop。
行解码器130可以根据行地址RADD在存储器单元阵列110中包括的存储块BLK1至BLKi之中选择一个存储块,并且将操作电压Vop传输到所选择的存储块。
页面缓冲器组140可以通过位线连接到存储器单元阵列110。例如,页面缓冲器组140可以包括连接到各个位线的页面缓冲器。页面缓冲器可以响应于页面缓冲器控制信号PBSIG而同时操作,并且在编程操作或读取操作中临时存储数据。
输入/输出电路150可以通过输入/输出线连接到存储器控制器(图1所示的1200)。输入/输出电路150可以通过输入/输出线来输入/输出命令CMD、地址ADD和数据DATA。例如,输入/输出电路150可以将通过输入/输出线接收的命令CMD和地址ADD传输到逻辑电路160,并且将通过输入/输出线接收的数据DATA传输到页面缓冲器组140。输入/输出电路150可以通过输入/输出线将从页面缓冲器组140接收的数据DATA输出到存储器控制器1200。数据DATA可以是参照图1描述的数据集。
逻辑电路160可以响应于命令CMD和地址ADD而输出电压码VCD、行地址RADD以及页面缓冲器控制信号PBSIG。例如,逻辑电路160可以包括响应于命令CMD而执行算法的软件以及被配置为根据地址ADD和算法来输出各种信号的硬件。
图3是示出存储器单元阵列和页面缓冲器组的示图。
参照图3,存储器单元阵列110可以包括第一存储块BLK1至第i存储块BLKi。第一存储块BLK1至第i存储块BLKi中的每一个可以包括可以存储不同类型的数据的多个区域。例如,第一存储块BLK1至第i存储块BLKi中的每一个可以包括对应于不同区域的第一子块1SB和第二子块2SB。第一子块1SB可以共同连接到第一位线BL1至第j位线BLj(j是正整数),而第二子块2SB可以共同连接到第(j+1)位线BLj+1至第(j+m)位线BLj+m。***数据可以存储在第一子块1SB中,而用户数据可以存储在第二子块2SB中。因此,第一子块1SB的存储容量小于第二子块2SB的存储容量。也就是说,第一子块1SB中包括的存储器单元的数量少于第二子块2SB中包括的存储器单元的数量。在一些实施例中,第一子块1SB中包括的存储器单元可以被定义为标志单元,并且第二子块2SB中包括的存储器单元可以被定义为普通存储器单元。
页面缓冲器组140可以包括共同连接到第一子块1SB的第一页面缓冲器PB1至第j页面缓冲器PBj以及共同连接到第二子块2SB的第(j+1)页面缓冲器PBj+1至第(j+m)页面缓冲器PBj+m。在编程操作中,从存储器控制器接收的数据集可以存储在第一页面缓冲器PB1至第(j+m)页面缓冲器PBj+m中,并且可以根据第一页面缓冲器PB1至第(j+m)页面缓冲器PBj+m中存储的数据集来确定第一位线BL1至第(j+m)位线BLj+m的电压。
在编程操作中,第一存储块BLK1至第i存储块BLKi之中的所选择的存储块可以连接到第一位线BL1至第(j+m)位线BLj+m,并且可以对所选择的存储块中包括的所选择的存储器单元进行编程。
图4是示出存储块的示图,并且作为示例示出了图3所示的多个存储块BLK1至BLKi之中的第i存储块BLKi。
参照图4,第i存储块BLKi可以包括多个串ST。多个串ST可以连接在第一位线BL1至第(j+m)位线BLj+m与源极线SL之间。例如,一个串ST可以连接在第一位线BL1与源极线SL之间,并且一个串ST可以连接在第二位线BL2与源极线SL之间。通过这种方式,一个串ST也可以连接在第(j+m)位线BLj+m与源极线SL之间。
多个串ST可以包括在第一子块1SB和第二子块2SB的每一个中,并且第一子块1SB中包括的串ST的数量可以不同于第二子块2SB中包括的串ST的数量。当设置成***数据存储在第一子块1SB中并且用户数据存储在第二子块2SB中时,第一子块1SB中包括的串ST的数量可以小于第二子块2SB中包括的串ST的数量。第一子块1SB和第二子块2SB中包括的串ST中的每一个可以包括源极选择晶体管SST、第一存储器单元F1至第n存储器单元Fn、漏极选择晶体管DST。作为示例将详细描述连接到第一位线BL1的串ST。
串ST中包括的源极选择晶体管SST可以根据施加到源极选择线SSL的电压将源极线SL和第一存储器单元F1电连接或中断源极线SL与第一存储器单元F1之间的连接。串ST中包括的第一存储器单元F1至第n存储器单元Fn的栅极可以分别连接到第一字线WL1至第n字线WLn。串ST中包括的漏极选择晶体管DST可以根据施加到漏极选择线DSL的电压将第一位线BL1和第n存储器单元Fn电连接或中断第一位线BL1与第n存储器单元Fn之间的连接。不同串ST中包括的源极选择晶体管SST的栅极可以共同连接到源极选择线SSL,不同串ST中包括的第一存储器单元F1至第n存储器单元Fn的栅极可以连接到第一字线WL1至第n字线WLn,并且不同串ST中包括的漏极选择晶体管DST的栅极可以共同连接到漏极选择线DSL。连接到相同字线的一组存储器单元被称为页面PG,并且可以以页面PG为单位执行编程操作和读取操作。
可以通过使用逐步增加编程电压的增量步进脉冲编程(ISPP)方法来执行根据实施例的编程操作。在使用ISPP方法的编程操作中,可以执行多个编程循环直到所选择的存储器单元的阈值电压增加到目标电压为止,并且每当执行编程循环时可以逐步增加编程电压。
可以根据所存储的位的数量以各种方式对第一存储器单元F1至第n存储器单元Fn进行编程或读取。例如,1位数据可以以单层单元(SLC)方式存储在一个存储器单元中,而2位或更多位数据可以以多层单元(MLC)方式存储在一个存储器单元中。例如,2位数据可以以MLC方式存储在一个存储器单元中,3位数据可以以三层单元(TLC)方式存储在一个存储器单元中,4位数据可以以四层单元(QLC)方式存储在一个存储器单元中。另外,5位或更多位数据可以存储在一个存储器单元中。在MLC方式或更多层单元的方式中,存储在一个存储器单元中的多个位的数据可以是不同的逻辑页面数据。将作为示例描述TLC方式。在TLC方式中,三个逻辑页面数据可以存储在一个页面中。三个逻辑页面数据可以是最低有效位(LSB)数据、中间有效位(CSB)数据和最高有效位(MSB)数据。
图5是示出根据本公开的实施例的存储器控制器的示图。
参照图5,存储器控制器1200可以包括主机接口51、用户数据管理器52、***数据管理器53、地址管理器54、中央处理单元55、***存储器56、循环计数器57和存储器接口58。主机接口51、用户数据管理器52、***数据管理器53、地址管理器54、中央处理单元55、***存储器56、循环计数器57和存储器接口58可以通过总线60相互通信。主机接口51、用户数据管理器52、***数据管理器53、地址管理器54、***存储器56、循环计数器57和存储器接口58可以在中央处理单元55的控制下操作。将详细描述每个单元如下。
主机接口51可以在主机1500与存储器控制器1200之间传输请求、地址或数据。例如,当接收到从主机1500输出的请求时,主机接口51可以将接收到的请求传输到中央处理单元55。中央处理单元55可以将接收到的请求改变为可以在存储器***中使用的命令,并且可以根据所接收到的请求来控制主机接口51、用户数据管理器52、***数据管理器53、地址管理器54、***存储器56、循环计数器57和存储器接口58中的每一个。例如,在中央处理单元55的控制下,可以将输入到主机接口51的信息选择性地传输到其他单元52至54和56至58,并且可以在不同的单元52至54和56至58之间传输信息。
用户数据管理器52可以将从主机接口51输出的用户数据传输到存储器接口58或将用户数据改变为反转数据,然后将所反转的用户数据传输到***存储器56。例如,用户数据管理器52可以确定在编程操作中所选择的存储块的循环数量是否对应于参考值。当所选择的存储块的循环数量不对应于参考值时,用户数据管理器52可以将用户数据作为非反转数据传输到***存储器56。当所选择的存储块的循环数量对应于参考值时,用户数据管理器52可以将用户数据反转并且将所反转的数据传输到***存储器56。例如,参考值可以是奇数或偶数。当参考值为偶数时,用户数据管理器52可以在所选择的存储块的循环数量为奇数时将用户数据作为非反转数据传输到***存储器56,并且在所选择的存储块的循环数量为偶数时将所反转的用户数据传输到***存储器56。因此,用户数据管理器52可以根据存储块的循环数量来选择性地反转每个存储块的用户数据。
***数据管理器53可以以页面为单位管理用户数据。例如,***数据管理器53可以生成关于用户数据的各种信息作为***数据。例如,***数据可以包括索引数据、奇偶校验等。索引数据可以是表示用户数据是否已经反转的数据。例如,当用户数据管理器52将用户数据保持为非反转数据时,***数据管理器53可以生成索引数据作为第一索引数据。可以将第一索引数据设置为从数据0和1中选择的数据1。当用户数据管理器52将用户数据反转时,***数据管理器53可以生成索引数据作为第二索引数据。可以将第二索引数据设置为从数据0和1中选择的数据0。数据1可以表示第一子块(图3所示的1SB)中包括的存储器单元的擦除状态,而数据0可以表示第一子块(图3所示的1SB)中包括的存储器单元的编程状态。当用户数据管理器52将用户数据反转时,***数据管理器53可以生成与存储器单元的编程状态相对应的索引数据。
而且,***数据管理器53可以根据地址管理器54所生成的字线地址,来改变被配置为存储***数据的标志单元之中待存储索引数据的存储位置。(待)存储索引数据的存储位置或标志单元可以由列表示。在下文中,(待)存储索引数据的存储位置或标志单元被称为列。换言之,***数据管理器53可以生成与地址中的每一个相对应的索引数据。***数据管理器53可以分别输出索引数据和关于待存储索引数据的存储器单元的信息。为了描述这一点,将描述地址管理器54如下。
地址管理器54可以针对字线区分用户数据并且将表示用户数据的区分单元的字线地址传输到***数据管理器53。例如,地址管理器54可以针对字线区分第二子块2SB(见图3)的大小的用户数据,将用户数据的区分单元与各个字线相关,并且将分别与用户数据的区分单元相关的字线的每个地址传输到***数据管理器53。换言之,地址管理器54可以输出与多个页面相对应的地址。地址中的每一个可以指示多个页面之中的待存储用户数据的页面。
例如,当将与第一字线相关的用户数据从用户数据管理器52传输到***存储器56时,地址管理器54可以将第一字线的地址传输到***数据管理器53以用于与第一字线相关的用户数据。当在将与第一字线相关的用户数据传输到***存储器56之后,将与第二字线相关的用户数据从用户数据管理器52传输到***存储器56时,地址管理器54可以将第二字线的地址传输到***数据管理器53以用于与第二字线相关的用户数据。通过这种方式,每当将针对字线进行区分的用户数据从用户数据管理器52传输到***存储器56时,地址管理器54都可以将字线的地址传输到***数据管理器53。可以根据存储块各自的循环数量针对各存储块以第二子块2SB(见图3)为单位将用户数据反转或非反转。在实施例中,可以将反转或非反转的用户数据以第二子块2SB为单位一次从用户数据管理器52传输到***存储器56。在实施例中,可以针对字线来区分以第二子块2SB为单位并且存储在***存储器56中的用户数据。在实施例中,可以将与用户数据各自的区分单元相关的字线的地址提供给***数据管理器53,以用于分别与字线相关的用户数据的区分单元。换言之,字线的地址可以分别对应于页面。具体地,字线的地址中的每一个可以指示连接到字线的页面。
***数据管理器53可以将来自与地址中的连续地址相对应的相邻页面中包括的存储器单元之中的连接到不同位线的存储器单元,确定作为待存储与连续地址相对应的索引数据的存储器单元。换言之,***数据管理器53可以根据从地址管理器54输出的字线地址来改变待存储***数据的列。例如,***数据管理器53可以改变索引数据的列,使得连续字线地址的索引数据将不存储在相同的列中。当索引数据的列改变时,由于存储索引数据的列和索引数据在***数据或数据集内的布置有相关性,因此索引数据在数据集内的布置可能会改变。***数据管理器53可以通过改变索引数据的列来生成具有各种布置或模式的***数据。***数据管理器53可以将所生成的***数据传输到***存储器56。***数据管理器53可以输出索引数据和关于待存储索引数据的存储器单元的信息。该信息可以指示待存储索引数据的位置。
***存储器56可以包括能够临时存储数据的缓冲单元。例如,缓冲单元可以利用动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)来实施。另外,缓冲单元可以利用各种类型的单元来实施。***存储器56可以存储存储器控制器1200的操作所必需的各种信息。例如,***存储器56可以包括作为关于物理地址与逻辑地址之间的连接关系的信息的地址映射表,并且在编程操作或读取操作中临时存储数据。物理地址可以是在存储装置1100中使用的地址,而逻辑地址可以是在主机1500中使用的地址。在编程操作中,***存储器56可以临时存储包括用户数据和***数据的数据集,该数据集与字线地址相关,然后在中央处理单元55的控制下将数据集传输到存储器接口58。
循环计数器57可以在编程操作中对所选择的存储块的循环数量进行计数。所选择的存储块的循环数量指在所选择的存储块中执行编程操作和擦除操作的次数。例如,当执行一次编程操作并且执行一次擦除操作时,循环数量增加1。循环计数器57可以在编程操作中将所选择的存储块的累积循环数量传输到用户数据管理器52。
存储器接口58可以在存储器控制器1200和存储装置1100之间传送信息。例如,在编程操作中,存储器接口58可以将从中央处理单元55输出的命令以及从***存储器56输出的数据集和地址传输到存储装置1100中包括的所选择的存储器装置。在读取操作中,存储器接口58可以将从存储装置1100输出的数据集传输到***存储器56。可以通过错误校正器(未示出)执行的错误校正操作来检测和校正传输到***存储器56的数据集的错误,并且可以将数据集中包括的用户数据通过主机接口51来输出到主机1500。
图6是示出根据本公开的实施例的编程操作的示图。
参照图5和图6,当主机1500将编程请求输出到存储器控制器1200时(S61),存储器控制器1200可以响应于该编程请求而选择待执行编程操作的存储块(S62)。例如,存储器控制器1200可以选择待执行编程操作的存储块的块地址。
当循环计数器57将所选择的存储块的循环数量传输到用户数据管理器52时,用户数据管理器52可以将循环数量与参考值进行比较(S63)。参考值可以是奇数或偶数。
当所选择的存储块的循环数量不对应于参考值(否)时,用户数据管理器52可以将用户数据作为非反转数据传输到***存储器56,并且***数据管理器53可以生成与用户数据相关的***数据,并且将所生成的***数据传输到***存储器56。由于用户数据被保持为非反转数据,因此第一索引数据可以包括在***数据中。
随后,可以将***存储器56中临时存储的数据集传输到存储器接口58,并且可以将存储器接口58中存储的数据集输出到所选择的存储器装置(S66)。
当所选择的存储块的循环数量对应于参考值(是)时,用户数据管理器52可以将用户数据反转(S64)。可以将反转的用户数据传输到***存储器56。
随后,***数据管理器53可以生成与反转的用户数据相关的***数据。***数据管理器53可以生成表示用户数据为反转数据的第二索引数据,并且根据字线地址来选择列以存储第二索引数据(S65)。例如,每当字线地址改变时,***数据管理器53可以改变待存储索引数据的列。
当在操作S64和操作S65中生成的反转的用户数据和***数据被传输到***存储器56时,***存储器56可以将包括用户数据和***数据的数据集传输到存储器接口58,并且存储器接口58可以将数据集输出到所选择的存储器装置(S66)。
在上述实施例中,当所选择的存储块的循环数量对应于参考值(是)时,存储第二索引数据的列改变。然而,即使当所选择的存储块的循环数量不对应于参考数量(否)时,也可以执行改变存储第一索引数据的列的操作。
图7A和图7B是示出根据本公开的实施例的由存储器控制器生成的数据集的示图。
参照图7A,当(j+m)位数据存储在一个页面中时,可以将第一列C1至第(j+m)列C(j+m)分配给每个存储1位数据的存储器单元。第一位线可以连接到对应于第一列C1的存储器单元,第(j+m)位线可以连接到对应于第(j+m)列C(j+m)的存储器单元。
在一个页面中,***数据可以存储在对应于第一列C1至第j列Cj的存储器单元中,并且用户数据可以存储在对应于第(j+1)列Cj+1至第(j+m)列C(j+m)的存储器单元中。
***数据可以包括索引数据ID和页面信息PIF。索引数据ID可以存储在对应于第一列C1至第j列Cj的存储器单元的任意一个中。页面信息PIF可以存储在对应于第一列C1至第j列Cj之中的除了与存储索引数据ID的存储器单元相对应的列之外的其他列的存储器单元中。页面信息PIF可以包括关于用户数据的各种信息。例如,页面信息PIF可以包括用户数据的逻辑页面数据信息。逻辑页面数据信息是可以以MLC方式或更多层单元的的方式包括在***数据中的信息。例如,可以根据逻辑页面数据信息将用户数据确定为LSB数据、CSB数据或MSB数据。
参照图7B,与图7A所示的附图不同,存储***数据和用户数据的顺序可以改变。例如,用户数据可以存储在对应于第一列C1至第m列Cm的存储器单元中,而***数据可以存储在对应于第(m+1)列Cm+1至第(m+j)列Cm+j的存储器单元中。
图8是示出根据本公开的实施例的包括索引数据的***数据的模式的示图。
参照图8,包括索引数据ID的***数据的布置或模式可以根据存储索引数据ID的页面而改变。页面由字线表示。如上所述,可以针对字线来区分用户数据,这意味着可以针对由字线表示的页面来区分用户数据。包括用户数据和与用户数据相关的***数据的数据集可以存储在由字线表示的页面中。索引数据ID在数据集的***数据内的布置可以根据存储数据集的页面而变化,这意味着索引数据ID在***数据内的布置可以根据存储索引数据ID的页面而变化。作为示例将描述第一字线地址ADD_WL1至第四字线地址ADD_WL4。第一数据集1st data set至第四数据集4th data set可以存储在分别由第一字线WL1至第四字线WL4表示的第一页面1PG至第四页面4PG中。将要存储在第一页面1PG中的索引数据ID可以存储在对应于第二列C2的存储器单元中,而将要存储在第二页面2PG中的索引数据ID可以存储在与第二列C2不同的列中。例如,将要存储在第二页面2PG中的索引数据ID可以存储在对应于第一列C1的存储器单元中。当将要存储在第二页面2PG中的索引数据ID存储在第一列C1中时,将要存储在第三页面3PG中的索引数据ID可以存储在与第一列C1不同的第二列C2中。除了***数据中的索引数据ID之外的其他页面信息PIF可以存储在分配给***数据的列之中的除了分配给存储索引数据ID的存储器单元的列之外的其他列的存储器单元中。
将详细描述用于将存储器控制器所生成的数据集传输到存储器装置的方法如下。
图9A和图9B是示出根据本公开的实施例的用于将由存储器控制器生成的数据集传输到存储器装置的方法的示图。
在图9A中,示出一种将第一数据集1st data set存储在一组存储器单元,例如连接到第一字线WL1的第一页面中的方法。在图9B中,示出一种在第一数据集1st data set被存储在第一页面中之后,将第二数据集2nd data set存储在一组存储器单元,例如连接到第二字线WL2的第二页面中的方法。
参照图9A,用户数据管理器52可以将反转或非反转的第一用户数据1UDT传输到***存储器56,并且***数据管理器53可以将与第一用户数据1UDT相关的第一***数据1SDT传输到***存储器56。当地址管理器54将表示第一页面且与第一用户数据1UDT相关的字线的第一字线地址1ADD_wl传输到***存储器56时,***存储器56可以将包括第一用户数据1UDT和第一***数据1SDT的第一数据集1st data set传输到存储器接口58。存储器接口58可以将对应于第一字线地址1ADD_wl的第一数据集1st data set传输到存储器装置MD。
当输入第一数据集时,存储器装置MD可以将第一***数据1SDT存储在连接到第一字线WL1的存储器单元之中的第一子块1SB中包括的存储器单元中并且将第一用户数据1UDT存储在连接到第一字线WL1的存储器单元之中的第二子块2SB中包括的存储器单元中。存储第一***数据1SDT的存储器单元和存储第一用户数据1UDT的存储器单元可以配置第一页面。
参照图9B,当第一数据集存储在第一页面中时,用户数据管理器52可以将反转或非反转的第二用户数据2UDT传输到***存储器56,并且***数据管理器53可以将与第二用户数据2UDT相关的第二***数据2SDT传输到***存储器56。当地址管理器54将表示第二页面且与第二用户数据2UDT相关的字线的第二字线地址2ADD_wl传输到***存储器56时,***存储器56可以将包括第二用户数据2UDT和第二***数据2SDT的第二数据集2nd data set传输到存储器接口58。存储器接口58可以将对应于第二字线地址2ADD_wl的第二数据集2nddata set传输到存储器装置MD。
当输入第二数据集时,存储器装置MD可以将第二***数据2SDT存储在连接到第二字线WL2的存储器单元之中的第一子块1SB中包括的存储器单元中并且将第二用户数据2UDT存储在连接到第二字线WL2的存储器单元之中的第二子块2SB中包括的存储器单元中。存储第二***数据2SDT的存储器单元和存储第二用户数据2UDT的存储器单元可以配置第二页面。
根据上述方法,可以将***数据存储在存储器装置的存储块内的所选择的区域(即第一子块1SB)中,并且可以不同地实施所选择的区域中存储的***数据的模式。将描述***数据的各种模式如下。
图10是示出根据本公开的第一实施例的***数据的模式的示图。
参照图10,***数据可以包括具有之字形(zigzag)模式的索引数据ID。索引数据可以选择性地存储在连接到第一位线BL1或第二位线BL2的存储器单元中。例如,索引数据ID可以存储在奇数编号字线WL1、WL3、WL5、……、和WLn中连接到第二位线BL2的存储器单元中,并且索引数据ID可以存储在偶数编号字线WL2、WL4、WL6、……、和WLn-1中连接到第一位线BL1的存储器单元中。也就是说,索引数据ID可以以之字形模式存储在存储器单元中,使得相同索引数据ID不存储在位于相同列并且在行方向上彼此相邻的存储器单元中。
图11是示出根据本公开的第二实施例的***数据的模式的示图。
参照图11,***数据可以包括具有之字形模式的索引数据ID,并且索引数据ID可以选择性地存储在连接到第三位线BL3或第四位线BL4的存储器单元中。例如,索引数据ID可以存储在奇数编号字线WL1、WL3、WL5、……、和WLn中连接到第四位线BL4的存储器单元中,并且索引数据ID可以存储在偶数编号字线WL2、WL4、WL6、……、和WLn-1中连接到第三位线BL3的存储器单元中。也就是说,在参照图11描述的第二实施例中,索引数据ID可以存储在对应于第一子块1SB的中间点的列的存储器单元中。
图12是示出根据本公开的第三实施例的***数据的模式的示图。
参照图12,***数据可以包括具有与第一子块1SB中的字线和列的地址成比例的模式的索引数据。将作为示例描述第一子块1SB中包括的每个页面被配置为6位的情况。第一位线BL1至第六位线BL6可以连接到第一子块1SB。列的序列号随着位线的序列号的增加而增加。也就是说,第一位线BL1可以对应于第一列,而第二位线BL2可以对应于第二列。通过这种方式,第六位线BL6可以对应于第六列。
对应于第一字线WL1至第六字线WL6的索引数据ID可以分别存储在第一字线WL1至第六字线WL6与第一位线BL1至第六位线BL6彼此重叠的存储器单元中。对应于来自第七字线WL7的字线的索引数据ID可以分别存储在字线再次与第一位线BL1至第六位线BL6重叠的存储器单元中。例如,索引数据ID可以分别存储在连接到第一字线WL1和第一位线BL1的存储器单元、连接到第二字线WL2和第二位线BL2的存储器单元、连接到第三字线WL3和第三位线BL3的存储器单元、连接到第四字线WL3和第四位线BL4的存储器单元、连接到第五字线WL5和第五位线BL5的存储器单元以及连接到第六字线WL6和第六位线BL6的存储器单元中。由于第六位线BL6是对应于第一子块1SB的最大列的位线,因此索引数据ID可以存储在从第七字线WL7连接到第一位线BL1的存储器单元中。
图13是示出根据本公开的第四实施例的***数据的模式的示图。
参照图13,***数据可以包括索引数据ID,该索引数据ID具有与字线和列的地址成比例的模式以及与字线和列的连续的地址成反比的模式。
将作为示例描述第一子块1SB中包括的每个页面被配置为6位的情况。第一位线BL1至第六位线BL6可以连接到第一子块1SB。在第四实施例中,索引数据ID可以以列的序列号从最小列增加到最大列然后从最大列减小到最小列的模式存储在存储器单元中。也就是说,与字线的地址成比例,存储索引数据ID的存储器单元的模式可以具有列的序列号顺序地增加或顺序地减少的模式。
图14是示出根据本公开的第五实施例的***数据的模式的示图。
参照图14,第i存储块BLKi可以包括在列方向上划分的多个组GR1至GR3。例如,由第一字线WL1区分的第一页面1PG可以划分为第一组GR1至第三组GR3,并且由第二字线WL2区分的第二页面2PG可以划分为第一组GR1至第三组GR3。通过这种方式,第一页面1PG至第八页面8PG中的每一个可以划分为第一组GR1至第三组GR3。不同组中包括的不同页面中的每一个可以划分为第一子块1SB和第二子块2SB,并且关于每个组的用户数据的***数据可以存储在相应组中包括的第一子块1SB中。***数据可以包括索引数据ID和页面信息,并且索引数据ID可以具有索引模式ID不存储在彼此相邻的页面中的相同列的存储器单元中的模式。
图15是示出根据本公开的实施例的读取操作的示图。
参照图15,当主机将读取请求与逻辑地址一起传输到存储器***时(S151),存储器***可以根据与逻辑地址相对应的物理地址执行所选择的存储块的读取操作(S152)。例如,存储器***中包括的存储器控制器可以根据读取请求来生成读取命令,并且检测与逻辑地址相对应的物理地址。随后,存储器控制器可以将读取命令和物理地址传输到存储器装置。存储器装置可以将通过根据物理地址执行所选择的存储块的读取操作而读取的数据集输出到存储器控制器。
存储器控制器可以检查所接收到的数据集中包括的索引数据ID并且确定数据集中包括的用户数据是非反转数据还是反转数据(S153)。由于在编程操作中已经根据字线改变了存储索引数据的列,因此存储器控制器可以在读取操作中根据与所接收到的数据集相对应的字线地址来从***数据中检测索引数据ID。
当索引数据ID是第一索引数据时,存储器控制器可以将从存储器装置接收的用户数据确定为非反转数据。存储器控制器将从存储器装置接收的用户数据输出到主机(S155)。
在操作S153中,当索引数据ID是第二索引数据时,存储器控制器可以将从存储器装置接收的用户数据确定为反转数据。存储器控制器可以将从存储器装置接收的反转数据恢复为非反转数据(S154),并且将非反转数据作为用户数据输出到主机(S155)。
图16是示出应用了本公开的存储器装置的存储卡***的示图。
参照图16,存储卡***2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100连接到存储器装置2200。存储器控制器2100可以访问存储器装置2200。例如,存储器控制器2100可以控制存储器装置2200的编程操作、读取操作或擦除操作,或者控制存储器装置2200的后台操作。存储器控制器2100提供存储器装置2200与主机Host之间的接口。存储器控制器2100可以包括图5所示的存储器控制器中包括的单元51至单元58,并且存储器装置2200可以与图2所示的存储器装置MD相同地配置。
存储器控制器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可以集成到单个半导体装置中,以构成存储卡。例如,存储器控制器2100和存储器装置2200可以构成诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑式闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC和eMMC)、SD卡(SD、迷你SD、微型SD和SDHC)以及通用闪存(UFS)。
图17是示出应用了本公开的存储器装置的固态驱动器(SDD)的示图。
参照图17,SSD***3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号并且通过电源连接器3002接收电压。SSD 3200包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
图17所示的闪速存储器3221至322n可以与图2所示的存储器装置MD相同地配置。图17所示的SSD控制器3210可以包括图5所示的存储器控制器1200中包括的单元51至单元58。
SSD控制器3210可以响应于从主机3100接收的信号而控制多个闪速存储器3221至322n。信号可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号可以是由诸如以下的接口中的至少一个定义的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机***接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WI-FI、蓝牙和NVMe。
辅助电源3230通过电源连接器3002连接到主机3100。辅助电源3230可以接收从主机3100输入的电力并且充电。当来自主机3100的电力供应不平稳时,辅助电源3230可以向SSD 3200提供电力。辅助电源3230可以位于SSD 3200中,或位于SSD 3200外部。例如,辅助电源3230可以位于主板上并且向SSD 3200提供辅助电力。
缓冲存储器3240可以作为SSD 3200的缓冲存储器操作。例如,缓冲存储器3240可以临时存储SSD***3000的操作所必需的信息,与图5所示的***存储器56分开。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器,或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
根据本公开,防止了相同数据存储在列的标志单元中的现象,从而可以提高标志单元的读取操作的可靠性。
尽管已经参照本公开的某些实施例示出和描述了本公开,但是本领域技术人员将理解的是,在不脱离如所附权利要求书及其等同方案所限定的本公开的精神和范围的情况下,可以在本公开中进行形式和细节上的各种改变。因此,本公开的范围不应限于上述的实施例,而应不仅由所附权利要求书而且由其等同方案确定。
在上述实施例中,可以选择性地执行所有步骤,或者可以省略一些或部分步骤。在每个实施例中,不一定按照所描述的顺序执行步骤并且可以重新排列步骤。在本说明书和附图中公开的实施例仅是为了促进对本公开的理解的示例,并且本公开不限于此。也就是说,对于本领域技术人员应该显而易见的是,可以基于本公开的技术范围进行各种修改。
在附图和说明书中已经描述了本公开的实施例。尽管这里使用了特定术语,但是这些仅是为了描述本公开的实施例。因此,本公开不限于上述实施例并且在本公开的构思和范围内可能有许多变型。对于本领域技术人员应该显而易见的是,除了本文所公开的实施例之外,还可以基于本公开的技术范围进行各种修改。进一步,注意如本领域技术人员鉴于本公开将认识到的,本公开可以通过落在所附权利要求书的范围内的替换、改变和修改以各种方式来实现。
Claims (20)
1.一种存储器***,包括:
存储块,包括多个页面,其中所述多个页面中的每一个包括连接到位线和字线中的一条字线的多个存储器单元;
地址管理器,输出与所述多个页面相对应的地址,所述地址中的每一个指示所述多个页面之中的待存储用户数据的页面;以及
***数据管理器,生成与所述地址中的每一个相对应的索引数据,并且分别输出所述索引数据和关于待存储所述索引数据的存储器单元的信息,所述索引数据指示所述用户数据是否反转,
其中所述***数据管理器将来自与所述地址中的连续地址相对应的相邻页面中包括的存储器单元之中的连接到不同位线的存储器单元,确定为待存储与所述连续地址相对应的索引数据的存储器单元。
2.根据权利要求1所述的存储器***,其中所述存储块包括:
第一区域,存储包括与所述地址中的每一个相对应的所述索引数据的***数据;以及
第二区域,存储所述用户数据。
3.根据权利要求1所述的存储器***,进一步包括:
循环计数器,对在所述存储块中执行的编程操作和擦除操作的循环数量进行计数;
用户数据管理器,根据所述存储块的所述循环数量将所述用户数据保持为非反转数据或将所述用户数据改变为反转数据;
***存储器,存储所述用户数据和所述***数据,并且输出包括所述用户数据和所述***数据的数据集;以及
存储器接口,将所述数据集输出到包括所述存储块的存储器装置。
4.根据权利要求3所述的存储器***,其中所述用户数据管理器:
确定所述循环数量是否对应于参考值;并且
当所述循环数量对应于所述参考值时,将所述用户数据改变为所述反转数据。
5.根据权利要求4所述的存储器***,其中所述参考值被设置为偶数或奇数。
6.根据权利要求1所述的存储器***,其中所述***数据管理器:
当所述用户数据被保持为非反转数据时,生成待包括在所述***数据中的第一索引数据作为所述用户数据的信息;并且
当所述用户数据被改变为反转数据时,生成待包括在所述***数据中的第二索引数据作为所述用户数据的信息。
7.根据权利要求6所述的存储器***,其中根据所述第一索引数据来使存储所述第一索引数据或所述第二索引数据的存储器单元保持在擦除状态或根据所述第二索引数据来对存储所述第一索引数据或所述第二索引数据的存储器单元进行编程。
8.根据权利要求1所述的存储器***,其中所述***数据管理器:
控制所述存储块以将所述***数据存储在连接到所述字线中的奇数编号字线的存储器单元之中的连接到第一位线的存储器单元中,并且
控制所述存储块以将所述***数据存储在连接到所述字线中的偶数编号字线的存储器单元之中的连接到第二位线的存储器单元中。
9.根据权利要求1所述的存储器***,其中所述***数据管理器:
控制所述存储块以将所述***数据存储在连接到所述字线中的所选择字线的存储器单元之中的连接到第一位线的存储器单元中,并且
控制所述存储块以将所述***数据存储在连接到在第二方向上最靠近所选择字线的下一字线的存储器单元之中的连接到在第一方向上最靠近所述第一位线的第二位线的存储器单元中。
10.一种存储器***,包括:
存储器装置,包括连接到第一位线和第一字线的第一存储器单元、连接到与所述第一位线相邻的第二位线和所述第一字线的第二存储器单元、连接到所述第一位线和与所述第一字线相邻的第二字线的第三存储器单元以及连接到所述第二位线和所述第二字线的第四存储器单元;以及
存储器控制器,在编程操作中将包括索引数据的数据集传输到所述存储器装置,
其中所述存储器控制器进一步生成所述数据集使得所述索引数据存储在所述第一存储器单元至所述第四存储器单元中。
11.根据权利要求10所述的存储器***,其中所述存储器控制器包括:***数据管理器,根据所述第一字线和所述第二字线的地址,为所述数据集的每一个中包括的索引数据分配连接到所述第一位线和所述第二位线中的一个的存储器单元。
12.根据权利要求11所述的存储器***,其中所述***数据管理器进一步:
根据所述第一字线的地址,为所述索引数据分配来自所述第一存储器单元和所述第二存储器单元之中的连接到所述第一位线和所述第二位线中的一个的存储器单元;并且
根据所述第二字线的地址,为所述索引数据分配来自所述第一存储器单元和所述第二存储器单元之中的连接到所述第一位线和所述第二位线中的一个的存储器单元。
13.根据权利要求11所述的存储器***,其中所述***数据管理器进一步:
当将待存储在连接到所述第一字线和所述第二字线的第五存储器单元中的用户数据的非反转数据传输到所述存储器装置时,生成所述索引数据作为第一索引数据;并且
当将待存储在所述第五存储器单元中的所述用户数据的反转数据传输到所述存储器装置时,生成所述索引数据作为第二索引数据。
14.根据权利要求13所述的存储器***,其中根据所述第一索引数据将所述第一存储器单元和所述第四存储器单元保持在擦除状态或根据所述第二索引数据对所述第一存储器单元和所述第四存储器单元进行编程。
15.根据权利要求13所述的存储器***,其中所述***数据管理器进一步生成关于待存储在所述第五存储器单元中的所述用户数据的页面信息并且生成所述数据集使得所述页面信息存储在所述第五存储器单元中。
16.一种存储器***,包括:
存储块,包括存储索引数据的第一区域和存储用户数据的第二区域;
***电路,将所述索引数据和所述用户数据编程在所述存储块中;以及
存储器控制器,根据所述用户数据的状态来生成所述索引数据,并且将所述用户数据和所述索引数据传输到所述***电路,
其中所述索引数据具有预定的位大小,并且
其中所述索引数据存储在连接到所述第一区域中不同位线的存储器单元中。
17.根据权利要求16所述的存储器***,其中存储在所述第一区域中的索引数据相同。
18.根据权利要求16所述的存储器***,其中所述索引数据存储在与连接到所述第一区域的不同位线和不同字线的交叉点联接的存储器单元中。
19.根据权利要求16所述的存储器***,其中所述存储器控制器进一步根据待存储所述索引数据的页面的地址,在待存储所述索引数据的列方向上改变所述存储器单元的位置。
20.根据权利要求19所述的存储器***,
其中所述存储器控制器反转所述用户数据,并且
其中所述存储器控制器在所述存储器控制器将反转的用户数据传输到所述***电路时生成所述索引数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200183762A KR20220092215A (ko) | 2020-12-24 | 2020-12-24 | 메모리 컨트롤러를 포함하는 메모리 시스템 |
KR10-2020-0183762 | 2020-12-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114675778A true CN114675778A (zh) | 2022-06-28 |
Family
ID=82069735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110906149.6A Pending CN114675778A (zh) | 2020-12-24 | 2021-08-09 | 具有存储器控制器的存储器*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US11688465B2 (zh) |
KR (1) | KR20220092215A (zh) |
CN (1) | CN114675778A (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4491000B2 (ja) | 2007-08-17 | 2010-06-30 | 株式会社東芝 | メモリシステム |
KR20140123135A (ko) | 2013-04-10 | 2014-10-22 | 에스케이하이닉스 주식회사 | 플래그 셀들을 포함하는 반도체 메모리 장치 |
KR20210011198A (ko) * | 2019-07-22 | 2021-02-01 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
-
2020
- 2020-12-24 KR KR1020200183762A patent/KR20220092215A/ko unknown
-
2021
- 2021-06-28 US US17/360,789 patent/US11688465B2/en active Active
- 2021-08-09 CN CN202110906149.6A patent/CN114675778A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11688465B2 (en) | 2023-06-27 |
KR20220092215A (ko) | 2022-07-01 |
US20220208272A1 (en) | 2022-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI725296B (zh) | 記憶體裝置及其操作方法 | |
CN112447244B (zh) | 存储装置及其操作方法 | |
CN110780802B (zh) | 存储器控制器及其操作方法 | |
CN114442915B (zh) | 存储器***以及操作其中所包括的存储器控制器的方法 | |
CN110942795B (zh) | 存储器***、其操作方法以及非易失性存储器装置 | |
CN111667871B (zh) | 存储器设备及其操作方法 | |
JP2023025687A (ja) | メモリ装置およびその動作方法 | |
CN112002367A (zh) | 存储器装置以及操作该存储器装置的方法 | |
CN112988052B (zh) | 存储器装置及其操作方法 | |
CN112151096A (zh) | 存储器装置及其操作方法 | |
US11842779B2 (en) | Memory device and operating method for performing verify operation | |
US11646089B2 (en) | Memory device for performing verify operation and operating method thereof | |
US11586387B2 (en) | Memory system | |
US11742035B2 (en) | Memory device including bit line precharge operation during program verify operation | |
KR20230120930A (ko) | 메모리 장치 및 그 동작 방법 | |
CN115910172A (zh) | 存储器设备和操作该存储器设备的方法 | |
CN114792541A (zh) | 存储器设备和操作该存储器设备的方法 | |
US11688465B2 (en) | Memory system having memory controller | |
CN112289361A (zh) | 存储器装置及其操作方法 | |
US11550497B2 (en) | Memory system and operating method of the memory system | |
US20230006673A1 (en) | Memory system and memory controller | |
KR20240050568A (ko) | 메모리 장치 및 그것의 동작 방법 | |
KR20240012716A (ko) | 메모리 장치 및 그것의 동작 방법 | |
CN116978431A (zh) | 存储器装置及其操作方法 | |
CN115691622A (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 |