CN104657295B - 用于控制非易失性存储器的写速度的系统和方法 - Google Patents
用于控制非易失性存储器的写速度的系统和方法 Download PDFInfo
- Publication number
- CN104657295B CN104657295B CN201410670360.2A CN201410670360A CN104657295B CN 104657295 B CN104657295 B CN 104657295B CN 201410670360 A CN201410670360 A CN 201410670360A CN 104657295 B CN104657295 B CN 104657295B
- Authority
- CN
- China
- Prior art keywords
- volatile memory
- write
- memory
- smt
- mass production
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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
-
- 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/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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/70—Details relating to dynamic memory management
- G06F2212/702—Conservative garbage collection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
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)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
公开了用于控制非易失性存储器的写速度的系统和方法。提供一种系统,包括:具有多个下载速度的非易失性存储器;连接到非易失性存储器的计算装置,其中,非易失性存储器在计算装置的控制下根据非易失性存储器的下载环境被设置到所述多个下载速度之一。
Description
本申请要求于2013年11月21日在韩国知识产权局提交的第10-2013-0142286号韩国专利申请的优先权,该申请的全部内容通过引用包含于此。
技术领域
在此描述的发明构思涉及在存储器中存储数据的技术。
背景技术
电子装置一般包括存储各种数据的存贮器,各种数据包括但不限于由制造商提供的引导加载器(boot loader)、OS镜像、主系统数据、基本应用程序等。公知的量产过程如下。首先,在将存贮器安装在电子装置上之前将数据存储在存贮器中。之后,可通过装配处理将存贮器安装在电子装置上。最后,将数据存储在安装在电子装置上的存贮器中。在量产级别推出(ship)产品(例如,电子装置)所花费的时间会受将数据存储在产品中的存贮器中所花费的时间的影响。换言之,量产效率会受将数据存储在产品中的存贮器中所花费的时间的影响。
发明内容
本发明构思的实施例的一方面在于提供一种系统,包括:具有多个下载速度的非易失性存储器;连接到非易失性存储器的计算装置,其中,非易失性存储器在计算装置的控制下根据非易失性存储器的下载环境被设置到所述多个下载速度之一。
本发明构思的实施例的另一方面在于提供一种非易失性存储器,包括:存储介质,用于存储数据;控制器,被配置为控制存储介质,其中,控制器被配置为基于从外部装置提供的设置信息可变地控制从外部装置提供的数据被存储在存储介质中的下载速度。
本发明构思的实施例的另一方面在于提供一种量产系统的量产方法,包括:执行预SMT写操作,其中,数据从计算装置被下载到具有多个量产下载速度的非易失性存储器,所述非易失性存储器被计算装置设置到所述多个量产下载速度之一;将非易失性存储器安装在移动装置上;执行后SMT写操作,其中,数据被下载到安装在移动装置上的非易失性存储器,所述非易失性存储器被设置到用于预SMT写操作的量产下载速度或者除了用于预SMT写操作的量产下载速度之外的其余量产下载速度之一,其中,与用于预SMT写操作的量产下载速度对应的写性能和与用于后SMT写操作的量产下载速度对应的写性能比非易失性存储器的一般下载速度的写性能好。
附图说明
从以下参照以下附图的描述中,以上和其它目的和特征将变得明显,其中,除非另外说明,否则在各个附图中的相同标号始终表示相同部件,在附图中:
图1是示意性地示出根据本发明构思的实施例的量产过程的流程图;
图2是用于描述根据本发明构思的实施例的在图1中示出的预SMT写步骤的示图;
图3是示意性地示出根据本发明构思的实施例的在图1中示出的预SMT写步骤的流程图;
图4是示意性地示出根据本发明构思的另一实施例的在图1中示出的预SMT写步骤的流程图;
图5是用于描述在图1中示出的后SMT写步骤的示图;
图6是示意性地示出根据本发明构思的实施例的在图1中示出的后SMT写步骤的流程图;
图7是示意性地示出根据本发明构思的另一实施例的在图1中示出的后SMT写步骤的流程图;
图8是示出根据本发明构思的实施例的应用了预SMT写步骤和后SMT写步骤的量产过程的示图;
图9是示出根据本发明构思的另一实施例的应用了预SMT写步骤和后SMT写步骤的量产过程的示图;
图10是示出根据本发明构思的另一实施例的应用了预SMT写步骤和后SMT写步骤的量产过程的示图;
图11是示出根据本发明构思的另一实施例的应用了后SMT写步骤的量产过程的示图;
图12是用于描述根据移动装置和计算装置之间的接口速度选择包括在移动装置中的存储器装置的可支持写模式的方法的示图;
图13是示意性地示出根据本发明构思的实施例的非易失性存储器的框图;
图14是示意性地示出在图13中示出的存储器控制器的框图;
图15是示意性地示出在图13中示出的存储介质的框图。
具体实施方式
下面将参照附图详细描述实施例。然而,本发明构思可被实施为各种不同的形式,而不应被解释为仅限于示出的实施例。相反,提供作为示例的这些实施例使得本公开将是全面和完整的,并且这些实施例将把本发明构思的构思全部传达给本领域的技术人员。因此,针对本发明构思中的一些实施例不描述已知的处理、元件和技术。除非另有描述,否则附图和说明书中的相同标号始终表示相同元件,因此将不重复描述。在附图中,为了清楚,层和区域的尺寸和相对尺寸可被夸大。
将理解,虽然在此可使用术语“第一”、“第二”、“第三”等来描述各种元件、组件、区域、层和/或区间,但是这些元件、组件、区域、层和/或区间不应被这些术语限制。仅使用这些术语来将一个元件、组件、区域、层或区间与另一元件、组件、区域、层或区间区分开来。因此,在不脱离本发明构思的教导的情况下,以下讨论的第一元件、组件、区域、层或区间可被命名为第二元件、组件、区域、层或区间。
在此可使用空间相对术语,诸如“在……下方”、“在……之下”、“下面”、“在……下面”、“在……之上”、“上面”等,以易于描述在附图中示出的一个元件或特征与其它元件或特征的关系。将理解,空间相对术语意在包含除了附图中描绘的使用或操作的装置的方位以外的不同方位。例如,如果将附图中的装置翻转,则被描述为“在其它元件或特征之下”或“在其它元件或特征下方”或“在其它元件或特征下面”的元件将被导向为“在所述其它元件或特征之上”。因此,示例性术语“在……之下”和“在……下面”可包含之上和之下的两个方位。装置可位于其它方位(旋转90度或处于其它方位),并且在此使用的空间相对描述符将被相应地解释。此外,还将理解,当层被表示为在两个层“之间”时,该层可以是该两个层之间仅有的层,或还可以存在一个或更多个中间层。
在此使用的术语仅用于描述特定实施例的目的,而不意在限制本发明构思。如这里所使用的,除非上下文另外清楚地指出,否则单数形式也意在包括复数形式。还将理解,在本说明书中使用的术语“包括”和/或“包含”指明阐述的特征、整体、步骤、操作、元件和/或组件的存在,但不排除一个或更多个其它特征、整体、步骤、操作、元件、组件和/或它们的组合的存在或添加。如这里所使用的,术语“和/或”包括一个或更多个关联列出的项目的任何和所有组合。此外,术语“示例性”意在指示示例或说明。
将理解,当元件或层被表示为“在”另一元件或层“上”、“连接到”另一元件或层、“连结到”另一元件或层或者与另一元件或层“相邻”时,该元件或层可直接在该另一元件或层上、连接到该另一元件或层、连结到该另一元件或层或者与该另一元件或层相邻,或者可存在中间元件或层。相反,当元件被表示为“直接在”另一元件或层“上”、“直接连接到”另一元件或层、“直接连结到”另一元件或层或者“直接与”另一元件或层“相邻”时,不存在中间元件或层。
除非另外定义,否则在此使用的所有术语(包括技术和科学术语)具有与本发明构思所属领域的普通技术人员通常理解的意义相同的意义。还将理解,诸如在通用字典中定义的术语应被解释为具有与在现有技术的背景和/或本说明书中的意义一致的意义,而不应被解释为理想化或过于形式化的意义,除非这里明确地如此表述。
以下,将描述将应用于量产级别的非易失性存储器(例如,闪存和嵌入式多媒体卡(在下文中称为“eMMC”)等)的写方法。然而,本发明构思不限于此。例如,非易失性存储器可用作各种移动装置包括的主存贮器的存储器。本发明构思的写方法可缩短将数据下载至非易失性存储器所花费的时间;从而可提高量产效率。这里,下载可包括将数据从外部装置(例如,计算装置)传输到非易失性存储器的操作、和在非易失性存储器的存储介质中对传输的数据进行编程的操作。下载速度可被视为写模式。在提高量产效率中,术语“下载速度”和“写模式”可被用作相同的意思。
图1是示意性地示出根据本发明构思的实施例的量产过程的流程图。
参照图1,量产过程包括预SMT(表面安装技术)写步骤B100、SMT步骤B200和后SMT写步骤B300。在预SMT写步骤B100,将一个或更多个非易失性存储器连接到计算装置,将数据从计算装置下载到所述一个或更多个非易失性存储器。该操作一般被称为联合(Gang)编程操作。在预SMT写步骤B100,将安装非易失性存储器的移动装置(例如,智能电话、平板PC等)的基本数据(例如,引导加载器、OS镜像等)被从计算装置下载到非易失性存储器。这里,下载可包括将数据从计算装置传输到非易失性存储器的操作、以及在非易失性存储器(或非易失性存储器的存储介质)中对传输的数据进行编程的操作。
在示例性实施例中,预SMT写步骤B100可包括计算装置设置非易失性存储器的写模式的操作。可选择地,预SMT写步骤B100可包括:允许非易失性存储器向计算装置提供可支持写模式的操作、允许计算装置选择可支持写模式之一的操作以及允许计算装置利用选择的写模式设置非易失性存储器的操作。具体地说,可基于非易失性存储器的环境(例如,与非易失性存储器是否安装在移动装置上相关联的非易失性存储器的下载/写环境)、将被下载的数据的大小、接口速度等确定非易失性存储器的写模式。之后,设置非易失性存储器的写模式的操作可被称为寄存器设置操作。然而,应理解寄存器设置操作不限于本公开。
在作为装配步骤的SMT步骤B200,将存储了在预SMT写步骤B100下载的数据的非易失性存储器安装到移动装置上。
在后SMT写步骤B300,将计算装置连接到包括在预SMT写步骤B100下载了数据的非易失性存储器的移动装置。这里,移动装置和计算装置可通过各种有线和无线通信协议之一连接。例如,移动装置和计算装置可通过USB协议连接。在移动装置连接到计算装置之后,将数据从计算装置下载到移动装置。
在示例性实施例中,后SMT写步骤B300可包括计算装置设置非易失性存储器的写模式(或下载速度)的操作。可选择地,后SMT写步骤B300可包括:允许非易失性存储器向计算装置提供可支持写模式(或针对量产的写模式)的操作、允许计算装置选择可支持写模式之一的操作以及允许计算装置利用选择的写模式设置非易失性存储器的操作。具体地说,可基于非易失性存储器的环境(例如,与非易失性存储器是否安装在移动装置上相关联的非易失性存储器的下载/写环境)、将被下载的数据的大小、接口速度等确定非易失性存储器的写模式。
利用本发明构思的量产过程,在预SMT写步骤B100和后SMT写步骤B300期间,可考虑上述非易失性存储器的环境来选择非易失性存储器/移动装置的写模式(或下载速度)。写模式可包括多个条件,所述多个条件包括但不限于可靠性、写性能、将被下载的数据的大小、计算装置和移动装置之间的接口方式等。一般来说,在写性能和可靠性之间会存在平衡关系。例如,写性能的提高会降低可靠性,可靠性的提高会降低写性能。根据本发明构思的写方法选择的写模式的写性能可被设置为比非易失性存储器的一般写模式的写性能更好。稍后将更全面地对此进行描述。这里,写模式可被视为下载速度。
利用以上描述,可通过根据写性能被设置为比非易失性存储器的一般写模式的写性能更好的写模式或下载速度而将数据下载到非易失性存储器中,来缩短将数据下载到非易失性存储器所花费的时间(或下载时间)。因此,可提高量产效率。
在示例性实施例中,本发明构思的量产系统的量产方法包括以下操作:执行预SMT写操作,其中,数据被从计算装置下载到具有多个量产下载速度的非易失性存储器中,所述非易失性存储器被计算装置设置到多个量产下载速度之一;将非易失性存储器安装在移动装置上;执行后SMT写操作,其中,数据被下载到安装在移动装置上的非易失性存储器中,所述非易失性存储器被设置到用于预SMT写操作的量产下载速度或除了用于预SMT写操作的量产下载速度之外的其余量产下载速度之一。与用于预SMT写操作的量产下载速度对应的写性能以及与用于后SMT写操作的量产下载速度对应的写性能比非易失性存储器的一般下载速度的写性能好。
这里,可通过非易失性存储器的编程时间和编程方式并通过与下载数据的写操作相关联的后台操作来改变量产下载速度。非易失性存储器包括存储介质,该存储介质由具有多级单元编程方式和单级单元编程方式的多级单元存储器组成,其中,多级单元存储器存储数据。通过以下操作之一或通过以下操作中的两个或更多个的组合来实现量产下载速度:将非易失性存储器的编程方式设置为单级单元编程方式的操作、改变数据被大幅存储在存储介质中的编程时间的操作、以及延迟后台操作的执行时间点的操作。与下载数据的写操作相关联的后台操作被保持到非易失性存储器从计算装置拆离时的特定时间点,并且在非易失性存储器与计算装置断开连接的状态下执行保持的后台操作。移动装置包括提供非易失性存储器和计算装置之间的接口的接口装置,非易失性存储器根据接口装置的接口速度支持下载速度的全部或部分。
图2是用于描述根据本发明构思的实施例的在图1中示出的预SMT写步骤的示图。
如参照图1所描述的,在SMT步骤B200之前执行预SMT写步骤B100。在预SMT写步骤B100期间,可将存储在计算装置100中的数据下载到与计算装置100连接的一个或更多个非易失性存储器200。为了便于描述,在图2中只示出一个非易失性存储器。然而,对于联合编程而言,可将两个或更多个非易失性存储器连接到计算装置100。这里,计算装置100可以是公知的ROM写入器(或被称为联合编程器)。然而,应理解,本发明构思的计算装置100不限于本公开。这里,计算装置100和非易失性存储器200可构成量产系统。
在预SMT写步骤B100期间,可将用于将安装非易失性存储器200的移动装置(例如,智能电话、平板PC等)的基本操作的数据(例如引导加载器、OS镜像等)下载到连接到计算装置100的非易失性存储器200。诸如引导加载器和OS镜像的数据被存储在非易失性存储器200中意味着非易失性存储器200被用作移动装置的引导存储器。如上所述,在本发明构思中,下载操作可包括将数据从计算装置100传输到非易失性存储器200的操作以及在非易失性存储器200(或非易失性存储器200的存储介质)中对传输的数据进行编程的操作。
非易失性存储器200可以是每单元存储m(m是2或大于2的整数)比特数据的多级单元(MLC)存储器。例如,非易失性存储器200可以是每单元存储2比特数据的存储器,被称为MLC存储器。可选择地,非易失性存储器200可以是每单元存储3比特数据的存储器,被称为TLC存储器。然而,应理解,非易失性存储器200不限于本公开。非易失性存储器200包括数据被大幅存储的存储介质,并且存储介质由一个或更多个非易失性存储器装置(诸如闪存装置、磁RAM(MRAM)、电阻式RAM(RRAM)、相变RAM(PRAM)、铁电RAM(FRAM)等)组成。作为存贮器,非易失性存储器200还可包括控制存储介质的控制器(或存储器控制器)。非易失性存储器200支持各种写模式。分别与写模式对应的下载速度可彼此不同。可考虑非易失性存储器的环境、可靠性、写性能和将被下载的数据的大小等来确定写模式/下载速度。
在示例性实施例中,可通过控制条件(诸如MLC/TLC存储器的编程方式、编程时间、后台操作(例如,垃圾回收操作、刷新操作等)等)来改变下载速度。也就是说,可基于这样的条件来确定写模式。然而,应理解,改变写模式/下载速度的方法不限于本公开。
例如,可通过以下操作、以下操作中的至少两个操作的组合或以下所有操作的组合来改变下载速度:将MLC/TLC存储器的编程方式设置为低级别编程方式的操作、缩短包括在MLC/TLC存储器中的存储介质的有效编程时间的操作、延迟MLC/TLC存储器的后台操作的操作。此外,这样的条件可用于控制数据的可靠性、写性能等。换言之,可通过这样的条件改变数据的可靠性、写性能等。写模式的可靠性和写性能水平可彼此不同。也就是说,与写模式对应的下载速度可彼此不同。
在示例性实施例中,量产系统包括:具有多个下载速度的非易失性存储器;连接到非易失性存储器的计算装置。可在计算装置的控制下根据非易失性存储器的下载环境将非易失性存储器设置到下载速度之一。下载速度可分别对应于量产写模式。量产写模式的性能可彼此不同。可通过非易失性存储器的编程方式和编程时间来确定每个下载速度。非易失性存储器可包括存储介质,该存储介质由具有多级单元编程方式和单级单元编程方式的多级单元存储器形成,其中,多级单元存储器存储数据。可通过将非易失性存储器的编程方式设置为单级单元编程方式和/或通过改变数据被实际上存储在存储介质中的编程时间来改变下载速度。与设置的下载速度对应的量产写模式的后台操作可保持到非易失性存储器从计算装置拆离的特定时间点,并且后台操作可包括垃圾回收操作和数据刷新操作。在没有执行将非易失性存储器安装到移动装置上的装配处理的情况下,可选择非易失性存储器的具有在比非易失性存储器的一般写模式的写性能好的量产写模式的写性能中的比最大写性能低的写性能的下载速度。在执行了将非易失性存储器安装到移动装置上的装配处理的情况下,可选择非易失性存储器的具有比非易失性存储器的一般写模式的写性能好的量产写模式的写性能的最大写性能的下载速度。
图3是示意性地示出根据本发明构思的实施例的在图1中示出的预SMT写步骤的流程图。以下,将参照图1至图3更全面地描述根据本发明构思的实施例的预SMT写步骤。
在步骤S100,非易失性存储器200连接到计算装置100。计算装置100例如可包括安装了多个非易失性存储器的板。可通过计算装置100把将安装非易失性存储器200的移动装置的数据(例如,引导加载器、OS镜像等)下载到安装在板上的非易失性存储器中。为了便于描述,将使用一非易失性存储器描述本发明构思的预SMT写方法。然而,应理解,本发明构思的预SMT写方法可等同地应用于安装在板上的所有非易失性存储器。
一旦非易失性存储器200连接到计算装置100,在步骤S120,计算装置100就设置非易失性存储器200的写模式。也就是说,在步骤S120执行关于非易失性存储器200的寄存器设置操作。非易失性存储器200可支持各种写模式。分别对应于多个写模式的下载速度可彼此不同。可考虑数据可靠性、写性能、将被下载的数据的大小等确定每个写模式。例如,在非易失性存储器200安装到移动装置上之前存储在非易失性存储器200中的数据可受SMT步骤的环境(例如,高温环境)影响。也就是说,在非易失性存储器200安装到移动装置上之前存储在非易失性存储器200中的数据可受SMT步骤的高温影响。在此情况下,可基于数据可靠性而非写模式的写性能来确定写模式。与此相对,在非易失性存储器200安装到移动装置上之后存储在非易失性存储器200中的数据可不受SMT步骤的高温影响。在此情况下,可基于写模式的写性能而非数据可靠性来确定写模式。
因此,在步骤S120,选择用于在确保数据可靠性的同时提高写性能的写模式,虽然下载到非易失性存储器200中的数据受SMT步骤的温度影响。在步骤S120,计算装置100可使用指示预SMT写操作的开始的信息来设置非易失性存储器200。非易失性存储器200可基于这样的信息选择可支持的写模式之一。
在示例性实施例中,例如,在步骤S120设置的写模式的条件可包括非易失性存储器200的编程方式、编程时间、后台操作等。可通过控制这样的条件来实现各种写模式。换言之,可通过控制这样的条件改变与写模式对应的下载速度。
在非易失性存储器200包括每单元存储2比特数据的存储介质的情况下,非易失性存储器200可支持在存储器单元中存储2比特数据的多级单元编程方式(在下文中被称为MLC编程方式)和在存储器单元中存储1比特数据的单级单元编程方式(在下文中被称为SLC编程方式)。执行根据MLC编程方式的编程操作所花费的时间会比执行根据SLC编程方式的编程操作所花费的时间长。可选择地,在非易失性存储器200包括每单元存储3比特数据的存储介质的情况下,非易失性存储器200可支持在存储器单元中存储3比特数据的多级单元编程方式(在下文中被称为TLC编程方式)、在存储器单元中存储2比特数据的多级单元编程方式(在下文中被称为MLC编程方式)、在存储器单元中存储1比特数据的单级单元编程方式(在下文中被称为SLC编程方式)。执行根据TLC编程方式的编程操作所花费的时间会比执行根据MLC编程方式的编程操作所花费的时间长,执行根据MLC编程方式的编程操作所花费的时间会比执行根据SLC编程方式的编程操作所花费的时间长。可通过改变非易失性存储器200的编程方式来多样地实现写模式/下载速度。
可调整从计算装置100传输到非易失性存储器200的存储介质的数据被实际编程的时间(例如,tPROG)(在下文中被称为编程时间)。例如,可通过控制编程电压的初始电平、编程循环数等来改变关于非易失性存储器200的存储介质的编程时间(例如,tPROG)。因此,可通过改变非易失性存储器200的编程时间来多样地实现写模式/下载速度。
执行后台操作(诸如垃圾回收)的时间点可以变化。例如,垃圾回收的执行时间点和执行时间可被保持或延迟到特定时间点。因此,可在特定时间点执行被延迟的后台操作。因此,可通过改变非易失性存储器200的后台操作的执行时间点/执行时间来多样地实现写模式/下载速度。
考虑到上述条件,在数据可靠性和写性能之间会存在平衡。例如,当数据可靠性用作临界点时可限制写性能的提高。相反,当写性能用作临界点时可略微限制数据可靠性。数据可靠性和写性能可取决于上述条件。也就是说,数据可靠性可根据写性能的提高而改变。在执行SMT步骤之前,可确定写模式以在确保数据可靠性的同时提高写性能。例如,在步骤S120,选择具有在非易失性存储器200的一般写模式的写性能和最大写性能之间的写性能的写模式。
在设置了非易失性存储器200的写模式之后,在步骤S140,用于将安装非易失性存储器200的移动装置的基本操作的数据(例如,引导加载器、OS镜像等)可通过计算装置100下载到非易失性存储器200中。这里,下载操作可包括将数据从计算装置100传输到非易失性存储器200的操作、以及在非易失性存储器200(或者非易失性存储器200的存储介质)中对传输的数据进行编程的操作。可根据在步骤S120设置的写模式的条件,将从计算装置100传输的数据存储在非易失性存储器200的存储介质中。例如,可根据SLC编程方式(在MLC存储器的情况下)或根据SLC/MLC编程方式(在TLC存储器的情况下),将从计算装置100传输的数据存储在非易失性存储器200的存储介质中。在此情况下,可保持诸如垃圾回收的后台操作。此外,在一些情况下,可缩短编程时间tPROG。
在步骤S160,计算装置100利用指示预SMT写操作的结束的信息设置非易失性存储器200。之后,预SMT写操作可结束。
在示例性实施例中,可在特定时间点在非易失性存储器200内执行在步骤S120延迟的后台操作。将参照附图对此进行更全面的描述。
图4是示意性地示出根据本发明构思的另一实施例的在图1中示出的预SMT写步骤的流程图。以下,将参照图1、图2和图4更全面地描述根据本发明构思的实施例的预SMT写步骤。
在步骤S200,非易失性存储器200连接到计算装置100。例如,计算装置100可包括安装了多个非易失性存储器的板。可通过计算装置100把将安装非易失性存储器200的移动装置的数据(例如,引导加载器、OS镜像等)下载到安装在板上的非易失性存储器中。为了便于描述,将使用一非易失性存储器描述本发明构思的预SMT写方法。然而,应理解,本发明构思的预SMT写方法可等同地应用于安装在板上的所有非易失性存储器。
一旦非易失性存储器200连接到计算装置100,在步骤S220,非易失性存储器200就向计算装置100提供写模式信息。这里,写模式信息可包括各种写模式。在步骤S240,计算装置100基于写模式信息设置非易失性存储器200的写模式。也就是说,在步骤S240执行关于非易失性存储器200的寄存器设置操作。计算装置100选择用于在确保数据可靠性的同时提高写性能的写模式,虽然下载到非易失性存储器200中的数据受SMT步骤的温度影响。可使用计算装置100选择的写模式设置非易失性存储器200。
在设置了非易失性存储器200的写模式之后,在步骤S260,可通过计算装置100把用于将安装非易失性存储器200的移动装置的基本操作的数据(例如,引导加载器、OS镜像等)下载到非易失性存储器200中。这里,下载操作可包括将数据从计算装置100传输到非易失性存储器200的操作、以及在非易失性存储器200(或非易失性存储器200的存储介质)中对传输的数据进行编程的操作。可根据在步骤S240设置的写模式的条件,将从计算装置100传输的数据存储在非易失性存储器200的存储介质中。例如,可根据SLC编程方式(在MLC存储器的情况下)或根据SLC/MLC编程方式(在TLC存储器的情况下),将从计算装置100传输的数据存储在非易失性存储器200的存储介质中。在此情况下,可保持诸如垃圾回收的后台操作。此外,在一些情况下,可缩短编程时间tPROG。
在步骤S280,计算装置100使用指示预SMT写操作的结束的信息设置非易失性存储器200。之后,预SMT写操作可结束。
在示例性实施例中,可在特定时间点在非易失性存储器200内执行在步骤S260延迟的后台操作。将参照附图对此进行更全面地描述。
图5是用于描述在图1中示出的后SMT写步骤的示图。
参照图5,移动装置1000通过链接1001连接到计算装置2000,并且移动装置1000包括处理单元1100、通信接口1200、存储器1300、输入装置1400和显示装置1500。例如,移动装置1000可包括PDA、蜂窝电话、移动电话、移动通信装置、便携式电子装置、智能电话等。然而,本发明构思的移动装置1000不限于此。
处理单元1100包括任何合适的处理器或处理器的组合,包括但不限于微处理器、中央处理单元(CPU)等。其它合适的处理器在本发明构思的范围内。
通信接口1200包括任何合适的通信接口或通信接口的组合。具体地说,通信接口1200被实现为根据与链接1001兼容的任何合适的协议通信,所述协议包括但不限于有线协议、USB(通用串行总线)协议、串行线缆协议、无线协议、蜂窝电话协议、无线数据协议、蓝牙协议、NFC(近场通信)协议等和/或组合。
存储器1300可包括任何合适的存储器装置,包括但不限于易失性存储器、非易失性存储器、随机存取存储器(RAM)、闪存等中任何合适的一个或组合。其它合适的存储器装置在本发明构思的范围内。存储器1300可用作移动装置1000的主存储器。存储器1300可由图2中示出的非易失性存储器200实现。也就是说,存储器1300可以是通过预SMT写操作下载了用于移动装置1000的基本操作的数据的非易失性存储器。如稍后将描述的,可通过后SMT写方法将应用程序存储在存储器1300中。
输入装置1400总体上被实现为接收输入数据并可包括输入装置的任何合适组合,所述输入装置包括但不限于键盘、键区、指示装置、鼠标、轨迹轮、轨迹球、触摸板、触控板(trackpad)、触摸屏等。其它合适的输入装置在本发明构思的范围内。显示装置1500可包括平板显示器(例如,LCD、OLED(有机发光二极管)、电容或电阻触摸屏等)。
图6是示意性地示出根据本发明构思的实施例的在图1中示出的后SMT写步骤的流程图。以下,将参照图1、图5和图6更全面地描述根据本发明构思的实施例的后SMT写步骤。
在步骤S300,移动装置1000连接到计算装置2000。例如,移动装置1000的通信接口1200通过诸如USB线的链接1001连接到计算装置2000。可通过USB线将移动装置1000的各种类型的应用程序从计算装置2000下载到移动装置1000的存储器装置1300中。为了便于描述,将使用一个移动装置来描述本发明构思的后SMT写方法。然而,应理解,本发明构思的后SMT写方法可等同地应用于连接到计算装置2000的多个移动装置。
一旦移动装置1000连接到计算装置2000,在步骤S320,计算装置2000就设置包括在移动装置1000中的存储器装置1300的写模式。也就是说,可在步骤S320执行关于存储器1300的寄存器设置操作。如上所述,存储器1300支持多种写模式。分别对应于多个写模式的下载速度可彼此不同。可考虑数据可靠性、写性能、将被下载的数据的大小等来确定每个写模式。与在存储器1300安装到移动装置1000上之前存储在存储器1300中的数据不同,在存储器1300安装到移动装置1000上之后存储在存储器1300中的数据不会受SMT步骤的环境(例如,高温环境)影响。因此,由于下载到存储器1300中的数据不受SMT步骤的温度影响,因此在步骤S320,选择用于在确保数据可靠性的同时提高写性能的写模式。这里,可选择写模式使得后SMT写性能变得比预SMT写性能好。在步骤S320,计算装置2000使用指示后SMT写操作的开始的信息来设置包括在移动装置1000中的存储器1300。存储器1300可基于这样的信息选择可支持的写模式之一。
考虑到上述参照图3描述的条件,在数据可靠性和写性能之间会存在平衡。例如,当数据可靠性用作临界点时可限制写性能的提高。相反,当写性能用作临界点时可略微限制数据可靠性。数据可靠性和写性能可取决于上述条件。也就是说,数据可靠性可根据写性能的提高而改变。在执行SMT步骤之后,可确定写模式以在确保数据可靠性的同时提高写性能。例如,在步骤S320,选择具有比一般写模式的写性能和预SMT写性能好的最大写性能的写模式。
在设置了存储器1300的写模式之后,在步骤S340,可将安装了存储器1300的移动装置的各种应用程序从计算装置2000下载到存储器1300中。这里,下载操作可包括将数据从计算装置2000传输到存储器1300的操作、以及在存储器1300(或者存储器1300的存储介质)中对传输的数据进行编程的操作。可根据在步骤S320设置的写模式的条件,将从计算装置2000传输的数据存储在存储器1300的存储介质中。例如,可根据SLC编程方式(在MLC存储器的情况下)或根据SLC/MLC编程方式(在TLC存储器的情况下),将从计算装置2000传输的数据存储在存储器1300的存储介质中。在此情况下,可保持诸如垃圾回收的后台操作。此外,在一些情况下,可缩短编程时间tPROG。
在步骤S360,计算装置2000使用指示后SMT写操作的结束的信息设置存储器1300。之后,后SMT写操作可结束。
在示例性实施例中,可在特定时间点在存储器1300内执行在步骤S340延迟的后台操作。将参照附图对此进行更全面地描述。
图7是示意性地示出根据本发明构思的另一实施例的在图1中示出的后SMT写步骤的流程图。以下,将参照图1、图5和图7更全面地描述根据本发明构思的实施例的后SMT写步骤。
在步骤S400,移动装置1000连接到计算装置2000。例如,移动装置1000的通信接口1200通过诸如USB线的链接1001连接到计算装置2000。可通过USB线将移动装置1000的各种类型的应用程序从计算装置2000下载到移动装置1000的存储器装置1300中。为了便于描述,将使用一个移动装置来描述本发明构思的后SMT写方法。然而,应理解,本发明构思的后SMT写方法可等同地应用于连接到计算装置2000的多个移动装置。
一旦移动装置1000连接到计算装置2000,在步骤S420,移动装置1000的存储器1300就向计算装置2000提供写模式信息。这里,写模式信息可包括各种写模式。在步骤S440,计算装置2000基于写模式信息设置包括在移动装置1000中的存储器1300的写模式。也就是说,可在步骤S440执行关于包括在移动装置1000中的存储器1300的寄存器设置操作。与在存储器1300安装到移动装置1000上之前存储在存储器1300中的数据不同,在存储器1300安装到移动装置1000上之后存储在存储器1300中的数据不会受SMT步骤的环境(例如,高温环境)影响。因此,由于下载到存储器1300中的数据不受SMT步骤的温度影响,因此在步骤S440,选择用于在确保数据可靠性的同时提高写性能的写模式。这里,可选择写模式使得后SMT写性能变得比预SMT写性能好。在步骤S440,计算装置2000使用指示后SMT写操作的开始的信息来设置包括在移动装置1000中的存储器1300。存储器1300可基于这样的信息选择可支持的写模式之一。
考虑到上述参照图3描述的条件,在数据可靠性和写性能之间会存在平衡。例如,当数据可靠性用作临界点时可限制写性能的提高。相反,当写性能用作临界点时可略微限制数据可靠性。数据可靠性和写性能可取决于上述条件。也就是说,数据可靠性可根据写性能的提高而改变。在执行SMT步骤之后,可确定写模式以在确保数据可靠性的同时提高写性能。例如,在步骤S440,选择具有比一般写模式的写性能和预SMT写性能好的最大写性能的写模式。
在设置了存储器1300的写模式之后,在步骤S460,可将安装了存储器1300的移动装置的各种应用程序从计算装置2000下载到存储器1300中。这里,下载操作可包括将数据从计算装置2000传输到存储器1300的操作、以及在存储器1300(或者存储器1300的存储介质)中对传输的数据进行编程的操作。可根据在步骤S440设置的写模式的条件,将从计算装置2000传输的数据存储在存储器1300的存储介质中。例如,可根据SLC编程方式(在MLC存储器的情况下)或根据SLC/MLC编程方式(在TLC存储器的情况下),将从计算装置2000传输的数据存储在存储器1300的存储介质中。在此情况下,可保持诸如垃圾回收的后台操作。此外,在一些情况下,可缩短编程时间tPROG。
在步骤S480,计算装置2000使用指示后SMT写操作的结束的信息设置存储器1300。之后,后SMT写操作可结束。
在示例性实施例中,可在特定时间点在存储器1300内执行在步骤S460延迟的后台操作。将参照附图对此进行更全面地描述。
图8是示出根据本发明构思的实施例的应用了预SMT写步骤和后SMT写步骤的量产过程的示图。在图8中,水平轴表示量产时间,竖直轴表示顺序写性能。
在图8中示出的量产过程包括预SMT写步骤P10、SMT步骤P20、后SMT写步骤P30、后处理步骤P40和一般输入/输出操作P50。然而,本发明构思不限于此。在SMT步骤P20,可将非易失性存储器安装到移动装置上。在预SMT写步骤P10,可将非易失性存储器(参照图2)连接到计算装置。同样地,在后SMT写步骤P30,可将包括存储器(参照图5)的移动装置1000连接到计算装置。从图8中可以理解,执行预SMT写步骤P10所花费的时间和执行后SMT写步骤P30所花费的时间会占据大部分的量产时间。这意味着通过缩短这样的写时间来缩短量产时间。
在示例性实施例中,可与参照图3或图4所述基本相同地执行与预SMT写步骤P10对应的操作。可与参照图6或图7所述基本相同地执行与后SMT写步骤P30对应的操作。
预SMT写步骤P10的顺序写性能比后SMT写步骤P30的顺序写性能低。相反,预SMT写步骤P10的可靠性比后SMT写步骤P30的可靠性高。可将非易失性存储器/存储器装置的写模式设置为满足这样的条件。此外,如图8中所示,预SMT写步骤P10的顺序写性能和后SMT写步骤P30的顺序写性能可比一般输入/输出操作P50的顺序写性能高。例如,假设一般输入/输出操作P50的写模式为默认写模式,则默认写模式的写性能可比预SMT写步骤P10和后SMT写步骤P30的顺序写性能低。这意味着执行预SMT写步骤P10所花费的时间和执行后SMT写步骤P30所花费的时间被缩短了。因此,可以缩短量产时间。
可在后处理步骤P40执行在预SMT写步骤P10和后SMT写步骤P30保持的后台操作(例如,垃圾回收等)。与预SMT写步骤P10和后SMT写步骤P30不同,移动装置可在后处理步骤P40期间从计算装置拆离。由于使用从计算装置拆离的移动装置执行保持的后台操作,因此执行后台操作所花费的时间不会影响量产时间。此外,后处理步骤P40可包括以下操作:检测非易失性存储器/存储器装置的特性劣化的区域、以及执行刷新检测到的区域的数据的数据刷新操作。垃圾回收操作和数据刷新操作中的任何一个或所有可在后处理步骤P40被执行。
为了方便描述,图8示出步骤P10至P40在相同时间轴上连续的实施例。然而,由于可在量产过程中的非易失性存储器(参照图2)或存储器(参照图5)从计算装置拆离的任何时间执行步骤P40,因此可在下载操作期间执行步骤P40。
图9是示出根据本发明构思的另一实施例的应用了预SMT写步骤和后SMT写步骤的量产过程的示图。在图9中,水平轴表示量产时间,竖直轴表示顺序写性能。
在图9中示出的量产过程包括预SMT写步骤P10、SMT步骤P20、后SMT写步骤P30和一般输入/输出和后处理步骤P50。然而,本发明构思不限于此。在SMT步骤P20,可将非易失性存储器安装到移动装置上。在预SMT写步骤P10,可将非易失性存储器(参照图2)连接到计算装置。同样地,在后SMT写步骤P30,可将包括存储器(参照图5)的移动装置1000连接到计算装置。从图9中可以理解,执行预SMT写步骤P10所花费的时间和执行后SMT写步骤P30所花费的时间会占据大部分的量产时间。这意味着通过缩短这样的写时间来缩短量产时间。
在示例性实施例中,可与参照图3或图4所述基本相同地执行与预SMT写步骤P10对应的操作。可与参照图6或图7所述基本相同地执行与后SMT写步骤P30对应的操作。
预SMT写步骤P10的顺序写性能比后SMT写步骤P30的顺序写性能低。相反,预SMT写步骤P10的可靠性比后SMT写步骤P30的可靠性高。可将非易失性存储器/存储器装置的写模式设置为满足这样的条件。此外,如图9中所示,预SMT写步骤P10的顺序写性能和后SMT写步骤P30的顺序写性能可比一般输入/输出和后处理步骤P50的一般输入/输出操作的顺序写性能高。例如,假设一般输入/输出操作的写模式为默认写模式,则默认写模式的写性能可比预SMT写步骤P10和后SMT写步骤P30的顺序写性能低。这意味着执行预SMT写步骤P10所花费的时间和执行后SMT写步骤P30所花费的时间被缩短了。因此,可以缩短量产时间。
可在一般输入/输出和后处理步骤P50执行在预SMT写步骤P10和后SMT写步骤P30保持的后台操作(例如,垃圾回收等)。与预SMT写步骤P10和后SMT写步骤P30不同,移动装置可在一般输入/输出和后处理步骤P50期间从计算装置拆离。由于使用从计算装置拆离的移动装置执行保持的后台操作,因此执行后台操作所花费的时间不会影响量产时间。此外,一般输入/输出和后处理步骤P50可包括以下操作:检测非易失性存储器/存储器装置的特性劣化的区域、以及执行刷新检测到的区域的数据的数据刷新操作。
图10是示出根据本发明构思的另一实施例的应用了预SMT写步骤和后SMT写步骤的量产过程的示图。在图10中,水平轴表示量产时间,竖直轴表示顺序写性能。
在图10中示出的量产过程包括预SMT写步骤P10、SMT步骤P20、第一后处理步骤P60、后SMT写步骤P30、第二后处理步骤P40和一般输入/输出操作P50。然而,本发明构思不限于此。在SMT步骤P20,可将非易失性存储器安装到移动装置上。在预SMT写步骤P10,可将非易失性存储器(参照图2)连接到计算装置。同样地,在后SMT写步骤P30,可将包括存储器(参照图5)的移动装置1000连接到计算装置。从图10中可以理解,执行预SMT写步骤P10所花费的时间和执行后SMT写步骤P30所花费的时间会占据大部分的量产时间。这意味着通过缩短这样的写时间来缩短量产时间。
在示例性实施例中,可与参照图3或图4所述基本相同地执行与预SMT写步骤P10对应的操作。可与参照图6或图7所述基本相同地执行与后SMT写步骤P30对应的操作。
预SMT写步骤P10的顺序写性能比后SMT写步骤P30的顺序写性能低。相反,预SMT写步骤P10的可靠性比后SMT写步骤P30的可靠性高。可将非易失性存储器/存储器装置的写模式设置为满足这样的条件。此外,如图10中所示,预SMT写步骤P10的顺序写性能和后SMT写步骤P30的顺序写性能可比一般输入/输出操作P50的顺序写性能高。例如,假设一般输入/输出操作P50的写模式为默认写模式,则默认写模式的写性能可比预SMT写步骤P10和后SMT写步骤P30的顺序写性能低。这意味着执行预SMT写步骤P10所花费的时间和执行后SMT写步骤P30所花费的时间被缩短了。因此,可以缩短量产时间。
可在第一后处理步骤P60执行在预SMT写步骤P10保持的后台操作(例如,垃圾回收等)。与预SMT写步骤P10和后SMT写步骤P30不同,移动装置可在第一后处理步骤P60和第二后处理步骤P40期间从计算装置拆离。由于使用从计算装置拆离的移动装置执行保持的后台操作,因此执行后台操作所花费的时间不会影响量产时间。此外,第一后处理步骤P60和第二后处理步骤P40中的每个可包括以下操作:检测非易失性存储器/存储器装置的特性劣化的区域、以及执行刷新检测到的区域的数据的数据刷新操作。垃圾回收操作和数据刷新操作中的任何一个或所有可在第二后处理步骤P40被执行。
图11是示出根据本发明构思的另一实施例的应用了后SMT写步骤的量产过程的示图。在图11中,水平轴表示量产时间,竖直轴表示顺序写性能。
在图11中示出的量产过程包括SMT步骤P20、后SMT写步骤P30、后处理步骤P40和一般输入/输出步骤P50。然而,本发明构思不限于此。在SMT步骤P20,可将非易失性存储器安装到移动装置上。在后SMT写步骤P30,可将包括存储器(参照图5)的移动装置1000连接到计算装置。在后SMT写步骤P30,可将用于移动装置的基本操作的数据(例如,引导加载器、OS镜像等)和移动装置的应用程序下载到移动装置的存储器装置中。从图11可以理解,执行后SMT写步骤P30所花费的时间会占据大部分的量产时间。这意味着通过缩短执行后SMT写步骤P30所花费的时间来缩短量产时间。
在示例性实施例中,可与参照图6或图7所述基本相同地执行与后SMT写步骤P30对应的操作。
如图11中所示,后SMT写步骤P30的顺序写性能可比一般输入/输出操作P50的顺序写性能高。例如,假设一般输入/输出操作P50的写模式为默认写模式,则默认写模式的写性能可比后SMT写步骤P30的顺序写性能高。这意味着执行后SMT写步骤P30所花费的时间被缩短了。因此,可以缩短量产时间。
可在后处理步骤P40执行在后SMT写步骤P30保持的后台操作(例如,垃圾回收等)。与后SMT写步骤P30不同,移动装置可在后处理步骤P40期间从计算装置拆离。由于使用从计算装置拆离的移动装置执行保持的后台操作,因此执行后台操作所花费的时间不会影响量产时间。此外,后处理步骤P40可包括以下操作:检测非易失性存储器/存储器装置的特性劣化的区域、以及执行刷新检测到的区域的数据的数据刷新操作。垃圾回收操作和数据刷新操作中的任何一个或所有可在后处理步骤P40被执行。
在图5中,在移动装置1000的通信接口1200根据USB协议连接到计算装置2000的情况下,包括在移动装置1000中的存储器装置1300的可支持写模式可根据移动装置1000和计算装置2000之间的接口速度受到限制。将稍后对此进行更全面地描述。
图12是用于描述根据移动装置和计算装置之间的接口速度选择包括在移动装置中的存储器装置的可支持写模式的方法的示图。
包括在移动装置1000中的存储器1300的可支持写模式可具有不同的下载速度。例如,参照图12,可根据将被下载的数据的大小选择写模式(或下载速度)。如上所述,下载操作可包括将数据从外部装置(例如计算装置)传输到移动装置的主存储器(或非易失性存储器/存储器装置)的操作、以及在非易失性存储器/存储器装置的存储介质中对传输的数据进行编程的操作。
在移动装置1000和计算装置2000之间的接口是高速接口(例如,USB3.0)的情况下,计算装置2000可执行关于存储器装置1300的寄存器设置操作,从而选择与包括在移动装置1000中的存储器装置1300的可支持写模式之一对应的下载速度。
相反,在移动装置1000和计算装置2000之间的接口是低速接口(例如,USB 2.0)的情况下,计算装置2000可执行关于存储器装置1300的寄存器设置操作,从而选择与包括在移动装置1000中的存储器装置1300的一些可支持写模式之一对应的下载速度。
在示例性实施例中,如果移动装置1000被连接以下载文件,则可通过移动装置1000的显示装置1500显示可支持写模式或下载速度。用户可根据将被下载的数据的大小选择下载速度之一,并且文件可根据选择的下载速度被下载到包括在移动装置1000中的存储器装置1300中。可在与选择的下载速度对应的写模式期间保持后台操作。在下载操作完成之后,可在空闲时间期间执行保持的后台操作。
在本发明构思中,由非易失性存储器200或存储器1300支持的写模式可包括:具有高级可靠性、在默认写性能和最大写性能之间的写性能、长后处理时间、小的将被下载的数据的大小的写模式;具有中级可靠性、最大写性能、长后处理时间、中等的将被下载的数据的大小的写模式;具有中级可靠性、在默认写性能和最大写性能之间的写性能、中等后处理时间、大的将被下载的数据的大小的写模式。然而,本发明构思不限于此。
图13是示意性地示出根据本发明构思的实施例的非易失性存储器的框图。
参照图13,根据本发明构思的实施例的非易失性存储器3000包括存储器控制器3200和由多比特/多级存储器装置实现的存储介质3400。存储器控制器3200被配置为根据外部请求(例如,写请求、读请求等)控制存储介质3400。存储器控制器3200被配置为在没有外部请求的情况下根据内部请求(例如,保持的后台操作、与突然断电相关联的操作、损耗平衡操作、读回收(read reclaim)操作等)控制存储介质3400。存储介质3400响应于存储器控制器3200的控制而操作,并包括一个或更多个存储器芯片。存储介质3400和存储器控制器3200经由一个或更多个通道进行通信。存储介质3400可以是例如NAND闪存装置。
存储器控制器3200被配置为根据来自外部装置的信息(例如,指示将在SMT步骤之前执行的写操作的信息)改变写模式。例如,当接收到指示非易失性存储器3000的写操作是将在SMT步骤之前执行的写操作的信息时,选择具有在一般写模式的写性能和后SMT写性能之间的写性能的写模式。可选择地,当接收到指示非易失性存储器3000的写操作是将在SMT步骤之后执行的写操作的信息时,选择具有最大写性能的写模式。存储器控制器3200根据选择的写模式控制存储介质3400的写操作。可将在写操作期间保持的后台操作视为如参照图8至图11中的一个所描述的那样。
在示例实施例中,存储器控制器3200和存储介质3400可构成多媒体卡(MMC)或直接安装在便携式电子装置的板上的嵌入式MMC(eMMC)。然而,本发明构思不限于此。
在示例性实施例中,非易失性存储器3000可包括:用于存储数据的存储介质3400;被配置为控制存储介质的控制器3200。控制器3200可被配置为基于从外部装置提供的设置信息不同地控制从外部装置提供的数据被存储在存储介质3400中的下载速度。可通过存储介质3400的编程方式和编程时间并通过控制器的后台操作来改变下载速度。存储介质3400由具有多级单元编程方式和单级单元编程方式的多级单元存储器装置组成。通过以下操作之一或以下操作中的两个或更多个的组合来改变下载速度:将多级单元存储器装置的编程方式设置为单级单元编程方式的操作、改变数据被大幅存储在多级单元存储器装置中的编程时间的操作、以及延迟后台操作的执行时间点的操作。设置信息可包括指示非易失性存储器3000的装配处理是否在量产级别完成的信息。当设置信息指示非易失性存储器3000存在于量产级别时,可选择具有比存储介质的一般写模式的写性能好的写性能的下载速度。与当设置信息指示非易失性存储器3000的装配处理在量产级别完成时选择的下载速度对应的写性能比与当设置信息指示非易失性存储器3000的装配处理没有在量产级别完成时选择的下载速度对应的写性能好。非易失性存储器3000可支持多个下载速度,并且控制器3200可根据与外部装置的接口速度支持多个下载速度中的全部或部分。当非易失性存储器3000连接到外部装置以进行数据下载时,控制器3200可显示多个下载速度以供用户选择。
图14是示意性地示出在图13中示出的存储器控制器的框图。参照图14,存储器控制器3200包括作为第一接口的主机接口3210、作为第二接口的存储器接口3220、中央处理单元(CPU)3230、缓冲存储器3240以及错误检测和校正电路3250。
主机接口3210被配置为与外部装置(例如,主机)连接,存储器接口3220被配置为与在图13中示出的存储介质3400连接。CPU 3230被配置为控制控制器3200的整体操作。例如,CPU 3230可被配置为操作诸如闪存转换层(FTL)的固件。FTL可执行各种功能。例如,FTL可包括执行地址映射操作、读回收操作、错误校正操作等的各种层。当接收到指示当前写操作是将在SMT步骤之前执行的写操作的信息时,CPU 3230(或由CPU 3230执行的FTL)可选择具有在一般写模式的写性能和后SMT写性能之间的写性能的写模式。此外,当接收到指示当前写操作是将在SMT步骤之后执行的写操作的信息时,CPU 3230(或由CPU 3230执行的FTL)可选择具有最大写性能的写模式
缓冲存储器3240用于临时存储将经由主机接口3210从外部装置传输的数据或将经由存储器接口3220从存储介质3400传输的数据。缓冲存储器3240用于存储控制存储介质3400所需要的信息(例如,地址映射信息等)。缓冲存储器3240可由DRAM、SRAM或DRAM和SRAM的组合形成。然而,本发明构思不限于此。ECC 3250被配置为对将被存储在存储介质3400中的数据进行编码并对从存储介质3400读出的数据进行解码。
虽然在附图中没有示出,但是存储器控制器3200还可包括:随机化器/去随机化器,被配置为对将被存储在存储介质3400中的数据进行随机化并对从存储介质3400读取的数据去随机化。随机化器/去随机化器的示例被公开于第2010/0088574号美国专利公开中,该公开的整个内容通过引用合并于此。
在示例实施例中,主机接口3210可由计算机总线标准、存储总线标准、iFCP外围总线标准之一或者两个或更多个标准的组合形成。计算机总线标准可包括S-100总线、Mbus、Smbus、Q-Bus、ISA、Zorro II、Zorro III、CAMAC,FASTBUS、LPC、EISA、VME、VXI、NuBus,TURBOchannel、MCA、Sbus、VLB、PCI、PXI、HP GSC总线、CoreConnect、InfiniBand、UPA、PCI-X、AGP、PCIe、英特尔快速通道互联、超传输等。存储总线标准可包括ST-506、ESDI、SMD、并行ATA、DMA、SSA、HIPPI、USB MSC、FireWire(1394)、串行ATA、eSATA、SCSI、并行SCSI、串行连接SCSI、光纤信道(Fibre Channel)、iSCSI、SAS、RapidIO、FCIP等。iFCP外围总线标准可包括苹果桌面总线、HIL、MIDI、Multibus、RS-232、DMX512-A、EIA/RS-422、IEEE-1284、UNI/O、1-Wire、I2C、SPI、EIA/RS-485、USB、Camera Link、外部PCIe、Light Peak、Multidrop Bus等。
图15是示意性地示出在图13中示出的存储介质的框图。
例如,存储介质3400可以是诸如NAND闪存装置的非易失性存储器装置。然而,应理解,存储介质3400不限于NAND闪存装置。例如,本发明构思可应用于NOR闪存装置、电阻式随机存取存储器(RRAM)装置、相变存储器(PRAM)装置、磁阻式随机存取存储器(MRAM)装置、铁电随机存取存储器(FRAM)装置、自旋转移矩随机存取存储器(STT-RAM)等。此外,非易失性存储器装置1400可被实现为具有三维阵列结构。具有三维阵列结构的非易失性存储器装置可被称为垂直NAND闪存装置。本发明构思可应用于包括由绝缘薄膜形成的电荷存储层的电荷撷取闪存(CTF)装置、以及包括由导电浮栅形成的电荷存储层的闪存装置。
参照图15,存储介质3400包括存储器单元阵列3410、地址解码器3420、电压产生器3430、控制逻辑3440、页缓冲器电路3450和输入/输出接口3460。
存储器单元阵列3410包括布置在行(例如,字线)和列(例如,位线)的交叉处的存储器单元。每个存储器单元可存储1比特数据或作为多比特数据的M比特数据(M为2或大于2的整数)。地址解码器3420由控制逻辑3440控制,并且地址解码器3420执行对存储器单元阵列3410的行(例如,字线、串选择线、接地选择线、公共源线(common source line)等)的选择和驱动操作。电压产生器3430由控制逻辑3440控制,并产生每个操作所需要的电压,诸如高电压、编程电压、读取电压、验证电压、擦除电压、通过电压、体电压(bulk voltage)等。电压产生器3430产生的电压经由地址解码器3420被提供到存储器单元阵列3410。控制逻辑3440被配置为控制存储介质3400的整体操作。
页缓冲器电路3450由控制逻辑3440控制,并被配置为从存储器单元阵列3410读取数据以及根据编程数据驱动存储器单元阵列3410的列(例如,位线)。页缓冲器电路3450可包括分别与位线或位线对对应的页缓冲器。每个页缓冲器可包括多个锁存器。输入/输出接口3460由控制逻辑3440控制并与外部装置(例如,在图13中示出的存储器控制器3200)连接。虽然没有在图15中示出,但是输入/输出接口3460可包括:列解码器,被配置为通过预定单元、接收数据的输入缓冲器、输出数据的输出缓冲器等选择页缓冲器电路3450的页缓冲器。
在示例性实施例中,控制逻辑3440被配置为根据存储器控制器3200的控制改变编程时间tPROG。例如,控制逻辑3440可控制电压产生器3420使得编程电压的起始电平被改变。可选择地,控制逻辑3440可根据存储器控制器3200的控制限制编程循环数。可通过改变编程电压的起始电平、编程循环数等来改变编程时间tPROG。
在示例实施例中,存储器单元可由可变电阻存储器单元形成。示例性的可变电阻存储器单元和包括该可变电阻存储器单元的存储器装置被公开在第7,529,124号美国专利中,其全部内容通过引用合并于此。
在其它示例实施例中,存储器单元可由具有电荷存储层的各种单元结构之一形成。具有电荷存储层的单元结构包括使用电荷撷取层的电荷撷取闪存结构、阵列以多层堆叠的堆叠闪存结构、源极-漏极自由闪存结构、插入式闪存结构等。
在另一示例实施例中,具有电荷撷取闪存结构作为电荷存储层的存储器装置被公开在第6,858,906号美国专利和第2004/0169238号和第2006/0180851号美国专利公开中,其全部内容通过引用合并于此。源极-漏极自由闪存结构被公开在第673020号韩国专利中,其全部内容通过引用合并于此。
可根据各种不同封装技术中的任何技术来对根据本发明构思的非易失性存储器装置和/或存储器控制器进行封装。这样的封装技术的示例可包括层叠封装(POP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料有引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、裸片格栅封装(Die in Waffle Pack)、裸片级晶片(Die in Waffle Form)、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制方型扁平封装(MQFP)、小外形集成电路封装(SOIC)、窄间距小外形封装(SSOP)、薄型小外形封装(TSOP)、薄型四方扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶片级制造封装(WFP)、晶片级加工的堆叠封装(WSP)等。
虽然已经参照示例性实施例描述了本发明构思,但是本领域技术人员将清楚,在不脱离本发明的精神和范围的情况下,可进行各种改变和修改。因此,应理解以上实施例不是限制,而是示出。
Claims (23)
1.一种用于控制非易失性存储器的写速度的系统,包括:
具有多个下载速度的非易失性存储器;
连接到非易失性存储器的计算装置,
其中,非易失性存储器在计算装置的控制下根据非易失性存储器的下载环境被设置到所述多个下载速度之一,
其中,非易失性存储器的下载环境包括与量产过程中将非易失性存储器安装到移动装置上的装配处理是否被执行相关联的非易失性存储器的下载环境,
其中,设置的下载速度比在非易失性存储器与计算装置断开连接后的非易失性存储器的下载速度好。
2.如权利要求1所述的系统,其中,下载速度对应于量产写模式,并且量产写模式的写性能彼此不同。
3.如权利要求2所述的系统,其中,每个下载速度由非易失性存储器的编程方式和编程时间确定。
4.如权利要求3所述的系统,其中,非易失性存储器包括由多级单元存储器形成的存储介质,其中,所述多级单元存储器具有多级单元编程方式和单级单元编程方式,所述多级单元存储器存储数据,
其中,通过将非易失性存储器的编程方式设置为单级单元编程方式或通过改变数据被大幅存储在存储介质中的编程时间来改变下载速度。
5.如权利要求4所述的系统,其中,与设置的下载速度对应的量产写模式的后台操作被保持到非易失性存储器从计算装置拆离的特定时间点。
6.如权利要求5所述的系统,其中,后台操作包括垃圾回收操作和数据刷新操作。
7.如权利要求2所述的系统,其中,如果将非易失性存储器安装到移动装置上的装配处理未被执行,则选择非易失性存储器的具有如下写性能的下载速度,其中,所述如下写性能低于在比在非易失性存储器与计算装置断开连接后的非易失性存储器的写模式的写性能好的量产写模式的写性能中的最大写性能。
8.如权利要求2所述的系统,其中,如果将非易失性存储器安装到移动装置上的装配处理被执行,则选择非易失性存储器的具有量产写模式的写性能中的最大写性能的下载速度。
9.如权利要求8所述的系统,还包括:
接口装置,被配置为提供非易失性存储器和计算装置之间的接口,其中,非易失性存储器和接口装置构成移动装置。
10.如权利要求9所述的系统,其中,非易失性存储器根据接口装置的接口速度支持所述多个下载速度的全部或部分。
11.一种非易失性存储器,包括:
存储介质,用于存储数据;
控制器,被配置为控制存储介质,
其中,当非易失性存储器连接到外部装置时,控制器被配置为基于从外部装置提供的设置信息可变地控制从外部装置提供的数据被存储在存储介质中的下载速度,
其中,设置信息包括指示非易失性存储器的装配处理是否在量产级别完成的信息,
其中,当设置信息指示非易失性存储器的装配处理存在于量产级别时,选择具有比在非易失性存储器与外部装置断开连接后的存储介质的写模式的写性能好的写性能的下载速度。
12.如权利要求11所述的非易失性存储器,其中,下载速度通过存储介质的编程方式和编程时间以及通过控制器的后台操作而改变。
13.如权利要求12所述的非易失性存储器,其中,存储介质由具有多级单元编程方式和单级单元编程方式的多级单元存储器装置形成,
其中,非易失性存储器的下载速度通过以下操作之一或通过以下操作中的两个或更多个的组合而改变:将多级单元存储器装置的编程方式设置为单级单元编程方式的操作、改变数据被大幅存储在多级单元存储器装置中的编程时间的操作、以及延迟后台操作的执行时间点的操作。
14.如权利要求13所述的非易失性存储器,其中,后台操作包括垃圾回收操作和数据刷新操作中的至少一个。
15.如权利要求11所述的非易失性存储器,其中,与在设置信息指示非易失性存储器的装配处理在量产级别完成时选择的下载速度对应的写性能比与在设置信息指示非易失性存储器的装配处理未在量产级别完成时选择的下载速度对应的写性能好。
16.如权利要求11所述的非易失性存储器,其中,非易失性存储器支持多个下载速度,
其中,控制器根据与外部装置的接口速度支持所述多个下载速度中的全部或部分。
17.如权利要求16所述的非易失性存储器,其中,当非易失性存储器连接到外部装置以进行数据下载时,控制器显示所述多个下载速度以供用户选择。
18.一种量产系统的量产方法,包括:
执行预SMT写操作,其中,数据从计算装置被下载到具有多个量产下载速度的非易失性存储器,所述非易失性存储器被计算装置设置到所述多个量产下载速度之一;
将非易失性存储器安装在移动装置上;
执行后SMT写操作,其中,数据被下载到安装在移动装置上的非易失性存储器,所述非易失性存储器被设置到用于预SMT写操作的量产下载速度或者除了用于预SMT写操作的量产下载速度之外的其余量产下载速度之一,
其中,与用于预SMT写操作的量产下载速度对应的写性能和与用于后SMT写操作的量产下载速度对应的写性能比非易失性存储器在后SMT写操作之后的移动装置的写操作中的下载速度的写性能好。
19.如权利要求18所述的量产方法,其中,通过非易失性存储器的编程方式和编程时间以及通过与下载的数据的写操作相关联的后台操作来改变量产下载速度。
20.如权利要求19所述的量产方法,其中,非易失性存储器包括存储介质,所述存储介质由具有多级单元编程方式和单级单元编程方式的多级单元存储器形成,所述多级单元存储器存储数据,
其中,通过以下操作之一或通过以下操作中的两个或更多个的组合实现量产下载速度:将非易失性存储器的编程方式设置为单级单元编程方式的操作、改变数据被大幅存储在存储介质中的编程时间的操作、以及延迟后台操作的执行时间点的操作。
21.如权利要求20所述的量产方法,其中,与下载的数据的写操作相关联的后台操作被保持到非易失性存储器从计算装置拆离的特定时间点,
其中,保持的后台操作在非易失性存储器与计算装置断开连接的状态下被执行。
22.如权利要求21所述的量产方法,其中,后台操作包括垃圾回收操作和数据刷新操作。
23.如权利要求22所述的量产方法,其中,移动装置包括提供非易失性存储器和计算装置之间的接口的接口装置,
其中,非易失性存储器根据接口装置的接口速度支持下载速度的全部或部分。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2013-0142286 | 2013-11-21 | ||
KR1020130142286A KR20150058927A (ko) | 2013-11-21 | 2013-11-21 | 불 휘발성 메모리의 쓰기 속도를 제어하는 기술 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104657295A CN104657295A (zh) | 2015-05-27 |
CN104657295B true CN104657295B (zh) | 2020-04-07 |
Family
ID=53174476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410670360.2A Active CN104657295B (zh) | 2013-11-21 | 2014-11-20 | 用于控制非易失性存储器的写速度的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150143033A1 (zh) |
KR (1) | KR20150058927A (zh) |
CN (1) | CN104657295B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10254969B2 (en) * | 2016-05-13 | 2019-04-09 | Seagate Technology Llc | Data refresh in flash memory |
CN107590405A (zh) * | 2016-07-06 | 2018-01-16 | 上海华虹集成电路有限责任公司 | 提高智能卡数据下载速度的方法 |
CN107302686A (zh) * | 2017-07-10 | 2017-10-27 | 安徽盛世高科轨道装备有限公司 | 基于hi3535的机车视频监控及记录子系统 |
CN110534151B (zh) * | 2018-05-24 | 2021-06-08 | 深圳忆联信息系统有限公司 | 实现写入前擦除的方法、装置、计算机设备及存储介质 |
US20200004446A1 (en) * | 2018-06-29 | 2020-01-02 | David Aaron Palmer | Multi-level cell data load optimization |
CN113342155A (zh) * | 2020-02-18 | 2021-09-03 | 浙江宇视科技有限公司 | 一种数据存储方法、装置、设备及存储介质 |
US11468949B2 (en) * | 2021-03-12 | 2022-10-11 | Micron Technology, Inc. | Temperature-dependent operations in a memory device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6091640A (en) * | 1996-09-30 | 2000-07-18 | Hitachi, Ltd. | Semiconductor integrated circuit with multiple write operation modes |
CN1487530A (zh) * | 2002-08-27 | 2004-04-07 | ������������ʽ���� | 非易失性存储装置 |
CN1659513A (zh) * | 2002-06-06 | 2005-08-24 | 皇家飞利浦电子股份有限公司 | 把数据写入非易失性存储器的方法和设备 |
CN101512668A (zh) * | 2006-09-08 | 2009-08-19 | 桑迪士克股份有限公司 | 对于快闪存储器中的循环效应的伪随机及命令驱动位补偿及其方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009034687A1 (ja) * | 2007-09-10 | 2009-03-19 | Panasonic Corporation | 不揮発性記憶装置および不揮発性記憶装置へのデータ書込方法 |
US8725928B1 (en) * | 2008-12-17 | 2014-05-13 | Micron Technology, Inc. | Method and apparatus for configuring write performance for electrically writable memory devices |
US9329989B2 (en) * | 2011-12-30 | 2016-05-03 | SanDisk Technologies, Inc. | System and method for pre-interleaving sequential data |
US20130304959A1 (en) * | 2012-05-10 | 2013-11-14 | Pion Technologies Inc. | Handheld Device Ecosystem with Docking Devices |
KR20130127686A (ko) * | 2012-05-15 | 2013-11-25 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 프로그래밍 수행 방법 및 장치와 이에 이용되는 데이터 프로그래밍 모드 설정 방법 및 장치 |
US9036396B2 (en) * | 2012-08-30 | 2015-05-19 | SanDisk Technologies, Inc. | Apparatus and method for detecting reflow process |
US8990458B2 (en) * | 2013-02-28 | 2015-03-24 | Kabushiki Kaisha Toshiba | Controller, semiconductor storage device and method of controlling data writing |
US9378063B2 (en) * | 2013-10-15 | 2016-06-28 | Qualcomm Incorporated | Mobile coprocessor system and methods |
-
2013
- 2013-11-21 KR KR1020130142286A patent/KR20150058927A/ko not_active Application Discontinuation
-
2014
- 2014-10-27 US US14/524,251 patent/US20150143033A1/en not_active Abandoned
- 2014-11-20 CN CN201410670360.2A patent/CN104657295B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6091640A (en) * | 1996-09-30 | 2000-07-18 | Hitachi, Ltd. | Semiconductor integrated circuit with multiple write operation modes |
CN1659513A (zh) * | 2002-06-06 | 2005-08-24 | 皇家飞利浦电子股份有限公司 | 把数据写入非易失性存储器的方法和设备 |
CN1487530A (zh) * | 2002-08-27 | 2004-04-07 | ������������ʽ���� | 非易失性存储装置 |
CN101512668A (zh) * | 2006-09-08 | 2009-08-19 | 桑迪士克股份有限公司 | 对于快闪存储器中的循环效应的伪随机及命令驱动位补偿及其方法 |
Also Published As
Publication number | Publication date |
---|---|
US20150143033A1 (en) | 2015-05-21 |
CN104657295A (zh) | 2015-05-27 |
KR20150058927A (ko) | 2015-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104657295B (zh) | 用于控制非易失性存储器的写速度的系统和方法 | |
KR102025263B1 (ko) | 메모리 시스템 및 그것의 읽기 교정 방법 | |
US9280420B2 (en) | Memory systems and block copy methods thereof | |
US20200249854A1 (en) | Data storage device and operating method of the data storage device | |
KR102025251B1 (ko) | 메모리 시스템 및 그것의 프로그램 방법 | |
US20140185384A1 (en) | Nonvolatile memory devices including simultaneous impedance calibration | |
US20130132644A1 (en) | Method of programming a nonvolatile memory device | |
CN109032501B (zh) | 存储器系统及其操作方法 | |
US9164889B2 (en) | Memory system to select program operation method and method thereof | |
KR20130052971A (ko) | 비휘발성 메모리 장치의 동작 방법 | |
US9672149B2 (en) | Partial page programming of nonvolatile memory device | |
JP2013097786A (ja) | メモリシステム及びそれの動作方法 | |
CN111258793A (zh) | 存储器控制器及其操作方法 | |
CN111104059A (zh) | 存储器控制器及操作该存储器控制器的方法 | |
CN107274929B (zh) | 用于执行随机操作的非易失性存储器装置 | |
KR102182804B1 (ko) | 메모리 장치의 독출 방법 | |
CN111192617B (zh) | 存储装置及其操作方法 | |
CN113342566A (zh) | 存储器控制器及其操作方法 | |
CN112346650A (zh) | 存储装置及其操作方法 | |
CN115691623A (zh) | 在非易失性存储器装置中编程数据的设备、系统及方法 | |
US9589661B2 (en) | Method of programming memory device and method of reading data of memory device including the same | |
CN113377691A (zh) | 计算系统及其操作方法 | |
US11915762B2 (en) | Apparatus and method for programming data in a non-volatile memory device | |
CN114300021A (zh) | 存储装置及其操作方法 | |
CN113342708A (zh) | 存储器控制器及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |