包括能够进行重写操作的存储装置的存储系统的操作方法

文档序号:10488684阅读:729来源:国知局
包括能够进行重写操作的存储装置的存储系统的操作方法
【专利摘要】提供了包括能够进行重写操作的存储装置的存储系统的操作方法。该方法包括:接收一个或更多个写入请求、逻辑地址和与所述一个或更多个写入请求对应的数据;将分析接收到的一个或更多个请求、逻辑地址和数据中的至少一者的结果与阈值进行比较;基于比较的结果,利用第一更新方法或者第二更新方法写入数据。在选择了第一更新方法时,根据地址映射信息将数据写入到由与逻辑地址对应的物理地址指示的区域中。在选择了第二更新方法时,改变与逻辑地址对应的物理地址的信息,并将数据写入到由改变后的物理地址指示的区域中。
【专利说明】包括能够进行重写操作的存储装置的存储系统的操作方法
[0001 ]向2015年2月2日在韩国知识产权局提交的第10-2015-0016185号韩国专利申请做出对优先权的要求,该韩国专利申请的全部内容通过引用包含于此。
技术领域
[0002]发明构思涉及一种半导体装置,更具体地,涉及一种能够进行重写操作的存储装置、一种存储系统和一种操作该存储系统的方法。
【背景技术】
[0003]随着对具有高容量和低功耗的存储装置的需求的增长,正在对非易失性同时不需要刷新的下一代存储装置进行研究。下一代存储装置需要具有动态随机存取存储器(DRAM)的高集成度(integrity)特性、闪存的非易失性特性和静态RAM(SRAM)的高速度特性。相变RAM(PRAM)、纳米浮栅存储器(NFGM)、聚合物RAM(PoRAM)、磁性RAM(MRAM)、铁电RAM(FeRAM)以及电阻RAM(RRAM)作为满足上述需求的下一代存储装置而备受关注。

【发明内容】

[0004]根据发明构思的一方面,提供一种操作存储系统的方法。该方法包括以下步骤:接收一个或更多个写入请求、逻辑地址和与所述一个或更多个写入请求对应的数据;将分析接收到的一个或更多个请求、逻辑地址和数据中的至少一者的结果与阈值进行比较;基于比较的结果,利用第一更新方法或者第二更新方法写入数据。在选择了第一更新方法时,根据地址映射信息将数据写入由与逻辑地址对应的物理地址所指示的区域中。在选择了第二更新方法时,改变与逻辑地址对应的物理地址的信息,并将数据写入由改变后的物理地址指示的区域中。
[0005]根据发明构思的另一方面,提供了一种操作包括多个存储芯片的存储系统的方法。该方法包括以下步骤:从主机接收具有对应的数据和第一信息的写入请求;基于从主机接收的第一信息和包括于存储系统中的第二信息中的至少一者,响应于写入请求来选择更新方法;将接收到的数据写入到所述多个存储芯片中的一个存储芯片中,或者将数据分布并写入到所述多个存储芯片中的至少两个存储芯片中。
[0006]根据发明构思的另一方面,提供了一种操作包括存储单元阵列的存储系统的方法。该方法包括:接收写入请求、第一逻辑地址和写入数据;接收并检测更新信息;根据检测更新信息的结果,依据先前存储的地址映射信息将写入数据写入到存储单元阵列的与第一逻辑地址对应的第一区域中,或者写入到位置与第一区域不同的第二区域中。
[0007]根据发明构思的另一方面,提供了一种包括被配置为控制存储操作的存储控制器的存储系统。所述存储控制器包括工作存储器、更新管理单元和存储接口。所述工作存储器被加载有用于将逻辑地址转换为物理地址的地址映射信息。所述更新管理单元被配置为:基于将分析写入请求、逻辑地址和数据中的至少一者的结果与阈值进行比较来选择与从外部接收的写入请求对应的更新方法。所述存储接口被配置为:根据先前存储的地址映射信息来输出与逻辑地址对应的第一物理地址,或者根据选择更新方法的结果依据改变后的地址映射信息来输出与逻辑地址对应的第二物理地址。
[0008]根据发明构思的另一方面,提供了一种包括存储装置和存储控制器的存储系统。所述存储装置包括存储单元阵列,所述存储单元阵列包括多个块并且被配置为根据先前存储的地址映射信息将写入数据存储到所述多个块的与逻辑地址对应的第一区域中,或者存储到所述多个块的与第一区域不同的第二区域中。所述存储控制器包括处理单元、主机接口、更新管理单元和存储接口。所述处理单元被配置为控制存储控制器的总体操作。所述主机接口被配置为从主机接收写入请求、写入数据和逻辑地址。所述更新管理单元被配置为响应于来自主机的写入请求来选择就地更新或异地更新,其中,就地更新操作包括在存储单元阵列的第一区域中用写入数据来重写数据,异地更新操作包括:基于将分析写入请求、逻辑地址和数据中的至少一者的结果与阈值进行比较,将写入数据的至少一部分写入存储单元阵列的第二区域中。存储接口被配置为:在选择了就地更新操作时,将与逻辑地址对应的第一物理地址输出到存储装置,所述第一物理地址位于第一区域中;在选择了异地更新时,输出与逻辑地址对应的第二物理地址,所述第二物理地址的至少一部分根据改变后的地址映射信息位于第二区域中。
【附图说明】
[0009]通过下面结合附图进行的详细描述,将更清楚地理解发明构思的示例性实施例,在附图中:
[0010]图1是根据示例性实施例的存储系统的框图;
[0011 ]图2是示出根据示例性实施例的存储装置的框图;
[0012]图3是示出根据示例性实施例的图1的存储控制器的示例的框图;
[0013]图4A和图4B分别是根据示例性实施例的示出存储单元阵列的示例的电路图和示出存储单元阵列上的设置/重置写入操作的示例的图;
[0014]图5A至图5C是示出图4A的存储单元的修改的电路图;
[0015]图6和图7分别是根据示例性实施例的用于解释就地更新操作和异地更新操作的示例的框图;
[0016]图8是示出图3的存储控制器的更新管理单元的示例的框图;
[0017]图9至图13是示出操作根据示例性实施例的存储系统的方法的流程图;
[0018]图14A和图14B分别是根据另一示例性实施例的存储系统和设置在该存储系统中的更新管理单元的框图;
[0019]图15至图17是示出操作根据其它示例性实施例的存储系统的方法的流程图;
[0020]图18A和图18B分别是示出根据另一示例性实施例的存储系统的框图和流程图;
[0021]图19A至图19C是根据示例性实施例的示出在主机和存储系统之间发送和接收的信号的波形图;
[0022]图20和图21是示出根据其它示例性实施例的存储系统的操作的示例的框图;
[0023]图22是根据示例性实施例的存储系统应用于存储卡系统的示例的框图;
[0024]图23是根据示例性实施例的存储系统应用于固态盘(SSD)系统的示例的框图;
[0025]图24是根据示例性实施例的包括存储系统的计算系统的框图;以及
[0026]图25A和图25B分别是示出图1的存储装置的示例的结构图和电路图。
【具体实施方式】
[0027]将参照下面的描述和附图详细描述实施例。然而,发明构思可以以各种不同形式实施,并且不应该被解释为只限于示出的实施例。相反,提供这些实施例作为示例,使得本公开将是彻底且完全的,并且将把发明构思的构思充分传达给本领域的普通技术人员。因此,针对一些实施例,没有描述已知的工艺、元件和技术。除非另外指明,否则在附图和书面描述中,同样的附图标记始终表示同样的元件,因此可以不再重复描述。在附图中,为了清楚可能夸大层和区域的大小和相对大小。
[0028]在本说明书中使用的术语只用于描述具体的示例性实施例而不意图限制发明构思。以单数形式使用的词语包含复数形式的词语,除非它在上下文中具有明显不同的含义。在本说明书中,将理解,诸如“包括”或“具有”等的术语意在指示存在说明书中公开的特征、数量、步骤、动作、组件、部件或它们的组合,而不意图排除这样的可能性,即可以存在或者可以添加一个或更多个其它特征、数量、步骤、动作、组件、部件或它们的组合。
[0029]将理解的是,虽然在此可以使用术语“第一”、“第二”等来描述不同的组件,但这些组件不应受这些术语限制。这些术语仅仅用于将一个组件与另一个组件区分开。例如,第一组件可以被称为第二组件,类似地,第二组件可以被称为第一组件。
[0030]除非另有定义,否则这里使用的所有术语(包括技术和科学术语)具有与本发明构思所属的领域的普通技术人员通常理解的含义相同的含义。还将理解的是,除非这里如此明确定义,否则术语(例如在通用词典中定义的术语)应当被解释为具有与相关领域的环境中的意思一致的意思,而将不以理想化的或过于形式化的含义来解释。如这里所使用的,术语“和/或”包括一个或更多个相关联的列出的项中的任意和全部组合。当诸如“……中的至少一个”的表达位于一列元件之后时,所述表达修饰整列元件而不修饰所述列中的单个元件。术语“示例性”意图指示例或例证。
[0031]图1是根据示例性实施例的存储系统100的框图。存储系统100包括存储装置120和存储控制器110。在本示例性实施例中,存储装置120包括电阻式存储单元,因此可以被称为电阻式存储装置。可选地,存储装置120可以包括设置在多条第一信号线和多条第二信号线相互交叉的区域中的各种类型的存储单元,因此存储装置120可以被称为交叉点存储装置。在下面的示例性实施例的描述中,假设存储装置120是电阻式存储装置。
[0032]参照图1,存储系统100包括存储控制器110和存储装置120。存储装置120包括存储单元阵列121、写入/读取电路122和控制逻辑单元123。在存储单元阵列121包括电阻式存储单元时,存储系统100可以被称为电阻式存储系统。
[0033]响应于来自主机的写入/读取请求,存储控制器110可以控制存储装置120向存储装置120写入将要存储在存储装置120中的数据,或者从存储装置120读取存储在存储装置120中的数据。更具体地,存储控制器110可以向存储装置120提供地址ADDR、命令CMD和控制信号CTRL,因此可以控制存储装置120上的编程(或写入)操作、读取操作和擦除操作。将被写入存储装置120或者将从存储装置120读取的数据DATA在存储控制器110和存储装置120之间发送/接收。
[0034]存储单元阵列121可以包括分别设置在多条第一信号线和多条第二信号线彼此交叉的区域中的多个存储单元(未示出)。根据示例性实施例,第一信号线可以是位线,第二信号线可以是字线。根据另一示例性实施例,第一信号线可以是字线,第二信号线可以是位线。
[0035]每个存储单元可以是可存储I位的单层单元(SLC)或者可存储至少2位的多层单元(MLC)。可选地,存储单元阵列121可以包括多个SLC和多个MLC。在I位数据被写入一个存储单元时,存储单元具有与被存储的数据对应的两个电阻电平分布(resistance leveldistribut1n)。可选地,在2位数据被写入一个存储单元时,存储单元具有与被存储的数据对应的四个电阻电平分布。根据另一示例性实施例,在每个存储单元是可以在一个存储单元内存储3位的三层单元(TLC)时,存储单元具有与被存储的数据对应的八个电阻电平分布。然而,发明构思不限于此。根据其它示例性实施例,在不脱离本教导的范围的情况下,每个存储单元可以存储4位或更多位数据。
[0036]存储单元阵列121可以包括包含可变电阻器装置(未示出)的电阻式存储单元。例如,在由相变材料(例如,Ge-Sb-Te)形成的可变电阻器装置的电阻根据温度而改变时,该存储装置120可以是相变RAM(PRAM)。作为另一个示例,在可变电阻器装置由上电极、下电极以及位于其间的过渡金属氧化物(复合金属氧化物)形成时,该存储装置120可以是电阻式RAM(ReRAM)。作为另一个示例,在可变电阻器装置由磁性材料的上电极、磁性材料的下电极以及位于其间的电介质形成时,该存储装置120可以是磁性RAM(MRAM)。
[0037]写入/读取电路122对存储单元执行写入和读取操作。写入/读取电路122可以通过多条位线连接到存储单元,并且可以包括用于向存储单元写入数据的写入驱动器和用于感测存储单元的电阻分量的感测放大器。
[0038]控制逻辑单元123可以控制在存储装置120中的总体操作,并且可以控制写入/读取电路122以执行诸如写入操作和读取操作的存储操作。例如,存储装置120可以包括功率发生器(未示出),该功率发生器用于产生在写入操作和读取操作中使用的各种写入电压和读取电压,使得控制逻辑单元123可以控制写入电压的电平和读取电压的电平。作为另一示例,存储装置120可以包括用于产生在读取操作中使用的各种参考信号的参考信号发生器(未示出)。例如,参考信号发生器可以产生参考电流和/或参考电压。
[0039]在存储装置120中执行的写入操作中,存储单元阵列121的存储单元的可变电阻的变量值可以根据写入数据而增大或减小。例如,存储单元阵列121的每个存储单元可以根据当前存储的数据具有电阻值,该电阻值可以根据将要写入每个存储单元中的数据而增大或减小。写入操作可以被分类为重置写入操作和设置写入操作。电阻式存储单元的设置状态可以具有相对低的电阻值,而其重置状态可以具有相对高的电阻值。
[0040]根据示例性实施例,由于存储单元阵列121包括电阻式存储单元,所以可以在对存储单元阵列121执行写入操作期间在存储单元中重写(overwrite)数据。数据重写(dataoverwrite)操作可以被定义为在写入目标的存储单元中直接编程数据的操作,而不对将要写入数据的存储单元执行单独的擦除操作(例如,对应于电阻式存储器中的重置写入操作)。即,可以通过将根据现有数据的电阻状态移动至与当前请求的将要写入的数据对应的电阻状态来执行写入操作,而不通过擦除存储单元的数据来产生空闲块并且不必向空闲块实际写入数据。
[0041 ]根据示例性实施例,存储系统100可以通过响应于来自主机HOST的写入请求而选择性地应用就地更新操作(第一更新方法)和/或异地更新操作(第二更新方法)来执行写入操作。可以基于上述重写操作(例如,通过将数据重写到由主机HOST指示的区域)来执行就地更新操作。可以通过不将数据重写到由主机HOST指示的区域,而是通过在存储单元阵列121的另一区域中写入数据来执行异地更新操作。
[0042]在选择了异地更新操作时,写入数据可以被写入到与主机HOST请求的区域(与主机HOST提供的逻辑地址对应的区域)不同的区域中。例如,从主机HOST提供的逻辑地址可以包括指示一个或更多个页的信息,可以根据异地更新操作将写入数据写入到另一页中,即,写入到没有被主机HOST指示将要写入的页中。作为示例,写入数据可以被写入到具有擦除状态(或重置状态)的空闲块中。
[0043]作为另一示例,当利用异地更新来写入数据时,可以在与主机HOST请求的区域不同的区域中重写写入数据。例如,在数据被写入与主机HOST请求的区域不同的区域中并且该数据是无效数据时,可以在不同的区域中重写来自主机HOST的写入数据。
[0044]存储系统100可以响应于来自主机HOST的写入请求而对从主机HOST提供的各种信息和在存储系统100中提供的各种信息中的至少一者执行分析操作,并且可以基于分析结果响应于写入请求而选择是使用就地更新还是异地更新来写入数据。
[0045]为此,存储控制器110可以包括更新管理单元111和存储接口112。更新管理单元111可以响应于来自主机HOST的写入请求参照从主机HOST提供的各种信息和在存储系统100中提供的各种信息中的至少一者来确定将要执行的更新方法。根据确定更新方法的结果,可以改变从存储控制器110提供给存储装置120的命令CMD和地址ADDR中的至少一种,并且存储接口 112可以利用确定的更新向存储装置120提供命令CMD和地址ADDR。
[0046]在响应于写入请求利用就地更新来写入数据时,由于在主机HOST指示的位置更新数据,所以不会发生诸如垃圾回收操作、元数据写入操作等的操作,因此可以提高响应并且可以减小存储系统100的寿命减少的可能性。在响应于写入请求利用异地更新来写入数据时,并且在存储系统100中设置了多个存储芯片时,由于可以利用异地更新将写入数据同时地写入到多个存储芯片中,所以可以通过利用并行来提高对于大量数据的写入速度。
[0047]根据示例性实施例,考虑存储系统100的寿命和性能来选择性地应用就地更新或者异地更新,从而提尚存储系统100的寿命和性能。
[0048]存储控制器110和存储装置120可集成到一个半导体装置中。例如,存储控制器110和存储装置120可集成到一个半导体装置中以构造存储卡。同样的,例如,存储控制器110和存储装置120可以集成到一个半导体装置中以构造PC卡(PCMCIA)、快闪存储卡(CF)、智能媒体卡(SM/SMC)、记忆棒、多媒体卡(MMC、RS-MMC和MMCmi cro)、SD卡(SD、mini SD和microSD)、通用闪存存储(UFS)等。又例如,存储控制器110和存储装置120可以集成到一个半导体装置以构造固态盘/驱动器(SSD)。
[0049]下面描述可以如上所述地构造的存储系统100的详细操作的示例。图2是示出根据示例性实施例的存储装置200的框图。
[0050]参照图2,存储装置200包括存储单元阵列210、写入/读取电路220和控制逻辑单元230。存储装置200还包括参考信号发生单元240、功率发生单元250、行解码器260和列解码器270。写入/读取电路220包括感测放大器221和写入驱动器222。
[0051 ]下面描述图2的存储装置200的操作的示例。
[0052]包括在存储单元阵列210中的存储单元可以连接到多条第一信号线和多条第二信号线。第一信号线可以是位线BL,第二信号线可以是字线WL。由于通过位线BL和字线WL提供各种电压信号或电流信号,所以可以在选择的存储单元中写入数据或从选择的存储单元读取数据,并且可以防止数据被写入未选择的存储单元或从未选择的存储单元读取数据。
[0053]可以伴随地址ADDR接收命令CMD以识别将要访问的存储单元。地址ADDR可以包括用于选择存储单元阵列210的字线WL的行地址X_ADDR和用于选择存储单元阵列210的位线BL的列地aY_ADDR。提供到存储装置200的地址ADDR可以对应于与来自主机的逻辑地址LA对应地在存储系统中转换的物理地址PA。行解码器260可以响应于行地址X_ADDR来执行字线选择操作。列解码器270可以响应于列地址Y_ADDR来执行位线选择操作。
[0054]写入/读取电路220可以连接到存储单元阵列210的第一信号线和/或第二信号线以向存储单元写入数据或者从存储单元读取数据(例如,图2中写入/读取电路220连接到位线BL)。根据示例性实施例,功率发生器250可以产生在写入操作中使用的写入电压Vwrite和在读取操作中使用的读取电压Vread。写入电压Vwrite可以包括作为与写入操作有关的各种电压的设置电压和重置电压。写入电压Vwrite和读取电压Vread可以通过列解码器270提供给位线BL和/或通过行解码器260提供给字线WL。
[0055]参考信号发生单元240可以产生作为与数据读取操作有关的各种参考信号的参考电压Vref和参考电流Iref。例如,感测放大器221可以连接到位线BL的节点(例如,感测节点)以确定数据。可以通过比较感测节点的电压和参考电压Vref的操作来确定数据值。可选地,当应用电路感测方法时,参考信号发生单元250可以产生参考电流Iref并且将参考电流Iref提供给存储单元阵列210。可以通过将由参考电流Iref引起的感测节点的电压与参考电压Vref进行比较的操作来确定数据值。
[0056]写入/读取电路220可以将通过/失败信号P/F作为确定读取数据的结果发送到控制逻辑单元230。控制逻辑单元230可以通过参照通过/失败信号P/F来控制存储单元阵列210的写入操作和读取操作。
[0057]控制逻辑单元230可以基于从存储控制器(未示出)接收的命令CMD、地址ADDR和控制信号CTRL来输出用于将数据写入到存储单元阵列210或从存储单元阵列210读取数据的各种控制信号CTRL_RW。因此,控制逻辑单元230—般可以控制在存储装置200中执行的各种操作。
[0058]根据示例性实施例,数据DATA可以利用就地更新或者异地更新写入存储单元阵列210中。来自存储控制器的地址ADDR可以包括指示存储单元阵列210的将要写入数据DATA的物理位置的信息。在应用就地更新时,可以在与来自主机(未示出)的逻辑地址对应的物理地址中更新数据DATA。在应用异地更新时,可以改变与从主机(未示出)接收的逻辑地址对应的物理地址,并且可以在与改变后的物理地址对应的物理地址中更新数据。
[0059]同时,在应用异地更新时,连同与主机的写入请求对应的数据更新操作一起,还可以对存储单元阵列210的部分区域执行擦除操作,以获得将要在其中更新数据的处于擦除态的块。由于与从主机接收的逻辑地址对应的物理地址被改变,因此还可以执行用于更新逻辑地址/物理地址的映射信息的元数据写入操作。
[0060]下面描述根据示例性实施例的存储控制器的详细操作的示例。图3是示出根据图1的示例性实施例的存储控制器300的示例的框图。[0061 ] 参照图3,存储控制器300包括处理单元310、主机接口 320、工作存储器330、请求队列340、数据队列350、更新管理单元360以及存储接口 370。工作存储器330包括磨损均衡模块331、坏块管理模块332、垃圾回收模块333和地址映射表334。虽然未在图3中示出,但是存储控制器300还可以包括各种元件,例如,用于存储用来初始启动使用该存储系统的装置所必须的代码数据的只读存储器(R0M),或者用于控制缓冲存储装置的缓冲存储控制器。存储控制器300还可以包括命令生成模块(未示出),该命令生成模块用于生成根据来自主机的请求来控制存储操作的命令CMD ο例如,命令生成模块(未示出)可以设置在存储接口 370中。
[0062]处理单元310可以包括中央处理单元或微处理器,并且可以控制存储控制器300的整体操作。处理单元310可以被配置为驱动用于控制存储控制器300的固件。固件可以通过加载到工作存储器330中来驱动。存储控制器300可以被配置为通过各种标准接口与外部主机通信。主机接口 320提供主机和存储控制器300之间的接口。标准接口可以包括:例如,高级技术附件(ATA)接口、串行ATA(SATA)接口、外部SATA(e-SATA)接口、小型计算机系统接口(SCSI)、串行附属SCSI(SAS)、外围组件互连(PCI)接口、高速PCI(PC1-E)接口、IEEE 1394接口、通用串行总线(USB)接口、安全数字(SD)卡接口、多媒体卡(MMC)接口、嵌入式多媒体卡(eMMC)接口、通用闪存(UFS)接口或者快闪存储(CF)卡接口。
[0063]存储接口370提供存储控制器300和存储装置之间的接口。例如,可以通过存储接口 370将写入数据和读取数据发送到存储装置,和/或可以通过存储接口 370从存储装置接收写入数据和读取数据。存储接口 370可以将命令和地址提供给存储装置,从存储装置接收各种信息,并且将各种信息提供给存储控制器300。
[0064]用于控制存储控制器300的固件和用于驱动固件所必须的元数据可以存储于工作存储器330中。工作存储器330可以实现为各种存储器,例如,高速缓冲存储器、DRAM、SRAM、PRAM和闪存装置中的至少一种。
[0065]各种功能块可以利用存储于工作存储器330中的固件来配置。例如,作为包括于工作存储器330中的功能块,磨损均衡模块331管理存储装置的存储单元的磨损级别(wear-level)。电阻式存储单元会根据写入操作和擦除操作的频率而老化。老化的存储单元(或磨损的存储单元)可能引起缺陷。磨损均衡模块331管理在存储单元阵列的预定的区域单元中执行的擦除操作和/或写入操作的次数,从而防止特定区域比其它区域磨损更快。例如,存储装置可以以页单位进行写入并且可以以块单位进行擦除,磨损均衡可以以页单位或块单位来管理。作为示例,磨损均衡模块331可以管理地址映射表334从而为存储单元阵列的各区域提供均等化的写入次数。
[0066]坏块管理模块332管理在存储装置中设置的多个块中发生缺陷的块。例如,如上所述,电阻式存储单元的磨损级别会因写入操作和擦除操作的次数的增加而提高,因此可以将包括发生缺陷的存储单元的块处理为坏块。坏块管理模块332可以管理地址映射表334,从而防止往被处理为坏块的块中写入数据。
[0067]垃圾回收模块333可以回收存储有碎片数据的块。例如,当在电阻式存储装置中将擦除单位设定为大于写入单位时,在重复进行写入操作和擦除操作之后,垃圾回收模块333可以执行利用任意空闲块将分散于不同物理位置的连续数据回收到同一地址区域的作业。
[0068]当利用根据示例性实施例的异地更新来写入数据时,可以将针对主机的逻辑地址的数据写入到与多个物理地址对应的多个位置中。最近更新并写入物理地址的数据可以是有效数据,而写入另一个物理地址的数据可以是无效数据。例如,假设以异地更新在空闲块中写入数据,则进行以下操作:当将要写入数据的一个块(例如,第一块)中存储了有效数据时,将该有效数据复制到另一空闲块,对第一块执行擦除操作以产生空闲块,然后将数据写入对应于该空闲块的第一块。垃圾回收模块333可以管理如上描述的复制数据和产生空闲块的操作。
[0069]地址映射表334可以存储主机的逻辑地址LA和指示与逻辑地址对应的实际将要访问数据的物理位置之间的地址映射信息。从主机提供的逻辑地址可以通过参考地址映射信息而转换为指示实际将要被访问的存储单元的物理位置的物理地址。根据示例性实施例,可以通过响应于来自主机的写入请求而选择异地更新来更新数据。在这方面,可以改变与从主机提供的逻辑地址对应的物理地址。改变的信息可以更新到地址映射表334。
[0070]在地址映射表334中,可以根据管理如上描述的各种功能块的结果来改变地址映射信息。例如,可以将在磨损级别增大的存储单元或被处理为坏块的存储单元中写入的数据移动到正常的存储单元,因此可以改变逻辑地址和物理地址之间的地址映射信息。在根据垃圾回收操作移动数据之后,逻辑地址和物理地址之间的地址映射信息可以被改变。
[0071]地址映射表334的地址映射信息可以被存储于图2的存储单元阵列210的预定区域(例如,元区域)中,当存储系统被驱动时,存储于存储单元阵列210中的地址映射信息可以加载到地址映射表334中。当根据存储操作来改变地址映射信息时,可以在存储单元阵列210的预定区域中任意地或定期地更新改变后的地址映射信息。
[0072]请求队列340可以存储从主机接收的请求和地址。从主机提供的一个或更多个请求可以存储于请求队列340中。请求队列340可以基于先入先出(FIFO)方法来操作。可选地,可以提供响应于每个请求的优先级信息,并且可以由可设置在存储系统中的单独的功能块(例如,仲裁器(未示出))来对优先级信息进行监控。可以根据监控结果来确定请求的处理顺序。数据队列350可以存储响应于写入请求而接收的数据。
[0073]根据示例性实施例,更新管理单元360可以利用来自主机的一个或更多个信息和/或来自存储系统的一个或更多个信息针对来自主机的写入请求来选择更新方法。在利用主机的信息时,更新管理单元360可以通过参考从主机提供的请求、数据和地址(或者存储于请求队列340和数据队列350中的请求、数据和地址)来确定写入请求的个数和数据的量,并且可以从确定结果来选择更新方法。可选地,更新管理单元360可以通过参考来自主机的地址(例如,逻辑地址LA)和存储系统的地址映射信息来选择更新。下面描述选择更新的详细示例。
[0074]图4A和图4B分别是根据示例性实施例的示出存储单元阵列210的示例的电路图和示出存储单元阵列210上的设置/重置写入操作的示例的图。
[0075]图2的存储单元阵列210可以包括多个存储单元区域。可以由各种方式限定指示一组存储单元的存储单元区域。例如,图4A示出被设置在块BLK单元区域中的存储单元。块BLK可以包括多个页PAGE,多个页PAGE包括连接到同一字线的存储单元MC。
[0076]参照图4A,块BLK包括多条字线WLO至WLn、多条位线BLO至BLm以及多个存储单元MC。在这方面,字线WL、位线BL和存储单元MC可以根据示例性实施例以各种方式来改变。
[0077]每个存储单元MC包括可变电阻器R和选择器件D。在这方面,可变电阻器R可以被称为可变电阻器装置或可变电阻材料,选择器件D可以被称为开关器件。
[0078]在示例性实施例中,选择器件D可以连接在位线BLO至BLm中的一条位线和可变电阻器R之间,可变电阻器R可以连接在字线WLO至WLn中的一条字线和选择器件D之间。然而,发明构思的示例性实施例不限于此,可变电阻器R可以连接在位线BLO至BLm中的一条位线和选择器件D之间,选择器件D可以连接在字线WLO至WLn中的一条字线和可变电阻器R之间。
[0079]可变电阻器R可以通过施加的电脉冲改变为多个电阻态中的一个。在示例性实施例中,可变电阻器R可以包括其晶体状态根据电流量而改变的相变材料。例如,相变材料可以使用诸如双原子GaSb、InSb、InSe、Sb2Te3和GeTe的混合物、三原子GeSbTe、GaSeTe、InSbTe、SnSb2Te4和InSbGe的混合物以及四原子AgInSbTe、(GeSn)SbTe、GeSb(SeTe)和Te81Ge15Sb2S2的混合物的各种类型的材料。
[0080]这样的相变材料可以具有电阻相对高的非晶态和电阻相对低的晶态。相变材料的相可以根据依据电流量产生的焦耳热而改变。可以利用这样的相变来写入数据。
[0081 ]同时,在另一示例性实施例中,可变电阻器R可以包括,例如,钙钛矿化合物、过渡金属氧化物、磁性材料、铁磁性材料或反铁磁性材料,而不是相变材料。
[0082]如图4B中所示,对电阻式存储单元执行的写入操作可以包括设置写入操作和重置写入操作。在图4B中,在多个电阻电平分布中最大的分布可以具有重置状态(例如,擦除状态)。可以通过对处于重置状态的存储单元执行写入操作而将存储单元改变为设置状态的状态I?状态2。
[0083]根据示例性实施例,在利用就地更新执行数据写入操作时,可以对包括多个存储单元的区域中的一些存储单元执行设置写入操作,可以对其余的一些存储单元执行重置写入操作。当假设以异地更新在包括处于重置状态的存储单元的空闲块中写入数据时,可以通过对存储单元执行设置写入操作来写入数据。可选地,当以异地更新在存储无效数据的位置中重写数据时,可以通过执行设置写入操作和重置写入操作来写入数据。
[0084]图5A至图5C是示出图4A的存储单元MC的修改的电路图。
[0085]参照图5A,存储单元MCa包括连接在位线BL和字线WL之间的可变电阻器Ra。存储单元MCa可以通过施加到位线BL和字线WL的电压来存储数据。
[0086]参照图5B,存储单元MCb包括可变电阻器Rb和双向二极管Db。可变电阻器Rb可以包括用于存储数据的电阻材料。可变电阻器Rb和双向二极管Db连接在字线WL和位线BL之间。双向二极管Db的位置和可变电阻器Rb的位置可以交换。可以阻断泄漏电流通过双向二极管Db流入未选择的电阻器单元。
[0087]参照图5C,存储单元Mc包括可变电阻器Re和晶体管TR。晶体管TR可以是根据字线WL的电压向可变电阻器Re提供电流或阻止电流到可变电阻器Re的选择器件,S卩,开关器件。在图5C中,除了字线WL,还可以设置源极线SL以调整可变电阻器Re两端的电压电平。可以根据由字线WL驱动的晶体管TR是导通还是截止来选择或不选择存储单元MCc。
[0088]图6和图7分别是用于解释就地更新和异地更新操作的示例的框图。图6和图7示出存储系统包括多个通道Ch A和Ch B以及连接到通道Ch A和Ch B的多个存储芯片并且每个存储芯片包括多个单元块的示例。例如,图6和图7示出八个存储芯片中的四个存储芯片连接到A通道Ch A,八个存储芯片中的其余四个存储芯片连接到B通道Ch B,并且这八个存储芯片构成第一至第四存储体Bank O?Bank 3的示例。即,连接到不同通道的至少两个存储芯片可以被包括于同一存储体中。
[0089]存储体BANK可以在存储装置中以各种方式限定。例如,不同存储体BANK的存储单元可以单独访问,或者与不同存储体BANK相关的数据可以通过不同的端口输入和输出。可选地,可以对不同存储体BANK的存储单元执行不同的存储操作。例如,可以对一些存储体BANK执行写入操作,并且可以对其它一些存储体BANK执行读取操作。
[0090]从主机提供的逻辑地址可以基于存储在图3的地址映射表334中的地址映射信息转换为物理地址。基于先前存储的地址映射信息,由主机提供的逻辑地址LA O?LA 7可以被转换为物理地址,该物理地址指示包括于与连接到B通道Ch B的第一存储体BANK O对应的存储芯片(例如,第五存储芯片C5)中的单元块(例如,第一单元块BLK1)。例如,逻辑地址LA O?LA 7可以转换为物理地址PA 100?PA 107。
[0091]如图6中所示,数据Data O?Data 7可被写入与逻辑地址LA O?LA 7对应的第五存储芯片C5的物理地址PA 100?PA 107中,新数据Data O’?Data 7’可请求写入与逻辑地址LA O?LA 7对应的区域中。在选择就地更新时,逻辑地址LA O?LA 7可以根据先前存储的地址映射信息转换为物理地址PA 100?PA 107,因此新数据Data O’?Data 7’可以在与物理地址PA 100?PA 107对应的区域中更新。数据在由主机指示的区域中更新,因此逻辑地址LA O?LA 7和物理地址PA 100?PA 107之间的地址映射信息未改变。
[0092]如图7中所示,新数据Data O’?Data 7’可请求写入与逻辑地址LA O?LA 7对应的区域。在选择异地更新时,可以改变对应于逻辑地址LA O?LA 7的物理位置。例如,如图7中所示,可以对应于逻辑地址LA O?LA 7选择多个存储芯片Cl?CS的存储单元。新数据Data O’?Data 7’可以在多个存储芯片Cl?C8中分布并更新,逻辑地址和物理地址之间的改变后的地址映射信息可以在地址映射表334中更新。
[0093]在异地更新中,新数据DataO’?Data 7’可以在存储芯片Cl?C8的新块中更新。由于地址映射信息已改变,所以与来自主机的逻辑地址LA O?LA 7对应的物理位置可以改变。例如,逻辑地址LA 3可以映射到包括于第四存储芯片C4的块的物理地址PA 200,逻辑地址LA 7可以映射到包括于第八存储芯片C8的块的物理地址PA 300。因此,映射到逻辑地址LA O?LA 7并且存储于物理地址PA 100?PA 107中的数据对应于无效数据。请求写入的新数据Data O’?Data 7’被写入与改变的地址映射信息对应的物理位置。
[0094]图8是示出图3的存储控制器300的更新管理单元360的示例的框图。下面将参照图3和图8描述更新管理单元360的操作的示例。
[0095]如图8中所示,更新管理单元360可以利用来自外部主机的信息和包括于存储系统中的信息中的至少一者来选择与来自外部主机的写入请求对应的更新方法。更新管理单元360可以通过参考与来自主机的请求相关的第一信息Info_Req、与数据相关的第二信息Inf o_Data和逻辑地址々001?_1^来产生选择结果SelJJpdate。更新管理单元360可以通过参照作为包括于存储系统中的信息的映射信息Info_Map和其它的多种信息Info_o thers (例如,坏块信息、寿命信息等)来产生选择结果Sel_Update。例如,第一信息Info_Req可以是指示请求的类型的信息。例如,第二信息Info_Data可以是指示与一个写入请求对应的数据量的?目息。第一?目息Info_Req和第二彳目息Info_Data可以是直接从主机提供的彳目息,或者可以是通过在存储系统中对主机的包(packet)进行解码而产生的信息。
[0096]更新管理单元360可以包括用于如上描述地选择更新的操作的各种功能块。例如,更新管理单元360可以包括请求确定单元361、数据确定单元362、地址确定单元363和更新选择单元364。请求确定单元361确定从主机提供的写入请求的个数并且提供确定结果。例如,由于可以从主机接收多个请求,所以可以将请求存储于请求队列340中。请求确定单元361可以例如在从主机接收的多个请求中监控写入请求,并且提供确定写入请求的个数的结果。
[0097]数据确定单元362监控响应于来自主机的写入请求而接收的数据(例如,写入数据)、确定数据的量(或大小)并且提供确定结果。例如,与来自主机的写入请求对应的写入数据可以存储于数据队列350中。数据确定单元362可以监控存储于数据队列350中的写入数据并且提供对数据的量进行确定的结果。
[OO98 ]地址确定单元3 6 3对于从主机提供的逻辑地址ADDR_Li行分析操作,确定由主机请求访问的存储单元的物理位置并且提供确定结果。例如,从主机提供的逻辑地址ADDR_L可以存储在请求队列340或数据队列350或者另一单独的队列中。地址确定单元363可以根据分析逻辑地址ADDR_L的结果而确定请求访问的存储芯片的数量并且提供确定结果。例如,可以通过参考逻辑地址ADDR_UP映射信息I nf o_Map来确定与逻辑地址ADDR_L对应的存储单元的物理地址,因此可以确定将要写入数据的存储芯片的数量。
[00"] 此外,地址确定单元363可以通过参考多种信息Inf o_others来产生确定结果。例如,与设置在每个存储芯片、坏块或寿命快要到期的块中的磨损级别高的存储单元的地址相关的信息可以被称为多种信息Inf o_others。地址确定单元363可以根据对逻辑地址ADDR_L和多种信息Inf0_0therS进行参考的结果来提供对由逻辑地址ADDR_L指示的存储单元(或者包括存储单元的块或存储芯片)的特性进行确定的结果。
[0100]更新选择单元364基于各种确定结果选择与来自主机的写入请求对应的更新方法并且产生选择结果SelJJpdate。在选择结果SelJJpdate示出响应于来自主机的写入请求而选择异地更新时,可以改变对应于逻辑地址ADDR_U^存储单元的物理位置,并且可以在工作存储器330中更新改变后的地址映射信息。在处理单元310的控制下,可以将命令和地址提供到存储装置从而根据异地更新写入数据。当以异地更新在空闲块中写入数据时,还可以执行产生空闲块的操作以获得空闲块。
[Ο?Ο?]同时,在选择结果SelJJpdate示出响应于来自主机的写入请求而选择就地更新时,逻辑地址ADDR_L可以基于先前存储于工作存储器330中的地址映射信息被转换为物理地址,可以在由物理地址指示的存储单元(其中存储了现有数据)中更新数据。
[0102]更新选择单元364可以响应于来自主机的一个写入请求而选择就地更新和异地更新两者。例如,可以根据就地更新写入与写入请求对应的数据的一部分,可以根据异地更新写入该数据的另一部分。
[0103]下面描述与用于选择就地更新或者异地更新的标准相关的各种示例。
[0104]如上所述,在根据就地更新写入数据时,可以处理写入请求而没有诸如擦除操作、垃圾回收操作和元数据写入操作的额外开销。然而,在来自主机的写入请求集中在特定的存储芯片中时,不会使被构造为多个存储芯片的存储器的性能最大化。同时,在根据异地更新写入数据时,虽然会产生额外开销,但是数据可以被分布并被写入多个存储芯片中,从而使并行度最大化。
[0105]下面参照图9至图13描述选择就地更新或异地更新的实施例。图9至图13是示出根据示例性实施例的操作存储系统的方法的流程图。
[0106]如图9所示,存储系统从主机接收包(操作S11)。包可以包括请求、地址和数据作为与存储器操作相关的各种信息。此外,包可以包括与存储器操作相关的各种不同信息。可以在主机中编码和产生包,并且可以通过主机和存储系统之间的串行通信来发送包。然而,发明构思的示例性实施例不必限于此。主机和存储系统可以通过不同的传输线发送和接收请求、地址、数据和各种信息。
[0107]存储系统可以从主机接收并存储各种信号。例如,存储系统可以将从主机顺序地或连续地接收到的请求和数据存储在队列中。例如,从主机提供的请求可包括各种类型的请求(诸如写入请求、读取请求和擦除请求)。存储系统分析从主机提供的请求的类型并由此检测写入请求的个数(操作S12)。
[0108]将检测到的写入请求的个数与预设的阈值(例如第一阈值(阈值I))进行比较(操作S13)。作为比较的结果,当检测到的写入请求的个数等于或大于第一阈值时,将要写入的数据的量被确定为相对大,因此选择异地更新以执行写入操作使得数据可以并行写入包括于存储系统中的多个存储芯片。例如,通过改变包括于存储系统中的地址映射表的地址映射信息来改变与从主机提供的逻辑地址对应的物理地址(操作S14)。将来自主机的数据更新到与改变后的物理地址对应的区域(操作S15)。
[0109]当确定(操作S13)检测到的写入请求的个数小于第一阈值时,将要写入的数据的量被确定为相对小。因此,选择就地更新以执行写入操作,从而改善数据写入操作的响应并且可以增加存储系统的寿命。将数据更新到与现有物理地址(例如,根据先前存储在包括于存储系统中的地址映射表中的地址映射信息而映射到从主机提供的逻辑地址)对应的区域(操作S16)。
[0110]图10是根据示例性实施例的通过参考与数据相关的信息来选择更新的示例的流程图。
[0111]如图10中所示,存储系统从主机接收包(操作S21)。存储系统可以从主机顺序地或连续地接收包并且可以将包中包括的数据存储在队列中。
[0112]存储系统通过分析从主机提供的数据来检测请求写入的数据的量(操作S22)。将检测到的数据的量与预设的阈值(例如第二阈值(阈值2))进行比较(操作S23)。作为比较的结果,当检测到的数据的量等于或大于第二阈值时,选择异地更新以执行写入操作,使得数据可以被并行写入多个存储芯片中。因此,改变与从主机提供的逻辑地址对应的物理地址(操作S24),并且将来自主机的数据更新到与改变后的物理地址对应的区域(操作S25)。
[0113]当检测到的数据的量小于预定的第二阈值时(操作S23),将要写入的数据的量被确定为相对小,因此选择就地更新,从而可以改善数据写入操作的响应并且可以增加存储系统的寿命。因此,将数据更新到与现有物理地址(例如,根据先前存储的地址映射信息而映射到从主机提供的逻辑地址)对应的区域(操作S26)。
[0114]图1lA和图1lB是根据示例性实施例的通过参考与地址相关的信息选择更新的示例的流程图。
[0115]如图1IA中所示,存储系统从主机接收包(操作S311)。存储系统可以从主机顺序地或连续地接收包、从包中提取地址(例如,逻辑地址)并分析提取到的地址。
[0116]检测来自主机的逻辑地址(操作S312)。通过参考存储于存储系统中的地址映射信息来检测将要由来自主机的逻辑地址更新的存储芯片的数量(操作S313)。例如,可以从地址映射表读取与逻辑地址对应地指示数据实际将被写入的位置的物理地址,并且可以通过分析所读取的物理地址来检测将要访问的存储芯片的数量。
[0117]将检测到的存储芯片的数量与预定的阈值(例如阈值3_1)进行比较(操作S314)。作为比较的结果,当检测到将要访问的存储芯片的数量等于或大于预定的阈值时,这意味着从主机请求的将要写入的数据被分布并写入多个存储芯片中,选择就地更新以改善数据写入操作的响应并且增加存储系统的寿命(操作S315)。
[0118]当检测到将要访问的存储芯片的数量小于预定阈值时(操作S314),这意味着从主机请求的将要写入的数据被集中并写入少量存储芯片中。在这种情况下,选择异地更新,从而数据可以并行写入多个存储芯片。因此,改变与从主机提供的逻辑地址对应的物理地址(操作S316 ),并且将来自主机的数据更新到与改变后的物理地址对应的区域(操作S317)。
[0119]图1lB是通过检测地址来选择更新的示例的流程图。如图1lB中所示,存储系统从主机接收包(操作S321)。存储系统可以从主机顺序地或连续地接收包,并且可以将多个请求和地址(例如,逻辑地址)存储在包括于存储系统(例如,存储控制器)的队列中。检测存储在队列中的请求和地址(操作S322)。因此,可以确定多个请求中的写入请求,并且可以确定将要执行写入请求的存储装置(或存储芯片)。
[0120]存储系统可以包括多个存储芯片。每个存储芯片可以将与来自主机的请求对应的命令和地址存储在该存储芯片中的队列中。每个存储芯片可以响应于写入命令来完成数据写入操作,并且可以向存储控制器提供指示数据写入操作完成的信息。因此,存储控制器对于多个存储芯片中的每个检测请求处理状态(操作S323)。
[0121]根据上述检测结果,确定在每个存储芯片中将要执行的写入请求的个数(操作S324)。例如,可以利用存储在存储控制器的队列中的信息来确定在一个存储芯片中将要执行的写入请求的个数。可选地,可以利用针对每个存储芯片的请求处理状态和存储于存储控制器的队列中的信息来确定将要执行的写入请求的个数。即,稍后将要在一个存储芯片中执行的写入请求的个数可以与由主机指示的请求的个数与尚未在该存储芯片中执行的请求的个数之和的值对应。
[0122]针对多个存储芯片中的每个的写入请求的个数可以是不同的。根据发明构思的示例性实施例,基于检测针对多个存储芯片中的每个的写入请求的个数的结果来选择更新。例如,选择将要执行最多个数的写入请求的存储芯片和将要执行最少个数的写入请求的存储芯片。计算写入请求的个数的差值Max_chip-Min_chip,并且将计算出的差值与阈值(例如,阈值3_2)进行比较(操作S325)。当差值Max_chip-Min_chip大于阈值时,可以意味着写入请求集中在部分的存储芯片中。
[0123]因此,当写入请求的个数的差值Max_chip-Min_chip大于或等于阈值时,选择异地更新。因此,改变与从主机提供的逻辑地址对应的物理地址(操作S326),并且将来自主机的数据更新到与改变后的物理地址对应的区域(操作S327)。例如,可以将多个写入请求中的至少一部分写入请求分配到其它存储芯片(例如,具有少的请求个数的存储芯片),因此被分配到存储芯片的请求的个数可以更均勾地分布。当写入请求的个数的差值Max_chip-Min_chip小于阈值时(操作S325),写入请求大体均匀地分布在多个存储芯片中。在这种情况下,可以选择就地更新。因此,将数据更新到与根据先前存储的地址映射信息而映射到从主机提供的逻辑地址的现有物理地址对应的区域(操作S328)。
[0124]根据上述实施例的存储系统的操作,可以确定请求是否均匀地分布在存储芯片中,并且可以根据确定的结果来适当地调整并利用就地更新和异地更新。例如,利用就地更新在分配了很多写入请求的存储芯片中写入数据,因此可以处理一部分的写入请求,并且通过将另一部分的写入请求分配到其它存储芯片而利用异地更新来写入数据。
[0125]可以以各种方式修改上述实施例的存储系统的操作。例如,可以通过检测存储于存储控制器的请求和逻辑地址信息来选择就地更新和异地更新。然后,当请求被分配到多个存储芯片时,可以基于确定存储芯片的请求处理状态的结果来调整请求分配操作。
[0126]图12是示出根据示例性实施例的通过参考诸如以磨损级别、寿命或坏块为例的多种信息来选择更新的示例的流程图。
[0127]如图12中所示,存储系统从主机接收包(操作S41)。存储系统可以从主机顺序地或连续地接收包并且检测包中包括的逻辑地址(操作S42)。通过检测包括于存储系统中的各种类型的信息来检查与针对存储系统中包括的存储单元的每个区域的磨损级别、寿命和坏块中的一个或多个相关的信息(操作S43)。例如,为了管理存储单元的磨损级别、寿命和坏块,可以检测每个页或块的写入操作的次数并且可以存储其信息,可以检测每个块的擦除操作的次数并且可以存储其信息。存储系统可以检查与来自主机的逻辑地址对应的页/块,并且可以检查与磨损级别、寿命和坏块相关的信息,从而分析请求将要访问的页/块的状态和存储系统中其它页/块的状态。
[0128]根据检查的结果,选择就地更新或异地更新(操作S44)。作为示例,当与来自主机的逻辑地址对应的页或块的写入操作的次数大时,可以将页/块的磨损级别确定为高。在这方面,当向页/块更新数据时,数据可靠性会根据磨损级别的提高而劣化,因此可以选择异地更新,从而将数据写入到与主机指示的区域不同的区域。
[0129]可选地,当与来自主机的逻辑地址对应的块是坏块时,选择异地更新,因此数据可以写入不是坏块的块。可选地,当存储系统的寿命被确认为劣化时,可以针对来自主机的写入请求选择就地更新,以防止因块上擦除操作的次数增加而导致寿命进一步劣化。
[0130]基于存储系统的磨损级别、寿命和坏块而选择就地更新或者异地更新的示例不必受限于上述示例。即,可以以各种方式修改发明构思的示例性实施例。例如,当请求将要执行写入操作的块的寿命被确定为劣化时,可以将存储操作设定为利用就地更新向该块写入数据,以防止对该块执行的擦除操作的次数增加。
[0131]图13是当根据示例性实施例来选择就地更新或异地更新时,对选择条件施加优先级的示例的流程图。参照图13,向将要访问的存储芯片的数量施加优先级,但发明构思的示例性实施例不限于此。在上述实施例中,可以通过对其它的多种信息施加优先级来选择就地更新或异地更新。
[0132]如图13中所示,存储系统从主机接收包(操作S51)。存储系统检测从主机接收的包中包括的逻辑地址(操作S52)。
[0133]通过参考检测到的逻辑地址和存储在存储系统中的地址映射信息来检测将要按照来自主机的逻辑地址更新的存储芯片的数量(操作S53)。将检测到的存储芯片的数量与预定的阈值(例如,第四阈值(阈值4))进行比较(操作S54)。
[0134]作为检测的结果,当检测到的存储芯片的数量大于或等于预定的阈值时,来自主机的请求写入的数据可以被分布并写入多个存储芯片,因此将数据更新到与根据先前存储的地址映射信息而映射到从主机提供的逻辑地址的现有物理地址对应的区域(操作S55)。即,当将要访问的存储芯片的数量大于或等于预定的阈值时,选择就地更新而不管其它条件。
[0135]当检测到的存储芯片的数量小于与预定的阈值时(操作S54),通过进一步参考与将要访问的存储芯片的数量相关的信息不同的信息来确定是否利用就地更新写入数据。例如,与上述实施例类似,检测下列至少一者:从主机提供的写入请求的个数、从主机提供的数据的量和与包括于存储系统的存储单元的磨损级别/寿命相关的信息(操作S56)。然后,根据检测结果来确定是否利用就地更新响应于来自主机的写入请求而写入数据(操作S57)。作为检测的结果,当写入请求的个数或数据的量小时,可以选择就地更新。当与来自主机的逻辑地址对应的物理位置的存储单元的磨损级别低或者存储系统的寿命劣化时,可以选择就地更新。因此,将数据更新到与根据先前存储的地址映射信息而映射到从主机提供的逻辑地址的现有物理地址对应的区域(操作S55)。
[0136]当根据确定的结果而选择异地更新时(操作S57),改变存储在存储系统中的地址映射信息。因此,改变与从主机提供的逻辑地址对应的物理地址(操作S58),并且在与改变后的物理地址对应的区域中更新主机的数据(操作S59)。
[0137]图14A和图14B分别是根据另一示例性实施例的存储系统400和设置在该存储系统400中的更新管理单元410的框图。
[0138]参照图14A,存储系统400与主机401通信,以从主机401接收请求Request、逻辑地址ADDR_L和写入数据Data_W。存储系统400可以从主机401接收多种信息,例如,优先级信息PR和标签TAG。多种信息PR和TAG通过主机401和存储系统400之间的单独通信通道来提供,但发明构思的实施例不必受限于此。例如,优先级信息PR可以通过请求通道提供,标签TAG可以通过写入数据道提供。可选地,如上所述,可以将来自主机401的多种信息编码为包,并且可以在主机401和存储系统400之间发送和接收包单位中的信息。
[0139]根据发明构思的示例性实施例,存储系统400利用多种信息PR和TAG响应于来自主机401的写入请求来选择就地更新或异地更新。
[0140]存储系统400包括更新管理单元410。参照图14B,更新管理单元410包括优先级检测单元411、标签检测单元412、数据分析单元413和更新选择单元414。根据示例性实施例,更新管理单元410可以通过参考从主机401提供的多种信息PR和TAG与包括于存储系统400中的多种信息中的至少一者来选择就地更新或异地更新,并且可以输出选择结果Sel_Update0
[0141]更新管理单元410可以通过参考以下至少一者来选择就地更新或异地更新:写入数据Data_W、从与来自主机401的逻辑地址ADDRJJ^S的区域读取的读取数据Da ta_R、来自主机401的多种信息PR和TAG以及存储系统400的状态信息Inf o_Idle。例如,优先级检测单元411可以检测优先级信息PR并产生检测结果。标签检测单元412可以检测标签TAG并产生检测结果。
[0142]数据分析单元413可以利用以下至少一者来执行分析操作并且产生分析操作的结果:写入数据Data_W、读取数据Data_R以及比较写入数据Data_W和读取数据Data_R的结果Res_C0MP ο例如,数据分析单元413可以比较写入数据Data_W和读取数据Data_R的位值,分析将要改变的实际数据值的位数并且产生分析的结果。可选地,数据分析单元413可以接收比较写入数据Data_W和读取数据Data_R的结果Res_COMP,分析将要改变的实际数据值的位数并且产生分析的结果。
[0143]更新选择单元414可以通过参考优先级检测单元411、标签检测单元412和数据分析单元413的检测和分析结果来选择就地更新或异地更新。更新选择单元414可以通过参考指示存储系统400的空闲状态的状态信息InfoJdle来选择就地更新或异地更新。
[0144]在下文中,描述根据图14A和图14B中示出的实施例来选择性地应用就地更新或异地更新的示例。图15至图17是示出根据其它示例性实施例的操作存储系统的方法的流程图。
[0145]参照图15,存储系统从主机接收包(操作S61)。存储系统可以从主机顺序地或连续地接收包,并且检测包括于包中的优先级信息和/或标签(操作S62)。根据检测优先级信息和/或标签的结果,确定来自主机的写入请求是否与第一条件对应(操作S63)。
[0146]优先级信息和/或标签可以响应于来自主机的每个请求而提供给存储系统。优先级信息可以根据写入请求或读取请求的紧急性或重要性来设定。例如,当写入请求需要快速响应时,可以将对应于写入请求的优先级信息设定为高值并且提供给存储系统。可选地,可以根据写入请求所伴随的数据的类型和重要性来设定标签。例如,当请求将要写入的数据是已写入存储装置的特定区域中的先前设定的类型的数据时,标签可以包括指示该数据的类型的信息。可选地,作为请求将要写入的数据的特性,标签可以指示该数据在被写入一次之后是具有频繁更新的特性还是具有不频繁更新的特性。
[0147]当检测结果与第一条件对应时,选择与来自主机的写入请求对应的异地更新。因此,改变与从主机提供的逻辑地址对应的物理地址(操作S64),并且将来自主机的数据更新到与改变后的物理地址对应的区域(操作S65)。例如,当对应于写入请求的优先级信息低或者数据将要被分布并写入存储装置的多个区域中时,可以响应于写入请求而选择异地更新。
[0148]当检测结果不与第一条件对应(而是与第二条件对应)(操作S63)时,将数据更新到与根据先前存储的地址映射信息而映射到从主机提供的逻辑地址的现有物理地址对应的区域(操作S66)。例如,当与写入请求对应的优先级信息高或者将要在先前设定的存储装置的区域中写入数据时,响应于写入请求而选择就地更新。可选地,可以根据确定数据的特性(例如,与更新频率有关的特性)的结果来选择一种更新。
[0149]图16示出根据示例性实施例的依据比较写入数据和读取数据的结果来选择就地更新或异地更新的示例。
[0150]参照图16,存储系统从主机接收包(操作S71)。存储系统可以从主机顺序地或连续地接收包,并且可以检测包括于包中的逻辑地址。可以通过参考提取的逻辑地址和包括于存储系统中的地址映射表的映射信息,根据来自主机的写入请求来确定将要访问的区域。
[0151]在将存储系统实现为包括电阻式存储单元的电阻式存储系统时,可以在已写入先前数据的存储单元中重写将要新写入的数据。在这方面,当先前写入的数据的位值和将要新写入的数据的位值对每个存储单元为相同时,可以跳过对应存储单元中的写入操作。即,当新的数据将要利用就地更新来重写现有数据时,可以在更新数据前读取将要访问的区域的数据以用于数据比较操作(操作S72)。
[0152]将写入数据和读取数据彼此比较(操作S73)。可以根据比较操作来检测实际上将要改变的位数。可以把将要改变的位数与预定的阈值(例如,第五阈值(阈值5))进行比较(操作74)。当将要改变的位数大于或等于预定的阈值时,将要实际写入数据的存储单元的数量为大。在这种情况下,由于将要写入大量的数据,所以选择异地更新。因此,改变与从主机提供的逻辑地址对应的物理地址(操作S75),并且将来自主机的数据更新到与改变后的物理地址对应的区域(操作S76)。
[0153]当将要改变的位数小于预定的阈值时(操作S74),将要实际写入数据的存储单元的数量相对小。在这种情况下,由于将要写入少量的数据,所以选择就地更新。因此,将数据更新到与根据先前存储的地址映射信息而映射到从主机提供的逻辑地址的现有物理地址对应的区域(操作S77)。
[0154]图17示出了根据存储系统的内部状态来选择更新的示例。可以确定存储系统是否进入作为存储系统内部状态的空闲状态(操作S81)。可以以各种方式定义存储系统的空闲状态。例如,在空闲状态下主机和存储系统之间的通信可以停止。可选地,空闲状态可以是这样一种状态:虽然存储系统接收到了来自主机的请求,但是存储系统不执行响应于该请求的存储操作。
[0155]—旦存储系统进入空闲状态,存储系统就进入空闲状态下的内部写入操作模式(操作S82)。可以由于各种原因执行内部写入操作。例如,可以执行空闲状态下的各种内部写入操作,诸如,用于获得空闲块或将数据存储特性劣化的存储单元的数据进行改写(rewrite)的垃圾回收操作。
[0156]当利用异地更新改变从主机提供的数据的写入位置时,现有的写入数据可以对应于无效数据,因此一个块可以同时包括有效数据和无效数据。在垃圾回收操作期间,包括在一个块(例如,第一块)中的有效数据可以被写入另一个块(例如,第二块)中,因此可以对不包括有效数据的第一块执行擦除操作。因此,第一块可以是空闲块。
[0157]可选地,可以在空闲状态下检测具有劣化的数据可靠性的存储单元,并且可以在检测到的存储单元上改写数据,从而提高数据的保真度。根据发明构思的示例性实施例,检测与内部写入操作相关的多种信息,以检查将要在空闲状态下执行的内部写入操作的类型,并且确定检测结果是否与预定条件对应(操作S83)。
[0158]可以改变将要在空闲状态下执行的内部写入操作。可以利用不同更新来执行各种内部写入操作。例如,当确定有必要应用诸如垃圾回收操作的异地更新时(可选地,当满足检测到的信息对应于预定条件时),改变逻辑地址和物理地址之间的地址映射信息(操作S85),并将用于内部写入操作的数据更新到与改变后的物理地址对应的区域(操作S86)。同时,当内部写入操作的类型不满足预定条件时(操作S84),选择就地更新。在这种情况下,当执行内部写入操作时,根据先前存储的地址映射信息来写入数据(操作S87)。
[0159]图18A和图18B分别是示出根据另一示例性实施例的存储系统500的框图和流程图。图18A还示出与存储系统500通信的主机501。主机501可以向存储系统500提供各种请求Req、逻辑地址ADDR_L和写入数据Data_W以及与响应于写入请求而选择的更新相关的更新信息Inf oJJpdate。存储系统500可以向主机501提供地址信息Inf o_ADD用来参考更新选择。
[0160]根据发明构思的示例性实施例,主机501可以选择就地更新或者异地更新,存储系统500可以根据来自主机501的更新信息InfoJJpdate利用就地更新或者异地更新来写入数据。例如,在描绘的示例性实施例中,主机501包括对应于软件层的应用5011和文件系统5012。此外,根据发明构思的实施例,主机501还包括特性确定单元5013和用于执行更新管理操作的更新管理单元5014。存储系统500包括处理单元510、地址映射表520和存储单元阵列530。
[0161]主机501可以根据与至少一个上述实施例相同或相似的方法来选择基于就地更新还是异地更新来请求数据写入。应用5011可以针对存储系统500产生写入请求或读取请求。文件系统5012可以接收写入请求或读取请求并产生将要提供给存储系统500的命令和逻辑地址。
[0162]数据特性确定单元5013可以执行确定将要从主机501提供给存储系统500的数据的特性的操作,以与上所述实施例相同或相似的方式来确定数据的重要性、数据的类型和紧急性,并且产生确定的结果。
[0163]更新管理单元5014可以利用包括于主机501中的多种信息和从存储系统500提供的地址信息Inf o_ADD中的至少一者来选择与由主机501提供的写入请求对应的更新方法。地址信息Info_ADD可以包括多种信息,例如,地址映射信息和与磨损级别/坏块/寿命有关的信息。例如,可以通过确定以下信息来选择就地更新或异地更新:提供给存储系统500的写入请求的个数、提供给存储系统500的数据的量、通过逻辑地址ADDR_L确定的将要访问存储芯片的数量以及地址信息Info_ADD。在处理单元510的控制下,存储系统500响应于来自主机501的写入请求,通过参考从主机501提供的更新信息Info_Update利用就地更新或异地更新向存储单元阵列530写入数据。
[0164]图18B是示出操作根据图18A中所示的实施例的存储系统的方法的流程图。
[0165]参照图18B,存储系统接收与来自主机的写入请求对应的写入请求和逻辑地址(操作S91)。如上所述,主机可以通过参考其内部信息和/或从存储系统提供的信息来选择更新方法,并且可以根据选择的结果提供更新信息。存储系统从主机接收更新信息(操作S92)。
[0166]存储系统确定更新信息是否具有指示异地更新的第一值(操作S93)。作为确定的结果,当更新信息对应于第一值时,利用异地更新将伴随来自主机的写入请求的数据写入存储单元中。例如,改变与从主机提供的逻辑地址对应的物理地址(操作S94),并且将来自主机的数据更新到与改变后的物理地址对应的区域(操作S95)。当更新信息不对应于第一值时(操作S93),利用就地更新将伴随来自主机的写入请求的数据写入存储单元。例如,将数据更新到与根据先前存储的地址映射信息而映射到从主机提供的逻辑地址的现有物理地址对应的区域(操作S96)。
[0167]图19A至图19C是根据示例性实施例示出在主机和存储系统之间发送和接收的信号的波形图。
[0168]参照图19A,主机可以向存储系统提供时钟CLK、请求REQ、数据DATA和地址ADDR(例如,逻辑地址)。由于写入请求是在存储系统中接收的,所以可以向存储系统提供对应于写入请求的写入数据,可以向存储系统提供地址ADDR,该地址指示将要存储被请求写入的数据的逻辑地址。可以以各种形式提供地址ADDR,例如,指示逻辑地址的起始的信息StartLA,指示将要写入的数据的大小的信息Size Info。根据上述实施例,可以利用关于来自主机的地址ADDR的信息来选择就地更新或异地更新。
[0169]同时,参照图19B,主机还可以向存储系统提供优先级信息PR和关于标签TAG的信息。可以以各种形式提供优先级信息PR。例如,可以根据高信息或低信息来确定优先级。可以根据关于标签TAG的信息来确定各种数据的类型。一个或更多个位值可以构成关于标签TAG的信息。可以根据关于标签TAG的信息的值来确定数据的特性(例如,数据是系统数据还是用户数据,或者写入数据的更新频率特性)。根据上述实施例,可以通过进一步利用优先级信息PR和/或关于标签TAG的信息来选择更新。
[0170]同时,参照图19C,主机还可以向存储系统提供更新信息Info_Update。根据上述实施例,主机可以为自己选择更新方法,并且可以向存储系统提供指示所选择的更新方法的信息作为更新信息InfoJJpdate。存储系统可以根据更新信息InfoJJpdate的状态,利用就地更新或异地更新来写入被请求将要写入的数据。可选地,存储系统可以利用就地更新或异地更新来写入响应于一个写入请求而接收的数据。
[0171]图20和图21是示出根据示例性实施例的存储系统的操作的示例的框图。
[0172]图20示出指定存储系统的存储单元阵列的具体区域并且给被指定的具体区域上的写入操作固定一种更新的示例。图20的存储系统的构造与图6和图7的存储系统的构造相同或相似,因此省略其详细的描述。
[0173]可以预先设置存储系统的与来自主机的具体逻辑地址对应的一个或更多个区域(在下文中,称为就地区域),从而利用就地更新写入数据。例如,逻辑地址LA O?LA 7可以映射到设置在第五存储芯片C5中的第一单元块BLKl的物理地址PA 100?PA 107,并且可以利用就地更新在与物理地址PA 100?PA 107对应的区域中写入数据。因此,当请求将要对应于逻辑地址LA O?LA 7来写入新数据Data O’?Data 7’时,根据先前存储的地址映射信息来更新与物理地址PA 100?PA 107对应的区域的数据。
[0174]同时,可以预先设置存储系统的与另一具体逻辑地址对应的一个或更多个区域(在下文中,称为异地更新),从而利用异地更新写入数据。例如,根据目前存储的地址映射信息,逻辑地址LA 8?LA 15可以映射到设置在第八存储芯片C8中的第二单元块BLK2的物理地址PA 300?PA 307。如果请求将要对应于逻辑地址LA 8?LA 15来写入新数据Data 8’?Data 15’,则可以改变与逻辑地址LA 8?LA 15对应的物理位置。例如,逻辑地址LA 11可以映射到设置在第四存储芯片C4中的单元块的物理地址PA 200,并且可以在对应于物理地址PA 200的区域中写入新数据Data 11’。逻辑地址LA 15可以映射到设置在第八存储芯片C8中的单元块的物理地址PA 400,并且可以在对应于物理地址PA 400的区域中写入新数据Data 15'ο
[0175]同时,可以对于没有根据上述各种实施例来固定就地更新或异地更新的逻辑地址执行确定操作,并且可以选择一种更新作为确定操作的结果。
[0176]图21示出利用就地更新写入与一个写入请求对应的数据的一部分并且利用异地更新写入该数据的另一部分的示例。例如,可以连同写入请求一起接收逻辑地址LA O?LA7和数据Data O’?Data 7’,逻辑地址LA O?LA 7可以根据先前存储的映射信息而映射到第五存储芯片C5的第三单元块BLK 3的物理地址PA 100?PA 107。根据选择更新方法的结果,可以利用就地更新写入部分的写入数据Data O’?Data 3’,可以利用异地更新写入其余的写入数据Data 4’?Data 7’。
[0177]因此,与逻辑地址LAO?LA 3对应的数据Data O’?Data 3’可以根据先前存储的映射信息而写入与第五存储芯片C5的物理地址PA 100?PA 103对应的区域中。同时,与逻辑地址LA 4?LA 7对应的数据Data 4’?Data 7 ’可以写入其它存储块(例如,第一至第四存储芯片Cl?C4的块)中。例如,由于地址映射信息已改变,所以逻辑地址LA 4可以映射到物理地址PA 201,逻辑地址LA 7可以映射到物理地址PA 501。可以基于已改变的地址映射信息将数据Data 4’?Data 7’写入由物理地址PA 201、PA 301、PA 401和PA 501所指示的区域中。
[0178]图22是将根据示例性实施例的存储系统应用于存储卡系统600的示例的框图。为了示例目的,假设存储卡系统600为电阻式存储系统。
[0179]参照图22,存储卡系统600包括主机610和存储卡620。主机600包括主机控制器611和主机连接器612。存储卡620包括卡连接器621、卡控制器622和存储系统623。在这方面,存储系统623可以利用图1至图21中所示的实施例来实现。因此,根据各种实施例,存储系统623可以包括存储控制器和电阻式存储装置,可以响应于来自主机610的写入请求选择就地更新或者异地更新,可以根据选择的结果在与来自主机610的逻辑地址对应的现有位置写入数据,或者可以改变与来自主机610的逻辑地址对应的物理地址并且在改变后的位置写入数据。
[0180]主机610可以将数据写入到存储卡620或者读取存储于存储卡620中的数据。主机控制器611可以将命令CMD、在主机610中的时钟发生器(未示出)中产生的时钟信号CLK以及数据DATA通过主机连接器612发送到存储卡620。
[0181]响应于利用卡连接器621接收的命令CMD,卡控制器622可以向存储系统623提供与由卡控制器622中的时钟发生器(未示出)产生的时钟信号同步的数据。存储系统623可以存储从主机610发送的数据。
[0182]例如,存储卡920可以是快闪存储卡(CFC)、微型驱动器、智能媒体卡(SMC)、多媒体卡(MMC)、安全数字卡(SDC)、通用闪存(UFS)、记忆棒或通用串行总线(USB)闪存驱动器。
[0183]图23是根据示例性实施例将存储系统应用于固态盘(SSD)系统700的示例的框图。
[0184]参照图23,SSD系统700包括主机710和SSD 7200SSD 720可以通过信号连接器将信号发送到主机710,通过信号连接器从主机710接收信号并且可以通过电源连接器接收电力。SSD 720包括SSD控制器721、辅助电源722和由存储系统723、724和725表示的多个存储系统。因此,根据各种实施例,存储系统723、724和725中的每个可以包括存储控制器和电阻式存储装置,可以响应于来自主机710的写入请求选择就地更新或者异地更新,可以根据选择的结果在与来自主机710的逻辑地址对应的现有位置中写入数据,或者可以改变与来自主机710的逻辑地址对应的物理地址并且可以在改变后的位置中写入数据。
[0185]图24是根据示例性实施例的包括存储系统的计算系统800的框图。
[0186]参照图24,计算系统800包括存储系统810、处理器820、RAM 830、输入/输出装置840和电源850。假设存储系统800为电阻式存储系统。存储系统810包括存储装置811和存储控制器812。同时,虽然未在图24中示出,但是计算系统800还可以包括与视频卡、声卡、存储卡、USB装置或其它电子电器通信的端口。例如,计算系统800可以是个人计算机或诸如膝上型计算机、移动电话、个人数字助理(PDA)或相机的便携式电子装置。
[0187]处理器820可以执行具体计算和任务。根据示例性实施例,处理器820可以是微处理器或中央处理单元(CPU)。例如,处理器820可以通过诸如地址总线、控制总线或数据总线的总线860与RAM 830、输入/输出装置840和存储系统810通信。存储系统810可以利用图1至图21中所示的示例性实施例的电阻式存储器来实现。
[0188]根据示例性实施例,处理器820还可以连接到扩展总线,诸如,外围组件互连(PCI)总线。
[0189]RAM 830可以存储操作计算系统800所需的数据。如上所述,RAM 830可以是RRAM。可选地,RAM 830可以是DRAM、移动DRAM、SRAM、PRAM、FRAM、MRAM等。
[0190]例如,输入/输出装置840可以包括诸如键盘、小键盘或鼠标的输入单元和诸如打印机或显示器的输出单元。电源850可以提供操作计算系统800所需的工作电压。
[0191]图25A是示出图1的存储装置120的示例的结构图,图25B是示出图1的存储装置120的示例的电路图。例如,图25A和图25B示出以三维(3D)结构布置的存储装置120的存储单元阵列121的存储单元的示例。
[0192]参照图25A和图25B,存储单元阵列121包括多个存储块BLKl?BLKz。每个存储块BLKl?BLKz具有3D结构(或垂直结构)。每个存储块BLKl?BLKz可以包括在与基底垂直的方向上延伸的多个单元串。存储块BLKl?BLKz之一的单元串可以连接到多条位线BL,一条或更多条串选择线和多条字线WL。存储块BLKl?BLKz的单元串可以共享多条位线BL。
[0193]图25B示出实现图25A的存储块BLKl?BLKz的示例,但为便于描述不包括可以实现为二极管或晶体管的选择器件。
[0194]参照图25B,存储单元阵列121可以包括以3D布置堆叠的存储块BLKl?BLKz。存储单元阵列121可以包括沿平行于z轴方向延伸的多条局部位线LBLl?LBL4和沿平行于与z轴垂直的y轴方向延伸的多条局部字线LWLl?LWL4。局部位线LBLl?LBL4可以连接到全局位线GBLl?GBL4。
[0195]在第一存储块BLKl中,第一单元阵列121的存储单元可以连接到局部字线LWLl?LWL4和局部位线LBLl?LBL4之间。存储单元可以通过施加到局部字线LWLl?LWL4和/或局部位线LBLl?LBL4的电流(或电压)来执行写入操作或读取操作。根据上述实施例,在以3D布置堆叠的存储块BLKl?BLK3上的数据写入操作中,可以通过各种检测操作和分析操作利用就地更新或异地更新来写入数据。
[0196]虽然已经参照示例性实施例描述了发明构思,但是本领域技术人员将理解的是,在不脱离发明构思的精神和范围的情况下,可以做出各种改变与修改。因此,应该理解,以上实施例不是限制性的,而是说明性的。
【主权项】
1.一种操作存储系统的方法,所述方法包括以下步骤: 接收一个或更多个写入请求、逻辑地址和与所述一个或更多个写入请求对应的数据; 将分析接收到的一个或更多个写入请求、逻辑地址和数据中的至少一者的结果与阈值进行比较;以及 基于比较的结果,利用第一更新方法或第二更新方法写入数据, 其中,在选择了第一更新方法时,根据地址映射信息将数据写入到由与逻辑地址对应的物理地址指示的区域中,以及 其中,在选择了第二更新方式时,改变与逻辑地址对应的物理地址的信息,并将数据写入到由改变后的物理地址指示的区域中。2.如权利要求1所述的方法,其中,将所述一个或更多个写入请求存储在存储系统的请求队列中,以及 其中,所述比较步骤包括将存储的写入请求的个数与阈值进行比较。3.如权利要求2所述的方法,其中,当存储的写入请求的个数小于阈值时,选择第一更新方法,当存储的写入请求的个数大于或等于阈值时,选择第二更新方法。4.如权利要求1所述的方法,其中,将与所述一个或更多个写入请求对应的数据存储在存储系统的数据队列中,以及 其中,所述比较步骤包括将存储的数据的量与阈值进行比较。5.如权利要求4所述的方法,其中,当存储的数据的量小于阈值时,选择第一更新方法,当存储的数据的量大于或等于阈值时,选择第二更新方法。6.如权利要求1所述的方法,其中,所述存储系统包括多个存储芯片,以及 其中,所述比较步骤包括:将被接收到的逻辑地址请求写入的操作所针对的存储芯片的数量与阈值进行比较。7.如权利要求1所述的方法,其中,所述存储系统包括多个存储芯片,以及 其中,所述比较步骤包括:确定被分配到所述多个存储芯片中的每个存储芯片的写入请求的数量,并且比较被分配了最大写入请求数量的存储芯片的写入请求个数和被分配了最小写入请求数量的存储芯片的写入请求个数之间的差值。8.如权利要求1所述的方法,其中,接收多个写入请求、逻辑地址和与所述多个写入请求对应的数据,以及 根据比较的结果,针对所述多个写入请求应用第一更新方法和第二更新方法中的一种更新方法。9.如权利要求1所述的方法,其中,接收多个写入请求、逻辑地址和与所述多个写入请求对应的数据,以及 根据比较的结果,针对所述多个写入请求的一部分应用第一更新方法并针对所述多个写入请求的另一部分应用第二更新方法。10.如权利要求1所述的方法,所述方法还包括: 分析设置在存储系统中的单元区域的磨损级别、坏块和寿命中的至少一者, 其中,基于比较的结果和分析的结果,针对所述一个或更多个写入请求来选择第一更新方法或第二更新方法。11.如权利要求1所述的方法,其中,存储系统还接收与所述一个或更多个写入请求有关的优先级信息以及指示所述数据的特性的标签, 所述方法还包括: 分析接收到的优先级信息和标签中的至少一者,其中,基于比较的结果和分析的结果,针对所述一个或更多个写入请求来选择第一更新方法或第二更新方法。12.如权利要求1所述的方法,所述方法还包括: 读取由与接收到的逻辑地址对应的物理地址指示的区域的数据;以及 比较读取数据的位值和接收到的数据的位值, 其中,基于比较的结果和比较位值的结果,针对所述一个或更多个写入请求来选择第一更新方法或第二更新方法。13.如权利要求1所述的方法,所述方法还包括: 进入空闲状态;以及 在空闲状态下执行各种类型的内部写入操作, 其中,利用第一更新方法来执行内部写入操作的一部分,利用第二更新方法来执行内部写入操作的另一部分。14.如权利要求1所述的方法,其中,存储系统是包括电阻式存储单元的电阻式存储系统。15.如权利要求14所述的方法,其中,写入操作包括设置写入操作和重置写入操作,被擦除的电阻式存储单元具有重置状态, 其中,在选择了第一更新方法时,每个电阻式存储单元从与先前数据对应的电阻状态改变为与当前数据对应的电阻状态,以及 其中,在选择了第二更新方法时,每个电阻式存储单元从重置状态改变为与当前数据对应的电阻状态。16.—种操作存储系统的方法,所述存储系统包括多个存储芯片,所述方法包括以下步骤: 从主机接收具有对应的数据和第一信息的写入请求; 基于从主机接收的第一信息和包括于存储系统中的第二信息中的至少一者响应于写入请求来选择更新方法;以及 将接收到的数据写入到所述多个存储芯片中的一个存储芯片中,或者将数据分布并写入到所述多个存储芯片中的至少两个存储芯片中。17.如权利要求16所述的方法, 其中,第一信息包括伴随着写入请求的逻辑地址,以及 其中,基于接收到的写入请求的个数、接收到的数据的量和由逻辑地址指示的所述多个存储芯片的数量中的至少一者来选择更新方法。18.如权利要求16所述的方法,其中,所述第二信息包括与磨损级别有关的信息、与寿命有关的信息和与坏块有关的信息中至少一者,以及 其中,根据分析第二信息的结果来选择更新方法。19.如权利要求16所述的方法, 其中,所述多个存储芯片中的每个包括电阻式存储单元, 其中,由与第一写入请求对应的第一逻辑地址指示的第一单元区域的电阻式存储单元具有与先前数据对应的第一电阻电平分布,以及 其中,所述写入步骤包括根据选择的结果在第一单元区域中重写数据。20.如权利要求16所述的方法,其中,所述多个存储芯片中的每个包括电阻式存储单元,所述电阻式存储单元包括由与第一写入请求对应的第一逻辑地址指示的第一单元区域和包括处于擦除状态的电阻式存储单元的第二单元区域,以及 其中,所述写入步骤包括:根据选择的结果将处于擦除状态的第二单元区域改变为与所述数据对应的电阻电平分布。21.如权利要求16所述的方法,其中,所述多个存储芯片中的每个包括电阻式存储单元,所述电阻式存储单元包括由与第一写入请求对应的第一逻辑地址指示的第一单元区域和存储无效数据的第二单元区域,以及 其中,所述写入步骤包括:根据选择的结果在存储无效数据的第二单元区域中重写所述数据。22.—种操作存储系统的方法,所述存储系统包括存储单元阵列,所述方法包括以下步骤: 接收写入请求、第一逻辑地址和写入数据; 接收并检测更新信息;以及 根据检测更新信息的结果,依据先前存储的地址映射信息将写入数据写入到存储单元阵列的与第一逻辑地址对应的第一区域中,或者写入到位置与第一区域不同的第二区域中。23.如权利要求22所述的方法,其中,所述存储系统包括存储地址映射信息的地址映射表, 其中,第一区域是由根据先前存储的地址映射信息而映射到第一逻辑地址的第一物理地址指示的区域,以及 其中,第二区域是由根据改变后的地址映射信息而映射到第一逻辑地址的第二物理地址指示的区域。24.如权利要求23所述的方法,其中,存储系统包括多个存储芯片, 其中,第一区域和第二区域设置在不同的存储芯片中。25.如权利要求23所述的方法,其中,存储系统包括多个存储芯片, 其中,第二物理地址包括指示所述多个存储芯片中的至少两个存储芯片的地址信息。
【文档编号】G06F3/06GK105843553SQ201610073259
【公开日】2016年8月10日
【申请日】2016年2月2日
【发明人】禹泳再, 方卿镒, 徐圣镕, 吴银珠, 权们相, 申韩臣
【申请人】三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1