CN112346656A - 控制器及其操作方法 - Google Patents
控制器及其操作方法 Download PDFInfo
- Publication number
- CN112346656A CN112346656A CN202010540226.6A CN202010540226A CN112346656A CN 112346656 A CN112346656 A CN 112346656A CN 202010540226 A CN202010540226 A CN 202010540226A CN 112346656 A CN112346656 A CN 112346656A
- Authority
- CN
- China
- Prior art keywords
- block
- replacement
- replacement block
- controller
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/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
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
-
- 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/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
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种用于操作控制器的方法,该控制器控制存储器装置。该方法包括:用替换块替换超级块的坏块以形成再生超级块;控制存储器装置根据交错方案对再生超级块执行编程操作;当对再生超级块的编程操作完成时,将替换块中存储的数据移动到伪替换块;以及从再生超级块释放替换块。
Description
相关申请的交叉引用
本申请要求于2019年8月8日提交的申请号为10-2019-0096793的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
本发明的各个实施例涉及一种控制存储器装置和管理超级块以提高编程操作的性能的控制器。
背景技术
计算机环境范例已经转变成使计算***能够随时随地使用的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器***来存储数据。存储器***可以用作便携式电子装置的主存储器装置或辅助存储器装置。
由于存储器***没有移动部件,因此它们提供诸如优异的稳定性和耐用性、高信息访问速度和低功耗的优点。具有这些优点的存储器***的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡和固态驱动器(SSD)。
发明内容
本发明的实施例涉及一种可通过利用较少替换块在存储器装置再生超级块来提高编程操作的性能的控制器,以及一种用于操作控制器的方法。
根据本发明的实施例,一种用于操作控制器的方法,控制器控制存储器装置,该方法包括:用替换块替换超级块的坏块以形成再生超级块;控制存储器装置根据交错方案对再生超级块执行编程操作;当对再生超级块的编程操作完成时,将替换块中存储的数据移动到伪替换块;以及从再生超级块释放替换块。
根据本发明的实施例,一种控制存储器装置的控制器包括:超级块管理器,适于用替换块替换超级块的坏块以形成再生超级块;命令调度器,适于控制存储器装置根据交错方案对再生超级块执行编程操作;以及后台操作控制器,适于当对再生超级块的编程操作完成时,将替换块中存储的数据移动到伪替换块,其中超级块管理器从再生超级块释放替换块。
根据本发明的实施例,一种控制存储器装置的方法,存储器装置包括第一正常块和第二正常块以及具有坏块和其它块的组,该方法包括:控制存储器装置根据交错方案将数据存储到其它块和第一正常块中而不是坏块中;以及控制存储器装置将数据从第一正常块移动到第二正常块,其中其它块和坏块属于存储器装置中的不同平面,其中坏块和第一正常块属于相同平面,并且其中第一正常块和第二正常块属于不同平面。
附图说明
图1是示意性地示出根据本发明的实施例的存储器***的框图。
图2是示出根据本发明的实施例的存储器***的框图。
图3是示出在存储器装置中包括的存储器单元阵列电路的框图。
图4至图5D示出据本发明的实施例的存储器***的操作。
具体实施方式
下面将参照附图更详细地描述本发明的各个实施例。然而,本发明可以以不同的形式来实施,并且不应被解释为仅限于本文中阐述的实施例。相反,提供这些实施例使本公开是彻底且完整的,并且将本发明的范围全面地传达给本领域技术人员。在整个公开中,相同的附图标记在本发明的各个附图和实施例中始终表示相同的部件。
在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅指一个实施例,并且对任何这种短语的不同参考不一定指代相同的实施例。而且,除非说明或者上下文清楚地指示仅指一个,否则与元件或操作相关的不定冠词,即“一”或“一个”的使用旨在表示一个或多个。类似地,诸如“包含”、“包括”等术语以开放式意义使用,意味着不排除未说明项。考虑到这一点,下面将参照附图更详细地描述本发明的实施例。
图1是示意性地示出根据实施例的存储器***110的示例的示图。
存储器***110可以响应于主机的请求操作以为主机102存储数据。存储器***110的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用串行总线(USB)装置、通用闪存(UFS)装置、紧凑型闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可以包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型MMC等等。SD卡可以包括迷你SD卡和微型SD卡。
存储器***110可以通过各种类型的存储装置中的任意一种来实施。这种存储器装置的示例包括但不限于诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置以及诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和闪速存储器的非易失性存储器装置。闪速存储器可以具有3维(3D)堆叠结构。
存储器装置150可以为主机102存储数据,并且控制器130可以控制数据在存储器装置150中的存储。
控制器130和存储器装置150可集成到单个半导体装置中。例如,控制器130和存储器装置150可以集成为一个半导体装置以构成固态驱动器(SSD)。当存储器***110用作SSD时,可以提高连接到存储器***110的主机102的操作速度。在另一实施例中,控制器130和存储器装置150可以集成为一个半导体装置以构成存储卡,诸如个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体(SM)卡、存储棒、包括尺寸减小的MMC(RS-MMC)和微型MMC的多媒体卡(MMC)、包括迷你SD卡、微型SD卡和SDHC卡的安全数字(SD)卡或通用闪存(UFS)装置。
存储器***110的非限制性应用示例包括计算机、超级移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航***、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储器装置、能够在无线环境中传送/接收信息的装置、构成家庭网络的各种电子装置中的一个、构成计算机网络的各种电子装置中的一个、构成远程信息处理网络的各种电子装置中的一个、射频识别(RFID)装置、或构成计算***的各种组件中的一个。
换言之,控制器130可以响应于来自主机102接收的请求来控制存储器装置150。控制器130可以执行作为与从主机102接收的请求相对应的命令操作的前台操作。控制器130可以控制存储器装置的读取操作、编程操作、擦除操作。
存储器装置150可以包括闪速存储器。闪速存储器可以将数据存储在包括存储器单元晶体管的存储器单元阵列中。闪速存储器可以具有存储器管芯、平面、存储块和页面的分层结构。
一个存储器管芯每次可以接收一个命令。闪速存储器可以包括多个存储器管芯。一个存储器管芯可以包括多个平面,并且多个平面可以并行处理存储器管芯接收的命令。每个平面可以包括多个存储块。参照图2详细描述了存储器管芯平面-存储块的分层结构。
存储块可以是擦除操作的最小单位。一个存储器块可以包括多个页面。每个页面可以包括多个存储器单元,并且可以是写入操作的最小单位。参照图3详细描述了存储块-页面-存储器单元的分层结构。
同时,多个平面可以单独地并行操作。控制器130可以根据交错方案将命令提供到各个平面。存储器装置150的平面可以响应于命令同时执行操作,诸如读取操作、编程操作或擦除操作。控制器130可以通过对可并行编程数据的存储块进行逻辑分组来形成超级块。
图1示出包括第一至第四平面PLANE1至PLANE4的存储器装置150。在图1的示例中,控制器130可以通过对具有相同偏移的第一至第四平面中的块进行逻辑分组来形成第一至第四超级块SUPERBLOCK1至SUPERBLOCK4。
SUPERBLOCK1可以包括坏块,坏块可以是不能正常存储数据的有缺陷存储块。坏块可能由于存储器装置150的制造阶段期间的缺陷出现或者可能在存储器装置150的使用期间出现。与超级块没有坏块时相比,当超级块包括坏块时根据交错方案的超级块中的编程操作的性能可能更低。这是因为,例如当在SUPERBLOCK1中执行编程操作时,仅在三个平面中而不在包括坏块的PLANE4中执行编程操作。
控制器130可以通过用属于与坏块的平面相同的平面的替换块(即,保留块)替换坏块来形成再生超级块,以便提高包括坏块的超级块的编程操作性能。存储器装置150可以包括替换块池REPLACEMENT_POOL,该替换块池包括每个平面的替换块。控制器130可以通过用REPLACEMENT_POOL的第四平面中的替换块替换SUPERBLOCK1的第四平面的坏块来形成第一再生超级块。控制器130可以将形成第一再生超级块的信息存储在内部存储器中。
在图1的示例中,第三超级块SUPERBLOCK3也可以包括坏块。控制器130可以用坏块所属的PLANE4中的替换块替换坏块,以形成第三再生超级块。
根据本发明的实施例,当控制器130使用包括坏块的超级块时,控制器可以临时形成再生超级块。例如,参照图1,控制器130可以通过用替换块替换SUPERBLOCK1的坏块来形成第一再生超级块。控制器130可以根据交错方案对第一再生超级块执行编程操作。当第一再生超级块的编程操作完成时,控制器130可以将数据从替换块移动到一个或多个伪替换块中。伪替换块指示存储从替换块移动的数据的存储块。在本文中,伪替换块可以存储从替换块移动的数据。控制器130可以从第一再生超级块释放替换块。释放的替换块可以被用于通过更换SUPERBLOCK3的坏块来形成第三再生的超级块。
根据本发明的实施例,控制器130可以根据交错方案对再生超级块执行编程操作,该再生超级块通过用替换块替换坏块由具有坏块的超级块临时形成。在对再生超级块的编程操作完成后,可以将数据从替换块移动到伪替换块,替换块可以从再生超级块释放,并且返回到替换块池。
如果临时形成再生超级块,则替换块可以在替换一个坏块之后替换另一坏块。因此,通过在存储器装置150中使用比坏块更少的替换块,控制器130可以以交错方案将数据编程到包括坏块的所有超级块中。
将数据从替换块移动到伪替换块中的操作可以作为后台操作由控制器130执行。因此,控制器130可以通过使用少量的替换块为用户提供提高的编程操作性能。
图2是示出根据本发明的实施例的存储器***110的框图。图2中所示的存储器***110中的控制器130和存储器装置150可以对应于参照图1描述的控制器130和存储器装置150。
存储器装置150可以是非易失性存储器装置,并且即使在不供电时也可以保留所存储的数据。存储器装置150可以存储通过写入操作从主机提供的数据,并且通过读取操作向主机提供在存储器装置150中存储的数据。
根据本发明的实施例,存储器装置150可以为非易失性存储器,诸如闪速存储器,例如NAND闪速存储器。然而,在另一实施例中,存储器装置150可以被实现为相变随机存取存储器(PCRAM)、电阻式随机存取存储器(ReRAM)、铁电随机存取存储器(FRAM)以及自旋转移力矩磁性随机存取存储器(STT-MRAM)中的任意一个。
存储器装置150可以包括多个存储器管芯,例如,DIE1和DIE2。在图2的示例中,DIE1和DIE2可以通过通道CH联接到控制器130。DIE1和DIE2中的每一个都可以包括一个或多个平面。存储器管芯可以通过该存储器管芯所联接的通道从控制器130接收命令,并且将命令传送到该存储器管芯中的平面。本发明不限于图2所示的存储器装置150的特定配置。特别地,存储器装置150可以包括任何合适数量的存储器管芯和每个管芯的平面数量。也可使用任何合适的通道结构。
控制器130每次可以通过一个通道仅提供一个命令。然而,顺序地接收命令的平面可以同时操作。根据交错方案,控制器130可以控制PLANE1至PLANE4并行操作以提高存储器装置150的性能。
控制器130可以通过对可以被并行编程的存储块进行逻辑分组来形成超级块152。
存储器装置150可以用替换块替换超级块内的坏块,以便使该超级块的编程性能最大化。
在本发明的实施例中,控制器130可以选择属于与坏块相同的平面的正常块之中的存储块作为替换块。
在本发明的实施例中,控制器130可以形成替换块池154,从替换块池154选择存储器装置150中的正常块之中的保留块。图2示出替换块池154,该替换块池154可以包括针对每个平面的设定数量的替换块。可以改变替换块池154中的替换块。例如,变为坏块的替换块可以从替换块池154中移除,并且用另一替换块替换替换块以保持替换块的数量。
控制器130可以包括主机接口(I/F)132、处理器134、存储器I/F 136和存储器138。
主机I/F 132可以被配置为处理来自主机102的请求和数据,并且可以通过诸如下列的各种接口协议中的一个或多个与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速***组件互连(PCI-e或PCIe)、小型计算机***接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小磁盘接口(ESDI)和/或电子集成驱动器(IDE)。
主机I/F 132可以通过被称为主机接口层(HIL)的固件来驱动,以便与主机交换数据。
处理器134可以控制存储器***110的全部操作。处理器134可以驱动固件以控制存储器***110的全部操作。固件可以被称为闪存转换层(FTL)。而且,处理器134可以被实现为微处理器或中央处理单元(CPU)。
例如,控制器130可以通过处理器134执行主机102请求的操作。控制器130可以执行作为与从主机102接收的请求相对应的命令操作的前台操作。例如,从主机接收的请求可以包括读取请求和写入请求。
处理器134可以驱动超级块管理器202、命令调度器204和后台操作控制器206。例如,超级块管理器202、命令调度器204和后台操作控制器206可以包括在由处理器134驱动的闪存转换层中。
超级块管理器202可以通过用替换块替换超级块中的坏块形成再生超级块,以便使超级块的编程性能最大化。超级块管理器202可以在再生超级块的编程操作完成时,从再生超级块释放替换块,并且将数据从替换块移到伪替换块中。例如,在释放替换块时,超级块管理器202可以将替换块返回到替换块池154。在释放替换块之后,再生超级块可能不再存在。
命令调度器204可以将包括逻辑地址的请求转换为包括物理地址的命令。命令调度器204可以通过参考在控制器130中存储的映射表(未示出)分配针对与请求一起提供的逻辑地址的物理地址。命令调度器204可以更新映射表中的逻辑地址和物理地址之间的映射信息。
命令调度器204可以调度与请求相对应的多个命令,使得存储器装置150根据交错方案操作。例如,命令调度器204可以分别分配平面的、针对与请求一起提供的逻辑地址的物理地址,使得可以在平面中执行与命令相对应的操作。
例如,命令调度器204可以将与写入请求相对应的连续逻辑地址映射到平面PLANE1至PLANE4的物理地址。命令调度器204可以通过联接到平面PLANE1至PLANE4的通道为这些平面提供编程命令。
后台操作控制器206可以对存储器装置150执行后台操作。例如,对存储器装置150的后台操作可以包含垃圾收集(GC)操作、损耗均衡(WL)操作、映射清除(flush)操作和/或坏块管理操作。后台操作控制器206可以控制存储器装置150执行将数据从替换块移动到伪替换块的后台操作。
存储器I/F 136可以用作接口连接控制器130与存储器装置150的存储器/存储装置接口,使得控制器130响应于来自主机102的请求控制存储器装置150。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,存储器I/F 136可以在处理器134的控制下生成针对存储器装置150的控制信号并且处理提供到存储器装置150的数据。存储器I/F 136可以作为用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)工作。具体地,存储器I/F 136可以支持控制器130与存储器装置150之间的数据传送。
存储器I/F 136可以通过称为闪存接口层(FIL)的固件来驱动以便与存储器装置150交换数据。
存储器138可以用作存储器***110和控制器130的工作存储器,并且存储用于驱动存储器***110和控制器130的数据。控制器130可以控制存储器装置150以响应于来自主机102的请求执行读取操作、编程操作及擦除操作。控制器130可以将从存储器装置150读取的数据提供到主机102,可以将从主机102提供的数据存储到存储器装置150中。存储器138可以存储控制器130和存储器装置150执行这些操作所需的数据。作为示例,存储器138可以存储映射表。
存储器138可以由易失性存储器来实施。例如,存储器138可以由静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。存储器138可以设置在控制器130内部或外部。图1例示了设置在控制器130内部的存储器138。在另一实施例中,存储器138可以由外部易失性存储器来实施,该外部易失性存储器具有在存储器138和控制器130之间传送数据的存储器接口。
存储器138可以包括存储用于执行主机和存储器装置150之间的诸如写入操作和读取操作的数据的缓冲器、高速缓存、队列等。
存储器138可以存储超级块信息208和替换块信息210。
超级块信息208可以包括表示形成超级块的存储块中的每个是正常块还是坏块的信息。
替换块信息210可以包括表示每个替换块替换哪个坏块的信息。
超级块管理器202可以基于超级块信息208确定待使用的超级块是否包括坏块。超级块管理器202可以通过参考替换块信息210搜索与坏块的平面相同的平面的可用替换块。根据本发明的实施例,超级块管理器202可以在相同平面的所有存储块中搜索可用替换块,或在替换块池154中搜索可用替换块。超级块管理器202可以用搜索中识别的可用替换块替换坏块。
图3是示出存储器装置150中的存储器块的存储器单元阵列配置的电路示例。
参照图3,可以对应于存储器***110的存储器装置150中包括的多个存储块152到156中的任意一个的存储块330可以包括联接到多个相应位线BL0至BLm-1的多个单元串340。每一列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极选择晶体管DST与源极选择晶体管SST之间,多个存储器单元或存储器单元晶体管MC0至MCn-1可以串联联接。在实施例中,存储器单元MC0至MCn-1中的每个可以由能够存储多位数据信息的MLC来实施。单元串340中的每个可以电联接到多个位线BL0到BLm-1之中的相应位线。例如,如图3中所示,第一单元串联接到第一位线BL0,并且最后单元串联接到最后位线BLm-1。作为参考,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,以及“CSL”表示共源线。
虽然图3示出NAND闪速存储器单元,但本发明不限于此方式。注意的是,存储器单元可以是NOR闪速存储器单元,或包括所组合的两种或更多种类型的存储器单元的混合闪速存储器单元。而且,注意的是,存储器装置150可以是包括导电浮栅作为电荷存储层的闪速存储器装置或包括绝缘层作为电荷存储层的电荷撷取闪速(CTF)存储器装置。
存储器装置150可以进一步包括电压供应装置310,该电压供应装置310根据操作模式提供包括编程电压、读取电压和通过电压的字线电压以提供给字线。电压供应装置310的电压生成操作可以由控制电路(未示出)控制。在控制电路的控制下,电压供应装置310可以选择存储器单元阵列的存储块(或扇区)中的一个,选择被选择存储块的字线中的一个,并且根据需要将字线电压提供到被选择字线和未选择字线。
存储器装置150可以包括由控制电路控制的读取和写入(读取/写入)电路320。在验证/正常读取操作期间,读取/写入电路320可以作为用于从存储器单元阵列读取数据的读出放大器来操作。在编程操作期间,读取/写入电路320可以作为用于根据待存储在存储器单元阵列中的数据驱动位线的写入驱动器来操作。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待存储到存储器单元阵列中的数据,并且基于接收的数据驱动位线。读取/写入电路320可以包括分别与列(或位线)或列对(或位线对)相对应的多个页面缓冲器322至326,并且页面缓冲器322至326中的每个可以包括多个锁存器(未示出)。
图4至图5D示出根据本发明的实施例的存储器***110的操作。
图4是示出存储器***110的操作的流程图。图5A至5D示出了存储器装置150的平面的一些存储块。
参照图4,在步骤S402,超级块管理器202可以通过用替换块替换坏块来形成再生超级块。
在图5A至5D的示例中,假设控制器130使用第一超级块SUPERBLOCK1来存储数据。超级块管理器202可以通过参考超级块信息208确定SUPERBLOCK1是否包括坏块。如图5A至图5D所示,SUPERBLOCK1可以包括PLANE3中的第一坏块158。在图5B至5D中,阴影的存储块表示存储数据的存储块。
超级块管理器202可以用替换块池154内的当前可用并且属于PLANE3的第一替换块160替换第一坏块158,如替换块信息210所示。图5A示出超级块管理器202通过用第一替换块160替换第一坏块158生成的第一再生超级块156。超级块管理器202可以更新第一再生超级块156中的、反映第一替换块160替换第一坏块158的替换块信息210。
在步骤S404中,命令调度器204可以将编程命令提供到多个平面,即PLANE1至PLANE4,以便根据交错方案将数据编程到再生超级块。
图5B示出在包括第一替换块160的第一再生超级块156中完成编程操作的状态。在图5B的示例中,即使SUPERBLOCK1包括坏块158,存储器***110也可以通过形成第一再生超级块156并且对第一再生超级块156执行编程操作使编程操作的并行处理性能最大化。
在步骤S406中,后台操作控制器206可以将数据从替换块移动到伪替换块。例如,后台操作控制器206可以控制存储器装置150将数据从替换块编程到一个或多个伪替换块中并且擦除替换块。
在图5C的示例中,后台操作控制器206可以配置包括多个伪替换块的超级块,例如SUPERBLOCK2。可以将来自第一替换块160的数据移动到SUPERBLOCK2内的伪替换块。可以在存储器装置150的空闲状态下执行,或者可以在没有足够替换块来形成再生超级块时执行步骤S406的操作。
在图5D的示例中,后台操作控制器206可以确定一个存储块作为伪替换块。后台操作控制器206可以将与包括坏块和替换块的平面不同的平面中的存储块确定为伪替换块。可以将来自第一替换块160的数据移动到SUPERBLOCK2的存储块之中的PLANE1的存储块。
在步骤S408中,超级块管理器202可以从再生超级块释放替换块160,并且返回到替换块池154。
在图5C和图5D的示例中,在释放替换块160时,超级块管理器202可以更新替换块信息210以反映第一替换块160不再替换任何坏块。在被释放并返回到替换块池154之后,可以使用第一替换块160稍后替换另一超级块的坏块。
如上所述,超级块管理器202可以在将数据编程到包括坏块的超级块中时,通过使用替换块临时形成再生超级块,并且可在编程完成时释放替换块。因此,超级块管理器202可以通过选择性地仅替换目标超级块的坏块来提高编程性能;因此,可以仅用几个替换块来完成这种选择性替换。
如上所述,当超级块管理器202替换坏块时,更多的存储块可以保存并且用于(或可用于)其它目的。即使当超级块管理器202仅使用几个替换块时,在再生超级块的编程操作期间,也可以使并行处理性能最大化。例如,所保存的存储块可以用在过度配置区域(overprovisioning area)中。当过度配置区域足够时,可以提高存储器***110的后台操作性能。因此,根据本发明的实施例,可以提高存储器***110的前台操作和后台操作的性能。
根据本发明的实施例,控制器以及其操作方法可以通过用较少的替换块在存储器装置中再生超级块来提高编程操作的性能。
虽然已经参照具体实施例对本发明进行了说明和描述,但是本领域技术人员根据本公开内容显而易见的是,可以在不脱离所附权利要求中限定的本发明的精神和范围的情况下进行各种变化和修改。
Claims (17)
1.一种操作控制器的方法,所述控制器控制存储器装置,所述方法包括:
用替换块替换超级块的坏块以形成再生超级块;
控制所述存储器装置根据交错方案对所述再生超级块执行编程操作;
当对所述再生超级块的编程操作完成时,将所述替换块中存储的数据移动到伪替换块;以及
从所述再生超级块释放所述替换块。
2.根据权利要求1所述的方法,其中所述移动包括:
控制所述存储器装置将所述替换块中存储的所述数据编程到所述伪替换块;以及
控制所述存储器装置擦除所述替换块。
3.根据权利要求1所述的方法,其中所述移动作为后台操作而执行。
4.根据权利要求3所述的方法,进一步包括:
检测所述存储器装置的空闲状态,
其中基于所述检测的结果来执行所述移动。
5.根据权利要求3所述的方法,进一步包括:
从多个候选替换块中识别用于替换所述坏块的所述替换块,
其中基于所述识别来执行所述替换块中存储的数据到与所述替换块不同的所述伪替换块的移动。
6.根据权利要求5所述的方法,其中所述识别包括:
确定所识别的替换块是否属于与所述坏块的平面相同的平面。
7.根据权利要求1所述的方法,其中所述控制包括:
将与外部请求一起提供的逻辑地址映射到形成所述再生超级块的存储块的物理地址;以及
将编程命令和数据提供到形成所述再生超级块的存储块。
8.根据权利要求1所述的方法,其中所述替换块和所述伪替换块属于不同平面。
9.一种控制存储器装置的控制器,所述控制器包括:
超级块管理器,用替换块替换超级块的坏块以形成再生超级块;
命令调度器,控制存储器装置根据交错方案对所述再生超级块执行编程操作;以及
后台操作控制器,当对所述再生超级块的编程操作完成时,将所述替换块中存储的数据移动到伪替换块,
其中所述超级块管理器从所述再生超级块释放所述替换块。
10.根据权利要求9所述的控制器,其中所述后台操作控制器通过控制所述存储器装置将所述替换块中存储的所述数据编程到所述伪替换块并且擦除所述替换块来将所述替换块中存储的数据移动到所述伪替换块。
11.根据权利要求9所述的控制器,其中所述后台操作控制器基于检测所述存储器装置的空闲状态的结果将所述替换块中存储的所述数据移动到所述伪替换块。
12.根据权利要求9所述的控制器,
其中超级块管理器进一步从多个候选替换块中识别所述替换块,并且
其中所述后台操作控制器基于所述识别的结果将所述替换块中存储的数据移动到所述伪替换块。
13.根据权利要求12所述的控制器,其中所述超级块管理器确定所述替换块是否属于与所述坏块的平面相同的平面。
14.根据权利要求9所述的控制器,所述命令调度器通过将与外部请求一起提供的逻辑地址映射到形成所述再生超级块的存储块的物理地址,并且将编程命令和数据提供到形成所述再生超级块的存储块来控制所述存储器装置根据交错方案对所述再生超级块执行编程操作。
15.根据权利要求9所述的控制器,进一步包括:
存储器,存储超级块信息和替换块信息。
16.根据权利要求15所述的控制器,其中所述超级块管理器通过基于所述超级块信息确定所述超级块是否包括坏块,在替换块池中检测所述替换块,以及用所述替换块替换所述坏块来形成所述再生超级块。
17.根据权利要求9所述的控制器,其中所述替换块和所述伪替换块属于不同平面。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0096793 | 2019-08-08 | ||
KR1020190096793A KR20210017481A (ko) | 2019-08-08 | 2019-08-08 | 컨트롤러 및 컨트롤러의 동작방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112346656A true CN112346656A (zh) | 2021-02-09 |
Family
ID=74358228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010540226.6A Withdrawn CN112346656A (zh) | 2019-08-08 | 2020-06-12 | 控制器及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11537483B2 (zh) |
KR (1) | KR20210017481A (zh) |
CN (1) | CN112346656A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023071117A1 (zh) * | 2021-10-27 | 2023-05-04 | 苏州浪潮智能科技有限公司 | 一种nand中坏块替换的方法、装置、设备及可读介质 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11281578B2 (en) | 2019-08-20 | 2022-03-22 | Micron Technology, Inc. | Garbage collection in a memory sub-system during a low battery state |
US20210055878A1 (en) * | 2019-08-20 | 2021-02-25 | Micron Technology, Inc. | Data compaction within the same plane of a memory component |
US11726869B2 (en) | 2019-08-20 | 2023-08-15 | Micron Technology, Inc. | Performing error control operation on memory component for garbage collection |
US11282567B2 (en) | 2019-08-20 | 2022-03-22 | Micron Technology, Inc. | Sequential SLC read optimization |
US11281392B2 (en) | 2019-08-28 | 2022-03-22 | Micron Technology, Inc. | Garbage collection in a memory component using an adjusted parameter |
US20220043588A1 (en) * | 2020-08-06 | 2022-02-10 | Micron Technology, Inc. | Localized memory traffic control for high-speed memory devices |
KR20220111485A (ko) * | 2021-02-02 | 2022-08-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US11669258B2 (en) * | 2021-04-27 | 2023-06-06 | Micron Technology, Inc. | Dynamic superblocks |
CN116755642B (zh) * | 2023-08-24 | 2023-10-27 | 四川云海芯科微电子科技有限公司 | 用于NAND Flash坏块的混合管理方法及装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4281398A (en) * | 1980-02-12 | 1981-07-28 | Mostek Corporation | Block redundancy for memory array |
EP0704803B1 (de) * | 1994-09-30 | 1997-03-05 | Alcatel SEL Aktiengesellschaft | Verfahren zur Speicherverwaltung eines Flash-Speichers |
US20050144516A1 (en) | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive deterministic grouping of blocks into multi-block units |
US8166233B2 (en) * | 2009-07-24 | 2012-04-24 | Lsi Corporation | Garbage collection for solid state disks |
US8417987B1 (en) * | 2009-12-01 | 2013-04-09 | Netapp, Inc. | Mechanism for correcting errors beyond the fault tolerant level of a raid array in a storage system |
US8447920B1 (en) * | 2010-06-29 | 2013-05-21 | Western Digital Technologies, Inc. | System and method for managing data access in non-volatile memory |
US8914670B2 (en) * | 2012-11-07 | 2014-12-16 | Apple Inc. | Redundancy schemes for non-volatile memory using parity zones having new and old parity blocks |
US9842024B1 (en) * | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
KR20140142035A (ko) * | 2013-06-03 | 2014-12-11 | 삼성전자주식회사 | 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작방법 |
US9812222B2 (en) * | 2015-04-20 | 2017-11-07 | Qualcomm Incorporated | Method and apparatus for in-system management and repair of semi-conductor memory failure |
US10540274B2 (en) | 2016-03-29 | 2020-01-21 | Micron Technology, Inc. | Memory devices including dynamic superblocks, and related methods and electronic systems |
TWI604373B (zh) * | 2016-12-13 | 2017-11-01 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
US10101942B1 (en) * | 2017-04-17 | 2018-10-16 | Sandisk Technologies Llc | System and method for hybrid push-pull data management in a non-volatile memory |
KR102533207B1 (ko) * | 2018-08-30 | 2023-05-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
KR20200042791A (ko) * | 2018-10-16 | 2020-04-24 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20200055281A (ko) * | 2018-11-13 | 2020-05-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20200068259A (ko) * | 2018-12-05 | 2020-06-15 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
KR20200072139A (ko) * | 2018-12-12 | 2020-06-22 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
US20200293213A1 (en) * | 2019-03-13 | 2020-09-17 | Commvault Systems, Inc. | Effecient verification of data blocks in deduplicated storage systems |
KR20210006129A (ko) * | 2019-07-08 | 2021-01-18 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
-
2019
- 2019-08-08 KR KR1020190096793A patent/KR20210017481A/ko not_active Application Discontinuation
-
2020
- 2020-04-01 US US16/837,794 patent/US11537483B2/en active Active
- 2020-06-12 CN CN202010540226.6A patent/CN112346656A/zh not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023071117A1 (zh) * | 2021-10-27 | 2023-05-04 | 苏州浪潮智能科技有限公司 | 一种nand中坏块替换的方法、装置、设备及可读介质 |
Also Published As
Publication number | Publication date |
---|---|
KR20210017481A (ko) | 2021-02-17 |
US20210042201A1 (en) | 2021-02-11 |
US11537483B2 (en) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11537483B2 (en) | Controller for managing superblocks and operation method thereof | |
CN109213705B (zh) | 存储装置及其操作方法 | |
KR102533207B1 (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
US11226895B2 (en) | Controller and operation method thereof | |
CN109992202B (zh) | 数据存储设备、其操作方法以及包括其的数据处理*** | |
KR20190106228A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR102559528B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
US20130311711A1 (en) | Nonvolatile memory device and program method thereof | |
US11537318B2 (en) | Memory system and operating method thereof | |
KR20190102781A (ko) | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 | |
CN110928805B (zh) | 存储器***及其操作方法 | |
US11113202B2 (en) | Operating method forcing the second operation to fail using a scatter-gather buffer and memory system thereof | |
US20220155995A1 (en) | Controller and operating method thereof | |
US20220171570A1 (en) | Memory system and operation method thereof | |
KR20200072139A (ko) | 메모리 시스템 및 그것의 동작방법 | |
KR20190078133A (ko) | 컨트롤러 및 그것의 동작방법 | |
KR20200079852A (ko) | 메모리 시스템 및 그것의 동작방법 | |
US10942667B2 (en) | Storage device having variable erase unit size and storage system including the same | |
KR101070511B1 (ko) | Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법 | |
KR20200121068A (ko) | 데이터 저장 장치 및 이의 동작 방법, 이를 위한 컨트롤러 | |
CN114968856B (zh) | 存储器***及其操作方法 | |
US11645008B2 (en) | Memory system and operating method thereof for controlling a multi-plane read operation | |
CN115543860A (zh) | 数据处理***及其操作方法 | |
KR20230049858A (ko) | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 | |
KR20220130526A (ko) | 메모리 시스템 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210209 |
|
WW01 | Invention patent application withdrawn after publication |