CN112820337A - 存储器控制器、存储器***和存储器***的操作方法 - Google Patents

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

Info

Publication number
CN112820337A
CN112820337A CN202011238027.6A CN202011238027A CN112820337A CN 112820337 A CN112820337 A CN 112820337A CN 202011238027 A CN202011238027 A CN 202011238027A CN 112820337 A CN112820337 A CN 112820337A
Authority
CN
China
Prior art keywords
memory
channel
memory chips
parameter
channels
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
CN202011238027.6A
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 CN112820337A publication Critical patent/CN112820337A/zh
Pending 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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/0653Monitoring storage devices or systems
    • 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/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
    • 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Power Sources (AREA)
  • Memory System (AREA)

Abstract

提供存储器控制器、存储器***和存储器***的操作方法。所述操作方法包括:基于与多个存储器芯片之中的存储器芯片的多个操作状态中的每个操作状态的功耗有关的信息,针对所述多个操作状态中的每个操作状态,设置指示允许并行操作的存储器芯片的数量的参数;获得与所述多个存储器芯片中的每个存储器芯片的操作状态有关的信息;以及基于所述参数和与所述多个存储器芯片中的每个存储器芯片的操作状态有关的信息,对通过分别与所述多个存储器芯片对应的多个通道的数据存取进行调度。

Description

