CN114077386A - 存储器系统及其包括的存储器控制器的操作方法 - Google Patents
存储器系统及其包括的存储器控制器的操作方法 Download PDFInfo
- Publication number
- CN114077386A CN114077386A CN202110369693.1A CN202110369693A CN114077386A CN 114077386 A CN114077386 A CN 114077386A CN 202110369693 A CN202110369693 A CN 202110369693A CN 114077386 A CN114077386 A CN 114077386A
- Authority
- CN
- China
- Prior art keywords
- memory
- metapage
- metadata
- layout
- request
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开涉及一种存储器系统,该存储器系统可以包括:一个或多个存储器装置,每个存储器装置包括用于存储数据的多个存储器单元;存储器,用于存储与所存储的数据相关联的元数据;以及存储器控制器,与存储器和一个或多个存储器装置通信,并且用于从存储器加载元数据,基于元数据、根据第一布局生成第一元页面,并且将第一元页面存储在存储器装置中。
Description
相关申请的交叉引用
本专利文件要求于2020年8月10日提交的、申请号为10-2020-0100162的韩国专利申请的优先权和权益,该韩国专利申请通过引用整体并入本文。
技术领域
所公开技术的各种实施方案总体上涉及一种存储器系统,并且更特别地,涉及一种存储器系统以及操作存储器系统中包括的存储器控制器的方法。
背景技术
存储装置是指被配置为永久或临时地存储数据的电子组件。每个存储装置可以包括一个或多个存储介质,以基于来自诸如计算机或智能电话的主机的请求来存储数据并且操作。存储装置可以包括用于存储数据的存储介质,并且可以进一步包括用于控制该存储介质以存储或检索数据的存储器控制器。可以基于存储介质的类型对存储装置进行分类。例如,将用作存储介质的存储器装置分类为易失性存储器装置和非易失性存储器装置。
易失性存储器装置可以仅在供应电力时存储数据。因此,这种易失性存储器装置在没有电力的情况下会丢失其数据。易失性存储器装置的示例包括静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。
非易失性存储器装置是即使在没有电力的情况下也可以保留其数据的存储器装置。非易失性存储器装置的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEROM)或闪速存储器。
发明内容
实施例提供了一种能够提高元数据的存储速度的存储器系统以及操作存储器系统中包括的存储器控制器的方法。
根据所公开技术的一个方面,提供了一种存储器系统,包括:一个或多个存储器装置,每个存储器装置包括用于存储数据的多个存储器单元;存储器,被配置为存储与所存储的数据相关联的元数据;以及存储器控制器,与存储器和一个或多个存储器装置通信,并且被配置为从存储器加载元数据,基于元数据、根据第一布局生成第一元页面,并且将第一元页面存储在存储器装置中。
存储器控制器可以从主机接收请求,并且响应于来自主机的请求,基于不同于第一布局的第二布局生成第二元页面。
根据所公开技术的另一方面,提供了一种操作存储器控制器的方法,该方法包括:从与存储器控制器通信的主机接收请求,该存储器控制器存储在运行时操作期间基于第一布局生成的第一元页面;响应于该请求,读取存储器中存储的元数据;通过划分元数据获得至少一个元切片;基于不同于第一布局的第二布局,生成包括至少一个元切片的第二元页面;并且将第二元页面存储在与存储器控制器通信的至少一个存储器装置中。
附图说明
现在将在下文中参照附图更充分地描述示例实施例;然而,它们可以以不同的形式实现,并且不应被解释为限于本文阐述的实施例。
在附图中,为了图示清楚,可能会放大尺寸。将理解的是,当元件被称为在两个元件之间时,它可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。在整个说明书中,相同的附图标记指代相同的元件。
图1是示出根据所公开技术的实施例的存储器系统的示图。
图2是示出在图1中所示的存储器控制器和存储器装置之间交换的信号的示图。
图3是详细示出图1所示的存储器装置的示图。
图4是示出图3所示的存储器单元阵列的实施例的示图。
图5是示出图4所示的存储块的示图。
图6是示出图4所示的存储块以三维配置的实施例的示图。
图7是示出图4所示的存储块以三维配置的另一实施例的示图。
图8是示出图1所示的存储器控制器的结构的框图。
图9是示出根据所公开技术的实施例的根据第一布局生成的元页面的示图。
图10是示出根据所公开技术的实施例的根据第二布局生成的元页面的示图。
图11是示出根据所公开技术的实施例的存储元页面的物理区域的示图。
图12是示出用于操作图1所示的存储器控制器的方法的示例性流程图。
图13是示出应用图1所示的存储器系统的存储卡的示图。
图14是示出应用图1所示的存储器系统的固态驱动器(SSD)系统的框图。
具体实施方式
本文所公开的具体结构或功能描述仅仅是说明性的,是为了描述根据所公开技术的概念的实施例。根据所公开技术的概念的实施例可以以各种形式实施,并且不能被解释为限于本文阐述的实施例。
图1是示出根据所公开技术的实施例的存储器系统的示图。
参照图1,存储器系统1000可以包括存储数据的存储器装置1100和/或基于来自主机2000的请求来控制存储器装置1100的存储器控制器1200。
主机2000可以通过使用诸如以下的各种通信方案中的至少一种与存储器系统1000通信:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)或减小负载的DIMM(LRDIMM)。
存储器装置1100可以被实施为在电力供应中断时数据消失的易失性存储器装置,或者即使在电力供应中断时仍保留数据的非易失性存储器装置。存储器装置1100可以在存储器控制器1200的控制下执行编程操作、读取操作或擦除操作。例如,在编程操作中,存储器装置1100可以接收从存储器控制器1200输入的命令、地址和数据,并且执行编程操作。在读取操作中,存储器装置1100可以接收从存储器控制器1200输入的命令和地址,并且将在与所输入的地址相对应的位置(例如,物理地址)处存储的数据输出到存储器控制器1200。存储器装置1100是完全执行了装置处理的单个集成芯片(IC),并且可以被指定为芯片或管芯。
存储器系统1000可以包括多个存储器装置1100,并且可以根据连接到存储器控制器1200的通道来将多个存储器装置分组为多个存储器装置组1300。例如,存储器装置之中的通过第一通道CH1连接到存储器控制器1200的存储器装置被指定为第一组GR1,并且存储器装置之中的通过第二通道CH2连接到存储器控制器1200的存储器装置被指定为第二组GR2。尽管图1中已经示出了一组包括多个存储器装置的情况,但是一个组可以包括单个存储器装置1100。
存储器控制器1200可以控制存储器系统1000的全部操作,并且控制主机2000和存储器装置1100之间的数据交换。例如,当从主机2000接收命令时,存储器控制器1200可以根据接收到的命令来控制连接到通道CH1至CHk中的每一个的存储器装置组1300。存储器控制器1200可以根据来自主机2000的请求,通过控制连接到每个通道的存储器装置组1300来编程、读取或擦除数据。
图2是示出在图1中所示的存储器控制器和存储器装置之间交换的信号的示图。
参照图2,存储器控制器1200和存储器装置1100可以通过输入/输出焊盘DQ来交换命令、数据和/或地址。例如,输入/输出焊盘DQ可以配置有8条线,以传输/接收8位数据,并且每条线可以传输/接收1位数据。
存储器装置1100可以通过CE#焊盘接收芯片使能信号,通过WE#焊盘接收写入使能信号,通过RE#焊盘接收读取使能信号,通过ALE焊盘接收地址锁存使能信号,通过CLE焊盘接收命令锁存使能信号,并且通过WP#焊盘接收写入保护信号。
地址锁存使能信号可以是存储器控制器1200指示存储器装置1100,以将通过输入/输出焊盘DQ提供到存储器装置1100的地址加载到地址寄存器的信号。芯片使能信号可以是存储器控制器1200指示存储器装置1100以便启用或停用一个或多个存储器装置的信号。命令锁存使能信号可以是存储器控制器1200指示存储器装置1100,以将通过输入/输出焊盘DQ提供到存储器装置1100的命令加载到命令寄存器的信号。读取使能信号可以是存储器控制器1200指示存储器装置1100以将数据传输到存储器控制器1200的信号。写入使能信号可以是用于通知传送了命令、地址和数据的信号。
存储器装置1100可以通过RB焊盘将就绪-忙碌信号输出到存储器控制器1200。就绪-忙碌信号可以指示存储器装置1100的存储器阵列是处于忙碌状态还是空闲状态。
尽管图2中已经示出了一个存储器装置110和存储器控制器1200之间的连接关系,但是输入/输出焊盘DQ、CE#焊盘、WE#焊盘、RE#焊盘、ALE焊盘、CLE焊盘和WP#焊盘可以形成通道CH1至CHk中的一个,并且存储器装置组1300中的一个可以通过所形成的通道连接到存储器控制器1200。
因此,当存储器控制器1200通过一个通道中包括的输入/输出焊盘DP传输命令、数据和/或地址时,属于连接到相应通道的组的所有存储器装置1100或在连接到相应通道的组中的、由存储器控制器1200选择的存储器装置1100可以接收命令、数据和/或地址。例如,存储器控制器1200可以通过与第一通道CH1相对应的输入/输出焊盘DQ将状态读取命令传输到存储器装置1100,并且连接到第一通道GR1的第一组GR1中的存储器装置中的至少一个可以响应于状态读取命令而将状态信息传输到输入/输出焊盘DQ。
图3是详细示出图1所示的存储器装置的示图。
存储器装置1100可以被实施为易失性存储器装置或非易失性存储器装置。例如,存储器装置1100可以是诸如动态随机存取存储器(DRAM)或静态RAM(SRAM)的易失性存储器装置和诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除ROM(EROM)、电可擦除ROM(EEROM)、铁磁ROM(FROM)、相变RAM(PRAM)、电阻式RAM(RRAM)或闪速存储器的非易失性存储器装置中的一种。在图3中,将以非易失性存储器装置作为示例进行说明。
存储器装置1100可以包括存储数据的存储器单元阵列100。存储器装置1100可以包括外围电路200,该外围电路200被配置为执行用于将数据存储在存储器单元阵列100中的编程操作、用于输出所存储的数据的读取操作以及用于擦除所存储的数据的擦除操作。存储器装置1100可以包括控制逻辑300,该控制逻辑300在存储器控制器1200的控制下控制外围电路200。
存储器单元阵列100包括存储数据的多个存储器单元。例如,存储器单元阵列100可以包括至少一个平面,并且平面可以包括一个或多个存储块。在实施例中,平面可以是在执行编程、读取或擦除操作时访问的存储器区域的单位。存储块中的每一个可以包括多个存储器单元。包括多个平面的结构可以被指定为多平面结构。存储器装置1100的操作所需的用户数据和信息可以存储在存储块中。可以以二维或三维结构来实施存储块。具有二维结构的存储块可以包括平行于衬底布置的存储器单元,并且具有三维结构的存储块可以包括垂直于衬底堆叠的存储器单元。
外围电路200可以被配置为在控制逻辑300的控制下执行编程、读取和擦除操作。例如,外围电路200可以包括电压生成电路210、行解码器220、页面缓冲器组230、列解码器240、输入/输出电路250和电流感测电路260。
电压生成电路210可以响应于从控制逻辑300输出的操作信号OP_CMD而生成用于编程操作、读取操作和擦除操作的各种操作电压Vop。例如,电压生成电路210可以在控制逻辑300的控制下生成诸如以下的各种电压:编程电压、验证电压、通过电压、读取电压和擦除电压。
行解码器220可以响应于从控制逻辑300输出的行地址RADD,将操作电压Vop供应到连接到存储器单元阵列100的存储块之中的所选择存储块的局部线LL。局部线LL可以包括局部字线、局部漏极选择线和/或局部源极选择线。另外,局部线LL可以包括连接到存储块的各种线,诸如源极线。
页面缓冲器组230可以连接到位线BL1至BLI,该位线BL1至BLI连接到存储器单元阵列100的存储块。页面缓冲器组230可以包括连接到位线BL1至BLI的多个页面缓冲器PB1至PBI。页面缓冲器BP1至BPI可以响应于从控制逻辑300输出的页面缓冲器控制信号PBSIGNALS而操作。例如,在读取或验证操作中,页面缓冲器PB1至PBI可以临时存储通过位线BL1至BLI接收的数据,或者感测位线BL1至BLI的电压或电流。
列解码器240可以响应于从控制逻辑300输出的列地址CADD,在输入/输出电路250和页面缓冲器组230之间传送数据。例如,列解码器240可以通过数据线DL与页面缓冲器PB1至PBI交换数据,或者通过列线CL与输入/输出电路250交换数据。
输入/输出电路250可以通过输入/输出焊盘DQ从控制器1200接收命令CMD、地址ADD和数据,并且通过输入/输出焊盘DQ将从存储器单元阵列100读取的数据输出到存储器控制器1200。例如,输入/输出电路250可以将从存储器控制器1200接收的命令CMD和地址ADD传送到控制逻辑300,或者与列解码器240交换数据DATA。
在读取操作或验证操作中,电流感测电路260可以响应于允许位VRY_BIT<#>而生成参考电流,并且通过将由参考电流生成的参考电压与从页面缓冲器组230接收的感测电压VPB进行比较来输出通过信号PASS或失败信号FAIL。
控制逻辑300可以响应于通过CE#、WE#、RE#、ALE、CLE和WP#焊盘接收的信号而接收命令CMD和地址ADD。控制逻辑300可以响应于控制逻辑300已经接收到命令CMD和地址ADD,生成外围电路200的控制信号并且将所生成的控制信号输出到外围电路200。例如,控制信号可以包括操作信号OP_CMD、行地址RADD、页面缓冲器控制信号PBSIGNALS和允许位VRY_BIT<#>中的至少一个。控制逻辑300可以将操作信号OP_CMD输出到电压生成电路210,将行地址RADD输出到行解码器220,将页面缓冲器控制信号PBSIGNALS输出到页面缓冲器组230,并且将允许位VRY_BIT<#>输出到电流感测电路260。而且,控制逻辑300可以响应于通过信号PASS或失败信号FAIL来确定验证操作已经通过还是失败。
图4是示出图3所示的存储器单元阵列的实施例的示图。
参照图4,存储器单元阵列100可以包括多个存储块BLK1至BLKz。每个存储块可以具有三维结构。每个存储块可以包括堆叠在衬底(未示出)上的多个存储器单元。多个存储器单元可以沿着+X、+Y和+Z方向布置。
图5是示出图4所示的存储块的示图。
参照图5,示例性地示出了图4所示的多个存储块BLK1至BLKz之中的第一存储块BLK1。其它存储块BLK2至BLKz可以具有与第一存储块BLK1相同的形式。
第一存储块BLK1可以包括连接在位线BL1至BLI与源极线SL之间的多个单元串ST。例如,单元串ST可以分别连接到位线BL1至BLI,并且可以共同连接到源极线SL。因为单元串ST被彼此相似地配置,所以将单元串ST之中连接到第一位线BL1的单元串ST作为示例进行描述。
单元串ST可以包括源极选择晶体管SST、第一至第n存储器单元Fl至Fn(n是正整数)以及漏极选择晶体管DST,它们在源极线SL和第一位线BL1之间彼此串联连接。源极和漏极选择晶体管SST和DST的数量不限于图5所示的数量。源极选择晶体管SST可以在源极线SL和第一存储器单元F1之间连接。第一至第n存储器单元F1至Fn可以在源极选择晶体管SST和漏极选择晶体管DST之间彼此串联连接。漏极选择晶体管DST可以在第n存储器单元Fn与第一位线BL1之间连接。尽管在附图中未示出,但是虚设单元可以进一步在存储器单元F1至Fn之间连接或在源极选择晶体管SST和漏极选择晶体管DST之间连接。
不同单元串ST中包括的源极选择晶体管SST的栅极可以连接到源极选择线SSL,不同单元串ST中包括的第一至第n存储器单元Fl至Fn的栅极可以连接到第一至第n字线WL1至WLn,并且不同单元串ST中包括的漏极选择晶体管DST的栅极可以连接到漏极选择线DSL。连接到字线WL1至WLn中的每一个的一组存储器单元可以被称为页面PG。例如,不同串中包括的存储器单元F1至Fn之中的连接到第一字线WL1的一组第一存储器单元F1可以成为一个物理页面PPG。可以以物理页面PPG为单位执行编程和读取操作。
图6是示出图4所示的存储块被三维配置的实施例的示图。
参照图6,示例性地示出了图4所示的多个存储块BLK1至BLKz之中的第一存储块BLK1。其它存储块BLK2至BLKz可以具有与第一存储块BLK1相同的形式。
以三维结构实施的第一存储块BLK可以以I形、沿垂直方向(Z方向)形成在衬底上,并且可以包括布置在位线BL和源极线SL之间的多个单元串ST。可选地,可以形成阱区而不是源极线SL。该结构也可以被称为位成本可伸缩(Bit Cost Scalable,BiCS)结构。例如,当在衬底上方水平地形成源极线SL时,可以在源极线SL上方沿垂直方向(Z方向)形成具有BiCS结构的单元串ST。
在一些实施方案中,单元串ST可以沿第一方向(X方向)和第二方向(Y方向)布置。单元串ST可以包括源极选择线SSL、字线WL和漏极选择线DSL,它们被堆叠为彼此间隔开。源极选择线SSL、字线WL和漏极选择线DSL的数量不限于附图中所示的数量,并且可以根据存储器装置1100而改变。单元串ST可以包括垂直地穿过源极选择线SSL、字线WL和漏极选择线DSL的垂直沟道层CH,以及与从漏极选择线DSL向上突出的垂直沟道层CH的顶部接触并且沿第二方向(Y方向)延伸的位线BL。可以在字线WL和垂直沟道层CH之间形成存储器单元。可以在位线BL和垂直沟道层CH之间进一步形成接触插塞CT。
图7是示出图4所示的存储块被三维配置的另一实施例的示图。
参照图7,示例性地示出了图4所示的多个存储块BLK1至BLKz之中的第一存储块BLK1。其它存储块BLK2至BLKz可以具有与第一存储块BLK1相同的形式。
以三维结构实施的第一存储块BLK1可以以U形、沿垂直方向(Z方向)形成在衬底上,并且可以包括在位线BL和源极线SL之间连接并且形成一对的源极串ST_S和漏极串ST_D。源极串ST_S和漏极串ST_D可以通过管栅PG彼此连接,以构成U结构。管栅PG可以形成在管线PL中。更具体地,源极串ST_S可以垂直地形成在源极线SL和管线PL之间,并且漏极串ST_D可以垂直地形成在位线BL和管线PL之间。该结构也可以被称为管形位成本可伸缩(Pipe-shaped Bit Cost Scalable,P-BiCS)结构。
更具体地,漏极串ST_D和源极串ST_S可以沿第一方向(X方向)和第二方向(Y方向)布置,并且可以沿第二方向(Y方向)交替地布置。漏极串ST_D可以包括被堆叠为彼此间隔开的字线WL和漏极选择线DSL,以及垂直地穿过字线WL和漏极选择线DSL的漏极垂直沟道层D_CH。源极串ST_S可以包括被堆叠为彼此间隔开的字线WL和源极选择线SSL,以及垂直地穿过字线WL和源极选择线SSL的源极垂直沟道层S_CH。漏极垂直沟道层D_CH和源极垂直沟道层S_CH可以通过管线PL中的管栅PG彼此连接。位线BL可以与从漏极选择线DSL向上突出的漏极垂直沟道层D_CH的顶部接触,并且沿第二方向(Y方向)延伸。
图8是示出图1所示的存储器控制器的结构的框图。
参照图8,存储器控制器1200可以包括内部存储器1210、中央处理单元(CPU)1220、错误校正块1230、主机接口1240和存储器接口1250。
内部存储器1210可以存储存储器控制器1200的操作所需或者存储器控制器1200可以参考以便控制存储器装置1100的各种信息。例如,内部存储器1210可以存储从主机2000接收的用户数据(或称为正常数据)。内部存储器1210可以进一步存储执行编程操作、读取操作、擦除操作和/或后台操作所需的元数据。元数据是包含关于实际用户数据的信息的数据,该实际用户数据被存储以方便管理和控制数据的存储和检索。例如,元数据可以指示如何将数据存储在存储器上,或者最后一次访问数据的时间。后台操作可以在后台执行以维护或修复存储器装置1100,并且包括垃圾收集操作、损耗均衡操作等。内部存储器1210可以进一步存储指示元数据的变化的日志数据。元数据可以用于指除了用户数据和日志数据之外的所有其它数据。
在实施例中,内部存储器1210可以被实施为易失性存储器。例如,内部存储器1210可以包括双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)或Rambus动态随机存取存储器(RDRAM)。
CPU 1220可以执行各种计算以控制存储器装置1100或者生成各种命令。当CPU1220从主机2000接收请求时,CPU 1220可以生成与接收到的请求相对应的命令,并且将所生成的命令传输到存储器装置1100。CPU 1220可以驱动被称为闪存转换层(FTL)的固件,以便控制存储器装置1100。FTL可以管理逻辑地址和物理地址。例如,FTL可以接收从主机2000输入的数据和逻辑地址,并且将逻辑地址转换为指示存储器装置1100中的待实际存储数据的区域的物理地址。FTL可以以页面或块为单位管理逻辑地址和物理地址之间的映射关系。为了管理映射关系,FTL可以生成限定映射关系的地址映射表(包括逻辑到物理映射表(L2P表)和/或物理到逻辑映射表(P2L表)),并且将地址映射表存储在内部存储器中。在下文中,将描述存储器控制器1200的操作中包括的FTL的操作。
错误校正块1230可以通过使用错误校正码(ECC)来检测和校正从存储器装置1100接收的数据的错误。CPU 1220可以基于错误检测结果来调整读取电压,并且控制存储器装置1100以使用调整后的读取电压来重复读取。在示例性实施例中,错误校正块1230可以被设置为存储器控制器1200的组件。
主机接口1240可以在存储器控制器1200和主机2000之间交换包括命令、地址和/或数据的各种信息。例如,主机接口1240可以从主机2000接收请求、地址和/或数据,并且将从存储器装置1100读取的数据输出到主机2000。主机接口1240可以通过使用诸如以下的协议与主机2000通信:高速外围组件互连(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、串列SCSI(SAS)或高速非易失性存储器(NVMe)。主机接口1240不限于上述示例,并且可以包括诸如以下的各种接口:通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)或电子集成驱动器(IDE)。
存储器接口1250可以在存储器控制器1200和存储器装置1100之间交换命令、地址和/或数据。例如,存储器接口1250可以通过通道将命令、地址和/或数据传输到存储器装置1100,并且从存储器装置1100接收数据等。
内部存储器1210可以用作存储器系统1000中的高速缓存存储器或工作存储器。尽管图8示出了内部存储器1210位于存储器控制器1200内部的情况,但是其它实施方案也是可能的。例如,内部存储器1210可以与存储器控制器1200和存储器装置1100分开。在这种情况下,内部存储器1210可以通过内部存储器接口(未示出)连接到存储器控制器1200。
图9是示出根据所公开技术的实施例的从元数据生成元页面的方法的概念图。
存储器控制器1200可以在根据从主机200接收的请求执行操作或执行后台操作的同时,生成元数据。当所生成的元数据发生改变时,存储器控制器1200可以生成指示该改变的日志数据。当元数据发生改变时,存储器控制器1200可以更新元数据和日志数据。所生成或更新后的元数据和日志数据可以被存储在内部存储器1210中。日志数据可以包括指示元数据发生改变的操作的种类或类型的信息,以及用于恢复元数据的信息,这种日志数据可以称为元日志数据。其中,内部存储器也可被称为存储器。
例如,元数据可以包括以下中的至少一个:地址映射表、指示存储器装置1100的块之中的坏块的坏块表、指示存储器装置1100的块或页面的读取次数的读取计数表(RCT)、指示块或页面的擦除次数的擦除计数表(ECT)、指示块中的有效页面(或其数量)的有效页面表(VPT)或指示是否将使用在修整操作(trim operation)中匹配到每个位的数据块的修整位图(trim bit map)。虽然元数据具有相对较大的大小,但是仅元数据的一部分被频繁改变。因此,通过使用日志数据指示元数据的改变,能够避免或减少用于更新整个元数据的负载。
当内部存储器1210是易失性存储器时,存储器控制器1200可以生成至少一个元页面,该元页面包括内部存储器1210中存储的元数据和日志数据。存储器控制器1200可以将所生成的至少一个元页面存储在存储器装置1100中。利用至少一个元页面,能够连续地维护元数据和日志数据。在一些实施方案中,存储器控制器1200可以将元数据和日志数据转换为至少一个元页面形式,并且将至少一个元页面形式存储在存储器装置1100中。该存储操作可以在存储器系统1000的运行时时段期间周期性地(或者当满足特定条件时,诸如当内部存储器1210的空闲空间达到阈值或更小时)执行,或者在存储器系统1000关闭或突然断电(SPO)时、在存储器控制器1200的更新固件操作中、对存储器装置1100的格式化操作中或在清理操作中执行。
在关闭、固件更新完成、格式化完成或清理完成之后的通电操作中,存储器控制器1200可以将存储器装置1100中的以至少一个元页面形式存储的元数据从存储器装置1100重新加载到内部存储器1200并在内部存储器1210中使用。例如,存储器控制器1200可以读取存储器装置1100中存储的至少一个元页面,通过组合所读取的元页面中包括的元切片来重建元数据,并且将重建后的元数据加载到内部存储器1210。
为了将元数据和日志数据存储在存储器装置1100中,存储器控制器1200可以读取内部存储器1210中存储的元数据,并且将元数据划分为至少一个元切片slice1、slice2、slice3等。接下来,存储器控制器1200可以生成包括至少一个元切片的至少一个元页面。存储器控制器1200可以基于预定布局(下文中称为“第一布局”)来生成元页面。
例如,根据第一布局的元页面可以具有包括通过划分元数据而获得的元切片之中的单个元切片的形式。如图9所示,根据第一布局的第一元页面(meta page1)可以具有包括第一元切片(slice1)和日志数据的形式。另外,第二元页面(meta page2)可以具有包括第二元切片(slice2)和日志数据的形式。
在一些实施方案中,根据第一布局的元页面可以进一步包括用于恢复元数据的错误的奇偶校验数据和上下文数据ctx中的至少一个。上下文数据ctx可以包括需要由FTL存储的信息并且大小相对小于元数据的大小。由于上下文数据ctx的大小较小,因此不必使用日志数据来指示上下文数据ctx的部分改变。例如,上下文数据ctx可以包括指示超级块中的编程位置的写入指针、在关闭操作之前正在执行的操作的种类或类型、已处理操作的数量等。上下文数据ctx和奇偶校验数据可以在FTL的运行时操作期间被生成,并且可以被存储在内部存储器1210中。奇偶校验数据和上下文数据ctx可以具有预定大小。因此,奇偶校验数据和上下文数据ctx可以占据在元页面的整个区域中的具有固定大小的区域。
存储器控制器1200可以根据第一布局生成第一元页面(meta page1),然后将第一元页面(meta page1)存储在存储器装置1100中,并且根据第一布局生成第二元页面(metapage2),然后将第二元页面(meta page2)存储在存储器装置1100中。存储器控制器1200可以针对每个元切片来重复生成元页面并且将元页面存储在存储器装置1100中的过程。
元页面的一部分具有包括日志数据、奇偶校验数据和上下文数据ctx的大小。元页面的其余部分具有包括相应的元切片的大小。元页面的总大小可以对应于稍后将描述的超级页面(S-page)的大小,或者可以对应于预定大小。
如图9所示,根据第一布局的元页面可以具有包括日志数据的形式。然而,在包括关闭操作的一些操作中,由于元数据可能没有被改变或初始化,因此可不更新日志数据。因此,可无需将日志数据和元数据一起以元页面形式存储在存储器装置1100中。
例如,当从主机2000接收到关闭请求时,可能没有改变元数据。因此,存储器控制器1200可以将内部存储器1210中存储的元数据以元页面形式存储在存储器装置1100中,而不更新日志数据,并且可以关闭存储器系统100。
例如,当从主机2000接收到固件更新请求时,可能没有改变元数据。因此,存储器控制器1200可以将内部存储器1210中存储的元数据以元页面形式存储在存储器装置1100中,而不更新日志数据,并且可以更新由存储器控制器1200驱动的固件。
在另一示例中,当从主机2000接收到请求初始化地址映射表的格式化请求时,即使当元数据被改变时,也无需将元数据的改变记录为日志数据。因此,存储器控制器1200可以响应于格式化请求,来初始化元数据中包括的地址映射表而不更新日志数据,并且以元页面形式将包括初始化后的地址映射表的元数据存储在存储器装置中。
与格式化请求类似,即使当从主机2000接收到请求物理删除存储器装置1100中记录的数据的清理请求时,也无需将元数据的改变记录为日志数据。因此,存储器控制器1200可以初始化元数据中包括的地址映射表而不更新日志数据,擦除存储器装置1100中记录的所有数据,并且以元页面形式将包括初始化后的地址映射表的元数据存储在存储器装置中。
存储器控制器1200对上述请求的响应可以包括将内部存储器1210中存储的元数据存储在存储器装置1100中的操作。在这种情况下,由于没有更新日志数据,因此无需将内部存储器1210中存储的日志数据存储在存储器装置1100中。尽管没有将日志数据存储在存储器装置1100中,但是如果需要,存储器控制器1200可以在运行时操作中获取并使用先前存储在存储器装置1100中的日志数据。因此,当不需要更新日志数据时,存储器控制器1200生成没有日志数据的元页面,并且将所生成的元页面存储在存储器装置1100中,从而可以提高元页面的存储速度。所生成的没有日志数据的元页面不同于根据第一布局生成的元页面。
图10是示出根据不同于图9的实施例的元页面的另一布局的示图。用于生成图10所示的元页面的布局将被称为第二布局,该第二布局不同于用于生成图9所示的元页面的第一布局。
参照图10,存储器控制器1200可以响应于从主机2000接收的请求而加载内部存储器1210中存储的元数据,并且通过划分所加载的元数据来获取至少一个元切片。从主机2000接收的请求是响应于该请求而不改变元数据的请求或者无需更新日志数据的请求,并且从主机2000接收的请求可以包括关闭请求、固件更新请求、格式化请求和清理请求中的至少一个。一个元切片的大小可以等于根据第一布局的元页面中包括的单个元切片的大小,以便维持与第一布局的兼容性。
存储器控制器1200可以基于不同于第一布局的第二布局来生成元数据。例如,根据第二布局的元页面可以包括一个元切片以及另一元切片(“附加元切片”)的至少一部分。根据第二布局的元页面允许包括附加元切片的至少一部分,该附加元切片的至少一部分的大小对应于图9所示的根据第一布局的元页面中的日志数据所占据的大小。
根据第二布局的元页面还可以包括用于恢复元数据的错误的奇偶校验数据和上下文数据ctx中的至少一个。根据第二布局的元页面的大小可以等于或对应于根据第一布局的元页面的大小。
参照图10,根据第二布局的第一元页面(meta page1)可以具有包括第一元切片(slice1)以及第二元切片(slice2)的一部分(slice2-1)的形式。与图9所示的元页面相比,包括的是第二元切片(slice2)的一部分(slice2-1)而不是日志数据。元页面的一部分具有包括奇偶校验数据和上下文数据ctx的预定大小。元页面的其余部分具有包括第一元切片(slice1)以及第二元切片(slice2)的一部分(slice2-1)的大小。另外,根据第二布局的第二元页面(meta page2)可以包括第二元切片(slice2)的一部分(slice2-2)以及第三元切片(slice3)的一部分(slice3-1)。第三元切片(slice3)的一部分(slice3-1)的大小可以与元页面的除奇偶校验数据、上下文数据ctx以及第二元切片(slice2)的一部分(slice2-2)之外的其余部分相对应。另外,根据第二布局的第三元页面(meta page3)可包括第三元切片(slice3)的一部分(slice3-2)以及第四元切片(slice4)的一部分(slice4-1)。第四元切片(slice4)的一部分(slice4-1)的大小可以与元页面的除奇偶校验数据、上下文数据ctx以及第三元切片(slice3)的一部分(slice3-2)之外的其余部分相对应。
在实施方案中,根据第二布局的元页面不包括日志数据,但是可以包括附加元切片的至少一部分。
当如图10所示,根据第二布局生成元页面并且将元页面顺序地存储在存储器装置1100中时,由于一个元页面中存储的元切片的数量大于图9中的数量,因此可以利用较少数量的编程操作来将元数据存储在存储器装置1100中。
因此,可以提高响应于来自主机2000的请求而存储元数据的操作的速度。特别地,由于元数据的大小随着存储器装置1100的容量增加而增加,因此可以显著地表现出根据存储速度提高的实际感觉效果。
因此,可生成两种不同类型的元页面并且将其存储在存储器装置1100中。例如,如图10所示,响应于包括关闭请求的一些请求而将根据第二布局的元页面(没有日志数据)存储在存储器装置1100中,并且在其它操作中将如图9所示的根据第一布局的元页面(具有日志数据)存储在存储器装置1100中。在一些实施方案中,存储器控制器1200可以被配置为检查元页面是否具有日志数据。
例如,在关闭、固件更新完成、格式化完成或清理完成之后的通电操作中,存储器控制器1200可以读取存储器装置1100中存储的至少一个元页面,从所读取的至少一个元页面提取元切片,通过组合所提取的元切片来重建元数据,并且将重建后的元数据加载到内部存储器1210。由于元页面是根据第一布局和第二布局中的一个生成的,因此存储器控制器1200有必要检查元页面的布局,以便准确地从元页面提取元切片。为此,根据第一布局和/或第二布局的元页面可以包括指示第一布局和第二布局中的一个的字段。该字段可以包括在被分配到根据第一布局和/或第二布局的元页面的、具有固定大小的上下文数据ctx中。
由于存储器控制器1200可参考元页面中的上下文数据ctx中的指示第一布局和第二布局中的一个的字段,因此存储器控制器1200可以从存储器装置1100读取元页面,并且通过参考元页面中的上下文数据ctx中包括的字段来检查元页面是否具有日志数据。当相应的字段指示第一布局时,存储器控制器1200可以在根据第一布局的元页面中的指定位置处提取单个元切片和日志数据。当相应的字段指示第二布局时,存储器控制器1200可以在根据第二布局的元页面中的指定位置处提取单个元切片,并且在与根据第一布局的日志数据的位置相对应的位置处另外提取至少一个元切片的至少一部分。
图11是示出根据所公开技术的实施例的存储元页面的物理区域的示图。
当如图1所示,存储器系统1000中包括多个存储器装置1100时,存储器控制器1200可以将多个存储器装置chip1至chipk中的每一个中包括的块作为一个虚拟超级块进行管理,或者将多个存储器装置chip1至chipk的每一个中包括的页面作为一个虚拟超级页面S-page进行管理。存储器装置可以通过彼此独立的通道分别连接到存储器控制器1200。可以通过使用从图1所示的各个存储器装置组1300逐个地选择的存储器装置来配置超级块或超级页面(S-page)。
存储器控制器1200可以将根据图9或图10生成的元页面存储在存储器装置chip1至chipk的超级块的页面中或超级页面(S-page)中。例如,存储器控制器1200可以将第一元页面(meta page1)存储在存储器装置chip1至chipk的特定块中的配置有第n(n为正整数)页面的超级页面S-page中,并且将第二元页面(meta page2)存储在存储器装置chip1至chipk中的配置有第(n+1)页面的超级页面S-page中。尽管图11中已经示出了将第n页面(或第(n+1)页面)被配置为一个超级页面S-page的情况,但是所公开的技术不一定限于此。例如,可以将存储器装置chip1至chipk的块中的不同位置处的页面配置为一个超级页面(S-page),并且可以将元页面存储在一个超级页面(S-page)中。
由于构成超级页面(S-page)的存储器装置chip1至chipk通过彼此独立的通道分别连接到存储器控制器1200,因此存储器控制器1200可以控制构成超级页面(S-page)的存储器装置chip1至chipk,以并行地执行编程(或者使得存储器装置执行的编程操作中的至少一些相互重叠)。因此,存储器控制器1200可以通过使用芯片交错方法将元页面存储在超级页面(S-page)中。
元页面可以具有与超级页面(S-page)的大小相对应的大小。例如,构成超级页面(S-page)的存储器装置的数量为16,并且元页面的大小可以对应于16个物理页面的大小。一个元切片在第一布局和第二布局中可以具有相同的大小,以便维持运行时操作和关闭操作之间的兼容性。
图12是示出用于操作图1所示的存储器控制器的方法的示例性流程图。
参照图12,该方法可以包括:在步骤S100处,接收来自主机的请求;在步骤S110处,响应于该请求而加载内部存储器中存储的元数据;在步骤S120处,通过划分该元数据来获取至少一个元切片;在步骤S130处,基于不同于第一布局的第二布局,生成包括至少一个元切片的元页面;并且在步骤S140处,将该元页面存储在至少一个存储器装置中。
在运行时操作期间,存储器控制器可以将基于第一布局生成的元页面存储在至少一个存储器装置中。
请求可以包括关闭请求、固件更新请求、格式化请求和清理请求中的至少一个。
元数据可以包括地址映射表、有效页面表、读取计数表和擦除计数表中的至少一个。
根据第一布局的元页面可以包括通过划分元数据而获得的元切片之中的单个元切片。
根据第一布局的元页面可以进一步包括指示元数据的改变的日志数据。
根据第二布局的元页面可以包括元切片之中的至少一个元切片的至少一部分,而不是单个元切片和日志数据。
至少一个存储器装置可以包括通过彼此独立的通道分别连接到存储器控制器的多个存储器装置。
在步骤S140处,可以将元页面存储在通过组合各个存储器装置中的页面而生成的超级页面中。
元页面可以具有与超级页面的大小相对应的大小。
元页面可以包括指示第一布局和第二布局中的一个的字段。
该方法可以进一步包括:在存储步骤S140之后,读取至少一个存储器装置中存储的元页面;通过参考所读取的元页面中包括的字段来确定所读取的元页面的布局;并且基于所确定的布局,从所读取的元页面提取日志数据,或者提取元切片之中的至少一个元切片的至少一部分,而不是日志数据。
根据第一布局的元页面可以进一步包括具有固定大小的奇偶校验数据,该奇偶校验数据用于恢复元数据的错误。
另外,用于操作存储器系统的方法可以包括参照图1至图11描述的存储器系统的功能和操作,并且可以由参照图1至图11描述的存储器控制器1200执行。
图13是示出应用图1所示的存储器系统的存储卡的示图。
参照图13,存储器系统可以包括主机2000和存储卡70000。
存储卡70000可以被实施为智能卡。存储卡70000可以包括存储器装置1100、存储器控制器1200和卡接口7100。
存储器控制器1200可以控制存储器装置1100和卡接口7100之间的数据交换。在实施例中,卡接口7100可以是安全数字(SD)接口或多媒体卡(MMC)接口,但是所公开的技术不限于此。
卡接口7100可以根据主机2000的协议在主机2000和存储器控制器1200之间进行数据交换接口连接。在一些实施例中,卡接口7100可以支持通用串行总线(USB)协议和芯片间(IC)-USB协议。卡接口7100可以指能够支持由主机2000使用的协议的硬件、嵌入在硬件中的软件或信号传输方法。
图14是示出应用图1所示的存储器系统的固态驱动器(SSD)系统的框图。
参照图14,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并且通过电源连接器3002接收电力PWR。SSD 3200包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在所公开技术的实施例中,SSD控制器3210可以执行与参照图1、图2和图8描述的存储器控制器1200的功能相同或相对应的功能。多个闪速存储器3221至322n可以执行与图1所示的存储器装置1100的功能相对应的功能,并且缓冲存储器3240可以执行与图8所示的内部存储器1210的功能相对应的功能。
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。
辅助电源3230通过电源连接器3002联接到主机3100。当来自主机3100的电力供应不平稳时,辅助电源3230可以提供SSD 3200的电力。示例性地,辅助电源3230可以位于SSD3200中,或者位于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的非易失性存储器。
根据所公开的技术,可以提供一种能够提高元数据的存储速度的存储器系统以及用于操作该存储器系统中包括的存储器控制器的方法。
虽然已经参照所公开技术的某些示例性实施例示出和描述了所公开的技术,但是本领域技术人员将理解,可以对形式和细节进行各种改变。本说明书和附图中公开的实施例仅是示例,以促进对所公开的技术的理解,并且所公开的技术不限于此。可基于本专利文件中公开的内容,对所公开的实施例和其它实施例进行各种修改和改进。
Claims (20)
1.一种存储器系统,包括:
一个或多个存储器装置,所述一个或多个存储器装置中的每一个包括存储数据的多个存储器单元;
存储器,存储与所存储的数据相关联的元数据;以及
存储器控制器,与所述存储器和所述一个或多个存储器装置通信,并且从所述存储器加载所述元数据,基于所述元数据、根据第一布局生成第一元页面,并且将所述第一元页面存储在所述存储器装置中,
其中所述存储器控制器进一步接收来自主机的请求,并且响应于来自所述主机的所述请求,基于不同于所述第一布局的第二布局生成第二元页面。
2.根据权利要求1所述的存储器系统,其中所述请求包括关闭请求、固件更新请求、格式化请求和清理请求中的至少一个。
3.根据权利要求1所述的存储器系统,其中所述存储器控制器进一步将所述元数据划分为多个元切片,并且所述第一元页面包括所述多个元切片之中的单个元切片。
4.根据权利要求3所述的存储器系统,其中所述第一元页面进一步包括指示所述元数据的改变的日志数据。
5.根据权利要求1所述的存储器系统,其中所述存储器控制器进一步将所述元数据划分为多个元切片,并且所述第二元页面包括两个元切片的至少一部分。
6.根据权利要求1所述的存储器系统,其中所述多个存储器装置通过彼此独立的通道分别连接到所述存储器控制器,并且
其中所述第一元页面和所述第二元页面中的至少一个被存储在超级页面中,所述超级页面包括所述多个存储器装置的各自的页面。
7.根据权利要求6所述的存储器系统,其中所述第一元页面和所述第二元页面中的至少一个具有与所述超级页面的大小相对应的大小。
8.根据权利要求1所述的存储器系统,其中所述第一元页面和所述第二元页面中的每一个包括指示关于使用哪个布局的信息的字段。
9.根据权利要求8所述的存储器系统,其中所述存储器控制器进一步读取所述存储器装置中存储的特定元页面,基于所述特定元页面中包括的所述字段来确定所述特定元页面的布局,并且基于所确定的布局从所述特定元页面提取数据。
10.根据权利要求1所述的存储器系统,其中所述第一元页面和所述第二元页面中的每一个进一步包括奇偶校验数据,所述奇偶校验数据具有固定大小并且用于恢复所述元数据的错误。
11.一种操作存储器控制器的方法,所述方法包括:
从与所述存储器控制器通信的主机接收请求,所述存储器控制器存储在运行时操作期间基于第一布局生成的第一元页面;
响应于所述请求,读取存储器中存储的元数据;
通过划分所述元数据获得至少一个元切片;
基于不同于所述第一布局的第二布局,生成包括所述至少一个元切片的第二元页面;并且
将所述第二元页面存储在与所述存储器控制器通信的至少一个存储器装置中。
12.根据权利要求11所述的方法,其中所述请求包括关闭请求、固件更新请求、格式化请求和清理请求中的至少一个。
13.根据权利要求11所述的方法,其中所述第一元页面包括单个元切片。
14.根据权利要求11所述的方法,其中所述第一元页面包括指示所述元数据的改变的日志数据。
15.根据权利要求11所述的方法,其中所述第二元页面包括两个元切片的至少一部分。
16.根据权利要求11所述的方法,其中多个存储器装置通过彼此独立的通道分别连接到所述存储器控制器,并且
其中所述存储包括将所述第二元页面存储在超级页面中,所述超级页面包括所述多个存储器装置的各自的页面。
17.根据权利要求16所述的方法,其中所述第二元页面具有与所述超级页面的大小相对应的大小。
18.根据权利要求15所述的方法,其中所述第一元页面和所述第二元页面中的每一个包括指示关于使用哪个布局的信息的字段。
19.根据权利要求18所述的方法,进一步包括,在所述存储之后:
读取所述至少一个存储器装置中存储的特定元页面;
基于所述特定元页面中包括的所述字段,确定所述特定元页面的布局;并且
基于所确定的布局从所述特定元页面提取数据。
20.根据权利要求11所述的方法,其中所述第一元页面和所述第二元页面中的每一个包括奇偶校验数据,所述奇偶校验数据具有固定大小并且用于恢复所述元数据的错误。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0100162 | 2020-08-10 | ||
KR1020200100162A KR20220019570A (ko) | 2020-08-10 | 2020-08-10 | 메모리 시스템 및 이에 포함된 메모리 컨트롤러의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114077386A true CN114077386A (zh) | 2022-02-22 |
Family
ID=80115054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110369693.1A Withdrawn CN114077386A (zh) | 2020-08-10 | 2021-04-07 | 存储器系统及其包括的存储器控制器的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11422747B2 (zh) |
KR (1) | KR20220019570A (zh) |
CN (1) | CN114077386A (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010043210A1 (en) * | 1999-01-14 | 2001-11-22 | John Gilbert | System and method for the construction of data |
US9223642B2 (en) * | 2013-03-15 | 2015-12-29 | Super Talent Technology, Corp. | Green NAND device (GND) driver with DRAM data persistence for enhanced flash endurance and performance |
KR101280181B1 (ko) | 2010-05-18 | 2013-07-05 | 삼성전자주식회사 | 메모리 시스템 및 메모리 시스템에서 플래쉬 변환 레이어의 예비 영역 관리 방법 |
KR20160064364A (ko) | 2014-11-27 | 2016-06-08 | 삼성전자주식회사 | 패스트 오픈을 위한 어드레스 맵 운영방법 및 그에 따른 메모리 시스템 |
KR20180058328A (ko) * | 2016-11-24 | 2018-06-01 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
US10997065B2 (en) * | 2017-11-13 | 2021-05-04 | SK Hynix Inc. | Memory system and operating method thereof |
KR102553261B1 (ko) * | 2018-10-10 | 2023-07-07 | 삼성전자 주식회사 | 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 스토리지 장치, 및 상기 메모리 컨트롤러의 동작 방법 |
-
2020
- 2020-08-10 KR KR1020200100162A patent/KR20220019570A/ko unknown
-
2021
- 2021-01-28 US US17/161,654 patent/US11422747B2/en active Active
- 2021-04-07 CN CN202110369693.1A patent/CN114077386A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US11422747B2 (en) | 2022-08-23 |
KR20220019570A (ko) | 2022-02-17 |
US20220043601A1 (en) | 2022-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372603B2 (en) | Handling of unaligned writes | |
CN110942795B (zh) | 存储器系统、其操作方法以及非易失性存储器装置 | |
CN114625673A (zh) | 存储装置及其操作方法 | |
CN114442915A (zh) | 存储器系统以及操作其中所包括的存储器控制器的方法 | |
CN114067870A (zh) | 存储器系统、存储器装置以及用于操作存储器装置的方法 | |
CN113900969A (zh) | 存储器装置及其操作方法 | |
CN113535460A (zh) | 数据存储装置及其操作方法 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
CN110928806B (zh) | 存储器系统及其操作方法 | |
CN111916134A (zh) | 存储装置及其操作方法 | |
CN115938444A (zh) | 存储器装置及其操作方法 | |
CN111813328A (zh) | 存储器系统及其操作方法 | |
CN110825655A (zh) | 存储器件、存取数据的方法及管理数据的方法 | |
CN114860153A (zh) | 系统及其操作方法 | |
CN113409854A (zh) | 数据存储装置及其操作方法 | |
CN111796962A (zh) | 存储装置以及存储装置的操作方法 | |
CN114968856B (zh) | 存储器系统及其操作方法 | |
US20220180953A1 (en) | Storage device and operating method thereof | |
CN115963981A (zh) | 存储器系统及存储器系统的操作方法 | |
CN115113807A (zh) | 存储器系统以及存储器系统的操作方法 | |
CN115114178A (zh) | 存储器系统及其操作方法 | |
CN114443508A (zh) | 存储装置及其操作方法 | |
US11422747B2 (en) | Memory system and method for operating memory controller included therein | |
KR20220048864A (ko) | 저장 장치 및 그 동작 방법 | |
CN112447234A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220222 |