CN116110460A - 用于多单元映射的存储系统和方法 - Google Patents
用于多单元映射的存储系统和方法 Download PDFInfo
- Publication number
- CN116110460A CN116110460A CN202210565665.1A CN202210565665A CN116110460A CN 116110460 A CN116110460 A CN 116110460A CN 202210565665 A CN202210565665 A CN 202210565665A CN 116110460 A CN116110460 A CN 116110460A
- Authority
- CN
- China
- Prior art keywords
- memory
- mapping
- power
- die
- controller
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims description 22
- 230000015654 memory Effects 0.000 claims abstract description 248
- 238000007493 shaping process Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 19
- 239000000758 substrate Substances 0.000 description 18
- 230000006870 function Effects 0.000 description 9
- 239000004065 semiconductor Substances 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000011370 conductive nanoparticle Substances 0.000 description 1
- 239000003989 dielectric material Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- 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
- 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
- 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
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0692—Multiconfiguration, e.g. local and global addressing
-
- 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
- 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/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/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
-
- 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
- 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/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/32—Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
- H04L27/34—Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
- H04L27/36—Modulator circuits; Transmitter circuits
-
- 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/562—Multilevel memory programming aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/32—Carrier systems characterised by combinations of two or more of the types covered by groups H04L27/02, H04L27/10, H04L27/18 or H04L27/26
- H04L27/34—Amplitude- and phase-modulated carrier systems, e.g. quadrature-amplitude modulated carrier systems
- H04L27/38—Demodulator circuits; Receiver circuits
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)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Mobile Radio Communication Systems (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供了一种存储系统,该存储系统具有存储器,该存储器具有可存储非2的幂次方的状态数的存储器单元。映射用于在存储器中分配数据位。该映射可以是正交振幅调制(QAM)映射的修改版本。该映射可由存储系统中的控制器或由存储器管芯完成。在存储器管芯中执行映射可减少控制器与存储器管芯之间的数据通信,这可改善性能和功率消耗。
Description
背景技术
随着生活中产生越来越多的数字数据,需要增加存储系统中存储器的存储容量。增加存储容量的一种方式是通过增加存储器管芯上的每个给定区域的物理存储器单元的数量(“物理缩放”)。另一种方式是增加可存储在存储器单元中的状态数或级数(“逻辑缩放”)。可结合物理缩放来完成增加每个存储器单元的信息位总数的逻辑缩放过程。
附图说明
图1A是一个实施方案的非易失性存储系统的框图。
图1B是示出一个实施方案的存储模块的框图。
图1C是示出一个实施方案的分级存储系统的框图。
图2A是示出根据一个实施方案的图1A所示的非易失性存储系统的控制器的部件的框图。
图2B是示出根据一个实施方案的图1A所示的非易失性存储系统的部件的框图。
图3是一个实施方案的主机和存储系统的框图。
图4是示出每个单元的位数和窗噪比的示例的实施方案的图示。
图5是一个实施方案的正交振幅调制(quadrature amplitude modulation,QAM)映射的图。
图6A和图6B是用于修改QAM映射以进行非2的幂次方映射的实施方案的过程的图示。
图7是用于进行非2的幂次方映射的实施方案的修改后的QAM映射的图。
图8A和图8B是用于交替状态成形的实施方案的修改后的QAM映射的图。
图9A是映射器和解映射器位于存储系统的控制器中的实施方案的框图。
图9B是映射器和解映射器位于存储系统的存储器管芯中的实施方案的框图。
具体实施方式
以下实施方案通常涉及用于多单元映射的存储系统和方法。在一个实施方案中,呈现了一种存储系统,该存储系统包括存储器管芯和控制器,该控制器被配置为向存储器管芯提供数据以进行存储。存储器管芯包括多个存储器单元,每个存储器单元被配置为存储非2的幂次方的状态数。存储器管芯被进一步配置为使用非2的幂次方映射确定在多个存储器单元中存储数据的位置;并且将数据写入如通过映射确定的多个存储器单元中。在另一个实施方案中,提供了一种方法,该方法包括接收待存储在存储器管芯中的多个数据位;使用非2的幂次方映射将多个数据位映射到多个存储器单元;以及根据映射将多个存储器单元中的多个数据位存储在存储器管芯中。在又一个实施方案中,提供了一种存储系统,该存储系统包括存储器管芯以及用于使用非2的幂次方映射将多个数据位映射到多个存储器单元的装置,该存储器管芯包括多个存储器单元,每个存储器单元被配置为存储非2的幂次方的状态数。提供了其它实施方案,并且这些实施方案可单独或以组合方式使用。
现在转到附图,图1A至图1C示出了适用于实施这些实施方案的各方面的存储系统。图1A是示出根据本文所述的主题的一个实施方案的非易失性存储系统100(在本文中有时称为存储设备或仅称为设备)的框图。参考图1A,非易失性存储系统100包括控制器102和可由一个或多个非易失性存储器管芯104组成的非易失性存储器。如本文所述,术语管芯是指在单个半导体基板上形成的非易失性存储器单元的集合,以及用于管理那些非易失性存储器单元的物理操作的相关联的电路。控制器102与主机系统进行交互,并且将用于读取操作、编程操作和擦除操作的命令序列传输到非易失性存储器管芯104。
控制器102(其可以是非易失性存储器控制器(例如闪存、电阻随机存取存储器(ReRAM)、相变存储器(PCM)或磁阻随机存取存储器(MRAM)控制器))可采用以下形式:例如,处理电路、微处理器或处理器、以及存储可由(微)处理器执行的计算机可读程序代码(例如固件)的计算机可读介质、逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器和嵌入式微控制器。控制器102可以配置有硬件和/或固件,以执行下文描述并且在流程图中示出的各种功能。另外,示出为在控制器内部的一些部件可也存储在控制器外部,并且可以使用其他部件。此外,短语“操作地与…通信”可能意味着直接或间接地(有线或无线)与一个或多个部件通信、通过一个或多个部件通信,其可在本文中示出或未示出。
如本文所用,非易失性存储器控制器是管理存储在非易失性存储器上的数据并且与主机诸如计算机或电子设备通信的设备。除了本文描述的特定功能外,非易失性存储器控制器可以具有各种功能。例如,非易失性存储器控制器可以对非易失性存储器进行格式化以确保存储器正在正确操作,标出坏的非易失性存储器单元,并且分配备用单元以替代将来的故障单元。备用单元中的一些部分可以用来容纳固件以操作非易失性存储器控制器并且实现其他特征。在操作中,当主机需要从非易失性存储器读取数据或向非易失性存储器写入数据时,它可与非易失性存储器控制器通信。如果主机提供要读取/写入数据的逻辑地址,那么非易失性存储器控制器可以将从主机接收的逻辑地址转换为非易失性存储器中的物理地址。(或者,主机可提供物理地址。)非易失性存储器控制器还可执行各种存储器管理功能,诸如但不限于损耗均衡(wear-leveling)(分配写入以避免损耗否则将被重复写入的特定存储器单元块)和垃圾收集(在块已满之后,仅将有效的数据页移动到新的块,因此可以擦除并且重用完整块)。另外,用于权利要求书中所述的“装置”的结构可包括例如本文所述的控制器的结构中的一些或全部,这些结构被适当编程或制造,使得控制器操作以执行所述功能。
非易失性存储器管芯104可包括任何合适的非易失性存储介质,包括ReRAM、MRAM、PCM、NAND闪存存储器单元和/或NOR闪存存储器单元。存储器单元可以采用固态(例如,闪存)存储器单元的形式,并且可以是可一次编程、可数次编程或可多次编程的。存储器单元还可以是单级单元(SLC)、多级单元(MLC)、三级单元(TLC)、四级单元(QLC),或者使用现在已知或之后开发的其它存储器单元级技术。另外,存储器单元可以二维方式或三维方式制造。
位于控制器102和非易失性存储器管芯104之间的接口可为任何合适的闪存接口,诸如切换模式200、400或800。在一个实施方案中,存储系统100可为基于卡的系统,诸如安全数字卡(SD)或微型安全数字(微型SD)卡(或USB、SSD等)。在另选的实施方案中,存储系统100可为嵌入式存储系统的部分。
虽然在图1A所示的示例中,非易失性存储系统100(本文有时称为存储模块)包括控制器102和非易失性存储器管芯104之间的单个信道,但是本文描述的主题不限于具有单个存储器信道。例如,在一些存储系统架构中(诸如图1B和图1C中所示的架构),控制器和存储器设备之间根据控制器的能力可以存在2个、4个、8个或更多个存储器信道。在本文描述的任何实施方案中,即使在附图中示出单个信道,控制器和存储器管芯之间也可以存在超过一个单个信道。
图1B示出了包括多个非易失性存储系统100的存储模块200。同样地,存储模块200可包括存储控制器202,该存储控制器与主机以及包括多个非易失性存储系统100的存储系统204进行交互。存储控制器202和非易失性存储系统100之间的接口可以是总线接口,诸如串行高级技术附件(SATA)、外围部件快速互连(PCIe)接口或双倍数据率(DDR)接口。在一个实施方案中,存储模块200可以是诸如在服务器PC或便携式计算设备诸如膝上型计算机和平板电脑中存在的固态驱动器(SSD)或非易失性双列直插式存储器模块(NVDIMM)。
图1C是示出分级存储系统的框图。分级存储系统250包括多个存储控制器202,该多个存储控制器中的每个存储控制器控制相应的存储系统204。主机系统252可经由总线接口存取存储系统内的存储器。在一个实施方案中,总线接口可以是非易失性存储器快速(NVMe)或以太网光纤信道(FCoE)接口。在一个实施方案中,图1C所示的系统可以是机架可安装的大容量存储系统,该机架可安装的大容量存储系统能够由多个主机计算机存取,诸如在数据中心中或在需要大容量存储的其他位置中可以找到。
图2A是更详细地示出控制器102的示例性部件的框图。控制器102包括与主机进行交互的前端模块108、与一个或多个非易失性存储器管芯104进行交互的后端模块110、以及执行现在将详细描述的功能的各种其他模块。模块可以采用以下形式:例如,设计用于搭配其他部件使用的封装功能硬件单元、能够由通常执行相关功能中的特定功能的(微)处理器或处理电路执行的程序代码的一部分(例如,软件或固件),或者与更大系统进行交互的独立硬件或软件部件。控制器102在本文中有时可称为NAND控制器或闪存控制器,但应当理解,控制器102可与任何合适的存储器技术一起使用,下文提供了其中一些的示例。
再次参考控制器102的模块,缓冲区管理/总线控制器114管理随机存取存储器(RAM)116中的缓冲区,并且控制控制器102的内部总线仲裁。只读存储器(ROM)118存储系统引导代码。虽然图2A所示为与控制器102分开定位,但在其他实施方案中,RAM 116和ROM118中的一者或两者可以定位在控制器内。在又其他实施方案中,RAM和ROM的部分可位于控制器102内和控制器外部。
前端模块108包括主机接口120和提供与主机或下一级存储控制器的电接口的物理层接口(PHY)122。可取决于所使用的存储器的类型来选择主机接口120的类型。主机接口120的示例包括但不限于SATA、SATA Express、串行附接小型计算机系统接口(SAS)、光纤信道、通用串行总线(USB)、PCIe和NVMe。主机接口120通常有利于传送数据、控制信号和定时信号。
后端模块110包括错误校正代码(ECC)引擎124,该ECC引擎对从主机接收的数据字节进行编码,并且对从非易失性存储器读取的数据字节进行解码和错误校正。命令定序器126生成命令序列,诸如编程命令序列和擦除命令序列,以传输到非易失性存储器管芯104。RAID(独立驱动器冗余阵列)模块128管理RAID奇偶校验的生成和失败数据的恢复。RAID奇偶校验可用作写入存储器设备104中的数据的附加级的完整性保护。在一些情况下,RAID模块128可以是ECC引擎124的一部分。存储器接口130向非易失性存储器管芯104提供命令序列并从非易失性存储器管芯104接收状态信息。在一个实施方案中,存储器接口130可以是双倍数据速率(DDR)接口,诸如切换模式200、400或800接口。闪存控制层132控制后端模块110的整体操作。
存储系统100还包括其他分立部件140,诸如外部电气接口、外部RAM、电阻器、电容器或可与控制器102进行交互的其他部件。在另选的实施方案中,物理层接口122、RAID模块128、媒体管理层138和缓冲区管理/总线控制器114中的一者或多者是控制器102中不需要的任选的部件。
图2B是更详细地示出非易失性存储器管芯104的部件的框图。非易失性存储器管芯104包括外围电路141和非易失性存储器阵列142。非易失性存储器阵列142包括用于存储数据的非易失性存储器单元。非易失性存储器单元可以是任何合适的非易失性存储器单元,包括采用二维配置和/或三维配置的ReRAM、MRAM、PCM、NAND闪存存储器单元和/或NOR闪存存储器单元。非易失性存储器管芯104还包括高速缓存数据的数据高速缓存156。外围电路141包括提供状态信息到控制器102的状态机152。
再次返回图2A,闪存控制层132(其在本文中将被称为闪存转换层(FTL),或者更一般地被称为“媒体管理层”,由于存储器可以不是闪存)处理闪存错误并与主机进行交互。具体地讲,FTL(其可以是固件中的算法)负责存储器管理的内部并将来自主机的写入转换为到存储器104的写入。可能需要FTL,因为存储器104可能具有有限的耐久性,可能仅写入多个页面,和/或可能不写入(除非其作为存储器单元块被擦除)。FTL理解存储器104的这些潜在限制,这些限制可能对主机不可见。因此,FTL尝试将来自主机的写入转换为到存储器104中的写入。
FTL可包括逻辑到物理地址(L2P)映射(在本文中有时称为表或数据结构)和分配的高速缓存存储器。这样,FTL将来自主机的逻辑块地址(“LBA”)转换为存储器104中的物理地址。FTL可包括其他特征,诸如但不限于断电恢复(使得FTL的数据结构可在突然电力损失的情况下恢复)和损耗均衡(使得跨存储器块的损耗均匀,以防止某些块过度损耗,该过度损耗将导致更大机会出现故障)。
再次参考附图,图3是一个实施方案的主机300和存储系统(本文中有时称为设备)100的框图。主机300可采用任何合适的形式,包括但不限于计算机、移动电话、数字相机、平板电脑、可穿戴设备、数字视频记录器、监视系统等。主机300包括处理器330,该处理器被配置为将数据(例如,最初存储在主机的存储器340(例如,DRAM)中)发送到存储系统100以用于存储在存储系统的存储器104(例如,非易失性存储器管芯)中。虽然主机300和存储系统100在图3中示出为单独的框,但是应注意,存储系统100可被集成在主机300中,存储系统100能够可移除地连接到主机300,并且存储系统100和主机300可通过网络进行通信。还应注意,存储器104可被集成在存储系统100中或可移除地连接到存储系统100。
如上所述,随着生活中产生越来越多的数字数据,需要增加存储系统中存储器的存储容量。增加存储容量的一种方式是通过增加存储器管芯上的每个给定区域的物理存储器单元的数量(“物理缩放”)。另一种方式是增加可存储在存储器单元中的状态数或级数(“逻辑缩放”)。可结合物理缩放来完成增加每个存储器单元的信息位总数的逻辑缩放过程。
当前的X4存储器每个单元使用四个物理位,16个电压电平,并且将用于纠错码(ECC)奇偶校验的附加位考虑在内,实现每个单元的信息位少于4个。然而,从信息理论角度看,鉴于可实现的存储器管芯的窗噪比(W/N),可获得四个至五个信息位/单元之间的更高逻辑密度,这将会需要每个单元多于四个的物理位。这在图4中示出。
增加逻辑缩放的一种方法是提供每个单元五个物理位和32个电压电平的X5存储器。然而,采用32个电平,可能会大幅度降低编程速度,并且向存储器管芯的通信量可能会高得多,导致降低性能并且增加功耗。一种更好的方法可以是使用具有23个电压电平的X4.5,这相当于每个单元4.52个物理位。然而,将编程数据映射到23个电压电平中带来一项新的挑战。
以下实施方案可用于将数据映射到具有非2的幂次方的电压电平数的相邻(或非相邻)存储器单元中。以下示例使用23作为非2的幂次方数,但是应当理解,这仅仅是示例,也可使用其它非2的幂次方数。如下文将更详细地论述,这些实施方案实现支持非2的幂次方的状态数,这使得映射器/解映射器保持简单且易于实现,同时还保持使任何物理错误的逻辑错误最小化的ECC属性。另外,这些实施方案可提供所期望的可减少高电压状态的使用的状态成形属性,这可减少存储器104中的磨损和干扰效应。可在控制器102中或在存储器管芯104中执行这些技术。当在存储器管芯104中执行这些技术时,可使用CMOS粘结阵列(CbA)技术。在CbA技术中,控制管芯(有时称为CMOS逻辑部件)结合到存储器管芯并且执行与存储在该存储器管芯上的数据相关的控制功能,使得存储在该存储器管芯上的数据不必传递给主存储器控制器管芯来进行操纵或更新,然后,传输回存储器管芯。使用存储器管芯104执行映射可通过减少控制器存储器管芯通信显著提高存储系统100的性能(例如,在一个实施方式中,由于在映射之前,每个单元传输4.5位,在映射之后,每个单元传输5位,因此提高了约11%)。
在一个示例实施方案中,控制器102或存储器管芯104使用具有非2的幂次方的级数的二维映射方法将输入位的每个向量映射到两个物理存储器单元中。在该示例中使用的映射使由最常见的物理错误引起的逻辑错误的量最小化(即,读取与已编程状态相邻的状态)并且具有相对简单的减少功率消耗的实施方式。
该示例中使用的映射是正交振幅调制(QAM)映射的修改版本。图5是QAM映射示例的图示,该QAM映射可用于映射2的幂次方数的电压电平。在一个实施方案中,通过对基本的、较小的QAM映射进行各种反射和转换来修改QAM映射以与非2的幂次方的状态数一起使用。
更具体地,如图6A和图6B所示,在一个实施方案中,修改较小的QAM映射以将它的一半反映在它的边缘上,以获得新的较大星座。然后,将外部符号去除并将其移动到右上角。通过进行反射来增加星座并且通过折叠外部符号来平衡星座以构建非2的幂次方映射,由此产生的修改后的QAM映射确保相邻符号的物理错误导致单个逻辑(位)错误(例如,QAM调制是格雷码的二维版本)并且还确保当映射之间的边界上发生物理错误时减少错误的数量。图7示出通过上述修改创建的23×23映射表。每个符号表示九个位,而每个单元仅被编程为23个电压电平中的一个。将需要第24个电压电平的映射的最后一行和最后一列被映射到右上角的未使用符号。可选择采用这种分配以使相邻状态物理错误的逻辑错误最小化。
符号的分配也可用于状态成形。即,分配29=512个输入向量提供23×23=529个符号,这赋予了一些可用于状态成形的自由度(529-512=17个符号未使用)。即,保留最右上角的未使用符号避免了最高应力电压电平,并且通过降低存储器104的磨损并且通过降低由较高电压电平引起的干扰效应来实现成形增益。另外,ECC解码器可通过将映射方案中的未使用符号考虑在内来实现额外的编码增益,以改进解码。此外,另选的高电压方案可有益于降低干扰效应。例如,另选的映射可由字线中的相邻单元(例如,偶数/奇数单元对)使用或用于相邻字线(偶数/奇数字线)。这种另选的状态成形的示例在图8A和图8B中示出。
如上所述,可在控制器102(参见图9A)或存储器管芯104(参见图9B)中执行映射/解映射操作。当在控制器104中实现时,可将五个位/单元发送到存储器管芯104以描述每个单元的电压电平。然而,当在存储器管芯104中实现时,控制器102可能仅需要发送用户数据(和ECC奇偶校验),在以上示例中,该用户数据仅为是4.5位/单元。这相当于存储器总线上的通信减少了10%,这对于性能和功率降低而言均至关重要。当在存储器管芯104中实现时,可使用CbA技术。
这些实施方案有若干优点。例如,与X4实施方式相比,这些实施方案允许增加逻辑缩放,这一点可能很重要,因为这可允许大幅度降低成本。此外,如果当前的NAND技术仅允许介于4个至5个信息位/单元之间,则采用五个物理位/单元的X5实施方式是浪费的。32个电压电平将显著降低编程速度,更容易受到干扰效应,并且显著增加与存储器管芯104的通信。此外,如上所述,利用存储器管芯104中的映射器/解映射器,仅传输4.5位/单元而不是5位/单元,这将通信减少了约10%,并且对性能和功率消耗产生相关影响。此外,随着NAND技术密度不断缩放,增加逻辑缩放可能非常重要。
最后,如上所述,可以使用任何合适类型的存储器。半导体存储器设备包括易失性存储器设备,诸如动态随机存取存储器(“DRAM”)或静态随机存取存储器(“SRAM”)设备,非易失性存储器设备,诸如ReRAM、电可擦除可编程只读存储器(“EEPROM”)、闪存存储器(也可以被认为是EEPROM的子集)、铁电随机存取存储器(“FRAM”)和MRAM,以及能够存储信息的其他半导体元件。每种类型的存储器设备可具有不同的配置。例如,闪存存储器设备可以NAND配置或NOR配置进行配置。
该存储器设备可由无源元件和/或有源元件以任何组合形成。举非限制性示例而言,无源半导体存储器元件包括ReRAM设备元件,该无源半导体存储器元件在一些实施方案中包括电阻率切换存储元件诸如反熔丝、相变材料等,以及任选地包括导引元件诸如二极管等。进一步举非限制性示例而言,有源半导体存储器元件包括EEPROM和闪存存储器设备元件,该有源半导体存储器元件在一些实施方案中包括具有电荷存储区域的元件,诸如浮栅、导电纳米粒子或电荷存储介电材料。
多个存储器元件可被配置为使得它们串联连接或者使得每个元件可被单独访问。以非限制性示例的方式,NAND配置中的闪存存储器设备(NAND存储器)通常包含串联连接的存储器元件。NAND存储器阵列可被配置为使得该阵列由存储器的多个串构成,其中串由共享单个位线并作为组被访问的多个存储器元件构成。另选地,可配置存储器元件,使得每个元件可被单独访问,例如NOR存储器阵列。NAND存储器配置和NOR存储器配置为示例,并且可以其他方式配置存储器元件。
位于基板内和/或之上的半导体存储器元件可被布置成两个或三个维度,诸如二维(2D)存储器结构或三维(3D)存储器结构。
在2D存储器结构中,半导体存储器元件被布置在单个平面或单个存储器设备级中。通常,在2D存储器结构中,存储器元件被布置在平面中(例如,在x-z方向平面中),该平面基本上平行于支承存储器元件的基板的主表面延伸。基板可为存储器元件的层在其之上或之中形成的晶圆,或者其可为在存储器元件形成后附接到其的承载基板。作为非限制性示例,基板可包括半导体,诸如硅。
存储器元件可被布置在处于有序阵列中(诸如在多个行和/或列中)的单个存储器设备级中。然而,存储器元件可以非常规配置或非正交配置排列。存储器元件可各自具有两个或更多个电极或接触线,诸如位线和字线。
布置3D存储器阵列,使得存储器元件占据多个平面或多个存储器设备级,从而形成三维结构(即,在x、y和z方向上,其中y方向基本上垂直于基板的主表面,并且x和z方向基本上平行于基板的主表面)。
作为非限制性示例,3D存储器结构可被垂直地布置为多个2D存储器设备级的堆叠。作为另一个非限制性示例,3D存储器阵列可被布置为多个垂直列(例如,基本上垂直于基板的主表面延伸的列,即,在y方向上),其中在每一列中每一列均具有多个存储器元件。这些列可以例如在x-z平面中以2D配置布置,从而产生存储器元件的3D布置结构,其中元件位于多个垂直堆叠的存储器平面上。三维存储器元件的其他配置也可以构成3D存储器阵列。
以非限制性示例的方式,在3D NAND存储器阵列中,存储器元件可耦合在一起以在单个水平(例如,x-z)存储器设备级内形成NAND串。另选地,存储器元件可耦接在一起以形成横贯多个水平存储器设备级的垂直NAND串。可以设想其他3D配置,其中一些NAND串包含单个存储器级中的存储器元件,而其他串则包含跨越多个存储器级的存储器元件。3D存储器阵列还可以被设计为处于NOR配置和处于ReRAM配置。
通常,在单体3D存储器阵列中,在单个基板上方形成一个或多个存储器设备级。可选地,单体3D存储器阵列还可以具有至少部分地位于单个基板内的一个或多个存储器层。作为非限制性示例,基板可包括半导体,诸如硅。在单体3D阵列中,构成阵列的每个存储器设备级的层通常形成在阵列的下层存储器设备级的层上。然而,单体3D存储器阵列的相邻存储器设备级的层可以在存储器设备级之间共享或者在存储器设备级之间具有中间层。
然后,可单独形成二维阵列,并且然后封装在一起以形成具有多个存储器层的非单片存储器设备。例如,非单片的堆叠存储器可通过在单独的基板上形成存储器级并且然后将存储器级堆叠在彼此之上而构造。在堆叠之前可以将基板减薄或从存储器设备级移除,但由于存储器设备级最初形成在单独的基板之上,因此所得的存储器阵列不是单体3D存储器阵列。此外,多个2D存储器阵列或3D存储器阵列(单体或非单体)可以形成在单独的芯片上,并且然后封装在一起以形成堆叠芯片存储器设备。
通常需要相关联的电路来操作存储器元件并与存储器元件通信。作为非限制性示例,存储器设备可具有用于控制并驱动存储器元件以实现诸如编程和读取的功能的电路。该相关联的电路可与存储器元件位于同一基板上和/或位于单独的基板上。例如,用于存储器读取-写入操作的控制器可定位在单独的控制器芯片上和/或定位在与存储器元件相同的基板上。
本领域的技术人员将认识到,本发明不限于所描述的2D结构和3D结构,而是涵盖如本文所述并且如本领域的技术人员所理解的本发明的实质和范围内的所有相关存储器结构。
预期将前面的详细描述理解为本发明可以采用的选定形式的说明,而不是作为本发明的定义。预期只有以下权利要求书(包括所有等同物)限定所要求保护的本发明的范围。最后,应注意,本文所述的任何实施方案的任何方面均可单独使用或彼此组合使用。
Claims (20)
1.一种存储系统,所述存储系统包括:
存储器管芯,所述存储器管芯包括多个存储器单元,每个存储器单元被配置为存储非2的幂次方的状态数;和
控制器,所述控制器被配置为向所述存储器管芯提供数据以进行存储;
其中所述存储器管芯被配置为:
使用非2的幂次方映射确定在所述多个存储器单元中存储所述数据的位置;以及
将所述数据写入如通过所述映射确定的所述多个存储器单元中。
2.根据权利要求1所述的存储系统,其中将所述数据写入相邻的存储器单元中。
3.根据权利要求1所述的存储系统,其中所述非2的幂次方映射包括修改后的正交振幅调制(QAM)映射。
4.根据权利要求3所述的存储系统,其中通过以下操作对所述QAM映射进行修改:
将所述QAM映射的一半反映在它的边缘上;以及
将外部符号移动到所述修改后的QAM映射的右上角。
5.根据权利要求3所述的存储系统,其中通过进行反射来增加所述QAM映射并且折叠外部符号,对所述QAM映射进行修改。
6.根据权利要求3所述的存储系统,还包括对所述修改后的QAM映射执行状态成形。
7.根据权利要求1所述的存储系统,其中所述确定由结合到所述存储器管芯的控制管芯执行。
8.根据权利要求1所述的存储系统,其中非2的幂次方数是23。
9.根据权利要求1所述的存储系统,其中所述存储器管芯包括三维存储器。
10.一种方法,在具有包括多个存储器单元的存储器管芯的存储系统中,每个存储器单元被配置为存储非2的幂次方的级数,所述方法包括:
接收待存储在所述存储器管芯中的多个数据位;
使用非2的幂次方映射将所述多个数据位映射到所述多个存储器单元;以及
根据所述映射将所述多个存储器单元中的所述多个数据位存储在所述存储器管芯中。
11.根据权利要求10所述的方法,其中将所述多个数据位映射到多个相邻或非相邻存储器单元。
12.根据权利要求10所述的方法,其中使用修改后的正交振幅调制(QAM)映射对所述多个数据位进行映射。
13.根据权利要求12所述的方法,其中通过以下操作对所述QAM映射进行修改:
将所述QAM映射的一半反映在它的边缘上;以及
将外部符号移动到所述修改后的QAM映射的右上角。
14.根据权利要求12所述的方法,其中通过进行反射来增加所述QAM映射并且折叠外部符号,对所述QAM映射进行修改。
15.根据权利要求12所述的方法,还包括对所述修改后的QAM映射执行状态成形。
16.根据权利要求10所述的方法,其中所述映射由以下中的一者执行:所述存储系统的控制器、所述存储器管芯或结合到所述存储器管芯的控制管芯。
17.根据权利要求10所述的方法,还包括解映射所述多个数据位。
18.根据权利要求10所述的方法,其中所述解映射由以下中的一者执行:所述存储系统的控制器、所述存储器管芯或结合到所述存储器管芯的控制管芯。
19.根据权利要求10所述的方法,其中所述非2的幂次方数是23。
20.一种存储系统,所述存储系统包括:
存储器管芯,所述存储器管芯包括多个存储器单元,每个存储器单元被配置为存储非2的幂次方的状态数;和
用于使用非2的幂次方映射将多个数据位映射到所述多个存储器单元的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/523,124 | 2021-11-10 | ||
US17/523,124 US11822820B2 (en) | 2021-11-10 | 2021-11-10 | Storage system and method for multi-cell mapping |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116110460A true CN116110460A (zh) | 2023-05-12 |
Family
ID=86229390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210565665.1A Pending CN116110460A (zh) | 2021-11-10 | 2022-05-23 | 用于多单元映射的存储系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11822820B2 (zh) |
JP (1) | JP2023071144A (zh) |
KR (1) | KR20230068270A (zh) |
CN (1) | CN116110460A (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6847550B2 (en) | 2002-10-25 | 2005-01-25 | Nexflash Technologies, Inc. | Nonvolatile semiconductor memory having three-level memory cells and program and read mapping circuits therefor |
US8055979B2 (en) | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
US7388781B2 (en) | 2006-03-06 | 2008-06-17 | Sandisk Il Ltd. | Multi-bit-per-cell flash memory device with non-bijective mapping |
US7852671B2 (en) * | 2008-10-30 | 2010-12-14 | Micron Technology, Inc. | Data path for multi-level cell memory, methods for storing and methods for utilizing a memory array |
US8179731B2 (en) | 2009-03-27 | 2012-05-15 | Analog Devices, Inc. | Storage devices with soft processing |
US8645794B1 (en) | 2010-07-31 | 2014-02-04 | Apple Inc. | Data storage in analog memory cells using a non-integer number of bits per cell |
US8860594B2 (en) | 2012-05-17 | 2014-10-14 | Brilliant Points, Inc. | System and method for digital signaling |
US10910044B2 (en) * | 2018-09-28 | 2021-02-02 | Sandisk Technologies Llc | State coding for fractional bits-per-cell memory |
US11138065B1 (en) | 2020-05-20 | 2021-10-05 | Western Digital Technologies, Inc. | Storage system and method for fast low-density parity check (LDPC) encoding |
-
2021
- 2021-11-10 US US17/523,124 patent/US11822820B2/en active Active
-
2022
- 2022-05-23 CN CN202210565665.1A patent/CN116110460A/zh active Pending
- 2022-05-23 JP JP2022083485A patent/JP2023071144A/ja active Pending
- 2022-05-24 KR KR1020220063387A patent/KR20230068270A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
US20230146046A1 (en) | 2023-05-11 |
JP2023071144A (ja) | 2023-05-22 |
KR20230068270A (ko) | 2023-05-17 |
US11822820B2 (en) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11036407B1 (en) | Storage system and method for smart folding | |
US11543987B2 (en) | Storage system and method for retention-based zone determination | |
US11437104B2 (en) | Storage system and method for a hybrid quad-level cell (QLC) write scheme for reduced random access memory (RAM) footprint | |
US11442666B2 (en) | Storage system and dual-write programming method with reverse order for secondary block | |
US11269725B2 (en) | Storage system and method for direct quad-level cell (QLC) programming | |
WO2021252027A1 (en) | Storage system and method for enabling partial defragmentation | |
US11231997B2 (en) | Storage system and method for balanced quad-level cell (QLC) coding with margin for an internal data load (IDL) read | |
CN115756299A (zh) | 用于在易失性存储器中的码字中存储逻辑到物理地址表条目的存储系统和方法 | |
US11698751B2 (en) | Data storage device and method for low-latency power state transitions by having power islanding in a host memory buffer | |
CN114730293A (zh) | 用于使用主机中的为读取数据分配的存储器作为主机存储器缓冲器的存储系统和方法 | |
US11650758B2 (en) | Data storage device and method for host-initiated cached read to recover corrupted data within timeout constraints | |
US11379117B2 (en) | Storage system and method for using host-assisted variable zone speed grade modes to minimize overprovisioning | |
US11281399B2 (en) | Dual-interface storage system and method for use therewith | |
US11030106B2 (en) | Storage system and method for enabling host-driven regional performance in memory | |
US11822820B2 (en) | Storage system and method for multi-cell mapping | |
US11429296B2 (en) | Storage system, host, and method for extended and imaginary logical-to-physical address mapping | |
US12124377B2 (en) | Data storage device and method for handling write commands in zoned storage | |
US12067293B2 (en) | Data storage device and method for host multi-command queue grouping based on write-size alignment in a multi-queue-depth environment | |
US11915772B1 (en) | Data storage device and method for power on reset and read error handling | |
US11442665B2 (en) | Storage system and method for dynamic selection of a host interface | |
US11809331B1 (en) | Storage system and method for avoiding header to improve parity | |
US20240143509A1 (en) | Data Storage Device and Method for Handling Write Commands in Zoned Storage | |
US20240296089A1 (en) | Data Storage Device and Method for Host-Assisted Improved Error Recovery Using a Correlation Factor | |
US20230176967A1 (en) | Data Storage Device and Method for Preventing Data Loss During an Ungraceful Shutdown | |
US20230325105A1 (en) | Storage System and Folding Method for Enhanced Performance |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240929 Address after: Delaware, USA Applicant after: SANDISK TECHNOLOGIES Inc. Country or region after: U.S.A. Address before: California, USA Applicant before: Western Digital Technologies, Inc. Country or region before: U.S.A. |