CN112181285A - 存储器***及其操作方法 - Google Patents

存储器***及其操作方法 Download PDF

Info

Publication number
CN112181285A
CN112181285A CN202010533943.6A CN202010533943A CN112181285A CN 112181285 A CN112181285 A CN 112181285A CN 202010533943 A CN202010533943 A CN 202010533943A CN 112181285 A CN112181285 A CN 112181285A
Authority
CN
China
Prior art keywords
queue
read command
command
logical address
read
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
Application number
CN202010533943.6A
Other languages
English (en)
Inventor
李周映
郑会承
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN112181285A publication Critical patent/CN112181285A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

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)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本文描述了存储器***及其操作方法。一种存储器***,包括:存储器设备;第一队列,适用于对从主机接收的命令进行排队;第二队列,适用于根据先进先出方案将来自第一队列的命令入队,以及将命令出队至存储器设备;以及处理器,适用于:当写入命令的逻辑地址和与第一队列中入队的读取命令相对应的逻辑地址相同时,延迟将读取命令入队至第二队列中,直到成功地执行编程操作,编程操作响应于写入命令而在被执行;以及确定是否将在读取命令之后在第一队列中入队的后续读取命令入队至第二队列中。

Description

存储器***及其操作方法
相关申请的交叉引用
本申请要求于2019年7月5日提交的韩国专利申请号10-2019-0081341的优先权,其通过整体引用合并于此。
技术领域
本发明的各种实施例涉及存储器***,并且更特别地涉及用于提高读取操作性能的存储器***和用于操作该存储器***的方法。
背景技术
计算机环境范例已经转换为普适计算,这使得能够随时随地使用计算***。因此,诸如移动电话、数码相机和膝上型计算机之类的便携式电子设备的使用迅速增加。这些便携式电子设备通常使用具有一个或多个存储器设备的存储器***来存储数据。存储器***可以被用作便携式电子设备的主存储器设备或辅助存储器设备。
与硬盘设备相比,由于存储器***没有移动部件,因此它们提供了出色的稳定性、持久性、高的信息访问速度和低功耗。具有这种优点的存储器***的示例包括通用串行总线(USB)存储器设备、具有各种接口的存储器卡以及固态驱动器(SSD)。
发明内容
本发明的实施例针对一种存储器***,该存储器***可以延迟将具有的逻辑地址与正在被执行的编程操作所在的逻辑地址相同的读取命令入队到命令队列中的操作。
根据本发明的实施例,一种存储器***,包括:存储器设备;第一队列,适用于对从主机接收的命令进行排队;第二队列,适用于根据FIFO方案将来自第一队列的命令入队,以及将命令出队至存储器设备;以及处理器,适用于:当写入命令的逻辑地址和与第一队列中入队的读取命令相对应的逻辑地址相同时,延迟将读取命令入队至第二队列中,直到成功地执行编程操作,编程操作响应于写入命令而在被执行;以及确定是否将在读取命令之后在第一队列中入队的后续读取命令入队至第二队列中。
根据本发明的另一实施例,一种用于操作存储器***的方法包括:将从主机接收的命令排队至第一队列中;将来自第一队列的命令入队至第二队列,并且根据FIFO方案将命令出队至存储器设备;当与写入命令相对应的逻辑地址与第一队列中入队的读取命令的逻辑地址相同时,延迟将读取命令入队至第二队列中,直到成功地执行编程操作,编程操作响应于写入命令而在被执行;以及当读取命令入队至第二队列被延迟时,确定是否将在读取命令之后入队至第一队列中的后续读取命令入队至第二队列中。
根据本发明的另一实施例,一种存储器***,包括:存储器设备,存储器设备包括由各自逻辑地址表示的存储区域;第一队列,被配置为顺序地将从主机接收的第一读取命令和第二读取命令入队;第二队列,根据先进先出(FIFO)方案可操作,并且被配置为顺序地将从第一队列出队的命令入队;以及控制器,被配置为通过将来自第二队列的命令提供给存储器设备,来控制存储器设备执行操作,其中控制器还被配置为:在存储器设备响应于来自第二队列的编程命令执行编程操作时,保持停止将第一读取命令从第一队列中出队和将第一读取命令入队至第二队列,其中与编程命令和第一读取命令相对应的逻辑地址相同;在保持操作期间,将第二读取命令从第一队列中出队,并且将第二读取命令入队至第二队列中;以及当编程操作成功时释放保持。
附图说明
图1是图示根据本发明实施例的包括存储器***的数据处理***的框图。
图2是描述根据现有技术的读取操作的流程图。
图3是图示基于先进先出(FIFO)方案管理队列的方法的图。
图4A是图示根据现有技术的操作中间队列和命令队列的方法的图。
图4B是图示根据本发明实施例的操作中间队列和命令队列的方法的图。
图5A是根据现有技术的编程操作和读取操作的时序图。
图5B是根据本发明实施例的编程操作和读取操作的时序图。
图6图示了当发生编程失败时错误处理操作的复杂度。
图7是描述根据本发明实施例的存储器***的操作的流程图。
图8是图示根据本发明实施例的存储器***的框图。
具体实施方式
下面参考附图更详细地描述本发明的各种实施例。然而,本发明可以以不同的形式实施,并且因此不限于本文中阐述的实施例。而是,提供这些实施例使得本公开透彻和完整,并且向本领域技术人员充分传达本发明的范围。在本公开中,相同的附图标记指代本发明的各个实施例及附图中的相同部件。
注意,对“一个实施例”、“另一实施例”等的引用不一定意味着只有一个实施例,并且对“一个实施例”的不同引用不一定是相同的实施例。
将理解,尽管在本文中可以使用术语“第一”和/或“第二”来标识各种元件,但是这些元件不受这些术语的限制。这些术语仅用于区分一个元件与另一个具有相同或相似名称的元件。例如,一个实例中的第一元件可以被称为另一实例中的第二元件,这指示了元件本身的任何改变。
将理解的是,当一个元件被称为“耦合”或“连接”到另一元件时,它可以被直接耦合或连接到另一元件,或者在它们之间可以存在一个或多个中间元件。相反,应当理解的是,当一个元件被称为“直接耦合”或“直接连接”到另一个元件时,则不存在中间元件。其他解释元件之间关系的表述,诸如“在...之间”、“直接在...之间”、“与...邻近”或“直接与...邻近”应当以相同的方式解释。
本文所使用的术语仅出于描述特定实施例的目的,而无意于进行限制。在本公开中,单数形式也意图包括复数形式,除非上下文另外明确指出。还将理解的是,当在本说明书中使用时,“包括”、“包含”、“具有”等术语指明存在陈述的特征、数字、步骤、操作、元件、部件和/或它们的组合,但不排除存在或添加一个或多个其他特征、数字、步骤、操作、元件、部件和/或它们的组合。
所公开的实施例仅出于理解本发明的目的,而不是限制本发明。如本公开所属领域的技术人员将理解的,根据本公开可以对任何公开的实施例进行在本发明范围内的各种修改。
除非另有定义,否则本文所使用的包括技术和科学术语在内的所有术语具有与本公开所属领域的普通技术人员通常所理解的含义相同。除非在本公开中另有定义,否则不应以理想的或过度正式的方式解释这些术语。
下面参考附图详细描述本发明的各种实施例。
图1是图示根据本发明实施例的包括存储器***110的数据处理***100的框图。
参考图1,数据处理***100可以包括可操作地耦合至存储器***110的主机102。
主机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、SDHC的SD卡、和UFS设备。存储器***110可以被配置作为计算机、智能电话、便携式游戏机的一部分或构成计算***的各种部件中的一种部件。
存储器设备150可以是非易失性存储器设备,其即使无电源供应也可以保留存储的数据。存储器设备150可以存储通过写入操作从主机102提供的数据,并且可以将其中存储的数据通过读取操作输出至主机102。在实施例中,存储器设备150可以包括多个存储器管芯(未示出),并且每个存储器管芯可以包括多个平面(未示出)。每个平面可以包括多个存储器块,每个存储器块可以包括多个页,每个页可以包括耦合至字线的多个存储器单元。在实施例中,存储器设备150可以是具有3维(3D)堆叠结构的闪速存储器。
控制器130可以响应于来自主机102的请求来控制存储器设备150。例如,控制器130可以将从存储器设备150读取的数据提供给主机102,并且将从主机102提供的数据存储到存储器设备150中。对于该操作,控制器130可以控制存储器设备150的读取、写入、编程和擦除操作。
更具体地,控制器130可以包括主机接口(I/F)132、处理器134、存储器接口142和存储器144,它们均经由内部总线可操作地耦合或接合。主机接口132可以包括接口队列138,如下面参考图8所描述。存储器接口142可以包括中间队列136、命令队列146和编程状态管理器148。
主机接口132可以处理主机102的命令和数据。主机接口132可以通过各种接口协议(诸如通用串行总线(USB)、多媒体卡(MMC),***部件高速互连(PCI-E)、小型计算机***接口(SCSI)、串行连接的SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和集成驱动电子设备(IDE))中的一个或多个与主机102通信。主机接口132可以经由固件(即,用于与主机102交换数据的主机接口层(HIL))而被驱动。
存储器接口142可以用作控制器130和存储器设备150之间的存储器/存储接口,使得控制器130可以响应于来自主机102的请求来控制存储器设备150。
接口队列138可以对从主机102提供的命令进行排队。该命令然后根据先进先出(FIFO)方案从接口队列138中被出队。出队的命令被入队到中间队列136中。出队的命令的逻辑地址被映射到物理地址。入队的命令然后从中间队列136中被出队,并且出队的命令被入队到命令队列146中。然后入队的命令从命令队列146中被出队并且被提供给存储器设备150。由存储器设备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执行的后台操作可以包括:复制存储器设备150的存储器块之中的一些存储器块中存储的数据并且将复制的数据存储在其他存储器块中的操作,例如,垃圾收集(GC)操作;在存储器块之间交换数据的操作,例如损耗均衡(WL)操作;将控制器130中存储的映射数据存储在存储器块中的操作,例如映射刷新操作;或者管理存储器设备150的坏块的操作,例如,检测和处理存储器设备150中的存储器块之中的坏块的坏块管理操作。
图2是描述根据现有技术的读取操作的流程图。
在步骤S302中,控制器将从主机提供的读取命令入队至接口队列中。主机向控制器提供读取命令和对应的逻辑地址。控制器将读取命令从接口队列中出队,并且将读取命令入队到中间队列中。
在步骤S304中,控制器基于逻辑地址检查用于读取命令的读取数据是否被缓冲在写入缓冲器中。写入缓冲器临时存储从主机提供的数据,并且可以是用于存储器设备的存储器块的高速缓存。
在步骤S306中,当读取数据未被缓冲在写入缓冲器中时(步骤S304处的“否”),控制器检查读取数据是否可以从物理到逻辑(P2L)信息中被定位。控制器从P2L信息中取回读取数据的物理地址。P2L信息是用于开放块的映射信息。控制器控制存储器设备擦除存储器块,并且将擦除的存储器块分配为开放块,以控制存储器设备将数据编程到该开放块中。相应地,P2L信息包括关于正在被执行编程操作的数据的映射信息。当控制器从P2L信息中定位到读取数据时,即,当控制器从P2L信息中取回读取数据的物理地址时,控制器更新中间队列中入队的读取命令以包括所取回的物理地址。
在步骤S308中,当控制器无法从P2L信息中定位读取数据时(步骤S306处的“否”),控制器从逻辑到物理(L2P)信息中定位读取数据。L2P信息可以是至少被更新一次的映射信息。P2L信息中包括的逻辑地址的数目可以大于用于写入缓冲器中存储的数据的逻辑地址的数目,并且可以小于L2P信息中存储的物理地址的数目。控制器基于L2P信息连续地定位用于读取命令的数据。当从L2P信息中未定位到用于读取命令的数据时(步骤S308处的“否”),由主机请求的数据可能在存储器***中不存在。在那种情况下,控制器向主机提供修整信号以指示所请求的数据在存储器***中不存在。
在步骤S310中,当控制器可以从P2L信息或L2P信息中定位读取数据时(步骤S306处的“是”或步骤S308处的“是”),控制器将读取命令从中间队列中出队,并且根据FIFO方案将读取命令在命令队列CMD QUEUE中入队。然后,控制器通过将读取命令根据FIFO方案从命令队列CMD QUEUE中出队,并且向存储器设备提供出队的读取命令,来控制存储器设备根据该读取命令执行读取操作。
在步骤S312中,存储器设备响应于读取命令执行读取操作。存储器设备读取从P2L信息或L2P信息取回的物理地址中存储的数据,并且将所读取的数据提供给控制器。控制器对所提供的数据执行错误校正操作。
在步骤S314中,控制器向主机提供在步骤S312中读取的数据或从写入缓冲器取回的数据(步骤S304处的“是”)。
图3是图示基于FIFO方案管理队列的方法的图。
FIFO方案可以表示一种按照数据被入队到队列中的顺序将该数据从该队列中出队的方法。参考图3,当第一读取命令R1首先被入队至队列(QUEUE)中并且然后第二读取命令R2被入队至该队列中时,读取命令R1首先从该队列中被出队,然后第二读取命令R2从该队列中被出队。FIFO方案是操作队列的一般方法,并且接口队列、中间队列和命令队列也可以根据FIFO方案进行操作。
由于P2L信息可以包括与正在被编程的数据相对应的映射信息,因此当从P2L信息中取回用于读取命令的数据被存储的位置并且将读取命令排队在命令队列中时,可以对被映射到读取命令逻辑地址的物理地址执行编程操作。
在该情况下,控制器可以不将读取命令从命令队列中出队。
当编程操作失败时,控制器可以控制存储器设备执行将编程失败的数据编程到另一存储器块中的错误处理操作。因此,由于错误处理操作,最初分配给编程失败数据的物理地址可能改变为新分配给编程失败数据且表示另一存储器块的另一物理地址。相应地,当控制器将在命令队列中排队的读取命令出队并且然后成功地执行错误处理操作时,控制器可以基于改变后的物理地址更新读取命令的物理地址,然后再次将其排队在命令队列中。
然而,将读取命令从命令队列中出队、更新出队的读取命令以及重新将更新后的读取命令入队可能会增加错误处理的复杂度。因此,可能存在存储器***的性能下降的问题。
此外,可能发生这样的情况,其中读取命令应当在命令队列中保持排队,直到相关的编程操作成功进行。根据现有技术,由于命令队列在FIFO方案下操作,因此在读取命令保持排队时,在读取命令之后被入队到命令队列中的后续读取命令也应当在命令队列中保持排队。因此,根据现有技术,当针对物理地址(其被映射到与在FIFO命令队列中排队的读取命令相对应的逻辑地址)执行编程操作时,即使后续读取命令与编程操作无关,在读取命令之后被入队到命令队列中的后续读取命令也应当在命令队列中保持排队,直到编程操作成功进行。
根据本发明的实施例,控制器130可以在将读取命令入队到命令队列146中之前,确定针对物理地址(其被映射到与该读取命令相对应的逻辑地址)的编程操作是否正在被执行。当针对物理地址(其被映射到与读取命令相对应的逻辑地址)的编程操作正在被执行时,控制器130可以延迟将读取命令入队到命令队列146中并且使读取命令保持在中间队列136中。当编程操作失败并且因此由于错误处理操作而将最初分配用于编程失败数据的物理地址更改为新分配的物理地址时,在中间队列136中保持排队的读取命令可以被更新以将与读取命令相对应的逻辑地址映射到新分配的物理地址。在错误处理操作成功进行、并且读取命令被更新并因此被链接到新分配的物理地址之后,可以将读取命令入队到命令队列146中。根据本发明的实施例,用以改变物理地址的错误处理操作被执行,然后仅与被映射到正确物理地址的逻辑地址相对应的读取命令被入队在FIFO命令队列146中,并且读取命令从命令队列146中没有被出队以更新物理地址,这降低了错误处理操作的复杂度。
此外,由于针对物理地址(其被映射到与读取命令相对应的逻辑地址)正在执行编程操作,在读取命令在中间队列136中保持排队时,控制器130可以更改中间队列136的出队顺序。在这种情况下在读取命令保持排队时,当针对物理地址(其被映射到与后续读取命令相对应的逻辑地址)未正在执行编程操作时,控制器130可以将在读取命令之后被入队的并且在中间队列136中位于读取命令之前的后续读取命令出队,并且将该后续读取命令入队到命令队列146中。在延迟将读取命令入队到命令队列146中时,响应于后续读取命令执行读取操作。因此,读取操作的整体性能可以被改进。
在本公开中,针对逻辑/物理地址的编程/读取操作或逻辑/物理地址的编程/读取操作意味着将数据编程到存储器设备150的逻辑/物理地址的存储区域中、和/或从存储器设备150的逻辑/物理地址的存储区域中读取数据。
图4A是图示根据现有技术的操作中间队列和命令队列的方法的图。
本文中假定中间队列对第一读取命令R1和第二读取命令R2进行排队,并且在命令队列中排队的写入命令W被提供给存储器设备,并且因此编程操作正在被执行。而且,假定第一读取命令R1的逻辑地址被映射到写入命令W的物理地址。
控制器130向存储器设备提供在命令队列中排队的写入命令W,以控制存储器设备150执行与写入命令W相对应的编程操作。写入命令W的逻辑地址和物理地址分别是第一逻辑地址LA1和第一物理地址PA1,并且控制器130通过将第一物理地址PA1映射到第一逻辑地址LA1来更新P2L信息。
控制器基于P2L信息来定位第一读取命令Rl的读取数据。由于对应于第一读取命令R1的逻辑地址是第一逻辑地址LA1,其与对应于写入命令W的逻辑地址相同,因此控制器130将第一逻辑地址LA1映射到第一物理地址PA1。第二读取命令R2具有被映射到第二物理地址PA2的第二逻辑地址LA2。
在针对写入命令W执行编程操作时,控制器130通过从中间队列中连续地将第一读取命令R1和第二读取命令R2出队,来将第一读取命令R1和第二读取命令R2入队到命令队列中。控制器130将第一读取命令R1在命令队列中保持排队。第一读取命令R1的逻辑地址被映射到写入命令W的物理地址,针对该物理地址的编程操作正在被执行。由于命令队列是基于FIFO方案而***作的,因此即使第二读取命令R2的逻辑地址与正在被执行编程操作的逻辑地址不同,在命令队列中排队在第一读取命令R1后面的第二读取命令R2也会在命令队列中保持排队。因此,仅在针对第一读取命令R1的读取操作被执行之后才执行针对第二读取命令R2的读取操作。
图4B是图示根据本发明的实施例的操作中间队列和命令队列的方法的图。
正如图4A所示,在命令队列146中排队的写入命令W的逻辑地址和物理地址可以分别与在中间队列136中排队的第一读取命令R1的逻辑地址和物理地址相同,并且中间队列136中排队的第二读取命令R2的逻辑地址可以不同于写入命令W的逻辑地址和物理地址。
控制器130可以在将写入命令W提供给存储器设备150之后,将针对写入命令W的逻辑地址写入到存储器144中。存储器144可以存储正在被执行编程操作的逻辑地址的列表。控制器130可以基于列表中是否包括第一读取命令R1和第二读取命令R2的逻辑地址,来确定何时将第一读取命令R1和第二读取命令R2从中间队列136中出队。由于在中间队列136中排队的第一读取命令R1的逻辑地址LA1与写入列表中的写入命令W的逻辑地址LA1相同,因此控制器130可以延迟将读取命令R1入队到命令队列146中。由于第二读取命令R2的逻辑地址LA2未被包括在列表中,因此当第一读取命令R1在中间队列136中保持排队时,控制器130可以将第二读取命令R2从中间队列136中出队并且将其入队到命令队列146中。根据本发明的该实施例,由于通过动态地改变在中间队列136中排队的读取命令的出队顺序,基于FIFO方案操作的命令队列146中被首先入队的第一读取命令的出队时刻被延迟,所以控制器130可以防止出现第二读取命令出队时刻被延迟的问题。
图5A是根据现有技术的编程操作和读取操作的时序图。
图5A所示的时序图按顺序示出了针对图4A中所图示的写入命令以及第一读取命令R1和第二读取命令R2的操作。
控制器130基于写入命令W来控制存储器设备150以执行编程操作。在编程操作期间,控制器130基于FIFO方案将第一读取命令R1从中间队列中出队,并且将第一读取命令R1入队到命令队列中。由于第一读取命令R1的逻辑地址与正在被执行的编程操作所针对的写入命令W的逻辑地址相同,因此控制器130延迟将第一读取命令R1从命令队列中出队直到编程操作完成。在将第一读取命令R1入队到命令队列中之后,控制器130将第二读取命令R2入队到命令队列中。控制器130基于FIFO方案未将第二读取命令R2从命令队列中出队,直到控制器130将第一读取命令R1从命令队列中出队为止。当编程操作完成时,控制器130通过将第一读取命令R1从命令队列中出队来控制存储器设备150执行第一读取操作READ1。控制器130通过基于FIFO方案在将第一读取命令R1出队之后将第二读取命令R2从命令队列中出队,来控制存储器设备150执行第二读取操作READ2。
图5B是根据本发明实施例的编程操作和读取操作的时序图。
图5B所示的时序图按顺序示出了针对图4B所示的写入命令以及第一读取命令R1和第二读取命令R2的操作。
当正在被执行的编程操作所针对的写入命令W的逻辑地址与在中间队列136中排队的第一读取命令R1的逻辑地址相同时,控制器130可以延迟将第一读取命令R1从中间队列136出队。控制器130可以将具有的逻辑地址与编程命令W的逻辑地址不同的第二读取命令R2,先于被首先入队至中间队列136中的第一读取命令R1,从中间队列136中出队。在编程操作的执行期间,控制器130可以将第二读取命令R2入队到命令队列146中,并且控制存储器设备150基于第二读取命令R2执行读取操作READ2。当编程操作完成时,控制器130可以将第一读取命令R1入队到命令队列146中,并且控制存储器设备150基于第一读取命令R1执行读取操作READ1。
根据本发明的该实施例,控制器130通过根据正在被执行的编程操作所针对的写入命令的逻辑地址和在中间队列136中入队的读取命令的逻辑地址是否相同,来改变在中间队列136中入队的读取命令的出队顺序,从而在编程操作被执行时控制存储器150以针对具有的逻辑地址不同于写入命令的逻辑地址的读取命令而执行读取操作。
图6图示了当编程失败发生时错误处理操作的复杂度。
图6图示了示例,其中针对与第一逻辑地址LA1和第一物理地址PA1相对应的写入命令的编程操作失败,然后在执行对由第二物理地址PA2表示的新块NEW BLK再次执行编程操作的错误处理操作之后,该编程操作完成。
根据现有技术,在针对写入命令的编程操作被执行时,控制器130将与写入命令相同的逻辑地址LA1相对应的读取命令READ_CMD入队到命令队列中。控制器130针对读取命令READ_CMD不执行读取操作,直到编程操作完成。当编程操作失败时,控制器将读取命令READ_CMD从命令队列中出队,并且使其等待直到错误处理操作完成。控制器控制存储器设备以执行这次是针对第二物理地址PA2再次执行编程操作的错误处理操作。当错误处理操作被成功执行时,控制器130更新读取命令READ_CMD以将与读取命令READ_CMD相对应的逻辑地址映射到被成功执行错误处理操作的第二物理地址PA2,然后将更新后的读取命令NEWREAD_CMD返回入队到命令队列中。
根据现有技术,当对应于与在命令队列中排队的读取命令READ_CMD相同的逻辑地址的编程操作失败时,控制器130必须将读取命令READ_CMD从命令队列中出队,更新读取命令READ_CMD以具有通过错误处理操作新分配给编程失败数据的物理地址(例如,第二物理地址PA2),以及将更新后的读取命令READ_CMD重新入队到命令队列中。因此,存在在错误处理过程期间发生的复杂度增加的问题。
根据本发明的实施例,控制器130可以延迟将读取命令READ_CMD入队到命令队列146中的操作,该读取命令对应于与正在被执行的编程操作所针对的写入命令相同逻辑地址。控制器130可以通过仅在编程操作被成功执行之后,将读取命令READ_CMD的逻辑地址映射到在其上被成功执行编程操作的物理地址,来将读取命令READ_CMD入队到命令队列146中。因此,由于确保了在命令队列146中排队的读取命令READ_CMD的物理地址的完整性,所以与现有技术相比,可以减少错误处理操作的复杂度。
图7是描述根据本发明实施例的存储器***110的操作的流程图。
在步骤S702中,控制器130可以在第一读取命令将要从中间队列136中被出队时,将第一读取命令的状态CMD STATUS1记录为开始状态START。控制器130可以基于先进先出方案确定何时将读取命令从中间队列136中出队。
在步骤S704中,控制器130可以确定正在被执行的编程操作所针对的并且被存储在存储器144中的逻辑地址LA_PGM与第一读取命令的逻辑地址LA_READ_CMD[1]是否相同。具体而言,控制器130可以将正在被执行的编程操作所针对的逻辑地址LA_PGM的列表存储在存储器144中,并且可以确定列表中包括的任何逻辑地址LA_PGM与第一读取命令的逻辑地址LA_READ_CMD[1]是否相同。
在步骤S706中,当正在对其执行编程操作并且被存储在存储器144中的逻辑地址LA_PGM与第一读取命令的逻辑地址LA_READ_CMD[1]相同时(步骤S704中为“是”),则控制器130可以将第一读取命令的状态CMD STATUS1记录为保持状态HOLD。根据本发明的实施例,控制器130可以设置标志FLAG以确定第一读取命令的状态。
在步骤S708中,当第一读取命令的状态为HOLD时,控制器130可以延迟将第一读取命令入队到命令队列146中。
在步骤S714中,控制器130可以确定是否将一个或多个后续读取命令出队。在将第一读取命令的状态记录为HOLD之后,控制器130可以确定是否将达阈值数目TH的后续读取命令出队。阈值数目TH可以不限于特定值。而是,阈值数目TH可以是通过执行仿真或测试而被确定的预定值。仿真或测试的结果可以取决于存储器***110的性能、功率和规格。控制器130可以返回到步骤S702,并且将第一读取命令的状态CMD STATUS1改变为开始状态START。然后,控制器130可以在步骤S704中确定是否将第一读取命令出队。
在步骤S716中,控制器130可以确定正在被执行的编程操作所针对的逻辑地址LA_PGM与“第i”读取命令的逻辑地址LA_READ_CMD[i]是否相同。
在步骤S718中,当正在被执行的编程操作所针对的逻辑地址LA_PGM与“第i”读取命令的逻辑地址LA_READ_CMD[i]不同(步骤S716中为“否”)时,控制器130可以基于P2L信息或L2P信息通过将“第i”读取命令的逻辑地址LA_READ_CMD[i]映射到从P2L信息或L2P信息中取回的物理地址来定位读取数据。
在步骤S720中,控制器130可以将“第i”读取命令先于第一读取命令入队到命令队列146中,第一读取命令先于“第i”读取命令被入队至中间队列136中。控制器130可以在第一读取命令保持在中间队列136中时向存储器设备150提供“第i”读取命令,使得在针对第一读取命令的读取操作之前,执行响应于“第i”读取命令的读取操作。
例如,当阈值TH为“2”时,控制器130可以将第一读取命令的状态CMD STATUS1写为保持状态HOLD,并且使第一读取命令在中间队列136中保持排队。随后,控制器130可以针对第二读取命令R_CMD[2]和第三读取命令R_CMD[3]执行步骤S716至S720的操作,第二读取命令和第三读取命令是在第一读取命令之后被入队至中间队列136中的读取命令。随后,控制器可以返回到将第一读取命令的状态CMD STATUS1改变为开始状态START的步骤。然后,控制器130可以再次执行用于确定是否将第一读取命令出队的步骤的操作。
在步骤S710中,当正在被执行的编程操作所针对的逻辑地址LA_PGM与第一读取命令的逻辑地址LA_READ_CMD[1]不同时(步骤S704中的“否”),控制器130可以基于P2L信息或L2P信息通过将第一读取命令的逻辑地址LA_READ_CMD[1]映射到从P2L信息或L2P信息中取回的物理地址,来定位读取数据。
在步骤S712中,控制器130可以将第一读取命令入队到命令队列146中。控制器130可以向存储器设备150提供来自命令队列146的第一读取命令,并且可以控制存储器设备150根据所提供的第一读取命令执行读取操作。
图8是图示根据本发明实施例的存储器***110的框图。
图8仅示出了与以下描述的本发明方面有关的元件。
控制器130可以包括主机接口132、处理器134、存储器144和存储器接口142。主机接口132可以包括接口队列138。存储器接口142可以包括中间队列136、命令队列146和编程状态管理器148。
接口队列138可以将从主机102提供的读取命令R_CMD和写入命令W_CMD入队。接口队列138可以基于FIFO方案来操作,并且入队的读取命令可以从接口队列138中被出队并且被入队到中间队列136中。
中间队列136可以将从接口队列138中被出队的读取命令排队,并且将读取命令出队到命令队列146中。基本上,中间队列136可以基于FIFO方案进行操作,但是如下所述,当正在被执行的编程操作所针对的写入命令的逻辑地址与在中间队列136中排队的读取命令的逻辑地址相同时,命令被出队的顺序可以被改变。
编程状态管理器148可以将正在被执行的编程操作所针对的写入命令的逻辑地址INFO_PGM存储在存储器144中。编程状态管理器148可以将正在被执行的编程操作所针对的写入命令的逻辑地址的列表存储在存储器144中,并且从列表中删除编程操作完成了的写入命令的逻辑地址。例如,编程状态管理器148可以响应于从存储器设备150提供的通过信号SIG_PASS,从列表中删除写入命令的逻辑地址。当从存储器设备150提供失败信号SIG_FAIL时,编程状态管理器148可以将写入命令的逻辑地址保持在列表中。
处理器134可以确定是否将读取命令从中间队列136中出队。在读取命令将要从中间队列136中被出队时,处理器134可以确定存储器144中存储的列表中是否包括读取命令的逻辑地址。当读取命令的逻辑地址与正在被执行的编程操作所针对的写入命令的逻辑地址相同时,处理器134可以延迟将读取命令入队到命令队列146中。然后,处理器134可以确定是否将后续读取命令基于阈值从中间队列136中出队,达到该阈值的数目的后续读取命令的可以被出队。在这种确定之后,处理器134可以确定是否将延迟的读取命令出队。
当读取命令的逻辑地址未被包括在列表中时,处理器134可以将该逻辑地址映射到物理地址,然后将读取命令从中间队列136中出队,并且将该读取命令入队到命令队列中146中。
根据本发明的实施例,当正在被执行的编程操作所针对的写入命令的逻辑地址与在中间队列136中排队的读取命令的逻辑地址相同时,处理器134可以延迟将读取命令入队到命令队列146中的操作并且更改排队顺序,使得针对后续读取命令先执行读取操作。这种操作可以有利地改进读取操作的性能。而且,处理器134可以在编程操作被成功执行之后,将读取命令的逻辑地址映射到在其上被成功执行编程操作的物理地址,然后将读取命令入队到命令队列146中。这种操作可以有利地减少相关联的错误处理操作的复杂度。
根据本发明的实施例,存储器***可以延迟将具有的逻辑地址与在其上正在被执行编程操作的逻辑地址相同的读取命令入队到命令队列中的操作,以改进读取操作的性能,并且降低错误处理操作的复杂度。
尽管已经关于特定实施例说明和描述了本发明,但是在不脱离本发明的精神和范围的情况下,可以进行各种改变和修改,这对于本领域技术人员是显而易见的。本发明涵盖落入权利要求范围内的所有这种改变和修改。

Claims (20)

1.一种存储器***,包括:
存储器设备;
第一队列,适用于对从主机接收的命令进行排队;
第二队列,适用于根据先进先出方案将来自所述第一队列的所述命令入队,以及将所述命令出队至所述存储器设备;以及
处理器,适用于:
当写入命令的逻辑地址和与所述第一队列中入队的读取命令相对应的逻辑地址相同时,延迟将所述读取命令入队至所述第二队列中,直到编程操作被成功执行,所述编程操作响应于所述写入命令而在被执行;以及
确定是否将在所述读取命令之后在所述第一队列中入队的后续读取命令入队至所述第二队列中。
2.根据权利要求1所述的存储器***,进一步包括:存储器,适用于存储正在被执行的所述编程操作所针对的所述写入命令的逻辑地址的列表。
3.根据权利要求2所述的存储器***,进一步包括:编程状态管理器,适用于向所述处理器提供将所述第一队列中入队的所述读取命令的所述逻辑地址与所述列表中的所述逻辑地址进行比较的比较结果。
4.根据权利要求3所述的存储器***,其中当所述后续读取命令的所述逻辑地址与所述列表中的所述逻辑地址不同时,所述处理器将所述后续读取命令入队至所述第二队列中。
5.根据权利要求4所述的存储器***,其中在所述编程操作正在被执行时,所述处理器控制所述存储器设备根据所述后续读取命令来执行读取操作。
6.根据权利要求1所述的存储器***,其中当延迟将所述读取命令入队至所述第二队列中,并且然后确定了是否将后续读取命令入队至所述第二队列中时,所述处理器确定是否将所述读取命令入队至所述第二队列中。
7.根据权利要求6所述的存储器***,其中当所述读取命令的所述逻辑地址和所述写入命令的所述逻辑地址相同时,所述处理器将所述读取命令的状态记录为保持状态。
8.根据权利要求7所述的存储器***,其中当确定是否将所述后续读取命令入队至所述第二队列中时,所述处理器将所述读取命令的所述状态改变为开始状态。
9.根据权利要求1所述的存储器***,其中当所述编程操作失败时,所述处理器控制所述存储器设备执行对新的正常存储器块执行所述编程操作的错误处理操作。
10.根据权利要求9所述的存储器***,其中当所述错误处理操作被成功执行时,所述处理器将所述读取命令的所述逻辑地址映射到所述新的正常存储器块的物理地址。
11.一种用于操作存储器***的方法,包括:
将从主机接收的命令排队至第一队列中;
将来自所述第一队列的所述命令入队至第二队列中,并且根据先进先出方案将所述命令出队至存储器设备;
当与写入命令相对应的逻辑地址与所述第一队列中入队的读取命令的逻辑地址相同时,延迟将所述读取命令入队至所述第二队列中,直到编程操作被成功执行,所述编程操作响应于所述写入命令而在被执行;以及
当延迟将所述读取命令入队至所述第二队列中时,确定是否将在所述读取命令之后在所述第一队列中入队的后续读取命令入队至所述第二队列中。
12.根据权利要求11所述的方法,进一步包括:存储正在被执行的所述编程操作所针对的所述写入命令的逻辑地址的列表。
13.根据权利要求12所述的方法,进一步包括:输出将所述第一队列中入队的所述读取命令的所述逻辑地址与所述列表中的所述逻辑地址进行比较的比较结果。
14.根据权利要求13所述的方法,其中确定是否将所述后续读取命令入队至所述第二队列中包括:当所述后续读取命令的所述逻辑地址与所述列表中的所述逻辑地址不同时,将所述后续读取命令入队至所述第二队列中。
15.根据权利要求14所述的方法,进一步包括:当所述后续读取命令被入队在所述第二队列中时,在所述编程操作正在被执行时,根据所述后续读取命令执行读取操作。
16.根据权利要求11所述的方法,进一步包括:当延迟将所述读取命令入队至所述第二队列中,并且然后确定了是否将后续读取命令入队至所述第二队列中时,确定是否将所述读取命令入队至所述第二队列中。
17.根据权利要求16所述的方法,其中延迟将所述读取命令入队至所述第二队列中的操作直到所述编程操作被成功执行包括:当所述读取命令的所述逻辑地址和所述写入命令的所述逻辑地址相同时,将所述读取命令的状态记录为保持状态。
18.根据权利要求17所述的方法,进一步包括:当确定是否将所述后续读取命令入队至所述第二队列中时,将所述读取命令的所述状态改变为开始状态。
19.根据权利要求11所述的方法,进一步包括:当所述编程操作失败时,执行对新的正常存储器块执行所述编程操作的错误处理操作。
20.根据权利要求19所述的方法,进一步包括:当所述错误处理操作被成功执行时,将所述读取命令的所述逻辑地址映射到所述新的正常存储器块的物理地址。
CN202010533943.6A 2019-07-05 2020-06-12 存储器***及其操作方法 Withdrawn CN112181285A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0081341 2019-07-05
KR1020190081341A KR20210004629A (ko) 2019-07-05 2019-07-05 메모리 시스템 및 그것의 동작방법

Publications (1)

Publication Number Publication Date
CN112181285A true CN112181285A (zh) 2021-01-05

Family

ID=73919528

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010533943.6A Withdrawn CN112181285A (zh) 2019-07-05 2020-06-12 存储器***及其操作方法

Country Status (3)

Country Link
US (1) US11556276B2 (zh)
KR (1) KR20210004629A (zh)
CN (1) CN112181285A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11113213B2 (en) 2019-12-30 2021-09-07 Micron Technology, Inc. Determining write commands for deletion in a host interface
CN113742255B (zh) * 2021-08-26 2023-08-08 合肥康芯威存储技术有限公司 一种无效标记命令的处理方法、***及数据存储设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177989B1 (en) * 2003-12-31 2007-02-13 Intel Corporation Retry of a device read transaction
KR102391493B1 (ko) * 2015-12-31 2022-04-28 에스케이하이닉스 주식회사 반도체 장치와 연결된 컨트롤러 및 그것의 동작 방법
KR20180014994A (ko) * 2016-08-02 2018-02-12 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR20180080589A (ko) 2017-01-04 2018-07-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR20180090124A (ko) * 2017-02-02 2018-08-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10282250B1 (en) * 2017-10-16 2019-05-07 Cadence Design Systems, Inc. Apparatus and method for a coherent, efficient, and configurable cyclic redundancy check retry implementation for synchronous dynamic random access memory
KR20190042970A (ko) * 2017-10-17 2019-04-25 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
KR102654308B1 (ko) * 2018-11-26 2024-04-04 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR20200120113A (ko) * 2019-04-11 2020-10-21 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR20200137244A (ko) * 2019-05-29 2020-12-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법

Also Published As

Publication number Publication date
KR20210004629A (ko) 2021-01-13
US20210004180A1 (en) 2021-01-07
US11556276B2 (en) 2023-01-17

Similar Documents

Publication Publication Date Title
US8984219B2 (en) Data storage device and method of writing data in the same
JP2009048613A (ja) ソリッドステートメモリ、それを含むコンピュータシステム及びその動作方法
CN113168374A (zh) 写入命令在分区命名空间中的保持
US11334493B2 (en) Memory system and operating method thereof
CN114371812B (zh) 控制器及其操作方法
US20220138096A1 (en) Memory system
KR20200020464A (ko) 데이터 저장 장치 및 그 동작 방법
CN112347005A (zh) 存储器***及其操作方法
CN112015329A (zh) 存储***及其操作方法
CN107045423B (zh) 存储器装置及其数据存取方法
CN117043753A (zh) Zns设备中的不同写入优先级
CN111813328A (zh) 存储器***及其操作方法
KR20200114212A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN112181285A (zh) 存储器***及其操作方法
US10684953B2 (en) Data storage apparatus capable of varying map cache buffer size
KR20210144249A (ko) 저장 장치 및 이의 동작 방법
CN112825025A (zh) 控制器及其操作方法
US20200327069A1 (en) Data storage device and operation method thereof, controller using the same
US20110087828A1 (en) Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof
CN108804338B (zh) 数据存储装置及其操作方法
EP3929753A1 (en) Storage device for classifying data based on stream class number and operating method thereof
US20210042257A1 (en) Data processing system and operating method thereof
CN115080457A (zh) 控制器及其操作方法
US20080109588A1 (en) Memory Card and Method of Driving the Same
CN113311991B (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20210105

WW01 Invention patent application withdrawn after publication