CN113138947A - 数据写入方法、存储器控制电路单元以及存储器存储装置 - Google Patents

数据写入方法、存储器控制电路单元以及存储器存储装置 Download PDF

Info

Publication number
CN113138947A
CN113138947A CN202010051916.5A CN202010051916A CN113138947A CN 113138947 A CN113138947 A CN 113138947A CN 202010051916 A CN202010051916 A CN 202010051916A CN 113138947 A CN113138947 A CN 113138947A
Authority
CN
China
Prior art keywords
sub
data
decoding
error checking
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010051916.5A
Other languages
English (en)
Other versions
CN113138947B (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.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
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 Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN202010051916.5A priority Critical patent/CN113138947B/zh
Publication of CN113138947A publication Critical patent/CN113138947A/zh
Application granted granted Critical
Publication of CN113138947B publication Critical patent/CN113138947B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • 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]

Landscapes

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

Abstract

本发明提供一种数据写入方法、存储器控制电路单元以及存储器存储装置。所述方法包括:获得一数据;编码此数据中的多个子数据以获得分别对应于此些子数据的多个第一错误检查与校正码;将前述多个子数据以及第一错误检查与校正码写入至第一实体程序化单元;编码前述多个子数据以获得第二错误检查与校正码;以及将第二错误检查与校正码写入至第二实体程序化单元。

Description