存储器控制器、存储器***和存储器***的操作方法
本申请要求于2019年11月18日提交到韩国知识产权局的第10-2019-0148089号韩国专利申请的优先权的权益,所述韩国专利申请的公开通过引用全部包括于此。
技术领域
发明构思涉及存储器控制器、存储器***和存储器***的操作方法。
背景技术
存储器***可包括多个存储器芯片、存储器控制器和将存储器芯片连接到存储器控制器的多个通道。可通过应用防止一些通道的操作的方法或通过降低操作频率来在存储器***中对电源进行管理。然而,从服务质量(QoS)的视角来看,这种方法会严重地降低性能,并且不能动态地适应,因此导致总功耗超过允许功率量的情况。
发明内容
发明构思的至少一个实施例提供一种存储器控制器、存储器***和存储器***的操作方法,所述存储器控制器基于与多个芯片的操作状态有关的信息来对多个通道的数据发送或接收进行调度,从而防止总功耗超过允许功率水平并且最大化存储器利用率。
根据发明构思的示例性实施例,提供一种存储器***的操作方法,所述存储器***包括包含多个存储器芯片的存储器装置。所述操作方法包括:基于与所述多个存储器芯片之中的存储器芯片的多个操作状态中的每个操作状态的功耗有关的信息,针对所述多个操作状态中的每个操作状态,设置指示允许并行操作的存储器芯片的数量的参数;获得与所述多个存储器芯片中的每个存储器芯片的操作状态有关的信息;以及基于所述参数和与所述多个存储器芯片中的每个存储器芯片的操作状态有关的信息,对在与所述多个存储器芯片对应的多个通道上的数据存取进行调度。
根据发明构思的示例性实施例,提供一种存储器***,所述存储器***包括:存储器装置,包括多个存储器芯片;存储器控制器,被配置为控制所述存储器装置的操作;以及多个通道,被配置为将所述多个存储器芯片中的每个存储器芯片连接到存储器控制器。存储器控制器被配置为:检查所述多个存储器芯片中的每个存储器芯片的操作状态,并且基于与所述多个存储器芯片之中的存储器芯片的多个操作状态中的每个操作状态的功耗有关的信息,通过使用参数以及检查出的所述多个存储器芯片中的每个存储器芯片的操作状态,对在所述多个通道上的数据存取进行调度,所述参数指示针对所述多个操作状态中的每个操作状态允许并行操作的存储器芯片的数量。
根据发明构思的示例性实施例,提供一种用于控制包括多个存储器芯片的存储器装置的操作的存储器控制器,所述存储器控制器包括:存储器接口(I/F),被配置为:经由多个通道发送或接收数据,所述多个通道将所述多个存储器芯片中的每个存储器芯片连接到存储器控制器;以及通道仲裁模块,被配置为:当已经从存储器I/F接收到经由第一通道的数据发送或接收的批准请求时,获得与所述多个存储器芯片中的每个存储器芯片的操作状态有关的信息,并且基于存储器芯片的多个操作状态中的每个操作状态的功耗,基于参数和与所述多个存储器芯片中的每个存储器芯片的操作状态有关的信息,确定是否批准第一通道,并且将确定的结果提供给存储器I/F,所述参数指示针对所述多个操作状态中的每个操作状态允许并行操作的存储器芯片的数量。
附图说明
从下面结合附图进行的详细描述,将更清楚地理解发明构思的示例性实施例,在附图中:
图1是根据发明构思的示例性实施例的计算***的框图;
图2A和图2B是根据发明构思的示例性实施例的参数表;
图3是示出根据发明构思的示例性实施例的与多个存储器芯片的相应操作状态有关的信息的表;
图4A至图4C示出根据发明构思的示例性实施例的针对存储器芯片的每个操作调度通道的数据发送或接收的方法;
图5是根据发明构思的示例性实施例的存储器***的框图;
图6是根据发明构思的示例性实施例的存储器控制器的框图;
图7是根据公开的示例性实施例的通道仲裁(arbitration)模块的框图;
图8A和图8B示出根据发明构思的示例性实施例的生成作业调度的方法;
图9是示出根据发明构思的示例性实施例的对通道的数据发送或接收进行调度的方法的框图;
图10是根据发明构思的示例性实施例的对多个通道的数据发送或接收进行调度的方法的流程图;
图11是根据发明构思的示例性实施例的对多个通道的数据发送或接收进行调度的方法的流程图;
图12是根据发明构思的示例性实施例的确定批准或不批准目标通道的方法的流程图;
图13是根据发明构思的示例性实施例的确定批准或不批准目标通道的的方法的流程图;
图14是根据发明构思的示例性实施例的计算***的框图;
图15是根据发明构思的示例性实施例的存储器***的框图;
图16是根据发明构思的示例性实施例的存储器***的框图;
图17是根据本发明构思的示例性实施例的存储器装置的框图;
图18是用于说明根据发明构思的示例性实施例的三维(3D)V-NAND结构的视图;
图19是用于说明根据发明构思的示例性实施例的BVNAND结构的视图;
图20是根据本发明构思的示例性实施例的应用了存储装置的***的框图;以及
图21是用于解释根据发明构思的示例性实施例的通用闪存(UFS)***的框图。
具体实施方式
图1是根据发明构思的示例性实施例的计算***10的框图。
参照图1,计算***10包括主机100(例如,主机装置)和存储器***200。存储器***200包括存储器控制器210(例如,控制电路)及存储器装置220。
主机100向存储器***200提供用于存储器操作的命令CMD或与命令CMD相关联的数据DATA。例如,主机100可向存储器***200提供数据的写入或读取请求。根据来自主机100的数据擦除请求,存储器***200可针对由主机100指示的区域的数据执行擦除操作。根据一个实施例,主机100可对应于中央处理器(CPU)、处理器、微处理器或应用处理器(AP)。根据一个示例性实施例,主机100可被实现为片上***(SoC)。虽然在图1中经由不同的通道执行主机100与存储器***200之间的命令CMD或数据DATA的发送或接收,但是发明构思的实施例不限于此。根据一个示例性实施例,可经由单个通道执行命令CMD或数据DATA的发送或接收。
存储器***200可包括用于根据来自主机100的请求来存储数据的存储介质。例如,存储器***200可包括一个或多个固态驱动器(SSD)。然而,发明构思不限于此,存储器***200可被实现为各种类型的装置(诸如,嵌入式多媒体卡(eMMC)、通用闪存(UFS)或紧凑型闪存(CF)卡、安全数字(SD)卡、微型安全数字(Micro-SD)卡、迷你安全数字(Mini-SD)卡、极限数字(xD)卡或记忆棒)中的任一种。
当存储器***200包括SSD时,存储器装置220可包括以非易失性方式存储数据的多个闪存芯片(例如,NAND(与非)存储器芯片)。可选地,存储器装置220可对应于一个闪存装置,或者存储器装置220可包括包含一个或多个闪存芯片的存储卡。
当存储器***200包括闪存时,闪存可包括二维(2D)NAND存储器阵列或三维(3D)(或垂直)NAND(VNAND)存储器阵列。3D存储器阵列单片地(monolithically)形成在具有设置在硅基底上或上方的有源区域的存储器单元的阵列中的一个或多个物理级上,或者作为与存储器单元的操作相关的电路的形成在硅基底上或上方或者硅基底内的电路中。术语“单片”表示构成阵列的每个级的层直接堆叠在阵列的每个下方级的层上方。
根据发明构思的实施例,3D存储器阵列包括在垂直方向上布置的垂直NAND串,使得至少一个存储器单元位于另一存储器单元上或上方。所述至少一个存储器单元可包括电荷捕获层。
通过引用全部包含于此的以下专利文件描述了3D存储器阵列的合适构造,其中,3D存储器阵列被构造为多个级,多个级之间共享字线和/或位线:第7,679,133号、第8,553,466号、第8,654,587号、第8,559,235号美国专利和公开号为2011/0233648的美国专利。
作为另一示例,存储器***200可包括各种其他类型的存储器。例如,存储器***200可包括非易失性存储器。非易失性存储器的示例可包括各种类型的存储器(诸如,磁性随机存取存储器(MRAM)、自旋转移矩MRAM、导电桥接RAM(CBRAM)、铁电RAM(FeRAM)、相变RAM(PRAM)、电阻式RAM、纳米管RAM、聚合物RAM(PoRAM)、纳米浮栅存储器(NFGM)、全息存储器、分子电子存储器和绝缘体电阻变化存储器)。
存储器控制器210可控制关于存储器装置220的存储器操作(诸如,数据写入和数据读取)。存储器控制器210可经由一个或多个通道来控制关于存储器装置220的存储器操作。例如,存储器控制器210可经由n(其中,n是正整数)个通道CH1至CHn连接到存储器装置220,并且可写入或读取数据。存储器控制器210可并行地控制连接到不同通道的存储器装置220。
根据一个示例性实施例,存储器装置220包括多个存储器芯片。存储器装置220可包括一个或更多个存储器芯片以对应于n个通道CH1至CHn中的每个。存储器控制器210可根据从主机100接收的命令CMD(或请求),将针对n个通道CH1至CHn中的每个的命令CMD进行排队,并且可经由n个通道CH1至CHn向存储器装置220发送命令CMD或与命令CMD相关的数据DATA,或者从存储器装置220接收命令CMD或与命令CMD相关的数据DATA。例如,存储器控制器210可包括缓冲器,命令CMD被存储在缓冲器中直到它们被执行。
根据发明构思的一个示例性实施例,存储器控制器210包括对n个通道CH1至CHn进行仲裁(arbitrate)(或管理)的通道仲裁模块211。通道仲裁模块211可以以各种方式实现,并且可被包括在存储器控制器210中。例如,通道仲裁模块211可被实现为硬件(诸如,对多个通道进行仲裁的电路)。可选地,通道仲裁模块211可被实现为包括程序的软件,并且处理单元可通过执行加载在操作存储器中的通道仲裁模块211来执行与多个通道的仲裁相关的各种类型的处理。可选地,通道仲裁模块211可被实现为硬件和软件的组合。虽然在图1中通道仲裁模块211包括在存储器控制器210中,但是发明构思的实施例不限于此。例如,通道仲裁模块211可布置在存储器控制器210外部,但是在存储器***200内。
在一个示例性实施例中,通道仲裁模块211支持对将存储器控制器210连接到存储器装置220的多个通道进行仲裁的功能。例如,通道仲裁模块211可检查存储器装置220的多个存储器芯片的操作状态,并且基于检查出的操作状态和与每个操作的功耗有关的信息来对n个通道CH1至CHn进行仲裁。
在一个示例性实施例中,通道仲裁模块211基于检查出的多个存储器芯片的操作状态和与每个操作的功耗有关的信息,计算当前总功耗(例如,存储器***200或存储器装置220的功耗),并且预测当存储器装置220另外执行与排队的命令CMD对应的存储器操作时,总功耗是否将超过允许功率量。当预测总功耗将超过允许功率量时,通道仲裁模块211推迟排队的命令CMD的发送,并且可限制通过与相应的排队的命令CMD对应的通道的数据发送或接收。另一方面,当预测总功耗将不超过允许功率量时,通道仲裁模块211发送排队的命令CMD,并且可允许通过与排队的命令CMD对应的通道的数据发送或接收。
因此,在随着存储器控制器210将多个命令CMD发送到存储器装置220,存储器装置220执行与多个命令CMD对应的存储器操作(或命令的处理)的同时,可防止功耗超过允许功率量。
存储器芯片的操作可包括编程操作、读取操作、擦除操作和空闲状态中的至少一个。编程操作可被划分成多个详细操作。例如,编程操作可被划分为数据输入/输出(I/O)操作(为了便于解释,称为第一编程操作)和数据写入操作(为了便于解释,称为第二编程操作)。I/O操作对应于编程命令CMD和数据DATA通过通道被输入到存储器芯片并且被缓冲在包括在存储器芯片中的I/O缓冲器(未示出)中的操作。数据写入操作对应于缓冲在包括在存储器芯片中的I/O缓冲器中的数据DATA被编程或写入到存储器单元阵列的操作。第一编程操作和第二编程操作中的每个构成整个编程操作的一部分,但是,因为两个操作之间的功耗差异大,所以两个操作可彼此区分。例如,I/O操作可消耗第一量的功率,数据写入操作可消耗与第一量不同的第二量的功率。
存储器芯片的上述操作类型仅是示例,并且发明构思的实施例不限于此。例如,读取操作可被划分为从存储器单元阵列读取数据DATA的操作和经由通道将读取的数据DATA输入到存储器控制器210的操作。
根据发明构思的一个示例性实施例,通道仲裁模块211基于与每个操作的功耗有关的信息来设置参数,并且通过使用设置的参数和多个存储器芯片的操作状态来对n个通道CH1至CHn进行仲裁。该参数可以是只要总功耗不超过预设功率量(即,允许功率量)时能够并行执行每个存储操作的存储芯片的数量。例如,参数可以是只要总功耗不超过允许功率量时能够并行执行第一编程操作的存储器芯片的最大数量。因为存储器芯片的操作除了第一编程操作之外还可包括第二编程操作、读取操作和擦除操作,所以可针对这些不同的操作分别设置不同的参数(例如,子参数)。上述多个参数可包括在单个参数表中。参数表可存储在存储器控制器210或存储器装置220中。设置参数的方法不限于上述示例性方法。
作为使用参数的仲裁的一个示例,通道仲裁模块211可允许通过与参数对应的数量的通道进行数据发送或接收。例如,通道仲裁模块211可允许通过与参数对应的数量的通道(包括与当前正在执行操作的存储器芯片对应的通道)进行数据发送或接收。例如,通道仲裁模块211可仅允许通过连接到当前正在执行操作的存储器芯片的通道进行数据发送或接收。换句话说,在当前执行操作的存储器芯片的数量小于参数时,通道仲裁模块211可允许通过与排队的命令CMD对应的通道进行数据发送或接收。另一方面,在当前执行操作的存储器芯片的数量等于参数时,通道仲裁模块211不允许与排队的命令CMD对应的通道的数据发送或接收。
因此,通道仲裁模块211可在不计算功耗的情况下,经由与预设参数的比较来管理存储器***200的功耗,因此可减少执行的计算的数量。
根据上述实施例的计算***10可基于与存储器装置220内的多个芯片的操作状态有关的信息和与每个操作的功耗有关的信息(或基于与每个操作的功耗有关的信息设置的参数),通过对通过多个通道的数据发送或接收进行调度来最大化存储器利用率。因此,与传统的低效电源管理方法相比,根据上述实施例的计算***10可通过防止总功耗超过允许功率水平来确保更高的***性能并确保高QoS。
图2A和图2B是根据发明构思的示例性实施例的参数表。
参照图2A,参数表TABLE A可包括针对存储器芯片的每个操作或存储器芯片的操作的每个组合的不同参数。存储器芯片的每个操作可包括以上参照图1描述的第一编程操作PG、第二编程操作tPROG、读取操作RD和擦除操作ER中的至少一个,并且存储器芯片的操作的组合可包括以下中的至少一个:第一编程操作PG和擦除操作ER的组合(例如,见参数5)、擦除操作ER和读取操作RD的组合(例如,见参数6)、第一编程操作PG和读取操作RD的组合(例如,见参数7)、和第一编程操作PG、擦除操作ER和读取操作RD的组合(例如,见参数8)。存储器芯片的每个操作或存储器芯片的操作的每个组合不限于此。
参数表TABLE A的列指示与存储器芯片的每个操作或存储器芯片的操作的每个组合对应的参数(第一参数至第八参数)。例如,在参数表TABLE A中,第一参数(例如,参数1)可指示与第一编程操作PG对应的参数,第七参数(例如,参数7)可指示与第一编程操作PG和读取操作RD的组合对应的参数,并且第八参数(例如,参数8)可指示与第一编程操作PG、擦除操作ER和读取操作RD的组合对应的参数。
参数表TABLE A的行可表示能够执行与相应的参数对应的操作的存储器芯片的数量。例如,在参数表TABLE A中,与第一编程操作PG对应的第一参数的X1可表示能够执行第一编程操作PG的存储器芯片的最大数量。与第一编程操作PG和擦除操作ER的组合对应的第五参数的X3和Y2可分别表示能够执行第一编程操作PG的存储器芯片的最大数量和能够执行擦除操作ER的存储器芯片的最大数量。
图1的通道仲裁模块211可从参数表TABLE A检查与当前存储器芯片的操作对应的参数,并且可批准通过与该参数对应的数量的通道进行数据发送或接收。例如,在当前存储器芯片执行第一编程操作PG时,通道仲裁模块211可检查作为与第一编程操作PG对应的参数的X1(例如,3),并且可批准通过与X1对应的数量的通道(例如,3个通道)进行数据发送或接收。
可设置如上所述的多个参数表。根据一个示例性实施例,根据不同的温度范围设置不同的参数表。由于存储器芯片的操作引起的功耗可根据存储器***的温度而变化。因此,为了执行适合于存储器***的温度的电源管理,通道仲裁模块211可根据不同的温度范围设置不同的参数表,并且可通过使用与存储器***的温度对应的参数表来对多个通道的数据发送或接收进行调度。
参照图2B,参数表TABLE B可对应于与参数表TABLE A的温度范围A不同的温度范围B。在参数表TABLE B中,与参数表TABLE A类似,列可指示与存储器芯片的每个操作或存储器芯片的操作的每个组合对应的参数(第一参数至第八参数),行可表示能够执行与相应的参数对应的操作的存储器芯片的数量。温度范围B可高于或低于温度范围A。在一个示例性实施例中,当温度范围B高于温度范围A时,包括在参数表TABLE B中的参数具有比包括在参数表TABLE A中的参数的值小的值。
图1的通道仲裁模块211可从多个参数表(例如,Table A和Table B)中检查与当前存储器***的温度对应的参数表TABLE B,可从参数表TABLE B中检查与当前存储器芯片的操作对应的参数,并且可批准通过与该参数对应的数量的通道进行数据发送或接收。在一个示例性实施例中,存储器***200包括温度传感器,并且通道仲裁模块211基于由温度传感器输出的温度来选择多个参数表中合适的一个参数表,并且检查与选择的参数表对应的参数,以确定它应当批准通过哪些通道进行数据发送或接收。
尽管已经参照图2B描述了通道仲裁模块211根据温度范围使用多个参数表来考虑存储器***的温度而管理电源,但是发明构思的实施例不限于此。例如,通道仲裁模块211可根据通过使用参考温度和当前温度校正现有参数表的方法来管理电源。
图3是示出根据发明构思的示例性实施例的与多个存储器芯片的操作状态有关的信息的表。
参照图3,可检查表示包括在存储器装置中的八个存储器芯片Chip 1至Chip 8的操作状态的操作状态信息。尽管已经参照图3示出和描述了八个存储器芯片,但是可实现比八个存储器芯片更多或更少的存储器芯片。
根据一个示例性实施例,与存储器芯片的操作状态有关的信息可包括一个或多个位。例如,当对于每个存储器芯片,操作状态信息具有三位或更多位的值时,所述值中的每个值可表示第一编程操作、第二编程操作、读取操作、擦除操作和空闲状态中的至少一个。
参照图3,八个存储器芯片Chip 1至Chip 8中的第一芯片Chip 1和第八芯片Chip8正在执行第一编程操作PG,第四芯片Chip 4正在执行读取操作RD,并且剩余的芯片(即,第二芯片Chip 2、第三芯片Chip 3、第五芯片Chip 5、第六芯片Chip 6和第七芯片Chip 7)处于空闲状态(例如,ID)。
图4A至图4C示出针对存储器芯片的每个操作对通道的数据发送或接收进行调度的方法。图4A至图4C示出根据时间针对多个通道(即,第一通道CH1至第八通道CH8)中的每个通道发送命令。参照图1至图3给出的描述同样适用于本实施例。
图4A示出多个存储器芯片执行第一编程操作PG的实施例。当根据发明构思的示例性实施例的通道仲裁模块211检查到存储器芯片正在执行第一编程操作PG时,通道仲裁模块211可检查参数表TABLE A,以将X1确定为与第一编程操作PG对应的参数。通道仲裁模块211可批准通过与参数X1对应的数量的通道进行数据发送或接收。
例如,当与第一编程操作PG对应的参数X1是6时,通道仲裁模块211可批准通过总共6个通道进行发送或接收。参照图4A,在第一时间点t1,通道仲裁模块211接收用于请求批准通过第一通道CH1和第四通道CH4进行发送或接收的请求信号。因为在第一时间点t1不存在与执行第一编程操作PG的存储器芯片对应的通道,所以通道仲裁模块211可批准通过第一通道CH1和第四通道CH4进行发送或接收。在第一时间点t1与第二时间点t2之间,通道仲裁模块211可顺序地批准通过第三通道CH3、第六通道CH6、第七通道CH7和第二通道CH2进行发送或接收。与经由其进行发送或接收已经被批准的通道对应的存储器芯片可执行第一编程操作PG。
因为在第二时间点t2,总共6个通道与执行第一编程操作PG的存储器芯片对应,所以通道仲裁模块211不批准通过第五通道CH5和第八通道CH8进行发送或接收。因此,经由第五通道CH5和第八通道CH8的命令的传输挂起(pending)。
在第三时间点t3,通道仲裁模块211可确定与第一通道CH1和第四通道CH4对应的存储器芯片的第一编程操作PG已经完成。换句话说,因为在第三时间点t3总共4个通道与执行第一编程操作PG的存储器芯片对应,所以通道仲裁模块211可批准第五通道CH5和第八通道CH8的发送或接收,第五通道CH5和第八通道CH8是经由其进行的命令传输已经挂起的通道。例如,通道仲裁模块211可在第三时间点t3或在第三时间点t3之后批准第五通道CH5和第八通道CH8的发送或接收。
图4B示出多个存储器芯片执行第一编程操作PG和第二编程操作tPROG的实施例。当根据发明构思的实施例的通道仲裁模块211确定存储器芯片正在执行第二编程操作tPROG时,通道仲裁模块211可检查参数表TABLE A,以将X2和W1确定为与第二编程操作tPROG对应的参数。通道仲裁模块211可批准与检查出的参数X2对应的数量的通道的与第一编程操作PG相关联的数据的发送或接收,并且可批准与检查出的参数W1对应的数量的通道的与第二编程操作tPROG相关联的数据的发送或接收。
例如,当与第一编程操作PG对应的参数X2是1并且与第二编程操作tPROG对应的参数W1是3时,通道仲裁模块211可批准总共一个通道的与第一编程操作PG相关联的数据的发送或接收,并且可批准总共三个通道的与第二编程操作tPROG相关联的数据的发送或接收。
参照图4B,因为在第四时间点t4不存在与执行第二编程操作tPROG的存储器芯片对应的通道,所以通道仲裁模块211可批准第一通道CH1至第三通道CH3的发送或接收。因为在第四时间点t4不存在与执行第一编程操作PG的存储器芯片对应的通道,所以通道仲裁模块211可批准第六通道CH6的发送或接收。
因为在第五时间点t5和第六时间点t6之间,总共一个通道对应于执行第一编程操作PG的存储器芯片,所以通道仲裁模块211不批准通过第四通道CH4、第五通道CH5、第七通道CH7和第八通道CH8的发送或接收。因此,经由第四通道CH4、第五通道CH5、第七通道CH7和第八通道CH8的命令传输挂起。
在第六时间点t6,通道仲裁模块211确定与第六通道CH6对应的存储器芯片的第一编程操作PG已经完成。换句话说,因为在第六时间点t6没有通道与执行第一编程操作PG的存储器芯片对应,所以通道仲裁模块211可批准通过经由其的命令传输已经挂起的通道之一的发送或接收。通道仲裁模块211可根据用于请求批准发送或接收的请求信号被接收的顺序,批准通过命令传输已经挂起的通道的发送或接收。例如,通道仲裁模块211可首先批准第四通道CH4、第五通道CH5、第七通道CH7和第八通道CH8之中的与首先接收的请求信号对应的第五通道CH5的发送或接收,第四通道CH4、第五通道CH5、第七通道CH7和第八通道CH8是经由其进行的命令传输已经挂起的通道。
图4C示出多个存储器芯片执行第一编程操作PG和读取操作RD的实施例。当根据发明构思的实施例的通道仲裁模块211确定存储器芯片正在执行第一编程操作PG和读取操作RD时,通道仲裁模块211可检查参数表TABLE A,以将X4和Z3确定为与第一编程操作PG和读取操作RD对应的参数。在一个示例性实施例中,当存储器芯片中的至少一个在特定时间时已经在运行第一编程操作PG并且存储器芯片中的至少一个在特定时间时已经在运行读取操作RD时,通道仲裁模块211在特定时间确定存储器芯片正在执行第一编程操作PG和读取操作RD。通道仲裁模块211可批准通过与检查出的参数X4对应的数量的通道进行与第一编程操作PG相关联的数据的发送或接收,并且可批准通过与检查出的参数Z3对应的数量的通道进行与读取操作RD相关联的数据的发送或接收。
例如,当与第一编程操作PG对应的参数X4是3并且与读取操作RD对应的参数Z3是3时,通道仲裁模块211可批准通过总共6个通道进行发送或接收。参照图4C,在时间点t7,通道仲裁模块211接收用于请求批准通过第一通道CH1、第四通道CH4和第七通道CH7进行发送或接收的请求信号。因为在第七时间点t7不存在与执行第一编程操作PG或读取操作RD的存储器芯片对应的通道,所以通道仲裁模块211可批准通过第一通道CH1、第四通道CH4和第七通道CH7进行发送或接收。在时间点t7与时间点t8之间,通道仲裁模块211可顺序地批准通过第三通道CH3、第六通道CH6和第二通道CH2进行发送或接收。因此,三个存储器芯片已被批准执行第一编程操作PG,并且三个其他存储器芯片已被批准执行读取操作。
因为在时间点t8总共6个通道与执行第一编程操作PG和读取操作RD的存储器芯片对应,所以通道仲裁模块211不批准通过第五通道CH5和第八通道CH8进行发送或接收。因此,经由第五通道CH5和第八通道CH8的命令的传输挂起。
在时间点t9,通道仲裁模块211可确定与通道CH4和CH7对应的读取操作已经完成,并且与通道CH1对应的编程操作已经完成。换句话说,因为在时间点t9总共3个通道与执行第一编程操作PG和/或读取操作RD的存储器芯片对应,所以通道仲裁模块211可批准第五通道CH5和第八通道CH8的发送或接收,第五通道CH5和第八通道CH8是经由其进行的命令传输已经挂起的通道。例如,通道仲裁模块211可在时间点t9或在时间点t9之后批准第五通道CH5和第八通道CH8的发送或接收。
图5是根据发明构思的示例性实施例的存储器***300的框图。
参照图1至图5,存储器***300包括存储器控制器310(例如,控制电路)和存储器装置320,存储器控制器310包括通道仲裁模块311和存储器接口(I/F)313(例如,接口电路),存储器装置320可包括n个存储器芯片(NVM)321_1至321_n。通道仲裁模块311可对应于图1的通道仲裁模块211。
存储器I/F 313可经由将存储器控制器310分别连接到存储器装置320的n个存储器芯片321_1至321_n的n个通道CH1至CHn来发送或接收数据。存储器I/F 313可将针对n个通道CH1至CHn中的每个通道的命令CMD进行排队,并且可在存储器控制器310的控制下经由n个通道CH1至CHn发送或接收命令CMD或数据DATA。例如,存储器I/F 313可包括临时存储命令CMD直到它们被执行的缓冲器。
根据发明构思的一个示例性实施例,在通过第一通道CH1发送排队的命令CMD之前,存储器I/F 313向通道仲裁模块311发送用于请求批准通过第一通道CH1进行发送或接收的请求信号Req。当从通道仲裁模块311接收到与请求信号Req对应的允许信号Grant时,存储器I/F 313可经由第一通道CH1发送或接收排队的命令CMD和与排队的命令CMD相关的数据DATA。另一方面,当没有从通道仲裁模块311接收到与请求信号Req对应的允许信号Grant时,存储器I/F 313推迟经由第一通道CH1进行的发送或接收。
根据发明构思的一个示例性实施例,通道仲裁模块311从存储器I/F 313接收请求信号Req。响应于请求信号Req,通道仲裁模块311可获得与n个存储器芯片321_1至321_n的各自的操作状态有关的信息Status。与n个存储器芯片321_1至321_n的各自的操作状态有关的信息Status可指示n个存储器芯片321_1至321_n中的每个处于第一编程操作、第二编程操作、读取操作、擦除操作和空闲状态之中的哪个操作状态。
通道仲裁模块311可经由各种方法从存储器I/F 313获得与n个存储器芯片321_1至321_n的各自的操作状态有关的信息Status。例如,通道仲裁模块311可响应于请求信号Req向存储器I/F 313发送针对与各自的操作状态有关的信息Status的请求(例如,信号),并且可响应于发送的请求从存储器I/F 313接收与各自的操作状态有关的信息Status。可选地,通道仲裁模块311可经由特定硬件组件从存储器I/F 313连续地接收表示n个存储器芯片321_1至321_n的各自的操作状态的信号,并且可响应于请求信号Req通过使用所述信号来生成与各自的操作状态有关的信息Status。可选地,通道仲裁模块311可不管请求信号Req而周期性地从存储器I/F 313接收关于操作状态的信息。
通道仲裁模块311可基于与n个存储器芯片321_1至321_n的各自的操作状态有关的信息Status和基于存储器芯片的每个操作的功耗设置的参数312,确定第一通道CH1是否被批准。参数312可包括针对存储器芯片的每个操作或存储器芯片的操作的组合的不同参数。例如,如在图2A或图2B的上述示例中,参数312可以是在允许功率量内能够执行编程操作、读取操作或擦除操作的存储器芯片的最大数量,并且可以是在允许功率量内能够执行包括在编程操作、读取操作和擦除操作的每个组合中的操作的存储器芯片的最大数量。
参数312可被存储在存储器控制器310内的存储器(未示出)或缓冲器(未示出)中并由通道仲裁模块311从其读取,或者可存储在通道仲裁模块311内的存储器(未示出)中。通道仲裁模块311或存储器控制器310可通过使用每个操作的功耗来计算参数312并且存储计算的参数312。
作为通过使用与n个存储器芯片321_1至321_n的各自的操作状态有关的信息Status和参数312来确定批准或不批准第一通道CH1的示例,通道仲裁模块311可首先基于与存储器芯片321_1至321_n的各自的操作状态有关的信息Status从参数312确定与存储器芯片321_1至321_n的当前操作对应的参数。例如,当通道仲裁模块311确定存储器芯片321_1至321_n执行第一编程操作时,通道仲裁模块311可确定与第一编程操作对应的参数。
通道仲裁模块311可将确定的参数同与n个存储器芯片321_1至321_n的各自的操作状态有关的信息Status进行比较,从而可确定当前正在操作的存储器芯片的数量是否已经达到最大数量。在当前正在操作的存储器芯片的数量未达到最大数量时,即使当存储器芯片另外执行排队的命令CMD的操作时,总功耗也不超过允许功率量,因此,通道仲裁模块311确定批准第一通道CH1。另一方面,在当前正在操作的存储器芯片的数量达到最大数量时,通道仲裁模块311确定不批准第一通道CH1,以防止总功耗超过允许功率量。
通道仲裁模块311可将确定的结果发送到存储器I/F 313。例如,当通道仲裁模块311确定批准第一通道CH1时,通道仲裁模块311向存储器I/F 313发送允许信号Grant。另一方面,当通道仲裁模块311确定不批准第一通道CH1时,通道仲裁模块311不向存储器I/F313发送允许信号Grant。
根据发明构思的一个示例性实施例,存储器I/F 313将结束信号End而不是请求信号Req发送到通道仲裁模块311。例如,当存储器芯片321_1至321_n中的一个的操作已经结束时,存储器I/F 313将结束信号End发送到通道仲裁模块311。响应于结束信号End,通道仲裁模块311可再次确定批准或不批准第一通道CH1。例如,当响应于请求信号Req已经确定第一通道CH1未被批准时,由于存储器芯片321_1至321_n中的一个的操作已经结束,所以即使当针对第一通道CH1的与排队的命令CMD对应的操作被执行时,通道仲裁模块311也重新确定总功耗是否未超过允许功率量。当通道仲裁模块311已经响应于请求信号Req发送了针对第一通道CH1的允许信号Grant时,可省略重新确定批准或不批准第一通道CH1的操作。由通道仲裁模块311执行的响应于结束信号End确定批准或不批准第一通道CH1的操作与上述确定批准或不批准第一通道的操作基本相同,因此,省略其冗余描述。
图6是根据发明构思的示例性实施例的存储器控制器400的框图。
参照图1至图6,存储器控制器400可包括主机I/F 410(例如,电路)、处理器420、存储器430、温度传感器440(例如,热电偶)和存储器I/F 450。存储器430包括通道仲裁模块431。通道仲裁模块431可对应于图1的通道仲裁模块211和图5的通道仲裁模块311中的一个。
主机I/F 410可经由各种I/F与主机HOST(例如,主机装置)通信。根据一个实施例,主机I/F 410可经由各种I/F(诸如,通用串行总线(USB)、多媒体卡(MMC)、PCIExpress(PCI-E)、AT附件(ATA)、串行AT附件(SATA)、并行AT附件(PATA)、小型计算机***接口(SCSI)、串行连接SCSI(SAS)、增强型小盘接口(ESDI)和集成驱动电子设备(IDE))与主机HOST通信。例如,主机I/F可实现作为针对诸如SSD的存储器***优化的I/F的非易失性存储器快速(NVMe)。
根据发明构思的一个示例性实施例,主机I/F 410从主机HOST接收主机HOST的规范信息。规范信息可包括例如关于设备类型的信息、型号信息和关于存储器***的所需功耗量的信息。包括在规范信息中的信息不限于此。
通道仲裁模块431可基于接收的主机HOST的规范信息来设置参数。例如,因为允许功率量可根据主机HOST的类型而变化,所以通道仲裁模块431可基于与主机HOST的规范信息对应的允许功率量来设置参数。例如,通道仲裁模块431可针对它接收规范信息的每个主机设置不同的参数。
处理器420可包括CPU或微处理器,并且可通过执行存储在存储器430中的指令来控制存储器控制器400的整体操作。图6示出了一个处理器420。然而,发明构思的实施例不限于此,因为存储器控制器400可包括多个处理器420。
存储器430可在处理器420的控制下操作,并且可被实现为易失性存储器(诸如,动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)),或者可被实现为非易失性存储器(诸如,相变随机存取存储器(PRAM)或闪存)。通道仲裁模块431可被实现为固件或软件,并且可被加载在存储器430中。尽管在图6中通道仲裁模块431被加载在存储器430中,但是发明构思的实施例不限于此。例如,通道仲裁模块431可被加载在位于存储器控制器400外部的存储器(未示出)中,并且可被布置为被实现为存储器控制器400内部或外部的硬件的特殊组件。
温度传感器440可感测温度。根据一个示例性实施例,温度传感器440布置在存储器控制器400内以感测环境温度,并且输出与感测的温度对应的电压作为温度信息。尽管在图6中温度传感器440包括在存储器控制器400中,但是发明构思的实施例不限于此。例如,温度传感器440可布置在存储器装置内部或存储器装置附近,并且可感测存储器装置周围的环境温度。图6示出了一个温度传感器440。然而,根据另一实施例,存储器控制器400包括多个温度传感器440。
根据发明构思的一个示例性实施例,通道仲裁模块431根据不同的温度范围设置不同的参数。因为允许功率量可根据存储器***的温度而变化,所以通道仲裁模块431可根据分别与不同的温度范围对应的允许功率量来设置不同参数。例如,当温度相对高时,通道仲裁模块431可基于相对低的允许功率量来设置参数。在一个示例性实施例中,当温度为第一温度值时,通道仲裁模块431基于第一允许功率量设置第一参数,当温度为第二温度值时,通道仲裁模块431基于第二允许功率量设置第二参数,其中,当第一温度值高于第二温度值时,第一允许功率量低于第二允许功率量。
当通道仲裁模块431从存储器I/F 450接收用于请求批准通过特定通道进行发送或接收的请求信号时,通道仲裁模块431可从温度传感器440获得温度信息,并且可获得与存储器装置的多个存储器芯片的各自的操作状态有关的信息。通道仲裁模块431可通过使用获得的温度信息从多个参数中确定与存储器***的温度对应的参数,并且可通过使用确定的参数和存储器装置的多个存储器芯片的操作状态对通过多个通道进行的数据的发送或接收进行调度。在图6中,存储器控制器400包括温度传感器440。然而,根据另一实施例,省略了温度传感器440。
根据发明构思的一个示例性实施例,除了存储器芯片的每个操作的功耗之外,还可通过进一步考虑主机的规范信息或温度信息来设置参数,并且可使用符合存储器***的情况(例如,条件或状态)的参数来控制多个通道的数据发送或接收,从而导致存储器***的更优化的功率管理。
图7是根据本公开的示例性实施例的通道仲裁模块500的框图。
参照图1至图7,通道仲裁模块500包括参数510、仲裁核520、作业调度器530和状态检查器540。参数510与图5的参数312基本相同,因此将省略其详细描述。当通道仲裁模块500被实现为硬件或部分被实现为硬件时,作业调度器530和/或状态检查器540可各自由逻辑电路实现。
根据发明构思的一个实施例,存储器I/F可向通道仲裁模块500发送针对分别与n个存储器芯片对应的多个通道排队的命令的请求信号Req 1至Req n。当n个存储器芯片中的每个的操作已经结束时,存储器I/F可将结束信号End 1至End n发送到通道仲裁模块500。请求信号和结束信号中的每个可包括:与对应的存储器芯片的编号(或标识符)有关的信息或与对应的存储器芯片的命令(或存储器操作)有关的信息。例如,标识符可唯一地标识存储器芯片中的特定存储器芯片。例如,与命令有关的信息可指示完成的操作的类型(诸如,操作是否是读取操作RD、第一编程操作PG等)。
当作业调度器530从存储器I/F接收到针对n个存储器芯片的请求信号Req 1至Reqn或结束信号End 1至End n时,作业调度器530可通过使用接收的请求信号Req 1至Req n或接收的结束信号End 1至End n来生成作业调度。
例如,当作业调度器530从存储器I/F接收到多个请求信号时,作业调度器530可根据接收到请求信号的顺序生成与多个请求信号对应的作业的作业调度。当作业调度器530从存储器I/F接收到至少一个结束信号时,作业调度器530可从作业调度删除与接收的结束信号对应的作业。稍后将参照图8A和图8B详细描述由作业调度器530执行的生成作业调度的方法。
状态检查器540可生成n个存储器芯片中的每个的操作状态信息。例如,状态检查器540可经由特定硬件组件从存储器I/F接收表示n个存储器芯片的各自的操作状态的信号Status 1至Status n,并且可通过使用接收的信号Status1至Status n来生成关于操作状态的信息。状态检查器540可将生成的关于操作状态的信息提供给仲裁核520。
仲裁核520可确定多个通道之中的哪个通道将被批准执行发送或接收。例如,当仲裁核520从作业调度器530接收到作业调度时,仲裁核520可识别出需要确定多个通道之中的哪个通道将被批准执行发送或接,因此,仲裁核520可从状态检查器540接收关于操作状态的信息。仲裁核520可基于接收的关于操作状态的信息从参数510接收与操作状态对应的参数。仲裁核520可根据作业调度的顺序来检查与接收的参数对应的数量的通道。例如,作业调度中的每个作业可对应于被调度以使用特定通道被执行的不同操作。当在检查的通道之中存在尚未接收到允许信号Grant的通道时,仲裁核520可将允许信号Grant发送到该通道。
例如,当仲裁核520基于关于操作状态的信息确定当前存储器芯片当前执行的操作是第一编程操作时,仲裁核520可检查图2A的参数表以确定与第一编程操作对应的参数X1。仲裁核520可根据作业调度的顺序,顺序地检查执行第一编程操作的X1个通道。当在检查的X1个通道之中存在尚未接收到允许信号Grant的通道时,仲裁核520可将允许信号Grant发送到该通道。
在图7中,通道仲裁模块500包括状态检查器540。然而,根据另一实施例,状态检查器540被省略。在这种情况下,通道仲裁模块500可间接地检查存储器芯片的操作状态。例如,通道仲裁模块500可基于包括在作业调度中的命令信息来推断被确定为包括在作业调度中并且已经接收到允许信号Grant的存储器芯片的操作状态。通道仲裁模块500还可推断包括在作业调度中但还没有接收到允许信号Grant的存储器芯片处于空闲状态。可选地,通道仲裁模块500可通过使用从主机HOST请求的作业被排队的状态来推断存储器芯片的操作状态。
根据发明构思的示例性实施例,通道仲裁模块500生成作业调度,并根据生成的作业调度的顺序确定批准或不批准通道的发送或接收,从而即使在多个存储器芯片的操作被预期时也顺序地对多个通道进行调度。
图8A和图8B示出根据发明构思的实施例的生成作业调度的方法。
根据发明构思的实施例的图7的作业调度器530可根据从存储器I/F接收到请求信号的顺序将请求信号输入到先进先出(FIFO)531。作业调度器530可根据从存储器I/F接收到结束信号的顺序将结束信号输入到FIFO 533。作业调度器530可通过使用用于请求信号的FIFO 531和用于结束信号的FIFO 533来生成作业调度535。
为了便于解释,描述了这样的方法:在多个请求信号Req 1、Req3、Req8和Req4已经被输入到FIFO 531并且作业调度已经按照Req 1、Req3、Req8和Req4的顺序被生成的情况的前提下,作业调度器530通过另外接收请求信号或结束信号来生成作业调度535。
参照图8A,作业调度器530从存储器I/F接收第二请求信号Req2(①),并将第二请求信号Req2输入到用于请求信号的FIFO 531(②)。作业调度器530可通过使用诸如链表或搜索树的方法来生成作业调度535。例如,作业调度器530从用于请求信号的FIFO 531顺序地取得请求信号,检查取得的请求信号是否包括在现有作业调度535中,并且针对尚未在现有作业调度535中的每个取得的请求信号在作业调度535中创建新的请求信号(或条目)。换句话说,作业调度器530将作为来自用于请求信号的FIFO 531的新请求信号的第二请求信号Req2***到作业调度535中(③)。作业调度器530可将以这种方式生成的作业调度535提供给通道仲裁模块500。
通道仲裁模块500可响应于接收到作业调度535而从状态检查器540接收关于操作状态的信息,并且可基于接收的关于操作状态的信息来确定当前存储器芯片正在执行第一编程操作PG和读取操作RD。通道仲裁模块500可通过检查图2A的表将上述参数X4和Z3确定为与检查出的操作对应的参数。
例如,参数X4和Z3可均为3。通道仲裁模块500可基于关于操作状态的信息或允许信号Grant的发送历史,检查出与第一请求Req 1、第三请求Req3、第八请求Req8和第四请求Req4对应的存储器芯片已经响应于允许信号Grant执行操作。因此,通道仲裁模块500可根据作业调度535的顺序来确定批准或不批准与尚未接收到准许信号Grant的第二请求Req2对应的通道的发送或接收。因为三个通道当前正在执行第一编程操作PG,所以通道仲裁模块500确定不批准与第二请求Req2对应的通道的发送或接收。
参照图8B,作业调度器530从存储器I/F接收第三结束信号End 3(④),并将第三结束信号End 3输入到用于结束信号的FIFO 533(⑤)。作业调度器530可从用于结束信号的FIFO 533顺序地取得结束信号,并且可从包括在作业调度535中的请求信号中删除与取得的结束信号对应的请求信号。例如,作业调度器530可从用于结束信号的FIFO 533取得作为新的结束信号的第三结束信号End 3,并且可删除包括在作业调度535中的第三请求信号Req3(或与该请求信号相关联的条目)(⑥)。尽管在图8B中未示出,但是作业调度器530可从用于请求信号的FIFO 531删除第三请求信号Req3并从用于结束信号的FIFO 533删除第三结束信号End 3。作业调度器530可将以这种方式生成的作业调度535提供给通道仲裁模块500。
通道仲裁模块500可响应于作业调度535从状态检查器540接收关于操作状态的信息,并且可基于接收的关于操作状态的信息检查出当前存储器芯片正在执行第一编程操作PG和读取操作RD。通道仲裁模块500可从图2A的表将上述参数X4和Z3确定为与检查出的操作对应的参数。
例如,参数X4和Z3可均为3。通道仲裁模块500可基于关于操作状态的信息或允许信号Grant的发送历史检查出与第一请求Req 1、第八请求Req8和第四请求Req4对应的存储器芯片正在响应于允许信号Grant执行操作。因此,通道仲裁模块500可根据作业调度535的顺序重新确定批准或不批准与尚未接收到允许信号Grant的第二请求Req2对应的通道的发送或接收。因为两个通道当前正在执行第一编程操作PG,所以通道仲裁模块500确定批准与第二请求Req2对应的通道的发送或接收。
图9是示出根据发明构思的示例性实施例的对通道的数据发送或接收进行调度的方法的框图。
参照图1至图9,存储器***700包括存储器控制器710和存储器装置720,存储器控制器710包括通道仲裁模块711和存储器I/F 713。存储器装置720可包括n个存储器芯片721_1至721_n(即,第一存储器芯片721_1至第n存储器芯片721_n)。根据一个实施例,存储器I/F 713包括用于连接n个存储器芯片721_1至721_n的多个通道的n个引脚715_1至715_n(即,第一引脚715_1至第n引脚715_n)。根据实施例,术语“引脚”可被称为端子或输出引脚。
根据发明构思的一个示例性实施例,通道仲裁模块711确定多个通道之中的将被批准执行发送或接收的通道,并且确定将被批准执行发送或接收的通道之中是否存在尚未接收到允许信号Grant的通道。当存在尚未接收到准许信号Grant的通道时,通道仲裁模块711可向该通道发送准许信号Grant。当存储器I/F 713从通道仲裁模块711接收到允许信号Grant时,存储器I/F 713可经由该通道将针对与允许信号Grant对应的通道的排队的命令CMD发送到存储器装置720。
例如,当通道仲裁模块711确定经由其进行发送或接收已经被批准的通道之中的第二通道CH2为尚未接收到允许信号Grant的通道时,通道仲裁模块711将允许信号Grant发送到第二引脚715_2,并且存储器I/F 713将针对第二通道CH2的排队的命令CMD经由第二引脚715_2发送到第二存储器芯片721_2。第二存储器芯片721_2可执行与接收的命令对应的存储器操作,并且可经由第二引脚715_2在第二通道CH2上将与执行的存储器操作相关的数据发送到存储器控制器711。
图10是根据发明构思的示例性实施例的对多个通道的数据发送或接收进行调度的方法的流程图。
根据本实施例的对多个通道的数据发送或接收进行调度的方法可在图1的存储器***200、图5的存储器***300或图9的存储器***700中执行。参照图1至图9给出的描述同样适用于本实施例。
参照图10,存储器***基于与存储器芯片的每个操作的功耗有关的信息来设置参数(S11)。与存储器芯片的每个操作的功耗有关的信息可包括编程操作、读取操作、擦除操作和空闲状态中的至少一个的功耗量。编程操作可被划分为多个详细操作。例如,编程操作可被划分为数据I/O操作(为了便于解释,被称为第一编程操作)和数据写入操作(为了便于解释,被称为第二编程操作)。第一编程操作对应于编程命令和数据通过通道被输入到存储器芯片并被缓冲(例如,在包括在存储器芯片中的I/O缓冲器中)的操作。第二编程操作对应于将缓冲的数据(例如,缓冲在包括在存储器芯片中的I/O缓冲器中的)编程或写入到存储器单元阵列的操作。
存储器***可将只要总功耗不超过预设功率量(即,允许功率量)时能够并行执行每个存储器操作的存储器芯片的数量设置为参数。存储器***可针对存储器芯片的每个操作或针对存储器芯片的操作的每个组合设置参数。
例如,存储器***可将只要总功耗不超过允许功率量时能够并行地执行第一编程操作的存储器芯片的数量、只要总功耗不超过允许功率量时能够并行地执行第二编程操作的存储器芯片的数量、只要总功耗不超过允许功率量时能够并行地执行读取操作的存储器芯片的数量、以及只要总功耗不超过允许功率量时能够并行执行擦除操作的存储器芯片的数量设置为参数。存储器***可将只要总功耗不超过允许功率量时能够并行执行包括在第一编程操作、第二编程操作、读取操作和擦除操作的组合中的操作的存储器芯片的数量设置为参数。
存储器***可根据存储器***的不同温度范围来设置不同的参数。例如,当存储器***的温度相对高时,存储器***可基于相对低的允许功率量来设置参数。
存储器***可从主机接收主机的规范信息,并且可基于接收的规范信息和存储器芯片的每个操作的功耗来设置参数。规范信息可包括例如关于设备类型的信息、型号信息和关于存储器***的所需功耗量的信息。包括在规范信息中的信息不限于此。
存储器***获得与多个存储芯片的操作状态有关的信息(S12)。存储器芯片的操作状态可包括编程操作、读取操作、擦除操作和空闲状态中的至少一个。存储器***基于设置的参数和与多个存储器芯片的操作状态有关的信息来控制通过多个通道进行的发送或接收(S13)。例如,存储器***可批准通过与参数对应的数量的通道进行的发送或接收。例如,存储器***可基于与多个存储器芯片的操作状态有关的信息批准通过与参数对应的数量的通道进行的数据发送或接收,与参数对应的数量的通道包括与被认为当前执行操作的存储器芯片对应的通道。
图11是根据发明构思的示例性实施例的对多个通道的数据发送或接收进行调度的方法的流程图。详细地,图11是图10的操作S12和S13的实施例的流程图。下面的操作可由图1的通道仲裁模块211、图5的通道仲裁模块311、图6的通道仲裁模块431、图7的通道仲裁模块500和图9的通道仲裁模块711中的一个来执行。
参照图11,通道仲裁模块接收对于批准经由第一通道的数据发送或接收的请求(S21)。通道仲裁模块获得与多个存储器芯片的操作状态有关的信息(S22)。例如,通道仲裁模块可响应于该请求向存储器I/F请求关于操作状态的信息,因此可从存储器I/F接收关于操作状态的信息。可选地,通道仲裁模块可经由特定硬件组件从存储器I/F连续地接收表示多个存储器芯片的各自的操作状态的信号,并且可响应于该请求通过使用接收的信号来生成关于操作状态的信息。可选地,通道仲裁模块可周期性地从存储器I/F接收关于操作状态的信息,而不管是否接收到请求。
通道仲裁模块基于设置的参数和与多个存储器芯片的操作状态有关的信息来确定是否批准第一通道(S23)。通道仲裁模块向存储器I/F提供关于是否批准第一通道的确定结果(S24)。当第一通道的发送或接收被批准时,存储器I/F可经由第一通道向第一存储器芯片发送数据或从第一存储器芯片接收数据。当第一通道的发送或接收未被批准时,存储器I/F延迟经由第一通道的数据的发送或接收。现在将参照图12和图13更详细地描述操作S23和S24。
图12是根据发明构思的示例性实施例的确定批准或不批准目标通道的的方法的流程图。
详细地,图12是图11的操作S23的实施例的流程图。下面的操作可由图1的通道仲裁模块211、图5的通道仲裁模块311、图6的通道仲裁模块431、图7的通道仲裁模块500和图9的通道仲裁模块711中的一个来执行。
参照图12,通道仲裁模块检查与多个存储器芯片的操作对应的参数(S31)。例如,通道仲裁模块可基于与多个存储器芯片的操作状态有关的信息来检查多个存储器芯片当前正在执行什么操作。通道仲裁模块可检查与检查出的操作对应的参数。例如,当通道仲裁模块确定多个存储器芯片正在执行第一编程操作时,通道仲裁模块可检查与第一编程操作对应的参数。
根据示一个例性实施例,当通道仲裁模块已经根据不同的温度范围设置了不同的参数时,通道仲裁模块可从温度传感器获得存储器***的温度信息,并且可检查与获得的温度信息对应的参数。
通道仲裁模块检查执行检查出的操作的存储器芯片的数量是否等于检查出的参数(S32)。当执行检查出的操作的存储器芯片的数量等于检查出的参数(S32-Y)时,这可表示当前执行操作的存储器芯片的功耗量达到允许功率量。因此,为了防止由于存储器芯片的额外操作的执行而导致的功耗过量,通道仲裁模块确定不批准第一通道(S34)。
另一方面,当执行检查出的操作的存储器芯片的数量不等于(例如,小于)检查出的参数(S32-N)时,这可表示当前执行操作的存储器芯片的功耗量没有达到允许功率量。因此,通道仲裁模块确定批准第一通道(S33)。
图13是根据发明构思的示例性实施例的确定批准或不批准目标通道的的方法的流程图。详细地,图13是图12的可修改实施例。
参照图13,通道仲裁模块获得多个存储器芯片的作业调度(S41)。通道仲裁模块可通过使用来自存储器I/F的请求信号或结束信号来生成作业调度,请求信号用于请求经由与多个存储器芯片中的每个存储器芯片对应的通道的数据发送或接收,结束信号指示多个存储器芯片中的每个存储器芯片的操作已经结束。
例如,当通道仲裁模块从存储器I/F接收到多个请求信号时,通道仲裁模块可根据接收到请求信号的顺序生成与请求信号对应的作业的作业调度。当通道仲裁模块从存储器I/F接收到至少一个结束信号时,通道仲裁模块可从作业调度删除与接收的结束信号对应的作业(或与作业相关联的条目)。
通道仲裁模块检查与多个存储器芯片的操作对应的参数(S42)。
通道仲裁模块通过使用检查出的参数和作业调度来检查将被批准执行数据发送或接收的通道(S43)。例如,通道仲裁模块可按照作业调度的顺序检查与检查出的参数对应的通道的数量。例如,当多个存储器芯片执行第一编程操作并且与第一编程操作对应的参数的值为3时,通道仲裁模块可根据作业调度的顺序确定3个通道与第一编程操作对应。
通道仲裁模块检查第一通道是否包括在待批准的通道中(S44)。当第一通道不包括在批准的通道中时(S44-N),通道仲裁模块确定不批准第一通道(S46)。另一方面,当第一通道包括在批准的通道中时(S44-Y),通道仲裁模块确定批准第一通道(S45)。
即使当确定第一通道未被批准时,当预设事件发生时,通道仲裁模块也可重新确定是否批准第一通道的数据发送或接收。预设事件可以是从主机接收到新请求从而通道仲裁模块从存储器I/F接收到与新请求对应的通道的数据发送或接收的请求的事件。可选地,预设事件可以是这样的事件:当多个存储器芯片中的一个存储器芯片的操作已经结束时,通道仲裁模块从存储器I/F接收到结束信号。在这种情况下,通道仲裁模块可通过考虑接收的请求信号或结束信号来更新作业调度,并且可基于更新的作业调度来重新确定是否批准第一通道的数据发送或接收。
图14是根据发明构思的示例性实施例的计算***1000的框图。
参照图14,计算***1000可包括主机1100和存储装置1200。例如,主机1100可包括主机控制器1110和主机存储器1120。存储装置1200可包括存储控制器1210和非易失性存储器1220。主机存储器1120可用作用于临时存储将被发送到存储装置1200的数据或由存储装置1200发送的数据的缓冲存储器。
例如,计算***1000可对应于各种类型的***(诸如,服务器装置、计算机、上网本、网络平板电脑、无线电话、移动电话、智能电话、电子书、导航装置、数码相机、可穿戴装置、物联网(IoT)装置、万物互联网(IoE)装置、虚拟现实(VR)装置和增强现实(AR)装置)中的任一种。
存储装置1200可包括用于根据来自主机1100的请求来存储数据的存储介质。例如,存储装置1200可包括固态驱动器(SSD)、嵌入式存储器和可拆卸外部存储器中的至少一者。根据本实施例,存储装置1200可以是与上述实施例之一对应的存储器***。因此,计算***1000可基于关于存储装置1200内的多个芯片的操作状态的信息和关于每个存储器芯片的每个操作的功耗的信息(或基于关于每个操作的功耗的信息的参数集合),来控制通过多个通道的数据发送或接收,从而防止当整体功耗超过允许的功率水平时在整个***中发生问题。
主机控制器1110可对将主机存储器1120的数据(例如,写入数据)存储在非易失性存储器1220中或将非易失性存储器1220的数据(例如,读取数据)存储在主机存储器1120中的操作进行管理。
存储控制器1210可包括主机I/F 1211、存储器I/F 1212和处理器1213。存储控制器1210还可包括闪存转换层(FTL)1214、包管理器(packet manager)1215、缓冲存储器1216、纠错码(ECC)引擎1217、高级加密标准(AES)引擎1218和存储器1219。存储器1219可包括通道仲裁模块。存储控制器1210还可包括其中加载FTL 1214的工作存储器(未示出),并且处理器1213可通过执行FTL 1214来控制关于非易失性存储器1220的数据写入和读取。根据实施例,存储控制器1210还可包括调制解调器(未示出)、I/O装置(未示出)、电源(未示出)等。
主机I/F 1211可向主机1100发送包或从主机1100接收包。由主机1100发送到主机I/F 1211的包可包括例如将被写入非易失性存储器1220的命令或数据,并且由主机I/F1211发送到主机1100的包可包括例如对从非易失性存储器1220读取的命令或数据的响应。
FTL 1214可执行若干功能(诸如,地址映射、磨损均衡和垃圾收集)。地址映射是将从主机接收的逻辑地址改变为用于将数据实际存储在非易失性存储器1220中的物理地址的操作。磨损均衡是通过允许均匀地使用包括在非易失性存储器1220中的块来防止特定块的过度劣化的技术,并且例如可通过均衡物理块的擦除计数的固件技术来实现。垃圾收集是通过将块的有效数据复制到新块然后擦除现有块来确保非易失性存储器1220中的可用容量的技术。
包管理器1215可根据与主机1100协商的I/F的协议生成包,或者从自主机1100接收的包来解析各种信息。缓冲存储器1216可临时存储将被写入非易失性存储器1220的数据或将从非易失性存储器1220读取的数据。缓冲存储器1216可以是包括在存储控制器1210中的组件,但是可设置在存储控制器1210外部。
ECC引擎1217可针对从非易失性存储器1220读取的读取数据执行错误检测和校正。更详细地,ECC引擎1217可生成关于将被写入到非易失性存储器1220的写入数据的奇偶校验位,并且生成的奇偶校验位可与写入数据一起被存储在非易失性存储器1220中。在数据从非易失性存储器1220被读取期间,ECC引擎1217可通过使用从非易失性存储器1220读取的奇偶校验位以及读取数据来校正读取数据的错误,并且可输出纠错后的读取数据。
AES引擎1218可通过使用对称密钥算法来执行关于输入到存储控制器1210的数据的加密和解密中的至少一者。在一个示例性实施例中,对称密钥算法使用相同的密码密钥来加密明文和解密密文。
根据本发明构思的实施例,可根据以上参照图1至图13描述的实施例来实现存储装置1200。例如,存储控制器1210可对应于以上参照图1至图13描述的存储器控制器,并且非易失性存储器1220可对应于以上参照图1至图13描述的存储器装置。
例如,存储控制器1210可包括通道仲裁模块,并且可通过使用通道仲裁模块来支持仲裁连接到非易失性存储器1220的多个通道的功能。例如,存储控制器1210可检查包括在非易失性存储器1220中的多个存储器装置的操作状态,并且可基于检查的操作状态和关于每个操作的功耗的信息来仲裁多个通道。其详细描述可与以上参照图1至图13给出的基本相同,因此将被省略。
因此,计算***1000可基于关于存储装置1200内的多个芯片的操作状态的信息和关于每个存储器芯片的每个操作的功耗的信息(或基于关于每个操作的功耗的信息的参数集合)来控制通过多个通道的数据发送或接收,从而防止当整体功耗超过允许的功率水平时在整个***中发生问题。
图15是根据发明构思的实施例的存储器***800的框图。参照图15,存储器***800可包括存储器装置820和存储器控制器810。存储器***800可支持多个通道CH1至CHm,并且存储器装置820和存储器控制器810可通过多个通道CH1至CHm彼此连接(其中,m表示通道的数量并且是正整数)。
存储器装置820可包括多个非易失性存储器NVM11至NVMmn(其中,n表示连接到一个通道的存储器装置的数量并且是正整数)。非易失性存储器NVM11至NVMmn中的每个可通过与非易失性存储器NVM11至NVMmn中的每个对应的通路连接到多个通道CH1至CHm中的一个。例如,非易失性存储器NVM11至NVM1n可通过通路W11至W1n连接到第一通道CH1,并且非易失性存储器NVM21至NVM2n可通过通路W21至W2n连接到第二通道CH2。
存储器控制器810可经由多个通道CH1至CHm向存储器装置820发送信号或从存储器装置820接收信号。例如,存储器控制器810可通过多个通道CH1至CHm向存储器装置820发送命令CMDa至CMDk、地址ADDRa至ADDRk、以及数据DATAa至DATAk,或者从存储器装置820接收数据DATAa至DATAm。
存储器控制器810可通过通道从连接到每个通道的非易失性存储器中选择一个非易失性存储器,并且可向选择的非易失性存储器发送信号或从选择的非易失性存储器接收信号。例如,存储控制器810可从连接到第一通道CH1的非易失性存储器NVM11至NVM1n中选择非易失性存储装置NVM11。存储控制器810可通过第一通道CH1将命令CMDa、地址ADDRa和数据DATAa发送到选择的非易失性存储器装置NVM11,或者从选择的非易失性存储器NVM11接收数据DATAa。
存储器控制器810可经由不同的通道并行地向存储器装置820发送信号或从存储器装置820接收信号。例如,当通过第一通道CH1向存储器装置820发送命令CMDa时,存储器控制器810可通过第二通道CH2向存储器装置820发送命令CMDb。
非易失性存储器NVM11至NVMmn中的每个可在存储器控制器810的控制下操作。例如,非易失性存储器装置NVM11可根据通过第一通道CH1提供的命令CMDa、地址ADDRa和数据DATAa对数据DATAa进行编程。
在图15中,存储器装置820通过m个通道与存储器控制器810通信,并且针对每个通道包括n个非易失性存储器装置。然而,通道的数量和连接到一个通道的非易失性存储器装置的数量可变化。
根据本发明构思的实施例,存储器***800可根据参照图1至图14的上述实施例来实现。例如,存储器控制器810可包括通道仲裁模块,并且可通过使用通道仲裁模块来支持仲裁连接到非易失性存储器820的多个通道CH1至CHm的功能。例如,存储器控制器810可检查非易失性存储器820的多个存储器装置NVM11至NVMmn的操作状态,并且可基于检查的操作状态和关于每个操作的功耗的信息来仲裁多个通道CH1至CHm。其详细描述可与以上参照图1至图14给出的基本相同,因此将被省略。
图16是根据发明构思的实施例的存储器***900的框图。参照图16,存储器***900可包括存储器装置920和存储器控制器910。存储器装置920可对应于图15的基于多个通道CH1至CHm中的一个通道与存储器控制器810通信的非易失性存储器NVM11至NVMmn中的一个。存储器控制器910可对应于图15的存储器控制器810。
存储器装置920可包括第一引脚P11至第八引脚P18、存储器I/F电路921、控制逻辑电路923和存储器单元阵列925。
存储器I/F电路921可通过第一引脚P11从存储器控制器910接收芯片使能信号nCE。存储器I/F电路921可根据芯片使能信号nCE通过第二引脚P12至第八引脚P18将信号发送到存储器控制器910或从存储器控制器910接收信号。例如,当芯片使能信号nCE处于使能状态(例如,低电平)时,存储器I/F 921可通过第二引脚P12至第八引脚P18向存储器控制器910发送信号或从存储器控制器910接收信号。
存储器I/F电路921可通过第二引脚P12至第四引脚P14从存储器控制器910接收命令锁存使能信号CLE、地址锁存使能信号ALE和写入使能信号nWE。存储器I/F电路921可通过第七引脚P17从存储器控制器910接收数据信号DQ,或将数据信号DQ发送到存储器控制器910。命令CMD、地址ADDR和数据DATA可通过数据信号DQ传送。例如,数据信号DQ可通过多条数据信号线传送。在这种情况下,第七引脚P17可包括与多个数据信号对应的多个引脚。
存储器I/F电路921可基于写入使能信号nWE的切换时序(toggle timing),从在命令锁存使能信号CLE的使能区间(例如,高电平状态)中接收的数据信号DQ获得命令CMD。存储器I/F电路921可基于写入使能信号nWE的切换时序,从在地址锁存使能信号ALE的使能区间(例如,高电平状态)中接收的数据信号DQ获得地址ADDR。
根据实施例,写入使能信号nWE在一段时间内维持静态(或恒定)状态(例如,高电平或低电平),然后在高电平和低电平之间切换。例如,写入使能信号nWE可在命令CMD或地址ADDR被发送的区间中切换。因此,存储器I/F 921可基于写入使能信号nWE的切换时序获得命令CMD或地址ADDR。
存储器I/F电路921可通过第五引脚P15从存储器控制器910接收读使能信号nRE。存储器I/F电路921可通过第六引脚P16从存储器控制器910接收数据选通信号DQS,或将数据选通信号DQS发送到存储器控制器910。
在输出存储器装置920的数据DATA的操作中,存储器I/F 921可在输出数据DATA之前通过第五引脚P15接收切换的读取使能信号nRE。存储器I/F电路921可生成基于读取使能信号nRE的切换而切换的数据选通信号DQS。例如,存储器I/F电路921可生成数据选通信号DQS,数据选通信号DQS基于读取使能信号nRE的切换开始时间点在预定延迟(例如,tDQSRE)之后开始切换。存储器I/F电路921可基于数据选通信号DQS的切换时序来发送包括数据DATA的数据信号DQ。因此,数据DATA可与数据选通信号DQS的切换时序对准并且被发送到存储器控制器910。
在输入存储器装置920的数据DATA的操作中,在包括数据DATA的数据信号DQ从存储器控制器910被接收时,存储器I/F电路921可从存储器控制器910接收切换的数据选通信号DQS以及数据DATA。存储器I/F电路921可基于数据选通信号DQS的切换时序从数据信号DQ获得数据DATA。例如,存储器I/F电路921可通过在数据选通信号DQS的上升沿和下降沿对数据信号DQ进行采样来获得数据DATA。
存储器I/F电路921可通过第八引脚P18将就绪/忙碌输出信号nR/B发送到存储器控制器910。存储器I/F电路921可通过就绪/忙碌输出信号nR/B将存储器装置920的状态信息发送到存储器控制器910。当存储器装置920处于忙碌状态时(即,当存储器装置920的内部操作正在执行时),存储器I/F电路921可将表示忙碌状态的就绪/忙碌输出信号nR/B发送到存储器控制器910。当存储器装置920处于就绪状态时(即,当存储器装置920的内部操作未执行或已完成时),存储器I/F电路921可将表示就绪状态的就绪/忙碌输出信号nR/B发送到存储器控制器910。例如,当存储器装置920响应于页读取命令而从存储器单元阵列925读取数据DATA时,存储器I/F电路921可将指示忙碌状态(例如,低电平)的就绪/忙碌输出信号nR/B发送到存储器控制器910。例如,当存储器装置920响应于编程命令将数据DATA编程到存储器单元阵列925时,存储器I/F电路921可将指示忙碌状态的就绪/忙碌输出信号nR/B发送到存储器控制器910。
控制逻辑电路923可控制存储器装置920的各种整体操作。控制逻辑电路923可从存储器I/F电路921接收获得的命令CMD/地址ADDR。控制逻辑电路923可根据接收的命令CMD/地址ADDR生成用于控制存储器装置920的其他组件的控制信号。例如,控制逻辑电路923可生成用于将数据DATA编程到存储器单元阵列925或从存储器单元阵列925读取数据DATA的各种控制信号。
存储单元阵列925可在控制逻辑电路923的控制下存储从存储器I/F电路921获得的数据DATA。存储单元阵列925可在控制逻辑电路923的控制下将存储的数据DATA输出到存储器I/F电路921。存储器控制器910可包括第一引脚P21至第八引脚P28和控制器I/F电路911。第一引脚P21至第八引脚P28可与存储器装置920的第一引脚P11至第八引脚P18对应。
控制器I/F电路911可通过第一引脚P21将芯片使能信号nCE发送到存储器控制器920。控制器I/F 911可通过第二引脚P22至第八引脚P28将信号发送到通过芯片使能信号nCE选择的存储器装置920或从存储器装置920接收信号。
控制器I/F电路911可分别通过第二引脚P22至第四引脚P24将命令锁存使能信号CLE、地址锁存使能信号ALE和写入使能信号nWE发送到存储器装置920。控制器I/F电路911可通过第七引脚P27将数据信号DQ发送到存储器装置920,或从存储器装置920接收数据信号DQ。
控制器I/F电路911可将包括命令CMD或地址ADDR的数据信号DQ连同切换的写入使能信号nWE一起发送到存储器装置920。控制器I/F电路911可在发送具有使能状态的命令锁存使能信号CLE的同时将包括命令CMD的数据信号DQ发送到存储器装置920,并且可在发送具有使能状态的地址锁存使能信号ALE的同时将包括地址ADDR的数据信号DQ发送到存储器装置920。
控制器I/F电路911可通过第五引脚P25将读取使能信号nRE发送到存储器装置920。控制器I/F电路911可通过第六引脚P26从存储器装置920接收数据选通信号DQS,或将数据选通信号DQS发送到存储器装置920。
在输出存储器装置920的数据DATA的操作中,控制器I/F电路911可生成切换的读取使能信号nRE,并且可将读取使能信号nRE发送到存储器装置920。例如,控制器I/F电路911可在输出数据DATA之前生成从静态(例如,高电平或低电平)改变为切换状态的读取使能信号nRE。因此,可在存储器装置920中生成基于读取使能信号nRE切换的数据选通信号DQS。控制器I/F电路911可从存储器装置920接收包括数据DATA的数据信号DQ以及切换的数据选通信号DQS。控制器I/F电路911可基于数据选通信号DQS的切换时序从数据信号DQ获得数据DATA。
在输入存储装置920的数据DATA的操作中,控制器I/F 911可生成切换的数据选通信号DQS。例如,控制器I/F电路911可在输出数据DATA之前生成从静态(例如,高电平或低电平)改变为切换状态的数据选通信号DQS。控制器I/F电路911可基于数据选通信号DQS的切换时序将包括数据DATA的数据信号DQ发送到存储器装置920。
控制器I/F电路911可通过第八引脚P28从存储器装置920接收就绪/忙碌输出信号nR/B。控制器I/F电路911可基于就绪/忙碌输出信号nR/B来确定存储器装置920的状态信息。
图17是根据发明构思的实施例的存储器装置600的框图。参照图17,存储器装置600可包括控制逻辑电路620、存储器单元阵列630、页缓冲器单元640、电压生成器650和行解码器660。尽管在图17中未示出,但是存储器装置600还可包括图16的存储器I/F电路921,并且还可包括列逻辑、预解码器、温度传感器、命令解码器、地址解码器等。根据发明构思的实施例,存储器装置600可对应于以上参照图1至图16描述的存储器装置。
控制逻辑电路620可控制存储器装置600的各种整体操作。控制逻辑电路620可响应于来自存储器I/F电路921的命令CMD和/或地址ADDR而输出各种控制信号。例如,控制逻辑电路620可输出电压控制信号CTRL_vol、行地址X-ADDR及列地址Y-ADDR。
存储器单元阵列630可包括多个存储器块BLK1至BLKz(其中,z是正整数),并且多个存储器块BLK1至BLKz中的每个可包括多个存储器单元。存储器单元阵列630可经由位线BL连接到页缓冲器单元640,并且可经由字线WL、串选择线SSL和地选择线GSL连接到行解码器660。
根据实施例,存储器单元阵列630可包括三维(3D)存储器单元阵列,并且3D存储器单元阵列可包括多个NAND串。每个NAND串可包括分别连接到垂直堆叠在基底上的字线的存储器单元。根据实施例,存储器单元阵列630可包括二维(2D)存储器单元阵列,并且2D存储器单元阵列可包括在列方向和行方向上布置的多个NAND串。
页缓冲器单元640可包括多个页缓冲器PB1至PBn(其中,n是等于或大于3的整数),并且多个页缓冲器PB1至PBn可分别经由多条位线BL连接到存储器单元。页缓冲器单元640可响应于列地址Y-ADDR而从多条位线BL选择至少一条位线。页缓冲器电路640可根据操作模式作为写入驱动器或感测放大器操作。例如,在编程操作期间,页缓冲器电路640可将与将被编程的数据对应的位线电压施加到选择的位线。在读取操作期间,页缓冲器电路640可感测选择的位线的电流或电压以感测存储在存储器单元中的数据。在可选的实施例中,页缓冲器单元640可包括更少的页缓冲器。
电压生成器650可基于电压控制信号CTRL_vol生成用于执行编程、读取和擦除操作的各种类型的电压。例如,电压生成器650可生成字线电压VWL(例如,编程电压、读取电压、编程验证电压和擦除电压)。
行解码器660可响应于行地址X-ADDR从多条字线WL选择一条字线,并且可以从多条串选择线SSL选择一条串选择线。例如,在编程操作期间,行解码器660可将编程电压和编程验证电压施加到选择的字线,并且在读取操作期间,行解码器660可将读取电压施加到选择的字线。
图18是用于说明根据发明构思的实施例的3D V-NAND结构的视图。当使用3D V-NAND型闪存来实现以上参照图1至图17描述的存储器装置时,包括在存储器装置中的多个存储器块中的每个可表示为如图18中所示的等效电路。
图18的存储器块BLKi表示形成在基底上以具有3D结构的3D存储器块。例如,包括在存储器块BLKi中的多个存储器NAND串可沿垂直于基底的方向形成(其中,i是正整数)。
参照图18,存储器块BLKi可包括连接在位线BL1、BL2和BL3与共源极线CSL之间的多个存储器NAND串NS11至NS33。多个存储器NAND串NS11至NS33中的每个可包括串选择晶体管SST、多个存储器单元MC1、MC2至MC8和地选择晶体管GST。尽管多个存储器NAND串NS11至NS33中的每个包括图18中的八个存储器单元MC1、MC2至MC8,但实施例不限于此。
串选择晶体管SST可连接到串选择线SSL1、SSL2和SSL3中的对应一条。多个存储器单元MC1、MC2至MC8可分别连接到栅极线。栅极线可对应于字线,并且栅极线中的一些可对应于虚设字线。地选择晶体管GST可连接到地选择线GSL1、GSL2和GSL3中的对应的地选择线。串选择晶体管SST可连接到位线BL1、BL2和BL3中的对应的位线,并且地选择晶体管GST可连接到共源极线CSL。
相同水平上的多条字线(例如,WL1)可共同彼此连接,并且地选择线GSL1、GSL2和GSL3以及串选择线SSL1、SSL2和SSL3可彼此分离。虽然在图18中,存储块BLKi连接到八条栅极线以及三条位线BL1、BL2和BL3,但是实施例不限于此。
图19是用于解释根据发明构思的实施例的BVNAND结构的视图。参照图19,存储器装置1200可以是芯片到芯片(C2C)结构。C2C结构可表示在第一晶片上制造包括单元区域CELL的上部芯片,在第二晶片上制造包括***电路区域PERI的下部芯片,然后通过键合(bonding)将上部芯片连接到下部芯片。例如,键合可表示将形成在上部芯片的最顶部金属层上的键合金属电连接到形成在下部芯片的最顶部金属层上的键合金属的方法。例如,当键合金属由铜(Cu)形成时,键合可以是Cu-Cu键合,并且键合金属可由铝或钨形成。以上参照图1至图17描述的存储器装置中的至少一者可用图19的C2C结构实施。
存储装置1200的***电路区域PERI和单元区域CELL中的每个可包括外部垫(pad,又称“焊盘”)键合区域PA、字线键合区域WLBA和位线键合区域BLBA。
***电路区域PERI可包括第一基底1210、层间绝缘层1215、形成在第一基底1210上的多个电路器件1220a、1220b和1220c、分别连接到多个电路器件1220a、1220b和1220c的第一金属层1230a、1230b和1230c、以及形成在第一金属层1230a、1230b和1230c上的第二金属层1240a、1240b和1240c。根据实施例,第一金属层1230a、1230b和1230c可由具有相对高的电阻的钨形成,并且第二金属层1240a、1240b和1240c可由具有相对低的电阻的铜形成。
在本说明书中,仅示出和描述了第一金属层1230a、1230b和1230c以及第二金属层1240a、1240b和1240c。然而,实施例不限于此,并且还可在第二金属层1240a、1240b和1240c上形成一个或多个金属层。在第二金属层1240a、1240b和1240c上方形成的一个或多个金属层中的至少一些可由具有比用于形成第二金属层1240a、1240b和1240c的铝低的电阻的铜等形成。
层间绝缘层1215可设置在第一基底1210上以覆盖多个电路器件1220a、1220b和1220c、第一金属层1230a、1230b和1230c以及第二金属层1240a、1240b和1240c,并且可包括绝缘材料(诸如,氧化硅或氮化硅)。
下键合金属1271b和1272b可形成在字线键合区域WLBA的第二金属层1240b上。在字线键合区域WLBA中,***电路区域PERI的下键合金属1271b和1272b可经由键合电连接到单元区域CELL的上键合金属1371b和1372b,并且下键合金属1271b和1272b以及上键合金属1371b和1372b可由铝、铜、钨等形成。
单元区域CELL可提供至少一个存储器块。单元区域CELL可包括第二基底1310和共源极线1320。在第二基底1310上,多条字线1331至1338(1330)可在垂直于第二基底1310的上表面的方向(Z轴方向)上堆叠。串选择线和地选择线可分别布置在多条字线1330的上方和下方,并且多条字线1330可布置在串选择线和地选择线之间。
在位线键合区域BLBA中,沟道结构CH可在垂直于第二基底1310的上表面的方向上延伸,并且可贯穿字线1330、串选择线和地选择线。沟道结构CH可包括数据存储层、沟道层和掩埋绝缘层,并且沟道层可电连接到第一金属层1350c和第二金属层1360c。例如,第一金属层1350c可以是位线触点,并且第二金属层1360c可以是位线1360c。根据实施例,位线1360c可在平行于第二基底1310的上表面的第一方向(Y轴方向)上延伸。
根据图19的实施例,布置有沟道结构CH、位线1360c等的区域可被定义为位线键合区域BLBA。位线1360c可电连接到电路器件1220c,电路器件1220c在位线键合区域BLBA中的***电路区域PERI中提供页缓冲器1393。例如,位线1360c可连接到***电路区域PERI中的上键合金属1371c和1372c,并且上键合金属1371c和1372c可连接到下键合金属1271c和1272c,下键合金属1271c和1272c连接到页缓冲器1393的电路器件1220c。
在字线键合区域WLBA中,字线1330可各自在平行于第二基底1310的上表面的第二方向(X轴方向)上延伸,并且可连接到多个单元接触插塞1341至1347(1340)。字线1330可连接到垫中的单元接触插塞1340,其中,字线1330中的至少一些在第二方向上以不同的长度延伸和设置。第一金属层1350b和第二金属层1360b可顺序地连接到与字线1330连接的单元接触插塞1340的上端。在字线键合区域WLBA中,单元接触插塞1340可通过单元区域CELL的上键合金属1371b和1372b以及***电路区域PERI的下键合金属1271b和1272b连接到***电路区域PERI。
单元接触插塞1340可电连接到电路器件1220b,电路器件1220b在***电路区域PERI中提供行解码器1394。根据实施例,提供行解码器1394的电路器件1220b的操作电压可与提供页缓冲器1393的电路器件1220c的操作电压不同。例如,提供页缓冲器1393的电路器件1220c的操作电压可大于提供行解码器1394的电路器件1220b的操作电压。
在外部垫键合区域PA中,可设置共源极线接触插塞1380。共源极线接触插塞1380可由导电材料(诸如,金属、金属化合物或多晶硅)形成,并且可电连接到共源极线1320。第一金属层1350a和第二金属层1360a可顺序堆叠在共源极线接触插塞1380上方。例如,布置有共源极线接触插塞1380、第一金属层1350a和第二金属层1360a的区域可被定义为外部垫键合区域PA。
在外部垫键合区域PA中,可布置第一I/O垫1205和第二I/O垫1305。参照图19,覆盖第一基底1210的下表面的下绝缘层1201可形成在第一基底1210下方,并且第一I/O垫1205可形成在下绝缘层1201上。第一I/O垫1205可通过第一I/O接触插塞1203连接到布置在***电路区域PERI中的多个电路器件1220a、1220b和1220c中的至少一个,并且可通过下绝缘层1201与第一基底1210分离。横向表面绝缘层可布置在第一I/O接触插塞1203和第一基底1210之间,并且可将第一I/O接触插塞1203与第一基底1210电分离。
参照图19,覆盖第二基底1310的上表面的上绝缘层1301可形成在第二基底1310上方,并且第二I/O垫1305可布置在上绝缘层1301上。第二I/O垫1305可通过第二I/O接触插塞1303连接到布置在***电路区域PERI中的多个电路器件1220a、1220b和1220c中的至少一个。例如,参照图19,下键合金属1271a和1272a可设置在经由第一金属层1230a连接到电路器件1220a的第二金属层1240a上,与第二输入输出垫1305连接的第二输入输出接触插塞1303可经由设置在单元区CELL的最上面的金属层中的上部金属图案电连接到下键合金属1271a和1272a,并由此连接到例如电路器件1220a。
根据实施例,第二基底1310、共源极线1320等未布置在布置有第二I/O接触插塞1303的区域中。在一个实施例中,第二I/O垫1305在第三方向(Z轴方向)上不与字线1330重叠。参照图19,第二I/O接触插塞1303可在平行于第二基底1310的上表面的方向上与第二基底1310分离,并且可通过贯穿单元区域CELL的层间绝缘层1315而连接到第二I/O垫1305。
根据实施例,可选择性地形成第一I/O垫1205和第二I/O垫1305。例如,存储器装置1200可仅包括布置在第一基底1201上方的第一I/O垫1205,或者可仅包括布置在第二基底1301上方的第二I/O垫1305。可选择地,存储器装置1200可包括第一I/O垫1205和第二I/O垫1305两者。
在包括在单元区域CELL和***电路区域PERI中的每个中的外部垫键合区域PA和位线键合区域BLBA中,最顶部金属层的金属图案可作为虚设图案存在,或者最顶部金属层可以是空的。
在外部垫键合区域PA中,存储器装置1200可在***电路区域PERI的最顶部金属层上形成与形成在单元区域CELL的最顶部金属层上的上部金属图案1372a对应的下部金属图案1273a,下部金属图案1273a具有与单元区域CELL的上部金属图案1372a相同的形状。在一个实施例中,形成在***电路区域PERI的最顶部金属层中的下部金属图案1273a不连接到***电路区域PERI中的单独的触点。类似地,在外部垫键合区域PA中,存储器装置1200可在单元区域CELL的最顶部金属层上形成与形成在***电路区域PERI的最顶部金属层上的下部金属图案对应的上部金属图案,上部金属图案具有与***电路区域PERI的下部金属图案相同的形状。在外部垫键合区域PA中,接触件1371a可设置在上部金属图案1372a上,上部金属图案1372a可经由接触件1371a、第二金属层1360a的部分和第一金属层1350a的部分电连接到共源极线接触插塞1380。
下键合金属1271b和1272b可形成在字线键合区域WLBA的第二金属层1240b上。在字线键合区域WLBA中,***电路区域PERI的下键合金属1271b和1272b可经由键合电连接到单元区域CELL的上键合金属1371b和1372b。
在位线键合区域BLBA中,存储器装置1200可在单元区域CELL的最顶部金属层上形成与形成在***电路区域PERI的最顶部金属层上的下部金属图案1252对应的上部金属图案1392,上部金属图案1392具有与***电路区域PERI的下部金属图案1252相同的形状。在一个示例性实施例中,在单元区域CELL的最顶部金属层上形成的上部金属图案1392上不形成触点。在位线键合区域BLBA中,接触件1251可设置在下部金属图案1252上,下部金属图案1252可通过接触件1251连接到***电路区PERI的第二金属层1240c的至少一部分。
图20是根据发明构思的实施例的应用了存储装置的***2000的框图。图20的***2000可以是例如移动***(诸如,移动电话、智能电话、平板个人计算机(PC)、可穿戴设备、健康护理设备或物联网(IOT)设备)。然而,图20的***2000不限于移动***,而是可以是PC、膝上型计算机、服务器、媒体播放器或汽车装置(诸如,导航装置)。
参照图20,***2000可包括主处理器2100、存储器2200a和2200b以及存储装置2300a和2300b,并且还可包括图像捕获装置(或光学输入装置)2410、用户输入装置2420、传感器2430、通信装置2440、显示器2450、扬声器2460、电源装置2470和连接接口2480中的一个或多个。
主处理器2100可控制***2000的整体操作,更具体地,可控制***2000的其他组件的操作。主处理器2100可使用通用处理器、专用处理器、应用处理器(AP)等来实现。
主处理器2100可包括一个或多个CPU核2110,并且还可包括用于控制存储器2200a和2200b和/或存储装置2300a和2300b的控制器2120。根据实施例,主处理器2100还可包括作为用于执行高速数据操作(诸如,人工智能(AI)数据操作)的专用电路的加速器2130。加速器2130可包括图形处理器(GPU)、神经处理器(NPU)和/或数据处理器(DPU),并且可使用物理上独立于主处理器2100的其他组件的单独的芯片来实现。
存储器2200a和2200b可用作***2000的主存储器装置,并且可均包括非易失性存储器(诸如,SRAM和/或DRAM),但是也可包括诸如闪存、PRAM和/或RRAM的非易失性存储器。存储器2200a和2200b可在与主处理器2100相同的封装内实现。
存储装置2300a和2300b可用作不管是否供电均存储数据的非易失性存储装置。存储装置2300a和2300b可分别包括存储控制器2310a和2310b,以及分别在存储控制器2310a和2310b的控制下存储数据的非易失性存储器(NVM)存储装置(或闪存)2320a和2320b。
例如,存储控制器2310a和2310b中的每个可对应于以上参照图1至图19描述的存储器控制器,并且NVM存储装置2320a和2320b中的每个可对应于以上参照图1至图19描述的存储器装置。例如,存储控制器2310a和2310b中的每个可包括通道仲裁模块,并且可通过使用通道仲裁模块来支持仲裁连接到NVM存储装置2320a和2320b中的每个的多个通道的功能。其详细描述可与以上参照图1至图19给出的详细描述基本相同,因此将被省略。
存储装置2300a和2300b可包括在***2000中,同时与主处理器2100物理分离,并且可在与主处理器2100相同的封装内实现。存储装置2300a和2300b可以是诸如存储卡的类型,从而可通过诸如稍后将描述的连接接口2480的接口与***2000的其他组件可拆卸地结合。存储装置2300a和2300b中的每个可以是应用标准规则的装置(诸如,通用闪存(UFS)),但是实施例不限于此。
图像捕获装置2410可捕获静止图像或运动图片,并且可以是相机、摄像机和/或网络摄像头。
用户输入装置2420可接收由***2000的用户输入的各种类型的数据,并且可以是触摸板、小键盘、键盘、鼠标和/或麦克风。
传感器2430可感测可从***2000的外部获得的各种类型的物理量,并将感测到的物理量转换成电信号。传感器2430可以是温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪。
通信装置2440可根据各种通信协议向***2000外部的其他装置发送信号和从***2000外部的其他装置接收信号。通信装置2440可通过包括天线、收发器和/或调制解调器来实现。
显示器2450和扬声器2460可用作分别向***2000的用户输出视觉信息和听觉信息的输出装置。
电源装置2470可适当地转换从内置在***2000中的电池(未示出)和/或外部电源供应的电力,并将转换的电力供应给***2000的每个组件。
连接接口2480可提供***2000与连接到***2000并且能够与***2000交换数据的外部装置之间的连接。连接接口2480可被实现为各种接口类型(诸如,高级技术附件(ATA)、串行ATA(SATA)、外部SATA(e-SATA)、小型计算机小型接口(SCSI)、串行附接SCSI(SAS)、***组件互连(PCI)、PCI快速(PCIe)、NVM快速(NVMe)、IEEE 1394、通用串行总线(USB)、安全数字(SD)卡、多媒体卡(MMC)、嵌入式多媒体卡(eMMC)、通用闪存(UFS)、嵌入式通用闪存(eUFS)和紧凑型闪存(CF)卡接口)。
图21是用于解释根据发明构思的实施例的UFS***3000的框图。UFS***3000可以是遵循由电子设备工程联合委员会(JEDEC)发布的UFS标准的***,因此可包括UFS主机3100、UFS装置3200和UFS I/F 3300。以上给出的图20的***2000的描述适用于图21的UFS***3000,而不与图21的以下描述相冲突。
参照图21,UFS主机3100和UFS装置3200可经由UFS I/F 3300彼此连接。当图20的主处理器2100是AP时,UFS主机3100可被实现为AP的一部分。UFS主机控制器3110和主机存储器3140可分别对应于图20的主处理器2100的控制器2120以及图20的存储器2200a和2200b。UFS装置3200可对应于图20的存储装置2300a和2300b,并且UFS装置控制器3210和NVM存储装置3220可分别对应于图20的存储控制器2310a和2310b以及NVM存储装置2320a和2320b。
UFS主机3100可包括UFS主机控制器3110、应用3120、UFS驱动器3130、主机存储器3140和UFS互连(UIC)层3150。UFS装置3200可包括UFS装置控制器3210、NVM存储装置3220、存储装置I/F 3230、装置存储器3240、UIC层3250和调节器3260。UFS装置控制器3210和NVM存储装置3220可经由存储装置I/F 3230彼此连接。存储装置I/F 3230可被实现为符合诸如toggle或ONFI的标准协议。
应用3120可表示期望与UFS装置3200进行通信以便使用UFS装置3200的功能的程序。应用3120可向UFS驱动器3130发送输入-输出请求(IOR),以完成关于UFS装置3200的输入和输出。IOR可表示对读取数据的请求、对写入数据的请求和/或对丢弃数据的请求,但不限于此。
UFS驱动器3130可通过UFS-HCI(主机控制器接口)来管理UFS主机控制器3110。UFS驱动器3130可将由应用3120生成的IOR转换成UFS标准中定义的UFS命令,并且可将UFS命令发送到UFS主机控制器3110。一个IOR可被转换成多个UFS命令。UFS命令可基本上是由SCSI标准定义的命令,但也可以是UFS标准专用命令。
UFS主机控制器3110可通过UIC层3150和UFS I/F 3300向UFS装置3200的UIC层3250发送由UFS驱动器3130获得的UFS命令。在这个处理中,UFS主机控制器3110的UFS主机寄存器3111可充当命令队列(CQ)。
UFS主机3100侧的UIC层3150可包括MIPI M-PHY 3151和MIPI UniPro3152,并且UFS装置3200侧的UIC层3250可包括MIPI M-PHY 3251和MIPI UniPro 3252。
UFS I/F 3300可包括用于传输参考时钟REF_CLK的线、用于传输UFS装置3200的硬件复位信号RESET_n的线、用于传输一对差分输入信号DIN_T和DIN_C的一对线、以及用于传输一对差分输出信号DOUT_T和DOUT_C的一对线。
UFS装置3200可通过使用锁相环(PLL)等从自UFS主机3100接收的参考时钟生成各种频率的时钟。UFS主机3100可通过参考时钟REF_CLK的频率值来设置UFS主机3100与UFS装置3200之间的数据速率的值。换句话说,数据速率的值可取决于参考时钟REF_CLK的频率值。
UFS I/F 3300可支持多个通路(lane),并且该多个通路中的每个可被实现为差分对。例如,在图21中,用于传输两个差分输入信号DIN_T和DIN_C的一对线可构成接收通路,并且用于传输两个差分输出信号DOUT_T和DOUT_C的一对线可构成发送通路。尽管在图21中示出了一个发送通路和一个接收通路,但是发送通路的数量和接收通路的数量可以变化。
接收通路和发送通路可以以串行通信方法传输数据,并且其中接收通路和发送通路彼此分离的结构能够实现UFS主机3100与UFS装置3200之间的全双工类型通信。换句话说,UFS装置3200可在通过接收通路从UFS主机3100接收数据的同时,通过发送通路将数据发送到UFS主机3100。控制数据(诸如,从UFS主机3100至UFS装置3200的命令)以及UFS主机3100期望存储在UFS装置3200的NVM存储装置3220中或从NVM存储装置3220读取的用户数据可被发送到相同的通路。
UFS装置3200的UFS装置控制器3210可控制UFS装置3200的整体操作。UFS装置控制器3210可通过作为逻辑数据存储单元的逻辑单元(LU)3211来管理NVM存储装置3220。LU3211的数量可以是但不限于八个。UFS装置控制器3210可包括闪存转换层。
当来自UFS主机3100的命令通过UIC层3250被输入到UFS装置3200时,UFS装置控制器3210可根据输入的命令来执行操作,并且当操作完成时,UFS装置控制器3210可向UFS主机3100发送完成响应。
例如,当UFS主机3100期望将用户数据存储在UFS装置3200中时,UFS主机3100可向UFS装置3200发送数据存储命令。当UFS主机3100从UFS装置3200接收到指示UFS装置3200准备好传送用户数据的响应时,UFS主机3100可向UFS装置3200发送用户数据。UFS装置控制器3210可将接收的用户数据临时存储在装置存储器3240中,并且可基于FTL的地址映射信息将临时存储在装置存储器3240中的用户数据存储在NVM存储装置3220的选择的位置中。
作为另一示例,当UFS主机3100意图从UFS装置3200读取用户数据时,UFS主机3100可向UFS装置3200发送数据读取命令。UFS装置控制器3210可基于数据读取命令从NVM存储装置3220读取用户数据,并且可将读取的用户数据临时存储在装置存储器3240中。在该读取过程中,UFS装置控制器3210可通过使用嵌入的ECC电路(未示出)来检测并校正读取的用户数据的错误。UFS装置控制器3210可将临时存储在装置存储器3240中的用户数据发送到UFS主机3100。UFS装置控制器3210还可包括AES电路(未示出)。
UFS主机3100可将将被发送到UFS装置3200的命令顺序地存储在能够用作命令队列的UFS主机寄存器3111中,并且将这些命令顺序地发送到UFS装置3200。此时,即使在先前发送的命令仍在被UFS装置3200处理时(即,即使在被通知先前发送的命令已被UFS装置3200完全处理之前),UFS主机3100也可向UFS装置3200发送在命令队列上等待的命令,并且相应地,UFS装置3200即使在处理先前发送的命令的同时也可从UFS主机3100接收下一命令。
诸如VCC、VCCQ1或VCCQ2的电源电压可被输入到UFS装置3200。VCC是UFS装置3200的主电源电压,VCCQ1是用于供应低范围的电压的电源电压并且主要用于UFS装置控制器321,并且VCCQ2是用于供应低于VCC且高于VCCQ1的范围的电压的电源电压并且主要用于I/O接口(诸如,MIPI M-PHY 3251)。可通过调节器3260将电源电压供应给UFS装置3200的组件。调节器3260可被实现为分别连接到上述电源电压中的不同电压的一组单位调节器。
虽然已经参照发明构思的实施例具体地示出和描述了发明构思,但是将理解,在不脱离公开的精神和范围的情况下,可在其中进行形式和细节上的各种改变。

