CN115857797A - 存储器控制器和存储设备 - Google Patents
存储器控制器和存储设备 Download PDFInfo
- Publication number
- CN115857797A CN115857797A CN202211176015.4A CN202211176015A CN115857797A CN 115857797 A CN115857797 A CN 115857797A CN 202211176015 A CN202211176015 A CN 202211176015A CN 115857797 A CN115857797 A CN 115857797A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- program
- buffer
- recovery
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 331
- 239000000872 buffer Substances 0.000 claims abstract description 135
- 238000004364 calculation method Methods 0.000 claims abstract description 57
- 238000011084 recovery Methods 0.000 claims abstract description 48
- 230000004044 response Effects 0.000 claims abstract description 22
- 238000009825 accumulation Methods 0.000 claims abstract description 4
- 230000003068 static effect Effects 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 18
- 238000013507 mapping Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1057—Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1069—I/O lines read out arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1084—Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1096—Write circuits, e.g. I/O line write drivers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2245—Memory devices with an internal cache buffer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
Abstract
可以提供一种存储器控制器,包括:DMA主设备,被配置为向非易失性存储器(NVM)设备提供第一数据组;编程缓冲存储器,被配置为在DMA主设备向NVM设备提供第一数据组之前临时存储第一数据组;异或计算电路,被配置为在DMA主设备向NVM设备提供第一数据组之后,对包括在从编程缓冲存储器提供的第一数据组中的多个数据执行异或计算和累加,以生成第一恢复数据;和缓冲从设备,包括第一编程恢复缓冲存储器,该缓冲从设备被配置为响应于编程失败信号,存储第一恢复数据并将第一恢复数据从第一编程恢复缓冲存储器提供给编程缓冲存储器。
Description
技术领域
本发明构思涉及存储器控制器和存储设备。
背景技术
半导体存储器可以被分为易失性存储器设备和非易失性存储器设备,在易失性存储器设备中,当电源关闭时,存储的数据被擦除,在非易失性存储器设备中,即使当电源关闭时,存储的数据也被保留。
作为一种非易失性存储器设备,闪存设备被广泛用作用户设备的大容量存储介质。近年来,随着计算技术的发展,基于闪存的大容量存储介质需要进一步提高的性能。作为示例,基于闪存的大容量存储介质使用诸如随机存取存储器的高速缓冲存储器来补充主机的输入和输出速度。由于诸如高速缓冲存储器的容量限制或存储在闪存中的数据的可靠性保证的特性,性能提高是有限的。
发明内容
本发明构思的方面提供一种具有提高的产品可靠性并被小型化的存储器控制器。
本发明构思的方面还提供一种具有提高的产品可靠性并被小型化的存储设备。
根据本发明构思的一些方面,一种存储器控制器可以包括:DMA主设备,被配置为向非易失性存储器设备提供第一数据组;编程缓冲存储器,被配置为在DMA主设备向非易失性存储器设备提供第一数据组之前,临时存储第一数据组;异或计算电路,被配置为在DMA主设备向非易失性存储器设备提供第一数据组之后,对包括在从编程缓冲存储器提供的第一数据组中的多个数据执行异或计算和累加,并生成第一恢复数据;和缓冲从设备,包括被配置为存储第一恢复数据的第一编程恢复缓冲存储器,其中,缓冲从设备通过总线连接到DMA主设备,缓冲从设备被配置为响应于指示第一数据组在非易失性存储器设备上的编程未完成的编程失败信号,从第一编程恢复缓冲存储器向编程缓冲存储器提供第一恢复数据。
根据本发明构思的一些方面,一种存储设备可以包括:非易失性存储器设备,被配置为用第一数据组编程;DMA主设备,被配置为向非易失性存储器设备提供第一数据组;和存储器控制器,包括通过总线连接到DMA主设备的缓冲从设备,其中,缓冲从设备包括:编程缓冲存储器,被配置为在DMA主设备向非易失性存储器设备提供第一数据组之前,临时存储第一数据组;和第一编程恢复缓冲存储器,被配置为在DMA主设备完成向非易失性存储器设备提供第一数据组之后,存储通过响应于第一数据组的提供对第一数据组执行计算而生成的第一恢复数据。
根据本发明构思的一些方面,一种存储器控制器可以包括:DMA主设备,被配置为向非易失性存储器设备提供第一数据组;编程缓冲存储器,被配置为在DMA主设备向非易失性存储器设备提供第一数据组之前,临时存储第一数据组;缓冲从设备,包括第一编程恢复缓冲存储器,该第一编程恢复缓冲存储器被配置为在DMA主设备向非易失性存储器设备提供第一数据组之后,存储通过对从编程缓冲存储器提供的第一数据组中包括的多个数据执行计算而生成的第一恢复数据;SRAM,包括编程缓冲存储器和第一编程恢复缓冲存储器;和处理器,被配置为控制DMA主设备、缓冲从设备和SRAM,其中,该处理器还被配置为在SRAM中指定对应于被配置为存储第一数据组的编程缓冲存储器的区域,并且该处理器还被配置为在SRAM中指定对应于被配置为存储第一恢复数据的第一编程恢复缓冲存储器的区域。
然而,本发明构思的方面不限于本文阐述的内容。通过参考下面给出的一些示例实施例的详细描述,本发明构思的上述和其他方面对于本发明构思所属领域的普通技术人员将变得更加明显。
附图说明
通过参考附图详细描述本公开的一些示例实施例,本公开的上述和其他方面和特征将变得更加明显,在附图中:
图1是用于解释根据一些示例实施例的存储器控制器的概念图;
图2是用于解释根据一些示例实施例的连接到存储器控制器的非易失性存储器设备的图;
图3和图4是用于解释根据一些示例实施例的存储器控制器的处理器的操作的图;
图5至图11是用于解释根据一些示例实施例的存储器控制器的操作的图;
图12至图14是用于解释根据一些其他示例实施例的存储器控制器的操作的图;
图15和图16是用于解释根据一些示例实施例的存储器控制器的操作的图;
图17是用于解释根据一些其他示例实施例的存储器控制器的操作的图;
图18是用于解释根据一些示例实施例的存储设备的图;并且
图19是用于解释根据一些示例实施例的存储设备中包括的非易失性存储器设备的图。
具体实施方式
在下文中,将参考附图描述根据本发明构思的技术思想的一些示例实施例。
图1是用于解释根据一些示例实施例的存储器控制器的概念图;图2是用于解释根据一些示例实施例的连接到存储器控制器的非易失性存储器设备的图。
参考图1,根据一些示例实施例的存储器控制器100可以包括缓冲从设备110、直接存储器存取(direct memory access,DMA)主设备120、处理器130和总线160。
存储器控制器100可以通过存储器接口连接到非易失性存储器(NVM)设备200。
缓冲从设备110可以包括编程缓冲存储器111、编程恢复缓冲存储器112和计算电路113。
缓冲从设备110可以存储将数据编程在非易失性存储器设备200中所需的数据。此外,缓冲从设备110可以存储当非易失性存储器设备200上的编程失败时完成编程所需的恢复数据。
编程缓冲存储器111可以临时存储将被编程在非易失性存储器设备200中的数据。响应于DMA主设备120的请求,编程缓冲存储器111可以向DMA主设备120提供临时存储的数据。
在临时存储在编程缓冲存储器111中的数据没有被完全编程在非易失性存储器设备200中的情况下,编程恢复缓冲存储器112可以存储恢复数据。存储在编程恢复缓冲存储器112中的恢复数据可以包括通过使用计算电路113对存储在编程缓冲存储器111中的数据执行计算而获得的数据。当在非易失性存储器设备200中没有完成编程时,可以使用存储在编程恢复缓冲存储器112中的恢复数据再次在非易失性存储器设备200上执行编程。换句话说,缓冲从设备110可以包括编程恢复缓冲存储器112,并且可以被配置为响应于指示数据组在非易失性存储器设备上的编程未完成的编程失败信号,将恢复数据从编程恢复缓冲存储器112提供到编程缓冲存储器111。
计算电路113可以使用存储在编程缓冲存储器111中的数据来执行期望的(或者可替代地,预设的)计算,并且可以将由计算结果生成的恢复数据提供给编程恢复缓冲存储器112。在一些示例实施例中,计算电路113可以执行异或(exclusive OR)计算。例如,计算电路113可以通过使用存储在编程缓冲存储器111中的多个数据执行异或计算来生成恢复数据,并且可以将恢复数据提供给编程恢复缓冲存储器112。
计算电路113可以直接从编程缓冲存储器111接收存储在编程缓冲存储器111中的数据,而不经过DMA主设备120。计算电路113可以计算从编程缓冲存储器111提供的数据,而不使用DMA主设备120,以生成恢复数据。
DMA主设备120可以请求临时存储在编程缓冲存储器111中的数据,以将该数据提供给非易失性存储器设备200。DMA主设备120可以将从编程缓冲存储器111提供的数据提供给非易失性存储器设备200。例如,DMA主设备120可以将从编程缓冲存储器111提供的数据提供给通过位线(未示出)连接到非易失性存储器设备200的存储器单元阵列的页面缓冲器。DMA主设备120可以将要被编程在非易失性存储器设备200中的数据直接提供给非易失性存储器设备200,而无需处理器130的介入。
处理器130可以控制存储器控制器100的整体操作。例如,处理器130可以控制编程缓冲存储器111向编程恢复缓冲存储器112提供数据。当DMA主设备120向非易失性存储器设备200提供数据时,处理器130可以控制临时存储在编程缓冲存储器111中的数据,以向计算电路113提供数据。作为另一示例,处理器130可以指定缓冲存储器的存储数据的区域。这将在下面参考图3和图4具体描述。
此外,处理器130可以指定由编程缓冲存储器111提供给DMA主设备120的一组数据。这将参考图5至图11具体描述。
总线160可以连接缓冲从设备110、DMA主设备120和处理器130。缓冲从设备110、DMA主设备120和处理器130可以通过总线160相互发送和接收信号。
参考图2,连接到存储器控制器100的非易失性存储器设备200可以包括多个存储器芯片。非易失性存储器设备200可以通过多个通道连接到存储器控制器100。例如,多个存储器芯片201a、201b...201可以通过第一通道CH1连接到存储器控制器100。多个存储器芯片202a、202b...202可以通过第二通道CH2连接到存储器控制器100。
存储器控制器100可以通过每个通道选择连接到对应通道的多个存储器芯片中的一个,并向所选择的存储器芯片发送信号和从所选择的存储器芯片接收信号。例如,存储器控制器100可以选择连接到第一通道CH1的存储器芯片201a。存储器控制器100可以通过第一通道CH1将命令、地址和数据发送到所选择的存储器芯片201a,或者从所选择的存储器芯片201a接收数据。
存储器控制器100可以通过彼此不同的通道并行地向非易失性存储器设备200发送信号和从非易失性存储器设备200接收信号。例如,存储器控制器100可以通过第二通道CH2向存储器芯片202a发送第二命令,同时通过第一通道CH1向存储器芯片201a发送第一命令。作为另一示例,存储器控制器100可以通过第二通道CH2从存储器芯片202a接收第二数据,同时通过第一通道CH1从存储器芯片201a接收第一数据。
包括在非易失性存储器设备200中的多个存储器芯片中的每一个可以根据存储器控制器100的控制来操作。例如,存储器芯片201a可以根据提供给第一通道CH1的第一命令和第一地址来编程第一数据。作为另一示例,存储器芯片202a可以根据提供给第二通道CH2的第二命令和第二地址来读取第二数据,并且可以将读取的数据发送到存储器控制器100。
多个存储器芯片中的每一个可以存储多个数据。也就是说,多个数据可以被编程在多个存储器芯片的每一个中。如图2所示,在一些示例实施例中,一个存储器芯片201a可以存储多个数据11、21和31。存储在存储器芯片201a中的多个数据11、21和31可以各自被编程在不同的页面上。类似地,另一存储器芯片202a可以存储编程在不同页面上的多个数据12、22和32,并且另一存储器芯片200a可以存储编程在不同页面上的多个数据1n、2n和3n。
编程在通过不同通道连接到存储器控制器100的多个存储器芯片201a、202a...200a中的多个数据可以通过相同的位线来提供。例如,编程在不同的存储器芯片201a、202a...200a中的多个数据11、12...1n可以通过相同的位线被提供给存储器芯片201a、202a...200a中的每一个。作为另一示例,编程在不同的存储器芯片201a、202a...200a中的多个数据21、22...2n可以通过相同的位线被提供给存储器芯片201a、202a...200a中的每一个。
连接存储器控制器100和非易失性存储器设备200的多个存储器芯片的通道的数量可以根据示例实施例而不同地改变。此外,通过一个通道连接到存储器控制器100的存储器芯片的数量可以根据示例实施例而不同地改变。
图3和图4是用于解释根据一些示例实施例的存储器控制器的处理器的操作的图。
参考图3和图4,存储器控制器(图1的100)可以包括静态随机存取存储器(SRAM)114。存储器控制器(图1的100)的编程缓冲存储器111和第一至第三编程恢复缓冲存储器(或者可替代地,第一至第三失败备援缓冲器)1121至1123可以包括SRAM 114。例如,编程缓冲存储器111和第一至第三编程恢复缓冲存储器1121至1123可以使用SRAM 114作为存储器。换句话说,SRAM 114可以包括编程缓冲存储器111和第一至第三编程恢复缓冲存储器1121至1123。
存储器控制器(图1的100)的处理器(图1的130)可以指定SRAM 114中分别对应于编程缓冲存储器111和第一至第三编程恢复缓冲存储器1121至1123的区域。
在一些示例实施例中,处理器130可以在SRAM 114中指定编程缓冲存储器111在其中临时存储将被编程在非易失性存储器设备200中的数据的第0区域R0。
在一些示例实施例中,处理器130可以指定SRAM 114中编程恢复缓冲存储器112在其中存储恢复数据的区域。例如,处理器130可以在SRAM 114中指定第一编程恢复缓冲存储器1121在其中存储第一恢复数据10的第一区域R1。作为另一示例,处理器130可以在SRAM114中指定第二编程恢复缓冲存储器1122在其中存储第二恢复数据20的第二区域R2。作为又一示例,处理器130可以指定SRAM 114中第三编程恢复缓冲存储器1123在其中存储第三恢复数据30的第三区域R3。
考虑到编程缓冲存储器111和要存储在编程缓冲存储器111中的数据的容量,处理器130可以任意指定编程缓冲存储器111和编程缓冲存储器111在其中使用SRAM 114的区域。
图5至图11是用于解释根据一些示例实施例的存储器控制器的操作的图。
参考图5、图9和图10,处理器(图1的130)可以响应于来自DMA主设备120的请求,指定要从编程缓冲存储器111提供给DMA主设备120的数据组。处理器130可以指定要由DMA主设备120提供给非易失性存储器设备200的数据组。也就是说,在数据组由DMA主设备120提供给非易失性存储器设备200之后,处理器130可以指定要从编程缓冲存储器111提供给计算电路113的数据组。
在一些示例实施例中,处理器130可以指定被编程在多个存储器芯片201a、202a...200a的第一页面上的多个数据11、12...1n,作为将由DMA主设备120提供给非易失性存储器设备200的第一数据组。
处理器130可以指定被编程在多个存储器芯片201a、202a...200a的第二页面上的多个数据21、22...2n,作为将由DMA主设备120提供给非易失性存储器设备200的第二数据组。
处理器130可以指定被编程在多个存储器芯片201a、202a...200a的第三页面上的多个数据31、32...3n,作为将由DMA主设备120提供给非易失性存储器设备200的第三数据组。
再次参考图5至图8,由处理器130指定的第一数据组11、12...1n由DMA主设备120提供给非易失性存储器设备200,然后包括在数据组11、12...1n中的多个数据被顺序地从编程缓冲存储器111提供给计算电路113。
计算电路113可以对包括在从编程缓冲存储器111提供的第一数据组11、12...1n中的多个数据执行期望的(或者可替代地,预定的)计算。
在一些示例实施例中,计算电路113可以使用包括在从编程缓冲存储器111提供的第一数据组11、12...1n中的多个数据和存储在第一编程恢复缓冲存储器1121中的数据来执行异或计算。计算电路113可以向第一编程恢复缓冲存储器1121提供通过对第一数据组11、12...1n执行计算而生成的第一恢复数据10。
例如,第一数据组11、12...1n的第一数据11从编程缓冲存储器111提供给计算电路113。此时,由于要与第一数据11一起计算的数据没有存储在第一编程恢复缓冲存储器1121中,所以计算电路113不执行异或计算,并且可以将从第一编程缓冲存储器111提供的第一数据11提供给第一编程恢复缓冲存储器1121。
随后,第一数据组11、12…1n的第二数据12从编程缓冲存储器111提供给计算电路113。计算电路113使用存储在第一编程恢复缓冲存储器1121中的第一数据11和从编程缓冲存储器111提供的第二数据12来执行异或计算。计算电路113向第一编程恢复缓冲存储器1121提供通过使用第一数据11和第二数据12执行异或计算而生成的数据。
类似地,计算电路113使用包括在从编程缓冲存储器111提供的第一数据组11、12...1n中的最后一个第n数据1n和存储在第一编程恢复缓冲存储器1121中的数据来执行异或计算,最终生成第一恢复数据10并将其提供给第一编程恢复缓冲存储器1121。
第一编程恢复缓冲存储器1121可以存储由计算电路113使用第一数据组11、12...1n最终生成的第一恢复数据10。
参考图9和图10,类似地,在由处理器130指定的第二数据组21、22...2n和第三数据组31、32...3n由DMA主设备120提供给非易失性存储器设备200之后,包括在第二数据组21、22...2n和第三数据组31、32...3n中的多个数据被顺序地从编程缓冲存储器111提供给计算电路113。
计算电路113可以分别向第二编程恢复缓冲存储器1122和第三编程恢复缓冲存储器1123提供使用第二数据组21、22...2n和第三数据组31、32...3n最终生成的第二恢复数据20和第三恢复数据30中的每一个。
尽管图5至图10示出了计算电路113执行异或计算,但是示例实施例不限于此。当非易失性存储器设备200上的编程没有完成时,计算电路113可以使用其他计算来生成用于完成编程的恢复数据。
参考图11,当计算电路113对存储在编程缓冲存储器111中的整个第一至第三数据组执行计算,并将第一恢复数据至第三恢复数据10至30分别提供给第一至第三编程恢复缓冲存储器1121至1123,并且第一至第三编程恢复缓冲存储器1121至1123分别存储第一恢复数据至第三恢复数据10至30时,存储在编程缓冲存储器111中的第一至第三数据组可以被移除。也就是说,编程缓冲存储器111可以被释放。这里,术语“释放”可以指存储在存储器中的数据被移除并且新数据可以存储在存储数据的区域中的状态。
图12至图14是用于解释根据一些其他示例实施例的存储器控制器的操作的图。为了便于解释,将主要描述与参考图5至图11描述的那些不同的点。
参考图12至图14,当计算电路113对第一数据组11、12...1n的计算完成,并且最终生成的第一恢复数据10被存储在第一编程恢复缓冲存储器1121中时,存储在编程缓冲存储器111中的第一数据组11、12...1n可以被移除。也就是说,第一数据组11、12...1n被存储在编程缓冲存储器111中的区域可以被释放。
随后,当计算电路113对第二数据组21、22...2n的计算完成,并且最终生成的第二恢复数据20被存储在第二编程恢复缓冲存储器1122中时,存储在编程缓冲存储器111中的第二数据组21、22...2n可以被移除。也就是说,第二数据组21、22...2n被存储在编程缓冲存储器111中的区域可以被释放。
随后,当计算电路113对第三数据组31、32...3n的计算完成并且最终生成的第三恢复数据30被存储在第三编程恢复缓冲存储器1123中时,存储在编程缓冲存储器111中的第三数据组31、32...3n可以被移除。也就是说,第三数据组31、32...3n被存储在编程缓冲存储器111中的区域可以被释放。
在这种情况下,与参考图11描述的情况不同,开始释放编程缓冲存储器111的定时可能变得更早。例如,当恢复数据被存储在编程恢复缓冲存储器112中的任何一个编程恢复缓冲存储器中时,可以从编程缓冲存储器111中移除对应的数据组。
在参考图11描述的情况下,在恢复数据被存储在所有编程恢复缓冲存储器112中之后,存储在编程缓冲存储器111中的所有数据组被立即移除,并且编程缓冲存储器111可以被释放。相反,在参考图12至14描述的情况下,可以交替地执行将恢复数据存储在编程恢复缓冲存储器112中,以及移除存储在编程缓冲存储器111中的对应于所存储的恢复数据的数据组。
图15和图16是用于解释根据一些示例实施例的存储器控制器的操作的图。
参考图15,当指示从存储器控制器100提供的数据没有被完全编程在非易失性存储器设备200中的编程失败信号PF被从非易失性存储器设备200提供给存储器控制器100时,存储在编程恢复缓冲存储器112中的第一恢复数据至第三恢复数据10至30可以被提供给编程缓冲存储器111。
例如,当所提供的数据的编程没有完成时,非易失性存储器设备200可以向存储器控制器100提供编程失败信号PF。响应于编程失败信号PF,编程恢复缓冲存储器112可以将存储的恢复数据提供给编程缓冲存储器111。
处理器(图1的130)利用提供给非易失性存储器设备200的数据组来计算提供给编程缓冲存储器111的恢复数据,并且可以执行控制,使得数据组被再次编程到非易失性存储器设备200。
尽管图15示出了响应于编程失败信号PF,存储在第一至第三编程恢复缓冲存储器112中的第一恢复数据至第三恢复数据10至30都被提供给编程缓冲存储器111,但是示例实施例不限于此。
在一些示例实施例中,非易失性存储器设备200可以向存储器控制器100提供针对编程尚未完成的特定数据组的编程失败信号PF。处理器130可以执行控制,使得响应于编程失败信号PF,仅将与其中编程尚未完成的页面相对应的特定数据组(例如,特定数据组)的恢复数据从编程恢复缓冲存储器112提供给编程缓冲存储器111。
例如,当从非易失性存储器设备200提供指示对第一数据组11、12...1n的编程没有完成的编程失败信号PF时,第一恢复数据10可以从第一编程恢复缓冲存储器1121提供给编程缓冲存储器111。此时,第二恢复数据和第三恢复数据20和30可以不从第二和第三编程恢复缓冲存储器1122和1123提供给编程缓冲存储器111。
参考图16,当编程成功信号PS从非易失性存储器设备200提供给存储器控制器100时,存储在第一至第三编程恢复缓冲存储器112中的第一恢复数据至第三恢复数据10至30可以被移除。也就是说,当所提供的第一至第三数据组在非易失性存储器设备200中被完全编程时,第一至第三编程恢复缓冲存储器112可以被释放。
取决于存储器控制器100的操作,被释放的第一至第三编程恢复缓冲存储器112可以用于其他用途。在一些示例实施例中,当存储器控制器100根据来自主机(图18的300)的命令从非易失性存储器设备200接收读取数据时,第一至第三编程恢复缓冲存储器112可以用作在将读取数据提供给主机(图18的300)之前临时存储从非易失性存储器设备200提供的读取数据的缓冲存储器。
在一些其他示例实施例中,被释放的第一至第三编程恢复缓冲存储器112可以用作存储数据主机(图18的300)中的逻辑地址和非易失性存储器设备200中的物理地址之间的映射信息的存储器。被释放的第一至第三编程恢复缓冲存储器112可以被用作临时提供有映射表,使得存储器控制器100使用存储在非易失性存储器设备200中的映射表来执行计算的缓冲存储器。
图17是用于解释根据一些其他示例实施例的存储器控制器的操作的图。为了便于解释,将主要描述与参考图5至图11描述的那些不同的点。
参考图17,处理器(图1的130)可以指定被编程在通过第一通道CH1连接到存储器控制器100的非易失性存储器设备200的多个存储器芯片201a、201b...201中的每一个的第一页面上的多个数据11、12...1n,作为由DMA主设备(图1的120)提供给非易失性存储器设备200的第一数据组。
处理器(图1的130)可以指定被编程在通过第一通道CH1连接到存储器控制器100的非易失性存储器设备200的多个存储器芯片201a、201b...201中的每一个的第二页面上的多个数据21、22...2n,作为由DMA主设备(图1的120)提供给非易失性存储器设备200的第二数据组。
处理器(图1的130)可以指定被编程在通过第一通道CH1连接到存储器控制器100的非易失性存储器设备200的多个存储器芯片201a、201b...201中的每一个的第三页面上的多个数据31、32...3n,作为由DMA主设备(图1的120)提供给非易失性存储器设备200的第三数据组。
也就是说,取决于示例实施例,处理器(图1的130)可以不同地指定由DMA主设备(图1的120)提供给非易失性存储器设备200的数据组。作为结果,从编程缓冲存储器111提供给计算电路113的数据组也可能改变。
图18是用于解释根据一些示例实施例的存储设备的图;图19是用于解释根据一些示例实施例的存储设备中包括的非易失性存储器设备的图。
参考图18,存储设备1可以包括存储器控制器100和非易失性存储器设备200。存储设备1可以向主机300发送命令和数据以及从主机300接收命令和数据。
主机300可以包括主机控制器310和主机存储器320。
主机控制器310和主机存储器320可以被实现为单独的半导体芯片。可替代地,在一些示例实施例中,主机控制器310和主机存储器320可以集成在同一半导体芯片上。作为示例,主机控制器310可以是应用处理器中提供的多个模块之一,并且应用处理器可以被实现为片上系统(SoC)。此外,主机存储器320可以是设置在应用处理器内部的嵌入式存储器,或者可以是放置在应用处理器外部的非易失性存储器或存储器模块。
主机控制器310可以管理将主机存储器320的缓冲区的数据(例如,记录数据)存储在非易失性存储器设备200中的操作,或者将非易失性存储器设备200的数据(例如,读取数据)存储在缓冲区中的操作。
存储设备1可以包括用于响应于来自主机设备300的请求存储数据的存储介质。作为示例,存储设备1可以包括固态驱动器(SSD)、嵌入式存储器和可拆卸外部存储器中的至少一个。当存储设备1是SSD时,存储设备1可以是例如符合非易失性快速存储器(NVMe)标准的设备。当存储设备1是嵌入式存储器或外部存储器时,存储设备1可以是符合UFS(通用闪存)或eMMC(嵌入式多媒体卡)标准的设备。主机设备300和存储设备1可以各自根据所采用的标准协议来生成和发送分组。
当存储设备1的非易失性存储器设备200包括闪存时,闪存可以包括2DNAND存储器阵列或3D(或垂直)NAND(VNAND)存储器阵列。作为另一示例,存储设备1可以包括各种不同类型的非易失性存储器。例如,存储设备1可以包括MRAM(磁性RAM)、自旋转移矩MRAM、导电桥接RAM(CBRAM)、FeRAM(铁电RAM)、PRAM(相位RAM)、电阻存储器(电阻RAM)和各种其他类型的存储器。
根据一些示例实施例的存储器控制器100可以通过主机接口101连接到主机300,并且可以通过存储器接口102连接到非易失性存储器设备200。存储器控制器100可以包括缓冲从设备110、DMA主设备120、处理器130、缓冲管理器140、闪存转换层(FTL)151、分组管理器152、ECC(纠错码)引擎153和AES(高级加密标准)引擎154。
存储器控制器100还可以包括闪存转换层(FTL)151被加载到其中的工作存储器(未示出),并且当处理器130执行闪存转换层时,可以控制非易失性存储器设备200上的数据编程和读取操作。
主机接口101可以向主机300发送分组和从主机300接收分组。从主机300发送到主机接口101的分组可以包括命令、要写入非易失性存储器设备200的数据等。从主机接口101发送到主机300的分组可以包括对命令的响应、从非易失性存储器设备200读取的数据等。
存储器接口102可以将要写入非易失性存储器设备200的数据发送到非易失性存储器设备200,或者接收从非易失性存储器设备200读取的数据。这种存储器接口102可以被实现为符合标准协议,诸如触发或开放NAND闪存接口(ONFI)。
闪存转换层151可以执行各种功能,诸如地址映射、损耗平衡和垃圾收集。地址映射操作是将从主机300接收的逻辑地址改变为用于在非易失性存储器设备200中实际存储数据的物理地址的操作。损耗均衡是用于确保非易失性存储器设备200中的块被均匀使用以防止特定块的过度退化的技术,并且可以例如通过用于平衡物理块的擦除计数的固件技术来实现。垃圾收集是通过将块的有效数据复制到新块然后擦除现有块的方法来确保非易失性存储器设备200中的可用容量的技术。
分组管理器152可以根据与主机300讨论的接口协议生成分组,或者可从从主机300接收的分组中解析各种类型的信息。
ECC引擎153可以对从非易失性存储器设备200读取的读取数据执行错误检测和纠正功能。例如,ECC引擎153可以为要在非易失性存储器设备200上编程的编程数据生成奇偶校验位。如此生成的奇偶校验位可以与编程数据一起存储在非易失性存储器设备200中。当从非易失性存储器设备200读取数据时,ECC引擎153可以使用从非易失性存储器设备200读取的奇偶校验位以及读取数据来纠正读取数据的错误,并输出具有纠正错误的读取数据。
AES引擎154可以使用对称密钥算法对输入到存储器控制器100的数据执行加密操作和解密操作中的至少一个。AES引擎154可以被包括在DMA主设备120中。相反,AES引擎154可以以与DMA主设备120不同的配置被包括在存储器控制器100中。
缓冲从设备110可以存储将数据编程在非易失性存储器设备200中所需的数据。此外,缓冲从设备110可以存储当非易失性存储器设备200上的编程失败时完成编程所需的恢复数据。
DMA主设备120可以向缓冲从设备110请求要被编程到非易失性存储器设备200上的数据。DMA主设备120可以将从缓冲从设备110提供的要编程的数据提供给非易失性存储器设备200。
处理器130可以控制存储器控制器100的整体操作。当对非易失性存储器设备200的数据的编程失败时,处理器130可以通过使用存储在缓冲从设备110的编程恢复缓冲存储器112中的恢复数据和提供给非易失性存储器设备200的数据执行计算来执行控制,使得编程完成。
缓冲管理器140可以控制缓冲从设备110的编程缓冲存储器111和编程恢复缓冲存储器112。例如,缓冲管理器140可以在由编程缓冲存储器111和编程恢复缓冲存储器112使用的SRAM 114的区域中写入数据。作为另一示例,编程缓冲存储器111和编程恢复缓冲存储器112可以读取存储在SRAM114中的数据。根据示例实施例,可以省略缓冲管理器140。作为又一示例,缓冲管理器140可以控制编程缓冲存储器111向计算电路113提供数据组的操作,以及计算电路113向编程恢复缓冲存储器112提供恢复数据的操作。
参考图19,非易失性存储器设备200可以包括外围电路210和存储器单元阵列220。外围电路210可以包括电压发生器211、行译码器212、控制逻辑电路213和页面缓冲器214。尽管在图19中未示出,外围电路210还可以包括输入/输出接口、列逻辑、预译码器、温度传感器、命令译码器、地址译码器、放大器电路等。
电压发生器211可以基于电压控制信号生成用于执行编程、读取和擦除操作的各种类型的电压。例如,电压发生器211可以生成编程电压、读取电压、编程验证电压、擦除电压等,作为字线电压VWL。
行译码器212可以响应于行地址X-ADDR选择多条字线WL之一,并选择多条串选择线SSL之一。例如,行译码器212可以在编程操作时向所选择的字线施加编程电压和编程验证电压。作为另一示例,行译码器212可以在读取操作时向所选择的字线施加读取电压。
存储器单元阵列220可以包括多个存储器块。多个存储器块中的每一个可以包括多个存储器单元。存储器单元阵列220可以通过位线BL连接到页面缓冲器214。存储器单元阵列220可以通过字线WL、串选择线SSL和地选择线GSL连接到行译码器212。
控制逻辑电路213通常可以控制非易失性存储器设备200内部的各种操作。控制逻辑电路213可以响应于来自存储器接口102的命令CMD和/或地址ADDR输出各种控制信号。例如,控制逻辑电路213可以输出电压控制信号CTRL_vol、行地址X-ADDR和列地址Y-ADDR。
根据通过存储器接口102从存储器控制器100提供的编程命令,取决于对应于编程命令的数据的编程是否成功,控制逻辑电路213可以将编程成功信号PS或编程失败信号PF发送到存储器控制器100。
当从存储器控制器100提供的数据的编程在存储器单元阵列220中成功完成时,控制逻辑电路213可以将编程成功信号PS发送到存储器控制器100。
当从存储器控制器100提供的数据的编程在存储器单元阵列220中没有完成时,控制逻辑电路213可以将编程失败信号PF发送到存储器控制器100。
页面缓冲器214可以包括多个页面缓冲器PB1至PBn(n是3或更大的整数),并且多个页面缓冲器PB1至PBn可以通过多条位线BL连接到每个存储器单元。页面缓冲器214可以响应于列地址Y-ADDR从位线BL当中选择至少一条位线。取决于操作模式,页面缓冲器214可以作为写入驱动器或读出放大器操作。例如,在编程操作时,页面缓冲器214可以将对应于要被编程的数据的位线电压施加到所选择的位线BL。在读取操作时,页面缓冲器214可以读出所选择的位线BL的电流或电压,以读出存储在存储器单元中的数据。
可以向页面缓冲器214提供从存储器控制器100的DMA主设备120编程到存储器单元阵列220的数据。
图中所示和上面描述的任何功能块可以在诸如包括逻辑电路的硬件的处理电路系统;诸如执行软件的处理器的硬件/软件组合;或它们的组合中实现。例如,处理电路系统更具体地可以包括但不限于中央处理单元(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、片上系统(SoC)、可编程逻辑单元、微处理器、专用集成电路(ASIC)等。
在总结详细描述时,本领域技术人员将意识到,在基本上不脱离本发明构思的原理的情况下,可以对所公开的示例实施例进行许多变化和修改。因此,本发明构思的所公开的示例实施例仅用于一般和描述意义,而不是为了限制的目的。
Claims (20)
1.一种存储器控制器,包括:
直接存储器存取DMA主设备,被配置为向非易失性存储器设备提供第一数据组;
编程缓冲存储器,被配置为在所述DMA主设备向所述非易失性存储器设备提供所述第一数据组之前,临时存储所述第一数据组;
异或计算电路,被配置为在所述DMA主设备向所述非易失性存储器设备提供所述第一数据组之后,对从所述编程缓冲存储器提供的所述第一数据组中包括的多个数据执行异或计算和累加,并生成第一恢复数据;和
缓冲从设备,包括被配置为存储所述第一恢复数据的第一编程恢复缓冲存储器,
其中,所述缓冲从设备通过总线连接到所述DMA主设备,并且
所述缓冲从设备被配置为响应于指示所述第一数据组在所述非易失性存储器设备上的编程未完成的编程失败信号,从所述第一编程恢复缓冲存储器向所述编程缓冲存储器提供所述第一恢复数据。
2.根据权利要求1所述的存储器控制器,其中,所述编程缓冲存储器被配置为在不使用所述DMA主设备的情况下向所述异或计算电路提供所述第一数据组,所述异或计算被配置为在不使用所述DMA主设备的情况下向所述第一编程恢复缓冲存储器提供所述第一恢复数据。
3.根据权利要求1所述的存储器控制器,其中,
所述非易失性存储器设备包括多个存储器芯片,所述多个存储器芯片包括通过第一通道连接到所述存储器控制器的第一存储器芯片和通过第二通道连接到所述存储器控制器的第二存储器芯片,并且
所述第一数据组包括编程在所述第一存储器芯片的第一页面上的数据和编程在所述第二存储器芯片的第一页面上的数据。
4.根据权利要求3所述的存储器控制器,还包括:
第二编程恢复缓冲存储器,被配置为存储第二恢复数据,
其中,在所述DMA主设备将所述第二数据组提供给所述非易失性存储器设备之后,所述第二恢复数据包括其中所述异或计算电路对第二数据组中包括的多个数据执行异或计算和累加的数据,并且
所述第二数据组包括编程在所述第一存储器芯片的第二页面上的数据和编程在所述第二存储器芯片的第二页面上的数据。
5.根据权利要求1所述的存储器控制器,其中,
所述非易失性存储器设备包括通过位线连接到存储器单元阵列的页面缓冲器,并且
所述DMA主设备被配置为向所述页面缓冲器提供所述第一数据组。
6.根据权利要求1所述的存储器控制器,还包括:
第二编程恢复缓冲存储器,被配置为存储第二恢复数据,所述第二恢复数据在所述DMA主设备向所述非易失性存储器设备提供所述第二数据组之后,通过异或计算电路累加计算第二数据组中包括的多个数据来生成,
其中,所述存储器控制器被配置为
将所述第一数据组编程到通过第一通道连接到所述存储器控制器的第一存储器芯片,以及
将所述第二数据组编程到通过第二通道连接到所述存储器控制器的第二存储器芯片。
7.根据权利要求1所述的存储器控制器,还包括:
用作缓冲存储器的静态随机存取存储器SRAM;和
处理器,被配置为控制所述DMA主设备、所述缓冲从设备和所述SRAM,
其中,所述处理器还被配置为在所述SRAM中指定对应于被配置为临时存储所述第一数据组的所述编程缓冲存储器的第一区域,并且
所述处理器还被配置为在所述SRAM中指定对应于被配置为存储所述第一恢复数据的所述第一编程恢复缓冲存储器的第二区域。
8.根据权利要求1所述的存储器控制器,其中,所述缓冲从设备被配置为响应于所述DMA主设备完成将所述第一数据组提供给所述非易失性存储器设备的情况,将所述第一数据组从所述编程缓冲存储器提供给所述异或计算电路。
9.根据权利要求1所述的存储器控制器,还包括:
处理器,被配置为控制所述DMA主设备和所述缓冲从设备,
其中,所述处理器被配置为在所述DMA主设备完成向所述非易失性存储器设备提供所述第一数据组之后,控制将存储在所述编程缓冲存储器中的所述第一数据组提供给所述异或计算电路。
10.根据权利要求1所述的存储器控制器,其中,所述缓冲从设备还被配置为响应于指示所述第一数据组在所述非易失性存储器设备上的编程完成的编程成功信号,从所述第一编程恢复缓冲存储器移除所述第一恢复数据。
11.根据权利要求1所述的存储器控制器,其中,在所述第一恢复数据被存储在所述第一编程恢复缓冲存储器中之后,所述缓冲从设备还被配置为移除存储在所述编程缓冲存储器中的所述第一数据组。
12.一种存储设备,包括:
非易失性存储器设备,被配置为用第一数据组编程;
直接存储器存取DMA主设备,被配置为向所述非易失性存储器设备提供所述第一数据组;和
存储器控制器,包括通过总线连接到所述DMA主设备的缓冲从设备,
其中,所述缓冲从设备包括
编程缓冲存储器,被配置为在所述DMA主设备向所述非易失性存储器设备提供所述第一数据组之前,临时存储所述第一数据组,和
第一编程恢复缓冲存储器,被配置为在所述DMA主设备完成向所述非易失性存储器设备提供所述第一数据组之后,存储通过响应于所述第一数据组的提供对所述第一数据组执行计算而生成的第一恢复数据。
13.根据权利要求12所述的存储设备,其中,
静态随机存取存储器SRAM包括所述编程缓冲存储器和所述第一编程恢复缓冲存储器,
所述存储器控制器还包括被配置为控制所述DMA主设备和所述缓冲从设备的处理器,
所述处理器还被配置为在所述SRAM中指定对应于被配置为存储所述第一数据组的所述编程缓冲存储器的区域,并且
所述处理器还被配置为在所述SRAM中指定对应于被配置为存储所述第一恢复数据的所述第一编程恢复缓冲存储器的区域。
14.根据权利要求12所述的存储设备,其中,在所述第一恢复数据被存储在所述第一编程恢复缓冲存储器中之后,所述存储器控制器还被配置为移除存储在所述编程缓冲存储器中的所述第一数据组。
15.根据权利要求12所述的存储设备,其中,所述缓冲从设备被配置为响应于来自所述非易失性存储器设备的编程失败信号,从所述第一编程恢复缓冲存储器向所述编程缓冲存储器提供所述第一恢复数据,所述编程失败信号指示所述第一数据组在所述非易失性存储器设备上的编程没有完成。
16.根据权利要求12所述的存储设备,其中,所述缓冲从设备被配置为响应于来自所述非易失性存储器设备的编程成功信号,释放所述第一编程恢复缓冲存储器,所述编程成功信号指示所提供的所述非易失性存储器设备上的所述第一数据组的编程完成。
17.一种存储器控制器,包括:
直接存储器存取DMA主设备,被配置为向非易失性存储器设备提供第一数据组;
编程缓冲存储器,被配置为在所述DMA主设备向所述非易失性存储器设备提供所述第一数据组之前,临时存储所述第一数据组;
缓冲从设备,包括第一编程恢复缓冲存储器,所述第一编程恢复缓冲存储器被配置为在所述DMA主设备向所述非易失性存储器设备提供所述第一数据组之后,存储通过对从所述编程缓冲存储器提供的所述第一数据组中包括的多个数据执行计算而生成的第一恢复数据;
静态随机存取存储器SRAM,包括所述编程缓冲存储器和所述第一编程恢复缓冲存储器;和
处理器,被配置为控制所述DMA主设备、所述缓冲从设备和所述SRAM,
其中,所述处理器还被配置为在所述SRAM中指定对应于被配置为存储所述第一数据组的所述编程缓冲存储器的区域,并且
所述处理器还被配置为在所述SRAM中指定对应于被配置为存储所述第一恢复数据的所述第一编程恢复缓冲存储器的区域。
18.根据权利要求17所述的存储器控制器,其中,在所述第一恢复数据被存储在所述第一编程恢复缓冲存储器中之后,所述处理器还被配置为从所述编程缓冲存储器移除所述第一数据组。
19.根据权利要求17所述的存储器控制器,其中,所述计算包括异或计算。
20.根据权利要求17所述的存储器控制器,其中,
所述处理器还被配置为响应于指示所述第一数据组在所述非易失性存储器设备上的编程未完成的编程失败信号,将所述第一恢复数据从所述第一编程恢复缓冲存储器提供给所述编程缓冲存储器,并且
所述处理器还被配置为响应于指示所述第一数据组在所述非易失性存储器设备上的编程完成的编程成功信号,从所述第一编程恢复缓冲存储器移除所述第一恢复数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210126246A KR20230043408A (ko) | 2021-09-24 | 2021-09-24 | 메모리 컨트롤러 및 스토리지 장치 |
KR10-2021-0126246 | 2021-09-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115857797A true CN115857797A (zh) | 2023-03-28 |
Family
ID=85661178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211176015.4A Pending CN115857797A (zh) | 2021-09-24 | 2022-09-26 | 存储器控制器和存储设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11929140B2 (zh) |
KR (1) | KR20230043408A (zh) |
CN (1) | CN115857797A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116627869B (zh) * | 2023-05-31 | 2024-06-07 | 重庆赛力斯凤凰智创科技有限公司 | 应用于电子设备的数据传输方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6151641A (en) | 1997-09-30 | 2000-11-21 | Lsi Logic Corporation | DMA controller of a RAID storage controller with integrated XOR parity computation capability adapted to compute parity in parallel with the transfer of data segments |
US8205019B2 (en) | 2005-09-30 | 2012-06-19 | Intel Corporation | DMA transfers of sets of data and an exclusive or (XOR) of the sets of data |
US8370717B1 (en) | 2008-04-08 | 2013-02-05 | Marvell International Ltd. | Method and apparatus for flexible buffers in an XOR engine |
US9639457B1 (en) | 2012-12-20 | 2017-05-02 | Datadirect Networks, Inc. | Data storage system and method for data migration between high-performance computing architectures and data storage devices using storage controller with distributed XOR capability |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
KR102398186B1 (ko) | 2017-07-03 | 2022-05-17 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 및 사용자 장치의 동작 방법 |
KR20190123984A (ko) * | 2018-04-25 | 2019-11-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
-
2021
- 2021-09-24 KR KR1020210126246A patent/KR20230043408A/ko active Search and Examination
-
2022
- 2022-06-02 US US17/831,284 patent/US11929140B2/en active Active
- 2022-09-26 CN CN202211176015.4A patent/CN115857797A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11929140B2 (en) | 2024-03-12 |
US20230109422A1 (en) | 2023-04-06 |
KR20230043408A (ko) | 2023-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9747170B2 (en) | Non-volatile multi-level cell memory system and method of performing adaptive data back-up in the system | |
KR102381218B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN112860178B (zh) | 存储器装置、存储器控制器、存储器系统及其操作方法 | |
CN106486163B (zh) | 非易失性存储器件、包括其的数据储存设备及其操作方法 | |
CN110942795B (zh) | 存储器系统、其操作方法以及非易失性存储器装置 | |
WO2016003828A1 (en) | Counter for write operations at a data storage device | |
CN114741094A (zh) | 一种固件更新方法、设备及数据系统 | |
CN115857797A (zh) | 存储器控制器和存储设备 | |
CN113806254B (zh) | 存储器系统、存储器控制器及存储器系统的操作方法 | |
CN114664342A (zh) | Ufs装置及其操作方法 | |
EP4180977B1 (en) | Parameter change command for storage device interface tuning | |
US12073884B2 (en) | Storage device and operating method thereof | |
US11868647B2 (en) | Nonvolatile memory device, with valley search for threshold voltage, memory controller, and reading method of storage device including the same | |
CN106935265A (zh) | 非易失性存储器装置以及包括该非易失性存储器装置的数据存储装置 | |
US11614886B2 (en) | Memory system and operating method thereof | |
CN110442302B (zh) | 存储器系统及用于操作存储器系统的方法 | |
US11960359B2 (en) | Memory system, memory controller and operating method of memory system | |
EP4184332B1 (en) | Storage controller and storage device including the same | |
US11275524B2 (en) | Memory system, memory controller, and operation method of memory system | |
US11669266B2 (en) | Memory system and operating method of memory system | |
US11822819B2 (en) | Memory system and operating method thereof | |
US20230141554A1 (en) | Memory device, memory system, and method of operating the memory system | |
US20230289260A1 (en) | Controller and operating method of the controller for determining reliability data based on syndrome weight | |
US20240028507A1 (en) | Storage system and method of operating the storage system | |
US20240231987A1 (en) | Storage device, method of operating storage device, and method of operating non-volatile memory |
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 |