掌桥专利:专业的专利平台
掌桥专利
首页

存储器控制器及其操作方法

文献发布时间:2023-06-19 12:27:31


存储器控制器及其操作方法

相关申请的交叉引用

本申请要求于2020年3月2日提交的申请号为10-2020-0026228的韩国专利申请的优先权,其通过引用整体并入本文。

技术领域

本公开涉及一种电子装置,并且更特别地,涉及一种存储器控制器及其操作方法。

背景技术

存储装置在诸如计算机、智能电话或智能平板的主机装置的控制下存储数据。存储装置可以是将数据存储在诸如硬盘驱动器(HDD)的磁盘中的类型,或是将数据存储在诸如固态驱动器(SSD)或存储卡的半导体存储器、特别是非易失性存储器中的类型。

存储装置可以包括存储数据的存储器装置和将数据存储在存储器装置中的存储器控制器。存储器装置可以是易失性存储器或非易失性存储器。非易失性存储器的示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EPM)、闪速存储器、相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)和铁电RAM(FRAM)。

发明内容

本公开的实施例提供一种存储器控制器及操作该存储器控制器的方法,其控制存储器装置以有效地使用存储器装置的空间。

根据本公开的实施例的存储器控制器控制存储器装置。该存储器控制器可以包括:高速缓存缓冲器,被配置为存储从主机接收到的数据并将数据输出到存储器装置,以及编程模式设置组件,被配置为基于从高速缓存缓冲器输出到存储器装置的数据的大小来确定编程模式,并且根据所确定的编程模式输出地址和命令。

根据本公开的实施例的操作存储器控制器的方法是操作控制存储器装置的存储器控制器的方法。该方法可以包括:存储从主机接收到的数据,将所存储的数据输出到存储器装置,基于输出到存储器装置的数据的大小确定编程模式,并且根据所确定的编程模式向存储器装置输出地址和命令。

根据本公开的实施例的控制器的操作方法可以包括:控制存储器装置以将数据缓冲在存储器装置中的页面缓冲器中;并且通过在紧接确认命令之前向存储器装置提供地址,根据编程时所缓冲的数据的大小,控制存储器装置以单层单元方法和三层单元方法中的一种来对所缓冲的数据进行编程。

根据本发明的实施例,可以通过根据存储在页面缓冲器中的数据的大小选择待存储数据的区域来有效地使用存储器装置的空间。

附图说明

图1是示出存储装置的框图。

图2是示出诸如图1的存储器装置的结构的示图。

图3是示出诸如图2的存储器单元阵列的实施例的示图。

图4是示出诸如图2的存储器单元阵列根据编程模式被划分的区域的示图。

图5是示出诸如图1的存储器装置的引脚配置的示图。

图6A和图6B是用于描述通过输入/输出线DQ接收到以改变行地址的命令和/或地址的示图。

图7是示出用于基于存储在页面缓冲器中的数据来确定编程模式的存储器控制器的配置的示图。

图8是示出诸如图1的主机、存储器控制器和存储器装置之间的数据传输的示图。

图9A、图9B和图9C是示出基于存储在页面缓冲器中的数据的大小来确定编程模式的方法的示图。

图10是示出当没有从主机接收到清除请求时确定编程模式的方法的示图。

图11是示出当从主机接收到清除请求或读取请求时确定编程模式的方法的示图。

图12是用于描述根据本公开的实施例的存储器控制器的操作的示图。

图13是用于描述根据本公开的实施例的存储器控制器的操作的流程图。

图14是用于描述根据本公开的实施例的存储器控制器的操作的流程图。

图15是示出诸如图1的存储器控制器的另一实施例的示图。

图16是示出根据本公开的实施例的应用了存储装置的存储卡系统的框图。

图17是示出根据本公开的实施例的应用了存储装置的固态驱动器(SSD)系统的框图。

图18是示出根据本公开的实施例的应用了存储装置的用户系统的框图。

具体实施方式

本文所提供的具体结构和功能描述涉及本发明的实施例。然而,可以以各种其他方式来配置和/或执行本发明的特征和方面。因此,本发明不限于或不受限于任何所公开的实施例,也不限于或不受限于本文所描述的任何特定细节。而且,在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。

图1是示出存储装置的框图。

参照图1,存储装置50可以包括存储器装置100和存储器控制器200。

存储装置50可以在诸如蜂窝电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV、平板PC或车载信息娱乐系统的主机300的控制下存储数据。

根据作为与主机300的通信方法的主机接口,存储装置50可被配置为各种类型的存储装置中的任一种。例如,存储装置50可以被配置为诸如以下的任一种:SSD,以MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,以SD、迷你SD和微型SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-E)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡以及记忆棒。

存储装置50可以被制造为各种类型的封装中的任一种。例如,存储装置50可以被制造为诸如以下的任一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)以及晶圆级堆叠封装(WSP)。

存储器装置100可以存储数据。存储器装置100响应于存储器控制器200的控制来操作。存储器装置100可以包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元。存储器单元阵列可以包括多个存储块。每个存储块可以包括多个存储器单元,并且多个存储器单元可以配置多个页面。在实施例中,页面可以是用于将数据存储在存储器装置100中或读取存储在存储器装置100中的数据的单位。存储块可以是用于擦除数据的单位。

在实施例中,存储器装置100可以是双倍数据速率同步动态随机存取存储器(DDRSDRAM)、低功率双倍数据速率第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功耗DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PRAM)、磁阻随机存取存储器(MRAM)、铁电随机存取存储器(FRAM)、自旋转移力矩随机存取存储器(STT-RAM)等。在本说明书中,通过示例的方式,在存储器装置100是NAND闪速存储器的情况下描述了本发明的特征和方面。

存储器装置100可以被实施为二维阵列结构或三维阵列结构。在下文中,描述三维阵列结构作为实施例,但是本发明不限于三维阵列结构。本公开不仅可以应用于电荷存储层由导电浮栅(FG)配置的闪速存储器装置,而且可以应用于电荷存储层由绝缘膜配置的电荷撷取闪存(CTF)。

在实施例中,存储器装置100可以以将一个数据位存储在一个存储器单元中的SLC方法操作。可选地,存储器装置100可以以将至少两个数据位存储在一个存储器单元中的方法操作。例如,存储器装置100可以以将两个数据位存储在一个存储器单元中的多层单元(MLC)方法、将三个数据位存储在一个存储器单元中的三层单元(TLC)方法或将四个数据位存储在一个存储器单元中的四层单元(QLC)方法操作。

存储器装置100被配置为从存储器控制器200接收命令和地址,并访问由存储器单元阵列中的地址选择的区域。也就是说,存储器装置100可以对由该地址选择的区域执行与该命令相对应的操作。例如,存储器装置100可以根据所接收到的命令执行写入操作(编程操作)、读取操作或擦除操作。例如,当接收到编程命令时,存储器装置100可以将数据编程到由地址选择的区域。当接收到读取命令时,存储器装置100可以从由地址选择的区域读取数据。当接收到擦除命令时,存储器装置100可以擦除存储在由地址选择的区域中的数据。

存储器控制器200可以控制存储装置50的全部操作。

当向存储装置50供应电源电压时,存储器控制器200可以运行固件。当存储器装置100是闪速存储器装置100时,存储器控制器200可以操作诸如闪速转换层(FTL)的固件,用于控制主机300和存储器装置100之间的通信。

在实施例中,存储器控制器200可以包括固件(未示出),该固件可以从主机300接收数据和逻辑块地址(LBA),并且将LBA转换为指示存储器装置100中的数据待存储在其中的存储器单元的地址的物理块地址(PBA)。另外,存储器控制器200可以将配置LBA和PBA之间的映射关系的逻辑-物理地址映射表存储在缓冲存储器中。

存储器控制器200可以根据主机300的请求,控制存储器装置100以执行编程操作、读取操作、擦除操作等。例如,当从主机300接收到编程请求时,存储器控制器200可以将编程请求转换为编程命令,并且可以将编程命令、PBA和数据提供到存储器装置100。当与LBA一起从主机300接收到读取请求时,存储器控制器200可以将读取请求改变为读取命令,选择与LBA相对应的PBA,然后将读取命令和PBA提供到存储器装置100。当与LBA一起从主机300接收到擦除请求时,存储器控制器200可以将擦除请求改变为擦除命令,选择与LBA相对应的PBA,然后将擦除命令和PBA提供到存储器装置100。

在实施例中,存储器控制器200可以在没有来自主机300的相应请求的情况下生成编程命令、地址和数据并将其传输到存储器装置100。例如,存储器控制器200可以自主地向存储器装置100提供命令、地址和数据,以便执行诸如损耗均衡操作和垃圾收集操作的各种后台操作中的任一种。

存储器控制器200可以包括高速缓存缓冲器210。高速缓存缓冲器210可以临时存储从主机300接收到的主机数据。主机数据可以是待在存储器装置100中编程的编程数据。

在实施例中,当高速缓存缓冲器210中存储的主机数据的大小等于或大于特定大小时,高速缓存缓冲器210中存储的主机数据可以作为编程数据被输出到存储器装置100。可选地,当在将主机数据存储在高速缓存缓冲器210中之后经过一定时间时,可以按照多条主机数据存储在高速缓存缓冲器210中的顺序将主机数据作为编程数据逐条地输出到存储器装置100。

在本公开中,在将主机数据存储在高速缓存缓冲器210中之后,可以按主机数据存储在高速缓存缓冲器210中的顺序逐条地输出主机数据。此处,主机数据可以作为编程数据从高速缓存缓冲器210输出。从高速缓存缓冲器210输出的编程数据可以存储在存储器装置100的页面缓冲器中。可以基于存储在页面缓冲器中的数据来确定编程模式。

编程模式可以是以单层单元(SLC)方法执行编程操作的SLC模式或以TLC方法执行编程操作的TLC模式中的任一种。

存储器控制器200可以包括编程模式设置组件220。编程模式设置组件220可以设置对存储器装置100中的数据进行编程的方法,即,编程模式。编程模式设置组件220可以基于存储在页面缓冲器中的数据的大小来设置编程模式。

在实施例中,当存储在页面缓冲器中的数据具有以SLC方法可编程的大小时,编程模式设置组件220可以将编程模式设置为SLC模式。当编程模式被设置为SLC模式时,可以以SLC方法对传输到存储器装置100的数据进行编程。

在实施例中,存储器装置100的初始或默认编程模式可以是TLC模式。因此,首先,存储器装置100可以以TLC方法执行编程操作。

然而,当存储器装置100以TLC方法执行编程操作时存储在页面缓冲器中的数据变为以SLC方法可编程的大小时,编程模式设置组件220可以将编程模式切换为SLC模式。当将编程模式设置为SLC模式时,可以以SLC方法对传输到存储器装置100的数据进行编程。

此后,当存储在页面缓冲器中的数据的大小无法(或不再)以SLC方法进行编程时,编程模式设置组件220可以再次将编程模式设置为或切换到TLC模式。当编程模式被设置为TLC模式时,可以以TLC方法对传输到存储器装置100的数据进行编程。

在实施例中,存储装置50可以进一步包括缓冲存储器(未示出)。存储器控制器200可以控制主机300和缓冲存储器(未示出)之间的数据交换。可选地,存储器控制器200可以将用于控制存储器装置100的系统数据临时存储在缓冲存储器中。例如,存储器控制器200可以将从主机300输入的数据临时存储在缓冲存储器中,然后将临时存储在缓冲存储器中的数据传输到存储器装置100。

在各个实施例中,缓冲存储器可以用作存储器控制器200的操作存储器和高速缓存存储器。缓冲存储器可以存储由存储器控制器200运行的代码或命令。可选地,缓冲存储器可以存储由存储器控制器200处理的数据。

在实施例中,缓冲存储器可以被实施为诸如双倍数据速率同步动态随机存取存储器(DDR SDRAM)、DDR4 SDRAM、低功耗双倍数据速率第四代(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功耗DDR(LPDDR)和/或Rambus动态随机存取存储器(DRAM)的动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。

在各个实施例中,缓冲存储器可以是连接到存储装置50的单独组件。在这种情况下,每个都连接到存储装置50的一个或多个外部易失性存储器装置可以用作缓冲存储器。

在实施例中,存储器控制器200可以控制两个或更多个存储器装置。在这种情况下,存储器控制器200可以根据交错方法来控制存储器装置,以便提高操作性能。

主机可以使用诸如以下的各种通信方法中的至少一种来与存储装置50通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和/或低负载DIMM(LRDIMM)。

图2是示出图1的存储器装置的结构的示图。

参照图2,存储器装置100可以包括存储器单元阵列110、外围电路120和控制逻辑130。

存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过行线RL连接到行解码器121。多个存储块BLK1至BLKz可以通过位线BL1至BLn连接到页面缓冲器组123。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。作为实施例,多个存储器单元是非易失性存储器单元。连接到相同字线的存储器单元可以被定义为一个页面。因此,一个存储块可以包括多个页面。

行线RL可以包括至少一个源极选择线、多个字线和至少一个漏极选择线。

存储器单元阵列110中的每个存储器单元可以被配置为存储一个数据位的单层单元(SLC)、存储两个数据位的多层单元(MLC)、存储三个数据位的TLC或存储四个数据位的四层单元(QLC)。

外围电路120可以被配置为在控制逻辑130的控制下对存储器单元阵列110的所选择的区域执行编程操作、读取操作或擦除操作。外围电路120可以驱动存储器单元阵列110。例如,外围电路120可以在控制逻辑130的控制下向行线RL和位线BL1至BLn施加各种操作电压或释放所施加的电压。

外围电路120可以包括行解码器121、电压生成器122、页面缓冲器组123、列解码器124、输入/输出电路125和感测电路126。

行解码器121通过行线RL连接到存储器单元阵列110。行线RL可以包括至少一个源极选择线、多个字线和至少一个漏极选择线。在实施例中,字线可以包括正常字线和虚设字线。在实施例中,行线RL可以进一步包括管道选择线。

行解码器121被配置为对从控制逻辑130接收到的行地址RADD进行解码。行解码器121根据经解码的地址选择存储块BLK1至BLKz之中的至少一个存储块。另外,行解码器121可以根据经解码的地址选择存储块的至少一个字线,该存储块被选择以将由电压生成器122生成的电压施加到至少一个字线WL。

例如,在编程操作期间,行解码器121可以将编程电压施加到所选择的字线,并且将低于编程电压的电平的编程通过电压施加到未选择的字线。在编程验证操作期间,行解码器121可以将验证电压施加到所选择的字线,并且将高于验证电压的验证通过电压施加到未选择的字线。在读取操作期间,行解码器121可以将读取电压施加到所选择的字线,并将高于读取电压的读取通过电压施加到未选择的字线。

在实施例中,以存储块为单位执行存储器装置100的擦除操作。在擦除操作期间,行解码器121可以根据经解码的地址选择一个存储块。在擦除操作期间,行解码器121可以将接地电压施加到连接到所选择的存储块的字线。

电压生成器122响应于控制逻辑130的控制而操作。电压生成器122被配置为使用供应到存储器装置100的外部电源电压生成多个电压。具体地,电压生成器122可以响应于操作信号OPSIG而生成用于编程操作、读取操作和擦除操作的各种操作电压Vop。例如,电压生成器122可以响应于控制逻辑130的控制来生成编程电压、验证电压、通过电压、读取电压、擦除电压等。

在实施例中,电压生成器122可以通过调节外部电源电压来生成内部电源电压。由电压生成器122生成的内部电源电压被用作存储器装置100的操作电压。

在实施例中,电压生成器122可以使用外部电源电压或内部电源电压来生成多个电压。

例如,电压生成器122可以包括接收内部电源电压的多个泵浦电容器,并且可以响应于控制逻辑130的控制而选择性地启用多个泵浦电容器以生成多个电压。

所生成的多个电压可以由行解码器121供应到存储器单元阵列110。

页面缓冲器组123包括分别通过第一至第n位线BL1至BLn连接到存储器单元阵列110的第一至第n页面缓冲器PB1至PBn。第一至第n页面缓冲器PB1至PBn响应于控制逻辑130的控制而操作。具体地,第一至第n页面缓冲器PB1至PBn可以响应于页面缓冲器控制信号PBSIGNALS而操作。例如,第一至第n页面缓冲器PB1至PBn可以临时存储通过第一至第n位线BL1至BLn接收到的数据,或可以在读取操作或验证操作期间感测位线BL1至BLn的电压或电流。

具体地,在编程操作期间,当将编程电压施加到所选择的字线时,第一至第n页面缓冲器PB1至PBn可以通过第一至第n位线BL1至BLn将通过输入/输出电路125接收到的数据DATA传送到所选择的存储器单元。根据所传送的数据DATA对所选择的页面的存储器单元进行编程。在编程验证操作期间,第一至第n页面缓冲器PB1至PBn可以通过感测通过第一至第n位线BL1至BLn从所选择的存储器单元接收到的电压或电流来读取页面数据。

在读取操作期间,第一至第n页面缓冲器PB1至PBn通过第一至第n位线BL1至BLn从所选择的页面的存储器单元读取数据DATA,并且在列解码器124的控制下将所读取的数据DATA输出到输入/输出电路125。

在擦除操作期间,第一至第n页面缓冲器PB1至PBn可以使第一至第n位线BL1至BLn浮置或施加擦除电压。

列解码器124可以响应于列地址CADD在输入/输出电路125和页面缓冲器组123之间传送数据。例如,列解码器124可以通过数据线DL与第一至第n页面缓冲器PB1至PBn交换数据,或者可以通过列线CL与输入/输出电路125交换数据。

输入/输出电路125可以将从图1的存储器控制器200接收到的命令CMD和地址ADDR传送到控制逻辑130,或者可以与列解码器124交换数据DATA。

感测电路126可以在读取操作或验证操作期间响应于允许位信号VRYBIT而生成参考电流,并且将从页面缓冲器组123接收到的感测电压VPB与由参考电流生成的参考电压进行比较,以输出通过信号PASS或失败信号FAIL。

控制逻辑130可以响应于命令CMD和地址ADDR而输出操作信号OPSIG、行地址RADD、页面缓冲器控制信号PBSIGNALS以及允许位VRYBIT以控制外围电路120。例如,控制逻辑130可以响应于子块读取命令和地址来控制所选择的存储块的读取操作。另外,控制逻辑130可以响应于子块擦除命令和地址来控制所选择的存储块中包括的所选择的子块的擦除操作。此外,控制逻辑130可以响应于通过信号PASS或失败信号FAIL来确定验证操作是已经通过还是已经失败。

可以根据存储在每个存储器单元中的数据将存储器单元阵列110中的存储器单元编程为多种编程状态中的任一种。可以根据待存储的数据将存储器单元的目标编程状态确定为多种编程状态中的任一种。

图3是示出图2的存储器单元阵列的实施例的示图。

图3是示出图2的存储器单元阵列110中的多个存储块BLK1至BLKz之中的代表性存储块BLKa的电路图。

彼此平行布置的第一选择线、字线和第二选择线可以连接到存储块BLKa。例如,字线可以在第一选择线和第二选择线之间彼此平行地布置。此处,第一选择线可以是源极选择线SSL,第二选择线可以是漏极选择线DSL。

更具体地,存储块BLKa可以包括在位线BL1至BLn与源极线SL之间连接的多个串。位线BL1至BLn可以分别连接到串,并且源极线SL可以共同地连接到串。由于每个串可以被相同地配置,因此,作为示例,具体描述了连接到第一位线BL1的串ST。

串ST可以包括源极选择晶体管SST、多个存储器单元F1至F16以及串联连接在源极线SL和第一位线BL1之间的漏极选择晶体管DST。一个串ST可以包括一个或多个源极选择晶体管SST和漏极选择晶体管DST,并且可以包括多于图中所示的16个存储器单元F1至F16。

源极选择晶体管SST的源极可以连接到源极线SL,并且漏极选择晶体管DST的漏极可以连接到第一位线BL1。存储器单元F1至F16可以在源极选择晶体管SST和漏极选择晶体管DST之间串联连接。不同串中包括的源极选择晶体管SST的栅极可以连接到源极选择线SSL,漏极选择晶体管DST的栅极可以连接到漏极选择线DSL,并且存储器单元F1至F16的栅极可以连接到多个字线WL1至WL16。可以将不同串中包括的存储器单元之中的连接到相同字线的一组存储器单元称为物理页面PPG。因此,存储块BLKa可以包括与字线WL1至WL16相同数量的物理页面PPG。

一个存储器单元可以存储一位数据。这通常称为单层单元(SLC)。在这种情况下,一个物理页面PPG可以存储一个逻辑页面(LPG)数据。一个逻辑页面(LPG)数据可以包括与一个物理页面PPG中存在的存储器单元相同数量的数据位。另外,一个存储器单元可以存储两位或更多位数据。通常将其称为多层单元(MLC)。在这种情况下,一个物理页面PPG可以存储两个或多个逻辑页面(LPG)数据。

在一个存储器单元中存储两位或更多位数据的存储器单元称为多层单元(MLC),但是近来,随着一个存储器单元中存储的数据的位数的增加,从更具体的意义上讲,多层单元(MLC)指的是存储两位数据的存储器单元。在这种情况下,将存储三位或更多位数据的存储器单元称为三层单元(TLC),将存储四位数据的存储器单元称为四层单元(QLC)。另外,已经开发了存储多于四位数据的存储器单元方法。因此,更一般地,本发明可以应用于存储两位或更多位数据的存储器装置。

在另一实施例中,存储块可以具有三维结构。每个存储块包括堆叠在衬底上的多个存储器单元。该多个存储器单元沿+X方向、+Y方向和+Z方向布置。

图4是示出图2的存储器单元阵列根据编程模式被划分的区域的示图。

图4示出图2的存储器单元阵列110被划分的区域。在图4中,存储器单元阵列110可以被划分为第一区域110_1和第二区域110_2,即,两个区域。在实施例中,第一区域110_1和第二区域110_2的大小可以相同或不同。更一般地,每个区域的大小可以被设置为任何合适的大小。

在另一实施例中,图2的存储器单元阵列110可以被划分为两个以上的区域。例如,图2的存储器单元阵列110可以被划分为三个区域。

在实施例中,第一区域110_1可以是以SLC方法对数据进行编程的区域,而第二区域110_2可以是以TLC方法对数据进行编程的区域。

存储器装置100可以最初使用TLC方法将存储在页面缓冲器组123的页面缓冲器PB1至PBn中的数据编程到第二区域110_2中,然后基于存储在页面缓冲器PB1至PBn中的数据的大小,将存储在页面缓冲器PB1至PBn中的数据编程到第一区域110_1或第二区域110_2中。

具体地,基于存储在页面缓冲器组123的页面缓冲器PB1至PBn中的数据的大小,当存储器控制器200将编程模式设置为SLC模式时,图1的存储器装置100可以将存储在页面缓冲器PB1至PBn中的数据编程在第一区域110_1中。

可选地,基于存储在页面缓冲器PB1至PBn中的数据的大小,当存储器控制器200将编程模式设置为TLC模式时,存储器装置100可以将存储在页面缓冲器PB1至PBn中的数据编程在第二区域110_2中。

在实施例中,存储器控制器200可以基于存储在页面缓冲器PB1至PBn中的数据的大小来确定地址和命令,从而将存储在页面缓冲器组123的页面缓冲器PB1至PBn中的数据编程在第一区域110_1或第二区域110_2中。另外,存储器控制器200可以通过存储器装置的引脚传输所确定的地址和命令。

参照图5更详细地描述存储器装置的引脚。

图5是示出图1的存储器装置100的引脚配置的示图。

参照图5,存储器装置100可以通过多个输入/输出线与存储器控制器200通信。例如,存储器装置100通过数据输入/输出线DQ与存储器控制器200通信,并且控制包括芯片使能线CE#、写入使能线WE#、读取使能线RE#、地址锁存使能线ALE、命令锁存使能线CLE、写入保护线WP#和就绪忙碌线RB的信号线。

存储器装置100可以通过芯片使能线CE#从存储器控制器200接收芯片使能信号。存储器装置100可以通过写入使能线WE#从存储器控制器200接收写入使能信号。存储器装置100可以通过读取使能线RE#从存储器控制器200接收读取使能信号。存储器装置100可以通过地址锁存使能线ALE从存储器控制器200接收地址锁存使能信号。存储器装置100可以通过命令锁存使能线CLE从存储器控制器200接收命令锁存使能信号。存储器装置100可以通过写入保护线WP#从存储器控制器200接收写入保护信号。

在实施例中,存储器装置100可以通过就绪忙碌线RB向存储器控制器200提供输出存储器装置100是处于就绪状态还是忙碌状态的读取忙碌信号。

芯片使能信号可以是用于选择存储器装置100的控制信号。当芯片使能信号处于“高”状态并且存储器装置100处于“就绪”状态时,存储器装置100可以进入低功率待机状态。

写入使能信号可以是用于控制将输入到存储器装置100的命令、地址和输入数据存储在锁存器中的控制信号。

读取使能信号可以是用于使串行数据能够输出的控制信号。

地址锁存使能信号可以是主机用来指示输入到输入/输出线DQ的信号的类型是命令、地址还是数据的控制信号中的一个。

命令锁存使能信号可以是主机用来指示输入到输入/输出线DQ的信号的类型是命令、地址还是数据的控制信号中的一个。

例如,当命令锁存使能信号被启用(例如,逻辑高),地址锁存使能信号被停用(例如,逻辑低),并且写入使能信号被启用(例如,逻辑低)然后被停用(例如,逻辑高)时,存储器装置100可以识别通过输入/输出线DQ输入的信号可以是命令。

例如,当命令锁存使能信号被停用(例如,逻辑低),地址锁存使能信号被启用(例如,逻辑高),并且写入使能信号被启用(例如,逻辑低)然后被停用(例如,逻辑高)时,存储器装置100可以识别通过输入/输出线DQ输入的信号可以是地址。

写入保护信号可以是用于使存储器装置100停止执行编程操作和擦除操作的控制信号。

就绪忙碌信号可以用于识别存储器装置100的状态。也就是说,处于低状态的就绪忙碌信号指示存储器装置100正在执行至少一个操作。处于高状态的就绪忙碌信号指示存储器装置100不执行任何操作。

当存储器装置100执行编程、擦除和/或读取操作时,就绪忙碌信号可处于低状态。在本公开的实施例中,图1的存储器控制器200可以基于就绪忙碌信号确定正在执行的操作(即编程操作或擦除操作)结束的时间。

图6A和图6B是用于描述通过输入/输出线DQ接收到以改变行地址的命令和/或地址的示图。

图6A示出了在接收到确认命令以改变行地址之前接收到命令和地址的情况,图6B示出了在接收到确认命令以改变行地址之前仅接收到地址的情况。

在图6A和图6B中,通过图5的输入/输出线DQ从存储器控制器200顺序地接收第一命令CMD1、第一地址ADDR1和第一数据DATA1。

在实施例中,第一命令CMD1可以是设置命令,而第二命令CMD2可以是确认命令。设置命令可以用于确定对从存储器控制器200接收到的数据进行编程的方法,并且确认命令可以用于指示与由设置命令确定的命令相对应的操作的开始。第一地址ADDR1可以包括列地址和行地址。第一数据DATA1可以是待被编程在存储器装置100中的数据。

在实施例中,当从存储器控制器200接收到第一命令CMD1、第一地址ADDR1和第一数据DATA1时,第一数据DATA1可以临时存储在与第一地址ADDR1中包括的列地址相对应的页面缓冲器中。

此后,当存储器装置100通过存储器装置100的输入/输出线DQ从存储器控制器200接收到第二命令CMD2时,即,当存储器装置100接收到确认命令时,存储器装置100可以将存储在页面缓冲器中的第一数据DATA1编程在存储器单元阵列110中。可以通过第一地址ADDR1的行地址来确定对第一数据DATA1进行编程的方法。

然而,参照图6A,为了将第一数据DATA1存储在与对应于第一地址ADDR1中的行地址的存储器区域不同的存储器区域中,存储器装置100可以在接收到确认命令之前从存储器控制器200接收地址改变命令和改变地址。

例如,在从存储器控制器200接收第二命令CMD2即确认命令之前,存储器装置100可以接收第三命令CMD3和第三地址ADDR3(801)。第三命令CMD3可以是地址改变命令,并且第三地址ADDR3可以是改变地址。地址改变命令可以用于指示基于改变地址改变存储数据的存储器区域。通过基于第三命令CMD3和第三地址ADDR3改变待存储第一数据DATA1的存储器区域,还改变了存储DATA1的方法。

在图6A和图6B中,仅行地址可以包括在第三地址ADDR3中,或者行地址和列地址都可以包括在第三地址ADDR3中。由于第三命令CMD3是用于改变行地址的地址改变命令,因此可以仅基于行地址来确定待存储第一数据DATA1的存储器区域,而不管列地址是否包括在第三地址ADDR3中。

参照图6B,在接收第二命令CMD2之前,即,在接收确认命令之前,可以从存储器控制器200接收用于再次确定待存储第一数据DATA1的存储器区域的第三地址ADDR3。与关于图6A所描述的不同,在图6B中,为了改变待存储第一数据DATA1的存储器区域,存储器装置100可不接收地址改变命令,而可仅接收作为改变地址的第三地址ADDR3(803)。

具体地,参照图6B,如在图6A中,存储器装置100可以通过存储器装置100的输入/输出线DQ从存储器控制器200顺序地接收第一命令、第一地址ADDR1和第一数据DATA1。

然而,与图6A不同,为了改变由第一地址ADDR1确定的行地址,也就是为了改变已经确定的、待存储第一数据DATA1的存储器区域,存储器装置100可以仅从存储器控制器200接收第三地址ADDR3。存储器装置100可以通过第三地址ADDR3改变由第一地址ADDR1确定的存储器区域。

因此,参照图6B,可以仅基于第二命令CMD2,也就是在接收确认命令之前接收到的第三地址ADDR3,改变待存储第一数据DATA1的存储器区域。

图7是示出用于基于存储在页面缓冲器中的数据来确定编程模式的存储器控制器的配置的示图。

参照图7,存储器控制器200可以包括高速缓存缓冲器210和编程模式设置组件220。假设编程模式设置组件220预先知道存储器装置100中的页面缓冲器的大小(容量)。

在实施例中,主机300可以将主机数据HOST_DATA与编程请求PGM_REQ一起输出到存储器控制器200。编程请求PGM_REQ可以用于向存储器装置100指示编程操作。另外,主机数据HOST_DATA可以对应于编程请求PGM_REQ,并且可以是待被编程在存储器装置100中的编程数据PGM_DATA。

当从主机300接收到主机数据HOST_DATA时,高速缓存缓冲器210可以存储所接收到的主机数据HOST_DATA。可以将存储在高速缓存缓冲器210中的主机数据HOST_DATA作为编程数据PGM_DATA输出到存储器装置100。可以按照主机数据HOST_DATA存储在高速缓存缓冲器210中的顺序或次序来输出主机数据HOST_DATA。当从高速缓存缓冲器210输出编程数据PGM_DATA时,编程数据PGM_DATA可以存储在存储器装置100中的页面缓冲器中。

在实施例中,编程数据PGM_DATA可以被输出到编程模式设置组件220以及存储器装置100。编程模式设置组件220可以基于来自高速缓存缓冲器210的编程数据PGM_DATA的大小来确定存储在页面缓冲器中的数据的大小。

也就是说,由于在从高速缓存缓冲器210输出的所有数据被编程在存储器单元阵列110中之前,从高速缓存缓冲器210输出的所有数据存储在页面缓冲器中,因此可以基于从高速缓存缓冲器210输出的数据来确定存储在页面缓冲器中的数据的大小。

在实施例中,由于编程模式设置组件220预先知道页面缓冲器的大小(容量),因此编程模式设置组件220可以基于从高速缓存缓冲器210接收到的数据的大小来知道页面缓冲器的剩余大小(剩余容量)。也就是说,编程模式设置组件220可以确定可以额外地存储在页面缓冲器中的数据的大小。

编程模式设置组件220可以基于存储在页面缓冲器中的数据的大小或可以额外地存储在页面缓冲器中的数据的大小来设置编程模式。

例如,在第一编程操作期间,编程模式可以是以TLC方法执行编程操作的TLC模式。也就是说,默认模式可以是TLC模式。

然而,当在存储器装置100执行编程操作期间,存储在页面缓冲器中的数据是或变成以SLC方法可编程的大小时(当可以额外地存储在页面缓冲器中的数据等于或大于两个页面时),编程模式设置组件220可以将编程模式设置为SLC模式。

相反,当在存储器装置100执行编程操作期间,存储在页面缓冲器中的数据不是以SLC方法可编程的大小时(当可以额外地存储在页面缓冲器中的数据等于或小于一个页面时),编程模式设置组件220可以将编程模式设置为或者将编程模式保持在TLC模式,即默认模式。

在实施例中,主机300可以将清除请求FLUSH_REQ输出到存储器控制器200。清除请求FLUSH_REQ可以指示将存储在页面缓冲器中的所有数据编程在存储器单元阵列110中。

例如,当主机300没有输出清除请求FLUSH_REQ时,也就是当存储器控制器200没有从主机300接收到清除请求FLUSH_REQ时,根据执行编程操作时存储在页面缓冲器中的数据的大小,可以将编程模式改变为SLC模式,或者可以将编程模式保持为TLC模式。

然而,当主机300输出清除请求FLUSH_REQ时,也就是当存储器控制器200从主机300接收到清除请求FLUSH_REQ时,编程模式设置组件220可以在接收到清除请求FLUSH_REQ时确定存储在页面缓冲器中的数据的大小。

此后,编程模式设置组件220可以基于存储在页面缓冲器中的数据的大小来确定编程模式。也就是说,编程模式设置组件220可以基于存储在页面缓冲器中的数据的大小来确定待输出到存储器装置100的地址ADDR和确认命令CFM_CMD。编程模式设置组件220基于存储在页面缓冲器中的数据的大小而输出的地址ADDR可以是第三地址ADDR3(如图6A和图6B所示),并且确认命令CFM_CMD可以是图6A和图6B的第二命令CMD2。

在实施例中,作为通过从主机300接收清除请求FLUSH_REQ来确定存储在页面缓冲器中的数据的大小的结果,数据的大小可以是以SLC方法可编程的大小。当数据的大小是以SLC方法可编程的大小时,编程模式设置组件220可以将编程模式设置为SLC模式。

具体地,在SLC模式下,编程模式设置组件220可以输出用于选择存储器单元阵列110的第一区域110_1和第二区域110_2中的第一区域110_1的地址ADDR,以及用于指示以SLC方法执行编程操作的确认命令CFM_CMD。当从编程模式设置组件220接收到地址ADDR和确认命令CFM_CMD时,存储器装置100可以以SLC方法将存储在页面缓冲器中的数据编程在第一区域110_1中。

在另一实施例中,作为通过从主机300接收清除请求FLUSH_REQ来确定存储在页面缓冲器中的数据的大小的结果,该数据可以不是以SLC方法可编程的大小。当数据不是以SLC方法可编程的大小时,编程模式设置组件220可以将编程模式设置为TLC模式。

具体地,编程模式设置组件220可以输出用于选择存储器单元阵列110的第一区域110_1和第二区域110_2中的第二区域110_2的地址ADDR,以及用于指示以TLC方式执行编程操作的确认命令CFM_CMD。此后,当从编程模式设置组件220接收到地址ADDR和确认命令CFM_CMD时,存储器装置100可以以TLC方法将存储在页面缓冲器中的数据编程在第二区域110_2中。

因此,当存储器控制器200没有从主机300接收到清除请求FLUSH_REQ时,可以基于存储器装置100执行编程操作时存储在页面缓冲器中的数据的大小来设置编程模式。然而,当存储器控制器200从主机300接收到清除请求FLUSH_REQ时,可以基于在接收到清除请求FLUSH_REQ时存储在页面缓冲器中的数据的大小来设置编程模式。

图8是示出图1的主机、存储器控制器和存储器装置之间的数据传输的示图。

参照图8,主机(HOST)可以与图1的主机300相同地配置,存储器控制器(MEMORYCONTROLLER)可以与图1的存储器控制器200相同地配置,并且存储器装置(MEMORY DEVICE)可以与图1的存储器装置100相同地配置。

图8示出了从主机输出的数据存储在存储器装置的第一至第n页面缓冲器PB1至PBn中的一系列过程。在图8中,假设从主机输出的主机数据以第一至第六主机数据(即,HOST_DATA1至HOST_DATA6)的次序或顺序输出。

在实施例中,可以从主机输出第一至第六主机数据。主机数据可以是与从主机输出的编程请求相对应的数据,并且可以是待被编程在存储器装置中的数据。

从主机输出的主机数据可以存储在存储器控制器中包括的高速缓存缓冲器(CACHE BUFFER)中。HOST_DATA1至HOST_DATA6可以顺序地存储在高速缓存缓冲器中。

在实施例中,可以将存储在高速缓存缓冲器中的数据作为编程数据输出到存储器装置。输出到存储器装置的编程数据PGM_DATA1至PGM_DATA6可以以PGM_DATA1至PGM_DATA6存储在高速缓存缓冲器中的次序顺序地输出。

从高速缓存缓冲器输出的PGM_DATA1至PGM_DATA6可以存储在存储器装置的第一至第n页面缓冲器PB1至PBn中。

在实施例中,从主机输出的HOST_DATA1至HOST_DATA6的大小可以是4KB。因此,主机数据即从主机输出的HOST_DATA1至HOST_DATA6中的每一个以及编程数据中的每一个即从高速缓存缓冲器输出的PGM_DATA1至PGM_DATA6中的每一个的单位可以是4KB。

然而,可以以8KB为单位对存储在页面缓冲器PB1至PBn中的编程数据进行编程。也就是说,由于存储在页面缓冲器PB1至PBn中的数据以页面为单位被编程在存储器单元阵列110中,因此在编程操作期间一次编程的数据的大小可以是8KB,即,一个页面的大小。

例如,当存储器装置以TLC方法执行编程操作时,存储器装置可以通过对8KB大小的最低有效位(LSB)页面、8KB大小的中间有效位(CSB)页面和8KB大小的最高有效位(MSB)页面即三个页面执行编程操作,对存储器单元阵列110中的数据进行编程。也就是说,当存储在页面缓冲器PB1至PBn中的数据的大小不是可编程为一个页面的大小时,存储器装置可以在TLC模式下以TLC方法执行编程操作。

在另一实施例中,当存储在第一至第n页面缓冲器PB1至PBn中的数据具有可以被编程为一个页面的大小时(当存储第一编程数据PGM_DATA1和/或第二编程数据PGM_DATA2时),存储器装置可以在SLC模式下以SLC方法执行编程操作。也就是说,存储器装置可以通过对8KB大小的一个页面执行编程操作来对存储器单元阵列110中的数据进行编程。

参照图9A、图9B和图9C更详细地描述基于存储在第一至第n页面缓冲器PB1至PBn中的数据的大小来设置编程模式的方法,也就是确定执行编程操作的方法的方法。

图9A、图9B和图9C是示出基于存储在页面缓冲器中的数据的大小来确定编程模式的方法的示图。

图9A、图9B和图9C示出了存储在图8的第一至第n页面缓冲器PB1至PBn中的数据。与图8类似,在图9中,假设编程数据PGM_DATA1至PGM_DATA6中的每一个都是4KB单位,并且作为执行编程操作的单位的页面(LSB页面、CSB页面和MSB页面)的大小为8KB。

参照图9A,在存储器装置100执行编程操作时或在从主机300接收到清除请求时,存储在页面缓冲器中的数据可以是第一和第二编程数据PGM_DATA1和PGM_DATA2。

在这种情况下,存储在第一至第n页面缓冲器PB1至PBn中的数据可以具有可编程为一个页面的大小。因此,在存储器装置100执行编程操作时或在从主机300接收到清除请求时,编程模式设置组件220可以将编程模式从作为默认模式的TLC模式改变为SLC模式。

此后,编程模式设置组件220可以输出用于以SLC方法编程的地址和确认命令。所输出的地址可以用于选择图4的第一区域110_1,并且确认命令可以是用于指示以SLC方法执行编程操作的命令。

在从编程模式设置组件220接收到用于选择第一区域110_1的地址和用于指示以SLC方法执行编程操作的确认命令之后,存储器装置100可以以SLC方法将第一和第二编程数据PGM_DATA1和PGM_DATA2编程在第一区域110_1中。

在另一实施例中,当在存储器装置100执行编程操作时或在从主机300接收到清除请求时,存储在页面缓冲器中的数据仅是第一编程数据PGM_DATA1时,与以上类似,存储器装置100可以以SLC方法将第一编程数据编程在第一区域110_1中。

参照图9B,在存储器装置100执行编程操作时或在从主机300接收到清除请求时,存储在页面缓冲器中的数据可以是第一至第三编程数据PGM_DATA1至PGM_DATA3。另外,参照图9C,在存储器装置100执行编程操作时或在从主机300接收到清除请求时,存储在页面缓冲器中的数据可以是第一至第五编程数据PGM_DATA1至PGM_DATA5。

在图9B和图9C的情况下,存储在第一至第n页面缓冲器PB1至PBn中的数据可以不具有可编程为一个页面的大小。因此,在图9B和图9C中,在存储器装置100执行编程操作时或在从主机300接收到清除请求时,编程模式设置组件220可以将编程模式保持为作为默认模式的TLC模式。

此后,编程模式设置组件220可以输出用于以TLC方法编程的地址和确认命令。所输出的地址可以用于选择图4的第二区域110_2,并且确认命令可以是用于指示以TLC方法执行编程操作的命令。

在从编程模式设置组件220接收到用于选择第二区域110_2的地址和用于指示以TLC方法执行编程操作的确认命令之后,存储器装置100可以以TLC方法将第一至第三编程数据PGM_DATA1至PGM_DATA3或第一至第五编程数据PGM_DATA1至PGM_DATA5编程在第二区域110_2中。

图10是示出当没有从主机接收到清除请求时确定编程模式的方法的示图。

参照图10,存储器控制器200可以包括高速缓存缓冲器210和编程模式设置组件220。高速缓存缓冲器210可以从主机300接收并存储主机数据,并且将所存储的主机数据作为编程数据PGM_DATA输出。编程模式设置组件220可以设置用于将数据编程在存储器装置100中的编程模式。编程模式设置组件220可以输出指定待编程数据的区域的地址ADDR和用于根据所设置的编程模式确定编程方法的确认命令CFM_CMD。

在图10中,由于存储器控制器200没有从图1的主机300接收到清除请求,因此图10示出了在执行编程操作时存储器控制器200的操作。执行编程操作的时间可以是指将所有数据存储在存储器装置100的页面缓冲器中的时间,或者由存储器控制器200的内部操作确定执行编程操作的时间。

在实施例中,在执行编程操作时,编程模式设置组件220可以将剩余数据输出请求RDO_REQ输出到高速缓存缓冲器210。剩余数据输出请求RDO_REQ可以是用于输出存储在高速缓存缓冲器210中的所有数据的请求。

响应于剩余数据输出请求RDO_REQ,可以将存储在高速缓存缓冲器210中的数据作为编程数据PGM_DATA输出到存储器装置100。输出到存储器装置100的编程数据PGM_DATA可以存储在页面缓冲器中。

当输出存储在高速缓存缓冲器210中的所有数据时,可以输出指示从高速缓存缓冲器210输出的数据的大小的剩余数据输出信息RDO_INF。也就是说,剩余数据输出信息RDO_INF可以是指示从高速缓存缓冲器210输出到存储器控制器200的数据的大小的信息。

在接收到剩余数据输出信息RDO_INF之后,编程模式设置组件220可以确定从高速缓存缓冲器210输出到存储器装置100的编程数据PGM_DATA的大小。从高速缓存缓冲器210输出的编程数据PGM_DATA不仅可以包括由剩余数据输出请求RDO_REQ输出的编程数据PGM_DATA,而且可以包括在接收到剩余数据输出请求RDO_REQ之前从高速缓存缓冲器210输出的编程数据PGM_DATA。

此后,编程模式设置组件220可以基于从高速缓存缓冲器210输出的编程数据PGM_DATA的大小来设置编程模式。也就是说,基于存储在存储器装置100的页面缓冲器中的数据的大小,编程模式设置组件220可以将编程模式保持为作为默认模式的TLC模式,或者将编程模式改变为SLC模式。

当编程模式被保持为TLC模式时,编程模式设置组件220可以输出用于选择图4的存储器单元阵列110的第二区域110_2的地址ADDR,以及用于指示以TLC方法执行编程操作的确认命令CFM_CMD。

当编程模式改变为SLC模式时,编程模式设置组件220可以输出用于选择图4的存储器单元阵列110的第一区域110_1的地址ADDR,以及用于指示以SLC方法执行编程操作的确认命令CFM_CMD。

图11是示出当从主机接收到清除请求或读取请求时确定编程模式的方法的示图。

与关于图10示出和描述的配置不同,图11示出了存储器控制器200从主机300接收清除请求FLUSH_REQ或读取请求READ_REQ的情况。而且,在存储器控制器200从主机300接收到清除请求FLUSH_REQ以及读取请求READ_REQ的情况下,编程模式设置组件220以相同的方法设置编程模式。在下文中,作为示例描述了存储器控制器200从主机300接收到清除请求FLUSH_REQ的情况。

在图11中,存储器控制器200可以包括高速缓存缓冲器210和编程模式设置组件220。

在实施例中,主机300可以输出清除请求FLUSH_REQ或读取请求READ_REQ。清除请求FLUSH_REQ可以用于将存储在存储器控制器200的高速缓存缓冲器210中的数据输出到存储器装置100并执行编程操作。读取请求READ_REQ可以用于指示读取存储在存储器装置100中的特定数据。

在实施例中,当存储器控制器200正在向存储器装置100传输数据时,主机300可以将清除请求FLUSH_REQ输出到编程模式设置组件220。编程模式设置组件220可以响应于清除请求FLUSH_REQ将剩余数据输出请求RDO_REQ输出到高速缓存缓冲器210。剩余数据输出请求RDO_REQ可以用于输出存储在高速缓存缓冲器210中的所有数据。

响应于剩余数据输出请求RDO_REQ,可以将存储在高速缓存缓冲器210中的数据作为编程数据PGM_DATA输出到存储器装置100。输出到存储器装置100的编程数据PGM_DATA可以存储在页面缓冲器中。

当输出存储在高速缓存缓冲器210中的所有数据时,可以输出指示从高速缓存缓冲器210输出的数据的大小的剩余数据输出信息RDO_INF。也就是说,剩余数据输出信息RDO_INF可以是指示从高速缓存缓冲器210输出到存储器控制器200的数据的大小的信息。

在接收到剩余数据输出信息RDO_INF之后,编程模式设置组件220可以确定从高速缓存缓冲器210输出到存储器装置100的编程数据PGM_DATA的大小。从高速缓存缓冲器210输出的编程数据PGM_DATA不仅可以包括由剩余数据输出请求RDO_REQ输出的编程数据PGM_DATA,而且可以包括在接收到剩余数据输出请求RDO_REQ之前从高速缓存缓冲器210输出的编程数据PGM_DATA。

此后,编程模式设置组件220可以基于从高速缓存缓冲器210输出的编程数据PGM_DATA的大小来设置编程模式。也就是说,基于存储在存储器装置100的页面缓冲器中的数据的大小,编程模式设置组件220可以将编程模式保持为作为默认模式的TLC模式,或者将编程模式改变为SLC模式。

当编程模式被保持为TLC模式时,编程模式设置组件220可以输出用于选择图4的存储器单元阵列110的第二区域110_2的地址ADDR,以及用于指示以TLC方法执行编程操作的确认命令CFM_CMD。

当编程模式改变为SLC模式时,编程模式设置组件220可以输出用于选择图4的存储器单元阵列110的第一区域110_1的地址ADDR,以及用于指示以SLC方法执行编程操作的确认命令CFM_CMD。

在实施例中,当存储器控制器200正在向存储器装置100传输数据时,主机300可以将读取请求READ_REQ输出到编程模式设置组件220。编程模式设置组件220可以执行用于对存储在存储器装置100的页面缓冲器中的数据和存储在高速缓存缓冲器210中的数据进行编程的操作,以便执行与读取请求READ_REQ相对应的操作。

具体地,当编程模式设置组件220接收到读取请求READ_REQ时,编程模式设置组件220可以将剩余数据输出请求RDO_REQ输出到高速缓存缓冲器210。剩余数据输出请求RDO_REQ可以用于输出存储在高速缓存缓冲器210中的所有数据。也就是说,为了在将与读取请求READ_REQ相对应的数据输出到主机300之前优先地对存储在高速缓存缓冲器210中的数据进行编程,编程模式设置组件220可以输出剩余数据输出请求RDO_REQ。

此后,编程模式设置组件220可以基于从高速缓存缓冲器210输出的编程数据PGM_DATA的大小来设置编程模式。可以将编程模式设置为TLC模式或SLC模式。由于编程模式设置之后的操作与主机300输出清除请求FLUSH_REQ的情况相同,因此在此省略其描述。

图12是用于描述根据本公开的实施例的存储器控制器的操作的流程图。

参照图12,在步骤S1201中,存储器控制器可以将编程数据传输到存储器装置中的页面缓冲器。编程数据可以是从主机传输的数据,并且可以是存储在高速缓存缓冲器中然后输出的数据。

在步骤S1203中,存储器控制器可以确定是否所有数据都存储在页面缓冲器中。也就是说,存储器控制器可以基于是否所有数据都存储在页面缓冲器中来设置编程模式。

当所有数据都存储在页面缓冲器中时(在S1203处为“是”),存储器控制器可以在内部确定编程操作的执行,并且可以输出用于以TLC方法对数据进行编程的地址和确认命令(S1211)。

具体地,当所有数据都存储在页面缓冲器中时,由于存储器装置可能无法通过仅对一个页面进行编程来对所有数据进行编程,因此存储器控制器可以保持作为默认模式的TLC模式。存储器控制器可以在TLC模式下输出用于选择以TLC方法编程的区域的地址,以及用于指示以TLC方法执行编程操作的确认命令。

然而,当不是所有数据都存储在页面缓冲器中时(在S1203处为“否”),存储器控制器可以确定是否从主机接收到清除请求(S1205)。当存储器控制器没有从主机接收到清除请求时(在S1205处为“否”),进程进行到步骤S1207。当存储器控制器从主机接收到清除请求时(在1205处为“是”),进程进行到步骤S1209。

在步骤S1207中,存储器控制器可以确定是否存在存储在高速缓存缓冲器中的数据。具体地,当不是所有数据都存储在页面缓冲器中并且存储器控制器没有从主机接收到清除请求时,存储器控制器可以确定数据是否存在于高速缓存缓冲器中。通过确定数据是否存在于高速缓存缓冲器中,可以确定用于输出存储在高速缓存缓冲器中的数据或对存储在存储器装置的页面缓冲器中的数据进行编程的编程模式。

例如,当数据存在于高速缓存缓冲器中时(在S1207处为“是”),存储器控制器可以进行到步骤S1201,以将存储在高速缓存缓冲器中的数据作为编程数据传输到页面缓冲器。然而,当高速缓存缓冲器中不存在数据时(在S1207处为“否”),存储器控制器可以确定存储在页面缓冲器中的数据是否以SLC方法可编程(S1209)。

当存储在高速缓存缓冲器中的数据以SLC方法可编程时(在S1209处为“是”),存储器控制器可以输出用于以SLC方法对数据进行编程的地址和确认命令(S1213)。

具体地,数据以SLC方法可编程意味着存储器装置可以通过对一个页面进行编程来对所有数据进行编程。因此,当数据以SLC方法可编程时,存储器控制器可以将编程模式从TLC模式改变为SLC模式。存储器控制器可以在SLC模式下输出用于选择以SLC方法编程的区域的地址,以及用于指示以SLC方法执行编程操作的确认命令。

当存储在高速缓存缓冲器中的数据以SLC方法不可编程时(在S1209处为“否”),存储器控制器可以输出用于以TLC方法对数据进行编程的地址和确认命令(S1211)。

如上所述,存储器控制器可以在TLC模式下输出用于选择以TLC方法编程的区域的地址,以及用于指示以TLC方法执行编程操作的确认命令。

图13是用于描述根据本公开实施例的存储器控制器的操作的流程图。

参照图13,在步骤S1301中,在存储器控制器将编程数据传输到存储器装置之后,经过了参考时间。具体地,在从主机传输并存储在存储器控制器中的高速缓存缓冲器中的数据之后,从高速缓存缓冲器输出编程数据,从该输出的时间起,经过了参考时间。在参考时间内,没有其他数据从高速缓存缓冲器输出。

在经过参考时间之后,存储器控制器可以确定是否仍然存在存储在高速缓存缓冲器中的数据(S1303)。

在实施例中,当确定在高速缓存缓冲器中保留有数据时(在S1303处为“是”),存储器控制器可以将存储在高速缓存缓冲器中的数据传输到页面缓冲器(S1305)。在将存储在高速缓存缓冲器中的数据传输到并且存储在页面缓冲器中之后,存储器控制器可以再次确定在高速缓存缓冲器中是否保留有任何数据(S1303)。也就是说,存储器控制器不断检查是否有任何数据保留在高速缓存缓冲器中,直到确定产生答案“否”为止。

在实施例中,当确定没有数据保留在高速缓存缓冲器中时(在S1303处为“否”),存储器控制器可以确定数据是否以SLC方法可编程(S1307)。也就是说,存储器控制器可以确定存储器装置中的页面缓冲器中存储的数据是否可编程为一个页面。当所有数据可编程为一个页面时,存储器控制器可以控制存储器装置以SLC方法执行编程操作。

具体地,当数据以SLC方法可编程时(在S1307处为“是”),存储器控制器可以输出用于以SLC方法编程的地址和确认命令(S1309)。

例如,存储器控制器可以将编程模式从TLC模式改变为SLC模式。另外,存储器控制器可以在SLC模式下输出用于选择以SLC方法编程的区域的地址,以及用于指示以SLC方法执行编程操作的确认命令。

在实施例中,当数据不能以SLC方法编程时(在S1307处为“否”),存储器控制器可以输出用于以TLC方法编程的地址和确认命令(S1311)。

例如,存储器控制器可以将编程模式保持为TLC模式,或者如果当前处于SLC模式,则从SLC模式改变为TLC模式。另外,存储器控制器可以在TLC模式下输出用于选择以TLC方法编程的区域的地址,以及用于指示以TLC方法执行编程操作的确认命令。

图14是用于描述根据本公开的实施例的存储器控制器的操作的流程图。

参照图14,在步骤S1401中,存储器控制器可以从主机接收读取请求。读取请求可以读取存储在存储器装置的特定区域中的数据。当高速缓存缓冲器中存在数据时,优先地对存储在高速缓存缓冲器中的数据进行编程。因此,存储器控制器可以执行用于对存储在高速缓存缓冲器中的数据进行编程的操作。

在步骤S1403中,存储器控制器可以确定高速缓存缓冲器中是否存在数据。

在实施例中,当数据存在于高速缓存缓冲器中时(在S1403处为“是”),存储器控制器可以将存储在高速缓存缓冲器中的数据传输到页面缓冲器(S1405)。在将存储在高速缓存缓冲器中的数据传输到并且存储在页面缓冲器中之后,存储器控制器可以再次确定在高速缓存缓冲器中是否保留有任何数据(S1403)。也就是说,只要确定在高速缓存缓冲器中保留有数据,存储器控制器就可以将存储在高速缓存缓冲器中的数据传输到页面缓冲器。

在实施例中,当没有数据保留在高速缓存缓冲器中时(在S1403处为“否”),存储器控制器可以确定数据是否以SLC方法可编程(S1407)。也就是说,存储器控制器可以确定存储器装置中的页面缓冲器中存储的数据是否可编程为一个页面。当所有数据可编程为一个页面时,存储器控制器可以控制存储器装置以SLC方法执行编程操作。

具体地,当数据以SLC方法可编程时(在S1407处为“是”),存储器控制器可以输出用于以SLC方法编程的地址和确认命令。(S1409)。

例如,存储器控制器可以将编程模式从TLC模式改变为SLC模式。另外,存储器控制器可以在SLC模式下输出用于选择以SLC方法编程的区域的地址,以及用于指示以SLC方法执行编程操作的确认命令。

在实施例中,当数据不能以SLC方法编程时(在S1409处为“否”),存储器控制器可以输出用于以TLC方法编程的地址和确认命令(S1411)。

例如,存储器控制器可以将编程模式保持为TLC模式,或者如果当前处于SLC模式,则从SLC模式改变为TLC模式。另外,存储器控制器可以在TLC模式下输出用于选择以TLC方法编程的区域的地址,以及用于指示以TLC方法执行编程操作的确认命令。

在实施例中,当输出用于以SLC方法编程的地址和确认命令或者用于以TLC方法编程的地址和确认命令时(S1409或S1411),存储器控制器可以输出读取命令(S1413)。也就是说,当输出存储在高速缓存缓冲器中的所有数据并对其编程时,数据不再存在于高速缓存缓冲器中。因此,由于可以执行读取操作,因此可以将读取命令输出到存储器装置。

当读取命令被输出到存储器装置时,存储器装置可以执行与读取命令相对应的操作。也就是说,可以将存储在特定区域中的数据输出到存储器控制器。

图15是示出图1的存储器控制器的另一实施例的示图。

存储器控制器1000连接到主机和存储器装置。存储器控制器1000被配置为响应于来自主机的请求来访问存储器装置。例如,存储器控制器1000被配置为控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000被配置为提供存储器装置和主机之间的接口。存储器控制器1000被配置为驱动固件,用于控制存储器装置。

参照图15,存储器控制器1000可以包括处理器1010、存储器缓冲器1020、错误校正组件(ECC)1030、主机接口1040、缓冲器控制器(或缓冲器控制电路)1050、存储器接口1060和总线1070。

总线1070可以被配置为在存储器控制器1000的组件之间提供通道。

处理器1010可以控制存储器控制器1000的全部操作,并且可以执行逻辑运算。处理器1010可以通过主机接口1040与外部主机通信,并且通过存储器接口1060与存储器装置通信。另外,处理器1010可以通过缓冲器控制器1050与存储器缓冲器1020通信。处理器1010可以使用存储器缓冲器1020作为操作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。

处理器1010可以执行FTL的功能。处理器1010可以通过FTL将主机提供的LBA转换为PBA。FTL可以通过使用映射表来接收LBA并将LBA转换为PBA。闪存转换层的地址映射方法包括根据映射单元的多种映射方法。地址映射方法的示例包括页面映射方法、块映射方法和混合映射方法。

在实施例中,处理器1010可以从主机300接收待被编程在存储器装置100中的数据,并且将所接收到的数据存储在存储器缓冲器1020中。存储在存储器缓冲器1020中的数据可以按照数据存储在存储器缓冲器1020中的次序输出到存储器装置100。输出到存储器装置100的数据可以存储在存储器装置100的页面缓冲器中。

之后,处理器1010可以确定通过内部操作或在从主机300接收到清除命令之后执行编程操作。当处理器1010确定执行编程操作时,处理器1010可以基于存储在页面缓冲器中的数据来确定编程模式。

具体地,当存储在页面缓冲器中的数据的大小可编程为一个页面时,处理器1010可以将编程模式保持为作为默认模式的TLC模式。处理器1010可以在TLC模式下输出用于以TLC方法执行编程操作的地址和确认命令。

然而,当存储在页面缓冲器中的数据的大小不能被编程为一个页面时,处理器1010可以将编程模式从TLC模式改变为SLC模式。处理器1010可以在SLC模式下输出用于以SLC方法执行编程操作的地址和确认命令。

处理器1010被配置为使从主机接收到的数据随机化。例如,处理器1010可以使用随机化种子来使从主机接收到的数据随机化。经随机化的数据作为待存储的数据被提供到存储器装置,并且被编程到存储器单元阵列。

处理器1010可以通过驱动软件或固件来执行随机化和去随机化。

存储器缓冲器1020可以用作处理器1010的操作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可以存储由处理器1010运行的代码和命令。存储器缓冲器1020可以存储由处理器1010处理的数据。存储器缓冲器1020可以包括静态RAM(SRAM)或动态RAM(DRAM)。

错误校正组件1030可以执行错误校正。错误校正组件1030可以基于待通过存储器接口1060写入存储器装置的数据来执行错误校正编码(ECC编码)。经错误校正编码的数据可以通过存储器接口1060传送到存储器装置。错误校正组件1030可以对通过存储器接口1060从存储器装置接收到的数据执行错误校正解码(ECC解码)。例如,错误校正组件1030可以作为存储器接口1060的组件包括在存储器接口1060中。

主机接口1040被配置为在处理器1010的控制下与外部主机通信。主机接口1040可以被配置为使用诸如以下的各种通信方法中的至少一种来执行通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机系统接口(SCSI)、外围组件互连(高速PCI)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和/或低负载DIMM(LRDIMM)。

缓冲器控制器1050被配置为在处理器1010的控制下控制存储器缓冲器1020。

存储器接口1060被配置为在处理器1010的控制下与存储器装置通信。存储器接口1060可以通过通道与存储器装置通信命令、地址和数据。

例如,存储器控制器1000可以不包括存储器缓冲器1020和缓冲器控制器1050。可以分别提供存储器缓冲器1020和缓冲器控制器1050中的一个或两个,或者它们的功能中的一个或两个可以分配到存储器控制器1000的其他组件。

例如,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从设置在存储器控制器1000内部的非易失性存储器装置(例如,只读存储器)加载代码。作为另一示例,处理器1010可以通过存储器接口1060从存储器装置加载代码。

例如,存储器控制器1000的总线1070可以分为控制总线和数据总线。数据总线可以被配置为在存储器控制器1000内传输数据,控制总线可以被配置为在存储器控制器1000内传输诸如命令和地址的控制信息。数据总线和控制总线可以彼此分开,以免相互干扰或相互影响。数据总线可以连接到主机接口1040、缓冲器控制器1050、错误校正组件1030和存储器接口1060。控制总线可以连接到主机接口1040、处理器1010、缓冲器控制器1050、存储器缓冲器1020和存储器接口1060。

图16是示出根据本公开的实施例的应用了存储装置的存储卡系统的框图。

参照图16,存储卡系统2000包括存储器控制器2100、存储器装置2200和连接器2300。

存储器控制器2100连接到存储器装置2200。存储器控制器2100被配置为访问存储器装置2200。例如,存储器控制器2100被配置为控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100被配置为提供存储器装置2200和主机之间的接口。存储器控制器2100被配置为驱动固件以控制存储器装置2200。存储器装置2200可以利用图1的存储器装置100来实施。

作为示例,存储器控制器2100可以包括诸如以下的组件:随机存取存储器(RAM)、处理器、主机接口、存储器接口和错误校正组件。

存储器控制器2100可以通过连接器2300与外部装置通信。存储器控制器2100可以根据特定的通信标准与外部装置(例如,主机)通信。作为示例,存储器控制器2100被配置为通过诸如以下的各种通信标准中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(MCM)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和/或NVMe。作为示例,连接器2300可以由上述各种通信标准中的至少一种来定义。

作为示例,存储器装置2200可以被实施为诸如以下的各种非易失性存储器装置:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和/或自旋力矩磁性RAM(STT-MRAM)。

在实施例中,存储器控制器2100可以从主机300接收待被编程在存储器装置2200中的数据,并存储所接收到的数据。存储在存储器控制器2100中的数据可以按照数据存储在存储器控制器2100中的次序输出到存储器装置2200。输出到存储器装置2200的数据可以存储在存储器装置2200的页面缓冲器中。

之后,存储器控制器2100可以确定通过内部操作或者在从主机300接收到清除命令之后执行编程操作。当存储器控制器2100确定执行编程操作时,存储器控制器2100可以基于存储在页面缓冲器中的数据来确定编程模式。

具体地,当存储在页面缓冲器中的数据的大小可编程为一个页面时,存储器控制器2100可以将编程模式保持为作为默认模式的TLC模式。存储器控制器2100可以在TLC模式下输出用于以TLC方法执行编程操作的地址和确认命令。

然而,当存储在页面缓冲器中的数据的大小不能被编程为一个页面时,存储器控制器2100可以将编程模式从TLC模式改变为SLC模式。存储器控制器2100可以在SLC模式下输出用于以SLC方法执行编程操作的地址和确认命令。

存储器控制器2100和存储器装置2200可以集成到一个半导体装置中以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)和/或通用闪存(UFS)。

