CN113764011A - 存储装置及其操作方法 - Google Patents
存储装置及其操作方法 Download PDFInfo
- Publication number
- CN113764011A CN113764011A CN202110188505.5A CN202110188505A CN113764011A CN 113764011 A CN113764011 A CN 113764011A CN 202110188505 A CN202110188505 A CN 202110188505A CN 113764011 A CN113764011 A CN 113764011A
- Authority
- CN
- China
- Prior art keywords
- mapping data
- memory
- data
- mapping
- memory device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- 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
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- 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/1673—Details of memory controller using buffers
-
- 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
- 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/0613—Improving I/O performance in relation to throughput
-
- 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/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/0656—Data buffering 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/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- 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)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
本公开涉及一种存储装置及其操作方法。该存储装置包括:存储器装置,其包括存储正常数据和映射数据的存储器单元阵列;以及存储控制器,其被配置为响应于来自主机的请求而控制存储器装置的包括编程操作、读操作和擦除操作在内的总体操作。存储器装置被配置为在映射数据加载操作期间通过读取存储在存储器单元阵列中的映射数据当中的第一映射数据来将第一映射数据发送到存储控制器,并且通过读取映射数据当中的第二映射数据来将第二映射数据发送到存储器装置的页缓冲器组。
Description
技术领域
本公开涉及电子装置,更具体地,涉及一种存储装置和操作该存储装置的方法。
背景技术
存储装置是在诸如计算机或智能电话的主机装置的控制下存储数据的装置。存储装置可包括存储数据的存储器装置以及控制存储器装置的存储控制器。存储器装置可以是易失性存储器装置或非易失性存储器装置。
易失性存储器装置是只有当供电时才存储数据并且当电源被切断时丢失所存储的数据的装置。易失性存储器装置包括例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
非易失性存储器装置是即使电源被切断也不丢失数据的装置。非易失性存储器装置包括例如只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存等。
发明内容
本公开的实施方式涉及一种能够增加映射数据的加载容量和改进的操作速度的存储装置以及操作该存储装置的方法。
根据本公开的实施方式的存储装置包括:存储器装置,其包括存储正常数据和映射数据的存储器单元阵列;以及存储控制器,其被配置为响应于来自主机的请求而控制存储器装置的包括编程操作、读操作和擦除操作在内的总体操作。存储器装置被配置为在映射数据加载操作期间通过读取存储在存储器单元阵列中的映射数据当中的第一映射数据来将第一映射数据发送到存储控制器,并且通过读取映射数据当中的第二映射数据来将第二映射数据发送到存储器装置的页缓冲器组。
根据本公开的实施方式的操作存储装置的方法包括以下步骤:读取存储在存储器单元阵列的系统块中的映射数据当中的第一映射数据和第二映射数据;将第一映射数据发送到存储控制器,将第一映射数据存储在存储控制器的存储器缓冲器中,并且将第二映射数据存储在页缓冲器组中;以及当页缓冲器组从存储控制器接收到逻辑块地址时,执行搜索与所接收的逻辑块地址对应的搜索映射数据是否被包括在第二映射数据中的映射数据搜索操作。
根据本公开的实施方式的操作存储装置的方法包括以下步骤:在映射数据加载操作期间,将存储在系统块中的映射数据当中的第一映射数据存储在存储控制器中,并且将映射数据当中的第二映射数据存储在存储器装置的页缓冲器组中;在映射数据搜索操作期间,由存储器装置从存储控制器接收逻辑块地址,并且搜索与所接收的逻辑块地址对应的搜索映射数据是否被包括在第二映射数据中;在数据编程操作期间,由存储器装置从存储控制器接收正常数据和所述逻辑块地址,将正常数据存储在存储器单元阵列中,然后将第二映射数据当中的与逻辑块地址对应的映射数据留在页缓冲器组中;以及在映射数据刷新操作期间,将留在页缓冲器组中的映射数据存储在存储器单元阵列中。
附图说明
图1是示出根据本公开的实施方式的存储装置的图。
图2是示出图1的存储器装置的结构的图。
图3是示出图2的存储器单元阵列的实施方式的图。
图4是示出图3的存储块BLK1至BLKz中的存储块BLKa的电路图。
图5是示出图3的存储块BLK1至BLKz中的存储块BLKb的另一实施方式的电路图。
图6是示出根据编程操作的存储器单元阵列的区域划分的图。
图7是示出包括在图2的页缓冲器组中的页缓冲器的图。
图8是示出根据本公开的实施方式的映射数据的加载操作的图。
图9是示出根据本公开的实施方式的映射数据搜索操作的流程图。
图10是示出根据本公开的实施方式的在映射数据搜索操作期间映射数据的移动的图。
图11是示出根据本公开的实施方式的在映射数据搜索操作期间在存储控制器和存储器装置之间发送的信号的图。
图12是示出根据本公开的实施方式的在数据的更新操作期间数据的移动的图。
图13是示出根据本公开的实施方式的在数据的编程操作期间在存储控制器和存储器装置之间发送的信号的图。
图14是示出根据本公开的实施方式的在映射数据的刷新操作期间映射数据的移动的图。
图15是示出根据本公开的实施方式的在映射数据的刷新操作期间在存储控制器和存储器装置之间发送的信号的图。
图16是示出图1的存储控制器的另一实施方式的图。
图17是示出应用根据本公开的实施方式的存储装置的存储卡系统的框图。
图18是示出应用根据本公开的实施方式的存储装置的固态驱动器(SSD)系统的框图。
图19是示出应用根据本公开的实施方式的存储装置的用户系统的框图。
具体实施方式
仅示出根据本说明书或申请中所公开的构思的实施方式的具体结构或功能描述,以描述根据本公开的构思的实施方式。根据本公开的构思的实施方式可按照各种形式实现,这些描述不限于本说明书或申请中所描述的实施方式。
以下,将通过参照附图描述本公开的实施方式来详细描述本公开。以下,将参照附图详细描述本公开的实施方式。
图1是示出根据本公开的实施方式的存储装置的图。
参照图1,存储装置50可包括存储器装置100以及控制存储器装置的操作的存储控制器200。存储装置50是在主机300(例如,蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统)的控制下存储数据的装置。
根据作为与主机300的通信方法的主机接口,存储装置50可被制造成各种类型的存储装置中的一种。例如,存储装置50可被配置成各种类型的存储装置中的任一种,例如SSD、MMC、eMMC、RS-MMC和micro-MMC形式的多媒体卡、SD、mini-SD和micro-SD形式的安全数字卡、通用串行总线(USB)存储装置、通用闪存(UFS)装置、个人计算机存储卡国际协会(PCMCIA)卡型存储装置、外围组件互连(PCI)卡型存储装置、高速PCI(PCI-E)卡型存储装置、紧凑闪存(CF)卡、智能媒体卡和记忆棒。
存储装置50可被制造成各种类型的封装中的任一种。例如,存储装置50可被制造成例如堆叠式封装(POP)、系统封装(SIP)、系统芯片(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级层叠封装(WSP)的各种类型的封装类型中的任一种。
存储器装置100可存储正常数据和映射数据。例如,正常数据是与包括存储器装置100的设备的常规操作关联的数据。映射数据是指示正常存储器在存储器装置100中如何布局的数据。存储器装置100在存储控制器200的控制下操作。存储器装置100可包括存储器单元阵列110,存储器单元阵列110包括存储正常数据和映射数据的多个存储器单元。
各个存储器单元可被配置成存储一个数据比特的单级单元(SLC)、存储两个数据比特的多级单元(MLC)、存储三个数据比特的三级单元(TLC)或者存储四个数据比特的四级单元(QLC)。
存储器单元阵列110可包括多个存储块。各个存储块可包括多个存储器单元。一个存储块可包括多个页。在实施方式中,页可以是用于将数据存储在存储器装置100中或读取存储在存储器装置100中的数据的单位。存储块可以是用于擦除数据的单位。在实施方式中,存储器装置100可包括双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪存、垂直NAND闪存、NOR闪存装置、电阻随机存取存储器(RRAM)、相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移矩随机存取存储器(STT-RAM)等。在本说明书中,为了描述方便,假设存储器装置100包括NAND闪存。
存储器装置100被配置为从存储控制器200接收命令和地址并访问存储器单元阵列中的通过该地址选择的区域。即,存储器装置100可对通过地址选择的区域执行基于命令的操作。例如,存储器装置100可执行写操作(编程操作)、读操作和擦除操作。在编程操作期间,存储器装置100可将数据编程到通过地址选择的区域。在读操作期间,存储器装置100可从通过地址选择的区域读取数据。在擦除操作期间,存储器装置100可擦除存储在通过地址选择的区域中的数据。
在实施方式中,存储器装置100可包括页缓冲器组123。在编程操作期间,页缓冲器组123接收并暂时存储要编程的数据,然后将暂时存储的数据存储在存储器单元阵列110中。另外,在读操作期间,页缓冲器组123读取存储在存储器单元阵列110中的数据并将所读取的数据输出到存储控制器200。另外,页缓冲器组123可读取并存储存储器单元阵列110中存储的映射数据。页缓冲器组123可通过从存储控制器200接收逻辑块地址(LBA)来执行在所存储的映射数据当中搜索与LBA对应的映射数据的操作。
存储控制器200控制存储装置50的总体操作。
当电力被施加到存储装置50时,存储控制器200可执行固件FW。当存储器装置100是闪存装置时,存储控制器200可操作诸如闪存转换层(FTL)的固件以用于控制主机300与存储器装置100之间的通信。
在实施方式中,存储控制器200可从存储器装置100接收映射数据并存储映射数据。在实施方式中,存储控制器200可从主机300接收数据和逻辑块地址(LBA)并使用映射数据将LBA转换为指示要存储包括在存储器装置100中的数据的存储器单元的地址的物理块地址(PBA)。
存储控制器200可控制存储器装置100响应于来自主机300的请求执行编程操作、读操作或擦除操作。在编程操作期间,存储控制器200可向存储器装置100提供编程命令、LBA和正常数据。在读操作期间,存储控制器200可向存储器装置100提供读命令和PBA。在擦除操作期间,存储控制器200可向存储器装置100提供擦除命令和PBA。
在实施方式中,存储控制器200可生成编程命令、地址和数据并将它们发送到存储器装置100,而不管来自主机300的请求如何。例如,存储控制器200可向存储器装置100提供命令、地址和数据以执行后台操作(例如用于耗损平衡的编程操作和用于垃圾收集的编程操作)。
在实施方式中,存储控制器200可控制至少两个存储器装置100。在这种情况下,存储控制器200可根据交织方法来控制存储器装置100以改进操作性能。交织方法可以是使至少两个存储器装置100的操作时段交叠的操作方法。
在实施方式中,存储控制器200可包括处理器210和存储器缓冲器220。
处理器210可控制存储控制器200的总体操作并执行逻辑操作。处理器210可与外部主机300通信并与存储器装置100通信。另外,处理器210可与存储器缓冲器220通信。处理器210可使用存储器缓冲器220作为操作存储器、高速缓存存储器或缓冲存储器来控制存储装置50的操作。
处理器210可执行闪存转换层(FTL)的功能。处理器210可通过FTL将从主机300提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可使用映射数据将LBA转换为PBA。FTL可使用存储在存储器缓冲器220中的映射表来执行地址转换操作。
对于实施方式,处理器210被配置为将从主机300接收的数据随机化。例如,处理器210可使用随机化种子将从主机300接收的数据随机化。随机化的数据作为要存储的数据被提供给存储器装置100并被编程在存储器单元阵列110中。
处理器210被配置为在读操作期间将从存储器装置100接收的数据去随机化。例如,处理器210可使用去随机化种子将从存储器装置接收的数据去随机化。去随机化的数据可被输出到主机300。
作为实施方式,处理器210可利用驱动软件或固件来执行随机化和去随机化。
存储器缓冲器220可用作处理器210的操作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器220可存储由处理器210执行的代码和命令。存储器缓冲器220可存储映射数据。存储器缓冲器220可存储由处理器210处理的数据。存储器缓冲器220可包括静态RAM(SRAM)或动态RAM(DRAM)。
存储器缓冲器220可包括写/读缓冲器221和映射高速缓存缓冲器222。
写/读缓冲器221在编程操作期间存储从主机300接收的正常数据,并且将所存储的数据发送到存储器装置100。另外,写/读缓冲器221在读操作期间存储从存储器装置100接收的正常数据,并且将所存储的数据发送到主机300。
映射高速缓存缓冲器222可从存储器装置100接收映射数据并存储映射数据。例如,在存储装置的通电操作期间,存储器装置100可读取存储在存储器单元阵列110中的映射数据中的一些并将所读取的数据发送到存储控制器200,并且存储控制器200可将从存储器装置100接收的映射数据存储在映射高速缓存缓冲器222中。
主机300可使用诸如通用串行总线(USB)、串行AT附件(SATA)、串行附接SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插存储器模块(DIMM)、寄存DIMM(RDIMM)和负载减少DIMM(LRDIMM)的各种通信方法中的至少一种来与存储装置50通信。
根据上述本公开的实施方式的存储装置50可读取存储在存储器装置100的存储器单元阵列110中的映射数据当中的第一映射数据以将第一映射数据存储在存储控制器200的映射高速缓存缓冲器222中,并且可读取第二映射数据以存储在存储器装置100的页缓冲器组123中。因此,能够存储所读取的映射数据的数据存储容量可增加。
在实施方式中,第一映射数据可以是存储在存储器单元阵列110中的映射数据当中的具有相对低的访问次数的冷数据,第二映射数据可以是存储在存储器单元阵列110中的映射数据当中的具有相对高的访问次数的热数据。另外,在实施方式中,第一映射数据可以是存储在存储器单元阵列110中的映射数据当中的通过映射高速缓存缓冲器222的存储容量首先读取的映射数据,第二映射数据可以是存储在存储器单元阵列110中的映射数据当中的在读取第一映射数据之后通过页缓冲器组123的映射数据存储容量读取的映射数据。
图2是示出图1的存储器装置的结构的图。
参照图2,存储器装置100可包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL连接到地址解码器121。多个存储块BLK1至BLKz通过位线BL1至BLm连接到页缓冲器组123。作为实施方式,多个存储块BLK1至BLKz当中的至少一个存储块(例如,BLK1)可以是系统块。系统块可存储读取回收表和映射数据。映射数据可包括多个映射表。稍后提供映射数据的详细描述。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。作为实施方式,多个存储器单元是非易失性存储器单元。多个存储器单元当中的连接到同一字线的存储器单元被定义为一个页。即,存储器单元阵列110由多个页配置。根据本公开的实施方式,包括在存储器单元阵列110中的多个存储块BLK1至BLKz中的每一个可包括多个虚设单元。至少一个虚设单元可串联连接在漏极选择晶体管与存储器单元之间以及源极选择晶体管与存储器单元之间。
存储器装置100的各个存储器单元可被配置成存储一个数据比特的单级单元(SLC)、存储两个数据比特的多级单元(MLC)、存储三个数据比特的三级单元(TLC)或者存储四个数据比特的四级单元(QLC)。
外围电路120可包括地址解码器121、电压发生器122、页缓冲器组123、数据输入/输出电路124和感测电路125。
外围电路120驱动存储器单元阵列110。例如,外围电路120可驱动存储器单元阵列110以执行编程操作、读操作和擦除操作。
地址解码器121通过行线RL连接到存储器单元阵列110。行线RL可包括漏极选择线、字线、源极选择线和公共源极线。根据本公开的实施方式,字线可包括正常字线和虚设字线。根据本公开的实施方式,行线RL还可包括管选择线。
地址解码器121被配置为响应于控制逻辑130的控制而操作。地址解码器121从控制逻辑130接收地址ADDR。
地址解码器121被配置为将所接收的地址ADDR的块地址解码。地址解码器121根据所解码的块地址在存储块BLK1至BLKz当中选择至少一个存储块。地址解码器121被配置为将所接收的地址ADDR的行地址RADD解码。地址解码器121可通过根据所解码的行地址RADD将从电压发生器122提供的电压施加到至少一条字线WL来选择所选存储块的至少一条字线。
在编程操作期间,地址解码器121可将编程电压施加到所选字线并将电平小于编程电压的电平的通过电压施加到未选字线。在编程验证操作期间,地址解码器121可将验证电压施加到所选字线并将电平大于验证电压的电平的验证通过电压施加到未选字线。
在读操作期间,地址解码器121可将读电压施加到所选字线并将电平大于读电压的电平的读通过电压施加到未选字线。
根据本公开的实施方式,以存储块为单位执行存储器装置100的擦除操作。在擦除操作期间输入到存储器装置100的地址ADDR包括块地址。地址解码器121可将块地址解码并根据所解码的块地址来选择一个存储块。在擦除操作期间,地址解码器121可将接地电压施加到输入到所选存储块的字线。
根据本公开的实施方式,地址解码器121可被配置为将所传送的地址ADDR的列地址解码。所解码的列地址可被传送至页缓冲器组123。作为示例,地址解码器121可包括诸如行解码器、列解码器和地址缓冲器的组件。
电压发生器122被配置为使用供应给存储器装置100的外部电源电压来生成多个操作电压Vop。电压发生器122响应于控制逻辑130的控制而操作。
作为示例,电压发生器122可通过调节外部电源电压来生成内部电源电压。由电压发生器122生成的内部电源电压用作存储器装置100的操作电压。
作为实施方式,电压发生器122可使用外部电源电压或内部电源电压来生成多个操作电压Vop。电压发生器122可被配置为生成存储器装置100所需的各种电压。例如,电压发生器122可生成多个擦除电压、多个编程电压、多个通过电压、多个选择读电压以及多个非选择读电压。
为了生成具有各种电压电平的多个操作电压Vop,电压发生器122可包括接收内部电压的多个泵浦电容器并且响应于控制逻辑130而选择性地启用多个泵浦电容器以生成多个操作电压Vop。
所生成的多个操作电压Vop可通过地址解码器121供应给存储器单元阵列110。
页缓冲器组123包括第一页缓冲器PB1至第m页缓冲器PBm。第一页缓冲器PB1至第m页缓冲器PBm分别通过第一位线BL1至第m位线BLm连接到存储器单元阵列110。第一页缓冲器PB1至第m页缓冲器PBm响应于控制逻辑130的控制而操作。
第一页缓冲器PB1至第m页缓冲器PBm与数据输入/输出电路124通信数据DATA。在编程时,第一页缓冲器PB1至第m页缓冲器PBm通过数据输入/输出电路124和数据线DL接收要存储的数据DATA。
在编程操作期间,当编程脉冲被施加到所选字线时,第一页缓冲器PB1至第m页缓冲器PBm可通过位线BL1至BLm将要存储的数据DATA(即,通过数据输入/输出电路124接收的数据DATA)传送至所选存储器单元。根据所传送的数据DATA对所选页的存储器单元进行编程。连接到被施加有编程许可电压(例如,接地电压)的位线的存储器单元可具有增加的阈值电压。连接到被施加有编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可维持。在编程验证操作期间,第一页缓冲器PB1至第m页缓冲器PBm通过位线BL1至BLm从所选存储器单元读取存储在存储器单元中的数据DATA。
在读操作期间,页缓冲器组123可通过位线BL从所选页的存储器单元读取数据DATA并将所读取的数据DATA存储在第一页缓冲器PB1至第m页缓冲器PBm中。
在擦除操作期间,页缓冲器组123可将位线BL浮置。作为实施方式,页缓冲器组123可包括列选择电路。
在映射数据加载操作期间,第一页缓冲器PB1至第m页缓冲器PBm可读取存储在系统块BLK1中的映射数据当中的第一映射数据。所读取的第一映射数据通过数据输入/输出电路124被发送到图1的存储控制器200。另外,在映射数据加载操作期间,第一页缓冲器PB1至第m页缓冲器PBm读取存储在系统块BLK1中的映射数据当中的第二映射数据,并存储所读取的第二映射数据。在映射数据搜索操作期间,第一页缓冲器PB1至第m页缓冲器PBm可在所存储的第二映射数据当中搜索与从存储控制器200接收的LBA对应的映射数据。
数据输入/输出电路124通过数据线DL连接到第一页缓冲器PB1至第m页缓冲器PBm。数据输入/输出电路124响应于控制逻辑130的控制而操作。
数据输入/输出电路124可包括接收输入数据DATA的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124从外部控制器(未示出)接收要存储的正常数据DATA。在读操作期间,数据输入/输出电路124将从包括在页缓冲器组123中的第一页缓冲器PB1至第m页缓冲器PBm传送的正常数据DATA输出到外部控制器。
在读操作或验证操作期间,感测电路125可响应于控制逻辑130所生成的许可比特VRYBIT的信号来生成基准电流,并且可将从页缓冲器组123接收的感测电压VPB与通过基准电流生成的基准电压进行比较以向控制逻辑130输出通过信号或失败信号。
控制逻辑130可连接到地址解码器121、电压发生器122、页缓冲器组123、数据输入/输出电路124和感测电路125。控制逻辑130可被配置为控制存储器装置100的所有操作。控制逻辑130可响应于从外部装置传送的命令CMD而操作。控制逻辑130可被实现为硬件、软件或者硬件和软件的组合。例如,控制逻辑130可以是根据算法操作的控制逻辑电路和/或执行控制逻辑代码的处理器。
控制逻辑130可响应于命令CMD和地址ADDR而生成各种信号以控制外围电路120。例如,控制逻辑130可响应于命令CMD和地址ADDR而生成操作信号OPSIG、行地址RADD、读写电路控制信号PBSIGNALS和许可比特VRYBIT。控制逻辑130可向电压发生器122输出操作信号OPSIG,向地址解码器121输出行地址RADD,向页缓冲器组123输出读写控制信号,并且向感测电路125输出许可比特VRYBIT。另外,控制逻辑130可响应于由感测电路125输出的通过信号PASS或失败信号FAIL来确定验证操作通过还是失败。
在实施方式中,控制逻辑130可在存储控制器200的控制下将从存储控制器200接收的数据存储在页缓冲器组123的页缓冲器123中。
控制逻辑130可在存储控制器200的控制下将存储在页缓冲器组123的页缓冲器123中的正常数据或映射数据编程到存储器单元阵列110。
例如,当控制逻辑130从存储控制器200接收到编程命令时,控制逻辑130可响应于编程命令而将存储在页缓冲器组123的页缓冲器123中的正常数据编程在存储器单元阵列110中。当控制逻辑130从存储控制器200接收到映射数据刷新命令时,控制逻辑130可响应于映射数据刷新命令而将存储在页缓冲器组123的页缓冲器123中的搜索到的映射数据编程在存储器单元阵列110的系统块BLK1中。
控制逻辑130可在存储控制器200的控制下读取存储在存储器单元阵列110中的正常数据。具体地,控制逻辑130可首先将存储在页缓冲器组123的页缓冲器123中的数据编程在存储器单元阵列110中,然后将从存储器单元阵列110读取的数据存储在页缓冲器组123的页缓冲器123中。控制逻辑130可通过数据输入/输出电路124将存储在页缓冲器组123的页缓冲器中的数据提供给存储控制器200。
控制逻辑130可在存储控制器200的控制下读取存储在存储器单元阵列110的系统块BLK1中的映射数据。具体地,控制逻辑130可通过数据输入/输出电路124将从系统块BLK1读取的映射数据当中的第一映射数据提供给存储控制器200。另外,控制逻辑130可存储从系统块BLK1读取的映射数据当中的第二映射数据。
图3是示出图2的存储器单元阵列的实施方式的图。
参照图3,存储器单元阵列110包括多个存储块BLK1至BLKz。各个存储块具有三维结构。各个存储块包括层叠在基板上的多个存储器单元。这些多个存储器单元沿着+X方向、+Y方向和+Z方向布置。参照图4和图5更详细地描述各个存储块的结构。
图4是示出图3的存储块BLK1至BLKz中的存储块BLKa的电路图。
参照图4,存储块BLKa包括多个单元串CS11至CS1m和CS21至CS2m。作为实施方式,多个单元串CS11至CS1m和CS21至CS2m中的每一个可按照“U”形状形成。在存储块BLKa中,m个单元串布置在行方向(即,+X方向)上。在图5中,两个单元串布置在列方向(即,+Y方向)上。然而,这是为了描述方便,可理解,三个或更多个单元串可布置在列方向上。
多个单元串CS11至CS1m和CS21至CS2m中的每一个包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn、管式晶体管PT和至少一个漏极选择晶体管DST。
选择晶体管SST和DST和存储器单元MC1至MCn中的每一个可具有相似的结构。作为实施方式,选择晶体管SST和DST和存储器单元MC1至MCn中的每一个可包括沟道层、隧道绝缘膜、电荷存储膜和阻挡绝缘膜。作为实施方式,用于提供沟道层的柱可设置在各个单元串中。作为实施方式,用于提供沟道层、隧道绝缘膜、电荷存储膜和阻挡绝缘膜中的至少一个的柱可设置在各个单元串中。
各个单元串的源极选择晶体管SST连接在公共源极线CSL与存储器单元MC1至MCp之间。
作为实施方式,布置在同一行中的单元串的源极选择晶体管连接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管连接到不同的源极选择线。在图4中,第一行的单元串CS11至CS1m的源极选择晶体管连接到第一源极选择线SSL1。第二行的单元串CS21至CS2m的源极选择晶体管连接到第二源极选择线SSL2。
作为另一实施方式,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可共同连接到一条源极选择线。
各个单元串的第一存储器单元MC1至第n存储器单元MCn连接在源极选择晶体管SST与漏极选择晶体管DST之间。
第一存储器单元MC1至第n存储器单元MCn可被分成第一存储器单元MC1至第p存储器单元MCp以及第(p+1)存储器单元MCp+1至第n存储器单元MCn。第一存储器单元MC1至第p存储器单元MCp在与+Z方向相反的方向上依次布置,并且串联连接在源极选择晶体管SST与管式晶体管PT之间。第(p+1)存储器单元MCp+1至第n存储器单元MCn在+Z方向上依次布置,并且串联连接在管式晶体管PT与漏极选择晶体管DST之间。第一存储器单元MC1至第p存储器单元MCp以及第(p+1)存储器单元MCp+1至第n存储器单元MCn通过管式晶体管PT彼此连接。各个单元串的第一存储器单元MC1至第n存储器单元MCn的栅极分别连接到第一字线WL1至第n字线WLn。
各个单元串的管式晶体管PT的栅极连接到管线PL。
各个单元串的漏极选择晶体管DST连接在对应位线与存储器单元MCp+1至MCn之间。布置在行方向上的单元串连接到在行方向上延伸的漏极选择线。第一行的单元串CS11至CS1m的漏极选择晶体管连接到第一漏极选择线DSL1。第二行的单元串CS21至CS2m的漏极选择晶体管连接到第二漏极选择线DSL2。
布置在列方向上的单元串连接到在列方向上延伸的位线。在图4中,第一列的单元串CS11和CS21连接到第一位线BL1。第m列的单元串CS1m和CS2m连接到第m位线BLm。
布置在行方向上的单元串中的连接到同一字线的存储器单元配置一个页。例如,第一行的单元串CS11至CS1m当中的连接到第一字线WL1的存储器单元配置一个页。第二行的单元串CS21至CS2m当中的连接到第一字线WL1的存储器单元配置另一页。可通过选择漏极选择线DSL1和DSL2中的任一条来选择布置在一个行方向上的单元串。可通过选择字线WL1至WLn中的任一条来选择所选单元串的一个页。
作为另一实施方式,可设置偶数位线和奇数位线,代替第一位线BL1至第m位线BLm。另外,布置在行方向上的单元串CS11至CS1m或CS21至SC2m当中的偶数编号单元串可分别连接到位线,并且布置在行方向上的单元串CS11至CS1m或CS21至CS2m当中的奇数编号单元串可分别连接到奇数位线。
作为实施方式,第一存储器单元MC1至第n存储器单元MCn中的至少一个可用作虚设存储器单元。例如,提供至少一个虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCp之间的电场。另选地,提供至少一个虚设存储器单元以减小漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。随着提供更多的虚设存储器单元,存储块BLKa的操作的可靠性改进,然而,存储块BLKa的尺寸增加。随着提供更少的存储器单元,存储块BLKa的尺寸可减小,然而,存储块BLKa的操作的可靠性可降低。
为了有效地控制至少一个虚设存储器单元,各个虚设存储器单元可具有所需阈值电压。在存储块BLKa的擦除操作之前或之后,可执行针对所有或部分虚设存储器单元的编程操作。当在执行编程操作之后执行擦除操作时,通过控制施加到与各个虚设存储器单元连接的虚设字线的电压,虚设存储器单元可具有所需阈值电压。
图5是示出图3的存储块BLK1至BLKz中的存储块BLKb的另一实施方式的电路图。
参照图5,存储块BLKb包括多个单元串CS11’至CS1m’和CS21’至CS2m’。多个单元串CS11’至CS1m’和CS21’至CS2m’中的每一个沿着+Z方向延伸。多个单元串CS11’至CS1m’和CS21’至CS2m’中的每一个包括层叠在存储块BLK1’下方的基板(未示出)上的至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元MCn以及至少一个漏极选择晶体管DST。
各个单元串的源极选择晶体管SST连接在公共源极线CSL与存储器单元MC1至MCn之间。布置在同一行中的单元串的源极选择晶体管连接到同一源极选择线。布置在第一行中的单元串CS11’至CS1m’的源极选择晶体管连接到第一源极选择线SSL1。布置在第二行中的单元串CS21’至CS2m’的源极选择晶体管连接到第二源极选择线SSL2。作为另一实施方式,单元串CS11’至CS1m’和CS21’至CS2m’的源极选择晶体管可共同连接到一条源极选择线。
各个单元串的第一存储器单元MC1至第n存储器单元MCn串联连接在源极选择晶体管SST与漏极选择晶体管DST之间。第一存储器单元MC1至第n存储器单元MCn的栅极分别连接到第一字线WL1至第n字线WLn。
各个单元串的漏极选择晶体管DST连接在对应位线与存储器单元MC1至MCn之间。布置在行方向上的单元串的漏极选择晶体管连接到在行方向上延伸的漏极选择线。第一行的单元串CS11’至CS1m’的漏极选择晶体管连接到第一漏极选择线DSL1。第二行的单元串CS21’至CS2m’的漏极选择晶体管连接到第二漏极选择线DSL2。
结果,除了从各个单元串排除管式晶体管PT之外,图5的存储块BLKb具有与图4的存储块BLKa相似的等效电路。
作为另一实施方式,可提供偶数位线和奇数位线,代替第一位线BL1至第m位线BLm。另外,布置在行方向上的单元串CS11’至CS1m’或CS21’至CS2m’当中的偶数编号单元串可分别连接到偶数位线,并且布置在行方向上的单元串CS11’至CS1m’或CS21’至CS2m’当中的奇数编号单元串可分别连接到奇数位线。
作为实施方式,第一存储器单元MC1至第n存储器单元MCn中的至少一个可用作虚设存储器单元。例如,提供至少一个虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCn之间的电场。另选地,提供至少一个虚设存储器单元以减小漏极选择晶体管DST与存储器单元MC1至MCn之间的电场。随着提供更多的虚设存储器单元,存储块BLKb的操作的可靠性改进,然而,存储块BLKb的尺寸增加。随着提供更少的存储器单元,存储块BLKb的尺寸可减小,然而,存储块BLKb的操作的可靠性可降低。
为了有效地控制至少一个虚设存储器单元,各个虚设存储器单元可具有所需阈值电压。在针对存储块BLKb的擦除操作之前或之后,可执行针对所有或部分虚设存储器单元的编程操作。当在执行编程操作之后执行擦除操作时,通过控制施加到与各个虚设存储器单元连接的虚设字线的电压,虚设存储器单元可具有所需阈值电压。
图6是示出根据编程操作的存储器单元阵列的区域划分的图。
参照图6,存储器单元阵列110可在编程操作期间根据编程方法将存储空间划分成静态SLC区域、动态SLC区域和TLC区域。
例如,静态SLC区域和动态SLC区域是在编程操作期间以SLC编程方法编程的区域,TLC区域是在编程操作期间以TLC编程方法编程的区域。
为了改进编程操作期间的编程操作速度和稳定性,存储器装置接收要编程的数据,然后以SLC编程方法将所接收的数据编程在静态SLC区域或动态SLC区域中。此后,在存储器装置的后台操作期间,读取存储在静态SLC区域或动态SLC区域中的数据,并且将所读取的数据编程在TLC区域中。
因此,可通过在编程操作期间以SLC编程方法执行编程操作来改进编程操作速度和数据可靠性,并且可通过在后台操作(例如,垃圾收集操作)期间以TLC编程方法将存储在静态SLC区域或动态SLC区域中的数据编程在TLC区域中来改进数据存储效率。
静态SLC区域是固定为存储器单元阵列110的设定数据容量那么多的区域,动态SLC区域是可根据要编程的数据的容量变化的区域。因此,动态SLC区域可与静态SLC区域相邻,或者可设置在TLC区域之间。
图7是示出包括在图2的页缓冲器组中的页缓冲器的图。
多个页缓冲器PB1至PBm中的每一个可包括主缓冲器Main Buffer、高速缓存缓冲器Cache Buffer、第一映射缓冲器1st Map Buffer和第二映射缓冲器2nd Map Buffer。
页缓冲器PB1至PBm中的每一个的主缓冲器Main Buffer可被称为主缓冲器级123A,页缓冲器PB1至PBm中的每一个的高速缓存缓冲器Cache Buffer可被称为高速缓存缓冲器级123B,页缓冲器PB1至PBm中的每一个的第一映射缓冲器1st Map Buffer可被称为第一映射缓冲器级123C,页缓冲器PB1至PBm中的每一个的第二映射缓冲器2nd Map Buffer可被称为第二映射缓冲器级123D。
在编程操作期间,主缓冲器级123A可根据所存储的数据来调节图2的位线BL1至BLm的电位电平。在读操作期间,主缓冲器级123A可感测位线BL1至BLm的电位或电流量并存储所感测的数据。
在编程操作期间,高速缓存缓冲器级123B可接收从存储器装置100的外部(例如,图1的存储控制器200)接收的要编程的数据,暂时存储数据,并且将暂时存储的数据发送到主缓冲器级123A。在读操作期间,高速缓存缓冲器级123B可从主缓冲器级123A接收所感测的数据并将所感测的数据发送到存储器装置100的外部(例如,图1的存储控制器200)。
在映射数据加载操作期间,第一映射缓冲器级123C存储系统块中存储的映射数据当中的第二映射数据。
在映射数据搜索操作期间,第二映射缓冲器级123D存储从存储器装置100的外部(例如,图1的存储控制器200)接收的逻辑块地址(LBA)。
在映射数据搜索操作期间,页缓冲器PB1至PBm中的每一个可搜索与存储在第二映射缓冲器级123D中的LBA对应的映射数据是否被存储在第一映射缓冲器级123C中。
图8是示出根据本公开的实施方式的映射数据的加载操作的图。
参照图8,在映射数据的加载操作期间,存储在存储器装置的系统块System Block中的映射数据可被读取并存储在存储控制器的映射高速缓存缓冲器222和存储器装置的页缓冲器组123中。
例如,可由存储器装置的页缓冲器组123读取存储在存储器装置的系统块SystemBlock中的映射数据当中的第一映射数据G1,并且所读取的第一映射数据G1可被发送到存储控制器的映射高速缓存缓冲器222并被存储。存储在系统块System Block中的映射数据当中的第二映射数据G2可由页缓冲器组123读取并且可被存储。
例如,第一映射数据G1可以是存储在系统块System Block中的映射数据当中的具有相对低的访问次数的冷数据,第二映射数据G2可以是存储在系统块System Block中的映射数据当中的具有相对高的访问次数的热数据。
在另一实施方式中,第一映射数据G1可以是存储在系统块System Block中的映射数据当中的通过映射高速缓存缓冲器222的存储容量首先读取的映射数据,第二映射数据G2可以是存储在系统块System Block中的映射数据当中的在读取第一映射数据G1之后通过页缓冲器组123的映射数据存储容量读取的映射数据。
图9是示出根据本公开的实施方式的映射数据搜索操作的流程图。
图10是示出根据本公开的实施方式的在映射数据搜索操作期间映射数据的移动的图。
图11是示出根据本公开的实施方式的在映射数据搜索操作期间在存储控制器和存储器装置之间发送的信号的图。
根据本公开的实施方式的映射数据搜索操作参照图1、图2和图9至图11如下描述。
在步骤S910中,当从存储控制器200接收到命令00h、系统地址System ADDR、逻辑块地址LBA和逻辑块地址的地址长度信息Length时,存储器装置100读取存储在存储器单元阵列110的系统块中的映射数据当中的与系统地址System ADDR对应的映射数据,并且将映射数据存储在存储控制器200的映射高速缓存缓冲器222和页缓冲器组123的第一映射缓冲器级123C中。例如,所读取的映射数据当中的第一映射数据可被存储在映射高速缓存缓冲器中,第二映射数据可被存储在第一映射缓冲器级123C中。
另外,根据所接收的逻辑块地址LBA和逻辑块地址的地址长度信息Length将逻辑块地址LBA存储在第二映射缓冲器级123D中。
在步骤S920中,从存储控制器200接收与映射数据搜索操作对应的命令33h,并且存储器装置100的控制逻辑130响应于命令33h检查与存储在第二映射缓冲器级123D中的逻辑块地址LBA对应的映射数据是否被存储在第一映射缓冲器级123C中。
作为上述步骤S920的检查结果,当与存储在第二映射缓冲器级123D中的逻辑块地址LBA对应的映射数据被存储在第一映射缓冲器级123C中时,步骤S930中为“是”,存储器装置100的控制逻辑130将状态寄存器信号SRBUS<0>设定为逻辑高,并且将状态寄存器信号SRBUS<0>发送到存储控制器200。
存储控制器200可基于逻辑高的状态寄存器信号SRBUS<0>识别出发送到存储器装置100的逻辑块地址LBA与加载在第一映射缓冲器级123C中的第二映射数据匹配(对应)。
此后,可执行状态检查操作,并且状态检查操作的结果可作为状态寄存器信息SR输出到存储控制器200。
作为上述步骤S920的检查结果,当与存储在第二映射缓冲器级123D中的逻辑块地址LBA对应的映射数据未存储在第一映射缓冲器级123C中时,步骤S950中为“否”,存储器装置130的控制逻辑120控制外围电路120读取存储在系统块(例如,BLK1)中的其它映射数据。因此,新的第二映射数据被加载到第一映射缓冲器级123C。此后,从上述步骤S920重复操作。
如上所述,根据本公开的实施方式,当从存储控制器200接收到逻辑块地址LBA时,可在存储在页缓冲器组123的第一映射缓冲器级123C中的第二映射数据当中搜索与所接收的逻辑块地址LBA对应的映射数据。
当存储控制器200从主机300接收到逻辑块地址LBA时,存储控制器200可根据所接收的逻辑块地址LBA在存储在存储控制器200的映射高速缓存缓冲器222中的第一映射数据当中执行映射数据搜索操作,或者可通过向存储器装置发送逻辑块地址LBA来在存储在第一映射缓冲器级123C中的第二映射数据当中执行映射数据搜索操作。例如,当从主机300接收的逻辑块地址LBA对应于冷数据时,可在存储在存储控制器200的映射高速缓存缓冲器222中的第一映射数据当中执行映射数据搜索操作,并且当从主机300接收的逻辑块地址LBA对应于热数据时,可在存储在第一映射缓冲器级123C中的第二映射数据当中执行映射数据搜索操作。
图12是示出根据本公开的实施方式的在数据的更新操作期间数据的移动的图。
图13是示出根据本公开的实施方式的在数据的编程操作期间在存储控制器和存储器装置之间发送的信号的图。
根据本公开的实施方式的数据编程的操作参照图1、图2、图12和图13如下描述。
作为上述根据图9的映射数据搜索操作的结果,当从存储器装置100接收到逻辑高的状态寄存器信号SRBUS<0>时,存储控制器200将与编程操作对应的命令80h、逻辑块地址LBA、逻辑块地址的地址长度信息Length以及要编程的正常数据DATA发送到存储器装置100。
存储器装置100的页缓冲器组123接收并存储输入的正常数据。例如,页缓冲器组123的高速缓存缓冲器级123B接收并暂时存储正常数据,并且将暂时存储的正常数据发送到主缓冲器级123A。此时,在存储在第一映射缓冲器级123C中的映射数据当中,与逻辑块地址LBA匹配的映射数据可保留。
响应于特定命令77h,存储器装置100执行存储在主缓冲器级123A中的正常数据的刷新操作,即,将存储在主缓冲器级123A中的正常数据存储在存储器单元阵列110的所选区域中的编程操作。
可按SLC编程方法执行编程操作。即,以SLC编程方法将正常数据编程在存储器单元阵列110的存储空间的静态SLC区域或动态SLC区域中。因此,在编程操作期间,页缓冲器组123的页缓冲器PB1至PBm中的每一个可仅使用一个缓冲器(即,主缓冲器)执行编程操作。
此后,可执行根据编程操作结果的状态检查操作,并且状态检查操作的结果可作为状态寄存器信息SR输出到存储控制器200。
根据本公开的上述实施方式,当从主机300接收的逻辑块地址LBA不与存储在存储控制器200的映射高速缓存缓冲器222和页缓冲器组的第一映射缓冲器级123C中的映射数据匹配时,新的映射数据被读取并存储在页缓冲器组的第一映射缓冲器级123C中。在这种情况下,可在将新的映射数据存储在页缓冲器组中之后跳过将新的映射数据加载到存储控制器200的操作,从而改进存储装置50的操作速度。
图14是示出根据本公开的实施方式的在映射数据的刷新操作期间映射数据的移动的图。
图15是示出根据本公开的实施方式的在映射数据的刷新操作期间在存储控制器和存储器装置之间发送的信号的图。
根据本公开的实施方式的映射数据的刷新操作将参照图1、图2、图14和图15如下描述。
当上述图12和图13的数据的更新操作重复地执行时,匹配的映射数据可累积在存储器装置100的页缓冲器组123中。
例如,与编程操作对应的命令80h、逻辑块地址LBA和逻辑块地址的地址长度信息Length可被连续地发送到存储器装置100,因此存储器装置100可重复地执行正常数据的编程操作多次。
在这种情况下,匹配的映射数据被累积在页缓冲器组123的第一映射缓冲器级123C中。
当匹配的映射数据被累积在第一映射缓冲器级123C中时,存储器装置100响应于特定命令78h而执行存储在第一映射缓冲器级123C中的映射数据的刷新操作。
例如,存储在第一映射缓冲器级123C中的映射数据被暂时发送到主缓冲器级123A并被暂时存储。存储器装置100的外围电路120执行存储在主缓冲器级123A中的映射数据的刷新操作,即,将映射数据存储在存储器单元阵列110的所选区域中的编程操作。此时,所选区域可以是系统块BLK1以外的存储区域。
可按SLC编程方法执行编程操作。即,以SLC编程方法将映射数据编程在存储器单元阵列110的存储空间的静态SLC区域或动态SLC区域中。因此,在编程操作期间,页缓冲器组123的页缓冲器PB1至PBm中的每一个可仅使用一个缓冲器(即,主缓冲器)执行编程操作。
此后,可执行根据编程操作结果的状态检查操作,并且状态检查操作的结果可作为状态寄存器信息SR输出到存储控制器200。
根据本公开的上述实施方式,在映射数据的刷新操作期间,存储在页缓冲器组123中的映射数据被编程在存储器单元阵列110的所选存储区域中。因此,从存储控制器200接收映射数据的操作不会发生,因此存储装置50的操作速度可改进。
图16是示出图1的存储控制器的另一实施方式的图。
参照图16,存储控制器1000连接到主机Host和存储器装置。存储控制器1000被配置为响应于来自主机Host的请求来访问存储器装置。例如,存储控制器1000被配置为控制存储器装置的写操作、读操作、擦除操作和后台操作。存储控制器1000被配置为提供存储器装置与主机Host之间的接口。存储控制器1000被配置为驱动用于控制存储器装置的固件。
存储控制器1000可包括处理器1010、存储器缓冲器1020、纠错组件(ECC)1030、主机接口1040、缓冲器控制器1050、存储器接口1060和总线1070。
总线1070可被配置为在存储控制器1000的组件之间提供通道。
处理器1010可控制存储控制器1000的总体操作并且可执行逻辑运算。处理器1010可通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。另外,处理器1010可通过缓冲器控制器1050与存储器缓冲器1020通信。处理器1010可使用存储器缓冲器1020作为操作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。
处理器1010可执行闪存转换层(FTL)的功能。处理器1010可通过FTL将主机所提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可使用映射数据接收LBA并将LBA转换为PBA。FTL可使用存储在存储器缓冲器1020中的映射数据来执行地址转换操作。
处理器1010被配置为将从主机Host接收的数据随机化。例如,处理器1010可使用随机化种子将从主机Host接收的数据随机化。随机化的数据作为要存储的数据被提供给存储器装置并被编程到存储器单元阵列。
处理器1010被配置为在读操作期间将从存储器装置接收的数据去随机化。例如,处理器1010可使用去随机化种子将从存储器装置接收的数据去随机化。去随机化的数据可被输出到主机Host。
作为实施方式,处理器1010可通过驱动软件或固件来执行随机化和去随机化。
存储器缓冲器1020可用作处理器1010的操作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可存储由处理器1010执行的代码和命令。存储器缓冲器1020可存储映射数据。存储器缓冲器1020可存储由处理器1010处理的数据。存储器缓冲器1020可包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC 1030可执行纠错。ECC 1030可基于要通过存储器接口1060写到存储器装置的数据来执行纠错编码(ECC编码)。纠错编码的数据可通过存储器接口1060被传送至存储器装置。ECC 1030可通过存储器接口1060对从存储器装置接收的数据执行纠错解码(ECC解码)。例如,ECC 1030可作为存储器接口1060的组件被包括在存储器接口1060中。
主机接口1040被配置为在处理器1010的控制下与外部主机通信。主机接口1040可被配置为使用诸如通用串行总线(USB)、串行AT附件(SATA)、串行附接SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、高速外围组件互连(高速PCI)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插存储器模块(DIMM)、寄存DIMM(RDIMM)和负载减少DIMM(LRDIMM)的各种通信方法中的至少一种来执行通信。
缓冲器控制器1050被配置为在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060被配置为在处理器1010的控制下与存储器装置通信。存储器接口1060可通过通道与存储器装置通信命令、地址和数据。
例如,存储控制器1000可能不包括存储器缓冲器1020和缓冲器控制器1050。
例如,处理器1010可使用代码来控制存储控制器1000的操作。处理器1010可从设置在存储控制器1000内部的非易失性存储器装置(例如,只读存储器)加载代码。作为另一示例,处理器1010可通过存储器接口1060从存储器装置加载代码。
例如,存储控制器1000的总线1070可被分成控制总线和数据总线。数据总线可被配置为在存储控制器1000内发送数据,并且控制总线可被配置为在存储控制器1000内发送诸如命令和地址的控制信息。数据总线和控制总线可彼此分离并且可能不相互干扰或相互影响。数据总线可连接到主机接口1040、缓冲器控制器1050、ECC1030和存储器接口1060。控制总线可连接到主机接口1040、处理器1010、缓冲器控制器1050、存储器缓冲器1202和存储器接口1060。
图17是示出应用根据本公开的实施方式的存储装置的存储卡系统的框图。
参照图17,存储卡系统2000包括存储控制器2100、存储器装置2200和连接器2300。
存储控制器2100连接到存储器装置2200。存储控制器2100被配置为访问存储器装置2200。例如,存储控制器2100可被配置为控制存储器装置2200的读操作、写操作、擦除操作和后台操作。存储控制器2100被配置为提供存储器装置2200与主机之间的接口。存储控制器2100被配置为驱动用于控制存储器装置2200的固件。存储控制器2100可与参照图1描述的存储控制器200相同地实现。
例如,存储控制器2100可包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和ECC的组件。
存储控制器2100可通过连接器2300与外部装置通信。存储控制器2100可根据特定通信标准来与外部装置(例如,主机)通信。例如,存储控制器2100被配置为通过诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(MCM)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强小型磁盘接口(ESDI)、集成驱动电子设备(IDE)、FireWire、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe的各种通信标准中的至少一种来与外部装置通信。例如,连接器2300可由上述各种通信标准中的至少一种来定义。
例如,存储器装置2200可由诸如电可擦除可编程ROM(EEPROM)、NAND闪存、NOR闪存、相变RAM(PRAM)、电阻RAM(ReRAM)、铁电RAM(FRAM)和自旋转矩磁性RAM(STT-MRAM)的各种非易失性存储器元件配置。
存储控制器2100和存储器装置2200可被集成到一个半导体装置中以配置存储卡。例如,存储控制器2100和存储器装置2200可被集成到一个半导体装置中以配置诸如PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、MMCmicro或eMMC)、SD卡(SD、miniSD、microSD或SDHC)和通用闪存(UFS)的存储卡。
图18是示出应用根据本公开的实施方式的存储装置的固态驱动器(SSD)系统的框图。
参照图18,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001来与主机3100交换信号SIG,并且通过电源连接器3002来接收电力PWR。SSD 3200包括SSD控制器3210、多个闪存3221至322n、辅助电源装置3230和缓冲存储器3240。
根据本公开的实施方式,SSD控制器3210可执行参照图1描述的存储控制器200的功能。
SSD控制器3210可响应于从主机3100接收的信号SIG来控制多个闪存3221至322n。例如,信号SIG可以是基于主机3100与SSD 3200之间的接口的信号。例如,信号SIG可以是由诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(MCM)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强小型磁盘接口(ESDI)、集成驱动电子设备(IDE)、FireWire、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe的接口中的至少一种限定的信号。
辅助电源装置3230通过电源连接器3002连接到主机3100。辅助电源装置3230可从主机3100接收电力PWR并且可利用电力进行充电。当来自主机3100的电力供应不平稳时,辅助电源装置3230可提供SSD 3200的电力。例如,辅助电源装置3230可设置在SSD 3200中或者可设置在SSD 3200外部。例如,辅助电源装置3230可设置在主板上并且可向SSD 3200提供辅助电力。
缓冲存储器3240作为SSD 3200的缓冲存储器操作。例如,缓冲存储器3240可暂时存储从主机3100接收的数据或从多个闪存3221至322n接收的数据,或者可暂时存储闪存3221至322n的元数据(例如,映射表)。缓冲存储器3240可包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或者诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图19是示出应用根据本公开的实施方式的存储装置的用户系统的框图。
参照图19,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可驱动包括在用户系统4000中的组件、操作系统(OS)、用户程序等。例如,应用处理器4100可包括控制包括在用户系统4000中的组件的控制器、接口、图形引擎等。应用处理器4100可作为系统芯片(SoC)提供。
存储器模块4200可作为用户系统4000的主存储器、操作存储器、缓冲存储器或高速缓存存储器操作。存储器模块4200可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDARM、LPDDR2 SDRAM和LPDDR3SDRAM的易失性随机存取存储器或诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。例如,应用处理器4100和存储器模块4200可基于堆叠式封装(POP)来封装并作为一个半导体封装提供。
网络模块4300可与外部装置通信。例如,网络模块4300可支持诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进、Wimax、WLAN、UWB、蓝牙和Wi-Fi的无线通信。例如,网络模块4300可被包括在应用处理器4100中。
存储模块4400可存储数据。例如,存储模块4400可存储从应用处理器4100接收的数据。另选地,存储模块4400可将存储在存储模块4400中的数据发送到应用处理器4100。例如,存储模块4400可被实现为诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻RAM(RRAM)、NAND闪存、NOR闪存和三维NAND闪存的非易失性半导体存储器元件。例如,存储模块4400可作为诸如存储卡的可移除存储装置(可移除驱动器)以及用户系统4000的外部驱动器来提供。
例如,存储模块4400可包括多个非易失性存储器装置,并且这多个非易失性存储器装置可与参照图1描述的存储器装置100相同地操作。存储模块4400可与参照图1描述的存储装置50相同地操作。
用户接口4500可包括用于向应用处理器4100输入数据或指令或者用于向外部装置输出数据的接口。例如,用户接口4500可包括诸如键盘、键区、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口。用户接口4500可包括诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
尽管本公开的详细描述描述了特定实施方式,但在不脱离本公开的范围和技术精神的情况下,可进行各种修改。因此,本公开的范围不应限于上述实施方式,应该由本公开的权利要求的等同物以及以下权利要求来确定。
相关申请的交叉引用
本申请要求2020年6月5日提交于韩国知识产权局的韩国专利申请号10-2020-0068098的优先权,其完整公开通过引用并入本文。
Claims (20)
1.一种存储装置,该存储装置包括:
存储器装置,该存储器装置包括存储正常数据和映射数据的存储器单元阵列;以及
存储控制器,该存储控制器被配置为响应于来自主机的请求而控制所述存储器装置的包括编程操作、读操作和擦除操作在内的总体操作,
其中,所述存储器装置被配置为在映射数据加载操作期间通过读取存储在所述存储器单元阵列中的所述映射数据当中的第一映射数据来将所述第一映射数据发送到所述存储控制器,并且通过读取所述映射数据当中的第二映射数据来将所述第二映射数据发送到所述存储器装置的页缓冲器组。
2.根据权利要求1所述的存储装置,其中,所述存储控制器包括存储器缓冲器,其中,所述存储器缓冲器被配置为存储在所述映射数据加载操作期间从所述存储器装置接收的所述第一映射数据。
3.根据权利要求1所述的存储装置,其中,所述第一映射数据是所述映射数据当中的具有相对低的访问次数的冷数据,并且所述第二映射数据是所述映射数据当中的具有相对高的访问次数的热数据。
4.根据权利要求1所述的存储装置,其中,所述页缓冲器组包括:
主缓冲器级,该主缓冲器级被配置为进行以下中的至少一个:感测存储在所述存储器单元阵列中的数据;以及暂时存储要编程在所述存储器单元阵列中的数据;
高速缓存缓冲器级,该高速缓存缓冲器级被配置为进行以下中的至少一个:将存储在所述主缓冲器级中的数据输出到所述存储控制器;以及将从所述存储控制器接收的要编程的数据发送到所述主缓冲器级;
第一映射缓冲器级,该第一映射缓冲器级被配置为读取并存储所述存储器单元阵列中存储的所述映射数据当中的所述第二映射数据;以及
第二映射缓冲器级,该第二映射缓冲器级被配置为存储从所述存储控制器接收的逻辑块地址。
5.根据权利要求4所述的存储装置,其中,所述存储控制器被配置为与来自所述主机的请求一起接收所述逻辑块地址,并且当所接收的逻辑块地址对应于所述第二映射数据时,将所述逻辑块地址发送到所述存储器装置。
6.根据权利要求5所述的存储装置,其中,所述页缓冲器组被配置为执行映射数据搜索操作:搜索与从所述存储控制器接收并存储在所述第二映射缓冲器级中的所述逻辑块地址对应的搜索映射数据是否被包括在所述第一映射缓冲器级中存储的所述第二映射数据中。
7.根据权利要求6所述的存储装置,其中,所述存储器装置被配置为当在所述映射数据搜索操作期间所述搜索映射数据被确定为被包括在所述第二映射数据中时,向所述存储控制器发送特定逻辑电平的状态寄存器信号,并且
所述存储控制器被配置为基于所述状态寄存器信号识别出所述逻辑块地址与存储在所述第一映射缓冲器级中的所述第二映射数据匹配。
8.根据权利要求7所述的存储装置,其中,所述存储器装置被配置为将存储在所述第一映射缓冲器级中的所述第二映射数据当中的与所述逻辑块地址匹配的映射数据存储在所述存储器单元阵列中。
9.根据权利要求6所述的存储装置,其中,所述存储器装置被配置为当在所述映射数据搜索操作期间确定所述搜索映射数据不被包括在所述第二映射数据中时,通过读取存储在所述存储器单元阵列中的所述映射数据当中的新的第二映射数据来将所述新的第二映射数据存储在所述第一映射缓冲器级中,并且再次执行所述映射数据搜索操作。
10.根据权利要求1所述的存储装置,其中,所述存储器单元阵列包括单级单元区域和三级单元区域,并且
所述单级单元区域使用单级单元编程方法来编程,并且所述三级单元区域使用三级单元编程方法来编程。
11.根据权利要求10所述的存储装置,其中,所述存储装置被配置为在所述正常数据或所述映射数据的编程操作期间,将所述正常数据或所述映射数据编程在所述单级单元区域中,并且
在后台操作期间,读取存储在所述单级单元区域中的所述正常数据或所述映射数据,并且将所读取的正常数据或映射数据编程在所述三级单元区域中。
12.一种操作存储装置的方法,该方法包括以下步骤:
读取存储在存储器单元阵列的系统块中的映射数据当中的第一映射数据和第二映射数据;
将所述第一映射数据发送到存储控制器,将所述第一映射数据存储在所述存储控制器的存储器缓冲器中,并且将所述第二映射数据存储在存储器装置的页缓冲器组中;以及
当所述页缓冲器组从所述存储控制器接收到逻辑块地址时,执行搜索与所接收的逻辑块地址对应的搜索映射数据是否被包括在所述第二映射数据中的映射数据搜索操作。
13.根据权利要求12所述的方法,该方法还包括以下步骤:
当作为所述映射数据搜索操作的结果,所述搜索映射数据被确定为被包括在所述第二映射数据中时,将特定信号发送到所述存储控制器;以及
当作为所述映射数据搜索操作的结果,确定所述搜索映射数据不被包括在所述第二映射数据中时,读取存储在所述系统块中的所述映射数据当中的新的第二映射数据并且将所述新的第二映射数据存储在所述页缓冲器组中。
14.根据权利要求13所述的方法,该方法还包括以下步骤:
在正常数据编程操作期间,将所述逻辑块地址和要编程的所述正常数据从所述存储控制器发送到所述存储器装置;
将所述正常数据编程在所述存储器单元阵列中;以及
执行将所述第二映射数据当中的与所述逻辑块地址对应的映射数据存储在所述存储器单元阵列中的映射数据刷新操作。
15.根据权利要求14所述的方法,其中,所述存储器单元阵列包括单级单元区域和三级单元区域,并且
所述单级单元区域以单级单元编程方法编程,并且所述三级单元区域以三级单元编程方法编程。
16.根据权利要求15所述的方法,其中,与所述逻辑块地址对应的所述映射数据或所述正常数据被编程在所述存储器单元阵列的所述单级单元区域中。
17.根据权利要求12所述的方法,其中,所述第一映射数据是所述映射数据当中的具有相对低的访问次数的冷数据,并且所述第二映射数据是所述映射数据当中的具有相对高的访问次数的热数据。
18.一种操作存储装置的方法,该方法包括以下步骤:
在映射数据加载操作期间,将存储在系统块中的映射数据当中的第一映射数据存储在存储控制器中,并且将所述映射数据当中的第二映射数据存储在存储器装置的页缓冲器组中;
在映射数据搜索操作期间,由所述存储器装置从所述存储控制器接收逻辑块地址,并且搜索与所接收的逻辑块地址对应的搜索映射数据是否被包括在所述第二映射数据中;
在数据编程操作期间,由所述存储器装置从所述存储控制器接收正常数据和所述逻辑块地址,将所述正常数据存储在存储器单元阵列中,然后将所述第二映射数据当中的与所述逻辑块地址对应的映射数据留在所述页缓冲器组中;以及
在映射数据刷新操作期间,将留在所述页缓冲器组中的所述映射数据存储在所述存储器单元阵列中。
19.根据权利要求18所述的方法,其中,所述第一映射数据是所述映射数据当中的具有相对低的访问次数的冷数据,并且所述第二映射数据是所述映射数据当中的具有相对高的访问次数的热数据。
20.根据权利要求18所述的方法,其中,所述存储器单元阵列包括单级单元区域和三级单元区域,
所述单级单元区域以单级单元编程方法编程,所述三级单元区域以三级单元编程方法编程,并且
留在所述页缓冲器组中的所述正常数据或所述映射数据被编程在存储器单元阵列的所述单级单元区域中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200068098A KR20210151372A (ko) | 2020-06-05 | 2020-06-05 | 저장 장치 및 그 동작 방법 |
KR10-2020-0068098 | 2020-06-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113764011A true CN113764011A (zh) | 2021-12-07 |
Family
ID=78786658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110188505.5A Pending CN113764011A (zh) | 2020-06-05 | 2021-02-19 | 存储装置及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11379357B2 (zh) |
KR (1) | KR20210151372A (zh) |
CN (1) | CN113764011A (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100881052B1 (ko) * | 2007-02-13 | 2009-01-30 | 삼성전자주식회사 | 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른검색방법 |
US20140143476A1 (en) * | 2012-11-16 | 2014-05-22 | Rotem Sela | Usage of cache and write transaction information in a storage device |
KR102190670B1 (ko) * | 2014-03-03 | 2020-12-14 | 삼성전자주식회사 | 마이그레이션 관리자를 포함하는 메모리 시스템 |
US9383927B2 (en) * | 2014-05-28 | 2016-07-05 | SandDisk Technologies LLC | Method and system for creating a mapping table cache from an interleaved subset of contiguous mapping data for a storage device |
KR102308777B1 (ko) * | 2014-06-02 | 2021-10-05 | 삼성전자주식회사 | 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템의 동작방법 |
US10854290B1 (en) * | 2015-06-26 | 2020-12-01 | EMC IP Holding Company LLC | Utilizing a flash memory drive which includes single-level cell flash memory and multi-level cell flash memory |
KR102559518B1 (ko) | 2016-09-28 | 2023-07-26 | 에스케이하이닉스 주식회사 | 메모리 제어장치 및 방법 |
KR20190026231A (ko) * | 2017-09-04 | 2019-03-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20190040614A (ko) | 2017-10-11 | 2019-04-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
US10915475B2 (en) * | 2017-10-12 | 2021-02-09 | Western Digital Technologies, Inc. | Methods and apparatus for variable size logical page management based on hot and cold data |
US10802733B2 (en) * | 2018-04-27 | 2020-10-13 | Western Digital Technologies, Inc. | Methods and apparatus for configuring storage tiers within SSDs |
JP6995723B2 (ja) * | 2018-09-19 | 2022-01-17 | キオクシア株式会社 | メモリシステム、ストレージシステム、および制御方法 |
-
2020
- 2020-06-05 KR KR1020200068098A patent/KR20210151372A/ko unknown
- 2020-11-03 US US17/088,380 patent/US11379357B2/en active Active
-
2021
- 2021-02-19 CN CN202110188505.5A patent/CN113764011A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210382819A1 (en) | 2021-12-09 |
US11379357B2 (en) | 2022-07-05 |
KR20210151372A (ko) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461227B2 (en) | Storage device and operating method thereof | |
US10665291B2 (en) | Memory device and operating method thereof | |
CN111435289B (zh) | 映射数据访问性能提高的存储器控制器及其操作方法 | |
US11360900B2 (en) | Storage device and method of operating the same | |
CN114267392A (zh) | 存储器控制器、存储装置及其操作方法 | |
CN111352855B (zh) | 具有提高的映射更新速度的存储装置及其操作方法 | |
CN110780802A (zh) | 存储器控制器及其操作方法 | |
CN111177020B (zh) | 存储装置及其操作方法 | |
CN111105832A (zh) | 存储装置和操作存储装置的方法 | |
KR20200114009A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN112017709A (zh) | 存储器装置、存储控制器以及包括它们的存储装置 | |
KR20210090439A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
KR20200088709A (ko) | 저장 장치 및 그 동작 방법 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
US20190324693A1 (en) | Storage device and operating method thereof | |
CN114078530A (zh) | 存储器装置及其操作方法 | |
CN111506515B (zh) | 存储器控制器及其操作方法 | |
CN112309446A (zh) | 存储设备和操作存储设备的方法 | |
CN111338978A (zh) | 存储装置以及操作存储装置的方法 | |
CN114388038A (zh) | 存储器设备及其操作方法 | |
CN113971975A (zh) | 存储器装置及其操作方法 | |
KR20210017908A (ko) | 저장 장치 및 그 동작 방법 | |
US11379357B2 (en) | Storage device and method of operating the same | |
US11688464B2 (en) | Storage device and method of operating the same | |
US20230305712A1 (en) | Storage device including memory controller and operating method thereof |
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 |