CN115202927A - 存储装置及其操作方法 - Google Patents

存储装置及其操作方法 Download PDF

Info

Publication number
CN115202927A
CN115202927A CN202210146226.7A CN202210146226A CN115202927A CN 115202927 A CN115202927 A CN 115202927A CN 202210146226 A CN202210146226 A CN 202210146226A CN 115202927 A CN115202927 A CN 115202927A
Authority
CN
China
Prior art keywords
data
memory
partition
block
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.)
Withdrawn
Application number
CN202210146226.7A
Other languages
English (en)
Inventor
张宰润
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN115202927A publication Critical patent/CN115202927A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本技术涉及一种电子装置。存储装置可以包括存储器装置和存储器控制器。存储器装置可以包括缓冲块和多个分区,每个分区具有多个数据块。存储器控制器可以控制存储装置:将写入数据的目标数据清除到缓冲块,第一分区上的写入数据的写入操作由于突然断电而停止;并且在电力供应恢复之后,将写入数据之中的先前存储在第一分区的数据复制到第二分区并将清除到缓冲块的目标数据复制到第二分区。先前存储在第一分区中的数据和目标数据与连续逻辑地址相对应。

Description

存储装置及其操作方法
相关申请的交叉引用
本申请要求于2021年4月14日提交的申请号为10-2021-0048630的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用并入本文。
技术领域
本公开涉及一种电子装置,并且更特别地,涉及一种存储装置及其操作方法。
背景技术
存储装置是可以在诸如计算机或智能电话的主机装置的控制下存储数据的装置。存储装置可以包括存储数据的存储器装置和控制存储器装置的存储器控制器。存储器装置被划分为易失性存储器装置和非易失性存储器装置。
易失性存储器装置是仅在供应电力时存储数据并在切断电力供应时丢失所存储的数据的装置。易失性存储器装置包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
非易失性存储器装置是即使切断电力也不丢失数据的装置。非易失性存储器装置包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器等。
发明内容
本公开的实施例提供了一种具有改进的存储区域管理性能的存储装置及其操作方法。
根据本公开的实施例,一种存储装置可以包括存储器装置和存储器控制器。存储器装置可以包括缓冲块和多个分区,每个分区具有多个数据块。存储器控制器可以控制存储装置:在对多个分区之中的第一分区执行的写入操作由于突然断电而停止时,将与写入操作相对应的写入数据清除到缓冲块;并且在电力供应恢复之后,执行将第一分区中存储的数据复制到多个分区之中的第二分区的突然断电恢复操作。在突然断电恢复操作中,存储器控制器控制存储器装置:将第一分区内的数据块之中的写入操作被停止的源块中存储的数据复制到第二分区内的数据块之中的目标块,并且将清除到缓冲块的写入数据复制到目标块。
根据本公开的实施例,一种操作存储装置的方法,存储装置包括缓冲块和多个分区,每个分区具有多个数据块,该方法包括:感测电力供应被异常切断的突然断电;在对多个分区之中的第一分区执行的写入操作由于突然断电而停止时,将与写入操作相对应的写入数据清除到缓冲块;并且在电力供应恢复之后,执行将第一分区中存储的数据复制到多个分区之中的第二分区的突然断电恢复操作。执行突然断电恢复操作包括:将第一分区内的数据块之中的写入操作被停止的源块中存储的数据复制到第二分区内的数据块之中的目标块,并且将清除到缓冲块的写入数据复制到目标块。
根据本公开的实施例,一种操作存储装置的方法包括:将目标数据从写入缓冲器清除到缓冲块,将目标数据存储到第一块的写入操作由于突然断电而中断;并且在突然断电之后通电时,将所存储的数据从第一块移动到第二块并且然后将所清除的目标数据从缓冲块移动到第二块。所存储的数据和目标数据与连续逻辑地址相对应。
根据本技术,提供了一种具有改进的存储区域管理性能的存储装置及其操作方法。
附图说明
图1是示出根据本公开的实施例的存储装置的示图。
图2是示出根据本公开的实施例的图1的存储器装置的结构的示图。
图3是示出根据本公开的实施例的图2的存储器单元阵列的示图。
图4是示出根据本公开的实施例的一个存储器控制器控制多个存储器装置的方法的示图。
图5是示出根据本公开的实施例的执行顺序写入的区域的示图。
图6是示出根据本公开的实施例的突然断电恢复操作的示图。
图7是示出根据本公开实施例的存储装置的操作的流程图。
图8是详细示出根据本公开的实施例的参照图7描述的存储装置的操作的流程图。
图9是示出根据本公开的另一实施例的图1的存储器控制器的示图。
图10是示出应用了根据本公开的实施例的存储装置的存储卡系统的框图。
图11是示出应用了根据本公开的实施例的存储装置的固态驱动器(SSD)系统的框图。
图12是示出应用了根据本公开的实施例的存储装置的用户系统的框图。
具体实施方式
示出根据本说明书中公开的构思的实施例的具体结构或功能描述,仅用来描述根据本公开的构思的实施例。根据本公开的构思的实施例可以以各种形式实施,并且不应当被解释为限于本说明书中描述的实施例。
图1是示出根据本公开的实施例的存储装置的示图。
参照图1,存储装置50可以包括存储器装置100和控制存储器装置100的操作的存储器控制器200。存储装置50是在诸如以下的主机300的控制下在其中存储数据的装置:蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载式信息娱乐系统。
根据作为与主机300之间的通信方法的主机接口,存储装置50可以被制造为各种类型的存储装置中的一种。例如,存储装置50可以被配置为诸如以下的各种类型的存储装置中的任意一种:SSD,以MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,以SD、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-e或PCIe)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
存储装置50可以被制造为各种类型的封装中的任意一种。例如,存储装置50可以被制造为诸如以下的各种封装类型中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器装置100可以在其中存储数据。存储器装置100可以在存储器控制器200的控制下操作。存储器装置100可以包括存储器单元阵列,存储器单元阵列包括存储数据的多个存储器单元。
存储器单元中的每一个可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC),或存储四个数据位的四层单元(QLC)。
存储器单元阵列可以包括多个存储块。每个存储块可以包括多个存储器单元。一个存储块可以包括多个页面。在实施例中,页面可以是将数据存储在存储器装置100中或读取存储器装置100中存储的数据的单位。
存储块可以是擦除数据的单位。在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、第四代低功率双倍数据速率(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移扭矩随机存取存储器(STT-RAM)等。在本说明书中,为了便于描述,存储器装置100是NAND闪速存储器。
存储器装置100被配置成从存储器控制器200接收命令和地址,并且访问存储器单元阵列的由地址选择的区域。也就是说,存储器装置100可以对由地址选择的区域执行由命令指示的操作。例如,存储器装置100可以执行写入操作(编程操作)、读取操作和擦除操作。在编程操作期间,存储器装置100可以将数据编程到由地址选择的区域。在读取操作期间,存储器装置100可以从由地址选择的区域中读取数据。在擦除操作期间,存储器装置100可以擦除由地址选择的区域中存储的数据。
存储器装置100可以包括:主区域,包括多个数据块;以及缓冲区域,包括多个缓冲块。缓冲块可以包括存储n位的存储器单元,其中n为大于或等于1的自然数。数据块可以包括存储m位的存储器单元,其中m为大于n的自然数。
主区域可以被划分为多个分区。至少一个或多个数据块可以被分配给多个分区中的每一个。与连续逻辑地址相对应的写入数据可以被存储在每个分区中。连续逻辑地址可以被映射到分配给每个分区的每个数据块内的存储单位的物理地址。每个分区中存储的数据可以以块映射方法来管理。
存储器控制器200控制存储装置50的整体操作。
当向存储装置50施加电力时,存储器控制器200可以运行固件FW。当存储器装置100是闪速存储器装置时,存储器控制器200可以操作诸如闪存转换层(FTL)的固件,以控制主机300与存储器装置100之间的通信。
在实施例中,存储器控制器200可以从主机300接收数据和逻辑块地址(LBA),并且将逻辑块地址(LBA)转换为指示待存储存储器装置100中包括的数据的存储器单元的地址的物理块地址(PBA)。
存储器控制器200可以响应于主机300的请求而控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以将写入命令、物理块地址和数据提供到存储器装置100。在读取操作期间,存储器控制器200可以将读取命令和物理块地址提供到存储器装置100。在擦除操作期间,存储器控制器200可以将擦除命令和物理块地址提供到存储器装置100。
在实施例中,存储器控制器200可以生成命令、地址和数据并将命令、地址和数据传输到存储器装置100,而无需来自主机300的请求。例如,存储器控制器200可以将命令、地址和数据提供到存储器装置100,以执行诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作的后台操作。
在实施例中,存储器控制器200可以控制至少两个存储器装置100。在这种情况下,存储器控制器200可以根据交错方法来控制存储器装置100,以提高操作性能。交错方法可以是用于重叠至少两个存储器装置100的操作时段的操作方法。
在实施例中,当对多个分区之中的第一分区执行的写入操作由于电力被异常切断的突然断电而停止时,存储器控制器200可以控制存储器装置100将与写入操作相对应的写入数据清除到缓冲块。存储器控制器200可以控制存储器装置100在电力供应恢复之后执行将第一分区中存储的数据复制到多个分区之中的第二分区的突然断电恢复操作。
在突然断电恢复操作中,存储器控制器200可以控制存储器装置100将被分配给第一分区的数据块之中的写入操作被停止的源块中存储的数据复制到被分配给第二分区的数据块之中的目标块。存储器控制器200可以控制存储器装置100将清除到缓冲块的写入数据复制到目标块。源块中存储的数据和清除到缓冲块中的数据可以与连续逻辑地址相对应。
在实施例中,存储器控制器200可以包括电源管理器210、清除控制器220和突然断电恢复控制器230。
当感测到突然断电时,电源管理器210可以生成电力故障信号。当在等于或长于参考时间的时间期间供应给存储装置50的电力被异常切断或者供应给存储装置50的电力电平低于参考电平时,电源管理器210可以确定发生突然断电。
清除控制器220可以响应于电力故障信号而控制存储器装置100将与写入操作相对应的写入数据清除到缓冲块。在实施例中,清除到缓冲块的数据可以是与写入操作相对应的写入数据之中的在源块中的编程未完成的写入数据。
突然断电恢复控制器230可以在电力供应恢复之后控制存储器装置100执行突然断电恢复操作。
例如,突然断电恢复控制器230可以在突然断电恢复操作中控制存储器装置100将被分配给第一分区的数据块中存储的数据复制到被分配给第二分区的数据块。
突然断电恢复控制器230可以恢复与被分配给第一分区的数据块相对应的元数据。元数据可以包括:映射数据,包括逻辑地址与物理地址之间的映射关系;以及日志数据,包括与逻辑地址相对应的物理地址的改变历史。
突然断电恢复控制器230可以基于元数据来检测被分配给第一分区的数据块之中的由于突然断电而停止写入操作的源块。
突然断电恢复控制器230可以控制存储器装置100将被分配给第一分区的数据块之中的写入操作被停止的源块中存储的数据复制到被分配给第二分区的数据块之中的目标块。在源块中存储的数据被复制到目标块之后,突然断电恢复控制器230可以控制存储器装置100将清除到缓冲块的写入数据连续地复制到目标块。
突然断电恢复控制器230可以控制存储器装置100执行作为前台操作的突然断电恢复操作。当存储器装置100处于存储器装置100不根据主机300的请求来执行操作的空闲状态时,突然断电恢复控制器230可以控制存储器装置100执行作为后台操作的突然断电恢复操作。
主机300可以使用诸如以下的各种通信标准或接口中的至少一种与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
图2是示出根据本公开的实施例的图1的存储器装置的结构的示图。
参照图2,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL连接到地址解码器121。多个存储块BLK1至BLKz通过位线BL1至BLm连接到读取和写入电路123。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元是非易失性存储器单元。将多个存储器单元之中的连接到相同字线的存储器单元定义为一个物理页面。即,存储器单元阵列110被配置成多个物理页面。根据本公开的实施例,存储器单元阵列110中包括的多个存储块BLK1至BLKz中的每一个可以包括多个虚拟单元。至少一个虚拟单元可以串联连接在漏极选择晶体管与存储器单元之间以及源极选择晶体管与存储器单元之间。
存储器装置100的存储器单元中的每一个可以被配置为存储一个数据位的SLC、存储两个数据位的MLC、存储三个数据位的TLC或存储四个数据位的QLC。
外围电路120可以包括地址解码器121、电压生成器122、读取和写入电路123、数据输入/输出电路124和感测电路125。
外围电路120驱动存储器单元阵列110。例如,外围电路120可以驱动存储器单元阵列110,以执行编程操作、读取操作和擦除操作。
地址解码器121通过行线RL连接到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和公共源极线。根据本公开的实施例,字线可以包括普通字线和虚拟字线。根据本公开的实施例,行线RL可以进一步包括管道选择线。
地址解码器121被配置成响应于控制逻辑130的控制而操作。地址解码器121从控制逻辑130接收地址ADDR。
地址解码器121被配置成对所接收的地址ADDR的块地址进行解码。地址解码器121可以根据经解码的块地址在存储块BLK1至BLKz之中选择至少一个存储块。地址解码器121被配置成对所接收的地址ADDR的行地址进行解码。地址解码器121可以根据经解码的行地址在所选择的存储块的字线之中选择至少一个字线。地址解码器121可以将从电压生成器122接收的操作电压Vop施加到所选择的字线。
在编程操作期间,地址解码器121可以将编程电压施加到所选择的字线,并且将具有比编程电压更低的电平的通过电压施加到未选择的字线。在编程验证操作期间,地址解码器121可以将验证电压施加到所选择的字线,并且将具有比验证电压更高的电平的验证通过电压施加到未选择的字线。
在读取操作期间,地址解码器121可以将读取电压施加到所选择的字线,并且将具有比读取电压更高的电平的读取通过电压施加到未选择的字线。
根据本公开的实施例,以存储块为单位执行存储器装置100的擦除操作。在擦除操作期间输入到存储器装置100的地址ADDR包括块地址。地址解码器121可以对块地址进行解码并且根据经解码的块地址来选择至少一个存储块。在擦除操作期间,地址解码器121可以将接地电压施加到输入到所选择的存储块的字线。
根据本公开的实施例,地址解码器121可以被配置成对所传送的地址ADDR的列地址进行解码。经解码的列地址可以被传送到读取和写入电路123。作为示例,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器的组件。
电压生成器122被配置成通过使用供应到存储器装置100的外部电源电压来生成多个操作电压Vop。电压生成器122可以响应于控制逻辑130的控制而操作。
作为实施例,电压生成器122可以通过调节外部电源电压来生成内部电源电压。由电压生成器122生成的内部电源电压被用作存储器装置100的操作电压。
作为实施例,电压生成器122可以使用外部电源电压或内部电源电压来生成多个操作电压Vop。电压生成器122可以被配置成生成存储器装置100所需的各种电压。例如,电压生成器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压以及多个未选择读取电压。
为了生成具有不同电压电平的多个操作电压Vop,电压生成器122可以包括多个泵浦电容器,多个泵浦电容器接收内部电压并且响应于控制逻辑130而选择性地激活多个泵浦电容器以生成多个操作电压Vop。
多个所生成的操作电压Vop可以通过地址解码器121供应到存储器单元阵列110。
读取和写入电路123包括第一页面缓冲器PB1至第m页面缓冲器PBm。第一页面缓冲器PB1至第m页面缓冲器PBm可以通过第一位线BL1至第m位线BLm分别连接到存储器单元阵列110。第一页面缓冲器PB1至第m页面缓冲器PBm响应于控制逻辑130的控制而操作。
第一页面缓冲器PB1至第m页面缓冲器PBm与数据输入/输出电路124通信数据DATA。在编程时,第一页面缓冲器PB1至第m页面缓冲器PBm通过数据输入/输出电路124和数据线DL接收待存储的数据DATA。
在编程操作期间,当将编程电压施加到所选择的字线时,第一页面缓冲器PB1至第m页面缓冲器PBm可以将数据DATA(即,通过数据输入/输出电路124接收的数据DATA)通过第一位线BL1至第n位线BLn传送到所选择的存储器单元。根据所传送的数据DATA,对所选择的页面的存储器单元进行编程。连接到施加有编程允许电压(例如,接地电压)的位线的存储器单元可以具有增加的阈值电压。连接到施加有编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可以被维持。在编程验证操作期间,第一页面缓冲器PB1至第m页面缓冲器PBm通过位线BL1至BLm从所选择的存储器单元读取存储器单元中存储的数据。
在读取操作期间,读取和写入电路123可以通过位线BL从所选择的页面的存储器单元读取数据DATA,并且将所读取的数据DATA存储在第一页面缓冲器PB1至第m页面缓冲器PBm中。
在擦除操作期间,读取和写入电路123可以使位线BL浮置。在实施例中,读取和写入电路123可以包括列选择电路。
数据输入/输出电路124通过数据线DL连接到第一页面缓冲器PB1至第m页面缓冲器PBm。数据输入/输出电路124响应于控制逻辑130的控制而操作。
数据输入/输出电路124可以包括接收输入数据DATA的多个输入/输出缓冲器(未示出)。在编程操作期间,数据输入/输出电路124从外部控制器(未示出)接收待存储的数据DATA。在读取操作期间,数据输入/输出电路124将从读取和写入电路123中包括的第一页面缓冲器PB1至第m页面缓冲器PBm传送的数据DATA输出到外部控制器。
在读取操作或验证操作期间,感测电路125可以响应于由控制逻辑130生成的允许位VRYBIT而生成参考电流,并且将从读取和写入电路123接收的感测电压VPB与由参考电流生成的参考电压进行比较以将通过信号或失败信号输出到控制逻辑130。
控制逻辑130可以连接到地址解码器121、电压生成器122、读取和写入电路123、数据输入/输出电路124和感测电路125。控制逻辑130可以被配置成控制存储器装置100的全部操作。控制逻辑130可以响应于从外部装置传送的命令CMD而操作。
控制逻辑130可以响应于命令CMD和地址ADDR而生成各种信号以控制外围电路120。例如,控制逻辑130可以响应于命令CMD和地址ADDR而生成操作信号OPSIG、地址ADDR、读取和写入电路控制信号PBSIGNALS以及允许位VRYBIT。控制逻辑130可以将操作信号OPSIG输出到电压生成器122,将地址ADDR输出到地址解码器121,将读取和写入控制信号输出到读取和写入电路123,并且将允许位VRYBIT输出到感测电路125。另外,控制逻辑130可以响应于由感测电路125输出的通过或失败信号PASS/FAIL而确定验证操作是通过还是失败。
图3是示出根据本公开的实施例的图2的存储器单元阵列的示图。
参照图3,第一存储块BLK1至第z存储块BLKz共同连接到第一位线BL1至第m位线BLm。在图3中,为了便于描述,示出了多个存储块BLK1至BLKz的第一存储块BLK1中包括的元件,并且省略了其余存储块BLK2至BLKz的每一个中包括的元件。将理解的是,其余存储块BLK2至BLKz中的每一个与第一存储块BLK1相似地配置。
第一存储块BLK1可以包括多个单元串CS1_1至CS1_m,其中m为正整数。第一单元串CS1_1至第m单元串CS1_m分别连接到第一位线BL至第m位线BLm。第一单元串CS1_1至第m单元串CS1_m中的每一个包括漏极选择晶体管DST、串联连接的多个存储器单元MC1至MCn(其中n为正整数),以及源极选择晶体管SST。
第一单元串CS1_1至第m单元串CS1_m中的每一个中包括的漏极选择晶体管DST的栅极端子连接到漏极选择线DSL1。第一单元串CS1_1至第m单元串CS1_m的每一个中包括的第一存储器单元MC1至第n存储器单元MCn的栅极端子分别连接到第一字线WL1至第n字线WLn。第一单元串CS1_1至第m单元串CS1_m中的每一个中包括的源极选择晶体管SST的栅极端子连接到源极选择线SSL1。
为了便于描述,将参照多个单元串CS1_1至CS1_m中的第一单元串CS1_1来描述单元串的结构。然而,将理解的是,其余单元串CS1_2至CS1_m中的每一个与第一单元串CS1_1相似地配置。
第一单元串CS1_1中包括的漏极选择晶体管DST的漏极端子连接到第一位线BL1。第一单元串CS1_1中包括的漏极选择晶体管DST的源极端子连接到第一单元串CS1_1中包括的第一存储器单元MC1的漏极端子。第一存储器单元MC1至第n存储器单元MCn彼此串联连接。第一单元串CS1_1中包括的源极选择晶体管SST的漏极端子连接到第一单元串CS1_1中包括的第n存储器单元MCn的源极端子。第一单元串CS1_1中包括的源极选择晶体管SST的源极端子连接到公共源极线CSL。在实施例中,公共源极线CSL可以公共地连接到第一存储块BLK1至第z存储块BLKz。
漏极选择线DSL1、第一字线WL1至第n字线WLn以及源极选择线SSL1包括在图2的行线RL中。漏极选择线DSL1、第一字线WL1至第n字线WLn以及源极选择线SSL1由地址解码器121控制。公共源极线CSL由控制逻辑130控制。第一位线BL1至第m位线BLm由读取和写入电路123控制。
图4是示出根据本公开的实施例的一个存储器控制器控制多个存储器装置的方法的示图。
参照图4,存储器控制器200可以通过第一通道CH1和第二通道CH2连接到多个存储器装置Die_11至Die_24。通道的数量或连接到每个通道的存储器装置的数量不限于本实施例。
存储器装置Die_11至Die_14可以共同连接到第一通道CH1。存储器装置Die_11至Die_14可以通过第一通道CH1与存储器控制器200通信。
因为存储器装置Die_11至Die_14共同连接到第一通道CH1,所以每次仅可以有一个存储器装置与存储器控制器200通信。然而,可以同时执行存储器装置Die_11至Die_14中的每一个的内部操作。
存储器装置Die_21至Die_24可以共同连接到第二通道CH2。存储器装置Die_21至Die_24可以通过第二通道CH2与存储器控制器200通信。
因为存储器装置Die_21至Die_24共同连接到第二通道CH2,所以每次仅可以有一个存储器装置与存储器控制器200通信。可以同时执行存储器装置Die_21至Die_24中的每一个的内部操作。
使用多个存储器装置的存储装置可以通过使用数据交错来改进性能,数据交错是使用交错方法的数据通信。数据交错可以是通过在两个或更多个通路共享一个通道的结构中移动通路来执行数据读取操作或数据写入操作。针对数据交错,可以以通道和通路为单位来管理存储器装置。为了增大连接到每个通道的存储器装置的并行性,存储器控制器200可以将连续逻辑的存储器区域分散到通道和通路中,并且分配连续逻辑的存储器区域。
例如,存储器控制器200可以通过第一通道CH1向存储器装置Die_11传输命令、包括地址的控制信号以及数据。虽然存储器装置Die_11将所传输的数据编程到其中包括的存储器单元,但是存储器控制器200可以将命令、包括地址的控制信号以及数据传输到存储器装置Die_12。
在图4中,多个存储器装置可以由四个通路WAY1到WAY4配置。第一通路WAY1可以包括存储器装置Die_11和Die_21。第二通路WAY2可以包括存储器装置Die_12和Die_22。第三通路WAY3可以包括存储器装置Die_13和Die_23。第四通路WAY4可以包括存储器装置Die_14和Die_24。
通道CH1和CH2中的每一个可以是由连接到相应通道的存储器装置共享和使用的信号总线。
在图4中,描述了两个通道/四个通路结构的数据交错。然而,随着通道数量和通路数量的增加,交错可以更有效。
图5是示出根据本公开的实施例的执行顺序写入的区域的示图。
参照图5,多个存储器装置Die_11至Die_14中的每一个可以包括主区域,主区域包括多个数据块BLK1至BLKi和多个缓冲块BLKi+1至BLKj,其中i为正整数,其中j为正整数。
主区域可以被划分为多个分区Zone 1至Zone i。不同存储器装置中包括的至少一个或多个数据块可以被分配给每个分区。在图5中,不同存储器装置中包括的一个数据块可以被分配给每个分区。然而,分配给每个分区的数据块的数量不限于本实施例。
每个分区可以是执行顺序写入的存储区域。因此,与连续逻辑地址相对应的写入数据可以被存储在每个分区中。在每个分区中,可以以块映射方法来管理数据。
缓冲块BLKi+1至BLKj可以包括存储n位的存储器单元,其中n为大于或等于1的自然数。数据块BLK1至BLKi可以包括存储m位的存储器单元,其中i为正整数,其中m为大于n的自然数。
图6是示出根据本公开的实施例的突然断电恢复操作的示图。
参照图6,可以将四个数据块BLK1至BLK4分配给第一分区和第二分区中的每一个。分配给每个分区的数据块的数量不限于本实施例。
参照图1描述的存储器控制器200的写入缓冲器可以存储待存储在第一分区中的写入数据WD1至WD3。
可以执行将第一写入数据WD1存储在第一分区中的写入操作。当在将第一写入数据WD1存储在第一分区的数据块中的同时发生突然断电(SPO)时,可以停止写入操作。在被分配给第一分区的数据块之中,写入操作被停止的数据块BLK3可以是源块。
在写入缓冲器中存储的写入数据WD1至WD3之中,可以将在源块中的编程未完成的写入数据WD1清除到缓冲块中。
在图6中,缓冲块可以是包括存储一位的SLC的SLC块。数据块可以是包括存储三位的TLC的TLC块。由缓冲块中包括的存储器单元存储的数据位的数量和由数据块中包括的存储器单元存储的数据位的数量不限于本实施例。
因此,写入缓冲器中存储的写入数据WD1以WD1_1至WD1_3的形式被清除到缓冲块中。
当在SPO之后恢复电力供应时,可以执行突然断电恢复操作。在突然断电恢复操作中,可以将被分配给第一分区的数据块中存储的数据复制到被分配给第二分区的数据块中。此时,源块中存储的数据可以被复制到目标块中。目标块可以是与被分配给第二分区的数据块之中的与第一分区的源块相对应的数据块。
在突然断电恢复操作中,在将源块中存储的数据复制到目标块之后,可以将清除到缓冲块的写入数据WD1_1至WD1_3复制到目标块中。源块中存储的数据和清除到缓冲块中的写入数据WD1_1至WD1_3可以与连续逻辑地址相对应。在突然断电恢复操作完成之后,第一分区可能失效。
在实施例中,可以在根据主机的请求的操作之前,执行作为前台操作的突然断电恢复操作。在另一实施例中,可以在根据主机的请求的操作之后,执行作为后台操作的突然断电恢复操作。
根据本公开的实施例,即使在写入操作期间发生SPO,也可以保存每个分区中存储的写入数据的连续性和统一性。
图7是示出根据本公开实施例的存储装置的操作的流程图。
参照图7,在操作S701中,存储装置可以在对多个分区之中的第一分区执行写入操作的同时感测突然断电。
在操作S703中,存储装置可以将写入数据清除到缓冲块。写入数据可以是写入操作由于突然断电而停止从而导致编程未完成的数据。
在操作S705中,存储装置可以将多个分区之中的第一分区中存储的数据复制到第二分区。
在操作S707中,存储装置可以将清除到缓冲块的写入数据复制到第二分区。
图8是详细示出根据本公开的实施例的参照图7描述的存储装置的操作的流程图。
参照图8,参照图7描述的操作S705可以与操作S801至S805相对应,并且操作S707可以与操作S807相对应。
在操作S801中,存储装置可以恢复与被分配给第一分区的数据块相对应的元数据。
在操作S803中,存储装置可以基于元数据来检测被分配给第一分区的数据块之中的写入操作被停止的源块。
在操作S805中,存储装置可以将被分配给第一分区的数据块中存储的数据复制到被分配给第二分区的数据块。
在操作S807中,存储装置可以将清除到缓冲块的写入数据复制到被分配给第二分区的数据块之中的与源块相对应的目标块。
在各个实施例中,可以改变操作S803和S805的顺序。
图9是示出根据本公开的另一实施例的图1的存储器控制器的示图。
参照图9,存储器控制器1000连接到主机Host和存储器装置。存储器控制器1000被配置成响应于来自主机Host的请求而访问存储器装置。例如,存储器控制器1000被配置成控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000被配置成提供存储器装置与主机Host之间的接口。存储器控制器1000被配置成驱动用于控制存储器装置的固件。
存储器控制器1000可以包括处理器1010、存储器缓冲器1020、错误校正电路(ECC)1030、主机接口1040、缓冲器控制器1050、存储器接口1060和总线1070。
总线1070可以被配置成提供存储器控制器1000的组件之间的通道。
处理器1010可以控制存储器控制器1000的整体操作并且可以执行逻辑操作。处理器1010可以通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。另外,处理器1010可以通过缓冲器控制器1050与存储器缓冲器1020通信。处理器1010可以使用作为操作存储器、高速缓存存储器或缓冲存储器的存储器缓冲器1020控制存储装置的操作。
处理器1010可以执行闪存转换层(FTL)的功能。处理器1010可以通过闪存转换层(FTL)将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。闪存转换层(FTL)可以接收逻辑块地址(LBA),并且使用映射表将逻辑块地址(LBA)转换成物理块地址(PBA)。根据映射单位,闪存转换层的地址映射方法可以包括各种方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010被配置成将从主机Host接收的数据随机化。例如,处理器1010可以使用随机化种子将从主机Host接收的数据随机化。经随机化的数据作为待存储的数据被提供到存储器装置,并且被编程在存储器单元阵列中。
处理器1010被配置成在读取操作期间使从存储器装置接收的数据去随机化。例如,处理器1010可以使用去随机化种子将从存储器装置接收的数据去随机化。经去随机化的数据可以被输出到主机Host。
在实施例中,处理器1010可以通过驱动软件或固件来执行随机化和去随机化。
存储器缓冲器1020可以用作处理器1010的操作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010运行的代码和命令。存储器缓冲器1020可以存储由处理器1010处理的数据。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC 1030可以执行错误校正。ECC 1030可以基于待通过存储器接口1060写入存储器装置的数据执行错误校正编码(ECC编码)。经ECC编码的数据可以通过存储器接口1060而被传送到存储器装置。ECC 1030可以对通过存储器接口1060从存储器装置接收的数据执行错误校正解码(ECC解码)。例如,ECC 1030可以被包括在存储器接口1060中,作为存储器接口1060的组件。
主机接口1040被配置成在处理器1010的控制下与外部主机通信。主机接口1040可以被配置成使用诸如以下的各种通信标准或接口中的至少一种执行通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
缓冲器控制器1050被配置成在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060被配置成在处理器1010的控制下与存储器装置通信。存储器接口1060可以通过通道与存储器装置通信命令、地址和数据。
例如,存储器控制器1000可以不包括存储器缓冲器1020和缓冲器控制器1050。
例如,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000内的非易失性存储器装置(例如,只读存储器)中加载代码。作为另一示例,处理器1010可以通过存储器接口1060从存储器装置加载代码。
例如,存储器控制器1000的总线1070可以被划分为控制总线和数据总线。数据总线可以被配置成将数据传输到存储器控制器1000内,并且控制总线可以被配置成将诸如命令和地址的控制信息传输到存储器控制器1000内。数据总线和控制总线可以彼此分开,并且可以不彼此干扰或彼此影响。数据总线可以连接到主机接口1040、缓冲器控制器1050、ECC 1030和存储器接口1060。控制总线可以连接到主机接口1040、处理器1010、缓冲器控制器1050、存储器缓冲器1202和存储器接口1060。
图10是示出应用根据本公开的实施例的存储装置的存储卡系统2000的框图。
参照图10,存储卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100连接到存储器装置2200。存储器控制器2100被配置成访问存储器装置2200。例如,存储器控制器2100可以被配置成控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置成提供存储器装置2200与主机之间的接口。存储器控制器2100被配置成驱动用于控制存储器装置2200的固件。存储器控制器2100可以与参照图1描述的存储器控制器200相同地实施。
例如,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和ECC的组件。
存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以根据特定的通信标准与外部装置(例如,主机)通信。例如,存储器控制器2100被配置成通过诸如以下的各种通信标准中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WiFi、蓝牙和NVMe。例如,连接器2300可以由上述各种通信标准中的至少一种来定义。
例如,存储器装置2200可以被配置为诸如以下的各种非易失性存储器元件:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移扭矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可以被集成为一个半导体装置中以配置存储卡。例如,存储器控制器2100和存储器装置2200可以被集成为一个半导体装置以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)和通用闪存(UFS)。
图11是示出应用根据本公开的实施例的存储装置的固态驱动器(SSD)系统3000的框图。
参照图11,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并且通过电源连接器3002接收电力PWR。SSD 3200包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
根据本公开的实施例,SSD控制器3210可以执行参照图1描述的存储器控制器200的功能。
SSD控制器3210可以响应于从主机3100接收的信号SIG而控制多个闪速存储器3221至322n。例如,信号SIG可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号SIG可以是通过诸如以下的通信标准或接口中的至少一种来定义的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WI-FI、蓝牙和NVMe。
辅助电源3230通过电源连接器3002连接到主机3100。辅助电源3230可以从主机3100接收电力PWR并且可以利用电力充电。当来自主机3100的电力供应不平稳时,辅助电源3230可以向SSD 3200提供电力。例如,辅助电源3230可以位于SSD 3200内部或可以位于SSD3200外部。例如,辅助电源3230可以位于主板上,并且可以向SSD 3200提供辅助电力。
缓冲存储器3240作为SSD 3200的缓冲存储器来操作。例如,缓冲存储器3240可以临时地存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可以临时地存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器,或者诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图12是示出应用了根据本公开的实施例的存储装置的用户系统的框图。
参照图12,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以驱动用户系统4000中包括的组件、操作系统(OS)、用户程序等。例如,应用处理器4100可以包括控制用户系统4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可以被设置为片上系统(SoC)。
存储器模块4200可以作为用户系统4000的主存储器、操作存储器、缓冲存储器或高速缓存存储器而操作。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3 SDRAM、LPDDR SDARM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器或者诸如PRAM、ReRAM、MRAM和FRAM的非易失性随机存取存储器。例如,应用处理器4100和存储器模块4200可以基于堆叠封装(POP)来进行封装,并且被设置为一个半导体封装。
网络模块4300可以与外部装置通信。例如,网络模块4300可以支持诸如以下的无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进、WiMAX、WLAN、UWB、蓝牙和WiFi。例如,网络模块4300可以包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。可选地,存储模块4400可以将该存储模块4400中存储的数据传输到应用处理器4100。例如,存储模块4400可以被实施为诸如以下的非易失性半导体存储器元件:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存和三维NAND闪存。例如,存储模块4400可以被设置为用户系统4000的诸如存储卡和外部驱动器的可移动存储装置(可移动驱动器)。
例如,存储模块4400可以包括多个非易失性存储器装置,并且多个非易失性存储器装置可以与参照图1描述的存储器装置100相同地操作。存储模块4400可以与参照图1描述的存储装置50相同地操作。
用户接口4500可以包括用于向应用处理器4100输入数据或指令或者用于向外部装置输出数据的接口。例如,用户接口4500可以包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
虽然上面已经描述了特定实施例,但是本领域技术人员将理解的是,描述的实施例仅仅作为示例。因此,存储系统、存储器装置和存储器控制器不应当受到所描述的实施例的限制。相反,当结合以上描述和附图时,应仅根据所附权利要求书来限制本文描述的存储系统、存储器装置和存储器控制器。此外,可以组合实施例以形成附加的实施例。

