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

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

Info

Publication number
CN116048234A
CN116048234A CN202211104805.1A CN202211104805A CN116048234A CN 116048234 A CN116048234 A CN 116048234A CN 202211104805 A CN202211104805 A CN 202211104805A CN 116048234 A CN116048234 A CN 116048234A
Authority
CN
China
Prior art keywords
memory
buffer
volatile memory
storage device
power
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
Application number
CN202211104805.1A
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN116048234A publication Critical patent/CN116048234A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/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
    • 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
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2015Redundant power supplies
    • 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/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation 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/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/0647Migration 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/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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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
    • 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)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

提供了一种存储装置及操作其的方法。存储装置包括非易失性存储器件和存储控制器。存储控制器包括缓冲存储器、第一易失性存储器、第二易失性存储器、处理器和缓冲区上下文备份电路。缓冲存储器暂时存储读取数据和写入数据。第一易失性存储器和第二易失性存储器被包括在不同的电源域中。处理器生成缓冲区分配信息,将缓冲区分配信息存储在第一易失性存储器中,并且基于缓冲区分配信息来控制对缓冲存储器的访问。缓冲区上下文备份电路在进入掉电模式时执行上下文备份操作,以将缓冲区分配信息从第一易失性存储器备份到第二易失性存储器,而在退出掉电模式时执行上下文恢复操作,以将缓冲区分配信息从第二易失性存储器恢复到第一易失性存储器。

Description

