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

文档序号:22890835发布日期:2020-11-10 18:16阅读:201来源:国知局
控制器、存储器系统及其操作方法与流程

相关申请的交叉引用

本申请要求于2019年5月7日向韩国知识产权局提交的申请号为10-2019-0052933的韩国申请的优先权,其通过引用整体并入本文。

各个实施例通常涉及一种半导体装置,且更特别地,涉及一种存储器系统及其操作方法。



背景技术:

近来,计算环境范例已经改变到可以在任意时间、任意地点使用计算机系统的普适计算环境。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这种便携式电子装置通常采用使用存储器装置的存储器系统。存储器系统用于存储便携式电子装置中使用的数据。

因为使用存储器装置的存储器系统不具有机械驱动器,所以存储器系统具有优异的稳定性和耐久性,表现出高信息访问速度,并且具有低功耗。具有这些优点的存储器系统的示例包括通用串行总线(usb)存储器装置、具有各种接口的存储卡、通用闪存(ufs)装置和固态驱动器(ssd)。



技术实现要素:

本公开的各个实施例提供了能够提高存储器系统的性能的技术。

本公开的各个实施例提供了能够有效地读取主机所请求的机器学习数据,并且将该机器学习数据传输到主机的技术。

根据本公开的实施例,一种用于控制非易失性存储器装置的控制器的操作方法可包括:基于第一读取请求来生成预读取信息,从非易失性存储器装置读出分别包括在多个数据组块中的第一子组块,并向主机提供所读取的第一子组块,其中第一读取请求包括第一子组块的各个地址;在将第一子组块提供到主机之后,开始预读取操作,基于预读取信息从非易失性存储器装置读出分别包括在多个数据组块中的第二子组块,并将所读取的第二子组块存储到控制器中的存储器中;并且在预读取操作开始之后,响应于从主机接收的第二读取请求,向主机提供存储器中存储的第二子组块,其中非易失性存储器装置存储机器学习数据,该机器学习数据包括多个数据组块,多个数据组块中的每一个包括包含第一子组块和第二子组块的多个子组块。

根据本公开的实施例,一种存储器系统包括:非易失性存储器装置,被配置成存储机器学习数据;以及控制器,被配置成控制该非易失性存储器装置,其中机器学习数据包括多个数据组块,多个数据组块中的每一个包括多个子组块,并且其中控制器被进一步配置成:基于第一读取请求生成预读取信息,从非易失性存储器装置读出分别包括在多个数据组块中的第一子组块,并向主机提供所读取的第一子组块,其中第一读取请求包括第一子组块的各个地址;在将第一子组块提供到主机之后,开始预读取操作,基于预读取信息从非易失性存储器装置读出分别包括在多个数据组块中的第二子组块,并将所读取的第二子组块存储到控制器中的存储器中;并且在预读取操作开始之后,响应于从主机接收的第二读取请求,向主机提供存储器中存储的第二子组块。

根据本公开的实施例,一种用于控制存储器装置的控制器的操作方法,该存储器装置存储一组多个数据段,每个数据段包括多个子段,该操作方法可包括:响应于针对各个数据段内的第一子段的请求,向请求者提供第一子段,同时控制存储器装置从各个数据段读取第二子段;并且响应于针对各个数据段内的第n子段的请求,向请求者提供所读取的第n子段,同时控制存储器装置从各个数据段读出第(n+1)子段,其中针对第一子段的请求和针对第n子段的请求与该一组相关。

根据本公开的实施例,可以提高存储器系统的性能。

根据本公开的实施例,可以有效地读取由主机请求的机器学习数据,并且将该机器学习数据传输到主机。

附图说明

结合附图描述特征、方面和实施例,其中:

图1是示出根据本公开的实施例的存储器系统的配置的示图。

图2是示出诸如图1所示的存储器的配置的示图。

图3(a)、图3(b)、图4(a)和图4(b)是示出根据本公开的实施例的预读取操作的示意图;

图5是示出根据本公开的实施例的存储器系统的操作的事务流程图;

