CN114694700A - 存储器控制器、非易失性存储器装置及其存储装置 - Google Patents

存储器控制器、非易失性存储器装置及其存储装置 Download PDF

Info

Publication number
CN114694700A
CN114694700A CN202111634324.7A CN202111634324A CN114694700A CN 114694700 A CN114694700 A CN 114694700A CN 202111634324 A CN202111634324 A CN 202111634324A CN 114694700 A CN114694700 A CN 114694700A
Authority
CN
China
Prior art keywords
command
data
memory device
queue
host
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
Application number
CN202111634324.7A
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN114694700A publication Critical patent/CN114694700A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • 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/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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
    • G06F13/1673Details of memory controller using buffers
    • 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/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/106Data output latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种用于操作存储器控制器的方法、存储器控制器、非易失性存储器装置和数据中心,该方法包括:第一主机从接收第一命令;在队列中存储第一命令;当第一命令比当前正在执行的第二命令具有更高的优先级时,将第二命令的操作暂停并且执行第一命令的读操作;以及在完成第一命令的读操作之后继续第二命令的操作。

Description

存储器控制器、非易失性存储器装置及其存储装置
技术领域
本发明构思涉及一种存储控制器和一种非易失性存储器装置。
背景技术
闪速存储器是一种可以电擦除和编程的电子非易失性计算机存储器存储介质。闪速存储器通过改变存储器单元的阈电压存储数据,并且利用预定读电平读数据。近来,包括诸如固态驱动器(SSD)和存储卡的闪速存储器的存储装置被广泛使用。这是因为闪速存储器是非易失性元件,并且具有诸如低功耗和高集成度的优秀特性。
存储器控制器控制闪速存储器的操作。存储器控制器从多个主机接收命令,并且根据其中接收命令的顺序执行命令的操作。
发明内容
本发明构思的实施例提供了一种能够在复杂的工作负荷情况下根据主机请求接收多个命令并且减小数据访问延时的存储器控制器。
本发明构思的实施例还提供了一种能够在复杂的工作负载情况下根据主机请求接收多个命令并且减小数据访问延时的非易失性存储器装置。
本发明构思的实施例提供了一种操作存储器控制器的方法,方法包括:第一主机从接收第一命令;在队列中存储第一命令;当第一命令比当前正在执行的第二命令具有更高的优先级时,将第二命令的操作暂停并且执行第一命令的读操作;以及在完成第一命令的读操作之后继续第二命令的操作。
本发明构思的实施例提供了一种存储器控制器,该存储器控制器包括:主机接口,其接收多个命令,并且输出对应于命令的数据;队列,其存储在主机接口处接收的命令;调度器,其根据队列中的命令的优先级调度操作序列;以及中央处理单元,其基于调度后的顺序根据队列中的命令从非易失性存储器装置中读数据,其中,当接收到比当前正在执行的第二命令更加紧急的第一命令时,暂停第二命令的操作,并且执行第一命令的操作。
本发明构思的实施例提供了一种非易失性存储器装置,该非易失性存储器装置包括:存储器单元阵列,其包括多个存储器单元并且存储数据;多个页缓冲器,其存储从存储器单元阵列读取的数据;命令控制单元,其响应于第一命令,推迟当前正在执行的第二命令的操作,并且执行第一命令的操作;缓冲器选择器,其在命令控制单元的控制下选择多个页缓冲器之一,以存储对应于第一命令或第二命令的数据;以及输出控制单元,其在命令控制单元的控制下输出选择的页缓冲器的数据。
本发明构思的实施例提供了一种数据中心,该数据中心包括:第一主机,其发送第一读命令;第二主机,其发送第二读命令;以及存储装置,其生成对应于第一读命令和第二读命令的多个任务,并且根据执行操作的优先级调度任务的操作顺序,其中,当在执行第一任务的操作的同时接收到更紧急的第二任务时,存储装置在完成第一任务的操作之前执行第二任务的操作,然后继续第一任务的操作。
附图说明
图1是用于解释根据本发明构思的一些实施例的存储***的图。
图2是用于解释根据本发明构思的一些实施例的存储装置的图。
图3是用于解释根据本发明构思的一些实施例的存储器控制器的图。
图4和图5是用于解释根据本发明构思的一些实施例的队列的操作的图。
图6和图7是用于解释根据本发明构思的一些实施例的存储装置的操作的图。
图8和图9是用于解释根据本发明构思的一些实施例的存储装置的操作的图。
图10是用于解释根据本发明构思的一些实施例的非易失性存储器装置的图。
图11是用于解释根据本发明构思的一些实施例的非易失性存储器装置的图。
图12是用于解释根据本发明构思的一些实施例的非易失性存储器装置的读操作的图。
图13、图14和图15是用于解释根据本发明构思的一些实施例的非易失性存储器装置的读操作的图。
图16是用于解释操作根据本发明构思的一些实施例的存储器控制器的方法的流程图。
图17是用于解释包括根据本发明构思的一些实施例的存储装置的电子装置的图。
图18是用于解释包括根据本发明构思的一些实施例的存储装置的数据中心的图。
具体实施方式
图1是用于解释根据本发明构思的一些实施例的存储***的图。
存储***可包括主机1和存储装置10。此外,存储装置10可包括存储器控制器100和非易失性存储器装置(NVM)200。此外,根据本发明构思的示例性实施例,主机1可为多个主机。
存储装置10可包括响应于来自主机1的请求而存储数据的存储介质。作为示例,存储装置10可包括固态驱动器(SSD)、嵌入式存储器和可拆卸外部存储器中的至少一个。当存储装置10是SSD时,存储装置10可为符合快速非易失性存储器(NVMe)标准的装置。如果存储装置10是嵌入式存储器或者外部存储器,存储装置10可为符合通用闪存(UFS)或者嵌入式多媒体卡(eMMC)标准的装置。主机1和存储装置10各自可以根据采用的标准协议生成和发送分组。
存储器控制器100控制非易失性存储器装置200的驱动。存储器控制器100可以执行从非易失性存储器装置200中读数据和写或删除数据的操作。另外,存储器控制器100可以执行非易失性存储器装置200的存储器访问操作,以及各种用于管理的后台操作。下面将参照图3描述存储器控制器100的特定细节。
当存储装置10的非易失性存储器装置200包括闪速存储器时,闪速存储器可包括二维(2D)NAND存储器阵列或者三维(3D)(或竖直)NAND(VNAND)存储器阵列。作为另一示例,存储装置10可包括各种其它类型的非易失性存储器。例如,可以将磁随机存取存储器(MRAM)、自旋转移转矩MRAM、导电桥接RAM(CBRAM)、铁电RAM(FeRAM)、相变RAM(PRAM)、电阻存储器(RRAM)和各种其它类型的存储器应用于存储装置10。将参照图10描述非易失性存储器装置200的特定细节。
图2是用于解释根据本发明构思的一些实施例的存储装置的图。
参照图2,存储装置20可包括非易失性存储器装置200和存储器控制器100。非易失性存储器装置200可以对应于经多个通道CH1至CHm之一与存储器控制器100通信的非易失性存储器装置NVM11至NVMmn之一。非易失性存储器装置200可包括第一引脚P11、第二引脚P12、第三引脚P13、第四引脚P14、第五引脚P15、第六引脚P16、第七引脚P17和第八引脚P18、存储器接口电路210、控制逻辑220以及存储器单元阵列230。
存储器接口电路210可以通过第一引脚P11从存储器控制器100接收芯片使能信号nCE。存储器接口电路210可以根据芯片使能信号nCE通过第二引脚P12至第八引脚P18将信号发送至存储器控制器100和从存储器控制器100接收信号。例如,当芯片使能信号nCE处于使能状态(例如,低电平)时,存储器接口电路210可以通过第二引脚P12至第八引脚P18将信号发送至存储器控制器100和从存储器控制器100接收信号。
存储器接口电路210可以通过第二引脚P12至第四引脚P14从存储器控制器100接收命令锁存器使能信号CLE、地址锁存器使能信号ALE和写使能信号nWE。存储器接口电路210可以通过第七引脚P17从存储器控制器100接收数据信号DQ或者将数据信号DQ发送至存储器控制器100。命令CMD、地址ADDR和数据DATA可通过数据信号DQ转移。例如,数据信号DQ可通过多条数据信号线转移。在这种情况下,第七引脚P17可包括对应于所述多条数据信号线的多个引脚。
存储器接口电路210可以基于写使能信号nWE的切换时序,从在命令锁存器使能信号CLE的使能状态(例如,高电平状态)下接收的数据信号DQ中获取命令CMD。存储器接口电路210可以基于写使能信号nWE的切换时序,从在地址锁存器使能信号ALE的使能状态(例如,高电平状态)下接收的数据信号DQ中获取地址ADDR。
在本发明构思的示例性实施例中,写使能信号nWE保持(例如,维持)静态(例如,高电平或低电平),然后可在高电平与低电平之间切换。例如,写使能信号nWE可在发送命令CMD或地址ADDR时切换。因此,存储器接口电路210可以基于写使能信号nWE的切换时序获取命令CMD或地址ADDR。
存储器接口电路210可以通过第五引脚P15从存储器控制器100接收读使能信号nRE。存储器接口电路210可以通过第六引脚P16从存储器控制器100接收数据选通信号DQS,或者将数据选通信号DQS发送至存储器控制器100。
在非易失性存储器装置200的数据DATA输出操作中,存储器接口电路210可以在输出数据DATA之前通过第五引脚P15接收切换的读使能信号nRE。存储器接口电路210可根据读使能信号nRE的切换产生切换的数据选通信号DQS。例如,存储器接口电路210可产生相对于读使能信号nRE的切换起始时间在预定延迟(例如,tDQSRE)之后开始切换的数据选通信号DQS。存储器接口电路210可基于数据选通信号DQS的切换时序发送包括数据DATA的数据信号DQ。因此,数据DATA可按照数据选通信号DQS的切换时序排列并且被发送至存储器控制器100。
在非易失性存储器装置200的数据DATA输入操作中,当从存储器控制器100接收到包括数据DATA的数据信号DQ时,存储器接口电路210可以将切换的数据选通信号DQS与来自存储器控制器100的数据DATA一起接收。存储器接口电路210可以基于数据选通信号DQS的切换时序从数据信号DQ中获取数据DATA。例如,存储器接口电路210可以通过在数据选通信号DQS的上升边沿和下降边沿采样数据信号DQ来获取数据DATA。
存储器接口电路210可通过第八引脚P18将预备/忙碌输出信号nR/B发送至存储器控制器100。存储器接口电路210可通过预备/忙碌输出信号nR/B将存储器装置200的状态信息发送至存储器控制器100。当非易失性存储器装置200处于忙碌状态时(例如,当执行存储器装置200的内部操作时),存储器接口电路210可将指示忙碌状态的预备/忙碌输出信号nR/B发送至存储器控制器100。当存储器装置200处于准备状态时(例如,当未执行或已完成存储器装置200的内部操作时),存储器接口电路210可指示准备状态的预备/忙碌输出信号nR/B发送至存储器控制器100。例如,在存储器装置200响应于页读命令从存储器单元阵列230读数据DATA时,存储器接口电路210可将指示忙碌状态(例如,低电平)的预备/忙碌输出信号nR/B发送至存储器控制器100。例如,在存储器装置200响应于程序指令将数据DATA编程至存储器单元阵列230中的同时,存储器接口电路210可将指示忙碌状态的预备/忙碌输出信号nR/B发送至存储器控制器100。
控制逻辑220可以控制存储器装置200的各种操作。控制逻辑220可以从存储器接口电路210接收命令/地址CMD/ADDR。控制逻辑220可根据接收到的命令/地址CMD/ADDR产生用于控制存储器装置200的其它组件的控制信号。例如,控制逻辑220可产生用于在存储器单元阵列230中编程数据DATA或者从存储器单元阵列230中读取数据DATA的各种控制信号。
存储器单元阵列230可以根据控制逻辑220的控制存储从存储器接口电路210获取的数据DATA。存储器单元阵列230可以根据控制逻辑220的控制将存储的数据DATA输出至存储器接口电路210。
存储器单元阵列230可包括多个存储器单元。例如,所述多个存储器单元可为闪速存储器单元。然而,本发明构思不限于此,存储器单元可为RRAM单元、FRAM单元、晶闸管RAM(TRAM)单元和MRAM单元。下文中,将集中于其中存储器单元是NAND闪速存储器单元的实施例来描述本发明构思的实施例。
存储器控制器100可包括第一引脚P21、第二引脚P22、第三引脚P23、第四引脚P24、第五引脚P25、第六引脚P26、第七引脚P27和第八引脚P28以及控制器接口电路110。第一引脚P21至第八引脚P28可以对应于非易失性存储器装置200的第一引脚P11至第八引脚P18。
控制器接口电路110可通过第一引脚P21将芯片使能信号nCE发送至非易失性存储器装置200。控制器接口电路110可以通过第二引脚P22至第八引脚P28将信号发送至通过芯片使能信号nCE选择的非易失性存储器装置200和从通过芯片使能信号nCE选择的非易失性存储器装置200接收信号。
控制器接口电路110可通过第二引脚P22至第四引脚P24将命令锁存器使能信号CLE、地址锁存器使能信号ALE和写使能信号nWE发送至非易失性存储器装置200。控制器接口电路110可通过第七引脚P27将数据信号DQ发送至存储器装置200,或者从非易失性存储器装置200接收数据信号DQ。
控制器接口电路110可将包括命令CMD或地址ADDR的数据信号DQ与切换的使能信号nWE一起发送至非易失性存储器装置200。控制器接口电路110可通过发送具有使能状态的命令锁存器使能信号CLE将包括命令CMD的数据信号DQ发送至非易失性存储器装置200,并且可通过发送具有使能状态的地址锁存器使能信号ALE将包括地址ADDR的数据信号DQ发送至存储器装置200。
控制器接口电路110可通过第五引脚P25将读使能信号nRE发送至存储器装置200。控制器接口电路110可以通过第六引脚P26从非易失性存储器装置200接收数据选通信号DQS,或者可通过第六引脚P26将数据选通信号DQS发送至非易失性存储器装置200。
在非易失性存储器装置200的数据DATA输出操作中,控制器接口电路110可产生切换的读使能信号nRE,并且将读使能信号nRE发送至非易失性存储器装置200。例如,控制器接口电路110可产生在输出数据DATA之前从静态(例如,高电平或低电平)改变为切换状态的读使能信号nRE。因此,可基于非易失性存储器装置200中的读使能信号nRE生成切换的数据选通信号DQS。控制器接口电路110可以从非易失性存储器装置200接收包括数据DATA的数据信号DQ以及切换的数据选通信号DQS。控制器接口电路110可以基于数据选通信号DQS的切换时序从数据信号DQ获取数据DATA。
在非易失性存储器装置200的数据DATA输入操作中,控制器接口电路110可产生切换的数据选通信号DQS。例如,控制器接口电路110可在发送数据DATA之前产生从静态(例如,高电平或低电平)改变为切换状态的数据选通信号DQS。控制器接口电路110可基于数据选通信号DQS的切换时序将包括数据DATA的数据信号DQ发送至非易失性存储器装置200。
控制器接口电路110可以通过第八引脚P28从非易失性存储器装置200接收预备/忙碌输出信号nR/B。控制器接口电路110可以基于预备/忙碌输出信号nR/B区分非易失性存储器装置200的状态信息。
图3是用于解释根据本发明构思的一些实施例的存储器控制器的图。
存储器控制器100可包括主机接口115、存储器接口电路110和中央处理单元(CPU)120。此外,存储器控制器100可包括缓冲器存储器150、错误校正码(ECC)引擎160和闪存转换层(FTL)170。存储器控制器100还可包括在其中加载了FTL 170的工作存储器,并且当CPU120执行闪存转换层时,可控制非易失性存储器装置200的数据记录和读操作。
主机接口115可以将数据包(packet)发送至主机1(见图1)和从主机接收数据包。从主机1发送至主机接口115的数据包可包括命令、将要写入非易失性存储器装置200中的数据等。从主机接口115发送至主机1的数据包可包括命令的响应、从非易失性存储器装置200读取的数据等。存储器接口电路110可将待写入非易失性存储器装置200中的数据发送至非易失性存储器装置200或者从非易失性存储器装置200接收读数据。这种存储器接口电路110可实施为符合诸如切换或打开NAND闪存接口工作组(ONFI)的标准协议。
CPU 120控制存储器控制器100的整体操作。例如,CPU 120可以控制与非易失性存储器装置200的驱动关联的操作。换句话说,CPU120可被控制为根据从主机接口115接收的命令(例如,读命令)从非易失性存储器装置200中读数据。
根据本发明构思的一些实施例,CPU 120可以将命令按照通过调度器130调度的次序输出至非易失性存储器装置200。例如,当从主机1接收的命令CMD1的优先级为紧急时,CPU 120可以中断当前正在执行的命令CMD2的操作,并且优先执行命令CMD1的操作。例如,当命令CMD1的操作完成时,CPU 120恢复中断的命令CMD2的操作。
根据本发明构思的一些实施例,命令CMD2可为用于管理非易失性存储器装置的内部命令,命令CMD2可为从主机请求的读命令。例如,内部命令可为与垃圾收集操作关联的命令。根据本发明构思的一些实施例,命令CMD2是从第一主机接收到的命令,命令CMD1是从第二主机接收到的命令,并且第二主机的请求可设为优先于第一主机的请求。
例如,在恢复命令CMD2的操作之前,当存在要在命令CMD1之后执行的命令CMD3时,CPU 120执行命令CMD3的操作,然后恢复命令CMD2的操作。
命令CMD3可为从相同主机接收到并且与命令CMD1相关联的命令。另外,命令CMD3可为从另一主机(例如,第三主机)接收到但是比命令CMD2更加紧急的命令。
根据本发明构思的一些实施例,调度器130检查通过主机接口115接收的命令的优先级,并且根据优先级调度它们的操作序列。根据本发明构思的一些实施例,调度器130响应于通过主机接口115接收到的命令而生成这样的任务,该任务是生成待提供至非易失性存储器单元200的命令所需的,并且调度器130可以执行控制,使得通过CPU 120处理该任务。
根据本发明构思的一些实施例,队列140存储从主机接口115接收的多个命令。根据本发明构思的一些实施例,队列140可以存储生成待提供至非易失性存储器装置200的命令所需的多个任务。根据本发明构思的一些实施例,队列140可为多个队列。
作为示例,调度器130可以基于当前正在执行的命令CMD2在第一队列(队列1或紧急队列)中存储更多紧急命令,并且可以基于当前正在执行的命令CMD2在第二队列(队列2或正常队列)中存储非紧急命令。
例如,当在执行命令CMD2的同时将命令CMD1存储在第一队列中时,调度器130可以向CPU 120通知命令CMD1在第一队列中。CPU120可以响应于调度器130的通知而控制非易失性存储器装置200推迟(或停住)命令CMD2的操作,并且优先执行命令CMD1的操作。
当调度器130在恢复命令CMD2的操作之前接收需要在命令CMD1之后执行的命令CMD3,调度器130可以在第一队列中存储命令CMD3,并且向CPU 120通知命令CMD3在第一队列中。此时,根据本发明构思的一些实施例,命令CMD3还可为依赖于命令CMD1的命令。例如,命令CMD1和命令CMD3可为响应于从第一主机接收的命令生成的多个任务中的依赖于任务的第一任务Task1和第二任务Task1。作为其示例,第一任务Task1可包括将从主机1提供的逻辑地址映射至非易失性存储器装置200中使用的物理地址的地址映射L2P任务,第二任务Task2可包括确定施加至非易失性存储器装置200的非易失性存储器单元的读电压的电平的任务。
可替换地,根据本发明构思的一些实施例,调度器130可具有优先级高于命令CMD2的优先级的命令CMD3。作为示例,根据本发明构思的一些实施例,多个主机1可具有各自的优先级。如果第一主机请求命令CMD2并且第二主机请求命令CMD3,则第二主机可比第一主机具有更高的优先级。在这种情况下,调度器130可以执行调度,使得第二主机的命令(例如,上面示例中的命令CMD3)在第一主机的命令(例如,上面示例中的命令CMD2)之前首先执行。针对上述调度,调度器130在将要在当前正在执行的命令之前处理的命令和可以不首先处理的命令之间进行区分,并且可以根据与其相关联的优先级将它们存储在不同队列140中。
缓冲器存储器150可为存储器控制器100的工作存储器。缓冲器存储器150可包括诸如静态RAM(SRAM)和/或动态RAM(DRAM)的易失性存储器,但是还可以包括诸如闪速存储器、PRAM和/或RRAM的非易失性存储器。
ECC引擎160可以执行从非易失性存储器装置200中读取的读数据的错误检测和校正功能。例如,ECC引擎160可针对待写在非易失性存储器装置200上的写数据产生奇偶校验位,并且因此生成的奇偶校验位可与写数据一起存储在非易失性存储器装置200中。当从非易失性存储器装置200中读数据时,ECC引擎160可以利用与读数据一起从非易失性存储器装置200读的奇偶校验位校正读数据的错误,并且输出错误校正后的读数据。
闪存转换层(FTL)170可以执行诸如地址映射、损耗均衡和垃圾收集的各种功能。地址映射操作是将从主机接收的逻辑地址改变为用于将数据实际存储在非易失性存储器装置200中的物理地址的操作。损耗均衡是用于确保非易失性存储器装置200中的块被统一使用以防止特定块的过度退化的技术,并且可以例如通过用于平衡物理块的擦除计数的固件技术来实现。垃圾收集是用于通过将块的有效数据复制到新块然后擦除现有块的方法来确保非易失性存储器装置200中的可用容量的技术。
存储器接口电路110可通过直接连接存储器(DAS)方法实现,其中非易失性存储器装置200直接与专用电缆连接。此外,例如,存储器接口电路110可以通过各种接口方法实现,例如高级技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机小型接口(SCSI)、串行连接SCSI(SAS)、***组件互连(PCI)、快速PCI(PCIe)、快速NVM(NVMe)、IEEE1394、通用串行总线(USB)、安全数字(SD)卡、多媒体卡(MMC)、嵌入式多媒体卡(eMMC)、通用闪存(UFS)、嵌入式通用闪存(eUFS)和紧凑闪存(CF)卡接口。
图4和图5是用于解释根据本发明构思的一些实施例的队列的操作的图。为了便于解释,假设当前正在执行的命令是NCMD1,并且以T1到T4的顺序接收命令。
参照图4和图5,队列140可包括第一队列(141,或者紧急队列)和第二队列(145,或者正常队列)。基于在时间点T1接收到的命令NCMD1,调度器130可以将具有紧急优先级的命令存储在紧急队列141中,并可以将具有非紧急优先级的命令存储在正常队列145中。
作为示例,参照图4,假设这样的情况:在时间点T1、T2和T3接收正常命令NCMD1、NCMD2和NCMD3,并且在时间点T4接收紧急命令UCMD1。在这种情况下,由于命令UCMD1比当前正在执行的命令NCMD1具有更高的操作优先级(换句话说,命令UCMD1更紧急),因此紧急命令UCMD1可存储在紧急队列中。
当在当前正在执行命令NCMD1的同时接收命令UCMD1时,调度器130将命令UCMD1存储在紧急队列141中,并且向CPU 120通知命令UCMD1在紧急队列141中。即使在完成当前正在执行的命令NCMD1的读操作之前,CPU 120也推迟(或者停住)命令NCMD1的读操作。接着,CPU 120控制非易失性存储器装置200,以首先执行紧急队列141中存在的命令UCMD1的操作。例如,非易失性存储器装置200可以在命令NCMD1的读操作暂停的同时执行命令UCMD1的读操作。
当后续接收的命令NCMD2和NCMD3的优先级低于推迟的命令NCMD1的优先级时,调度器130将它们存储在正常队列145中,并且可以调度操作序列,使得在完成命令NCMD1的读操作之后执行命令NCMD2和NCMD3的读操作。换句话说,如果未接收紧急命令UCMD1,则在命令NCMD1的读操作完成之后执行命令NCMD2和NCMD3的读操作。另外,如果命令NCMD1的读操作暂停直到完成命令UCMD1的读操作,则不执行命令NCMD2和NCMD3的读操作,直到命令NCMD1的读操作恢复并且完成之后。
参照图5,作为另一示例,假设这样的情况:在时间点T1和T2接收命令作为正常命令NCMD1和NCMD2,并且在时间点T3和T4接收紧急命令UCMD1和UCMD2。当在当前正在执行命令NCMD1的同时接收到命令UCMD1时,检查命令UCMD1以确定其操作优先级是否高于命令NCMD1。当命令UCMD1是需要在命令NCMD1之前处理的命令时,调度器130将命令UCMD1存储在紧急队列141中,并且向CPU 120通知命令UCMD1。CPU 120检查存储在紧急队列141中的命令UCMD1并且推迟当前正在执行的命令NCMD1的读操作。接着,CPU 120控制非易失性存储器装置200执行紧急队列141中存在的命令UCMD1的读操作。
即使命令UCMD2(T4)在命令NCMD2(T2)之后被接收,当命令UCMD2比命令NCMD1和NCMD2具有更高的优先级时,调度器130将命令UCMD2存储在紧急队列141中,并且在执行命令NCMD2之前将命令UCMD2输出至非易失性存储器装置200。在恢复命令NCMD1的推迟的读操作之前,非易失性存储器装置200可以优先执行命令UCMD2的读操作。作为示例,命令UCMD2可为比命令NCMD1和NCMD2具有更高的优先级的命令并且被首先处理。作为另一示例,命令UCMD2可为与命令UCMD1关联并且需要被首先处理的命令。例如,关联的命令可与非易失性存储器装置200的数据访问的局域性相关。可替换地,作为另一示例,关联的命令可与任务之间的从属关系命令相关。可替换地,当命令UCMD2的优先级比命令NCMD1更不紧急而比命令NCMD2更加紧急时,在完成命令UCMD1的读操作之后,命令NCMD1的读操作恢复且完成,并且在这之后,可执行命令UCMD2的读操作。可在命令UCMD2的读操作完成时执行命令NCMD2的读操作。
图6和图7是用于解释根据本发明构思的一些实施例的存储装置的操作的图。
存储器控制器100各自可以从多个主机接收命令。例如,当从第一主机(主机1)和第二主机(主机2)接收读命令时,存储器控制器100可产生对应于各个读命令的多个任务。例如,假设响应于第一主机的读命令生成任务TID11和TID12至TID1m并且响应于第二主机的读命令生成任务TID21和TID22至TID2n(m和n是自然数)。
根据本发明构思的一些实施例,可在多个主机中设置主机之间的操作顺序的优先级。在示出的示例中,假设第一主机的主机特定操作优先级为P1,并且第二主机的主机特定操作优先级为P2。根据本发明构思的实施例,主机特定优先级信息可被包括在从主机发送的读命令中;根据本发明构思的另一实施例,主机特定优先级信息可存储在存储器控制器100中。
存储器控制器100生成的所述多个任务可包括主机特定优先级信息。作为示例,主机特定优先级信息可按照标签或报头的形式被包括,并且作为另一示例,可为作为映射表存储在存储器控制器100中或存储在寄存器等中的信息。
作为示例,假设第二主机的主机特定优先级P2比第一主机的主机特定优先级P1更高(或者更紧急)。另外,存储器控制器100可响应于从各主机接收到的读命令同时或者按次序产生多个任务。例如,假设在时间点T1至T6生成任务TID11、TID12、TID13、TID21、TID22和TID14中的每一个。
首先,调度器130可以调度以将第一生成的任务TID11输出至非易失性存储器装置200。在非易失性存储器装置200接收并处理对应于任务TID11的命令的同时,调度器130可以接收下一任务并且根据与其关联的优先级进行调度。例如,由于P2比P1更加紧急,因此下一个到来的任务TID12、TID13、TID21、TID22和TID14可相对于当前正在执行的任务TID11分开存储在队列140中。例如,因为任务TID12具有来自同一第一主机的主机特定优先级P1并且比任务TID11更不紧急,所以调度器130将任务TID12存储在正常队列145中。因为任务TID13具有来自同一第一主机的主机特定优先级P1并且不比任务TID11更紧急,所以调度器130将任务TID13存储在正常队列145中。
因为任务TID21具有来自第二主机的主机特定优先级P2(比P1的优先级更高)并且比任务TID11更加紧急,所以调度器130将任务TID21存储在紧急队列141中。因为任务TID22具有来自第二主机的主机特定优先级P2(比P1的优先级更高),并且比任务TID11更加紧急,所以调度器130将任务TID22存储在紧急队列141中。
由于存在存储在紧急队列141中的任务,因此即使任务TID11在非易失性存储器装置200中正在被处理,存储器控制器100也将对应于存储在紧急队列141中的任务TID21的命令发送至非易失性存储器装置200。当非易失性存储器装置200在执行对应于任务TID11的读操作的同时接收优先级更高的任务TID21时,非易失性存储器装置200推迟对应于任务TID11的操作并且首先执行对应于任务TID21的操作。
接着,存储器控制器100将对应于存储在紧急队列141中的任务TID22的命令发送至非易失性存储器装置200,然后可以将存储在正常队列145中的任务TID12、TID13和TID14按次序发送至非易失性存储器装置200。
根据本发明构思的一些实施例,任务TID22具有与任务TID21的任务从属关系,并且可在TID21之后执行。可替换地,根据本发明构思的一些实施例,由于任务TID22比存储在正常队列中的任务TID12具有更高的优先级P2,因此可在TID12之前被处理。
例如,一旦对应于任务TID11的操作完成,非易失性存储器装置200就执行对应于任务TID21的操作,恢复和完成对应于任务TID11的操作,然后按次序执行对应于任务TID12、TID13和TID14的操作。
图8和图9是用于解释根据本发明构思的一些实施例的存储装置的操作的图。
参照图8,存储器控制器100可以从多个主机接收各个命令。例如,当从第一主机(主机1)和第二主机(主机2)接收读命令时,存储器控制器100可产生对应于各读命令的多个任务。例如,假设响应于第一主机的读命令生成TID11和TID12至TID1m,并且响应于第二主机的读命令生成TID21和TID22至TID2n(m和n是自然数)。
然而,与图6不同的是,作为示例,第一主机和第二主机可具有相同的主机特定优先级,或者作为另一示例,可以不设定主机特定优先级。在本发明构思的实施例中,存储器控制器100可响应于从各个主机接收的读命令同时或按次序产生多个任务。例如,假设各自在时间点T1至T6生成任务TID11、TID21、TID12、TID22、TID13和TID14。
首先,调度器130可以调度以将首先生成的TID11输出至非易失性存储器装置200。在非易失性存储器装置200接收和处理对应于任务TID11的命令的同时,调度器130可以接收接下来的任务和根据与其关联的优先级调度它们。在示出的示例中,调度器130可以基于当前正在处理的任务TID11在队列140中分开存储下面到来的任务TID21、TID12、TID22、TID13和TID14。
例如,如果从相同的第一主机接收任务TID12但是确定其比当前正在执行的任务TID11更加紧急,则调度器130将任务TID12存储在紧急队列141中。如果任务TID13是仍从相同的第一主机接收的任务并且与任务TID12关联,则调度器130将任务TID13存储在紧急队列141中。
此外,如果存在存储在紧急队列141中的任务,则即使在任务TID11在非易失性存储器装置200中正在被处理的同时,存储器控制器100也将对应于存储在紧急队列141中的任务TID12的命令发送至非易失性存储器装置200。当非易失性存储器装置200在执行对应于任务TID11的读操作的同时接收优先级更高的任务TID12时,非易失性存储器装置200推迟对应于任务TID11的操作,并且首先执行对应于任务TID12的操作。此外,由于后面接收的任务TID13也比任务TID11具有更高的优先级,因此非易失性存储器装置200先执行对应于任务TID13的操作,并且在完成任务TID13之前仍然推迟对应于TID11的操作。
图10是用于解释根据本发明构思的一些实施例的非易失性存储器装置的图。
参照图10,非易失性存储器装置200可包括控制逻辑220、存储器单元阵列230、页缓冲器240、电压生成器250和行解码器260。非易失性存储器装置200还可包括图2所示的存储器接口电路210,并且还可包括列逻辑、预解码器、温度传感器、命令解码器、地址解码器等。
控制逻辑220可以控制非易失性存储器装置200内的各种操作。控制逻辑220可以响应于来自存储器接口电路210的命令CMD和/或地址ADDR输出各种控制信号。例如,控制逻辑220可以输出电压控制信号CTRL_vol、行地址X-ADDR和列地址Y-ADDR。
存储器单元阵列230可包括多个存储器块BLK1至BLKz(z是正整数),并且所述多个存储器块BLK1至BLKz中的每一个可包括多个存储器单元。存储器单元阵列230可通过位线BL连接至页缓冲器240,并且可通过字线WL、串选择线SSL和地选择线GSL连接至行解码器260。
在本发明构思的实施例中,存储器单元阵列230可包括三维存储器单元阵列,并且三维存储器单元阵列可包括多个NAND串。各个NAND串可包括连接至在衬底上竖直堆叠的字线的存储器单元。公开了三维存储器单元阵列的美国专利No.7,679,133、No.8,553,466、No.8,654,587、No.8,559,235和美国专利申请公开No.2011/0233648以引用方式全文并入本文中。在本发明构思的实施例中,存储器单元阵列230可包括二维存储器单元阵列,二维存储器单元阵列可包括沿着行方向和列方向布置的多个NAND串。
页缓冲器240可通过位线BL连接至存储器单元中的每一个。页缓冲器240可以响应于列地址Y-ADDR选择位线BL中的至少一条位线。根据操作模式,页缓冲器240可以作为条目驱动器或检测放大器操作。例如,在编程操作时,页缓冲器240可以将对应于待编程的数据的位线电压施加至选择的位线。在读操作时,页缓冲器240可以检测选择的位线的电流或者电压,并且检测存储在存储器单元中的数据。根据本发明构思的一些实施例,页缓冲器240可包括多个页缓冲器。页缓冲器240选择性地激活多个页缓冲器以对应于从上述紧急队列141或正常队列145接收至非易失性存储器装置200的命令,存储读数据,然后可以将数据输出至存储器控制器100。将在图11中描述其特定操作。
电压生成器250可基于电压控制信号CTRL_vol产生执行编程操作、读操作和擦除操作的各种类型的电压。例如,电压生成器250可产生编程电压、读电压、编程验证电压、擦除电压等,作为字线电压VWL。
行解码器260可以响应于行地址X-ADDR选择字线WL之一,并且选择串选择线SSL之一。例如,行解码器260可以在编程操作时将编程电压和编程验证电压施加至选择的字线,并且可以在读操作时将读电压施加至选择的字线。
图11是用于解释根据本发明构思的一些实施例的非易失性存储器装置的图。说明将集中于与图10的区别,并且可能不提供对这些元件的重复说明。
根据本发明构思的一些实施例的非易失性存储器装置200还可包括命令控制单元270、缓冲器选择器280和输入/输出(I/O)控制单元290。
当命令控制单元270从存储器控制器100接收命令CMD1时,命令控制单元270可以控制命令的操作顺序,以推迟当前执行读操作的命令CMD2,并且优先执行命令CMD1的操作。这种情况是因为命令CMD1可比命令CMD2具有更高的优先级。
命令CMD1可比命令CMD2具有更紧急的优先级(或更高的优先级)。在本发明构思的实施例中,命令CMD1和命令CMD2的操作顺序可由主机特定优先级限定,或者在本发明构思的另一实施例中,可由存储器控制器100限定。在本发明构思的另一实施例中,命令之间的操作顺序可根据命令控制单元270设定的标准基于优先级限定。
命令控制单元270可为根据本发明构思的实施例的控制逻辑220中包括的模块,并且根据本发明构思的另一实施例,可为与控制逻辑220分离布置的模块。
页缓冲器240可包括多个页缓冲器。例如,当包括第一页缓冲器241和第二页缓冲器245时,对应的页缓冲器241和245可通过缓冲器选择器280启用,以存储将从存储器单元阵列230中读取的数据,或者可被启用以接收将在存储器单元阵列230中编程的数据。
缓冲器选择器280可以根据命令控制单元270的控制选择第一页缓冲器241和第二页缓冲器245之一。
I/O控制单元290根据命令控制单元270的控制通过存储器接口电路210输出第一页缓冲器241和第二页缓冲器245中的选择的页缓冲器的数据,或者通过存储器接口电路210接收将被编程的数据,并且将数据存储在选择的页缓冲器中。
根据本发明构思的一些实施例,根据缓冲器选择器280的选择,命令CMD1的数据DATA1可存储在第一页缓冲器241中,并且命令CMD2的数据DATA2可存储在第二页缓冲器245中。根据本发明构思的一些实施例,缓冲器选择器280在命令CMD2的读操作时在第二页缓冲器245中存储数据DATA2,并且当命令CMD2的操作中断时,缓冲器选择器280在仅存储数据DATA2的一部分的点禁用第二页缓冲器245。缓冲器选择器280随后选择第一页缓冲器241并且在由于其更高的优先级而首先执行的命令CMD1的读操作时存储数据DATA1,当命令CMD1的读操作完成时,I/O控制单元290将存储在第一页缓冲器241中的数据输出至存储器接口电路210。中断的命令CMD2的操作根据命令控制单元270的控制而恢复,第二页缓冲器245再次被启用以存储数据DATA2的其余部分。
图12是用于解释根据本发明构思的一些实施例的非易失性存储器装置的读操作的图。
参照图12,根据本发明构思的一些实施例,存储器控制器100和非易失性存储器装置200通过通道(例如,DQ总线,图2的P17)发送和接收命令和数据。示出的符号tR可为从非易失性存储器装置200中的存储器单元阵列230读取的数据存储在页缓冲器240中的持续时间。示出的符号D-OUT可为非易失性存储器装置200的存储器接口电路210通过通道输出数据的时间。示出的符号GC_tR可以是内部读取命令读取数据的持续时间,并且示出的GC D-Out可以是对应于GC_tR的数据输出的持续时间。示出的符号Host tR可以是读取命令从主机读取数据的持续时间,示出的符号D-Out可以是对应于Host tR的数据输出的持续时间。示出的符号#Bank D-in可以是数据输入到非易失性存储器装置200中的其它存储体的持续时间,其中,其它存储体不执行基于Host tR或GC_tR的操作。示出的符号#Band D-Out可以是从非易失性存储器装置200的其它存储体读取数据的持续时间。
当非易失性存储器装置200(NAND)在执行当前的第一命令GC_tR的同时根据来自主机1的读请求接收第二命令(Host Read)时,如果确定第二命令比第一命令更加紧急,则存储器控制器100推迟当前命令GC_tR的操作,并且优先执行第二命令Host Read(Host tR)的操作,以输出数据(D-Out),并且恢复第一命令GC_tR的推迟的读操作,以输出数据(GC D-Out)。
图13和图15是用于解释根据本发明构思的一些实施例的非易失性存储器装置的读操作的图。
参照图13,当存储器控制器在正在执行当前第一命令(例如,图8的GC_tR)的数据读操作(Read①)的同时接收第二命令(Read②)时,Read①的操作推迟,并且首先执行第二命令的数据访问(Host tR,Read②)。非易失性存储器装置在输出对应于首先执行的第二命令的数据(D-Out②)的同时恢复第一命令的推迟的操作,并且读取和输出对应于第一命令的数据(D-Out①)。
参照图14,当根据图13的简化的时序图通过DQ总线发送第一命令(例如,DQ总线的32h)时,如预备/忙碌输出信号RnB中所示,从非易失性存储器装置200读取对应于第一命令的数据(tDBSY)。然而,如果接着接收到更紧急的第二命令(例如,DQ总线的50h),推迟第一命令的数据的输出,并且首先执行第二命令的读操作(tR),并且输出读数据(D-Out②中的R-Data)。然后,执行第一命令的推迟的数据读操作,以输出数据(D-Out①中的R-Data)。
参照图15,与图13不同,非易失性存储器装置200从存储器控制器接收第二命令(Read②)的时间点是执行第一命令(Read①)和读取第一数据(D-Out①-1)的时间。在图示示例中,缓冲器选择器选择另一第二页缓冲器而不是当前选择的并且存储第一数据的第一页缓冲器,首先执行第二命令的读操作(Read②),并且将其存储在第二页缓冲器中。只要完成将第二命令的第二数据(D-Out②)提取至第二页缓冲器中,缓冲器选择器就禁用第二页缓冲器,选择第一页缓冲器,并且可以恢复第一命令的操作(D-Out①-2)。
图16是用于解释根据本发明构思的一些实施例的操作存储器控制器的方法的流程图。
参照图16,根据本发明构思的一些实施例,存储器控制器从所述多个主机中的第一主机接收命令CMD1(S10)。存储器控制器基于当前正在执行的第二命令检查命令CMD1的优先级(S20)。
优先级可为根据本发明构思的一些实施例的所述多个主机之间限定的主机特定优先级。例如,第二主机的命令P2可设为在第一主机的命令P1之前处理。可替换地,根据本发明构思的一些实施例,可根据命令的类型确定优先级。作为示例,当命令是用于管理非易失性存储器装置的内部命令时,从外部主机接收的命令可设为优先处理。作为另一示例,当针对从外部主机优先接收并且在内部命令之前执行的第一命令接收与第一命令关联的第二命令时,在完成第一命令的操作之后,可在内部命令之前执行第二命令。
存储器控制器可以基于命令CMD1的优先级在队列中存储待执行的命令(S30)。根据本发明构思的一些实施例,检查接收到的命令CMD1是否是比当前执行的命令CMD2更加紧急的命令(S40)。
当命令CMD1比命令CMD2更加紧急时,推迟当前执行的命令CMD2的操作(S50),并且首先执行命令CMD1的操作。当根据非易失性存储器装置中的命令CMD1的操作的数据读取完成时,非易失性存储器装置恢复推迟的命令CMD2的操作。
另一方面,根据本发明构思的一些实施例,如果在恢复推迟的命令CMD2的操作之前存在需要在命令CMD1之后执行的命令CMD3,则在执行命令CMD3的操作之后,可恢复命令CMD2的操作。
根据本发明构思的实施例,命令CMD3可为从同一主机接收的并且与命令CMD1关联的命令。另外,根据本发明构思的另一实施例,命令CMD3可为从另一主机接收但是比命令CMD2具有更高的优先级的命令。
根据用于操作根据本发明构思的一些实施例的存储器控制器的方法,即使在存储装置接收多个读命令的复杂工作负荷环境下,由于优先处理紧急数据读取请求,可改善数据访问操作的延迟,并且可提高服务质量(Qos)。
图17是用于解释包括根据本发明构思的一些实施例的存储装置的电子装置的图。
图17的***1000可为移动***,诸如移动电话、智能手机、平板个人计算机(PC)、可穿戴装置、医疗装置或物联网(IOT)装置。然而,图17的***1000不一定限于移动电话***,还可以是个人计算机、笔记本计算机、服务器、媒体播放器或诸如导航的汽车装置。
参照图17,***1000可以包括主处理器1100、存储器1200a和1200b以及存储装置1300a、1300b,并且还可以包括图像俘获装置1410、用户输入装置1420、传感器1430、通信装置1440、显示器1450、扬声器1460、电源装置1470以及连接接口1480中的一个或多个。
主处理器1100可以控制***1000的整体操作,例如,组成***1000的其它组件的操作。这样的主处理器1100可以由通用处理器、专用处理器、应用处理器等实现。
主处理器1100可包括一个或多个CPU核1110,并且还可包括用于控制存储器1200a和1200b和/或存储装置1300a和1300b的控制器1120。主处理器1100还可以包括加速器块1130,加速器块1130是用于诸如人工智能(AI)数据计算的高速数据计算的专用电路。这样的加速器块1130可以包括图形处理单元(GPU)、神经处理单元(NPU)和/或数据处理单元(DPU)等,并且可以实现为物理上独立于主处理器1100的其它组件的单独芯片。
存储器1200a和1200b可以用作***1000的主存储器单元,并且可以包括诸如SRAM和/或DRAM的易失性存储器,但是也可以包括诸如闪存、PRAM和/或RRAM的非易失性存储器。存储器1200a和1200b也可以与主处理器1100在相同的封装件中实现。
存储装置1300a和1300b可以用作用于无论是否供电都存储数据的非易失性存储装置,并且与存储器1200a和1200b相比,可以具有相对较大的容量。存储装置1300a和1300b可以包括存储控制器1310a和1310b,以及在存储控制器1310a和1310b的控制下存储数据的非易失性存储器(NVM)存储器1320a和1320b。非易失性存储器1320a和1320b可以包括2D结构或3D结构的V-NAND闪速存储器,但是也可以包括诸如PRAM和/或RRAM的其它类型的非易失性存储器。
存储装置1300a和1300b可以在与主处理器1100物理分离的状态下包括在***1000中,并且可以与主处理器1100在相同的封装件中实现。此外,存储装置1300a和1300b具有诸如固态装置(SSD)或存储卡之类的形状,因此也可以通过诸如稍后描述的连接接口1480之类的接口与***1000的其它组件可拆卸地耦合。此类存储装置1300a和1300b可以是但不一定限于应用了诸如UFS、eMMC或NVMe等标准协议的装置。
图像俘获装置1410(或光学输入装置)可以捕获静止图像或运动图像,并且可以是相机、摄录机(例如摄像机)和/或网络摄像机等。
用户输入装置1420可以从***1000的用户接收各种类型的数据输入,并且可以是触摸板、小键盘、键盘、鼠标和/或麦克风。
传感器1430可检测可从***1000外部获取的各种类型的物理量,并将检测到的物理量转换为电信号。这种传感器1430可以是温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪。
通信装置1440可以根据各种通信协议向***1000之外的其它装置发送和接收信号。这样的通信装置1440可以通过包括天线、收发器和/或调制解调器等来实现。
显示器1450和扬声器1460可充当分别向***1000的用户输出视觉和听觉信息的输出装置。
电源装置1470可以转换从电池和/或在***1000中配备的外部电源提供的电力,并向***1000的每个组件供电。
连接接口1480可以在***1000和连接到***1000的外部装置之间提供连接,并且可以向***1000发送数据和从***1000接收数据。连接接口1480可以通过各种接口方法实现,例如ATA、SATA、e-SATA、SCSI、SAS、PCI、PCIe、NVMe、IEEE 1394、USB、SD卡、MMC、eMMC、UFS、eUFS和CF卡接口。
图18是用于解释包括根据本发明构思的一些实施例的存储装置的数据中心的图。图18的存储装置3250可实施为根据上述实施例中的一些的存储装置10。
参照图18,数据中心3000是收集各种类型的数据并提供服务的设施,并且可以称为数据存储中心。数据中心3000可以是用于搜索引擎和数据库操作的***,并且可以是由诸如银行或政府机构之类的公司使用的计算***。数据中心3000可包括应用服务器3100至3100n和存储服务器3200至3200m。可以不同地选择应用服务器3100到3100n的数量和存储服务器3200到3200m的数量,并且应用服务器3100到3100n的数量和存储服务器3200到3200m的数量可以彼此不同。
应用服务器3100或存储服务器3200可以包括处理器3110和3210以及存储器3120和3220中的至少一个。以存储服务器3200为例,处理器3210可以控制存储服务器3200的整体操作,并访问存储器3220以执行加载到存储器3220中的命令和/或数据。存储器3220可以是双数据速率同步DRAM(DDR-SDRAM)、高带宽存储器(HBM)、混合存储器立方(HMC)、双列直插存储器模块(DIMM)、Optane DIMM或非易失性DIMM(NVM DIMM)。存储服务器3200中包括的处理器3210的数量和存储器3220的数量可以不同地选择。在本发明构思的实施例中,处理器3210和存储器3220可以提供处理器-存储器对。在本发明构思的实施例中,处理器3210的数量和存储器3220的数量可以彼此不同。处理器3210可以包括单核处理器或多核处理器。存储服务器3200的上述说明也可以类似地应用于应用服务器3100。应用服务器3100可以不包括存储装置3150。存储服务器3200可以包括至少一个或多个存储装置3250。包括在存储服务器3200中的存储装置3250的数量可以不同地选择。
应用服务器3100至3100n和存储服务器3200至3200m可通过网络3300相互通信。可以使用光纤通道(FC)、以太网等实现网络3300。此时,FC是用于相对高速数据传输的介质,并且可以使用提供高性能/高可用性的光交换机。根据网络3300的访问类型,存储服务器3200到3200m可以设为文件存储、块存储或对象存储。
例如,可以根据诸如以太网上FC(FCoE)、网络连接存储(NAS)和网络上NVMe(NVMe-oF)等协议来实现网络1300。
下文中,将主要描述应用服务器3100和存储服务器3200。应用服务器3100的说明也可以应用于另一应用服务器3100n,并且存储服务器3200的说明也可以应用于另一存储服务器3200m。
应用服务器3100可以通过网络3300将用户或客户请求存储的数据存储在存储服务器3200至3200m之一中。此外,应用服务器3100可以通过网络3300从存储服务器3200到3200m之一获取用户或客户请求读取的数据。例如,应用服务器3100可以由网络服务器或数据库管理***(DBMS)实现。
应用服务器3100可通过网络3300访问另一应用服务器3100n中包括的存储器3120n或存储装置3150n,或可通过网络3300访问存储服务器3200至3200m中包括的存储器3220至3220m或存储装置3250至3250m。因此,应用服务器3100可以对存储在应用服务器3100到3100n和/或存储服务器3200到3200m中的数据执行各种操作。例如,应用服务器3100可以执行用于在应用服务器3100至3100n和/或存储服务器3200至3200m之间移动或复制数据的命令。例如,数据可以经由存储服务器3200至3200m的存储器3220至3220m从存储服务器3200至3200m的存储装置3250至3250m移动到应用服务器3100到3100n的存储器3120至3120n,或者直接移动到应用服务器3100到3100n的存储器3120至3120n。通过网络3300移动的数据可以是为了安全和隐私而加密的数据。
以存储服务器3200为例,接口3254可提供处理器3210和控制器3251之间的物理连接,以及NIC 3240和控制器3251之间的物理连接。
存储服务器3200还可以包括交换机3230和NIC 3240。交换机3230可以根据处理器3210的控制,选择性地连接处理器3210和存储装置3250,或者选择性地连接NIC 3240和存储装置3250。应用服务器3100到3100n还可以包括交换机3130到3130n。
在本发明构思的实施例中,NIC 3140、NIC 3240可以包括网络接口卡、网络适配器等。NIC 3240可以通过有线接口、无线接口、蓝牙接口、光学接口等连接到网络3300。NIC3140、NIC 3240可以包括内部存储器、数字信号处理器(DSP)、主机总线接口等,并且可以通过主机总线接口连接到处理器3110、处理器3210和/或交换机3130、交换机3230等。主机总线接口也可以实现为上述接口3254的示例之一。在本发明构思的实施例中,NIC 3140、NIC3240还可以与处理器3110、处理器3210、交换机3130、交换机3230和存储装置3150、存储装置3250中的至少一个集成。
在存储服务器3200至3200m或应用服务器3100至3100n中,处理器3110和3210可向存储装置3150至3150n和3250至3250m或存储器3120至3120n和3220至3220m发送命令以编程或读取数据。此时,数据可以是通过ECC引擎纠正错误的数据。数据是经过数据总线反转(DBI)或数据屏蔽(DM)处理的数据,并且可以包括CRC(循环冗余码)信息。数据可以是为安全和隐私而加密的数据。
存储装置3150至3150m和3250至3250m可以响应于从处理器接收的读取命令,将控制信号和命令/地址信号发送到NAND闪速存储器装置3252至3252m。因此,当从NAND闪速存储器装置3252到3252m读取数据时,读使能(RE)信号被输入为数据输出控制信号,并且可以用于将数据输出到DQ总线。可以使用RE信号生成数据选通(DQS)。根据写使能(WE)信号的上升沿或下降沿,命令和地址信号可以被锁存到页缓冲器。
控制器3251可以控制存储装置3250的操作。在本发明构思的实施例中,控制器3251可以包括SRAM。控制器3251可以响应于写命令在NAND闪存3252中写数据,或者响应于读命令从NAND闪存3252中读数据。例如,写命令和/或读命令可以从存储服务器3200中的处理器3210、另一存储服务器3200m中的处理器3210m、或应用服务器3100和3100n中的处理器3110和3110n提供。DRAM 3253可以临时存储(例如,缓冲)要写入NAND闪存3252的数据或从NAND闪存3252读取的数据。此外,DRAM 3253可以存储元数据。元数据可以是用户数据或由控制器3251生成以管理NAND闪存3252的数据。存储装置3250可以包括用于安全或隐私的安全元件(SE)。
应当理解,本领域技术人员将理解,在不脱离本发明构思的范围的情况下,可以对本文描述的实施例进行许多变化和修改。因此,本发明构思不限于本文描述的实施例。