存储装置及操作其的方法
交叉引用
本申请要求于2021年10月28日在韩国知识产权局(KIPO)提交的韩国专利申请No.10-2021-0145416的优先权,该韩国专利申请的公开内容通过引用整体地并入本文。
技术领域
本公开总体上涉及半导体集成电路,并且更具体地涉及一种用于电源模式的高效转换的存储装置和操作所述存储装置的方法。
背景技术
可以在存储装置中例如在通用闪存存储(UFS)装置、固态硬盘(SSD)装置等中使用一个或更多个半导体存储器件。与硬盘驱动器(HDD)相比,这些类型的存储装置可以具有各种设计和/或性能差异。例如,此类数据存储装置不需要具有任何移动机械部件,并且可以具有较高的数据访问速度、提高的稳定性、提高的耐用性和/或降低的功耗。诸如膝上型计算机、汽车、飞机、无人机等的各种系统已采用了此类存储装置。可以应用管理存储装置的电源模式的各种方案来降低存储装置的功耗。
发明内容
本公开的一些实施例可以提供一种存储装置和一种操作存储装置的方法,从而能够高效地实现所述存储装置的掉电(power down)模式。
根据实施例,一种存储装置包括非易失性存储器件以及被配置为控制所述非易失性存储器件的操作的存储控制器。所述存储控制器包括缓冲存储器、第一易失性存储器、第二易失性存储器、处理器和缓冲区上下文备份电路。所述缓冲存储器暂时存储从所述非易失性存储器件读取的读取数据和将在所述非易失性存储器件中写入的写入数据。所述第一易失性存储器和所述第二易失性存储器被包括在不同电源域中。所述处理器生成关于所述缓冲存储器的存储区域和存储在所述存储区域中的数据的缓冲区分配信息,将所述缓冲区分配信息存储在所述第一易失性存储器中,并且基于所述缓冲区分配信息来控制对所述缓冲存储器的访问。所述缓冲区上下文备份电路在所述存储装置进入掉电模式时执行上下文备份操作,以从所述第一易失性存储器读取所述缓冲区分配信息并且将备份信息存储在所述第二易失性存储器中,而当所述存储装置退出所述掉电模式时执行上下文恢复操作,以从所述第二易失性存储器读取所述备份信息并且将所述缓冲区分配信息存储在所述第一易失性存储器中。
根据实施例,一种存储装置包括非易失性存储器件以及被配置为控制所述非易失性存储器件的操作的存储控制器。所述存储控制器包括:缓冲存储器,所述缓冲存储器被配置为暂时存储从所述非易失性存储器件读取的读取数据和将在所述非易失性存储器件中写入的数据;第一易失性存储器,所述第一易失性存储器被包括在断电(power off)域中,在掉电模式期间向所述断电域的电力供应被阻断;第二易失性存储器,所述第二易失性存储器被包括在通电(power on)域中,在所述掉电模式期间向所述通电域供应电力;处理器,所述处理器被配置为生成关于所述缓冲存储器的存储区域和存储在所述存储区域中的数据的缓冲区分配信息,将所述缓冲区分配信息存储在所述第一易失性存储器中,并且基于所述缓冲区分配信息来控制对所述缓冲存储器的访问;以及缓冲区上下文备份电路,所述缓冲区上下文备份电路被配置为:当所述存储装置进入所述掉电模式时执行上下文备份操作,以从所述第一易失性存储器读取所述缓冲区分配信息,压缩所述缓冲区分配信息并且将备份信息存储在所述第二易失性存储器中,而当所述存储装置退出所述掉电模式时执行上下文恢复操作,以从所述第二易失性存储器读取所述备份信息,解压缩所述备份信息并且将所述缓冲区分配信息存储在所述第一易失性存储器中。
根据实施例,一种操作包括缓冲存储器、第一易失性存储器和第二易失性存储器的存储装置的方法,包括:生成关于所述缓冲存储器的存储区域和存储在所述存储区域中的数据的缓冲区分配信息;将所述缓冲区分配信息存储在所述第一易失性存储器中;基于所述缓冲区分配信息来控制对所述缓冲存储器的访问;在所述存储装置进入掉电模式时执行上下文备份操作,以从所述第一易失性存储器读取所述缓冲区分配信息并且将备份信息存储在所述第二易失性存储器中;以及当所述存储装置退出所述掉电模式时执行上下文恢复操作,以从所述第二易失性存储器读取所述备份信息并且将所述缓冲区分配信息存储在所述第一易失性存储器中。
所述存储装置和所述方法的一些实施例可以通过省略对退出所述掉电模式时需要的所述缓冲区分配信息的重构过程,来减少掉电退出时间并且增强所述存储装置的性能。
所述存储装置和所述方法的一些实施例可以通过压缩所述缓冲区分配信息以在所述掉电模式期间将所述压缩信息备份在所述第二易失性存储器中,来增强所述存储装置的性能同时降低所述第二易失性存储器的大小和所述通电域的静态功耗。
附图说明
根据结合附图进行的以下详细描述,将更清楚地理解本公开的实施例。
图1是图示了根据实施例的包括存储装置的系统的框图;
图2是图示了根据实施例的操作存储装置的方法的流程图;
图3是图示了根据实施例的存储装置中包括的存储控制器的实施例的框图;
图4A和图4B是图示了根据实施例的存储装置中包括的易失性存储器中所存储的信息的实施例的框图;
图5是图示了根据实施例的操作存储装置的方法的流程图;
图6是图示了根据实施例的操作存储装置的方法的流程图;
图7是图示了根据实施例的操作存储装置的方法的流程图;
图8是图示了根据实施例的存储装置的电源域的框图;
图9是图示了根据实施例的进入存储装置的掉电模式的过程的框图;
图10是图示了根据实施例的进入存储装置的掉电模式的过程的定时图;
图11是图示了根据实施例的退出存储装置的掉电模式的过程的框图;
图12是图示了根据实施例的退出存储装置的掉电模式的过程的定时图;
图13是图示了根据实施例的包括存储装置的系统的接口电路的实施例的框图;
图14是图示了根据实施例的包括存储装置的系统的接口协议的层次结构的框图;
图15是图示了根据实施例的存储装置的混合图;
图16是图示了根据实施例的存储装置的操作的流程图;
图17是图示了根据实施例的存储装置中包括的非易失性存储器件的框图;
图18是图示了图17的非易失性存储器件中包括的存储单元阵列的框图;以及
图19是图示了图18的存储单元阵列中包括的存储块的等效电路的电路图。
具体实施方式
将在下文中参考示出了一些实施例的附图通过示例更充分地描述本公开的各种实施例。在附图中,相似的附图标记可以自始至终是指相似的元件,并且可以省略基本上冗余的描述。
图1图示了根据实施例的包括存储装置的系统,并且图2图示了根据实施例的操作存储装置的方法。
参考图1,系统10可以包括主机装置100和存储装置200。存储装置200可以是通用闪存(UFS)装置。然而,实施例不限于此,并且可以将存储装置200实现为各种类型的装置,诸如固态硬盘(SSD)、嵌入式多媒体卡(eMMC)、紧凑闪存(CF)卡、安全数字(SD)卡、微型安全数字(Micro-SD)卡、迷你安全数字(Mini-SD)卡、极限数字(xD)卡、记忆棒等。
存储装置200可以经由各种接口与主机装置100进行通信。在一些实施例中,主机装置100和存储装置200可以基于由联合电子装置工程委员会(JEDEC)指定的USF接口彼此通信。主机装置100和存储装置200可以交换具有UFS协议信息单元(UPIU)的格式的数据包(packet),所述数据包包括由UFS接口定义的各种信息,但是实施例不限于此。在一些实施例中,对于存储装置200与主机装置100之间的通信,可以使用诸如以下各种接口:高级技术附件(ATA)接口、串行ATA(SATA)接口、外部SATA(e-SATA)接口、小型计算机系统接口(SCSI)、串行连接SCSI(SAS)接口、外围组件互连(PCI)接口、快速PCI(PCI-E)接口、IEEE1394接口、通用串行总线(USB)接口、安全数字(SD)卡接口、多媒体卡(MMC)接口、嵌入式多媒体卡(eMMC)接口和/或紧凑闪存(CF)卡接口。
主机装置100可以请求存储装置200的数据处理操作,诸如数据读取操作或数据写入操作。在一些实施例中,主机装置100可以是中央处理单元(CPU)、处理器、微处理器、应用处理器(AP)等。根据实施例,可以将主机装置100实现为片上系统(SoC)。
主机装置100中的接口电路(I/F)110可以包括诸如发送器、接收器等的各种物理组件以与存储装置200进行通信。
存储装置200可以包括具有多个非易失性存储单元的非易失性存储器(NVM)220。在实施例中,非易失性存储器220可以包括多个闪速存储单元。例如,闪速存储单元可以是如可以在下面参考图17至图19描述的NAND闪速存储单元。然而,实施例不限于此,并且存储单元可以是诸如电阻式随机存取存储(ReRAM)单元的电阻式存储单元、相变RAM(PRAM)单元或磁性RAM(MRAM)单元。
存储装置200可以进一步包括用于控制非易失性存储器220的存储器操作(诸如,数据写入或读取操作)的存储控制器300。存储装置200可以进一步包括用于在数据写入和读取操作中暂时存储数据的缓冲存储器BUFF 230。例如,可以将缓冲存储器230实现为诸如动态RAM(DRAM)或静态RAM(SRAM)的易失性存储器。缓冲存储器230可以包括:用于暂时存储要在非易失性存储器件220中写入的写入数据的写入数据缓冲器,以及用于暂时存储从非易失性存储器件220读取的读取数据的读取数据缓冲器。可选地,缓冲存储器230可以被包括在存储控制器300中。
存储装置200中的接口电路210可以包括诸如发送器、接收器等的各种物理组件以与主机装置100进行通信。存储控制器300可以控制和管理存储装置200的整体操作。例如,存储控制器300可以处理通过接口电路210与主机装置100交换的信号或数据。在一些实施例中,接口电路210可以被包括在存储控制器300中。
存储控制器300可以经由一个或更多个通道控制非易失性存储器220的存储器操作。例如,存储控制器300可以经由M个通道CH1至CHM连接到非易失性存储器220,并且在非易失性存储器220中写入数据或者从非易失性存储器220读取数据。例如,存储控制器300可以并行地控制连接到不同通道的非易失性存储器220。
在一些实施例中,非易失性存储器220可以包括多个存储器芯片。非易失性存储器220可以包括与M个通道CH1至CHM中的每一个通道相对应的一个或更多个存储器芯片。基于来自主机装置100的命令或请求,存储控制器300可以针对M个通道CH1至CHM对命令进行排队并且基于命令经由M个通道CH1至CHM向非易失性存储器220发送数据或者从非易失性存储器220接收数据。
存储控制器300可以包括处理器CPU、第一易失性存储器VM1、第二易失性存储器VM2和缓冲区上下文备份电路BCB。第一易失性存储器VM1可以如图1所示的那样被包括在处理器CPU中,或者第一易失性存储器VM1可以设置在处理器CPU外部。图1仅图示了用于描述实施例的若干可能的组件配置中的一种,并且可以在下面参考图3描述存储控制器300的进一步详细配置。
根据实施例,第一易失性存储器VM1和/或第二易失性存储器VM2可以用动态RAM(DRAM)或静态RAM(SRAM)来实现。特别地,第二易失性存储器VM2可以用不需要执行存储数据的动态刷新的SRAM来实现。
第一易失性存储器VM1和第二易失性存储器VM2可以被包括在不同电源域中。在一些实施例中,缓冲存储器230、第一易失性存储器VM1和处理器CPU可以被包括在断电域中,使得在掉电模式期间向断电域的电力供应被阻断。相比之下,第二易失性存储器VM2可以被包括在通电域中,使得在掉电模式期间电力被供应到通电域。另外,非易失性存储器220可以被包括在通电域中,而不限于此。
参考图1和图2,处理器CPU可以生成关于缓冲存储器230的存储区域和存储在所述存储区域中的数据的缓冲区分配信息(S100)。处理器CPU可以将缓冲区分配信息存储在第一易失性存储器VM1中(S200),并且基于缓冲区分配信息来控制对缓冲存储器230的访问(S300)。
当存储装置进入掉电模式时,缓冲区上下文备份电路BCB可以执行上下文备份操作以从第一易失性存储器VM1读取缓冲区分配信息,并且将备份信息存储在第二易失性存储器VM2中(S400)。另外,当存储装置退出掉电模式时,缓冲区上下文备份电路BCB可以执行上下文恢复操作,以从第二易失性存储器VM2读取备份信息并且将缓冲区分配信息存储在第一易失性存储器VM1中(S500)。
因此,根据实施例的存储装置200和方法可以通过省略对退出掉电模式时需要的缓冲区分配信息的重构过程来减少掉电退出时间并且增强存储装置200的性能。另外,根据实施例的存储装置200和方法可以通过在掉电模式期间对缓冲区分配信息进行压缩以将压缩信息备份在第二易失性存储器中,来增强存储装置200的性能以及降低第二易失性存储器VM2的大小和通电域的静态功耗。
图3图示了根据实施例的包括在存储装置中的存储控制器的实施例。存储控制器300可以是包括在诸如SSD或存储卡的存储装置中的元件,并且可以经由多个通道连接到非易失性存储器件NVM以控制存储器操作。
参考图3,存储控制器300可以包括诸如中央处理单元(CPU)的处理器310、缓冲区上下文备份电路BCB 320、缓冲存储器BUFF 330、命令(CMD)获取电路340、预测和监测块350、直接存储器存取(DMA)管理器360、主机接口HIF 370、存储器接口MIF 380和系统总线390。尽管在图3中图示了单个处理器310,但是存储控制器300可以包括多个处理器。第一易失性存储器VM1可以存储各种类型的信息,诸如将在下面参考图4A和图4B描述的缓冲区分配信息BAI和状态信息。
存储控制器300可以经由主机接口370与主机装置进行通信。例如,命令获取电路340可以从主机装置获取命令。另外,存储控制器300可以经由存储器接口380与非易失性存储器件NVM进行通信。例如,可以经由存储器接口380在存储控制器300与非易失性存储器件NVM之间交换写入数据和读取数据。来自主机装置的写入数据可以被暂时存储在缓冲存储器330中,然后提供给非易失性存储器件NVM,而从非易失性存储器件NVM读取的读取数据可以被暂时存储在缓冲存储器330中,然后提供给主机装置。
预测和监测块350可以执行与所获取的命令有关的预测和监测操作。例如,预测和监测块350可以预测连接到非易失性存储器件NVM的多个通道当中的要映射到所获取的命令的通道。映射到命令的通道可以指连接到与从包括在命令中的逻辑地址转换的物理地址相对应的非易失性存储器件的通道。
另外,预测和监测块350可以通过检查存储在第一易失性存储器VM1中的状态信息来监测通道的状态。例如,当命令被获取时,可以读取与指示映射到命令的通道的通道信息相对应的状态信息,并且可以存储所获取的命令以及与其相对应的通道信息和状态信息以可由处理器310访问。例如,可以将所获取的命令以可由处理器310分析的描述符(例如,命令描述符CMD DESC)的形式存储在第一易失性存储器VM1中。与所获取的命令相对应的通道信息和状态信息可以被包括在命令描述符中并且与命令描述符一起被存储。
可以在第一易失性存储器VM1中进一步存储包括如下信息的DMA描述符(DMADESC):所述消息有关于缓冲存储器330中的多个存储空间当中的当前可分配存储空间。例如,DMA描述符可以包括关于缓冲存储器330的有效可分配存储空间的地址的信息。可以参考DMA描述符为命令分配缓冲存储器330。
尽管在图3中预测和监测块350被图示为单个功能块,但是实施例不限于此,并且可以分开地提供用于执行预测的电路和用于执行监测的电路。可以将图3中的预测和监测块350实现为包括例如电路的硬件。或者,预测和监测块350可以被实现为包括多个程序并且被存储在存储控制器300中(例如,在第一易失性存储器VM1中)的软件。否则,可以将预测和监测块350实现为硬件和软件的组合。尽管在图3中缓冲存储器330被包括在存储控制器300中,但是缓冲存储器330也可以如在上面参考图1所描述的那样被设置在存储控制器300外部。
DMA管理器360可以控制有关于写入数据和读取数据的直接存储器存取操作。例如,DMA管理器360可以控制如下操作:将来自主机装置的写入数据存储在缓冲存储器330中,以及从缓冲存储器330读取写入数据以将其提供给非易失性存储器件NVM。另外,DMA管理器360可以控制如下操作:将来自非易失性存储器件NVM的读取数据存储在缓冲存储器330中,以及读取存储在缓冲存储器330中的读取数据以将其提供给主机装置。
现在详细地描述图3所示的存储控制器300的操作。可以从主机装置获取多个命令,并且预测和监测块350可以预测映射到所获取的命令的通道。对于预测操作,可以执行通道条带化以将命令均匀地指配给通道。可以使用各种方案来执行通道条带化操作。例如,可以基于命令获取次序顺序地映射多个通道,或者可以使用包括在命令中的逻辑地址通过计算来将通道映射到每个命令。
假定存储控制器300顺序地获取第一命令至第N命令,并且与所获取的第一命令至第N命令相对应的通道信息和状态信息被存储在第一易失性存储器VM1中。
为了处理第一命令至第N命令,处理器310可以通过使用存储在第一易失性存储器VM1中的各种类型的信息来控制缓冲区分配。例如,可以检查与最早获取的第一命令相对应的状态信息。当基于每个通道的工作负载将状态信息设置为第一值或第二值时,可以通过检查状态信息来确定为第一命令分配缓冲存储器330是否是适当的。
如果映射到第一命令的通道具有大工作负载并且因此通道的状态信息具有第一值,则可以确定为第一命令分配缓冲存储器330是不适当的。否则,如果映射到第一命令的通道具有小工作负载并且因此通道的状态信息具有第二值,则可以确定为第一命令分配缓冲存储器330是适当的。
与上述第一命令类似,可以检查映射到第二命令至第N命令中的每一个命令的通道的状态信息。基于检查的结果,可以确定与具有第一值的状态信息相对应的命令和与具有第二值的状态信息相对应的命令。
处理器310可以基于检查状态信息的结果来选择为其分配缓冲存储器330的命令。例如,如果与第一命令相对应的状态信息具有第一值,则可以推迟为第一命令分配缓冲存储器330。否则,如果与第二命令相对应的状态信息具有第二值,则与第一命令相比,可以为第二命令优先分配缓冲存储器330。根据实施例,可以为第一命令至第N命令中的与具有第二值的状态信息相对应的一个或更多个命令优先分配缓冲存储器330,然后为与具有第一值的状态信息相对应的其他命令分配缓冲存储器330。
也就是说,处理器310为具有早处理定时或早处理完成定时的命令优先分配缓冲存储器330,而不管命令获取次序如何。因此,可以减少为其维持缓冲存储器330的分配时长,因此可以改善缓冲存储器330的可用性。当缓冲存储器330的可用性得以改善时,可以减小缓冲存储器330的大小。
如图3所示,第一易失性存储器VM1可以被包括在处理器中,或者第一易失性存储器VM1可以是不通过存储装置的系统总线390而直接连接到处理器310的紧耦合存储器(tightly coupled memory)。第二易失性存储器VM2可以不通过系统总线390而直接连接到缓冲区上下文备份电路320。
如上所述,当存储装置进入掉电模式时,缓冲区上下文备份电路320可以执行上下文备份操作,以从第一易失性存储器VM1读取缓冲区分配信息并且将备份信息存储在第二易失性存储器VM2中。另外,当存储装置退出掉电模式时,缓冲区上下文备份电路320可以执行上下文恢复操作,以从第二易失性存储器VM2读取备份信息并且将缓冲区分配信息存储在第一易失性存储器VM1中。
图4A和图4B图示了根据实施例的存储装置中包括的易失性存储器中存储的信息的实施例。图4A图示了缓冲区分配信息BAI的实施例并且图4B图示了状态信息STI的实施例。
参考图3和图4A,当所获取的命令的命令描述符被存储在第一易失性存储器VM中时,还可以基于上述预测和监测操作将与命令相对应的通道信息和状态信息存储在第一易失性存储器VM中。例如,假定存储控制器300经由十二个通道连接到非易失性存储器件NVM并且从主机装置获取或接收到N个命令CMD1至CMDN,则N个命令CMD1至CMDN的命令描述符以及与N个命令CMD1至CMDN相对应的通道信息和状态信息被存储在第一易失性存储器VM1中。根据前述实施例,与每个通道相对应的状态信息可以具有第一值I(无效)或第二值V(有效)。图4A示出了与映射到第一命令CMD1的第三通道CH3相对应的状态信息具有第一值I(无效)并且与映射到第二命令CMD2的第一通道CH1相对应的状态信息具有第二值V(有效)的示例。
另外,DMA描述符包括关于将在其中暂时存储写入数据或读取数据的缓冲存储器330的存储空间的信息,其可以被存储在第一易失性存储器VM1中。例如,缓冲存储器330可以包括n个存储空间(其中n是等于或大于2的整数),并且DMA描述符可以包括每个存储空间的地址信息或指示每个存储空间是否可有效分配给命令的信息。
参考图4B,可以将每通道的状态信息STI以表的形式存储在第一易失性存储器VM1中。例如,可以存储通过确定十二个通道CH1至CH12中的每一个通道的工作负载而生成的状态信息STI,并且可以存储第一值I(无效)或第二值V(有效)以对应于每个通道。图4B所示的状态信息STI可以由根据前述实施例的预测和监测块350读取或监测。
可以使用各种方案来生成状态信息。例如,存储器接口380可以包括用于对映射到通道CH1至CH12的命令进行排队的命令队列,以及用于调度存储在命令队列中的命令的执行的调度器。调度器可以基于存储在与通道CH1至CH12相对应的命令队列中的命令来确定每通道的工作负载,并且基于确定的结果来生成每通道的状态信息并且将其存储在第一易失性存储器中。例如,调度器可以基于未执行命令的数目、命令的类型、以及指示是否执行后台操作的信息中的至少一种来确定每通道的工作负载。
尽管在以上描述中由调度器使用硬件来确定工作负载,但是实施例不限于此。例如,可以使用软件或者使用硬件和软件的组合来执行确定每通道的工作负载以及生成状态信息的操作。
因此,存储控制器300可以通过多个通道连接到非易失性存储器件NVM,并且存储控制器300可以基于多个通道的相应工作负载来生成每通道的状态信息STI并将状态信息STI存储在第一易失性存储器VM1中。
图5、图6和图7图示了根据实施例的操作存储装置的方法。
参考图5,存储装置可以从主机获取或接收一个或更多个命令(S11)。可以将所获取的命令以可由处理器分析的命令描述符的形式存储在存储器(例如,第一易失性存储器VM1)中。
可以针对所获取的命令预测通道,并且可以基于预测的结果将通道映射到命令。可以监测所预测的通道的状态(S12)。例如,根据前述实施例,可以通过访问用于存储多个通道的状态信息的存储器来监测通道的状态。根据实施例,可以将指示为映射到每个通道的命令分配缓冲存储器是否适当的信息存储为状态信息。
基于预测和监测的结果,可以存储包括与一个或更多个获取到的命令相对应的通道信息和状态信息的缓冲区分配信息(S13),并且命令描述符、通道信息和状态信息可以由处理器分析。可以在处理器的控制下基于状态信息来选择为其分配缓冲存储器的命令(S14)。例如,不需要基于命令获取次序来为命令分配缓冲存储器,而是可以基于所存储的状态信息来为命令任意地分配缓冲存储器。可以处理为其分配缓冲存储器的命令,并且可以在数据写入或读取操作完成之后对缓冲存储器释放分配(S15)。
图6示出了生成并存储状态信息的示例。
参考图6,存储装置可以包括:用于存储映射到多个通道的命令的命令队列,以及用于调度对存储在命令队列中的命令进行处理的操作的调度器。命令队列可以单独对应于通道,因此可以按通道执行命令排队(S21)。
调度器可以确定通道的工作负载。例如,调度器可以确定每通道的未处理命令的数目(或命令队列中剩下的命令的数目)(S22)。根据实施例,调度器可以通过检查存储在与每个通道相对应的命令队列中的命令来确定每通道的工作负载。例如,调度器可以将命令的数目与特定阈值进行比较以确定命令的数目是否大于阈值(S23)。
基于比较的结果,可以生成与每一个通道相对应的状态信息,并且可以将所生成的状态信息存储在第一易失性存储器VM1中。例如,如果映射到通道的命令的数目大于阈值,则可以将通道的状态信息设置为第一值(S24)。否则,如果映射到通道的命令的数目不大于阈值,则可以将通道的状态信息设置为第二值(S25)。
可以按通道执行基于工作负载生成状态信息的上述操作,并且可以将基于比较的结果而具有第一值或第二值的状态信息存储在存储器中(S26)。
图7示出了生成并存储状态信息的另一示例。
参考图7,可以确定连接到多个通道的非易失性存储器的操作状态(S31)。例如,包括在存储装置中的调度器可以调度连接到通道的非易失性存储器的各种操作。例如,调度器可以调度非易失性存储器的后台操作。后台操作可以包括各种类型的操作。例如,后台操作可以包括坏块管理、垃圾收集、数据回收和数据替换。
例如,一个或更多个非易失性存储器可以连接到第一通道,并且可以确定第一通道的至少一个非易失性存储器是否执行后台操作(S32)。例如,可以通过确定后台操作当前被执行还是被调度为要被执行来执行确定操作。或者,可以通过检查存储在与每个通道相对应的命令队列中的命令(例如,后台操作命令)来执行确定操作。
在确定连接到第一通道的至少一个非易失性存储器正在执行后台操作时,可以将与第一通道相对应的状态信息设置为第一值(S33)。否则,在确定非易失性存储器未在执行后台操作时,可以将与第一通道相对应的状态信息设置为第二值(S34)。可以按通道执行基于后台操作是否被执行来生成状态信息的上述操作,并且可以将具有基于确定结果而设置的值的状态信息存储在第一易失性存储器VM1中(S35)。
图6和图7所示的操作方法示出了与状态信息的生成相关的实施例,并且可以不同地改变实施例。例如,可以基于每通道排队的命令的类型来确定工作负载。例如,可以以不同的速度执行非易失性存储器的写入操作、读取操作和擦除操作,并且可以基于每通道排队的命令的类型来设置状态信息。
或者,关于后台操作,可以基于该后台操作是否被执行或者基于该后台操作的类型(例如,垃圾收集或数据回收)来设置状态信息。
图8图示了根据实施例的存储装置的电源域。
参考图8,存储装置的电源域可以包括通电域和断电域。断电域可以包括处理器CPU、第一易失性存储器VM1、缓冲存储器BUFF、缓冲区上下文备份电路BCB等。通电域可以包括第二易失性存储器VM2。如图8所示,非易失性存储器件NVM可以被包括在通电域中。在另一个实施例中,非易失性存储器件NVM可以被包括在断电域中。
存储装置可以包括向断电域供应第一电力PW1并且向通电域供应第二电力PW2的电源管理单元240。电源管理单元240可以依据存储装置的电源模式而分别控制第一电力PW1和第二电力PW2。电源管理单元240可以在掉电模式期间阻断被供应给包括缓冲存储器、第一易失性存储器、处理器和缓冲区上下文备份电路的断电域的第一电力PW1,并且在掉电模式期间保持向至少包括第二易失性存储器的通电域供应的第二电力PW2。
图9和图10图示了根据实施例的进入存储装置的掉电模式的过程。图11和图12图示了根据实施例的退出存储装置的掉电模式的过程。
参考图9和图11,缓冲区上下文备份电路320可以包括模式检测器MDET、压缩器COMP和解压缩器DECOMP。在一些实施例中,缓冲区上下文备份电路320可以进一步包括纠错(ECC)等编码器ENC和ECC等解码器DEC。
模式检测器MDET可以检测进入掉电模式的时机和退出掉电模式的时机,并且基于检测结果来控制上下文备份操作IBO和上下文恢复操作IRO。在一些实施例中,如将在下面参考图15描述的,模式检测器MDET可以从电源管理单元240接收内部模式信号MD。模式检测器MDET可以基于内部模式信号MD来确定开始上下文备份操作IBO的时机和开始上下文恢复操作IRO的时机。
存储装置进入掉电模式时的数据流由图9中带箭头的虚线表示,而存储装置退出掉电模式时的数据流由图11中带箭头的虚线表示。
参考图9,当存储装置进入掉电模式时,缓冲区上下文备份电路320可以执行上下文备份操作IBO,使得缓冲区上下文备份电路320从第一易失性存储器VM1读取缓冲区分配信息BAI,以将基于或包括BAI的备份信息BUI存储在第二易失性存储器VM2中。在一些实施例中,缓冲区上下文备份电路320除了可以从第一易失性存储器VM1读取缓冲区分配信息BAI之外,还可以从第一易失性存储器VM1读取状态信息STI,以将基于或包括缓冲区分配信息BAI和状态信息STI两者的备份信息BUI存储在第二易失性存储器VM2中。
另外,当存储装置进入掉电模式时,DMA管理器360可以执行数据备份操作DBO,使得DAM管理器360读取存储在缓冲存储器330中的数据,以将所读取的数据作为备份数据BUDT存储在非易失性存储器件220中。这里,存储控制器可以将备份数据BUDT存储在非易失性存储器件的单阶单元(single level cell,SLC)区域中,使得SLC区域中的每个存储单元存储一个位。相比之下,通过正常写入操作的数据可以被存储在非易失性存储器件220的多阶单元(multi-level cell,MLC)区域中,使得MLC区域中的每个存储单元存储两个或更多个位。一般而言,MLC的编程时间和误码率大于SLC的编程时间和误码率。通过将备份数据BUDT存储在SLC区域中,可以减少用于数据备份操作DBO的时间并且可以减少不可纠正错误的发生。
参考图11,当存储装置退出掉电模式时,缓冲区上下文备份电路320可以执行上下文恢复操作IRO,使得缓冲区上下文备份电路320从第二易失性存储器VM2读取备份信息BUI,以在第一易失性存储器VM1中存储或恢复缓冲区分配信息BAI。在一些实施例中,除了缓冲区分配信息BAI之外备份信息BUI还可以包括状态信息STI。在这种情况下,缓冲区上下文备份电路320可以从备份信息BUI恢复缓冲区分配信息BAI和状态信息STI两者,并且将缓冲区分配信息BAI和状态信息STI存储在第一易失性存储器VM1中。
另外,当存储装置退出掉电模式时,DMA管理器360可以从非易失性存储器件220读取备份数据BUDT以在缓冲存储器330中存储或恢复读取数据。
在一些实施例中,当存储装置进入掉电模式时,压缩器COMP可以通过压缩缓冲区分配信息BAI来生成备份信息BUI。在这种情况下,当存储装置退出掉电模式时,解压缩器DECOMP可以通过解压缩备份信息BUI来恢复缓冲区分配信息BAI。
在一些实施例中,当存储装置进入掉电模式时,ECC编码器ENC可以通过对缓冲区分配信息BAI执行ECC编码来生成编码信息,并且压缩器COMP可以通过压缩编码信息来生成备份信息BUI。在这种情况下,解压缩器DECOMP可以通过解压缩备份信息BUI来生成解压缩信息,并且ECC解码器DEC可以通过对解压缩信息执行ECC解码来恢复缓冲区分配信息BAI。
在一些实施例中,压缩器COMP和解压缩器DECOMP可以基于游程长度编码(run-length encoding,RLE)算法来进行操作。RLE算法可以是用一个字符及其长度来替代顺序重复的字符或数据单元的压缩算法。缓冲区分配信息BAI可以包括作为主数据的分配位图,因此可以高效地应用RLE算法来压缩缓冲区分配信息BAI。实施例不限于特定压缩算法,并且可以使用各种算法来减小备份信息BUI的大小。结果,第二易失性存储器VM2的存储容量可以小于第一易失性存储器VM1的存储容量。因此,可以减小或最小化存储缓冲区分配信息BAI的第二易失性存储器VM2的大小或存储容量,并且可以在掉电模式期间减小或最小化包括第二易失性存储器VM2的通电域的功耗。
图10图示了上下文备份操作IBO和数据备份操作DBO的定时。
参考图10,可以在时间间隔T11~T14期间执行数据备份操作DBO,并且可以在时间间隔T12~T13期间执行上下文备份操作IBO。上下文备份操作IBO和数据备份操作DBO可以分别由缓冲区上下文备份电路320和DMA管理器360彼此独立地执行。一般而言,非易失性存储器的写入操作花费的时间比易失性存储器的写入操作花费的时间长。因此,如图10所示,缓冲区上下文备份电路320可以执行上下文备份操作IBO,而存储装置执行数据备份操作DBO。换句话说,可以在不增加用于进入掉电模式的时间的情况下执行根据实施例的上下文备份操作IBO。
图12图示了上下文重建操作IRBLO之后的数据恢复操作DRO与上下文恢复操作IRO之后的数据恢复操作DRO的比较定时。
参考图12,在本实施例的下时间线中,可以在时间间隔T21~T22期间执行上下文恢复操作IRO并且可以在时间间隔T22~T24期间执行数据恢复操作DRO。因此,在上下文恢复操作IRO完成之后,存储装置可以基于由缓冲区上下文备份电路320恢复到第一易失性存储器VM1的缓冲区分配信息BAI来执行数据恢复操作DRO。
根据如图12的上时间线中图示的方案,存储控制器交替地执行如下操作:在时间间隔T21~T23期间执行上下文重建操作IRBLO以再次重新生成状态信息STI和缓冲区分配信息BAI,在时间间隔T23~T25期间基于重建的缓冲区分配信息BAI来执行数据恢复操作DRO。可以基本上如参考图4A至图7所描述的那样执行上下文重建操作IRBLO,并且上下文重建操作IRBLO可能花费相对长的时间。根据实施例,可能花费相对长时间的上下文重建操作IRBLO可以被省略并且用可能花费相对短时间的上下文恢复操作IRO代替。结果,可以减少退出掉电模式的时间。
图13图示了根据实施例的包括存储装置的系统的接口电路的实施例。图13图示了在如图1所示的主机装置100的接口电路110与存储装置200的接口电路210之间交换的信号。
接口电路110可以符合作为由移动工业处理器接口(MIPI)联盟提出的接口协议的M-PHY和UNIPRO。例如,接口电路110可以根据UFS协议进行操作,并且接口电路110的物理层(M-PHY)可以包括输出端子DOUT_t和DOUT_c、输入端子DIN_t和DIN_c、以及时钟端子REF_CLK。
接口电路110的M-PHY可以通过输出端子DOUT_t和DOUT_c向接口电路210传送信号。输出端子DOUT_t和DOUT_c可以构成接口电路110的发送通道M-TX。例如,通过输出端子DOUT_t和DOUT_c传送的信号可以是一对差分信号。也就是说,通过输出端子DOUT_c传送的信号可以与通过输出端子DOUT_t传送的信号互补。
接口电路110的M-PHY可以通过输入端子DIN_t和DIN_c从接口电路210接收信号。输入端子DIN_t和DIN_c可以构成接口电路110的接收通道M-RX。例如,通过输入端子DIN_t和DIN_c接收的信号可以是一对差分信号。也就是说,通过输入端子DIN_c接收的信号可以与通过输入端子DIN_t接收的信号互补。
可以依照给定协议将输出端子DOUT_t和DOUT_c以及输入端子DIN_t和DIN_c控制为各种状态之一。例如,可以将输出端子DOUT_t和DOUT_c以及输入端子DIN_t和DIN_c中的每一个端子控制为正状态DIF-P、负状态DIF-N、接地状态DIF-Z或浮置状态DIF-Q。
当第一输出端子DOUT_t的输出信号的电平(例如,电压电平)高于第二输出端子DOUT_c的输出信号的电平时,输出端子DOUT_t和DOUT_c可以处于正状态DIF-P。当第一输出端子DOUT_t的输出信号的电平低于第二输出端子DOUT_c的输出信号的电平时,输出端子DOUT_t和DOUT_c可以处于负状态DIF-N。当第一输出端子DOUT_t和第二输出端子DOUT_c被浮置时,输出端子DOUT_t和DOUT_c可以处于浮置状态DIF-Q。当第一输出端子DOUT_t和第二输出端子DOUT_c的电平相等时,输出端子DOUT_t和DOUT_c可以处于接地状态DIF-Z。
当第一输入端子DIN_t的输入信号的电平高于第二输入端子DIN_c的输入信号的电平时,输入端子DIN_t和DIN_c可以处于正状态DIF-P。当第一输入端子DIN_t的输入信号的电平低于第二输入端子DIN_c的输入信号的电平时,输入端子DIN_t和DIN_c可以处于负状态DIF-N。当第一输入端子DIN_t和第二输入端子DIN_c与接地状态的端子连接时,输入端子DIN_t和DIN_c可以处于接地状态DIF-Z。当第一输入端子DIN_t和第二输入端子DIN_c被浮置时,输入端子DIN_t和DIN_c可以处于浮置状态DIF-Q。
接口电路210也可以根据UFS协议进行操作,并且接口电路210的物理层(M-PHY)可以包括输出端子DOUT_t和DOUT_c、输入端子DIN_t和DIN_c、以及时钟端子REF_CLK。接口电路210的输出端子DOUT_t和DOUT_c可以分别对应于接口电路110的输入端子DIN_t和DIN_c,并且接口电路210的输入端子DIN_t和DIN_c可以分别对应于接口电路110的输出端子DOUT_t和DOUT_c。
接口电路210的M-PHY可以通过输入端子DIN_t和DIN_c来接收信号并且可以通过输出端子DOUT_t和DOUT_c来传送信号。如在参考接口电路110给出的以上描述一样,可以将接口电路210的输出端子DOUT_t和DOUT_c以及输入端子DIN_t和DIN_c控制为正状态DIF-P、负状态DIF-N、接地状态DIF-Z或浮置态DIF-Q。
同时,根据MIPI M-PHY规范,接口电路210的M-PHY可以被配置为检测输入端子DIN_t和DIN_c的电平。在实施例中,M-PHY可以包括用于检测输入端子DIN_t和DIN_c的电平的静噪电路214,来作为用于检测端子的电平的方式。另外,M-PHY可以进一步包括参考时钟检测器216。静噪电路214和/或参考时钟检测器216可以检测存储装置的空闲模式和活动模式之间的变化。
当存储装置(例如,图1中的存储装置200)不执行任何操作时,存储装置可以处于第一空闲模式或第二空闲模式。当存储装置处于第一空闲模式或第二空闲模式时,接口电路110不需要向接口电路210传送参考时钟REF_CLK。当存储装置从第一空闲模式和/或第二空闲模式切换到活动模式时,接口电路210的输入端子DIN_t和DIN_c可以从浮置状态DIF-Q切换到负状态DIF-N。当存储装置从第一空闲模式和/或第二空闲模式切换到活动模式时,接口电路110可以恢复向接口电路210传送参考时钟REF_CLK。
在实施例中,当存储装置处于第一空闲模式时,静噪电路214可以处于活动状态(例如,处于被供应电源电压的状态)。因此,当存储装置从第一空闲模式切换到活动模式时,静噪电路214可以检测到接口电路210的输入端子DIN_t与DIN_c从浮置状态DIF-Q切换到负状态DIF-N。静噪电路214可以基于检测的结果来生成用于允许存储装置进入活动模式的触发信号。
在实施例中,当存储装置处于第二空闲模式时,静噪电路214可以处于非活动状态(例如,处于未被供应电源电压的状态)。替代地,参考时钟检测器216可以基于参考时钟REF_CLK的切换来生成用于允许存储装置进入活动模式的触发信号。
一般而言,检测输入端子DIN_t和DIN_c从浮置状态DIF-Q切换到负状态DIF-N的功耗可能大于用于检测时钟切换的功耗。因此,参考时钟检测器216的功耗可以小于静噪电路214的功耗。换句话说,处于第二空闲模式的存储装置的功耗可以小于处于第一空闲模式的存储装置的功耗。
图14图示了根据实施例的根据包括存储装置的系统的接口协议的层次结构。
参考图1、图13和图14,主机装置100可以包括物理硬件电路和/或可由处理器运行以便执行应用AP-h、文件系统FS-h、装置管理器DM-h、UFS应用层UAP-h、UFS传输协议层UTP-h和UFS互连层UIC-h的特有功能的程序代码。
应用AP-h可以包括在主机装置100上驱动的各种应用程序、进程等。作为上层的应用AP-h可以处理来自系统的用户的请求。应用AP-h可以处理诸如读取命令和写入命令的正常命令。应用AP-h可以提供对诸如查询请求的装置级别的控制。
文件系统FS-h可以组织并管理由应用AP-h生成的各种数据(文件)。文件系统FS-h可以生成与对存储装置200的访问请求(例如,写入请求等)相对应的逻辑地址。例如,文件系统FS-h可以包括FAT(文件分配表)、FAT32、NTFS(NT文件系统)、HFS(层次文件系统)、JSF2(日志文件系统2)、XFS、ODS-5(磁盘上结构-5)、UDF、ZFS、UFS(Unix文件系统)、ext2、ext3、ext4、ReiserFS、Reiser4、ISO 9660、Gnome VFS、BFS、WinFS等。
UFS应用层UAP-h被配置为支持主机装置100与存储装置200之间的各种命令。例如,UFS应用层UAP-h可以包括输入/输出(I/O)流管理器IOSM-h和UFS命令集UCS-h。I/O流管理器IOSM-h被配置为管理来自应用AP-h或文件系统FS-h的请求。
在实施例中,I/O流管理器IOSM-h可以被配置为识别来自应用AP-h或文件系统FS-h的输入/输出的特定值。I/O流管理器IOSM-h可以被配置为管理来自应用AP-h或文件系统FS-h的请求的优先级或者支持与来自应用AP-h或文件系统FS-h的请求相对应的各种功能。
UFS命令集UCS-h可以支持在主机装置100与存储装置200之间支持的各种命令集。例如,UFS命令集UCS-h可以包括UFS本机命令集和UFS SCSI命令集。UFS命令集UCS-h可以依据来自应用AP-h或文件系统FS-h的请求来配置要向存储装置200传送的命令。
UFS应用层UAP-h可以进一步包括处理用于控制命令队列的命令的任务管理器。
装置管理器DM-h可以管理装置级别的操作和装置级别的配置。例如,装置管理器DM-h可以管理用于设置或者检查各种信息的查询请求。
UFS传输协议层UTP-h可以为上层提供服务。UFS传输协议层UTP-h可以生成从UFS应用层UAP-h提供的命令或信息,或者可以生成以UPIU(UFS协议信息单元)数据包的形式从装置管理器DM-h提供的查询请求。
在实施例中,UFS传输协议层UTP-h和装置管理器DM-h可以通过UDM-SAP(UDM-服务接入点)彼此通信。UFS传输协议层UTP-h和UFS应用层UAP-h可以通过UTP_CMD_SAP或UTP_TM_SAP彼此通信。
UFS互连层UIC-h可以管理与存储装置200的连接,其中主机装置100的UFS互连层UIC-h和存储装置200的UFS互连层UIC-d可以通过物理层通信。UFS互连层UIC-h可以包括与存储装置200的UFS互连层UIC-d物理连接的硬件组件,诸如MIPI Unipro和MIPI M-PHY。UFS互连层UIC-h和UFS传输协议层UTP-h可以通过UIC-SAP彼此通信,并且UFS互连层UIC-h和装置管理器DM-h可以通过UIO-SAP彼此通信。
主机装置100可以进一步包括装置驱动程序。装置驱动程序可以控制包括在主机装置100中的装置和/或层。装置驱动程序可以将由文件系统FS-h生成的对存储装置200的请求(例如,写入请求等)转换为能够被存储装置200识别的命令。例如,文件系统FS-h和装置驱动程序可以被包括在操作系统(OS)中,并且应用AP-h可以被安装在OS中。装置驱动程序可以控制与存储装置200的通信同时管理硬件资源。
存储装置200可以包括物理硬件电路和/或可由处理器运行以便执行装置管理器DM-d、UFS应用层UAP-d、UFS传输协议层UTP-d和UFS互连层UIC-d的(一个或多个)特有功能的程序代码。UFS应用层UAP-d、UFS传输协议层UTP-d和UFS互连层UIC-d的配置可以被理解为与主机装置100的UFS应用层UAP-h、UFS传输协议层UTP-h和UFS互连层UIC-h的配置类似的配置并且执行对应层之间的逻辑通信,因此将省略附加描述以避免冗余。
然而,与UFS互连层UIC-h的物理层M-PHY不同,UFS互连层UIC-d的物理层M-PHY可以监测从主机装置100接收的参考时钟REF_CLK。当监测结果指示参考时钟REF_CLK的输入在存储装置200的活动模式下被挂起时,可以阻断被提供给存储装置200的至少一些组件(特别是图13中的静噪电路214)的电源电压。当监测结果指示在存储装置200的空闲模式下检测到参考时钟REF_CLK的输入时,可以恢复向存储装置200的组件供应电源电压。
同时,主机装置100和存储装置200中的每一者的以上层次结构和功能是示例并且用于帮助理解本公开。因此,本公开的实施例不限于此。
图15图示了根据实施例的存储装置。例如,图15概念地图示了接口电路如何从活动模式进入掉电模式(例如,由UFS标准指定的休眠模式或休眠状态HIBERN8),以及接口电路如何从掉电模式退出到活动模式。
存储装置200可以包括物理层(M-PHY)211、电源管理单元240和缓冲区上下文备份电路BCB 320。物理层211可以包括M-PHY接收模块212、静噪电路214和参考时钟检测器216。例如,物理层211可以被包括在图1和图13的接口电路210中。M-PHY接收模块212可以包括用于处理从主机装置接收的信号的电路(例如,模拟前端)。M-PHY接收模块212可以通过输入端子DIN_t和DIN_c与线路“LINE”连接。可以将线路“LINE”、输入端子DIN_t和DIN_c、以及M-PHY接收模块212称为通道“LANE”。
在给定时间或预定时段期间未接收到参考时钟REF_CLK的情况下,主机装置的接口电路110(参见图13)可能已经进入休眠状态HIBERN8。在这种情况下,参考时钟检测器216可以生成用于允许接口电路210进入休眠状态HIBERN8的触发信号TRR并且可以向电源管理单元240传送触发信号TRR。
在接口电路210处于休眠状态HIBERN8时,静噪电路214不需要进行操作。替代地,参考时钟检测器216可以检测是否接收到参考时钟REF_CLK。参考时钟检测器216检测参考时钟REF_CLK的边缘,并且基于检测的结果生成用于允许存储装置进入活动模式的触发信号TRR。物理层211可以向电源管理单元240传送触发信号TRR。
电源管理单元240可以基于触发信号TRR来控制供应给存储装置中的组件的电源。如参考图9描述的,电源管理单元240可以在掉电模式期间(即,在休眠状态HIBERN8下)阻断向断电域供应的第一电力PW1并且维持向通电域供应的第二电力PW2。
电源管理单元240可以基于触发信号TRR生成指示掉电模式的开始和结束的内部模式信号MD。如图9和图11中图示的缓冲区上下文备份电路320中的模式检测器MDET可以从电源管理单元240接收内部模式信号MD。模式检测器MDET可以基于内部模式信号MD来确定开始上下文备份操作IBO的时机和开始上下文恢复操作IRO的时机。
图16图示了根据实施例的存储装置的操作。
参考图16,当主机装置100不执行任何操作时,主机装置100可以向存储装置200发送掉电进入请求REQ1。在一些实施例中,存储装置200可以根据UFS标准与主机装置100进行通信,并且掉电模式可以是根据UFS标准的休眠模式(例如,休眠状态HIBERN8)。
存储装置200可以响应于掉电进入请求REQ1而执行数据备份操作DBO。另外,存储装置200可以使用缓冲区上下文备份电路320来与数据备份操作DBO并行地执行上下文备份操作IBO。如参考图10所描述的,在存储装置200执行数据备份操作DBO时缓冲区上下文备份电路320可以执行上下文备份操作IBO。
当存储装置200准备好进入掉电模式时,存储装置200可以向主机装置100发送响应RES1,并且主机装置100和存储装置200可以在时间点T31进入掉电模式。
然后,主机装置100可以在时间点T32进入活动模式,并且主机装置100可以向主机装置200发送掉电退出请求REQ2。这里,如参考图13所描述的,主机装置100可以向存储装置200传送参考时钟REF_CLK,并且参考时钟检测器216可以检测参考时钟REF_CLK。参考时钟检测器216可以基于检测结果生成触发信号TRR,电源管理单元240可以基于触发信号TRR生成内部模式信号MD,并且缓冲区上下文备份电路320可以基于内部模式信号MD开始上下文恢复操作IRO。另外,存储装置200可以参考通过上下文恢复操作IRO恢复到第一易失性存储器VM1的缓冲区分配信息BAI来执行数据恢复操作DRO。
当存储装置200准备退出掉电模式时,存储装置200可以向主机装置100发送响应RES2,并且主机装置100和存储装置200可以在时间点T33从掉电模式进入活动模式。
图17图示了根据实施例的存储装置中包括的非易失性存储器件。
参考图17,非易失性存储器件400可以包括存储单元阵列500、页缓冲电路510、数据输入/输出(I/O)电路520、地址译码器530、控制电路550和电压生成器560。存储单元阵列500可以设置在单元区域CREG中,并且页缓冲电路510、数据I/O电路520、地址译码器530、控制电路550和电压生成器560可以设置在外围区域PREG中。
存储单元阵列500可以通过串选择线SSL、字线WL和接地选择线GSL耦接到地址译码器530。另外,存储单元阵列500可以通过位线BL耦接到页缓冲电路510。存储单元阵列500可以包括耦接到字线WL和位线BL的存储单元。在一些实施例中,存储单元阵列500可以是按三维结构(例如,垂直结构)形成在衬底上的三维存储单元阵列。在这种情况下,存储单元阵列500可以包括被垂直定向成使得至少一个存储单元与另一存储单元垂直交叠的单元串(例如,NAND串)。
控制电路550可以从存储器控制器接收命令(信号)CMD和地址(信号)ADDR。因此,控制电路550可以响应于(或基于)命令信号CMD和地址信号ADDR中的至少一者,来控制非易失性存储器件400的擦除操作、编程操作和读取操作。擦除操作可以包括执行一系列擦除循环,并且编程操作可以包括执行一系列编程循环。每个编程循环可以包括编程操作和编程验证操作。每个擦除循环可以包括擦除操作和擦除验证操作。读取操作可以包括正常读取操作和数据恢复读取操作。
例如,控制电路550可以生成用于控制电压生成器560的操作的控制信号CTL,并且可以基于命令信号CMD生成用于控制页缓冲电路510的页缓冲控制信号PBC,以及基于地址信号ADDR生成行地址R_ADDR和列地址C_ADDR。控制电路550可以将行地址R_ADDR提供给地址译码器530并且将列地址C_ADDR提供给数据I/O电路520。
地址译码器530可以通过串选择线SSL、字线WL和接地选择线GSL耦接到存储单元阵列500。在编程操作或读取操作期间,地址译码器530可以基于行地址R_ADDR将字线WL之一确定或选择为选定字线,并且将除了选定字线之外的其余字线WL确定为未选字线。
在编程操作或读取操作期间,地址译码器530可以基于行地址R_ADDR将串选择线SSL之一确定为选定串选择线,并且将串选择线SSL中的除了选定串选择线之外的其余串选择线确定为未选串选择线。
电压生成器560可以基于控制信号CTL生成非易失性存储器件400的存储单元阵列500的操作所需的字线电压VWL。电压生成器560可以从存储器控制器接收电力PWR。可以通过地址译码器530将字线电压VWL施加到字线WL。
例如,在擦除操作期间,电压生成器560可以基于擦除地址来对存储块的阱和/或公共源极线施加擦除电压,并且对存储块的至少一些字线施加擦除许可电压(例如,接地电压)。在擦除验证操作期间,电压生成器560可以同时地对存储块的所有字线或顺序地(例如,一个接一个地)对字线施加擦除验证电压。
例如,在编程操作期间,电压生成器560可以对选定字线施加编程电压并且可以对未选字线施加编程通过电压。另外,在编程验证操作期间,电压生成器560可以对选定字线施加编程验证电压并且可以对未选字线施加验证通过电压。
在正常读取操作期间,电压生成器560可以对选定字线施加读取电压并且可以对未选字线施加读取通过电压。在数据恢复读取操作期间,电压生成器560可以对与选定字线相邻的字线施加读取电压并且可以对选定字线施加恢复读取电压。
页缓冲电路510可以通过位线BL耦接到存储单元阵列500。页缓冲电路510可以包括多个缓冲器。在一些实施例中,每个缓冲器可以连接到一条位线。在其他实施例中,每个缓冲器可以连接到两条或更多条位线。页缓冲电路510可以暂时存储要在选定页中编程的数据或从存储单元阵列500的选定页读出的数据。
数据I/O电路520可以通过数据线DL耦接到页缓冲电路510。在编程操作期间,数据I/O电路520可以接收从存储器控制器接收的编程数据DATA,并且基于从控制电路550接收的列地址C_ADDR将该编程数据DATA提供给页缓冲电路510。在读取期间操作时,数据I/O电路520可以基于从控制电路550接收的列地址C_ADDR将已经从存储单元阵列500读取并且存储在页缓冲电路510中的读取数据DATA提供给存储器控制器。
另外,页缓冲电路510和数据I/O电路520可以从存储单元阵列500的第一区域读取数据,并且将所读取的数据写入到存储单元阵列500的第二区域(例如,而不将数据发送到非易失性存储器件400外部的源,诸如发送到存储器控制器)。例如,页缓冲电路510和数据I/O电路520可以执行回写(copy-back)操作。
图18图示了图17的非易失性存储器件中包括的存储单元阵列,并且图19图示了图18的存储单元阵列中包括的存储块的等效电路。
参考图18,存储单元阵列500可以包括存储块BLK1至BLKz。在一些实施例中,存储块BLK1至BLKz可以由图17的地址译码器430选择。例如,地址译码器430可以在存储块BLK1至BLKz当中选择与块地址相对应的特定存储块BLK。
图19的存储块BLKi可以按三维结构(例如,垂直结构)形成在衬底上。例如,包括在存储块BLKi中的NAND串或单元串可以设置在与衬底的上表面垂直的垂直方向D3上。
参考图19,存储块BLKi可以包括耦接在位线BL1、BL2和BL3与公共源线CSL之间的NAND串NS11至NS33。NAND串NS11至NS33中的每一个NAND串可以包括串选择晶体管SST、存储单元MC1至MC8和接地选择晶体管GST。在图19中,NAND串NS11至NS33中的每一个NAND串被图示为包括八个存储单元MC1至MC8。然而,实施例不限于此。在一些实施例中,NAND串NS11至NS33中的每一个NAND串可以包括任何数目的存储单元。
每个串选择晶体管SST可以连接到对应的串选择线(例如,SSL1至SSL3之一)。存储单元MC1至MC8可以分别连接到对应的栅极线GTL1至GTL8。栅极线GTL1至GTL8可以是字线,并且栅极线GTL1至GTL8中的一些栅极线可以是虚设字线。每个接地选择晶体管GST可以连接到对应的接地选择线(例如,GSL1至GSL3之一)。每个串选择晶体管SST可以连接到对应的位线(例如,BL1、BL2和BL3之一),并且每个地选择晶体管GST可以连接到公共源极线CSL。
具有相同高度的字线(例如,栅极线GTL1)可以共同连接,并且接地选择线GSL1至GSL3和串选择线SSL1至SSL3可以分开。在图19中,存储块BLKi被图示为耦接到八条栅极线GTL1至GTL8和三条位线BL1至BL3。然而,实施例不限于此。存储单元阵列500中的每个存储块可以耦接到任何数目的字线和任何数目的位线。
如上所述,根据实施例的存储装置和方法可以通过省略对退出掉电模式时需要的缓冲区分配信息的重构过程,来减少掉电退出时间并且增强存储装置的性能。另外,根据实施例的存储装置和方法可以通过在掉电模式期间压缩缓冲区分配信息以将压缩信息备份在第二易失性存储器中,来增强存储装置的性能同时降低第二易失性存储器的大小和通电域的静态功耗。
实施例可以被应用于包括存储装置的任何电子装置和系统。例如,本发明构思可以被应用于诸如系统:存储卡、固态硬盘(SSD)、嵌入式多媒体卡(eMMC)、通用闪存(UFS)、移动电话、智能电话、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、摄像机、个人计算机(PC)、服务器计算机、工作站、膝上型计算机、数字TV、机顶盒、便携式游戏机、导航系统、可穿戴装置、物联网(IoT)装置、万物互联(IoE)装置、电子书、虚拟现实(VR)装置、增强现实(AR)装置、服务器系统、汽车驾驶系统等。
前文是对描述性实施例的说明,而不应被解释为对其进行限制。尽管已经描述了实施例,但是相关领域的普通技术人员将容易领会,在实质上不脱离如权利要求中阐述的本发明构思的情况下,许多修改在所描述的和其他实施例中是可能的。

