CN110119326A - 数据存储装置及其操作方法 - Google Patents

数据存储装置及其操作方法 Download PDF

Info

Publication number
CN110119326A
CN110119326A CN201811406574.3A CN201811406574A CN110119326A CN 110119326 A CN110119326 A CN 110119326A CN 201811406574 A CN201811406574 A CN 201811406574A CN 110119326 A CN110119326 A CN 110119326A
Authority
CN
China
Prior art keywords
subsegment
ecc
map updating
mapping
volatile 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.)
Granted
Application number
CN201811406574.3A
Other languages
English (en)
Other versions
CN110119326B (zh
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
Hynix Semiconductor 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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN110119326A publication Critical patent/CN110119326A/zh
Application granted granted Critical
Publication of CN110119326B publication Critical patent/CN110119326B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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/1041Resource optimization
    • 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/1041Resource optimization
    • G06F2212/1044Space efficiency 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/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供了一种数据存储装置。该数据存储装置包括:非易失性存储器装置,包括地址映射表,在该地址映射表中存储包括多个逻辑到物理(L2P)条目的多个映射段;以及控制器,控制非易失性存储器装置。控制器包括处理器和存储器,该存储器存储通过处理器驱动的映射更新模块并且对多个映射段执行映射更新。映射更新模块将映射段中的每一个划分成多个子段,通过将多个子段之中作为更新目标的第一子段加载到存储器的映射更新缓冲器中来更新第一子段,并且对多个子段之中作为非更新目标的第二子段进行编码并将编码的第二子段存储在非易失性存储器装置的页面缓冲器中。

Description

数据存储装置及其操作方法
相关申请的交叉引用
本申请要求于2018年2月7日向韩国知识产权局提交的申请号为10-2018-0015283的韩国专利申请的优先权,其通过引用整体并入本文。
技术领域
本发明的各种实施例涉及一种数据存储装置及其操作方法。
背景技术
计算机环境范例已经转变成能够随时随地使用计算机系统的普适计算。因此,诸如移动电话、数码相机以及膝上型计算机的便携式电子设备的使用已经迅速增加。通常,便携式电子设备使用采用存储器装置的数据存储装置。数据存储装置可以用于存储在便携式电子设备中使用的数据。
由于采用存储器装置的数据存储装置不具有机械驱动单元,因此它们具有诸如优良的稳定性和耐用性、高信息访问速度以及低功耗的优点。这种数据存储装置可以包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪存(USF)装置、固态硬盘(SSD)等。
发明内容
实施例提供一种能够有效使用具有有限尺寸的映射更新缓冲器的数据存储装置及其操作方法。
实施例提供一种具有改进的映射更新速率的数据存储装置及其操作方法。
在本公开的实施例中,一种数据存储装置可以包括:非易失性存储器装置,包括地址映射表,在该地址映射表中存储包括多个逻辑到物理(L2P)条目的多个映射段;以及控制器,其被配置成控制非易失性存储器装置。控制器可以包括:处理器,其被配置成控制数据存储装置的全部操作;以及存储器,其被配置成存储被配置成通过处理器驱动的映射更新模块并且对多个映射段执行映射更新。映射更新模块可以将映射段中的每一个划分成多个子段,通过将多个子段之中作为更新目标的第一子段加载到存储器的映射更新缓冲器中来更新第一子段,并且对多个子段之中作为非更新目标的第二子段进行编码并将编码的第二子段存储在非易失性存储器装置的页面缓冲器中。
在本公开的实施例中,一种数据存储装置的操作方法,该方法可以包括:通过从非易失性存储器装置读取多个映射段之中的待更新映射段来对待更新映射段进行解码;对包括在解码的待更新映射段中的多个子段之中的、作为更新目标的第一子段执行更新;并且对多个子段之中的作为非更新目标的第二子段进行编码并且将编码的第二子段存储在非易失性存储器装置的页面缓冲器中。
在本公开的实施例中,一种数据存储装置可以包括:非易失性存储器装置,其包括存储多个映射段的地址映射表,映射段中每一个包括多个映射条目;以及控制器,其包括处理器和映射更新模块,该映射更新模块被配置成由处理器驱动。映射更新模块可以确定是否需要更新多个映射条目中的至少一个映射条目;当确定需要更新至少一个映射条目时,更新在多个映射段之中的目标段中包括的目标子段,映射段中的每一个包括多个子段,子段中的每一个包括多个映射条目,多个子段之中的目标子段和目标段包括至少一个映射条目;对包括在目标段中的、除了目标子段之外的剩余子段进行编码;并且将更新的目标子段和编码的剩余段存储在非易失性存储器装置中。
根据实施例,因为加载到映射更新缓冲器中的映射数据的大小减小,所以可以有效地使用具有有限大小的映射更新缓冲器。
可以并行执行映射更新和映射数据传输,并且因此可以减少映射更新操作所需的时间。
以下在标题为“具体实施方式”的部分中描述这些和其它特征、方面和实施例。
附图说明
通过以下结合附图的详细描述,将更清楚地理解本发明的上述和其它方面、特征和优点,其中:
图1是示出根据本公开的实施例的数据存储装置的框图。
图2是示出根据本公开的实施例的非易失性存储器装置的示图。
图3A是示出根据本公开的实施例的地址映射表的示图。
图3B是示出根据本公开的实施例的L2段的示图。
图4A是示出根据本公开的实施例的存储器的示图。
图4B是示出根据本公开的实施例的存储在存储器中并通过处理器驱动的软件的示图。
图5是示出根据本公开的实施例的错误校正码(ECC)引擎的示图。
图6是示出根据本公开的实施例的将待更新L2段存储在ECC引擎内的ECC存储器中的操作的示图。
图7A和图7B是示出根据本公开的实施例的映射更新操作的进程的示图。
图8A至图8C是示出根据本公开的实施例的映射更新操作的进程的示图。
图9是示出根据本公开的实施例的数据存储装置的操作的流程图。
图10是示出包括根据本公开的实施例的固态硬盘(SSD)的数据处理系统的示图。
图11是示出根据本公开的实施例的控制器的示图。
图12是示出包括根据本公开的实施例的数据存储装置的数据处理系统的示图。
图13是示出包括根据本公开的实施例的数据存储装置的数据处理系统的示图。
图14是示出包括根据本公开的实施例的数据存储装置的网络系统的示图。
具体实施方式
将参照附图更详细地描述本发明的各种实施例。附图是各种实施例(和中间结构)的示意图。因此,将预期由于例如制造技术和/或公差导致的图示的配置和形状的变化。因此,描述的实施例不应被解释为限于本文示出的特定配置和形状,而是可以包括不脱离如所附权利要求中限定的本发明的精神和范围的配置和形状的偏差。在整个公开中,相同附图标记在本公开的各种附图和实施例中表示相同部件。注意的是,对“实施例”的参考不一定意味着仅针对一个实施例,并且对“实施例”的不同参考不一定是针对相同的实施例。
将进一步理解的是,当元件被称为“连接至”或“联接至”另一元件时,它可以直接在另一元件上、连接至或联接至另一元件,或者可能存在一个或多个中间元件。另外,还将理解的是,当元件被称为在两个元件“之间”时,它可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。
本文使用的术语仅用于描述特定实施例的目的,并不旨在限制本发明。
如本文所用,除非上下文另有明确说明,否则单数形式可以包括复数形式,并且反之亦然。
将进一步理解的是,当在本说明书中使用时,术语“包括”、“包括有”、“包含”和“包含有”指定所述元件的存在,但并不排除一个或多个其它元件的存在或添加。如本文所用,术语“和/或”包括一个或多个相关所列项目的任意和所有组合。
在下文中,将参照附图详细描述本发明的各种实施例。
本文参照本发明的理想化实施例的横截面和/或平面图来描述本发明。然而,本发明的实施例不应被解释为限制本发明构思。虽然将示出和描述本发明的一些实施例,但是本领域的普通技术人员将理解的是,在不脱离本发明的原理和精神的情况下,可以对这些实施例进行改变。
图1是示出根据实施例的数据存储装置10的配置示例的框图。图2是示出根据实施例的非易失性存储器装置,例如图1的非易失性存储器装置100的示图。
数据存储装置10可以存储待由诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)、车载信息娱乐系统等的主机装置(未示出)访问的数据。数据存储装置10可以被称为存储器系统。
根据主机接口,数据存储装置10可以实施为各种类型的存储装置中的任意一种,主机接口指的是与主机装置的传输协议。例如,数据存储装置10可以由诸如下列的各种类型的存储装置中的任意一种来实施:固态硬盘(SSD),MMC、eMMC、RS-MMC和微型MMC形式的多媒体卡,SD、迷你-SD和微型-SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-e或PCIe)卡型存储装置,紧凑型闪存(CF)卡,智能媒体卡,记忆棒等。
数据存储装置10可以被制造为各种类型的封装中的任意一种。例如,数据存储装置10可以被制造为诸如下列的各种类型的封装中的任意一种:堆叠封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
参照图1,数据存储装置10可以包括非易失性存储器装置100和控制器200。
控制器200可以包括主机接口(I/F)210、处理器220、存储器230、错误校正码(ECC)引擎240和存储器接口(I/F)250。
主机接口210可以执行主机装置(未示出)和数据存储装置10之间的接口连接。例如,主机接口210可以通过诸如下列的标准传输协议中的任意一种与主机装置通信:USB协议、UFS协议、MMC协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议、串列SCSI(SAS)协议、PCI协议和PCI-e协议。
处理器220可以由微控制单元(MCU)和中央处理单元(CPU)中的一个来实施。处理器220可以处理从主机装置接收的请求。为了处理从主机装置接收的请求,处理器220可以驱动加载到存储器230中的代码类型指令或算法(例如,软件)并且控制内部功能块和非易失性存储器装置100。
存储器230可以由诸如动态RAM(DRAM)或静态RAM(SRAM)的随机存取存储器来实施。存储器230可以存储通过处理器220驱动的软件。存储器230可以存储驱动软件所需的数据(例如,元数据)。例如,存储器230可以用作处理器220的工作存储器。存储器230可以临时存储待从主机装置传输至非易失性存储器装置100的数据或者待从非易失性存储器装置100传输至主机装置的数据。例如,存储器230可以用作数据缓冲存储器或数据高速缓冲存储器。
非易失性存储器装置100可以用作数据存储装置10的存储介质。非易失性存储器装置100的非限制性示例可以根据存储器单元而包括诸如下列的各种类型的非易失性存储器装置中的任意一种:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)层的磁阻随机存取存储器(MRAM)、使用硫属化物合金的相变随机存取存储器(PRAM)和使用过渡金属化合物的电阻随机存取存储器(ReRAM或RRAM)。
参照图2,非易失性存储器装置100可以包括存储器单元阵列110、行解码器120、数据读取和写入(读取/写入)电路130、列解码器140、页面缓冲器150、电压发生器160、控制逻辑170以及输入和输出(I/O)电路180。
存储器单元阵列110可以包括布置在多个字线WL和多个位线BL彼此交叉的区域中的多个存储器单元(未示出)。存储器单元阵列110可以包括多个存储块,并且多个存储块中的每一个可以包括多个页面。
例如,存储器单元阵列110中的存储器单元中的一个可以是下列中的至少一个:存储单个位数据(例如,1位数据)的单层单元(SLC)、存储2位数据的多层单元(MLC)、存储3位数据的三层单元(TLC)以及存储4位数据的四层单元(QLC)。存储器单元阵列110可以包括SLC、MLC、TLC和QLC中的至少一个或多个单元。例如,存储器单元阵列可以包括具有二维(2D)结构的存储器单元或具有三维(3D)结构的存储器单元。
行解码器120可以通过字线WL联接至存储器单元阵列110。行解码器120在控制逻辑170的控制下操作。行解码器120可以解码从外部设备,例如图1的控制器200的存储器接口250提供的行地址,并且基于解码结果来选择并驱动字线WL。行解码器120可以将从电压发生器160提供的字线电压提供至所选择字线WL。
数据读取/写入电路130可以通过位线BL联接至存储器单元阵列110。数据读取/写入电路130可以包括与位线BL相对应的读取/写入电路(未示出)。数据读取/写入电路130可以在控制逻辑170的控制下操作。数据读取/写入电路130可以根据操作模式用作写入驱动器(WD)或读出放大器(SA)。在写入操作中,数据读取/写入电路130可以用作写入驱动器,该写入驱动器将从外部设备提供的数据存储在存储器单元阵列110中。在读取操作中,数据读取/写入电路130可以用作读出放大器,该读出放大器从存储器单元阵列110读出数据。
列解码器140可以在控制逻辑170的控制下操作。列解码器140可以解码从控制器200的存储器接口250提供的列地址。列解码器140可以根据解码结果来联接数据读取/写入电路130的、与位线BL相对应的的读取/写入电路与页面缓冲器150。
页面缓冲器150可以临时存储写入数据或读取数据,该写入数据从控制器200的存储器接口250被接收,并且待通过I/O电路180被存储在存储器单元阵列110中,该读取数据从存储器单元阵列110中被读出,并且待通过I/O电路180被传输至控制器200的存储器接口250。页面缓冲器150可以在控制逻辑170的控制下操作。
电压发生器160可以生成用于非易失性存储器装置100的内部操作的电压。通过电压发生器160生成的电压可以被施加到存储器单元阵列110的存储器单元。在写入操作中生成的写入电压可被施加到待被执行写入操作的存储器单元的字线WL。在擦除操作中生成的擦除电压可以被施加到待被执行擦除操作的存储器单元的阱区域。在读取操作中生成的读取电压可以被施加到待被执行读取操作的存储器单元的字线WL。
控制逻辑170可以基于通过I/O电路180从控制器200的存储器接口250接收的控制信号来控制非易失性存储器装置100的全部操作。例如,控制逻辑170可以根据从存储器接口250接收的读取命令、写入命令和擦除命令来控制非易失性存储器装置100的读取操作、写入操作和擦除操作。
I/O电路180可以被配置成从控制器200的存储器接口250接收命令、地址、数据或者将从存储器单元阵列110读出的数据、根据操作执行的状态信息等提供至控制器200的存储器接口250。I/O电路180可以将从存储器接口250接收的命令和地址输出到控制逻辑170,并且将从存储器接口250接收的数据输出到页面缓冲器150。I/O电路180可以在控制逻辑170的控制下操作。尽管图2中作为示例仅示出了一个I/O电路180,但是可以彼此单独设置输入/输出数据的I/O电路和输入/输出命令、地址、状态信息等的I/O电路。
再次参照图1,地址映射表AMT可以被存储在非易失性存储器装置100中。地址映射表AMT可以存储从主机装置接收的逻辑块地址(在下文中称为逻辑地址)LBA和与逻辑地址LBA相对应的物理块地址(在下文中称为物理地址)PBA之间的映射信息
图3A是示出根据实施例的地址映射表AMT的示例的示图并且图3B是示出根据实施例的一个L2段的示例的示图。
参照图3A,地址映射表AMT可以包括多个映射段S1至Sn。映射段S1至Sn中的每一个可以包括多个逻辑地址LBA1至LBAm以及与多个逻辑地址LBA1至LBAm相对应的多个物理地址PBA1至PBAm。当一个逻辑地址LBA和一个物理地址PBA之间的映射信息称为逻辑到物理(L2P)条目时,映射段S1至Sn中的每一个可以包括m个L2P条目。包括多个L2P条目的映射段可以称为L2段。在下文中,为清楚起见,映射段指的是L2段。
参照图3B,L2段S1至Sn中的每一个可以包括多个子段SS1至SS4。虽然图3B中一个L2段包括四个子段SS1至SS4,但是L2中包括的子段的数量不限于此。例如,L2段可以对应于写入的单位,并且子段可以对应于ECC处理的单位,但是其不限于此。参照图3B,子段SS1至SS4中的每一个可以包括k个逻辑地址。例如,子段SS1包括LBA1至LBAk,子段SS2包括LBAk+1至LBA2k,子段SS3包括LBA2k+1至LBA3k,并且子段SS4包括LBA3k+1至LBAm。
再次参照图3A,可以在特定定时处更新L2段S1至Sn。例如,当P2L条目的数量达到预设阈值时,可以更新L2段S1至Sn。P2L条目的数量可以存储在待存储P2L条目的地址缓冲器(参见图4A的AB)中。更新L2段S1至Sn的定时不限于此。
可以通过将L2段加载到映射更新缓冲器(参见图4A的MUB)中并且基于存储在地址缓冲器AB中的P2L条目来改变与包括在L2段中L2P条目的逻辑地址LBA相对应的物理地址PBA来执行更新。可以通过从非易失性存储器装置100读取L2段来执行将L2段加载到映射更新缓冲器中,其中L2段包括存储在地址缓冲器AB中的P2L条目的逻辑地址LBA。这种进程可以称为映射更新。可以L2段为单位从非易失性存储器装置100读取待更新映射数据。
图4A是示出根据实施例的存储器,例如图1的存储器230的示图。图4B是示出根据实施例的存储在存储器中并通过处理器驱动的软件,例如,存储在存储器230中并通过图1的处理器220驱动的软件的示例。
参照图4A,存储器230可以包括加载闪存转换层FTL的闪存转换层(FTL)区域、地址缓冲器AB、映射更新缓冲器MUB、映射高速缓存缓冲器MCB等。
当非易失性存储器装置100由闪速存储器装置实施时,处理器220可以控制非易失性存储器装置100的固有操作并且驱动软件(即闪存转换层FTL)以提供与主机装置的装置兼容性。通过驱动闪存转换层FTL,主机装置可以识别数据存储装置10并将数据存储装置10用作通用数据存储装置,诸如硬盘驱动器。加载到存储器230的FTL区域中的闪存转换层FTL可以由配置成执行驱动模块所需的各种功能和元数据的模块来配置。闪存转换层FTL可以被存储在非易失性存储器装置100的系统区域(未示出)中,并且可以在数据存储装置10通电时被加载到存储器230中。
参照图4B,闪存转换层FTL可以包括损耗均衡模块WLM、坏块管理模块BBM、垃圾收集模块GCM、地址映射MAP、映射更新模块MUM等。然而,闪存转换层FTL的配置不限于此。
损耗均衡模块WLM可以管理非易失性存储器装置100的存储块的损耗水平。非易失性存储器装置100的存储器单元可以通过重复擦除操作和写入操作而磨损。磨损的存储器单元可能会导致缺陷(例如,物理缺陷)。损耗均衡模块WLM可以管理存储块的擦除/写入(E/W)周期以使其均衡,以便防止特定存储块比其它存储块磨损更快。例如,损耗均衡模块WLM可以管理包括在非易失性存储器装置100中的所有存储块的磨损程度以使其保持相似的水平。
坏块管理模块BBM可以管理非易失性存储器装置100中的存储块之中的缺陷存储块。如上所述,在磨损的存储器单元中可能发生缺陷(例如,物理缺陷)。可能无法正常读出存储在缺陷存储器单元中的数据。数据可能不会被正常地存储在缺陷存储器单元中。坏块管理模块BBM可以管理包括缺陷存储器单元的存储块,以使其不被使用。
垃圾收集模块GCM可以将分散在非易失性存储器装置100的存储块中的所有有效的存储数据收集到一个存储块,并且管理非易失性存储器装置100对无效数据执行擦除操作。
由闪速存储器装置实施的非易失性存储器装置100可能由于结构特征而不支持数据重写。当将数据写入编程的存储器单元中时,可能无法保证存储在相应存储器单元中的数据的可靠性。因此,为了将数据写入编程的存储器单元中,可以对编程的存储器单元执行擦除操作。
由于以存储块为单位对非易失性存储器装置100执行擦除操作,因此可能需要相当长的擦除操作时间。因此,当与待写入地址相对应的存储器单元是编程的时,处理器220可以不在擦除相应存储器单元之后将数据编程在相应存储器单元中。相反,处理器220可以将数据编程在已经处于擦除状态的另一存储器单元中。存储在原始待写入存储器单元中的数据可以是无效数据,存储在其它存储器单元中的数据可以是有效数据。
通过处理器220的这种操作,有效数据和无效数据可能混合在非易失性存储器装置100中。如果需要,处理器220可以通过驱动垃圾收集模块GCM来执行将分散的有效数据收集在一个地点,例如一个存储块中并且擦除无效数据的一系列操作。该系列操作可以称为垃圾收集操作。
地址映射MAP可以存储用于地址转换操作的地址映射信息。当主机装置访问数据存储装置10时,例如当主机装置提供读取请求或写入请求时,主机装置可以将逻辑地址LBA提供至数据存储装置10。闪存转换层FTL可以将提供的逻辑地址LBA转换成非易失性存储器装置100的实际地址,例如物理地址PBA,并且对与转换的物理地址相对应的存储器单元执行读取操作或写入操作。
映射更新模块MUM可以管理在非易失性存储器装置100中存储的地址映射表AMT的L2段S1至Sn。当主机装置将写入请求提供至数据存储装置10时,主机装置可以将待写入逻辑地址提供至数据存储装置10。可以利用地址缓冲器AB内的特定物理地址PBA映射从主机装置接收的待写入逻辑地址LBA并且存储从主机装置接收的待写入逻辑地址LBA。当存储在地址缓冲器AB中的P2L条目的数量达到预设阈值时,映射更新模块MUM可以管理待更新L2段的L2P条目。L2段可以包括P2L条目的逻辑地址LBA。
映射更新模块MUM可以生成映射读取控制信号,该映射读取控制信号指示从非易失性存储器装置100读取L2段之中的待更新L2段。L2段被存储在非易失性存储器装置100的地址映射表AMT中。映射更新模块MUM可以将生成的映射读取控制信号提供至存储器接口250。存储器接口250可以基于映射读取控制信号来生成待提供至非易失性存储器装置100的映射读取命令,并且将生成的映射读取命令提供至非易失性存储器装置100。
非易失性存储器装置100可以响应于映射读取命令,从存储器单元阵列110读取待更新L2段,并且将读取的待更新L2段提供至存储器接口250。存储器接口250可以从非易失性存储器装置100接收待更新L2段,并将待更新L2段提供至ECC引擎240。
映射更新模块MUM可以生成指示对待更新L2段进行解码处理的映射数据解码控制信号,并将映射数据解码控制信号提供至ECC引擎240。
映射更新模块MUM可以生成指示将解码的L2段加载到映射更新缓冲器MUB中的映射数据加载控制信号,并且将生成的映射数据加载控制信号提供至ECC引擎240。映射数据加载控制信号可以包括第一映射数据加载控制信号和第二映射数据加载控制信号。第一映射数据加载控制信号可以指示将解码的L2段中包括的多个子段之中具有L2P条目的待更新部分子段(下文中被称为“第一子段”)加载到映射更新缓冲器MUB中。第二映射数据加载控制信号可以指示将解码的L2段中包括的多个子段全部加载到映射更新缓冲器MUB中。
映射更新模块MUM可以通过下列方式来对L2段执行更新:基于存储在地址缓冲器AB中的P2L条目来改变与加载到映射更新缓冲器MUB中的L2段的所有或部分子段中包括的L2P条目的逻辑地址LBA相对应的物理地址PBA。
映射更新模块MUM可以生成映射数据编码控制信号,并将生成的映射数据编码控制信号提供至ECC引擎240。映射数据编码控制信号可以指示对更新的L2段进行编码处理。映射数据编码控制信号可以包括第一映射数据编码控制信号和第二映射数据编码控制信号。第一映射数据编码控制信号可以指示对L2段的部分子段(例如,第一子段)进行编码处理。第二映射数据编码控制信号可以指示对L2段中除了第一子段之外的剩余子段(例如,作为非更新目标的子段)(下文中被称为“第二子段”)进行编码处理。
映射更新模块MUM可以生成映射数据传输控制信号,并将生成的映射数据传输控制信号提供至ECC引擎240。映射数据传输控制信号可以指示将编码的L2段传输至非易失性存储器装置100。映射数据传输控制信号可以包括用于传输L2段的第一子段的第一映射数据传输控制信号和用于传输第二子段的第二映射数据传输控制信号。
大量的L2P条目可以包括在一个L2段中。在映射更新中,可以L2段为单位来执行通过从非易失性存储器装置100读取映射数据以将映射数据加载到映射更新缓冲器MUB中的操作或者将映射数据写入非易失性存储器装置100中的操作。因此,即使当仅需要更新一个L2段中包括的L2P条目的少数L2P条目时,也可以通过将整个L2段加载到映射更新缓冲器MUB中来执行映射更新,从而可能无法有效使用具有有限尺寸的映射更新缓冲器MUB。
随着非易失性存储器装置100的尺寸增加,映射数据的大小也可能增加,并且映射数据传输时间不可避免地会增加。因此,映射更新操作所需的时间可能增加。
在各种实施例中,映射更新模块MUM可以通过以特定单位对L2段的L2P条目进行分组来将L2段划分成多个子段。映射更新模块MUM可以通过将多个子段之中的、作为更新目标的包括L2P条目的子段加载到映射更新缓冲器MUB中来管理子段(例如,第一子段)使其被映射更新。同时,映射更新模块MUM可以管理作为非更新目标的包括L2P条目的子段(例如,第二子段)使其进行ECC编码并且然后被传输至非易失性存储器装置100。作为对L2P条目进行分组的标准的特定单位可以是ECC处理的单位,但是不限于此。
因此,可以减小加载到映射更新缓冲器MUB中的映射数据的大小,从而可以有效地使用具有有限大小的映射更新缓冲器MUB。可以并行执行映射更新和映射数据传输,因此可以减少映射更新所需的时间。
再次参照图4A,地址缓冲器AB可以存储从主机装置接收的待写入逻辑地址LBA和非易失性存储器装置100存储写入数据的实际地址(例如,物理地址PBA)之间的映射信息。存储在地址缓冲器AB中的地址映射信息可以包括P2L条目。
存储在非易失性存储器装置100的地址映射表AMT中的多个L2段S1至Sn之中待更新的至少一个或多个L2段的全部或部分子段可以被加载到映射更新缓冲器MUB中。可以基于存储在地址缓冲器AB中的P2L条目来改变加载到映射更新缓冲器MUB中的L2段的L2P条目的物理地址PBA。
映射高速缓存缓冲器MCB可以高速缓存与从主机装置最近请求读取的逻辑地址或从主机装置经常请求读取的逻辑地址相对应的映射数据。高速缓存在映射高速缓存缓冲器MCB中的映射数据可以包括L2P段。
再次参照图1,ECC引擎240可以生成待传输至非易失性存储器装置100的数据的奇偶校验数据。生成的奇偶校验数据可以与数据一起被存储在非易失性存储器装置100中。ECC引擎240可以基于奇偶校验数据来检测从非易失性存储器装置100读出的数据的错误,并且在检测到的错误在可校正范围内时校正检测到的错误。
图5是示出根据实施例的错误校正码(ECC)引擎,例如图1的ECC引擎240的示图。图5中示出的ECC引擎240的配置仅仅是示例性的,并且ECC引擎240的配置不限于此。
参照图5,ECC引擎240可以包括输入和输出(I/O)电路241、ECC存储器242、ECC编码器243、ECC解码器244和ECC控制电路245。
ECC引擎240的I/O电路241可以联接至存储器230和存储器接口250。I/O电路241可以接收从存储器230提供的数据或者将解码的数据提供至存储器230。I/O电路241可以将编码的数据提供至存储器接口250或者接收从存储器接口250提供的编码的数据。I/O电路241可以在ECC控制电路245的控制下操作。
ECC存储器242可以临时存储通过I/O电路241从存储器230接收的数据、通过I/O电路241从存储器接口250接收的编码的数据、通过ECC编码器243编码的数据、通过ECC解码器244解码的数据等。I/O电路241可以将从存储器230接收的数据和从存储器接口250接收的编码的数据传输至ECC存储器242以使其存储在ECC存储器242中。I/O电路241可以将从ECC存储器242输出的编码的数据传输至存储器接口250,或者将从ECC存储器242输出的解码的数据传输至存储器230。
ECC编码器243可以编码从存储器230接收的数据。ECC编码器243可以在ECC控制电路245的控制下操作。ECC编码器243可以根据ECC控制电路245的控制,通过获取从存储器230提供并存储在ECC存储器242中的数据来数据进行编码并且将编码的数据再次存储在ECC存储器242中。
ECC解码器244可以对从存储器接口250接收的编码的数据进行解码。ECC解码器244可以在ECC控制电路245的控制下操作。ECC解码器244可以在ECC控制电路245的控制下,通过获取从存储器接口250提供并存储在ECC存储器242中的编码的数据来对编码的数据进行解码,并且将解码的数据存储在ECC存储器242中。
ECC控制电路245可以控制ECC引擎240的全部操作。ECC控制电路245可以基于通过I/O电路241从处理器220接收的操作控制信号来控制ECC引擎240内的功能块,例如ECC存储器242、ECC编码器243、ECC解码器244和I/O电路241的操作。
例如,ECC控制电路245可以根据从通过处理器220驱动的映射更新模块MUM接收的控制信号来控制ECC引擎240内的ECC存储器242、ECC编码器243、ECC解码器244和I/O电路241的操作。
如上所述,从映射更新模块MUM提供至ECC引擎240的控制信号可以包括映射数据解码控制信号、第一映射数据加载控制信号和第二映射数据加载控制信号、第一映射数据编码控制信号和第二映射数据编码控制信号以及第一映射数据传输控制信号和第二映射数据传输控制信号。
当从通过处理器220驱动的映射更新模块MUM接收到映射数据解码控制信号时,ECC控制电路245可以控制ECC解码器244对从存储器接口250提供并存储在ECC存储器242中的待更新L2段的子段执行解码操作。
当从映射更新模块MUM接收到第一映射数据加载控制信号、第二映射数据编码控制信号和第二映射数据传输控制信号时,ECC控制电路245可以控制ECC存储器242输出第一子段,并且控制I/O电路241以将从ECC存储器242输出的第一子段传输至映射更新缓冲器MUB。ECC控制电路245可以控制ECC编码器243对存储在ECC存储器242中的第二子段执行编码操作,并且控制I/O电路241将编码的第二子段传输至存储器接口250。
当从映射更新模块MUM接收到第二映射数据加载控制信号时,ECC控制电路245可以控制ECC存储器242输出第一子段和第二子段,并且控制I/O电路241以将从ECC存储器242输出的第一子段和第二子段传输至映射更新缓冲器MUB。
当从映射更新模块MUM接收到第一映射数据编码控制信号和第一映射数据传输控制信号时,ECC控制电路245可以控制ECC编码器243对从存储器230提供并存储在ECC存储器242中的更新的第一子段执行编码操作,并且控制I/O电路241以将编码的第一子段传输至存储器接口250。
再次参照图1,存储器接口250可以根据处理器220的控制来控制非易失性存储器装置100。存储器接口250可以称为存储器控制器。存储器接口250可以将控制信号提供至非易失性存储器装置100。控制信号可以包括用于控制非易失性存储器装置100的命令、地址等。存储器接口250可以将数据提供至非易失性存储器装置100或者从非易失性存储器装置100接收数据。存储器接口250可以通过包括一个或多个信号线的信道CH联接至非易失性存储器装置100。
存储器接口250可以基于从映射更新模块MUM接收的映射读取控制信号来生成待提供至非易失性存储器装置100的映射读取命令(例如,图6的MRCMD),并且将映射读取命令提供至非易失性存储器装置100。存储器接口250可以基于从映射更新模块MUM接收的映射写入控制信号来生成待提供至非易失性存储器装置100的映射写入命令(例如,图7B的MWCMD),并且将映射写入命令提供至非易失性存储器装置100。
图6是示出从非易失性存储器装置读取待更新L2段并将读取的待更新L2段存储在ECC存储器中的操作的示图。例如,图6示出了从非易失性存储器装置100读取待更新L2段并将读取的待更新L2段存储在ECC引擎240的ECC存储器242中的操作。为清楚起见,假设待更新L2段是图3B的S1,并且将改变物理地址PBA的包括逻辑地址LBA的子段是图3B的SS2。为了简化,图6仅示出图2的非易失性存储器装置100的配置中的部分元件。
参照图6,存储器接口250可以基于从图4B的映射更新模块MUM提供的映射读取控制信号来生成待提供至非易失性存储器装置100的映射读取命令MRCMD,并且将生成的映射读取命令MRCMD提供至非易失性存储器装置100(操作①)。
非易失性存储器装置100的I/O电路180可以接收从存储器接口250提供的映射读取命令MRCMD,并且将映射读取命令MRCMD提供至控制逻辑170。控制逻辑170可以响应于映射读取命令MRCMD控制图2的行解码器120、列解码器140、电压发生器160和数据读取/写入电路130的操作以读取存储在存储器单元阵列110的地址映射表AMT中的L2段S1,并且将读取的L2段S1存储在页面缓冲器中150中(操作②)。控制逻辑170可以控制页面缓冲器150以输出L2段S1并且控制I/O电路180以将从页面缓冲器150输出的L2段S1传输至存储器接口250(操作③)。
存储器接口250可以将从非易失性存储器装置100接收的L2段S1传输至ECC引擎240(操作④)。ECC引擎240的I/O电路241可以接收L2段S1并且输出L2段S1以存储在ECC存储器242中(操作⑤)。
图7A和图7B是示出根据实施例的映射更新操作的进程的示图。具体地,图7A是示出通过下列操作来更新需要更新的子段SS2的进程的示例的示图:将L2段的子段之中需要更新的子段SS2加载到映射更新缓冲器MUB中,并且对剩余子段SS1、SS3和SS4进行编码并且将编码的剩余子段SS1、SS3和SS4存储在非易失性存储器装置100的页面缓冲器150中。图7B是示出下列操作的进程示例的示图:对更新的子段SS2进行编码、将编码和更新的子段SS2存储在非易失性存储器装置100的页面缓冲器150中,并将存储在在页面缓冲器150中的L2段S1存储在存储器单元阵列中。
尽管未在图7A中示出,但是图5中ECC引擎240的ECC控制电路245可以根据从映射更新模块MUM提供的映射数据解码控制信号控制ECC解码器244对存储在ECC存储器242中的L2段S1的子段SS1至SS4执行解码操作。为清楚起见,假设对子段SS1到SS4的解码结果全部是“通过”,即成功。解码的子段SS1至SS4可以被再次存储在ECC存储器242中。
参照7A,ECC控制电路245可以根据从映射更新模块MUM提供的第一映射数据加载控制信号来控制ECC存储器242输出L2段S1的子段SS1至SS4之中的待更新子段SS2(操作①)。ECC控制电路245可以控制I/O电路241将从ECC存储器242输出的子段SS2传输至存储器230的映射更新缓冲器MUB(操作②)。
可以通过映射更新模块MUM的控制来执行对加载到映射更新缓冲器MUB中的子段SS2的更新(操作③)。同时,ECC控制电路245可以基于从映射更新模块MUM提供的第二映射数据编码控制信号和第二映射数据传输控制信号来控制ECC编码器243和I/O电路241以对存储在ECC存储器242中的L2段S1的剩余子段SS1、SS3和SS4执行编码,并且将编码的子段SS1、SS3和SS4传输至存储器接口250(操作③)。
存储器接口250可以将接收的编码的子段SS1、SS3和SS4传输至非易失性存储器装置100(操作④)。非易失性存储器装置100的I/O电路180可以从存储器接口250接收编码的子段SS1、SS3和SS4,并且输出子段SS1、SS3和SS4以存储在页面缓冲器150中(操作⑤)。编码的子段SS1、SS3和SS4可以被存储在页面缓冲器150中的相应位置中。因此,在页面缓冲器150中将存储待更新子段SS2的位置可以处于空状态。当作为非更新目标的子段SS1、SS3和SS4被编码并存储在页面缓冲器150中的同时,可以完成对加载到映射更新缓冲器MUB中的子段SS2的更新。
参照图7B,可以通过映射更新模块MUM的控制将更新的子段SS2传输至ECC引擎240(操作①)。ECC引擎240的I/O电路241可以接收更新的子段SS2并输出更新的子段SS2以存储在ECC存储器242中(操作②)。
ECC控制电路245可以根据从映射更新模块MUM提供的第一映射数据编码控制信号和第一映射数据传输控制信号来控制ECC编码器243和I/O电路241对存储在ECC存储器242中的更新的子段SS2执行编码,并且将编码的子段SS2传输至存储器接口250(操作③)。
存储器接口250可以将编码的子段SS2传输至非易失性存储器装置100(操作④)。非易失性存储器装置100的I/O电路180可以从存储器接口250接收编码的子段SS2,并且输出编码的子段SS2以存储在页面缓冲器150的相应位置中(操作⑤)。
非易失性存储器装置100的页面缓冲器150可以处于存储了所有更新的子段SS2和未更新的剩余子段SS1、SS3和SS4的状态。存储器接口250可以基于从映射更新模块MUM提供的映射写入控制信号来生成待提供至非易失性存储器装置100的映射写入命令MWCMD,并将生成的映射写入命令MWCMD提供至非易失性存储器装置100(操作⑥)。
非易失性存储器装置100的I/O电路180可以从存储器接口250接收映射写入命令MWCMD,并且将接收的映射写入命令MWCMD提供至控制逻辑170。控制逻辑170可以响应于映射写入命令MWCMD,控制行解码器120、列解码器140、电压发生器160和数据读取/写入电路130的操作以将存储在页面缓冲器150中的更新的L2段S1存储在存储器单元阵列110的地址映射表AMT中。
图8A至图8C是示出根据实施例的映射更新操作的进程的示图。具体地,图8A是示出将L2段的所有子段SS1至SS4加载到映射更新缓冲器MUB中的进程的示例的示图。图8B是示出下列进程的示例的示图:对待更新子段SS2执行更新并且同时对剩余子段SS1、SS3和SS4进行编码并将编码的剩余子段SS1、SS3和SS4存储在非易失性存储器装置100的页面缓冲器150中。图8C是示出下列的进程示例的示图:对更新的子段SS2进行编码、将编码和更新的子段SS2存储在非易失性存储器装置100的页面缓冲器150中,并且将存储在页面缓冲器150中的L2段S1存储在存储器单元阵列中。
尽管未在图8A中示出,但是ECC引擎240的ECC控制电路245可以根据从映射更新模块MUM提供的映射数据解码控制信号,控制ECC解码器244对存储在ECC存储器242中的L2段S1的子段SS1至SS4执行解码操作。
参照图8A,ECC控制电路245可以根据从映射更新模块MUM提供的第二映射数据加载控制信号来控制ECC存储器242输出L2段S1的所有子段SS1至SS4(操作①)。ECC控制电路245可以控制I/O电路241以将从ECC存储器242输出的L2段S1的子段SS1至SS4传输至存储器230的映射更新缓冲器MUB(操作②)。
参照图8B,通过映射更新模块MUM的控制,加载到映射更新缓冲器MUB中的L2段S1的子段SS1到SS4之中的作为非更新目标的子段SS1、SS3和SS4可以被再次传输至ECC引擎240并且可以对保留在映射更新缓冲器MUB中的待更新子段SS2执行映射更新(操作①)。ECC引擎240的I/O电路241可以从存储器230接收子段SS1、SS3和SS4,并且输出子段SS1、SS3和SS4以存储在ECC存储器242中(操作②)。
ECC控制电路245可以控制ECC编码器243和I/O电路241以对存储在ECC存储器242中的L2段S1的子段SS1、SS3和SS4执行编码。然后,ECC控制电路245可以基于从映射更新模块MUM提供的第二映射数据编码控制信号和第二映射数据传输控制信号,将编码的子段SS1、SS3和SS4传输至存储器接口250(操作③)。
存储器接口250可以将接收的编码的子段SS1、SS3和SS4传输至非易失性存储器装置100(操作④)。非易失性存储器装置100的I/O电路180可以从存储器接口250接收编码的子段SS1、SS3和SS4,并且输出接收的编码的子段SS1、SS3和SS4以存储在页面缓冲器150中(操作⑤)。编码的子段SS1、SS3和SS4可以被存储在页面缓冲器150的相应位置中。
参照图8C,更新的子段SS2可以通过映射更新模块MUM的控制被传输至ECC引擎240(操作①)。ECC引擎240的I/O电路241可以接收更新的子段SS2并且输出接收的更新的子段SS2以存储在ECC存储器242中。
ECC控制电路245可以根据从映射更新模块MUM提供的第一映射数据编码控制信号和第一映射数据传输控制信号来控制ECC编码器243和I/O电路241对存储在ECC存储器242中的更新的子段SS2执行编码,并且将编码的子段SS2传输至存储器接口250(操作②)。
存储器接口250可以将编码的子段SS2传输至非易失性存储器装置100(操作③)。非易失性存储器装置100的I/O电路180可以从存储器接口250接收编码的子段SS2,并且输出接收的编码的子段SS2以存储在页面缓冲器150的相应位置中(操作④)。
存储器接口250可以基于从映射更新模块MUM提供的映射写入控制信号来生成待提供至非易失性存储器装置100的映射写入命令MWCMD,并将生成的映射写入命令MWCMD提供至非易失性存储器装置100(操作⑤)。
图9是示出根据实施例的数据存储装置的操作方法的流程图。具体地,图9是示出根据实施例的数据存储装置的映射更新方法的流程图。将参照图1至图8C描述根据图9所示的实施例的数据存储装置的操作方法。
在操作S901中,可以从非易失性存储器装置100读取并且编码存储在非易失性存储器装置100的地址映射表(AMT)中的图3A的多个L2段S1至Sn之中的待更新L2段(例如图6的S1)。
可以通过由图1的处理器220驱动的图4A的映射更新模块MUM来执行从非易失性存储器装置100读取待更新L2段S1。例如,映射更新模块MUM可以将指示读取待更新L2段S1的映射读取控制信号提供至图1的存储器接口250。存储器接口250可以基于映射读取控制信号来生成待提供至非易失性存储器装置100的图6的映射读取命令MRCMD,并且将生成的映射读取命令MRWMD提供至非易失性存储器装置100。
图2的非易失性存储器装置100的控制逻辑170可以响应于映射读取命令MRCMD来控制非易失性存储器装置100以读取存储在图2的存储器单元阵列110的地址映射表AMT中的待更新L2段S1,并且将读取的待更新L2段S1传输至存储器接口250。
存储器接口250可以将从非易失性存储器装置100接收的L2段S1提供至图5的ECC引擎240。图5的ECC引擎240的ECC控制电路245可以根据从映射更新模块MUM提供的映射数据解码控制信号控制ECC解码器244对L2段S1执行解码。
在操作S903中,ECC引擎240的ECC控制电路245可以确定从映射更新模块MUM提供的是第一映射数据加载控制信号还是第二映射数据加载控制信号。当提供第一映射数据加载控制信号时(即情况A),进程可以进行到操作S905。当提供第二映射数据加载控制信号时(即情况B),进程可以进行到操作S909。
在操作S905中,ECC引擎240的ECC控制电路245可以控制ECC引擎240以将包括在解码的L2段S1中的多个子段SS1至SS4之中的作为更新目标的第一子段(例如,图7A的SS2)加载到存储器230的映射更新缓冲器MUB。可以通过映射更新模块MUM的控制来对加载到映射更新缓冲器MUB中的第一子段SS2执行映射更新。
在操作S907中,ECC引擎240的ECC控制电路245可以根据从映射更新模块MUM提供的第二映射数据编码控制信号和第二映射数据传输控制信号来控制ECC编码器243对存储在ECC引擎240内的ECC存储器242中的作为非更新目标的第二子段SS1、SS3和SS4执行编码,并且控制I/O电路241将编码的第二子段SS1、SS3和SS4传输至存储器接口250。
存储器接口250可以从ECC引擎240接收编码的第二子段SS1、SS3和SS4,并且将接收的编码的第二子段SS1、SS3和SS4传输至非易失性存储器装置100。非易失性存储器装置100的I/O电路180可以从存储器接口250接收编码的第二子段SS1、SS3和SS4,并且输出接收的编码的第二子段SS1、SS3和SS4以存储在页面缓冲器150的相应位置中。
在操作S909中,ECC引擎240的ECC控制电路245可以控制ECC引擎240以将包括在解码的L2段S1中的多个子段SS1至SS4全部加载到存储器230的映射更新缓冲器MUB中。
在操作S911中,可以通过映射更新模块MUM的控制将在加载到映射更新缓冲器MUB中的多个子段SS1至SS4之中的、除了作为更新目标的第一子段SS2之外的剩余第二子段SS1、SS3和SS4传输至ECC引擎240。
在操作S913中,可以通过映射更新模块MUM的控制来执行对保留在映射更新缓冲器MUB中的第一子段SS2的更新。ECC引擎240的ECC控制电路245可以根据从映射更新模块MUM提供的第二映射数据编码控制信号和第二映射数据传输控制信号,控制ECC编码器243对从存储器230接收的第二子段SS1、SS3和SS4执行编码,并且控制I/O电路241以将编码的第二子段SS1、SS3和SS4传输至存储器接口250。
在执行操作S907或S913之后,可以执行操作S915。在操作S915中,可以通过映射更新模块MUM的控制将完成更新的第一子段SS2从映射更新缓冲器MUB传输至ECC引擎240。ECC控制电路245可以根据从映射更新模块MUM提供的第一映射数据编码控制信号和第一映射数据传输控制信号控制ECC编码器243以对从存储器230接收的更新的第一子段SS2执行编码并且控制I/O控制电路241以将编码的第一子段SS2传输至存储器接口250。
在操作S917中,映射更新模块MUM可以将指示写入更新的L2段S1的映射写入控制信号提供至存储器接口250。存储器接口250可以基于映射写入控制信号来生成待提供至非易失性存储器装置100的映射写入命令MWCMD,并且将生成的映射写入命令MWCMD提供至非易失性存储器装置100。
非易失性存储器装置100的控制逻辑170可以响应于映射写入命令MWCMD控制非易失性存储器装置100将存储在页面缓冲器150中的更新的L2段S1存储在存储器单元阵列110的地址映射表AMT中。
图10是示出根据实施例的数据处理系统2000的示图。参照图10,数据处理系统2000可以包括主机装置2100和固态硬盘(SSD)2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和电源连接器2260。
控制器2210可以控制SSD 2200的全部操作。
缓冲存储器装置2220可以临时存储待存储在非易失性存储器装置2231至223n中的数据。缓冲存储器装置2220可以临时存储从非易失性存储器装置2231至223n读取的数据。临时存储在缓冲存储器装置2220中的数据可以根据控制器2210的控制被传输至主机装置2100或非易失性存储器装置2231到223n。
非易失性存储器装置2231至223n可以用作SSD 2200的存储介质。非易失性存储器装置2231至223n可以通过多个信道CH1至CHn联接控制器2210。一个或多个非易失性存储器装置可以联接至一个信道。联接至一个信道的非易失性存储器装置可以联接至相同的信号总线和相同的数据总线。
电源2240可以将通过电源连接器2260输入的电源PWR提供至SSD 2200的内部。电源2240可以包括辅助电源2241。辅助电源2241可以供应电力以即使发生突然断电也使SSD2200正常终止。辅助电源2241可以包括能够对充电电力PWR的具有大容量的至少一个电容器。
控制器2210可以通过信号连接器2250与主机装置2100交换信号SGL。信号SGL可以包括命令、地址、数据等。根据主机装置2100和SSD 2200之间的接口方法,信号连接器2250可以由各种类型的连接器来配置。
图11是示出图10的控制器2210的示图。根据图11,控制器2210可以包括主机接口单元2211、控制单元2212、随机存取存储器(RAM)2213、错误校正码(ECC)单元2214和存储器接口单元2215。
主机接口单元2211可以根据主机装置2100的协议执行主机装置2100和SSD 2200之间的接口连接。例如,主机接口单元2211可以通过下列中的任何一个与主机装置2100通信:安全数字协议、通用串行总线(USB)协议、多媒体卡(MMC)协议、嵌入式MMC(eMMC)协议、个人计算机存储卡国际协会(PCMCIA)协议、并行高级技术附件(PATA)协议、串行高级技术附件(SATA)协议、小型计算机系统接口(SCSI)协议、串列SCSI(SAS)协议、外围组件互连(PCI)协议、高速PCI(PCI-e或PCIe)协议和通用闪存(UFS)协议。主机接口单元2211可以执行主机装置2100将SSD 2200识别为通用数据存储装置,例如硬盘驱动器HDD的磁盘仿真功能。
控制单元2212可以分析并处理从主机装置2100输入的信号SGL。控制单元2212可以根据用于驱动SSD 2200的固件或软件来控制内部功能块的操作。RAM 2213可以用作用于驱动固件或软件的工作存储器。
ECC单元2214可以生成待传输至非易失性存储器装置2231到223n的数据的奇偶校验数据。生成的奇偶校验数据可以与数据一起被存储在非易失性存储器装置2231至223n中。ECC单元2214可以基于奇偶校验数据来检测从非易失性存储器装置2231至223n读取的数据的错误。当检测到的错误在可校正范围内时,ECC单元2214可以校正检测到的错误。
存储器接口单元2215可以根据控制单元2212的控制将诸如命令和地址的控制信号提供至非易失性存储器装置2231至223n。存储器接口单元2215可以根据控制单元2212的控制与非易失性存储器装置2231至223n交换数据。例如,存储器接口单元2215可以将存储在缓冲存储器装置2220中的数据提供至非易失性存储器装置2231至223n,或者将从非易失性存储器装置2231至223n读取的数据提供至缓冲存储器装置2220。
图12是示出根据实施例的数据处理系统3000的示图。参照图12,数据处理系统3000可以包括主机装置3100和数据存储装置3200。
主机装置3100可以诸如印刷电路板(PCB)的板的形式配置。虽然未在图12中示出,但是主机装置3100可以包括配置为执行主机装置3100的功能的内部功能块。
主机装置3100可以包括连接端子3110,诸如插座、插槽或连接器。数据存储装置3200可以安装到连接端子3110。
数据存储装置3200可以诸如PCB的板的形式配置。数据存储装置3200可以被称为存储器模块或存储卡。数据存储装置3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240和连接端子3250。
控制器3210可以控制数据存储装置3200的全部操作。控制器3210可以被配置为具有与图11中所示的控制器2210相同的配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。临时存储在缓冲存储器装置3220中的数据可以根据控制器3210的控制被传输至主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以用作数据存储装置3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供至数据存储装置3200的内部。PMIC 3240可以根据控制器3210的控制来管理数据存储装置3200的电力。
连接端子3250可以联接至主机装置3100的连接端子3110。通过连接端子3250,可以在主机装置3100和数据存储装置3200之间传输诸如命令、地址、数据的信号和电力。根据主机装置3100和数据存储装置3200之间的接口方法,连接端子3250可以各种形式来配置。连接端子3250可以被布置在数据存储装置3200的任何一侧上。
图13是示出根据实施例的数据处理系统4000的示图。参照图13,数据处理系统4000可以包括主机装置4100和数据存储装置4200。
主机装置4100可以以诸如印刷电路板(PCB)的板的形式配置。虽然未在图13中示出,但是主机装置4100可以包括被配置为执行主机装置4100的功能的内部功能块。
数据存储装置4200可以表面安装型封装的形式配置。数据存储装置4200可以通过焊球4250安装到主机装置4100上。数据存储装置4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制数据存储装置4200的全部操作。控制器4210可以被配置成具有与图11中所示的控制器2210相同的配置。
缓冲存储器装置4220可以临时存储待被存储在非易失性存储器装置4230中的数据。缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读取的数据。临时存储在缓冲存储器装置4220中的数据可以通过控制器4210的控制被传输至主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作数据存储装置4200的存储介质。
图14是示出根据实施例的网络系统5000的示例的示图。参照图14,网络系统5000可以包括通过网络5500联接的服务器系统5300和多个客户端系统5410至5430。
服务器系统5300可以响应于多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可以存储从多个客户端系统5410至5430提供的数据。再例如,服务器系统5300可以将数据提供至多个客户端系统5410至5430。
服务器系统5300可以包括主机装置5100和数据存储装置5200。数据存储装置5200可以由图1的数据存储装置10、图10的数据存储装置2200、图12的数据存储装置3200或图13的数据存储装置4200来配置。
本发明的上述实施例旨在说明而不是限制本发明。各种替代方案和等同方案是可能的。本发明不受本文描述的实施例的限制。本发明也不限于任何特定类型的半导体装置。其它添加、减少或修改对于本发明来说是显而易见的,并且旨在落入所附权利要求的范围内。

