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

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

Info

Publication number
CN111435333A
CN111435333A CN201910917232.6A CN201910917232A CN111435333A CN 111435333 A CN111435333 A CN 111435333A CN 201910917232 A CN201910917232 A CN 201910917232A CN 111435333 A CN111435333 A CN 111435333A
Authority
CN
China
Prior art keywords
parameter
data
value
memory device
field
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.)
Granted
Application number
CN201910917232.6A
Other languages
English (en)
Other versions
CN111435333B (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.)
Mimi Ip Co ltd
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 CN111435333A publication Critical patent/CN111435333A/zh
Application granted granted Critical
Publication of CN111435333B publication Critical patent/CN111435333B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • 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/7206Reconfiguration of flash memory system
    • 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/7207Details relating to flash memory management management of metadata or control data
    • 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/7211Wear leveling

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

本申请涉及一种存储装置。该存储装置具有提高的操作速度,该存储装置包括用于控制存储器装置的存储器控制器。该存储器控制器包括:参数数据生成器,用于生成用于改变与存储器装置的操作相关的参数值的参数数据;以及参数控制器,用于输出参数数据。该参数数据包括与参数值相关联的错误保护字段。

Description

存储装置及其操作方法
相关申请的交叉引用
本申请要求于2019年1月11日提交的申请号为10-2019-0004124的韩国专利申请的优先权,其全部公开内容通过引用整体并入本文。
技术领域
本公开总体涉及一种电子装置,且更特别地,涉及一种存储装置及其操作方法。
背景技术
存储装置通常在诸如计算机、智能电话或智能平板的主机装置的控制下存储数据。存储装置可将数据存储在诸如硬盘驱动器(HDD)的磁盘上,并且也可以将数据存储在诸如固态驱动器(SSD)或存储卡的半导体存储器,即非易失性存储器上。
存储装置可包括被配置成存储数据的存储器装置以及被配置成控制该存储器装置的存储器控制器。存储器装置分为易失性存储器装置和非易失性存储器装置。非易失性存储器装置包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电RAM(FRAM),等等。
发明内容
实施例提供一种用于设置正常参数的存储装置及其操作方法。
根据本公开的方面,提供一种控制存储器装置的存储器控制器,该存储器控制器包括:参数数据生成器,被配置成生成用于改变与存储器装置的操作相关的参数值的参数数据;以及参数控制器,被配置成输出参数数据,其中参数数据包括与参数值相关联的错误保护字段。
根据本公开的另一方面,提供一种操作控制存储器装置的存储器控制器的方法,该方法包括:生成用于存储或改变与存储器装置的操作相关的参数值的参数数据,并且输出该参数数据,其中该参数数据包括与参数值相关联的错误保护字段。
根据本公开的又一方面,提供一种存储数据的存储器装置,该存储器装置包括:参数设置电路,被配置成设置与存储器装置的操作相关的参数值;以及寄存器,被配置成存储参数值,其中,当包括参数值的参数数据包括错误保护字段时,参数设置电路基于该错误保护字段的值来执行存储或改变参数值。
根据本公开的方面,提供一种存储装置,包括:存储器装置,包括寄存器;以及控制器,被配置成生成包括参数值和用于请求返回寄存器的值的返回字段的参数数据,其中存储器装置接收参数数据,将参数值存储在寄存器中以基于参数值来执行操作,并且响应于返回字段的值向控制器传送寄存器的值。
附图说明
现在将参照附图在下文中更全面地描述示例性实施例;然而,这些示例可以不同的形式来实施,并且不应被解释为限于本文阐述的实施例。相反地,提供这些实施例以使本公开将是彻底且完整的,并且将示例性实施例的范围全面地传达给本领域的技术人员。
在附图中,为了说明清楚,可能夸大尺寸。将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。相同的附图标记始终表示相同的元件。
图1是示出根据本公开的实施例的存储装置的框图。
图2是示出根据本公开的实施例的存储器控制器的配置和操作的示图。
图3是示出根据本公开的实施例的存储器装置的引脚配置的示图。
图4是示出根据本公开的实施例的用于改变参数的方法的示图。
图5是示出根据本公开的实施例的包括错误保护字段的参数数据的示图。
图6是示出根据本公开的实施例的在参数数据中包括设置值返回字段时存储器装置和存储器控制器的操作的示图。
图7是示出根据本公开的实施例的参数改变组字段的示图。
图8是示出根据本公开的实施例的改变数据显示字段和根据该改变数据显示字段来改变参数的方法的示图。
图9是示出根据本公开的实施例的存储器控制器的操作的示图。
图10是示出根据本公开的实施例的存储器装置的操作的示图。
图11是示出根据本公开的实施例的存储器装置的操作的示图。
图12是示出根据本公开的实施例的存储器装置的操作的示图。
图13是示出图1所示的存储器装置的结构的框图。
图14是示出根据本公开的实施例的存储器单元阵列的示例的示图。
图15是示出多个存储块之中的存储块的电路图。
图16是示出多个存储块之中的存储块的电路图。
图17是示出根据本公开的实施例的存储器控制器的示图。
图18是示出根据本公开的实施例的包括存储装置的存储卡系统的框图。
图19是示出根据本公开的实施例的包括存储装置的固态驱动器(SSD)系统的框图。
图20是示出根据本公开的实施例的具有存储装置的用户系统的框图。
具体实施方式
本文公开的具体结构或功能描述仅是说明性的,以用于描述根据本公开的技术方案的实施例的目的。根据本公开的技术方案的实施例可以各种形式实施,并且不能被解释为限于本文阐述的实施例。
根据本公开的技术方案的实施例可进行各种修改并具有各种形状。实施例在附图中示出,并且旨在在本文中被详细描述。然而,根据本公开的技术方案的实施例不被解释为限于特定公开,并且包括不脱离本公开的精神和技术范围的所有改变、等同方案或替代方案。
虽然诸如“第一”和“第二”的术语可用于描述各个组件,但这些组件不应被理解为被限于上述术语。上述术语仅用于将一个组件与另一个组件区分开。例如,在不脱离本公开的范围的情况下,第一组件可被称为第二组件,并且同样地,第二组件可被称为第一组件。
将理解的是,当元件被称为“连接”或“联接”到另一元件时,它可直接连接或联接到其它元件,或者也可存在中间元件。相反地,当元件被称为“直接连接”或“直接联接”到另一元件时,不存在中间元件。同时,可类似地来解释描述组件之间关系的其它表述,诸如“在……之间”、“直接在……之间”或“与……相邻”和“直接与……相邻”。
本申请中使用的术语仅用于描述特定实施例,并不旨在限制本公开。除非上下文另有明确说明,否则本公开中的单数形式也旨在包括复数形式。将进一步理解的是,诸如“包括”或“具有”等术语旨在指示本说明书中公开的特征、数字、操作、动作、组件、部件或其组合的存在,并且不旨在排除可能存在或可能添加一个或多个其它特征、数字、操作、动作、组件、部件或其组合的可能性。
只要没有进行不同的定义,则本文所使用的包括技术或科学术语的所有术语具有本公开所属领域的技术人员通常理解的含义。具有如字典中限定的定义的术语应当被理解,以使该术语具有与相关技术的背景下一致的含义。只要本申请中没有明确定义,则不应以理想化或过于形式化的方式来理解术语。
在描述实施例时,将省略对本公开所属领域公知并且与本公开不直接相关的技术的描述。通过省略不必要的描述,这旨在更清楚地公开本公开的主旨。
在下文中,将参照附图详细地描述本公开的示例性实施例,以使本领域技术人员能够容易地实施本公开的技术方案。
图1是示出根据本公开的实施例的存储装置50的框图。
参照图1,存储装置50可包括存储器装置100和存储器控制器200。
存储装置50可以是用于在诸如以下的主机300的控制下存储数据的装置:移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)、平板个人计算机(PC)或车载信息娱乐系统。
根据作为与主机300的通信方案的主机接口,存储装置50可被制造成各种类型的存储装置中的任意一种。例如,存储装置50可利用诸如以下的各种类型的存储装置中的任意一种来实施:固态驱动器(SSD),嵌入式多媒体卡(eMMC)型、尺寸减小的多媒体卡(RS-MMC)型和微型多媒体卡(微型MMC)型的多媒体卡(MMC),安全数字(SD)型、迷你安全数字(迷你-SD)型和微型安全数字(微型SD)型的安全数字(SD)卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型的存储装置,外围组件互连(PCI)卡型的存储装置,高速PCI(PCI-e或PCIe)卡型的存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
存储装置50可被制造成各种种类的封装类型中的任意一种。例如,存储装置50可被制造成诸如以下的各种种类的封装类型中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)以及晶圆级堆叠封装(WSP)。
存储器装置100可存储数据。存储器装置100在存储器控制器200的控制下操作。存储器装置100可包括存储器单元阵列,该存储器单元阵列包括用于存储数据的多个存储器单元。存储器单元阵列可包括多个平面。每个平面可包括多个存储块BLK1至BLKz。每个存储块可包括多个存储器单元。一个存储块可包括多个页面。在实施例中,页面可以是用于将数据存储在存储器装置100中或读取存储器装置100中存储的数据的单位。存储块可以是用于擦除数据的单位。在实施例中,存储器装置100可以是:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,描述了存储器装置100是NAND闪速存储器的情况。
在实施例中,存储器装置100可以在三维阵列结构中实施。本公开不仅可应用于其中电荷存储层配置有浮栅(FG)的闪速存储器装置,而且可应用于其中电荷存储层配置有绝缘层的电荷撷取闪存(CTF)。
在实施例中,存储器装置100中的存储器单元中的每一个可被配置成存储一个数据位的单层单元(SLC)。而且,存储器装置100中的存储器单元中的每一个可被配置成用于存储两个数据位的多层单元(MLC)、用于存储三个数据位的三层单元(TLC)或用于存储四个数据位的四层单元(QLC)。
存储器装置100被配置成从存储器控制器200接收命令和地址,并且访问存储器单元阵列中由地址选择的区域。也就是说,存储器装置100可对由地址选择的区域执行对应于命令的操作。例如,存储器装置100可执行写入(或编程)操作、读取操作和擦除操作。在编程操作中,存储器装置100可将数据编程在由地址选择的区域中。在读取操作中,存储器装置100可从由地址选择的区域读取数据。在擦除操作中,存储器装置100可擦除存储在由地址选择的区域中的数据。
存储器装置100可在存储器控制器200的控制下,利用设定操作电压来执行编程操作或擦除操作。
在实施例中,存储器装置100可包括参数设置电路126。参数设置电路126可设置由存储器装置100执行的操作所需的参数值。具体地,参数设置电路126可设置由存储器装置100执行的编程操作、读取操作和擦除操作之中的任意一个操作所需的参数值。存储器装置100可基于所设置的参数值来执行编程操作、读取操作和擦除操作之中的任意一个操作。
在实施例中,当从存储器控制器200接收的参数数据PM_DATA包括错误保护字段时,参数设置电路126可基于该错误保护字段的值来执行将设置值VALUE存储在参数数据PM_DATA中的操作。因此,参数设置电路126可根据错误保护字段中是否包括设置值返回(VALUE RETURN)字段、参数改变组(PARAMETER CHANGE GROUP)字段或改变数据显示(MASK)字段来执行存储设置值VALUE的操作(参见图5)。
存储器装置100可包括寄存器127。寄存器127可从参数设置电路126接收设置值VALUE。寄存器127可存储设置值VALUE(参见图6)。寄存器127可响应于参数设置电路126的请求而输出所存储的参数值。
存储器控制器200可控制存储装置50的全部操作。
当向存储装置50供应电力时,存储器控制器200可运行固件(FW)。当存储器装置100为闪速存储器装置时,存储器控制器200可运行诸如闪存转换层(FTL)的FW,用以控制主机300和存储器装置100之间的通信。
在实施例中,存储器控制器200可从主机300接收数据和逻辑块地址(LBA),并且将LBA转换为物理块地址(PBA),该物理块地址(PBA)表示存储器装置100中的、待存储数据的存储器单元的地址。而且,存储器控制器200可在缓冲存储器中存储建立LBA与PBA之间映射关系的逻辑到物理地址映射信息。
存储器控制器200可响应于来自主机300的请求,控制存储器装置100执行编程操作、读取操作或擦除操作。在编程操作中,存储器控制器200可向存储器装置100提供编程命令、PBA和数据。在读取操作中,存储器控制器200可向存储器装置100提供读取命令和PBA。在擦除操作中,存储器控制器200可向存储器装置100提供擦除命令和PBA。
在实施例中,存储器控制器200可在没有来自主机300的任何请求的情况下自主生成编程命令、地址和数据,并且将编程命令、地址和数据传输到存储器装置100。例如,存储器控制器200可将命令、地址及数据提供到存储器装置100以执行诸如损耗均衡和垃圾收集操作的后台操作。
在实施例中,存储器控制器200可包括参数数据生成器210。参数数据生成器210可生成参数数据PM_DATA。例如,参数数据生成器210可生成参数数据PM_DATA,用于执行与从主机300接收的请求相对应的操作。存储器装置100可基于该参数数据PM_DATA来执行与从主机300接收的请求相对应的操作。也就是说,当参数数据PM_DATA存储在存储器装置100中时,存储器装置100可基于所存储的参数数据PM_DATA来执行与主机300的请求相对应的操作。由存储器装置100执行的操作可以是编程(或写入)操作、读取操作和擦除操作中的任意一种。
在实施例中,参数数据PM_DATA可以是用于改变与由存储器装置100执行的操作相关的参数值的数据。参数数据生成器210可基于存储器控制器200的内部操作来生成参数数据PM_DATA。存储器控制器200的内部操作可基于由存储器装置100执行的操作来执行。
参数数据生成器210可将所生成的参数数据PM_DATA提供到参数控制器220。该参数控制器220可执行用于将参数数据PM_DATA的设置值VALUE存储在存储器装置100中的操作。
在实施例中,存储器控制器200可包括参数控制器220。参数控制器220可基于参数数据PM_DATA而将设置参数命令SP_CMD、参数地址PM_ADDR和参数数据PM_DATA输出到存储器装置100。也就是说,参数控制器220可执行允许存储器装置100根据参数数据PM_DATA中的设置值VALUE来进行操作的操作。
当参数数据PM_DATA包括错误保护字段时,参数控制器220可基于该错误保护字段来执行操作。
具体地,当错误保护字段包括设置值返回(VALUE RETURN)字段时,参数控制器220可执行用于请求寄存器127中存储的参数值的操作。也就是说,参数控制器220可向存储器装置100输出用于请求寄存器127中存储的参数值的设置参数命令SP_CMD。当参数数据PM_DATA中的设置值VALUE与寄存器127中存储的参数值不对应时,参数控制器220可执行用于重置参数数据PM_DATA中的设置值的操作。
在实施例中,存储装置50可包括至少两个存储器装置100,并且存储器控制器200可控制存储器装置100。存储器控制器200可根据交错(interleave)方案控制存储器装置100,以便提高操作性能。
主机300可使用诸如以下的各种通信方式中的至少一种来与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及低负载DIMM(LRDIMM)。
图2是示出根据本公开的实施例的例如图1所示的存储器控制器200的存储器控制器的配置和操作的示图。
参照图2,存储器控制器200可包括参数数据生成器210和参数控制器220。
参数数据生成器210可生成参数数据PM_DATA。参数数据PM_DATA可以是用于改变与由存储器装置100执行的操作相关的参数值的数据。由存储器装置100执行的操作可以是与主机300的请求相对应的操作。
在实施例中,参数数据生成器210可接收在存储器控制器200中内部生成的改进参数数据生成请求。参数数据生成器210可基于主机300的请求或由存储器装置100执行的操作来接收改进参数数据生成请求。
具体地,如果当确定需要改变参数时,参数数据生成器210接收到改进参数数据生成请求,则参数数据生成器210可生成包括错误保护字段的参数数据PM_DATA。如果当确定需要改变参数时,参数数据生成器210未接收到改进参数数据生成请求,则参数数据生成器210可生成不包括错误保护字段的正常参数数据。
参数数据生成器210可生成包括错误保护字段的参数数据PM_DATA。错误保护字段可以是添加到参数数据PM_DATA中以防止非预期参数的存储或改变的字段。
在实施例中,可能由于诸如突然断电(SPO)的电力异常改变而发生非预期参数的存储或改变。也就是说,在参数的存储或改变中,可将错误保护字段添加到参数数据PM_DATA中以存储或改变正常参数。错误保护字段可包括设置值返回(VALUE RETURN)字段、参数改变组(PARAMETER CHANGE GROUP)字段和改变数据显示(MASK)字段(参见图5)。除了上述字段之外,错误保护字段中的字段可以是多样化的。
在实施例中,设置值返回(VALUE RETURN)字段可表示,在参数数据PM_DATA中的设置值VALUE被存储在寄存器127中之后,请求寄存器127中的设置值VALUE。
在实施例中,参数改变组(PARAMETER CHANGE GROUP)字段可表示,由存储器装置100执行的操作被分类为组,并且确定参数数据PM_DATA中的设置值VALUE是否是与相应操作相关的参数值。仅当参数数据PM_DATA中的设置值VALUE是与相应操作相关的参数值时,存储器装置100才可改变参数值。
在实施例中,改变数据显示(MASK)字段可表示存储器装置100中存储的参数中待改变数据的位置。也就是说,存储器装置100可基于改变数据显示(MASK)字段,仅改变位于由改变数据显示(MASK)字段表示的位置处的数据。
将参照图5至图8更详细地描述错误保护字段中包括的每个字段。
参数控制器220可向存储器装置100提供设置参数命令SP_CMD、参数地址PM_ADDR和参数数据PM_DATA,以将参数数据PM_DATA的设置值VALUE存储在存储器装置100中。存储器装置100可通过从参数控制器220接收设置参数命令SP_CMD、参数地址PM_ADDR和参数数据PM_DATA来存储参数数据PM_DATA的设置值VALUE。随后,存储器装置100可基于所存储的参数值来执行操作。由存储器装置100执行的操作可以是编程操作、读取操作或擦除操作。存储器装置100的参数值可包括与编程电压、读取电压或擦除电压相关的值。
图3是示出根据本公开的实施例的例如图1所示的存储器装置100的存储器装置的引脚配置的示图。
参照图3,存储器装置100可通过多个输入和输出(输入/输出)线来与外部控制器(例如,图1和图2的存储器控制器200)通信。例如,存储器装置100可通过控制信号线与外部控制器通信,该控制信号线包括芯片使能线CE#、写入使能线WE#、读取使能线RE#、地址锁存使能线ALE、命令锁存使能线CLE、写入防止线WP#、就绪忙碌线RB以及数据输入/输出线DQ。
存储器装置100可通过芯片使能线CE#从外部控制器接收芯片使能信号。存储器装置100可通过写入使能线WE#从外部控制器接收写入使能信号。存储器装置100可通过读取使能线RE#从外部控制器接收读取使能信号。存储器装置100可通过地址锁存使能线ALE从外部控制器接收地址锁存使能信号。存储器装置100可通过命令锁存使能线CLE从外部控制器接收命令锁存使能信号。存储器装置100可通过写入防止线WP#从外部控制器接收写入防止信号。
在实施例中,存储器装置100可通过就绪忙碌线RB向存储器控制器200提供就绪忙碌信号,用于输出存储器装置100是处于就绪状态还是忙碌状态。
芯片使能信号可以是用于选择存储器装置100的控制信号。当芯片使能信号处于逻辑“高”状态且存储器装置100对应于“就绪”状态时,存储器装置100可进入低功率待机状态。
写入使能信号可以是用于控制将输入到存储器装置100的命令、地址和输入数据存储在其中的锁存器中的控制信号。
读取使能信号可以是用于使存储器装置100中存储的串行数据输出的控制信号。
地址锁存使能信号可以是由主机(图1的主机300)所使用的控制信号中的一种,以表示通过输入/输出线DQ输入了什么类型的信号。换言之,地址锁存使能信号可表示通过输入/输出线DQ输入的信号是地址。
命令锁存使能信号可以是由主机所使用的控制信号中的一种,以表示通过输入/输出线DQ输入的信号是命令。
当命令锁存使能信号被启用(例如,命令锁存使能信号具有逻辑高电平或处于逻辑高状态),地址锁存使能信号被停用(例如,处于逻辑低状态),并且写入使能信号被启用(例如,处于逻辑低状态)并然后被停用(例如,处于逻辑高状态)时,存储器装置100可识别通过输入/输出线DQ输入的信号是命令。
当命令锁存使能信号被停用(例如,处于逻辑低状态),地址锁存使能信号被启用(例如,处于逻辑高状态),并且写入使能信号被启用(例如,处于逻辑低状态)并然后被停用(例如,处于逻辑高状态)时,存储器装置100可识别通过输入/输出线DQ输入的信号是地址。
写入防止信号可以是用于停用由存储器装置100执行的编程操作和擦除操作的控制信号。
就绪忙碌信号可以是用于识别存储器装置100的状态的信号。处于逻辑低状态的就绪忙碌信号表示存储器装置100正在执行至少一个操作,即存储器装置100忙碌。处于逻辑高状态的就绪忙碌信号表示存储器装置100未执行任何操作,即存储器装置100就绪。
当存储器装置100正在执行编程操作、读取操作和擦除操作中的任意一个时,就绪忙碌信号可处于低状态。在本公开的实施例中,参照图2描述的存储器控制器200可基于就绪忙碌信号来确定结束时间,该结束时间是编程操作或擦除操作结束的时间。
图4是示出根据本公开的实施例的用于改变参数的方法的示图。图4的方法可由图1和图2中的存储器控制器200的参数控制器220来执行。
参照图4,参数控制器220可使用设置参数命令SP_CMD来存储或改变参数值。具体地,参数控制器220可基于设置参数命令SP_CMD将参数数据PM_DATA的设置值VALUE存储在存储器装置100中。可选地,参数控制器220可将存储器装置100中存储的参数值改变为参数数据PM_DATA的设置值VALUE。
参数控制器220可通过数据输入/输出线DQ来向存储器装置100顺序地提供设置参数命令SP_CMD、参数地址PM_ADDR和参数数据PM_DATA。存储器装置100可基于从参数控制器220提供的命令、地址和数据来存储或改变参数值。
当需要存储或改变参数值时,参数控制器220可向存储器装置100提供设置参数命令SP_CMD。当设置参数命令SP_CMD被提供到存储器装置100时,存储器装置100可将参数数据PM_DATA的设置值VALUE存储在对应于参数地址PM_ADDR的寄存器127中。可选地,存储器装置100可将对应于参数地址PM_ADDR的寄存器127中存储的参数值改变为参数数据PM_DATA的设置值VALUE。
为了存储或改变参数值,参数控制器220可向存储器装置100提供待存储参数值的参数地址PM_ADDR。存储器装置100可将从参数控制器220接收的参数数据PM_DATA的设置值VALUE存储在对应于参数地址PM_ADDR的寄存器127中。
参数控制器220可基于从参数数据生成器210提供的参数数据PM_DATA来存储或改变与由存储器装置100执行的操作相关的参数值。存储器装置100可基于被存储或经改变的参数值来执行操作。
图5是示出根据本公开的实施例的包括错误保护字段的参数数据的示图。
参照图5,参数数据PM_DATA可包括设置值VALUE和错误保护字段。错误保护字段可包括设置值返回(VALUE RETURN)字段、参数改变组(PARAMETER CHANGE GROUP)字段和改变数据显示(MASK)字段。参数数据PM_DATA可包括错误保护字段中包括的字段中的至少一个。当参数数据PM_DATA不包括错误保护字段时,存储器装置100可存储参数数据PM_DATA中仅包括的参数值。
在实施例中,参数数据PM_DATA可包括设置值VALUE。设置值VALUE可以是存储器装置100执行操作时所利用的参数值。也就是说,设置值VALUE可包括存储器装置100的操作所需的最大值或最小值。最大值或最小值可以是施加编程脉冲的次数或施加擦除脉冲的次数的最大值或最小值。因此,参数数据生成器210可生成包括存储器装置100的操作所需的参数值的参数数据PM_DATA。当参数数据PM_DATA的设置值VALUE存储在存储器装置100中时,存储器装置100可基于该设置值VALUE来执行操作。
参数数据PM_DATA可包括错误保护字段。错误保护字段可包括设置值返回(VALUERETURN)字段、参数改变组(PARAMETER CHANGE GROUP)字段和改变数据显示(MASK)字段。因此,参数数据PM_DATA可包括设置值返回(VALUE RETURN)字段、参数改变组(PARAMETERCHANGE GROUP)字段和改变数据显示(MASK)字段之中的至少一个字段。当参数数据PM_DATA包括错误保护字段时,存储器控制器200或存储器装置100可基于参数数据PM_DATA的错误保护字段的值来执行用于存储或改变参数值的操作。
在实施例中,参数数据PM_DATA可包括设置值返回(VALUE RETURN)字段。当参数设置电路126从参数控制器220接收到参数数据PM_DATA时,存储器装置100的参数设置电路126可将参数数据PM_DATA的设置值VALUE存储在寄存器127中并且然后请求该寄存器127中存储的参数值。
参数设置电路126可将寄存器127中存储的参数值输出到参数控制器220。参数控制器220可基于参数数据PM_DATA的设置值VALUE和寄存器127中存储的参数值是否彼此对应来执行用于设置参数值的后续操作。
将参照图6更详细地描述基于参数数据PM_DATA的设置值VALUE和寄存器127中存储的参数值是否彼此对应而执行的操作。
在实施例中,参数数据PM_DATA可包括参数改变组(PARAMETER CHANGE GROUP)字段。参数改变组(PARAMETER CHANGE GROUP)字段可表示由存储器装置100执行的操作被分类为组,并且确定参数数据PM_DATA的设置值VALUE是与相应操作相关的参数值。仅当参数数据PM_DATA的设置值VALUE是与相应操作相关的参数值时,存储器装置100才可改变参数值。
具体地,当参数设置电路126从参数控制器220接收到包括参数改变组(PARAMETERCHANGE GROUP)字段的参数数据PM_DATA时,参数设置电路126可检查参数改变组(PARAMETER CHANGE GROUP)字段的值。
在参数设置电路126检查参数改变组(PARAMETER CHANGE GROUP)字段的值之后,参数设置电路126可将参数数据PM_DATA的设置值VALUE存储在寄存器127中。也就是说,存储器装置100可基于待执行的操作的字段值是否对应于参数改变组(PARAMETER CHANGEGROUP)字段的值,将设置值VALUE存储在寄存器127中。因此,在参数数据PM_DATA的设置值VALUE被存储在寄存器127中之前,检查参数改变组(PARAMETER CHANGE GROUP)字段的值,以使存储器装置100可防止非预期的参数改变。
将参照图7更详细地描述参数改变组(PARAMETER CHANGE GROUP)字段的值。
在实施例中,参数数据PM_DATA可包括改变数据显示(MASK)字段。改变数据显示(MASK)字段可表示存储器装置100中存储的参数中待改变的数据的位置。也就是说,存储器装置100可基于改变数据显示(MASK)字段,仅改变位于由改变数据显示(MASK)字段表示的位置处的数据。
具体地,当参数设置电路126从参数控制器220接收到包括改变数据显示(MASK)字段的参数数据PM_DATA时,参数设置电路126可检查寄存器127的参数值中待改变的值的位置。也就是说,参数设置电路126可检查待改变的参数的设置值中待掩蔽(mask)位置处的数据。参数设置电路126可仅改变寄存器127的参数值中掩蔽位置处的数据。仅改变掩蔽位置处的数据,从而可防止非预期的参数改变。
将参照图8更详细地描述根据改变数据显示(MASK)字段来改变参数值的方法。
图6是示出根据本公开的实施例的在参数数据中包括设置值返回字段时存储器装置和存储器控制器的操作的示图。图6的操作可由图1和图2中的存储器装置100和存储器控制器200来执行。
参照图6,示出了将参数数据PM_DATA的设置值VALUE正常存储在寄存器127中的操作。也就是说,示出了当设置值VALUE被异常地存储在存储器装置100中时,用于正常存储参数数据PM_DATA的设置值的方法。
具体地,图6示出在参数控制器220将设置参数命令SP_CMD、参数地址PM_ADDR和参数数据PM_DATA输出到存储器装置100的参数设置电路126之后的操作。
在实施例中,参数设置电路126可执行对应于设置参数命令SP_CMD的操作。参数设置电路126可将参数数据PM_DATA的设置值VALUE存储在寄存器127中(①)。存储器装置100可基于寄存器127中存储的参数值来执行操作。
在将参数数据PM_DATA的设置值VALUE存储在寄存器127中之后,可输出寄存器127中存储的参数值。在实施例中,当参数数据PM_DATA包括设置值返回(VALUE RETURN)字段时,参数设置电路126可请求寄存器127中存储的参数值,并且寄存器127可输出与参数设置电路126的请求相对应的参数值。
当参数数据PM_DATA包括设置值返回(VALUE RETURN)字段时,参数控制器220可基于该设置值返回(VALUE RETURN)字段的值来接收存储器装置100中存储的参数值。具体地,设置值返回(VALUE RETURN)字段的值可以是0或1。参数设置电路126可获取寄存器127中存储的参数值(②)。
当设置值返回(VALUE RETURN)字段的值可能是0时,参数设置电路126可请求寄存器127中存储的参数值。当设置值返回(VALUE RETURN)字段的值可能是1时,参数设置电路126可将设置值VALUE存储在寄存器127中。然后,可结束对应于设置参数命令SP_CMD的操作。
在另一实施例中,当设置值返回(VALUE RETURN)字段的值为1时,参数设置电路126可请求寄存器127中存储的参数值。当设置值返回(VALUE RETURN)字段的值为0时,参数设置电路126可将设置值VALUE存储在寄存器127中。然后,可结束对应于设置参数命令SP_CMD的操作。
参数设置电路126可将从寄存器127接收的参数值输出到参数控制器220(③)。参数控制器220可将提供到参数设置电路126的参数数据PM_DATA的设置值VALUE与从参数设置电路126接收的参数值进行比较。参数控制器220可基于参数数据PM_DATA中的设置值VALUE与从参数设置电路126接收的参数值的比较结果来执行后续操作。
具体地,参数设置电路126从参数控制器220接收的参数数据PM_DATA中的设置值VALUE可等于寄存器127中存储的参数值。因为待由参数控制器220设置的参数值被存储,所以参数控制器220可不执行后续操作。
然而,可能由于诸如突然断电(SPO)的电力异常改变而发生参数值的非预期改变。也就是说,当参数数据PM_DATA的设置值VALUE不同于寄存器127中存储的参数值时,参数控制器220可执行后续操作。具体地,为了将待由参数控制器220存储的设置值VALUE重新存储在存储器装置100中,参数控制器220可将设置参数命令SP_CMD输出到参数设置电路126(④)。除了设置参数命令SP_CMD之外,参数控制器220还可将参数地址PM_ADDR和参数数据PM_DATA重新输出到参数设置电路126。
通常,在通过设置参数命令SP_CMD使待设置的参数值存储在寄存器127中之后,通过获取参数命令GP_CMD检查寄存器127中存储的参数值。在存储器控制器200将设置参数命令SP_CMD输出到存储器装置100之后,如果需要,则存储器控制器200输出获取参数命令GP_CMD。然而,在本发明中,在通过设置参数命令SP_CMD输出的参数数据PM_DATA中包括设置值返回(VALUE RETURN)字段,从而可在不向存储器装置100输出单独的获取参数命令GP_CMD的情况下检查寄存器127中存储的参数值。因此,参数控制器220可在不向存储器装置100输出获取参数命令GP_CMD的情况下检查寄存器127中存储的参数值。
图7是示出根据本公开的实施例的例如图5所示的参数改变组字段的参数改变组字段的示图。
参照图5和图7,参数数据PM_DATA可包括参数改变组(PARAMETER CHANGE GROUP)字段。参数改变组(PARAMETER CHANGE GROUP)字段可基于由存储器装置100执行的相应操作来分类。在实施例中,相应操作可以是编程操作、读取操作或擦除操作。参数改变组(PARAMETER CHANGE GROUP)字段也可基于除了由存储器装置100执行的操作之外的各种操作来分类。在下文中,将基于编程操作、读取操作或擦除操作来描述参数改变组(PARAMETERCHANGE GROUP)字段。
参数数据PM_DATA可包括参数改变组(PARAMETER CHANGE GROUP)字段。参数改变组(PARAMETER CHANGE GROUP)字段可表示由存储器装置100执行的操作被分类为组,并且确定参数数据PM_DATA的设置值VALUE是否是与相应操作相关的参数值。当参数数据PM_DATA的设置值VALUE是与相应操作相关的参数值时,存储器装置100可将设置值VALUE存储在寄存器127中,或者将寄存器127中的参数值改变为设置值VALUE。在将参数数据PM_DATA中的设置值VALUE存储在寄存器127中之前,检查参数改变组(PARAMETER CHANGE GROUP)字段的值,使得存储器装置100可防止非预期的参数改变。
具体地,参数设置电路126可接收包括参数改变组(PARAMETER CHANGE GROUP)字段的参数数据PM_DATA。对应于编程操作PROGRAM的参数改变组(PARAMETER CHANGE GROUP)字段的值可以是“0”。对应于读取操作READ的参数改变组(PARAMETER CHANGE GROUP)字段的值可以是“1”。对应于擦除操作ERASE的参数改变组(PARAMETER CHANGE GROUP)字段的值可以是“2”。
参数设置电路126可检查待由存储器装置100执行的操作是否与对应于参数改变组(PARAMETER CHANGE GROUP)字段的值的操作相同。也就是说,参数设置电路126可通过检查参数改变组(PARAMETER CHANGE GROUP)字段的值来将设置值VALUE存储在寄存器127中。
在实施例中,待由存储器装置100执行的操作可以是编程操作PROGRAM。因此,仅当参数数据PM_DATA中的参数改变组(PARAMETER CHANGE GROUP)字段的值为“0”时,参数设置电路126才可将设置值VALUE存储在寄存器127中。
也就是说,当待由存储器装置100执行的操作与对应于参数数据PM_DATA中包括的参数改变组(PARAMETER CHANGE GROUP)字段的值的操作不同时,参数设置电路126可不将设置值VALUE存储在寄存器127中。也就是说,参数设置电路126可丢弃从参数控制器220接收的设置参数命令SP_CMD。具体地,如果当待由存储器装置100执行的操作是编程操作PROGRAM时,参数数据PM_DATA中的参数改变组(PARAMETER CHANGE GROUP)字段的值为“1”或“2”,则参数设置电路126可不将设置值VALUE存储在寄存器127中。
在实施例中,待由存储器装置100执行的操作可以是读取操作READ。因此,当参数数据PM_DATA中的参数改变组(PARAMETER CHANGE GROUP)字段的值为“1”时,参数设置电路126可将设置值VALUE存储在寄存器127中。当参数数据PM_DATA中的参数改变组(PARAMETERCHANGE GROUP)字段的值不为“1”时,参数设置电路126可不将设置值VALUE存储在寄存器127中。
在实施例中,待由存储器装置100执行的操作可以是擦除操作ERASE。因此,当参数数据PM_DATA中的参数改变组(PARAMETER CHANGE GROUP)字段的值为“2”时,参数设置电路126可将设置值VALUE存储在寄存器127中。当参数数据PM_DATA中的参数改变组(PARAMETERCHANGE GROUP)字段的值不为“2”时,参数设置电路126可不将设置值VALUE存储在寄存器127中。
图8是示出根据本公开的实施例的例如图5所示的改变数据显示(MASK)字段的改变数据显示字段和用于根据改变数据显示字段来改变参数的方法的示图。例如,图8的方法可由图6中的存储器装置100和存储器控制器200来执行。
作为示例,图8示出在参数数据PM_DATA中的设置值VALUE被存储在寄存器127中之后,将寄存器127中存储的设置值VALUE改变为另一值的方法。参照图5和图8,参数数据PM_DATA可包括改变数据显示(MASK)字段。
改变数据显示(MASK)字段可包括用于掩蔽寄存器127中存储的参数值中待改变的数据的位置的数据。参数设置电路126可基于改变数据显示(MASK)字段的数据来改变寄存器127中存储的参数值。在实施例中,可将改变数据显示(MASK)字段的数据中被掩蔽的位置表示为“F”。改变数据显示(MASK)字段可被配置成与寄存器127中存储的参数值相同,除了被掩蔽的位置。
在图8中,参数数据PM_DATA包括设置值VALUE、目标参数值TARGET和改变数据显示(MASK)字段。
在实施例中,参数设置电路126可在寄存器127中存储从参数控制器220接收的参数数据PM_DATA中的设置值VALUE。例如,设置值VALUE可以是“0X30”,并且该设置值VALUE可存储在寄存器127中。
参数设置电路126可从参数控制器220接收用于改变寄存器127中的参数值的设置参数命令SP_CMD。基于该设置参数命令SP_CMD,可将寄存器127中的参数值改变为目标参数值TARGET。因此,可将“0X30”改变为“0X50”参数设置电路126可通过接收设置参数命令SP_CMD、参数地址PM_ADDR和参数数据PM_DATA来改变参数值。参数数据PM_DATA中的设置值VALUE可以是目标参数值TARGET。
然而,可能由于诸如突然断电(SPO)的电力异常改变而发生参数值的非预期改变。为了防止参数值的这种改变,参数数据PM_DATA可包括改变数据显示(MASK)字段。当参数数据PM_DATA中包括改变数据显示(MASK)字段时,参数设置电路126可改变寄存器127中存储的数据中由改变数据显示(MASK)字段表示的位置处的值。
具体地,在将设置值VALUE“0X30”存储在寄存器127中之后,参数设置电路126可接收包括设置值VALUE的参数数据PM_DATA。参数设置电路126可仅改变位于待改变参数设置值中被掩蔽的位置处的数据。参数设置电路126可将寄存器127中存储的参数值中的掩蔽位置处的“3”改变为“5”因此,不会改变除了待改变的值“3”之外的值,从而可防止非预期的参数值改变。
图9是示出根据本公开的实施例的例如图1至图8的存储器控制器200的存储器控制器的操作的示图。
参照图9,在步骤S901中,参数数据生成器210可确定存储器控制器200中是否已接收到改进参数数据生成请求。当基于存储器控制器200的内部操作确定需要参数改变时,参数数据生成器210可基于改进参数数据生成请求来生成参数数据PM_DATA。存储器控制器200的内部操作可基于由存储器装置100执行的操作来执行。
当参数数据生成器210接收到改进参数数据生成请求(S903,是)时,操作进行到步骤S903。当参数数据生成器210未接收到改进参数数据生成请求(S903,否)时,操作进行到步骤S905。
在步骤S903中,参数数据生成器210可生成包括错误保护字段的参数数据PM_DATA。错误保护字段可以是为防止非预期参数的存储或更改而添加的字段。可能由于诸如突然断电(SPO)的电力异常改变而发生非预期参数的存储或改变。也就是说,在参数的存储或改变中,可将错误保护字段添加到参数数据PM_DATA中以便存储或改变正常参数。错误保护字段可包括设置值返回(VALUE RETURN)字段、参数改变组(PARAMETER CHANGE GROUP)字段和改变数据显示(MASK)字段。
在步骤S905中,参数数据生成器210可生成正常参数数据。正常参数数据可不包括错误保护字段。具体地,如果当确定需要参数改变时,参数数据生成器210未接收到改进参数数据生成请求,则参数数据生成器210可生成不包括错误保护字段的正常参数数据。当参数数据生成器210向参数控制器220输出正常参数数据时,参数控制器220可设置正常参数数据中包括的参数值。
图10是示出根据本公开的实施例的例如图1至图8的存储器装置100的存储器装置的操作的示图。
参照图10,在步骤S1001中,可确定参数数据PM_DATA是否包括设置值返回(VALUERETURN)字段。参数数据PM_DATA可包括错误保护字段。错误保护字段可包括设置值返回(VALUE RETURN)字段、参数改变组(PARAMETER CHANGE GROUP)字段和改变数据显示(MASK)字段中的至少一个。当确定参数数据PM_DATA包括设置值返回(VALUE RETURN)字段时,操作进行到步骤S1003。
在步骤S1003中,可确定设置值返回(VALUE RETURN)字段的值是否为0。具体地,设置值返回(VALUE RETURN)字段的值可以是0或1。参数设置电路126可基于设置值返回(VALUE RETURN)字段的值,执行用于将设置值VALUE存储在寄存器127中的操作。当确定设置值返回(VALUE RETURN)字段的值为0(S1003,是)时,操作进行到步骤S1005。当确定设置值返回(VALUE RETURN)字段的值不为0(S1003,否)时,操作进行到步骤S1007。
在步骤S1005中,当确定设置值返回(VALUE RETURN)字段的值为0时,参数设置电路126可将参数数据PM_DATA的设置值VALUE存储在寄存器127中。在参数设置电路126将设置值VALUE存储在寄存器127中之后,参数设置电路126可请求寄存器127中存储的参数值。参数设置电路126可将从寄存器127接收的参数值输出到参数控制器220。
参数控制器220可将提供到参数设置电路126的参数数据PM_DATA的设置值VALUE与从参数设置电路126接收的参数值进行比较。参数控制器220可基于参数数据PM_DATA的设置值VALUE与从参数设置电路126接收的参数值的比较结果来执行后续操作。
在步骤S1007中,当确定设置值返回(VALUE RETURN)字段的值不为0时,则设置值返回(VALUE RETURN)字段的值为1。参数设置电路126可将参数数据PM_DATA的设置值VALUE存储在寄存器127中。如果当设置值返回(VALUE RETURN)字段的值为1时,参数设置电路126将设置值VALUE存储在寄存器127中,则可结束对应于设置参数命令SP_CMD的操作。
图11是示出根据本公开的实施例的例如图1至图8的存储器装置100的存储器装置的操作的示图。
参照图11,在步骤S1101中,可确定参数数据PM_DATA是否包括参数改变组(PARAMETER CHANGE GROUP)字段。参数数据PM_DATA可包括错误保护字段。错误保护字段可包括设置值返回(VALUE RETURN)字段、参数改变组(PARAMETER CHANGE GROUP)字段和改变数据显示(MASK)字段中的至少一个。当参数数据PM_DATA包括参数改变组(PARAMETERCHANGE GROUP)字段时,操作进行到步骤S1103。
在步骤S1103中,可确定参数数据PM_DATA的设置值VALUE是否是对应于参数改变组PARAMETER CHANGE GROUP的操作的值。
参数改变组(PARAMETER CHANGE GROUP)字段可表示由存储器装置100执行的操作被分类为组,并且确定参数数据PM_DATA的设置值VALUE是否是与相应操作相关的参数值。当参数数据PM_DATA的设置值VALUE是与相应操作相关的参数值时,存储器装置100可将设置值VALUE存储在寄存器127中,或者将寄存器127中存储的参数值改变为设置值VALUE。在将参数数据PM_DATA的设置值VALUE存储在寄存器127中之前,检查参数改变组(PARAMETERCHANGE GROUP)字段的值,使得存储器装置100可防止非预期的参数改变。
当确定参数数据PM_DATA的设置值VALUE是对应于参数改变组PARAMETER CHANGEGROUP的操作的值(S1103,是)时,操作进行到步骤S1105。当确定参数数据PM_DATA的设置值VALUE不是对应于参数改变组PARAMETER CHANGE GROUP的操作的值(S1103,否)时,操作进行到步骤S1107。
在步骤S1105中,参数设置电路126可将参数数据PM_DATA中包括的设置值VALUE存储在寄存器127中。也就是说,当待由存储器装置100执行的操作和与参数改变组(PARAMETER CHANGE GROUP)字段的值相对应的操作彼此相同时,参数设置电路126可将设置值VALUE存储在寄存器127中。
在步骤S1107中,参数设置电路126可丢弃从参数控制器220接收的设置参数命令SP_CMD。也就是说,当待由存储器装置100执行的操作和与参数改变组(PARAMETER CHANGEGROUP)字段的值相对应的操作彼此不同时,参数设置电路126可不将设置值VALUE存储在寄存器127中。
图12是示出根据本公开的实施例的例如图1至图8的存储器装置100的存储器装置的操作的示图。
参照图12,在步骤S1201中,可确定参数数据PM_DATA是否包括改变数据显示(MASK)字段。参数数据PM_DATA可包括错误保护字段。错误保护字段可包括设置值返回(VALUE RETURN)字段、参数改变组(PARAMETER CHANGE GROUP)字段和改变数据显示(MASK)字段中的至少一个。当确定参数数据PM_DATA包括改变数据显示(MASK)字段时,操作进行到步骤S1203。
在步骤S1203中,参数设置电路126可通过接收参数数据PM_DATA来仅改变在待改变参数设置值中被掩蔽的位置处的数据。参数设置电路126可仅改变寄存器127中存储的参数值中被掩蔽的位置处的数据。因此,不改变除了待改变的值之外的值,从而可防止非预期的参数值改变。
图13是示出根据本公开的实施例的例如图1所示的存储器装置100的存储器装置的结构的框图。
参照图13,存储器装置100包括存储器单元阵列110和外围电路120。外围电路120包括地址解码器121、电压生成器122、读取和写入(读取/写入)电路123、数据输入和输出(输入/输出)电路124和控制逻辑125。
存储器单元阵列110可包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL联接到地址解码器121,并且通过位线BL1至BLm联接到读取/写入电路123。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元为非易失性存储器单元。
存储器单元阵列110中的多个存储器单元可根据其用途而被划分成多个块。系统信息具有控制存储器装置100所需的各种设置信息,并且可被存储在多个块中。
第一至第z存储块BLK1至BLKz中的每一个包括多个单元串。第一至第m单元串分别联接到第一至第m位线BL1至BLm。第一至第m单元串中的每一个包括漏极选择晶体管、串联联接的多个存储器单元和源极选择晶体管。漏极选择晶体管联接到漏极选择线。第一至第n存储器单元联接到第一至第n字线。源极选择晶体管联接到源极选择线。漏极选择晶体管的漏极侧联接到相应位线。第一至第m单元串的漏极选择晶体管分别联接到第一至第m位线BL1至BLm。源极选择晶体管的源极侧联接到共源线。在实施例中,共源线可共同联接到第一至第z存储块BLK1至BLKz。行线RL中包括漏极选择线DSL、第一至第n字线以及源极选择线。由地址解码器121控制漏极选择线DSL、第一至第n字线以及源极选择线。由控制逻辑125控制共源线。由读取/写入电路123控制第一至第m位线BL1至BLm。
地址解码器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可包括用于接收内部电源电压的多个泵浦(pumping)电容器,并且可在控制逻辑130的控制下通过选择性地启用多个泵浦电容器来生成多个电压。将所生成的多个电压施加到由地址解码器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。
控制逻辑125可包括参数设置电路126。
在实施例中,参数设置电路126可设置由存储器装置100执行的操作所需的参数值。具体地,参数设置电路126可设置编程操作、读取操作和擦除操作之中的任意一个操作所需的参数值。存储器装置100可基于所设置的参数值来执行编程操作、读取操作和擦除操作之中的任意一个操作。
在实施例中,当从存储器控制器200接收的参数数据PM_DATA包括错误保护字段时,参数设置电路126可基于该错误保护字段的值来执行存储参数数据PM_DATA中的设置值VALUE的操作。因此,参数设置电路126可根据错误保护字段中是否包括设置值返回(VALUERETURN)字段、参数改变组(PARAMETER CHANGE GROUP)字段或改变数据显示(MASK)字段来执行用于存储参数数据PM_DATA中的设置值VALUE的操作。
控制逻辑125可包括寄存器127。
在实施例中,寄存器127可从参数设置电路126接收设置值VALUE。寄存器127可存储设置值VALUE。寄存器127可响应于参数设置电路126的请求而输出所存储的参数值。
图14是示出根据本公开的实施例的例如图13所示的存储器单元阵列110的存储器单元阵列的示例的示图。
参照图14,存储器单元阵列110可包括多个存储块BLK1至BLKz。每个存储块可具有三维结构。每个存储块可包括堆叠在衬底(未示出)上的多个存储器单元。多个存储器单元可沿+X、+Y和+Z方向布置。将参照图15和图16更详细地描述每个存储块的结构。
图15是示出图14所示的存储块BLK1至BLKz之中的任意一个存储块BLKa的电路图。
参照图15,存储块BLKa可包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,多个单元串CS11至CS1m和CS21至CS2m中的每一个可形成为“U”形。在存储块BLKa中,m个单元串沿行方向(即,+X方向)布置。图15示出两个单元串在列方向(即,+Y方向)上布置。然而,这是为了方便起见,并且将理解的是,三个单元串可沿列方向布置。
多个单元串CS11至CS1m和CS21至CS2m中的每一个可包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可具有彼此相似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可包括沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可在每个单元串中设置用于提供沟道层的柱。在实施例中,可在每个单元串中设置用于提供沟道层、隧道绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每个单元串的源极选择晶体管SST联接在共源线CSL和存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接到不同的源极选择线。在图15中,第一行上的单元串CS11至CS1m的源极选择晶体管联接到第一源极选择线SSL1。第二行上的单元串CS21至CS2m的源极选择晶体管联接到第二源极选择线SSL2。
在另一实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可共同联接到一个源极选择线。
每个单元串的第一至第n存储器单元MC1至MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一至第n存储器单元MC1至MCn可被划分为第一至第p存储器单元MC1至MCp和第(p+1)至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp顺序地布置在+Z方向的相反方向上,并且串联联接在源极选择晶体管SST和管道晶体管PT之间。第p+1至第n存储器单元MCp+1至MCn顺序地布置在+Z方向上,并且串联联接在管道晶体管PT和漏极选择晶体管DST之间。第一至第p存储器单元MC1至MCp和第p+1至第n存储器单元MCp+1至MCn通过管道晶体管PT联接。每个单元串的第一至第n存储器单元MC1至MCn的栅电极分别联接到第一至第n字线WL1至WLn。
每个单元串的管道晶体管PT的栅极联接到管线PL。
每个单元串的漏极选择晶体管DST联接在相应位线和存储器单元MCp+1至MCn之间。布置在行方向上的单元串联接到在行方向上延伸的漏极选择线。第一行上的单元串CS11至CS1m的漏极选择晶体管联接到第一漏极选择线DSL1。第二行上的单元串CS21至CS2m的漏极选择晶体管联接到第二漏极选择线DSL2。
布置在列方向上的单元串联接到在列方向上延伸的位线。在图15中,第一列上的单元串CS11和CS21联接到第一位线BL1。第m列上的单元串CS1m和CS2m联接到第m位线BLm。
在布置在行方向的单元串中,联接到相同字线的存储器单元构成一个页面。例如,在第一行上的单元串CS11至CS1m中,联接到第一字线WL1的存储器单元构成一个页面。在第二行上的单元串CS21至CS2m中,联接到第一字线WL1的存储器单元构成另一页面。当选择漏极选择线DSL1和DSL2中的任意一个时,可选择布置在一个行方向上的单元串。当选择字线WL1至WLn中的任意一个时,可在所选择单元串中选择一个页面。
在另一实施例中,可设置偶数位线和奇数位线来代替第一至第m位线BL1至BLm。另外,布置在行方向上的单元串CS11至CS1m或CS21至CS2m之中的偶数编号的单元串可分别联接到偶数位线,并且布置在行方向上的单元串CS11至CS1m或CS21至CS2m之中的奇数编号的单元串可分别联接到奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可用作虚设(dummy)存储器单元。例如,可设置至少一个虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCp之间的电场。可选地,可设置至少一个虚设存储器单元以减小漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。当虚设存储器单元的数量增加时,存储块BLKa的操作可靠性提高,然而,存储块BLKa的大小增加。当虚设存储器单元的数量减少时,存储块BLKa的大小减小,但存储块BLKa的操作可靠性可能劣化。
为了有效地控制至少一个虚设存储器单元,虚设存储器单元可具有所需的阈值电压。在存储块BLKa的擦除操作之前或之后,可对全部或部分虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压控制施加到与各个虚设存储器单元联接的虚设字线的电压,使得虚设存储器单元可具有所需的阈值电压。
图16是示出图14所示的存储块BLK1至BLKz之中的存储块BLKb的电路图。
参照图16,存储块BLKb可包括多个单元串CS11'至CS1m'和CS21'至CS2m'。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个沿+Z方向延伸。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个包括堆叠在存储块BLKb下方的衬底(未示出)上的至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST。
每个单元串的源极选择晶体管SST联接在共源线CSL和存储器单元MC1至MCn之间。布置在相同行上的单元串的源极选择晶体管联接到相同的源极选择线。布置在第一行上的单元串CS11'至CS1m'的源极选择晶体管联接到第一源极选择线SSL1。布置在第二行上的单元串CS21'至CS2m'的源极选择晶体管联接到第二源极选择线SSL2。在另一实施例中,单元串CS11'至CS1m'和CS21'至CS2m'的源极选择晶体管可共同联接到一个源极选择线。
每个单元串的第一至第n存储器单元MC1至MCn串联联接在源极选择晶体管SST和漏极选择晶体管DST之间。第一至第n存储器单元MC1至MCn的栅电极分别联接到第一至第n字线WL1至WLn。
每个单元串的漏极选择晶体管DST联接在相应位线和存储器单元MC1至MCn之间。布置在行方向上的单元串的漏极选择晶体管联接到在行方向上延伸的漏极选择线。第一行上的单元串CS11'至CS1m'的漏极选择晶体管联接到第一漏极选择线DSL1。第二行上的单元串CS21'至CS2m'的漏极选择晶体管联接到第二漏极选择线DSL2。
因此,除了管道晶体管PT被排除在图16中的每个单元串之外,图16的存储块BLKb具有与图15的存储块BLKa的电路相似的电路。
在另一实施例中,可设置偶数位线和奇数位线来代替第一至第m位线BL1至BLm。另外,布置在行方向上的单元串CS11'至CS1m'或CS21'至CS2m'之中的偶数编号的单元串可分别联接到偶数位线,并且在行方向上布置的单元串CS11'至CS1m'或CS21'至CS2m'之中的奇数编号的单元串可分别联接到奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可用作虚设存储器单元。例如,可设置至少一个虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCn之间的电场。可选地,可设置至少一个虚设存储器单元以减小漏极选择晶体管DST与存储器单元MC1至MCn之间的电场。当虚设存储器单元的数量增加时,存储块BLKb的操作可靠性提高,但存储块BLKb的大小可能增加。当虚设存储器单元的数量减少时,存储块BLKb的大小减小,但存储块BLKb的操作可靠性可能劣化。
为了有效地控制至少一个虚设存储器单元,虚设存储器单元可具有所需的阈值电压。在存储块BLKb的擦除操作之前或之后,可对全部或部分虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压控制施加到与各个虚设存储器单元联接的虚设字线的电压,使得虚设存储器单元可具有所需的阈值电压。
图17是示出根据本公开的实施例的例如图1所示的存储器控制器200的存储器控制器的示图。
存储器控制器1000联接到主机和存储器装置。存储器控制器1000被配置成响应于从主机接收的请求来访问存储器装置。例如,存储器控制器1000被配置成控制存储器装置的读取操作、编程操作、擦除操作和后台操作。存储器控制器1000被配置成提供存储器装置与主机之间的接口。存储器控制器1000被配置成驱动用于控制存储器装置的固件。
参照图17,存储器控制器1000可包括处理器1010、存储器缓冲器1020、错误校正码(ECC)电路1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可被配置成提供存储器控制器1000的组件之间的通道。
处理器1010可控制存储器控制器1000的全部操作,并且执行逻辑操作。处理器1010可通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。而且,处理器1010可通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可使用存储器缓冲器1020作为工作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。
处理器1010可执行闪存转换层(FTL)的功能。处理器1010可通过FTL将由主机提供的逻辑块地址(LBA)转换成物理块地址(PBA)。FTL可接收待使用映射信息而被转换为PBA的LBA。根据映射单位,存在数个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。
在示例中,处理器1010可通过使用代码来控制存储器控制器1000的操作。处理器1010可从设置在存储器控制器1000中的非易失性存储器装置(例如,只读存储器(ROM))加载代码。在另一示例中,处理器1010可通过存储器接口1060从存储器装置加载代码。
在示例中,存储器控制器1000的总线1070可被划分成控制总线和数据总线。数据总线可被配置成在存储器控制器1000中传输数据,并且控制总线可被配置成在存储器控制器1000中传输诸如命令和地址的控制信息。数据总线和控制总线彼此分离,并且不会彼此干扰或影响。数据总线可联接到ECC电路1030、主机接口1040、缓冲器控制电路1050和存储器接口1060。控制总线可联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图18是示出根据本公开的实施例的应用存储装置的存储卡系统2000的框图。
参照图18,存储卡系统2000包括存储器控制器2100、存储器装置和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100被配置成访问存储器装置2200。例如,存储器控制器2100被配置成控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置成提供存储器装置2200与主机之间的接口。存储器控制器2100被配置成驱动用于控制存储器装置2200的固件。存储器装置2200可与参照图6描述的存储器装置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(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋力矩转移磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可被集成到单个半导体装置中以构成存储卡。例如,存储器控制器2100和存储器装置2200可构成诸如以下的存储卡:PC卡(例如,个人计算机存储卡国际协会(PCMCIA)卡)、紧凑式闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型-MMC和eMMC)、安全数字(SD)卡(例如,SD、迷你-SD、微型-SD和SDHC)和通用闪存(UFS)。
图19是示出根据本公开的实施例的应用存储装置的固态驱动器(SSD)系统3000的框图。
参照图19,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并且通过电源连接器3002接收电力PWR。SSD 3200包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可用作参照图1描述的存储器控制器200。
SSD控制器3210可响应于从主机3100接收的信号SIG来控制多个闪速存储器3221至322n。在示例中,信号SIG可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号SIG可以是由诸如以下的接口中的至少一种所限定的信号:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(Wi-Fi)、蓝牙以及NVMe。
辅助电源3230通过电源连接器3002联接到主机3100。当来自主机3100的电力供应不平稳时,辅助电源3230可提供SSD 3200的电力。在示例中,辅助电源3230可位于SSD 3200中,或者位于SSD 3200的外部。例如,辅助电源3230可位于主板上,并且向SSD 3200提供辅助电力。
缓冲存储器3240作为SSD 3200的缓冲存储器操作。例如,缓冲存储器3240可临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者临时存储闪速存储器3221至322n的元数据(例如,映射信息)。缓冲存储器3240可包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图20是示出根据本公开的实施例的应用存储装置的用户系统4000的框图。
参照图20,用户系统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可包括多个非易失性存储器装置,并且多个非易失性存储器装置可与参照图13描述的存储器装置相同地进行操作。存储模块4400可与参照图1描述的存储装置50相同地进行操作。
用户接口4500可包括用于向应用处理器4100输入数据或命令或者用于将数据输出到外部装置的接口。在示例中,用户接口4500可包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器。
根据本公开,可提供一种正常参数设置的存储装置及其操作方法。
虽然已参照本公开的某些示例性实施例示出和描述了本公开,但本领域技术人员将理解的是,在不脱离由所附权利要求及其等同方案限定的本公开的精神和范围的情况下,可进行形式和细节上的各种改变。因此,本公开的范围不应限于上述示例性实施例,而是应当由不仅所附权利要求还有其等同方案来确定。
在上述实施例中,可选择性地执行所有步骤或可省略步骤中的一些。在每个实施例中,步骤不一定按照所描述的顺序执行,并且可被重新排列。本说明书和附图中公开的实施例仅示例以帮助理解本公开,并且本公开不限于此。也就是说,对于本领域技术人员应显而易见的是,可基于本公开的技术范围进行各种修改。
已在附图和说明书中描述了本公开的示例性实施例。虽然本文使用了特定的术语,但这些术语仅用于描述本公开的实施例。因此,本公开不限于上述实施例,并且在本公开的精神和范围内可进行许多变化。对于本领域技术人员应显而易见的是,除本文公开的实施例之外,还可基于本公开的技术范围进行各种修改。