Claims (20)

1.一种存储装置,所述存储装置包括:
非易失性存储器件;以及
存储控制器,所述存储控制器被配置为控制所述非易失性存储器件的操作,所述存储控制器包括:
缓冲存储器,所述缓冲存储器被配置为暂时存储从所述非易失性存储器件读取的读取数据和将在所述非易失性存储器件中写入的写入数据;
第一易失性存储器和第二易失性存储器,所述第一易失性存储器和所述第二易失性存储器被包括在不同的电源域中;
处理器,所述处理器被配置为生成关于所述缓冲存储器的存储区域和存储在所述存储区域中的数据的缓冲区分配信息,将所述缓冲区分配信息存储在所述第一易失性存储器中,并且基于所述缓冲区分配信息来控制对所述缓冲存储器的访问;以及
缓冲区上下文备份电路,所述缓冲区上下文备份电路被配置为:当所述存储装置进入掉电模式时执行上下文备份操作,以从所述第一易失性存储器读取所述缓冲区分配信息并且将备份信息存储在所述第二易失性存储器中,而当所述存储装置退出所述掉电模式时执行上下文恢复操作,以从所述第二易失性存储器读取所述备份信息并且将所述缓冲区分配信息存储在所述第一易失性存储器中。
2.根据权利要求1所述的存储装置,其中,所述缓冲存储器、所述第一易失性存储器和所述处理器被包括在断电域中,在所述掉电模式期间向所述断电域的电力供应被阻断,并且所述第二易失性存储器被包括在通电域中,在所述掉电模式期间向所述通电域供应电力。
3.根据权利要求1所述的存储装置,其中,所述缓冲区上下文备份电路进一步被配置为:当所述存储装置进入所述掉电模式时通过压缩所述缓冲区分配信息来生成所述备份信息,而当所述存储装置退出所述掉电模式时通过解压缩所述备份信息来恢复所述缓冲区分配信息。
4.根据权利要求1所述的存储装置,其中,所述缓冲区上下文备份电路进一步被配置为:当所述存储装置进入所述掉电模式时通过对所述缓冲区分配信息进行纠错码编码,即ECC编码,来生成编码信息,并且通过压缩所述编码信息来生成所述备份信息,而当所述存储装置退出所述掉电模式时,通过解压缩所述备份信息来生成解压缩信息,并且通过对所述解压缩信息执行ECC解码来恢复所述缓冲区分配信息。
5.根据权利要求1所述的存储装置,其中,所述第一易失性存储器被包括在所述处理器中,或者所述第一易失性存储器是不通过所述存储装置的系统总线而直接连接到所述处理器的紧耦合存储器,并且所述第二易失性存储器不通过所述系统总线直接连接到所述缓冲区上下文备份电路。
6.根据权利要求1所述的存储装置,其中:
所述第一易失性存储器是动态随机存取存储器,
所述第二易失性存储器是静态随机存取存储器,并且
所述第二易失性存储器的存储容量小于所述第一易失性存储器的存储容量。
7.根据权利要求1所述的存储装置,其中,所述存储控制器进一步被配置为:当所述存储装置进入所述掉电模式时执行数据备份操作,以从所述缓冲存储器读取数据并且将备份数据存储在所述非易失性存储器件中。
8.根据权利要求7所述的存储装置,其中,所述缓冲区上下文备份电路进一步被配置为:在所述存储控制器执行所述数据备份操作时执行所述上下文备份操作。
9.根据权利要求7所述的存储装置,其中,所述存储控制器进一步被配置为:将所述备份数据存储在所述非易失性存储器件的单阶单元区域即SLC区域中,使得所述SLC区域中的每个存储单元存储一个位。
10.根据权利要求7所述的存储装置,其中,所述存储控制器进一步被配置为:当所述存储装置退出所述掉电模式时执行数据恢复操作,以读取所述备份数据并且将所述备份数据存储在所述缓冲存储器中。
11.根据权利要求10所述的存储装置,其中,所述存储控制器进一步被配置为:在所述上下文恢复操作完成之后,基于由所述缓冲区上下文备份电路恢复到所述第一易失性存储器的所述缓冲区分配信息来执行所述数据恢复操作。
12.根据权利要求1所述的存储装置,其中,所述存储控制器还被配置为根据通用闪存标准即UFS标准,来与主机装置进行通信,并且所述掉电模式是根据所述UFS标准的休眠模式。
13.根据权利要求1所述的存储装置,其中,所述存储控制器还包括被配置为管理所述存储装置中的电力的电源管理单元,并且所述缓冲区上下文备份电路进一步被配置为基于从所述电源管理单元提供的内部模式信号来确定开始所述上下文备份操作的时机和开始所述上下文恢复操作的时机。
14.根据权利要求13所述的存储装置,其中,所述电源管理单元进一步被配置为:在所述掉电模式期间阻断对所述缓冲存储器、所述第一易失性存储器、所述处理器和所述缓冲区上下文备份电路的电力供应,并且在所述掉电模式期间向所述第二易失性存储器供应电力。
15.根据权利要求1所述的存储装置,其中,所述存储控制器通过多个通道连接到所述非易失性存储器件,并且所述存储控制器进一步被配置为:基于所述多个通道的相应工作负载来生成每通道的状态信息,并且将所述状态信息存储在所述第一易失性存储器中。
16.根据权利要求15所述的存储装置,其中,所述缓冲区上下文备份电路进一步被配置为:在所述上下文备份操作期间从所述第一易失性存储器读取所述状态信息,并且将所述状态信息作为所述备份信息的一部分存储在所述第二易失性存储器中,而在所述上下文恢复操作期间基于所述备份信息将所述状态信息存储在所述第一易失性存储器中。
17.一种存储装置,所述存储装置包括:
非易失性存储器件;以及
存储控制器,所述存储控制器被配置为控制所述非易失性存储器件的操作,所述存储控制器包括:
缓冲存储器,所述缓冲存储器被配置为暂时存储从所述非易失性存储器件读取的读取数据和将在所述非易失性存储器件中写入的写入数据;
第一易失性存储器,所述第一易失性存储器被包括在断电域中,在掉电模式期间向所述断电域的电力供应被阻断;
第二易失性存储器,所述第二易失性存储器被包括在通电域中,在所述掉电模式期间向所述通电域供应电力;
处理器,所述处理器被配置为生成关于所述缓冲存储器的存储区域和存储在所述存储区域中的数据的缓冲区分配信息,将所述缓冲区分配信息存储在所述第一易失性存储器中,并且基于所述缓冲区分配信息来控制对所述缓冲存储器的访问;以及
缓冲区上下文备份电路,所述缓冲区上下文备份电路被配置为:当所述存储装置进入所述掉电模式时执行上下文备份操作,以从所述第一易失性存储器读取所述缓冲区分配信息、压缩所述缓冲区分配信息并且将备份信息存储在所述第二易失性存储器中,而当所述存储装置退出所述掉电模式时执行上下文恢复操作,以从所述第二易失性存储器读取所述备份信息、解压缩所述备份信息并且将所述缓冲区分配信息存储在所述第一易失性存储器中。
18.根据权利要求17所述的存储装置,其中,所述第一易失性存储器被包括在所述处理器中,或者所述第一易失性存储器是不通过所述存储装置的系统总线而直接连接到所述处理器的紧耦合存储器,并且所述第二易失性存储器不通过所述系统总线直接连接到所述缓冲区上下文备份电路。
19.根据权利要求17所述的存储装置,其中,所述存储控制器还被配置为根据通用闪存存储标准即UFS标准来与主机装置进行通信,并且所述掉电模式是根据所述UFS标准的休眠模式。
20.一种操作包括缓冲存储器、第一易失性存储器和第二易失性存储器的存储装置的方法,包括:
生成关于所述缓冲存储器的存储区域和存储在所述存储区域中的数据的缓冲区分配信息;
将所述缓冲区分配信息存储在所述第一易失性存储器中;
基于所述缓冲区分配信息来控制对所述缓冲存储器的访问;
当所述存储装置进入掉电模式时执行上下文备份操作,以从所述第一易失性存储器读取所述缓冲区分配信息并且将备份信息存储在所述第二易失性存储器中;以及
当所述存储装置退出所述掉电模式时执行上下文恢复操作,以从所述第二易失性存储器读取所述备份信息并且将所述缓冲区分配信息存储在所述第一易失性存储器中。
CN202211104805.1A 2021-10-28 2022-09-09 存储装置及操作其的方法 Pending CN116048234A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210145416A KR20230060817A (ko) 2021-10-28 2021-10-28 스토리지 장치 및 스토리지 장치의 동작 방법
KR10-2021-0145416 2021-10-28

