CN113568844A - 存储器***、存储器控制器及操作存储器***的方法 - Google Patents

存储器***、存储器控制器及操作存储器***的方法 Download PDF

Info

Publication number
CN113568844A
CN113568844A CN202011020003.3A CN202011020003A CN113568844A CN 113568844 A CN113568844 A CN 113568844A CN 202011020003 A CN202011020003 A CN 202011020003A CN 113568844 A CN113568844 A CN 113568844A
Authority
CN
China
Prior art keywords
processor
logical address
target
memory
read
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
Application number
CN202011020003.3A
Other languages
English (en)
Inventor
金光秀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN113568844A publication Critical patent/CN113568844A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开涉及一种存储器***、存储器控制器以及操作存储器***的方法。存储器***包括:第一处理器,被配置为在包括第一处理器的多个处理器之中确定处理器来处理对由读取命令指示的逻辑地址的读取操作,并且处理对由写入命令指示的逻辑地址的写入操作;以及第二处理,处于多个处理器之中,被配置为处理对由读取命令指示的逻辑地址之中由第一处理器选择的目标逻辑地址的读取操作。第一处理器通过使用第一映射搜索引擎来搜索关于与将由第一处理器处理的读取操作或写入操作相对应的逻辑地址的映射信息,并且第二处理器通过使用第二映射搜索引擎来搜索关于目标逻辑地址的映射信息。可以提高读取操作中搜索映射信息的性能。

Description

