CN113703662A - 存储器***、存储器控制器及其操作方法 - Google Patents
存储器***、存储器控制器及其操作方法 Download PDFInfo
- Publication number
- CN113703662A CN113703662A CN202110024914.1A CN202110024914A CN113703662A CN 113703662 A CN113703662 A CN 113703662A CN 202110024914 A CN202110024914 A CN 202110024914A CN 113703662 A CN113703662 A CN 113703662A
- Authority
- CN
- China
- Prior art keywords
- host
- memory
- mapping information
- memory system
- area
- 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
- 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/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
-
- 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/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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host 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/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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- 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/31—Providing disk cache in a specific location of a storage system
- G06F2212/311—In host system
-
- 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/46—Caching storage objects of specific type in disk cache
- G06F2212/466—Metadata, 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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/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)
- Read Only Memory (AREA)
Abstract
所公开技术的实施例涉及存储器***、存储器控制器及其操作方法。该存储器***包括存储器装置和被配置为控制该存储器装置的存储器控制器。存储器控制器被配置为在主机完成对存储器***的第一初始设置操作之后,将逻辑地址和物理地址之间的映射信息传输到主机,以便将逻辑地址和物理地址之间的映射信息加载到位于主机中的主机存储器区域中,并且在主机运行对存储器***的第二初始设置操作之前,将逻辑地址和物理地址之间的更新后的映射信息传输到主机,以更新加载到主机存储器区域中的逻辑地址和物理地址之间的映射信息。通过这种方式,存储器***可以提高对主机的响应性,并且可以使主机能够有效地管理逻辑地址和物理地址之间的映射信息。
Description
相关申请的交叉引用
本专利文件要求于2020年5月20日提交的申请号为10-2020-0060049的韩国专利申请的优先权和权益,该韩国专利申请通过引用整体并入本文。
技术领域
本专利文件中公开的技术和实施方案涉及存储器***、存储器控制器及其操作方法。
背景技术
存储装置是指用于永久或临时存储数据的电子组件。每个存储装置可以包括一个或多个存储介质,以基于来自主机的请求而存储数据和进行操作。主机的示例包括计算机、诸如智能电话或平板电脑的移动终端或其它各种电子装置。可以基于存储介质的类型对存储装置进行分类。例如,硬盘驱动器(HDD)使用磁盘作为存储介质,并且固态驱动器(SSD)、通用闪存装置(UFS)或嵌入式MMC(eMMC)装置使用诸如易失性存储器装置和非易失性存储器装置的半导体装置作为存储介质。
存储器***可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以接收从主机输入的命令,并且基于所接收的命令,可以运行或控制对存储器***中包括的易失性存储器或非易失性存储器中的数据的读取操作、写入操作或擦除操作。存储器控制器可以驱动固件以执行用于运行或控制这种操作的逻辑操作。
当向存储器***输出命令时,主机可以将逻辑地址LA和物理地址PA之间的映射信息与该命令一起输出。这用于通过减少存储器***在映射表或映射高速缓存中搜索逻辑地址LA和物理地址PA之间的映射信息所需的时间来提高读取操作或写入操作的性能。为此,当执行对存储器***的初始设置操作时,主机可以从存储器***获得逻辑地址LA和物理地址PA之间的映射信息。
发明内容
所公开技术的实施例可以提供可以提高对主机的响应性的存储器***、存储器控制器及其操作方法。
另外,所公开技术的实施例可以提供可以允许主机有效地管理逻辑地址和物理地址之间的映射信息的存储器***、存储器控制器及其操作方法。
一方面,所公开技术的实施例可以提供一种存储器***,包括:存储器装置,被构造为提供用于存储信息的存储器;以及存储器控制器,被配置为控制该存储器装置。存储器控制器可以通信地联接到访问存储器***的主机。
存储器控制器可以在主机完成对存储器***的第一初始设置操作之后,将逻辑地址和物理地址之间的映射信息传输到主机,以便将逻辑地址和物理地址之间的映射信息加载到位于主机中的主机存储器区域中。
在主机在第一初始设置操作之后运行对存储器***的第二初始设置操作之前,存储器控制器可以将逻辑地址和物理地址之间的更新后的映射信息传输到主机,以基于对主机存储器区域做出的改变来更新加载到主机存储器区域中的映射信息。
存储器控制器可以从主机接收关于主机存储器区域的起始地址和大小的信息。此时,可以将主机存储器区域的大小指示为基于存储器装置确定的单位区域的计数值。
当从主机接收请求将映射信息传输到主机存储器区域的第一查询命令时,存储器控制器可以将该映射信息传输到主机。
当在接收第一查询命令之后接收请求更新加载到主机存储器区域中的映射信息的第二查询命令时,存储器控制器可以将更新后的映射信息传输到主机。
存储器控制器可以接收包括映射信息或更新后的映射信息的命令以执行读取操作或写入操作。
另一方面,所公开技术的实施例可以提供一种存储器控制器,包括:存储器接口,被配置为与存储器装置通信;以及控制电路,与存储器装置以及访问存储器控制器的主机通信,该控制电路被配置为控制该存储器装置。
控制电路可以在主机的第一初始设置操作之后,将逻辑地址和物理地址之间的映射信息传输到主机,以将逻辑地址和物理地址之间的映射信息加载到位于主机中的主机存储器区域中。
控制电路可以在主机的第二初始设置操作之前,将逻辑地址和物理地址之间的更新后的映射信息传输到主机。映射信息基于对位于主机中的主机存储器区域做出的改变而更新。
控制电路可以从主机接收关于主机存储器区域的起始地址和大小的信息。此时,可以将主机存储器区域的大小指示为基于存储器装置确定的单位区域的计数值。
当从主机接收请求将映射信息传输到主机存储器区域的第一查询命令时,控制电路可以将映射信息传输到主机。
当在接收第一查询命令之后接收指示所述主机存储器区域的起始地址或大小的改变的第二查询命令时,控制电路可以将更新后的映射信息传输到主机。
控制电路可以接收包括映射信息或更新后的映射信息的命令以执行读取操作或写入操作。
另一方面,所公开技术的实施例可以提供一种存储器***的操作方法,包括:在主机完成对存储器***的第一初始设置操作之后,从主机接收传输逻辑地址和物理地址之间的映射信息的请求,该映射信息将被加载到位于主机中的主机存储器区域中。
存储器***的操作方法可以进一步包括:响应于来自主机的请求而将逻辑地址和物理地址之间的映射信息传输到主机。
存储器***的操作方法可以包括:在主机运行对存储器***的第二初始设置操作之前,将更新后的映射信息传输到主机,以便更新映射信息。
同时,存储器***的操作方法可以进一步包括:从主机接收关于主机存储器区域的起始地址和大小的信息。此时,可以将主机存储器区域的大小指示为单位区域的计数值。
传输映射信息的请求可以包括请求将映射信息传输到主机存储器区域的第一查询命令。
可以响应于接收请求更新加载到主机存储器区域中的映射信息的第二查询命令而执行对更新后的映射信息的传输。
存储器***的操作方法可以进一步包括:从主机接收包括映射信息或更新后的映射信息的命令,以执行读取操作或写入操作。
映射信息可以基于对位于主机中的主机存储器区域做出的改变而更新。
根据所公开技术的实施例,可以提高对主机的响应性。
另外,根据所公开技术的实施例,可以使主机能够有效地管理逻辑地址和物理地址之间的映射信息。
附图说明
从以下结合附图的详细描述中,所公开技术的上述和其它方面、特征和优点将变得更加显而易见,其中:
图1是示出根据所公开技术的实施例的存储器***的示意性配置的示图;
图2是示意性地示出根据所公开技术的实施例的存储器装置的框图;
图3是示意性地示出根据所公开技术的实施例的存储器装置的存储块的示图;
图4是示出根据所公开技术的实施例的存储器装置的字线和位线的结构的示图;
图5是示意性地示出根据所公开技术的实施例的存储器***的操作的示图;
图6是示出根据所公开技术的实施例的主机和存储器***中的每一个的操作的示例的示图;
图7是示出根据所公开技术的实施例的存储器***从主机接收主机存储器区域的信息的示例的示图;
图8是示出根据所公开技术的实施例的存储器***处理由主机传输的第一查询命令的操作的示例的示图;
图9是示出根据所公开技术的实施例的存储器***处理由主机传输的第二查询命令的操作的示例的示图;
图10是示出根据所公开技术的实施例的存储器***的操作方法的流程图;并且
图11是示出根据所公开技术的实施例的计算***的配置的示图。
具体实施方式
在下文中,将参照附图详细描述所公开技术的实施例的示例。
图1是示出基于所公开技术的实施例的存储器***100的示意性配置的示图。
参照图1,基于所公开技术的实施例的存储器***100可以包括被配置为存储数据的存储器装置110和被配置为控制存储器装置110的存储器控制器120。
存储器装置110可以包括多个存储块。存储器装置110可以被配置为响应于从存储器控制器120接收的控制信号而操作。存储器装置110的操作可以包括,例如,读取操作、编程操作(也被称为“写入操作”)、擦除操作等。
存储器装置110可以包括存储器单元阵列,该存储器单元阵列包括多个存储器单元(也被简称为“单元”),每个存储器单元被配置为存储数据。在一些实施方案中,存储器单元中的每一个可以被构造或操作为存储单个位或多个位的信息。可以以不同的块和页面来组织存储器单元阵列以用于存储器操作。可以将存储器单元阵列的单元组织为包括多个存储块。每个存储块可以包括多个页面,并且每个页面对应于多个存储器单元。
例如,存储器装置110可以以诸如以下各种类型来实施:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)或自旋转移扭矩随机存取存储器(STT-RAM)。
存储器装置110可以以三维阵列结构来实施。在一些实施方案中,所公开技术的实施例可应用于具有被配置为导电浮栅的电荷存储层的闪速存储器装置。在一些其它的实施方案中,所公开技术的实施例应用于具有电荷撷取闪存(CTF)的闪速存储器装置,该CTF具有被配置为绝缘膜的电荷存储层。
通过将命令/地址信号提供到存储器控制器120,存储器控制器120可以基于来自用户/主机的请求来访问存储器装置110。在一些实施方案中,存储器装置110可以被配置为从存储器控制器120接收命令以及执行或运行该命令的地址,并且访问存储器单元阵列中的由该地址选择的区域。例如,存储器装置110可以在存储器装置中的具有与从控制器接收的地址相对应的物理地址的存储器区域中,执行与所接收的命令相对应的操作。
例如,存储器装置110可以执行编程操作、读取操作、擦除操作或其它操作。在编程操作期间,将数据写入存储器装置110中由该地址识别的区域(例如,存储器单元区域)。在读取操作期间,从存储器装置110中由地址识别的区域读取数据。在擦除操作期间,将数据从存储器装置110中由地址识别的区域擦除。
存储器控制器120可以控制关于存储器装置110的写入操作(编程操作)、读取操作、擦除操作或后台操作。后台操作可以例如包括垃圾收集(GC)操作、损耗均衡(WL)操作和坏块管理(BBM)操作之中的至少一种。如本文所使用的术语“垃圾收集”可以指一种存储器管理的形式,其中垃圾收集器尝试回收被不再使用的对象所占用的内存(垃圾)。损耗均衡指示用于延长可擦除存储装置的寿命的技术。
存储器控制器120可以在主机的请求下控制存储器装置110的操作。可选地,存储器控制器120可以在没有主机的相应请求的情况下,例如在存储器控制器120执行存储器装置110的一个或多个后台操作时,控制存储器装置110的操作。
存储器控制器120和主机可以是分开的装置。在一些情况下,存储器控制器120和主机可以被集成并实施为单个装置。在以下描述中,存储器控制器120和主机是分开的装置。
参照图1,存储器控制器120可以包括存储器接口122、控制电路123和主机接口121。
主机接口121可以被配置为提供用于与主机通信的接口。
当从主机HOST接收命令时,控制电路123可以通过主机接口121接收命令,并且可以执行处理所接收的命令的操作。
存储器接口122可以连接到存储器装置110以提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置为响应于控制电路123的控制而向存储器装置110和存储器控制器120提供接口。
控制电路123可以被配置为通过执行用于存储器控制器120的全部控制的操作来控制存储器装置110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123可以进一步包括错误检测/校正电路(ECC电路)126等。
处理器124可以控制存储器控制器120的全部操作。处理器124可以执行逻辑操作。处理器124可以通过主机接口121与主机HOST通信。处理器124可以通过存储器接口122与存储器装置110通信。
处理器124可以执行闪存转换层(FTL)的功能。处理器124可以通过FTL将由主机提供的逻辑块地址(LBA)转换为物理块地址(PBA)。FTL可以接收LBA,并且使用映射表将LBA转换为PBA。
根据映射单元,FTL可以采用各种地址映射方法。典型的地址映射方法可以包括页面映射方法、块映射方法和混合映射方法。
处理器124可以被配置为对从主机HOST接收的数据进行随机化。例如,处理器124可以通过使用随机化种子对从主机HOST接收到的数据进行随机化。将经随机化的数据作为待存储的数据提供到存储器装置110,并且编程到存储器单元阵列。
处理器124可以被配置为在读取操作期间对从存储器装置110接收的数据进行去随机化。例如,处理器124可以通过使用去随机化种子对从存储器装置110接收到的数据进行去随机化。可以将经去随机化的数据输出到主机HOST。
处理器124可以运行固件(FW)以便控制存储器控制器120的操作。换句话说,处理器124可以控制存储器控制器120的全部操作,并且为了执行逻辑操作,可以运行(驱动)在启动期间加载到工作存储器125中的固件。
固件是指在存储器***100内部运行的程序,并且可以包括各种功能层。
例如,固件可以包括以下至少一种:闪存转换层(FTL),被配置为在主机HOST请求存储器***100提供的逻辑地址与存储器装置110的物理地址之间进行转换;主机接口层(HIL),被配置为解释主机HOST向存储器***100(存储装置)发出的命令,并且将该命令传递到FTL;以及闪存接口层(FIL),被配置为将由FTL发出的命令传递到存储器装置110。
例如,固件可以被存储在存储器装置110中,然后被加载到工作存储器125中。
工作存储器125可以存储驱动存储器控制器120所需的固件、程序代码、命令或多条数据。工作存储器125可以例如包括作为易失性存储器的静态RAM(SRAM)、动态RAM(DRAM)和同步RAM(SDRAM)之中的至少一种。
错误检测/校正电路126可以被配置为通过使用错误校正码来检测检查目标数据的错误位,并且校正检测到的错误位。例如,检查目标数据可以是工作存储器125中存储的数据、从存储器装置110检索的数据等。
错误检测/校正电路126可以被实施为通过使用错误校正码对数据进行解码。错误检测/校正电路126可以通过使用各种代码解码器来实施。例如,可以使用执行非***代码解码的解码器或执行***代码解码的解码器。
例如,错误检测/校正电路126可以关于每条读取数据逐个扇区地检测错误位。也就是说,每条读取数据可以包括多个扇区。如本文所使用的,扇区可以指闪速存储器中小于读取单位(页面)的数据单位。构成每条读取数据的扇区可以经由地址彼此对应。
错误检测/校正电路126可以计算位错误率(BER),并且确定是否可以逐个扇区地校正。例如,如果BER高于参考值,则错误检测/校正电路126可以确定相应的扇区是不可校正的或“失败”。如果BER低于或等于参考值,则错误检测/校正电路126可以确定相应的扇区是可校正的或“通过”。
错误检测/校正电路126可以关于所有多条读取数据顺序地执行错误检测和校正操作。当读取数据中包括的扇区是可校正的时,错误检测/校正电路126可以关于下一条读取数据省略与该相应扇区有关的错误检测和校正操作。在以这种方式完成关于所有多条读取数据的错误检测和校正操作之后,错误检测/校正电路126可以检测始终被认为是不可校正的扇区。可能存在一个或多个被认为是不可校正的扇区。错误检测/校正电路126可以将关于被认为是不可校正的扇区的信息(例如,地址信息)传递到处理器124。
总线127可以被配置为提供存储器控制器120的构成元件121、122、124、125和126之间的通道。总线127可以例如包括用于传递各种控制信号和命令的控制总线和用于传递各种数据的数据总线。
存储器控制器120的上述构成元件121、122、124、125和126仅作为示例提供。注意的是,可以省略存储器控制器120的上述构成元件121、122、124、125和126中的一些,或者可以将存储器控制器120的上述构成元件121、122、124、125和126中的一些集成到单个元件中。此外,在一些情况下,除了存储器控制器120的上述构成元件之外,还可以添加一个或多个其它构成元件。
在下文中,将参照图2更详细地描述存储器装置110。
图2是示意性地示出基于所公开技术的实施例的存储器装置110的框图。
参照图2,基于所公开技术的实施例的存储器装置110可以包括存储器单元阵列210、地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250。
存储器单元阵列210可以包括多个存储块BLK1至BLKz(z是等于或大于2的自然数)。
在多个存储块BLK1-BLKz中,可以以行和列设置多个字线WL和多个位线BL,并且可以布置多个存储器单元MC。
多个存储块BLK1-BLKz可以通过多个字线WL连接到地址解码器220。多个存储块BLK1-BLKz可以通过多个位线BL连接到读取/写入电路230。
多个存储块BLK1-BLKz中的每一个可以包括多个存储器单元。例如,多个存储器单元是非易失性存储器单元。在一些实施方案中,这种非易失性存储器单元具有垂直沟道结构。
存储器单元阵列210可以包括具有二维结构的存储器单元阵列或具有三维结构的存储器单元阵列。
存储器单元阵列210中包括的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每存储器单元存储一位数据的单层单元(SLC)。作为另一示例,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每存储器单元存储两位数据的多层单元(MLC)。在另一示例中,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每存储器单元存储三位数据的三层单元(TLC)。在另一示例中,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每存储器单元存储四位数据的四层单元(QLC)。在另一示例中,存储器单元阵列210可以包括多个存储器单元,该多个存储器单元中的每个可以被配置为每存储器单元存储至少五位数据。
参照图2,地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可以用作被配置为驱动存储器单元阵列210的***电路。
地址解码器220可以通过多个字线WL连接到存储器单元阵列210。
地址解码器220可以被配置为响应于控制逻辑240的命令和控制信号而操作。
地址解码器220可以通过存储器装置110内部的输入/输出缓冲器来接收地址。地址解码器220可以被配置为对所接收的地址之中的块地址进行解码。地址解码器220可以基于解码后的块地址选择至少一个存储块。
地址解码器220可以从电压生成电路250接收读取电压Vread和通过电压Vpass。
在读取操作期间,地址解码器250可以将读取电压Vread施加到所选择的存储块内部的所选择的字线WL,并且可以将通过电压Vpass施加到剩余未选择的字线WL。
在编程验证操作期间,地址解码器220可以将由电压生成电路250生成的验证电压施加到所选择的存储块内部的所选择的字线WL,并且可以将通过电压Vpass施加到剩余未选择的字线WL。
地址解码器220可以被配置为对所接收的地址之中的列地址进行解码。地址解码器220可以将解码后的列地址传输到读取/写入电路230。
存储器装置110可以逐个页面地执行读取操作和编程操作。在请求读取操作和编程操作时接收的地址可以包括块地址、行地址和列地址中的至少一个。
地址解码器220可以基于块地址和行地址选择一个存储块和一个字线。列地址可以由地址解码器220解码,并且提供到读取/写入电路230。
地址解码器220可以包括块解码器、行解码器、列解码器和/或地址缓冲器中的至少一个。
读取/写入电路230可以包括多个页面缓冲器PB。当存储器单元阵列210执行读取操作时,读取/写入电路230可以作为“读取电路”来操作,并且当存储器单元阵列210执行写入操作时,读取/写入电路230可以作为“写入电路”来操作。
上述读取/写入电路230也被称为包括多个页面缓冲器PB的页面缓冲器电路,或者数据寄存器电路。读取/写入电路230可以包括数据缓冲器,该数据缓冲器可以保留用于数据处理的数据,并且在一些实施方案中,可以进一步包括用于数据高速缓存的高速缓存缓冲器。
多个页面缓冲器PB可以通过多个位线BL连接到存储器单元阵列210。为了在读取操作和编程验证操作期间检测或感测存储器单元的阈值电压Vth,多个页面缓冲器PB可以连续地向连接到存储器单元的位线BL供应感测电流,以在感测节点处检测与基于相应的存储器单元的编程状态的电流成比例的电学变化,并且可以将相应的电压锁存为感测数据。
读取/写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
在读取操作期间,读取/写入电路230感测存储器单元的电压值,并且将该电压值作为数据读出。读取/写入电路230临时存储检索到的数据,并且将数据DATA输出到存储器装置110的输入/输出缓冲器。在实施例中,除了页面缓冲器PB或页面寄存器之外,读取/写入电路230还可以包括列选择电路。
控制逻辑240可以连接到地址解码器220、读取/写入电路230和电压生成电路250。控制逻辑240可以通过存储器装置110的输入/输出缓冲器接收命令CMD和控制信号CTRL。
控制逻辑240可以被配置为响应于控制信号CTRL而控制存储器装置110的全部操作。控制逻辑240可以输出用于将多个页面缓冲器PB的感测节点的电压电平调节至预充电电压电平的控制信号。
控制逻辑240可以控制读取/写入电路230以在存储器单元阵列210中执行读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号而生成在读取操作期间使用的读取电压Vread和通过电压Vpass。
图3是示意性地示出基于所公开技术的实施例的存储器装置110的存储块BLK的示图。
参照图3,可以以多个页面PG和多个串STR相交的方向来布置和配置存储器装置110中包括的存储块BLK。
多个页面PG对应于多个字线WL,并且多个串STR对应于多个位线BL。
在存储块BLK中,可以将多个字线WL和多个位线BL布置成相交。例如,可以在行方向上布置多个字线WL中的每一个,并且可以在列方向上布置多个位线BL中的每一个。作为另一示例,可以在列方向上布置多个字线WL中的每一个,并且可以在行方向上布置多个位线BL中的每一个。
多个字线WL和多个位线BL可以彼此相交,从而定义多个存储器单元MC。每个存储器单元MC可以在其中布置有晶体管TR。
例如,每个存储器单元MC中布置的晶体管TR可以包括漏极、源极和栅极。晶体管TR的漏极(或源极)可以直接地或经由另一晶体管TR连接到相应的位线BL。晶体管TR的源极(或漏极)可以直接地或经由另一晶体管TR连接到源极线(可以是接地线)。晶体管TR的栅极可以包括由绝缘体围绕的浮栅(FG)以及从字线WL施加栅极电压的控制栅极(CG)。
在多个存储块BLK1-BLKz的每一个中,第一选择线(也被称为源极选择线或漏极选择线)可以另外地布置在第一最外侧字线的外部,该第一最外侧字线在两个最外侧字线之中更靠近读取/写入电路230,并且第二选择线(也被称为漏极选择线或源极选择线)可以另外地布置在另外的第二最外侧字线的外部。
在一些情况下,可以在第一最外侧字线和第一选择线之间另外地布置至少一个虚设字线。另外,可以在第二最外侧字线和第二选择线之间另外地布置至少一个虚设字线。虚设字线可以指用于除将信号施加到相应的存储器单元以外的目的的字线。
在如图3所示的存储块结构的情况下,可以基于页面执行读取操作和编程操作(写入操作),并且可以基于存储块执行擦除操作。
图4是示出基于所公开技术的实施例的存储器装置110的字线WL和位线BL的结构的示图。
参照图4,存储器装置110具有存储器单元MC聚集的内核区域和对应于该内核区域以外的剩余区域的辅助区域。辅助区域支持存储器单元阵列210的操作。
内核区域可以包括页面PG和串STR。在该内核区域中,将多个字线WL1至WL9和多个位线BL布置成相交。
字线WL1至WL9可以连接到行解码器410。位线BL可以连接到列解码器420。对应于图2的读取/写入电路230的数据寄存器430可以存在于多个位线BL和列解码器420之间。
多个字线WL1至WL9可以对应于多个页面PG。
例如,如图4所示,多个字线WL1至WL9中的每一个可以对应于一个页面PG。在一些实施方案中,多个字线WL1至WL9中的每一个可以具有较大的大小,并且对应于至少两个页面PG(例如,两个或四个页面PG)。每个页面PG是与进行编程操作和读取操作有关的最小单位,并且当进行编程操作和读取操作时,相同页面PG内的所有存储器单元MC可以同时执行操作。
多个位线BL可以连接到列解码器420。在一些实施方案中,可以将多个位线BL划分为奇数编号的位线BL和偶数编号的位线BL,使得一对奇数编号的位线BL和偶数编号的位线BL共同联接到列解码器420。
为了访问存储器单元MC,可以基于地址使用行解码器410和列解码器420来定位期望的存储器单元。如本文所使用的,指定目标存储器单元是指访问在连接到行解码器410的字线WL1-WL9与连接到列解码器420的位线BL之间的交点处的存储器单元MC中的一个,以将数据编程到该存储器单元或从该存储器单元读取经编程的数据。
第一方向(例如,X轴方向)上的页面PG由被称为字线WL的公共使用的线来捆绑,第二方向(例如,Y轴方向)上的串STR由被称为位线BL的公共线来捆绑(连接)。如本文所使用的,公共地捆绑是指通过相同的材料在结构上连接并且在施加电压期间同时接收相同的电压。在串联连接的存储器单元MC之中,施加到中间位置或最后位置的存储器单元MC的电压可能由于跨越在前存储器单元MC的电压降而与施加到第一位置的存储器单元MC的电压以及施加到上一个位置的存储器单元MC的电压略微不同。
与存储器装置110的处理(例如,编程操作和读取操作)相关联的数据可以经由数据寄存器430来处理。如果数据寄存器430的数据处理延迟,则所有其它区域都需要等待直到数据寄存器430完成数据处理,这降低了存储器装置110的整体性能。
参照图4所示的示例,在一个串STR中,多个晶体管TR1至TR9分别连接到多个字线WL1至WL9。在一些实施方案中,多个晶体管TR1至TR9对应于存储器单元MC。在一个示例中,多个晶体管TR1至TR9中的每一个包括控制栅极CG和浮栅FG。
多个字线WL1-WL9包括两个最外侧字线WL1和WL9。第一选择线DSL可以另外地布置在第一最外侧字线WL1的外侧,该第一最外侧字线WL1相比另一个最外侧字线WL9更靠近数据寄存器430并具有更短的信号路径,并且第二选择线SSL可以另外地布置在另外的第二最外侧字线WL9的外侧。
由第一选择线DSL控制以导通/关断的第一选择晶体管D-TR具有连接到第一选择线DSL的栅电极,但是不包括浮栅FG。由第二选择线SSL控制以导通/关断的第二选择晶体管S-TR具有连接到第二选择线SSL的栅电极,但是不包括浮栅FG。
第一选择晶体管D-TR用作导通或关断相应的串STR和数据寄存器430之间的连接的开关。第二选择晶体管S-TR用作导通或关断相应的串STR和源极线SL之间的连接的开关。因此,第一选择晶体管D-TR和第二选择晶体管S-TR可以用于启用或停用相应的串STR。
在一些实施方案中,存储器***100向第一选择晶体管D-TR的栅电极施加预定的导通电压Vcc,从而使第一选择晶体管D-TR导通,并且向第二选择晶体管S-TR的栅电极施加预定的关断电压(例如,0V),从而使第二选择晶体管S-TR关断。
存储器***100在读取操作或验证操作期间使第一选择晶体管D-TR和第二选择晶体管S-TR两者都导通。因此,电流可以流经相应的串STR并流到对应于接地的源极线SL,从而可以测量位线BL的电压电平。然而,在读取操作期间,第一选择晶体管D-TR和第二选择晶体管S-TR之间的导通/关断定时可能存在时间差。
在擦除操作期间,存储器***100可以通过源极线SL向衬底施加预定的电压(例如,+20V)。在擦除操作期间,存储器***100施加一定的电压以允许第一选择晶体管D-TR和第二选择晶体管S-TR两者浮置。因此,施加的擦除电压可以将电荷从所选择的存储器单元的浮栅FG中去除。
图5是示意性地示出基于所公开技术的实施例的存储器***100的操作的示图。
存储器***100可以在主机HOST完成对存储器***100的初始设置操作之后,响应于来自主机HOST的请求而将逻辑地址LA和物理地址PA之间的映射信息传输到主机HOST,从而允许主机HOST将映射信息加载到位于主机HOST中的主机存储器区域HOST_MEM_AREA中。
主机HOST可以在存储器***100执行数据的读取操作、写入操作或擦除操作之前,对存储器***100执行初始设置操作。初始设置操作是用于设置主机HOST访问存储器***100所需的各种设置值的操作。主机HOST可以在初始设置操作期间启动存储器***100。
主机HOST可以在执行初始设置操作之后设置锁定。在所设置的锁定被解除之前,主机HOST可以不再对存储器***100执行初始设置操作。
在主机HOST对存储器***100执行初始设置的同时,主机存储器区域HOST_MEM_AREA被设置。
主机存储器区域HOST_MEM_AREA可以位于主机HOST上的存储器(例如,SRAM、SDRAM或DRAM)中。主机HOST分配主机存储器区域HOST_MEM_AREA以存储映射信息。
例如,存储器***100的存储器控制器120可以响应于来自主机HOST的请求,将指示逻辑地址A和映射到该逻辑地址A的物理地址B以及逻辑地址A'和映射到该逻辑地址A'的物理地址B’的映射信息传输到主机HOST。
在从存储器***100的存储器控制器120接收映射信息时,主机HOST可以将所接收的映射信息加载到主机存储器区域HOST_MEM_AREA中。此时,加载到主机存储器区域HOST_MEM_AREA中的映射信息的条数可以基于来自主机HOST的请求而变化。
当向存储器***100传输用于执行读取操作或写入操作的命令时,主机HOST可以允许加载到主机存储器区域HOST_MEM_AREA中的映射信息被包括在该命令中,并且可以传输该命令。在这种情况下,存储器***100可以使用命令中包括的映射信息来响应命令,而不必访问映射高速缓存或映射表来搜索与逻辑地址相对应的物理地址。因此,存储器***100可以提高主机HOST请求的执行的速度。
在一些实施方案中,在主机HOST完成对存储器***100的初始设置操作之后,存储器***100将逻辑地址LA和物理地址PA之间的映射信息传输到主机HOST。在接收映射信息之后,主机HOST将所接收的映射信息加载到主机存储器区域HOST_MEM_AREA中,并且通过使命令包括所加载的映射信息来将该命令发送到存储器***100。通过这样做,存储器***100可以更快地执行读取操作或写入操作。
这是因为:当主机HOST对存储器***100执行初始设置操作时,不可能知道存储器***100的哪个区域包含主机HOST经常引用的数据。
此时,可以由主机HOST动态地改变前述主机存储器区域HOST_MEM_AREA的起始地址和大小以及加载到主机存储器区域HOST_MEM_AREA中的映射信息。这意为主机HOST成为控制主机存储器区域HOST_MEM_AREA的实体。
在一些实施方案中,当需要修改、删除或添加加载到主机存储器区域HOST_MEM_AREA中的映射信息时,主机HOST可以动态地改变主机存储器区域HOST_MEM_AREA的起始地址和大小。主机HOST可以请求存储器***100传输更新后的映射信息,使得主机HOST可以将更新后的映射信息加载到主机存储器区域HOST_MEM_AREA中。另外,存储器***100的存储器控制器120可以将更新后的映射信息传输到主机HOST,以便将该映射信息更新到由主机HOST动态地改变的主机存储器区域HOST_MEM_AREA中。
主机HOST经常引用的映射信息可能会随时间而改变。另外,还可以基于主机HOST的状态来改变主机HOST可以分配给主机存储器区域HOST_MEM_AREA的内存的大小。例如,主机HOST可以增加主机存储器区域HOST_MEM_AREA的大小以更快地从存储器***100读取或写入数据,或者可以减小主机存储器区域HOST_MEM_AREA的大小以获得用于其它操作的内存。
如果不允许主机HOST动态地改变主机存储器区域HOST_MEM_AREA的起始地址和大小或加载到主机存储器区域HOST_MEM_AREA中的映射信息,则可能减少通过引用加载到主机存储器区域HOST_MEM_AREA中的映射信息而获得的性能提高。这是因为:主机HOST需要再次对存储器***100执行初始设置操作,以便改变主机存储器区域HOST_MEM_AREA的起始地址和大小以及加载到主机存储器区域HOST_MEM_AREA中的映射信息。
因此,所公开技术的实施方案允许主机HOST动态地改变主机存储器区域HOST_MEM_AREA的起始地址和大小以及加载到主机存储器区域HOST_MEM_AREA中的映射信息。因此,可以始终将经常引用的映射信息加载到主机存储器区域HOST_MEM_AREA中,并且主机HOST可以有效地管理逻辑地址和物理地址之间的映射。
因此,主机HOST可以跳过重复对存储器***100的初始设置操作以改变主机存储器区域HOST_MEM_AREA。
在下文中,将描述基于参照图5描述的内容的主机HOST和存储器***100中的每一个的操作的示例。
图6是示出基于所公开技术的实施例的主机HOST和存储器***100中的每一个的操作的示例的示图。
首先,在操作S610中,主机HOST可以对存储器***100执行第一初始设置操作。
接下来,在操作S620中,主机HOST可以在主机HOST中设置主机存储器区域HOST_MEM_AREA。尽管图6示出了在针对存储器***100的第一初始设置操作之后执行操作S620,但是可以在针对存储器***100的第一初始设置操作期间执行操作S620。
在操作S620之后,在操作S630中,主机HOST可以请求将映射信息从存储器***100加载到主机存储器区域HOST_MEM_AREA中。
在操作S640中,响应于来自主机HOST的在操作S630中生成的请求,存储器***100可以将逻辑地址和物理地址之间的映射信息传输到主机HOST。
在操作S650中,主机HOST可以在操作中将由存储器***100在操作S640中传输的映射信息加载到主机存储器区域HOST_MEM_AREA中。
在操作S650之后,在操作S660中,主机HOST可以请求存储器***100更新主机存储器区域HOST_MEM_AREA中的映射信息。在主机存储器区域HOST_MEM_AREA改变的情况下,更新映射信息可能是必要的,并且主机HOST请求存储器***100更新与改变后的主机存储器区域HOST_MEM_AREA相对应的映射信息。在操作S670中,存储器***100的存储器控制器120可以响应于来自主机HOST的请求而将更新后的映射信息传输到主机HOST。
在操作S670之后,在操作S680中,主机HOST可以对存储器***100执行第二初始设置操作。可以在解除第一初始设置操作中设置的锁定之后执行第二初始设置操作。
在第一初始设置操作之后并且在第二初始设置操作之前,存储器***100可以响应于来自主机HOST的请求,将逻辑地址和物理地址之间的映射信息传输到主机HOST,并且可以在主机HOST动态地改变主机存储器区域HOST_MEM_AREA时,将更新的逻辑地址和物理地址之间的映射信息传输到主机HOST。
图7是示出基于所公开技术的实施例的存储器***100从主机HOST接收主机存储器区域HOST_MEM_AREA的信息的示例的示图。
参照图7,存储器***100可以从主机HOST接收关于主机存储器区域HOST_MEM_AREA的起始地址和大小的信息。
此时,可以将主机存储器区域HOST_MEM_AREA的大小表示为基于存储器***100的存储器装置110确定的单位区域的计数值。
在这种情况下,可以将该单位区域确定为例如存储器装置110的存储块BLK的大小的倍数。例如,如果存储块的大小为4MB,则该单位区域的大小为4MB、8MB、12MB、16MB等。
在另一示例中,可以将单位区域确定为存储器装置100的存储块BLK中包括的页面的大小的倍数。例如,如果页面的大小为8kB,则该单位区域的大小为8kB、16kB、24kB、32kB等。
在另一示例中,可以将单位区域确定为超级存储块的大小,该超级存储块为存储器装置100的存储块BLK的逻辑集合。例如,如果四个大小为4MB的存储块构成一个超级存储块,则该单位区域的大小可以为4*4MB=16MB。
以下,假设单位区域的大小为16MB。此时,如果从主机HOST接收的单位区域的计数值为3,则主机存储器区域HOST_MEM_AREA的大小为16MB*3=48MB。存储器***100基于由主机HOST传输的单位区域的计数值3而得知主机存储器区域HOST_MEM_AREA的大小为48MB。
在下文中,在图8至图9中,将描述以下操作:存储器***100通过处理由主机HOST传输的查询命令来处理待加载到主机存储器区域HOST_MEM_AREA中的映射信息。
图8是示出基于所公开技术的实施例的存储器***100处理由主机HOST传输的第一查询命令的操作的示例的示图。
参照图8,在操作S810中,主机HOST可以将请求传输逻辑地址和物理地址之间的映射信息的第一查询命令传输到存储器***100。
此时,主机HOST将第一查询命令传输到存储器***100的时间是在运行图6中描述的操作S610和S620之后。
在操作S820中,当从主机HOST接收第一查询命令时,存储器***100可以将第一查询命令请求的映射信息传输到主机HOST。
图9是示出基于所公开技术的实施例的存储器***100处理由主机HOST传输的第二查询命令的操作的示例的示图。
参照图9,在操作S910中,主机HOST可以将请求更新逻辑地址和物理地址之间的映射信息的第二查询命令传输到存储器***100。
此时,主机HOST将第二查询命令传输到存储器***100的时间是在运行图8中描述的操作S810和S820之后。
在操作S920中,当从主机HOST接收第二查询命令时,存储器***100可以传输更新后的映射信息。主机HOST可以在从存储器***100接收第二查询命令所请求的映射信息之后,更新加载到主机存储器区域HOST_MEM_AREA中的映射信息。
图10是示出基于所公开技术的实施例的存储器***100的操作方法的流程图。
存储器***100的操作方法可以包括:在操作S1010中,从主机HOST接收对传输逻辑地址和物理地址之间的映射信息的请求,以便在主机HOST完成对存储器***100的第一初始设置操作之后,将逻辑地址和物理地址之间的映射信息加载到位于主机HOST中的主机存储器区域HOST_MEM_AREA中。
接下来,存储器***100的操作方法可以包括:在操作S1020中,响应于来自主机HOST的请求,将逻辑地址和物理地址之间的映射信息加载到主机存储器区域HOST_MEM_AREA中。
接下来,存储器***100的操作方法可以包括:在操作S1030中,在主机HOST运行对存储器***100的第二初始设置操作之前,将更新后的逻辑地址和物理地址之间的映射信息传输到主机HOST,以更新由主机HOST动态地改变的主机存储器区域中的逻辑地址和物理地址之间的映射信息。
此时,在主机HOST运行对存储器***100的第二初始设置操作之前,可以由主机HOST动态地改变主机存储器区域HOST_MEM_AREA的起始地址和大小以及加载到主机存储器区域HOST_MEM_AREA中的逻辑地址和物理地址之间的映射信息。
除了上述操作之外,存储器***100的操作方法还可以进一步包括:从主机HOST接收主机存储器区域HOST_MEM_AREA的起始地址和大小。在这种情况下,可以将主机存储器区域HOST_MEM_AREA的大小表示为单位区域的计数值。
在上述操作S1020中,当从主机HOST接收请求将映射信息加载到主机存储器区域HOST_MEM_AREA中的第一查询命令时,可以将映射信息传输到主机HOST。
在上述操作S1020中,当在接收第一查询命令之后接收请求更新加载到主机存储器区域HOST_MEM_AREA中的映射信息的第二查询命令时,可以将更新后的映射信息传输到主机HOST。
存储器控制器120的上述操作可以由控制电路123控制,并且可以以处理器124运行(驱动)已编程的固件的方式执行存储器控制器120的各种操作。
图11是示出基于所公开技术的实施例的计算***1100的配置的示图。
参照图11,基于所公开技术的实施例的计算***1100可以包括:存储器***100,电连接到***总线1160;CPU 1110,被配置为控制计算***1100的全部操作;RAM 1120,被配置为存储与计算***1100的操作有关的数据和信息;用户接口/用户体验(UI/UX)模块1130,被配置为向用户提供用户环境;通信模块1140,被配置为以有线和/或无线类型与外部装置通信;以及电源管理模块1150,被配置为管理计算***1100使用的电力。
计算***1100可以是个人计算机(PC),或者可以包括诸如智能电话、平板电脑的移动终端或各种电子装置。
计算***1100可以进一步包括用于供应操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器和DRAM。其它元件对于本领域技术人员而言将是显而易见的。
存储器***100不仅可以包括被配置为将数据存储在诸如硬盘驱动器(HDD)的磁盘中的装置,而且还可以包括被配置为将数据存储在诸如固态驱动器(SSD)、通用闪存装置或嵌入式MMC(eMMC)装置的非易失性存储器中的装置。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等。另外,存储器***100可以被实施为各种类型的存储装置,并且被安装在各种电子装置内部。
基于上述所公开技术的实施例,可以使存储器***的操作延迟时间最小化。另外,基于所公开技术的实施例,可以使在调用特定功能的过程中发生的开销最小化。尽管已经示出和描述了所公开技术的各个实施例,但是本领域技术人员将理解,可以进一步进行各种修改、添加和替换。
Claims (19)
1.一种存储器***,包括:
存储器装置,提供用于存储信息的存储器;以及
存储器控制器,控制所述存储器装置,
其中所述存储器控制器通信地联接到访问所述存储器***的主机,并且所述存储器控制器:
在所述主机完成对所述存储器***的第一初始设置操作之后,将逻辑地址和物理地址之间的映射信息传输到所述主机,以便将所述逻辑地址和所述物理地址之间的所述映射信息加载到位于所述主机中的主机存储器区域中,并且
在所述主机在所述第一初始设置操作之后运行对所述存储器***的第二初始设置操作之前,将所述逻辑地址和所述物理地址之间的更新后的映射信息传输到所述主机,以基于对所述主机存储器区域做出的改变,更新加载到所述主机存储器区域中的所述逻辑地址和所述物理地址之间的所述映射信息。
2.根据权利要求1所述的存储器***,其中所述存储器控制器从所述主机接收关于所述主机存储器区域的起始地址和大小的信息。
3.根据权利要求2所述的存储器***,其中将所述主机存储器区域的大小指示为基于所述存储器装置确定的单位区域的计数值。
4.根据权利要求1所述的存储器***,其中所述存储器控制器在从所述主机接收请求将所述映射信息传输到所述主机存储器区域的第一查询命令时,将所述映射信息传输到所述主机。
5.根据权利要求4所述的存储器***,其中所述存储器控制器:当在接收所述第一查询命令之后接收请求更新加载到所述主机存储器区域中的所述映射信息的第二查询命令时,将所述更新后的映射信息传输到所述主机。
6.根据权利要求4所述的存储器***,其中所述存储器控制器接收包括所述映射信息或所述更新后的映射信息的命令以执行读取操作或写入操作。
7.一种存储器控制器,包括:
存储器接口,与存储器装置通信;以及
控制电路,与所述存储器装置以及访问所述存储器控制器的主机通信,
其中所述控制电路通过执行操作来控制所述存储器装置,所述操作包括:
在所述主机的第一初始设置操作之后,将逻辑地址和物理地址之间的映射信息传输到所述主机,所述映射信息将被加载到位于所述主机中的主机存储器区域中,并且
在所述主机的第二初始设置操作之前,将所述逻辑地址和所述物理地址之间的更新后的映射信息传输到所述主机,其中基于对位于所述主机中的所述主机存储器区域做出的改变而更新所述映射信息。
8.根据权利要求7所述的存储器控制器,其中所述控制电路从所述主机接收关于所述主机存储器区域的起始地址和大小的信息。
9.根据权利要求8所述的存储器控制器,其中将所述主机存储器区域的大小指示为基于所述存储器装置确定的单位区域的计数值。
10.根据权利要求7所述的存储器控制器,其中所述控制电路在从所述主机接收请求将所述映射信息传输到所述主机存储器区域的第一查询命令时,将所述映射信息传输到所述主机。
11.根据权利要求10所述的存储器控制器,其中所述控制电路:当在接收所述第一查询命令之后接收指示所述主机存储器区域的起始地址或大小的改变的第二查询命令时,将所述更新后的映射信息传输到所述主机。
12.根据权利要求6所述的存储器控制器,其中所述控制电路接收包括所述映射信息或所述更新后的映射信息的命令以执行读取操作或写入操作。
13.一种存储器***的操作方法,包括:
在主机完成对所述存储器***的第一初始设置操作之后,从所述主机接收传输逻辑地址和物理地址之间的映射信息的请求,所述映射信息将被加载到位于所述主机中的主机存储器区域中;
响应于来自所述主机的所述请求而将所述逻辑地址和所述物理地址之间的所述映射信息传输到所述主机;
在所述主机运行对所述存储器***的第二初始设置操作之前,将更新后的映射信息传输到所述主机以更新所述映射信息。
14.根据权利要求13所述的操作方法,进一步包括:
从所述主机接收关于所述主机存储器区域的起始地址和大小的信息。
15.根据权利要求14所述的操作方法,其中将所述主机存储器区域的大小指示为单位区域的计数值。
16.根据权利要求13所述的操作方法,其中传输所述映射信息的所述请求包括请求将所述映射信息传输到所述主机存储器区域中的第一查询命令。
17.根据权利要求16所述的操作方法,其中响应于接收请求更新加载到所述主机存储器区域中的所述映射信息的第二查询命令而执行对所述更新后的映射信息的传输。
18.根据权利要求16所述的操作方法,进一步包括:从所述主机接收包括所述映射信息或所述更新后的映射信息的命令,以执行读取操作或写入操作。
19.根据权利要求16所述的操作方法,其中基于对位于所述主机中的所述主机存储器区域做出的改变而更新所述映射信息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2020-0060049 | 2020-05-20 | ||
KR1020200060049A KR20210143387A (ko) | 2020-05-20 | 2020-05-20 | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113703662A true CN113703662A (zh) | 2021-11-26 |
Family
ID=78609004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110024914.1A Pending CN113703662A (zh) | 2020-05-20 | 2021-01-08 | 存储器***、存储器控制器及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210365382A1 (zh) |
KR (1) | KR20210143387A (zh) |
CN (1) | CN113703662A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11966632B2 (en) * | 2021-12-20 | 2024-04-23 | Micron Technology, Inc. | Reading sequential data using mapping information stored at a host device |
CN116909493B (zh) * | 2023-09-12 | 2023-11-17 | 合肥康芯威存储技术有限公司 | 一种存储器及其控制方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032968A (zh) * | 2017-06-09 | 2018-12-18 | 三星电子株式会社 | 包括逻辑到物理地址映射存储设备及其操作方法 |
CN109947361A (zh) * | 2017-12-20 | 2019-06-28 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN109992537A (zh) * | 2018-01-02 | 2019-07-09 | 爱思开海力士有限公司 | 存储***及其操作方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4538027B2 (ja) * | 2007-08-22 | 2010-09-08 | 株式会社東芝 | 半導体装置 |
US8856438B1 (en) * | 2011-12-09 | 2014-10-07 | Western Digital Technologies, Inc. | Disk drive with reduced-size translation table |
WO2011148223A1 (en) * | 2010-05-27 | 2011-12-01 | Sandisk Il Ltd | Memory management storage to a host device |
US10229051B2 (en) * | 2015-12-30 | 2019-03-12 | Samsung Electronics Co., Ltd. | Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device |
KR102667430B1 (ko) * | 2016-08-04 | 2024-05-23 | 삼성전자주식회사 | 호스트 메모리를 이용하는 데이터 저장 장치 및 그것의 동작 방법 |
KR102438991B1 (ko) * | 2017-11-28 | 2022-09-02 | 삼성전자주식회사 | 메모리 장치 및 그것의 동작 방법 |
KR20200050169A (ko) * | 2018-11-01 | 2020-05-11 | 삼성전자주식회사 | 스토리지 장치, 스토리지 시스템 및 스토리지 장치의 동작 방법 |
US11537320B2 (en) * | 2020-02-03 | 2022-12-27 | Western Digital Technologies, Inc. | Storage system and method for host memory access |
US11200179B2 (en) * | 2020-02-26 | 2021-12-14 | Micron Technology, Inc. | Facilitating sequential reads in memory sub-systems |
-
2020
- 2020-05-20 KR KR1020200060049A patent/KR20210143387A/ko unknown
- 2020-09-28 US US17/035,477 patent/US20210365382A1/en active Pending
-
2021
- 2021-01-08 CN CN202110024914.1A patent/CN113703662A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032968A (zh) * | 2017-06-09 | 2018-12-18 | 三星电子株式会社 | 包括逻辑到物理地址映射存储设备及其操作方法 |
CN109947361A (zh) * | 2017-12-20 | 2019-06-28 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN109992537A (zh) * | 2018-01-02 | 2019-07-09 | 爱思开海力士有限公司 | 存储***及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20210143387A (ko) | 2021-11-29 |
US20210365382A1 (en) | 2021-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112445733A (zh) | 存储器***、存储器控制器以及操作方法 | |
CN114067870A (zh) | 存储器***、存储器装置以及用于操作存储器装置的方法 | |
CN114863962A (zh) | 存储器***及其操作方法 | |
CN114489466A (zh) | 存储器***及其操作方法 | |
CN113204312A (zh) | 存储器***、存储器控制器及存储器***的操作方法 | |
US20210365382A1 (en) | Memory system, memory controller, and operation method thereof | |
CN112349315B (zh) | 存储器***、存储器控制器和操作方法 | |
CN113903384A (zh) | 存储器***、存储器控制器以及操作存储器***的方法 | |
CN112860176A (zh) | 存储器***、存储器控制器及其操作方法 | |
CN114968856B (zh) | 存储器***及其操作方法 | |
US11474726B2 (en) | Memory system, memory controller, and operation method thereof | |
CN116136738A (zh) | 使用外部装置执行后台操作的存储器***及其操作方法 | |
CN115206393A (zh) | 存储器装置及存储器装置的操作方法 | |
CN114530173A (zh) | 存储器***及其操作方法 | |
CN114520013A (zh) | 存储器***及其操作方法 | |
US20230376246A1 (en) | Memory system, memory controller and operating method of the memory system operating as read boost mode | |
US11404137B1 (en) | Memory system and operating method of memory system | |
US11704050B2 (en) | Memory system for determining a memory area in which a journal is stored according to a number of free memory blocks | |
US20230297502A1 (en) | Memory system, memory controller and operating method of the memory system for controlling garbage collection | |
US20240004566A1 (en) | Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system | |
CN115437968A (zh) | 存储器***及存储器***的操作方法 | |
CN114968078A (zh) | 存储器装置及其操作方法 | |
CN115963981A (zh) | 存储器***及存储器***的操作方法 | |
CN115223635A (zh) | 存储器***及存储器***的操作方法 | |
CN115952115A (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 |