Publications (1)

Publication Number Publication Date
CN116048234A true CN116048234A (zh) 2023-05-02

Family

ID=86116960

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211104805.1A Pending CN116048234A (zh) 2021-10-28 2022-09-09 存储装置及操作其的方法

Country Status (3)

Country Link
US (1) US20230138586A1 (zh)
KR (1) KR20230060817A (zh)
CN (1) CN116048234A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11971790B2 (en) * 2020-08-25 2024-04-30 Nvidia Corporation Online fault detection in ReRAM-based AI/ML

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6862651B2 (en) * 2000-12-20 2005-03-01 Microsoft Corporation Automotive computing devices with emergency power shut down capabilities
KR20130051564A (ko) * 2011-11-10 2013-05-21 삼성전자주식회사 메모리 모듈, 이를 포함하는 보드 어셈블리, 이를 포함하는 메모리 시스템, 및 상기 메모리 시스템의 동작 방법
US9389673B2 (en) * 2011-12-22 2016-07-12 Sandisk Technologies Inc. Systems and methods of performing a data save operation
KR102450556B1 (ko) * 2015-04-17 2022-10-04 삼성전자주식회사 불휘발성 메모리 장치들을 제어할 수 있는 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
KR20180062247A (ko) * 2016-11-30 2018-06-08 삼성전자주식회사 효율적인 버퍼 할당을 수행하는 컨트롤러, 스토리지 장치 및 스토리지 장치의 동작 방법
US10289551B2 (en) * 2017-05-11 2019-05-14 Western Digital Technologies, Inc. Preserving data upon a power shutdown
KR102507302B1 (ko) * 2018-01-22 2023-03-07 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
KR102553261B1 (ko) * 2018-10-10 2023-07-07 삼성전자 주식회사 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 스토리지 장치, 및 상기 메모리 컨트롤러의 동작 방법
US11734175B2 (en) * 2019-08-22 2023-08-22 SK Hynix Inc. Storage device and method of operating the same
US11586266B1 (en) * 2021-07-28 2023-02-21 International Business Machines Corporation Persistent power enabled on-chip data processor
TW202306365A (zh) * 2021-07-29 2023-02-01 韓商愛思開海力士有限公司 用於互連協定的訊框接收的資料處理的方法以及儲存裝置

