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

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

Info

Publication number
CN111143255B
CN111143255B CN201910926029.5A CN201910926029A CN111143255B CN 111143255 B CN111143255 B CN 111143255B CN 201910926029 A CN201910926029 A CN 201910926029A CN 111143255 B CN111143255 B CN 111143255B
Authority
CN
China
Prior art keywords
information
host
dth
memory
storage device
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.)
Active
Application number
CN201910926029.5A
Other languages
English (en)
Other versions
CN111143255A (zh
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 CN111143255A publication Critical patent/CN111143255A/zh
Application granted granted Critical
Publication of CN111143255B publication Critical patent/CN111143255B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/0721Error 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 within a central processing unit [CPU]
    • 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
    • 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/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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0653Monitoring storage devices or 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/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • 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
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明涉及一种具有提高的操作速度的存储装置。该存储装置包括存储器装置和用于控制该存储器装置的存储器控制器。该存储器控制器包括:装置到主机(DTH)信息生成器,被配置为生成待被传送到主机的DTH信息;主机存储器访问器,被配置为向主机提供从DTH信息生成器接收的DTH信息;以及中断信号生成器,被配置为基于来自主机存储器访问器的请求向主机输出通知已经将DTH信息提供给主机的中断信号。

Description

存储装置及其操作方法
相关申请的交叉引用
本申请要求于2018年11月1日提交的申请号为10-2018-0132968的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本公开总体涉及一种电子装置,更具体地,涉及一种存储装置及其操作方法。
背景技术
存储装置在诸如计算机,智能电话或者或智能平板的主机装置的控制下存储数据。存储装置可以是磁盘,例如硬盘驱动器(HDD),或用于在例如非易失性存储器的半导体存储器上存储数据的装置,诸如固态驱动器(SSD)或存储卡。
存储装置可包括用于存储数据的存储器装置和用于控制存储器装置的存储器控制器。存储器装置是易失性存储器装置或非易失性存储器装置。非易失性存储器装置可以是只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM)等中的任意一种。
发明内容
实施例提供了一种具有提高的操作速度的存储装置及其操作方法。
根据本公开的一方面,提供一种存储装置,该存储装置包括存储器装置和用于控制存储器装置的存储器控制器,其中存储器控制器包括:装置到主机(DTH)信息生成器,被配置为生成待被传送到主机的DTH信息;主机存储器访问器,被配置为向主机提供从DTH信息生成器接收的DTH信息;以及中断信号生成器,被配置为基于来自主机存储器访问器的请求向主机输出通知已经将DTH信息提供给主机的中断信号。
根据本公开的另一方面,提供一种操作存储装置的方法,该存储装置包括存储器装置和用于控制存储器装置的存储器控制器,该方法包括:生成传送到主机的装置到主机(DTH)信息;将DTH信息提供给主机的存储器中的主机存储器缓冲器区域;生成通知DTH信息已经提供给主机的中断信号;以及将所生成的中断信号输出到主机。
根据本公开的另一方面,提供一种控制存储装置的主机,该存储装置包括存储器装置和用于控制存储器装置的存储器控制器,该主机包括:主机存储器,被配置为存储存储装置的装置到主机(DTH)信息;以及中央处理单元,被配置为接收通知存储装置的DTH信息已被存储的中断信号,并且基于中断信号获取存储在主机存储器中的DTH信息,其中DTH信息包括存储装置的状态信息。
根据本公开的另一方面,提供一种操作主机的方法,该主机用于控制包括存储器装置和用于控制存储器装置的存储器控制器的存储装置,该方法包括:从存储装置接收表示存储装置的状态的装置到主机(DTH)信息;从存储装置接收中断信号,并且当中断信号是通知DTH信息已经存储在主机中的信号时,请求DTH信息。
根据本公开的另一方面,提供一种联接在主机和存储器装置之间的存储器控制器,该存储器控制器包括:装置到主机(DTH)信息生成器,被配置为向主机提供DTH信息以控制主机在其中存储DTH信息,该DTH信息包括存储器装置和存储器控制器的状态信息;以及通知组件,被配置为基于存储的DTH信息通知主机存储DTH信息以供主机执行操作。
附图说明
下面将参照附图更全面地描述各个实施例;然而,本发明的元件和特征可以不同于本公开而进行配置或布置。因此,本发明不限于本文阐述的实施例。相反,提供这些实施例是为了使本公开是彻底的和完整的,并且向本领域技术人员充分传达所公开的实施例的范围。
在附图中,为了清楚说明,可夸大尺寸。将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。在整个公开中相同的附图标记表示相同的元件。
图1是示出存储装置的框图。
图2是示出图1的存储器装置的结构的框图。
图3是示出用于将存储装置到主机(DTH)信息存储在主机存储器中的初始化操作的示图。
图4是示出待被包括在DTH信息中的存储装置的状态信息的示图。
图5是示出用于将DTH信息存储在主机存储器中的初始化操作的示图。
图6是示出用于由存储器控制器向主机提供DTH信息的方法的示图。
图7是示出用于由存储器控制器向主机提供DTH信息的方法的另一实施例的示图。
图8是示出用于由主机获取DTH信息的方法的示图。
图9是示出用于由存储装置提供DTH信息而不管来自主机的请求的方法的时序图。
图10是示出用于基于来自主机的请求由存储装置提供DTH信息的方法的时序图。
图11是示出根据本公开的实施例的主机的初始化操作的示图。
图12是示出根据本公开的实施例的存储装置的初始化操作的示图。
图13是示出根据本公开的实施例的存储装置的操作的示图。
图14是示出根据本公开的实施例的存储装置的操作的示图。
图15是示出根据本公开的实施例的主机的操作的示图。
图16是示出图1的存储器控制器的实施例的示图。
图17是示出根据本公开的实施例的应用存储装置的存储卡系统的框图。
图18是示出根据本公开的实施例的应用存储装置的固态驱动器(SSD)的框图。
图19是示出根据本公开的实施例的应用存储装置的用户系统的框图。
具体实施方式
本文提供的具体结构和功能描述是为了描述本公开的实施例。实施例可以以各种形式实施,因此本发明不应被解释为限于本文阐述的实施例。而且,在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
可以以各种方式修改本公开的实施例。因此,本公开的实施例不应被解释为限于具体细节。而是,本发明包括不脱离本公开的精神和技术范围的所有改变、等同方案或替代方案。
虽然诸如“第一”和“第二”的术语可用于识别各种组件,但是这些组件不限制于上述术语。上述术语仅用于将一个组件与另一组件区分开,否则一个组件与另一组件具有相同或相似的名称。例如,在不脱离本公开的权利范围的情况下,在一种情况中的第一组件在另一种情况中可被称为第二组件,反之亦然。
应当理解的是,当一个元件被称为“连接”或“联接”至另一元件时,该元件可直接连接或联接到另一元件,或者也可存在一个或多个中间元件。相反,当一个元件被称为“直接连接”或“直接联接”至另一元件时,不存在中间元件。诸如“在……之间”、“紧接在……之间”或“与……相邻”和“与……直接相邻”的描述组件之间的关系的其它表达可类似地解释。
本申请中使用的术语仅用于描述特定实施例,并不旨在限制本公开。除非上下文另有清楚地说明,否则本公开中的单数形式旨在包括复数形式,反之亦然。将进一步理解的是,诸如“包括”、“具有”和其它开放式过渡术语的术语旨在指示存在本说明书中公开的特征、数字、操作、动作、组件、部件或其组合,而不旨在排除可存在或可添加一个或多个其它特征、数字、操作、动作、组件、部件或其组合的可能性。
只要未被不同地定义,本文使用的包括技术或科学术语的所有术语具有本公开所属领域的技术人员通常理解的含义。具有字典中所限定的定义的术语应被理解为具有与相关技术背景一致的含义。只要本申请中没有明确定义,则不应以理想的或过于正式的方式理解术语。
在描述那些实施例时,可以省略对本公开所属领域公知的并且与本公开不直接相关的技术的描述。通过省略不必要的描述,可以更清楚地理解本发明的元件和特征。
将参照附图详细描述本公开的各个实施例,以便本领域技术人员能够容易地实现本发明。
图1是示出存储装置的框图。
参照图1,存储装置50可以包括存储器装置100和存储器控制器200。
存储装置50可在诸如移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视、平板电脑或者车载信息娱乐系统的主机300的控制下存储数据。
存储装置50可以是根据确定与主机300的通信方案的主机接口的各种类型的存储装置中的任意一种。例如,存储装置50可利用以下的各种类型的存储装置中的任意一种来实施,诸如固态驱动器(SSD)、多媒体卡(MMC)、嵌入式多媒体卡(eMMC)、缩小尺寸的多媒体卡(RS-MMC)和微型多媒体卡(微型-MMC)型的多媒体卡,安全数字(SD)、迷你安全数字(迷你-SD)和微型安全数字(微型-SD)型的安全数字(SD)卡,通用存储总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型的存储装置,外围组件互连(PCI)卡型的存储装置,高速PCI(PCI-E)卡型的存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
存储装置50可以是各种封装类型中的任意一种。例如,存储装置50可以是诸如以下的各种封装类型中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
存储器装置100可以存储数据。存储器装置100在存储器控制器200的控制下操作。存储器装置100可包括存储器单元阵列,该存储器单元阵列包括用于存储数据的多个存储器单元。存储器单元阵列可包括多个平面。每个平面可以包括多个存储块BLK1至BLKz。每个存储块可以包括多个存储器单元。一个存储块可包括多个页面。在实施例中,页面可以是用于将数据存储在存储器装置100中或读取存储在存储器装置100中的数据的单位。存储块可以是用于擦除数据的单位。在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功耗DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,通过示例,在实现为NAND闪存的存储器装置100的背景下描述配置和操作。
在实施例中,存储器装置100可以被实施为三维阵列结构。本公开不仅可以应用于其中电荷存储层配置有浮栅(FG)的闪速存储器装置而且还可以应用于其中电荷存储层配置有绝缘层的电荷撷取闪存(CTF)。
在实施例中,存储器装置100中的每个存储器单元可以被配置为用于存储一个数据位的单层单元(SLC)。在其它实施例中,存储器装置100中的每个存储器单元可以被配置为用于存储两个数据位的多层单元(MLC)、用于存储三个数据位的三层单元(TLC)或用于存储四个数据位的四层单元(QLC)。
存储器装置100被配置为从存储器控制器200接收命令和地址,并访问由存储器单元阵列中的地址选择的区域。也就是说,存储器装置100可对由地址选择的区域执行与命令相对应的操作。例如,存储器装置100可执行写入(编程)操作、读取操作和擦除操作。在编程操作中,存储器装置100可将数据编程在由地址选择的区域中。在读取操作中,存储器装置100可从由地址选择的区域中读取数据。在擦除操作中,存储器装置100可擦除存储在由地址选择的区域中的数据。
存储器装置100可以在存储器控制器200的控制下利用设定的操作电压执行编程操作或擦除操作。
存储器控制器200可以控制存储装置50的全部操作。
当向存储装置50供应电力时,存储器控制器200可执行固件(FW)。当存储器装置100是闪速存储器装置时,存储器控制器200可执行诸如闪存转换层(FTL)的FW,用于控制主机300和存储器装置100之间的通信。
在实施例中,存储器控制器200可从主机300接收数据和逻辑块地址(LBA),并且将LBA转换为表示存储器装置100中包括的存储器单元的地址的物理块地址(PBA),其中数据将被存储在该物理块地址(PBA)中。此外,存储器控制器200可以在缓冲存储器中存储建立LBA和PBA之间的映射关系的逻辑-物理地址映射信息。
存储器控制器200可以响应于来自主机300的请求,控制存储器装置100执行编程操作、读取操作、擦除操作等。在编程操作中,存储器控制器200可向存储器装置100提供编程命令、PBA和数据。在读取操作中,存储器控制器200可向存储器装置100提供读取命令和PBA。在擦除操作中,存储器控制器200可向存储器装置100提供擦除命令和PBA。
在实施例中,存储器控制器200可在没有来自主机300的任何请求的情况下自主地生成编程命令、地址和数据,并且将编程序命令、地址和数据传送至存储器装置100。例如,存储器控制器200可将命令、地址和数据提供给存储器装置100以执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,存储器控制器200可以包括装置信息储存器210。装置信息储存器210可以存储存储装置50的装置信息。装置信息可以包括待被包括在提供给主机300的装置到主机(DTH)信息中的存储装置50的状态信息以及关于主机存储器缓冲器的大小的信息。主机存储器缓冲器的大小可以是待被分配的区域的大小,以便存储DTH信息。装置信息储存器210可以响应于来自主机300的信息请求消息将装置信息提供给主机300。
在实施例中,存储器控制器200可以包括请求消息接收器220。请求消息接收器220可以从主机300接收请求消息。从主机300接收的请求消息可以是设置参数请求消息或DTH信息请求消息。请求消息接收器220可以响应于从主机300接收的请求消息生成命令。存储器控制器200可以执行对应于由请求消息接收器220生成的命令的操作。
在实施例中,存储器控制器200可以包括DTH信息生成器230。DTH信息生成器230可以生成待由存储装置50提供给主机300的DTH信息。DTH信息可以包括待由主机300识别的存储装置50的状态信息。DTH信息生成器230可以响应于从主机300接收的DTH信息请求消息生成DTH信息,或者甚至在没有该请求的情况下自主地生成DTH信息。
由DTH信息生成器230生成的DTH信息可以包括存储装置50的状态信息。可以从状态信息生成器231接收存储装置50的状态信息。当存储装置50的状态改变时,DTH信息生成器230可以生成包括关于改变的状态的信息的DTH信息。DTH信息生成器230可以将所生成的DTH信息提供给主机存储器访问器240。
在实施例中,存储器控制器200可以包括状态信息生成器231。状态信息生成器231可以生成关于存储装置50的状态的状态信息。由状态信息生成器231生成的状态信息可以包括待由主机300识别的信息。状态信息可以包括关于存储器控制器200和/或存储器装置100的状态的信息。特别地,状态信息生成器231可以基于从存储器装置100接收的数据和/或在存储器控制器200中接收的数据生成状态信息。
状态信息生成器231可以基于所接收的数据来检查存储装置50的状态。状态信息生成器231可以检查存储装置50的状态是否已经改变。特别地,当状态信息生成器231检查存储装置50的状态时,可以检查与先前状态不同的当前状态。当存储装置50的状态改变时,状态信息生成器231可以生成关于改变的状态的状态信息。
在实施例中,存储器控制器200可以包括主机存储器访问器240。主机存储器访问器240可以从DTH信息生成器230接收DTH信息。主机存储器访问器240可以将DTH信息提供给主机存储器320。DTH信息可以存储在主机存储器320的主机存储器缓冲器中。
在主机存储器访问器240将DTH信息提供给主机存储器320之后,主机存储器访问器240可以通过中断信号生成请求来请求中断信号生成器250生成中断信号。中断信号可以通知DTH信息已经存储在主机存储器320的主机存储器缓冲器中。中断信号可以由主机300识别。
在实施例中,存储器控制器200可以包括中断信号生成器250。中断信号生成器250可以响应于来自主机存储器访问器240的中断信号生成请求而生成中断信号。中断信号生成器250可以将中断信号输出到主机300。特别地,中断信号生成器250可以将中断信号提供给主机300的中央处理单元(CPU)310。
在实施例中,存储器控制器200可以控制至少两个存储器装置100。存储器控制器200可根据交织方案控制存储器装置,以便提高操作性能。
主机300可使用诸如通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)的各种通信协议中的至少一种与存储装置50通信。
在实施例中,主机300可以包括CPU 310。CPU可以向存储装置50提供装置信息请求消息。特别地,可以将装置信息请求消息提供给存储装置50中包括的装置信息储存器210。装置信息请求消息可以用于允许主机300获取存储装置50的装置信息。装置信息可以包括待提供给主机300的DTH信息中包括的存储装置50的状态信息以及关于主机存储器缓冲器的大小的信息。主机存储器缓冲器的大小可以是待被分配的区域的大小,以便将DTH信息存储在主机存储器320内。
CPU 310可以从装置信息储存器210接收装置信息。CPU 310可以将所接收的装置信息提供给主机存储器320。
在初始化操作中,CPU 310可以向存储装置50提供设置参数请求消息。设置参数请求消息可以是用于在存储装置50中存储待由主机300识别的DTH信息的参数和待由主机300识别的中断信号的参数的请求消息。
在实施例中,主机300可以包括主机存储器320。主机存储器320可以被配置为易失性存储器或非易失性存储器。
主机存储器320可以存储数据。存储在主机存储器320中的数据可以包括存储装置50的状态信息。主机存储器320可以分配主机存储器缓冲器以便存储存储装置50的状态信息。
主机存储器320可以包括中断信号表323(参见图8)。中断信号表323可以包括关于待由主机300识别的中断信号的信息。主机存储器320可以向CPU 310提供关于中断信号的信息,该中断信号通知存储装置50的状态信息已被存储。
主机300可以包括接口装置330。主机300可以通过接口装置330与存储装置50通信。特别地,主机300可以通过接口装置330向存储装置50提供消息或信息。可选地,主机300可以从存储装置50接收信号或信息。
在实施例中,主机300通过接口装置330提供的消息可以是装置信息请求消息、设置参数请求消息和DTH信息请求消息中的任意一种。DTH信息可以由存储装置50提供给主机300。DTH信息可以包括存储装置50的状态信息。
在实施例中,主机300通过接口装置330接收的信息可以是DTH信息。主机300通过接口装置330接收的信号可以是中断信号。中断信号可以通知存储装置的状态信息已经存储在主机存储器缓冲器中。
图2是示出图1的存储器装置的结构的框图。
参照图2,存储器装置100包括存储器单元阵列110和外围电路120。
存储器单元阵列110可以包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL联接到地址解码器121,并通过位线BL1至BLm联接到读取/写入电路123。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元是非易失性存储器单元。
存储器单元阵列中包括的多个存储器单元可根据其用途被划分为多个块。作为控制存储器装置100所需的各种设置信息的系统信息可以被存储在多个块中。
第一至第z存储块BLK1至BLKz中的每一个包括多个单元串。第一至第m单元串分别联接到第一至第m位线BL1至BLm。第一至第m单元串中的每一个包括漏极选择晶体管、串联联接的多个存储器单元、以及源极选择晶体管。漏极选择晶体管联接到漏极选择线。第一至第n存储器单元联接到第一至第n字线。源极选择晶体管联接到源极选择线。漏极选择晶体管的漏极侧联接到相应的位线。第一至第m单元串的漏极选择晶体管分别联接到第一至第m位线BL1至BLm。源极选择晶体管的源极侧联接到公共源极线。在实施例中,公共源极线可以共同联接到第一至第z存储块BLK1至BLKz。漏极选择线DSL、第一至第n字线和源极选择线包括在行线RL中。漏极选择线DSL、第一至第n字线和源极选择线由地址解码器121控制。公共源极线由控制逻辑125控制。第一至第m位线BL1至BLm由读取/写入电路123控制。
外围电路120包括地址解码器121、电压发生器122、读取/写入电路123、数据输入/输出电路124和控制逻辑125。
地址解码器121通过行线RL联接到存储器单元阵列110。地址解码器121被配置为在控制逻辑125的控制下进行操作。地址解码器121通过控制逻辑125接收地址ADDR。
在实施例中,以页面为单位执行存储器装置100的编程操作和读取操作。
在编程和读取操作中,控制逻辑125接收的地址ADDR可以包括块地址和行地址。地址解码器121被配置为对所接收的地址ADDR中的块地址进行解码。地址解码器121根据所解码的块地址选择存储块BLK1至BLKz之中的一个存储块。
地址解码器121被配置为对所接收的地址ADDR中的行地址进行解码。地址解码器121通过根据所解码的行地址将从电压发生器122提供的电压施加到行线RL来选择所选择的存储块的一个字线。
在擦除操作中,地址ADDR包括块地址。地址解码器121对块地址进行解码,并根据所解码的块地址选择一个存储块。可以对一个存储块的整体或一部分执行擦除操作。
在部分擦除操作中,地址ADDR可以包括块地址和行地址。地址解码器121根据块地址选择存储块BLK1至BLKz之中的一个存储块。
地址解码器121被配置为对所接收的地址ADDR中的行地址进行解码。地址解码器121通过根据所解码的行地址将从电压发生器122提供的电压施加到行线RL来选择所选择的存储块的至少一个字线。
在实施例中,地址解码器121可以包括块解码器、字线解码器、地址缓冲器等。
电压发生器122使用提供给存储器装置100的外部电源电压生成多个电压。电压发生器122在控制逻辑125的控制下进行操作。
在实施例中,电压发生器122可以通过调节外部电源电压来生成内部电源电压。由电压发生器122生成的内部电源电压用作存储器装置100的操作电压。
在实施例中,电压发生器122可使用外部电源电压或内部电源电压来生成多个电压。
例如,电压发生器122可以包括用于接收内部电源电压的多个泵浦电容器,并且通过在控制逻辑125的控制下选择性地激活多个泵浦电容器来生成多个电压。多个生成的电压被施加到由地址解码器121选择的字线。
在编程操作中,电压发生器122可以生成高电压编程脉冲和低于编程脉冲的通过脉冲。在读取操作中,电压发生器122可以生成读取电压和高于读取电压的通过电压。在擦除操作中,电压发生器122可以生成擦除电压。
读取/写入电路123包括第一至第m页面缓冲器PB1至PBm。第一至第m页面缓冲器PB1至PBm分别通过第一至第m位线BL1至BLm联接到存储器单元阵列110。第一至第m页面缓冲器PB1至PBm在控制逻辑125的控制下进行操作。
第一至第m页面缓冲器PB1至PBm与数据输入/输出电路124进行数据通信。在编程操作中,第一至第m页面缓冲器PB1至PBm接收通过数据输入/输出电路124和数据线DL待被存储的数据DATA。
在编程操作中,当编程脉冲被施加到选择的字线时,第一至第m页面缓冲器PB1至PBm可以通过位线BL1至BLm将通过数据输入/输出电路124接收的数据DATA传送到选择的存储器单元。根据所传送的数据DATA对选择的页面的存储器单元进行编程。联接到施加编程允许电压(例如,接地电压)的位线的存储器单元可具有增加的阈值电压。联接到施加编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可被维持。在编程验证操作中,第一至第m页面缓冲器PB1至PBm通过位线BL1至BLm从选择的存储器单元读取页面数据。
在读取操作中,读取/写入电路123通过位线BL从选择的页面的存储器单元读取数据DATA,并将所读取的数据DATA输出到数据输入/输出电路124。在擦除操作中,读取/写入电路123可使位线BL浮置。
在实施例中,读取/写入电路123可包括列选择电路。
数据输入/输出电路124通过数据线DL联接到第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124在控制逻辑125的控制下操作。在编程操作中,数据输入/输出电路124从外部控制器(未示出)接收待被存储的数据DATA。
控制逻辑125被联接到地址解码器121、电压发生器122、读取/写入电路123以及数据输入/输出电路124。控制逻辑125可以控制存储器装置100的全部操作。控制逻辑125接收命令CMD和地址ADDR。控制逻辑125响应于命令CMD控制地址解码器121、电压发生器122、读取/写入电路123以及数据输入/输出电路124。
图3是示出用于将DTH信息存储在主机存储器中的初始化操作的示图。
参照图3,存储器控制器200可以包括装置信息储存器210。在图3中,为清楚起见,省略了存储器控制器200的请求消息接收器220、DTH信息生成器230、状态信息生成器231、主机存储器访问器240和中断信号生成器250。
参照图3,主机300可以包括CPU 310和主机存储器320。在图3中,为清楚起见,省略了主机300的接口装置330。
装置信息储存器210可以包括含有存储装置50的信息的装置信息。特别地,装置信息可以包括待被包括在DTH信息中的存储装置50的状态信息,以及关于主机存储器缓冲器的大小的信息。主机存储器缓冲器可以是用于存储DTH信息的区域。主机存储器缓冲器的大小可以是待被分配的区域的大小,以便将DTH信息存储在主机存储器320内。
将参照图4更详细地描述存储装置50的状态信息。
装置信息储存器210可以响应于来自CPU 310的请求,例如响应于装置信息请求消息,将装置信息提供给主机300中的CPU 310。
CPU 310可以执行用于获取DTH信息的初始化操作。在实施例中,CPU 310可以将装置信息请求消息提供给装置信息储存器210。装置信息请求消息可以用于请求存储装置50的装置信息。装置信息储存器210可以响应于装置信息请求消息将存储在装置信息储存器210中的装置信息提供给CPU 310。
CPU 310可以基于从装置信息储存器210接收的装置信息向主机存储器320提供主机存储器缓冲器(HMB)分配信息和DTH支持信息。
HMB分配信息可以包括关于待被分配在主机存储器320中以便存储DTH信息的主机存储器缓冲器321(参见图6)的大小的信息。当主机存储器320接收到HMB分配信息时,主机存储器320可以分配用于存储DTH信息的区域,该区域可以是主机存储器缓冲器321。
DTH支持信息可以包括待由存储装置50提供给主机300的存储装置50的状态信息。也就是说,DTH支持信息可以包括待被包括在DTH信息中的存储装置50的状态信息。
图4是示出待被包括在DTH信息中的存储装置50的状态信息STA_INF的示图。
参照图4,存储装置50的状态信息STA_INF可以被分类为表示装置后台操作状态的信息和表示装置严重性级别的信息。存储装置50的状态信息STA_INF可以包括除装置后台操作状态信息和装置严重性级别信息之外的各种状态信息。存储装置50的状态信息STA_INF可以包括响应于来自主机300的请求的各种状态信息。
特别地,装置后台操作状态可以包括表示存储装置50准备诸如垃圾收集或损耗均衡的后台操作的状态的信息、表示存储装置50正在执行产生较长延迟的后台操作的信息、以及表示存储装置50完成后台操作并且主机可以正常发出CMD的状态的信息。装置后台操作状态可以包括除上述信息之外的各种信息。
存储装置50准备诸如垃圾收集或损耗均衡的后台操作的状态可以表示在存储装置50执行特定操作之前存储装置50执行后台操作。
特别地,后台操作可以包括将存储在任意存储块中的数据复制到另一任意存储块的操作,例如垃圾收集(GC)操作。并且,后台操作可以包括通过在存储器装置100的存储块之间或存储在存储块中的数据之间交换来执行处理的操作,例如损耗均衡(WL)操作。后台操作可以包括:将存储在存储器控制器200中的映射数据存储在存储器装置100的存储块中的操作,例如映射清除操作;对存储器装置100执行坏块管理的操作,例如检查和处理存储器装置100中包括的多个存储块中的坏块的坏块管理操作等。
表示存储装置50正在执行产生较长延迟的后台操作的信息可以表示存储装置50正在执行后台操作,在该后台操作中在存储装置50完成后台操作之后花费较长时间来执行下一操作。
表示存储装置50完成后台操作并且主机可以正常发出CMD的状态的信息可以表示存储装置50已经完全执行GC操作、WL操作和坏块管理操作。
在实施例中,表示装置严重性级别的信息可以包括表示检测高热量收集的信息、表示存储装置50由于NVM存储器缺陷而无法响应于I/O命令操作的状态的信息、以及表示存储装置50无法恢复内部错误的状态的信息。表示装置严重性级别的信息可以包括除上述信息之外的各种信息。
特别地,表示检测高热量状况的信息可以表示存储装置50的温度已经通过在存储装置50中执行多次写入操作和擦除操作和/或数据保持时段而增加。并且,表示检测高热量状况的信息可以表示存储装置50的温度已经通过存储装置50的外部或内部环境因素而升高。
表示存储装置50由于NVM存储器缺陷而无法响应于I/O命令操作的状态的信息可以表示存储装置50的寿命到期的状态或是由于存储装置50的物理缺陷而使存储装置50无法再执行操作的状态。特别地,由于存储器装置100高度地集成并且高速执行操作,因此可能出现存储装置50的物理缺陷。其中已出现物理缺陷的存储装置50可以被处理为故障,并且可以确定存储装置50不再执行操作。
表示存储装置50无法恢复内部错误的状态的信息可以表示在存储装置50正在执行操作时已出现错误并且通过恢复操作无法恢复出现的错误的状态。特别地,存储装置50无法恢复内部错误的状态可以表示已出现不可校正的ECC(UECC)的情况。
图5是示出用于将DTH信息存储在主机存储器中的初始化操作的示图。
参照图5,存储器控制器200可以包括请求消息接收器220、DTH信息生成器230和中断信号生成器250。在图5中,为清楚起见,省略了存储器控制器200的装置信息储存器210、状态信息生成器231和主机存储器访问器240。
参照图5,主机300可以包括CPU 310。在图5中,为清楚起见,省略了主机300的主机存储器320和接口装置330。
CPU 310可以向请求消息接收器220提供设置参数请求消息,以便设置用于生成待由主机300识别的信息的参数并且输出待由主机300识别的信号。待由主机300识别的信息可以是DTH信息。待由主机300识别的信号可以是中断信号。
请求消息接收器220可以向DTH信息生成器230和中断信号生成器250提供对应于设置参数请求消息的命令。
特别地,提供给DTH信息生成器230的命令可以是DTH参数设置命令。DTH信息生成器230可以存储待由主机300响应于DTH参数设置命令而识别的DTH信息的参数。在DTH信息生成器230存储DTH信息的参数之后,DTH信息生成器230可以生成待由主机300识别的DTH信息。
在实施例中,提供给中断信号生成器250的命令可以是中断信号参数设置命令。中断信号生成器250可以响应于中断信号参数设置命令而存储待由主机300识别的中断信号的参数。在中断信号生成器250存储中断信号的参数之后,当DTH信息被提供给主机300时,中断信号生成器250可以生成并输出待由主机300识别的中断信号。
在实施例中,在CPU 310从存储装置50接收装置信息之后,CPU 310可以向请求消息接收器220提供主机存储器缓冲器设置消息,以便提供关于其中存储DTH信息的主机存储器缓冲器的信息。主机存储器缓冲器设置消息可以用于存储由主机存储器320分配的主机存储器缓冲器信息。请求消息接收器220可以向DTH信息生成器230提供主机存储器缓冲器设置消息的主机存储器缓冲器信息。DTH信息生成器230可以基于所存储的主机存储器缓冲器信息,通过主机存储器访问器240将DTH信息提供给主机存储器缓冲器321。
主机存储器缓冲器信息可以包括关于用于存储DTH信息的位置的信息。特别地,主机存储器缓冲器信息可以包括关于待存储DTH信息的位置的行地址和列地址的信息。DTH信息生成器230可以将DTH信息提供给主机存储器缓冲器321,以基于主机存储器缓冲器信息将所提供的DTH信息存储在对应于特定行地址和列地址的位置。
图6是示出用于由存储器控制器向主机提供DTH信息的方法的示图。
图6示出了甚至在没有来自主机300的请求的情况下,由DTH信息生成器230自主生成DTH信息并将DTH信息提供给主机存储器缓冲器321的方法。
参照图6,存储器控制器200可以包括DTH信息生成器230、状态信息生成器231、主机存储器访问器240和中断信号生成器250。在图6中,为清楚起见,省略了存储器控制器200的装置信息储存器210和请求消息接收器220。
参照图6,主机300可以包括CPU 310和主机存储器320。在图6中,为清楚起见,省略了主机300的接口装置330。
DTH信息生成器230可以生成待被传送到主机300的DTH信息。所生成的DTH信息可以被提供给主机存储器320中的主机存储器缓冲器321。
在步骤①中,DTH信息生成器230可以从状态信息生成器231接收待由主机300识别的存储装置50的状态信息。状态信息可以包括关于存储器控制器200和/或存储器装置100的状态的信息。特别地,状态信息生成器231可以基于从存储器装置100接收的数据和/或在存储器控制器200中接收的数据生成状态信息。
DTH信息生成器230可以生成包括从状态信息生成器231提供的状态信息的DTH信息。当存储装置50的状态改变时,DTH信息生成器230可以生成包括改变的状态信息的DTH信息。可以从状态信息生成器231接收改变的状态信息。每当存储装置50的状态改变时,DTH信息生成器230可以生成DTH信息。在步骤②中,可以将所生成的DTH信息提供给主机存储器访问器240。
提供给主机存储器访问器240的DTH信息可以存储在主机存储器缓冲器321或主机存储器320中的其它指定区域中,以下简称为主机存储器缓冲器321。因此,每当存储装置50的状态改变时,可以更新存储在主机存储器缓冲器321中的DTH信息。
主机存储器访问器240可以从DTH信息生成器230接收DTH信息。在步骤③中,主机存储器访问器240可以将所接收的DTH信息提供给主机存储器320中的主机存储器缓冲器321。DTH信息可以存储在主机存储器缓冲器321中。
当DTH信息存储在主机存储器缓冲器321中时,在步骤④中,主机存储器访问器240可以通过中断信号生成请求来请求生成通知已经提供DTH信息并将该DTH信息存储在主机存储器缓冲器321中的中断信号。中断信号可以通知已经提供DTH信息并将该DTH信息存储在主机存储器320中的主机存储器缓冲器321中。
在步骤⑤中,响应于从主机存储器访问器240接收的中断信号生成请求,中断信号生成器250可以生成并输出中断信号。可以将中断信号提供给主机300中的CPU 310。中断信号是待由主机300识别的信号。当CPU 310接收到中断信号时,CPU 310可以检查中断信号是否是通知已经提供DTH信息并且将该DTH信息存储在主机存储器320中的主机存储器缓冲器321中的信号。也就是说,CPU 310可以检查中断信号的类型。
图7是示出用于由存储器控制器向主机提供DTH信息的方法的另一实施例的示图。
图7示出了用于响应于来自主机300的请求生成DTH信息并将DTH信息提供给主机存储器缓冲器321的方法。
参照图7,存储器控制器200可以包括请求消息接收器220、DTH信息生成器230、状态信息生成器231、主机存储器访问器240和中断信号生成器250。在图7中,为清楚起见,省略了存储器控制器200的装置信息储存器210。
参照图7,主机300可以包括CPU 310和主机存储器320。在图7中,为清楚起见,省略了主机300的接口装置330。
为了使主机300获取DTH信息,在步骤①中,CPU 310可以向请求消息接收器220提供DTH信息请求消息。可以将DTH信息请求消息传送到存储装置50以供主机300获取存储装置50的状态信息。DTH信息可以包括待由主机300识别的存储装置50的状态信息。可以从存储装置50向主机300提供DTH信息。
请求消息接收器220可以生成对应于DTH信息请求消息的DTH信息请求命令。在步骤②中,可以将DTH信息请求命令提供给DTH信息生成器230。DTH信息请求命令可以用于请求生成DTH信息。
DTH信息生成器230可以响应于DTH信息请求命令生成DTH信息。特别地,在DTH信息生成器230从请求消息接收器220接收到DTH信息请求命令之后,在步骤③中,DTH信息生成器230可以从状态信息生成器231接收待由主机300识别的存储装置50的状态信息。状态信息可以包括关于存储器控制器200和/或存储器装置100的状态的信息。特别地,状态信息生成器231可以基于从存储器装置100接收的数据和/或在存储器控制器200中接收的数据生成状态信息。
DTH信息生成器230可以响应于DTH信息请求命令而生成包括从状态信息生成器231接收的状态信息的DTH信息。在步骤④中,可以将所生成的DTH信息提供给主机存储器访问器240。提供给主机存储器访问器240的DTH信息可以存储在主机存储器320中的主机存储器缓冲器321的区域中。因此,每当请求消息接收器220接收到DTH信息请求消息时,可以更新存储在主机存储器缓冲器321中的DTH信息。
主机存储器访问器240可以从DTH信息生成器230接收DTH信息。在步骤⑤中,主机存储器访问器240可以将所接收的DTH信息提供给主机存储器320中的主机存储器缓冲器321。DTH信息可以存储在主机存储器缓冲器321中。当DTH信息存储在主机存储器缓冲器321中时,在步骤⑥中,主机存储器访问器240可以通过中断信号生成请求来请求生成通知已经提供DTH信息并将该DTH信息存储在主机存储器缓冲器321中的中断信号。中断信号可以通知已经提供DTH信息并将该DTH信息存储在主机存储器320中的主机存储器缓冲器321中。
在步骤⑦中,响应于从主机存储器访问器240接收的中断信号生成请求,中断信号生成器250可以生成并输出中断信号。可以将中断信号提供给主机300中的CPU 310。中断信号待由主机300识别。当CPU 310接收到中断信号时,CPU 310可以检查中断信号是否是通知已经提供DTH信息并且将该DTH信息存储在主机存储器320中的主机存储器缓冲器321中的信号。
图8是示出由例如主机300的主机获取DTH信息的方法的示图。
参照图8,主机300可以包括CPU 310和主机存储器320。主机存储器320可以包括主机存储器缓冲器321和中断信号表323。在图8中,为清楚起见,省略了主机300的接口装置330。
图8示出图7的中断信号生成器250生成中断信号并将其输出到CPU 310之后的进程。
在CPU 310从中断信号生成器250接收到中断信号之后,在步骤①中,CPU 310可以向中断信号表323请求用于检查中断信号是否是通知已经向主机存储器缓冲器321提供DTH信息的信号的中断信号信息。也就是说,CPU 310可以基于中断信号信息确定从中断信号生成器250接收的中断信号是否是通知已经提供并存储DTH信息的信号。
中断信号表323可以在存储装置50中存储中断信号信息,即通知已经执行了特定操作的信息。在实施例中,中断信号表323可以包括通知已经在主机存储器缓冲器321中提供DTH信息的信号信息。在步骤②中,响应于CPU 310的中断信号信息请求,中断信号表323可以将中断信号信息提供给CPU 310。提供给CPU 310的中断信号信息可以包括通知已经提供DTH信息的信号信息。
提供给CPU 310的中断信号可以表示已经提供DTH信息并将其存储在主机存储器缓冲器321中。当如中断信号所指示的已经提供并存储DTH信息时,在步骤③中,CPU 310可以向主机存储器缓冲器321请求DTH信息。在步骤④中,主机存储器缓冲器321可以响应于DTH信息请求将DTH信息提供给CPU 310。CPU 310接收DTH信息,使得主机300可以获取包括存储装置50的状态信息的DTH信息。
CPU 310可以基于从主机存储器缓冲器321接收的DTH信息执行后续操作。也就是说,主机300可以基于待执行存储装置50的内部操作的时间灵活地确定数据的输入/输出和主机300的内部操作待被执行的时间。后续操作可以通过预先将错误情况通知给主机300来使主机300能够对存储装置50的意外错误情况作出响应。
图9是示出甚至在没有来自例如主机300的主机的请求的情况下,由例如存储装置50的存储装置自主地提供DTH信息的方法的时序图。
参照图9,图9的方法可以包括用于向主机300提供DTH信息的初始化操作和向主机300提供DTH信息的DTH信息传送操作。
在实施例中,可以在执行DTH信息传送操作之前执行初始化操作。
初始化操作可以包括由主机300向存储装置50提供装置信息请求消息。特别地,CPU 310可以将装置信息请求消息提供给存储装置50中的装置信息储存器210。装置信息请求消息可以用于获取存储装置50的装置信息。装置信息可以包括将被包括在由存储装置50提供给主机300的DTH信息中的存储装置50的状态信息,以及关于主机存储器缓冲器321的大小的信息。
初始化操作可以包括响应于装置信息请求消息,由存储装置50向主机300提供装置信息。特别地,主机300中包括的CPU 310可以从装置信息储存器210接收装置信息。当CPU310接收到装置信息时,CPU 310可以分配主机存储器缓冲器321或主机存储器320中的将存储DTH信息的其它区域。并且,CPU 310可以确定将由CPU 310识别的存储装置50的状态信息。当在主机存储器320内分配主机存储器缓冲器321,并且确定待由CPU 310识别的存储装置50的状态信息时,CPU 310可以向存储装置50提供用于将相应信息存储在存储装置50中的消息。
初始化操作可以包括由主机300向存储装置50提供设置参数请求消息和主机存储器缓冲器设置消息。
设置参数请求消息可以用于在存储装置50中存储待由主机300识别的DTH信息的参数和待由主机300识别的中断信号的参数。存储装置50可以存储对应于设置参数请求消息的设置参数信息。特别地,DTH信息生成器230可以存储DTH信息的参数。在DTH信息生成器230存储DTH信息的参数之后,DTH信息生成器230可以生成待由主机300识别的DTH信息。中断信号生成器250可以响应于中断信号参数设置命令而存储待由主机300识别的中断信号的参数。在中断信号生成器250存储中断信号的参数之后,当DTH信息被提供给主机300时,中断信号生成器250可以生成并输出待由主机300识别的中断信号。
在实施例中,主机300可以向存储装置50提供主机存储器缓冲器设置消息。主机存储器缓冲器设置消息可以用于存储在主机存储器320内分配的主机存储器缓冲器信息。特别地,主机300中的CPU 310可以向请求消息接收器220提供主机存储器缓冲器设置消息,以便提供关于存储DTH信息的位置的信息。请求消息接收器220可以响应于主机存储器缓冲器设置消息将主机存储器缓冲器信息提供给DTH信息生成器230。DTH信息生成器230可以存储主机存储器缓冲器信息。DTH信息生成器230可以基于所存储的主机存储器缓冲器信息,通过主机存储器访问器240将DTH信息提供给主机存储器缓冲器321。
在实施例中,可以在执行初始化操作之后执行DTH信息传送操作。
DTH信息传送操作可以包括用于生成DTH信息的操作。特别地,可以检查存储装置50的状态是否已经改变。因此,当存储装置50的状态改变时,状态信息生成器231可以生成改变的状态信息。当存储装置50的状态改变时,DTH信息生成器230可以生成包括改变的状态信息的DTH信息。可以从状态信息生成器231接收改变的状态信息。每当存储装置50的状态改变时,DTH信息生成器230可以生成DTH信息。可以将所生成的DTH信息提供给主机存储器访问器240。主机存储器访问器240可以将DTH信息提供给主机300。在实施例中,可以提供DTH信息并将该DTH信息存储在主机存储器320中的主机存储器缓冲器321中。当DTH信息存储在主机存储器缓冲器321中时,中断信号生成器250可以基于从主机存储器访问器240接收的中断信号生成请求输出中断信号。
CPU 310可以从中断信号生成器250接收中断信号。CPU 310可以确定中断信号是否是通知已经提供并存储DTH信息的信号。
然后,CPU 310可以向主机存储器缓冲器321请求DTH信息。主机存储器缓冲器321可以响应于DTH信息请求将DTH信息提供给主机300。CPU 310接收DTH信息,使得主机300可以获取包括存储装置50的状态信息的DTH信息。
CPU 310可以基于从主机存储器缓冲器321接收的DTH信息执行后续操作。也就是说,主机300可以通过考虑待执行存储装置50的内部操作的时间灵活地确定数据的输入/输出和主机300的内部操作将被执行的时间。后续操作可以通过预先将错误情况通知给主机300来使主机300能够对存储装置50的意外错误情况作出响应。
图10是示出用于由例如存储装置50的存储装置基于来自例如主机300的主机的请求来提供DTH信息的方法的时序图。
参照图10,方法可以包括用于向主机300提供DTH信息的初始化操作和向主机300提供DTH信息的DTH信息传送操作。该初始化操作与图9的初始化操作相同,因此这里省略对该操作的描述。下面描述与图9的DTH信息传送操作不同的图10的DTH信息传送操作。
在实施例中,可以在执行初始化操作之后执行DTH信息传送操作。
DTH信息传送操作可以包括用于生成DTH信息的操作。特别地,为了使主机300获取DTH信息,CPU 310可以将DTH信息请求消息提供给请求消息接收器220。请求消息接收器220可以生成对应于DTH信息请求消息的DTH信息请求命令。在DTH信息生成器230从请求消息接收器220接收到DTH信息请求命令之后,DTH信息生成器230可以从生成存储装置50的状态信息的状态信息生成器231接收待由主机300识别的存储装置50的状态信息。DTH信息生成器230可以响应于DTH信息请求命令而生成包括从状态信息生成器231接收的状态信息的DTH信息。
可以将所生成的DTH信息提供给主机存储器访问器240。主机存储器访问器240可以将DTH信息提供给主机300。在实施例中,可以提供DTH信息并将该DTH信息存储在主机存储器320中的主机存储器缓冲器321中。当DTH信息存储在主机存储器缓冲器321中时,中断信号生成器250可以基于从主机存储器访问器240接收的中断信号生成请求输出中断信号。
CPU 310可以从中断信号生成器250接收中断信号。CPU 310可以确定中断信号是否是通知已经提供并存储DTH信息的信号。
当提供给CPU 310的中断信号是通知已经提供并存储DTH信息的信号时,CPU 310可以向主机存储器缓冲器321请求DTH信息。主机存储器缓冲器321可以响应于DTH信息请求将DTH信息提供给主机300。CPU 310接收DTH信息,使得主机300可以获取包括存储装置50的状态信息的DTH信息。
CPU 310可以基于从主机存储器缓冲器321接收的DTH信息执行后续操作。也就是说,主机300可以通过考虑待执行存储装置50的内部操作的时间灵活地确定数据的输入/输出和主机300的内部操作将被执行的时间。后续操作可以通过预先将错误情况通知给主机300来使主机300能够对存储装置50的意外错误情况作出响应。
图11是示出根据本公开的实施例的例如主机300的主机的初始化操作的示图。
参照图11,在步骤S1101中,CPU 310可以将装置信息请求消息输出到装置信息储存器210。装置信息请求消息可以用于请求存储装置50的装置信息。装置信息可以包括待被包括在DTH信息中的存储装置50的状态信息,以及关于主机存储器缓冲器321的大小的信息。
在步骤S1103中,CPU 310可以从装置信息储存器210接收装置信息。响应于装置信息请求消息,装置信息可以由装置信息储存器210提供给CPU 310。
在步骤S1105中,CPU 310可以基于从装置信息储存器210接收的装置信息向主机存储器320提供HMB分配信息和DTH支持信息。主机存储器320可以存储HMB分配信息和DTH支持信息。
HMB分配信息可以包括关于待被在主机存储器320中分配以便存储DTH信息的主机存储器缓冲器321的大小的信息。当主机存储器320接收HMB分配信息时,主机存储器320可以分配用于存储DTH信息的区域。
DTH支持信息可以包括待由存储装置50提供给主机300的存储装置50的状态信息。也就是说,DTH支持信息可以包括待被包括在DTH信息中的存储装置50的状态信息。
在步骤S1107中,CPU 310可以将设置参数请求消息输出到请求消息接收器220,以便设置用于生成待由主机300识别的信息的参数和用于输出待由主机300识别的信号的参数。待由主机300识别的信息可以是DTH信息。待由主机300识别的信号可以是中断信号。
CPU 310可以将主机存储器缓冲器设置消息与设置参数请求消息一起输出到请求消息接收器220,以便提供关于DTH信息被存储在主机存储器缓冲器321内的位置的信息。主机存储器缓冲器设置消息可以用于存储由主机存储器320分配的主机存储器缓冲器信息。主机存储器320可以基于主机存储器缓冲器设置消息接收DTH信息。
图12是示出根据本公开的实施例的例如存储装置50的存储装置的初始化操作的示图。
参照图12,在步骤S1201中,装置信息储存器210可以接收装置信息请求消息。装置信息请求消息可以用于允许主机300获取存储装置50的装置信息。
在步骤S1203中,装置信息储存器210可以响应于装置信息请求消息将装置信息提供给CPU 310。装置信息可以包括将被包括在由存储装置50提供给主机300的DTH信息中的存储装置50的状态信息,以及关于主机存储器缓冲器321的大小的信息。
在步骤S1205中,请求消息接收器220可以从CPU 310接收设置参数请求消息。设置参数请求消息可以是用于设置生成待由主机300识别的信息的参数以及用于输出待由主机300识别的信号的参数的请求消息。请求消息接收器220可以接收主机存储器缓冲器设置消息和设置参数请求消息。主机存储器缓冲器设置消息可以用于存储由主机存储器320分配的主机存储器缓冲器信息。
在步骤S1207中,DTH信息生成器230可以接收对应于设置参数请求消息的DTH参数设置命令。DTH信息生成器230可以存储待由主机300响应于DTH参数设置命令而识别的DTH信息的参数。并且,DTH信息生成器230可以存储从请求消息接收器220接收的主机存储器缓冲器信息。主机存储器缓冲器信息可以包括关于DTH信息在主机存储器缓冲器321内存储的位置的信息。特别地,主机存储器缓冲器信息可以包括关于存储DTH信息的区域的行地址和列地址的信息。
图13是示出根据本公开的实施例的例如存储装置50的存储装置的操作的示图。
参照图13,在步骤S1301中,状态信息生成器231可以检查存储装置50的状态信息。存储装置50的状态信息STA_INF可以包括装置后台操作状态和表示装置严重性级别的信息。存储装置50的状态信息STA_INF可以包括除装置后台操作状态和表示装置严重性级别的信息之外的各种状态信息。存储装置50的状态信息STA_INF可以包括响应于来自主机300的请求的各种状态信息。
在步骤S1303中,状态信息生成器231可以检查存储装置50的状态信息是否已经改变。特别地,当状态信息生成器231检查状态信息时,可以确定与现有状态信息不同的信息的存在。当存储装置50的状态信息改变时,状态信息生成器231可以生成改变的状态信息。当存储装置50的状态信息改变时,操作进行到步骤S1305。
在步骤S1305中,当存储装置50的状态信息改变时,DTH信息生成器230可以生成包括改变的状态信息的DTH信息。可以从状态信息生成器231提供改变的状态信息。每当存储装置50的状态改变时,DTH信息生成器230可以生成DTH信息。
在步骤S1307中,DTH信息生成器230可以输出包括改变的状态信息的DTH信息。特别地,可以将DTH信息提供给主机存储器访问器240。主机存储器访问器240可以将DTH信息提供给主机300。在实施例中,可以提供DTH信息并将该DTH信息存储在主机存储器320中的主机存储器缓冲器321中。
在步骤1309中,当DTH信息存储在主机存储器缓冲器321中时,中断信号生成器250可以基于从主机存储器访问器240接收的中断信号生成请求输出中断信号。中断信号可以通知已经提供DTH信息并将该DTH信息存储在主机存储器320中的主机存储器缓冲器321中。
图14是示出根据本公开的另一实施例的存储装置50的操作的示图。
参照图14,在步骤S1401中,请求消息接收器220可以从CPU 310接收DTH信息请求消息。可以将DTH信息请求消息传送到存储装置50,以便主机300获取存储装置50的状态信息。DTH信息可以包括待由主机300识别的存储装置50的状态信息。可以将DTH信息请求消息传送到存储装置50,以便主机300获取存储装置50的状态信息。可以从存储装置50向主机300提供DTH信息。
在步骤S1403中,DTH信息生成器230可以响应于对应于DTH信息请求消息的命令来生成DTH信息。特别地,在DTH信息生成器230从请求消息接收器220接收到DTH信息请求命令之后,DTH信息生成器230可以从状态信息生成器231接收存储装置50的状态信息。DTH信息生成器230可以响应于DTH信息请求命令而生成包括从状态信息生成器231接收的状态信息的DTH信息。
在步骤S1405中,可以将DTH信息提供给主机存储器320中的主机存储器缓冲器321。特别地,DTH信息生成器230可以将所生成的DTH信息输出到主机存储器访问器240。输出到主机存储器访问器240的DTH信息可以存储在主机存储器320中的主机存储器缓冲器321中。
在步骤S1407中,中断信号生成器250可以基于从主机存储器访问器240接收的中断信号生成请求输出中断信号。可以将中断信号提供给主机300中的CPU 310。中断信号是待由主机300识别的信号。
图15是示出根据本公开的实施例的例如主机300的主机的操作的示图。
参照图15,在步骤S1501中,CPU 310可以接收由中断信号生成器250输出的中断信号。当CPU 310接收到中断信号时,CPU 310可以检查中断信号是否是通知已经提供DTH信息并且将该DTH信息存储在主机存储器320中的主机存储器缓冲器321或主机存储器320中的其它区域中的信号。
在步骤S1503中,在CPU 310从中断信号生成器250接收到中断信号之后,CPU 310可以向中断信号表323请求用于检查中断信号是否是通知已经在主机存储器缓冲器321中提供DTH信息的信号的中断信号信息。也就是说,CPU 310可以基于中断信号信息确定从中断信号生成器250接收的中断信号是否是通知已经提供并存储DTH信息的信号。
在步骤S1505中,CPU 310可以从中断信号表323接收中断信号信息,以检查所接收的中断信号是否是通知已经提供并存储DTH信息的信号。也就是说,CPU 310可以检查所接收的中断信号的类型。
在步骤1507中,当提供给CPU 310的中断信号是通知已经提供并存储DTH信息的信号时,CPU 310可以向主机存储器缓冲器321请求DTH信息。
在步骤S1509中,主机存储器缓冲器321可以响应于DTH信息请求将DTH信息提供给CPU 310,并且CPU 310可以检查DTH信息。CPU 310接收DTH信息,使得主机300可以获取包括存储装置50的状态信息的DTH信息。
在步骤1511中,CPU 310可以基于从主机存储器缓冲器321接收的DTH信息执行后续操作。也就是说,主机300可以通过考虑待执行存储装置50的内部操作的时间灵活地确定数据的输入/输出和主机300的内部操作将被执行的时间。后续操作可以通过预先将错误情况通知给主机300来使主机300能够对存储装置50的意外错误情况作出响应。
图16是示出图1的存储器控制器的另一实施例的示图。
存储器控制器1000联接到主机和存储器装置。存储器控制器1000被配置为响应于从主机接收的请求来访问存储器装置。例如,存储器控制器1000被配置为控制存储器装置的读取、编程、擦除和后台操作。存储器控制器1000被配置为提供存储器装置和主机之间的接口连接。存储器控制器1000被配置为驱动用于控制存储器装置的固件。
参照图16,存储器控制器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提供的逻辑地址(LA)转换为物理地址(PA)。FTL可使用映射表接收待被转换为PA的LA。根据映射单位存在FTL的多种地址映射方法。代表性地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010被配置为使从主机接收的数据随机化。例如,处理器1010可使用随机化种子来使从主机接收的数据随机化。随机化的数据作为待被存储的数据而提供给存储器装置,以被编程在存储器单元阵列中。
在读取操作中,处理器1010被配置为使从存储器装置接收的数据去随机化。例如,处理器1010可使用去随机化种子使从存储器装置接收的数据去随机化。去随机化的数据可被输出至主机。
在实施例中,处理器1010可通过运行软件或固件来执行随机化和去随机化。
存储器缓冲器1020可被用作处理器1010的工作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可存储由处理器1010执行的代码和命令。存储器缓冲器1020可包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路1030可执行ECC操作。ECC电路1030可对通过存储器接口1060待被写入存储器装置的数据执行ECC编码。ECC编码的数据可通过存储器接口1060传送至存储器装置。ECC电路1030可对通过存储器接口1060从存储器装置接收的数据执行ECC解码。在示例中,ECC电路1030可作为存储器接口1060的组件而被包括在存储器接口1060中。
主机接口1040可在处理器1010的控制下与外部主机通信。主机接口1040可使用诸如通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(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。存储器缓冲器1020和/或缓冲器控制电路1050可以被单独提供,或者存储器缓冲器1020和/或缓冲器控制电路1050的功能分布在存储器控制器1000中的一个或多个其它组件中。
在示例中,处理器1010可通过使用代码来控制存储器控制器1000的操作。处理器1010可从存储器控制器1000中提供的非易失性存储器装置(例如,只读存储器(ROM))中加载代码。在另一示例中,处理器1010可通过存储器接口1060从存储器装置中加载代码。
在示例中,存储器控制器1000的总线1070可分为控制总线和数据总线。数据总线可被配置为在存储器控制器1000中传送数据,控制总线可被配置为在存储器控制器1000中传送诸如命令和地址的控制信息。数据总线和控制总线彼此分开,并且可以不相互干扰或影响。数据总线可以联接到主机接口1040、缓冲器控制电路1050、ECC电路1030和存储器接口1060。控制总线可以联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图17是示出根据本公开的实施例的应用存储装置的存储卡系统的框图。
参照图17,存储卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100被配置成访问存储器装置2200。例如,存储器控制器2100被配置成控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置成提供存储器装置2200和主机之间的接口连接。存储器控制器2100被配置成驱动用于控制存储器装置2200的固件。存储器装置2200可与参照图1描述的存储器装置100相同地实施。
在示例中,存储器控制器2100可包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和ECC电路的组件。
存储器控制器2100可通过连接器2300与外部装置通信。存储器控制器2100可根据特定通信协议与外部装置(例如,主机)进行通信。在示例中,存储器控制器2100可通过诸如以下各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe。
在示例中,存储器装置2200可利用诸如以下各种非易失性存储器装置来实施:电可擦除和可编程ROM(EPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋力矩转移磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可被集成到单个半导体装置中以构成诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、标准闪存(CF)卡、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC和eMMC)、SD卡(SD、迷你SD、微型SD和SDHC)和/或通用闪存(UFS)。
图18是示出根据本公开的实施例的应用存储装置的固态驱动器(SSD)的框图。
参照图18,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接收的信号来控制多个闪速存储器3221至322n。在示例中,信号可基于主机3100和SSD 3200之间的接口。例如,信号可以由诸如以下各种接口中的至少一种来定义:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和NVMe。
辅助电源3230通过电源连接器3002被联接到主机3100。当来自主机3100的电力供应不平稳时,辅助电源3230可提供SSD 3200的电力。在示例中,辅助电源3230可以位于SSD3200中,或者位于SSD 3200的外部。例如,辅助电源3230可位于主板上,并且向SSD 3200提供辅助电力。
缓冲存储器3240用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可包括诸如DRAM、SDRAM、DDRSDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图19是示出根据本公开的实施例的应用存储装置的用户系统的框图。
参照图19,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可驱动包括在用户系统4000中的组件、操作系统(OS)或用户程序等。在示例中,应用处理器4100可包括用于控制包括在用户系统4000中的组件、接口、图形引擎等的控制器。应用处理器4100可被设置为片上系统(SoC)。
存储器模块4200可用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRM、DDR3SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性随机存取存储器或诸如PRAM、ReRAM、MRAM和FRAM的易失性随机存取存储器。在示例中,应用处理器4100和存储器模块4200可通过基于堆叠式封装(PoP)来封装而被提供为一个半导体封装。
网络模块4300可与外部装置通信。在示例中,网络模块4300可支持无线通信,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、WiMAX、WLAN、UWB、蓝牙和Wi-Fi。在示例中,网络模块4300可包括在应用处理器4100中。
存储模块4400可存储数据。例如,存储模块4400可存储从应用处理器4100接收的数据。可选地,存储模块4400可将存储在其中的数据传送至应用处理器4100。在示例中,存储模块4400可利用诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存或具有三维结构的NAND闪存的非易失性半导体存储器装置而被实施。在示例中,存储模块4400可被提供为诸如用户系统4000的存储卡或外部驱动器的可移动驱动器。
在示例中,存储模块4400可包括多个非易失性存储器装置,并且多个非易失性存储器装置可与参照图2描述的存储器装置相同地操作。存储模块4400可与参照图1描述的存储装置50相同地操作。
用户接口4500可包括用于将数据或命令输入到应用处理器4100或用于将数据输出到外部装置的接口。在示例中,用户接口4500可包括用户输入界面,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括用户输出接口,诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
根据本公开的实施例,提供了一种具有提高的操作速度的存储装置及其操作方法。
虽然已经参考本公开的实施例示出和描述了本公开,但是本领域技术人员根据本公开将理解的是,在不脱离由所附权利要求及其等同方案限定的本公开的精神和范围的情况下,可在形式和细节上进行各种改变。因此,本公开的范围不应限于上述实施例,而是应该不仅由所附权利要求确定而且由其等同方案确定。
在上述实施例中,可选择性地执行所有步骤或者可省略部分步骤。在每个实施例中,不一定按照所描述的顺序执行,并且可重新布置步骤。在本说明书和附图中公开的实施例仅是为了便于理解本公开的示例;本公开不限于此。也就是说,对于本领域技术人员显而易见的是,可基于本公开的技术范围进行各种修改。
在呈现的实施例中,这里使用特定术语。然而,这些术语仅用于解释本公开的实施例。因此,本公开不限于上述实施例,因为在本公开的精神和范围内可以进行许多变化。对于本领域技术人员显而易见的是,除了本文公开的实施例之外,还可以基于本公开的技术范围进行各种修改。

Claims (19)

1.一种存储器系统,包括:
主机,包括主机存储器和处理器;以及
存储装置,包括存储器装置和控制所述存储器装置的存储器控制器,
其中所述存储器控制器包括:
装置到主机信息生成器,即DTH信息生成器,生成包括所述存储装置的状态信息的DTH信息;
主机存储器访问器,向所述主机提供待被存储在所述主机存储器中的从所述DTH信息生成器接收的DTH信息;以及
中断信号生成器,基于来自所述主机存储器访问器的请求向所述主机输出通知已经将所述DTH信息提供给所述主机的中断信号,
其中所述处理器控制所述存储装置在从所述存储器控制器接收到所述中断信号之后使用存储在所述主机存储器中的DTH信息来执行操作。
2.根据权利要求1所述的存储器系统,
其中所述存储器控制器进一步包括生成所述存储装置的状态信息的状态信息生成器。
3.根据权利要求2所述的存储器系统,其中所述DTH信息生成器响应于从所述主机接收的DTH信息请求消息生成所述DTH信息。
4.根据权利要求2所述的存储器系统,其中当所述存储装置的状态信息改变时,所述DTH信息生成器生成包括改变的状态信息的所述DTH信息。
5.根据权利要求2所述的存储器系统,其中所述DTH信息存储在所述主机存储器中的主机存储器区域中。
6.根据权利要求5所述的存储器系统,
其中所述存储器控制器进一步包括存储所述存储装置的装置信息的装置信息储存器,
其中所述装置信息包括关于所述主机存储器区域的大小的信息,并且所述DTH信息包括所述装置信息。
7.根据权利要求6所述的存储器系统,其中所述装置信息储存器响应于所述主机的装置信息请求消息将所述装置信息提供给所述主机。
8.根据权利要求6所述的存储器系统,其中所述状态信息包括关于所述存储装置的后台操作的信息、关于所述存储装置的温度的信息以及关于所述存储装置的缺陷的信息中的至少一个。
9.根据权利要求1所述的存储器系统,
其中所述存储装置进一步包括从所述主机接收请求消息的请求消息接收器,
其中当所述请求消息是设置参数请求消息时,所述请求消息接收器向所述DTH信息生成器和所述中断信号生成器提供对应于所述设置参数请求消息的命令。
10.根据权利要求9所述的存储器系统,
其中所述DTH信息生成器基于所述命令存储待由所述主机识别的所述DTH信息的参数,并且
其中所述中断信号生成器基于所述命令存储待由所述主机识别的所述中断信号的参数。
11.一种操作存储器系统的方法,所述存储器系统包括主机和存储装置,所述方法包括:
通过所述存储装置生成待被传送到主机的装置到主机信息,即DTH信息;
通过所述存储装置向所述主机提供待被存储在所述主机的主机存储器中的所述DTH信息;
通过所述存储装置生成通知所述DTH信息已经提供给所述主机的中断信号;
通过所述存储装置将中断信号输出到所述主机;以及
通过所述主机控制所述存储装置在从所述存储装置接收到中断信号之后使用所述主机存储器中存储的DTH信息来执行操作。
12.根据权利要求11所述的方法,
进一步包括:执行初始化操作以由所述存储装置向所述主机提供所述DTH信息,
其中,执行所述初始化操作包括:
通过所述存储装置从所述主机接收装置信息请求消息;以及
通过所述存储装置响应于所述装置信息请求消息向所述主机提供所述存储装置的装置信息。
13.根据权利要求12所述的方法,其中提供所述装置信息包括:提供待被包括在所述DTH信息中的状态信息和关于所述主机存储器缓冲器区域的大小的信息。
14.根据权利要求12所述的方法,其中执行所述初始化操作进一步包括:
通过所述存储装置从所述主机接收设置参数请求消息;以及
通过所述存储装置生成对应于所述设置参数请求消息的命令。
15.根据权利要求14所述的方法,进一步包括:通过所述存储装置基于所述命令存储待由所述主机识别的所述DTH信息的参数和待由所述主机识别的所述中断信号的参数。
16.根据权利要求15所述的方法,其中生成所述DTH信息包括:生成待由所述主机识别的所述DTH信息。
17.根据权利要求15所述的方法,其中生成所述中断信号包括:当所述DTH信息被提供给所述主机时,生成待由所述主机识别的中断信号。
18.一种控制存储装置的主机,所述存储装置包括存储器装置和控制所述存储器装置的存储器控制器,所述主机包括:
主机存储器,存储所述存储装置的装置到主机信息,即DTH信息;以及
中央处理单元,接收通知已经存储所述存储装置的DTH信息的中断信号,并且基于所述中断信号获取存储在所述主机存储器中的所述DTH信息,
其中所述DTH信息包括所述存储装置的状态信息,
其中根据待由所述主机识别的参数生成所述DTH信息,以及
其中响应于从所述主机接收的设置参数请求消息来设置所述参数。
19.一种存储器控制器,所述存储器控制器联接在主机和存储器装置之间,所述存储器控制器包括:
装置到主机信息生成器,即DTH信息生成器,向所述主机提供根据待由所述主机识别的参数生成的DTH信息,以控制所述主机在所述主机中存储所述DTH信息,所述DTH信息包括所述存储器装置和所述存储器控制器的状态信息;以及
通知组件,基于存储的DTH信息通知所述主机存储所述DTH信息以供所述主机执行操作,
其中响应于从所述主机接收的设置参数请求消息来设置所述参数。
CN201910926029.5A 2018-11-01 2019-09-27 存储装置及其操作方法 Active CN111143255B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180132968A KR102555511B1 (ko) 2018-11-01 2018-11-01 저장 장치 및 그 동작 방법
KR10-2018-0132968 2018-11-01

Publications (2)

Publication Number Publication Date
CN111143255A CN111143255A (zh) 2020-05-12
CN111143255B true CN111143255B (zh) 2023-07-07

Family

ID=70459574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910926029.5A Active CN111143255B (zh) 2018-11-01 2019-09-27 存储装置及其操作方法

Country Status (3)

Country Link
US (1) US11281512B2 (zh)
KR (1) KR102555511B1 (zh)
CN (1) CN111143255B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12014080B2 (en) 2021-11-10 2024-06-18 Samsung Electronics Co., Ltd. Memory system using host memory buffer and operation method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957958A (zh) * 2016-10-17 2018-04-24 爱思开海力士有限公司 存储器系统及其操作方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021938A (ja) * 2002-06-20 2004-01-22 Oki Electric Ind Co Ltd データ転送制御回路
WO2005013137A1 (ja) * 2003-08-04 2005-02-10 Fujitsu Limited データ転送処理方法
KR20090053164A (ko) 2007-11-22 2009-05-27 재단법인서울대학교산학협력재단 상태 정보를 관리하는 플래시 메모리 제어 장치 및 방법
US20130086311A1 (en) * 2007-12-10 2013-04-04 Ming Huang METHOD OF DIRECT CONNECTING AHCI OR NVMe BASED SSD SYSTEM TO COMPUTER SYSTEM MEMORY BUS
US8255594B2 (en) * 2009-10-15 2012-08-28 Intel Corporation Handling legacy BIOS services for mass storage devices using systems management interrupts with or without waiting for data transferred to mass storage devices
US8335875B1 (en) * 2011-06-24 2012-12-18 Intel Corporation System and method for performing isochronous data buffering
US9128920B2 (en) * 2011-11-30 2015-09-08 Marvell World Trade Ltd. Interrupt handling systems and methods for PCIE bridges with multiple buses
KR101934519B1 (ko) * 2012-11-26 2019-01-02 삼성전자주식회사 저장 장치 및 그것의 데이터 전송 방법
BR112016012902A2 (pt) * 2014-01-16 2017-08-08 Intel Corp Aparelho, método e sistema para um mecanismo de configuração rápida
KR102339779B1 (ko) * 2015-04-06 2021-12-15 삼성전자주식회사 데이터 저장 장치, 이를 포함하는 데이터 처리 시스템, 및 상기 시스템의 작동 방법
KR102649318B1 (ko) 2016-12-29 2024-03-20 삼성전자주식회사 상태 회로를 포함하는 메모리 장치와 그것의 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107957958A (zh) * 2016-10-17 2018-04-24 爱思开海力士有限公司 存储器系统及其操作方法

Also Published As

Publication number Publication date
KR102555511B1 (ko) 2023-07-14
US11281512B2 (en) 2022-03-22
KR20200050219A (ko) 2020-05-11
US20200142766A1 (en) 2020-05-07
CN111143255A (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
US11543984B2 (en) Memory controller, storage device and operating method thereof
US20200310958A1 (en) Memory controller and method of operating the same
US11543986B2 (en) Electronic system including host, memory controller and memory device and method of operating the same
KR20210142981A (ko) 메모리 컨트롤러 및 그 동작 방법
KR20210077451A (ko) 저장 장치 및 그 동작 방법
CN111752856A (zh) 存储器控制器及其操作方法
CN111435333B (zh) 存储装置及其操作方法
CN112582011A (zh) 存储器设备及其操作方法
CN115708042A (zh) 储存装置、存储器装置及其操作方法
CN111258931A (zh) 存储器控制器及操作该存储器控制器的方法
KR20200099882A (ko) 메모리 컨트롤러 및 그 동작 방법
CN111338995B (zh) 数据存储装置及操作数据存储装置的方法
CN111143255B (zh) 存储装置及其操作方法
CN113568565B (zh) 存储器控制器及其操作方法
CN112015588B (zh) 存储控制器以及操作该存储控制器的方法
KR20220052161A (ko) 메모리 장치 및 그 동작 방법
CN112199037A (zh) 存储器控制器及其操作方法
CN112447234A (zh) 存储器控制器及其操作方法
CN111580743A (zh) 存储器控制器及其操作方法
KR20200114017A (ko) 컨트롤러 및 그 동작 방법
KR20200099825A (ko) 저장 장치 및 그 동작 방법
US11500768B2 (en) Storage device performing garbage collection and method of operating the same
US12039174B2 (en) Memory controller and method of operating the same
US11294590B2 (en) Storage device with fail page replacement capability and operating method thereof
US20230342040A1 (en) Memory controller 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
GR01 Patent grant
GR01 Patent grant