CN113360427A - 数据存储装置及其操作方法 - Google Patents

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

Info

Publication number
CN113360427A
CN113360427A CN202010930617.9A CN202010930617A CN113360427A CN 113360427 A CN113360427 A CN 113360427A CN 202010930617 A CN202010930617 A CN 202010930617A CN 113360427 A CN113360427 A CN 113360427A
Authority
CN
China
Prior art keywords
read
retry
storage device
controller
workload
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.)
Withdrawn
Application number
CN202010930617.9A
Other languages
English (en)
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 CN113360427A publication Critical patent/CN113360427A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1021Hit rate improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • 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/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • 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/7206Reconfiguration of flash memory system
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

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

Abstract

本申请公开了一种数据存储装置。该数据存储装置可以包括存储装置和控制器。存储装置被配置成存储数据。控制器被配置成根据主机装置的读取请求基于默认读取电压执行正常读取操作,并且在正常读取操作失败时使用至少一个重试读取电压执行读取重试操作。控制器可以包括:命中率表,被配置成将读取成功记录作为与工作负荷相关联的重试读取电压的命中率存储,每个工作负荷与一组重试读取电压相关联;以及读取电压确定器,被配置成确定正常读取操作失败时的工作负荷,并且选择与所确定的工作负荷相关联的一组重试读取电压,所选择组中的重试读取电压从最高命中率到最低命中率进行排序。

Description

数据存储装置及其操作方法
相关申请的交叉引用
本申请要求于2020年3月6日向韩国知识产权局提交的申请号为10-2020-0028455的韩国申请的优先权,该韩国申请通过引用整体并入本文。
技术领域
各个实施例总体涉及一种半导体集成装置,更特别地,涉及一种数据存储装置以及操作数据存储装置的方法。
背景技术
数据存储装置可以与主机装置连接,以根据主机装置的请求执行数据输入/输出操作。
数据存储装置可以根据主机装置的请求执行读取操作。数据存储装置可以检测并校正读取数据中的错误。数据存储装置可以将经错误校正的读取数据提供到主机装置。
闪速存储器装置的读取操作的准确性可能与闪速存储器装置的可靠性或服务质量密切相关。因此,可能需要确保存储器装置的可靠性并且减少存储器装置的读取延迟。
发明内容
在本公开的实施例中,一种数据存储装置可以包括存储装置和控制器。存储装置被配置成存储数据。控制器被配置成根据主机装置的读取请求基于默认读取电压执行正常读取操作,并且在正常读取操作失败时使用至少一个重试读取电压执行读取重试操作。控制器可以包括:命中率表,被配置成将读取成功记录作为与工作负荷相关联的重试读取电压的命中率存储,每个工作负荷与一组重试读取电压相关联;以及读取电压确定器,被配置成确定正常读取操作失败时的工作负荷,并且选择与所确定的工作负荷相关联的一组重试读取电压,所选择组中的重试读取电压从最高命中率到最低命中率进行排序。
在本公开的各个实施例中,一种数据存储装置可以包括存储装置和控制器。存储装置被配置成存储数据。控制器被配置成控制存储装置。控制器可以包括:读取重试表,被配置成存储多个重试读取电压;命中率表,被配置成将读取成功记录作为与工作负荷相关联的重试读取电压的命中率存储;以及读取电压确定器,被配置成在使用默认读取电压的正常读取操作失败时确定工作负荷,并且基于与所确定的工作负荷相关联的重试读取电压的命中率来选择读取电压。
在本公开的各个实施例中,一种操作数据存储装置的方法,该数据存储装置可以包括被配置成存储数据的存储装置和被配置成控制该存储装置的控制器。控制器可以包括命中率表,该命中率表被配置成将读取成功记录作为与工作负荷相关联的重试读取电压的命中率存储,每个工作负荷与一组重试读取电压相关联。该方法包括:根据主机装置的读取请求,由控制器基于默认读取电压执行正常读取操作;并且当正常读取操作失败时,由控制器使用至少一个重试读取电压执行读取重试操作,其中,执行读取重试操作包括:由控制器确定正常读取操作失败时的工作负荷;由控制器选择与所确定的工作负荷相关联的一组重试读取电压,所选择组中的重试读取电压从最高命中率到最低命中率进行排序;并且由控制器将所选择组的重试读取电压提供到存储装置以读取数据。
在本公开的各个实施例中,一种控制器的操作方法,该操作方法包括:当先前读取操作失败时,确定数据存储装置的工作负荷;控制存储装置以利用与所确定的工作负荷相关联的一组选定的读取重试电压中的一个或多个读取重试电压执行后续读取操作,该组选定的读取重试电压根据读取重试电压的命中率进行排序;并且当后续读取操作成功时,更新该命中率,其中该数据存储装置包括控制器和存储装置。
附图说明
从以下结合附图的详细描述中,将更清楚地理解本公开的主题的上述和其它方面、特征和优点,其中:
图1是示出根据实施例的数据存储装置的示图;
图2是示出根据实施例的控制器的示图;
图3是示出根据实施例的读取电压确定器的示图;
图4是示出根据实施例的读取重试表的示图;
图5是示出根据实施例的命中率表的示图;
图6是示出根据实施例的操作数据存储装置的方法的流程图;
图7是示出根据实施例的数据存储系统的示图;
图8和图9是示出根据实施例的数据处理系统的示图;
图10是示出根据实施例的包括数据存储装置的网络系统的示图;以及
图11是示出根据实施例的数据存储装置中包括的非易失性存储器装置的框图。
具体实施方式
参照附图更详细地描述本发明的各个实施例。然而,本发明可以与本文所公开的不同地配置、布置和/或操作。因此,本发明不限于任何特定实施例或由其限制。本领域技术人员将理解的是,可以在本公开的范围内进行各种修改。本发明涵盖落入权利要求范围内的所有这种修改。并且,在整个说明书中,对“实施例”等的参考不一定仅针对一个实施例,并且对任意这种短语的不同参考不一定针对相同的实施例。
图1是示出根据实施例的数据存储装置的示图。
参照图1,数据存储装置10可以包括控制器110和存储装置120。
控制器110可以被配置成响应于主机装置的请求来控制存储装置120。例如,控制器110可以根据主机装置的编程(写入)请求对存储装置120中的数据进行编程。控制器110可以响应于主机装置的读取请求向主机装置提供存储装置120中的数据。在各个实施例中,控制器110可以包括读取电压确定器20,该读取电压确定器被配置成基于读取重试表(RRT)210和命中率表(HRT)220来选择读取电压。然后将所选择读取电压提供到存储装置120。
存储装置120可以被配置成根据控制器110的控制来写入并输出所写入的数据。存储装置120可以包括易失性存储器装置或非易失性存储器装置。在各个实施例中,存储装置120可以包括电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)或自旋转移力矩磁性RAM(STT-MRAM)等。
存储装置120可以包括多个非易失性存储器装置(NVM)121至12n。非易失性存储器装置121至12n中的每一个可以包括多个管芯、多个芯片、多个封装等。进一步地,存储装置120可以包括被配置成在一个SLC中存储一位数据的单层单元(SLC),或被配置成在一个MLC中存储多位数据的多层单元(MLC)。
由于存储器装置121至12n的保持特性、读取干扰、编程和读取操作的重复执行以及其它因素而导致的单元特性的改变,存储装置120中可能发生读取错误。
控制器110可以根据读取命令来检测和校正(ECC)从存储装置120读取的数据的错误。当生成错误检测和校正(ECC)失败时,控制器110可以执行包括找寻ECC操作通过的读取电压的读取重试操作。
为了执行读取重试操作,控制器110可以参考RRT 210。RRT 210可以被配置成存储多个重试读取电压。在各个实施例中,RRT 210可以被配置成根据索引来管理施加到读取重试操作的重试读取电压。控制器110可以被配置成根据索引次序顺序地改变待在特定的读取重试操作中使用的重试读取电压。当构成存储器装置121至12n的存储器单元作为SLC操作时,重试读取电压可以包括单个电压值。当构成存储器装置121至12n的存储器单元作为MLC操作时,重试读取电压可以包括一组电压值。
RRT 210可以存储在存储装置120中。当数据存储装置10被驱动时,RRT 210可以被加载到控制器110中。控制器110可以被配置成基于所加载的RRT 210来确定用于操作读取重试操作的重试读取电压。例如,可以通过参数设定操作将所确定的重试读取电压传输到存储装置120。存储装置120可以将所传输的重试读取电压存储在寄存器中。寄存器中所存储的重试读取电压可以用于读取重试操作。
当从存储装置120读取的数据被传输到控制器110时,控制器110可以执行ECC操作以校正错误。当通过ECC操作校正错误时,可以将读取操作确定为正常。可以将无错误的数据从控制器110提供到主机装置。相反,当ECC操作失败时,控制器110可以基于RRT 210选择另一重试读取电压。然后,控制器110可以将新选择的重试读取电压传输到存储装置120。存储装置120可以使用新选择的重试读取电压将读取的数据传输到控制器110。控制器110可以通过ECC操作来尝试校正所接收到的数据中的任何错误。该过程可以重复,直到读取操作成功或施加RRT 210的所有重试读取电压为止。
HRT 220可以包括与数据存储装置10的工作负荷有关的重试读取电压。存储装置20可以利用HRT 220来制造,该HRT 220具有与各自的工作负荷有关的读取重试电压的初始(或出厂设定)命中率,其中初始命中率是实验式地确定的。HRT 220可以根据数据存储装置10的操作来更新。
读取电压确定器20可以被配置成响应主机装置的读取请求,向存储装置12提供默认读取电压以在正常读取操作中使用。下文中,使用默认读取电压的读取操作可以被称为正常读取操作。在正常读取操作失败之后使用重试读取电压执行的读取操作可以被称为读取重试操作。重试读取电压不同于默认读取电压或先前施加的读取电压。
当正常读取操作或先前读取重试操作失败时,读取电压确定器20可以确定RRT210中的重试读取电压的次序,表示该次序中待使用的重试读取电压的顺序。然后,读取电压确定器20可以根据所确定的次序向存储装置120提供重试读取电压。
在各个实施例中,在执行读取操作时,优选在正常读取操作失败时,读取电压确定器20可以确定数据存储装置10的工作负荷。工作负荷可以意指在设定时间期间由数据存储装置10处理的工作类型或工作量。工作负荷可以包括随机或顺序访问、数据传输大小、读取/写入操作之间的比率或其组合。
读取电压确定器20可以按从高命中率到低命中率的次序或顺序从HRT 220中选择与所确定的工作负荷有关的重试读取电压。然后,读取电压确定器20可以以该次序向存储装置120提供所选择重试读取电压。读取电压确定器20可以计算成功的重试读取电压中的每一个的命中率(或修改当前命中率),并且因此更新HRT 220。重试读取电压的命中率可以表示使用该重试读取电压的读取重试操作的成功记录。
在各个实施例中,除了工作负荷之外,读取电压确定器20可以进一步确定存储装置120的损耗程度。读取电压确定器20可以在执行读取操作时计算/修改读取电压的命中率,并且可以在经更新的HRT 220中表示。损耗程度可以基于对存储块的编程/擦除操作的数量和/或读取操作的数量来确定,尽管可能会考虑替代的或附加的操作。
简而言之,正常读取操作可以响应于主机装置的读取请求使用默认读取电压来执行。当ECC失败发生时,可以执行读取重试操作。读取电压确定器20可以在读取重试操作中确定当前工作负荷。读取电压确定器20可以从HRT 220中识别与当前工作负荷有关或相关联的读取重试电压。然后,读取电压确定器20可以按从最高命中率到最低命中率的顺序,顺序地选择与所确定的工作负荷有关的重试读取电压。然后,读取电压确定器20可以按指定的顺序将所选择重试读取电压顺序地传输到存储装置120,直到重试读取电压中的一个导致读取操作成功为止。每当执行读取重试操作时,可以更新由HRT 220管理的重试读取电压的工作负荷和命中率。
数据存储装置10的读取延迟可能受到读取重试操作的快速成功以及存储装置120的容量和包括控制器110的数据存储装置10的开销的影响。
成功执行读取操作的读取电压可能根据数据存储装置10的工作负荷和存储装置中的存储器单元的劣化而有所不同。而且,待施加的该组读取电压可以根据工作负荷和劣化因素而改变。当待施加的重试读取电压的次序固定时,无论这些因素如何,提高读取延迟的能力都受到限制。
根据各个实施例,施加重试读取电压的次序或顺序可以基于确定的工作负荷来改变,以减少生成成功读取所需的读取重试操作的数量。反过来,减少所施加的读取重试操作的数量可以减小施加到存储器单元的压力,从而延长数据存储装置10的寿命。
图2是示出根据实施例的控制器的示图。
参照图2,控制器110可以包括处理器111、主机接口113、ROM 1151、RAM 1153、ECC117、存储器接口119和读取电压确定器20。
处理器111可以向主机接口113、RAM 1153、ECC 117、存储器接口119和读取电压确定器20提供用于针对存储装置120的数据的读取操作或写入操作的各种控制信息。在各个实施例中,处理器111可以根据为数据存储装置10的各个操作提供的固件而操作。在各个实施例中,处理器111可以执行垃圾收集来管理存储装置120,并且使用闪存转换层(FTL)来执行地址映射、损耗均衡等。
当将写入命令和逻辑地址从主机装置输入到处理器111中时,处理器111可以分配与该逻辑地址相对应的物理地址。处理器111可以控制用于将数据写入存储装置120的、与该物理地址相对应的存储区域中的写入操作。
当将读取命令和逻辑地址从主机装置输入到处理器111中时,处理器111可以搜索与该逻辑地址相对应的物理地址。处理器111可以控制用于从存储装置120的、与该物理地址相对应的存储区域读取数据的读取操作。
主机接口113可以根据处理器111的控制从主机装置接收命令和时钟信号。主机接口113可以提供用于控制数据的输入/输出的通信通道。特别地,主机接口113可以在主机装置和数据存储装置10之间提供物理连接。主机接口113可以与主机装置的总线格式相对应的数据存储装置10接口连接。主机装置的总线格式可以包括诸如安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)、高速PCI(PCI-E)和/或通用闪存装置(UFS)的标准接口协议中的至少一种。
ROM 1151可以存储用于操作控制器110的程序代码,例如固件、软件以及由程序代码使用的代码数据。
RAM 1153可以存储用于操作控制器110的数据或由控制器110生成的数据。
ECC 117可以检测和校正从存储装置120读取的数据的错误。
存储器接口119可以提供通信通道,通过该通信通道可以在控制器110和存储装置120之间传输信号。存储器接口119可以根据处理器111的控制将临时存储在缓冲存储器130中的数据写入存储装置120中。存储器接口119可以将从存储装置120读取的数据存储在缓冲存储器130中。
当响应于主机装置的读取请求以默认读取电压执行的正常读取操作失败时,读取电压确定器20可以确定数据存储装置10的工作负荷。读取电压确定器20可以基于RRT 210和HRT 220将与所确定的工作负荷有关的重试读取电压以从最高命中率到最低命中率的次序提供到存储装置120,以控制重试读取操作的性能。读取电压确定器20可以在使用相应的重试读取电压执行读取重试操作之后,针对所确定的工作负荷来更新重试读取电压中的每一个的命中率。
图3是示出根据实施例的读取电压确定器的示图。
参照图3,读取电压确定器20可以包括工作负荷确定器230、读取电压选择器240和HRT更新器250。
当正常读取操作失败时,工作负荷确定器230可以确定数据存储装置10的工作负荷。工作负荷可以被确定为顺序读取SEQ、随机读取RND或小型读取SML。也可以使用与本文教导一致的工作负荷的替代类型或附加类型。顺序读取SEQ工作负荷可以意指响应于紧接在先前读取操作的最后逻辑地址之后的起始逻辑地址而执行的读取操作。随机读取RND工作负荷可以意指响应于随机逻辑地址而执行的读取操作。小型读取SML工作负荷可以意指其中读取一组数据或更少数据的读取操作,例如,数据的大小不大于闪速存储器装置的页面缓冲器的大小。
读取电压选择器240可以基于RRT 210和HRT 220选择重试读取电压,以便在正常读取操作失败时执行读取重试操作。
在各个实施例中,HRT 220可以分别存储与工作负荷相关联的重试读取电压的命中率。对于由工作负荷确定器230确定的特定工作负荷,读取电压选择器240可以基于在正常读取操作失败之后待在重试操作中应用的HRT 220,按从最高命中率到最低命中率的顺序从RRT 210中顺序地选择相关联的重试读取电压。
HRT更新器250可以根据读取重试操作的结果来更新HRT 220的命中率。
图4是示出根据实施例的读取重试表的示图。
参照图4,RRT 210可以将重试读取电压RV中的每一个与其相应的索引ID相关联地存储。
读取电压确定器20可以根据索引次序,例如,升序(ID1→ID2→ID3→…→Idk),顺序地改变重试读取电压。当存储装置120以SLC模式操作时,重试读取电压可以具有单个电压值。相反,当存储装置120以MLC模式操作时,重试读取电压可以具有一组读取电压值。
图5是示出根据实施例的命中率表的示图。
参照图5,HRT 220被配置并组织成将重试读取电压组与各自的工作负荷相关联。在各个实施例中,HRT 220可以分别存储与工作负荷SEQ、RND和SML相关联的重试读取电压的命中率HR11至HR1k、HR21至HR2k和HR31至HR3k。每个命中率还与相应的重试读取电压的ID相关联。ID使得能够在RRT 210和HRT 220之间交叉引用。
反映初始命中率的HRT 220可以存储在存储装置120中。当对数据存储装置10中的数据执行读取重试操作时,HRT 220中的命中率可以由HRT更新器250来更新。
图6是示出根据示例实施例的操作数据存储装置的方法的流程图。
参照图6,在操作S101中,控制器110可以接收主机装置的读取请求。
在操作S103中,控制器110可以向存储装置120提供默认读取电压以控制正常读取操作。
控制器110可以接收从存储装置120读取的数据。在操作S105中,控制器110可以执行ECC解码操作,以确定读取操作是否失败。
当读取操作通过时(S105:是),控制器110可以在操作S107中向主机装置提供读取数据。
相反,当读取操作失败时(S105:否),控制器110可以在操作S109中确定数据存储装置10的工作负荷。在操作S111中,控制器110可以以从最高命中率到最低命中率的次序选择与HRT 220中所确定的工作负荷相关联的重试读取电压。然后,控制器110可以按照上述次序将所选择重试读取电压逐一地传输到存储装置120。在操作S113中,存储装置120可以执行读取重试操作。在操作S115中,控制器110可以接收通过读取重试操作所读取的数据以执行ECC解码操作,从而确定读取重试操作是否通过。
当读取重试操作通过时(S115:是),控制器110可以在操作S117中向主机装置提供读取数据。在操作S119中,控制器110可以计算与所确定的工作负荷相关的成功重试读取电压的命中率以更新HRT 220。
相反,当读取重试操作失败时(S115:否),控制器110可以使用下一重试读取电压以操作S121中的次序来重复操作S111至S115。对于每个连续的重试读取电压,重复由操作S111至S115限定的循环,直到有一个重试读取电压成功或直到所确定的工作负荷的所有重试读取电压都试过为止。
根据实施例,可以基于命中率确定提供给定工作负荷的重试读取电压的次序,以使读取重试操作的数量最小化。
图7是示出根据实施例的数据存储系统1000的示图。
参照图7,数据存储装置1000可以包括主机装置1100和数据存储装置1200。在实施例中,数据存储装置1200可以被配置为固态驱动器(SSD)。
数据存储装置1200可以包括控制器1210、多个非易失性存储器装置1220-0至1220-n、缓冲存储器装置1230、电源1240、信号连接器1101以及电源连接器1103。
控制器1210可以控制数据存储装置1200的一般操作。控制器1210可以包括主机接口、控制组件、用作工作存储器的随机存取存储器、错误校正码(ECC)组件以及存储器接口。在实施例中,控制器1210可以被配置为图1和图2所示的控制器110。
主机装置1100可以通过信号连接器1101与数据存储装置1200交换信号。信号可以包括命令、地址、数据等。
控制器1210可以分析和处理从主机装置1100接收的信号。控制器1210可以根据用于驱动数据存储装置1200的固件或软件来控制内部功能块的操作。
缓冲存储器装置1230可以临时存储待存储在非易失性存储器装置1220-0至1220-n中的至少一个中的数据。进一步地,缓冲存储器装置1230可以临时存储从非易失性存储器装置1220-0至1220-n中的至少一个读取的数据。临时存储在缓冲存储器装置1230中的数据可以根据控制器1210的控制被传输到主机装置1100或非易失性存储器装置1220-0至1220-n中的至少一个。
非易失性存储器装置1220-0至1220-n可以用作数据存储装置1200的存储介质。非易失性存储器装置1220-0至1220-n可以分别通过多个通道CH0至CHn与控制器1210联接。一个或多个非易失性存储器装置可以联接到相同的通道。联接到相同通道的非易失性存储器装置可以联接到相同的信号总线和数据总线。
电源1240可以将通过电源连接器1103输入的电力提供到数据存储装置1200的控制器1210、非易失性存储器装置1220-0至1220-n以及缓冲存储器装置1230。电源1240可以包括辅助电源。当发生突然断电时,辅助电源可以供应电力,以允许数据存储装置1200恰当地终止。辅助电源可以包括足以存储所需电荷的大容量电容器。
根据主机装置1100和数据存储装置1200之间的接口方案,信号连接器1101可以被配置为各种类型的连接器中的任意一种。
根据主机装置1100的电源方案,电源连接器1103可以被配置为各种类型的连接器中的任意一种。
图8是示出根据实施例的数据处理系统3000的示图。参照图8,数据处理系统3000可以包括主机装置3100和存储器系统3200。
主机装置3100可以以诸如印刷电路板的板的形式来配置。尽管未示出,但是主机装置3100可以包括用于执行主机装置的功能的内部功能块。
主机装置3100可以包括诸如插座、插槽或连接器的连接端子3110。存储器系统3200可以与连接端子3110配合。
存储器系统3200可以以诸如印刷电路板的板的形式来配置。存储器系统3200可以被称为存储器模块或存储卡。存储器系统3200可以包括控制器3210、缓冲存储器装置3220、非易失性存储器装置3231和3232、电源管理集成电路(PMIC)3240以及连接端子3250。
控制器3210可以控制存储器系统3200的一般操作。控制器3210可以以与图1和图2中所示的控制器110相同的方式配置。
缓冲存储器装置3220可以临时存储待存储在非易失性存储器装置3231和3232中的数据。进一步地,缓冲存储器装置3220可以临时存储从非易失性存储器装置3231和3232读取的数据。根据控制器3210的控制,临时存储在缓冲存储器装置3220中的数据可以传输到主机装置3100或非易失性存储器装置3231和3232。
非易失性存储器装置3231和3232可以被用作存储器系统3200的存储介质。
PMIC 3240可以将通过连接端子3250输入的电力提供到存储器系统3200的内部。根据控制器3210的控制,PMIC 3240可以管理存储器系统3200的电力。
连接端子3250可以联接到主机装置3100的连接端子3110。通过连接端子3250,可以在主机装置3100和存储器系统3200之间传送诸如命令、地址、数据等的信号和电力。根据主机装置3100和存储器系统3200之间的接口方案,连接端子3250可以被配置为各种类型中的任意一种。如图所示,连接端子3250可以设置在存储器系统3200的一侧上或其中。
图9是示出根据实施例的数据处理系统4000的示图。参照图9,数据处理系统4000可以包括主机装置4100和存储器系统4200。
主机装置4100可以以诸如印刷电路板的板的形式来配置。尽管未示出,但是主机装置4100可以包括用于执行主机装置的功能的内部功能块。
存储器系统4200可以以表面安装类型封装的形式来配置。存储器系统4200可以通过焊球4250安装到主机装置4100。存储器系统4200可以包括控制器4210、缓冲存储器装置4220以及非易失性存储器装置4230。
控制器4210可以控制存储器系统4200的一般操作。控制器4210可以以与图1和图2中所示的控制器110相同的方式配置。
缓冲存储器装置4220可以临时存储待存储在非易失性存储器装置4230中的数据。进一步地,缓冲存储器装置4220可以临时存储从非易失性存储器装置4230中读取的数据。根据控制器4210的控制,临时存储在缓冲存储器装置4220中的数据可以传输到主机装置4100或非易失性存储器装置4230。
非易失性存储器装置4230可以用作存储器系统4200的存储介质。
图10示出根据实施例的包括数据存储装置的网络系统5000的示图。参照图10,网络系统5000可以包括通过网络5500联接的服务器系统5300和多个客户端系统5410、5420和5430。
服务器系统5300可以响应于来自多个客户端系统5410至5430的请求服务数据。例如,服务器系统5300可以存储由多个客户端系统5410至5430提供的数据。再例如,服务器系统5300可以将数据提供到多个客户端系统5410至5430。
服务器系统5300可以包括主机装置5100和存储器系统5200。存储器系统5200可以被配置为图1所示的数据存储装置10、图7所示的数据存储装置1200、图8所示的存储器系统3200或图9所示的存储器系统4200。
图11是示出根据实施例的诸如数据存储装置10的数据存储装置中包括的非易失性存储器装置300的框图。参照图11,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压生成器350以及控制逻辑360。
存储器单元阵列310可以包括布置在字线WL1至WLm和位线BL1至BLn彼此相交的区域处的存储器单元MC。
存储器单元阵列310可以包括三维存储器阵列。例如,三维存储器阵列具有垂直于半导体衬底的平坦表面而延伸的堆叠结构。此外,三维存储器阵列意指包括NAND串的结构,其中存储器单元垂直于半导体衬底的平坦表面堆叠。
三维存储器阵列的结构不限于上述实施例。可以以具有水平方向性以及垂直方向性的高度集成的方式形成存储器阵列结构。在实施例中,在三维存储器阵列的NAND串中,存储器单元在相对于半导体衬底的表面的平行方向和垂直方向上布置。存储器单元可以被不同地间隔以提供不同的集成度。
行解码器320可以通过字线WL1至WLm与存储器单元阵列310联接。行解码器320可以根据控制逻辑360的控制而操作。行解码器320可以对由外部装置(未示出)提供的地址进行解码。行解码器320可以基于解码结果来选择并驱动字线WL1至WLm。例如,行解码器320可以将由电压生成器350提供的字线电压提供到字线WL1至WLm。
数据读取/写入块330可以通过位线BL1至BLn与存储器单元阵列310联接。数据读取/写入块330可以包括分别与位线BL1到BLn相对应的读取/写入电路RW1到RWn。数据读取/写入块330可以根据控制逻辑360的控制而操作。根据操作模式,数据读取/写入块330可以作为写入驱动器或读出放大器而操作。例如,在写入操作中,数据读取/写入块330可以作为将由外部装置提供的数据存储在存储器单元阵列310中的写入驱动器而操作。再例如,在读取操作中,数据读取/写入块330可以作为从存储器单元阵列310读出数据的读出放大器而操作。
列解码器340可以根据控制逻辑360的控制而操作。列解码器340可以对由外部装置提供的地址进行解码。列解码器340可以基于解码结果,将分别与位线BL1至BLn相对应的数据读取/写入块330的读取/写入电路RW1至RWn与数据输入/输出线或数据输入/输出缓冲器联接。
电压生成器350可以生成待在非易失性存储器装置300的内部操作中使用的电压。由电压生成器350生成的电压可以被施加到存储器单元阵列310的存储器单元。例如,可以将在编程操作中生成的编程电压施加到待被执行编程操作的存储器单元的字线。再例如,可以将在擦除操作中生成的擦除电压施加到待被执行擦除操作的存储器单元的肼区。又例如,可以将在读取操作中生成的读取电压施加到待被执行读取操作的存储器单元的字线。
控制逻辑360可以基于由外部装置提供的控制信号来控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取操作、写入操作和擦除操作。
本发明的上述实施例旨在说明而非限制本发明。各种替代方案和等同方案是可能的。本发明不限于本文描述的实施例或受其限制。本发明也不限于任何特定类型的半导体装置。本发明涵盖落入所附权利要求书范围内的任何增加、减少和/或修改。