Also Published As

Publication number Publication date
US20230138586A1 (en) 2023-05-04
KR20230060817A (ko) 2023-05-08

Similar Documents

Publication Publication Date Title
CN107346290B (zh) 使用并行化日志列表重放分区逻辑到物理数据地址转换表
CN106681931B (zh) 数据储存设备及其操作方法
US9417961B2 (en) Resource allocation and deallocation for power management in devices
CN107168886B (zh) 数据存储装置及其操作方法
US10241701B2 (en) Solid state memory system with power management mechanism and method of operation thereof
US8099543B2 (en) Methods of operarting memory devices within a communication protocol standard timeout requirement
US11086772B2 (en) Memory system performing garbage collection operation and operating method of memory system
KR20200073017A (ko) 데이터 저장 장치와, 그것의 동작 방법
CN113220220B (zh) 控制器、控制器的操作方法及包括该控制器的存储装置
KR20190083148A (ko) 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템
CN112988044A (zh) 存储器系统及包括该存储器系统的数据处理系统
KR20200114052A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR102544162B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
EP4320508A1 (en) Method and apparatus to reduce nand die collisions in a solid state drive
CN115458013A (zh) 存储装置及其操作方法
US20230138586A1 (en) Storage device and method of operating the same
KR20200114086A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR20200089939A (ko) 메모리 시스템 및 그 동작 방법
EP3772682A1 (en) Method and apparatus to improve write bandwidth of a block-based multi-level cell non-volatile memory
KR20220103340A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20210144249A (ko) 저장 장치 및 이의 동작 방법
US10515693B1 (en) Data storage apparatus and operating method thereof
KR20210055448A (ko) 데이터 저장 장치 및 그 동작 방법
KR20200142698A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20200015260A (ko) 데이터 저장 장치 및 그것의 동작 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication