CN109710177B - 用于嵌入式系统的事件管理 - Google Patents

用于嵌入式系统的事件管理 Download PDF

Info

Publication number
CN109710177B
CN109710177B CN201811261383.2A CN201811261383A CN109710177B CN 109710177 B CN109710177 B CN 109710177B CN 201811261383 A CN201811261383 A CN 201811261383A CN 109710177 B CN109710177 B CN 109710177B
Authority
CN
China
Prior art keywords
sub
counter
objects
threshold
counters
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
CN201811261383.2A
Other languages
English (en)
Other versions
CN109710177A (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
Application filed by SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN109710177A publication Critical patent/CN109710177A/zh
Application granted granted Critical
Publication of CN109710177B publication Critical patent/CN109710177B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • 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/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • 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

Landscapes

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

Abstract

本发明提供一种用于在诸如存储器系统的嵌入式系统中执行事件管理的方法和指令集,该存储器系统包括存储器装置和控制器。控制器将多个对象组之中的对象组划分成多个子组,每个子组包括多个对象。控制器使用事件计数器对对象中的每一个受外部事件影响的次数进行计数,每当相应子组中的对象受外部事件影响时更新子计数器中的每一个的计数值,每当子计数器中的一个达到等于第一阈值的计数值时更新主计数器的计数值;并且当主计数器的计数值等于第二阈值时,对对象组执行系统动作。

Description

用于嵌入式系统的事件管理
相关申请的交叉引用
本申请要求于2017年10月26日提交的申请号为62/577,575的美国临时申请的权益,其全部内容通过引用并入本文。
技术领域
本公开的实施例涉及一种用于嵌入式系统的事件管理。
背景技术
嵌入式系统为计算机系统,其由硬件和软件的组合而制成并且用于执行特定任务。设计嵌入式系统以控制各种外部对象。嵌入式系统的示例包括:打印机、照相机、汽车、摄像机、移动电话、平板电脑和存储器系统。
当嵌入式系统为用于诸如固态硬盘(SSD)的存储器系统的片上系统(SoC)时,受控对象(例如,物理块)的数量可能会非常大。
发明内容
本发明的方面包括诸如存储器系统的嵌入式系统、用于管理嵌入式系统中的事件的方法和指令集。
一方面,一种用于操作嵌入式系统的方法包括:将多个对象组之中的对象组划分成多个子组,每个子组包括多个对象;使用事件计数器对对象中的每一个被受外部事件影响的次数进行计数,事件计数器包括主计数器和分别对应于多个子组的多个子计数器,基于第一阈值来确定子计数器中的每一个的大小,基于第二阈值来确定主计数器的大小;每当相应子组中的对象受外部事件影响时,更新子计数器中的每一个的计数值;每当子计数器中的一个达到等于第一阈值的计数值时,更新主计数器的计数值;当主计数器的计数值等于第二阈值时,对对象组执行系统动作。
另一方面,一种嵌入式系统包括:装置,包括多个对象组;以及控制器。控制器将多个对象组之中的对象组划分成多个子组,每个子组包括多个对象;使用控制器的事件计数器对对象中的每一个受外部事件影响的次数进行计数,事件计数器包括主计数器和分别对应于多个子组的多个子计数器,基于第一阈值来确定子计数器中的每一个的大小,基于第二阈值来确定主计数器的大小;每当相应子组中的对象受外部事件影响时,更新子计数器中的每一个的计数值;每当子计数器中一个达到等于第一阈值的计数值时,更新主计数器的计数值;当主计数器的计数等于第二阈值时,对对象组执行系统动作。
又一方面,一种非暂时性计算机可读存储介质存储用于控制器执行管理嵌入式系统的事件的操作的指令集。指令集包括用于以下的指令:将多个对象组之中的对象组划分成多个子组,每个子组包括多个对象;使用事件计数器对对象中的每一个受外部事件影响的次数进行计数,事件计数器包括主计数器和分别对应于多个子组的多个子计数器,基于第一阈值来确定子计数器中的每一个的大小,基于第二阈值来确定主计数器的大小;每当相应子组中的对象受外部事件影响时,更新子计数器中的每一个的计数值;每当子计数器中的一个达到等于第一阈值的计数值时,更新主计数器的计数值;当主计数器的计数值等于第二阈值时,对对象组执行系统动作。
从下面的描述中,本发明的其它方面将变得显而易见。
附图说明
图1是示出根据本发明的实施例的存储器系统的框图。
图2是示出根据本发明的实施例的存储器系统的框图。
图3是示出根据本发明的实施例的存储器系统的存储器装置的存储块的电路图。
图4是示出嵌入式系统的示例的示图。
图5是示出根据本发明的实施例的嵌入式系统的示例的示图。
图6是示出根据本发明的实施例的包括在存储器装置中的物理块的示图。
图7是示出根据本发明的实施例的包括在存储器装置中的超级块的示图。
图8是示出根据本发明的实施例的事件计数器的示图。
图9是示出根据本发明的实施例的子组链接方案的操作的流程图。
图10A是示出根据本发明的实施例的子组链接方案的示图。
图10B示出了根据本发明的实施例的子组链接方案的示例。
图11是示出根据本发明的实施例的事件管理操作的流程图。
图12A至图12D示出了根据本发明的实施例的通过事件管理操作的读取计数器的位状态。
图13是示出根据本发明的实施例的读取请求管理操作的流程图。
具体实施方式
以下参照附图更详细地描述各个实施例。然而,本发明可以不同的形式来实现,并且因此不应被解释为限制本文阐述的实施例。相反,提供这些实施例使得本公开全面且完整,并且向本领技术人员充分传达本发明的范围。而且,对“实施例”、“另一实施例”等的参考不一定是仅针对一个实施例,并且对任意这种短语的不同参考不一定是针对相同实施例。在整个本公开中,相同的附图标记在本发明的附图和实施例中表示相同的部件。
本发明可以包括以下的多种方式来实施:进程、设备、系统、物质的组合、实现在计算机可读存储介质上的计算机程序产品和/或处理器,诸如适于执行存储在与处理器联接的存储器上和/或由该存储器提供的指令的处理器。在本说明书中,这些实施例或本发明可以进行的任何其它形式可以称为技术。一般地,所公开进程的步骤顺序可以在本发明的范围内进行改变。除非另有说明,否则被描述为适于执行任务的诸如处理器或存储器的部件可以被实施为临时被配置成在给定时间执行任务的通用部件或被制造为执行任务的特定部件。如本文所使用的,术语“处理器”等指适于处理诸如计算机编程指令的数据的一个或多个装置、电路和/或处理核。
以下提供对本发明的实施例的详细描述和示出了本发明的方面的附图。结合这些实施例来描述本发明,但是本发明不限于任意实施例。本发明的范围仅由权利要求限定。本发明包含权利要求范围内的许多替换方案、修改方案和等同方案。为了提供对本发明的全面理解,在以下描述中阐述了许多具体细节。提供这些细节是为了示例的目的;可以在没有一些或全部这些具体细节的情况下根据权利要求来实施本发明。为了清楚起见,未详细描述本发明涉及的技术领域中已知的技术材料,以免使本发明不必要地模糊。
设计嵌入式系统来控制大量的外部对象。例如,诸如存储器系统的嵌入式系统控制存储器装置中包括的许多对象(例如,物理存储块)。
图1是示出根据本发明的实施例的存储器系统10的框图。
参照图1,存储器系统10可以包括存储器控制器100和半导体存储器装置200,可以表示多于一个这种装置。半导体存储器装置200可以是闪速存储器装置,特别是NAND型。
存储器控制器100可以控制半导体存储器装置200的全部操作。
半导体存储器装置200可以在存储器控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。半导体存储器装置200可以通过输入/输出(I/O)线接收命令CMD、地址ADDR和数据DATA。半导体存储器装置200可以通过电源线接收电力PWR并且通过控制线接收控制信号CTRL。控制信号CTRL可以包括命令锁存使能(CLE)信号、地址锁存使能(ALE)信号、芯片使能(CE)信号、写入使能(WE)信号、读取使能(RE)信号等。
存储器控制器100和半导体存储器装置200可以被集成在诸如固态硬盘(SSD)的单个半导体装置中。SSD可以包括用于将数据存储在其中的存储装置。当半导体存储器系统10被用在SSD中时,可以显著提高与存储器系统10联接的主机(未示出)的操作速度。
存储器控制器100和半导体存储器装置200可以被集成在诸如存储卡的单个半导体装置中。例如,存储器控制器100和半导体存储器装置200可以被如此集成以形成:个人计算机存储卡国际协会(PCMCIA)的PC卡、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、缩小尺寸的多媒体卡(RS-MMC)、微型MMC(MMC微型)、安全数字(SD)卡、迷你安全数字(迷你SD)卡、微型安全数字(微型SD)卡、安全数字高容量(SDHC)和/或通用闪存(UFS)。
在另一实施例中,存储器系统10可以被设置为诸如以下的电子装置中的各种部件之中的一种:计算机、超移动PC(UMPC)、工作站、上网本计算机、个人数字助理(PDA)、便携式计算机、网络平板PC、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(PMP)、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心存储装置、能够在无线环境中接收和发送信息的装置、射频识别(RFID)装置以及家庭网络的各种电子装置之一、计算机网络的各种电子装置之一、远程信息处理网络的电子装置之一或计算系统的各种部件之一。
图2是示出根据本发明的实施例的存储器系统的详细框图。例如,图2的存储器系统可以描述图1所示的存储器系统10。
参照图2,存储器系统10可以包括存储器控制器100和半导体存储器装置200。存储器系统10可以响应于来自主机装置的请求进行操作,并且特别地,存储待由主机装置访问的数据。
主机装置可以用各种类型的电子装置中的任意一种来实施。在一些实施例中,主机装置可以包括诸如以下的电子装置:台式计算机、工作站、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器和/或数字视频记录器和数字视频播放器。在一些实施例中,主机装置可以包括诸如以下的便携式电子装置:移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器(PMP)和/或便携式游戏播放器。
存储器装置200可以存储待由主机装置访问的数据。
存储器装置200可以用诸如动态随机存取存储器(DRAM)和/或静态随机存取存储器(SRAM)的易失性存储器装置来实施,或用诸如以下的非易失性存储器装置来实施:只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)和/或电阻RAM(RRAM)。
控制器100可以控制将数据存储在存储器装置200中。例如,控制器100可以响应于来自主机装置的请求来控制存储器装置200。控制器100可以将从存储器装置200读取的数据提供至主机装置,并且可以将从主机装置提供的数据存储在存储器装置200中。
控制器100可以包括存储装置110、可以被实施为诸如中央处理单元(CPU)的处理器的控制部件120、错误校正码(ECC)部件130、主机接口(I/F)140和存储器接口(I/F)150,这些通过总线160联接。
存储装置110可以用作存储器系统10和控制器100的工作存储器,并且存储用于驱动存储器系统10和控制器100的数据。当控制器100控制存储器装置200的操作时,存储装置110可以存储由控制器100和存储器装置200用于诸如读取操作、写入操作、编程操作和擦除操作的这些操作所使用的数据。
存储装置110可以用诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器来实施。如上所示,存储装置110可以将由主机装置使用的数据存储在存储器装置200中,以用于读取和写入操作。为了存储数据,存储装置110可以包括编程存储器、数据存储器、写入缓冲器、读取缓冲器和映射缓冲器等。
控制部件120可以响应于来自主机装置的写入操作或读取操作,控制存储器系统10的一般操作以及对存储器装置200的写入操作或读取操作。控制部件120可以驱动称为闪存转换层(FTL)的固件以控制存储器系统10的一般操作。例如,FTL可以执行诸如逻辑到物理(L2P)映射、损耗均衡、垃圾收集和/或坏块处理的操作。L2P映射称为逻辑块地址(LBA)。
ECC部件130可以在读取操作期间检测并校正从存储器装置200读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ECC部件130可以不校正错误位,并且相反地,可以输出指示校正错误位中失败的错误校正失败信号。
在一些实施例中,ECC部件130可以基于诸如以下的编码调制来执行错误校正操作:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码、turbo产品码(TPC)、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)或分组编码调制(BCM)。如此,ECC部件130可以包括适于错误校正操作的所有电路、系统或装置。
主机接口140可以通过诸如以下的各种接口协议中的一种或多种与主机装置通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-e)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)和高速非易失性存储器(NVMe)。
存储器接口150可以提供控制器100和存储器装置200之间的接口连接以使控制器100响应于来自主机装置的请求来控制存储器装置200。存储器接口150可以在CPU120的控制下生成用于存储器装置200的控制信号并且处理数据。当存储器装置200为诸如NAND闪速存储器的闪速存储器时,存储器接口150可以在CPU的控制下生成用于存储器的控制信号并且处理数据。
存储器装置200可以包括存储器单元阵列210、控制电路220、电压生产电路230、行解码器240、呈页面缓冲器阵列形式的页面缓冲器250、列解码器260和输入/输出电路270。存储器单元阵列210可以包括多个存储块211,该多个存储块211可以存储数据。电压生成电路230、行解码器240、页面缓冲器阵列250、列解码器260和输入/输出电路270可以形成存储器单元阵列210的外围电路。外围电路可以对存储器单元阵列210执行编程操作、读取操作或擦除操作。控制电路220可以控制外围电路。
电压生成电路230可以产生各种电平的操作电压。例如,在擦除操作中,电压生成电路230可以产生诸如擦除电压和通过电压的各种电平的操作电压。
行解码器240可以与电压生成电路230和多个存储块211通信。行解码器240可以响应于由控制电路220生成的行地址RADD在多个存储块211中选择至少一个存储块,并且将由电压生成电路230供给的操作电压传输至所选择存储块。
页面缓冲器250可以通过位线BL(如图3所示)与存储器单元阵列210通信。页面缓冲器250可以响应于由控制电路220生成的页面缓冲器控制信号用正电压对位线BL预充电,在编程操作中将数据传输至所选择存储块和在读取操作中从所选择存储块接收数据,或临时存储传输的数据。
列解码器260可以将数据传输至页面缓冲器250和从页面缓冲器250接收数据,或将数据传输至输入/输出电路270/从输入/输出电路270接收数据。
输入/输出电路270可以将从外部装置(例如存储器控制器100)接收的命令和地址传输至控制电路220,将来自外部装置的数据通过输入/输出电路270传输至列解码器260或将来自列解码器260的数据通过输入/输出电路270输出至外部装置。
控制电路220可以响应于命令和地址来控制外围电路。
图3是示出根据本发明的实施例的半导体存储器装置的存储块的电路图。例如,图3的存储块可以是图2所示的存储器单元阵列210的存储块211的任意一个。
参照图3,示例性存储块211可以包括联接到行解码器240的多个字线WL0至WLn-1、漏极选择线DSL和源极选择线SSL。这些线可以平行布置,且多个字线位于DSL和SSL之间。
示例性存储块211可以进一步包括分别联接到位线BL0至BLm-1的多个单元串221。每列的单元串可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在所示实施例中,每个单元串具有一个DST和一个SST。在单元串中,多个存储器单元或存储器单元晶体管MC0至MCn-1可以串联联接在选择晶体管DST和SST之间。存储器单元中的每一个可以被形成存储多位数据信息的多层单元(MLC)。
每个单元串中的SST的源极可以联接到公共源极线CSL,并且每个DST的漏极可以联接到相应位线。单元串中的SST的栅极可以联接到SSL,并且单元串中的DST的栅极可以联接到DST。横跨单元串的存储器单元的栅极可以联接到各个字线。也就是说,存储器单元MC0的栅极联接到相应字线WL0,存储器单元MC1的栅极联接到相应字线WL1等。联接到特定字线的存储器单元组可以称作物理页面。因此,存储块211中的物理页面的数量可以对应于字线的数量。
页面缓冲器阵列250可以包括联接到位线BL1至BLm-1的多个页面缓冲器251。页面缓冲器251可以响应于页面缓冲器控制信号进行操作。例如,在读取或验证操作期间,页面缓冲器251可以临时存储通过位线BL0至BLm-1接收的数据或感测位线的电压或电流。
在一些实施例中,存储块211可以包括NAND型闪速存储器单元。然而,存储块211不限于这种单元类型,而是可以包括NOR型闪速存储器单元。存储器单元阵列210可以被实施为其中组合了两种或更多种类型的存储单元的混合闪速存储器,或控制器被嵌入在存储器芯片内部的1-NAND闪速存储器。
在一些实施例中,存储块211可以包括NAND型闪速存储器单元。然而,存储块211不限于这种单元类型,而是可以包括NOR型闪速存储器单元。存储器单元阵列210可以被实施为其中组合了两种或更多种类型的存储单元的混合闪速存储器,或控制器被嵌入在存储器芯片内部的1-NAND闪速存储器。
图4是示出嵌入式系统的示例的示图。
参照图4,嵌入式系统可以包括多个对象410和控制器420。多个对象410可以包括M个对象OB0至OBM-1,控制器420可以包括控制部件420A和存储装置420B。当嵌入式系统包括图2所示的存储器系统10时,多个对象410对应于包括在图2的存储器装置200中的存储块211,并且控制器420对应于图2的控制器100。控制部件420A可以对应于图2的控制部件120,并且存储装置420B可以对应于图2的存储装置110。
控制器420可以控制多个对象410。也就是说,控制部件420A可以通过在其中运行的特定控制软件(SW)或固件(FW)控制管理对象410。控制部件420A可以由一个或多个微处理器来实现。存储装置420B可以包括用于管理对象410的多个事件计数器。存储装置420B可以由随机存取存储器(RAM)来实现。例如,多个事件计数器可以包括N个事件计数器C0至CN-1
控制器420应频繁地管理所有对象410的特定事件,这对于用于监视和管理对象410事件计数器需要额外存储(例如,RAM)空间。例如,存储装置420B可以包括具有组织(N×P)位的RAM。根据对象数量M、监视对象的事件计数器数量N和每事件计数器所需位数量,用于RAM资源的硬件开销可能会很大。
通常,当事件计数器C0至CN-1的一个超过可以被预定义的阈值THOLD时,控制部件420A的控制SW/FW必须执行系统动作(SA)以防止对监视对象的负面影响。这种动作需要时间和其它系统资源并且可能会影响公共系统性能和耐用性。
当存储装置420B(即RAM)能够存储所有对象的所有事件计数器(即N=M)时,事件计数器管理算法没有严重的问题。然而,在有限的存储容量(即N<<M)的情况下,可以使用不同的技术来进行事件计数器的管理。例如,当不需要知道外部事件发生的精确次数时,可以使用以下基于近似计数器的算法:Jacek Cichon和Wojciech Macyna,闪速存储器的近似计数器,日本富山市于2011年8月28日-8月31日的第17届IEEE国际会议关于嵌入式和实时计算系统和应用,RTCSA 2011卷1,2011,185–189页。
又例如,如图5所示,根据定义的组链接方案(GLS)对监视对象分组,并且每组属于单个事件计数器。这种方案允许减少事件计数器的数量。
图5是示出根据本发明的实施例的嵌入式系统的示例的示图。
参照图5,嵌入式系统可以包括多个对象510和控制器520。可以根据定义的组链接方案(GLS)将多个对象510分组成包括N个组G0至GN-1。第一组G0可以包括对象OBb至OBh。第二组G1可以包括对象OBr至OBu。组GN-1可以包括对象OBq至OBw
控制器520可以包括控制部件520A和存储装置520B。当嵌入式系统包括图2所示的存储器系统10时,多个对象510对应于包括在图2所示的存储器装置200中的存储块211,并且控制器520对应于图2的控制器100。控制部件520可以对应于图2的控制部件120,并且存储装置520B可以对应于图2的存储装置110。
控制器520可以控制多个对象510。也就是说,控制部件520A可以通过在其中运行的特定控制软件(SW)或固件(FW)来控制管理对象510。控制部件520A可以由一个或多个微处理器来实现。存储装置520B可以包括用于管理对象510的多个事件计数器。存储装置520B可以由随机存取存储器(RAM)来实现。例如,多个事件计数器可以包括N个事件计数器C0至CN-1
控制部件520A从外部装置(例如,图2的主机装置)接收外部事件序列并且基于外部事件来控制管理对象510。在各个实施例中,控制部件520A可以包括事件管理部件522。事件管理部件522可以读取事件计数器C0至CN-1的计数值并且确定事件计数器C0至CN-1中的每一个是否超过可以被预定义的阈值THOLD。阈值THOLD的值将事件计数器C0至CN-1中的每一个的位限定为如下:
Figure BDA0001843957440000121
在各个实施例中,当存储装置520B可以由具有组织N×P位的随机存取存储器(RAM)来实现时,事件计数器C0至CN-1中的每一个可以由计数对应于k位的值的计数器来实现,并且其它(p-k)位可以未使用。
当确定事件计数器C0至CN-1中的每一个超过阈值THOLD时,控制部件520A可以发出相应系统动作(SA)并且控制处理对象,使得对象510中的相应对象基于发出的系统动作来执行操作。
外部事件序列可以形成工作负载,该工作负载独立于监视对象和控制部件520A的控制SW/FW的行为。当根据任意定义的组链接方案(GLS)将M个监视对象分组成N个组时,事件计数器总数量N将减少。否则,映射到特定事件计数器的监视对象数量将增加。因此,事件计数器比初始方案(当M=N时)更快地达到阈值THOLD,并且可能存在误报系统动作的非零概率。该概率的值可能取决于每组的监视对象的数量和工作负载。存在减小某些工作负载的误报系统动作的概率值的方法。例如,Daniel Tuers等在专利号为9,230,689 B2的美国专利或WO 2015/142513 A1中公开了一种通过利用可调节量的事件计数器对监视对象进行特定重组来减小某些工作负载的误报系统动作的概率值的方法。
在各个实施例中,为了减小任意类型工作负载,即事件序列的误报系统动作的概率,控制器520可以执行用于诸如存储器系统(例如,固态硬盘(SSD))的嵌入式系统的事件计数器管理方法。在这种情况下,监视对象是物理块(PB),并且外部事件是来自主机装置的读取请求。该方法可以用于改进固件(FW)读取干扰保护算法,其应防止或最小化由于存储器装置(例如,3D NAND)中的读取干扰效应导致的用户数据损坏。可以在具有表1所示的装置配置的存储器系统中执行该方法:
表1
Figure BDA0001843957440000131
图6是示出包括在根据本发明的实施例的存储器装置中的物理块的示图。
参照图6,如表1所示,存储器装置可以包括多个管芯,例如8个管线DIE0至DIE7。管芯中的每一个可以包括多个平面,例如4个平面PLANE0至PLANE3。平面PLANE0至PLANE3中的每一个可以包括多个物理块,例如,950个物理块PB0至PB949。
图7是示出根据本发明的实施例的包括在存储器装置中的超级块的示图。
参照图7,如表1所示,存储器装置可以包括多个超级块,例如,950个超级块SuperBlock0至SuperBlock949。超级块SuperBlock0至SuperBlock949中的每一个可以包括32个物理块,例如PB0至PB31。
再次参照图5,为了防止由于从外部装置(例如主机装置)读取(例如主机读取)导致的数据损坏,当从特定物理块的读取操作数量达到阈值THOLD时,控制部件520A(即固件(FW))不应再允许从该物理块的读取。可以在存储器系统的产品要求文件中定义阈值THOLD。例如,阈值THOLD的值可以是THOLD=140000。因此,为了完全满足产品要求,控制部件520A必须管理每物理块的读取计数器。如果读取计数器Ci达到阈值THOLD,则控制部件520A可以对相应物理块执行系统动作。例如控制部件520A对相应物理块执行数据重定位(例如垃圾收集(GC))。
如表1所示,每个读取计数器大小(即每个事件计数器大小)可以是32位(或4字节)。因此,存储所有物理块(PB)的事件计数器需要物理块数量*读取计数器大小=30400*4=121600字节的存储装置520B(例如RAM)。在RAM资源有限的情况下,不可能管理每PB的计数器。因此,如图5所示,控制部件520A根据特定组链接方案(GLS)来管理每特定组(例如超级块)的读取计数器。GLS方案是超级块和读取计数器之间的链接。超级块可以通过超级块索引被映射到读取计数器。相比每PB的读取计数器的方案,GLS的准确性较低。然而,由于更多的PB被映射到读取计数器,因此操作速度更快并且存储所有读取计数器所需的存储装置520B的大小减小。当超级块数量为950时,存储所有读取计数器所需的存储装置520B(例如RAM)的大小为超级块数量*读取计数器大小=950*4=3800字节。数据重定位(例如GC)的频率不依赖于主机读取工作负载(例如顺序或随机),并且控制部件520A在从特定超级块的读取操作超过THOLD之后调用数据重定位,其中THOLD可以被设置为140000。
每个超级块的最大计数值为THOLD=140000。如果读取计数器达到阈值THOLD时,则控制部件520A(例如FW)调用数据重定位(例如GC)。在数据重定位之后,读取计数器被设置为零。为了存储该最大值,根据以下仅使用读取计数器大小(例如32位)之中的一些位(例如18位:
Figure BDA0001843957440000151
位。当存储装置520B由RAM实现时,读取计数器大小(例如32位)由RAM组织确定。因此,为了增加精确度,控制部件520A(例如FW)必须使用14(=32-18)未使用位。
如上所示,在各个实施例中,图5的控制器520可以执行用于诸如存储器系统(例如固态硬盘)的嵌入式系统的事件计数器管理方法。特别地,事件计数器管理算法利用每个计数器的未使用位(P-k)。
在图5中,已经根据定义的组链接方案将监视对象510进行分组。因此,根据存储装置520B(即RAM资源)的可用资源估计一次包括在存储装置520B中的事件计数器的数量,并且该数量在运行时间不改变。每组具有其自身事件计数器,并且组中的任何监视对象不影响任何其它事件计数器。
图8是示出根据本发明的实施例的事件计数器的示图。
参照图8,具有多个事件计数器C0至CN-1。事件计数器C0至CN-1可以被包括在图5的存储装置520B(例如RAM)中。当存储装置520B由RAM实现时,由RAM组织(例如N×P位)来确定事件计数器C0至CN-1的大小。也就是说,由RAM组织(例如P位)来确定事件计数器C0至CN-1中的每一个的大小。如上所示,当事件计数器中的任意一个达到阈值THOLD=140000时,仅使用限定事件计数器大小的全部数量的位(例如位b0至bp-1=32位)之中的一些位b0至bk-1(例如K=18位)。在各个实施例中,控制部件520A(例如FW)可以利用14(=32-18)未使用位。
图9是示出根据本发明的实施例的子组链接方案(SLS)的操作900的流程图。
参照图9,SLS操作900可以包括从子组中的特定组分配监视对象(910),并且将每个子组链接到特定事件计数器的多个非重叠范围中的一些范围的未使用位(920)。每个范围的未使用位可以与多个子计数器的特定子计数器相关联。由于仅利用了事件计数器的未使用位,所以子计数器不需要任何额外RAM资源。
图10A是示出根据本发明的实施例的子组链接方案的示图。
参照图10A,根据SLS,特定组Gi中的监视对象可以被分配到子组SG0至SGL-1内。特定组Gi中的对象OB0至OBT-1从0到(T-1)唯一编号。也就是说,每第i组的监视对象的数量为T。每个监视对象可以仅被分配给一个子组。
在各个实施例中,假设外部事件序列被均匀分配,可以顺序地定义子组内的对象。可选地,可以根据外部事件序列以最合适的形式定义子组内的对象。也就是说,可以根据外部事件序列的分配,以适当的顺序定义子组内的对象。例如,如果频繁地受某些外部事件序列影响的组中存在对象,则这些对象可以链接到不同的子组。对于这些操作,可以通过分析典型工作负载在装置设计阶段预定义外部事件的顺序,或者可以通过利用内置硬件或软件模块的在线工作负载分析来定义外部事件的顺序。
子组SG0内的对象可以包括对象OB0至OBf-1。子组SG1内的对象可以包括对象OBf至OB2f-1。子组SGL-1内的对象可以包括对象OBT-f至OBT-1
子组SG0至SGL-1可以链接到特定事件计数器Ci中的子计数器SC0至SCL-1。子组SG0可以链接到子计数器SC0。子组SG1可以链接到子计数器SC1。子组SGL-1可以链接到子计数器SCL-1
在各个实施例中,如果事件计数器Ci由包括b0至bp-1的P位来实现,则子计数器SC0至SCL-1由包括bk至bp-1的(P-K)位实现。也就是说,当事件计数器的大小根据RAM组织(或大小)为P=32位,并且事件计数器的阈值为THODL=140000(对应于18位)时,子计数器SC0至SCL-1可以基于与事件计数器的大小相对应的位中的未使用位(即14位)来实现。
在图10A中,针对事件计数器、子组和对象,可以如表2所示来定义参数。
在表2中,L表示第i组中子组的数量和第i事件计数器中子计数器的数量。s表示第i事件计数器中每子组所分配的位的数量,其中s≥1。也就是说,s表示每个子计数器的大小。f表示子组中监视对象的数量。
表2
参数 定义
L 第i组中子组的数量和第i事件计数器中子计数器的数量
s≥1 第i事件计数器中每子组所分配的位的数量
f 子组中监视对象的数量
在各个实施例中,每子组监视对象的数量可以不同或相同。在各个实施例中,可以基于未使用位的数量通过实验定义s的值,使得其对于目标主机工作负载应该是最优的。也就是说,可以基于与事件计数器的大小相对应的位中未使用位的数量来确定子计数器的大小(即每子计数器或子组所分配的位的数量)。
上述SLS方案可以在外部事件计数中使用每个事件计数器的所有可用位。因此,可以改进达到阈值THOLD以调用系统动作(SA)的精确度。
在各个实施例中,可以优化算法的参数。主要参数之一为每子计数器的位的数量或子计数器的大小(即s)。其优化值依赖于目标工作负载。基于未使用位的数量,可以通过实验定义s的值。
优化的另一参数是SLS方案。如果子计数器的量是T的倍数,则可以通过使用监视对象的索引来使用简单寻址以计算子计数器索引。如果子计数器的量不是T的倍数,则可以使用散列函数来均匀分配每子计数器的分组对象。
在各个实施例中,用于计数器管理算法的调整方法包括以下列表所示的步骤:
Figure BDA0001843957440000181
图10B示出根据本发明的实施例的子组链接方案(SLS)的示例的示图。
参照图10B,监视对象可以对应于物理块(PB)并且特定组Gi可以对应于超级块。根据SLS,特定超级块Gi中的监视物理块(PB)可以被分配在多个子组内。子组可以链接到特定读取计数器Ci的多个子计数器。读取计数器Ci可以包括作为计数器的主要部分的主计数器和多个子计数器。用于主计数器的位和用于多个子计数器中的每一个的位可以按照下面的描述来确定。
假设每子组所分配的位的数量被确定为s=2。在这种情况下,每个子计数器的大小是2位并且阈值是
Figure BDA0001843957440000182
在各个实施例中,阈值可以用于诸如垃圾收集(GC)的数据重定位。阈值仅需要
Figure BDA0001843957440000185
位。因此,32-16=16位可用于PB分组和映射到子计数器。因此,子组的总数量是
Figure BDA0001843957440000183
考虑到每超级块的PB数量(即32),每子组的物理块的数量是
Figure BDA0001843957440000184
使用特定超级块中的PB索引可以将PB映射到子计数器。根据上述定义,这种映射方案称作SLS。SLS可以以各种形式来定义,但如上所述,其对于目标工作负载应该是最合适的。在各个实施例中,如果PB索引除以子组总数量之后的余数相同,则PB涉及相同的子组。
将特定超级块Gi中的32个物理块从0到31进行唯一编号为物理块PB0到PB31。可以根据外部事件序列以最合适的形式来定义子组内的监视物理块的索引。例如,如果频繁地受某些外部事件序列影响的组中存在物理块,则这些物理块可以链接到不同的子组。
子组SG0内的物理块可以包括物理块PB0、PB8、PB16和PB24。子组SG1内的物理块可以包括物理块PB1、PB9、PB17和PB25。子组SG2内的物理块可以包括物理块PB2、PB10、PB18和PB26。子组SG3内的物理块可以包括物理块PB3、PB11、PB19和PB27。子组SG4内的物理块可以包括物理块PB4、PB12、PB20和PB28。子组SG5内的物理块可以包括物理块PB5、PB13、PB21和PB29。子组SG6内的物理块可以包括物理块PB6、PB14、PB22和PB30。子组SG7内的物理块可以包括物理块PB7、PB15、PB23和PB31
子组SG0到SG7可以链接到特定读取计数器Ci中的子计数器SC0到SC7。子组SG0可以链接到子计数器SC0。子组SG1可以链接到子计数器SC1。子组SG2可以链接到子计数器SC2。子组SG3可以链接到子计数器SC3。子组SG4可以链接到子计数器SC4。子组SG5可以链接到子计数器SC5。子组SG6可以链接到子计数器SC6。子组SG7可以链接到子计数器SC7。如果读取计数器Ci由包括b0到b31的32位来实现,则读取计数器Ci的主要部分(即,主计数器)由包括b0到b15的16位来实现,子计数器SC0到SC7由包括b16至b31的16位来实现。
图11是示出根据本发明的实施例的事件管理操作1100的流程图。例如,可以由包括在图5的控制器520中的控制部件520A来执行图11的事件管理操作。
参照图11,在步骤1110中,控制部件520A可以基于组链接方案(GLS)获得事件计数器的索引。在步骤1120中,控制部件520A可以基于子组链接方案(SLS)获得子计数器的索引。在步骤1130中,控制部件520A可以确定子计数器的当前值是否达到阈值,即STHOLD(=2s-1)的最大值,该值可以被预确定。
当确定子计数器的当前值不等于阈值STHOLD(步骤1130为否)时,在步骤1140中,控制部件520A可以递增子计数器的值。
当确定子计数器的当前值等于阈值STHOLD(步骤1130为是)时,在步骤1150中,控制部件520A可以递增事件计数器的值。在步骤1160中,控制部件520A可以确定事件计数器的当前值是否达到阈值,即
Figure BDA0001843957440000203
的最大值,该值可以被预确定。
当确定事件计数器的当前值不等于阈值MTHOLD(步骤1160为否)时,在步骤1170中,控制部件520A可以将与监视对象的特定组组有关的所有子计数器设置为零。
当确定事件计数器的当前值等于阈值MTHOLD(步骤1160为是)时,在步骤1180中,控制部件520A可以为监视对象的特定组调用需要的系统动作(SA)。例如,控制部件520A可以调用对包括多个物理块的特定超级块的垃圾收集(GC)操作。
在步骤1160中,为了说明THOLD初始值的减小,假设外部事件仅影响与第i组有关的单个监视对象,第i组具有针对SA调用的K-位THOLD。在这种情况下,如果子计数器已经达到STHOLD,则在步骤1150中,事件计数器必须增加值2s以及时调用所需的SA。因此,对于任何其它工作负载,事件计数器应该始终增加该值。相当于使用修改的阈值
Figure BDA0001843957440000202
将事件计数器增加1。这种方法是优选的,因为MTHOLD(即16位)比K-位THOLD(即18位)需要更少的位。额外的位可以用来增加子组的数量。这应该对提议方案的精确度具有积极影响。
图12A至图12D示出了根据本发明实施例的当执行事件管理操作时读取计数器的位状态的示例。这些示例对应于以下情况:图5的控制器520接收来自外部装置(例如,主机装置)的诸如读取请求的事件序列,并根据上述算法处理包括在存储器装置510中的第i超级块Gi的读取请求。
参照图12A,假设主机装置从索引为1的物理块(PB)(PB1)读取数据。根据SLS,PBPB1与链接到第一子计数器SC1的第一子组SG1有关。
如果主机装置从物理块PB1读取任意三个页面,则子计数器SC1应该增加3。因此,在处理来自主机装置的读取之后,第i读取计数器应该具有如图12B所示的位状态。在图12B中,第i读取计数器的子计数器SC1具有位状态“11”。
假设来自主机装置的下一个请求是读取与具有索引为23的物理块即PB23有关的数据。物理块PB23与具有索引为7的子组即SG7有关。因此,可以增加第7子计数器SC7的计数器值以具有如图12所示的位状态。在图12C中,第i读取计数器的子计数器SC7具有位状态“01”。
从图12C中可以看出,子计数器SC1达到其最大值STHOLD(=2s-1=22-1=3)。因此,在从第1、第9、第17或第25PB进行任何进一步读取的情况下,如图12D所示,所有子计数器应被设置为“0”,并且读取计数器Ci的主要部分应该递增。在图12D中,所有子计数器具有位状态“00”,并且读取计数器的主要部分具有位状态“0...001”。
再次参照图12C,从物理块PB23的读取操作不增加读取计数器的主要部分。图5的控制器52可以以相同的方式管理从第i超级块的进一步读取,同时读取计数器的主要部分未达到MTHOLD=35000的值。这允许通过从超级块进行更多读取操作来满足读取干扰保护要求。
图13是示出根据本发明的实施例的读取请求管理操作1300的流程图。例如,可以由包括在图5的控制器520中的控制部件520A来执行图13的读取请求管理操作。控制器520可以包括非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质存储用于控制器520执行如图13所示的管理事件的操作的指令集。
参照图13,读取请求管理操作1300可以包括步骤1310、1320、1330、1340和1350。
在步骤1310中,控制器520可以将多个超级块中的超级块划分成多个子组。每个子组可以包括多个物理块。
在实施例中,控制器520可以基于事件序列来分配多个物理块,使得受事件序列影响的物理块链接到不同的组。
在另一实施例中,控制器520可以基于事件序列顺序地分配多个物理块,使得物理块可选地链接到不同的组。
在步骤1320中,控制器520可以分配事件计数器,以用于对物理块中的每一个被访问的事件序列进行计数。
在各个实施例中,事件计数器包括主计数器和分别对应于多个子组的多个子计数器。可以基于第一阈值来确定子计数器中的每一个的大小。可以基于第二阈值来确定主计数器大小。
在各个实施例中,控制器520分配事件计数器用以对读取请求的事件进行计数,该读取请求访问一个超级块以用于读取操作。
在各个实施例中,基于随机存取存储器(RAM)的大小和用于重定位的阈值来确定事件计数器的大小。
在各个实施例中,基于子计数器中的每一个的大小来确定第一阈值,并且基于子计数器中的每一个的大小和阈值来确定第二阈值。
在各个实施例中,事件序列包括针对物理块的读取请求。
在步骤1330中,每当相应子组中物理块被访问时,控制器520可以更新子计数器中的每一个的计数值。
在步骤1340中,每当子计数器中的一个达到等于第一阈值的计数值时,控制器520可以更新主计数器的计数值。
在步骤1350中,当主计数器的计数值等于第二阈值时,控制器520可以对存储在超级块中的数据执行重定位。
在各个实施例中,重定位包括对一个超级块的垃圾收集。
如前所述,本发明的实施例提供一种基于子组链接方案(SLS)的事件管理方法。实施例利用每个事件计数器的未使用位。具体地,实施例减少了不必要的系统动作(例如,诸如垃圾收集(GC)的数据重定位)调用的频率,系统动作调用被用于保护用户数据免于在具有有限范围的RAN资源的诸如基于3D NAND闪存的存储系统的嵌入式系统中受到读取干扰。这确保了装置性能和耐用性的提高。
尽管前述实施例为了清楚和理解的目的已经描述了一些细节,但是本发明不限于提供的细节。本领域技术人员根据前述公开将理解,存在许多实施本发明的替代方式。因此公开的实施例是示意性的,而非限制性的。本发明旨在涵盖落入权利要求范围内的所有修改方案和替代方案。

Claims (20)

1.一种用于操作嵌入式系统的方法,所述嵌入式系统包括多个对象组,所述方法包括:
将所述多个对象组之中的对象组划分成多个子组,每个子组包括多个对象;
使用事件计数器对所述对象中的每一个受外部事件影响的次数进行计数,所述事件计数器包括主计数器和分别对应于所述多个子组的多个子计数器,基于第一阈值来确定所述子计数器中的每一个的大小,基于第二阈值来确定所述主计数器的大小;
每当相应子组中的对象受所述外部事件影响时,更新所述子计数器中的每一个的计数值;
每当所述子计数器中的一个达到等于所述第一阈值的计数值时,更新所述主计数器的计数值;并且
当所述主计数器的计数值等于所述第二阈值时,对所述对象组执行系统动作,
其中每个子计数器使用主计数器的未使用位的多个非重叠范围之中的主计数器的一些范围的未使用位来操作。
2.根据权利要求1所述的方法,其中所述嵌入式系统包括存储器系统,所述存储器系统包括具有所述多个对象组的存储器装置,并且所述多个子组包括多个对象,
其中执行所述系统动作包括执行所述系统动作以避免对监视对象的负面影响。
3.根据权利要求2所述的方法,其中物理块中的每一个被访问以用于读取操作。
4.根据权利要求2所述的方法,其中基于随机存取存储器即RAM的大小和用于重定位的重定位阈值来确定所述事件计数器的大小。
5.根据权利要求4所述的方法,其中基于所述子计数器中的每一个的大小来确定所述第一阈值。
6.根据权利要求5所述的方法,其中基于所述子计数器中的每一个的大小和系统动作阈值来确定所述第二阈值。
7.根据权利要求1所述的方法,其中划分所述对象组包括将所述多个对象分配给所述多个子组的不同子组,以用于均匀分配的访问。
8.根据权利要求1所述的方法,其中划分所述对象组包括将所述多个对象分配给所述多个子组中的不同子组,以避免连续地访问同一子组。
9.根据权利要求1所述的方法,进一步包括接收针对所述对象的外部事件。
10.一种嵌入式系统,包括:
装置,包括多个对象组;以及
控制器:
将所述多个对象组之中的对象组划分成多个子组,每个子组包括多个对象;
使用所述控制器的事件计数器对所述对象中的每一个受外部事件影响的次数进行计数,所述事件计数器包括主计数器和分别对应于所述多个子组的多个子计数器,基于第一阈值来确定所述子计数器中的每一个的大小,基于第二阈值来确定所述主计数器的大小;
每当相应子组中的对象受所述外部事件影响时,更新所述子计数器中的每一个的计数值;
每当所述子计数器中的一个达到等于所述第一阈值的计数值时,更新所述主计数器的计数值;并且
当所述主计数器的计数值等于所述第二阈值时,对所述对象组执行系统动作,
其中每个子计数器使用主计数器的未使用位的多个非重叠范围之中的主计数器的一些范围的未使用位来操作。
11.根据权利要求 10所述的系统,其中所述嵌入式系统包括存储器系统,所述存储器系统包括具有多个对象组的存储器装置,并且所述多个子组包括多个对象,
其中所述控制器执行所述系统动作以避免对监视对象的负面影响。
12.根据权利要求11所述的系统,其中所述对象中的每一个受所述外部事件影响。
13.根据权利要求11所述的系统,其中所述控制器基于随机存取存储器即RAM的大小和用于所述系统动作的系统动作阈值来确定所述事件计数器的大小。
14.根据权利要求13所述的系统,其中所述控制器基于所述子计数器中的每一个的大小来确定所述第一阈值。
15.根据权利要求14所述的系统,其中所述控制器基于所述子计数器中的每一个的大小和所述系统动作阈值来确定所述第二阈值。
16.根据权利要求10所述的系统,其中所述控制器将所述多个对象分配给所述多个子组的不同子组,以用于均匀分配的外部事件。
17.根据权利要求10所述的系统,其中所述控制器将所述多个对象分配给所述多个子组的不同子组以避免针对同一子组的连续的外部事件。
18.根据权利要求10所述的系统,其中所述控制器接收外部事件以用于对象处理。
19.一种非暂时性计算机可读存储介质,存储用于控制器执行管理嵌入式系统的事件的操作的指令集,所述指令集包括用于以下的指令:
将多个对象组之中的对象组划分成多个子组,每个子组包括多个对象;
使用事件计数器对所述对象中的每一个受外部事件影响的次数进行计数,所述事件计数器包括主计数器和分别对应于所述多个子组的多个子计数器,基于第一阈值来确定所述子计数器中的每一个的大小,基于第二阈值来确定所述主计数器的大小;
每当相应子组中的对象受所述外部事件影响时,更新所述子计数器中的每一个的计数值;
每当所述子计数器中的一个达到等于所述第一阈值的计数值时,更新所述主计数器的计数值;并且
当所述主计数器的计数值等于所述第二阈值时,对所述对象组执行系统动作,
其中每个子计数器使用主计数器的未使用位的多个非重叠范围之中的主计数器的一些范围的未使用位来操作。
20.根据权利要求19所述的非暂时性计算机可读存储介质,其中所述嵌入式系统包括存储器系统,所述存储器系统包括具有多个对象组的存储器装置,并且所述多个子组包括多个对象,
其中执行所述系统动作包括执行所述系统动作以避免对监视对象的负面影响。
CN201811261383.2A 2017-10-26 2018-10-26 用于嵌入式系统的事件管理 Active CN109710177B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762577575P 2017-10-26 2017-10-26
US62/577,575 2017-10-26

Publications (2)

Publication Number Publication Date
CN109710177A CN109710177A (zh) 2019-05-03
CN109710177B true CN109710177B (zh) 2022-02-11

Family

ID=66243884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811261383.2A Active CN109710177B (zh) 2017-10-26 2018-10-26 用于嵌入式系统的事件管理

Country Status (2)

Country Link
US (1) US10810060B2 (zh)
CN (1) CN109710177B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210003625A (ko) * 2019-07-02 2021-01-12 에스케이하이닉스 주식회사 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
CN112230845B (zh) * 2019-07-15 2024-06-14 美光科技公司 存储器子系统中基于子组写计数的损耗均衡
US11360885B2 (en) * 2019-07-15 2022-06-14 Micron Technology, Inc. Wear leveling based on sub-group write counts in a memory sub-system
TWI760872B (zh) * 2020-09-30 2022-04-11 新唐科技股份有限公司 管理控制器及控制方法
CN114817130A (zh) * 2021-01-21 2022-07-29 伊姆西Ip控股有限责任公司 管理文件系统的方法、设备和计算机程序产品
DE102021207931A1 (de) * 2021-07-23 2023-01-26 Robert Bosch Gesellschaft mit beschränkter Haftung Absicherung eines systems gegen falschnichtauslösungen
DE102021207932A1 (de) * 2021-07-23 2023-01-26 Robert Bosch Gesellschaft mit beschränkter Haftung Absicherung eines systems gegen falschauslösungen

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239181A (zh) * 2013-06-24 2014-12-24 国际商业机器公司 累计用于电子系统的硬件计数的方法和电子系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792065B2 (en) * 2003-01-21 2004-09-14 Atmel Corporation Method for counting beyond endurance limitations of non-volatile memories
US7461383B2 (en) * 2006-08-21 2008-12-02 International Business Machines Corporation Method and apparatus for efficient performance monitoring of a large number of simultaneous events
US8189732B1 (en) * 2010-11-17 2012-05-29 Atmel Corporation Non-volatile memory counter
US8345816B1 (en) * 2011-12-06 2013-01-01 International Business Machines Corporation RAM-based event counters using transposition
US9081665B2 (en) * 2012-02-02 2015-07-14 OCZ Storage Solutions Inc. Apparatus, methods and architecture to increase write performance and endurance of non-volatile solid state memory components
US9230689B2 (en) * 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
US9569120B2 (en) * 2014-08-04 2017-02-14 Nvmdurance Limited Adaptive flash tuning
US9959059B2 (en) * 2014-10-20 2018-05-01 Sandisk Technologies Llc Storage error management
US10650885B2 (en) * 2017-03-07 2020-05-12 Alibaba Group Holding Limited Extending flash storage lifespan and data quality with data retention protection
US10340016B2 (en) * 2017-06-26 2019-07-02 Micron Technology, Inc. Methods of error-based read disturb mitigation and memory devices utilizing the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239181A (zh) * 2013-06-24 2014-12-24 国际商业机器公司 累计用于电子系统的硬件计数的方法和电子系统

Also Published As

Publication number Publication date
US20190129768A1 (en) 2019-05-02
CN109710177A (zh) 2019-05-03
US10810060B2 (en) 2020-10-20

Similar Documents

Publication Publication Date Title
US10535410B2 (en) Hybrid read disturb count management
CN109710177B (zh) 用于嵌入式系统的事件管理
US10884947B2 (en) Methods and memory systems for address mapping
US10318414B2 (en) Memory system and memory management method thereof
US10540115B2 (en) Controller adaptation to memory program suspend-resume
US10108472B2 (en) Adaptive read disturb reclaim policy
CN109426449B (zh) 存储器系统及其操作方法
US11681554B2 (en) Logical address distribution in multicore memory system
US10552048B2 (en) Reduction of maximum latency using dynamic self-tuning for redundant array of independent disks
US10089255B2 (en) High performance host queue monitor for PCIE SSD controller
CN110750380B (zh) 具有奇偶校验高速缓存方案的存储器系统以及操作方法
US10896125B2 (en) Garbage collection methods and memory systems for hybrid address mapping
KR102559549B1 (ko) 메모리 시스템에서의 블록 상태를 관리하는 방법 및 장치
KR20210038096A (ko) 메모리 시스템, 데이터 시스템 및 그 동작방법
CN115543860A (zh) 数据处理系统及其操作方法
US11531605B2 (en) Memory system for handling program error and method thereof
US11356123B2 (en) Memory system with low-complexity decoding and method of operating such memory system
US20210249080A1 (en) Memory system with single decoder, multiple memory sets and method for decoding multiple codewords from memory sets using the single decoder
US20210223987A1 (en) Controller with smart scheduling and method of operating the controller
KR20200125262A (ko) 메모리 시스템, 데이터 시스템 및 그 동작방법
US11656979B2 (en) Data tiering in heterogeneous memory system
US11093382B2 (en) System data compression and reconstruction methods and systems
US11307909B2 (en) System for slowdown status notification 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