CN110888825B - 在存储器系统中处理数据的设备和方法 - Google Patents
在存储器系统中处理数据的设备和方法 Download PDFInfo
- Publication number
- CN110888825B CN110888825B CN201910651190.6A CN201910651190A CN110888825B CN 110888825 B CN110888825 B CN 110888825B CN 201910651190 A CN201910651190 A CN 201910651190A CN 110888825 B CN110888825 B CN 110888825B
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- order
- memory device
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Abstract
本发明涉及一种存储器系统,该存储器系统包括:至少一个存储器装置,包括多个平面,每个平面能够存储数据;以及控制器,经由多个通道和多个通路与至少一个存储器装置联接,并且适于响应于传输顺序将数据传输到至少一个存储器装置以用于读取操作或写入操作。多个平面可分别包括多个块。多个块可分别包括多层单元。控制器可包括映射电路,该映射电路用于基于多个通道的第一顺序、多个平面的第二顺序、多个通路的第三顺序以及多层单元中存储的位的第四顺序来确定数据的传输顺序。
Description
相关申请的交叉引用
本专利申请要求于2018年9月10日提交的申请号为10-2018-0107820的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用并入本文。
技术领域
本公开的各个实施例总体涉及一种存储器系统。特别地,实施例涉及一种在包括多个通道和多个通路的存储器系统内进行数据传输的设备和方法。
背景技术
近来,计算机环境范例已经转变成能够随时随地使用计算机系统的普适计算。因此,诸如移动电话、数码相机、笔记本电脑等的便携式电子装置的使用已经快速增长。这种便携式电子装置通常使用或包括存储器系统,即数据存储装置,该存储器系统使用或嵌入至少一个存储器装置。数据存储装置可用作便携式电子装置的主存储装置或辅助存储装置。
与硬盘的特性不同,使用非易失性半导体存储器装置的数据存储装置因不具有机械驱动部件(例如,机械臂)而具有诸如优异的稳定性和耐久性的优点,并且具有高数据访问速度和低功耗的优点。具有这些优点的存储器系统的示例是包括USB(通用串行总线)存储器装置、具有各种接口的存储卡、固态驱动器(SSD)等的数据存储装置。
发明内容
本发明的实施例提供一种存储器系统、数据处理系统和操作进程或方法,可通过降低存储器系统的操作复杂性和性能劣化并提高存储器装置的利用效率而将数据快速且可靠地处理到存储器装置中。
本公开可示出一种系统和方法,用于经由存储器系统中包括的多个通道或多个通路来使至少一个存储器装置和与存储器系统接合的主机之间的数据传输加速,或者使存储器系统中包括的至少一个存储器装置和控制器之间的数据传输加速。能够提供一种在存储器系统中快速传输数据同时减少由于数据传输所引起的噪声和干扰的方法和设备。
本公开可提供一种方法和设备,该设备利用存储器系统或主机实施并且能够经由存储器系统中或存储器系统和主机之间的多个数据路径减少数据干扰,以减少读取或编程大容量数据所花费的时间。
在实施例中,一种存储器系统可包括:至少一个存储器装置,包括多个平面,每个平面能够存储数据;以及控制器,经由多个通道和多个通路与至少一个存储器装置联接,并且适于响应于传输顺序将数据传输到至少一个存储器装置以用于读取操作或写入操作。多个平面可分别包括多个块,多个块分别包括多层单元。控制器可包括映射电路,该映射电路被配置成基于多个通道的第一顺序、多个平面的第二顺序、多个通路的第三顺序以及多层单元中存储的位的第四顺序来确定数据的传输顺序。
作为示例而非限制,控制器可将多个平面中的预定数量的平面设置为逻辑存储单元。可基于逻辑存储单元执行读取操作或写入操作。映射电路可响应于第一至第四顺序来顺序地确定每个逻辑存储单元中的传输顺序。
至少一个存储器装置可包括第一缓冲器,该第一缓冲器用于临时存储具有与逻辑存储单元的大小对应的大小的数据。控制器包括第二缓冲器,该第二缓冲器用于存储比第一缓冲器的数据更大的数据。
在实施例中,映射电路可在数据基于第二顺序传输之后改变第一顺序。映射电路可在数据基于第一顺序传输之后改变第三顺序,并且在数据基于第三顺序传输之后改变第四顺序。
在另一实施例中,映射电路可在数据基于第一顺序传输之后改变第四顺序,并且在数据基于第四顺序传输之后改变第三顺序。
在实施例中,映射电路可在数据基于第一顺序传输之后改变第二顺序。映射电路可在数据基于第二顺序传输之后改变第三顺序,并且在数据基于第三顺序传输之后改变第四顺序。
在另一实施例中,映射电路在数据基于第二顺序传输之后改变第四顺序,并且在数据基于第四顺序传输之后改变第三顺序。
作为示例而非限制,映射电路可包括在与至少一个存储器装置接合的存储器接口中。
在实施例中,映射电路可包括在与主机或外部装置接合的主机接口中。
在另一实施例中,一种操作存储器系统的方法可包括:基于多个通道的第一顺序、多个平面的第二顺序、多个通路的第三顺序以及多层单元中存储的位的第四顺序来确定数据的传输顺序;并且响应于该传输顺序将数据传输到至少一个存储器装置。该存储器系统可包括:至少一个存储器装置,每个存储器装置包括能够存储数据的多个平面;以及控制器,经由多个通道和多个通路与至少一个存储器装置联接,并且适于执行读取操作或写入操作,其中多个平面分别包括多个块,多个块分别包括多层单元。
作为示例而非限制,该方法可进一步包括:将多个平面中的预定数量的平面设置为逻辑存储单元,并且基于逻辑存储单元执行读取操作或写入操作。
可响应于第一至第四顺序来顺序地确定每个逻辑存储单元中的传输顺序。
例如,在传输顺序中,在基于第二顺序传输数据之后改变第一顺序。在另一示例中,在传输顺序中,在基于第一顺序传输数据之后改变第二顺序。
作为示例而非限制,在传输顺序中,在基于第二顺序传输数据之后改变第三顺序,并且在基于第三顺序传输数据之后改变第四顺序。
又例如,在传输顺序中,在基于第二顺序传输数据之后改变第四顺序,并且在基于第四顺序传输数据之后改变第三顺序。
基于第一至第四顺序确定的传输顺序可根据从至少一个存储器装置传输或向至少一个存储器装置传输的数据的大小而变化。
在另一实施例中,一种存储器系统可包括:多个通道,每个通道包括多个通路;存储器装置,包括多个管芯,多个管芯可操作地联接到通路之中的相应通路,并且每个管芯具有配置逻辑多层页面的多层单元的多个平面;以及控制器,可操作地联接到通道,并且被配置成基于相当于预定数量的平面的逻辑存储单元,根据所列顺序中的通道、平面、逻辑多层页面和通路的访问层次来访问多层单元。
在另一实施例中,一种存储器系统可包括:多个通道,每个通道包括多个通路;存储器装置,包括多个管芯,多个管芯可操作地联接到通路之中的相应通路,并且每个管芯具有配置逻辑多层页面的多层单元的多个平面;以及控制器,可操作地联接到通道,并且被配置成基于相当于预定数量的平面的逻辑存储单元,根据所列顺序中的通道、平面、通路和逻辑多层页面的访问层次来访问多层单元。
附图说明
在本文中参照附图进行描述,其中在多个附图中,相同的附图标记指代相同的部件,并且其中:
图1是示出包括根据本公开的实施例的存储器系统的数据处理系统的示例的框图;
图2是示出根据本公开的实施例的存储器系统中包括的存储器装置的示例的示图;
图3是示出根据本公开的实施例的存储器装置中包括的存储块中的非易失性存储器单元阵列的示图;
图4是示出根据本公开的实施例的存储器系统中的存储器装置结构的示图;
图5和图6是示出根据本公开的实施例的存储器系统执行与多个命令对应的多个命令操作的示例的示图;
图7是示出根据本公开的实施例的存储器系统的示例的框图;
图8是示出根据本公开的实施例的存储器装置的示例的框图;
图9A和图9B是示出根据本公开的实施例的映射电路的框图;
图10至图14是示出根据本公开的实施例的从控制器到存储器装置的数据传输的第一至第五种方法的示图;
图15和图16是示出图10至图14中描述的第一至第五种方法的效果的示图;
图17是示出在存储器系统中传输数据的操作方法的流程图;以及
图18至图26是示意性地示出包括根据本发明的实施例的存储器系统的数据处理系统的其它示例的示图。
具体实施方式
以下参照附图更详细地描述本公开的各个示例。本公开可以其它实施例、形式和其变型来实施并且不应被解释为限于本文阐述的实施例。而是,提供所描述的实施例使得本公开是彻底的且完整的,并将本公开充分地传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本公开的各个附图和示例中指代相同的部件。注意的是,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任意这种短语的不同参考不一定针对相同的实施例。
将理解的是,虽然可在本文中使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语限制。这些术语用于将一个元件与另一元件区分开,否则一个元件与另一元件具有相同或相似的名称。因此,在不脱离本发明的精神和范围的情况下,一个示例中的第一元件在另一示例中可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,为了清楚地说明实施例的特征,可放大比例。当元件被称为连接或联接到另一元件时,应理解的是,前者可直接连接或联接到后者,或者经由一个或多个中间元件电连接或联接到后者。除非上下文另有说明,否则无论直接还是间接连接/联接,两个元件之间的通信可以是有线的或无线的。此外,还将理解的是,当元件被称为在两个元件“之间”时,该元件可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用术语的目的仅是描述特定实施例而不旨在限制本发明。
如本文使用的,除非上下文另有明确说明,否则单数形式旨在包括复数形式,反之亦然。本申请和所附权利要求书中使用的冠词“一”和“一个”通常应被解释为表示“一个或多个”,除非另有说明或上下文清楚地指明单数形式。
将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,说明所陈述元件的存在,但不排除一个或多个其它元件的存在或添加。如本文使用的,术语“和/或”包括一个或多个相关所列项目的任意一个和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本公开所属领域的技术人员基于本公开通常理解的含义相同的含义。将进一步理解的是,诸如在常用词典中定义的那些术语的术语应被解释为具有与其在本公开的上下文和相关领域中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文如此明确地定义。
在以下描述中,为了提供对本发明的全面理解,阐述了许多具体细节。可在没有一些或全部这些具体细节的情况下实施本发明。在其它情况下,为了不使本发明不必要地模糊,未详细地描述公知的进程结构和/或进程。
还要注意的是,在一些情况下,如对相关领域的技术人员将显而易见的是,结合一个实施例描述的特征或元件可单独使用或与另一实施例的其它特征或元件结合使用,除非另有明确说明。
将参照附图详细描述本公开的实施例。
在图1中,描述了根据本公开的实施例的数据处理系统100。参照图1,数据处理系统100可包括与存储器系统110接合或可操作地联接的主机102。
例如,主机102可包括诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、电视(TV)和投影仪等的电子装置。
主机102还包括至少一个操作系统(OS),OS通常可调整并控制在主机102中执行的功能和操作。OS可提供与存储器系统110接合的主机102和需要并使用存储器系统110的用户之间的互操作性。OS可支持与用户请求对应的功能和操作。作为示例而非限制,根据主机102的移动性,OS可被分为通用操作系统和移动操作系统。根据系统要求或用户环境,通用操作系统可被分为个人操作系统和企业操作系统。包括Windows和Chrome的个人操作系统可用于支持针对一般目的的服务。但企业操作系统可专门用于确保并支持高性能,并且包括Windows Server、Linux、Unix等。进一步地,移动操作系统可包括Android、iOS、WindowsMobile等。移动操作系统可用于支持针对移动性的服务或功能(例如,省电功能)。主机102可包括多个操作系统。主机102可对应于用户请求,运行与存储器系统110互锁的多个操作系统。主机102可将与用户请求对应的多个命令传输到存储器系统110中,从而在存储器系统110内执行与命令对应的操作。稍后参照图6和图7描述在存储器系统110中处理多个命令。
存储器系统110可响应于来自主机102的请求来操作或执行具体的功能或操作,并且特别地,可存储待由主机102访问的数据。存储器系统110可用作主机102的主存储器系统或辅助存储器系统。根据主机接口的协议,存储器系统110可利用可与主机102电联接的各种类型的存储装置中的任意一种来实施。合适的存储装置的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)、微型MMC、安全数字(SD)卡、迷你SD、微型SD、通用串行总线(USB)存储装置、通用闪存(UFS)装置、紧凑式闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
存储器系统110的存储装置可利用例如动态随机存取存储器(DRAM)和静态RAM(SRAM)的易失性存储器装置,和/或诸如以下的非易失性存储器装置来实施:只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM或ReRAM)和闪速存储器。
存储器系统110可包括控制器130和存储器装置150。存储器装置150可存储待由主机102访问的数据。控制器130可控制数据在存储器装置150中的存储。
控制器130和存储器装置150可被集成到单个半导体装置中,该单个半导体装置可包括在如上例示的各种类型的存储器系统中。
作为示例而非限制,控制器130和存储器装置150可被集成到单个半导体装置中。这种集成可提高操作速度。当存储器系统110用作SSD时,连接到存储器系统110的主机102的操作速度可比利用硬盘实施存储器系统110时主机102的操作速度提高更大程度。在另一实施例中,控制器130和存储器装置150可被集成到一个半导体装置中以形成存储卡,例如,PC卡(PCMCIA)、紧凑式闪存(CF)卡、诸如智能媒体卡(SM、SMC)的存储卡、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC)、SD卡(SD、迷你SD、微型SD、SDHC)、通用闪速存储器等。
存储器系统110可被配置成例如以下的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板电脑、无线电话、移动电话、智能电话、电子阅读器、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的存储装置、能够在无线环境下传输和接收信息的装置、配置家庭网络的各种电子装置之一、配置计算机网络的各种电子装置之一、配置远程信息处理网络的各种电子装置之一、射频识别(RFID)装置或配置计算系统的各种组件之一。
存储器装置150可以是即使不供应电力时也保留存储在其中的数据的非易失性存储器装置。存储器装置150可通过写入操作存储从主机102提供的数据,而通过读取操作将存储在其中的数据提供到主机102。存储器装置150可包括多个存储块152、154、156……,多个存储块152、154、156中……的每一个可包括多个页面。多个页面中的每一个可包括与字线(WL)电联接的多个存储器单元。存储器装置150还包括多个存储器管芯,多个存储器管芯中的每一个包括多个平面,多个平面中的每一个包括多个存储块152、154、156……。另外,存储器装置150可以是非易失性存储器装置,例如闪速存储器,其中闪速存储器可以是三维堆叠结构。
下面将参照图3至图5更详细地描述存储器装置150的结构和/或存储器装置150的三维立体堆叠结构。将在图6中更详细地描述存储器装置150,该存储器装置150包括多个存储器管芯,多个存储器管芯中的每一个包括多个平面,多个平面中的每一个包括多个存储块152、154、156……。因此,在此省略对存储器装置150的详细描述。
控制器130可控制存储器装置150的全部操作,诸如读取操作、写入操作、编程操作和擦除操作。例如,控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据提供到主机102。控制器130可将由主机102提供的数据存储到存储器装置150中。
控制器130可包括全部经由内部总线可操作地联接的主机接口(I/F)132、处理器134、错误校正码(ECC)组件138、电源管理单元(PMU)140、存储器接口(I/F)142以及存储器144。
主机接口132可处理从主机102提供的命令和数据,并可通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、外围组件互连高速(PCI-e或PCIe)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。根据实施例,主机接口132是用于与主机102交换数据的组件,主机接口132可通过被称为主机接口层(HIL)的固件来实施。
ECC组件138可校正待在存储器装置150中处理(例如,待从存储器装置150输出)的数据的错误位,该ECC组件138可包括ECC编码器和ECC解码器。此处,ECC编码器可对待编程在存储器装置150中的数据执行错误校正编码,以生成添加奇偶校验位的编码数据,并且将编码数据存储在存储器装置150中。当控制器130读取存储在存储器装置150中的数据时,ECC解码器可检测并校正从存储器装置150读取的数据中包含的错误。换言之,在对从存储器装置150读取的数据执行错误校正解码之后,ECC组件138可确定错误校正解码是否成功并输出指令信号(例如,校正成功信号或校正失败信号)。ECC组件138可使用在ECC编码进程期间生成的奇偶校验位来校正读取数据的错误位。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC组件138可不校正错误位,而是可输出指示校正错误位失败的错误校正失败信号。
ECC组件138可基于诸如以下的编码调制执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等。ECC组件138可包括用于基于上述代码中的至少一种执行错误校正操作的合适的电路、模块、系统和/或装置。
PMU 140可提供并管理控制器130中的电力。
存储器接口142可用作处理控制器130和存储器装置150之间传输的命令和数据的接口,以使控制器130响应于从主机102传输的请求来控制存储器装置150。在存储器装置150是闪速存储器,特别是存储器装置150是NAND闪速存储器的情况下,存储器接口142在处理器134的控制下可生成用于存储器装置150的控制信号,并可处理输入到存储器装置150中或从存储器装置150输出的数据。存储器接口142可提供接口,用于处理控制器130和存储器装置150之间的命令和数据,例如NAND闪存接口的操作,特别是控制器130和存储器装置150之间的操作。根据实施例,存储器接口142可通过被称为闪存接口层(FIL)的固件而被实施为用于与存储器装置150交换数据的组件。
存储器144可支持由存储器系统110和控制器130执行的操作。存储器144可存储针对存储器系统110和控制器130中的操作而出现或传输的临时数据或事务数据。控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据传输到主机102中。控制器130可将通过主机102输入的数据存储在存储器装置150中。存储器144可用于存储控制器130和存储器装置150执行诸如读取操作或编程/写入操作的操作所需的数据。
存储器144可利用易失性存储器来实施。存储器144可利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或两者来实施。虽然图1示出存储器144设置在控制器130的内部,但本发明不限于此。也就是说,存储器144可位于控制器130的内部或外部。例如,存储器144可由具有在存储器144和控制器130之间传输数据和/或信号的存储器接口的外部易失性存储器实施。
如上所述,存储器144可存储执行诸如以下的操作所需的数据:由主机102请求的数据写入和数据读取,和/或用于诸如垃圾收集或损耗均衡的后台操作的、存储器装置150和控制器130之间的数据传输。根据实施例,为了支持存储器系统110中的操作,存储器144可包括程序存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、映射缓冲器/高速缓存等。
处理器134可利用微处理器或中央处理单元(CPU)来实施。存储器系统110可包括可控制存储器系统110的全部操作的一个或多个处理器134。作为示例而非限制,处理器134可响应于从主机102输入的写入请求或读取请求来控制对存储器装置150的编程操作或读取操作。根据实施例,处理器134可使用或运行固件来控制存储器系统110的全部操作。在本文中,固件可被称为闪存转换层(FTL)。FTL可作为主机102和存储器装置150之间的接口来执行操作。主机102可通过FTL将写入操作和读取操作的请求传输到存储器装置150。
FTL可管理地址映射、垃圾收集、损耗均衡等操作。特别地,FTL可加载、生成、更新或存储映射数据。因此,控制器130可通过映射数据将从主机102输入的逻辑地址与存储器装置150的物理地址进行映射。因为地址映射操作,存储器装置150可用作通用存储装置来执行读取操作或写入操作。而且,通过基于映射数据的地址映射操作,当控制器130尝试更新存储在特定页面中的数据时,由于闪速存储器装置的特性,控制器130可将更新数据编程在另一空页面上,并且可使该特定页面的旧数据无效(例如,将与更新数据的逻辑地址对应的物理地址从先前的特定页面更新为另一新的编程页面)。进一步地,控制器130可将新数据的映射数据存储到FTL中。
例如,当在存储器装置150中执行从主机102请求的操作时,控制器130使用被实施为微处理器或中央处理单元(CPU)等的处理器134。与存储器装置150接合的处理器134可处理与从主机102输入的命令对应的命令操作。控制器130可执行如与从主机102输入的命令对应的命令操作的前台操作,诸如与写入命令对应的编程操作、与读取命令对应的读取操作、与擦除/丢弃命令对应的擦除/丢弃操作、以及与设置参数命令、设置特征命令或设置命令对应的参数设置操作。
又例如,控制器130可通过处理器134对存储器装置150执行后台操作。作为示例而非限制,存储器装置150的后台操作包括复制存储在存储器装置150中的存储块152、154、156……之中的一个存储块中的数据并将复制的数据存储在另一存储块中的操作(例如,垃圾收集(GC)操作)。后台操作可包括在存储器装置150中的存储块152、154、156……中的任意两个或更多个之间移动或交换数据的操作(例如,损耗均衡(WL)操作)。作为后台操作,控制器130使用处理器134将存储在控制器130中的映射数据存储到存储器装置150中的存储块152、154、156……中的至少一个,例如,映射清除操作。检查多个存储块152、154、156……之中的坏块的坏块管理操作是由处理器134执行的后台操作的另一示例。
在存储器系统110中,控制器130执行与从主机102输入的多个命令对应的多个命令操作。例如,当顺序地、随机地或可选地执行与多个编程命令对应的多个编程操作、与多个读取命令对应的多个读取操作以及与多个擦除命令对应的多个擦除操作时,控制器130可确定用于将控制器130连接到存储器装置150中的多个存储器管芯的多个通道(或通路)之中的哪个(哪些)通道或通路适于或适用于执行每个操作。控制器130可经由所确定的执行每个操作的通道或通路来发送或传输数据或指令。在每个操作完成之后,存储器装置150中的多个存储器管芯可分别经由相同的通道或通路传输操作结果。然后,控制器130可将响应或确认信号传输到主机102。在实施例中,控制器130可检查每个通道或每个通路的状态。响应于从主机102输入的命令,控制器130可基于每个通道或每个通路的状态来选择至少一个通道或通路,使得可经由所选择的通道或通路来传输指令和/或操作结果与数据。
作为示例而非限制,控制器130可识别关于与存储器装置150中包括的多个存储器管芯相关的多个通道(或通路)的状态。控制器130可将每个通道或每个通路确定为忙碌状态、就绪状态、活动状态、空闲状态、正常状态和/或异常状态中的一种。控制器确定通过哪个通道或通路来传输指令(和/或数据)可与物理块地址,例如将指令(和/或数据)传输到哪个(哪些)管芯中相关。控制器130可参考从存储器装置150传输的描述符。描述符可包括描述与存储器装置150有关的某些信息的块或页面参数,该块或页面参数是具有预定格式或结构的数据。例如,描述符可包括装置描述符、配置描述符、单元描述符等。控制器130可参考或使用描述符来确定经由哪个(哪些)通道或通路交换指令或数据。
管理单元(未示出)可包括在处理器134中。管理单元可执行存储器装置150的坏块管理。管理单元可发现存储器装置150中包括的不满足进一步使用条件的坏存储块,并对坏存储块执行坏块管理。当存储器装置150为例如NAND闪速存储器的闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间,例如在编程操作期间,可能发生编程失败。在坏块管理期间,编程失败的存储块或坏存储块的数据可被编程到新的存储块中。坏块可使具有3D堆叠结构的存储器装置150的利用效率和存储器系统110的可靠性严重劣化。因此,可靠的坏块管理可增强或提高存储器系统110的性能。
图2示出根据本发明的实施例的存储器系统中包括的存储器装置的示例,图3示出根据本发明的实施例的存储器装置中包括的存储块中的非易失性存储器单元阵列,图4示出根据本发明的实施例的存储器系统中的三维存储器装置结构的示例。
参照图2,存储器装置150可包括多个存储块,诸如第一块(BLOCK0)210、第二块(BLOCK1)220、第三块(BLOCK2)230至第n块(BLOCKN-1)240。块210、220、230至240中的每一个可包括多个页面,例如2M个页面、2M个页面或M个页面。此处,n和M为自然数。为便于描述,每个存储块包括2M个页面。每个页面可包括经由字线(WL)彼此联接的多个非易失性存储器单元。
存储器装置150可包括多个存储块。根据一个存储器单元中可存储或表示的位的数量,多个存储块中的每一个是诸如单层单元(SLC)存储块、多层单元(MLC)存储块等不同类型的存储块中的一种。此处,SLC存储块包括由每个存储一位数据的存储器单元实施的多个页面。SLC存储块可具有高数据I/O操作性能和高耐久性。MLC存储块包括由每个存储多位(例如,两位或更多位)数据的存储器单元实施的多个页面。MLC存储块可比SLC存储块具有更大的存储容量。MLC存储块可高度集成以在与SLC存储块相同量的空间内提供更大的存储容量。在实施例中,存储器装置150可利用诸如以下的MLC存储块来实施:MLC'存储块、三层单元(TLC)存储块、四层单元(QLC)存储块及其组合。MLC'存储块可包括由每个能够存储两位数据的存储器单元实施的多个页面。三层单元(TLC)存储块可包括由每个能够存储三位数据的存储器单元实施的多个页面。四层单元(QLC)存储块可包括由每个能够存储四位数据的存储器单元实施的多个页面。在另一实施例中,存储器装置150可利用包括由每个能够存储五位或更多位数据的存储器单元实施的多个页面的块来实施。
在本公开的实施例中,存储器装置150被实施为非易失性存储器,诸如闪速存储器,例如,NAND闪速存储器、NOR闪速存储器等。在其它实施例中,存储器装置150可由相变随机存取存储器(PCRAM)、铁电随机存取存储器(FRAM)、自旋转移矩随机存取存储器(STT-RAM)和自旋转移矩磁性随机存取存储器(STT-MRAM)等中的至少一个来实施。
存储器装置150中的块210、220、230至240中的每一个可通过编程操作存储从主机102提供的数据,并且通过读取操作将存储的数据提供到主机102。
参照图3,可对应于存储器系统110的存储器装置150中包括的多个存储块152、154、156……中的任意一个的存储块330可包括联接到相应多个位线BL0至BLm-1的多个单元串340。每个列的单元串340可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元或多个存储器单元晶体管MC0至MCn-1可串联联接在漏极选择晶体管DST与源极选择晶体管SST之间。在实施例中,存储器单元晶体管MC0至MCn-1中的每一个可由能够存储多位数据信息的MLC来实施。单元串340中的每一个可电联接到多个位线BL0至BLm-1中的相应位线。例如,如图3所示,第一单元串联接到第一位线BL0,并且最后单元串联接到最后位线BLm-1。
虽然图3示出NAND闪速存储器单元,但是本发明不限于此。注意的是,存储器单元可以是NOR闪速存储器单元或混合闪速存储器单元,该混合闪速存储器单元包括组合在其中的两种或更多种存储器单元。而且,注意的是,存储器装置150可以是包括作为电荷存储层的导电浮栅的闪速存储器装置,或者包括作为电荷存储层的绝缘层的电荷撷取闪存(CTF)存储器装置。
存储器装置150可进一步包括电压供应装置310,该电压供应装置310根据操作模式向字线提供包括编程电压、读取电压和通过电压的字线电压。电压供应装置310的电压生成操作可由控制电路(未示出)来控制。在控制电路的控制下,电压供应装置310可选择存储器单元阵列的存储块(或扇区)中的一个,选择所选择的存储块的字线中的一个,并且根据需要将字线电压提供到所选择的字线和未选择的字线。
存储器装置150可包括由控制电路控制的读取/写入电路320。在验证/正常读取操作期间,读取/写入电路320可用作从存储器单元阵列读取数据的读出放大器。在编程操作期间,读取/写入电路320可用作根据待被存储在存储器单元阵列中的数据驱动位线的写入驱动器。在编程操作期间,读取/写入电路320可从缓冲器(未示出)接收待被存储到存储器单元阵列中的数据,并且可根据接收的数据将电流或电压供应到位线上。读取/写入电路320可包括分别与列(或位线)或列对(或位线对)对应的多个页面缓冲器322、324至326。页面缓冲器322、324至326中的每一个可包括多个锁存器(未示出)
另外,存储器装置150可被实施为二维或三维存储器装置,并且可被实施为三维立体堆叠结构的非易失性存储器装置。存储器装置150可包括多个存储块BLOCK0至BLOCKN-1。图4是示出图1所示的存储器装置150的存储块152、154、156……的框图。存储块152、154、156……中的每一个可被实施为三维结构。例如,存储块152、154、156……中的每一个可通过尺寸在例如x轴方向、y轴方向和z轴方向的相互正交方向上延伸的结构来实现。
作为示例而非限制,存储器装置150中包括的每个存储块330可包括沿第二方向延伸的多个NAND串(NS),和/或可设置有沿第一方向或第三方向的多个NAND串(NS)。此处,每个NAND串(NS)经由位线BL、至少一个串选择线SSL、至少一个漏极选择线DSL、多个字线WL、至少一个虚设字线DWL和共源线CSL中的至少一个与I/O控制电路联接。NAND串(NS)可包括用于在多个线路上切换的多个晶体管。
存储器装置150中的多个存储块152、154、156……中的每一个可包括多个位线BL、多个串选择线SSL、多个漏极选择线DSL、多个字线WL、多个虚设字线DWL和多个共源线CSL。每个存储块330包括图3所示的多个NAND串(NS)。
图5和图6示意性地示出在根据本公开的实施例的存储器系统中执行与多个命令对应的多个命令操作的示例。在数据处理操作的不同情况下对此进行描述,第一种情况是从主机102接收多个写入命令并执行与写入命令对应的编程操作,第二种情况是从主机102接收多个读取命令并执行与读取命令对应的读取操作,第三种情况是从主机102接收多个擦除命令并执行与擦除命令对应的擦除操作,第四种情况是从主机102同时接收多个写入命令和多个读取命令并执行与写入命令对应的编程操作和与读取命令对应的读取操作。
此外,在本公开的实施例中,描述以下情况:将与从主机102输入的多个写入命令对应的写入数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中,将存储在缓冲器/高速缓存中的写入数据编程到并存储在存储器装置150中包括的多个存储块中,更新与存储在多个存储块中的写入数据对应的映射数据,并且将更新的映射数据存储在存储器装置150中包括的多个存储块中。换言之,描述以下情况:执行与从主机102输入的多个写入命令对应的编程操作。此外,在本公开的又一实施例中,描述以下情况:从主机102输入针对存储在存储器装置150中的数据的多个读取命令,通过检查与读取命令对应的数据的映射数据来从存储器装置150读取与读取命令对应的数据,将读取的数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中,并且将存储在缓冲器/高速缓存中的数据提供到主机102。换言之,描述以下情况:执行与从主机102输入的多个读取命令对应的读取操作。此外,在本公开的另一实施例中,描述以下情况:从主机102接收针对存储器装置150中包括的存储块的多个擦除命令,对应于擦除命令检查存储块,擦除存储在检查到的存储块中的数据,更新与擦除的数据对应的映射数据,并且将更新的映射数据存储在存储器装置150中包括的多个存储块中。即,描述以下情况:执行与从主机102接收的多个擦除命令对应的擦除操作。
结合这种描述,作为示例描述控制器130在存储器系统110中执行命令操作。然而,注意的是,如上所述,控制器130中的处理器134可通过例如FTL(闪存转换层)在存储器系统110中执行命令操作。而且,控制器130将与从主机102输入的写入命令对应的用户数据和元数据编程并存储在存储器装置150中包括的多个存储块之中的任意存储块中,从存储器装置150中包括的多个存储块之中的任意存储块读取与从主机102接收的读取命令对应的用户数据和元数据,并且将读取的数据提供到主机102,或者从存储器装置150中的多个存储块之中的任意存储块擦除与从主机102输入的擦除命令对应的用户数据和元数据。
元数据可包括对应于编程操作存储在存储块中的数据的第一映射数据和第二映射数据,该第一映射数据包括逻辑/物理(L2P:逻辑到物理)信息(逻辑信息),该第二映射数据包括物理/逻辑(P2L:物理到逻辑)信息(物理信息)。而且,元数据可包括:关于与从主机102接收的命令对应的命令数据的信息;关于与命令对应的命令操作的信息;关于存储器装置150的待执行命令操作的存储块的信息;以及关于与命令操作对应的映射数据的信息。换言之,元数据可包括与从主机102接收的命令对应的、除了用户数据之外的所有剩余信息和数据。
也就是说,在本公开的实施例中,在控制器130从主机102接收多个写入命令的情况下,执行与写入命令对应的编程操作,并且将与写入命令对应的用户数据写入并存储在存储器装置150的存储块之中的已执行擦除操作的空存储块、开放存储块或空闲存储块中。而且,将包括L2P映射表或L2P映射列表的第一映射数据和包括P2L映射表或P2L映射列表的第二映射数据写入并存储在存储器装置150的存储块之中的空存储块、开放存储块或空闲存储块中,其中L2P映射表或L2P映射列表中记录存储在存储块中的用户数据的作为逻辑地址和物理地址之间的映射信息的逻辑信息,P2L映射表或P2L映射列表中记录存储有用户数据的存储块的作为物理地址和逻辑地址之间的映射信息的物理信息。
此处,在从主机102输入写入命令的情况下,控制器130将与写入命令对应的用户数据写入并存储在存储块中。控制器130将存储在存储块中的用户数据的、包括第一映射数据和第二映射数据的元数据存储在其它存储块中。特别地,对应于用户数据的数据段被存储在存储器装置150的存储块中,控制器130生成并更新元数据的元段之中的作为映射数据的映射段的第一映射数据的L2P段和第二映射数据的P2L段。控制器130将映射段存储在存储器装置150的存储块中。存储在存储器装置150的存储块中的映射段被加载在控制器130中包括的存储器144中,然后被更新。
进一步地,在从主机102接收多个读取命令的情况下,控制器130从存储器装置150读取与读取命令对应的读取数据,将读取数据存储在控制器130的存储器144中包括的缓冲器/高速缓存中。控制器130将存储在缓冲器/高速缓存中的数据提供到主机102,由此执行与多个读取命令对应的读取操作。
另外,在从主机102接收多个擦除命令的情况下,控制器130检查存储器装置150的与擦除命令对应的存储块,然后对存储块执行擦除操作。
当在执行后台操作的同时执行与从主机102接收的多个命令对应的命令操作时,控制器130将与后台操作对应的数据,即元数据和用户数据加载并存储在控制器130的存储器144中包括的缓冲器/高速缓存中,然后将数据,即元数据和用户数据存储在存储器装置150中。作为示例而非限制,后台操作可包括作为复制操作的垃圾收集操作或读取回收操作、作为交换操作的损耗均衡操作或映射清除操作。例如,对于后台操作,控制器130可在存储器装置150的存储块中检查与后台操作对应的元数据和用户数据,将存储在存储器装置150的某些存储块中的元数据和用户数据加载并存储在控制器130的存储器144中包括的缓冲器/高速缓存中,然后将元数据和用户数据存储在存储器装置150的某些其它存储块中。
在根据本公开的实施例的存储器系统中,在执行作为前台操作的命令操作以及作为后台操作的复制操作、交换操作和映射清除操作的情况下,控制器130调度与前台操作和后台操作对应的队列,并将调度的队列分配给控制器130中包括的存储器144和主机102中包括的存储器。在这方面,控制器130为待在存储器装置150中执行的前台操作和后台操作的各个操作分配标识符(ID),并且调度与分别分配有标识符的操作对应的队列。在根据本公开的实施例的存储器系统中,不仅为存储器装置150的各个操作分配标识符,而且为存储器装置150的功能分配标识符,并且调度与分别分配有标识符的功能对应的队列。
在根据本公开的实施例的存储器系统中,控制器130管理通过待在存储器装置150中执行的各个功能和操作的标识符而调度的队列。控制器130管理通过待在存储器装置150中执行的前台操作和后台操作的标识符而调度的队列。在根据本公开的实施例的存储器系统中,在将与通过标识符而调度的队列对应的存储器区域分配给控制器130中包括的存储器144和主机102中包括的存储器之后,控制器130管理分配的存储器区域的地址。通过使用调度的队列,控制器130不仅在存储器装置150中执行前台操作和后台操作,而且在存储器装置150中执行各个功能和操作。
参照图5,控制器130可执行与从主机102输入的多个命令对应的命令操作,例如,与从主机102输入的多个写入命令对应的编程操作。控制器130将与写入命令对应的用户数据编程并存储在存储器装置150的存储块中。而且,对应于针对存储块的编程操作,控制器130生成并更新用户数据的元数据,并且将元数据存储在存储器装置150的存储块中。
控制器130生成并更新第一映射数据和第二映射数据,该第一映射数据和第二映射数据包括指示用户数据被存储在存储器装置150的存储块中包括的页面中的信息。也就是说,控制器130生成并更新作为第一映射数据的逻辑段的L2P段和作为第二映射数据的物理段的P2L段,然后将它们存储在存储器装置150的存储块中包括的页面中。
例如,控制器130将与从主机102输入的写入命令对应的用户数据高速缓存并缓冲在控制器130的存储器144中包括的第一缓冲器510中。特别地,在将用户数据的数据段512存储在用作数据缓冲器/高速缓存的第一缓冲器510中之后,控制器130将存储在第一缓冲器510中的数据段512存储在存储器装置150的存储块中包括的页面中。当与从主机102接收的写入命令对应的用户数据的数据段512被编程到并存储在存储器装置150的存储块中包括的页面中时,控制器130生成并更新第一映射数据和第二映射数据。控制器130将它们存储在控制器130的存储器144中包括的第二缓冲器520中。特别地,控制器130将用户数据的第一映射数据的L2P段522和第二映射数据的P2L段524存储在作为映射缓冲器/高速缓存的第二缓冲器520中。如上所述,可将第一映射数据的L2P段522和第二映射数据的P2L段524存储在控制器130中的存储器144的第二缓冲器520中。可将用于第一映射数据的L2P段522的映射列表和用于第二映射数据的P2L段524的另一映射列表存储在第二缓冲器520中。控制器130将存储在第二缓冲器520中的第一映射数据的L2P段522和第二映射数据的P2L段524存储在存储器装置150的存储块中包括的页面中。
而且,控制器130执行与从主机102接收的多个命令对应的命令操作,例如,与从主机102接收的多个读取命令对应的读取操作。特别地,控制器130将与读取命令对应的用户数据的作为映射段的第一映射数据的L2P段522和第二映射数据的P2L段524加载在第二缓冲器520中,并且检查L2P段522和P2L段524。然后,控制器130读取存储在存储器装置150的存储块之中的相应存储块的页面中的用户数据,将读取的用户数据的数据段512存储在第一缓冲器510中,然后将数据段512提供到主机102。
此外,控制器130执行与从主机102输入的多个命令对应的命令操作,例如,与从主机102输入的多个擦除命令对应的擦除操作。特别地,控制器130检查存储器装置150的存储块之中的与擦除命令对应的存储块,以对检查到的存储块执行擦除操作。
在存储器装置150中包括的存储块之中执行复制数据或交换数据的操作,例如作为后台操作的垃圾收集操作、读取回收操作或损耗均衡操作的情况下,控制器130将相应的用户数据的数据段512存储在第一缓冲器510中,将与用户数据对应的映射数据的映射段522和524加载在第二缓冲器520中,然后执行垃圾收集操作、读取回收操作或损耗均衡操作。在针对存储器装置150的存储块对例如映射数据的元数据执行作为后台操作的映射更新操作和映射清除操作的情况下,控制器130将相应的映射段522和524加载在第二缓冲器520中,然后执行映射更新操作和映射清除操作。
如上所述,在对存储器装置150执行功能以及包括前台操作和后台操作的操作的情况下,控制器130为待对存储器装置150执行的功能和操作分配标识符。控制器130调度分别与分别分配有标识符的功能和操作对应的队列。控制器130将与各个队列对应的存储器区域分配给控制器130中包括的存储器144和主机102中包括的存储器。控制器130分别管理分配给各个功能和操作的标识符、针对各个标识符调度的队列以及对应于队列分配给控制器130的存储器144和主机102的存储器的存储器区域。控制器130通过分配给控制器130的存储器144和主机102的存储器的存储器区域来对存储器装置150执行功能和操作。
参照图6,存储器装置150包括多个存储器管芯,例如存储器管芯0、存储器管芯1、存储器管芯2及存储器管芯3,并且每个存储器管芯包括多个平面,例如,平面0、平面1、平面2和平面3。如上参照图3所描述的,存储器装置150中包括的存储器管芯中的各个平面包括多个存储块,例如,N个块BLOCK0、BLOCK1、……、BLOCKN-1,每个存储块包括多个页面,例如,2M个页面。此外,存储器装置150包括与各个存储器管芯对应的多个缓冲器,例如,与存储器管芯0对应的缓冲器0、与存储器管芯1对应的缓冲器1、与存储器管芯2对应的缓冲器2以及与存储器管芯3对应的缓冲器3。
在执行与从主机102接收的多个命令对应的命令操作的情况下,将与命令操作对应的数据存储在存储器装置150中包括的缓冲器中。例如,在执行编程操作的情况下,将与编程操作对应的数据存储在缓冲器中,然后将该数据存储在存储器管芯的存储块中包括的页面中。在执行读取操作的情况下,从存储器管芯的存储块中包括的页面读取与读取操作对应的数据,将该数据存储在缓冲器中,然后通过控制器130将该数据提供到主机102。
在本公开的实施例中,尽管下面将作为示例描述存储器装置150中的缓冲器位于各个相应存储器管芯的外部,但要注意的是,缓冲器可位于各个相应存储器管芯的内部,并且要注意的是,缓冲器可对应于各个存储器管芯中的各个平面或各个存储块。进一步地,尽管下面将作为示例描述存储器装置150中的缓冲器是如上参照图3所描述的多个页面缓冲器322、324至326,但要注意的是,缓冲器可以是存储器装置150中包括的多个高速缓存或多个寄存器。
而且,存储器装置150中包括的多个存储块可被分组为多个超级存储块,并且可在多个超级存储块中执行命令操作。每个超级存储块可包括多个存储块,例如第一存储块组和第二存储块组中包括的存储块。在这方面,在第一存储块组包括在某个第一存储器管芯的第一平面中的情况下,第二存储块组可包括在该第一存储器管芯的第一平面中,可包括在该第一存储器管芯的第二平面中或可包括在第二存储器管芯的平面中。
在本公开的实施例中,数据处理系统可包括多个存储器系统。多个存储器系统110中的每一个可包括控制器130和存储器装置150。在数据处理系统中,多个存储器系统110中的一个可以是主存储器系统,而其它存储器系统可以是从存储器系统。可基于多个存储器系统110之间的争用(contention)来确定主存储器系统。当在数据处理系统中从主机102传输多个命令时,主存储器系统可至少基于通道或总线的状态来确定每个命令的目标。例如,对应于从多个存储器系统传输的信息,可将第一存储器系统确定为多个存储器系统之中的主存储器系统。如果将第一存储器系统确定为主存储器系统,则剩余的存储器系统被视为从存储器系统。主存储器系统的控制器可检查联接到多个存储器系统的多个通道(或通路、总线)的状态,以选择哪个存储器系统处理从主机102传输的命令或数据。在实施例中,可在多个存储器系统之中动态地确定主存储器系统。在另一实施例中,主存储器系统可周期性地或根据事件与其它从存储器系统中的一个交换。
下面更详细地描述在包括存储器装置150和控制器130的存储器系统110中传输数据的方法和设备。当存储在存储器系统110中的数据的量变大,可能需要存储器系统110一次读取或存储大量的数据。然而,用于读取存储在存储器装置150中的数据的读取时间或用于将数据写入存储器装置150中的编程/写入时间通常可长于控制器130处理数据的处理时间或用于控制器130和存储器装置150之间的数据传输的数据传输时间。例如,读取时间可以是处理时间的两倍。因为读取时间或编程时间比处理时间或数据传输时间相对长得多,因此用于在存储器系统110中传输数据的过程或进程可影响存储器系统110的性能,例如操作速度,和/或可影响存储器系统110的结构,诸如缓冲器大小。
在图7中,描述了存储器系统20。存储器系统20是根据本公开的另一实施例的存储器系统的示例。作为示例而非限制,存储器系统20可嵌入在计算装置或移动装置中。存储器系统20可与主机10接合以传输或接收数据。
参照图7,存储器系统20可包括控制器30和存储器装置40。控制器30从存储器装置40输出主机10请求的数据。或者,控制器30将从主机10传输的数据存储到存储器装置40。存储器装置40可包括存储数据的多个存储器单元。可根据主机10需要的存储器装置40的特性、使用存储器系统20的目的和/或存储器系统20的规格来设计或配置存储器装置40的内部结构。例如,存储器装置40和图2至图6所示的存储器装置150可具有基本相同的结构。
控制器30和存储器装置40可通过“n”个通道彼此交换数据,其中“n”是大于1的整数。然而,为了控制器30从存储器装置40读取数据或向存储器装置40写入数据,根据存储器装置40的内部结构,可能需要另外的控制变量或控制信号。
控制器30可包括至少一个处理器34、主机接口36、缓冲器38和存储器接口32。处理器34用于控制器30内的命令操作,并且可起到类似计算装置中使用的CPU的作用。主机接口36用于存储器系统20和主机10之间的数据通信,而存储器接口32用于存储器装置40和控制器30之间的数据通信。缓冲器38可临时存储处理器34、主机接口36和存储器接口32的操作期间的所需数据和操作状态,和/或在存储器装置40和主机10之间传输的I/O数据。根据由控制器处理的操作、任务等,上述控制器30的元件可以是功能元件。
从物理角度看,控制器30可包括至少一个处理器、至少一个存储器、至少一个输入/输出端口、用于组件之间的电连接的导线等。
随着存储器装置40中能够存储数据的存储器单元的数量增加,存储器装置40的内部结构可如图6所示那样复杂。控制器30可根据存储器装置40的内部配置传输或接收数据以及访问信息。此处,访问信息可包括与“n”个通道、“k”个通路、每个存储器单元中存储的多层数据的“p”个位、预定逻辑存储单元中包括的“b”个平面等有关的信息。也就是说,当控制器30将数据编程到存储器装置40或从存储器装置40读取数据时,控制器30可使用与“n”个通道、“k”个通路、每个存储器单元中存储的多层数据的“p”个位和/或“b”个平面有关的信息。该信息可用于指示或确定数据存储的位置,例如,多个存储器单元,每个存储器单元由“n”个通道中的至少一个、“k”个通路中的至少一个、多层数据的“p”个位中的至少一个和/或预定逻辑存储单元中的“b”个平面中的至少一个来指定。
在图8中,描述了根据本公开的另一实施例的存储器装置的示例。
参照图8,与控制器30接合的存储器装置40可包括多个逻辑存储单元42_1、42_2、……、42_q(42_1至42_q)和多个缓冲器44_1至44_q。此处,逻辑存储单元42_1、42_2、……、42_q(42_1至42_q)中的每一个可与至少一个平面相关。逻辑存储单元可对应于在向存储器装置40写入数据或从存储器装置40读取数据的操作期间针对数据配置或访问的存储器单元组。
如图1至图4中描述的存储器装置150,存储器装置40可包括多个存储器管芯,每个存储器管芯包括多个平面,每个平面包括多个存储块。图8中描述的逻辑存储单元可被视为是用于向存储器装置40写入数据和从存储器装置40读取数据的操作单元。在实施例中,当存储器装置40包括多个平面时,逻辑存储单元与至少一个平面相关。例如,逻辑存储单元可位于多个平面上,并且每个平面中的一部分可包括在逻辑存储单元中。在另一实施例中,可基于逐个管芯、逐个块、逐个页面等来确定存储器装置40中的逻辑存储单元。进一步地,可根据存储器系统20中包括的控制器30或缓冲器的大小(参见图7)、通道的数量、电源管理设备等来不同地确定逻辑存储单元。
虽然未示出,但是逻辑存储单元42_1至42_q中的一个逻辑存储单元中包括的多个平面可以是管芯的一部分,多个平面中的每一个可通过通道和通路分开。例如,假设存储器装置40中存在十个管芯。每个管芯中的五个平面可分组在一起并配置为单个逻辑存储单元。根据实施例,存储器装置40中包括的管芯的数量和每个管芯中包括的平面的数量可以变化。因此,可存在多种方式来选择存储器装置40中包括的多个管芯中的某个管芯,并且选择所选择的管芯中包括的多个平面中的一些平面来建立逻辑存储单元。特别地,逻辑存储单元可用作存储器系统20中的读取操作和写入操作的基本单元。当存储器系统20中包括的存储器单元可具有针对读取操作和写入操作的预定寿命时,可周期性地或有条件地(例如,根据预定条件)改变或调整逻辑存储单元,以增加存储器单元的总寿命。
逻辑存储单元42_1至42_q中的每一个可与缓冲器44_1至44_q中的每一个接合。可为存储器装置40中的每个逻辑存储单元分配至少一个缓冲器。从逻辑存储单元42_1至42_q中的每一个中的存储器单元读取数据或向逻辑存储单元42_1至42_q中的每一个中的存储器单元写入数据所需的时间(例如,读取时间、编程时间等)可长于控制器30和存储器装置40之间的数据传输时间。因为经由通道的数据传输速度快于存储器装置40的读取速度和编程速度,所以可针对每个逻辑存储单元配置缓冲器,这提高了经由通道的数据传输效率,其中通道被视为数据在存储器装置40和控制器30之间移动的路径。
在另一实施例中,存储器装置40中包括的多个缓冲器44_1至44_q不与多个逻辑存储单元一一对应。而是,可提供多个缓冲器44_1至44_q以对应于多个管芯或平面。可根据如何在存储器装置40中执行读取操作或编程(写入)操作来改变缓冲器的数量和大小。
根据实施例,可通过串行数据通信方法来实现控制器30和存储器装置40之间的数据传输。例如,控制器30可以是主设备,并且存储器装置40中的各个模块可作为从设备。通过通道传输的数据的格式可被包格式化(packetize),并且可包括起始区域、数据区域、错误校验区域、结束区域等。
根据实施例,与数据在存储器装置40中可存储在哪个逻辑存储单元或可从哪个逻辑存储单元读取或访问数据有关的信息可作为独立于数据的独立信号或作为与数据组合的组合信号进行传输。进一步地,单个逻辑存储单元可包括多个平面,并且多个平面可通过多个通道或多个通路与控制器30联接。另外,多个平面中包括的存储器单元可以是每单元能够存储两位或更多位数据的多层单元(MLC)。
例如,为了准确地确定在编程或写入操作期间从控制器30传输的数据将存储在存储器装置40的哪个位置中,控制器30可发送与“n”个通道中的一个、“k”个通路中的一个、存储器单元中存储的多层数据的“p”个位中的一个以及预定逻辑存储单元中包括的“b”个平面中的一个有关的信息。另外,为了准确地从存储器装置40读取数据,控制器30可发送与“n”个通道中的一个、“k”个通路中的一个、存储器单元中存储的多层数据的“p”个位中的一个以及“b”个平面中的一个有关的信息。存储器装置40可基于该信息输出数据。
根据实施例,当确定了存储器装置40和控制器30如何彼此传输数据的方式或方法时,指示数据存储在哪一个逻辑存储单元中的信息可足以执行读取操作或编程操作。可能不需要与特定通道、特定通路、特定平面或存储器单元的特定位有关的信息。然而,在这种情况下,因为逻辑存储单元不表示物理存储位置,所以在物理传输层下使用的访问信息应包括与实际访问和存储数据的特定位置有关的预定信息。
在图9A和图9B中,描述了根据本公开的各个实施例的映射电路62A、62B。在本文中,映射电路62A、62B可确定从控制器30传输的数据可存储在存储器装置40的哪个地方或位置。
参照图9A和图9B,根据实施例,映射电路62A可包括在控制器30中包括的存储器接口32中,或者映射电路62B可包括在主机接口36中。根据实施例,映射电路62A、62B的位置可改变。映射电路62A、62B可与控制器30结合操作。映射电路62A、62B可基于多个通道的第一顺序、多个平面的第二顺序、多个通路的第三顺序以及存储器单元中存储的多层数据的多个位的第四顺序中的至少一个来确定数据被传输到存储器装置40中的位置。
根据实施例,可利用与每个元件对应的至少一个电路来构成控制器30的内部结构或配置。如在本申请中使用的,术语“电路”指以下中的全部:(a)仅硬件电路实施方案(例如,仅模拟和/或数字电路的实施方案)以及(b)电路与软件(和/或固件)的组合,例如(如可适用的):(i)处理器的组合或(ii)(包括一起工作以使诸如移动电话或服务器的设备执行各种功能的数字信号处理器、软件和存储器的)处理器/软件的部分;以及(c)需要软件或固件(即使该软件或固件并非物理地存在)来进行操作的电路,例如,微处理器或微处理器的一部分。“电路”的这种定义适用于该术语在本申请中的所有应用,包括在任意权利要求中的应用。作为另外的示例,如在本申请中使用的,术语“电路”还将涵盖仅处理器(或多个处理器)或处理器的一部分及处理器(或多个处理器)附带的软件和/或固件的实施方案。例如,如果术语“电路”适用于特定的权利要求元件,则“电路”还将涵盖用于控制器、计算装置、游戏装置、移动电话、显示器或者网络或通信装置的集成电路或应用处理器集成电路。根据另一实施例,控制器30的内部结构或配置可包括基于根据由控制器30处理的操作、任务等的功能分类的元件。
图9A和图9B所示的映射电路62A、62B可通过各种方法确定指示大量数据可存储的传输顺序。图10至图14示出映射电路62A和62B如何将数据传输到存储器装置40。在图10至图14中,假设单个逻辑存储单元包括四个平面P0、P1、P2、P3。四个平面P0、P1、P2、P3从经由四个通道Channel 0至Channel 3和两个通路(Way 0至Way 1)联接的八个管芯中的每一个分组而来。图10至图14示出存储器装置40的示例,该存储器装置40包括每单元能够存储三位数据的存储器单元(例如,三层单元(TLC))。
在图10至图14中,描述了根据实施例的从控制器到存储器装置的数据传输的第一至第五种方法。在参照图10至图14描述的数据传输方法中,三层单元(TLC)包括数据的第一至第三位,例如,最高有效位、中间有效位和最低有效位(MSB、CSB、LSB)。可以第三位、第二位和第一位的顺序存储数据。根据实施例,在每个存储器单元中还能够以第一位、第二位和第三位的顺序存储数据。
图10示出将数据从控制器30传输到存储器装置40的第一种方法。
参照图10,第一种方法可首先将数据传输到经由第一通道Channel0和第一通路Way 0联接的第一管芯Die 0。在将数据填充到第一管芯Die0中包括的多个平面P0、P1、P2、P3中的可用区域中之后,可将后续数据填充到第二管芯Die 1中的可用区域中。在将数据分配到经由通道Channel 0至Channel 3和第一通路Way 0联接的多个管芯Die 0至Die 3之后,将后续数据分配到经由通道Channel 0至Channel 3和第二通路Way 1联接的其它管芯Die 4至Die 7。
在管芯Die 0至Die 7中的每一个中,基于平面的顺序(P0→P1→P2→P3)和位的顺序(第三位(LSB,L)、第二位(CSB,C)、第一位(MSB,M),即L→C→M)来分配数据。首先,在第一管芯Die 0中,对应于每个存储器单元的第三位(L)以平面的顺序(P0→P1→P2→P3)传输数据(参考符号“①”)。此后,可对应于每个存储器单元的第二位(C)以平面的顺序(P0→P1→P2→P3)传输后续数据(参考符号“②”)。然后,可对应于每个存储器单元的第一位(M)以平面的顺序(P0→P1→P2→P3)传输后续数据(参考符号“③”)。
当数据被传输到第一管芯Die 0的所有可用空间时,可将通道从第一通道Channel0改变为第二通道Channel 1,以将后续数据传输到第二管芯Die 1中。在第二管芯Die 1中,可根据平面的顺序(P0→P1→P2→P3)和位的顺序(L→C→M)传输后续数据(参考符号“④”、“⑤”、“⑥”)。
当数据被分配到第二管芯Die 1的所有可用空间时,可将通道从第二通道Channel1改变为第三通道Channel 2,以将后续数据传输到第三管芯Die 2中。与第一管芯Die 0和第二管芯Die 1一样,可基于平面的顺序(P0→P1→P2→P3)和位的顺序(L→C→M)传输后续数据(参考图10中的符号“⑦”、“⑧”、“⑨”)。
在数据被以相同的方式传输到第四管芯Die 3的所有可用空间之后,可将通路从第一通路Way 0改变为第二通路Way 1。然后,将后续数据传输到经由第一通道Channel 0和第二通路Way 1与控制器30联接的第五管芯Die 4中。
上述第一种方法的优点在于控制器30中包括的缓冲器38的大小不需要很大。虽然在控制器30和存储器装置40之间存在多个通道,但第一种方法可通过单个通道传输具有预定大小的数据,然后经由下一通道传输相同大小的数据。因此,缓冲器38可具有与通过单个通道一次传输的、大小最大的数据对应的较小的大小。而且,在第一种方法中,即使数据具有不能传输到所有管芯Die 0至Die 7的大小,虚设数据也可能不大,因为当虚设数据仅被传输到未被完全填充数据的最后一个管芯中时,才可执行写入操作。另一个优点在于虚设数据的量较小。
然而,因为仅使用多个通道之中的单个通道,所以除正在使用的通道之外的至少一个通道变为空闲状态,使得鉴于经由多个通道的数据传输,这可能是低效的。当读取或编程大容量数据(大量数据)时,低效的数据传输可能导致存储器系统的较低的数据输入/输出吞吐量。
图11示出将数据从控制器30传输到存储器装置40的第二种方法。
参照图11,第二种方法是将单个位(LSB,L)的数据传输到经由第一通道Channel 0和第一通路Way 0联接到控制器30的第一管芯Die 0中包括的多个平面P0、P1、P2、P3。在传输分配在第一管芯Die 0中包括的多个平面P0、P1、P2、P3中的存储器单元的第三位(L)的数据之后,控制器30可将后续数据传输到连接到下一通道Channel 1的第二管芯Die 1中。在将分配在数据的一个位的数据传输到经由所有通道(Channel 0至Channel 3)和第一通路Way 0联接的管芯(Die 0至Die 3)中之后,将后续数据传输到经由第二通路Way 1联接的其它管芯Die 4至Die 7。在传输了分配在逻辑存储单元中的所有存储器单元中的单个位的数据之后,可将后续数据填充到通过第一通道Channel 0和第一通路Way 0连接的第一管芯Die 0中包括的多个平面上的下一位(CSB,C)中。
在每个管芯Die 0至Die 7中,根据平面的顺序(P0→P1→P2→P3)将一位数据传输到每个单位单元中。首先,当与第三位(LSB,L)对应的数据根据管芯Die 0至Die 7的顺序传输到每个管芯中包括的多个平面P0、P1、P2、P3(参考符号“①→②→③→④→⑤→⑥→⑦→⑧”)时,可开始传输分配到第二位(CSB,C)的后续数据(参考符号“⑨”)。此后,当分配到第二位(C)的数据被传输到所有管芯Die 0至Die 7时,可传输与第三位(MSB,M)对应的数据。可至少基于通道的顺序(Channel 0→Channel 1→Channel 2→Channel 3)和通路的顺序(Way 0→Way 1)来确定管芯Die 0至Die 7的顺序。
上述第二种方法可与通道的数量(例如,四个)成比例地增大控制器30中包括的缓冲器38的大小。在本文中,缓冲器38可具有队列的数据结构。与通过使用通道的顺序和通路的顺序一次传输每个管芯的数据的上述第一种方法相比,因为可基于通道的顺序和通路的顺序将数据一次传输到所有管芯,所以使用多个通道具有有利效果,从而对于大容量数据的数据传输,第二种方法可比第一种方法更快。然而,因为通道将一位数据传输到特定管芯中包括的平面,然后移动到下一通道以传输后续数据,所以不会发生通道间重叠。也就是说,与第一种方法相比,因为通过多个通道来传输数据,所以可以减少将大容量数据从控制器30传输到存储器装置40所需的时间。然而,它可能不是最佳的方式,因为第二种方法顺序地而非并行地使用多个通道。
图12示出将数据从控制器30传输到存储器装置40的第三种方法。
参照图12,可将第三种方法与图11中描述的第二种方法区分开。在第二种方法中,在将与单个位对应的数据传输到所有管芯Die 0至Die7之后,传输与下一位对应的后续数据。然而,在第三种方法中,在不改变通路的情况下,使用多个通道将数据传输到所有管芯Die 0至Die 7中的一些管芯(例如,Die 0至Die 3)中。在将数据填充到一些管芯内之后,可通过改变通路将后续数据传输到剩余的管芯(例如,Die 4至Die 7)中。
具体地,在管芯Die 0至Die 7中的每一个中,可根据平面的顺序(P0→P1→P2→P3)和位的顺序(L→C→M,即,第三位LSB(L)、第二位CSB(C)和第一位MSB(M)的顺序)来存储数据。参考符号“①”,通过第一通道Channel 0以平面的顺序(P0→P1→P2→P3)传输数据,并且将该数据存储为第一管芯Die 0中包括的存储器单元的第三位(L)。然后,参考符号“②”,通过第二通道Channel 1以平面的顺序(P0→P1→P2→P3)传输后续数据,并将该后续数据存储为第二管芯Die 1中包括的存储器单元的第三位(L)。然后,可将数据传输到第三管芯Die 2中。参考符号“③”,可经由第三通道Channel 2传输以平面的顺序(P0→P1→P2→P3)分配到与第三位(L)对应的可用空间的数据。参考符号“④”,可经由第四通道Channel 3将后续数据传输到第四管芯Die 3中,该后续数据以平面的顺序(P0→P1→P2→P3)分配到与第三位(L)对应的可用空间。
在图11所示的第二种方法中,可通过改变通路的顺序来将后续数据传输到第五管芯Die 4中。然而,在第三种方法中,在不改变通路的情况下,可经由第一通道Channel 0将后续数据传输到第一管芯Die 0中,该后续数据以平面的顺序(P0→P1→P2→P3)分配到第二位(C)。在数据被分配到一些管芯Die 0至Die 3中的第一位至第三位的所有可用空间之后,可通过将第一通路Way 0改变为第二通路Way 1来将后续数据传输到其它管芯Die 4至Die 7中。
与第二种方法一样,上述第三种方法可与通道的数量(例如,四个)成比例地增大控制器30中的缓冲器38的大小。基于通道的顺序将数据传输到每个管芯。与基于逐个管芯来传输数据的第一种方法相比,可通过使用所有通道来将数据传输到多个管芯中。可经由多个通道而非单个通道来传输数据,从而数据传输可更快。然而,因为在经由通道完全传输之后,数据才经由下一通道进行传输,所以数据传输在通道之间不存在重叠。进一步地,在第二种方法中数据被传输到所有管芯Die 0至Die 7中,但是在该方法中,数据可被传输到一些管芯Die 0至Die 3中,然后在完全分配到管芯Die 0至Die 3之后被传输到其它管芯Die 4至Die 7中。当数据不能被完全分配到所有管芯中的所有平面的所有位时,有利的是第三种方法可比第二种方法具有更少量的虚设数据。
图13示出将数据从控制器30传输到存储器装置40的第四种方法。
参照图13,与第一至第三种方法不同,第四种方法规定:在将单个数据传输到特定管芯的平面中之后,可将后续数据传输到下一管芯的平面中。在第四种方法中,数据没有被分配到每个管芯的所有平面。在第四种方法中,可在不改变通路的情况下经由多个通道传输数据,从而在数据被完全分配到所有管芯Die 0至Die 7中的一些管芯(例如,Die 0至Die3)中的可用空间之后,可将后续数据传输到其它管芯(例如,Die 4至Die 7)中。
在管芯Die 0至Die 7中的每一个中,可根据平面的顺序(P0→P1→P2→P3)和位的顺序(第三位(LSB,L)、第二位(CSB,C)、第一位(MSB,M),即L→C→M)来分配并存储数据。
具体地,参考符号“①”,在将数据传输到连接到第一通道Channel0的第一管芯Die0的第一平面P0之后,可根据通道的顺序将通道改变为下一通道Channel 1,以将后续数据传输到第二管芯Die 1的第一平面P0中。与上述第一至第三种方法不同,可在将所有数据传输到第一管芯Die 0中包括的第一至第四平面P0至P3之前改变通道。参考符号“②”,在将数据传输到连接到第二通道Channel 1的第二管芯Die 1中的第一平面P0之后,根据通道的顺序,经由下一通道Channel 2将后续数据传输到第三管芯Die 2的第一平面P0中。参考符号“③”,在将数据传输到连接到第三通道Channel 2的第三管芯Die 2中的第一平面P0中之后,根据通道的顺序,经由下一通道Channel 3将后续数据传输到第四管芯Die 3的第一平面P0中。
参考符号“④”,在将数据传输到连接到第四通道Channel 3的第四管芯Die 3中的第一平面P0之后,将后续数据传输到经由第一通道Channel 0连接的第一管芯Die 0的第二平面P1中。当根据通道的顺序将数据传输到第四管芯Die 3中的第二平面P1时,可将后续数据传输到第一管芯Die 0的第三平面P2。
在第一至第四管芯Die 0至Die 3中包括的所有平面中,可根据位的顺序(第三位(LSB,L)、第二位(CSB,C)、第一位(MSB,M),即,L→C→M)来分配并存储数据。当与第三位(L)对应的数据被传输到第一至第四管芯Die 0至Die 3中包括的所有平面时,可传输与第二位(C)对应的后续数据。当与第二位(C)和第三位(M)对应的数据全部被传输到第一至第四管芯Die 0至Die 3时,将通路从第一通路Way 0改变为第二通路Way 1以将数据传输到其它管芯Die 4至Die 7。
总之,根据第四种方法对存储器单元的访问顺序如下表1所示。
[表1]
访问顺序 | 通道# | 平面# | 层 | 通路# |
0 | 0 | 0 | L | 0 |
1 | 1 | 0 | L | 0 |
2 | 2 | 0 | L | 0 |
3 | 3 | 0 | L | 0 |
4 | 0 | 1 | L | 0 |
…… | …… | …… | …… | …… |
15 | 3 | 3 | L | 0 |
16 | 0 | 0 | C | 0 |
…… | …… | …… | …… | …… |
47 | 3 | 3 | M | 0 |
48 | 0 | 0 | L | 1 |
…… | …… | …… | …… | …… |
如表1所示,可在每次完成存储器单元的层的循环(turns)时改变待访问的通路,可在每次完成平面的循环时改变待访问的存储器单元的层,可在每次完成通道的循环时改变待访问的平面。也就是说,控制器30可根据通道、平面、单元的层和通路的访问层次来访问存储器单元。多层存储器单元可配置逻辑多层页面。例如,三层存储器单元可配置LSB页面、CSB页面和MSB页面的逻辑三层页面。存储器单元的层可被视为那些存储器单元的逻辑多层页面。可在每次完成存储器单元的逻辑多层页面的循环时,改变待访问的通路。也就是说,控制器30可根据通道、平面、逻辑多层页面和通路的访问层次来访问存储器单元。
在上述第四种方法中,与第二种方法一样,控制器30的缓冲器38的大小可与通道的数量(例如,四个)成比例地增大。可根据通道的顺序将每个数据传输到每个管芯,从而与数据被传输到每个管芯直到被完全分配到每个管芯的上述第一种方法相比,第四种方法使用多个通道而具有更好的效果。而且,与第二种方法和第三种方法相比,因为第四种方法规定在将数据传输到单个管芯中包括的所有平面之前,可经由不同的通道传输多个数据,所以多个通道之间的数据传输可重叠,从而提高数据传输的速度和效率。
图14示出将数据从控制器30传输到存储器装置40的第五种方法。
参照图14,与上述第四种方法一样,第五种方法规定:在将数据传输到特定管芯的单个平面中之后,可经由下一通道将后续数据传输到另一管芯的平面中。在第四种方法中,在不改变通路的情况下经由多个通道将数据传输到所有管芯Die 0至Die 7之中的一些管芯(例如,Die 0至Die 3)中,然后在数据被分配到管芯(例如,Die 0至Die 3)的所有位之后,可将后续数据传输到其它管芯(例如,Die 4至Die 7)中。与第四种方法不同,第五种方法规定:将数据传输到一些管芯(例如,Die 0至Die 3)的特定位中,然后通过改变通路,可将后续数据传输到其它管芯(例如,Die 4至Die 7)的相同位。
具体地,在管芯Die 0至Die 7中的每一个中,可根据平面的顺序(P0→P1→P2→P3)和位的顺序(第三位(LSB,L)、第二位(CSB,C)、第一位(MSB,M),即,L→C→M)来分配并存储数据。
参考符号“①”,在将数据传输到连接到第一通道Channel 0的第一管芯Die 0的第一平面P0之后,可根据通道的顺序将通道改变为下一通道Channel 1,以将后续数据传输到第二管芯Die 1的第一平面P0中。与上述第一至第三种方法不同,可在将所有数据传输到第一管芯Die 0中包括的第一至第四平面P0至P3之前改变通道。参考符号“②”,在将数据传输到连接到第二通道Channel 1的第二管芯Die 1中的第一平面P0之后,根据通道的顺序,经由下一通道Channel 2将后续数据传输到第三管芯Die 2的第一平面P0中。参考符号“③”,在将数据传输到连接到第三通道Channel 2的第三管芯Die 2中的第一平面P0中之后,根据通道的顺序,经由下一通道Channel 3将后续数据传输到第四管芯Die 3的第一平面P0中。
参考符号“④”,在将数据传输到连接到第四通道Channel 3的第四管芯Die 3中的第一平面P0之后,可将后续数据传输到经由第一通道Channel 0连接的第一管芯Die 0的第二平面P1中。当根据通道的顺序将数据传输到第四管芯Die 3中的第二平面P1时,可将后续数据传输到第一管芯Die 0的第三平面P2。
当与第三位(L)对应的数据被传输到第一至第四管芯Die 0至Die3中包括的所有平面时,改变通路(Way 0→Way 1)。可将分配到第三位(L)的后续数据传输到第五至第八管芯Die 4至Die 7中包括的所有平面中。当数据被传输到所有管芯Die 0至Die 7中的所有平面的第三位(L)时,可传输分配到第二位(C)的后续数据。在所有管芯Die 0至Die 7中包括的所有平面中,可根据位的顺序(第三位(LSB,L)、第二位(CSB,C)、第一位(MSB,M),即,L→C→M)来分配并存储数据。
总之,根据第五种方法对存储器单元的访问顺序如下表2所示。
[表2]
访问顺序 | 通道# | 平面# | 通路# | 层 |
0 | 0 | 0 | 0 | L |
1 | 1 | 0 | 0 | L |
2 | 2 | 0 | 0 | L |
3 | 3 | 0 | 0 | L |
4 | 0 | 1 | 0 | L |
…… | …… | …… | …… | …… |
15 | 3 | 3 | 0 | L |
16 | 0 | 0 | 1 | L |
…… | …… | …… | …… | …… |
31 | 3 | 3 | 1 | L |
32 | 0 | 0 | 0 | C |
…… | …… | …… | …… | …… |
如表2所示,可在每次完成通路的循环时改变待访问的存储器单元的层,可在每次完成平面的循环时改变待访问的通路,可在每次完成通道的循环时改变待访问的平面。也就是说,控制器30可根据通道、平面、通路以及单元的层的访问层次来访问存储器单元。存储器单元的层可被视为那些存储器单元的逻辑多层页面。可在每次完成通路的循环时改变待访问的存储器单元的逻辑多层页面。也就是说,控制器30可根据通道、平面、通路和逻辑多层页面的访问层次来访问存储器单元。
在上述第五种方法中,与第四种方法一样,控制器30中包括的缓冲器38的大小可与通道的数量(例如,四个)成比例地增大。根据通道的顺序将数据传输到每个管芯,从而与数据被传输到每个管芯的所有平面的所有位并且然后被传输到下一管芯的上述第一种方法相比,第五种方法通过顺序地使用多个通道而对数据传输速度具有更好的效果。进一步地,与第二种方法和第三种方法相比,因为第五种方法可在数据被传输到单个管芯中包括的所有平面之前,使用多个通道将数据传输到多个管芯中,所以经由多个通道的数据传输可重叠,从而可提高并增强数据传输速度和效率。与第四种方法不同,在第五种方法中,数据被顺序地传输到所有管芯Die 0至Die 7而不是被传输到一些管芯(例如,Die 0至Die3)。因此,当管芯Die 0至Die 7未被数据填满时,可增加虚设数据。
图15和图16示出图10至图14中描述的第一至第五种方法的效果。图15对根据第一至第五种方法的读取操作的速度进行了比较。图16对根据第一至第五种方法的写入操作的速度进行了比较。在图15和图16中,假设四个管芯通过两个通道和两个通路与控制器联接。还假设在主机和存储器系统之间传输数据的第二时间比在存储器系统中的控制器和存储器装置之间传输数据所需的第一时间约快两倍(例如,2.1倍)。
参照图15,在第一至第五种方法中,从存储器装置读取数据所需的读取时间(tR)之间、将数据从存储器装置传输到控制器的第一时间(1s至8s)之间以及将数据从存储器系统传输到主机的第二时间(1r至8r)之间不存在差异。然而,根据第一至第五种方法,可不同地设置读取时间(tR)、第一时间(1s至8s)和第二时间(1r至8r)。
即使在存储器系统中或在存储器系统和主机之间的特定操作上花费的时间基本相同,但可根据第一至第五种方法以不同的时序执行这些特定操作。执行特定操作的差异可导致通过两个通道和两个通路从四个管芯输出数据的总时间的差异。
在图15中,描述了四个管芯经由两个通道和两个通路联接。然而,在通道的数量增加并且管芯的数量增加的存储器系统中,当根据第一至第五种方法读取较大数据时,总时间可能存在较大差异。
参照图16,根据用于传输数据的第一至第五种方法,不同地设置将数据写入每个存储器单元中所需的时间tPROG以及在存储器装置和控制器之间传输数据的时间(tL/C/M、tL、tC、tM)。根据第一至第五种方法,经由两个通道和两个通路将数据传输到四个管芯所需的总时间存在差异。在图16中,描述了四个管芯经由两个通道和两个通路联接。然而,当存储器系统包括更多通道和更多管芯时,当根据第一至第五种方法读取更大数据时,总时间可能存在更大差异。
如上所述,不仅在存储器系统内的控制器与存储器装置之间传输数据的第一速度和在主机与存储器系统之间传输数据的第二速度之间存在两倍的差异,而且向存储器装置写入数据或从存储器装置读取数据的时间(tPROG或tR)大于在主机、控制器和存储器装置之间传输数据的时间。因此,如何在主机、控制器和存储器装置之间传输数据可影响存储器系统的整体性能(例如,I/O吞吐量)。另外,即使经由多个通道的数据传输可彼此重叠,但可通过减少干扰来减少高速传输数据的进程中的错误。
图17示出在存储器系统中传输数据的操作方法。
参照图17,数据传输的操作方法可包括:将多个平面中的预定数量的平面设置为逻辑存储单元(步骤82);基于多个通道的第一顺序、多个平面的第二顺序、多个通路的第三顺序以及多层单元中存储的位的第四顺序来确定数据的传输顺序(步骤84);并且响应于该传输顺序将数据传输到至少一个存储器装置中(步骤86)。
存储器系统可包括至少一个存储器装置和控制器,其中至少一个存储器装置能够存储数据,控制器在该至少一个存储器装置中执行读取操作或写入操作。存储器系统中通过多个通道和多个通路连接到控制器的存储器装置中的管芯可包括多个平面。平面可包括多个块,并且块可包括多个单元。单元可存储多层(多位)数据。例如,单元可包括能够存储三位数据的三层单元(TLC)或能够存储四位数据的四层单元(QLC)。
根据实施例,存储器系统中的控制器可在存储器装置中设置的每个逻辑存储单元中执行每个读取操作或每个写入操作。
存储器系统中包括的控制器可与能够确定数据的传输顺序的映射单元接合。可通过应用具有不同优先级的多个通道的第一顺序、多个平面的第二顺序、多个通路的第三顺序以及多层单元中存储的位的第四顺序来确定数据的传输顺序。例如,控制器可在基于第二顺序将数据传输到至少一个管芯之后改变第一顺序,以便通过映射单元确定数据的传输顺序。
根据实施例,在确定数据的传输顺序时,控制器可在基于第一顺序传输数据之后改变第二顺序。在基于第二顺序将数据完全传输到至少一个管芯之后,控制器可改变第三顺序以进行数据传输。然后,可在基于第三顺序将数据传输到至少一个管芯之后改变第四顺序。例如,如参考表2所描述的,控制器30可根据所列顺序中的通道、平面、通路和逻辑多层页面的访问层次来访问存储器单元。
根据实施例,在确定数据的传输顺序时,控制器可在基于第二顺序将数据传输到至少一个管芯之后改变第四顺序。在基于第四顺序将数据传输到至少一个管芯之后,控制器可改变第三顺序。例如,如参考表1所描述的,控制器30可根据所列顺序中的通道、平面、逻辑多层页面和通路的访问层次来访问存储器单元。
另外,控制器可使用或参考映射单元,以根据传输到一个或多个逻辑存储单元或者从一个或多个逻辑存储单元传输的数据的大小,基于第一顺序、第二顺序、第三顺序和第四顺序来确定数据的传输顺序。可根据数据大小来调整或改变传输顺序。
如图10至图14中描述的第一至第五种方法,调整第一顺序、第二顺序、第三顺序和第四顺序的优先级可带来不同的性能和效果。
在图18中,描述了包括根据实施例的存储器系统的数据处理系统的另一示例。图18示意性地示出应用存储器系统的存储卡系统。
参照图18,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
存储器控制器6120可连接到由非易失性存储器实施的存储器装置6130。存储器控制器6120可被配置成访问存储器装置6130。作为示例而非限制,存储器控制器6120可被配置成控制存储器装置6130的读取操作、写入操作、擦除操作和后台操作。存储器控制器6120可被配置成提供存储器装置6130和主机之间的接口,并且使用固件控制存储器装置6130。也就是说,存储器控制器6120可对应于参照图1描述的存储器系统110的控制器130,并且存储器装置6130可对应于参照图1描述的存储器系统110的存储器装置150。
因此,存储器控制器6120可包括RAM、处理器、主机接口、存储器接口和错误校正组件。存储器控制器6120可进一步包括图1所示的元件。
存储器控制器6120可通过连接器6110与例如图1的主机102的外部装置通信。例如,如参照图1所描述的,存储器控制器6120可被配置成根据诸如以下的各种通信协议中的一种或多种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围组件互连(PCI)、PCI高速(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(EDSI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、WiFi和蓝牙。因此,存储器系统和数据处理系统可应用于有线/无线电子装置,特别是移动电子装置。
存储器装置6130可由非易失性存储器来实施。例如,存储器装置6130可通过诸如以下的各种非易失性存储器装置中的任意一种来实施:可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋转移矩磁性RAM(STT-MRAM)。存储器装置6130可包括如图6的存储器装置150中的多个管芯。
存储器控制器6120和存储器装置6130可被集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可被如此集成以形成固态驱动器(SSD)。在另一实施例中,存储器控制器6120和存储器装置6130可被集成以形成诸如以下的存储卡:PC卡(PCMCIA:个人计算机存储卡国际协会)、紧凑式闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)和/或通用闪存(UFS)。
图19是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。
参照图19,数据处理系统6200可包括具有一个或多个非易失性存储器的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。如参照图1描述的,图19所示的数据处理系统6200可用作诸如存储卡(CF、SD、微型SD等)或USB装置的存储介质。存储器装置6230可对应于图1所示的存储器系统110中的存储器装置150。存储器控制器6220可对应于图1所示的存储器系统110中的控制器130。
存储器控制器6220可响应于主机6210的请求来控制对存储器装置6230的读取操作、写入操作或擦除操作。存储器控制器6220可包括一个或多个CPU 6221、诸如RAM 6222的缓冲存储器、ECC电路6223、主机接口6224和诸如NVM接口6225的存储器接口。
CPU 6221可控制对存储器装置6230的全部操作,例如读取操作、写入操作、文件系统管理操作和坏页面管理操作。RAM 6222可根据CPU 6221的控制来操作。RAM 6222可用作工作存储器、缓冲存储器或高速缓存存储器。当RAM 6222用作工作存储器时,由CPU 6221处理的数据可临时存储在RAM 6222中。当RAM 6222用作缓冲存储器时,RAM 6222可用于缓冲从主机6210传输到存储器装置6230或从存储器装置6230传输到主机6210的数据。当RAM6222用作高速缓存存储器时,RAM 6222可辅助低速存储器装置6230以高速运行。
ECC电路6223可对应于图1所示的控制器130的ECC组件138。如参照图1所描述的,ECC电路6223可生成用于校正从存储器装置6230提供的数据的失败位或错误位的ECC(错误校正码)。ECC电路6223可对被提供到存储器装置6230的数据执行错误校正编码,由此形成具有奇偶校验位的数据。奇偶校验位可被存储在存储器装置6230中。ECC电路6223可对从存储器装置6230输出的数据执行错误校正解码。ECC电路6223可使用奇偶校验位来校正错误。例如,如参照图1所描述的,ECC电路6223可使用LDPC码、BCH码、turbo码、里德-所罗门码、卷积码、RSC或者诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可通过主机接口6224与主机6210交换数据。存储器控制器6220可通过NVM接口6225与存储器装置6230交换数据。主机接口6224可通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口来连接到主机6210。存储器控制器6220可利用诸如WiFi或长期演进(LTE)的移动通信协议而具有无线通信功能。存储器控制器6220可连接到例如主机6210或另一外部装置的外部装置,然后与外部装置交换数据。特别地,由于存储器控制器6220被配置成通过各种通信协议中的一种或多种与外部装置通信,因此根据实施例的存储器系统和数据处理系统可应用于有线/无线电子装置,特别是移动电子装置。
图20是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图20示意性地示出应用存储器系统的SSD。
参照图20,SSD 6300可包括控制器6320和包括多个非易失性存储器的存储器装置6340。控制器6320可对应于图1的存储器系统110中的控制器130。存储器装置6340可对应于图1的存储器系统中的存储器装置150。
更具体地,控制器6320可通过多个通道CH1至CHi连接到存储器装置6340。控制器6320可包括一个或多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324和例如非易失性存储器接口6326的存储器接口。
缓冲存储器6325可临时存储从主机6310提供的数据或从存储器装置6340中包括的多个闪速存储器NVM提供的数据,或者临时存储多个闪速存储器NVM的元数据,例如,包括映射表的映射数据。缓冲存储器6325可由诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的各种易失性存储器或诸如FRAM、ReRAM、STT-MRAM和PRAM的各种非易失性存储器中的任意一种来实施。图20示出缓冲存储器6325被设置在控制器6320的内部。然而,缓冲存储器6325可被设置在控制器6320的外部。
ECC电路6322可在编程操作期间计算待被编程到存储器装置6340的数据的ECC值。ECC电路6322可在读取操作期间基于ECC值对从存储器装置6340读取的数据执行错误校正操作。ECC电路6322可在失败数据恢复操作期间对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供与例如主机6310的外部装置的接口功能。非易失性存储器接口6326可提供与通过多个通道连接的存储器装置6340的接口功能。
此外,可提供应用图1的存储器系统110的多个SSD 6300以实施例如RAID(独立磁盘冗余阵列)系统的数据处理系统。RAID系统可包括多个SSD 6300和用于控制多个SSD6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令执行编程操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的写入命令的RAID级别信息,在SSD6300中选择一个或多个存储器系统或SSD 6300。RAID控制器可将与写入命令对应的数据输出到所选择的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令执行读取操作时,RAID控制器可根据多个RAID级别,即,从主机6310提供的读取命令的RAID级别信息,在SSD 6300中选择一个或多个存储器系统或SSD6300。RAID控制器可将从所选择的SSD6300读取的数据提供到主机6310。
图21是示意性地示出包括根据实施例的存储器系统的数据处理系统的另一示例的示图。图21示意性地示出应用存储器系统的嵌入式多媒体卡(eMMC)。
参照图21,eMMC 6400可包括控制器6430和由一个或多个NAND闪速存储器实施的存储器装置6440。控制器6430可对应于图1的存储器系统110中的控制器130。存储器装置6440可对应于图1的存储器系统110中的存储器装置150。
更具体地,控制器6430可通过多个通道连接到存储器装置6440。控制器6430可包括一个或多个内核6432、主机接口6431和例如NAND接口6433的存储器接口。
内核6432可控制eMMC 6400的全部操作。主机接口6431可提供控制器6430和主机6410之间的接口功能。NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可作为并行接口,例如,如参照图1所描述的MMC接口。此外,主机接口6431可作为串行接口,例如,UHS(超高速)-I/UHS-II接口。
图22至图25是示意性地示出包括根据实施例的存储器系统的数据处理系统的其它示例的示图。图22至图25示意性地示出应用存储器系统的UFS(通用闪存)系统。
参照图22至图25,UFS系统6500、6600、6700、6800可分别包括主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830。主机6510、6610、6710、6810可用作有线/无线电子装置或特别是移动电子装置的应用处理器,UFS装置6520、6620、6720、6820可用作嵌入式UFS装置,并且UFS卡6530、6630、6730、6830可用作外部嵌入式UFS装置或可移除UFS卡。
在各个UFS系统6500、6600、6700、6800中的主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可通过UFS协议与例如有线/无线电子装置,特别是移动电子装置的外部装置通信,并且UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可由图1所示的存储器系统110来实现。例如,在UFS系统6500、6600、6700、6800中,UFS装置6520、6620、6720、6820可以参照图19至图21描述的数据处理系统6200、SSD 6300或eMMC 6400的形式来实施,并且UFS卡6530、6630、6730、6830可以参照图18描述的存储卡系统6100的形式来实施。
此外,在UFS系统6500、6600、6700、6800中,主机6510、6610、6710、6810,UFS装置6520、6620、6720、6820以及UFS卡6530、6630、6730、6830可通过例如MIPI(移动工业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议)的UFS接口来彼此通信。此外,UFS装置6520、6620、6720、6820和UFS卡6530、6630、6730、6830可通过除UFS协议以外的例如UFD、MMC、SD、迷你SD和微型SD的各种协议来彼此通信。
在图22所示的UFS系统6500中,主机6510、UFS装置6520和UFS卡6530中的每一个可包括UniPro。主机6510可执行交换操作,以与UFS装置6520和UFS卡6530通信。特别地,主机6510可通过例如UniPro处的L3交换的链路层交换与UFS装置6520或UFS卡6530通信。UFS装置6520和UFS卡6530可通过主机6510的UniPro处的链路层交换来彼此通信。在图22的实施例中,通过示例的方式示出一个UFS装置6520和一个UFS卡6530连接到主机6510的配置。然而,在另一实施例中,多个UFS装置和UFS卡可并行地或以星型形式连接到主机6510。星型形式是单个中央组件联接到多个装置以并行处理的布置。多个UFS卡可并行地或以星型形式连接到UFS装置6520或者串行地或以链型形式连接到UFS装置6520。
在图23所示的UFS系统6600中,主机6610、UFS装置6620和UFS卡6630中的每一个可包括UniPro,并且主机6610可通过执行交换操作的交换模块6640,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6640,来与UFS装置6620或UFS卡6630通信。UFS装置6620和UFS卡6630可通过交换模块6640的UniPro处的链路层交换来彼此通信。在图23的实施例中,通过示例的方式示出一个UFS装置6620和一个UFS卡6630连接到交换模块6640的配置。然而,在另一实施例中,多个UFS装置和UFS卡可并行地或以星型形式连接到交换模块6640,并且多个UFS卡可串行地或以链型形式连接到UFS装置6620。
在图24所示的UFS系统6700中,主机6710、UFS装置6720和UFS卡6730中的每一个可包括UniPro,并且主机6710可通过执行交换操作的交换模块6740,例如,通过在UniPro处执行例如L3交换的链路层交换的交换模块6740,来与UFS装置6720或UFS卡6730通信。UFS装置6720和UFS卡6730可通过交换模块6740的UniPro处的链路层交换来彼此通信,并且交换模块6740可在UFS装置6720内部或外部与UFS装置6720集成为一个模块。在图24的实施例中,通过示例的方式示出一个UFS装置6720和一个UFS卡6730连接到交换模块6740的配置。然而,在另一实施例中,每个包括交换模块6740和UFS装置6720的多个模块可并行地或以星型形式连接到主机6710,或者串行地或以链型形式彼此连接。此外,多个UFS卡可并行地或以星型形式连接到UFS装置6720。
在图25所示的UFS系统6800中,主机6810、UFS装置6820和UFS卡6830中的每一个可包括M-PHY和UniPro。UFS装置6820可执行交换操作以与主机6810和UFS卡6830通信。特别地,UFS装置6820可通过用于与主机6810通信的M-PHY和UniPro模块和用于与UFS卡6830通信的M-PHY和UniPro模块之间的交换操作,例如通过目标ID(标识符)交换操作来与主机6810或UFS卡6830通信。主机6810和UFS卡6830可通过UFS装置6820的M-PHY和UniPro模块之间的目标ID交换来彼此通信。在图25的实施例中,通过示例的方式示出一个UFS装置6820连接到主机6810并且一个UFS卡6830连接到UFS装置6820的配置。然而,多个UFS装置可并行地或以星型形式连接到主机6810或者串行地或以链型形式连接到主机6810,并且多个UFS卡可并行地或以星型形式连接到UFS装置6820或者串行地或以链型形式连接到UFS装置6820。
图26是示意性地示出包括根据本公开的实施例的存储器系统的数据处理系统的另一示例的示图。图26是示意性地示出应用存储器系统的用户系统的示图。
参照图26,用户系统6900可包括应用处理器6930、存储器模块6920、网络模块6940、存储模块6950和用户接口6910。
更具体地,应用处理器6930可驱动用户系统6900中包括的例如OS的组件,并且包括控制用户系统6900中包括的组件的控制器、接口和图形引擎。应用处理器6930可被设置为片上系统(SoC)。
存储器模块6920可用作用户系统6900的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块6920可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2SDRAM、DDR3SDRAM、LPDDRSDRAM、LPDDR2SDRAM或LPDDR3SDRAM的易失性RAM或者诸如PRAM、ReRAM、MRAM或FRAM的非易失性RAM。例如,可基于POP(堆叠封装)来封装并安装应用处理器6930和存储器模块6920。
网络模块6940可与外部装置通信。例如,网络模块6940不仅可支持有线通信,而且可支持诸如以下的各种无线通信协议:码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(Wimax)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示(WI-DI),从而与有线/无线电子装置,特别是移动电子装置通信。因此,根据本公开的实施例的存储器系统和数据处理系统可应用于有线/无线电子装置。网络模块6940可包括在应用处理器6930中。
存储模块6950可存储例如从应用处理器6930接收的数据的数据,然后可将所存储的数据传输到应用处理器6930。存储模块6950可由诸如以下的非易失性半导体存储器装置实施:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪存、NOR闪存和3D NAND闪存,并且被设置为用户系统6900的诸如存储卡或外部驱动器的可移除存储介质。存储模块6950可对应于参照图1描述的存储器系统110。此外,存储模块6950可被实施为如上参照图20至图25所述的SSD、eMMC和UFS。
用户接口6910可包括用于将数据或命令输入到应用处理器6930或用于将数据输出到外部装置的接口。例如,用户接口6910可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像头、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监视器的用户输出接口。
此外,当图1的存储器系统110被应用于用户系统6900的移动电子装置时,应用处理器6930可控制移动电子装置的全部操作。网络模块6940可用作用于控制与外部装置的有线/无线通信的通信模块。用户接口6910可在移动电子装置的显示/触摸模块上显示通过应用处理器6930处理的数据。进一步地,用户接口6910可支持从触摸面板接收数据的功能。
通过根据本公开的实施例的存储器系统、数据处理系统及其操作方法,可提供一种经由多个通道或多个通路并行传输数据的设备和方法,以提高数据传输的效率。
本公开可提供一种在存储器系统中快速且有效地执行数据传输的设备和方法,使得存储器系统可容易地确保用于向存储器装置中的非易失性存储器单元写入数据或从存储器装置中的非易失性存储器单元读取数据的窗口。可提高数据传输进程的可靠性。
虽然本公开示出并描述了具体实施例,但是基于本公开,对于本领域技术人员将显而易见的是,在不脱离如权利要求书所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (22)
1.一种存储器系统,包括:
至少一个存储器装置,包括多个平面,每个平面能够存储数据;以及
控制器,经由多个通道和多个通路与所述至少一个存储器装置联接,并且响应于传输顺序将数据传输到所述至少一个存储器装置以用于读取操作或写入操作,
其中所述多个平面分别包括多个块,所述多个块分别包括多层单元,并且
其中所述控制器包括映射电路,所述映射电路用于基于所述多个通道的第一顺序、所述多个平面的第二顺序、所述多个通路的第三顺序以及所述多层单元中存储的位的第四顺序来确定所述数据的传输顺序。
2.根据权利要求1所述的存储器系统,
其中所述控制器将所述多个平面中的预定数量的平面设置为逻辑存储单元,并且
其中基于所述逻辑存储单元执行所述读取操作或所述写入操作。
3.根据权利要求2所述的存储器系统,其中所述映射电路响应于所述第一顺序至所述第四顺序来顺序地确定每个逻辑存储单元中的所述传输顺序。
4.根据权利要求3所述的存储器系统,
其中所述至少一个存储器装置包括第一缓冲器,所述第一缓冲器用于临时存储具有与所述逻辑存储单元的大小对应的大小的数据,并且
其中所述控制器包括第二缓冲器,所述第二缓冲器用于存储比所述第一缓冲器的数据更大的数据。
5.根据权利要求3所述的存储器系统,其中所述映射电路在数据基于所述第二顺序传输之后改变所述第一顺序。
6.根据权利要求5所述的存储器系统,其中所述映射电路在数据基于所述第一顺序传输之后改变所述第三顺序,并且在数据基于所述第三顺序传输之后改变所述第四顺序。
7.根据权利要求5所述的存储器系统,其中所述映射电路在数据基于所述第一顺序传输之后改变所述第四顺序,并且在数据基于所述第四顺序传输之后改变所述第三顺序。
8.根据权利要求3所述的存储器系统,其中所述映射电路在数据基于所述第一顺序传输之后改变所述第二顺序。
9.根据权利要求8所述的存储器系统,其中所述映射电路在数据基于所述第二顺序传输之后改变所述第三顺序,并且在数据基于所述第三顺序传输之后改变所述第四顺序。
10.根据权利要求8所述的存储器系统,其中所述映射电路在数据基于所述第二顺序传输之后改变所述第四顺序,并且在数据基于所述第四顺序传输之后改变所述第三顺序。
11.根据权利要求1所述的存储器系统,其中所述映射电路包括在与所述至少一个存储器装置接合的存储器接口中。
12.根据权利要求1所述的存储器系统,其中所述映射电路包括在与主机或外部装置接合的主机接口中。
13.一种操作存储器系统的方法,所述存储器系统包括:至少一个存储器装置,包括多个平面,每个平面能够存储数据;以及控制器,经由多个通道和多个通路与所述至少一个存储器装置联接,并且执行读取操作或写入操作,其中所述多个平面分别包括多个块,所述多个块分别包括多层单元,所述方法包括:
基于所述多个通道的第一顺序、所述多个平面的第二顺序、所述多个通路的第三顺序以及所述多层单元中存储的位的第四顺序来确定数据的传输顺序;并且
响应于所述传输顺序将数据传输到所述至少一个存储器装置。
14.根据权利要求13所述的方法,进一步包括:
将所述多个平面中的预定数量的平面设置为逻辑存储单元,并且
基于所述逻辑存储单元执行所述读取操作或所述写入操作。
15.根据权利要求14所述的方法,其中响应于所述第一顺序至所述第四顺序来顺序地确定每个逻辑存储单元中的所述传输顺序。
16.根据权利要求15所述的方法,其中在所述传输顺序中,在基于所述第二顺序传输数据之后改变所述第一顺序。
17.根据权利要求15所述的方法,其中在所述传输顺序中,在基于所述第一顺序传输数据之后改变所述第二顺序。
18.根据权利要求17所述的方法,其中在所述传输顺序中,在基于所述第二顺序传输数据之后改变所述第三顺序,并且在基于所述第三顺序传输数据之后改变所述第四顺序。
19.根据权利要求17所述的方法,其中在所述传输顺序中,在基于所述第二顺序传输数据之后改变所述第四顺序,并且在基于所述第四顺序传输数据之后改变所述第三顺序。
20.根据权利要求17所述的方法,其中基于所述第一顺序至所述第四顺序确定的所述传输顺序能够根据从所述至少一个存储器装置传输的数据的大小或向所述至少一个存储器装置传输的数据的大小而变化。
21.一种存储器系统,包括:
多个通道,每个通道包括多个通路;
存储器装置,包括多个管芯,所述多个管芯可操作地联接到所述通路之中的相应通路,并且每个管芯具有配置逻辑多层页面的多层单元的多个平面;以及
控制器,可操作地联接到所述通道,并且基于相当于预定数量的平面的逻辑存储单元,根据所述通道、所述平面、所述逻辑多层页面和所述通路的访问层次来访问所述多层单元。
22.一种存储器系统,包括:
多个通道,每个通道包括多个通路;
存储器装置,包括多个管芯,所述多个管芯可操作地联接到所述通路之中的相应通路,并且每个管芯具有配置逻辑多层页面的多层单元的多个平面;以及
控制器,可操作地联接到所述通道,并且基于相当于预定数量的平面的逻辑存储单元,根据所述通道、所述平面、所述通路和所述逻辑多层页面的访问层次来访问所述多层单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180107820A KR102537373B1 (ko) | 2018-09-10 | 2018-09-10 | 메모리 시스템에서의 데이터 전달 방법 및 장치 |
KR10-2018-0107820 | 2018-09-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110888825A CN110888825A (zh) | 2020-03-17 |
CN110888825B true CN110888825B (zh) | 2023-04-07 |
Family
ID=69719667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910651190.6A Active CN110888825B (zh) | 2018-09-10 | 2019-07-18 | 在存储器系统中处理数据的设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11243713B2 (zh) |
KR (1) | KR102537373B1 (zh) |
CN (1) | CN110888825B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220007206A (ko) * | 2020-07-10 | 2022-01-18 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
US11625297B2 (en) * | 2020-08-28 | 2023-04-11 | Samsung Electronics Co., Ltd. | Storage device and operating method thereof |
CN112817534B (zh) * | 2021-02-02 | 2023-07-04 | 深圳忆联信息系统有限公司 | 提高ssd读写性能的方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103325417A (zh) * | 2012-03-23 | 2013-09-25 | 三星电子株式会社 | 非易失性存储器件、非易失性存储系统、及其编程方法 |
CN104126203A (zh) * | 2011-12-30 | 2014-10-29 | 桑迪士克科技股份有限公司 | 使用平面之间的片上页面交换的元块尺寸缩小 |
CN104461393A (zh) * | 2014-12-09 | 2015-03-25 | 华中科技大学 | 一种闪存存储器的混合映射方法 |
CN105955669A (zh) * | 2016-05-10 | 2016-09-21 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘写性能的方法 |
CN106293505A (zh) * | 2015-06-26 | 2017-01-04 | 爱思开海力士有限公司 | 存储系统和操作其的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8094500B2 (en) * | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
KR20140080216A (ko) * | 2012-12-20 | 2014-06-30 | 에스케이하이닉스 주식회사 | 반도체 메모리 시스템 및 그의 동작 방법 |
KR102181441B1 (ko) * | 2014-04-15 | 2020-11-24 | 에스케이하이닉스 주식회사 | 복수의 기능 블록들을 포함하는 반도체 장치 |
KR20180026876A (ko) * | 2016-09-05 | 2018-03-14 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR20180091369A (ko) * | 2017-02-06 | 2018-08-16 | 삼성전자주식회사 | 비휘발성 메모리 장치 |
CN110033799A (zh) * | 2018-01-12 | 2019-07-19 | 三星电子株式会社 | 基于屏障命令按顺序存储数据的存储设备 |
-
2018
- 2018-09-10 KR KR1020180107820A patent/KR102537373B1/ko active IP Right Grant
-
2019
- 2019-04-17 US US16/387,203 patent/US11243713B2/en active Active
- 2019-07-18 CN CN201910651190.6A patent/CN110888825B/zh active Active
-
2022
- 2022-01-20 US US17/579,897 patent/US11675543B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104126203A (zh) * | 2011-12-30 | 2014-10-29 | 桑迪士克科技股份有限公司 | 使用平面之间的片上页面交换的元块尺寸缩小 |
CN103325417A (zh) * | 2012-03-23 | 2013-09-25 | 三星电子株式会社 | 非易失性存储器件、非易失性存储系统、及其编程方法 |
CN104461393A (zh) * | 2014-12-09 | 2015-03-25 | 华中科技大学 | 一种闪存存储器的混合映射方法 |
CN106293505A (zh) * | 2015-06-26 | 2017-01-04 | 爱思开海力士有限公司 | 存储系统和操作其的方法 |
CN105955669A (zh) * | 2016-05-10 | 2016-09-21 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘写性能的方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220137883A1 (en) | 2022-05-05 |
CN110888825A (zh) | 2020-03-17 |
US11243713B2 (en) | 2022-02-08 |
KR20200029234A (ko) | 2020-03-18 |
KR102537373B1 (ko) | 2023-05-30 |
US20200081656A1 (en) | 2020-03-12 |
US11675543B2 (en) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144408B (zh) | 存储器系统及其操作方法 | |
CN108121669B (zh) | 存储器系统及其操作方法 | |
CN107797882B (zh) | 存储器系统及其操作方法 | |
CN107643985B (zh) | 存储器系统及其操作方法 | |
CN108304141B (zh) | 存储器系统及其操作方法 | |
CN109947358B (zh) | 存储器系统及其操作方法 | |
CN110858180B (zh) | 数据处理系统及其操作方法 | |
CN109426449B (zh) | 存储器系统及其操作方法 | |
CN110347330B (zh) | 存储器系统及其操作方法 | |
CN110321069B (zh) | 存储器系统及其操作方法 | |
KR102468751B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN109032501B (zh) | 存储器系统及其操作方法 | |
CN110825659B (zh) | 用于检查存储器系统中的块中的有效数据的设备和方法 | |
CN110647290B (zh) | 存储器系统及其操作方法 | |
CN108733616B (zh) | 包括多处理器的控制器及其操作方法 | |
US11675543B2 (en) | Apparatus and method for processing data in memory system | |
CN109656749B (zh) | 存储器系统及其操作方法 | |
CN110908843A (zh) | 诊断存储器系统的设备及其操作方法 | |
CN110781023A (zh) | 用于在存储器系统中处理数据的设备和方法 | |
CN110570894A (zh) | 存储器系统及该存储器系统的操作方法 | |
CN110765029B (zh) | 控制器及用于操作该控制器的方法 | |
CN111078584A (zh) | 存储器系统及其操作方法 | |
CN109656470B (zh) | 存储器系统及其操作方法 | |
CN110910941A (zh) | 存储器系统及其操作方法 | |
CN111290970B (zh) | 存储器系统及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |