存储器系统及其操作方法与流程

文档序号:15205873发布日期:2018-08-21 08:40阅读:150来源:国知局

本申请要求于2017年2月15日提交的申请号为10-2017-0020641的韩国专利申请的优先权,其全部内容通过引用并入本文。

各个实施例涉及一种存储器系统及其操作方法。



背景技术:

近来,计算机环境范例已经变为允许用户在任何时间和任何地点访问计算机系统的普适计算环境。由于这个原因,诸如移动电话、数码相机、膝上型计算机等便携式电子装置的使用正在急剧增长。便携式电子装置通常采用使用存储器装置的存储器系统来存储数据。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。

由于存储器装置不包括机械驱动单元,所以它具有优良的稳定性和耐久性。此外,存储器装置的优点在于它可快速地访问数据并消耗少量的电力。具有这些优点的存储器装置的非限制性示例包括通用串行总线(usb)存储器装置、具有各种接口的存储卡以及固态驱动器(ssd)。数据存储装置的另一示例可包括诸如非易失性双列直插式存储器模块(nvdimm)的持久性存储器。因为持久性存储器具有有限的写入计数,所以持久性存储器需要能够在提高耐久性的同时提高其寿命的损耗均衡技术。



技术实现要素:

各个实施例涉及一种能够执行损耗均衡操作的存储器控制器、存储器系统及其操作方法。

在实施例中,存储器系统可包括:存储器装置,其包括多个块;以及控制器,其适于响应于预设数量的写入请求对每一个块执行计数操作,并基于对每一个块的计数操作的结果执行损耗均衡操作。

在实施例中,存储器控制器可包括:存储器元件,其包括用于对包括多个块的存储器装置的读取操作和写入操作中的至少一个的映射表,并且适于将计数值存储为元数据,该计数值基于对每一个块的写入计数操作的结果;处理块;以及控制单元,其适于确定需要交换的页面。处理块可响应于预设数量的写入请求而对每一个块执行写入计数操作,并且基于对每一个块的写入计数操作的结果并通过交换由控制单元确定的页面来执行损耗均衡操作。

在实施例中,提供了一种存储器系统的操作方法,该存储器系统包括含有多个块的存储器装置;以及包括存储器元件、处理块和控制单元的控制器。该操作方法可包括:响应于预设数量的写入请求,对包括在存储器装置中的每一个块执行写入计数操作;以及基于对每一个块的写入计数操作的结果执行损耗均衡操作。

附图说明

通过参照附图的以下详细描述,本发明的上述和其它特征及优点对本发明所属领域的技术人员将变得更加显而易见,其中:

图1是说明包括根据本公开的实施例的存储器系统的数据处理系统的框图;

图2是说明图1的存储器系统中采用的存储器装置的示例性配置的示意图;

图3是说明图2的存储器装置中的存储块的存储器单元阵列的示例性配置的电路图;

图4是说明图2的存储器装置的示例性三维结构的示意图;

图5是说明根据本公开的实施例的包括持久性存储器装置的存储器系统的框图;

图6是说明根据本公开的实施例的存储器控制器的框图;

图7是说明根据本公开的实施例的包括持久性存储器装置的存储器系统的损耗均衡操作的流程图;

图8是说明根据本公开的实施例的由处理块执行的写入计数操作的流程图;

图9是说明根据本公开的实施例的由控制单元执行的交换信息存储操作的流程图;

图10是说明根据本公开的实施例的由处理块执行的交换操作的流程图;

图11是说明根据本公开的实施例的由存储器控制器执行的写入计数操作的示例的简图;

图12是说明根据本公开的实施例的由存储器控制器执行的交换操作的示例的简图;并且

图13至图21是示意性说明根据本公开的各个实施例的图1的数据处理系统的应用示例的简图。

具体实施方式

以下将参照附图更详细地描述各个实施例。然而,本发明可以不同的形式实施,并不应被解释为限于本文所阐述的实施例。相反,提供这些实施例使得本公开将是完整的和全面的,并且将本发明的范围充分地传达给本领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。

在下文中,将参照附图详细描述本发明的各个实施例。

图1是说明根据本公开的实施例的包括存储器系统100的数据处理系统110的框图。

参照图1,数据处理系统100可包括被可操作地联接至存储器系统110的主机102。

主机102可以是包括诸如移动电话、mp3播放器和膝上型计算机的便携式电子装置或诸如台式电脑、游戏机、tv和投影仪的非便携式电子装置的任何适用的电子装置。

主机102可包括至少一个操作系统(os),并且os可管理和控制主机102的全部功能和操作,并还使用数据处理系统100或存储器系统110提供主机102和用户之间的操作。os可支持对应于用户的使用目的和用途的功能和操作。例如,os可根据主机102的移动性被划分为普通os和移动os。通用os可根据用户的环境被划分为个人os和企业os。例如,配置为支持向一般用户提供服务的功能的个人os可包括windows和chrome,配置为保护和支持高性能的企业os可包括windows服务器、linux和unix。此外,配置为支持向用户提供移动服务功能和系统的省电功能的移动os可包括android、ios和windowsmobile。主机102可包括一个或多个os。主机102可执行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可通过各种类型的存储装置实施。包括在存储器系统110中的存储装置的非限制性示例可包括诸如动态随机存取存储器(dram)和静态ram(sram)的易失性存储器装置和诸如以下的非易失性存储器装置:只读存储器(rom)、掩模rom(mrom)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、铁电ram(fram)、相变ram(pram)、磁阻ram(mram)、电阻式ram(rram)和闪速存储器。闪速存储器可具有三维(3d)堆叠结构。

存储器系统110可包括存储器装置150和控制器130。存储器装置150可为主机120存储数据,并且控制器130可控制将数据存储到存储器装置150中。

控制器130和存储器装置150可被集成到单个半导体装置中,单个半导体装置可被包括在如上所例示的各种类型的存储器系统中。

存储器系统110的非限制性应用示例可包括计算机、超移动pc(umpc)、工作站、上网本、个人数字助理(pda)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(pmp)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(dmb)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、构成数据中心的存储装置、能够在无线环境下传输/接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、射频识别(rfid)装置或构成计算系统的各种部件之一。

存储器装置150可以是非易失性存储器装置,并且即使不供应电力,其也可保留其中存储的数据。存储器装置150可通过写入操作来存储从主机102提供的数据,并且通过读取操作将存储在其中的数据提供给主机102。存储器装置150可包括多个存储器管芯(未示出),每个存储器管芯包括多个平面(未示出),每个平面包括多个存储块152至156,存储块152至156中的每一个可包括多个页面,并且每个页面可包括联接到字线的多个存储器单元。

控制器130可响应于来自主机102的请求控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供给主机102,并将从主机102提供的数据存储至存储器装置150中。对于该操作,控制器130可控制存储器装置150的读取操作、写入操作、编程操作和擦除操作。

控制器130可包括主机接口(i/f)单元132、处理器134、错误校正码(ecc)单元138、电源管理单元(pmu)140、nand闪速控制器(nfc)142以及存储器144,其全部通过内部总线可操作地联接。

主机接口单元132可被配置成处理主机102的命令和数据,并可通过诸如以下的各种接口协议中的一种或多种与主机102通信:通用串行总线(usb)、多媒体卡(mmc)、高速外围组件互连(pci-e)、小型计算机系统接口(scsi)、串列scsi(sas)、串行高级技术附件(sata)、并行高级技术附件(pata)、增强型小型磁盘接口(esdi)以及电子集成驱动器(ide)。

ecc单元138可检测并校正包括在从存储器装置150读取的数据中的错误。也就是,ecc单元138可通过在ecc编码进程期间使用的ecc代码对从存储器装置150读取的数据执行错误校正解码进程。根据错误校正解码进程的结果,ecc单元138可输出信号,例如错误校正成功/失败信号。当错误位的数量大于可校正错误位的阈值时,ecc单元138不校正错误位,并且可输出错误校正失败信号。

ecc单元138可通过诸如以下的编码调制执行错误校正:低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bose-chaudhri-hocquenghem,bch)码、涡轮码、里德-所罗门(reed-solomon)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)以及分组编码调制(bcm)。然而,ecc单元138不限于此。ecc单元138可包括用于错误校正的所有电路、模块、系统或装置。

pmu140可提供和管理控制器130的电力。

当存储器装置为nand闪速存储器时,nfc142可用作用于接口连接控制器130和存储器装置150的存储器/存储接口,使得控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器或具体地是nand闪速存储器时,nfc142可在处理器134的控制下生成用于存储器装置150的控制信号并处理待被提供给存储器装置150的数据。nfc142可用作处理控制器130和存储器装置150之间的命令和数据的接口,例如,nand闪存接口。具体地,nfc142可支持控制器130和存储器装置150之间的数据传输。当采用不同类型的存储器装置时,可使用其它存储器/存储接口。

存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可响应于来自主机102的请求控制存储器装置150执行读取操作、写入操作、编程操作和擦除操作。控制器130可将从存储器装置150读取的数据提供给主机102并可将从主机102提供的数据存储到存储器装置150中。存储器144可存储控制器130和存储器装置150执行这些操作所需的数据。

存储器144可通过易失性存储器来实施。例如,存储器144可通过静态随机存取存储器(sram)或动态随机存取存储器(dram)来实施。存储器144可设置在控制器130内部或外部。图1例示了设置在控制器130内部的存储器144。在实施例中,存储器144可通过具有在存储器144和控制器130之间传输数据的存储器接口的外部易失性存储器来实施。

处理器134可控制存储器系统110的全部操作。处理器134可驱动固件来控制存储器系统110的全部操作。固件可被称为闪存转换层(ftl)。

控制器130的处理器134可包括用于执行存储器装置150的坏块管理操作的管理单元(未示出)。管理单元可执行坏块管理操作,其用于检查被包括在存储器装置150中的多个存储块152至156中在编程操作期间由于nand闪速存储器的特性发生编程失败的坏块。管理单元可将坏块的编程失败数据写入到新的存储块。在具有3d堆叠结构的存储器装置150中,坏块管理操作可能降低存储器装置150的使用效率和存储器系统110的可靠性。因此,需要更可靠地执行坏块管理操作。

图2是说明存储器装置150的示意图。

参照图2,存储器装置150可包括多个存储块0至n-1,并且块0至n-1中的每一个可包括多个页面,例如2m个页面,页面的数量可根据电路设计而变化。包括在各个存储块0至n-1中的存储器单元可以是下列中的一个或多个:存储1位数据的单层单元(slc)、存储2位数据的多层单元(mlc)、存储3位数据也被称为三层单元(tlc)的mlc、存储4位数据也被称为四层单元(qlc)的mlc或存储5位或更多位数据的mlc。

图3是说明存储器装置150中的存储块的存储器单元阵列的示例性配置的电路图。

参照图3,可对应于存储器系统110的存储器装置150中包括的多个存储块152至156中的任一个的存储块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示出了nand闪速存储器单元,但是本发明不限于此。例如,注意的是,存储器单元可以是nor闪速存储器单元,或包括组合在其中的两种或更多种存储器单元的混合闪速存储器单元。还应注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或者包括作为电荷存储层的绝缘层的电荷撷取闪速(ctf)存储器装置。

存储器装置150可进一步包括提供字线电压的电源供应单元310,该字线电压包括根据操作模式供应至字线的编程电压、读取电压和通过电压。电源供应单元310的电压生成操作可通过控制电路(未示出)来控制。在控制电路的控制下,电源供应单元310可选择存储器单元阵列的存储块(或扇区)中的一个、选择被选择的存储块的字线中的一个以及按需要将字线电压提供给被选择的字线和未被选择的字线。

存储器装置150可包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可用作读出放大器,其用于从存储器单元阵列读取数据。在编程操作期间,读取/写入电路320可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并根据接收的数据驱动位线。读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器322至326,并且页面缓冲器322至326中的每一个可包括多个锁存器(未示出)。

图4是说明存储器装置150的示例性3d结构的示意图。

存储器装置150可通过2d或3d存储器装置来实施。具体地,如图4所示,存储器装置150可通过具有3d堆叠结构的非易失性存储器装置来实施。当存储器装置150具有3d结构时,存储器装置150可包括每一个都具有3d结构或垂直结构的多个存储块blk0至blkn-1。

图5是说明根据本公开的实施例的包括持久性存储器装置520的存储器系统500的框图。

参照图5,存储器系统500可联接到主机102,并且包括控制器510和持久性存储器装置520。控制器510和持久性存储器装置520可分别对应于图1所示的控制器130和存储器装置150。持久性存储器装置520可以是按字节可寻址的,并且具有其中易失性存储器和非易失性存储器彼此联接的结构,例如非易失性双列直插式存储器模块(nvdimn)。因为持久性存储器装置520具有有限的写入计数,所以持久性存储器装置520可能需要能够在提高耐久性的同时提高其寿命的损耗均衡技术。

通常,持久性存储器装置是按字节可寻址的,并且具有非常高的读取/写入延迟。为了确保这种特性,已经主要对作为持久性存储器装置的损耗均衡方法的代数方法或统计方法进行研究。这种方法认为,损耗均衡技术仅由硬件(h/w)逻辑实施,以便确保持久性存储器装置的低延迟。然而,基于代数方法或统计方法的损耗均衡技术通常表现出比以软件(s/w)方式实施的静态损耗均衡技术更低的效率和性能。

各个实施例提供了一种技术,其能够以软件方式执行一部分损耗均衡操作,同时基于持久性存储器的相对较高的写入耐久性来确保较高的读取/写入延迟。实施例可被应用于所有基于写入计数的损耗均衡方法。

图6是说明根据本公开的实施例的存储器控制器的框图。例如,图6的存储器控制器可作为如图5所示联接在主机102和持久性存储器装置520之间的控制器510。图5例示控制器510联接到持久性存储器装置520。然而,根据本实施例的损耗均衡操作可被应用于所有基于写入计数的损耗均衡方法。例如,根据本实施例的损耗均衡操作可被应用于包括nand型闪速存储器的所有存储器装置。

参照图6,存储器控制器510可包括存储器元件610、处理块620和控制单元630。

存储器元件610可包括元数据612和映射表614。在各个实施例中,存储器元件610可包括动态随机存取存储器(dram)。映射表614可存储存储器装置520的物理地址与存储器区域的逻辑地址之间的映射关系,该映射关系可在对包括诸如块的多个存储区域的存储器装置520的读取/写入操作期间利用来自主机102的读取/写入请求或命令来接收。在各个实施例中,用于存储器装置的映射表614可基于4kb块实施。元数据612可包括关于包括在存储器装置520中的每一个存储区域的信息。在各个实施例中,元数据612可包括基于通过对4kb块中的每一个执行写入计数操作而获得的结果的计数值。