Claims (20)

1.一种存储装置,包括:
存储器装置,包括缓冲块和多个分区,每个分区具有多个数据块;以及
存储器控制器,控制所述存储器装置:
在对所述多个分区之中的第一分区执行的写入操作由于突然断电而停止时,将与所述写入操作相对应的写入数据清除到所述缓冲块;并且
在电力供应恢复之后,执行将所述第一分区中存储的数据复制到所述多个分区之中的第二分区的突然断电恢复操作,
其中在所述突然断电恢复操作中,所述存储器控制器控制所述存储器装置:
将所述第一分区内的数据块之中的所述写入操作被停止的源块中存储的数据复制到所述第二分区内的数据块之中的目标块,并且
将清除到所述缓冲块的所述写入数据复制到所述目标块。
2.根据权利要求1所述的存储装置,其中所述源块中存储的数据和清除到所述缓冲块中的所述写入数据与连续逻辑地址相对应。
3.根据权利要求1所述的存储装置,其中所述存储器控制器包括:
电源管理器,在感测到所述突然断电时,生成电力故障信号;
清除控制器,响应于所述电力故障信号而控制所述存储器装置将与所述写入操作相对应的所述写入数据清除到所述缓冲块;以及
突然断电恢复控制器,在电力供应恢复之后控制所述存储器装置执行所述突然断电恢复操作。
4.根据权利要求3所述的存储装置,其中所述清除控制器控制所述存储器装置将部分写入数据清除到所述缓冲块,所述部分写入数据是与所述写入操作相对应的写入数据之中的、在所述写入操作中未被编程到所述源块的数据。
5.根据权利要求3所述的存储装置,其中在所述突然断电恢复操作中,所述突然断电恢复控制器进一步:
恢复与所述第一分区内的数据块相对应的元数据,并且
基于所述元数据来检测所述第一分区内的数据块之中的所述写入操作被停止的所述源块。
6.根据权利要求5所述的存储装置,其中所述元数据包括:映射数据,包括逻辑地址与物理地址之间的映射关系;以及日志数据,包括与所述逻辑地址相对应的所述物理地址的改变历史。
7.根据权利要求3所述的存储装置,其中在所述存储装置处于空闲状态时,所述突然断电恢复控制器控制所述存储器装置执行作为后台操作的所述突然断电恢复操作。
8.根据权利要求1所述的存储装置,其中所述多个分区中的每一个分区存储与连续逻辑地址相对应的数据。
9.根据权利要求8所述的存储装置,其中所述连续逻辑地址被映射到所述数据块中的每一个内的存储单位的物理地址。
10.根据权利要求1所述的存储装置,
其中所述缓冲块包括每个存储n位的存储器单元,其中n为大于或等于1的自然数,并且
其中所述多个数据块包括每个存储m位的存储器单元,其中m为大于n的自然数。
11.一种操作存储装置的方法,所述存储装置包括缓冲块和多个分区,每个分区具有多个数据块,所述方法包括:
感测电力供应被异常切断的突然断电;
在对所述多个分区之中的第一分区执行的写入操作由于所述突然断电而停止时,将与所述写入操作相对应的写入数据清除到所述缓冲块;并且
在电力供应恢复之后,执行将所述第一分区中存储的数据复制到所述多个分区之中的第二分区的突然断电恢复操作,
执行所述突然断电恢复操作包括:
将所述第一分区内的数据块之中的所述写入操作被停止的源块中存储的数据复制到所述第二分区内的数据块之中的目标块;并且
将清除到所述缓冲块的所述写入数据复制到所述目标块。
12.根据权利要求11所述的方法,其中所述源块中存储的数据和清除到所述缓冲块中的所述写入数据与连续逻辑地址相对应。
13.根据权利要求11所述的方法,
其中感测所述突然断电包括:在感测到所述突然断电时生成电力故障信号,并且
其中将所述写入数据清除到所述缓冲块包括:响应于所述电力故障信号而将与所述写入操作相对应的写入数据清除到所述缓冲块。
14.根据权利要求13所述的方法,其中清除所述写入数据包括:将部分写入数据清除到所述缓冲块,所述部分写入数据是与所述写入操作相对应的写入数据之中的、在所述写入操作中未被编程到所述源块的数据。
15.根据权利要求11所述的方法,其中执行所述突然断电恢复操作包括:将所述第一分区内的数据块之中的除了所述源块之外的其余数据块中存储的数据复制到所述第二分区内的数据块中的除了所述目标块之外的其余数据块。
16.根据权利要求11所述的方法,其中执行所述突然断电恢复操作包括:
恢复与所述第一分区内的数据块相对应的元数据;并且
基于所述元数据来检测所述第一分区内的数据块之中的所述写入操作被停止的所述源块。
17.根据权利要求16所述的方法,其中所述元数据包括:映射数据,包括逻辑地址与物理地址之间的映射关系;以及日志数据,包括与所述逻辑地址相对应的所述物理地址的改变历史。
18.根据权利要求11所述的方法,
其中所述多个分区中的每一个分区存储与连续逻辑地址相对应的数据,并且
其中所述连续逻辑地址被映射到所述数据块中的每一个内的存储单位的物理地址。
19.根据权利要求11所述的方法,
其中所述缓冲块包括每个存储n位的存储器单元,其中n为大于或等于1的自然数,并且
其中所述多个数据块包括每个存储m位的存储器单元,其中m为大于n的自然数。
20.一种存储装置的操作方法,所述操作方法包括:
将目标数据从写入缓冲器清除到缓冲块,将所述目标数据存储到第一块的写入操作由于突然断电而中断;并且
在所述突然断电之后通电时,将所存储的数据从所述第一块移动到第二块并且然后将所清除的目标数据从所述缓冲块移动到所述第二块,
其中所存储的数据和所述目标数据与连续逻辑地址相对应。
CN202210146226.7A 2021-04-14 2022-02-17 存储装置及其操作方法 Withdrawn CN115202927A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210048630A KR20220142192A (ko) 2021-04-14 2021-04-14 저장 장치 및 그 동작 방법
KR10-2021-0048630 2021-04-14

