CN111414133A - 操作存储器控制器和存储器***的方法以及存储器*** - Google Patents
操作存储器控制器和存储器***的方法以及存储器*** Download PDFInfo
- Publication number
- CN111414133A CN111414133A CN201911307102.7A CN201911307102A CN111414133A CN 111414133 A CN111414133 A CN 111414133A CN 201911307102 A CN201911307102 A CN 201911307102A CN 111414133 A CN111414133 A CN 111414133A
- Authority
- CN
- China
- Prior art keywords
- controller
- data
- memory
- volatile memory
- write
- 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 307
- 238000000034 method Methods 0.000 title claims abstract description 74
- 239000000872 buffer Substances 0.000 claims abstract description 98
- 230000004044 response Effects 0.000 claims description 17
- 230000008672 reprogramming Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 31
- 238000007726 management method Methods 0.000 description 28
- 238000013507 mapping Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 5
- 239000003990 capacitor Substances 0.000 description 4
- 206010067959 refractory cytopenia with multilineage dysplasia Diseases 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 2
- 238000011017 operating method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- CXRFDZFCGOPDTD-UHFFFAOYSA-M Cetrimide Chemical compound [Br-].CCCCCCCCCCCCCC[N+](C)(C)C CXRFDZFCGOPDTD-UHFFFAOYSA-M 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000013519 translation Methods 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/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
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0658—Controller construction 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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
提供了一种操作存储器控制器和存储器***的方法、以及存储器***。所述对控制非易失性存储器设备的存储器控制器进行控制的方法包括:经由第一接口从外部控制器接收第一数据和第一物理地址;将第一数据存储在非易失性存储器缓冲器中;以及控制非易失性存储器设备的写入操作,其中在非易失性存储器的第一物理区域中编程所述存储在非易失性存储器缓冲器中的第一数据,该第一物理区域对应于第一物理地址。
Description
相关专利的交叉引用
本申请要求于2018年12月19日在韩国知识产权局提交的韩国专利申请第10-2018-0165532号的优先权,其公开内容通过引用整体并入本文。
技术领域
本发明构思涉及一种存储器***,更具体地,涉及一种包括非易失性存储器设备的存储器***、操作该存储器***的方法、以及包括在该存储器***中的存储器控制器。
背景技术
即使在不再供电时,非易失性存储器也保持存储的数据。闪存是可以电擦除和重新编程的非易失性存储器的示例。包括诸如嵌入式多媒体卡(eMMC)、通用闪存(UFS)、固态驱动器(SSD)和存储卡的闪存的存储设备已被广泛用于存储和传送大量数据。
然而,如果经历太多编程周期,则可能降低闪存的写入可靠性。此外,由于擦除操作只能在逐块的基础上执行,因此闪存可能具有比其他类型的非易失性存储器更低的写入性能。因此,需要一种用于改进非易失性存储器设备的写入可靠性和写入性能的方法和装置。
发明内容
本发明构思的至少一个实施例提供了一种包括多个存储器控制器和存储器设备的存储器***、操作该存储器***的方法、以及操作存储器控制器的方法。
根据本发明构思的示例性实施例,提供了一种操作控制非易失性存储器设备的第一存储器控制器的方法,该方法包括:第一存储器控制器经由第一存储器控制器的第一接口从第二存储器控制器接收第一数据和第一物理地址;第一存储器控制器在第一存储器控制器的非易失性存储器缓冲器中存储第一数据;以及第一存储器控制器在与第一物理地址对应的非易失性存储器设备的第一物理区域中对存储在非易失性存储器缓冲器中的第一数据进行编程。
根据本发明构思的示例性实施例,提供了一种操作控制非易失性存储器设备的存储器控制***的方法,该方法包括:由第二控制器经由第一接口从第一控制器接收写入数据和第一物理地址;由第二控制器将写入数据存储在第二控制器的非易失性存储器缓冲器中;以及由第二控制器使用存储在非易失性存储器缓冲器中的写入数据和第一物理地址对非易失性存储设备进行写入操作;以及由第二控制器向所述第一控制器输出指示写入操作是成功完成还是失败的信号。
根据本发明构思的示例性实施例,提供了一种存储器***,包括:第一控制器,从主机接收对非易失性存储器设备的访问请求和逻辑地址,该第一控制器被配置为将逻辑地址转换为物理地址;以及第二控制器,从第一控制器接收物理地址,该第二控制器控制将写入数据写入非易失性存储器设备的存储区域,该存储区域对应于物理地址,以及控制读取数据从存储区域被读取。
附图说明
通过以下结合附图的详细描述,将更清楚地理解本发明构思的实施例,其中:
图1是根据本发明构思的示例性实施例的包括存储器***的数据处理***的框图;
图2是示出根据本发明构思的示例性实施例的、在存储器***中的写入和读取操作的示图;
图3是示出根据本发明构思的示例性实施例的操作存储器***的方法的流程图;
图4是根据本发明构思的示例性实施例的第二控制器的框图;
图5是示出根据本发明构思的示例性实施例的、在非易失性存储器缓冲器中的存储器单元阵列的示例的示图;
图6是示出根据本发明构思的示例性实施例的、在存储器***中的写入方法的流程图;
图7是示出根据本发明构思的示例性实施例的、在存储器***中的写入方法的示图;
图8是示出根据本发明构思的示例性实施例的、在存储器***中的写入方法的示图;
图9是示出根据本发明构思的示例性实施例的、在存储器***中的写入方法的示图;
图10是示出根据本发明构思的示例性实施例的、在存储器***中的写入方法的示图;
图11A和11B是示出根据本发明构思的示例性实施例的、在存储器***中的写入方法的示图;
图12A和12B是示出根据本发明构思的示例性实施例的、在非易失性存储器***中传送编程完成信息的方法的示图;
图13是示出根据本发明构思的示例性实施例的、在存储器***中的读取方法的流程图;
图14A和14B是示出根据本发明构思的示例性实施例的、在存储器***中的读取方法的示图;
图15A和15B是示出当发生编程失败时根据本发明构思的示例性实施例的存储器***的操作方法的示图;
图16A、16B和16C是示出在断电和通电期间根据本发明构思的示例性实施例的操作存储器***的方法的示图;
图17是根据本发明构思的示例性实施例的管理信息的示图;以及
图18是根据本发明构思的示例性实施例的固态驱动器(SSD)***的框图。
具体实施方式
在下文中,将参考附图详细描述本发明构思的一个或多个示例性实施例。然而,本公开可以以许多不同的形式实施,并且不应该被解释为限于本文阐述的实施例。贯穿本申请,相同的附图标记表示相同的元件。
图1是根据本发明构思的示例性实施例的包括存储器***的数据处理***1的框图。
数据处理***1可以嵌入在电子设备中,或者可以实现为电子设备。电子设备的示例可以包括个人计算机(PC)、数据服务器、超移动PC(UMPC)、工作站、网络书籍、网络附加存储(NAS)、智能电视、互联网物联网(IoT)设备和便携式电子设备。便携式电子设备可以包括例如膝上型计算机、移动电话、智能电话、平板电脑、个人数字助理(PDA)、企业数字助理(EDA)、数字静态相机、数字摄像机、音频设备、便携式多媒体播放器(PMP)、个人导航设备(PND)、MP3播放器、手持式游戏机、电子书阅读器或可穿戴设备。
参考图1,数据处理***1包括主机200和存储器***100。
主机200可以将数据DATA存储在存储器***100中并从存储器***100读取数据。主机200可以表示处理数据的数据处理装置。数据处理装置的示例包括中央处理单元(CPU)、处理器、微处理器或应用处理器(AP)。例如,主机200可以实现为片上***(SoC)。
主机200可以经由设置的接口协议与存储器***100进行通信。主机200可以向存储器***100发送用于写入或读取数据的访问请求REQ以及向存储器***100指示要访问的位置的地址(例如,逻辑地址LA)。访问请求REQ可以是包括写入请求或读取请求的命令。存储器***100可以响应于访问请求REQ而操作。
存储器***100可以响应于从主机200接收的访问请求REQ(例如,写入/读取请求)而操作,并且可以存储从主机200接收的数据DATA。也就是说,存储器***100可以用作主机200的存储设备。
根据设置用于连接到主机200的主机接口协议,存储器***100可以实现为各种存储设备之一。例如,存储器***100可以是嵌入在电子设备中的内部存储器。例如,存储器***100可以实现为各种存储设备之一,例如嵌入式多媒体卡(eMMC)、MMC、固态硬盘(SSD)、通用闪存(UFS)、嵌入式UFS、尺寸缩小的MMC(RS-MMC)、微型MMC型多媒体卡、紧凑型闪存(CF)卡、安全数字(SD)卡、微安全数字(Micro-SD)卡、迷你SD卡、极端数字(XD)卡、智能媒体卡或记忆棒。
存储器***100包括:存储设备130,存储由主机200访问的数据;以及存储器控制器,即第一控制器110(例如,第一控制电路)和第二控制器120(例如,第二控制电路),控制存储器设备130的数据存储/读取。在该实施例中,第一控制器110和第二控制器120或第一控制器110、第二控制器120以及存储器设备130被集成为一个半导体器件。作为非限制性示例,第一控制器110、第二控制器120以及存储器设备130可以实现为半导体模块。
存储器设备130可以存储数据。存储器设备130可以包括即使在电力供应不再向存储器***100提供之后也能够保留存储的数据的非易失性存储器设备。
存储器设备130包括多个存储器MC0至MCm(m是正整数)。例如,多个存储器MC0至MCm每个可以包括包含存储器单元阵列MCA的存储芯片。存储器单元阵列MCA可以包括多个存储器块。在实施例中,存储器单元阵列MCA包括多个闪存单元,例如,多个闪存单元可以是NAND闪存单元。然而,本发明构思的实施例不限于此,即,存储器单元可以包括电阻存储器单元,诸如电阻RAM(ReRAM)、相变RAM(PRAM)或磁RAM(MRAM)。在下文中,将假设存储器设备130是NAND闪存器件来提供描述。
在示例性实施例中,存储器单元阵列MCA中包括的每个存储器单元是存储一比特数据的单级单元(single-level cell)SLC。在另一示例性实施例中,存储器单元阵列MCA中包括的每个存储器单元是存储两个或更多比特数据的多级单元MLC。例如,包括在存储器单元阵列MCA中的每个存储器单元可以是存储三比特数据的三级单元TLC或存储四比特数据的四级单元。
在示例性实施例中,存储器单元阵列MCA包括实现为具有二维水平结构的NAND闪存的二维存储器阵列。在另一示例性实施例中,存储器单元阵列MCA包括实现为具有3D垂直结构的NAND闪存的三维(3D)存储器阵列。3D存储器阵列可以在存储器单元阵列的至少一个物理层中单片地形成,该每个存储器单元阵列具有设置在硅衬底之上的有源区域和形成在硅衬底之上或之内的电路,其中该电路与那些存储器单元的操作相关联。如本文所用,术语“单片”表示阵列的每个层的层直接堆积在阵列的每个下层的层上。在示例性实施例中,3D存储器阵列包括垂直朝向的垂直NAND串,使得至少一个存储器单元位于另一个存储器单元上。至少一个存储器单元可以包括电荷陷阱层。以下专利文献,其全部内容通过引用并入本文,描述了3D存储器阵列的示例配置,其中3D存储器阵列可以被配置为多个级别,在级别之间共享字线和/或位线:美国专利第7679133号、第8553466号、第8654587号、第8559235号;以及美国专利申请公开第2011/0233648号。
第一控制器110和第二控制器120可以控制存储器设备130,以便向存储器设备130写入或从存储器设备130读取数据。第一控制器110和第二控制器120可以被称为存储器控制***或存储器控制电路。在示例性实施例中,第一控制器110和第二控制器120响应于来自主机200的写入/读取请求或者为了执行后台操作而控制存储器设备130,使得数据DATA(从主机200发送的数据或内部生成的数据)被写入存储器设备130中,或者可以读取存储在存储器设备130中的数据。在示例性实施例中,第一控制器110和第二控制器120控制存储器设备130,以便将内部生成的数据写入存储器设备130中或者读取存储在存储器设备130中的数据用于执行后台操作。第一控制器110和第二控制器120可以集成为一个半导体器件,或者第一控制器110和第二控制器120可以作为单独的半导体芯片提供并且实现为半导体模块,其中第一控制器110和第二控制器120经由连接构件(例如,互连器或***器)彼此连接。
第一控制器110可以控制存储器***100的整体操作。第一控制器110可以管理存储器***100的状态(电源状态、温度、电源开/关等)。第一控制器110可以控制对存储器设备130执行的写入(或编程)、读取和擦除操作。此外,第一控制器110可以控制关于存储器设备130的各种后台操作。例如,后台操作可以包括垃圾收集、坏块管理、读取回收和读取替换。
第一控制器110分析来自主机200的访问请求REQ,以便根据访问请求REQ向存储器设备130写入数据或从存储器设备130读取数据,并生成命令CMD。另外,第一控制器110将从主机200发送的逻辑地址LA转换为物理地址PA。逻辑地址LA可以是由主机200识别的地址,并且物理地址PA可以表示对应于逻辑地址LA的、存储器设备130中的存储区域,即物理区域。物理地址PA可以包括物理块号和物理页号中的至少一个。例如,物理块号可以用于标识存储器设备130的存储器单元阵列的存储器块,并且物理页号可以用于标识存储器块内的页。
第一控制器110可以包括闪存转换层(FTL)111。FTL 111可以实现为固件或软件。在实施例中,FTL 111将逻辑地址LA映射到物理地址PA,并管理逻辑地址LA和物理地址PA之间的映射信息。映射信息可以位于由FTL111维护的映射表中。
可以以页为单位执行被实现为NAND闪存的存储器设备130中的数据的写入和读取,并且可以以块为单位执行擦除。由于需要在写入之前执行块的擦除,因此不允许重写。在从主机200提供的地址(例如,逻辑地址LA)直接指定存储器设备130中的物理区域的情况下,当从主机200多次接收到关于一个地址的写入请求时,对于以页为单位的写入请求,以块为单位的擦除必须执行多次。因此,难以快速处理写入请求并且会加速存储器单元中的劣化。因此,FTL 111将物理地址PA分配给逻辑地址LA并将数据写入对应于物理地址PA的物理区域中,并且当再次接收到关于逻辑地址LA的写入请求时,FTL 111改变分配给逻辑地址LA的物理地址PA,并将数据写入对应于改变的物理地址PA的物理区域中。FTL 111通过将物理地址PA分配给逻辑地址LA来生成映射信息,并且可以通过参考映射信息将从主机200提供的逻辑地址LA转换为物理地址PA。当关于逻辑地址LA的物理地址PA改变时,FTL 111存储逻辑地址LA和改变的物理地址PA作为映射信息以更新映射信息。
在示例性实施例中,第一控制器110生成执行后台操作所需的命令CMD和指示要在其中执行后台操作的物理区域的物理地址PA。第一控制器110可以生成用于管理存储器设备130的元数据,并且可以控制内部生成的、要存储在存储器设备130中的数据。元数据可以包括逻辑地址LA和物理地址PA之间的映射信息、存储器设备130的存储器块中的单元劣化程度或耗损均衡信息。
第一控制器110可以通过将包括写入请求和物理地址PA的命令CMD以及数据DATA传送到第二控制器120来运行写入任务。第一控制器110可以通过将包括读取请求和物理地址PA的命令CMD传送到第二控制器120来运行读取任务。在实施例中,命令CMD包括物理地址PA。例如,命令CMD可以包括命令的类型(例如,类型指示命令是写入命令或类型指示命令是读取命令)和物理地址PA,并且另外根据访问请求REQ还可以包括各种类型的信息。
第二控制器120可以控制对存储器设备130执行的写入(或编程)操作和读取操作。在示例性实施例中,第二控制器120作为第一控制器110的子控制器操作并且通过在第一控制器110和存储器设备130之间的写入和读取操作中控制数据DATA的缓冲和传输来支持第一控制器110的写入和读取操作。
第二控制器120包括非易失性存储器缓冲器10和调度器20(例如,调度电路)。非易失性存储器缓冲器10可以存储要写入存储器设备130的数据。非易失性存储器缓冲器10可以包括即使在不再接收电力供应(例如,电力供应受阻)时也保留存储的数据的非易失性存储器单元。例如,非易失性存储器缓冲器10可以包括磁RAM(MRAM)、相变RAM(PRAM)或电阻RAM(ReRAM)。然而,本发明构思的实施例不限于此。例如,非易失性存储器缓冲器10可以包括各种非易失性存储器,包括闪存、纳米浮栅存储器(NFGM)、聚合物随机存取存储器(PoRAM)或铁电随机存取存储器(FRAM)。
调度器20可以执行对存储器设备130执行的编程操作的调度。调度器20调度用于编程的时间、编程的顺序以及执行编程的次数,以用于根据相对于存储器设备130设置的写入方法和/或编程方法将存储在非易失性存储器缓冲器10中的数据编程到存储器设备130中,然后控制对存储器设备130执行的写入(或编程)操作。在示例性实施例中,设置的写入方法和/或编程方法根据存储器设备130的情形或状态而变化。
在根据示例性实施例的存储器***100中,第二控制器120包括非易失性存储器缓冲器10,并且非易失性存储器缓冲器10缓冲存储在存储设备130中的数据。存储器***100可以包括电容器(例如,电力电容器),其提供当提供给存储器***100的电力被突然阻断时用于防止数据丢失的临时电力。即使在电力供应被阻断时,非易失性存储器缓冲器10也可以保留数据。因此,可以减小电容器的容量,并且因此可以减小存储器***100的面积。另外,根据本发明构思的实施例,由于第二控制器120调度存储器***100中的数据的写入/读取操作,因此第一控制器110可以具有较少的控制写入/读取操作的负担,并且可以增加第一控制器110的操作中的自由度。
图2是示出根据本发明构思的示例性实施例的、在存储器***中的写入和读取操作的示图。
参考图2,第二控制器120连接到第一控制器110和存储器设备130。第二控制器120包括非易失性存储器缓冲器10、调度器20、第一接口30(例如,接口电路)、以及第二接口40(例如,接口电路),并且可以经由第一接口30向第一控制器110发送数据或者从第一控制器110接收数据,并且经由第二接口40向存储器设备130发送数据或从存储器设备130接收数据。第一接口30和第二接口40可以各自称为存储器接口,并且可以包括相同类型或不同类型的接口协议。例如,第一接口30和第二接口40均可以被配置为经由诸如通用串行总线(USB)、MMC、***组件互连快递(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机***接口(SCSI)、增强型小型设备接口(ESDI)或集成驱动电子设备(IDE)的各种接口协议中的至少一个与第一控制器110和存储器设备130进行通信。
尽管未示出,但是第一控制器110还可以包括至少两个接口。第一控制器110可以包括用于与主机200进行通信的主机接口和用于与第二控制器120进行通信的存储器接口。第一控制器110中的存储器接口可以包括与第二控制器120中的第一接口30的接口协议相同的接口协议。
在写入操作中,第二控制器120经由第一接口30从第一控制器110接收写入数据WDATA,并将写入数据WDATA存储在非易失性存储器缓冲器10中。存储在非易失性存储器缓冲器10中的写入数据WDATA可以根据调度器20的控制被输出,并且可以经由第二接口40传送到存储器设备130。
在读取操作中,第二控制器120经由第二接口40从存储器设备130接收读取数据RDATA,并且根据调度器的控制经由第一接口30将读取数据RDATA发送到第一控制器110。在实施例中,第二控制器120将从存储器设备130输出的读取数据RDATA临时存储在非易失性存储器缓冲器10中,然后从非易失性存储器缓冲器10输出读取数据RDATA并发送读取数据到第一控制器110。在示例性实施例中,当请求从第一控制器110读取的读取RDATA已经存储在非易失性存储器缓冲器10中时,第二控制器120直接输出来自非易失性存储器缓冲器10而不是来自存储设备130的读取数据RDATA,然后将读数据RDATA发送到第一控制器110。
在示例性实施例中,第一控制器110被配置为将第二控制器120设置为旁路模式。当第二控制器120被设置为旁路模式时,从第一控制器110接收的数据(例如,写入数据WDATA)从第一接口30直接发送到第二接口40,而不存储在非易失性存储器中缓冲器10中或通过调度器20,然后经由第二接口40发送到存储器设备130。当第二控制器120被设置为旁路模式时,从存储器设备130接收的数据(例如,读取数据RDATA)从第二接口40直接发送到第一接口30,然后经由第一接口30发送到第一控制器110。
图3是示出根据本发明构思的示例性实施例的操作存储器***100的方法的流程图。可以在图1和图2所示的存储器***100中运行图3中示出的操作,并且将参考图1和2对其进行描述。
参考图3,第一控制器110从主机200接收关于存储器设备130的访问请求和逻辑地址LA(S110)。访问请求可以包括写入请求或读取请求。第一控制器110可以经由主机接口接收访问请求和逻辑地址。
第一控制器110将逻辑地址转换为物理地址(S120)。例如,第一控制器110可以通过响应于写入请求将物理地址分配给逻辑地址来将逻辑地址转换为物理地址,并且可以管理指示逻辑地址和物理地址之间的映射关系的映射信息。此外,第一控制器110可以响应于读取请求通过参考预先存储的映射信息检测关于逻辑地址的物理地址,将逻辑地址转换为物理地址。第一控制器110可以生成与访问请求相对应的命令。例如,第一控制器110可以响应于写入请求生成用于控制存储器设备130的写入操作的写入命令,或者可以响应于读取请求生成用于控制存储器设备130的读取操作的读取命令。
第二控制器120从第一控制器110接收与访问请求相对应的命令和物理地址(S130)。第二控制器120经由第一接口30接收写入命令或读取命令,并且还可以接收物理地址。
第二控制器120控制存储器设备130,使得数据被写入存储器设备130的与物理地址相对应的存储区域(例如,物理区域)中或者从存储区域读取。第二控制器120经由第二接口40向存储器设备130提供命令和物理地址,以控制要写入或要读取的数据。在该实施例中,第二控制器120可以从第一控制器110接收多个命令和多个物理地址,基于编程方法或写入方法来调度数据的写入或读取操作,以及根据调度顺序向存储设备130提供多个命令和多个物理地址。可以预先设置编程方法或写入方法。存储器设备130基于所接收的命令和物理地址,可以在存储器单元阵列中编程与命令和物理地址一起接收的数据,或者可以从对应于物理地址的存储区域读取数据。
虽然描述了存储器***100响应于来自主机200的请求将数据写入存储器设备130或从存储器设备130读取数据的操作,但是本发明构思的实施例不限于此。例如,第一控制器110可以确定存储或读取在存储器***100内部生成的内部数据,并且可以生成与存储器设备130的存储区域相对应的物理地址,该存储区域将被访问用于存储或读取内部数据。
图4是根据本发明构思的示例性实施例的第二控制器120的框图。
参考图4,第二控制器120包括第一接口30、非易失性存储器缓冲器10、调度器20以及第二接口40,还可以包括处理器50、存储器60、定时器70(例如,定时器逻辑或电路)以及温度传感器80,用于控制写入和读取操作。第二控制器120的元件可以经由总线90彼此通信。
处理器50可以包括中央处理单元或微处理器,并且可以控制第二控制器120的整体操作。在实施例中,处理器50被实现为多核处理器(例如,双核处理器或四核处理器)。
存储器60根据处理器50的控制进行操作,并且可以用作操作存储器或高速缓冲存储器。存储器60可以存储用于操作第二控制器120的程序和/或数据,或者由第二控制器120生成的数据。存储器60可以实现为易失性存储器,诸如DRAM或静态RAM(SRAM)。然而,本发明构思的实施例不限于此。例如,存储器60可以实现为非易失性存储器,诸如PRAM或闪存。
定时器70可以测量在第二控制器120中发生事件的时间或从事件发生起的经过时间。例如,定时器70可以测量从第一控制器CTRL1接收的数据存储在非易失性存储器缓冲器10中的时间或者在存储数据之后经过的时间。或者,定时器70可以测量存储在非易失性存储器缓冲器10中的数据被编程在存储器设备130中的时间或编程后经过的时间。定时器70可以将测量的时间提供给处理器50。
温度传感器80可以测量第二控制器120中事件发生的时间点的温度。例如,温度传感器80可以测量数据存储在非易失性存储器缓冲器10中时的温度或者在存储器设备130中编程数据时的温度。温度传感器80可以将测量的温度提供给处理器50。在实施例中,定时器70可以在不使用总线90的情况下直接将时间信息发送到处理器50和/或温度传感器80可以在不使用总线90的情况下直接将温度信息发送到处理器50。
第一接口30可以与第一控制器110进行通信,第二接口40可以与存储器设备130进行通信。
非易失性存储器缓冲器10可以经由第一接口30存储(缓冲)从第一控制器110接收的数据。如上面参考图2所述,非易失性存储器缓冲器10可以实现为非易失性存储器(例如,MRAM)。
调度器20可以根据关于存储器设备130而预先设置的写入方法和/或编程方法来调度编程操作和读取操作。稍后将参考图9至15B详细描述根据调度器20的调度的编程操作和读取操作。调度器20可以实现为软件(或固件)或硬件。当调度器20实现为软件或固件时,调度器20被加载到存储器60上,并且当处理器50运行软件或固件时运行调度器20的调度操作。
虽然非易失性存储器缓冲器10被示为包括在第二控制器120中,但是本发明构思的实施例不限于此。在实施例中,非易失性存储器缓冲器10被实现为第二控制器120外部的单独设备。第二控制器120还可以包括用于与非易失性存储器缓冲器10进行通信的非易失性存储器接口,并且可以经由非易失性存储器接口将从第一控制器110接收的数据存储在非易失性存储器缓冲器10中,并且可以从非易失性存储器缓冲器10读取数据。
图5是示出根据示例性实施例的、在非易失性存储器缓冲器中的存储器单元阵列的示例的示图。图5示出了MRAM的单元阵列。
参考图5,MRAM单元阵列包括多个字线WL、多个位线BL、多个源极线SL、以及布置在字线WL和位线BL彼此交叉的区域处的多个存储器单元U。单位存储器单元U可以包括磁隧道结(MTJ)结构11和单元晶体管CT,并且可以通过选择一条位线BL和一条源极线SL而被选择。因此,MRAM单元阵列可以具有1MTJ-1TR结构。在实施例中,单位存储器单元U包括垂直MTJ(pMTJ)。MTJ结构11可以包括固定层(pinned layer)11a、隧道层(或阻挡层)11b和自由层11c。固定层11a连接到单元晶体管CT的漏极,自由层11c连接到位线BL。单元晶体管CT的源极连接到源极线SL,并且单元晶体管CT的栅极连接到字线WL。固定层11a和自由层11c可以在两个方向中的一个方向上被磁化,并且MTJ结构11的电阻值可以根据固定层11a和自由层11c中的每个的磁化方向而变化。可以基于MTJ结构11的电阻值的变化来编程(例如,存储或删除)数据。
如上所述,MRAM单元阵列是基于磁阻的非易失性存储器单元阵列。由于MRAM单元阵列是非易失性的,因此即使在电源关断时也可以保留所存储的数据。另外,MRAM单元阵列MRCA可以根据施加到字线WL、位线BL和源极线SL的电压以页PG为单位执行数据的写入、读取和擦除操作。
图6是示出根据本发明构思的示例性实施例的、在存储器***中的写入方法的流程图。图7是示出根据实施例的、在存储器***中的写入方法的示图。参考图6和7,下面将描述根据该实施例的存储器***中的写入方法。
参考图6,第一控制器110从主机200接收写入请求、逻辑地址和写入数据(S210)。第一控制器110可以经由主机接口与主机200通信,并且可以从主机200接收写入请求、逻辑地址和写入数据。
第一控制器110将逻辑地址转换为物理地址(S220)。物理地址表示存储器设备130的、写入数据被存储在其中的存储区域,即物理区域。第一控制器110还可以根据写入请求生成写入命令WCMD。在实施例中,第一控制器110生成写入命令WCMD和物理地址PA,用于存储内部生成的数据,而不从主机接收写入命令。
第二控制器120可以经由第一接口30从第一控制器110接收写入命令WCMD、物理地址PA和要写入存储器设备130中的数据DATA(下文中,称为写入数据)。写入数据DATA可以是从主机200接收的数据或由第一控制器110生成或由第一控制器110管理的数据。
第二控制器120将写入数据DATA存储在非易失性存储器缓冲器10中(S240)。第二控制器120可以将写入数据DATA和与其对应的物理地址PA存储在非易失性存储器缓冲器10中。在实施例中,当从第一控制器接收写入数据DATA和与写入数据DATA相关联的物理地址PA时,第二控制器120将写入数据DATA存储在非易失性存储器缓冲器10中。在另一实施例中,第二控制器120响应于来自第一控制器110的请求(例如,请求存储的命令)将写入数据DATA存储在非易失性存储器缓冲器10中。在实施例中,当写入数据存储在非易失性存储器缓冲器10中时,第二控制器120将写入完成信号WDONE发送到第一控制器110。
第二控制器120控制存储器设备130的写入操作,使得写入数据DATA被编程在存储器设备130的存储区域中,其对应于物理地址PA(S250)。第二控制器120可以从非易失性存储器缓冲器10读取写入数据DATA,并且经由第二接口40将写入数据DATA和物理地址PA发送到存储器设备130。存储器设备130可以在与物理地址PA相对应的存储区域中对写入数据DATA进行编程。
另外,在操作S230和S240中,第二控制器120可以从第一控制器110接收多个写入命令、多个逻辑地址以及与多个写入命令和多个逻辑地址相对应的多条写入数据,并且可以将多条写入数据存储在非易失性存储器缓冲器10中。第二控制器120,具体地,调度器20可以根据写入方法和/或编程方法的确定写入多条写入数据的顺序、编程顺序以及编程操作的次数,并且可以根据确定的顺序和次数将多个逻辑地址和对应的多条写入数据提供给存储器设备130。这将在下面参考图8至11B进行描述。
图8是示出根据本发明构思的示例性实施例的、在存储器***中的写入方法的示图。
参考图8,第一控制器110顺序地将多个写入命令、多个物理地址以及分别与写入命令相对应的多条数据发送到第二控制器120。
例如,第一控制器110可以将第一写入命令WCDMA1、第一物理地址PA1和第一写入数据DATA1发送到第二控制器120,可以将第二写入命令WCDMA2、第二物理地址PA2和第二写入数据DATA2发送到第二控制器120,然后,可以将第三写入命令WCDMA3、第三物理地址PA3和第三写入数据DATA3发送到第二控制器120。第二控制器120可以将第一写入数据DATA1、第二写入数据DATA2和第三写入数据DATA3存储在非易失性存储器缓冲器10中。第一至第三物理地址PA1至PA3可以与对应的写入数据一起存储。在实施例中,在第一时间将第一写入命令WCMDA1、第一物理地址PA1和第一写入数据DATA1发送到第二控制器120,在第一时间之后的第二时间将第二写入命令WCMDA2、第二物理地址PA2和第二写入数据DATA21发送到第二控制器120,并且在第二时间之后的第三时间将第三写入命令WCMDA3、第三物理地址PA3和第三写入数据DATA3发送到第二控制器120。
调度器20可以根据设置的写入方法(或写入策略)确定写入第一至第三写入数据DATA1至DATA3的顺序。例如,调度器20可以基于写入数据的优先级顺序来确定写入顺序。调度器20可以根据确定的写入顺序将第一至第三写入数据DATA1至DATA3发送至存储器设备130。调度器20可以根据确定的写入顺序从非易失性存储器缓冲器10顺序地读取第一至第三写入数据DATA1至DATA3,并且可以经由第二接口40将读出的写入数据、相应的物理地址以及写入命令发送到存储器设备130。
在实施例中,调度器20根据非易失性存储器缓冲器10中的接收顺序或存储顺序将第一至第三写入数据DATA1至DATA3发送至存储器设备130。在实施例中,调度器20根据与非易失性存储器缓冲器10中的接收顺序或存储顺序无关地确定的顺序,将第一至第三写入数据DATA1至DATA3发送至存储器设备130。因此,如图8所示,可以首先将从第一至第三写入数据DATA1至DATA3中最后接收的第三写入数据DATA3发送到存储器设备130。存储器设备130可以在与物理地址相对应的存储区域中编程接收到的写入数据。因此,可以以所述顺序写入第三写入数据DATA3、第一写入数据DATA1以及第二写入数据DATA2。
图9是示出根据本发明构思的示例性实施例的、在存储器***中的写入方法的示图。
参考图9,第二控制器120确定用于写入数据的写入时间。如图9所示,第二控制器120从第一控制器110接收写入数据(例如,第一至第三写入数据DATA1至DATA3)和与数据相对应的物理地址(例如,第一至第三物理地址PA1至PA3),并且将第一至第三写入数据DATA1至DATA3以及第一至第三物理地址PA1至PA3存储到非易失性存储器缓冲器10中。调度器20可以确定写入时间,即将存储在非易失性存储器缓冲器10中的写入数据(例如,第一至第三写入数据DATA1至DATA3)写入存储器设备130中的时间。调度器20可以确定用于第一至第三写入数据DATA1至DATA3中的每一个的写入时间。在实施例中,当第一控制器110不操作时或者在第一控制器110当前没有向第二控制器发送命令和/或数据的时段期间,调度器20将写入数据写入存储器设备130中作为后台操作。调度器20可以在用于第一至第三写入数据DATA1至DATA3中的每个的写入数据的确定写入时间将第一至第三写入数据DATA1至DATA3发送至存储器设备130。在示例性实施例中,第一控制器110向第二控制器120提供指示第一控制器120是否正在操作或主动地向第二控制器230发送命令和/或数据的信号,使得第二控制器120知道是否执行后台操作。
图10是示出根据本发明构思的示例性实施例的、在存储器***中的写入方法的示图。
参考图10,第二控制器120组合多条写入数据,例如,从第一控制器110接收的第一至第三写入数据DATA1至DATA3,并立即将组合的写入数据DATA[1:3]写入存储器设备130中。
例如,当第一至第三写入数据DATA1至DATA3具有小尺寸并且组合第一至第三写入数据DATA1至DATA3的组合写入数据DATA[1:3]的尺寸等于或小于存储器设备130的写入单位时,调度器20可以将组合的写入数据DATA[1:3]发送到存储器设备130。因此,第二控制器120可以通过一个存储器接口操作向存储器设备130发送组合的写入数据DATA[1:3]、对应于组合的写入数据DATA[1:3]的组合物理地址PA[1:3]以及写入命令WCMD。组合的物理地址PA[1:3]可以表示分别由第一至第三物理地址PA1至PA3指示的存储区域。这样,第二控制器120可以通过一个写入操作控制将组合的写入数据DATA[1:3]写入存储器设备130中。如上所述,由于第二控制器120组合多条写入数据并将组合的写入数据写入存储器设备130,因此可以减少第二控制器120中的接口操作的次数并且可以改进存储器***的数据处理速度。
图11A和11B是示出根据本发明构思的示例性实施例的、在存储器***中的写入方法的示图。
在图11A和11B中,第二控制器120基于重新编程方案通过至少两个编程操作来控制要写入存储器设备130中的数据。
参考图11A,当从第一控制器110接收第一写入数据DATA1时,第二控制器120将第一写入数据DATA1存储在非易失性存储器缓冲器10中,并从存储器设备130读取第二写入数据DATA2。在实施例中,第二写入数据DATA2存储在存储器设备130的存储器单元阵列中的单级块(即,由单级单元组成的存储器块)中。在实施例中,第二控制器120在非易失性存储器缓冲器10中存储第二写入数据DATA2,将第一写入数据DATA1与第二写入数据DATA2组合以生成组合的写入数据DATA[1:2],并将组合的写入数据DATA[1:2]写入存储器设备130中。在实施例中,第一写入数据DATA1是要写入的组合的写入数据[1:2]的最高有效位(MSB)页,第二写入数据DATA2是组合的写入数据[1:2]的最低有效位(LSB)页。第二控制器120可以通过利用优先级将第二写入数据DATA2写入存储器设备130中、当接收到第一写入数据DATA1时从存储器设备130读取第二写入数据DATA2、以及将组合的写入数据DATA[1:2]写入存储器设备130,而通过至少两个编程操作将组合的写入数据DATA[1:2]写入存储器设备130中。如果发生编程失败,则第二控制器120可以基于存储在非易失性存储器缓冲器10中的第一写入数据DATA1和第二写入数据DATA2来恢复组合的写入数据[1:2]。
参考图11B,第二控制器120读取从第一控制器110接收并存储在非易失性存储器缓冲器10中的写入数据DATA至少两次,并将写入数据DATA传送到存储器设备130,以允许要在存储器设备130中编程写入数据DATA至少两次。换句话说,第二控制器120在存储器设备130中编程写入数据DATA,然后在存储器设备130中重新编程写入数据DATA。这里,调度器20可以确定重新编程时间点。例如,在对从存储器设备130中的第一控制器110接收的另一写入数据进行编程之后,调度器20可以将写入数据DATA设置为要在存储器设备130中至少重编程一次。
如上面参考图8至11B所述,在根据实施例的存储器***100(参见图1)中,第一控制器110将写入数据和物理地址发送到第二控制器120,并且第二控制器120确定写入数据的写入顺序(编程顺序)和编程操作的次数。第二控制器120可以基于所确定的写入顺序来控制要被写入存储器设备130中的写入数据。因此,当执行写入操作时,第二控制器120将写入数据缓冲到非易失性存储器缓冲器10中并确定写入顺序,并且因此,可以减小第一控制器110的负载(写入控制负载、写入数据缓冲负载等),并且可以改进第一控制器110的操作自由度。
图12A和12B是示出根据本发明构思的示例性实施例的在非易失性存储器***中发送编程完成信息的方法的示图。具体地,图12A和12B是示出将编程完成信息从第二控制器120发送到第一控制器110的方法的示图。
如上面参考图1所述,第一控制器110控制存储器设备130的整体写入和读取操作。然而,如上面参考图8至11B所示,由第二控制器120确定在存储器设备130中实际写入(或编程)写入数据的时间、写入顺序和编程操作的次数。由于第一控制器110管理写入数据的写入状态,当写入数据实际写入存储器设备130(参见图1)时,即,当编程完成时,第二控制器120可以将编程完成信息PGM_IF发送到第一控制器110。例如,编程完成信息PGM_IF可以包括编程的通过/失败、编程完成时间和编程结束时的温度。例如,通过/失败可以指示编程成功完成(通过)或失败(失败)。
参考图12A,当完成写入数据的编程时,第二控制器120可以中断第一控制器110。第一控制器110可以响应于中断从第二控制器120读取编程完成信息PGM_IF。例如,响应于来自第一控制器110的请求,第二控制器120可以向第一控制器110提供编程完成信息PGM_IF作为返回信号。例如,第二控制器120可以向第一控制器110发送中断信号,指示其已经完成对存储器设备130进行编程的尝试,然后第一控制器110可以响应于接收到中断信号向第二控制器120发送请求相应的编程完成信息PGM_IF的请求信号,然后第二控制器112可以用编程完成信息PGM_IF响应请求信号。
参考图12B,第一控制器110定期从第二控制器120读取编程完成信息PGM_IF。换句话说,第一控制器110可以定期向第二控制器120请求编程完成信息PGM_IF。例如,第一控制器110可以周期性地向第二控制器120请求编程完成信息PGM_IF。当在完成写入数据的编程之后接收到对编程完成信息PGM_IF的请求时,响应于该请求第二控制器120可以发送编程完成信息PGM_IF到第一控制器110。
图13是示出根据本发明构思的示例性实施例的、存储器***的读取方法的流程图。图14A和14B是示出根据实施例的存储器***的读取方法的示图。
参考图13,第一控制器110从主机200接收读取请求和逻辑地址(S310)。第一控制器110将逻辑地址转换为物理地址(S320)。第一控制器110通过参考映射信息检测与逻辑地址相对应的物理地址,将逻辑地址转换为物理地址。
第二控制器120经由第一接口30从第一控制器110接收读取命令和物理地址(S330)。第二控制器120从非易失性存储器缓冲器10或存储器设备130的存储区域(其对应于物理地址PA)读取数据(S340)。
参考图14A,对应于物理地址PA的数据DATA存储在存储器设备130中。第二控制器120基于物理地址PA从存储器设备130读取数据DATA。
参考图14B,对应于物理地址PA的数据DATA存储在非易失性存储器缓冲器10中。如上所述,可以由第二控制器120确定用于写入数据的时间。在将存储在非易失性存储缓冲器10中的数据DATA编程到存储器设备130中之前或者甚至当存储在非易失性存储缓冲器10中的数据DATA被编程到存储器设备130中时,当在数据DATA从非易失性存储缓冲器10擦除之前接收到请求通过访问物理地址PA来读取数据DATA的读取命令RCMD时,第二控制器120可以从非易失性存储缓冲器10中取数据DATA。
在该实施例中,当接收读取命令RCMD时,第二控制器120可以检查对应于物理地址PA的数据DATA是否保留在非易失性存储器缓冲器10中。当数据DATA保留在非易失性存储器缓冲器10中时,第二控制器120从非易失性存储器缓冲器10读取数据DATA,并且当数据DATA没有保留在非易失性存储器缓冲器10中时,第二控制器120从存储器设备130读取数据DATA。
参考图13,第二控制器120将读取的数据传送到第一控制器110(S350)。
如上所述,在根据实施例的存储器***100中,第二控制器120从第一控制器110接收读取命令和物理地址,并从存储器设备130或非易失性存储器缓冲器10读取数据,然后,第二控制器120可以将数据提供给第一控制器110。
图15A和15B是示出当编程失败发生时根据示例性实施例的存储器***的操作方法的示图。
参考图15A和15B,第二控制器120控制要在存储器设备130的存储区域(其对应于第一物理地址PA1)中编程的数据DATA。然而,当编程失败(例如,写入失败)发生时,第二控制器120可以将编程失败信号WFAIL发送到第一控制器110。例如,如上面参考图12A和12B所述,第二控制器120可以向第一控制器110发送包括编程失败信号WFAIL的编程完成信息PGM_IF。第一控制器110可以执行附加操作,使得写入数据DATA正常地写入存储器设备130中。
参考图15A,在实施例中,第一控制器110根据编程完成信息PGM_IF确定是否执行垃圾收集。第一控制器110可以管理映射表MTABLE,该映射表MTABLE包括与逻辑地址相对应的物理地址的映射信息。响应于接收到编程失败信号WFAIL,第一控制器110可以执行垃圾收集。根据垃圾收集,可以将要存储写入数据DATA的存储区域的地址(例如,映射到第一逻辑地址LA1的物理地址)从第一物理地址PA1改变为第五物理地址PA5。
第一控制器110可以向第二控制器120发送用于请求从第一物理地址PA1读取数据的读取命令RCMD。由于对应于第一物理地址PA1的数据DATA存储在非易失性存储器缓冲器10中,所以第二控制器120从非易失性存储器缓冲器10读取数据DATA并将数据DATA发送到第一控制器110。
第一控制器110可以将数据DATA与写入命令WCMD和第五物理地址PA5一起发送到第二控制器120。第二控制器120可以将数据DATA和第五物理地址PA5存储在非易失性存储器缓冲器10中,并且可以控制数据DATA写入存储器设备130的存储区域中,其对应于第五物理地址PA5。第二控制器120可以将数据DATA和第五物理地址PA5发送到存储器设备130。这样,可以在存储器设备130的存储区域(对应于第五物理地址PA5)中编程数据DATA。
参考图15B,在另一实施例中,第一控制器110确定需要改变物理地址。例如,如果与第一逻辑地址相关联的存储器设备的第一物理地址已被写入太多次或已变得不可靠,则意图被写入第一物理地址的数据可替代地被写入另一物理地址(例如,第五物理地址)。当从第二控制器120接收编程失败信号WFAIL时,第一控制器110改变对应于逻辑地址的物理地址(例如,第一逻辑地址LA1)。例如,第一控制器110可以将映射到第一逻辑地址LA1的物理地址从从第一物理地址PA1改变为第五物理地址PA5。之后,第一控制器110可以将写入命令WCMD和第五物理地址PA5发送到第二控制器120。这里,由于数据DATA已经存储在非易失性存储器缓冲器10中,所以第一控制器110不重发送数据DATA。例如,第二控制器120将数据DATA从非易失性存储器缓冲器10写入与第五物理地址PA5相关联的存储器130的位置。在该实施例中,第一控制器110通过将第一物理地址PA1与物理地址PA5一起发送来指示第五物理地址PA5是改变后的地址。
第二控制器120将数据DATA要被存储在其中的存储区域从第一物理地址PA1改变为第五物理地址PA5,并且可以控制数据DATA被存储在存储设备130的存储区域中,其对应于第五物理地址PA5。
图16A、16B和16C是在断电和通电期间根据本发明构思的示例性实施例的操作存储器***100的方法的示图,并且图17是示出根据实施例的管理信息的示图。在图16A、16B和16C中,为了便于描述,仅示出了第二控制器120的一些元件,但是第二控制器120可以包括上面参考图4描述的元件。
图16A和16B示出了在断电期间,特别是在突然断电期间存储器***100的操作。图16C示出了在通电期间存储器***100的操作。
参考图16A,第一控制器110感测存储器***100中的突然断电,并且当感测到突然断电时,第一控制器110将通知信号SPLP(例如,电力损失保护信号)发送到第二控制器120。
响应于通知信号SPLP,第二控制器120可以控制存储器设备130。例如,第二控制器120可以执行用于保护要写入存储器设备130中的数据的操作。在实施例中,在第二控制器120接收到通知信号SPLP,并且当前正在存储器设备130中执行擦除操作或读取操作时,第二控制器120停止擦除操作或读取操作。在示例性实施例中,在第二控制器120接收到通知信号SPLP并且当前正在存储器设备130中执行编程操作时,第二控制器120等待直到编程操作完成。
另外,在存储器***100的操作期间,第二控制器120可以生成关于非易失性存储器缓冲器10的管理信息MIF,并将管理信息MIF存储在存储器60中。在实施例中,第二控制器120将管理信息MIF定期或不定期地存储在存储器设备130中。管理信息MIF可以包括关于存储在非易失性存储器缓冲器10中的多条数据(例如,第一至第n数据)DATA1到DATAn的多条管理信息(例如,第一至第n信息)MIF_PA1至MIF_PAn。在实施例中,管理信息MIF作为表(例如,图17的管理信息表MIFT)存储在存储器60中,如如图17所示。
参考图17,管理信息表MIFT包括关于存储在非易失性存储器缓冲器10中的多条数据DATA1至DATAn的管理信息MIF_PA1至MIF_PAn。管理信息(例如,第一管理信息MIF_PA1)包括对应于第一数据DATA1的物理地址PA1、编程通过/失败、从存储数据起的经过时间、以及存储时的温度中的至少一个。另外,管理信息MIF可以包括关于数据的各种信息。
参考图16A,第二控制器120可以向第一控制器110发送管理信息MIF(例如,图17的管理信息表MIFT)与保护完成信号PLP_DONE。在实施例中,第二控制器120在接收到通知信号SPLP时发送管理信息MIF和/或保护完成信号PLP_DONE。
参考图16B,第一控制器110可以将元数据MDATA存储在存储器设备130中。第一控制器110可以将旁路模式设置命令CMD_BP发送到第二控制器120。响应于旁路模式设置命令CMD_BP第二控制器120可以以旁路模式操作。因此,第二控制器120可以经由第一接口30和第二接口40在第一控制器110和存储器设备130之间提供数据传输路径。
第一控制器110可以向存储器设备130发送元数据MDATA、用于写入元数据MDATA的写入命令WCMD、以及物理地址PA。可以经由第二控制器120将元数据MDATA、写入命令WCMD和物理地址PA发送到存储器设备130。这里,元数据MDATA可以包括从第二控制器120接收的管理信息MIF。存储器设备130可以存储包括管理信息MIF的元数据MDATA。
参考图16C,在通电期间,第一控制器110将旁路模式设置命令CMD_BP发送到第二控制器120,并且响应于旁路模式设置命令CMD_BP第二控制器120以旁路模式操作。
第一控制器110可以从存储器设备130读取元数据MDATA。第一控制器110可以经由第二控制器120将读取命令RCMD和指示存储元数据MDATA的区域的物理地址PA发送到存储器设备130,并且因此,可以从存储器设备130读取元数据MDATA。这里,元数据MDATA可以包括管理信息MIF。第一控制器110可以将元数据MDATA中的管理信息MIF发送到第二控制器120。第二控制器120将管理信息MIF存储在存储器60中,并基于管理信息MIF管理存储在非易失性存储器缓冲器10中的数据(例如,图16A的DATA1至DATAn)。
在实施例中,第二控制器120将管理信息MIF存储在非易失性存储器缓冲器10中,而不存储在存储器60中。在实施例中,第二控制器120最初将管理信息MIF存储在存储器60中,然后,当发生突然断电时,将已经存储在存储器60中的管理信息MIF移动到非易失性存储器缓冲器10。由于非易失性存储器缓冲器10即使在电力被阻断时也保留所存储的数据,因此当发生突然断电时,第二控制器120不将管理信息MIF发送到第一控制器110。
图18是根据本发明构思的示例性实施例的固态驱动器(SSD)***1000的框图。
参考图18,SSD***1000包括主机1100和SSD 1200。SSD 1200经由信号连接器与主机1100交换信号,并经由电源连接器接收电力输入。SSD1200可以包括SSD控制器1210和多个存储器设备1230、1240和1250,例如闪存设备。这里,可以根据参考图1至17示出的实施例来实现SSD 1200。
详细地,可以将图1的存储器***100应用为SSD 1200。SSD控制器1210可以包括第一控制器1211和第二控制器1212。第一控制器1211可以由上述第一控制器120实现,第二控制器1212可以由上述第二控制器120实现。第一控制器1211与主机1100进行通信,并且第二控制器1212可以与第一控制器1211和多个存储器设备1230、1240和1250进行通信。第一控制器1211可以控制对多个存储器设备1230、1240和1250的写入/读取操作。第二控制器1212可以在第一控制器1211和多个存储器设备1230、1240和1250之间发送数据,并且可以调度数据写入/读取操作。第二控制器1212可以包括非易失性存储器NVM,并且非易失性存储器NVM可以用作数据缓冲器。在该实施例中,非易失性存储器NVM作为与第二控制器1212分离的设备安装在SSD控制器1210中。根据该实施例的SSD控制器1210,可以减少第一控制器1211中用于控制写入/读取操作的负载和数据缓冲负载。而且,由于非易失性存储器NVM在断电期间保留数据,因此可以减小为处理突然断电而提供的电容器的容量,因此,可以减小SSD控制器1210的面积。
另外,根据本发明构思的实施例的存储器***可以安装在或应用于存储卡***、计算***或UFS、以及SSD***1000。另外,操作根据本发明构思的实施例的存储器***的方法可以应用于其中安装有非易失性存储器的各种类型的电子***。
尽管已经参考其实施例具体示出和描述了本发明构思,但是应当理解,在不脱离本发明构思的精神和范围的情况下,可以在形式和细节上进行各种改变。
Claims (25)
1.一种操作控制非易失性存储器设备的第一存储器控制器的方法,所述方法包括:
由所述第一存储器控制器经由所述第一存储器控制器的第一接口从所述第一存储器控制器外部的第二存储器控制器接收第一数据和第一物理地址;
由所述第一存储器控制器将所述第一数据存储在所述第一存储器控制器的非易失性存储器缓冲器中;以及
由所述第一存储器控制器在与所述第一物理地址对应的所述非易失性存储器设备的第一物理区域中编程存储在所述非易失性存储器缓冲器中的所述第一数据。
2.根据权利要求1所述的方法,还包括:在将所述第一数据存储在所述非易失性存储器缓冲器中之后,所述第一存储器控制器向所述第二存储器控制器提供写入完成信号。
3.根据权利要求1所述的方法,其中,所述编程包括确定经由所述第一存储器控制器的第二接口将所述第一数据和第二数据发送到所述非易失性存储器设备的顺序,其中在接收所述第一数据之后从所述第一存储器控制器接收所述第二数据。
4.根据权利要求1所述的方法,其中,所述编程包括所述第一存储器控制器在所述第二存储器控制器不操作时将所述第一数据和所述第一物理地址发送到所述非易失性存储器设备。
5.根据权利要求1所述的方法,
其中,所述接收包括从第二存储器控制器接收第二物理地址和第二数据,所述第二物理地址对应于所述非易失性存储设备的第二物理区域,
其中,所述编程包括将第三物理地址和第三数据发送到所述非易失性存储器设备,
所述第三物理地址指示包括所述第一物理区域和所述第二物理区域的第三物理区域,并且所述第三数据包括所述第一数据和所述第二数据。
6.根据权利要求1所述的方法,其中,所述编程包括:
从所述非易失性存储器设备读取存储在所述第一物理区域中的第二数据;以及
在所述第一物理区域中编程第三数据,所述第三数据包括存储在所述非易失性存储器缓冲器中的第一数据以及所述第二数据。
7.根据权利要求1所述的方法,其中,所述控制所述写入操作包括:
从所述非易失性存储器缓冲器读取所述第一数据;
在所述第一物理区域中编程所述第一数据;
从所述非易失性存储器缓冲器中重新读取所述第一数据;以及
在所述第一物理区域中重新编程所述第一数据。
8.根据权利要求1所述的方法,还包括:当在所述第一物理区域中编程所述第一数据时,将关于所述第一数据的编程状态信息提供给所述第二存储器控制器。
9.根据权利要求1所述的方法,还包括:
从所述第二存储器控制器接收读取命令,所述读取命令包括第二物理地址;
从所述非易失性存储器缓冲器或所述非易失性存储器设备读取第二数据,所述第二数据对应于所述第二物理地址;以及
将所述第二数据提供给所述第二存储器控制器。
10.根据权利要求1所述的方法,还包括:在内部存储器或所述非易失性存储器缓冲器中存储关于存储在所述非易失性存储器缓冲器中的数据的管理信息。
11.根据权利要求10所述的方法,其中,所述管理信息包括与所述数据相对应的物理地址、是否执行所述数据的编程、编程结果、完成所述编程的时间点以及在完成所述编程的时间点时的温度中的至少一个。
12.根据权利要求10所述的方法,还包括:
从所述第二存储器控制器接收断电通知信号;
响应于所述断电通知信号的接收,向所述第二存储器控制器提供所述管理信息;
在通电期间从所述第二存储器控制器接收所述管理信息;以及
将所述管理信息存储在所述内部存储器或所述非易失性存储器缓冲器中。
13.根据权利要求12所述的方法,还包括:
将所述管理信息写入所述非易失性存储器设备中;以及
在所述通电期间从所述非易失性存储器设备读取所述管理信息。
14.根据权利要求1所述的方法,其中,所述非易失性存储器缓冲器包括磁阻随机存取存储器。
15.一种操作控制非易失性存储器设备的存储器控制***的方法,所述方法包括:
由第二控制器经由第一接口从第一控制器接收写入数据和物理地址;
由所述第二控制器将第一数据存储在非易失性存储器缓冲器中;以及
由所述第二控制器控制所述非易失性存储器设备的写入操作,其中在非易失性存储器的物理区域中编程存储在所述非易失性存储器缓冲器中的写入数据,所述物理区域对应于所述物理地址。
16.根据权利要求15所述的方法,还包括:
由所述第一控制器从主机接收所述写入数据和逻辑地址;以及
由所述第一控制器将所述逻辑地址转换为所述物理地址。
17.根据权利要求15所述的方法,其中,所述控制所述写入操作包括由所述第二控制器基于设置的编程方法在所述物理区域中编程所述写入数据至少两次。
18.根据权利要求15所述的方法,其中,所述控制所述写入操作包括:
由所述第二控制器确定存储在所述非易失性存储器缓冲器中的第一写入数据和第二写入数据的写入顺序;以及
基于所确定的写入顺序将所述第一写入数据和所述第二写入数据提供给所述非易失性存储器设备。
19.根据权利要求15所述的方法,其中,所述非易失性存储器设备包括多个非易失性存储器芯片,其每个包括多比特存储器单元。
20.一种存储器***,包括:
第一控制器,从主机接收对于非易失性存储设备的访问请求和逻辑地址,所述第一控制器被配置为将所述逻辑地址转换为物理地址;以及
第二控制器,从所述第一控制器接收所述物理地址,第二控制器控制写入数据被写入所述非易失性存储器设备的存储区域,所述存储区域对应于所述逻辑地址,以及控制读取数据从所述存储区域被读取;
其中,所述第二控制器包括:非易失性存储器缓冲器,被配置为存储从所述第一控制器接收的所述写入数据。
21.根据权利要求20所述的存储器***,其中,所述第二控制器包括:
第一接口,被配置为向所述第一控制器发送所述物理地址和数据以及从所述第一控制器接收所述物理地址和数据;
调度器,被配置为控制所述非易失性存储器设备的写入操作和读取操作;以及
第二接口,被配置为向所述非易失性存储器设备发送所述物理地址和数据以及从所述非易失性存储器设备接收所述物理地址和数据。
22.根据权利要求21所述的存储器***,其中,所述调度器基于设置的编程方法控制在所述非易失性存储器设备中对所述写入数据编程至少两次。
23.根据权利要求21所述的存储器***,其中,所述第二控制器还包括:
存储器,存储关于存储在所述非易失性存储器缓冲器中的所述写入数据的元数据,以及
基于从所述第一控制器接收的断电通知信号将所述元数据发送到所述第一控制器。
24.根据权利要求21所述的存储器***,其中,所述非易失性存储器缓冲器包括磁阻随机存取存储器。
25.根据权利要求20所述的存储器***,其中,所述非易失性存储器设备包括存储四比特数据的多比特存储器单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0165532 | 2018-12-19 | ||
KR1020180165532A KR20200076431A (ko) | 2018-12-19 | 2018-12-19 | 메모리 컨트롤러 및 메모리 시스템의 동작 방법, 및 메모리 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111414133A true CN111414133A (zh) | 2020-07-14 |
Family
ID=71097607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911307102.7A Pending CN111414133A (zh) | 2018-12-19 | 2019-12-18 | 操作存储器控制器和存储器***的方法以及存储器*** |
Country Status (3)
Country | Link |
---|---|
US (1) | US11210016B2 (zh) |
KR (1) | KR20200076431A (zh) |
CN (1) | CN111414133A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022047619A1 (en) * | 2020-09-01 | 2022-03-10 | Micron Technology, Inc. | Dynamically tuning host performance booster thresholds |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11921649B1 (en) * | 2019-09-12 | 2024-03-05 | Kioxia Corporation | Multiple parallel mode flash channels with serial link |
US11144203B2 (en) * | 2019-12-03 | 2021-10-12 | Micron Technology, Inc. | Selectively operable memory device |
US11894071B2 (en) | 2021-12-13 | 2024-02-06 | Sandisk Technologies Llc | Non-volatile memory with differential temperature compensation for bulk programming |
US20230186996A1 (en) * | 2021-12-13 | 2023-06-15 | Sandisk Technologies Llc | Non-volatile memory with differential temperature compensation for super page programming |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03286448A (ja) * | 1990-03-31 | 1991-12-17 | Sony Corp | 記録再生装置 |
US8924661B1 (en) * | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
CN107229417A (zh) * | 2016-03-25 | 2017-10-03 | 三星电子株式会社 | 数据存储设备及其操作方法 |
US20180152512A1 (en) * | 2016-11-25 | 2018-05-31 | Accelstor, Inc. | Data storage system and data storage method thereof |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005108304A (ja) | 2003-09-29 | 2005-04-21 | Toshiba Corp | 半導体記憶装置及びその制御方法 |
US7245527B2 (en) | 2005-05-16 | 2007-07-17 | Freescale Semiconductor, Inc. | Nonvolatile memory system using magneto-resistive random access memory (MRAM) |
US8131912B2 (en) | 2007-09-27 | 2012-03-06 | Kabushiki Kaisha Toshiba | Memory system |
US20100191896A1 (en) | 2009-01-23 | 2010-07-29 | Magic Technologies, Inc. | Solid state drive controller with fast NVRAM buffer and non-volatile tables |
JP2012068936A (ja) | 2010-09-24 | 2012-04-05 | Toshiba Corp | メモリシステム |
US9400744B2 (en) | 2012-10-30 | 2016-07-26 | Mangstor, Inc. | Magnetic random access memory journal for multi-level cell flash memory |
KR102163872B1 (ko) | 2013-08-09 | 2020-10-13 | 삼성전자 주식회사 | 멀티 비트 메모리 장치, 그것의 온칩 버퍼 프로그램 방법 및 멀티 비트 메모리 시스템 |
KR20150055413A (ko) | 2013-11-13 | 2015-05-21 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
TWI603194B (zh) | 2013-12-04 | 2017-10-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及其資料存取方法 |
US9933980B2 (en) * | 2014-02-24 | 2018-04-03 | Toshiba Memory Corporation | NAND raid controller for connection between an SSD controller and multiple non-volatile storage units |
US9423979B2 (en) | 2014-03-10 | 2016-08-23 | Kabushiki Kaisha Toshiba | Memory system and memory controller for determining whether one or plurality of pointers can be stored in a second buffer and for executing data transfer between data buffer and host using the pointers |
JP2016012335A (ja) | 2014-06-05 | 2016-01-21 | 株式会社Genusion | 記憶装置及び記憶装置システム並びに情報端末 |
-
2018
- 2018-12-19 KR KR1020180165532A patent/KR20200076431A/ko active IP Right Grant
-
2019
- 2019-08-19 US US16/544,178 patent/US11210016B2/en active Active
- 2019-12-18 CN CN201911307102.7A patent/CN111414133A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03286448A (ja) * | 1990-03-31 | 1991-12-17 | Sony Corp | 記録再生装置 |
US8924661B1 (en) * | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
CN107229417A (zh) * | 2016-03-25 | 2017-10-03 | 三星电子株式会社 | 数据存储设备及其操作方法 |
US20180152512A1 (en) * | 2016-11-25 | 2018-05-31 | Accelstor, Inc. | Data storage system and data storage method thereof |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022047619A1 (en) * | 2020-09-01 | 2022-03-10 | Micron Technology, Inc. | Dynamically tuning host performance booster thresholds |
US11836077B2 (en) | 2020-09-01 | 2023-12-05 | Micron Technology, Inc. | Dynamically tuning host performance booster thresholds |
Also Published As
Publication number | Publication date |
---|---|
US11210016B2 (en) | 2021-12-28 |
US20200201561A1 (en) | 2020-06-25 |
KR20200076431A (ko) | 2020-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11854596B2 (en) | Data storage device and operating method thereof | |
US10891236B2 (en) | Data storage device and operating method thereof | |
US20190155723A1 (en) | Data storage device and operating method thereof | |
US11094364B2 (en) | Data storage device and operating method thereof | |
US11210016B2 (en) | Method of operating memory controller and memory system, and the memory system | |
US11567685B2 (en) | Storage controller and storage device including the same | |
US11520694B2 (en) | Data storage device and operating method thereof | |
CN110928805B (zh) | 存储器***及其操作方法 | |
US20210382643A1 (en) | Storage System and Method for Retention-Based Zone Determination | |
US20190324688A1 (en) | Data storage device, operation method for preventing read disturbance thereof, and storage system using the same | |
CN111752853A (zh) | 控制器、存储器***及其操作方法 | |
KR102544162B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN110389907B (zh) | 电子装置 | |
CN109426453B (zh) | 数据存储装置及其操作方法 | |
CN111752858A (zh) | 控制器、存储器***及其操作方法 | |
US10963399B2 (en) | Memory system, computing apparatus and operation method thereof | |
KR20190095825A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US11119938B2 (en) | Apparatus and method to synchronize memory map between a storage device and host | |
KR20210156061A (ko) | 저장 장치 및 그 동작 방법 | |
US20210026782A1 (en) | Data storage apparatus, operating method thereof, and controller therefor | |
US20230244402A1 (en) | Storage device and operating method of storage device | |
US11847332B2 (en) | Data storage apparatus and operating method thereof | |
CN110196817B (zh) | 数据存储装置及该数据存储装置的操作方法 | |
US11550487B2 (en) | Data storage device and method for enabling endurance re-evaluation | |
US20170277474A1 (en) | Data processing system including data storage device |
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 |