CN113535079A - 存储器控制器以及具有存储器控制器的存储装置 - Google Patents
存储器控制器以及具有存储器控制器的存储装置 Download PDFInfo
- Publication number
- CN113535079A CN113535079A CN202110184103.8A CN202110184103A CN113535079A CN 113535079 A CN113535079 A CN 113535079A CN 202110184103 A CN202110184103 A CN 202110184103A CN 113535079 A CN113535079 A CN 113535079A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory device
- write operation
- controller
- memory devices
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 474
- 238000013507 mapping Methods 0.000 claims description 32
- 238000000034 method Methods 0.000 claims description 32
- 238000013500 data storage Methods 0.000 claims description 10
- 238000012546 transfer Methods 0.000 claims description 7
- 238000012544 monitoring process Methods 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 49
- 239000010410 layer Substances 0.000 description 26
- 238000010586 diagram Methods 0.000 description 17
- 230000004044 response Effects 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 9
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 230000005684 electric field Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000003936 working memory Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 101100444020 Caenorhabditis elegans dsl-1 gene Proteins 0.000 description 2
- 101100366714 Caenorhabditis elegans ssl-1 gene Proteins 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 101000741396 Chlamydia muridarum (strain MoPn / Nigg) Probable oxidoreductase TC_0900 Proteins 0.000 description 1
- 101000741399 Chlamydia pneumoniae Probable oxidoreductase CPn_0761/CP_1111/CPj0761/CpB0789 Proteins 0.000 description 1
- 101000741400 Chlamydia trachomatis (strain D/UW-3/Cx) Probable oxidoreductase CT_610 Proteins 0.000 description 1
- 206010011906 Death Diseases 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 101150013423 dsl-1 gene Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
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/064—Management of blocks
-
- 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/1684—Details of memory controller using multiple buses
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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
-
- 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/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/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/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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
Abstract
一种存储装置,包括第一存储器装置和第二存储器装置,以及存储器控制器。第一存储器装置对应于主数据区域。第二存储器装置对应于预留区域。存储器控制器通过第一通道和第二通道联接到第一存储器装置和第二存储器装置。通过第一通道联接到存储器控制器的第一存储器装置的数量等于通过第二通道联接到存储器控制器的第一存储器装置的数量,并且通过第一通道联接到存储取控制器的第二存储器装置的数量不同于通过第二通道联接到存储器控制器的第二存储器装置的数量。存储器控制器基于第一存储器装置和第二存储器装置的存储器状态来选择待执行写入操作的存储器装置。
Description
相关申请的交叉引用
本申请要求于2020年4月17日提交的、申请号为10-2020-0046868的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本文公开的一个或多个实施例涉及一种存储器控制器和具有存储器控制器的存储装置。
背景技术
存储装置是被配置为在诸如计算机、智能电话或智能平板的主机装置的控制下存储数据的装置。存储装置包括被配置为在磁盘上存储数据的装置(例如,硬盘驱动器)和被配置为在半导体存储器上存储数据的装置(例如,固态驱动器(SSD)或存储卡)。
存储装置可以包括被配置为存储数据的存储器装置,并且存储器控制器可以管理针对一个或多个存储器装置的数据存储操作。
存储器装置可以是易失性存储器装置或非易失性存储器装置。非易失性存储器装置的示例包括:只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)和铁电RAM(FRAM)。
发明内容
实施例提供了一种能够以多通道和多通路结构高效地执行数据存储操作的存储器控制器,以及具有该存储器控制器的存储装置。
根据本公开的一方面,提供了一种存储装置,包括:多个第一存储器装置,对应于主数据区域;多个第二存储器装置,对应于预留区域;以及存储器控制器,通过第一通道和第二通道联接到第一存储器装置和第二存储器装置,其中通过第一通道联接到存储器控制器的第一存储器装置的数量等于通过第二通道联接到存储器控制器的第一存储器装置的数量,其中通过第一通道联接到存储器控制器的第二存储器装置的数量不同于通过第二通道联接到存储器控制器的第二存储器装置的数量,并且其中存储器控制器基于第一存储器装置和第二存储器装置的存储器状态,在第一存储器装置和第二存储器装置之中选择待执行写入操作的存储器装置。
根据本公开的另一方面,提供了一种存储器控制器,该存储器控制器通过第一通道和第二通道联接到多个主存储器装置和多个预留存储器装置,该存储器控制器包括:存储器状态监控器,被配置为监控作为关于主存储器装置和预留存储器装置的当前状态的信息的存储器状态信息;以及写入操作控制器,被配置为基于存储器状态信息,在多个主存储器装置和多个预留存储器装置之中选择待执行写入操作的存储器装置,其中分别通过第一通道和第二通道联接的主存储器装置的数量彼此相等,并且分别通过第一通道和第二通道联接的预留存储器装置的数量彼此不同。
根据本公开的又一方面,提供了一种操作存储器控制器的方法,该存储器控制器通过第一通道和第二通道联接到多个存储器装置,该方法包括:确定将对存储器装置执行写入操作;基于多个存储器装置的存储器状态,在多个存储器装置之中选择待执行写入操作的存储器装置;并且生成用于控制所选择的存储器装置以执行写入操作的编程命令,其中多个存储器装置包括用作主数据区域的第一存储器装置和用作预留区域的第二存储器装置,其中通过第一通道联接到存储器控制器的第一存储器装置的数量等于通过第二通道联接到存储器控制器的第一存储器装置的数量,并且通过第一通道联接到存储器控制器的第二存储器装置的数量不同于通过第二通道联接到存储器装置的第二存储器装置的数量。
根据本公开的又一方面,提供了一种设备,包括:第一通道输出,联接到第一数量的第一存储器装置和第二数量的第二存储器装置;第二通道输出,联接到第三数量的第一存储器装置和第四数量的第二存储器装置,第一存储器装置对应于主存储区域并且第二存储器装置对应于预留存储区域;以及存储器控制器,被配置为通过第一通道输出或第二通道输出输出信号,以选择第一存储器装置或第二存储器装置中的相应一个,其中存储器控制器基于第一存储器装置和第二存储器装置的存储器状态生成信号,并且其中第二数量和第四数量中的一个为零或更大。
附图说明
现在将在下文中参照附图更充分地描述示例实施例;然而,它们可以以不同的形式实现,并且不应该被解释为限于本文所阐述的实施例。相反,提供这些实施例以使得本公开将是彻底且完整的,并且将向本领域技术人员充分地传达示例实施例的范围。
在附图中,为了清楚说明,可以夸大尺寸。将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件,或也可以存在一个或多个中间元件。相同的附图标记始终表示相同的元件。
图1示出存储装置的实施例。
图2示出存储器装置的实施例。
图3示出存储器单元阵列的实施例。
图4示出存储块的实施例。
图5示出存储块的实施例。
图6示出存储块的实施例。
图7示出存储装置的实施例。
图8示出存储器控制器的实施例。
图9示出写入操作控制器的实施例。
图10示出用于控制存储装置的方法的实施例。
图11示出通过图10的方法执行的操作的实施例。
图12A和图12B示出用于控制存储装置的方法的实施例。
图13示出用于开始垃圾收集操作的方法的实施例。
图14示出通过图10的方法执行的操作的实施例。
图15示出通过图10的方法执行的操作的实施例。
图16示出存储装置的实施例。
图17示出存储器控制器的实施例。
图18示出固态驱动器系统的实施例。
图19示出用户系统的实施例。
具体实施方式
出于描述本公开的各个实施例的目的,本文公开的特定结构或功能描述仅是说明性的。本公开的实施例可以以各种形式实施,并且不能被解释为限于本文所阐述的实施例。
图1是示出存储装置50的实施例的框图,存储装置50可以包括存储器装置100和存储器控制器200。存储装置50可以在主机300的控制下存储数据和/或存储从主机300传输的数据。主机300的示例包括移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC和车载信息娱乐系统。
根据控制与主机300通信的接口协议,存储装置50可以有各种类型。例如,存储装置50可以被实施为固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)、微型MMC(micro-MMC)、安全数字(SD)卡、迷你SD卡、微型SD卡、通用串行总线(USB)存储装置、通用闪存(UFS)装置、紧凑型闪存(CF)卡、智能媒体卡(SMC)、记忆棒等。
存储装置50可以被制造为各种封装类型中的任意一种。示例包括堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器装置100可以存储数据并且可以在存储器控制器200的控制下操作。存储器装置100可以通过至少一个通道CH与存储器控制器200通信。存储器装置100可以包括存储器单元阵列,该存储器单元阵列包括用于存储数据的多个存储器单元。存储器单元阵列可以包括多个存储块,每个存储块可以包括多个存储器单元。多个存储器单元可以构成多个页面。在实施例中,每个页面可以是用于将数据存储在存储器装置100中或读取存储器装置100中存储的数据的单位。在一个实施例中,存储块可以是用于擦除数据的单位。
存储器装置100的示例可以包括:双倍数据速率同步动态随机存取存储器(DDRSDRAM)、低功耗双倍数据速率第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功耗DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移扭矩随机存取存储器(STT-RAM)等。为了便于描述,可以将存储器装置100假定为NAND闪速存储器。
在实施例中,可以以二维阵列结构或三维阵列结构来实施存储器装置100。下面描述存储器装置100的三维阵列结构的示例。一个或多个实施例不仅可以应用于电荷存储层配置有浮栅(FG)的闪速存储器装置,而且可以应用于电荷存储层包括绝缘层的电荷撷取闪存(CTF)。
在实施例中,可以使用将一个数据位存储在一个存储器单元中的单层单元(SLC)方案来操作存储器装置100。可选地,可以使用将至少两个数据位存储在一个存储器单元中的方案来操作存储器装置100。例如,可以使用将两个数据位存储在一个存储器单元中的多层单元(MLC)方案、将三个数据位存储在一个存储器单元中的三层单元(TLC)方案、或将四个数据位存储在一个存储器单元中的四层单元(QLC)方案来操作存储器装置100。
存储器装置100被配置为通过通道CH从存储器控制器200接收命令和地址,并且访问通过存储器单元阵列中的地址选择的区域。也就是说,存储器装置100可以对通过相应地址选择的区域执行与命令相对应的操作。例如,存储器装置100可以根据所接收的命令执行写入(编程)操作、读取操作和擦除操作。例如,当接收到编程命令时,存储器装置100可以将数据编程在由地址选择的区域中。当接收到读取命令时,存储器装置100可以从由地址选择的区域读取数据。当接收到擦除命令时,存储器装置100可以擦除由地址选择的区域中存储的数据。
在实施例中,多个存储器装置100可以包括在存储装置50中。多个存储器装置可以通过通道CH联接到存储器控制器200,并且可以通过通道CH与存储器控制器200通信。例如,存储器控制器200可以生成用于控制待由多个存储器装置中的每一个执行的操作的指令。而且,多个存储器装置中的每一个可以将通过执行所控制的操作获得的结果输出到存储器控制器200。
存储器控制器200可以控制存储装置50的全部操作。当将电源电压施加到存储装置50时,存储器控制器200可以运行固件(FW)或其他指令。例如,当存储器装置100是闪速存储器装置时,存储器控制器200可以运行诸如闪存转换层(FTL)的FW,用于控制主机300和存储器装置100之间的通信。
在实施例中,存储器控制器200可以包括固件,该固件从主机300接收数据和逻辑块地址(LBA),并且该固件将LBA转换成表示待存储数据的存储器装置100中的存储器单元的地址的物理块地址(PBA)。而且,存储器控制器200可以在缓冲存储器中存储建立LBA和PBA之间的映射关系的逻辑-物理地址映射表。
存储器控制器200可以响应于来自主机300的请求,控制存储器装置100以执行编程操作、读取操作、擦除操作等。例如,当从主机300接收到编程请求时,存储器控制器200可以将编程请求改变为编程命令,并且可以向存储器装置100提供编程命令、PBA和数据。当从主机300接收到读取请求以及LBA时,存储器控制器200可以将读取请求改变为读取命令、选择与LBA相对应的PBA、然后向存储器装置100提供读取命令和PBA。当从主机300接收到擦除请求以及LBA时,存储器控制器200可以将擦除请求改变为擦除命令、选择与LBA相对应的PBA、然后向存储器装置100提供擦除命令和PBA。
在实施例中,存储器控制器200可以在没有来自主机300的任何请求的情况下自主地生成编程命令、地址和数据,并且可以将编程命令、地址和数据传输到存储器装置100。例如,存储器控制器200可以将命令、地址和数据提供给存储器装置100以执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,存储装置50可以进一步包括缓冲存储器。存储器控制器200可以控制主机300和缓冲存储器之间的数据交换。在一个实施例中,存储器控制器200可以将用于控制存储器装置100的系统数据临时存储在缓冲存储器中。例如,存储器控制器200可以将从主机300输入的数据临时存储在缓冲存储器中,然后可以将缓冲存储器中临时存储的数据传输到存储器装置100。
在各个实施例中,缓冲存储器可以用作存储器控制器200的工作存储器或高速缓存存储器。缓冲存储器可以存储由存储器控制器200运行的代码或命令。在一个实施例中,缓冲存储器可以存储通过存储器控制器200处理的数据。缓冲存储器的示例包括诸如双倍数据速率同步DRAM(DDR SDRAM)、DDR4 SDRAM、低功耗双倍数据速率第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功耗DDR(LPDDR)和/或Rambus动态随机存取存储器(DRAM)的动态随机存取存储器(DRAM),或静态随机存取存储器(SRAM)。
在各个实施例中,缓冲存储器可以在存储装置50外部联接到存储器装置50。因此,在存储装置50外部联接到存储装置50的易失性存储器装置可以执行缓冲存储器的功能。在实施例中,存储器控制器200可以控制至少两个存储器装置。存储器控制器200可以根据交错方法来控制存储器装置,以便提高操作性能。
主机300可以使用一种或多种通信方式协议或标准与存储装置50通信。示例包括:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
图2是示出图1所示的存储器装置100的结构的示图。参照图2,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110包括通过行线RL联接到行解码器121并且通过位线BL1至BLn联接到页面缓冲器组123的多个存储块BLK1至BLKz。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。联接到相同字线的存储器单元可以被定义为一个页面。因此,一个存储块可以包括多个页面。行线RL可以包括至少一个源极选择线、多个字线和至少一个漏极选择线。
存储器单元阵列110中的存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
外围电路120可以在控制逻辑130的控制下对存储器单元阵列110的所选择的区域执行编程操作、读取操作或擦除操作。外围电路120可以驱动存储器单元阵列110。例如,外围电路120可以在控制逻辑130的控制下向行线RL和位线BL1至BLn施加各种操作电压或释放所施加的电压。
外围电路120可以包括行解码器121、电压生成器122、页面缓冲器组123、列解码器124、输入/输出电路125和感测电路126。行解码器121通过行线RL联接到存储器单元阵列110。行线RL可以包括至少一个源极选择线、多个字线和至少一个漏极选择线。在实施例中,字线可以包括正常字线和虚设字线。在实施例中,行线RL可以进一步包括管道选择线。
行解码器121对从控制逻辑130接收的行地址RADD进行解码。行解码器121根据经解码的地址选择存储块BLK1至BLKz之中的至少一个存储块。而且,行解码器121可以根据经解码的地址选择所选择的存储块的至少一个字线,以将由电压生成器122生成的电压施加到至少一个字线WL。
例如,在编程操作中,行解码器121可以将编程电压施加到所选择的字线,并将编程通过电压(电平低于编程电压的电平)施加到未选择的字线。在编程验证操作中,行解码器121可以将验证电压施加到所选择的字线,并将验证通过电压(电平高于验证电压的电平)施加到未选择的字线。
在读取操作中,行解码器121可以将读取电压施加到所选择的字线,并将读取通过电压(电平高于读取电压的电平)施加到未选择的字线。
在实施例中,以存储块为单位执行存储器装置100的擦除操作。在擦除操作中,行解码器121可以根据经解码的地址选择一个存储块。在擦除操作中,行解码器121可以将接地电压施加到与所选择的存储块联接的字线。
电压生成器122在控制逻辑130的控制下操作。电压生成器122通过使用供应给存储器装置100的外部电源电压来生成多个电压。例如,电压生成器可以响应于操作信号OPSIG而生成在编程操作、读取操作和擦除操作中使用的各种操作电压Vop。例如,电压生成器122可以在控制逻辑130的控制下,生成编程电压、验证电压、通过电压、读取电压、擦除电压等。
在实施例中,电压生成器122可以通过调节外部电源电压来生成内部电源电压。由电压生成器122生成的内部电源电压被用作存储器装置100的操作电压。
在实施例中,电压生成器122可以使用外部电源电压或内部电源电压来生成多个电压。例如,电压生成器122可以包括用于接收内部电源电压的多个泵浦电容器,并且可以在控制逻辑130的控制下通过选择性地激活多个泵浦电容器来生成多个电压。多个生成的电压可以通过行解码器121被供应给存储器单元阵列110。
页面缓冲器组123包括第一至第n页面缓冲器PB1至PBn。第一至第n页面缓冲器PB1至PBn分别通过第一至第n位线BL1至BLn联接到存储器单元阵列110。第一至第n位线BL1至BLn在控制逻辑130的控制下操作。例如,第一至第n位线BL1至BLn可以响应于页面缓冲器控制信号PBSIGNALS而操作。例如,第一至第n页面缓冲器PB1至PBn可以临时存储通过第一至第n位线BL1至BLn接收的数据,或在读取操作或验证操作中感测位线BL1至BLn的电压或电流。
例如,在编程操作中,当将编程电压施加到所选择的字线时,第一至第n页面缓冲器PB1至PBn可以将通过输入/输出电路125接收的数据DATA通过第一至第n位线BL1至BLn传送到所选择的存储器单元。根据所传送的数据DATA对所选择的页面的存储器单元进行编程。在编程验证操作中,第一至第n页面缓冲器PB1至PBn通过感测通过第一至第n位线BL1至BLn从所选择的存储器单元接收的电压或电流来读取页面数据。
在读取操作中,第一至第n页面缓冲器PB1至PBn通过第一至第n位线BL1至BLn从所选择的页面的存储器单元读取数据DATA,并且在列解码器124的控制下将所读取的数据DATA输出到输入/输出电路125。
在擦除操作中,第一至第n页面缓冲器PB1至PBn可以使第一至第n位线BL1至BLn浮置或将擦除电压施加到第一至第n位线BL1至BLn。
列解码器124可以响应于列地址CADD在输入/输出电路125和页面缓冲器组123之间通信数据。例如,列解码器124可以通过数据线DL与第一至第n页面缓冲器PB1至PBn通信数据,或者通过列线CL与输入/输出电路125通信数据。
输入/输出电路125可以将从存储器控制器(例如,图1所示的200)接收的命令CMD和地址ADDR传送到控制逻辑130,或者与列解码器124交换数据DATA。
在读取操作或验证操作中,感测电路126可以响应于允许位VRYBIT信号而生成参考电流,并且通过比较从页面缓冲器组123接收的感测电压VPB和由参考电流生成的参考电压来输出通过或失败信号PASS/FAIL。
控制逻辑130可以响应于命令CMD和地址ADDR通过输出操作信号OPSIG、行地址RADD、页面缓冲器控制信号PBSIGNALS和允许位VRYBIT来控制外围电路120。例如,控制逻辑130可以响应于子块读取命令和地址来控制所选择的存储块的读取操作。而且,控制逻辑130可以响应于子块擦除命令和地址来控制所选择的存储块中包括的所选择的子块的擦除操作。而且,控制逻辑130可以响应于通过或失败信号PASS或FAIL来确定验证操作是已经通过还是已经失败。
可以根据存储在存储器单元中的数据将存储器单元阵列110中的存储器单元中的每一个编程为多个编程状态之中的任意一个编程状态。可以根据存储器单元中存储的数据将存储器单元的目标编程状态确定为多个编程状态中的任意一个。
图3是示出图2所示的存储器单元阵列110的实施例的示图。参照图3,存储器单元阵列110可以包括多个存储块BLK1至BLKz。每个存储块可以具有三维结构。每个存储块可以包括堆叠在衬底上的多个存储器单元。多个存储器单元可以沿+X、+Y和+Z方向布置。将参照图4和图5更详细地描述每个存储块的示例结构。
图4是示出图2中所示的存储块BLK1至BLKz之中的任意一个存储块BLKa的实施例的电路图。参照图4,存储块BLKa可以包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,多个单元串CS11至CS1m和CS21至CS2m中的每一个可以形成为预定形状,例如“U”形或另一形状。在存储块BLKa中,m个单元串沿行方向(例如,+X方向)布置。图4示出两个单元串沿列方向(例如,+Y方向)布置。然而,这是为了便与描述,并且将理解的是,可以在列方向上布置三个单元串。
多个单元串CS11至CS1m和CS21至CS2m中的每一个可以包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管式晶体管PT以及至少一个漏极选择晶体管DST。选择晶体管SST和DST以及存储器单元MC1至MCn可以具有彼此类似的结构。
在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧道绝缘层、电荷存储层以及阻挡绝缘层。在实施例中,可以在每个单元串中设置用于提供沟道层的柱(pillar)。在实施例中,用于提供沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱可以在每个单元串中。
每个单元串的源极选择晶体管SST可以联接在公共源极线CSL和存储器单元MC1至MCp之间。在实施例中,布置在相同行上的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线。布置在不同行上的单元串的源极选择晶体管联接到不同的源极选择线。在图4中,第一行上的单元串CS11至CS1m的源极选择晶体管联接到第一源极选择线SSL1。第二行上的单元串CS21至CS2m的源极选择晶体管联接到第二源极选择线SSL2。在一个实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可以共同联接到一个源极选择线。
每个单元串的第一至第n存储器单元MC1至MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。第一至第n存储器单元MC1至MCn可以被划分为第一至第p存储器单元MC1至MCp以及第(p+1)至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp沿+Z方向的相反方向顺序地布置,并且可以串联联接在源极选择晶体管SST和管式晶体管PT之间。第(p+1)至第n存储器单元MCp+1至MCn在+Z方向上顺序地布置,并且可以串联联接在管式晶体管PT和漏极选择晶体管DST之间。第一至第p存储器单元MC1至MCp和第(p+1)至第n存储器单元MCp+1至MCn通过管式晶体管PT联接。每个单元串的第一至第n存储器单元MC1至MCn的栅电极分别联接到第一至第n字线WL1至WLn。每个单元串的管式晶体管PT的栅极联接到管线PL。
每个单元串的漏极选择晶体管DST联接在相应的位线和存储器单元MCp+1至MCn之间。沿行方向布置的单元串联接到沿行方向延伸的漏极选择线。第一行上的单元串CS11至CS1m的漏极选择晶体管联接到第一漏极选择线DSL1。第二行上的单元串CS21至CS2m的漏极选择晶体管联接到第二漏极选择线DSL2。
沿列方向布置的单元串联接到沿列方向延伸的位线。在图4中,第一列上的单元串CS11和CS21联接到第一位线BL1。第m列上的单元串CS1m和CS2m联接到第m位线BLm。
联接到沿行方向布置的单元串中的相同字线的存储器单元可以构成一个页面。例如,联接到第一行上的单元串CS11至CS1m中的第一字线WL1的存储器单元构成一个页面。联接到第二行上的单元串CS21至CS2m中的第一字线WL1的存储器单元构成另一页面。当选择漏极选择线DSL1和DSL2中的任意一个时,可以选择沿一个行方向布置的单元串。当选择字线WL1至WLn中的任意一个时,可以在所选择的单元串中选择一个页面。
在另一实施例中,可以设置偶数位线和奇数位线,而不是第一至第m位线BL1至BLm。另外,沿行方向布置的单元串CS11至CS1m或CS21至CS2m之中的偶数编号的单元串可以分别联接到偶数位线,并且沿行方向布置的单元串CS11至CS1m或CS21至CS2m之中的奇数编号的单元串可以分别联接到奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可以用作虚设存储器单元。例如,可以设置至少一个虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCp之间的电场。在一个实施例中,可以设置至少一个虚设存储器单元以减小漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。当虚设存储器单元的数量增加时,存储块BLKa的操作可靠性得到改善,但是存储块BLKa的大小可能增加。当虚设存储器单元的数量减少时,存储块BLKa的大小减小,但是存储块BLKa的操作的可靠性可能劣化。
为了有效地控制至少一个虚设存储器单元,虚设存储器单元可以具有所需的阈值电压。在存储块BLKa的擦除操作之前或之后,可以对所有或一些虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压控制施加到联接到各个虚设存储器单元的虚设字线的电压,使得虚设存储器单元可以具有所需的阈值电压。
图5是示出图2所示的存储块BLK1至BLKz之中的一个存储块的另一实施例BLKb的电路图。参照图5,存储块BLKb可以包括多个单元串CS11'至CS1m'和CS21'至CS2m'。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个沿+Z方向延伸。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及堆叠在存储块BLKb下方的衬底上的至少一个漏极选择晶体管DST。
每个单元串的源极选择晶体管SST联接在公共源极线CSL和存储器单元MC1至MCn之间。布置在相同行上的单元串的源极选择晶体管联接到相同的源极选择线。布置在第一行上的单元串CS11'至CS1m'的源极选择晶体管联接到第一源极选择线SSL1。布置在第二行上的单元串CS21'至CS2m'的源极选择晶体管联接到第二源极选择线SSL2。在另一实施例中,单元串CS11'至CS1m'和CS21'至CS2m'的源极选择晶体管可以共同联接到一个源极选择线。
每个单元串的第一至第n存储器单元MC1至MCn串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。第一至第n存储器单元MC1至MCn的栅电极分别联接到第一至第n字线WL1至WLn。
每个单元串的漏极选择晶体管DST联接在相应的位线和存储器单元MC1至MCn之间。沿行方向布置的单元串的漏极选择晶体管联接到沿行方向延伸的漏极选择线。第一行上的单元串CS11'至CS1m'的漏极选择晶体管联接到第一漏极选择线DSL1。第二行上的单元串CS21'至CS2m'的漏极选择晶体管联接到第二漏极选择线DSL2。
除了从图5的每个单元串中排除管式晶体管PT之外,图5的存储块BLKb可以具有与图4的存储块BLKa类似的电路配置。
在一个实施例中,可以设置偶数位线和奇数位线,而不是第一至第m位线BL1至BLm。另外,沿行方向布置的单元串CS11'至CS1m'或CS21'至CS2m'之中的偶数编号的单元串可以分别联接到偶数位线,并且沿行方向布置的单元串CS11'至CS1m'或CS21'至CS2m'之中的奇数编号的单元串可以分别联接到奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可以用作虚设存储器单元。例如,可以设置至少一个虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCp之间的电场。在一个实施例中,可以设置至少一个虚设存储器单元以减小漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。当虚设存储器单元的数量增加时,存储块BLKb的操作可靠性得到改善,但是存储块BLKb的大小增加。当虚设存储器单元的数量减少时,存储块BLKb的大小减小,但是存储块BLKb的操作可靠性可能劣化。
为了有效地控制至少一个虚设存储器单元,虚设存储器单元可以具有所需的阈值电压。在存储块BLKb的擦除操作之前或之后,可以对所有或一些虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压控制施加到联接到各个虚设存储器单元的虚设字线的电压,使得虚设存储器单元可以具有所需的阈值电压。
图6是示出图2所示的存储器单元阵列110中包括的多个存储块BLK1至BLKz之中的一个存储块的另一实施例BLKc的电路图。
参照图6,存储块BLKc包括多个串CS1至CSm。多个串CS1至CSm可以分别联接到多个位线BL1至BLm。串CS1至CSm中的每一个包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以具有类似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧道绝缘层、电荷存储层以及阻挡绝缘层。在实施例中,可以在每个单元串中设置用于提供沟道层的柱。在实施例中,可以在每个单元串中设置用于提供沟道层、隧道绝缘层、电荷存储层以及阻挡绝缘层中的至少一个的柱。
每个单元串的源极选择晶体管SST联接在公共源极线CSL和存储器单元MC1至MCn之间。每个单元串的第一至第n存储器单元MC1至MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。每个单元串的漏极选择晶体管DST联接在相应的位线和存储器单元MC1至MCn之间。
联接到相同字线的存储器单元可以构成一个页面。当选择漏极选择线DSL时,可以选择单元串CS1至CSm。当选择字线WL1至WLn中的任意一个时,可以选择所选择的单元串之中的一个页面。
在一个实施例中,可以设置偶数位线和奇数位线,而不是第一至第m位线BL1至BLm。所布置的单元串CS1至CSm之中的偶数编号的单元串可以分别联接到偶数位线,并且单元串CS1至CSm之中的奇数编号的单元串可以分别联接到奇数位线。
如图3至图5所示,存储器装置100的存储器单元阵列110可以被配置为具有三维结构的存储器单元阵列。而且,如图6所示,存储器装置100的存储器单元阵列110可以被配置为具有二维结构的存储器单元阵列。
图7是示出存储装置51的实施例的示图,存储装置51可以包括存储器控制器200和多个存储器装置100a至100h、101a和101b。例如,可以将存储器控制器200包括在具有与通道CH1和CH2相对应的输出的芯片中,或者可以将该输出联接到在芯片或其他电路内部执行存储器控制器的功能的逻辑。多个存储器装置100a至100h、101a和101b可以构成第一数据区域105和第二数据区域107。第一存储器装置100a至100h可以构成第一数据区域105。第二存储器装置101a和101b可以构成第二数据区域107。
在示例中,由第一存储器装置100a至100h构成的第一数据区域105可以是用于存储用户数据的主数据区域。由第二存储器装置101a和101b构成的第二数据区域107可以是不存储用户数据的预留区域。预留区域可以包括维持存储装置51的操作性能所需的预留空间(over provisioning)区域。预留空间区域可以是只要没有预定原因就不使用的数据区域。例如,当正在使用存储装置51的同时在构成主数据区域105的存储块(例如,第一存储器装置100a至100h中的存储块)之中生成坏块时,相应的坏块可能不再使用。构成预留空间区域的任意一个存储块(例如,第二存储器装置101a和101b中包括的存储块)可以用于替换坏块。
在一个示例中,预留空间区域可以是被分配以使得能够平稳地执行用于驱动存储装置的各种功能(例如,损耗均衡、坏块管理等)的预留空间。由于预留空间区域不能被用户访问,因此在某些实施例中,可以从存储装置51的用户容量中排除预留空间区域。
如图7所示,根据实施例,存储装置51可以被配置为多通道和多通路结构。多通道结构可以表示存储器控制器200与存储器装置100a至100h、101a和101b通过多个通道CH1和CH2联接以便同时访问多个存储器装置的结构。随着用于联接存储器控制器200和存储器装置100a至100h、101a和101b的通道的数量增加,存储器控制器200可以同时控制的存储器装置的数量可以增加。因此,可以提高存储装置51的操作速度。
多通路结构可以表示多个存储器装置联接到一个通道的结构。例如,四个存储器装置100a至100d联接到图7所示的存储装置51的第一通道CH1。通过第一通道CH1,存储器装置100a至100d分别构成第一至第四通路WAY1至WAY4。另外,通过第二通道CH2,存储器装置100e至100h、101a和101b分别构成第五至第十通路WAY5至WAY10。在具有多通路结构的存储装置中,联接到一个通道的多个存储器装置执行交错操作,从而可以提高存储装置的操作速度。
在一个实施例中,通道中的每一个可以包括相同数量的通路。而且,可以为每个通道联接相同数量的存储器装置。例如,可以为每个通道联接相同数量的主存储器装置和相同数量的预留存储器装置。主存储器装置可以与例如构成主数据区域的存储器装置相对应。同时,预留存储器装置可以与例如构成预留区域的存储器装置相对应。
在一个实施例中,可以为每个通道配置相同数量的通路,从而允许高效执行存储器装置的管理。例如,当为每个通道配置相同数量的通路时,存储器控制器200可以通过针对通道交替地分配工作负载(例如,写入操作)来有效地使用通道。当以不同数量的通路配置通道时,每个通道联接的存储器装置的数量可能彼此不同。因此,当存储器控制器200针对通道分配工作负载时,可能经常发生在工作负载集中在一个或多个通道上的同时一个或多个其他通道处于空闲状态的情况。因此,通道使用效率低下。
然而,可能会发生基于成本或设计要求针对通道联接不同数量的构成预留区域的预留存储器装置的情况。尽管可以为每个通道联接相同数量的主存储器装置,但是针对通道联接的所有存储器装置的数量可以彼此不同。
根据一个实施例,如图7的存储区域51所示,可以为每个通道联接相同数量的主存储器装置,例如,四个主存储器装置100a至100d通过第一通道CH1联接,四个主存储器装置100e至100h通过第二通道CH2联接。然而,根据一个实施例,可以针对存储装置51中的通道联接不同数量的预备或预留存储器装置。在图7中,没有预留存储器装置通过第一通道CH1联接,并且两个预留存储器装置101a和101b通过第二通道CH2联接。
根据一个实施例,在存储装置51中,存储器控制器200可以通过多个通道CH1和CH2联接到存储器装置100a至100h、101a和101b。在实施例中,针对通道CH1和CH2联接的存储器装置的数量可以彼此不同。在示例中,针对通道CH1和CH2联接的预留存储器装置101a和101b的数量可以彼此不同。同时,针对通道CH1和CH2联接的主存储器装置100a至100h的数量可以相同。
根据一个实施例,存储装置51的存储器控制器200可以通过多个通道CH1和CH2监控存储器装置100a至100h、101a和101b的存储器状态。当存储器控制器200确定将对存储器装置中的任意一个执行写入操作时,存储器控制器200可以基于存储器状态(通过多个通道CH1和CH2在存储器装置100a至100h、101a和101b之中)选择待执行写入操作的存储器装置。例如,当存储器状态是第一状态时,存储器控制器200可以选择主存储器装置100a至100h中的任意一个,并且可以生成用于允许所选择的存储器装置执行写入操作的编程命令。当存储器状态是第二状态时,存储器控制器200可以选择主存储器装置100a至100h以及预留存储器装置101a和101b中的任意一个,并且可以生成用于允许所选择的存储器装置执行写入操作的编程命令。
当用作选择存储器装置的参考时,在实施例之中的存储器状态可以不同。在一个实施例中,存储器状态可以是主存储器装置100a至100h中的存储块之中的空闲块的数量NFB。在另一实施例中,存储器状态可以是多个存储器装置100a至100h、101a和101b中存储的所有有效数据DVLD的大小。在另一实施例中,存储器状态可以是主存储器装置100a至100h中的存储块的代表擦除-写入(E/W)值CEW。代表E/W值CEW可以是主存储器装置100a至100h中包括的存储块中的每一个的E/W计数值的代表值。
E/W计数值可以是表示特定存储块已经进行过多少次擦除操作和数据写入操作(例如,在生产了存储装置之后的擦除-写入周期)的值。可以针对每个存储块对E/W计数值进行计数。
在实施例中,代表E/W值CEW可以被不同地确定。在一个示例中,代表E/W值CEW可以是主存储器装置100a至100h中的存储块中的每一个的E/W计数值之中的最大值。在另一示例中,代表E/W值CEW可以是主存储器装置100a至100h中的存储块中的每一个的E/W计数值的平均值。在另一示例中,代表E/W值CEW可以是主存储器装置100a至100h中的存储块中的每一个的E/W计数值的中位值。在另一实施例中,代表E/W值CEW可以是主存储器装置100a至100h中的存储块中的每一个的E/W计数值之中的最小值。
根据实施例,存储器控制器200可以基于存储器状态,仅在主存储器装置100a至100h之中选择待执行写入操作的存储器装置,或者可以在主存储器装置100a至100h以及预留存储器装置101a和101b之中选择待执行写入操作的存储器装置。因此,在针对通道联接不同数量的通路的结构下,可以尽可能有效地使用通道。
图8是示出根据实施例的存储器控制器200的框图。参照图8,存储器控制器200可以包括存储器状态监控器210和写入操作控制器230。存储器状态监控器210可以监控存储装置51中的多个存储器装置100a至100h、101a和101b的当前状态。存储器状态监控器210可以基于监控结果来生成存储器状态信息INFMS,并且将存储器状态信息INFMS传送到写入操作控制器230。
存储器状态信息INFMS可以用作用于选择待执行写入操作的存储器装置的参考。在一些实施例中,可以不同地确定存储器状态信息INFMS。在一个实施例中,存储器状态信息INFMS可以是表示主存储器装置100a至100h中的存储块之中的空闲块的数量NFB的信息。在另一实施例中,存储器状态信息INFMS可以是表示多个存储器装置100a至100h、101a和101b中存储的所有有效数据DVLD的大小的信息。在另一实施例中,存储器状态信息INFMS可以是表示主存储器装置100a至100h中的存储块的E/W计数值CEW的代表值的信息。
写入操作控制器230可以控制存储装置中的多个存储器装置100a至100h、101a和101b的写入操作。例如,写入操作控制器230可以基于从存储器状态监控器210接收的存储器状态信息INFMS来确定待执行写入操作的存储器装置。而且,写入操作控制器230可以将编程命令CMDPGM传送到所确定的存储器装置。在一个实施例中,写入操作控制器230可以将编程数据传送到存储器装置,其中编程命令CMDPGM被传送到该存储器装置。接收编程命令CMDPGM和编程数据的存储器装置可以执行编程操作。
图9是示出图8所示的写入操作控制器210的实施例的框图。参照图9,写入操作控制器230可以包括写入位置确定器231、命令生成器233和映射数据存储装置235。写入位置确定器231可以从存储器状态监控器210接收存储器状态信息INFMS,并且可以从映射数据存储装置235接收映射数据DATAMP。映射数据DATAMP可以包括表示存储装置51中的多个存储器装置100a至100h、101a和101b中存储的数据的逻辑地址-物理地址映射关系的数据。
在一个实施例中,映射数据DATAMP可以包括关于存储装置51中的多个存储器装置100a至100h、101a和101b中的存储块之中的空闲块或开放块的数据。空闲块可以与在擦除操作之后尚未存储数据的存储块相对应。开放块可以与已经在某个空间中存储数据而尚未在其他空间中存储数据的存储块相对应。写入位置确定器231可以基于存储器状态信息INFMS和映射数据DATAMP来确定待存储数据的位置。
例如,写入位置确定器231可以基于存储器状态信息INFMS,确定待将数据编程到多个存储器装置100a至100h、101a和101b之中的哪个存储器装置。而且,写入位置确定器231可以确定待将数据编程到所确定的存储器装置中的多个存储块之中的哪个存储块。写入位置确定器231可以生成地址信息INFADDR,该地址信息INFADDR包括关于所确定的存储器装置和所确定的存储块的数据。所生成的地址信息INFADDR可以被传送到命令生成器233。
命令生成器233可以基于所接收的地址信息INFADDR来生成编程命令CMDPGM。所生成的编程命令CMDPGM可以被传送到与地址信息INFADDR相对应的存储器装置。在此过程中,编程数据可以与编程命令CMDPGM一起被传送到存储器装置。接收编程命令CMDPGM和编程数据的存储器装置可以执行编程操作。
命令生成器233可以将编程命令CMDPGM传送到存储器装置,并且可以将与其相对应的映射更新数据DATMU传送到映射数据存储装置235。因为数据将被写入到多个存储器装置100a至100h、101a和101b之中的任意一个存储器装置,所以可以更新与该数据相关联的逻辑地址-物理地址映射关系。映射数据存储装置235可以通过接收映射更新数据DATMU来更新映射数据。
根据一个实施例,在存储器控制器200中,写入位置确定器231基于存储器状态信息INFMS,可以仅在主存储器装置100a至100h之中选择待执行写入操作的存储器装置,或者可以在主存储器装置100a至100h以及预留存储器装置101a和101b之中选择待执行写入操作的存储器装置。因此,在针对通道联接不同数量的通路的结构下,可以尽可能有效地使用通道。
图10是示出根据实施例的存储器控制器200的操作方法的流程图。参照图10,该操作方法可以包括:在S110,确定将对包括第一存储器装置100a至100h以及第二存储器装置101a和101b的多个存储器装置100a至100h、101a和101b中的任意一个执行写入操作。在S130,基于多个存储器装置100a至100h、101a和101b的存储器状态,执行在第一存储器装置100a至100h以及第二存储器装置101a和101b之中选择待执行写入操作的存储器装置的操作。在S150,执行生成用于控制所选择的存储器装置执行写入操作的编程命令CMDPGM的操作。
在S110,存储器控制器200可以确定将对存储装置51中的存储器装置100a至100h、101a和101b中的任意一个执行写入操作。可以基于从主机300接收的写入请求来生成该写入确定。例如,当主机300将写入数据和写入请求传送到存储装置51时,存储器控制器200可以确定将执行将接收到的写入数据写入到存储器装置100a至100h、101a和101b中的任意一个的操作。可以响应于来自主机300的写入请求来执行操作S110。
可以在存储装置51中内部生成根据S110的写入确定,而与来自主机300的任何请求无关。例如,可以通过存储器控制器200的确定来执行垃圾收集操作、损耗均衡操作、数据清除操作等,而与来自主机300的任何请求无关。垃圾收集操作、损耗均衡操作、数据清除操作等可以包括例如将数据写入到存储器装置100a至100h、101a和101b的操作。因此,为了保持和修复存储装置51中存储的数据或保持存储装置51中的存储器装置100a至100h、101a和101b的性能,存储器控制器200可以确定数据将被写入存储器装置100a至100h、101a和101b中的任意一个,而与来自主机300的任何请求无关。
在S130中,基于多个存储器装置100a至100h、101a和101b的存储器状态,存储器控制器200可以在第一存储器装置100a至100h以及第二存储器装置101a和101b之中选择待执行写入操作的存储器装置。在S130中,写入操作控制器230可以从存储器状态监控器210接收存储器状态信息INFMS,并且基于存储器状态信息INFMS来选择待执行写入操作的存储器装置。根据存储器控制器200的操作方法的一个实施例,基于存储器状态信息INFMS,写入操作控制器230仅在主存储器装置100a至100h之中选择待执行写入操作的存储器装置,或者在主存储器装置100a至100h以及预留存储器装置101a和101b之中选择待执行写入操作的存储器装置。因此,在针对通道联接不同数量的通路的结构下,可以尽可能有效地使用通道。将参照图11、图14和图15描述S130的各个实施例。
在S150中,存储器控制器200的写入操作控制器230可以将编程命令和编程数据传送到所选择的存储器装置。接收编程命令和编程数据的存储器装置可以对相应的数据执行写入操作。
图11是示出图10所示的操作S130的实施例的流程图。参照图11,在S131中,写入位置确定器231可以参考第一存储器装置100a至100h中的存储块之中的空闲块的数量NFB。空闲块的数量NFB可以是从存储器状态监控器210接收的存储器状态信息INFMS。在S133中,写入位置确定器231可以确定接收到的空闲块的数量NFB是否小于预定的第一阈值NTH。
当空闲块的数量NFB小于第一阈值NTH时(例如,S133,是),写入位置确定器231可以在第一存储器装置100a至100h以及第二存储器装置101a和101b之中选择包括空闲块的存储器装置(S135)。
当空闲块的数量NFB大于或等于第一阈值NTH时(例如,S133,否),写入位置确定器231可以在第一存储器装置100a至100h之中选择包括空闲块的存储器装置(S137)。
当空闲块的数量NFB大于或等于第一阈值NTH时,这可以指示剩余相对较大数量的与主数据区域相对应的空闲块。因此,可以通过选择构成主数据区域的第一存储器装置100a至100h中的任意一个来执行写入操作,而不使用预留空间区域。
当空闲块的数量NFB小于第一阈值NTH时,这可以指示剩余相对较少数量的与主数据区域相对应的空闲块。因此,除了第一存储器装置100a至100h之外,构成预留空间区域的第二存储器装置101a和101b还可以被选择作为待执行写入操作的存储器装置。
根据图11所示的实施例,在针对通道联接不同数量的预留存储器装置的存储装置中,当在主数据区域中剩余足够数量的空闲块时,对与主数据区域相对应的存储器装置执行写入操作。因此,预留存储器装置不用于写入操作,并且可以针对通道平均分配工作负载。因此,可以有效地使用通道,并且可以提高存储装置51的操作速度。
根据实施例,在针对通道联接不同数量的预留存储器装置的存储器装置中,当在主数据区域中没有剩余足够数量的空闲块时,不仅对与主数据区域相对应的存储器装置,而且还对与预留区域(例如,预留空间区域)相对应的存储器装置执行写入操作。因此,可以通过使用预留区域的存储空间来补充主数据区域的不足的存储空间。
图12A和图12B是示出根据一个或多个实施例的图10和图11所示的存储器控制器的操作方法的示图。
图12A示出用于在空闲块的数量NFB大于或等于第一阈值NTH时选择用于写入操作的存储器装置的方法。如图12A所示,当空闲块的数量NFB大于或等于第一阈值NTH(NFB≥NTH)时,存储器控制器200可以将编程命令CMDPGM传送到构成第一数据区域105的存储器装置100a至100h中的任意一个。在空闲块的数量NFB大于或等于第一阈值NTH的情况下,存储器控制器200可以将编程命令仅传送到构成第一数据区域105的存储器装置100a至100h。由于第一通道CH1和第二通道CH2中的每一个都联接到四个主存储器装置100a至100h,所以可以将来自存储器控制器200的工作负载平均分配给第一通道CH1和第二通道CH2。
图12B示出用于在空闲块的数量NFB小于第一阈值NTH时选择用于写入操作的存储器装置的方法。如图12B所示,当空闲块的数量NFB小于第一阈值NTH(NFB<NTH)时,存储器控制器200可以将编程命令CMDPGM传送到构成第一数据区域105的存储器装置100a至100h以及构成第二数据区域107的存储器装置101a和101b中的任意一个。当空闲块的数量NFB小于第一阈值NTH时,存器储控制器200可以将编程命令传送到构成第一数据区域105和第二数据区域107的存储器装置100a至100h、101a和101b。
由于第一通道CH1联接到四个主存储器装置100a至100d,第二通道CH2联接到四个主存储器装置100e至100h以及两个预留存储器装置101a和101b,与第一通道CH1相比,可以将来自存储器控制器200的工作负载进一步添加到第二通道CH2。然而,可以将工作负载平均分配给第一通道CH1和第二通道CH2。当空闲块的数量NFB小于第一阈值NTH(NFB<NTH)时,这可以指示属于主数据区域105的空闲块的数量不足,因此,与预留区域107(例如,预留空间区域)相对应的存储器装置101a和101b也用于数据写入。因此,可以有效地使用存储装置51中的所有存储块。
图13是示出用于开始垃圾收集操作的方法的实施例的流程图。参照图13,首先,存储器控制器200可以监控第一存储器装置100a至100h中包括的存储块之中的空闲块的数量NFB(S210)。存储器控制器200可以确定空闲块的数量NFB是否小于预定的第二阈值NGB(S230)。
当空闲块的数量NFB小于预定的第二阈值NGB时(例如,S230,是),可以对存储装置51中的多个存储器装置100a至100h、101a和101b执行垃圾收集操作(S250)。可以以如下方式执行垃圾收集操作:在空闲块中传送和存储存储块(例如,存储装置中的存储块之中的有效页面数量等于或小于特定比率的牺牲存储块)的有效数据,然后使牺牲存储块中存储的有效数据无效。同时,垃圾收集操作可以包括擦除牺牲存储块的操作。
当空闲块的数量NFB大于或等于预定的第二阈值NGB时(例如,S230,否),不执行垃圾收集操作并且可以重复地执行监控操作S210。
在实施例中,在图11所示的操作方法中用作操作S133的确定基准的第一阈值NTH和在图13所示的操作方法中用作操作S230的确定基准的第二阈值NGB可以是彼此不同的值。可以分开地执行是否将仅对第一存储器装置或者对第一存储器装置和第二存储器装置执行写入操作的确定S133与是否将执行垃圾收集操作的确定S230。
在一个实施例中,在图11所示的操作方法中用作操作S133的确定基准的第一阈值NTH和在图13所示的操作方法中用作操作S230的确定基准的第二阈值NGB可以是相同的值。可以基本相同地执行是否将仅对第一存储器装置或者对第一存储器装置和第二存储器装置执行写入操作的确定S133与是否将执行垃圾收集操作的确定S230。
例如,当空闲块的数量NFB大于或等于第一阈值或第二阈值(NTH=NGB)时(例如,S133或S230,否),存储器控制器200可以允许仅对第一存储器装置100a至100h执行写入操作,且不执行垃圾收集操作。
当空闲块的数量NFB小于第一阈值或第二阈值(NTH=NGB)时(例如,S133或S230,是),存储器控制器200可以开始执行垃圾收集操作,并允许对所有第一存储器装置100a至100h、第二存储器装置101a和101b执行写入操作。
图14是示出图10所示的操作S130的另一实施例的流程图。参照图14,在S132中,写入位置确定器231可以参考多个存储器装置100a至100h、101a和101b中存储的所有有效数据的大小DVLD。有效数据的大小DVLD可以是从存储器状态监控器210接收的存储器状态信息INFMS。在S134中,写入位置确定器231可以确定所接收的有效数据的大小DVLD是否大于预定的第三阈值DTH。
当有效数据的大小DVLD大于预定的第三阈值DTH时(例如,S134,是),写入位置确定器231可以在第一存储器装置100a至100h以及第二存储器装置101a和101b之中选择包括空闲块的存储器装置(S136)。
当有效数据的大小DVLD小于或等于预定的第三阈值DTH时(例如,S134,否),写入位置确定器231可以在第一存储器装置100a至100h之中选择包括空闲块的存储器装置(S138)。
当有效数据的大小DVLD小于或等于预定的第三阈值DTH时,这可以指示剩余与主数据区域相对应的大量的额外空间。因此,可以通过选择构成主数据区域的第一存储器装置100a至100h中的任意一个来执行写入操作,而不使用预留空间区域。
当有效数据的大小DVLD大于预定的第三阈值DTH时,这可以指示剩余与主数据区域相对应的少量的额外空间。因此,构成预留空间区域的第二存储器装置101a和101b还可以被选择作为待执行写入操作的存储器装置。
根据图14所示的实施例,在针对通道联接不同数量的预留存储器装置的存储装置中,当在主数据区域中剩余足够的额外空间时,可以对与主数据区域相对应的存储器装置执行写入操作。因此,在写入操作中不使用预留存储器装置,并且可以针对通道平均分配工作负载。因此,可以有效地使用通道,并且可以提高存储装置51的操作速度。
根据一个实施例,在针对通道联接不同数量的预留存储器装置的存储装置中,当在主数据区域中没有剩余足够的额外空间时,不仅对与主数据区域相对应的存储器装置执行写入操作,而且还对与预留区域(例如,预留空间区域)相对应的存储器装置执行写入操作。因此,可以通过使用预留区域的存储空间来补充主数据区域的不足的存储空间。
图15是示出图10所示的操作S130的另一实施例的流程图。参照图15,在S141中,写入位置确定器231可以参考第一存储器装置中的存储块的代表E/W值CEW。如上所述,代表E/W值CEW可以被不同地确定。在示例中,代表E/W值CEW可以是主存储器装置100a至100h中的存储块中的每一个的E/W计数值之中的最大值。在另一示例中,代表E/W值CEW可以是主存储器装置100a至100h中的存储块中的每一个的E/W计数值的平均值。在另一示例中,代表E/W值CEW可以是主存储器装置100a至100h中的存储块中的每一个的E/W计数值的中位值。在另一实施例中,代表E/W值CEW可以是主存储器装置100a至100h中的存储块中的每一个的E/W计数值之中的最小值。
当代表E/W值CEW大于预定的第四阈值CTH时(例如,S143,是),写入位置确定器231可以在第一存储器装置100a至100h以及第二存储器装置101a和101b之中选择包括空闲块的存储器装置(S145)。
当代表E/W值CEW小于或等于预定的第四阈值CTH时(S143,否),写入位置确定器231可以在第一存储器装置100a至100h之中选择包括空闲块的存储器装置(S147)。
当代表E/W值CEW小于或等于预定的第四阈值CTH时,这可以指示在生产了存储装置51之后尚未执行较大数量的写入操作或擦除操作。这对应于存储装置51的整体产品寿命(EOL:End-Of-Life)的初始时段。因此,可以通过选择构成主数据区域的第一存储器装置100a至100h中的任意一个来执行写入操作。
当代表E/W值CEW大于预定的第四阈值CTH时,这可以指示在生产了存储装置51之后已经执行相对较大数量的写入操作或擦除操作。这对应于存储装置51的EOL的中间或最后时段。因此,构成预留空间区域的第二存储器装置101a和101b还可以被选择作为待执行写入操作的存储器装置。
根据图15所示的实施例,当用通道联接存储装置中的不同数量的预留存储器装置时,可以在EOL的初始时段中对与主数据区域相对应的存储器装置执行写入操作。因此,预留存储器装置可以不用于写入操作,并且可以针对通道平均分配工作负载。因此,可以有效地使用通道,并且可以提高存储装置51的操作速度。
根据实施例,当用通道联接存储装置中的不同数量的预留存储器装置时,在存储装置51的EOL的中间或最后时段中,不仅可以对与主数据区域相对应的存储器装置,而且可以对与预留区域(例如,预留空间区域)相对应的存储器装置执行写入操作。因此,可以利用第二存储器装置101a和101b补充第一存储器装置100a至100h的执行以提高性能,否则该执行将劣化。
图16是示出存储装置52的另一实施例的示图,存储装置52可以包括存储器控制器200以及多个存储器装置102a至102h和103a至103c。例如,可以将存储器控制器200包括在具有与通道CH1和CH2相对应的输出的芯片中,或者可以将该输出联接到在芯片或其他电路内部执行存储器控制器的功能的逻辑。
多个存储器装置102a至102h和103a至103c可以被布置在第一数据区域106和第二数据区域108中。在一个实施例中,第一存储器装置102a至102h可以在第一数据区域106中,第二存储器装置103a至103c可以在第二数据区域108中。此外,第一数据区域106(包括第一存储器装置102a至102h)可以是用于存储用户数据的主数据区域,第二数据区域108(包括第二存储器装置103a至103c)可以是不存储用户数据的预留区域。
如图16所示,存储装置52中相同数量的主存储器装置可以联接到通道CH1和CH2中的每一个。在该示例中,四个主存储器装置102a至102d联接到第一通道CH1,并且四个主存储器装置102e至102h联接到第二通道CH2。同时,可以将不同数量的预留存储器装置联接到通道。在图16所示的示例中,一个预留存储器装置103a联接到第一通道CH1,两个预留存储器装置103b和103c联接到第二通道CH2。另外,存储器装置102a至102d和103a可以分别通过第一至第五通路WAY1至WAY5联接到第一通道CH1,存储器装置102e至102h、103b和103c可以分别通过第六至第十一通路WAY6至WAY11联接到第二通道CH2。
当比较图7和图16时,在例如存储装置51或52的不同的存储装置实施例中,预留存储器装置的数量可以不同。而且,例如在存储装置51或52的不同的存储装置实施例中,可以针对通道联接不同数量的预留存储器装置。
根据本文描述的一个或多个实施例,可以将不同数量的预留存储器装置以多通道和多通路结构联接到各个通道。基于存储器状态,可以从主存储器装置100a至100h或102a至102h中,或者可以从主存储器装置100a至100h或102a至102h以及预留存储器装置101a和101b或103a至103c中选择待执行写入操作的存储器装置。因此,当将不同数量的通路联接到不同通道时,可以尽可能有效地使用通道。
在图7和图16中示出了具有通过两个通道联接到存储器控制器的存储器装置的各个实施例。在其他实施例中,存储器装置可以通过多于两个的通道联接到存储器控制器。而且,在图7和图16中,四个主存储器装置被示出为联接到每个通道。在其他实施例中,可以将不同数量的存储器装置联接到每个通道。
图17是示出图1所示的存储器控制器的另一实施例的示图。参照图17,存储器控制器1000联接到主机和存储器装置,并且被配置为响应于来自主机的请求来访问一个或多个存储器装置。例如,存储器控制器1000可以被配置成控制存储器装置的读取操作、编程操作、擦除操作和后台操作。存储器控制器1000可以被配置成用作存储器装置与主机之间的接口,并且可以驱动用于控制(多个)存储器装置的固件。
存储器控制器1000可以包括处理器1010、存储器缓冲器1020、错误校正器1030、主机接口1040、缓冲器控制器1050、存储器接口1060和总线1070。总线1070可以被配置成在存储器控制器1000的组件之间提供通道。
处理器1010可以控制存储器控制器1000的总体操作并且可以执行逻辑运算。处理器1010可以通过主机接口1040与外部主机通信,并且可以通过存储器接口1060与存储器装置通信。而且,处理器1010可以通过缓冲器控制器1050与存储器缓冲器1020通信。处理器1010可以使用存储器缓冲器1020作为工作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。
处理器1010可以起到将逻辑块地址(LBA)转换成相应的物理块地址(PBA)的闪存转换层(FTL)的作用。例如,FTL可以使用映射表将LPA转换为相应的PBA。FTL可以使用几种地址映射方法,该方法可以使用一个或多个映射单元。可以使用的地址映射方法的示例包括页面映射方法、块映射方法和混合映射方法。
在一个实施例中,处理器1010可以被配置成使来自主机的数据随机化。例如,处理器1010可以使用随机化种子来使来自主机的数据随机化。然后,经随机化的数据可以用作待存储到存储器装置并被编程在存储器单元阵列中的数据。处理器1010可以通过驱动软件或固件来执行随机化和去随机化。
可以将存储器缓冲器1020用作处理器1010的工作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010运行的代码和命令。存储器缓冲器1020可以存储由处理器1010处理的数据,并且可以是例如静态RAM(SRAM)或动态RAM(DRAM)。
错误校正器1030可以执行错误校正码(ECC)操作。例如,错误校正器1030可以对待通过存储器接口1060而被写入存储器装置的数据执行ECC编码。经ECC编码的数据可以通过存储器接口1060传送到存储器装置。错误校正器1030可以对通过存储器接口1060从存储器装置接收的数据执行ECC解码。在示例中,错误校正器1030可以作为存储器接口1060的组件被包括在存储器接口1060中。
主机接口1040可以在处理器1010的控制下与外部主机通信,并且可以使用各种通信方法、协议或接口中的至少一种与主机通信。示例包括:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
缓冲器控制器1050被配置为在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060可以在处理器1010的控制下与存储器装置通信,并且可以通过一个或多个通道与存储器装置通信命令、地址和数据。
存储器状态监控器210和写入操作控制器230(例如,图8所示)可以利用例如如图17所示的处理器1010和存储器缓冲器1020来实施。写入位置确定器231和命令生成器233(例如,如图9所示)可以利用图17所示的处理器1010来实施。另外,映射数据存储装置235(例如,如图9所示)可以利用图17所示的存储器缓冲器1020来实施。
在示例中,处理器1010可以使用存储器控制器1000中的非易失性存储器装置(例如,只读存储器(ROM))中存储的代码来控制存储器控制器1000的操作。在另一示例中,处理器1010可以通过存储器接口1060从存储器装置加载代码。
在示例中,存储器控制器1000的总线1070可以被划分为控制总线和数据总线。数据总线可以被配置为在存储器控制器1000中传输数据。控制总线可以被配置为在存储器控制器1000中传输诸如命令和地址的控制信息。数据总线和控制总线可以彼此分离,并且在一个实施例中可以不相互干扰或影响。数据总线可以联接到主机接口1040、缓冲器控制器1050、错误校正器1030和存储器接口1060。控制总线可以联接到主机接口1040、处理器1010、缓冲器控制器1050、存储器缓冲器1020和存储器接口1060。
图18是示出包括主机3100和SSD 3200的固态驱动器(SSD)系统3000的实施例的框图。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并且通过电源连接器3002接收电力PWR。SSD3200包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。在一个实施例中,SSD控制器3210可以用作存储器控制器(例如,图1所示的200)。
SSD控制器3210可以响应于来自主机3100的信号SIG来控制多个闪速存储器3221至322n。在示例中,信号SIG可以是基于主机3100和SSD 3200之间的接口的信号。信号SIG可以通过至少一种接口来定义,该至少一种接口的示例包括:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WI-FI、蓝牙和NVMe。
闪速存储器3221至322n中的每一个可以配置有如图2所示的存储器装置100,并且可以联接到多个通道CH1、CH2、……、和CHn。例如,闪速存储器3221至322n可以以如图7或图16中的多通道和多通路结构联接到SSD控制器3210。
辅助电源3230通过电源连接器3002联接到主机3100。当来自主机3100的电力供应不符合预定或期望的模式(例如,不平稳)时,辅助电源3230可以提供SSD 3200的电力。辅助电源3230可以位于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的非易失性存储器。
图19是示出用户系统的实施例的框图,该用户系统可以包括本文中所描述的存储装置的任意实施例。参照图19,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。应用处理器4100可以驱动包括在用户系统4000中的组件、操作系统(OS)、用户程序等。在示例中,应用处理器4100可以包括一个或多个控制器,用于控制用户系统4000中的组件、接口、图形引擎等。应用处理器4100可以被设置为片上系统(SoC)。
存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。例如,存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRM、DDR3SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器或诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。在示例中,应用处理器4100和存储器模块4200可以通过基于堆叠封装(PoP)进行封装而被设置为单个半导体封装。
网络模块4300可以与外部装置通信。在示例中,网络模块4300可以支持无线通信。示例包括:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、Wimax、WLAN、UWB、蓝牙和Wi-Fi。在示例中,网络模块4300可以在应用处理器4100中。
存储模块4400可以存储例如来自应用处理器4100的数据。在一个实施例中,存储模块4400可以将其中存储的数据传输到应用处理器4100。在示例中,存储模块4400可以利用非易失性半导体存储器装置来实施。示例包括相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存或具有三维结构的NAND闪存。在示例中,存储模块4400可以被设置为可移动驱动器,诸如用户系统4000的存储卡或外部驱动器。
在示例中,存储模块4400可以包括多个非易失性存储器装置,该多个非易失性存储器装置可以以参照图2描述的存储器装置的方式操作。存储模块4400可以以参照图1、图7或图16描述的存储装置的方式操作。存储模块4400中的多个非易失性存储器装置可以例如以参照图7或图16描述的多通道和多通路结构联接到应用处理器4100。
用户接口4500可以包括用于将数据或命令输入到应用处理器4100和/或用于将数据输出到外部装置的接口。用户接口4500的示例包括:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括用户输出接口,诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监控器。
根据前述实施例中的一个或多个,存储器控制器能够以多通道和多通路结构有效地执行数据存储操作。还提供了包括这种存储器控制器的存储装置。
虽然已经参考本公开的实施例示出并描述了本公开,但是本领域技术人员将理解的是,在不脱离如所附权利要求书及其等同方案所限定的本公开的精神和范围的情况下,可以在形式和细节上进行各种改变。因此,本公开的范围不应限于上述实施例,而是应当不仅由所附权利要求书、而且由其等同方案确定。
在上述实施例中,可以选择性地执行所有步骤或者可以省略部分步骤。在每个实施例中,不一定按照所描述的顺序执行操作,并且可重新布置这些操作。在本说明书和附图中公开的实施例仅是为了便于理解本公开的示例,而本公开不限于此。也就是说,对于本领域技术人员应显而易见的是,可以基于本公开的技术范围进行各种修改。
同时,已经在附图和说明书中描述了本公开的各种实施例。尽管这里使用了特定术语,但这些术语仅用于解释本公开的实施例。因此,本公开不限于上述实施例,在本公开的精神和范围内可以有许多变化。对于本领域技术人员应显而易见的是,除了本文所公开的实施例之外,还可以基于本公开的技术范围进行各种修改。这些实施例可以组合以形成另外的实施例。
Claims (18)
1.一种存储装置,包括:
多个第一存储器装置,对应于主数据区域;
多个第二存储器装置,对应于预留区域;以及
存储器控制器,通过第一通道和第二通道联接到所述第一存储器装置和所述第二存储器装置,
其中通过所述第一通道联接到所述存储器控制器的第一存储器装置的数量等于通过所述第二通道联接到所述存储器控制器的第一存储器装置的数量,
其中通过所述第一通道联接到所述存储器控制器的第二存储器装置的数量不同于通过所述第二通道联接到所述存储器控制器的第二存储器装置的数量,并且
其中所述存储器控制器基于所述第一存储器装置和所述第二存储器装置的存储器状态,在所述第一存储器装置和所述第二存储器装置之中选择待执行写入操作的存储器装置。
2.根据权利要求1所述的存储装置,其中所述存储器控制器包括:
存储器状态监控器,监控表示所述存储器状态的存储器状态信息;以及
写入操作控制器,基于所述存储器状态信息来选择待执行所述写入操作的存储器装置,并且将编程命令传送到所选择的存储器装置。
3.根据权利要求2所述的存储装置,其中所述存储器状态信息包括所述第一存储器装置中包括的存储块之中的空闲块的数量,并且其中所述写入操作控制器:
当所述空闲块的数量小于预定阈值时,在所述第一存储器装置和所述第二存储器装置之中选择待执行所述写入操作的存储器装置;并且
当所述空闲块的数量大于或等于所述阈值时,在所述第一存储器装置之中选择待执行所述写入操作的存储器装置。
4.根据权利要求2所述的存储装置,其中所述存储器状态信息包括所述第一存储器装置和所述第二存储器装置中存储的有效数据的大小,并且其中所述写入操作控制器:
当所述有效数据的大小大于预定阈值时,在所述第一存储器装置和所述第二存储器装置之中选择待执行所述写入操作的存储器装置;并且
当所述有效数据的大小小于或等于所述阈值时,在所述第一存储器装置之中选择待执行所述写入操作的存储器装置。
5.根据权利要求2所述的存储装置,其中所述存储器状态信息包括所述第一存储器装置中包括的存储块的代表擦除-写入计数值,并且其中所述写入操作控制器:
当所述代表擦除-写入计数值大于预定阈值时,在所述第一存储器装置和所述第二存储器装置之中选择待执行所述写入操作的存储器装置;并且
当所述代表擦除-写入计数值小于或等于所述阈值时,在所述第一存储器装置之中选择待执行所述写入操作的存储器装置。
6.根据权利要求5所述的存储装置,其中所述代表擦除-写入计数值是所述第一存储器装置中包括的所述存储块中的每一个的擦除-写入计数值的最大值、平均值、中位值和最小值中的一个。
7.一种存储器控制器,通过第一通道和第二通道联接到多个主存储器装置和多个预留存储器装置,所述存储器控制器包括:
存储器状态监控器,监控作为关于所述主存储器装置和所述预留存储器装置的当前状态的信息的存储器状态信息;以及
写入操作控制器,基于所述存储器状态信息,在所述多个主存储器装置和所述多个预留存储器装置之中选择待执行写入操作的存储器装置,其中分别通过所述第一通道和所述第二通道联接的主存储器装置的数量彼此相等,并且其中分别通过所述第一通道和所述第二通道联接的预留存储器装置的数量彼此不同。
8.根据权利要求7所述的存储器控制器,其中所述写入操作控制器包括:
写入位置确定器,基于所述存储器状态信息,通过选择待执行所述写入操作的存储器装置来生成表示待写入数据的位置的地址信息;以及
命令生成器,基于所述地址信息将编程命令传送到所选择的存储器装置。
9.根据权利要求8所述的存储器控制器,其中所述写入操作控制器进一步包括:映射数据存储装置,存储表示所述主存储器装置和所述预留存储器装置中存储的数据的逻辑地址-物理地址映射关系的映射数据,并且将所述映射数据提供给所述写入位置确定器,
其中所述命令生成器将对应于所述编程命令的映射更新数据传送到所述映射数据存储装置,并且
其中所述映射数据存储装置基于所述映射更新数据来更新所述映射数据。
10.根据权利要求9所述的存储器控制器,其中所述存储器状态信息包括所述主存储器装置中包括的存储块之中的空闲块的数量,并且其中所述写入位置确定器:
当所述空闲块的数量小于预定阈值时,在所述主存储器装置和所述预留存储器装置之中选择待执行所述写入操作的存储器装置;并且
当所述空闲块的数量大于或等于所述阈值时,在所述主存储器装置之中选择待执行所述写入操作的存储器装置。
11.根据权利要求9所述的存储器控制器,其中所述存储器状态信息包括所述主存储器装置和所述预留存储器装置中存储的有效数据的大小,并且其中所述写入位置确定器:
当所述有效数据的大小大于预定阈值时,在所述主存储器装置和所述预留存储器装置之中选择待执行所述写入操作的存储器装置;并且
当所述有效数据的大小小于或等于所述阈值时,在所述主存储器装置之中选择待执行所述写入操作的存储器装置。
12.根据权利要求9所述的存储器控制器,其中所述存储器状态信息包括所述主存储器装置中包括的存储块的代表擦除-写入计数值,并且其中所述写入位置确定器:
当所述代表擦除-写入计数值大于预定阈值时,在所述主存储器装置和所述预留存储器装置之中选择待执行所述写入操作的存储器装置;并且
当所述代表擦除-写入计数值小于或等于所述阈值时,在所述主存储器装置之中选择待执行所述写入操作的存储器装置。
13.根据权利要求12所述的存储器控制器,其中所述代表擦除-写入计数值是所述主存储器装置中包括的所述存储块中的每一个的擦除-写入计数值的最大值、平均值、中位值和最小值中的一个。
14.一种操作存储器控制器的方法,所述存储器控制器通过第一通道和第二通道联接到多个存储器装置,所述方法包括:
确定将对所述存储器装置执行写入操作;
基于所述多个存储器装置的存储器状态,在所述多个存储器装置之中选择待执行所述写入操作的存储器装置;并且
生成用于控制所选择的存储器装置以执行所述写入操作的编程命令,其中所述多个存储器装置包括对应于主数据区域的第一存储器装置和对应于预留区域的第二存储器装置,其中通过所述第一通道联接到所述存储器控制器的第一存储器装置的数量等于通过所述第二通道联接到所述存储器控制器的第一存储器装置的数量,并且其中通过所述第一通道联接到所述存储器控制器的第二存储器装置的数量不同于通过所述第二通道联接到所述存储器控制器的第二存储器装置的数量。
15.根据权利要求14所述的方法,其中基于所述多个存储器装置的存储器状态选择待执行所述写入操作的存储器装置包括:
参考所述第一存储器装置中包括的存储块之中的空闲块的数量;以及
当所述空闲块的数量小于预定阈值时,在所述第一存储器装置和所述第二存储器装置之中选择待执行所述写入操作的存储器装置,并且
当所述空闲块的数量大于或等于所述阈值时,在所述第一存储器装置之中选择待执行所述写入操作的存储器装置。
16.根据权利要求14所述的方法,其中基于所述多个存储器装置的存储器状态选择待执行所述写入操作的存储器装置包括:
参考所述多个存储器装置中存储的有效数据的大小;以及
当所述有效数据的大小大于预定阈值时,在所述第一存储器装置和所述第二存储器装置之中选择待执行所述写入操作的存储器装置,并且
当所述有效数据的大小小于或等于所述阈值时,在所述第一存储器装置之中选择待执行所述写入操作的存储器装置。
17.根据权利要求14所述的方法,其中基于所述多个存储器装置的存储器状态选择待执行所述写入操作的存储器装置包括:
参考所述第一存储器装置中包括的存储块的代表擦除-写入计数值;以及
当所述代表擦除-写入计数值大于预定阈值时,在所述第一存储器装置和所述第二存储器装置之中选择待执行所述写入操作的存储器装置,并且
当所述代表擦除-写入计数值小于或等于所述阈值时,在所述第一存储器装置之中选择待执行所述写入操作的存储器装置。
18.根据权利要求17所述的方法,其中所述代表擦除-写入计数值是所述第一存储器装置中包括的所述存储块中的每一个的擦除-写入计数值的最大值、平均值、中位值和最小值中的一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0046868 | 2020-04-17 | ||
KR1020200046868A KR20210128780A (ko) | 2020-04-17 | 2020-04-17 | 메모리 컨트롤러 및 이를 포함하는 저장 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535079A true CN113535079A (zh) | 2021-10-22 |
CN113535079B CN113535079B (zh) | 2024-01-26 |
Family
ID=78081634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110184103.8A Active CN113535079B (zh) | 2020-04-17 | 2021-02-10 | 存储器控制器以及具有存储器控制器的存储装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11543998B2 (zh) |
KR (1) | KR20210128780A (zh) |
CN (1) | CN113535079B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116555A (zh) * | 2021-11-26 | 2022-03-01 | 锐宸微(上海)科技有限公司 | 直接存储器访问电路、操作方法及存取指令的产生方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220108342A (ko) * | 2021-01-27 | 2022-08-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 내 프리 블록을 확보하는 장치 및 방법 |
KR102385572B1 (ko) * | 2021-11-02 | 2022-04-13 | 삼성전자주식회사 | 컨트롤러, 스토리지 장치 및 스토리지 장치의 동작 방법 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101351760A (zh) * | 2005-12-30 | 2009-01-21 | 科潘系统公司 | 用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统 |
CN101903866A (zh) * | 2007-11-21 | 2010-12-01 | 提琴存储器公司 | 非易失存储介质中的数据存储的方法和系统 |
CN102915207A (zh) * | 2011-08-01 | 2013-02-06 | 建兴电子科技股份有限公司 | 固态储存装置及其数据储存方法 |
US20140189210A1 (en) * | 2012-12-31 | 2014-07-03 | Alan Welsh Sinclair | Memory system having an unequal number of memory die |
US20150113203A1 (en) * | 2013-10-18 | 2015-04-23 | Sandisk Enterprise Ip Llc | Device and Method for Managing Die Groups |
CN105531682A (zh) * | 2014-08-15 | 2016-04-27 | 联发科技股份有限公司 | 管理多通道存储设备以具有改进的通道切换响应时间的方法及相关的存储控制系统 |
US20170109050A1 (en) * | 2010-09-24 | 2017-04-20 | Kabushiki Kaisha Toshiba | Memory system having a plurality of writing modes |
US20180081594A1 (en) * | 2016-09-19 | 2018-03-22 | Samsung Electronics Co., Ltd. | Storage device and method of operating the same |
CN109710189A (zh) * | 2018-12-26 | 2019-05-03 | 杭州华澜微电子股份有限公司 | 一种数据存储管理方法及装置 |
CN111009277A (zh) * | 2018-10-04 | 2020-04-14 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9158700B2 (en) | 2012-01-20 | 2015-10-13 | Seagate Technology Llc | Storing cached data in over-provisioned memory in response to power loss |
US11169726B2 (en) * | 2018-09-13 | 2021-11-09 | Toshiba Memory Corporation | Pool-level storage management |
-
2020
- 2020-04-17 KR KR1020200046868A patent/KR20210128780A/ko active Search and Examination
- 2020-09-29 US US17/036,791 patent/US11543998B2/en active Active
-
2021
- 2021-02-10 CN CN202110184103.8A patent/CN113535079B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101351760A (zh) * | 2005-12-30 | 2009-01-21 | 科潘系统公司 | 用于在高电源效率的大容量可扩展存储系统中存取辅助数据的方法和系统 |
CN101903866A (zh) * | 2007-11-21 | 2010-12-01 | 提琴存储器公司 | 非易失存储介质中的数据存储的方法和系统 |
US20170109050A1 (en) * | 2010-09-24 | 2017-04-20 | Kabushiki Kaisha Toshiba | Memory system having a plurality of writing modes |
CN102915207A (zh) * | 2011-08-01 | 2013-02-06 | 建兴电子科技股份有限公司 | 固态储存装置及其数据储存方法 |
US20140189210A1 (en) * | 2012-12-31 | 2014-07-03 | Alan Welsh Sinclair | Memory system having an unequal number of memory die |
US20150113203A1 (en) * | 2013-10-18 | 2015-04-23 | Sandisk Enterprise Ip Llc | Device and Method for Managing Die Groups |
CN105531682A (zh) * | 2014-08-15 | 2016-04-27 | 联发科技股份有限公司 | 管理多通道存储设备以具有改进的通道切换响应时间的方法及相关的存储控制系统 |
US20180081594A1 (en) * | 2016-09-19 | 2018-03-22 | Samsung Electronics Co., Ltd. | Storage device and method of operating the same |
CN111009277A (zh) * | 2018-10-04 | 2020-04-14 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN109710189A (zh) * | 2018-12-26 | 2019-05-03 | 杭州华澜微电子股份有限公司 | 一种数据存储管理方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114116555A (zh) * | 2021-11-26 | 2022-03-01 | 锐宸微(上海)科技有限公司 | 直接存储器访问电路、操作方法及存取指令的产生方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113535079B (zh) | 2024-01-26 |
US20210326061A1 (en) | 2021-10-21 |
US11543998B2 (en) | 2023-01-03 |
KR20210128780A (ko) | 2021-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11543984B2 (en) | Memory controller, storage device and operating method thereof | |
US11256614B2 (en) | Memory controller for allocating logical address and method of operating the same | |
CN110389720B (zh) | 存储装置及其操作方法 | |
CN113535079B (zh) | 存储器控制器以及具有存储器控制器的存储装置 | |
US11543986B2 (en) | Electronic system including host, memory controller and memory device and method of operating the same | |
CN113688066A (zh) | 存储器控制器及其操作方法 | |
US11194712B2 (en) | Memory controller and operating method for performing garbage collection operation in memory devices | |
CN112463664A (zh) | 存储装置及其操作方法 | |
CN112988049A (zh) | 存储装置及其操作方法 | |
CN112825062A (zh) | 存储器控制器及其操作方法 | |
CN114201414A (zh) | 存储装置及其操作方法 | |
CN114115708A (zh) | 存储装置及其操作方法 | |
CN113223573A (zh) | 存储器控制器及其操作方法 | |
CN110827873B (zh) | 存储器控制器 | |
CN114546252B (zh) | 存储设备及其操作方法 | |
CN113448892A (zh) | 存储器控制器及其操作方法 | |
CN111796962A (zh) | 存储装置以及存储装置的操作方法 | |
CN112445420B (zh) | 存储控制器、存储装置以及操作该存储装置的方法 | |
US11269767B2 (en) | Memory controller and operating method thereof | |
CN114078524A (zh) | 存储器装置和该存储器装置的操作方法 | |
CN114300021A (zh) | 存储装置及其操作方法 | |
CN113555054A (zh) | 存储装置及其操作方法 | |
CN112306386B (zh) | 存储装置及其操作方法 | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same | |
CN113448501A (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 |