Publications (1)

Publication Number Publication Date
CN115202927A true CN115202927A (zh) 2022-10-18

Family

ID=83574145

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210146226.7A Withdrawn CN115202927A (zh) 2021-04-14 2022-02-17 存储装置及其操作方法

Country Status (3)

Country Link
US (1) US20220334760A1 (zh)
KR (1) KR20220142192A (zh)
CN (1) CN115202927A (zh)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822251A (en) * 1997-08-25 1998-10-13 Bit Microsystems, Inc. Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers
US6260115B1 (en) * 1999-05-13 2001-07-10 Storage Technology Corporation Sequential detection and prestaging methods for a disk storage subsystem
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
JP5130646B2 (ja) * 2005-06-06 2013-01-30 ソニー株式会社 記憶装置
US7779056B2 (en) * 2006-09-15 2010-08-17 Sandisk Corporation Managing a pool of update memory blocks based on each block's activity and data order
US8533562B2 (en) * 2007-09-12 2013-09-10 Sandisk Technologies Inc. Data protection after possible write abort or erase abort
US7934052B2 (en) * 2007-12-27 2011-04-26 Pliant Technology, Inc. System and method for performing host initiated mass storage commands using a hierarchy of data structures
CN103164345B (zh) * 2011-12-08 2016-04-27 光宝科技股份有限公司 固态存储装置遭遇断电后的数据存储方法
US9645895B2 (en) * 2013-12-26 2017-05-09 Silicon Motion, Inc. Data storage device and flash memory control method
US9703629B2 (en) * 2014-10-29 2017-07-11 Sandisk Technologies Llc Approach to correct ECC errors using duplicate copies of data
US9691485B1 (en) * 2016-07-11 2017-06-27 Sandisk Technologies Llc Storage system and method for marginal write-abort detection using a memory parameter change
KR102469100B1 (ko) * 2018-05-04 2022-11-23 에스케이하이닉스 주식회사 전자 장치, 이를 위한 전원 공급 장치 및 그 제어 방법
US10838629B2 (en) * 2018-09-24 2020-11-17 Western Digital Technologies, Inc. Solid state device with fast boot after ungraceful shutdown
US11106372B2 (en) * 2019-12-27 2021-08-31 Micron Technology, Inc. Asynchronous power loss handling approach for a memory sub-system
US11269778B1 (en) * 2020-11-17 2022-03-08 Micron Technology, Inc. Mapping supporting non-sequential writes at sequentially-written memory devices

Also Published As

Publication number Publication date
KR20220142192A (ko) 2022-10-21
US20220334760A1 (en) 2022-10-20

Similar Documents

Publication Publication Date Title
US11481272B2 (en) Memory controller and method of operating the same
KR20220036468A (ko) 저장 장치 및 그 동작 방법
CN112988049A (zh) 存储装置及其操作方法
CN114443507A (zh) 存储器系统及其操作方法
KR20210090439A (ko) 메모리 컨트롤러 및 그 동작 방법
CN114327251A (zh) 存储装置及其操作方法
US10679703B2 (en) Storage device and data retention method thereof
KR20210076497A (ko) 스토리지 장치 및 그 동작 방법
CN113806240A (zh) 存储装置及其操作方法
US11521684B2 (en) Memory device and method of operating the same
CN113126895B (zh) 存储装置及其操作方法
CN116246666A (zh) 存储器控制器以及操作该存储器控制器的方法
CN115495390A (zh) 计算系统及其操作方法
CN115469798A (zh) 存储装置及操作存储装置的方法
KR102626058B1 (ko) 메모리 컨트롤러 및 그 동작 방법
CN113555054A (zh) 存储装置及其操作方法
CN114300021A (zh) 存储装置及其操作方法
CN113971975A (zh) 存储器装置及其操作方法
KR20220052161A (ko) 메모리 장치 및 그 동작 방법
CN112783435A (zh) 存储设备和操作存储设备的方法
US20220334760A1 (en) Storage device and method of operating the same
US20240020023A1 (en) Storage device and method of operating the same
US11482291B2 (en) Memory device and method of operating the same
US20240118813A1 (en) Semiconductor memory device and operating method of the semiconductor memory device
US20210132803A1 (en) Storage device and method of operating the same

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20221018