存储器***、存储器控制器及操作存储器***的方法
相关申请的交叉引用
本申请要求于2020年4月28日向韩国知识产权局提交的申请号为10-2020-0051150的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
各个实施例总体涉及存储器***、存储器控制器以及操作存储器***的方法。
背景技术
例如存储装置的存储器***基于来自主机的请求来存储数据,该主机诸如计算机、移动终端(例如,智能电话或平板电脑)或者各种其它电子装置中的任意一种。存储器***可以是将数据存储在诸如硬盘驱动器(HDD)的磁盘中的类型,或者将数据存储在诸如固态驱动器(SSD)、通用闪存装置(UFS)或嵌入式MMC(eMMC)装置的非易失性存储器中的类型。
存储器***可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以接收从主机输入的命令,并且基于所接收的命令,可以运行或控制在存储器***中包括的易失性存储器或非易失性存储器中读取数据、写入数据或擦除数据的操作。存储器控制器可以驱动固件来执行用于运行或控制这种操作的逻辑操作。
当存储器***基于从主机接收的命令执行读取操作或写入操作时,存储器***搜索针对从主机传输的存储器的逻辑地址(LA)和存储器装置的物理地址(PA)之间的映射信息的映射表或映射高速缓存。固件处理命令和搜索映射信息花费的时间越多,存储器***的性能越劣化。
发明内容
各个实施例涉及一种存储器***、存储器控制器以及操作存储器***的方法,能够提高读取操作中搜索映射信息的性能。
在一方面,本公开的实施例可以提供一种存储器***,该存储器***包括:存储器装置;以及存储器控制器,被配置为控制该存储器装置。
存储器控制器可以包括:第一处理器,被配置为在包括第一处理器的多个处理器之中确定处理器来处理对由读取命令指示的逻辑地址的读取操作,并且处理对由写入命令指示的逻辑地址的写入操作。
进一步,存储器控制器可以包括:第二处理器,处于多个处理器之中,被配置为处理对由读取命令指示的逻辑地址之中由第一处理器选择的目标逻辑地址的读取操作。
第一处理器可以通过使用第一映射搜索引擎来搜索关于与将由第一处理器处理的读取操作或写入操作相对应的逻辑地址的映射信息,并且第二处理器可以通过使用第二映射搜索引擎来搜索关于目标逻辑地址的映射信息。
目标逻辑地址可以是:1)奇数逻辑地址,2)偶数逻辑地址,或者3)由读取命令之中由第一处理器选择的目标读取命令指示的逻辑地址。
第一处理器可以处理对除了目标逻辑地址以外的剩余逻辑地址的读取操作。可选地,存储器控制器可以进一步包括:第三处理器,处于多个处理器之中,被配置为处理对除了目标逻辑地址以外的剩余逻辑地址的读取操作。
当第二处理器对关于目标逻辑地址的映射信息的搜索失败时,第二处理器可以请求第一处理器来加载关于目标逻辑地址的映射信息。第一处理器可以从存储器装置加载关于目标逻辑地址的映射信息,并且此后,可以向第二处理器传输关于目标逻辑地址的映射信息。
第一处理器可以处理存储器装置的后台操作。
在另一方面,本公开的实施例可以提供一种存储器控制器,该存储器控制器包括:存储器接口,被配置为与存储器装置通信;以及控制电路,被配置为控制存储器装置。
控制电路可以包括:第一处理器,被配置为在包括第一处理器的多个处理器之中确定处理器来处理对由读取命令指示的逻辑地址的读取操作,并且处理对由写入命令指示的逻辑地址的写入操作。
进一步,控制电路可以包括:第二处理器,处于多个处理器之中,被配置为处理对由读取命令指示的逻辑地址之中由第一处理器选择的目标逻辑地址的读取操作。
第一处理器可以通过使用第一映射搜索引擎来搜索关于与将由第一处理器处理的读取操作或写入操作相对应的逻辑地址的映射信息,并且第二处理器可以通过使用第二映射搜索引擎来搜索关于目标逻辑地址的映射信息。
目标逻辑地址可以是:1)奇数逻辑地址,2)偶数逻辑地址,或者3)由读取命令之中由第一处理器选择的目标读取命令指示的逻辑地址。
第一处理器可以处理对除了目标逻辑地址以外的剩余逻辑地址的读取操作。可选地,控制电路可以进一步包括:第三处理器,处于多个处理器之中,被配置为处理对除了目标逻辑地址以外的剩余逻辑地址的读取操作。
当第二处理器对关于目标逻辑地址的映射信息的搜索失败时,第二处理器可以请求第一处理器来加载关于目标逻辑地址的映射信息。第一处理器可以从存储器装置加载关于目标逻辑地址的映射信息,并且此后,可以向第二处理器传输关于目标逻辑地址的映射信息。
第一处理器可以处理存储器装置的后台操作。
在又一方面,一种操作存储器***的方法可以包括:
该方法可以包括由第一处理器在包括第一处理器的多个处理器之中确定处理器来处理对由读取命令指示的逻辑地址的读取操作。
该方法可以包括由第一处理器处理对由写入命令指示的逻辑地址的写入操作。
该方法可以包括由第一处理器在由读取命令指示的逻辑地址之中选择目标逻辑地址。
该方法可以包括由多个处理器之中的第二处理器处理对目标逻辑地址的读取操作。
该方法可以包括由第一处理器通过使用第一映射搜索引擎来搜索关于与将由第一处理器处理的读取操作或写入操作相对应的逻辑地址的映射信息。该方法可以包括由第二处理器通过使用第二映射搜索引擎来搜索关于目标逻辑地址的映射信息。
目标逻辑地址可以是:1)奇数逻辑地址,2)偶数逻辑地址,或者3)由读取命令之中由第一处理器选择的目标读取命令指示的逻辑地址。
该方法可以进一步包括由第一处理器处理对除了目标逻辑地址以外的剩余逻辑地址的读取操作,或者包括由第三处理器处理对除了目标逻辑地址以外的剩余逻辑地址的读取操作。
当第二处理器对关于目标逻辑地址的映射信息的搜索失败时,该方法可以包括由第二处理器请求第一处理器来加载关于目标逻辑地址的映射信息。该方法可以进一步包括由第一处理器从存储器装置加载关于目标逻辑地址的映射信息,并且此后,由第一处理器向第二处理器传输关于目标逻辑地址的映射信息。
该方法可以包括由第一处理器处理存储器装置的后台操作。
在又一方面,本公开的实施例可以提供一种控制器,该控制器包括:映射高速缓存,被配置为高速缓存逻辑地址的映射数据和各自的对应物理地址。
控制器可以包括:第一操作控制组件和第二操作控制组件,被配置为通过将第一组逻辑地址和第二组逻辑地址分别转换成高速缓存在映射高速缓存中的对应物理地址来分别控制存储器装置执行操作。
第一操作控制组件可以被配置为在映射高速缓存的高速缓存未命中的情况下,进一步地将该映射数据从存储器装置高速缓存到映射高速缓存中。
根据本公开的实施例,可以提高读取操作中搜索映射信息的性能。
附图说明
图1是示出根据本发明公开的实施例的存储器***的配置的示意图。
图2是示意性地示出根据本发明公开的实施例的存储器装置的框图。
图3是示意性地示出根据本发明公开的实施例的存储器装置的存储块的示图。
图4是示出根据本发明公开的实施例的存储器装置的字线和位线的结构的示图。
图5是示出根据本公开的实施例的存储器***的示意性操作的示图。
图6是示出根据本公开的实施例的第一处理器和第二处理器的操作的示图。
图7是示出根据本公开的另一实施例的第一处理器和第二处理器的操作的示图。
图8是示出根据本公开的又一实施例的第一处理器和第二处理器的操作的示图。
图9是示出根据本公开的实施例的第一处理器、第二处理器和第三处理器的操作的示图。
图10是示出根据本公开的实施例的第二处理器搜索映射信息的操作的示图。
图11是示出诸如图10中第一处理器从存储器装置加载映射信息的操作的示图。
图12是示出根据本公开的实施例的第一处理器处理存储器装置的后台操作的操作的示图。
图13是根据本公开的实施例的帮助说明操作存储器***的方法的流程图。
图14是示出根据本发明公开的实施例的计算***的配置的示图。
具体实施方式
在下文中,参照附图详细地描述本发明公开的实施例。在整个说明书中,对“实施例”、“另一实施例”等的引用不一定指仅一个实施例,并且对任何类似措辞的不同引用不一定指相同的实施例。术语“各实施例”在本文中使用时不一定指代所有实施例。
图1是示出根据本发明公开的实施例的存储器***100的示意性配置的示图。
参照图1,存储器***100可以包括:存储器装置110,被配置为存储数据;以及存储器控制器120,被配置为控制存储器装置110。
存储器装置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)具有被配置为绝缘膜的电荷存储层。
存储器装置110可以被配置为从存储器控制器120接收命令和地址,并且访问存储器单元阵列中的由该地址选择的区域。也就是说,存储器装置110可以在存储器装置中的物理地址与从控制器接收的地址相对应的存储器区域中执行与所接收的命令相对应的操作。
例如,存储器装置110可以执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器装置110可以将数据编程在由地址选择的区域中。在读取操作期间,存储器装置110可以从由地址选择的区域读取数据。在擦除操作期间,存储器装置110可以擦除由地址选择的区域中存储的数据。
存储器控制器120可以控制关于存储器装置110的写入操作(编程操作)、读取操作、擦除操作以及后台操作。例如,后台操作可以包括垃圾收集操作(GC)、损耗均衡(WL)操作和/或坏块管理(BBM)操作。
存储器控制器120可以在主机的请求下控制存储器装置110的操作。可选地,存储器控制器120可以在没有主机的对应请求的情况下,例如,在执行存储器装置的一个或多个后台操作时,控制存储器装置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可以被配置为使从主机接收的数据随机化。例如,处理器124可以通过使用随机化种子使从主机接收的数据随机化。经随机化的数据作为待存储的数据被提供至存储器装置110,并且被编程在存储器单元阵列中。
在读取操作期间,处理器124可以被配置为使从存储器装置110接收的数据去随机化。例如,处理器124可以通过使用去随机化种子使从存储器装置110接收的数据去随机化。经去随机化的数据可以被输出至主机。
处理器124可以运行固件(FW)以便控制存储器控制器120的操作。换言之,处理器124可以控制存储器控制器120的全部操作,并且为了执行逻辑操作,可以运行(驱动)在启动期间加载至工作存储器125中的固件。
固件指在存储器***100内运行的程序,并且可以包括各种功能层。
例如,固件可以包括:闪存转换层(FTL),被配置为在主机请求存储器***100而提供的逻辑地址与存储器装置110的物理地址之间转换;主机接口层(HIL),被配置为解释主机向存储器***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仅作为示例提供。可以省略这些构成元件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,并且可以在该多个字线WL和该多个位线BL的各个相交处布置多个存储器单元MC。
多个存储块BLK1至BLKz可以通过多个字线WL与地址解码器220连接。多个存储块BLK1至BLKz可以通过多条位线BL与读取/写入电路230连接。
多个存储块BLK1至BLKz中的每一个可以包括多个存储器单元。例如,多个存储器单元是可以具有垂直沟道结构的非易失性存储器单元。
存储器单元阵列210可以被配置为具有二维结构的存储器单元阵列,并且在一些情况下,可以被配置为具有三维结构的存储器单元阵列。
存储器单元阵列210中包括的多个存储器单元中的每一个可以存储至少一位数据。例如,在存储器单元阵列210中的多个存储器单元中的每一个可以是被配置为存储一位数据的单层单元(SLC)、被配置为存储两位数据的多层单元(MLC)、被配置为存储三位数据的三层单元(TLC)或被配置为存储四位数据的四层单元(QLC)。作为另一示例,存储器单元阵列210可以包括多个存储器单元,多个存储器单元中的每一个可以被配置为存储五位或更多位数据。
参照图2,地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可以共同作为被配置为驱动存储器单元阵列210的***电路来操作。
地址解码器220可以通过多个字线WL连接到存储器单元阵列210。
地址解码器220可以被配置为响应于控制逻辑240的控制而操作。
地址解码器220可以通过存储器装置110内的输入/输出缓冲器来接收地址。地址解码器220可以被配置为对所接收的地址之中的块地址进行解码。地址解码器220可以根据经解码的块地址来选择至少一个存储块。
地址解码器220可以从电压生成电路250接收读取电压Vread和通过电压Vpass。
地址解码器220可以在读取操作期间的施加读取电压的操作期间向所选择的存储块内的所选择的字线WL施加读取电压Vread,并且可以向剩余的未选择的字线WL施加通过电压Vpass。
地址解码器220可以在编程验证操作期间向所选择的存储块内的所选择的字线WL施加由电压生成电路250生成的验证电压,并且可以向剩余的未选择的字线WL施加通过电压Vpass。
地址解码器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感测存储器单元中的数据,临时存储检索数据,并且向存储器装置110的输入/输出缓冲器输出数据DATA。在实施例中,除了页面缓冲器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,可以布置和配置存储器装置110中包括的存储块BLK,使得多个页面PG和多个串STR相交。
多个页面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)和控制栅(CG),其中浮栅(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。
例如,多个字线WL1至WL9中的每一个可以对应于如图4所示的一个页面PG。相反,当多个字线WL1至WL9中的每一个的大小较大时,多个字线WL1至WL9中的每一个可以对应于至少两个(例如,两个或四个)页面PG。每个页面PG是进行编程操作和读取操作的最小单位,并且相同页面PG内的所有存储器单元MC可以在进行编程操作和读取操作时同时执行操作。
多个位线BL可以连接到列解码器420,同时在奇数编号的位线BL和偶数编号的位线BL之间进行区别。
为了访问存储器单元MC,可以首先通过输入/输出端然后通过行解码器410和列解码器420将地址传递到内核区域,使得可以指定对应的目标存储器单元。如在本文中所使用的,指定目标存储器单元指访问处于连接到行解码器410的字线WL1至WL9与连接到列解码器420的位线BL之间的相交位置处的存储器单元MC中的一个,以将数据编程到此存储器单元MC或从该存储器单元MC中读取被编程的数据。
沿第一方向(例如,X-轴方向)的页面PG通过被称为字线WL的共用线结合,并且沿第二方向(例如,Y-轴方向)的串STR通过被称为位线BL的共用线结合。如在本文中所使用的,被共同地结合指通过相同的物质在结构上连接并且在施加电压期间同时地接收相同的电压。由于跨越存储器单元MC的电压降,因此施加至串联连接的存储器单元MC之中的、在沿电压施加方向的线的更下游位置的存储器单元MC的电压可能与施加至线上游的存储器单元MC的电压略微不同。
因为由存储器装置110进行的包括编程操作和读取操作的所有数据处理都经由数据寄存器430发生,所以数据寄存器430起着重要作用。如果由数据寄存器430进行的数据处理被延迟,则所有其它区域都需要等待直到数据寄存器430完成该数据处理。另外,数据寄存器430的性能劣化可能使存储器装置110的整体性能劣化。
参照图4所示的示例,在一个串STR中,可以存在连接到多个字线WL1至WL9的多个晶体管TR1至TR9。多个晶体管TR1-TR9存在的区域对应于存储器单元MC。如在本文中所使用的,多个晶体管TR1至TR9指包括控制栅CG和浮栅FG的晶体管。
多个字线WL1至WL9包括两个最外字线WL1和WL9。第一选择线DSL可以附加地布置在第一最外字线WL1的外侧,并且第二选择线SSL可以附加地布置在另一个第二最外字线WL9的外侧,就信号路径而言,两个最外字线WL1和WL9之中的第一最外字线WL1更靠近数据寄存器430。
由第一选择线DSL控制导通/关断的第一选择晶体管D-TR具有连接到第一选择线DSL的栅电极,但不包括浮栅FG。由第二选择线SSL控制导通/关断的第二选择晶体管S-TR具有连接到第二选择线SSL的栅电极,但不包括浮栅FG。
第一选择晶体管D-TR起着导通或关断对应串STR和数据寄存器430之间的连接的开关作用。第二选择晶体管S-TR起着导通或关断对应串STR和源极线SL之间的连接的开关作用。也就是说,第一选择晶体管D-TR和第二选择晶体管S-TR起着网守(gatekeeper)的作用,该网守位于对应串STR的相对端,并且传递或阻断信号。
在编程操作期间,存储器***100需要利用电子来填满待编程的位线BL的目标存储器单元MC。因此,存储器***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两者浮置,从而生成无限电阻(infinite resistance)。因此,可以去除第一选择晶体管D-TR的作用和第二选择晶体管S-TR的作用,并且电子可能由于电势差而仅在浮栅FG和衬底之间操作。
图5是示出根据本公开的实施例的存储器***100的示意性操作的示图。
参照图5,存储器***100的存储器控制器120可以包括第一处理器PROCESSOR_1和第二处理器PROCESSOR_2。第一处理器PROCESSOR_1和第二处理器PROCESSOR_2中的每一个可以是以上参照图1描述的处理器124、处理器124中包括的子处理器或者与处理器124分离存在的外部处理器。
第一处理器PROCESSOR_1可以确定处理器来处理对由读取命令RD_CMD指示的逻辑地址的读取操作,并且可以处理对由写入命令WR_CMD指示的逻辑地址的写入操作。
换言之,第一处理器PROCESSOR_1可以确定第一处理器PROCESSOR_1或例如第二处理器PROCESSOR_2的其它处理器是否将处理对由读取命令RD_CMD指示的逻辑地址的读取操作。在另一方面,第一处理器PROCESSOR_1处理对由写入命令WR_CMD指示的逻辑地址的写入操作,而不控制另一处理器来处理。
存储器***100的存储器控制器120可以从主机HOST接收读取命令RD_CMD和写入命令WR_CMD。从主机接收读取命令RD_CMD和写入命令WR_CMD的操作可以由第一处理器PROCESSOR_1处理,或者可以由例如第二处理器PROCESSOR_2的不同的处理器来处理。
在图5中,第一处理器PROCESSOR_1可以确定处理器来处理对由读取命令RD_CMD指示的作为任意逻辑地址值的逻辑地址A、B、C、D和E的读取操作。第一处理器PROCESSOR_1可以处理对也作为任意逻辑地址值的逻辑地址F、G、H、I和J的写入操作。
第一处理器PROCESSOR_1可以处理对逻辑地址A、B、C、D和E的所有读取操作,或者可以通过单独的第二处理器PROCESSOR_2来控制对待处理的逻辑地址A、B、C、D和E中的一些的读取操作。
例如,第二处理器PROCESSOR_2可以处理对由读取命令RD_CMD指示的逻辑地址之中由第一处理器PROCESSOR_1选择的目标逻辑地址TARGET_LA的读取操作。
第一处理器PROCESSOR_1和第二处理器PROCESSOR_2中的每一个可以直接访问存储器装置110以处理读取操作和写入操作,或者这些处理器中的一个可以访问控制存储器装置110的操作的其它处理器。
在图5中,假设第一处理器PROCESSOR_1已选择逻辑地址A和C作为目标逻辑地址TARGET_LA。在这种情况下,第一处理器PROCESSOR_1可以将关于作为目标逻辑地址TARGET_LA的逻辑地址A和C的信息传输到第二处理器PROCESSOR_2以控制第二处理器PROCESSOR_2来处理对作为目标逻辑地址TARGET_LA的逻辑地址A和C的读取操作。
第一处理器PROCESSOR_1和第二处理器PROCESSOR_2可以分开使用映射搜索引擎来搜索关于逻辑地址的映射信息。关于逻辑地址的映射信息可以指示关于被映射至对应逻辑地址的物理地址的信息。
详细地,第一处理器PROCESSOR_1可以通过使用第一映射搜索引擎MSE_1来搜索关于与对由从主机接收的命令CMD指示的逻辑地址(LA)的读取操作和写入操作相对应的逻辑地址的映射信息。
第二处理器PROCESSOR_2可以通过使用第二映射搜索引擎MSE_2来搜索关于目标逻辑地址TARGET_LA的映射信息。
第一映射搜索引擎MSE_1和第二映射搜索引擎MSE_2可以检查在映射高速缓存MAP_CACHE或映射表MAP_TBL中是否存在待搜索的关于逻辑地址的映射信息。第一映射搜索引擎MSE_1和第二映射搜索引擎MSE_2可以参考相同的映射高速缓存MAP_CACHE或映射表MAP_TBL来检查待搜索的关于逻辑地址的映射信息。
映射表MAP_TBL可以包括逻辑地址和物理地址之间的映射信息,并且可以位于存储器控制器120的工作存储器125中。当存储器***100启动时,可以从存储器装置110加载映射表MAP_TBL。
映射高速缓存MAP_CACHE可以高速缓存映射表MAP_TBL中包括的逻辑地址和物理地址之间的映射信息中的所有或一些。映射高速缓存MAP_CACHE可以与映射表MAP_TBL一样设置在存储器控制器120的工作存储器125中,或者可以设置在不同于工作存储器125的单独的易失性存储器(例如,TCM、SRAM、DRAM或SDRAM)中。
第一映射搜索引擎MSE_1和第二映射搜索引擎MSE_2首先检查映射高速缓存MAP_CACHE中是否高速缓存了待搜索的对应于逻辑地址的映射信息。如果映射高速缓存MAP_CACHE中高速缓存了待搜索的对应于逻辑地址的映射信息,则第一映射搜索引擎MSE_1和第二映射搜索引擎MSE_2结束搜索。相反,如果映射高速缓存MAP_CACHE中未高速缓存待搜索的对应于逻辑地址的映射信息,则第一映射搜索引擎MSE_1和第二映射搜索引擎MSE_2在映射表MAP_TBL中搜索对应于逻辑地址的映射信息。
这样,通过使用例如第一处理器PROCESSOR_1和第二处理器PROCESSOR_2的两个不同的处理器来并行处理对逻辑地址的读取操作和写入操作,与一个处理器顺序地处理读取操作和写入操作时相比,存储器***100可以提高处理这两种操作的性能。
而且,通过允许第一处理器PROCESSOR_1和第二处理器PROCESSOR_2通过使用分开的映射搜索引擎来搜索关于逻辑地址的映射信息,与使用一个映射搜索引擎时相比,存储器***100可以提高读取操作或写入操作中搜索映射信息的性能。
在下文中,参照图6至图8描述关于第一处理器PROCESSOR_1在由读取命令RD_CMD指示的逻辑地址之中选择哪个逻辑地址作为将由第二处理器PROCESSOR_2处理的目标逻辑地址TARGET_LA的示例。
例如,目标逻辑地址TARGET_LA可以是:1)奇数逻辑地址,2)偶数逻辑地址,或者3)由读取命令RD_CMD之中由第一处理器PROCESSOR_1选择的目标读取命令所指示的逻辑地址。
图6是示出根据本公开的实施例的第一处理器PROCESSOR_1和第二处理器PROCESSOR_2的操作的示图。
在图6中,第一处理器PROCESSOR_1可以选择逻辑地址0、1、2、3和4之中的奇数逻辑地址1和3作为目标逻辑地址TARGET_LA,并且可向第二处理器PROCESSOR_2传输关于目标逻辑地址TARGET_LA的信息以允许第二处理器PROCESSOR_2处理对目标逻辑地址TARGET_LA的读取操作。
第二处理器PROCESSOR_2可以从第一处理器PROCESSOR_1接收关于作为奇数目标逻辑地址TARGET_LA的逻辑地址1和3的信息,并且可以处理对作为奇数目标逻辑地址TARGET_LA的逻辑地址1和3的读取操作。
第一处理器PROCESSOR_1可以处理对逻辑地址0、1、2、3和4之中作为偶数目标逻辑地址TARGET_LA的剩余逻辑地址0、2和4的读取操作。
图7是示出根据本公开的另一实施例的第一处理器PROCESSOR_1和第二处理器PROCESSOR_2的操作的示图。
在图7中,第一处理器PROCESSOR_1可以选择逻辑地址0、1、2、3和4之中的偶数逻辑地址0、2和4作为目标逻辑地址TARGET_LA,并且可向第二处理器PROCESSOR_2传输关于偶数目标逻辑地址TARGET_LA的信息以允许第二处理器PROCESSOR_2处理对偶数目标逻辑地址TARGET_LA的读取操作。
第二处理器PROCESSOR_2可以从第一处理器PROCESSOR_1接收关于作为偶数目标逻辑地址TARGET_LA的逻辑地址0、2和4的信息,并且可以处理对那些逻辑地址的读取操作。
第一处理器PROCESSOR_1可以处理对逻辑地址0、1、2、3和4之中作为奇数目标逻辑地址TARGET_LA的剩余的即奇数逻辑地址1和3的读取操作。
图8是示出根据本公开的又一实施例的第一处理器PROCESSOR_1和第二处理器PROCESSOR_2的操作的示图。
在图8中,假设由读取命令RD_CMD中的第一读取命令RD_CMD_1指示的逻辑地址是0、1和2并且由第二读取命令RD_CMD_2指示的逻辑地址是3和4。进一步,假设第一处理器PROCESSOR_1已选择第一读取命令RD_CMD_1作为目标读取命令TARGET_RD_CMD。
第一处理器PROCESSOR_1可以选择由作为目标读取命令TARGET_RD_CMD的第一读取命令RD_CMD_1指示的逻辑地址0、1和2作为第一目标逻辑地址TARGET_LA。
第二处理器PROCESSOR_2可以从第一处理器PROCESSOR_1接收关于作为第一目标逻辑地址TARGET_LA的逻辑地址0、1和2的信息,并且可以处理对这些逻辑地址的读取操作。
第一处理器PROCESSOR_1可以处理对逻辑地址0、1、2、3和4之中作为第二目标逻辑地址TARGET_LA的剩余逻辑地址3和4的读取操作。
参照图6至图8,描述了第一处理器PROCESSOR_1处理对除了那些将由第二处理器PROCESSOR_2处理的逻辑地址之外的剩余逻辑地址的读取操作的情况。
然而,第一处理器PROCESSOR_1可以控制另一处理器(例如,第三处理器PROCESSOR_3)来处理对剩余逻辑地址的读取操作。在下文中,参照图9对此进行详细地描述。
图9是示出根据本公开的实施例的第一处理器PROCESSOR_1、第二处理器PROCESSOR_2和第三处理器PROCESSOR_3的操作的示图。
参照图9,存储器***100的存储器控制器120可以进一步包括第三处理器PROCESSOR_3,该第三处理器PROCESSOR_3处理关于除了由第一处理器PROCESSOR_1选择的目标逻辑地址TARGET_LA之外的剩余逻辑地址的读取操作。与第一处理器PROCESSOR_1和第二处理器PROCESSOR_2相同,该第三处理器PROCESSOR_3也可以是以上参照图1描述的处理器124、处理器124中包括的子处理器或与处理器124分离存在的外部处理器。
假设第一处理器PROCESSOR_1已选择逻辑地址0、1、2、3和4之中的奇数逻辑地址1和3作为奇数目标逻辑地址TARGET_LA。
第二处理器PROCESSOR_2可以从第一处理器PROCESSOR_1接收关于作为奇数目标逻辑地址TARGET_LA的逻辑地址1和3的信息,并且可以处理对这些逻辑地址的读取操作。
第三处理器PROCESSOR_3可以从第一处理器PROCESSOR_1接收关于作为偶数目标逻辑地址TARGET_LA的剩余逻辑地址0、2和4的信息,并且可以处理对逻辑地址0、2和4的读取操作。
换言之,在图9中,第一处理器PROCESSOR_1可以不处理读取操作,并且可以控制第二处理器PROCESSOR_2或第三处理器PROCESSOR_3来处理读取操作。
虽然图9仅示出目标逻辑地址TARGET_LA是奇数逻辑地址的情况,但当以不同的方式选择目标逻辑地址TARGET_LA时也可以应用相同的方法。
在上文,参照图6至图8描述了关于第一处理器PROCESSOR_1在由读取命令RD_CMD指示的逻辑地址之中选择哪个逻辑地址作为将由第二处理器PROCESSOR_2处理的目标逻辑地址TARGET_LA的示例。
在下文中,描述第二处理器PROCESSOR_2搜索关于从第一处理器PROCESSOR_1接收的目标逻辑地址TARGET_LA的映射信息,以便处理对目标逻辑地址TARGET_LA的读取操作的操作。
图10是示出根据本公开的实施例的第二处理器PROCESSOR_2搜索映射信息的操作的示图。
参照图10,第二处理器PROCESSOR_2可以通过使用上述第二映射搜索引擎MSE_2来搜索关于作为奇数目标逻辑地址TARGET_LA的逻辑地址1和3的映射信息,以便处理对这些逻辑地址的读取操作。
第二处理器PROCESSOR_2可能对关于奇数目标逻辑地址TARGET_LA的映射信息搜索失败。虽然如以上参照图5所述,第二映射搜索引擎MSE_2在映射高速缓存MAP_CACHE或映射表MAP_TBL中搜索关于奇数目标逻辑地址TARGET_LA的映射信息,但是映射高速缓存MAP_CACHE或映射表MAP_TBL可能都不包括关于奇数目标逻辑地址TARGET_LA的映射信息。
此时,第二处理器PROCESSOR_2可以请求第一处理器PROCESSOR_1从存储器装置110加载关于奇数目标逻辑地址TARGET_LA的映射信息,而不直接从存储器装置110加载关于这些目标逻辑地址TARGET_LA的映射信息。
图11是示出图10中的第一处理器PROCESSOR_1从存储器装置110加载映射信息的操作的示图。
参照图11,第一处理器PROCESSOR_1可以接收第二处理器PROCESSOR_2的请求,并且可以从存储器装置110加载关于奇数目标逻辑地址TARGET_LA的映射信息。
在从存储器装置110加载关于奇数目标逻辑地址TARGET_LA的映射信息之后,第一处理器PROCESSOR_1可以向第二处理器PROCESSOR_2传输关于奇数目标逻辑地址TARGET_LA的映射信息。并且第一处理器PROCESSOR_1可以将关于奇数目标逻辑地址TARGET_LA的映射信息高速缓存至映射高速缓存MAP_CACHE。
虽然图10和图11仅示出目标逻辑地址TARGET_LA是奇数逻辑地址的情况,但当以不同的方式选择目标逻辑地址TARGET_LA时也可以应用相同的方法。
图12是示出根据本公开的实施例的第一处理器PROCESSOR_1处理存储器装置110的后台操作的操作的示图。
参照图12,第一处理器PROCESSOR_1可以处理存储器装置110的后台操作(例如,GC/WL/RR)。即,第一处理器PROCESSOR_1可以处理写入操作和后台操作两者。
图13是根据本公开的实施例的帮助说明操作存储器***100的方法的流程图。
首先,操作存储器***100的方法可以包括步骤S1310,在步骤S1310中,包括第一处理器PROCESSOR_1的多个处理器之中的第一处理器PROCESSOR_1确定处理对由读取命令指示的逻辑地址的读取操作。
进一步,操作存储器***100的方法可以包括步骤S1320,在步骤S1320中,第一处理器PROCESSOR_1处理对由写入命令指示的逻辑地址的写入操作。
进一步,操作存储器***100的方法可以包括步骤S1330,在步骤S1330中,第一处理器PROCESSOR_1在由读取命令RD_CMD指示的逻辑地址之中选择目标逻辑地址TARGET_LA。
进一步,操作存储器***100的方法可以包括步骤S1340,在步骤S1340中,多个处理器之中的第二处理器PROCESSOR_2处理对在步骤S1330选择的目标逻辑地址TARGET_LA的读取操作。
进一步,操作存储器***100的方法可以包括步骤S1350,在步骤S1350中,第一处理器PROCESSOR_1通过使用第一映射搜索引擎来搜索关于与将由第一处理器处理的读取操作或写入操作相对应的逻辑地址的映射信息。
进一步,操作存储器***100的方法可以包括步骤S1360,在步骤S1360中,第二处理器PROCESSOR_2通过使用第二映射搜索引擎来搜索关于目标逻辑地址的映射信息。
如以上参照图5所描述的,第一处理器PROCESSOR_1可以确定多个处理器之中的哪个处理器来处理对由读取命令RD_CMD指示的逻辑地址的读取操作,并且可以处理对由写入命令指示的逻辑地址的写入操作。
第一处理器PROCESSOR_1可以通过使用第一映射搜索引擎MSE_1来搜索关于与将由第一处理器PROCESSOR_1处理的读取操作或写入操作相对应的逻辑地址的映射信息,并且第二处理器PROCESSOR_2可以通过使用第二映射搜索引擎MSE_2来搜索关于目标逻辑地址TARGET_LA的映射信息。
目标逻辑地址TARGET_LA可以是:1)奇数逻辑地址,2)偶数逻辑地址,或者3)由读取命令RD_CMD之中由第一处理器PROCESSOR_1选择的目标读取命令TARGET_RD_CMD所指示的逻辑地址。
第一处理器PROCESSOR_1可以处理对除了目标逻辑地址TARGET_LA以外的剩余逻辑地址的读取操作。可选地,第一处理器PROCESSOR_1可以控制单独的第三处理器PROCESSOR_3来处理对除了目标逻辑地址TARGET_LA以外的剩余逻辑地址的读取操作。
当第二处理器PROCESSOR_2对关于目标逻辑地址TARGET_LA的映射信息的搜索失败时,第二处理器PROCESSOR_2可以请求第一处理器PROCESSOR_1来加载关于目标逻辑地址TARGET_LA的映射信息。在从存储器装置110加载关于目标逻辑地址TARGET_LA的映射信息之后,第一处理器PROCESSOR_1可以向第二处理器PROCESSOR_2传输关于目标逻辑地址TARGET_LA的映射信息。并且第一处理器PROCESSOR_1可以将关于目标逻辑地址TARGET_LA的映射信息高速缓存至映射高速缓存MAP_CACHE。
第一处理器PROCESSOR_1可以处理存储器装置110的后台操作。
存储器控制器120的上述操作可以由控制电路123控制,并且处理器124可以以运行(驱动)被编程固件的方式来执行存储器控制器120的各种操作。
图14是示出根据本发明公开的实施例的计算***1400的配置的示图。
参照图14,计算***1400可以包括:存储器***100,电连接到***总线1460;CPU1410,被配置为控制计算***1400的全部操作;RAM 1420,被配置为存储与计算***1400的操作有关的数据和信息;用户接口/用户体验(UI/UX)模块1430,被配置为向用户提供用户环境;通信模块1440,被配置为以有线和/或无线的形式与外部装置通信;以及电源管理模块1450,被配置为管理计算***1400使用的电力。
计算***1400可以是个人计算机(PC)或者可以包括诸如智能电话、平板电脑或者各种其它电子装置中的任意一种的移动终端。
计算***1400可以进一步包括用于提供操作电压的电池,并且可以进一步包括应用芯片、图形相关模块、相机图像处理器以及DRAM。如本领域技术人员将理解的,计算***1400也可以包括其它元件。
存储器***100可以是被配置为将数据存储在诸如硬盘驱动器(HDD)的磁盘中的类型,或者被配置为将数据存储在诸如固态驱动器(SSD)、通用闪存装置或嵌入式MMC(eMMC)装置的非易失性存储器中的类型。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)和/或铁电RAM(FRAM)。另外,存储器***100可以被实施为安装在各种电子装置中的任意一种的内部的各种类型的存储装置中的任意一种。
根据上述本公开的实施例,可以最小化存储器***的操作延迟时间。另外,根据本公开的实施例,可以最小化在调用特定功能的过程中发生的开销。
尽管已示出和描述了本公开的各个实施例,但本领域技术人员将理解,在不脱离所附权利要求中阐述的本发明的范围和精神的情况下,可以进行各种修改、添加和替换。也就是说,本发明涵盖落入权利要求的范围的所公开实施例中的任意一种的所有修改和变形。

