CN110196817B - 数据存储装置及该数据存储装置的操作方法 - Google Patents

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

Info

Publication number
CN110196817B
CN110196817B CN201910138695.2A CN201910138695A CN110196817B CN 110196817 B CN110196817 B CN 110196817B CN 201910138695 A CN201910138695 A CN 201910138695A CN 110196817 B CN110196817 B CN 110196817B
Authority
CN
China
Prior art keywords
read count
read
address
data
data storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910138695.2A
Other languages
English (en)
Other versions
CN110196817A (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
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
Priority claimed from KR1020190013309A external-priority patent/KR20190102998A/ko
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN110196817A publication Critical patent/CN110196817A/zh
Application granted granted Critical
Publication of CN110196817B publication Critical patent/CN110196817B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • 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
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • 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/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • 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/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种用于控制非易失性存储器装置的控制器,该控制器包括:读取计数表,包括多个读取计数数据,其中每个读取计数数据包括一个数据存储区域的读取计数值;读取计数地址表,包括读取计数地址,该读取计数地址指示存储读取计数数据的存储器区域的地址;闪存转换层(FTL),控制非易失性存储器装置的操作,并且管理读取计数表和读取计数地址表;以及闪存接口层(FIL),控制FTL和非易失性存储器装置之间的数据通信,并且当对数据存储区域执行了读取操作时,基于读取计数地址来更新读取计数值。

Description

数据存储装置及该数据存储装置的操作方法
相关申请的交叉引用
本申请要求于2018年2月27日向韩国知识产权局提交的申请号为10-2018-0023690的韩国申请以及于2019年2月1日向韩国知识产权局提交的申请号为10-2019-0013309的韩国申请的优先权,这两个韩国申请通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种半导体装置。特别地,实施例涉及一种数据存储装置及该数据存储装置的操作方法。
背景技术
通常,存储器装置可以被分类为易失性存储器和非易失性存储器,其中易失性存储器在电力供应被中断时丢失存储在其中的数据,而非易失性存储器即使在电力供应被中断时也保留存储在其中的数据。包括这种存储器装置的数据处理系统需要控制器,该控制器根据来自外部主机装置的诸如写入请求、读取请求或擦除请求的请求来控制存储器装置。此外,由于存储数据的存储器单元的物理特性,存储器装置的诸如下列操作的次数受到限制:用于存储数据的写入操作、用于读取存储的数据的读取操作以及用于擦除存储的数据的擦除操作。这种限制被称为存储器装置的耐久性。在循环日志记录方法中,当在存储器系统启动之后发生安全关机时,逻辑块地址(LBA)映射表的一部分可被改变以刷新整个LBA映射表。在这种情况下,由于存储器装置的E/W计数增加,因此存储器装置的耐久性可能受到影响。
发明内容
各个实施例涉及一种能够保持闪存转换层(FTL)和闪存接口层(FIL)之间的独立性的数据存储装置。
在本公开的实施例中,一种用于控制非易失性存储器装置的控制器包括:读取计数表,包括多个读取计数数据,其中每个读取计数数据包括一个数据存储区域的读取计数值;读取计数地址表,包括读取计数地址,该读取计数地址指示存储读取计数数据的存储器区域的地址;闪存转换层(FTL),被配置为控制非易失性存储器装置的操作,并且管理读取计数表和读取计数地址表;以及闪存接口层(FIL),被配置为控制FTL和非易失性存储器装置之间的数据通信,并且当对数据存储区域执行了读取操作时,基于读取计数地址来更新读取计数值。
在本公开的实施例中,提供一种控制器的操作方法,以控制非易失性存储器装置的操作,该控制器包括FTL和FIL,该操作方法包括:由FIL向FTL请求读取计数地址,该读取计数地址指示存储读取计数数据的存储器区域的地址,该读取计数数据包括非易失性存储器装置中包括的多个数据存储区域之中的、已经执行了读取操作的数据存储区域的读取计数值;根据FIL的请求,由FTL将读取计数地址传送至FIL;并且由FIL基于从FTL接收的读取计数地址来更新数据存储区域的读取计数值。
在本公开的实施例中,提供一种存储器系统,该存储器系统包括:存储器装置,被配置为对读取目标区域执行读取操作;存储器,被配置为加载具有以下字段的读取计数表:读取计数地址、读取目标区域的地址和读取目标区域的读取计数;接口,被配置为提供包括读取目标区域的地址的信息的请求;以及控制逻辑,被配置为响应于请求,向接口提供与读取目标区域的地址的信息对应的读取计数地址的信息,其中接口更新与读取计数地址的信息对应的读取目标区域的读取计数的信息,并且其中控制逻辑根据读取目标区域的读取计数的信息来控制存储器装置对读取目标区域执行读取回收操作。
附图说明
图1示出根据实施例的数据存储装置的配置。
图2示出图1的存储器的配置。
图3是用于描述根据实施例的数据存储区域的示图。
图4是用于描述根据实施例的数据存储装置的操作的示图。
图5是用于描述根据实施例的数据存储装置的操作的流程图。
图6示出包括根据实施例的固态硬盘(SSD)的数据处理系统。
图7示出图6的控制器的配置。
图8示出包括根据实施例的数据存储装置的数据处理系统。
图9示出包括根据实施例的数据存储装置的数据处理系统。
图10示出包括根据实施例的数据存储装置的网络系统。
图11是示出根据实施例的数据存储装置中包括的非易失性存储器装置的框图。
具体实施方式
下面参照附图更详细地描述各个实施例。然而,注意的是,本发明可以不同的形式和变型来实施,并且不应被解释为限于本文阐述的实施例。而是,提供描述的实施例使得本公开将是彻底且完整的,并且将本发明完全传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中指代相同的部件。注意的是,对“实施例”的参考不一定仅指一个实施例,并且对“实施例”的不同参考不一定针对相同实施例。
将理解的是,虽然本文可以使用术语“第一”、“第二”、“第三”等来描述各个元件,但是这些元件不受这些术语限制。这些术语用于将一个元件与另一元件区分开。因此,在不脱离本发明的精神和范围的情况下,下面描述的第一元件也可以被称为第二元件或第三元件。
将进一步理解的是,当元件被称为“连接至”或“联接至”另一元件时,该元件可以直接在另一元件上、连接至或联接至另一元件,或者可以存在一个或多个中间元件。另外,还将理解的是,当元件被称为在两个元件“之间”时,该元件可以是两个元件之间的唯一元件,或者也可以存在一个或多个中间元件。除非另有声明或上下文另有说明,否则无论是直接连接/联接还是间接连接/联接,两个元件之间的通信可以是有线的或无线的。
如本文所使用的,除非上下文另有明确说明,否则单数形式也可以包括复数形式,反之亦然。除非另有说明或从上下文清楚地指明单数形式,否则本申请和所附权利要求中使用的冠词“一”和“一个”通常应被解释为表示“一个或多个”。
将进一步理解的是,当在本说明书中使用时,术语“包括”、“包括有”、“包含”和“包含有”指定所述元件的存在并且不排除一个或多个其它元件的存在或添加。如本文所使用的,术语“和/或”包括一个或多个相关所列项目的任何和所有组合。
在下文中,将参照附图通过各个实施例描述根据本公开的数据存储装置及该数据存储装置的操作方法。
图1示出根据实施例的数据存储装置10的配置。
参照图1,根据本实施例的数据存储装置10可以存储可由诸如移动电话、MP3播放器、膝上型计算机、台式计算机、游戏机、TV或车载信息娱乐系统的主机装置20访问的数据。数据存储装置10可以被称为存储器系统。
根据联接至主机装置20的接口协议,数据存储装置10可以被制造为各种类型的存储装置中的任意一种。例如,数据存储装置10可以被配置为包括下列的各种类型的存储装置中的任意一种:固态硬盘(SSD),诸如MMC、eMMC、RS-MMC或微型-MMC的多媒体卡,诸如SD、迷你-SD或微型-SD的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡式存储装置,外围组件互连(PCI)卡式存储装置,高速PCI(PCI-E)卡式存储装置,紧凑型闪存(CF)卡,智能媒体卡和记忆棒。
数据存储装置10可以被制造为各种类型的封装中的任意一种。例如,数据存储装置10可以被制造为诸如下列的各种类型的封装中的任意一种:堆叠式封装(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)封装、晶圆级制造封装(WFP)和晶圆级堆叠封装(WSP)。
数据存储装置10可以包括非易失性存储器装置100和控制器200。
非易失性存储器装置100可以作为数据存储装置10的存储介质而操作。根据存储器单元,非易失性存储器装置100可以被配置为包括下列的各种类型的非易失性存储器装置中的任意一种:NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容器的铁电RAM(FRAM)、使用隧道磁阻(TMR)膜的磁性RAM(MRAM)、使用硫族化物合金的相变RAM(PRAM)以及使用过渡金属氧化物的电阻式RAM(ReRAM)。
图1的实施例示出数据存储装置10包括一个非易失性存储器装置100。然而,这仅是为了便于描述的示例,并且数据存储装置10可以包括多个非易失性存储器装置。本实施例可以相同的方式应用于包括多个非易失性存储器装置的数据存储装置10。
非易失性存储器装置100可以包括存储器单元阵列(未示出),该存储器单元阵列具有布置在多个位线(未示出)和多个字线(未示出)之间的各个交叉点的多个存储器单元。存储器单元阵列可以包括多个存储块,并且每个存储块可以包括多个页面。
例如,存储器单元阵列的每个存储器单元可以是被配置为存储一位数据的单层单元(SLC)或者被配置为存储两位或更多位数据的多层单元(MLC)。MLC可以存储两位数据、三位数据、四位数据等。通常,用于存储两位数据的存储器单元可以被称为MLC,用于存储三位数据的存储器单元可以被称为三层单元(TLC),并且用于存储四位数据的存储器单元可以被称为四层单元(QLC)。然而,为了便于描述,在本实施例中,用于存储两位数据、三位数据以及四位数据的存储器单元可以统称为MLC。
存储器单元阵列110可以包括SLC和MLC中的一种或多种。存储器单元阵列110还可以包括具有二维水平结构的存储器单元或具有三维垂直结构的存储器单元。
控制器200可以通过驱动加载至存储器230的固件或软件来控制数据存储装置10的全部操作。控制器200可以解码并驱动基于代码的指令或算法,例如固件或软件。控制器200可以硬件或者以硬件和软件的组合来实施。
控制器200可以包括主机接口210、处理器220、存储器230和存储器接口240。虽然图1中未示出,但是控制器200可以进一步包括错误校正码(ECC)引擎,该错误校正码(ECC)引擎通过对从主机装置提供的写入数据执行ECC编码来生成奇偶校验数据,并且使用奇偶校验数据对从非易失性存储器装置100读取的读取数据执行ECC解码。
主机接口210可以响应于主机装置20的协议来接口连接主机装置20和数据存储装置10。例如,主机接口210可以通过下列中的任意一种协议与主机装置20通信:USB(通用串行总线)、UFS(通用闪存)、MMC(多媒体卡)、PATA(并行高级技术附件)、SATA(串行高级技术附件)、SCSI(小型计算机系统接口)、SAS(串列SCSI)、PCI(外围组件互连)和PCI-E(高速PCI)。
处理器220可以包括微控制单元(MCU)和中央处理单元(CPU)。处理器220可以处理从主机装置20传送的请求。为了处理从主机装置20传送的请求,处理器220可以驱动被加载至存储器230的基于代码的指令或算法,即固件,并且控制非易失性存储器装置100和诸如主机接口210、存储器230和存储器接口240的内部功能块。
处理器220可以基于从主机装置20传送的请求来生成用于控制非易失性存储器装置100的操作的控制信号,并且通过存储器接口240将所生成的控制信号提供至非易失性存储器装置100。
存储器230可以被配置为诸如动态RAM(DRAM)或静态RAM(SRAM)的随机存取存储器。存储器230可以存储由处理器220驱动的固件。此外,存储器230可以存储驱动固件所需的数据,例如元数据。也就是说,存储器230可以作为处理器220的工作存储器而操作。
存储器230可以包括用于临时存储从主机装置20待传送至非易失性存储器装置100的写入数据,或者从非易失性存储器装置100待传送至主机装置20的读取数据的数据缓冲器。也就是说,存储器230可以作为缓冲存储器而操作。
存储器接口240可以控制控制器200和非易失性存储器装置100之间的数据通信。具体地,存储器接口240可以在处理器220的控制下控制非易失性存储器装置100。存储器接口240也可以被称为存储器控制器。存储器接口240可以将控制信号提供至非易失性存储器装置100。控制信号可以包括用于控制非易失性存储器装置100的命令、地址和操作控制信号。存储器接口240可以将存储在数据缓冲器中的数据提供至非易失性存储器装置100或将从非易失性存储器装置100传送的数据存储在数据缓冲器中。
存储器接口240可以运行闪存接口层(FIL),该闪存接口层(FIL)是用于控制控制器200和非易失性存储器装置100之间的数据通信的固件。
图2示出根据实施例的存储器,例如图1的存储器230。
参照图2,根据本实施例的存储器230可以包括第一区域R1和第二区域R2,第一区域R1中可以存储闪存转换层(FTL),第二区域R2可以用作使与从主机装置20提供的请求对应的命令排队的命令队列CMDQ。根据实施例,除了图2所示的区域之外,存储器230可以包括用于各种其它用途的区域,诸如用作临时存储写入数据的写入数据缓冲器的区域、用作临时存储读取数据的读取数据缓冲器的区域、以及用作高速缓存映射数据的映射高速缓存缓冲器的区域。
当非易失性存储器装置100被配置为闪速存储器装置时,处理器220可以控制非易失性存储器装置100的特有操作,并且驱动被称为FTL的软件,以便提供与主机装置20的装置兼容性。当FTL被驱动时,数据存储装置10可以由主机装置20识别并用作诸如硬盘的通用数据存储装置。
存储在存储器230的第一区域R1中的FTL可以包括用于执行各个功能的模块和驱动各个模块所需的元数据。FTL可以被存储在非易失性存储器装置100的系统区域(未示出)中。当数据存储装置10通电时,FTL可以从非易失性存储器装置100的系统区域被读取并且加载至存储器230的第一区域R1。
图3是用于描述根据实施例的非易失性存储器装置中包括的数据存储区域的示图。
参照图3,非易失性存储器装置100可以包括多个管芯310a和310b,多个管芯310a和310b共用联接至控制器200的通道CH,每个管芯可以包括多个平面312a和312b,多个平面312a和312b共用联接至通道CH的通路311,并且每个平面可以包括多个页面。页面可以指示与读取或写入数据的操作的最小单位对应的存储区域。此外,被共同擦除的多个页面可以被称为块,并且作为一个块管理的多个块可以被称为超级块。因此,非易失性存储器装置中的数据存储区域可以指示管芯、平面、超级块、块、页面等。然而,在以下描述中,除非另有所指,否则数据存储区域可以指示页面。
图4是用于描述根据实施例的数据存储装置10的操作的示图。
参照图4,由图1的实施例中所示的控制器200的存储器接口240运行的FIL 410可以请求读取计数地址RCA。具体地,当执行了读取存储在非易失性存储器装置100中包括的多个数据存储区域之中的第一数据存储区域中的数据的读取操作时,FIL 410可以向由图1所示的控制器200的处理器220运行的FTL 420请求读取计数地址RCA(下文中,被称为“第一读取计数地址”)。读取计数地址RCA可以指示存储了包括已经执行了读取操作的第一数据存储区域的读取计数的读取计数数据(下文中为“第一读取计数数据”)的存储器区域231的位置。存储器区域231可以被包括在存储器230中。
在实施例中,读取计数数据可以指示非易失性存储器装置100中包括的多个数据存储区域中的每一个的读取计数。例如,读取计数数据可以分别指示非易失性存储器装置100内的页面的读取计数。读取计数数据可以进一步包括指示数据存储区域的地址的索引。例如,索引可以分别指示非易失性存储器装置100内的页面的地址。
在实施例中,多个读取计数数据可以形成读取计数表。读取计数表可以由FTL 420来管理。
在实施例中,读取计数表可以存储在存储器230的存储器区域231中。例如,控制器200可以从非易失性存储器装置100接收读取计数数据,并且将接收的读取计数数据高速缓存并存储在存储器230中。
在实施例中,FIL 410可以将请求传送至FTL 420,该请求包括已经执行了读取操作的数据存储区域(即,页面)的索引(即,地址)。一旦对目标页面执行了读取操作,FIL 410就可以识别目标页面的地址,因此FIL 410可以向FTL 420提供包括作为索引的目标页面的地址的请求。
FTL 420可以将读取计数地址RCA传送至FIL 410。具体地,当从FIL 410接收到读取计数地址请求时,FTL 420可以参考存储器区域231内的读取计数地址表,并且将与FIL410的请求对应的第一读取计数地址RCA传送至FIL 410。
在实施例中,读取计数地址表可以包括读取计数地址RCA,该读取计数地址RCA指示存储了相应读取计数数据的存储器区域231的位置。
在实施例中,读取计数地址RCA可以被映射到数据存储区域(例如,非易失性存储器装置100内的页面)的索引(即,地址)以及数据存储区域的读取计数。例如,FTL 420可以根据FIL 410的请求来查询与数据存储区域的索引对应的读取计数地址RCA,并且将所查询的读取计数地址RCA传送至FIL 410。
FIL 410可以更新与提供至FTL 420的读取计数地址请求对应的数据存储区域的读取计数。具体地,FIL 410可以从FTL 420接收读取计数地址RCA作为对提供至FTL 420的读取计数地址请求的响应。FIL 410可以基于所接收的读取计数地址RCA来访问存储读取计数数据的存储器区域231。此时,FIL 410可以更新存储在被访问的存储器区域231中的读取计数数据中包括的读取计数。也就是说,FIL 410可以基于存储器区域231的读取计数地址RCA来更新已经执行了读取操作的数据存储区域(例如,目标页面)的读取计数。
如上所述,读取计数数据由FTL 420来管理。根据相关技术,当FIL 410参考变量而不是存储器区域231的读取计数地址RCA来访问读取计数数据时,FTL 420和FIL 410之间的独立性可能被破坏。
根据本公开的实施例,FIL 410可以仅通过参考存储器区域231的读取计数地址RCA来访问读取计数数据,以便确保FTL 420和FIL 410之间的独立性。例如,仅当从FTL 420接收到读取计数地址RCA1时,FIL 410才可以基于读取计数地址RCA1来更新读取计数Readcount 1。
图5是示出根据实施例的数据存储装置10的操作方法的流程图。
参照图5,在步骤S510中,处理器220可以将参照图4描述的读取计数表从非易失性存储器装置100加载至存储器230中。
在步骤S520中,可以执行读取操作。具体地,数据存储装置10可以对非易失性存储器装置100中包括的多个数据存储区域(例如,页面)中的一个或多个执行读取操作。此时,非易失性存储器装置100可以通知FIL 410关于是否已经执行了读取操作的信息,该信息包括已经执行了读取操作的数据存储区域(例如,读取目标页面)的索引(即,地址)。
在步骤S530中,可以请求读取计数地址。FIL 410可以检查是否已经对数据存储区域执行了读取操作。当检查到已经对数据存储区域执行了读取操作时,FIL 410可以从FTL420请求读取计数地址RCA,读取计数地址RCA指示加载了读取计数表的存储器区域231的地址。读取计数地址请求可以包括数据存储区域(例如,读取目标页面)的索引(即,地址)。此时,FTL 420可以通过参考读取计数地址表以及包括在读取计数地址请求中的数据存储区域的索引,将FIL 410请求的读取计数地址RCA传送至FIL 410。
在步骤S540中,可以更新读取计数。具体地,FIL 410可以从FTL 420接收读取计数地址RCA。FIL 410可以基于接收的读取计数地址RCA来访问存储读取计数数据的存储器区域231。FIL 410可以更新被访问的存储器区域231中的、与读取计数地址表内的接收到的读取计数地址RCA对应的读取计数。
在步骤S550中,可以监测读取计数。具体地,FTL 420可以监测包括在读取计数表中的读取计数数据之中是否存在读取计数值等于或大于预设阈值计数的读取计数数据。此时,FTL 420可以判定是否对读取计数值等于或大于阈值计数的数据存储区域执行读取回收操作。
在实施例中,当读取计数值小于阈值计数(也就是说,步骤S550中为“否”)时,FTL420可以再次执行步骤S520。
在步骤S560中,当读取计数值大于或等于阈值计数(也就是说,步骤S550中为“是”)时,可以执行读取回收操作。具体地,FTL 420可以控制非易失性存储器装置100对读取计数值等于或大于阈值计数的数据存储区域执行读取回收操作。
根据本实施例,数据存储装置可以保持FTL和FIL之间的独立性。
虽然上面已经描述了各个实施例,但是本领域技术人员将理解的是,描述的实施例仅是示例。因此,不应基于描述的实施例来限制本文描述的数据存储装置的操作方法。
图6和图7是示出包括根据实施例的固态硬盘(SSD)的数据处理系统的示例的示图。参照图6,数据处理系统2000可以包括主机装置2100和固态硬盘(SSD)2200。
SSD 2200可以包括控制器2210、缓冲存储器装置2220、非易失性存储器装置2231至223n、电源2240、信号连接器2250和电源连接器2260。
控制器2210可以控制SSD 2200的一般操作。参照图7,控制器2210可以包括主机接口2211、控制组件2212、随机存取存储器2213、错误校正码(ECC)组件或电路2214和存储器接口2215。
主机接口2211可以通过信号连接器2250与主机装置2100交换信号SGL。信号SGL可以包括命令、地址、数据等。主机接口2211可以根据主机装置2100的协议接口连接主机装置2100和SSD 2200。例如,主机接口2211可以通过诸如以下的标准接口协议中的任意一种与主机装置2100通信:安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-e或PCIe)和通用闪存(UFS)。
控制组件2212可以分析并处理从主机装置2100输入的信号SGL。控制组件2212可以根据用于驱动SSD 2200的固件或软件来控制内部功能块的操作。随机存取存储器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。
缓冲存储器装置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可以包括大容量电容器。
根据主机装置2100和SSD 2200之间的接口方案,信号连接器2250可以由各种类型的连接器配置。
根据主机装置2100的电力供应方案,电源连接器2260可以由各种类型的连接器配置。
图8是示出包括根据实施例的存储器系统的数据处理系统的示例的示图。参照图8,数据处理系统3000可以包括主机装置3100和存储器系统3200。
主机装置3100可以诸如印刷电路板的板的形式配置。虽然未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
主机装置3100可以包括诸如插座、插槽或连接器的连接端子3110。存储器系统3200可以安装到连接端子3110。
存储器系统3200可以诸如印刷电路板的板的形式配置。存储器系统3200可以被称为存储器模块或存储卡。存储器系统3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240以及连接端子3250。
控制器3210可以控制存储器系统3200的一般操作。控制器3210可以与图6中所示的控制器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的任意一侧上。
图9是示出包括根据实施例的存储器系统的数据处理系统的示例的示图。参照图9,数据处理系统4000可以包括主机装置4100和存储器系统4200。
主机装置4100可以诸如印刷电路板的板的形式配置。虽然未示出,但是主机装置4100可以包括用于执行主机装置的功能的内部功能块。
存储器系统4200可以表面安装型封装的形式配置。存储器系统4200可以通过焊球4250而被安装到主机装置4100。存储器系统4200可以包括控制器4210、缓冲存储器装置4220和非易失性存储器装置4230。
控制器4210可以控制存储器系统4200的一般操作。控制器4210可以与图6中所示的控制器2210相同的方式配置。
缓冲存储器装置4220可以临时存储待被存储在非易失性存储器装置4230中的数据。此外,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230读出的数据。临时存储在缓冲存储器装置4220中的数据可以根据控制器4210的控制被传输至主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作存储器系统4200的存储介质。
图10是示出包括根据实施例的存储器系统的网络系统的示例的示图。参照图10,网络系统5000可以包括通过网络5500联接的服务器系统5300和多个客户端系统5410至5430。
服务器系统5300可以响应于来自多个客户端系统5410至5430的请求来服务数据。例如,服务器系统5300可以存储从多个客户端系统5410至5430提供的数据。再例如,服务器系统5300可以将数据提供至多个客户端系统5410至5430。
服务器系统5300可以包括主机装置5100和存储器系统5200。存储器系统5200可以由图1中所示的存储器系统10、图6中所示的SSD 2200、图8中所示的存储器系统3200或图9中所示的存储器系统4200构成。
图11是示出根据实施例的存储器系统中包括的非易失性存储器装置的示例的框图。参照图11,非易失性存储器装置100可以包括存储器单元阵列110、行解码器120、数据读取/写入块130、列解码器140、电压发生器150和控制逻辑160。
存储器单元阵列110可以包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处的存储器单元MC。
行解码器120可以通过字线WL1至WLm与存储器单元阵列110联接。行解码器120可以根据控制逻辑160的控制而操作。行解码器120可以解码从外部装置(未示出)提供的地址。行解码器120可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器120可以将从电压发生器150提供的字线电压提供至字线WL1至WLm。
数据读取/写入块130可以通过位线BL1至BLn与存储器单元阵列110联接。数据读取/写入块130可以包括分别与位线BL1至BLn对应的读取/写入电路RW1至RWn。数据读取/写入块130可以根据控制逻辑160的控制而操作。数据读取/写入块130可以根据操作模式而操作为写入驱动器或读出放大器。例如,在写入操作中,数据读取/写入块130可以操作为将从外部装置提供的数据存储在存储器单元阵列110中的写入驱动器。再例如,在读取操作中,数据读取/写入块130可以操作为从存储器单元阵列110读出数据的读出放大器。
列解码器140可以根据控制逻辑160的控制而操作。列解码器140可以解码从外部装置提供的地址。列解码器140可以基于解码结果,将数据读取/写入块130的、分别与位线BL1至BLn对应的读取/写入电路RW1至RWn与数据输入/输出线(或者数据输入/输出缓冲器)联接。
电压发生器150可以生成待在非易失性存储器装置100的内部操作中使用的电压。由电压发生器150生成的电压可以被施加到存储器单元阵列110的存储器单元。例如,在编程操作中生成的编程电压可以被施加到待执行编程操作的存储器单元的字线。再例如,在擦除操作中生成的擦除电压可以被施加到待执行擦除操作的存储器单元的阱区。又例如,在读取操作中生成的读取电压可以被施加到待执行读取操作的存储器单元的字线。
控制逻辑160可以基于从外部装置提供的控制信号来控制非易失性存储器装置100的一般操作。例如,控制逻辑160可以控制非易失性存储器装置100的读取操作、写入操作和擦除操作。