Claims (12)

1.一种数据存储装置,包括:
存储装置,存储数据;以及
控制器,根据主机装置的读取请求基于默认读取电压执行正常读取操作,并且在所述正常读取操作失败时使用至少一个重试读取电压执行读取重试操作,
其中所述控制器包括:
命中率表,将读取成功记录作为与工作负荷相关联的重试读取电压的命中率存储,每个工作负荷与一组重试读取电压相关联;以及
读取电压确定器,确定所述正常读取操作失败时的工作负荷,并且选择与所确定的工作负荷相关联的一组重试读取电压,所选择组中的重试读取电压从最高命中率到最低命中率进行排序。
2.根据权利要求1所述的数据存储装置,其中所述读取电压确定器根据所述读取重试操作的结果来更新所述命中率表。
3.根据权利要求1所述的数据存储装置,其中基于读取操作对所述存储装置的访问类型或读取数据的大小来确定工作负荷。
4.根据权利要求3所述的数据存储装置,其中所确定的工作负荷包括顺序读取操作、随机读取操作和小型读取操作中的一个,所述顺序读取操作响应于紧接在先前读取操作的最后逻辑地址之后的起始逻辑地址而执行,所述随机读取操作与响应于随机逻辑地址而执行的读取操作相对应,并且所述小型读取操作的数据的大小不大于设定大小。
5.一种数据存储装置,包括:
存储装置,存储数据;以及
控制器,控制所述存储装置,
其中所述控制器包括:
读取重试表,存储多个重试读取电压;
命中率表,将读取成功记录作为与工作负荷相关联的重试读取电压的命中率存储;以及
读取电压确定器,在使用默认读取电压的正常读取操作失败时确定工作负荷,并且基于与所确定的工作负荷相关联的重试读取电压的命中率来选择读取电压。
6.根据权利要求5所述的数据存储装置,其中所述读取电压确定器根据读取重试操作的结果来更新所述命中率表。
7.根据权利要求5所述的数据存储装置,其中基于读取操作对所述存储装置的访问类型或读取数据的大小来确定工作负荷。
8.一种操作数据存储装置的方法,所述数据存储装置包括存储数据的存储装置和控制所述存储装置的控制器,所述控制器包括将读取成功记录作为与工作负荷相关联的重试读取电压的命中率存储的命中率表,每个工作负荷与一组重试读取电压相关联,所述方法包括:
根据主机装置的读取请求,由所述控制器基于默认读取电压执行正常读取操作;并且
当所述正常读取操作失败时,由所述控制器使用至少一个重试读取电压执行读取重试操作,
其中执行所述读取重试操作包括:
由所述控制器确定所述正常读取操作失败时的工作负荷;
由所述控制器选择与所确定的工作负荷相关联的一组重试读取电压,所选择组中的重试读取电压从最高命中率到最低命中率进行排序;并且
由所述控制器将所选择组的重试读取电压提供到所述存储装置以读取数据。
9.根据权利要求8所述的方法,进一步包括:根据所述读取重试操作的结果,由所述控制器来更新所述命中率表。
10.根据权利要求8所述的方法,其中确定工作负荷包括基于读取操作对所述存储装置的访问类型或读取数据的大小来确定该工作负荷。
11.根据权利要求10所述的方法,其中所确定的工作负荷包括顺序读取操作、随机读取操作和小型读取操作中的一个,所述顺序读取操作响应于紧接在先前读取操作的最后逻辑地址之后的起始逻辑地址而执行,所述随机读取操作与响应于随机逻辑地址而执行的读取操作相对应,并且所述小型读取操作的数据的大小不大于设定大小。
12.一种控制器的操作方法,所述操作方法包括:
当先前读取操作失败时,确定数据存储装置的工作负荷;
控制存储装置以利用与所确定的工作负荷相关联的一组选定的读取重试电压中的一个或多个读取重试电压执行后续读取操作,该组选定的读取重试电压根据读取重试电压的命中率进行排序;并且
当所述后续读取操作成功时,更新所述命中率,
其中所述数据存储装置包括所述控制器和所述存储装置。
CN202010930617.9A 2020-03-06 2020-09-07 数据存储装置及其操作方法 Withdrawn CN113360427A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200028455A KR20210112872A (ko) 2020-03-06 2020-03-06 데이터 저장 장치 및 그 동작 방법
KR10-2020-0028455 2020-03-06