Claims (20)

1.一种存储器***,包括:
存储器装置;以及
存储器控制器,控制所述存储器装置,
所述存储器控制器包括:
第一处理器,在包括所述第一处理器的多个处理器之中确定处理器来处理对由读取命令指示的逻辑地址的读取操作,并且处理对由写入命令指示的逻辑地址的写入操作;以及
第二处理器,处于所述多个处理器之中,处理对由所述读取命令指示的所述逻辑地址之中由所述第一处理器选择的目标逻辑地址的读取操作,
其中所述第一处理器通过使用第一映射搜索引擎来搜索关于与将由所述第一处理器处理的读取操作或写入操作相对应的逻辑地址的映射信息,并且
其中所述第二处理器通过使用第二映射搜索引擎来搜索关于所述目标逻辑地址的映射信息。
2.根据权利要求1所述的存储器***,其中所述目标逻辑地址是奇数逻辑地址、偶数逻辑地址或者由所述读取命令之中由所述第一处理器选择的目标读取命令指示的逻辑地址。
3.根据权利要求2所述的存储器***,其中所述第一处理器处理对除了所述目标逻辑地址以外的剩余逻辑地址的读取操作。
4.根据权利要求2所述的存储器***,其中所述存储器控制器进一步包括:第三处理器,处于所述多个处理器之中,处理对除了所述目标逻辑地址以外的剩余逻辑地址的读取操作。
5.根据权利要求1所述的存储器***,其中当所述第二处理器对关于所述目标逻辑地址的所述映射信息的搜索失败时,所述第二处理器请求所述第一处理器来加载关于所述目标逻辑地址的所述映射信息。
6.根据权利要求5所述的存储器***,其中所述第一处理器从所述存储器装置加载关于所述目标逻辑地址的所述映射信息,并且此后,向所述第二处理器传输关于所述目标逻辑地址的所述映射信息。
7.根据权利要求1所述的存储器***,其中所述第一处理器处理所述存储器装置的后台操作。
8.一种存储器控制器,包括:
存储器接口,与存储器装置通信;以及
控制电路,控制所述存储器装置,
所述控制电路包括:
第一处理器,在包括所述第一处理器的多个处理器之中确定处理器来处理对由读取命令指示的逻辑地址的读取操作,并且处理对由写入命令指示的逻辑地址的写入操作;以及
第二处理器,处于所述多个处理器之中,处理对由所述读取命令指示的所述逻辑地址之中由所述第一处理器选择的目标逻辑地址的读取操作,
其中所述第一处理器通过使用第一映射搜索引擎来搜索关于与将由所述第一处理器处理的读取操作或写入操作相对应的逻辑地址的映射信息,并且
其中所述第二处理器通过使用第二映射搜索引擎来搜索关于所述目标逻辑地址的映射信息。
9.根据权利要求8所述的存储器控制器,其中所述目标逻辑地址是奇数逻辑地址、偶数逻辑地址或者由所述读取命令之中由所述第一处理器选择的目标读取命令指示的逻辑地址。
10.根据权利要求9所述的存储器控制器,其中所述第一处理器处理对除了所述目标逻辑地址以外的剩余逻辑地址的读取操作。
11.根据权利要求9所述的存储器控制器,其中所述控制电路进一步包括:第三处理器,处于所述多个处理器之中,处理对除了所述目标逻辑地址以外的剩余逻辑地址的读取操作。
12.根据权利要求8所述的存储器控制器,其中当所述第二处理器对关于所述目标逻辑地址的所述映射信息的搜索失败时,所述第二处理器请求所述第一处理器加载关于所述目标逻辑地址的所述映射信息。
13.根据权利要求12所述的存储器控制器,其中所述第一处理器从所述存储器装置加载关于所述目标逻辑地址的所述映射信息,并且此后,向所述第二处理器传输关于所述目标逻辑地址的所述映射信息。
14.根据权利要求8所述的存储器控制器,其中所述第一处理器处理所述存储器装置的后台操作。
15.一种操作存储器***的方法,包括:
由第一处理器在包括所述第一处理器的多个处理器之中确定处理器来处理对由读取命令指示的逻辑地址的读取操作;
由所述第一处理器处理对由写入命令指示的逻辑地址的写入操作;
由所述第一处理器在由所述读取命令指示的所述逻辑地址之中选择目标逻辑地址;
由所述多个处理器之中的第二处理器处理对所述目标逻辑地址的读取操作;
由所述第一处理器通过使用第一映射搜索引擎来搜索关于与将由所述第一处理器处理的读取操作或写入操作相对应的逻辑地址的映射信息;并且
由所述第二处理器通过使用第二映射搜索引擎来搜索关于所述目标逻辑地址的映射信息。
16.根据权利要求15所述的方法,其中所述目标逻辑地址是奇数逻辑地址、偶数逻辑地址或者由所述读取命令之中由所述第一处理器选择的目标读取命令指示的逻辑地址。
17.根据权利要求16所述的方法,进一步包括由所述第一处理器处理对除了所述目标逻辑地址以外的剩余逻辑地址的读取操作。
18.根据权利要求15所述的方法,进一步包括当所述第二处理器对关于所述目标逻辑地址的所述映射信息的搜索失败时,由所述第二处理器请求所述第一处理器来加载关于所述目标逻辑地址的所述映射信息。
19.根据权利要求18所述的方法,进一步包括:
由所述第一处理器从所述存储器装置加载关于所述目标逻辑地址的所述映射信息;并且
由所述第一处理器向所述第二处理器传输关于所述目标逻辑地址的所述映射信息。
20.根据权利要求15所述的方法,进一步包括由所述第一处理器处理所述存储器装置的后台操作。
CN202011020003.3A 2020-04-28 2020-09-25 存储器***、存储器控制器及操作存储器***的方法 Withdrawn CN113568844A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0051150 2020-04-28
KR1020200051150A KR20210132806A (ko) 2020-04-28 2020-04-28 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법