图6是示出根据本公开的实施例的存储器系统的操作的流程图;

图7是示出根据本公开的实施例的预读取操作的示意图;

图8是示出根据本公开的实施例的固态驱动器(ssd)的示图;

图9是示出诸如图8所示的控制器的配置的示图;

图10是示出根据本公开的实施例的包括存储器系统的数据处理系统的配置的示图;

图11是示出根据本公开的实施例的包括存储器系统的数据处理系统的配置的示图;并且

图12是示出根据本公开的实施例的包括存储器系统的网络系统的配置的示图。

具体实施方式

以下参照附图更详细地描述本发明的各个实施例。然而,本发明可以不同形式来实现,因此不应被解释为限于本文阐述的实施例。相反地,提供这些实施例以使本公开是彻底且完整的,并且将本发明的范围充分地传达给本领域技术人员。在整个说明书中,对“实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。

将理解的是,当元件被称为“连接到”或“联接到”另一元件时,其可直接在其它元件上、连接到或联接到其它元件,或者可存在一个或多个中间元件。将理解的是,当在本说明书中使用时,术语“包括”、“包括有”、“包含”和“包含有”指定所陈述元件的存在,但不排除一个或多个其它元件的存在或添加。类似地,除非另有说明或上下文表明仅意指一个,否则不定冠词“一”和“一个”表示一个或多个。

下面参照附图描述本公开的各个实施例。

图1是示出根据本公开的实施例的存储器系统10的配置的示图。

参照图1,根据实施例的存储器系统10可存储待由诸如移动电话、mp3播放器、膝上型计算机、台式计算机、游戏机、电视(tv)和/或车载信息娱乐系统的任何适当的主机20访问的数据。

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

存储器系统10可被制造为各种类型的封装中的任意一种。例如,存储器系统10可被制造为堆叠封装(pop)、系统级封装(sip)、片上系统(soc)、多芯片封装(mcp)、板上芯片(cob)、晶圆级制造封装(wfp)和/或晶圆级堆叠封装(wsp)。

存储器系统10可包括非易失性存储器装置100和控制器200。

非易失性存储器装置100可作为存储器系统10的存储介质而操作。非易失性存储器装置100可被实施为诸如以下的各种非易失性存储器装置中的任意一种:nand闪速存储器装置、nor闪速存储器装置、使用铁电电容器的铁电随机存取存储器(fram)、使用隧穿磁阻(tmr)层的磁性随机存取存储器(mram)、使用硫族化物合金的相变随机存取存储器(pram)和/或使用过渡金属化合物的电阻式随机存取存储器(reram)。

虽然为了清楚起见,图1将存储器系统10例示为包括单个非易失性存储器装置100,但该存储器系统10可包括多个非易失性存储器装置100,其每一个可以如本文所述进行操作。

非易失性存储器装置100可包括存储器单元阵列(未示出),该存储器单元阵列包括布置在字线(未示出)和位线(未示出)之间的交叉处的多个存储器单元。存储器单元阵列可包括多个存储块,每个存储块包括多个页面。

例如,存储器单元阵列中的存储器单元中的每一个可以是能够存储1位数据的单层单元(slc)或者能够存储2位或更多位数据的多层单元(mlc)。有时,可在更具体的意义上使用mlc来表示能够存储2位数据的存储器单元,在这种情况下,能够存储3位数据的存储器单元可被称为三层单元(tlc),能够存储4位数据的存储器单元可被称为四层单元(qlc)。然而,在以下描述中,术语mlc在其更一般的意义上用于表示能够存储2位或更多位数据的存储器单元。

存储器单元阵列可包括slc和/或mlc。存储器单元阵列可包括以二维(例如,水平)结构布置的存储器单元或以三维(例如,垂直)结构布置的存储器单元。