Claims (20)

1.一种存储器控制器,所述存储器控制器控制存储器装置,所述存储器控制器包括:
参数数据生成器,生成用于改变与所述存储器装置的操作相关的参数值的参数数据;以及
参数控制器,输出所述参数数据,
其中所述参数数据包括与所述参数值相关联的错误保护字段。
2.根据权利要求1所述的存储器控制器,其中所述错误保护字段包括设置值返回字段、参数改变组字段和改变数据显示字段中的至少一个。
3.根据权利要求2所述的存储器控制器,其中,当所述错误保护字段包括所述设置值返回字段时,所述参数控制器基于所述设置值返回字段的值来从所述存储器装置接收所述存储器装置中存储的参数值。
4.根据权利要求3所述的存储器控制器,其中,当所述参数数据中的设置值不同于所述存储器装置中存储的所述参数值时,所述参数控制器向所述存储器装置输出用于将所述参数数据的所述设置值重新存储在所述存储器装置中的设置参数命令。
5.根据权利要求2所述的存储器控制器,其中所述参数改变组字段是用于对所述操作进行分类的字段。
6.根据权利要求5所述的存储器控制器,其中所述操作包括编程操作、读取操作和擦除操作中的一个操作。
7.根据权利要求2所述的存储器控制器,其中,当所述错误保护字段包括所述改变数据显示字段时,所述参数数据包括用于掩蔽所述存储器装置中存储的所述参数值中待改变的值的位置的数据。
8.一种操作存储器控制器的方法,所述存储器控制器控制存储器装置,所述方法包括:
生成用于存储或改变与所述存储器装置的操作相关的参数值的参数数据;并且
输出所述参数数据,
其中所述参数数据包括与所述参数值相关联的错误保护字段。
9.根据权利要求8所述的方法,其中生成参数数据包括生成包括设置值返回字段、参数改变组字段和改变数据显示字段中的至少一个的参数数据。
10.根据权利要求9所述的方法,进一步包括,当所述错误保护字段包括所述设置值返回字段时,基于所述设置值返回字段的值,从所述存储器装置接收所述存储器装置中存储的参数值。
11.根据权利要求10所述的方法,进一步包括,当所述参数数据中的设置值不同于所述存储器装置中的所述参数值时,向所述存储器装置输出用于将所述参数数据的所述设置值重新存储在所述存储器装置中的设置参数命令。
12.根据权利要求9所述的方法,其中所述参数改变组字段是用于对所述操作进行分类的字段。
13.根据权利要求9所述的方法,其中,当所述错误保护字段包括所述改变数据显示字段时,所述参数数据包括用于掩蔽所述存储器装置中存储的所述参数值中待改变的值的位置的数据。
14.一种存储数据的存储器装置,所述存储器装置包括:
参数设置电路,设置与所述存储器装置的操作相关的参数值;以及
寄存器,存储所述参数值,
其中,当包括所述参数值的参数数据包括错误保护字段时,所述参数设置电路基于所述错误保护字段的值来执行存储或改变所述参数值。
15.根据权利要求14所述的存储器装置,其中,当所述错误保护字段包括设置值返回字段时,所述参数设置电路基于所述设置值返回字段的值来将所述参数值存储在所述寄存器中并且请求所述寄存器中的所述参数值。
16.根据权利要求15所述的存储器装置,其中所述参数设置电路输出所述寄存器中的所述参数值。
17.根据权利要求14所述的存储器装置,其中,当所述错误保护字段包括参数改变组字段时,当所述参数改变组字段的值与需要改变所述参数值的字段的值相对应时,所述参数设置电路将所述参数值存储在所述寄存器中。
18.根据权利要求17所述的存储器装置,其中当所述参数改变组字段的值与需要改变所述参数值的所述字段的值不对应时,所述参数设置电路丢弃设置参数命令。
19.根据权利要求18所述的存储器装置,其中,当所述错误保护字段包括改变数据显示字段时,所述参数设置电路基于所述改变数据显示字段的值来改变待改变参数值中被掩蔽的位置处的数据。
20.一种存储装置,包括:
存储器装置,包括寄存器;以及
控制器,生成参数数据,所述参数数据包括参数值和用于请求返回所述寄存器的值的返回字段,
其中所述存储器装置接收所述参数数据,将所述参数值存储在所述寄存器中以基于所述参数值来执行操作,并且响应于所述返回字段的值,向所述控制器传送所述寄存器的值。
CN201910917232.6A 2019-01-11 2019-09-26 存储装置及其操作方法 Active CN111435333B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0004124 2019-01-11
KR1020190004124A KR20200087595A (ko) 2019-01-11 2019-01-11 저장 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
CN111435333A true CN111435333A (zh) 2020-07-21
CN111435333B CN111435333B (zh) 2023-04-18

