CN111273858A - 开放通道固态驱动器以及非易失性存储器系统 - Google Patents
开放通道固态驱动器以及非易失性存储器系统 Download PDFInfo
- Publication number
- CN111273858A CN111273858A CN201911225928.9A CN201911225928A CN111273858A CN 111273858 A CN111273858 A CN 111273858A CN 201911225928 A CN201911225928 A CN 201911225928A CN 111273858 A CN111273858 A CN 111273858A
- Authority
- CN
- China
- Prior art keywords
- data
- block
- controller
- write
- host
- 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 186
- 239000007787 solid Substances 0.000 title claims abstract description 66
- 238000013507 mapping Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 24
- 239000000872 buffer Substances 0.000 description 18
- 238000012545 processing Methods 0.000 description 8
- 238000013519 translation Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 239000000758 substrate Substances 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 3
- 101100058970 Arabidopsis thaliana CALS11 gene Proteins 0.000 description 2
- 101100058964 Arabidopsis thaliana CALS5 gene Proteins 0.000 description 2
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 2
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 2
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 2
- 101100341076 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) IPK1 gene Proteins 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 101150064834 ssl1 gene Proteins 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100058961 Arabidopsis thaliana CALS2 gene Proteins 0.000 description 1
- 101100204010 Drosophila melanogaster Ssl gene Proteins 0.000 description 1
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 101100482995 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) gsl-3 gene Proteins 0.000 description 1
- 101100287040 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ARG82 gene Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 101150062870 ssl3 gene Proteins 0.000 description 1
- 230000003068 static effect 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/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
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
- G06F1/305—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations in the event of power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
-
- 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/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- 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/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/143—Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2015—Redundant power supplies
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
公开了一种开放通道固态驱动器,包括:闪存,包括第一块;以及控制器,控制闪存。该控制器从主机接收写数据和第一块的物理地址,并尝试将写数据写入第一块。当在写入尝试期间发生断电时,所述控制器产生写数据中未写入第一块中的第一数据。所述写数据包括第一数据和已经写入第一块中的第二数据。所述控制器确定将第一数据连续写入第一块中是可能的还是不可能的。如果连续写入是可能的,则所述控制器将数据连续地写入第一块。如果连续写入是不可能的,则所述主机或所述控制器将第一数据和第二数据写入闪存的第二块。
Description
相关申请的交叉引用
本申请要求于2018年12月5日在韩国知识产权局递交的韩国专利申请No.10-2018-0155182的优先权,其全部公开内容通过引用合并于此。
技术领域
本公开涉及开放通道固态驱动器,包括该开放通道固态驱动器的非易失性存储器系统,以及开放通道固态驱动器的功率损耗保护方法。
背景技术
基于闪存设备的数据存储设备的典型示例是固态驱动器。用于固态驱动器的接口可以包括:串行ATA(SATA)、外围组件互连高速(PCIe)和串行连接SCSI(SAS)。
所述固态驱动器包括:通用固态驱动器和开放通道固态驱动器。通用固态驱动器在固态驱动器中包括闪存转换层,并且从主机接收基于逻辑地址的命令。由于开放通道固态驱动器在固态驱动器中不包括闪存转换层,因此开放通道固态驱动器从主机接收基于物理地址的命令。与通用固态驱动器的主机不同,开放通道固态驱动器的主机包括闪存转换层,并直接管理存储了数据的开放通道固态驱动器的物理地址。
发明内容
本发明构思的至少一个示例性实施例提供了一种具有功率损耗保护(PLP)技术的开放通道固态驱动器。
本发明构思的至少一个示例实施例还提供了一种非易失性存储器设备,包括具有功率损耗保护技术的开放通道固态驱动器。
本发明构思的至少一个示例实施例还提供了一种用于保护正被写入的数据的开放通道固态驱动器的功率损耗保护方法。
根据本发明构思的示例实施例,提供了一种开放通道固态驱动器。所述开放通道固态驱动器包括:闪存,包括第一块;以及控制器,控制闪存。该控制器从主机接收写数据和第一块的物理地址,并尝试将写数据写入第一块。当在写入尝试期间发生断电时,所述控制器产生写数据中未写入第一块的第一数据。所述写数据包括第一数据和已经写入第一块的第二数据。所述控制器确定将第一数据连续写入第一块是否是可能的。如果连续写入是可能的,则所述控制器将第一数据连续写入第一块。如果连续写入是不可能的,则所述主机或所述控制器将第一数据和第二数据写入闪存的第二块。
根据本发明构思的示例实施例,提供了一种非易失性存储器系统。所述非易失性存储器系统包括主机和从主机接收命令和物理地址的开放通道固态驱动器。所述开放通道固态驱动器包括:闪存,包括第一块;以及控制器,控制闪存。该控制器从所述主机接收写数据和第一块的物理地址,并尝试将写入数据写入第一块。当在写入尝试期间发生断电时,所述控制器产生写数据中未写入第一块的第一数据,所述写数据包括第一数据和已写入第一块的第二数据。所述控制器确定将第一数据连续写入第一块是否是可能的。如果连续写入是可能的,则所述控制器将第一数据连续地入第一块。如果连续写入是不可能的,则所述主机或所述控制器将第一数据和第二数据写入闪存的第二块。
根据本发明构思的示例实施例,提供了一种非易失性存储器系统。所述非易失性存储器系统包括主机和从主机接收写数据、命令和物理地址的开放通道固态驱动器。所述开放通道固态驱动器包括:闪存,包括第一块;以及控制器,控制闪存。所述控制器包括用于执行以下操作的模块:当将写数据写入第一块的同时电源关闭时,确定将写数据连续写入第一块是否是可能的,以产生可能信号或不可能信号,当产生可能信号时,所述控制器响应于可能信号,在第一块中执行连续写入。当产生不可能信号时,将写数据中尚未写入的第一数据和已写入第一块的第二数据写入闪存的第二块。
根据本发明构思的示例实施例,提供了一种包括闪存和控制器的开放通道固态驱动器。所述控制器用于从主机接收写数据和闪存的第一块的物理地址,并且在接收主电源的同时尝试将写数据写入闪存的第一块的与该物理地址相对应的位置。所述控制器在主电源丢失时,使用辅助电源来确定写数据的未写入第一块的一部分,以确定将该部分是否可以写入第一块;在确定该部分可以被写入时,将该部分写入第一块;并且当确定不能写入该部分时,将写数据写入闪存的第二块。
附图说明
通过参考附图详细描述本发明的示例实施例,本发明构思将变得更加明显,在附图中:
图1是示出了根据本发明构思的示例实施例的非易失性存储系统的框图;
图2是用于说明根据本发明构思的示例实施例的图1主机的框图;
图3是用于说明图1的开放通道固态驱动器的示例的框图;
图4是用于说明根据本发明构思的示例实施例的图3的控制器的框图;
图5是用于说明根据本发明构思的示例实施例的图3的非易失性存储器的结构的框图;
图6是用于说明根据本发明构思的示例实施例的图5的存储单元阵列的示例性等效电路图;
图7是用于说明根据本发明构思的示例实施例的图5存储单元阵列的示例性等效电路图;
图8是用于说明根据本发明构思的示例实施例的图4的连续写入判断模块的操作的流程图;
图9是用于说明根据本发明构思的示例实施例的非易失性存储系统的连续写入判断模块的操作的流程图;
图10是用于说明根据本发明构思的示例实施例的非易失性存储系统的连续写入是可能的情况下的操作的框图;
图11是用于说明根据本发明构思的示例实施例的非易失性存储系统的连续写入是不可能的情况下的操作的框图;
图12是用于说明根据本发明构思的示例实施例的非易失性存储系统的连续写入是不可能的情况下的操作的框图;
图13是用于说明根据本发明构思的示例实施例的非易失性存储系统的连续写入是不可能的情况下的操作的框图;以及
图14至16是用于说明根据本发明构思的一些实施例的非易失性存储系统的连续写入是不可能情况下的操作的中间阶段图。
具体实施方式
在下文中,将参考图1至图16描述根据本发明构思的一些示例实施例的开放通道固态驱动器,包括开放通道固态驱动器的非易失性存储器系统,以及开放通道固态驱动器的功率损失保护方法。
图1是示出了根据本发明构思的示例实施例的非易失性存储系统的框图。
参考图1,非易失性存储器系统包括主机10(例如,主机设备)和开放通道固态驱动器20。
主机10可以控制开放通道固态驱动器20的整体操作。例如,主机10包括闪存转换层FTL(110)。在一个实施例中,闪存转换层110执行主机10中使用的逻辑地址到开放通道固态驱动器20的非易失性存储器的物理地址(PA)的映射。因此,主机10可以经由闪存转换层110直接管理非易失性存储器的物理地址。
主机10可以将各种命令(CMD)发送到开放通道驱动器20。例如,主机10可以发送诸如读取、写入和擦除等基本命令(CMD)。可以基于非易失性存储器的物理地址(PA)产生基本命令(CMD)。另外,主机10可以执行开放通道驱动器20的管理操作,例如数据放置、输入/输出(I/O)调度和后台操作。还可以基于非易失性存储器的物理地址(PA)来执行管理操作。
图2是用于说明根据本发明构思的示例实施例的图1的主机的框图。
参考图2,主机10的闪存转换层110可以以物理页面地址(PPA)的形式控制非易失性存储器的物理地址(PA)。相反,图1的开放通道驱动器20可以用物理页码(PPN)控制物理地址(PA)。
在示例实施例中,物理页面地址(PPA)和物理页码(PPN)基本相同或完全相同。但是,在某些特殊情况下,物理页面地址(PPA)和物理页码(PPN)可能会彼此不同。例如,为了避免使用特定地址,实际使用的物理页码(PPN)对应于另一个物理页面地址(PPA)。
图3是用于说明图1的开放通道固态驱动器的一个示例的框图。
参考图3,开放通道固态驱动器20包括控制器210(例如,控制电路)和存储器220。
在示例实施例中,控制器210和存储器220集成在单个半导体设备中。作为示例,控制器210和存储器220可以集成在单个半导体设备中以构成开放通道固态驱动器20。
此外,控制器210和存储器220可以集成在单个半导体设备中以构成存储卡,例如PC卡(PCMCIA:个人计算机存储卡国际协会)、紧凑型闪存卡(CF)、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC,RS-MMC和MMCmicro)、SD卡(SD、miniSD,microSD和SDHC)、或通用闪存设备(UFS)。
此外,作为另一示例,开放通道驱动器20可以是计算机、超移动PC(UMPC)、工作站、网络书、个人数字助理(PDA)、便携式计算机、网络平板电脑、平板电脑,无线电话、移动手机、智能手机、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航设备、黑匣子、数码相机、DMB(数字多媒体广播)播放器、三维电视、智能电视、数字录音机、数字音频播放器、数字图像记录器、数字图像播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境中发送和接收信息的设备、构成家庭网络的各种电子设备之一、构成计算机网络的各种电子设备之一、构成远程信息处理网络的各种电子设备之一、射频识别(RFID)设备、或构成计算系统的各种组件之一。
控制器210响应于来自主机10的请求来控制存储器220。例如,控制器210可以将从存储器220读取的数据(DATA)提供给主机10,并且可以将从主机10提供的数据(DATA)写入存储器220。为此,控制器210可以控制存储器220的诸如读取、写入、编程和擦除等操作。为此,控制器210可以从主机10接收数据(DATA)、命令(CMD)和物理页码(PPN)形式的物理地址(PA),并且可以发送物理地址(PA)和物理页面地址(PPA)形式的数据(DATA)到主机10。
存储器220可以通过控制器210接收的命令(CMD)将数据(DATA)写入在存储器220的物理地址(PA)上。此外,已经写入存储器220的数据(DATA)可以被控制器210读取并发送到主机10。
开放通道固态驱动器20的存储器220可以包括与多个通道CH1至CH4中的每一个连接的多个非易失性存储器221至224。多个非易失性存储器221至224中的每一个可以包括NAND闪存。
控制器210可以分别经由多个通道CH1至CH4连接到多个非易失性存储器221至224。在图3中,上述通道的数量被示为四个,但是本发明构思的实施例不限于此。根据本发明构思的一些实施例的非易失性存储器系统的开放通道固态驱动器20的存储器220可以具有三个或更少的通道,或者可以具有五个或更多个通道。
具体地,控制器210可以经由第一通道CH1连接到第一非易失性存储器221,并且可以经由第二通道CH2连接到第二非易失性存储器222。控制器210可以经由第三通道CH3连接到第三非易失性存储器223,并且可以经由第四通道CH4连接到第四非易失性存储器224。
控制器210可以在单级单元(SLC)模式、多级单元(MLC)模式和三级单元(TLC)模式之一中操作多个非易失性存储器221至224中包括的多个存储块中的每一个。
图4是用于说明根据本发明构思的示例实施例的图3的控制器的框图。
参考图4,控制器210包括主机接口211(例如,接口电路)、缓冲器213、中央处理单元212、连续写入判断模块215和存储器接口214。在实施例中,连续写入判断模块215是控制器210的存储器中存储的由由中央处理单元212执行的计算机程序。所述计算机程序可以包括由中央处理单元212执行的一个或多个功能。在另一实施例中,连续写入判断模块215是被设计为执行一个或多个功能的专用处理器。
主机接口211可以向开放通道固态驱动器20提供接口,以对应于主机10的协议。例如,主机接口211可以使用通用串行总线(USB)、小型计算机系统接口(SCSI)、PCI高速、ATA、并行ATA(PATA)、串行ATA(SATA)或串行连接SCSI(SAS),通过命令(CMD)、物理地址(PA)和数据(DATA)与主机10通信。
在示例实施例中,主机接口211执行磁盘仿真功能,使主机10能够将开放通道固态驱动器20识别为硬盘驱动器(HDD)。
缓冲器213可以临时存储从主机10提供的数据(DATA)和从存储器220读取的数据(DATA)。在实施例中,缓冲器213可以包括易失性存储器,例如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。在实施例中,缓冲器213可以是紧耦合存储器(TCM)。
中央处理单元(CPU)212可以分析和处理从主机10提供的命令(CMD)和物理地址(PA)。中央处理单元212可以经由主机接口211与主机10通信,并且可以经由存储器接口214控制图3的存储器220。中央处理单元212可以使用用于驱动开放通道固态驱动器20的固件来控制存储器220的操作。
存储器接口214可以将从缓冲器213传送来的数据(DATA)传送到存储器220。此外,存储器接口214可以将从存储器220读取的数据(DATA)传送到缓冲器213。
在实施例中,存储器接口214可以使用闪存接口。在这种情况下,控制器210可以根据闪存接口执行写入操作、读取操作和擦除操作。
在示例实施例中,在写入操作期间发生突然断电时,再次恢复电源的情况下,为了断电保护,连续写入判断模块215判断是否在同一块中写入较少的写入数据,即,在已经写入的数据之后是否能够连续写入。如果连续写入是可能的,则连续写入判断模块215可以产生可能信号;如果连续写入是不可能的,则可以产生不可能信号。以下将更详细地解释。
在实施例中,连续写入判断模块215使用中央处理单元212、主机接口211、缓冲器213和存储器接口214提取信息,接收请求,并执行计算。也就是说,下面将描述的连续写入判断模块215的操作可以是以多种方式与中央处理单元212、主机接口211、缓冲器213和存储器接口214相关联的操作。
图5是用于说明根据本发明构思的示例实施例的图3的非易失性存储器的结构的框图。
参考图5,图3的第一至第四非易失性存储器221至224可以分别与图5的第一非易失性存储器221类似地实现。
第一非易失性存储器221包括存储单元阵列510、地址解码器520(例如,解码器电路)、页缓冲电路530、数据输入/输出电路540和控制电路550。
存储单元阵列510可以经由串选择线SSL、多个字线WL和地选择线GSL连接到地址解码器520。此外,存储单元阵列510可以经由多个位线BL连接到页缓冲器电路530。
存储单元阵列510包括多个存储块,并且多个存储块中的每一个包括连接到多个字线WL和多个位线BL的多个存储单元。
在实施例中,存储单元阵列510是以三维结构(或垂直结构)形成在基板上的三维存储单元阵列。在这种情况下,存储单元阵列510可以包括垂直存储单元串,该垂直存储单元串包括通过彼此堆叠而形成的多个存储单元。
在另一实施例中,存储单元阵列510是以二维结构(或水平结构)形成在基板上的二维存储单元阵列。
图6是用于说明根据本发明构思的示例实施例的图5的存储单元阵列的示例性等效电路图。
图6的存储单元阵列510a可以对应于图5的存储单元阵列510。图6所示的存储单元阵列510a示出了以三维结构形成在基板上的三维存储单元阵列。例如,包括在存储单元阵列510a中的多个存储单元串可以形成在垂直于基板的方向上。
参考图6,存储单元阵列510包括连接在位线BL1、BL2和BL3与公共源极线CSL之间的多个存储单元串NS11至NS33。多个存储单元串NS11至NS33中的每一个可以包括串选择晶体管SST、多个存储单元MC1、MC2、......、MC8和地选择晶体管GST。
在图6中,多个存储单元串NS11至NS33中的每一个被示出为包括八个存储单元MC1、MC2、......、MC8,但是本发明构思的实施例不限于此。
串选择晶体管SST可以连接到串选择线SSL1、SSL2和SSL3中的对应一个。多个存储单元MC1、MC2、......、MC8中的每一个可以连接到对应的字线WL1、WL2、......、WL8。地选择晶体管GST可以连接到地选择线GSL1、GSL2和GSL3中的对应一个。串选择晶体管SST可以连接到对应的位线BL1、BL2和BL3,并且地选择晶体管GST可以连接到公共源极线CSL。
具有相同高度的字线(例如,WL1)共同连接,并且地选择线GSL1、GSL2和GSL3和串选择线SSL1、SSL2、SSL3可以彼此分离。
尽管图6示出了存储单元阵列510a连接到八条字线WL1、WL2、......、WL8和三条位线BL1、BL2和BL3,但是本发明构思的实施例不限于此。
图7是用于说明根据本发明构思的示例实施例的图5的存储单元阵列的示例性等效电路图。
图7的存储单元阵列510b可以对应于图5的存储单元阵列510。图7所示的存储单元阵列510b示出了以二维结构形成在基板上的二维存储单元阵列。例如,存储单元阵列510b中包括的多个存储单元串可以形成在平行于基板的方向上。
参考图7,存储单元阵列510b包括多个存储单元串NS1、NS2、NS3、......、NSm。
多个存储单元串NS1、NS2、NS3、......、NSm中的每一个可以包括彼此串联连接的串选择晶体管SST、多个存储单元MC和地选择晶体管GST。
多个存储单元串NS1、NS2、NS3、......、NSm中包括的串选择晶体管SST可以共同连接到串选择线SSL。多个存储单元串NS1、NS2、NS3、......、NSm中包括的多个存储单元MC当中,在相同行中形成的存储单元可以共同连接到对应的字线WL1、WL2、WL3、WL4、......、WL(n-1)和WLn。多个存储单元串NS1、NS2、NS3、......、NSm中包括的地选择晶体管GST可以共同连接到地选择线GSL。
多个存储单元串NS1、NS2、NS3、......、NSm中包括的地选择晶体管GST可以共同连接到公共源极线CSL。
多个存储单元串NS1、NS2、NS3、......、NSm中包括的串选择晶体管SST可以连接到对应的位线BL1、BL2、BL3、......、BLm。
这里,n和m均表示正整数。
返回参考图5,控制电路550从控制器210接收命令(CMD)和物理地址(PA),并且可以基于命令信号(CMD)和地物理地址(PA)来控制非易失性存储器221的写入操作、读取操作和擦除操作。
例如,控制电路550可以基于命令(CMD)产生控制信号CON,并且可以基于物理地址(PA)产生行地址R_ADDR和列地址C_ADDR。控制电路550可以将控制信号CON和行地址R_ADDR提供给地址解码器520,并可以将列地址C_ADDR提供给数据输入/输出电路540。
地址解码器520可以通过串选择线SSL、多个字线WL和地选择线GSL连接到存储单元阵列510。
在写入操作或读取操作时,地址解码器520基于从控制电路550提供的行地址R_ADDR,将多个字线WL中的一个确定为选定字线,并将剩余的字线(除了在多条字线WL中的选定字线)确定为非选定字线。
地址解码器520可以从设置在第一非易失性存储器221内部或外部的电压产生器接收第一非易失性存储器221的操作所需的字线电压VWL。字线电压VWL可以经由地址解码器520施加到多个字线WL。
页缓冲器电路530可以经由多个位线BL连接到存储单元阵列510。
页缓冲器电路530可以包括多个页缓冲器。在另一实施例中,两个或更多个位线连接到一个页缓冲器。
页缓冲器电路530可以在写入操作时暂时存储要写到选定页上的数据,并且可以在读取操作时暂时存储从选定页读取的数据。
数据输入/输出电路540可以经由数据线DL连接到页缓冲器电路530。
在写入操作时,数据输入/输出电路540从固态驱动器控制器20接收写入数据(DATA),并且可以基于从控制电路550提供的列地址C_ADDR向页缓冲器电路530提供写入数据(DATA)。
在读取操作时,数据输入/输出电路540可以基于从控制电路210提供的列地址C_ADDR,向控制器530提供页缓冲器电路530中存储的读取数据(DATA)。
上面已经参考图3至图7描述了开放通道固态驱动器20中包括的多个非易失性存储器221至224的示例,但是本发明构思的实施例不限于此,这是因为多个非易失性存储器221至224中的每一个可以以各种形式实现。
图8是用于说明根据本发明构思的示例实施例的图4的连续写入判断模块的操作的流程图。
参考图4和8,连续写入判断模块215在第一块中搜索写入了数据的最后一页(S100)。
这里,所述第一块可以表示在写入操作期间写入了数据的块。此外,数据中由于断电而未写入第一块的剩余数据被定义为第一数据,已经写入第一块的数据被定义为第二数据。
连续写入判断模块215可以最终找到写入第一块的数据的页面中的最后一页,以检查连续写入是可能的还是不可能的。例如,如果控制电路550已经指示将5页数据写入存储单元510的第一存储块,并且在控制电路550成功将5页中的仅2页写入第一存储块之后发生断电,则前2个页面是第二数据,最后3个页面是第一数据,最后一个页面是第二个页面。
然后,连续写入判断模块215检查编程时间(S200)。
这里,所述编程时间可以表示从编程第二数据的时刻(即,在写入第一块的数据的页面中的最后一页中写入第二数据的时刻)到当前时刻的时间。例如,如果要写入5页,并且由于断电写入了5页中的仅2页,该2页的最后一页是在时间0处写的,并且现在是时间5,则编程时间将是5。
编程时间的检查可以包括连续写入判断模块215将编程时间与参考值进行比较。例如,参考值可以是最小参考值。也就是说,如果编程时间大于最小参考值,则连续写入判断模块215可以判断连续写入是可能的(良好);如果编程时间小于最小参考值,则连续写入判断模块215可以判断连续写入是不可能的(不良)。
备选地,参考值可以是最大参考值。也就是说,如果编程时间小于最大参考值,则连续写入判断模块215可以判断连续写入是可能的(良好);如果编程时间大于最大参考值,则连续写入判断模块215可以判断连续写入是不可能的(不良)。
备选地,参考值可以包括最小参考值和最大参考值二者。也就是说,如果编程时间小于最大参考值并且大于最小参考值,则连续写入判断模块215可以判断连续写入是可能的(良好);如果编程时间大于最大值参考值或小于最小参考值,连续写入判断模块215可以判断连续写入是不可能的(不良)。
然后,当判断写入是可能的(良好)时,连续写入判断模块215产生可能信号(S300)。
随后,当判断连续写入是不可能的(不良)时,连续写入判断模块215产生不可能信号(S400)。
图9是用于说明根据本发明构思的示例实施例的非易失性存储系统的连续写入判断模块的操作的流程图。
参考图9,由于除了检查单元状态的步骤(S250)之外,该方法与图8的方法相同,因此将简化或省略图8的描述的重复部分。
连续写入判断模块215判断编程时间(S200),然后检查单元状态(S250)。
在实施例中,所述单元表示存储单元,并且单元状态的检查表示检查第一块的页面的单元状态对于连续写入是否是良好的。
连续写入判断模块215可以考虑编程-擦除(PE)周期和/或温度来确定第一块的单元状态。例如,如果第一块已经被编程和/或擦除超过阈值次数,则连续写入判断模块215可以将第一块的单元状态确定为不良。例如,如果温度大于阈值温度,则连续写入判断模块215可以将第一块的单元状态确定为不良。如果单元状态良好,则连续写入判断模块215可以判断写入是可能的(良好);如果单元状态不良,则可以判断连续写入是不可能的(不良)。
尽管图9示出了首先检查编程时间(S200),之后检查单元状态(S250),但是本发明构思的实施例不限于此。也就是说,检查编程时间的步骤(S200)和检查单元状态的步骤(S250)的顺序可以彼此交换,并且这些步骤可以彼此独立地执行。
图10是用于说明根据本发明构思的示例实施例的非易失性存储系统的连续写入是可能的情况下的操作的框图。
参考图10,控制器210可以对应于图3的控制器210,并且存储器220可以对应于图3的存储器220。
其中存储器220包括第一块B1和第二块B2。第一块B1可以是通过写入操作写入从图1的主机10接收的数据(DATA)的块。当在写入操作期间发生突然断电时,图1数据(DATA)的仅一部分被写入第一块B1中,而其余部分尚未写入第一块B1中。
在示例实施例中,控制器210使用辅助电源经由功率损耗保护PLP功能将尚未写入的数据保留为第一数据D1。例如,在从外部源提供给驱动器20的主电源丢失之后的一段时间内,控制器210可以继续从驱动器20内的内部电池或电容器接收辅助电源。控制器210可以使用该时间段来保留尚未写入的剩余数据。此外,图1的数据(DATA)中的已经写入第一块B1的数据可以被称为第一块B1中的第二数据D2。也就是说,图1的数据(DATA)可以分成第一数据D1和第二数据D2。
与第一块B1相反,第二块B2可以是没有写入数据的空白块。
在示例实施例中,当图4的连续写入判断模块215产生可能信号时,控制器210在第一块B1中连续写入第一数据D1。在这种情况下,由于包括第一数据D1和第二数据D2的图1的数据(DATA)完全按照主机10的意图写入第一块B1中,因此可以实现功率损耗保护。
图11是用于说明根据本发明构思的示例实施例的非易失性存储系统的连续写入是不可能的情况下的操作的框图。
参考图1和图11,在示例实施例中,当图4的连续写入判断模块215产生不可能信号时,控制器210将第一数据D1写入除第一块B1之外的空白的第二块B2中。在另一实施例中,控制器210还将第一块B1中存在的第二数据D2移动到第二块B2。
在实施例中,第二数据D2到第二块B2的移动保留第一块B1中的第二数据D2的副本。在另一实施例中,第二数据D2移动到第二块B2删除第一块B1中的第二数据的副本。
因此,当第一数据D1和第二数据D2分别被移位到第二块B2时,数据(DATA)可以完全写入第二块B2中。
在这种情况下,即使主机10想要在第一块B1中写入数据(DATA),数据(DATA)也通过功率损失保护实际写入第二块B2。因此,控制器210中可以包括第一映射表T1。
从第一块B1的第一物理页码(PPN_A)到第二块B2的第二物理页码(PPN_B)的映射可以记录在第一映射表T1中。第一映射表T1可以由控制器210创建。因此,可以通过参考第一映射表T1,在第二块B2中执行稍后由主机10指定的第一块B1的命令。例如,如果主机10期望从给定的物理页码读取,则控制器210可以参考第一映射表T1以确定与给定物理页码相关联的数据是否由于电源故障而被移动到新块。例如,如果第一映射表T1指示给定的物理页码被映射到新的物理页码,则控制器210可以用来自新的物理页码的数据来响应读取。
在根据本实施例的非易失性存储器系统中,即使当电源突然关闭时,也能够高效地保留正被写入的数据。此外,即使在开放通道固态驱动器20中不存在闪存转换层110,也能够经由物理地址之间的映射完成主机10所期望的数据的写入操作。
在下文中,将参考图12描述根据本发明构思的示例实施例的非易失性存储系统。将简化或省略上述实施例的重复内容。
图12是用于说明根据本发明构思的示例实施例的非易失性存储系统的连续写入是不可能的情况下的操作的框图。
参考图12,当图4的连续写入判断模块215产生不可能信号时,根据本发明构思实施例的非易失性存储器系统的主机10从控制器210接收第一数据D1和第二数据D2。此外,主机10还可以接收第一块B1的第一物理页面地址(PPA_A)。
主机10可以将第二块B2的第二物理页码(PPN_B)、第一命令(CMD1)、第一数据D1和第二数据D2直接发送到控制器210。第一命令(CMD1)可以是在第二块B2中写入第一数据D1和第二数据D2的命令。也就是说,主机10可以直接参与第一数据D1和第二数据D2的写入。因此,主机10可以包括第二映射表T2。
从第一块B1的第一物理页面地址(PPA_A)到第二块B2的第二物理页面地址(PPA_B)的映射可以记录在第二映射表T2中。第二映射表T2可以由主机10直接创建。因此,主机10可以参考第二映射表T2而不是访问第一块B1的命令,向控制器210发送命令以稍后访问第二块B2。
在根据本实施例的非易失性存储器系统中,由于主机10可以直接管理数据,因此存储器操作的效率增加,并且能够进行直观的数据管理。此外,能够仅使用现有的写命令完全执行功率损耗保护功能而无需新命令。
在下文中,将参考图13描述根据本发明构思的示例实施例的非易失性存储系统。将简化或省略上述实施例的重复内容。
图13是用于说明根据本发明构思的示例实施例的非易失性存储系统的连续写入是不可能的情况下的操作的框图。
参考图13,当图4的连续写入判断模块215产生不可能信号时,根据本发明构思的示例实施例的非易失性存储器系统的主机10从控制器210接收第一块B1的第一物理页面地址(PPA_A)。
然后,主机10将第二块B2的第二物理页面号(PPN_B)和第二命令(CMD2)直接发送到控制器210。第二命令(CMD2)可以是将第一数据D1写入第二块B2并将第二数据D2从第一块B1移动到第二块B2的命令。
也就是说,代替直接接收和发送第一数据D1和第二数据D2,主机10可以将用于将第一数据D1和第二数据D2写入第二块B2的命令发送到控制器210。主机10可以创建第二映射表T2,而同时发送第二命令(CMD2)。
控制器210将第一数据D1写入第二块B2,并且响应于第二命令(CMD2)将第二数据D2从第一块B1移动到第二块B2。
因此,主机10可以包括第二映射表T2。从第一块B1的第一物理页面地址(PPA_A)到第二块B2的第二物理页面地址(PPA_B)的映射可以被记录在第二映射表T2中。第二映射表T2可以由主机10直接创建。因此,主机10可以参考第二映射表T2而不是第一块B1的命令,稍后将第二块B2的命令发送到控制器210。
在根据本实施例的非易失性存储器系统中,由于主机10可以直接管理数据,因此存储器操作的效率增加,并且能够进行客观的数据管理。此外,由于功率损失保护功能可以在开放通道固态驱动器20内部执行而不传输数据,因此可以减少数据传输的开销。
在下文中,将参考图14到16描述根据本发明构思的示例实施例的非易失性存储系统。将简化或省略上述实施例的重复内容。
图14至16是用于说明根据本发明构思的示例实施例的非易失性存储系统的连续写入不可能的情况下的操作的中间阶段的图。
参考图14,当图4的连续写入判断模块215产生不可能信号时,控制器210将第二数据D2移动到除第一块B1之外的空白的第三块B3。此时,第三块B3可以临时用作存储器220中的空白块。
因此,第二数据D2位于第三块B3中,第二数据D2也可以存在于第一块B1中。
然后,参考图15,控制器210擦除位于第一块B1中的第二数据D2。因此,第一块B1可以成为空白块。第二数据D2在第三块B3中保持原样。
接下来,参考图16,控制器210将第一数据D1写入第一块B1,并将第二数据D2从第三块B3移动到第一块B1。因此,由于图1的包括第一数据D1和第二数据D2的数据(DATA)写入主机10期望的第一块B1,因此可以实现功率损耗保护。
也就是说,由于图1的整个数据(DATA)被写入现有的第一块B1,因此不需要在开放通道固态驱动器20中进行映射,并且也不需要在主机10中进行映射。
因此,在本发明构思的至少一个实施例中,尽管突然断电,但是也能够在主机10期望的块中写入期望的数据而无需任何额外的地址映射。
在包括详细描述的情况下,本领域普通技术人员将认识到,可以在基本上不脱离本发明构思的原理的情况下,对这些示例实施例进行许多变化和修改。
Claims (20)
1.一种开放通道固态驱动器,包括:
闪存,包括第一块;以及
控制器,控制所述闪存,所述控制器从主机接收写数据和所述第一块的物理地址,并尝试将所述写数据写入所述第一块,
其中,当在写入尝试期间发生断电时,所述控制器产生写数据中未写入第一块中的第一数据,写数据包括所述第一数据和在写入尝试期间已写入第一块的第二数据,
其中,所述控制器确定将第一数据连续写入第一块是可能的还是不可能的,
其中,当确定连续写入是可能的时,所述控制器连续地将第一数据写入第一块,
其中,当确定连续写入是不可能的时,所述主机或控制器将第一数据和第二数据写入闪存的第二块。
2.根据权利要求1所述的开放通道固态驱动器,其中,所述控制器通过检测写入了第二数据的第一块的最后一页,并且将最后一页的编程时间与参考值相比较,来确定连续写入是可能的还是不可能的。
3.根据权利要求2所述的开放通道固态驱动器,其中,当所述比较指示编程时间大于参考值时,所述控制器确定连续写入是可能的;并且当所述比较指示编程时间小于参考值时,所述控制器确定连续写入是不可能的。
4.根据权利要求2所述的开放通道固态驱动器,其中,当所述比较指示编程时间小于参考值时,所述控制器确定连续写入是可能的;并且当所述比较指示编程时间大于参考值时,所述控制器确定连续写入是不可能的。
5.根据权利要求1所述的开放通道固态驱动器,其中,当确定第一块的单元状态为良好时,所述控制器确定连续写入是可能的;并且当确定单元状态为不良时,所述控制器确定连续写入是不可能的。
6.根据权利要求5所述的开放通道固态驱动器,其中,考虑到第一块的编程擦除周期或温度,所述控制器确定第一块的单元状态是良好还是不良。
7.根据权利要求1所述的开放通道固态驱动器,其中,当所述主机或控制器将第一数据和第二数据写入第二块时,在映射表中记录从第一块的物理地址到第二块的物理地址的映射。
8.根据权利要求7所述的开放通道固态驱动器,其中,所述映射表由所述控制器创建。
9.根据权利要求7所述的开放通道固态驱动器,其中,所述映射表由所述主机创建。
10.根据权利要求1所述的开放通道固态驱动器,其中,所述将第一数据和第二数据写入闪存的第二块是由控制器执行的,以及
所述第一块和所述第二块是相同的块。
11.根据权利要求10所述的开放通道固态驱动器,其中,所述闪存包括第三块,
如果连续写入是不可能的,则执行以下操作:
所述控制器将第二数据迁移到第三块,
所述控制器擦除第一块中的第二数据,以使第一块成为空的第二块,以及
所述控制器将第二数据写入第三块,并将第一数据写入第二块。
12.一种非易失性存储器系统,包括:
主机;以及
开放通道固态驱动器,从主机接收命令和物理地址,
其中,所述开放通道固态驱动器包括:
闪存,包括第一块;以及
控制器,控制所述闪存,所述控制器从主机接收写数据和所述第一块的物理地址,并尝试将写数据写入第一块,
其中,当在写入尝试期间发生断电时,所述控制器产生写数据中未写入第一块的第一数据,所述写数据包括第一数据和已写入第一块的第二数据,
其中,所述控制器确定将第一数据连续写入第一块是可能的还是不可能的,
其中,当确定连续写入是可能的时,所述控制器连续地将数据写入第一块,
其中,当确定连续写入是不可能的时,所述主机或控制器将第一数据和第二数据写入闪存的第二块。
13.根据权利要求12所述的非易失性存储器系统,其中,将第一数据和第二数据写入闪存的第二块是由所述主机执行的,并且
所述主机从开放通道固态驱动器接收第一数据和第二数据,并将第一数据和第二数据写入第二块。
14.根据权利要求13所述的非易失性存储器系统,其中,所述主机在映射表中记录从第一块的物理地址到第二块的物理地址的映射。
15.根据权利要求12所述的非易失性存储器系统,其中,将第一数据和第二数据写入闪存的第二块是由所述主机执行的,
所述主机从开放通道固态驱动器接收第一数据和第二数据以及关于第一块的信息,以及
所述主机向所述控制器发送命令以将第一数据和第二数据写入第二块。
16.根据权利要求15所述的非易失性存储器系统,其中,所述主机向所述控制器发送所述命令和第二块的物理地址。
17.一种非易失性存储器系统,包括:
主机;以及
开放通道固态驱动器,从主机接收写数据、命令和物理地址,
其中,所述开放通道固态驱动器包括:
闪存,包括第一块,以及
控制器,控制所述闪存,
其中所述控制器包括用于执行以下操作的模块:当将写数据写入第一块的同时电源关闭时,确定将写数据连续写入第一块是否是可能的,以产生可能信号或不可能信号,
当产生可能信号时,所述控制器响应于所述可能信号,在第一块中执行连续写入,并且
当产生不可能信号时,将写入数据中尚未写入的第一数据和已写入第一块中的第二数据写入闪存的第二块。
18.根据权利要求17所述的非易失性存储器系统,其中,当产生不可能信号时,所述控制器将第一数据和第二数据写入第二块。
19.根据权利要求18所述的非易失性存储器系统,其中,当产生不可能信号时,所述主机向控制器发送命令以将第一数据和第二数据写入第二块,并且
所述控制器响应发送的命令,将第一数据和第二数据写入第二块。
20.根据权利要求17所述的非易失性存储器系统,其中,当产生不可能信号时,所述主机接收第一数据和第二数据并将第一数据和第二数据写入第二块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180155182A KR102637478B1 (ko) | 2018-12-05 | 2018-12-05 | 오픈 채널 솔리드 스테이트 드라이브, 이를 포함하는 비휘발성 메모리 시스템 및 오픈 채널 솔리드 스테이트 드라이브의 파워 로스 프로텍션 방법 |
KR10-2018-0155182 | 2018-12-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111273858A true CN111273858A (zh) | 2020-06-12 |
Family
ID=68766669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911225928.9A Pending CN111273858A (zh) | 2018-12-05 | 2019-12-03 | 开放通道固态驱动器以及非易失性存储器系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11126238B2 (zh) |
EP (1) | EP3663926B1 (zh) |
KR (1) | KR102637478B1 (zh) |
CN (1) | CN111273858A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102637478B1 (ko) | 2018-12-05 | 2024-02-15 | 삼성전자주식회사 | 오픈 채널 솔리드 스테이트 드라이브, 이를 포함하는 비휘발성 메모리 시스템 및 오픈 채널 솔리드 스테이트 드라이브의 파워 로스 프로텍션 방법 |
TWI696074B (zh) * | 2019-01-24 | 2020-06-11 | 慧榮科技股份有限公司 | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 |
EP4208532A1 (en) | 2020-09-03 | 2023-07-12 | Melonfrost, Inc. | Machine learning and control systems and methods for learning and steering evolutionary dynamics |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102203873A (zh) * | 2008-10-25 | 2011-09-28 | 桑迪士克3D有限责任公司 | 重编程页而不向存储器设备重输数据的页缓冲器编程命令和方法 |
CN104008022A (zh) * | 2013-02-20 | 2014-08-27 | 三星电子株式会社 | 响应于突然断电事件而调整电子设备的操作 |
CN104103318A (zh) * | 2013-04-12 | 2014-10-15 | 三星电子株式会社 | 操作存储控制器的方法和包括存储控制器的数据存储设备 |
US20150143035A1 (en) * | 2013-11-21 | 2015-05-21 | Samsung Electronics Co., Ltd. | User device having a host flash translation layer (ftl), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof |
CN104699413A (zh) * | 2013-12-09 | 2015-06-10 | 群联电子股份有限公司 | 数据管理方法、存储器存储装置及存储器控制电路单元 |
US20170092366A1 (en) * | 2015-09-24 | 2017-03-30 | Samsung Electronics Co., Ltd. | Operating method of nonvolatile memory system |
US20180088841A1 (en) * | 2016-09-28 | 2018-03-29 | Samsung Electronics Co., Ltd. | Computing systems including storage devices controlled by hosts |
US20180101302A1 (en) * | 2016-10-07 | 2018-04-12 | Silicon Motion, Inc. | Data Storage Device and Data Writing Method Thereof |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5142685B2 (ja) | 2007-11-29 | 2013-02-13 | 株式会社東芝 | メモリシステム |
US8259498B2 (en) * | 2008-12-08 | 2012-09-04 | Infinite Memory Ltd. | Continuous address space in non-volatile-memories (NVM) using efficient management methods for array deficiencies |
CN103164345B (zh) | 2011-12-08 | 2016-04-27 | 光宝科技股份有限公司 | 固态存储装置遭遇断电后的数据存储方法 |
US20130219107A1 (en) * | 2012-02-21 | 2013-08-22 | Sandisk Technologies Inc. | Write abort recovery through intermediate state shifting |
US9448919B1 (en) | 2012-11-13 | 2016-09-20 | Western Digital Technologies, Inc. | Data storage device accessing garbage collected memory segments |
KR102083547B1 (ko) * | 2013-04-12 | 2020-03-02 | 삼성전자주식회사 | 플래시 메모리와 메모리 컨트롤러를 포함하는 데이터 저장 장치 및 그것의 배드 페이지 관리 방법 |
KR102102224B1 (ko) * | 2013-10-01 | 2020-04-20 | 삼성전자주식회사 | 저장 장치 및 그것의 프로그램 방법 |
US9542278B2 (en) | 2013-12-26 | 2017-01-10 | Silicon Motion, Inc. | Data storage device and flash memory control method |
KR102301772B1 (ko) * | 2015-03-09 | 2021-09-16 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 가비지 컬렉션 방법 |
KR102625637B1 (ko) | 2016-02-01 | 2024-01-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN107038131A (zh) | 2016-02-04 | 2017-08-11 | 广明光电股份有限公司 | 固态硬盘断电保护装置及方法 |
KR102610537B1 (ko) | 2016-11-10 | 2023-12-06 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템 |
TWI606388B (zh) | 2016-12-14 | 2017-11-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
KR20180076605A (ko) | 2016-12-28 | 2018-07-06 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10453548B2 (en) * | 2017-05-19 | 2019-10-22 | Western Digital Technologies, Inc. | Run-time flash die failure detection enhancement |
CN109947660B (zh) * | 2017-12-21 | 2023-03-14 | 建兴储存科技(广州)有限公司 | 固态储存装置及其相关计算机系统 |
TWI703438B (zh) * | 2018-09-11 | 2020-09-01 | 慧榮科技股份有限公司 | 映射表更新方法 |
KR102637478B1 (ko) | 2018-12-05 | 2024-02-15 | 삼성전자주식회사 | 오픈 채널 솔리드 스테이트 드라이브, 이를 포함하는 비휘발성 메모리 시스템 및 오픈 채널 솔리드 스테이트 드라이브의 파워 로스 프로텍션 방법 |
-
2018
- 2018-12-05 KR KR1020180155182A patent/KR102637478B1/ko active IP Right Grant
-
2019
- 2019-09-30 US US16/588,179 patent/US11126238B2/en active Active
- 2019-12-03 CN CN201911225928.9A patent/CN111273858A/zh active Pending
- 2019-12-03 EP EP19213230.6A patent/EP3663926B1/en active Active
-
2021
- 2021-09-13 US US17/473,522 patent/US11803223B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102203873A (zh) * | 2008-10-25 | 2011-09-28 | 桑迪士克3D有限责任公司 | 重编程页而不向存储器设备重输数据的页缓冲器编程命令和方法 |
CN104008022A (zh) * | 2013-02-20 | 2014-08-27 | 三星电子株式会社 | 响应于突然断电事件而调整电子设备的操作 |
CN104103318A (zh) * | 2013-04-12 | 2014-10-15 | 三星电子株式会社 | 操作存储控制器的方法和包括存储控制器的数据存储设备 |
US20150143035A1 (en) * | 2013-11-21 | 2015-05-21 | Samsung Electronics Co., Ltd. | User device having a host flash translation layer (ftl), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof |
CN104699413A (zh) * | 2013-12-09 | 2015-06-10 | 群联电子股份有限公司 | 数据管理方法、存储器存储装置及存储器控制电路单元 |
US20170092366A1 (en) * | 2015-09-24 | 2017-03-30 | Samsung Electronics Co., Ltd. | Operating method of nonvolatile memory system |
US20180088841A1 (en) * | 2016-09-28 | 2018-03-29 | Samsung Electronics Co., Ltd. | Computing systems including storage devices controlled by hosts |
US20180101302A1 (en) * | 2016-10-07 | 2018-04-12 | Silicon Motion, Inc. | Data Storage Device and Data Writing Method Thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20200068332A (ko) | 2020-06-15 |
US11803223B2 (en) | 2023-10-31 |
KR102637478B1 (ko) | 2024-02-15 |
EP3663926A1 (en) | 2020-06-10 |
US11126238B2 (en) | 2021-09-21 |
EP3663926B1 (en) | 2023-03-22 |
US20200183474A1 (en) | 2020-06-11 |
US20210405724A1 (en) | 2021-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI787388B (zh) | 記憶體裝置以及記憶體裝置的操作方法 | |
CN107369470B (zh) | 存储设备的编程方法和使用其的存储系统 | |
KR20200040021A (ko) | 메모리 장치 및 이의 동작 방법 | |
US11803223B2 (en) | Open channel solid state drive, nonvolatile memory system including the same and method of power loss protection of open channel solid state drive | |
US9030878B2 (en) | Semiconductor memory device including a plurality of cell strings, memory system including the same, and control method thereof | |
CN107391389B (zh) | 用来管理一记忆装置的方法以及记忆装置与控制器 | |
KR102567373B1 (ko) | 메모리 장치 및 이를 포함하는 메모리 시스템 | |
KR102635466B1 (ko) | 메모리 장치 및 그것의 동작 방법 | |
CN110322918B (zh) | 存储器件和操作该存储器件的方法 | |
KR102592796B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN115658556A (zh) | 管理闪存模块的方法及相关的闪存控制器与电子装置 | |
US10748626B2 (en) | Data storage device and operating method thereof | |
KR20210080987A (ko) | 메모리 장치 및 메모리 장치의 동작방법 | |
US11550492B2 (en) | Semiconductor memory device, controller, and memory system having semiconductor memory device and controller | |
KR102461751B1 (ko) | 메모리 장치 및 이의 동작 방법 | |
CN114078532A (zh) | 半导体存储器装置及其操作方法 | |
KR20210147365A (ko) | 메모리 장치 및 이의 동작 방법 | |
KR20150059057A (ko) | 호스트 ftl을 갖는 사용자 장치 및 그것의 리프로그램 정보 전송 방법 | |
US11782644B2 (en) | Memory system and method of operating the same | |
KR20190107504A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
US20230168820A1 (en) | Device having page buffer, memory system, and method of operating the same | |
KR20220151375A (ko) | 페이지 버퍼를 포함하는 메모리 장치 | |
KR20230041330A (ko) | 비휘발성 메모리 장치에 데이터를 프로그램 및 검증하기 위한 장치 및 방법 | |
JP2023172853A (ja) | 向上した速度でデータをリードする半導体メモリ装置、コントローラ及びそれらの動作方法 | |
CN117316242A (zh) | 存储器设备及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |