执行地址映射表的纠错的存储器系统及其控制方法与流程

文档序号:14518922阅读:213来源:国知局
执行地址映射表的纠错的存储器系统及其控制方法与流程

本申请要求于2016年11月7日在韩国知识产权局提交的第10-2016-0147679号韩国专利申请的优先权,该韩国专利申请的公开内容通过引用全部包含于此。

与示例实施例一致的设备涉及一种半导体存储器装置,更具体而言,涉及一种执行地址映射表的纠错的存储器系统。



背景技术:

半导体存储器装置大致分为易失性存储器装置和非易失性存储器装置。易失性存储器装置的读写速度快,但是当电源中断时存储在其中的数据消失。相反,非易失性存储器装置即使外部电力中断也保留存储在其中的数据。因此,使用非易失性存储器装置来存储不管是否供应电力都要保留的信息。作为非易失性存储器,闪存在集成度上高于传统的eeprom,因此适用于高容量辅助存储装置。

因闪存的技术进步和有竞争力的价格,闪存正被用作用于替代硬盘驱动器(hdd)的存储介质。基于闪存的存储装置正在被制造以便用于固态驱动器、sd卡等中。存储装置包括用于控制闪存的控制器。

控制器包括管理主机中使用的逻辑地址和闪存中使用的物理地址的闪存转换层。闪存转换层管理用于将逻辑地址转换为物理地址的地址映射表。控制器可以对存储在存储装置中的数据执行错误检测和纠正。此外,控制器执行地址映射表的错误检测和纠正。



技术实现要素:

示例实施例提供一种对用于非易失性存储器装置的地址映射表快速地执行错误检测和纠正的存储器系统,其中,地址映射表存储在动态随机存取存储器中。

根据示例实施例的方面,提供一种存储器系统,该存储器系统包括非易失性存储器装置、被配置为存储用于访问非易失性存储器装置的地址映射表的动态随机存取存储器(dram)、以及控制器,控制器被配置为:将以地址映射数据为单元划分的地址映射表存储在dram中,每个单元具有dram的接口的大小;从存储的地址映射表读取与从主机接收的逻辑地址对应的目标地址映射数据,所述目标地址映射数据包括目标奇偶校验位和非易失性存储器装置的物理地址;以及使用目标奇偶校验位对读取的目标地址映射数据执行纠错。

根据示例实施例的另一个方面,提供一种存储器系统,该存储器系统包括非易失性存储器装置、被配置为存储用于访问非易失性存储器装置的地址映射表的dram、以及控制器,控制器被配置为:将以地址映射数据为单元划分的地址映射表存储在dram中,每个单元具有dram的接口的大小;以及通过对在存储的地址映射表之中的对应于访问的目标地址映射数据执行错误检测和纠正,来访问非易失性存储器装置,所述目标地址映射数据包括非易失性存储器装置的物理地址和对应于物理地址的目标奇偶校验位。

根据示例实施例的另一个方面,提供一种控制存储器系统的方法,所述存储器系统包括非易失性存储器装置和动态随机存取存储器(dram),所述方法包括:从主机接收请求以将由主机使用的逻辑地址转换为非易失性存储器装置的目标物理地址;从存储在dram中的多条地址映射数据读取与接收的请求的逻辑地址对应的目标地址映射数据,所述目标地址映射数据包括目标奇偶校验位和非易失性存储器装置的目标物理地址;使用目标奇偶校验位来纠正在读取的目标地址映射数据中包括的目标物理地址的错误;以及输出在纠正其错误后的目标物理地址之中的对应于所述逻辑地址的目标物理地址。

附图说明

图1是示出根据示例实施例的存储器系统的框图。

图2是示出根据示例实施例的映射表纠错电路的操作的框图。

图3是示出图2的映射表纠错电路的框图。

图4是示出根据示例实施例的一条地址映射数据的图。

图5是示出根据示例实施例的存储在dram中的地址映射表的图。

图6是示出根据示例实施例的地址转换操作的流程图。

图7是示出图6的地址转换操作的图。

图8是示出根据示例实施例的地址写入操作的流程图。

图9是示出图8的地址写入操作的图。

图10是示出根据示例实施例的固态驱动器(ssd)系统的框图。

图11是示出根据示例实施例的通用闪存(ufs)系统的框图。

具体实施方式

图1是示出根据示例实施例的存储器系统100的框图。参照图1,存储器系统100可以包括存储器控制器110、非易失性存储器装置120和动态随机存取存储器(dram)130。存储器系统100可以通过输入/输出端口来与主机交换数据。存储器系统100可以响应于从主机接收的写入或读取请求而将数据存储在非易失性存储器装置120中或从非易失性存储器装置120读取数据。

控制器110提供主机与存储器系统100之间的物理连接。即,控制器110可以按照主机的总线格式来提供主机与存储器系统100之间的接口。控制器110可以驱动固件以控制存储器系统100。控制器110可以包括中央处理单元(cpu)111、工作存储器112、非易失性存储器纠错电路(nvmecc)113、主机接口114、映射表纠错电路(mtecc)115和非易失性存储器接口116。

cpu111可以执行控制器110的整体操作。cpu111可以被配置为驱动用于控制控制器110的固件。固件可以在工作存储器112上加载并驱动。cpu111可以对从主机提供的指令进行解码。cpu111可以控制非易失性存储器纠错电路113、映射表纠错电路115和/或非易失性存储器接口116来执行包括在指令中的访问(例如,写入操作或读取操作)的命令。

用于控制控制器110的固件和数据存储在工作存储器112中。存储的固件和数据被cpu111驱动。工作存储器112可以包括高速缓存存储器装置、dram装置、相变ram(pram)装置和闪存装置中的任意一者或任意的组合。例如,闪存转换层ftl可以存储在工作存储器112中。

非易失性存储器装置120的读写操作可以以页为单元执行,其擦除操作可以以块为单元执行。由于非易失性存储器装置120的上述特性,管理非易失性存储器装置120的读取、写入和擦除操作。闪存转换层ftl是为了这样的目的而开发的系统软件(或固件)。闪存转换层ftl可以响应于从主机请求的访问(例如,读取或写入操作)来使非易失性存储器装置120操作。例如,闪存转换层ftl管理地址映射表amt,其中,地址映射表amt用于将主机中使用的逻辑地址和非易失性存储器装置120中使用的物理地址进行匹配。地址映射表amt可以存储在dram130中。闪存转换层ftl可以加载在工作存储器112上并且可以被cpu111驱动。

非易失性存储器纠错电路113可以在写入请求下通过对存储在dram130中的数据进行编码来生成纠错码(errorcorrectioncode)。在这种情况下,编码的数据和纠错码可以存储在非易失性存储器装置120中。非易失性存储器纠错电路113可以通过使用纠错码,对在读取请求下从非易失性存储器装置120读取的数据进行解码。这里,纠错码可以被包括在读取数据中。

主机接口114可以提供主机与存储器系统100之间的物理连接。即,主机接口114可以按照主机的总线格式提供主机与存储器系统100之间的接口。例如,主机的总线格式可以用诸如通用串行总线(usb)、多媒体卡(mmc)、外围组件互连(pci)、高速pci(pci-e)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机系统接口(scsi)、增强型小型硬盘接口(esdi)、电子集成驱动器(ide)协议等的各种接口协议来实现。

映射表纠错电路115可以控制dram130的读写操作。例如,映射表纠错电路115可以将从主机接收的写入数据临时存储在dram130中。此外,映射表纠错电路115可以将从非易失性存储器装置120读取的读取数据临时存储在dram130中。

映射表纠错电路115可以对存储在dram130中的地址映射表amt执行纠错操作。例如,闪存转换层ftl可以管理用于将主机中使用的逻辑地址与非易失性存储器装置120中使用的物理地址进行匹配的地址映射表amt。地址映射表amt可以用于将主机中使用的逻辑地址转换为非易失性存储器装置120中使用的物理地址。如果存储器系统100被供电,则地址映射表amt可以存储在非易失性存储器装置120中并且可以加载在dram130上。地址映射表amt的大小与非易失性存储器装置120的容量成正比地增大。地址映射表amt可以占用dram130的容量的80%。因此,管理地址映射表amt的错误,因此,针对地址映射表amt的纠错操作与存储在非易失性存储器装置120中的数据分开地执行。

映射表纠错电路115可以从cpu111接收地址转换请求或地址写入请求。例如,当cpu111从主机接收到读取存储在非易失性存储器装置120中的数据的请求时,cpu111可以将转换与主机的读取请求对应的逻辑地址的地址转换请求提供给映射表纠错电路115。当映射表纠错电路115接收到地址转换请求时,映射表纠错电路115可以通过使用地址映射表amt来获得非易失性存储器装置的与接收的逻辑地址对应的物理地址。在此情况下,映射表纠错电路115可以对地址映射表amt中的包括请求的物理地址的部分执行纠错操作。

当cpu111从主机接收到将数据写入非易失性存储器装置120或从非易失性存储器装置120擦除数据的请求时,cpu111可以将与对应于主机的写入或擦除请求的逻辑地址相关联的地址写入请求提供给映射表纠错电路115。当映射表纠错电路115接收到地址写入请求时,映射表纠错电路115可以将非易失性存储器装置的与接收的逻辑地址对应的物理地址改变为另一个物理地址,或者可以删除与该物理地址相关联的地址映射。在这种情况下,映射表纠错电路115可以对地址映射表amt中的包括请求的物理地址的部分执行纠错操作。

例如,映射表纠错电路115可以纠正1比特(bit)错误,并且可以检测2比特错误。映射表纠错电路115可以通过使用汉明码来纠错。然而,发明构思的示例实施例可以不限于此。

非易失性存储器接口116可以与非易失性存储器装置120交换数据。例如,非易失性存储器接口116可以将从dram130接收的数据提供给非易失性存储器装置120。从非易失性存储器装置120读取的数据可以通过非易失性存储器接口116存储在dram130中。

非易失性存储器装置120可以设置为存储器系统100的存储介质。例如,非易失性存储器装置120可以用高容量nand型闪存来实现。此外,非易失性存储器装置120的存储介质可以用pram、mram、reram、fram、nor闪存等来实现,包括异质(heterogeneous)存储器装置的存储器系统可以用作非易失性存储器装置120的存储介质。易失性存储器装置(例如,dram)可以作为存储介质被包括。

从主机提供的写入数据或者从非易失性存储器装置120读取的数据可以临时存储在dram130中。当主机发出读取请求时,如果非易失性存储器装置120中存在的数据被高速缓存,则dram130可以支持用于将高速缓存的数据直接提供给主机的高速缓存功能。在这种情况下,不会发生对非易失性存储器装置120的访问。通过主机的总线格式(例如,sata或sas)的数据传输速率远高于非易失性存储器装置120的存储器信道的数据传输速率。即,当主机的接口速度明显高时,因速度差而导致的性能降低可以通过提供高容量dram130而最小化。dram130可以是用作高容量辅助存储器装置的用于在存储器系统100中充分地缓冲的同步dram(sdram)。然而,本领域的技术人员清楚,dram130不限于此。

dram130可以存储地址映射表amt。例如,地址映射表amt可以用于将主机中使用的逻辑地址转换为非易失性存储器装置120中使用的物理地址。如果存储器系统100被供电,则地址映射表amt可以存储在非易失性存储器装置120中并且可以加载在dram130上。地址映射表amt的大小与非易失性存储器装置120的容量成正比地增大。地址映射表amt可以占用dram130的容量的80%。

根据发明构思的示例实施例,存储器系统100可以包括与非易失性存储器纠错电路113分开的映射表纠错电路115,其中,映射表纠错电路115对存储在dram130中并且被闪存转换层ftl管理的地址映射表amt执行纠错操作,非易失性存储器纠错电路113对存储在非易失性存储器装置120中的数据执行纠错操作。因此,存储器系统100可以检测和纠正用于操作非易失性存储器装置120的地址映射表amt的错误。这可以意味着存储器系统100确保访问非易失性存储器装置120的可靠性。

图2是示出根据示例实施例的映射表纠错电路115的操作的框图。参照图2,cpu111可以从主机接收访问非易失性存储器装置120的请求。例如,cpu111可以连同读取请求一起接收逻辑地址la。可选择地,cpu111可以连同写入请求一起接收逻辑地址la和物理地址pa。

当cpu111从主机接收到读取请求时,cpu111可以将接收的逻辑地址传输到映射表纠错电路115。映射表纠错电路115可以从dram130读取与接收的逻辑地址对应的地址映射(am)数据。映射表纠错电路115可以通过使用在地址映射数据中包括的奇偶校验位(parity),来对地址映射数据执行纠错操作。映射表纠错电路115可以在执行纠错操作之后,从地址映射数据获得对应于逻辑地址的物理地址,并且可以将获得的物理地址传输到cpu111。

例如,地址映射数据可以包括物理地址块(chunk)和奇偶校验位。物理地址块是非易失性存储器装置120的一组物理地址。奇偶校验位可以根据物理地址块而生成,并且可以与物理地址块一起被包括在一条地址映射数据中。作为示例实施例,地址映射数据的大小可以设定为与dram130的输入/输出接口的大小相同。此外,地址映射数据的大小可以设定为小于dram130的输入/输出接口的大小。然而,地址映射数据的大小不限于此。地址映射数据的大小可以根据示例实施例变化地设定。地址映射表amt可以包括多条地址映射数据。

当cpu111从主机接收到写入请求时,cpu111可以将接收的逻辑地址和新物理地址传输到映射表纠错电路115。映射表纠错电路115可以从dram130读取与接收的逻辑地址对应的地址映射数据。映射表纠错电路115可以通过使用在地址映射数据中包括的奇偶校验位,来对地址映射数据执行纠错操作。映射表纠错电路115可以在执行纠错操作之后,将与逻辑地址对应的物理地址改变为新物理地址。映射表纠错电路115可以生成与包括新物理地址的新物理地址块对应的新奇偶校验位。映射表纠错电路115可以组合新物理地址块和新奇偶校验位,并且可以将新地址映射数据存储在dram130中。映射表纠错电路115可以在先前的地址映射数据上覆写新地址映射数据。

图3是示出图2的映射表纠错电路115的框图。参照图3,映射表纠错电路115可以包括地址处理器115_1、映射表纠错编码器115_2和映射表纠错解码器115_3。

在对物理地址进行编码时,地址处理器115_1可以接收多个物理地址以生成物理地址块,或者可以在现有的物理地址块中替换接收的物理地址。映射表纠错编码器115_2可以生成与物理地址块对应的奇偶校验位。此外,映射表纠错编码器115_2可以组合物理地址块和奇偶校验位以生成地址映射数据。映射表纠错编码器115_2可以将生成的地址映射数据存储在dram130中。

在对物理地址进行解码时,映射表纠错解码器115_3可以从dram130读取与接收的逻辑地址对应的地址映射数据。映射表纠错解码器115_3可以将地址映射数据分为物理地址块和奇偶校验位。映射表纠错解码器115_3可以通过使用奇偶校验位对物理地址块执行纠错操作。映射表纠错解码器115_3可以纠正物理地址块的1比特错误,或者可以检测物理地址块的2比特错误。映射表纠错解码器115_3可以将纠错后的物理地址块传输到地址处理器115_1。地址处理器115_1可以从纠错后的物理地址块获得与接收的逻辑地址对应的物理地址。地址处理器115_1可以将获得的物理地址传输到cpu111。

在示例实施例中,物理地址和奇偶校验位中的每个可以具有4字节的大小。物理地址块可以包括7个物理地址,因此具有28字节的大小。地址映射数据由28字节的物理地址块和4字节的奇偶校验位组成,因此具有32字节的大小。32字节的大小可以与dram130的输入/输出接口的大小相同。这仅是示例,地址映射数据的大小可以随着dram130的输入/输出接口的大小而改变。此外,包括在一个物理地址块中的物理地址的数量可以是可变的。

图4是示出根据示例实施例的一条地址映射数据的图。参照图4,一条地址映射(am)数据可以包括第一物理地址pa1至第七物理地址pa7和奇偶校验位。例如,第一物理地址pa1至第七物理地址pa7可以构成一个物理地址(pa)块。第一物理地址pa1至第七物理地址pa7和奇偶校验位中的每个可以具有4字节的大小。因此,一条地址映射数据可以具有32字节的大小,与dram130的突发长度相同。即,dram130的输入/输出接口的大小为32字节。

在将dram130的地址0x0至0x1c分别分配给第一物理地址pa1至第七物理地址pa7和奇偶校验位parity之后,可以存储第一物理地址pa1至第七物理地址pa7和奇偶校验位。dram130的地址0x0至0x1c可以用作第一物理地址pa1至第七物理地址pa7和奇偶校验位的逻辑地址。

图5是示出根据示例实施例的存储在dram130中的地址映射表amt的图。参照图5,dram130可以存储地址映射表amt。例如,地址映射表amt可以以地址映射数据为单元存储。即,地址映射表amt可以包括第一地址映射数据amdata1至第n地址映射数据amdatan。第一地址映射数据amdata1至第n地址映射数据amdatan可以分别包括物理地址块pa块1至pa块n以及奇偶校验位parity1至parityn。

图6是示出根据示例实施例的地址转换操作的流程图。参照图6,可以在控制器110接收到读取请求时执行地址转换操作。

在操作s110中,映射表纠错电路115可以从cpu111接收转换逻辑地址的地址转换请求。例如,逻辑地址是从主机接收的地址。映射表纠错电路115可以从cpu111接收逻辑地址。

在操作s120中,映射表纠错电路115可以从dram130读取与逻辑地址对应的地址映射数据。例如,映射表纠错解码器115_3可以读取包括奇偶校验位的地址映射数据。

在操作s130中,映射表纠错电路115可以执行地址映射数据的纠错解码操作。例如,映射表纠错解码器115_3可以将地址映射数据分为物理地址块和奇偶校验位。映射表纠错解码器115_3可以通过使用奇偶校验位来检测和纠正物理地址块的错误。映射表纠错解码器115_3可以纠正1比特错误,并且可以检测2比特错误。可以将纠错后的物理地址块传输到地址处理器115_1。

在操作s140中,映射表纠错电路115可以输出与逻辑地址对应的物理地址。例如,地址处理器115_1可以从纠错后的物理地址块获得与逻辑地址对应的物理地址。地址处理器115_1可以将获得的物理地址传输到cpu111。

根据发明构思的示例实施例,控制器110可以在读取存储在dram130中的地址映射表amt时执行纠错操作。另外,地址映射表amt可以以由物理地址块和奇偶校验位组成的地址映射数据为单元存储。因此,控制器110可以通过一次读取操作对与逻辑地址对应的物理地址执行纠错操作。这可以意味着,控制器110确保地址映射表amt的可靠性,并且减少用于纠正地址映射表amt的错误的时间。

图7是示出图6的地址转换操作的图。参照图7,在操作1中,如果从cpu111接收到转换与第二物理地址pa2对应的逻辑地址的地址转换请求,则映射表纠错解码器115_3可以从dram130读取包括第一物理地址pa1至第七物理地址pa7和奇偶校验位parity的地址映射数据。在操作2中,映射表纠错解码器115_3可以将地址映射数据分为包括第一物理地址pa1至第七物理地址pa7的物理地址块和奇偶校验位。映射表纠错解码器115_3可以通过使用奇偶校验位来检测和纠正物理地址块的错误。在操作3中,地址处理器115_1从映射表纠错解码器115_3接收物理地址块。在操作4中,地址处理器115_1可以从物理地址块获得与接收的逻辑地址对应的第二物理地址pa2。

图8是示出根据示例实施例的地址写入操作的流程图。参照图8,当控制器110接收写入请求时,可以执行地址写入操作。

在操作s210中,映射表纠错电路115可以从cpu111接收逻辑地址和对应于逻辑地址的新物理地址。例如,因为非易失性存储器装置120不支持覆写功能,所以逻辑地址必须被映射到新物理地址,以将新的数据写入非易失性存储器装置120中。

在操作s220中,映射表纠错电路115可以从dram130读取与逻辑地址对应的第一地址映射数据。例如,映射表纠错解码器115_3可以读取包括先前的物理地址和第一奇偶校验位的第一地址映射数据。

在操作s230中,映射表纠错电路115可以执行第一地址映射数据的纠错解码操作。例如,映射表纠错解码器115_3可以将第一地址映射数据分为第一物理地址块和第一奇偶校验位。映射表纠错解码器115_3可以通过使用第一奇偶校验位来检测和纠正第一物理地址块的错误。映射表纠错解码器115_3可以纠正1比特错误,并且可以检测2比特错误。可以将纠错后的第一物理地址块传输到地址处理器115_1。

在操作s240中,映射表纠错电路115可以将先前的物理地址改变为新物理地址。例如,地址处理器115_1可以在第一物理地址块中通过用新物理地址来替换先前的物理地址而生成包括新物理地址的第二物理地址块。可以将第二物理地址块传输到映射表纠错编码器115_2。

在操作s250中,映射表纠错电路115可以执行包括新物理地址的第二地址映射数据的纠错编码操作。例如,映射表纠错编码器115_2可以生成与第二物理地址块对应的第二奇偶校验位。映射表纠错编码器115_2可以组合第二物理地址块和第二奇偶校验位,以生成第二地址映射数据。

在操作s260中,映射表纠错电路115可以将第二地址映射数据存储至dram130。例如,映射表纠错编码器115_2可以在第一地址映射数据上覆写第二地址映射数据。

根据发明构思的示例实施例,控制器110可以在改变存储在dram130中的地址映射表amt时执行纠错操作。当控制器110改变地址映射表amt时,控制器110可以在读取先前的地址映射数据之后生成新地址映射数据。可以在读取先前的地址映射数据时纠正地址映射表amt的错误。

图9是示出图8的地址写入操作的图。参照图9,在操作1中,映射表纠错电路115,即,地址处理器115_1,可以从cpu111接收与对应于第二物理地址pa2的逻辑地址和新第二物理地址pa2'相关联的地址写入请求。在操作2中,如果从cpu111接收与第二物理地址pa2对应的逻辑地址的地址写入请求,则映射表纠错解码器115_3可以从dram130读取包括第一物理地址pa1至第七物理地址pa7和第一奇偶校验位parity1的第一地址映射数据。在操作3中,映射表纠错解码器115_3可以将第一地址映射数据分为包括第一物理地址pa1至第七物理地址pa7的第一物理地址块和第一奇偶校验位。映射表纠错解码器115_3可以通过使用第一奇偶校验位来检测和纠正第一物理地址块的错误。在操作4中,地址处理器115_1从映射表纠错解码器115_3接收第一物理地址块。

在操作5中,地址处理器115_1可以从第一物理地址块去除第二物理地址pa2,并且将新第二物理地址pa2'插入第一物理地址块以生成第二物理地址块。在操作6中,地址处理器115_1可以将包括新第二物理地址pa2'的第二物理地址块提供给映射表纠错编码器115_2。在操作7中,映射表纠错编码器115_2可以基于第二物理地址块生成第二奇偶校验位parity2。映射表纠错编码器115_2可以组合第二物理地址块和第二奇偶校验位以生成第二地址映射数据。在dram130中,可以在第一地址映射数据上覆写生成的第二地址映射数据。

图10是示出根据示例实施例的固态驱动器(ssd)系统1000的框图。参照图10,ssd系统1000可以包括主机1100和ssd1200。ssd1200可以包括ssd控制器1210、缓冲存储器1220和非易失性存储器装置1230。

ssd控制器1210可以提供主机1100与ssd1200之间的物理连接。即,ssd控制器1210可以按照主机的总线格式提供主机1100与ssd1200之间的接口。ssd控制器1210可以对从主机1100提供的指令进行解码。ssd控制器1210可以基于解码的结果访问非易失性存储器装置1230。主机的总线格式可以包括通用串行总线(usb)、小型计算机系统接口(scsi)、高速pci、高级技术附件(ata)、并行ata(pata)、串行ata(sata)、串列scsi(sas)等。

另外,ssd控制器1210可以包括参照图1至图9描述的映射表纠错电路115。因此,ssd控制器1210可以通过一次读取操作对存储在缓冲存储器1220中的地址映射表执行纠错操作。

缓冲存储器1220可以临时存储从主机1100提供的写入数据,或从非易失性存储器装置1230读取的数据。当主机1100发出读取请求时,如果非易失性存储器装置1230中存在的数据被高速缓存,则缓冲存储器1220可以支持用于将高速缓存的数据直接提供给主机1100的高速缓存功能。通过主机的总线格式(例如,sata或sas)的数据传输速率远高于ssd1200的存储器信道的数据传输速率。即,当主机的接口速度明显高时,因速度差而导致的性能降低可以通过提供高容量缓冲存储器1220而最小化。另外,缓冲存储器1220可以存储非易失性存储器装置1230的地址映射表。

缓冲存储器1220可以是用作高容量辅助存储器装置的用于在ssd1200中充分地缓冲的sdram。然而,本领域的技术人员清楚,缓冲存储器1220不限于此。

非易失性存储器装置1230nvm_1至nvm_n可以设置为ssd1200的存储介质。例如,非易失性存储器装置1230可以用高容量nand型闪存来实现。非易失性存储器装置1230可以通过多条信道ch1至chn来与ssd控制器1210连接。示例实施例举例说明为,非易失性存储器装置1230利用nand闪存作为存储介质来实现。然而,发明构思的示例实施例可以不限于此。例如,非易失性存储器装置1230可以利用与nand闪存不同的非易失性存储器装置来实现。例如,非易失性存储器装置1230的存储介质可以利用pram、mram、reram、fram和nor闪存等来实现,包括不同类型的存储器装置的存储器系统可以用作非易失性存储器装置1230的存储介质。易失性存储器装置(例如,dram)可以作为存储介质被包括。

图11是示出根据示例实施例的通用闪存(ufs)系统2000的框图。参照图11,ufs系统2000可以包括ufs主机2100和ufs装置2200。

ufs主机2100可以包括应用2110、装置驱动器2120、主机控制器2130和缓冲ram2140。主机控制器2130可以包括命令(cmd)队列2131、主机dma(directmemoryaccess)2132和电源管理器2133。命令队列2131、主机dma2132和电源管理器2133可以作为主机控制器2130中的算法、软件或固件来操作。

在ufs主机2100的应用2110和装置驱动器2120中生成的命令(例如,写入命令)可以输入到主机控制器2130的命令队列2131。命令队列2131可以按顺序存储要提供给ufs装置2200的命令。存储在命令队列2131中的命令可以提供给主机dma2132。主机dma2132可以通过主机接口(i/f)2101将命令发送到ufs装置2200。

继续参照图11,ufs装置2200可以包括闪存2210、装置控制器2230和缓冲ram2240。装置控制器2230可以包括cpu2231、命令管理器2232、闪存dma2233、安全管理器2234、缓冲管理器2235、闪存转换层(ftl)2236和闪存管理器2237。这里,命令管理器2232、安全管理器2234、缓冲管理器2235、闪存转换层2236和闪存管理器2237可以作为装置控制器2230中的算法、软件或固件来操作。

从ufs主机2100输入到ufs装置2200的命令可以通过装置接口2201提供给命令管理器2232。命令管理器2232可以解释来自ufs主机2100的命令,并且可以通过使用安全管理器2234来验证输入命令。命令管理器2232可以通过缓冲管理器2235来分配缓冲ram2240以接收数据。如果命令管理器2232准备好传输数据,则命令管理器2232将rtt(ready_to_transfer)upiu传输到ufs主机2100。

缓冲管理器2235可以包括参照图1至图9描述的映射表纠错电路115。因此,缓冲管理器2235可以通过一次读取操作对存储在缓冲ram2240中的地址映射表执行纠错操作。

ufs主机2100可以响应于rttupiu将数据传输到ufs装置2200。数据可以通过主机dma2132和主机接口2101传输到ufs装置2200。ufs装置2200可以通过缓冲管理器2235将所提供的数据存储在缓冲ram2240中。存储在缓冲ram2240中的数据可以通过闪存dma2233提供给闪存管理器2237。另外,缓冲ram2240可以存储地址映射表。闪存管理器2237可以通过闪存转换层2236参照地址映射表将数据存储在闪存2210的选择的地址处。

如果针对命令的数据传输和编程完成,则ufs装置2200通过接口将响应信号传输到ufs主机2100,并且可以提供命令完成的通知。ufs主机2100可以将与响应信号对应的命令是否完成通知给装置驱动器2120和应用2110,并且可以结束对应于所述对应的命令的操作。

根据发明构思的示例性实施例,存储器系统对存储在dram中并且用于非易失性存储装置的地址映射表执行错误检测和纠正,从而确保可靠性。此外,存储器系统可以通过一次读取操作来对地址映射表快速地执行错误检测和纠正。

如在发明构思的领域中传统的,依据功能块、单元和/或模块描述并在附图中示出了实施例。本领域技术人员将理解,这些块、单元和/或模块通过可以使用基于半导体的制造技术或其他制造技术形成的电子(或光学)电路(诸如逻辑电路、分立组件、微处理器、硬布线电路、存储器元件、布线连接等)来物理地实现。在块、单元和/或模块通过微处理器或类似组件来实现的情况下,可以使用软件(例如,微代码)来对这些块、单元和/或模块进行编程以执行这里讨论的各种功能,并且可以通过固件和/或软件可选地驱动这些块、单元和/或模块。可选择地,每个块、单元和/或模块可以通过专用硬件来实现,或者实现为执行一些功能的专用硬件和执行其他功能的处理器(例如,一个或更多个编程的微处理器和相关联的电路)的组合。此外,在不脱离发明构思的范围的情况下,示例实施例的每个块、单元和/或模块可以物理上分成两个或更多个相互作用且离散的块、单元和/或模块。此外,在不脱离发明构思的范围的情况下,示例实施例的块、单元和/或模块可以被物理地组合成更复杂的块、单元和/或模块。

虽然已经参照实施例描述了发明构思,但是对本领域技术人员将明显的是,在不脱离发明构思的精神和范围的情况下,可以做出各种改变与修改。因此,可以理解,以上实施例不是限制性的,而是说明性的。

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