处理块620可从主机102接收请求,并处理接收到的对存储器装置520的请求。在各个实施例中,处理块620可在根据可从主机102接收的对存储器装置520的读取或写入请求执行操作的同时执行损耗均衡操作。也就是说,处理块620可响应于对包括在存储器装置520中的块中的每一个的预设数量的写入请求而执行写入计数操作,并且基于块中的每一个的写入计数操作的结果执行损耗均衡操作。处理块620可主要由硬件部件实施,以便确保存储器装置520的较高的延迟。

处理块620可包括处理器622、信号发生器624、第一计数器626a、第二计数器626b、第一队列(queue)628a和第二队列628b。

处理器622可根据可从主机102接收的对存储器装置520的读取或写入请求来执行读取操作或写入操作。也就是说,当读取/写入请求从主机102被接收时,处理器622可通过参考存储器元件610的映射表614来确定存储器装置520的位置,即待执行读取/写入操作的位置。此外,处理器622可通过参考第二队列628b的搜索结果对需要交换的块执行交换操作。在各个实施例中,处理器622可在保持读取/写入操作之后执行交换操作。

第一计数器626a可响应于接收到的写入请求而执行计数操作。在各个实施例中,包括在存储器装置520中的块内的写入操作可以64b、256b和512b的各个单位执行,并且每当请求写入时,第一计数器626a可执行计数操作。每当第一计数器626a完成诸如64、256或512的预设数量的计数操作时,第二计数器626b可执行计数操作。计数器626a和626b可利用递增计数器或递减计数器来实施。当第一计数器626a利用递增计数器实施时,每当预设数量的计数操作被完成时,溢出就可能发生或由第一计数器626a引起。在这种情况下,第二计数器626b可响应于由第一计数器626a引起的溢出而执行计数操作。例如,每当请求写入时,第一计数器626a可执行计数操作,并且每当第一计数器626a完成诸如512次计数操作的预设数量的计数操作时,第二计数器626b可执行计数操作。因此,第二计数器626b可响应于512个写入请求执行计数操作。此后,以下将描述其中当第一计数器626a完成预设数量的计数操作时,第一计数器626a和第二计数器626b利用递增计数器实施并且发生溢出的示例。

第一队列628a可存储关于在包括在存储器装置520中的多个块之中的通过第二计数器626b执行的预设数量的计数操作的页面的信息。例如,信息可包括地址。在各个实施例中,第一队列628a可利用圆形队列来实施。

第二队列628b可存储关于在包括在存储器装置520中的多个块之中的用于损耗均衡操作而需交换的页面的信息。例如,信息可包括页面对的地址。信号发生器624可生成指示第一队列628a被更新的信号,例如中断信号。

控制单元630可执行检查需要交换的块的操作。也就是说,控制单元630可搜索第一队列628a和存储器元件610以检查用于损耗均衡操作而需交换的页面,并且响应于从处理块620接收的并指示第一队列628a被更新的信号,存储关于在第二队列628b中的被检查页面的信息。

根据本实施例,处理块620可使用两个分离的计数器626a和626b来执行写入计数操作。也就是说,每当第一计数器626a完成预设数量的计数操作时,第二计数器626b可执行写入计数操作。在各个实施例中,计数器626a和626b可利用递增计数器来实施。在这种情况下,每当因第一计数器626a完成预设数量的计数操作而发生溢出时,可更新第二计数器626b的写入计数值。例如,如图11所示,第一计数器626a可作为9位计数器以执行512计数操作,并且第二计数器626b可作为8位计数器以执256计数操作。第一计数器626a可执行512计数操作或从0至511的计数,并且第二计数器626b可执行256计数操作或从0至255的计数。此时,每当请求写入时,第一计数器626a可执行计数操作,并且每当第一计数器626a完成512次计数操作时,第二计数器626b可执行计数操作。因此,第二计数器626b可响应于512个写入请求执行计数操作。

当在写入操作期间第一计数器626a发生溢出时,处理块620的信号发生器624可生成中断信号,并将该中断信号传输至控制单元630。中断信号可指示存在写入计数值增加的块,并且接收中断信号的控制单元630可识别存在写入计数值增加的块。

第一队列628a可存储由第一计数器626a引起溢出的块的地址。控制单元630可基于被存储在第一队列628a中的信息来识别写入计数值增加的块。

控制单元630可识别写入计数值增加的块的地址,并且执行各种损耗均衡算法。控制单元630可直接访问存储器元件610,以便检查各个块的写入计数值。

第二队列628b可存储指示待交换的块的地址。控制单元630可执行损耗均衡算法,确定在适当时间将被交换的块,并将块的地址存储在第二队列628b中。当第二队列628b的交换信息被更新时,处理块620可在适当的时间临时保持读取/写入操作,并执行页面交换操作。因为损耗均衡的交换操作是公知的并且可以各种方式实施,因此在此省略对其的详细描述。当处理块620执行读取/写入操作时,控制单元630可执行软件损耗均衡操作。也就是说,根据本实施例的存储器系统500可具有对读取/写入路径并行执行损耗均衡操作的架构。

图7是说明根据本公开的实施例的包括持久性存储器装置的存储器系统的损耗均衡操作的流程图。图7的流程可由图6所示的控制器510执行。

参照图7,控制器510可在步骤710处响应于预设数量的写入请求来执行写入计数操作。控制器510可在步骤720处基于写入计数操作的结果执行损耗均衡操作。

图8是说明根据本公开的实施例的写入计数操作的流程图。图8的流程可由图6所示的处理块620执行。

参照图8,处理块620可在步骤810处检查写入请求是否被接收。当检查出写入请求被接收时,处理块620可在步骤820处增加第一计数器626a的计数值。

处理块620可在步骤830处检查第一计数器626a是否发生溢出。当检查出第一计数器626a发生溢出时,处理块620可在步骤840处增加第二计数器626b的计数值。处理块620可在步骤850处将指示第二计数器626b的计数值增加的相应的块信息存储在第一队列628a中。

处理块620可在步骤860处生成指示第一队列628a被更新的指示信号,并将该指示信号传输至控制单元630。

图9是说明根据本公开的实施例的交换信息存储操作的流程图。图9的流程可由图6所示的控制单元630执行。

参照图9,控制单元630可在步骤910处检查指示第一队列628a已被更新的信号是否被接收。当检查出指示第一队列628a已被更新的信号被接收时,控制单元630可在步骤920处搜索第一队列628a,并在步骤930处检查其写入计数值被改变的块。然后,控制单元630可在步骤940处搜索存储器元件610以检查所有块的写入计数值。

根据所有块的写入计数值的检查结果,控制单元630可在步骤950处检查是否需要交换操作。因为可以根据公知的损耗均衡操作以各种方式执行检查是否需要交换操作的操作,因此在此省略对其的详细描述。当检查出需要交换操作时,控制单元630可在步骤960处可将关于需要交换哪些块的信息存储在第二队列628b中。

图10是说明根据本公开的实施例的交换操作的流程图。图10的流程可由图6所示的处理块620来执行。

参照图10,处理块620可在步骤1010处检查第二队列628b的值是否被更新。当检查出第二队列628b的值被更新时,处理块620可在步骤1020处检查其是否为交换操作的特定时间点。因为可以根据公知的损耗均衡操作以各种方式执行检查其是否为交换操作的特定时间点的操作,因此在此省略对其的详细描述。当检查出其为交换操作的特定时间点时,处理块620可在步骤1030处保持读取/写入操作并执行交换操作。

图11是说明根据本公开的实施例的由存储器控制器执行的写入计数操作的示例的简图。图11的流程可由图6所示的控制器510执行。

参照图11,处理块620可在读取/写入操作(操作1110/1130)期间通过参考诸如dram的存储器元件610中的映射表614来确定待执行读取/写入操作的存储器装置520的位置。

在写入操作期间,处理块620可增加诸如时钟计数器的第一计数器626a。对被包括在存储器装置520中的诸如4kb块的每个块的写入操作可以64b、256b和512b的各个单位来执行。

每当生成写入请求时,处理块620可控制第一计数器626a以执行计数操作。例如,每当请求写入请求时,时钟计数器626a可增加计数值。

当在第一计数器626a增加之后发生溢出时,处理块620可将第二计数器626b的写入计数值增加1,并且将关于相应地址的信息存储在作为第一队列628a的时钟地址队列中。处理块620可生成中断信号,并将所生成的中断信号传输至控制单元630,以便通知控制单元630第一队列628a被更新(操作1120)。

例如,第一计数器626a可用作9位计数器,并且第二计数器626b可用作8位计数器。第一计数器626a可执行512计数操作或从0至511计数,并且第二计数器626b可执行256计数操作或从0至255计数。也就是说,第一计数器626a和第二计数器626b的组合可用作17位计数器。在这种情况下,每当请求写入时,第一计数器626a可执行计数操作,并且每当第一计数器626a完成512次计数操作时,第二计数器626b可执行计数操作。因此,第二计数器626b可响应于512个写入请求执行计数操作。

图12是说明根据本公开的实施例的由存储器控制器执行的交换操作的示例的简图。图12的流程可由图6所示的控制器510执行。

参照图12,控制单元630可通过例如图11的1120的中断来识别存在写入计数值被改变的块,并通过参考时钟地址队列628a的信息来识别写入计数值被改变的块。

控制单元630可识别写入计数值被改变的块,并且直接访问存储器元件例如dram610以参考所有物理块的写入计数值。因此,实施例可被应用于基于写入计数的任何损耗均衡算法。

控制单元630可执行未指定的损耗均衡算法,并且确定在特定时间点交换哪些块。在各个实施例中,虽然写入计数值被改变,但未必每次都确定交换目标。根据未指定的损耗均衡算法的结果,控制单元630可确定是否执行交换操作,并且可通过控制单元630中的算法来确定执行交换操作的时间点。

当控制单元630识别出需要交换操作时,控制单元630可将关于需要交换的块的页面的信息存储在用作第二队列628b的交换队列中(操作1210)。例如,信息可包括页面对的地址。

当第二队列628b的值被更新时,处理块620可临时保持在特定时间点执行的读取/写入操作(操作1220和1225),并执行块交换操作(操作1230)。在各个实施例中,执行块交换操作的时间点可根据处理块620中的流量或第二队列628b中的项目数量来确定。

本实施例提出了适于在包括具有较低写入延迟和较高写入耐久性的持久性存储器装置的系统中使用的软件损耗均衡方法。在每次写入时无需执行损耗均衡算法,存储器系统可基于持久性存储器具有长寿命的特性每当接收到预设数量的例如每次512个或1024个的写入请求时执行损耗均衡算法,从而确保控制单元可执行软件算法的执行时间。为了确保持久性存储器的较低延迟,控制单元可不参与读取/写入操作,而是仅接收写入计数器的更新信息。因此,因为读取/写入路径和损耗均衡操作路径被分离以并行地执行操作,因此可进一步确保软件算法的执行时间。本实施例可实施适于持久性存储器的软件损耗均衡方法。这种损耗均衡方法不仅可被应用于包括持久性存储器的存储器系统,还可被应用于基于写入计数值执行损耗均衡操作的任何存储器系统。

在下文中,将参照图13至图21更详细地描述提供有存储器系统110的数据处理系统和电子设备,该存储器系统110包括根据实施例的参照图1至图12描述的存储器装置150和控制器130。

图13至图21是示意性示出图1的数据处理系统的应用示例的简图。

图13是示意性说明包括根据本公开的实施例的存储器系统的数据处理系统的另一示例的简图。图13示意性说明应用根据实施例的存储器系统的存储卡系统。

参照图13,存储卡系统6100可包括连接器6110、存储器控制器6120和存储器装置6130。

更具体地,存储器控制器6120可被连接至通过非易失性存储器实施的存储器装置6130,并被配置成访问存储器装置6130。例如,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口并驱动用于控制存储器装置6130的固件。也就是说,存储器控制器6120可对应于参照图1和图5描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1和图5描述的存储器系统110的存储器装置150。

因此,存储器控制器6120可包括随机存取存储器(ram)、处理单元、主机接口、存储器接口和错误校正单元。存储器控制器6120可进一步包括图5所示的元件。

存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所述,存储器控制器6120可被配置成通过诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、高速pci(pcie)、高级技术附件(ata)、串行ata、并行ata、小型计算机系统接口(scsi)、增强型小型磁盘接口(edsi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、无线保真(wi-fi)以及蓝牙。因此,根据实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,或者特别是移动电子装置。

存储器装置6130可通过非易失性存储器来实施。例如,存储器装置6130可通过诸如以下的各种非易失性存储器装置来实施:可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、nand闪速存储器、nor闪速存储器、相变ram(pram)、电阻式ram(reram)、铁电ram(fram)以及自旋转移力矩磁性ram(stt-mram)。存储器装置6130可包括如图5的存储器装置150中的多个管芯。

存储器控制器6120和存储器装置6130可被集成至单个半导体装置中。例如,存储器控制器6120和存储器装置6130可通过被集成到单个半导体装置中来构造固态驱动器(ssd)。另外,存储器控制器6120以及存储器装置6130可构成诸如以下的存储卡:pc卡(例如:个人计算机存储卡国际协会(pcmcia))、标准闪存(cf)卡、智能媒体卡(例如,sm和smc)、记忆棒、多媒体卡(例如,mmc、rs-mmc、微型mmc和emmc)、sd卡(例如,sd、迷你sd、微型sd和sdhc)以及通用闪存(ufs)。

图14是示意性说明包括根据本公开的实施例的存储器系统的数据处理系统的另一示例的简图。

参照图14,数据处理系统6200可包括具有一个或多个非易失性存储器(nvm)的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。图14所示的数据处理系统6200可作为如参照图1所描述的诸如存储卡(例如,cf、sd、微型sd等)或usb装置的存储介质。存储器装置6230可对应于图1和图5所示的存储器系统110中的存储器装置150,并且存储器控制器6220可对应于图1和图5所示的存储器系统110中的控制器130。

存储器控制器6220可响应于主机6210的请求控制对存储器装置6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可包括中央处理器(cpu)6221、作为缓冲存储器6222的随机存取存储器(ram)、错误校正码(ecc)电路6223、主机接口6224以及作为存储器接口6225的nvm接口。

cpu6221可控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。ram6222可根据cpu6221的控制来操作且用作工作存储器、缓冲存储器或高速缓冲存储器。当ram6222用作工作存储器时,通过cpu6221处理的数据可被临时存储在ram6222中。当ram6222用作缓冲存储器时,ram6222可用于缓冲从主机6210传输到存储器装置6230的数据或从存储器装置6230传输到主机6210的数据。当ram6222用作高速缓冲存储器时,ram6222可辅助低速存储器装置6230以高速运行。

ecc电路6223可对应于图1所示的控制器130的ecc单元138。如参照图1所述,ecc电路6223可生成用于校正从存储器装置6230提供的数据的失效位或错误位的错误校正码。ecc电路6223可对提供给存储器装置6230的数据执行错误校正编码,从而形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ecc电路6223可对从存储器装置6230输出的数据执行错误校正解码。此时,ecc电路6223可使用奇偶校验位来校正错误。例如,如上参照图1所述,ecc电路6223可使用包括诸如以下的编码调制的任何适当的方法来校正错误:低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bose-chaudhri-hocquenghem,bch)码、涡轮码、里德-所罗门(rs)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)或分组编码调制(bcm)。

存储器控制器6220可通过主机接口6224向主机6210传输数据/接收来自主机6210的数据,并通过nvm接口6225向存储器装置6230传输数据/接收来自存储器装置6230的数据。主机接口6224可通过诸如以下的各种接口协议中的至少一种连接到主机6210:并行高级技术附件(pata)总线、串行高级技术附件(sata)总线、小型计算机系统接口(scsi)、通用串行总线(usb)、高速外围组件互连(pcie)或nand接口。存储器控制器6220可利用诸如无线保真(wifi)或长期演进(lte)的移动通信协议具有无线通信功能。存储器控制器6220可连接至外部装置,例如主机6210或另一个外部装置,然后向外部装置传输数据/接收来自外部装置的数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置通信,因此根据实施例的存储器系统和数据处理系统可被应用于有线/无线电子装置或特别是移动电子装置。

图15是示意性说明包括根据本公开的实施例的存储器系统的数据处理系统的另一示例的简图。图15示意性示出应用根据实施例的存储器系统的固态驱动器(ssd)6300。

参照图15,ssd6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1和图5的存储器系统110中的控制器130,并且存储器装置6340可对应于图1和图5的存储器系统中的存储器装置150。

更具体地,控制器6320可通过多个通道ch1至chi连接至存储器装置6340。控制器6320可包括处理器6321、缓冲存储器6325、错误校正码(ecc)电路6322、主机接口6324、以及作为存储器接口6326的非易失性存储器接口。

缓冲存储器6325可临时存储从主机6310提供的数据或从包括在存储器装置6340中的多个闪速存储器nvm提供的数据,或者临时存储多个闪速存储器nvm的元数据,例如,包括映射表的映射数据。缓冲存储器6325可由诸如动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、双倍数据速率(ddr)sdram、低功率双倍数据速率(lpddr)sdram和图形随机存取存储器(gram)的易失性存储器来实施,或者由诸如铁电随机存取存储器(fram)、电阻式随机存取存储器(reram)、自旋转移扭矩磁性随机存取存储器(stt-mram)和相变随机存取存储器(pram)的非易失性存储器来实施。为便于描述,图10示出缓冲存储器6325存在于控制器6320内部。然而,缓冲存储器6325可存在于控制器6320的外部。

ecc电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ecc值,在读取操作期间基于ecc值对从存储器装置6340读取的数据执行错误校正操作,并在失效数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。

主机接口6324可提供与诸如主机6310的外部装置的接口功能,并且非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。

此外,可提供应用了图1和图5的存储器系统110的多个ssd6300来实施数据处理系统,例如,独立磁盘冗余阵列(raid)系统。此时,raid系统可包括多个ssd6300和用于控制多个ssd6300的raid控制器。当raid控制器响应于从主机6310提供的写入命令执行编程操作时,raid控制器可根据多个raid级别,即,从主机6310提供的写入命令的raid级别信息,在ssd6300中选择一个或多个存储器系统或ssd6300,并将对应于写入命令的数据输出到选择的ssd6300。此外,当raid控制器响应于从主机6310提供的读取命令执行读取操作时,raid控制器可根据多个raid级别,即,从主机6310提供的读取命令的raid级别信息,在ssd6300中选择一个或多个存储器系统或ssd6300,并将从所选择的ssd6300读取的数据提供给主机6310。

图16是示意性说明包括根据本公开的实施例的存储器系统的数据处理系统的另一示例的简图。图16示意性说明应用了根据实施例的存储器系统的嵌入式多媒体卡(emmc)。

参照图16,emmc6400可包括控制器6430和通过一个或多个nand闪速存储器实施的存储器装置6440。控制器6430可对应于图1和图5的存储器系统110中的控制器130,并且存储器装置6440可对应于图1和图5的存储器系统110中的存储器装置150。

更具体地,控制器6430可通过多个通道连接至存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和诸如nand接口6433的存储器接口。

内核6432可控制emmc6400的全部操作,主机接口6431可提供控制器6430和主机6410之间的接口功能,并且nand接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可用作并行接口,例如参照图1所描述的mmc接口。此外,主机接口6431可用作诸如超高速等级1(uhs-i)/uhs等级2(uhs-ii)和通用闪存(ufs)接口的串行接口。

图17至图20是示意性说明包括根据本实施例的存储器系统的数据处理系统的其它示例的简图。图17至图20示意性地说明应用根据实施例的存储器系统的通用闪存(ufs)系统。

参照图17至图20,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至图5所示的存储器系统110来实施。例如,在ufs系统6500、6600、6700和6800中,ufs装置6520、6620、6720和6820可以参照图14至图16描述的数据处理系统6200、ssd6300或emmc6400的形式来实施,并且ufs卡6530、6630、6730和6830可以以参照图13描述的存储卡系统6100的形式来实施。

此外,在ufs系统6500、6600、6700和6800中,主机6510、6610、6710和6810,ufs装置6520、6620、6720和6820以及ufs卡6530、6630、6730和6830可通过ufs接口,例如,移动行业处理器接口(mipi)中的mipim-phy和mipi统一协议(unipro)彼此通信。此外,ufs装置6520、6620、6720和6820与ufs卡6530、6630、6730和6830可通过除ufs协议以外的各种协议,例如,usb闪存驱动器(ufd)、多媒体卡(mmc)、安全数字(sd)、迷你sd和微型sd彼此通信。

在图17所示的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处的链路层交换来彼此通信。在实施例中,为便于描述,已经例示了其中一个ufs装置6520和一个ufs卡6530连接至主机6510的配置。然而,多个ufs装置和ufs卡可并联或以星型形式连接至主机6510,并且多个ufs卡可并联或以星型形式连接至ufs装置6520,或者串联或以链型形式连接至ufs装置6520。

在图18所示的ufs系统6600中,主机6610、ufs装置6620和ufs卡6630中的每一个可包括unipro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过在unipro处执行链路层交换例如l3交换的交换模块6640,与ufs装置6620或ufs卡6630通信。ufs装置6620和ufs卡6630可通过unipro处的交换模块6640的链路层交换来彼此通信。在实施例中,为便于描述,已经例示了其中一个ufs装置6620和一个ufs卡6630连接至交换模块6640的配置。然而,多个ufs装置和ufs卡可并联或以星型形式连接至交换模块6640,并且多个ufs卡可串联或以链型形式连接至ufs装置6620。

在图19所示的ufs系统6700中,主机6710、ufs装置6720和ufs卡6730中的每一个可包括unipro,并且主机6710可通过执行交换操作的交换模块6740,例如,通过在unipro处执行链路层交换例如l3交换的交换模块6740,与ufs装置6720或ufs卡6730通信。此时,ufs装置6720和ufs卡6730可通过unipro处的交换模块6740的链路层交换来彼此通信,并且交换模块6740可在ufs装置6720内部或外部与ufs装置6720集成为一个模块。在实施例中,为便于描述,已经例示了其中一个ufs装置6720和一个ufs卡6730连接至交换模块6740的配置。然而,每个都包括交换模块6740和ufs装置6720的多个模块可并联或以星型形式连接至主机6710,或者串联或以链型形式彼此连接。此外,多个ufs卡可并联或以星型形式连接至ufs装置6720。

在图20所示的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交换来彼此通信。在实施例中,为便于描述,已经例示了其中一个ufs装置6820连接至主机6810且一个ufs卡6830连接至ufs装置6820的配置。然而,多个ufs装置可并联或以星型形式连接至主机6810,或串联或以链型形式连接至主机6810,并且多个ufs卡可并联或以星型形式连接至ufs装置6820,或串联或以链型形式连接至ufs装置6820。

图21是示意性说明包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的简图。图21是示意性说明应用了根据实施例的存储器系统的用户系统的简图。

参照图21,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。

更具体地,应用处理器6930可驱动包括在诸如os的用户系统6900中的组件,并且包括控制包括在用户系统6900中的组件的控制器、接口和图形引擎。应用处理器6930可作为片上系统(soc)被提供。

存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可包括诸如动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、双倍数据速率(ddr)sdram、ddr2sdram、ddr3sdram、低功率双倍数据速率(lpddr)sdram、lpddr2sdram和lpddr3sdram的易失性随机存取存储器,或者诸如相变随机存取存储器(pram)、电阻式随机存取存储器(reram)、磁性随机存取存储器(mram)和铁电随机存取存储器(fram)的非易失性随机存取存储器。例如,可基于堆叠式封装(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闪存的非易失性半导体存储器装置来实施,并且可被提供为诸如用户系统6900的存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于参照图1和图5描述的存储器系统110。此外,存储模块6950可被实施为如上参照图11至图20所述的ssd、emmc和ufs。

用户接口6910可包括用于向应用处理器6930输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(lcd)、有机发光二极管(oled)显示装置、有源矩阵oled(amoled)显示装置、发光二极管(led)、扬声器和电动机的用户输出接口。

此外,当图1和图5的存储器系统110应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作,并且网络模块6940可用作用于控制与外部装置的有线和/或无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过处理器6930处理的数据或支持从触摸面板接收数据的功能。

虽然为了说明的目的已经描述各个实施例,但是对于本领域技术人员将显而易见的是,在不脱离如所附权利要求中所限定的本发明的精神和范围的情况下,可进行各种其它实施例、改变和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1