Family

ID=71517951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910917232.6A Active CN111435333B (zh) 2019-01-11 2019-09-26 存储装置及其操作方法

Country Status (3)

Country Link
US (1) US11372563B2 (zh)
KR (1) KR20200087595A (zh)
CN (1) CN111435333B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021152779A (ja) * 2020-03-24 2021-09-30 キオクシア株式会社 半導体記憶装置
KR20220063581A (ko) * 2020-11-10 2022-05-17 삼성전자주식회사 동작 파라미터에 대한 다수의 파라미터 코드들을 저장하는 장치, 메모리 장치 및 방법
TWI813362B (zh) * 2022-06-30 2023-08-21 群聯電子股份有限公司 部分抹除管理方法、記憶體儲存裝置及記憶體控制電路單元

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5973988A (en) * 1998-07-15 1999-10-26 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having circuit for monitoring set value of mode register
US6176819B1 (en) * 1997-12-19 2001-01-23 Boegli-Gravures S.A. Device and method for embossing a foil
CN101673581A (zh) * 2008-06-13 2010-03-17 三星电子株式会社 存取半导体存储设备的存储系统和方法
US20180025760A1 (en) * 2016-07-20 2018-01-25 Micron Technology, Inc. Apparatuses and methods including nested mode registers
CN107924380A (zh) * 2015-09-26 2018-04-17 英特尔公司 使用业务类别分配高速缓存的方法、装置和系统
CN108257637A (zh) * 2016-12-28 2018-07-06 爱思开海力士有限公司 存储器系统及其操作方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6785764B1 (en) * 2000-05-11 2004-08-31 Micron Technology, Inc. Synchronous flash memory with non-volatile mode register
US7624225B2 (en) * 2007-03-22 2009-11-24 International Business Machines Corporation System and method for providing synchronous dynamic random access memory (SDRAM) mode register shadowing in a memory system
KR101824067B1 (ko) 2010-08-20 2018-01-31 삼성전자주식회사 반도체 저장 장치의 성능 조절을 위한 반도체 저장장치와 호스트간 인터페이스 방법 및 그 장치
KR101139207B1 (ko) 2010-09-06 2012-04-26 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법
KR101856136B1 (ko) 2011-11-15 2018-06-21 삼성전자주식회사 비휘발성 메모리 장치의 동작 제어방법, 그 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US9934831B2 (en) * 2014-04-07 2018-04-03 Micron Technology, Inc. Apparatuses and methods for storing and writing multiple parameter codes for memory operating parameters
US10395722B2 (en) * 2017-09-29 2019-08-27 Intel Corporation Reading from a mode register having different read and write timing
KR102455399B1 (ko) * 2018-01-18 2022-10-17 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
JP2020004465A (ja) * 2018-06-26 2020-01-09 キオクシア株式会社 半導体記憶装置
KR20200060155A (ko) * 2018-11-22 2020-05-29 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6176819B1 (en) * 1997-12-19 2001-01-23 Boegli-Gravures S.A. Device and method for embossing a foil
US5973988A (en) * 1998-07-15 1999-10-26 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device having circuit for monitoring set value of mode register
CN101673581A (zh) * 2008-06-13 2010-03-17 三星电子株式会社 存取半导体存储设备的存储系统和方法
CN107924380A (zh) * 2015-09-26 2018-04-17 英特尔公司 使用业务类别分配高速缓存的方法、装置和系统
US20180025760A1 (en) * 2016-07-20 2018-01-25 Micron Technology, Inc. Apparatuses and methods including nested mode registers
CN108257637A (zh) * 2016-12-28 2018-07-06 爱思开海力士有限公司 存储器系统及其操作方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SCHWARZ T S J: "Store, forget, and check: Using algebraic signatures to check remotely administered storage" *
王建: "数据库加密系统的设计与实现" *