图17是示出根据本公开的实施例的应用了存储装置的固态驱动器(SSD)系统的框图。

参照图17,SSD系统3000包括主机3100和SSD 3200。SSD 3200通过信号连接器3001与主机3100交换信号SIG,并且通过电源连接器3002接收电力PWR。SSD 3200包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源装置3230和缓冲存储器3240。

在实施例中,SSD控制器3210可以执行图1的存储器控制器200的功能。

SSD控制器3210可以响应于从主机3100接收到的信号SIG来控制多个闪速存储器3221至322n。作为示例,信号SIG可以是基于主机3100和SSD 3200之间的接口的信号。例如,信号SIG可以通过诸如以下的接口中的至少一种来限定:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(MCM)、外围组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙和/或NVMe。

在实施例中,SSD控制器3210可以从主机300接收待被编程在多个闪速存储器3221至322n中的数据,并且存储所接收到的数据。可以按照数据存储在SSD控制器3210中的次序将存储在SSD控制器3210中的数据输出到多个闪速存储器3221至322n。输出到多个闪速存储器3221至322n的数据可以存储在多个闪速存储器3221至322n的页面缓冲器中。

之后,SSD控制器3210可以确定通过内部操作或者在从图1的主机300接收到清除命令之后执行编程操作。当SSD控制器3210确定执行编程操作时,SSD控制器3210可以基于存储在页面缓冲器中的数据来确定编程模式。

具体地,当存储在页面缓冲器中的数据的大小可编程为一个页面时,SSD控制器3210可以将编程模式保持为作为默认模式的TLC模式。SSD控制器3210可以在TLC模式下输出用于以TLC方法执行编程操作的地址和确认命令。

然而,当存储在页面缓冲器中的数据的大小不能被编程为一个页面时,SSD控制器3210可以将编程模式从TLC模式改变为SLC模式。SSD控制器3210可以在SLC模式下输出用于以SLC方法执行编程操作的地址和确认命令。

辅助电源装置3230通过电源连接器3002连接到主机3100。辅助电源装置3230可以从主机3100接收电力PWR并且可以充电。当来自主机3100的电力供应不平稳时,辅助电源装置3230可以提供SSD 3200的电力。作为示例,辅助电源装置3230可以在SSD 3200内部或外部。例如,辅助电源装置3230可以设置在主板上,并且可以向SSD 3200提供辅助电力。

缓冲存储器3240操作为SSD 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收到的数据或从多个闪速存储器3221至322n接收到的数据,或者可以临时存储闪速存储器3221至322n的元数据(例如,映射表)。缓冲存储器3240可以包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器,或者诸如FRAM、ReRAM、STT-MRAM和/或PRAM的非易失性存储器。

图18是示出根据本公开的实施例的应用了存储装置的用户系统的框图。

参照图18,用户系统4000包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。

应用处理器4100可以驱动用户系统4000中包括的组件、操作系统(OS)、用户程序等。例如,应用处理器4100可以包括控制用户系统4000中包括的组件的控制器、接口、图形引擎等。应用处理器4100可被设置为片上系统(SoC)。

在实施例中,应用处理器4100可以从图1的主机300接收待被编程在存储模块4400中的数据,并且存储所接收到的数据。存储在应用处理器4100中的数据可以以存储的次序输出到存储模块4400。输出到存储模块4400的数据可以存储在存储模块4400的页面缓冲器中。

此后,应用处理器4100可以确定通过内部操作或者在从主机300接收到清除命令之后执行编程操作。当应用处理器4100确定执行编程操作时,应用处理器4100可以基于存储在页面缓冲器中的数据来确定编程模式。

具体地,当存储在页面缓冲器中的数据的大小可编程为一个页面时,应用处理器4100可以将编程模式保持为作为默认模式的TLC模式。应用处理器4100可以在TLC模式下输出用于以TLC方法执行编程操作的地址和确认命令。

然而,当存储在页面缓冲器中的数据的大小不能被编程为一个页面时,应用处理器4100可以将编程模式从TLC模式改变为SLC模式。应用处理器4100可以在SLC模式下输出用于以SLC方法执行编程操作的地址和确认命令。

存储器模块4200可以操作为用户系统4000的主存储器、操作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRM、DDR3 SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和/或LPDDR3 SDRAM的易失性随机存取存储器,或者诸如PRAM、ReRAM、MRAM和/或FRAM的非易失性随机存取存储器。例如,应用处理器4100和存储器模块4200可以基于堆叠封装(POP)被封装并且被设置为一个半导体封装。

网络模块4300可以与外部装置通信。例如,网络模块4300可以支持无线通信,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进、Wimax、WLAN、UWB、蓝牙和WI-FI。例如,网络模块4300可以包括在应用处理器4100中。

存储模块4400可以存储数据。例如,存储模块4400可以存储从应用处理器4100接收到的数据。可选地,存储模块4400可以将存储模块4400中存储的数据传输到应用处理器4100。例如,存储模块4400可以被实施为诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪存、NOR闪存和/或三维NAND闪存的非易失性半导体存储器元件。例如,存储模块4400可以被设置为诸如存储卡的可移动存储装置(可移动驱动器),以及用户系统4000的外部驱动器。

例如,存储模块4400可以包括多个非易失性存储器装置,每个非易失性存储器装置可以与参照图2和图3描述的存储器装置相同地操作。存储模块可以与参照图1描述的存储模块50相同地操作。

用户接口4500可以包括用于将数据或指令输入到应用处理器4100或用于将数据输出到外部装置的接口。例如,用户接口4500可以包括用户输入接口,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和/或压电元件。用户接口4500可以包括用户输出接口,诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监控器。

相关技术
  • 存储器系统、存储器控制器以及存储器控制器的操作方法
  • 存储器系统、存储器控制器以及存储器控制器的操作方法
技术分类

06120113299396