控制器200可包括主机接口210、处理器220及存储器接口240。控制器200可通过驱动加载在存储器230中的固件或软件来控制存储器系统10的一般操作。控制器200可解码并驱动固件或软件中实现的指令或算法。控制器200可被实施为硬件或硬件与软件的组合。虽然未在图1中示出,但控制器200可进一步包括错误校正码(ecc)引擎,该引擎被配置成通过对从主机20提供的写入数据进行ecc编码来生成奇偶校验,并且使用该奇偶校验对从非易失性存储器装置100读取的数据进行ecc解码。

主机接口210可根据主机20的协议来接口连接主机20和存储器系统10。例如,主机接口210可通过以下中的任意一种来与主机20通信:通用串行总线(usb)协议、通用闪存(ufs)协议、多媒体卡(mmc)协议、并行高级技术附件(pata)协议、串行高级技术附件(sata)协议、小型计算机系统接口(scsi)协议、串列scsi(sas)协议、外围组件互连(pci)协议和/或高速pci(pci-e)协议。

处理器220可包括微控制单元(mcu)和/或中央处理单元(cpu)。处理器220可处理从主机20传输的请求。为了处理这种请求,处理器220可驱动加载到存储器230中的代码类型的指令或算法(例如,固件),并且控制诸如主机接口210、存储器230、存储器接口240和非易失性存储器装置100的内部功能块。

处理器220可基于来自主机20的请求生成用于控制非易失性存储器装置100的操作的控制信号,并且可通过存储器接口240将所生成的控制信号提供到非易失性存储器装置100。

存储器230可被配置为只读存储器(rom)和/或诸如动态随机存取存储器(dram)或静态随机存取存储器(sram)的随机存取存储器。存储器230可存储待由处理器220驱动的固件。存储器230还可存储用于驱动固件的数据(例如,元数据)。也就是说,存储器230可作为处理器220的工作存储器而操作。

存储器230可包括数据缓冲器,该数据缓冲器被配置成临时存储从主机20接收的并待被传输到非易失性存储器装置100的写入数据,或者存储从非易失性存储器装置100读取并待被传输到主机20的数据。也就是说,存储器230可作为处理器220的缓冲存储器而操作。

如本领域技术人员将理解的,存储器230可包括用于各种目的的区域,诸如用作被配置成临时存储写入数据的写入数据缓冲器的区域、用作被配置成临时存储读取数据的读取数据缓冲器的区域以及用作被配置成高速缓存映射数据的映射高速缓存缓冲器的区域。

而且,存储器230可存储系统数据或元数据。

当非易失性存储器装置100被实施为闪速存储器装置时,处理器220可驱动被称为闪存转换层(ftl)的软件,以便控制非易失性存储器装置100的固有操作并向主机20提供装置兼容性。随着ftl被驱动,主机20可将存储器系统10视为并用作诸如硬盘的通用存储装置。

存储器接口240可根据处理器220的控制来控制非易失性存储器装置100。存储器接口240可被称为存储器控制器。存储器接口240可将控制信号提供至非易失性存储器装置100。控制信号可包括用于控制非易失性存储器装置100的命令、地址和操作控制信号等。存储器接口240可向非易失性存储器装置100提供数据缓冲器中存储的数据,或者将从非易失性存储器装置100传输的数据存储在数据缓冲器中。

控制器200可进一步包括直接联接到处理器220的第一存储器(未示出)。处理器220可将固件从存储器230加载到第一存储器,然后可驱动固件。在实施例中,第一存储器可设置在控制器200的外部。

图2是示出图1所示的存储器230的配置的示图。

参照图2,根据本公开的实施例的存储器230可包括存储闪存转换层(ftl)的第一区域r1、用作被配置成对与从主机20提供的请求相对应的命令进行排队的命令队列cmdq的第二区域r2。然而,如本领域技术人员将理解的,存储器230可包括一个或多个其它区域,诸如用作上述各种缓冲器的区域。

当非易失性存储器装置100被实施为闪速存储器装置时,处理器220可驱动被称为闪存转换层(ftl)的软件,以便控制非易失性存储器装置100的固有操作,并且向主机20提供装置兼容性。通过闪存转换层(ftl)的驱动,主机20可将存储器系统10识别并用作诸如硬盘的通用存储装置。