Claims (20)

1.一种存储器***的操作方法,所述存储器***包括包含多个存储器芯片的存储器装置,所述操作方法包括:
基于与所述多个存储器芯片之中的存储器芯片的多个操作状态中的每个操作状态的功耗有关的信息,针对所述多个操作状态中的每个操作状态和/或所述多个操作状态的每个组合,设置指示允许并行操作的存储器芯片的数量的参数;
获得与所述多个存储器芯片中的每个存储器芯片的操作状态有关的信息;以及
基于所述参数和与所述多个存储器芯片中的每个存储器芯片的操作状态有关的信息,对通过与所述多个存储器芯片对应的多个通道的数据存取进行调度。
2.根据权利要求1所述的操作方法,其中,设置参数的步骤包括:通过使用与所述多个存储器芯片之中的存储器芯片的所述多个操作状态中的每个操作状态的功耗有关的信息,针对所述多个操作状态中的每个操作状态和/或所述多个操作状态的每个组合,将允许并行操作的存储器芯片的最大数量设置为所述参数,使得总功率消耗不超过预设功率量。
3.根据权利要求1或2所述的操作方法,其中,设置参数的步骤包括:针对所述多个操作状态中的每个操作状态或所述多个操作状态的每个组合,设置不同的参数。
4.根据权利要求3所述的操作方法,其中,对通过所述多个通道的数据存取进行调度的步骤包括:
基于与所述多个存储器芯片中的每个存储器芯片的操作状态有关的信息,检查与所述多个存储器芯片的操作对应的参数的值;以及
基于检查出的值,对通过所述多个通道的数据存取进行调度。
5.根据权利要求1或2所述的操作方法,其中,所述多个操作状态包括编程操作、读取操作、擦除操作和空闲状态中的至少一个。
6.根据权利要求1或2所述的操作方法,其中,设置参数的步骤包括设置参数表,参数表包括指示在多个温度范围中的每个温度范围内针对所述多个操作状态中的每个操作状态和/或所述多个操作状态的每个组合允许并行操作的存储器芯片的数量的参数,参数表针对所述多个温度范围中的每个而设置。
7.根据权利要求6所述的操作方法,其中,对通过所述多个通道的数据存取进行调度的步骤包括:
感测所述存储器***的温度;
检查与感测的温度对应的参数表;以及
基于检查出的参数表和与所述多个存储器芯片的各自的操作状态有关的信息,对通过所述多个通道的数据存取进行调度。
8.根据权利要求1或2所述的操作方法,其中,设置参数的步骤包括:
从主机接收规范信息;以及
基于接收的规范信息和与所述多个操作状态中的每个操作状态的功耗有关的信息来设置所述参数。
9.一种存储器***,包括:
存储器装置,包括多个存储器芯片;
存储器控制器,被配置为控制所述存储器装置的操作;以及
多个通道,被配置为将所述多个存储器芯片中的每个存储器芯片连接到存储器控制器,
其中,存储器控制器被配置为:检查所述多个存储器芯片中的每个存储器芯片的操作状态,并且通过使用参数以及检查出的所述多个存储器芯片中的每个存储器芯片的操作状态,对通过所述多个通道的数据存取进行调度,所述参数基于与所述多个存储器芯片之中的存储器芯片的多个操作状态中的每个操作状态的功耗有关的信息被设置,并且指示针对所述多个操作状态中的每个操作状态和/或所述多个操作状态的每个组合允许并行操作的存储器芯片的数量。
10.根据权利要求9所述的存储器***,其中,存储器控制器被配置为:通过使用所述参数和检查出的所述多个存储器芯片中的每个存储器芯片的操作状态,确定将被批准执行数据发送或接收的通道的数量,并且批准确定的数量的通道的发送或接收,使得总功耗不超过预设功率量。
11.根据权利要求10所述的存储器***,其中,存储器控制器被配置为:根据存储器***的作业的顺序确定所述多个通道之中的与参数一样多的数量的通道。
12.根据权利要求11所述的存储器***,其中,存储器控制器被配置为:延迟与未被批准执行发送或接收的通道之一对应的作业。
13.根据权利要求9所述的存储器***,其中,存储器控制器被配置为:当从主机接收到新的请求或所述多个存储器芯片中的至少一个存储器芯片的操作已结束时,重新确定将被批准执行发送或接收的通道。
14.根据权利要求9至权利要求13中的任意一项所述的存储器***,还包括:温度传感器,被配置为感测所述存储器***的温度,
其中,所述参数包括多个子参数,所述多个子参数定义在多个温度范围中的每个温度范围内针对所述多个操作状态中的每个操作状态和/或所述多个操作状态的每个组合允许并行操作的存储器芯片的数量,并且
存储器控制器被配置为:检查与感测的温度对应的子参数,并且基于检查出的子参数和检查出的所述多个存储器芯片中的每个存储器芯片的操作状态,对所述多个通道的数据发送或接收进行调度。
15.一种用于控制包括多个存储器芯片的存储器装置的操作的存储器控制器,所述存储器控制器包括:
存储器接口,被配置为:经由多个通道发送或接收数据,所述多个通道将所述多个存储器芯片中的每个存储器芯片连接到存储器控制器;以及
通道仲裁模块,被配置为:当已经从存储器接口接收到经由第一通道的数据发送或接收的批准请求时,获得与所述多个存储器芯片中的每个存储器芯片的操作状态有关的信息,基于参数和与所述多个存储器芯片中的每个存储器芯片的操作状态有关的信息,确定是否批准第一通道,并且将确定的结果提供给存储器接口,所述参数基于存储器芯片的多个操作状态中的每个操作状态的功耗来设置,并且指示针对所述多个操作状态中的每个操作状态和/或所述多个操作状态的每个组合允许并行操作的存储器芯片的数量。
16.根据权利要求15所述的存储器控制器,其中,通道仲裁模块被配置为:
将所述参数同与所述多个存储器芯片中的每个存储器芯片的操作状态有关的信息进行比较,并且确定当前正在操作的存储器芯片的数量是否已经达到与所述参数对应的存储器芯片的数量,
在当前正在操作的存储器芯片的数量已达到与所述参数对应的存储器芯片的数量时,确定不批准第一通道,并且
在当前正在操作的存储器芯片的数量未达到与所述参数对应的存储器芯片的数量时,确定批准第一通道。
17.根据权利要求15所述的存储器控制器,其中,通道仲裁模块包括:状态检查器,被配置为检查所述多个存储器芯片中的每个存储器芯片的操作状态,并且
状态检查器被配置为:从存储器接口接收与所述多个通道对应的命令有关的信息,并且检查所述多个存储器芯片中的每个存储器芯片的操作状态。
18.根据权利要求16所述的存储器控制器,其中,通道仲裁模块包括:作业调度器,被配置为管理所述多个存储器芯片的作业调度,并且
当作业调度器从存储器接口接收到新的批准请求、或者接收到与所述多个通道之中的第二通道所对应的存储器芯片的操作的结束有关的信息时,作业调度器更新作业调度。
19.根据权利要求18所述的存储器控制器,其中,通道仲裁模块还被配置为:当作业调度被更新时,根据更新的作业调度中的顺序来检查与所述参数对应的通道的数量,并且根据第一通道是否包括在检查出的通道中来确定是否批准第一通道。
20.根据权利要求15所述的存储器控制器,其中,存储器接口被配置为:
当第一通道被批准时,经由第一通道向所述多个存储器芯片之中的与第一通道对应的第一存储器芯片发送数据或从第一存储器芯片接收数据,
当第一通道未被批准时,延迟经由第一通道向第一存储器芯片发送数据或从第一存储器芯片接收数据。
CN202011238027.6A 2019-11-18 2020-11-09 存储器控制器、存储器***和存储器***的操作方法 Pending CN112820337A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0148089 2019-11-18
KR1020190148089A KR20210060253A (ko) 2019-11-18 2019-11-18 메모리 컨트롤러, 메모리 시스템 및 이의 동작 방법