Claims (13)

1.一种用于控制非易失性存储器装置的控制器,所述控制器包括:
读取计数表,包括多个读取计数数据,其中每个所述读取计数数据包括一个数据存储区域的读取计数值;
读取计数地址表,包括读取计数地址,所述读取计数地址指示存储所述读取计数数据的存储器区域的地址;
闪存转换层,即FTL,控制所述非易失性存储器装置的操作,并且管理所述读取计数表和所述读取计数地址表;以及
闪存接口层,即FIL,控制所述FTL和所述非易失性存储器装置之间的数据通信,并且当对所述数据存储区域执行了读取操作时,基于所述读取计数地址来更新所述读取计数值,
其中当对所述数据存储区域执行了所述读取操作时,所述FIL向所述FTL请求所述数据存储区域的读取计数数据的读取计数地址,并且更新与从所述FTL提供的所述读取计数地址对应的所述数据存储区域的读取计数值。
2.根据权利要求1所述的控制器,其中响应于来自所述FIL的对所述读取计数地址的请求,所述FTL将第一读取计数地址传送至所述FIL。
3.根据权利要求1所述的控制器,进一步包括:
存储器,存储所述读取计数表、所述读取计数地址表、所述FTL和所述FIL中的一个或多个;
处理器,运行所述FTL;以及
主机接口,运行所述FIL。
4.根据权利要求1所述的控制器,其中所述数据存储区域是数据页面、存储块、平面和管芯中的任意一个。
5.根据权利要求1所述的控制器,其中所述读取计数数据包括所述读取计数值和与所述读取计数值对应的所述数据存储区域的地址。
6.根据权利要求1所述的控制器,其中当所述读取计数值等于或大于阈值计数时,所述FTL控制所述非易失性存储器装置对与所述读取计数数据对应的所述数据存储区域执行读取回收操作。
7.一种控制器的操作方法,以控制非易失性存储器装置的操作,所述控制器包括闪存转换层即FTL和闪存接口层即FIL,所述操作方法包括:
由所述FIL向所述FTL请求读取计数地址,所述读取计数地址指示存储读取计数数据的存储器区域的地址,所述读取计数数据包括所述非易失性存储器装置中包括的多个数据存储区域之中的、已经执行了读取操作的数据存储区域的读取计数值;
根据所述FIL的请求,由所述FTL将所述读取计数地址传送至所述FIL;并且
由FIL基于从所述FTL接收的所述读取计数地址来更新所述数据存储区域的读取计数值。
8.根据权利要求7所述的操作方法,进一步包括:由所述FIL检查是否对所述数据存储区域执行了读取操作。
9.根据权利要求7所述的操作方法,其中将所述读取计数地址传送至所述FIL包括:响应于对所述读取计数地址的请求,由所述FTL参考具有与所述多个数据存储区域对应的多个读取计数数据的读取计数地址表,并且将所述读取计数地址传送至所述FIL。
10.根据权利要求7所述的操作方法,其中所述数据存储区域是数据页面、存储块、平面和管芯中的任意一个。
11.根据权利要求7所述的操作方法,其中所述读取计数数据包括所述读取计数值和与所述读取计数值对应的所述数据存储区域的地址。
12.根据权利要求7所述的操作方法,进一步包括:当所述读取计数值等于或大于阈值计数时,由所述FTL控制所述非易失性存储器装置对与所述读取计数数据对应的所述数据存储区域执行读取回收操作。
13.一种存储器系统,包括:
存储器装置,对读取目标区域执行读取操作;
存储器,加载具有以下字段的读取计数表:读取计数地址、所述读取目标区域的地址和所述读取目标区域的读取计数;
接口,提供包括所述读取目标区域的地址的信息的请求;以及
控制逻辑,响应于所述请求,向所述接口提供与所述读取目标区域的地址的信息对应的所述读取计数地址的信息,
其中所述接口更新与所述读取计数地址的信息对应的所述读取目标区域的读取计数的信息,并且
其中所述控制逻辑根据所述读取目标区域的读取计数的信息来控制所述存储器装置对所述读取目标区域执行读取回收操作。
CN201910138695.2A 2018-02-27 2019-02-25 数据存储装置及该数据存储装置的操作方法 Active CN110196817B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20180023690 2018-02-27
KR10-2018-0023690 2018-02-27
KR1020190013309A KR20190102998A (ko) 2018-02-27 2019-02-01 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법
KR10-2019-0013309 2019-02-01

Publications (2)

Publication Number Publication Date
CN110196817A CN110196817A (zh) 2019-09-03
CN110196817B true CN110196817B (zh) 2023-07-04

Family

ID=67683905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910138695.2A Active CN110196817B (zh) 2018-02-27 2019-02-25 数据存储装置及该数据存储装置的操作方法

Country Status (2)

Country Link
US (1) US11537514B2 (zh)
CN (1) CN110196817B (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130076430A (ko) * 2011-12-28 2013-07-08 삼성전자주식회사 적응적 카피백 방법 및 이를 이용한 저장 장치
US20140173239A1 (en) * 2012-12-19 2014-06-19 Apple Inc. Refreshing of memory blocks using adaptive read disturb threshold
KR102290974B1 (ko) * 2014-11-07 2021-08-19 삼성전자주식회사 불휘발성 메모리 장치, 메모리 컨트롤러 및 그것들을 포함하는 불휘발성 메모리 시스템의 동작 방법
KR102292217B1 (ko) * 2015-02-06 2021-08-24 삼성전자주식회사 내부적으로 데이터 읽기 검증을 수행할 수 있는 메모리 장치, 이의 작동 방법, 및 이를 포함하는 메모리 시스템
KR102435873B1 (ko) 2015-12-18 2022-08-25 삼성전자주식회사 스토리지 장치 및 그것의 리드 리클레임 방법
KR20170074264A (ko) * 2015-12-21 2017-06-30 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
JP6724534B2 (ja) * 2016-05-09 2020-07-15 富士通株式会社 情報処理装置、重複除去プログラム、及び重複除去方法
CN106294226A (zh) * 2016-07-27 2017-01-04 中电海康集团有限公司 基于嵌入式stt‑mram的ssd控制器芯片、固态硬盘

Also Published As

Publication number Publication date
US20190266083A1 (en) 2019-08-29
CN110196817A (zh) 2019-09-03
US11537514B2 (en) 2022-12-27

Similar Documents

Publication Publication Date Title
US11854596B2 (en) Data storage device and operating method thereof
CN108804023B (zh) 数据存储装置及其操作方法
KR20200095103A (ko) 데이터 저장 장치 및 그 동작 방법
CN111124273B (zh) 数据存储装置及数据存储装置的操作方法
US11487669B2 (en) Memory system for storing data of log-structured merge tree structure and data processing system including the same
US10942681B2 (en) Memory system and operation method thereof
US20200117559A1 (en) Data storage device and operating method thereof
CN111916140B (zh) 控制器及其操作方法以及包括控制器的存储器系统
US11520694B2 (en) Data storage device and operating method thereof
US11526439B2 (en) Storage device and operating method thereof
CN110389907B (zh) 电子装置
US10754768B2 (en) Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an operating method thereof
CN111752858A (zh) 控制器、存储器系统及其操作方法
KR20190006677A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR102434840B1 (ko) 데이터 저장 장치
CN108804338B (zh) 数据存储装置及其操作方法
CN112286444B (zh) 控制器以及包括控制器的存储器系统
US20210397558A1 (en) Storage device and operating method thereof
US20210141565A1 (en) Data storage device, storage system using the same, and method of operating the same
CN110196817B (zh) 数据存储装置及该数据存储装置的操作方法
KR20210079894A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20190102998A (ko) 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법
KR20200015260A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN111324302B (zh) 数据存储装置及其操作方法
US20220276783A1 (en) Data storage apparatus 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
GR01 Patent grant
GR01 Patent grant