存储器230的第一区域r1中存储的闪存转换层(ftl)可包括被配置成执行各种操作的模块以及元数据以驱动相应模块。闪存转换层(ftl)可存储在非易失性存储器装置100的系统区域(未示出)中。当存储器系统10通电时,可从非易失性存储器装置100的系统区域读取闪存转换层(ftl),并且将该ftl加载到存储器230的第一区域r1。

图3(a)、图3(b)、图4(a)和图4(b)是示出根据本公开的实施例的预读取操作的示意图。

图3(a)示出主机20从存储器系统10请求以便基于递归神经网络(rnn)方案和/或长短期记忆模型(ltsm)方案执行机器学习操作的机器学习数据的示例。假设图3(a)所示的机器学习数据通过顺序写入操作被存储在存储器系统10中,使得机器学习数据具有指示从数据存储区域1至数据存储区域24的区域的连续地址。

机器学习数据可包括多个数据组块(例如,数据组块1至数据组块4),每个数据组块可包括多个子组块(例如,子组块1至子组块3)。

离散数量的数据组块可对应于批处理大小,这些数据组块在机器学习操作期间被批处理。单个数据组块可构成在机器学习操作期间被批处理的批处理单位。单个数据组块的大小可对应于指示在机器学习操作期间被批处理的离散量的数据的批处理长度。单个子组块可以是由单个单位学习操作处理的离散单位。多个单位学习操作可配置单个机器学习操作。

图3(b)例示基于rnn方案和/或lstm方案的机器学习操作的多个单位学习操作。在配置机器学习操作的多个单位学习操作之中,当前单位学习操作的结果可能影响后续单位学习操作。因此,主机20可基于来自各个数据组块的第一子组块(子组块1)来执行第一单位学习操作,当第一单位学习操作完成时,可基于来自各个数据组块的第二子组块(子组块2)来执行第二单位学习操作,并且当第二单位学习操作完成时,可基于来自各个数据组块的第三子组块(子组块3)来执行第三单位学习操作。

图4(a)例示顺序读取非易失性存储器装置100中存储的机器学习数据的顺序读取操作。图4(b)例示根据单位学习操作的顺序来读取被顺序地存储在非易失性存储器装置100中的机器学习数据的随机读取操作。

如图4(a)所示,当机器学习数据被顺序地写入到非易失性存储器装置100中以对应于连续地址,然后被顺序地传输到主机20时,主机存储器21应当在其中存储所有提供的机器学习数据。考虑到机器学习数据通常极大,主机存储器21应当具有足够大以容纳所有的机器学习数据的存储容量,这在效率和成本方面是不可取的。因此,如图4(b)所示,根据诸如rnn方案的机器学习方案,主机20可通过请求存储器系统10以读取适于配置机器学习操作的多个单位学习操作的机器学习数据来有效地执行机器学习操作。

在这种情况下,主机20可向存储器系统10提供对第一单位学习操作所需的第一子组块的读取请求,该第一子组块选自各个数据组块。当基于从存储器系统10接收的第一子组块完成第一单位学习操作时,主机20可向存储器系统10提供对第二单位学习操作所需的第二子组块的读取请求,该第二子组块也选自各个数据组块。也就是说,根据诸如rnn方案的机器学习方案,存储器系统10可基于完成来自主机20的对子组块的先前读取请求来预测对后续子组块的后续读取请求。

根据本发明的实施例,提供了以下存储器系统技术,使主机能够在从主机接收对第(n+1)子组块的读取请求之前,在从主机接收对第n子组块的读取请求时,通过预先读取第n子组块后续的第(n+1)子组块的预读取操作来有效地执行机器学习操作。第(n+1)子组块可在数据组块内分别位于第n子组块之后。

图5是示出根据本公开的实施例的存储器系统的操作的流程图。

在下文中,假设图3(a)所示的机器学习数据存储在存储器系统10中,使得主机20可以根据图3(b)所示的rnn方案或lstm方案执行机器学习操作。

参照图5,在步骤s510中,存储器系统10可从主机20接收对机器学习数据的各个数据组块内的第一子组块的读取请求。机器学习数据可存储在存储器系统10中。

在实施例中,存储器系统10可确定由主机20发出的读取请求是否是针对机器学习数据的。针对第一子组块、即机器学习数据的读取请求可包括指示读取请求是针对用于机器学习操作的机器学习数据的信息。当读取请求包括指示读取请求是针对机器学习数据的信息时,控制器200可执行后续步骤。

在步骤s520中,存储器系统10可读取机器学习数据,并且可生成预读取信息。一旦确定读取请求是针对机器学习数据的,控制器200就可从非易失性存储器装置100中存储的各个数据组块读出第一子组块,并且可将所读取的第一子组块存储到存储器230中。

控制器200可基于关于各个数据组块中的第一子组块的读取模式来生成预读取信息。预读取信息可包括机器学习数据的开始地址、最后地址、大小、批处理大小和批处理长度。

在实施例中,基于第一子组块中的每一个的开始地址和数据大小,控制器200可获得配置机器学习数据的多个数据组块的数量(即,批处理大小)、多个数据组块中的每一个的开始地址和大小(即,批处理长度),并且可获得配置多个数据组块中的每一个的子组块的数量、子组块中的每一个的开始地址和大小,并且可生成预读取信息。例如,对图3(a)所示的机器学习数据的各个数据组块内的第一子组块的读取请求可包括第一数据组块(数据组块1)内的第一子组块、第二数据组块(数据组块2)内的第一子组块、第三数据组块(数据组块3)内的第一子组块和第四数据组块(数据组块4)内的第一子组块的地址信息。因此,控制器200可将第一数据组块(数据组块1)内的第一子组块和第二数据组块(数据组块2)内的第一子组块之间的地址差值确定为第一数据组块(数据组块1)的数据大小(即,批处理长度)。进一步地,控制器200可将第一数据组块(数据组块1)的数据大小除以第一数据组块(数据组块1)内的第一子组块的数据大小的商数确定为配置第一数据组块(数据组块1)的子组块的数量。进一步地,控制器200可由分别包括在第一至第四数据组块中的第一子组块的数量来确定第一至第四数据组块的数量(即,批处理大小)。

在实施例中,控制器200可将所生成的预读取信息存储到存储器230中。

在步骤s530中,存储器系统10可向主机20提供控制器200的存储器230中存储的第一子组块。

在步骤s540中,存储器系统10可从非易失性存储器装置100中存储的各个数据组块读出第二子组块。控制器200可在完成从存储器230向主机20传输第一子组块之后,基于预读取信息来从多个数据组块读出第二子组块,并且可将所读取的第二子组块存储到存储器230中。也就是说,存储器系统10可执行预读取操作,预先读取针对主机20的第二单位学习操作的第二子组块,并且将所读取的第二子组块存储到存储器230中。存储器系统10可在从主机20接收针对第二子组块的读取请求之前,对第二子组块执行预读取操作。

在步骤s541中,主机20可接收从存储器系统10提供的第一子组块。主机20可基于所接收的第一子组块来执行第一单位学习操作。

在步骤s542中,当基于第一子组块的第一单位学习操作完成时,主机20可向存储器系统10提供针对第二单位学习操作的第二子组块的读取请求,以便从存储器系统10接收第二子组块。

在步骤s550中,响应于来自主机20的对第二子组块的读取请求,存储器系统10可向主机20提供控制器200的存储器230中存储的第二子组块。这样,当主机基于从存储器系统10提供的第一子组块执行第一单位学习操作时,存储器系统10可执行预读取操作,预先从非易失性存储器装置100读出第二子组块并将所读取的第二子组块存储到控制器200的存储器230中,以准备来自主机20的针对第二子组块的读取请求。因此,一旦接收到针对第二子组块的读取请求,存储器系统10就可立即从控制器200的存储器230向主机20提供第二子组块。

