CN111435290A - 控制器、控制器的操作方法以及存储器系统 - Google Patents
控制器、控制器的操作方法以及存储器系统 Download PDFInfo
- Publication number
- CN111435290A CN111435290A CN201911257259.3A CN201911257259A CN111435290A CN 111435290 A CN111435290 A CN 111435290A CN 201911257259 A CN201911257259 A CN 201911257259A CN 111435290 A CN111435290 A CN 111435290A
- Authority
- CN
- China
- Prior art keywords
- memory
- write
- memory device
- parameter
- data
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/27—Built-in tests
-
- 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/061—Improving I/O performance
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0656—Data buffering 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/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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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
-
- 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
-
- 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
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种控制器的操作方法,该控制器控制存储器装置,该存储器装置包括操作参数寄存器。该操作方法可以包括:从主机接收写入请求,该写入请求包括写入命令、写入地址和写入数据;以及基于写入地址是否为特定地址,从写入数据提取用于改变存储器装置的操作参数值的参数改变内部命令,提取的参数改变内部命令包括操作参数地址和操作参数数据;以及通过控制存储器装置将操作参数数据存储在与操作参数地址相对应的操作参数寄存器中,设置存储器装置的操作参数,操作参数数据对应于操作参数值。
Description
相关申请的交叉引用
本申请要求于2019年1月15日提交的申请号为10-2019-0004958的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。。
技术领域
各个实施例涉及一种用于控制存储器装置的控制器以及包括该控制器的存储器系统。
背景技术
计算机环境范例已经转变成可随时随地使用计算系统的普适计算。因此,诸如移动电话、数码相机和膝上型计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有一个或多个存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
因为存储器系统不具有移动部件,所以存储器系统具有诸如以下的优点:优异的稳定性和耐用性、高信息访问速度和低功耗。具有这些优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
各个实施例涉及一种能够高效地执行对控制器的测试的控制器以及控制器的操作方法。
在实施例中,提供一种控制存储器装置的控制器的操作方法,该存储器装置包括操作参数寄存器。该操作方法可以包括:从主机接收写入请求,该写入请求包括写入命令、写入地址和写入数据;基于写入地址是否为特定地址,从写入数据提取用于改变存储器装置的操作参数值的参数改变内部命令,提取的参数改变内部命令包括操作参数地址和操作参数数据;以及通过控制存储器装置将操作参数数据存储在与操作参数地址相对应的操作参数寄存器中,设置存储器装置的操作参数,操作参数数据对应于操作参数值。
在实施例中,提供一种控制存储器装置的控制器,该存储器装置包括操作参数寄存器。该控制器可以包括:主机接口,适于从主机接收写入请求,该写入请求包括写入命令、写入地址和写入数据;命令提取器,适于基于写入地址是否为特定地址,从写入数据提取用于改变存储器装置的操作参数值的参数改变内部命令,提取的参数改变内部命令包括操作参数地址和操作参数数据;以及存储器接口,适于通过控制存储器装置将操作参数数据存储在与操作参数地址相对应的操作参数寄存器中,设置存储器装置的操作参数,操作参数数据对应于操作参数值。
在实施例中,一种存储器系统可以包括存储器装置,包括操作参数寄存器;以及控制器,控制存储器装置。控制器可以从主机接收包括写入命令、写入地址和写入数据的主机请求,根据通过确定写入地址是否为预定地址而确定主机请求所获得的结果,从写入数据提取用于改变存储器装置的操作参数值的一个或多个参数改变内部命令;并且通过控制存储器装置将操作参数数据存储在与提取的一个或多个参数改变内部命令中包括的操作参数地址相对应的操作参数寄存器中,设置存储器装置的操作参数,操作参数数据对应于提取的一个或多个参数改变内部命令中包括的操作参数值。
在实施例中,一种存储器系统可以包括:存储器装置,包括用于存储操作参数的存储器;控制器,适于接收写入数据;确定写入数据是否包括参数设置信息;当确定写入数据包括参数设置信息时,控制存储器装置将参数设置信息存储在存储器中;以及控制该存储器装置基于参数设置信息测试是否执行了操作。
附图说明
图1示意性地示出根据实施例的包括存储器系统的数据处理系统的示例。
图2示意性地示出根据本实施例的存储器系统中的存储器装置的示例。
图3示意性地示出根据实施例的存储器装置中的存储块的存储器单元阵列电路。
图4示意性示出根据实施例的存储器系统中的存储器装置的结构。
图5示出根据实施例的包括控制器的存储器系统的结构。
图6A和图6B示出根据实施例的包括控制器的存储器系统的操作。
图7示出根据实施例的根据位顺序的写入数据。
图8至图16示意性地示出根据各种实施例的包括存储器系统的数据处理系统的其它示例。
具体实施方式
以下参照附图详细地描述本发明的各个实施例。应理解的是,以下描述集中于用于理解本发明的特征和方面,同时可以省略对已知技术事项的描述,以免不必要地模糊本发明的主题。
在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任意这种短语的不同参考不一定针对相同的实施例。
将进一步理解的是,当元件被称为“连接到”或“联接到”另一元件时,该元件可直接在另一元件上、直接连接到或联接到另一元件,或者可存在一个或多个中间元件。另外,还将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件或也可存在一个或多个中间元件。除非另有声明或上下文另有说明,否则无论是直接还是间接连接/联接,两个元件之间的通信可以是有线的或无线的。
除非上下文另有清楚地说明,否则如本文使用的单数形式也可以包括复数形式,反之亦然。除非另有说明或上下文清楚地指明单数形式,否则本申请和所附权利要求书中使用的冠词“一”和“一个”通常应被解释为指代“一个或多个”。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任意和全部组合。
图1是示出根据本发明的实施例的数据处理系统100的框图。
参照图1,数据处理系统100可以包括可操作地联接到存储器系统110的主机102。
主机102可以包括诸如移动电话、MP3播放器和膝上型计算机的各种便携式电子装置中的任何一种或诸如台式计算机、游戏机、电视(TV)和投影仪的各种非便携式电子装置中的任何一种。
主机102可以包括至少一个操作系统(OS),OS可管理并控制主机102的全部功能和操作,并且提供主机102和数据处理系统100或存储器系统110的用户之间的操作。OS可以支持与用户的使用目的和用途相对应的功能和操作。例如,根据主机102的移动性,OS可被划分为通用OS和移动OS。根据用户的环境,通用OS可被分为个人OS和企业OS。
例如,被配置为支持向一般用户提供服务的功能的个人OS可以包括Windows和Chrome,以及被配置为保护和支持高性能的企业OS可以包括Windows服务器、Linux和Unix。此外,被配置为支持向用户提供移动服务的功能和系统的省电功能的移动OS可以包括Android、iOS和Windows Mobile。主机102可以包括多个OS,并且执行多个OS中的一个或多个以对存储器系统110执行与用户请求相对应的操作。
存储器系统110可以响应于主机102的请求操作,以存储用于主机102的数据。存储器系统110的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、安全数字(SD)卡、通用存储总线(USB)装置、通用闪存(UFS)装置、紧凑型闪存(CF)卡、智能媒体卡(SMC)、个人计算机存储卡国际协会(PCMCIA)卡和记忆棒。MMC可以包括嵌入式MMC(eMMC)、尺寸减小的MMC(RS-MMC)和微型-MMC等。SD卡可以包括迷你-SD卡和/或微型-SD卡。
存储器系统110可以通过各种类型的存储装置中的任意一种来实施。这种存储装置的示例包括但不限于诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置和诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和闪速存储器的非易失性存储器装置。
存储器系统110可以包括控制器130和存储器装置150。
控制器130和存储器装置150可以被集成至单个半导体装置中。例如,控制器130和存储器装置150可以被集成为单个半导体装置来构成固态驱动器(SSD)。当存储器系统110用作SSD时,可以提高连接到存储器系统110的主机102的操作速度。可选地,控制器130和存储器装置150可以集成为一个半导体装置以构成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)卡,紧凑型闪存卡(CF),智能媒体(SM)卡,记忆棒,包括尺寸减小的MMC(RS-MMC)和微型-MMC的多媒体卡(MMC),包括迷你-SD卡、微型-SD卡和SDHC卡的安全数字(SD)卡,或通用闪存(UFS)装置。
存储器系统110的非限制性应用示例包括计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置中的一个、构成计算机网络的各种电子装置中的一个、构成远程信息处理的各种电子装置中的一个、射频识别(RFID)装置或构成计算系统的各种部件中的一个。
存储器装置150可以是即使不供应电力也可保留其中存储的数据的非易失性存储器装置。存储器装置150可以通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供至主机102。存储器装置150可以包括多个存储块,该多个存储块包括存储块152、154、156。存储块中的每一个可以包括多个页面。页面中的每一个可以包括联接到字线的多个存储器单元。在实施例中,存储器装置150可以是闪速存储器。闪速存储器可具有三维(3D)堆叠结构。
稍后将参照图2至图4详细描述包括3D堆叠结构的存储器装置150的结构。
控制器130可以响应于来自主机102的请求来控制存储器装置150。例如,控制器130可以将从存储器装置150读取的数据提供至主机102,并将从主机102提供的数据存储到存储器装置150中。对于该操作,控制器130可以控制存储器装置150的读取操作、编程操作和擦除操作。
控制器130可以包括全部通过内部总线可操作地联接的主机接口132、处理器134、诸如NAND闪速控制器(NFC)的存储器接口142以及存储器144。
主机接口132可以被配置为处理主机102的命令和数据。主机接口132可以通过诸如下列的各种接口协议中的一种或多种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和/或电子集成驱动器(IDE)。主机接口132可以通过称为主机接口层(HIL)的固件来驱动,以便与主机102交换数据。
存储器接口142可用作用于将控制器130和存储器装置150接口连接的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体地是NAND闪速存储器时,存储器接口142可以在处理器134的控制下生成用于存储器装置150的控制信号并处理待被提供至存储器装置150的数据。存储器接口142可用作用于处理控制器130和存储器装置150之间的命令和数据的接口(例如,NAND闪存接口)。具体地,存储器接口142可以支持控制器130和存储器装置150之间的数据传输。存储器接口142可以通过称为闪存接口层(FIL)的固件来驱动,以便与存储器装置150交换数据。
存储器接口142可以包括ECC组件。ECC组件可以检测并且校正从存储器装置150读取的数据中包含的错误。换言之,ECC组件可以通过在ECC编码进程期间使用的ECC值来对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ECC组件可以输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ECC组件可以不校正错误位,并且可以输出错误校正失败信号。
ECC组件可以通过诸如低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、涡轮码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)和/或分组编码调制(BCM)的编码调制执行错误校正操作。然而,ECC组件不限于任意特定的错误校正技术或结构。ECC组件可以包括合适的错误校正的任意和所有电路、模块、系统或装置。
存储器144可以用作存储器系统110和控制器130的工作存储器。存储器144可以存储用于驱动存储器系统110和控制器130的数据。控制器130可以响应于来自主机102的请求控制存储器装置150执行读取操作、编程操作和擦除操作。控制器130可以将从存储器装置150读取的数据提供至主机102。控制器130可以将从主机102提供的数据存储到存储器装置150中。存储器144可以存储控制器130和存储器装置150执行这些操作所需的数据。
存储器144可以通过易失性存储器来实施。例如,存储器144可以通过静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实施。存储器144可以设置在控制器130的内部或外部。图1例示了设置在控制器130的内部的存储器144。在实施例中,存储器144可以通过具有在存储器144和控制器130之间传输数据的存储器接口的外部易失性存储器来实施。
如上所述,存储器144可以存储在主机102和存储器装置150之间执行数据写入/读取操作所需的数据以及当执行数据写入/读取操作时的数据。为了存储这种数据,存储器144可以包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。
处理器134可以控制存储器系统110的全部操作。处理器134可以驱动固件来控制存储器系统110的全部操作。固件可被称为闪存转换层(FTL)。而且,处理器134可以被实现为微处理器和/或中央处理单元(CPU)。
例如,控制器130可以通过处理器134执行主机102请求的操作。换言之,控制器130可以执行与从主机102接收的命令相对应的命令操作。控制器130可以执行前台操作作为与从主机102接收到的命令相对应的命令操作。例如,控制器130可执行对应于写入命令的编程操作、对应于读取命令的读取操作、对应于擦除命令的擦除操作以及对应于设置参数命令或设置特征命令的参数设置操作。
控制器130可以通过处理器134对存储器装置150执行后台操作。后台操作可以包括:将存储在存储器装置150的存储块152至156之中的一些存储块中的数据复制到其它存储块并处理该数据,例如垃圾收集(GC)操作;在存储块152至156的多个存储块之中交换数据,例如损耗均衡(WL)操作;将存储在控制器130中的映射数据存储在存储块152至156中的至少一些,例如映射清除(flush)操作;和/或管理存储器装置150的坏块,例如检测并处理在存储块152至156之中的坏块。
参照图2至图4详细描述根据本发明的实施例的存储器系统的存储器装置。
图2是示出存储器装置150的示意图。图3是示出存储器装置150中的存储块的存储器单元阵列的示图。图4是示出存储器装置150的三维(3D)结构的示图。
参照图2,存储器装置150可以包括多个存储块,例如,BLOCK0(210)、BLOCK1(220)、BLOCK2(230),……BLOCKN-1(240)。存储块210、220、230和240中的每一个可以包括多个页面,例如2M个页面,页面的数量可以根据电路设计而变化。例如,在一些应用中,存储块中的每一个可以包括M个页面。页面中的每一个可以包括联接到字线WL的多个存储器单元。
存储器装置150可以包括多个存储块,该多个存储块可以包括具有每个存储1位数据的单层单元(SLC)存储器单元的SLC存储块和/或具有每个存储多位数据的多层单元(MLC)存储器单元的MLC存储块。SLC存储块可以包括通过SLC实现的多个页面。SLC存储块可以具有较快的数据操作性能和高耐久性。另一方面,MLC存储块可以包括通过MLC实现的多个页面。MLC存储块可以比SLC存储块具有更大的数据存储空间。换言之,MLC存储块可以被高度集成。
根据本发明的实施例,存储器装置150被描述为诸如闪速存储器的非易失性存储器,例如NAND闪速存储器。然而,存储器装置150可以被实现为以下中的任意一种:相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM或ReRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩磁性随机存取存储器(STT-RAM或STT-MRAM)。
存储块210、220、230、......、240可以通过编程操作来存储从主机102传输的数据,并且通过读取操作来将所存储的数据传输到主机102。
图3示出作为存储器系统110的存储器装置150中包括的多个存储块152至156中的任意一个的代表的存储块330。存储块330可以包括联接到多个相应位线BL0至BLm-1的多个单元串340。每列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元或存储器单元晶体管MC0至MCn-1可以串联地联接在漏极选择晶体管DST和源极选择晶体管SST之间。在实施例中,存储器单元MC0至MCn-1中的每一个可以通过能够存储多位数据信息的MLC来实施。单元串340中的每一个可以电联接到多个位线BL0至BLm-1之中的相应位线。例如,如图3所示,第一单元串联接到第一位线BL0,并且最后单元串联接到最后位线BLm-1。作为参考,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,并且“CSL”表示公共源极线。
虽然图3示出了NAND闪速存储器单元,但是本发明不限于此。注意的是,存储器单元可以是NOR闪速存储器单元或者包括其中组合了两个或更多个类型存储器单元的混合闪速存储器单元。而且,注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或者是包括作为电荷存储层的绝缘层的电荷撷取闪速(CTF)存储器装置。
存储器装置150可以进一步包括提供字线电压的电压供应装置310,字线电压包括根据操作模式供应至字线的编程电压、读取电压和通过电压。电压供应装置310的电压生成操作可由控制电路(未示出)来控制。在控制电路的控制下,电压供应装置310可以选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且根据需要将字线电压提供给所选择的字线和未选择的字线。
存储器装置150可以包括由控制电路控制的读取和写入(读取/写入)电路320。在验证/正常读取操作期间,读取/写入电路320可以用作用于从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可以用作根据待被存储在存储器单元阵列中的数据而驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并根据接收的数据驱动位线。读取/写入电路320可以包括分别与列(或位线)或列对(或位线对)相对应的多个页面缓冲器322至326。页面缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
存储器装置150可以由二维(2D)或三维(3D)存储器装置来实施。特别地,如图4所示,存储器装置150可以由包括多个存储块BLK0至BLKN-1的具有3D堆叠结构的非易失性存储器装置来实施。
存储器装置150中的每个存储块330可以包括在第二方向上延伸的多个NAND串NS以及在第一方向和第三方向上延伸的多个NAND串NS(未示出)。NAND串NS中的每一个可以联接到位线BL、至少一个漏极选择线DSL、至少一个源极选择线SSL、多个字线WL、至少一个虚设字线DWL(未示出)和公共源极线CSL。NAND串NS中的每一个可以包括多个晶体管结构TS。
简而言之,存储器装置150的每个存储块330可以联接到多个位线BL、多个漏极选择线DSL、多个源极选择线SSL、多个字线WL、多个虚设字线DWL和多个公共源极线CSL。每个存储块330可以包括多个NAND串NS。在每个存储块330中,一个位线BL可以联接到多个NAND串NS,以在一个NAND串NS中实现多个晶体管。每个NAND串NS的漏极选择晶体管DST可以联接到相应位线BL,并且每个NAND串NS的源极选择晶体管SST可以联接到公共源极线CSL。存储器单元MC可以设置在每个NAND串NS的漏极选择晶体管DST和源极选择晶体管SST之间。换言之,多个存储器单元可以在存储器装置150的每个存储块330中实现。
存储器装置150的操作可以由各种操作参数来确定。例如,当执行写入操作时,施加到字线的编程电压可以根据起始电压参数和阶跃电压参数来确定。将编程电压施加到字线的次数可以根据电压施加计数参数来确定。
主机102可以频繁地改变存储器系统110的各种操作参数。例如,主机102可以改变操作参数以测试控制器130的操作。
主机102可以改变操作参数以构造与存储器装置150的高温/低温操作或长期操作相似的操作环境。例如,主机102可以调整存储器装置150的起始电压参数、阶跃电压参数和/或电压施加计数参数。在调整参数之后,主机102会有意地降低数据存储在存储器装置150中的可靠性。
传统上,主机102可以将供应商命令提供至控制器130,以便改变一个或多个操作参数。响应于供应商命令,控制器130可以将内部命令提供至存储器装置150。供应商命令可以表示可以由控制器130的提供商定义并且可以在控制器130中使用的命令。存储器装置150可以响应于内部命令,通过改变与在内部操作参数寄存器中待改变的操作参数相对应的区域的数据来设置操作参数。
主机102可以将写入命令提供至控制器130,以便测试控制存储器装置150的控制器130的操作,该控制器基于经改变的操作参数而操作。控制器130可以将写入命令提供至存储器装置150。主机102可以将读取命令提供至控制器130以读取响应于写入命令而被写入的数据。控制器130可以将读取命令提供至存储器装置150。例如,控制器130可以校正从存储器装置150读取的数据的错误,从而将经校正的数据提供至主机102。主机102可以基于经校正的数据,确定控制器130即使在存储装置150的可靠性降低的操作环境下是否也正常操作。
根据实施例,当从主机102接收包括针对特定地址的写入命令和写入数据的主机请求时,控制器130可以解析该写入数据以提取一个或多个参数改变内部命令。控制器130可以将提取的参数改变内部命令提供至存储器装置150,并且控制存储器装置150基于提取的参数改变内部命令来设置操作参数。因此,主机102可以提供一个写入命令,以便控制存储器装置150设置一个或多个操作参数。
在实施例中,控制器130可以控制存储器装置150响应于写入命令将写入数据写入至存储器装置150。也就是说,存储器装置150可以响应于写入命令不仅设置操作参数,而且写入写入数据,该写入命令满足可以被预定的设置条件。写入数据可以作为用于测试控制器130的操作的虚设数据被写入到存储器装置150。
图5示出根据实施例的包括控制器130的存储器系统110的结构。
参照图5,存储器控制器130可以包括主机接口132、命令(CMD)提取器136和存储器接口142。存储器装置150可以包括已经参照图1至图4描述的多个存储块(未示出)以及操作参数寄存器158。主机接口132和存储器接口142可以分别对应于图1的主机接口132和存储器接口142。
根据实施例,当主机请求包括写入命令和可以被预定的特定地址时,命令提取器136可以解析主机请求中包括的写入数据,并且从写入数据提取一个或多个参数改变内部命令。
在实施方式中,命令提取器136可以被加载到图1的存储器144,并且由处理器134驱动。在实施方式中,命令提取器136可以被实施为现场可编程门阵列(FPGA)。
操作参数寄存器158可以存储各种操作参数。可以根据诸如写入操作参数、读取操作参数和擦除操作参数的参数属性将各种操作参数分组。分组的操作参数可以分别存储在操作参数寄存器158的各个不同区域中。存储器装置150可以基于在操作参数寄存器158中设置的参数值来执行读取操作、写入操作和擦除操作。
图6A示出根据实施例的包括控制器130的存储器系统110的操作。
参照图6A,在步骤602中,主机接口132可以从主机102接收主机请求。主机请求可以包括写入命令、写入地址和写入数据。
在步骤S604中,命令提取器136可以确定写入地址是否是特定地址,例如预定地址。
当确定写入地址不是特定地址(步骤S604中为“否”)时,命令提取器136可以通过存储器接口142将写入命令、写入地址和写入数据提供至存储器装置150。存储器装置150可以响应于写入命令将写入数据写入到由写入地址指示的存储区域。
当确定写入地址是特定地址(步骤S604中为“是”)时,在步骤S608中,命令提取器136可以从写入数据提取一个或多个参数改变内部命令。可以通过根据与主机102共有的协议解析写入数据来从写入数据提取参数改变内部命令。下面参照图7描述该协议的示例。
在步骤S610中,存储器接口142可以将提取的参数改变内部命令提供至存储器装置150。存储器装置150可以响应于参数更改内部命令通过改变操作参数寄存器158的数据来设置操作参数。
图6B示出根据实施例的包括控制器130的存储器系统110的操作。
图6B的步骤S602至S610可以对应于图6A的步骤S602至S610。
参照图6B,在步骤S612中,存储器接口142可以控制存储器装置150响应于主机请求中的写入命令,将写入数据写入到与特定地址相对应的存储器区域。存储器装置150可以基于设置的操作参数来写入写入数据。当包括参数改变内部命令的写入数据被写入到存储器装置150时,该写入数据可以用作测试控制器130的操作的虚设数据。此外,主机102可以向控制器130提供包括读取命令和特定地址的主机请求,以便测试控制器130的操作。
图7示出根据实施例的写入数据700。写入数据700的最左项可以表示写入数据的第一位,写入数据700的最右项可以指示写入数据的最后一位。当主机请求包括针对特定地址的写入命令时,命令提取器136可以从第一位到最后一位顺序地解析写入数据。
根据由主机102和命令提取器136共享的协议,写入数据可以包括一个或多个参数改变内部命令。
在实施例中,协议可以定义参数改变内部命令中的每一个中的数据。
参数改变内部命令中的每一个可以包括标头(header)、操作参数地址和操作参数数据。操作参数地址和操作参数数据可以分别具有固定或预定的长度。操作参数地址和操作参数数据可以顺序地排在标头之后。
标头可以表示在标头之后的操作参数数据是参数改变内部命令。操作参数地址可以表示多个操作参数之中待设置的操作参数存储在操作参数寄存器158中的区域。操作参数地址可以包括关于根据相应操作参数组中的诸如写入操作参数、读取操作参数和擦除操作参数以及各个操作参数的参数属性的操作参数组的位置信息。操作参数数据可以表示待设置的操作参数中待设置的参数值。
主机102可以将写入数据提供至控制器130。在一些实施例中,写入数据可以包括一个或多个参数改变内部命令,每个内部命令包括标头、操作参数地址和操作参数数据。命令提取器136可以通过解析写入数据来检测一个或多个标头,并且提取在一个或多个标头中的每一个的后面的数据作为参数改变内部命令。命令提取器136可以进一步从参数改变内部命令提取操作参数数据、操作参数组和操作参数的位置信息。
在实施例中,协议可以定义参数改变内部命令被包括在写入命令的位的哪个位中。图7示出作为协议的示例的多个参数改变内部命令从写入数据的第一位开始连续的情况。
主机102可以向控制器130提供包括一个或多个参数改变内部命令的写入命令。命令提取器136可以通过根据设置顺序解析写入数据来检测与设置顺序相对应的位中的标头。此外,命令提取器136可以提取在一个或多个标头后面的数据作为参数改变内部命令。命令提取器136可以重复检测标头并提取参数改变内部命令的操作,直到在与下一顺序相对应的位中不存在标头为止。
根据实施例,主机102可以提供针对特定地址的写入命令,而无需提供可以针对控制器130以不同方式实施的单独供应商命令,从而设置存储器装置150的操作参数。作为由主机102提供的一个主机请求的写入数据可以包括多个参数改变内部命令。因此,主机102可以通过一个请求来设置多个操作参数。
根据实施例,当主机102提供包括写入命令、写入地址和写入数据的主机请求时,存储器装置150不仅可以响应于与写入命令一起接收的写入数据来改变一个或多个操作参数,而且将写入数据写入到特定地址。然后,主机102可以基于从存储器装置150读取的数据来提供针对特定地址的读取命令以测试控制器130的操作。也就是说,主机102可以通过一个写入命令完成用于改变操作参数以及测试控制器130的操作的写入操作。
主机102可以在改变各种类型的操作参数的同时测试存储器系统110的操作。根据实施例,主机102可以提供一个写入命令以改变各种类型的操作参数。当测试完成时,主机102可以提供一个写入命令以将改变的操作参数返回为原始参数值。
主机102在改变操作参数的同时测试存储器系统110的操作的情况仅仅是改变操作参数的情况的示例。在另一实施例中,主机102改变操作参数。
参照图8至图16,更详细地描述可以应用包括存储器装置150和控制器130的上述存储器系统110的数据处理系统和电子装置。
图8是示意性地示出根据实施例的包括存储器系统的数据处理系统的示图。例如,图8示意性示出应用根据实施例的存储器系统的存储卡系统6100。
参照图8,存储卡系统6100可以包括存储器控制器6120、存储器装置6130和连接器6110。
更具体地,存储器控制器6120可以被连接到通过非易失性存储器(NVM)实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可以被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可以被配置成提供存储器装置6130和主机(未示出)之间的接口连接并驱动固件以控制存储器装置6130。也就是说,存储器控制器6120可以对应于参照图1描述的存储器系统110的控制器130,并且存储器装置6130可以对应于参照图1描述的存储器系统110的存储器装置150。
因此,如图1所示,存储器控制器6120可以包括随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正组件。
存储器控制器6120可以通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可以被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、高速PCI(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、无线保真(WI-FI或WIFI)和/或蓝牙。因此,根据实施例的存储器系统和数据处理系统可以应用于有线和/或无线电子装置,特别是移动电子装置。
存储器装置6130可以由非易失性存储器来实施。例如,存储器装置6130可以利用诸如以下的各种非易失性存储器装置中的任意一种来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和/或自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器6120和存储器装置6130可以被集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可以被集成以形成固态驱动器(SSD)。此外,存储器控制器6120以及存储器装置6130可以形成诸如以下的存储卡:PC卡(例如:个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、安全数字(SD)卡(例如,迷你SD卡、微型SD卡和SDHC卡)和/或通用闪存(UFS)。
图9是示意性地示出根据实施例的包括存储器系统的数据处理系统6200的另一示例的示图。
参照图9,数据处理系统6200可以包括具有一个或多个非易失性存储器(NVM)的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。如参照图1描述的,数据处理系统6200可以用作诸如存储卡(例如,CF卡、SD卡等)或USB装置的存储介质。存储器装置6230可以对应于如图1所示的存储器系统110中的存储器装置150,并且存储器控制器6220可以对应于如图1所示的存储器系统110的控制器130。
存储器控制器6220可以响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可以包括一个或多个中央处理单元(CPU)6221、诸如随机存取存储器(RAM)6222的缓冲存储器、错误校正码(ECC)电路6223、主机接口6224以及诸如NVM接口6225的存储器接口。
CPU 6221可以控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可以根据CPU 6221的控制来操作,并且用作工作存储器、缓冲存储器或高速缓存存储器。当RAM 6222用作工作存储器时,通过CPU 6221处理的数据可以被临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可以用于缓冲从主机6210传输到存储器装置6230或从存储器装置6230传输到主机6210的数据。当RAM 6222用作高速缓存存储器时,RAM 6222可以辅助存储器装置6230以高速运转。
ECC电路6223可以对应于图1所示的控制器130的ECC组件。
存储器控制器6220可以通过主机接口6224与主机6210交换数据,并且通过NVM接口6225与存储器装置6230交换数据。主机接口6224可以通过并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、高速外围组件互连(PCIe)或NAND接口而连接到主机6210。存储器控制器6220可以利用诸如无线保真(WiFi)或长期演进(LTE)的移动通信协议具有无线通信功能。存储器控制器6220可以连接到外部装置,例如主机6210或另一外部装置,并且然后与外部装置交换数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置进行通信,因此存储器系统和数据处理系统可以被应用于有线和/或无线电子装置,特别是移动电子装置。
图10是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图10示意性示出应用了存储器系统的固态驱动器(SSD)6300。
参照图10,SSD 6300可以包括控制器6320和包括多个非易失性存储器(NVM)的存储器装置6340。控制器6320可以对应于图1的存储器系统110中的控制器130,并且存储器装置6340可以对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可以通过多个通道CH1至CHi连接到存储器装置6340。控制器6320可以包括一个或多个处理器6321、错误校正码(ECC)电路6322、主机接口6324、缓冲存储器6325和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可以临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可以由诸如动态随机存取存储器(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、低功率DDR(LPDDR)SDRAM和图形RAM(GRAM)的易失性存储器实现,或者由诸如铁电RAM(FRAM)、电阻式RAM(RRAM或ReRAM)、自旋转移力矩磁性RAM(STT-MRAM)和相变RAM(PRAM)的非易失性存储器实现。通过示例的方式,图10示出缓冲存储器6325设置在控制器6320中。然而,缓冲存储器6325可以设置在控制器6320的外部。
ECC电路6322可以在编程操作期间计算待被编程到存储器装置6340的数据的错误校正码(ECC)值,在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作,并在失败数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可以提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可以提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用图1的存储器系统110的多个SSD 6300来实施数据处理系统,例如,独立磁盘冗余阵列(RAID)系统。RAID系统可以包括多个SSD 6300和用于控制多个SSD6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可以根据多个RAID级别,即,从SSD 6300中的主机6310提供的写入命令的RAID级别信息,选择一个或多个存储器系统或SSD 6300,并将对应于写入命令的数据输出到选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可以根据多个RAID级别,即,从SSD 6300中的主机6310提供的读取命令的RAID级别信息,选择一个或多个存储器系统或SSD 6300,并将从所选择的SSD 6300读取的数据提供给主机6310。
图11是示意性示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。例如,图11示意性示出可以应用存储器系统的嵌入式多媒体卡(eMMC)6400。
参照图11,eMMC 6400可以包括控制器6430和通过一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可以对应于图1的存储器系统110中的控制器130,并且存储器装置6440可以对应于图1的存储器系统110中的存储器装置150。
更具体地,控制器6430可以通过多个通道连接到存储器装置6440。控制器6430可以包括一个或多个内核6432、主机接口(I/F)6431和诸如NAND接口(I/F)6433的存储器接口。
内核6432可以控制eMMC 6400的全部操作,主机接口6431可以提供控制器6430和主机6410之间的接口功能,并且NAND接口6433可以提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可以用作并行接口,例如参照图1所描述的MMC接口。此外,主机接口6431可以用作串行接口,例如超高速(UHS)-I和UHS-II接口。
图12至图15是示意性地示出根据一个或多个实施例的包括存储器系统的数据处理系统的其它示例的示图。图12至图15示意性地示出可以应用存储器系统的通用闪速存储(UFS)系统。
参照图12至图15,UFS系统6500、6600、6700和6800可以分别包括主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可以用作有线和/或无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720和6820可以用作嵌入式UFS装置。UFS卡6530、6630、6730和6830可以用作外部嵌入式UFS装置或可移动UFS卡。
各个UFS系统6500、6600、6700和6800中的主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过UFS协议与外部装置通信,例如有线和/或无线电子装置,或者特别是移动电子装置通信。UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以由图1所示的存储器系统110实现。例如,在UFS系统6500、6600、6700和6800中,UFS装置6520、6620、6720和6820可以参照图9至图11描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730和6830可以参照图8描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700和6800中,主机6510、6610、6710和6810,UFS装置6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过例如MIPI(移动产业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)的UFS接口彼此通信。此外,UFS装置6520、6620、6720和6820与UFS卡6530、6630、6730和6830可以通过除UFS协议以外的各种协议,例如通用串行总线(USB)闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你-SD和微型-SD彼此通信。
在图12所示的UFS系统6500中,主机6510、UFS装置6520以及UFS卡6530中的每一个可以包括UniPro。主机6510可以执行交换操作,以便与UFS装置6520和UFS卡6530通信。特别地,主机6510可以通过UniPro处的例如L3交换的链路层交换与UFS装置6520或UFS卡6530通信。UFS装置6520和UFS卡6530可以通过主机6510的UniPro处的链路层交换来彼此通信。在图12的实施例中,通过示例的方式示出一个UFS装置6520和一个UFS卡6530连接到主机6510的配置。然而,在另一实施例中,多个UFS装置和UFS卡可以并联或以星型形式连接到主机6510,并且多个UFS卡可以并联或以星型形式连接到UFS装置6520,或者串联或以链型形式连接到UFS装置6520。
在图13所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可以包括UniPro,并且主机6610可以通过执行交换操作的交换模块6640,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6640,与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可以通过交换模块6640在UniPro处的链路层交换来彼此通信。在图13的实施例中,通过示例的方式示出一个UFS装置6620和一个UFS卡6630连接到交换模块6640的配置。然而,在另一实施例中,多个UFS装置和UFS卡可以并联或以星型形式连接到交换模块6640,并且多个UFS卡可串联或以链型形式连接到UFS装置6620。
在图14所示的UFS系统6700中,主机6710、UFS装置6720以及UFS卡6730中的每一个可以包括UniPro。主机6710可以通过执行交换操作的交换模块6740,例如通过在UniPro处执行例如L3交换的链路层交换的交换模块6740,与UFS装置6720或UFS卡6730通信。UFS装置6720和UFS卡6730可以通过交换模块6740在UniPro处的链路层交换来彼此通信,并且交换模块6740可以在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在图14的实施例中,通过示例的方式示出一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,在另一实施例中,每个都包括交换模块6740和UFS装置6720的多个模块可以并联或以星型形式连接到主机6710,或者串联或以链型形式彼此连接。此外,多个UFS卡可以并联或以星型形式连接到UFS装置6720。
在图15所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可以包括M-PHY和UniPro。UFS装置6820可以执行交换操作,以便与主机6810和UFS卡6830通信。特别地,UFS装置6820可以通过用于与主机6810通信的M-PHY和UniPro模块之间的交换操作和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标标识符(ID)交换操作,来与主机6810或UFS卡6830通信。主机6810和UFS卡6830可以通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在图15的实施例中,通过示例的方式示出一个UFS装置6820连接到主机6810和一个UFS卡6830连接到UFS装置6820的配置。然而,在另一实施例中,多个UFS装置可以并联或以星型形式连接到主机6810,或串联或以链型形式连接到主机6810,并且多个UFS卡可以并联或以星型形式连接到UFS装置6820,或串联或以链型形式连接到UFS装置6820。
图16是示意性示出根据实施例的包括存储器系统的数据处理系统的另一示例的示图。图16示意性地示出了可以应用存储器系统的用户系统6900。
参照图16,用户系统6900可以包括用户接口6910、存储器模块6920、应用处理器6930、网络模块6940和存储模块6950。
更具体地,应用处理器6930可以驱动包括在例如操作系统(OS)的用户系统6900中的组件,并且包括控制用户系统6900中包括的组件的控制器、接口、图形引擎。应用处理器6930可以被设置为片上系统(SoC)。
存储器模块6920可以用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可以包括诸如动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2 SDRAM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM或LPDDR3 SDRAM的易失性随机存取存储器(RAM),或诸如相变RAM(PRAM)、电阻式RAM(ReRAM)、磁阻RAM(MRAM)或铁电RAM(FRAM)的非易失性RAM。例如,可以基于叠层封装(POP)来封装和安装应用处理器6930和存储器模块6920。
网络模块6940可以与外部装置通信。例如,网络模块6940不仅可以支持有线通信,而且还可以支持诸如以下的各种无线通信:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(Wimax)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置或特别是移动电子装置通信。因此,根据本发明的实施例,存储器系统和数据处理系统可以应用于有线/无线电子装置。网络模块6940可以被包括在应用处理器6930中。
存储模块6950可以存储数据,例如从应用处理器6930接收到的数据,并且可以将存储的数据传输到应用处理器6930。存储模块6950可以由诸如以下的非易失性半导体存储器装置实现:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3DNAND闪存,并且存储模块6950可以被设置为诸如用户系统6900的存储卡或外部驱动器的可移动存储介质。存储模块6950可以对应于参照图1描述的存储器系统110。此外,存储模块6950可以被实施为如上参照图10至图15所述的SSD、eMMC和UFS。
用户接口6910可以包括用于将数据或命令输入到应用处理器6930或将数据输出到外部装置的接口。例如,用户接口6910可以包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监控器的用户输出接口。
此外,当图1的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可以控制移动电子装置的全部操作,并且网络模块6940可以用作用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可以在移动电子装置的显示/触摸模块上显示由应用处理器6930处理的数据或支持从触摸面板接收数据的功能。
根据各个实施例,可以提供一种能够高效地执行对控制器的测试的控制器以及控制器的操作方法。
虽然已经示出并描述了各个实施例,但是对于本领域技术人员显而易见的是,根据本公开,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。
Claims (16)
1.一种控制器的操作方法,所述控制器控制存储器装置,所述存储器装置包括操作参数寄存器,所述操作方法包括:
从主机接收写入请求,所述写入请求包括写入命令、写入地址和写入数据;
基于所述写入地址是否为特定地址,从所述写入数据提取用于改变所述存储器装置的操作参数值的参数改变内部命令,提取的参数改变内部命令包括操作参数地址和操作参数数据;以及
通过控制所述存储器装置将所述操作参数数据存储在与所述操作参数地址相对应的所述操作参数寄存器中,设置所述存储器装置的操作参数,所述操作参数数据对应于所述操作参数值。
2.根据权利要求1所述的操作方法,进一步包括控制所述存储器装置将所述写入数据写入到与所述写入地址相对应的存储器区域。
3.根据权利要求2所述的操作方法,进一步包括:
从所述主机接收读取请求,所述读取请求包括读取命令和特定地址;以及
控制所述存储器装置响应于所述读取命令读取所述写入数据。
4.根据权利要求1所述的操作方法,其中从所述写入数据中提取所述参数改变内部命令包括:
从所述写入数据中检测标头;以及
提取在所述标头之后的数据作为所述参数更改内部命令。
5.根据权利要求1所述的操作方法,进一步包括当确定所述写入地址不是所述特定地址时,控制所述存储器装置执行所述写入请求。
6.一种控制器,所述控制器控制存储器装置,所述存储器装置包括操作参数寄存器,所述控制器包括:
主机接口,从主机接收写入请求,所述写入请求包括写入命令、写入地址和写入数据;
命令提取器,基于所述写入地址是否为特定地址,从所述写入数据提取用于改变所述存储器装置的操作参数值的参数改变内部命令,提取的参数改变内部命令包括操作参数地址和操作参数数据;以及
存储器接口,通过控制所述存储器装置将所述操作参数数据存储在与所述操作参数地址相对应的所述操作参数寄存器中,设置所述存储器装置的操作参数,所述操作参数数据对应于所述操作参数值。
7.根据权利要求6所述的控制器,所述控制器接口控制所述存储器装置将所述写入数据写入到与所述写入地址相对应的存储器区域。
8.根据权利要求7所述的控制器,其中所述主机接口从所述主机接收读取请求,所述读取请求包括读取命令和所述特定地址,以及
所述存储器接口控制所述存储器装置响应于所述读取命令读取所述写入数据。
9.根据权利要求6所述的控制器,其中所述命令提取器提取所述提取的参数改变内部命令的标头、所述操作参数数据和所述操作参数地址。
10.根据权利要求9所述的控制器,其中所述命令提取器进一步从所述操作参数地址提取根据待改变的操作参数的属性的操作参数组以及待改变的所述操作参数在所述操作参数组内的位置信息。
11.根据权利要求9所述的控制器,其中所述命令提取器从所述写入数据检测所述标头,并且提取在所述标头之后的数据作为所述参数改变内部命令。
12.根据权利要求6所述的控制器,其中所述主机接口接收包括所述参数改变内部命令的所述写入数据。
13.根据权利要求12所述的控制器,其中所述命令提取器根据位顺序来解析所述写入数据。
14.根据权利要求13所述的控制器,其中当确定所述写入地址不是所述特定地址时,所述存储器接口控制所述存储器装置执行所述写入请求。
15.一种存储器系统,包括:
存储器装置,包括操作参数寄存器;以及
控制器,控制所述存储器装置,
其中所述控制器从主机接收主机请求,所述主机请求包括写入命令、写入地址和写入数据;以及基于所述写入地址是否为预定的特定地址,从所述写入数据提取用于改变所述存储器装置的操作参数值的参数改变内部命令,所述参数改变内部命令包括操作参数地址和操作参数数据;以及通过控制所述存储器装置将所述操作参数数据存储在与所述操作参数地址相对应的所述操作参数寄存器中,设置所述存储器装置的操作参数,所述操作参数数据对应于所述操作参数值。
16.一种存储器系统,包括:
存储器装置,包括用于存储操作参数的存储器;以及
控制器,所述控制器:
接收写入数据;
确定所述写入数据是否包括参数设置信息;
当确定所述写入数据包括所述参数设置信息时,控制所述存储器装置将所述参数设置信息存储在所述存储器中;以及
控制所述存储器装置基于所述参数设置信息测试是否执行了操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0004958 | 2019-01-15 | ||
KR1020190004958A KR20200088564A (ko) | 2019-01-15 | 2019-01-15 | 컨트롤러, 컨트롤러의 동작방법 및 메모리 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111435290A true CN111435290A (zh) | 2020-07-21 |
Family
ID=71517877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911257259.3A Withdrawn CN111435290A (zh) | 2019-01-15 | 2019-12-10 | 控制器、控制器的操作方法以及存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20200225873A1 (zh) |
KR (1) | KR20200088564A (zh) |
CN (1) | CN111435290A (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111599397B (zh) * | 2019-02-20 | 2024-04-09 | 深圳通锐微电子技术有限公司 | 控制装置及控制方法 |
KR20210088996A (ko) * | 2020-01-07 | 2021-07-15 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
US20230152993A1 (en) * | 2021-11-15 | 2023-05-18 | Samsung Electronics Co., Ltd. | Storage device |
KR102509646B1 (ko) * | 2021-11-15 | 2023-03-15 | 삼성전자주식회사 | 스토리지 장치 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089830A (zh) * | 2006-06-16 | 2007-12-19 | 亮发科技股份有限公司 | 记忆装置及其运作方法 |
US20110219202A1 (en) * | 2008-10-28 | 2011-09-08 | Armin Bartsch | Speichermedium mit unterschiedlichen zugriffsmöglichkeiten / memory medium having different ways of accessing |
CN103000230A (zh) * | 2011-09-09 | 2013-03-27 | 上海华虹Nec电子有限公司 | 一种非易失性存储器ip核的测试和验证开发系统 |
CN103680612A (zh) * | 2012-09-24 | 2014-03-26 | 上海华虹宏力半导体制造有限公司 | 优化电可擦写非易失性存储器读写性能的方法 |
CN106354652A (zh) * | 2015-07-15 | 2017-01-25 | 上海华虹集成电路有限责任公司 | 非易失性存储器读写控制电路及方法 |
-
2019
- 2019-01-15 KR KR1020190004958A patent/KR20200088564A/ko unknown
- 2019-11-01 US US16/671,790 patent/US20200225873A1/en not_active Abandoned
- 2019-12-10 CN CN201911257259.3A patent/CN111435290A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101089830A (zh) * | 2006-06-16 | 2007-12-19 | 亮发科技股份有限公司 | 记忆装置及其运作方法 |
US20110219202A1 (en) * | 2008-10-28 | 2011-09-08 | Armin Bartsch | Speichermedium mit unterschiedlichen zugriffsmöglichkeiten / memory medium having different ways of accessing |
CN103000230A (zh) * | 2011-09-09 | 2013-03-27 | 上海华虹Nec电子有限公司 | 一种非易失性存储器ip核的测试和验证开发系统 |
CN103680612A (zh) * | 2012-09-24 | 2014-03-26 | 上海华虹宏力半导体制造有限公司 | 优化电可擦写非易失性存储器读写性能的方法 |
CN106354652A (zh) * | 2015-07-15 | 2017-01-25 | 上海华虹集成电路有限责任公司 | 非易失性存储器读写控制电路及方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20200088564A (ko) | 2020-07-23 |
US20200225873A1 (en) | 2020-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10942660B2 (en) | Memory system for peforming compression based on map data pattern and operating method thereof | |
CN108694017B (zh) | 存储器系统及其操作方法 | |
US10073651B2 (en) | Memory system with power-off detection and recovery mechanism | |
US11262940B2 (en) | Controller and operating method thereof | |
CN111400200A (zh) | 控制器及其操作方法 | |
US10489078B2 (en) | Controller keeping a sequence of data and operating method thereof | |
US20180074718A1 (en) | Memory system and method for operating the same | |
US10929236B2 (en) | Memory system, method of operating the same, and data processing system including the same | |
US20190107961A1 (en) | Memory system and operating method of the same | |
CN109390003B (zh) | 存储器系统及其操作方法 | |
US10747619B2 (en) | Memory system and operating method thereof | |
KR20190004094A (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
US20190121733A1 (en) | Controller and operating method thereof | |
CN110556152B (zh) | 存储器装置、其操作方法以及包括其的存储器系统 | |
US20200019325A1 (en) | Memory system and operation method thereof | |
US10761912B2 (en) | Controller including multi processor and operation method thereof | |
CN111435290A (zh) | 控制器、控制器的操作方法以及存储器系统 | |
CN110765029B (zh) | 控制器及用于操作该控制器的方法 | |
CN109656470B (zh) | 存储器系统及其操作方法 | |
CN111400082A (zh) | 控制器及控制器的操作方法 | |
US10768839B2 (en) | Memory system and operating method thereof | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
CN111176554A (zh) | 存储器系统及其操作方法 | |
US20190212936A1 (en) | Memory system and operating method thereof | |
US10803960B2 (en) | Memory device and operation method thereof |
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: 20200721 |
|
WW01 | Invention patent application withdrawn after publication |