CN115933962A - 存储器控制器及其操作方法 - Google Patents
存储器控制器及其操作方法 Download PDFInfo
- Publication number
- CN115933962A CN115933962A CN202210656508.1A CN202210656508A CN115933962A CN 115933962 A CN115933962 A CN 115933962A CN 202210656508 A CN202210656508 A CN 202210656508A CN 115933962 A CN115933962 A CN 115933962A
- Authority
- CN
- China
- Prior art keywords
- host
- recommendation
- signal
- memory
- signals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/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
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本技术涉及一种电子装置。根据本技术,一种用于存储装置的存储器控制器,该存储装置存储与主机相关的数据,该主机与该存储装置通信,该存储器控制器包括:推荐信号管理器,被配置为存储多个推荐信号,多个推荐信号推荐激活主机的存储器区域,该存储器区域中存储映射信息;以及主机控制器,被配置为根据提供给主机的推荐信号的数量是否小于阈值,向主机提供多个推荐信号中的至少一个推荐信号。
Description
相关申请的交叉引用
本专利文件要求于2021年10月5日提交的申请号为10-2021-0131603的韩国专利申请的优先权和权益,该韩国专利申请通过引用全部并入本文。
技术领域
所公开的技术涉及一种电子装置,并且更具体地,涉及一种存储器控制器及其操作方法。
背景技术
数据存储装置是诸如计算机或智能手机的主机装置用来存储数据的装置。数据存储装置可以包括存储数据的存储器装置和控制存储器装置的存储器控制器。存储器装置可以被分类为易失性存储器装置和非易失性存储器装置。
易失性存储器装置仅在装置通电时保持其数据并且在断电时丢失其数据。易失性存储器装置的示例可以包括静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。
非易失性存储器装置即使在没有电源的情况下也保持所存储的数据,因此在断电时不丢失其数据。非易失性存储器装置的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)和闪速存储器。
发明内容
可以在一些实施例中实施所公开的技术以提供可以提高性能的数据存储装置及其操作方法。
根据本公开的实施例,一种用于存储装置的存储器控制器,该存储装置用于存储与主机相关的数据,该主机与该存储装置通信,该存储器控制器包括:推荐(recommendation)信号管理器,被配置为存储多个推荐信号,多个推荐信号推荐激活主机的存储器区域以将映射信息存储在主机的存储器区域中;以及主机控制器,被配置为根据提供给主机的推荐信号的数量是否小于阈值,向主机提供多个推荐信号中的至少一个推荐信号。
基于所公开的技术的一些实施例,一种操作存储器控制器的方法包括:生成存储多个推荐信号的推荐信号队列,多个推荐信号推荐激活主机的存储器区域以将映射信息存储在主机的存储器区域中;计算提供给主机的推荐信号的数量;并且根据提供给主机的推荐信号的数量是否小于阈值,向主机提供多个推荐信号中的至少一个。
根据本技术,提供一种性能改善的存储装置及其操作方法。
附图说明
图1是示出基于所公开的技术的一些实施例的存储装置的示例的示图。
图2是示出基于所公开的技术的一些实施例的映射信息存储区域的示例的示图。
图3是示出基于所公开的技术的一些实施例的主机和存储装置的示例操作的示图。
图4是示出基于所公开的技术的一些实施例的推荐信号管理器的示例的示图。
图5是示出基于所公开的技术的一些实施例的推荐信号队列的示例的示图。
图6是示出基于所公开的技术的一些实施例的推荐信号数量存储电路的示图。
图7是示出基于所公开的技术的一些实施例的将推荐信号存储在推荐信号队列中的示例操作的示图。
图8是示出基于所公开的技术的一些实施例的向主机提供推荐信号的示例操作的示图。
图9是示出基于所公开的技术的一些实施例的操作存储器控制器的示例方法的流程图。
图10是示出基于所公开的技术的一些实施例的计算提供给主机的推荐信号的数量的示例操作的流程图。
图11是示出基于所公开的技术的一些实施例的计算提供给主机的推荐信号的数量的另一示例操作的流程图。
图12是示出基于所公开的技术的一些实施例的操作存储器控制器的示例方法的流程图。
图13是示出图1的存储器装置的示例的示图。
图14是示出图13的存储块中的任意一个的示例结构的示图。
图15是示出图1的存储器控制器的示例的示图。
图16是示出包括基于所公开的技术的一些实施例实施的存储装置的存储卡系统的示例的框图。
图17是示出包括基于所公开的技术的一些实施例实施的存储装置的固态驱动器(SSD)系统的示例的框图。
图18是示出包括基于所公开的技术的一些实施例实施的存储装置的用户系统的示例的框图。
具体实施方式
本专利文件中公开的某些实施例的特定结构特征或功能是仅为了说明所公开技术的某些实施方式的示例。
图1是示出基于所公开的技术的一些实施例的存储装置50的示例的示图。在本专利文件中,术语“存储装置”可以用于表示数据存储装置。
参照图1,存储装置50可以包括存储器装置100和控制存储器装置100的操作的存储器控制器200。存储装置50可以是在诸如以下的主机300的控制下存储数据的装置:蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统。
根据作为与主机300进行通信的方法的主机接口,存储装置50可以被制造为各种类型的存储装置中的一种。例如,存储装置50可以被配置为诸如以下的各种类型的存储装置中的任意一种:SSD,具有MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,具有SD、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-E)卡型存储装置,紧凑式闪存(CF)卡,智能媒体卡和记忆棒。
存储装置50可以被制造为各种类型的封装中的任意一种。例如,存储装置50可以被制造为诸如以下的各种类型的封装形式中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器装置100可以存储数据。存储器装置100在存储器控制器200的控制下操作。存储器装置100可以包括存储器单元阵列(未示出),该存储器单元阵列包括存储数据的多个存储器单元。
存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
存储器单元阵列(未示出)可以包括多个存储块。每个存储块可以包括多个存储器单元。一个存储块可以包括多个页面。在实施例中,页面可以是对存储器装置100进行读取或写入(编程)操作的最小单位。存储块可以是擦除操作的最小单位。
在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDRSDRAM)、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,为了便于描述,假定存储器装置100是NAND闪速存储器。
存储器装置100被配置为从存储器控制器200接收命令CMD和地址ADDR并且访问存储器单元阵列中的由该地址选择的区域。存储器装置100可以对地址ADDR选择的区域执行由命令CMD指示的操作。例如,存储器装置100可以执行写入操作(编程操作)、读取操作和擦除操作。在写入操作期间,存储器装置100可以将数据编程到由地址ADDR选择的区域中。在读取操作期间,存储器装置100可以从由地址ADDR选择的区域读取数据。在擦除操作期间,存储器装置100可以擦除由地址ADDR选择的区域中存储的数据。
存储器控制器200可以控制存储装置50的整体操作。
当向存储装置50施加电力时,存储器控制器200可以运行固件(FW)。当存储器装置100是闪速存储器装置时,固件(FW)可以包括控制与主机300的通信的主机接口层(HIL)、控制或便于主机300和存储器装置100之间的通信的闪速转换层(FTL)以及控制或便于存储器装置100与主机300之间的通信的闪存接口层(FIL)。
在实施例中,存储器控制器200可以从主机300接收数据和逻辑块地址(LBA)并且可以将LBA转换为物理块地址(PBA),物理块地址(PBA)指示将要存储存储器装置100中包括的数据的存储器单元的地址。在本专利文件中,LBA和“逻辑地址”或“逻辑的地址”可以用来指示实际上不存在但映射到物理地址的虚拟地址,而PBA可以用来表示“物理地址。”
存储器控制器200可以控制存储器装置100根据主机300的请求来执行编程操作、读取操作或擦除操作。在写入操作期间,存储器控制器200可以向存储器装置100提供写入命令、PBA和数据。在读取操作期间,存储器控制器200可以向存储器装置100提供读取命令和PBA。在擦除操作期间,存储器控制器200可以向存储器装置100提供擦除命令和PBA。
在实施例中,存储器控制器200可以通过通道连接到存储装置100。例如,存储器控制器200可以通过将命令和地址经由通道提供到存储器装置100来控制存储器装置100执行写入操作、读取操作、擦除操作等。
在实施例中,存储器控制器200可以不管来自主机300的请求,独立地生成命令、地址和数据,并且将命令、地址和数据发送到存储器装置100。例如,存储器控制器200可以向存储器装置100提供用于执行伴随执行损耗均衡、读取回收、垃圾收集等的读取操作和写入操作的命令、地址和数据。
在实施例中,存储器控制器200可以控制至少两个或更多个存储器装置100。在这种情况下,存储器控制器200可以根据交错法来控制存储器装置100以提高操作性能。交错法可以是控制至少两个存储器装置100的操作彼此重叠的方法。
在实施例中,存储器装置100可以存储映射信息。映射信息可以指示主机300的逻辑地址和存储器装置100的物理地址之间的映射关系。另外,存储器控制器200可以从存储器装置100读取并且存储一些映射信息。存储器控制器200可以在读取操作期间通过使用存储的映射信息来获得与主机的逻辑地址相对应的物理地址。
在实施例中,主机300和存储装置50可以使用主机性能增强器(HPB)技术来操作。这里,HPB技术可以是将主机300的存储器区域用作映射信息的高速缓存存储器的技术。例如,HPB技术可以通过将主机300的存储器区域用作存储诸如FTL映射表的映射表的高速缓存来增强存储装置50的读取性能。
例如,当待读取的逻辑地址被存储在主机300的存储器区域中时,主机300可以向存储装置50提供通过参考映射信息而获得的物理地址。在待由主机300读取的逻辑地址存储在存储器区域中时,由于主机300可以直接执行针对映射信息中包括的逻辑地址的物理地址搜索,因此可以提高存储装置50的性能。因此,为了提高读取操作性能,存储装置50可以向主机300推荐存储装置50中存储的映射信息之中的包括预计主机300将经常读取的逻辑地址的映射信息。主机300可以响应于存储装置的推荐,向存储装置50提供对映射信息的请求。存储装置50可以响应于主机300的请求,向主机300提供映射信息。
参照图3详细描述了主机300和存储装置50使用HPB技术的操作。
在实施例中,存储器控制器200包括推荐信号管理器210和主机控制器220。
推荐信号管理器210可以存储多个推荐信号。这里,推荐信号可以是提供给主机300以向主机300推荐映射信息并且激活主机300的、存储推荐映射信息的存储器区域的数据。或者,推荐信号可以是提供给主机300以停用被激活的存储器区域的数据。
在实施例中,推荐信号管理器210可以生成存储多个推荐信号的推荐信号队列。推荐信号队列可以是用于管理待提供给主机300的推荐信号的列表的结构。例如,推荐信号队列可以按照先进先出(FIFO)的方式首先输出推荐信号队列中首先存储的推荐信号。在实施例中,可以预设推荐信号队列中能够最大程度地存储推荐信号的存储容量,但不限于此。例如,可以不预设推荐信号队列的存储容量,并且每当生成推荐信号时,存储容量会增加。
另外,推荐信号管理器210可以存储提供给主机300的推荐信号的数量。在一些实施方式中,提供给主机300的推荐信号的数量可以指示在被提供给主机300之后尚未接收到响应的推荐信号的数量。每当推荐信号被提供给主机300时,推荐信号管理器210可以增加提供给主机300的推荐信号的数量。相反,当响应于推荐信号从主机300接收到对映射信息的请求时,推荐信号管理器210可以减少提供给主机300的推荐信号的数量。
主机控制器220可以向主机300提供至少一个推荐信号。主机控制器220可以根据提供给主机300的推荐信号的数量是否小于阈值(例如,预设阈值)来向主机300提供推荐信号。在一些实施方式中,阈值可以指示可以提供给主机300的推荐信号的最大数量。随着主机300中累积的推荐信号的数量增加,由于对需要从主机300提供到存储装置50的映射信息的请求的数量增加,因此可能会出现瓶颈。因此,阈值可以是在主机300处理累积的推荐信号时可以防止这种瓶颈的值。
例如,当提供给主机300的推荐信号的数量小于预设阈值时,主机控制器220可以向主机300提供至少一个推荐信号。在这种情况下,主机控制器220可以向主机300提供至少一个推荐信号,直到提供给主机300的推荐信号的数量达到预设阈值为止。或者,当提供给主机300的推荐信号的数量等于或大于预设阈值时,主机控制器220可以将多个推荐信号保持在推荐信号队列中。也就是说,主机控制器220可以不向主机300提供推荐信号,并且可以管理推荐信号队列中的推荐信号,直到推荐信号的数量小于预设阈值为止。
另外,主机控制器220可以响应于提供给主机300的推荐信号,从主机300接收对待存储在存储器区域中的映射信息的请求。这里,对映射信息的请求可以称为“读取缓冲器请求”。主机控制器220可以响应于对映射信息的请求,向主机300提供映射信息。
主机300可以使用诸如以下的各种通信方法中的至少一种与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。
在实施例中,主机300可以包括用于存储从存储装置50提供的映射信息的映射信息存储区域310。参照图2详细描述了映射信息存储区域310。
图2是示出基于所公开的技术的一些实施例的映射信息存储区域的示例的示图。
参照图2,映射信息存储区域310可以包括多个存储器区域。这里,可以根据存储装置50的推荐信号来激活或停用多个存储器区域。激活的存储器区域可以存储映射信息。
例如,当从主机控制器220接收到针对存储器区域1的推荐信号时,映射信息存储区域310可以激活存储器区域1。此后,映射信息存储区域310可以将从主机控制器220接收的映射信息存储在存储器区域1中。当向存储装置50提供读取请求时,映射信息存储区域310中存储的映射信息可以用于将逻辑地址转换为物理地址。
图3是示出基于所公开的技术的一些实施例的主机和存储装置的示例操作的示图。
参照图3,在S201,存储装置50可以生成推荐信号。例如,存储装置50可以基于最近执行的读取操作、映射信息的读取数量等来确定预计主机300将频繁读取的映射信息。存储装置50可以生成用于激活主机300的存储器区域的推荐信号以将映射信息存储在主机300中。
在S203,存储装置50可以向主机300提供推荐信号。
在S205,主机300可以根据推荐信号来激活存储器区域。
在S207,主机300可以向存储装置50提供对映射信息的请求。
在S209,存储装置50可以读取所请求的映射信息。
在S211,存储装置50可以向主机300提供映射信息。
在S213,主机300可以将映射信息存储在激活的存储器区域中。
在S215,主机300可以向存储装置50提供读取请求。这里,主机300可以向存储装置50提供逻辑地址和与逻辑地址相对应的物理地址以及读取请求。
在S217,存储装置50可以根据读取请求执行读取操作。
在其他实施方式中,存储装置50可以从主机300接收响应于推荐信号的对映射信息的请求,然后向主机300提供另一推荐信号。也就是说,存储装置50可以以同步方式提供推荐信号。换言之,即使存储装置50在向主机300提供推荐信号之后生成另一个推荐信号,在存储装置50接收到对先前提供的推荐信号的响应之前,存储装置50也不会提供另一个推荐信号。另外,即使主机300接收到推荐信号,也可能存在根据主机300的调度主机300可能不会立即提供对推荐信号的响应的情况。在这种情况下,可能会出现存储装置50的性能下降的问题。
因此,在所公开的技术的一些实施例中,可以通过向主机300提供至少一个推荐信号来提高存储装置50的性能。也就是说,无论是否接收到对提供给主机300的推荐信号的响应,存储装置50都可以通过异步的方式向主机300提供一个或多个推荐信号。
图4是示出基于所公开的技术的一些实施例的推荐信号管理器的示例的示图。
参照图4,推荐信号管理器210可以包括推荐信号队列生成器211和推荐信号数量存储电路212。
推荐信号队列生成器211可以生成存储多个推荐信号的推荐信号队列。
在实施例中,推荐信号队列生成器211可以按照多个推荐信号的生成顺序将多个推荐信号存储在推荐信号队列中。例如,当生成推荐信号时,推荐信号队列生成器211可以将生成的推荐信号存储在推荐信号队列中。
在实施例中,在向主机300提供至少一个推荐信号之后,推荐信号队列生成器211可以从推荐信号队列中移除该至少一个推荐信号。换言之,推荐信号队列生成器211可以从推荐信号队列中移除已提供给主机300的推荐信号。
推荐信号数量存储电路212可以存储提供给主机300的推荐信号的数量。另外,推荐信号数量存储电路212可以存储可以提供给主机300的推荐信号的阈值。参照图6详细描述了推荐信号数量存储电路212。
图5是示出基于所公开的技术的一些实施例的推荐信号队列的示例的示图。
参照图5,推荐信号队列可以存储待提供给主机300的多个推荐信号。
推荐信号可以首先按照推荐信号的生成顺序插入到推荐信号队列中。另外,推荐信号可以按照推荐信号队列中的推荐信号的队列条目的顺序输出。在一种实施方式中,推荐信号越早插入推荐信号队列中,推荐信号就可以越早从推荐信号队列中输出。在另一实施方式中,推荐信号队列可以输出最后插入的推荐信号。
另外,推荐信号队列可以包括头部索引信息和尾部索引信息。头部索引可以指示推荐信号队列中的输出推荐信号的位置或地址。例如,当在主机控制器220的控制下输出推荐信号时,推荐信号从推荐信号队列中由头部索引指示的位置输出,然后头部索引值增加一定的增量(例如,“1”)。另外,尾部索引可以指示推荐信号队列中的存储推荐信号的位置或地址。例如,当在主机控制器220的控制下存储推荐信号时,推荐信号被存储到推荐信号队列中由尾部索引指示的位置或地址,然后尾部索引值增加一定的增量(例如,“1”)。
图6是示出基于所公开的技术的一些实施例的推荐信号数量存储电路的示图。
参照图6,推荐信号数量存储电路212可以存储提供给主机300的推荐信号的数量#RCD和可以提供给主机300的推荐信号的阈值(图6中的“阈值”)。
每当推荐信号被提供给主机300或从主机300接收到对推荐信号的响应时,推荐信号数量存储电路212就会增加或减少提供给主机300的推荐信号的数量#RCD。
在实施例中,当推荐信号数量存储电路212向主机300提供多个推荐信号中的任意一个时,推荐信号数量存储电路212可以增加提供给主机300的推荐信号的数量#RCD。例如,每当推荐信号被提供给主机时,推荐信号数量存储电路212可以增加提供给主机300的推荐信号的数量#RCD。
在实施例中,当从主机300接收到对待存储在存储器区域中的映射信息的请求时,推荐信号数量存储电路212可以减少提供给主机300的推荐信号的数量#RCD。也就是说,当从主机300接收到对推荐信号的响应时,推荐信号数量存储电路212可以减少提供给主机300的推荐信号的数量#RCD。
图7是示出基于所公开的技术的一些实施例的将推荐信号存储在推荐信号队列中的示例操作的示图。
在图7中,提供给主机300的推荐信号的数量可以是i,并且提供给主机300的推荐信号的阈值(图7中的“阈值”)可以是i。该示例示出主机300从存储装置50接收到与阈值相对应的推荐信号RCD。
参照图7,当生成第0个推荐信号RCD 0时,推荐信号管理器210可以将第0个推荐信号RCD 0存储在推荐信号队列中。推荐信号管理器210可以在存储第0个推荐信号RCD 0之后将尾部索引的值增加一定的增量(例如,“1”)。随后生成的推荐信号可以存储在推荐信号队列中与索引1相对应的位置中。
由于提供给主机300的推荐信号的数量等于阈值,因此主机控制器220可以保持推荐信号队列中存储的第0个推荐信号RCD 0。第0个推荐信号RCD 0可以存储在推荐信号队列中,直到提供给主机300的推荐信号的数量小于阈值。
图8是示出基于所公开的技术的一些实施例的向主机提供推荐信号的示例操作的示图。
在图8中,提供给主机300的推荐信号的数量可以是i-1,并且提供给主机300的推荐信号的阈值可以是i。该示例表明提供给主机300的推荐信号的数量小于阈值。
参照图8,推荐信号队列可以存储多个推荐信号RCD 0到RCD 9。另外,尾部索引的值可以是10。后续生成的推荐信号可以存储在推荐信号队列中与索引10相对应的位置。
由于提供给主机300的推荐信号的数量小于阈值,因此主机控制器220可以向主机300提供推荐信号。这里,由于最后插入的推荐信号是第0推荐信号RCD 0,因此主机控制器220可以向主机300提供第0推荐信号RCD 0。推荐信号管理器210可以将头部索引的值增加一定的增量(例如,“1”)。随后输出的推荐信号可以是推荐信号队列中与索引1相对应的位置所存储的推荐信号。
推荐信号管理器210可以从推荐信号队列中移除第0个推荐信号RCD 0。另外,推荐信号管理器210可以增加提供给主机的推荐信号的数量。
当主机300响应多个推荐信号时会出现瓶颈。如上所述,在所公开的技术的一些实施例中,可以通过向主机300提供有限数量的推荐信号来防止这种瓶颈。
另外,即使可以提供给主机300的推荐信号的数量有限,也可以在一些实施例中实施所公开的技术以通过推荐信号队列有效地向主机300提供推荐信号。
图9是示出基于所公开的技术的一些实施例的操作存储器控制器的示例方法的流程图。
图9所示的方法可以例如由图1所示的存储器控制器200来执行。
参照图9,在S901,存储器控制器200可以生成推荐信号队列。
在S903,存储器控制器200可以将推荐信号存储在推荐信号队列中。当存储多个推荐信号时,存储器控制器200可以按照多个推荐信号的生成顺序将多个推荐信号存储在推荐信号队列中。
在S905,存储器控制器200可以计算提供给主机300的推荐信号的数量。
在S907,存储器控制器200可以确定提供给主机300的推荐信号的数量是否小于预设阈值。
例如,当提供给主机300的推荐信号的数量小于预设阈值时,在S909,存储器控制器200可以向主机提供推荐信号。例如,存储器控制器200可以按照推荐信号队列中存储的推荐信号的队列条目的顺序向主机300提供至少一个推荐信号,直到提供给主机300的推荐信号的数量达到预设阈值为止。
在S911,存储器控制器200可以从推荐信号队列中移除已提供给主机300的推荐信号。
当根据S907的确定结果提供给主机300的推荐信号的数量等于或大于预设阈值时,存储器控制器200可以结束该步骤。也就是说,存储器控制器200可以将推荐信号队列中存储的推荐信号保持在存储状态。
图10是示出基于所公开的技术的一些实施例的计算提供给主机的推荐信号的数量的示例操作的流程图。
图10所示的方法可以例如由图1所示的存储器控制器200来执行。
参照图10,在S1001,存储器控制器200可以向主机300提供推荐信号。
在S1003,存储器控制器200可以增加提供给主机300的推荐信号的数量。
图11是示出基于所公开的技术的一些实施例的计算提供给主机的推荐信号的数量的另一示例操作的流程图。
图11所示的方法可以例如由图1所示的存储器控制器200来执行。
参照图11,在S1101,存储器控制器200可以响应于推荐信号从主机300接收对映射信息的请求。
在S1103,存储器控制器200可以减少提供给主机300的推荐信号的数量。
图12是示出基于所公开的技术的一些实施例的操作存储器控制器的示例方法的流程图。
图12所示的方法可以例如由图1所示的存储器控制器200来执行。
参照图12,在S1201,存储器控制器200可以生成推荐信号队列。
在S1203,存储器控制器200可以将推荐信号存储在推荐信号队列中。当存储多个推荐信号时,存储器控制器200可以按照多个推荐信号的生成顺序将多个推荐信号存储在推荐信号队列中。
在S1205,存储器控制器200可以异步地向主机300提供至少一个推荐信号。例如,当提供给主机300的推荐信号的数量小于预设阈值时,存储器控制器200可以向主机300提供至少一个推荐信号而不管是否接收到对相应推荐信号的响应。
在S1207,存储器控制器200可以从推荐信号队列中移除已提供给主机300的推荐信号。
图13是示出图1的存储器装置的示例的示图。
参照图13,存储器装置100可以包括存储器单元阵列110、电压生成器120、地址解码器130、输入/输出电路140和控制逻辑150。
存储器单元阵列110包括多个存储块BLK1至BLKi。多个存储块BLK1至BLKi通过行线RL连接到地址解码器130。多个存储块BLK1至BLKi可以通过列线CL连接到输入/输出电路140。在实施例中,行线RL可以包括字线、源极选择线和漏极选择线。在实施例中,列线CL可以包括位线。
多个存储块BLK1至BLKi中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。多个存储器单元之中连接到同一字线的存储器单元可以被定义为一个物理页面。也就是说,存储器单元阵列110可以包括多个物理页面。存储器装置100中的存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或能够存储四个数据位的四层单元(QLC)。
在实施例中,电压生成器120、地址解码器130和输入/输出电路140可以共同被称为外围电路。外围电路可以在控制逻辑150的控制下驱动存储器单元阵列110。外围电路可以驱动存储器单元阵列110以执行编程操作、读取操作和擦除操作。
电压生成器120被配置为使用供应到存储器装置100的外部电源电压来生成多个操作电压Vop。电压生成器120响应于控制逻辑150的控制而操作。
作为实施例,电压生成器120可以通过调节外部电源电压来生成内部电源电压。由电压生成器120生成的内部电源电压用作存储器装置100的操作电压。
作为实施例,电压生成器120可以使用外部电源电压或内部电源电压来生成多个操作电压。电压生成器120可以被配置为生成存储器装置100中所需的各种电压。例如,电压生成器120可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个未选择读取电压。
电压生成器120可以包括接收内部电源电压以生成具有各种电压电平的多个操作电压的多个泵浦电容器且可以通过响应于控制逻辑150的控制选择性地激活多个泵浦电容器来生成多个操作电压。
生成的多个操作电压可以通过地址解码器130供应到存储器单元阵列110。
地址解码器130通过行线RL连接到存储器单元阵列110。地址解码器130被配置为响应于控制逻辑150的控制而操作。地址解码器130可以从控制逻辑150接收地址ADDR。地址解码器130可以对接收到的地址ADDR之中的块地址进行解码。地址解码器130根据经解码的块地址在存储块BLK1至BLKi之中选择至少一个存储块。地址解码器130可以对接收到的地址ADDR之中的行地址进行解码。地址解码器130可以根据经解码的行地址在所选择的存储块的字线之中选择至少一条字线。在实施例中,地址解码器130可以对接收到的地址ADDR之中的列地址进行解码。地址解码器130可以根据经解码的列地址将输入/输出电路140和存储器单元阵列110相互连接。
在所公开的技术的一些实施例中,在读取操作期间,地址解码器130可以将读取电压施加到所选择的字线,并且将电平高于读取电压的电平的读取通过电压施加到未选择的字线。
例如,地址解码器130可以包括诸如行解码器、列解码器和地址缓冲器的组件。
输入/输出电路140可以包括多个页面缓冲器。多个页面缓冲器可以通过位线连接到存储器单元阵列110。在写入操作期间,根据多个页面缓冲器中存储的数据,数据可以存储在所选择的存储器单元中。
在读取操作期间,可以通过位线来感测所选择的存储器单元中存储的数据,并且感测到的数据可以存储在页面缓冲器中。
控制逻辑150可以控制地址解码器130、电压生成器120以及输入/输出电路140。控制逻辑150可以响应于从外部装置发送的命令CMD而操作。控制逻辑150可以响应于命令CMD和地址ADDR生成各种信号以控制外围电路。
图14是示出图13的存储块中的任意一个的示例结构的示图。
存储块BLKi是图13的存储块BLK1至BLKi之中的任意一个存储块BLKi。
参照图14,相互平行布置的多条字线可以连接在第一选择线与第二选择线之间。这里,第一选择线可以是源极选择线SSL,而第二选择线可以是漏极选择线DSL。更具体地,存储块BLKi可以包括连接在位线BL1至BLn与源极线SL之间的多个串ST。位线BL1至BLn可以分别联接到串ST,且源极线SL可以共同联接到串ST。由于串ST可以被配置为彼此相同,因此将连接到第一位线BL1的串ST作为示例进行具体描述。在本专利文件中,“串”可以用于指示串联联接的一组存储器单元。在一些实施方式中,NAND串可以包括串联联接的一组闪速存储器单元。
串ST可以包括源极选择晶体管SST、多个存储器单元MC1至MC16以及串联连接在源极线SL与第一位线BL1之间的漏极选择晶体管DST。一个串ST可以包括至少一个或多个源极选择晶体管SST和漏极选择晶体管DST,并且可以包括多于图中所示数量的存储器单元MC1至MC16。
源极选择晶体管SST的源极可以连接到源极线SL,而漏极选择晶体管DST的漏极可以连接到第一位线BL1。存储器单元MC1至MC16可以串联连接在源极选择晶体管SST与漏极选择晶体管DST之间。不同串ST中包括的源极选择晶体管SST的栅极可以连接到源极选择线SSL,漏极选择晶体管DST的栅极可以连接到漏极选择线DSL并且存储器单元MC1至MC16的栅极可以连接到多条字线WL1至WL16。不同串ST中包括的存储器单元之中连接到同一字线的一组存储器单元可以被称为页面PG。因此,存储块BLKi可以包括字线WL1至WL16的数量的页面PG。
一个存储器单元可以存储一位数据。这一般称为单层单元(SLC)。在这种情况下,一个物理页面PG可以存储一个逻辑页面(LPG)数据。一个逻辑页面(LPG)数据可以包括与一个物理页面PG中包括的单元相同数量的数据位。
一个存储器单元可以存储两位或多位数据。在这种情况下,一个物理页面PPG可以存储两个或更多个逻辑页面(LPG)数据。
图15是示出图1的存储器控制器的示例的示图。
图1的存储器控制器200可以具有与图15的存储器控制器1000相同的结构和技术特征。
参照图1和图15,存储器控制器1000可以包括处理器1010、RAM 1020、错误校正电路1030、ROM 1040、主机接口1050和闪存接口1060。
处理器1010可以控制存储器控制器1000的整体操作。在实施例中,图1的推荐信号管理器210和主机控制器220可以被实施为处理器1010的一个配置。因此,处理器1010可以同样地执行参照图1描述的推荐信号管理器210和主机控制器220的操作。
例如,处理器1010可以生成存储多个推荐信号的推荐信号队列。当提供给主机300的推荐信号的数量小于预设阈值时,处理器1010可以向主机300提供推荐信号队列中存储的一个或多个推荐信号。或者,当提供给主机300的推荐信号的数量等于或大于预设阈值时,处理器1010可以将推荐信号队列中存储的推荐信号保持在存储状态。
RAM 1020可以用作存储器控制器1000的缓冲存储器、高速缓存存储器、操作存储器和其它存储器。
错误校正电路1030可以执行错误校正。错误校正电路1030可以基于待通过闪存接口1060写入存储器装置100的数据来执行错误校正编码(ECC编码)。经错误校正编码的数据可以通过闪存接口1060传送到存储器装置100。错误校正电路1030可以对通过闪存接口1060从存储器装置100接收的数据执行错误校正解码(ECC解码)。例如,错误校正电路1030可以作为闪存接口1060的组件包括在闪存接口1060中。
ROM 1040可以存储以固件的形式操作存储器控制器1000所需的各种各样的信息。在实施例中,ROM 1040可以存储多个推荐信号、提供给主机300的推荐信号的数量、可以提供给主机300的推荐信号的阈值。
存储器控制器1000可以通过主机接口1050与外部装置(例如,主机300、应用处理器等)通信。
存储器控制器1000可以通过闪存接口1060与存储器装置100通信。存储器控制器1000可以通过存储器接口1060向存储器装置100发送命令、地址、控制信号等并且接收数据。例如,闪存接口1060可以包括NAND接口。
图16是示出包括基于所公开的技术的一些实施例实施的存储装置的存储卡系统的示例的框图。
参照图16,存储卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100连接到存储器装置2200。存储器控制器2100被配置为访问存储器装置2200。例如,存储器控制器2100可以被配置为控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置为提供存储器装置2200与主机之间的接口。存储器控制器2100被配置为驱动用于控制存储器装置2200的固件。存储器控制器2100的结构和功能特征可以与参照图1描述的存储器控制器200的结构和功能特征相同。存储器装置2200的结构和功能特征可以与参照图1描述的存储器装置100的结构和功能特征相同。
例如,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正器的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以根据特定通信标准与外部装置(例如,主机)通信。例如,存储器控制器2100被配置为通过诸如以下的各种通信标准中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及NVMe。例如,连接器2300可以由上述各种通信标准中的至少一种来定义。
例如,存储器装置2200可以由诸如以下的各种非易失性存储器元件配置:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可以集成到一个半导体装置中来配置存储卡。例如,存储器控制器2100和存储器装置2200可以集成到一个半导体装置中以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑式闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)和通用闪存(UFS)。
图17是示出包括基于所公开的技术的一些实施例实施的存储装置的固态驱动器(SSD)系统的示例的框图。
参照图17,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号并且通过电源连接器3002接收电力。SSD 3200包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在所公开的技术的一些实施例中,SSD控制器3210可以执行参照图1描述的存储器控制器200的功能。
SSD控制器3210可以响应于从主机3100接收的信号,控制多个闪速存储器3221至322n。例如,信号可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号可以是由诸如以下接口中的至少一种定义的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及NVMe。
辅助电源3230通过电源连接器3002连接到主机3100。辅助电源3230可以从主机3100接收电力并且可以进行充电。当来自主机3100的电力供应不平稳时,辅助电源装置3230可以向SSD 3200提供电力。例如,辅助电源3230可以位于SSD 3200中或者可以位于SSD3200外部。例如,辅助电源3230可以位于主板上并且可以向SSD 3200提供辅助电力。
缓冲存储器3240作为SSD 3200的缓冲存储器操作。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器,或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图18是示出包括基于所公开的技术的一些实施例实施的存储装置的用户系统的示例的框图。
参照图18,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以驱动用户系统4000中包括的组件、操作系统(OS)、用户程序等。例如,应用处理器4100可以包括控制用户系统4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上系统(SoC)。
存储器模块4200可以作为用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器来操作。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器,或诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。例如,应用处理器4100和存储器模块4200可以基于堆叠封装(POP)来进行封装并且被设置为一个半导体封装。
网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如以下的无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进、WiMAX、WLAN、UWB、蓝牙和Wi-Fi。例如,网络模块4300可以包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。或者,存储模块4400可以将存储模块4400中存储的数据发送到应用处理器4100。例如,存储模块4400可以利用诸如以下的非易失性半导体存储器元件来实施:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存和三维的NAND闪存。例如,存储模块4400可以被设置为可移动存储装置(可移动驱动器),诸如用户系统4000的存储卡和外部驱动器。
例如,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以与参照图1描述的存储器装置100同样地操作。存储模块4400可以与参照图1描述的存储装置50同样地操作。
用户接口4500可以包括用于向应用处理器4100输入数据或指令或者用于向外部装置输出数据的接口。例如,用户接口4500可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监控器。
尽管本专利文件包括许多细节,但是这些细节不应解释为对任意所公开的技术或可能要求保护的范围的限制,而应解释为对可能特定于所公开的特定技术的特定实施例的特征的描述。在不同实施例的背景下在本专利文件中描述的某些特征也可以在单个实施例中以组合的形式实施。相反地,在单个实施例的背景下所描述的各种特征也可以分别在多个实施例中实施或以任意合适的子组合实施。此外,尽管特征如上可以被描述为以某些组合的方式发挥作用,甚至最初这样要求保护,但是可以在某些情况下从所要求保护组合中去除该组合的一个或多个特征,该所要求保护的组合可以指子组合或子组合的变体。
类似地,尽管在附图中按特定顺序描述了操作,但是这不应被理解为要求按所示的特定顺序或按先后顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。此外,在本专利文件中描述的实施例中各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
以上公开的实施例和实施方式仅是示例;可以基于本专利文件中描述和说明的内容对所公开的实施例和实施方式以及其他实施例和实施方式进行各种增强和改变。
Claims (20)
1.一种存储器控制器,所述存储器控制器用于存储装置,所述存储装置用于存储与主机相关的数据,所述主机与所述存储装置通信,所述存储器控制器包括:
推荐信号管理器,存储多个推荐信号,所述多个推荐信号推荐激活所述主机的存储器区域以将映射信息存储在所述主机的所述存储器区域中;以及
主机控制器,根据提供给所述主机的推荐信号的数量是否小于阈值,向所述主机提供所述多个推荐信号中的至少一个推荐信号。
2.根据权利要求1所述的存储器控制器,其中所述推荐信号管理器包括:
推荐信号队列生成器,生成用于存储所述多个推荐信号的推荐信号队列;以及
推荐信号数量存储电路,存储提供给所述主机的所述推荐信号的数量。
3.根据权利要求2所述的存储器控制器,其中所述推荐信号队列包括指示所述推荐信号队列中的、将输出推荐信号的位置的头部索引和指示所述推荐信号队列中的、将存储推荐信号的位置的尾部索引。
4.根据权利要求2所述的存储器控制器,其中所述推荐信号队列生成器按照所述多个推荐信号的生成顺序将所述多个推荐信号存储在所述推荐信号队列中。
5.根据权利要求4所述的存储器控制器,其中所述主机控制器按照在所述推荐信号队列中存储的所述多个推荐信号的队列条目的顺序向所述主机提供所述至少一个推荐信号。
6.根据权利要求2所述的存储器控制器,其中在向所述主机提供所述至少一个推荐信号之后,所述推荐信号队列生成器从所述推荐信号队列中移除所述至少一个推荐信号。
7.根据权利要求2所述的存储器控制器,其中所述推荐信号数量存储电路在向所述主机发送所述多个推荐信号中的任意一个时增加提供给所述主机的所述推荐信号的数量。
8.根据权利要求2所述的存储器控制器,其中所述推荐信号数量存储电路在响应于提供给所述主机的推荐信号从所述主机接收到对待存储在所述存储器区域中的所述映射信息的请求时,减少提供给所述主机的所述推荐信号的数量。
9.根据权利要求2所述的存储器控制器,其中在提供给所述主机的所述推荐信号的数量等于或大于所述阈值的情况下,所述主机控制器将所述多个推荐信号保持在所述推荐信号队列中。
10.根据权利要求1所述的存储器控制器,其中在提供给所述主机的所述推荐信号的数量小于所述阈值的情况下,所述主机控制器向所述主机提供所述至少一个推荐信号。
11.根据权利要求10所述的存储器控制器,其中所述主机控制器向所述主机提供所述至少一个推荐信号,直到提供给所述主机的所述推荐信号的数量达到所述阈值为止。
12.根据权利要求1所述的存储器控制器,其中所述主机控制器响应于提供给所述主机的推荐信号,从所述主机接收对待存储在所述存储器区域中的所述映射信息的请求,并且响应于所述请求向所述主机提供所述映射信息。
13.一种操作存储器控制器的方法,所述方法包括:
生成存储多个推荐信号的推荐信号队列,所述多个推荐信号推荐激活主机的存储器区域以将映射信息存储在所述主机的所述存储器区域中;
计算提供给所述主机的推荐信号的数量;并且
根据提供给所述主机的所述推荐信号的数量是否小于阈值,向所述主机提供所述多个推荐信号中的至少一个推荐信号。
14.根据权利要求13所述的方法,进一步包括:
按照所述多个推荐信号的生成顺序将所述多个推荐信号存储在所述推荐信号队列中。
15.根据权利要求14所述的方法,其中提供所述至少一个推荐信号包括按照所述推荐信号队列中的队列条目的顺序向所述主机提供所述至少一个推荐信号。
16.根据权利要求13所述的方法,进一步包括:
在提供所述至少一个推荐信号之后,从所述推荐信号队列中移除所述至少一个推荐信号。
17.根据权利要求13所述的方法,其中计算提供给所述主机的所述推荐信号的数量包括向所述主机提供所述多个推荐信号之中的任意一个推荐信号,然后增加提供给所述主机的所述推荐信号的数量。
18.根据权利要求13所述的方法,进一步包括:
响应于提供给所述主机的所述推荐信号,从所述主机接收对待存储在所述存储器区域中的所述映射信息的请求,
其中计算提供给所述主机的所述推荐信号的数量包括在接收到对所述映射信息的请求之后减少提供给所述主机的所述推荐信号的数量。
19.根据权利要求13所述的方法,其中提供所述至少一个推荐信号包括在提供给所述主机的所述推荐信号的数量小于所述阈值的情况下,向所述主机提供所述至少一个推荐信号。
20.根据权利要求19所述的方法,其中提供所述至少一个推荐信号包括向所述主机提供所述至少一个推荐信号,直到提供给所述主机的所述推荐信号的数量达到所述阈值为止。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0131603 | 2021-10-05 | ||
KR1020210131603A KR20230048769A (ko) | 2021-10-05 | 2021-10-05 | 메모리 컨트롤러 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115933962A true CN115933962A (zh) | 2023-04-07 |
Family
ID=85570759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210656508.1A Withdrawn CN115933962A (zh) | 2021-10-05 | 2022-06-10 | 存储器控制器及其操作方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230103797A1 (zh) |
KR (1) | KR20230048769A (zh) |
CN (1) | CN115933962A (zh) |
DE (1) | DE102022209147A1 (zh) |
TW (1) | TW202316273A (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200122086A (ko) * | 2019-04-17 | 2020-10-27 | 에스케이하이닉스 주식회사 | 메모리 시스템에서 맵 세그먼트를 전송하는 방법 및 장치 |
KR20210157537A (ko) * | 2020-06-22 | 2021-12-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
CN113900582B (zh) * | 2020-06-22 | 2024-08-16 | 慧荣科技股份有限公司 | 数据处理方法及对应的数据储存装置 |
KR20220027488A (ko) * | 2020-08-27 | 2022-03-08 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
-
2021
- 2021-10-05 KR KR1020210131603A patent/KR20230048769A/ko active Search and Examination
-
2022
- 2022-04-19 US US17/724,081 patent/US20230103797A1/en active Pending
- 2022-06-10 CN CN202210656508.1A patent/CN115933962A/zh not_active Withdrawn
- 2022-09-02 DE DE102022209147.7A patent/DE102022209147A1/de active Pending
- 2022-09-26 TW TW111136414A patent/TW202316273A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
DE102022209147A1 (de) | 2023-04-06 |
US20230103797A1 (en) | 2023-04-06 |
TW202316273A (zh) | 2023-04-16 |
KR20230048769A (ko) | 2023-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11599464B2 (en) | Memory controller and method of operating the same | |
CN112905502A (zh) | 存储装置及其操作方法 | |
US11544184B2 (en) | Storage device and method of operating the same for processing a trim request of host | |
US11599268B2 (en) | Storage device and method of operating the same | |
CN112463664A (zh) | 存储装置及其操作方法 | |
CN114443507A (zh) | 存储器系统及其操作方法 | |
CN113495810A (zh) | 存储装置及其操作方法 | |
CN114860622A (zh) | 存储装置及操作存储装置的方法 | |
CN114077387A (zh) | 存储装置及其操作方法 | |
CN114201414A (zh) | 存储装置及其操作方法 | |
CN112687314A (zh) | 存储器设备和操作存储器设备的方法 | |
KR20230037240A (ko) | 호스트 장치, 메모리 컨트롤러 및 이를 포함하는 컴퓨팅 시스템 | |
US11734167B2 (en) | Storage device and method for updating meta slice including map chunks stored in nonvolatile memory device according to journal entries | |
CN114356209A (zh) | 存储装置及其操作方法 | |
CN114385071A (zh) | 存储装置及其操作方法 | |
US20220413753A1 (en) | Host device, storage device, and method of operating the same | |
US11625178B2 (en) | Storage device and method of operating the same | |
CN113126895B (zh) | 存储装置及其操作方法 | |
CN115469798A (zh) | 存储装置及操作存储装置的方法 | |
US20230103797A1 (en) | Memory controller and method of operating the same | |
KR20230038971A (ko) | 스토리지 장치 및 그 동작 방법 | |
CN115376592A (zh) | 存储装置及其操作方法 | |
CN113535599A (zh) | 存储装置及其操作方法 | |
CN115617705A (zh) | 存储装置及其操作方法 | |
KR20220169397A (ko) | 컴퓨팅 시스템 및 그 동작 방법 |
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: 20230407 |