Claims (20)

1.一种数据存储装置,包括:
非易失性存储器装置,包括地址映射表,在所述地址映射表中存储包括多个逻辑到物理条目,即L2P条目的多个映射段;以及
控制器,控制所述非易失性存储器装置,
其中所述控制器包括:
处理器,控制所述数据存储装置的全部操作;以及
存储器,存储映射更新模块并且对所述多个映射段执行映射更新,所述映射更新模块通过所述处理器来驱动,
其中,所述映射更新模块:
将所述映射段中的每一个划分成多个子段,
通过将所述多个子段之中的作为更新目标的第一子段加载到所述存储器的映射更新缓冲器中来更新所述第一子段,并且
对所述多个子段之中的作为非更新目标的第二子段进行编码,并且将编码的第二子段存储在所述非易失性存储器装置的页面缓冲器中。
2.根据权利要求1所述的数据存储装置,其中所述控制器进一步包括:
存储器接口,根据所述映射更新模块的控制从所述非易失性存储器装置读取待更新映射段,并将更新的映射段传输至所述非易失性存储器装置;以及
错误校正码引擎,即ECC引擎,根据所述映射更新模块的控制,对所述待更新映射段进行解码并将包括在解码的映射段中的多个子段的全部或一部分传输至所述映射更新缓冲器,并且对更新的子段或未更新的子段进行编码并将编码的子段传输至所述存储器接口。
3.根据权利要求2所述的数据存储装置,其中所述映射更新模块将映射读取控制信号和映射写入控制信号提供至所述存储器接口,所述映射读取控制信号指示读取所述待更新映射段,所述映射写入控制信号指示将所述更新的映射段存储在所述非易失性存储器装置中。
4.根据权利要求3所述的数据存储装置,其中所述存储器接口根据从所述映射更新模块提供的所述映射读取控制信号来生成待提供至所述非易失性存储器装置的映射读取命令并将所述映射读取命令传输至所述非易失性存储器装置,并且根据从所述映射更新模块提供的所述映射写入控制信号来生成待提供至所述非易失性存储器装置的映射写入命令并将所述映射写入命令传输至所述非易失性存储器装置。
5.根据权利要求2所述的数据存储装置,其中所述ECC引擎包括:
输入/输出电路,即I/O电路,执行针对所述存储器和所述存储器接口的输入和输出;
ECC编码器,对更新的第一子段和所述第二子段进行编码;
ECC解码器,对所述待更新映射段进行解码;
ECC存储器,临时存储所述待更新映射段、所述解码的映射段以及编码的第一子段和所述编码的第二子段;以及
ECC控制电路,控制所述ECC引擎的全部操作。
6.根据权利要求5所述的数据存储装置,其中所述映射更新模块将向所述ECC引擎提供:指示将所述第一子段加载到所述映射更新缓冲器中的第一映射数据加载控制信号;指示将包括在所述解码的映射段中的多个子段全部加载到所述所述映射更新缓冲器中的第二映射数据加载控制信号;指示对所述更新的第一子段进行编码的第一映射数据编码控制信号;指示对所述第二子段进行编码的第二映射数据编码控制信号;指示将所述编码的第一子段传输至所述存储器接口的第一映射数据传输控制信号;以及指示将所述第二子段传输至所述存储器接口的第二映射数据传输控制信号。
7.根据权利要求6所述的数据存储装置,其中当从所述映射更新模块提供所述第一映射数据加载控制信号时,所述ECC控制电路控制所述ECC存储器和所述I/O电路仅输出存储在所述ECC存储器中的所述解码的映射段中的所述第一子段,并且将所述第一子段传输至所述映射更新缓冲器。
8.根据权利要求6所述的数据存储装置,其中当从所述映射更新模块提供所述第二映射数据加载控制信号时,所述ECC控制电路控制所述ECC存储器和所述I/O电路输出存储在所述ECC存储器中的所述解码的映射段的所有所述子段,并且将所述子段传输至所述映射更新缓冲器。
9.根据权利要求8所述的数据存储装置,其中所述映射更新模块将存储在所述映射更新缓冲器中的所述第二子段再次传输至所述ECC引擎,并且控制执行对保留在所述映射更新缓冲器中的所述第一子段的更新。
10.根据权利要求6所述的数据存储装置,其中当从所述映射更新模块提供所述第一映射数据编码控制信号和所述第一映射数据传输控制信号时,所述ECC控制电路控制所述ECC编码器和所述I/O电路对所述更新的第一子段进行编码并将编码的更新的第一子段传输至所述存储器接口。
11.根据权利要求6所述的数据存储装置,其中当从所述映射更新模块提供所述第二映射数据编码控制信号和所述第二映射数据传输控制信号时,所述ECC控制电路控制所述ECC编码器和所述I/O电路对所述第二子段进行编码并将所述编码的第二子段传输至所述存储器接口。
12.一种数据存储装置的操作方法,所述数据存储装置包括:非易失性存储器装置,具有地址映射表,在所述地址映射表中存储包括多个逻辑到物理条目,即L2P条目的多个映射段;以及控制器,控制所述非易失性存储器装置,所述方法包括:
通过从所述非易失性存储器装置读取所述多个映射段之中的待更新映射段来对所述待更新映射段进行解码;
对包括在解码的待更新映射段中的多个子段之中的作为更新目标的第一子段执行更新;并且
对所述多个子段之中的作为非更新目标的第二子段进行编码并且将编码的第二子段存储在所述非易失性存储器装置的页面缓冲器中。
13.根据权利要求12所述的方法,其中对所述第一子段执行更新包括:
仅将所述多个子段之中的所述第一子段加载到映射更新缓冲器中;并且
对加载到所述映射更新缓冲器中的所述第一个子段执行更新。
14.根据权利要求13所述的方法,进一步包括,在对所述第一子段执行更新之后,对更新的第一子段进行编码并且将编码和更新的第一子段存储在所述非易失性存储器装置的所述页面缓冲器中。
15.根据权利要求14所述的方法,进一步包括,在将所述编码和更新的第一子段存储在所述页面缓冲器中之后,将存储在所述页面缓冲器中的更新的映射段存储在所述非易失性存储器的所述地址映射表中。
16.根据权利要求12所述的方法,其中对所述第一子段执行更新包括:
将所述多个子段全部加载到映射更新缓冲器中;
将所述映射更新缓冲器中除了所述第一子段之外的所述第二子段传输至所述控制器的错误校正码引擎,即ECC引擎;并且
对保留在所述映射更新缓冲器中的所述第一子段执行更新。
17.根据权利要求16所述的方法,进一步包括:在对所述第一子段执行更新之后,
对更新的第一子段进行编码;
将编码和更新的第一子段存储在所述非易失性存储器装置的所述页面缓冲器中;并且
将存储在所述页面缓冲器中的更新的映射段存储在所述非易失性存储器装置的所述地址映射表中。
18.一种数据存储装置,包括:
非易失性存储器装置,包括存储多个映射段的地址映射表,所述映射段中的每一个包括多个映射条目;以及
控制器,包括处理器和由所述处理器驱动的映射更新模块,
其中所述映射更新模块:
确定是否需要更新所述多个映射条目中的至少一个映射条目;
当确定需要更新所述至少一个映射条目时,更新在所述多个映射段之中的目标段中包括的目标子段,所述映射段中的每一个包括多个子段,所述子段中的每一个包括多个映射条目,所述多个子段之中的所述目标子段和所述目标段包括所述至少一个映射条目;
对包括在所述目标段中的、除了所述目标子段之外的剩余子段进行编码;并且
将更新的目标子段和编码的剩余段存储在所述非易失性存储器装置中。
19.根据权利要求18所述的数据存储装置,其中所述控制器进一步从所述地址映射表读取所述目标段。
20.根据权利要求18所述的数据存储装置,其中
所述多个子段中的每一个对应于错误校正码编码,即ECC编码的单位。
CN201811406574.3A 2018-02-07 2018-11-23 数据存储装置及其操作方法 Active CN110119326B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0015283 2018-02-07
KR1020180015283A KR20190095825A (ko) 2018-02-07 2018-02-07 데이터 저장 장치 및 그것의 동작 방법