Claims (20)

1.一种用于操作存储器控制器的方法,所述方法包括:
从第一主机接收第一命令;
在队列中存储所述第一命令;
当所述第一命令比当前正在执行的第二命令具有更高的优先级时,将所述第二命令的操作暂停并且执行所述第一命令的读操作;以及
在完成所述第一命令的读操作之后继续所述第二命令的操作。
2.根据权利要求1所述的操作存储器控制器的方法,其中,所述队列包括:
紧急队列,其存储比当前正在执行的所述第二命令具有更高的优先级的紧急命令;以及
正常队列,其存储不具有比所述第二命令更高的优先级的正常命令。
3.根据权利要求2所述的操作存储器控制器的方法,其中,当所述紧急命令存储在所述紧急队列中时,所述存储器控制器将所述第二命令的操作暂停,并且执行所述紧急命令的操作。
4.一种存储器控制器,包括:
主机接口,其接收多个命令,并且输出对应于所述多个命令的数据;
队列,其存储在所述主机接口处接收的所述多个命令;
调度器,其根据所述队列中的所述多个命令的优先级调度操作顺序;以及
中央处理单元,其基于调度后的顺序根据所述队列中的所述多个命令从非易失性存储器装置中读数据,
其中,当接收到比当前正在执行的第二命令更加紧急的第一命令时,暂停所述第二命令的操作,并且执行所述第一命令的操作。
5.根据权利要求4所述的存储器控制器,其中,所述队列包括:
存储紧急命令的紧急队列;以及
存储正常命令的正常队列。
6.根据权利要求5所述的存储器控制器,其中,当所述第一命令的优先级比所述第二命令的优先级更加紧急时,所述调度器将所述第一命令存储在所述紧急队列中,并且
当所述第一命令的优先级比所述第二命令的优先级更不紧急时,所述调度器将所述第一命令按次序存储在所述正常队列中。
7.根据权利要求6所述的存储器控制器,其中,所述中央处理单元执行所述第一命令的操作,然后执行暂停的第二命令的其余操作。
8.根据权利要求6所述的存储器控制器,其中,当接收到比所述第二命令具有更加紧急的优先级的第三命令时,所述调度器将所述第三命令存储在所述紧急队列中并在所述第一命令之后,并且
所述调度器将待执行的所述第一命令的操作列队,然后在完成所述第一命令的操作之后将待执行的所述第三命令的操作列队。
9.根据权利要求6所述的存储器控制器,其中,当接收到第三命令并且其依赖于所述第一命令时,所述调度器将所述第三命令存储在所述紧急队列中,并且
所述调度器将待执行的所述第一命令的操作列队,然后在完成所述第一命令的操作之后将待执行的所述第三命令的操作列队。
10.一种非易失性存储器装置,包括:
存储器单元阵列,其包括多个存储器单元并且存储数据;
多个页缓冲器,其存储从所述存储器单元阵列读取的数据;
命令控制单元,其响应于第一命令,推迟当前正在执行的第二命令的操作,并且执行所述第一命令的操作;
缓冲器选择器,其在所述命令控制单元的控制下选择多个页缓冲器之一,以存储对应于所述第一命令或所述第二命令的数据;以及
输出控制单元,其在所述命令控制单元的控制下输出选择的页缓冲器的数据。
11.根据权利要求10所述的非易失性存储器装置,其中,通过存储器控制器将所述第二命令的操作暂停,并且在所述非易失性存储器装置中执行所述第一命令的操作。
12.根据权利要求10所述的非易失性存储器装置,其中,当所述第一命令比所述第二命令更加紧急时,所述命令控制单元在所述第二命令的操作之前执行所述第一命令的操作。
13.根据权利要求10所述的非易失性存储器装置,其中,所述多个页缓冲器包括:
第一页缓冲器,其存储所述第一命令的第一数据;以及
第二页缓冲器,其存储所述第二命令的第二数据。
14.根据权利要求13所述的非易失性存储器装置,其中,在正在执行所述第一命令的操作的同时,所述缓冲器选择器选择所述第一页缓冲器,并且
在正在执行所述第二命令的操作的同时,所述缓冲器选择器选择所述第二页缓冲器。
15.根据权利要求14所述的非易失性存储器装置,其中,在所述第二命令的操作被中断的同时,所述缓冲器选择器不选择所述第二页缓冲器,并且当所述第二命令的操作恢复时,所述缓冲器选择器选择所述第二页缓冲器。
16.根据权利要求14所述的非易失性存储器装置,其中,所述输出控制单元将存储在所述第一页缓冲器中的所述第一数据在所述第二数据之前输出至存储器控制器。
17.根据权利要求10所述的非易失性存储器装置,其中,当所述第二命令的操作被中断,并且执行所述第一命令的操作时,所述缓冲器选择器选择所述多个页缓冲器中的一个页缓冲器,以存储所述第一命令的数据。
18.根据权利要求10所述的非易失性存储器装置,其中,所述输出控制单元首先输出对应于所述第一命令或所述第二命令中的紧急命令的数据。
19.一种数据中心,包括:
第一主机,其发送第一读命令;
第二主机,其发送第二读命令;以及
存储装置,其生成对应于所述第一读命令和所述第二读命令的多个任务,并且根据执行操作的优先级调度所述多个任务的操作顺序,
其中,当在正在执行所述第一任务的操作的同时接收到更紧急的第二任务时,所述存储装置在完成所述第一任务的操作之前执行所述第二任务的操作,然后继续所述第一任务的操作。
20.根据权利要求19所述的数据中心,其中,所述存储装置包括:
存储器控制器,其生成对应于所述第一读命令和所述第二读命令的所述多个任务,并且根据各个任务之间的从属关系或者所述第一主机和所述第二主机的优先级调度和输出所述任务的操作顺序;以及
非易失性存储器装置,其在接收到所述更紧急的第二任务时将当前任务的操作暂停,并且优先执行所述第二任务的操作。
CN202111634324.7A 2020-12-29 2021-12-29 存储器控制器、非易失性存储器装置及其存储装置 Pending CN114694700A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0186245 2020-12-29
KR1020200186245A KR20220094726A (ko) 2020-12-29 2020-12-29 메모리 컨트롤러, 비휘발성 메모리 장치 및 그 스토리지 장치

Publications (1)

Publication Number Publication Date
CN114694700A true CN114694700A (zh) 2022-07-01

Family

ID=81972245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111634324.7A Pending CN114694700A (zh) 2020-12-29 2021-12-29 存储器控制器、非易失性存储器装置及其存储装置

Country Status (4)

Country Link
US (1) US11989451B2 (zh)
KR (1) KR20220094726A (zh)
CN (1) CN114694700A (zh)
DE (1) DE102021125786A1 (zh)

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043599B1 (en) 2002-06-20 2006-05-09 Rambus Inc. Dynamic memory supporting simultaneous refresh and data-access transactions
KR100672149B1 (ko) 2005-02-17 2007-01-19 주식회사 하이닉스반도체 불휘발성 메모리 장치의 페이지 버퍼 동작 방법
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
US8495332B2 (en) 2009-07-24 2013-07-23 Apple Inc. Controller for optimizing throughput of read operations
US8850103B2 (en) 2009-08-28 2014-09-30 Microsoft Corporation Interruptible NAND flash memory
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
KR20140142960A (ko) 2013-06-05 2014-12-15 중소기업은행 병렬 파이프라인 더블래치로 구동되는 spi 낸드 플래시 메모리
US9753653B2 (en) 2015-04-14 2017-09-05 Sandisk Technologies Llc High-priority NAND operations management
WO2016191620A1 (en) * 2015-05-26 2016-12-01 Gluent Inc. System and method for transparent context aware filtering of data requests
US10514862B2 (en) * 2016-07-21 2019-12-24 Micron Technology, Inc. Memory device including concurrent suspend states for different operations
US10360045B2 (en) * 2017-04-25 2019-07-23 Sandisk Technologies Llc Event-driven schemes for determining suspend/resume periods
US10423508B2 (en) 2017-08-11 2019-09-24 Alibaba Group Holding Limited Method and system for a high-priority read based on an in-place suspend/resume write
CN109801669B (zh) * 2017-11-17 2023-05-16 爱思开海力士有限公司 具有软读取挂起方案的存储器***及其操作方法
CN109976661B (zh) * 2017-12-27 2020-08-14 华为技术有限公司 基于nof的读取控制方法、装置及***
KR20190090614A (ko) * 2018-01-25 2019-08-02 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR102485411B1 (ko) * 2018-03-02 2023-01-06 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10922013B2 (en) 2018-04-09 2021-02-16 Western Digital Technologies, Inc. Suspending and resuming a read operation for a non-volatile memory
TWI684860B (zh) * 2018-10-15 2020-02-11 慧榮科技股份有限公司 用來進行讀取加速之方法以及資料儲存裝置及其控制器
CN111161781A (zh) * 2018-11-07 2020-05-15 爱思开海力士有限公司 用于处理编程错误的存储器***及其方法

Also Published As

Publication number Publication date
US20220206716A1 (en) 2022-06-30
DE102021125786A1 (de) 2022-06-30
US11989451B2 (en) 2024-05-21
KR20220094726A (ko) 2022-07-06

Similar Documents

Publication Publication Date Title
US9021178B2 (en) High performance path for command processing
US11567685B2 (en) Storage controller and storage device including the same
US11360711B2 (en) Storage device temporarily suspending internal operation to provide short read response time for read request from host
KR20210098717A (ko) 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치
US12013797B2 (en) Memory controller, memory system and operating method of the memory system using a channel arbitration circuit
US11797221B2 (en) Method of operating storage device for improving QoS latency and storage device performing the same
KR20190010335A (ko) 레이턴시 정보를 저장하는 저장 장치, 프로세서 및 컴퓨팅 시스템
KR20190130831A (ko) 컨트롤러 및 이를 포함하는 메모리 시스템
US11733875B2 (en) Method of writing data in nonvolatile memory device and nonvolatile memory device performing the same
US20230126685A1 (en) Storage device and electronic system
US11989451B2 (en) Method of operating a memory controller in which commands are stored in urgent or normal queues based on priority. a nonvolatile memory device including a buffer selector and a storage device thereof
KR20220076803A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20210148852A (ko) 다중 원형 큐를 이용하는 호스트 컨트롤러 인터페이스 및 이의 동작 방법
KR102583244B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
US12045472B2 (en) Storage device supporting multi-tenant operation and methods of operating same
EP4375839A1 (en) Method of operating storage device using program suspension control and storage device performing the same
EP4220374A1 (en) Storage device and operating method of storage device
EP4386556A1 (en) Operation method of memory controller configured to control memory device
US20240231698A1 (en) Storage devices and operating methods thereof
US20230153237A1 (en) Method and device for storing data
KR20220134885A (ko) 스토리지 시스템 및 그 동작 방법
KR20230067457A (ko) 스토리지 컨트롤러, 스토리지 시스템 및 그 동작방법
CN117931053A (zh) 计算存储设备、操作其的方法和操作主机设备的方法
KR20160144557A (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