Publications (1)

Publication Number Publication Date
CN113360427A true CN113360427A (zh) 2021-09-07

Family

ID=77524414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010930617.9A Withdrawn CN113360427A (zh) 2020-03-06 2020-09-07 数据存储装置及其操作方法

Country Status (3)

Country Link
US (1) US11461177B2 (zh)
KR (1) KR20210112872A (zh)
CN (1) CN113360427A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115312104A (zh) * 2022-09-30 2022-11-08 芯天下技术股份有限公司 闪存芯片配置信息读取方法、装置、电子设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11726671B2 (en) * 2021-06-24 2023-08-15 Micron Technology, Inc. Memory access mode selection
US11841767B2 (en) 2021-11-24 2023-12-12 Samsung Electronics Co., Ltd. Controller controlling non-volatile memory device, storage device including the same, and operating method thereof
KR102547251B1 (ko) * 2021-11-24 2023-06-26 삼성전자주식회사 비휘발성 메모리 장치를 제어하는 제어기, 그것을 포함하는 저장 장치 및 그것의 동작 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101826140B1 (ko) 2011-08-04 2018-03-22 삼성전자주식회사 메모리 컨트롤러의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 메모리 시스템
KR20170085286A (ko) 2016-01-14 2017-07-24 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR20180110412A (ko) 2017-03-29 2018-10-10 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
CN111104044B (zh) * 2018-10-25 2024-04-30 上海宝存信息科技有限公司 数据储存装置及其适应性数据读取方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115312104A (zh) * 2022-09-30 2022-11-08 芯天下技术股份有限公司 闪存芯片配置信息读取方法、装置、电子设备及存储介质
CN115312104B (zh) * 2022-09-30 2022-12-13 芯天下技术股份有限公司 闪存芯片配置信息读取方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US11461177B2 (en) 2022-10-04
US20210279138A1 (en) 2021-09-09
KR20210112872A (ko) 2021-09-15

Similar Documents

Publication Publication Date Title
US11461177B2 (en) Data storage device and method of operating the same
CN111177031B (zh) 数据存储装置及操作方法和具有数据存储装置的存储系统
CN110970074B (zh) 存储器系统及其操作方法
CN110942795B (zh) 存储器系统、其操作方法以及非易失性存储器装置
US11675699B2 (en) Data storage device, operation method thereof, and storage system including the same
US20200152274A1 (en) Data storage apparatus, operating method thereof, and storage system including data storage apparatus
US11327672B2 (en) Data storage device for searching a last access page and operation method thereof
CN111414311B (zh) 数据存储装置、其操作方法及其控制器
US11543990B2 (en) Data storage apparatus with extended lifespan and operation method thereof
US20210240627A1 (en) Data storage appratus and operating method thereof
CN111752854A (zh) 数据存储装置及其操作方法
KR20200121068A (ko) 데이터 저장 장치 및 이의 동작 방법, 이를 위한 컨트롤러
US11467747B2 (en) Data storage device and operating method thereof
JP2023002208A (ja) メモリシステム及びリード方法
CN113467708A (zh) 电子装置、数据存储装置及其操作方法
US12001331B2 (en) Data storage device, operation method thereof, and storage system including the same
US11593006B2 (en) Data storage apparatus and method for managing valid data based on bitmap table
US20220188008A1 (en) Data storage apparatus and operation method thereof
US11243718B2 (en) Data storage apparatus and operation method i'hereof
US20230031193A1 (en) Memory system and operating method thereof
CN117093516A (zh) 与读取效率相关的数据存储装置以及与读取效率相关的控制器、存储器装置和操作方法
CN114625309A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20210907