CN109933540A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN109933540A CN109933540A CN201811092777.XA CN201811092777A CN109933540A CN 109933540 A CN109933540 A CN 109933540A CN 201811092777 A CN201811092777 A CN 201811092777A CN 109933540 A CN109933540 A CN 109933540A
- Authority
- CN
- China
- Prior art keywords
- memory
- block
- data
- memory block
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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
-
- 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
-
- 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/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- 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/0653—Monitoring storage devices or 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
-
- 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/068—Hybrid storage device
-
- 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/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/24—Accessing extra cells, e.g. dummy cells or redundant 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/52—Protection of memory contents; Detection of errors in memory contents
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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
- 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
-
- 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/5671—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 trapping in an insulator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明可以提供一种存储装置及存储装置的操作方法。用于额外地确保超量配置区域的存储装置可以包括:至少一个存储器装置,每个存储器装置包括第一存储块和第二存储块;以及存储器控制器,其被配置为当至少一个存储器装置的存储器区域中的剩余空间的大小小于阈值时,将存储在至少一个存储器装置的第一存储块中的系统数据存储在第二存储块中。
Description
相关申请的交叉引用
本申请要求于2017年12月18日提交的申请号为10-2017-0174480的韩国专利申请的优先权,其公开通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种电子装置。特别地,实施例涉及一种存储装置以及存储装置的操作方法。
背景技术
存储装置在诸如计算机、智能电话或平板电脑的主机装置的控制下存储数据。存储装置可以包括其内存储数据的存储器装置和控制存储器装置的存储器控制器。存储器装置主要被分类为易失性存储器装置和非易失性存储器装置。
在易失性存储器装置中,当电源被中断时,存储在易失性存储器装置中的数据丢失。易失性存储器装置的示例包括静态随机存取存储器(SRAM)、动态RAM(DRAM)以及同步DRAM(SDRAM)。
在非易失性存储器装置中,即使当电源被中断时,存储在非易失性存储器装置中的数据也被保留。非易失性存储器装置的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)以及铁电RAM(FRAM)。
发明内容
本公开的各个实施例涉及一种控制存储器装置使得额外地确保(secure)超量配置区域(over-provisioning area)的存储器控制器、具有该存储器控制器的存储装置以及该存储器控制器的操作方法。
本公开的实施例可以提供一种存储装置。一种存储装置可以包括:至少一个存储器装置,每个存储器装置包括第一存储块和第二存储块;以及存储器控制器,其被配置为当至少一个存储器装置的存储器区域中的剩余空间的大小小于阈值时,将存储在至少一个存储器装置的第一存储块中的系统数据存储在第二存储块中。
本公开的实施例可以提供一种用于控制多个存储器装置的存储器控制器,每个存储器装置包括第一存储块和第二存储块。存储器控制器可以包括:存储空间监控器,其被配置为将多个存储器装置中的每个的存储器区域中的剩余空间的大小与阈值进行比较;以及系统区域设置单元,其被配置为当剩余空间的大小小于阈值时,将存储在第一存储块中的系统数据存储在第二存储块中。
本公开的实施例可以提供一种操作存储器控制器的方法,存储器控制器控制多个存储器装置,每个存储器装置包括第一存储块和第二存储块。方法可以包括:确定多个存储器装置中的每个的存储器区域中的剩余空间的大小是否小于阈值;并且当剩余空间的大小小于阈值时,将存储在第一存储块中的系统数据存储在第二存储块中。
附图说明
图1是示出根据本公开的实施例的存储装置的示图。
图2是示出图1的存储装置的存储器区域的示图。
图3是示出图2的存储器区域中的剩余存储空间的大小减小到阈值或更小的情况的示图。
图4是示出在额外地确保超量配置区域的情况下的存储器区域的示图。
图5是示出图1的系统区域控制器的结构的框图。
图6是描述根据本公开的实施例的存储器控制器的操作方法的流程图。
图7是示出根据本公开的实施例的将存储在SLC块中的系统数据存储到TLC块中的方法的示图。
图8是示出恢复存储在系统区域中的系统数据的方法的示图。
图9是示出图1的存储器装置的结构的示图。
图10是示出图9的存储器单元阵列的实施例的示图。
图11是示出图10的存储块BLK1至BLKz的任何一个存储块BLKa的电路图。
图12是示出图10的存储块BLK1至BLKz的任何一个存储块BLKb的示例的电路图。
图13是示出图9的存储器单元阵列的实施例的电路图。
图14是示出图1的存储器控制器的实施例的示图。
图15是示出应用根据本公开的实施例的存储装置的存储卡系统的框图。
图16是示出应用根据本公开的实施例的存储装置的固态硬盘(SSD)系统的示例的框图。
图17是示出应用根据本公开的实施例的存储装置的用户系统的框图。
具体实施方式
现在将参照附图更全面地描述示例性实施例;然而,本发明的方面可以以不同的形式体现并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本领域技术人员完全传达示例性实施例的范围。
在附图中,为了说明的清楚起见,尺寸可能被夸大。将理解的是,当元件被称为在两个元件“之间”时,它可以是两个元件之间唯一的元件,或也可存在一个或多个中间元件。
在下文中,将参照附图描述实施例。在本文中参照作为实施例(和中间结构)的示意图的截面图示来描述实施例。这样,例如制造技术和/或公差而导致的图示中的结构的形状变化是可预期的。因此,实施例不应被解释为限于本文所示的特定形状或区域,而是可以包括例如由制造产生的形状的偏差。在附图中,为了清楚起见,层和区域的长度和尺寸可能被夸大。附图中相同的附图标记表示相同的元件。
诸如“第一”和“第二”的术语可以用于描述各种部件,但是它们不应该限制各种部件。这些术语仅用于区分部件与其它部件。例如,在不脱离本公开的精神和范围的情况下,第一部件可以被称为第二部件,并且第二部件可以被称为第一部件等。此外,“和/或”可以包括所提及的部件中的任何一种或组合。
此外,单数形式可以包括复数形式,并且反之亦然,除非另有陈述或上下文另有说明。此外,在本说明书中使用的“包含/包括”或“包含有/包括有”表示存在或添加一个或多个部件、步骤、操作和元件。
此外,除非另有限定,否则本说明书中所使用的包括技术和科学术语的所有术语具有与相关领域的技术人员通常理解的含义相同的含义。在常用词典中限定的术语应被理解为具有与它们在相关领域的语境中被理解的含义一致的含义,并且除非在本说明书中明确地限定,否则不应解释为具有理想化或过于形式化的意义。
还应注意的是,在本说明书中,“连接/联接”不仅指一个部件直接联接另一部件,而且还指通过中间部件间接联接另一部件。另一方面,“直接连接/直接联接”指一个部件直接联接另一部件而没有中间部件。
图1是示出根据本公开的实施例的存储装置50的示图。
参照图1,存储装置50可以包括存储器装置100和存储器控制器200。
存储器装置100可以存储数据。存储器装置100响应于存储器控制器200的控制而操作。存储器装置100可以包括存储器区域101,存储器区域101包括存储数据的多个存储器单元。存储器区域101可以包括多个存储块。包括在存储块的每一个中的多个存储器单元中的每一个可以被实施为能够存储单个数据位的单层单元(SLC)、能够存储两个数据位的多层单元(MLC)、能够存储三个数据位的三层单元(TLC)或能够存储四个数据位的四层单元(QLC)。
因此,根据存储在存储数据的存储器单元中的数据的位的数量,存储器区域101可以包括多个SLC块和TLC块。虽然图1示出仅包括SLC块和TLC块的存储器区域101,但是本实施例不限于此。即,在本公开的实施例中,存储器区域101还可以包括SLC块和MLC块或者包括SLC块和QLC块。然而,在下文中,为了便于描述,将在假设存储器区域101包括SLC块和TLC块的情况下进行描述。
SLC块可以包括由SLC存储器单元实施的多个页面,该SLC存储器单元被配置成使得一个位数据位被存储在单个存储器单元中,并且可以具有高数据计算性能以及高耐用性和可靠性。进一步地,TLC块可以包括由TLC存储器单元实施的多个页面,该TLC存储器单元被配置成使得三个数据位被存储在单个存储器单元中,并且可以具有大于SLC块的数据存储空间的数据存储空间。
在实施例中,存储器装置100的示例可以包括双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功耗双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)SDRAM、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式RAM(RRAM)、相变存储器(PRAM)、磁阻RAM(MRAM)、铁电RAM(FRAM)或自旋转移力矩RAM(STT-RAM)。
存储器装置100可以从存储器控制器200接收命令和地址,并且访问存储器区域101中的响应于地址选择的区域。即,存储器装置100可以对响应于地址选择的区域执行与命令相对应的操作。例如,存储器装置100可以执行编程操作、读取操作和擦除操作。在编程操作期间,存储器装置100可以将数据编程在响应于地址选择的区域中。在读取操作期间,存储器装置100可以从响应于地址选择的区域读取数据。在擦除操作期间,存储器装置100可以擦除存储在响应于地址选择的区域中的数据。
在实施例中,可以页面为单位来执行编程操作和读取操作,并且可以块为单位来执行擦除操作。
在实施例中,存储器控制器200可以同时控制多个存储器装置而不是单个存储器装置100。当存储器控制器200控制多个存储器装置时,包括在存储器装置的每一个中的存储器区域101可以包括SLC块和TLC块。
存储器控制器200可以控制存储器装置100的全部操作。存储器控制器200可以响应于从主机300接收的请求或者不管从主机300接收的请求来控制存储器装置100的操作。
例如,存储器控制器200可以控制存储器装置100,使得响应于从主机300接收的请求来执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以将编程命令、地址和数据提供至存储器装置100。在读取操作期间,存储器控制器200可以将读取命令和地址提供至存储器装置100。在擦除操作期间,存储器控制器200可以将擦除命令和地址提供至存储器装置100。
在实施例中,存储器控制器200可以在不从主机接收请求的情况下自主地生成编程命令、地址和数据,并且将编程命令、地址和数据传输到存储器装置100。例如,存储器控制器200可以将命令、地址和数据提供至存储器装置100以执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
存储器控制器200可以运行固件(FW)以用于控制存储器装置100。当存储器装置100是闪速存储器装置时,存储器控制器200可以操作诸如闪存转换层(FTL)的固件以用于控制主机300与存储器装置100之间的通信。更具体地,存储器控制器200可以将包括在从主机300接收的请求中的逻辑地址转换为物理地址,该物理地址是待被提供至存储器装置100的地址ADD。
根据所存储数据的类型,可以将存储装置50的存储器区域101划分为主数据区域和系统数据区域。系统数据区域可以被细分为其中存储系统数据的系统区域以及保持存储装置50的操作性能所需的超量配置区域。
存储在系统区域中的系统数据可以是与逻辑地址和物理地址之间的映射信息有关的映射数据、与存储装置50的启动操作所需的信息有关的启动信息、用于存储器控制器200的固件(FW)的操作的设置信息等。
超量配置区域可以是被分配用于平稳地操作驱动存储装置50,诸如磨损均衡、垃圾收集和坏块管理所需的的各种功能的保留区域。因此,确保用于超量配置区域的空间影响了存储装置的性能维护和寿命延长。
根据本公开的实施例的存储器控制器200可以进一步包括系统区域控制器210。
系统区域控制器210可以控制以下操作:根据包括在存储器区域101中的剩余存储空间的大小来额外地分配超量配置区域的大小。详细地,当包括在存储器区域101中的剩余存储空间的大小减小到阈值或更小时,系统区域控制器210可以通过将存储在系统区域中的系统数据从SLC块移动到TLC块来从系统区域确保可用存储器空间,并且可以将所确保的可用存储器空间分配至超量配置区域。
在实施例中,系统区域控制器210可以根据独立磁盘冗余阵列(RAID)存储方案,在多个存储器装置100中以系统区块为单位将存储在SLC块中的系统数据移动到TLC块中。系统区域控制器210可以将系统数据分布到多个存储器装置100。进一步地,系统区域控制器210可以使用待被分布的系统区块来生成奇偶校验系统数据。可以通过对待被分布的系统区块执行异或(XOR)运算来生成奇偶校验系统数据。系统区域控制器210可以将生成的奇偶校验系统数据存储在多个存储器装置中的任何一个中。存储奇偶校验系统数据的存储器装置被称为“奇偶校验存储器芯片”或“奇偶校验存储器装置”。
当不能访问被分配系统数据片段的多个存储器装置中的特定存储器装置的TLC块中存储的系统区块时,存储器控制器200可以使用存储在剩余存储器装置中的系统区块和存储在奇偶校验存储器芯片中的奇偶校验系统数据来恢复访问失败的系统区块。
主机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的存储装置50的存储器区域101的示图。
参照图2,根据存储数据的类型,可以将存储器区域101划分为主数据区域和系统数据区域。
在主数据区域中,可以存储由主机请求待写入的数据片段。在图2中,主数据区域可以被细分为其内已经存储数据的已用空间101-1以及其内尚未存储数据的剩余空间101-2。
系统数据区域可以被细分为其内存储系统数据的系统区域101-3以及保持存储装置的操作性能所需的超量配置区域101-4。
存储在系统区域101-3中的系统数据可以是与逻辑地址和物理地址之间的映射信息有关的映射数据、与存储装置的启动操作所需的信息有关的启动信息、用于存储器控制器的固件(FW)的操作的设置信息等。
超量配置区域101-4可以是被分配用于平稳地操作驱动存储装置50,诸如磨损均衡、垃圾收集和坏块管理所需的各种功能的保留区域。因此,确保用于超量配置区域的空间影响了存储装置的性能维护和寿命延长。
在图2中,剩余空间101-2的大小VOLUU1被例示为大于阈值VOLTH。图2例示了因为剩余空间101-2的大小VOLUU1大于阈值VOLTH,所以超量配置区域101-4被确定为被充分确保。在实施例中,当主数据区域的剩余空间101-2的大小变得小于阈值VOLTH时,通过从系统区域103-3确保可用存储器空间并将确保的可用存储器空间分配至超量配置空间101-4,超量配置空间101-4的大小可以变大。
图3是示出图2的存储器区域中的剩余存储空间的大小减小到阈值或更小的情况的示图。
参照图3,由于相比于图2的存储器区域101,存储器区域102中的主数据区域的已用空间102-1的大小已经增加,因此剩余空间102-2的大小VOLUU2减小到低于图2的剩余空间101-2的大小VOLUU1。在图3中,当剩余空间102-2的大小VOLUU2小于阈值VOLTH时,保持存储装置的性能所需的超量配置空间102-4的大小需要变大。
图4是示出在额外地确保超量配置区域的情况下的存储器区域的示图。
当存储在系统区域103-3中的系统数据被从SLC块移动到TLC块时,系统区域103-3的存储容量可以减小,同时确保了与减小的存储容量一样多的可用存储器空间。根据本公开的实施例,如图3所示,当剩余空间102-2的大小VOLUU2变得小于阈值VOLTH时,存储器控制器200可以通过将系统数据从SLC块移动到TLC块来从系统区域103-3确保可用存储器空间,并且可以将系统区域103-3的所确保的可用存储器空间分配至超量配置区域103-4。
在图4中,存储器区域103可以处于以下状态:系统区域103-3的大小VOLSA2减小到低于图3的系统区域102-3的大小VOLSA1,并且超量配置区域103-4的大小的增加与系统区域103-3的所减小的大小一样多。图4的超量配置区域103-4的大小VOLOP2增加到大于图3的超量配置区域102-4的大小VOLOP1。
因此,即使剩余空间103-2的大小VOLUU2小于阈值VOLTH,但是与图3的存储器区域102相比,超量配置区域103-4的大小VOLOP2也已经增加,并且因此可以充分确保保持存储装置的性能所需的超量配置区域103-4。
图5是示出图1的系统区域控制器210的结构的框图。
参照图5,系统区域控制器210可以包括存储空间监控器211、系统区域设置单元212、读取和写入操作控制器213以及超量配置(OP)区域设置单元214。虽然读取和写入操作控制器213被示为包括在图5中的系统区域控制器210中,但是在存储器控制器200的各种实施例中,读取和写入操作控制器213可以被包括在除系统区域控制器210之外的元件中。
存储空间监控器211可以接收指示剩余空间101-2的当前大小的剩余空间信息VOLUU以及阈值VOLTH。剩余空间信息VOLUU可以从由存储器控制器200运行的固件(FW)接收,或者可以从存储块管理单元(未示出)接收,该存储块管理单元被包括在存储器控制器200中并管理存储器装置100的存储块。可选地,在各个实施例中,可以从存储器装置100直接接收剩余空间信息VOLUU。进一步地,阈值VOLTH可以被预先存储在存储器控制器200中或存储空间监控器211中。在实施例中,可以响应于来自外部主机的请求来改变阈值VOLTH。
存储空间监控器211可以将剩余空间信息VOLUU与阈值VOLTH进行比较,并且如果剩余空间信息VOLUU小于阈值VOLTH,则可以将触发信号TRIG1输出到系统区域设置单元212。
系统区域设置单元212可以设置包括在存储器装置100中的存储器区域101的每一个中的系统区域101-3的大小。系统区域设置单元212可以控制以下操作:在每个存储器装置100中,将系统数据从SLC块移动到TLC块。
当从存储空间监控器211接收到触发信号TRIG1时,系统区域设置单元212可以向读取和写入操作控制器213提供各种类型的控制信号IMMIG,以在存储器装置100中将系统数据从SLC块移动到TLC块。
读取和写入操作控制器213可以在系统区域设置单元212的控制下,向存储器装置100提供用于从SLC块读取系统数据的读取命令和用于将读取的系统数据存储在TLC块中的写入命令。
在实施例中,系统区域设置单元212可以控制读取和写入操作控制器213,使得在存储器装置100中从SLC块读取系统数据并且随后以系统区块为单位将系统数据分布并编程到TLC块中。此处,系统区域设置单元212可以使用待分布的系统区块来生成奇偶校验系统数据。可以通过对待分布的系统区块执行异或(XOR)运算来生成奇偶校验系统数据。系统区域设置单元212可以控制读取和写入操作控制器213,使得生成的奇偶校验系统数据被存储在多个存储器装置100的任何一个中。存储奇偶校验系统数据的存储器装置可以是奇偶校验存储器芯片或奇偶校验存储器装置。
作为通过将系统数据分布到多个存储器装置100而将系统数据从SLC块移动到TLC块的结果,可以从系统区域101-3确保可用存储器空间,并且因此现在准备将所确保的可用存储器空间分配至超量配置区域101-4。
当系统数据被移动在存储器装置100的TLC块中时,系统区域设置单元212可以向OP区域设置单元214输出OP区域设置信号OPSET,以将所确保的可用存储器空间分配至超量配置区域101-4。OP区域设置单元214可以响应于OP区域设置信号OPSET来调整超量配置区域101-4的大小。
图6是示出根据本公开的实施例的存储器控制器200的操作方法的流程图。
参照图6,在步骤S601处,存储器控制器200可以确定存储器装置100中的主数据区域的剩余空间101-2的大小是否小于阈值VOLTH。在实施例中,当主数据区域的剩余空间101-2的大小变得小于阈值VOLTH时,通过从系统区域103-3确保可用存储空间并且将所确保的可用存储空间分配至超量配置空间101-4,超量配置空间101-4的大小可以变大。
每当数据写入操作完成时,可以执行步骤601。在实施例中,每当已经经过预定时间时,可以周期性地执行步骤601。在实施例中,可以在预设时间点执行步骤601。在实施例中,每当擦除操作完成时,可以执行步骤601。
如果在步骤601处确定了剩余空间101-2的大小小于阈值VOLTH,则存储器控制器200进行到步骤603。
在步骤603处,存储器控制器200可以将存储在系统区域101-3的SLC块中的系统数据移动到TLC块。例如,存储器控制器200可以读取存储在SLC块中的系统数据,临时存储系统数据,并且然后将系统数据存储在TLC块中。
在实施例中,系统区域控制器210可以根据RAID存储方案,在多个存储器装置100中以系统区块为单位将存储在SLC块中的系统数据移动到TLC块中。系统区域控制器210可以将系统数据分布到多个存储器装置100。进一步地,系统区域控制器210可以使用待分布的系统区块来生成奇偶校验系统数据。可以通过对待分布的系统区块执行异或(XOR)运算来生成奇偶校验系统数据。系统区域控制器210可以将生成的奇偶校验系统数据存储在多个存储器装置100中的奇偶校验存储器芯片或奇偶校验存储器装置中。
作为通过将系统数据分布到多个存储器装置100而将系统数据从SLC块移动到TLC块的结果,可以从系统区域101-3确保可用存储器空间,并且因此现在准备将所确保的可用存储器空间分配至超量配置区域101-4。
在步骤S605处,存储器控制器200可以将从系统区域101-3确保的可用存储空间分配至超量配置区域101-4。
图7是示出根据本公开的实施例的将存储在SLC块中的系统数据存储到TLC块中的方法的示图。
在图7中,示出了由存储器控制器200控制的多个存储器装置100中包括的存储块。在图7中,单个存储器装置可以对应于单个存储器芯片。
存储器控制器200可以控制第一存储器芯片CHIP1至第k存储器芯片CHIPk和奇偶校验存储器芯片CHIPx。第一存储器芯片CHIP1至第k存储器芯片CHIPk和奇偶校验存储器芯片CHIPx中的每一个可以包括SLC块SLC BLK和TLC块TLC BLK。由于系统数据是需要高可靠性和数据稳定性的重要信息,因此系统数据可以被存储在SLC块中。
第一存储器芯片CHIP1至第k存储器芯片CHIPk的存储块可以基于超级块进行操作。即,如图7所示,包括在第一存储器芯片CHIP1至第k存储器芯片CHIPk中的各个存储块可以被定义为单个超级块。
图7示出将存储在第一存储器芯片CHIP1至第k存储器芯片CHIPk的SLC块SLC BLK之中的超级块S1和超级块S2中的系统数据移动到第一存储器芯片CHIP1至第k存储器芯片CHIPk的TLC块TLC BLK之中的超级块T1的过程。
被存储系统数据的超级块S1和超级块S2可以对应于以上参照图2至图4描述的系统区域101-3。
存储器控制器200可以读取存储在超级块S1和超级块S2中的系统数据片段,并且可以将系统数据片段分离成系统区块以被存储在超级块T1中。此处,如以上参照图1至图5所述的,存储器控制器200可以生成待存储在奇偶校验存储器芯片CHIPx中的奇偶校验系统数据。
存储器控制器可以读取存储在超级块S1中的系统数据1-1至系统数据k-1以及存储在超级块S2中的系统数据1-2至系统数据k-2,并且可以以例如系统数据1至系统数据k的系统区块为单位,将系统数据片段存储在第一存储器芯片CHIP1至第k存储器芯片CHIPk的TLC块TLC BLK中。此处,存储器控制器200可以将通过对系统区块(例如,系统数据1至系统数据k)执行XOR运算而生成的奇偶校验系统数据(例如,系统数据x)存储在奇偶校验存储器芯片CHIPx中。
存储器控制器200可以将先前存储系统数据片段的超级块S1和超级块S2分配至超量配置区域101-4。
图8是示出恢复存储在系统区域101-3中的系统数据的方法的示图。
图8示出在访问存储在TLC块TLC BLK中的系统数据片段的过程期间,对存储在第二存储器芯片CHIP2中的系统区块(例如,系统数据2)的访问失败的情况。
存储器控制器200可以通过对除了存储在第二存储器芯片CHIP2中的系统数据2之外的剩余系统区块(例如,系统数据1和系统数据3至系统数据k)以及奇偶校验系统数据(例如,系统数据x)执行XOR运算,来恢复已经访问失败的存储在第二存储器芯片CHIP2中的系统区块(例如,系统数据2)。
根据本公开的实施例,存储在SLC块中的系统数据被移动到TLC块,并且SLC块被分配至超量配置区域,因此维持性能可以提高并且存储装置的性能可以增强。
进一步地,由于系统数据被存储在TLC块中,因此与系统数据被存储在SLC块中的情况相比,可靠性可能恶化。在该情况下,如以上参照图8所述的,可以通过RAID的配置来确保数据恢复方案,并且因此可以提供针对当系统数据被存储在TLC块中时可能发生的可靠性恶化的解决方案。
图9是示出图1的存储器装置100的结构的示图。
参照图9,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL联接到地址解码器121。存储块BLK1至BLKz通过位线BL1至BLm联接到读取和写入电路123。存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元是非易失性存储器单元。在多个存储器单元中,联接到相同字线的存储器单元被定义为单个页面。即,存储器单元阵列110由多个页面构成。在实施例中,包括在存储器单元阵列110中的多个存储块BLK1至BLKz中的每一个可以包括多个虚拟单元(dummy cells)。一个或多个虚拟单元可以串联地联接在漏极选择晶体管和存储器单元之间以及源极选择晶体管和存储器单元之间。
外围电路120可以包括地址解码器121、电压发生器122、读取和写入电路123以及数据输入/输出电路124。
外围电路120可以驱动存储器单元阵列110。例如,外围电路120可以驱动存储器单元阵列110,使得编程操作、读取操作和擦除操作被执行。
地址解码器121通过行线RL联接到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和公共源极线。在实施例中,字线可以包括正常字线和虚拟字线。在实施例中,行线RL可以进一步包括管道选择线。
地址解码器121被配置成在控制逻辑130的控制下操作。地址解码器121从控制逻辑130接收地址ADDR。
地址解码器121被配置成解码所接收地址ADDR的块地址。地址解码器121响应于所解码的块地址从存储块BLK1至BLKz中选择至少一个存储块。地址解码器121被配置成解码所接收地址ADDR的行地址。地址解码器121可以响应于所解码的行地址,通过将从电压发生器122供给的电压施加到至少一个字线WL来选择所选择存储块的至少一个字线。
在编程操作期间,地址解码器121可以将编程电压施加到所选择字线并且将电平低于编程电压的电平的通过电压施加到未选择字线。在编程验证操作期间,地址解码器121可以将验证电压施加到所选择字线并且将高于验证电压的验证通过电压施加到未选择字线。
在读取操作期间,地址解码器121可以将读取电压施加到所选择字线并且将高于读取电压的读取通过电压施加到未选择字线。
在实施例中,可以基于存储块来执行存储器装置100的擦除操作。在擦除操作期间,输入到存储器装置100的地址ADDR包括块地址。地址解码器121可以解码块地址并且响应于所解码的块地址选择单个存储块。在擦除操作期间,地址解码器121可将接地电压施加到与所选择存储块联接的字线。
在实施例中,地址解码器121可以被配置成解码所接收地址ADDR的列地址。解码的列地址可以被传递到读取和写入电路123。在示例性实施例中,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器的部件。
电压发生器122被配置成使用提供给存储器装置100的外部供给电压来生成多个电压。电压发生器122可以在控制逻辑130的控制下操作。
在实施例中,电压发生器122可以通过调节外部供给电压来生成内部供给电压。由电压发生器122生成的内部供给电压被用作存储器装置100的操作电压。
在实施例中,电压发生器122可使用外部供给电压或内部供给电压来生成多个电压。电压发生器122可以被配置成生成存储器装置100所需的各种电压。例如,电压发生器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个未选择读取电压。
电压发生器122可以包括接收内部电源电压以生成具有各种电压电平的多个电压的多个泵电容器(pumping capacitors),并且可以在控制逻辑130的控制下通过选择性地激活泵电容器来生成多个电压。
生成的电压可以通过地址解码器121被供给到存储器单元阵列110。
读取和写入电路123包括第一页面缓冲器PB1至第m页面缓冲器PBm。第一页面缓冲器PB1至第m页面缓冲器PBm分别通过第一位线BL1至第m位线BLm联接到存储器单元阵列110。第一页面缓冲器PB1至第m页面缓冲器PBm在控制逻辑130的控制下操作。
第一页面缓冲器PB1至第m页面缓冲器PBm可以执行与数据输入/输出电路124的数据通信。在编程操作期间,第一页面缓冲器PB1至第m页面缓冲器PBm通过数据输入/输出电路124和数据线DL来接收待存储的数据DATA。
在编程操作期间,当编程脉冲被施加到每个所选择字线时,第一页面缓冲器PB1至第m页面缓冲器PBm可以通过位线BL1至BLm将通过数据输入/输出电路124接收的数据(DATA)传递到所选择的存储器单元。所选择页面中的存储器单元基于传递的数据DATA被编程。联接到被施加编程许可电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。联接到被施加编程禁止电压(例如,供给电压)的位线的存储器单元的阈值电压可以被保持。在编程验证操作期间,第一页面缓冲器至第m页面缓冲器可以通过位线BL1至BLm从选择的存储器单元读取数据,其中存储器单元的阈值电压被存储为验证电压。
在读取操作期间,读取和写入电路123可以通过位线BL从所选择页面中的存储器单元读取数据DATA,并且可以将读取的数据DATA存储在第一页面缓冲器PB1至第m页面缓冲器PBm中。
在擦除操作期间,读取和写入电路123可以允许位线BL浮置。在实施例中,读取和写入电路123可以包括列选择电路。
数据输入/输出电路124通过数据线DL联接到第一页面缓冲器PB1至第m页面缓冲器PBm。数据输入/输出电路124在控制逻辑130的控制下操作。
数据输入/输出电路124可以包括用于接收输入数据的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124从外部控制器(未示出)接收待存储的数据DATA。在读取操作期间,数据输入/输出电路124将从包括在读取和写入电路123中的第一页面缓冲器PB1至第m页面缓冲器PBm接收的数据输出到外部控制器。
控制逻辑130可以联接到地址解码器121、电压发生器122、读取和写入电路123和数据输入/输出电路124。控制逻辑130可以控制存储器装置100的全部操作。控制逻辑130可以响应于从外部装置接收的命令CMD而操作。
图10是示出图9的存储器单元阵列110的实施例的示图。
参照图10,存储器单元阵列110包括多个存储块BLK1至BLKz。每个存储块具有三维(3D)结构。每个存储块包括堆叠在衬底上的多个存储器单元。这些存储器单元沿正X(+X)方向、正Y(+Y)方向和正Z(+Z)方向排列。下面将参照图11和图12详细地描述每个存储块的结构。
图11是示出图10的存储块BLK1至BLKz的任何一个存储块BLKa的示例的电路图。
参照图11,存储块BLKa包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,单元串CS11至CS1m和CS21至CS2m中的每一个可以形成为‘U’形。在存储块BLKa中,m个单元串被布置在行方向(即,正(+)X方向)上。在图11中,两个单元串被示出为被布置在列方向(即,正(+)Y方向)上。然而,该图示是为了便于说明而作出的,并且将理解的是,三个或更多个单元串可以被布置在列方向上。
多个单元串CS11至CS1m和CS21至CS2m中的每一个包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可以分别具有相似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可以对每个单元串设置用于提供沟道层的柱(pillar)。在实施例中,可以对每个单元串设置用于提供沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每个单元串的源极选择晶体管SST连接在公共源极线CSL与存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接到不同的源极选择线。在图11中,第一行中的单元串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。
在列方向上布置的单元串联接到在列方向上延伸的位线。在图11中,第一列中的单元串CS11和CS21联接到第一位线BL1。第m列中的单元串CS1m和CS2m联接到第m位线BLm。
行方向上布置的单元串中的、联接到在相同字线的存储器单元构成单个页面。例如,第一行中的单元串CS11至CS1m中的、联接到第一字线WL1的存储器单元构成单个页面。第二行中的单元串CS21到CS2m中的、联接到第一字线WL1的存储器单元构成另一单个页面。可以通过选择漏极选择线DSL1和DSL2中的任何一个来选择单个行方向上布置的单元串。可以通过选择字线WL1至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的擦除操作之前或之后,可以对虚拟存储器单元的所有或一些执行编程操作。当在已经执行编程操作之后的情况下执行擦除操作时,虚拟存储器单元的阈值电压控制被施加到与各个虚拟存储器单元的虚拟字线联接的电压,并且因此虚拟存储器单元可以具有所需的阈值电压。
图12是示出图10的存储块BLK1至BLKz的任何一个存储块BLKb的示例的电路图。
参照图12,存储块BLKb包括多个单元串CS11'至CS1m'和CS21'至CS2m'。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个沿着正Z(+Z)方向延伸。单元串CS11'至CS1m'和CS21'至CS2m'中的每一个包括堆叠在衬底(未示出)上的至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn以及至少一个漏极选择晶体管DST,其中衬底位于存储块BLKb的下方。
每个单元串的源极选择晶体管SST连接在公共源极线CSL与存储器单元MC1至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从每个单元串被排除之外,图12的存储块BLKb具有与图11的存储块BLKa的电路类似的等效电路。
在实施例中,可以设置偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。进一步地,在行方向上布置的单元串CS11'至CS1m'或CS21'至CS2m'中的偶数编号的单元串可以分别联接到偶数位线,并且在行方向上布置的单元串CS11'至CS1m'或CS21'至CS2m'中的奇数编号的单元串可以分别联接到奇数位线。
在实施例中,第一存储器单元MC1至第n存储器单元MCn中的一个或多个可以用作虚拟存储器单元。例如,可以设置一个或多个虚拟存储器单元以减少源极选择晶体管SST与存储器单元MC1至MCn之间的电场。可选地,可以设置一个或多个虚拟存储器单元以减少漏极选择晶体管DST与存储器单元MC1至MCn之间的电场。当设置较多的虚拟存储器单元时,存储块BLKb的操作的可靠性提高,但是存储块BLKb的大小增加。当设置较少的存储器单元时,存储块BLKb的大小减小,但是存储块BLKb的操作可靠性可能恶化。
为了高效地控制一个或多个虚拟存储器单元,虚拟存储器单元中的每一个可以具有所需的阈值电压。在执行存储块BLKb的擦除操作之前或之后,可以对虚拟存储器单元的所有或一些执行编程操作。当在已经执行编程操作之后的情况下执行擦除操作时,虚拟存储器单元的阈值电压控制被施加到与各个虚拟存储器单元联接的虚拟字线的电压,并且因此虚拟存储器单元可以具有所需的阈值电压。
图13是示出图9的存储器单元阵列110的实施例的电路图。
参照图13,存储器单元阵列可以具有二维(2D)平面结构,而不是以上参照图10至图12描述的3D结构。
在图13中,存储块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至MCn之间。
在每个单元串中,第一存储器单元MC1至第n存储器单元MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
每个单元串的漏极选择晶体管DST联接在相应位线和存储器单元MC1至MCn之间。
联接到相同字线的存储器单元可以构成单个页面。可以通过选择漏极选择线DSL来选择单元串CS1至CSm。可以通过选择字线WL1至WLn中的任何一个而从所选择单元串中选择一个页面。
在其它实施例中,可以设置偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。在单元串CS1至CSm中,偶数编号的单元串可以分别联接到偶数位线,并且奇数编号的单元串可以分别联接到奇数位线。
图14是示出图1的存储器控制器的实施例的示图。
存储器控制器1000联接到主机和存储器装置。响应于从主机接收的请求,存储器控制器1000可以访问存储器装置。例如,存储器控制器1000可以被配置为控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000可以在存储器装置和主机之间提供接口。存储器控制器1000可以运行固件以用于控制存储器装置。
参照图14,存储器控制器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可以使用去随机化种子来去随机化从存储器装置接收的数据。去随机化数据可以被输出到主机。
在实施例中,处理器1010可以运行软件或固件以执行随机化操作和去随机化操作。
在实施例中,处理器1010可以执行以上参照图1和图5描述的系统区域控制器210的操作。
存储器缓冲器1020可以用作处理器1010的工作存储器、高速缓冲存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010执行的代码和命令。存储器缓冲器1020可以存储由处理器1010处理的数据。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC单元1030可以执行错误校正。ECC单元1030可以基于待通过存储器接口1060而写入到存储器装置的数据来执行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的控制下与存储器装置通信。存储器接口1060可以通过通道将命令、地址和数据传输到存储器装置/从存储器装置接收命令、地址和数据。
在实施例中,存储器控制器1000可以不包括存储器缓冲器1020和缓冲器控制电路1050。
在实施例中,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000中的非易失性存储器装置(例如,ROM)加载代码。在实施例中,处理器1010可以通过存储器接口1060从存储器装置加载代码。
在实施例中,存储器控制器1000的总线1070可以被划分成控制总线和数据总线。数据总线可以被配置成在存储器控制器1000中传输数据,并且控制总线可以被配置成在存储器控制器1000中传输诸如命令或地址的控制信息。数据总线和控制总线可以彼此隔离,并且可以既不彼此干扰也不彼此影响。数据总线可以联接到主机接口1040、缓冲器控制电路1050、ECC单元1030和存储器接口1060。控制总线可以联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图15是示出应用根据本公开的实施例的存储装置的存储卡系统的框图。
参照图15,存储卡系统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(PCI-E)协议、高级技术附件(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执行以上参考图1至图8描述的系统区域重置操作。
在实施例中,存储器控制器2100或存储器装置2200可以被封装成诸如以下类型:堆叠封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插封装(PDIP)、叠片内裸片、晶片内裸片形式、板上芯片(COB)、陶瓷双列直插封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄四方扁平封装(TQFP)、小外形(SOIC)、收缩小外形封装(SSOP)、薄型小外形(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)、晶圆级处理堆叠封装(WSP)等,并且可以被设置为单个半导体封装。可选地,存储器装置2200可以包括可以基于上述封装类型进行封装并且可以被设置为单个半导体封装的多个非易失性存储器芯片。
在实施例中,存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中。在实施例中,存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中以配置固态硬盘(SSD)。存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中以配置存储卡。例如,存储器控制器2100和存储器装置2200可以被集成到单个半导体装置中以配置诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、标准紧凑型闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。
在实施例中,存储器装置2200可以是以上参照图1和图9描述的存储器装置100。
图16是示出应用根据本公开的实施例的存储装置的固态硬盘(SSD)系统的示例的框图。
参照图16,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(PCI-E)接口、高级技术附件(ATA)接口、串行ATA(SATA)接口、并行ATA(PATA)接口、小型计算机小型接口(SCSI)接口、增强型小型磁盘接口(ESDI)接口、电子集成驱动器(IDE)接口、火线接口、通用闪存(UFS)接口、Wi-Fi接口、蓝牙接口和高速非易失性存储器(NVMe)接口。
辅助电源3230可以通过电力连接器3002联接到主机3100。辅助电源3230可以由主机3100供给电力PWR并且可以被充电。当由主机3100的电力供给执行得不平稳时,辅助电源3230可以供给SSD3200的电力。在实施例中,辅助电源3230可以被设置在SSD 3200内部或者被设置在SSD 3200外部。例如,辅助电源3230可以被设置在主板中并且可以将辅助电力供给到SSD 3200。
缓冲存储器3240用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
在实施例中,非易失性存储器3221至322n中的每一个可以是以上参照图1和图9描述的存储器装置100。
图17是示出应用根据本公开的实施例的存储装置的用户系统的框图。
参照图17,用户系统4000可以包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以运行包括在用户系统4000、操作系统(OS)或用户程序中的部件。在实施例中,应用处理器4100可以包括用于控制包括在用户系统4000中的部件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上系统(SoC)。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDR SDRAM和LPDDR3SDRAM的易失性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和图9描述的存储器装置100。
用户接口4500可以包括将数据或指令输入到应用处理器4100或将数据输出到外部装置的接口。在实施例中,用户接口4500可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄影机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口4500可以进一步包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和电动机。
根据本公开,提供一种存储器控制器、具有该存储器控制器的存储装置以及该存储器控制器的操作方法,其中该存储器控制器控制存储器装置使得额外地确保超量配置区域。
虽然为了说明的目的已经公开本公开的示例性实施例,但是本领域技术人员将理解,各种变型、添加和替换是可能的。因此,本公开的范围必须由所附权利要求及其等同物而不是由上述实施例来限定。
虽然已经公开本公开的实施例,但是本领域技术人员将理解,在不脱离本公开的技术方案的情况下,各种变型、添加和替换是可能的。
因此,本公开的范围必须由所附权利要求和权利要求的等同物限定,而不是由前面的描述限定。
在以上讨论的实施例中,可以选择性地执行或跳过步骤。另外,可能并不总是以常规顺序执行每个实施例中的步骤。此外,在本说明书和附图中公开的实施例旨在帮助本领域普通技术人员更清楚地理解本公开,而不是限制本公开的范围。换言之,本公开所属领域的普通技术人员将能够容易地理解,基于本公开的技术范围,各种变型是可能的。
已经参照附图描述本公开的实施例,并且在说明书中使用的特定术语或词语应当根据本公开的技术方案来解释,而不限制本公开的主题。应当理解的是,本文所述的基本发明构思的许多变化和变型将仍然落入如所附权利要求及其等同物所限定的本公开的技术方案中。
Claims (20)
1.一种存储装置,包括:
至少一个存储器装置,所述至少一个存储器装置中的每个包括第一存储块和第二存储块;以及
存储器控制器,当所述至少一个存储器装置的存储器区域中的剩余空间的大小小于阈值时,将存储在所述至少一个存储器装置的所述第一存储块中的系统数据存储在所述第二存储块中。
2.根据权利要求1所述的存储装置,其中:
所述存储器区域被划分为存储数据的主数据区域和系统数据区域,
所述主数据区域被细分为存储数据的已用空间和所述剩余空间,以及
所述系统数据区域被细分为存储所述系统数据的系统区域和作为保持存储空间的性能所需的预留空间的超量配置区域。
3.根据权利要求2所述的存储装置,其中所述存储器控制器包括:
存储空间监控器,将所述剩余空间的大小与所述阈值进行比较;以及
系统区域设置单元,当所述剩余空间的大小小于所述阈值时,将存储在所述第一存储块中的系统数据存储在所述第二存储块中并且然后确保所述系统区域,并且基于所确保的系统区域的大小来对所述超量配置区域进行分配。
4.根据权利要求3所述的存储装置,其中所述系统区域设置单元将存储在所述第一存储块中的系统数据分成系统区块以被分布到所述第二存储块并且存储在所述第二存储块中,并且使用所述系统区块来生成用于恢复所述系统数据的奇偶校验系统数据。
5.根据权利要求4所述的存储装置,其中所述系统区域设置单元将所述系统区块和所述奇偶校验系统数据分别存储在所述至少一个存储器装置中包括的所述第二存储块中。
6.根据权利要求4所述的存储装置,其中通过对所述系统区块执行异或运算,即XOR运算来生成所述奇偶校验系统数据。
7.根据权利要求1所述的存储装置,其中:
所述第一存储块是单层单元存储块,即SLC存储块,以及
所述第二存储块是三层单元存储块,即TLC存储块。
8.根据权利要求1所述的存储装置,其中所述系统数据是以下中的任何一个:与从外部主机提供的逻辑地址和所述至少一个存储器装置的物理地址之间的映射信息有关的映射数据、与所述存储装置的启动操作所需的信息有关的启动信息以及用于所述存储器控制器的固件的操作的设置信息。
9.一种存储器控制器,所述存储器控制器用于控制各自包括第一存储块和第二存储块的多个存储器装置,所述存储器控制器包括:
存储空间监控器,将所述多个存储器装置中的每个的存储器区域中的剩余空间的大小与阈值进行比较;以及
系统区域设置单元,当所述剩余空间的大小小于所述阈值时,将存储在所述第一存储块中的系统数据存储在所述第二存储块中。
10.根据权利要求9所述的存储器控制器,其中:
所述存储器区域被划分为存储数据的主数据区域和系统数据区域,
所述主数据区域被细分为存储数据的已用空间和所述剩余空间,以及
所述系统数据区域被细分为存储所述系统数据的系统区域和作为保持存储空间的性能所需的预留空间的超量配置区域。
11.根据权利要求10所述的存储器控制器,其中所述系统区域设置单元将存储在所述第一存储块中的系统数据分成系统区块以被分布到所述第二存储块并且存储在所述第二存储块中,并且使用所述系统区块来生成用于恢复所述系统数据的奇偶校验系统数据。
12.根据权利要求11所述的存储器控制器,其中所述系统区域设置单元将所述系统区块和所述奇偶校验系统数据分别存储在所述多个存储器装置中包括的所述第二存储块中。
13.根据权利要求11所述的存储器控制器,其中通过对所述系统区块执行异或运算,即XOR运算来生成所述奇偶校验系统数据。
14.根据权利要求9所述的存储器控制器,其中:
所述第一存储块是单层单元存储块,即SLC存储块,以及
所述第二存储块是三层单元存储块,即TLC存储块。
15.根据权利要求9所述的存储器控制器,其中所述系统数据是以下中的任何一个:与从外部主机提供的逻辑地址和所述多个存储器装置的物理地址之间的映射信息有关的映射数据、与存储装置的启动操作所需的信息有关的启动信息以及用于所述存储器控制器的固件的操作的设置信息。
16.一种操作存储器控制器的方法,所述存储器控制器用于控制各自包括第一存储块和第二存储块的多个存储器装置,所述方法包括:
确定所述多个存储器装置中的每个的存储器区域中的剩余空间的大小是否小于阈值;并且
当所述剩余空间的大小小于所述阈值时,将存储在所述第一存储块中的系统数据存储在所述第二存储块中。
17.根据权利要求16所述的方法,其中将所述系统数据存储在所述第二存储块中包括:
将存储在所述第一存储块中的系统数据分成系统区块以被分布到所述第二存储块并且存储在所述第二存储块中;
使用所述系统区块来生成用于恢复所述系统数据的奇偶校验系统数据;并且
将所述系统区块和所述奇偶校验系统数据分别存储在所述多个存储器装置中包括的所述第二存储块中。
18.根据权利要求16所述的方法,其中每当经过预设时间时周期性地执行确定所述剩余空间的大小是否小于所述阈值,在预定时间点执行确定所述剩余空间的大小是否小于所述阈值,或者每当完成将数据写入到所述多个存储器装置的写入操作或擦除存储在所述多个存储器装置中的数据的擦除操作时执行确定所述剩余空间的大小是否小于所述阈值。
19.根据权利要求16所述的方法,其中:
所述第一存储块是单层单元存储块,即SLC存储块,以及
所述第二存储块是三层单元存储块,即TLC存储块。
20.根据权利要求16所述的方法,其中所述系统数据是以下中的任何一个:与从外部主机提供的逻辑地址和所述多个存储器装置的物理地址之间的映射信息有关的映射数据、与存储装置的启动操作所需的信息有关的启动信息以及用于所述存储器控制器的固件的操作的设置信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0174480 | 2017-12-18 | ||
KR1020170174480A KR20190073132A (ko) | 2017-12-18 | 2017-12-18 | 저장 장치 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933540A true CN109933540A (zh) | 2019-06-25 |
CN109933540B CN109933540B (zh) | 2023-08-29 |
Family
ID=66814428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811092777.XA Active CN109933540B (zh) | 2017-12-18 | 2018-09-19 | 存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10776027B2 (zh) |
KR (1) | KR20190073132A (zh) |
CN (1) | CN109933540B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102516106B1 (ko) * | 2018-02-14 | 2023-03-31 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR102263044B1 (ko) * | 2019-08-23 | 2021-06-09 | 삼성전자주식회사 | 데이터 신뢰성을 향상한 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작방법 |
CN113625938A (zh) * | 2020-05-06 | 2021-11-09 | 华为技术有限公司 | 一种元数据存储方法及其设备 |
US20220180930A1 (en) * | 2020-12-07 | 2022-06-09 | Intel Corporation | Binary to ternary convertor for multilevel memory |
KR20220089868A (ko) | 2020-12-22 | 2022-06-29 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
JP2022143243A (ja) * | 2021-03-17 | 2022-10-03 | キオクシア株式会社 | メモリシステムおよびその制御方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130145076A1 (en) * | 2011-12-05 | 2013-06-06 | Industrial Technology Research Institute | System and method for memory storage |
US20140006898A1 (en) * | 2012-07-02 | 2014-01-02 | Eran Sharon | Flash memory with random partition |
US20140089565A1 (en) * | 2012-09-27 | 2014-03-27 | Arkologic Limited | Solid state device write operation management system |
CN104424112A (zh) * | 2013-08-30 | 2015-03-18 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN106776353A (zh) * | 2015-11-19 | 2017-05-31 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7246268B2 (en) * | 2002-01-16 | 2007-07-17 | Sandisk Corporation | Method and apparatus for dynamic degradation detection |
US8356137B2 (en) * | 2010-02-26 | 2013-01-15 | Apple Inc. | Data storage scheme for non-volatile memories based on data priority |
KR20160097657A (ko) | 2015-02-09 | 2016-08-18 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 그리고 그것의 동작 방법 |
KR102385138B1 (ko) | 2015-10-08 | 2022-04-12 | 삼성전자주식회사 | 정정 불가능한 ecc 오류를 갖는 데이터를 복구하도록 구성되는 raid 컨트롤러 장치 및 스토리지 장치 |
-
2017
- 2017-12-18 KR KR1020170174480A patent/KR20190073132A/ko unknown
-
2018
- 2018-08-31 US US16/119,477 patent/US10776027B2/en active Active
- 2018-09-19 CN CN201811092777.XA patent/CN109933540B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130145076A1 (en) * | 2011-12-05 | 2013-06-06 | Industrial Technology Research Institute | System and method for memory storage |
US20140006898A1 (en) * | 2012-07-02 | 2014-01-02 | Eran Sharon | Flash memory with random partition |
US20140089565A1 (en) * | 2012-09-27 | 2014-03-27 | Arkologic Limited | Solid state device write operation management system |
CN104424112A (zh) * | 2013-08-30 | 2015-03-18 | 慧荣科技股份有限公司 | 数据储存装置以及快闪存储器控制方法 |
CN106776353A (zh) * | 2015-11-19 | 2017-05-31 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
US10776027B2 (en) | 2020-09-15 |
KR20190073132A (ko) | 2019-06-26 |
CN109933540B (zh) | 2023-08-29 |
US20190187902A1 (en) | 2019-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110069212A (zh) | 存储装置及存储装置的操作方法 | |
CN110083304A (zh) | 存储器控制器及其操作方法 | |
CN108986852A (zh) | 存储装置及其操作方法 | |
CN110097913A (zh) | 存储器控制器及其操作方法 | |
CN109933540A (zh) | 存储装置及其操作方法 | |
CN110321070B (zh) | 存储器控制器及其操作方法 | |
CN109426743A (zh) | 存储装置及其操作方法 | |
CN109213705A (zh) | 存储装置及其操作方法 | |
CN111696608A (zh) | 存储器装置及其操作方法 | |
CN110503997A (zh) | 存储器装置及其操作方法 | |
CN110390970B (zh) | 存储器装置及其操作方法 | |
CN110096908A (zh) | 存储装置及存储装置的操作方法 | |
CN109427400A (zh) | 存储器装置及其操作方法 | |
CN110275672A (zh) | 存储装置及其操作方法 | |
CN107578793A (zh) | 非易失性存储器系统和非易失性存储器装置的操作方法 | |
CN109388578A (zh) | 存储装置及其操作方法 | |
CN110175132A (zh) | 存储装置及其操作方法 | |
CN110275673A (zh) | 存储装置及其操作方法 | |
US11262939B2 (en) | Memory system, memory controller, and operation method | |
CN110389720A (zh) | 存储装置及其操作方法 | |
CN110780802A (zh) | 存储器控制器及其操作方法 | |
CN110502449A (zh) | 存储装置及其操作方法 | |
CN110176261A (zh) | 存储装置及其操作方法 | |
CN110389717A (zh) | 存储装置及其操作方法 | |
CN110287130A (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 |