CN108121610B - 存储器系统及其操作方法 - Google Patents
存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN108121610B CN108121610B CN201710619149.1A CN201710619149A CN108121610B CN 108121610 B CN108121610 B CN 108121610B CN 201710619149 A CN201710619149 A CN 201710619149A CN 108121610 B CN108121610 B CN 108121610B
- Authority
- CN
- China
- Prior art keywords
- tasks
- task
- error
- memory
- code
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims abstract description 165
- 238000011017 operating method Methods 0.000 title abstract description 6
- 239000004065 semiconductor Substances 0.000 claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 53
- 238000000034 method Methods 0.000 claims description 126
- 230000008569 process Effects 0.000 claims description 107
- 238000012790 confirmation Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 7
- 238000012958 reprocessing Methods 0.000 claims description 5
- 238000001514 detection method Methods 0.000 claims description 2
- 230000001413 cellular effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009413 insulation Methods 0.000 description 1
- 238000005442 molecular electronic Methods 0.000 description 1
- 239000002071 nanotube Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0736—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
-
- 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/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种存储器系统及该存储器系统的操作方法。存储器系统可包括:其中存储数据的半导体装置;以及存储器控制器,其用于与半导体装置通信,依次地处理包括在描述符中的任务,当在任务中发生错误时通过以相反的顺序检查任务来检测错误部分,并重新处理包括在检测到的错误部分中的任务。
Description
相关申请的交叉引用
本申请要求于2016年11月30日向韩国知识产权局提交的申请号为10-2016-0161928的韩国专利申请的优先权,其全部公开内容通过引用并入本文。
技术领域
本公开的各个实施例总体涉及一种存储器系统及该存储器系统的操作方法,且更特别地,涉及一种用于执行描述符的存储器系统及该存储器系统的操作方法。
背景技术
通常,存储器系统被广泛地用作诸如计算机、数码相机、MP3播放器和智能电话的数字装置的数据存储装置。这种存储器系统可包括其中存储数据的半导体装置和用于控制半导体装置的存储器控制器。如果数字装置是主机,则存储器控制器可在主机和存储器装置之间传输包括命令和数据的各种信息。
近来,由于数字装置的便携性的提高,数据使用量也已经增加。由于数据量的增加,半导体装置可包括多个存储器装置。随着存储器装置的数量的增加,存储器控制器可执行其中包括各种任务的描述符。
发明内容
本公开的各个实施例涉及一种存储器系统以及该存储器系统的操作方法,当在执行描述符期间发生错误时,该存储器系统可快速地检测到错误部分,并可重新处理包括在所检测到的错误部分中的任务。
本公开的实施例可提供一种存储器系统。存储器系统可包括:其中存储数据的半导体装置;以及存储器控制器,其用于与半导体装置通信、依次地处理包括在描述符中的任务,当在任务中发生错误时通过以相反的顺序检查任务来检测错误部分,并重新处理包括在所检测到的错误部分中的任务。
本公开的实施例可提供存储器系统的操作方法。该方法可包括确定包括在描述符中的任务的处理序列;根据处理序列来处理任务;当所有任务都被处理时,检查是否发生错误;当确定发生错误时,通过以与处理序列相反的顺序检查任务来检测错误部分;以及根据处理序列重新处理包括在错误部分中的任务。
附图说明
图1是示出根据本公开的实施例的存储器系统的框图。
图2是用于说明图1所示的存储器控制器和半导体装置之间的联接的视图。
图3是用于说明图1所示的中央处理单元(CPU)的视图。
图4是用于说明根据本公开的实施例的描述符的视图。
图5是用于说明根据本公开的实施例的存储器系统的操作方法的流程图。
图6是用于说明图5的设置序列代码的操作的视图。
图7是用于说明图5中的处理描述符的任务的操作的视图。
图8是用于说明图5中的在处理描述符的任务期间发生错误的情况的视图。
图9是用于说明图5中的错误部分检查操作的视图。
图10是用于说明图5中的重新处理操作的视图。
图11至图13是用于说明根据本公开的实施例的存储器系统的操作方法的视图。
图14是用于说明包括图1所示的存储器控制器的存储器系统的示例的视图。
图15是用于说明包括图1所示的存储器控制器的存储器系统的示例的视图。
图16是用于说明包括图1所示的存储器控制器的存储器系统的示例的视图。
图17是用于说明包括图1所示的存储器控制器的存储器系统的示例的视图。
具体实施方式
现在将在下文中参照附图更全面地描述示例实施例;然而,它们可以不同的形式实施,并且不应被解释为限于本文所阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完整的,并将示例实施例的范围充分传达给本领域技术人员。
在附图中,为了使图示清晰,尺寸可能被放大。应当理解的是,当元件被称为在两个元件“之间”时,其可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。
在下文中,将参照附图描述实施例。本文参照作为实施例和中间结构的示意图的横截面图来描述实施例。因此,由于例如制造技术和/或公差的原因,可以预期图示的形状的变化。因此,实施例不应被解释为限于本文所示的区域的特定形状,而是可包括例如由制造产生的形状的偏差。在附图中,为了清楚起见,层和区域的长度和尺寸可能被放大。附图中相同的附图标记表示相同的元件。
可以使用诸如“第一”和“第二”的术语来描述各种部件,但是它们不应该限制各种部件。这些术语仅用于将部件与其他部件区分开来。例如,在不脱离本公开的精神和范围的情况下,第一部件可被称为第二部件,并且第二部件可被称为第一部件等。此外,“和/或”可包括所提及的部件中的任何一种或组合。
此外,只要在句子中没有具体提及,则单数形式可包括复数形式。此外,在本说明书中使用的“包括/包含”或“包括有/包含有”表示存在或添加一个或多个部件、步骤、操作和元素。
此外,除非另有定义,否则在本说明书中使用的包括技术和科学术语的所有术语具有与相关领域技术人员通常理解的含义相同的含义。在通常使用的字典中定义的术语应被解释为具有与在相关领域的背景中解释的含义相同的含义,并且除非在本说明书中另有明确定义,否则不应被解释为具有理想化或过度正式的含义。
也应注意,在本说明书中,“连接/联接”不仅指一个部件直接联接另一个部件,而且还指通过中间部件间接联接另一个部件。或者,“直接连接/直接联接”指一个部件直接联接另一个部件而没有中间部件。
图1是示出根据本公开的实施例的存储器系统10000的框图。
参照图1,存储器系统10000可包括半导体装置1000和能够控制半导体装置1000的存储器控制器2000。
存储器控制器2000可控制主机和半导体装置1000之间的数据交换。例如,存储器控制器2000可响应于来自主机的请求,执行其中包括有各种任务的描述符。例如,任务可对应于用于处理编程操作、读取操作或擦除操作的内部命令。半导体装置1000可根据任务来执行诸如编程操作、读取操作和擦除操作的各种操作。为了执行这些操作,存储器控制器2000可包括缓冲存储器2100、中央处理单元(CPU)2200、静态随机存取存储器(SRAM)2300、半导体装置接口(S.D.IF)2400、队列控制器2500和主机接口2600。包括在存储器控制器2000中的这些装置可经由总线相互通信。除上述装置之外,存储器控制器2000可进一步包括操作所需的各种装置。
以下将详细说明上述装置。
缓冲存储器2100可临时存储当存储器控制器2000控制半导体装置1000时所使用的数据。例如,缓冲存储器2100可临时存储用于编程操作的原始数据或当存储器控制器2000执行操作时所频繁使用的数据。
CPU 2200可通过总线来控制缓冲存储器2100、SRAM 2300、半导体装置接口2400、队列控制器2500和主机接口2600之间的通信。例如,CPU 2200可控制用于有效地管理半导体装置1000的操作,例如,损耗均衡、垃圾收集、读取刷新等。CPU 2200可响应于从队列控制器2500接收到的任务队列来选择描述符,并且可依次地处理包括在所选择的描述符中的任务。从CPU 2200输出的任务可被发送到半导体装置1000。半导体装置1000可基于接收到的任务执行操作,并且可输出表示每个操作是否已经完成的反馈数据。基于反馈数据,CPU2200可确定任务是否完成或任务中是否发生错误。当确定在某些任务中发生错误时,CPU2200可检测其中发生错误的任务,并且可重新处理所检测的任务。当处理任务时可能会发生各种错误。例如,这种错误可包括低电压检测错误等。
SRAM 2300可用作CPU 2200的操作存储器。操作存储器可使用与SRAM 2300不同种类的易失性存储器或诸如只读存储器(ROM)的非易失性存储器来实施。
半导体装置接口2400可在存储器控制器2000和半导体装置1000之间发送任务和反馈数据。例如,半导体装置接口2400可将从CPU 2200输出的任务发送到半导体装置1000。此外,半导体装置接口2400可将从半导体装置1000输出的反馈数据发送到CPU 2200。
队列控制器2500可响应于从主机接收到的命令来输出任务队列。任务队列可被发送至CPU 2200。例如,队列控制器2500可输出根据硬件固定的任务队列。任务队列可包括关于描述符的信息。
主机接口2600可在主机和存储器控制器2000之间传输外部命令和数据。
半导体装置1000可被实施为基于易失性存储器的存储装置或基于非易失性存储器的存储装置。例如,基于易失性存储器的存储装置可包括静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。例如,基于非易失性存储器的存储装置可被实施为闪速存储器装置、嵌入式多媒体卡(eMMC)、通用闪存(UFS)、固态硬盘(SSD)、独立磁盘冗余阵列(RAID)或廉价磁盘冗余阵列(RAID)、电可擦除可编程只读存储器(EEPROM)、磁性RAM(MRAM)、自旋转移力矩MRAM、导电桥接RAM(CBRAM)、铁电RAM(FeRAM)、相变RAM(PRAM)、电阻式RAM(RRAM)、纳米管RRAM、聚合物RAM(PoRAM)、纳米浮栅存储器(NFGM)、全息存储器、分子电子存储器装置、绝缘电阻变化存储器等。
图2是用于说明图1所示的存储器控制器2000和半导体装置1000之间的联接的视图。
参照图2,半导体装置1000可包括多个存储器装置组MD1至MDk,其中k是大于1的整数。存储器装置组MD1至MDk的每一个可包括多个存储器装置。存储器装置组MD1至MDk的每一个可经由通道CH1至CHK中相应的一个与存储器控制器2000通信。例如,第一存储器装置组MD1可经由第一通道CH1与存储器控制器2000通信。
图3是用于说明图1所示的CPU 2200的视图。
参照图3,CPU 2200可包括描述符控制器210和多个存储器221、222、223、231和232。存储器221、222、223、231和232可存储包括在描述符中的各种任务以及处理该描述符所需的各种代码。描述符控制器210可响应于任务队列来控制存储器221、222、223、231和232。存储器221、222、223、231和232可包括序列存储器221、任务存储器222、进程存储器223、确认存储器231和当前存储器232。
任务存储器222可存储包括在描述符中的各种任务TC。例如,存储在任务存储器222中的任务TC可包括用于在半导体装置(图1的1000)中执行的各种操作的命令。序列存储器221可存储具有关于任务TC的处理序列的信息的序列代码SC。例如,每当描述符被执行时,序列代码SC可被描述符控制器210更新。进程存储器223可存储具有关于任务TC中已经完成操作的任务的信息的进程代码PC。例如,进程代码PC可由描述符控制器210以操作被完成的顺序进行更新。
确认存储器231可存储具有关于其中已经没有错误地完成操作的部分的信息的确认代码Co_C。当前存储器232可存储具有关于其中发生错误的部分的信息的当前代码Cu_C。例如,包括在描述符中的任务可在特定部分的基础上被连续地处理。半导体装置1000可根据接收的任务执行操作。当选择的部分中的最后任务的操作完成时,半导体装置1000可检查根据选择的部分中的任务执行的操作中是否发生错误,并且可输出反馈数据作为检查的结果。反馈数据可包括关于是否发生错误的信息。如果在选择的部分中没有发生错误,则确认代码Co_C可被设置在选择的部分中的最后任务中。如果在选择的部分中发生任何错误,则当前代码Cu_C可被设置在选择的部分中的最后任务中。也就是说,在基于选择的部分中的任务的所有操作被执行之后,如果确认代码Co_C被分配给最后任务,则这表示在选择的部分中的任务中没有发生错误。然而,在基于选择的部分中的任务的所有操作被执行之后,如果当前代码Cu_C被分配给最后任务,则这表示在选择的部分中的任务之中的一些任务中发生错误。
描述符控制器210可根据关于包括在先前执行的描述符中的任务的信息来更新序列代码SC。例如,根据先前执行的描述符的任务的处理状态,描述符控制器210可重新排列任务的处理序列,并且可根据重新排列的序列将序列代码SC分配给每一个任务。例如,描述符控制器210可根据每一个任务的操作时间或半导体装置1000处理相应任务的状态来重新排列序列代码SC,并且可将映射到每一个任务的重新排列的序列代码SC存储在序列存储器221中。此外,描述符控制器210可基于从半导体装置1000接收到的反馈数据将进程代码PC、确认代码Co_C和当前代码Cu_C存储在各自的存储器223、231和232中。
以下将详细描述上述描述符。
图4是描述根据本公开的实施例的描述符的视图。
参照图4,在没有操作被执行之前的初始描述符41中,用于确定任务的处理序列的第一至第i序列代码S1至Si可被分别分配给第一至第i任务T1至Ti,其中i为大于1的整数。由于初始描述符41处于其中没有操作被执行的状态,因此所有的进程代码PC可被设定为初始代码P0。
描述符的第一至第i任务T1至Ti可根据所分配给其的第一至第i序列代码S1至Si来依次地处理。例如,当在第一至第i序列代码S1至Si中,第一序列代码S1表示第一序列并且第i序列代码Si表示最后序列时,则首先可根据第一序列代码S1处理第一任务T1,并且其后可根据第二序列代码S2处理第二任务T2。以这种方式,可依次地处理第一至第i任务T1至Ti,并且半导体装置1000可依次地执行对应于第一至第i任务T1至Ti中的每一个的操作。
每当每个操作被完成时,半导体装置1000可输出反馈数据,并且描述符控制器210可基于反馈数据将用于第一至第i任务T1至Ti的第一至第i进程代码P1至Pi存储在进程存储器(图3中的223)中。因此,在执行初始描述符41之后,可将第一至第i进程代码P1至Pi分配给描述符42中的第一至第i任务T1至Ti。
包括在描述符42中的所有的第一至第i任务T1至Ti可基于预设部分被划分,并且在包括在每个部分中的任务被连续处理之后,执行错误检查操作。当确定没有发生错误时,包括在下一部分中的任务可被连续处理。例如,当第一任务T1和第二任务T2包括在第一错误检查点EC1和第二错误检查点EC2之间的第一部分中,第三任务T3至第五任务T5包括在第二错误检查点EC2和第三错误检查点EC3之间的第二部分中时,则其余的任务,即第六任务T6至第i任务Ti,可被划分成多个部分。
包括在第一错误检查点EC1和第二错误检查点EC2之间的第一部分中的第一任务T1和第二任务T2可根据第一序列代码S1和第二序列代码S2被依次地处理。例如,在第一任务T1被处理之后,第一任务T1的第一进程代码P1可被存储在进程存储器223中,并且在第二任务T2被处理之后,第二任务T2的第二进程代码P2可被存储在进程存储器223中。当第一任务T1和第二任务T2没有错误地完成时,确认代码Co_C可在第二错误检查点EC2处被存储在确认存储器(图3中的231)中。随后,包括在第二错误检查点EC2和第三错误检查点EC3之间的第二部分中的第三任务T3至第五任务T5可根据第三序列代码S3至第五序列代码S5被依次地处理。如果在第三任务T3至第五任务T5的所有操作中没有发生错误,则第三任务T3至第五任务T5的第三进程代码P3至第五进程代码P5被存储在进程存储器223中,并且确认代码Co_C可在第三错误检查点EC3处被存储。
如果在第三任务T3至第五任务T5中的任何任务中发生错误,则不更新发生错误的任务的进程代码。也就是说,可维持任务的先前的进程代码。此外,当前代码Cu_C可在第三错误检查点EC3处被存储。描述符控制器(图3中的210)对其中发生错误的部分中的任务执行错误部分检查操作和重新处理操作,然后可以当重新处理操作中没有发生错误时控制描述符来处理包括在下一部分中的任务。
用于检测其中发生错误的任务和重新处理所检测的任务的方法将如下被详细描述。
图5是用于说明根据本公开的实施例的存储器系统的操作方法的流程图。
参照图5,描述符控制器(图3中的210)可在步骤510中设置序列代码SC。例如,每当描述符被执行时,序列代码SC可被描述符控制器210更新。因此,可根据更新的序列代码SC来改变包括在描述符中的任务将被处理的处理序列。
在步骤520中,描述符控制器210可根据序列代码SC依次地处理半导体装置(图1中的1000)中待被处理的描述符的任务。这里,任务将被处理的处理序列为正向。
当包括在特定部分中的所有任务被处理时,在步骤530中,确定处理的任务中是否发生错误。如果在处理的任务中没有发生错误(步骤530为“否”),则任务的操作被终止。当任务的操作被终止时,可处理包括在下一部分中的任务。
如果处理的任务中发生错误(步骤530为“是”),则在步骤540中可执行错误部分检查操作。例如,错误部分检查操作可按序列代码SC的相反顺序执行。也就是说,错误部分检查操作可以这样的方式执行:以序列代码SC的相反顺序来执行当前代码Cu_C被输入的点与确认代码Co_C被输入的点之间的部分内的任务。描述符控制器210可检查对应于每一个任务的进程代码PC。例如,当对应于任务的操作已经没有错误地完成时,更新进程代码PC,而在其中发生错误的任务中不更新进程代码。因此,在发生错误的任务中,可维持先前的进程代码。也就是说,由于根据序列代码SC依次地处理任务,因此可从发生错误的任务开始在任务中不更新进程代码PC。因此,当进程代码PC以序列代码SC的相反顺序被检查时,未被更新的进程代码PC可与更新的进程代码PC中的一个重叠。也就是说,可检测其进程代码PC与其他任务的进程代码PC重叠的任务。
在步骤550中,可根据序列代码SC从具有重叠进程代码PC的任务开始来重新处理任务。例如,当在步骤540中具有重叠进程代码PC的任务被检测到时,描述符控制器210可根据序列代码SC从检测到的任务开始依次地处理任务。
将参照图6至图10详细描述上述步骤。
图6是用于说明图5的步骤510中的设置序列代码的操作的视图。
参照图5和图6,可根据包括在描述符中的任务的处理状态来设置序列代码SC。例如,当第一序列代码S1被设置在第三任务T3中、第二序列代码S2被设置在第一任务T1中、第三序列代码S3被设置在第二任务T2中、第四序列代码S4被设置在第六任务T6中、第五序列代码S5被设置在第五任务T5中并且第六序列代码S6被设置在第四任务T4中时。此外,可设置处于第一错误检查点EC1和第二错误检查点EC2之间的第一部分以及处于第二错误检查点EC2和第三错误检查点EC3之间的第二部分。例如,第一错误检查点EC1可被设置在将根据第一序列代码S1首先处理的第三任务T3开始的点处,第二错误检查点EC2可被设置在将根据第二序列代码S2处理的第一任务T1结束的点处,并且第三错误检查点EC3可被设置在将根据第六序列代码S6处理的第四任务T4结束的点处。由于第一序列代码S1至第六序列代码S6、与其对应的第一至第六任务T1至T6以及第一部分和第二部分的数量和序列是帮助理解本公开的示例,因此这些可根据存储器系统而被不同地设置。
图7是用于说明在图5的步骤520中根据序列代码处理描述符的任务的操作的视图。
参照图5和图7,可以按照从第一序列代码S1至第二序列代码S2的序列代码的顺序71处理第三任务T3和第一任务T1。在包括在第一部分中的第三任务T3和第一任务T1被连续处理之后,执行错误检查操作。当第三任务T3被没有错误地处理时,第三任务T3的进程代码PC可被更新为第一进程代码P1。随后,当第一任务T1也被没有错误地处理时,第一任务T1的进程代码PC可被更新为第二进程代码P2。
由于在第三任务T3和第一任务T1中没有发生错误,因此第一确认代码Co_C1可在第二错误检查点EC2处被存储。
图8是用于说明图5的步骤530中在处理描述符的任务期间发生错误的情况的视图。
参照图5和图8,当在第一错误检查点EC1和第二错误检查点EC2之间的第一部分中已经被处理的第三任务T3和第一任务T1中没有发生错误时,包括在第二错误检查点EC2和第三错误检查点EC3之间的第二部分中的第二任务T2、第六任务T6、第五任务T5和第四任务T4可根据第三序列代码S3至第六序列代码S6被依次地处理(在图5中的步骤520中)。
在包括在第二部分中的第二任务T2、第六任务T6、第五任务T5和第四任务T4被连续处理之后,执行错误检查操作。当被依次地处理的第二任务T2、第六任务T6、第五任务T5和第四任务T4中的第五任务T5中发生错误时,则描述符控制器210在第三错误检查点EC3处检测错误的发生,并且可在第三错误检查点EC3处存储第一当前代码Cu_C1。
图9是描述图5的步骤540中的错误部分检查操作的视图。
参照图5和图9,可按照从存储第一当前代码Cu_C1的第三错误检查点EC3到存储第一确认代码Co_C1的第二错误检查点EC2的顺序执行错误部分检查操作。也就是说,错误部分检查操作可按照序列代码SC的相反顺序执行。由于在图8中示出了在第五任务T5中发生错误的情况,因此第二任务T2和第六任务T6被没有错误地处理。因此,第二任务T2的进程代码PC可被更新为第一进程代码P1,并且第六任务T6的进程代码PC可被更新为第二进程代码P2。然而,由于难以确定在第六任务T6之后处理的第五任务T5和第四任务T4中发生错误的任务,因此可按照序列代码SC的相反顺序执行错误部分检查操作。这旨在检查未更新的进程代码,因为其中发生错误的任务的进程代码PC未被更新。特别地,由于未更新的进程代码PC可能与先前更新的进程代码PC重叠,因此在错误部分检查操作期间检测具有重叠进程代码PC的任务。
描述符控制器210可检查对应于第四任务T4的进程代码PC。在本实施例中,第二进程代码P2被存储在第四任务T4中。随后,描述符控制器210可检查对应于第五任务T5的进程代码PC。如果第一进程代码P1被存储在第五任务T5中,则描述符控制器210将存储在第五任务T5中的第一进程代码P1与存储在第四任务T4中的第二进程代码P2进行比较。由于第一进程代码P1与第二进程代码P2不同,因此描述符控制器210可将第六任务T6的进程代码PC与第四任务T4和第五任务T5的进程代码PC进行比较。当存储在第六任务T6中的进程代码PC92与存储在第四任务T4中的进程代码PC 91重叠时,描述符控制器210可确定在第六任务T6之后处理的任务,即第五任务T5或第四任务T4中发生错误。因此,描述符控制器210将第二任务T2和第六任务T6放置在正常操作组NO中,该正常操作组NO是其中操作被正常地执行的一组任务,并将第五任务T5和第四任务T4放置在错误操作组EO中,该错误操作组EO是其中发生错误的一组任务。
图10是用于说明图5的步骤550中的重新处理操作的视图。
参照图5和图10,描述符控制器210可按照序列代码SC的顺序依次地重新处理包括在错误操作组EO中的第五任务T5和第四任务T4。例如,当对第五任务T5的重新处理操作被没有错误地完成时,第五任务T5的进程代码PC可被更新为跟在第六任务T6的第二进程代码P2之后的第三进程代码P3。然后,当对第四任务T4的重新处理操作被没有错误地完成时,第四任务T4的进程代码PC可被更新为跟在第五任务T5的第三进程代码P3之后的第四进程代码P4。当第四任务T4的进程代码PC被更新时,可在第三错误检查点EC3处再次执行错误检查操作。当通过错误检查操作确定没有发生错误时,描述符控制器210可在第一当前代码Cu_C1被存储的第三错误检查点EC3处存储第二确认代码Co_C2。例如,第一当前代码Cu_C1可被重置,并且可重新存储第二确认代码Co_C2。
虽然已经参照图6至图10描述了四个任务包括在其中发生错误的以下被称为“错误检查部分”的部分中的实施例,但是可根据存储器系统不同地设置任务的数量。在这方面,将基于上述技术来描述用于处理其中更多任务被包括在错误检查部分中的描述符的方法。
图11至图13是用于说明根据本公开的实施例的操作方法的视图。在本实施例中,在第a错误检查点ECa和第b错误检查点ECb之间的错误检查部分被设置,其中a和b为正整数,并且在图11至图13中的第a错误检查点ECa和第b错误检查点ECb之间的错误检查部分中包括九个任务。此外,在本实施例中,第c确认代码Co_Cc被存储在第a错误检查点ECa处。此外,在本实施例中,第10序列代码S10至第18序列代码S18被分别设置在第20任务T20至第28任务T28中,并且根据第10序列代码S10至第18序列代码S18依次地处理第20任务T20至第28任务T28。
参照图11,当依次地处理第20任务T20至第28任务T28时,半导体装置1000可基于第20任务T20至第28任务T28执行操作,并且每当每一操作结束时输出反馈数据。描述符控制器210可根据反馈数据更新每一个任务的进程代码PC。在第28任务T28的操作结束之后,在第b错误检查点ECb处执行错误检查操作。当确定错误检查部分中发生错误时,描述符控制器210可在第b错误检查点ECb处存储第c当前代码Cu_Cc。描述符控制器210可执行错误部分检查操作以检测第20任务T20至第28任务T28中发生错误的一个任务或多个任务。
参照图12,可按照序列代码SC的相反顺序从最后处理的任务,即第28任务T28开始执行错误部分检查操作。在检查了第28任务T28的进程代码PC是第三进程代码P3之后,描述符控制器210可将第27任务T27的进程代码PC与第28任务T28的进程代码PC进行比较。
由于第27任务T27的进程代码PC是第二进程代码P2,因此第27任务和第28任务的进程代码P2和P3彼此不重叠。因此,描述符控制器210可将第26任务T26的进程代码PC与第27任务和第28任务的进程代码P2和P3进行比较。
由于第26任务T26的进程代码PC是第五进程代码P5,因此第26任务T26的第五进程代码P5不与第27任务T27和第28任务T28的进程代码P2和P3的任何一个重叠。因此,描述符控制器210可将下一个任务即第25任务T25的进程代码PC与第26任务T26至第28任务T28的进程代码P5、P2和P3进行比较。
由于第25任务T25的进程代码PC是第八进程代码P8,因此第25任务T25的第八进程代码P8不与第26任务T26至第28任务T28的进程代码P5、P2和P3中的任何一个重叠。因此,描述符控制器210可将第24任务T24的进程代码PC与第25任务T25至第28任务T28的进程代码P8、P5、P2和P3进行比较。
由于第24任务T24的进程代码PC是第五进程代码P5,因此描述符控制器210可确定第24任务T24的进程代码PC 122与第26任务T26的进程代码PC 121重叠。
因此,描述符控制器210可将第20任务T20至第24任务T24放置在正常操作组NO中,并且可将第25任务T25至第28任务T28放置在错误操作组EO中。
参照图13,描述符控制器210可按照序列代码SC的顺序依次地重新处理包括在错误操作组EO中的第25任务T25至第28任务T28。如果第25任务至第28任务被没有错误地重新处理,则第25任务T25至第28任务T28的进程代码PC可被更新为第六进程代码P6至第九进程代码P9。当第25任务T25至第28任务T28的进程代码PC被更新时,可在第b错误检查点ECb处再次执行错误检查操作。当通过错误检查操作确定没有发生错误时,描述符控制器210可在第c当前代码Cu_Cc被存储的第b错误检查点ECb处存储第d确认代码Co_Cd。
如上所述,由于可在描述符中正在被处理的任务中快速检测到其中发生错误的部分,并且可重新处理发生错误的任务,因此可提高存储器系统的可靠性和操作速度。
图14是用于说明包括图1所示的存储器控制器的存储器系统30000的示例的视图。
参照图14,存储器系统30000可以蜂窝电话、智能电话、平板PC、个人数字助理(PDA)或无线通信装置的形式实施。存储器系统30000可包括半导体装置1000和能够控制半导体装置1000的操作的存储器控制器2000。存储器控制器2000可在处理器3100的控制下控制半导体装置1000的数据访问操作,例如编程操作、擦除操作或读取操作。图14的半导体装置1000和存储器控制器2000可具有与图1所示的存储器系统的结构基本相同的结构。存储器控制器2000可检测正在执行的描述符中的错误,并且可重新处理其中发生错误的部分中的任务。
可在存储器控制器2000的控制下经由显示器3200输出在半导体装置1000中编程的数据。
无线电收发器3300可经由天线ANT发送和接收无线信号。例如,无线电收发器3300可将经由天线ANT接收的无线信号转换成能够在处理器3100中处理的信号。因此,处理器3100可处理从无线电收发器3300输出的信号,并且可将经处理的信号发送到存储器控制器2000或显示器3200。存储器控制器2000可将由处理器3100处理的信号编程到半导体装置1000中。此外,无线电收发器3300可将从处理器3100输出的信号转换为无线信号,并且可经由天线ANT将无线信号输出到外部装置。输入装置3400是用于控制处理器3100的操作的控制信号或将由处理器3100处理的数据可以通过其被输入的装置,并且可以诸如触控板或计算机鼠标、小型键盘或键盘的指点装置的形式来实施。处理器3100可控制显示器3200的操作,使得从存储器控制器2000输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据可经由显示器3200被输出。
根据实施例,能够控制半导体装置1000的操作的存储器控制器2000可以被实施为处理器3100的一部分,或者可被实施为与处理器3100分离的芯片。
图15是用于说明包括图1所示的存储器控制器的存储器系统40000的示例的视图。
参照图15,存储器系统40000可以个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器的形式实施。
存储器系统40000可包括半导体装置1000和能够控制半导体装置1000的数据处理操作的存储器控制器2000。图15的半导体装置1000和存储器控制器2000可具有与图1所示的存储器系统的结构基本相同的结构。
处理器4100可根据通过输入装置4200输入的数据经由显示器4300输出存储在半导体装置1000中的数据。例如,输入装置4200可以诸如触控板或计算机鼠标、小型键盘或键盘的指点装置的形式来实施。
处理器4100可控制存储器系统40000的整体操作,并且可控制存储器控制器2000的操作。根据实施例,能够控制半导体装置1000的操作的存储器控制器2000可以被实施为处理器4100的一部分,或者可被实施为与处理器4100分离的芯片。
图16是用于说明包括图1所示的存储器控制器的存储器系统50000的示例的视图。
参照图16,存储器系统50000可以例如数码相机、配备有数码相机的蜂窝电话、配备有数码相机的智能手机或配备有数码相机的平板PC的图像处理装置的形式实施。
存储器系统50000包括半导体装置1000和能够控制半导体装置1000的例如编程操作、擦除操作或读取操作的数据处理操作的存储器控制器2000。图16的半导体装置1000和存储器控制器2000可具有与图1所示的存储器系统的结构基本相同的结构。
存储器系统50000的图像传感器5200可将光学图像转换为数字信号,并且经转换的数字信号可被发送到处理器5100或存储器控制器2000。在处理器5100的控制下,经转换的数字信号可通过显示器5300输出,或者可通过存储器控制器2000存储在半导体装置1000中。此外,存储在半导体装置1000中的数据可在处理器5100或存储器控制器2000的控制下经由显示器5300输出。
根据实施例,能够控制半导体装置1000的操作的存储器控制器2000可被实施为处理器5100的一部分或与处理器5100分离的芯片。
图17是用于说明包括图1所示的存储器控制器的存储器系统70000的示例的视图。
参照图17,存储器系统70000可以存储卡或智能卡的形式实施。存储器系统70000可包括半导体装置1000、存储器控制器2000和卡接口7100。
存储器控制器2000可控制半导体装置1000和卡接口7100之间的数据交换。根据实施例,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但是卡接口7100不限于这些示例。图17的半导体装置1000和存储器控制器2000可具有与图1所示的存储器系统的结构基本相同的结构。
卡接口7100可根据主机60000的协议来控制主机60000和存储器控制器2000之间的数据交换。根据实施例,卡接口7100可支持通用串行总线(USB)协议和芯片间(IC)-USB协议。这里,卡接口可以是能够支持由主机60000使用的协议的硬件、安装在硬件中的软件或是信号传输方法。
当存储器系统70000与诸如PC、平板PC、数码相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200连接时,主机接口6200可在微处理器μP 6100的控制下经由卡接口7100和存储器控制器2000与半导体装置1000进行数据通信。
本公开可快速地检测到在执行描述符期间发生错误的部分,并重新处理检测到的部分中的任务,由此可提高存储器系统的可靠性和操作速度。
在此已经公开了实施例的示例,尽管采用了特定的术语,但是它们仅以通用和描述性意义被使用和解释,而不是为了限制的目的。在一些情况下,如随着本发明的提交对于本领域普通技术人员显而易见的是,除非另有明确说明,否则结合特定实施例描述的特征、特性和/或要素可以单独使用或与结合其它实施例描述的特征、特性和/或要素组合使用。因此,本领域技术人员将了解的是,在不脱离所附权利要求所陈述的本公开的精神和范围的情况下,可以在形式和细节上进行各种改变。
Claims (20)
1.一种存储器系统,其包括:
半导体装置,其中存储数据,并且基于接收到的任务执行操作并且输出表示每个操作是否已经完成的反馈数据;以及
存储器控制器,其用于与所述半导体装置通信,根据所述任务的处理序列依次地处理包括在描述符中的所述任务,基于所述反馈数据确定所述任务中是否发生错误,当在所述任务中发生错误时,通过比较包括在所述描述符中的并且与所述任务相对应的进程代码,以与所述处理序列相反的顺序检查所述任务来检测错误部分,并根据所述处理序列重新处理包括在所述错误部分中的任务。
2.根据权利要求1所述的存储器系统,其中所述存储器控制器包括:
队列控制器,其用于响应于命令来输出任务队列;以及
中央处理单元,即CPU,其用于响应于所述任务队列来处理所述描述符。
3.根据权利要求2所述的存储器系统,其中所述CPU包括:
存储器,其用于存储包括在所述描述符中的所述任务和处理所述描述符所需的各种代码;以及
描述符控制器,其用于响应于所述任务队列来控制所述存储器。
4.根据权利要求3所述的存储器系统,其中所述存储器包括:
任务存储器,其用于存储所述任务;
序列存储器,其用于存储具有关于所述任务的所述处理序列的信息的序列代码;
进程存储器,其用于存储具有关于所述任务中完成操作的任务的信息的所述进程代码;
确认存储器,其用于存储具有关于其中没有发生错误的部分的信息的确认代码;以及
当前存储器,其用于存储具有关于其中发生错误的部分的信息的当前代码。
5.根据权利要求4所述的存储器系统,其中存储在所述任务存储器中的所述任务包括用于在所述半导体装置中执行的各种操作的命令。
6.根据权利要求4所述的存储器系统,其中:
当所述描述符被执行时,所述序列代码根据所述任务的处理状态被更新;并且
所述任务根据所述序列代码被依次地处理。
7.根据权利要求4所述的存储器系统,其中所述进程代码以操作被完成的顺序被依次地更新。
8.根据权利要求4所述的存储器系统,其中当在所述任务中,包括在错误检查部分中的所有任务都被没有错误地处理时,所述确认代码被分配到所述错误检查部分中处理的任务中的最后处理的任务。
9.根据权利要求4所述的存储器系统,其中当在所述任务中,在包括在错误检查部分中的一些任务中发生错误时,所述当前代码被分配到所述错误检查部分中处理的任务中的最后处理的任务。
10.根据权利要求9所述的存储器系统,其中:
当包括在所述错误检查部分中的任务被重新处理之后没有发生错误时,所述当前代码被重置;并且
所述确认代码被分配到所重新处理的任务中的最后处理的任务。
11.根据权利要求3所述的存储器系统,其中所述描述符控制器被配置成:
依次地处理包括在所述描述符中的任务中包括在错误检查部分中的任务;
当包括在所述错误检查部分中的任务中的最后任务被处理时,检查所述错误检查部分中是否发生错误;
当确定发生错误时,执行错误部分检查操作和重新处理操作;并且
当确定没有发生错误时,依次地处理包括在下一错误检查部分中的任务。
12.根据权利要求11所述的存储器系统,其中当执行所述错误部分检查操作时,在包括在所述错误检查部分中的任务之中,所述描述符控制器从所述最后任务开始以相反的顺序检查所述任务。
13.根据权利要求12所述的存储器系统,其中当执行所述错误部分检查操作时,所述描述符控制器检查被分配给所述任务中的每一个的进程代码。
14.根据权利要求13所述的存储器系统,其中当执行所述错误部分检查操作时,在包括在所述错误检查部分中的任务之中,所述描述符控制器检查其进程代码彼此重叠的任务,并从最后检测的任务的下一个任务开始依次地重新处理任务。
15.一种存储器系统的操作方法,其包括:
确定包括在描述符中的任务的处理序列;
根据所述处理序列来处理所述任务;
当所有所述任务被处理时,基于反馈数据确定所述任务中是否发生错误;
当确定发生错误时,通过比较包括在所述描述符中的并且与所述任务相对应的进程代码,以与所述处理序列相反的顺序检查所述任务来检测错误部分;以及
根据所述处理序列重新处理包括在所述错误部分中的任务。
16.根据权利要求15所述的方法,其中所述任务的处理序列根据先前执行的描述符的任务的处理状态而改变。
17.根据权利要求15所述的方法,其中当所述任务中的每一个都被没有错误地处理时,所述进程代码被依次地分配给所述任务。
18.根据权利要求17所述的方法,其中在所述任务中,其中发生错误的任务维持先前分配给其的进程代码。
19.根据权利要求18所述的方法,其中所述错误部分的检测包括:
将所述进程代码相互比较;
检测具有彼此重叠的进程代码的任务;以及
将所述错误部分设置为包括所述任务之中从最后检测的任务之后的任务到最后任务。
20.根据权利要求19所述的方法,其进一步包括:
在重新处理任务之后检查是否发生错误。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0161928 | 2016-11-30 | ||
KR1020160161928A KR20180062062A (ko) | 2016-11-30 | 2016-11-30 | 메모리 시스템 및 이의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108121610A CN108121610A (zh) | 2018-06-05 |
CN108121610B true CN108121610B (zh) | 2021-05-07 |
Family
ID=62190155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710619149.1A Expired - Fee Related CN108121610B (zh) | 2016-11-30 | 2017-07-26 | 存储器系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10416908B2 (zh) |
KR (1) | KR20180062062A (zh) |
CN (1) | CN108121610B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102410306B1 (ko) * | 2018-01-29 | 2022-06-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR102640910B1 (ko) * | 2023-08-11 | 2024-02-23 | 리벨리온 주식회사 | 인공지능 연산과 연관된 데이터 복구 방법 및 시스템 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7016304B2 (en) * | 2001-05-18 | 2006-03-21 | Intel Corporation | Link level retry scheme |
US6701393B1 (en) * | 2002-06-27 | 2004-03-02 | Emc Corporation | Systems and methods for managing storage location descriptors |
EP1526541A1 (en) | 2003-10-23 | 2005-04-27 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for recording data and recovering recorded data |
US20130019130A1 (en) * | 2011-07-15 | 2013-01-17 | Synopsys Inc. | Testing electronic memories based on fault and test algorithm periodicity |
US9003103B2 (en) | 2011-09-12 | 2015-04-07 | Microsoft Technology Licensing, Llc | Nonvolatile media dirty region tracking |
US9274937B2 (en) * | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US9455747B1 (en) * | 2013-03-27 | 2016-09-27 | SK Hynix Inc. | Parallel chien search with folding and a symbolized minimal polynomial combinational network (S-MPCN) |
US9400894B1 (en) * | 2014-08-05 | 2016-07-26 | Google Inc. | Management of log files subject to edit restrictions that can undergo modifications |
KR20160118836A (ko) * | 2015-04-03 | 2016-10-12 | 에스케이하이닉스 주식회사 | 호스트 커맨드 큐를 포함하는 메모리 컨트롤러 및 그것의 동작 방법 |
-
2016
- 2016-11-30 KR KR1020160161928A patent/KR20180062062A/ko unknown
-
2017
- 2017-06-28 US US15/635,291 patent/US10416908B2/en not_active Expired - Fee Related
- 2017-07-26 CN CN201710619149.1A patent/CN108121610B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR20180062062A (ko) | 2018-06-08 |
US10416908B2 (en) | 2019-09-17 |
US20180150247A1 (en) | 2018-05-31 |
CN108121610A (zh) | 2018-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109426449B (zh) | 存储器系统及其操作方法 | |
US9448946B2 (en) | Data storage system with stale data mechanism and method of operation thereof | |
KR102641107B1 (ko) | 스토리지 장치, 이를 포함하는 시스템 및 그 동작 방법 | |
KR102468751B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
CN109032501B (zh) | 存储器系统及其操作方法 | |
CN109671459B (zh) | 存储器系统及其操作方法 | |
KR102564774B1 (ko) | 메모리 시스템 혹은 데이터 처리 시스템의 동작을 진단하는 장치 혹은 진단을 통해 신뢰성을 확보하는 방법 | |
CN108257637B (zh) | 存储器系统及其操作方法 | |
CN110069426B (zh) | 存储器控制器及具有存储器控制器的存储器系统 | |
US9672149B2 (en) | Partial page programming of nonvolatile memory device | |
US9081658B2 (en) | Storage device and data management method thereof | |
KR20160075174A (ko) | 메모리 시스템 및 그 동작방법 | |
US10990539B2 (en) | Controller, memory system including the same, and method of operating memory system | |
US20180373629A1 (en) | Memory system and operating method thereof | |
CN109753375B (zh) | 存储器系统及其操作方法 | |
US20130031300A1 (en) | Non-volatile memory device, method of operating the same, and memory system having the non-volatile memory device | |
CN112148533A (zh) | 将数据存储在存储器系统的mlc区域中的设备和方法 | |
CN109753457B (zh) | 数据处理系统及其操作方法 | |
KR102559549B1 (ko) | 메모리 시스템에서의 블록 상태를 관리하는 방법 및 장치 | |
KR20210030599A (ko) | 데이터를 분산 리드할 수 있는 메모리 시스템 및 메모리 시스템의 동작방법 | |
CN112185449A (zh) | 存储器系统以及操作存储器系统的方法 | |
CN108121610B (zh) | 存储器系统及其操作方法 | |
CN109918315B (zh) | 存储器系统及存储器系统的操作方法 | |
CN109426448B (zh) | 存储器系统及其操作方法 | |
CN110688061B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210507 |