数据存储装置及其操作方法与流程

文档序号:11409497阅读:373来源:国知局
数据存储装置及其操作方法与流程

相关申请的交叉引用

本申请根据美国法典第35卷119条规定要求于2016年2月24日提交的申请号为10-2016-0021928的韩国专利申请的优先权,其全文通过引用并入本文。

各个实施例通常涉及包括非易失性存储器装置作为存储介质的数据存储装置。



背景技术:

最近,用于计算机环境的范例已经转变至可随时随地使用的普适计算系统。由于该事实,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。通常,这些便携式电子装置通常使用采用存储器装置的数据存储装置。数据存储装置被用于存储待被在便携式电子装置中使用的数据。

由于使用存储器装置的数据存储装置没有移动部件,所以其具有优良的稳定性和可靠性、高信息存取速度以及低功耗的优点。具有这些优点的数据存储装置的示例包括通用串行总线(usb)存储器装置、具有各种接口的存储卡、通用闪速存储器(ufs)以及固态驱动器(ssd)。



技术实现要素:

各个实施例涉及包括存储器装置的数据存储装置,数据存储装置呈现提升的写入速度。

在实施例中,数据存储装置可以包括非易失性存储器,其包括被分为第一区域和第二区域的存储器单元区;以及控制器,其被配置为根据外部设备的写入请求控制非易失性存储器的编程操作,其中控制器在提供数据之前向非易失性存储器提供温度补偿关闭命令、向非易失性存储器提供命令数据的编程的编程命令和第一区域的地址,并且其中,当根据用于命令数据的编程的编程命令编程对应于第一区域的地址的存储器单元内的数据时,非易失性存储器省略了根据温度变化改变待被应用于存储器单元的编程验证操作的温度补偿操作。

在实施例中,用于操作包括有包括被分为第一区域和第二区域以及温度传感器的非易失性存储器和用于控制非易失性存储器的控制器的数据存储装置的方法可以包括:在第一区域内执行存储外部设备写入请求的数据的缓冲区编程操作,并且传输写入请求的响应至外部设备;并且在空闲时间期间,执行将第一区域内的数据移动至第二区域并存储在第二区域内的主编程操作,其中当执行缓冲区编程操作时,执行根据温度变化改变待被应用于存储器单元的编程验证电压的温度补偿操作被省略,并且当执行主编程操作时其被执行。

根据实施例,数据存储装置的写入速度可以被提升。

附图说明

图1是示出根据本发明的实施例的数据存储装置的框图。

图2是示出图1所示的根据本发明的实施例的非易失性存储器装置的缓冲区编程操作的流程图。

图3是示出图1所示的根据本发明的实施例的非易失性存储器装置的主编程操作的流程图。

图4是示出图1所示的根据本发明的实施例的非易失性存储器装置的示例性配置的框图。

图5和图6是示出根据本发明的实施例的存储器单元的阈值电压分布的示例的简图。

图7是示出图1所示的根据本发明的实施例的非易失性存储器装置的温度补偿操作的简图。

图8是示出根据本发明的实施例的包括数据存储装置的数据处理系统的框图。

图9是示出根据本发明的实施例的包括固态驱动器(ssd)的数据处理系统的框图。

图10是示出图9所示的根据本发明的实施例的ssd控制器的示例性配置的框图。

图11是示出根据本发明的实施例的包括数据存储装置的计算机系统的框图。

具体实施方式

在本发明中,阅读以下结合附图的示例性实施例之后,优点、特征及获得它们的方法将会更加显而易见。然而,本发明可以以不同的形式被呈现并且不应该将其限制为本文提出的实施例。而是,提供这些实施例以充分详细地描述本发明使得本领域技术人员能够实施本发明。

在此将要理解的是,本发明的实施例并不限于附图中所示的细节并且附图不必需成比例,并且在一些实例中,比例可以被放大从而更清楚地描述本发明的某些特点。虽然本文使用了特定的术语,应当注意的是,本文所使用的术语只是为了描述特定的实施例,并不是为了限制本发明的范围。

如本文所使用的术语“和/或”包括相关的所列项目的一个或多个的任意或全部组合。将理解的是,当一个元件被称作为“在...上”、被“连接至”或“联接至”另一个元件时,其可以直接在另一个元件上、直接连接至或联接至另一个元件,或者可能存在一个或多个中间元件。此外,也将被理解的是,当一个元件被称作为在两个元件“之间”时,其可以是在这两个元件之间的仅有的元件,或者也可以存在一个或多个中间元件。如本文所使用的,除非上下文清楚地表明,否则单数形式也旨在包括复数形式。将进一步理解的是,在本说明书中使用的术语“包含”、“包含了”、“包括”和“包括了”,表明至少一个所述特点、步骤、操作和/或元件的存在,但并不排除一个或多个其它特点、步骤、操作和/或元件的存在或添加。

在下文中,数据存储装置及其操作方法将会在以下通过各个实施例的示例并参考附图在描述。

现在参考图1,提供了根据本发明的实施例的数据存储装置100。

数据存储装置100可以存储待被诸如例如移动电话、mp3播放器、膝上型电脑、台式电脑、游戏机、tv、车载信息娱乐系统等的主机装置(未示出)存取的数据。数据存储装置100也可以被称为存储器系统。

数据存储装置100可以根据与主机装置电联接的接口的协议被制造为各种数据存储装置中的任一种。例如,数据存储装置100可以被配置为诸如固态驱动器、mmc形式的多媒体卡、嵌入式mmc(emmc)、多媒体卡(rs-mmc)和微型-mmc、sd形式的安全数字卡、迷你-sd和微型-sd、通用串行总线(usb)存储装置、通用闪速存储器(ufs)装置、个人计算机存储卡国际协会(pcmcia)卡类型存储装置、外围组件互连(pci)卡类型存储装置、高速pci(pci-e)卡类型存储装置、标准闪存(cf)卡、智能媒体卡、记忆棒等的各种数据存储装置中的任意一种。

数据存储装置100可以被制造为诸如堆叠封装(pop)、系统级封装(sip)、系统级芯片(soc)、多芯片封装(mcp)、板上芯片(cob),晶圆级制造封装(wfp)和晶圆级堆叠封装(wsp)的各种封装中的任意一种。

数据存储装置100可以包括控制器200和非易失性存储器装置300。控制器200可以包括控制单元210和随机存取存储器230。

控制单元210可以控制控制器200的一般操作。例如,控制单元210可以分析并处理从主机装置接收的信号、命令或请求。控制单元210可以解码并驱动加载到随机存取存储器230上的固件或软件。控制单元210可以以硬件的形式或硬件和软件结合的形式被实现。随机存取存储器230可以存储待被控制单元210驱动的固件或软件。并且,随机存取存储器230可以存储固件或软件的驱动所需的数据,诸如例如地址映射信息的管理数据。随机存取存储器230可以作为控制单元210的工作存储器来操作。随机存取存储器230可以作为数据缓冲存储器或数据高速缓冲存储器来操作。例如,随机存取存储器230可以临时存储待被从主机装置传输到非易失性存储器装置300或从非易失性存储器装置300传输到主机装置的数据。

非易失性存储器装置300可以作为数据存储装置100的存储介质来操作。非易失性存储器装置300可以是或包括非易失性存储器装置中的任一种,例如nand闪速存储器装置、nor闪速存储器装置、使用铁电电容的铁电随机存取存储(fram)、使用隧道磁阻(tmr)层的磁性随机存储器、使用硫系合金的相变随机存取存储器(pcram)以及使用过渡金属氧化物的电阻随机存取存储器(reram)。铁电随机存取存储器(fram)、磁性随机存取存储器(mram)、相变随机存取存储器(pcram)以及电阻随机存取存储器(reram)为能够随机访问存储器单元的非易失性随机存取存储器。非易失性存储器装置300可以是或包括nand闪速存储器装置与上述非易失性随机存取存储器装置中的任一个的结合。

非易失性存储器装置300可以包括存储器单元区310、控制逻辑360以及温度传感器370。

