CN112015329A - 存储系统及其操作方法 - Google Patents
存储系统及其操作方法 Download PDFInfo
- Publication number
- CN112015329A CN112015329A CN201911251514.3A CN201911251514A CN112015329A CN 112015329 A CN112015329 A CN 112015329A CN 201911251514 A CN201911251514 A CN 201911251514A CN 112015329 A CN112015329 A CN 112015329A
- Authority
- CN
- China
- Prior art keywords
- physical address
- descriptor
- read
- program
- memory
- 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.)
- Withdrawn
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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
-
- 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/0614—Improving the reliability of storage systems
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
Abstract
本发明公开了一种存储系统及其操作方法。存储系统包括:存储器件;命令队列,将编程描述符和第一读取描述符排队,并且顺序地输出描述符;编程管理器,响应于编程描述符来执行错误处理操作,错误处理操作包括:当在第一物理地址上执行的编程操作失败时,在第二物理地址上执行编程操作;失败管理缓冲器,存储针对失败的编程操作的第一物理地址;队列管理器,当第一读取描述符的物理地址与第一物理地址相同时,从命令队列中删除第一读取描述符,并且输出异常信号;以及描述符生成器,在经过错误处理操作时,响应于异常信号来生成包括第二物理地址的第二读取描述符,并且将第二读取描述符入队在命令队列中。
Description
相关申请的交叉引用
本申请要求于2019年5月29日提交的韩国专利申请No.10-2019-0063271的优先权,其全部内容通过引用合并于此。
技术领域
各种实施例涉及一种存储系统,并且更具体地,涉及一种用于有效地执行读取操作的存储系统及其操作方法。
背景技术
计算机环境范例已经转移到泛在计算,这使得计算系统可以被随时随地使用。结果是,诸如移动电话、数码相机和膝上型计算机之类的便携式电子设备的使用迅速增多。这些便携式电子设备通常使用存储系统,其具有一个或多个用于存储数据的存储器件。存储系统可以用作便携式电子设备的主存储器件或辅助存储器件。
与硬盘设备相比,存储系统因为它们没有移动性部件而提供了出色的稳定性、耐用性、高信息访问速度和低功耗。具有这种优点的存储系统的示例包括通用串行总线(USB)存储器件、具有各种接口的存储卡、以及固态驱动器(SSD)。
发明内容
各种实施例针对一种存储系统,当具有发生编程失败的页作为物理地址的读取描述符在命令队列中被排队时,该存储系统生成具有如下物理地址的读取描述符,经由针对未能被编程的数据的错误处理操作而在该物理地址处成功地重新编程数据,从而防止读取失败的数据。
根据本发明的一实施例,一种存储系统可以包括:存储器件,其包括多个存储裸片;命令队列,其适于在其中将编程描述符和第一读取描述符排队(queue),并且将被排队的描述符顺序地提供给存储器件;编程管理器,其适于响应于所述编程描述符来控制所述存储器件执行错误处理操作,所述错误处理操作包括:当在第一物理地址上执行的编程操作失败时,在第二物理地址上执行编程操作;失败管理缓冲器,其适于临时存储针对失败的编程操作的所述第一物理地址;队列管理器,其适于:当所述第一读取描述符中的物理地址与存储的所述第一物理地址相同时,从所述命令队列中删除所述第一读取描述符,并且输出异常信号;以及描述符生成器,其适于:在经过所述错误处理操作时,响应于所述异常信号来生成包括所述第二物理地址的第二读取描述符,并且将所述第二读取描述符入队在所述命令队列中。
根据本发明的另一实施例,一种操作存储系统的方法可以包括:将编程描述符和第一读取描述符入队在命令队列中;响应于所述编程描述符来执行错误处理操作,所述错误处理操作包括:当在第一物理地址上执行的编程操作失败时,在第二物理地址上执行编程操作;将针对失败的编程操作的所述第一物理地址临时存储在失败管理缓冲器中;当所述第一读取描述符中所包括的物理地址与存储的所述第一物理地址相同时,从所述命令队列中删除所述第一读取描述符,并且输出异常信号;以及在经过所述错误处理操作时,响应于所述异常信号来生成包括所述第二物理地址的第二读取描述符,并且将所述第二读取描述符入队在所述命令队列中。
根据本发明的另一实施例,一种存储系统可以包括:存储器件,其包括多个存储裸片;处理器,其适于控制所述存储器件的编程操作和读取操作;以及存储器接口,其适于将所述处理器和所述存储器件进行接口,其中,所述存储器接口包括:命令队列,其适于在其中将编程描述符和第一读取描述符排队,并且将入队的所述描述符顺序地提供给所述存储器件;失败管理缓冲器,其适于临时存储针对失败的编程操作的第一物理地址;以及队列管理器,其适于:当所述第一读取描述符中的物理地址与存储的所述第一物理地址相同时,从所述命令队列中删除所述第一读取描述符,并且输出异常信号;其中,所述处理器包括:编程管理器,其适于:响应于所述编程描述符来控制所述存储器件执行错误处理操作,所述错误处理操作包括:当在所述第一物理地址上执行的编程操作失败时,在第二物理地址上执行编程操作;以及描述符生成器,其适于:在经过所述错误处理操作时,响应于所述异常信号来生成包括所述第二物理地址的第二读取描述符,并且将所述第二读取描述符入队在所述命令队列中。
根据本发明的另一实施例,提供一种操作存储系统的方法,所述存储系统包括处理器、存储器接口和存储器件,所述方法可以包括:执行编程操作以将数据编程到所述存储器件中的具有第一地址的第一位置;当所述编程操作未成功时,向所述处理器发出编程失败信号;所述处理器控制所述存储器件将所述数据编程到具有第二地址的第二位置;存储包括所述编程操作失败所在的所述第一地址的描述符。
附图说明
图1是示出根据本发明的实施例的包括存储系统的数据处理系统的框图。
图2是示出图1所示的存储器件中的存储块的存储单元阵列的配置的电路图。
图3是用于对描述符的数据结构进行说明的图。
图4是用于说明当排队的读取描述符中所包括的物理地址与发生编程失败的物理地址相同时出现的问题的图。
图5是示出根据实施例的存储系统的详细示图。
图6是示出命令队列和失败管理缓冲器的图。
图7是示出根据实施例的存储系统的操作方法的流程图。
具体实施方式
下面参考附图更详细地描述本发明的各种实施例。然而,本发明可以以不同的形式实施,而不应被解释为限于本文中阐述的实施例。相反,提供这些实施例是为了使本公开透彻和完整,并将本发明的范围充分传达给本领域技术人员。贯穿本公开,在本发明的各个附图和实施例中,相同的附图标记指代相同的部分。
注意的是,对“一实施例”、“另一实施例”等的提及不必然意味着仅一个实施例,并且对任何这样的措辞的各种提及不必然是指相同的实施例。
将理解,尽管在本文中可以使用术语“第一”和/或“第二”来标识各种元件,但是这些元件不应受到这些术语的限制。这些术语仅用于区分一个元件与另一个元件,否则它们会具有相同或相似的名称。在不更改基础元件的结构或功能的情况下,下面所讨论的在一种情况下的第一元件可以在另一种情况下被称为第二元件。
将理解的是,当一元件被称为“耦接”或“连接”到另一元件时,该元件可以是直接耦接或连接到该另一元件,或者在它们之间可以存在一个或多个中间元件。相反,应该理解的是,当一元件被称为“直接耦接”或“直接连接”到另一元件时,不存在中间元件。表达元件之间关系的其他表述,例如“之间”、“直接在...之间”、“与...相邻”或“直接与...相邻”应以相同的方式解释。
本文中所使用的术语仅出于描述特定实施例的目的,而不旨在进行限制。在本公开中,单数形式也意图包括复数形式,除非上下文另外明确指出。还将理解的是,术语“包括”、“包含”、“具有”等等,当在本说明书中使用时,指明所陈述的特征、数量、步骤、操作、元件、部件和/或其组合的存在,但不排除存在或添加一个或多个其他特征、数字、步骤、操作、元件、组件和/或其组合。
本文中公开的实施例仅出于理解本公开的技术精神的目的。然而,本发明的范围不应限于所公开的实施例。如本公开所属领域的技术人员将理解的是,可以基于本公开的技术精神而对任何所公开的实施例进行各种修改。本发明涵盖落入权利要求书的范围内的所有此类修改。
除非另有定义,否则本文中所使用的包括技术术语和科学术语在内的所有术语具有与本发明所属领域的普通技术人员通常所理解的相同含义。除非在本公开中另有定义,否则不应以过于理想或过于正式的方式来解释术语。
下面参考附图详细描述本发明的各种实施例。
图1是示出根据本发明的实施例的包括存储系统110的数据处理系统100的框图。
参见图1,数据处理系统100可以包括主机102,其可操作地耦接到存储系统110。
主机102可以包括诸如移动电话、MP3播放器和膝上型计算机之类的各种便携式电子设备中的任何一种,或者可以包括诸如台式计算机、游戏机、电视机和/或投影仪之类的各种非便携式电子设备中的任何一种。
主机102可以包括一个或多个操作系统(OS)。主机102可以运行OS以在存储系统110上执行与用户的请求相对应的操作。这里,主机102可以向存储系统110提供与用户的请求相对应的多个命令。因此,存储系统110可以执行与多个命令相对应的特定操作,即,与用户的请求相对应的操作。OS可以管理和控制主机102的整体功能和操作。OS可以使用数据处理系统100或存储系统110来支持主机102与用户之间的操作。
存储系统110可以响应于来自主机102的请求而操作,或执行特定的功能或操作,特别是可以存储要由主机102访问的数据。存储系统110可以用作主机102的主存储系统或辅助存储系统。存储系统110可以利用各种类型的储存设备中的任何一种来实现,该储存设备可以根据主机接口的协议而与主机102电耦接。存储系统110的非限制性示例包括固态驱动器(SSD)、多媒体卡(MMC)和嵌入式MMC(eMMC)。
存储系统110可以包括各种类型的储存设备中的任何一种。这种储存设备的非限制性示例包括易失性存储器件和非易失性存储器件,易失性存储器件诸如DRAM动态随机存取存储器(DRAM)和/或静态RAM(SRAM),非易失性存储器件诸如只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM))、电阻式RAM(RRAM)和/或快闪存储器。
存储系统110可以包括存储器件150和控制器130。
控制器130和存储器件150可以被集成在单个半导体器件中,该半导体器件可以被包括在如上所述的各种类型的存储系统中的任何一种之中。例如,控制器130和存储器件150可以被集成为单个半导体器件以构成SSD、PCMCIA(个人计算机存储卡国际协会)卡、SD卡(例如,迷你SD、微型SD、SDHC)和/或UFS设备。存储系统110可以被配置作为下列设备的一部分:计算机、智能电话、便携式游戏机、或配置计算系统的各种组件之一。
存储器件150可以是非易失性存储器件,其即使不被供电也可以保留所存储的数据。存储器件150可以经由写入操作来存储从主机102提供的数据,以及可以经由读取操作来将存储在其中的数据输出到主机102。在一实施例中,存储器件150可以包括多个存储裸片(未示出),并且每个存储裸片可以包括多个平面(未示出)。每个平面可以包括多个存储块152至156,存储块152至156中的每个可以包括多个页,每个页可以包括耦接到字线的多个存储单元。在一实施例中,存储器件150可以是具有三维(3D)层叠结构的快闪存储器。
控制器130可以响应于来自主机102的请求而控制存储器件150。例如,控制器130可以将从存储器件150读取的数据提供给主机102,以及将从主机102提供的数据存储到存储器件150中。对于该操作,控制器130可以控制存储器件150的读取、写入、编程和擦除操作。
更具体地,控制器130可以包括主机接口(I/F)132、处理器134、存储器接口142和存储器144,它们全部经由内部总线而可操作地耦接或接合。如以下参考图5所述的,处理器134可以包括映射组件502、编程管理器504和描述符生成器506。存储器I/F 142可以包括队列管理器512、命令队列514和失败管理缓冲器516。
主机接口132可以处理主机102的命令和数据。主机接口132可以经由各种接口协议中的一种或多种而与主机102通信,所述接口协议诸如通用串行总线(USB)、多媒体卡(MMC)、外围组件互连-快速(PCI-E)、小型计算机系统接口(SCSI)、串行附接的SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小磁盘接口(ESDI)和/或集成驱动电子设备(IDE)。主机接口132可以经由固件(即,用于与主机102交换数据的主机接口层(HIL))而被驱动。
存储器接口142可以用作控制器130与存储器件150之间的存储器/储存器接口,使得控制器130可以响应于来自主机102的请求而控制存储器件150。
存储器144可以用作存储系统110和控制器130的工作存储器,并且存储用于驱动存储系统110和控制器130的数据。
存储器144可以是易失性存储器。例如,存储器144可以是静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)。存储器144可以设置在控制器130内部或外部。图1示出了设置在控制器130内部的存储器144。在另一实施例中,存储器144可以是外部的易失性存储器,其具有用于在存储器144与控制器130之间传输数据的存储器接口。
如上所述,存储器144可以包括编程存储器、数据存储器、写入缓冲器/高速缓存、读取缓冲器/高速缓存、数据缓冲器/高速缓存、和映射缓冲器/高速缓存,以存储用以执行主机102与存储器件150之间的数据写入和读取操作所需的一些数据,以及对于控制器130和存储器件150执行这些操作所需的其他数据。
处理器134可以控制存储系统110的整体操作。处理器134可以使用固件来控制存储系统110的整体操作。固件可以称为闪存转换层(FTL)。处理器134可以利用微处理器和/或中央处理单元(CPU)来实现。
例如,控制器130可以经由处理器134而在存储器件150中执行主机102所请求的操作。此外,控制器130可以经由处理器134而在存储器件150上执行后台操作。在存储器件150上执行的后台操作可以包括:将存储在存储块152至156之中的一些存储块中的数据复制到其他存储块中,例如,垃圾收集(GC)操作;在存储块152至156中的选择的存储块之间交换数据,例如,损耗均衡(WL)操作;将存储在控制器130中的映射数据存储到存储块152至156中的选择的存储块中,例如,映射刷写(flush)操作;或者管理存储器件150的坏块,例如,检测和处理存储器件150中的存储块152至156之中的坏块的坏块管理操作。
参见图2,更详细地描述根据实施例的存储系统的存储器件。
参见图2,存储块330可以包括多个单元串340,其耦接到多个对应的位线BL0至BLm-1。每列的单元串340可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在漏极选择晶体管DST与源极选择晶体管SST之间,多个存储单元MC0至MCn-1可以串联耦接。在一实施例中,每个存储单元晶体管MC0至MCn-1可以由MLC来实现,该MLC能够存储多个比特位的数据信息。每个单元串340可以电耦接到多个位线BL0至BLm-1之中的对应位线。例如,如图2所示,第一单元串耦接到第一位线BL0,而最后的单元串耦接到最后的位线BLm-1。
尽管图2示出的是NAND快闪存储单元,但是本发明不限于此。注意的是,存储单元可以是NOR快闪存储单元,或者可以是混合式快闪存储单元,其包括在其中被组合的两种或更多种类型的存储单元。此外,注意的是,存储器件150可以是包括导电浮栅作为电荷存储层的快闪存储器件,或者可以是包括绝缘层作为电荷存储层的电荷陷阱快闪(CTF)存储器件。
存储器件150还可以包括电压源310,该电压源310根据操作模式而产生包括编程电压、读取电压和通过电压的不同字线电压以提供给字线。电压源310的电压发生操作可以由控制电路(未示出)控制。在控制电路的控制下,电压源310可以选择存储单元阵列的存储块(或扇区)中的至少一个,选择所选的存储块的字线中的至少一个,以及可按需地提供字线电压给所选的字线和未选的字线。
存储器件150可以包括读取/写入电路320,其由控制电路控制。在验证/正常读取操作期间,读取/写入电路320可以用作用于从存储单元阵列读取(感测和放大)数据的感测放大器。在编程操作期间,读取/写入电路320可以操作为写入驱动器,其用于根据要存储在存储单元阵列中的数据而向位线提供电压或电流。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收要存储到存储单元阵列中的数据,并且根据接收到的数据来驱动位线。读取/写入电路320可以包括多个页缓冲器322至326,其分别对应于列(或位线)或列对(或位线对)。页缓冲器322至326中的每个可以包括多个锁存器(未示出)。
图3是用于对描述符的数据结构进行说明的图。
当从主机102提供命令和逻辑地址时,存储系统110可以映射与该逻辑地址相对应的物理地址。具体地,当编程命令、逻辑地址和数据被提供时,处理器134可以将要存储数据的物理地址映射到逻辑地址。此外,当读取命令和逻辑地址被提供时,处理器134可以驱动FTL以搜索与该逻辑地址相对应的物理地址。在执行映射之后,处理器134可以生成包括与命令的类型、逻辑地址和物理地址有关的信息的描述符。
参见图3,描述符DSC可以包括与命令类型CMD TYPE、物理地址PBA、缓冲器偏移BUFFER OFFSET、以及逻辑地址LBA有关的信息。描述符DSC可以被划分为多个区,并且第一至第四区302、304、306和308可以分别存储与命令类型CMD TYPE、物理地址PBA、缓冲器偏移BUFFER OFFSET、以及逻辑地址LBA有关的信息。
例如,在编程描述符的情况下,存储在第一区302中的信息可以指示命令的类型是编程命令,并且存储在第二区304中的信息可以是要存储用户数据的物理地址。存储在第三区306中的信息可以是存储有用户数据的主机缓冲器的偏移值,并且存储在第四区308中的信息可以是用于用户数据的逻辑地址。尽管图中未示出,但是编程描述符还可以包括用户数据区。
在读取描述符的情况下,存储在第一区302中的信息可以指示命令的类型是读取命令,并且存储在第二区304中的信息可以是存储有针对读取命令的数据的物理地址。存储在第三区306中的信息可以是要存储读取数据的主机缓冲器的偏移值,并且存储在第四区308中的信息可以是与物理地址相对应的逻辑地址。
处理器134可以生成描述符DSC,并且将所生成的描述符DSC入队(enqueue)在存储器I/F 142所包括的命令队列中。存储器I/F 142可以将描述符DSC顺序地提供给存储器件150,并且控制存储器件150执行与描述符DSC中所包括的命令相对应的操作。
处理器134可以生成逻辑到物理(L2P)信息,并且将所生成的L2P信息存储在存储器144中,以便映射与逻辑地址相对应的物理地址。当从主机102提供编程命令、逻辑地址和用户数据时,处理器134可以搜索要存储用户数据的物理地址。在存储器件150将用户数据编程到物理地址时,处理器134可以更新L2P信息。然后,当用于逻辑地址的读取命令被提供时,处理器134可以基于L2P信息来生成具有存储有用户数据的物理地址的读取描述符,并且将该读取描述符入队在命令队列中。由于用于更新L2P信息所需的时间短于对用户数据进行编程所需的时间,因此处理器134可以在用户数据被编程时完成L2P信息更新操作。
因此,在检查与针对编程描述符的编程操作是否通过有关的信息之前,可以首先将编程描述符入队在命令队列中,然后可以将具有与该编程描述符的物理地址相同的物理地址的读取描述符入队在命令队列中。当编程操作失败时,存储器件150可以根据读取描述符而从发生编程失败的物理地址读取未能被编程的用户数据。
图4是用于说明当排队的读取描述符中所包括的物理地址与发生编程失败的物理地址相同时出现的问题的图。
当存储器件150将用户数据DATA编程到具有第五物理地址PBA 5的第一存储块MEMORY BLK1时,处理器134可以更新关于用户数据DATA的L2P信息。然后,当针对与用户数据DATA相对应的逻辑地址的读取命令被提供时,处理器134可以基于L2P信息来生成具有第五物理地址PBA 5的读取描述符R_DSC,并且将该读取描述符R_DSC入队在命令队列中。
当针对第五物理地址PBA 5的编程操作完成时,存储器件150可以执行检查该编程操作是否通过的编程验证操作。当编程验证操作的结果指示针对第五物理地址PBA 5的编程操作失败时(PGM FAIL),处理器134可以控制存储器件150对用户数据DATA执行错误处理操作。错误处理操作可以包括:将用户数据DATA重新编程到第二存储块MEMORY BLK2,该第二存储块MEMORY BLK2是具有新的第十物理地址PBA 10的新的正常存储块,而取代具有编程操作失败的第五物理地址PBA 5的第一存储块MEMORY BLK1。
入队在存储器I/F 142中的读取描述符R_DSC可以包括与发生编程失败的第五物理地址PBA 5有关的信息。因此,当存储器件150根据读取描述符执行读取操作时,用户数据DATA可能是从编程失败的第五物理地址PBA 5来读取的,而不是从经由错误处理操作而更改了物理地址的新的第十物理地址PBA 10来读取的。
根据相关技术,为了防止读取存储在发生编程失败的物理地址处的数据,处理器存储与正在执行编程操作的物理地址或入队在命令队列中的编程描述符所包括的第一物理地址有关的信息。然后,当读取命令和逻辑地址被提供时,处理器可以将逻辑地址映射到第二物理地址,然后生成读取描述符。当第一和第二物理地址相同时,处理器不会将读取描述符入队在命令队列中。当针对第一物理地址的编程操作失败时,处理器可以执行错误处理以将失败的数据编程到具有第三物理地址的正常存储块,并且更新读取描述符以具有第三物理地址作为其物理地址。
根据相关技术,当发生编程失败的第一物理地址与读取描述符的经由映射操作而生成的第二物理地址相同时,处理器不会将读取描述符入队在命令队列中,从而防止读取失败的数据。然而,由于处理器执行比较第一物理地址和第二物理地址的操作,因此处理器的性能下降。例如,由于处理器控制存储系统的整体操作,因此处理器可以同时控制各种操作。但是,如果处理器执行比较第一物理地址和第二物理地址的操作,同时执行的其他操作的性能会降低。此外,在错误处理操作完成之前,处理器不会将读取描述符排队。因此,控制操作被延迟。
根据一实施例,即使当生成针对正在执行编程操作的物理地址的读取描述符时,处理器134也可以将该读取描述符提供给存储器I/F 142。存储器I/F 142可以将描述符入队在命令队列中。存储器I/F 142可以存储与发生编程失败的第一物理地址有关的信息。当包括与第一物理地址相同的物理地址的读取描述符入队在命令队列中时,存储器I/F142可以删除该读取描述符,然后将异常信号提供给处理器134。处理器134可以响应于异常信号而将未能被编程的数据的逻辑地址映射到作为新的物理地址的第二物理地址,然后生成具有第二物理地址的读取描述符。然后,处理器134可以再将该读取描述符提供给存储器I/F142。
根据一实施例,处理器134不需要确定正在执行编程操作的物理地址是否与读取描述符中所包括的物理地址相同。此外,无论错误处理操作是否完成,处理器134都可以控制存储器I/F 142将读取描述符入队在命令队列中。因此,能够防止读取存储在发生编程失败的物理地址处的用户数据,同时提高处理器134的操作性能。结果是,能够提高读取操作的性能。
图5是示出根据实施例的存储系统110的详细示图。为了清楚起见,图5仅示出了图1的数据处理系统100中的与以下所描述的处理有关的组件。
控制器130可以包括处理器134和存储器I/F 142。处理器134可以包括映射组件502、编程管理器504和描述符生成器506。存储器I/F 142可以包括队列管理器512、命令队列514和失败管理缓冲器516。尽管在图中未示出,但是处理器134可以包括用于控制存储器件150执行读取操作的读取管理器。
编程管理器504可以控制存储器件150执行编程操作和错误处理操作。当编程操作失败时,编程管理器504可以控制存储器件150执行错误处理操作。错误处理操作可以包括将用户数据重新编程到正常存储块,即,与发生编程失败之处不同的存储块。编程管理器504可以向映射组件502提供与用户数据被编程处的物理地址有关的信息。
映射组件502可以基于关于该物理地址的信息来生成L2P信息。映射组件502可以基于L2P信息而将从主机102提供的逻辑地址LBA转换为物理地址PBA。映射组件502可以基于从主机102提供的读取命令READ_CMD和逻辑地址LBA,而将逻辑地址LBA转换为物理地址PBA,在该物理地址PBA处存储有针对读取命令READ_CMD的用户数据。映射组件502可以将关于该物理地址PBA的信息提供给描述符生成器506。
描述符生成器506可以基于从主机102提供的所述命令和逻辑地址以及从映射组件502提供的物理地址PBA来生成描述符。当从主机102提供读取命令READ_CMD时,描述符生成器506可以生成读取描述符READ_DSC。如以上参考图3所描述的,读取描述符READ_DSC可以具有包括多个区的结构,并且包括与命令类型、逻辑地址和物理地址有关的信息。描述符生成器506可以将读取描述符READ_DSC提供给存储器I/F142。
队列管理器512可以将所提供的读取描述符READ_DSC入队在命令队列514中。队列管理器512可以将发生编程失败的编程描述符存储到失败管理缓冲器516中。当存储在失败管理缓冲器516中的编程描述符的物理地址与入队在命令队列514中的读取描述符READ_DSC的物理地址相同时,队列管理器512可以从命令队列514中删除读取描述符READ_DSC。例如,队列管理器512不需要将入队在命令队列514中的读取描述符READ_DSC提供给存储器件150,而是可以从命令队列514中删除读取描述符READ_DSC。在删除读取描述符READ_DSC之后,队列管理器512可以提供异常信号SIG_EXCEPTION给描述符生成器506。
图5示出了一个命令队列514和一个失败管理缓冲器516。然而,根据另一实施例,存储器I/F 142可以包括多重命令队列与失败管理缓冲器,供存储器件150中的每个存储裸片用一组。
根据一实施例,当具有与发生编程失败的物理地址相同的物理地址的读取描述符READ_DSC入队在命令队列514中时,队列管理器512可以从命令队列514中删除读取描述符READ_DSC,使得存储器件150不会根据读取描述符READ_DSC来读取失败的数据。此外,在经过错误处理操作时,队列管理器512可以将异常信号SIG_EXCEPTION提供给描述符生成器506,并且控制描述符生成器506以使得读取描述符READ_DSC具有经由错误处理操作而改变的新的物理地址。
图6是示出命令队列和失败管理缓冲器的图。
命令队列514可以将从描述符生成器506提供的描述符排队。例如,命令队列514可以将第一至第三编程描述符W1_DSC至W3_DSC和第一读取描述符R1_DSC排队。失败管理缓冲器516可以缓冲与发生编程失败的描述符有关信息。具体地,当针对第一编程描述符W1_DSC和第三编程描述符W3_DSC的编程操作通过(PASS)并且针对第二编程描述符W2_DSC的编程操作失败(FAIL)时,队列管理器512可以将与第二编程描述符W2_DSC有关的信息存储在失败管理缓冲器516中。
每当新的读取描述符入队在命令队列514中时,队列管理器512可以将该读取描述符的物理地址与存储在失败管理缓冲器516中的第二编程描述符W2_DSC的物理地址进行比较。例如,当第二读取描述符R2_DSC入队在命令队列514中时,队列管理器512可以将第二读取描述符R2_DSC的物理地址与第二编程描述符W2_DSC的物理地址进行比较。根据另一实施例,每当失败的物理地址被存储在失败管理缓冲器516中时,队列管理器512可以将入队在命令队列514中的读取描述符的物理地址与发生失败的物理地址(所述失败的物理地址)进行比较。当第二读取描述符R2_DSC的物理地址与第二编程描述符W2_DSC的物理地址相同时,队列管理器512可以删除入队在命令队列514中的第二读取描述符R2_DSC,并且向描述符生成器506提供异常信号SIG_EXCEPTION。
返回参见图5,描述符生成器506可以响应于所提供的异常信号SIG_EXCEPTION来重新生成读取描述符。具体地,在经过错误处理操作时,编程管理器504可以向映射组件502提供与通过经由错误处理操作将失败的数据重新编程而改变的物理地址NEW_PBA有关的信息,并且映射组件502可以基于物理地址NEW_PBA来更新L2P信息。映射组件502可以基于更新的L2P信息向描述符生成器506提供关于物理地址NEW_PBA的信息。描述符生成器506可以基于物理地址NEW_PBA重新生成读取描述符,并且控制存储器件150从经由错误处理操作而改变的新的物理地址NEW_PBA读取用户数据。描述符生成器506可以将读取描述符READ_DSC_UPDATE提供给存储器I/F142。
存储器I/F 142可以将读取描述符READ_DSC_UPDATE入队在命令队列514中。根据一实施例,存储器件150可以基于读取描述符READ_DSC_UPDATE,从经由错误处理操作而改变的新的物理地址读取用户数据,而不是从发生编程失败的物理地址读取用户数据,从而防止发生读取错误。此外,存储器I/F 142中所包括的队列管理器512可以将入队在命令队列514中的读取描述符的物理地址与入队在失败管理缓冲器516中的编程描述符的物理地址进行比较,从而降低处理器134的操作负担。此外,处理器134可以优先地将无论错误处理操作是否完成都生成的读取描述符入队在命令队列514中,从而提高编程和读取速度。
图7是示出根据实施例的存储系统110的操作方法的流程图。
在步骤S702中,存储器件150可以在处理器134的控制下对用户数据进行编程。例如,存储器件150可以将用户数据编程到物理地址为'100'的存储块PBA 100中。
在步骤S704中,存储器件150可以检查在步骤S702中执行的编程操作是否通过。当编程操作失败时,存储器件150可以将失败信号SIG_FAIL提供给处理器134。处理器134可以响应于失败信号SIG_FAIL来控制存储器件150执行错误处理操作。存储器件150可以执行错误处理操作以将用户数据重新编程到物理地址为“200”的另一正常存储块PBA 200。
在步骤S706中,存储器I/F 142可以存储与在步骤S704中发生编程失败的物理地址PBA 100有关的信息。具体地,以上参考图5描述的队列管理器512可以将包括物理地址PBA 100的编程描述符存储在失败管理缓冲器516中。
在步骤S708中,处理器134可以响应于从主机102提供的读取命令来生成读取描述符READ_DSC。处理器134可以通过将针对读取命令的逻辑地址转换为物理地址来生成以上参考图3描述的读取描述符READ_DSC。当针对读取命令的逻辑地址与针对在步骤S702中执行的编程操作的逻辑地址相同时,转换后的物理地址可以具有值“100”(PBA100)。处理器134可以将读取描述符READ_DSC提供给存储器I/F 142。
在步骤S710中,存储器I/F 142可以将读取描述符READ_DSC入队在命令队列514中。存储器I/F 142可以将读取描述符READ_DSC的物理地址PBA 100与存储在失败管理缓冲器516中的物理地址PBA 100进行比较。
在步骤S712中,当包括与存储在失败管理缓冲器516中的物理地址PBA 100相同的物理地址PBA 100的读取描述符READ_DSC被排队时,存储器I/F 142可以删除读取描述符READ_DSC。存储器I/F 142可以向处理器134提供异常信号SIG_EXCEPTION。根据一实施例,当包括发生编程失败的物理地址PBA 100而不是经由错误处理操作而改变的地址PBA 200的读取描述符READ_DSC入队在命令队列514中时,存储器I/F 142可以删除读取描述符READ_DSC,从而防止读取失败的数据。此外,在经过错误处理操作时,存储器I/F 142可以将异常信号SIG_EXCEPTION提供给处理器134,并且控制处理器134基于经由错误处理操作而改变的物理地址PBA 200来更新读取描述符READ_DSC。
在步骤S714中,处理器134可以响应于异常信号SIG_EXCEPTION来生成包括经由错误处理操作而改变的物理地址PBA 200的读取描述符READ_DSC_UPDATE。处理器134可以将读取描述符READ_DSC_UPDATE提供给存储器I/F 142。
在步骤S716中,存储器I/F 142可以将所提供的读取描述符READ_DSC_UPDATE入队在命令队列514中。
在步骤S718中,存储器件150可以在处理器134的控制下,基于读取描述符READ_DSC_UPDATE来读取存储在经由错误处理操作而改变的物理地址PBA 200处的用户数据。
根据实施例,存储系统可以包括如下存储器I/F,该存储器I/F被配置为:当发生编程失败的页的物理地址与入队在命令队列中的读取描述符的物理地址相同时,从命令队列中删除该读取描述符,并且向处理器提供异常信号。处理器可以响应于异常信号而生成具有新的物理地址的读取描述符,失败的数据经由错误处理操作而被重新编程在该新的物理地址处,并且处理器可以将所生成的读取描述符入队在命令队列中,从而防止读取失败的数据。
尽管已经说明和描述了各种实施例,但是对于本领域技术人员明显的是,在不脱离如所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。本发明涵盖落入权利要求范围内的所有这些改变和修改。
Claims (21)
1.一种存储系统,包括:
存储器件,其包括多个存储裸片;
命令队列,其适于:在其中将编程描述符和第一读取描述符排队,以及将被排队的描述符顺序地提供给存储器件;
编程管理器,其适于响应于所述编程描述符来控制所述存储器件执行错误处理操作,所述错误处理操作包括:当在第一物理地址上执行的编程操作失败时,在第二物理地址上执行编程操作;
失败管理缓冲器,其适于临时存储针对失败的编程操作的所述第一物理地址;
队列管理器,其适于:当所述第一读取描述符中的物理地址与存储的所述第一物理地址相同时,从所述命令队列中删除所述第一读取描述符,并且输出异常信号;以及
描述符生成器,其适于:在经过所述错误处理操作时,响应于所述异常信号来生成包括所述第二物理地址的第二读取描述符,以及将所述第二读取描述符入队在所述命令队列中。
2.根据权利要求1所述的存储系统,还包括读取管理器,所述读取管理器适于基于入队的所述第二读取描述符来控制所述存储器件从所述第二物理地址读取数据。
3.根据权利要求1所述的存储系统,其中,当所述第一读取描述符入队在所述命令队列中时,所述队列管理器将存储的所述第一物理地址与所述第一读取描述符中所包括的物理地址进行比较。
4.根据权利要求1所述的存储系统,其中,当所述第一物理地址被存储在所述失败管理缓冲器中时,所述队列管理器将所述第一物理地址与所述第一读取描述符中所包括的物理地址进行比较。
5.根据权利要求2所述的存储系统,还包括分别与所述多个存储裸片相对应的多个队列管理器和多个命令队列。
6.根据权利要求1所述的存储系统,其中,所述编程描述符包括关于编程命令、第一逻辑地址、所述第一物理地址和编程数据的信息。
7.根据权利要求6所述的存储系统,其中,所述第一读取描述符包括关于读取命令、所述第一逻辑地址和所述第一物理地址的信息。
8.根据权利要求7所述的存储系统,其中,所述第二读取描述符包括关于所述读取命令、所述第一逻辑地址和所述第二物理地址的信息。
9.根据权利要求1所述的存储系统,其中,用于所述第二物理地址的存储块是正常开放块。
10.根据权利要求2所述的存储系统,其中,当所述编程操作失败时,所述存储器件向所述编程管理器提供失败信号。
11.一种存储系统的操作方法,包括:
将编程描述符和第一读取描述符入队在命令队列中;
响应于所述编程描述符来执行错误处理操作,所述错误处理操作包括:当在第一物理地址上执行的编程操作失败时,在第二物理地址上执行编程操作;
将针对失败的编程操作的所述第一物理地址临时存储在失败管理缓冲器中;
当所述第一读取描述符中所包括的物理地址与存储的所述第一物理地址相同时,从所述命令队列中删除所述第一读取描述符,并且输出异常信号;以及
在经过所述错误处理操作时,响应于所述异常信号来生成包括所述第二物理地址的第二读取描述符,并且将所述第二读取描述符入队在所述命令队列中。
12.根据权利要求11所述的操作方法,还包括:基于入队的所述第二读取描述符,从所述第二物理地址读取数据。
13.根据权利要求11所述的操作方法,其中,删除所述第一读取描述符包括:当所述第一读取描述符入队在所述命令队列中时,将存储的所述第一物理地址与所述第一读取描述符中所包括的物理地址进行比较。
14.根据权利要求11所述的操作方法,其中,删除所述第一读取描述符包括:当所述第一物理地址被存储在所述失败管理缓冲器中时,将所述第一物理地址与所述第一读取描述符中所包括的物理地址进行比较。
15.根据权利要求11所述的操作方法,还包括:
针对多个存储裸片中的每个存储裸片将所述第一物理地址存储在所述失败管理缓冲器中;以及
将所述第一读取描述符入队在所述命令队列中。
16.根据权利要求11所述的操作方法,其中,所述编程描述符包括关于编程命令、第一逻辑地址、所述第一物理地址和编程数据的信息。
17.根据权利要求16所述的操作方法,其中,所述第一读取描述符包括关于读取命令、所述第一逻辑地址和所述第一物理地址的信息。
18.根据权利要求17所述的操作方法,其中,所述第二读取描述符包括关于所述读取命令、所述第一逻辑地址和所述第二物理地址的信息。
19.根据权利要求11所述的操作方法,其中,用于所述第二物理地址的存储块是正常开放块。
20.一种存储系统,包括:
存储器件,其包括多个存储裸片;
处理器,其适于控制所述存储器件的编程操作和读取操作;以及
存储器接口,其适于将所述处理器和所述存储器件进行接口,
其中,所述存储器接口包括:
命令队列,其适于:在其中将编程描述符和第一读取描述符排队,以及将被排队的所述描述符顺序地提供给所述存储器件;
失败管理缓冲器,其适于临时存储针对失败的编程操作的第一物理地址;以及
队列管理器,其适于:当所述第一读取描述符中的物理地址与存储的所述第一物理地址相同时,从所述命令队列中删除所述第一读取描述符,并且输出异常信号,
其中,所述处理器包括:
编程管理器,其适于:响应于所述编程描述符来控制所述存储器件执行错误处理操作,所述错误处理操作包括:当在所述第一物理地址上执行的编程操作失败时,在第二物理地址上执行编程操作;以及
描述符生成器,其适于:在经过所述错误处理操作时,响应于所述异常信号来生成包括所述第二物理地址的第二读取描述符,并且将所述第二读取描述符入队在所述命令队列中。
21.一种操作存储系统的方法,所述存储系统包括处理器、存储器接口和存储器件,所述方法包括:
执行编程操作以将数据编程到所述存储器件中的具有第一地址的第一位置;
当所述编程操作未成功时,向所述处理器发出编程失败信号;
所述处理器控制所述存储器件将所述数据编程到具有第二地址的第二位置;以及
存储包括所述编程操作失败所在的所述第一地址的描述符。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0063271 | 2019-05-29 | ||
KR1020190063271A KR20200137244A (ko) | 2019-05-29 | 2019-05-29 | 메모리 시스템 및 그것의 동작방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112015329A true CN112015329A (zh) | 2020-12-01 |
Family
ID=73506178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911251514.3A Withdrawn CN112015329A (zh) | 2019-05-29 | 2019-12-09 | 存储系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11537318B2 (zh) |
KR (1) | KR20200137244A (zh) |
CN (1) | CN112015329A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419674A (zh) * | 2021-06-11 | 2021-09-21 | 联芸科技(杭州)有限公司 | 数据编程管理方法、存储器及其控制器,以及计算机系统 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210004629A (ko) | 2019-07-05 | 2021-01-13 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
CN113223598B (zh) * | 2021-05-31 | 2024-02-23 | 济南浪潮数据技术有限公司 | 一种基于io劫持的磁盘测试方法、装置、设备及介质 |
KR102640910B1 (ko) * | 2023-08-11 | 2024-02-23 | 리벨리온 주식회사 | 인공지능 연산과 연관된 데이터 복구 방법 및 시스템 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9817732B1 (en) * | 2015-03-31 | 2017-11-14 | EMC IP Holding Company LLC | Method for controlling failover and failback of virtual endpoints in a SCSI network |
KR102565918B1 (ko) | 2016-02-24 | 2023-08-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작방법 |
US10642508B2 (en) * | 2016-03-22 | 2020-05-05 | Toshiba Memory Corporation | Method to limit impact of partial media failure of disk drive and detect/report the loss of data for objects due to partial failure of media |
KR20170118284A (ko) * | 2016-04-14 | 2017-10-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20180012009A (ko) * | 2016-07-26 | 2018-02-05 | 에스케이하이닉스 주식회사 | 데이터 맵핑을 수행하는 반도체 장치 및 시스템 |
CN109690506B (zh) * | 2016-09-16 | 2022-11-15 | 索尼公司 | 存储器控制器、存储器系统、信息系统和存储器控制方法 |
KR20180114649A (ko) | 2017-04-11 | 2018-10-19 | 에스케이하이닉스 주식회사 | 복수의 프로세서를 포함하는 컨트롤러 및 컨트롤러의 동작방법 그리고 멀티 프로세서 시스템 |
TWI639921B (zh) * | 2017-11-22 | 2018-11-01 | 大陸商深圳大心電子科技有限公司 | 指令處理方法及使用所述方法的儲存控制器 |
US10534551B1 (en) * | 2018-06-22 | 2020-01-14 | Micron Technology, Inc. | Managing write operations during a power loss |
-
2019
- 2019-05-29 KR KR1020190063271A patent/KR20200137244A/ko not_active Application Discontinuation
- 2019-11-12 US US16/680,938 patent/US11537318B2/en active Active
- 2019-12-09 CN CN201911251514.3A patent/CN112015329A/zh not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419674A (zh) * | 2021-06-11 | 2021-09-21 | 联芸科技(杭州)有限公司 | 数据编程管理方法、存储器及其控制器,以及计算机系统 |
Also Published As
Publication number | Publication date |
---|---|
KR20200137244A (ko) | 2020-12-09 |
US11537318B2 (en) | 2022-12-27 |
US20200379681A1 (en) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110858180B (zh) | 数据处理系统及其操作方法 | |
CN109284202B (zh) | 控制器及其操作方法 | |
CN107450845B (zh) | 存储器系统及其操作方法 | |
US20150347291A1 (en) | Flash memory based storage system and operating method | |
KR20190106228A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US11537318B2 (en) | Memory system and operating method thereof | |
CN112346656A (zh) | 控制器及其操作方法 | |
KR20190017550A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN109656749B (zh) | 存储器系统及其操作方法 | |
CN110765029B (zh) | 控制器及用于操作该控制器的方法 | |
CN110928805B (zh) | 存储器系统及其操作方法 | |
CN114625673A (zh) | 存储装置及其操作方法 | |
KR20200044461A (ko) | 메모리 시스템 및 그것의 동작방법 | |
US11113202B2 (en) | Operating method forcing the second operation to fail using a scatter-gather buffer and memory system thereof | |
CN109656470B (zh) | 存储器系统及其操作方法 | |
CN110825316A (zh) | 控制器及该控制器的操作方法 | |
KR20200074647A (ko) | 메모리 시스템 및 그것의 동작방법 | |
KR20200068944A (ko) | 메모리 시스템 및 그것의 동작방법 | |
KR20210157544A (ko) | 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법 | |
CN113703662A (zh) | 存储器系统、存储器控制器及其操作方法 | |
CN111755061A (zh) | 检查存储器系统中的存储器装置的操作状态的设备及方法 | |
CN111352858A (zh) | 存储器系统及其操作方法 | |
CN111258920A (zh) | 存储器系统、存储器系统的操作方法和控制器 | |
KR20200121068A (ko) | 데이터 저장 장치 및 이의 동작 방법, 이를 위한 컨트롤러 | |
US11474723B2 (en) | Storage device and operating method thereof |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201201 |