在步骤s560中,存储器系统10可从非易失性存储器装置100中存储的各个数据组块读出第三子组块。控制器200可在将第二子组块从存储器230传输到主机20之后,基于预读取信息来读出多个数据组块内的第三子组块,并且可将所读取的第三子组块存储到存储器230中。也就是说,在从主机20接收针对第三子组块的读取请求之前,存储器系统10可执行预读取操作,预先读取对主机20的第三单位学习操作的第三子组块并将所读取的第三子组块存储到存储器230中。

在步骤s561中,主机20可接收从存储器系统10提供的第二子组块。主机20可基于所接收的第二子组块来执行第二单位学习操作。

在步骤s562中,当基于第二子组块的第二单位学习操作完成时,主机20可向存储器系统10提供针对第三单位学习操作的第三子组块的读取请求,以便从存储器系统10接收第三子组块。

在步骤s570中,响应于从主机20接收针对第三子组块的读取请求,存储器系统10可向主机20提供控制器200的存储器230中存储的第三子组块。因为读出了直到并包括最后地址的所有机器学习数据,也就是配置非易失性存储器装置100中存储的机器学习数据的各个数据组块内的最后的子组块,所以存储器系统10可不执行附加的预读取操作。

在实施例中,当执行读取第n子组块的预读取操作时,子组块中的一个对应于机器学习数据的最后地址,因为已对机器学习数据内的所有子组块执行了预读取操作,所以存储器系统10可不执行附加的预读取操作。

在步骤s571中,主机20可接收从存储器系统10提供的第三子组块。主机20可基于所接收的第三子组块来执行第三单位学习操作。

图6是示出根据本公开的实施例的存储器系统的操作的流程图。

参照图6,存储器系统10可在步骤s610中从主机20接收读取请求。控制器200可从主机20接收对非易失性存储器装置100中存储的数据的读取请求。

在实施例中,读取请求可包括待读取的目标数据的地址。例如,当读取请求是针对机器学习数据中包括的各个数据组块的第一子组块时,读取请求可包括第一子组块中的每一个的地址。

在实施例中,读取请求可包括指示其目标数据将用于机器学习操作的信息。

在步骤s620中,存储器系统10可确定读取请求是否是针对将用于机器学习操作的数据。当读取请求包括这样的信息时,控制器200可确定从主机20提供的读取请求是针对机器学习操作的。另一方面,当读取请求不包括这样的信息时,控制器200可确定从主机20提供的读取请求不是针对机器学习操作的。

在步骤s630中,存储器系统10可读取第一子组块,并且可生成预读取信息。一旦确定从主机20提供的读取请求是针对机器学习数据的,控制器200就可基于针对第一子组块的读取请求来生成预读取信息。

在实施例中,控制器200可基于包括在读取请求中并分别对应于第一子组块的地址来生成预读取信息,该预读取信息包括分别对应于机器学习数据的各个数据组块内的第二子组块至最后子组块的地址。

进一步地,响应于从主机20提供的读取请求,控制器200可从非易失性存储器装置100读出第一子组块,并且将所读取的第一子组块存储到控制器200的存储器230中。

在步骤s640中,存储器系统10,更具体地说是控制器200,可向主机20提供控制器200的存储器230中存储的第一子组块。

在步骤s650中,存储器系统10可从各个数据组块读出第n子组块。基于预读取信息,控制器200可从非易失性存储器装置100读出第n子组块,并且可将所读取的第n子组块存储到控制器200的存储器230中。

在步骤s660,存储器系统10可从主机20接收针对第n子组块的读取请求。

在步骤s670中,存储器系统10,更具体地说是控制器200,可响应于针对第n子组块的读取请求,向主机20提供控制器200的存储器230中存储的第n子组块。

在步骤s680中,存储器系统10可确定是否已对机器学习数据内的最后子组块执行预读取操作。当多个数据组块中的每一个包括机器学习数据内的“m”个子组块时,控制器200可确定第m子组块是否已被提供到主机20。

在实施例中,当第n子组块是各个数据组块内的最后子组块时,控制器200可确定第m子组块已被提供到主机20。

当第n子组块不是最后子组块,即第m子组块时,控制器200可执行步骤s650,以对第(n+1)子组块执行预读取操作。

在步骤s690中,当确定步骤s610的读取请求不是针对机器学习数据时,存储器系统10可执行正常读取操作,从非易失性存储器装置100读出对应于读取请求的数据,并且向主机20提供所读取的数据。

图7是示出根据本公开的实施例的预读取操作的示意图。

参照图7,在时间t1,存储器系统10可向主机20提供控制器200的存储器230中存储的第(n-1)子组块。在向主机20提供第(n-1)子组块之后,存储器系统10可从非易失性存储器装置100中存储的各个数据组块读出第n子组块,并且可将所读取的第n子组块存储到控制器200的存储器230中。主机20可基于从存储器系统10提供的第(n-1)子组块来执行第(n-1)单位学习操作。

在时间t2,主机20可向存储器系统10提供针对第n子组块的读取请求。

在时间t3,存储器系统10可向主机20提供控制器200的存储器230中存储的第n子组块。

在向主机20提供第n子组块之后,存储器系统10可从非易失性存储器装置100中存储的各个数据组块读出第(n+1)子组块,并且可将所读取的第(n+1)子组块存储到控制器200的存储器230中。

主机20可基于从存储器系统10提供的第n子组块来执行第n单位学习操作。

根据本公开的实施例,存储器系统10可在从主机20接收针对第n子组块的读取请求之前执行预读取操作,从非易失性存储器装置100读出第n子组块并将所读取的第n子组块存储到控制器的存储器230中。因此,在从主机20接收针对第n子组块的读取请求之后,可最小化向主机20提供第n子组块所需的时间延迟td。

图8是示出根据本公开的实施例的包括固态驱动器(ssd)的数据处理系统的配置的示图。参照图8,数据处理系统2000可包括主机2100和固态驱动器(ssd)2200。

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

控制器2210可控制ssd2200的全部操作。控制器2210可以与图1的控制器200基本相同的方式来实施和操作。

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

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

电源2240可向ssd2200的内部提供电力,其中电力pwr通过电源连接器2260输入。电源2240可包括辅助电源2241。当发生突然断电(spo)时,辅助电源2241可供应电力以允许ssd2200正确地结束。辅助电源2241可包括能够对电源pwr充电的大容量电容器。

控制器2210可通过信号连接器2250与主机2100交换信号sgl。信号sgl可包括命令、地址、数据等。信号连接器2250可根据主机2100和ssd2200之间的接口方案被配置成各种类型的连接器中的任意一种。

图9是示出图8所示的控制器的配置的示图。参照图9,控制器2210可包括主机接口2211、控制组件2212、随机存取存储器2213、错误校正码(ecc)组件2214和存储器接口2215。

主机接口2211可根据主机2100的协议来执行主机2100和ssd2200之间的接口连接。例如,主机接口2211可通过以下协议中的任意一种与主机2100通信:安全数字(sd)、通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、个人计算机存储卡国际协会(pcmcia)、并行高级技术附件(pata)、串行高级技术附件(sata)、小型计算机系统接口(scsi)、串列scsi(sas)、外围组件互连(pci)、高速pci(pci-e)和/或通用闪存(ufs)。另外,主机接口2211可执行磁盘模拟功能,支持主机2100以将ssd2200识别为例如硬盘驱动器(hdd)的通用存储器系统。

控制组件2212可解析和处理从主机2100提供的信号sgl。控制组件2212可根据用于驱动ssd2200的固件或软件来控制内部功能块的操作。随机存取存储器2213可作为用于驱动这种固件或软件的工作存储器来操作。

ecc组件2214可生成用于待被传输到非易失性存储器装置2231至223n的数据的奇偶校验数据。所生成的奇偶校验数据可与该数据一起存储在非易失性存储器装置2231至223n中。ecc组件2214可基于奇偶校验数据来检测从非易失性存储器装置2231至223n读出的数据的错误。当所检测到的错误在可校正范围内时,ecc组件2214可校正所检测到的错误。

存储器接口2215可根据控制组件2212的控制将诸如命令和地址的控制信号提供给非易失性存储器装置2231至223n。存储器接口2215可根据控制组件2212的控制与非易失性存储器装置2231至223n交换数据。例如,存储器接口2215可将存储在缓冲存储器装置2220中的数据提供到非易失性存储器装置2231至223n,或者将从非易失性存储器装置2231至223n读取的数据提供到缓冲存储器装置2220。

图10是示出根据本公开的实施例的包括存储器系统的数据处理系统的配置的示图。参照图10,数据处理系统3000可包括主机3100和存储器系统3200。

主机3100可以诸如印制电路板的板的形式来配置。虽然未在图10中示出,但主机3100可包括用于执行主机的功能的内部功能块。

主机3100可包括诸如插座、插槽或连接器的连接端子3110。存储器系统3200可被安装在连接端子3110上。

存储器系统3200可以诸如印制电路板的板的形式来配置。存储器系统3200可称为存储器模块或存储卡。存储器系统3200可包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(pmic)3240和连接端子3250。

控制器3210可控制存储器系统3200的全部操作。控制器3210可以与图9所示的控制器2210基本相同的方式来配置。

缓冲存储器装置3220可临时存储待存储在非易失性存储器装置3231和3232中的数据。进一步地,缓冲存储器装置3220可临时存储从非易失性存储器装置3231和3232读出的数据。根据控制器3210的控制,临时存储在缓冲存储器装置3220中的数据可被传输到主机3100或非易失性存储器装置3231和3232。

非易失性存储器装置3231和3232可用作存储器系统3200的存储介质。

pmic3240可向存储器系统3200的内部提供电力,其中电力通过连接端子3250输入。pmic3240可根据控制器3210的控制来管理存储器系统3200的电力。

连接端子3250可电联接到主机3100的连接端子3110。通过连接端子3250,可在主机装置3100与存储器系统3200之间传送诸如命令、地址、数据等的信号和电力。连接端子3250可依照主机3100与存储器系统3200之间的接口连接方案而被配置成各种类型中的任意一种。连接端子3250可被设置在存储器系统3200上或任意一侧中。

图11是示出根据本公开的实施例的包括存储器系统的数据处理系统的配置的示图。参照图11,数据处理系统4000可包括主机4100和存储器系统4200。

主机4100可以诸如印制电路板的板的形式来配置。虽然未在图11中示出,但主机4100可包括用于执行主机的功能的内部功能块。

存储器系统4200可以表面安装型封装的形式来配置。存储器系统4200可通过焊球4250安装到主机4100上。存储器系统4200可包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。

控制器4210可控制存储器系统4200的全部操作。控制器4210可以与图9所示的控制器2210基本相同的方式来配置。

缓冲存储器装置4220可临时存储待存储在非易失性存储器装置4230中的数据。进一步地,缓冲存储器装置4220可临时存储从非易失性存储器装置4230读出的数据。根据控制器4210的控制,临时存储在缓冲存储器装置4220中的数据可被传输到主机4100或非易失性存储器装置4230。

非易失性存储器装置4230可用作存储器系统4200的存储介质。

图12是示出根据本公开的实施例的包括存储器系统的网络系统5000的配置的示图。参照图12,网络系统5000可包括通过网络5500彼此电联接的服务器系统5300和多个客户端系统5410至5430。

服务器系统5300可响应于来自多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可存储从多个客户端系统5410至5430提供的数据。在另一示例中,服务器系统5300可将数据提供至多个客户端系统5410至5430。

服务器系统5300可包括主机5100和存储器系统5200。存储器系统5200可被配置为图1所示的存储器系统10、图9所示的存储器系统2200、图10所示的存储器系统3200或图11所示的存储器系统4200。

虽然已经示出和描述了特定实施例,但是本领域技术人员将理解的是,所公开的实施例仅代表示例。因此,本发明不限于所公开的实施例或受到所公开的实施例的限制。相反,本发明涵盖落入权利要求范围内的任何所公开实施例的所有修改和变化。

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