CN111752853A - 控制器、存储器***及其操作方法 - Google Patents
控制器、存储器***及其操作方法 Download PDFInfo
- Publication number
- CN111752853A CN111752853A CN201910984966.6A CN201910984966A CN111752853A CN 111752853 A CN111752853 A CN 111752853A CN 201910984966 A CN201910984966 A CN 201910984966A CN 111752853 A CN111752853 A CN 111752853A
- Authority
- CN
- China
- Prior art keywords
- controller
- mapping
- host
- segment
- synchronization
- 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
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced 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/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- 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/1041—Resource optimization
- G06F2212/1044—Space efficiency 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/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/7205—Cleaning, compaction, garbage collection, erase control
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开的各个实施例总体涉及一种半导体装置,并且更特别地,涉及一种控制器、存储器***及其操作方法。在本公开的实施例中,用于控制非易失性存储器装置的控制器可以:在发生映射数据改变事件时执行将逻辑到物理(L2P)映射段传送到主机以更新存储在主机中包括的主机存储器中的L2P映射段的同步操作,将传送到主机的L2P映射段和执行同步操作的时间信息寄存在同步管理列表中,基于时间信息计算同步时段,并且对寄存在同步管理列表中的L2P映射段之中具有大于阈值时间的同步时段的L2P映射段执行同步操作。
Description
相关申请的交叉引用
本申请要求于2019年3月27日向韩国知识产权局提交的申请号为10-2019-0035143的韩国专利申请的优先权,其全部内容通过引用合并入本文。
技术领域
各个实施例总体涉及一种半导体装置,且更特别地,涉及一种控制器、存储器***及其操作方法。
背景技术
近来,计算机环境范例已经变为可随时随地使用计算机***的普适计算环境。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有存储器装置的存储器***。存储器***用于存储用于便携式电子装置中的数据。
由于使用存储器装置的存储器***不具有机械驱动器,因此数据存储装置具有优异的稳定性和耐用性,展现出高信息访问速度,并且具有低功耗。具有这些优点的存储器***的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(UFS)装置和固态驱动器(SSD)。
发明内容
在本公开的一个实施例中,用于控制非易失性存储器装置的控制器可以:当发生映射数据改变事件时,执行将L2P映射段传送到主机以更新存储在主机中包括的主机存储器中的L2P映射段的同步操作,将传送到主机的L2P映射段和执行同步操作的时间信息寄存在同步管理列表中,基于时间信息计算同步时段,并且对寄存在同步管理列表中的L2P映射段中具有大于阈值时间的同步时段的L2P映射段执行同步操作。
在本公开的一个实施例中,一种存储器***可以包括:非易失性存储器装置;以及控制器,用于控制非易失性存储器装置,其中非易失性存储器装置可以存储多个L2P映射段,每个L2P映射段包括多条L2P映射数据,并且其中控制器可以:当发生映射数据改变事件时,执行将L2P映射段传送到主机以更新存储在主机中包括的主机存储器中的L2P映射段的同步操作,将传送到主机的L2P映射段和执行同步操作的时间信息寄存在同步管理列表中,基于时间信息计算同步时段,并且对寄存在同步管理列表中的L2P映射段之中具有大于阈值时间的同步时段的L2P映射段执行同步操作
在本公开的一个实施例中,一种存储器***的操作方法,该存储器***包括非易失性存储器装置和用于控制非易失性存储器装置的控制器,其中该方法可以包括:通过非易失性存储器装置,存储多个逻辑到物理(L2P)映射段,每个L2P映射段包括多条L2P映射数据;通过控制器,在发生映射数据改变事件时,执行将L2P映射段传送到主机以更新存储在主机中包括的主机存储器中的L2P映射;;通过控制器,将传送到主机的L2P映射段和执行同步操作的时间信息寄存在同步管理列表中;通过控制器,基于时间信息计算同步时段;通过控制器,对寄存在同步管理列表中的L2P映射段之中具有大于阈值时间的同步时段的L2P映射段执行同步操作。
附图说明
结合附图描述特征、方面和实施例,在附图中:
图1是示出根据本公开的实施例的存储器***的示图;
图2是描述图1所示的存储器***使用主机的存储器资源的***流程的示图;
图3和图4是描述图1所示的存储器***的操作的示图;
图5是描述图1所示的存储器***的操作的示图;
图6是描述图1所示的存储器***的操作的示图;
图7是示出根据本公开的实施例的包括固态驱动器(SSD)的数据处理***的示图;
图8是图7所示的控制器的详细示图;
图9是示出根据本公开的实施例的包括存储器***的数据处理***的示图;
图10是示出根据本公开的实施例的包括存储器***的数据处理***的示图;
图11是示出根据本公开的实施例的包括存储器***的网络***的示图;以及
图12是图1所示的非易失性存储器装置的详细示图。
具体实施方式
在下文中,将下面通过各个实施例并参照附图来描述根据本公开的半导体设备。
图1是示出根据本公开的实施例的存储器***10的示图。参照图1,存储器***10可以存储待由诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)、车载信息娱乐***等的主机20访问的数据。存储器***10可以通过主机通道联接到主机20。
存储器***10可以根据联接到主机20的接口协议来形成各种类型的存储装置。例如,存储器***10可以配置为诸如以下的各种类型的存储装置中的任意一种:固态驱动器(SSD),MMC、eMMC、RS-MMC和微型-MMC形式的多媒体卡,SD、迷你-SD和微型-SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡类型的存储装置,***组件互连(PCI)类型的存储装置,高速PCI(PCI-E)类型的存储装置,紧凑型闪存(CF)卡,智能媒体卡,记忆棒等。
存储器***10可以被实现为诸如以下的各种类型的封装之中的任意一种:堆叠封装(POP)、***级封装(SIP)、片上***(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器***10可以包括非易失性存储器装置100和控制器200。
非易失性存储器装置100可以作为存储器***10的存储介质来操作。根据配置非易失性存储器装置100的存储器单元的类型,非易失性存储器装置100可以被实现为诸如以下的各种非易失性存储器装置之中的一种:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧穿磁阻(TMR)层的磁性随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PRAM)、使用过渡金属化合物的电阻式随机存取存储器(ReRAM)等。
尽管为了清楚,图1例示了存储器***10包括单个非易失性存储器装置100,但是存储器***10可以包括多个非易失性存储器装置。
非易失性存储器装置100可以包括存储器单元阵列(未示出),存储器单元阵列包括布置在多个字线(未示出)和多个位线(未示出)的交叉点处的多个存储器单元。存储器单元阵列可以包括多个存储块,每个存储块包括多个页面。
例如,存储器单元阵列中的每个存储器单元可以是能够存储1位数据的单层单元(SLC)或能够存储2位或更多数据的多层单元(MLC)。能够存储2位数据的存储器单元可以被称为多层单元(MLC),能够存储3位数据的存储器单元可以被称为三层单元(TLC),并且能够存储4位数据的存储器单元可以被称为四层单元(QLC)。然而,为了清楚起见,在说明书中可以将存储2位或更多数据的存储器单元统称为MLC。
存储器单元阵列可以包括SLC和MLC中的至少一个。存储器单元阵列可以包括以二维(例如,水平)结构布置的存储器单元或以3D垂直结构布置的存储器单元。
控制器200可以通过驱动加载在存储器230中的固件或软件来控制存储器***10的一般操作。控制器200可以解码和驱动代码类型的指令或算法,诸如固件或软件。控制器200可以实现为硬件或硬件和软件的组合。尽管未在图1中示出,但是控制器200还可以包括错误校正码(ECC)引擎,该错误校正码引擎被配置为通过对从主机20提供的写入数据进行ECC编码来生成奇偶校验,并且使用奇偶校验对从非易失性存储器装置100读取的读取数据进行ECC解码。
控制器200可以包括主机接口210、处理器220、存储器230和存储器接口240。
主机接口210可以根据主机20的协议接口连接存储器***10与主机20。例如,主机接口210可以通过下述协议之中的任意一个与主机20通信:通用串行总线(USB)协议、通用闪存(UFS)协议、多媒体卡(MMC)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机***接口(SCSI)协议、串列SCSI(SAS)协议、***组件互连(PCI)协议以及高速PCI(PCI-E)协议。
处理器220可以包括微控制单元(MCU)或中央处理单元(CPU)。处理器220可以处理从主机20传送的请求。为了处理从主机20传送的请求,处理器220可以驱动加载到存储器230中的基于代码的指令或算法(例如,固件)并控制非易失性存储器装置100和内部功能块,诸如主机接口210、存储器230和存储器接口240。
基于从主机20传送的请求,处理器220可以生成用于控制非易失性存储器装置100的操作的控制信号,并且可以通过存储器接口240将所生成的控制信号提供给非易失性存储器装置100。
当非易失性存储器装置100被实现为闪速存储器装置时,处理器220可以驱动被称为闪存转换层(FTL)的软件,以控制非易失性存储器装置100的独有操作并向主机20提供装置兼容性。当驱动FTL时,主机20可以识别存储器***10并将其用作诸如硬盘的通用存储装置。
存储器230可以被配置为只读存储器(ROM)和随机存取存储器(RAM),诸如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。存储器230可以存储待由处理器220驱动的固件。存储器230还可以存储驱动固件所需的数据(例如,元数据)。即,存储器230可以用作处理器220的工作存储器。
存储器230可以包括数据缓冲器,该数据缓冲器被配置为临时存储待从主机20传送到非易失性存储器装置100的写入数据,或待从非易失性存储器装置100传送到主机20的读取数据。即,存储器230可以用作处理器220的缓冲存储器。
存储器230可以包括用于各种目的的区域,诸如用作将临时存储写入数据的写入数据缓冲器的区域、用作将临时存储读取数据的读取数据缓冲器的区域、以及用作将高速缓存映射数据的映射高速缓存缓冲器的区域。
存储器230可以存储***数据以及元数据。
存储器接口240可以根据处理器220的控制来控制非易失性存储器装置100。存储器接口240可以被称为存储器控制器。存储器接口240可以通过通道向非易失性存储器装置100提供控制信号。控制信号可以包括用于控制非易失性存储器装置100的命令、地址和操作控制信号等。存储器接口240可以向非易失性存储器装置100提供存储在数据缓冲器中的数据,或将从非易失性存储器装置100传送的数据存储在数据缓冲器中。
主机20可以包括主机存储器21。如下文所述,根据本公开的实施例,可以通过使用主机20的主机存储器21来提高存储器***10的操作性能。
图2是描述图1所示的存储器***10使用主机20的存储器资源的***流程的示图。
参照图2,在步骤S210,主机20可以从存储器***10请求存储在存储器***10中的多个逻辑到物理(L2P)映射数据的全部或一部分。
L2P映射数据可以是指示由主机20使用的逻辑地址与由控制器200使用的物理地址之间的映射关系的数据,以访问非易失性存储器装置100中存储的数据。逻辑地址可以是以页面为单位设置的逻辑页面编号LPN、逻辑块地址LBA等。物理地址可以是以页面为单位设置的物理页面编号PPN、物理块地址PBN等。
在实施例中,在存储器***10的启动操作完成时,主机20可以从存储器***10请求L2P映射数据。
在实施例中,主机20可以请求存储在存储器***10中的多条L2P映射数据之中与特定工作负载相对应的L2P映射数据。
在实施例中,主机20可以请求存储在非易失性存储器装置100中的多条L2P映射数据的全部或一部分。
在实施例中,主机20可以请求存储在控制器200的存储器230中的多条L2P映射数据的全部或一部分。
在步骤S220,存储器***10可以将由主机20请求的L2P映射数据的全部或一部分传送到主机20。
在实施例中,控制器200的存储器230可以包括:DRAM,被配置为存储从非易失性存储器装置100接收的多条L2P映射数据;以及SRAM,被配置为高速缓存存储在DRAM中的多条L2P映射数据的全部或一部分。
在实施例中,存储器***10可以将存储在控制器200的存储器230中的多条L2P映射数据的全部或一部分传送到主机20。
在实施例中,存储器***10可以读取存储在非易失性存储器装置100中的多条L2P映射数据的全部或一部分,并且可以将读取的多条L2P映射数据传送到主机20。
主机20可以从存储器***10接收L2P映射数据,并且可以将接收的L2P映射数据高速缓存到主机存储器21中。
在步骤S230,当需要存储在存储器***10中的数据时,主机20可以生成读取命令,并且可以将所生成的读取命令传送到存储器***10。读取命令可以包括高速缓存在主机存储器21中的L2P映射数据之中针对与所需数据相对应的地址的L2P映射数据。
在步骤S240,存储器***10可以接收读取命令,并且可以根据接收的读取命令执行读取存储在非易失性存储器装置100中的数据的读取操作。
在实施例中,存储器***10可以基于包括在读取命令中的L2P映射数据来读取存储在非易失性存储器装置100中的数据。
在实施例中,存储器***10可以基于高速缓存在存储器230中的L2P映射数据而不是包括在读取命令中的L2P映射数据来读取存储在非易失性存储器装置100中的数据。
存储器***10可以将L2P映射数据高速缓存到具有相对较大存储容量的主机存储器21中,并且可以根据高速缓存在主机存储器21中的L2P映射数据来处理读取命令。因此,可以节省用于将L2P映射数据高速缓存到存储器***10中的存储器230的存储容量,并且由于在处理读取命令时无需参考高速缓存在存储器***10中的L2P映射数据,存储器***10的操作性能可以提高。
已经利用L2P映射数据作为示例描述了图2。然而,L2P映射数据可以以包括多条L2P映射数据的L2P映射段为单位被高速缓存到主机存储器21中。
图3和图4是描述图1所示的存储器***10的操作的示图。图4示出存储在存储器230中并高速缓存在主机存储器21中的L2P映射数据MD1。L2P映射数据MD1可以包括逻辑块地址LBA1和映射到逻辑块地址LBA1的物理页面编号PPN1。
参照图3和图4,在步骤S310,存储器***10可以改变存储在存储器230中的L2P映射数据MD1。例如,当执行诸如垃圾收集操作、读取回收操作、数据更新操作等导致映射数据改变事件的操作时,控制器200可以将最初存储在由物理页面编号PPN1指示的存储位置中的数据存储到由物理页面编号PPN2指示的存储位置中。如图4所示,由于在L2P映射数据MD1中映射到逻辑块地址LBA1的物理页面编号PPN1被改变为物理页面编号PPN2,所以L2P映射数据MD1的映射关系可以改变(①)。在这种情况下,由于高速缓存在主机存储器21中的L2P映射数据MD1的逻辑块地址LBA1仍然具有与物理页面编号PPN1的映射关系,因此需要执行同步操作以使高速缓存在主机存储器21中的L2P映射数据MD1同步到存储在控制器200中的改变的L2P映射数据MD1。
在实施例中,存储器***10可以通知主机20L2P映射数据MD1的改变。
在实施例中,主机20可以将对高速缓存在主机存储器21中的L2P映射数据MD1的同步请求传送到存储器***10。
在实施例中,当存储器***10通知L2P映射数据MD1的改变时,主机20可以向存储器***10传送同步请求。
在步骤S320,当从主机20接收到同步请求时,存储器***10可以将改变的L2P映射数据传送到主机20。即,如图4所示,控制器200可以将存储在存储器230中的L2P映射数据MD1传送到主机20(②)。
在步骤S330,主机20可以从控制器200接收改变的L2P映射数据MD1。主机20可以基于传送的L2P映射数据MD1更新高速缓存在主机存储器21中的L2P映射数据MD1(③)。即,可以改变由高速缓存在主机存储器21中的L2P映射数据MD1表示的映射关系,使得映射到逻辑块地址LBA1的物理页面编号PPN1改变为物理页面编号PPN2。
已经利用L2P映射数据作为示例描述了图3和图4。然而,可以以包括多条L2P映射数据的L2P映射段为单位来执行主机存储器21中的更新。
图5是描述图1所示的存储器***10的操作的示图。
在下文中,将基于参照图2至图4描述的操作来描述根据本公开的实施例的存储器***以包括多条L2P映射数据的L2P映射段为单位执行的操作。
在步骤S510,存储器***10可以执行同步操作。例如,当发生映射数据改变事件时,控制器200可以将包括改变的L2P映射数据的L2P映射段传送到主机20。基于包括改变的L2P映射数据的L2P映射段,主机20可以更新已高速缓存在主机存储器21中的L2P映射段。
在步骤S520,存储器***10可以管理同步管理列表。例如,控制器200可以将对其执行同步操作的L2P映射段寄存在同步管理列表中。而且,控制器200可以将对寄存在同步管理列表中的L2P映射段执行同步操作的时间信息寄存在同步管理列表中。
在步骤S530,存储器***10可以计算同步时段。例如,基于寄存在同步管理列表中的时间信息,控制器200可以计算对各个L2P映射段的同步操作之间的时间间隔、同步时段等。通过将计算的同步时段与阈值时间进行比较,控制器200可以确定对每个L2P映射段执行同步操作的时段是否大于阈值时间。
在实施例中,控制器200可以将计算的同步时段寄存在同步管理列表中。
在步骤S540,存储器***10可以将寄存在同步管理列表中的L2P映射段保持为同步操作的目标。例如,控制器200可以将其同步时段大于阈值时间的L2P映射段保持为同步操作的目标。因此,当发生映射数据改变事件时,控制器200可以对其同步时段大于阈值时间的L2P映射段执行同步操作。
在实施例中,控制器200可以在单独的列表中将L2P映射段管理为同步操作的目标(即,允许对其执行同步操作的L2P映射段)。
在步骤S550,存储器***10可以从同步操作的目标中排除(即,取消)寄存在同步管理列表中的L2P映射段。例如,控制器200可以从同步操作的目标中排除同步时段等于或小于阈值时间的L2P映射段。这是因为太频繁的同步操作可能会使存储器***10的操作性能劣化。控制器200可以将同步时段等于或小于阈值时间的L2P映射段高速缓存到存储器230中。
在实施例中,控制器200可以在单独的列表中管理从同步操作的目标中排除的L2P映射段。在实施例中,控制器200可以在单独的列表中管理被高速缓存到存储器230中的L2P映射段。
在实施例中,当同步时段等于或小于阈值时间的L2P映射段已经被高速缓存在存储器230中时,控制器200可以从高速缓存逐出目标中排除该L2P映射段。换言之,可以将同步时段等于或小于阈值时间的L2P映射段保持为高速缓存。
在实施例中,控制器200可以在单独的列表中管理从高速缓存逐出目标中排除的L2P映射段。
当用作映射高速缓存时,存储器230可以根据工作负荷来高速缓存不同的L2P映射数据。根据本公开的实施例,同步时段等于或小于阈值时间的L2P映射数据可以被保持为高速缓存,而不管工作负荷如何。
因此,存储器***10可以不对频繁改变的L2P映射段执行同步操作,并且因此,可以防止由于向主机20传送L2P映射段而导致的操作性能劣化。而且,存储器***10可以将频繁改变的L2P映射段保持高速缓存在存储器230中,并且因此可以提高自身的读取操作性能。
已经利用以L2P映射段为单位作为示例描述了图5。然而,存储器***10可以以与以L2P映射段为单位基本相同的方式,以L2P映射数据为单位进行操作,因此将省略关于以L2P映射数据为单位的进一步描述。
图6是描述图1所示的存储器***10的操作的示图。
在下文中,将基于参照图5描述的存储器***10的操作来描述根据本公开的实施例的存储器***执行的操作。
参照图6,在步骤S610,存储器***10可以从主机20接收读取命令。读取命令可以包括高速缓存在主机存储器21中的、用于与请求读取的数据相对应的地址的L2P映射数据。
在步骤S620,存储器***10可以将阈值时间与对应于读取命令的L2P映射段的同步时段进行比较。例如,控制器200可以确定对应于读取命令的L2P映射段的同步时段是否大于阈值时间。对应于读取命令的L2P映射段可以指包括被参考以用于处理读取命令的L2P映射数据的L2P映射段。
在步骤S630,存储器***10可以基于包括在读取命令中的地址来执行读取操作。例如,当对应于读取命令的L2P映射段的同步时段大于阈值时间时,控制器200可以基于包括在读取命令中的L2P映射数据,即物理地址,对非易失性存储器装置100执行读取操作。
在步骤S640,存储器***10可以基于高速缓存在存储器230中的L2P映射数据执行读取操作。例如,当对应于读取命令的L2P映射段的同步时段等于或小于阈值时间时,控制器200可以基于高速缓存在存储器230中的L2P映射段中包括的L2P映射数据的物理地址,控制非易失性存储器装置100执行读取操作。
图7是示出根据本公开的实施例的包括固态驱动器(SSD)2200的数据处理***2000的示图。参照图7,数据处理***2000可以包括主机2100和SSD 2200。
SSD 2200可以包括控制器2210、缓冲存储器2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和电源连接器2260。
控制器2210可以控制SSD 2200的全部操作。可以以与图1的控制器100基本相同的方式来实施和操作控制器2210。
缓冲存储器2220可以临时存储待被存储在非易失性存储器装置2231至223n中的数据。此外,缓冲存储器2220可以临时存储从非易失性存储器装置2231至223n读出的数据。根据控制器2210的控制,临时存储在缓冲存储器2220中的数据可以被传送到主机2100或非易失性存储器装置2231至223n。
非易失性存储器装置2231至223n可以用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以分别通过多个通道CH1至CHn电联接到控制器2210。一个或多个非易失性存储器装置可以联接到单个通道。联接到单个通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源2240可以向SSD 2200的内部提供通过电源连接器2260输入的电力PWR。电源2240可以包括辅助电源2241。在发生突然断电(SPO)时,辅助电源2241可以提供电力以允许SSD 2200正常终止。辅助电源2241可以包括能够充电电力PWR的大容量电容器。
控制器2210可通过信号连接器2250与主机2100交换信号SGL。信号SGL可包括命令、地址、数据等。根据主机2100和SSD 2200之间的接口方案,信号连接器2250可以利用各种类型的连接器来配置。
图8是图7所示的控制器2210的详细示图。参照图8,控制器2210可以包括主机接口2211、控制器2212、随机存取存储器(RAM)2213、错误校正码(ECC)组件2214和存储器接口2215。
根据主机2100的协议,主机接口2211可以接口连接SSD 2200与主机2100。例如,主机接口2211可以通过下述协议之中的任意一种协议与主机2100通信:安全数字(SD)、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机***接口(SCSI)、串列SCSI(SAS)、***组件互连(PCI)、高速PCI(PCI-E)、通用闪存(UFS)等。另外,主机接口2211可执行磁盘仿真功能,以支持主机2100将SSD 2200识别为例如硬盘驱动器(HDD)的通用存储器***。
控制器2212可以解析并处理从主机2100提供的信号SGL。控制器2212可以根据用于驱动SSD 2200的固件或软件来控制内部功能块的操作。随机存取存储器2213可以作为用于驱动这种固件或软件的工作存储器而操作。
ECC组件2214可以生成待被传送到非易失性存储器装置2231至223n的数据的奇偶校验数据。可以将所生成的奇偶校验数据与该数据一起存储在非易失性存储器装置2231至223n中。ECC组件2214可以基于奇偶校验数据来检测从非易失性存储器装置2231至223n读出的数据的错误。当检测到的错误在可校正范围内时,ECC组件2214可以校正检测到的错误。
根据控制器2212的控制,存储器接口2215可以将诸如命令和地址的控制信号提供给非易失性存储器装置2231至223n。根据控制器2212的控制,存储器接口2215可以与非易失性存储器装置2231至223n交换数据。例如,存储器接口2215可以将存储在缓冲存储器2220中的数据提供给非易失性存储器装置2231至223n,或者将从非易失性存储器装置2231至223n读出的数据提供给缓冲存储器2220。
图9是示出根据本公开的实施例的包括存储器***3200的数据处理***3000的示图。参照图9,数据处理***3000可以包括主机3100和存储器***3200。
主机3100可以以诸如印刷电路板(PCB)的板形式来配置。尽管未在图9中示出,但是主机3100可以包括用于执行主机的功能的内部功能块。
主机3100可以包括连接端子3110,诸如插座、插槽或连接器。存储器***3200可以被安装在连接端子3110上。
存储器***3200可以以诸如印刷电路板的板形式来配置。存储器***3200可以被称为存储器模块或存储卡。存储器***3200可以包括控制器3210、缓冲存储器3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240以及连接端子3250。
控制器3210可以控制存储器***3200的全部操作。可以以与图8中所示的控制器2210基本相同的方式来配置控制器3210。
缓冲存储器3220可以临时存储待被存储在非易失性存储器装置3231和3232中的数据。此外,缓冲存储器3220可以临时存储从非易失性存储器装置3231和3232读出的数据。根据控制器3210的控制,临时存储在缓冲存储器3220中的数据可以被传送到主机3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作存储器***3200的存储介质。
PMIC 3240可以向存储器***3200的内部提供通过连接端子3250输入的电力。PMIC 3240可以根据控制器3210的控制来管理存储器***3200的电力。
连接端子3250可以电联接至主机3100的连接端子3110。通过连接端子3250,诸如命令、地址、数据等的信号以及电力可以在主机3100与主机3200之间传送。根据主机3100和存储器***3200之间的接口方案,连接端子3250可以被配置为各种类型。连接端子3250可以被设置在存储器***3200的任意一侧上。
图10是示出根据本公开的实施例的包括存储器***4200的数据处理***4000的示图。参照图10,数据处理***4000可以包括主机4100和存储器***4200。
主机4100可以以诸如印刷电路板(PCB)的板形式来配置。尽管未在图10中示出,但是主机4100可以包括用于执行主机的功能的内部功能块。
存储器***4200可以以表面安装类型的封装形式来配置。存储器***4200可以通过焊球4250安装在主机4100上。存储器***4200可以包括控制器4230、缓冲存储器4220和非易失性存储器装置4210。
控制器4230可以控制存储器***4200的全部操作。可以以与图8所示的控制器2210基本相同的方式来配置控制器4230。
缓冲存储器4220可以临时存储待被存储在非易失性存储器装置4210中的数据。此外,缓冲存储器4220可以临时存储从非易失性存储器装置4210读出的数据。根据控制器4230的控制,临时存储在缓冲存储器4220中的数据可以被传送到主机4100或非易失性存储器装置4210。
非易失性存储器装置4210可以用作存储器***4200的存储介质。
图11是示出根据本公开的实施例的包括存储器***5200的网络***5000的示图。参照图11,网络***5000可以包括通过网络5500彼此电联接的服务器***5300和多个客户端***5410至5430。
服务器***5300可以响应于来自多个客户端***5410至5430的请求来服务数据。例如,服务器***5300可以存储从多个客户端***5410至5430提供的数据。在另一示例中,服务器***5300可以向多个客户端***5410至5430提供数据。
服务器***5300可以包括主机5100和存储器***5200。存储器***5200可以由图1所示的存储器***10、图7所示的存储器***2200、图9所示的存储器***3200或图10所示的存储器***4200来配置。
图12是图1所示的非易失性存储器装置100的详细示图。参照图12,非易失性存储器装置100可以包括存储器单元阵列110、行解码器120、列解码器130、数据读取/写入块140、电压生成器150和控制逻辑160。
存储器单元阵列110可以包括存储器单元MC,该存储器单元MC布置在字线WL1至WLm与位线BL1至BLn之间的交叉点处。
行解码器120可以通过字线WL1至WLm与存储器单元阵列110联接。行解码器120可以根据控制逻辑160的控制来操作。行解码器120可以对从外部装置(未示出)提供的地址解码。行解码器120可以基于解码结果选择并驱动字线WL1至WLm。例如,行解码器120可以向字线WL1至WLm提供从电压生成器150提供的字线电压。
数据读取/写入块140可以通过位线BL1至BLn与存储器单元阵列110联接。数据读取/写入块140可以包括分别与位线BL1至BLn相对应的读取/写入电路RW1至RWn。数据读取/写入块140可以根据控制逻辑160的控制来操作。根据操作模式,数据读取/写入块140可以作为写入驱动器或读出放大器来操作。例如,在写入操作期间,数据读取/写入块140可以作为写入驱动器来操作,写入驱动器被配置为将从外部装置提供的数据存储在存储器单元阵列110中。又例如,在读取操作期间,数据读取/写入块140可以作为读出放大器来操作,读出放大器被配置为从存储器单元阵列110读出数据。
列解码器130可以根据控制逻辑160的控制来操作。列解码器130可以对从外部装置提供的地址解码。基于解码结果,列解码器130可以将数据读取/写入块140的分别与位线BL1至BLn相对应的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压生成器150可生成待在非易失性存储器装置100的内部操作中使用的电压。由电压生成器150生成的电压可被施加到存储器单元阵列110的存储器单元。例如,在编程操作期间生成的编程电压可以被施加到将执行编程操作的存储器单元的字线。又例如,在擦除操作期间生成的擦除电压可以被施加到将执行擦除操作的存储器单元的阱区。再例如,在读取操作期间生成的读取电压可以被施加到将执行读取操作的存储器单元的字线。
控制逻辑160可以基于从外部装置提供的控制信号来控制非易失性存储器装置100的一般操作。例如,控制逻辑160可以控制非易失性存储器装置100的操作,诸如非易失性存储器装置100的读取操作、写入操作和擦除操作。
虽然以上已经描述了某些实施例,但是本领域技术人员将理解的是,所描述的实施例仅仅作为示例。因此,不应基于所描述的实施例来限制控制器、存储器***及其操作方法。相反,当结合以上描述和附图时,在本文中描述的控制器、存储器***及其操作方法仅应根据所附权利要求书来限制。
Claims (20)
1.一种控制器,所述控制器控制非易失性存储器装置,所述控制器:
当发生映射数据改变事件时,执行将逻辑到物理映射段,即L2P映射段传送到主机以更新存储在所述主机中包括的主机存储器中的所述L2P映射段的同步操作,
将传送到所述主机的所述L2P映射段和执行所述同步操作的时间信息寄存在同步管理列表中,
基于所述时间信息计算同步时段,以及
对寄存在所述同步管理列表中的L2P映射段之中具有大于阈值时间的同步时段的L2P映射段执行所述同步操作。
2.根据权利要求1所述的控制器,其中所述控制器从所述同步操作的目标中排除寄存在所述同步管理列表中的所述L2P映射段之中具有等于或小于所述阈值时间的所述同步时段的第一L2P映射段。
3.根据权利要求2所述的控制器,其中所述控制器将所述第一L2P映射段高速缓存到所述控制器的存储器中。
4.根据权利要求3所述的控制器,其中所述控制器:当所述第一L2P映射段已被高速缓存在所述存储器中时,从高速缓存逐出目标中排除所述第一L2P映射段。
5.根据权利要求3所述的控制器,其中所述控制器:当从所述主机接收的读取命令与所述第一L2P映射段相对应时,基于高速缓存在所述存储器中的所述第一L2P映射段,对所述非易失性存储器装置执行读取操作。
6.根据权利要求1所述的控制器,其中所述控制器:当从所述主机接收的读取命令对应于具有大于所述阈值时间的所述同步时段的所述L2P映射段时,基于所述读取命令中包括的L2P映射数据,对所述非易失性存储器装置执行读取操作。
7.根据权利要求1所述的控制器,其中所述映射数据改变事件是在传送到所述主机的所述L2P映射段中包括的多条L2P映射数据之中,逻辑地址和物理地址之间的至少一个映射关系发生改变的事件。
8.根据权利要求1所述的控制器,其中所述映射数据改变事件是对与传送到所述主机的所述L2P映射段相对应的数据的更新操作、垃圾收集操作以及读取回收操作中的至少一个。
9.一种存储器***,包括:
非易失性存储器装置;以及
控制器,控制所述非易失性存储器装置,
其中,所述非易失性存储器装置存储多个逻辑到物理映射段,即L2P映射段,每个所述L2P映射段包括多条L2P映射数据,并且
其中,所述控制器:在发生映射数据改变事件时,执行将L2P映射段传送到主机以更新存储在所述主机中包括的主机存储器中的所述L2P映射段的同步操作;将传送到所述主机的所述L2P映射段和执行所述同步操作的时间信息寄存在同步管理列表中;基于所述时间信息计算同步时段;并且对寄存在所述同步管理列表中的L2P映射段之中具有大于阈值时间的所述同步时段的L2P映射段执行所述同步操作。
10.根据权利要求9所述的存储器***,其中所述控制器从所述同步操作的目标中排除寄存在所述同步管理列表中的所述L2P映射段之中具有等于或小于所述阈值时间的所述同步时段的第一L2P映射段。
11.根据权利要求10所述的存储器***,其中所述控制器将所述第一L2P映射段高速缓存到所述控制器的存储器中。
12.根据权利要求11所述的存储器***,其中所述控制器:当所述第一L2P映射段已被高速缓存在所述存储器中时,从高速缓存逐出目标中排除所述第一L2P映射段。
13.根据权利要求11所述的存储器***,其中所述控制器:当从所述主机接收的读取命令与所述第一L2P映射段相对应时,基于高速缓存在所述存储器中的所述第一L2P映射段,对所述非易失性存储器装置执行读取操作。
14.根据权利要求9所述的存储器***,其中所述控制器:当从所述主机接收的读取命令对应于具有大于所述阈值时间的所述同步时段的所述L2P映射段时,基于所述读取命令中包括的L2P映射数据,对所述非易失性存储器装置执行读取操作。
15.根据权利要求9所述的存储器***,其中所述映射数据改变事件是在传送到所述主机的所述L2P映射段中包括的多条L2P映射数据之中,逻辑地址和物理地址之间的至少一个映射关系发生改变的事件。
16.根据权利要求9所述的存储器***,其中所述映射数据改变事件是对与传送到所述主机的所述L2P映射段相对应的数据的更新操作、垃圾收集操作以及读取回收操作中的至少一个。
17.一种存储器***的操作方法,所述存储器***包括非易失性存储器装置和控制所述非易失性存储器装置的控制器,所述方法包括:
通过所述非易失性存储器装置,存储多个逻辑到物理映射段,即L2P映射段,每个所述L2P映射段包括多条L2P映射数据;
通过所述控制器,在发生映射数据改变事件时,执行将L2P映射段传送到主机以更新存储在所述主机中包括的主机存储器中的所述L2P映射段的同步操作;
通过所述控制器,将传送到所述主机的所述L2P映射段和执行所述同步操作的时间信息寄存在同步管理列表中;
通过所述控制器,基于所述时间信息计算同步时段;并且
通过所述控制器,对寄存在所述同步管理列表中的L2P映射段之中具有大于阈值时间的所述同步时段的L2P映射段执行所述同步操作。
18.如权利要求17所述的操作方法,进一步包括:
通过所述控制器,从所述同步操作的目标中排除寄存在所述同步管理列表中的所述L2P映射段之中具有等于或小于所述阈值时间的所述同步时段的第一L2P映射段;并且
通过所述控制器,将所述第一L2P映射段高速缓存到所述控制器的存储器中。
19.根据权利要求18所述的操作方法,进一步包括:
通过所述控制器,当从所述主机接收的读取命令与所述第一L2P映射段相对应时,基于高速缓存在所述存储器中的所述第一L2P映射段,对所述非易失性存储器装置执行读取操作。
20.根据权利要求18所述的操作方法,进一步包括:
通过所述控制器,当从所述主机接收的读取命令对应于具有大于所述阈值时间的所述同步时段的所述L2P映射段时,基于所述读取命令中包括的L2P映射数据,对所述非易失性存储器装置执行读取操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0035143 | 2019-03-27 | ||
KR1020190035143A KR20200114052A (ko) | 2019-03-27 | 2019-03-27 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111752853A true CN111752853A (zh) | 2020-10-09 |
Family
ID=72603874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910984966.6A Withdrawn CN111752853A (zh) | 2019-03-27 | 2019-10-16 | 控制器、存储器***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11163696B2 (zh) |
KR (1) | KR20200114052A (zh) |
CN (1) | CN111752853A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023092446A1 (zh) * | 2021-11-26 | 2023-06-01 | 华为技术有限公司 | 数据同步方法及相关设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI761992B (zh) * | 2020-10-16 | 2022-04-21 | 創鑫智慧股份有限公司 | 資料計算裝置及其操作方法 |
US11734193B2 (en) * | 2020-12-14 | 2023-08-22 | Micron Technology, Inc. | Exclusion regions for host-side memory address translation |
KR20220165128A (ko) | 2021-06-07 | 2022-12-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 데이터 처리 시스템 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8935302B2 (en) * | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
KR20140057454A (ko) | 2012-11-02 | 2014-05-13 | 삼성전자주식회사 | 비휘발성 메모리 장치 및 이와 통신하는 호스트 장치 |
KR20160148952A (ko) | 2015-06-17 | 2016-12-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102501751B1 (ko) | 2015-09-22 | 2023-02-20 | 삼성전자주식회사 | 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법 |
KR102667430B1 (ko) | 2016-08-04 | 2024-05-23 | 삼성전자주식회사 | 호스트 메모리를 이용하는 데이터 저장 장치 및 그것의 동작 방법 |
US10459644B2 (en) * | 2016-10-28 | 2019-10-29 | Western Digital Techologies, Inc. | Non-volatile storage system with integrated compute engine and optimized use of local fast memory |
-
2019
- 2019-03-27 KR KR1020190035143A patent/KR20200114052A/ko active Search and Examination
- 2019-10-07 US US16/595,013 patent/US11163696B2/en active Active
- 2019-10-16 CN CN201910984966.6A patent/CN111752853A/zh not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023092446A1 (zh) * | 2021-11-26 | 2023-06-01 | 华为技术有限公司 | 数据同步方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
US20200310983A1 (en) | 2020-10-01 |
US11163696B2 (en) | 2021-11-02 |
KR20200114052A (ko) | 2020-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10789161B2 (en) | Data storage device to identify and process a sequential read request and operating method thereof | |
CN110858129B (zh) | 数据存储装置及其操作方法 | |
CN111506516B (zh) | 数据存储装置及数据存储装置的操作方法 | |
US10877887B2 (en) | Data storage device and operating method thereof | |
CN111414312B (zh) | 数据存储装置及其操作方法 | |
US10769066B2 (en) | Nonvolatile memory device, data storage device including the same and operating method thereof | |
US11269765B2 (en) | Operating method of controller and memory system | |
US11163696B2 (en) | Controller, memory system and operating method thereof for controlling a non-volatile memory device during a sync-up operation | |
US11520694B2 (en) | Data storage device and operating method thereof | |
CN111124273A (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN111916140A (zh) | 控制器及其操作方法以及包括控制器的存储器*** | |
CN113704138A (zh) | 存储装置及其操作方法 | |
CN112286443A (zh) | 控制器、存储器***及其操作方法 | |
CN111752858A (zh) | 控制器、存储器***及其操作方法 | |
CN112988045A (zh) | 数据存储装置及其操作方法 | |
CN112328516A (zh) | 控制器、控制器的操作方法以及包括控制器的存储装置 | |
US11157401B2 (en) | Data storage device and operating method thereof performing a block scan operation for checking for valid page counts | |
CN110795366B (zh) | 数据存储装置及数据存储装置的操作方法 | |
CN110795360B (zh) | 数据存储设备以及该数据存储设备的操作方法 | |
CN113805793A (zh) | 存储装置及其操作方法 | |
CN114385070A (zh) | 主机、数据存储装置、数据处理***以及数据处理方法 | |
CN112445714A (zh) | 半导体存储器设备的地址搜索电路和方法及其控制器 | |
CN112231240A (zh) | 控制器、存储器***及其操作方法 | |
US11216384B2 (en) | Controller, memory system and operating method of the controller | |
US11157214B2 (en) | Controller, memory system 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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201009 |