CN106980466A - 数据存储装置及其操作方法 - Google Patents
数据存储装置及其操作方法 Download PDFInfo
- Publication number
- CN106980466A CN106980466A CN201611114986.0A CN201611114986A CN106980466A CN 106980466 A CN106980466 A CN 106980466A CN 201611114986 A CN201611114986 A CN 201611114986A CN 106980466 A CN106980466 A CN 106980466A
- Authority
- CN
- China
- Prior art keywords
- read
- memory
- memory region
- reading
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7204—Capacity control, e.g. partitioning, end-of-life degradation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明涉及一种包括多个存储器区域的数据存储装置的操作方法。方法包括对第一存储器区域执行读取操作、基于第一存储器区域的读取序列和第二存储器区域的读取序列增加读取计数以及基于读取计数对多个存储器区域执行管理操作,其中第二存储器区域在对第一存储器区域的读取操作之前已经被读取。
Description
相关申请的交叉引用
本申请要求于2016年1月19日提交的申请号为10-2016-0006360的韩国申请的优先权,其全部内容通过引用并入本文。
技术领域
各种实施例总体涉及一种包括非易失性存储器装置的数据存储装置。
背景技术
数据存储装置响应于写入请求存储由外部装置提供的数据。数据存储装置也可响应于读取请求将存储的数据提供至外部装置。使用数据存储装置的外部装置的示例包括计算机、数码相机、移动电话等。数据存储装置可被嵌入在外部装置中或被单独地制造并随后连接。
发明内容
在实施例中,一种包括多个存储器区域的数据存储装置的操作方法可包括:对第一存储器区域执行读取操作;基于第一存储器区域的读取序列(read sequences)和第二存储器区域的读取序列增加读取计数,其中第二存储器区域在对第一存储器区域的读取操作之前已经被读取;以及基于读取计数对多个存储器区域执行管理操作。
在实施例中,一种数据存储装置可包括:非易失性存储器装置,其包括多个存储器区域;以及控制器,其适于对第一存储器区域执行读取操作、基于第一存储器区域的读取序列和第二存储器区域的读取序列增加读取计数以及基于读取计数对多个存储器区域执行管理操作,其中第二存储器区域在对第一存储器区域的读取操作之前已经被读取。
在实施例中,一种包括多个存储器区域的数据存储装置的操作方法可包括:对第一存储器区域执行读取操作;基于关于至少一个第二存储器区域的信息增加读取计数,其中至少一个第二存储器区域在对第一存储器区域的读取操作之前的预定时间段期间已经被读取;以及基于读取计数对多个存储器区域执行管理操作。
在实施例中,一种数据存储装置可包括:非易失性存储器装置,其包括多个存储器区域;以及控制器,其适于对第一存储器区域执行读取操作、基于关于至少一个第二存储器区域的信息增加读取计数以及基于读取计数对多个存储器区域执行管理操作,其中至少一个第二存储器区域在对第一存储器区域的读取操作之前的预定时间段期间已经被读取。
附图说明
图1是说明根据实施例的数据存储装置的框图。
图2是说明控制器管理读取计数和参考信息的方法的代表。
图3A和图3B是比较块计数、组计数和读取计数的简图。
图4是说明数据存储装置的操作方法的流程图。
图5是说明控制器增加读取计数的方法的流程图。
图6是说明控制器执行管理操作的方法的流程图。
图7是说明根据实施例的数据存储装置的框图。
图8是说明控制器管理读取计数和位图的方法的简图。
图9是说明数据存储装置的操作方法的流程图。
图10是说明控制器增加读取计数的方法的流程图。
图11是说明根据实施例的固态驱动器(SSD)的框图。
图12是说明应用根据实施例的数据存储装置的数据处理***的框图。
具体实施方式
在下文中,将通过本发明的示例性实施例参照附图描述根据本发明的数据存储装置及其操作方法。然而,本发明可以不同的形式呈现且不应被解释为限于本文所阐述的实施例。相反,提供这些实施例以详细地描述本发明以达到在本发明所属领域的技术人员能够实施本发明的技术概念的程度。
将理解的是,本发明的实施例不限于附图中所示的细节,附图不一定按比例绘制,并且在一些情况下,可以夸大比例以便更清楚地描述本发明的某些特征。虽然使用了特定术语,但是将理解的是,所使用的术语仅用于描述特定实施例,并且不旨在限制本发明的范围。
图1是说明根据实施例的数据存储装置10A的框图。
数据存储装置10A可被配置成响应于来自外部装置的写入请求存储从外部装置(未示出)提供的数据。另外,数据存储装置10A可被配置成响应于来自外部装置的读取请求向外部装置提供存储的数据。
数据存储装置10A可通过个人计算机存储卡国际协会(PCMCIA)卡、标准闪存(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(MMC、eMMC、RS-MMC和微型-MMC)、各种安全数字卡(SD、迷你-SD和微型-SD)、通用闪速存储器(UFS)、固态驱动器(SSD)等来配置。
数据存储装置10A可包括控制器100A以及多个非易失性存储器装置NVM0至NVMk。
控制器100A可控制数据存储装置10A的一般操作。控制器100A可响应于从外部装置传输的写入请求将数据存储在非易失性存储器装置NVM0至NVMk中,并可响应于从外部装置传输的读取请求读取存储在非易失性存储器装置NVM0至NVMk中的数据并将读取的数据输出至外部装置。
控制器100A可基于预定序列(sequence)管理非易失性存储器装置NVM0至NVMk的多个存储器区域。预定序列可以是对多个存储器区域执行顺序读取操作的序列即顺序读取序列。根据顺序读取序列的多个存储器区域可对应于连续的地址并且当执行顺序读取操作时可根据顺序读取序列被访问。基于顺序读取序列管理的多个存储器区域可被分组为存储器组。非易失性存储器装置NVM0至NVMk中的一个或多个中可包括被分组为存储器组的存储器区域。
每当对存储器区域中的每个执行读取操作时,存储在存储器区域中的数据可由于读取干扰被影响并且当过度执行读取操作时存储在存储器区域中的数据可能被合力地(resultantly)损坏。因此,如将在以下描述的,控制器100A可管理读取计数RD_CNT并且每当读取计数RD_CNT达到阈值计数时执行读取回收操作(read reclaim operation),从而恢复损坏的数据。
控制器100A可控制对存储器组的第一存储器区域的非易失性存储器装置的读取操作,基于在顺序读取序列中先前最后读取的第二存储器区域的次序(turn)(或读取序列)和第一存储器区域的读取序列选择性地增加读取计数RD_CNT,以及基于读取计数RD_CNT对存储器组执行管理操作。当在顺序读取序列中第一存储器区域的读取序列后于第二存储器区域的读取序列时(即当第二存储器区域的读取序列和第一存储器区域的读取序列处于序列中(例如升序或降序的序列)时),控制器100A可不增加读取计数RD_CNT。当在顺序读取序列中第一存储器区域的读取序列先于第二存储器区域的读取序列时或当第一存储器区域的读取序列对应于第二存储器区域的读取序列时,即当第一存储器区域和第二存储器区域对应时(即当第二存储器区域的读取序列和第一存储器区域的读取序列处于序列(例如升序或降序的序列)之外时),控制器100A可增加读取计数RD_CNT。即,控制器100A可在预定序列中基于第一和第二存储器区域的数目选择性地增加读取计数RD_CNT。例如,最小存储器区域,诸如图2、图3A和图3B中的BK0具有最小数目,最大存储器区域诸如图2、图3A和图3B中的BK7具有最大数目。如果当前读取的第一存储器区域的数目大于先前已读取的第二存储器区域的数目,则控制器100A可不增加读取计数RD_CNT。相反,如果第一存储器区域的数目等于或小于第二存储器区域的数目,则控制器100A可增加读取计数RD_CNT。
此外,控制器100A可基于针对先前最后读取的第二存储器区域存储的参考信息BK_INF比较第二存储器区域的读取序列和第一存储器区域的读取序列并根据比较结果增加读取计数RD_CNT。此外,控制器100A可用关于第一存储器区域的信息更新参考信息BK_INF,而不管读取计数RD_CNT是否被增加。
控制器100A可管理对应于存储器组的读取计数RD_CNT和参考信息BK_INF。参考信息BK_INF可包括关于在存储器组中先前最后读取的存储器区域的信息。当控制器100A控制多个存储器组时,控制器100A可管理对应于存储器组中的每个的读取计数RD_CNT和参考信息BK_INF。控制器100A可将读取计数RD_CNT和参考信息BK_INF备份在非易失性存储器装置中,然后根据需要,例如在启动时,读取和管理读取计数RD_CNT和参考信息BK_INF。
控制器100A可确定读取计数RD_CNT是否达到阈值计数、根据确定结果对多个存储器区域执行扫描操作、并根据执行扫描操作的结果对多个存储器区域执行读取回收操作。控制器100A可通过读取存储在多个存储器区域中的数据并检查数据的错误率来执行扫描操作。当检查的错误率超过阈值错误率时,控制器100A可通过对从多个存储器区域中读取的数据执行错误校正操作来执行读取回收操作并将校正错误后的数据存储在其它位置中。
根据实施例,控制器100A可确定读取计数RD_CNT是否达到阈值计数并且根据确定结果对多个存储器区域执行读取回收操作而省略对多个存储器区域的扫描操作。
当控制器100A已经执行管理操作时,它可减少读取计数RD_CNT。由于控制器100A已经通过管理操作检查存储在存储器区域中的数据的状态,所以控制器100A可重置读取计数RD_CNT或将读取计数RD_CNT减少预定值以推迟下一个读取回收操作。
例如,存储器区域可以是存储块。然而,实施例不限于此。每个存储块可包括多个页面,可对存储块执行读取操作以读取存储在页面中的数据。
根据实施例,触发读取回收操作的读取计数RD_CNT以存储器组为单位管理并且关于对存储器组的读取操作被选择性地增加,由此抑制读取回收操作被不必要地执行是可能的。
非易失性存储器装置NVM0至NVMk中的每个根据控制器100A的控制可存储从控制器100A传输的数据并且可读取存储的数据以及将读取的数据传输至控制器100A。非易失性存储器装置NVM0至NVMk可包括多个存储块BK00至BKk0。
非易失性存储器装置可包括诸如以下的闪速存储器:NAND闪存或NOR闪存、铁电随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁阻随机存取存储器(MRAM)、电阻式随机存取存储器(ReRAM)等。
图2是说明控制器管理读取计数和参考信息的方法的简图。例如,图2的方法可以是图1的控制器100A管理读取计数RD_CNT和参考信息BK_INF的方法。参照图2,其示出被分组为单个存储器组并且根据顺序读取序列排列的存储块BK0至BK7。虽然图2示出8个存储块BK0至BK7被分组的示例,但是根据实施例分组的存储块的数目不受特别限制。
当执行读取操作RD0至RD7时,读取计数RD_CNT可被选择性地增加。在图2中,当执行阴影处理的读取操作RD0、RD4和RD7时,读取计数RD_CNT可被增加。
首先,在时间T1处,控制器100A可控制对存储块BK1的读取操作RD0。控制器100A可将读取计数RD_CNT增加至“1”并将关于存储块BK1的信息存储为参考信息BK_INF。
在时间T2处,控制器100A可控制对存储块BK2至BK4的顺序读取操作RD1至RD3。当控制对存储块BK2的读取操作RD1时,由于在顺序读取序列中存储块BK2的读取序列后于先前最后读取的存储块BK1的读取序列,所以控制器100A可不增加读取计数RD_CNT。控制器100A可参照参考信息BK_INF以识别先前最后读取的存储块BK1。控制器100A可用关于存储块BK2的信息更新参考信息BK_INF。
即使当控制对存储块BK3和BK4的读取操作RD2和RD3时,控制器100A可通过参照参考信息BK_INF而不增加读取计数RD_CNT。控制器100A用关于存储块BK4的信息更新参考信息BK_INF。
在时间T3处,控制器100A可控制对存储块BK0的读取操作RD4。由于在顺序读取序列中存储块BK0的读取序列先于先前最后读取的存储块BK4的读取序列,所以控制器100A可将读取计数RD_CNT增加至“2”。控制器100A可用关于存储块BK0的信息更新参考信息BK_INF。
在时间T4处,控制器100A可控制对存储块BK4和BK5的顺序读取操作RD5和RD6。当控制对存储块BK4的读取操作RD5时,由于在顺序读取序列中存储块BK4的读取序列后于先前最后读取的存储块BK0的读取序列,所以控制器100A可不增加读取计数RD_CNT。控制器100A可用关于存储块BK4的信息更新参考信息BK_INF。
即使当控制对存储块BK5的读取操作RD6时,控制器100A可通过参照参考信息BK_INF而不增加读取计数RD_CNT。控制器100A用关于存储块BK5的信息更新参考信息BK_INF。
在时间T5处,控制器100A可控制对存储块BK5的读取操作RD7。由于当前读取的存储块BK5对应于先前最后读取的存储块BK5,所以控制器100A可将读取计数RD_CNT增加至“3”。控制器100A可将参考信息BK_INF保持为关于存储块BK5的信息。
图3A和图3B是比较块计数BK_CNT、组计数GR_CNT和读取计数RD_CNT的简图。
参照图3A,当对存储块BK0至BK7连续执行顺序读取操作RD0至RD20时,块计数BK_CNT、组计数GR_CNT和读取计数RD_CNT可如所示的被计数。
块计数BK_CNT可以存储块为单位管理并且每当在存储块BK0至BK7中的每个中执行读取操作时被增加。
组计数GR_CNT可以存储器组为单位管理并且每当对存储块BK0至BK7执行读取操作时被增加。
当在顺序读取序列中当前读取的存储块的读取序列后于先前最后读取的存储块的读取序列时(即当读取序列处于序列之中时),可不增加读取计数RD_CNT。当在顺序读取序列中当前读取的存储块的读取序列先于先前最后读取的存储块的读取序列时或当当前读取的存储块和先前最后读取的存储块相对应时(即当读取序列处于序列之外时),可增加读取计数RD_CNT。因此,当阴影处理的读取操作RD0、RD8和RD16被分别执行时,可增加读取计数RD_CNT。
如上所述,由于读取干扰的影响可被施加于存储块,所以块计数BK_CNT可最适当地反映读取干扰的影响。例如,当在每个存储块中的读取计数RD_CNT超过“4”之前必须执行读取回收操作,以有效地恢复由于读取干扰的影响导致的对数据的损坏时,用于触发读取回收操作的阈值计数可被设置成“4”。在这种情况下,虽然块计数BK_CNT可适当地反映应当执行读取回收操作的时机(timing),但是通过存储块的数目,块计数BK_CNT可用作控制器100A的存储器开销。由于组计数GR_CNT是每个存储器组的单个计数,所以组计数GR_CNT需要比块计数BK_CNT少(smaller)的存储器,但是由于组计数GR_CNT显著增加,可能导致不必要的读取回收操作。然而,由于当执行顺序读取操作时根据实施例的读取计数RD_CNT基本上不增加,所以读取计数RD_CNT可抑制不必要的读取回收操作并且可利用少的存储器被充分地管理。此外,由于读取计数RD_CNT总是保持为高于块计数BK_CNT,所以应当执行读取回收操作的时机可能不被忽视。
参照图3B,当对存储块BK0至BK7仅连续执行随机读取操作RD0至RD7时,块计数BK_CNT、组计数GR_CNT和读取计数RD_CNT可如所示出的被计数。
对块计数BK_CNT和组计数GR_CNT计数的方案与如上参照图3A所描述的相同。
根据实施例,当分别执行阴影处理的读取操作RD0、RD2、RD3、RD6和RD7时,读取计数RD_CNT可被增加。
总之,当对存储块BK0至BK7仅连续执行随机读取操作RD0至RD7时,可利用比块计数BK_CNT少的存储器充分地管理读取计数RD_CNT并且读取计数RD_CNT比组计数GR_CNT更适当地反映用于触发读取回收操作的时机。
图4是说明数据存储装置的操作方法的流程图。例如,图4的方法可以是图1的数据存储装置10A的操作方法并且可通过数据存储装置10A的控制器100A执行。
在步骤S110处,控制器100A可控制对基于预定序列被管理的多个存储器区域中的第一存储器区域的读取操作。预定序列可以是对多个存储器区域执行顺序读取操作的序列。
在步骤S120处,控制器100A可基于在预定序列中先前最后读取的第二存储器区域的读取序列和第一存储器区域的读取序列选择性地增加读取计数RD_CNT。详细地,当第一存储器区域的读取序列后于第二存储器区域的读取序列时(即,当读取序列处于序列之中时),控制器100A可不增加读取计数RD_CNT。当第一存储器区域的读取序列先于第二存储器区域的读取序列时或当第一存储器区域和第二存储器区域对应时(即,当读取序列处于序列之外时),控制器100A可增加读取计数RD_CNT。即,控制器100A可基于在预定序列中的第一和第二存储器区域的数目选择性地增加读取计数RD_CNT。例如,最小存储器区域,诸如图2、图3A和图3B中的BK0具有最小数目,最大存储器区域,诸如图2、图3A和图3B中的BK7具有最大数目。如果当前读取的第一存储器区域的数目大于先前读取的第二存储器区域的数目,则控制器100A可不增加读取计数RD_CNT。相反,如果第一存储器区域的数目等于或小于第二存储器区域的数目,则控制器100A可增加读取计数RD_CNT。
在步骤S130处,控制器100A可基于读取计数RD_CNT对多个存储器区域执行管理操作。
在步骤S140处,控制器100A可减少读取计数RD_CNT。由于控制器100A已经检查存储在存储器区域中的数据被损坏的程度并且通过管理操作已经恢复严重损坏的数据,所以控制器100A可重置读取计数RD_CNT或将读取计数RD_CNT减少预定值以推迟下一个读取回收操作。
图5是说明控制器增加读取计数的方法的流程图。例如,图5的方法可以是图1的控制器100A增加读取计数RD_CNT的方法并且可通过数据存储装置10A的控制器100A执行。图5中所示的进程可以是图4的步骤S120的示例。
在步骤S210处,控制器100A可参照参考信息BK_INF。参考信息可以是关于先前最后读取的第二存储器区域的信息。
在步骤S220处,控制器100A可确定当前读取的第一存储器区域的读取序列是否后于第二存储器区域的读取序列。当第一存储器区域的读取序列后于第二存储器区域的读取序列时,进程可进行至步骤S240。当第一存储器区域的读取序列不后于第二存储器区域的读取序列时,即当第一存储器区域的读取序列先于或对应于第二存储器区域的读取序列时,进程可进行至步骤S230。
在步骤S230处,控制器100A可增加读取计数RD_CNT。
在步骤S240处,控制器100A可用关于第一存储器区域的信息更新参考信息BK_INF。
图6是说明控制器执行管理操作的方法的流程图。例如,图6的方法可以是图1的控制器100A执行管理操作的方法并且可通过数据存储装置10A的控制器100A执行。图6中所示的进程可以是图4的步骤S130的示例。
在步骤S310处,控制器100A可确定读取计数RD_CNT是否达到阈值计数或阈值。当读取计数RD_CNT达到阈值计数时,进程可进行至步骤S320。当读取计数RD_CNT未达到阈值计数时,进程可进行至步骤S140。
在步骤S320处,控制器100A可对多个存储器区域执行扫描操作。控制器100A可通过读取存储在多个存储器区域中的数据并检查数据的错误率来执行扫描操作。
在步骤S330处,控制器100A可确定错误率是否超过阈值错误率。当错误率超过阈值错误率时,进程可进行至步骤S340。当错误率未超过阈值错误率时,进程可进行至步骤S140。
在步骤S340处,控制器100A可对多个存储器区域执行读取回收操作。控制器100A可通过对从多个存储器区域读取的数据执行错误校正操作并将校正错误后的数据存储在其它位置中来执行读取回收操作。
图7是说明根据实施例的数据存储装置10B的框图。
数据存储装置10B可包括控制器100B和多个非易失性存储器装置NVM0至NVMk。
控制器100B可控制对存储器组的第一存储器区域的非易失性存储器装置的读取操作、基于关于在最近预定时间段期间读取的一个或多个第二存储器区域的信息选择性地增加读取计数RD_CNT、以及基于读取计数RD_CNT对存储器组执行管理操作。最近预定时间段可以是从当先前最后增加读取计数RD_CNT时至现在的时间段。另外,如将在以下描述的,最近预定时间段可以是从当重置位图(bitmap)BITMAP时至现在的时间段。在最近预定时间段期间读取的第二存储器区域可包括从当先前最后增加读取计数RD_CNT时读取的存储器区域至先前最后读取的存储器区域的存储器区域。
当第二存储器区域中不包括第一存储器区域时,控制器100B可不增加读取计数RD_CNT。也就是说,当在最近预定时间段期间第一存储器区域尚未被读取时,控制器100B可不增加读取计数RD_CNT。当第二存储器区域中包括第一存储器区域时,控制器100B可增加读取计数RD_CNT。此外,当在最近预定时间段期间第一存储器区域已经被读取时,控制器100B可增加读取计数RD_CNT。
控制器100B可从包括分别对应于多个存储器区域的条目(entry)的位图BITMAP检查当前读取的第一存储器区域的第一条目。条目中的每个可反映在最近预定时间段期间是否已经读取对应的存储器区域。控制器100B可根据第一条目的状态增加读取计数RD_CNT。当增加读取计数RD_CNT时,控制器100B可重置位图BITMAP。此外,控制器100B可更新第一条目的状态,而不管读取计数RD_CNT是否被增加。
控制器100B可管理对应于存储器组的读取计数RD_CNT和位图BITMAP。位图BITMAP可反映在最近预定时间段期间是否已经读取各个存储器区域。当控制器100B控制多个存储器组时,控制器100B可管理对应于存储器组中的每个的读取计数RD_CNT和位图BITMAP。控制器100B可将读取计数RD_CNT和位图BITMAP备份在非易失性存储器装置中,并且根据需要,例如在启动时,读取和管理在非易失性存储器装置中的读取计数RD_CNT和位图BITMAP。
例如,存储器区域可以是存储块。
除通过参考位图BITMAP来选择性地增加读取计数RD_CNT的方案之外,控制器100B可以与图1的控制器100A基本上相同的方式操作,因此,本文将省略其进一步的详细描述。
根据实施例,触发读取回收操作的读取计数RD_CNT以存储器组为单位管理并且关于对存储器组的读取操作被选择性地增加,由此抑制读取回收操作被不必要地执行是可能的。此外,如将在以下描述的,由于当与图1的读取计数RD_CNT相比时,图7的读取计数RD_CNT在随机读取操作中被部分地抑制增加,所以图7的读取计数RD_CNT可表现出改进的有效性。
图8是说明控制器管理读取计数和位图的方法的简图。例如,图8的方法可以是图7的控制器100B管理读取计数RD_CNT和位图BITMAP的方法。
当执行随机读取操作RD0至RD6时,读取计数RD_CNT可被选择性地增加。在图8中,当执行阴影处理的读取操作RD0、RD3和RD6时,读取计数RD_CNT可被增加。
首先,在时间T1处,控制器100B可控制对存储块BK1的读取操作RD0。控制器100B可将读取计数RD_CNT增加至“1”并将位图BITMAP中对应于存储块BK1的条目的状态更新为“01000000”。位图BITMAP可包括分别顺序地对应于存储块BK0至BK7的条目。例如,条目可在重置状态中存储“0”并可当读取对应的存储器区域时被更新为“1”。
在时间T2处,控制器100B可控制对存储块BK4的读取操作RD1。由于在预定时间段期间,即在从当位图BITMAP被重置时到现在的时间段期间尚未读取存储块BK4,所以控制器100B可不增加读取计数RD_CNT。控制器100B可参照位图BITMAP以检查是否已经读取存储块BK4。控制器100B可将位图BITMAP中对应于存储块BK4的条目的状态更新为“01001000”。
然后,控制器100B可控制对存储块BK2的读取操作RD2。控制器100B可通过参考位图BITMAP检查到在预定时间段期间尚未读取存储块BK2并且不增加读取计数RD_CNT。控制器100B可将位图BITMAP中对应于存储块BK2的条目的状态更新为“01101000”。
在时间T3处,控制器100B可控制对存储块BK1的读取操作RD3。控制器100B可通过参考位图BITMAP检查到在预定时间段期间已经读取存储块BK1并将读取计数RD_CNT增加至“2”。当增加读取计数RD_CNT时,控制器100B可重置位图BITMAP。控制器100B可将位图BITMAP中对应于存储块BK1的条目的状态更新为“01000000”。
在时间T4处,控制器100B可分别控制对存储块BK3和BK5的读取操作RD4和RD5。控制器100B可通过参考位图BITMAP检查到在预定时间段期间尚未读取存储块BK3和BK5并且可不增加读取计数RD_CNT。控制器100B可将位图BITMAP中对应于存储块BK3和BK5的条目的状态更新为“01010100”。
在时间T5处,控制器100B可控制对存储块BK5的读取操作RD6。控制器100B可通过参考位图BITMAP检查到在预定时间段期间已经读取存储块BK5并且可将读取计数RD_CNT增加至“3”。当增加读取计数RD_CNT时,控制器100B可重置位图BITMAP。控制器100B可将位图BITMAP中对应于存储块BK5的条目的状态更新为“00000100”。
当与上文参照图3描述的读取计数RD_CNT相比时,上文参照图8描述的读取计数RD_CNT对于相同的读取操作可被增加较少。也就是说,当与图1的控制器100A相比时,图7的控制器100B可通过在随机读取操作中较少地增加读取计数RD_CNT而表现出改善的有效性。
图9是说明数据存储装置的操作方法的流程图。例如,图9的方法可以是图7的数据存储装置10B的操作方法并且可通过数据存储装置10B的控制器100B执行。在图9所示的进程中,除了步骤S420之外,步骤S410、步骤S430和步骤S440可分别与图4的步骤S110、步骤S130和步骤S140基本相同。因此,注意的是,将省略对步骤S410、步骤S430和步骤S440的描述。
在步骤S420处,控制器100B可基于关于在最近预定时间段期间已经被读取的第二存储器区域的信息选择性地增加读取计数RD_CNT。最近预定时间段可以是从当先前最后增加读取计数RD_CNT时至现在的时间段。在最近预定时间段期间读取的第二存储器区域可包括从当先前最后增加读取计数RD_CNT时读取的存储器区域至已经被先前最后读取的存储器区域的存储器区域。当第二存储器区域中不包括第一存储器区域时,控制器100B可不增加读取计数RD_CNT。当第二存储器区域中包括第一存储器区域时,控制器100B可增加读取计数RD_CNT。
图10是说明控制器增加读取计数的方法的流程图。例如,图10的方法可以是图7的控制器100B增加读取计数RD_CNT的方法并且可通过数据存储装置10B的控制器100B执行。图10所示的进程可以是图9的步骤420的示例。
在步骤S510处,控制器100B可检查位图BITMAP中第一存储器区域的第一条目。位图BITMAP可包括分别对应于多个存储器区域的条目。每个条目可反映在最近预定时间段期间是否已经读取对应的存储器区域。最近预定时间段可以是从当位图BITMAP被重置时至现在的时间段。
在步骤S520处,控制器100B可基于第一条目确定在最近预定时间段期间是否已经读取第一存储器区域。当在最近预定时间段期间已经读取第一存储器区域时,进程可进行至步骤S530。当在最近预定时间段期间尚未读取第一存储器区域时,进程可进行至步骤S540。
在步骤S530处,控制器100B可增加读取计数RD_CNT。
在步骤S540处,控制器100B可重置位图BITMAP。
在步骤S550处,控制器100B可更新第一条目的状态。
图11是说明根据实施例的固态驱动器(SSD)1000的框图。
SSD 1000可包括控制器1100和存储介质1200。
控制器1100可控制主机装置1500和存储介质1200之间的数据交换。控制器1100可包括处理器1110、随机存取存储器(RAM)1120、只读存储器(ROM)1130、错误校正码(ECC)单元1140、主机接口1150和存储介质接口1160。
控制器1100可以与图1所示的控制器100A基本上相似的方式操作。
处理器1110可控制控制器1100的一般操作。处理器1110可根据来自主机装置1500的数据处理请求将数据存储在存储介质1200中并从存储介质1200读取存储的数据。为了高效地管理存储介质1200,处理器1110可控制SSD 1000的内部操作,诸如合并操作、磨损均衡操作等。
RAM 1120可以存储待被处理器1110使用的程序和程序数据。RAM1120可在将从主机接口1150传输的数据传送至存储介质1200之前临时地存储从主机接口1150传输的数据并可在将从存储介质1200传输的数据传送至主机装置1500之前临时地存储从存储介质1200传输的数据。
ROM 1130可存储待被处理器1110读取的程序代码。程序代码可包括待被处理器1110处理、用于处理器1110控制控制器1100的内部单元的命令。
ECC单元1140可编码待被存储在存储介质1200中的数据并可解码从存储介质1200读取的数据。ECC单元1140可根据ECC算法检测并校正发生在数据中的错误。
主机接口1150可与主机装置1500交换数据处理请求、数据等。
存储介质接口1160可向存储介质1200传输控制信号和数据。存储介质接口1160可传输来自存储介质1200的数据。存储介质接口1160可通过多个通道CH0至CHn与存储介质1200联接。
存储介质1200可包括多个非易失性存储器装置NVM0至NVMn。多个非易失性存储器装置NVM0至NVMn中的每个可根据控制器1100的控制执行写入操作和读取操作。
图12是说明应用根据实施例的数据存储装置10A的数据处理***2000的框图。
数据处理***2000可包括计算机、笔记本电脑、上网本、智能电话、数字TV、数字照相机、导航仪等。数据处理***2000可包括主处理器2100、主存储器装置2200、数据存储装置2300和输入/输出装置2400。数据处理***2000的内部单元可通过***总线2500交换数据、控制信号等。
主处理器2100可控制数据处理***2000的一般操作。主处理器2100可以是诸如微处理器的中央处理单元。主处理器2100可在主存储器装置2200上执行诸如操作***、应用、装置驱动程序等的软件。
主存储器装置2200可存储待被主处理器2100使用的程序和程序数据。主存储器装置2200可临时地存储待被传输至数据存储装置2300和输入/输出装置2400的数据。
数据存储装置2300可包括控制器2310和存储介质2320。
输入/输出装置2400可包括能够与用户交换数据,诸如从用户接收用于控制数据处理***2000的命令或向用户提供处理结果的键盘、扫描仪、触摸屏、屏幕监视器、打印机、鼠标等。
根据实施例,数据处理***2000可通过诸如局域网(LAN)、广域网(WAN)、无线网络等的网络2600与至少一个服务器2700通信。数据处理***2000可包括访问网络2600的网络接口(未示出)。
尽管上文已经描述各种实施例,但是本领域技术人员将理解的是,描述的实施例仅是示例。因此,本文描述的数据存储装置及其操作方法不应基于所描述的实施例被限制。
Claims (22)
1.一种包括多个存储器区域的数据存储装置的操作方法,所述方法包括:
对第一存储器区域执行读取操作;
基于所述第一存储器区域的读取序列和第二存储器区域的读取序列增加读取计数,其中所述第二存储器区域在对所述第一存储器区域的读取操作之前已经被读取;以及
基于所述读取计数对所述多个存储器区域执行管理操作。
2.根据权利要求1所述的方法,其中当所述第二存储器区域的读取序列和所述第一存储器区域的读取序列处于序列之中时,不增加所述读取计数。
3.根据权利要求1所述的方法,其中当所述第二存储器区域的读取序列和所述第一存储器区域的读取序列在序列之外时,增加所述读取计数。
4.根据权利要求1所述的方法,其中所述读取计数的增加包括:
基于针对所述第二存储器区域存储的参考信息比较所述第二存储器区域的读取序列和所述第一存储器区域的读取序列;
根据比较结果增加所述读取计数;以及
用关于所述第一存储器区域的信息更新所述参考信息。
5.根据权利要求1所述的方法,其中所述管理操作的执行包括:
确定所述读取计数是否达到阈值;
根据确定结果对所述多个存储器区域执行扫描操作;以及
根据所述扫描操作的执行结果对所述多个存储器区域执行读取回收操作。
6.根据权利要求1所述的方法,其进一步包括:
当执行所述管理操作时,减少所述读取计数。
7.一种数据存储装置,其包括:
非易失性存储器装置,其包括多个存储器区域;以及
控制器,其适于对第一存储器区域执行读取操作、基于所述第一存储器区域的读取序列和第二存储器区域的读取序列增加读取计数以及基于所述读取计数对所述多个存储器区域执行管理操作,其中所述第二存储器区域在对所述第一存储器区域的读取操作之前已经被读取。
8.根据权利要求7所述的数据存储装置,其中当所述第二存储器区域的读取序列和所述第一存储器区域的读取序列处于序列之中时,所述控制器不增加所述读取计数。
9.根据权利要求7所述的数据存储装置,其中当所述第二存储器区域的读取序列和所述第一存储器区域的读取序列在序列之外时,所述控制器增加所述读取计数。
10.根据权利要求7所述的数据存储装置,其中所述控制器基于针对所述第二存储器区域存储的参考信息比较所述第二存储器区域的读取序列和所述第一存储器区域的读取序列、根据比较结果增加所述读取计数以及用关于所述第一存储器区域的信息更新所述参考信息。
11.一种包括多个存储器区域的数据存储装置的操作方法,所述方法包括:
对第一存储器区域执行读取操作;
基于关于至少一个第二存储器区域的信息增加读取计数,其中所述至少一个第二存储器区域在对所述第一存储器区域的读取操作之前的预定时间段期间已经被读取;以及
基于所述读取计数对所述多个存储器区域执行管理操作。
12.根据权利要求11所述的方法,其中当所述第二存储器区域中不包括所述第一存储器区域时,不增加所述读取计数。
13.根据权利要求11所述的方法,其中当所述第二存储器区域中包括所述第一存储器区域时,增加所述读取计数。
14.根据权利要求11所述的方法,其中所述第二存储器区域包括从当先前最后增加所述读取计数时读取的存储器区域至先前最后读取的存储器区域的存储器区域。
15.根据权利要求11所述的方法,其中所述读取计数的增加包括:
检查在位图中的所述第一存储器区域的第一条目,其中所述位图包括分别对应于所述多个存储器区域的条目,所述条目中的每个的状态反映在所述预定时间段期间是否已经读取对应的存储器区域;
根据所述第一条目的状态增加所述读取计数;
当增加所述读取计数时重置所述位图;以及
更新所述第一条目的状态。
16.根据权利要求11所述的方法,其中所述管理操作的执行包括:
确定所述读取计数是否达到阈值;
根据确定结果,对所述多个存储器区域执行扫描操作;以及
根据所述扫描操作的执行结果,对所述多个存储器区域执行读取回收操作。
17.根据权利要求11所述的方法,其进一步包括:
当执行所述管理操作时减少所述读取计数。
18.一种数据存储装置,其包括:
非易失性存储器装置,其包括多个存储器区域;以及
控制器,其适于对第一存储器区域执行读取操作、基于关于至少一个第二存储器区域的信息增加读取计数以及基于所述读取计数对所述多个存储器区域执行管理操作,其中所述至少一个第二存储器区域在对所述第一存储器区域的读取操作之前的预定时间段期间已经被读取。
19.根据权利要求18所述的数据存储装置,其中当所述第二存储器区域中不包括所述第一存储器区域时,所述控制器不增加所述读取计数。
20.根据权利要求18所述的数据存储装置,其中当所述第二存储器区域中包括所述第一存储器区域时,所述控制器增加所述读取计数。
21.根据权利要求18所述的数据存储装置,其中所述第二存储器区域包括从当先前最后增加所述读取计数时读取的存储器区域至先前最后读取的存储器区域的存储器区域。
22.根据权利要求18所述的数据存储装置,其中所述控制器:检查在位图中的所述第一存储器区域的第一条目,其中所述位图包括分别对应于所述多个存储器区域的条目,所述条目中的每个的状态反映在所述预定时间段期间是否已经读取对应的存储器区域;根据所述第一条目的状态增加所述读取计数;当增加所述读取计数时重置所述位图;以及更新所述第一条目的状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160006360A KR20170086840A (ko) | 2016-01-19 | 2016-01-19 | 데이터 저장 장치 및 그것의 동작 방법 |
KR10-2016-0006360 | 2016-01-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106980466A true CN106980466A (zh) | 2017-07-25 |
CN106980466B CN106980466B (zh) | 2020-04-14 |
Family
ID=59313738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611114986.0A Active CN106980466B (zh) | 2016-01-19 | 2016-12-07 | 数据存储装置及其操作方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10073642B2 (zh) |
KR (1) | KR20170086840A (zh) |
CN (1) | CN106980466B (zh) |
TW (1) | TWI732791B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019100463A1 (zh) * | 2017-11-23 | 2019-05-31 | 深圳市江波龙电子有限公司 | 一种提升闪存性能的方法、装置、设备及存储介质 |
CN110825654A (zh) * | 2018-08-08 | 2020-02-21 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11188416B2 (en) | 2018-07-12 | 2021-11-30 | Micron Technology, Inc. | Enhanced block management for a memory sub-system |
US10936246B2 (en) * | 2018-10-10 | 2021-03-02 | Micron Technology, Inc. | Dynamic background scan optimization in a memory sub-system |
US10553290B1 (en) * | 2018-10-30 | 2020-02-04 | Micron Technology, Inc. | Read disturb scan consolidation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080288814A1 (en) * | 2007-05-16 | 2008-11-20 | Jun Kitahara | Apparatus for detecting and recovering from data destruction caused in an unaccessed memory cell by read, and method therefor |
CN103971724A (zh) * | 2013-02-06 | 2014-08-06 | 三星电子株式会社 | 存储器、存储控制器、存储***、及其操作方法 |
US20150058535A1 (en) * | 2013-08-21 | 2015-02-26 | Sandisk Technologies Inc. | Relocating data based on matching address sequences |
US20150113341A1 (en) * | 2009-08-12 | 2015-04-23 | International Business Machines Corporation | Efficient Reduction of Read Disturb Errors |
CN104934066A (zh) * | 2014-03-19 | 2015-09-23 | Lsi公司 | Nand闪存中的读取干扰处理 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8423866B2 (en) | 2009-10-28 | 2013-04-16 | SanDisk Technologies, Inc. | Non-volatile memory and method with post-write read and adaptive re-write to manage errors |
US20140136884A1 (en) * | 2012-11-15 | 2014-05-15 | Lsi Corporation | Read disturb handling for non-volatile solid state media |
US9240245B1 (en) * | 2012-09-11 | 2016-01-19 | Sk Hynix Memory Solutions Inc. | Memory efficient triggers of read disturb checks in solid state storage |
KR102089532B1 (ko) | 2013-02-06 | 2020-03-16 | 삼성전자주식회사 | 메모리 컨트롤러, 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20150093019A (ko) * | 2014-02-06 | 2015-08-17 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 이의 동작 방법 |
US9552171B2 (en) * | 2014-10-29 | 2017-01-24 | Sandisk Technologies Llc | Read scrub with adaptive counter management |
-
2016
- 2016-01-19 KR KR1020160006360A patent/KR20170086840A/ko unknown
- 2016-07-22 US US15/217,510 patent/US10073642B2/en active Active
- 2016-10-14 TW TW105133162A patent/TWI732791B/zh active
- 2016-12-07 CN CN201611114986.0A patent/CN106980466B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080288814A1 (en) * | 2007-05-16 | 2008-11-20 | Jun Kitahara | Apparatus for detecting and recovering from data destruction caused in an unaccessed memory cell by read, and method therefor |
US20150113341A1 (en) * | 2009-08-12 | 2015-04-23 | International Business Machines Corporation | Efficient Reduction of Read Disturb Errors |
CN103971724A (zh) * | 2013-02-06 | 2014-08-06 | 三星电子株式会社 | 存储器、存储控制器、存储***、及其操作方法 |
US20150058535A1 (en) * | 2013-08-21 | 2015-02-26 | Sandisk Technologies Inc. | Relocating data based on matching address sequences |
CN104934066A (zh) * | 2014-03-19 | 2015-09-23 | Lsi公司 | Nand闪存中的读取干扰处理 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019100463A1 (zh) * | 2017-11-23 | 2019-05-31 | 深圳市江波龙电子有限公司 | 一种提升闪存性能的方法、装置、设备及存储介质 |
CN110825654A (zh) * | 2018-08-08 | 2020-02-21 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
CN110825654B (zh) * | 2018-08-08 | 2023-04-07 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201732533A (zh) | 2017-09-16 |
TWI732791B (zh) | 2021-07-11 |
US10073642B2 (en) | 2018-09-11 |
KR20170086840A (ko) | 2017-07-27 |
US20170206032A1 (en) | 2017-07-20 |
CN106980466B (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9940045B2 (en) | Address mapping table recovery upon power failure | |
US8812784B2 (en) | Command executing method, memory controller and memory storage apparatus | |
US10846008B2 (en) | Apparatuses and methods for single level cell caching | |
KR102372825B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN106980466A (zh) | 数据存储装置及其操作方法 | |
US8386699B2 (en) | Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
US9619380B2 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US11520487B2 (en) | Managing write operations during a power loss | |
US9063888B2 (en) | Program code loading and accessing method, memory controller, and memory storage apparatus | |
CN108108261A (zh) | 数据存储装置及其操作方法 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
CN107678976A (zh) | 数据存储装置及其操作方法 | |
KR20160074025A (ko) | 데이터 저장 장치의 동작 방법 | |
US20230266884A1 (en) | Operating method for storage controller and storage system including same | |
CN112612639A (zh) | 操作存储器***的方法、操作主机的方法和计算*** | |
US9009389B2 (en) | Memory management table processing method, memory controller, and memory storage apparatus | |
US9652378B2 (en) | Writing method, memory controller and memory storage device | |
US10747661B2 (en) | Data storage device and operating method thereof | |
US11734184B2 (en) | Effective avoidance of line cache misses | |
CN114063918B (zh) | 数据存取方法、存储器存储装置及存储器控制器 | |
US10169224B2 (en) | Data protecting method for preventing received data from losing, memory storage apparatus and memory control circuit unit | |
CN102117230A (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 |