存储器单元区310可以被分为第一区域311和第二区域313。第一区域311和第二区域313中的每一个可以包括多个存储器单元。每一个存储器单元可以是或包括能够存储1位数据的单层单元(slc)。slc可以被擦除以具有擦除状态的阈值电压或可以被编程以具有对应于编程状态的阈值电压。每一个存储器单元可以是或包括能够存储2或更多位数据的多层单元(mlc)。mlc可以被擦除以具有擦除状态的阈值电压或者可以被编程以具有对应于多个编程状态的任一个的阈值电压。

例如,包括在第一区域311内的每一个存储器单元可以存储1位数据,包括在第二区域313内的每一个存储器单元可以存储2位或更多为数据。还例如,包括在第一区域311内的每一个存储器单元可以存储2位数据,包括在第二区域313内的每一个存储器单元可以存储3或更多位数据。即,包括在第一区域311内的存储器单元的存储容量可以小于包括在第二区域313内的存储器单元的存储容量。

即,第一区域311和第二区域313可以是或包括不同类型的形成混合存储器装置的存储器装置。混合存储器装置(310)可以包括slc和mlc二者并选择性地以slc和mlc方案中的其中一个来操作。例如,第一区域311可以是或包括slc存储器装置,并且第二区域313可以是或包括mlc存储器装置。在该示例中,第一区域311可以以slc方案操作,并且第二区域313可以以mlc方案操作。

由于包括在第一区域311内的存储器单元的存储容量小于包括在第二区域313内的存储器单元的存储容量,因此包括在第一区域311内的存储器单元的编程速度可以大于包括在第二区域313内的存储器单元的编程速度。本发明的实施例利用了第一区域311和第二区域313的这个单元特征。

根据本发明的实施例,控制器200可以通过将由自主机装置提供的的编程命令的写入数据存储到第一区域311内以向第一区域311执行缓冲区编程操作(在图1中以“bp”表示),同时控制器200可以通过将数据从第一区域311移动至第二区域313以向第二区域313执行主编程操作(在图1中以“mp”表示)。由于第一区域311和第二区域313之间的存储器单元的编程速度存在差异,缓冲区编程操作可以比主编程操作更快。

在响应于编程命令的向第一区域311的缓冲区编程操作完成之后,控制器200可以向主机装置报告编程操作的完成以作为写入请求的响应。将响应传输至主机装置的写入请求之后,控制器200可以通过读取来自第一区域31写入数据并将写入数据编程至第二区域313内以执行主编程操作至第二区域313。例如,在没有来自主机装置的请求的空闲时间内,控制器200可以通过将写入数据从第一区域311移动至第二区域313以执行主编程操作。通过缓冲区编程操作和主编程操作将写入数据存储在非易失性存储器装置300内,使得从主机装置接收的写入请求可以被更快处理,因为主机装置在缓冲区编程操作至第一区域311完成之后接收编程操作完成的报告,对于第一区域311而言,其编程速度快于第二区域313的编程速度。

进一步地,第一区域311的每个存储器单元(slc)的较小的存储容量保证了第一区域311内的存储器单元的更高的可靠性。即使存储器单元不可以被精确地编程到第一区域311内,具有较小的存储容量的存储器单元的可靠性仍可以被确保。此外,由于非易失性存储器装置300的温度变化,通过不在第一区域311而仅在第二区域内执行温度补偿操的控制器200,可以获得缓冲区编程操作至第一区域311的速度的进一步增长。相比于第二区域313的第一区域311的固有的较高的可靠性使这成为可能。

图2是示出了非根据本发明的实施例的非易失性存储器装置300的缓冲区编程操作的流程图。

参考图1和图2,在步骤s110中,非易失性存储器装置300的缓冲区编程操作包括提供温度补偿关闭命令。例如,控制器200可以向非易失性存储器装置300提供温度补偿关闭命令。温度补偿关闭命令可以是用于控制温度补偿操作的特殊命令,以便其可以不在易失性存储器300内部被执行。

在步骤s120中,缓冲区编程操作可以进一步包括禁用温度传感器并将温度补偿操作设置为关闭。例如,非易失性存储器装置300的控制逻辑360可以响应于温度补偿关闭命令来禁用温度传感器370。如果温度传感器370被禁用,则在接下来的缓冲区编程操作期间,用于测量温度的操作可以不被执行,因此,用于测量温度的资源可以不被消耗。此外,非易失性存储器装置300的控制逻辑360可以响应于温度补偿关闭命令来将温度补偿操作设置为“关闭”。如果温度补偿操作被设置为“关闭”,则温度补偿操作在接下来的缓冲区编程操作期间可以不被执行。

在步骤s130中,缓冲区编程操作进一步包括提供编程命令、第一区域的地址和数据(写入数据)。例如,控制器200可以向非易失性存储器装置300提供编程命令、第一区域311的地址以及写入数据。

在步骤s140中,缓冲区编程操作进一步包括在对应于第一区域的地址的存储器单元内编程写入数据。例如,非易失性存储器装置300的控制逻辑360响应于编程命令和第一区域311的地址,可以通过将写入数据存储在第一区域311内为第一区域311执行缓冲区编程操作。在缓冲区编程操作期间,温度测量操作和温度补偿操作可以被省略。因此,由于在缓冲区编程操作省略了温度测量操作和温度补偿操作,编程操作可以被更快执行。

图3是示出了根据本发明的实施例的非易失性存储器装置300的主编程操作的流程图。

参考图1和图3,在步骤s210中,主编程操作可以包括提供读取命令和第一区域的地址。例如,控制器200可以将读取命令和第一区域311的地址提供给非易失性存储器装置300。由控制器200的这种控制可以被执行以将存储在第一区域311内的写入数据读取出来。

在步骤s220中,主编程操作可以进一步包括响应于读取命令来读取出存储在存储器单元内的数据和第一区域的地址。例如,非易失性存储器装置300的控制逻辑360可以将第一区域311的写入数据读取出,并可以向控制器200提供该读取出的数据。

在步骤s230中,主操作可以进一步包括提供编程命令、第二区域的地址以及写入数据。例如,控制器200可以提供编程命令、第二区域313的地址以及写入数据,在步骤s220中其从第一区域311被读取出至非易失性存储器装置300。

在步骤s240中,主编程操作可以进一步包括将写入数据编程至对应于第二区域的地址的存储器单元内。例如,响应于编程命令和第二区域313的地址,非易失性存储器装置300的控制逻辑360可以将被提供的写入数据编程至第二区域313内。当主编程操作被执行时,控制逻辑360通过温度传感器370可以比较测量的温度与参考温度,并基于比较结果,可以正常执行补偿温度变化的温度补偿操作。

如上参考图2和图3所描述,当缓冲区编程操作被执行时,温度测量和温度补偿操作不被执行。仅在主编程操作被执行时温度测量和补偿操作可以被正常执行。与在第二区域的存储器单元相比,缓冲区操作可以比在第一区域内采用的存储器单元的较低水平位容量的主编程操作被更快执行。此外,通过仅当主编程操作被执行时执行温度测量和温度补偿,缓冲区编程操作甚至可以被更快地执行。

图4是示出了根据本发明的实施例的非易失性存储器装置300的示例性配置的框图。

参考图4,非易失性存储器装置300可以包括存储器单元区310、行解码器320、数据读取/写入块330、列解码器340、电压发生器350、控制逻辑360以及温度传感器370。在非易失性存储器装置300的描述中,尽管术语“写入”可以被使用,应注意的是,术语“写入”与术语“编程”具有相同的意义。

存储器单元区310可以被分为第一区域311和第二区域313。第一区域311可以包括被安排在字线wl2m至wlm+1和位线bl1至bln彼此互相交叉的区域内的存储器单元mc。第二区域313可以包括被安排在字线wlm至wl1和位线bl1至bln彼此互相交叉的区域内的存储器单元mc。第一区域311和第二区域313的存储器单元可以被诸如例如作为擦除单元的存储块和作为编程与读取单元的页面的存取单元分组。

第一区域311和第二区域313可以形成分别包含slc和mlc的混合存储器单元区。

行解码器320可以通过字线wl1至wl2m被联接至存储器单元区310。行解码器320可以根据控制逻辑360的控制而操作。行解码器320可以解码由外部设备(未示出)提供的地址。行解码器320可以基于解码结果选择并驱动字线wl1至wl2m。例如,行解码器320可以将由电压发生器350提供的字线电压提供给字线wl1至wl2m。

数据读取/写入块330可以通过位线bl1至bln被联接至存储器单元区310。数据读取/写入块330可以包括分别对应于位线bl1至bln的读取/写入电路rw1至rwn。数据读取/写入块330可以根据控制逻辑360的控制进行操作。数据读取/写入块330根据操作模式可以作为写入驱动器或读出放大器来操作。例如,数据读取/写入块330可以作为用于存储由外部设备提供的数据的写入驱动器来在存储器单元310内的写入操作中操作。对于另一个示例,数据读取/写入块330可以作为用于从存储器单元区310读取出数据的读出放大器来在读取操作中操作。

列解码器340可以根据控制逻辑360的控制来操作。列解码器340可以解码由外部设备提供的地址。基于解码的结果,列解码器340可以将分别对应于位线bl1至bln的数据读取/写入块330的读取/写入电路rw1至rwn与数据输入/输出线(或数据输入/输出缓冲区)联接。

电压发生器350可以产生待被用于非易失性存储器装置300的内部操作的电压。由电压发生器350产生的电压可以被应用于存储器单元区310的存储器单元。例如,编程电压或在编程操作中产生的编程验证电压可以被应用于其中编程操作待被执行的存储器单元的字线。对于另一个示例,在擦除操作中产生的擦除电压可以被应用于其中擦除操作待被执行的存储器单元的阱区。还对于另一个示例,在读取操作中产生的读取电压可以被应用于其中读取操作待被执行的存储器单元的字线。

控制逻辑360可以控制非易失性存储器装置300的一般操作,例如,基于由外部设备提供的控制信号。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取、编程和擦除操作中的至少一个。

在温度补偿关闭命令被提供的情况下,控制逻辑360可以禁用温度传感器370、省略温度补偿操作并执行接下来的缓冲区编程操作。控制逻辑360可以根据通过温度传感器370测量的温度变化来控制编程操作。例如,控制逻辑360可以比较测量的温度与参考温度,并可以基于对比的结果来执行补偿温度变化的编程操作。补偿温度变化的编程操作(即,温度补偿操作)将会参考图7被详细描述。

图5是示出了根据本发明的实施例的存储器单元的阈值电压分布的简图。在示例中,其中包括在图4的第一区域311内的存储器单元是slc,如图5所示,存储器单元可以被擦除以具有擦除状态e的阈值电压,并可以被编程以具有编程状态p的阈值电压。

在读取操作中,具有位于擦除状态e和编程状态p之间的电压电平的读取电压vrd_p可以被应用于存储器单元。如果读取电压vrd_p被应用,具有擦除状态e的阈值电压的存储器单元可以被区分为存储数据“1”的开启单元,并且具有编程状态p的阈值电压的存储器单元可以被区分为存储数据“0”的关闭单元。

在编程操作中,为了确定存储器单元编程是否完成,具有高于读取电压vrd_p的电压电平的编程验证电压vvf_p可以被应用于存储器单元。如果编程验证电压vvf_p被应用,具有低于编程验证电压vvf_p的阈值电压的存储器单元可以被区分为存储数据“1”的开启单元,即编程未完成的存储器单元,并且具有高于编程验证电压vvf_p的阈值电压的存储器单元可以被区分为存储数据“0”的关闭单元,即编程已完成的存储器单元。

图6是示出根据本发明的实施例的存储器单元的阈值电压分布的简图。在示例中,其中包括在图4的第二区域313内的存储器单元为2位多层单元(mlc),如图6所示,存储器单元可以被擦除以具有擦除状态e的阈值电压,并可以被编程以具有多个编程状态p1、p2和p3中的任意一个的阈值电压。

在读取操作中,具有位于擦除状态e和第一编程状态p1之间的电压电平的第一读取电压vrd_p1、具有位于第一编程状态p1和第二编程状态p2之间的电压电平的第二读取电压vrd_p2和具有位于第二编程状态p2和第三编程状态p3之间的电压电平的第三读取电压vrd_p3中的任一个可以被应用于存储器单元。

如果第二读取电压vrd_p2被应用,则具有擦除状态e和第一编程状态p1的阈值电压的存储器单元可以被区分为存储lsb数据“1”的开启单元,并且具有第二编程状态p2和第三编程状态p3的阈值电压的存储器单元可以被区分为存储lsb数据“0”的关闭单元。

如果第一读取电压vrd_p1被应用,具有擦除状态e的阈值电压的存储器单元可以被区分为存储msb数据“1”的开启单元,并且具有第一编程状态p1的阈值电压的存储器单元可以被区分为存储msb数据“0”的关闭单元。

如果第三读取电压vrd_p3被应用,具有第二编程状态p2的阈值电压的存储器单元可以被区分为存储msb数据“0”的开启单元,并且具有第三编程状态p3的阈值电压的存储器单元可以被区分为存储msb数据“1”的关闭单元。

在编程操作中,为了确定存储器单元是否已完成编程,具有分别高于读取电压vrd_p1、vrd_p2和vrd_p3的电压电平的编程验证电压vvf_p1、vvf_p2和vvf_p3可以被应用于存储器单元。

如果编程验证电压vvf_p1被应用于其应当被编程至第一编程状态p1的存储器单元,具有低于编程验证电压vvf_p1的阈值电压的存储器单元可以被区分为存储数据“1”的开启单元,即,编程未完成的存储器单元和具有高于编程验证电压vvf_p1的阈值电压的存储器单元可以被区分为存储数据“0”的关闭单元,即,编程已完成的存储器单元。

如果编程验证电压vvf_p2被应用至应当被编程至第二编程状态p2的存储器单元,具有低于编程验证电压vvf_p2的阈值电压的存储器单元可以被区分为存储数据“1”的开启单元,即,编程未完成的存储器单元,并且具有高于编程验证电压vvf_p2的阈值电压的存储器单元可以被区分为存储数据“0”的关闭单元,即,编程已完成的存储器单元。

如果编程验证电压vvf_p3被应用于应当被编程至第三编程状态p3的存储器单元,具有低于编程验证电压vvf_p3的阈值电压的存储器单元可以被区分为存储数据“1”的开启单元,即,编程未完成的存储器单元,并且具有高于编程验证电压vvf_p3的阈值电压的存储器单元可以被区分为存储数据“0”的关闭单元,即,编程已完成的存储器单元。

如上参考图5和图6所述,用于确定存储器单元编程是否已完成的操作可以在编程操作期间被执行。编程验证操作可以根据存储器单元的状态(后文中称为单元电流)通过感测电流流动来执行。单元电流可以根据温度变化。因此,如图7中所示,控制逻辑360可以执行补偿温度变化(即,温度补偿操作)的编程操作以补偿单元电流变化。

图7是示出了非易失性存储器装置300的温度补偿操作的简图。作为示例,图7示出了可选的编程状态p0。图7中所示的可选的编程状态p0可以表示非易失性存储器装置300各自的存储器单元的任一编程状态。

如果非易失性存储器装置300的温度变得低于正常温度,则在低温下流动的单元电流可以小于在正常温度下流动的单元电流。事实上,单元电流减少意味着存储器单元有很大可能被区分为关闭单元,即,编程已完成的存储器单元。如果编程验证电压较低,因为单元电流可以增长,减少的单元电流可以被补偿。因此,如果测量的温度低于参考温度被确定,控制逻辑360可以通过改变待被应用于编程验证操作中的编程验证电压来执行温度补偿操作至具有低于正常编程验证电压vvf_o的电压电平的冷编程验证电压vvf_c,并应用冷编程验证电压vvf_c。

如果非易失性存储器装置300的温度变得高于正常温度,则在高温下流动的单元电流可以大于在正常温度下流动的电源电流。事实上,单元电流增加意味着存储器单元有很大可能被区分为开启单元,即,编程未完成的存储器单元。如果编程验证电压升高,因为单元电流减少,增加的单元电流可以被补偿。因此,如果测量的温度高于参考温度被确定,控制逻辑360可以通过改变待被应用在编程验证操作中的编程验证电压来执行温度补偿操作至具有高于正常编程验证电压vvf_o的电压电平的热编程验证电压vvf_h,并应用热编程验证电压vvf_h。

图8是示出了根据本发明的实施例的包括数据存储装置的数据处理系统的框图。根据图8的实施例,数据处理系统1000可以包括主机装置1100和数据存储装置1200。

数据存储装置1200可以包括控制器1210和非易失性存储器装置1220。数据存储装置1200可以通过被联接至诸如例如移动电话、mp3播放器、膝上型电脑、台式电脑、游戏机、tv、车载信息娱乐系统等的主机装置被使用。数据存储装置1200也被称作存储系统。

控制器1210可以包括主机接口单元211、微控制单元1212、存储器接口单元1213、随机存取存储器1214和错误修正编码(ecc)单元1215。

微控制单元1212可以响应于主机装置1100的请求控制控制器1210的一般操作。微控制单元1212可以驱动用于控制非易失性存储器装置1220的固件或软件。

随机存取存储器1214可以被用作微控制单元1212的工作存储器。随机存取存储器1214可以被用作临时存储从非易失性存储器装置1220读取出的数据或主机装置1100提供的数据的缓冲存储器。

主机接口单元1211可以接合主机装置1100与控制器1210。例如,主机单元1211可以通过诸如通用串行总线(usb)协议、通用闪速存储器(ufs)协议、多媒体卡(mmc)协议、外围组件互连(pci)协议、高速pci(pci-e)协议、并行高级技术附件(pata)协议、串行高级技术附件(sata)协议、小型计算机系统接口(scsi)协议以及串行scsi(sas)协议。

存储器接口单元1213可以接合控制器1210与非易失性存储器装置1220。存储器接口单元1213可以向非易失性存储器装置1220提供命令和地址。另外,存储器接口单元1213可以与非易失性存储器装置1220交换数据。

错误修正编码(ecc)单元1215可以对待被存储到非易失性存储器装置1220内的数据进行ecc-编码。同样地,错误修正编码(ecc)单元1215可以对从非易失性存储器装置1220读取出的数据进行ecc-解码。

非易失性存储器装置1220可以被用作数据存储装置1200的存储介质。非易失性存储器装置1220包括多个非易失性存储芯片(或管芯)nvm_1至nvm_k。

控制器1210和非易失性存储器装置1220可以被制造为多种数据存储装置中任一种。例如,控制器1210和非易失性存储器装置1220可以被集成到同一个半导体装置内并且可以被制造为以mmc、emmc、rrs-mmc和微型mmc、sd形式的安全数码卡、迷你sd和微型sd、通用串行总线(usb)存储装置、通用闪速存储器(ufs)装置、个人计算机存储卡国际协会(pcmcia)卡、标准闪存(cf)卡、智能媒体卡、记忆棒等。

图9是示出了根据本发明的实施例的包括固态驱动器(ssd)的数据处理系统的框图。参考图9,数据处理系统2000可以包括主机装置2100和固态驱动器(ssd)2200。

ssd2200可以包括ssd控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250、电源连接器2260。

ssd控制器2210响应于来自主机装置2100的请求对非易失性存储器装置2231至223n进行存取。

缓冲存储器装置2220可以临时存储待被存储到非易失性存储器装置2231至223n内的数据。进一步地,缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读取出的数据。临时存储在缓冲存储器装置2220的数据在ssd控制器2210的控制下可以被传输至主机装置2100或者非易失性存储器装置2231至223n。

非易失性存储器装置2231至223n可以被用作ssd2200的存储介质。非易失性存储器装置2231至223n可以通过多个通道ch1至chn分别与ssd控制器2210联接。一个或多个非易失性存储器装置可以被联接至一个通道。连接至一个通道的非易失性存储器装置可以被联接至相同的信号总线和数据总线。

电源2240可以提供通过电源连接器2260被输入的电力pwr至ssd2200的内部。电源2240可以包括辅助电源2241。辅助电源2241可以提供电力以允许ssd2200在突然发生断电时可以被正常终止。辅助电源2241可以包括能够充电pwr的大电容的电容器。

ssd控制器2210可以通过信号连接器2250与主机装置2100交换信号sgl。信号sgl可以包括命令、地址和数据等。根据主机装置2100与ssd2200之间的接口方案,信号连接器2250可以包括诸如并行高级技术附件(pata)、串行高级技术附件(sata)、小型计算机系统接口(scsi)、串行scsi(sas)、外围组件互连(pci)、高速pci(pci-e)以及通用闪速存储器(ufs)协议的连接器。

图10是示出了图9中所示的ssd控制器的框图。参考图10,ssd控制器2210可以包括存储器接口单元2211、主机接口单元2212、错误修正编码(ecc)单元2213、控制单元2214和随机存取存储器2215。

存储器接口单元2211可以将诸如例如命令和地址的控制信号提供给非易失性存储器装置2231至223n。此外,存储器接口单元2211可以与非易失性存储器装置2231至223n交换数据。在控制单元2214的控制下,存储器接口单元可以将从缓冲存储器装置2220传输的数据分散至各自的通道ch1至chn。另外,在控制单元2214的控制下,存储器接口单元2211可以将从非易失性存储器装置2231至223n读取出的数据传输至缓冲存储器装置2220。

主机接口单元2212响应于主机装置2100的协议,可以为ssd2200提供接口。例如,主机接口单元2212可以通过并行高级技术附件(pata)、串行高级技术附件(sata)、小型计算机系统接口(scsi)、串行scsi(sas)、外围组件互连(pci)、高速pci(pci-e)以及通用闪速存储器(ufs)协议中的一个与与主机装置2100通信。此外,主机接口单元2212可以执行支持主机装置2100将ssd2200识别为硬盘驱动器(hdd)的磁盘模拟功能。

控制单元2214可以分析并处理从主机装置2100输入的信号sgl。控制单元2214可以根据用于驱动ssd2200的固件和软件来控制缓冲存储器装置2220和非易失性存储器装置2231至223n的操作。

在被存储在缓冲存储器装置2220内的数据中,错误修正编码(ecc)单元2213可以产生待被传输至非易失性存储器装置2231至223n的奇偶校验数据。产生的奇偶校验数据可以与数据一起被存储到非易失性存储器装置2231至223n中。错误修正编码(ecc)单元2213可以检测从非易失性存储器装置2231至223n读取出的数据的错误。当检测的错误处于可修正的范围内时,错误修正编码(ecc)单元2213可以修正该检测的错误。

图11是示出了被安装至根据实施例的数据存储装置的计算机系统的框图。参考图11,计算机系统3000可以包括被电联接至系统总线3700的网络适配器3100、中央处理单元3200、数据存储装置3300、ram3400、rom3500以及用户接口3600。数据存储装置3300可以是或包括图1中所示的数据存储装置100,图8中所示的数据存储装置1200或图9中所示的ssd2200。

网络适配器3100可以在计算机系统3000与外部网络之间提供接口连接。中央处理单元3200可以执行用于驱动驻留在ram3400或应用程序中的操作系统的一般计算处理。

数据存储装置3300可以存储计算机系统3000所需的一般数据。例如,用于驱动计算机系统3000的操作系统、应用程序、各种程序模块、程序数据以及用户数据可以被存储在数据存储装置3300内。

ram3400可以被用作计算机系统3000的工作存储器。基于启动,从数据存储装置3300读取出的操作系统、应用程序、各种程序模块和驱动程序所需的程序数据可以被加载到ram3400上。在操作系统被驱动之前被激活的bios(基本输入/输出系统)可以被存储在rom3500中。在计算机系统3000和用户之间的信息交换可以通过用户接口3600被实施。

虽然各个实施例在上文中已被描述,应理解的是,对于本领域技术人员而言所描述的实施例仅是示例。因此,基于所描述的实施例的本文中所述的数据存储装置及其操作方法不应当被限制。

也应注意,在一些实例中,正如对相关领域的技术人员将会是显而易见的,与一个实施例有关的特征或元件可以被单独地使用或与另一个实施例的其它特征或元件相结合来使用,除非另有特别指明。

尽管为了说明目的,各个实施例已经被描述,在不脱离如权利要求所限定的本发明的精神和范围的情况下,可以存在各种变型和修改,这对于相关领域内的普通技术人员是显而易见的。

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