CN107977321A - 存储器控制器的操作方法和包括其的存储装置的操作方法 - Google Patents
存储器控制器的操作方法和包括其的存储装置的操作方法 Download PDFInfo
- Publication number
- CN107977321A CN107977321A CN201711000737.3A CN201711000737A CN107977321A CN 107977321 A CN107977321 A CN 107977321A CN 201711000737 A CN201711000737 A CN 201711000737A CN 107977321 A CN107977321 A CN 107977321A
- Authority
- CN
- China
- Prior art keywords
- order
- plane
- orders
- volatile memory
- memory device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 230000015654 memory Effects 0.000 title claims abstract description 224
- 238000003860 storage Methods 0.000 title claims description 60
- 238000011017 operating method Methods 0.000 title claims description 25
- 238000000034 method Methods 0.000 claims abstract description 52
- 230000000052 comparative effect Effects 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 21
- 230000014759 maintenance of location Effects 0.000 claims 1
- 238000010276 construction Methods 0.000 description 11
- 230000002093 peripheral effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 101100338009 Mus musculus Gsta1 gene Proteins 0.000 description 8
- 101100123101 Mus musculus Gsta4 gene Proteins 0.000 description 8
- 238000000151 deposition Methods 0.000 description 6
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 239000000758 substrate Substances 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 101100481703 Arabidopsis thaliana TMK2 gene Proteins 0.000 description 3
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 3
- 101000949825 Homo sapiens Meiotic recombination protein DMC1/LIM15 homolog Proteins 0.000 description 3
- 101001046894 Homo sapiens Protein HID1 Proteins 0.000 description 3
- 102100022877 Protein HID1 Human genes 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
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)
- Software Systems (AREA)
- Read Only Memory (AREA)
Abstract
一种通过存储器控制器执行的控制具有第一平面和第二平面的非易失性存储器装置的方法,包括:将包括在命令队列中的第一命令发送至非易失性存储器装置。当第三命令在命令队列中排在第二命令之前时,将第二命令的块地址与第三命令的块地址进行比较。基于比较结果选择性地将第二命令在第三命令之前发送至非易失性存储器装置。
Description
相关申请的交叉引用
本专利申请要求于2016年10月24日提交的韩国专利申请No.10-2016-0138578的优先权,该申请的全部内容以引用方式并入本文中。
技术领域
本公开涉及半导体存储器装置,更具体地说,涉及操作存储器控制器的方法和操作包括该存储器控制器的存储装置的方法。
背景技术
半导体可分为当电源中断时丢失其存储的数据的易失性存储器装置(诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步DRAM(SDRAM)等)和即使当电源中断时也保持其存储的数据的非易失性存储器装置(诸如只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除和可编程ROM(EEPROM)、闪速存储器装置、相变RAM(PRAM)、磁性RAM(MRAM)、铁电RAM(FRAM)和电阻式RAM(RRAM)等)。
闪速存储器被广泛用作用户装置的高容量存储介质。随着计算技术发展,基于闪速存储器的高容量存储介质需要更进一步提高的性能。正在开发各种技术或者装置以提高基于闪速存储器的高容量存储介质的性能。
发明内容
本公开的示例实施例提供了一种通过存储器控制器执行的控制具有第一平面和第二平面的非易失性存储器装置的方法。所述方法可包括步骤:将包括在命令队列中的第一命令发送至非易失性存储器装置。当第三命令在命令队列中排在第二命令之前时,对第二命令的块地址与第三命令的块地址进行比较。基于比较结果选择性地将第二命令在第三命令之前发送至非易失性存储器装置。第一命令是相对于第一平面的命令,第二命令是相对于第二平面的命令,第三命令是相对于第一平面和第二平面的多平面命令。
本公开的示例实施例提供了一种通过具有存储器控制器以及包括第一平面和第二平面的非易失性存储器装置的存储装置执行的方法。所述方法可包括步骤:处理包括在存储器控制器的命令队列中的第一命令。当第三命令排在第二命令之前时,对第二命令的块地址与第三命令的块地址进行比较。根据比较结果在第三命令之前处理第二命令。第一命令是相对于第一平面的命令,第二命令是相对于第二平面的命令,第三命令是相对于第一平面和第二平面的命令。
本公开的示例实施例提供了一种通过存储器控制器执行的控制具有第一平面和第二平面的非易失性存储器装置的方法。所述方法可包括步骤:寻址第一平面,将第一命令发送至非易失性存储器装置,并且在从非易失性存储器装置接收到对第一命令的响应之前,寻址第二平面,将第二命令发送至非易失性存储器装置。
本公开的示例实施例提供了一种通过存储器控制器执行的控制具有第一平面和第二平面的非易失性存储器装置的方法。所述方法包括步骤:将包括在命令队列中的第一命令发送至非易失性存储器装置;当第三命令在命令队列中排在第二命令之前时,确定第二命令和第三命令的类型;以及基于确定结果选择性地将第二命令在第三命令之前发送至非易失性存储器装置。第一命令是相对于第一平面的命令,第二命令是相对于第二平面的命令,第三命令是相对于第一平面和第二平面的多平面命令。
本公开的示例实施例提供了一种通过具有存储器控制器和非易失性存储器的存储装置执行的方法。所述方法包括步骤:将第一命令从存储器控制器传达至非易失性存储器,第一命令在存储器控制器的命令队列中具有最高执行优先级。当将在命令队列中相对于第一命令具有次高优先级的第二命令发送至与第一命令相同的非易失性存储器的平面时,所述方法包括将命令队列中的第三命令从存储器控制器传达至非易失性存储器,所述第三命令没有发送至与第一命令相同的非易失性存储器的平面。否则,将第二命令从存储器控制器传达至非易失性存储器。
附图说明
以下将参照附图更加详细地描述本公开的实施例。然而,本公开的实施例可按照不同的形式实施,并且不应被理解为限于本文阐述的实施例。相反,提供这些实施例使得本公开详尽和完整,并且将把本公开的范围充分传递给本领域技术人员。相同标号始终指代相同元件。
图1是示出根据本公开的示例实施例的存储装置的框图;
图2是详细示出图1的存储器控制器的框图;
图3是示出图1的非易失性存储器装置的框图;
图4是示出图3的存储器块的图;
图5是示出根据本公开的示例实施例的命令调度方法的流程图;
图6是用于解释根据本公开的示例实施例的示出性命令类型的图;
图7是用于解释图5的操作方法的图;
图8是示出图1的命令调度器的操作方法的另一实施例的流程图;
图9是用于解释图8的操作方法的图;
图10是示出图1的命令调度器的操作方法的另一实施例的流程图;
图11是用于解释图10的操作方法的图;
图12是用于解释图1的命令调度器的不同操作的图;
图13是示出图1的命令调度器的不同操作的流程图;
图14是示出根据本公开的其它示例实施例的非易失性存储器装置的框图;
图15是用于解释相对于被提供至图14所示的非易失性存储器装置的命令的调度方法的图;
图16是示出根据本公开的示例实施例的存储装置的图;
图17是用于解释相对于图16的存储装置的命令调度方法的图;
图18是示出应用了本公开的SSD(固态驱动器)系统的框图。
具体实施方式
下面,可按照本领域普通人员容易实施本公开的程度详细和清楚地描述本公开的实施例。
图1是示出根据本公开的示例实施例的存储装置的框图。参照图1,存储装置100可包括存储器控制器110和非易失性存储器装置120。存储装置100可为高容量存储介质,诸如固态盘(SSD)、存储卡、记忆棒等。
存储器控制器110可根据外部装置(例如,主机、CPU、AP等)的请求读存储在非易失性存储器装置120中的数据或者可将数据存储至非易失性存储器装置120中。例如,存储器控制器110可向非易失性存储器装置120提供地址ADDR、命令CMD和控制信号CTRL,并且可与非易失性存储器装置120交换数据DATA。
非易失性存储器装置120可响应于从存储器控制器110接收的信号输出存储的数据或者可存储接收到的数据。假设非易失性存储器装置120是NAND型闪速存储器装置。然而,本公开的范围不限于此,并且非易失性存储器装置120可包括易失性存储器(诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步DRAM(SDRAM)等)和非易失性存储器(诸如只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除和可编程ROM(EEPROM)、相变RAM(PRAM)、磁性RAM(MRAM)、铁电RAM(FRAM)、电阻式RAM(RRAM)、TRAM(晶闸管RAM)等)。
非易失性存储器装置120可包括第一平面和第二平面(PL1、PL2)。第一平面和第二平面(PL1、PL2)中的每一个可包括多个存储器块。包括在第一平面PL1中的多个存储器块可共享相同的位线,包括在第二平面PL2中的多个存储器块可共享相同的位线。
在示例实施例中,非易失性存储器装置120可在存储器控制器110的控制下在第一平面和第二平面(PL1、PL2)中的每一个上执行独立操作。例如,非易失性存储器装置120可在存储器控制器110的控制下在包括在第一平面PL1中的多个存储器块中的至少一些上执行第一操作。在执行第一操作的同时,非易失性存储器装置120可在存储器控制器110的控制下在包括在第二平面PL2中的多个存储器块中的至少一些上执行第二操作。也就是说,非易失性存储器装置120可通过各平面执行独立操作。
在示例实施例中,存储器控制器110可提供用于非易失性存储器装置120的操作的命令。存储器控制器110可提供第一平面命令、第二平面命令或者多平面命令。第一平面命令可指示相对于包括在第一平面PL1中的存储器块的命令,第二平面命令可指示相对于包括在第二平面PL2中的存储器块的命令,多平面命令可指示相对于包括在第一平面PL1中的存储器块和包括在第二平面PL2中的存储器块二者的命令。
非易失性存储器装置120可响应于第一平面命令在包括在第一平面PL1中的存储器块上执行操作,可响应于第二平面命令在包括在第二平面PL2中的存储器块上执行操作,并且可响应于多平面命令在包括在第一平面PL1中的存储器块和包括在第二平面PL2中的存储器块二者上执行操作。如上所述,可通过利用非易失性存储器装置120在每个平面上执行独立操作来提高存储装置的性能(例如,相对于随机I/O的性能)。
在示例实施例中,存储器控制器110可包括命令调度器111。命令调度器111可管理来自外部装置(例如,主机)的命令以提高存储装置100的性能。
命令可在命令队列(CQ)中列队。命令可包括第一平面命令、第二平面命令或多平面命令。命令调度器111可根据本公开的调度方法按照有序方式或无序方式向非易失性存储器装置120提供第一平面命令、第二平面命令或多平面命令。根据命令调度器111的调度方法,可与在命令队列(CQ)中列队的次序不同地将第一平面命令和第二平面命令提供至非易失性存储器装置120。在这种情况下,由于非易失性存储器装置120可同时或彼此重叠地在第一平面和第二平面(PL1、PL2)上执行操作,因此可提高存储装置100的性能。将参照图6至图17进一步详细地描述根据本公开的调度方法。
图2是详细示出图1的存储器控制器的框图。参照图1和图2,存储器控制器110可包括命令调度器111、处理器112、SRAM 113、ROM 114、主机接口115和闪存接口116。虽然附图中未示出,但是存储器控制器110还可包括诸如随机数发生器、错误校正电路等的其它构造元件。
命令调度器111可构造为调度在命令队列(CQ)中列队的命令。处理器112可控制存储器控制器110的整体操作。SRAM 113可用作存储器控制器110的缓冲存储器、高速缓冲存储器或主存储器。RAM114可存储当存储器控制器110按照固件的形式操作时所需的各种信息。在示例实施例中,可将与包括在命令队列(CQ)中的命令相关的信息存储在SRAM 113中。
在示例实施例中,可按照软件或硬件的形式提供命令调度器111。按照软件的形式提供的命令调度器111可存储在SRAM 113中,并且可由处理器112驱动。
存储器控制器110可通过主机接口115与外部装置(例如,主机)通信。作为示例,主机接口115可包括DDR(双倍数据速率)接口、USB(通用串行总线)接口、MMC(多媒体卡)接口、eMMC(嵌入式MMC)接口、PCI(外围组件互连)接口、PCI-E(高速PCI)接口、ATA(高级技术附件)接口、串行-ATA接口、并行-ATA接口、SCSI(小计算机小接口)接口、ESDI(增强型小磁盘接口)接口、IDE(集成驱动电子设备)接口、火线(Firewire)接口、UFS(通用闪存)接口、NVMe(高速非易失性存储器)接口等中的至少一个。存储器控制器110可通过闪存接口116与非易失性存储器装置120通信。
图3是示出图1的非易失性存储器装置的框图。参照图1和图3,非易失性存储器装置120可包括存储器单元阵列121和外围电路PERI。
存储器单元阵列121可包括第一平面和第二平面(PL1、PL2)。第一平面和第二平面(PL1、PL2)中的每一个可包括多个存储器块BLK。包括在第一平面和第二平面(PL1、PL2)中的每一个中的存储器块BLK中的每一个可通过串选择线SSL、字线WL和地选择线GSL连接至外围电路PERI。
包括在第一平面PL1中的存储器块BLK可通过第一位线BL1连接至外围电路PERI。也就是说,包括在第一平面PL1中的存储器块BLK可共享第一位线BL1。包括在第二平面PL2中的存储器块BLK可通过第二位线BL2连接至外围电路PERI。也就是说,包括在第二平面PL2中的存储器块BLK可共享第二位线BL2。
外围电路PERI可从存储器控制器110接收地址ADDR、命令CMD和控制信号CTRL,并且可响应于接收到的信号与存储器控制器110交换数据。例如,外围电路PERI可包括地址解码器122、控制逻辑和电压产生电路123、页缓冲器124和输入/输出电路125。
地址解码器122通过串选择线SSL、字线WL和地选择线GSL连接至存储器单元阵列121。地址解码器122可从存储器控制器110接收地址ADDR,并且可解码接收到的地址ADDR。地址解码器122可基于解码的地址控制至少一个字线电压。
控制逻辑和电压产生电路123可从存储器控制器110接收命令CMD和控制信号CTRL,并且可响应于接收到的信号控制地址解码器122、页缓冲器124和输入/输出电路125。控制逻辑和电压产生电路123可产生非易失性存储器装置120操作时所需的各种电压。
页缓冲器124通过第一位线BL1连接至包括在第一平面PL1中的存储器块BLK并且通过第二位线BL2连接至包括在第二平面PL2中的存储器块BLK。页缓冲器124可临时存储将存储在存储器单元阵列121中的数据或者从存储器单元阵列121读取的数据。
输入/输出电路125可通过数据线DL连接至页缓冲器124,并且可通过数据线DL与页缓冲器124交换数据。在控制逻辑和电压产生电路123的控制下,输入/输出电路125可将数据发送至存储器控制器110或者可从存储器控制器110接收数据。
包括在外围电路PERI中的构造元件可构造为响应于从存储器控制器110接收的信号独立地在第一平面PL1上执行操作、在第二平面PL2上执行操作或者在第一平面和第二平面(PL1、PL2)上执行操作(即,多平面操作)。
图4是示出图3的存储器块的图。作为示例,虽然参照图4描述了具有三维结构的存储器块,但是本公开的范围不限于此。根据本公开的存储器块可以为二维结构(即,平面结构)的存储器块。图4所示的存储器块可为非易失性存储器装置120的物理擦除单位。然而,本公开的范围不限于此,非易失性存储器装置120的物理擦除单位可改变为页单位、字线、子块单位等。
参照图4,存储器块BLK包括多个单元串(CS11、CS12、CS21、CS22)。单元串(CS11、CS12、CS21、CS22)可沿着行方向和列方向排列,以形成多行和多列。
单元串(CS11、CS12、CS21、CS22)中的每一个包括多个单元晶体管。例如,单元串(CS11、CS12、CS21、CS22)中的每一个可包括串选择晶体管(SSTa、SSTb)、多个存储器单元(MC1至MC8)、地选择晶体管(GSTa、GSTb)和伪存储器单元(DMC1、DMC2)。包括在单元串(CS11、CS12、CS21、CS22)中的多个单元晶体管中的每一个可为电荷捕获型闪存(CTF)存储器单元。
所述多个存储器单元(MC1至MC8)彼此串联,并且在垂直于由行方向和列方向形成的平面的高度方向上层叠。串选择晶体管(SSTa、SSTb)彼此串联,并且设置在存储器单元(MC1至MC8)与位线BL1和BL2之间。地选择晶体管(GSTa、GSTb)彼此串联,并且设置在存储器单元(MC1至MC8)与共源极线CLS之间。
在示例实施例中,第一伪存储器单元DMC1可设置在存储器单元(MC1至MC8)与地选择晶体管(GSTa、GSTb)之间,并且第二伪存储器单元DMC2可设置在存储器单元(MC1至MC8)与串选择晶体管(SSTa、SSTb)之间。
在示例实施例中,单元串(CS11、CS12、CS21、CS22)的地选择晶体管(GSTa、GSTb)可共同连接至地选择线GSL。在示例实施例中,虽然附图中未示出,但是同一行的地选择晶体管可连接至同一地选择线,而不同行的地选择晶体管可分别连接至不同的地选择线。例如,第一行的单元串(CS11、CS12)的第一地选择晶体管GSTa可连接至第一地选择线,而第二行的单元串(CS21、CS22)的第一地选择晶体管GSTa可连接至第二地选择线。
在示例实施例中,虽然附图中未示出,但是相对于衬底(未示出)设置在相同高度的地选择晶体管可连接至同一地选择线,而相对于衬底设置在不同高度的地选择晶体管可分别连接至不同的地选择线。
相对于衬底位于相同高度的存储器单元或者地选择晶体管(GSTa、GSTb)可共同连接至同一字线,而相对于衬底位于不同高度的存储器单元或者地选择晶体管(GSTa、GSTb)可分别连接至不同的字线。例如,单元串(CS11、CS12、CS21、CS22)的第一至第八存储器单元(MC1至MC8)分别共同连接至第一至第八字线(WL1至WL8)。
相同高度的第一串选择晶体管SSTa中的同一行的串选择晶体管连接至同一串选择线,相同高度的第一串选择晶体管SSTa中的不同行的串选择晶体管分别连接至不同的串选择线。例如,第一行的单元串(CS11、CS12)的第一串选择晶体管SSTa共同连接至串选择线SSL1a,第二行的单元串(CS21、CS22)的第一串选择晶体管SSTa共同连接至串选择线SSL2a。
相似地,相同高度的第二串选择晶体管SSTb中的同一行的串选择晶体管连接至同一串选择线,相同高度的第二串选择晶体管SSTb中的不同行的串选择晶体管分别连接至不同的串选择线。例如,第一行的单元串(CS11、CS12)的第二串选择晶体管SSTb共同连接至串选择线SSL1b,第二行的单元串(CS21、CS22)的第二串选择晶体管SSTb共同连接至串选择线SSL2b。
相同高度的伪存储器单元连接至同一伪字线,不同高度的伪存储器单元分别连接至不同的伪字线。例如,第一伪存储器单元DMC1连接至第一伪字线DWL1,第二伪存储器单元DMC2连接至第二伪字线DWL2。
图4所示的存储器块BLK是示出性的,并且单元串的数量可增加或减少。由单元串构成的行和列的数量可根据单元串的数量而增加或减少。存储器块BLK的单元晶体管(GST、MC、DMC、SST等)的数量也可增加或减少,并且存储器块BLK的高度可根据单元晶体管的数量而增大或减小。连接至单元晶体管的线(GSL、WL、DWL、SSL等)的数量可根据单元晶体管的数量而增加或减少。
图5是示出根据本公开的示例实施例的命令调度方法的流程图。为了附图简单和便于描述,相对于第一平面PL1的存储器块的命令称作“P1命令”,相对于第二平面PL2的存储器块的命令称作“P2命令”,相对于第一平面和第二平面(PL1、PL2)的存储器块的多平面命令称作“MP命令”。
也就是说,非易失性存储器装置120可响应于P1命令相对于包括在第一平面PL1中的存储器块执行操作(例如,读操作、写操作或擦除操作)。非易失性存储器装置120可响应于P2命令在包括在第二平面PL2中的存储器块上执行操作。非易失性存储器装置120可响应于MP命令同时在包括在第一平面和第二平面(PL1、PL2)中的存储器块上执行操作。
为了便于描述,在本公开的实施例中,响应于特定命令执行特定存储器块上的读、编程或擦除操作。然而,这仅是为了便于描述,并且这可意指响应于特定命令执行至少一个存储器块、至少一个存储器块的至少一页或者连接至至少一个存储器块的至少一根字线上的编程操作、读操作或擦除操作。
假设说明书中提及的命令或者附图中示出的命令预先在图1的命令队列(CQ)中列队。
参照图1和图5,在操作S110中,命令调度器111可将P1命令发送至非易失性存储器装置120。例如,命令调度器111可根据列队次序将在命令队列(CQ)中列队的命令中的P1命令发送至非易失性存储器装置120。
非易失性存储器装置120可响应于接收到的P1命令在包括在第一平面PL1中的存储器块上执行操作。上述存储器块可为对应于P1命令的物理地址的存储器块。
在操作S120中,命令调度器111可确定在命令队列(CQ)中是否存在P2命令。例如,命令队列(CQ)可包括诸如P1命令、P2命令或MP命令的各种命令。命令调度器111可确定在包括在命令队列(CQ)中的命令中是否存在P2命令。
在命令队列(CQ)中存在P2命令的情况下,在操作S130中,命令调度器111可将P2命令发送至非易失性存储器装置120。例如,在非易失性存储器装置120对P1命令执行操作的同时(即,在完成对应于P1命令的操作之前),命令调度器111可将P2命令发送至非易失性存储器装置120。非易失性存储器装置120可响应于接收到的P2命令在包括在第二平面PL2中的存储器块上执行操作。在这种情况下,可同时或彼此重叠地执行在包括在第一平面PL1中的存储器块上的操作和在包括在第二平面PL2中的存储器块上的操作。
在命令队列(CQ)中不存在P2命令的情况下,命令调度器111可不执行单独的操作。
在示例实施例中,虽然附图中未示出,但是在非易失性存储器装置120完成对P1命令的操作之后,命令调度器111可将包括在命令队列(CQ)中的其它P1命令发送至非易失性存储器装置120。
如上所述,在命令队列(CQ)中存在相对于不同平面的命令(例如,P1命令和P2命令)的情况下,命令调度器111可不按照列队次序将P1命令和P2命令发送至非易失性存储器装置120。通过相对于P1命令和P2命令同时或彼此重叠地执行操作来提高存储装置100的性能。
图6是用于解释根据本公开的示例实施例的示出性命令类型的图。参照图6,非易失性存储器装置120可包括第一平面和第二平面(PL1、PL2)。第一平面PL1可包括第一存储器块至第三存储器块(BLK1、BLK2、BLK3),第二平面PL2可包括第四存储器块至第六存储器块(BLK4、BLK5、BLK6)。然而,本公开的范围不限于此,并且非易失性存储器装置120可包括多个平面,并且所述平面中的每一个可包括多个存储器块。
将相对于第一平面PL1的第一存储器块BLK1的读命令称作“P1B1[RD]命令”。响应于P1B1[RD]命令,非易失性存储器装置120可在包括在第一平面PL1的第一存储器块BLK1中的多页中的至少一页上执行读操作。该至少一页可为对应于P1B1[RD]命令的地址的一页。
将相对于第一平面PL1的第二存储器块BLK2的编程命令称作“P1B2[PG]命令”。将相对于第一平面PL1的第三存储器块BLK3的擦除命令称作“P1B3[ER]命令”。相似地,将相对于第四存储器块至第六存储器块(BLK4、BLK5、BLK6)的命令分别称作“P2B4[XX]”命令”、“P2B5[XX]命令”和“P2B6[XX]命令”。“XX”符号指示“RD”、“PG”或“ER”,并且可根据命令的类型进行各种替换。
上述命令是示例性的,是为了清楚地描述本公开的实施例。然而,命令可以不是普通使用的命令集,本公开的范围不限于此。命令的参考符号可根据目标存储器块、命令的类型等进行各种改变。例如,可将相对于第二平面PL2的第五存储器块BLK5的擦除命令称作“P2B5[ER]命令”。
虽然说明书和附图中未示出,但是可基于外部装置的请求或者内部管理操作通过存储器控制器110的闪存转换层(FTL)产生前述命令。
为了简单和清楚地描述本公开的实施例,基于参照图6描述的命令的参考符号描述本公开的实施例。
图7是用于解释图5的操作方法的图。为了附图简单,省略了针对描述命令调度器111的操作不必要的构造元件。
参照图5至图7,各个命令可按照P1B1[RD]命令、P1B2[PG]命令、P2B4[PG]命令和P1B2[RD]命令的次序在命令队列(CQ)中列队。
上述列队次序仅考虑了耗用的时间(例如,命令列队所需的时间)。然而,本公开的范围不限于此,并且命令可按照各种列队方式(例如,优先级方式、服务质量等)列队。作为示例,在P2B4[PG]命令首先在命令队列(CQ)中列队之后,可发出比P2B4[PG]命令的优先级更高的P1B1[RD]命令和P1B2[PG]命令。在这种情况下,由于P1B1[RD]命令和P1B2[PG]命令具有高优先级,因此命令队列(CQ)可排列为使得P1B1[RD]命令和P1B2[PG]命令首先执行。优先级列队方式仅是示例,并且本公开的范围不限于此。本领域普通技术人员之一应该理解,命令队列(CQ)中的列队次序可按照各种方式排列。为了便于描述和使得实施例清楚,假设基于命令列队时的时间来排列命令队列(CQ)中的命令。
描述图7所示的命令排列方式,以简单地区分对应于命令的平面,并且不意指诸如命令的优先级、命令的列队次序等的技术构造。例如,在图7所示的命令队列(CQ)中,P1B1[RD]命令、P1B2[PG]命令、P1B2[RD]命令对应于P1命令,P2B4[PG]命令对应于P2命令。这种排列方式和构造在下面相似的附图中可具有相似的含义。
还假设命令的列队次序为图中所示的虚线方向的次序。也就是说,图中所示的虚线意指,在P1B1[RD]命令在命令队列(CQ)中列队之后,P1B2[PG]命令列队,并且指示列队次序的虚线在下面相似的附图中可具有相似的含义。
常规命令调度器可按次序地将命令队列(CQ)中的命令按照列队次序发送至非易失性存储器装置120。然而,根据本公开的命令调度器111可根据参照图5所述的操作方法将命令提供至非易失性存储器装置120。
例如,命令调度器111可将首先列队的P1B1[RD]命令通过命令I/O提供至非易失性存储器装置120。非易失性存储器装置120可响应于P1B1[RD]命令在第一平面PL1上执行对应的操作(即,对应于时间tRD的读操作)。
根据列队次序,常规存储器控制器可在完成对P1B1[RD]命令的操作之后将P1B2[PG]命令提供至非易失性存储器装置120,并且可在完成对P1B2[PG]命令的操作之后将P2B4[PG]命令提供至非易失性存储器装置120。
然而,命令调度器111可在将P1B1[RD]命令发送至非易失性存储器装置120之后将P2B4[PG]命令(相对于第二平面PL2的命令)发送至非易失性存储器装置120。也就是说,在非易失性存储器装置120对P1B1[RD]命令执行操作(即,对应于时间tRD的操作)的同时,命令调度器111可将P2B4[PG]命令提供至非易失性存储器装置120。命令调度器111可在从非易失性存储器装置120接收针对P1B1[RD]命令的响应或读数据之前将P2B4[PG]命令提供至非易失性存储器装置120。非易失性存储器装置120可响应于P2B4[PG]命令在第二平面PL2的第四存储器块BLK4上执行编程操作(即,对应于时间tPROG的操作)。
在非易失性存储器装置120完成对P1B1[RD]命令的操作之后,命令调度器111可将P1B2[PG]命令提供至非易失性存储器装置120。非易失性存储器装置120可响应于P1B2[PG]命令在第一平面PL1的第二存储器块BLK2上执行编程操作(即,对应于时间tPROG的操作)。
如上所述,命令调度器111可将命令队列(CQ)中的命令与列队次序不同地(即,按照无序方式)提供至非易失性存储器装置120,从而非易失性存储器装置120可在第一平面和第二平面(PL1、PL2)中的每一个上同时或彼此重叠地执行操作。因此,可提高存储装置100的整体操作性能。
图8是示出图1的命令调度器的操作方法的实施例的流程图。图9是用于解释图8的操作方法的图。为了附图简单和便于描述,省略了针对解释图8的操作方法不必要的构造元件。基于参照图6描述的标号来描述图9所示的命令构造。图9所示的命令队列(CQ)的列队次序仅是示例,并且本公开不限于此。
参照图1、图8和图9,命令调度器111可执行操作S210和S220。由于操作S210和S220与图5的操作S110和S120相似,因此省略对其的描述。
在命令队列(CQ)中不存在P2命令的情况下,命令调度器111可根据命令队列(CQ)中的列队次序按次序地调度命令。
在命令队列(CQ)中存在P2命令的情况下,在操作S230中,命令调度器111可确定在命令队列(CQ)中在P2命令之前是否具有MP命令。例如,诸如P1命令、P2命令和MP命令的各种命令可在命令队列(CQ)中按次序地列队。
在特定实施例中,参照图9,P1命令(P1B1[RD]命令)可首先在命令队列(CQ)中列队,然后MP命令(P1B2/P2B4[PG]命令)可在命令队列(CQ)中列队。接着,P2命令(P2B4[RD]命令和P2B5[RD]命令)可在命令队列(CQ)中列队。也就是说,在发送至非易失性存储器装置120的P1命令与上述P2命令之间可存在MP命令。在这种情况下,命令调度器111可确定在P2命令之前具有MP命令。
在P2命令之前不存在MP命令的情况下,命令调度器111可执行操作S250。由于操作S250与图5的操作S130相似,因此省略对其的描述。
在P2命令之前具有MP命令的情况下,在操作S240中,命令调度器111可对P2命令的块地址与MP命令的块地址进行比较。例如,P2命令可包括第二平面PL2的第四存储器块至第六存储器块(BLK4至BLK6)中的至少一个的块地址。MP命令可包括第一平面PL1的第一存储器块至第三存储器块(BLK1至BLK3)中的至少一个的块地址和第二平面PL2的第四存储器块至第六存储器块(BLK4至BLK6)中的至少一个的块地址。命令调度器111可对包括在P2命令中的块地址与包括在MP命令中的第二平面PL2的第四存储器块至第六存储器块(BLK4至BLK6)中的至少一个的块地址进行比较。
在上述块地址彼此不同的情况下(或者,在MP命令的块地址不包括P2命令的块地址的情况下),在操作S250中,命令调度器111可将P2命令发送至非易失性存储器装置120。
在上述块地址彼此相同的情况下(或者,在MP命令的块地址包括P2命令的块地址的情况下),P2命令和MP命令可为与同一存储器块上的操作相对应的命令。在这种情况下,命令调度器111可不将P2命令发送至非易失性存储器装置120,而根据命令队列(CQ)中的列队次序按次序地调度命令。
例如,假设P2命令指示在第四存储器块BLK4上的读操作,并且MP命令指示在第一存储器块BLK1和第四存储器块BLK4上的编程操作。在这种情况下,当根据列队次序执行各个命令时,可通过MP命令执行在第四存储器块BLK4上的编程操作,随后可通过P2命令读取在第四存储器块BLK4中编程的数据。然而,在命令调度器111在MP命令之前将P2命令发送至非易失性存储器装置120的情况下,在通过P2命令在第四存储器块BLK4中读取了不想要的数据之后,才可通过MP命令对第四存储器块BLK4编程。
更具体地说,如图9所示,可通过命令调度器111将P1B1[RD]命令(即,P1命令)发送至非易失性存储器装置120。P2B4[RD]命令(即,P2命令)和P1B2/P2B4[PG]命令(即,MP命令)可包括相同的块地址(即,第四存储器块BLK4的块地址)。在这种情况下,在P1B2/P2B4[PG]命令之前,命令调度器111可不将P2B4[RD]命令发送至非易失性存储器装置120。作为替代,P2B5[RD]命令和P1B2/P2B4[PG]可包括不同的块地址(即,分别包括第四存储器块和第五存储器块(BLK4、BLK5)的块地址)。在这种情况下,命令调度器111可在P1B2/P2B4[PG]命令之前将P2B5[RD]命令发送至非易失性存储器装置120。
命令调度器111对P2命令的块地址与在P2命令之前列队的MP命令的块地址进行比较。在P2命令的块地址与MP命令的块地址不同的情况下,命令调度器111可在MP命令之前将P2命令发送至非易失性存储器装置120。在P2命令的块地址与MP命令的块地址相同的情况下,命令调度器111可根据列队次序将命令发送至非易失性存储器装置120(即,在发送MP命令之后发送P2命令)。因此,可改进存储装置100的命令处理时间,并且可防止不期望的操作(例如,读取与想要的数据不同的数据的操作)。
在上述实施例中,虽然描述了对P2命令的块地址与MP命令的块地址进行比较的构造,但是本公开的范围不限于此。例如,命令调度器111可比较诸如行地址、页地址等的其它物理地址而不是块地址,并且可根据比较结果执行上述调度操作。
图10是示出图1的命令调度器的操作方法的另一实施例的流程图。图11是用于解释图10的操作方法的图。为了附图简单和便于描述,省略了对于解释图10的操作方法不必要的构造元件。基于参照图6描述的标号来描述图11所示的命令构造。图11所示的命令队列(CQ)的列队次序仅是示例,并且本公开不限于此。
参照图1、图10和图11,命令调度器111可执行操作S310至S340和S360。由于操作S310至S340和S360分别与图8中的操作S210至S240和S250相似,因此省略对其的描述。
在操作S340的确定结果指示P2命令的块地址与MP命令的块地址相同的情况下,在操作S350中,命令调度器111可确定MP命令和P2命令是否是读命令。
在MP命令和P2命令是读命令的情况下,在操作S360中,命令调度器111可在MP命令之前将P2命令发送至非易失性存储器装置120。在MP命令和P2命令中的至少一个不是读命令的情况下(即,MP命令和P2命令中的至少一个是编程命令或擦除命令),命令调度器111可不将P2命令在MP命令之前发送至非易失性存储器装置120。
例如,如图11所示,可通过命令调度器111将P1B1[PG]命令(即,P1命令)发送至非易失性存储器装置120。P2B4[RD]命令(即,P2命令)和P1B2/P2B4[RD]命令(即,MP命令)可包括相同的块地址(即,第四存储器块BLK4的地址)。在这种情况下,命令调度器111可确定P2命令和MP命令二者是否是读命令。如图11所示,即使P2B4[RD]命令(即,P2命令)和P1B2/P2B4[RD]命令(即,MP命令)可包括相同的块地址(即,第四存储器块BLK4的地址),在P2B4[RD]命令(即,P2命令)和P1B2/P2B4[RD]命令(即,MP命令)二者是读命令的情况下,命令调度器111也可在P1B2/P2B4[RD]命令(即,MP命令)之前将P2B4[RD]命令(即,P2命令)发送至非易失性存储器装置120。在这种情况下,即使在MP命令之前将P2命令发送至非易失性存储器装置120,由于P2命令的操作和MP命令的操作不导致数据改变,因此可正常地执行操作而不管次序如何。
然而,如果在MP命令和P2命令中的至少一个不是读命令的情况下在MP命令之前将P2命令发送至非易失性存储器装置120,则P2命令和MP命令的操作不能正常地执行。在这种情况下,命令调度器111可根据列队次序将MP命令和P2命令发送至非易失性存储器装置120。
如上所述,在包括在命令队列(CQ)中的P2命令的块地址和MP命令的块地址彼此不同的情况下,命令调度器111可在MP命令之前将P2命令发送至非易失性存储器装置120。在P2命令的块地址与MP命令的块地址相同的情况下,命令调度器111可确定P2命令和MP命令二者是否是读命令。在P2命令和MP命令二者是读命令的情况下,命令调度器111可在MP命令之前将P2命令发送至非易失性存储器装置120。
虽然附图中未示出,但是可按照与图10所示的次序不同的次序执行图10的各个操作,或者可省略图10的操作的一部分。例如,可在操作S340之前执行操作S350,或者可省略操作S340,但是本公开的范围不限于此。
因此,如上所述,通过将P1命令、P2命令和MP命令的列队次序重新排序,命令调度器111不仅可减少命令处理时间而且可确保各个命令的正常操作。
图12是用于解释图1的命令调度器的不同操作的图。为了附图简单和便于描述,省略了不必要的构造元件。参照图1和图12,命令调度器111可构造为将MP命令分为P1命令和P2命令。
如图12所示,各个命令可按照P1B1[RD]命令、P1B2/P2B4[PG]命令、P2B4[RD]命令和P2B5[RD]命令的次序在命令队列(CQ)中列队。命令调度器111可将P1B2/P2B4[PG]命令(MP命令)分为P1B2[PG]命令和P2B4[PG]命令。
如上所述,非易失性存储器装置120可通过各平面支持独立操作。因此,命令调度器111可基于参照图5描述的操作方法处理P1B1[RD]命令、P1B2[PG]命令、P2B4[PG]命令、P2B4[RD]命令和P2B5[RD]命令中的每一个。
更具体地说,命令调度器111可根据列队次序将P1B1[RD]发送至非易失性存储器装置120。然后,根据参照图5描述的操作方法,命令调度器111可将从P1B2/P2B4[PG]命令分离的P2B4[PG]命令发送至非易失性存储器装置120。在非易失性存储器装置120完成对P1B1[RD]命令的读操作之后,命令调度器111可将从P1B2/P2B4[PG]命令分离的P1B2[PG]命令发送至非易失性存储器装置120。在非易失性存储器装置120完成对P2B4[PG]命令的编程操作之后,命令调度器111可将P2B4[RD]命令发送至非易失性存储器装置120。
常规存储器控制器可根据列队次序处理图12所示的命令队列(CQ)的命令中的每一个。也就是说,常规存储器控制器将P1B1[RD]命令发送至非易失性存储器装置120并且在非易失性存储器装置120完成P1B1[RD]之后将P1B2/P2B4[PG]命令发送至非易失性存储器装置120。然而,存储器控制器110的命令调度器111可将MP命令分为单个平面的命令(即,P1命令和P2命令),并且可通过各平面彼此独立地管理命令。因此,可改进处理命令队列(CQ)中的命令所需的时间和存储装置100的整体性能。
图13是示出图1的命令调度器的不同操作的流程图。参照图1和图13,命令调度器111可执行操作S410至S460。由于操作S410至S430、S450和S460分别与图8的操作S210至S250以及图10的操作S310至S330、S340和S360相似,因此省略对其的描述。
在操作S430的确定结果指示在P2命令之前存在MP命令的情况下,在操作S440中,命令调度器111可确定MP命令的延迟计数是否小于参考值。例如,在根据上述命令调度器111的操作方法处理命令队列(CQ)中的命令的情况下,在特定条件下,可在MP命令之前处理列队次序比MP命令更晚的P2命令或P1命令。在这种情况下,MP命令的延迟计数可增大。在示例实施例中,延迟计数可由命令调度器111或特定组件来管理。
在MP命令的延迟计数小于参考值的情况下,命令调度器111可执行操作S450和S460。在MP命令的延迟计数不小于参考值的情况下,命令调度器111可不将P2命令发送至非易失性存储器装置120。在这种情况下,命令调度器111可根据列队次序处理命令队列(CQ)中的命令。
延迟计数指示在MP命令之前处理比MP命令更晚的命令的次数,或者比MP命令更晚的命令被发送至非易失性存储器装置120的次数。例如,命令可按照第一P1命令、第一MP命令、第一P2命令、第二P1命令和第二P2命令的次序在命令队列(CQ)中列队。命令调度器111可将第一P1命令发送至非易失性存储器装置120,并且可在第一MP命令之前将第一P2命令发送至非易失性存储器装置120。在完成了对第一P1命令的操作之后,命令调度器111可在第一MP命令之前将第二P1命令发送至非易失性存储器装置120。在根据一般列队次序处理命令的情况下,命令必需按照第一P1命令、第一MP命令、第一P2命令、第二P1命令和第二P2命令的次序处理。然而,根据本公开的调度方法,第一MP命令可在第二P1命令和第二P2命令之后处理。在这种情况下,第一MP命令的延迟计数可为2。
如上所述,随着MP命令的延迟计数增大,可延迟对MP命令的处理,因此在对存储装置100的操作中可出现错误(例如,命令超时导致的错误)。因此,在MP命令的延迟计数大于参考值的情况下,命令调度器111可通过不将P2命令发送至非易失性存储器装置120并且根据列队次序处理命令队列(CQ)中的命令来防止MP命令的延迟或延时导致的不正确的操作。
图14是示出根据本公开的其它示例实施例的非易失性存储器装置的框图。参照图14,非易失性存储器装置220可包括存储器单元阵列221和外围电路PERI。
存储器单元阵列221可包括多个平面(PL1至PLn)。平面(PL1至PLn)中的每一个可包括多个存储器块。平面(PL1至PLn)中的每一个可通过串选择线SSL、字线WL和地选择线GSL连接至外围电路PERI。
第一平面PL1可通过第一位线BL1连接至外围电路PERI。类似地,第二平面至第n平面(PL2至PLn)可分别通过第二位线至第n位线(BL2至BLn)连接至外围电路PERI。第一平面PL1的多个存储器块可共享第一位线BL1。相似地,第二平面至第n平面(PL2至PLn)的多个存储器块可共享对应的第二位线至第n位线(BL2至BLn)。
如上所述,非易失性存储器装置220可在存储器控制器110(参照图1)的控制下在平面(PL1至PLn)中的每一个上独立地执行操作。例如,非易失性存储器装置220可以在与包括在第一平面PL1中的第一存储器块上执行读操作的同时在包括在第二平面PL2中的第二存储器块上执行编程操作。
参照图1描述的存储器控制器110可构造为控制图14的非易失性存储器装置220。存储器控制器110可基于参照图1至图13描述的操作方法调度被发送至非易失性存储器装置220的命令。
图15是用于解释相对于被提供至图14所示的非易失性存储器装置的命令的调度方法的图。为了简化描述,省略了针对描述相对于被提供至图14的非易失性存储器装置220的命令的调度方法不必要的构造元件。
为了附图简单和便于描述,可以理解,图15所示的命令的标号与参照图6描述的标号具有相似的含义。为了简化描述,描述了第一平面至第三平面(PL1、PL2,PL3)中的每一个上的操作,但是本公开的范围不限于此。所述操作可改变为平面(PL1至PLn)中的每一个上的操作。基于两个平面(PL1、PL2)上的操作来描述图15所示的MP命令,但是本公开的范围不限于此。MP命令可为相对于平面(PL1至PLn)中的两个或更多个平面的命令。
参照图14和图15,命令可按照P1B1[PG]命令、P1B2/P2B4[RD]命令、P3B7[RD]命令和P2B5[RD]命令的次序在命令队列(CQ)中列队。
命令调度器111可与以上描述的那些相似地将P1B1[PG]命令发送至非易失性存储器装置120。非易失性存储器装置120可响应于P1B1[PG]命令在第一平面PL1(第一平面PL1的第一存储器块)上执行编程操作。常规的存储器控制器可在非易失性存储器装置120完成对P1B1[PG]命令的操作之后将P1B2/P2B4[RD]命令发送至非易失性存储器装置120。
然而,由于非易失性存储器装置120可在每个平面上独立地操作,因此存储器控制器110的命令调度器111可在完成对P1B1[PG]命令的操作之前在P1B2/P2B4[RD]命令之前将P3B7[RD]命令发送至非易失性存储器装置120。如参照图8和图9的描述,由于P2B5[RD]命令的物理块地址和在P2B5[RD]命令之前的P1B2/P2B4[RD]命令的物理块地址彼此不同,因此命令调度器111可在P1B2/P2B4[RD]之前将P2B5[RD]命令发送至非易失性存储器装置220。
如上所述,与常规存储器控制器不同,命令调度器111可按照无序方式处理命令。命令调度器111可比较包括在命令队列(CQ)中的命令的块地址,并且可基于比较结果根据前述方法将命令发送至非易失性存储器装置120。这样,由于处理命令所用的时间减少了,因此提供了性能提高的存储装置。
图16是示出根据本公开的示例实施例的存储装置的图。参照图16,存储装置300可包括存储器控制器310和多个非易失性存储器装置(320a至320m)。存储器控制器310可包括命令队列(CQ)和命令调度器311。由于已参照图1至图15描述了所述多个非易失性存储器装置(320a至320m)、命令队列(CQ)和命令调度器311,因此省略对其的描述。
所述多个非易失性存储器装置(320a至320m)可分别通过多个通道(CHa至CHm)连接至存储器控制器310。例如,非易失性存储器装置320a可通过第一通道CHa连接至存储器控制器310。相似地,非易失性存储器装置(320b至320m)可通过对应的第二通道至第m通道(CHb至CHm)连接至存储器控制器310。
存储器控制器310可通过通道独立地控制非易失性存储器装置。虽然附图中未示出,但是相对于通道(CHa至CHm)中的每一个的命令队列(CQ)和命令调度器311可独立地存在。
存储器控制器310可独立地控制通过一个通道连接的非易失性存储器装置。例如,存储器控制器310可通过第一通道CHa将命令发送至第一非易失性存储器装置321a或者与第一非易失性存储器装置321a交换数据,并且可通过第一通道CHa将命令发送至第二非易失性存储器装置322a或者与第二非易失性存储器装置322a交换数据。
存储器控制器310可基于参照图1至图15描述的调度方法相对于一个非易失性存储器装置处理被包括在命令队列(CQ)中的命令。
图17是用于解释相对于图16的存储装置的命令调度方法的图。为了附图简单和便于描述,将基于通过第一通道CHa连接至存储器控制器310的第一非易失性存储器装置和第二非易失性存储器装置(321a、322a)描述图17的实施例。假设第一非易失性存储器装置321a包括第一平面和第二平面(PL1、PL2)并且第二非易失性存储器装置322a包括第三平面和第四平面(PL3、PL4)。
为了附图简单和便于描述,参照各个平面的标号来写图17所示的命令,并且标号中省略了关于块编号或块地址的信息。例如,将相对于第一平面PL1的读命令标为P1[RD]命令,并且将相对于第一平面和第二平面(PL1、PL2)的读命令(即,多平面读命令)标为P1/P2[RD]命令。为了附图简单和便于描述,假设包括在命令中的块地址彼此不同。各个命令可包括相同的块地址,并且在这种情况下,如参照图1至图13的描述,可根据命令的类型(例如,读、编程、擦除等)改变处理次序。
上述假设不限制本公开的范围,并且第一非易失性存储器装置和第二非易失性存储器装置(321a、322a)中的每一个可包括多个平面。将在下面描述的命令调度方法可相对于多个非易失性存储器装置改变或扩展。
参照图17,命令可按照P1[RD]命令、P1/P2[RD]命令、P3[RD]命令、P2[RD]命令和P4[RD]命令的次序在命令队列(CQ)中列队。如前所述,P1[RD]命令指示相对于第一平面PL1的读命令,P1/P2[RD]命令指示相对于第一平面和第二平面(PL1、PL2)的读命令,P3[RD]命令指示相对于第三平面PL3的读命令,P2[RD]命令指示相对于第二平面PL2的读命令,并且P4[RD]命令指示相对于第四平面PL4的读命令。
如图16和图17所示,命令调度器311可通过第一通道CHa(例如,第一通道CHa的CMDI/O)将P1[RD]命令发送至第一非易失性存储器装置321a。第一非易失性存储器装置321a可响应于P1[RD]命令在第一平面PL1上执行读操作。
命令调度器311可将P3[RD]命令发送至第二非易失性存储器装置322a。如前所述,由于第一非易失性存储器装置和第二非易失性存储器装置(321a、322a)彼此独立地操作,因此命令调度器311可在第一非易失性存储器装置321a执行读操作(即,根据P1[RD]命令的读操作)的同时将P3[RD]命令发送至第二非易失性存储器装置322a。第二非易失性存储器装置322a可响应于P3[RD]命令在第三平面PL3上执行读操作。
命令调度器311可将P2[RD]命令发送至第一非易失性存储器装置321a。如前所述,第一非易失性存储器装置321a的第一平面和第二平面(PL1、PL2)可彼此独立地操作。命令调度器311可在第一非易失性存储器装置321a在第一平面PL1上执行读操作的同时将P2[RD]命令发送至第一非易失性存储器装置321a。第一非易失性存储器装置321a可响应于P2[RD]命令在第二平面PL2上执行读操作。如前所述,P1/P2[RD]命令可不包括P2[RD]命令的块地址。
命令调度器311可将P4[RD]命令发送至第二非易失性存储器装置322a,并且第二非易失性存储器装置322a可响应于P4[RD]命令在第四平面PL4上执行读操作。
在全部完成第一非易失性存储器装置321a的第一平面和第二平面(PL1、PL2)上的读操作之后,命令调度器311可将P1/P2[RD]命令发送至第一非易失性存储器装置321a。第一非易失性存储器装置321a可响应于P1/P2[RD]命令在第一平面和第二平面(PL1、PL2)上执行读操作。
相对于图17所示的命令队列(CQ),常规的存储器控制器将P1[RD]命令发送至第一非易失性存储器装置321a然后在完成了根据P1[RD]命令的操作之后将P1/P2[RD]命令发送至第一非易失性存储器装置321a。常规的存储器控制器可在完成了根据P1/P2[RD]命令的操作之后将P2[RD]命令发送至第一非易失性存储器装置321a。命令调度器311可通过相对于各个非易失性存储器装置比较单平面命令和多平面命令的物理地址以及根据比较结果先于多平面命令将单平面命令发送至非易失性存储器装置来减少总的命令处理时间。
图17所示的实施例是示出性的,并且本公开的范围不限于此。命令调度器可通过各个通道、各个路径或各个芯片根据参照图1至图16描述的调度方法处理命令队列(CQ)中的命令。
图18是示出应用了本公开的SSD(固态盘)系统的框图。参照图18,SSD系统1000包括主机1100和SSD 1200。
SSD 1200可通过信号连接器1201与主机1100交换信号SIG,并且通过功率连接器1202接收功率PWR。SSD 1200可包括SSD控制器1210、多个闪速存储器1221-122n、辅助电源1230和缓冲存储器1240。
SSD控制器1210可响应于从主机1100接收的信号SIG控制闪速存储器1221-122n。闪速存储器1221-122n可在SSD控制器1210的控制下操作。SSD控制器1210可包括参照图1至图17描述的命令队列(CQ)和命令调度器(111、311)。如参照图1至图17的描述,闪速存储器1221-122n中的每一个可被构造为包括多个平面,并且通过各个平面执行独立操作。SSD控制器1210可根据参照图1至图17描述的调度方法控制闪速存储器1221-122n中的每一个。
辅助电源1230通过功率连接器1202连接至主机1100。辅助电源1230可从主机1100接收功率PWR以为辅助电源1230充电。当主机1100的电源不平稳时,辅助电源1230可提供SSD 1200的功率。
缓冲存储器1240作为SSD 1200的缓冲存储器操作。缓冲存储器1240可临时存储从主机1100接收的数据、从闪速存储器1221-122n接收的数据或者闪速存储器1221-122n的元数据(例如,映射表)。缓冲存储器1240可临时存储当SSD控制器1210操作时所需的各种信息。
根据本公开的实施例,通过比较单平面命令和多平面命令的块地址以将命令的次序重新排序,提供了操作性能改进的存储器控制器的方法和操作包括所述存储器控制器的存储装置的方法。
作为本领域中的传统做法,可通过执行所述一个或多个功能的块来描述和示出实施例。本文中可被称作单元或模块等的这些块通过诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子组件、有源电子组件、光学组件、硬连线电路等的模拟和/或数字电路在物理上实施,并且可选地通过固件和/或软件驱动。例如,所述电路可在一个或多个半导体芯片中实现,或者在诸如印刷电路板等的衬底支承件上实现。构成块的电路可通过专用硬件或者通过处理器(例如,一个或多个编程微处理器和关联电路)或者通过用于执行所述块的一些功能的专用硬件与用于执行所述块的其它功能的处理器的组合来实施。在不脱离本公开的范围的情况下,实施例的各个块可在物理上分为两个或更多个相互作用和分立的块。相似地,在不脱离本公开的范围的情况下,实施例的块可在物理上组合为更复杂的块。
上述内容是用于实施本公开的特定实施例。本公开不仅可包括上述实施例还可包括其中设计能够被简单或容易地改变的实施例。本公开还可包括容易地改变为利用实施例实施的技术。因此,本公开的范围通过权利要求及其等同物来确定,而其不受前述实施例的限制或局限。
Claims (20)
1.一种操作存储器控制器的方法,所述存储器控制器控制包括第一平面和第二平面的非易失性存储器装置,所述方法包括步骤:
将包括在命令队列中的第一命令发送至非易失性存储器装置;
当第三命令在命令队列中排在第二命令之前时,对第二命令的块地址与第三命令的块地址进行比较;以及
基于比较结果选择性地将第二命令在第三命令之前发送至非易失性存储器装置,其中
第一命令是相对于第一平面的命令,第二命令是相对于第二平面的命令,并且第三命令是相对于第一平面和第二平面的多平面命令。
2.根据权利要求1所述的方法,其中,基于比较结果选择性地将第二命令在第三命令之前发送至非易失性存储器装置的步骤包括:
在从非易失性存储器装置接收到对第一命令的响应之前,将第二命令在第三命令之前发送至非易失性存储器装置。
3.根据权利要求1所述的方法,其中,基于比较结果选择性地将第二命令在第三命令之前发送至非易失性存储器装置的步骤包括:
当第三命令的块地址不包括第二命令的块地址时,将第二命令在第三命令之前发送至非易失性存储器装置。
4.根据权利要求1所述的方法,其中,基于比较结果选择性地将第二命令在第三命令之前发送至非易失性存储器装置的步骤包括:
当第三命令的块地址包括第二命令的块地址时,将第三命令在第二命令之前发送至非易失性存储器装置。
5.根据权利要求4所述的方法,其中,在从非易失性存储器装置接收到对第一命令的响应之后执行将第三命令在第二命令之前发送至非易失性存储器装置的步骤。
6.根据权利要求1所述的方法,其中,基于比较结果选择性地将第二命令在第三命令之前发送至非易失性存储器装置的步骤包括:
当第三命令的块地址包括第二命令的块地址时,确定第二命令和第三命令二者是否是读命令;以及
基于确定结果选择性地将第二命令在第三命令之前发送至非易失性存储器装置。
7.根据权利要求6所述的方法,其中,基于确定结果选择性地将第二命令在第三命令之前发送至非易失性存储器装置的步骤包括:
当第二命令和第三命令二者是读命令时,将第二命令在第三命令之前发送至非易失性存储器装置。
8.根据权利要求6所述的方法,其中,基于确定结果选择性地将第二命令在第三命令之前发送至非易失性存储器装置的步骤包括:
当第二命令和第三命令中的至少一个不是读命令时,将第三命令在第二命令之前发送至非易失性存储器装置。
9.根据权利要求1所述的方法,其中,基于比较结果选择性地将第二命令在第三命令之前发送至非易失性存储器装置的步骤包括:
当第三命令的块地址不包括第二命令的块地址时,确定第三命令的延迟计数是否小于参考值;以及
当延迟计数小于参考值时,将第二命令在第三命令之前发送至非易失性存储器装置,并且当延迟计数不小于参考值时,将第三命令在第二命令之前发送至非易失性存储器装置。
10.根据权利要求1所述的方法,还包括步骤:
在从非易失性存储器装置接收到对第一命令的响应和对第二命令的响应之后,将第三命令发送至非易失性存储器装置。
11.根据权利要求1所述的方法,其中,第一平面和第二平面中的每一个包括多个存储器块,第一平面的所述多个存储器块共享第一位线,并且第二平面的所述多个存储器块共享第二位线。
12.一种存储装置的操作方法,所述存储装置包括具有第一平面和第二平面的非易失性存储器装置和控制非易失性存储器装置的存储器控制器,所述方法包括步骤:
处理包括在存储器控制器的命令队列中的第一命令;
当第三命令排在第二命令之前时,对第二命令的块地址与第三命令的块地址进行比较;以及
根据比较结果在第三命令之前处理第二命令,其中,
第一命令是相对于第一平面的命令,第二命令是相对于第二平面的命令,并且第三命令是相对于第一平面和第二平面的命令。
13.根据权利要求12所述的操作方法,其中,处理第一命令的步骤包括:
通过非易失性存储器装置在第一平面上执行操作。
14.根据权利要求12所述的操作方法,其中,根据比较结果在第三命令之前处理第二命令的步骤包括:
当第三命令的块地址不包括第二命令的块地址的部分时,在第三命令之前处理第二命令。
15.根据权利要求12所述的操作方法,其中,根据比较结果在第三命令之前处理第二命令的步骤包括:
当第三命令的块地址包括第二命令的块地址的部分时,在第二命令之前处理第三命令。
16.一种通存储装置执行的方法,所述存储装置包括存储器控制器和非易失性存储器,所述方法包括步骤:
将第一命令从存储器控制器传达至非易失性存储器,所述第一命令在存储器控制器的命令队列中具有最高执行优先级;以及
当将在命令队列中相对于所述第一命令具有次高优先级的第二命令发送至与第一命令相同的非易失性存储器的平面时,将命令队列中的第三命令从存储器控制器传达至非易失性存储器,所述第三命令没有发送至与第一命令相同的非易失性存储器的平面,否则,将所述第二命令从存储器控制器传达至非易失性存储器。
17.根据权利要求16所述的方法,还包括步骤:
在非易失性存储器中同时执行所述第一命令和所述第二命令,或者同时执行所述第一命令和所述第三命令。
18.根据权利要求16所述的方法,其中,非易失性存储器没有两个平面利用相同的位线寻址非易失性存储器的一个或多个存储器单元。
19.根据权利要求16所述的方法,其中,所述第二命令和所述第三命令中的每一个是多平面命令的可分离命令,所述多平面命令控制非易失性存储器在非易失性存储器的两个不同平面上的操作。
20.根据权利要求16所述的方法,还包括步骤:
阻止所述第二命令到所述非易失性存储器的传达,直到所述非易失性存储器完成所述第一命令的执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0138578 | 2016-10-24 | ||
KR1020160138578A KR20180045102A (ko) | 2016-10-24 | 2016-10-24 | 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 저장 장치의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107977321A true CN107977321A (zh) | 2018-05-01 |
Family
ID=61969459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711000737.3A Withdrawn CN107977321A (zh) | 2016-10-24 | 2017-10-24 | 存储器控制器的操作方法和包括其的存储装置的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20180113803A1 (zh) |
KR (1) | KR20180045102A (zh) |
CN (1) | CN107977321A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113227957A (zh) * | 2018-11-29 | 2021-08-06 | 超威半导体公司 | 基于缓存行地址在流中聚合命令 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220056729A (ko) * | 2020-10-28 | 2022-05-06 | 삼성전자주식회사 | 커맨드 스케줄링을 수행하는 컨트롤러, 컨트롤러를 포함하는 스토리지 장치 및 컨트롤러의 동작 방법 |
US11868655B2 (en) * | 2021-08-25 | 2024-01-09 | Micron Technology, Inc. | Memory performance using memory access command queues in memory devices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135998A (zh) * | 2006-08-30 | 2008-03-05 | 国际商业机器公司 | 用于调度总线上的命令的方法和装置 |
US20100058003A1 (en) * | 2008-09-03 | 2010-03-04 | Akio Goto | Multi-plane data order |
US20140068159A1 (en) * | 2012-09-03 | 2014-03-06 | Samsung Electronics Co., Ltd. | Memory controller, electronic device having the same and method for operating the same |
CN103853668A (zh) * | 2012-12-04 | 2014-06-11 | 三星电子株式会社 | 存储器控制器及其执行的操作方法、以及存储器系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6490635B1 (en) * | 2000-04-28 | 2002-12-03 | Western Digital Technologies, Inc. | Conflict detection for queued command handling in disk drive controller |
US7418540B2 (en) * | 2004-04-28 | 2008-08-26 | Intel Corporation | Memory controller with command queue look-ahead |
US9026699B2 (en) * | 2013-09-23 | 2015-05-05 | Seagate Technology Llc | Command execution using existing address information |
KR20160007972A (ko) * | 2014-07-10 | 2016-01-21 | 삼성전자주식회사 | 불 휘발성 메모리 장치 및 메모리 컨트롤러, 그리고 그것의 동작 방법 |
US9639280B2 (en) * | 2015-06-18 | 2017-05-02 | Advanced Micro Devices, Inc. | Ordering memory commands in a computer system |
US10019161B2 (en) * | 2015-08-31 | 2018-07-10 | Sandisk Technologies Llc | Out of order memory command fetching |
US10175889B2 (en) * | 2016-03-10 | 2019-01-08 | Toshiba Memory Corporation | Memory system capable of accessing memory cell arrays in parallel |
KR102615659B1 (ko) * | 2016-07-08 | 2023-12-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 이의 동작 방법 |
-
2016
- 2016-10-24 KR KR1020160138578A patent/KR20180045102A/ko unknown
-
2017
- 2017-09-18 US US15/706,967 patent/US20180113803A1/en not_active Abandoned
- 2017-10-24 CN CN201711000737.3A patent/CN107977321A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101135998A (zh) * | 2006-08-30 | 2008-03-05 | 国际商业机器公司 | 用于调度总线上的命令的方法和装置 |
US20100058003A1 (en) * | 2008-09-03 | 2010-03-04 | Akio Goto | Multi-plane data order |
US20140068159A1 (en) * | 2012-09-03 | 2014-03-06 | Samsung Electronics Co., Ltd. | Memory controller, electronic device having the same and method for operating the same |
CN103853668A (zh) * | 2012-12-04 | 2014-06-11 | 三星电子株式会社 | 存储器控制器及其执行的操作方法、以及存储器系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113227957A (zh) * | 2018-11-29 | 2021-08-06 | 超威半导体公司 | 基于缓存行地址在流中聚合命令 |
Also Published As
Publication number | Publication date |
---|---|
US20180113803A1 (en) | 2018-04-26 |
KR20180045102A (ko) | 2018-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10236065B2 (en) | Nonvolatile memory device including multi-plane structure | |
US20160011779A1 (en) | Nonvolatile memory device, memory controller, and operating method of the same | |
CN107578793A (zh) | 非易失性存储器系统和非易失性存储器装置的操作方法 | |
US11651829B2 (en) | Nonvolatile memory device and operation method thereof | |
CN110069212A (zh) | 存储装置及存储装置的操作方法 | |
CN110780802B (zh) | 存储器控制器及其操作方法 | |
CN109427400A (zh) | 存储器装置及其操作方法 | |
CN110390970A (zh) | 存储器装置及其操作方法 | |
US11698748B2 (en) | Memory comprising memory controller configured to determine a logical address of a target zone system and method of operating the memory controller | |
US9671969B2 (en) | Data storage having recovery function for threshold voltage distribution change of memory cells due to applying surface mounting technology and operating method | |
TWI699770B (zh) | 記憶體系統及其操作方法 | |
US9804785B2 (en) | Nonvolatile memory adaptive to host boot up routine | |
US11133068B2 (en) | Memory device, memory controller, memory system and method for operating memory system | |
US20160284403A1 (en) | Updating Resistive Memory | |
US9424933B2 (en) | Nonvolatile memory system, method of operating the same and method of manufacturing the same | |
KR102407575B1 (ko) | 메모리 장치 및 그 동작 방법 | |
TW201730890A (zh) | 半導體記憶體裝置及其操作方法 | |
CN110287130A (zh) | 存储装置及其操作方法 | |
CN113035254A (zh) | 存储装置及其操作方法 | |
CN109933540A (zh) | 存储装置及其操作方法 | |
CN111798904A (zh) | 非易失性存储器装置、其操作方法和存储器系统 | |
WO2015033417A1 (ja) | 半導体記憶装置及びデータ書き込み方法 | |
CN107977321A (zh) | 存储器控制器的操作方法和包括其的存储装置的操作方法 | |
US20210191654A1 (en) | Memory system and memory controller | |
CN106504788B (zh) | 具有空闲存储器件的存储系统及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180501 |