CN107643985B - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN107643985B CN107643985B CN201710207875.2A CN201710207875A CN107643985B CN 107643985 B CN107643985 B CN 107643985B CN 201710207875 A CN201710207875 A CN 201710207875A CN 107643985 B CN107643985 B CN 107643985B
- Authority
- CN
- China
- Prior art keywords
- memory
- read
- buffer
- data
- 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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
-
- 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
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7207—Details relating to flash memory management management of metadata or control data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种存储器系统,其可包括:存储器装置,其包括多个存储块,每个存储块包括多个页面,每个页面包括用于存储数据的联接到字线的多个存储器单元;以及控制器,其包括存储器,该控制器适于从主机接收写入命令和读取命令,将与写入命令相对应的写入数据存储在存储器中,将存储在存储器中的写入数据传输到并存储在可操作地联接到将在页面中存储写入数据的第一存储块的至少一个第一存储器装置缓冲器中,从第二存储块的页面读取与读取命令相对应的读取数据,将读取数据存储在可操作地联接到第二存储块的至少一个第二存储器装置缓冲器中,以及将存储在第二存储器装置缓冲器中的读取数据存储在存储器中。
Description
相关申请的交叉引用
本申请要求于2016年7月21日向韩国知识产权局提交的申请号为10-2016-0092415的韩国专利申请的优先权,其全部公开内容通过引用并入本文。
技术领域
示例性实施例总体涉及一种用于处理去往和来自存储器装置的数据的存储器系统及其操作方法。
背景技术
计算机环境范式已经转变为普适计算系统,其能够在任何时间和任何地点使用。由于这个事实,诸如移动电话、数字照相机和笔记本计算机的便携式电子装置的使用已经迅速增加。这些便携式电子装置通常使用具有用于存储数据的存储器装置的存储器系统。存储器系统可用作便携式电子装置的主存储器装置或辅助存储器装置。
使用存储器装置的存储器系统因其不具有活动部件而可提供优良的稳定性、耐用性、高信息存取速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
发明内容
各种实施例涉及存储器系统及其操作方法,其展现出改进的性能并最大化由存储器系统所采用的存储器装置的使用效率。存储器系统操作方法可快速且稳定地处理去往和来自存储器装置的数据。
在实施例中,存储器系统可包括:存储器装置,其包括多个存储块,每个存储块包括多个页面,每个页面包括用于存储数据的联接到字线的多个存储器单元;以及控制器,其包括存储器,该控制器适于从主机接收写入命令和读取命令,将与写入命令相对应的写入数据存储在存储器中,将存储在存储器中的写入数据传输到并存储在可操作地联接到将在页面中存储写入数据的第一存储块的至少一个第一存储器装置缓冲器中,从第二存储块的页面读取与读取命令相对应的读取数据,将读取数据存储在可操作地联接到第二存储块的至少一个第二存储器装置缓冲器中,以及将存储在第二存储器装置缓冲器中的读取数据存储在存储器中。
控制器可将写入数据存储在第一存储器装置缓冲器中,然后停止执行编程操作,并且可在停止执行编程操作的状态下执行读取操作。
控制器可通过将存储在存储器中的读取数据提供给主机来完成读取操作,然后在完成读取操作之后,控制器恢复并完成编程操作。
控制器可将存储在第一存储器装置缓冲器中的写入数据写入并存储在第一存储块的页面中。
控制器可同时从主机接收写入命令和读取命令。
控制器可在接收到编程命令之后且在完成编程操作之前从主机接收读取命令。
在实施例中,存储器系统可包括:存储器装置,其包括多个存储器管芯,多个存储器管芯中的每一个包括多个平面,多个平面中的每一个包括多个存储块;以及控制器,其包括存储器,并适于从主机接收写入命令和读取命令,将与写入命令相对应的写入数据存储在存储器中,将存储在存储器中的写入数据传输到并存储在多个存储器管芯中将要对其执行与写入命令相对应的编程操作的第一存储器管芯的至少一个第一缓冲器中,从包括在第一存储器管芯中的存储块的页面中读取与读取命令相对应的读取数据,将读取数据存储在第一存储器管芯的至少一个第二缓冲器中,并将存储在第二缓冲器中的读取数据存储在存储器中。
控制器可通过将写入数据存储在第一缓冲器中来停止执行编程操作,并且可在停止执行编程操作的状态下,在包括在第一存储器管芯中的存储块的页面中执行与读取命令相对应的读取操作。
控制器可在通过将存储在存储器中的读取数据提供给主机完成读取操作的执行之后,恢复处于停止状态的编程操作。
控制器可在完成读取操作的执行之后,将存储在第一缓冲器中的写入数据写入并存储在包括在第一存储器管芯中的存储块的页面中。
控制器可同时从主机接收写入命令和读取命令。
在将写入数据存储在存储器中之后且在完成编程操作的执行之前,控制器可从主机接收读取命令。
在实施例中,一种用于操作存储器系统的方法可包括:从主机接收用于包括多个存储器管芯的存储器装置的写入命令和读取命令,多个存储器管芯中的每一个包括多个平面,多个平面中的每一个包括多个存储块;将与写入命令相对应的写入数据存储在包括在控制器中的存储器中;将存储在存储器中的写入数据传输到且存储在包括在多个存储器管芯中的至少一个第一缓冲器中;从包括在多个存储器管芯中的存储块的页面中读取与读取命令相对应的读取数据,并将读取数据存储在包括在多个存储器管芯中的至少一个第二缓冲器中;以及将存储在第二缓冲器中的读取数据存储在存储器中。
该方法可进一步包括:通过将写入数据存储在第一缓冲器中来停止执行与写入命令相对应的编程操作;以及在缓冲编程操作的执行的状态下,执行与读取命令相对应的读取操作。
该方法可进一步包括:在通过将存储在存储器中的读取数据提供给主机来完成读取操作的执行之后,恢复处于停止状态的编程操作。
恢复编程操作可包括在完成读取操作的执行之后,将存储在第一缓冲器中的写入数据存储在包括在多个存储器管芯中的存储块的页面中。
写入命令和读取命令的接收可包括同时从主机接收写入命令和读取命令。
写入命令和读取命令的接收可包括在将写入数据存储在存储器中之后且在完成与写入命令相对应的编程操作的执行之前从主机接收读取命令。
第一缓冲器可包括在多个存储器管芯中将执行与写入命令相对应的编程操作的第一存储器管芯中。第二缓冲器可包括在多个存储器管芯中将执行与读取命令相对应的读取操作的第二存储器管芯中。
第一缓冲器和第二缓冲器可包括在多个存储器管芯中将分别执行与写入命令相对应的编程操作和与读取命令相对应的读取操作的第一存储器管芯中。
附图说明
通过参照附图对本发明的实施例的以下详细描述,本发明的这些和其它特征及优点对于本领域普通技术人员将变得显而易见,其中:
图1是示出根据本发明的实施例的包括存储器系统的数据处理系统的图。
图2是示出图1的存储器系统中所采用的存储器装置的图。
图3是示出根据本发明的实施例的存储器装置中的存储块的示例性配置的图。
图4是示出根据本发明的实施例的存储器装置的示例性配置的图。
图5至图7是示出根据本发明的实施例的关于存储器系统中的存储器装置的数据处理操作的图。
图8是示出根据本发明的实施例的用于在存储器系统中处理数据的操作方法的流程图。
图9至图14是示出根据本发明的各种实施例的存储器系统的示例性配置的图。
具体实施方式
尽管下面参照附图更详细地描述了各种实施例,但是应注意到,本发明可以不同的形式实施,并且不应被解释为限于本文所阐述的实施例。相反,提供所描述的实施例以便本公开将是彻底且完全的,并将本发明完全传达给本发明所属领域的技术人员。贯穿本公开,在本发明的各个附图和实施例中,相同的附图标记表示相同的部件。
将理解的是,尽管可在本文中使用术语“第一”、“第二”、“第三”等来描述各种元件,但是这些元件不受这些术语限制。这些术语用于将一个元件与另一元件区分开。因此,在不脱离本发明的精神和范围的情况下,下面描述的第一元件也可被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,比例可能已经被放大以便清楚地示出实施例的特征。
将进一步理解的是,当元件被称为“连接到”或“联接到”另一元件时,其可直接在另一元件上、连接到或联接到另一元件,或者可存在一个或多个中间元件。此外,还将理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制本发明。如本文所使用的,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。将进一步理解的是,当在本说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,其说明所陈述元件的存在,并且不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和全部组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员考虑到本公开所通常理解的含义相同的含义。将进一步理解的是,诸如在常用字典中定义的那些术语的术语应当被解释为具有与其在本公开和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
在下面的描述中,为了提供对本发明的全面理解,描述了大量具体细节。可在没有一些或全部这些具体细节的情况下实践本发明。在其它情况下,没有详细地描述公知的进程结构和/或进程以避免不必要地模糊本发明。
还应注意的是,在一些情况下,如对于相关领域的技术人员显而易见的是,除非另有特别说明,否则结合一个实施例所描述的特征或元件可单独使用或与另一个实施例的其它特征或元件组合使用。
在下文中,将参照附图详细描述本发明的各种实施例。
图1示出了根据本发明的实施例的包括存储器系统110的数据处理系统100。
参照图1,数据处理系统100还可包括可操作地联接到存储器系统110的主机102。
主机102可包括电子装置,例如诸如移动电话、MP3播放器和膝上型计算机的便携式电子装置或诸如台式计算机、游戏机、电视(TV)和投影仪的非便携式电子装置。
存储器系统110可响应于来自主机102的请求而操作。例如,存储器系统110可存储将由主机102访问的数据。存储器系统110可用作主机102的主存储器或辅助存储器。根据将与主机102电联接的主机接口的协议,存储器系统110可利用各种存储装置中的任何一种来实施。存储器系统110可利用诸如以下的各种存储装置的任何一种来实施:例如,固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)、微型-MMC、安全数字(SD)卡、迷你-SD、微型-SD、通用串行总线(USB)存储装置、通用闪速存储(UFS)装置、标准闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
形成存储器系统110的存储装置可利用诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和闪速存储器的非易失性存储器装置实施。
存储器系统110可包括存储器装置150和控制器130。存储器装置150存储将由主机102访问的数据,并且控制器130控制存储器装置150和主机102之间的数据交换。也就是说,在控制器130的控制下,从主机102接收的数据可被存储在存储器装置150中。
控制器130和存储器装置150可集成到一个半导体装置中。例如,控制器130和存储器装置150可集成到一个半导体装置中以形成固态驱动器(SSD)。当存储器系统110用作SSD时,可显著增加与存储器系统110电联接的主机102的操作速度。
控制器130和存储器装置150可集成到一个半导体装置中以形成存储卡,诸如,例如个人计算机存储卡国际协会(PCMCIA)卡、标准闪存(CF)卡、智能媒体卡(SMC)、记忆棒、多媒体卡(MMC)、RS-MMC、微型-MMC、安全数字(SD)卡、迷你-SD、微型-SD、SDHC以及通用闪速存储(UFS)装置。
对于另一实例,存储器系统110可配置为如下装置的部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航装置、黑盒、数字照相机、数字多媒体广播(DMB)播放器、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、用于数据中心的存储器、能够在无线环境下传输和接收信息的装置、用于家庭网络的各种电子装置之一、用于计算机网络的各种电子装置之一、用于远程信息处理网络的各种电子装置之一、RFID装置或用于计算系统的各种组成元件之一。
存储器装置150即使在电力被阻断时也可保留所存储的数据,可在写入操作期间存储从主机102提供的数据,并且可在读取操作期间将所存储的数据提供到主机102。存储器装置150可包括多个存储块152、154和156。存储块152、154和156中的每一个可包括多个页面。每个页面可包括电联接到字线(WL)的多个存储器单元。存储器单元可以是一位单元或多位单元。存储器单元可布置成二维或三维堆叠结构。存储器装置150可以是非易失性存储器装置,例如闪速存储器。闪速存储器可具有三维(3D)堆叠结构。稍后将参照图2至图4详细描述存储器装置150的结构和存储器装置150的三维(3D)堆叠结构。
存储器系统110的控制器130可响应于来自主机102的请求来控制存储器装置150。控制器130可将从存储器装置150读取的数据提供给主机102,并将从主机102提供的数据存储到存储器装置150中。为此,控制器130可控制存储器装置150的全部操作,包括读取操作、写入操作、编程操作和擦除操作。
例如,控制器130可包括主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、NAND闪速控制器(NFC)142以及存储器144。
主机接口单元132可处理从主机102提供的命令和数据,并且可通过诸如以下的各种接口协议中的至少一种与主机102通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围部件互连(PCI-e)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
ECC单元138可检测并校正读取操作期间从存储器装置150读取的数据中的错误。当错误位的数量大于或等于错误位的阈值数量时,ECC单元138可不校正错误位,并且可输出指示校正错误位失败的错误校正失败信号。
ECC单元138可基于包括诸如以下的编码调制的任何适合的方法来执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)等。ECC单元138可包括用于错误校正操作的所有电路、系统或装置。
PMU 140可提供和管理用于控制器130的电力,即用于包括在控制器130中的组成元件的电力。
NFC 142可用作控制器130和存储器装置150之间的存储器接口,以允许控制器130响应于来自主机102的请求来控制存储器装置150。当存储器装置150是闪速存储器时,并且特别是当存储器装置150是NAND闪速存储器时,NFC 142可在处理器134的控制下生成用于存储器装置150的控制信号并且处理数据。根据存储器装置的类型,可采用任何合适的存储器接口。
存储器144可用作存储器系统110和控制器130的工作存储器,并且存储用于驱动存储器系统110和控制器130的数据。控制器130可响应于来自主机102的请求来控制存储器装置150。例如,控制器130可将从存储器装置150读取的数据提供至主机102,以及将从主机102提供的数据存储在存储器装置150中。当控制器130控制存储器装置150的操作时,存储器144可存储由控制器130和存储器装置150用于诸如读取操作、写入操作、编程操作和擦除操作的操作的数据。
存储器144可利用诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器来实施。如上所述,存储器144可存储由主机102和存储器装置150用于读取操作和写入操作的数据。对于数据的存储,存储器144可包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
处理器134可控制存储器系统110的一般操作,包括响应于来自主机102的写入请求或读取请求控制存储器装置150的写入操作或读取操作。处理器134可驱动被称为闪存转换层(FTL)的固件,以控制存储器系统110的一般操作。处理器134可利用微处理器或中央处理单元(CPU)来实施。
管理单元(未示出)可被包括在处理器134中,并且可执行存储器装置150的坏块管理。管理单元可发现包括在存储器装置150中的不适于被进一步使用的坏存储块,并且对坏存储块执行坏块管理。当存储器装置150是例如NAND闪速存储器的闪速存储器时,由于NAND逻辑功能的特性,在写入操作期间,例如在编程操作期间,可能发生编程失败。在坏块管理期间,可将编程失败的存储块或坏存储块的数据编程到新存储块中。此外,由于编程失败导致的坏块可能使具有3D堆叠结构的存储器装置150的利用效率和存储器系统110的可靠性严重恶化,因此坏块管理单元可被用来管理坏块并防止存储器装置150的利用效率恶化。
图2是示出图1所示的存储器装置150的图。
参照图2,存储器装置150可包括多个存储块。例如,存储器装置150可包括第零存储块(BLOCK0)210、第一存储块(BLOCK1)220、第二存储块(BLOCK2)230以及第N-1存储块(BLOCKN-1)240。存储块210至240中的每一个可包括多个页面,例如2M个页面(2M页面)。每个页面可包括电联接到字线的多个存储器单元。
而且,根据每个存储器单元中可存储或表达的位的数量,存储器装置150可包括如单层单元(SLC)存储块和多层单元(MLC)存储块的多个存储块。SLC存储块可包括利用每个能够存储1位数据的存储器单元实施的多个页面。MLC存储块可包括利用存储器单元实施的多个页面,其中每个存储器单元能够存储多位数据,例如,两位或更多位数据。包括利用每个能够存储3位数据的存储器单元实施的多个页面的MLC存储块可被定义为三层单元(TLC)存储块。
存储块210至240中的每一个可在写入操作期间存储从主机102提供的数据,并且在读取操作期间将存储的数据提供至主机102。
图3是示出包括图2所示的存储块的存储器装置150的图。例如,图3示出了单个存储块330及与其相关的电路310和320的详细配置。
参照图3,存储块330可包括分别电联接到位线BL0到BLm-1的多个单元串340。每列的单元串340可包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储器单元晶体管MC0至MCn-1可串联地电联接在选择晶体管SST和DST之间。各个存储器单元MC0至MCn-1可由多层单元(MLC)配置,每个多层单元存储多个位的数据信息。单元串340可分别电联接到对应的位线BL0到BLm-1。作为参照,在图3中,“DSL”表示漏极选择线(即,串选择线),“SSL”表示源极选择线(即,接地选择线),并且“CSL”表示共源线。
虽然图3示出了由NAND闪速存储器单元配置的存储块330作为示例,但是应当注意的是,根据本发明的示例性实施例的存储器装置150的存储块330不限于NAND闪速存储器,并且可由NOR闪速存储器、其中组合有至少两种存储器单元的混合闪速存储器或者其中控制器内置在存储器芯片中的单个NAND闪速存储器来实现。半导体装置的操作特性不仅可应用于其中电荷存储层由导电浮栅配置的闪速存储器装置,而且还可应用于其中电荷存储层由介电层配置的电荷捕获闪存(CTF)。
存储器装置150的电压供应块310可提供将根据操作模式被供应给各个字线的字线电压,例如编程电压、读取电压和通过电压,以及提供将供应给其中形成有存储器单元的例如阱区的体材料(bulk)的电压。电压供应块310可在控制电路(未示出)的控制下执行电压生成操作。电压供应块310可生成多个可变读取电压以生成多个读取数据,在控制电路的控制下选择存储器单元阵列的存储块或扇区中的一个,选择所选存储块的字线中的一个字线,并且将字线电压提供至所选字线和未选择的字线。
存储器装置150的读取/写入电路320可由控制电路控制,并且可根据操作模式用作读出放大器或写入驱动器。在验证/正常读取操作期间,读取/写入电路320可用作用于从存储器单元阵列读取数据的读出放大器。而且,在编程操作期间,读取/写入电路320可用作根据将存储在存储器单元阵列中的数据来驱动位线的写入驱动器。读取/写入电路320可在编程操作期间从缓冲器(未示出)接收将写入存储器单元阵列中的数据,并且可根据输入的数据来驱动位线。为此,读取/写入电路320可包括分别对应于列(或位线)或列对(或位线对)的多个页面缓冲器(PB)322、324和326,并且多个锁存器(未示出)可被包括在页面缓冲器322、324和326中的每一个中。
存储器装置150可被实现为二维或三维存储器装置。例如,如图4所示,在存储器装置150被实现为三维非易失性存储器装置的情况下,存储器装置150可包括多个存储块BLK0至BLKN-1。
图4是示出包括多个存储块BLK0至BLKN-1的存储器装置150的三维配置的图,其中每个存储块被实现为三维结构。存储块BLK0至BLKN-1可具有垂直结构,意味着每个存储块包括相对于半导体衬底(未示出)的平面垂直定向的多个串。例如,各个存储块BLK0至BLKN-1可通过包括在第一至第三方向(例如,x轴方向、y轴方向和z轴方向)上延伸的结构而被实现为三维结构。
各个存储块BLK0至BLKN-1可包括每个在第二方向上延伸的多个NAND串。多个NAND串可沿第一方向和第三方向以规律间隔分隔开。每个NAND串可电联接到位线、至少一个漏极选择线、至少一个源极选择线、多个字线、至少一个虚拟字线以及共源线。即,各个存储块BLK0至BLKN-1可电联接到多个位线、多个漏极选择线、多个源极选择线、多个字线、多个虚拟字线以及多个共源线。
在下文中,将参照图5至图8详细描述关于根据本发明的实施例的存储器系统110中的存储器装置150的数据处理操作。特别地,数据处理操作可以是与从主机102接收的用于处理去往和/或来自存储器装置150的数据的命令相对应的数据处理操作(也称为命令操作)。
图5至图7是示意性地示出根据本发明的实施例的关于存储器系统110中的存储器装置150的数据处理操作的图。在本公开的实施例中,为便于解释,作为示例,将对在图1所示的存储器系统110中执行与从主机102接收的命令相对应的命令操作的情况下的数据处理进行详细描述。例如,数据处理操作可包括执行与从主机102接收的写入命令相对应的编程操作和/或执行与从主机102接收的读取命令相对应的读取操作,并将对其进行描述。
在下文中,在本公开的实施例中,作为示例,将对编程操作进行描述。也就是说,将对在以下情况下的数据处理进行描述:在将与从主机102接收的写入命令相对应的写入数据存储在包括在控制器130的存储器144中的缓冲器/高速缓冲存储器中之后,将存储在缓冲器/高速缓冲存储器中的数据写入(即,编程)并存储在包括在存储器装置150中的多个存储块中,并且在更新存储在存储器装置150中的数据之后,更新数据被再次编程在存储器装置150中。此外,在本公开的实施例中,作为示例,将对在以下情况下的数据处理进行描述:在从存储器装置150读取与从主机102接收的读取命令相对应的读取数据并将读取数据存储在包括在控制器130的存储器144中的缓冲器/高速缓冲存储器中之后,将存储在缓冲器/高速缓冲存储器中的数据提供给主机102。
此外,同时在本实施例中,下面将作为示例描述控制器130在存储器系统110中执行数据处理操作,以及包括在控制器130中的处理器134可通过闪存转换层(FTL)执行数据处理操作。
例如,在将与从主机102接收的写入命令相对应的用户数据和元数据存储在包括在控制器130的存储器144中的缓冲器中之后,控制器130将存储在缓冲器中的数据写入并存储在包括在存储器装置150中的多个存储块中的可选存储块中。也就是说,控制器130执行编程操作。此外,控制器130从包括在存储器装置150的相应存储块中的多个页面中读取与从主机102接收的读取命令相对应的用户数据和元数据,将读取数据存储在包括在控制器130的存储器144中的缓冲器中,并将存储在缓冲器中的数据提供给主机102。也就是说,控制器130执行读取操作。
元数据可包括对应于编程操作的存储在存储块中的数据的第一映射数据和第二映射数据。第一映射数据可包括逻辑/物理(逻辑到物理)(L2P)信息(下文称为“逻辑信息”),并且第二映射数据可包括物理/逻辑(物理到逻辑)(P2L)信息(下文称为“物理信息”)。此外,元数据可包括关于对应于从主机102接收的命令的命令数据的信息、关于对应于命令的命令操作的信息、关于将对其执行命令操作的存储器装置150的存储块的信息以及关于对应于命令操作的映射数据的信息。换言之,元数据可包括除与从主机102接收的命令相对应的用户数据之外的所有剩余信息和映射数据。
也就是说,在本公开的实施例中,控制器130执行与从主机102接收的命令相对应的命令操作。例如,在从主机102接收到写入命令的情况下,控制器130执行与写入命令相对应的编程操作。此时,将与写入命令相对应的用户数据写入并存储在存储器装置150的存储块中。例如,将与写入命令相对应的用户数据写入并存储在存储器装置150的存储块之中的空存储块、开放存储块或执行了擦除操作的空闲存储块中。此外,可将元数据写入并存储在存储器装置150的存储块之中的空存储块、开放存储块或空闲存储块中。元数据可包括作为第一映射数据的存储在存储块中的用户数据的逻辑地址和物理地址之间的映射信息,以及作为第二映射数据的存储有用户数据的存储块的物理地址和逻辑地址之间的映射信息。第一映射数据可包括记录有逻辑信息的L2P映射表或L2P映射列表。第二映射数据可包括记录有物理信息的P2L映射表或P2L映射列表。
特别地,当从主机102接收到写入命令时,控制器130将与写入命令相对应的用户数据写入并存储在存储块中,并将包括存储在存储块中的用户数据的第一映射数据和第二映射数据的元数据存储在存储块中。此时,控制器130将用户数据的数据段和元数据的元段存储在包括在控制器130中的存储器144中。也就是说,控制器130将用户数据的数据段与作为映射数据的映射段的第一映射数据的L2P段和第二映射数据的P2L段存储在包括在控制器130中的存储器144中。在控制器130将用户数据的数据段和元数据的元段存储在包括在控制器130中的存储器144中之后,控制器130将用户数据的数据段和元数据的元段存储在存储器装置150的存储块中。特别地,在将用户数据的数据段存储在存储器装置150的存储块中时,控制器130生成、更新并存储元段。也就是说,控制器130执行映射刷新操作。
此外,控制器130执行与从主机接收的命令相对应的命令操作。也就是说,在从主机102接收到读取命令的情况下,控制器130执行与读取命令相对应的读取操作。此时,从存储器装置150的存储块读取与读取命令相对应的用户数据。特别地,通过检查用户数据的映射数据,读取被存储在存储器装置150的存储块之中的相应存储块的页面中的数据。从存储器装置150读取的数据被存储在包括在控制器130的存储器144中,然后被提供给主机102。为了检查与读取命令相对应的用户数据的映射数据,控制器130将映射数据的映射段加载在包括在控制器130中的存储器144中,然后检查映射数据。以下,将参照图5至图7详细描述根据实施例的存储器系统中的数据处理操作。
参照图5,控制器130执行与从主机102接收的命令相对应的命令操作。例如,控制器130执行与从主机102接收的写入命令相对应的编程操作。此时,控制器130将与写入命令相对应的用户数据写入并存储在存储器装置150的存储块552、554、562、564、572、574、582和584中。此外,对应于对存储块552、554、562、564、572、574、582和584的写入操作,控制器130生成并更新用户数据的元数据,并将元数据写入并存储在存储器装置150的存储块552、554、562、564、572、574、582和584中。
控制器130生成并更新指示用户数据被存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中的信息。例如,控制器130生成并更新第一映射数据和第二映射数据。也就是说,控制器130生成并更新第一映射数据的逻辑段(即,L2P段)和第二映射数据的物理段(即,P2L段)。然后,控制器130通过执行映射刷新操作,将L2P段和P2L段存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中。
例如,控制器130将与从主机102接收的写入命令相对应的用户数据缓存并缓冲在包括在控制器130的存储器144中的第一缓冲器510中。也就是说,控制器130将用户数据的数据段512存储在作为数据缓冲器/高速缓冲存储器的第一缓冲器510中。然后,控制器130将存储在第一缓冲器510中的数据段512写入并存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中。
当与从主机102接收的写入命令相对应的用户数据的数据段512被写入并存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中时,控制器130生成第一映射数据和第二映射数据。然后,控制器130将第一映射数据和第二映射数据存储在包括在控制器130的存储器144中的第二缓冲器520中。即,控制器130将用户数据的第一映射数据的L2P段522和用户数据的第二映射数据的P2L段524存储在作为映射缓冲器/高速缓冲存储器的第二缓冲器520中。在控制器130的存储器144的第二缓冲器520中,如上所述,可存储有第一映射数据的L2P段522和第二映射数据的P2L段524。或者,在第二缓冲器520中,可存储有第一映射数据的L2P段522的映射列表和第二映射数据的P2L段524的映射列表。控制器130将存储在第二缓冲器520中的第一映射数据的L2P段522和第二映射数据的P2L段524写入并存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584中的页面中。
而且,控制器130可执行与从主机102接收的命令相对应的另一命令操作。例如,控制器130可执行与从主机102接收的读取命令相对应的读取操作。此时,控制器130将与读取命令相对应的用户数据的映射段加载在第二缓冲器520中。例如,控制器130将第一映射数据的L2P段522和第二映射数据的P2L段524加载在第二缓冲器520中,并且检查L2P段522和P2L段524。之后,控制器130读取被存储在包括在存储器装置150的存储块552、554、562、564、572、574、582和584之中的相应存储块中的页面中的用户数据,将读取的用户数据的数据段512存储在第一缓冲器510中,并将数据段512提供给主机102。
参照图6,存储器装置150可包括多个存储器管芯。例如,存储器装置150包括存储器管芯0 610、存储器管芯1 630、存储器管芯2 650和存储器管芯3 670。存储器管芯610、630、650和670中的每一个可包括多个平面。例如,存储器管芯0 610包括平面0 612、平面1616、平面2 620和平面3 624,存储器管芯1 630包括平面0 632、平面1636、平面2 640和平面3 644,存储器管芯2 650包括平面0 652、平面1656、平面2 660和平面3 664,并且存储器管芯3 670包括平面0 672、平面1 676、平面2 680和平面3 684。包括在存储器装置150中的存储器管芯610、630、650和670中的各个平面612、616、620、624、632、636、640、644、652、656、660、664、672、676、680和684包括多个存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686。例如,如上面参照图2所述,多个存储块中的每一个包括N个块Block0、Block1......BlockN-1,每个块包括多个页面(例如,2M个页面)。存储器装置150的多个存储器管芯被联接到相同通道。例如,存储器管芯0 610和存储器管芯2650联接到通道0 602,存储器管芯1 630和存储器管芯3 670联接到通道1 604。
在本公开的实施例中,考虑到如上参照图6所述的包括在存储器装置150的各个存储器管芯610、630、650和670中的各个平面612、616、620、624、632、636、640、644、652、656、660、664、672、676、680和684的存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686中的程序大小(program size),将用于与从主机102接收的命令相对应的命令操作的用户数据和元数据写入并存储在包括在各个存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686中的页面中。特别地,在将存储块614、618、622、626、634、638、642、646、654、658、662、666、674、678、682和686分组成多个超级存储块之后,可将与从主机102接收的命令相对应的命令操作的用户数据和元数据写入并存储在超级存储块中。例如,可通过单触发编程(one shot program)将命令操作的用户数据和元数据写入并存储在超级存储块中。
每个超级存储块可包括多个存储块(例如,第一存储块和第二存储块)。在这点上,在第一存储块是包括在多个存储器管芯中的第一存储器管芯的第一平面中的某一存储块的情况下,第二存储块可以是包括在第一存储器管芯的第一平面中的除该某一存储块之外的任何存储块,或者是包括在第一存储器管芯的第二平面中的任何存储块,或者是包括在多个存储器管芯之中的第二存储器管芯的多个平面中的任一个中的任何存储块。也就是说,第二存储块可以是包括在与第一存储块相同的存储器管芯和相同的平面中的存储块,或者是包括在与第一存储块相同的存储器管芯中的不同平面中的存储块,或者是包括在与第一存储块不同的存储器管芯中的存储块。此外,每个超级存储块可包括在同一存储器管芯的同一平面中所包括的存储块中的至少两个存储块,或相同存储器管芯的不同平面中所包括的存储块中的至少两个存储块或不同存储器管芯中所包括的存储块中的至少两个存储块。
在本发明的实施例中,如上文参照图6所描述的,多个页面缓冲器、高速缓冲存储器或寄存器可包括在存储器装置150的各个存储器管芯610、630、650和670中的每一个中。此外,如上文参照图5所述,在执行与从主机102接收的命令相对应的命令操作(例如,编程操作或读取操作)的情况下,将与命令操作相对应的数据传输到各个存储器管芯610、630、650和670中的每个的页面缓冲器,之后,执行命令操作。在下文中,通过举例,将参照图7详细描述根据本实施例的存储器系统中的存储器装置150中所包括的各个存储器管芯610、630、650和670中的编程操作和读取操作。
参照图7,存储器装置150可包括多个存储器管芯,每个存储器管芯可包括多个平面,并且每个平面可包括多个存储块。存储器装置150可包括与每个存储器管芯对应的多个页面缓冲器、高速缓冲存储器或寄存器。在本公开的实施例中,为便于解释,将通过采用每个存储器管芯中包括5个缓冲器作为页面缓冲器、高速缓冲存储器或寄存器的示例来进行详细描述。
例如,在图7的实施例中,在存储器系统110的存储器装置150中,存储器装置150的存储器管芯0 610可包括多个页面缓冲器(例如,缓冲器0 750、缓冲器1 755、缓冲器2 760、缓冲器3 765和缓冲器4 770)。如上所述,当从主机102接收到写入命令时,控制器130将与写入命令相对应的用户数据(即,写入数据)的数据段700存储在包括在控制器130的存储器144中的第一缓冲器510中。此时,在从主机102接收到读取命令的情况下,控制器130将存储在第一缓冲器510中的写入数据的数据段700传输到包括在存储器装置150的存储器管芯0610中的缓冲器。例如,控制器130将数据段700传输到存储器管芯0 610的缓冲器0 750、缓冲器1 755和缓冲器2 760。
详细地,当从主机102接收到写入命令时,控制器130将写入数据的数据段700存储在存储器144的第一缓冲器510中。此时,如果在与写入命令相对应的编程操作的执行没有完成的状态下从主机102接收到读取命令,则控制器130将存储在第一缓冲器510中的写入数据的数据段700传输到包括在存储器管芯0 610中的缓冲器0 750、缓冲器1755和缓冲器2760,相应地,第一缓冲器510转变为空状态。在将写入数据的数据段700存储在缓冲器0750、缓冲器1 755和缓冲器2 760中的状态下,然后控制器130可执行与所接收到的读取命令相对应的读取操作。也就是说,控制器130可从包括在存储器管芯0 610中的存储块的页面中读取与读取命令相对应的用户数据(即,读取数据)的数据段,并将读取数据的数据段存储在包括在存储器管芯0 610中的空缓冲器的一个或多个中,例如,缓冲器3 765和缓冲器4 770中。然后,控制器130将存储在缓冲器3 765和缓冲器4 770中的读取数据的数据段710传输到并存储在存储器144的第一缓冲器510中,然后将存储在第一缓冲器510中的读取数据的数据段710提供给主机102。
此后,控制器130将存储在缓冲器0 750、缓冲器1 755和缓冲器2760中的写入数据的数据段写入并存储在包括在存储器管芯0 610中的存储块中。也就是说,控制器130完成为了执行在编程操作开始之后但在其完成之前所接收到的读取操作而中断的编程操作。此时,通过单触发编程将存储在缓冲器0 750、缓冲器1 755和缓冲器2 760中的写入数据的数据段存储在包括在存储器管芯0 610中的存储块的页面中。
此外,在从主机102同时接收到写入命令和读取命令的情况下,控制器130将与写入命令相对应的用户数据(即写入数据)的数据段700存储在包括在控制器130的存储器144中的第一缓冲器510中。然后,控制器130将存储在第一缓冲器510中的写入数据的数据段700传输到包括在存储器装置150的存储器管芯0 610中的缓冲器。例如,控制器130将写入数据的数据段700传输到缓冲器0 750、缓冲器1 755和缓冲器2 760。此时,包括在控制器130的存储器144中的第一缓冲器510转变为空状态。
在将写入数据的数据段700存储在缓冲器0 750、缓冲器1 755和缓冲器2 760中的状态下,控制器130执行与所接收到的读取命令相对应的读取操作。也就是说,控制器130从包括在存储器管芯0 610中的存储块的页面中读取与读取命令相对应的用户数据(即,读取数据)的数据段,并将读取数据的数据段存储在包括在存储器管芯0 610中的空缓冲器的一个或多个中。例如,控制器130读取读取数据的数据段,并将它们存储在缓冲器3 765和缓冲器4 770中。然后,控制器130将存储在缓冲器3 765和缓冲器4 770中的读取数据的数据段710传输到并存储在第一缓冲器510中。然后控制器130可将存储在第一缓冲器510中的读取数据的数据段710传输到主机102。
此后,控制器130将存储在缓冲器0 750、缓冲器1 755和缓冲器2760中的写入数据的数据段写入并存储在包括在存储器管芯0 610中的存储块中。也就是说,控制器130完成当同时接收到读取操作和编程操作时部分执行的编程操作。此时,存储在缓冲器0 750、缓冲器1755和缓冲器2 760中的写入数据的数据段可通过单触发编程存储在包括在存储器管芯0 610中的存储块的页面中。
以这种方式,在根据本公开的实施例的存储器系统中,在与从主机102接收的写入命令相对应的编程操作的执行未完成的状态下从主机102接收到读取命令的情况下,或者在从主机102同时接收到写入命令和读取命令的情况下,将与写入命令相对应的用户数据(即,写入数据)的数据段700存储在控制器130的第一缓冲器510中。将存储在第一缓冲器510中的写入数据的数据段700传输到存储器装置150中包括待对其执行编程操作的存储块的存储器管芯的缓冲器。例如,将存储在第一缓冲器510中的写入数据的数据段700传输到存储器管芯0 610的缓冲器0 750、缓冲器1 755和缓冲器2 760中,从而使第一缓冲器510转变到空状态。
然后,根据本公开的实施例,如上所述,存储器系统能够在编程操作的执行未完成的状态下使编程操作暂停(on hold),并执行与所接收到的读取命令相对应的读取操作,该读取命令与编程命令被同时接收到或在编程命令之后被接收到。换言之,当同时接收到编程命令和读取命令时,或者当在编程命令之后且在编程命令完成之前接收到读取命令时,存储器系统在通过将写入数据的数据段700存储在存储器管芯0 610的缓冲器0 750、缓冲器1 755和缓冲器2 760中来缓冲编程操作的执行的状态下执行读取操作。也就是说,控制器130从存储器装置150中的对应存储块的页面中读取与读取命令相对应的用户数据(即,读取数据)的数据段710,并将读取数据的数据段710存储在包括对应存储块的存储器管芯(例如,存储器管芯0 610)的缓冲器3 765和缓冲器4 770中。控制器130将存储在存储器管芯0 610的缓冲器3765和缓冲器4 770中的读取数据的数据段710传输到并存储在控制器130的第一缓冲器510中。然后,控制器130将存储在第一缓冲器510中的读取数据的数据段710提供给主机102,从而完成读取操作的执行。
此外,在根据本公开的实施例的存储器系统中,在完成读取操作之后,恢复并完成处于缓冲状态(或停止状态)的编程操作。也就是说,将存储在存储器管芯0 610的缓冲器0750、缓冲器1 755和缓冲器2 760中的写入数据的数据段700写入并存储在存储器管芯0610中的对应存储块的页面中,从而完成编程操作。
在本公开的实施例中,为便于解释,通过采用以下示例进行描述:在同一存储器管芯(即,存储器装置150中的存储器管芯0 610)的存储块中执行与从主机102接收的写入命令相对应的编程操作和与从主机102接收的读取命令相对应的读取操作。然而,应当注意的是,可在不同存储器管芯的存储块中执行编程操作和读取操作。也就是说,在根据本公开的实施例的存储器系统中,控制器130可将与编程操作相对应的写入数据的数据段700传输到并存储在将对其执行编程操作的存储块的存储器管芯的缓冲器中。例如,控制器130可将写入数据的数据段700传输到并存储在存储器管芯1 630的缓冲器中。然后,控制器130可执行读取操作。例如,控制器130可从包括在存储器管芯2 650中的存储块的页面中读取读取数据的数据段710,并可将读取数据的数据段710存储在存储器管芯2 650的缓冲器中。然后,控制器130可将存储在存储器管芯2 650的缓冲器中的读取数据的数据段710传输到第一缓冲器510,并可将读取数据的数据段710提供给主机102。此后,控制器130可恢复编程操作。换言之,控制器130可将存储在存储器管芯1 630的缓冲器中的写入数据的数据段700写入并存储在包括在存储器管芯1 630中的存储块的页面中。
因此,在根据本公开的实施例的存储器系统中,在将与从主机102接收的写入命令相对应的写入数据传输并存储在包括在存储器装置150中的缓冲器中的状态下,执行与从主机102接收的读取命令相对应的读取操作。也就是说,在缓冲与写入命令相对应的编程操作的执行的状态下,执行读取操作。即,通过从存储器装置150的相应存储块读取与读取命令相对应的读取数据,将读取数据存储在包括在存储器装置150中的缓冲器中并将读取数据提供给主机102,来执行读取操作。结果,由于快速地执行了读取操作,所以可提高读取操作的性能。通过将写入数据存储在包括在存储器装置150中的缓冲器中以执行读取操作,可提高包括在控制器130中的存储器144的利用效率。特别地,在根据本公开的实施例的存储器系统中,通过优先于编程操作来执行读取操作,可快速地将读取数据提供给主机102,从而可向主机102的用户提供优质服务。此外,在根据本公开的实施例的存储器系统中,通过根据优先级动态地执行主机102请求的多个命令操作,可提高存储器装置150的利用效率。以下,将参照图8详细描述根据实施例的在存储器系统中处理数据的操作。
图8是示出根据本发明的实施例的用于在存储器系统中处理数据的操作进程的流程图。
参照图8,在步骤810中,在图1的存储器系统中,在从主机102接收到写入命令的情况下,将与写入命令相对应的写入数据存储在控制器130的存储器144中的缓冲器中。
在步骤820中,从主机102接收读取命令。也就是说,在与写入命令相对应的编程操作的执行未完成的状态下,从主机102接收读取命令。
然后,在步骤830中,将存储在控制器130的存储器144中的写入数据传输到包括在存储器装置150中的缓冲器。因此,存储在控制器130的存储器144中的写入数据被存储在存储器装置150的缓冲器中,并且控制器130的存储器144变为空状态。
然后,在步骤840中,控制器130可执行并完成与读取命令相对应的读取操作,并将读取数据提供给主机102。在通过将写入数据存储在存储器装置150的缓冲器中来缓冲(或停止)编程操作的执行的状态下执行读取操作。因此,从包括在存储器装置150中的存储块的页面中读取与读取命令相对应的读取数据。在将读取数据存储在存储器装置150的一个或多个空缓冲器中之后,将读取数据传输到并存储在控制器130的存储器144中。通过将存储在控制器130的存储器144中的读取数据提供给主机102,读取操作的执行被完成。
在步骤850中,恢复并完成处于缓冲状态(或停止状态)的编程操作。也就是说,将存储在存储器装置150的缓冲器中的写入数据写入并存储在包括在存储器装置150中的存储块的页面中。此时,可通过单触发编程将写入数据存储在存储器装置150的存储块中。
由于上面参照图5至图8对存储器系统的存储器装置中包括的存储块执行编程操作和读取操作进行了详细描述,因此这里将省略对其的进一步描述。特别地,上面对以下过程进行了详细描述:通过在通过将与写入命令相对应的写入数据存储在存储器装置的缓冲器中来缓冲(或停止)编程操作的执行的状态下执行读取操作,也就是说,通过从包括在存储器装置中的存储块的页面中读取与读取命令相对应的读取数据来执行读取操作,将读取数据存储在存储器装置的缓冲器中,将读取数据传输到控制器的存储器中,然后将读取数据提供给主机,然后通过恢复缓冲状态(或停止状态)的编程操作,完成读取操作和编程操作的执行,在此将省略对其的进一步描述。以下,将参照图9至图14对应用了包括上文参照图1至图8描述的根据实施例的存储器装置150和控制器130的存储器系统110的数据处理系统和电子设备进行详细描述。
图9是示出包括根据实施例的存储器系统的数据处理系统的图。例如,图9示出应用根据实施例的存储器系统的存储卡系统6100。
参照图9,存储卡系统6100可包括存储器控制器6120、存储器装置6130和连接器6110。
详细地,存储器控制器6120可与存储器装置6130连接,并且可访问存储器装置6130。在一些实施例中,存储器装置6130可利用非易失性存储器(NVM)来实施。例如,存储器控制器6120可控制对存储器装置6130的读取、写入、擦除和后台操作。存储器控制器6120可提供存储器装置6130与主机(未示出)之间的接口,并且可驱动用于控制存储器装置6130的固件。例如,存储器控制器6120可对应于上面参照图1描述的存储器系统110中的控制器130,并且存储器装置6130可对应于上面参照图1描述的存储器系统110中的存储器装置150。
因此,存储器控制器6120可包括诸如如图1所示的随机存取存储器(RAM)、处理单元、主机接口、存储器接口和错误校正单元的组件。
存储器控制器6120可通过连接器6110与外部装置(例如,上面参照图1描述的主机102)通信。例如,如上面参照图1所述,存储器控制器6120可被配置为通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、外围部件互连(PCI)、PCI Express(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机系统接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪速存储器(UFS)、无线保真(WI-FI)以及蓝牙。因此,根据实施例的存储器系统和数据处理系统可应用于有线/无线电子设备,例如,移动电子设备。
存储器装置6130可利用非易失性存储器(NVM)来实施。例如,存储器装置6130可利用诸如以下的各种非易失性存储器装置之一来实施:电可擦除可编程ROM(EPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋转移力矩磁性RAM(STT-MRAM)。
存储器控制器6120和存储器装置6130可集成到单个半导体装置中。例如,存储器控制器6120和存储器装置6130可通过集成到单个半导体装置中来构造固态驱动器(SSD)。存储器控制器6120和存储器装置6130可构造诸如以下的存储卡:PC卡(例如,个人计算机存储卡国际协会(PCMCIA))、标准闪存卡(CF)、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、微型MMC和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)和通用闪速存储器(UFS)。
图10是示意性地示出包括根据本发明的实施例的存储器系统的数据处理系统6200的另一示例的图。
参照图10,数据处理系统6200可包括可利用至少一个非易失性存储器(NVM)来实施的存储器装置6230和用于控制存储器装置6230的存储器控制器6220。如上面参照图1所描述的,数据处理系统6200可以是诸如存储卡(例如,CF、SD和微型SD)的存储介质。存储器装置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用作工作存储器的情况下,由CPU 6221处理的数据临时存储在RAM 6222中。在RAM 6222用作缓冲存储器的情况下,RAM6222用于缓冲将从主机6210传输到存储器装置6230或从存储器装置6230传输到主机6210的数据。在RAM 6222用作高速缓冲存储器的情况下,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码、里德-所罗门(RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)以及分组编码调制(BCM)。
存储器控制器6220可通过主机接口6224向主机6210传输数据和从主机6210接收数据,并且通过NVM接口6225向存储器装置6230传输数据和从存储器装置6230接收数据。主机接口6224可通过诸如以下的各种接口协议中的至少一种与主机6210连接:并行高级技术附件(PATA)总线、串行高级技术附件(SATA)总线、小型计算机系统接口(SCSI)、通用串行总线(USB)、高速外围部件互连(PCIe)或NAND接口。此外,由于实施了无线通信功能或诸如无线保真(WI-FI)或长期演进(LTE)的移动通信协议,存储器控制器6220可通过与诸如主机6210的外部装置或除主机6210之外的另一外部装置连接来传输和接收数据。特别地,由于存储器控制器6220被配置为通过各种通信协议中的至少一种与外部装置通信,根据实施例的存储器系统和数据处理系统可应用于有线/无线电子设备,例如,移动电子设备。
图11是示出包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的图。例如,根据本发明的实施例,在图11中可示出采用存储器系统的固态驱动器(SSD)6300。
参照图11,SSD 6300可包括存储器装置6340和控制器6320,存储器装置6340可包括多个非易失性存储器NVM。控制器6320可对应于上面参照图1描述的存储器系统110中的控制器130,并且存储器装置6340可对应于上面参照图1描述的存储器系统110中的存储器装置150。
详细地,控制器6320可通过多个通道CH1、CH2、CH3……CHi与存储器装置6340连接。控制器6320可包括经由内部总线联接的处理器6321、缓冲存储器6325、错误校正码(ECC)电路6322、主机接口6324和作为存储器接口的非易失性存储器(NVM)接口6326。
缓冲存储器6325可临时存储从主机6310接收的数据或从包括在存储器装置6340中的多个非易失性存储器NVM接收的数据,或者临时存储多个非易失性存储器NVM的元数据。例如,元数据可包括映射数据,该映射数据包括映射表。缓冲存储器6325可利用诸如但不限于动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率(DDR)SDRAM、低功率双倍数据速率(LPDDR)SDRAM以及图形随机存取存储器(GRAM)的易失性存储器来实施,或利用诸如但不限于铁电随机存取存储器(FRAM)、电阻式随机存取存储器(ReRAM)、自旋转移力矩磁性随机存取存储器(STT-MRAM)以及相变随机存取存储器(PRAM)的非易失性存储器来实施。虽然为便于解释,在图11中示出了缓冲存储器6325被设置在控制器6320内部,但是应当注意的是,缓冲存储器6325可设置在控制器6320外部。
ECC电路6322可在编程操作中计算将被编程在存储器装置6340中的数据的错误校正码值,在读取操作中基于错误校正码值对从存储器装置6340读取的数据执行错误校正操作,并且在对失效数据的恢复操作中对从存储器装置6340恢复的数据执行错误校正操作。
主机接口6324可提供关于诸如主机6310的外部装置的接口功能。非易失性存储器接口6326可提供关于通过多个通道CH1、CH2、CH3……CHi连接的存储器装置6340的接口功能。
由于使用均应用了上面参照图1描述的存储器系统110的多个SSD6300,可实施诸如独立磁盘冗余阵列(RAID)系统的数据处理系统。在RAID系统中,可包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。在通过从主机6310接收写入命令来执行编程操作的情况下,RAID控制器可在多个RAID级别(例如,多个SSD 6300)之中响应于从主机6310接收的写入命令的RAID级别信息来选择至少一个存储器系统(例如,至少一个SSD 6300),并且可向所选择的SSD 6300输出与写入命令相对应的数据。在通过从主机6310接收读取命令来执行读取操作的情况下,RAID控制器可在多个RAID级别(例如,多个SSD 6300)之中响应于从主机6310接收的写入命令的RAID级别信息来选择至少一个存储器系统(例如,至少一个SSD 6300),并且可将从所选择的SSD 6300输出的数据提供给主机6310。
图12是示出包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的图。例如,在图12中,示出了采用存储器系统的嵌入式多媒体卡(eMMC)6400。
参照图12,eMMC 6400可包括利用至少一个NAND闪速存储器来实施的存储器装置6440和控制器6430。控制器6430可对应于上面参照图1描述的存储器系统110中的控制器130,并且存储器装置6440可对应于上面参照图1描述的存储器系统110中的存储器装置150。
控制器6430可通过多个通道与存储器装置6440连接。控制器6430可包括核心(core)6432、主机接口6431和诸如NAND接口6433的存储器接口。
核心6432可控制eMMC 6400的操作。主机接口6431可提供控制器6430和主机6410之间的接口功能。NAND接口6433可提供存储器装置6440和控制器6430之间的接口功能。例如,主机接口6431可以是诸如上面参照图1所述的MMC接口的并行接口,或者是诸如超高速等级1(UHS-I)/UHS等级2(UHS-II)和通用闪速存储(UFS)接口的串行接口。
图13是示出包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的图。例如,在图13中,示出了采用存储器系统的通用闪速存储器(UFS)6500。
参照图13,UFS系统6500可包括UFS主机6510、多个UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550。UFS主机6510可以是例如移动电子设备的有线/无线电子设备的应用处理器。
UFS主机6510、UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550可分别通过UFS协议与诸如有线/无线电子设备(例如,移动电子设备)的外部装置通信。UFS装置6520和6530、嵌入式UFS装置6540和可移除UFS卡6550可利用上面参照图1描述的存储器系统110实施为例如上面参照图9描述的存储卡系统6100。嵌入式UFS装置6540和可移除UFS卡6550可通过除了UFS协议之外的另一协议进行通信。例如,嵌入式UFS装置6540和可移除UFS卡6550可通过诸如但不限于USB闪存驱动器(UFD)、多媒体卡(MMC)、安全数字(SD)、迷你-SD和微型-SD的各种卡协议通信。
图14是示出包括根据本发明的实施例的存储器系统的数据处理系统的另一示例的图。例如,在图14中,示出了采用存储器系统的用户系统6600。
参照图14,用户系统6600可包括用户接口6610、存储器模块6620、应用处理器6630、网络模块6640和存储模块6650。
应用处理器6630可驱动包括在用户系统6600中的组件和操作系统(OS)。例如,应用处理器6630可包括用于控制包括在用户系统6600中的组件的控制器、接口以及图形引擎等。应用处理器6630可由片上系统(SZC)提供。
存储器模块6620可用作用户系统6600的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6620可包括诸如动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率(DDR)SDRAM、DDR2SDRAM、DDR3SDRAM、低功率双倍数据速率(LPDDR)SDRAM、LPDDR2SDRAM和LPDDR3SDRAM的易失性随机存取存储器,或诸如相变随机存取存储器(PRAM)、电阻式随机存取存储器(ReRAM)、磁性随机存取存储器(MRAM)和铁电随机存取存储器(FRAM)的非易失性随机存取存储器。例如,应用处理器6630和存储器模块6620可通过基于堆叠封装(POP)被封装来安装。
网络模块6640可与外部装置通信。例如,网络模块6640不仅可支持有线通信,而且可支持各种无线通信,诸如码分多址(CDMA)、全球移动通信系统(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示器(WI-DI)等,并且因此可与例如移动电子设备的有线/无线电子设备通信。相应地,根据实施例的存储器系统和数据处理系统可应用于有线/无线电子设备。网络模块6640可包括在应用处理器6630中。
存储模块6650可存储诸如从应用处理器6630接收的数据的数据,并将存储在其中的数据传输到应用处理器6630。存储模块6650可由诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND闪速存储器、NOR闪速存储器以及三维NAND闪速存储器的非易失性半导体存储器装置来实施。存储模块6650可提供为诸如用户系统6600的存储卡和外部驱动器的可移除存储介质。例如,存储模块6650可对应于上面参照图1描述的存储器系统110,并且可利用上面参照图11至图13描述的SSD、eMMC和UFS来实施。
用户接口6610可包括用于向应用处理器6630输入数据或命令或者用于将数据输出到外部装置的接口。例如,用户接口6610可包括诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器和压电元件的用户输入接口,以及诸如液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、发光二极管(LED)、扬声器和电动机的用户输出接口。
在根据实施例的将上面参照图1描述的存储器系统110应用于用户系统6600的移动电子设备的情况下,如上所述,应用处理器6630可控制移动电子设备的操作,并且作为通信模块的网络模块6640可控制与外部装置的有线/无线通信。作为移动电子设备的显示/触摸模块的用户接口6610显示由应用处理器6630处理的数据或者支持来自触摸面板的数据的输入。
根据实施例的存储器系统及其操作方法可最小化存储器系统的复杂性和性能恶化,并最大化存储器装置的使用效率,从而快速且稳定地处理关于存储器装置的数据。
虽然已经参照各种具体实施例描述了本发明,但是对于本领域技术人员将显而易见的是,在不脱离如权利要求中所限定的本发明的精神和范围的情况下,可进行各种改变和修改。
Claims (20)
1.一种存储器系统,其包括:
存储器装置,其包括多个存储块,每个所述存储块包括多个页面,每个所述页面包括用于存储数据的多个存储器单元,所述多个存储器单元联接到字线,所述多个存储块分别共享包括在所述存储器装置中且用于存储与写入操作或读取操作有关的数据的多个存储器装置缓冲器;以及
控制器,其包括存储器,所述控制器适于从主机接收写入命令和读取命令,将与所述写入命令相对应的写入数据存储在所述存储器中,将存储在所述存储器中的所述写入数据传输到并存储在被可操作地联接到所述写入数据将被存储在其页面中的第一存储块的至少一个第一存储器装置缓冲器中,从第二存储块的页面读取与所述读取命令相对应的读取数据,将所述读取数据存储在可操作地联接到所述第二存储块的至少一个第二存储器装置缓冲器中,以及将存储在所述第二存储器装置缓冲器中的所述读取数据存储在所述存储器中,
其中所述至少一个第一存储器装置缓冲器和所述至少一个第二存储器装置缓冲器被分别从所述多个存储器装置缓冲器中选择以与所述第一存储块和所述第二存储块接合,并且是彼此物理隔离的。
2.根据权利要求1所述的存储器系统,其中所述控制器将所述写入数据存储在所述第一存储器装置缓冲器中,然后停止执行编程操作,并且在停止执行所述编程操作的状态下执行读取操作。
3.根据权利要求2所述的存储器系统,其中所述控制器通过将存储在所述存储器中的所述读取数据提供给所述主机来完成所述读取操作,然后在完成所述读取操作之后,所述控制器恢复并完成所述编程操作。
4.根据权利要求3所述的存储器系统,其中所述控制器将存储在所述第一存储器装置缓冲器中的所述写入数据写入并存储在所述第一存储块的页面中。
5.根据权利要求1所述的存储器系统,其中所述控制器同时从所述主机接收所述写入命令和所述读取命令。
6.根据权利要求1所述的存储器系统,其中所述控制器在接收编程命令之后且在完成编程操作之前从所述主机接收所述读取命令。
7.一种存储器系统,其包括:
存储器装置,其包括多个存储器管芯,所述多个存储器管芯中的每一个包括多个平面,所述多个平面中的每一个包括多个存储块,所述多个存储块分别共享包括在所述存储器装置中且用于存储与写入操作或读取操作有关的数据的多个缓冲器;以及
控制器,其包括存储器,并适于从主机接收写入命令和读取命令,将与所述写入命令相对应的写入数据存储在所述存储器中,将存储在所述存储器中的所述写入数据传输到并存储在所述多个存储器管芯中将执行与所述写入命令相对应的编程操作的第一存储器管芯的至少一个第一缓冲器中,从包括在所述第一存储器管芯中的存储块的页面中读取与所述读取命令相对应的读取数据,将所述读取数据存储在所述第一存储器管芯的至少一个第二缓冲器中,并将存储在所述第二缓冲器中的所述读取数据存储在所述存储器中,
其中所述至少一个第一缓冲器和所述至少一个第二缓冲器被分别从所述多个缓冲器中选择以与所述多个存储块接合,并且是彼此物理隔离的。
8.根据权利要求7所述的存储器系统,其中所述控制器通过将所述写入数据存储在所述第一缓冲器中来停止执行所述编程操作,并且在停止执行所述编程操作的状态下,在包括在所述第一存储器管芯中的存储块的页面中执行与所述读取命令相对应的所述读取操作。
9.根据权利要求8所述的存储器系统,其中所述控制器在通过将存储在所述存储器中的所述读取数据提供给所述主机来完成所述读取操作的执行之后,恢复停止状态的所述编程操作。
10.根据权利要求9所述的存储器系统,其中所述控制器在完成所述读取操作的执行之后,将存储在所述第一缓冲器中的所述写入数据写入并存储在包括在所述第一存储器管芯中的存储块的页面中。
11.根据权利要求7所述的存储器系统,其中所述控制器同时从所述主机接收所述写入命令和所述读取命令。
12.根据权利要求7所述的存储器系统,其中在将所述写入数据存储在所述存储器中之后且在完成所述编程操作的执行之前,所述控制器从所述主机接收所述读取命令。
13.一种用于操作存储器系统的方法,其包括:
从主机接收用于包括多个存储器管芯的存储器装置的写入命令和读取命令,所述多个存储器管芯中的每一个包括多个平面,所述多个平面中的每一个包括多个存储块,所述多个存储块分别共享包括在所述存储器装置中且用于存储与写入操作或读取操作有关的数据的多个缓冲器;
将与所述写入命令相对应的写入数据存储在包括在控制器中的存储器中;
将存储在所述存储器中的所述写入数据传输到和存储在从所述多个缓冲器选择的至少一个第一缓冲器中;
从包括在所述多个存储器管芯中的存储块的页面中读取与所述读取命令相对应的读取数据,
将所述读取数据存储在被从所述多个缓冲器选择以与所述存储块的页面相接合的至少一个第二缓冲器中;以及
将存储在所述至少一个第二缓冲器中的所述读取数据存储在所述存储器中。
14.根据权利要求13所述的方法,其进一步包括:
通过将所述写入数据存储在所述第一缓冲器中来停止执行与所述写入命令相对应的编程操作;以及
在缓冲所述编程操作的执行的状态下,执行与所述读取命令相对应的读取操作。
15.根据权利要求14所述的方法,其进一步包括:
在通过将存储在所述存储器中的所述读取数据提供给所述主机来完成所述读取操作的执行之后,恢复停止状态的所述编程操作。
16.根据权利要求15所述的方法,其中恢复所述编程操作包括在完成所述读取操作的执行之后,将存储在所述第一缓冲器中的所述写入数据存储在包括在所述多个存储器管芯中的存储块的页面中。
17.根据权利要求13所述的方法,其中接收所述写入命令和所述读取命令包括同时从所述主机接收所述写入命令和所述读取命令。
18.根据权利要求13所述的方法,其中接收所述写入命令和所述读取命令包括在将所述写入数据存储在所述存储器中之后且在完成与所述写入命令相对应的编程操作的执行之前从所述主机接收所述读取命令。
19.根据权利要求13所述的方法,
其中所述第一缓冲器包括在所述多个存储器管芯中将执行与所述写入命令相对应的编程操作的第一存储器管芯中,并且
其中所述第二缓冲器包括在所述多个存储器管芯中将执行与所述读取命令相对应的所述读取操作的第二存储器管芯中。
20.根据权利要求13所述的方法,其中所述第一缓冲器和所述第二缓冲器包括在所述多个存储器管芯中将分别执行与所述写入命令相对应的编程操作和与所述读取命令相对应的读取操作的第一存储器管芯中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160092415A KR102721618B1 (ko) | 2016-07-21 | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
KR10-2016-0092415 | 2016-07-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107643985A CN107643985A (zh) | 2018-01-30 |
CN107643985B true CN107643985B (zh) | 2021-04-27 |
Family
ID=60988047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710207875.2A Active CN107643985B (zh) | 2016-07-21 | 2017-03-31 | 存储器系统及其操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10394487B2 (zh) |
CN (1) | CN107643985B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11030132B2 (en) * | 2018-02-05 | 2021-06-08 | Micron Technology, Inc. | Synchronous memory bus access to storage media |
KR102503177B1 (ko) * | 2018-03-05 | 2023-02-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102523327B1 (ko) * | 2018-03-19 | 2023-04-20 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR102532563B1 (ko) * | 2018-03-28 | 2023-05-17 | 에스케이하이닉스 주식회사 | 메모리 장치 및 그것의 동작방법 |
KR20190123984A (ko) * | 2018-04-25 | 2019-11-04 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102567314B1 (ko) * | 2018-04-27 | 2023-08-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20190128283A (ko) * | 2018-05-08 | 2019-11-18 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그 동작방법 |
KR102695771B1 (ko) * | 2018-07-06 | 2024-08-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102649657B1 (ko) * | 2018-07-17 | 2024-03-21 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
KR20200010933A (ko) * | 2018-07-23 | 2020-01-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200010934A (ko) * | 2018-07-23 | 2020-01-31 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
JP7326667B2 (ja) * | 2018-07-31 | 2023-08-16 | マーベル アジア ピーティーイー、リミテッド | ストレージエッジにおけるメタデータ生成 |
KR102564774B1 (ko) * | 2018-09-18 | 2023-08-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 혹은 데이터 처리 시스템의 동작을 진단하는 장치 혹은 진단을 통해 신뢰성을 확보하는 방법 |
KR20200034312A (ko) * | 2018-09-21 | 2020-03-31 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20200046495A (ko) * | 2018-10-24 | 2020-05-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
KR20200048318A (ko) * | 2018-10-29 | 2020-05-08 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR102686917B1 (ko) * | 2018-10-31 | 2024-07-19 | 삼성전자주식회사 | 스토리지 장치의 구동 방법, 이를 수행하는 스토리지 장치 및 이를 이용한 스토리지 시스템의 구동 방법 |
KR102588600B1 (ko) * | 2018-11-12 | 2023-10-16 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
KR102659832B1 (ko) * | 2019-03-05 | 2024-04-22 | 삼성전자주식회사 | 데이터 저장 장치 및 시스템 |
KR102711411B1 (ko) * | 2019-09-06 | 2024-09-30 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11099785B2 (en) * | 2019-12-23 | 2021-08-24 | Micron Technology, Inc. | Linking access commands for a memory sub-system |
US12118210B2 (en) * | 2020-11-25 | 2024-10-15 | Micron Technology, Inc. | Using bad blocks for system data in memory |
TWI798726B (zh) * | 2021-06-18 | 2023-04-11 | 慧榮科技股份有限公司 | 快閃記憶體的資料讀取方法及快閃記憶體控制器與電子裝置 |
KR20230069642A (ko) * | 2021-11-12 | 2023-05-19 | 에스케이하이닉스 주식회사 | 저장 장치 공유 시스템 및 그 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11259988A (ja) * | 1998-03-13 | 1999-09-24 | Sanyo Electric Co Ltd | 記録媒体再生装置 |
US7644248B2 (en) * | 2006-09-27 | 2010-01-05 | Intel Corporation | Mechanism to generate logically dedicated read and write channels in a memory controller |
CN102150140A (zh) * | 2008-12-27 | 2011-08-10 | 株式会社东芝 | 存储器系统、控制存储器系统的方法和信息处理装置 |
US8250328B2 (en) * | 2009-03-24 | 2012-08-21 | Micron Technology, Inc. | Apparatus and method for buffered write commands in a memory |
CN103608785A (zh) * | 2013-06-21 | 2014-02-26 | 华为技术有限公司 | 一种文件读取方法、存储设备及读取系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7133972B2 (en) * | 2002-06-07 | 2006-11-07 | Micron Technology, Inc. | Memory hub with internal cache and/or memory access prediction |
US7206230B2 (en) | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
KR101895605B1 (ko) * | 2011-11-21 | 2018-10-25 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
CN104598413A (zh) * | 2014-12-31 | 2015-05-06 | 深圳怡化电脑股份有限公司 | 多路数据管理电路及方法 |
-
2017
- 2017-02-22 US US15/438,890 patent/US10394487B2/en active Active
- 2017-03-31 CN CN201710207875.2A patent/CN107643985B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11259988A (ja) * | 1998-03-13 | 1999-09-24 | Sanyo Electric Co Ltd | 記録媒体再生装置 |
US7644248B2 (en) * | 2006-09-27 | 2010-01-05 | Intel Corporation | Mechanism to generate logically dedicated read and write channels in a memory controller |
CN102150140A (zh) * | 2008-12-27 | 2011-08-10 | 株式会社东芝 | 存储器系统、控制存储器系统的方法和信息处理装置 |
US8250328B2 (en) * | 2009-03-24 | 2012-08-21 | Micron Technology, Inc. | Apparatus and method for buffered write commands in a memory |
CN103608785A (zh) * | 2013-06-21 | 2014-02-26 | 华为技术有限公司 | 一种文件读取方法、存储设备及读取系统 |
Also Published As
Publication number | Publication date |
---|---|
US20180024770A1 (en) | 2018-01-25 |
KR20180011376A (ko) | 2018-02-01 |
CN107643985A (zh) | 2018-01-30 |
US10394487B2 (en) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107643985B (zh) | 存储器系统及其操作方法 | |
CN107562649B (zh) | 存储器系统及其操作方法 | |
KR102681659B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN107491396B (zh) | 存储器系统及其操作方法 | |
US10514863B2 (en) | Memory system and operation method for the same | |
CN107346214B (zh) | 存储器系统及其操作方法 | |
US10489078B2 (en) | Controller keeping a sequence of data and operating method thereof | |
US20180011527A1 (en) | Memory system and operating method thereof | |
US10303361B2 (en) | Memory system and method for buffering and storing data | |
US11675543B2 (en) | Apparatus and method for processing data in memory system | |
CN107562653B (zh) | 存储器系统及其操作方法 | |
TWI750245B (zh) | 控制器及其操作方法 | |
US10331346B2 (en) | Memory system using burst command for handling plural commands and operating method thereof | |
CN110489271B (zh) | 存储器系统及其操作方法 | |
CN107728932B (zh) | 存储器系统及其操作方法 | |
US20190108891A1 (en) | Memory system and operating method of the same | |
CN110045914B (zh) | 存储器系统及其操作方法 | |
KR20180094724A (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
US20180157415A1 (en) | Apparatus and method for controlling memory device | |
CN109426448B (zh) | 存储器系统及其操作方法 | |
CN107436730B (zh) | 数据处理系统及其操作方法 | |
CN107767896B (zh) | 包括多接口的存储器系统 | |
US20180074711A1 (en) | Memory system and method for operating the same | |
US20190221279A1 (en) | Memory system and operating method thereof | |
KR20170133090A (ko) | 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법 |
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 |