CN112214163A - 存储器控制器以及包括其的存储器系统 - Google Patents
存储器控制器以及包括其的存储器系统 Download PDFInfo
- Publication number
- CN112214163A CN112214163A CN202010198304.9A CN202010198304A CN112214163A CN 112214163 A CN112214163 A CN 112214163A CN 202010198304 A CN202010198304 A CN 202010198304A CN 112214163 A CN112214163 A CN 112214163A
- Authority
- CN
- China
- Prior art keywords
- memory
- instruction
- data
- die
- blocks
- 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
- 239000000872 buffer Substances 0.000 claims abstract description 102
- 238000012545 processing Methods 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 11
- 238000012546 transfer Methods 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 23
- 230000004044 response Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 3
- 101000741396 Chlamydia muridarum (strain MoPn / Nigg) Probable oxidoreductase TC_0900 Proteins 0.000 description 3
- 101000741399 Chlamydia pneumoniae Probable oxidoreductase CPn_0761/CP_1111/CPj0761/CpB0789 Proteins 0.000 description 3
- 101000741400 Chlamydia trachomatis (strain D/UW-3/Cx) Probable oxidoreductase CT_610 Proteins 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 101000711846 Homo sapiens Transcription factor SOX-9 Proteins 0.000 description 2
- 101100232371 Hordeum vulgare IAT3 gene Proteins 0.000 description 2
- 102100034204 Transcription factor SOX-9 Human genes 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 102100034033 Alpha-adducin Human genes 0.000 description 1
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 1
- 102100024348 Beta-adducin Human genes 0.000 description 1
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 1
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 1
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/3017—Runtime instruction translation, e.g. macros
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0607—Interleaved addressing
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本申请涉及一种存储器控制器。该存储器控制器包括:缓冲存储器,被配置成存储编程数据;指令集配置器,被配置成配置指令集,该指令集描述将缓冲存储器中存储的编程数据编程到目标存储块的程序;指令集执行器,被配置成顺序地执行指令集中的指令,并且在完成执行指令之中的最后指令时生成中断;以及中央处理单元,被配置成当从指令集执行器接收到中断时,擦除缓冲存储器中存储的编程数据。指令集配置器可以根据目标存储块之中是否存在非交错块组而不同地配置指令集。
Description
相关申请的交叉引用
本申请要求于2019年7月11日提交的申请号为10-2019-0084083的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用整体并入本文。
技术领域
本公开涉及一种存储器控制器和包括该存储器控制器的存储器系统,并且更特别地,涉及一种用于执行编程操作的存储器控制器和包括该存储器控制器的存储器系统。
背景技术
存储器系统可以包括存储器控制器和存储器装置。
响应于从主机接收的编程请求、逻辑地址和数据,存储器控制器可以分配与所接收的逻辑地址相对应的物理地址,并且可以控制存储器装置,以便将数据存储在所分配的物理地址中。
发明内容
本公开的实施例提供了一种能够使编程操作完成的存储器控制器和包括该存储器控制器的存储器系统。
根据本公开的实施例的一种存储器控制器可以包括:缓冲存储器,被配置成存储编程数据;指令集配置器,被配置成配置指令集,该指令集描述将缓冲存储器中存储的编程数据编程到目标存储块的程序;指令集执行器,被配置成顺序地执行指令集中的指令,并且在完成执行指令之中的最后指令时生成中断;以及中央处理单元,被配置成当从指令集执行器接收到中断时,擦除缓冲存储器中存储的编程数据,其中指令集配置器根据目标存储块之中是否存在非交错块组而不同地配置指令集。
根据本公开的实施例的一种存储器系统可以包括:第一管芯,包括非交错块组;第二管芯,包括交错块组;以及存储器控制器,被配置成将第一数据的第一部分数据从缓冲存储器传输到第一管芯,以将第一部分数据编程到非交错块组中;在传输第一部分数据之后,将第二数据从缓冲存储器传输到第二管芯以将第二数据编程到交错块组中;在传输第二数据之后,将第一数据中的第二部分数据从缓冲存储器传输到第一管芯,以将第二部分数据编程到非交错块组中,并且在传输第二部分数据之后,擦除缓冲存储器中存储的第一数据和第二数据。
根据本公开的实施例的一种存储器系统可以包括:存储器装置,包括共享单个通道的第一管芯和第二管芯,第一管芯包括位于该第一管芯的单个平面内的第一和第二存储块,第二管芯包括位于该第二管芯的不同平面内的存储块组;缓冲器,被配置成缓冲第一至第三条数据;以及控制器,被配置成控制存储器装置以执行顺序地将第一至第三条分别存储到第一存储块、存储块组和第二存储块中的编程操作,并且在完成编程操作时,从缓冲器中删除第一至第三条数据,其中根据平面交错方案来对存储块组执行编程操作。
根据本发明的实施例,因为在能够使编程操作完成的限制内,可以快速地擦除缓冲存储器中存储的编程数据,因此可以快速地确保缓冲存储器的容量。
附图说明
图1是示出根据本公开的实施例的存储器系统的示图。
图2是示出图1所示的管芯中的代表性管芯的示例性组件的示图。
图3和图4是示出图2所示的存储器单元阵列和页面缓冲器组的示图。
图5是示出超级块和交错块组的示图。
图6和图7是示出替换超级块和非交错块组的示图。
图8是示出图1所示的存储器控制器的示图。
图9是示出描述符的示图。
图10至图12是示出指令集的示图。
图13至图16是示出包括图1和图8所示的存储器控制器的存储器系统的另一示例的示图。
具体实施方式
参照图1,根据本公开的实施例的存储器系统2000可以包括存储数据的存储器装置2200,以及根据主机1000的请求控制存储器装置2200的存储器控制器2100。
主机1000可以是将数据存储在存储器系统2000中或从存储器系统2000检索数据的任何合适的装置或系统。例如,主机1000可以包括计算机、便携式数字装置、平板电脑、数码相机、数字音频播放器、电视机、无线通信装置和/或移动电话,但是本公开的实施例不限于此。
存储器控制器2100可以控制存储器系统2000的全部操作。存储器控制器2100可以根据来自主机1000的请求而执行各种操作。例如,存储器控制器2100可以对存储器装置2200执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器控制器2100可以将编程命令、地址、数据等传输到存储器装置2200。在读取操作期间,存储器控制器2100可以将读取命令、地址等传输到存储器装置2200,并从存储器装置2200接收读取数据。在擦除操作期间,存储器控制器2100可以将擦除命令、地址等传输到存储器装置2200。
存储器装置2200可以在存储器控制器2100的控制下执行编程操作、读取操作、擦除操作等。存储器装置2200可以包括一个或多个管芯,例如,管芯D11至D1i、D21至D2i以及Dk1至Dki,其中k和i为自然数。例如,管芯D11至D1i、D21至D2i以及Dk1至Dki中的每个可以被实施为当切断电源时所存储的数据丢失的易失性存储器装置,或者被实施为即使当切断电源时所存储的数据也会保留的非易失性存储器装置。例如,管芯D11至D1i、D21至D2i以及Dk1至Dki可以是NAND闪速存储器装置。
管芯D11至D1i、D21至D2i以及Dk1至Dki可以通过多个通道CH1至CHk连接到控制器2100。例如,管芯D11至D1i可以连接到第一通道CH1,管芯D21至D2i可以连接到第二通道CH2,并且管芯Dk1至Dki可以连接到第k通道CHk。
管芯D11至D1i、D21至D2i以及Dk1至Dki中的每个可从存储器控制器2100接收编程命令、地址和数据,并根据编程命令和地址来存储数据。管芯D11至D1i、D21至D2i以及Dk1至Dki中的每个可以根据从存储器控制器2100接收的读取命令和地址来执行读取操作,并且可以将读取数据提供到存储器控制器2100。管芯D11至D1i、D21至D2i以及Dk1至Dki中的每个可以根据从存储器控制器2100接收的擦除命令和地址来执行擦除操作。
图2是示出图1所示的管芯中的代表性管芯的配置的示图。
参照图2,管芯Dki可以包括存储数据的存储器单元阵列2210以及外围电路,外围电路包括用于执行编程操作、读取操作或擦除操作的电压生成器2220、行解码器2230、页面缓冲器组2240、列解码器2250和输入/输出电路2260,以及控制该外围电路的控制逻辑2270。
存储器单元阵列2210可以包括多个平面。每个平面可以包括存储数据的多个存储块。存储块中的每个可以包括多个存储器单元。存储器单元可以被实施为存储器单元平行于衬底布置的二维结构或者存储器单元以垂直方向堆叠在衬底上的三维结构。将参照图3和图4,更详细地描述存储器单元阵列2210。
电压生成器2220可响应于操作信号OPS而生成各种操作所需的操作电压Vop。例如,操作电压Vop可以包括编程电压、验证电压、读取电压、通过电压和/或擦除电压。电压生成器2220可以将生成的操作电压Vop输出到行解码器2230。
行解码器2230可以通过连接到存储器单元阵列2210中包括的存储块之中的、根据行地址RADD而选择的存储块的局部线来传输操作电压Vop。
页面缓冲器组2240可以包括连接到位线的多个页面缓冲器。页面缓冲器组2240可以包括分别与管芯Dki中包括的平面相对应的页面缓冲器或多层缓冲器。页面缓冲器或多层缓冲器可以响应于控制信号PBSIG而在编程操作、读取操作和验证操作期间临时存储数据。页面缓冲器或多层缓冲器中的每个可以包括多个锁存器,多个锁存器用于在编程操作、读取操作和验证操作期间临时存储数据。参照图3和图4,更详细地描述页面缓冲器组2240。
列解码器2250可以在编程操作期间,响应于列地址CADD而将从输入/输出电路2260接收的数据传送到页面缓冲器组2240,或者可以在读取操作期间,将从页面缓冲器组2240接收的数据传送到输入/输出电路2260。
输入/输出电路2260可以通过通道CHk中包括的输入/输出线而连接到图1的控制器2100,以输入/输出命令CMD、地址ADD和数据DATA。例如,在编程操作期间,输入/输出电路2260可以将从控制器2100接收的命令CMD和地址ADD传输至控制逻辑2270,并且可以将数据DATA传输至列解码器2250。输入到输入/输出电路2260的地址ADD可以是控制器2100输出的物理地址。例如,在读取操作期间,输入/输出电路2260可以通过输入/输出线,将从列解码器2250接收的数据DATA输出到控制器2100。
控制逻辑2270可以响应于通过输入/输出电路2260接收的命令CMD和地址ADD,控制外围电路以及外围电路中的单独组件2220、2230、2240、2250和2260。控制逻辑2270可以响应于命令CMD而生成操作信号OPS和控制信号PBSIG,并且可以响应于地址ADD而生成行地址RADD和列地址CADD。行地址RADD可以输出到行解码器2230,并且列地址CADD可以输出到列解码器2250。
图3是示出图2所示的存储器单元阵列和页面缓冲器组的示图。
存储器单元阵列2210可以包括多个平面。在图3中,示出了两个平面,即平面12212和平面2 2214,被包括在存储器单元阵列2210中的示例,但是本公开的实施例不限于此。例如,三个或更多个平面可以被包括在存储器单元阵列2210中。
平面2212和2214中的每个可以包括多个存储块。在图3中,在平面2212和2214中分别包括k个存储块BLK 11至BLK 1k和BLK 21至BLK 2k,其中k为2或更大的整数。尽管图3示出了平面2212和2214中的每个具有相同数量的存储块,但是本发明不限于该配置;在所有实施例中,这些平面不必具有相同数量的存储块。
存储块BLK 11至BLK 1k和BLK 21至BLK 2k中的每个可以包括多个物理页面。存储块中的每个的页面数量可以相同或不同。物理页面中的每个可以包括多个存储器单元。
物理页面中的每个可以包括一个逻辑页面。例如,当存储块BLK 11至BLK 1k和BLK21至BLK 2k是以单层单元(SLC)模式操作的SLC块时,存储块BLK 11至BLK 1k和BLK 21至BLK 2k中的物理页面中的每个可以包括一个逻辑页面。
页面缓冲器组2240可以包括与存储器单元阵列2210中包括的平面中的每个相对应的页面缓冲器。例如,当两个平面2212和2214被包括在存储器单元阵列2210中时,页面缓冲器组2240可以包括与平面12212相对应的页面缓冲器1 2242和与平面2 2214相对应的页面缓冲器22244。
页面缓冲器2242和2244中的每个可以存储一个逻辑页面数据。一个逻辑页面数据可以包括与一个物理页面中包括的存储器单元的数量相同的数据位。
可以将页面缓冲器1 2242中存储的逻辑页面数据编程在平面12212中的存储块BLK 11至BLK 1k中的任意一个存储块中的物理页面中,并且可以将页面缓冲器2 2244中存储的逻辑页面数据编程在平面22214中的存储块BLK 21至BLK 2k中的任意一个存储块中的物理页面中。当在编程操作期间使用平面交错方法时,可以同时编程页面缓冲器1 2242中存储的逻辑页面数据和页面缓冲器2 2244中存储的逻辑页面数据。
图4是示出图2所示的存储器单元阵列和页面缓冲器组的示例的示图。
存储器单元阵列2210可以包括多个平面。在图4中,示出了两个平面,即平面12212和平面2 2214被包括在存储器单元阵列2210中的示例,但是本公开的实施例不限于此。例如,三个或更多个平面可以被包括在存储器单元阵列2210中。
平面2212和2214中的每个可以包括多个存储块。在图4中,在平面2212和2214中分别包括k个存储块BLK 11至BLK 1k和BLK 21至BLK 2k,其中k为2或更大的整数。尽管图4示出了平面2212和2214中的每个具有相同数量的存储块,但是本发明不限于该配置;在所有实施例中,这些平面不必具有相同数量的存储块。
存储块BLK 11至BLK 1k和BLK 21至BLK 2k中的每个可以包括多个物理页面。存储块中的每个的页面数量可以相同或不同。物理页面中的每个可以包括多个存储器单元。
物理页面中的每个可以包括多个逻辑页面。例如,当存储块BLK 11至BLK 1k和BLK21至BLK 2k是以m位多层单元(MLC)模式操作的m位MLC块时,存储块BLK 11至BLK 1k和BLK21至BLK 2k中的物理页面中的每个可以包括m个逻辑页面,其中m为自然数。在图4中,作为示例,示出了如下情况:存储块BLK 11至BLK 1k和BLK 21至BLK 2k是2位MLC块,即存储块BLK 11至BLK 1k和BLK 21至BLK 2k中的每个包括两个逻辑页面(最低有效位(LSB)页面和最高有效位(MSB)页面),但是本公开的实施例不限于此。例如,存储块BLK 11至BLK 1k和BLK 21至BLK 2k可以是3位MLC块(可以称为TLC块)或4位MLC块(可以称为QLC块)。
页面缓冲器组2240可以包括分别与存储器单元阵列2210中包括的平面相对应的页面缓冲器。例如,当两个平面2212和2214被包括在存储器单元阵列2210中时,页面缓冲器组2240可以包括与平面1 2212相对应的页面缓冲器1 2242和与平面2 2214相对应的页面缓冲器2 2244。
页面缓冲器2242和2244中的每个可以包括多个逻辑页面缓冲器。在图4中,作为示例,页面缓冲器2242包括两个逻辑页面缓冲器,即LSB页面缓冲器2242a和MSB页面缓冲器2242b,并且页面缓冲器2244包括两个逻辑页面缓冲器,即LSB页面缓冲器2244a和MSB页面缓冲器2244b,但是本公开的实施例不限于此。例如,当存储块BLK 11至BLK 1k和BLK 21至BLK 2k是m位MLC块时,页面缓冲器2242和2244中的每个可以包括用于m个逻辑页面的m个逻辑页面缓冲器。例如,当存储块BLK 11至BLK 1k和BLK 21至BLK 2k是3位MLC块时,页面缓冲器2242和2244中的每个可以包括三个逻辑页面缓冲器,当块BLK 11至BLK 1k和块BLK 21至BLK 2k是4位MLC块时,页面缓冲器2242和2244中的每个可以包括四个逻辑页面缓冲器。
逻辑页面缓冲器2242a、2242b、2244a和2244b中的每个可以存储一个逻辑页面数据。例如,逻辑页面缓冲器2242a和2244a中的每个可以存储LSB页面数据,并且逻辑页面缓冲器2242b和2244b中的每个可以存储MSB页面数据。一个逻辑页面数据可以包括与一个物理页面中存在的存储器单元相同数量的数据位。
可以将页面缓冲器1 2242中存储的多条逻辑页面数据(LSB页面数据和MSB页面数据)编程在平面1 2212中的存储块BLK 11至BLK 1k的任意一个存储块中的物理页面中,并且可以将页面缓冲器2 2244中存储的多条逻辑页面数据(LSB页面数据和MSB页面数据)编程在平面22214中的存储块BLK 21至BLK 2k的任意一个存储块中的物理页面中。当在编程操作期间使用平面交错方法时,可以同时编程页面缓冲器12242中存储的多条逻辑页面数据和页面缓冲器2 2244中存储的多条逻辑页面数据。
在以下描述中,假设存储块是SLC块,但是本公开的实施例可以等同地应用于存储块是m位MLC块的情况。
图5是示出超级块和交错块组的示图。
在图5中,作为示例,示出了图1所示的管芯之中的连接到通道CHk的管芯Dk1和Dk2。
存储器控制器2100可以通过逻辑地连接多个管芯Dk1和Dk2中的存储块以配置超级块,从而提高存储器系统2000的并行处理性能。
作为示例,一个超级块可以包括管芯Dk1和Dk2中的每个中的每平面中的一个存储块。例如,管芯Dk1的平面1中的存储块BLK 11、管芯Dk1的平面2中的存储块BLK 21、管芯Dk2的平面3中的存储块BLK 31和管芯Dk2的平面4中的存储块BLK 41可以配置一个超级块1Super BLK1。以相同的原理,可以配置另一超级块Super BLK2。
存储块BLK 13、BLK 23、BLK 33和BLK 43可用于替换超级块中的存储块之中的坏存储块。
管芯Dk1和Dk2可以以管芯交错方法操作。即,管芯Dk1和Dk2可以彼此并行地操作。例如,可以在对管芯DK1执行编程操作的同时,对管芯DK2执行编程操作。
超级块Super BLK 1和Super BLK 2中的每个可以包括交错块组。交错块组中的每个可以包括与一个管芯中包括的平面的数量一样多的存储块,并且可以包括每个平面中包括的存储块中的一个存储块。即,交错块组中的每个可以包括相同管芯中包括的存储块之中的、包括在不同平面中的存储块。例如,管芯Dk1的平面1中包括的存储块BLK 11和管芯Dk1的平面2中包括的存储块BLK 21可以配置一个交错块组。
相同的交错块组中包括的存储块可以以平面交错方法操作。即,可以对相同的交错块组中包括的存储块并行地执行编程操作。例如,可以对相同的交错块组中包括的存储块BLK 11和存储块BLK 21同时执行编程操作。
图6和图7是示出替换超级块和非交错块组的示图。
当配置超级块的存储块之中出现坏存储块时,存储器控制器2100利用与坏存储块相同的管芯中包括的存储块中的一个存储块来替换该坏存储块,以配置替换超级块。替换坏存储块的存储块可以被称为替换存储块。
在实施例中,存储器控制器2100可以利用一个平面中的替换存储块来替换不同平面中的坏存储块。在这种情况下,可以保持交错块组。在图6中示出了保持交错块组的情况的示例。
在图6中,示出了通过利用替换存储块BLK 23来替换管芯Dk1中的坏存储块BLK 22而生成替换超级块2(Replacement super BLK2)的示例。在图6所示的示例中,替换超级块2中的存储块BLK 12和替换存储块BLK 23属于不同的平面,即它们分别属于平面1和平面2。因此,存储块BLK 12和替换存储块BLK 23可以以平面交错方法操作,并且存储块BLK 12和替换存储块BLK 23可以被称为交错块组。
在实施例中,存储器控制器2100可以利用一个平面中的替换存储块来替换相同平面中的坏存储块。在这种情况下,可能不会保持交错块组。在图7中示出了未保持交错块组的情况的示例。
在图7中,示出了通过利用替换存储块BLK 13替换管芯Dk1中的坏存储块BLK 22而生成替换超级块2的示例。在图7所示的示例中,替换超级块2中的存储块BLK12和替换存储块BLK 13属于相同的平面,即平面1。因此,存储块BLK 12和替换存储块BLK 13可能不会以平面交错方法操作,并且存储块BLK 12和替换存储块BLK 13可以被称为非交错块组。
非交错块组可以包括与一个管芯中的平面一样多的存储块,并且非交错块组中包括的存储块可以属于相同平面。
图8是示出图1所示的存储器控制器的示例的示图。
存储器控制器2100可以包括主机接口2110、中央处理单元2120、存储器接口2130、缓冲存储器2140、错误校正电路2150和/或内部存储器2160。主机接口2110、存储器接口2130、缓冲存储器2140、错误校正电路2150和内部存储器2160可以由中央处理单元2120控制。
主机接口2110可以将从主机1000接收的编程请求、读取请求、擦除请求等传送到中央处理单元2120。主机接口2110可以将从主机1000接收的编程数据存储在缓冲存储器2140中。
主机接口2110可以使用各种接口协议中的任何一个与主机1000通信。例如,主机接口2110可以使用高速非易失性存储器(NVMe)、高速外围组件互连(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、移动工业处理器接口(MIPI)、通用闪存(UFS)、小型计算机小型接口(SCSI)和/或串列SCSI(SAS)与主机100通信,但是本公开的实施例不限于此。
中央处理单元2120可以包括地址分配器2120a、描述符生成器2120b和缓冲存储器管理器2120c。
地址分配器2120a可以确定缓冲存储器2140中存储的编程数据待存储到的存储区域,并且分配与确定的存储区域相对应的虚拟地址,该确定的存储区域与编程数据相对应。本文中,待存储编程数据的存储区域可以对应于一个超级块,并且虚拟地址可以是用于识别超级块的信息。例如,虚拟地址可以包括关于管芯的信息和/或关于超级块的信息。地址分配器2120a可以将与编程数据相对应的虚拟地址提供到描述符生成器2120b。
描述符生成器2120b可以生成用作工作指令的描述符,其中描述了将缓冲存储器2140中存储的编程数据编程到目标存储块(例如,一个超级块)所需的工作项目。描述符可以包括操作信息、数据位置信息和/或从地址分配器2120a提供的虚拟地址。描述符生成器2120b可以在描述符中的工作项目之中的最后工作之后插入指示中断的信息。稍后参照图9描述描述符的示例。
缓冲存储器管理器2120c可以监视缓冲存储器2140中存储的编程数据。在缓冲存储器2140中收集了足够的编程数据以填充一个存储区域(例如,一个超级块)的情况下,缓冲存储器管理器2120c可以通知地址分配器2120a。当从存储器接口2130接收到中断时,缓冲存储器管理器2120c可以擦除缓冲存储器2140中存储的编程数据。
存储器接口2130可以包括存储块管理器2130a、指令集配置器2130b和指令集执行器2130c。
存储块管理器2130a可以管理超级块和替换超级块。例如,存储块管理器2130a可以管理虚拟地址和物理地址之间的映射关系。例如,物理地址可以对应于超级块中的存储块或替换超级块中包括的存储块。
当超级块中包括的存储块之中存在坏存储块时,存储块管理器2130a可以利用替换存储块来替换坏存储块。
存储块管理器2130a可以管理关于替换超级块中的存储块是交错块组还是非交错块组的信息。例如,存储块管理器2130a可以管理关于替换超级块中的存储块之中的哪个管芯是交错块组或非交错块组的信息。
存储块管理器2130a可以监视从描述符生成器2120b接收的描述符,并且检查描述符中的虚拟地址是对应于超级块还是替换超级块。当描述符中的虚拟地址对应于替换超级块时,存储块管理器2130a可以检查在替换超级块中是否存在非交错块组。
当描述符中的虚拟地址对应于超级块或不包括非交错块组的替换超级块时,存储块管理器2130a可以将指示不存在非交错块组的信息提供到指令集配置器2130b。
当描述符中的虚拟地址对应于包括非交错块组的替换超级块时,存储块管理器2130a可以将指示非交错块组位于何处的信息提供到指令集配置器2130b。
指令集配置器2130b可以从描述符生成器2120b接收描述符,并且基于接收的描述符配置指令集。指令集配置器2130b可以将配置的指令集提供到指令集执行器2130c。
在指令集中,可以描述执行描述符中描述的工作项目所需的程序。例如,在指令集中,可以描述将缓冲存储器2140中存储的编程数据编程到目标存储块(例如,超级块或替换超级块)中的指令。
指令集配置器2130b可以根据目标存储块(例如,超级块或替换超级块)之中是否存在非交错块组而不同地配置指令集。
例如,假设目标存储块包括管芯1中的非交错块组和管芯2中的交错块组。在这种情况下,指令集配置器2130b可以分开地配置与Die 1中的非交错块组中的存储块之中的第一存储块相对应的第一指令以及与Die 1中的非交错块组中的存储块之中的第二存储块相对应的第二指令。另外,指令集配置器2130b可以与第一和第二指令分开地配置与Die2中的交错块组相对应的第三指令。指令集配置器2130b可以配置指令集,使得第二指令位于第三指令之后,因此在第三指令之后执行第二指令。
例如,假设目标存储块包括Die 1中的第一交错块组和Die 2中的第二交错块组。在这种情况下,指令集配置器2130b可以分开地配置与第一交错块组相对应的指令和与第二交错块组相对应的指令。
稍后参照图10至图12描述指令集的示例。
指令集执行器2130c可以从指令集配置器2130b接收指令集,并按照接收的指令集中的顺序来顺序地执行指令。例如,指令集执行器2130c可以根据指令集中描述的指令,将命令、物理地址和编程数据传输到包括目标存储块的管芯。另外,当与特定管芯相对应的第一指令集中包括保留(holding)指令时,指令集执行器2130c可以保留执行也与该管芯相对应的第二指令集,使得暂停对该特定管芯的访问,直到完成执行第一指令集。
当完成执行指令集中的指令之中的最后指令时,指令集执行器2130c可以生成并提供中断到中央处理单元2120。
在存储器控制器2100控制存储器装置2200时,缓冲存储器2140可以临时存储数据。例如,缓冲存储器2140可以存储编程数据。
错误校正电路2150可以在编程操作期间执行错误校正编码,并且可以在读取操作期间执行错误校正解码。
内部存储器2160可以用作用于存储存储器控制器2100的操作所需的各条信息的存储装置。
图9是示出描述符的示例的示图。
描述符可以包括操作信息、数据位置信息和/或虚拟地址。
操作信息可以指示待执行的操作是编程操作、读取操作、擦除操作还是待机操作。在图9中,示出了指示编程操作的信息Data In和指示待机操作的信息Tprog的示例。
数据位置信息可以指示编程数据在缓冲存储器上存储的位置。在图9中,示出了关于编程数据的第一数据存储在何处的信息pDATA(1-2)和关于编程数据的第二数据存储在何处的信息pDATA(3-4)的示例。
虚拟地址可以包括与超级块和/或管芯相对应的信息。在图9中,示出了与超级块相对应的索引信息SB1和与管芯相对应的索引信息Die 1和Die 2的示例。
描述符的第一句法(Data In/pDATA(1-2)/Die 1/SB1)可以指示将缓冲存储器的存储位置pDATA(1-2)中存储的第一数据传输到Die 1中包括的超级块SB1的操作。
描述符的第二句法(Tprog/Die 1)可以指示等待对传输至Die 1的第一数据进行编程的时间的操作。
描述符的第三句法(Data In/pDATA(3-4)/Die 2/SB1)可以指示将缓冲存储器的存储位置pDATA(3-4)中存储的第二数据传输到Die 2中包括的超级块SB1的操作。
描述符的第四句法(Tprog/Die 2/ITR)可以指示等待对传输至Die 2的第二数据进行编程的时间的操作。
作为描述符的最后句法的第四句法(Tprog/Die 2/ITR)可以包括指示当完成执行与相应句法相对应的指令时生成中断的信息(ITR)。
图10是示出指令集的示图。
图10示出在目标存储块之中不存在非交错块组的情况。
指令集可以包括与描述符中包括的每个句法相对应的指令。例如,指令集可以包括与描述符的第一句法(Data In/pDATA(1-2)/Die 1/SB1)相对应的指令1-1、1-2和1-3;与描述符的第二句法(Tprog/Die 1)相对应的指令2;与描述符的第三句法(Data In/pDATA(3-4)/Die 2/SB1)相对应的指令3-1、3-2和3-3;以及与描述符的第四句法(Tprog/Die 2/ITR)相对应的指令4。如描述符中所述,指令集中的指令之中的最后指令4可以包括指示当完成执行最后指令4时生成中断的信息(ITR)。
根据指令1-1、1-2和1-3,可以将命令CMD1、地址ADD1-2和数据DATA 1-2传输到Die1,并且可以执行待机操作,直到在Die 1中完成了编程操作。
类似地,根据指令3-1、3-2和3-3,可以将命令CMD2、地址ADD3-4和数据DATA 3-4传输到Die 2,并且可以执行待机操作,直到在Die 2中完成了编程操作。当待机操作完成时,可以发生中断。因此,可以从缓冲存储器中擦除编程数据。
图11是示出示例性指令集的示图。
图11示出在目标存储块之中存在非交错块组的情况。省略与图10重复的描述。
当目标存储块之中存在非交错块组时,可以分开地配置与非交错块组中包括的存储块相对应的指令。在图11中,作为示例,示出了Die 1中的存储块是非交错块组的情况。
指令集可以包括与描述符的第一句法(Data In/pDATA(1-2)/Die 1/SB1)相对应的指令1-1、1-2、1-3、5-1、5-2和5-3;与描述符的第二句法(Tprog/Die 1)相对应的指令2和6;与描述符的第三句法(Data In/pDATA(3-4)/Die 2/SB1)相对应的指令3-1、3-2和3-3;以及与描述符的第四句法(Tprog/Die 2/ITR)相对应的指令4。如描述符中所述,位于指令集中的指令的中部的指令4可以包括指示当完成执行指令4时生成中断的信息(ITR)。
根据指令1-1、1-2和1-3,可以将命令CMD1、地址ADD1和数据DATA 1传输到Die 1,并且可以执行待机操作,直到在Die 1中完成对数据DATA 1的编程操作。
类似地,根据指令3-1、3-2和3-3,可以将命令CMD2、地址ADD3-4和数据DATA 3-4传输到Die 2,并且可以执行待机操作,直到在Die 2中完成对数据DATA 3-4的编程操作。
类似地,根据指令5-1、5-2和5-3,可以将命令CMD3、地址ADD2和数据DATA 2传输到Die 1,并且可以执行待机操作,直到在Die 1中完成对数据DATA 2的编程操作。
因为指令集包括指示当完成执行指令4时生成中断的信息ITR,所以当完成对数据DATA 3-4的编程操作时发生中断。因此,可以从缓冲存储器中擦除编程数据。
然而,当完成执行指令4时,可能无法确保指令5-1、5-2、5-3和6的完成。例如,可能在未将数据DATA 2传输到Die 1或者未完成对数据DATA 2的编程操作的状态下完成了指令4的执行。即,可能在未将数据DATA 2传输到Die 1或者未完成对数据DATA 2的编程操作的状态下发生中断。因此,可能出现在未传输数据DATA 2的状态下擦除缓冲存储器中存储的编程数据,或者在对数据DATA 2的编程操作失败的状态下擦除缓冲存储器中存储的编程数据的问题,因此需要重新传输数据DATA 2。
图12是示出示例性指令集的示图。
图12示出在目标存储块之中存在非交错块组的情况。省略与图11重复的描述。
当目标存储块之中存在非交错块组时,可以分开地配置与非交错块组中的存储块相对应的指令。在图12中,作为示例,示出了Die 1中包括的存储块是非交错块组的情况。
指令集可以包括与描述符的第一句法(Data In/pDATA(1-2)/Die 1/SB1)相对应的指令1-1、1-2、1-3、5-1、5-2和5-3;与描述符的第二句法(Tprog/Die 1)相对应的指令2和6;与描述符的第三句法(Data In/pDATA(3-4)/Die 2/SB1)相对应的指令3-1、3-2和3-3;以及与描述符的第四句法(Tprog/Die 2/ITR)相对应的指令4。
与图11的实施例相反,在图12的实施例中,位于指令集中的指令的末端的指令6可以包括指示当完成执行指令6时生成中断的信息。另外,与描述符的第四句法(Tprog/Die2/ITR)相对应的指令4可以不包括指示当完成执行指令4时生成中断的信息。
与参照图11描述的实施例类似,在图12的实施例中,可以顺序地执行指令1-1、1-2、1-3,指令2,指令3-1、3-2和3-3,指令4,指令5-1、5-2和5-3以及指令6。
因为指令集包括指示当完成执行指令6时生成中断的信息ITR,因此当完成对数据DATA 2的编程操作时发生中断。因此,可以从缓冲存储器中擦除编程数据。即,根据图12所示的实施例,可以成功地完成描述符中描述的所有工作项目。
在与Die 1相对应的指令之中,指令2可以包括用于禁止除了当前正在执行的指令集之外的指令集中的指令访问Die 1的信息(HOLD)。因此,可以在完成执行指令5-1、5-2、5-3、6之前,防止将除了数据DATA 2之外的数据传输到Die 1。
图13是示出包括图1和图8所示的存储器控制器的存储器系统的另一示例的示图。
参照图13,存储器系统30000可以被实施为移动电话、智能电话、平板电脑、个人计算机(PC)、个人数字助理(PDA)或无线通信装置。存储器系统30000可以包括存储器装置2200和能够控制存储器装置2200的操作的存储器控制器2100。
存储器控制器2100可以在处理器3100的控制下,控制存储器装置2200的数据访问操作,例如,编程操作、擦除操作、读取操作等。
可以在存储器控制器2100的控制下,通过显示器3200输出在存储器装置2200中编程的数据。
无线电收发器3300可以通过天线ANT而发射和接收无线电信号。例如,无线电收发器3300可以将通过天线ANT接收的无线电信号转换成可以由处理器3100处理的信号。因此,处理器3100可以处理从无线电收发器3300输出的信号,并将处理后的信号传输到存储器控制器2100或显示器3200。存储器控制器2100可以将由处理器3100处理的信号传输到存储器装置2200。另外,无线电收发器3300可以将从处理器3100输出的信号转换成无线电信号,并且通过天线ANT将无线电信号输出到外部装置。输入装置3400可以是能够输入用于控制处理器3100的操作的控制信号或待由处理器3100处理的数据的装置。输入装置3400可以被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。处理器3100可以控制显示器3200的操作,使得通过显示器3200输出从存储器控制器2100输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据。
根据实施例,能够控制存储器装置2200的操作的存储器控制器2100可以被实施为处理器3100的一部分,并且可以被实施为与处理器3100分离的芯片。
图14是示出包括图1和图8所示的存储器控制器的存储器系统的另一示例的示图。
参照图14,存储器系统40000可以被实施为个人计算机(PC)、平板电脑、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器。
存储器系统40000可以包括存储器装置2200和能够控制该存储器装置2200的数据处理操作的存储器控制器2100。
处理器4100可以根据通过输入装置4200输入的数据,通过显示器4300输出存储器装置2200中存储的数据。例如,输入装置4200可以被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。
处理器4100可以控制存储器系统40000的全部操作并控制存储器控制器2100的操作。根据实施例,能够控制存储器装置2200的操作的存储器控制器2100可以被实施为处理器4100的一部分,或者可以被实施为与处理器4100分离的芯片。
图15是示出包括图1和图8所示的存储器控制器的存储器系统的另一示例的示图。
参照图15,存储器系统50000可以被实施为图像处理装置,例如,数码相机、配备有数码相机的便携式手机、配备有数码相机的智能电话或配备有数码相机的平板电脑。
存储器系统50000包括存储器装置2200和能够控制该存储器装置2200的例如编程操作、擦除操作或读取操作的数据处理操作的存储器控制器2100。
存储器系统50000的图像传感器5200可以将光学图像转换成数字信号。转换后的数字信号可以传输到处理器5100或存储器控制器2100。在处理器5100的控制下,转换后的数字信号可以通过显示器5300输出,或者可以通过存储器控制器2100存储在存储器装置2200中。此外,存储器装置2200中存储的数据可以在处理器5100或存储器控制器2100的控制下通过显示器5300输出。
根据实施例,能够控制存储器装置2200的操作的存储器控制器2100可以被实施为处理器5100的一部分,或者可以被实施为与处理器5100分离的芯片。
图16是示出包括图1和图8所示的存储器控制器的存储器系统的另一示例的示图。
参照图16,存储器系统70000可以被实施为存储卡或智能卡。存储器系统70000可以包括存储器装置2200、存储器控制器2100和卡接口7100。
存储器控制器2100可以控制存储器装置2200和卡接口7100之间的数据交换。根据实施例,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但是不限于此。
卡接口7100可以根据主机60000的协议而接口连接主机60000和存储器控制器2100之间的数据交换。根据实施例,卡接口7100可以支持通用串行总线(USB)协议和芯片间(IC)-USB协议。本文中,卡接口7100可以指能够支持主机60000所使用的协议的硬件、安装在硬件中的软件或信号传输方法。
当存储器系统70000连接到诸如PC、平板电脑、数码相机、数字音频播放器、移动电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可以在微处理器6100的控制下,通过卡接口7100和存储器控制器2100来执行与存储器装置2200的数据通信。
尽管已经示出和描述本发明的实施例,但是本发明不限于所公开的实施例,也不限于说明书中的任何具体细节。如本领域技术人员根据本公开将理解的,可以对任何落入本发明范围内的所公开的实施例进行各种修改。因此,本发明包括落入权利要求范围内的所有修改和变型。
Claims (17)
1.一种存储器控制器,包括:
缓冲存储器,存储编程数据;
指令集配置器,配置指令集,所述指令集描述将所述缓冲存储器中存储的所述编程数据编程到目标存储块的程序;
指令集执行器,顺序地执行所述指令集中的指令,并且在完成执行所述指令之中的最后指令时生成中断;以及
中央处理单元,当从所述指令集执行器接收到所述中断时,擦除所述缓冲存储器中存储的所述编程数据,
其中所述指令集配置器根据所述目标存储块之中是否存在非交错块组而不同地配置所述指令集。
2.根据权利要求1所述的存储器控制器,其中当存在所述非交错块组时,所述指令集配置器分开地配置与所述非交错块组的第一存储块相对应的第一指令和与所述非交错块组的第二存储块相对应的第二指令。
3.根据权利要求2所述的存储器控制器,其中所述指令集配置器与所述第一指令和所述第二指令分开地配置与所述目标存储块之中的交错块组相对应的第三指令。
4.根据权利要求3所述的存储器控制器,其中所述指令集配置器配置所述指令集,使得将所述第二指令设置为在所述第三指令之后执行。
5.根据权利要求2所述的存储器控制器,
其中所述目标存储块被包括在多个管芯中,并且
所述目标存储块之中的、所述非交错块组中的所述第一存储块和所述第二存储块位于所述管芯中的任意一个管芯中包括的多个平面之中的相同平面中。
6.根据权利要求5所述的存储器控制器,其中所述指令集执行器根据所述第一指令、所述第二指令或未被包括在所述指令集中的分开指令来访问包括所述非交错块组的管芯,并且保留所述分开指令的执行,直到完成执行所述第二指令。
7.根据权利要求1所述的存储器控制器,其中当不存在所述非交错块组时,所述指令集配置器分开地配置与所述目标存储块之中的第一交错块组相对应的第一指令和与所述目标存储块之中的第二交错块组相对应的第二指令。
8.一种存储器系统,包括:
第一管芯,包括非交错块组;
第二管芯,包括交错块组;以及
存储器控制器:
将第一数据中的第一部分数据从缓冲存储器传输到所述第一管芯,以将所述第一部分数据编程到所述非交错块组中,
在传输所述第一部分数据之后,将第二数据从所述缓冲存储器传输到所述第二管芯,以将所述第二数据编程到所述交错块组中,
在传输所述第二数据之后,将所述第一数据中的第二部分数据从所述缓冲存储器传输到所述第一管芯,以将所述第二部分数据编程到所述非交错块组中,并且
在传输所述第二部分数据之后,擦除所述缓冲存储器中存储的所述第一数据和所述第二数据。
9.根据权利要求8所述的存储器系统,其中所述存储器控制器包括:
指令集配置器,配置指令集,所述指令集描述顺序地编程所述第一数据和所述第二数据的程序;以及
指令集执行器,顺序地执行所述指令集中的指令,以将所述第一数据和所述第二数据传输到所述第一管芯和所述第二管芯。
10.根据权利要求9所述的存储器系统,
其中所述指令集执行器在完成执行所述指令集中的指令之中的最后指令时生成中断,并且
其中所述最后指令与所述第二部分数据相关。
11.根据权利要求10所述的存储器系统,其中所述存储器控制器包括中央处理单元,当从所述指令集执行器接收到所述中断时,所述中央处理单元擦除所述缓冲存储器中存储的所述第一数据和所述第二数据。
12.根据权利要求9所述的存储器系统,其中所述指令集配置器分开地配置与所述第一部分数据相对应的第一指令和与所述第二部分数据相对应的第二指令。
13.根据权利要求12所述的存储器系统,其中所述指令集配置器与所述第一指令和所述第二指令分开地配置与所述第二数据相对应的第三指令。
14.根据权利要求13所述的存储器系统,其中所述指令集配置器配置所述指令集,使得将所述第二指令设置为在所述第三指令之后执行。
15.根据权利要求12所述的存储器系统,其中所述指令集执行器根据所述第一指令、所述第二指令或未被包括在所述指令集中的分开指令来访问所述第一管芯,并且在完成执行所述第二指令之前,保留所述分开指令的执行。
16.根据权利要求8所述的存储器系统,
其中所述非交错块组中的存储块被包括在所述第一管芯的相同平面中,并且
其中所述交错块组中的存储块被包括在所述第二管芯的不同平面中。
17.一种存储器系统,包括:
存储器装置,包括第一管芯和第二管芯,所述第一管芯和所述第二管芯共享单个通道,所述第一管芯包括位于所述第一管芯的单个平面内的第一存储块和第二存储块,所述第二管芯包括位于所述第二管芯的不同平面内的存储块组;
缓冲器,缓冲第一条数据至第三条数据;以及
控制器:
控制所述存储器装置以执行顺序地将所述第一条数据至所述第三条数据分别存储到所述第一存储块、所述存储块组和所述第二存储块中的编程操作;以及
在完成所述编程操作时,从所述缓冲器中删除所述第一条数据至所述第三条数据,
其中根据平面交错方案来对所述存储块组执行所述编程操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0084083 | 2019-07-11 | ||
KR1020190084083A KR20210007503A (ko) | 2019-07-11 | 2019-07-11 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112214163A true CN112214163A (zh) | 2021-01-12 |
Family
ID=74058569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010198304.9A Withdrawn CN112214163A (zh) | 2019-07-11 | 2020-03-19 | 存储器控制器以及包括其的存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11567773B2 (zh) |
KR (1) | KR20210007503A (zh) |
CN (1) | CN112214163A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138803A (zh) * | 2021-05-12 | 2021-07-20 | 类人思维(山东)智慧科技有限公司 | 一种计算机编程用指令集存储系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11487447B2 (en) * | 2020-08-28 | 2022-11-01 | Advanced Micro Devices, Inc. | Hardware-software collaborative address mapping scheme for efficient processing-in-memory systems |
CN112817534B (zh) * | 2021-02-02 | 2023-07-04 | 深圳忆联信息系统有限公司 | 提高ssd读写性能的方法、装置、计算机设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100429265B1 (ko) * | 2001-11-14 | 2004-04-29 | 엘지전자 주식회사 | 프로그램 가능한 로직디바이스를 이용한 공통 송수신인터페이스 |
US9218242B2 (en) * | 2013-07-02 | 2015-12-22 | Sandisk Technologies Inc. | Write operations for defect management in nonvolatile memory |
KR20170032502A (ko) | 2015-09-14 | 2017-03-23 | 삼성전자주식회사 | 스토리지 장치 및 그것의 인터럽트 발생 방법 |
KR102645572B1 (ko) * | 2016-11-29 | 2024-03-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작 방법 |
JP2020047325A (ja) * | 2018-09-18 | 2020-03-26 | キオクシア株式会社 | 半導体記憶装置 |
US10949123B2 (en) * | 2018-10-18 | 2021-03-16 | Western Digital Technologies, Inc. | Using interleaved writes to separate die planes |
-
2019
- 2019-07-11 KR KR1020190084083A patent/KR20210007503A/ko not_active Application Discontinuation
-
2020
- 2020-01-17 US US16/745,810 patent/US11567773B2/en active Active
- 2020-03-19 CN CN202010198304.9A patent/CN112214163A/zh not_active Withdrawn
-
2022
- 2022-12-28 US US18/089,582 patent/US20230161589A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138803A (zh) * | 2021-05-12 | 2021-07-20 | 类人思维(山东)智慧科技有限公司 | 一种计算机编程用指令集存储系统 |
Also Published As
Publication number | Publication date |
---|---|
US11567773B2 (en) | 2023-01-31 |
US20230161589A1 (en) | 2023-05-25 |
US20210011725A1 (en) | 2021-01-14 |
KR20210007503A (ko) | 2021-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10824518B2 (en) | Memory system and operating method thereof | |
CN109783397B (zh) | 存储器系统及其操作方法 | |
US11226895B2 (en) | Controller and operation method thereof | |
CN110232035B (zh) | 存储器系统以及存储器系统的操作方法 | |
US20230161589A1 (en) | Memory controller and memory system for generating instruction set based on non-interleaving block group information | |
US9965194B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus which performs data arrangement operation according to usage frequency of physical erasing unit of memory storage apparatus | |
KR102578188B1 (ko) | 메모리 컨트롤러 및 이의 동작 방법 | |
US10606758B2 (en) | Memory system and method of operating the same | |
US10684798B2 (en) | Memory controller and memory system having the same | |
US10990539B2 (en) | Controller, memory system including the same, and method of operating memory system | |
US8914587B2 (en) | Multi-threaded memory operation using block write interruption after a number or threshold of pages have been written in order to service another request | |
KR20190051564A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US11347640B2 (en) | Data storage device and data processing method | |
CN103106155B (zh) | 存储器储存装置、存储器控制器与其数据传输方法 | |
US11106581B2 (en) | Memory controller and memory system having the memory controller | |
KR20190112546A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US11114172B2 (en) | Memory system and method of operating the same | |
US10942675B2 (en) | Memory system and operating method thereof | |
US11200163B2 (en) | Controller and method of operating the same | |
CN114333930B (zh) | 多通道存储器存储装置、控制电路单元及其数据读取方法 | |
US10769060B2 (en) | Storage system and method of operating 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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210112 |