Publications (1)

Publication Number Publication Date
CN113568844A true CN113568844A (zh) 2021-10-29

Family

ID=78158746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011020003.3A Withdrawn CN113568844A (zh) 2020-04-28 2020-09-25 存储器***、存储器控制器及操作存储器***的方法

Country Status (3)

Country Link
US (1) US11386000B2 (zh)
KR (1) KR20210132806A (zh)
CN (1) CN113568844A (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1601512A (zh) * 2003-09-25 2005-03-30 国际商业机器公司 使用多个处理器的虚拟设备的***和方法
CN101673245A (zh) * 2008-09-09 2010-03-17 株式会社东芝 包括存储器管理装置的信息处理装置和存储器管理方法
US20150378895A1 (en) * 2014-06-27 2015-12-31 International Business Machines Corporation Detecting cache conflicts by utilizing logical address comparisons in a transactional memory
CN105589336A (zh) * 2014-11-07 2016-05-18 三星电子株式会社 多处理器设备
JP2016126426A (ja) * 2014-12-26 2016-07-11 三星電子株式会社Samsung Electronics Co.,Ltd. マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラム
US20160342509A1 (en) * 2015-05-22 2016-11-24 Sandisk Enterprise Ip Llc Hierarchical FTL Mapping Optimized for Workload
CN108733616A (zh) * 2017-04-24 2018-11-02 爱思开海力士有限公司 包括多处理器的控制器及其操作方法
CN109992537A (zh) * 2018-01-02 2019-07-09 爱思开海力士有限公司 存储***及其操作方法
US20190317894A1 (en) * 2018-04-12 2019-10-17 Micron Technology, Inc. Address Map Caching for a Memory System
CN110781095A (zh) * 2018-07-31 2020-02-11 爱思开海力士有限公司 控制器及其操作方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100881052B1 (ko) 2007-02-13 2009-01-30 삼성전자주식회사 플래시 메모리의 매핑 테이블 검색 시스템 및 그에 따른검색방법
US8635412B1 (en) * 2010-09-09 2014-01-21 Western Digital Technologies, Inc. Inter-processor communication
US9645739B2 (en) 2014-09-26 2017-05-09 Intel Corporation Host-managed non-volatile memory
TWI710905B (zh) * 2019-05-06 2020-11-21 慧榮科技股份有限公司 資料儲存裝置及邏輯至物理位址映射表之載入方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1601512A (zh) * 2003-09-25 2005-03-30 国际商业机器公司 使用多个处理器的虚拟设备的***和方法
CN101673245A (zh) * 2008-09-09 2010-03-17 株式会社东芝 包括存储器管理装置的信息处理装置和存储器管理方法
US20150378895A1 (en) * 2014-06-27 2015-12-31 International Business Machines Corporation Detecting cache conflicts by utilizing logical address comparisons in a transactional memory
CN105589336A (zh) * 2014-11-07 2016-05-18 三星电子株式会社 多处理器设备
JP2016126426A (ja) * 2014-12-26 2016-07-11 三星電子株式会社Samsung Electronics Co.,Ltd. マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラム
US20160342509A1 (en) * 2015-05-22 2016-11-24 Sandisk Enterprise Ip Llc Hierarchical FTL Mapping Optimized for Workload
CN108733616A (zh) * 2017-04-24 2018-11-02 爱思开海力士有限公司 包括多处理器的控制器及其操作方法
CN109992537A (zh) * 2018-01-02 2019-07-09 爱思开海力士有限公司 存储***及其操作方法
US20190317894A1 (en) * 2018-04-12 2019-10-17 Micron Technology, Inc. Address Map Caching for a Memory System
CN110781095A (zh) * 2018-07-31 2020-02-11 爱思开海力士有限公司 控制器及其操作方法

Also Published As

Publication number Publication date
US20210334204A1 (en) 2021-10-28
US11386000B2 (en) 2022-07-12
KR20210132806A (ko) 2021-11-05

Similar Documents

Publication Publication Date Title
CN114067870A (zh) 存储器***、存储器装置以及用于操作存储器装置的方法
CN114489466A (zh) 存储器***及其操作方法
CN114863962A (zh) 存储器***及其操作方法
CN113204312A (zh) 存储器***、存储器控制器及存储器***的操作方法
CN112860176A (zh) 存储器***、存储器控制器及其操作方法
CN112349315B (zh) 存储器***、存储器控制器和操作方法
CN113903384A (zh) 存储器***、存储器控制器以及操作存储器***的方法
CN113703662A (zh) 存储器***、存储器控制器及其操作方法
CN113806254A (zh) 存储器***、存储器控制器及存储器***的操作方法
CN113010093A (zh) 存储器***以及存储器控制器
US12019891B2 (en) Memory controller controlling synchronization operation based on fused linked list and operating method thereof
CN115963981A (zh) 存储器***及存储器***的操作方法
US11474726B2 (en) Memory system, memory controller, and operation method thereof
CN116136738A (zh) 使用外部装置执行后台操作的存储器***及其操作方法
US11137942B2 (en) Memory system, memory controller, and method of operating a memory system for determining a number of hit and miss requests about map segments in a map cache and determining whether or not to perform data read operation in parallel
CN112783426A (zh) 存储器***、存储器控制器和操作存储器控制器的方法
CN112925476A (zh) 存储器***、存储器控制器及其操作方法
US11386000B2 (en) Memory system, memory controller and method for operating memory system in which different processors search for mapping information using different map search engines
US11500771B2 (en) Memory system, memory controller, and method of operating memory system
US11669266B2 (en) Memory system and operating method of memory system
US20230376246A1 (en) Memory system, memory controller and operating method of the memory system operating as read boost mode
US20230376211A1 (en) Controller for controlling one-time programmable memory, system, and operation method thereof
US20230297502A1 (en) Memory system, memory controller and operating method of the memory system for controlling garbage collection
US20230205687A1 (en) Controller and operating method thereof
CN114968078A (zh) 存储器装置及其操作方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20211029

WW01 Invention patent application withdrawn after publication