Publications (1)

Publication Number Publication Date
CN112820337A true CN112820337A (zh) 2021-05-18

Family

ID=75853088

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011238027.6A Pending CN112820337A (zh) 2019-11-18 2020-11-09 存储器控制器、存储器***和存储器***的操作方法

Country Status (3)

Country Link
US (2) US11531630B2 (zh)
KR (1) KR20210060253A (zh)
CN (1) CN112820337A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023072048A1 (zh) * 2021-10-27 2023-05-04 华为技术有限公司 网络存储方法、存储***、数据处理单元及计算机***

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11507310B2 (en) 2019-09-02 2022-11-22 SK Hynix Inc. Memory controller and operating method thereof
KR20210060253A (ko) 2019-11-18 2021-05-26 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 이의 동작 방법

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546549A (en) 1994-06-01 1996-08-13 International Business Machines Corporation Multi-path channel (MPC) interface with user transparent, unbalanced, dynamically alterable computer input/output channels
US6732323B1 (en) 2000-10-12 2004-05-04 3Com Corporation Method of selecting initialization parameters for multi-channel data communication with forward error correction
JP4694040B2 (ja) * 2001-05-29 2011-06-01 ルネサスエレクトロニクス株式会社 半導体記憶装置
US6857055B2 (en) * 2002-08-15 2005-02-15 Micron Technology Inc. Programmable embedded DRAM current monitor
SE0400998D0 (sv) 2004-04-16 2004-04-16 Cooding Technologies Sweden Ab Method for representing multi-channel audio signals
US8190425B2 (en) 2006-01-20 2012-05-29 Microsoft Corporation Complex cross-correlation parameters for multi-channel audio
KR101005997B1 (ko) * 2009-01-29 2011-01-05 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
US9842068B2 (en) 2010-04-14 2017-12-12 Qualcomm Incorporated Methods of bus arbitration for low power memory access
US8904115B2 (en) 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
US8533403B1 (en) 2010-09-30 2013-09-10 Apple Inc. Arbitration unit for memory system
US9141568B2 (en) 2011-08-25 2015-09-22 Apple Inc. Proportional memory operation throttling
JP5961980B2 (ja) 2011-11-19 2016-08-03 ヤマハ株式会社 音響信号処理装置
US9223373B2 (en) 2012-03-21 2015-12-29 Hgst Technologies Santa Ana, Inc. Power arbitration for storage devices
SI2866354T1 (sl) 2013-10-25 2019-11-29 Vito Nv Vlaamse Instelling Voor Tech Onderzoek Nv Postopek in sistem za zagotavljanje pulzirane moči in podatkov na vodilu
FR3030774B1 (fr) 2014-12-19 2017-01-20 Thales Sa Procede de determination de parametres d'un filtre de compression et radar multivoies associe
US9711232B2 (en) 2015-09-22 2017-07-18 Samsung Electronics Co., Ltd. Dynamic non-volatile memory operation scheduling for controlling power consumption of solid-state drives
US10684794B2 (en) 2017-05-18 2020-06-16 Sandisk Technologies Llc Distributed power management for non-volatile memory controllers
US10372373B1 (en) * 2018-01-29 2019-08-06 Western Digital Technologies, Inc. Adaptive power balancing for memory device operations
JP7013294B2 (ja) * 2018-03-19 2022-01-31 キオクシア株式会社 メモリシステム
US11687277B2 (en) * 2018-12-31 2023-06-27 Micron Technology, Inc. Arbitration techniques for managed memory
KR20210060253A (ko) 2019-11-18 2021-05-26 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 이의 동작 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023072048A1 (zh) * 2021-10-27 2023-05-04 华为技术有限公司 网络存储方法、存储***、数据处理单元及计算机***

Also Published As

Publication number Publication date
US11531630B2 (en) 2022-12-20
US20230084601A1 (en) 2023-03-16
US20210149828A1 (en) 2021-05-20
US12013797B2 (en) 2024-06-18
KR20210060253A (ko) 2021-05-26

Similar Documents

Publication Publication Date Title
US11561912B2 (en) Host controller interface using multiple circular queue, and operating method thereof
US12013797B2 (en) Memory controller, memory system and operating method of the memory system using a channel arbitration circuit
KR20190090635A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20130305008A1 (en) Memory operation timing control method and memory system using the same
US11698855B2 (en) Method, memory controller and storage device to perform garbage collection based on fragmentation ratio of blocks
KR20220069543A (ko) 스토리지 장치, 스토리지 컨트롤러 및 이를 포함하는 스토리지 시스템
KR20190019543A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11593031B2 (en) Operating method of host device and storage device using credit
US11853219B2 (en) Storage controller having data prefetching control function, operating method of storage controller, and operating method of storage device
KR20190130831A (ko) 컨트롤러 및 이를 포함하는 메모리 시스템
CN109426453B (zh) 数据存储装置及其操作方法
US11901321B2 (en) Three-dimensional (3D) storage device using wafer-to-wafer bonding
KR20210068734A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20220197510A1 (en) Storage device for executing processing code and operating method of the storage device
US11837317B2 (en) Memory device, memory system, and operating method of memory system
CN114546903A (zh) 存储装置和包括其的存储***
KR20210148852A (ko) 다중 원형 큐를 이용하는 호스트 컨트롤러 인터페이스 및 이의 동작 방법
US9311257B2 (en) Semiconductor memory device, memory system and method of operating the same
EP4386556A1 (en) Operation method of memory controller configured to control memory device
US20240193041A1 (en) Operation method of memory controller configured to control memory device
US20230195333A1 (en) Storage device and operation method of electronic system
EP4220374A1 (en) Storage device and operating method of storage device
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
EP3982244B1 (en) Storage controller, storage system and operating methods thereof
US12014772B2 (en) Storage controller and storage device including the same

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