数据写入方法、存储器控制电路单元以及存储器存储装置
技术领域
本发明涉及一种数据写入方法、存储器控制电路单元以及存储器存储装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,当存储器控制器从主机系统中接收到写入指令时,存储器控制器会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC code)或错误检查码(error detecting code,EDC),并且存储器控制器会将对应此写入指令的数据与对应的错误更正码或错误检查码写入至可复写式非易失性存储器模块中。之后,当存储器控制器从可复写式非易失性存储器模块中读取数据时会同时读取此数据对应的错误更正码或错误检查码,并且错误检查与校正电路会依据此错误更正码或错误检查码对所读取的数据执行错误检查与校正程序。
需注意的是,在现有的方法中,通常是将数据与对应此数据的错误更正码或错误检查码写入至可复写式非易失性存储器模块中的同一个实体程序化单元中。然而,在可复写式非易失性存储器模块中,不同的实体程序化单元的可靠度并不相同。例如,在解码存储在某一个实体程序化单元中的数据时发生错误的机率会小于在解码存储在另一实体程序化单元中的数据时发生错误的机率。因此,若将数据与对应此数据的错误更正码或错误检查码写入至可靠度较低的实体程序化单元中时,可能有较高的机率无法成功的解码欲读取的数据。
因此,如何有效地解码存储在可靠度较低的实体程序化单元中的数据以提高解码成功的机率,是本领域技术人员所欲解决的问题之一。
发明内容
本发明提供一种数据写入方法、存储器控制电路单元以及存储器存储装置,可以有效地解码存储在可靠度较低的实体程序化单元中的数据以提高解码成功的机率。
本发明提出一种数据写入方法,用于一可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体抹除单元,所述多个实体抹除单元中的每一个实体抹除单元包括多个实体程序化单元,所述方法包括:获得一数据;编码所述数据中的多个子数据以获得分别对应于所述多个子数据的多个第一错误检查与校正码;将所述多个子数据以及所述多个第一错误检查与校正码写入至所述多个实体程序化单元中的一第一实体程序化单元;编码所述多个子数据以获得一第二错误检查与校正码;以及将所述第二错误检查与校正码写入至所述多个实体程序化单元中的一第二实体程序化单元。
在本发明的一实施例中,在解码存储在所述第二实体程序化单元中的数据时发生错误的机率小于在解码存储在所述第一实体程序化单元中的数据时发生错误的机率。
在本发明的一实施例中,所述方法还包括:接收用以读取所述数据的一读取指令;根据所述读取指令,读取所述第一实体程序化单元以获得分别对应于所述多个子数据的多个子码字(sub-codeword),并解码所述多个子码字;当在解码所述多个子码字的其中之一发生失败时,读取所述第二实体程序化单元以获得所述第二错误检查与校正码;以及解码由所述多个子数据与所述第二错误检查与校正码所组成的一码字。
在本发明的一实施例中,所述方法还包括:当解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字发生失败且发生失败的次数小于一门坎值时,再次执行解码所述多个子码字的步骤;以及当解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字发生失败且发生失败的次数非小于所述门坎值时,判断解码发生失败。
在本发明的一实施例中,解码所述多个子码字的步骤包括:当解码所述多个子码字皆成功时,输出通过解码所述多个子码字所获得的一解码后数据并停止解码。其中解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字的步骤包括:当解码所述码字成功时,输出通过解码所述码字所获得的另一解码后数据并停止解码。
在本发明的一实施例中,所述方法还包括:设置一矩阵,其中所述矩阵包括一额外矩阵以及分别对应于所述多个子数据的多个子矩阵。其中编码所述数据中的所述多个子数据以获得分别对应于所述多个子数据的所述多个第一错误检查与校正码的步骤包括:根据所述多个子矩阵编码所述多个子数据以获得分别对应于所述多个子数据的所述多个第一错误检查与校正码。其中编码所述多个子数据以获得所述第二错误检查与校正码的步骤包括:根据所述额外矩阵以及所述多个子矩阵编码所述多个子数据以获得所述第二错误检查与校正码。
在本发明的一实施例中,编码所述多个子数据以获得所述第二错误检查与校正码的步骤包括:仅编码所述多个子数据中的部分子数据以获得所述第二错误检查与校正码。
本发明提出一种存储器控制电路单元,用于一可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个实体抹除单元,所述多个实体抹除单元中的每一个实体抹除单元包括多个实体程序化单元,所述存储器控制电路单元包括:主机接口、错误检查与校正电路、存储器接口以及存储器管理电路。主机接口用以电性连接至一主机系统。存储器接口用以电性连接至所述可复写式非易失性存储器模块。存储器管理电路电性连接至所述主机接口、所述错误检查与校正电路以及所述存储器接口。所述存储器管理电路用以获得一数据。所述错误检查与校正电路用以编码所述数据中的多个子数据以获得分别对应于所述多个子数据的多个第一错误检查与校正码。所述存储器管理电路还用以将所述多个子数据以及所述多个第一错误检查与校正码写入至所述多个实体程序化单元中的一第一实体程序化单元。所述错误检查与校正电路还用以编码所述多个子数据以获得一第二错误检查与校正码。所述存储器管理电路还用以将所述第二错误检查与校正码写入至所述多个实体程序化单元中的一第二实体程序化单元。
在本发明的一实施例中,在解码存储在所述第二实体程序化单元中的数据时发生错误的机率小于在解码存储在所述第一实体程序化单元中的数据时发生错误的机率。
在本发明的一实施例中,所述存储器管理电路还用以接收用以读取所述数据的一读取指令。所述存储器管理电路还用以根据所述读取指令,读取所述第一实体程序化单元以获得分别对应于所述多个子数据的多个子码字(sub-codeword),并通过所述错误检查与校正电路解码所述多个子码字。当在解码所述多个子码字的其中之一发生失败时,所述存储器管理电路还用以读取所述第二实体程序化单元以获得所述第二错误检查与校正码,并通过所述错误检查与校正电路解码由所述多个子数据与所述第二错误检查与校正码所组成的一码字。
在本发明的一实施例中,当解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字发生失败且发生失败的次数小于一门坎值时,所述错误检查与校正电路再次执行解码所述多个子码字的运作。当解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字发生失败且发生失败的次数非小于所述门坎值时,所述错误检查与校正电路判断解码发生失败。
在本发明的一实施例中,在解码所述多个子码字的运作中,当解码所述多个子码字皆成功时,所述存储器管理电路还用以输出通过解码所述多个子码字所获得的一解码后数据并停止解码。在解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字的运作中,当解码所述码字成功时,所述存储器管理电路还用以输出通过解码所述码字所获得的另一解码后数据并停止解码。
在本发明的一实施例中,所述存储器管理电路还用以设置一矩阵,其中所述矩阵包括一额外矩阵以及分别对应于所述多个子数据的多个子矩阵。其中在编码所述数据中的所述多个子数据以获得分别对应于所述多个子数据的所述多个第一错误检查与校正码的运作中,所述错误检查与校正电路还用以根据所述多个子矩阵编码所述多个子数据以获得分别对应于所述多个子数据的所述多个第一错误检查与校正码。在编码所述多个子数据以获得所述第二错误检查与校正码的运作中,所述错误检查与校正电路还用以根据所述额外矩阵以及所述多个子矩阵编码所述多个子数据以获得所述第二错误检查与校正码。
在本发明的一实施例中,在编码所述多个子数据以获得所述第二错误检查与校正码的运作中,所述错误检查与校正电路仅编码所述多个子数据中的部分子数据以获得所述第二错误检查与校正码。
本发明提出一种存储器存储装置,包括:连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元用以电性连接至一主机系统。所述可复写式非易失性存储器模块包括多个实体抹除单元,所述多个实体抹除单元中的每一个实体抹除单元包括多个实体程序化单元。存储器控制电路单元电性连接至所述连接接口单元与所述可复写式非易失性存储器模块。所述存储器控制电路单元用以获得一数据。所述存储器控制电路单元还用以编码所述数据中的多个子数据以获得分别对应于所述多个子数据的多个第一错误检查与校正码。所述存储器控制电路单元还用以将所述多个子数据以及所述多个第一错误检查与校正码写入至所述多个实体程序化单元中的一第一实体程序化单元。所述存储器控制电路单元还用以编码所述多个子数据以获得一第二错误检查与校正码。所述存储器控制电路单元还用以将所述第二错误检查与校正码写入至所述多个实体程序化单元中的一第二实体程序化单元。
在本发明的一实施例中,其中在解码存储在所述第二实体程序化单元中的数据时发生错误的机率小于在解码存储在所述第一实体程序化单元中的数据时发生错误的机率。
在本发明的一实施例中,所述存储器控制电路单元还用以接收用以读取所述数据的一读取指令,所述存储器控制电路单元还用以根据所述读取指令,读取所述第一实体程序化单元以获得分别对应于所述多个子数据的多个子码字(sub-codeword),并解码所述多个子码字。当在解码所述多个子码字的其中之一发生失败时,所述存储器控制电路单元还用以读取所述第二实体程序化单元以获得所述第二错误检查与校正码,并解码由所述多个子数据与所述第二错误检查与校正码所组成的一码字。
在本发明的一实施例中,当解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字发生失败且发生失败的次数小于一门坎值时,所述存储器控制电路单元还用以再次执行解码所述多个子码字的运作。当解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字发生失败且发生失败的次数非小于所述门坎值时,所述存储器控制电路单元还用以判断解码发生失败。
在本发明的一实施例中,在解码所述多个子码字的运作中,当解码所述多个子码字皆成功时,所述存储器控制电路单元还用以输出通过解码所述多个子码字所获得的一解码后数据并停止解码。在解码由所述多个子码字数据与所述第二错误检查与校正码所组成的所述码字的运作中,当解码所述码字成功时,所述存储器控制电路单元还用以输出通过解码所述码字所获得的另一解码后数据并停止解码。
在本发明的一实施例中,所述存储器控制电路单元还用以设置一矩阵,其中所述矩阵包括一额外矩阵以及分别对应于所述多个子数据的多个子矩阵。其中在编码所述数据中的所述多个子数据以获得分别对应于所述多个子数据的所述多个第一错误检查与校正码的运作中,所述存储器控制电路单元还用以根据所述多个子矩阵编码所述多个子数据以获得分别对应于所述多个子数据的所述多个第一错误检查与校正码。在编码所述多个子数据以获得所述第二错误检查与校正码的运作中,所述存储器控制电路单元还用以根据所述额外矩阵以及所述多个子矩阵编码所述多个子数据以获得所述第二错误检查与校正码。
在本发明的一实施例中,在编码所述多个子数据以获得所述第二错误检查与校正码的运作中,所述存储器控制电路单元仅编码所述多个子数据中的部分子数据以获得所述第二错误检查与校正码。
基于上述,本发明的数据写入方法、存储器控制电路单元以及存储器存储装置可以对一笔数据产生多个错误检查与校正码,并且将此些错误检查与校正码的其中之一存储至可靠度较高的实体程序化单元中。通过此方式,由于存储在可靠度较高的实体程序化单元中的错误检查与校正码产生错误的机率较低,因此可以帮助有效地解码存储在可靠度较低的实体程序化单元中的数据并提高解码成功的机率。
附图说明
包含附图以便进一步理解本发明,且附图并入本说明书中并构成本说明书的一部分。附图说明本发明的实施例,并与描述一起用于解释本发明的原理;
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图;
图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图;
图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图;
图6是根据一范例实施例所示出的存储单元数组的示意图;
图7是根据一范例实施例所示出存储于存储单元数组中的写入数据所对应的栅极电压的统计分配图;
图8是根据一范例实施例所示出的程序化存储单元的示意图;
图9是根据一范例实施例所示出的从存储单元中读取数据的示意图;
图10是根据另一范例实施例所示出的从存储单元中读取数据的示意图;
图11是根据本发明范例实施例所示出的管理可复写式非易失性存储器模块的示意图;
图12是根据一范例实施例所示出的存储器控制电路单元的概要方块图;
图13是根据一范例实施例示出硬位模式解码的示意图;
图14是根据一范例实施例示出软位模式解码的示意图;
图15是根据一范例实施例示出奇偶检查矩阵的示意图;
图16是根据一范例实施例示出在写入时对数据进行编码的示意图;
图17是根据一范例实施例示出在写入时对数据进行编码的流程图;
图18是根据一范例实施例示出在读取时对数据进行解码的示意图;
图19是根据一范例实施例示出在读取时对数据进行解码的流程图。
具体实施方式
现将详细地参考本发明的示范性实施例,示范性实施例的实例说明于附图中。只要有可能,相同组件符号在附图和描述中用来表示相同或相似部分。
一般而言,存储器存储装置(亦称,存储器存储系统)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(亦称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据本发明的一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器存储装置及I/O装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机系统11可经由数据传输接口114将数据存储至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12电性连接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主板20可以经由有线或无线方式电性连接至存储器存储装置10。存储器存储装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通信(Near FieldCommunication,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通信技术为基础的存储器存储装置。此外,主板20也可以通过系统总线110电性连接至全球定位系统(Global Positioning System,GPS)模块205、网络适配器206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以计算机系统来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板计算机等系统,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embedded MMC,eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi ChipPackage,eMCP)342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式存储装置。
图4是根据本发明的一范例实施例所示出的存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是兼容于串行高级技术附件(SerialAdvanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402亦可以是符合并行高级技术附件(Parallel Advanced TechnologyAttachment,PATA)标准、电气和电子工程师协会(Institute of Electrical andElectronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral ComponentInterconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、安全数字(Secure Digital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi MediaCard,MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card,eMMC)接口标准、通用闪存(Universal Flash Storage,UFS)接口标准、嵌入式多芯片封装(embedded MultiChip Package,eMCP)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路单元404的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型闪存模块(即,一个存储单元中可存储1个位的闪存模块)、多阶存储单元(Multi Level Cell,MLC)NAND型闪存模块(即,一个存储单元中可存储2个位的闪存模块)、复数阶存储单元(Triple Level Cell,TLC)NAND型闪存模块(即,一个存储单元中可存储3个位的闪存模块)、其他闪存模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的存储单元是以数组的方式设置。以下以二维数组来对存储单元数组进行说明。但是,在此须注意的是,以下范例实施例只是存储单元数组的一种范例,在其他的范例实施例中,存储单元数组的配置方式可以被调整以符合实务上的需求。
图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。图6是根据一范例实施例所示出的存储单元数组的示意图。
请同时参照图5与图6,可复写式非易失性存储器模块406包括存储单元数组2202、字线控制电路2204、位线控制电路2206、行解码器(column decoder)2208、数据输入/输出缓冲器2210与控制电路2212。
在本范例实施例中,存储单元数组2202可包括用以存储数据的多个存储单元502、多个选择栅漏极(select gate drain,SGD)晶体管512与多个选择栅源极(select gatesource,SGS)晶体管514、以及连接此些存储单元的多条位线504、多条字线506、与共享源极线508(如图6所示)。存储单元502是以数组方式(或立体堆栈的方式)配置在位线504与字线506的交叉点上。当从存储器控制电路单元404接收到写入指令或读取指令时,控制电路2212会控制字线控制电路2204、位线控制电路2206、行解码器2208、数据输入/输出缓冲器2210来写入数据至存储单元数组2202或从存储单元数组2202中读取数据,其中字线控制电路2204用以控制施予至字线506的电压,位线控制电路2206用以控制施予至位线504的电压,行解码器2208依据指令中的列地址以选择对应的位线,并且数据输入/输出缓冲器2210用以暂存数据。
可复写式非易失性存储器模块406中的存储单元是以临界电压的改变来存储多比特(bits)。具体来说,每一个存储单元的控制栅极(control gate)与通道之间有一个电荷捕捉层。通过施予一写入电压至控制栅极,可以改变电荷补捉层的电子量,因而改变了存储单元的临界电压。此改变临界电压的程序亦称为“把数据写入至存储单元”或“程序化存储单元”。随着临界电压的改变,存储单元数组2202的每一存储单元具有多个存储状态。并且通过读取电压可以判断存储单元是属于哪一个存储状态,藉此取得存储单元所存储的位。
图7是根据一范例实施例所示出存储于存储单元数组中的写入数据所对应的栅极电压的统计分配图。
请参照图7,以MLC NAND型闪存为例,随着不同的临界电压,每一存储单元具有4种存储状态,并且此些存储状态分别地代表"11"、"10"、"00"与"01"等位。换言之,每一个存储状态包括最低有效位(Least Significant Bit,LSB)以及最高有效位(Most SignificantBit,MSB)。在本范例实施例中,存储状态(即,"11"、"10"、"00"与"01")中从左侧算起的第1个位为LSB,而从左侧算起的第2个位为MSB。因此,在此范例实施例中,每一存储单元可存储2个位。必须了解的是,图8所示出的临界电压及其存储状态的对应仅为一个范例。在本发明另一范例实施例中,临界电压与存储状态的对应亦可是随着临界电压越大而以"11"、"10"、"01"与"00"排列,或是其他排列。此外,在另一范例时实例中,亦可定义从左侧算起的第1个位为MSB,而从左侧算起的第2个位为LSB。
图8是根据一范例实施例所示出的程序化存储单元的示意图。
请参照图8,在本范例实施例中,存储单元的程序化是通过脉冲写入/验证临界电压方法来完成。具体来说,欲将数据写入至存储单元时,存储器控制电路单元404会设定初始写入电压以及写入脉冲时间,并且指示可复写式非易失性存储器模块406的控制电路2212使用所设定的初始写入电压以及写入脉冲时间来程序化存储单元,以进行数据的写入。之后,存储器控制电路单元404会施加验证电压至控制栅极来判断存储单元是否导通,进而判断存储单元是否已处于正确的存储状态(具有正确的临界电压)。倘若存储单元未被程序化至正确的存储状态时,存储器控制电路单元404指示控制电路2212以目前施予的写入电压加上一增量阶跃脉冲程序(Incremental-step-pulse programming,ISPP)调整值作为新的写入电压并且依据新的写入电压与写入脉冲时间再次来程序化存储单元。反之,倘若存储单元已被程序化至正确的存储状态时,则表示数据已被正确地写入至存储单元。例如,初始写入电压会被设定为16伏特(Voltage,V),写入脉冲时间会被设定为18微秒(microseconds,μs)并且增量阶跃脉冲程序调整值被设定为0.6V,但本发明不限于此。
图9是根据一范例实施例所示出的从存储单元中读取数据的示意图,其是以MLCNAND型闪存为例。
请参照图9,存储单元数组2202的存储单元的读取运作是通过施予读取电压于控制栅极,通过存储单元的导通状态,来识别存储单元存储的数据。验证比特(VA)是用以指示施予读取电压VA时存储单元是否为导通;验证比特(VC)是用以指示施予读取电压VC时存储单元是否为导通;验证比特(VB)是用以指示施予读取电压VB时存储单元是否为导通。在此假设验证比特是”1”时表示对应的存储单元导通,而验证比特是”0”时表示对应的存储单元没有导通。如图9所示,通过验证比特(VA)~(VC)可以判断存储单元是处于哪一个存储状态,进而取得所存储的位。
图10是根据另一范例实施例所示出的从存储单元中读取数据的示意图。
请参照图10,以TLC NAND型快闪存储器为例,每一个存储状态包括对齐算起的第1个比特的最低有效比特LSB,从对齐算起的第2个比特的中间有效比特(中心有效位,CSB)以及从左侧算起的第3个比特的最高有效比特MSB。在此范例中,依照不同的临界电压,存储单元具有8种存储状态(即,"111"、"110"、"100"、"101"、"001"、"000"、"010"与"011")。通过施加读取电压VA~VG于控制栅极,可以识别存储单元所存储的位。
图11是根据本发明范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
请参照图11,可复写式非易失性存储器模块406的存储单元502会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元400(0)~400(N)。具体来说,同一个字符在线的存储单元会组成一或多个实体程序化单元。若每一个存储单元可存储2个以上的位,则同一个字符在线的实体程序化单元可被分类为下实体程序化单元与上实体程序化单元。例如,每一存储单元的LSB是属于下实体程序化单元,并且每一存储单元的MSB是属于上实体程序化单元。在此范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面或是实体扇(sector)。若实体程序化单元为实体页面,则每一个实体程序化单元通常包括数据位区与冗余位区。数据位区包含多个实体扇,用以存储用户的数据,而冗余位区用以存储系统的数据(例如,错误更正码)。在本范例实施例中,每一个数据位区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据位区中也可包含8个、16个或数目更多或更少的实体扇,本发明并不限制实体扇的大小以及个数。另一方面,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目的一并被抹除的存储单元。例如,实体抹除单元为实体区块。
图12是根据一范例实施例所示出的存储器控制电路单元的概要方块图。必须了解的是,图12所示的存储器控制电路单元的结构仅为一范例,本发明不以此为限。
请参照图12,存储器控制电路单元404包括存储器管理电路702、主机接口704、存储器接口706及错误检查与校正电路708。
存储器管理电路702用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路702具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路702或任何包含于存储器控制电路单元404中的电路组件的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路702的控制指令是以固件型式来实作。例如,存储器管理电路702具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被刻录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路702的控制指令亦可以程序代码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路702具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块406中的控制指令加载至存储器管理电路702的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路702的控制指令亦可以一硬件型式来实作。例如,存储器管理电路702包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或其群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序代码或脚本并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路702还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口704是电性连接至存储器管理电路702并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口704来传送至存储器管理电路702。在本范例实施例中,主机接口704是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口704亦可以是兼容于PATA标准、IEEE 1394标准、PCIExpress标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口706是电性连接至存储器管理电路702并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口706转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路702要存取可复写式非易失性存储器模块406,存储器接口706会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压准位或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路702产生并且通过存储器接口706传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括脚本或程序代码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
错误检查与校正电路708是电性连接至存储器管理电路702并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路702从主机系统11中接收到写入指令时,错误检查与校正电路708会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC code)或错误检查码(error detecting code,EDC),并且存储器管理电路702会将对应此写入指令的数据与对应的错误更正码或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路702从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码或错误检查码,并且错误检查与校正电路708会依据此错误更正码或错误检查码对所读取的数据执行错误检查与校正程序。
在本发明一范例实施例中,存储器控制电路单元404还包括缓冲存储器710与电源管理电路712。缓冲存储器710是电性连接至存储器管理电路702并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路712是电性连接至存储器管理电路702并且用以控制存储器存储装置100的电源。
图13是根据一范例实施例示出硬位模式解码的示意图。
请参照图13,在此以SLC闪存为例,分布1410与分布1420是用来表示多个第一存储单元的存储状态,而分布1410与1420分别代表着不同的存储状态。这些第一存储单元可以属于同样的实体程序化单元或是不同的实体程序化单元,本发明并不在此限。在此假设当一个存储单元属于分布1410时,此存储单元所存储的是位“1”;当存储单元属于分布1420时,此存储单元存储的是位“0”。当存储器管理电路702以读取电压1440来读取存储单元时,存储器管理电路702会取得验证比特,其是用来指示此存储单元是否为导通。在此假设存储单元导通时验证比特是“1”,反之则是“0”,但本发明并不在此限。若此验证比特为“1”,则存储器管理电路702会判断此存储单元属于分布1410,反之则是分布1420。然而,分布1410与分布1420在区域1430中是重叠的。也就是说,有若干个存储单元应该是属于分布1410但被识别为分布1420,并且有若干个存储单元应该是属于分布1420但被识别为分布1410。
在此范例实施例中,当要读取这些第一存储单元时,存储器管理电路702会先选择一读取电压(例如,读取电压1441)来读取这些第一存储单元以取得第一存储单元的验证比特。错误检查与校正电路708会根据第一存储单元的验证比特来执行包含一机率解码算法的解码操作(亦称为第一解码操作),以产生多个解码位,而此些解码位可以组成一个码字。
在本范例实施例中,机率解码算法是把一个符号(symbol)可能的解码结果当做一个候选人(candidate),并且在解码过程中输入的信息或者中间运算过程的数值是以这些候选人的机率值或是候选人之间机率的比例来表示,进而决定最有可能的候选人是哪一个。举例而言,如果一个符号有两个候选人(位0and 1),机率解码算法是各自依照0或者1发生的机率去计算最有可能的候选人,或者是以0与1之间机率的比例去计算最有可能的候选人。假如是N个候选人,例如在有限场(Finite Field)下可能的数值为0~N-1(N为正整数,每一个候选人是代表多个位),则机率解码算法是各自计算N个候选人的机率来决定最有可能的候选人,或者是以其中一个数值的机率作为分母去计算相对的机率比例来决定最有可能的候选人。在一范例实施例中,上述机率的比例也可以用对数的形式来表示。
在本范例实施例中,机率解码算法可以是回旋码(卷积码),涡轮码(turbo码),低密度奇偶校验码(低密度奇偶校验码)或其他具有机率的解码特征的算法。而言,在回旋码与涡轮码中,可以用有限状态机(有限状态机)来编码与解码,并且在本例实施例中会根据验证比特来计算最有可能的多个状态,将会产生低密度奇偶校验码为例进行说明。
若使用的是低密度奇偶检查码,在根据验证比特来执行第一解码操作时,存储器管理电路702还会根据每一个验证比特来取得每一个存储单元的解码初始值。例如,若验证比特是“1”,存储器管理电路702会设定对应的存储单元的解码初始值为n;若验证比特是“0”,则解码初始值为-n。其中n为正数,但本发明并不限制正整数n的值为多少。在一实施例中,n例如是8。
接下来,错误检查与校正电路708会根据这些解码初始值来执行低密度奇偶检查算法的叠代解码以产生包含多个解码位的码字。在叠代解码中,这些解码初始值会不断地被更新以代表一个机率值,而这个机率值亦被称为可靠度(realiability)或信心度(belief)。被更新的解码初始值会被转换成多个解码位,错误检查与校正电路708会把这些解码位当作一个向量,并将此向量与低密度奇偶检查算法的奇偶检查矩阵(parity-checkmatrix)做模2(module 2)的矩阵相乘,以取得多个校验子(syndrome)。这些校验子可以用来判断解码位所组成的码字是否为有效的码字。若解码位所组成的码字是有效的码字,则叠代解码会停止,并且错误检查与校正电路708会输出这些解码位所组成的码字。若解码字节成无效的码字,则会继续更新解码初始值并且产生新的解码位以进行下一次叠代。当叠代次数到达预设叠代次数时,叠代解码会停止。错误检查与校正电路708会利用最后一次叠代所产生的解码位来判断是否解码成功。例如,若根据校验子判断最后一次叠代所产生的解码字节成有效的码字,则是解码成功;若解码字节成无效的码字,则表示解码失败。
在另一范例实施例中解码操作所包括的机率解码算法是回旋码与涡轮码,并且解码操作中还会包括其他的错误校正码。例如,回旋码与涡轮码可以搭配任意算法的奇偶码一起使用。在解码操作中回旋码或涡轮码的解码部分执行完毕以后,奇偶码可以用来判断所产生的解码位所组成的码字是否为有效的码字,进而判断是否解码成功。
不论使用何种错误校正码,若解码失败,表示这些第一存储单元存储有不可更正的错误比特。若解码失败,存储器管理电路702会重新取得另一读取电压,并用此另一读取电压(例如读取电压1442)来读取这些第一存储单元,以重新取得存储单元的验证比特。存储器管理电路702会根据重新取得的验证比特来执行上述的第一解码操作以取得由多个解码字节成的另一码字。在一范例实施例中,错误检查与校正电路708会根据该另一码字所对应的校验子判断所述另一码字是否为有效的码字。若所述另一码字非为有效的码字时,存储器管理电路702会判断解码失败。若重新取得读取电压的次数没有超过默认次数,则存储器管理电路702会再重新取得其他取得电压(例如,读取电压1443),并且根据重新取得的读取电压1443读取第一存储单元,以重新取得验证比特并执行第一解码操作。
换句话说,当有不可更正的错误比特时,通过重新取得读取电压,一些存储单元的验证比特会被改变,进而改变机率解码算法中若干个机率值,进而有机会改变了解码操作的解码结果。逻辑上来说,上述重新取得读取电压的动作是要翻转(flip)一个码字中的若干位,并对新的码字重新解码。在一些情况下,在翻转前无法解码的码字(有不可更正的错误比特),有可能在翻转后可以解码。并且,在一范例实施例中存储器管理电路702会尝试解码数次,直到尝试的次数超过预设次数为止。然而,本发明并不限制预设次数为多少。
值得注意的是,在图13中所举的是SLC闪存的例子,但重新取得读取电压的步骤也可以适用于MLC或是TLC闪存。如图9所示,改变读取电压VA会翻转一个存储单元的LSB,而改变读取电压VB或VC则可以翻转一个存储单元的MSB。因此,改变读取电压VA、VB或VC都可以将一个码字改变为另一个码字。改变码字的结果也适用于图10的TLC闪存。本发明并不限制所使用的是SLC、MLC或是TLC闪存。
在图13的范例实施例中,存储单元的解码初始值是根据一个验证比特而被分为两个数值(例如,n与-n)。根据两种数值来执行的叠代解码亦被称为硬位模式(hard bitmode)的叠代解码。然而,上述改变读取电压的步骤也可以应用在软位模式(soft bitmode)的叠代解码,其中每一个存储单元的解码初始值是根据多个验证比特所决定。值得注意的是,不论是硬位模式或是软位模式,在叠代解码中都会计算位的机率值,因此都属于机率解码算法。
图14是根据一范例实施例示出软位模式解码的示意图。
如上所述,当施加读取电压于存储单元的控制栅极以后,随着存储单元是否导通,存储器管理电路702所取得的验证比特会是“0”或是“1”。在此假设若存储单元没有导通时则对应的验证比特是“0”,反之则是“1”。在图14中,存储器管理电路702会施加读取电压V1~V5至存储单元以取得5个验证比特。具体来说,读取电压V1是对应到验证比特b1;读取电压V2是对应到验证比特b2;读取电压V3是对应到验证比特b3;读取电压V4是对应到验证比特b4;读取电压V5是对应到验证比特b5。若一个存储单元的临界电压是在区间1501,则从验证比特b1至验证比特b5,存储器管理电路702所取得的验证比特会是“11111”;若存储单元的临界电压是在区间1502,则验证比特会是“01111”;若存储单元的临界电压是在区间1503,则验证比特会是“00111”;若存储单元的临界电压是在区间1504,则验证比特会是“00011”;若存储单元的临界电压是在区间1505,则验证比特会是“00001”;若存储单元的临界电压是在区间1506,则验证比特会是“00000”。
在此范例实施例中,读取电压V1~V5的其中之一会被设定为正负号(sign)读取电压。此正负号读取电压是用来决定解码初始值的正负号。例如,若读取电压V3为正负号读取电压,则区间1501~1503所对应的解码初始值会小于0,并且区间1504~1506所对应的解码初始值会大于0。此外,在每一个区间中,可以事先计算出存储单元属于分布1510的机率与属于分布1520的机率。根据这两个机率可以计算出对数可能性比值(Log LikelihoodRatio,LLR),而此对数可能性比值可用来决定解码初始值的绝对值的大小。因此,存储器管理电路702是根据正负号读取电压与验证比特b1~b5取得存储单元在软位模式下的解码初始值。举例来说,区间1501~1503所对应的解码初始值会可以分别为-8、-4与-3,区间1504~1506所对应的解码初始值会可以分别为3、4与8。在一范例实施例中,各个区间所对应的解码初始值可以事先被计算出来并且存储在一个查找表中。存储器管理电路702可以将验证比特b1~b5输入此查找表中,藉此取得对应的解码初始值。换言之,实作上存储器管理电路702也可以根据验证比特b1~b5,而不参照正负号读取电压,便取得存储单元在软位模式下的解码初始值。此外,若设定不同的正负号读取电压,存储器管理电路702可以使用不同的查找表。
在存储器管理电路702取得解码初始值以后,错误检查与校正电路708会对解码初始值执行叠代解码以取得由多个解码字节成的码字,并利用这些由多个解码字节成的码字来判断是否解码成功。若解码失败,存储器管理电路702可以重新取得另一读取电压。
在重新取得另一读取电压以后,每一个区间所对应的对数可能性比值也会改变,因此存储器管理电路702会使用不同的查找表以取得解码初始值。逻辑上来说,改变读取电压是为了翻转一个码字中若干个位,并且给予不同的解码初始值(改变数值大小或是正负号),使得改变前无法解码的码字(有不可更正的错误比特),有可能在改变后可以解码。
在图14的范例实施例中,一个软位模式解码的解码初始值是由5个验证比特(读取电压)所决定。然而,在其他范例实施例中,一个软位模式解码的解码初始值也可以由数目更多或更少的验证比特来决定,本发明并不在此限。
然而须注意的是,一般来说,存储器管理电路702通常会将来自主机系统的数据与对应此数据的错误更正码或错误检查码写入至可复写式非易失性存储器模块406中的同一个实体程序化单元中。然而,在解码存储在可靠度较低的实体程序化单元中的数据时,不管是硬位模式解码或软位模式解码,都会有较高的机率发生解码失败。
因此,本发明提供一种数据写入方法、存储器控制电路单元以及存储器存储装置,可以有效地解码存储在可靠度较低的实体程序化单元中的数据以提高解码成功的机率。
图15是根据一范例实施例示出奇偶检查矩阵的示意图。
请参照图15,在本实施例中,存储器管理电路702会预先设置一矩阵H。矩阵H包括子矩阵Hi以及一额外矩阵Hg,其中i为大于或等于零且小于或等于n的正整数。在矩阵H中,子矩阵Hi以及额外矩阵Hg以外的数值可以被设置为零。本发明并不用于限定子矩阵Hi以及额外矩阵Hg的大小为何。
图16是根据一范例实施例示出在写入时对数据进行编码的示意图。图17是根据一范例实施例示出在写入时对数据进行编码的流程图。
请同时参照图16与图17,存储器控制电路单元404中的存储器管理电路702可以从主机系统11获得一数据D1(步骤S1701)。在本实施例中,假设数据D1可以包括子数据ui,其中i为大于或等于零且小于或等于n的正整数。之后,错误检查与校正电路708可以通过第一编码器16a,使用前述的矩阵H编码数据D1中的子数据ui以获得分别对应于子数据ui的错误检查与校正码pi(亦称为,第一错误检查与校正码),其中i为大于或等于零且小于或等于n的正整数(步骤S1703)。使用矩阵H进行编码的过程请容后加入。
在经过前述步骤后,每一个子数据会有对应的错误检查与校正码。例如,错误检查与校正码p0是用于对子数据u0中的错误比特进行检查与校正,错误检查与校正码p1是用于对子数据u1中的错误比特进行检查与校正,以此类推。而子数据与用于校正此子数据的错误检查与校正码可以称为一个子码字。在图16的范例中,子数据ui与用于校正子数据ui的错误检查与校正码pi组成子码字Ki,其中i为大于或等于零且小于或等于n的正整数。
在获得子码字Ki后,存储器管理电路702可以将子码字Ki写入可复写式非易失性存储器模块406中的一个实体程序化单元U_P(亦称为,第一实体程序化单元)(步骤S1705)。
此外,错误检查与校正电路708还会通过第二编码器16b,使用矩阵H编码数据D1中的子数据ui以获得错误检查与校正码pa(亦称为,第二错误检查与校正码)(步骤S1707)。之后,存储器管理电路702可以将错误检查与校正码pa写入至可复写式非易失性存储器模块406中的一个实体程序化单元L_P(亦称为,第二实体程序化单元)。特别是,错误检查与校正码pa是用于对数据D1中的子数据ui中的错误比特进行检查与校正。在本实施例中,假设数据D1与用于校正此数据D1的错误检查与校正码pa可以称为一个码字Ka。然而需注意的是,在其他实施例中,错误检查与校正电路708也可以通过第二编码器16b,仅使用矩阵H编码数据D1中的子数据ui中的部分子数据以获得错误检查与校正码pa,且所获得的错误检查与校正码pa是用于对前述的部分子数据中的错误比特进行检查与校正。而本说明书的范例中,在产生错误检查与校正码pa的过程中,第二编码器16b是使用全部的子数据ui进行编码。此外,实体程序化单元L_P可以用以存储(或写入)与数据D1相关或不相关得其他数据DATA_1,在此不限制其他数据DATA_1的内容。
特别是,在使用矩阵H编码子数据ui以获得错误检查与校正码pi与错误检查与校正码pa过程中需符合下述条件(1)与条件(2):
Figure BDA0002371475050000141
KaHT=0…………(2)
其中,码字Ka代表子数据D1(即,所有子数据ui)与错误检查与校正码pa的组合。在条件(1)中,以子数据u0为例,存储器管理电路702会找出对应于子数据u0的错误检查与校正码p0,并且子数据u0与错误检查与校正码p0所组成的子码字K0需符合
Figure BDA0002371475050000142
的关系。而其他的子码字与子矩阵彼此间的关系可以以此类推,在此不再赘述。而针对由子数据D1与错误检查与校正码pa组成的码字Ka则需符合条件(2)。
特别是,在本实施例中,实体程序化单元L_P的可靠度是高于实体程序化单元U_P的可靠度。换句话说,在解码存储在实体程序化单元L_P中的数据时发生错误的机率会小于在解码存储在实体程序化单元U_P中的数据时发生错误的机率。实体程序化单元L_P例如是前述的下实体程序化单元,而实体程序化单元U_P前述的上实体程序化单元。
此外,第一编码器16a与第二编码器16b可以是以硬件、软件或固件的形式来实作,在此并不作限制。
图18是根据一范例实施例示出在读取时对数据进行解码的示意图。图19是根据一范例实施例示出在读取时对数据进行解码的流程图。
请同时参照图18与图19,存储器控制电路单元404中的存储器管理电路702可以从主机系统11获得读取前述数据D1的一读取指令。存储器控制电路单元404会根据此读取指令,读取前述的实体程序化单元U_P以获得分别对应于数据D1的子数据ui的多个子码字Ki(步骤S1901),并将此些子码字Ki暂存至缓冲存储器710中。其中i为大于或等于零且小于或等于n的正整数。需说明的是图18中所读取出的子码字Ki可能相同或不相同于图16中所写入的子码字Ki
在读取出子码字Ki后,错误检查与校正电路708中的第一解码器18a会解码步骤S1901中所读取出的子码字Ki(步骤S1903)。接着,存储器控制电路单元404会判断所有的子码字Ki是否皆被解码成功(步骤S1905)。其中解码的方式例如是使用前述矩阵H搭配低密度奇偶检查,并且当所有子码字Ki皆符合前述条件(1)时,存储器控制电路单元404会判断所有的子码字Ki皆被解码成功。存储器控制电路单元404会控制第一器码器18a输出通过解码子码字Ki所获得的解码后数据并停止解码。
当在解码子码字Ki的其中之一发生失败时,存储器控制电路单元404会读取实体程序化单元L_P以获得错误检查与校正码pa(步骤S1907)。错误检查与校正电路708中的第二解码器18b解码由前述多个子数据ui与错误检查与校正码pa所组成的码字Ka(步骤S1909)。
之后,存储器控制电路单元404会判断码字Ka是否被解码成功(步骤S1911)。解码的方式例如是使用前述矩阵H搭配低密度奇偶检查,并且当所有子码字Ki皆符合前述条件(1)且码字Ka符合前述条件(2)时,存储器控制电路单元404会判断码字Ka被解码成功。当解码所述码字成功时,存储器控制电路单元404会控制第二器码器18b输出通过解码码字Ka所获得的另一解码后数据并停止解码。
然而,当在解码码字Ka的过程中发生失败时,存储器控制电路单元404会判断发生失败的次数是否小于一门坎值(步骤S1913)。当解码码字Ka的过程中发生失败且发生失败的次数是小于前述门坎值时,存储器控制电路单元404会控制第二解码器18b执行前述步骤S1903以再次解码子码字Ki
在此需说明的是,在步骤S1903的解码过程中,某些子码字中的某些位可能会被翻转(例如,被更正),而关于具有被翻转位的子码字的相关信息可以被记录至缓冲存储器710中。而在前述步骤S1909中,第二解码器18b可以读取前述的相关信息以获得已被翻转位的子码字并搭配错误检查与校正码pa进行解码。特别是,在步骤S1909的解码过程中,某些子码字中的某些位可能会被翻转(例如,被更正),而关于具有被翻转位的子码字的相关信息也可以被记录至缓冲存储器710中。在返回执行步骤S1903时,第一解码器18a可以读取前述的相关信息以获得已被翻转位的子码字并再次进行解码。也就是说,通过此反复地翻转位以及反复地解码,可以提高解码成功的机率。
然而,当解码码字Ka的过程中发生失败且发生失败的次数非小于前述门坎值时,存储器控制电路单元404会判断解码发生失败(步骤S1915)。
需说明的是,第一解码器18a与第二解码器18b可以是以硬件、软件或固件的形式来实作,在此并不作限制。
需说明的是,第一解码器18a与第二解码器18b的运作方式并不限于图19的流程图。在一实施例中,当第一解码器18a对子码字解码次数到达一第一预设数值(例如,一上限次数)且仍无法成功地解码时,才会启动第二解码器18b解码由前述多个子数据ui与错误检查与校正码pa所组成的码字Ka直到子数据ui解码成功或解码次数达到一第二预设数值(例如,另一上限次数)。而在此范例中,第二解码器18b的运作过程中并不会返回执行第一解码器18a的运作。
在另一实施例中,当第一解码器18a对子码字解码次数到达一第三预设数值(例如,非上限次数)且仍无法成功地解码时,会启动第二解码器18b解码由前述多个子数据ui与错误检查与校正码pa所组成的码字Ka直到子数据ui解码成功或解码次数达到一第四预设数值(例如,非前述的另一上限次数)。而在此范例中,当第二解码器18b的解码次数达到第四预设数值时,可以再次地返回执行第一解码器18a对子码字进行解码的运作。
综上所述,本发明的数据写入方法、存储器控制电路单元以及存储器存储装置可以对一笔数据产生多个错误检查与校正码,并且将此些错误检查与校正码的其中之一存储至可靠度较高的实体程序化单元中。通过此方式,由于存储在可靠度较高的实体程序化单元中的错误检查与校正码产生错误的机率较低,因此可以帮助有效地解码存储在可靠度较低的实体程序化单元中的数据并提高解码成功的机率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (21)

1.一种数据写入方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个实体抹除单元,所述多个实体抹除单元中的每一个实体抹除单元包括多个实体程序化单元,其特征在于,所述方法包括:
获得数据;
编码所述数据中的多个子数据以获得分别对应于所述多个子数据的多个第一错误检查与校正码;
将所述多个子数据以及所述多个第一错误检查与校正码写入至所述多个实体程序化单元中的第一实体程序化单元;
编码所述多个子数据以获得第二错误检查与校正码;以及
将所述第二错误检查与校正码写入至所述多个实体程序化单元中的第二实体程序化单元。
2.根据权利要求1所述的数据写入方法,其特征在于,在解码存储在所述第二实体程序化单元中的数据时发生错误的机率小于在解码存储在所述第一实体程序化单元中的数据时发生错误的机率。
3.根据权利要求1所述的数据写入方法,其特征在于,还包括:
接收用以读取所述数据的读取指令;
根据所述读取指令,读取所述第一实体程序化单元以获得分别对应于所述多个子数据的多个子码字,并解码所述多个子码字;
当在解码所述多个子码字的其中之一发生失败时,读取所述第二实体程序化单元以获得所述第二错误检查与校正码;以及
解码由所述多个子数据与所述第二错误检查与校正码所组成的码字。
4.根据权利要求3所述的数据写入方法,其特征在于,还包括:
当解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字发生失败且发生失败的次数小于门坎值时,再次执行解码所述多个子码字的步骤;以及
当解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字发生失败且发生失败的次数非小于所述门坎值时,判断解码发生失败。
5.根据权利要求4所述的数据写入方法,其特征在于,解码所述多个子码字的步骤包括:
当解码所述多个子码字皆成功时,输出通过解码所述多个子码字所获得的解码后数据并停止解码,
其中解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字的步骤包括:
当解码所述码字成功时,输出通过解码所述码字所获得的另一解码后数据并停止解码。
6.根据权利要求1所述的数据写入方法,其特征在于,还包括:
设置矩阵,其中所述矩阵包括额外矩阵以及分别对应于所述多个子数据的多个子矩阵;
其中编码所述数据中的所述多个子数据以获得分别对应于所述多个子数据的所述多个第一错误检查与校正码的步骤包括:
根据所述多个子矩阵编码所述多个子数据以获得分别对应于所述多个子数据的所述多个第一错误检查与校正码,
其中编码所述多个子数据以获得所述第二错误检查与校正码的步骤包括:
根据所述额外矩阵以及所述多个子矩阵编码所述多个子数据以获得所述第二错误检查与校正码。
7.根据权利要求1所述的数据写入方法,其特征在于,编码所述多个子数据以获得所述第二错误检查与校正码的步骤包括:
仅编码所述多个子数据中的部分子数据以获得所述第二错误检查与校正码。
8.一种存储器控制电路单元,用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个实体抹除单元,所述多个实体抹除单元中的每一个实体抹除单元包括多个实体程序化单元,其特征在于,所述存储器控制电路单元包括:
主机接口,用以电性连接至主机系统;
错误检查与校正电路;
存储器接口,用以电性连接至所述可复写式非易失性存储器模块;以及
存储器管理电路,电性连接至所述主机接口、所述错误检查与校正电路以及所述存储器接口,
其中所述存储器管理电路用以获得数据,
其中所述错误检查与校正电路用以编码所述数据中的多个子数据以获得分别对应于所述多个子数据的多个第一错误检查与校正码,
其中所述存储器管理电路还用以将所述多个子数据以及所述多个第一错误检查与校正码写入至所述多个实体程序化单元中的第一实体程序化单元,
其中所述错误检查与校正电路还用以编码所述多个子数据以获得第二错误检查与校正码,
其中所述存储器管理电路还用以将所述第二错误检查与校正码写入至所述多个实体程序化单元中的第二实体程序化单元。
9.根据权利要求8所述的存储器控制电路单元,其特征在于,在解码存储在所述第二实体程序化单元中的数据时发生错误的机率小于在解码存储在所述第一实体程序化单元中的数据时发生错误的机率。
10.根据权利要求8所述的存储器控制电路单元,其特征在于,
所述存储器管理电路还用以接收用以读取所述数据的读取指令,
所述存储器管理电路还用以根据所述读取指令,读取所述第一实体程序化单元以获得分别对应于所述多个子数据的多个子码字,并通过所述错误检查与校正电路解码所述多个子码字,
当在解码所述多个子码字的其中之一发生失败时,所述存储器管理电路还用以读取所述第二实体程序化单元以获得所述第二错误检查与校正码,并通过所述错误检查与校正电路解码由所述多个子数据与所述第二错误检查与校正码所组成的码字。
11.根据权利要求10所述的存储器控制电路单元,其特征在于,
当解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字发生失败且发生失败的次数小于门坎值时,所述错误检查与校正电路再次执行解码所述多个子码字的运作,
当解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字发生失败且发生失败的次数非小于所述门坎值时,所述错误检查与校正电路判断解码发生失败。
12.根据权利要求11所述的存储器控制电路单元,其特征在于,在解码所述多个子码字的运作中,
当解码所述多个子码字皆成功时,所述存储器管理电路还用以输出通过解码所述多个子码字所获得的解码后数据并停止解码,
其中在解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字的运作中,
当解码所述码字成功时,所述存储器管理电路还用以输出通过解码所述码字所获得的另一解码后数据并停止解码。
13.根据权利要求8所述的存储器控制电路单元,其特征在于,
所述存储器管理电路还用以设置矩阵,其中所述矩阵包括额外矩阵以及分别对应于所述多个子数据的多个子矩阵,
其中在编码所述数据中的所述多个子数据以获得分别对应于所述多个子数据的所述多个第一错误检查与校正码的运作中,
所述错误检查与校正电路还用以根据所述多个子矩阵编码所述多个子数据以获得分别对应于所述多个子数据的所述多个第一错误检查与校正码,
其中在编码所述多个子数据以获得所述第二错误检查与校正码的运作中,
所述错误检查与校正电路还用以根据所述额外矩阵以及所述多个子矩阵编码所述多个子数据以获得所述第二错误检查与校正码。
14.根据权利要求8所述的存储器控制电路单元,其特征在于,在编码所述多个子数据以获得所述第二错误检查与校正码的运作中,
所述错误检查与校正电路仅编码所述多个子数据中的部分子数据以获得所述第二错误检查与校正码。
15.一种存储器存储装置,其特征在于,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个实体抹除单元,所述多个实体抹除单元中的每一个实体抹除单元包括多个实体程序化单元;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以获得数据,
其中所述存储器控制电路单元还用以编码所述数据中的多个子数据以获得分别对应于所述多个子数据的多个第一错误检查与校正码,
其中所述存储器控制电路单元还用以将所述多个子数据以及所述多个第一错误检查与校正码写入至所述多个实体程序化单元中的第一实体程序化单元,
其中所述存储器控制电路单元还用以编码所述多个子数据以获得第二错误检查与校正码,
其中所述存储器控制电路单元还用以将所述第二错误检查与校正码写入至所述多个实体程序化单元中的第二实体程序化单元。
16.根据权利要求15所述的存储器存储装置,其特征在于,在解码存储在所述第二实体程序化单元中的数据时发生错误的机率小于在解码存储在所述第一实体程序化单元中的数据时发生错误的机率。
17.根据权利要求15所述的存储器存储装置,其特征在于,
所述存储器控制电路单元还用以接收用以读取所述数据的读取指令,
所述存储器控制电路单元还用以根据所述读取指令,读取所述第一实体程序化单元以获得分别对应于所述多个子数据的多个子码字,并解码所述多个子码字,
当在解码所述多个子码字的其中之一发生失败时,所述存储器控制电路单元还用以读取所述第二实体程序化单元以获得所述第二错误检查与校正码,并解码由所述多个子数据与所述第二错误检查与校正码所组成的码字。
18.根据权利要求17所述的存储器存储装置,其特征在于,
当解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字发生失败且发生失败的次数小于门坎值时,所述存储器控制电路单元还用以再次执行解码所述多个子码字的运作,
当解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字发生失败且发生失败的次数非小于所述门坎值时,所述存储器控制电路单元还用以判断解码发生失败。
19.根据权利要求18所述的存储器存储装置,其特征在于,在解码所述多个子码字的运作中,
当解码所述多个子码字皆成功时,所述存储器控制电路单元还用以输出通过解码所述多个子码字所获得的解码后数据并停止解码,
其中在解码由所述多个子数据与所述第二错误检查与校正码所组成的所述码字的运作中,
当解码所述码字成功时,所述存储器控制电路单元还用以输出通过解码所述码字所获得的另一解码后数据并停止解码。
20.根据权利要求15所述的存储器存储装置,其特征在于,
所述存储器控制电路单元还用以设置矩阵,其中所述矩阵包括额外矩阵以及分别对应于所述多个子数据的多个子矩阵,
其中在编码所述数据中的所述多个子数据以获得分别对应于所述多个子数据的所述多个第一错误检查与校正码的运作中,
所述存储器控制电路单元还用以根据所述多个子矩阵编码所述多个子数据以获得分别对应于所述多个子数据的所述多个第一错误检查与校正码,
其中在编码所述多个子数据以获得所述第二错误检查与校正码的运作中,
所述存储器控制电路单元还用以根据所述额外矩阵以及所述多个子矩阵编码所述多个子数据以获得所述第二错误检查与校正码。
21.根据权利要求15所述的存储器存储装置,其特征在于,在编码所述多个子数据以获得所述第二错误检查与校正码的运作中,
所述存储器控制电路单元仅编码所述多个子数据中的部分子数据以获得所述第二错误检查与校正码。
CN202010051916.5A 2020-01-17 2020-01-17 数据写入方法、存储器控制电路单元以及存储器存储装置 Active CN113138947B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010051916.5A CN113138947B (zh) 2020-01-17 2020-01-17 数据写入方法、存储器控制电路单元以及存储器存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010051916.5A CN113138947B (zh) 2020-01-17 2020-01-17 数据写入方法、存储器控制电路单元以及存储器存储装置

Publications (2)

Publication Number Publication Date
CN113138947A true CN113138947A (zh) 2021-07-20
CN113138947B CN113138947B (zh) 2023-06-13

Family

ID=76809605

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010051916.5A Active CN113138947B (zh) 2020-01-17 2020-01-17 数据写入方法、存储器控制电路单元以及存储器存储装置

Country Status (1)

Country Link
CN (1) CN113138947B (zh)

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020010892A1 (en) * 2000-05-26 2002-01-24 John Lodge High-performance error-correcting codes with skew mapping
US20080294935A1 (en) * 2007-05-25 2008-11-27 Jian-Qiang Ni Data structure for flash memory and data reading/writing method thereof
US20080301526A1 (en) * 2007-05-31 2008-12-04 Kohler Ross A Memory Device with Error Correction Capability and Preemptive Partial Word Write Operation
US20090132886A1 (en) * 2004-09-17 2009-05-21 Lg Electronics Inc. Method of Encoding and Decoding Using LDPC Code
US20100207789A1 (en) * 2009-02-19 2010-08-19 Nokia Corporation Extended turbo interleavers for parallel turbo decoding
US20100262892A1 (en) * 2009-04-10 2010-10-14 Phison Electronics Corp. Data access method for flash meory and storage system and controller thereof
JP2011227659A (ja) * 2010-04-19 2011-11-10 Fujitsu Semiconductor Ltd データ書き込み方法およびシステム
US20140047300A1 (en) * 2012-08-08 2014-02-13 Phison Electronics Corp. Memory storage device, memory controller thereof, and method for processing data thereof
CN104182293A (zh) * 2013-05-22 2014-12-03 群联电子股份有限公司 数据写入方法、存储器存储装置与存储器控制器
US20150188570A1 (en) * 2013-12-26 2015-07-02 Zion S. Kwok Error correction in memory
US20150234692A1 (en) * 2014-02-14 2015-08-20 Phison Electronics Corp. Memory management method, memory control circuit unit and memory storage apparatus
US9183078B1 (en) * 2012-04-10 2015-11-10 Marvell International Ltd. Providing error checking and correcting (ECC) capability for memory
CN105653391A (zh) * 2014-11-13 2016-06-08 群联电子股份有限公司 数据存取方法、存储器控制电路单元及存储器储存装置
US20170031755A1 (en) * 2015-07-29 2017-02-02 Kabushiki Kaisha Toshiba Memory system and memory control method
US20170168893A1 (en) * 2015-12-14 2017-06-15 Phison Electronics Corp. Data reading method, memory control circuit unit and memory storage apparatus
CN107179960A (zh) * 2016-03-09 2017-09-19 群联电子股份有限公司 解码方法、存储器控制电路单元及存储器存储装置
CN109901945A (zh) * 2017-12-07 2019-06-18 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
US10432331B1 (en) * 2018-12-26 2019-10-01 Jebsee Electronics Co., Ltd. Wireless signal level indicator

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020010892A1 (en) * 2000-05-26 2002-01-24 John Lodge High-performance error-correcting codes with skew mapping
US20090132886A1 (en) * 2004-09-17 2009-05-21 Lg Electronics Inc. Method of Encoding and Decoding Using LDPC Code
US20080294935A1 (en) * 2007-05-25 2008-11-27 Jian-Qiang Ni Data structure for flash memory and data reading/writing method thereof
US20080301526A1 (en) * 2007-05-31 2008-12-04 Kohler Ross A Memory Device with Error Correction Capability and Preemptive Partial Word Write Operation
US20100207789A1 (en) * 2009-02-19 2010-08-19 Nokia Corporation Extended turbo interleavers for parallel turbo decoding
US20100262892A1 (en) * 2009-04-10 2010-10-14 Phison Electronics Corp. Data access method for flash meory and storage system and controller thereof
JP2011227659A (ja) * 2010-04-19 2011-11-10 Fujitsu Semiconductor Ltd データ書き込み方法およびシステム
US9183078B1 (en) * 2012-04-10 2015-11-10 Marvell International Ltd. Providing error checking and correcting (ECC) capability for memory
US20140047300A1 (en) * 2012-08-08 2014-02-13 Phison Electronics Corp. Memory storage device, memory controller thereof, and method for processing data thereof
CN104182293A (zh) * 2013-05-22 2014-12-03 群联电子股份有限公司 数据写入方法、存储器存储装置与存储器控制器
US20150188570A1 (en) * 2013-12-26 2015-07-02 Zion S. Kwok Error correction in memory
US20150234692A1 (en) * 2014-02-14 2015-08-20 Phison Electronics Corp. Memory management method, memory control circuit unit and memory storage apparatus
CN105653391A (zh) * 2014-11-13 2016-06-08 群联电子股份有限公司 数据存取方法、存储器控制电路单元及存储器储存装置
US20170031755A1 (en) * 2015-07-29 2017-02-02 Kabushiki Kaisha Toshiba Memory system and memory control method
US20170168893A1 (en) * 2015-12-14 2017-06-15 Phison Electronics Corp. Data reading method, memory control circuit unit and memory storage apparatus
CN107179960A (zh) * 2016-03-09 2017-09-19 群联电子股份有限公司 解码方法、存储器控制电路单元及存储器存储装置
CN109901945A (zh) * 2017-12-07 2019-06-18 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
US10432331B1 (en) * 2018-12-26 2019-10-01 Jebsee Electronics Co., Ltd. Wireless signal level indicator

Also Published As

Publication number Publication date
CN113138947B (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
US9543983B2 (en) Decoding method, memory storage device and memory control circuit unit
US10804939B2 (en) Memory controller and operating method thereof
US10522234B2 (en) Bit tagging method, memory control circuit unit and memory storage device
CN111415692B (zh) 解码方法、存储器控制电路单元以及存储器存储装置
US10685711B1 (en) Decoding method, memory controlling circuit unit and memory storage device
US10447314B2 (en) Decoding method, memory storage device and memory control circuit unit
US10636490B1 (en) Decoding method, memory control circuit unit and memory storage device
CN109901784B (zh) 数据存取方法、存储器控制电路单元以及存储器储存装置
US11190217B2 (en) Data writing method, memory controlling circuit unit and memory storage device
CN109559774B (zh) 解码方法、存储器控制电路单元以及存储器存储装置
CN109697134B (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN112799874B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN113138947B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
CN107301873B (zh) 译码方法、存储器储存装置及存储器控制电路单元
CN107590018B (zh) 译码方法、存储器控制电路单元及存储器存储装置
TWI742509B (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
CN113496752B (zh) 解码方法、存储器存储装置及存储器控制电路单元
US11145372B2 (en) Decoding method, memory controlling circuit unit, and memory storage device
CN110795268B (zh) 比特判断方法、存储器控制电路单元以及存储器存储装置
CN111435604B (zh) 解码方法、存储器控制电路单元以及存储器存储装置
CN111326186A (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN109960603B (zh) 比特标记方法、存储器控制电路单元以及存储器存储装置
CN111324478B (zh) 解码方法、存储器控制电路单元以及存储器存储装置
CN111508546B (zh) 解码方法、存储器控制电路单元与存储器存储装置
US10628259B2 (en) Bit determining method, memory control circuit unit and memory storage device

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