Also Published As

Publication number Publication date
US11372563B2 (en) 2022-06-28
US20200225859A1 (en) 2020-07-16
CN111435333B (zh) 2023-04-18
KR20200087595A (ko) 2020-07-21

Similar Documents

Publication Publication Date Title
US11256614B2 (en) Memory controller for allocating logical address and method of operating the same
CN110399092B (zh) 存储装置以及操作存储装置的方法
CN112905502A (zh) 存储装置及其操作方法
CN111435289A (zh) 映射数据访问性能提高的存储器控制器及其操作方法
CN111208937B (zh) 存储器控制器及其操作方法
US11194712B2 (en) Memory controller and operating method for performing garbage collection operation in memory devices
CN111580744B (zh) 存储器控制器及其操作方法
CN111444115B (zh) 存储装置及其操作方法
CN112463664A (zh) 存储装置及其操作方法
CN111435333B (zh) 存储装置及其操作方法
CN111459845A (zh) 存储装置、包括存储装置的计算系统及其操作方法
KR20210090439A (ko) 메모리 컨트롤러 및 그 동작 방법
CN111208936A (zh) 存储装置及其操作方法
KR20240113734A (ko) 메모리 컨트롤러 및 그 동작 방법
US11393536B2 (en) Memory controller, memory system and operating method thereof
US11170859B2 (en) Memory device for passing verify operation and operating method of the same
US10846229B1 (en) Memory device and operating method of the memory device
CN111338995B (zh) 数据存储装置及操作数据存储装置的方法
CN111506515A (zh) 存储器控制器及其操作方法
US11281512B2 (en) Storage device providing device-to-host information to host and operating method thereof
CN114388038A (zh) 存储器设备及其操作方法
CN110737403B (zh) 存储装置及操作该存储装置的方法
CN110750208B (zh) 存储装置及操作该存储装置的方法
CN115562567A (zh) 存储器控制器及其操作方法
KR20220053374A (ko) 메모리 컨트롤러 및 그 동작 방법

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240613

Address after: American Texas

Patentee after: Mimi IP Co.,Ltd.

Country or region after: U.S.A.

Address before: Gyeonggi Do, South Korea

Patentee before: Sk Hynix Inc.

Country or region before: Republic of Korea