CN107402837A - 非易失性存储器装置及其读取方法 - Google Patents
非易失性存储器装置及其读取方法 Download PDFInfo
- Publication number
- CN107402837A CN107402837A CN201710473837.1A CN201710473837A CN107402837A CN 107402837 A CN107402837 A CN 107402837A CN 201710473837 A CN201710473837 A CN 201710473837A CN 107402837 A CN107402837 A CN 107402837A
- Authority
- CN
- China
- Prior art keywords
- redundancy check
- data portion
- circuit
- circulation redundancy
- circulation
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000007689 inspection Methods 0.000 claims description 55
- 230000008878 coupling Effects 0.000 claims description 15
- 238000010168 coupling process Methods 0.000 claims description 15
- 238000005859 coupling reaction Methods 0.000 claims description 15
- 230000005611 electricity Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000012423 maintenance Methods 0.000 claims 2
- 230000002265 prevention Effects 0.000 claims 1
- 238000012937 correction Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 15
- 239000007787 solid Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 241001269238 Data Species 0.000 description 4
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 4
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 3
- 238000005314 correlation function Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000001574 biopsy Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种非易失性存储器装置及其读取方法。非易失性存储器装置包括错误检查和纠正解码电路、主缓冲器电路、多路复用器以及接口电路。错误检查和纠正解码电路将原码字解码为经解码码字。主缓冲器电路耦接错误检查和纠正解码电路以接收并存储该经解码码字的第一数据部。多路复用器的第一输入端耦接主缓冲器电路的输出端,第二输入端耦接错误检查和纠正解码电路的输出端。接口电路耦接多路复用器的输出端并从多路复用器接收第一数据部以提供给主机。
Description
技术领域
本发明是有关于一种存储器装置,且特别是有关于一种非易失性存储器(non-volatile memory,NVM)装置及其读取方法。
背景技术
与传统的硬盘机(hard disk drives)相比,由于闪存(flash memory)存储设备的读/写性能佳且功耗低,使得闪存被广泛应用于数据存储***中。闪存的读取效能通常可由两项指标评估,即非连续读取(例如是:随机读取(random read))速率与连续读取(sequential read)速率。相较于执行连续读取时使用较大型的分组,当执行非连续读取时,闪存会将数据以小型分组的形式(例如:以4K或更少的字节为单位)发送给主机。一般而言,非连续读取速率较连续读取速率慢,因此其往往成为闪存读取效能的瓶颈。随着电子产品对存储器读取速率的要求提高,需要发展新的读取技术以提升闪存的非连续读取速率。
发明内容
本发明提供一种非易失性存储器(non-volatile memory,NVM)装置及其读取方法,可以减少在进行非连续读取时的管线层级(pipeline stage),藉以加快非连续读取速率。
在本发明的一实施例提出一种非易失性存储器装置,包括:错误检查和纠正(Error Checking and Correcting,以下称ECC)解码电路、主缓冲器电路、多路复用器以及接口电路。ECC解码电路用以将原码字解码为经解码码字。主缓冲器电路耦接ECC解码电路的输出端,以接收并存储经解码码字的第一数据部。多路复用器的第一输入端耦接主缓冲器电路的输出端。多路复用器的第二输入端耦接ECC解码电路的输出端,以接收第一数据部。在第一操作模式中,多路复用器选择性将多路复用器的第一输入端耦接至多路复用器的输出端。在第二操作模式中,多路复用器选择性将多路复用器的第二输入端耦接至多路复用器的输出端。接口电路耦接多路复用器的输出端,其中接口电路从多路复用器的输出端接收第一数据部以提供给主机。
在本发明的一实施例提出一种非易失性存储器装置的读取方法。此读取方法包括:利用ECC解码电路将原码字解码为经解码码字;在第一操作模式中,将该解码码字的第一数据部通过主缓冲器电路传输至接口电路;在第二操作模式中,将第一数据部绕过主缓冲器电路传输至接口电路;以及由接口电路将第一数据部提供给主机。
在本发明的一实施例提出一种非易失性存储器装置,包括:ECC解码电路、接口电路、第一循环冗余检查(Cyclic Redundancy Check,以下称CRC)电路以及第二CRC电路。ECC解码电路用以将原码字解码为经解码码字,其中经解码码字包括第一数据部与第一CRC码。接口电路耦接ECC解码电路的输出端,以接收第一数据部,其中接口电路用以提供第一数据部给主机。第一CRC电路耦接至ECC解码电路,以接收第一数据部与第一CRC码。第一CRC电路被配置为对第一数据部进行第一循环冗余检查,并且基于第一循环冗余检查的结果与第一CRC码的关系来产生检查状态信息。第二CRC电路耦接至接口电路,以接收第一数据部。所述第二循环冗余检查电路被配置为对第一数据部进行第二循环冗余检查,以产生第二CRC码。第二CRC电路依据第一CRC电路的检查状态信息来决定是否进一步改变第二CRC码以使第二CRC码不符合第一数据部。
在本发明的一实施例提出一种非易失性存储器装置的读取方法。此读取方法包括:利用ECC解码电路将原码字解码为经解码码字,其中经解码码字包括第一数据部与第一CRC码;由接口电路提供第一数据部给主机;由第一CRC电路对ECC解码电路所提供的第一数据部进行第一循环冗余检查,并且基于第一循环冗余检查的结果与第一CRC码的关系来产生检查状态信息;由第二CRC电路对接口电路所提供的第一数据部进行第二循环冗余检查,以产生第二CRC码;以及依据检查状态信息来决定是否进一步改变第二CRC码以使第二CRC码不符合第一数据部。
基于上述,本发明实施例所提供的非易失性存储器装置及其读取方法可以通过绕过(bypass)主缓冲器电路来减少在进行非连续读取时的管线层级,藉以加快非连续读取速率。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附附图作详细说明如下。
附图说明
图1说明一种非易失性存储器装置的电路方块示意图。
图2是依照本发明一实施例说明一种非易失性存储器装置的电路方块示意图。
图3是依照本发明另一实施例说明一种非易失性存储器装置的电路方块示意图。
图4是结合图2及图3的实施例的另一种非易失性存储器装置的电路方块示意图。
图5A与图5B是依照本发明不同实施例说明经解码码字的数据结构示意图。
图6A说明图1所示非易失性存储器装置的管线层级的示意图。
图6B说明图4所示非易失性存储器装置的管线层级的示意图。
图7是依照本发明另一实施例说明图2所示非易失性存储器装置的读取方法的流程示意图。
图8是依照本发明另一实施例说明图3所示非易失性存储器装置的读取方法的流程示意图。
图9是依照本发明另一实施例说明图4所示非易失性存储器装置的读取方法的流程示意图。
具体实施方式
在本案说明书全文(包括申请专利范围)中所使用的“耦接(或连接)”一词可指任何直接或间接的连接手段。举例而言,若文中描述第一装置耦接(或连接)于第二装置,则应该被解释成该第一装置可以直接连接于该第二装置,或者该第一装置可以通过其他装置或某种连接手段而间接地连接至该第二装置。另外,凡可能之处,在附图及实施方式中使用相同标号的元件/构件/步骤代表相同或类似部分。不同实施例中使用相同标号或使用相同用语的元件/构件/步骤可以相互参照相关说明。
图1说明一种非易失性存储器(non-volatile memory,NVM)装置100的电路方块(circuit block)示意图。主机10可以是计算机、手持式电子装置或其他电子装置。例如,主机10可以是个人计算机、手持式计算机、个人数字助理(personal digital assistant,PDA)、便携式媒体播放器(portable media player,PMP)、MP3播放器、智能型手机(smartphone)、数字相机、摄录机(camcorders)、录音机、游戏机、传真机、扫描仪、打印机等等。非易失性存储器装置100可以是个人计算机存储卡国际协会(Personal Computer MemoryCard International Association,PCMCIA)卡、小型闪存(compact flash,CF)卡、智能型媒体卡(smart media card,SMC)、随身碟(memory stick)、多媒体卡(multimedia card,MMC,例如RS-MMC、MMC-micro等)、安全数字卡(security card,SD,例如mini SD、micro SD、SDHC等)、通用闪存存储(universal flash storage,UFS)装置、固态硬盘(solid statedisk/drive,SSD)等等。依照不同的应用情境,非易失性存储器装置100可以存储音频、图像、视频数据及/或其他数字数据。
非易失性存储器装置100耦接至主机10。非易失性存储器装置100可以提供存储空间给主机10。主机10可利用任一种标准化接口(或非标准接口)连接至非易失性存储器装置100。例如,所述标准化接口包括小型计算机***接口(small computer systeminterface,SCSI)、串行连接小型计算机***接口(Serial Attached SCSI,SAS)、增强型小型设备接口(Enhanced Small Disk Interface,ESDI)、串行先进技术连接(serialadvanced technology attachment,SATA)、快速***组件互连(peripheral componentinterconnect express,PCIe)、整合式电子装置(integrated drive electronics,IDE)接口、通用串行总线(universal serial bus,USB)、雷电(Thunderbolt)接口或其他接口。本实施例并未局限于主机10与非易失性存储器装置100之间的接口结构。
非易失性存储器装置100包括非易失性存储器101、错误检查和纠正(ErrorChecking and Correcting,以下称ECC)解码电路110、主缓冲器电路120、接口电路130以及循环冗余检查(Cyclic Redundancy Check,以下称CRC)电路140。依照设计需求,非易失性存储器101可以是与非型闪存(NAND flash memory)或是其他非易失性存储电路/元件。非易失性存储器101具有多个物理块(block)以提供存储空间,以便存放数据。接口电路130通过上述标准化接口(或非标准接口)耦接至主机10。主机10可以经由接口电路130、主缓冲器电路120与ECC解码电路110而从非易失性存储器101读取数据。
一般而言,当闪存(非易失性存储器101)的某一个存储单元(memory cell)被读取时,闪存的读取方式会导致在同一物理页(或物理块)中相近于所述某一个存储单元的其他存储单元的位数据可能发生非预期地改变。这即是所谓的数据读取干扰(data readdisturbance)。对于闪存的一个物理页而言,在多次对此物理页进行读取操作的情形下,随着时间的增加(或随着读取次数的增加),此物理页发生错误的位数量随之增加。为了降低物理页读取的错误率,ECC解码电路110可以对欲读取的数据(原码字x)进行错误检查和纠正解码(ECC decoding),以获得经解码码字,其中所述经解码码字可分为至少两部分,分别是第一数据部D1以及用来检查第一数据部D1正确性的第一CRC码C1。因此,ECC解码电路110可以检测及校正原码字x是否发生错误。
依照设计需求,ECC解码电路110可以采用任何算法来对非易失性存储器101的原码字x进行ECC解码,以获得包含有第一数据部D1与第一CRC码C1的经解码码字。例如(但不限于此),ECC解码电路110可以使用低密度奇偶检查码(Low-density Parity-check Code,简称LDPC)解码算法、博斯-乔赫里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem,简称BCH)解码算法或是其他算法来对原码字x进行ECC解码,以获得经解码码字(第一数据部D1与第一CRC码C1)。
主缓冲器电路120的输入端耦接ECC解码电路110的输出端,以接收并存储在经解码码字中的第一数据部D1。主缓冲器电路120可以提供缓冲空间来存放ECC解码电路110所输出的多个经解码码字。同一时间,在经解码码字中的第一数据部D1以及第一CRC码C1会被传输至CRC电路140。在ECC解码电路110完成ECC解码后,CRC电路140还可以依据在经解码码字中的第一CRC码C1进一步对在经解码码字内的第一数据部D1进行循环冗余检查(CRC),以判断第一数据部D1是否正确。依照设计需求,CRC电路140可以采用任何算法来对第一数据部D1进行循环冗余检查,例如已知算法或其他循环冗余检查算法。
举例来说,CRC电路140可以依据第一数据部D1的内容计算出对应于该第一数据部D1的第二CRC码,并且比对第一CRC码C1与所述第二CRC码。当原码字x发生错误时(亦即第一数据部D1发生错误),经CRC电路140所计算出的第二CRC码会与第一CRC码C1不同。在这种情况下,CRC电路140可发送信号给主缓冲器电路120,以阻止主缓冲器电路120将错误的第一数据部D1传输给接口电路130。当第一数据部D1与第一CRC码C1没有错误时,CRC电路140所计算出的第二CRC码会与第一CRC码C1相同。在这种情况下,主缓冲器电路120便可将第一数据部D1继续传往接口电路130。
接口电路130耦接主缓冲器电路120的输出端,以接收第一数据部D1。接口电路130可以将主缓冲器电路120所提供的第一数据部D1输出给主机10。于图1所示实施例中,接口电路130包括输出缓冲器电路131与主机接口电路132。输出缓冲器电路131的输入端耦接主缓冲器电路120的输出端,以接收并暂存第一数据部D1。输出缓冲器电路131可以提供缓冲空间来存放接口电路130要输出给主机10的数据。主机接口电路132耦接输出缓冲器电路131的输出端,以接收第一数据部D1。主机接口电路132可以提供第一数据部D1给主机10。
当ECC解码电路110的解码速度与主机10的读取速度不匹配时,主缓冲器电路120可以提供缓冲功能于ECC解码电路110与主机10之间。在对非易失性存储器101进行连续读取时,每次所读取的数据量往往是非常庞大的,此时主缓冲器电路120可以提供缓冲空间来存放ECC解码电路110所输出的所述经连续读取的数据。在对非易失性存储器101进行非连续读取时,每次所读取的数据大小通常是小数据,例如4K字节(或更小)大小的数据。在对非易失性存储器101进行非连续读取时,主缓冲器电路120的缓冲功能可能是多余的。
图2是依照本发明一实施例说明一种非易失性存储器装置200的电路方块示意图。非易失性存储器装置200耦接至主机10。非易失性存储器装置200可以提供存储空间给主机10。图2所示主机10可以参照图1的相关说明。非易失性存储器装置200可以是PCMCIA卡、CF卡、SMC、随身碟、MMC(例如RS-MMC、MMC-micro等)、SD卡(例如miniSD、microSD、SDHC等)、UFS装置、固态硬盘等等。依照不同的应用情境,非易失性存储器装置200可以存储音频、图像、视频数据及/或其他数字数据。
主机10与非易失性存储器装置200之间可利用任一种标准化接口(或非标准接口)予以相互连接。例如,所述标准化接口包括SCSI接口、SAS接口、ESDI接口、SATA接口、PCI-express接口、IDE接口、USB接口、Thunderbolt接口或其他接口。本实施例并未局限于主机10与非易失性存储器装置200之间的接口结构。
非易失性存储器装置200包括非易失性存储器101、错误检查和纠正(ECC)解码电路110、主缓冲器电路120、控制器210、多路复用器220以及接口电路130。接口电路130通过上述标准化接口(或非标准接口)耦接至主机10。图2所示非易失性存储器101、ECC解码电路110、主缓冲器电路120以及接口电路130可以参照图1的相关说明,故不再赘述。
控制器210耦接至多路复用器220的控制端。多路复用器220的第一输入端I1耦接主缓冲器电路120的输出端。多路复用器220的第二输入端I2耦接ECC解码电路110的输出端,以接收第一数据部D1。接口电路130耦接多路复用器220的输出端。接口电路130从多路复用器220的输出端接收第一数据部D1,以提供给主机10。
基于控制器210的控制,多路复用器220可选择性地操作于第一操作模式或第二操作模式,其中多路复用器220在第一操作模式中选择性将多路复用器220的第一输入端I1耦接至多路复用器220的输出端,且多路复用器220在第二操作模式中选择性将多路复用器220的第二输入端I2耦接至多路复用器220的输出端。也就是说,多路复用器220可选择性地将主缓冲器电路120耦接至接口电路130,或是将ECC解码电路110耦接至接口电路130。因此,在本实施例中,在第一操作模式中,在经解码码字中的第一数据部D1可以通过主缓冲器电路120被传输至接口电路130。在第二操作模式中,在经解码码字中的第一数据部D1可以绕过(bypass)主缓冲器电路120而传输至接口电路130。
控制器210可以是已知的闪存控制器或是其他控制器。控制器210可以获知主机10对非易失性存储器装置200进行的读取操作是否为连续读取。当主机10对进行非易失性存储器装置200进行连续读取时,控制器210可通过控制信号CS控制多路复用器220,以使多路复用器220操作于第一模式,亦即使第一数据部D1通过主缓冲器电路120传输至接口电路130。当主机10对非易失性存储器装置200进行非连续读取时,控制器210可通过控制信号CS控制多路复用器220,以使多路复用器220操作于第二模式,亦即使第一数据部D1绕过主缓冲器电路120传输至接口电路130。接口电路130可以从多路复用器220的输出端接收第一数据部D1,以及将第一数据部D1提供给主机10。在对非易失性存储器101进行非连续读取时,主缓冲器电路120的缓冲功能可能是多余的。因此在非连续读取时,图2实施例提出的非易失性存储器装置200可以在将第一数据部D1传输至主机10时绕过主缓冲器电路120,藉此减少读取数据的传输延迟。
在ECC解码电路110的解码速度与主机10的读取速度可以匹配的情况下,主缓冲器电路120可以被省略。例如,图3是依照本发明另一实施例说明一种非易失性存储器装置300的电路方块示意图。非易失性存储器装置300耦接至主机10。非易失性存储器装置300可以提供存储空间给主机10。图3所示主机10可以参照图1的相关说明。非易失性存储器装置300可以是PCMCIA卡、CF卡、SMC、随身碟、MMC(例如RS-MMC、MMC-micro等)、SD卡(例如miniSD、microSD、SDHC等)、UFS装置、固态硬盘等等。依照不同的应用情境,非易失性存储器装置300可以存储音频、图像、视频数据及/或其他数字数据。主机10与非易失性存储器装置300之间的连接接口可以参照图1所述非易失性存储器装置100的相关说明来类推。
非易失性存储器装置300包括非易失性存储器101、错误检查和纠正(ECC)解码电路110、接口电路130、第一循环冗余检查(CRC)电路310以及第二CRC电路320。接口电路130通过标准化接口(或非标准接口)耦接至主机10。图3所示非易失性存储器101、ECC解码电路110以及接口电路130可以参照图1的相关说明,故不再赘述。于图3所示实施例中,接口电路130耦接ECC解码电路110的输出端,以接收在经解码码字中的第一数据部D1,并且将第一数据部D1提供给主机10。于图3所示实施例中,接口电路130可包括输出缓冲器电路131以及主机接口电路132。图3所示输出缓冲器电路131以及主机接口电路132可以参照图1的相关说明,故不再赘述。
第一CRC电路310耦接至ECC解码电路110,以接收在经解码码字中的第一数据部D1与第一CRC码C1。第一CRC电路310可以对第一数据部D1进行第一循环冗余检查(CRC),以判断第一数据部D1是否正确。基于第一循环冗余检查的结果与第一循环冗余检查码C1的关系,第一CRC电路310可以对应产生检查状态信息CCS。第一CRC电路310可以采用任何算法来对第一数据部D1进行第一循环冗余检查,例如已知算法或其他循环冗余检查算法。
举例来说,第一CRC电路310可根据第一数据部D1产生一个经计算CRC码。若原码字x未发生错误(亦即第一数据部D1与第一CRC码C1没有发生错误),则所述经计算CRC码会与在经解码码字中的第一CRC码C1相同。在这种情况下,第一CRC电路310会判定第一数据部D1的内容正确,并且通过检查状态信息CCS将判定结果(第一循环冗余检查的结果)通知给第二CRC电路320。反之,若原码字x发生了错误(亦即第一数据部D1或第一CRC码C1发生错误),则所述经计算CRC码会与在经解码码字中的第一CRC码C1相异。在这种情况下,第一CRC电路310会判定第一数据部D1的内容错误,并且通过检查状态信息CCS将判定结果通知给第二CRC电路320。
于图3所示实施例中,第二CRC电路320与主机接口电路132可以是各自独立的不同元件。第二CRC电路320耦接接口电路130的主机接口电路132(或输出缓冲器电路131),以接收第一数据部D1。此外,在其他实施例中,第二CRC电路320也可以被嵌入于接口电路130的主机接口电路132中,本发明不限定于此。第二CRC电路320可以对第一数据部D1进行第二循环冗余检查,以产生第二CRC码。依照设计需求,第二CRC电路320可以采用任何算法来对第一数据部D1进行第二循环冗余检查,例如已知算法或其他循环冗余检查算法。在一些实施例中,第二CRC电路320所进行的第二循环冗余检查可以相同于第一CRC电路310所进行的第一循环冗余检查。在另一些实施例中,第二CRC电路320所进行的第二循环冗余检查可以不同于第一CRC电路310所进行的第一循环冗余检查。第二CRC电路320依据第一CRC电路310所提供的检查状态信息CCS来决定是否进一步改变所述第二CRC码,以使此第二CRC码不符合第一数据部D1。
具体而言,当接口电路130接收到第一数据部D1时,第二CRC电路320可根据接口电路130接收到的第一数据部D1产生一个第二CRC码。当检查状态信息CCS表示第一CRC电路310所进行的第一循环冗余检查的结果为正确(即第一数据部D1的内容正确)时,该第二CRC电路320维持符合第一数据部D1的所述第二CRC码,以及经由接口电路130将此第二CRC码提供给主机10。主机10可根据接收到的所述经计算CRC码对第一数据部D1进行循环冗余检查,以判断主机10接收到的第一数据部D1是否无误。
反之,当检查状态信息CCS表示第一CRC电路310所进行的第一循环冗余检查的结果为错误(即第一数据部D1内容错误)时,第二CRC电路320可进一步改变所述第二CRC码,使得所述第二CRC码不符合第一数据部D1。在第二CRC电路320进一步改变此第二CRC码后,接口电路130从第二CRC电路320接收此第二CRC码以提供给主机10。当主机10接收到不符合第一数据部D1的第二CRC码时,主机10将判定接口电路130所提供的第一数据部D1内容错误,而进一步地将所接收的第一数据部D1丢弃。依照设计需求,第二CRC电路320可以采取任何手段来进一步将符合第一数据部D1的第二CRC码改变为不符合第一数据部D1的所述第二CRC码。举例而言(但不限于此),在第二CRC电路320藉由进行第二循环冗余检查来产生第二CRC码后,当检查状态信息CCS表示第一CRC电路310所进行的第一循环冗余检查的结果为错误时,第二CRC电路320可以对第二CRC码进行位反转,藉以将符合第一数据部D1的第二CRC码改变为不符合第一数据部D1的第二CRC码。
综上所述,图3实施例提出的非易失性存储器装置300可对第一数据部D1进行循环冗余检查,并根据第一数据部D1的正确与否,决定是否传输正确的CRC码给主机10。
图4是结合图2及图3的实施例的另一种非易失性存储器装置400的电路方块示意图。非易失性存储器装置400耦接至主机10。非易失性存储器装置400可以提供存储空间给主机10。图4所示主机10可以参照图1的相关说明。非易失性存储器装置400可以是PCMCIA卡、CF卡、SMC、随身碟、MMC(例如RS-MMC、MMC-micro等)、SD卡(例如miniSD、microSD、SDHC等)、UFS装置、固态硬盘等等。依照不同的应用情境,非易失性存储器装置400可以存储音频、图像、视频数据及/或其他数字数据。
非易失性存储器装置400包括非易失性存储器101、错误检查和纠正(ECC)解码电路110、主缓冲器电路120、控制器210、多路复用器220、接口电路130、第一循环冗余检查(CRC)电路310以及第二CRC电路320。接口电路130通过标准化接口(或非标准接口)耦接至主机10。主机10与接口电路130之间的连接接口可以参照图1所述非易失性存储器装置100的相关说明来类推。图4所示非易失性存储器101、ECC解码电路110、主缓冲器电路120、接口电路130以及第一CRC电路310可以分别参照图1所示非易失性存储器101、ECC解码电路110、主缓冲器电路120、接口电路130以及CRC电路140的相关说明来类推,图4所示主缓冲器电路120、控制器210、多路复用器220以及接口电路130可以参照图2的相关说明,图4所示ECC解码电路110、接口电路130、第一CRC电路310以及第二CRC电路320可以参照图3的相关说明,在此不多加赘述。
在图4实施例中,ECC解码电路110对欲读取的数据(原码字x)进行ECC解码,以获得经解码码字,其中所述经解码码字可分为至少两部分,第一部分包含第一数据部D1以及用来检查第一数据部D1正确性的第一CRC码C1,第二部分包含第二数据部D2以及用来检查第二数据部D2正确性的第二CRC码C2。主缓冲器电路120的输入端耦接ECC解码电路110的输出端,以接收并存储在经解码码字中的第一数据部D1与第二数据部D2。
控制器210可通过控制信号CS控制多路复用器220。例如,当主机10对非易失性存储器装置400进行连续读取时,控制器210可藉由控制信号CS控制多路复用器220,以使第一数据部D1与第二数据部D2通过主缓冲器电路120传输至接口电路130。当主机10对非易失性存储器装置400进行非连续读取时,控制器210可藉由控制信号CS控制多路复用器220,以使第一数据部D1与第二数据部D2绕过主缓冲器电路120传输至接口电路130。
在ECC解码电路110完成ECC解码后,第一CRC电路310可以使用第一CRC码C1来检查第一数据部D1有无错误。当在经解码码字中的第一数据部D1没有错误时,主缓冲器电路120可以将第一数据部D1传输给接口电路130。除此之外,当第一数据部D1没有错误时,第二CRC电路320将符合第一数据部D1的CRC码提供给主机10。当第一数据部D1发生错误时,第一CRC电路310可发送信号给主缓冲器电路120,以阻止主缓冲器电路120将错误的第一数据部D1传输给接口电路130。除此之外,当第一数据部D1发生错误时,第一CRC电路310会通过检查状态信息CCS通知第二CRC电路320,而第二CRC电路320依据检查状态信息CCS来将不符合第一数据部D1的CRC码(被进一步改变的CRC码)提供给主机10。当主机10接收到不符合第一数据部D1的CRC码时,主机10将判定接口电路130所提供的第一数据部D1内容错误,而进一步地将所接收的第一数据部D1丢弃。
第一CRC电路310还可以使用第二CRC码C2来检查第二数据部D2有无错误。当在经解码码字中的第二数据部D2没有错误时,主缓冲器电路120可以将第二数据部D2传输给接口电路130。除此之外,当第二数据部D2没有错误时,第二CRC电路320将符合第二数据部D2的CRC码提供给主机10。当第二数据部D2发生错误时,第一CRC电路310可发送信号给主缓冲器电路120,以阻止主缓冲器电路120将错误的第二数据部D2传输给接口电路130。除此之外,当第二数据部D2发生错误时,第一CRC电路310会通过检查状态信息CCS通知第二CRC电路320,而第二CRC电路320依据检查状态信息CCS来将不符合第二数据部D2的CRC码(被进一步改变的CRC码)提供给主机10。当主机10接收到不符合第二数据部D2的CRC码时,主机10将判定接口电路130所提供的第二数据部D2内容错误,而进一步地将所接收的第二数据部D2丢弃。
图5A与图5B是依照本发明不同实施例说明经解码码字的数据结构示意图。图5A与图5B所示经解码码字的数据结构可适用于前述非易失性存储器装置100、非易失性存储器装置200、非易失性存储器装置300以及/或是非易失性存储器装置400。以图1所示非易失性存储器装置100为例,ECC解码电路110所输出的经解码码字的数据结构如图5A所示,经解码码字的长度为1K字节,其中包括第一CRC码C1以及第一数据部D1。
以图4所示非易失性存储器装置400为例,ECC解码电路110所输出的经解码码字的数据结构如图5B所示,经解码码字的长度为1K字节,其中包括两部分,其中这两部分的长度分别为512字节。经解码码字的第一部分包含第一数据部D1以及用来检查第一数据部D1正确性的第一CRC码C1,经解码码字的第二部分包含第二数据部D2以及用来检查第二数据部D2正确性的第二CRC码C2。如此,藉由将接口电路130每次传输的数据长度设定为512字节,非易失性存储器装置400可以在不须等待整个1K字节(整个经解码码字)进行完循环冗余检查的情况下便可以将数据传输给主机10,以加快非易失性存储器装置400的读取速率。
图6A、图6B分别说明图1所示的非易失性存储器装置100与图4所示的非易失性存储器装置400的管线层级比较的示意图。图6A与图6B所示横轴表示时间,纵轴表示数据段。在此假设主机10向非易失性存储器101读取的一笔数据长度为4K字节,而且ECC解码电路110每次进行解码的数据长度为1K字节。请先参照图1及图6A。由图1可知,当使用图1的相关方法读取向非易失性存储器101读取一笔数据(4K字节)时,这4K字节的数据会被分为四个数据段601、602、603与604(每段1K字节),并且这四个数据段601~604会依序进入图1所示管线(pipeline)。所述管线包括了ECC解码电路110、主缓冲器电路120、输出缓冲器电路131以及主机接口电路132。以数据段601为例,在期间t11中数据段601从非易失性存储器101被输入至ECC解码电路110,在期间t12中ECC解码电路110解码数据段601而获得经解码码字,在期间t13中此经解码码字的第一数据部D1被存入主缓冲器电路120,在期间t14中此第一数据部D1从主缓冲器电路120被存入输出缓冲器电路131,以及在期间t15中主机接口电路132将此第一数据部D1从输出缓冲器电路131传送给主机10。其他数据段602~604可以参照数据段601的说明来类推,故不再赘述。图6A所示数据段601~604的读取延迟(readlatency)t1可使用下列式子表示:
t1=4*(数据输入ECC解码电路的时间)+(ECC解码时间)+(数据存入主缓冲器电路时间)+(数据存入输出缓冲器电路时间)+(主机接口电路时间)
接着请参照图4及图6B。相同于图6A所示条件,图6B所示范例亦假设主机10向非易失性存储器101读取的一笔数据长度为4K字节,而且ECC解码电路110每次进行解码的数据长度为1K字节。这4K字节的数据会被分为四个数据段601、602、603与604(每段1K字节)。由图4实施例可知,当非易失性存储器装置400操作于第二操作模式,也就是多路复用器220将其第二输入端I2耦接至其输出端时,图4所示管线包括了ECC解码电路110、输出缓冲器电路131以及主机接口电路132。这四个数据段601~604会依序进入图4所示管线。以数据段601为例,在期间t21中数据段601从非易失性存储器101被输入至ECC解码电路110,在期间t22中ECC解码电路110解码数据段601而获得经解码码字,在期间t23中此经解码码字的第一数据部D1被存入输出缓冲器电路131,以及在期间t24中主机接口电路132将此第一数据部D1从输出缓冲器电路131传送给主机10。其他数据段602~604可以参照数据段601的说明来类推,故不再赘述。图6B所示数据段601~604的读取延迟t2可使用下列式子表示:
t2=4*(数据输入ECC解码电路的时间)+(ECC解码时间)+(数据存入输出缓冲器电路时间)+(主机接口电路时间)
由图6A与图6B所示内容可发现,相较于使用图1的非易失性存储器装置100的读取延迟t1,当图4所示非易失性存储器装置400操作于第二操作模式时,非易失性存储器装置400的读取延迟t2可以被有效缩短。
图7是依照本发明另一实施例说明图2所示非易失性存储器装置200的读取方法的流程示意图。在步骤S701中,非易失性存储器装置200利用ECC解码电路110将原码字x解码为经解码码字。在步骤S703中,根据主机10对非易失性存储器装置200所执行读取操作的特性(连续读取或非连续读取),控制器210可以对应控制多路复用器220以选择操作模式。若选择第一操作模式,则进入步骤S705。若选择第二操作模式,则进入步骤S709。在步骤S705中,即在第一操作模式中,非易失性存储器装置200可将ECC解码电路110所输出的经解码码字的第一数据部D1通过主缓冲器电路120传输至接口电路130。接着,在步骤S707中,由接口电路130将第一数据部D1提供给主机10。在步骤S709中,即在第二操作模式中,非易失性存储器装置200可将ECC解码电路110所输出的第一数据部D1绕过主缓冲器电路120传输至接口电路130。而后,在步骤S711中,由接口电路130将第一数据部D1提供给主机10。
图8是依照本发明另一实施例说明图3所示非易失性存储器装置300的读取方法的流程示意图。在步骤S801中,非易失性存储器装置300利用ECC解码电路110将原码字x解码为经解码码字,其中所述经解码码字包括第一数据部D1与第一CRC码C1。在ECC解码电路110完成解码而产生所述经解码码字后,第一CRC电路310可以对ECC解码电路110所提供的第一数据部D1进行第一循环冗余检查(CRC),并且基于此第一循环冗余检查的结果与第一CRC码C1的关系来产生检查状态信息CCS。在步骤S803中,由接口电路130提供第一数据部D1给主机10。在步骤S805中,由第二CRC电路320对接口电路130所提供的第一数据部D1进行第二循环冗余检查,以产生第二CRC码。
在步骤S807中,由第二CRC电路320基于检查状态信息CCS来判断第一数据部D1是否正确。依据检查状态信息CCS,第二CRC电路320可以决定是否进一步改变步骤S805所产生的第二CRC码以使此第二CRC码不符合第一数据部D1。当检查状态信息CCS表示第一CRC电路310的第一循环冗余检查的结果为正确(亦即第一数据部D1正确)时,进入步骤S809。在步骤S809中,第二CRC电路320维持(不改变)步骤S805所产生的第二CRC码,并将符合第一数据部D1的此第二CRC码提供给主机10。当检查状态信息CCS表示第一CRC电路310的第一循环冗余检查的结果为错误(亦即第一数据部D1为错误)时,则进入步骤S811。在步骤S811中,第二CRC电路320将进一步改变步骤S805所产生的第二CRC码,以使此第二CRC码不符合第一数据部D1。在改变此第二CRC码后,第二CRC电路320将改变后的第二CRC码经由主机接口电路132提供给主机10。
图9是依照本发明另一实施例说明图4所示非易失性存储器装置400的读取方法的流程示意图。在步骤S901中,非易失性存储器装置400利用ECC解码电路110将原码字x解码为经解码码字。在步骤S903中,根据主机10对非易失性存储器装置400所执行读取操作的特性(连续读取或非连续读取),控制器210可以对应控制多路复用器220以选择操作模式。若选择第一操作模式,则进入步骤S905。若选择第二操作模式,则进入步骤S913。
主缓冲器电路120会接收并暂存ECC解码电路110所输出的经解码码字的第一数据部D1。在步骤S905中,即在第一操作模式中,第一CRC电路310会对第一数据部D1进行第一循环冗余检查。当步骤S905判定第一数据部D1的检查结果为正确时,进入步骤S907。在步骤S907中,主缓冲器电路120会将第一数据部D1传输至接口电路130。接着,在步骤S909中,由接口电路130将第一数据部D1提供给主机10。当步骤S905判定第一数据部D1的检查结果为错误时,会进入步骤S911。在步骤S911中,第一CRC电路310可发送信号给主缓冲器电路120,通知其第一数据部D1内容错误,阻止主缓冲器电路120将第一数据部D1继续往接口电路130传输。
在步骤S913中,即在第二操作模式中,非易失性存储器装置400可将第一数据部D1绕过主缓冲器电路120传输至接口电路130。在ECC解码电路110完成解码而产生所述经解码码字后,第一CRC电路310可以对ECC解码电路110所提供的第一数据部D1进行第一循环冗余检查(CRC),并且基于此第一循环冗余检查的结果与第一CRC码C1的关系来产生检查状态信息CCS给第二CRC电路320。在步骤S915中,接口电路130提供第一数据部D1给主机10。当第一数据部D1传输至接口电路130时,第二CRC电路320会对接口电路130所提供的第一数据部D1进行第二循环冗余检查,以产生符合第一数据部D1的CRC码。在步骤S917中,第二CRC电路320基于检查状态信息CCS来判断第一数据部D1是否正确。依据检查状态信息CCS,第二CRC电路320可以决定是否进一步改变步骤S915所产生的CRC码以使此CRC码不符合第一数据部D1。当检查状态信息CCS表示第一CRC电路310的第一循环冗余检查的结果为正确(亦即第一数据部D1正确)时,进入步骤S919。在步骤S919中,第二CRC电路320不改变步骤S915所产生的CRC码,亦即维持步骤S915所产生的CRC码以符合第一数据部D1。第二CRC电路320经由主机接口电路132将符合第一数据部D1的CRC码提供给主机10。当检查状态信息CCS表示第一CRC电路310的第一循环冗余检查的结果为错误(亦即第一数据部D1为错误)时,则进入步骤S921。在步骤S921中,第二CRC电路320进一步改变步骤S915所产生的CRC码,以使原本符合第一数据部D1的CRC码变为不符合第一数据部D1。在改变此CRC码后,第二CRC电路320将不符合第一数据部的此CRC码提供给主机10。
值得注意的是,在不同的应用情境中,非易失性存储器装置及/或主机的相关功能可以利用一般的编程语言(programming languages,例如C或C++)、硬件描述语言(hardware description languages,例如Verilog HDL或VHDL)或其他合适的编程语言来实现为软件、固件或硬件。可执行所述相关功能的软件(或固件)可以被布置为任何已知的计算器可存取介质(computer-accessible medias),例如磁带(magnetic tapes)、半导体(semiconductors)存储器、磁盘(magnetic disks)或光盘(compact disks,例如CD-ROM或DVD-ROM),或者可通过互联网(Internet)、有线通信(wired communication)、无线通信(wireless communication)或其它通信介质传送所述软件(或固件)。所述软件(或固件)可以被存放在计算器的可存取介质中,以便于由计算器的处理器来存取/执行所述软件(或固件)的程序代码(programming codes)。另外,本发明的装置和方法可以通过硬件和软件的组合来实现。
综上所述,本发明实施例所提供的非易失性存储器装置及其读取方法可以减少非易失性存储器装置行非连续读取时所须经历的管线层级。据此,实施例所提供的非易失性存储器装置可以提升非连续读取的速率。此外,实施例所提供的非易失性存储器装置可在闪存与主机的接口处,通过改变循环冗余检查码的方式以将传输数据的检查结果提供给主机,避免主机使用错误的传输数据。
虽然本发明已以实施例公开如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视后附的申请专利范围所界定者为准。
【符号说明】
10:主机
100、200、300、400:非易失性存储器装置
101:非易失性存储器
110:错误检查和纠正解码电路
120:主缓冲器电路
130:接口电路
131:输出缓冲器电路
132:主机接口电路
140:循环冗余检查电路
210:控制器
220:多路复用器
310:第一循环冗余检查电路
320:第二循环冗余检查电路
601、602、603、604:数据段
1K:一千
C1:第一循环冗余检查码
C2:第二循环冗余检查码
CS:控制信号
CCS:检查状态信息
D1:第一数据部
D2:第二数据部
I1:第一输入端
I2:第二输入端
S701、S703、S705、S707、S709、S711、S801、S803、S805、S807、S809、S811、S901、S903、S905、S907、S909、S911、S913、S915、S917、S919、S921:步骤
t11、t12、t13、t14、t15、t21、t22、t23、t24:期间
t1、t2:时间
x:原码字
Claims (26)
1.一种非易失性存储器装置,包括:
一错误检查和纠正解码电路,用以将一原码字解码为一经解码码字;
一主缓冲器电路,耦接该错误检查和纠正解码电路的一输出端以接收并存储该经解码码字的一第一数据部;
一多路复用器,具有一第一输入端以耦接该主缓冲器电路的一输出端,且具有一第二输入端以耦接该错误检查和纠正解码电路的该输出端以接收该第一数据部,其中在一第一操作模式中该多路复用器选择性将该多路复用器的该第一输入端耦接至该多路复用器的一输出端,且在一第二操作模式中该多路复用器选择性将该多路复用器的该第二输入端耦接至该多路复用器的该输出端;以及
一接口电路,耦接该多路复用器的该输出端,其中该接口电路从该多路复用器的该输出端接收该第一数据部以提供给一主机。
2.如权利要求1所述的非易失性存储器装置,其中当该主机对该非易失性存储器装置进行一连续读取操作时,该多路复用器操作于该第一操作模式,以及当该主机对该非易失性存储器装置进行一非连续读取操作时,该多路复用器操作于该第二操作模式。
3.如权利要求1所述的非易失性存储器装置,其中该经解码码字包括该第一数据部与一第一循环冗余检查码,而该非易失性存储器装置还包括:
一第一循环冗余检查电路,耦接至该错误检查和纠正解码电路以接收该第一数据部与该第一循环冗余检查码,该第一循环冗余检查电路被配置为对该第一数据部进行一第一循环冗余检查,并且基于该第一循环冗余检查的结果与该第一循环冗余检查码的关系来决定是否阻止该主缓冲器电路输出该第一数据部给该多路复用器。
4.如权利要求3所述的非易失性存储器装置,其中该经解码码字还包括一第二数据部与一第二循环冗余检查码,而该第一循环冗余检查电路对该第二数据部进行该第一循环冗余检查,并且基于该第二数据部的该第一循环冗余检查的结果与该第二循环冗余检查码的关系来决定是否阻止该主缓冲器电路输出该第二数据部给该多路复用器。
5.如权利要求1所述的非易失性存储器装置,其中该经解码码字包括该第一数据部与一第一循环冗余检查码,而该非易失性存储器装置还包括:
一第一循环冗余检查电路,耦接至该错误检查和纠正解码电路以接收该第一数据部与该第一循环冗余检查码,该第一循环冗余检查电路被配置为对该第一数据部进行一第一循环冗余检查,并且基于该第一循环冗余检查的结果与该第一循环冗余检查码的关系来产生一检查状态信息;以及
一第二循环冗余检查电路,耦接至该接口电路以接收该第一数据部,该第二循环冗余检查电路被配置为对该第一数据部进行一第二循环冗余检查以产生并提供一第二循环冗余检查码,
其中该第二循环冗余检查电路依据该检查状态信息来决定是否进一步改变该第二循环冗余检查码以使该第二循环冗余检查码不符合该第一数据部。
6.如权利要求5所述的非易失性存储器装置,其中,
当该检查状态信息表示该第一循环冗余检查的结果为正确时,该第二循环冗余检查电路维持符合该第一数据部的该第二循环冗余检查码;
当该检查状态信息表示该第一循环冗余检查的结果为错误时,该第二循环冗余检查电路进一步改变该第二循环冗余检查码,以使该第二循环冗余检查码不符合该第一数据部;以及
该接口电路从该第二循环冗余检查电路接收该第二循环冗余检查码以提供给该主机。
7.如权利要求6所述的非易失性存储器装置,其中在该第二循环冗余检查电路藉由进行该第二循环冗余检查来产生该第二循环冗余检查码后,当该检查状态信息表示该第一循环冗余检查的结果为错误时,该第二循环冗余检查电路对该第二循环冗余检查码进一步进行位反转,以使该第二循环冗余检查码不符合该第一数据部。
8.一种非易失性存储器装置的读取方法,包括:
利用一错误检查和纠正解码电路将一原码字解码为一经解码码字;
在一第一操作模式中,将该经解码码字的一第一数据部通过一主缓冲器电路传输至一接口电路;
在一第二操作模式中,将该第一数据部绕过该主缓冲器电路传输至该接口电路;以及
由该接口电路将该第一数据部提供给一主机。
9.如权利要求8所述的读取方法,其中当该主机对该非易失性存储器装置进行一连续读取操作时,该非易失性存储器装置操作于该第一操作模式,以及当该主机对该非易失性存储器装置进行一非连续读取操作时,该非易失性存储器装置操作于该第二操作模式。
10.如权利要求8所述的读取方法,其中该经解码码字包括该第一数据部与一第一循环冗余检查码,而该非易失性存储器装置的读取方法还包括:
对该第一数据部进行第一循环冗余检查,并且基于该第一循环冗余检查的结果与该第一循环冗余检查码的关系来决定是否阻止该主缓冲器电路输出该第一数据部。
11.如权利要求10所述的读取方法,其中该经解码码字还包括一第二数据部与一第二循环冗余检查码,而该非易失性存储器装置的读取方法还包括:
对该第二数据部进行该第一循环冗余检查,并且基于该第二数据部的该第二循环冗余检查的结果与该第二循环冗余检查码的关系来决定是否阻止该主缓冲器电路输出该第二数据部。
12.如权利要求8所述的读取方法,其中该经解码码字包括该第一数据部与一第一循环冗余检查码,而该非易失性存储器装置的读取方法还包括:
由一第一循环冗余检查电路对该第一数据部进行一第一循环冗余检查,并且基于该第一循环冗余检查的结果与该第一循环冗余检查码的关系来产生一检查状态信息;
由一第二循环冗余检查电路对该第一数据部进行一第二循环冗余检查,以产生并提供一第二循环冗余检查码;以及
依据该检查状态信息来决定是否进一步改变该第二循环冗余检查码以使该第二循环冗余检查码不符合该第一数据部。
13.如权利要求12所述的读取方法,其中
当该检查状态信息表示该第一循环冗余检查的结果为正确时,维持符合该第一数据部的该第二循环冗余检查码,以及将该第二循环冗余检查码提供给该主机;
当该检查状态信息表示该第一循环冗余检查的结果为错误时,改变该第二循环冗余检查码,以使该第二循环冗余检查码不符合该第一数据部,以及
将该第二循环冗余检查码提供给该主机。
14.一种非易失性存储器装置,包括:
一错误检查和纠正解码电路,用以将一原码字解码为一经解码码字,其中该经解码码字包括一第一数据部与一第一循环冗余检查码;
一接口电路,耦接该错误检查和纠正解码电路的一输出端以接收该第一数据部,其中该接口电路用以提供该第一数据部给一主机;
一第一循环冗余检查电路,耦接至该错误检查和纠正解码电路以接收该第一数据部与该第一循环冗余检查码,该第一循环冗余检查电路被配置为对该第一数据部进行一第一循环冗余检查,并且基于该第一循环冗余检查的结果与该第一循环冗余检查码的关系来产生一检查状态信息;以及
一第二循环冗余检查电路,耦接至该接口电路以接收该第一数据部,该第二循环冗余检查电路被配置为对该第一数据部进行一第二循环冗余检查以产生一第二循环冗余检查码,
其中该第二循环冗余检查电路依据该检查状态信息来决定是否进一步改变该第二循环冗余检查码以使该第二循环冗余检查码不符合该第一数据部。
15.如权利要求14所述的非易失性存储器装置,其中,
当该检查状态信息表示该第一循环冗余检查的结果为正确时,该第二循环冗余检查电路维持符合该第一数据部的该第二循环冗余检查码;
当该检查状态信息表示该第一循环冗余检查的结果为错误时,该第二循环冗余检查电路进一步改变该第二循环冗余检查码,以使该第二循环冗余检查码不符合该第一数据部;以及
该接口电路从该第二循环冗余检查电路接收该第二循环冗余检查码以提供给该主机。
16.如权利要求15所述的非易失性存储器装置,其中在该第二循环冗余检查电路藉由进行该第二循环冗余检查来产生该第二循环冗余检查码后,当该检查状态信息表示该第一循环冗余检查的结果为错误时,该第二循环冗余检查电路对该第二循环冗余检查码进一步进行位反转,以使该第二循环冗余检查码不符合该第一数据部。
17.如权利要求14所述的非易失性存储器装置,还包括:
一主缓冲器电路,耦接该错误检查和纠正解码电路的一输出端以接收并存储该第一数据部,并且耦接该第一循环冗余检查电路;以及
一多路复用器,具有一第一输入端以耦接该主缓冲器电路的一输出端,且具有一第二输入端以耦接该错误检查和纠正解码电路的该输出端以接收该第一数据部,其中在一第一操作模式中该多路复用器选择性将该多路复用器的该第一输入端耦接至该多路复用器的一输出端,且在一第二操作模式中该多路复用器选择性将该多路复用器的该第二输入端耦接至该多路复用器的该输出端。
18.如权利要求17所述的非易失性存储器装置,其中当该主机对该非易失性存储器装置进行一连续读取操作时,该非易失性存储器装置操作于该第一操作模式,以及当该主机对该非易失性存储器装置进行一非连续读取操作时,该非易失性存储器装置操作于该第二操作模式。
19.如权利要求17所述的非易失性存储器装置,其中该第一循环冗余检查电路基于该第一循环冗余检查的结果与该第一循环冗余检查码的关系来决定是否阻止该主缓冲器电路输出该第一数据部给该多路复用器。
20.如权利要求19所述的非易失性存储器装置,其中该经解码码字还包括一第二数据部与一第三循环冗余检查码,而该第一循环冗余检查电路对该第二数据部进行该第一循环冗余检查,并且基于该第二数据部的该第一循环冗余检查的结果与该第三循环冗余检查码的关系来决定是否阻止该主缓冲器电路输出该第二数据部给该多路复用器。
21.一种非易失性存储器装置的读取方法,包括:
利用一错误检查和纠正解码电路将一原码字解码为一经解码码字,其中该经解码码字包括一第一数据部与一第一循环冗余检查码;
由一接口电路提供该第一数据部给一主机;
由一第一循环冗余检查电路对该错误检查和纠正解码电路所提供的该第一数据部进行一第一循环冗余检查,并且基于该第一循环冗余检查的结果与该第一循环冗余检查码的关系来产生一检查状态信息;
由一第二循环冗余检查电路对该接口电路所提供的该第一数据部进行一第二循环冗余检查,以产生一第二循环冗余检查码;以及
依据该检查状态信息来决定是否进一步改变该第二循环冗余检查码以使该第二循环冗余检查码不符合该第一数据部。
22.如权利要求21所述的读取方法,其中,
当该检查状态信息表示该第一循环冗余检查的结果为正确时,维持符合该第一数据部的该第二循环冗余检查码;
当该检查状态信息表示该第一循环冗余检查的结果为错误时,改变该第二循环冗余检查码,以使该第二循环冗余检查码不符合该第一数据部;以及
将该第二循环冗余检查码提供给该主机。
23.如权利要求22所述的读取方法,其中在藉由进行该第二循环冗余检查来产生该第二循环冗余检查码后,当该检查状态信息表示该第一循环冗余检查的结果为错误时,对该第二循环冗余检查码进一步进行位反转,以使该第二循环冗余检查码不符合该第一数据部。
24.如权利要求21所述的读取方法,还包括:
基于该第一循环冗余检查的结果与该第一循环冗余检查码的关系来决定是否阻止一主缓冲器电路输出该第一数据部给一多路复用器,
其中该主缓冲器电路的一输入端耦接该错误检查和纠正解码电路的一输出端以接收并存储该第一数据部,
该多路复用器的一第一输入端耦接该主缓冲器电路的一输出端,该多路复用器的一第二输入端耦接该错误检查和纠正解码电路的该输出端以接收该第一数据部,在一第一操作模式中该多路复用器选择性将该多路复用器的该第一输入端耦接至该多路复用器的一输出端,且在一第二操作模式中该多路复用器选择性将该多路复用器的该第二输入端耦接至该多路复用器的该输出端。
25.如权利要求24所述的读取方法,其中当该主机对该非易失性存储器装置进行一连续读取操作时,该非易失性存储器装置操作于该第一操作模式,以及当该主机对该非易失性存储器装置进行一非连续读取操作时,该非易失性存储器装置操作于该第二操作模式。
26.如权利要求24所述的读取方法,其中该经解码码字还包括一第二数据部与一第三循环冗余检查码,且所述读取方法还包括:
对该第二数据部进行该第一循环冗余检查,并且基于该第二数据部的该第一循环冗余检查的结果与该第三循环冗余检查码的关系来决定是否阻止该主缓冲器电路输出该第二数据部给该多路复用器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106115688 | 2017-05-12 | ||
TW106115688A TWI625620B (zh) | 2017-05-12 | 2017-05-12 | 非揮發性記憶體裝置及其讀取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107402837A true CN107402837A (zh) | 2017-11-28 |
CN107402837B CN107402837B (zh) | 2021-01-26 |
Family
ID=60404799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710473837.1A Active CN107402837B (zh) | 2017-05-12 | 2017-06-21 | 非易失性存储器装置及其读取方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10783032B2 (zh) |
CN (1) | CN107402837B (zh) |
TW (1) | TWI625620B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166166A (zh) * | 2018-02-14 | 2019-08-23 | 瑞昱半导体股份有限公司 | 网络数据预测方法、网络数据处理装置及方法 |
CN113448498A (zh) * | 2020-03-25 | 2021-09-28 | 桑迪士克科技有限责任公司 | 非易失性存储器接口 |
US11487614B2 (en) | 2020-04-02 | 2022-11-01 | Winbond Electronics Corp. | Semiconductor storing apparatus and readout method |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10884926B2 (en) | 2017-06-16 | 2021-01-05 | Alibaba Group Holding Limited | Method and system for distributed storage using client-side global persistent cache |
US10678443B2 (en) | 2017-07-06 | 2020-06-09 | Alibaba Group Holding Limited | Method and system for high-density converged storage via memory bus |
US10496829B2 (en) | 2017-09-15 | 2019-12-03 | Alibaba Group Holding Limited | Method and system for data destruction in a phase change memory-based storage device |
US10642522B2 (en) | 2017-09-15 | 2020-05-05 | Alibaba Group Holding Limited | Method and system for in-line deduplication in a storage drive based on a non-collision hash |
US10789011B2 (en) | 2017-09-27 | 2020-09-29 | Alibaba Group Holding Limited | Performance enhancement of a storage device using an integrated controller-buffer |
US10860334B2 (en) | 2017-10-25 | 2020-12-08 | Alibaba Group Holding Limited | System and method for centralized boot storage in an access switch shared by multiple servers |
US10445190B2 (en) * | 2017-11-08 | 2019-10-15 | Alibaba Group Holding Limited | Method and system for enhancing backup efficiency by bypassing encoding and decoding |
US10877898B2 (en) | 2017-11-16 | 2020-12-29 | Alibaba Group Holding Limited | Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements |
US10496548B2 (en) | 2018-02-07 | 2019-12-03 | Alibaba Group Holding Limited | Method and system for user-space storage I/O stack with user-space flash translation layer |
US10891239B2 (en) | 2018-02-07 | 2021-01-12 | Alibaba Group Holding Limited | Method and system for operating NAND flash physical space to extend memory capacity |
US10831404B2 (en) | 2018-02-08 | 2020-11-10 | Alibaba Group Holding Limited | Method and system for facilitating high-capacity shared memory using DIMM from retired servers |
US20190286342A1 (en) * | 2018-03-16 | 2019-09-19 | Seagate Technology Llc | Efficient storage drive read-write head verification |
US11379155B2 (en) | 2018-05-24 | 2022-07-05 | Alibaba Group Holding Limited | System and method for flash storage management using multiple open page stripes |
CN111902804B (zh) | 2018-06-25 | 2024-03-01 | 阿里巴巴集团控股有限公司 | 用于管理存储设备的资源并量化i/o请求成本的***和方法 |
US10921992B2 (en) | 2018-06-25 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency |
US10871921B2 (en) | 2018-07-30 | 2020-12-22 | Alibaba Group Holding Limited | Method and system for facilitating atomicity assurance on metadata and data bundled storage |
US10996886B2 (en) | 2018-08-02 | 2021-05-04 | Alibaba Group Holding Limited | Method and system for facilitating atomicity and latency assurance on variable sized I/O |
US10747673B2 (en) | 2018-08-02 | 2020-08-18 | Alibaba Group Holding Limited | System and method for facilitating cluster-level cache and memory space |
US11327929B2 (en) | 2018-09-17 | 2022-05-10 | Alibaba Group Holding Limited | Method and system for reduced data movement compression using in-storage computing and a customized file system |
US10852948B2 (en) | 2018-10-19 | 2020-12-01 | Alibaba Group Holding | System and method for data organization in shingled magnetic recording drive |
US10795586B2 (en) | 2018-11-19 | 2020-10-06 | Alibaba Group Holding Limited | System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash |
US10769018B2 (en) | 2018-12-04 | 2020-09-08 | Alibaba Group Holding Limited | System and method for handling uncorrectable data errors in high-capacity storage |
US10884654B2 (en) | 2018-12-31 | 2021-01-05 | Alibaba Group Holding Limited | System and method for quality of service assurance of multi-stream scenarios in a hard disk drive |
US10977122B2 (en) | 2018-12-31 | 2021-04-13 | Alibaba Group Holding Limited | System and method for facilitating differentiated error correction in high-density flash devices |
US11061735B2 (en) | 2019-01-02 | 2021-07-13 | Alibaba Group Holding Limited | System and method for offloading computation to storage nodes in distributed system |
US11132291B2 (en) | 2019-01-04 | 2021-09-28 | Alibaba Group Holding Limited | System and method of FPGA-executed flash translation layer in multiple solid state drives |
US10860420B2 (en) | 2019-02-05 | 2020-12-08 | Alibaba Group Holding Limited | Method and system for mitigating read disturb impact on persistent memory |
US11200337B2 (en) | 2019-02-11 | 2021-12-14 | Alibaba Group Holding Limited | System and method for user data isolation |
US10970212B2 (en) | 2019-02-15 | 2021-04-06 | Alibaba Group Holding Limited | Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones |
US11061834B2 (en) | 2019-02-26 | 2021-07-13 | Alibaba Group Holding Limited | Method and system for facilitating an improved storage system by decoupling the controller from the storage medium |
US10783035B1 (en) | 2019-02-28 | 2020-09-22 | Alibaba Group Holding Limited | Method and system for improving throughput and reliability of storage media with high raw-error-rate |
US10891065B2 (en) | 2019-04-01 | 2021-01-12 | Alibaba Group Holding Limited | Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive |
US10922234B2 (en) | 2019-04-11 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive |
US10908960B2 (en) | 2019-04-16 | 2021-02-02 | Alibaba Group Holding Limited | Resource allocation based on comprehensive I/O monitoring in a distributed storage system |
US11169873B2 (en) | 2019-05-21 | 2021-11-09 | Alibaba Group Holding Limited | Method and system for extending lifespan and enhancing throughput in a high-density solid state drive |
US10860223B1 (en) | 2019-07-18 | 2020-12-08 | Alibaba Group Holding Limited | Method and system for enhancing a distributed storage system by decoupling computation and network tasks |
US11126561B2 (en) | 2019-10-01 | 2021-09-21 | Alibaba Group Holding Limited | Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive |
US11042307B1 (en) | 2020-01-13 | 2021-06-22 | Alibaba Group Holding Limited | System and method for facilitating improved utilization of NAND flash based on page-wise operation |
US11449455B2 (en) | 2020-01-15 | 2022-09-20 | Alibaba Group Holding Limited | Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility |
US10923156B1 (en) | 2020-02-19 | 2021-02-16 | Alibaba Group Holding Limited | Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive |
US10872622B1 (en) | 2020-02-19 | 2020-12-22 | Alibaba Group Holding Limited | Method and system for deploying mixed storage products on a uniform storage infrastructure |
US11150986B2 (en) | 2020-02-26 | 2021-10-19 | Alibaba Group Holding Limited | Efficient compaction on log-structured distributed file system using erasure coding for resource consumption reduction |
US11144250B2 (en) | 2020-03-13 | 2021-10-12 | Alibaba Group Holding Limited | Method and system for facilitating a persistent memory-centric system |
US11200114B2 (en) | 2020-03-17 | 2021-12-14 | Alibaba Group Holding Limited | System and method for facilitating elastic error correction code in memory |
US11385833B2 (en) | 2020-04-20 | 2022-07-12 | Alibaba Group Holding Limited | Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources |
US11281575B2 (en) | 2020-05-11 | 2022-03-22 | Alibaba Group Holding Limited | Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks |
US11494115B2 (en) | 2020-05-13 | 2022-11-08 | Alibaba Group Holding Limited | System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC) |
US11461262B2 (en) | 2020-05-13 | 2022-10-04 | Alibaba Group Holding Limited | Method and system for facilitating a converged computation and storage node in a distributed storage system |
US11218165B2 (en) | 2020-05-15 | 2022-01-04 | Alibaba Group Holding Limited | Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM |
US11507499B2 (en) | 2020-05-19 | 2022-11-22 | Alibaba Group Holding Limited | System and method for facilitating mitigation of read/write amplification in data compression |
US11556277B2 (en) | 2020-05-19 | 2023-01-17 | Alibaba Group Holding Limited | System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification |
US11263132B2 (en) | 2020-06-11 | 2022-03-01 | Alibaba Group Holding Limited | Method and system for facilitating log-structure data organization |
US11422931B2 (en) | 2020-06-17 | 2022-08-23 | Alibaba Group Holding Limited | Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization |
US11354200B2 (en) | 2020-06-17 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating data recovery and version rollback in a storage device |
US11354233B2 (en) | 2020-07-27 | 2022-06-07 | Alibaba Group Holding Limited | Method and system for facilitating fast crash recovery in a storage device |
US11372774B2 (en) | 2020-08-24 | 2022-06-28 | Alibaba Group Holding Limited | Method and system for a solid state drive with on-chip memory integration |
EP4200702B1 (en) * | 2020-09-14 | 2024-05-29 | Huawei Technologies Co., Ltd. | Fault resistant verification |
US11487465B2 (en) | 2020-12-11 | 2022-11-01 | Alibaba Group Holding Limited | Method and system for a local storage engine collaborating with a solid state drive controller |
US11734115B2 (en) | 2020-12-28 | 2023-08-22 | Alibaba Group Holding Limited | Method and system for facilitating write latency reduction in a queue depth of one scenario |
US11416365B2 (en) | 2020-12-30 | 2022-08-16 | Alibaba Group Holding Limited | Method and system for open NAND block detection and correction in an open-channel SSD |
US11726699B2 (en) | 2021-03-30 | 2023-08-15 | Alibaba Singapore Holding Private Limited | Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification |
US11461173B1 (en) | 2021-04-21 | 2022-10-04 | Alibaba Singapore Holding Private Limited | Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement |
US11476874B1 (en) | 2021-05-14 | 2022-10-18 | Alibaba Singapore Holding Private Limited | Method and system for facilitating a storage server with hybrid memory for journaling and data storage |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101246742A (zh) * | 2008-03-25 | 2008-08-20 | 威盛电子股份有限公司 | 电子装置与其数据传输方法 |
US20080244356A1 (en) * | 2007-04-02 | 2008-10-02 | Broadcom Corporation | SUPER BLOCK ERROR CORRECTION CODE (ECC) ADAPTABLE TO COMMUNICATION SYSTEMS INCLUDING HARD DISK DRIVES (HDDs) AND OTHER MEMORY STORAGE DEVICES |
CN101286358A (zh) * | 2007-04-10 | 2008-10-15 | 三星电子株式会社 | 具有错误检测/校正处理的***和设备以及输出数据的方法 |
CN102317919A (zh) * | 2009-02-18 | 2012-01-11 | 美光科技公司 | 在存储器控制器中的数据完整性及方法 |
US20120166906A1 (en) * | 2010-12-27 | 2012-06-28 | Kabushiki Kaisha Toshiba | Memory system and control method thereof |
US20150254129A1 (en) * | 2014-03-05 | 2015-09-10 | International Business Machines Corporation | Error Checking and Correction for NAND Flash Devices |
WO2016145328A2 (en) * | 2015-03-11 | 2016-09-15 | Rambus Inc. | High performance non-volatile memory module |
CN106021636A (zh) * | 2015-03-31 | 2016-10-12 | 阿尔特拉公司 | 将错误校正码嵌入存储器单元中的方法和设备 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4201927B2 (ja) * | 1999-08-25 | 2008-12-24 | 株式会社ルネサステクノロジ | データ処理管理装置 |
US7191379B2 (en) * | 2003-09-10 | 2007-03-13 | Hewlett-Packard Development Company, L.P. | Magnetic memory with error correction coding |
US7315916B2 (en) * | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
US7412560B2 (en) * | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
JP2008103991A (ja) * | 2006-10-19 | 2008-05-01 | Oki Electric Ind Co Ltd | データ伝送方法 |
KR100856129B1 (ko) * | 2006-12-29 | 2008-09-03 | 삼성전자주식회사 | 오정정 확률을 줄이는 에러 정정 회로, 그 방법 및 상기회로를 구비하는 반도체 메모리 장치 |
US8181101B2 (en) * | 2009-01-30 | 2012-05-15 | International Business Machines Corporation | Data bus system, its encoder/decoder and encoding/decoding method |
TWI460733B (zh) * | 2011-11-15 | 2014-11-11 | Silicon Motion Inc | 具有低密度奇偶校驗碼解碼能力的記憶體控制裝置及方法 |
CN102567134B (zh) * | 2012-01-06 | 2015-01-07 | 威盛电子股份有限公司 | 存储器模块的错误检查与校正***以及方法 |
TWI520501B (zh) * | 2012-06-07 | 2016-02-01 | 威盛電子股份有限公司 | 記憶體控制器 |
US9395924B2 (en) * | 2013-01-22 | 2016-07-19 | Seagate Technology Llc | Management of and region selection for writes to non-volatile memory |
JP5931816B2 (ja) * | 2013-08-22 | 2016-06-08 | 株式会社東芝 | ストレージ装置 |
US9213600B2 (en) * | 2013-11-11 | 2015-12-15 | Seagate Technology Llc | Dynamic per-decoder control of log likelihood ratio and decoding parameters |
KR102108386B1 (ko) * | 2013-12-23 | 2020-05-08 | 삼성전자주식회사 | 저장 장치 및 그것의 데이터 엔코딩 및 디코딩 방법들 |
US20160071597A1 (en) * | 2014-09-09 | 2016-03-10 | Kabushiki Kaisha Toshiba | Storage device, memory controller and memory control method |
US11061767B2 (en) * | 2019-01-09 | 2021-07-13 | Synopsys, Inc. | Post-ECC CRC for DDR CRC retry performance improvement |
US11086713B1 (en) * | 2019-07-23 | 2021-08-10 | Pure Storage, Inc. | Optimized end-to-end integrity storage system |
-
2017
- 2017-05-12 TW TW106115688A patent/TWI625620B/zh active
- 2017-06-21 CN CN201710473837.1A patent/CN107402837B/zh active Active
- 2017-07-27 US US15/662,254 patent/US10783032B2/en active Active
-
2020
- 2020-08-05 US US16/985,241 patent/US11334429B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080244356A1 (en) * | 2007-04-02 | 2008-10-02 | Broadcom Corporation | SUPER BLOCK ERROR CORRECTION CODE (ECC) ADAPTABLE TO COMMUNICATION SYSTEMS INCLUDING HARD DISK DRIVES (HDDs) AND OTHER MEMORY STORAGE DEVICES |
CN101286358A (zh) * | 2007-04-10 | 2008-10-15 | 三星电子株式会社 | 具有错误检测/校正处理的***和设备以及输出数据的方法 |
CN101246742A (zh) * | 2008-03-25 | 2008-08-20 | 威盛电子股份有限公司 | 电子装置与其数据传输方法 |
CN102317919A (zh) * | 2009-02-18 | 2012-01-11 | 美光科技公司 | 在存储器控制器中的数据完整性及方法 |
US20120166906A1 (en) * | 2010-12-27 | 2012-06-28 | Kabushiki Kaisha Toshiba | Memory system and control method thereof |
US20150254129A1 (en) * | 2014-03-05 | 2015-09-10 | International Business Machines Corporation | Error Checking and Correction for NAND Flash Devices |
WO2016145328A2 (en) * | 2015-03-11 | 2016-09-15 | Rambus Inc. | High performance non-volatile memory module |
CN106021636A (zh) * | 2015-03-31 | 2016-10-12 | 阿尔特拉公司 | 将错误校正码嵌入存储器单元中的方法和设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110166166A (zh) * | 2018-02-14 | 2019-08-23 | 瑞昱半导体股份有限公司 | 网络数据预测方法、网络数据处理装置及方法 |
CN114337930A (zh) * | 2018-02-14 | 2022-04-12 | 瑞昱半导体股份有限公司 | 网络数据预测方法 |
CN113448498A (zh) * | 2020-03-25 | 2021-09-28 | 桑迪士克科技有限责任公司 | 非易失性存储器接口 |
CN113448498B (zh) * | 2020-03-25 | 2024-04-16 | 桑迪士克科技有限责任公司 | 非易失性存储器接口 |
US11487614B2 (en) | 2020-04-02 | 2022-11-01 | Winbond Electronics Corp. | Semiconductor storing apparatus and readout method |
Also Published As
Publication number | Publication date |
---|---|
TW201901426A (zh) | 2019-01-01 |
US20180329776A1 (en) | 2018-11-15 |
TWI625620B (zh) | 2018-06-01 |
US11334429B2 (en) | 2022-05-17 |
US20200364110A1 (en) | 2020-11-19 |
CN107402837B (zh) | 2021-01-26 |
US10783032B2 (en) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402837A (zh) | 非易失性存储器装置及其读取方法 | |
US8726140B2 (en) | Dummy data padding and error code correcting memory controller, data processing method thereof, and memory system including the same | |
CN103348330B (zh) | 采用独立硅元件的动态较高级冗余模式管理 | |
KR102081588B1 (ko) | Ecc 디코더의 동작 방법 및 그것을 포함하는 메모리 컨트롤러 | |
US8650458B2 (en) | Methods of encoding/decoding for error correction code utilizing interdependent portions of codewords and related circuits | |
KR102275717B1 (ko) | 플래시 메모리 시스템 및 그의 동작 방법 | |
TWI459396B (zh) | 資料寫入與讀取方法、記憶體控制器與記憶體儲存裝置 | |
WO2012053015A2 (en) | Compression and decompression of data at high speed in solid state storage | |
US20110239081A1 (en) | Semiconductor storage device and method for controlling a semiconductor storage device | |
TWI640865B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN107977283B (zh) | 具有ldpc解码器的存储器***及其操作方法 | |
US10318202B2 (en) | Non-volatile memory apparatus and data deduplication method thereof | |
US20150019904A1 (en) | Data processing system and operating method thereof | |
CN105653199A (zh) | 数据读取方法、存储器存储装置及存储器控制电路单元 | |
KR102025088B1 (ko) | 메모리 컨트롤러 및 상기 메모리 컨트롤러를 포함하는 전자장치 | |
CN113971103A (zh) | 数据存储中针对极端温度使用条件改进的数据可靠性 | |
CN106372011A (zh) | 用于pcie ssd控制器的高性能主机队列监控器 | |
CN107102953B (zh) | 非易失性存储器装置及其迭代排序方法 | |
TWI467590B (zh) | 資料處理方法、記憶體控制器及記憶體儲存裝置 | |
TWI536749B (zh) | 解碼方法、記憶體儲存裝置與記憶體控制電路單元 | |
CN107402725B (zh) | 非易失性存储装置及其数据去重复方法 | |
CN111488120B (zh) | 用于自适应芯片启用设置时间的数据存储***和方法 | |
TWI594253B (zh) | 非依電性記憶體裝置及其空頁偵測方法 | |
CN106158046B (zh) | 用于turbo乘积码的误校正避免 | |
CN112988449B (zh) | 写入页面群组的数据到闪存模块的装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |