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

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

相关申请的交叉引用

本申请要求于2016年2月11日向韩国知识产权局提交的申请号为10-2016-0015740的韩国专利申请的优先权,其全部公开通过引用并入本文。

本发明的各种实施例涉及一种使用非易失性存储器装置作为存储介质的数据存储装置。



背景技术:

近来,计算机环境范例转变为普遍存在的计算系统,使得能够随时随地使用计算机系统。由此,便携电子设备,诸如移动电话、数码相机以及笔记本电脑的使用已经快速地增加。一般地,这样的便携电子设备使用存储器装置的数据存储装置。数据存储装置存储将在便携电子设备中使用的数据。

使用存储器装置的数据存储装置不包括任何机械驱动部件。因此,其提供一般的优秀稳定性和持久性、高信息存取速度和低功耗。具有这样的优点的数据存储装置包括通用串行总线(usb)存储器装置、具有各种接口的存储卡、通用闪速存储器(ufs)设备以及固态驱动器(ssd)。



技术实现要素:

本发明的各种实施例涉及一种数据存储装置,其在向主机装置传输预先读取的数据的同时,从非易失性存储器装置读取下一个待传输的数据。

在一个实施例中,一种数据存储装置可以包括:非易失性存储器装置;缓冲存储器,其用于暂时地存储待从所述非易失性存储器装置传输至主机装置的数据或待从所述主机装置传输至所述非易失性存储器装置的数据;存储器控制单元,其用于执行控制所述非易失性存储器装置的控制操作;以及直接存储器存取(dma)单元,其用于根据存储器控制单元的控制与缓冲存储器一起执行数据传输操作,其中,dma块从非易失性存储器装置向缓冲存储器传输第一数据,并且其中,在存储在缓冲存储器中的第一数据从缓冲存储器传输至主机装置的同时,dma单元从非易失性存储器装置向缓冲存储器传输第二数据。

在一个实施例中,一种数据存储装置的操作方法,该数据存储装置包括非易失性存储器装置、缓冲存储器和存储器控制单元,所述操作方法可以包括:通过直接存储器存取(dma)单元,从所述非易失性存储器装置向所述缓冲存储器传输第一数据;通过所述dma单元将所述第一数据存储在所述缓冲存储器中;在从所述非易失性存储器装置向所述缓冲存储器传输所述第二数据的同时,通过所述dma单元,将存储在所述缓冲存储器中的第一数据从所述缓冲存储器传输至所述主机装置。

根据该实施例,数据存储装置的数据处理速度可以提高。

附图说明

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

图2是图1所示的存储器控制单元、缓冲存储器和dma单元的框图。

图3是示出根据本发明的一个实施例的用于从非易失性存储器装置读取连续数据的控制器的操作的时序简图。

图4是示出根据图3的时序简图操作的控制器的内部块的操作的简图。

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

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

图7是示出图6所示的ssd控制器的框图。

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

图9是示出根据本发明的一个实施例的包括在数据存储装置中的非易失性存储器装置的框图。

具体实施方式

在本发明中,在结合附图阅读下列示例性实施例后,实现本发明的优点、特征、方法将变得更清楚。然而,本发明可以不同的形式呈现且不应被解释为限于在本文中提出的实施例。而是,更详细地提供这些实施例使得本发明所属领域技术人员能够实施本发明。

本文中应理解,本发明的实施例不限于附图所示的细节,附图不一定按比例且在一些情况下,为了更清楚地示出本发明的特征,比例可能已经被扩大。虽然本文使用了特定的术语,但是应理解为本文使用的术语仅用于描述特定的实施例,而不意在限制本发明的范围。

在本文中使用时,术语“和/或”包括一个以上相关列出项目的任何和所有组合。应理解,当一个元件“在(另一个元件)上”、“连接至”或“联接至”另一个元件时,可以是该元件直接在另一个元件上、连接或联接至另一个元件,或者两者间存在中间元件。如在本文中使用的,单数形式意在也包括复数形式,除非上下文有清楚的相反指示。此外,将理解的是,当在本说明书中使用时,术语“包括”是指存在至少一个提及的特征、步骤、操作、和/或元件,但不用于排除一个以上其他的特征、步骤、操作、和/或元件的存在或增加。

以下,将提供实施例的各种实例参考附图在下文中描述数据存储装置。

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

参考图1,数据存储装置100可以存储待被主机装置(未示出)访问的数据,主机装置诸如移动电话、mp3播放器、笔记本电脑、台式电脑、游戏机、电视(tv)、车载信息系统等。数据存储装置100也可以称作存储系统。

数据存储装置100可以制造为与主机装置电联接的接口的协议的各种存储器装置中的任一种。例如,数据存储装置100可以配置为各种存储器装置中的任一种,诸如固态驱动器(ssd)、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。

非易失性存储器装置300可以作为数据存储装置100的存储介质操作。非易失性存储器装置300可以配置为各种类型的非易失性存储器装置中的任一种,诸如nand闪速存储器装置、nor闪速存储器装置、使用铁电电容的铁电随机存取存储器(fram)、使用隧道磁电阻(tmr)层的磁随机存取存储器(mram)、使用硫化物合金的相变随机存取存储器(pcram)、使用过渡金属氧化物的电阻式随机存取存储器(reram)等。铁电随机存取存储器(fram)、磁随机存取存储器(mram)、相变随机存取存储器(pcram)和电阻式随机存取存储器(reram)是能够任意访问存储器单元的非易失性随机存取存储器装置的一种。非易失性存储器装置300可以配置为nand闪速存储器装置和上述各种类型的非易失性随机存取存储器装置的组合。

控制器200可以包括主机接口单元210、控制单元220、工作存储器230、存储器控制单元240、缓冲存储器250、以及直接存储器存取(dma)单元260。

主机接口单元210可以连接主机装置和数据存储装置100。例如,主机接口单元210以通过通用串行总线(usb)、通用闪速存储器(ufs)、多媒体卡(mmc)、并行高级技术附件(pata)、串行高级技术附件(sata)、小型计算机系统接口(scsi)、串列scsi(sas)、外围组件互连pci和高速pci(pci-e)等中的一个与主机装置通信。

控制单元220可以控制控制器200的一般操作。控制单元220可以驱动载入工作存储器230的代码类型的指令或者算法,即软件,并且可以分析并处理从主机装置输入的请求。控制单元220可以根据软件控制控制器200内部的功能块的操作。

工作存储器230可以存储由控制单元220驱动的软件。工作存储器230可以存储驱动软件所必要的数据。工作存储器230可以配置为随机存取存储器,诸如动态随机存取存储器(dram)、静态随机存取存储器(sram)等。

存储器控制单元240可以根据控制单元220的控制来控制非易失性存储器装置300。为了控制非易失性存储器装置300的操作并将生成的控制信号提供至非易失性存储器装置300,存储器控制单元240可以生成控制信号(例如,指令、地址、时钟信号等)。存储器控制单元240也可以称作存储器接口单元。

缓冲存储器250可以暂时地存储将从主机装置传输至非易失性存储器装置300的数据,或者将从非易失性存储器装置300传输至主机装置的数据。缓冲存储器250可以配置为随机存取存储器,诸如动态随机存取存储器(dram)、或者静态随机存取存储器(sram)。

dma单元260可以根据存储器控制单元240的控制与缓冲存储器250一起执行数据传输操作。dma单元260可以将从非易失性存储器装置300读取的数据传输至缓冲存储器250。dma单元260可以将存储在缓冲存储器250中的数据传输至主机装置。dma单元260可以将从主机装置传输的数据传输至缓冲存储器250。dma单元260可以将存储在缓冲存储器250中的数据传输至非易失性存储器装置300。

图2是图1所示的存储器控制单元240、缓冲存储器250和dma单元260的框图。dma单元260可以包括第一dma块260-1和第二dma块260-2。

参照图2,存储器控制单元240可以根据由控制单元220提供的描述符dsc操作。描述符dsc可以表示工作指令,该工作指令中写入待被存储器控制单元240处理以控制非易失性存储器装置300的工作。存储器控制单元240可以根据描述符dsc控制非易失性存储器装置300的操作(例如,读取操作、写入操作、擦除操作等)。

在需要与缓冲存储器250一起进行数据传输操作的情况下,存储器控制单元240可以生成数据传输操作必要的信息作为任务tsk,并且将生成的任务tsk提供至执行数据传输操作的第一dma块260-1或者第二dma块260-2。

第一dma块260-1可以处理存储在队列q-1中的任务tsk-1。第一dma块260-1可以根据任务tsk-1执行非易失性存储器装置300和缓冲存储器250之间的数据传输操作。第二dma块260-2可以处理存储在队列q-2中的任务tsk-2。第二dma块260-2可以根据任务tsk-2执行主机装置和缓冲存储器250之间的数据传输操作。

图3是示出用于从非易失性存储器装置300读取连续数据的控制器200的操作的时序简图。图4是示出根据图3的时序简图操作的控制器200的内部块的操作的简图。

在图3和图4中,读取控制操作rdc可以定义为向非易失性存储器装置300提供用于控制读取操作的命令、地址和控制信号的操作,以读取存储在非易失性存储器装置300的特定存储器单元(或者多个特定存储器单元)中的数据。根据读取控制操作rdc控制的非易失性存储器装置300可以定义为处于存储在存储器单元(或者多个存储器单元)中的数据的感测完成并且感测数据能够输出到外部的状态。

存储器控制单元240可以由控制单元220提供第一描述符dsc1和第二描述符dsc2(步骤①)。存储器控制单元240可以根据第一描述符dsc1和第二描述符dsc2分别地执行第一数据dt(n)和第二数据dt(n+1)的读取和传输操作。

已经基于应该执行连续数据的读取的第一描述符dsc1和第二描述符dsc2确定的存储器控制单元240可以执行读取第一数据dt(n)的第一读取控制操作rdc(n)(步骤②)。

在第一读取控制操作rdc(n)完成之后,存储器控制单元240可以向第一dma块260-1提供第一任务tsk1(步骤③)。第一任务tsk1可以包括第一数据dt(n)的数据传输操作必要的信息。

第一dma块260-1可以根据第一任务tsk1执行从非易失性存储器装置300向缓冲存储器250传输完成感测第一数据dt(n)的操作(步骤④)。

当第一数据dt(n)完全地存储在缓冲存储器250时,第一dma块260-1可以将第一任务tsk1传送至第二dma块260-2(步骤⑤)。

第二dma块260-2可以根据第一任务tsk1执行从缓冲存储器250向主机装置传输存储在缓冲存储器250中的第一数据dt(n)的操作(步骤⑥)。在第二dma块260-2处理第一任务tsk1的同时,存储器控制单元240可以执行读取继第一数据dt(n)之后的第二数据dt(n+1)的第二读取控制操作rdc(n+1)(步骤⑥)。

在第二读取控制操作rdc(n+1)完成之后,存储器控制单元240可以向第一dma块260-1提供第二任务tsk2(步骤⑦)。第二任务tsk2可以包括第二数据dt(n+1)的数据传输操作必要的信息。

第一dma块260-1可以根据第二任务tsk2执行从非易失性存储器装置300向缓冲存储器250传输完成感测第二数据dt(n+1)的操作(步骤⑧)。

在预先读取的数据的一部分(即第一数据dt(n))通过第二dma块260-2传输至主机装置时,可以执行读取下一个待传输的读取数据(即第二数据dt(n+1))的读取控制操作。同样地,在预先读取的数据的一部分(即第一数据dt(n))通过第二dma块260-2传输至主机装置时,可以通过第一dma块260-1将下一个待传输的数据的一部分存储在缓冲存储器250中。因为第一dma块260-1可以在第二dma块260-2执行缓冲存储器250和主机装置之间的数据传输操作的同时执行非易失性存储器装置300和缓冲存储器250之间的数据传输操作的并行操作,所以可以更快速地处理连续数据。

当第二数据dt(n+1)在缓冲存储器250的存储完成时,第一dma块260-1可以将第二任务tsk2传送至第二dma块260-2(步骤⑨)。

第二dma块260-2可以根据第二任务tsk2执行从缓冲存储器250向主机装置传输存储在缓冲存储器250中的第二数据dt(n+1)的操作(步骤⑩)。

图5是示出根据本发明的一个实施例的包括数据存储器装置1200的数据处理系统1000的框图。

参考图5,数据处理系统1000可以包括主机装置1100和数据存储装置1200。

数据存储装置1200可以包括控制器1210和非易失性存储器装置1220。数据存储装置1200可以通过联接至主机装置1100而使用。主机装置1100可以是,例如,移动电话、mp3播放器、笔记本电脑、台式电脑、游戏机、电视(tv)、车载信息系统等。数据存储装置1200也称作存储系统。

控制器1210可以包括主机接口单元1211、控制单元1212、存储器接口单元1213、随机存取存储器1214、以及错误纠正码(ecc)单元1215。

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

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

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

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

存储器接口单元1213可以包括第一dma块1213-1和第二dma块1213-2。在预先读取的数据传输至主机装置1100的同时,可以并行操作第一dma块1213-1和第二dma块1213-2以读取下一个待传输的数据,如参考图3和图4所述。

错误纠正码(ecc)单元1215可以使用预定的错误纠正码编码待存储在非易失性存储器装置1220中的数据。同样地,ecc单元1215可以使用预定的错误纠正码解码从非易失性存储器装置1220读取的数据。

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

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

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

参考图6,数据处理系统2000可以包括主机装置2100和ssd2200。

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可以包括命令、地址、数据等。信号连接器2250可以根据主机装置2100和ssd2200之间的接口方案,配置为诸如并行高级技术附件(pata)、串行高级技术附件(sata)、小型计算机系统接口(scsi)、串列scsi(sas)、外围组件互连pci、高速pci(pci-e)、通用闪速存储器(ufs)协议等的连接器。

图7是示出图6所示的ssd2210控制器的框图。

参考图7,ssd控制器2210可以包括存储器接口单元2211、主机接口单元2212、错误纠正码(ecc)单元2213、控制单元2214、以及随机存取存储器2215。

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

存储器接口单元2211可以包括第一dma块2211-1和第二dma块2211-2。在预先读取的数据传输至主机装置2100的同时,可以并行操作第一dma块2211-1和第二dma块2211-2以读取下一个待传输的数据,如参考图3和图4所述。

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

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

ecc单元2213可以在存储在缓冲存储器装置2220中的数据之中生成待传输至非易失性存储器装置2231至223n的校验数据。生成的校验数据可以与数据一起存储在非易失性存储器装置2231至223n中。ecc单元2213可以检测从非易失性存储器装置2231至223n读取的数据的错误。当检测的错误在可纠正范围内时,ecc单元2213可以纠正检测的错误。

图8是示出根据本发明的一个实施例的安装数据存储装置3300的计算机系统3000的框图。

参考图8,计算机系统3000可以包括均可以电联接至系统总线3700的网络适配器3100、中央处理单元(cpu)3200、数据存储装置3300、随机存取存储器(ram)3400、只读存储器(rom)3500、和用户界面3600。数据存储装置3300可以配置为图1所示的数据存储装置100、图5所示的数据存储装置1200或者图6所示的ssd2200。

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

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

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

图9是示出根据一个实施例的包括在图1的数据存储装置100中的非易失性存储器装置300的配置的框图。

参照图9,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、列解码器330、数据读取/写入块340、电压发生器350和控制逻辑360。

存储器单元阵列310可以包括布置在字线wl1至wlm和位线bl1至bln互相交错的区域的存储器单元mc。存储器单元可以分组成存取单元,诸如作为擦除单元的存储块以及作为编程和读取单元的页面。

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

数据读取/写入块340可以通过位线bl1至bln联接至存储器单元阵列310。数据读取/写入块340可以包括分别对应于位线bl1至bln的读取/写入电路rw1至rwn。数据读取/写入块340可以根据控制逻辑360的控制而运行。数据读取/写入块340可以根据操作模式作为写入驱动器或者传感放大器而运行。例如,在写入操作中,数据读取/写入块340可以操作为写入驱动器,将外部装置提供的数据存储在存储器单元阵列310中。作为另一个示例,在读取操作中,数据读取/写入块340可以操作为传感放大器,以从存储器单元阵列310读取数据。

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

电压发生器350可以生成待在非易失性存储器装置300内部操作中使用的电压。电压发生器350生成的电压可以用于存储器单元阵列310的存储器单元。例如,编程操作中生成的编程电压可以适用于待执行编程操作的存储器单元的字线。作为另一个示例,在擦除操作中生成的擦除电压可以适用于待执行擦除操作的存储器单元的阱区。作为再一个示例,读取操作中生成的读取电压可以适用于待执行读取操作的存储器单元的字线。

控制逻辑360可以基于外部装置提供的控制信号控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取、写入和擦除操作。

尽管已经如上描述了各种实施例,但是,本领域技术人员应当理解,这些实施例仅为本发明的示例。因此,本文描述的数据存储装置不应限制为描述的实施例。本发明的许多其他实施例和变型将被本领域技术人员来说是设计,而不背离由后附权利要求限定的本发明的主旨和范围。

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