Publications (2)

Publication Number Publication Date
CN110119326A true CN110119326A (zh) 2019-08-13
CN110119326B CN110119326B (zh) 2023-08-01

Family

ID=67476716

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811406574.3A Active CN110119326B (zh) 2018-02-07 2018-11-23 数据存储装置及其操作方法

Country Status (3)

Country Link
US (1) US10599581B2 (zh)
KR (1) KR20190095825A (zh)
CN (1) CN110119326B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10725857B2 (en) 2018-02-27 2020-07-28 Western Digital Technologies, Inc. Data storage system for improving data throughput and decode capabilities
KR20200031924A (ko) * 2018-09-17 2020-03-25 삼성전자주식회사 메모리 컨트롤러, 메모리 컨트롤러의 동작 방법 및 메모리 컨트롤러를 포함하는 스토리지 장치
US11237902B2 (en) * 2019-03-15 2022-02-01 Innogrit Technologies Co., Ltd. Systems and methods for an ECC architecture with memory mapping

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530062A (zh) * 2012-07-03 2014-01-22 群联电子股份有限公司 数据存储方法、存储器控制器与存储器存储装置
US20140258588A1 (en) * 2013-03-05 2014-09-11 Western Digital Technologies, Inc. Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive
CN104423894A (zh) * 2013-08-30 2015-03-18 慧荣科技股份有限公司 数据储存装置以及快闪存储器控制方法
US20160357481A1 (en) * 2015-06-08 2016-12-08 Samsung Electronics Co., Ltd. Nonvolatile memory module and storage system having the same
US20160378359A1 (en) * 2015-06-24 2016-12-29 Dae-Hoon Jang Storage device including nonvolatile memory device
CN106557432A (zh) * 2015-09-29 2017-04-05 群联电子股份有限公司 缓冲存储器管理方法、存储器控制电路单元及存储装置
CN107179996A (zh) * 2016-03-10 2017-09-19 爱思开海力士有限公司 数据存储装置和其操作方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) * 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US8335907B2 (en) 2009-12-30 2012-12-18 Sandisk Technologies Inc. Micro-update architecture for address tables
KR101678919B1 (ko) * 2011-05-02 2016-11-24 삼성전자주식회사 메모리 시스템 및 에러 정정 방법
US9013921B2 (en) * 2012-12-06 2015-04-21 Samsung Electronics Co., Ltd. Semiconductor memory device
US9417960B2 (en) * 2013-12-20 2016-08-16 Seagate Technology Llc Preventing programming errors from occurring when programming flash memory cells
CN106170773A (zh) * 2014-01-09 2016-11-30 桑迪士克科技有限责任公司 用于裸芯上缓冲式非易失性存储器的选择性回拷
KR20150091693A (ko) * 2014-02-03 2015-08-12 삼성전자주식회사 플래쉬 메모리 읽기 방법
US9542118B1 (en) * 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
US10353769B2 (en) * 2017-07-25 2019-07-16 Apple Inc. Recovering from addressing fault in a non-volatile memory

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530062A (zh) * 2012-07-03 2014-01-22 群联电子股份有限公司 数据存储方法、存储器控制器与存储器存储装置
US20140258588A1 (en) * 2013-03-05 2014-09-11 Western Digital Technologies, Inc. Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive
CN104423894A (zh) * 2013-08-30 2015-03-18 慧荣科技股份有限公司 数据储存装置以及快闪存储器控制方法
US20160357481A1 (en) * 2015-06-08 2016-12-08 Samsung Electronics Co., Ltd. Nonvolatile memory module and storage system having the same
US20160378359A1 (en) * 2015-06-24 2016-12-29 Dae-Hoon Jang Storage device including nonvolatile memory device
CN106557432A (zh) * 2015-09-29 2017-04-05 群联电子股份有限公司 缓冲存储器管理方法、存储器控制电路单元及存储装置
CN107179996A (zh) * 2016-03-10 2017-09-19 爱思开海力士有限公司 数据存储装置和其操作方法

Also Published As

Publication number Publication date
US20190243775A1 (en) 2019-08-08
US10599581B2 (en) 2020-03-24
CN110119326B (zh) 2023-08-01
KR20190095825A (ko) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110858129B (zh) 数据存储装置及其操作方法
CN108804023B (zh) 数据存储装置及其操作方法
CN103197897B (zh) 存储装置和非易失性存储器装置及其操作方法
CN103971739B (zh) 包括非易失性存储设备的存储系统及其编程方法
CN110399311A (zh) 存储器系统及该存储器系统的操作方法
CN108280033A (zh) 数据存储设备及其操作方法
CN109656472A (zh) 存储器系统及其操作方法
CN107799149A (zh) 数据存储装置及其操作方法
CN110083545A (zh) 数据存储装置及其操作方法
KR20190057887A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN106681652B (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN107179996A (zh) 数据存储装置和其操作方法
CN109656837A (zh) 存储器系统及其操作方法
CN108932107A (zh) 数据存储装置及其操作方法
CN109783008A (zh) 数据存储装置及其操作方法
CN110321069A (zh) 存储器系统及其操作方法
CN109992202A (zh) 数据存储设备、其操作方法以及包括其的数据处理系统
CN109992201A (zh) 数据存储设备及其操作方法
CN110119326A (zh) 数据存储装置及其操作方法
CN111916140A (zh) 控制器及其操作方法以及包括控制器的存储器系统
CN108459978A (zh) 包括非易失性存储器装置的数据存储装置及其操作方法
CN109656470A (zh) 存储器系统及其操作方法
CN110532194A (zh) 存储器系统及其操作方法
CN109240937A (zh) 数据存储装置及其操作方法
CN110389907A (zh) 电子装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant