CN112309446A - 存储设备和操作存储设备的方法 - Google Patents
存储设备和操作存储设备的方法 Download PDFInfo
- Publication number
- CN112309446A CN112309446A CN202010138678.1A CN202010138678A CN112309446A CN 112309446 A CN112309446 A CN 112309446A CN 202010138678 A CN202010138678 A CN 202010138678A CN 112309446 A CN112309446 A CN 112309446A
- Authority
- CN
- China
- Prior art keywords
- parameter
- register
- data
- memory
- virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
- G11C15/046—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements using non-volatile storage elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30101—Special purpose registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/3013—Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/20—Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1042—Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1045—Read-write mode select circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/109—Control signal input circuits
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)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开的实施例涉及存储设备和操作存储设备的方法。该存储设备包括:存储器控制器,被配置为在参数读取操作期间生成和输出包括正常地址和虚拟地址的获取参数命令集;以及存储器设备,被配置为响应于获取参数命令集而读取被存储在CAM块中的参数数据,并将所读取的参数数据存储在对应于正常地址的目标寄存器中。该存储器设备将虚拟数据存储在与虚拟地址相对应的虚拟寄存器中。
Description
相关申请的交叉引用
本申请要求于2019年7月26日在韩国知识产权局提交的韩国专利申请号10-2019-0091225的优先权,其全部公开内容通过引用合并于此。
技术领域
本发明涉及一种电子设备,并且特别地涉及一种存储设备和操作该存储设备的方法。
背景技术
存储设备是一种基于来自主机设备(诸如,计算机或智能手机)的命令来存储数据的设备。存储设备可以包括用以存储数据的存储器设备,以及用以控制该存储器设备的存储器控制器。存储器设备分为易失性存储器设备和非易失性存储器设备。
易失性存储器设备是仅当功率被供应时才存储数据、而在电源被切断时丢失所存储的数据的设备。例如,易失性存储器设备可以是静态随机存取存储器(SRAM),动态随机存取存储器(DRAM)等。
非易失性存储器设备是即使当功率被切断时也不丢失数据的设备。例如,非易失性存储器设备可以是只读存储器(ROM),可编程ROM(PROM),电可编程ROM(EPROM),电可擦除且可编程ROM(EEPROM),闪存存储器等。
发明内容
根据本公开的实施例的存储设备包括:存储器控制器,被配置为在参数读取操作期间生成和输出获取参数命令集,该获取参数命令集包括正常地址和虚拟地址;以及存储器设备,被配置为响应于获取参数命令集,读取被存储在CAM块中的参数数据,并且将所读取的参数数据存储在与正常地址相对应的目标寄存器中。该存储器设备将虚拟数据存储在与虚拟地址相对应的虚拟寄存器中。
根据本公开的实施例的存储设备包括:存储器控制器,被配置为在参数转变操作期间生成和输出设置参数命令集,该设置参数命令集包括正常地址和虚拟地址;以及存储器设备,被配置为响应于设置参数命令集,将新的参数数据存储在与正常地址相对应的多个目标寄存器中,先前的参数数据被存储在该多个目标寄存器中。该存储器设备将虚拟数据存储在与虚拟地址相对应的虚拟寄存器中。
根据本公开的实施例的操作存储设备的方法包括:将参数数据存储在存储设备内的存储器设备的CAM块内;生成获取参数命令集并且向存储器设备传输获取参数命令集,获取参数命令集包括正常地址和虚拟地址;响应于获取参数命令集,读取存储在CAM块中的参数数据,并且将所读取的参数数据存储在多个寄存器之中与正常地址相对应的目标寄存器中;以及在将所读取的参数数据存储在目标寄存器中之后,将虚拟数据存储在多个寄存器之中与虚拟地址相对应的虚拟寄存器中。
附图说明
图1是用于描述根据本公开的实施例的存储设备的图。
图2是用于描述图1的参数设置管理器的图。
图3是用于描述图2的存储器设备的结构的图。
图4是图示图3的存储器单元阵列的实施例的图。
图5是用于描述多个存储器块中的任何一个存储器块的电路图。
图6是用于描述根据本公开的实施例的存储设备的参数读取操作的流程图。
图7是用于描述根据本公开的实施例的在参数读取操作期间的命令和数据传输操作的图。
图8是用于描述根据本公开的实施例的在参数读取操作期间被存储在寄存器组件和寄存器信息存储装置中的数据的图。
图9是用于描述根据本公开的实施例的存储设备的参数改变操作的流程图。
图10是用于描述根据本公开的实施例的在参数改变操作期间的命令和数据传输操作的图。
图11是用于描述根据本公开的实施例的在参数改变操作期间被存储在寄存器组件中的数据的图。
图12是用于描述图11的存储器控制器的另一实施例的图。
图13是图示存储器卡系统的框图,根据本公开的实施例的存储设备被应用到该存储器卡。
图14是图示固态驱动器(SSD)系统的框图,根据本公开的实施例的存储设备被应用到该SSD系统。
图15是图示用户系统的框图,根据本公开的实施例的存储设备被应用到该用户系统。
具体实施方式
对基于在本说明书或本申请中所公开的概念的实施例的具体结构或功能描述被示出用于描述基于本公开的概念的实施例。基于本公开的概念的实施例可以以各种形式来执行,并且其具体实施方式不限于在本说明书或申请中描述的实施例。
由于各种修改和改变可以被应用于基于本公开的概念的实施例,并且基于本公开的概念的实施例可以具有各种形式,因此特定的实施例将在附图中图示并且在本说明书或申请中描述。然而,应当理解,基于本公开的概念的实施例不应被解释为限于特定的公开形式,并且包括不脱离本公开的精神和技术范围的所有改变、等同或替代。。
尽管诸如“第一”、“第二”和/或类似术语可以被用来描述各种组件,但是这样的组件不应受上述术语的限制。上述术语可以仅被用来区分一个组件与另一组件。例如,在不脱离基于本公开的概念的范围的情况下,第一组件可以被称为第二组件,并且类似地,第二组件可以被称为第一组件。
应当理解,当一个组件被称为“连接”或“耦合”到另一组件时,该组件可以直接连接或耦合到另一元件,或者中间组件也可以存在。相反地,应当理解,当一个组件被称为“直接连接”或“直接耦合”至另一个组件时,则中间组件不存在。描述组件之间的关系的其他表达,例如“~之间”、“直接~之间”或“与~相邻”、“直接与~相邻”等应当类似地被解释。
本说明书中使用的术语仅用于描述特定实施例,而不旨在限制本公开。除非上下文明确地指出,否则单数表达包括复数表达。在本说明书中,应当理解,在本说明书中,术语“包括”、“具有”等表示在本说明书中描述的特征、数目、步骤、操作、组件、部分或其组合是存在的,但不排除存在或增加一个或多个其他特征、数字、步骤、操作、组件、部分或其组合的可能性。
只要没有不同的定义,本文所使用的所有术语,包括技术或科学术语,均具有本公开所属的领域的技术人员通常理解的含义。在常用字典中定义的术语应被解释为具有与相关技术的上下文中所解释的含义相同的含义,并且除非在本说明书中以其他方式明确地定义,否则这些术语不应被解释为具有理想化的或过分正式的含义。
在描述实施例时,本公开的技术领域中众所周知的、并且与本公开不直接相关的技术内容的描述将省略。这旨在通过省略不必要的描述来更明确地公开本公开的要旨。
在下文中,本公开将通过参考附图描述本公开的优选实施例来详细描述。在下文中,本公开的实施例将参考附图详细描述。
本公开的实施例提供了一种具有改进的可靠性的存储设备,以及操作该存储设备的方法。
根据本技术,在存储设备的参数读取操作和参数改变操作期间,除了使用虚拟地址存储参数数据的目标寄存器之外,还附加地选择最后一个寄存器,并且虚拟数据是存储在最后一个寄存器中的数据,从而改善了由于存储在最后一个寄存器中的数据的变化而产生的问题。
图1是用于描述根据本公开的实施例的存储设备的图。
参考图1,存储设备50可以包括存储器设备100和存储器控制器200,存储器控制器200控制该存储器设备100的操作。存储设备50是在主机300(诸如蜂窝电话、智能手机、MP3播放器、膝上型计算机、台式计算机、游戏机、电视、平板电脑或车载信息娱乐系统)的控制下存储数据的设备。
基于主机接口、与主机300通信的方法,存储设备50可以被制造为各种类型的存储设备中的这一种。例如,存储设备50可以是SSD、以MMC、eMMC、RS-MMC和micro-MMC的形式的多媒体卡、以SD、mini-SD和micro-SD形式的安全数字卡、通用串行总线(USB)存储设备、通用闪存存储(UFS)设备、个人计算机存储器卡国际协会(PCMCIA)卡类型存储设备、外围组件互连(PCI)卡类型存储设备、PCI Express(PCI-E)卡类型存储设备、紧凑型闪存(CF)卡、智能媒体卡或存储器棒。
存储设备50可以被制造为各种类型的封装中的任何一种。例如,存储设备50可以被制造为封装上封装(POP)、封装中系统(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶片级制造封装(WFP)或晶片级堆叠封装(WSP)。
存储器设备100可以存储数据。存储器设备100响应于存储器控制器200而操作。存储器设备100可以包括存储器单元阵列,该存储器单元阵列包括多个存储器单元,以存储数据。存储器单元阵列可以包括多个存储器块。存储器块中的每个存储器块可以包括多个存储器单元。一个存储器块可以包括多个页面。在实施例中,页面可以是这样的单元,其用于将数据存储在存储器设备100中、或读取存储在存储器设备100中的数据。存储器块可以是用于擦除数据的单元。在实施例中,存储器设备100可以是双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪存存储器、垂直NAND闪存存储器、NOR闪存存储器设备、电阻式随机存取存储器(RRAM),相变存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移矩随机存取存储器(STT-RAM)等。在本说明书中,为了方便起见,假设存储器设备100是NAND闪存存储器。然而,本发明不限于此。
存储器设备100被配置为从存储器控制器200接收命令集,该命令集包括命令和地址。存储器设备100被配置为访问存储器单元阵列中由地址所选择的区域。即,存储器设备100可以在与该地址相对应的区域上执行与命令相对应的操作。例如,存储器设备100可以执行写入操作(编程操作),读取操作和擦除操作。在编程操作期间,存储器设备100可以基于地址将数据编程到该区域。在读取操作期间,存储器设备100可以基于地址从该区域读取数据。在擦除操作期间,存储器设备100可以基于地址来擦除存储在该区域中的数据。
在该实施例中,存储器设备100可以包括寄存器组件131和寄存器管理器132。
寄存器组件131可以包括存储数据的多个寄存器。寄存器组件131可以存储多个参数数据,其指示与存储器设备100相关的设置信息。与存储器设备100相关的设置信息可以是对存储器设备100执行读取,编程或擦除操作所需的信息。在上电操作(引导操作)期间,存储器设备100可以响应于由存储器控制器200所提供的参数读取命令,读取被存储在存储器块中的多条参数数据。存储器设备100还可以将该多条参数数据存储在多个寄存器之中的目标寄存器中,多个寄存器被包括在寄存器组件131中。参数读取命令可以是获取参数命令集。
响应于从存储器控制器200接收到的参数读取命令,寄存器管理器132可以将虚拟数据存储在虚拟寄存器中。在寄存器组件131中,虚拟数据可以被存储在额外寄存器中,该额外寄存器未被指定为目标寄存器。具体地,在将多条参数数据存储在目标寄存器中之后,寄存器管理器132选择额外寄存器中的一个寄存器作为虚拟寄存器,并且将虚拟数据存储在所选择的虚拟寄存器中。因此,虚拟数据可以被存储在这样的寄存器中:最后的数据被存储在被包括在寄存器组件131中的多个寄存器之中的该寄存器中。此外,寄存器管理器132可以向存储器控制器200的寄存器信息存储装置220传输被包括在寄存器组件131中的寄存器信息。寄存器信息可以是这样的信息,其指示被包括在寄存器组件131中的寄存器是存储参数数据的目标寄存器、还是存储虚拟数据的虚拟寄存器、或是在其中的数据未被存储的空寄存器。
响应于由存储器控制器200提供的参数改变命令,寄存器组件131可以改变被存储在寄存器组件131中的多条参数数据中的所选择的参数数据。参数改变命令可以是设置参数命令集。此外,响应于参数改变命令,寄存器组件131可以将虚拟数据存储在与虚拟地址相对应的寄存器中。
存储器控制器200控制存储设备50的整体操作。
当功率被施加(上电)给存储设备50时,存储器控制器200可以执行固件FW。当存储器设备100是闪存存储器设备时,存储器控制器200可以操作诸如闪存转换层(FTL)的固件,以控制主机300与存储器设备100之间的通信。
在该实施例中,存储器控制器200可以从主机300接收数据和逻辑块地址(LBA),并且将逻辑块地址(LBA)转变为物理块地址(PBA),从而指示数据将被存储在存储器设备100的哪些存储器单元。
响应于来自主机300的请求,存储器控制器200可以控制存储器设备100,以执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可以向存储器设备100提供编程命令、物理块地址和数据。在读取操作期间,存储器控制器200可以向存储器设备100提供读取命令和物理块地址。在擦除操作期间,存储器控制器200可以向存储器设备100提供擦除操作命令和物理块地址。
在该实施例中,无论来自主机300的请求,存储器控制器200都可以生成编程命令、地址以及数据,并且将其传输给存储器设备100。例如,存储器控制器200可以向存储器设备100提供命令、地址和数据,以便执行诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作的后台操作。
在该实施例中,存储器控制器200可以控制至少两个存储器设备100。在这种情况下,存储器控制器200可以基于交织(interleving)方法来控制存储器设备100以改进操作性能。交织方法可以是用以使至少两个存储器设备100的操作周期重叠的操作方法。
在该实施例中,存储器控制器200可以包括参数设置管理器210和寄存器信息存储装置220。
参数设置管理器210可以在存储设备的上电操作期间生成获取参数命令集,并且向存储器设备100输出获取参数命令集。在此时,获取参数命令集可以包括正常地址和虚拟地址。正常地址可以是与目标寄存器和待读取的参数数据相对应的地址,而虚拟地址可以是与虚拟寄存器相对应的地址。
此外,参数设置管理器210可以基于来自主机300的请求来生成设置参数命令集,并且向存储器设备100输出设置参数命令集。在此时,设置参数命令集可以包括正常地址和虚拟地址。正常地址可以是与存储有待改变的参数数据的目标寄存器相对应的地址,而虚拟地址可以是与新的虚拟寄存器相对应的地址。
此外,参数设置管理器210基于由寄存器信息存储装置220提供的寄存器的信息,生成获取参数命令集或设置参数命令集,其包括与虚拟寄存器相对应的虚拟地址。
寄存器信息存储装置220从存储器设备100接收和存储被包括在寄存器组件131中的寄存器信息,并且将所存储的寄存器信息提供给参数设置管理器210。此外,寄存器信息存储装置220可以接收和存储被存储在寄存器组件131的目标寄存器中的多条参数数据。寄存器信息存储装置220可以将从存储器设备100接收到的多条参数数据分别存储为对应于多条参数数据的设置参数。多个设置参数可以指示与存储器设备100相关的设置信息。寄存器信息存储装置220可以周期性地或任意地执行更新操作,接收被存储在存储器设备100中的多条参数数据,以及存储多条参数数据作为设置参数。
主机300可以使用各种通信方法中的至少一种通信方法与存储设备50通信,通信方法诸如通用串行总线(USB)、串行AT附件(SATA)、串行连接SCSI(SAS)、高速芯片间互连(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、PCI Express(PCIe)、非易失性存储器Express(NVMe)、通用闪存存储装置(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、注册DIMM(RDIMM)和负载降低的DIMM(LRDIMM)。
图2是用于描述图1的参数设置管理器的图。
参考图2,参数设置管理器210响应于在上电操作期间所激活的引导信息信号boot_Info,生成获取参数命令集(Get para)。而且,当与参数改变请求相对应的设置命令set_CMD从图1的主机300被接收到时,参数设置管理器210生成设置参数命令集(Setpara)。设置命令set_CMD可以包括待转变的新的参数数据。
参数设置管理器210可以包括虚拟地址生成器211和参数命令集生成器212。
虚拟地址生成器211接收从图1的寄存器信息存储装置220提供的寄存器信息;基于接收到的寄存器信息,选择图1的寄存器组件131的寄存器中的在其中未存储数据的一个寄存器;以及输出与所选择的寄存器相对应的地址作为虚拟地址Dummy Add。
响应于引导信息信号boot_Info,参数命令集生成器212生成包括虚拟地址DummyAdd的获取参数命令集Get para。例如,获取参数命令集Get para可以包括与获取参数操作相对应的命令、正常地址和虚拟地址Dummy Add。正常地址是与目标寄存器和待读取的参数数据相对应的地址。
此外,响应于设置命令set_CMD,参数命令集生成器212生成包括虚拟地址DummyAdd的设置参数命令集Set para。例如,设置参数命令集Get para可以包括与设置参数操作相对应的命令、正常地址、新的参数数据、虚拟地址Dummy Add和虚拟数据。正常地址是与存储有待改变的参数的目标寄存器相对应的地址。
图3是用于描述图2的存储器设备的结构的图。
参考图3,存储器设备100可以包括存储器单元阵列110、外围电路120和控制逻辑130。
存储器单元阵列110包括多个存储器块BLK1至BLKz。多个存储器块BLK1至BLKz通过行线RL连接到地址解码器121。多个存储器块BLK1至BLKz通过位线BL1至BLm连接到读取和写入电路123。多个存储器块BLK1至BLKz中的每个存储器块包括多个存储器单元。在实施例中,多个存储器单元是非易失性存储器单元。多个存储器单元通过连接到相同的字线的存储器单元而被限定为一个页面。即,存储器单元阵列110被配置为具有多个页面。根据本公开的实施例,被包括在存储器单元阵列110中的多个存储器块BLK1至BLKz中的每个存储器块可以包括多个虚拟单元。虚拟单元中的至少一个虚拟单元可以串联连接在漏极选择晶体管和存储器单元之间、以及源极选择晶体管和存储器单元之间。
多个存储器块BLK1至BLKz中的至少一个存储器块(例如,BLK1)可以是内容可寻址存储器(CAM)块,并且该CAM块可以存储多个参数数据作为CAM数据。
存储器设备100的存储器单元中的每个存储器单元可以被配置为存储一个数据位的单级单元(SLC)、存储两个数据位的多级单元(MLC)、存储三个数据位的三级单元(TLC)或存储四个数据位的四级单元(QLC)。
外围电路120可以包括地址解码器121、电压生成器122、读取和写入电路123、数据输入/输出电路124以及感测电路125。
外围电路120驱动存储器单元阵列110。例如,外围电路120可以驱动存储器单元阵列110以执行编程操作、读取操作和擦除操作。
地址解码器121通过行线RL连接到存储器单元阵列110。行线RL可以包括漏极选择线、字线、源极选择线和共同的源极线。根据本公开的实施例,字线可以包括正常字线和虚拟字线。根据本公开的实施例,行线RL可以进一步包括管道选择线。
地址解码器121被配置为响应于控制逻辑130的控制而操作。地址解码器121从控制逻辑130接收地址ADDR。
地址解码器121被配置为对接收到的地址ADDR的块地址进行解码。地址解码器121基于经解码的块地址,在存储器块BLK1至BLKz之中选择至少一个存储器块。地址解码器121被配置为对接收到的地址ADDR的行地址RADD进行解码。地址解码器121可以通过基于经解码的行地址RADD将电压施加到至少一条字线来选择所选择的存储器块的至少一条字线。所施加的电压可以由电压生成器122来供应。
在编程操作期间,地址解码器121可以将编程电压施加给所选择的字线,并且将通过电压施加给未被选择的字线,通过电压具有小于编程电压的电平。在编程验证操作期间,地址解码器121可以将验证电压施加给所选择的字线,并且将验证通过电压施加给未被选择的字线,验证通过电压具有大于验证电压的电平。
在读取操作期间,地址解码器121可以将读取电压施加给所选择的字线,并且将读取通过电压施加给未被选择的字线,读取通过电压具有大于读取电压的电平。
根据本公开的实施例,存储器设备100的擦除操作在作为测量单位的存储器块上被执行。在擦除操作期间被输入到存储器设备100的地址ADDR包括块地址。地址解码器121可以对块地址进行解码,并且基于经解码的块地址选择一个存储器块。在擦除操作期间,地址解码器121可以将地电压施加给字线,该字线输入到所选择的存储器块。
根据本公开的实施例,地址解码器121可以被配置为对所传送的地址ADDR的列地址进行解码。经解码的列地址可以被传送到读取和写入电路123。例如,地址解码器121可以包括诸如行解码器、列解码器和地址缓冲器的组件。
电压生成器122被配置为通过使用被供应给存储器设备100的外部电源电压来生成多个操作电压Vop。电压生成器122响应于控制逻辑130的控制而操作。
作为示例,电压生成器122可以通过调节外部电源电压来产生内部电源电压。由电压生成器122所生成的内部电源电压被用作针对存储器设备100的操作电压。
在该实施例中,电压生成器122可以通过使用外部电源电压或内部电源电压来生成多个操作电压Vop。电压生成器122可以被配置为生成存储器设备100所需的各种电压。例如,电压生成器122可以生成多个擦除电压、多个编程电压、多个通过电压、多个选择读取电压和多个非选择读取电压。
为了生成具有各种电压电平的多个操作电压Vop,电压生成器122可以包括多个泵浦电容器,该多个泵浦电容器接收内部电压并且选择性地激活多个泵浦电容器以生成多个操作电压Vop。
多个生成的操作电压Vop可以通过地址解码器121被供应给存储器单元阵列110。
读取和写入电路123包括第一至第m页面缓冲器PB1至PBm。第一至第m页面缓冲器PB1至PBm分别通过第一至第m位线BL1至BLm连接到存储器单元阵列110。第一至第m页面缓冲器PB1至PBm响应于控制逻辑130的控制而操作。
第一至第m页面缓冲器PB1至PBm用数据输入/输出电路124发送和接收数据DATA。当编程操作被启动时,第一至第m页面缓冲PB1至PBm通过数据输入/输出电路124和数据线DL接收待存储的数据DATA。
在编程操作期间,当将编程脉冲施加到所选择的字线时,第一至第m页面缓冲器PB1至PBm可以通过位线BL1至BLm,将待存储的数据DATA(即,通过数据输入/输出电路124接收到的数据DATA)传送给所选择的存储器单元。基于所传送的数据DATA,所选择的页面的存储器单元被编程。连接到施加有编程许可电压(例如,地电压)的位线的存储器单元可以具有增加的阈值电压。连接到施加有编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可以被维持。在编程验证操作期间,第一至第m页面缓冲器PB1至PBm通过位线BL1至BLm,从所选择的存储器单元读取被存储在存储器单元中的数据DATA。
在读取操作期间,读取和写入电路123可以通过位线BL从所选择的页面的存储器单元读取数据DATA,并且将所读取的数据DATA存储在第一至第m页面缓冲器PB1至PBm中。
在擦除操作期间,读取和写入电路123可以使位线BL浮置。在实施例中,读取和写入电路123可以包括列选择电路。
数据输入/输出电路124通过数据线DL连接到第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124响应于控制逻辑130的控制而操作。
数据输入/输出电路124可以包括多个输入/输出缓冲器(未示出),其接收输入数据DATA。在编程操作期间,数据输入/输出电路124从外部控制器(未示出)接收待存储的数据DATA。在读取操作期间,数据输入/输出电路124向外部控制器输出如下数据DATA,该数据DATA从被包括在读取和写入电路123中的第一至第m页面缓冲器PB1至PBm传送。
在读取操作或验证操作期间,感测电路125可以响应于由控制逻辑130所生成的许可位VRYBIT的信号来生成参考电流,并且可以将从读取和写入电路123接收到的感测电压VPB与由参考电流产生的参考电压相比较,以向控制逻辑130输出通过信号或失败信号。
控制逻辑130可以连接到地址解码器121、电压生成器122、读取和写入电路123、数据输入/输出电路124和感测电路125。控制逻辑130可以被配置为控制存储器设备100的所有操作。控制逻辑130可以响应于从外部设备接收到的命令CMD而操作。
控制逻辑130可以响应于命令CMD和地址ADDR而生成各种信号以控制外围电路120。例如,响应于命令CMD和地址ADDR,控制逻辑130可以生成操作信号OPSIG、行地址RADD、读取和写入电路控制信号PBSIGNALS以及许可位VRYBIT。控制逻辑130可以将操作信号OPSIG输出给电压生成器122,将行地址RADD输出给地址解码器121,将读取和写入控制信号PBSIGNALS输出给读取和写入电路123,并且将许可位VRYBIT输出给感测电路125。此外,控制逻辑130可以响应于由感测电路125所输出的通过或失败信号PASS/FAIL,来确定验证操作通过还是失败。
在该实施例中,控制逻辑130可以包括寄存器组件131和寄存器管理器132。
寄存器组件131可以包括多个寄存器R1至Rk。多个寄存器R1至Rk中的每个寄存器可以包括锁存电路。在多个寄存器R1至Rk之中被选择为目标寄存器的寄存器中每个寄存器可以存储参数数据。例如,在引导操作期间,响应于由参考图2所描述的存储器控制器200提供的获取参数命令集Get para,读取操作在被包括在CAM块中的参数数据上执行,并且将所读取的参数数据存储在寄存器组件131的目标寄存器中。参数数据可以对应于与存储器设备100相关的设置信息,并且该设置信息可以包括坏块信息、列修复信息和逻辑信息中的至少一项。坏块信息可以指示被包括存储器设备100中的多个存储器块之中的初始坏存储器块。列修复信息可以指示存储器单元阵列110的坏列。逻辑信息可以指示编程偏置、读取偏置、擦除偏置等,作为针对存储器设备100的操作的必要条件。
此外,响应于由存储器控制器200所提供的设置参数命令,寄存器组件131可以改变和存储被存储在寄存器组件131中的多条参数数据之中的所选择的参数数据。
响应于从存储器控制器200接收到的获取参数命令Get para,寄存器管理器132可以将虚拟数据存储在虚拟寄存器中。在寄存器组件131中,虚拟数据可以被存储在未被指定为目标寄存器的额外寄存器中。具体地,在将多条参数数据存储在目标寄存器中之后,寄存器管理器132选择额外寄存器中的一个寄存器作为虚拟寄存器,并且将虚拟数据存储在所选择的虚拟寄存器中。此外,寄存器管理器132可以向存储器控制器200的寄存器信息存储装置220传输被包括在寄存器组件131中的寄存器的信息。
此外,当响应于由存储器控制器200所提供的设置参数命令Set para而完成改变被存储在目标寄存器中的参数数据的操作时,寄存器管理器132除了选择目标寄存器之外,还选择额外寄存器中的一个寄存器作为新的虚拟寄存器,并且将虚拟数据存储在所选择的虚拟寄存器中。此外,寄存器管理器132可以向存储器控制器200的寄存器信息存储装置220传输被存储在寄存器组件131的目标寄存器中的参数数据。
图4是图示图3的存储器单元阵列的一个实施例的图。
参考图4,存储器单元阵列110包括多个存储器块BLK1至BLKz。每个存储器块具有三维结构。每个存储器块包括堆叠在衬底上的多个存储器单元。该多个存储器单元沿着+X方向、+Y方向和+Z方向布置。参考图5将更详细地描述每个存储器块的结构。
图5是用于描述多个存储器块中的任何一个存储器块的电路图。在该特定实施例中,示例性存储器块被标记为多个存储器块BLK1至BLKz中的BLK1。
参考图5,存储器块BLK1包括多个单元串CS11至CS1m和CS21至CS2m。多个单元串CS11至CS1m和CS21至CS2m中的每个单元串均沿+Z方向延伸。多个单元串CS11至CS1m和CS21至CS2m中的每个单元串包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST,它们堆叠在存储器块BLK1之下的衬底上(未示出)。
每个单元串的源极选择晶体管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。
在另一实施例中,偶数位线和奇数位线可以被提供来代替第一至第m位线BL1至BLm。另外,被布置在行方向上的单元串CS11至CS1m或CS21至SC2m之中的偶数编号的单元串可以连接到位线。另一方面,被布置在行方向上的单元串CS11至CS1m或CS21至CS2m之中的奇数编号的单元串可以分别连接至奇数位线。
在该实施例中,第一至第n存储器单元MC1至MCn中的至少一个存储器单元可以被用作虚拟存储器单元。例如,至少一个虚拟存储器单元可以被提供以减小源极选择晶体管SST与存储器单元MC1至MCn之间的电场。备选地,至少一个虚拟存储器单元可以被提供以减小漏极选择晶体管DST与存储器单元MC1至MCn之间的电场。由于更多的虚拟存储器单元被提供,存储器块BLK1的操作的可靠性改进。然而,存储器块BLK1的大小随着更多的虚拟存储器单元而增加。由于更少存储器单元被提供,存储器块BLK1的大小可以减小,但是继而,针对存储器块BLK1的操作的可靠性也可能减小。
为了高效地控制至少一个虚拟存储器单元,虚拟存储器单元中的每个虚拟存储器单元可以具有所需的阈值电压。在对存储器块BLK1进行擦除操作之前或之后,对全部或部分虚拟存储器单元的编程操作可以执行。当在编程操作被执行之后执行擦除操作时,通过控制施加给连接到相应虚拟存储器单元的虚拟字线的电压,虚拟存储器单元可以具有所需的阈值电压。
图6是用于描述根据本公开的实施例的存储设备的参数读取操作的流程图。
图7是用于描述根据本公开的实施例的在参数读取操作期间的命令和数据传输操作的图。
图8是用于描述根据本公开的实施例的在参数读取操作期间被存储在寄存器组件和寄存器信息存储装置中的数据的图。
参考图1至图8,存储设备的参数读取操作描述如下。
当将电源电压供应给存储设备50并且上电时(S610),响应于引导信息boot_info,存储器控制器200的参数设置管理器210生成获取参数命令集Get para,并且向存储器设备100输出所生成的获取参数命令集Get Para(S620)。在该时间点处,获取参数命令集可以包括参数读取命令36h、正常地址(例如,Add1至Add3)、虚拟地址Dummy Add和与参数读取操作相对应的结束命令16h。正常地址(例如,Add1至Add3)可以是与待读取的参数数据Para_1至Para_3和目标寄存器相对应的地址(例如,R1至R3),而虚拟地址Dummy Add可以是与虚拟寄存器(例如,Rk)相对应的地址。
存储器设备100响应于获取参数命令集Get para来执行参数读取操作。例如,响应于被包括在获取参数命令集Get para中的参数读取命令37h,控制逻辑130控制外围电路120以读取被存储在CAM块(例如,BLK1)中的多条参数数据(例如,Para_1、Para_2和Para_3)。外围电路120读取被存储在CAM块(例如,BLK1)中的多条参数数据(例如,Para_1、Para_2和Para_3),并且将所读取的多条参数数据Para_1、Para_2和Para_3中的每条参数数据存储在目标寄存器(例如,R1、R2和R3)中,该目标寄存器(例如,R1、R2和R3)与被包括在获取参数命令集Get para中的正常地址Add1,Add2和Add3相对应(S630)。
当多条参数数据(例如,Para_1、Para_2和Para_3)中的每条参数数据在目标寄存器(例如,R1,R2和R3)中的存储操作完成时,寄存器管理器132在多个寄存器R1至Rk中选择与虚拟地址Dummy Add相对应的寄存器Rk,并且将虚拟数据00h(Dummy Data)存储在所选择的虚拟寄存器中(S640)。因此,数据最后被存储的寄存器是虚拟寄存器Rk,其对应于虚拟地址Dummy Add,该虚拟数据Dummy Data对存储器设备100的操作没有影响并且是无意义的,虚拟数据Dummy Data被存储在虚拟寄存器Rk中。因此,即使在参数读取操作期间,在最后将数据存储在寄存器中的操作中发生错误,被存储在目标寄存器R1至R3中的参数数据Para_1、Para_2和Para_3的可靠性也可以被确保。
此外,寄存器管理器132可以向存储器控制器200的寄存器信息存储装置220传输被包括在寄存器组件131中的寄存器的信息。此外,寄存器管理器132可以向存储器控制器200的寄存器信息存储装置220传输被存储在寄存器组件131的目标寄存器R1至R3中的参数数据。
图9是用于描述根据本公开的实施例的存储设备的参数改变操作的流程图。
图10是用于描述根据本公开的实施例的在参数改变操作期间的命令和数据传输操作的图。
图11是用于描述根据本公开的实施例的在参数改变操作期间被存储在寄存器组件中的数据的图。
参考图1至图5以及图9至图11,存储设备的参数改变操作描述如下。
当与参数改变请求相对应的设置命令set_CMD从主机300被接收到时(S910),存储器控制器200的参数设置管理器210响应于设置命令set_Set而生成设置参数命令集Setpara,并且将所生成的设置参数命令集Set para输出给存储器设备100(S920)。在此时,虚拟地址生成器211接收从寄存器信息存储装置220提供的寄存器的信息;基于接收到的寄存器信息,从寄存器R1至Rk之中未存储有数据的寄存器中选择任何一个寄存器(例如,Rk),寄存器R1至Rk被包括在存储器设备100的寄存器组件131中;以及输出与所选择的寄存器Rk相对应的地址作为虚拟地址Dummy Add。响应于设置命令set_CMD,参数命令集生成器可以包括与设置参数操作相对应的设置参数命令37h、正常地址(例如,Add1至Add3)、新的参数数据Para1至Para3、虚拟地址Dummy Add和虚拟数据00h。正常地址是与存储有待改变的参数的目标寄存器(例如,R1至R3)相对应的地址。
响应于设置参数命令集Set para,存储器设备100执行参数改变操作。例如,响应于设置参数命令集Set para,寄存器组件131将新的参数数据Rara_1至Para_3存储在多个寄存器R1至Rk之中与正常地址Add1至Add3相对应的目标寄存器R1至R3中(S930)。
当新的参数数据Rara_1至Para_3在与正常地址Add1至Add3相对应的目标寄存器R1至R3中的存储操作完成时,寄存器组件131将虚拟数据Dummy Data存储在与虚拟地址Dummy Add相对应的虚拟寄存器中(例如,Rk)(S940)。因此,被包括在寄存器组件131中的多个寄存器R1至Rk之中的最后数据被存储的寄存器是与虚拟地址Dummy Add相对应的虚拟寄存器Rk,并且与存储器设备100的操作无关且是无意义的虚拟数据Dummy Data被存储在虚拟寄存器Rk中。因此,即使在参数改变操作期间,在最后将数据存储在寄存器中的操作中发生错误,被存储在目标寄存器R1至R3中的参数数据Para_1、Para_2和Para_3的可靠性也可以被确保。
另外,寄存器管理器132可以向存储器控制器200的寄存器信息存储装置220传输被包括在寄存器组件131中的寄存器的信息。此外,寄存器管理器132可以向存储器控制器200的寄存器信息存储装置220传输被存储在寄存器组件131的目标寄存器R1至R3中的参数数据(S950)。
图12是用于描述图1的存储器控制器的另一实施例的图。
参考图12,存储器控制器1000连接到主机Host和存储器设备。存储器控制器1000被配置为响应于来自主机Host的请求,访问存储器设备。例如,存储器控制器1000被配置为控制存储器设备的写入、读取、擦除和后台操作。存储器控制器1000被配置为提供存储器设备和主机Host之间的接口。存储器控制器1000被配置为驱动固件以控制存储器设备。
存储器控制器1000可以包括处理器1010、存储器缓冲器1020、错误校正器(ECC)1030、主机接口1040、缓冲控制电路1050、存储器接口1060和总线1070。
总线1070可以被配置为提供在存储器控制器1000的组件之间的通道。
处理器1010可以控制存储器控制器1000的整体操作并且可以执行逻辑操作。处理器1010可以通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器设备通信。此外,处理器1010可通过缓冲器控制器1050与存储器缓冲器1020通信。处理器1010可以使用存储器缓冲器1020作为操作存储器、缓存存储器或缓冲器存储器,来控制存储设备的操作。
处理器1010可以执行闪存转换层(FTL)的功能。处理器1010可以通过闪存转换层(FTL),将由主机提供的逻辑块地址(LBA)转变为物理块地址(PBA)。闪存转换层(FTL)可以使用映射表来接收逻辑块地址(LBA),并且可以将逻辑块地址(LBA)转变为物理块地址(PBA)。基于映射单元,存在闪存转换层的多种地址映射方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010被配置为将从主机Host接收到的数据随机化。例如,处理器1010可以使用随机化种子来对从主机Host接收到的数据进行随机化。经随机化的数据被提供给存储器设备作为待存储的数据,并且被编程到存储器单元阵列。
处理器1010被配置为在读取操作期间对从存储器设备接收到的数据进行去随机化。例如,处理器1010可以使用去随机化种子来对从存储器设备接收到的数据进行去随机化。经去随机化的数据可以被输出给主机Host。
在该实施例中,处理器1010可以通过驱动软件或固件来执行随机化和去随机化。
存储器缓冲器1020可以被用作处理器1010的操作存储器、缓存存储器或缓冲器存储器。存储器缓冲器1020可以存储由处理器1010执行的代码和命令。存储器缓冲器1020可以存储由处理器1010处理的数据。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。
错误纠正器1030可以执行错误纠正。错误纠正器1030可以基于将要通过存储器接口1060而被写入存储器设备的数据,来执行错误纠正编码(ECC编码)。经错误纠正编码的数据可以通过存储器接口1060被传送给存储器设备。错误纠正器1030可以对通过存储器接口1060从存储器设备接收到的数据执行错误纠正解码(ECC解码)。作为示例,错误纠正器1030可以被包括在存储器接口1060中作为存储器接口1060的组件。
主机接口1040被配置为在处理器1010的控制下与外部主机通信。主机接口1040可以被配置为使用各种通信方法中至少一种来执行通信,各种通信方法诸如通用串行总线(USB)、串行AT附件(SATA)、串行连接SCSI(SAS)、高速芯片间互连(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI Express)、非易失性存储器Express(NVMe)、通用闪存存储装置(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、注册DIMM(RDIMM)和负载降低的DIMM(LRDIMM)
缓冲器控制器1050被配置为在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060被配置为在处理器1010的控制下与存储器设备通信。存储器接口1060可以通过通道与存储器设备传达命令、地址和数据。
作为一个示例,存储器控制器1000可以不包括存储器缓冲器1020和缓冲器控制器1050。
作为一个示例,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从被设置在存储器控制器1000内部的非易失性存储器设备(例如,只读存储器)中加载代码。作为另一示例,处理器1010可以通过存储器接口1060从存储器设备中加载代码。
作为一个示例,存储器控制器1000的总线1070可以分为控制总线和数据总线。数据总线可以被配置为在存储器控制器1000内传输数据,并且控制总线可以被配置为在存储器控制器1000内传输诸如命令和地址的控制信息。数据总线和控制总线可以彼此分开,并且可能不会彼此干扰或彼此影响。数据总线可以连接到主机接口1040、缓冲器控制器1050、错误纠正器1030和存储器接口1060。控制总线可以连接到主机接口1040、处理器1010、缓冲器控制器1050、存储器缓冲器1202和存储器接口1060。
图13是示出存储器卡系统的框图,根据本公开实施例的存储设备被应用到该存储器卡系统。
参考图13,存储器卡系统2000包括存储器控制器2100、存储器设备2200和连接器2300。
存储器控制器2100连接到存储器设备2200。存储器控制器2100被配置为访问存储器设备2200。例如,存储器控制器2100可以被配置为控制存储器设备2200的读取、写入、擦除和后台操作。存储器控制器2100被配置为提供在存储器设备2200和主机Host之间的接口。存储器控制器2100被配置为驱动固件以控制存储器设备2200。存储器控制器2100可以等同于参考图1所描述的存储器控制器200来实现。
作为一个示例,存储器控制器2100可以包括诸如随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误纠正器的组件。
存储器控制器2100可以通过连接器2300与外部设备通信。存储器控制器2100可以基于特定的通信标准与外部设备(例如,主机)通信。作为一个示例,存储器控制器2100被配置为通过各种通信标准中的至少一种通信标准与外部设备通信,各种通信标准诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(MCM)、外围组件互连(PCI)、PCI Express(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型盘接口(ESDI)、集成驱动电子设备(IDE)、火线、通用闪存存储装置(UFS)、Wi-Fi、蓝牙和NVMe。作为示例,连接器2300可以由上述各种通信标准中的至少一个通信标准来定义。
作为示例,存储器设备2200可以被配置为各种非易失性存储元件,诸如电可擦除可编程ROM(EEPROM)、NAND闪存存储器、NOR闪存存储器、相变RAM(PRAM)、电阻式RAM(ReRAM),铁电RAM(FRAM)和自旋矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器设备2200可以被集成到一个半导体器件中以配置存储器卡。例如,存储器控制器2100和存储器设备2200可以集成到一个半导体器件中以配置诸如PC卡(个人计算机存储器卡国际协会(PCMCIA))、紧凑型闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、MMCmicro或eMMC)、SD卡(SD、miniSD、microSD或SDHC)以及通用闪存存储装置(UFS)等存储器卡。。
图14是示出了固态驱动器(SSD)系统的框图,根据本公开实施例的存储设备被应用到该SSD。
参考图14,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(MCM)、外围组件互连(PCI)、PCI Express(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型盘接口(ESDI)、集成驱动电子设备(IDE)、火线、通用闪存存储装置(UFS)、Wi-Fi、蓝牙和NVMe的接口中的至少一种接口来定义的信号。
辅助功率设备3230通过功率连接器3002连接到主机3100。辅助功率设备3230可以从主机3100接收功率PWR并且可以对电源充电。当来自主机3100的功率供应不平稳时,辅助功率设备3230可以提供SSD 3200的功率。作为一个示例,辅助功率设备3230可以位于SSD3200中或者可以位于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的非易失性存储器。
图15是示出了用户系统的框图,根据本公开实施例的存储设备被应用到该用户系统。
参考图15,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可以驱动被包括用户系统4000中的组件、操作系统(OS)、用户程序等。作为示例,应用处理器4100可以包括控制器、接口、图形引擎等,其控制被包括在用户系统4000中的组件。应用处理器4100可以作为片上系统(SoC)被提供。
存储器模块4200可以作为用户系统4000的主存储器、操作存储器、缓冲器存储器或缓存存储器而操作。存储器模块4200可以包括易失性随机存取存储器(诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDARM、LPDDR2 SDRAM和LPDDR3 SDRAM)或非易失性随机存取存储器(诸如PRAM、ReRAM、MRAM和FRAM)。作为示例,应用处理器4100和存储器模块4200可以基于封装上封装(POP)而被封装,并且作为一个半导体封装被提供。
网络模块4300可以与外部设备通信。作为示例,网络模块4300可以支持无线通信,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进、Wimax、WLAN、UWB、蓝牙和Wi-Fi。作为示例,网络模块4300可以被包括在应用处理器4100中。
存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。备选地,存储模块4400可以向应用处理器4100传输被存储在存储模块4400中的数据。作为示例,存储模块4400可以被实现为非易失性半导体存储器元件,诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM),NAND闪存、NOR闪存和三维NAND闪存。作为一个示例,存储模块4400可以被提供为诸如存储器卡的可移除的存储设备(可移除驱动器)以及用户系统4000的外部驱动器。
作为示例,存储模块4400可以包括多个非易失性存储器设备,并且该多个非易失性存储器设备可以对应于参考图1所描述的存储器设备100来操作。存储模块4400可以对应于参考图1所描述的存储器设备50来操作。
用户接口4500可以包括用于向应用处理器4100输入数据或指令、或者用于向外部设备输出数据的接口。作为示例,用户接口4500可以包括用户输入接口,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件。用户接口4500可以包括用户输出接口,诸如液晶显示器(LCD)、有机发光二极管(OLED)显示设备、有源矩阵OLED(AMOLED)显示设备、LED、扬声器和电动机。
尽管本公开的具体实施方式描述了特定的实施例,但是在不脱离本公开的范围和技术精神的情况下,可以进行各种改变和修改。因此,本公开的范围不应当限于上述实施例,并且应当由本公开的权利要求以及所附权利要求的等同物来确定。
尽管已经参考有限的实施例和附图描述了本公开,但是本公开不限于上述实施例,并且本公开所属的领域的技术人员可以从所公开的描述来进行各种改变和修改。。
因此,本公开的范围不应当限于所描述的实施例,而应由权利要求以及所附权利要求的等同物来确定。
在上述实施例中,所有的步骤可以可选地被执行或省略。此外,每个实施例中的步骤不一定按顺序发生,并且这些步骤可以颠倒。与此同时,本说明书和附图中所公开的本公开的实施例仅是出于容易地描述本说明书的技术内容并且促进对本说明书的理解的目的的特定示例,而不限制本说明书的范围。即,对于本公开所属的领域的技术人员显而易见的是,基于本公开的技术精神的其他修改示例也是可能的。
与此同时,本说明书和附图公开了本公开的优选实施方式。尽管使用了特定术语,但是它们是出于容易地描述本公开的技术内容和促进对本公开内容的理解的目的而以一般含义使用,而不旨在限制本公开内容的范围。对于本公开所属的领域的技术人员显而易见的是,除了本文公开的实施例之外,基于本公开的技术精神的其他修改示例也可以被实施。
Claims (19)
1.一种存储设备,包括:
存储器控制器,被配置为在参数读取操作期间生成和输出获取参数命令集,所述获取参数命令集包括正常地址和虚拟地址;以及
存储器设备,被配置为响应于所述获取参数命令集,读取被存储在CAM块中的参数数据,并且将所读取的参数数据存储在与所述正常地址相对应的目标寄存器中,
其中所述存储器设备将虚拟数据存储在与所述虚拟地址相对应的虚拟寄存器中。
2.根据权利要求1所述的存储设备,其中所述存储器设备将所述所读取的参数数据存储在所述目标寄存器中,并且然后将所述虚拟数据存储在所述虚拟寄存器中。
3.根据权利要求1所述的存储设备,其中所述存储器控制器在上电操作期间生成所述获取参数命令集。
4.根据权利要求1所述的存储设备,其中所述存储器控制器包括:
参数设置管理器,被配置为在上电操作期间生成所述获取参数命令集;以及
寄存器信息存储装置,被配置为从所述存储器设备接收被存储在所述目标寄存器中的寄存器信息、以及所述参数数据或所述所读取的参数数据,并且存储所述寄存器信息、以及所述参数数据或所述所读取的参数数据。
5.根据权利要求4所述的存储设备,其中所述参数设置管理器包括:
虚拟地址生成器,被配置为从所述寄存器信息存储装置接收所述寄存器信息,并且基于接收到的所述寄存器信息生成所述虚拟地址;以及
参数命令集生成器,被配置为在所述上电操作期间基于引导信息,生成包括由所述虚拟地址生成器生成的所述虚拟地址的所述获取参数命令集。
6.根据权利要求1所述的存储设备,其中所述存储器设备包括:
CAM块,被配置为存储所述参数数据;
外围电路,被配置为读取被存储在所述CAM块中的所述参数数据;和
控制逻辑,被配置为响应于所述获取参数命令集来控制所述外围电路以读取所述参数数据,存储所读取的参数数据,并且向所述存储器控制器传输所存储的参数数据。
7.根据权利要求6所述的存储设备,其中所述控制逻辑包括:
寄存器组件,所述寄存器组件包括所述目标寄存器和所述虚拟寄存器;以及
寄存器管理器,被配置为在所述所读取的参数数据被存储在所述目标寄存器中之后,响应于所述获取参数命令集,将所述虚拟数据存储在所述虚拟寄存器中。
8.根据权利要求1所述的存储设备,其中所述参数数据对应于与所述存储器设备相关的设置信息,并且所述设置信息包括坏块信息、列修复信息和逻辑信息中的至少一项。
9.一种存储设备,包括:
存储器控制器,被配置为在参数转变操作期间生成和输出设置参数命令集,所述设置参数命令集包括正常地址和虚拟地址;以及
存储器设备,被配置为响应于所述设置参数命令集,将新的参数数据存储在与所述正常地址相对应的多个目标寄存器中,先前的参数数据被存储在所述多个目标寄存器中,
其中所述存储器设备将虚拟数据存储在与所述虚拟地址相对应的虚拟寄存器中。
10.根据权利要求9所述的存储设备,其中所述存储器设备将所述新的参数数据存储在所述目标寄存器中,并且然后将所述虚拟数据存储在所述虚拟寄存器中。
11.根据权利要求9所述的存储设备,其中当参数数据转变请求从外部被接收到时,所述存储器控制器生成所述设置参数命令集。
12.根据权利要求9所述的存储设备,其中所述存储器控制器包括:
参数设置管理器,被配置为当设置命令从外部源被接收到时,生成所述设置参数命令集;以及
寄存器信息存储装置,被配置为从所述存储器设备接收被存储在所述目标寄存器中的所述寄存器信息、以及所述先前的参数数据或所述新的参数数据,以存储所述寄存器信息、以及所述先前的参数数据或所述新的参数数据。
13.根据权利要求12所述的存储设备,其中所述参数设置管理器包括:
虚拟地址生成器,被配置为从所述寄存器信息存储装置接收所述寄存器信息,并且基于接收到的所述寄存器信息生成所述虚拟地址;以及
参数命令集生成器,被配置为基于所述设置命令,生成包括由所述虚拟地址生成器生成的所述虚拟地址的所述设置参数命令集。
14.根据权利要求9所述的存储设备,还包括:
寄存器组件,所述寄存器组件包括所述目标寄存器和所述虚拟寄存器;以及
寄存器管理器,被配置为在所述新的参数数据被存储在所述目标寄存器中之后,响应于所述设置参数命令集,将所述虚拟数据存储在所述虚拟寄存器中。
15.一种操作存储设备的方法,所述方法包括:
将参数数据存储在所述存储设备内的存储器设备的CAM块内;
生成获取参数命令集并且向所述存储器设备传输所述获取参数命令集,所述获取参数命令集包括正常地址和虚拟地址;
响应于所述获取参数命令集,读取被存储在所述CAM块中的所述参数数据,并且将所读取的参数数据存储在多个寄存器之中与所述正常地址相对应的目标寄存器中;以及
在所述所读取的参数数据被存储在所述目标寄存器中之后,将虚拟数据存储在所述多个寄存器之中与所述虚拟地址相对应的虚拟寄存器中。
16.根据权利要求15所述的方法,还包括:
在所述虚拟数据被存储在所述虚拟寄存器中之后,向存储器控制器传输被存储在所述目标寄存器中的所述参数数据以存储所述参数数据,
其中所述存储器控制器控制所述存储器设备。
17.根据权利要求15所述的方法,其中,所述参数数据对应于与所述存储器设备相关的设置信息,并且所述设置信息包括坏块信息、列修复信息和逻辑信息中的至少一项。
18.根据权利要求15所述的方法,还包括:
生成设置参数命令集,所述设置参数命令集包括正常地址、新的参数数据和虚拟地址,并且当所述参数数据的转变请求从外部被接收到时,向所述存储器设备传输所述设置参数命令集;
响应于所述设置参数命令集,将所述新的参数数据存储在与所述正常地址相对应的所述目标寄存器中;以及
将新的虚拟数据存储在与所述虚拟地址相对应的所述虚拟寄存器中。
19.根据权利要求18所述的方法,其中在所述新的参数数据被完全地存储在所述目标寄存器中之后,执行将所述新的虚拟数据存储在所述虚拟寄存器中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0091225 | 2019-07-26 | ||
KR1020190091225A KR20210012825A (ko) | 2019-07-26 | 2019-07-26 | 저장 장치 및 그 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112309446A true CN112309446A (zh) | 2021-02-02 |
Family
ID=74189331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010138678.1A Withdrawn CN112309446A (zh) | 2019-07-26 | 2020-03-03 | 存储设备和操作存储设备的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11169741B2 (zh) |
KR (1) | KR20210012825A (zh) |
CN (1) | CN112309446A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210039075A (ko) * | 2019-10-01 | 2021-04-09 | 삼성전자주식회사 | 비휘발성 메모리 장치의 초기화 제어 방법 및 비휘발성 메모리 장치를 포함하는 메모리 시스템 |
CN117334240A (zh) * | 2021-06-04 | 2024-01-02 | 长江存储科技有限责任公司 | 用于三维nand存储器的固件修复 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06236690A (ja) * | 1993-02-08 | 1994-08-23 | Sharp Corp | 半導体記憶装置 |
JPH09139066A (ja) * | 1995-11-13 | 1997-05-27 | Fuji Film Micro Device Kk | 半導体メモリ |
CN1641613A (zh) * | 2003-12-05 | 2005-07-20 | 联发科技股份有限公司 | 虚拟先进先出直接存储器存取装置 |
US7089427B1 (en) * | 2000-11-28 | 2006-08-08 | Nintendo Co., Ltd. | Security system method and apparatus for preventing application program unauthorized use |
US20140104967A1 (en) * | 2010-06-01 | 2014-04-17 | Hitachi, Ltd. | Inter-memory data transfer control unit |
CN108538332A (zh) * | 2017-03-06 | 2018-09-14 | 旺宏电子股份有限公司 | 与非门闪存的读取方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2522906B (en) | 2014-02-10 | 2021-07-14 | Advanced Risc Mach Ltd | Region identifying operation for identifying a region of a memory attribute unit corresponding to a target memory address |
US10014056B1 (en) | 2017-05-18 | 2018-07-03 | Sandisk Technologies Llc | Changing storage parameters |
-
2019
- 2019-07-26 KR KR1020190091225A patent/KR20210012825A/ko not_active Application Discontinuation
-
2020
- 2020-02-06 US US16/784,117 patent/US11169741B2/en active Active
- 2020-03-03 CN CN202010138678.1A patent/CN112309446A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06236690A (ja) * | 1993-02-08 | 1994-08-23 | Sharp Corp | 半導体記憶装置 |
JPH09139066A (ja) * | 1995-11-13 | 1997-05-27 | Fuji Film Micro Device Kk | 半導体メモリ |
US7089427B1 (en) * | 2000-11-28 | 2006-08-08 | Nintendo Co., Ltd. | Security system method and apparatus for preventing application program unauthorized use |
CN1641613A (zh) * | 2003-12-05 | 2005-07-20 | 联发科技股份有限公司 | 虚拟先进先出直接存储器存取装置 |
US20140104967A1 (en) * | 2010-06-01 | 2014-04-17 | Hitachi, Ltd. | Inter-memory data transfer control unit |
CN108538332A (zh) * | 2017-03-06 | 2018-09-14 | 旺宏电子股份有限公司 | 与非门闪存的读取方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210026565A1 (en) | 2021-01-28 |
KR20210012825A (ko) | 2021-02-03 |
US11169741B2 (en) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102675307B1 (ko) | 저장 장치 및 그 동작 방법 | |
US11449417B2 (en) | Memory controller performing host-aware performance booster mode and method of operating the same | |
US11481272B2 (en) | Memory controller and method of operating the same | |
US11119950B2 (en) | Storage device and method of operating the same | |
US11335410B2 (en) | Memory device and method of operating the same | |
US11327897B2 (en) | Memory controller for performing a dummy read operation and method of operating the same | |
US11205487B2 (en) | Memory device and method of operating the same | |
US11422905B2 (en) | Storage device and method of operating the same | |
CN112988049A (zh) | 存储装置及其操作方法 | |
US11687450B2 (en) | Storage device for translating address and operating method thereof | |
US11169741B2 (en) | Storage device and method of operating the same | |
KR102556276B1 (ko) | 저장 장치 및 그 동작 방법 | |
US11688464B2 (en) | Storage device and method of operating the same | |
US11314652B2 (en) | Memory controller and method of operating the same | |
US11294596B2 (en) | Memory controller and operating method thereof | |
US11269767B2 (en) | Memory controller and operating method thereof | |
US11500768B2 (en) | Storage device performing garbage collection and method of operating the same | |
US11467745B2 (en) | Storage device and method of operating the same | |
US11294590B2 (en) | Storage device with fail page replacement capability and operating method thereof | |
US20210124528A1 (en) | Memory device and method of operating the same | |
KR20210151372A (ko) | 저장 장치 및 그 동작 방법 | |
CN116931820A (zh) | 存储器控制器及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210202 |
|
WW01 | Invention patent application withdrawn after publication |