CN109213622B - 存储***及其操作方法 - Google Patents

存储***及其操作方法 Download PDF

Info

Publication number
CN109213622B
CN109213622B CN201810347995.7A CN201810347995A CN109213622B CN 109213622 B CN109213622 B CN 109213622B CN 201810347995 A CN201810347995 A CN 201810347995A CN 109213622 B CN109213622 B CN 109213622B
Authority
CN
China
Prior art keywords
data
storage area
volatile storage
host
interface
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
CN201810347995.7A
Other languages
English (en)
Other versions
CN109213622A (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 CN109213622A publication Critical patent/CN109213622A/zh
Application granted granted Critical
Publication of CN109213622B publication Critical patent/CN109213622B/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/073Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/108Parity data distribution in semiconductor storages, e.g. in SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0009Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
    • G11C14/0045Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell and the nonvolatile element is a resistive RAM element, i.e. programmable resistors, e.g. formed of phase change or chalcogenide material
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/255Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with Low Density Parity Check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/25Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM]
    • H03M13/258Error detection or forward error correction by signal space coding, i.e. adding redundancy in the signal constellation, e.g. Trellis Coded Modulation [TCM] with turbo codes, e.g. Turbo Trellis Coded Modulation [TTCM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明的一个实施例涉及一种存储***以及存储***的操作方法,该存储***包括具有易失性储存区和非易失性储存区的存储器件。该存储***包括:存储器件,其包括易失性储存区和非易失性储存区;以及控制器,其包括用于在存储***与主机之间传输数据的第一接口和第二接口,并且控制器适用于通过第一接口在易失性储存区与主机之间传输数据,以及通过第二接口在非易失性储存区与主机之间传输数据,其中控制器还适用于在正常操作模式下,判断从易失性储存区读取的数据中是否发生错误,并且当确定从易失性储存区读取的数据中发生错误时,将易失性储存区的全部数据转储至非易失性储存区的预定第一位置中。

Description

存储***及其操作方法
相关申请的交叉引用
本申请要求2017年7月3日提交的申请号为10-2017-0084230的韩国专利申请的优先权,其全部内容通过引用合并于此。
技术领域
本发明的示例性实施例总体而言涉及一种存储***。具体而言,示例性实施例涉及一种存储***及其操作方法。
背景技术
计算环境的范式正在转向普适计算,这允许用户随时随地使用计算机***。出于这个原因,对于诸如移动电话、数码照相机和笔记本电脑等便携式电子设备的需求正在飞速增长。这些电子设备通常包括使用存储器件作为数据储存器件的存储***。数据储存器件可以用作电子设备的主存储单元或辅助存储单元。
由于使用存储器件的数据储存器件不具有机械驱动单元,因此其可以具有优异的稳定性和耐久性。此外,数据储存器件具有快速的数据访问速率和低功耗。具有这种优点的数据储存器件的非限制性示例包括:通用串行总线(USB)存储器件、不同接口的存储卡、固态驱动器(SSD)等。
发明内容
本发明的实施例针对一种能够有效地恢复数据错误的存储***以及用于操作该存储***的方法。
根据本发明的一个实施例,存储***可以包括:存储器件,其包括易失性储存区和非易失性储存区;以及控制器,其包括用于在存储***与主机之间传输数据的第一接口和第二接口,并且适用于通过第一接口在易失性储存区与主机之间传输数据,以及通过第二接口在非易失性储存区与主机之间传输数据,其中,控制器还适用于在正常操作模式下,判断从易失性储存区读取的数据中是否发生错误,并且当确定从易失性储存区读取的数据中发生错误时,将易失性储存区的全部数据转储至非易失性储存区的预定第一位置中。
优选地,控制器还适用于在正常操作模式下,判断从非易失性储存区读取的数据中是否发生错误,并且当确定从非易失性储存区读取的数据中发生错误时,将包括错误的数据复制到易失性储存区的预定第二位置中。
优选地,控制器包括:错误检测单元,其适用于在正常操作模式下,检测从非易失性储存区读取的数据和从易失性储存区读取的数据中是否发生错误;以及操作控制单元,其适用于响应于从错误检测单元提供的检测信号,而将易失性储存区的全部数据转储至非易失性储存区的预定第一位置中,或者将包括错误的数据复制到易失性储存区的预定第二位置中。
优选地,操作控制单元还适用于在将易失性储存区的全部数据转储至非易失性储存区的预定第一位置中之后,响应于从主机提供的请求,而使存储***进入错误分析模式,以及其中,操作控制单元还适用于在将包括错误的数据复制到易失性储存区的预定第二位置中之后,响应于从主机提供的请求,而使存储***进入错误分析模式。
优选地,操作控制单元还适用于响应于从主机提供的请求,而在错误分析模式下:通过第二接口将预定第一位置的数据输出至主机;或者将预定第一位置的全部数据转储至易失性储存区中,并且通过第一接口将易失性储存区的全部数据输出至主机;或者通过第一接口将易失性储存区的全部数据输出至主机。
优选地,操作控制单元还适用于响应于从主机提供的请求,而在错误分析模式下:通过第一接口将预定第二位置的数据输出至主机;或者将预定第二位置的数据复制到非易失性储存区的预定第三位置中,并且通过第二接口将预定第三位置的数据输出至主机。
优选地,非易失性储存区的尺寸大于易失性储存区的尺寸,预定第一位置的尺寸与易失性储存区的尺寸相同,并且预定第二位置的尺寸与一次传输至非易失性储存区和/或从非易失性储存区传输的数据的最大尺寸相同。
优选地,控制器还包括:时钟发生单元,其适用于产生具有相对较高频率的第一时钟和具有相对较低频率的第二时钟;以及操作控制单元,其适用于通过响应于第一时钟而操作的第一接口在易失性储存区与主机之间传输数据,以及通过响应于第二个时钟而操作的第二接口在非易失性储存区与主机之间传输数据。
优选地,易失性储存区是主机的主存储器,以及其中,非易失性储存区是主机的储存器。
优选地,第一接口是双列直插式存储器模块(DIMM)接口或者***组件互连快速(PCI-e)接口之中的接口,以及其中第二接口是双列直插式存储器模块(DIMM)接口或***组件互连快速(PCI-e)接口之中的接口。
优选地,存储器件包括与易失性储存区相对应的多个易失性存储器裸片以及与非易失性储存区相对应的多个非易失性存储器裸片。
根据本发明的一个实施例,存储***的操作方法,该存储***包括具有易失性储存区和非易失性储存区的存储器件以及用于在存储***与主机之间传输数据的第一接口和第二接口,该操作方法包括:通过第一接口在易失性储存区与主机之间传输数据,以及通过第二接口在非易失性储存区与主机之间传输数据;以及在正常操作模式下,判断从易失性储存区读取的数据中是否发生错误,并且当确定从易失性储存区读取的数据中发生错误时,将易失性储存区的全部数据转储至非易失性储存区的预定第一位置中。
优选地,该操作方法还包括在正常操作模式下,判断从非易失性储存区读取的数据中是否发生错误,并且当确定从非易失性储存区读取的数据中发生错误时,将包括错误的数据复制到易失性储存区的预定第二位置中。
优选地,该操作方法还包括:在将易失性储存区的全部数据转储至非易失性储存区的预定第一位置中之后,响应于从主机提供的请求,而使存储***进入错误分析模式;以及在将包括错误的数据复制到易失性储存区的预定第二位置中之后,响应于从主机提供的请求,而使存储***进入错误分析模式。
优选地,该操作方法还包括:在错误分析模式下:通过第二接口将预定第一位置的数据输出至主机;或者将预定第一位置的全部数据转储至易失性储存区中,并且通过第一接口将易失性储存区的全部数据输出至主机;或者通过第一接口将易失性储存区的全部数据输出至主机。
优选地,该操作方法还包括:在错误分析模式下:通过第一接口将预定第二位置的数据输出至主机;或者将预定第二位置的数据复制到非易失性储存区的预定第三位置中,并且通过第二接口将预定第三位置的数据输出至主机。
优选地,非易失性储存区的尺寸大于易失性储存区的尺寸,预定第一位置的尺寸与易失性储存区的尺寸相同,以及预定第二位置的尺寸与一次传输至非易失性储存区和/或从非易失性储存区传输的数据的最大尺寸相同。
优选地,传输数据的步骤包括:产生具有相对较高频率的第一时钟和具有相对较低频率的第二时钟;以及通过响应于第一时钟而操作的第一接口在易失性储存区与主机之间传输数据;以及通过响应于第二时钟而操作的第二接口在非易失性储存区与主机之间传输数据。
优选地,易失性储存区是主机的主存储器,以及其中,非易失性储存区是主机的储存器。
优选地,第一接口是双列直插式存储器模块(DIMM)接口或***组件互连快速(PCI-e)接口之中的接口,以及其中,第二接口是双列直插式存储器模块(DIMM)接口或***组件互连快速(PCI-e)接口之中的接口。
根据本发明的一个实施例,存储***包括:存储器件,其包括第一存储器和第二存储器;以及控制器,其适用于通过第一路径以较高的速度将数据从第一存储器传输至外部,通过第二路径以较慢的速度将数据从第二存储器传输至外部,以及控制存储器件:当从第一存储器检测到包括错误的第一数据时,将储存在第一存储器中的全部数据转储至第二存储器中;而当从第二存储器检测到包括错误的第二数据时,将第二数据复制到第一存储器中。
附图说明
图1是图示了根据本发明的一个实施例的包括存储***的数据处理***的框图。
图2是图示了在图1的存储***中采用的存储器件的示例性配置的示意图。
图3是图示了在图2的存储器件中的存储块的存储单元阵列的示例性配置的电路图。
图4是图示了图2的存储器件的示例性三维结构的示意图。
图5A是图示了根据本发明的一个实施例的存储***的框图。
图5B是图示了根据本发明的一个实施例的存储***的元件之中的操作控制单元的具体配置的框图。
图6至图14是示意性图示了根据本发明的各个实施例的图1的数据处理***的应用示例的示图。
具体实施方式
下面参照附图更详细地描述本发明的各种实施例。然而,我们注意到,本发明可以以不同的其它实施例、形式及其变体来实现,并且不应该被解释为限于本文中所阐述的实施例。确切地说,提供所描述的实施例使得本公开将是全面和完整的,并将本发明充分地传达给本发明所属领域的技术人员。贯穿本公开,相同的附图标记在本发明的各个附图和实施例中表示相同的部件。
将理解的是,尽管在本文中可以使用术语“第一”、“第二”、“第三”等来描述各种元件,但是这些元件不限于这些术语。这些术语用于区分一个元素与另一个元素。因此,在不脱离本发明的精神和范围的情况下,下面描述的第一元件也可以被称为第二元件或第三元件。
附图不一定按比例绘制,并且在一些情况下,比例可能被夸大以便清楚地示出实施例的特征。
还将理解的是,当一个元件被称为“连接至”或“耦接至”另一个元件时,其可以直接在其它元件上、连接至其它元件或者耦接至其它元件,或者可以存在一个或更多个中间元件。另外,还将理解的是,当一个元件被称为在两个元件“之间”时,其可以是两个元件之间的唯一元件,或者也可以存在一个或更多个中间元件。
在本文中使用的术语仅用于描述特定实施例的目的,并非旨在限制本发明。
如本文所使用的,除非上下文另有明确指示,否则单数形式也旨在包括复数形式。
还将理解的是,当术语“包括”、“包括有”、“包含”和“包含有”在本说明书中使用时,其指明了存在所述元件,并且不排除存在或添加一个或更多个其它元件。如本文所使用的,术语“和/或”包括一个或更多个相关所列项的任意组合和全部组合。
除非另外限定,否则鉴于本公开,本文使用的包括技术术语和科学术语的所有术语具有与本发明所属领域的普通技术人员通常所理解的相同的含义。还将理解的是,诸如在通用词典中限定的那些术语应当被解释为具有与其在本公开内容和相关领域的背景中的含义相一致的含义,并且将不被解释为理想化的或者过于形式化的意义,除非在本文明确限定。
在以下描述中,阐述了许多具体细节以便提供对本发明的全面理解。本发明可以在没有这些具体细节中的一些或全部的情况下来实践。在其它情况下,未详细地描述周知的工艺结构和/或过程,以免不必要地模糊本发明。
还要注意的是,在一些情况下,对于相关领域的技术人员来说明显的是,结合一个实施例描述的特征或元件可以单独使用或与另一个实施例的其它特征或元件组合使用,除非另外具体指出。
图1是图示了根据本发明的一个实施例的数据处理***100的框图。
参考图1,数据处理***100可以包括可操作地耦接至存储***110的主机102。
例如,主机102可以包括诸如移动电话、MP3播放器和膝上型计算机等的便携式电子设备,或者诸如台式计算机、游戏机、电视机、投影仪等的电子设备。
存储***110可以响应于来自主机102的请求而操作,并且具体地,储存要由主机102访问的数据。存储***110可以用作主机102的主存储***或辅助存储***。根据主机接口的协议,存储***110可以利用能够与主机102电耦接的各种类型的储存器件中的任何一种来实现。适合的储存器件的示例包括:固态驱动器(SSD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、缩小尺寸MMC(RS-MMC)和微型MMC、安全数字(SD)卡、迷你SD和微型SD、通用串行总线(USB)储存器件、通用快闪储存(UFS)器件、紧凑型闪存(CF)卡、智能媒体(SM)卡、记忆棒等。
用于存储***110的储存器件可以用如下的存储器来实现:诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)等的易失性存储器件以及诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电RAM(FRAM)、相变RAM(PRAM)、磁阻RAM(MRAM)、电阻式RAM(RRAM)和快闪存储器等的非易失性存储器件。
存储***110可以包括储存要由主机102访问的数据的存储器件150,以及可以控制存储器件150中的数据的储存的控制器130。
控制器130和存储器件150可以被集成到单个半导体器件中,该单个半导体器件可以被包括在如上所例示的各种类型的存储***中。
存储***110可以被配置为如下的一部分:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板电脑、平板电脑、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航***、黑盒子、数码照相机、数字多媒体广播(DMB)播放器、3D电视、智能电视、数字音频记录器、数字音频播放器、数字图像记录器、数字图片播放器、数字视频记录器、数字视频播放器、配置数据中心的储存器、能够在无线环境下发送和接收信息的器件、配置家庭网络的各种电子设备之一、配置计算机网络的各种电子设备之一、配置远程信息处理网络的各种电子设备之一、射频识别(RFID)器件或者配置计算***的各种组成元件之一。
存储器件150可以是非易失性存储器件,并且即使不提供电力,也可以保留储存在其中的数据。存储器件150可以通过写入操作储存从主机102提供的数据,并且通过读取操作将储存在其中的数据提供至主机102。存储器件150可以包括多个存储块152至156,存储块152至156中的每一个可以包括多个页。每个页可以包括与多个字线(WL)电耦接的多个存储单元。
控制器130可以控制存储器件150的整体操作,诸如读取操作、写入操作、编程操作和擦除操作。例如,存储***110的控制器130可以响应于来自主机102的请求而控制存储器件150。控制器130可以将从存储器件150读取的数据提供至主机102,和/或可以将从主机102提供的数据储存到存储器件150中。
控制器130可以包括:主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电力管理单元(PMU)140、存储器件控制器142(诸如NAND快闪存储器控制器(NFC))和存储器144,它们全部经由内部总线可操作地耦接。
主机接口单元132可以处理从主机102提供的命令和数据,并且可以通过如下的各种接口协议中的至少一种与主机102通信:诸如通用串行总线(USB)、多媒体卡(MMC)、***组件互连-快速(PCI-E)、小型计算机***接口(SCSI)、串行附件SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机***接口(SCSI)、增强型小磁盘接口(ESDI)和集成驱动电子设备(IDE)。
ECC单元138可以在读取操作期间检测并校正从存储器件150读取的数据中的错误。当错误比特的数量大于或等于可校正错误比特的阈值数量时,ECC单元138可以不校正错误比特,并且可以输出表示校正错误比特中的故障的错误校正失败信号。
ECC单元138可以基于编码调制来执行错误校正操作,该编码调制诸如低密度奇偶校验(LDPC)码、博斯-乔赫里-霍克文黑姆(BCH,Bose-Chaudhuri-Hocquenghem)码、turbo码、里德-索罗门(RS,Reed-Solomon)码、卷积码、递归***码(RSC)、格状编码调制(TCM)、分组编码调制(BCM)等。ECC单元138可以包括用于错误校正操作的所有电路、模块、***或器件。
PMU 140可以提供和管理控制器130的电力。
存储器件控制器142可以用作控制器130与存储器件150之间的存储器/储存器接口,以允许控制器130响应于来自主机102的请求而控制存储器件150。当存储器件150为快闪存储器时,并且具体地,当存储器件150为NAND快闪存储器时,存储器件控制器142可以产生用于存储器件150的控制信号,并且在处理器134的控制下处理要提供至存储器件150的数据。
存储器144可以用作存储***110和控制器130的工作存储器,并且储存用于驱动存储***110和控制器130的数据。控制器130可以响应于来自主机102的请求而控制存储器件150。控制器130可以将从存储器件150读取的数据提供至主机102,可以将从主机102提供的数据储存到存储器件150中。存储器144可以储存控制器130和存储器件150执行这些操作所需的数据。
存储器144可以用易失性存储器来实现。存储器144可以用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)来实现。存储器144可以设置在控制器130内或者设置在控制器130外。图1示例了设置在控制器130内的存储器144。在一个实施例中,存储器144可以由具有在存储器144与控制器130之间传输数据的存储器接口的外部易失性存储器来实现。
处理器134可以控制存储***110的整体操作。处理器134可以驱动固件来控制存储***110的整体操作。该固件可以被称为闪存转换层(FTL)。
处理器134可以控制存储***110的整体操作。处理器134可以驱动被称为闪存转换层(FTL)的固件,以控制存储***110的总体操作。
FTL可以执行作为主机102与存储器件150之间的接口的操作。主机102可以通过FTL向存储器件150请求写入操作和读取操作。
FTL可以管理地址映射、垃圾收集、损耗均衡等的操作。具体地,FTL可以储存映射数据。因此,控制器130可以通过映射数据将从主机102提供的逻辑地址映射为存储器件150的物理地址。存储器件150可以由于地址映射操作而像通常设备那样执行操作。此外,通过基于映射数据的地址映射操作,当控制器130更新特定页的数据时,控制器130可以将新数据编程到另一个空白页中,并且可以由于快闪存储器件的特性而使特定页的旧数据无效。此外,控制器130可以将新数据的映射数据储存到FTL中。
处理器134可以用微处理器或中央处理单元(CPU)来实现。
管理单元(未示出)可以被包括在处理器134中,并且可以执行存储器件150的坏块管理。管理单元可以发现存储器件150中包括的坏存储块,这些坏存储块在进一步的使用中处于令人不满意的状态,并且管理单元可以对坏存储块执行坏块管理。当存储器件150是例如NAND快闪存储器的快闪存储器时,由于与非逻辑功能的特性,而在写入操作期间(例如,在编程操作期间)可能发生编程故障。在坏块管理期间,编程故障的存储块或坏存储块的数据可以被编程到新存储块中。此外,由于编程故障造成的坏块严重破坏了具有3D层叠结构的存储器件150的利用效率和存储***100的可靠性,且因此需要可靠的坏块管理。
图2是图示了存储器件150的示意图。
参考图2,存储器件150可以包括多个存储块BLOCK0至BLOCKN-1,并且块BLOCK0至BLOCKN-1中的每一个可以包括多个页,例如2M个页,页的数量可以根据电路设计而改变。根据每个存储单元中可以储存或表示的比特的数量,存储器件150可以包括作为单电平单元(SLC)存储块和多电平单元(MLC)存储块的多个存储块。SLC存储块可以包括多个页,这些页用每个能够储存1比特数据的存储单元来实现。MLC存储块可以包括多个页,这些页用每个能够储存多比特数据(例如,两比特或更多比特数据)的存储单元来实现。包括用每个能够储存3比特数据的存储单元来实现的多个页的MLC存储块可以被限定为三电平单元(TLC)存储块。
图3是图示了存储器件150中的存储块330的电路图。例如,存储块330可以对应于图1中所示的多个存储块152至156中的任意一个。
参考图3,存储器件150的存储块330可以包括电耦接至位线BL0至BLm-1的多个单元串340。每列的单元串340可以包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。多个存储单元或多个存储单元晶体管MC0至MCn-1可以串联电耦接在选择晶体管DST和SST之间。各个存储单元MC0至MCn-1可以由单电平单元(SLC)配置,或者由多电平单元(MLC)配置,每个单电平单元可以储存1比特信息,每个多电平单元可以储存多个比特的数据信息。作为参考,在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,以及“CSL”表示公共源极线。
作为示例,尽管图3仅示出了由NAND快闪存储单元配置的存储块330,但是应当注意的是,根据本实施例的存储器件150的存储块152不限于NAND快闪存储器,并且可以由NOR快闪存储器、组合了至少两种存储单元的混合快闪存储器或者在存储芯片中构建控制器的one-NAND快闪存储器来实现。半导体器件的操作特性不仅可以应用于电荷储存层由导电浮栅配置的快闪存储器件,还可以应用于电荷储存层由电介质层配置的电荷俘获快闪存储器件(CTF)。
存储器件150的电源单元310可以根据操作模式和要被供应至块体(例如,形成存储单元的阱区)的电压来提供要供给至各个字线的字线电压(例如,编程电压、读取电压和通过电压)。电源单元310可以在控制电路(未示出)的控制下执行电压产生操作。电源单元310可以产生多个可变读取电压以产生多个读取数据,在控制电路的控制下选择存储单元阵列的存储块或区段中的一个,选择选定的存储块的字线中的一个,以及将字线电压提供至选定的字线和未选定的字线。
存储器件150的读取/写入电路320可以由控制电路来控制,并且可以根据操作模式而用作感测放大器或写入驱动器。在验证/正常读取操作期间,读取/写入电路320可以作为用于从存储单元阵列读取数据的感测放大器来操作。在编程操作期间,读取/写入电路320可以根据要储存在存储单元阵列中的数据而作为用于驱动位线的写入驱动器来操作。在编程操作期间,读取/写入电路320可以从缓冲器(未示出)接收要储存到存储单元阵列中的数据,并且根据接收到的数据来驱动位线。读取/写入电路320可以包括分别与列(或位线)或列对(或位线对)相对应的多个页缓冲器322至326,并且页缓冲器322至326中的每一个可以包括多个锁存器(未示出)。
图4是图示了存储器件150的三维(3D)结构的示意图。
存储器件150可以由2D或3D存储器件来实现。具体而言,如图4所示,存储器件150可以由具有3D层叠结构的非易失性存储器件来实现。当存储器件150具有3D结构时,存储器件150可以包括多个存储块BLK0至BLKN-1,每个存储块BLK0至BLKN-1都具有3D结构(或垂直结构)。
图5A是图示了根据本发明的一个实施例的存储***110的框图。
参考图5A,存储***110可以包括图1的存储器件150。尽管图5A示出了包括在存储***110中的单个存储器件150,但是应注意的是,本公开不限于此。即,多个存储器件可以被包括在存储***110中。
此外,应注意的是,包括在图5A的控制器130中的元件1322、1324、135、510和520与包括在图1的控制器130中的元件132、134、138、140和142不对应。这是因为图5A示出了控制器130的功能元件1322、1324、135、510和520,而图1示出了控制器130的物理元件132、134、138、140和142。即,图5A示出了不是物理上的而是功能上的控制器130。因此,图5A的控制器130可以与图1的控制器130在物理上相同,并且可以包括图1的控制器130中包括的物理元件132、134、138、140和142。
图1的控制器130与图5A的控制器130之间的区别在于,图1的控制器130可以仅具有单个主机接口132,图1的控制器130通过该单个主机接口132耦接至主机102,而图5A的控制器130可以具有两个接口1322和1324,图5A的控制器130通过该两个接口1322和1324耦接至主机102。
总而言之,图1的存储***110和图5A的存储***110可以彼此相同,除了如下之外:图5A的存储***110可以具有将图5A的存储***110耦接至主机102的两个不同的接口1322和1324。
图5A的存储***110可以包括存储器件150和控制器130。存储器件150可以包括易失性储存区1501和非易失性储存区1502。具体地,存储器件150可以包括多个存储器裸片NV_DIE<1:8>和V_DIE<1:2>。在多个存储器裸片NV_DIE<1:8>和V_DIE<1:2>中,预定数量的非易失性存储器裸片NV_DIE<1:8>可以设置在非易失性储存区1502中,而预定数量的易失性存储器裸片V_DIE<1:2>可以设置在易失性储存区1501中。
例如,非易失性存储器裸片NV_DIE<1:8>可以包括:快闪存储器件、相变随机存取存储(PCRAM)器件、电阻式随机存取存储(RRAM)器件、铁电随机存取存储(FRAM)器件和自旋转移力矩随机存取存储(STT-MRAM)器件中的一个或更多个,但是不限于此。此外,易失性存储器裸片V_DIE<1:2>可以包括DRAM器件和SRAM器件中的一个或更多个,但是不限于此。
控制器130可以包括第一主机接口1322、第二主机接口1324、操作控制单元520、时钟发生单元135和错误检测单元510。在一个实施例中,图5A的第一接口1322和第二接口1324以及时钟发生单元135可以对应于图1的主机接口单元132,图5A的错误检测单元510可以对应于图1的ECC单元138,以及图5A的操作控制单元520可以对应于图1的处理器134。
控制器130可以通过第一接口1322在易失性储存区1501与主机102之间传输数据DATA1或DUMP_DATA或ER_DATA,并且可以通过第二接口1324在非易失性储存区1502与主机102之间传输数据DATA2或DUMP_DATA或ER_DATA。
控制器130可以在正常操作模式下确定从易失性储存区1501读取的数据DATA1中是否发生错误。当确定从易失性储存区1501读取的数据DATA1中发生错误时,控制器130可以将储存在易失性储存区1501中的全部数据DUMP_DATA转储至非易失性储存区1502中的预定第一位置(未示出)中。
控制器130可以在正常操作模式下确定从非易失性储存区1502读取的数据DATA2中是否发生错误。当确定从非易失性储存区1502读取的数据DATA2中发生错误时,控制器130可以将储存在非易失性储存区1502中的已发生错误的数据DATA2作为错误数据ER_DATA复制到易失性储存区1501中的预定第二位置(未示出)中。
控制器130可以在存储***110响应于从主机102提供的请求而进入的错误分析模式下,控制易失性储存区1501输出数据DUMP_DATA或ER_DATA,或者控制非易失性储存区1502输出数据DUMP_DATA或ER_DATA,以便分析存储***110的状态。
控制器130可以在正常操作模式下,通过第一主机接口1322向主机102提供从易失性储存区1501输出的数据DATA1,而在错误分析模式下,通过第一主机接口1322向主机102提供从易失性储存区1501输出的数据DUMP_DATA或ER_DATA。此外,控制器130可以在正常操作模式下,通过第二主机接口1324向主机102提供从非易失性储存区1502输出的数据DATA2,而在错误分析模式下,通过第二主机接口1324向主机102提供从非易失性储存区1502输出的数据DUMP_DATA或ER_DATA。
时钟发生单元135可以产生具有相对较高频率的第一时钟1ST_CLK和具有相对较低频率的第二时钟2ND_CLK。即,第一时钟1ST_CLK可以具有比第二时钟2ND_CLK更高的频率。
第一时钟1ST_CLK可以被传输至第一主机接口1322,这可以增加通过第一路径P1从易失性储存区1501向第一主机接口1322传输数据DATA1或DUMP_DATA或ER_DATA的速度。
第二时钟2ND_CLK可以被传输至第二主机接口1324,这可以降低通过第二路径P2从非易失性储存区1502向第二主机接口1324传输数据DATA2或DUMP_DATA或ER_DATA的速度。
即,时钟发生单元135和操作控制单元520可以操作使得通过第一主机接口1322从易失性储存区1501提供数据DATA1或DUMP_DATA或ER_DATA的速度比通过第二主机接口1324从非易失性储存区1502提供数据DATA2或DUMP_DATA或ER_DATA的速度快。
总而言之,控制器130可以响应于第一时钟1ST_CLK而通过第一主机接口1322在主机102与易失性储存区1501之间传输数据DATA1或DUMP_DATA或ER_DATA,并且可以响应于第二时钟2ND_CLK而通过第二主机接口1324在主机102与非易失性储存区1502之间传输数据DATA2或DUMP_DATA或ER_DATA。由于第一时钟1ST_CLK具有比第二时钟2ND_CLK更高的频率,因此通过第一接口1322从易失性储存区1501传输数据DATA1或DUMP_DATA或ER_DATA的速度可以比通过第二接口1324从非易失性储存区1502传输数据DATA2或DUMP_DATA或ER_DATA的速度快。
因此,控制器130可以以相对较高的速度在主机102与易失性储存区1501之间传输数据DATA1或DUMP_DATA或ER_DATA,并且可以以相对较低的速度在主机102与非易失性储存区1502之间传输数据DATA2或DUMP_DATA或ER_DATA。
在一个实施例中,第一主机接口1322可以是双列直插式存储器模块(DIMM)接口,而第二主机接口1324可以是***组件互连快速(PCI-e)接口。
在另一个实施例中,第一主机接口1322可以是DIMM接口,并且第二主机接口1324可以是DIMM接口。
在又一个实施例中,第一主机接口1322可以是PCI-e接口,并且第二主机接口1324可以是PCI-e接口。
在又一个实施例中,第一主机接口1322可以是PCI-e接口,而第二主机接口1324可以是DIMM接口。
在一个实施例中,控制器130可以控制易失性储存区1501作为主机102的主存储器来操作。在一个实施例中,控制器130可以控制非易失性储存区1502作为储存器件来操作。
错误检测单元510可以在正常操作模式下,确定从易失性储存区1501输出的数据DATA1和从非易失性储存区1502输出的数据DATA2中是否发生错误。
在正常操作模式中,错误检测单元510可以检测从易失性储存区1501读取的数据DATA1中的错误,并且可以根据检测结果来确定是否使能第一检测信号DET1。
在正常操作模式下,错误检测单元510可以检测从非易失性储存区1502读取的数据DATA2中的错误,并且可以根据检测结果来确定是否使能第二检测信号DET2。
此外,包括在控制器130中的操作控制单元520可以执行两种操作。
操作控制单元520的第一操作可以是通过第一接口1ST_I/F和第二接口2ND_I/F将数据DATA1或DATA2或DUMP_DATA或ER_DATA从存储器件150传输至主机102的操作。具体地,为了通过第一接口1ST_I/F在主机102与存储器件150的易失性储存区1501之间传输数据DATA1或DUMP_DATA或ER_DATA,操作控制单元520可以通过第一路径P1在存储器件150的易失性储存区1501与第一主机接口1322之间传输数据DATA1或DUMP_DATA或ER_DATA。此外,为了通过第二接口2ND_I/F在主机102与存储器件150的非易失性储存区1502之间传输数据DATA2或DUMP_DATA或ER_DATA,操作控制单元520可以通过第二路径P2在存储器件150的非易失性储存区1502与第二主机接口1324之间传输数据DATA2或DUMP_DATA或ER_DATA。
操作控制单元520可以响应于从主机102提供的外部命令来产生内部命令IN_CMD,并且可以通过使用内部命令IN_CMD来控制存储器件150。此时,内部命令IN_CMD和外部命令OUT_CMD中的每一个可以包括控制信息(未示出)和地址信息(未示出)。因此,操作控制单元520可以识别何时从存储器件150输出数据DATA1或DATA2或DUMP_DATA或ER_DATA,可以通过判断从存储器件150输出的数据DATA1或DATA2或DUMP_DATA或ER_DATA是从易失性储存区1501输出的数据DATA1或DUMP_DATA或ER_DATA还是从非易失性储存区1502输出的数据DATA2或DUMP_DATA或ER_DATA来选择第一路径P1和第二路径P2中的一个,并且可以通过在第一路径P1与第二路径P2之间选定的一个路径来传输数据DATA1或DATA2或DUMP_DATA或ER_DATA。
操作控制单元520的第二操作可以包括响应于从错误检测单元510提供的检测信号DET<1:2>,而将易失性储存区1501的全部数据DUMP_DATA转储至非易失性储存区1502中的预定第一位置中的操作,以及将错误数据ER_DATA复制到易失性储存区1501中的预定第二位置中的操作。
操作控制单元520还可以响应于从错误检测单元510提供的第一检测信号DET1,而通过将转储操作信号DUMPEX提供至存储器件150来执行将易失性储存区1501的全部数据转储至非易失性储存区1502中的预定第一位置中的操作。即,控制器130可以判断在从易失性储存区1501读取的数据DATA1中是否发生错误,当通过错误检测单元510确定从易失性储存区1501读取的数据DATA1中发生错误时,可以使能第一检测信号DET1,可以响应于从错误检测单元510提供的第一检测信号DET1而通过操作控制单元520将转储操作信号DUMPEX提供至存储器件150。存储器件150可以响应于转储操作信号DUMPEX而将易失性储存区1501的全部数据转储至非易失性储存区1502中的预定第一位置中。
在转储操作期间,可以将易失性储存区1501的全部数据DUMP_DATA无需修改地移动到非易失性储存区1502中。
操作控制单元520可以响应于从错误检测单元510提供的第二检测信号DET2,通过将复制操作信号ECOPY提供至存储器件150,来执行将其中在非易失性储存区1502中发生错误的数据DATA2复制到易失性储存区1501中的预定第二位置中作为错误数据ER_DATA的操作。即,控制器130可以确定从非易失性储存区1502读取的数据DATA2中是否发生错误;当通过错误检测单元510确定从非易失性储存区1502读取的数据DATA2中发生错误时,可以使能第二检测信号DET2;可以响应于从错误检测单元510提供的第二检测信号DET2,而通过操作控制单元520将复制操作信号ECOPY提供至存储器件150。存储器件150可以响应于复制操作信号ECOPY,而将在非易失性储存区1502中发生错误的数据DATA2复制到易失性储存区1501中的预定第二位置中作为错误数据ER_DATA。
在复制操作期间,可以将包括错误的数据DATA2无需修改地复制到易失性储存区1501中的预定第二位置中。
对于数据DATA2的复制操作,易失性储存区1501中的预定第二位置的储存大小可以与来自非易失性储存区1502的单个数据传输的大小相同。
例如,当来自非易失性储存区1502的单个数据传输的大小是16M字节时,可以在易失性存储器裸片V_DIE<1:2>中分配具有16M字节大小的预定第二位置。
操作控制单元520的第一操作和第二操作可以彼此完全独立地执行。
即,从易失性储存区1501读取的数据DATA1和从非易失性储存区1502读取的数据DATA2的错误可以通过诸如ECC单元138的错误校正电路进行错误校正或者可以不进行错误校正,以及因此,控制器130可以根据错误校正电路的错误校正操作的结果来将错误校正数据或读取失败信号作为状态信号输出至主机102。如此,错误校正操作和状态管理操作可以响应于从主机102提供的请求,而在通过操作控制单元520从存储器件150向主机102提供数据DATA1和DATA2的过程期间执行。
另一方面,当错误检测单元510检测到从存储器件150读取的数据DATA1和DATA2中的错误时,可以在存储***110中执行错误检测单元510和操作控制单元520的第二操作,而不管从主机102提供的请求。
作为参考,因为错误检测单元510作为ECC单元138执行错误检测操作,所以错误检测单元510的错误检测操作可以被认为与操作控制单元520的错误检测操作相同。然而,那些错误检测操作可以彼此不同,因为错误检测单元510的错误检测操作是将检测信号DET<1:2>输出至操作控制单元520,而操作控制单元520错误检测操作是将数据DATA1和DATA2输出至主机102。
在错误分析模式下,转储操作和复制操作的结果可以用于分析存储***110的状态。
主机102可以将错误分析模式进入信号ER_ANAL提供至操作控制单元520。操作控制单元520可以响应于错误分析模式进入信号ER_ANAL而控制存储***110进入错误分析模式。
在一个实施例中,在错误分析模式中,储存在非易失性储存区1502中的预定第一位置的数据DUMP_DATA可以被提供至主机102。为此,主机102可以通过外部命令OUT_CMD而向操作控制单元520请求数据DUMP_DATA,操作控制单元520可以将错误分析模式输出信号ER_OUT提供至存储器件150,并且存储器件150可以通过操作控制单元520将储存在非易失性储存区1502的预定第一位置中的数据DUMP_DATA输出至主机102。
因此,在错误分析模式之前,在正常操作模式下,在确定从易失性储存区1501读取的数据DATA1中发生错误的时间点处,主机102可以接收并检查储存在易失性储存区1501中的全部数据DUMP_DATA。
在错误分析模式的一个实施例中,储存在非易失性储存区1502的预定第一位置中的数据DUMP_DATA可以被再次转储至易失性储存区1501中,然后易失性储存区1501中重新转储的数据DUMP_DATA可以被提供至主机102。为此,主机102可以通过外部命令OUT_CMD向操作控制单元520请求数据DUMP_DATA,操作控制单元520可以将错误分析模式输出信号ER_OUT和转储操作信号DUMPEX提供至存储器件150,并且存储器件150可以将储存在非易失性储存区1502的预定第一位置中的数据DUMP_DATA再次转储至易失性储存区1501中,然后可以通过操作控制单元520将易失性储存区1501中重新转储的数据DUMP_DATA提供至主机102。
因此,在错误分析模式之前,在正常操作模式下,在确定从易失性储存区1501读取的数据DATA1中发生错误的时间点处,主机102可以接收并检查储存在易失性储存区1501中的全部数据DUMP_DATA。
在正常操作模式下从确定从易失性储存区1501读取的数据DATA1中发生错误的时间点起经过了相当多时间的情况下,和/或在正常操作模式下在确定从易失性储存区1501读取的数据DATA1中发生错误之后将存储***110断电然后通电的情况下,主机102可以向操作控制单元520请求数据DUMP_DATA。
在错误分析模式的实施例中,储存在易失性储存区1501中的数据DUMP_DATA可以被提供至主机102。
本实施例假设在错误分析模式中DUMP_DATA仍被储存在易失性储存区1501中。为此,主机102可以通过外部命令OUT_CMD向操作控制单元520请求数据DUMP_DATA,操作控制单元520可以将错误分析模式输出信号ER_OUT提供至存储器件150,以及存储器件150可以通过操作控制单元520将储存在易失性储存区1501中的数据DUMP_DATA输出至主机102。
即使在完成该实施例之后,转储至非易失性储存区1502的预定第一位置中的数据DUMP_DATA仍然可以保留。因此,储存在非易失性储存区1502的预定第一位置中的数据DUMP_DATA可以被提供至主机102。
在正常操作模式下从确定易失性储存区1501读取的数据DATA1中发生错误的时间点起经过了相对较短的时间的情况下,和/或在正常操作模式下在确定从易失性储存区1501读取的数据DATA1中发生错误之后存储***110未断电的情况下,主机102可以向操作控制单元520请求数据DUMP_DATA。
主机102可以在错误分析模式之前分析包括在提供的正常操作模式的全部数据DUMP_DATA中的错误。
在错误分析模式的实施例中,储存在易失性储存区1501的预定第二位置中的数据ER_DATA可以被提供至主机102。为此,主机102可以通过外部命令OUT_CMD向操作控制单元520请求数据ER_DATA,操作控制单元520可以将错误分析模式输出信号ER_OUT提供至存储器件150,以及存储器件150可以通过操作控制单元520将储存在易失性储存区1501的预定第二位置中的数据ER_DATA输出至主机102。
因此,在错误分析模式之前,在正常操作模式下,在确定从非易失性储存区1502读取的数据DATA2中发生错误的时间点处,主机102可以接收并检查复制在易失性储存区1501中的数据ER_DATA。
在错误分析模式的实施例中,储存在易失性储存区1501的预定第二位置中的数据ER_DATA可以被再次复制到非易失性储存区1502的预定第三位置中,然后非易失性储存区1502的预定第三位置中重新复制的数据ER_DATA可以被提供至主机102。为此,主机102可以通过外部命令OUT_CMD向操作控制单元520请求数据ER_DATA,操作控制单元520可以将错误分析模式输出信号ER_OUT和复制操作信号ECOPY提供至存储器件150,并且存储器件150可以将储存在易失性储存区1501的预定第二位置中的数据ER_DATA再次复制到非易失性储存区1502的预定第三位置中,然后可以通过操作控制单元520将非易失性储存区1502的预定第三位置中重新复制的数据ER_DATA提供至主机102。
因此,在错误分析模式之前,在正常操作模式下,在确定从非易失性储存区1502读取的数据DATA2中发生错误的时间点处,主机102可以接收并检查复制在易失性储存区1501中的数据ER_DATA。
图5B是图示了图5A的操作控制单元520的详细配置的框图。
参考图5B,操作控制单元520可以包括:第一传输部521,第二传输部522和操作选择部524。
第一传输部521可以在第一选择信号SEL1的使能部分期间将从存储器件150提供的数据DATA1、DUMP_DATA或ER_DATA输出至第一路径P1。
第二传输部522可以在第二选择信号SEL2的使能部分期间将从存储器件150提供的数据DATA2、DUMP_DATA或ER_DATA输出至第二路径P2。
操作选择部524可以响应于从主机102提供的外部命令OUT_CMD和从错误检测单元510提供的检测信号DET<1:2>,而产生用于控制存储器件150的命令IN_CMD和用于控制第一传输部521和第二传输部522的第一选择信号SEL1和第二选择信号SEL2。
响应于从主机102提供的外部命令OUT_CMD和从错误检测单元510提供的检测信号DET<1:2>,操作选择部524可以识别数据DATA1或DATA2或DUMP_DATA或ER_DATA何时从存储器件150输出,并且可以识别从存储器件150输出的数据DATA1或DATA2或DUMP_DATA或ER_DATA是从易失性储存区1501输出的数据DATA1或DATA2或DUMP_DATA或ER_DATA,还是从非易失性储存区1502输出的数据DATA1或DATA2或DUMP_DATA或ER_DATA。因此,操作选择部524可以适当地使能第一选择信号SEL1和第二选择信号SEL2,以控制第一传输部521和第二传输部522。
为了响应于外部命令OUT_CMD而在错误分析模式下通过第二路径P2输出储存在非易失性储存区1502的预定第一位置中的数据DUMP_DATA,操作选择部524可以向存储器件150提供错误分析模式输出信号ER_OUT,然后可以在储存在非易失性储存区1502的预定第一位置中的数据DUMP_DATA被输出至第二传输部522的时间点处,通过使能第二选择信号SEL2来输出数据DUMP_DATA。
以类似的方式,为了响应于外部命令OUT_CMD而在错误分析模式下通过第一路径P1输出重新转储的数据DUMP_DATA,操作选择部524可以向存储器件150提供错误分析模式输出信号ER_OUT和转储操作信号DUMPEX,然后可以在重新转储的数据DUMP_DATA被输出至第一传输部521的时间点处,通过使能第一选择信号SEL1来输出数据DUMP_DATA。
图6是示意性地示出包括根据实施例的存储***的数据处理***的另一个示例的示图。图6示意性地示出了应用了根据实施例的存储***的存储卡***。
参考图6,存储卡***6100可以包括:存储器控制器6120、存储器件6130和连接器6110。
更具体地,存储器控制器6120可以连接至由非易失性存储器实现的存储器件6130,并且被配置为访问存储器件6130。例如,存储器控制器6120可以被配置为控制存储器件6130的读取操作、写入操作、擦除操作及后台操作。存储器控制器6120可以被配置为提供存储器件6130与主机之间的接口,并且驱动用于控制存储器件6130的固件。即,存储器控制器6120可以对应于参照图1至图5B所述的存储***110的控制器130,并且存储器件6130可以对应于参照图1至图5B所述的存储***110的存储器件150。
因此,存储器控制器6120可以包括:RAM、处理单元、主机接口、存储器接口和错误校正单元。
存储器控制器6120可以通过连接器6110与外部设备(例如,图1的主机102)通信。例如,如参照图1至图5B所述,存储器控制器6120可以被配置为通过如下的各种通信协议中的一种或更多种与外部设备通信,各种通信协议诸如通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、PCI快速(PCIe)、高级技术附件(ATA)、串行ATA、并行ATA、小型计算机***接口(SCSI)、增强型小磁盘接口(EDSI)、集成驱动电子设备(IDE)、火线、通用闪存(UFS),WIFI和蓝牙。因此,根据实施例的存储***和数据处理***可以应用于有线/无线电子设备或特别是移动电子设备。
存储器件6130可以由非易失性存储器来实现。例如,存储器件6130可以由各种非易失性存储器件来实现,诸如可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、NAND快闪存储器、NOR快闪存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)和自旋力矩转移磁性RAM(STT-RAM)。
存储器控制器6120和存储器件6130可以被集成到单个半导体器件中。例如,存储器控制器6120和存储器件6130可以通过被集成到单个半导体器件中来构建固态驱动器(SSD)。此外,存储器控制器6120和存储器件6130可以构建如下的存储卡,诸如PC卡(PCMCIA:个人计算机存储卡国际协会)、紧凑型闪存(CF)卡、智能媒体卡(例如,SM和SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC、MMC微型和eMMC)、SD卡(例如,SD、迷你SD、微型SD和SDHC)以及通用闪存(UFS)。
图7是示意性地图示了包括根据一个实施例的存储***的数据处理***的另一个示例的示图。
参考图7,数据处理***6200可以包括具有一个或更多个非易失性存储器的存储器件6230和用于控制存储器件6230的存储器控制器6220。图7中所示的数据处理***6200可以用作如参照图1至图5B所述的储存介质,诸如存储卡(CF、SD、微型SD等)或USB设备。存储器件6230可以对应于图1至图5B中所示的存储***110中的存储器件150,并且存储器控制器6220可以对应于图1至图5B中所示的存储***110中的控制器130。
存储器控制器6220可以响应于主机6210的请求而控制对存储器件6230的读取操作、写入操作或擦除操作,并且存储器控制器6220可以包括一个或更多个CPU 6221、缓冲存储器(诸如RAM 6222)、ECC电路6223、主机接口6224和存储器接口(诸如NVM接口6225)。
CPU 6221可以控制对存储器件6230的整体操作,例如读取操作、写入操作、文件***管理操作和坏页管理操作。RAM 6222可以根据CPU 6221的控制进行操作,并且被用作工作存储器、缓冲存储器或高速缓冲存储器。当RAM 6222被用作工作存储器时,可以将由CPU6221处理的数据暂时储存在RAM 6222中。当RAM 6222被用作缓冲存储器时,RAM 6222可以被用于缓冲从主机6210发送到存储器件6230的数据或从存储器件6230发送到主机6210的数据。当RAM 6222被用作高速缓冲存储器时,RAM 6222可以辅助低速存储器件6230以高速操作。
ECC电路6223可以对应于图1至图5B中所示的控制器130的ECC单元138。如参照图1至图5B所述,ECC电路6223可以产生用于校正从存储器件6230提供的数据的故障比特或错误比特的ECC(错误校正码)。ECC电路6223可以对提供至存储器件6230的数据执行错误校正编码,由此形成具有奇偶校验位的数据。奇偶校验位可以被储存在存储器件6230中。ECC电路6223可以对从存储器件6230输出的数据执行错误校正解码。此时,ECC电路6223可以使用奇偶校验位来校正错误。例如,如参照图1至图5B所述,ECC电路6223可以使用LDPC码、BCH码、turbo码、里德-索罗门码、卷积码、RSC或诸如TCM或BCM的编码调制来校正错误。
存储器控制器6220可以通过主机接口6224向/从主机6210发送/接收数据,并且通过NVM接口6225向/从存储器件6230发送/接收数据。主机接口6224可以通过PATA总线、SATA总线、SCSI、USB、PCIe或NAND接口连接至主机6210。存储器控制器6220可以具有利用诸如WiFi或长期演进(LTE)的移动通信协议的无线通信功能。存储器控制器6220可以连接至外部设备,例如主机6210或另一个外部设备,然后将数据发送到外部设备/从外部设备接收数据。具体而言,因为存储器控制器6220被配置为通过各种通信协议中的一种或更多种与外部设备通信,所以根据实施例的存储***和数据处理***可以应用于有线/无线电子设备,或者特别是移动电子设备。
图8是示意性地图示了包括根据一个实施例的存储***的数据处理***的另一个示例的示图。图8示意性地图示了应用了根据一个实施例的存储***的SSD。
参考图8,SSD 6300可以包括控制器6320和包括多个非易失性存储器的存储器件6340。控制器6320可以对应于图1的存储***110中的控制器130,并且存储器件6340可以对应于图1的存储***中的存储器件150。
更具体地,控制器6320可以通过多个沟道CH1到CHi连接至存储器件6340。控制器6320可以包括一个或更多个处理器6321、缓冲存储器6325、ECC电路6322、主机接口6324和存储器接口(例如,非易失性存储器接口6326)。
缓冲存储器6325可以暂时储存从主机6310提供的数据或从包括在存储器件6340中的多个快闪存储器NVM提供的数据,或者暂时储存多个快闪存储器NVM的元数据,例如包括映射表的映射数据。缓冲存储器6325可以由诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器或者诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器来实现。为了便于描述,图8图示了缓冲存储器6325存在于控制器6320中。然而,缓冲存储器6325可以存在于控制器6320的外部。
ECC电路6322可以在编程操作期间计算要被编程到存储器件6340的数据的ECC值,在读取操作期间基于ECC值对从存储器件6340读取的数据执行错误校正操作,以及在故障数据恢复操作期间对从存储器件6340恢复的数据执行错误校正操作。
主机接口6324可以提供与外部设备(例如,主机6310)的接口功能,并且非易失性存储器接口6326可以提供与通过多个沟道连接的存储器件6340的接口功能。
此外,应用了图1的存储***110的多个SSD 6300可以被提供以实现数据处理***,例如,RAID(独立磁盘的冗余阵列)***。此时,RAID***可以包括多个SSD 6300和用于控制多个SSD 6300的RAID控制器。当RAID控制器响应于从主机6310提供的写入命令而执行编程操作时,RAID控制器可以根据多个RAID电平(即,从SSD 6300中的主机6310提供的写入命令的RAID电平信息),而选择一个或更多个存储***或SSD 6300,并且将与写入命令相对应的数据输出至选定的SSD 6300。此外,当RAID控制器响应于从主机6310提供的读取命令而执行读取命令时,RAID控制器可以根据多个RAID电平(即,从SSD 6300中的主机6310提供的读取命令的RAID电平信息),而选择一个或更多个存储***或SSD 6300,并且将从选定的SSD 6300读取的数据提供至主机6310。
图9是示意性地图示了包括根据一个实施例的存储***的数据处理***的另一个示例的示图。图9示意性地图示了应用了根据一个实施例的存储***的嵌入式多媒体卡(eMMC)。
参考图9,eMMC 6400可以包括控制器6430和由一个或更多个NAND快闪存储器实现的存储器件6440。控制器6430可以对应于图1的存储***110中的控制器130,并且存储器件6440可以对应于图1的存储***110中的存储器件150。
更具体地,控制器6430可以通过多个沟道连接至存储器件6440。控制器6430可以包括一个或更多个核6432、主机接口6431和存储器接口(例如,NAND接口6433)。
核6432可以控制eMMC 6400的整体操作,主机接口6431可以提供控制器6430与主机6410之间的接口功能,并且NAND接口6433可以提供存储器件6440与控制器6430之间的接口功能。例如,主机接口6431可以用作并行接口,例如参照图1至图5B所述的MMC接口。此外,主机接口6431可以用作串行接口,例如,UHS((超高速)-I/UHS-II)接口。
图10至图13是示意性地图示了包括根据一个实施例的存储***的数据处理***的其它示例的示图。图10至图13示意性地图示了应用了根据一个实施例的存储***的UFS(通用闪存)***。
参考图10至图13,UFS***6500、6600、6700和6800可以分别包括主机6510、6610、6710和6810、UFS设备6520、6620、6720和6820以及UFS卡6530、6630、6730和6830。主机6510、6610、6710和6810可以用作有线/无线电子设备或特别是移动电子设备的应用处理器,UFS设备6520、6620、6720和6820可以用作嵌入式UFS设备,以及UFS卡6530、6630、6730和6830可以用作外部嵌入UFS设备或可移动UFS卡。
相应的UFS***6500、6600、6700和6800中的主机6510、6610、6710和6810、UFS设备6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过UFS协议与外部设备(例如,有线/无线电子设备或特别是移动电子设备)通信,并且UFS设备6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过图1至图5B中所示的存储***110来实现。例如,在UFS***6500、6600、6700和6800中,UFS设备6520、6620、6720和6820可以采用参考图10至图12所述的数据处理***6200、SSD 6300或eMMC 6400的形式来实现,并且UFS卡6530、6630、6730和6830可以采用参考图6所述的存储卡***6100的形式来实现。
此外,在UFS***6500、6600、6700和6800中,主机6510、6610、6710和6810、UFS设备6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过UFS接口(例如,MIPI(移动工业处理器接口)中的MIPI M-PHY和MIPI UniPro(统一协议))彼此通信。此外,UFS设备6520、6620、6720和6820以及UFS卡6530、6630、6730和6830可以通过除了UFS协议之外的各种协议(例如,UFD、MMC、SD、迷你SD以及微型SD)来彼此通信。
在图10所示的UFS***6500中,主机6510、UFS设备6520和UFS卡6530中的每一个可以包括UniPro。主机6510可以执行切换操作以便与UFS设备6520和UFS卡6530进行通信。具体而言,主机6510可以通过链路层切换(例如,UniPro处的L3切换)与UFS设备6520或UFS卡6530进行通信。此时,UFS设备6520和UFS卡6530可以通过在主机6510的UniPro处的链路层切换来彼此通信。在一个实施例中,为了便于描述,示例了其中一个UFS设备6520和一个UFS卡6530连接至主机6510的配置。然而,多个UFS设备和UFS卡可以并行或以星形的形式连接至主机6510,并且多个UFS卡可以并行或以星形的形式连接至UFS设备6520,或者串行或以链的形式连接至UFS设备6520。
在图11所示的UFS***6600中,主机6610、UFS设备6620和UFS卡6630中的每一个可以包括UniPro,并且主机6610可以通过执行切换操作的切换模块6640(例如,通过在UniPro处执行链路层切换,(例如,L3切换)的切换模块6640)与UFS设备6620或UFS卡6630进行通信。UFS设备6620和UFS卡6630可以通过UniPro上的切换模块6640的链路层切换来彼此通信。在一个实施例中,为了便于描述,示例了其中一个UFS设备6620和一个UFS卡6630连接至切换模块6640的配置。然而,多个UFS设备和UFS卡可以并行或以星形的形式连接至切换模块6640,并且多个UFS卡可以串行或以链的形式连接至UFS设备6620。
在图12所示的UFS***6700中,主机6710、UFS设备6720和UFS卡6730中的每一个可以包括UniPro,并且主机6710可以通过执行切换操作的切换模块6740(例如,通过在UniPro处执行链路层切换(例如,L3切换)的切换模块6740)与UFS设备6720或UFS卡6730进行通信。此时,UFS设备6720和UFS卡6730可以通过UniPro处的切换模块6740的链路层切换来彼此通信,并且切换模块6740可以在UFS设备6720内部或外部与UFS设备6720集成为一个模块。在一个实施例中,为了便于描述,示例了其中一个UFS设备6720和一个UFS卡6730连接至切换模块6740的配置。然而,每个模块包括切换模块6740和UFS设备6720的多个模块可以并行连接或者以星形的形式连接至主机6710,或者串行或者以链的形式彼此连接。此外,多个UFS卡可以并行或者以星形的形式连接至UFS设备6720。
在图13所示的UFS***6800中,主机6810、UFS设备6820和UFS卡6830中的每一个可以包括M-PHY和UniPro。UFS设备6820可以执行切换操作以与主机6810和UFS卡6830通信。具体而言,UFS设备6820可以通过在M-PHY和UniPro模块(用于与主机6810通信)与M-PHY和UniPro模块(用于与UFS卡6830通信)之间的切换操作(例如,通过目标ID(标识符)切换操作)与主机6810或者UFS卡6830通信。此时,主机6810和UFS卡6830可以通过UFS设备6820的M-PHY与UniPro模块之间的目标ID切换来彼此通信。在一个实施例中,为了便于描述,示例了其中一个UFS设备6820连接至主机6810并且一个UFS卡6830连接至UFS设备6820的配置。然而,多个UFS设备可以并行或以星形的形式连接至主机6810,或者串行或以链的形式连接至主机6810,并且多个UFS卡可以并行或以星形的形式连接至UFS设备6820,或者串行或以链的形式连接至UFS设备6820。
图14是示意性地图示了包括根据一个实施例的存储***的数据处理***的另一个示例的示图。图14是示意性地图示了应用了根据一个实施例的存储***的用户***的示图。
参考图14,用户***6900可以包括:应用处理器6930、存储器模块6920、网络模块6940、储存模块6950和用户接口6910。
更具体地,应用处理器6930可以驱动包括在用户***6900(例如,OS)中的组件,并且包括控制包括在用户***6900中的组件的控制器、接口和图形引擎。应用处理器6930可以被提供为片上***(SoC)。
存储器模块6920可以用作用户***6900的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。存储器模块6920可以包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDARM、LPDDR3 SDRAM或LPDDR3 SDRAM的易失性RAM,或者诸如PRAM、ReRAM、MRAM或FRAM的非易失性RAM。例如,应用处理器6930和存储器模块6920可以基于POP(堆叠式封装)来封装和安装。
网络模块6940可以与外部设备通信。例如,网络模块6940不仅可以支持有线通信,还可以支持各种无线通信协议,例如码分多址(CDMA)、全球移动通信***(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、全球微波接入互操作性(Wimax)、无线局域网(WLAN)、超宽带(UWB)、蓝牙、无线显示器(WI-DI)等,从而与有线/无线电子设备或特别是移动电子设备进行通信。因此,根据本发明一个实施例的存储***和数据处理***可以应用于有线/无线电子设备。网络模块6940可以被包括在应用处理器6930中。
储存模块6950可以储存数据(例如,从应用处理器6930接收到的数据),然后可以将储存的数据发送到应用处理器6930。储存模块6950可以通过诸如相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(ReRAM)、NAND快闪存储器、NOR快闪存储器和3D NAND快闪存储器等的非易失性半导体存储器件来实现,并且被提供为诸如存储卡或用户***6900的外部驱动器等的可移动储存介质。储存模块6950可以对应于参照图1至图5B所述的存储***110。此外,储存模块6950可以被实现为如以上参照图8至图13所述的SSD、eMMC和UFS。
用户接口6910可以包括用于向应用处理器6930输入数据或命令或者将数据输出至外部设备的接口。例如,用户接口6910可以包括如下的用户输入接口和用户输出接口,用户输入接口诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、照相机、麦克风、陀螺仪传感器、振动传感器和压电元件,而用户输出接口诸如液晶显示器(LCD)、有机发光二极管(OLED)显示设备、有源矩阵OLED(AMOLED)显示设备、LED、扬声器和电机。
此外,当图1的存储***110应用至用户***6900的移动电子设备时,应用处理器6930可以控制移动电子设备的整体操作,并且网络模块6940可以用作用于控制与外部设备的有线/无线通信的通信模块。用户接口6910可以将处理器6930处理的数据显示在移动电子设备的显示器/触摸模块上,或者支持从触摸板接收数据的功能。
根据本发明的实施例,存储***和用于操作存储***的方法能够最小化存储***的复杂性和性能劣化,最大化存储器件的使用效率,以及快速且稳定地处理数据到存储器件。
尽管已经针对特定的实施例描述了本发明,但是对于本领域技术人员来说明显的是,在不脱离所附权利要求所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。

Claims (21)

1.一种存储***,包括:
存储器件,其包括易失性储存区和非易失性储存区;以及
控制器,其包括用于在存储***与主机之间传输数据的第一接口和第二接口,并且适用于响应于具有相对较高频率的第一时钟通过第一接口在易失性储存区与主机之间传输数据,以及响应于具有相对较低频率的第二时钟通过第二接口在非易失性储存区与主机之间传输数据,
其中,控制器还适用于在正常操作模式下,判断从易失性储存区读取的数据中是否发生错误,并且当确定从易失性储存区读取的数据中发生错误时,将易失性储存区的全部数据转储至非易失性储存区的预定第一位置中。
2.根据权利要求1所述的存储***,其中,控制器还适用于在正常操作模式下,判断从非易失性储存区读取的数据中是否发生错误,并且当确定从非易失性储存区读取的数据中发生错误时,将包括错误的数据复制到易失性储存区的预定第二位置中。
3.根据权利要求2所述的存储***,其中,控制器包括:
错误检测单元,其适用于在正常操作模式下,检测从非易失性储存区读取的数据和从易失性储存区读取的数据中是否发生错误;以及
操作控制单元,其适用于响应于从错误检测单元提供的检测信号,而将易失性储存区的全部数据转储至非易失性储存区的预定第一位置中,或者将包括错误的数据复制到易失性储存区的预定第二位置中。
4.根据权利要求3所述的存储***,
其中,操作控制单元还适用于在将易失性储存区的全部数据转储至非易失性储存区的预定第一位置中之后,响应于从主机提供的请求,而使存储***进入错误分析模式,以及
其中,操作控制单元还适用于在将包括错误的数据复制到易失性储存区的预定第二位置中之后,响应于从主机提供的请求,而使存储***进入错误分析模式。
5.根据权利要求4所述的存储***,其中,操作控制单元还适用于响应于从主机提供的请求,而在错误分析模式下:
通过第二接口将预定第一位置的数据输出至主机;或者
将预定第一位置的全部数据转储至易失性储存区中,并且通过第一接口将易失性储存区的全部数据输出至主机;或者
通过第一接口将易失性储存区的全部数据输出至主机。
6.根据权利要求4所述的存储***,其中,操作控制单元还适用于响应于从主机提供的请求,而在错误分析模式下:
通过第一接口将预定第二位置的数据输出至主机;或者
将预定第二位置的数据复制到非易失性储存区的预定第三位置中,并且通过第二接口将预定第三位置的数据输出至主机。
7.根据权利要求2所述的存储***,
其中,非易失性储存区的尺寸大于易失性储存区的尺寸,
其中,预定第一位置的尺寸与易失性储存区的尺寸相同,以及
其中,预定第二位置的尺寸与一次传输至非易失性储存区和/或从非易失性储存区传输的数据的最大尺寸相同。
8.根据权利要求3所述的存储***,其中,控制器还包括:
时钟发生单元,其适用于产生具有相对较高频率的第一时钟和具有相对较低频率的第二时钟;以及
操作控制单元,其适用于通过响应于第一时钟而操作的第一接口在易失性储存区与主机之间传输数据,以及通过响应于第二时钟而操作的第二接口在非易失性储存区与主机之间传输数据。
9.根据权利要求8所述的存储***,
其中,易失性储存区是主机的主存储器,以及
其中,非易失性储存区是主机的储存器。
10.根据权利要求1所述的存储***,
其中,第一接口是双列直插式存储器模块DIMM接口或***组件互连快速PCI-e接口之中的接口,以及
其中,第二接口是双列直插式存储器模块DIMM接口或***组件互连快速PCI-e接口之中的接口。
11.根据权利要求1所述的存储***,其中,存储器件包括与易失性储存区相对应的多个易失性存储器裸片以及与非易失性储存区相对应的多个非易失性存储器裸片。
12.一种存储***的操作方法,所述存储***包括具有易失性储存区和非易失性储存区的存储器件以及用于在存储***与主机之间传输数据的第一接口和第二接口,所述操作方法包括:
响应于具有相对较高频率的第一时钟通过第一接口在易失性储存区与主机之间传输数据,以及响应于具有相对较低频率的第二时钟通过第二接口在非易失性储存区与主机之间传输数据;以及
在正常操作模式下,判断从易失性储存区读取的数据中是否发生错误,并且当确定从易失性储存区读取的数据中发生错误时,将易失性储存区的全部数据转储至非易失性储存区的预定第一位置中。
13.根据权利要求12所述的操作方法,还包括在正常操作模式下,判断从非易失性储存区读取的数据中是否发生错误,并且当确定从非易失性储存区读取的数据中发生错误时,将包括错误的数据复制到易失性储存区的预定第二位置中。
14.根据权利要求13所述的操作方法,还包括:
在将易失性储存区的全部数据转储至非易失性储存区的预定第一位置中之后,响应于从主机提供的请求,而使存储***进入错误分析模式;以及
在将包括错误的数据复制到易失性储存区的预定第二位置中之后,响应于从主机提供的请求,而使存储***进入错误分析模式。
15.根据权利要求14所述的操作方法,还包括,在错误分析模式下:
通过第二接口将预定第一位置的数据输出至主机;或者
将预定第一位置的全部数据转储至易失性储存区中,并且通过第一接口将易失性储存区的全部数据输出至主机;或者
通过第一接口将易失性储存区的全部数据输出至主机。
16.根据权利要求14所述的操作方法,还包括,在错误分析模式下:
通过第一接口将预定第二位置的数据输出至主机;或者
将预定第二位置的数据复制到非易失性储存区的预定第三位置中,并且通过第二接口将预定第三位置的数据输出至主机。
17.根据权利要求13所述的操作方法,
其中,非易失性储存区的尺寸大于易失性储存区的尺寸,
其中,预定第一位置的尺寸与易失性储存区的尺寸相同,以及
其中,预定第二位置的尺寸与一次传输至非易失性储存区和/或从非易失性储存区传输的数据的最大尺寸相同。
18.根据权利要求12所述的操作方法,其中,传输数据的步骤包括:
产生具有相对较高频率的第一时钟和具有相对较低频率的第二时钟;以及
通过响应于第一时钟而操作的第一接口在易失性储存区与主机之间传输数据;以及
通过响应于第二时钟而操作的第二接口在非易失性储存区与主机之间传输数据。
19.根据权利要求12所述的操作方法,
其中,易失性储存区是主机的主存储器,以及
其中,非易失性储存区是主机的储存器。
20.根据权利要求12所述的操作方法,
其中,第一接口是双列直插式存储器模块DIMM接口或***组件互连快速PCI-e接口之中的接口,以及
其中,第二接口是双列直插式存储器模块DIMM接口或***组件互连快速PCI-e接口之中的接口。
21.一种存储***,包括:
存储器件,其包括易失性储存区和非易失性储存区;以及
控制器,其包括时钟产生单元,所述时钟产生单元适用于产生具有相对较高频率的第一时钟以及具有相对较低频率的第二时钟,所述控制器适用于响应于所述第一时钟通过第一路径以较高的速度将数据从第一存储器传输至外部,响应于所述第二时钟通过第二路径以较慢的速度将数据从第二存储器传输至外部,以及控制存储器件:
当从第一存储器检测到包括错误的第一数据时,将储存在第一存储器中的全部数据转储至第二存储器中;以及
当从第二存储器检测到包括错误的第二数据时,将第二数据复制到第一存储器中。
CN201810347995.7A 2017-07-03 2018-04-18 存储***及其操作方法 Active CN109213622B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0084230 2017-07-03
KR1020170084230A KR20190004094A (ko) 2017-07-03 2017-07-03 메모리 시스템 및 메모리 시스템의 동작방법

Publications (2)

Publication Number Publication Date
CN109213622A CN109213622A (zh) 2019-01-15
CN109213622B true CN109213622B (zh) 2022-03-18

Family

ID=64738686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810347995.7A Active CN109213622B (zh) 2017-07-03 2018-04-18 存储***及其操作方法

Country Status (3)

Country Link
US (1) US10776199B2 (zh)
KR (1) KR20190004094A (zh)
CN (1) CN109213622B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11127738B2 (en) * 2018-02-09 2021-09-21 Xcelsis Corporation Back biasing of FD-SOI circuit blocks
KR20200087486A (ko) * 2019-01-11 2020-07-21 에스케이하이닉스 주식회사 메모리 시스템에서의 휘발성 메모리 내 오류를 처리하는 방법 및 장치
TWI740187B (zh) * 2019-02-20 2021-09-21 慧榮科技股份有限公司 存取方法
KR20200113047A (ko) * 2019-03-20 2020-10-06 삼성전자주식회사 오픈 채널 스토리지 장치의 동작 방법
CN110262522B (zh) * 2019-07-29 2023-03-24 北京百度网讯科技有限公司 用于控制自动驾驶车辆的方法和装置
TWI704574B (zh) * 2019-09-23 2020-09-11 英柏得科技股份有限公司 用於資料存儲裝置的安全控制方法
US11269708B2 (en) 2019-12-30 2022-03-08 Micron Technology, Inc. Real-time trigger to dump an error log
US11269707B2 (en) 2019-12-30 2022-03-08 Micron Technology, Inc. Real-time trigger to dump an error log
US20210233585A1 (en) * 2020-01-29 2021-07-29 Micron Technology, Inc. Multichip memory package with internal channel
CN111274162A (zh) * 2020-03-27 2020-06-12 西安紫光国芯半导体有限公司 储存级存储器的双列直插式存储模块装置及访问数据方法
US11392526B2 (en) * 2020-06-04 2022-07-19 Micron Technology, Inc. Memory system with selectively interfaceable memory subsystem
CN113703683B (zh) * 2021-08-28 2022-05-13 江苏华存电子科技有限公司 一种单一的优化冗余存储***的装置
KR20230034646A (ko) * 2021-09-03 2023-03-10 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681313A (zh) * 2008-02-29 2010-03-24 株式会社东芝 存储器***
CN104254840A (zh) * 2012-04-27 2014-12-31 马维尔国际贸易有限公司 在计算机***中的存储器转储和分析
CN105612503A (zh) * 2013-08-09 2016-05-25 桑迪士克科技股份有限公司 持久性数据结构

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004049168A1 (ja) * 2002-11-28 2004-06-10 Renesas Technology Corp. メモリモジュール、メモリシステム、及び情報機器
US7404118B1 (en) * 2004-09-02 2008-07-22 Sun Microsystems, Inc. Memory error analysis for determining potentially faulty memory components
US7275201B1 (en) * 2005-04-13 2007-09-25 Emc Corporation Memory system
US7681008B2 (en) * 2006-09-29 2010-03-16 Sandisk Corporation Systems for managing file allocation table information
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
JP2012168724A (ja) * 2011-02-14 2012-09-06 Toshiba Corp 半導体装置
US9311226B2 (en) * 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
JP6083136B2 (ja) * 2012-06-22 2017-02-22 富士通株式会社 メモリダンプ機能を有する情報処理装置、メモリダンプ方法、およびメモリダンププログラム
US20140281148A1 (en) * 2013-03-15 2014-09-18 Kabushiki Kaisha Toshiba Memory system
KR102168096B1 (ko) 2013-03-15 2020-10-20 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 데이터 쓰기 방법
US9887008B2 (en) 2014-03-10 2018-02-06 Futurewei Technologies, Inc. DDR4-SSD dual-port DIMM device
TWI522804B (zh) * 2014-04-23 2016-02-21 威盛電子股份有限公司 快閃記憶體控制器以及資料儲存裝置以及快閃記憶體控制方法
KR102679057B1 (ko) 2016-08-18 2024-07-02 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681313A (zh) * 2008-02-29 2010-03-24 株式会社东芝 存储器***
CN104254840A (zh) * 2012-04-27 2014-12-31 马维尔国际贸易有限公司 在计算机***中的存储器转储和分析
CN105612503A (zh) * 2013-08-09 2016-05-25 桑迪士克科技股份有限公司 持久性数据结构

Also Published As

Publication number Publication date
US20190004895A1 (en) 2019-01-03
KR20190004094A (ko) 2019-01-11
US10776199B2 (en) 2020-09-15
CN109213622A (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
CN109213622B (zh) 存储***及其操作方法
US10073651B2 (en) Memory system with power-off detection and recovery mechanism
US11262940B2 (en) Controller and operating method thereof
US10387057B2 (en) Memory system and operating method of memory system
US20180074718A1 (en) Memory system and method for operating the same
US10553296B2 (en) Memory device and operating method thereof
US10445194B2 (en) Memory system storing checkpoint information and operating method thereof
US20200019327A1 (en) Memory system and operating method thereof
US10761912B2 (en) Controller including multi processor and operation method thereof
US20180374552A1 (en) Memory system and operation method thereof
CN110045914B (zh) 存储器***及其操作方法
CN110556152A (zh) 存储器装置、其操作方法以及包括其的存储器***
US20180373460A1 (en) Controller and operation method thereof
CN110890123B (zh) 数据处理***及其操作方法
US10977117B2 (en) Memory device, a memory system and an operating method thereof
US10768839B2 (en) Memory system and operating method thereof
US20190205249A1 (en) Controller, operating method thereof and data processing system including the controller
US20190012109A1 (en) Memory system and operating method for the memory system
CN110349615B (zh) 控制器、其操作方法及包括控制器的存储器***
CN109254722B (zh) 控制器及其操作方法
CN109947360B (zh) 存储器***及其操作方法
US10528465B2 (en) Memory system and operating method thereof
US10521138B2 (en) Memory system and operating method for re-building map data according to operation logs
US20180074711A1 (en) Memory system and method for operating the same
US10698810B2 (en) Memory system 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